@charset "UTF-8";

/* CSSカスタムプロパティ*/
:root {
	--device-vh: 1vh;
	--device-vw: 1vw;
	--view-area-vh: calc(100 * var(--device-vh));
	--view-area-vw: calc(100 * var(--device-vw));
	--view-area-wide: 1200px;
	--view-area-narrow: 1200px;
	--header-height:96px;
}
/* /CSSカスタムプロパティ*/


/* style.cssの上書き*/
/* ヘッダー等の幅指定の上書き */
.widget-area, .pagination, .comments-pagination, .post-navigation, .site-footer, .site-header, .alignwide, .wide-max-width{
	max-width:var(--view-area-wide);
}

/* hタグのcss指定リセット */
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6{
	font-family:inherit;
}
/* /hタグのcss指定リセット */

/* リストタグのcss指定リセット */
ul, ol{
	font-family:inherit;
}
/* /リストタグのcss指定リセット */

/* フォント指定のcss指定リセット */
input,
.entry-content, .entry-summary,
.entry-content ul,.entry-content p{
	font-family:inherit;
}
/* /フォント指定のcss指定リセット */

/* テーブルタグのcss指定リセット */
table td, table th, .wp-block-table td, .wp-block-table th{
	border:inherit;
	padding:inherit;
}

table th, .wp-block-table th{
	font-family:inherit;
}
table td, .wp-block-table td{
	font-family:inherit;
}

/* /テーブルタグのフォント指定リセット */

/* aタグの下線消し */
a,
a:hover,
.footer-navigation-wrapper li a:link, .footer-navigation-wrapper li a:visited, .footer-navigation-wrapper li a:active,
.primary-navigation .current-menu-item > a:first-child, .primary-navigation .current_page_item > a:first-child,
.primary-navigation .current-menu-item > a:first-child:hover, .primary-navigation .current_page_item > a:first-child:hover,
.primary-navigation a:hover,
.has-background-white .site a:focus:not(.wp-block-button__link):not(.wp-block-file__button){
	background:inherit;
	color: inherit;
	text-decoration:none;
}
/* /aタグの下線消し */

/* aタグのフォーカス要素のアウトライン消し */
.site a:focus,
.site a:focus img{
	outline:none !important;
}
/* /aタグのフォーカス要素のアウトライン消し */


.entry-content > *{
	margin-top:0;
}

/* 画面幅指定をデザインの定義に変更*/
.post-thumbnail, .entry-content .wp-audio-shortcode, .entry-content > :not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.wp-block-separator), [class*="inner-container"] > :not(.entry-content):not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.wp-block-separator), .default-max-width{
	max-width:inherit;
}
/* /画面幅指定をデザインの定義に変更*/


/* labelのフォント指定を無効 */
label {
	font-size:inherit;
	font-weight:inherit;
}
/* /labelのフォント指定を無効 */

/* /style.cssの上書き*/


/* 全体項目 */
html{
	font-size:16px;
	opacity: 0;
}
html.loaded{opacity: 1;}
body{
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-weight:normal;
	line-height:1.5;
}
body .ff_Gothic{
	font-family:"Yu Gothic Medium","Yu Gothic", "Hiragino Kaku Gothic Pro W3";
}
h2, .h2{
	font-size:30px;
}
h2 small, .h2  small{
	font-size:1rem;
	padding-left:2em;
}
p{
	font-size:1rem;
	line-height:2;
}
table{
	font-size:1rem;
	line-height:1;
}

ul.nav_links{
	color:#2b3765;
}
a.double_line{
	color: inherit;
	display:inline-block;
	margin: 8px;
	position: relative;
	z-index: 1;
}
a.double_line:before{
	background-color: #FFF;
	border: 1px solid #4b547a;
	content: "";
	position: absolute;
	height:calc(100% + 8px);
	top: -8px;
	width:calc(100% + 8px);
	left: -8px;
	z-index:-1;
}
a.double_line:after{
	background-color: #FFF;
	border: 1px solid #b4a36b;
	content: "";
	position: absolute;
	height:calc(100% + 8px);
	bottom: -8px;
	width:calc(100% + 8px);
	right: -8px;
	z-index:-1;
}
a.double_line .double_line_in{
	border: 1px solid;
	border-color: #b4a36b #4b547a #4b547a #b4a36b;
	display: block;
	font-size:28px;
	font-weight:bold;
	line-height:1.5;
	padding:0.6em;

	position: relative;
	width:100%;

	z-index: 1;
}
a.double_line .link_title_e{
	display:block;
	text-align:left;
}
a.double_line .link_title_j{
	display:block;
	font-size:1rem;
	text-align:right;
}
a.double_line .link_title_j ul#works_list{
	display: block;
	margin:0 1em;
	padding-left:0;
	text-align:left;
}
a.double_line .link_title_j  ul#works_list li{
	display: list-item;
	font-size:10px;
	list-style: disc;
	width:100%;
}

