@charset "UTF-8";
/* CSS Document */
/* ======================================================
* style.css
* language - japanese
* ------------------------------------------------------
* - reset
* - common
* - header
* - footer
* - keyvisual
* - border
* - navigation
* - contents
====================================================== */
/* ------------------------------------------------------
*reset
------------------------------------------------------ */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6 blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align: baseline;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
  font-feature-settings: "palt";
}
h1,h2,h3,h4{
  letter-spacing: 0.1rem;
}
img {
	vertical-align: bottom;
	-ms-interpolation-mode: bicubic;
}
html {
	width: 100%;
	font-size: 62.5%;
	color: #323232;
}
body {
	font-size:1.6rem;
	font-family: 'Noto Sans JP', sans-serif;
	width: 100%;
	line-height: 1.5;
	overflow-x: hidden;
  letter-spacing: 0.06rem;
}
main{
  overflow-x: hidden;
  color: #cdcdcd;
}

hr{
  border: none;
  height: 90px;
}
hr{
  border: none;
  height: 20px;
}
ul{
  list-style: none;
  padding: 0;
  margin: 0;
}
ul.list{
  list-style: circle;
}
a{
	text-decoration: none;
}
ul{
  list-style: none;
}

p{
  
  line-height: 2.1;
  letter-spacing: 0.1rem;
  
}
.pc-only{
  display: block;
}
.sp-only{
  display: none;
}
@media only screen and (min-width: 769px) {
  a[href^="tel:"]{
    pointer-events: none;
  }
}
/* ------------------------------------------------------
*common
------------------------------------------------------ */

   .animation h2{
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
    opacity:0;
    transition: all 1.2s ease;
    -webkit-transition: all 1.2s ease;
  }
   .animation.anime h2{
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
    opacity:1;
  }
  #access.animation .content{
    opacity:0;
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
     transition: all 1.2s ease;
    -webkit-transition: all 1.2s ease;
  }
  #access.animation.anime .content{
    opacity:1;
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
  }

/* ------------------------------------------------------
*  sec-content
------------------------------------------------------ */
section.sec-content{
  padding: 85px 0 85px 0;
  position: relative;
}
.content-header h2{
  text-align: center;
  margin: auto;
  margin-bottom: 40px;
  display: block;
  position: relative;
  z-index: 2;
}
.content-header h2.eng strong{
  font-size: 5.6rem;
  font-family: 'Archivo Black', sans-serif;
font-family: 'Open Sans', sans-serif;
  font-weight: 300;
  color: #ccc;
  letter-spacing: 1rem;
  text-indent:1rem;
}
.content-header h2.jpn{
  text-align: center;
  margin: auto;
  font-family: 'Noto Serif JP', serif;
}
.content-header h2.jpn strong{
  font-size: 4.8rem;
  font-weight: 300;
  font-family: 'Noto Serif JP', serif;
  display: block;
  letter-spacing: 1rem;
  text-indent:1rem;
  font-weight: 300;
}
.content-header h2 span{
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  padding-bottom: 2px;
  font-size: 2.0rem;
  display: block;
  letter-spacing: 0.4rem;
  text-indent:0.4rem;
}
.jpn{
  font-family: 'Noto Serif JP', serif;
}
section.sec-content h3{
  font-weight: 300;
  text-align: center;
  margin: 30px auto 30px auto;
  font-size: 2.4rem;
  letter-spacing: 0.4rem;
  text-indent:0.4rem;
}
main{
 /* background: url('../images/sqlab_bg.jpg'); */
  background-size: 100% auto;
  display: block;
  background: #272727;
}
section.sec-content　p{
  color: #153f54;
}
.main-contents{
  margin-top: 0;
}
.content{
  position: relative;
  z-index: 1;
}
.content-header{
  margin-bottom: 70px;
}
.box-shadow{
  box-shadow:  		0px 0px 20px 7px rgba(21,63,84,0.15);
  -webkit-box-shadow:	0px 0px 20px 7px rgba(21,63,84,0.15);
}
.fc-blue{
  color: #153f54;
}
.fc-brown{
  color: #b26b42;
}
.fw100{
  font-weight: 100;
}
/*------------------------- clearfix -------------------------*/
.clearfix::after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
.clearfix {
	min-height: 1px;
}
* html .clearfix {
	height: 1px;/*\*//*/
  height: auto;
  overflow: hidden;
  /**/
}
/* ------------------------------------------------------
*header
------------------------------------------------------ */
.site-header{
  height: 80px;
  background: #000;
  position:relative;
  z-index: 400;
}
.site-header h1{
  width: 156px;
  height: auto;
  position: absolute;
  left: 30px;
  top: 44%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
  z-index: 1;
}
.site-header h1 img{
  width: 100%;
  height: auto;
}
.site-header nav.language{
  position: relative;
  height: 80px;
}
.site-header nav.language div{
  position: absolute;
  width: 80px;
  height: 80px;
  right: 0px;
  top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
  z-index: 1;
}
.site-header nav.language div.btn img{
  width: 60px;
  height: 60px;
  position: absolute;
   	top: 50%;
   	left: 50%;
   	-webkit-transform: translate(-50%, -50%);
   	transform: translate(-50%, -50%);
}
.site-header nav.language ul::before{
  content:"";
  position: absolute;
  top: -10px;
right: 30px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 10px 10px 10px;
  border-color: transparent transparent #04aba0 transparent;
}
.site-header nav.language ul{
  width: 155px;
  background: #04aba1;
  padding: 20px 0;
  position: absolute;
  right: 0;
  top:80px;
  z-index: 100;
  display: none;
}
.site-header nav.language ul li{
 text-align: center;
}
.site-header nav.language ul li a{
  color: #fff;
  position: relative;
}
.site-header nav.language ul li a:span{
  display: block;
  position: relative;
}
.site-header nav.language ul li a{
  padding-left: 20px;
  position: relative;
  
}
@keyframes language-btn {
    0% {
      left: 0px;
    }
  50% {
     left: 5px;
    }
  100% {
    left: 0px;
    }
}
.site-header nav.language ul li a::before{
  content:"";
   background: url(../images/sqlab_icon_arrow.svg) no-repeat;
  background-size: cover;
  width: 7px;
  height: 14px;
  position: absolute;
  left: 0;
  top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.site-header nav.language ul li a span::before{
  content:"";
  position: absolute;
  bottom:-5px;
  left: 0;
  
  width: 0%;
  border-bottom:1px #fff solid;
  transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
}
section.sec-keyvisual.anime strong img {
    max-width: 100px;
}
@media screen and (min-width:769px){
  .site-header nav.language ul li a:hover::before{
    animation-name: language-btn;
    animation-duration: 0.6s;
    animation-fill-mode: forwards;
  }
  .site-header nav.language ul li a:hover span::before{
    width:100%;
  }
}
.contents-wrap{
  margin-top: 0;
  overflow: hidden;
}
.contents-wrap.active{
  margin-top: 0px;
}
/* ------------------------------------------------------
*footer
------------------------------------------------------ */
.site-footer{
  height: 83px;
  background: #000;
  color: #fff;
  position: relative;
}
.footer-copyright{
  position: absolute;
  right: 50px;
  top: 49%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
  font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.8rem;
  color: rgba(255,255,255,0.8);
  letter-spacing: 0;
}


/* ------------------------------------------------------
*keyvisual
------------------------------------------------------ */

.sec-keyvisual strong{
  position: absolute;
  right: 15%;
  top:15%;
  z-index: 20;
  transition: all 2s ease-out;
	 -webkit-transition: all 2s ease-out;
  transition-delay: 0.3s;
	-webkit-transition-delay: 0.3s;
  opacity:0;
}

.sec-keyvisual{
  height : -webkit-calc(100vh - 80px) ; 
  height : calc(100vh - 80px) ; 
  position: relative;
  overflow: hidden;
  transition: all 2s ease-out;
	 -webkit-transition: all 2s ease-out;
  opacity:0;
}
.sec-keyvisual.anime{
  opacity:1;
}
.sec-keyvisual.anime strong {
  opacity:1;
}
.keyvisual{
  height : -webkit-calc(100vh - 80px) ; 
  height : calc(100vh - 80px) ; 
  position: relative;
  overflow: hidden;
  z-index: 10;
}
.keyvisual li>div{
  width: 100%;
  height : -webkit-calc(100vh - 80px) ; 
  height : calc(100vh - 80px) ; 
  position: relative;
  overflow: hidden;
}
.keyvisual li.active>div .img{
  animation-name: zoomIn;
  animation-duration: 20s;
  animation-fill-mode: forwards;
}
.keyvisual li>div .img{
  width: 100%;
  height: 100%;
}
.sec-keyvisual .bg{
  position: absolute;
  left: 0;
  top:0;
  z-index: 0;
}
.sec-keyvisual .bg,
.sec-keyvisual .bg .img{
  background: #000;
  height : -webkit-calc(100vh - 80px) ; 
  height : calc(100vh - 80px) ; 
  width: 100%;
}
.sec-keyvisual .bg ul li.active{
  display: block;
  display: none;
}
.sec-keyvisual .bg ul li{
  display: none;
}
@keyframes zoomIn {
    0% {
      /*
     width: 100%;
     height: 100%;
      */
      transform: scale(1, 1);
    }
  100% {
    /*
        margin-left: -10%;
        margin-top: -5%;
        width: 120%;
        height: 120%;
    */
    transform: scale(1.2, 1.2);
    }
}
/* ------------------------------------------------------
*border
------------------------------------------------------ */
.border{
   position: absolute;
  width : -webkit-calc(100% - 60px); 
  width : calc(100% - 60px);
  height: calc(100% + 30px);
  height: -webkit-calc(100% + 30px); 
  pointer-events: none;
  top:110px;
  left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
  z-index: 100;
}
.border .b-top{
  position: absolute;
  width: 0%;
  height: 4px;
  background: #fff;
  top:0;
  left: 0;
  	transition: all 2s linear;
	-webkit-transition: all 2s linear;
}
.border .b-left{
  position: absolute;
  width: 4px;
  height: 0%;
  background: #fff;
  bottom:0;
  left: 0;
  transition: all 2s linear;
	-webkit-transition: all 2s linear;
}
.border .b-right{
  position: absolute;
  width: 4px;
  height: 0%;
  background: #fff;
  top:0;
  right: 0;
  transition: all 2s linear;
	-webkit-transition: all 2s linear;
}
.border .b-bottom{
  position: absolute;
  width: 0%;
  height: 4px;
  background: #fff;
  bottom:0;
  right: 0;
  transition: all 2s linear;
	-webkit-transition: all 2s linear;
}
.border.anime .b-top{
  width: 100%;
}
.border.anime .b-left{
   height: 100%;
}
.border.anime .b-right{
   height: 100%;
}
.border.anime .b-bottom{
  width: 100%;
}
.border.active{
  position: fixed;
  -webkit-transform: translateY(-90px)  translateX(-50%);
	transform: translateY(-90px)  translateX(-50%);
}
/* ------------------------------------------------------
*navigation
------------------------------------------------------ */
.btn-open{
  display: none;
}
.btn-close {
  display: none;
}
.main-nav{
  position: relative;
  width: 100%;
  transition: all 0.6s ease;
	-webkit-transition: all 0.6s ease;
  border-bottom: solid 1px rgba(0,0,0,0);
}
.main-nav.active {
    position: fixed;
    left: 0;
    top: 0;
    z-index: 3;
    background: rgb(29 29 29);
}
.main-nav ul{
  max-width: 1160px;
  margin: auto;
  padding: 0 50px;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 0px 1fr 0px 1fr 0px 1fr 0px 1fr 0px 1fr 0px 1fr;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  -ms-grid-rows: 1f;
  grid-template-rows: 1f;
  gap:0px;
}.main-nav ul > *:nth-child(1){
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}.main-nav ul > *:nth-child(2){
  -ms-grid-row: 1;
  -ms-grid-column: 3;
}.main-nav ul > *:nth-child(3){
  -ms-grid-row: 1;
  -ms-grid-column: 5;
}.main-nav ul > *:nth-child(4){
  -ms-grid-row: 1;
  -ms-grid-column: 7;
}.main-nav ul > *:nth-child(5){
  -ms-grid-row: 1;
  -ms-grid-column: 9;
}.main-nav ul > *:nth-child(6){
  -ms-grid-row: 1;
  -ms-grid-column: 11;
}.main-nav ul > *:nth-child(7){
  -ms-grid-row: 1;
  -ms-grid-column: 13;
}
.main-nav ul li{
  position: relative;
}
.main-nav ul li a{
  display: block;
  padding: 30px 0;
  font-size: 1.7rem;
  color: #ccc;
  text-align: center;
   transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
}
@media screen and (max-width:1020px){
  .main-nav ul{
    -ms-grid-columns: 1fr 0px 1fr 0px 1fr 0px 1fr 0px 1fr 0px 1fr 0px 1.2fr;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1.2fr;
  }
}
@media screen and (max-width:920px){
  .main-nav ul li a{
    font-size: 1.4rem;
  }
}
.main-nav ul li::after{
  content:"";
  width: 1px;
  height: 30%;
  background: #ccc;
  position: absolute;
  left: 0;
  top: 51%;
	-webkit-transform: translateY(-50%) rotate(30deg);
	transform: translateY(-50%) rotate(30deg);
  pointer-events: none;
}
.main-nav ul li:first-child::after{
  display: none;
}
.main-nav ul li::before{
  content:"";
  width: 12px;
  height: 37px;
  background: url(../images/sqlab_icon_down.svg) no-repeat;
  position: absolute;
  bottom: 0px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
  z-index: 2;
  pointer-events: none;
  opacity:0;
  transition: all 0.5s ease;
	-webkit-transition: all 0.5s ease;
}
@media screen and (min-width:769px){
  .main-nav ul li a:hover{
    color: #05a5af;
  }
  .main-nav ul li:hover::before{
    opacity:1;
    bottom: -12px;
  }
}
/* ------------------------------------------------------
*contents
------------------------------------------------------ */
#message .content{
  max-width: 1123px;
  margin: auto;
  padding: 0 50px 30px 50px;
}

