@charset "UTF-8";

:root {
    --main_blue: #0062b1;
    --base_navy: #23374b;
    --line_skyblue: #bad8f2;
}

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

#content{ color: var(--base_navy); text-align: left;}
a{ text-decoration: none;}
.en_text{ font-family: "Geologica", sans-serif; font-optical-sizing: auto;　　font-weight: 400; font-style: normal; font-variation-settings: "slnt" 0, "CRSV" 0, "SHRP" 0;}
@media screen and (max-width:999px){
.tab_none{ display: none;}
}
@media screen and (min-width: 768px) {
a[href^="tel:"] { pointer-events: none; cursor: default;}
.pc_none{ display: none;}
}
@media screen and (max-width: 767px) {
/*#wrap{ overflow-x: hidden;}*/
.sp_none{ display: none;}
}


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

#header{ position: absolute; top: 0; width: 100%; z-index: 50;}
#header .inner .header_menu{ display: flex; justify-content: space-between; align-items: center; padding: 20px 50px; box-sizing: border-box;}
#header .inner .header_menu .header_title{ width: 315px; height: 32px; margin-right: 10px;}
#header .inner .header_menu .header_title a,
#header .inner .header_menu .header_title span{ width: 100%; display: inline-block; margin-right: 20px;}
#header .inner .header_menu .header_title img{ filter: invert(100%) sepia(0%) saturate(4650%) hue-rotate(342deg) brightness(111%) contrast(100%)/*white*/;}
#header .inner .header_menu nav{ width: calc(100% - 335px); display: flex; justify-content: flex-end; align-items: center;}
#header .inner .header_menu nav ul{ width: calc(100% - 160px); display: flex; flex-wrap: wrap; justify-content: flex-end; margin-right: 25px;}
#header .inner .header_menu nav ul li{ margin: 5px 12px;}
#header .inner .header_menu nav ul li a{ font-size: 1.4em; line-height: 1em; color: #fff; font-weight: 700;}
#header .inner .header_menu nav .entry{ width: 160px; height: 64px;}
#header .inner .header_menu nav .entry a{ display: block; height: 100%; color: #fff; position: relative; z-index: 0; font-size: 2em;}
#header .inner .header_menu nav .entry a::before,
#header .inner .header_menu nav .entry a::after{ content: ''; position: absolute; top: 0; left: 0; display: block; width: 100%; height: 100%;}
#header .inner .header_menu nav .entry a::before{ transition: all 0.6s; z-index: -1; background: linear-gradient(135deg, #46a3ee 0%, #0062b1 100%);}
#header .inner .header_menu nav .entry a::after{ z-index: -2; background: linear-gradient(135deg, #8bc4ff 0%, #0087d2 100%);}
#header .inner .header_menu nav .entry a > span{ display: inline-block; width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);}
#header .inner .header_menu nav .entry a > span span{ display: block; font-size: .6em; margin-top: 3px;}