a.double_line .view_more{
	padding-left:2em;
}

/* 電話番号リンクはスマホ以上では無効にしておく */
@media only screen and (min-width: 783px){
	a.app_link{
		cursor: auto;
		pointer-events: none;
	}
}


/* メールフォーム用 */
section#entry_form{
	align-items: center;
	display: flex;
	justify-content: center;
	padding:40px 0 45px;

	min-height: var(--view-area-vh);
}
section#entry_form h2{
	color:#2c3866;
	line-height:2;
}
section#entry_form h2 small{
	color:#849ab2;
}
section#entry_form .table_outer{
	margin: 26px 0;
}
section#entry_form .table_outer > br{
	display:none;
}

section#entry_form table{
	margin:1em 0;
}
section#entry_form table th,
section#entry_form table td{
	font-size:16px;
	line-height:2.5;
	padding:0 1em;
	vertical-align: top;
}
section#entry_form table th.va_middle,
section#entry_form table td.va_middle{
	vertical-align: middle;
}
section#entry_form table th{
	width:15em;
}
section#entry_form table td.required{
	width:5em;
}

section#entry_form table th span:not(.wpcf7-form-control-wrap),
section#entry_form table td span:not(.wpcf7-form-control-wrap){
	display:block;
	line-height:1;
	padding:0.75em 0.5em;

}

section#entry_form table th span{
	background-color:rgba(255,255,255,0.7);
	width:14em;
}
section#entry_form table th a{
	color:#7db6bc;
}
section#entry_form table td.required span{
	background-color:#8dd2dd;
}

section#entry_form table td span.wpcf7-form-control-wrap:not([data-name="acceptance"]){
	display: block;
	margin: 0 0 1em;

	width:50%;
}
section#entry_form table tr.w_100 td span.wpcf7-form-control-wrap:not([data-name="acceptance"]){
	width:100%;
}

section#entry_form table td input[type="text"],
section#entry_form table td input[type="email"],
section#entry_form table td input[type="tel"],
section#entry_form table td textarea,
section#entry_form table td select{
	border: none;
	border-radius: 0;
	color: inherit;
	font-size:inherit;
	line-height: 1;
	margin:0;
	padding:0.75em 0.5em;;

	height: 2.5em;
	max-width: none;
	width:100%;
}
section#entry_form table td textarea{
	height: auto;
}
section#entry_form table td select{
	background-color:#a6aeb0;
	background-image:none;
	border:1px solid #8c9597;
}
section#entry_form table td input[type="checkbox"]{
	border-color:#8c9597;
	border-radius: 5px;
	border-width: 2px;
}
@supports (-webkit-appearance: none) or (-moz-appearance: none){
	section#entry_form table td input[type="checkbox"]::after {
		left: 7px;
		top: 3px;
	}
}
section#entry_form table td span.wpcf7-list-item{
	display:inline;
	margin:0;
	padding:0;
}
section#entry_form table td span.wpcf7-list-item label{
	align-items: center;
	display:flex;
	margin:0;
	padding:0;
}
section#entry_form table td span.wpcf7-list-item span.wpcf7-list-item-label{
	display:inline;
	margin:0;
	margin-left:0.5em;
	padding:0;
}
section#entry_form .nav_button{
	margin-top:110px;
	text-align:center;
}
section#entry_form .wpcf7 input[type="submit"].wpcf7-submit{
	border: none;
	background-color: #FFF;
	color: #000;
	font-family: inherit;
	font-size: 20px;
	font-weight: bold;
	line-height:2;
	padding:0 2.5em;
}
section#entry_form input[type="submit"].wpcf7-submit.has-spinner{
	margin-left:72px;
}
section#entry_form .wpcf7 form.invalid .wpcf7-response-output{
	font-size:16px;
	margin:0;
}
section#entry_form input:focus,
section#entry_form textarea:focus,
section#entry_form select:focus{
	outline: none !important;
}
/* /メールフォーム用 */

/* /全体項目 */


/* ヘッダー関係 */
header.site-header{
	padding:10px 0 0;
}
header.site-header .site-branding{
	margin:0;
}
header.site-header .site-logo{
	border-bottom: none;
	margin:0;
	padding-bottom: 0;
	text-align: left;
	width: auto;
}
/* メニュー関係 */
header.site-header .primary-navigation a{
	font-size:20px;
	line-height:1.5;
}
header.site-header .primary-navigation .primary-menu-container > ul > .menu-item > a{
	padding:0 1.25em;
}
header.site-header .primary-navigation .menu-item-description{
	color:#a5914e;
	font-size:12px;
	font-weight: bold;
	line-height: 1;
	text-align:center;
}
/* /メニュー関係 */

