@charset "utf-8";
@import url(normalize.css);
@import url(../_plugin/fontawesome/css/all.min.css);
@import url(https://unpkg.com/aos@next/dist/aos.css);
@import url(common_parts.css);
@import url(common.css);


/* 共通 ----------*/
#main { position: relative; z-index: 2; }
#main a { display: block; }
section h2 { margin-bottom: 3rem; font-size: 3.25rem; }
section .c_ttl { position: relative; padding: 0 0 0 2em; font-size: 2.5rem; color: #0a3289; }
section .c_ttl::before { position: absolute; top: 50%; left: 0; content: ""; display: block; width: 1em; line-height: 1; border-top: 4.5px solid #0054b4; transform: translateY(calc(-50% - 2.5px)); }
.sup { position: relative; padding-left: 1em; }
.sup span { position: absolute; top: 0%; left: 0; }
@media screen and ( min-width: 1920px ) {
	#mv img, main img { width: 100%; }
}

/* mv ----------*/
#mv { margin-top: 60px; }
#mv .img_box { position: relative; width: 100%; height: 350px; overflow: hidden; }
#mv h2 { position: absolute; top: 50%; left: 2rem; font-size: 3.4rem; color: #fff; transform: translateY(-50%); }
#mv img { position: fixed; z-index: 0; top: 60px; left: 35%; width: auto; height: 350px; max-width: inherit; transform: translate(-50%, 0); }
@media screen and ( min-width: 481px ) {
	#mv h2 { position: absolute; top: 50%; left: 3rem; font-size: 3.4rem; color: #fff; transform: translateY(-50%); }
}
@media screen and ( min-width: 651px ) {
	#mv { margin-top: 100px; }
}
@media screen and ( min-width: 769px ) {
	#mv .img_box { height: auto; }
	#mv img { position: static; width: 100%; height: auto; transform: none; }
}
@media screen and ( min-width: 981px ) {
	#mv { margin-top: 0; }
	#mv .img_box { position: relative; max-height: 450px; overflow: hidden; }
	#mv h2 { position: absolute; top: 50%; left: 3rem; font-size: 3.4rem; color: #fff; transform: translateY(-50%); }
	#mv img { width: 100%; height: auto; }
}

/* company index ==============================*/
/* 共通 ----------*/
#company section:not(#mv) { margin: -3rem 0; }
#company section:nth-last-of-type(1) { margin-bottom: 0; padding: 0 0 2rem 0; }
#company #mv + section { margin-top: 0; }
#company section .sec_inner { position: relative; z-index: 2; padding: 3rem 2rem; background: #fff; }
#company section:nth-last-of-type(1) .sec_inner { padding-bottom: 3rem; }
#company section h2.c_ttl { font-size: 3rem; line-height: 1.3; }
#company section h3 { font-size: 2.6rem; }
#company section p { font-size: 1.8rem; }
#company section .c_sub { font-size: 2.7rem; font-weight: 500; line-height: 1.3; }
#company table { width: 100%; }
#company tr { border: 1px solid #8e99bb; }
#company th { display: block; padding: 1.5rem; font-size: 2rem; text-align: left; background: #cfd4e3; border-bottom: 1px solid #8e99bb; }
#company td { display: block; padding: 1.5rem; font-size: 1.8rem; vertical-align: middle; }
#company table + p { margin: 0; }
#company dl dt { font-size: 2rem; }
#company .list_box ul,
#company dl dd { font-size: 1.8rem; }
@media screen and ( min-width: 481px ) {
	#company section:not(#mv) { margin: -4rem 0; }
	#company section:nth-last-of-type(1) { padding: 0 0 4rem 0; }
	#company #mv + section { margin-top: 0; }
	#company section .sec_inner { padding: 4rem 3rem; }
	#company section p,
	#company section li,
	#company section dl dd { font-size: 2.5rem; }
}
@media screen and ( min-width: 769px ) {
	#company section h2.c_ttl { font-size: 2.65rem; }
	#company section p,
	#company section li,
	#company section dl dt,
	#company section dl dd { font-size: 1.4rem; }
	#company section .c_sub { font-size: 2.7rem; }
	#company th,
	#company td { display: table-cell; font-size: 1.4rem; }
	#company th { border-bottom: none; border-right: 1px solid #8e99bb; }
	#company .list_box { display: flex; }
	#company .list_box ul { width: calc( (99.999% - 4rem) / 2 ); }
	#company .list_box ul:not(:nth-last-of-type(1)) { margin-right: 4rem; }
}
@media screen and ( min-width: 981px ) {
	#company section .sec_inner { padding: 4rem 8rem; }
	#company th { text-align: left; }
	#company td { padding: 1.5rem; vertical-align: middle; }
	#company .list_box ul { width: calc( (99.999% - 7rem) / 2.5 ); }
	#company .list_box ul:not(:nth-last-of-type(1)) { margin-right: 7rem; }
}
/* basic_info */
@media screen and ( min-width: 769px ) {
	#basic_info th { width: 160px; }
}
/* officer_list */
@media screen and ( min-width: 769px ) {
	#officer_list th { width: 230px; }
}

/* company welfare ==============================*/
#welfare h2.c_ttl { border-bottom: 1px solid #231815; }
@media screen and ( min-width: 768px ) {
	#welfare .flb { display: flex; }
	#welfare .flb > div { width: calc( (99.999% - 3.5rem) / 2 ); }
	#welfare .flb > div:not(:nth-last-of-type(1)) { margin-right: 3.5rem; }
}

/* company office ==============================*/
#office section .sec_inner { background: none; background: #ebedf3; }
#office section h2.c_ttl { border: none; }

/* office_list */
#office_list dd a { display: inline; }
#office_list dd div.flb { flex-wrap: wrap; }
#office_list dd div.flb p { width: 200px; margin: 0; }
#office_list .sec_inner .img_box { margin-bottom: 3.5rem; }
#office_list .list_box { display: block; }
#office_list .list_item { margin: 1rem 0; background: #fff; }
#office_list .btn_ttl { position: relative; padding: 3rem 7rem 2rem 5rem; font-size: 2.2rem; color: #0a3289; cursor: pointer; line-height: 1; }
#office_list .btn_ttl::after { position: absolute; top: 50%; right: 1rem; content: "\f078"; display: block; width: 5rem; height: 5rem; font-family: "Font Awesome 5 Pro"; color: #fff; text-align: center; line-height: 3; background: #0054b4; transform: translateY(-50%); }
#office_list .btn_ttl.open::after { content: "\f077"; }
#office_list .btn_ttl::before { position: absolute; top: 50%; left: 0; content: ""; display: block; width: 1em; line-height: 1; border-top: 4.5px solid #0054b4; transform: translateY(calc(-50% - 2.5px)); }
#office_list .list_item dl { position: relative; display: flex; padding: 3rem 2rem 3rem 5rem; border-top: 1px solid #ebedf3; flex-wrap: wrap; }
#office_list .list_item dl:nth-of-type(1)::after { position: absolute; bottom: 0; left: 5rem; content: ""; display: block; width: calc( 100% - 7rem ); height: 1px; border-top: 1px solid #ebedf3; }
#office_list .list_item dl dt { width: 5em; color: #0a3289; }
#office_list .item_box { height: 0; overflow: hidden; opacity: 0; transition: .3s; }
#office_list .open + .item_box { opacity: 1; transition: .3s; }
#office_list iframe { width: 100%; }
@media screen and ( min-width: 480px ) {
	#office_list dd div.flb { display: flex; flex-wrap: wrap; }
	#office_list .btn_ttl { padding: 3rem 10rem 3rem 5rem; }
	#office_list .btn_ttl::after { right: 3rem; }
}
@media screen and ( min-width: 650px ) {
	#office_list .list_item dl dd { width: calc(99.999% - 5em); }
	#office_list .btn_ttl::after { line-height: 2.5; }
}
/* company history ==============================*/
#company section#history_list { padding: 3rem 0; }
#company #history .sec_inner { width: 100%; max-width: 100%; padding: 0; }
@media screen and ( min-width: 481px ) {
	#company section#history_list { padding: 4rem 0; }
}
@media screen and ( min-width: 981px ) {
	#company section#history_list { padding: 4rem 0; }

}
/* history_headding */
#company #history_headding { margin: 0; background: #000; }
#company #history_headding .sec_inner { padding: 0 2rem; background: #000; }
#company #history_headding h2 { margin: 0; padding: 2rem 0 2rem 1.6rem; color: #fff; line-height: 1; border: none; }
#company #history_headding h2::before { top: 50%; width: 6px; height: 1em; border-top: none; border-left: 6px solid #0054b4; transform: translateY(-50%); }
@media screen and ( min-width: 981px ) {
	#company #history_headding .sec_inner { padding: 0 3rem; }
	#company #history_headding h2 { padding: 3rem 0 3rem 1.6rem; }
}

/* history_list */
#history_list figure { position: relative; }
#history_list figcaption { position: absolute; bottom: 0; left: 0; width: 100%; padding: 1rem 0 1rem 1rem; font-size: 1.4rem; color: #fff; background: rgba(0, 0, 0, 0.75); height: 50px; line-height: 25px; }
#history_list table { width: calc(100% + 1px ); }
#history_list td { position: relative; z-index: 1; padding: 1rem; }
#history_list li:nth-of-type(1),
#history_list td:nth-of-type(1) { background: #76d7de; }
#history_list .img_cont td:nth-of-type(1) { background: none; }
#history_list li:nth-of-type(2),
#history_list td:nth-of-type(2) { background: #aab9f4; }
#history_list li:nth-of-type(3),
#history_list td:nth-of-type(3) { background: #96cdff; }
#history_list .fix { position: fixed!important; z-index: 2; top: 60px; }
#history_list .flb { display: flex; }
#history_list ul.fix { left: 0; width: 100%; }
#history_list li { position: relative; z-index: -1; padding: 1rem 0.5rem; font-size: 1.8rem; color: #fff; }
#history_list li::after { position: absolute; z-index: -1; top: 0; left: 0; content:""; display: block; width: 100%; height: 100%; background: rgba(0, 33, 86, 0.7); }
#history_list li span { position: relative; z-index: 2; padding-left: 1.5rem; }
#history_list li span::before { position: absolute; top: 50%; left: 0.5rem; content: ""; width: 6px; height: 1em; border-left: 6px solid; transform: translateY(-50%); }
#history_list li:nth-of-type(1) span::before { border-color: #76d7de; }
#history_list li:nth-of-type(2) span::before { border-color: #aab9f4; }
#history_list li:nth-of-type(3) span::before { border-color: #96cdff; }
#history_list li:not(:nth-last-of-type(1)),
#history_list td:not(:nth-last-of-type(1)) { max-width: 75px; min-width: 75px; text-align: center; }
#history_list li:nth-last-of-type(1) { width: 100%; padding-left: 2rem; }
#history_list tr { border: none; }
#history_list td { display: table-cell; padding: 1rem 0.5rem; line-height: 1.2; }
#history_list td:nth-last-of-type(1) { width: 100%; padding: 2rem; }
#history_list table tr.bg_filter td::after { position: absolute; z-index: -1; top: 0; left: 0; content:""; display: block; width: 100%; height: 100%; background: rgba(255, 255, 255, 0.26); }
#history_list .sp_only .img_box { text-align: center; }

@media screen and ( min-width: 481px ) {
	#history_list figcaption { height: 70px; line-height: 45px; font-size: 2.2rem; max-width: 548px; left: 50%; transform: translateX(-50%); }
	#history_list li span::before { left: 0; }
	#history_list li:not(:nth-last-of-type(1)),
	#history_list td:not(:nth-last-of-type(1)) { max-width: 115px; min-width: 115px; }
	#history_list td { line-height: inherit; }
	#footer { margin: 0; }
}

@media screen and ( min-width: 981px ) {
	#history_list .sp_only { display: none; }
	#history_list .img_wrap.fix { top: 70px; padding-top: 0; }
	#history_list .img_wrap .disp_off { display: none; }

	#history_list figcaption { position: absolute; bottom: 0; left: 0; width: 100%; padding: 1rem 0 1rem 1rem;     font-size: 0.85vw; color: #fff; background: rgba(0, 0, 0, 0.75); transform: none; height: auto; line-height: 1.5; }
	#history_list figcaption small { font-size: 1.1rem; }
	#history_list li:not(:nth-last-of-type(1)),
	#history_list td:not(:nth-last-of-type(1)) { width: 140px; min-width: 140px; text-align: left; }
	#history_list .sec_inner > ul li:nth-of-type(3) { background: none; }
	#history_list .sec_inner { display: flex; flex-wrap: wrap; }
	#history_list .sec_inner > ul { position: absolute; z-index: 2; top: 0; left: 0; width: 100%; height: 70px; }
	#history_list .sec_inner > ul.fix { left: 210px; width: 100%; }
	#history_list li { width: 100%; padding: 2rem 3rem; line-height: inherit; }
	#history_list .list_wrap { /*width: calc( 99.999% - 280px );*/ width: 100%; padding-top: 70px; background: #b1daff; }
	#history_list td { font-weight: 600; line-height: inherit; }
	#history_list td:not(:nth-last-of-type(1)) { text-align: center; }
	#history_list td:nth-last-of-type(1) { padding: 2rem 3rem; }
/*	#history_list .img_wrap { width: 280px; padding-top: 70px; background: #b1daff; }*/
	#history_list .img_wrap { max-width: 454px; width: 280px; padding-top: 70px; background: #b1daff; position: absolute; right: 0; top: 0; z-index: 1; }
	#history_list .img_wrap.fix { right: 0; }
	#history_list .img_wrap.fix_end { top: auto; bottom: 0; }
}

/* CRS */
#csr section h3 { position: relative; padding: 0.5rem 0 0.5rem 1em; background: #f2f4f7; margin-bottom: 3rem; }
#csr section h3::before { content:""; width: 5px; height: 100%; display: block; border-left: 5px solid #1982de; position: absolute; left: 0; top: 0; }
#csr section h4 { padding: 0.3rem 0 0 1.3em; position: relative; }
#csr section h4::before { content:""; width: 0.9em; height: 0.9em; display: block; background: #1982de; position: absolute; left: 0; top: 50%; transform: translateY(-50%); }

@media screen and (min-width: 481px) {
	#csr section h3,
	#csr section h4 { font-size: 2.5rem; }
}
@media screen and ( min-width: 981px ) {
	#csr section h3,
	#csr section h4 { font-size: 1.5rem; }
	#effort .effort_policy,
	#bcp_effort .bcp_effort_policy { margin-top: 5rem; }
	#bcp_effort .bcp_effort_policy p,
	#bcp_effort .bcp_effort_policy ul { margin: 3rem 0 5rem; }
}

/* blog */
#blog section#info { padding: 4rem 2rem 0; margin: 0 0 5rem; background: #fff; position: relative; z-index: 2; }
#blog .crumbList { display: none; }