#fixed_header{ position: fixed; top: -90px; width: 100%; transition: .5s; z-index: 100;}
#fixed_header.is-show{ top: 0;}
#fixed_header .inner{ background-color: #fff; padding: 20px 30px; box-sizing: border-box;}
#fixed_header .inner .header_menu{ display: flex; align-items: center; justify-content: space-between;}
#fixed_header .inner .header_menu .header_title{ width: 270px; height: 27px; margin-right: 10px;}
#fixed_header .inner .header_menu .header_title a{ display: block;}
#fixed_header .inner .header_menu .header_title img{ filter: invert(28%) sepia(87%) saturate(1398%) hue-rotate(185deg) brightness(85%) contrast(105%)/*blue*/;}
#fixed_header .inner .header_menu nav{ width: calc(100% - 270px); display: flex; justify-content: flex-end; align-items: center;}
#fixed_header .inner .header_menu nav ul{ display: flex; align-items: center; margin-right: 25px; flex-wrap: wrap; justify-content: flex-end;}
#fixed_header .inner .header_menu nav ul li{ margin: 5px 12px; box-sizing: border-box;}
#fixed_header .inner .header_menu nav ul li a{ font-size: 1.4em; line-height: 1em; font-weight: 700; color: var(--base_navy);}
#fixed_header .inner .header_menu nav ul li a span.jp_text{}
#fixed_header .inner .header_menu nav .entry{ width: 130px; height: 50px;}
#fixed_header .inner .header_menu nav .entry a{ display: block; height: 100%; color: #fff; position: relative; z-index: 0; font-size: 1.7em;}
#fixed_header .inner .header_menu nav .entry a::before,
#fixed_header .inner .header_menu nav .entry a::after{ content: ''; position: absolute; top: 0; left: 0; display: block; width: 100%; height: 100%;}
#fixed_header .inner .header_menu nav .entry a::before{ transition: all 0.6s; z-index: -1; background: linear-gradient(135deg, #46a3ee 0%, #0062b1 100%);}
#fixed_header .inner .header_menu nav .entry a::after{ z-index: -2; background: linear-gradient(135deg, #8bc4ff 0%, #0087d2 100%);}
#fixed_header .inner .header_menu nav .entry a > span{ display: inline-block; width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);}
#fixed_header .inner .header_menu nav .entry a > span span{ display: block; font-size: .6em; margin-top: 3px;}

@media screen and (max-width:999px){
#header .inner .header_menu{ width: 100%; padding: 20px 30px;}
#header .inner .header_menu .header_title{ width: 220px;}
#header .inner .header_menu nav{ width: calc(100% - 220px);}
#header .inner .header_menu nav ul{ width: calc(100% - 130px); margin-right: 15px;}
#header .inner .header_menu nav ul li,
#fixed_header .inner .header_menu nav ul li{ margin: 5px 10px;}
#header .inner .header_menu nav ul li a{ font-size: 1.2em;}
#header .inner .header_menu nav ul li a span.en_text,
#fixed_header .inner .header_menu nav ul li a{ font-size: 1.2em;}
#header .inner .header_menu nav .entry{ width: 130px; height: 50px;}
#header .inner .header_menu nav .entry a{ font-size: 1.7em;}

#fixed_header .inner .header_menu .header_title{ width: 220px;}
#fixed_header .inner .header_menu nav{ width: calc(100% - 220px);}
#fixed_header .inner .header_menu nav ul{ width: calc(100% - 130px); margin-right: 15px;}
}

@media screen and (min-width: 768px) {
#header{ height: 130px;}
#toggle,
#nav-content,
.hamburger,
#sp_header{ display: none;}
.sp_only{ display: none;}
#header .inner .header_menu nav ul li a,
#fixed_header .inner .header_menu nav ul li a{ transition: .2s;}
#header .inner .header_menu nav ul li a:hover,
#fixed_header .inner .header_menu nav ul li a:hover{ opacity: 0.4;}
#header .inner .header_menu nav ul li a span.en_text{ display: none;}
.pc_none{ display: none;}
#header .inner .header_menu nav .entry a:hover::before,
#fixed_header .inner .header_menu nav .entry a:hover::before{ opacity: 0;}
}

@media screen and (max-width:999px) and (min-width: 768px){
.tab_none{ display: none;}
}