/* /ヘッダー関係 */


/* フッター関係 */
footer h2, footer .h2{
	font-size:20px;
	font-weight:bold;
}

footer#colophon{
	align-items: center;
	background-color:#cfd7e2;
	color:#2b3765;
}
footer .ggmap{
	margin:0 auto 35px;
	max-width:var(--view-area-narrow);
	width:100%;
}

footer .site-footer{
	padding:35px 0;
}
.no-widgets footer .site-footer{
	align-items: center;
	display: flex;
	justify-content: center;
	margin-top:0;

	min-height: calc( var(--view-area-vh) - 104px);
}

footer .company_info{
	font-size:1rem;
	margin-bottom: 0;
	margin-top: 0;
	text-align: center;
}
footer .office{
	display: inline-block;
	margin-top:35px;
}
footer .address{
text-align: right;
}
footer .address .post_code{
	padding-right: 1em;
}
footer .tel,
footer .fax{
	display:inline-block;
	padding: 0 0.5em;
}
footer .site-nav,
footer .site-info{
	background-color:#768eab;
	color:#2b3765;
	font-size:1rem;
	text-align:center;
}

footer .site-nav{
	padding-top:20px;
}
footer .footer-navigation{
	color:inherit;
	font-family:inherit;
	margin:0;
}
footer .footer-navigation ul li{
	color:inherit;
	line-height:2;
	margin:0 0.5em;
}
footer .footer-navigation ul li:first-child{
	margin-left:0;
}
footer .footer-navigation ul li:last-child{
	margin-right:0;
}
footer .footer-navigation ul li a{
	padding:0.25em 0.5em;
}

footer .site-name{
	line-height:3.25em;

}

/* /フッター関係 */

/* トップページ関係 */

/* メインエリア */
main.site-main{
	padding:5px 0 0;
}
main.site-main > *{
	margin:0;
}

main section{
	background-size: cover;
	background-position: center center;
}

/* ファーストビュー */
section#firstview{
	align-items: center;
	/* 背景要素は画像1枚＋四角の描画で2要素 */
	background-repeat: no-repeat, no-repeat;
	background-size: 75% auto, 40% 80%;
	background-position: right top, left bottom;
	color:#2c3866;
	display: flex;
	justify-content: center;
	min-height: calc(var(--view-area-vh) - var(--header-height));
}



section#firstview h2, section#firstview .h2{
	color: inherit;
	display: block;
	font-size:32px;
	font-weight:bold;
	line-height:1.525;
	text-align: right;

	width: var(--view-area-wide);
}
section#firstview h2 .t_left, section#firstview .h2  .t_left{
	display:inline-block;
	text-align: left;
}

/* アニメーションの設定変更 */
section#firstview h2 span.e_anime, section#firstview .h2 span.e_anime{
	display:inline-block;
	padding:13px 20px 14px 0;

	position:relative;
}
section#firstview h2 span.e_anime:after, section#firstview .h2 span.e_anime:after{
	background-color:#a5914e;
	content:"";
	display:block;

	position:absolute;
	height:3px;
	bottom: 17px;
	width:100vw;
	left: -100vw;
}
section#firstview h2 span.e_anime.a_left:after, section#firstview .h2 span.e_anime.a_left:after{
	transition: all 1s linear;
	/* transition-delay: 0.25s; */
	transition-property:transform,opacity;
	opacity: 0;
	transform: translateX(-100vw);
}
section#firstview h2 span.e_anime.a_left.anim:after, section#firstview .h2 span.e_anime.a_left.anim:after{
	opacity: 1;
	transform: translateX(0);
}

section#firstview h2 .c_white, section#firstview .h2  .c_white{
	color: #FFF;
	font-size:28px;
	font-weight:normal;
}

/* /ファーストビュー */

/* ワードプレス固定ページの入力情報 */
section#entry_content{
	align-items: center;
	color:#000;
	display: flex;
	justify-content: center;
	min-height: var(--view-area-vh);
}
section#entry_content.no_view{
	min-height: auto;
}
/* /ワードプレス固定ページの入力情報 */

/* 私たちの理念 */
section#philosophy{
	align-items: center;
	color:#FFF;
	display: flex;
	justify-content: center;
	padding:35px 0;
	min-height: var(--view-area-vh);
}
section#philosophy h2, section#philosophy .h2{
	color: inherit;
}
section#philosophy h2 small, section#philosophy .h2 small{
	color:#849ab2;
}
section#philosophy .section_inner{
	width: 100%;
	max-width:var(--view-area-narrow);
}
section#philosophy .section_inner p{
	font-size:1rem;
	margin:calc(25 * var(--device-vh)) 0;
}


/* /私たちの理念 */


