@charset "utf-8";
/*------------------------  company  ------------------------*/


/*-----  title  -----*/
#company .title_content { position: relative; height: 88px; }
#company .title_content .title_block { position: absolute; top: 14px; left: 50%; display: flex; justify-content: center; align-items: center; flex-direction: column; width: 100%; height: 120px; font-weight: 700; line-height: 1.3; text-align: center; transform: translate(-50%,0); z-index: 101; }
#company .title_content .title { font-size: 32px; }
#company .chapter { position: -webkit-sticky; position: sticky; top: 0; padding: 61px 0 0; z-index: 100; }
#company .chapter .chapter_nav { display: flex; justify-content: center; align-items: center; background: #e6e6e6; font-weight: 700; font-size: 15px; line-height: 1.3; }
#company .chapter .chapter_nav .chapter_item { margin: 0 60px; }
#company .chapter .chapter_nav .link { position: relative; display: flex; justify-content: center; align-items: center; height: 54px; text-align: center; }
#company .chapter .chapter_nav .link .sp { display: none; }
#company .chapter .chapter_nav .link:hover { opacity: 1; color: #a00e14; }
#company .chapter .chapter_nav .active { color: #a00e14; }


@media screen and (max-width: 840px) {

 #company .title_content { height: 28px; }
 #company .title_content .title_block { top: 11px; height: 60px; }
 #company .title_content .title { font-size: 24px; }
 #company .chapter { padding: 55px 0 0; }
 #company .chapter .chapter_nav { padding: 0 6%; font-size: 12px; }
 #company .chapter .chapter_nav .chapter_item { flex-basis: calc(100% / 3); margin: 0; }
 #company .chapter .chapter_nav .link { height: 50px; }
 #company .chapter .chapter_nav .link .sp { display: block; }

}



/*-----  company title  -----*/
#company .company_content {}
#company .company_content .title { padding: 0 5%; }
#company .company_content .title .title_inner { display: flex; align-items: center; margin: 0 auto; max-width: 1120px; height: 200px; }
#company .company_content .title .head { font-weight: 700; font-size: 34px; line-height: 1.3; color: #fff; text-shadow: rgb(0,0,0,.4) 0 1px 8px; }

@media screen and (max-width: 840px) {

 #company .company_content .title .title_inner { height: 100px; }
 #company .company_content .title .head { font-size: 24px; }

}



/*-----  message  -----*/
#company .message_content {}
#company .message_content .message_title { background: url(/images/company/message_title.jpg) no-repeat center; background-size: cover; }
#company .message_content .message { padding: 0 5%; }
#company .message_content .message .message_block { margin: 0 auto; padding: 80px 0 120px; max-width: 940px; }
#company .message_content .message .txt_block { margin: 0 0 80px; }
#company .message_content .message .txt_block:last-of-type { margin: 0; }
#company .message_content .message .txt_block .copy { margin: 0 0 35px; font-weight: 700; font-size: 32px; line-height: 1.5; color: #019dcd; }
#company .message_content .message .txt_block .txt { font-size: 17px; line-height: 1.9; }


@media screen and (max-width: 840px) {

 #company .message_content .message .message_block { padding: 40px 0 60px; }
 #company .message_content .message .txt_block { margin: 0 0 40px; }
 #company .message_content .message .txt_block .copy { margin: 0 0 22px; font-size: 22px; }
 #company .message_content .message .txt_block .txt { font-size: 15px; line-height: 1.8; }

}



/*-----  profile  -----*/
#company .profile_content {}
#company .profile_content .profile_title { background: url(/images/company/profile_title.jpg) no-repeat center; background-size: cover; }
#company .profile_content .profile { padding: 0 5%; }
#company .profile_content .profile .profile_block { margin: 0 auto; padding: 80px 0 110px; max-width: 1120px; }
#company .profile_content .profile .table {}
#company .profile_content .profile .table .link { text-decoration: underline; color: #a00e14; }
#company .profile_content .profile .table .item { display: flex; align-items: center; padding: 20px 10px; border-bottom: 1px solid #e6e6e6; font-size: 15px; line-height: 1.8; }
#company .profile_content .profile .table .item:first-of-type { border-top: 1px solid #e6e6e6; }
#company .profile_content .profile .table .name { flex-basis: 18%; font-weight: 500; }
#company .profile_content .profile .table .data { flex-basis: 82%; }
#company .profile_content .profile .table .data .list { margin-left: 1.2em; list-style: disc; }
#company .profile_content .profile .table .data .mgr { display: flex; }
#company .profile_content .profile .table .data .mgr_position { flex-basis: 150px; }
#company .profile_content .profile .table .data .mgr_name { flex: 1; }
#company .profile_content .profile .table .data .starts {}
#company .profile_content .profile .table .data .starts .link { display: flex; align-items: center; text-decoration: none; color: #111; }
#company .profile_content .profile .table .data .starts_logo { flex-basis: 148px; margin: 4px 0; }
#company .profile_content .profile .table .data .starts_name { padding: 0 0 0 20px; }

#company .profile_content .access_title { background: url(/images/company/access_title.jpg) no-repeat center; background-size: cover; }
#company .profile_content .access { padding: 0 5%; }
#company .profile_content .access .access_block { margin: 0 auto; padding: 80px 0 110px; max-width: 1120px; }
#company .profile_content .access .route { margin: 0 0 40px; font-size: 15px; line-height: 1.5; }
#company .profile_content .access .route .list { margin-left: 1.2em; padding: 0 0 8px; list-style: disc; }
#company .profile_content .access .map { height: 500px; }


