@import url("https://use.typekit.net/qkd4oxt.css");
*, *::before, *::after { box-sizing: border-box; }
html { min-height: 100%; }
body, h1, h2, h3, p, figure { margin: 0; }
img { display: block; max-width: 100%; }
button, a { color: inherit; }
button { padding: 0; border: 0; background: none; font: inherit; }
body { min-width: 320px; overflow-x: clip; background: #fff; color: #000; font-family: "dico-mono-slab", "Dico Mono Slab", "Courier New", monospace; font-feature-settings: "palt"; line-height: 1; }
body.is-modal-open { overflow: hidden; }
body.is-opening-locked { overflow: hidden; }
a { text-decoration: none; }

.opening { position: sticky; top: 0; z-index: 0; width: 100vw; height: 100vh; min-height: 650px; overflow: hidden; background: #fff; }
.opening__bg, .opening__photo, .opening__photo-frame, .opening__logo, .opening__title { position: absolute; }
.opening__bg { inset: 0; }
.opening__bg img { width: 100%; height: 115%; object-fit: cover; object-position: center top; }
.opening__photo { top: 9.85vh; left: 50%; width: min(39.0625vw, 500px); min-width: 360px; aspect-ratio: 500 / 667; transform: translateX(-50%); }
.opening__photo-frame { inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; }
.opening__photo-frame.is-active { opacity: 1; }
.opening__logo { top: 47.6vh; left: 50%; width: min(11.328vw, 145px); height: auto; min-width: 118px; transform: translate(-50%, -50%); }
.opening__title { top: 72.4vh; left: 50%; width: min(14.688vw, 188px); min-width: 156px; aspect-ratio: 188 / 43; transform: translateX(-50%); }
.opening__title-part { position: absolute; left: 0; width: 100%; overflow: hidden; opacity: 0; }
.opening__title-part img { width: 100%; max-width: none; height: auto; }
.opening__title-part--name { top: 0; height: 58%; }
.opening__title-part--season { top: 70%; height: 30%; }
.opening__title-part--season img { transform: translateY(-70%); }
.opening__title-part.is-active { opacity: 1; }

.modal { position: fixed; inset: 0; z-index: 20; visibility: hidden; pointer-events: none; opacity: 0; transition: opacity 0.3s ease, visibility 0.3s ease; }
.modal.is-open { visibility: visible; pointer-events: auto; opacity: 1; }
.modal__backdrop { position: absolute; inset: 0; background: #fff; }
.modal__panel { position: relative; width: 100%; height: 100%; overflow-y: auto; padding: 150px 0 180px; background: #fff; }
.modal__close { position: fixed; top: 24px; right: 24px; z-index: 2; width: 50px; height: 50px; cursor: pointer; }
.modal__close::before, .modal__close::after { position: absolute; top: 50%; left: 0; width: 100%; height: 1px; background: #000; content: ""; }
.modal__close::before { transform: rotate(45deg); }
.modal__close::after { transform: rotate(-45deg); }
.modal-look { width: min(50.8vw, 650px); margin: 0 auto 120px; }
.modal-look figure { width: 100%; aspect-ratio: 650 / 867; overflow: hidden; }
.modal-look img { width: 100%; height: 100%; object-fit: cover; }
.modal-look__credits { display: grid; gap: 16px; margin-top: 30px; }
.credit { display: flex; align-items: flex-start; justify-content: space-between; padding: 0 4px 16px; border-bottom: 1px dashed #000; color: #000; font-size: 13px; line-height: 1.45; }
.credit span { font-size: 13px; }
.credit a { border-bottom: 1px solid currentColor; letter-spacing: 0.1em; }

.look { position: relative; overflow-x: clip; background: #fff; }
.look__contents { position: relative; z-index: 1; width: 100vw; margin-top: 0; padding-top: 120px; background: #fff; }
.look__header { position: absolute; top: 0; left: 0; z-index: 5; display: flex; justify-content: space-between; width: 100%; padding: 40px; pointer-events: none; font-size: 20px; }
.look__header p:last-child { width: 135px; font-size: 14px; letter-spacing: 0.05em; text-align: right; }
.look-section { position: relative; width: 100vw; margin-top: var(--section-gap, 150px); }
.look-section:first-of-type { margin-top: 0; }
.look-section:nth-of-type(2) { --section-gap: 150px; }
.look-section:nth-of-type(3) { --section-gap: 187px; }
.look-section:nth-of-type(4) { --section-gap: 333px; }
.look-section:nth-of-type(5) { --section-gap: 233px; }
.look-section:nth-of-type(6) { --section-gap: 234px; }
.look-section:nth-of-type(7) { --section-gap: 137px; }
.look-section:nth-of-type(8) { --section-gap: 284px; }
.look-section:nth-of-type(9) { --section-gap: 223px; }
.look-section:nth-of-type(10) { --section-gap: 223px; }
.look-section:nth-of-type(11) { --section-gap: 201px; }
.look-section:nth-of-type(12) { --section-gap: 197px; }
.look-section:nth-of-type(13) { --section-gap: 197px; }
.look-section:nth-of-type(14) { --section-gap: 247px; }
.look-section:nth-of-type(15) { --section-gap: 345px; }
.look-section:nth-of-type(16) { --section-gap: 263px; }
.look-section img { width: 100%; height: 100%; object-fit: cover; }
.look-section--stack { display: grid; gap: 50px; width: min(50.78vw, 650px); margin-right: auto; margin-left: auto; }
.look-section--background { height: min(66.875vw, 856px); overflow: hidden; }
.look-section--background img { height: 128%; object-position: center top; }
.look-section--split { display: grid; grid-template-columns: 40vw 1fr; align-items: start; min-height: 66.6vw; }
.look-section--split .look-card:first-child { width: 40vw; max-width: none; }
.look-section--split .look-card:nth-child(2) { width: 50vw; max-width: none; margin-left: auto; }
.look-section--split .look-caption { position: absolute; bottom: -7vw; left: 17.5vw; width: 28.125vw; }
.look-section--split-right { grid-template-columns: 50vw 1fr; }
.look-section--split-right .look-card:first-child { width: 50vw; max-width: none; }
.look-section--split-right .look-card:nth-child(2) { width: 40vw; max-width: none; margin-left: auto; }
.look-section--split-right .look-caption { bottom: -2vw; right: 15.7vw; left: auto; }
.look-section--asym { display: grid; grid-template-columns: 50vw 1fr; align-items: start; min-height: 66.6vw; }
.look-section--asym .look-section__side { width: 31.25vw; max-width: 400px; margin: 12.5vw 0 0 9.375vw; }
.look-section--asym .look-caption { margin-top: 80px; }
.look-section--duo { display: grid; grid-template-columns: repeat(2, 50vw); }
.look-section--duo figure { position: relative; aspect-ratio: 640 / 853; overflow: hidden; }
.look-section--single { width: min(50.78vw, 650px); margin-right: auto; margin-left: auto; }
.look-section--full { --parallax-offset: 0px; height: min(100.3125vw, 1284px); overflow: hidden; }
.look-section--full > img { height: 118%; object-position: center bottom; }
.look-section--pool { height: min(81.3vw, 1041px); }
.look-section--pool .look-section__bg { position: absolute; right: 0; left: 0; top: min(9.375vw, 120px); height: min(66.875vw, 856px); overflow: hidden; }
.look-section--pool .look-section__bg img { height: 124%; object-position: center top; }
.look-section--pool .look-card { position: relative; width: min(34.375vw, 440px); margin: 0 auto; z-index: 1; }
.look-section--left, .look-section--right { min-height: min(67.73vw, 867px); }
.look-section--left .look-card, .look-section--right .look-card { width: 50vw; }
.look-section--right .look-card { margin-left: auto; }
.look-section--ending { display: flex; justify-content: center; }
.look-section--ending figure { width: min(31.25vw, 400px); aspect-ratio: 400 / 533; overflow: hidden; }
.look-card { position: relative; aspect-ratio: 650 / 867; overflow: hidden; }
.look-card.is-reveal-ready { opacity: 0; transform: translate3d(0, 28px, 0); transition: opacity 0.8s ease, transform 0.8s ease; will-change: opacity, transform; }
.look-card.is-reveal-visible { opacity: 1; transform: translate3d(0, 0, 0); }
.js-parallax-image { transform: translate3d(0, calc(var(--parallax-y, 0px) + var(--parallax-offset, 0px)), 0); will-change: transform; }
.js-parallax-item { transform: translate3d(0, var(--parallax-item-y, 0px), 0); will-change: transform; }
.look-card--wide { aspect-ratio: 640 / 853; }
.look-card--half { width: 50vw; aspect-ratio: 640 / 853; }
.look-card--small { aspect-ratio: 400 / 533; }
.look-caption { max-height: 220px; overflow: hidden; font-size: 14px; line-height: 2; }
.look-caption--center { width: 76.9%; margin: 45px auto 0; }
.look-caption--white { position: absolute; top: 16.9%; left: 6.875%; width: 26.8%; color: #fff; }
.look-caption--side { position: absolute; top: 11%; left: calc(50% + 195px); width: 254px; }
.look-caption--right { position: absolute; right: 7.8vw; bottom: 5.8vw; width: 254px; }
.look-caption--left { position: absolute; bottom: 5.8vw; left: 7.3vw; width: 254px; }
.look-footer { position: relative; display: grid; grid-template-columns: 1fr auto; width: min(85.94vw, 1100px); min-height: 299px; margin: clamp(180px, 20.5vw, 263px) auto 0; padding-bottom: 140px; font-size: 13px; }
.look-footer__links { display: grid; align-content: start; gap: 10px; width: max-content; line-height: 1; letter-spacing: 0.03em; }
.look-footer__logo { position: absolute; bottom: 138px; left: 0; width: 145px; height: auto; }
.look-footer__staff { position: absolute; right: 0; bottom: 138px; width: 175px; text-align: right; line-height: 1.8; }
.look-footer__title { font-size: 26px; line-height: 1; white-space: nowrap; }
.look-footer__season { margin-top: 10px; font-size: 14px; letter-spacing: 0.06em; }
.look-footer__copy { position: absolute; bottom: 50px; left: 0; font-size: 12px; }

.plus-button { position: absolute; z-index: 2; right: 20px; bottom: 20px; width: 30px; height: 30px; cursor: pointer; }
.plus-button::before, .plus-button::after { position: absolute; top: 50%; left: 0; width: 100%; height: 1px; background: #000; content: ""; }
.plus-button::after { transform: rotate(90deg); }
.plus-button--white::before, .plus-button--white::after { background: #fff; }

@media (max-width: 767px) {
  .opening { height: 150vw; min-height: 585px; }
  .opening__bg { left: -55.128vw; width: 200vw; overflow: hidden; }
  .opening__bg img { height: 100%; }
  .opening__photo { top: 22.051vw; width: 79.487vw; min-width: 0; }
  .opening__logo { top: 70.769vw; width: 27.949vw; min-width: 0; }
  .opening__title { top: 104.872vw; width: 40vw; min-width: 0; }
  .look__contents { padding-top: 20.513vw; }
  .look__header { padding: 4.872vw 3.077vw; font-size: 4.103vw; }
  .look__header p:last-child { width: 34.615vw; font-size: 3.077vw; letter-spacing: 0.03em; }
  .look-section { width: 100vw; margin-top: var(--section-gap-sp, 25.641vw); }
  .look-section:nth-of-type(2) { --section-gap-sp: 24.615vw; }
  .look-section:nth-of-type(3) { --section-gap-sp: 25.641vw; }
  .look-section:nth-of-type(4) { --section-gap-sp: 22.051vw; }
  .look-section:nth-of-type(5) { --section-gap-sp: 15.385vw; }
  .look-section:nth-of-type(6) { --section-gap-sp: 23.077vw; }
  .look-section:nth-of-type(7) { --section-gap-sp: 18.462vw; }
  .look-section:nth-of-type(8) { --section-gap-sp: 18.462vw; }
  .look-section:nth-of-type(9) { --section-gap-sp: 31vw; }
  .look-section:nth-of-type(10) { --section-gap-sp: 20.513vw; }
  .look-section:nth-of-type(11) { --section-gap-sp: 20.513vw; }
  .look-section:nth-of-type(12) { --section-gap-sp: 25.641vw; }
  .look-section:nth-of-type(13) { --section-gap-sp: 25.641vw; }
  .look-section:nth-of-type(14) { --section-gap-sp: 33.846vw; }
  .look-section:nth-of-type(15) { --section-gap-sp: 22.051vw; }
  .look-section:nth-of-type(16) { --section-gap-sp: 29.744vw; }
  .look-section--stack { gap: 2.564vw; width: 79.487vw; }
  .look-section--background { height: 96vw; overflow: hidden; }
  .look-section--background img { width: 129.231vw; height: 124vw; max-width: none; margin-left: -2.564vw; }
  .look-section--split,
  .look-section--split-right { display: flex; min-height: 0; flex-direction: column; }
  .look-section--split .look-card:first-child,
  .look-section--split .look-card:nth-child(2),
  .look-section--split-right .look-card:first-child,
  .look-section--split-right .look-card:nth-child(2) { width: 100vw; max-width: none; margin: 0; }
  .look-section--split .look-card:nth-child(2),
  .look-section--split-right .look-card:nth-child(2) { width: 79.487vw; }
  .look-section--split .look-caption,
  .look-section--split-right .look-caption { position: static; width: 56.41vw; margin: 9.744vw 7.692vw 0 auto; font-size: 2.564vw; line-height: 1.5; letter-spacing: 0.05em; }
  .look-section--split-left .look-card:first-child { order: 3; width: 79.487vw; margin-top: 9.487vw; }
  .look-section--split-left .look-card:nth-child(2) { order: 1; width: 100vw; }
  .look-section--split-left .look-caption { order: 2; margin: 9.744vw 7.692vw 0 auto; }
  .look-section--split-right { align-items: flex-end; }
  .look-section--split-right .look-card:first-child { width: 100vw; order: 1; }
  .look-section--split-right .look-card:nth-child(2) { width: 79.487vw; order: 3; margin-top: 9.744vw; }
  .look-section--split-right .look-caption { order: 2; width: 53.846vw; margin: 7.692vw auto 0 7.692vw; }
  .look-section--asym { display: flex; min-height: 0; flex-direction: column; }
  .look-section--asym .look-card { width: 100vw; }
.look-section--asym .look-section__side { display: flex; width: 71.795vw; max-width: none; margin: 28.205vw auto 0; flex-direction: column; }
.look-section--asym .look-section__side .look-card { width: 71.795vw; }
.look-section--asym .look-caption { order: -1; width: 65.128vw; margin: 0 auto 12.821vw; font-size: 2.564vw; line-height: 1.5; letter-spacing: 0.05em; }
  .look-section--duo { display: grid; grid-template-columns: repeat(2, 50vw); }
  .look-section--duo figure { width: 50vw; }
  .look-section--duo-stack { display: grid; grid-template-columns: 1fr; gap: 2.564vw; width: 79.487vw; margin-right: auto; margin-left: auto; }
  .look-section--duo-stack figure { width: 100%; aspect-ratio: 310 / 413.333; }
  .look-section--single { width: 100vw; }
  .look-section--single .look-card { width: 100vw; }
  .look-section--caption-over .look-caption { position: absolute; top: -17.179vw; left: 5.897vw; width: 56.41vw; margin: 0; }
  .look-section--full { --parallax-offset: 0px; height: 133.333vw; }
  .look-section--full > img { height: 150%; object-position: center bottom; }
  .look-section--pool { height: 161.026vw; overflow: hidden; }
  .look-section--pool .look-section__bg { top: 20vw; height: 151.282vw; }
  .look-section--pool .look-section__bg img { width: 392.821vw; height: 220.513vw; max-width: none; object-position: center top; }
  .look-section--pool .look-card { width: 71.795vw; }
  .look-section--left,
  .look-section--right { min-height: auto; }
  .look-section--left .look-card,
  .look-section--right .look-card { width: 100vw; }
  .look-section--left .look-caption { width: 56.41vw; margin: 7.692vw auto 0 7.692vw; }
  .look-section--right .look-caption { width: 56.41vw; margin: 7.692vw 7.692vw 0 auto; }
  .look-section--ending figure { width: 51.282vw; }
  .look-card { aspect-ratio: 390 / 520; }
  .look-card--wide { aspect-ratio: 390 / 520; }
  .look-card--small { aspect-ratio: 280 / 373; }
  .look-caption { max-height: 37.692vw; font-size: 2.564vw; line-height: 1.5; letter-spacing: 0.05em; }
  .look-caption--center { width: 76.923vw; margin: 6.923vw auto 0; }
  .look-caption--white { position: absolute; top: 7.179vw; left: 6.154vw; width: 26.667vw; margin: 0; color: #fff; }
  .look-caption--side,
  .look-caption--right,
  .look-caption--left { position: static; width: 56.41vw; margin-top: 7.692vw; }
  .look-footer { display: block; position: relative; width: 91.282vw; min-height: 82vw; margin-top: 44.615vw; padding-bottom: 0; font-size: 3.077vw; }
  .look-footer__links { position: absolute; top: 24vw; left: 0; gap: 1.282vw; font-size: 3.077vw; }
  .look-footer__logo { bottom: 14vw; left: 0; width: 30.256vw; }
  .look-footer__staff { position: static; width: auto; margin: 0; text-align: left; }
  .look-footer__title { position: absolute; top: 0; left: 0; font-size: 6.667vw; }
  .look-footer__season { position: absolute; top: 7.949vw; left: 0; margin: 0; font-size: 3.59vw; }
  .look-footer__copy { bottom: 4vw; left: 0; font-size: 3.077vw; white-space: nowrap; }
  .plus-button { right: 10px; bottom: 10px; width: 20px; height: 20px; }
  .modal__panel { padding: 52px 0 90px; background: #fff; }
  .modal__close { top: 10px; right: 10px; width: 30px; height: 30px; }
  .modal-look { width: 90vw; }
  .modal-look__credits { gap: 12px; }
  .credit { padding: 0 4px 12px; }
}