/* 業務内容＆保有技術の複合ブロック */
main .block_composite{
	align-items: center;
	background-color: #cdebf0;
	display: flex;
	justify-content: center;
	padding:35px 0;
	min-height: var(--view-area-vh);
}
main .block_line{
	margin: 11px;
	padding:50px 120px;
	position: relative;
	width: 100%;
	max-width:var(--view-area-wide);
	z-index: 1;
}
main .block_line:before{
	border: 1px solid #4b547a;
	content: "";
	position: absolute;
	height:calc(100% + 11px);
	top: -11px;
	width:calc(100% + 11px);
	left: -11px;
	z-index:-1;
}
main .block_line:after{
	border: 1px solid #b4a36b;
	content: "";
	position: absolute;
	height:calc(100% + 11px);
	bottom: -11px;
	width:calc(100% + 11px);
	right: -11px;
	z-index:-1;
}
main .block_line .block_line_in{
	display: block;
	font-size:42px;
	font-weight:bold;
	line-height:1.5;
	padding:1em;

	position: relative;
	z-index: 1;
}

/* 業務内容 */
section#works{
	color:#2c3866;
}
section#works h2, section#works .h2{
	color: inherit;
}
section#works h2 small, section#works .h2 small{
	color:#849ab2;
}
section#works .section_inner{
	width: 100%;
	max-width:var(--view-area-narrow);
	margin-bottom:65px;
}
/* section#works ul, */
section ul#works_nav{
	display: flex;
	list-style:none;
	margin-top:25px;
	padding:0;
}
/* section#works ul li, */
section ul#works_nav li{
	display: flex;
	margin:0 auto;
	width:30%;
}
/* section#works ul li:first-child, */
section ul#works_nav li:first-child{
	margin-left:0;
}
/* section#works ul li:last-child, */
section ul#works_nav li:last-child{
	margin-right:0;
}
/* section#works ul li a.double_line, */
section ul#works_nav li a.double_line{
	display: flex;

	width:100%;
}
/* section#works ul li a.double_line .double_line_in, */
section ul#works_nav li a.double_line .double_line_in{
	padding:0.6em;
}
/* section#works ul li a.double_line .link_title_j,*/
section ul#works_nav li a.double_line .link_title_j{
}
/* section#works ul li a.double_line .view_more,*/
section ul#works_nav li a.double_line .view_more{
	padding-left:0;
}
/* /業務内容 */

/* 保有技術 */
section#skills{
	color:#2c3866;
	}
section#skills h2, section#skills .h2{
	color: inherit;
}
section#skills h2 small, section#skills .h2 small{
	color:#849ab2;
}
section#skills table{
	color:#2c3866;
	font-size:10px;
	line-height:1.9;
	margin-top:40px;
	margin-left:105px;
	width:calc(100% - 105px);
}
section#skills table th{
	vertical-align: top;

	width:calc(150px - 1em);
}
section#skills table td{
	width:calc(100% - (150px - 1em));
}
section#skills table td span{
	display:inline-block;
	padding-left:1em;
}
/* /保有技術 */
/* /業務内容＆保有技術の複合ブロック */

/* 採用情報関係 */
section#recruit{
	align-items: center;
	color:#FFF;
	display: flex;
	justify-content: center;
	padding:35px 0;

	min-height: var(--view-area-vh);
}
section#recruit .flex_block{
	display:flex;
}
section#recruit .flex_block h2, section#recruit .flex_block .h2{
	color: inherit;
	line-height: 1.2;

	min-width:260px;
}
section#recruit .flex_block h2 small, section#recruit .flex_block .h2 small{
	color:#c2c2c2;
}
section#recruit .flex_block p{
	color: inherit;
	font-size:18px;
	line-height:1.5;
	padding-left: 4.5em;
}

section#recruit .section_inner{
	width: 100%;
	max-width:var(--view-area-narrow);
}
section#recruit ul{
	list-style:none;
	margin-top:60px;
	padding:0;
}
section#recruit ul li{
	margin-top:1.2em;
}
section#recruit ul li:first-of-type{
	margin-top:0;
}
section#recruit ul li:nth-of-type(even){
	text-align:right;
}
section#recruit ul li:nth-of-type(odd){
	text-align:left;
}
section#recruit ul li a.double_line{
	width:42%;
}
section#recruit ul li a.double_line .double_line_in{
}
/* /採用情報関係 */