@media screen and (max-width: 767px) {
#sp_header{ width: 100%; height: 80px; position: absolute; top: 0; z-index: 50; padding: 30px; box-sizing: border-box;}
#sp_header .header_logo{ display: flex; padding: 30px 0 0 30px;}
#sp_header .header_logo a{ display: block; width: 200px; height: auto; margin-right: 10px;}
#sp_header .header_logo p{ width: 90px; height: auto;}
#sp_header .header_logo a img,
#sp_header .header_logo p img{ filter: invert(100%) sepia(0%) saturate(4650%) hue-rotate(342deg) brightness(111%) contrast(100%)/*white*/;}
#header{ position: fixed;}
#header .inner .header_menu{ padding: 30px 0;}
#header .inner .header_menu{ position: static; transform: initial; background-color: inherit; height: inherit; justify-content: end; transition: ease .4s;}
#header .inner .header_menu{ position: absolute; right: 0; left: 0; top: 0; transform: translateX(100%); background-color: rgba(35,55,75,0.9); height: 100vh; width: 100%; display: block;}
#header .inner .header_menu .header_title{ width: calc(100% - 40px); margin:25px auto; justify-content: center;}
#header .inner .header_menu .header_title a{ margin-right: 0;}

#header,
#fixed_header{ display: none;}

#wrap.contents #sp_header{ margin-top: -80px!important;}
#sp_header .header_title{}
#sp_header .header_title a{ display: block; width: 200px; height: auto;}
#sp_header .header_title a img{ filter: invert(100%) sepia(0%) saturate(4650%) hue-rotate(342deg) brightness(111%) contrast(100%)/*white*/;}
/*スマホ用メニュー*/
#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: 46px; height: 46px; box-sizing: border-box; cursor: pointer;}
#toggle .toggle_inner:before{ content:''; width: 44px; height: 44px; background-color: var(--base_navy); position: absolute; top: 0; right: 0; border-radius: 50vh;}
#toggle-box { position: relative; width: 16px; height: 16px; top: 15px; left: 16px;}
#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(35, 55, 75, 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 .inner .sp_menu{ width: 100%; display: block;}
#nav-content .inner .sp_menu .sp_menu_inner{}
#nav-content .inner .sp_menu .sp_menu_inner .logo{ width: calc(100% - 40px); margin: 75px auto 20px; justify-content: center;}
#nav-content .inner .sp_menu .sp_menu_inner .logo a{ display: inline-block; width: 240px; height: auto;}
#nav-content .inner .sp_menu .sp_menu_inner .logo a img{ filter: invert(100%) sepia(0%) saturate(4650%) hue-rotate(342deg) brightness(111%) contrast(100%)/*white*/;}
#nav-content .inner .sp_menu .sp_menu_inner nav .sp_menu01 ul { width: 100%; margin-bottom: 40px; justify-content: center; padding: 0 30px; box-sizing: border-box;}
#nav-content .inner .sp_menu .sp_menu_inner nav .sp_menu01 ul li{ width: 100%; margin:0; border-bottom: 1px solid rgba(255,255,255,0.4);}
#nav-content .inner .sp_menu .sp_menu_inner nav .sp_menu01 ul li a{ font-size: 1.4em; line-height: 1em; color: #fff; font-weight: 700; padding: 22px 0; display: flex; justify-content: space-between;}
#nav-content .inner .sp_menu .sp_menu_inner nav .sp_menu01 ul li a span.jp_text{ font-size: 1.2em;}
#nav-content .inner .sp_menu .sp_menu_inner nav .sp_menu01 ul li a span.en_text{ font-size: 0.9em;}
#nav-content .inner .sp_menu .sp_menu_inner nav .entry{ width: calc(100% - 60px); height: 64px; margin: 0 auto 40px;}
#nav-content .inner .sp_menu .sp_menu_inner nav .entry a{ display: block; height: 100%; color: #fff; background-image: linear-gradient(90deg, #46a3ee, #0062b1); position: relative; font-size: 2em;}
#nav-content .inner .sp_menu .sp_menu_inner nav .entry a > span{ display: inline-block; width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);}
#nav-content .inner .sp_menu .sp_menu_inner nav .entry a > span span{ display: block; font-size: .6em; margin-top: 3px;}
#nav-content .inner .sp_menu .sp_menu_inner nav .sp_menu02 ul{ margin-bottom: 50px;}
#nav-content .inner .sp_menu .sp_menu_inner nav .sp_menu02 ul li{ margin-bottom: 15px;}
#nav-content .inner .sp_menu .sp_menu_inner nav .sp_menu02 ul li a{ font-size: 1.4em; line-height: 1em; color: #fff;}
#nav-content .inner .sp_menu .sp_menu_inner nav .sp_menu02 ul li a span{ display: inline-block; position: relative; padding-right: 20px;}
#nav-content .inner .sp_menu .sp_menu_inner nav .sp_menu02 ul li a span:after{ content: ''; width: 12px; height: 12px; background-image: url(/images/icon_othersite@2x.png); background-size: contain; background-repeat: no-repeat; position: absolute; top: 50%; right: 0; transform: translateY(-50%);}

    
}