@media screen and (max-width: 840px) {

 #company .profile_content .profile .profile_block { padding: 40px 0 60px; }
 #company .profile_content .profile .table .item { display: block; padding: 15px 0; font-size: 14px; line-height: 1.6; }
 #company .profile_content .profile .table .data { padding: 4px 0 0; }
 #company .profile_content .profile .table .data .mgr { display: flex; }
 #company .profile_content .profile .table .data .mgr_position { flex-basis: 130px; }
 #company .profile_content .profile .table .data .starts_logo { flex-basis: 124px; }
 #company .profile_content .profile .table .data .starts_name { padding: 0 0 0 14px; }

 #company .profile_content .access .access_block { padding: 40px 0 60px; }
 #company .profile_content .access .route { margin: 0 0 20px; font-size: 14px; }
 #company .profile_content .access .map { height: 380px; }

}



/*-----  history  -----*/
#company .history_content {}
#company .history_content .history_title { background: url(/images/company/history_title.jpg) no-repeat center; background-size: cover; }
#company .history_content .history { padding: 0 5%; }
#company .history_content .history .history_block { margin: 0 auto; padding: 80px 0 110px; max-width: 1120px; }

#company .history_content .table { position: relative; }
#company .history_content .table::before { content: ''; position: absolute; top: 0; left: 50%; width: 70px; height: 100%; background: #f6f6f6; transform: translate(-50%, 0); }
#company .history_content .table .block { display: flex; position: relative; }
#company .history_content .table .pro_ttl { flex: 1; padding: 0 30px 0 0; }
#company .history_content .table .evt_ttl { flex: 1; padding: 0 0 0 30px; }
#company .history_content .table .ttl { padding: 0 0 13px; border-bottom: 1px solid #111; font-weight: 700; font-size: 22px; line-height: 1.3; text-align: center; }
#company .history_content .table .year_ttl { width: 70px; }
#company .history_content .table .pro { flex: 1; padding: 40px 30px 40px 0; border-bottom: 1px solid #e6e6e6; }
#company .history_content .table .evt { flex: 1; padding: 40px 0 40px 30px; border-bottom: 1px solid #e6e6e6; }
#company .history_content .table .year { padding: 42px 0; width: 70px; border-bottom: 1px solid #e6e6e6; font-family: 'Roboto', sans-serif; font-weight: 500; font-size: 22px; text-align: center; }

#company .history_content .table .box {}
#company .history_content .table .box:not(:last-of-type) { margin: 0 0 40px; }
#company .history_content .table .box .txt { position: relative; padding: 0 0 0 12px; font-size: 15px; line-height: 1.5; }
#company .history_content .table .box .txt::before { content: ''; position: absolute; top: 4px; left: 0; width: 3px; height: 16px; background: #a00e14; }
#company .history_content .table .box .txt .sub { font-size: 12px; }
#company .history_content .table .box .detail { display: flex; align-items: flex-end; margin: 22px 0 0; padding: 0 0 0 12px; }
#company .history_content .table .box .detail .detail_img { flex-basis: 160px; }
#company .history_content .table .box .detail .detail_link { flex-basis: 230px; padding: 0 0 0 15px; }
#company .history_content .table .box .detail .detail_link .link { display: flex; justify-content: center; align-items: center; padding: 0 14px; height: 44px; background: #fff; border: 1px solid #ddd; font-weight: 700; font-size: 13px; line-height: 1.3; border-radius: 3px; }
#company .history_content .table .box .detail .detail_link .link .link_label { position: relative; padding: 0 8px 0 0; }
#company .history_content .table .box .detail .detail_link .link .link_label::after { content: ''; position: absolute; top: 50%; right: -2px; width: 6px; height: 6px; border-top: 1px solid #a00e14; border-right: 1px solid #a00e14; transform: translate(0, -50%) rotate(45deg); }
#company .history_content .table .box .detail .evt_img img { width: auto; height: 136px; }

@media screen and (max-width: 840px) {

 #company .history_content .history { padding: 0 3%; }
 #company .history_content .history .history_block { padding: 40px 0 60px; }

 #company .history_content .table::before { width: 40px; }
 #company .history_content .table .pro_ttl { padding: 0 10px 0 0; }
 #company .history_content .table .evt_ttl { padding: 0 0 0 10px; }
 #company .history_content .table .ttl { padding: 0 0 10px; font-size: 15px; }
 #company .history_content .table .year_ttl { width: 40px; }
 #company .history_content .table .pro { flex: 1; padding: 22px 10px 22px 0; }
 #company .history_content .table .evt { flex: 1; padding: 22px 0 22px 10px; }
 #company .history_content .table .year { padding: 26px 0; width: 40px; font-size: 14px; }

 #company .history_content .table .box:not(:last-of-type) { margin: 0 0 20px; }
 #company .history_content .table .box .txt { position: relative; padding: 0 0 0 8px; font-size: 14px; line-height: 1.4; }
 #company .history_content .table .box .txt::before { width: 2px; height: 15px; }
 #company .history_content .table .box .txt .sub { font-size: 12px; }
 #company .history_content .table .box .detail { display: block; align-items: flex-end; margin: 18px 0 0; padding: 0 0 0 8px; }
 #company .history_content .table .box .detail .detail_img { padding: 0 3%;}
 #company .history_content .table .box .detail .detail_link { padding: 15px 3% 0; }
 #company .history_content .table .box .detail .detail_link .link { padding: 0 10px; height: 42px; font-size: 12px; }
 #company .history_content .table .box .detail .evt_img img { height: 136px; }

}





