@font-face {
    font-family: 'eriji';
    src:  url('../font/eriji.woff2') format('woff2'),
         url('../font/eriji.woff') format('woff'),
         url('../font/eriji.otf') format('OpenType');
    font-weight: normal;
    font-style: normal;
}

/*レイアウト*/
body { position: relative; overflow-x: hidden; }
body:before { content: ''; width: 1px; height: 100vh; background: #EDEDED; position: fixed; top: 0; right: 5vw; margin: auto; margin-right: -1px; opacity: .7; }
.wrapper { width: 100% ; margin: 0; max-width: 100vw; }
.contents_wrap_l { width: 100%; padding: 0 80px;  margin: 0 auto; }
.contents_wrap { width: 90%; margin: 0 auto; }
.base_contents { position: relative;  }
img { max-width: 100%; vertical-align: bottom; }
.contsL { float: left; }
.contsR { float: right; }
a:hover { opacity: .7; }

.bg-white { background: #FFF; }
.box-section { padding: 200px 0; }

@media screen and (max-width: 900px) {
  body { padding-top: 0; }
	.contents_wrap_l { padding: 0 5%; }
}


.column,
.column2,
.column-max2,
.column3,
.column4,
.column5,
.column6  { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; justify-content: space-between; }

.column-max2 > * { width: 45%; }
.column2 > * { width: 48%; }
.column3 > * { width: 32%; }


.section-box { margin-bottom: 150px; }

.main-column { width: 75%; }
.sub-column { width: 20%; }

@media screen and (max-width: 900px) {
  .column-max2 > * { width: 100%; margin-bottom: 2rem; }
  .box-section { padding: 100px 0; }
  
.main-column { width: 90%; margin: 0 auto 2rem; }
.sub-column { width: 90%; margin: 0 auto; }
  
.section-box { margin-bottom: 3rem; }
  
}
@media screen and (max-width: 600px) {

  .column_lr > *:nth-child(odd) { width: 100%; }
  .column_lr > *:nth-child(even) { width: 100%; margin-left: 0; margin-top: 1rem; }

  .column_lr2 > *:nth-child(odd) { width: 100%; }
  .column_lr2 > *:nth-child(even) { width: 100%; margin-left: 0; margin-top: 1rem; }
}


/*contents*/
/*ヘッダー*/
.header { width: 100%; position: absolute; top: 0; left: 0; right: 0; margin: auto; z-index: 99; }
.head-logo { margin-top: 3vw; margin-left: 3vw;  }
.head-logo img { width: 220px; }
a.btn-head-entry { font-family: 'Montserrat', sans-serif; font-size: 1.1rem; font-weight: bold; text-align: center; line-height: 300%; width: 8em; position: fixed; top: 0; right: 0; display: block; color: #FFF; letter-spacing: .1em; -ms-transition: all .3s; -webkit-transition: all .3s; transition: all .3s;  }
a.btn-head-entry:after { content: ''; width: 2rem; height: 1px; background: #FFF; position: absolute; top: 0; right: 0; bottom: 0; margin: auto; -ms-transition: all .3s; -webkit-transition: all .3s; transition: all .3s; }
.mainvisual { width: 95%; height: calc( 100vh - 5vw); background: url("../img/mainvisual.png") no-repeat 60% 60%/ cover ;}

a.btn-head-entry.hover:hover { opacity: 1; letter-spacing: .2em;}
a.btn-head-entry.hover:hover:after { width: 1rem; }

.mainvisual:before { content: ''; width:30%; height:0; padding-bottom: 15%;  background: url("../img/deco1.svg") no-repeat top right/ contain; position: absolute; top: 3rem; right: -8vw; margin: auto; pointer-events: none; } 
.mainvisual:after { content: ''; width:45%; height:0; padding-bottom: 20%; background: url("../img/deco2.svg") no-repeat bottom right/ contain; position: absolute; bottom: -8vw; left: 55%; margin: auto; pointer-events: none; } 

.box-blue { background: linear-gradient(90deg, #1FEFC7, #00CEF4); color: #FFF; }

.outline { display: inline-block; padding: 4rem; box-shadow: 10px 10px 40px rgba(0,0,0,.09); }
.outline .title { display: inline-block; font-size: 1.2rem; font-weight: bold; margin-bottom: 1em; line-height: 150%; padding-bottom: .5em; border-bottom: 1px solid ; }
.outline em { font-size: 2.2rem; margin-bottom: .5em; font-weight: normal; display: block; line-height: 120%; }

.outline.under-mv { -ms-transform: translateY(-50%);  -webkit-transform: translateY(-50%);  transform: translateY(-50%);}

.main-copy { color: #0EBCBB; font-size: 5rem; letter-spacing: .2em; font-family: 'eriji'; line-height: 150%; } 
.main-copy .blue { color: #02D0F5;}
.main-copy .en { font-family: 'Amatic SC', cursive; font-size: .3em; color: #586C6E; margin-top: 1em; letter-spacing: .5em; display: block; line-height: 150%; }

.mainvisual .main-copy { position: absolute; left: 5vw;top: 50%; -ms-transform: translateY(-50%);  -webkit-transform: translateY(-50%);  transform: translateY(-50%); line-height: 120%;}


@media screen and (max-width: 1500px) {
	.main-copy { font-size: 6vw; }
}
@media screen and (max-width: 1200px) {
	.outline { padding: 4vw; max-width: 90%; }
	.outline em { font-size: 1.8rem;  }
  
	.mainvisual .main-copy { font-size: 4rem; }
  
  a.btn-head-entry { font-size: 1rem; }
}

@media screen and (max-width: 900px) {
	.mainvisual { height: 80vh; background-position: 80% 60%;  }
	.mainvisual:before { right: -3vw; }
  .head-logo img { width: 165px; }
	.mainvisual .main-copy { font-size: 2rem; top: 8rem; }
}

.btn-scroll,
.btn-gotop { display: block; width:3.5rem; height: 1rem; position: fixed;  margin: auto; bottom: 1rem; right: 1vw;-ms-transform-origin: left bottom; transform-origin: left bottom; -webkit-transform-origin: left bottom;  -ms-transform: rotate(-90deg) translateX(100%); -webkit-transform: rotate(-90deg) translateX(100%); transform: rotate(-90deg) translateX(100%); z-index: 99; font-family: 'Amatic SC', cursive; letter-spacing: .2em; opacity: 0; pointer-events: none;  -ms-transition: all .3s; -webkit-transition: all .3s; transition: all .3s; }

.btn-scroll:before,
.btn-gotop:after { content: ''; width: 100%; height: .5em; display: block; margin: .2em 0; -ms-transform: skew(-45deg); -webkit-transform: skew(-45deg); transform: skew(-45deg);}

.btn-scroll:before { border-left: 1px solid; border-bottom: 1px solid;  }
a.btn-gotop { color: #FFF; }
.btn-gotop:after { border-top: 1px solid; border-right: 1px solid; }


.btn-scroll.show,
.btn-gotop.show { opacity: 1; pointer-events: auto;  }

.btn-gotop { position: absolute; bottom: 100%; right: 1vw; margin: auto; }


@media screen and (max-width: 900px) {
	
.btn-scroll,
.btn-gotop  { right: auto; left: auto; right: 0;  }
}

.home-conts { margin-top: 10rem; }
.title-home { font-size: 2.2rem; font-weight: normal; letter-spacing: .1em; line-height: 150%;margin-bottom: 1em; position: relative; }
.title-home span { font-family: 'Amatic SC', cursive; display: block; font-size: .7em; margin-top: 1em; line-height: 150%; }
.title-home:before{ content: ''; width: 4vw; height: 1px; position: absolute; top: 1.6rem; left: -5vw; display: block; background: #586C6E; opacity: .7; }

.title-home.right { display: table; margin: 0 5vw 1em auto; }
.title-home.right:before {  right: -5vw; left: auto;  }
.title-home.white { color: #FFF; }
.title-home.white:before { background: #FFF; }

@media screen and (max-width: 1500px) {
	.home-conts { margin-top: 8vw; }
	.title-home { font-size: 2.5vw; }
}
@media screen and (max-width: 900px) {
	.title-home { font-size: 2rem; }
}
@media screen and (max-width: 600px) {
	.title-home { font-size: 1.5rem; }
}


.about-wrap { padding: 50px 30% 50px 0; position: relative; min-height: 35vw; }
.about-wrap:before { content: ''; width: 100%; height: 0; padding-bottom: 100%; display: block; box-shadow: -20px -20px 20px rgba(0,0,0,.04); position: absolute; top: -30%; right: 0; margin: auto; -ms-transform: skewY(-35deg); -webkit-transform: skewY(-35deg);transform: skewY(-35deg); z-index: -2; -ms-transform-origin: top right; -webkit-transform-origin: top right; transform-origin: top right; }
.about-wrap:after { content: ''; width: 60%; height: 100%; display: block; background: url(../img/img1.jpg) no-repeat center center/ cover; position: absolute; top: 0; right: 0;  margin: auto; z-index: -1;  box-shadow: 10px 10px 40px rgba(0,0,0,.09); }

.about-wrap > .contents_wrap  { position: relative; } 
.about-wrap > .contents_wrap:before { content: ''; width:20%; height:0; padding-bottom: 15%;  background: url("../img/deco3.svg") no-repeat top right/ contain; position: absolute; top: 0; left: 60%; margin: auto; pointer-events: none; } 
.about-wrap > .contents_wrap:after { content: ''; width:15%; height:0; padding-bottom: 30%; background: url("../img/deco4.svg") no-repeat bottom right/ contain; position: absolute; bottom: -8vw; right: 0; margin: auto; pointer-events: none; } 

@media screen and (max-width: 900px) {
	.about-wrap { padding: 25px 0; }
	.about-wrap:before { height: 50%; top: 10%; }
  .about-wrap .title-home { margin-bottom: 20%;  }
	
}


.our-mind { margin-top: 10rem; padding-top: 9rem; position: relative; }
.our-mind > * { position: relative; z-index: 2; }
.our-mind:before { content: ''; display: block; width: 95%; height: 40rem; background: linear-gradient(90deg, #1FEFC7, #00CEF4);  position: absolute; top: 0; left: 0; margin: auto; }
.our-mind .t-white { color: #FFF; margin-bottom: .5em; }

.list-mind { position: relative; }
.list-mind .img { width: 5rem; height: 5rem; display: block; margin: 0 auto 2rem; display: flex; justify-content: center; align-items: center; }
.list-mind { width: 95%;  background: #FFF; box-shadow: 10px 10px 40px rgba(0,0,0,.09); padding: 8vw; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; justify-content: space-between; }
.list-mind > li { width: 30%; text-align: center; }

.list-mind .title { font-size: .6rem; font-weight: bold; }
.list-mind .title span { font-size: 2em; font-family: 'Raleway', sans-serif; display: block; font-weight: bold; letter-spacing: .2em;  }
.list-mind .copy { font-size: 1.5rem; letter-spacing: .1em; line-height: 180%; margin: 1em 0; }
.list-mind .note { font-size: .8rem; margin-top: 1em; }

.list-mind .btn-readmore { display: block;color: #586C6E; font-size: .8rem; font-family: 'Montserrat', sans-serif; text-align: center; width: 70%; padding: 1em; border: 1px solid; margin: 3rem auto 0; font-weight: bold; max-width: 15rem; -ms-transiiton: all .3s; -webkit-transiiton: all .3s; transiiton: all .3s; outline: none; background: none; }
.list-mind.hover .btn-readmore:hover { background: linear-gradient(90deg, #1FEFC7, #00CEF4); color: #FFF;  }
.list-mind .more-contents { display: none; margin-top: 3rem; text-align: left; }
.list-mind .more-contents p { margin-bottom: 1rem; }

@media screen and (max-width: 1500px) {
	.list-mind { padding: 6vw; }
	.list-mind .copy { font-size: 1.4vw;}
}
@media screen and (max-width: 1300px) {
	.list-mind .copy + p  { font-size: .9rem;}
}
@media screen and (max-width: 900px) {
	.our-mind { padding-top: 4rem; margin-top: 5rem; }
	.list-mind  > li { width: 100%; }
	.list-mind  > li + li  { margin-top: 3rem; }
	.list-mind .copy { font-size: 3vw;}
  
}

.bottom-visual { background: url("../img/img3.png") no-repeat 60% 60%/ cover; padding: 8vw 0; margin-top: 10rem; position: relative; }
.bottom-visual .main-copy { margin-bottom: .5em;  }

.bottom-visual:before { content: ''; width:40%; height:0; padding-bottom: 30%; background: url("../img/deco7.svg") no-repeat top right/ contain; position: absolute; top: -17.5%; right: 5%; margin: auto; pointer-events: none;  }

.bottom-visual a.btn-recruitment { color: #FFF; padding: 1em; margin: 1rem 0 0 auto; display: block; width: 12em; border: 1px solid; text-align: center; }

.bottom-visual h3 { border-bottom: 1px solid; display: inline-block; margin-bottom: .5em; }

@media screen and (max-width: 900px) {
	.bottom-visual { background-position: 90% 60%; }
  
  .bottom-visual a.btn-recruitment { font-size: .9rem; }
}
.footer .column-max2 > div { width: 50%; }
.RtoL{  -webkit-flex-direction: row-reverse; flex-direction: row-reverse }
.footer-info { padding: 5vw; font-size: .75rem; }

.foot-logo { margin-bottom: 1rem; }
.foot-address {  margin-bottom: 3rem; }
.foot-navi > li { vertical-align: middle; display: inline-block; margin-right: 2em; }
.foot-subnavi { margin-top: 2em; }
.foot-subnavi > li { display: inline-block; vertical-align: middle; margin-right: 2em; }

.fb_iframe_widget > span { vertical-align: middle !important;}
#twitter-widget-0 { display: inline-block; vertical-align:middle!important;  }

.googlemap { width: 100%; height: 100%; position: relative; }
.googlemap iframe { width: 100%; height: 100%; position: absolute; top: 0; left: 0; right: 0; bottom: 0; margin: auto; }

.copyright { margin-top: 3rem; }


@media screen and (max-width: 900px) {
	.footer .column-max2 > div { width: 100%; }
.googlemap{ hegiht: 0 ;padding-bottom: 80%; }
}
.conts-swiper { position: relative;  }
.swiper-purpose.swiper-container { counter-reset: listnum;}
.conts-swiper .swiper-button-prev, 
.conts-swiper .swiper-container-rtl .swiper-button-next,
.conts-swiper .swiper-button-next,
.conts-swiper .swiper-container-rtl .swiper-button-prev { background: none; width: 2.5rem; height: 1.5rem; text-align: center; }

.conts-swiper .swiper-container-rtl .swiper-button-next img,
.conts-swiper .swiper-button-next img { display: block; -ms-transform: rotate(180deg); -webkit-transform: rotate(180deg);transform: rotate(180deg);}

.conts-swiper .swiper-button-prev { left: .5rem; -ms-transition: all .3s; -webkit-transition: all .3s; transition: all .3s;  }
.conts-swiper .swiper-button-next { right: .5rem; -ms-transition: all .3s; -webkit-transition: all .3s; transition: all .3s; }

.conts-swiper .swiper-pagination { text-align: center; width: 100%; }
.conts-swiper .swiper-pagination-bullet{ margin: 0 5px;  }
.conts-swiper .swiper-pagination-bullet-active { background: linear-gradient(90deg, #1FEFC7, #00CEF4); }

.conts-swiper .swiper-button-prev:hover { -ms-transform: translateX(-5px); -webkit-transform: translateX(-5px); transform: translateX(-5px); }
.conts-swiper .swiper-button-next:hover { -ms-transform: translateX(5px); -webkit-transform: translateX(5px); transform: translateX(5px); }

/*about*/
.conts-swiper .swiper-slide { counter-increment: listnum; }
.conts-swiper .swiper-slide .panel-about { background: #FFF; margin: 2rem; height: inherit;  box-shadow: 10px 10px 30px rgba(0,0,0,.09); padding: 2rem 2rem 2rem 6rem; position: relative; }
.conts-swiper .swiper-slide .panel-about:before { content: counter(listnum); color: #16E5D5; font-family: 'Montserrat', sans-serif; font-style: italic; font-size: 3rem; align-self: stretch; position: absolute; top: 2rem; left: 2rem;  }
  
.conts-swiper .swiper-slide .title { font-size: 1.2rem; text-align: center; border: none; }
.conts-swiper .swiper-slide .title:before { content: counter(listnum); font-size: 1rem; margin-bottom: 1em; display: block; font-family: 'Dosis', sans-serif; }

.space-info { font-weight: bold; font-size: .8rem;  }
.space-info > dt { float: left; }
.space-info > dt:after { content: ':'; }
.space-info > dd { padding-left: 5em; margin-bottom: 1em; }

@media screen and (max-width: 900px) {
	.conts-swiper .swiper-button-prev, 
	.conts-swiper .swiper-container-rtl .swiper-button-next,
	.conts-swiper .swiper-button-next,
	.conts-swiper .swiper-container-rtl .swiper-button-prev {width: 2.5rem; }
	.conts-swiper .swiper-button-prev { left: -1rem; }
	.conts-swiper .swiper-button-next { right: -1rem;}
}

@media screen and (max-width: 600px) {
	.conts-swiper .swiper-button-prev, 
	.conts-swiper .swiper-container-rtl .swiper-button-next,
	.conts-swiper .swiper-button-next,
	.conts-swiper .swiper-container-rtl .swiper-button-prev {width: 2rem; }
	.conts-swiper .swiper-button-prev { left: -.5rem; }
	.conts-swiper .swiper-button-next { right: -.5rem;}
}

/*human*/
.conts-human { position: relative; }
.conts-human:before, 
.conts-human:after { content: ''; width: 40%; height: 80%; display: block; background-size: cover; position: absolute; top: 0; bottom: 0; border: 0; margin: auto;  }
.conts-human:before { left: 0; background-image: url("../img/human.jpg"); background-position: 60% center; }
.conts-human:after { right: 0; background-image: url("../img/human2.jpg"); background-position: 70% center;}

.conts-human .text{ width: 40%; min-width: 600px; padding: 120px 80px; margin: 0 auto; background: #FFF; box-shadow: 10px 10px 40px rgba(0,0,0,.09); letter-spacing: .1em; position: relative; z-index: 2; }
.conts-human .tab-panel { display: none;  }
.conts-human .tab-panel.active { display: block;  }


.conts-human .text { position: relative; }
.conts-human .text:before { content: ''; width:40%; height:0; padding-bottom: 40%;  background: url("../img/deco5.svg") no-repeat top right/ contain; position: absolute; top: -5%; right: 100%; margin: auto; pointer-events: none; } 
.conts-human .text:after { content: ''; width:40%; height:0; padding-bottom: 40%; background: url("../img/deco6.svg") no-repeat bottom right/ contain; position: absolute; bottom: 5%; left: 110%; margin: auto; pointer-events: none; } 

.conts-human .text .title { font-size: 1.5rem; margin-bottom: 1em; text-align: center; }
.conts-human .text .copy { font-size: 3.2rem; line-height: 120%; margin-bottom: 2rem; text-align: center; color: #11E0DB;font-family:'eriji'; }
.conts-human .text .subtitle { font-weight: bold; margin-bottom: 1em; }


.conts-human .tab-buttons { text-align: center; margin: 2rem auto 0; }
.conts-human .tab-buttons > li{ display: inline-block; }
.conts-human .tab-buttons button{ border: none; background: none; padding: 1em; position: relative; font-size: 1rem; font-famiy: 'Montserrat', sans-serif;  outline: none; cursor: pointer;  }
.conts-human .tab-buttons button:after { content: ''; width: 100%; height: 3px; margin: auto; display: block; background: none; position: absolute; bottom: 0 ;left: 0; right: 0 ; -ms-transition: all .3s; -webkit-transition: all .3s;  transition: all .3s; }
.conts-human .tab-buttons button.hover:hover:after,
.conts-human .tab-buttons button.active:after { background: linear-gradient(90deg, #1FEFC7, #00CEF4);}

@media screen and (max-width: 1200px) {
	.conts-human .text .title { font-size: 1.2rem; }
	.conts-human .text{ width: 60%; min-width: 0; padding: 6vw 5vw; }
	.conts-human .text .copy { font-size: 2.8rem;  }
}
@media screen and (max-width: 900px) {
	.conts-human .text{ width: 90%; padding: 1.5rem 5%}
	.conts-human .text .title { font-size: 1rem; }
	.conts-human .text .copy { font-size: 2rem; }
	.conts-human .text .copy br { display: none; }
  
  .conts-human { padding-top: 40%;}
  .conts-human:before, 
  .conts-human:after { content: ''; width: 50%; height:0; padding-bottom: 50%; bottom: auto; }
  
  .conts-human .text:before,
  .conts-human .text:after { display: none; } 
}

.conts-human .swiper-human-pagination { display: block; margin: 2rem auto; text-align: center; }
.conts-human .conts-swiper .swiper-pagination-bullet { width: 3rem; height: auto; background: none!important; padding-bottom: 1rem;position: relative; border-radius: none;  }
.conts-human .conts-swiper .swiper-pagination-bullet:after { content:''; width: 100%; height: 5px; display: block; bottom: 0; left: 0; right: 0; margin: auto; position: absolute; }
.conts-human .conts-swiper .swiper-pagination-bullet-active:after { background:linear-gradient(90deg, #1FEFC7, #00CEF4); }