@media screen and (max-width:374px){
#sp_header .header_logo{ width: 230px;}
#header .inner .header_menu nav ul li a{ font-size: 1.3em;}
}


/*-------------------------
__content
-------------------------*/
#content #main{display:block;}
#wrap.contents #header .inner .header_menu .header_title.header_title_top{ display: none;}
#wrap.contents #header .inner .header_menu .header_title img{ filter: invert(28%) sepia(87%) saturate(1398%) hue-rotate(185deg) brightness(85%) contrast(105%)/*blue*/;}
#wrap.contents #header .inner .header_menu nav ul li a{ color: var(--base_navy);}
#wrap.contents #sp_header .header_title a img,
#wrap.contents #sp_header .header_title p img{ filter: invert(28%) sepia(87%) saturate(1398%) hue-rotate(185deg) brightness(85%) contrast(105%)/*blue*/;}
#wrap.contents #content{ margin-top: 160px;}
#wrap.contents #main{ padding: 0 50px; box-sizing: border-box;}
#wrap.contents #page_title{ width: 100%; max-width: 1200px; margin: 0 auto 80px;}
#wrap.contents #page_title .topic_path{clear:both;padding:0 0 20px;}
#wrap.contents #page_title .topic_path ul{width:100%;text-align:left; display: flex; justify-content: flex-end;}
#wrap.contents #page_title .topic_path li{font-size:1.4em;line-height:1.4;font-weight:700;vertical-align:top; color: #969699; margin-right: 40px; position: relative;}
#wrap.contents #page_title .topic_path li:before{content: ''; position: absolute; top: 50%; right: -30px; display: inline-block; width: 20px; height: 1px; background-color: #969699;}
#wrap.contents #page_title .topic_path li:last-child{ margin-right: 0;}
#wrap.contents #page_title .topic_path li:last-child:before{ content: ''; display: none;}
#wrap.contents #page_title .topic_path li a{font-weight:400;color:#969699;text-decoration:underline;}
#wrap.contents #page_title .topic_path li a:hover{text-decoration:none;}
#wrap.contents #page_title .title_en{ margin-bottom: 40px;}
#wrap.contents #page_title .title_en span{ font-size: 2em; color: var(--main_blue); display: inline-block; padding-left: 25px; position: relative;}
#wrap.contents #page_title .title_en span:before{ content: ''; display: block; width: 17px; height: 17px; border-radius: 50vh; background-color: var(--main_blue); position: absolute; top: 2px; left: 0;}
#wrap.contents #page_title .title_en span:after{ content: ''; display: block; width: 5px; height: 5px; border-radius: 50vh; background-color: #fff; position: absolute; top: 8px; left: 6px;}
#wrap.contents #page_title .basic_title{ font-size: 5em; font-weight: 700; margin-bottom: 80px; position: relative; z-index: 20;}
#wrap.contents #page_title .contents_visual{ position: relative;}
#wrap.contents #page_title .contents_visual .contents_en{ position: absolute; top: -150px; right: 0;}
#wrap.contents #page_title .contents_visual .contents_pic{ width: 100%; height: 300px; overflow: hidden;}
#wrap.contents #page_title .contents_visual .contents_pic img{ width: 100%; height: 300px; object-fit: cover;}
#wrap.contents .prologue_text{ text-align: center; font-size: 1.6em; line-height: 2em; font-weight: 700;}
#wrap.contents #bottom_contents{ background-color: #e0ecf8; position: relative; z-index: 1; padding: 0 50px; box-sizing: border-box; margin-top: 80px;}
#wrap.contents #bottom_contents:after{ content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-image: url(/images/grunge@2x.png); background-size: 620px 620px; background-repeat: repeat; z-index: 2;}
#wrap.contents #bottom_contents .bottom_contents_inner{ width: 100%; max-width: 1000px; margin: 0 auto; padding: 100px 0 235px; box-sizing: border-box;}
#wrap.contents #bottom_contents .bottom_contents_inner ul{ display: flex; justify-content: space-between; position: relative; z-index: 10;}
#wrap.contents #bottom_contents .bottom_contents_inner ul li{ width: calc((100% / 3) - 20px);}
#wrap.contents #bottom_contents .bottom_contents_inner ul li a{ background-color: #fff; display: flex; font-size: 1.6em; font-weight: 700; color: var(--base_navy);}
#wrap.contents #bottom_contents .bottom_contents_inner ul li a .img_photo{ width: 120px; height: 120px;}
#wrap.contents #bottom_contents .bottom_contents_inner ul li a .img_photo img{ width: 120px; height: 120px; object-fit: cover;}
#wrap.contents #bottom_contents .bottom_contents_inner ul li a p{ width: calc(100% - 120px); height: 120px; position: relative;}
#wrap.contents #bottom_contents .bottom_contents_inner ul li a p span{ display: inline-block; width: 100%; position:absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);}
#wrap.contents #footer_entry{ margin-top: -135px;}