/*consept*/
#consept header{
  padding-top:35px;
}
#consept .content{
  max-width: 1200px;
  margin: auto;
  padding: 0 50px;
  position: relative;
}
#consept .column2-1{
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 30px 1fr;
  grid-template-columns: 1fr 1fr;
  -ms-grid-rows: 1f;
  grid-template-rows: 1f;
  gap:30px;
}
#consept .column2-1 > *:nth-child(1){
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  
}
#consept .column2-1 > *:nth-child(2){
  -ms-grid-row: 1;
  -ms-grid-column: 3;
  padding: 10px 30px 0;
}
#consept p{
  margin: 15px 0 50px;
}
#consept .img{
  background: #fff;
  height: 335px;
  position: relative;
}
#consept .img img{
  position: absolute;
  top: 50%;
   	left: 50%;
   	-webkit-transform: translate(-50%, -50%);
   	transform: translate(-50%, -50%);
}
#consept .bg{
      background: rgb(91 96 101 / 35%);
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0%;
    top: 0;
    z-index: 0;
    display: block;
}
@media screen and (min-width:769px){
.sec-content [data-aos="move-right"] {
 transform: translateX(-100%);
}
.sec-content  [data-aos="move-right"].aos-animate {
   transform: translateX(0%);
  }
}
#consept .object{
  display: none;
  z-index: 0;
  position: absolute;
  right: -11%;
  top:-200px;
}
#consept .span-object{
  position: absolute;
   display: block;
  left: 0;
  top:0;
  width: 100%;
  height: 100%;
}
#consept .span-object span{
  position: absolute;
  background: rgba(129,151,163,0.4);
  display: block;
}
#consept .span-object span:nth-child(1){
  width: 26px;
  height: 26px;
  left: 72.5%;
  top:-29.5%;
}
#consept .span-object span:nth-child(2){
  width: 19px;
  height: 19px;
  left: 76.5%;
  top:-20.5%;
}
#consept .span-object span:nth-child(3){
  width: 47px;
  height: 47px;
  left: 83.7%;
  top:-23.5%;
}
#consept .span-object span:nth-child(4){
  width: 32px;
  height: 32px;
  left: 89.1%;
  top:-11.5%;
}
#consept .span-object span:nth-child(5){
  width: 24px;
  height: 24px;
  left: 91.8%;
  top:-42.3%;
}
#consept .span-object span:nth-child(6){
  width: 103px;
  height: 103px;
  left: 94.8%;
  top:-34.3%;
}
#consept .span-object span:nth-child(7){
  width: 14px;
  height: 14px;
  left: 97.4%;
  top:-3.5%;
}
#consept .span-object span:nth-child(8){
  width: 37px;
  height: 37px;
  left: 102.5%;
  top:-47.3%;
}
#consept .span-object span:nth-child(9){
  width: 75px;
  height: 75px;
  left: 104.8%;
  top:-0.8%;
}
/*purpose*/
#purpose{
  margin-top: 55px;
  padding-left: 50px;
  padding-right: 50px;
}
#purpose header{
  margin-bottom: 38px;
}
#purpose .sec-content{
  padding: 0 20px;
}
#purpose .content h2,#purpose .content p{
  color: #fff;
}
#purpose .content{
  color: #fff;
  max-width: 974px;
  margin: auto;
  background: url(../images/sqlab_bg_03_01.jpg) no-repeat;
  background-size: cover;
  border:solid 14px #fff;
  padding: 70px 60px;
}
#purpose .description{
  border-bottom:solid 1px #fff;
  padding-bottom: 35px;
  margin-bottom: 35px;
}
#purpose .link{
  margin-top: 50px;
  text-align: center;
}
#purpose .link nav{
  max-width: 600px;
  margin: 30px auto 0 auto;
}
#purpose .link nav ul{
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 40px 1fr;
  grid-template-columns: 1fr 1fr;
  -ms-grid-rows: 1f;
  grid-template-rows: 1f;
  gap:40px;
}
#purpose .link nav ul > *:nth-child(1){
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  
}
#purpose .link nav ul > *:nth-child(2){
  -ms-grid-row: 1;
  -ms-grid-column: 3;
}
#purpose .link nav ul li a{
  display: block;
  padding: 20px 0;
  color: #fff;
  background: #05a5af;
  font-size: 1.7rem;
  transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
  
}


