@charset "UTF-8";
.mincho {
  font-family: "游明朝", YuMincho, "Kozuka Mincho Pro", "Kozuka Mincho Std", "小塚明朝 Pro R", "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Sawarabi Mincho", serif;
}

.inrWidth {
  width: 1000px;
  margin-right: auto;
  margin-left: auto;
}

.outerWidth {
  width: 1200px;
  margin-right: auto;
  margin-left: auto;
}

.fullWidth {
  margin-right: auto;
  margin-left: auto;
}

@media screen and (min-width: 1400px) {
  .fullWidth {
    width: 1400px;
  }

  .inrWidth {
    width: 1000px;
  }
}
@media screen and (min-width: 1200px) and (max-width: 1400px) {
  .fullWidth {
    width: 100%;
  }

  .outerWidth {
    width: 1200px;
  }

  .inrWidth {
    width: 1000px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1400px) {
  .fullWidth {
    width: 100% !important;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .outerWidth {
    width: 95% !important;
  }
}
@media screen and (min-width: 768px) and (max-width: 1000px) {
  .inrWidth {
    width: 95% !important;
  }
}
@media screen and (max-width: 768px) {
  .inrWidth {
    width: 90%;
  }

  .outerWidth {
    width: 90% !important;
  }
}
body {
  margin: 0;
  font-size: 28px;
  line-height: 1.95;
  letter-spacing: 0.06em;
  font-feature-settings: "palt";
}
@media screen and (max-width: 750px) {
  body {
    font-size: 3.66vw;
  }
}
@media screen and (max-width: 375px) {
  body {
    font-size: 14px;
  }
}

.ft13 {
  font-size: 26px;
}
@media screen and (max-width: 750px) {
  .ft13 {
    font-size: 3.4vw;
  }
}
@media screen and (max-width: 375px) {
  .ft13 {
    font-size: 13px;
  }
}

.ft12 {
  font-size: 24px;
}
@media screen and (max-width: 750px) {
  .ft12 {
    font-size: 3.145vw;
  }
}
@media screen and (max-width: 375px) {
  .ft12 {
    font-size: 12px;
  }
}

.ft11 {
  font-size: 22px;
}
@media screen and (max-width: 750px) {
  .ft11 {
    font-size: 2.88vw;
  }
}
@media screen and (max-width: 375px) {
  .ft11 {
    font-size: 11px;
  }
}

section {
  width: 100%;
  max-width: 750px;
  margin: 0 auto;
}

img {
  max-width: 100%;
}

.bg {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  overflow: hidden;
}
.bg__movie {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 177.77777778vh;
  height: 56.25vw;
  min-height: 100%;
  min-width: 100%;
}

main {
  position: relative;
  max-width: 750px;
  margin: 0 auto;
  z-index: 10;
}

.mv {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100vh;
}
.mv__inr {
  text-align: center;
}
.mv__inr--logo {
  display: block;
  width: 40%;
  margin: 0 auto 10%;
  animation: fadeIn 0.9s ease-in-out 0.5s both;
}
.mv__inr--ttl {
  width: 3.734%;
  animation: fadeIn 0.9s ease-in-out 1s both;
}

.lead {
  position: relative;
  background: #FFF;
  padding-bottom: 40%;
  margin-top: 439.5px;
  padding-top: 439.5px;
}
@media screen and (max-width: 750px) {
  .lead {
    margin-top: 58vw;
    padding-top: 58vw;
  }
}
.lead__img01 {
  position: absolute;
  margin-bottom: -50%;
  width: 65.6%;
  top: -439.5px;
}
@media screen and (max-width: 750px) {
  .lead__img01 {
    top: -58vw;
  }
}
.lead__img01--txt {
  position: absolute;
  top: 5%;
  right: 8%;
  width: 7.32%;
}
.lead__img02 {
  position: relative;
  width: 54.66%;
  margin: 0 0 -14% auto;
  transform: translate(0, -14%);
  z-index: 2;
}
.lead__img02--txt {
  position: absolute;
  bottom: -15%;
  left: 8%;
  width: 8.78%;
}
.lead__img03 {
  position: relative;
  width: 80.3%;
  margin: 50% 0 0 auto;
}
.lead__img03--txt {
  position: absolute;
  top: -10.5%;
  left: 10%;
  width: 5.98%;
}
.lead__img04 {
  position: relative;
  width: 59.6%;
  margin: 0 auto -11% 0;
  transform: translate(0, -11%);
  z-index: 2;
}
.lead__img04--txt {
  position: absolute;
  bottom: -17%;
  right: 12%;
  width: 8.055%;
}
.lead__txt {
  width: 73%;
  margin: 38.5% auto 0;
}
.lead__txt--sign {
  display: block;
  width: 49.5%;
  margin-top: 12%;
}

.detail {
  margin-top: 36.5%;
  background: #FFF;
}
.detail__ttl {
  width: 59.6%;
  margin: 0% auto;
  padding-top: 20.8%;
}
.detailSlide {
  margin-top: 15.5%;
  width: 86%;
}
.detailSlide__size {
  text-align: center;
  letter-spacing: 0.06em;
  margin-top: 8%;
}
.detailSlide__txt {
  width: 90%;
  margin: 3% auto 0;
}
.detail__img01 {
  position: relative;
  margin-top: 55%;
}
.detail__img01--txt {
  width: 44%;
  margin: 0 0 0 8%;
}
.detail__img01--blk {
  display: flex;
  align-items: flex-end;
  margin: 12% 0 0 0;
}
.detail__img01--blk .LFT {
  width: 41.2%;
}
.detail__img01--blk .RGT {
  width: 47.07%;
  margin-left: 4%;
  padding-bottom: 20.4%;
}
.detail__img02 {
  width: 81%;
  margin: 35.5% 0 0 auto;
}
.detail__img03 {
  display: block;
  width: 60%;
  margin: -9% 6.5% 32% auto;
  transform: translate(0, 38.5%);
}

.about {
  margin-top: 92%;
  padding: 21.2% 0 12%;
  background: #FFF;
  border-bottom: 1px solid #000;
}
.about__ttl {
  position: relative;
}
.about__ttl--txt {
  display: block;
  width: 100%;
  text-align: center;
  line-height: 1.4;
  letter-spacing: 0.1em;
  margin: -3% 0 0;
}
.about__author {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  width: 74%;
  margin: 8% auto 0;
}
.about__author--img {
  width: 27.5%;
}
.about__author--blk {
  width: 67%;
  line-height: 1.5;
}
.about__author--blk p {
  margin-top: 5%;
}
.about__column {
  width: 74%;
  line-height: 1.65;
  margin: 2.5% auto 0;
  text-align: justify;
}

.pickup {
  background: #FFF;
  padding-top: 39%;
}
.pickup__ttl {
  width: 50.67%;
  margin: 0 auto;
}
.pickup__img {
  display: block;
  width: 73.34%;
  margin: 10% auto 0;
}
.pickup__color {
  display: flex;
  justify-content: center;
  width: 100%;
  margin-top: 7%;
}
.pickup__color span {
  display: block;
  width: 3.145vw;
  max-width: 24px;
  height: 3.145vw;
  max-height: 24px;
  border-radius: 50%;
  margin: 0 1.25%;
}
.pickup__color span.beige {
  background: #d6c2b2;
}
.pickup__color span.gray {
  background: #c0c0c0;
}
.pickup__color span.black {
  background: #1d1b23;
}
.pickup__color span.white {
  border: 1px solid #1d1b23;
}
.pickup__name {
  font-size: 36px;
  font-weight: 600;
  line-height: 1.63;
  text-align: center;
  margin-top: 7%;
}
@media screen and (max-width: 750px) {
  .pickup__name {
    font-size: 4.71vw;
  }
}
@media screen and (max-width: 375px) {
  .pickup__name {
    font-size: 18px;
  }
}
.pickup__name span {
  display: block;
  line-height: 1.5;
}
.pickup__txt {
  width: 74%;
  margin: 7% auto 0;
}
.pickup__btn {
  position: relative;
  display: block;
  width: 73.34%;
  margin: 5% auto 0;
}
.pickup__btn:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 8%;
  display: block;
  width: 2.615vw;
  max-width: 20px;
  height: 2.615vw;
  max-height: 20px;
  background: url(../img/arw.png) no-repeat center;
  transform: translate(0, -50%);
  transition: 0.2s;
  z-index: 100;
}
.pickup__btn:hover:before {
  right: 6%;
}
.pickup__line {
  width: 73.34%;
  border: none;
  border-bottom: 2px solid #000;
  margin: 12% auto 0;
}

.ft {
  position: relative;
  max-width: 750px;
  z-index: 10;
  background: #FFF;
  margin: 0 auto;
  padding: 12% 0 10%;
}
.ft__logo {
  width: 50%;
  margin: 0 auto;
}
.ft__copy {
  width: 60%;
  margin: 6% auto;
}

.swiper-button-next,
.swiper-container-rtl .swiper-button-prev {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E");
}

.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E");
}

.swiper-button-next, .swiper-button-prev {
  top: 480px;
  width: 3.53vw;
  max-width: 27px;
  height: 5.76vw;
  max-height: 44px;
  background-size: 100% auto;
  margin-top: -22px;
}
@media screen and (max-width: 750px) {
  .swiper-button-next, .swiper-button-prev {
    top: 63vw;
    margin-top: -2.88vw;
  }
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.fadeIn {
  animation: fadeIn 0.6s ease-in-out 0s both;
}