@media screen and (max-width:999px){
#wrap.contents #content{ margin-top: 140px;}
#wrap.contents #page_title{ margin: 0 auto 50px;}
#wrap.contents #page_title .topic_path{padding:0 0 15px;}
#wrap.contents #page_title .topic_path li{font-size:1.3em;}
#wrap.contents #page_title .title_en{ margin-bottom: 30px;}
#wrap.contents #page_title .title_en span{ font-size: 1.8em;}
#wrap.contents #page_title .basic_title{ font-size: 3.8em; margin-bottom: 50px;}
#wrap.contents #page_title .contents_visual .contents_en{ width: 40%; top: -100px;}
#wrap.contents #page_title .contents_visual .contents_en img{ width: 100%; height: auto;}
#wrap.contents #page_title .contents_visual .contents_pic{ height: 250px;}
#wrap.contents #page_title .contents_visual .contents_pic img{ height: 250px;}
#wrap.contents .prologue_text{ font-size: 1.5em;}
}

@media screen and (max-width:999px) and (min-width: 768px){
#wrap.contents #bottom_contents{ margin-top: 50px;}   
#wrap.contents #bottom_contents .bottom_contents_inner{ padding: 50px 50px 185px;}
#wrap.contents #bottom_contents .bottom_contents_inner ul li a{ display: block;}
#wrap.contents #bottom_contents .bottom_contents_inner ul li a .img_photo{ width: 100%; height: 140px;}
#wrap.contents #bottom_contents .bottom_contents_inner ul li a .img_photo img{ width: 100%; height: 140px; object-fit: cover;}
#wrap.contents #bottom_contents .bottom_contents_inner ul li a p{ width: 100%; height: 50px;}
}

@media screen and (min-width: 768px) {
#wrap.contents #bottom_contents .bottom_contents_inner ul li a{ transition: .2s;}
#wrap.contents #bottom_contents .bottom_contents_inner ul li a:hover{ opacity: 0.6;}
}
    