#purpose .link nav ul li:nth-child(2) a{
 background: #0080a5;
}
#purpose .link nav ul li a span{
  position: relative;
  margin-left: -20px;
  z-index: 10;
}
#purpose .link nav ul li a span::after{
  content:"";
  width: 18px;
  height: 15px;
  /*background: url(../images/sqlab_icon_site.svg) no-repeat;*/
  background: url(../images/sqlab_icon_site_w.svg) no-repeat;
  background-size: cover;
  position: absolute;
  right: -30px;
  top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
#purpose .link nav ul li a span::before{
  content:"";
  width: 18px;
  height: 15px;
  /*background: url(../images/sqlab_icon_site.svg) no-repeat;*/
  background: url(../images/sqlab_icon_site.svg) no-repeat;
  background-size: cover;
  position: absolute;
  right: -30px;
  top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
  z-index: 2;
  opacity:0;
  transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
}
@media screen and (min-width:769px){

  #purpose .link nav ul li a:hover{
    color: #05a5af;
    background: #fff;
  }
  
  #purpose .link nav ul li a:hover span::before{
    opacity:1;
  }
}
/*feature*/
#feature header{
  margin-bottom: 70px;
}
#feature .content{
  max-width: 1300px;
  padding: 0 50px;
  margin: auto;
  
}
#feature .column2-1{
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1.1fr 60px 1fr;
  grid-template-columns: 1.1fr 1fr;
  -ms-grid-rows: 1f;
  grid-template-rows: 1f;
  gap:60px;
  
}
#feature .column2-1 > *:nth-child(1){
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}
#feature .column2-1 > *:nth-child(2){
  -ms-grid-row: 1;
  -ms-grid-column: 3;
}
#feature .feature1 strong{
  font-size: 2.1rem;
  font-weight: 500;
  text-align: center;
  display: block;
  line-height: 1.7;
  letter-spacing: 0.3rem;
  text-indent:0.3rem;
}
#feature .feature1 strong span{
  color: #05a5af;
  font-size: 2.7rem;
}
#feature .feature1 .img{
  margin: 30px 0 40px;
}
#feature .feature1 .img img{
  display: block;
  margin: auto;
}
#feature .feature1 .column2-1-2{
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 0px 1fr;
  grid-template-columns: 1fr 1fr;
  -ms-grid-rows: 1f;
  grid-template-rows: 1f;
  gap:0px;
}
#feature .feature1 .column2-1-2 > *:nth-child(1){
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}
#feature .feature1 .column2-1-2 > *:nth-child(2){
  -ms-grid-row: 1;
  -ms-grid-column: 3;
}

#feature .feature1 .column2-1-2 dl dt{
  color: #fff;
  font-size: 3.2rem;
  text-align: center;
  padding: 20px 0;
  font-weight: 300;
  letter-spacing: 0.2rem;
  text-indent:0.2rem;
}
#feature .feature1 .column2-1-2 dl dt span{
  font-weight: 500;
  font-size: 1.5rem;
  display: block;
  text-align: center;
  position: relative;
}
#feature .feature1 .column2-1-2 dl dt span::before,
#feature .feature1 .column2-1-2 dl dt span::after{
  content:"";
  width: 33px;
  height: 1px;
  background: rgba(255,255,255,0.5);
  display: inline-block;
  vertical-align: middle;
  margin: 0 10px;
}
#feature .feature1 .column2-1-2 dl dt{
  background: rgba(122,81,38,0.4);
  margin-left: 5px;
}
#feature .feature1 .column2-1-2 dl dd{
  background: rgba(122,81,38,0.2);
  margin-left: 5px;
  padding-bottom: 97px;
  position: relative;
  
}
#feature .feature1 .column2-1-2 dl:first-child dt{
  background: rgba(21,63,84,0.4);
  margin-right: 5px;
}
#feature .feature1 .column2-1-2 dl:first-child dd{
  background: rgba(21,63,84,0.2);
  margin-right: 5px;
}
#feature .feature1 .column2-1-2 dl dd ul{
  padding: 30px 10px;
}
#feature .feature1 .column2-1-2 dl dd ul li{
  font-weight: 500;
  color: #153f54;
  text-align: center;
  line-height: 1.7;
  font-size: 1.4rem;
}
#feature .feature1 .column2-1-2 dl dd div{
  background: #fff;
  width : -webkit-calc(100% - 25px) ; 
width : calc(100% - 25px) ;
  position: absolute;
  padding: 20px 10px;
  text-align: center;
  font-weight: 500;
  font-size: 1.5rem;
  color: #153f54;
  left: 0;
  bottom:27px;
}
#feature .feature1 .column2-1-2 dl:first-child dd div{
  background: #fff;
  text-align: center;
  left: auto;
  right: 0;
  bottom:27px;
}
#feature .feature1 .column2-1-2 dl:first-child dd div::before{
  content:"";
  width: 10px;
  height: 100%;
  position: absolute;
  right: -10px;
  top:0;
  background: #fff;
}
#feature .feature1 .column2-1-2 dl:first-child dd div::after{
  content:"";
  width: 1px;
  height: 50%;
  background: url(../images/sqlab_line_dots.svg) no-repeat;
  background-size: cover;
  position: absolute;
  right: -4px;
  top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
#feature .feature1 .column2-1-2 dl dd div img{
  width: 80%;
}
#feature .feature2 ul li{
  width: 100%;
  position: relative;
  margin: 10px auto 80px;
  filter: drop-shadow(0px 0px 20px rgba(21,63,84,0.15));
}
#feature .feature2 ul li:last-child{
  margin: 10px auto 0px;
}
#feature .feature2 ul li .txt{
  background: #fff;
  margin: auto;
  padding: 20px 45px 15px;
}

#feature .feature2 ul li .img{
  height: 20px;
  background: url(../images/sqlab_bg_04_top.svg) no-repeat;
  background-size: cover;
}
#feature .feature2 ul li .img2{
  height: 20px;
  background: url(../images/sqlab_bg_04_bottom.svg) no-repeat;
  background-size: cover;
}

