@charset "UTF-8";
.l-container {
  width: auto;
  overflow: hidden;
}

img {
  max-width: 100%;
  transition: 0.3s;
}

a {
  transition: 0.7s;
}
a:hover {
  text-decoration: none;
  opacity: 0.7;
}
a img {
  transition: 0.7s;
}
.js-fade {
  opacity: 0;
  transition: ease-in, opacity 1s;
}
.js-fade.is-active {
  opacity: 1;
}

.swiper {
  overflow: hidden;
}
.swiper .swiper-slide a {
  background: #fff;
  display: block;
}
.swiper .swiper-slide a:hover {
  opacity: 1;
}
.swiper .swiper-slide a:hover img {
  opacity: 0.7;
}

.credit {
  position: absolute;
}
.credit .item {
  display: inline-block;
  margin-right: 0.5vw;
  margin-bottom: 0.6428571429vw;
  line-height: 1;
  font-size: 0.9285714286vw;
  color: #000;
}
.credit .item.-mr0, .credit .item:last-child {
  margin-right: 0;
}
.credit .link {
  line-height: 1;
  font-size: 0.9285714286vw;
  transition: 0.3s;
  color: #000;
  letter-spacing: 0.05em;
  font-family: "pragmatica", sans-serif;
  font-weight: 300;
  font-style: normal;
}
.credit .link:hover {
  text-decoration: none;
  cursor: pointer;
  opacity: 0.7;
}
.credit .link .price {
  margin-left: 0.3571428571vw;
  letter-spacing: 0.05em;
}
.credit .link .sorel {
  margin-left: 0.1428571429vw;
  letter-spacing: 0.03em;
}

.feature {
  font-feature-settings: "palt" 1;
  color: #000000;
  overflow: hidden;
  font-family: "Yu Gothic", "游ゴシック", "YuGothic", "游ゴシック体", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", sans-serif;
  font-weight: 500;
}

