@charset "UTF-8";

/* base
------------------------------------------------------------*/
* {	box-sizing: border-box; }
html { overflow-y:scroll;
  font-size: 62.5%;
}
body, ol, ul, dl, dt, dd, h1, h2, h3, h4, h5, h6, h7, form, p { margin:0; padding:0; }
img { border:0;
	user-select:none;
	-webkit-user-select:none;
	-moz-user-select:none;
	-khtml-user-select:none;
	-webkit-user-drag:none;
	-khtml-user-drag:none;
  vertical-align: bottom;
  max-width: 100%;
  }
li { list-style-type:none; }

body {
	font-size:16px; line-height:1.75;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", sans-serif;
	color:#333;
  padding-top: 100px;
  box-sizing: border-box;
}

table, tr, td {
	border-style: none;
	vertical-align: top;
}

a {
	overflow:hidden;
	-webkit-transition:.2s linear;
	-moz-transition:.2s linear;
	-o-transition:.2s linear; }
a:link		{ color:#333; text-decoration: none; }
a:visited	{ color:#333; }
a:hover		{ opacity:0.8; }
a:active	{ opacity:0.8; }

a img {
	-webkit-transition:.2s linear;
	-moz-transition:.2s linear;
	-o-transition:.2s linear;
	transition:.2s linear; }
a:hover img { opacity:0.8; }

/* clearfix
------------------------------------------------------------*/
.clearfix:after {  
	visibility: hidden;  
	display: block;  
	font-size: 0;  
	content: " ";  
	clear: both;  
	height: 0;  
}  

* html .clearfix { zoom: 1; } /* IE6 */  
*:first-child+html .clearfix { zoom: 1; } /* IE7 */  

.clearfix:before,
.clearfix:after{content:" ";display:table}
.clearfix:after{clear:both}


.clearfix:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}
 
.clearfix {display: inline-table;}
 
/* Hides from IE-mac \*/
* html .clearfix {height: 1%;}
.clearfix {display: block;}
/* End hide from IE-mac */

/* fixed */
.fixed {
  position: fixed;
  top: 0;
  padding: 0;
  width: 100%;
  z-index: 1000;
}

/* menu
------------------------------------------------------------*/
header{width:100%;height:100px;position:fixed;top:0;left:0;z-index:1000;background:#fff;}
header .logo{position:absolute;left:40px;top:28px;width:140px;}
header #sp-btn{display:none;}
header #gnav{position:absolute;right:230px;top:0;height:100%;display:flex;align-items:center;overflow-y:auto;}
header #gnav > li{height:100%;}
header #gnav > li a{display:block;height:100%;font-size:1.6rem;font-weight:bold;display:flex;align-items:center;/*padding:0 20px;*/padding:0 8px;position:relative;transition:.5s;white-space:nowrap;}
header #gnav > li a::after{content:"";display:block;width:1px;height:0;position:absolute;top:calc(100% - 20px);left:50%;background:#ffffff;transition:.5s ease;}
header #gnav > li.current a{color:#adb5bd;}
header #gnav > li.current a::after{transition:none;}
header #gnav > li.current a::after,header #gnav > li a:hover::after{height:20px;}
header .header-link{position:absolute;right:0;top:0;display:flex;height:100%;z-index:1001;}
header .header-link a{display:block;width:100px;height:100%;background:#1b202c;text-align:center;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:1.1rem;font-weight:bold;}
header .header-link a:hover{transform:scale(0.95);}
header .header-link a::before{content:"";display:block;background:no-repeat center center;background-size:100% auto;margin-top:4px;margin-bottom:7px;}
header .header-link a.link01::before{background-image:url(../img/header_icon01.png);width:37px;height:26px;}
header .header-link a.link02{background:#f79810;}
header .header-link a.link02::before{background-image:url(../img/header_icon02.png);width:32px;height:23px;margin-bottom:10px;}
header .lang{margin-left: 20px;}

@media screen and (min-width:1px) and (max-width:1279px){
  header #gnav > li a{padding:0 10px;}
}
@media screen and (max-width:1280px) and (min-width:1200px){
  header #gnav > li a {padding: 0 8px;font-size: 1.4rem;}
  header .lang {margin-left: 10px;}
}
@media screen and (min-width:1px) and (max-width:1199px){
  header{height:60px;}
  header .logo{top:13px;left:65px;}
  header .logo img {width: 100px;}
  header #sp-btn{display:block;cursor:pointer;width:60px;height:60px;position:absolute;left:0;top:0;z-index:1003;user-select:none;}
  header #sp-btn span{display:block;background:#302c32;width:19px;height:2px;border-radius:2px;position:absolute;top:28px;left:20px;transition:.4s ease;}
  header #sp-btn span:nth-of-type(1){-webkit-transform:translateY(-6px) rotate(0);transform:translateY(-6px) rotate(0);}
  header #sp-btn span:nth-of-type(2){opacity:1;}
  header #sp-btn span:nth-of-type(3){-webkit-transform:translateY(6px) rotate(0);transform:translateY(6px) rotate(0);}
  header #sp-btn.active span:nth-of-type(1){-webkit-animation:active-menu-bar01 .75s forwards;animation:active-menu-bar01 .5s forwards;background:#adb5bd;}
  header #sp-btn.active span:nth-of-type(2){opacity:0;background:#adb5bd;}
  header #sp-btn.active span:nth-of-type(3){-webkit-animation:active-menu-bar02 .75s forwards;animation:active-menu-bar02 .5s forwards;background:#adb5bd;}
  @keyframes active-menu-bar01 {0%{-webkit-transform:translateY(-7px) rotate(0);transform:translateY(-7px) rotate(0);}50%{-webkit-transform:translateY(0) rotate(0);transform:translateY(0) rotate(0);}100%{-webkit-transform:translateY(0px) rotate(45deg);transform:translateY(0px) rotate(45deg);}}
  @keyframes active-menu-bar02 {0%{-webkit-transform:translateY(7px) rotate(0);transform:translateY(7px) rotate(0);}50%{-webkit-transform:translateY(0) rotate(0);transform:translateY(0) rotate(0);}100%{-webkit-transform:translateY(0px) rotate(-45deg);transform:translateY(0px) rotate(-45deg);}}
  header #gnav{position:fixed;top:0;left:-241px;right:auto;width:240px;max-width:100%;background:rgba(16,19,30,0.92);z-index:1001;display:block;padding:80px 30px;transition:left .5s ease,opacity .5s ease;opacity:0;}
  header #gnav.active{left:0;opacity:1;}
  header #gnav > li{height:auto;border-bottom:1px solid rgba(255,255,255,0.1);}
  header #gnav > li:first-child{border-top:1px solid rgba(255,255,255,0.1);}
  header #gnav > li a{color:#fff;padding:15px 10px;font-weight:normal;height: auto;}
  header #gnav > li a::after{width:0;height:1px;left:-30px;top:50%;margin-top:-1px;}
  header #gnav > li.current a::after,header #gnav > li a:hover::after{width:15px;height:1px;}
  header .header-link a::before{transform:scale(0.6);transform-origin:center bottom;margin-top:-5px;}
  header .header-link a.link02::before{margin-bottom:6px;margin-top:0;}
  header .lang{margin-left: 0;}
}
@media screen and (min-width:1px) and (max-width:599px){
  html{font-size:56%;}
  header .logo{left:60px;}
  header .header-link a{width:70px;}
  header .header-link a{font-size:1rem;}
}


header .lang {
  display: flex;
  align-items: center;
}
header .lang-btn {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}
header .lang-btn a {
  border: 1px solid transparent;
  background: #1b202c;
  color: #fff!important;
  display: inline-block;
  font-size: 12px!important;
  font-weight: bold;
  line-height: 24px;
  text-align: center;
  width: 50px;
  padding: 0!important;
  justify-content: center;
  flex-shrink: 0;
}
header .lang-btn a::before,
header .lang-btn a::after {
  display: none!important;
}
header .lang-btn .is-lang a {
  background: transparent;
  border: 1px solid #adb5bd;
  color: #adb5bd!important;
  pointer-events: none;
}

@media screen and (min-width:1px) and (max-width:1199px){
  header .lang {
    padding: 15px 10px;
  }
  header .lang-btn {
    width: 100%;
  }
  header .lang-btn > * {
    width: 50%;
  }
  header .lang-btn a {
    width: 100%;
    background: #fff;
    color: #333!important;
  }
}


/* common
------------------------------------------------------------*/

.bg-gy {
  background: #fafaff;
}
.bg-nv {
  background: #1b202c;
}

.en {
  font-family: 'Montserrat', sans-serif;
}

.c-btn-small a {
  display: block;
  height: 40px;
  font-family: 'Roboto', sans-serif;
  font-size: 13px;
  font-weight: 700;
  text-align: center;
  line-height: 40px;
  border: 1px solid #1b202c;
}
.c-btn-small.wt-line a {
  color: #fff;
  border: 1px solid #fff;
}

.c-btn-large a {
  background: #1b202c;
  position: relative;
  display: block;
  height: 62px;
  color: #fff;
  font-weight: bold;
  line-height: 62px;
  text-align: center;
  border: 1px solid #1b202c;
  box-sizing: border-box;
}
.c-btn-large a:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 40px;
  height: 1px;
  background-color: #fff;
  transform: translateY(-50%);
}

.c-btn-large.wt-line a {
  border: 1px solid #fff;
  background: transparent;
}

.contents_sub {
  color: #adb5bd;
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 30px;
}
.contents_sub.line {
  position: relative;
  padding-bottom: 80px;
  margin-bottom: 50px;
  text-align: center;
}
.contents_sub.line::before {
  background: #333333;
  background-size: 1px 50px;
  bottom: 0;
  content: "";
  display: block;
  left: 0;
  height: 50px;
  margin: auto;
  position: absolute;
  right: 0;
  width: 1px;
}
.contents_sub + .lead {
  margin-bottom: 50px;
  font-size: 16px;
  line-height: 2;
  font-weight: bold;
  text-align: center;
}



/* contents
------------------------------------------------------------*/
#contents {position: relative;}
#contents .contents_inner {width: 1200px; margin: 0 auto;}
#contents .contents_h2 {font-size: 36px; font-family: 'Montserrat', sans-serif; font-weight: 700; line-height: 1.4;}


/* pagetop
------------------------------------------------------------*/
.pagetop {position: absolute; bottom: 10px; right: 40px; height: 65px; padding-top: 15px; padding-right: 2px; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-family: 'Montserrat', sans-serif; font-size: 10px; font-weight: 700;}
.pagetop.fix {position: fixed; bottom: 20px;}
.pagetop:after {content: ""; position: absolute; top: 0; right: 0; width: 9px; height: 65px; background: url(/img/en/arrow_pagetop.png) left top / 100% auto no-repeat;}
.pagetop a {display: block; transform: rotate(180deg);}


/* footer
------------------------------------------------------------*/
/*
footer{padding-bottom:130px;background:#f6f6fa;}
footer #pagetop{position:fixed;right:40px;bottom:40px;z-index:-1;opacity:0;}
footer #pagetop.active{z-index:100;opacity:1;}
footer #pagetop:hover .pagetop02{transform:translateY(-8px);}
footer .footer-contact{background:url(/img/footer_contact.jpg) no-repeat center center #3e4451;background-size:cover;padding:90px 0;}
footer .footer-contact .container02{display:flex;align-items:center;justify-content:space-between;}
footer .footer-contact .ttl{font-size:3.2rem;color:#fff;}
footer .footer-bottom{display:flex;padding:60px 40px 0;position:relative;}
footer .footer-bottom .logo{width:100px;}
footer .footer-bottom .footer-address{margin-left:40px;font-size:1.2rem;}
footer .footer-bottom .footer-address .link-map{font-weight:bold;display:inline-block;margin-top:8px;}
footer .footer-bottom .footer-address .link-map::before{content:"";display:inline-block;width:9px;height:12px;background:url(/img/icon_map.png) no-repeat;background-size:100% auto;margin-right:8px;vertical-align:-2px;}
footer .footer-bottom .footer-menu{flex:1;text-align:right;margin-left:40px;}
footer .footer-bottom .menu-sns{display:flex;justify-content:flex-end;align-items:center;font-weight:bold;font-size:1.4rem;white-space:nowrap;flex-wrap:wrap;}
footer .footer-bottom .menu-sns > li + li{margin-left:15px;}
footer .footer-bottom .menu-sns > li a{display:block;}
footer .footer-bottom .menu-sns > li img{vertical-align:middle;transition:.4s ease;}
footer .footer-bottom .menu-sns > li:hover img{opacity:0.3;}
footer .footer-bottom .menu-sns > li .external::after{content:"";display:inline-block;width:10px;height:10px;background:url(/img/icon_external.png) no-repeat;background-size:100% auto;margin-left:5px;transition:.4s ease;}
footer .footer-bottom .menu-sns > li:hover .external::after{opacity:0.3;}
footer .footer-bottom .menu-nav{display:flex;justify-content:flex-end;align-items:center;font-weight:bold;font-size:1.6rem;margin-top:30px;white-space:nowrap;flex-wrap:wrap;}
footer .footer-bottom .menu-nav > li + li{margin-left:40px;}
footer .footer-bottom .menu-sub{display:flex;justify-content:flex-end;align-items:center;font-weight:bold;font-size:1.2rem;margin-top:30px;white-space:nowrap;flex-wrap:wrap;}
footer .footer-bottom .menu-sub > li + li{margin-left:40px;}
footer .footer-bottom .copyright{position:absolute;left:40px;bottom:0;font-size:1.2rem;}


@media screen and (min-width:1px) and (max-width:1279px){
  footer .footer-bottom .menu-nav > li + li{margin-left:20px;}
  footer .footer-bottom .menu-sub > li + li{margin-left:20px;}
}
@media screen and (min-width:1px) and (max-width:1079px){
  footer .footer-bottom{flex-wrap:wrap;}
  footer .footer-bottom .footer-menu{width:100%;flex:auto;margin-top:20px;}
  footer .footer-contact .common-btn01{width:100%;}
}
@media screen and (min-width:1px) and (max-width:599px){
  footer{padding-bottom:30px;}
  footer #pagetop{right:4%;bottom:5%;}
  footer .footer-contact{padding:12% 0;}
  footer .footer-contact .container02{display:block;text-align:center;}
  footer .footer-contact .ttl{font-size:3rem;margin-bottom:3%;}
  footer .footer-bottom{padding:30px 5% 0;display:block;text-align:center;}
  footer .footer-bottom .logo{margin:0 auto 20px;}
  footer .footer-bottom .footer-address{margin-left:0;font-size:1.4rem;}
  footer .footer-bottom .footer-menu{margin-left:0;margin-top:40px;text-align:center;}
  footer .footer-bottom .menu-sns{justify-content:center;}
  footer .footer-bottom .menu-sns > li + li{margin-left:6%;}
  footer .footer-bottom .menu-nav{justify-content:flex-start;font-size:1.4rem;margin-top:40px;}
  footer .footer-bottom .menu-nav > li{width:48%;margin-right:4%;margin-bottom:10px;}
  footer .footer-bottom .menu-nav > li:nth-child(even){margin-right:0;}
  footer .footer-bottom .menu-nav > li + li{margin-left:0;}
  footer .footer-bottom .menu-sub{justify-content:center;margin-top:20px;padding-top:20px;border-top:1px solid #dce1e5;}
  footer .footer-bottom .menu-sub > li{margin-bottom:10px;}
  footer .footer-bottom .copyright{position:static;margin-top:40px;}
}
*/

/* footer-new
------------------------------------------------------------*/
.footer-new {
  padding: 0;
}
.footer-new .footer-bottom {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 1200px;
  margin: 0 auto;
}

.footer-new .about-area {
  width: 45%;
}
.footer-new .about-area .logo {
  width:200px;
}
.footer-new .about-area .detail {
  margin-top: 20px;
}
.footer-new .about-area .detail p {
  margin-top: 0;
}
.footer-new .about-area .menu-sns {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin: 20px 0;
}

.footer-new .menu-area {
  width: 50%;
  display: flex;
  justify-content: center;
}

.footer-new .foot-nav {
  font-weight: bold;
  font-size: 18px;
}
.footer-new .foot-nav li {
  /* width: 200px; */
  width: 140px;
  line-height: 1.2;
}
.footer-new .foot-nav li + li {
  margin-top: 1em;
}
.footer-new .foot-nav li a {
  display: inline-block;
}

.footer-new .foot-nav ul {
  margin-top: 10px;
}

.footer-new .foot-nav ul > li + li {
  margin-top: 10px;
}

.footer-new .foot-nav ul > li {
  font-weight: normal;
  font-size: 14px;

}

.footer-new .foot-nav ul > li a {
  padding-left: 20px;
  position: relative;
}

.footer-new .foot-nav ul > li a::before {
  background: #1b202c;
  background-size: 10px 1px;
  bottom: 0;
  content: "";
  display: block;
  left: 0;
  height: 1px;
  margin: auto;
  position: absolute;
  top: 0;
  width: 10px;
}

.footer-new .foot-nav-sub {
  font-size: 14px;
}

.footer-new .foot-nav-sub li + li {
  margin-top: 5px;
}

.footer-new .foot-area {
  width: 100%;
  padding: 20px 0;
  text-align: center;
  font-size: 14px;
}

@media (max-width: 1040px){
  .footer-new .menu-area {
    justify-content: space-between;
  }
  .footer-new .footer-bottom {
    width: 100%;
    padding: 40px 40px 0 40px ;
  }
  .footer-new .foot-nav {
    /* width: 45%; */
    width: 75%;
    font-size: 16px;
  }
  .footer-new .foot-nav ul {
    display: flex;
  }
  .footer-new .foot-nav li {
    width: auto;
  }
  .footer-new .foot-nav > li > a {
    position: relative;
    padding-right: 20px;
    width: 100%;
  }
  .footer-new .foot-nav > li > a::before {
    content: '';
    width: 4px;
    height: 4px;
    border: 0px;
    border-top: solid 2px #333;
    border-right: solid 2px #333;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    right: 10px;
    margin-top: -4px;
  }
  .footer-new .foot-nav ul li {
    width: 50%;
    display: flex;
    align-items: center;
  }
  .footer-new .foot-nav ul > li + li {
    margin-top: 0;
  }
  .footer-new .foot-nav + .foot-nav li {
    display: flex;
    align-items: center;
  }
  .footer-new .foot-nav-sub {
    margin-top: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .footer-new .foot-nav-sub li + li {
    margin-left: 20px;
  }
}

@media (max-width: 640px){
  .footer-new .foot-area {
    margin: 0 -20px;
    width: calc(100% + 40px);
  }
  .footer-new .footer-bottom {
    padding:  20px 20px 0 20px;
  }
  .footer-new .about-area {
    width: 100%;
  }
  .footer-new .about-area .logo {
    width: 100px;
  }
  .footer-new .about-area .menu-sns {
    justify-content: center;
  }
  .footer-new .menu-area {
    width: 100%;
    flex-wrap: wrap;
  }
  .footer-new .foot-nav {
    width: 100%;
  }
  .footer-new .foot-nav + .foot-nav {
    margin-top: 1em;
  }
  .footer-new .foot-nav > li > a {
    border-bottom: 1px solid #333;
    padding: 10px 0;
    text-align: left;
    font-size: 13px;
  }
  .footer-new .foot-nav-sub {
    flex-wrap: wrap;
    justify-content: flex-start;
    margin-top: 0;
    width: 100%;
  }
  .footer-new .foot-nav-sub li {
    width: calc((100% - 5px)/2);
    text-align: left;
  }
  .footer-new .foot-nav-sub li a {
    font-size: 11px;
    display: block;
    padding: 5px 0;
    border-bottom: 1px solid #333;
  }
  .footer-new .foot-nav-sub li + li {
    margin-left: 0;
    margin-top: 0;
  }
  .footer-new .foot-nav-sub li:nth-child(2n+1) {
    margin-right: 5px;
  }
  .footer-new .foot-area {
    padding: 20px;
  }
}

/* business-ttl
------------------------------------------------------------*/

.business-ttl {
  background: #1b202c;
  color: #fff;
  text-align: center;
  overflow: hidden;
  position: relative;
}
.business-ttl span {
  font-family: 'Montserrat', sans-serif;
  display: block;
  font-size: 28px;
  font-weight: bold;
  padding: 11px 0;
  letter-spacing: 0.05em;
  width: 100%;
  position: relative;
}

.business-ttl::before,
.business-ttl::after {
  background: #384160;
  background-size: 120px 100%;
  bottom: 0;
  content: "";
  display: block;
  height: 100%;
  margin: auto;
  position: absolute;
  top: 0;
  width: 100px;
}
.business-ttl::before {
  left: 0;
}
.business-ttl::after {
  right: 0;
}

.business-ttl span::before,
.business-ttl span::after {
  background: #384160;
  background-size: 100px 100%;
  bottom: 0;
  content: "";
  display: block;
  height: 100%;
  margin: auto;
  position: absolute;
  top: 0;
  width: 100px;
}
.business-ttl span::before {
  transform: rotate(110deg);
  left: 25px;
}
.business-ttl span::after {
  transform: rotate(110deg);
  right: 25px;
}

.business-ttl + .inner {
  background: #f6f6fa;
  padding: 60px 40px 80px;
}







@media (max-width: 1240px){ 
	/* contents
	------------------------------------------------------------*/
  #contents .contents_inner {width: 90%;}
  
  /* menu
  ------------------------------------------------------------*/
  #menu .menu_nav li + li {
    margin-left: 20px;
  }
  #menu .menu_nav li {
    font-size: 13px;
  }
}

@media screen and (min-width: 1px) and (max-width: 1199px) {
  body {
    padding-top: 60px;
  }
}

@media screen and (min-width: 1px) and (max-width: 1079px) {
/*
  body {
    padding-top: 60px;
  }
*/
}

@media (max-width: 1000px){ 
	/* menu
  ------------------------------------------------------------*/
  #menu .menu_logo {padding-left: 15px;}
  #menu .menu_nav li + li {margin-left: 15px;}

  /* menu
  ------------------------------------------------------------*/
  #menu .menu_nav li + li {
    margin-left: 15px;
  }
  #menu .menu_nav li.recruit,
  #menu .menu_nav li.contact {
    width: 80px;
  }
  #menu .menu_nav li.recruit a,
  #menu .menu_nav li.contact a {
    height: 80px;
    padding-top: 50px;
  }
  #menu .menu_nav li.recruit a:before,
  #menu .menu_nav li.contact a:before {
    top: 20px;
  }
  
  
	/* footer
  ------------------------------------------------------------*/
  #footer .footer_top {display: block;}
  #footer .footer_company {width: 100%;}
  #footer .footer_menu {width: 100%; margin-top: 20px;}
  
}