#feature .feature2 ul li .tag{
  left: 30px;
  top:-25px;
  position: absolute;
  background: #153f54;
  width: 54px;
  height: 54px;
  font-size: 1rem;
  font-weight: 500;
  color: #fff;
  line-height: 1.5;
  text-align: center;
  letter-spacing: normal;
}
#feature .feature2 ul li .tag>div{
   position: absolute;
   	top: 50%;
   	left: 50%;
   	-webkit-transform: translate(-50%, -50%);
   	transform: translate(-50%, -50%);
}
#feature .feature2 ul li .tag span{
  font-size: 1.6rem;
  display: block;
}
#feature .feature2 ul li dl dt{
  text-align: center;
  font-size: 3.3rem;
  margin-bottom: 27px;
  font-weight: 300;
  letter-spacing: 0.2rem;
  text-indent:0.2rem;
}

#feature .feature2 ul li dl dt .fw100{
  padding: 0 10px;
  display: inline-block;
}
/*lab*/
#lab .content{
  max-width: 1300px;
  padding: 0 50px;
  margin: auto;
}
#lab header{
  margin-bottom: 70px;
}
#lab .content ul{
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 60px 1fr 60px 1fr;
  grid-template-columns: 1fr 1fr 1fr;
  -ms-grid-rows: 1f;
  grid-template-rows: 1f;
  gap:60px;
}
#lab .content ul > *:nth-child(1){
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}
#lab .content ul > *:nth-child(2){
  -ms-grid-row: 1;
  -ms-grid-column: 3;
}
#lab .content ul > *:nth-child(3){
  -ms-grid-row: 1;
  -ms-grid-column: 5;
}
#lab .content ul li .img{
  position: relative;
  
}
#lab .content ul li .img a{
  opacity:1;
  display: block;
  transition: all 0.5s ease;
	-webkit-transition: all 0.5s ease;
}
#lab .content ul li .img::after{
  content:"";
  width: 28px;
  height: 28px;
  background: url(../images/sqlab_icon_zoom.svg) no-repeat;
  background-size: cover;
  position: absolute;
  right: 0;
  bottom:0;
  z-index: 2;
  pointer-events: none;
}
#lab .content ul li img{
  width: 100%;
}
#lab .content ul li dl{
  max-width: 85%;
  margin: 20px auto 0 auto;
}
#lab .content ul li dl dt{
  font-size: 2.2rem;
  text-align: center;
  color: #153f54;
  letter-spacing: 0.3rem;
  text-indent: 0.3rem;
}
#lab .content ul li dl dd{
  font-size: 1.4rem;
}
@media screen and (min-width:769px){
  #lab .content ul li a:hover{
    opacity:0.8;
  }
}
/*content-floor*/
.content-floor{
  position: relative;
  margin: 95px auto 70px;
}
.content-floor .bg{
  background: rgba(0,34,61,0.13);
  width: 100%;
  height: 90%;
  position: absolute;
  left: -100%;
  top:130px;
  z-index: 0;
  display: block;
  transition: all 1.2s ease-out;
	-webkit-transition: all 1.2s ease-out;
}
.content-floor.anime .bg{
  left: 0%;
}
.content-floor .inner{
  max-width: 1124px;
  padding: 0 50px;
  position: relative;
  margin: auto;
  z-index: 2;
}
.content-floor h3{
  font-size: 2.4rem;
  font-weight: 500!important;
  margin-bottom: 110px!important;
}
.content-floor .in-block{
  letter-spacing: -0.5rem;
}
.content-floor .in-block>*{
  display: inline-block;
  vertical-align: bottom;
  letter-spacing: normal;
}
.content-floor .in-block>div:nth-child(1){
  width: 45%;
}
.content-floor .in-block>div:nth-child(2){
  width: 55%;
  margin-right: 0;
  margin-left: auto;
  padding: 0 0 0 28px;
 
}
.floor-nav {
  padding-right: 62px;
}
@media screen and (max-width:1190px){
  .content-floor .in-block>div:nth-child(2){
    padding: 0 0 0 0px;
  }
  .content-floor .floor-details .slider{
    margin-right: 20px;
  }

}
.floor-nav img{
  width: 100%;
}
.floor-nav nav{
  position: relative;
}
.floor-nav nav li{
  position: absolute;
  background: rgba(5,165,175,0);
  transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
}
.floor-nav nav li:hover{
  background: rgba(5,165,175,0.5);
  cursor: pointer;
}
.floor-nav nav li.active{
  background: rgba(5,165,175,0.5);
}
.floor-nav nav li.btn1{
  width: 25.7%;
  height: 14%;
  left: 42.5%;
  top:81.7%;
}

.floor-nav nav li.btn2{
  width: 19.4%;
  height: 15%;
  left: 26.5%;
  top:54.2%;
}

.floor-nav nav li.btn3{
  width: 11%;
  height: 15%;
  left: 14.2%;
  top:54.2%;
}
.floor-nav nav li.btn4{
  width: 9%;
  height: 23.5%;
  left: 3.5%;
  top:45.5%;
}
.floor-nav nav li.btn5{
  width: 9%;
  height: 23.5%;
  left: 3.5%;
  top:19.5%;
}
.floor-nav nav li.btn6{
  width: 20.5%;
  height: 32.1%;
  left: 14.2%;
  top:19.5%;
}
.floor-nav nav li.btn7{
  width: 9.5%;
  height: 32.1%;
  left: 36.2%;
  top:19.5%;
}
.floor-nav nav li.btn8{
  width: 42.3%;
  height: 49.5%;
  left: 54.5%;
  top:19.5%;
}
.floor-details .slider .img{
  width: 100%;
  height: 330px;
}
.slick-slide:focus {
  outline: none;
}
.floor-details .slider{
  background: #fff;
}

.floor-details .slider li{
  
}
.floor-details .slider li dl{
  padding: 34px 34px 20px;
}
.floor-details .slider li dl dt{
  color: #05a5af;
  font-weight: 500;
  font-size: 2rem
}

.floor-details .slider li dl dt span{
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 2rem;
  margin-right: 5px;
}
.arrow.prev{
  width: 35px;
  height: 35px;
  background: url(../images/sqlab_icon_left.svg) no-repeat;
  background-size: cover;
  position: absolute;
  left: -20px;
  top: 55%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
  z-index: 2;
}
.arrow.next{
  width: 35px;
  height: 35px;
  background: url(../images/sqlab_icon_right.svg) no-repeat;
  background-size: cover;
  position: absolute;
  right: -20px;
  top: 55%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
  z-index: 2;
}

/*content-floor*/
.content-display{
  position: relative;
  margin: 190px auto 30px;

}

.content-display .inner{
  max-width: 1124px;
  padding: 0 50px;
  margin: auto;
  position: relative;
  z-index: 2;
  opacity:0;
  	transition: all 1.2s ease-out;
	-webkit-transition: all 1.2s ease-out;
  transition-delay: 1s;
	-webkit-transition-delay: 1s;
}

.content-display.anime .inner{
  opacity:1;
}
.content-display h3{
  font-size: 2.4rem;
  font-family: 'Noto Serif JP', serif;
  font-weight: 500!important;
  margin-bottom: 40px!important;
}
.content-display .bg{
  background: rgba(0,34,61,0.13);
  width: 100%;
  height: 85%;
  position: absolute;
  right: -100%;
  top:160px;
  z-index: 0;
  display: block;
  transition: all 1.2s ease-out;
	-webkit-transition: all 1.2s ease-out;
}
.content-display.anime .bg{
  right: 0%;
}
.content-display ul1 li{
  width: 100%;
  overflow: hidden;
  position: relative;
}
.content-display .column2-1 li{
  width: 100%;
  height: 325px;
  overflow: hidden;
  position: relative;
}
.content-display .column2-1 li>*{
  height: 100%;
}
.content-display .column2-1 .img{
  width: 100%;
  height: 100%;
}
.content-display ul li .txt{
  pointer-events: none;
  width: 100%;
  height: 100%;
  position: absolute;
  	top: 0%;
   	left: 0%;
  background: rgba(21,63,84,0);
  color: #fff;
  transition: all 0.6s ease;
	 -webkit-transition: all 0.6s ease;
}

