@charset "UTF-8";
:root {
  --main-font: "neue-haas-grotesk-display", "Helvetica Neue", "Arial", sans-serif;
  --design-font: "ivypresto-headline", "Times New Roman", "Georgia", serif;
  --jp-font: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

body, main, footer {
  background: #FCF7E9;
  color: #1717B1;
}
body.is-locked, main.is-locked, footer.is-locked {
  overflow: hidden;
}

img {
  max-width: 100%;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

@media screen and (min-width: 768px) {
  .pc {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .sp {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .sp {
    display: block;
  }
}

a {
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media (hover: hover) {
  a:where(:-webkit-any-link, :enabled, summary):hover {
    opacity: 0.8;
  }
  a:where(:-moz-any-link, :enabled, summary):hover {
    opacity: 0.8;
  }
  a:where(:any-link, :enabled, summary):hover {
    opacity: 0.8;
  }
}

.fadeIn {
  opacity: 0;
  -webkit-transition: opacity 1.5s ease-in-out;
  transition: opacity 1.5s ease-in-out;
}
.fadeIn--late {
  -webkit-transition: opacity 1.5s ease-in-out 0.8s;
  transition: opacity 1.5s ease-in-out 0.8s;
}

.contentsWrapper {
  width: 100%;
}

.mainBlock {
  position: relative;
}
@media screen and (min-width: 768px) {
  .mainBlock {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    padding-top: 6.25vw;
    margin-bottom: min(64px, 5vw);
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 2.34375vw;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin-left: 3.59375vw;
  }
}
@media screen and (max-width: 767px) {
  .mainBlock {
    margin-inline: auto;
    margin-bottom: 14.358974359vw;
  }
}
@media screen and (min-width: 768px) {
  .mainBlock__container {
    width: min(1000px, 90%);
    border-top: solid 1px currentColor;
    border-left: solid 1px currentColor;
  }
}
.mainBlock__container .mainVisual {
  position: relative;
  width: 100%;
  border-bottom: solid 1px currentColor;
}
@media screen and (min-width: 768px) {
  .mainBlock__container .mainVisual {
    border-right: solid 1px currentColor;
  }
}
.mainBlock__container .mainVisual__title {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 768px) {
  .mainBlock__container .mainVisual__title {
    top: min(50px, 5%);
    gap: min(30px, 1.5%);
  }
}
@media screen and (max-width: 767px) {
  .mainBlock__container .mainVisual__title {
    top: 7.6923076923vw;
    gap: 3.0769230769vw;
  }
}
.mainBlock__container .mainVisual__title h1 {
  line-height: 100%;
}
@media screen and (min-width: 768px) {
  .mainBlock__container .mainVisual__title h1 {
    width: min(58%, 580px);
  }
}
@media screen and (max-width: 767px) {
  .mainBlock__container .mainVisual__title h1 {
    width: 69.7435897436vw;
  }
}
.mainBlock__container .mainVisual__title h2 {
  line-height: 100%;
}
@media screen and (min-width: 768px) {
  .mainBlock__container .mainVisual__title h2 {
    width: min(27.7%, 277px);
  }
}
@media screen and (max-width: 767px) {
  .mainBlock__container .mainVisual__title h2 {
    width: 47.4358974359vw;
  }
}
.mainBlock__list {
  display: grid;
}
@media screen and (min-width: 768px) {
  .mainBlock__list {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .mainBlock__list {
    grid-template-columns: repeat(2, 1fr);
  }
}
.mainBlock__item {
  position: relative;
  width: 100%;
  aspect-ratio: 334/443;
  overflow: hidden;
  border-bottom: solid 1px currentColor;
}
@media screen and (min-width: 768px) {
  .mainBlock__item {
    border-right: solid 1px currentColor;
  }
}
@media screen and (max-width: 767px) {
  .mainBlock__item:nth-child(odd) {
    border-right: solid 1px currentColor;
  }
}
.mainBlock__item button {
  width: 100%;
  height: 100%;
  opacity: 1;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media (hover: hover) {
  .mainBlock__item button:where(:-webkit-any-link, :enabled, summary):hover {
    opacity: 0.8;
  }
  .mainBlock__item button:where(:-moz-any-link, :enabled, summary):hover {
    opacity: 0.8;
  }
  .mainBlock__item button:where(:any-link, :enabled, summary):hover {
    opacity: 0.8;
  }
}
.mainBlock__item h3 {
  position: absolute;
  top: 1em;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  font-family: var(--design-font);
  font-weight: 300;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .mainBlock__item h3 {
    font-size: min(24px, 1.875vw);
  }
}
@media screen and (max-width: 767px) {
  .mainBlock__item h3 {
    font-size: 4.1025641026vw;
  }
}
.mainBlock__item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.mainBlock__item::after {
  position: absolute;
  content: "";
  width: 15px;
  height: 15px;
  bottom: 10px;
  right: 10px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 15' fill='none'%3E%3Cpath d='M6.22917 7.85417H0V6.22917H6.22917V0H7.85417V6.22917H14.0833V7.85417H7.85417V14.0833H6.22917V7.85417Z' fill='%231717B1'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .mainBlock__item::after {
    width: 2.5641025641vw;
    height: 2.5641025641vw;
    bottom: 2.0512820513vw;
    right: 2.0512820513vw;
  }
}
.mainBlock .navArea {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 2;
  padding-top: 6.25vw;
  margin-top: -6.25vw;
}
@media screen and (max-width: 767px) {
  .mainBlock .navArea {
    display: none;
  }
}
.mainBlock .navArea__wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-family: var(--design-font);
  font-weight: 300;
  font-size: 1.25vw;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  height: auto;
  gap: 2em;
}
.mainBlock .navArea__item {
  position: relative;
}
.mainBlock .navArea__item + .navArea__item::before {
  content: "";
  position: absolute;
  width: 0.75em;
  height: 1px;
  background: #1717B1;
  top: -1em;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.infoBlock {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: min(64px, 5vw);
}
@media screen and (max-width: 767px) {
  .infoBlock {
    margin-bottom: 14.358974359vw;
  }
}
.infoBlock__title {
  text-align: center;
  font-size: min(48px, 3.75vw);
  font-weight: 300;
  font-family: var(--design-font);
  line-height: 100%;
  margin-bottom: min(40px, 3.125vw);
}
@media screen and (max-width: 767px) {
  .infoBlock__title {
    font-size: 8.2051282051vw;
    margin-bottom: 10.2564102564vw;
  }
}
.infoBlock .contentsWrap {
  text-align: center;
}
.infoBlock .contentsWrap__title {
  font-size: min(25px, 1.953125vw);
  font-weight: 300;
  font-family: var(--design-font);
  line-height: 100%;
  margin-bottom: min(12px, 0.9375vw);
}
@media screen and (max-width: 767px) {
  .infoBlock .contentsWrap__title {
    font-size: 4.6153846154vw;
    margin-bottom: 3.0769230769vw;
  }
}
.infoBlock .contentsWrap__title span {
  display: block;
}
.infoBlock .contentsWrap__title h3 {
  margin-bottom: min(8px, 0.625vw);
}
@media screen and (max-width: 767px) {
  .infoBlock .contentsWrap__title h3 {
    margin-bottom: 2.0512820513vw;
  }
}
.infoBlock .contentsWrap__text {
  font-family: var(--jp-font);
  font-size: min(13px, 1.015625vw);
  font-weight: 300;
  line-height: 170%;
}
@media screen and (max-width: 767px) {
  .infoBlock .contentsWrap__text {
    font-size: 3.0769230769vw;
  }
}
.infoBlock .contentsWrap__text--small {
  font-size: min(11px, 0.859375vw);
}
@media screen and (max-width: 767px) {
  .infoBlock .contentsWrap__text--small {
    font-size: 2.8205128205vw;
  }
}
.infoBlock .contentsWrap > p + p {
  margin-top: min(12px, 0.9375vw);
}
@media screen and (max-width: 767px) {
  .infoBlock .contentsWrap > p + p {
    margin-top: 2.5641025641vw;
  }
}
.infoBlock > div + div {
  margin-top: min(32px, 2.5vw);
}
@media screen and (max-width: 767px) {
  .infoBlock > div + div {
    margin-top: 6.1538461538vw;
  }
}

.footerBlock {
  border-top: solid 1px currentColor;
  width: 100%;
  padding-top: min(32px, 2.5vw);
  font-family: var(--design-font);
  font-weight: 300;
}
@media screen and (max-width: 767px) {
  .footerBlock {
    padding-top: 8.2051282051vw;
  }
}
.footerBlock__link {
  width: min(90%, 1000px);
  margin-inline: auto;
  font-size: min(13px, 1.015625vw);
  margin-bottom: min(48px, 3.75vw);
}
@media screen and (max-width: 767px) {
  .footerBlock__link {
    width: calc(100% - 10.2564102564vw);
    font-size: 3.3333333333vw;
    margin-bottom: 12.3076923077vw;
  }
}
.footerBlock__link li + li {
  padding-top: min(5px, 0.390625vw);
}
@media screen and (max-width: 767px) {
  .footerBlock__link li + li {
    padding-top: 1.2820512821vw;
  }
}
.footerBlock__copy {
  font-size: min(9px, 0.703125vw);
  width: min(90%, 1000px);
  margin-inline: auto;
  margin-bottom: min(20px, 1.5625vw);
}
@media screen and (max-width: 767px) {
  .footerBlock__copy {
    margin-bottom: 5.1282051282vw;
    font-size: 2.3076923077vw;
    width: calc(100% - 10.2564102564vw);
  }
}

.modalBlock {
  width: 100%;
  background: #FCF7E9;
  position: relative;
  display: none;
  z-index: 99;
}
.modalBlock.is-active {
  display: block;
  position: fixed;
  inset: 0;
  overflow: scroll;
}
.modalBlock__close {
  position: fixed;
  z-index: 999;
}
@media screen and (min-width: 768px) {
  .modalBlock__close {
    width: min(25px, 1.953125vw);
    height: min(25px, 1.953125vw);
    top: 4.296875vw;
    right: 6.640625vw;
  }
}
@media screen and (max-width: 767px) {
  .modalBlock__close {
    width: 5.1282051282vw;
    height: 5.1282051282vw;
    top: 7.6923076923vw;
    right: 5.1282051282vw;
  }
}
.modalBlock .contentsBlock {
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .modalBlock .contentsBlock {
    width: min(600px, 90%);
    margin-top: 7.8125vw;
    margin-bottom: 7.8125vw;
  }
}
@media screen and (max-width: 767px) {
  .modalBlock .contentsBlock {
    width: calc(100% - 10.2564102564vw);
    margin-top: 16.4102564103vw;
    margin-bottom: 16.4102564103vw;
  }
}
.modalBlock .contentsBlock__text {
  font-family: var(--jp-font);
  font-size: min(14px, 1.09375vw);
  font-weight: 300;
  line-height: 170%;
  margin-bottom: min(40px, 3.125vw);
  max-width: 500px;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .modalBlock .contentsBlock__text {
    font-size: 3.0769230769vw;
    margin-bottom: 8.2051282051vw;
  }
}
.modalBlock .contentsBlock__list > li + li {
  padding-top: min(40px, 3.125vw);
}
@media screen and (max-width: 767px) {
  .modalBlock .contentsBlock__list > li + li {
    padding-top: 8.2051282051vw;
  }
}
.modalBlock .contentsBlock__list .detailBlock {
  width: 100%;
}
.modalBlock .contentsBlock__list .detailBlock__credit {
  margin-top: min(16px, 1.25vw);
  font-family: var(--main-font);
  font-size: 11px;
  font-weight: 450;
  line-height: 100%;
}
@media screen and (max-width: 767px) {
  .modalBlock .contentsBlock__list .detailBlock__credit {
    margin-top: 2.5641025641vw;
  }
}
.modalBlock .contentsBlock__list .detailBlock__credit .item-d-none {
  display: none;
}
.modalBlock .contentsBlock__list .detailBlock__credit > li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.modalBlock .contentsBlock__list .detailBlock__credit > li a {
  display: inline-block;
  padding: 2px 16px 1px;
  border: solid 1px currentColor;
}
@media (hover: hover) {
  .modalBlock .contentsBlock__list .detailBlock__credit > li a:where(:-webkit-any-link, :enabled, summary):hover {
    text-decoration: none;
    color: #FCF7E9;
    background: #1717B1;
  }
  .modalBlock .contentsBlock__list .detailBlock__credit > li a:where(:-moz-any-link, :enabled, summary):hover {
    text-decoration: none;
    color: #FCF7E9;
    background: #1717B1;
  }
  .modalBlock .contentsBlock__list .detailBlock__credit > li a:where(:any-link, :enabled, summary):hover {
    text-decoration: none;
    color: #FCF7E9;
    background: #1717B1;
  }
}
.modalBlock .contentsBlock__list .detailBlock__credit > span {
  display: block;
}
.modalBlock .contentsBlock__list .detailBlock__credit > li + li {
  padding-top: min(8px, 0.625vw);
}
@media screen and (max-width: 767px) {
  .modalBlock .contentsBlock__list .detailBlock__credit > li + li {
    padding-top: 2.0512820513vw;
  }
}
.modalBlock .contentsBlock .bottomArea {
  padding-top: min(40px, 3.125vw);
  padding-bottom: min(40px, 3.125vw);
  font-weight: 400;
}
.modalBlock .contentsBlock .bottomArea--line {
  border-top: solid 1px currentColor;
  margin-top: min(40px, 3.125vw);
}
@media screen and (max-width: 767px) {
  .modalBlock .contentsBlock .bottomArea--line {
    margin-top: 8.2051282051vw;
  }
}
@media screen and (max-width: 767px) {
  .modalBlock .contentsBlock .bottomArea {
    padding: 8.2051282051vw 0;
  }
}
.modalBlock .contentsBlock .bottomArea h3 {
  font-family: var(--main-font);
  font-size: min(14px, 1.09375vw);
  margin-bottom: 0.5em;
}
@media screen and (max-width: 767px) {
  .modalBlock .contentsBlock .bottomArea h3 {
    font-size: 3.5897435897vw;
  }
}
.modalBlock .contentsBlock .bottomArea p {
  font-family: var(--jp-font);
  font-size: min(11px, 0.859375vw);
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .modalBlock .contentsBlock .bottomArea p {
    font-size: 2.8205128205vw;
  }
}
.modalBlock .contentsBlock .bottomArea a {
  text-decoration: underline;
}
.modalBlock .contentsBlock .bottomArea__inner > p {
  font-size: min(12px, 0.9375vw);
}
@media screen and (max-width: 767px) {
  .modalBlock .contentsBlock .bottomArea__inner > p {
    font-size: 3.0769230769vw;
  }
}
.modalBlock .contentsBlock .bottomArea__inner p + p {
  padding-top: 0.5em;
}
.modalBlock .titleWrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: min(5px, 0.390625vw);
  margin-bottom: min(24px, 1.875vw);
}
@media screen and (max-width: 767px) {
  .modalBlock .titleWrap {
    margin-bottom: 5.1282051282vw;
    gap: 1.2820512821vw;
  }
}
.modalBlock .titleWrap__sub {
  width: min(128px, 10vw);
  height: auto;
}
@media screen and (max-width: 767px) {
  .modalBlock .titleWrap__sub {
    width: 32.8205128205vw;
  }
}
.modalBlock .titleWrap__main {
  font-size: min(80px, 6.25vw);
  font-family: var(--design-font);
  font-weight: 300;
  line-height: 100%;
}
@media screen and (max-width: 767px) {
  .modalBlock .titleWrap__main {
    font-size: 12.8205128205vw;
  }
}
@media screen and (max-width: 767px) {
  .modalBlock .titleWrap__main--small {
    font-size: 12.3076923077vw;
  }
}

.swiper {
  width: 100%;
  overflow: hidden;
}
.swiper .swiper-slide img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.swiperSlider {
  width: 100%;
  position: relative;
  overflow: hidden;
}
.swiperSlider .swiper-slide img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.swiperSlider .swiper-button-next,
.swiperSlider .swiper-button-prev {
  position: absolute;
  top: calc(50% + 1.5625vw);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  color: #1717B1;
  z-index: 999;
  pointer-events: auto;
}
@media screen and (max-width: 767px) {
  .swiperSlider .swiper-button-next,
  .swiperSlider .swiper-button-prev {
    top: calc(50% + 3.8461538462vw);
  }
}
.swiperSlider .swiper-button-next {
  right: 2.5%;
}
@media screen and (max-width: 767px) {
  .swiperSlider .swiper-button-next {
    right: 0.5%;
  }
}
.swiperSlider .swiper-button-next::after {
  border-top: solid 2px currentColor;
  border-right: solid 2px currentColor;
  content: "";
  display: block;
  width: 1.5625vw;
  height: 1.5625vw;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
  .swiperSlider .swiper-button-next::after {
    width: 3.8461538462vw;
    height: 3.8461538462vw;
  }
}
.swiperSlider .swiper-button-prev {
  left: 2.5%;
}
@media screen and (max-width: 767px) {
  .swiperSlider .swiper-button-prev {
    left: 0.5%;
  }
}
.swiperSlider .swiper-button-prev::before {
  border-bottom: solid 2px currentColor;
  border-left: solid 2px currentColor;
  content: "";
  display: block;
  width: 1.5625vw;
  height: 1.5625vw;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
  .swiperSlider .swiper-button-prev::before {
    width: 3.8461538462vw;
    height: 3.8461538462vw;
  }
}/*# sourceMappingURL=style.css.map */