/*
Theme Name: S-People Modern
Description: S-People corporate classic theme, rebuilt for modern WordPress.
Author: Mitchell J. S.
Version: 2.0.2
Requires at least: 6.8
Requires PHP: 8.4
Text Domain: speople-modern
*/
/*---------------------------------------------------------------
	目次

	A1. 共通のメインスタイル
	A2. ヘッダー
	A3. タイポグラフィ＋共通パーツ
	A4. フッター
	A5. テーブル

	01. トップページ
	02. NEWSページ
	03. 事業紹介ページ
	04. 採用情報ページ

---------------------------------------------------------------*/

/*---------------------------------------------------------------
	A1. 共通のメインスタイル
---------------------------------------------------------------*/

@import url('https://fonts.googleapis.com/css?family=Courgette');
@import url(https://fonts.googleapis.com/css?family=Open:200,300,400,700);

body {
	font-family: 'Lato', '游ゴシック体', 'Yu Gothic', 'YuGothic', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'Meiryo', 'メイリオ',sans-serif;
	font-size: 15px;
  	font-weight: 400;
  	line-height: 1.45em;
 	letter-spacing: 0.5px;
	-webkit-font-smoothing: subpixel-antialiased;
	transition: all 0.5s ease-in-out;
}

p { font-size: 1em; }
p:last-child { margin-bottom: 0; }
a { text-decoration: none!important; }

h1,
h2,
h3,
h4 {
    font-family: 'Lato', '游ゴシック体', 'Yu Gothic', 'YuGothic', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'Meiryo', 'メイリオ',sans-serif!important;
	font-weight: bold;
  	margin: 0 0 0.5em;
  	line-height: 1.2;
}

button:focus {outline:0;}
img { max-width: 100%; }
.centerize { text-align: center; }
.clearfix { clear: both; }

.floatLeft { float: left; }
.floatRight { float: right; }

.row.no-gutter {
  margin-left: 0;
  margin-right: 0;
}
.row.no-gutter [class*='col-']:not(:first-child),
.row.no-gutter [class*='col-']:not(:last-child) {
  padding-right: 0;
  padding-left: 0;
}

.for-pc { display: block; }
span.for-pc { display: inline-block; }
.for-sp, span.for-sp{ display: none; }

@media (max-width: 800px) {

	  [class*="col-"] {
		  margin-bottom: 20px;
	  }
  
  	.for-pc, span.for-pc { display: none; }
  	.for-sp { display: block; }
	span.for-sp { display: inline-block; }

}

/*---------------------------------------------------------------
	A2. ヘッダー
---------------------------------------------------------------*/

.site-wrapper { margin-top: 170px; }
.site-content-wrapper { position: relative; }

/** Wordpress アドミンバー **/
.customize-support .navbar-fixed-top { top: 32px!important; }
@media (max-width: 782px) { .customize-support .navbar-fixed-top { top: 46px!important; } }

.navbar-pro {
	background: #FFF;
	transition: all 0.3s ease-in-out;
	border-bottom: 1px solid #CCC;
}
.navbar-pro.is-sticky { background: rgba(255,255,255,.95); box-shadow: 0 0 5px #CCC;}
.navbar-pro.menu-open { background: #333; }

.recruit-nav { background: rgba(51,51,51,1)!important; }
.recruit-nav.is-sticky { background: rgba(51,51,51,0.9)!important; }

.navbar {min-height: 100px;}
.navbar-header { min-width: 100%; }
.navbar-brand { 
	display: block;
	float: none!important;
	margin: 0 auto;
	padding: 10px;
	height: 120px; 
	transition: all 0.3s ease-in-out;
}

.navbar-brand img {
	margin: 0 auto;
	max-width: 100%;
	max-height: 100%;
}

.navbar-navmenu {
	display: none;
	float: right;
}

.navbar-pro .navbar-nav {
	width: 100%;
}
.navbar-pro .navbar-nav > li {
	width: 16.66667%;
/* 	width: 20%; */
	text-align: center;
	border-left: 1px solid #CCC;
}
.navbar-pro .navbar-nav > li > a {
	font-family: 'Lato', '游ゴシック体', 'Yu Gothic', 'YuGothic', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'Meiryo', 'メイリオ',sans-serif;
	font-size: 15px;
	font-weight: bold;
	color: #444;
	letter-spacing: 1px;
	transition: all 0.1s ease-in-out;
}
.navbar-pro .navbar-nav > li:last-child { border-right: 1px solid #CCC; }
.navbar-pro .navbar-nav > li > a:hover,
.navbar-pro .navbar-nav > li > a:focus{
	color: #FFF;
	background: #666;
	text-shadow: 0 0 10px transparent;
}

.nav .open > a,
.nav .open > a:hover,
.nav .open > a:focus {
	background: #333;
}

.nav-icon.nav-contact {
	background: #023D8E;
}
.nav-icon img {
	max-width: 100%;
	max-height: 100%;
}

.hamburger {
	padding: 25px 28px!important;
}

.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
    background-color: #333!important;
	height: 2px!important;
	border-radius: 0!important;
}
.is-active .hamburger-inner {
	background-color: transparent!important;
}

.hamburger-text {
    font-size: 10px;
    font-weight: bold;
    letter-spacing: 1px;
    color: #333;
    position: absolute;
    top: 95%;
	-webkit-transform: translateX(-50%);
    transform: translateX(-50%);
	content: "MENU";
	transition: all 0.3s ease-in-out;
}

.hamburger--arrowalt-r.is-active .hamburger-inner::before {
    -webkit-transform: translate3d(10px, -10px, 0) rotate(45deg) scale(0.7, 1)!important;
    transform: translate3d(10px, -10px, 0) rotate(45deg) scale(0.7, 1)!important;
}
.hamburger--arrowalt-r.is-active .hamburger-inner::after {
    -webkit-transform: translate3d(10px, 10px, 0) rotate(-45deg) scale(0.7, 1)!important;
    transform: translate3d(10px, 10px, 0) rotate(-45deg) scale(0.7, 1)!important;
}

.pro-nav {
    list-style: none;
    padding-left: 0;
}
.pro-nav li {
    padding: 15px 25px;
    border-top: 1px solid #999;
}
.pro-nav li:last-child {
    border-bottom: 1px solid #999;
}
.pro-nav li a {
    font-weight: bold;
    color: #333;
    transition: all 0.1s ease-in-out;
}
.pro-nav li a:hover {
    color: #999;
}
.pro-nav .submenu-btn {
	display: block;
	float: right;
	text-align: center;
	background: #333;
	color: #FFF;
	width: 21px!important;
	border-radius: 50%;
	border: 0!important;
	padding: 0!important;
}
.caret { margin: 0!important; }

.pro-subnav {
	background: rgba(0,130,186,0.1);
	border-bottom: none;
}
.pro-subnav li {
    padding: 15px 25px;
    border-top: 1px solid #FFF;
	border-bottom: 0!important;
}

.pro-btn {
	border-radius: 0;
	transition: all 0.3s ease-in-out;
}


@media screen and (min-width: 800px) {
  	.dropdown:hover>.dropdown-menu {
    	display: block;
	  	transition: all 0.3s ease-in-out;
	}
}

@media only screen and (max-width: 800px) {
	
	.site-wrapper { margin-top: 60px; }
	
	.navbar {min-height: 60px;}
	.navbar-pro { background: rgba(255,255,255,0.95); }
	.navbar-header { min-width: 100%; }	.navbar-brand {
		width: calc(100% - 110px);
		padding: 15px;
		height: 80px;
		line-height: 80px;
	}
	
	.navbar-pro .navbar-nav { background:#333; width: initial; margin: 0 -15px; }
	.navbar-pro .navbar-nav > li {
		width: 100%;
		text-align: left;
		padding: 5px 0;
		border: solid #555;
		border-width: 1px 0 0!important;
	}
	.navbar-pro .navbar-nav > li > a { color: #CCC; }
	
	.navbar-fixed-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse {
		max-height: inherit!important;
	}
	
	ul.dropdown-menu > li {
		background: #444;
		color: #CCC;
		border-bottom: 1px solid #666;
		padding: 8px 0;
	}

	ul.dropdown-menu > li > a {
		font-size: 15px;
		background: #444;
		color: #CCC;
	}
	ul.dropdown-menu > li:last-child {
		border-bottom: none;
	}
	
	.hamburger {
		padding: 8px!important;
	}

}



/*---------------------------------------------------------------
	A3. タイポグラフィ＋共通パーツ
---------------------------------------------------------------*/

header.parallax { 
	padding: 100px 0;
}
header.parallax.home { 
	padding: 220px 0;
}

header.parallax img {
  	width: 101%;
	min-width: 1000px;
  	max-width: none;
  	position: fixed;
  	top: 0; left: 50%;
  	-webkit-transform: translateX(-50%);
  	-ms-transform: translateX(-50%);
  	transform: translateX(-50%);
	z-index: -10000;
}

.bg-parallax {
	background-attachment:fixed!important;
	background-size:cover!important;
}
.bg-contact { background: url('assets/img/bg/bg-contact.jpg') center center no-repeat;}
.bg-office { background: url('assets/img/bg/bg-companyprofile.jpg') center center no-repeat;}

.light-text { color: #FFF; }
.light-text p { color: rgba(255,255,255,0.9); }
.small-text p { font-size: 14px!important; line-height: 1.45em; }

.page-title {
	display: table;
	min-width: 400px;
	margin: 0 auto;
	padding: 20px 30px 15px;
	border: 8px double #ffbe2c;
	
	background: rgba(255,242,209,0.9);
	color: #023D8E!important;
	text-align: center;
}

h1 .title-en,
h2 .title-en {
    display: block;
	font-family: 'Courgette', cursive!important;
    font-size: 48px;
    line-height: 1.2em;
	letter-spacing: 2px;
}
h2 .title-en { font-size: 36px; }

h1 .title-jp,
h2 .title-jp {
	font-family: '游ゴシック体', 'Yu Gothic', 'YuGothic', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'Meiryo', 'メイリオ',sans-serif;!important;
    display: block;
    font-size: 21px;
    line-height: 1.2em;
}
h2 .title-jp { 
    font-size: 18px;
    margin-top: 3px;
}

h2.section-title {
	display: table;
	margin: 0 auto;
	text-align: center;
}

.breadcrumb-box {
	//background: #D7E7FD;
	background: #333;
	color: #EEE;
}
.breadcrumb {
	padding: 15px 0;
    margin-bottom: 0px;
    list-style: none;
    background: transparent;
	color: #FFF;
    border-radius: 0;
}
.breadcrumb > li + li:before,
.breadcrumb .active { color: #FFF; }

.breadcrumb a {
	color: #EEE;
	transition: all 0.3s ease-in-out;
}
.breadcrumb a:hover {
	text-decoration: underline!important;	
}


.anchor {
	display: block;
	height: 160px;
	margin-top: -160px;
	visibility: hidden;
}

.pro-section { padding: 80px 0; }

.pro-section article {
	max-width: 960px;
	margin: 0 auto;
}
.pro-section p {
	font-size: 15px;
	line-height: 1.5em;
}

.pro-section ol {
	padding-left: 20px;
}

.lb-image { display: block; border: 8px solid rgba(0,130,186,0.8); transition: all 0.1s ease-in-out; }
.lb-image:hover { border: 8px solid rgba(0,130,186,0.4); }

.btn-simple,
.pagination .nav-links > a,
.pagination .nav-links > span {
	display: inline-block;
	margin: 0 auto 15px!important;
    	color: #333;
    	border: 2px solid #333;	
	padding: 8px;
	transition: all 0.2s ease-in-out;
}
.pagination .nav-links > span { background: #EEE; }

.btn-simple:hover,
.pagination .nav-links > a:hover {
	background: #00A2E6;
	color: #FFF;
	border-color: #00A2E6; 
}

ol.pro-list { padding-left: 20px; }
ol.pro-list li { padding-left: 5px; }

.toTop {
	display: block;
	position: fixed;
	bottom: -40px; right: 15%;
	width: 60px;
	height: 35px;
	background: #111;
	box-shadow: 0 0 10px rgba(255,255,255,0.75);
	border-radius: 4px 4px 0 0;
	z-index: 0;
	transition: all 0.3s ease-in-out;
}
.toTop.appear { bottom: 0; }
.toTop:after {
	position: absolute;
	content: "";
	top: 12px; left: 20px;
 	width: 0; height: 0; 
  	border-left: 10px solid transparent;
  	border-right: 10px solid transparent;  
  	border-bottom: 12px solid #999;
}

.lity-close { position: absolute; background: #C00; }
.lity-close:hover { background: #F00; }
.lity { background: rgba(0,0,0,0.7); }


@media only screen and (max-width: 800px) {
	
	header.parallax {  padding: 100px 0; }
	.pro-section { padding: 40px 0; }

	.page-title {
		min-width: initial!important;
		width: 100%;
		padding: 15px 25px;
	}
	
	h1 { margin-bottom: 0 }
	h1 .title-en { 
		font-size: 28px; 
    		line-height: 1.2em;
	}
	h1 .title-jp {
		margin-top: 5px;
    		font-size: 18px;
    		line-height: 1.2em;
	}

	h2 .title-en {
    		font-size: 22px;
    		line-height: 1.45em;
	}
	h2 .title-jp { 
		margin-top: 5px;
		font-size: 16px;
		line-height: 1.45em;
	}

	h2.section-title { font-size: 24px; line-height: 1.2em; }
	h2.section-title .title-jp { font-size: 16px; line-height: 1.45em; margin-top: 0; }

	.pro-section p {
		font-size: 14px;
		line-height: 1.4em;
		letter-spacing: 0px;
	}

}


/*---------------------------------------------------------------
	A4. フッター
---------------------------------------------------------------*/

ul.bottom-nav {
	list-style: none;
	float: right;
}
ul.bottom-nav li {
	display: inline-block;
}
.bottom-telicon,
.bottom-tel {
	display: block;
	float: left;
}
.bottom-tel {
	opacity: 0.9;
	color: #FFF;
	font-size: 24px;
	font-weight: bold;
	line-height: 30px;
	margin: 10px;
	text-transform: uppercase;
}
.bottom-tel span {
	display: inline-block;
	width: 55px;
}

.bottom-telicon a img, .bottom-nav a img { opacity: 0.8; transition: all 0.2s ease-in-out; }
.bottom-telicon a img:hover, .bottom-nav a img:hover { opacity: 1; margin-top: -5px; } 

footer.pro-widget {
	background: #333;
	padding: 60px 0;
	text-align: center;
}

ul.widget-nav {
	list-style: none;
	padding-left: 0;
	text-align: left;
}
ul.widget-nav a {
	color: #DDD;
	padding-left: 0px;
	line-height: 1.8em;
	border-bottom: 1px solid transparent;
	transition: all 0.3s ease-in-out;
}
ul.widget-nav a:hover {
	color: #FFF;
}
ul.widget-nav a:hover i {
	margin-right: 5px;
}
ul.widget-nav a strong {
	display: block;
	margin-top: 12px;
	border-bottom: 1px solid #666;
}


footer.pro-footer{
	background: #444;
	padding: 25px 25px 16px;
}

.copyright {
	letter-spacing: 1px;
	color: rgba(255,255,255,0.8);
	text-align: center;
}
.copyright > a > img {width: 80px;padding:0 10px;}

.footer-menu { float: right; text-align: center;}
.footer-menu ul { list-style: none; padding-left: 0;} 
.footer-menu ul li {
	display: inline-block;
	margin: 0 8px;
}
.footer-menu ul li a {
	color: rgba(255,255,255,0.8);
	border-bottom: 1px solid transparent;
	transition: all 0.3s ease-in-out;
} 
.footer-menu ul li a:hover {
	color: rgba(255,255,255,0.9);
	border-bottom: 1px solid #999;
}

@media only screen and (max-width: 800px) {
	ul.bottom-nav {
		padding: 0;
		float: left;
	}
	.copyright > span {display:block;padding-bottom: 10px;}
}

/*---------------------------------------------------------------
	A5. テーブル
---------------------------------------------------------------*/

.pro-table h2, .pro-table h3 { text-align: center; }
.pro-table article { max-width: 800px; margin: 0 auto; }

.pro-table table {
    width: 100%;
    max-width: 800px;
    margin: 0 auto 30px;
    	border-top: 4px solid #CCC;
	border-bottom: 4px solid #CCC;
}

.pro-table table th,
.pro-table table td {
    	padding: 25px 12px;
    	vertical-align: top;
	color: #666;
}

.pro-table table tr {
    border-bottom: 1px solid #CCC;
}

.pro-table table th {
	width: 160px;
	color: #333!important;
}
.pro-table.entry table th {
	width: 275px;
}
.birth { width: 50px!important }
.station { width: 100px!important }

.pro-table .nav.nav-tabs {
    max-width: 800px;
    margin: 0 auto 30px;
    border: none;
}

.pro-table .nav.nav-tabs li {
    width: 49%;
    text-align: center;
    margin-right: 2%;
}
.pro-table .nav.nav-tabs li:last-child {
    margin-right: 0;
}

.pro-table .nav.nav-tabs li > a{
    padding: 20px 15px;
    border-radius: 4px;
    background: #EEE;
    color: #333;
    font-size: 21px;
    line-height: 1.45em;
}
.pro-table .nav.nav-tabs li.active > a{
    border: none;
    background: #00A2E6;
    color: #FFF;
}

.i-required {
	display:inline-block;
	padding: 3px 8px;
	background-color: #C00;
	margin-right: 8px;
	color: #FFF;
	font-size: 0.8em;
	font-weight:300;
}

.i-optional {
	display:inline-block;
	padding: 3px 8px;
	background-color: #999;
	margin-right: 8px;
	color: #FFF;
	font-size: 0.8em;
	font-weight:300;
}
.form input[type="text"],
.form input[type="tel"],
.form input[type="number"],
.form input[type="email"],
.form textarea {
	width: 100%;
	border: 1px solid #CCC;
}

.form input[type="submit"]  {
    	display: table;
    	margin: 0 auto;
	background: #023D8E;
	color: #FFF;
	border: 2px solid #023D8E; 
    	padding: 12px 40px;
	transition: all 0.2s ease-in-out;
}
.form input[type="submit"]:hover {
	background: transparent;
    	color: #333;
    	border: 2px solid #333;	
}

img.ajax-loader {
    margin: 8px auto 0!important;
    display: block;
}

@media only screen and (max-width: 800px) {

	.pro-table table {
    		width: 100%;
    		max-width: 800px;
    		margin: 0 auto 30px;
    		border-top: 4px solid #D7E7FD;
		border-bottom: 4px solid #D7E7FD;
	}

	.pro-table table th,
	.pro-table table td {
		display: block;
		width: 100%!important;
    		padding: 15px 10px;
    		vertical-align: top;
		color: #666;
	}

	.pro-table table tr {
  		border-bottom: 1px solid #CCC;
	}

	.pro-table table th {
		color: #333!important;
    		padding: 8px 10px 2px;
	}
	.pro-table table td {
    		padding: 2px 10px 8px;
	}
}

/*---------------------------------------------------------------
	01. トップページ
---------------------------------------------------------------*/

.home {
	position: relative;
	height: calc( 100vh - 172px );
}

.home h1 {
	display: block;
	position: absolute;
	top: calc(50% - 75px); left: 50%;
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);

	width: 90%;
	text-align: center;
	color: #333;
	font-family: 'Courgette', cursive!important;
	font-size: 48px;
	line-height: 1.2em;
	letter-spacing: 0;
	margin-bottom: 5px!important;
}

.home p {
	text-align: center;
	font-size: 21px;
	line-height: 1.45em;
}

.news-header-container {
    position: relative;
}

.menu-block {
	display: block;
	margin-bottom: 30px;
	transition: all 0.3s ease-in-out;
}
.menu-block img {
	display: block;
	border: 5px solid rgba(2,61,142,1);
	transition: all 0.3s ease-in-out;
}


.grid--effect-hamal {
	perspective: none;
}

.grid--effect-hamal .column {
	opacity: 1;
}

.grid__item--c1,
.grid__item--c1:hover,
.grid__item--c1:focus {
	color: #DDD;
}

.stack {
	position: relative;
	width: 100%;
	height: auto;
	transform-style: preserve-3d;
}

.stack__deco {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: currentColor;
	transform-origin: 50% 100%;
}
.stack__deco:first-child { opacity: 0.2; }
.stack__deco:nth-child(2) { opacity: 0.4; }
.stack__deco:nth-child(3) { opacity: 0.6; }
.stack__deco:nth-child(4) { opacity: 0.8; }

.stack__figure {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	width: 100%;
	height: 100%;
	cursor: pointer;
	transform-origin: 50% 100%;
}

.menu-block h3 {
	display: block;
	//position: absolute;
	bottom: 0;
	margin: 0;
	padding: 15px 25px;
	
	//border: 5px solid #CCC;
	background: #F3F3F3;
	color: rgba(2,61,142,1);
	width: 100%;
	text-align: center;
	z-index: 10;
	transition: all 0.3s ease-in-out;
}
.menu-block h3 .title-en {
	display: block;
	font-family: 'Courgette', cursive!important;
	line-height: 1.45em;
}
.menu-block h3 .title-jp {
	display: block;
	font-size: 15px;
	font-weight: 300;
	line-height: 1.45em;
	letter-spacing: 2px;
}
.menu-block h3 .title-jp:before,
.menu-block h3 .title-jp:after {
	content: "-";
	margin: 0 5px;
}

.menu-block:hover img {
	border-color: #F3F3F3;
}

.news-box,
.blog-box {
	background: #333;
	padding: 40px 40px;
	color: #FFF;
}

.news-box h2,
.blog-box h2 {
	font-family: 'Courgette', cursive!important;
}

@media only screen and (max-width: 1410px) {
	.home img {
    		width: auto!important;
    		min-height: 100%;
	}
}

@media only screen and (max-width: 800px) {

	.home {
		position: relative;
		height: calc( 100vh - 80px );
	}

	.home h1 {
		text-align: center;
		font-size: 36px;
		line-height: 1.3em;
		margin-bottom: 5px!important;
	}
	.home h1 div {
		font-family: 'Lato', sans-serif!important;
		text-transform: uppercase;
		font-size: 18px;
		line-height: 1.35em;
	}
	.home p {
		text-align: center;
		font-size: 16px;
		line-height: 1.45em;
	}
	
	.solution-btn {
		display: block;
		position: relative;
		background: #00A2E6;
		color: #FFF;
		text-align: center;
		padding: 15px 15px 5px;
		margin-bottom: 10px;
	}
}


/*---------------------------------------------------------------
	02. NEWSページ
---------------------------------------------------------------*/

.news-list {
		list-style: none;
		padding-left: 0;
}

.news-list li {
		font-size: 16px;
		line-height: 1.45em;
		letter-spacing: 2px;
		padding: 15px 0;
		border-bottom: 1px solid #999;
		position: relative;
}
.news-list li:last-child {
		border-bottom: none!important;
}
.news-list li:after {
	display: table;
	content: "";
	clear: both;
}

.news-list li a { color: #CCC; }
.news-list li a:hover { color: #FFF; text-decoration: underline!important; }


.news-date {
	display: block;
	float: left;
	line-height: 24px;
	width: 100px;
	margin-right: 15px;
	color: #CCC;
}
.news-cat {
	display: block;
	float: left;
	background: #00A2E6;
	color: #FFF!important;
	border: 1px solid transparent;
	width: 100px;
	margin-right: 15px;
	text-align: center;
	font-size: 15px;
	line-height: 24px;
	transition: all 0.3s ease-in-out;
}

.news-title {
	display: block;
	float: left;
	width: calc(100% - 230px);
}

.light-text .news-list li { border-bottom: 1px solid #CCC; }
.light-text .news-list li a { color: #CCC; }
.light-text .news-list li a:hover { color: #EEE; }
.light-text .news-date { color: #FFF; }


.post-date { display: block; }

.news-header-container {
    position: relative;
}
.newsarchive-btn {
	position: absolute;
    top: 50%; right: 0;
    font-size: 18px;
    border: 1px solid;
    color: #FFF!important;
    padding: 8px 15px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	transition: all 0.3s ease-in-out;
}
.newsarchive-btn:hover { 
	background: #FFF;
	color: #333!important;
}


.news-archive-container {
	max-width: 800px;
	margin: 0 auto 40px;
    background: #333;
    min-height: 400px;
}

.news-container {
	border: 1px solid #999;
	margin: 0 auto 30px;
    padding: 25px;
    color: #333;
    background: #FFF;
}

.news-container h2 {
	font-size: 24px;
	margin-bottom: 6px;
	color: #00A2E6;
}

.news-content {
	border-top: 4px double #333;
	margin-top: 8px;
	padding-top: 20px;
}
.news-content img { height: auto; }

.news-nav {
    text-align: center;
    margin: 15px auto;
}

.news-nav a {
    display: inline-block;
    margin: 0 8px;
}

.pro-sidebar {
	margin: 0 auto 20px;
	background: #FFF;
}

.pro-sidebar h3 {
	display: block;
	margin: 0 auto;
	padding: 15px 20px;
	background: #00A2E6;
	color: #FFF;
	text-transform: uppercase;
	font-weight: 300;
	letter-spacing: 3px;
}
.bg-news .pro-sidebar h3 { background: #00A2E6; }
.bg-blog .pro-sidebar h3 { background: #333; }
.bg-ojt .pro-sidebar h3 { background: #FFB700; }

.pro-sidebar ul {
	list-style: none;
	padding: 8px 15px;
}

.pro-sidebar ul li {
	padding: 5px 15px;
	border-bottom: 1px solid #999;
}
.pro-sidebar ul li:last-child {
	border-bottom: 0;
}
.pro-sidebar .news-date { color: #333; }


@media only screen and (max-width: 800px) {

	.stack__figure { display: block; }
	.menu-block h3 {
		position: static;
    		float: none;
		bottom: initial;
		padding: 15px 10px;
	}

	.menu-block h3 .title-en { font-size: 12px; }
	.menu-block h3 .title-jp {
		font-size: 13.5px;
		letter-spacing: 0;
	}
	.menu-block h3 .title-jp:before,
	.menu-block h3 .title-jp:after {
		content: "";
		margin: 0;
	}

	.newsarchive-btn {
    		padding: 8px 12px;
	}

	.news-container h2 {
		font-size: 20px;
	}

	.news-list li { 
		padding: 15px 0;
		font-size: 15px;
		line-height: 1.45em;
	}
	
	.news-container { padding: 10px; }
	
	.news-date,
	.news-cat { 
		margin-bottom: 5px;
	}
	
	.news-title {
		width: 100%;
	}

}



/*---------------------------------------------------------------
	03. 事業紹介ページ
---------------------------------------------------------------*/

.service-box img {
    //border: 8px solid #023D8E;
}

.service-box h3 {
    display: block;
    font-size: 21px;
    line-height: 1.2em;
    color: #023D8E;
    margin: 15px auto 10px;
}
.service-box h3 span {
    display: block;
    font-size: 15px;
    color: #000;
}


/*---------------------------------------------------------------
	03. イベントスタッフ
---------------------------------------------------------------*/

.entry-info {
	padding: 25px;
	border: 1px solid #999;
	max-width: 800px;
	margin: 0 auto 25px
}

.entry-info h3 {
	text-align: left;
	color: #023D8E;
}

span.wpcf7-not-valid-tip {
    color: #f00;
    font-size: 12px;
    font-weight: bold;
    display: block;
    position: absolute;
    text-align: center;
    width: 250px;
    bottom: -25px!important;
    background: #EEE;
    padding: 0px;
}

.speople01 span.wpcf7-not-valid-tip,
.speople10 span.wpcf7-not-valid-tip,
.speople11 span.wpcf7-not-valid-tip,
.speople12 span.wpcf7-not-valid-tip,
.speople13b span.wpcf7-not-valid-tip {
	bottom: -18px!important;
}

span.wpcf7-list-item {
display: block!important;
}


/*---------------------------------------------------------------
	04. 採用情報ページ
---------------------------------------------------------------*/

.nav-pills > li > a, .nav-pills > li > a {
    color: #ffffff;
    background-color: #BBB;
    margin: 5px;
    transition: all 0.2s ease-in-out;
}

.nav-pills > li > a:hover, .nav-pills > li > a:hover {
    color: #FC0;
    background-color: #666;
}

.nav-pills > li.active > a, .nav-pills > li.active > a:hover, .nav-pills > li.active > a:focus {
    color: #ffffff;
    background-color: #003e8c;
}

.profile-box {
    padding: 25px;
    background: #FC0;
    border-radius: 3px;
    margin: 25px 0;
}

.voice-box {
    padding: 25px;
    background: #FFF;
    border-radius: 3px;
    margin-bottom: 25px;
}

.voice-box h3 {
    font-size: 21px;
    line-height: 1.2em;
    color: #003e8c;
}

.page-title01 {
    display: table;
    min-width: 300px;
    margin: 0 auto;
    padding: 20px 30px 15px;
    border: 8px double #f31d4d;
    background: rgb(255 209 209 / 90%);
    color: #f31d4d;
    text-align: center;
    font-weight: bold;
}
/*---------------------------------------------------------------
	イベントスタッフ登録
 	イベントコンパニオン登録
 	個人情報保護確認
---------------------------------------------------------------*/
.PrivacyPolicyCheck h4 {margin-top: 1rem;font-size: 1.5rem;}
.PrivacyPolicyCheck h5 {font-weight:bold;margin-top:2rem;text-indent: -14px;padding-left: 14px;line-height: 2rem;}
.grad-wrap {position: relative;}
.grad-btn {z-index: 2;position: absolute;right: 0;bottom: 0;left: 0;width: 100px;margin: auto;padding: .5em 0;border-bottom: 2px solid #023D8E;background: #fff;color:#023D8E;font-size: 1.3rem;text-align: center;cursor: pointer;transition: .2s ease;-webkit-transition: .2s ease;-moz-transition: .2s ease;-ms-transition: .2s ease;-o-transition: .2s ease;}
.grad-btn::before {content: "続きを読む"}
.grad-item {position: relative;overflow: hidden;height: 140px; /*隠した状態の高さ*/}
.grad-item::before {display: block;position: absolute;bottom: 0;left: 0;width: 100%;height: 40px; /*グラデーションで隠す高さ*/background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);background: linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);content: "";}
.grad-trigger {display: none; /*チェックボックスは常に非表示*/}
.grad-trigger:checked ~ .grad-btn::before {content: "閉じる" /*チェックされていたら、文言を変更する*/}
.grad-trigger:checked ~ .grad-item {height: auto;padding-bottom: 4em; /*チェックされていたら、高さを戻す*/}
.grad-trigger:checked ~ .grad-item::before {display: none; /*チェックされていたら、grad-itemのbeforeを非表示にする*/}
.entryWrap .custom-wpcf7c-confirmed .entrypolicy {display:none;}
.entryWrap .contactFormBox > div input.wpcf7c-conf {background:#fff;border: 1px solid #eee!important;}
.entryWrap .contactFormBox > div textarea.wpcf7c-conf {background:#fff;border: 1px solid #eee!important;}
.formPrivacy {margin:3rem 0;color: #C00;}
.formPrivacy label {padding-left: 1rem;}