@media screen and (max-width: 767px) {
#wrap.contents #header .inner .header_menu .header_title img{ filter: invert(100%) sepia(0%) saturate(4650%) hue-rotate(342deg) brightness(111%) contrast(100%)/*white*/;}
#wrap.contents #header .inner .header_menu nav ul li a{ color: #fff;}
#wrap.contents #content{ margin-top: 80px;}
#wrap.contents #main{ padding: 0 30px;}
#wrap.contents #page_title{ margin: 0 auto 50px;}
#wrap.contents #page_title .topic_path{padding:0 0 10px; width: 100%;}
#wrap.contents #page_title .topic_path ul{ width: 100%; overflow-x: scroll; padding: 5px 0; box-sizing: border-box;}
#wrap.contents #page_title .topic_path li{ font-size:1.1em; margin-right: 25px; white-space: nowrap;}
#wrap.contents #page_title .topic_path li:before{ content: ''; right: -18px; width: 10px;}
#wrap.contents #page_title .title_en{ margin-bottom: 15px;}
#wrap.contents #page_title .title_en span{ font-size: 1.5em; padding-left: 15px;}
#wrap.contents #page_title .title_en span:before{ width: 13px; height: 13px; top: 2px; left: 0;}
#wrap.contents #page_title .title_en span:after{ width: 3px; height: 3px; top: 7px; left: 5px;}
#wrap.contents #page_title .basic_title{ font-size: 2.8em; margin-bottom: 20px; position: relative; z-index: 5;}
#wrap.contents #page_title .contents_visual{ width: calc(100% + 60px); margin-left: -30px;}
#wrap.contents #page_title .contents_visual .contents_en{ width: 50%; top: auto; bottom: -50px; right: 10px; z-index: 1;}
#wrap.contents #page_title .contents_visual .contents_pic{ height: 120px;}
#wrap.contents #page_title .contents_visual .contents_pic img{ height: 120px;}
#wrap.contents .prologue_text{ text-align: left; font-size: 1.3em;}
#wrap.contents #bottom_contents{ margin-top: 30px; padding: 0 30px;}
#wrap.contents #bottom_contents .bottom_contents_inner{ padding: 30px 0 155px;}
#wrap.contents #bottom_contents .bottom_contents_inner ul{ display: block;}
#wrap.contents #bottom_contents .bottom_contents_inner ul li{ max-width: 280px; width: 100%; margin: 0 auto 15px;}
#wrap.contents #bottom_contents .bottom_contents_inner ul li a{ display: flex; font-size: 1.4em;}
#wrap.contents #bottom_contents .bottom_contents_inner ul li a .img_photo{ width: 90px; height: 70px;}
#wrap.contents #bottom_contents .bottom_contents_inner ul li a .img_photo img{ width: 90px; height: 70px;}
#wrap.contents #bottom_contents .bottom_contents_inner ul li a p{ width: calc(100% - 90px); height: 70px;}
}

