@keyframes gradient {
	0% {
		background-position: 0% 0%;
	}
	100% {
		background-position: 100% 0%;
	}
}
header .navbox {
  border-bottom: 0;
}

section *:not(:last-child) {
  margin-bottom: 0;
}

.section {
    padding-top: 60px;
}

@media screen and (min-width: 768px) {
    .section {
        padding-top: 100px;
    }
}

#key .image {
  position: relative;
  overflow: hidden;
}
#key .image::before {
  content: "";
  display: block;
  padding-top: 102vw;
}
#key .image img {
  width: 100%;
  height: 125%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  position: absolute;
  top: -12%;
  left: 0;
}
@media screen and (min-width: 768px) {
  #key .image::before {
    padding-top: 515px;
  }
  #key .image img {
  	height: 100%;
    -o-object-position: 50% 40%;
       object-position: 50% 40%;
    top: 0
  }
}
.btnbox-style .btn-style-1 {
  min-height: 80px;
  font-size: 17px;
  line-height: 20px;
  letter-spacing: 0;
}
.btnbox-style .btn-style-1::after {
  display: none;
}
.btnbox-style .btn-link {
  width: 80vw !important;
  border-left: 12px solid #fff;
  border-right: 12px solid #fff;
  box-sizing: border-box;
}
.btnbox-style .slick-dots {
  margin-top: 35px;
}
.btnbox-style .slick-list {
  margin: 0 calc(-12px + var(--paddingWrap-negative)) 0 -12px;
}
.btnbox-style .slick-list::before {
  content: "";
  height: 7px;
  background: linear-gradient(to right, var(--primary), var(--secondary), var(--third) 85%, var(--fourth) 95%);
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  z-index: -1;
}
.btnbox-style .slick-list::after {
  content: "";
  height: 7px;
  background: linear-gradient(to right, var(--primary), var(--secondary), var(--third) 85%, var(--fourth) 95%);
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .btnbox-style {
    width: 894px;
    margin-left: -12px;
  }
  .btnbox-style .btn-style-1 {
    width: 274px;
  }
  .btnbox-style .btn-link {
    width: auto !important;
  }
  .btnbox-style .slick-arrow {
    top: 0;
    bottom: 47px;
  }
  .btnbox-style .slick-arrow.slick-prev {
    left: -20px;
  }
  .btnbox-style .slick-arrow.slick-next {
    right: -20px;
  }
  .btnbox-style .slick-list {
    margin: 0;
  }
}

#sec1 {
  padding: 30px 0 40px;
}
#sec1 .wrap {
	max-width: 1000px;
}

#sec1 .tags {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: -5px -10px;

}

#sec1 .tags .tag {
	margin: 5px 10px;
}

#sec1 .tags .tag a {
	display: inline-block;
    font-weight: 600;
    line-height: 30px;
}

#sec1 .tags .tag a:hover {
	text-decoration: none;
}

/*#sec1 .tags .tag a:hover::after {
	animation: gradient 5s ease;
}*/

#sec1 .tags .tag a::after {
	content: '';
    width: 100%;
    height: 5px;
    display: block;
	background: linear-gradient(to right, var(--primary), var(--secondary), var(--third) 40%, var(--fourth) 50%,  var(--primary), var(--secondary), var(--third) 90%, var(--fourth));
    background-size: 200% 100%;
}

@media screen and (min-width: 768px) {
    #sec1 .tags {
        -ms-flex-pack: flex-end;
            justify-content: flex-end;
        margin: -10px -15px;
    }
    #sec1 .tags .tag {
        margin: 10px 15px;
    }
}

#sec2 {
  box-shadow: 0 0 7px 0 rgba(0, 0, 0, 0.35);
  padding-bottom: 50px;
}
#sec2 .btn-link .btn-style-1 {
	margin: 0 auto;
}
#sec2 .set {
  margin-top: 50px;
}
#sec2 .set .txtbox {
  width: 80vw !important;
  padding: 0 12px;
  box-sizing: border-box;
}
#sec2 .set .slick-list {
  margin: 0 calc(-12px + var(--paddingWrap-negative)) 0 -12px;
}
#sec2 .set .slick-dots {
  margin-top: 35px;
}
#sec2 .btn-link {
  margin-top: 50px;
}
@media screen and (min-width: 768px) {
  #sec2 {
  	padding-bottom: 0;
    box-shadow: none;
  }
  #sec2 .set {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 70px -30px 0;
  }
  #sec2 .set .txtbox {
    width: 274px !important;
    margin: 13px;
    padding: 0;
  }
  #sec2 .btn-link {
    margin-top: 70px;
    text-align: center;
  }
}

#sec3 {
  
}
#sec3 h3.ttl {
  margin-top: 40px;
  font-weight: 700;
  font-size: 24px;
  text-transform: uppercase;
}
#sec3 .txt {
  margin-top: 20px;
  font-weight: 600;
}
html[lang*="en"] #sec3 .txt {
  font-weight: 400;
}
#sec3 .btn-link {
  margin-top: 40px;
}
#sec3 .btn-link .btn-style-1 {
	margin: 0 auto;
}
#sec3 .btn-link .btn-style-1.two-lines small {
  line-height: 1;
  margin-top: -10px;
}
#sec3 .btn-link .btn-style-1.two-lines {
  line-height: 1;
  position: relative;
}
#sec3 .btn-link .btn-style-1.two-lines::after {
  margin: 0;
  position: absolute;
  right: 15px;
  top: -15px;
  bottom: 0;
}
@media screen and (min-width: 768px) {
  #sec3 {
    text-align: center;
  }
  #sec3 h3.ttl {
    margin-top: 60px;
    font-size: 30px;
    line-height: 44px;
  }
  #sec3 .txt {
    margin-top: 30px;
    font-size: 20px;
    line-height: 40px;
  }
  #sec3 .btn-link {
    margin-top: 60px;
  }
}

#sec4 .btnbox-style {
    margin-top: 40px;
}