@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;700;800;900&family=Noto+Sans+JP:wght@100;200;300;400;500;700&display=swap');

/* root */
:root { --w_max: 2056px; --w_gutter: max(0px, (100vw - 2056px) / 2); color-scheme: light; --c_black: #222222; --c_red: #b1292f; --c_movie: #a33433; --c_white: #ffffff; --c_photo: #eeeeec; --f_ja: "Noto Sans JP", sans-serif; --f_en: "Inter", sans-serif; }

/* reset */
* { box-sizing: border-box; }

/* base */
html { width: 100%; max-width: 100%; overflow-x: hidden; }
body { width: 100%; min-width: 20rem; max-width: 100%; margin: 0; color: var(--c_black); background: var(--c_white); font-family: var(--f_ja); font-size: 1rem; font-weight: 400; font-feature-settings: "palt"; line-height: 1.8; letter-spacing: 0.03em; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
body.active { overflow: hidden; }
img, video { -webkit-user-drag: none; -webkit-touch-callout: none; user-select: none; }
img { max-width: 100%; height: auto; opacity: 0; transition: opacity 0.6s ease; }
img.loaded { opacity: 1; }
a, button { color: inherit; transition: opacity 0.5s ease; }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 1px solid var(--c_black); outline-offset: 0.25rem; }
::selection { color: var(--c_white); background: var(--c_red); }
.cWrap { position: relative; width: 100%; max-width: 100%; overflow-x: hidden; overflow-x: clip; }
.cMain { width: 100%; max-width: var(--w_max); margin-inline: auto; }
.cVisuallyHidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.cFlat { transform: scaleY(0.8); transform-origin: top; }
.fade { opacity: 0; transition: opacity 1.2s ease; }
body.is-revealed .fade.active { opacity: 1; }
body.is-revealed .cHomePeople__heading.fade.active.is-first, body.is-revealed .cHomePeople__item.fade.active.is-first { transition-delay: 4s; }
body.is-settled .fade.active.is-first { transition-delay: 0s; }
.pc { display: block; }
.sp { display: none; }
.br__pc { display: inline; }
.br__sp { display: none; }
.cImageFrame { display: block; min-width: 0; max-width: 100%; overflow: hidden; background: var(--c_photo); }
.cImageFrame img { display: block; width: 100%; height: 100%; object-fit: cover; }
.cPhotoLink { display: block; width: 100%; min-width: 0; max-width: 100%; }
.cPhotoLink img { transition: opacity 0.6s ease, transform 1.8s cubic-bezier(0.19, 1, 0.22, 1); }

/* header */
.cHeader { position: relative; z-index: 10; width: 100%; height: 0; }
.cHeader__title { position: absolute; z-index: 1; display: block; }
.cHeader__title img { display: block; width: 100%; height: auto; }
.cHeader__title--life { top: 0.75rem; left: 0.75rem; width: 3.75rem; }
.cHeader__title--papas { top: 0.75rem; right: 0.75rem; width: 3.75rem; }
.cHeader__logo { position: absolute; z-index: 1; display: block; width: 18rem; }
.cHeader__logo img { display: block; width: 100%; height: auto; }
.home .cHeader__logo { top: 18rem; left: max(5rem, calc(var(--w_gutter) + 0.4395 * (100vw - 2 * var(--w_gutter)) - 23.91rem)); width: 25.25rem; }
.interview .cHeader__logo { top: 30rem; left: calc(6.5rem + var(--w_gutter)); width: 17.5rem; }
.cHeader__people { position: absolute; top: 32rem; right: 1.35rem; display: block; text-align: end; writing-mode: vertical-rl; white-space: nowrap; }
.cHeader__person { display: block; direction: ltr; text-align: end; transform: scaleY(0.8); transform-origin:bottom; writing-mode: vertical-rl; }
.cHeader__person:not(:last-child) { margin-block-end: 1rem; }
.cHeader__person__name { display: block; margin: 0 0 0 0.5rem; font-size: 2.75rem; font-weight: 300; line-height: 1.15; letter-spacing: 0.08em; white-space: nowrap; }
.cHeader__person__role { display: block; margin: 0; margin-inline-start: auto; overflow: visible; font-size: 1rem; line-height: 1.15; letter-spacing: 0.1em; white-space: nowrap; }

/* menu */
.cMenu { position: fixed; top: 0; right: 0; bottom: 0; left: 0; inset: 0; z-index: 100; visibility: hidden; width: 100%; max-width: 100%; height: 100vh; height: 100dvh; overflow: hidden; color: var(--c_white); background-color: var(--c_white); background-image: linear-gradient(var(--c_red), var(--c_red)); opacity: 0; pointer-events: none; transition: visibility 0s linear 0.4s, opacity 0.4s ease; }
.cMenu.active { visibility: visible; opacity: 1; pointer-events: auto; transition-delay: 0s; }
.cMenu__nav { position: absolute; top: 50%; left: 57.15%; transform: translateY(-50%); display: flex; flex-direction: column; flex-wrap: wrap; align-items: flex-start; align-content: flex-start; gap: 0.95rem; }
.cMenu__nav a { display: block; font-family: var(--f_en); font-size: 2.25rem; font-weight: 400; line-height: 1.3; letter-spacing: 0.02em; white-space: nowrap; }
@media (min-width: 601px) and (min-aspect-ratio: 23/10) {
  .cMenu__nav { left: min(57.15%, calc(100% - 45rem)); max-height: 14.6rem; column-gap: 3.5rem; }
}

/* footer */
.cClosing { max-width: var(--w_max); margin-inline: auto; padding: 8.2rem 6.25rem 0; text-align: center; }
.cClosing__logo { display: block; width: 20.5rem; height: auto; margin: 0 auto; }
.cFooter { max-width: var(--w_max); margin-inline: auto; padding: 6.5rem 1rem 7.65rem; color: var(--c_red); text-align: center; }
.home .cFooter { padding-top: 10rem; }
.cFooter__company { display: block; }
.cFooter__wordmark { display: block; width: 20rem; max-width: 100%; height: auto; margin: 0 auto; }
.cFooter__social { display: flex; margin-top: 2.5rem; align-items: center; justify-content: center; gap: 1.65rem; }
.cFooter__social a { display: flex; width: 2rem; height: 2rem; align-items: center; justify-content: center; }
.cFooter__social img { display: block; width: 2rem; max-height: 100%; }
.cFooter__social a[aria-label="LINE"] img { width: 2.5rem; max-width: none; max-height: none; height: auto; }
.cFooter__copyright { margin: 3rem 0 0; font-family: var(--f_en); font-size: 0.75rem; font-weight: 800; line-height: 1.4; letter-spacing: 0; }

/* home hero */
.cHomeHero { position: relative; height: calc(12.22rem + 0.5694 * min(100vw, var(--w_max))); }
.cHomeHero__link { position: absolute; top: 4.5rem; left: 43.95%; width: 45.55%; }
.cHomeHero__number { position: absolute; top: -2.2rem; left: 2.2rem; z-index: 1; margin: 0; color: var(--c_red); font-family: var(--f_en); font-size: 3.15rem; font-weight: 300; line-height: 1; letter-spacing: 0.02em; }
.cHomeHero__image { width: 100%; aspect-ratio: 4 / 5; }
.cHomeHero__roman { position: absolute; top: calc(4.5rem + 0.5694 * min(100vw, var(--w_max))); left: 90.50%; transform: translateY(-100%); display: block; font-family: var(--f_en); font-size: 1rem; font-weight: 400; line-height: 1; letter-spacing: 0.04em; writing-mode: vertical-rl; }
.cHomeHero__roman p { display: block; margin: 0; white-space: nowrap; }
.cHomeHero__roman span + span { margin-inline-start: 0.5em; }

/* home people */
.cHomePeople { position: relative; }
.cHomePeople__heading { position: absolute; top: -3.5rem; left: 41.2%; z-index: 1; display: flex; margin: 0; flex-direction: column; gap: 0.75rem; color: var(--c_red); font-family: var(--f_en); font-size: 1.75rem; font-weight: 500; line-height: 1; letter-spacing: 0.08em; }
.cHomePeople__list { display: grid; width: calc(100% - 7rem); min-width: 0; max-width: 100%; margin: 4.3rem auto 0; padding: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: 27.75rem; column-gap: 3.5rem; row-gap: 5.05rem; list-style: none; }
.cHomePeople__item { position: relative; min-width: 0; max-width: 100%; align-self: start; }
.cHomePeople__item:nth-child(3n+2) { margin-top: 9.7rem; }
.cHomePeople__number { position: absolute; top: -1.9rem; left: 1.5rem; z-index: 1; color: var(--c_red); font-family: var(--f_en); font-size: 3rem; font-weight: 300; line-height: 1; }
.cHomePeople__image { width: 100%; aspect-ratio: 4 / 5; }

/* next */
.cNext { margin-top: 17.3rem; color: var(--c_red); font-family: var(--f_en); text-align: center; }
.cNext p { margin: 0; }
.cNext__label { font-size: 1.75rem; font-weight: 500; line-height: 1; letter-spacing: 0.13em; }
.cNext__number { margin-top: 1.75rem !important; font-size: 5rem; font-weight: 200; line-height: 1; letter-spacing: 0.03em; }
.cNext__date { margin-top: 1em !important; font-size: 1.5rem; font-weight: 500; line-height: 1; letter-spacing: 0.08em; }
.cNext__soon { margin-top: 0.5em !important; font-size: 1.5rem; font-weight: 500; line-height: 1; letter-spacing: 0.08em; }

/* about */
.cAbout { display: grid; width: calc(100% - 7.9rem); margin: 10rem auto 0; scroll-margin-top: 4rem; grid-template-columns: 30rem 1fr; align-items: start; column-gap: 4.75rem; }
.cAbout__logo { position: sticky; top: 3.5rem; }
.cAbout__logo img { display: block; width: 100%; height: auto; }
.cAbout__heading { margin: 0 0 1rem; color: var(--c_red); font-size: 2.25rem; font-weight: 400; font-feature-settings: "palt"; line-height: 1.3; letter-spacing: 0.04em; transform: scaleY(0.8); transform-origin: top; }
.cAbout__content { max-width: 40rem; font-size: 1.9rem; font-weight: 400; font-feature-settings: "palt"; line-height: 1.5; letter-spacing: 0.03em; }
.cAbout__content p { margin: 0 0 0; transform: scaleY(0.8); transform-origin: top; text-align: justify; }
.cAbout__more[hidden] { display: block; }
.cAbout__more { max-height: none; }
.cAbout__credits { margin-top: 4.25rem; }
.cAbout__credits p { margin: 0; }
.cAbout__toggle { display: none; }

/* interview hero */
.cInterviewHero { position: relative; height: auto; padding-bottom: 2rem; }
:root { --hero-photo-h: max(100vh, min(56.25vw, 1156.5px)); }
@supports (height: 100dvh) {
  :root { --hero-photo-h: max(100dvh, min(56.25vw, 1156.5px)); }
}
body { --hero-w: min(calc(var(--hero-photo-h) * 4 / 5), calc(100vw - 33rem)); --hero-h: calc(var(--hero-w) * 5 / 4); }
.cInterviewHero__media { position: relative; width: var(--hero-w); margin: 0 auto; }
.cInterviewHero__number { position: absolute; top: 5.25rem; right: -1.75rem; z-index: 1; margin: 0; color: var(--c_red); font-family: var(--f_en); font-size: 2.75rem; font-weight: 200; line-height: 1; letter-spacing: 0.02em; writing-mode: vertical-rl; }
.cInterviewHero__image { width: 100%; aspect-ratio: 4 / 5; }
.cInterviewHero__roman { position: absolute; top: 33.5rem; left: calc(100% + 1rem); display: block; font-family: var(--f_en); font-weight: 300; font-size: 1rem; line-height: 1; letter-spacing: 0.03em; white-space: nowrap; writing-mode: vertical-rl; }
.cInterviewHero__roman p { display: block; margin: 0; text-align: right; }
.cInterviewHero__roman p:not(:last-child) { margin-block-end: 0.5em; }
.cInterviewHero__roman span + span { margin-inline-start: 0.45em; }
.cInterviewHero__identity { display: none; }

/* think life */
.cSectionLabel { margin: 0; color: var(--c_red); font-family: var(--f_en); font-size: 1.5rem; font-weight: 500; line-height: 1; letter-spacing: 0.08em; text-align: center; }
.cThinkLife { padding-top: 6rem; padding-bottom: 3.5rem; }
.cThinkLife__title { margin: 6rem auto 0; color: var(--c_red); font-size: 3.3rem; font-weight: 400; font-feature-settings: "palt"; line-height: 1.2; letter-spacing: 0.04em; text-align: center; }
.cThinkLife__body { width: calc(100% - 10rem); max-width: none; margin: 3.75rem auto 0; font-size: 2.3rem; font-weight: 400; font-feature-settings: "palt"; line-height: 1.5; letter-spacing: 0.06em; transform: scaleY(0.8); transform-origin: top; }
.cThinkLife__body p { margin: 0 0 2rem; text-align: justify; }
.cThinkLife__body p:last-child { margin-bottom: 0; }

/* interview full */
.cInterviewFull { width: 40rem; aspect-ratio: 4 / 5; margin: 0 auto; }

/* think papas */
.cThinkPapas { padding-top: 9rem; padding-bottom: 4rem; }
/* palt is a horizontal feature. it shifts punctuation off-column in vertical text */
.cThinkPapas__copy { display: block; width: fit-content; max-width: 100%; min-height: 18rem; margin: 3rem auto 0; font-size: 2rem; font-weight: 400; font-feature-settings: normal; line-height: 1; letter-spacing: 0.04em; transform: scaleY(0.8); transform-origin: top; writing-mode: vertical-rl; }
.cThinkPapas__copy span { display: block; white-space: nowrap; }
.cThinkPapas__copy span:not(:last-child) { margin-block-end: 0.75em; }
/* letter-spacing breaks the combined glyph's centering in Chrome */
.cThinkPapas__copy span.cTcy { font-family: var(--f_en); display: inline; margin-block-end: 0; letter-spacing: normal; text-combine-upright: all; -webkit-text-combine: horizontal; }

/* people strip */
.cPeopleStrip { width: 100%; }
.cPeopleStrip__list { display: grid; width: 100%; min-width: 0; max-width: 100%; margin: 0; padding: 0; grid-template-columns: repeat(5, minmax(0, 1fr)); list-style: none; }
.cPeopleStrip__item { min-width: 0; }
.cPeopleStrip__item .cImageFrame { width: 100%; aspect-ratio: 4 / 5; }
.cPeopleStrip__item a[aria-current="page"] { cursor: default; }

/* gimmick: cSwapAlt / cDissolve */
.cImageFrame { position: relative; }
.cImageFrame .cSwapAlt { position: absolute; top: 0; right: 0; bottom: 0; left: 0; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 0.5s ease; }
.cImageFrame .cDissolve { position: absolute; top: 0; right: 0; bottom: 0; left: 0; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 1.2s ease; }
.cImageFrame .cDissolve.is-show { opacity: 1; }
.cThinkLife__title .cTypeChar { opacity: 0; }
.cThinkLife__title .cTypeChar.is-typed { opacity: 1; }
.interview--04 .cInterviewHero__image img[data-cut="1"] { object-position: 32% center; }
.cHomePeople__roman { position: absolute; left: calc(100% + 0.75rem); bottom: 0; display: block; color: var(--c_black); font-family: var(--f_en); font-size: 0.9rem; font-weight: 400; line-height: 1; letter-spacing: 0.04em; white-space: nowrap; writing-mode: vertical-rl; opacity: 0; transition: opacity 0.5s ease; pointer-events: none; }
.cHomeHero__roman { transition: opacity 0.5s ease; pointer-events: none; }
.cHeader__people { top: max(36.5rem, calc(var(--hero-h) - 1rem)); transform: translateY(-100%); }
.cInterviewHero__roman { top: calc(var(--hero-h) - 1rem); transform: translateY(-100%); }
.interview .cHeader__logo { top: calc(var(--hero-h) - 4rem); left: max(5rem, calc((100vw - var(--hero-w)) / 2 - 15.5rem)); transform: translateY(-100%); }

/* gimmick: cLoading */
.cLoading { --loading-show-duration: 0.6s; --loading-logo-out-duration: 0.7s; --loading-logo-in-duration: 0.9s; --loading-logo-in-delay: 0.05s; --loading-hide-duration: 0.85s; --loading-hide-delay: 0.35s; --loading-visibility-delay: 1.2s; position: fixed; top: 0; right: 0; bottom: 0; left: 0; inset: 0; z-index: 200; display: grid; place-items: center; visibility: visible; background: var(--c_white); opacity: 1; transition: opacity var(--loading-show-duration) ease-in-out, visibility 0s 0s; will-change: opacity; }
.cLoading--home { background-color: var(--c_white); background-image: linear-gradient(var(--c_red), var(--c_red)); }
.cLoading__logo { grid-area: 1 / 1; width: min(25rem, 70vw); height: auto; opacity: 1; transition: opacity var(--loading-logo-out-duration) ease-in-out; will-change: opacity; }
.cLoading__logo--white { display: none; }
.cLoading--home .cLoading__logo--red { display: none; }
.cLoading--home .cLoading__logo--white { display: block; }
.cLoading.is-opening .cLoading__logo { animation: loadingLogo var(--loading-logo-in-duration) ease-in-out var(--loading-logo-in-delay) both; }
.cLoading.is-done { visibility: hidden; opacity: 0; transition: opacity var(--loading-hide-duration) ease-in-out var(--loading-hide-delay), visibility 0s linear var(--loading-visibility-delay); }
.cLoading.is-done .cLoading__logo { opacity: 0; }
body.is-loading { overflow: hidden; }
@keyframes loadingLogo { from { opacity: 0; } to { opacity: 1; } }

/* gimmick: is-revealed */
.cHeader__title--papas, .cHeader__title--life, .cHeader__logo, .cHeader__people, .cHomeHero, .cInterviewHero, .cHomeHero__number, .cHomeHero__roman, .cInterviewHero__number, .cInterviewHero__roman { transition: opacity 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
body:not(.is-revealed) .cHeader__title--papas, body:not(.is-revealed) .cHeader__title--life, body:not(.is-revealed) .cHeader__logo, body:not(.is-revealed) .cHeader__people, body:not(.is-revealed) .cHomeHero, body:not(.is-revealed) .cInterviewHero, body:not(.is-revealed) .cHomeHero__number, body:not(.is-revealed) .cHomeHero__roman, body:not(.is-revealed) .cInterviewHero__number, body:not(.is-revealed) .cInterviewHero__roman { opacity: 0; }
body.is-revealed .cHeader__title--papas { transition-delay: 0s; }
body.is-revealed .cHeader__title--life { transition-delay: 1s; }
body.is-revealed .cHeader__logo, body.is-revealed .cHomeHero, body.is-revealed .cInterviewHero { transition-delay: 2s; transition-duration: 2.2s; transition-timing-function: ease-in-out; }
body.is-revealed .cHeader__people, body.is-revealed .cHomeHero__number, body.is-revealed .cHomeHero__roman, body.is-revealed .cInterviewHero__number, body.is-revealed .cInterviewHero__roman { transition-delay: 4s; }
body.is-settled .cHeader__title--papas, body.is-settled .cHeader__title--life, body.is-settled .cHeader__logo, body.is-settled .cHeader__people, body.is-settled .cHomeHero, body.is-settled .cInterviewHero, body.is-settled .cHomeHero__number, body.is-settled .cHomeHero__roman, body.is-settled .cInterviewHero__number, body.is-settled .cInterviewHero__roman { transition-delay: 0s; transition-duration: 0.6s; }

/* gimmick: cMovieModal */
.cMovieLead { margin: 2.75rem 0 0; text-align: center; }
.cMovieLink { display: inline-flex; padding: 0.75rem 1.75rem; align-items: center; gap: 0.75rem; color: var(--c_white); background: var(--c_red); border: 0; border-radius: 999px; font-family: var(--f_en); font-size: 1.25rem; font-weight: 500; line-height: 1; letter-spacing: 0.05em; cursor: pointer; }
.cMovieLink__icon { display: block; width: 1.5em; }
.cMovieLink__icon svg { display: block; width: 100%; height: auto; }
.cMovieModal { position: fixed; top: 0; right: 0; bottom: 0; left: 0; inset: 0; z-index: 150; visibility: hidden; background-color: var(--c_white); background-image: linear-gradient(var(--c_movie), var(--c_movie)); opacity: 0; pointer-events: none; transition: opacity 0.4s ease, visibility 0s linear 0.4s; }
.cMovieModal.active { visibility: visible; opacity: 1; pointer-events: auto; transition: opacity 0.4s ease, visibility 0s 0s; }
.cMovieModal__video { width: 100%; height: 100vh; height: 100dvh; object-fit: contain; background-color: var(--c_movie); cursor: pointer; }
.cMovieModal__video::-webkit-media-controls { display: none !important; }
.cMovieModal__state { position: absolute; top: 50%; left: 50%; z-index: 1; display: block; width: 0; height: 0; border-style: solid; border-width: 1.4rem 0 1.4rem 2.25rem; border-color: transparent transparent transparent var(--c_white); opacity: 0; pointer-events: none; transition: opacity 0.3s ease; transform: translate(-40%, -50%); }
.cMovieModal.is-paused .cMovieModal__state { opacity: 0.9; }
.cMovieCtrl__mute { position: absolute; right: 2rem; bottom: 2rem; z-index: 2; display: flex; width: 2.25rem; height: 2.25rem; padding: 0; align-items: center; justify-content: center; color: var(--c_white); background: transparent; border: 0; cursor: pointer; }
.cMovieCtrl__mute svg { display: block; width: 100%; height: auto; }
.cMovieCtrl__mute path { vector-effect: non-scaling-stroke; }
.cMovieCtrl__cross { opacity: 0; transition: opacity 0.2s ease; }
.cMovieCtrl__wave { transition: opacity 0.2s ease; }
.cMovieModal.is-muted .cMovieCtrl__wave { opacity: 0; }
.cMovieModal.is-muted .cMovieCtrl__cross { opacity: 1; }
.cMovieModal__close { position: absolute; top: 2rem; right: 2rem; width: 3.3rem; height: 1.75rem; padding: 0; color: var(--c_white); background: transparent; border: 0; cursor: pointer; }
.cMovieModal__close span { position: absolute; top: 50%; left: 0; display: block; width: 100%; height: 1px; background: currentColor; }
.cMovieModal__close span:first-child { transform: rotate(28deg); }
.cMovieModal__close span:last-child { transform: rotate(-28deg); }
.cHeader__person, .cHeader__person__name, .cHeader__person__role { inline-size: 100%; }
.cHeader__person__role--kana { letter-spacing: -0.05em; }

/* gimmick: cMenuToggle */
.cMenuToggle { position: fixed; bottom: 0; left: 0; z-index: 110; width: 3.5rem; height: 3.5rem; padding: 0; color: var(--c_white); background: var(--c_red); border: 0; cursor: pointer; opacity: 0; pointer-events: none; transition: opacity 0.4s ease; }
.cMenuToggle.is-shown, .cMenuToggle.active { opacity: 1; pointer-events: auto; }
.cMenuToggle__line { position: absolute; top: 50%; left: calc(50% - 1rem); display: block; height: 1px; background: currentColor; transform-origin: center; transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1), width 0.45s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.25s ease; }
.cMenuToggle__line:nth-child(1) { width: 2rem; transform: translateY(-0.5rem); }
.cMenuToggle__line:nth-child(2) { width: 1.5rem; transform: translateY(0); }
.cMenuToggle__line:nth-child(3) { width: 1rem; transform: translateY(0.5rem); }
.cMenuToggle.active .cMenuToggle__line:nth-child(1) { width: 2.1rem; transform: translate(-0.05rem, 0) rotate(28deg); }
.cMenuToggle.active .cMenuToggle__line:nth-child(2) { opacity: 0; }
.cMenuToggle.active .cMenuToggle__line:nth-child(3) { width: 2.1rem; transform: translate(-0.05rem, 0) rotate(-28deg); }

/* gimmick: cMailBanner */
.cMailBanner { position: fixed; right: 0; bottom: 0; z-index: 90; display: flex; height: 3.5rem; align-items: center; color: var(--c_white); background: var(--c_red); opacity: 0; pointer-events: none; transition: opacity 0.4s ease; }
.cMailBanner.is-shown { opacity: 1; pointer-events: auto; }
.cMailBanner__icon { display: flex; width: 3.5rem; height: 3.5rem; flex: none; align-items: center; justify-content: center; }
.cMailBanner__text { display: block; max-width: 0; padding-left: 0; overflow: hidden; font-size: 1.15rem; font-weight: 500; font-feature-settings: "palt"; line-height: 1.5; letter-spacing: 0.02em; white-space: nowrap; transform: scaleY(0.8); transition: max-width 0.45s cubic-bezier(0.22, 1, 0.36, 1), padding-left 0.45s cubic-bezier(0.22, 1, 0.36, 1); }
.cMailBanner:focus-visible .cMailBanner__text { max-width: 40rem; padding-left: 1.5rem; }
.cMailBanner.is-expanded .cMailBanner__text { max-width: 40rem; padding-left: 1.5rem; }
.cMailBanner__envelope { position: relative; display: block; width: 2rem; height: 1.3rem; border: 1px solid currentColor; }
.cMailBanner__flap { position: absolute; top: 0; display: block; width: 60.30%; height: 1px; background: currentColor; }
.cMailBanner__flap:first-child { left: 0; transform: rotate(34deg); transform-origin: left top; }
.cMailBanner__flap:last-child { right: 0; transform: rotate(-34deg); transform-origin: right top; }
@media screen and (max-width: 600px) {
  .cLoading__logo { width: 80vw; }
  .cMenuToggle { width: 3.15rem; height: 3.15rem; }
  .cMenuToggle__line { left: calc(50% - 0.9rem); }
  .cMenuToggle__line:nth-child(1) { width: 1.75rem; transform: translateY(-0.45rem); }
  .cMenuToggle__line:nth-child(2) { width: 1.3rem; }
  .cMenuToggle__line:nth-child(3) { width: 0.9rem; transform: translateY(0.45rem); }
  .cMenuToggle.active .cMenuToggle__line:nth-child(1) { width: 1.9rem; transform: translate(-0.05rem, 0) rotate(28deg); }
  .cMenuToggle.active .cMenuToggle__line:nth-child(3) { width: 1.9rem; transform: translate(-0.05rem, 0) rotate(-28deg); }
  .cMailBanner { height: 3.15rem; }
  .cMailBanner__icon { width: 3.15rem; height: 3.15rem; }
  .cMailBanner__envelope { width: 1.75rem; height: 1.15rem; }
  .cMailBanner__text { font-size: 0.7rem; line-height: 1.5; letter-spacing: 0; text-align: left; }
  .cMailBanner.is-expanded .cMailBanner__text { max-width: 18rem; padding-left: 0.75rem; }
  .cHomePeople__roman { position: absolute; top: auto; right: auto; bottom: 0; left: calc(100% + 0.35rem); z-index: 1; display: block; font-size: 0.65rem; letter-spacing: 0.04em; writing-mode: vertical-rl; }
  .cHomePeople__roman, .cHomePeople__item .cSwapAlt { transition-duration: 0.35s; transition-timing-function: ease-in-out; transition-delay: 0s; }
  .cHomePeople__item:nth-child(odd) .cHomePeople__roman { right: calc(100% + 0.35rem); left: auto; }
  .cHomePeople__item.is-named .cHomePeople__roman { opacity: 1; }
  .cHomePeople__item.is-active .cSwapAlt, .cHomeHero__link.is-active .cSwapAlt { opacity: 1; }
  .cHomePeople__item.is-named .cPhotoLink img { transform: scale(1.04); }
  .cHomeHero__roman { pointer-events: auto; }
  .cMovieLead { margin-top: 2.25rem; }
  .cMovieLink { font-size: 1rem; }
  .cMovieModal__close, .cMovieCtrl__mute { right: 1rem; }
  .cMovieModal__close { width: 2.8rem; height: 1.5rem; }
  .cMovieCtrl__mute { width: 1.9rem; height: 1.9rem; }
  .cHeader__people, .cInterviewHero__roman, .interview .cHeader__logo { transform: none; }
}

/* size */
html { font-size: clamp(10px, 1.25vw, 25.7px); }

/* sp */
@media screen and (max-width: 600px) {
  body { width: 100%; min-width: 0; max-width: 100%; font-size: 1rem; }
  .cWrap, .cMain, .cHomePeople, .cPeopleStrip, .cClosing, .cFooter { width: 100%; min-width: 0; max-width: 100%; }
  .pc { display: none; }
  .sp { display: block; }
  .br__pc { display: none; }
  .br__sp { display: inline; }
  .cHeader__title--life { top: 0.35rem; left: 0.35rem; width: 1.85rem; }
  .cHeader__title--papas { top: 0.35rem; right: 0.35rem; width: 2.25rem; }
  .home .cHeader__logo { top: 2.75rem; left: calc((100vw - 14.25rem) / 2); width: 14.25rem; }
  .interview .cHeader__logo { top: calc(11.8rem + 125vw - 0.45rem); left: 2.15rem; width: 12.4rem; }
  .cHeader__people { top: 0.8rem; right: 4rem; height: 10.6rem; }
  .cHeader__person:not(:last-child) { margin-block-end: 0.65rem; }
  .cHeader__person__name { margin-left: 0.3rem; font-size: 2rem; line-height: 1.05; }
  .cHeader__person__role { font-size: 0.85rem; line-height: 1.1; padding-bottom:0.25em; }
  .interview.is-duo .cHeader__people { top: 0.8rem; right: 5rem; height: 10.6rem; }
  .interview.is-duo .cHeader__person__name { font-size: 1.7rem; }
  .interview.is-duo .cHeader__person__role { font-size: 0.78rem; }
  .cMenu__nav { top: 5.95rem; left: 3.8rem; transform: none; gap: 0.8rem; }
  .cMenu__nav a { font-size: 1.7rem; line-height: 1.25; }
  .cClosing { padding: 5rem 3.55rem 0; }
  .cClosing__logo { width: 16.25rem; }
  .cFooter { padding: 4.75rem 0.75rem 6rem; }
  .home .cFooter { padding-top: 6rem; }
  .cFooter__social { margin-top: 1.8rem; gap: 1.65rem; }
  .cFooter__copyright { margin-top: 2rem; }
  .cHomeHero { height: calc(20.85rem + (100vw - 3.4rem) * 1.25); }
  .cHomeHero__link { top: 17rem; left: 1.7rem; width: calc(100vw - 3.4rem); }
  .cHomeHero__number { top: -0.8rem; left: 1.2rem; font-size: 1.9rem; }
  .cHomeHero__roman { top: calc(17.025rem + (100vw - 3.4rem) * 1.25); right: 0.5rem; left: auto; font-size: 0.7rem; }
  .cHomeHero__roman span + span { margin-inline-start: 0.35em; }
  .cHomePeople { display: flow-root; }
  .cHomePeople__heading { top: 0; left: 50%; transform: translateX(-50%); gap: 1rem; font-size: 1.25rem; }
  .cHomePeople__list { width: 100%; min-width: 0; max-width: 100%; margin-top: 7.25rem; grid-auto-flow: row dense; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 13.75rem; column-gap: 1.45rem; row-gap: 6.5rem; }
  .cHomePeople__item:nth-child(odd) { grid-column: 2; margin-top: 0; }
  .cHomePeople__item:nth-child(even) { grid-column: 1; margin-top: 8.9rem; }
  .cHomePeople__number { top: -0.75rem; left: 1.05rem; font-size: 1.65rem; }
  .cNext { margin-top: 4.55rem; }
  .cNext__label { font-size: 1.4rem; }
  .cNext__number { margin-top: 1.5rem !important; font-size: 4rem; }
  .cNext__date { margin-top: 1em !important; font-size: 1.25rem; }
  .cNext__soon { margin-top: 0.5em !important; font-size: 1.25rem; }
  .cAbout { display: block; width: auto; margin: 6rem 1.15rem 0; }
  .cAbout__logo { position: static; width: 21.25rem; max-width: 100%; margin: 0 auto; }
  .cAbout__heading { margin-bottom: 0.75rem; font-size: 1.75rem; }
  .cAbout__content { max-width: none; margin-top: 3rem; font-size: 1.45rem; line-height: 1.65; }
  .cAbout__more { position: relative; max-height: 11rem; overflow: hidden; opacity: 1; transition: max-height 0.6s ease, opacity 0.5s ease; }
  .cAbout__more::after { content: ""; position: absolute; right: 0; bottom: 0; left: 0; height: 8rem; background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.75) 45%, var(--c_white) 85%); pointer-events: none; transition: opacity 0.4s ease; }
  .cAbout__more.is-open { max-height: none; }
  .cAbout__more.is-open::after { opacity: 0; }
  .cAbout__more[hidden] { display: none; }
  .cAbout__credits { margin-top: 3rem; }
  .cAbout__toggle { display: block; width: fit-content; max-width: 100%; margin: 3rem auto 0; padding: 0; color: var(--c_red); background: transparent; border: 0; font-family: var(--f_en); font-size: 1.25rem; font-weight: 500; line-height: 1; letter-spacing: 0.1em; cursor: pointer; }
  .cInterviewHero { height: auto; min-height: 49.8rem; padding-top: 11.8rem; padding-bottom: 0; }
  .cInterviewHero__media { width: 100%; margin: 0; }
  .cInterviewHero__number { top: -1.5rem; right: auto; left: 3.5rem; font-size: 2.35rem; writing-mode: horizontal-tb; }
  .cInterviewHero__image { width: 100%; height: auto; aspect-ratio: 4 / 5; }
  .cInterviewHero__roman { top: calc(125vw + 2.55rem); right: 2rem; left: auto; display: block; font-size: 0.75rem; line-height: 1.25; letter-spacing: 0.04em; writing-mode: horizontal-tb; }
  .cInterviewHero__roman p { display: block; margin: 0 0 0.75rem; }
  .cInterviewHero__roman p:not(:last-child) { margin-block-end: 0.75rem; }
  .cInterviewHero__roman span { display: block; }
  .cInterviewHero__roman span + span { margin-inline-start: 0; }
  .cInterviewHero__identity { display: block; height: 9.25rem; }
  .cSectionLabel { font-size: 1.25rem; }
  .cThinkLife { min-height: 0; padding-top: 6rem; padding-bottom: 2.5rem; }
  .cThinkLife__title { width: calc(100% - 3.25rem); margin-top: 2.65rem; font-size: 2.75rem; line-height: 1.2; text-align: center; }
  .cThinkLife__body { width: calc(100% - 2.25rem); max-width: none; margin-top: 2.65rem; font-size: 1.4rem; line-height: 1.75; letter-spacing: 0.02em; }
  .cThinkLife__body p { margin-bottom: 1.9rem; text-align: justify; }
  .cInterviewFull { width: 100%; }
  .cThinkPapas { padding-top: 3.8rem; padding-bottom: 3rem; }
  .cThinkPapas__copy { min-height: 11.65rem; margin-top: 2.65rem; font-size: 1.75rem; line-height: 1; }
  .cThinkPapas__copy span:not(:last-child) { margin-block-end: 1.25rem; }
  .cPeopleStrip__list { width: 100%; margin: 0; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; }
  html { width: 100%; max-width: 100%; overflow-x: hidden; font-size: clamp(10px, 4.25vw, 16px); }
}

