:root{--purple:#c46fd8;--purple-dark:#9b4bb0;--orange-grad-start:#f5a826;--orange-grad-end:#f0c840;--white:#fafafc;--off-white:#fafafa;--dark:#1a1a1a;--gray:#555;--light-gray:#f0f0f0;--bubble-bg:#fafafc;--font-body-en:"Inter", sans-serif;--font-body-ja:"Zen Maru Gothic", sans-serif;--font-display:"Fredoka One", cursive;--font-ja-display:"Yomogi", cursive;--font-oyaji:"OyajiDisplay", "Fredoka One", cursive }*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body-en);color:var(--dark);background:var(--white);-webkit-user-select:none;user-select:none;line-height:1.7}img{pointer-events:none;-webkit-user-drag:none}body.lang-ja{font-family:var(--font-body-ja)}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}nav{z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fafafceb;border-bottom:none;grid-template-columns:1fr auto 1fr;align-items:center;height:56px;padding:0 2rem;display:grid;position:fixed;top:0;left:0;right:0}.nav-logo{font-family:var(--font-oyaji);color:var(--purple);letter-spacing:.08em;font-size:1.15rem}.nav-links{align-items:center;gap:1.5rem;list-style:none;display:flex}.nav-links a{color:var(--dark);opacity:.75;font-size:.85rem;font-weight:600;transition:opacity .2s}.nav-links a:hover{opacity:1}.nav-right{justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.btn-lang{font-family:var(--font-body-en);letter-spacing:.08em;border:2px solid var(--purple);color:var(--purple);cursor:pointer;background:0 0;border-radius:999px;padding:5px 14px;font-size:.78rem;font-weight:700;transition:all .2s}.btn-lang:hover{background:var(--purple);color:#fff}footer.site-footer{background:var(--dark);color:#fff6;text-align:center;padding:2rem;font-size:.8rem}footer.site-footer a,footer.site-footer span{color:var(--purple)}@media(max-width:768px){nav{grid-template-columns:1fr auto;padding:0 1rem}.nav-links{display:none}.nav-right{gap:.5rem}}[data-lang=en]{display:block}[data-lang=ja],body.lang-ja [data-lang=en]{display:none}body.lang-ja [data-lang=ja]{display:block}span[data-lang=en]{display:inline}span[data-lang=ja],body.lang-ja span[data-lang=en]{display:none}body.lang-ja span[data-lang=ja]{display:inline}[data-i18n]:empty{display:none}.is-hidden{display:none}@font-face{font-family:OyajiDisplay;src:url(/oyaji-display.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}#hero{text-align:center;background:var(--white);flex-direction:column;justify-content:flex-start;align-items:center;height:100dvh;padding-top:calc(56px + .4rem);padding-bottom:.4rem;display:flex;position:relative;overflow:hidden}.hero-image-wrap{z-index:0;flex:1 1 auto;justify-content:center;align-items:flex-end;width:95%;min-width:280px;max-width:1200px;min-height:0;margin-top:0;display:flex;overflow:hidden}.hero-image{width:auto;max-width:100%;max-height:100%;height:100%;object-fit:contain;object-position:center center;transform:scale(1.32);transform-origin:center 51%;display:block}.hero-title-ja{font-family:var(--font-oyaji);color:var(--purple);z-index:1;margin-bottom:.15em;font-size:clamp(3rem,9vw,6rem);line-height:1;position:relative}.hero-title-en{font-family:var(--font-oyaji);color:var(--purple);letter-spacing:.35em;text-transform:uppercase;z-index:1;margin-bottom:.4rem;font-size:clamp(.9rem,2.5vw,1.5rem);position:relative}.hero-bottom{z-index:2;background:var(--white);align-self:stretch;flex-shrink:0;margin-top:0;padding-bottom:.15rem;position:relative}.hero-tagline-public{font-family:var(--font-display);color:var(--purple);text-align:center;white-space:nowrap;flex-shrink:0;padding:.1rem 1rem .35rem;font-size:clamp(.9rem,2vw,1.2rem);position:relative}.hero-tagline{font-family:var(--font-display);color:var(--purple);text-align:right;white-space:nowrap;font-size:clamp(.9rem,2vw,1.2rem);position:absolute;top:50%;right:0;transform:translateY(-50%)}.hero-credits{background:var(--white);z-index:1;width:100%;margin-top:auto;padding:.6rem 2rem .75rem;position:relative}.hero-credits-inner{position:relative}.hero-credits-text{text-align:center;width:60%;margin:0 auto}.hero-credits-top{letter-spacing:.18em;text-transform:uppercase;color:#222;margin-bottom:.2rem;font-family:Bebas Neue,Barlow Condensed,sans-serif;font-size:.95rem}.credit{white-space:nowrap}.hero-credits-fine{letter-spacing:.08em;color:#444;text-transform:uppercase;font-family:Barlow Condensed,sans-serif;font-size:.75rem;font-weight:400;line-height:1.5}.list{z-index:2;flex-shrink:0;width:min(440px,calc(100% - 2rem));margin:.35rem auto 1.15rem;position:relative}.list-hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.list .mauticform_wrapper{max-width:none;margin:0}.list .mauticform-page-wrapper{flex-direction:column;align-items:stretch;gap:.45rem;width:100%;margin:0}.list .mauticform-row{margin:0;padding:0;width:100%!important}.list .mauticform-email{width:100%}.list .mauticform-button-wrapper{width:auto!important;align-self:center}.list .mauticform-label{display:none}.list [id$=_captcha]{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;margin:0!important;padding:0!important;overflow:hidden!important;border:0!important}.list [id$=_cloudflare_turnstile]{position:absolute!important;left:0;top:100%;width:300px!important;height:70px!important;margin:0!important;padding:0!important;overflow:visible!important;border:0!important;pointer-events:none;z-index:3}.list [id$=_cloudflare_turnstile] iframe{pointer-events:auto}.list [id$=_cloudflare_turnstile]>div[style]{position:static!important;top:auto!important;padding-bottom:0!important}.list-error{color:#9b4bb0;margin:.35rem 0 0;font-size:.9rem;text-align:center}.list .mauticform-input{font-family:var(--font-body-en);color:var(--dark);background:#fff;border:2px solid var(--purple);border-radius:999px;width:100%;padding:.55rem 1rem;font-size:1rem;box-shadow:none;-webkit-user-select:text;user-select:text}.list .mauticform-input:focus{outline:none;border-color:var(--purple-dark)}.list .mauticform-button-wrapper .mauticform-button.btn-ghost{font-family:var(--font-body-en);color:#fff;background:var(--purple);border:2px solid var(--purple);border-radius:999px;width:auto;padding:.55rem 1.35rem;font-size:1rem;font-weight:700;line-height:1.2}.list .mauticform-button-wrapper .mauticform-button.btn-ghost:hover{background:var(--purple-dark);border-color:var(--purple-dark);color:#fff}.list .mauticform-button-wrapper .mauticform-button.btn-ghost:disabled,.list .mauticform-button-wrapper .mauticform-button.btn-ghost[disabled]{color:#fff;background:var(--purple);border-color:var(--purple);opacity:1;cursor:wait}.list .list-btn-wait{display:inline-flex;align-items:center;gap:.15rem}.list .list-dots{display:inline-flex;gap:3px;margin-left:.2rem;min-width:1.1em}.list .list-dots i{width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.25;animation:list-dot 1s infinite}.list .list-dots i:nth-child(2){animation-delay:.2s}.list .list-dots i:nth-child(3){animation-delay:.4s}@keyframes list-dot{0%,80%,to{opacity:.25}40%{opacity:1}}body.lang-ja .list .mauticform-button{font-family:var(--font-body-ja)}.list .mauticform-message,.list.list-done .mauticform_wrapper{display:none}.list .list-confirm{color:var(--dark);text-align:center;margin:0;font-size:.95rem;font-weight:700;line-height:1.35}body.lang-ja .list .list-confirm{font-family:var(--font-body-ja)}.scroll-hint{z-index:1;opacity:.35;letter-spacing:.1em;text-transform:uppercase;flex-direction:column;align-items:center;gap:4px;margin-top:.35rem;font-size:.7rem;display:flex;position:relative;flex-shrink:0}.scroll-hint span{animation:1.5s infinite bounce}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}section{position:relative}.section-inner{max-width:1100px;margin:0 auto;padding:5rem 2rem}.section-label{font-family:var(--font-display);color:var(--purple);letter-spacing:.05em;margin-bottom:1.5rem;font-size:clamp(2rem,6vw,3.5rem);line-height:1.1}body.lang-ja .section-label{font-family:var(--font-ja-display)}#concepts{background:linear-gradient(160deg,var(--orange-grad-start),var(--orange-grad-end))}#concepts .section-inner{padding-bottom:0}.concepts-grid{grid-template-columns:1fr auto 1fr;align-items:start;gap:2rem;display:grid}.concept-card{container-type:inline-size}.concept-card-title{font-family:var(--font-display);color:var(--purple);letter-spacing:.15em;margin-bottom:1.5rem;font-size:clamp(2.5rem,15cqw,6rem);line-height:1}body.lang-ja .concept-card-title{font-family:var(--font-ja-display)}.concept-vs{display:block}.concept-visual{width:75%;margin-top:4rem;position:relative}.concept-card.right{text-align:right}.concept-card.left .concept-visual{margin-left:auto}.concept-card.right .concept-visual{margin-right:auto}.concept-image-wrap{aspect-ratio:3/4;border-radius:8px;width:100%;line-height:0;overflow:hidden;position:relative;z-index:1}.concept-image{object-fit:cover;object-position:center top;width:100%;height:160%;display:block}.bubble{background:var(--bubble-bg);z-index:2;white-space:nowrap;border-radius:20px;padding:.6em 1em;font-size:.9rem;font-style:italic;display:inline-block;position:absolute;top:-2.5rem}.bubble:after{content:"";border:10px solid #0000;border-top-color:var(--bubble-bg);border-bottom:0;position:absolute;bottom:-10px}.bubble-weeb{text-align:left;right:-1.5rem}.bubble-weeb:after{left:1.5rem}.bubble-oyaji{text-align:left;left:-1.5rem}.bubble-oyaji:after{right:1.5rem}.concept-card .def-label{letter-spacing:.1em;margin-bottom:.5rem;font-size:.85rem;font-weight:700}body.lang-ja .concept-card .def-label{display:none}.concept-card p{margin-top:.75rem;font-size:.95rem;line-height:1.6}.concept-vs{font-family:var(--font-display);color:var(--purple);text-align:center;letter-spacing:.15em;align-self:center;font-size:clamp(2.5rem,6vw,4rem)}#synopsis{background:var(--white)}.synopsis-beats{flex-direction:column;gap:2rem;display:flex}.beat{grid-template-columns:1fr 1fr;align-items:center;gap:2rem;display:grid}.beat:nth-child(2n){direction:rtl}.beat:nth-child(2n)>*{direction:ltr}.beat-image{aspect-ratio:16/9;color:#bbb;background:#e8e8e8;border-radius:12px;justify-content:center;align-items:center;font-size:.8rem;display:flex;overflow:hidden}.beat-image img{object-fit:cover;width:100%;height:100%}.beat-text h3{font-family:var(--font-display);color:var(--purple);letter-spacing:.05em;margin-bottom:.5rem;font-size:1.3rem}body.lang-ja .beat-text h3{font-family:var(--font-ja-display)}.beat-text p{color:var(--gray);font-size:.95rem}#style{aspect-ratio:16/9;color:#fff;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.style-bg{object-fit:cover;object-position:center;width:100%;height:100%;display:block;position:absolute;inset:0}.style-overlay{display:none}.style-content{z-index:1;text-align:center;max-width:900px;padding:2rem;position:relative}.style-content .section-label{text-shadow:0 2px 12px #000c,0 1px 4px #0009}.style-content p{opacity:.9;text-shadow:0 2px 12px #000c,0 1px 4px #0009;margin-bottom:.4rem;font-size:1.25rem}.style-content p strong{color:var(--purple);font-style:italic}#cast{background:var(--off-white)}.cast-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:2rem;display:grid}.cast-card{text-align:center}.cast-photo{aspect-ratio:3/4;color:#aaa;background:#ddd;border-radius:12px;justify-content:center;align-items:center;width:100%;margin-bottom:1rem;font-size:.75rem;display:flex;position:relative;overflow:hidden}.cast-photo img{object-fit:cover;width:100%;height:100%}.cast-badge{letter-spacing:.05em;text-transform:uppercase;border-radius:999px;padding:3px 8px;font-size:.6rem;font-weight:700;position:absolute;top:.5rem;left:.5rem}.cast-badge.attached{color:#fff;background:#4caf50}.cast-badge.ideal{background:var(--purple);color:#fff}.cast-card h3{margin-bottom:.2em;font-size:1rem;font-weight:700}.cast-card .cast-role{color:var(--purple);margin-bottom:.5em;font-size:.82rem;font-weight:600}.cast-card p{color:var(--gray);font-size:.78rem;line-height:1.5}#directors-note{background:var(--white)}.note-context-grid{grid-template-columns:1fr 1fr;align-items:start;gap:3rem;display:grid}.note-quote{border-left:4px solid var(--purple);margin-bottom:1.5rem;padding-left:1.5rem;font-size:clamp(1rem,2vw,1.2rem);font-weight:700;line-height:1.6}.note-body p{color:var(--gray);margin-bottom:1rem;font-size:.95rem}.note-sig{font-family:var(--font-display);color:var(--purple);margin-top:1.5rem;font-size:1.3rem}body.lang-ja .note-sig{font-family:var(--font-ja-display)}.note-photo{aspect-ratio:4/3;color:#aaa;background:#e0e0e0;border-radius:12px;justify-content:center;align-items:center;font-size:.85rem;display:flex}.note-photo img{object-fit:cover;border-radius:12px;width:100%;height:100%}#director{background:linear-gradient(170deg,#e8edf5,#d4dce8)}.director-inner{grid-template-columns:auto 1fr;align-items:start;gap:3rem;display:grid}.director-portrait{aspect-ratio:1;background:#ccc;border-radius:50%;flex-shrink:0;width:220px;overflow:hidden}.director-portrait img{object-fit:cover;width:100%;height:100%}.director-name{font-family:var(--font-display);color:var(--purple);letter-spacing:.05em;margin-bottom:.5em;font-size:2.5rem}body.lang-ja .director-name{font-family:var(--font-ja-display)}.director-links{align-items:center;gap:.35rem;margin-top:.25rem;margin-bottom:1rem;display:flex}.director-link{color:var(--purple);width:36px;height:36px;display:flex;align-items:center;justify-content:center;text-decoration:none}.director-link:hover{color:var(--purple-dark)}.director-bio p{color:var(--gray);margin-bottom:.85rem;font-size:.95rem}.bg-photo-section{align-items:center;min-height:50vh;display:flex;position:relative}.bg-photo-section .bg-img{object-fit:cover;z-index:0;width:100%;height:100%;position:absolute;inset:0}.bg-photo-section .overlay{z-index:1;background:#00000073;position:absolute;inset:0}.bg-photo-section .content{z-index:2;width:100%;max-width:1100px;margin:0 auto;padding:5rem 2rem;position:relative}@media(max-width:768px){#hero{min-height:unset;height:100dvh;padding-top:calc(56px + .5rem);padding-bottom:0;overflow:hidden}.hero-title-ja{font-size:clamp(3.5rem,14vw,5rem)}.hero-title-en{letter-spacing:.25em;font-size:clamp(1rem,4vw,1.5rem)}.hero-image-wrap{flex-grow:1;justify-content:center;align-items:center;width:100%;min-height:0;margin-top:0;display:flex;overflow:hidden}.hero-image{max-width:100%;max-height:100%}.hero-tagline-public{text-align:center;white-space:normal;flex-shrink:0;width:100%;padding:.35rem 1rem .1rem;font-size:.9rem}.scroll-hint{display:none}.hero-credits{padding:.5rem 1rem}.hero-credits-text{width:100%}.hero-tagline{display:none}.section-inner{padding:3rem 1.25rem}.concepts-grid{grid-template-columns:1fr;gap:0}.concept-card,.concept-card.right{text-align:center!important}.concept-vs{text-align:center;padding:.5rem 0;font-size:2.5rem}.concept-visual{width:70%;margin:6.5rem auto 0!important}.bubble-weeb{left:50%;right:auto;transform:translate(-50%)}.bubble-oyaji,.bubble-weeb:after,.bubble-oyaji:after{left:50%;right:auto;transform:translate(-50%)}.bubble{white-space:normal;text-align:center;font-size:.8rem;top:auto;bottom:calc(100% + 12px)}.beat{grid-template-columns:1fr;gap:1rem}.beat:nth-child(2n){direction:ltr}#style{aspect-ratio:unset;min-height:60vw;padding:3rem 0}.style-content{padding:1.5rem 1.25rem}.style-content p{font-size:1rem}.note-context-grid{grid-template-columns:1fr}.director-inner{text-align:center;grid-template-columns:1fr;gap:1.5rem}.director-portrait{width:140px;margin:0 auto}.director-links{flex-wrap:wrap;justify-content:center}.director-name{font-size:2rem}}.legal{padding-top:calc(56px + 2rem);padding-bottom:3rem;background:var(--white);min-height:70dvh}.legal-title{font-family:var(--font-display);color:var(--purple);letter-spacing:.04em;margin-bottom:.5rem;font-size:clamp(2rem,5vw,3rem);line-height:1.15}body.lang-ja .legal-title{font-family:var(--font-ja-display)}.legal-updated{color:var(--gray);margin-bottom:2rem;font-size:.9rem}.legal-block{margin-bottom:1.75rem}.legal-block h2{font-family:var(--font-display);color:var(--purple);letter-spacing:.03em;margin-bottom:.55rem;font-size:1.25rem}body.lang-ja .legal-block h2{font-family:var(--font-ja-display)}.legal-block p{color:var(--gray);margin-bottom:.75rem;font-size:.95rem;line-height:1.7}.legal-block a{color:var(--purple);text-decoration:underline;text-underline-offset:2px}