/* おしらせ関係 */
section#news{
	align-items: center;
	color:#FFF;
	display: flex;
	justify-content: center;
	padding:35px 0;

	min-height: var(--view-area-vh);
}
section#news h2, section#news .h2{
	color: inherit;
}
section#news h2 small, section#news .h2 small{
	color:#c2c2c2;
}
section#news .section_inner{
	width: 100%;
	max-width:var(--view-area-narrow);
}
section#news ul{
	list-style:none;
	display: flex;
	margin:45px 0;
	padding:0;
}
section#news ul li{
	display: flex;
	margin:0 auto;
	width:24%;
}
section#news ul li:first-child{
	margin-left:0;
}
section#news ul li:last-child{
	margin-right:0;
}
section#news ul li a{
	border:1px solid #343f6c;
	background-color: white;
	display: flex;
	flex-direction: column;
	padding:35px 20px;
	width:100%;
}
section#news ul li a img{
	border:1px solid #707070;
	margin-bottom:35px;
}
section#news ul li a .post_date{
	color:#9fa5ba;
	font-size:12px;
	margi-bottom:30px;
}
section#news ul li a .post_title{
	color:#2b3765;
	flex-grow: 1;
	font-size:1rem;

	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
section#news p.link_text{
	text-align:right;
	padding-right:2em;
}
section#news p.link_text a{
	color:#000;
}
/* /おしらせ関係 */
/* /メインエリア */
/* /トップページ関係 */

/* 個別ページ関係 */
/* 共通 */
.singular .entry-header{
	align-items: center;
	border-bottom:none;
	display: flex;
	justify-content: center;
	margin-bottom:0;
	padding-bottom:0;

	max-width: none;
	min-height:553px;
}
.singular .entry-header h1.entry-title{
	color:#2c3866;
	font-size:42px;
	font-weight:bold;
	line-height:2;
	margin:0 auto;

	width: var(--view-area-wide);
}
.singular .entry-header h1.entry-title span{
	display:inline-block;
}
.singular .entry-header h1.entry-title small{
	color:#8799b0;
	display:block;
	font-size:28px;
	font-weight:normal;
}
.singular .entry-content{
	margin-top:0;
	padding-top:60px;
}
.singular .entry-content section{
	background-size: cover;
	margin:0;
}
.singular .entry-content h2{
	font-size:24px;
}
.singular .entry-content section p,
.singular .entry-content section ul li{
	font-family: inherit;
}
.singular .entry-content section .section_inner{
	max-width: var(--view-area-wide);
	margin:0 auto;
}
.singular .entry-content section:first-of-type .section_inner{
	border-top: 3px solid #2b3765;
	margin:35px auto;
	padding-top:65px;
}
.singular .entry-content section:first-of-type .section_inner:empty{
	padding:0;
}
.singular .entry-content section .section_inner .flex_block{
	align-items: center;
	display: flex;
	justify-content: center;

	min-height: var(--view-area-vh);
}
.singular .entry-content section .section_inner .flex_block .flex_inner{
	display: flex;

	width: 100%;
}

/* /共通 */

/* 会社概要 */

#company h1 small{
	text-align: center;
}
#company .block_1{
	margin-bottom:8em;
}
#company .block_1 h2{
	margin-bottom:2.25em;
}

#company section#page-nav{
	margin-bottom:65px;
	margin-top:100px;
}
#company section#page-nav ul{
	display:flex;
	flex-wrap: wrap;
	list-style: none;
	padding:0;
}
#company section#page-nav ul li{
	width:39%;
	margin-right:auto;
}
#company section#page-nav ul li:nth-child(n + 3) {
	margin-top:30px;
}
#company section#page-nav ul li a{
	width:calc(100% - 16px);
}
#company section#page-nav ul li a.double_line .link_title_j{
	color:#9fa5ba;
	font-size: 0.8rem;
	text-align: left;
}
#company section#page-nav ul li:first-of-type a.double_line .link_title_j{
	color:transparent;
}

#company section#page-nav ul li a.double_line .link_title_j .view_more{
	color:#2b3765;
	font-size: 1rem;
	padding-left:3em;
}

/* 会社概要(Company Profile) */
#profile header{
	display:none;
}
#profile h2,#profile  .h2{
	display: inline-block;
	font-size: 32px;
}
#profile h2 small,#profile  .h2 small{
	color:#adb4ba;
	display:block;
	text-align:right;
	padding:0;
}
#profile ul{
	list-style:none;
	margin:0;
	margin-top:110px;
	padding:0;
}
#profile ul li:not(:last-child){
	margin-bottom:25px;
}

#profile table{
	font-size:1rem;
	line-height:2.5;
	margin-bottom:1em;
}
#profile table tr th,#profile table tr td{
	vertical-align: top;
}
#profile table tr th{
	min-width:6em;
}