/*-------------------------
__footer
-------------------------*/
#footer_contents{ background-color: #e0ecf8;}
#footer_contents .footer_contents_inner{}
#footer_entry{ position: relative; z-index: 2;}
#footer_entry .footer_entry_inner{ padding: 0 50px; box-sizing: border-box;}
#footer_entry .footer_entry_inner a{ width: 100%; max-width: 1200px; height: 270px; margin: 0 auto; padding: 0 100px; box-sizing: border-box; color: #fff; display: flex; justify-content: space-between; align-items: center; position: relative; z-index: 0;}
#footer_entry .footer_entry_inner a::before,
#footer_entry .footer_entry_inner a::after{ content: ''; position: absolute; top: 0; left: 0; display: block; width: 100%; height: 100%;}
#footer_entry .footer_entry_inner a::before{ transition: all 0.6s; z-index: -1; background: linear-gradient(135deg, #46a3ee 0%, #0062b1 100%);}
#footer_entry .footer_entry_inner a::after{ z-index: -2; background: linear-gradient(135deg, #8bc4ff 0%, #0087d2 100%);}
#footer_entry .footer_entry_inner a .title{}
#footer_entry .footer_entry_inner a .title span{ display: inline-block;}
#footer_entry .footer_entry_inner a .title span.en_text{ font-size: 6em; margin-right: 30px;}
#footer_entry .footer_entry_inner a .title span.jp{ font-size: 2em; font-weight: 700;}
#footer_entry .footer_entry_inner a .more_btn{ width: 157px; height: 60px; border: 1px solid #fff; box-sizing: border-box; font-size: 1.8em; position: relative;}
#footer_entry .footer_entry_inner a .more_btn p{ position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); display: flex; align-items: center;}
#footer_entry .footer_entry_inner a .more_btn p .arrow{ position: relative; display: inline-block; width: 17px; height: 2px; margin:0; border-radius: 9999px; background-color: #fff; margin-right: 15px;}
#footer_entry .footer_entry_inner a .more_btn p .arrow::before,
#footer_entry .footer_entry_inner a .more_btn p .arrow::after { content: ""; position: absolute; top: calc(50% - 1px); right: 0; width: 10px; height: 2px; border-radius: 9999px; background-color: #fff; transform-origin: calc(100% - 1px) 50%;}
#footer_entry .footer_entry_inner a .more_btn p .arrow::before{transform: rotate(45deg);}
#footer_entry .footer_entry_inner a .more_btn p .arrow::after{transform: rotate(-45deg);}
#footer{ position: relative; z-index: 1; background-color: #2d3237; margin-top: -135px; padding: 135px 50px 0; box-sizing: border-box;}
#footer .footer_inner{ width: 100%; max-width: 1200px; margin: 0 auto;} 
#footer .footer_inner .footer_top{ display: flex; justify-content: space-between; align-items: center; margin-bottom: 75px; padding-top: 130px; box-sizing: border-box;}
#footer .footer_inner .footer_top .logo{ width: 281px; height: auto; margin-right: 30px;}
#footer .footer_inner .footer_top .logo a{}
#footer .footer_inner .footer_top .logo a img{ width: 100%; height: auto;}
#footer .footer_inner .footer_top ul{ display: flex; flex-wrap: wrap;}
#footer .footer_inner .footer_top ul li{ margin: 10px 15px;}
#footer .footer_inner .footer_top ul li a{ font-size: 1.5em; line-height: 1em; color: #fff; font-weight: 700;}
#footer .footer_inner .footer_btm{ display: flex; justify-content: space-between; align-items: center; padding-bottom: 130px; box-sizing: border-box;}
#footer .footer_inner .footer_btm ul{ display: flex;}
#footer .footer_inner .footer_btm ul li{ margin-right: 40px;}
#footer .footer_inner .footer_btm ul li a{ font-size: 1.4em; line-height: 1em; color: #fff;}
#footer .footer_inner .footer_btm ul li a span{ display: block; position: relative; padding-right: 20px;}
#footer .footer_inner .footer_btm ul li a span:after{ content: ''; width: 12px; height: 12px; background-image: url(/images/icon_othersite@2x.png); background-size: contain; background-repeat: no-repeat; position: absolute; top: 50%; right: 0; transform: translateY(-50%);}
#footer .footer_inner .footer_btm p.copy{ font-size: 1.4em; line-height: 1em; color: #fff;}
.re_top{}

@media screen and (max-width:999px){
#footer_entry .footer_entry_inner a{ height: 200px;}
#footer_entry .footer_entry_inner a{ padding: 0 50px;}
#footer_entry .footer_entry_inner a .title span.en_text{ font-size: 4.5em; margin-right: 20px;}
#footer_entry .footer_entry_inner a .title span.jp{ font-size: 1.5em;}
#footer{ margin-top: -100px; padding: 100px 50px 0; text-align: center;}
#footer .footer_inner .footer_top{ display: block; padding-top: 100px; margin-bottom: 80px;}
#footer .footer_inner .footer_top .logo{ width: 250px; margin: 0 auto 50px;}
#footer .footer_inner .footer_top ul{ justify-content: center;}
#footer .footer_inner .footer_top ul li{ margin: 5px 10px;}
#footer .footer_inner .footer_top ul li a{ font-size: 1.3em;}
#footer .footer_inner .footer_btm{ display: block; padding-bottom: 100px;}
#footer .footer_inner .footer_btm ul{ justify-content: center; margin-bottom: 50px;}
#footer .footer_inner .footer_btm ul li{ margin: 0 10px;}
#footer .footer_inner .footer_btm ul li a{ font-size: 1.3em;}
}