@media (max-width: 940px){
  /* menu
  ------------------------------------------------------------*/
  #menu {position: fixed; top: 0; left: 0; width: 100%; padding: 5px; z-index: 99;}
  #menu .menu_nav {position: fixed; display: none; left: 0; width: 100%; background-color: #fff; z-index: 2;}
  #menu .menu_logo {padding-left: 0;}
  #menu .menu_nav ul {display: block;}
  #menu .menu_nav .menu_list > li {border-bottom: 1px solid #f6f6fa;}
  #menu .menu_nav li:first-of-type {border-top: 1px solid #f6f6fa;}
  #menu .menu_nav li + li {margin-left: 0!important;}
  #menu .menu_nav li a {display: block; padding: 5px; text-align: center; font-size: 18px;}
  #menu .menu_nav li.contact {margin: 20px auto ;}
  #menu .menu_nav li.contact a {height: 80px; padding-top: 50px;}
  #menu .menu_nav li.contact a:before {top: 20px;}
  #menu .menu_btn {display: block; width: 30px; height: 20px; position: relative; z-index: 3;}
  #menu .menu_bar{width: 100%; height: 2px; display: block; position: absolute; left: 50%; transform: translateX(-50%); background-color: #1b202c;}
  #menu .menu_bar-top{top: 0;}
  #menu .menu_bar-mid{top: 50%;transform: translate(-50%, -50%);}
  #menu .menu_bar-bottom{bottom: 0;}
  #menu .menu_btn.close .menu_bar-top{transform: translate(-50%, 10px) rotate(35deg);transition: transform .3s;}
  #menu .menu_btn.close .menu_bar-mid{opacity: 0;transition: opacity .3s;}
  #menu .menu_btn.close .menu_bar-bottom{transform: translate(-50%, -8px) rotate(-35deg);transition: transform .3s;}

  #menu .menu_nav li.recruit,
  #menu .menu_nav li.contact {
    width: 100%!important;
    margin: auto;
    padding: 20px;
  }
  
}

@media (max-width: 640px){
	/* base
  ------------------------------------------------------------*/
  body {font-size: 14px;}

  .contents_sub.line {
    margin-bottom: 30px;
  }
  .contents_sub + .lead {
    margin-bottom: 30px;
    font-size: 14px;
    text-align: left;
  }

  #contents .contents_h2 {
    font-size: 28px;
  }
  .contents_sub {
    font-size: 16px;
  }
  .contents_sub.line {
    padding-bottom: 45px;
    margin-bottom: 30px;
  }
  .contents_sub.line::before {
    background-size: 1px 25px;
    height: 25px;
  }


  /* pagetop
  ------------------------------------------------------------*/
  .pagetop {right: 10px; bottom: -10px;}

  /* footer
  ------------------------------------------------------------*/
  #footer {padding: 30px 0;}
  #footer .footer_inner {margin: 0 5%;}
  #footer .footer_menu {display: none;}

  #footer .footer_bottom {
    display: block;
    text-align: center;
  }
  #footer .footer_bottom .foot-link {
    margin-top: 20px;
    justify-content: center;
  }
  #footer .footer_bottom .foot-link a {
    font-size: 10px;
  }
}