@charset "UTF-8";

/* 共通 ベース base
----------------------------------------------- */

/* site-header分(position:fixedの時) */
/* .wrapper {
  margin-top: 130px;
} */

.container {
  max-width: 1200px;
  width: 100%;
  margin: auto;
}

h2 {
  font-size: 2.5rem;
  letter-spacing: 3px;
  line-height: 50px;
  margin-bottom: 50px;
}
h3 {
  font-size: 2.2em;
  margin-bottom: 15px;
}

/* WP */
.wp_category {
  font-size: 0.7em;
  font-weight: 600;
  color: #00a3e5;
  border: 1px solid #00a3e5;
  padding: 1px 3px 0;
  margin-bottom: 15px;
  line-height: 1.2;
}
.wp_date {
  font-size: 0.9em;
  font-weight: bold;
  color: #424242;
  line-height: 1.3;
}
.wp_title {
  font-size: 1rem;
  margin-bottom: 10px;
  min-height: 42px;
  position: relative;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.02em;
}

.btn {
  background-color: #fff;
  color: #00396b;
  margin: 20px auto;
  max-width: 300px;
  width: 100%;
}
.btn:hover {
  opacity: 0.7;
}
.btn a {
  width: 100%;
  font-weight: bold;
  padding: 15px 20px;
  display: block;
  letter-spacing: 1px;
}
.btn-r {
  border-radius: 30px;
}
.head01{
	position: relative;
}
.head01::before{
	content: "";
	display: inline-block;
	position: absolute;
	left: 0;
	bottom: 100%;
	width: 30px;
	height: 4px;
	background: #2785b3;
	z-index: 12;
}
.head01::after{
	content: "";
	display: inline-block;
	position: absolute;
	left: 0;
	bottom: 100%;
	width: 90px;
	height: 4px;
	background: #00396b;
	z-index: 11;	  
}
.head01-txt{
  line-height: 2.5;
}
.head02{
	position: relative;
}
.head02::before{
	content: "";
	display: inline-block;
	position: absolute;
	left: 0;
	bottom: 100%;
	width: 30px;
	height: 4px;
	background: #fff;
	z-index: 12;
}
.head02::after{
	content: "";
	display: inline-block;
	position: absolute;
	left: 0;
	bottom: 100%;
	width: 90px;
	height: 4px;
	background: #00396b;
	z-index: 11;	  
}
.head02-txt{
  line-height: 2.5;
}

  /* スマホ */
  @media only screen and (max-width: 768px) {

    /* site-header分(position:fixedの時) */
    /* .wrapper {
      margin-top: 55px;
    } */
  }
  /* スマホ */
  @media only screen and (max-width: 479px) {
    }


/* -----------------------------------------------

	 page-top

----------------------------------------------- */
.page-top{
  font-weight: 700;
}
.page-top .en{
  font-size: 5rem;
}
.page-top h3 .ja{
  font-weight: 700;
  margin-left: 30px;
  font-size: 1.3rem;
}
.page-top h3{
  position: relative;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
  align-items: center;
  margin-bottom: 60px;
}

