@charset "UTF-8";


.pointer_events_none{pointer-events: none!important;}


/*-------------------------
__base_style
-------------------------*/

#wrap a{ text-decoration: none;}
.font_min_normal { font-family: "DM Sans", sans-serif; font-optical-sizing: auto; font-weight: 400; font-style: normal;}
.font_min_bold { font-family: "DM Sans", sans-serif; font-optical-sizing: auto; font-weight: 700; font-style: normal;}

.recruit_btn{ max-width: 270px; width: 100%;}
.recruit_btn a{ display: block; font-size: 1.7em; font-weight: 700; color: #fff; background-color: #417DC3; padding: 20px 80px 20px 20px; box-sizing: border-box; position: relative; border-radius: 5px; box-shadow: 3px 3px 3px #4D4D4D;}
.recruit_btn a img{ position: absolute; right: 0; bottom: 0;}

.voice_btn{ max-width: 270px; width: 100%;}
.voice_btn a{ display: block; font-size: 1.7em; font-weight: 700; color: #417DC3; background-color: #fff; padding: 20px 80px 20px 20px; box-sizing: border-box; position: relative; border-radius: 5px; box-shadow: 3px 3px 3px #4d4d4d;}
.main_img_bottom .voice_btn a{ background-color: #f2f2f2;}
.voice_btn a img{ position: absolute; right: 0; bottom: 0;}
@media screen and (max-width: 374px) {
.recruit_btn{ max-width: 260px;}
.recruit_btn a{ font-size: 1.6em;}

.voice_btn{ max-width: 260px;}
.voice_btn a{ font-size: 1.6em;}
}

/*-------------------------
__header
-------------------------*/

#wrap.contents #header{ display: flex; justify-content: space-between; padding: 20px; position: absolute; top: 0; left: 0; right: 0; z-index: 9;}
#wrap.contents #header .header_logo{ width: 180px; height: auto;}
#wrap.contents #header .header_logo a img{ width: 100%; height: auto;}
#wrap.contents #header .header_menu{ display: none;}
.sp_none{ display: none;}

/*-------------------------
__content
-------------------------*/

#page_ttl{ height: 220px; padding: 0 20px; position: relative;}
#page_ttl::before{ content: ""; display: block; margin: auto; background-color: rgba(77,77,77,0.4); position: absolute; top: 0; right: 0; bottom: 0; left: 0;}
#page_ttl .page_ttl_inner{ display: flex; -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; width: 100%; height: 100%; text-align: left; padding: 0 0 20px; box-sizing: border-box;}
#page_ttl .ttl{ font-size: 1.3em; color: #FFF; position: relative;}
#page_ttl .ttl span{display: block; font-size: 290%; letter-spacing: 0.05em; margin: 0 0 10px;}

.topic_path{ clear: both; padding: 10px 20px; border-bottom: 1px solid #e3e3e3;}
.topic_path ul{width:100%;text-align:left;}
.topic_path li{font-size:1.4em;line-height:1.4;font-weight:700;color:#000;vertical-align:top;display:inline-block;}
.topic_path li:before{content:">";color:#000;font-weight:400;margin-left:5px;margin-right:5px;}
.topic_path li:first-child:before{content:"";margin:0;}
.topic_path li a{font-weight:400;color:#04C;text-decoration:underline;}
.topic_path li a:hover{text-decoration:none;}

.page_inner{ padding:0 20px;}
.sub_ttl{ font-size: 2em; font-weight: 700;}

/*-------------------------
__footer
-------------------------*/

#footer{ background-color: #3C3C3C;}
#footer .footer_inner{ width: 100%; max-width: 1200px; margin: 0 auto; padding: 30px 20px; box-sizing: border-box; position: relative;}
#footer .footer_inner .footer_in_text{ font-size: 1.2em; line-height: 1.4em; color: #818181; text-align: left; margin-bottom: 40px;}
#footer .footer_inner .footer_top{ justify-content: space-between; align-items: center; margin-bottom: 30px;}
#footer .footer_inner .footer_top .logo{ width: 200px; height: auto; margin:0 auto 20px;}
#footer .footer_inner .footer_top .logo img{ width: 100%; height: auto;}
#footer .footer_inner .footer_top ul{ display: flex; align-items: center; justify-content: center;}
#footer .footer_inner .footer_top ul li:nth-child(-n+2){ border-right: 1px solid #969696;}
#footer .footer_inner .footer_top ul li{ padding: 0 15px; box-sizing: border-box;}
#footer .footer_inner .footer_top ul li a{ display: block; font-size: 1.2em; color: #969696;}
#footer .footer_inner .footer_center,
#footer .footer_inner .footer_search{ display: none;}
#footer .footer_inner .voice_btn{ margin: 0 auto 20px;}
#footer .footer_inner .voice_btn a{ box-shadow: 3px 3px 3px #2f2f2f;}
#footer .footer_inner .recruit_btn{ margin: 0 auto;}
#footer .footer_inner .recruit_btn a{ box-shadow: 3px 3px 3px #2f2f2f;}
#footer .footer_copylight{ background-color: #333333;}
#footer .footer_copylight .footer_copylight_inner{ width: 100%; max-width: 1100px; margin: 0 auto; padding: 20px 0; box-sizing: border-box; display: block;}
#footer .footer_copylight .footer_copylight_inner ul{ display: flex; justify-content: center; margin-bottom: 20px;}
#footer .footer_copylight .footer_copylight_inner ul li{ padding: 0 10px; box-sizing: border-box;}
#footer .footer_copylight .footer_copylight_inner ul li:nth-child(1){ border-right: 1px solid #969696;}
#footer .footer_copylight .footer_copylight_inner ul li a{ font-size: 1.2em; color: #969696;}
#footer .footer_copylight .footer_copylight_inner p{ font-size: 1.2em; color: #969696;}

/*-------------------------
__drawer
-------------------------*/

#toggle { position: fixed; top: 0; left: 0; right: 0; width: 100%; min-width: 100%; text-align: right;}
#toggle .toggle_inner{ cursor: pointer; position: absolute; top: 20px; right: 20px; width: 44px; height: 44px; box-sizing: border-box; cursor: pointer; border-radius: 5px;}
#toggle .toggle_inner:before{ content:''; width: 44px; height: 44px; background-color: #005196; position: absolute; top: 0; right: 0; border-radius: 5px;}
#toggle-box { position: relative; width: 16px; height: 16px; top: 15px; left: 15px;}
#toggle-box > span { width: 100%; height: 2px; left: 0; display: block; background: #fff; position: absolute; transition: transform .6s ease-in-out, top .5s ease, bottom .5s ease;}
#toggle-box > span:nth-child(1) { top: 0;}
#toggle-box > span:nth-child(2) { top: 50%; transform: translatey(-50%);}
#toggle-box > span:nth-child(3) {  bottom: 0;}
.is-open #toggle-box > span { background: #fff;}
.is-open #toggle-box > span:nth-child(1) { top: 50%; left: -1px; transform: rotate(45deg) translatey(-50%);}
.is-open #toggle-box > span:nth-child(2) { width: 0;}
.is-open #toggle-box > span:nth-child(3) { top: 50%; transform: rotate(-45deg) translatey(-50%);}
#toggle { z-index: 1000;}
#wrap { position: relative; z-index: 990;}
#asp_wrap .asp_fix_inq_box { z-index: 991!important;}
#wrap.back{ z-index: 889;}

#nav-content{will-change: transform; z-index: 900; overflow: auto; width: 100%; height: 100%; background-color: rgba(0,0,0,0.9); color: #fff; position: fixed; top: 0; left: 0; text-align: center; opacity: 0; transition: opacity .6s ease, visibility .6s ease; -webkit-backface-visibility: hidden; backface-visibility: hidden;}
.is-open { overflow: hidden;}
.is-open #nav-content { z-index: 999; visibility: visible; opacity: 1;}
.is-open #nav-content a { pointer-events: auto;}

#nav-content a{ text-decoration: none;}
#nav-content .inner{ width: 100%; max-width: 1200px; margin: 0 auto; padding: 60px 20px 40px; box-sizing: border-box; position: relative;}

#nav-content .inner .nav_top{ display: block; justify-content: space-between; margin-bottom: 40px;}
#nav-content .inner .nav_top .nav_logo{ margin: 0 auto 25px; width: 70%; height: auto;}
#nav-content .inner .nav_top .nav_logo a img{ width: 100%; height: auto;}
#nav-content .inner .nav_top .mysearch_menu{ display: block; text-align: center; justify-content: center; margin-bottom: 30px;}
#nav-content .inner .nav_top .mysearch_menu ul{ display: flex; justify-content: center; margin-bottom: 30px; align-items: center;}
#nav-content .inner .nav_top .mysearch_menu ul li:nth-child(-n+2){ border-right: 1px solid #fff;}
#nav-content .inner .nav_top .mysearch_menu ul li{ padding: 0 15px; box-sizing: border-box;}
#nav-content .inner .nav_top .mysearch_menu ul li a{ display: block; font-size: 1.2em; color: #fff;}
#nav-content .inner .nav_top .mysearch_menu .contact_btn{ position: relative; width: 170px; display: flex; flex-direction: column; justify-content: center; align-items: center; margin: 0 auto;}
#nav-content .inner .nav_top .mysearch_menu .contact_btn p.contact_fukidashi{ margin-bottom: 10px;}
#nav-content .inner .nav_top .mysearch_menu .contact_btn p.contact_fukidashi span{ color: #FFDD17; font-size: 1.2em; display: block; position: relative; padding: 0 5px; box-sizing: border-box;}
#nav-content .inner .nav_top .mysearch_menu .contact_btn p.contact_comment{ margin-top: 10px;}
#nav-content .inner .nav_top .mysearch_menu .contact_btn p.contact_comment span{ color: #FFDD17; font-size: 1.2em; display: block; position: relative; padding: 0 5px; box-sizing: border-box;white-space: nowrap;}
#nav-content .inner .nav_top .mysearch_menu .contact_btn p.contact_fukidashi span::before,
#nav-content .inner .nav_top .mysearch_menu .contact_btn p.contact_fukidashi span::after{ content: ""; display: inline-block; background: #FFDD17; width: 1px; position: absolute; height: 20px; bottom: -5px;}
#nav-content .inner .nav_top .mysearch_menu .contact_btn p.contact_fukidashi span::before{ left: 0; transform: rotate(-20deg);}
#nav-content .inner .nav_top .mysearch_menu .contact_btn p.contact_fukidashi span::after{ right: 0; transform: rotate(20deg);}
#nav-content .inner .nav_top .mysearch_menu .contact_btn a{ display: block; font-size: 1.5em; background-color: #FFDD17; color: #000; width: 160px; line-height: 3em; border-radius: 5px; font-weight: 700;}

#nav-content .inner .nav_center{ display: block; margin-bottom: 0; justify-content: center; text-align: left;}
#nav-content .inner .nav_center .nav_link_block{ margin-right: 0; margin-bottom: 20px; padding-bottom: 20px; border-bottom: 1px solid #444;}
#nav-content .inner .nav_center .nav_link_block:last-child{ margin-right: 0;}
#nav-content .inner .nav_center .nav_link_block > p{ font-size: 1.6em; color: #fff; font-weight: 700; margin-bottom: 10px;}
#nav-content .inner .nav_center .nav_link_block ul.gray_link{}
#nav-content .inner .nav_center .nav_link_block ul.gray_link li{ display: inline-block; margin-bottom: 0; margin-right: 20px; margin-top:10px;}
#nav-content .inner .nav_center .nav_link_block ul.gray_link li a{ font-size: 1.4em; color: #969696;}
#nav-content .inner .nav_center .nav_link_block .syubetsu{ display: flex; flex-wrap: wrap; width: 100%; margin-left: 20px;}
#nav-content .inner .nav_center .nav_link_block .syubetsu .syubetsu_box{ margin-bottom: 0; margin-top: 15px;}
#nav-content .inner .nav_center .nav_link_block .syubetsu .syubetsu_box > p{ font-size: 1.4em; font-weight: 700; color: #fff; margin-bottom: 0; margin-top: 5px;}
#nav-content .inner .nav_center .nav_link_block .syubetsu .syubetsu_box:nth-child(odd){ margin-right: 0;}
#nav-content .inner .nav_center .nav_link_block .syubetsu .syubetsu_box ul.gray_link li{ margin-bottom: 0;}
#nav-content .inner .nav_center .nav_link_block ul.white_link{ display: flex; flex-wrap: wrap;}
#nav-content .inner .nav_center .nav_link_block ul.white_link li{ display: inline-block; width: 50%; margin-bottom: 25px;}
#nav-content .inner .nav_center .nav_link_block ul.white_link li:last-child{ margin-bottom: 0;}
#nav-content .inner .nav_center .nav_link_block ul.white_link li a{ font-size: 1.4em; color: #fff; font-weight: 700;}
#nav-content .inner .voice_btn{ margin: 0 auto 20px;}
#nav-content .inner .voice_btn a{ box-shadow: none;}
#nav-content .inner .recruit_btn{ margin: 0 auto;}
#nav-content .inner .recruit_btn a{ box-shadow: none;}

#nav-content .inner .nav_search{ display: block; margin-bottom: 30px; justify-content: center; text-align: left;}
#nav-content .inner .nav_search .nav_link_block{ margin-right: 0; margin-bottom: 30px; padding-bottom: 10px; border-bottom: 1px solid #444;}
#nav-content .inner .nav_search .nav_link_block:last-child{ margin-right: 0;}
#nav-content .inner .nav_search .nav_link_block > p{ font-size: 1.6em; color: #fff; font-weight: 700; margin-bottom: 20px;}
#nav-content .inner .nav_search .nav_link_block .ns_list .ns_list_box{ margin-bottom: 20px;}
#nav-content .inner .nav_search .nav_link_block .ns_list .ns_list_box p{ font-size: 1.4em; color: #fff; font-weight: 700; margin-bottom: 10px;}
#nav-content .inner .nav_search .nav_link_block ul.gray_link{ display: flex; flex-wrap: wrap;}
#nav-content .inner .nav_search .nav_link_block ul.gray_link li{ display: inline-block; margin-top:5px; width: 50%;}
#nav-content .inner .nav_search .nav_link_block ul.gray_link li a{ font-size: 1.2em; color: #969696;}
#nav-content .inner .nav_search .nav_link_block .syubetsu{ display: flex; flex-wrap: wrap; width: 100%; margin-left: 20px;}
#nav-content .inner .nav_search .nav_link_block .syubetsu .syubetsu_box{ margin-bottom: 0; margin-top: 15px;}
#nav-content .inner .nav_search .nav_link_block .syubetsu .syubetsu_box > p{ font-size: 1.4em; font-weight: 700; color: #fff; margin-bottom: 0; margin-top: 5px;}
#nav-content .inner .nav_search .nav_link_block .syubetsu .syubetsu_box:nth-child(odd){ margin-right: 0;}
#nav-content .inner .nav_search .nav_link_block .syubetsu .syubetsu_box ul.gray_link li{ margin-bottom: 0;}
#nav-content .inner .nav_search .nav_link_block ul.white_link li{ margin-bottom: 25px;}
#nav-content .inner .nav_search .nav_link_block ul.white_link li:last-child{ margin-bottom: 0;}
#nav-content .inner .nav_search .nav_link_block ul.white_link li a{ font-size: 1.4em; color: #fff; font-weight: 700;}
@media screen and (max-width: 549px) {
#nav-content .inner .nav_search .nav_link_block ul.gray_link li{ width: 100%;}
}
@media screen and (max-width: 374px) {
#toggle .toggle_inner{ right: 20px;}
}

.re_top{display:none;height:44px;width:44px;overflow:hidden;position:fixed;z-index:9999;right:20px;bottom:20px;}
.re_top a span{ display: inline-block; padding:0; color: #000; vertical-align: middle; text-decoration: none;}
.re_top a span::before,
.re_top a span::after{ position: absolute; top: 0; bottom: 0; left: 0; margin: auto; content: ""; vertical-align: middle;}
.re_top a span::before{ box-sizing: border-box; width: 44px; height: 44px; border: 1px solid #005196; background-color: #fff; border-radius: 5px;}
.re_top a span::after{ top: 6px; left: 16px; width: 11px; height: 11px; border-top: 1px solid #005196; border-right: 1px solid #005196; -webkit-transform: rotate(-45deg); transform: rotate(-45deg);}

/*-------------------------
__asp
-------------------------*/
#asp_wrap #content{ padding-top: 90px; box-sizing: border-box;}
#asp_wrap .re_top{ bottom: 80px!important;}
#asp_wrap .asp_ins_map_btn{ z-index: 991!important;}

/*-------------------------
__error
-------------------------*/

.error #page_ttl{ background: url(/images/page_ttl_error.jpg) no-repeat center / cover;}

.error .error_inbox{ margin: 50px auto 50px;}
.error .error_inbox h2{ line-height: 1.6; margin-bottom: 15px;}
.error .error_inbox p{ font-size: 1.4em; line-height: 1.6; margin-bottom: 20px;}
.error .error_inbox a{ display: inline-block; font-size: 1.4em; color: #0055A0; border: 2px solid #0055A0; padding: 15px 20px; border-radius: 8px; font-weight: 700;}