.content-display ul li .txt>div{
  color: #fff;
  font-size: 1.8rem;
  text-align: center;
  position: absolute;
   	top: 60%;
   	left: 50%;
   	-webkit-transform: translate(-50%, -50%);
   	transform: translate(-50%, -50%);
  width: 100%;
  transition: all 0.8s ease;
	-webkit-transition: all 0.8s ease;
  opacity:0;
  padding: 20px;
}
@media screen and (min-width:769px){
  .content-display ul li:hover .txt{
    background: rgba(21,63,84,0.85);
  }
  .content-display ul li:hover .txt>div{
    top: 50%;
    opacity:1;
  }
}
.content-display .column2-1{
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 14px 1fr;
  grid-template-columns: 1fr 1fr;
  -ms-grid-rows: 1f;
  grid-template-rows: 1f;
  gap:14px;
  margin-bottom: 14px;
}
.content-display .column2-1> *:nth-child(1){
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}
.content-display .column2-1 > *:nth-child(2){
  -ms-grid-row: 1;
  -ms-grid-column: 3;
}
.content-display .column3-1 li{
  height: 215px;
  position: relative;
  overflow: hidden;
}
.content-display .column3-1 li>*{
  height: 100%;
}
.content-display .column3-1 .img{
  height: 215px;
}
.content-display .column3-1{
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 14px 1fr 14px 1fr;
  grid-template-columns: 1fr 1fr 1fr;
  -ms-grid-rows: 1f;
  grid-template-rows: 1f;
  gap:14px;
}
.content-display .column3-1 > *:nth-child(1){
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}
.content-display .column3-1 > *:nth-child(2){
  -ms-grid-row: 1;
  -ms-grid-column: 3;
}
.content-display .column3-1 > *:nth-child(3){
  -ms-grid-row: 1;
  -ms-grid-column: 5;
}
/*access*/
#access header{
  margin-top: 0px;
}
#access .content{
  max-width: 1300px;
  padding: 0 50px;
  margin: auto;
}
#access iframe{
  width: 100%;
  height: 440px;
}
#access .map{
  border:solid 20px #fff;
}
#access .column2-1{
  max-width: 1070px;
  padding: 0 50px;
  margin: 30px auto;
  position: relative;
}
#access .column2-1 div p{
  line-height: 1.8;
}
#access .column2-1>*:nth-child(1){
  width : -webkit-calc(100% - 400px) ; 
  width : calc(100% - 400px) ;
}

#access .column2-1 nav{
  width: 390px;
  position: absolute;
  right: 0;
  top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
  text-align: right;
}
#access .column2-1 nav div{
   width: 175px;
  margin-right: 10px;
  display: inline-block;
}
#access nav a{
  display: block;
  text-align: center;
  color: #fff;
  border: solid 1px #fff;
  font-size: 1.5rem;
  padding: 10px 0;
  position: relative;
  transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
  overflow: hidden;
}
#access nav a>span{
  position: relative;
  z-index: 5;
}
#access nav a .bg{
  position: absolute;
  content:"";
  width: 100%;
  height: 0%;
  background: rgba(21,63,84,0.5);
  left: 0;
  top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
  z-index: 1;
  transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
  transition-delay: 0.3s;
	-webkit-transition-delay: 0.3s;
}
#access nav a::before{
  position: absolute;
  content:"";
  width: 100%;
  height: 100%;
  background: rgba(21,63,84,0.5);
  left: 0;
  top:-100%;
  transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
  z-index: 1;
}
#access nav a::after{
  position: absolute;
  content:"";
  width: 100%;
  height: 100%;
  background: rgba(21,63,84,0.5);
  left: 0;
  top:100%;
  transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
  z-index: 1;
}
@media screen and (min-width:769px){
  #access nav a:hover::before{
    top:0%;
  }
  #access nav a:hover::after{
    top:0%;
  }
  #access nav a:hover .bg{
    height:100%;
  }
  #access nav a:hover{
    color: #fff;
  }
}
/*contact*/
#contact{
  height: 240px;
  position: relative;
  overflow: hidden;
}
#contact .bg-01,#contact .bg-02{
  width: 50%;
  height: 100%;
  display: block;
  position: absolute;
}
#contact nav{
  position: relative;
  display: block;
  z-index: 2;
  max-width: 1300px;
  height: 100%;
  padding: 0 50px;
  margin: auto;
}
#contact nav ul{
  height: 100%;
  height: 240px;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 0px 1fr;
  grid-template-columns: 1fr 1fr;
  -ms-grid-rows: 1f;
  grid-template-rows: 1f;
  gap:0px;
}
#contact nav ul li{
  height: 100%;
  height: 240px;
  position: relative;
}
#contact nav ul> *:nth-child(1){
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}
#contact nav ul > *:nth-child(2){
  -ms-grid-row: 1;
  -ms-grid-column: 3;
}
#contact nav ul li>div a{
  color: #fff;
}
#contact nav ul li>div{
  width: 100%;
  text-align: center;
   position: absolute;
   top: 50%;
   left: 50%;
  -webkit-transform: translate(-50%, -50%);
   transform: translate(-50%, -50%);
  color: #fff;
}
#contact nav ul li.contact-email>div{
  left: 55%;
}
#contact nav ul li.contact-email>div a{
  color: #fff;
  font-weight: 300;
  display: block;
  position: relative;
  height: 40px;
}
#contact nav ul li a strong>*{
  display: inline-block;
  vertical-align: middle;
}
#contact nav ul li a img{
   width: 31px;
   height: auto;
}
#contact nav ul li.contact-email a strong{
  font-size: 3rem;
  display: block;
  text-align: center;
  font-weight: 300;
  letter-spacing: 0.7rem;
  text-indent: 0.7rem;
}
#contact nav ul li.contact-number a strong{
  font-size: 3.8rem;
  display: block;
  text-align: center;
  font-weight: 300;
  letter-spacing: 0.7rem;
  text-indent: 0.7rem;
}

#contact nav ul li.contact-number h3{
  font-size: 2.0rem;
  font-weight: 300;
  letter-spacing: 0.5rem;
  text-indent: 0.5rem;
}
#contact nav ul li.contact-number>div small{
  font-size: 1.4rem;
  font-weight: 300;
  margin-top: 12px;
  display: block;
  text-align: center;
}
#contact nav ul li>div strong img{
  margin-right: 12px;
}
#contact .bg-01 {
    background: rgb(84 21 21 / 80%);
    left: 0;
    top: 0;
}
#contact .bg-02{
  background: rgb(153 5 5 / 80%);
  right: 0;
  top:0;
}