.btn {
  position: relative;
  text-align: center;
  border: solid 2px transparent;
  width: 280px;
  /* height: 62px; */
  height: auto;
  padding: 3px;
  background: linear-gradient(to right bottom, #2785b3, #00396b);
  background:-moz-linear-gradient(to right bottom, #2785b3, #00396b); /* Firefox */
  background:-webkit-linear-gradient(to right bottom, #2785b3, #00396b);/* safari Chrome */
  background:-ms-linear-gradient(to right bottom, #2785b3, #00396b); /* IE */
  border: none;
}
.btn::after{
  content: "";
  display: inline-block;
  width: 90px;
  height: 2px;
  position: absolute;
  top: 50%;
  right: 0;
  background: linear-gradient(to right bottom, #2785b3, #00396b);
  background:-moz-linear-gradient(to right bottom, #2785b3, #00396b); /* Firefox */
  background:-webkit-linear-gradient(to right bottom, #2785b3, #00396b);/* safari Chrome */
  background:-ms-linear-gradient(to right bottom, #2785b3, #00396b); /* IE */
  transform: translateY(-50%) translateX(50%);
  -webkit- transform: translateY(-50%) translateX(50%);
  transition:0.5s all;
}
.btn a{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-pack: center;
	-ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
  color: #00396b;
  padding: 5%;
  height: 54px;
  background-color: #FFF;
  border-radius: 30px;
  transition: all 0.5s;
}
.btn:hover,
.btn a:hover{
  opacity: 1;
  font-size: 16px;
}
.btn:hover::after{
  right: 20px;
  transition:0.5s all;
}
.btn::after{
  right: -10px;
}
.btn:hover::after{
  right: 10px;
  transition:0.5s all;
}

@media only screen and (max-width: 1100px) {
  .page-top .btn::after {
    width: 60px;
  }
}
@media only screen and (max-width: 1000px) {
  .page-top .en{
    font-size: 4rem;
  }
}

@media only screen and (max-width: 850px) {
  .page-top .btn{
    width: 250px;
  }
  .page-top .btn a{
    height: 50px;
  }
  .page-top .btn a:hover{
    font-size: 14px;
  }
}
@media only screen and (max-width: 768px) {
  .page-top .btn{
    width: 220px;
  }
  .page-top .btn::after,
  .btn::after{
    width: 45px;
  }
}
@media only screen and (max-width: 479px) {
  .page-top .btn:hover::after{
    right: 0;
  }
  .page-top .s4 .btn::after{
    right: 0;
  }
  .page-top .s4 .btn:hover::after{
    right: 0;
  }
  .page-top .btn{
    padding: 2px;
  }
  .page-top .btn a,
  .btn a{
    height: 42px;
  }
  .page-top .btn a:hover{
    font-size: 12px;
  }
  .page-top h3{
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
  .page-top h3 .ja{
    margin-left: 0;
  }
  .page-top .en{
    font-size: 3rem;
  }
  .btn{
    width: 220px;
  }
}


/* -----------------------------------------------

	 openig animation effects

----------------------------------------------- */

.shutter{
  position:fixed;
  top:0;
  left:0;
  right:0;
  bottom:0;
  background: linear-gradient(to right bottom, #2785b3, #00396b);
  background:-moz-linear-gradient(to right bottom, #2785b3, #00396b); /* Firefox */
  background:-webkit-linear-gradient(to right bottom, #2785b3, #00396b);/* safari Chrome */
  background:-ms-linear-gradient(to right bottom, #2785b3, #00396b); /* IE */
  z-index:9999;
  animation: byeShutter 2.6s forwards;
}
.shutter::before,
.shutter::after{
  content:'';
  position:absolute;
  top:0;
  left:0;
  bottom:0;
  margin:auto;
}

.shutter-logo{
  position: fixed;
  top:0;
  left:0;
  right:0;
  bottom:0;
  width: 100%;
  height: 100%;
  z-index: 100000;
  animation: byeLogo 2.6s forwards;
}
.shutter-logo::before{
  content: "";
  position: absolute;
  top: 45%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  display: inline-block;
  background-image: url(../images/logo/logo02.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: 60px;
  height: 90px;
}
.shutter::before{
  background-color:#fff;
  width:0;
  height:1px;
  animation: shutterOpen1 2.6s forwards;
}

.shutter::after{
  width:120%;
  height:0;
  margin-left:-10%;
  background-color:#f3f3f3;
  animation: shutterOpen2 2.6s forwards;
}


.content{
  animation: contentScale 2.6s forwards;
}

@keyframes byeShutter{
  70%{
    opacity:1;
  }
  100%{
    opacity:0;
    display:none;
    z-index:-1;
  }
}
@keyframes byeLogo{
  60%{
    opacity:1;
  }
  70%{
    opacity:0;
    display:none;
    z-index:-1;
  }
  100%{
    opacity:0;
    display:none;
    z-index:-1;
  }
}

@keyframes shutterOpen1{
  0%{
    width:0;
    height:1px;
  }
  50%{
    width:100%;
    height:1px;
  }
  90%{
    width:100%;
    height:100%;
  }
  100%{
    width:100%;
    height:100%;
  }
}

@keyframes shutterOpen2{
  60%{
    width:120%;
    height:0;
    transform:rotate(5deg);
  }
  90%{
    width:120%;
    height:100%;
    transform:rotate(-5deg);
  }
  100%{
    width:120%;
    height:100%;
    transform:rotate(-5deg);
  }
}


@media only screen and (max-width: 479px) {
  .shutter-logo::before{
    width: 45px;
    height: 60px;
  }

}


/* -----------------------------------------------

	 top_section

----------------------------------------------- */
.top_section{
  height: 830px;
}
.top_section .main_img{
  height: 100%;
  position: relative;
}
.top_section .main_img img {
  width: 100%;
  position: relative;
  max-height: 100%;
  height: 100%;
  object-fit: cover;
}
.top_section .main_img .main_text {
  position: absolute;
  top: 50%;
  left: 50%;
  border: solid 10px #fff;
  width: 900px;
  padding: 60px 60px 40px;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
}
.top_section .main_img .main_text h2 {
  color: #fff;
  font-size: 5rem;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 3px;
  text-align: center;
  margin: 0;
}
.top_section .main_img .main_text .ja{
  display: block;
  margin-bottom: 30px;
}
.top_section .main_img .main_text .en{
  font-size: 3rem;
}

.top_section .main_img .main_text {
  -webkit-filter: blur(15px);
  filter: blur(15px);
  animation-name: blur;
  animation-duration: 4s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}

@keyframes blur {
  0% {
    -webkit-filter: blur(15px);
    filter: blur(15px);
  }
  50% {
    -webkit-filter: blur(9px);
    filter: blur(9px);
  }
  100% {
    -webkit-filter: blur(0);
    filter: blur(0);
  }
}



  @media only screen and (max-width: 1200px) {
    .top_section{
      height: 650px;
    }
    .top_section .main_img .main_text {
      max-width: 650px;
      width: 100%;
      top: 55%;
    }
    .top_section .main_img .main_text h2{
      font-size: 4rem;
    }
    .top_section .main_img .main_text .en{
      font-size: 2.5rem;
    }
  }
  @media only screen and (max-width: 768px) {
    .top_section {
      height: 580px;
    }
    .top_section .main_img .main_text h2 {
      font-size: 3.5rem;
    }
    .top_section .main_img .main_text {
      max-width: 75vw;
      border: solid 7px #fff;
      padding: 15px 0;
    }
    .top_section .main_img .main_text .en{
      font-size: 2rem;
    }
  }
  /* スマホ */
  @media only screen and (max-width: 479px) {
    .top_section {
      /* height: 450px; */
      min-height: 100vh; /* Fallback */
      min-height: calc(var(--vh, 1vh) * 101);
  }
  .top_section .main_img .main_text {
    max-width: 92vw;
    border: solid 3px #fff;
    padding: 100px 0;
  }
  .top_section .main_img .main_text h2 {
    font-size: 3rem;
  }
  .top_section .main_img .main_text .en {
    font-size: 1.5rem;
}
}



/* -----------------------------------------------

	 top_news

----------------------------------------------- */
.top_news {
  position: relative;
  padding: 30px 20px;
}
.top_news .btn{
  width: 200px !important;
  margin: 0 !important;
}
.top_news .btn::after{
  display: none !important;
}

.top_news h3 {
  color: #fff;
  margin-bottom: 10px;
}
.top_news h3::before,
.top_news h3::after{
  display: none;
}
.top_news p {
  font-size: 0.9em;
  color: #fff;
}
.top_news .left{
  width: 35%;
}
.top_news .right{
  width: 65%;
}
.top_news .date{
  margin-right: 90px;
}
.top_news-set {
  line-height: 3;
  transition: 0.5s;
}
.top_news-set:hover{
  opacity: 0.6;
  margin-left: 10px;
}
.top_news-set .date{
  margin-right: 10px;
}

@media only screen and (max-width: 768px) {
  .top_news {
    display: none;
  }
}



/* -----------------------------------------------

	 s0

----------------------------------------------- */

.s0{
  position: relative;
}
.s0::after{
  position: absolute;
  top: -1px;
  left: 0;
  content: "";
  display: inline-block;
  background-image: url(../images/item/item01.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: 340px;
  height: 400px;
}

@media only screen and (max-width: 768px) {
  .s0::after{
    width: 50vw;
    height: 50vw;
  }
}


/* -----------------------------------------------

	 s1

----------------------------------------------- */
.s1 {
  position: relative;
  margin-top: 150px;
  margin-bottom: 150px;
  padding: 0 20px;
}
.s1 > p{
  margin-bottom: 30px;
}

  /* タブレット */
  @media only screen and (max-width: 768px) {
  }
  /* スマホ */
  @media only screen and (max-width: 479px) {
    .s1{
      margin-bottom: 90px;
    }
  }


/* -----------------------------------------------

	 topbnrarea

----------------------------------------------- */
.topbnrarea {
  margin-bottom: 90px;
}
.topbnrarea a:hover{
  opacity: 0.6 !important;
}
.topbnrarea .container{
  max-width: 900px;
}
.topbnrarea .bannerset{
  gap: 30px;
}
  /* スマホ */
  @media only screen and (max-width: 479px) {
    .topbnrarea {
      margin-bottom: 60px;
    }
    .topbnrarea .bannerset{
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      gap: 20px;
    }
  }



/* -----------------------------------------------

	 s2

----------------------------------------------- */
.s2 {
  position: relative;
  padding: 120px 20px 90px;
  background: #eaeaea;
}
.s2::after{
  content: "";
  background-image: url(../images/text/metal01.png);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  right: 0;
  bottom: 0;
  display: inline-block;
  z-index: 2;
  width: 160px;
  height: 930px;
}
/* .s2::after{
  position: absolute;
  bottom: 0;
  right: 0;
  content: "";
  display: inline-block;
  background-image: url(../images/item/item02.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: 500px;
  height: 400px;
  z-index: 2;
} */
/* .s2::after{
  position: absolute;
  bottom: 0;
  right: 0;
  content: "";
  display: inline-block;
  background-image: url(../images/item/item02.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: 500px;
  height: 400px;
  z-index: 2;
} */

.s2 .container {
  max-width: 1200px;
}
.s2 .txt00 {
  margin-bottom: 90px;
}
.s2 .box-set{
  text-align: center;
  /* max-width: 33.3%; */
  width: 100%;
  padding: 40px 20px;
}
.s2 .box-set-in{
  padding: 30px;
  height: 100%;
}
.s2 .box-set-wrap{
  position: relative;
  z-index: 3;
  margin-bottom: 65px;
}
.s2 .box-set-wrap .set1,
.s2 .box-set-wrap .set2{
  width: 50%;
}
.s2 .box-set-wrap .set2 > div{
  position: relative;
  z-index: 1;
  max-width: 550px;
}
/* .s2 .box-set-wrap .topbox-while{
  margin: 10px;
} */
/* .s2 .box-set-wrap .bottom-set{
  margin-top: 20px;
} */
.s2 .box-set-wrap .set1 img{
  position: relative;
  z-index: -1;
  top: -30px;
  left: 20px;
}
.s2 .box-set .image{
  max-width: 80px;
  margin: 0 auto 20px;
}
.s2 .box-set .ttl{
  margin-bottom: 30px;
}
.s2 .box-set p{
  color: #fff;
}
.s2 .box-set .txt{
  font-size: 1.3rem;
}

  @media only screen and (max-width: 1200px) {
    .s2 .box-set{
      padding: 35px 20px;
    }
    .s2 .box-set .image{
      max-width: 70px;
      margin: 0 auto 10px;
    }
  }
  @media only screen and (max-width: 1000px) {
    .s2 .box-set{
      padding: 30px 20px;
    }
    .s2 .box-set .txt{
      font-size: 1.1rem;
    }
    .s2 .box-set .image{
      max-width: 60px;
    }
    .s2 .box-set-wrap .set1 img{
      top: -30px;
      left: 20px;
      width: 950px;
      max-width: 120%;
    }
  }
  @media only screen and (max-width: 850px) {
    .s2::after{
      display: none;
    }
    .s2 .box-set-wrap{
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
    }
    .s2 .box-set-wrap .set1,
    .s2 .box-set-wrap .set2{
      width: 100%;
    }
    .s2 .box-set-wrap .set2 > div{
      width: 100%;
    }
    .s2 .box-set-wrap .set1 img{
      top: 0;
      left: 0;
    }
    .s2 .box-set-wrap .set1 img{
      width: 100%;
      max-width: 100%;
      opacity: 0.5;
    }
    .s2 .box-set-wrap .set2{
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
    }
    .s2 .box-set-wrap .set2 > div{
      margin: auto;
    }
  }

  /* タブレット */
  @media only screen and (max-width: 768px) {
    .s2 {
      padding: 60px 20px 60px;
    }
    .s2::after{
      width: 270px;
      height: 215px;
    }
  }
  /* スマホ */
  @media only screen and (max-width: 479px) {
    .s2 .box-set .image{
      max-width: 45px;
    }
    .s2 .box-set-wrap .set1 img{
      opacity: 1;
    }
    .s2 .box-set-wrap .set2{
      position: unset;
      -webkit-transform: translate(0, 0);
      transform: translate(0, 0);
    }
    .s2 .box-set .ttl{
      font-size: 20px;
      margin-bottom: 15px;
    }
    .s2 .box-set .txt{
      font-size: 12px;
    }
  }
  @media only screen and (max-width: 400px) {
    .s2 .box-set .txt{
      font-size: 11px;
    }
    .s2 .box-set{
      padding: 20px 15px;
    }
  }



/* -----------------------------------------------

	 s2 box

----------------------------------------------- */

/* 画面外にいる状態 */
.fadein {
	opacity : 0;
	transform : translate(0, 50px);
	transition : all 600ms;
	}

/* 画面内に入った状態 */
.fadein.scrollin {
	opacity : 1;
	transform : translate(0, 0);
}

#effect .box-set2 {
  -moz-transition-delay:300ms;
  -webkit-transition-delay:300ms;
  -o-transition-delay:300ms;
  -ms-transition-delay:300ms;
  }
/* 3つ目の要素に400msのdelayをかける */
#effect .box-set3 {
  -moz-transition-delay:600ms;
  -webkit-transition-delay:600ms;
  -o-transition-delay:600ms;
  -ms-transition-delay:600ms;
  }


/* -----------------------------------------------

	 s3

----------------------------------------------- */
.s3 {
  position: relative;
  padding: 90px 0;
  background: #eaeaea;
}
.s3::before{
  position: absolute;
  display: inline-block;
  font-size: 18rem;
  line-height: 1.1;
  color: #003366;
  opacity: 0.1;
  z-index: 1;
  right: -1200px;
  top: -50%;
  transform: rotate(-90deg);
  content: "Architecture Sheet metal";
  width: 2500px;
  height: 250px;
}
/* .s3::after{
  position: absolute;
  bottom: 100%;
  right: 0;
  content: "";
  display: inline-block;
  background-image: url(../images/item/item02.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: 500px;
  height: 400px;
  z-index: 2;
} */
.s3 .container{
  max-width: 1200px;
  padding: 0 20px;
  margin: auto;
}
.s3 .txt00{
  margin-bottom: 90px;
}
.s3 > ul{
  width:100%;
  margin-bottom: 60px;
}
.s3 .jirei-wrap{
  width: 530px !important;
  background: #fff;
  border: solid 2px #00396b;
  padding: 45px 30px 60px;
  margin: 0 20px;
}
.s3 .jirei-wrap-sp{
  background: #fff;
  border: solid 2px #00396b;
  padding: 20px;
  margin: 0 8px;
}
.s3 .jirei-wrap a{
  outline: none;
}
.s3 .jirei-wrap .top {
  margin-bottom: 45px;
}
.s3 .jirei-wrap .top .image{
  max-width: 55px;
  width: 100%;
}
.s3 .slick-wrap{
  position: relative;
  z-index: 3;
  margin-top: 60px;
}
#slicksp{
  display: none;
}

/* slick arrow */
#slicksp .slick-arrow{
	position: relative;
}
#slicksp .slick-arrow.prev::before{
  position: absolute;
  font-size: 2rem;
  top: 46%;
  left: 30%;
  display: inline-block;
  color: #fff;
  content: "\f053";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}
#slicksp .slick-arrow.prev{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
  width: 10%;
	background-color: rgba(19,94,142,0.5);
	/* background-image: url(http://keylopment.com/_cms/wp-content/themes/keylopment/images/common/anchor-prev.png); */
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 7px auto;
	z-index: 1;
}
#slicksp .slick-arrow.next::before{
  position: absolute;
  font-size: 2rem;
  top: 46%;
  right: 30%;
  display: inline-block;
  color: #fff;
  content: "\f054";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}
#slicksp .slick-arrow.next{
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	margin: auto;
  width: 10%;
  background-color: rgba(19,94,142,0.5);
	/* background-image: url(http://keylopment.com/_cms/wp-content/themes/keylopment/images/common/anchor-next.png); */
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 7px auto;
	z-index: 1;
}

/* slick dots */
.slick-dots li button:hover:before,
.slick-dots li button:focus:before
{
  opacity: 1;
  color: #00396b; /* hover時の色を変更 */
}
.slick-dots li button:before{
  font-family: 'slick';
  font-size: 6px;
  line-height: 20px;

  position: absolute;
  top: 0;
  left: 0;

  width: 20px;
  height: 20px;

  /* 元のcontentプロパティの値だとfont-sizeを変更した際に位置がずれてしまうので値を変更 */
  /* content: '•'; */
  content: '●';
  text-align: center;

  opacity: .25;
  color: black;

  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before{
    opacity: .75;
    color: #00396b; /* active時の色を変更 */
}

  @media only screen and (max-width: 1200px) {
    /* .s3::after{
      width: 400px;
      height: 320px;
    } */
    .s3 .jirei-wrap {
      width: 350px !important;
      padding: 30px;
    }
  }
  @media only screen and (max-width: 850px) {
    .s3 .jirei-wrap {
      width: 280px !important;
      padding: 20px;
      margin: 0 15px;
    }
    .s3::before{
      font-size: 14rem;
      height: 190px;
      top: -130%;
    }
  }
  /* タブレット */
  @media only screen and (max-width: 768px) {
    /* .s3::after{
      width: 270px;
      height: 215px;
    } */
    .s3 .jirei-wrap .top {
      margin-bottom: 30px;
  }
    .s3 .jirei-wrap .top .image {
      max-width: 45px;
    }
  }

  @media only screen and (max-width: 650px) {
    .slick-track{
      height: 270px !important;
      overflow: hidden !important;
    }
  }

  /* スマホ */
  @media only screen and (max-width: 479px) {
    .s3{
      padding: 90px 0 60px;
    }
    .s3 .txt00{
      margin-bottom: 45px;
    }
    .s3 .jirei-wrap {
      width: auto !important;
    }
    .s3 .jirei-wrap-sp .top {
      margin-bottom: 30px;
    }
    .s3 .jirei-wrap-sp .top .image {
      max-width: 45px;
    }
    .slick-slide .bottom img {
      height: 150px;
      object-fit: cover;
    }
    #slick{
      display: none;
    }
    #slicksp{
      display: block;
    }
    .box-set-wrap{
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
    }
    .s3::before{
      font-size: 10rem;
      top: -180%;
      height: 100px;
    }
    /* .s3::after{
      width: 220px;
      height: 175px;
    } */
    button.slick-arrow{
      position: absolute;
      z-index: 100;
      background: #00396b;
      top: 100%;
    }
    button.slick-prev{
      left: 10%;
    }
    button.slick-next{
      right: 10%;
    }
  }

/* -----------------------------------------------

	 s4

----------------------------------------------- */

.s4 {
  position: relative;
  padding: 100px 20px 150px;
}
#toppage .s4::before{
  content: "";
  background-image: url(../images/text/metal02.png);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  left: 0;
  bottom: 0;
  display: inline-block;
  z-index: -10;
  width: 220px;
  height: 700px;
}

/* .s4::before,
.s4::after{
  position: absolute;
  display: inline-block;
  font-size: 10rem;
  line-height: 1;
  transform: rotate(90deg);
  color: #003366;
  opacity: 0.2;
  z-index: -10;
  width: 700px;
  height: 95px;
}
.s4::before{
  left: -305px;
  bottom: 250px;
  content: "Architecture";
}
.s4::after{
  left: -205px;
  bottom: 350px;
  content: "Sheet metal";
} */

.s4 .txt00{
  margin-bottom: 90px;
}
.s4 .box-set{
  width: calc(100% / 3);
}
.s4 .image {
  border: solid 1px #fff;
}

  @media only screen and (max-width: 1100px) {
    .s4 .btn{
      width: 200px;
    }
  }
  /* タブレット */
  @media only screen and (max-width: 768px) {
    .s4 {
      padding: 100px 20px 100px;
    }
    .s4::before,
    .s4::after{
      display: none;
    }
    .s4 .box-set-wrap{
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
    }
    .s4 .box-set {
      width: 45%;
      margin: 0 2% 20px;
    }
  }
  /* スマホ */
  @media only screen and (max-width: 479px) {
    .s4 {
      padding: 60px 20px 60px;
    }
    .s4 .box-set-wrap{
      -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
    }
    .s4 .box-set{
      width: 100%;
      margin: 0 0 20px;
    }
  }



/* -----------------------------------------------

	 s5

----------------------------------------------- */
.s5 {
  background: -moz-linear-gradient(65deg, #2785b3, #00396b); 
  background: -webkit-linear-gradient(65deg, #2785b3, #00396b); 
  background: linear-gradient(25deg, #2785b3, #00396b);
}
.s5 .container{
  max-width: 100%;
  overflow: hidden;
}
.s5 .s5-wrap-wrap{
  display: flex;
  width: 100%;
  overflow: hidden;
}
.s5 .s5-wrap{
  position: relative;
  width: 100%;
  max-height: 380px;
  height: 33vw;
  padding: 0 20px;
  transition: 1s all;
}
.s5 .s5-wrap:hover{
  transform: scale(1.2,1.2);
  transition: 1s all;
}
.s5 .s5-wrap .txt{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
}
.s5 .s5-wrap .txt .en{
  font-size: 5rem;
}
.s5 .s5-wrap p{
  color: #fff;
  text-align: center;
}
.s5 .sdgs-wrap{
  content: "";
  display: inline-block;
  background-image: url(../images/view/sdgs_bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
.s5 .company-wrap{
  content: "";
  display: inline-block;
  background-image: url(../images/view/company_bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}


  @media only screen and (max-width: 1250px) {
    .s5 .s5-wrap{
      height: 23vw;
    }
  }
  @media only screen and (max-width: 1000px) {
    .s5 .s5-wrap .txt .en{
      font-size: 4rem;
    }
  }
  @media only screen and (max-width: 850px) {
    .s5 .container{
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
    }
    .s5 .s5-wrap{
      width: 100%;
      height: 28vw;
    }
  }
  /* タブレット */
  @media only screen and (max-width: 768px) {
  }
  /* スマホ */
  @media only screen and (max-width: 479px) {
    .s5 {
      background: none;
    }
    .s5 .container{
      position: relative;
      bottom: -2px;
    }
    .s5 .s5-wrap-wrap{
      position: relative;
      bottom: -1px;
    }
    .s5 .s5-wrap-wrap1{
      bottom: -2px;
    }
    .s5 .s5-wrap .txt .en{
      font-size: 2.5rem;
    }
    .s5 .s5-wrap{
      height: 46vw;
    }
    .s5 .s5-wrap p{
      font-size: 1rem;
    }
  }