#profile .entry-content{
	padding:0;
}
#profile section#wp-content{
	align-items: center;
	background-size: cover;
	background-position: center center;
	display: flex;
	justify-content: center;

	min-height: calc(var(--view-area-vh) - var(--header-height));
}
#profile section#wp-content .section_inner{
	border: none;
	color:#FFFFFF;
	padding:65px 0;

	width: 100%;
}
#profile section#wp-content .section_inner .flex_block{
	align-items: flex-end;
	min-height:auto;
}
#profile section#wp-content .section_inner .flex_item.w_330{
	width:100%;
	max-width:330px;
}
#profile section#wp-content .section_inner .flex_item:not(.w_330){
	padding-left:80px;
}
#profile section#wp-content .section_inner a:not(.double_line){
	color:#000000;
}
#profile section#wp-content .section_inner .tel a,
#profile section#wp-content .section_inner .fax a,
#profile section#wp-content .section_inner .email a{
	color:inherit;
}
#profile section#wp-content .section_inner a.double_line{
	width:calc(100% - 16px);
	max-width:290px;
}

#profile section#wp-content .section_inner a.double_line .link_title_j{
	color:#9fa5ba;
	padding-left:65px;
	text-align:left;
}
#profile section#wp-content .section_inner a.double_line .view_more{
	display:none;
}
/* /会社概要(Company Profile) */


/* 代表あいさつ */
#greeting_p header{
	display:none;
}
#greeting_p h2{
	color:#000000;
	display:block;
	font-size:30px;
	line-height:2;
}
#greeting_p h2 small{
	color:#666666;
	display:block;
	font-size:20px;
	line-height:1;
}

#greeting_p .entry-content{
	padding:0;
}
#greeting_p section#wp-content{
	align-items: center;
	background-size: cover;
	background-position: center center;
	display: flex;
	justify-content: center;

	min-height: calc(var(--view-area-vh) - var(--header-height));
}
#greeting_p section#wp-content .section_inner{
	border: none;
	padding:65px 0;

	width: 100%;
}

#greeting_p section#wp-content h2{
	margin-left:2em;
}
#greeting_p section#wp-content .white_box{
	background-color: rgba(255,255,255,0.5);
	display: inline-block;
	padding:2.25em 3.45em;
	margin:35px 0;
}
#greeting_p section#wp-content p{
	line-height:3;
}
#greeting_p section#wp-content p.ceo_name{
	font-size:1.5rem;
	line-height:2.67;
}
/* /代表あいさつ */
/* 役員あいさつ */
#greeting_o header{
	display:none;
}
#greeting_o h2{
	color:#000000;
	display:block;
	font-size:30px;
	line-height:2;
	margin-left:1em;
}
#greeting_o h2 small{
	color:#666666;
	font-size:18px;
	line-height:1;
}
#greeting_o h3{
	font-size:20px;
	lin-height:2.3;
	margin-bottom:1em;
}
#greeting_o p{
	line-height:3;
}
#greeting_o p.officer_name{
	font-size:20px;
	line-height:2;
}
#greeting_o p.officer_name big{
	font-size:30px;
}
#greeting_o ul{
	font-size:1rem;
	line-height:3;
	list-style: inside disc;
	padding: 0;
	padding-left: 1em;
}

#greeting_o .entry-content{
	padding:0;
}
#greeting_o section#wp-content .section_inner{
	border: none;
	margin:0 auto;
	padding:0;

	width: 100%;
	max-width:none;
}
#greeting_o section#wp-content .first-view{
	align-items: center;
	background-size: cover;
	background-position: center center;
	display: flex;
	justify-content: center;
	padding:120px 0 160px;

	min-height: calc(var(--view-area-vh) - var(--header-height));
}
#greeting_o section#wp-content .second-view{
	align-items: center;
	background-color:#fef6e1;
	display: flex;
	justify-content: center;
	padding:45px 0;

	min-height: var(--view-area-vh);
}

#greeting_o section#wp-content .first-view .view_inner,
#greeting_o section#wp-content .second-view .view_inner{
	margin: 0 auto;

	width:100%;
	max-width: var(--view-area-wide);
}
#greeting_o section#wp-content .white_box{
	background-color: rgba(255,255,255,0.5);
	display: inline-block;
	padding:2.58em 4em;
	margin:40vh 0 0;
	width:41.4%;
}
#greeting_o section#wp-content .second-view .view_inner .paragraph:not(:last-child){
	margin-bottom:35px;
}
/* /役員あいさつ */
/* /会社概要 */

/* 業務内容 */
#works .entry-content{
	background-color:#cdebf0;
}
#works section{
}
#works h1{
	text-align:right;
}
#works h1 small{
}
#works section h2{
	line-height:1;
	margin-bottom:1em;
	padding-bottom:12px;
}
#works section ul#works_nav{
	margin:0 auto 100px;
	padding:35px 0;
}
#works section .flex_block{
	padding:45px 0;
}
#works section .flex_item:not(.img){
	padding:0 55px;
}
#works section .flex_item:nth-of-type(even){
	width:48%;
	padding-right:0;
}
#works section .flex_item:nth-of-type(odd){
	width:52%;
	padding-left:0;
}
#works section .flex_block ul{
	font-size:16px;
	list-style: none;
	list-style-position: inside;
	padding:0;
}
#works section .flex_block li:not(:first-of-type){
	margin-top:1em;
}
#works section .flex_block ul li::marker{
	content:"●　";
}
#works section .flex_block ul li:empty{
	height:1.5em;
}
#works section .flex_block ul li:empty::marker{
	content:none;
}
/* /業務内容 */

