@charset "UTF-8";
@-moz-document url-prefix() {}html {
  font-size: 10px;
}

body {
  overflow-x: hidden;
}

.l-container {
  width: 100%;
}

.l-container #feature {
  color: #000;
  font-family: "Open Sans", "hiragino-kaku-gothic-pron", sans-serif;
  font-weight: 300;
  font-style: normal;
  margin: 0 auto 122px;
  width: 100%;
}

.l-container #feature .default-img {
  display: block;
  height: auto;
  width: 100%;
}

.l-container:after{
  content: none;
}

.l-container #feature * {
  box-sizing: border-box;
}

.l-container #feature *::after {
  box-sizing: border-box;
}

.l-container #feature *::before {
  box-sizing: border-box;
}

.l-container #feature a{
  display: block;
  text-decoration: none;
  position: relative;
  transition: all 0.3s;
}

.l-container #feature a::after{
  background: rgba(255, 255, 255, 0.3);
  content: "";
  opacity: 0;
  top: 0;
  left: 0;
  position: absolute;
  pointer-events: none;
  transition: 0.3s;
  height: 100%;
  width: 100%;
}
.l-container #feature a:hover::after{
  cursor: pointer;
  opacity: 1;
}

.l-container #feature #sp-only{
  display: none !important;
}

.l-container #feature .target[data-fade="fadeIn"]{
  opacity: 0;
  transition: opacity 0.7s;
}
.l-container #feature .target[data-fade="fadeIn"][data-is-active="true"]{
  opacity: 1;
}

/* credit */

.l-container #feature .creditList{
  opacity: 0;
  position: absolute;
  pointer-events: none;
  bottom: 17px;
  left: 15px;
  transition: opacity .6s ease;
  z-index: 3;
}
.l-container #feature .creditList.on{
  opacity: 1;
  pointer-events: all;
}

.l-container #feature .creditList .credit{
  display: flex;
  flex-direction: column;
  gap: 7px 0;
}

.l-container #feature .creditList .credit li,
.l-container #feature .creditList .credit li a{
  color: #fff;
  display: flex;
  font-family: "Open Sans", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 14px;
  letter-spacing: 0.05em;
  line-height: 1;
}
.l-container #feature .creditList .credit li .ja{
  font-family: kozuka-gothic-pr6n, sans-serif;
  font-weight: 400;
}

.l-container #feature .creditList .credit li .price{
  margin-left: 5px;
}

/* hero */

.l-container #feature .hero{
  margin: 0 auto;
  padding: 126px 0 0;
  position: relative;
  width: 100%;
}

.l-container #feature .hero__logo{
  margin: 0 auto;
  width: 430px;
}

.l-container #feature .hero__ttl{
  font-family: "Open Sans", sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: 30px;
  letter-spacing: 0.064em;
  line-height: 1;
  margin: 54px auto 0;
  width: fit-content;
}

.l-container #feature .hero__day{
  font-family: "Open Sans", sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: 21.24px;
  line-height: 1;
  letter-spacing: -0.004em;
  margin: 18px auto 0;
  padding: 0 0 30px;
  position: relative;
  width: fit-content;
}

/*
.l-container #feature .hero__day::before{
  background: #000;
  content: "";
  display: block;
  margin: auto;
  position: absolute;
  bottom: 0;
  left: 24px;
  right: 0;
  height: 1px;
  width: 120px;
}
*/

.l-container #feature .hero__day .ls:nth-of-type(1){
  /* display: inline-block; */
  /* margin: 0 -1px 0 0; */
}
.l-container #feature .hero__day .ls:nth-of-type(2){
  /* display: inline-block; */
  /* margin: 0 -1px 0 0; */
}

/*
.l-container #feature .hero__schedule{
  font-family: "hiragino-kaku-gothic-pron", sans-serif;
  font-weight: 300;
  font-size: 16px;
  margin: 52px auto 0;
  letter-spacing: 0.02em;
  line-height: 1.66666;
  text-align: center;
  width: fit-content;
}
.l-container #feature .hero__schedule .en{
  font-family: "futura-pt", sans-serif;
  font-weight: 400;
  font-size: 18px;
}
.l-container #feature .hero__schedule .ls{
  display: inline-block;
  margin: 0;
}
*/

/* main */

.l-container #feature .sec{
  margin: 0 auto;
  position: relative;
  width: 100%;
}

.l-container #feature .sec .inner{
  margin: 0 auto;
  position: relative;
  width: 100%;
}

.l-container #feature .sec .sec__flex{
  display: flex;
}

.l-container #feature .sec .sec__item,
.l-container #feature .sec .sec__img{
  position: relative;
  width: 300px;
}

.l-container #feature .sec .sec__item::before{
  background: #000;
  content: "";
  display: inline-block;
  opacity: 0;
  position: absolute;
  pointer-events: none;
  transition: opacity .6s ease;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 2;
}
.l-container #feature .sec .sec__item.on::before{
  opacity: .15;
}

.l-container #feature .sec__open{
  position: absolute;
  bottom: 10px;
  right: 10px;
  height: 21px;
  width: 21px;
  z-index: 3;
}

.l-container #feature .sec__open span{
  display: block;
  position: relative;
  height: 21px;
  width: 21px;
}
.l-container #feature .sec__open span::before,
.l-container #feature .sec__open span::after{
  background: #fff;
  content: "";
  display: block;
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  transition: transform .6s ease;
  height: 1px;
  width: 21px;
}
.l-container #feature .sec__open span::after{
  height: 21px;
  width: 1px;
}

.l-container #feature .sec__open.on span::after{
  transform: rotate(-90deg);
}

/* sec01 */

.l-container #feature .sec01{
  margin: 92px auto 0;
}

.l-container #feature .sec01 .flex01{
  flex-wrap: wrap;
  gap: 30px 0;
  justify-content: space-between;
  margin: 0 auto;
  width: 1290px;
}

.l-container #feature .sec01 .sec__btn{
  margin: 116px auto 0;
  padding: 0 0 19px;
  position: relative;
  width: fit-content;
}
.l-container #feature .sec01 .sec__btn::before{
  background: #000;
  content: "";
  display: block;
  margin: auto;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 1px;
  width: 140px;
}

.l-container #feature .sec01 .sec__btn a{
  color: #000;
  font-family: "Open Sans", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 30px;
  letter-spacing: 0.05em;
  line-height: 1;
}

@media screen and (max-width: 1401px){

}

.l-footer{
  padding: 0;
}
.pc-footer{
  margin: 0;
}