@media screen and (max-width: 768px) {
  body {
    font-size:1.5rem;
    line-height: 1.5;
    letter-spacing: 0.06rem;
  }
  p{
    line-height: 2.1;
    letter-spacing: 0.1rem;
    text-align: justify;
    text-justify: inter-ideograph;
  }
  .pc-br{
    display: none;
  }
  .sp-br{
    display: block;
  }
  /* ------------------------------------------------------
  *common
  ------------------------------------------------------ */
  /* ------------------------------------------------------
  *  sec-content
  ------------------------------------------------------ */
  section.sec-content{
    padding: 45px 0 45px 0;
    position: relative;
  }
  .content-header h2{
    margin-bottom: 30px;
  }
  .content-header h2.eng strong{
    font-size: 3.3rem;
    font-family: 'EB Garamond', serif;
    letter-spacing: 0.6rem;
    text-indent: 0.6rem;
  }
  .content-header h2.jpn strong{
    font-size: 3.1rem;
    font-family: 'Noto Serif JP', serif;
    display: block;
    letter-spacing: 0.6rem;
    text-indent: 0.6rem;
  }
  .content-header h2 span{
    font-family: 'Noto Sans JP', sans-serif;
    padding-bottom: 2px;
    font-size: 1.3rem;
  }
  section.sec-content h3{
    margin: 15px auto 15px auto;
    font-size: 1.8rem;
  }
  @media screen and (max-width: 320px) {
      .content-header h2.eng strong{
        font-size: 3rem;
      }
      .content-header h2.jpn strong{
        font-size: 2.8rem;
      }
     section.sec-content h3{
      font-size: 1.6rem;
    } 
  }
  .main-contents{
    margin-top: 0;
  }

  .content-header{
    margin-bottom: 30px;
  }
  .box-shadow{
    box-shadow:  		0px 0px 20px 7px rgba(21,63,84,0.15);
    -webkit-box-shadow:	0px 0px 20px 7px rgba(21,63,84,0.15);
  }
  /*------------------------- clearfix -------------------------*/
  /* ------------------------------------------------------
  *header
  ------------------------------------------------------ */
  .site-header{
    height: 50px;
    width: 100%;
    background: #fff;
    /*position:fixed;*/
    position: relative;
    z-index: 200;
    
  }
  .site-header h1{
    left: 15px;
  }
  .site-header h1 img{
    width: 110px;
    height: auto;
    position: absolute;
    left: 0px;
    top: 50%;
    -webkit-transform: translateY(-40%);
    transform: translateY(-40%);
    z-index: 1;
    height: auto;
  }
  .site-header nav.language div.btn{
    width: 50px;
    height: 50px;
    position: absolute;
    right: 50px;
    top: 0;
    -webkit-transform: none;
    transform: none;
    z-index: 1;
  }
  .site-header nav.language div.btn img{
    width: 50px;
    height: 50px;
  }
  .site-header nav.language ul::before{
    display: none;
  }
  .site-header nav.language ul{
    width: 100%;
    background: #04aba1;
    padding: 20px 0;
    position: absolute;
    right: 0;
    top:50px;
    z-index: 100;
    display: none;
  }
  .site-header nav.language ul li{
   text-align: center;
  }
  .site-header nav.language ul li a{
    color: #fff;
    position: relative;
  }
  .site-header nav.language ul li a:span{
    display: block;
    position: relative;
  }
  .site-header nav.language ul li a{
    padding-left: 20px;
    position: relative;

  }
  .contents-wrap{
    padding-top: 0px;
    overflow-y: hidden;
    position: relative;
  }
  .contents-wrap.active{
    margin-top: 0px;
  }
  /* ------------------------------------------------------
  *footer
  ------------------------------------------------------ */
  .site-footer{
    height: 88px;
    background: #000;
    color: #fff;
    position: relative;
    text-align: center;
    letter-spacing: normal;
  }
  .footer-copyright{
    width : -webkit-calc(100% - 94px) ; 
    width : calc(100% - 94px) ;
    font-size: 1.1rem;
    
    text-align: center;
    position: relative;
    right: auto;
    top: 50%;
   	left: 50%;
   	-webkit-transform: translate(-50%, -50%);
   	transform: translate(-50%, -50%);
  }

  /* ------------------------------------------------------
  *keyvisual
  ------------------------------------------------------ */
  .sec-keyvisual strong{
    position: absolute;
    right: 10%;
    top:7%;
    width: 33%;
    opacity:0;
  }
  .sec-keyvisual strong img{
    width: 100%;
    height: auto;
  }
  .sec-keyvisual{
    height : -webkit-calc(100vh - 50px) ; 
    height : calc(100vh - 50px) ; 
    position: relative;
    overflow: hidden;
    opacity:0;
  }
  
  .keyvisual{
    height : -webkit-calc(100vh - 50px) ; 
    height : calc(100vh - 50px) ; 
    position: relative;
    overflow: hidden;
  }
  .keyvisual li>div{
    width: 100%;
    height : -webkit-calc(100vh - 50px) ; 
    height : calc(100vh - 50px) ; 
    position: relative;
    overflow: hidden;
  }
  .keyvisual li>div .img{
    width: 135%;
    height: 160%;
    margin-left: -20%;
    margin-top: -50%;
  }
.sec-keyvisual .bg,
.sec-keyvisual .bg .img{
  background: #000;
   height : -webkit-calc(100vh - 50px) ; 
    height : calc(100vh - 50px) ; 
    position: relative;
 overflow: hidden;
  width: 100%;
} 
  .sec-keyvisual .bg .img{
    width: 135%;
    height: 160%;
    margin-left: -20%;
    margin-top: -50%;
  }
  /* ------------------------------------------------------
  *border
  ------------------------------------------------------ */
  .border{
     position: absolute;
    width : -webkit-calc(100% - 20px); 
    width : calc(100% - 20px);
    height: 300px;
    pointer-events: none;
    top:10px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 100;
  }
  .border .b-top{
    height: 3px;
  }
  .border .b-left{
    width: 3px;
  }
  .border .b-right{
    width: 3px;
  }
  .border .b-bottom{
    width: 0%;
  }
  .border.active{
    position: fixed;
    -webkit-transform: translateY(-30px)  translateX(-50%);
    	transform: translateY(-30px)  translateX(-50%);
  }
  .border.active.finish{
    position:absolute;
    -webkit-transform: translateY(0px)  translateX(-50%);
    	transform: translateY(0px)  translateX(-50%);
  }
  /* ------------------------------------------------------
  *navigation
  ------------------------------------------------------ */
  .btn-open{
    display: block;
    position: absolute;
    right: 0;
    top:0;
    width: 50px;
    height: 50px;
    background: #970000;
    z-index: 210;
  }
  
  .btn-open>div{
    position: absolute;
    top: 46%;
   	left: 50%;
   	-webkit-transform: translate(-50%, -50%);
   	transform: translate(-50%, -50%);
    text-align: center;
  }
  .btn-open span,.btn-close span{
    display: block;
    margin-top: 2px;
    color: #fff;
    font-size: 0.6rem;
    text-align: center;
    letter-spacing: normal;
  }
  .btn-open img{
    width: 20px;
    height: auto;
    text-align: center;
  }
  .btn-close{
    z-index: 220;
   	display: block;
    position: absolute;
    right: -20px;
    top:20px;
    width: 50px;
    height: 50px;
    background: #a90000;
    z-index: 1;
    opacity:0;
    transition: all 0.3s ease;
	  -webkit-transition: all 0.3s ease;
    transition-delay: 0.2s;
  	-webkit-transition-delay: 0.2s;
  }
  .main-nav.open .btn-close{
    opacity:1;
    right: 20px;
  }
  .btn-close strong{
    color: #fff;
    text-align: center;
    display: block;
    font-weight: 700;
    font-size: 2.4rem;
    margin-bottom: -5px;
  }
  .main-nav{
    position: fixed;
    right: -100%;
    top:0px;
    z-index: 250;
    width: 100%;
    height: 100vh;
    background: #444;
    transition: all 0.3s ease;
	  -webkit-transition: all 0.3s ease;
  }
  .main-nav.active{
    position: fixed;
    left: auto;
    right: -100%;
    top:0;
    z-index: 250;
    height: 100vh;
    background: #444;
    border-bottom: none;
    transition: all 0.3s ease;
	  -webkit-transition: all 0.3s ease;
  }
  .main-nav.open{
    right: 0%;
  }
  .main-nav ul{
    padding: 20% 27px 0 27px;
    display: block;
  }
  .main-nav ul li{
    display: block;
    position: relative;
  }
  .main-nav ul li a{
    background: #444;
    display: block;
    padding: 15px 0 20px;
    font-size: 2rem;
    color: #fff;
    text-align: center;
    border-bottom: solid 1px rgba(255,255,255,0.4);
  }

  .main-nav ul li::after{
    display: none;
  }
  .main-nav ul li:first-child::after{
    display: none;
  }
  .main-nav ul li::before{
    display: none;
  }

  /* ------------------------------------------------------
  *contents
  ------------------------------------------------------ */
  #message .content{
    padding: 0 35px;
  }
  #message p{
    
  }
  /*consept*/
  #consept header{
    padding:0px;
    margin: 10px 0 40px 0;
  }
  #consept .content{
    max-width: 1200px;
    margin: auto;
    padding: 0 35px;
  }
  #consept .column2-1{
    display: block;
  }
  #consept .column2-1 > *:nth-child(2){
    padding: 10px 0px 0;
  }
  #consept p{
    margin: 15px 0;
    
  }
  #consept .img{
    background: #fff;
    height: auto;
    padding: 0;
    position: relative;
  }
  #consept .img img{
    display: block;
    margin: auto;
    width: 100%;
    height: auto;
    position: relative;
    top: 0%;
      left: 0%;
      -webkit-transform: none;
      transform: none;
  }

  #consept .object{
    width: 60%;
    height: auto;
    z-index: 0;
    position: absolute;
    right: -2%;
    top:-210px;
    display: none;
  }
  #consept .object img{
    width: 100%;
  }
  #consept .span-object{
    width: 300%;
    height: 100%;
    z-index: 0;
    position: absolute;
    left: -141%;
    top:-38%;
    transform: scale(0.5,0.5);