/* 採用情報*/
#recruit section#wp-content{
	margin:35px 0;
}
#recruit section#wp-content  .section_inner{
}

#recruit section#page-nav{
	margin:35px 0;
}
#recruit section#page-nav ul{
	display:flex;
	flex-wrap: wrap;
	list-style: none;
	padding:0;
}
#recruit section#page-nav ul li{
	width:39%;
	margin-right:auto;
}
#recruit section#page-nav ul li a{
	width:calc(100% - 16px);
}
#recruit section#voices{
	align-items: center;
	border-top:4px solid #6a6a6a;
	display:flex;
	justify-content: center;

	min-height: var(--view-area-vh);
}
#recruit section#voices .section_inner{
	padding:35px 0;

	width: 100%;
}

#recruit section#voices h2{
	color:#FFF;
	font-size:36px;
	margin:65px 0;
	text-align:center;
}
#recruit section#voices ul{
	display:flex;
	flex-wrap: wrap;
	list-style: none;
	padding:0;
}
#recruit section#voices ul li{
	display:flex;
	width:39%;
	margin-right:auto;
}
#recruit section#voices ul li:nth-child(n + 3) {
	margin-top:35px;
}
#recruit section#voices ul li a.double_line{
	display:flex;
	margin:4px;

	width:calc(100% - 8px);
}
#recruit section#voices ul li a.double_line::before {
	background-color: rgba(255,255,255,0.5);
	height: calc(100% + 4px);
	top: -4px;
	width: calc(100% + 4px);
	left: -4px;
}
#recruit section#voices ul li a.double_line::after {
	background-color: rgba(255,255,255,0.5);
	border: 1px solid #b4a36b;
	height: calc(100% + 4px);
	bottom: -4px;
	width: calc(100% + 4px);
	right: -4px;
}
#recruit section#voices ul li a.double_line .double_line_in{
	font-size:20px;
	padding-bottom:2em;
	padding-top:2em;
}
#recruit section#voices ul li a.double_line .double_line_in .link_title_j{
	  text-align: center;
}
#recruit section#voices ul li a.double_line .double_line_in .link_title_j .link_name,
#recruit section#voices ul li a.double_line .double_line_in .link_title_j .link_year{
	display:block;
}

/* 募集要項 */
#requirements .entry-header{
	min-height: 643px;
}
#requirements .entry-content{
	margin-top:-3px;
	padding-top:0;
}
#requirements section#wp-content{
}
#requirements section#wp-content .section_inner{
	padding:65px 0;
}
#requirements section#wp-content:first-of-type .section_inner{
	margin:0 auto;
}

#requirements section#requirement{
	padding:80px 0;

	min-height: var(--view-area-vh);
}
#requirements section#requirement .section_inner{
	border-top:none;
	padding:0;
}
#requirements section#requirement h2{
	color:#2c3866;
	line-height:2;
}
#requirements section#requirement h2 small{
	color:#849ab2;
}


#requirements section#requirement .tabs {
	margin:65px auto 0;
	background-color: RGBA(255,255,255,0);
	width: 100%;
}

#requirements section#requirement .tabs .tab_content.show{
	display: block;
}
#requirements section#requirement table{
	line-height: 2.36;
}

#requirements section#requirement table .t_left{
	text-align: left;
}
#requirements section#requirement table .t_center{
	text-align: center;
}
#requirements section#requirement table .t_right{
	text-align: right;
}
#requirements section#requirement table .c_transparent{
	color: transparent;
}
#requirements section#requirement table tr:nth-child(even) > *{
	background-color: #F2F2F2;
}
#requirements section#requirement table tr:nth-child(odd) > *{
	background-color: #FFFFFF;
}
#requirements section#requirement table tr.even > *{
	background-color: #F2F2F2;
}
#requirements section#requirement table tr.odd > *{
	background-color: #FFFFFF;
}
#requirements section#requirement table tr th,
#requirements section#requirement table tr td{
	padding:0.68em 0.9em;
}
#requirements section#requirement table tr th:empty,
#requirements section#requirement table tr td:empty{
	background-color: transparent;
	padding:3px 0;
}

#requirements section#requirement table tr.row_start th,
#requirements section#requirement table tr.row_start td{
	padding-bottom:0;
}
#requirements section#requirement table tr.row_in th,
#requirements section#requirement table tr.row_in td{
	padding-bottom:0;
	padding-top:0;
}
#requirements section#requirement table tr.row_end th,
#requirements section#requirement table tr.row_end td{
	padding-top:0;
}


