@charset "utf-8";

.PageBody.-company > .inner { overflow:hidden; }


.PageHeader.-company .logoArea { width:50%; height:100vh; position:absolute; top:50%; transform:translateY(-50%); left:0; z-index:1; display:flex; justify-content:center; align-items:center; }
.PageHeader.-company .logoArea img { width:50%; height:auto; }
@media screen and (max-width:1023px) { /* tablet tablet */
	.PageHeader.-company .logoArea { display:none; }
}


/*--------------------------------------------------------------------------------------------------------------------------------------------------------------
会社概要
--------------------------------------------------------------------------------------------------------------------------------------------------------------*/
/* ページナビ */
.CompanyNavi#upperpart { overflow:hidden; width:520px; float:right; margin-top:54px; z-index:1; opacity:1; transition: opacity .3s ease }
.CompanyNavi#lowerpart { overflow:hidden; width:520px; position: absolute; left:auto; margin:auto; bottom:0; right: 72px; z-index:-1; opacity:0; transition: opacity .3s ease }

.CompanyNavi ul { margin:0; margin-right:-1px; }
.CompanyNavi ul::after { content:""; display:block; clear:both; }
.CompanyNavi li { float:left; width:25%; padding:0; box-sizing:border-box; color:#fff; padding-right:1px; box-sizing:border-box; }
.CompanyNavi .CompanyNavi__link { display:block; font-size:10px; padding:15px; font-family:'Roboto', sans-serif; letter-spacing:.1em; text-indent:.1em; text-align:center; text-decoration:none; color:inherit; background:#333; }
.normal .CompanyNavi .CompanyNavi__link.-active { background:#296393; color:rgba(255,255,255,.9); }
.dark .CompanyNavi .CompanyNavi__link.-active { background:#AA8B5D; color:#151515; }
.hover .CompanyNavi .CompanyNavi__link:hover { background:#444; }
.hover.normal .CompanyNavi .CompanyNavi__link.-active:hover { background:#296393; color:rgba(255,255,255,.9); }
.hover.dark .CompanyNavi .CompanyNavi__link.-active:hover { background:#AA8B5D; color:#151515; }

@media screen and (max-width:1023px) { /* tablet tablet */
	.CompanyNavi#upperpart { right:auto; left:0; float:none;  }
}
@media screen and (max-width:767px) { /* sp_3 6Plus */
	.CompanyNavi#upperpart { width:100%; }
	.CompanyNavi#upperpart .CompanyNavi__link { text-indent:0; letter-spacing:0; padding:15px 0; }
	.CompanyNavi#lowerpart { display: none; }
}



/* ページコンテンツ内トップタイトル */
.PageBody.-company .PageBodyHead { display:table; height:280px; width:100%; }
.PageBody.-company .PageBodyHead > .inner { display:table-cell; vertical-align:middle; }
.PageBody.-company .PageBodyHead .ttl_1 { font-size:24px; text-align:center; margin-bottom:16px; letter-spacing:.2em; text-indent:.2em; font-feature-settings:"palt"; }
.PageBody.-company .PageBodyHead .ttl_2 { font-size:12px; font-family:'Roboto', sans-serif; font-weight:300; letter-spacing:.2em; text-indent:.2em; text-align:center; }
@media screen and (max-width:1023px) { /* tablet tablet */
	.PageBody.-company .PageBodyHead { height:200px; }
	.PageBody.-company .PageBodyHead > .inner { padding:0 40px; }
	.PageBody.-company .PageBodyHead .ttl_1 { text-align:center; text-indent:0; }
	.PageBody.-company .PageBodyHead .ttl_2 { text-align:center; text-indent:0; }
}
@media screen and (max-width:767px) { /* sp_3 6Plus */
	.PageBody.-company .PageBodyHead { height:160px; }
	.PageBody.-company .PageBodyHead > .inner { padding:0 16px; }
	.PageBody.-company .PageBodyHead .ttl_1 { font-size:20px; letter-spacing:0; text-indent:0; }
}

/* normal */
.normal .PageBody.-company .PageBodyHead {}
.normal .PageBody.-company .PageBodyHead .ttl_1 {}
.normal .PageBody.-company .PageBodyHead .ttl_2 { color:rgba(0,0,0,.7); }

/* dark */
.dark .PageBody.-company .PageBodyHead {}
.dark .PageBody.-company .PageBodyHead .ttl_1 { color:#AA8B5D; }
.dark .PageBody.-company .PageBodyHead .ttl_2 { color:rgba(255,255,255,.7); }



/*----------------------------------------------------
会社概要
----------------------------------------------------*/
/* レイアウト */
.OutlineLayoutOuter { padding:0 120px 120px; }
.OutlineLayout { display:table; max-width:860px; width:100%; margin:auto; }
.OutlineLayout > .col { display:table-cell; width:50%; vertical-align:top; }
.OutlineLayout > .col:first-child dl { padding-right:40px; }
.OutlineLayout dt { font-size:14px; font-weight:bold; line-height:2; padding-top:24px; }
.OutlineLayout dt:first-child { padding-top:0; }
.OutlineLayout dd { font-size:14px; line-height:2; }
.OutlineLayout .list dd {}
.OutlineLayout .list dd::before { content:""; display:inline-block; width:4px; height:4px; border-radius:50%; position:relative; top:-3px; left:-12px; margin-right:-4px; } 
@media screen and (max-width:1600px) { /* pc3 macbookpro15 */ }
@media screen and (max-width:1400px) { /* pc2 macbookpro13 */ }
@media screen and (max-width:1199px) { /* pc1 tablet横表示 ＆ PC小 */ }
@media screen and (max-width:1023px) { /* tablet tablet */
	/* レイアウト */
	.OutlineLayoutOuter { padding:0 40px 80px; }
	.OutlineLayout { display:block; max-width:none; }
	.OutlineLayout > .col { display:block; width:100%; }
	.OutlineLayout > .col:first-child dl { padding-right:0; }
	.OutlineLayout dt { font-size:14px; padding-top:24px; }
	.OutlineLayout > .col:first-child  dt:first-child { padding-top:0; }
	.OutlineLayout dt:first-child { padding-top:24px; }
	.OutlineLayout dd { font-size:14px; }
	.OutlineLayout .list dd {}
	.OutlineLayout .list dd::before { content:""; display:inline-block; width:4px; height:4px; border-radius:50%; position:relative; top:-3px; left:-12px; margin-right:-4px; } 
}
@media screen and (max-width:767px) { /* sp_3 6Plus */
	.OutlineLayoutOuter { padding:0 16px 40px; }

	.OutlineLayout dt { font-size:12px; padding-top:16px; line-height:1.5; }
	.OutlineLayout dd { font-size:16px; line-height:1.5; }

	.OutlineLayout .list {}
	.OutlineLayout .list dt { margin-bottom:4px; }
	.OutlineLayout .list dd { padding-left:16px; font-size:15px; line-height:1.3; margin-bottom:4px; }
	.OutlineLayout .list dd:last-child { margin-bottom:0; }
}




/* normal */
.normal .OutlineLayoutOuter {  }
.normal .OutlineLayout dt { }
.normal .OutlineLayout dd {}
.normal .OutlineLayout .list dd::before { background:#333; } 

/* dark */
.dark .OutlineLayoutOuter { }
.dark .OutlineLayout dt {}
.dark .OutlineLayout dd {}
.dark .OutlineLayout .list dd::before { background:rgba(255,255,255,.9); } 



/*----------------------------------------------------
サービス
----------------------------------------------------*/
.ServicesLayout {}
.ServicesBlock { display:table; width:100%; min-height:400px; }
.ServicesBlock:nth-child(odd) { direction:ltr; }
.ServicesBlock:nth-child(even) { direction:rtl; }
.ServicesBlock .titleArea { display:table-cell; width:calc(50%); position:relative; padding-top:42%; direction:ltr; }
.ServicesBlock .textArea { display:table-cell; position:relative; padding-top:42%; direction:ltr; }

/* normal */
.normal .ServicesBlock:first-child .textArea { border-top:1px solid rgba(0,0,0,.2); }

/* dark */
.dark .ServicesBlock:first-child .textArea { border-top:1px solid rgba(255,255,255,.1); }


@media screen and (max-width:767px) { /* sp_3 6Plus */
	.ServicesLayout {}
	.ServicesBlock { display:block; width:100%; min-height:0; }
	.ServicesBlock:nth-child(odd) { direction:ltr; }
	.ServicesBlock:nth-child(even) { direction:ltr; }
	.ServicesBlock .titleArea { display:block; width:100%; position:relative; padding-top:50%; direction:ltr; }
	.ServicesBlock .textArea { display:block; position:relative; padding-top:0; direction:ltr; }
}


/*------------------------
タイトルエリア
------------------------*/
.ServicesBlock.-block01 .titleArea { background:url(/static/img/company/bg_services_thum01.jpg) center center; background-size:cover; }
.ServicesBlock.-block02 .titleArea { background:url(/static/img/company/bg_services_thum02.jpg) center center; background-size:cover; }
.ServicesBlock.-block03 .titleArea { background:url(/static/img/company/bg_services_thum03.jpg) center center; background-size:cover; }
.ServicesBlock.-block04 .titleArea { background:url(/static/img/company/bg_services_thum04.jpg) center center; background-size:cover; }
.ServicesBlock.-block05 .titleArea { background:url(/static/img/company/bg_services_thum05.jpg) center center; background-size:cover; }
.ServicesBlock.-block06 .titleArea { background:url(/static/img/company/bg_services_thum06.jpg) center center; background-size:cover; }
.ServicesBlock.-block07 .titleArea { background:url(/static/img/company/bg_services_thum07.jpg) center center; background-size:cover; }
.ServicesBlock.-block08 .titleArea { background:url(/static/img/company/bg_services_thum08.jpg) center center; background-size:cover; }
/* ラベル */
.ServicesBlock .label { background:#223a5f; width:200px; height:400px; position:absolute; }
.normal .ServicesBlock .label { background:#223a5f; }
.dark .ServicesBlock .label { background:#AA8B5D; }

.ServicesBlock:nth-child(odd) .label { top:-40px; left:72px; }
.ServicesBlock:nth-child(even) .label { top:-40px; right:72px; }
/*　英語 */
.ServicesBlock .labelHead { padding:32px 0 32px 16px; margin-bottom:32px; position:relative; }
.ServicesBlock .labelHead::after { content:""; display:block; width:40px; height:1px; background:rgba(255,255,255,.7); position:absolute; bottom:0; left:16px; }
.nomal .ServicesBlock .labelHead::after { background:rgba(255,255,255,.7); }
.dark .ServicesBlock .labelHead::after { background:rgba(255,255,255,.7); }


.ServicesBlock .namber { display:block; font-family: 'Roboto', sans-serif; font-feature-settings:"palt"; line-height:1; }
.ServicesBlock .txt1 { font-size:80px; font-weight:500; color:#AA8B5D; }
.normal .ServicesBlock .txt1 { color:#AA8B5D; }
.dark .ServicesBlock .txt1 { color:#fff; }

.ServicesBlock .slash { font-size:32px; font-weight:100; color:rgba(255,255,255,.7); margin-right:8px; }
.ServicesBlock .txt2 { font-size:32px; font-weight:100; color:rgba(255,255,255,.7); }
.ServicesBlock .ttl { display:block; font-size:48px; font-weight:500; color:rgba(255,255,255,.7); font-family: 'Roboto', sans-serif; font-feature-settings:"palt"; line-height:1; }

.normal .ServicesBlock .slash { color:rgba(255,255,255,.7); }
.normal .ServicesBlock .txt2 { color:rgba(255,255,255,.7); }
.normal .ServicesBlock .ttl { color:rgba(255,255,255,.7); }

.dark .ServicesBlock .slash { color:#fff;color:#fff; }
.dark .ServicesBlock .txt2 { color:#fff; }
.dark .ServicesBlock .ttl { color:#fff; }



/* 微調整 */
.ServicesBlock.-block02 .ttl { font-size:40px; }
.ServicesBlock.-block04 .ttl { font-size:40px; }
.ServicesBlock.-block06 .ttl { font-size:32px; }
/* 日本語 */
.ServicesBlock .labelBody { padding:0 0 0 16px; color:rgba(255,255,255,.7); }
.normal .ServicesBlock .labelBody { color:rgba(255,255,255,.7); }
.dark .ServicesBlock .labelBody { color:rgba(255,255,255,.7); }

.ServicesBlock .text_1 { font-size:14px; font-weight:bold; line-height:1.5; margin-bottom:5px; }
.ServicesBlock .text_2 { font-size:12px; line-height:1.5; }
@media screen and (max-width:1199px) { /* pc1 tablet横表示 ＆ PC小 */
	/* ラベル */
	.ServicesBlock:nth-child(odd) .label { left:40px; }
	.ServicesBlock:nth-child(even) .label { right:40px; }
}
@media screen and (max-width:767px) { /* sp_3 6Plus */

	.normal .ServicesBlock .label { background:none; }
	.dark .ServicesBlock .label { background:none; }

	.normal .ServicesBlock .txt1 { color:rgba(255,255,255,1); }
	.normal .ServicesBlock .slash { color:rgba(255,255,255,1); }
	.normal .ServicesBlock .txt2 { color:rgba(255,255,255,1); }
	.normal .ServicesBlock .ttl { color:rgba(255,255,255,1); }
	.normal .ServicesBlock .labelBody { color:rgba(255,255,255,1); }
	.dark .ServicesBlock .labelBody { color:rgba(255,255,255,1); }



	.ServicesBlock .titleArea { position:relative; padding-top:0; min-height:240px; display:flex; align-items:center; }
	.ServicesBlock .titleArea::after { content:""; display:block; width:100%; height:100%; background:rgba(0,0,0,.5); position:absolute; top:0; left:0; z-index:1; }
	.ServicesBlock.-block01 .titleArea { background:url(/static/img/company/bg_services_thum01.jpg) center center; background-size:cover; }
	.ServicesBlock.-block02 .titleArea { background:url(/static/img/company/bg_services_thum02.jpg) center center; background-size:cover; }
	.ServicesBlock.-block03 .titleArea { background:url(/static/img/company/bg_services_thum03.jpg) center center; background-size:cover; }
	.ServicesBlock.-block04 .titleArea { background:url(/static/img/company/bg_services_thum04.jpg) center center; background-size:cover; }
	.ServicesBlock.-block05 .titleArea { background:url(/static/img/company/bg_services_thum05.jpg) center center; background-size:cover; }
	.ServicesBlock.-block06 .titleArea { background:url(/static/img/company/bg_services_thum06.jpg) center center; background-size:cover; }
	.ServicesBlock.-block07 .titleArea { background:url(/static/img/company/bg_services_thum07.jpg) center center; background-size:cover; }
	.ServicesBlock.-block08 .titleArea { background:url(/static/img/company/bg_services_thum08.jpg) center center; background-size:cover; }
	/* ラベル */
	.ServicesBlock .label { width:100%; height:auto; position:relative; z-index:2; background:none; }
	.ServicesBlock:nth-child(odd) .label { top:0; left:0; }
	.ServicesBlock:nth-child(even) .label { top:0; right:auto; left:0; }
	/*　英語 */
	.ServicesBlock .labelHead { padding:16px; margin-bottom:16px; position:relative; }
	.ServicesBlock .labelHead::after { content:""; display:block; width:40px; height:1px; background:rgba(255,255,255,.7); position:absolute; bottom:0; left:16px; }
	.ServicesBlock .namber {}
	.ServicesBlock .txt1 {  color:#fff; }
	.ServicesBlock .slash { color:rgba(255,255,255,.7); }
	.ServicesBlock .txt2 { color:rgba(255,255,255,.7); }
	.ServicesBlock .ttl {  color:rgba(255,255,255,.7); }
	/* 微調整 */
	.ServicesBlock.-block02 .ttl {}
	.ServicesBlock.-block06 .ttl {}
	.ServicesBlock.-block08 .ttl {}
	/* 日本語 */
	.ServicesBlock .labelBody { padding:0 0 16px 16px; color:#fff; }
	.ServicesBlock .text_1 { font-size:16px; font-weight:bold; line-height:1.5; margin-bottom:5px; }
	.ServicesBlock .text_1 br { display:none; }
	.ServicesBlock .text_2 { font-size:16px; line-height:1.5; }
}




/*------------------------
テキストエリア
------------------------*/
.ServicesBlock .textArea > .inner { direction:ltr; position:absolute; top:50%; left:0; transform:translateY(-50%); padding:0 120px; }
.ServicesBlock .textArea p { font-size:14px; line-height:3; }
@media screen and (max-width:1199px) { /* pc1 tablet横表示 ＆ PC小 */
	.ServicesBlock .textArea > .inner { padding:0 40px; }
	.ServicesBlock .textArea p { font-size:14px; line-height:2; }

}
@media screen and (max-width:767px) { /* sp_3 6Plus */
	.ServicesBlock .textArea > .inner { direction:ltr; position:static; top:0; left:0; transform:translateY(0); padding:16px; }
	.ServicesBlock .textArea p { font-size:16px; line-height:1.5; }
}




/*----------------------------------------------------
沿革
----------------------------------------------------*/
.HistoryLayout { padding:0 120px 120px; }
.HistoryLayout > .inner { width:100%; max-width:860px; margin:auto; overflow:hidden; }
.HistoryLayout table { width:100%; max-width:860px; margin:auto; margin-top:-24px; }
.HistoryLayout th { padding:24px 24px 25px 0; vertical-align:top; position:relative; width:160px; box-sizing:border-box; }
.HistoryLayout th .year_1 { font-family:'Roboto', sans-serif; font-weight:300; font-size:48px; font-feature-settings:"palt"; }
.HistoryLayout th .year_2 { font-size:20px; }
.HistoryLayout td { padding:24px 0 24px 24px; vertical-align:top; }
.HistoryLayout td .month { margin-bottom:16px; position:relative; }
.HistoryLayout td .month_1 { font-family:'Roboto', sans-serif; font-weight:300; font-size:48px; font-feature-settings:"palt"; }
.HistoryLayout td .month_2 { font-size:20px; }
.HistoryLayout td .txt { font-size:14px; line-height:2; font-feature-settings:"palt"; letter-spacing:.04em; }
.HistoryLayout td .txt.-en { font-feature-settings:normal; letter-spacing:0; }

.HistoryLayout th::after { content:""; display:block; width:1px; height:100%; position:absolute; top:40px; right:0; }
.HistoryLayout td .month::after { content:""; display:block; width:16px; height:16px; border-radius:50%; position:absolute; top:50%; left:-32px; transform:translateY(-50%); }
.HistoryLayout td a { font-weight:bold; }



/* normal */
.normal .HistoryLayout td a { color:rgba(0,0,0,.7);  }
.normal .HistoryLayout td a[target="_blank"]::after { background:url(/static/img/common/icon_blank_blue.svg) 0 0 no-repeat; }
/* dark */
.dark .HistoryLayout td a { color:rgba(255,255,255,.7);  }
.dark .HistoryLayout td a[target="_blank"]::after { background:url(/static/img/common/icon_blank_brown.svg) 0 0 no-repeat; }

@media screen and (max-width:1023px) { /* tablet tablet */
	.HistoryLayout { padding:0 40px 80px; }
}
@media screen and (max-width:767px) { /* sp_3 6Plus */
	.HistoryLayout { padding:0 16px 40px; }
	.HistoryLayout > .inner {}
	.HistoryLayout table { margin-top:-16px; }
	.HistoryLayout th { padding:16px 16px 16px 0; width:80px; box-sizing:border-box; }
	.HistoryLayout th .year_1 { font-size:20px; }
	.HistoryLayout th .year_2 { font-size:14px; }
	.HistoryLayout td { padding:16px 0 16px 16px; vertical-align:top; }
	.HistoryLayout td .month { margin-bottom:8px; position:relative; }
	.HistoryLayout td .month_1 { font-size:20px; }
	.HistoryLayout td .month_2 { font-size:14px; }
	.HistoryLayout td .txt { font-size:14px; line-height:1.5; }
	.HistoryLayout th::after { content:""; display:block; width:1px; height:100%; position:absolute; top:32px; right:0; }
	.HistoryLayout td .month::after { content:""; display:block; width:16px; height:16px; border-radius:50%; position:absolute; top:50%; left:-24px; transform:translateY(-50%); }
	.HistoryLayout td a { font-weight:bold; }
}




/* normal */
.normal .HistoryLayout { background:#fff; }
.normal .HistoryLayout th .year_1 { color:#223A5F; }
.normal .HistoryLayout th .year_2 { color:#223A5F; }
.normal .HistoryLayout td .month_1 { color:#999; }
.normal .HistoryLayout td .month_2 { color:#999; }
.normal .HistoryLayout td .txt { color:#333; }
.normal .HistoryLayout th::after { background:#223A5F; }
.normal .HistoryLayout td .month::after { background:#223A5F; }
.normal .HistoryLayout td a { color:#223A5F; }

/* dark */
.dark .HistoryLayout { background:#222; }
.dark .HistoryLayout th .year_1 { color:#AA8B5D; }
.dark .HistoryLayout th .year_2 { color:#AA8B5D; }
.dark .HistoryLayout td .month_1 { color:rgba(255,255,255,.5); }
.dark .HistoryLayout td .month_2 { color:rgba(255,255,255,.5); }
.dark .HistoryLayout td .txt { color:rgba(255,255,255,.9); }
.dark .HistoryLayout th::after { background:#AA8B5D; }
.dark .HistoryLayout td .month::after { background:#AA8B5D; }
.dark .HistoryLayout td a { color:#AA8B5D; }



/*----------------------------------------------------
社名の由来
----------------------------------------------------*/
.OriginLayout { padding:0 120px 120px; }
.OriginLayout > .inner { width:100%; max-width:960px; margin:auto; }
.OriginLayout .ttl { font-size:15px; line-height:2; letter-spacing:.1em; font-weight:bold; margin-bottom:80px; font-feature-settings:"palt"; }
.OriginLayout .textArea {}
.OriginLayout .textArea p { text-align:center; font-size:14px; letter-spacing:.2em; text-indent:.2em; line-height:2; margin-bottom:32px; }
.OriginLayout .textArea .sign { font-size:14px; letter-spacing:.1em; line-height:3; text-align:right; }
.OriginLayout .textArea .sign img { width:153px; height:47px; }

.normal .OriginLayout .textArea .sign.-normal { display:block; } 
.normal .OriginLayout .textArea .sign.-dark { display:none; }

.dark .OriginLayout .textArea .sign.-normal { display:none; } 
.dark .OriginLayout .textArea .sign.-dark { display:block; }

@media screen and (max-width:1023px) { /* tablet tablet */
	.OriginLayout { padding:0 40px 80px; }
	.OriginLayout .textArea {}
	.OriginLayout .textArea p { text-align:left; text-indent:0; }
	.OriginLayout .textArea p br { display:none; }
	.OriginLayout .textArea .text { line-height:2; }
	.OriginLayout .textArea .sign { line-height:2; }
}
@media screen and (max-width:767px) { /* sp_3 6Plus */
	.OriginLayout { padding:0 16px 40px; }

	.OriginLayout .textArea p { font-size:16px; letter-spacing:0; text-indent:0; line-height:1.5; margin-bottom:24px; font-feature-settings:"palt"; letter-spacing:.1em; }
	.OriginLayout .textArea .sign { font-size:16px; letter-spacing:0; }

}