/* reduced motion */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; }
  .cHomePeople__roman, .cHomePeople__item .cSwapAlt { transition-delay: 0s !important; }
  .fade { opacity: 1; }
  img { opacity: 1; }
}

/* hover */
@media (min-width: 601px) and (hover: hover) and (pointer: fine) {
  .cMailBanner:hover .cMailBanner__text { max-width: 40rem; padding-left: 1.5rem; }
  .cPhotoLink:hover img { transform: scale(1.04); }
  .cPhotoLink:hover .cSwapAlt { opacity: 1; }
  .cHomePeople__item:hover .cHomePeople__roman { opacity: 1; }
}

/* wp admin bar */
body.admin-bar .cLoading, body.admin-bar .cMenu, body.admin-bar .cMovieModal { top: 32px; }
body.admin-bar .cLoading, body.admin-bar .cMenu, body.admin-bar .cMovieModal { height: calc(100vh - 32px); height: calc(100dvh - 32px); }
@media screen and (max-width: 782px) {
  body.admin-bar .cLoading, body.admin-bar .cMenu, body.admin-bar .cMovieModal { top: 46px; height: calc(100vh - 46px); height: calc(100dvh - 46px); }
}

/* aspect-ratio fallback - padding 125% + absolute images */
@supports not (aspect-ratio: 4 / 5) {
  .cHomeHero__image::before,
  .cHomePeople__image::before,
  .cInterviewHero__image::before,
  .cInterviewFull::before,
  .cPeopleStrip__item .cImageFrame::before { content: ""; display: block; padding-top: 125%; }
  .cImageFrame img { position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; }
}