.mv__Inner {
  position: relative;
  margin: auto;
  width: 100%;
  height: 58.2142857143vw;
}
.mv__Inner:before {
  content: "";
  position: absolute;
  top: 3.7857142857vw;
  right: 20.2857142857vw;
  width: 78.5714285714vw;
  height: 83.5714285714vw;
  background: #faf7f0;
}
.mv__Ttl {
  position: absolute;
  width: 34.1071428571vw;
  top: 0;
  left: 32.4285714286vw;
}
.mv__Subttl {
  position: absolute;
  width: 29.2857142857vw;
  top: 10.2142857143vw;
  left: 35.7142857143vw;
  font-size: 1.2142857143vw;
  font-weight: 500;
  transform: translateX(-0.1428571429vw);
}
.mv__Subttl .-Prag {
  font-family: "pragmatica", sans-serif;
  font-weight: 300;
  font-style: normal;
  font-size: 1.2857142857vw;
  letter-spacing: 0.05em;
}
.mv__Subttl .-Ivy {
  font-family: "ivypresto-display", serif;
  font-weight: 100;
  font-style: normal;
  font-style: italic;
  font-size: 2.3571428571vw;
  margin-left: 0.3571428571vw;
  transform: rotate(0deg) translate(-0.3571428571vw, 0.2142857143vw);
  display: inline-block;
}
.mv__Txt {
  position: absolute;
  width: 37.8571428571vw;
  top: 15.7142857143vw;
  left: 31.2142857143vw;
  text-align: center;
  font-size: 1vw;
  line-height: 2em;
  letter-spacing: 0.05em;
}
.mv__Item {
  position: absolute;
  width: 14.2857142857vw;
  top: 30vw;
  left: 42.8571428571vw;
}
.mv__Voice {
  position: absolute;
  width: 32.8571428571vw;
  top: 43.1428571429vw;
  left: 33.5714285714vw;
  background: linear-gradient(180deg, #faf7f0 0%, #faf7f0 1.1428571429vw, #fff 1.1428571429vw, #fff 100%);
  padding: 0 2.1428571429vw 1.4285714286vw;
  box-sizing: border-box;
}
.mv__Voice dt {
  text-align: center;
  color: #b7b7b7;
  font-size: 2.4285714286vw;
  margin-bottom: 1.3571428571vw;
  letter-spacing: 0.015em;
  font-family: "ivypresto-display", serif;
  font-weight: 100;
  font-style: normal;
  line-height: 1;
}
.mv__Voice dd {
  text-align: center;
  font-size: 1vw;
  line-height: 2em;
  letter-spacing: 0.05em;
}

.sec01__Inner {
  position: relative;
  margin: auto;
  width: 100%;
  height: 73.3571428571vw;
}
.sec01__Ttl {
  position: absolute;
  top: 0;
  left: 14.5714285714vw;
  font-size: 7.2857142857vw;
  color: #b7b7b7;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  transform: rotate(-180deg);
  font-family: "ivypresto-display", serif;
  font-weight: 100;
  font-style: normal;
}
.sec01__Ttl span {
  font-size: 7.5714285714vw;
  padding-top: 0.3571428571vw;
}
.sec01__Model {
  position: absolute;
}
.sec01__Model.-model01 {
  width: 31.4285714286vw;
  top: 0;
  left: 23.6428571429vw;
}
.sec01__Model.-model02 {
  width: 23.5714285714vw;
  top: 20.7142857143vw;
  left: 59.2857142857vw;
}
.sec01__Txt {
  position: absolute;
  width: 38.5714285714vw;
  top: 56vw;
  left: 31.0714285714vw;
  text-align: center;
  font-size: 1vw;
  line-height: 2em;
  letter-spacing: 0.05em;
}
.sec01 .credit {
  position: absolute;
  width: 31.4285714286vw;
  top: 48.5714285714vw;
  left: 23.6428571429vw;
}

.sec02__Inner {
  position: relative;
  margin: auto;
  width: 100%;
  height: 84.6428571429vw;
}
.sec02__Inner:before {
  content: "";
  position: absolute;
  top: 10vw;
  left: 15.7142857143vw;
  width: 84.2857142857vw;
  height: 45vw;
  background: #f5f5f7;
}
.sec02__Ttl {
  position: absolute;
  top: 5.0714285714vw;
  left: 9.0714285714vw;
  font-size: 7.2857142857vw;
  color: #b7b7b7;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  transform: rotate(-180deg);
  font-family: "ivypresto-display", serif;
  font-weight: 100;
  font-style: normal;
}
.sec02__Ttl span {
  font-size: 7.5714285714vw;
  padding-top: 0.3571428571vw;
}
.sec02__Model {
  position: absolute;
}
.sec02__Model.-model01 {
  width: 30vw;
  top: 0;
  left: 47.1428571429vw;
}
.sec02__Model.-model02 {
  width: 23.5714285714vw;
  top: 28.3571428571vw;
  left: 21.4285714286vw;
}
.sec02__Txt {
  position: absolute;
  width: 38.5714285714vw;
  top: 63.5714285714vw;
  left: 30.7142857143vw;
  text-align: center;
  font-size: 1vw;
  line-height: 2em;
  letter-spacing: 0.04em;
}
.sec02 .credit {
  position: absolute;
  width: 30vw;
  top: 46.4285714286vw;
  left: 47.1428571429vw;
  text-align: right;
}

.sec03__Inner {
  position: relative;
  margin: auto;
  width: 100%;
  height: 69.0714285714vw;
}
.sec03__Inner:before {
  content: "";
  position: absolute;
  top: -5.7142857143vw;
  right: 20.8571428571vw;
  width: 77.8571428571vw;
  height: 56.4285714286vw;
  background: #faf7f0;
}
.sec03__Ttl {
  position: absolute;
  top: 3.2857142857vw;
  left: 18.5vw;
  font-size: 7.2857142857vw;
  color: #b7b7b7;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  transform: rotate(-180deg);
  font-family: "ivypresto-display", serif;
  font-weight: 100;
  font-style: normal;
}
.sec03__Ttl span {
  font-size: 7.5714285714vw;
  padding-top: 0.3571428571vw;
}
.sec03__Model {
  position: absolute;
}
.sec03__Model.-model01 {
  width: 30vw;
  top: 0;
  left: 57.8571428571vw;
}
.sec03__Model.-model02 {
  width: 23.5714285714vw;
  top: 6.8571428571vw;
  left: 27.1428571429vw;
}
.sec03__Txt {
  position: absolute;
  width: 39.2857142857vw;
  top: 54.5714285714vw;
  left: 30.4285714286vw;
  text-align: center;
  font-size: 1vw;
  line-height: 2em;
  letter-spacing: 0.05em;
}
.sec03 .credit {
  position: absolute;
  width: 25vw;
  top: 39.6428571429vw;
  left: 27.1428571429vw;
}

.checkallitem {
  text-align: center;
  margin-bottom: 8.9285714286vw;
}
.checkallitem a {
  font-size: 2.2857142857vw;
  padding: 0 1.1428571429vw 0.5714285714vw;
  background: linear-gradient(180deg, #fff 0%, #fff 1.5vw, #b7b7b7 1.5vw, #b7b7b7 100%);
  font-family: "ivypresto-display", serif;
  font-weight: 100;
  font-style: normal;
  font-weight: 100;
  color: #000;
  letter-spacing: 0.035em;
  line-height: 1;
  display: inline-block;
  transform: translate(0.6428571429vw, 0vw);
}

@media (min-width: 1401px) {
  .credit .item {
    margin-right: 7px;
    margin-bottom: 9px;
    font-size: 13px;
  }
  .credit .link {
    font-size: 13px;
  }
  .credit .link .price {
    margin-left: 5px;
  }
  .credit .link .sorel {
    margin-left: 2px;
  }
  .mv__Inner {
    width: 1400px;
    height: 815px;
  }
  .mv__Inner:before {
    top: 53px;
    right: 300px;
    width: calc(100% + 50vw);
    height: 1170px;
  }
  .mv__Ttl {
    width: 477.5px;
    left: 454px;
  }
  .mv__Subttl {
    width: 410px;
    top: 143px;
    left: 500px;
    font-size: 17px;
    transform: translateX(-2px);
  }
  .mv__Subttl .-Prag {
    font-size: 18px;
  }
  .mv__Subttl .-Ivy {
    font-size: 33px;
    margin-left: 5px;
    transform: rotate(0deg) translate(-5px, 3px);
  }
  .mv__Txt {
    width: 530px;
    top: 220px;
    left: 437px;
    font-size: 14px;
  }
  .mv__Item {
    width: 200px;
    top: 420px;
    left: 600px;
  }
  .mv__Voice {
    width: 460px;
    top: 604px;
    left: 470px;
    background: linear-gradient(180deg, #faf7f0 0%, #faf7f0 16px, #fff 16px, #fff 100%);
    padding: 0 30px 20px;
  }
  .mv__Voice dt {
    font-size: 34px;
    margin-bottom: 19px;
  }
  .mv__Voice dd {
    font-size: 14px;
  }
  .sec01__Inner {
    width: 1400px;
    height: 1027px;
  }
  .sec01__Ttl {
    left: 204px;
    font-size: 102px;
  }
  .sec01__Ttl span {
    font-size: 106px;
    padding-top: 5px;
  }
  .sec01__Model.-model01 {
    width: 440px;
    left: 331px;
  }
  .sec01__Model.-model02 {
    width: 330px;
    top: 290px;
    left: 830px;
  }
  .sec01__Txt {
    width: 540px;
    top: 784px;
    left: 435px;
    font-size: 14px;
  }
  .sec01 .credit {
    width: 440px;
    top: 680px;
    left: 331px;
  }
  .sec02__Inner {
    width: 1400px;
    height: 1185px;
  }
  .sec02__Inner:before {
    top: 140px;
    left: 220px;
    width: calc(100% + 50vw);
    height: 630px;
  }
  .sec02__Ttl {
    top: 71px;
    left: 127px;
    font-size: 102px;
  }
  .sec02__Ttl span {
    font-size: 106px;
    padding-top: 5px;
  }
  .sec02__Model.-model01 {
    width: 420px;
    top: 0;
    left: 660px;
  }
  .sec02__Model.-model02 {
    width: 330px;
    top: 397px;
    left: 300px;
  }
  .sec02__Txt {
    width: 540px;
    top: 890px;
    left: 430px;
    font-size: 14px;
  }
  .sec02 .credit {
    width: 420px;
    top: 650px;
    left: 660px;
  }
  .sec03__Inner {
    width: 1400px;
    height: 967px;
  }
  .sec03__Inner:before {
    top: -80px;
    right: 310px;
    width: calc(100% + 50vw);
    height: 790px;
  }
  .sec03__Ttl {
    top: 46px;
    left: 259px;
    font-size: 102px;
  }
  .sec03__Ttl span {
    font-size: 106px;
    padding-top: 5px;
  }
  .sec03__Model.-model01 {
    width: 420px;
    top: 0;
    left: 810px;
  }
  .sec03__Model.-model02 {
    width: 330px;
    top: 96px;
    left: 380px;
  }
  .sec03__Txt {
    width: 550px;
    top: 764px;
    left: 426px;
    font-size: 14px;
  }
  .sec03 .credit {
    width: 350px;
    top: 555px;
    left: 380px;
  }
  .checkallitem {
    margin-bottom: 125px;
  }
  .checkallitem a {
    font-size: 32px;
    padding: 0 16px 8px;
    background: linear-gradient(180deg, #fff 0%, #fff 21px, #b7b7b7 21px, #b7b7b7 100%);
    font-family: "ivypresto-display", serif;
    font-weight: 100;
    font-style: normal;
    font-weight: 100;
    color: #000;
    letter-spacing: 0.035em;
    line-height: 1;
    display: inline-block;
    transform: translate(0, 0px);
  }
}
.l-footer {
  padding: 0;
}

.pc-footer {
  margin: 0;
}