-webkit-transform: scale(0.5,0.5);
  }
  /*purpose*/
  #purpose{
    margin-top: 35px;
    padding-left: 25px;
    padding-right: 25px;
  }
  #purpose header{
    margin-bottom: 38px;
  }
  #purpose .sec-content{
    padding: 0 20px;
  }
  #purpose .content{
    border:solid 7px #fff;
    padding: 60px 28px 30px;
  }
  #purpose .description{
    border-bottom:solid 1px #fff;
    padding-bottom: 25px;
    margin-bottom: 25px;
  }
  #purpose .link{
    margin-top: 40px;
    text-align: center;
  }
  #purpose .link nav{
    max-width: 600px;
    margin: 30px auto 0 auto;
  }
  #purpose .link nav ul{
    display: block;
  }
  #purpose .link nav ul li{
    margin-bottom: 20px;
  }
  #purpose .link nav ul li a{
    display: block;
    padding: 20px 0;
    font-size: 1.7rem;
    color: #fff;
    background: #05a5af;
  }
  #purpose .link nav ul li:nth-child(2) a{
    background: #0080a5;
  }
  #purpose .link nav ul li a span{
    position: relative;
    margin-left: -20px;
  }
  #purpose .link nav ul li a span::after{
    background: url(../images/sqlab_icon_site_w.svg) no-repeat;
    background-size: cover;
  }
  /*feature*/
  #feature header{
    margin-bottom: 35px;
  }
  #feature .content{
    padding: 0 35px;
  }
  #feature .column2-1{
    display: block;
  }
  #feature .feature1 strong{
    font-size: 1.5rem;
    letter-spacing: 0.2rem;
    text-indent:0.2rem;
    margin: 0 -15px;
  }
  #feature .feature1 strong span{
    color: #05a5af;
    font-size: 1.6rem;
  }
  @media screen and (max-width: 320px) {
      #feature .feature1 strong{
        font-size: 1.2rem;
      }
      #feature .feature1 strong span{
        color: #05a5af;
        font-size: 1.5rem;
      }
  }
  #feature .feature1 .img{
    margin: 20px 0 30px;
  }
  #feature .feature1 .img img{
    display: block;
    margin: auto;
    width: 100%;
  }
  #feature .feature1 .column2-1-2{
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1f;
    gap:0px;
  }

  #feature .feature1 .column2-1-2 dl dt{
    color: #fff;
    font-size: 1.9rem;
    text-align: center;
    padding: 20px 0;
    font-weight: 300;
    letter-spacing: 0.2rem;
    text-indent:0.2rem;
  }

  #feature .feature1 .column2-1-2 dl dt span{
    font-weight: 500;
    font-size: 1rem;
    display: block;
    text-align: center;
    position: relative;
  }
  #feature .feature1 .column2-1-2 dl dt span::before,
  #feature .feature1 .column2-1-2 dl dt span::after{
    content:"";
    width: 18px;
    height: 1px;
    background: rgba(255,255,255,0.5);
    display: inline-block;
    vertical-align: middle;
    margin: 0 2px;
  }
  #feature .feature1 .column2-1-2 dl dt{
    background: rgba(122,81,38,0.4);
    margin-left: 5px;
  }
  #feature .feature1 .column2-1-2 dl dd{
    background: rgba(122,81,38,0.2);
    margin-left: 5px;
    padding-bottom: 97px;
    position: relative;
  }
  #feature .feature1 .column2-1-2 dl:first-child dt{
    background: rgba(21,63,84,0.4);
    margin-right: 5px;
  }
  #feature .feature1 .column2-1-2 dl:first-child dd{
    background: rgba(21,63,84,0.2);
    margin-right: 5px;
  }
  #feature .feature1 .column2-1-2 dl dd ul{
    padding: 30px 10px;
  }
  #feature .feature1 .column2-1-2 dl dd ul li{
    font-weight: 500;
    color: #153f54;
    text-align: center;
    line-height: 1.7;
    font-size: 0.75rem;
  }
  #feature .feature1 .column2-1-2 dl dd div{
    background: #fff;
    width : -webkit-calc(100% - 25px) ; 
  width : calc(100% - 25px) ;
    position: absolute;
    padding: 20px 10px;
    text-align: center;
    font-weight: 500;
    font-size: 1.5rem;
    color: #153f54;
    left: 0;
    bottom:27px;
  }
  #feature .feature1 .column2-1-2 dl:first-child dd div{
    background: #fff;
    text-align: center;
    left: auto;
    right: 0;
    bottom:27px;
  }
  #feature .feature1 .column2-1-2 dl:first-child dd div::before{
    content:"";
    width: 10px;
    height: 100%;
    position: absolute;
    right: -10px;
    top:0;
    background: #fff;
  }
  #feature .feature1 .column2-1-2 dl:first-child dd div::after{
    content:"";
    width: 1px;
    height: 50%;
    background: url(../images/sqlab_line_dots.svg) no-repeat;
    background-size: cover;
    position: absolute;
    right: -4px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  #feature .feature1 .column2-1-2 dl dd div img{
    width: 80%;
  }
  
  #feature .feature2 ul{
    padding-top:20px;
  }
  #feature .feature2 ul li{
    margin: 10px auto 50px;
  }
  #feature .feature2 ul li:last-child{
    margin: 10px auto 0px;
  }
  #feature .feature2 ul li .txt{
    background: #fff;
    margin: auto;
    padding: 20px 25px 5px;
  }
  #feature .feature2 ul li .img{
    height: 10px;
    background: url(../images/sqlab_bg_04_top.svg) no-repeat;
    background-size: cover;
  }
  #feature .feature2 ul li .img2{
    height: 10px;
    background: url(../images/sqlab_bg_04_bottom.svg) no-repeat;
    background-size: cover;
  }
  #feature .feature2 ul li .tag{
    left: 20px;
    top:-20px;
    width: 45px;
    height: 45px;
    font-size: 0.7rem;
  }
  #feature .feature2 ul li .tag>div{
     position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
  }
  #feature .feature2 ul li .tag span{
    font-size: 1.6rem;
    display: block;
  }
  #feature .feature2 ul li dl dt{
    font-size: 2.4rem;
    margin-bottom: 17px;
  }
  #feature .feature2 ul li dl dt .fw100{
    padding: 0 5px;
  }
   @media screen and (max-width: 320px) {
   #feature .feature2 ul li dl dt{
     margin-left: -10px;
     margin-right: -10px;
    }
     
  }
  #feature .feature2 ul li dl dd p{
    font-size: 1.3rem;
    line-height: 1.8;
  }
  /*lab*/
  #lab .content{
    padding: 0 35px;
    margin: auto;
  }
  #lab header{
    margin-bottom: 40px;
  }
  #lab .content ul{
    display: block;
  }
  #lab .content ul li .img{
    position: relative;
  }
  #lab .content ul li .img a{
    opacity:1;
    display: block;
    transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
  }
  #lab .content ul li .img::after{
    content:"";
    width: 28px;
    height: 28px;
    background: url(../images/sqlab_icon_zoom.svg) no-repeat;
    background-size: cover;
    position: absolute;
    right: 0;
    bottom:0;
    z-index: 2;
  }
  #lab .content ul li img{
    width: 100%;
  }
  #lab .content ul li dl{
    max-width: 85%;
    margin: 15px auto 30px auto;
  }
  #lab .content ul li dl dt{
    font-size: 2.2rem;
    text-align: center;
    color: #153f54;
    letter-spacing: 0.3rem;
    text-indent: 0.3rem;
  }
  #lab .content ul li dl dd{
    font-size: 1.4rem;
  }
  #lab .content ul li dl dd p{
    margin: 10px 0;
  }
  @media screen and (min-width:769px){
    #lab .content ul li a:hover{
      opacity:0.8;
    }
  }
  /*content-floor*/
  .content-floor{
    position: relative;
    margin: 45px auto 45px;
  }
  .content-floor .bg{
    background: rgba(0,34,61,0.13);
    width: 100%;
    height: 80%;
    top:80px;
    left: -100%;
    z-index: 0;
    display: block;
  }

  .content-floor .inner{
    padding: 0 35px;
  }
  .content-floor h3{
    font-size: 1.8rem;
    font-weight: 500!important;
    margin-bottom: 50px!important;
  }
  .content-floor .in-block{
    letter-spacing: -0.5rem;
  }
  .content-floor .in-block>*{
    display: block;
    vertical-align: bottom;
    letter-spacing: normal;
  }
  .content-floor .in-block>div:nth-child(1){
    width: 100%;
  }
  .content-floor .in-block>div:nth-child(2){
    width: 100%;
    margin-right: 0;
    margin-left: auto;
    padding: 0 0 0 0px;

  }
  .floor-nav {
    padding: 20px 5px 30px;
  }
    .content-floor .in-block>div:nth-child(2){
      padding: 0 0 0 0px;
    }
    .content-floor .floor-details .slider{
      margin: 0px 5px;
    }
  .floor-nav img{
    width: 100%;
  }
  .floor-nav nav{
    position: relative;
  }
  .floor-nav nav li{
    position: absolute;
    background: rgba(5,165,175,0);
    transition: all 0.3s ease;
    -webkit-transition: all 0.3s ease;
  }
  .floor-nav nav li:hover{
    background: rgba(5,165,175,0.5);
    cursor: pointer;
  }
  .floor-nav nav li.active{
    background: rgba(5,165,175,0.5);
  }
 
  .floor-details .slider .img{
    width: 100%;
    height: 190px;
  }
  .slick-slide:focus {
    outline: none;
  }
  .floor-details .slider li{
    background: #fff;
  }
  .floor-details .slider li dl{
    padding: 24px 28px 10px;
  }
  @media screen and (max-width: 320px) {
    .floor-details .slider li dl{
      padding: 24px 18px 10px;
    }
  }
  .floor-details .slider li dl dt{
    font-size: 1.6rem
  }

  .floor-details .slider li dl dt span{
    font-size: 1.6rem;
    margin-right: 5px;
  }
  .arrow.prev{
    width: 25px;
    height: 25px;
    left: -15px;
    top: 50%;
    z-index: 2;
  }
  .arrow.next{
    width: 25px;
    height: 25px;
    right: -15px;
    top: 50%;
  }

  /*content-floor*/
  .content-display{
    position: relative;
    margin: 65px auto -45px;
  }
  .content-display .inner{
    padding: 0 35px;
    opacity:0;
  }
  .content-display h3{
    font-size: 1.8rem;
    font-weight: 500!important;
    margin-bottom: 50px!important;
  }
  .content-display .bg{
    background: rgba(0,34,61,0.13);
    width: 100%;
    height: 85%;
    position: absolute;
    right: -100%;
    top:45px;
    z-index: 0;
    display: block;
  }
  .content-display ul li{
    width: 100%;
    overflow: hidden;
    position: relative;
    margin-bottom: 15px;
  }
  .content-display .column2-1 li{
    width: 100%;
    height: 193px;
    margin-bottom: 15px;
    overflow: hidden;
    position: relative;
  }
  .content-display .column2-1 .img{
    width: 100%;
    height: 100%;
  }
  .content-display ul li .txt{
    pointer-events: none;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top:0;
    background: rgba(21,63,84,0);
    color: #fff;
    transition: all 0.6s ease;
     -webkit-transition: all 0.6s ease;
  }

  .content-display ul li .txt>div{
    color: #fff;
    font-size: 1.8rem;
    position: absolute;
    top: 60%;
    left: 50%;
    width: 100%;
  }
  .content-display ul li .txt>div p{
    line-height: 1.7;
    text-align: center;
  }
  .content-display ul li.active .txt{
    background: rgba(21,63,84,0.85);
  }
  .content-display ul li.active .txt>div{
    top: 50%;
    opacity:1;
  }

  .content-display .column2-1{
    display: block;
    margin-bottom: 0px;
  }
  .content-display .column3-1 li{
    height: 193px;
    position: relative;
    overflow: hidden;
  }
  .content-display .column3-1 .img{
    height: 193px;
  }
  .content-display .column3-1{
    display: block;
    margin-bottom: 0px;
  }
  /*access*/
  #access header{
    margin-top: 0px;
  }
  #access .content{
    padding: 0 35px;
    margin: auto;
  }
  #access iframe{
    width: 100%;
    height: 355px;
  }
  #access .map{
    border:solid 10px #fff;
  }
  #access .column2-1{
    padding: 0 0px;
    margin: 30px auto;
    position: relative;
  }
  #access .column2-1 div p{
    line-height: 1.8;
  }
  #access .column2-1>*:nth-child(1){
    width : 100%;
  }
  #access .column2-1 nav{
    width: 100%;
    position: relative;
    right: 0;
    top: 0%;
    -webkit-transform: none;
    transform: none;
    text-align: center;
  }
  #access .column2-1 nav div{
     width : 70%;
    margin: 0px auto 15px auto;
    display: block;
    
  }
  #access nav a{
    display: block;
    text-align: center;
    color: #fff;
    border: solid 1px #fff;
    font-size: 1.5rem;
    padding: 10px 0;
  }
  /*contact*/
  #contact{
    height: auto;
    position: relative;
    height: 280px;
  }
  #contact .bg-01,#contact .bg-02{
    display: none;
  }
  #contact nav{
    position: relative;
    display: block;
    z-index: 2;
    height: 100%;
    padding: 0 0px;
    margin: auto;
  }
  #contact nav ul{
    height: 100%;
    display: block;
  }
  #contact nav ul li{
    height: 140px;
  }
  #contact nav ul li>div img{
    width: 20px;
    height: auto;
  }
  #contact nav ul li>div{
    width: 100%;
    text-align: center;
     position: relative;
     top: 0%;
   	left: 0%;
   	-webkit-transform: translate(0%, 0%);
   	transform: translate(0%, 0%);
    color: #fff;
  }
  #contact nav ul li.contact-email>div{
    left: 0%;
  }
    #contact nav ul li>div a div{
    width: 100%;
    text-align: center;
     position: absolute;
     top: 50%;
   	left: 50%;
   	-webkit-transform: translate(-50%, -50%);
   	transform: translate(-50%, -50%);
  }
  #contact nav ul li>div a{
    height: 140px!important;
    color: #fff;
    font-weight: 300;
    display: block;
  }

  #contact nav ul li a strong>*{
    display: inline-block;
    vertical-align: middle;
  }
  #contact nav ul li a strong{
    position: relative;
    width: 100%;
    left: 0;
    top: 0;
    transform: none;
  }

  #contact nav ul li.contact-number{
    background: rgb(84 21 21 / 80%);
  }
  #contact nav ul li.contact-number a strong{
    font-size: 2.4rem;
    display: block;
    text-align: center;
    font-weight: 300;
    letter-spacing: 0.2rem;
    text-indent: 0.2rem;
  }
  #contact nav ul li.contact-number h3{
    font-size: 1.5rem;
    font-weight: 300;
    letter-spacing: 0.2rem;
    text-indent: 0.2rem;
  }
  #contact nav ul li.contact-number>div small{
    font-size: 1.4rem;
    font-weight: 300;
    margin-top: 11px;
  }
  #contact nav ul li>div strong img{
    margin-right: 5px;
  }
  #contact nav ul li.contact-email{
        background: rgb(153 5 5 / 80%);
  }
  #contact nav ul li.contact-email a strong{
    font-size: 1.9rem;
    display: block;
    text-align: center;
    font-weight: 300;
    letter-spacing: 0.2rem;
    text-indent: 0.2rem;
  }
}


.carsencer-banner {
    z-index: 100;
    bottom: 0;
    right: 10px;
    position: fixed;
}
.carsencer-banner img {
    width: 300px;
}
  @media screen and (max-width: 640px) {
.carsencer-banner img {
    width: 180px;
}
}