#requirements section#requirement table tr th{
	width:6em;
	vertical-align: top;
}
#requirements section#requirement table tr > :first-child:not(.no_first){
	padding-left:1.8em;
	width:8em;
}
#requirements section#requirement table tr > :last-child:not(.no_last){
	padding-right:1.8em;
}

#requirements section#entry-nav{
	padding-bottom:100px;
}
#requirements section#entry-nav ul{
	list-style: none;
	padding:0;
	text-align: center;
}
#requirements section#entry-nav ul li{
	margin: 0 auto;
	width: 37.5%;
}
#requirements section#entry-nav ul li a{
	width:calc(100% - 16px);
}
/*タブのスタイル*/
/*
.tab_item {
  width: calc(100%/3);
  height: 50px;
  border-bottom: 3px solid #5ab4bd;
  background-color: #d9d9d9;
  line-height: 50px;
  font-size: 16px;
  text-align: center;
  color: #565656;
  display: block;
  float: left;
  text-align: center;
  font-weight: bold;
  transition: all 0.2s ease;
}
.tab_item:hover {
  opacity: 0.75;
}
*/
/*ラジオボタンを全て消す*/
/*
input[name="tab_item"] {
  display: none;
}*/
/*タブ切り替えの中身のスタイル*/
/*.tab_content {
  display: none;
  padding:0;
  clear: both;
  overflow: hidden;
}*/
/*選択されているタブのコンテンツのみを表示*/
/*#tab_1:checked ~ #tab_1_content,
#tab_2:checked ~ #tab_2_content{
  display: block;
}*/

/*選択されているタブのスタイルを変える*/
/*.tabs input:checked + .tab_item {
  background-color: #5ab4bd;
  color: #fff;
}*/
/* /募集要項 */

/* エントリーシート */
#entry section#wp-content{
}
#entry section#wp-content  .section_inner{
}
#entry section#wp-content .text_area:not(:first-of-type){
	margin-top:50px;
}

#entry section#entry_form{
	background-color: #cdebf0;
}
#entry section#entry_form table td span.wpcf7-list-item span.wpcf7-list-item-label{
	padding-left:0.5em;
}
/* /エントリーシート */
/* 先輩たちの声 */
article.type-voices h1{
	font-size:30px;
	line-height:1;
}
article.type-voices h1 span{
	padding-left:2em;
}
article.type-voices h2{
	text-align:center;
}
article.type-voices h2 span{
	padding-left:3.5em;
}
article.type-voices h3{
	font-size:20px;
}

article.type-voices{
	background-size: cover;
	background-position: center center;
}
article.type-voices .article_inner{
	margin:0 auto;
	padding:75px 0;

	max-width:var(--view-area-wide);
}
article.type-voices .article_inner header.entry-header{
	color:#FFFFFF;
	display:block;
	margin:0;

	min-height: auto;
}

article.type-voices .article_inner .entry-content{
	background-color: RGBA(255,255,255,0.9);
	margin:145px 20px;
	padding:185px 105px 215px;
}
article.type-voices .article_inner .entry-content .entry-title{
	margin-bottom:140px;
}
article.type-voices .article_inner .entry-content .voice_block:not(:nth-last-child(-n+2)){
	margin-bottom:95px;
}
article.type-voices .article_inner .entry-content .voice_block h3{
	margin-bottom:35px;
}
article.type-voices .article_inner .entry-content .voice_block p,
article.type-voices .article_inner .entry-content .voice_block ul{
	font-size:1rem;
	line-height:2.5;
}
article.type-voices .article_inner .entry-content .voice_block ul{
	padding-left:1em;
}
article.type-voices .article_inner .entry-content .voice_block ul li{
	padding-left:1em;
}
article.type-voices .article_inner .entry-content .voice_block ul li:not(:last-child){
	margin-bottom:2em;
}
/* 先輩たちの声 */
/* /採用情報 */

/* お問合せ */
#contact header{
	display:none;
}
#contact .entry-content{
	padding:0;
}
#contact section#wp-content{
	background-size: cover;
	background-position: center center;
}
#contact section#wp-content .section_inner{
	border-top:none;
	margin:20px auto;
}
#contact section#wp-content .section_inner:empty{
	display:none;
}
#contact section#entry_form{
	min-height: calc(var(--view-area-vh) - var(--header-height));
}
#contact section#entry_form table td span.wpcf7-list-item span.wpcf7-list-item-label{
	background-color: rgba(255,255,255,0.7);
	padding:0.25em 5em 0.25em 0.5em;
}
/* /お問合せ */
/* /個別ページ関係 */

/* 投稿関係 */
.archive main,
.single main{
}
.archive main section,
.single main section{
}
/* /投稿関係 */