@media screen and (min-width: 768px) {
#footer .footer_inner .footer_top ul li a,
#footer .footer_inner .footer_btm ul li a{ transition: .2s;}
#footer .footer_inner .footer_top ul li a:hover,
#footer .footer_inner .footer_btm ul li a:hover{ opacity: 0.4;}
#footer_entry .footer_entry_inner a:hover::before{ opacity: 0;}
}

@media screen and (max-width:767px){
#footer_entry .footer_entry_inner{ padding: 0 30px;}
#footer_entry .footer_entry_inner a{ height: 160px; display: block; text-align: center; padding: 20px 0 0;}
#footer_entry .footer_entry_inner a .title{ margin-bottom: 20px;}
#footer_entry .footer_entry_inner a .title span{ display: block;}
#footer_entry .footer_entry_inner a .title span.en_text{ font-size: 3em; margin-right: 0; margin-bottom: 10px;}
#footer_entry .footer_entry_inner a .title span.jp{ font-size: 1.3em;}
#footer_entry .footer_entry_inner a .more_btn{ width: 140px; height: 40px; font-size: 1.5em; margin: 0 auto;}
#footer{ margin-top: -80px; padding: 80px 30px 0;}
#footer .footer_inner .footer_top{ margin-bottom: 30px; padding-top: 60px; box-sizing: border-box;}
#footer .footer_inner .footer_top .logo{ width: 220px;}
#footer .footer_inner .footer_top ul{ max-width: 320px; width: 100%; margin: 0 auto; flex-wrap: wrap;}
#footer .footer_inner .footer_top ul li{ width: 50%; margin: 0 0 20px;}
#footer .footer_inner .footer_top ul li a{ font-size: 1.4em;}
#footer .footer_inner .footer_btm{ padding-bottom: 80px;}
#footer .footer_inner .footer_btm ul{ display: block; margin-bottom: 50px;}
#footer .footer_inner .footer_btm ul li{ margin-right: 0; margin-bottom: 15px;}
#footer .footer_inner .footer_btm ul li a{ font-size: 1.2em;}
#footer .footer_inner .footer_btm ul li a span{ display: inline-block;}
#footer .footer_inner .footer_btm p.copy{ font-size: 1.2em;}
}

/*-------------------------
__error
-------------------------*/
#error{ padding: 100px 0; box-sizing: border-box; text-align: center;}
#error h1{ font-size: 3.5em; line-height: 1.3; font-weight: 700; margin-bottom: 50px;}
#error p{ font-size: 1.6em; line-height: 1.8; margin-bottom: 50px;}
#error .go_top{ width: 300px; margin: 0 auto;}
#error .go_top a{width: 100%; height: 80px; color: #23374b; border: 1px solid #23374b; background-color: #fff; font-size: 1.7em; line-height: 80px; font-weight: 700; display: block; justify-content: space-between; align-items: center; padding: 0 50px; box-sizing: border-box; position: relative; z-index: 1;}
#error .go_top a::after{background: #23374b; position: absolute; top: 0; left: 0; content: ''; width: 100%; height: 100%; transform: scale(0, 1); transform-origin: left top; transition: .2s cubic-bezier(0.45, 0, 0.55, 1); z-index: -1;}
#error .go_top a:hover{color: #fff;}
#error .go_top a:hover::after{transform: scale(1, 1);}

@media screen and (max-width:999px){
#error{ padding: 70px 0;}
#error h1{ font-size: 3em;}
#error p{ font-size: 1.5em;}
}

@media screen and (max-width:767px){
#error{ padding: 40px 0;}
#error h1{ font-size: 2.2em; margin-bottom: 20px;}
#error p{ font-size: 1.3em; margin-bottom: 20px;}
#error .go_top{ width: 100%;}
#error .go_top a{ font-size: 1.5em; height: 60px; line-height: 60px;}
}
