:root{--bg:#140b10;--wine:#761d36;--rose:#d59b9e;--gold:#cdbca0;--text:#f2e9e0;--muted:#b9a6a8;--line:#cdbca02b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--bg);color:var(--text);font-family:'Yu Mincho','Hiragino Mincho ProN',serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img{max-width:100%;height:auto;display:block}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:6px}.skip{position:absolute;top:-60px}.skip:focus{top:10px;z-index:100;background:#000;padding:15px}.topbar{position:absolute;z-index:10;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:22px 5%;border-bottom:1px solid #ffffff20;background:linear-gradient(#100810a8,transparent)}.brand{display:flex;align-items:center;gap:15px}.brand img{width:65px;height:65px;object-fit:contain}.brand span{font-size:22px;letter-spacing:.18em}.brand small{font-size:10px;letter-spacing:.1em;display:block;margin-top:7px}.topbar nav{display:flex;gap:30px;align-items:center;font-size:13px;letter-spacing:.1em}.text-link:hover,.topbar nav a:hover{color:var(--rose)}.nav-recruit{border:1px solid #fff5;padding:12px 20px}.menu-toggle{display:none}.mobile-menu{position:fixed;z-index:30;inset:90px 0 auto;background:#1a0b16fa;padding:25px}.mobile-menu a{display:block;padding:18px;border-bottom:1px solid var(--line)}.shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:linear-gradient(90deg,#100810b8,transparent 85%),linear-gradient(0deg,#140b10 0,transparent 40%,#10081033)}.eyebrow{font-family:Georgia,serif;font-size:10px;letter-spacing:.24em;color:var(--gold);margin:0 0 26px}.hero-links{display:flex;align-items:center;gap:34px}.btn{display:inline-flex;align-items:center;gap:35px;justify-content:space-between;padding:19px 25px;border:1px solid #cdbca077;font-size:12px;letter-spacing:.1em;transition:background .2s}.btn:hover{background:#76203b}.filled{background:#761d36;border-color:#a35f6b}.text-link{display:inline-flex;align-items:center;gap:30px;font-size:12px;letter-spacing:.08em;border-bottom:1px solid #cdbca04a;padding:10px 0}.ribbon{display:flex;justify-content:space-around;padding:24px 5%;font-size:11px;letter-spacing:.1em;border-bottom:1px solid var(--line);color:var(--gold)}.section{padding:110px 8%;max-width:1500px;margin:auto}h2{font-size:clamp(27px,3vw,42px);line-height:1.7;font-weight:400;letter-spacing:.1em;margin:0}h3{font-weight:400;font-size:21px}.story{display:grid;grid-template-columns:1.15fr 1fr;gap:10%;align-items:center;background:radial-gradient(ellipse at right,#46142760,transparent 65%)}.photo-caption{display:block;font:9px Georgia;letter-spacing:.24em;margin-top:20px;color:var(--gold)}.ornament{font-size:24px;color:var(--rose);margin:20px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:40px}.cast-image{display:block;position:relative;border:1px solid var(--line);overflow:hidden;background:#100a0d}.cast-image img{width:100%;transition:transform .8s}.cast-image:hover img{transform:scale(1.025)}.image-link{position:absolute;bottom:0;right:0;background:#340d23e8;padding:20px 25px;letter-spacing:.2em;font-size:10px}.muted{font-size:12px;line-height:2;color:var(--muted)}.plans{display:grid;grid-template-columns:1fr 1fr;gap:25px}.accent{background:linear-gradient(135deg,#471326,#25101c);border-color:#b56a7d66}.plan-index{font-size:10px;letter-spacing:.2em;color:var(--gold)}.price{font-size:46px;margin:20px 0;letter-spacing:.03em}.price span{font-size:12px;margin-left:10px;color:var(--muted)}.fine{font:11px/1.9 sans-serif;color:var(--muted);margin-top:20px}.access-lead{font-size:14px;color:var(--rose);margin:25px 0}dl{font-size:12px;margin:30px 0}dl>div{display:grid;grid-template-columns:80px 1fr;padding:18px 0;border-bottom:1px solid var(--line);line-height:2}dt{color:var(--muted)}dd{margin:0}.access-photo{position:relative}.access-photo img{aspect-ratio:4/5;object-fit:cover;filter:brightness(.65)}.access-photo>div{position:absolute;bottom:40px;left:35px;font-size:25px;letter-spacing:.2em}.access-photo small{display:block;font-size:10px;margin-top:15px;letter-spacing:.1em}footer{padding:65px 8% 35px}.footer-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:40px}.socials{display:flex;gap:25px;font-size:12px}.footer-bottom{border-top:1px solid var(--line);padding-top:25px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted)}.mobile-dock{display:none}dialog{background:#140b10;color:var(--text);border:1px solid var(--line);max-width:90vw;max-height:90svh;padding:45px 15px 15px}dialog::backdrop{background:#000d}dialog img{max-height:75svh;object-fit:contain;margin:auto}.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .8s,transform .8s}.js .reveal.visible{opacity:1;transform:none}@media(max-width:700px){html{scroll-padding-top:25px}.topbar{padding:15px 6%}.brand img{width:48px;height:48px}.brand span{font-size:16px}.brand small{font-size:8px}.topbar nav{display:none}.menu-toggle{display:block;background:none;border:1px solid #fff5;padding:11px;font-size:9px;letter-spacing:.12em}.menu-toggle span{margin-left:8px}.shade{background:linear-gradient(90deg,#100810a0,transparent),linear-gradient(0deg,#140b10,transparent 85%)}.eyebrow{font-size:8px;letter-spacing:.16em}.hero-links{gap:20px;align-items:start;flex-direction:column}.btn{padding:17px 20px;font-size:11px}.ribbon{padding:20px 5%;font-size:9px;gap:20px}.ribbon>span:nth-child(2){display:none}.section{padding:70px 7%}.story{grid-template-columns:1fr;gap:25px}.section-head{display:block;margin-bottom:25px}.section-head .text-link{margin-top:15px}h2{font-size:28px}.cast-image .image-link{font-size:8px;padding:14px}.plans{grid-template-columns:1fr;gap:16px}.price{font-size:42px}.access-photo img{aspect-ratio:4/3}.footer-top{display:block}.socials{margin-top:30px}.footer-bottom{flex-direction:column;line-height:1.8}footer{padding-bottom:100px}.mobile-dock{position:fixed;z-index:20;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(3,1fr);background:#230e1bf5;backdrop-filter:blur(15px);border-top:1px solid #b98b9555;padding-bottom:env(safe-area-inset-bottom)}.mobile-dock a{padding:19px 5px;text-align:center;font-size:11px;border-right:1px solid var(--line)}.mobile-dock a:last-child{background:#761d36}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .reveal{opacity:1;transform:none;transition:none}*{transition:none!important}}:root{--bg:#110d10;--wine:#d51f39;--rose:#ed344e;--gold:#ee6776;--text:#fff0ed;--muted:#c5a5aa;--line:#c52d4655}body{font-family:'Hiragino Maru Gothic ProN','Yu Gothic',sans-serif;background:#110d10;background-image:radial-gradient(#b7253e22 .8px,transparent .8px);background-size:16px 16px}h1,h2,h3{font-family:'Hiragino Maru Gothic ProN','Yu Gothic',sans-serif;font-weight:700;letter-spacing:.05em}h2{font-size:clamp(25px,2.7vw,36px)}.eyebrow{font-family:Georgia,serif;color:#bd6285;letter-spacing:.18em}.topbar{background:linear-gradient(#4a1a39bd,transparent);border-color:#ffd1e850;color:#fff0ec}.brand span{font-family:Georgia,serif}.topbar nav{gap:18px}.topbar nav>a{padding:11px 17px;border-radius:30px;background:#fff1f718;border:1px solid #ffd0e433;transition:background .2s,transform .2s}.topbar nav>a:hover{background:#c42b3b;color:#fff5ef;transform:translateY(-2px)}.nav-recruit{background:#c91f35!important;border:1px solid #f15a69!important}.shade{background:linear-gradient(90deg,#300710c4,transparent 90%),linear-gradient(0deg,#1c070ed9,transparent 65%)}.btn{position:relative;border-radius:50px;border:1px solid #ed5264;background:#21141c;color:#fff0e9;padding:18px 28px;box-shadow:0 5px 0 #740d22,0 8px 20px #e32b4233;font-weight:700;transition:transform .2s,box-shadow .2s,background .2s}.btn::before{content:'';font-size:18px;line-height:1}.btn:hover{background:#401321;color:#fff5ef;transform:translateY(-3px);box-shadow:0 8px 0 #740d22,0 12px 24px #e32b4233}.filled{background:linear-gradient(120deg,#eb3446,#b8112b);color:#fff;border:2px solid #f8737d;box-shadow:0 5px 0 #650b1c,0 9px 22px #08030688}.filled:hover{background:#f33d51;color:#fff;box-shadow:0 8px 0 #650b1c}.text-link{border:1px solid #8d3042;border-radius:30px;background:#24131d;padding:12px 20px;color:#ffbcc1;font-weight:600;font-size:11px;box-shadow:0 3px 0 #500e20}.ribbon{background:#290e1b;border-bottom:2px dashed #791a32;color:#ffc0c0}.story{background:radial-gradient(ellipse at right,#6f102b44,transparent 65%)}.photo-caption{text-align:center;font-size:9px}.ornament{color:#df2945}.cast-image{border:8px solid #fff;border-radius:25px;box-shadow:0 8px 24px #0005;outline:#93273e solid 1px}.image-link{background:#b71530;color:#fff;border-radius:24px 0 0;font-weight:700}.plans{gap:25px}.price{color:#ff5367;font-weight:700}.price span{color:#ceb1ba}.plan-index{color:#e57380}.access-lead{color:#f36a7b}.access-photo{padding:10px;background:#fff;border:1px solid #85273e;border-radius:28px;box-shadow:0 10px 25px #0008}.access-photo img{border-radius:20px;filter:brightness(.85)}.access-photo>div{color:#fff;font-family:Georgia,serif;text-shadow:0 2px 6px #301326}.access-photo small{font-family:sans-serif}footer{background:#190c17;border-top:1px dashed #80243e}.socials a{border:1px solid #843047;background:#291320;border-radius:25px;padding:12px 18px;font-size:11px}.footer-bottom{border-color:#6e233a}.mobile-menu{background:#1c101bfa;color:#ffd7dd;border-bottom:2px solid #80314b}.mobile-menu a{border-color:#80314b}.menu-toggle{border-radius:25px;background:#2d1222;color:#ffc6ce;border-color:#a63a50}dialog{background:#20101b;border:4px solid #a02e48;border-radius:25px;color:#ffbbc4}dialog img{border-radius:12px}.mobile-dock{background:#170c16f5;border-color:#a3374f;padding:8px 8px calc(8px + env(safe-area-inset-bottom));gap:7px}.mobile-dock a{background:#fff;border:1px solid #8d2f48;border-radius:25px;color:#ffe5e9;padding:14px 3px;box-shadow:0 3px 0 #520d22;font-weight:700}.mobile-dock a:last-child{background:linear-gradient(120deg,#ed344d,#b51733);color:#fff;border-color:#d84961}.mobile-dock a::before{content:'';margin-right:4px}.fine{color:#c5a5aa}@media(max-width:700px){.hero-links{gap:20px}.btn{padding:16px 22px;font-size:11px}.section{padding-top:65px;padding-bottom:65px}.price{font-size:38px}.socials{gap:9px}.socials a{padding:11px 12px}.mobile-menu{inset:85px 0 auto}.image-link{font-size:8px}}.topbar nav>a{border-width:1px;box-shadow:0 3px 0 #350b19}.btn,.socials a,.text-link{border-width:2px}.btn{box-shadow:0 5px 0 #650c24,0 0 0 3px #160a13}.filled{background:linear-gradient(135deg,#ec3448,#ad0b2b);border-color:#ff8b96;box-shadow:0 6px 0 #5d0a21,0 0 22px #e6274033}.filled:hover{background:#ef344d}.btn::before,.mobile-dock a::before{content:'';display:inline-block;flex:none;width:25px;height:25px;background:url('../img/rose-mark.svg') center/contain no-repeat;vertical-align:middle}.photo-caption{color:#ff9ea9}.ribbon{background:repeating-linear-gradient(135deg,#290e1a,#290e1a 14px,#310f1d 14px,#310f1d 28px)}.section-head h2::after{content:' ✦';color:#db2d4b}.access-photo{background:#260e1d}.access-photo img{filter:brightness(.82)}.image-link{border-top:2px solid #f17385;border-left:2px solid #f17385}.mobile-dock a{background:#29101f;color:#ffe6ec}.mobile-dock a:last-child{background:linear-gradient(135deg,#e83049,#ad0c2c)}.mobile-dock a::before{width:18px;height:18px;margin-right:3px}.ornament{color:#e33451}.socials a{color:#ffd1da}.footer-top .brand{color:#fff0ed}@media(max-width:700px){.btn::before{width:23px;height:23px}.mobile-dock a{display:flex;align-items:center;justify-content:center;font-size:10px}}@media(max-width:700px){.ribbon{padding-block:17px}}.cast-list-action{text-align:center;margin-top:30px}.cast-list-action .btn{min-width:220px;justify-content:space-between}.cast-list-action .btn span{margin-left:20px}@media(max-width:700px){.cast-list-action{margin-top:25px}.cast-list-action .btn{min-width:210px}}.topbar{position:relative;background:#1c0d17;border-bottom:1px solid #8e2942}.page-banner{position:relative;text-align:center;padding:65px 20px 50px;background:radial-gradient(ellipse at center,#5b102b88,transparent 70%);border-bottom:2px dashed #80223b}.page-banner>p{letter-spacing:.3em;color:#f47b8a;font:12px Georgia}.page-banner>img{width:55px;height:55px;margin:18px auto}.page-banner h1{font-size:clamp(26px,4vw,42px);margin:20px 0 25px}.page-banner>a,.page-banner>span{font-size:10px;color:#d5a9b5}.page-content{max-width:1200px;margin:auto;padding:65px 7% 90px}.page-content img{height:auto}.page-content a:focus-visible{outline:#ff8d9e solid 2px}.page-content ul{padding:0;list-style:none}#system{display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:start}table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;background:#25131f;border:1px solid #8c2c44;border-radius:18px;font-size:13px}caption{font-size:19px;text-align:left;font-weight:700;margin-bottom:16px;color:#ffb8c6}td,th{text-align:left;padding:17px 18px;line-height:1.8;border-bottom:1px solid #672238;font-weight:400}td{color:#ffb7c4}tr:last-child td,tr:last-child th{border-bottom:0}#system>p{font-size:12px;line-height:1.9;margin:0;color:#d9aab9}#systemmenu{margin-top:70px}.title-h2{text-align:center;margin-bottom:25px}.tab{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:30px!important}.tab a{display:block;border:1px solid #a63550;border-radius:30px;background:#321222;padding:13px 18px;font-size:12px;box-shadow:0 4px 0 #510d24}.tab a[aria-selected="true"]{background:#c61f3d;color:#fff;border-color:#fc788c}.area[hidden]{display:none}.area{padding:25px;background:#1b1018;border:1px solid #622239;border-radius:25px}.area table{margin:20px 0}.system_icon{max-width:75px;max-height:85px;object-fit:contain;margin:0 auto 25px}.area p{font-size:12px;line-height:2;color:#d9aab9}.page-content svg{max-width:100%}@media(max-width:700px){.page-banner{padding:35px 15px}.page-banner>img{width:42px;height:42px}.page-content{padding:38px 5% 65px}#system{grid-template-columns:1fr;gap:20px}td,th{padding:12px 10px;font-size:12px}.tab{gap:8px}.tab a{padding:11px 12px;font-size:10px}.area{padding:15px 10px}.mobile-menu{top:85px}}#system{display:block;max-width:850px;margin:auto}#system table{margin:30px 0 12px}#system p{margin:0 0 24px}#system>div{margin-top:25px}body{padding-bottom:calc(98px + env(safe-area-inset-bottom))}.bottom-nav{position:fixed;z-index:40;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:10px max(18px,calc((100vw - 850px)/ 2)) calc(10px + env(safe-area-inset-bottom));background:linear-gradient(180deg,#220e1bf5,#120a11fa);border-top:2px solid #a62b45;box-shadow:0 -7px 25px #07020666;backdrop-filter:blur(18px)}.bottom-nav:before{content:'';position:absolute;left:0;right:0;top:3px;border-top:1px dashed #ad314944;pointer-events:none}.bottom-nav a{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:70px;border-radius:18px;color:#e6bbc5;border:1px solid transparent;transition:background .2s,transform .2s}.bottom-nav svg{height:24px;width:24px;flex:none}.nav-en{font:11px Georgia,serif;letter-spacing:.08em}.nav-ja{font-size:9px;line-height:1.2;white-space:nowrap}.bottom-nav a:hover{background:#59152e;color:#fff1ef;transform:translateY(-2px)}.bottom-nav a[aria-current="page"]{background:linear-gradient(145deg,#a71c37,#540c25);border-color:#e65d75;color:#fff0ed;box-shadow:0 3px 0 #3a0717,inset 0 1px 0 #ff9da744}.bottom-nav a[aria-current="page"]:after{content:'';position:absolute;right:5px;top:3px;width:16px;height:16px;background:url('../img/rose-mark.svg') center/contain no-repeat}.bottom-nav a:focus-visible{outline:#ff98a7 solid 2px;outline-offset:2px}footer{padding-bottom:35px}@media(max-width:700px){body{padding-bottom:calc(89px + env(safe-area-inset-bottom))}.bottom-nav{padding:8px 5px calc(8px + env(safe-area-inset-bottom));gap:3px}.bottom-nav a{min-height:69px;gap:5px;border-radius:14px}.bottom-nav svg{width:23px;height:23px}.nav-en{font-size:9px;letter-spacing:.04em}.nav-ja{font-size:9px}.bottom-nav a[aria-current="page"]:after{width:13px;height:13px;right:2px;top:3px}.bottom-nav a:hover{transform:none}footer{padding-bottom:30px}}@media(prefers-reduced-motion:reduce){.bottom-nav a{transition:none}}#mobile-menu,.menu-toggle{display:none!important}.topbar{justify-content:center;flex-direction:column;gap:18px;text-align:center}.topbar>.brand,.topbar>nav{justify-content:center}@media(max-width:700px){.topbar{gap:0}.topbar>.brand{margin-inline:auto}}.topbar>.brand{position:relative;display:block;width:max-content;margin-inline:auto;min-height:65px;align-content:center}.topbar>.brand>span{display:block;text-align:center}.topbar>.brand>img{position:absolute;right:calc(100% + 15px);top:50%;transform:translateY(-50%);margin:0}@media(max-width:700px){.topbar>.brand{min-height:48px}.topbar>.brand>img{right:calc(100% + 12px)}}footer .socials{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:min(100%,590px)}footer .socials>a{position:relative;isolation:isolate;display:flex;align-items:center;gap:13px;min-width:0;padding:18px 15px;background:linear-gradient(145deg,#28151f,#100d11);border:1px solid #732339;border-radius:9px;box-shadow:none;color:#f8e5e8;text-decoration:none;transition:border-color .2s,background .2s,transform .2s;pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:#c8284544}footer .socials>a:before{content:'';position:absolute;left:14px;right:14px;bottom:0;height:2px;background:linear-gradient(90deg,#db2446,transparent);pointer-events:none}footer .socials>a:hover{background:linear-gradient(145deg,#421426,#1e0c17);border-color:#df4963;transform:translateY(-2px)}footer .socials svg{width:23px;height:23px;flex:none;color:#ed5972;pointer-events:none}.social-label{font:13px/1.3 sans-serif;font-weight:600;min-width:0;pointer-events:none}.social-label small{display:block;font:8px/1.5 sans-serif;font-weight:400;color:#b98c99;margin-top:6px;white-space:nowrap}.social-arrow{margin-left:auto;color:#a57585;font-size:14px;pointer-events:none}@media(max-width:900px){footer .footer-top{flex-direction:column;align-items:flex-start;gap:28px}footer .socials{width:100%;margin-top:0}}@media(max-width:700px){footer .socials{gap:8px}footer .socials>a{padding:16px 8px;min-height:90px;flex-direction:column;justify-content:center;gap:8px;border-radius:8px}footer .socials svg{width:23px;height:23px}.social-label{text-align:center;font-size:11px}.social-label small{font-size:7px;letter-spacing:-.15px;margin-top:4px}.social-arrow{position:absolute;right:7px;top:7px;font-size:11px}footer .socials>a:before{left:8px;right:8px}}caption,h1,h2,h3{font-family:'Yu Mincho','Hiragino Mincho ProN','Hiragino Mincho Pro','Noto Serif JP',serif;font-weight:500;letter-spacing:.08em;color:#fff0ed;text-shadow:1px 2px 0 #65102d}.page-banner h1,.section-head h2,.title-h2{position:relative;width:fit-content;max-width:100%;padding-bottom:29px;line-height:1.6}.page-banner h1::after,.section-head h2::after,.title-h2::after{content:'';position:absolute;left:-10px;right:-10px;bottom:-11px;height:58px;background:url('../img/thorn-title.svg') center bottom/100% 100% no-repeat;pointer-events:none}.page-banner h1,.title-h2{margin-inline:auto}.section-head{margin-bottom:48px}.page-content caption{padding:8px 0 13px 34px;background:url('../img/rose-mark.svg') left 8px/25px 25px no-repeat;line-height:1.6}.page-banner{padding-bottom:56px}@media(max-width:700px){.page-banner h1,.section-head h2,.title-h2{padding-bottom:25px;letter-spacing:.06em}.page-banner h1::after,.section-head h2::after,.title-h2::after{height:49px;left:-6px;right:-6px;bottom:-10px}.section-head{margin-bottom:38px}.page-banner{padding-bottom:40px}.page-content caption{font-size:18px}}caption,h1,h2,h3{text-align:center}.page-banner h1,.section-head h2,.title-h2{margin-left:auto;margin-right:auto}.section-head{display:block;text-align:center}.section-head>.muted,.section-head>.text-link{margin-top:20px}.page-content caption{padding:12px 10px 15px;background:none;text-align:center}@media(max-width:700px){.section-head{display:block;text-align:center}}.section .eyebrow{font-family:Georgia,serif;font-size:12px;font-weight:400;line-height:1.6;letter-spacing:.2em;margin-bottom:22px;text-align:center}@media(max-width:700px){.section .eyebrow{font-size:12px;line-height:1.6;letter-spacing:.2em;margin-bottom:22px}}.title-art .thorn-lettering{width:100%;height:auto;display:block;overflow:visible}.title-art{width:fit-content;max-width:100%;margin-inline:auto}.page-banner h1.title-art:after,.section-head h2.title-art:after,.title-h2.title-art:after{display:none}.section-head h2.title-art{width:min(100%,530px);padding:0}.page-banner h1.title-art{width:min(100%,520px);padding:0}.title-h2.title-art{width:170px;padding:0}.rose-atmosphere{position:fixed;inset:0;z-index:2;pointer-events:none;overflow:hidden;background:radial-gradient(ellipse at 98% 25%,#c6243c0c,transparent 42%),radial-gradient(ellipse at 5% 80%,#e0273609,transparent 40%)}.rose-atmosphere i{position:absolute;top:-35px;left:9%;width:10px;height:17px;border-radius:2px 90% 8px;background:linear-gradient(135deg,#e43d55,#670b24);opacity:0;animation:22s linear infinite petal-fall;filter:drop-shadow(0 0 4px #a20e3240)}.rose-atmosphere i:nth-child(2){left:27%;animation-delay:-7s;animation-duration:28s;width:7px;height:12px}.rose-atmosphere i:nth-child(3){left:48%;animation-delay:-16s;animation-duration:26s}.rose-atmosphere i:nth-child(4){left:68%;animation-delay:-3s;animation-duration:31s;width:8px;height:13px}.rose-atmosphere i:nth-child(5){left:83%;animation-delay:-14s;animation-duration:24s}.rose-atmosphere i:nth-child(6){left:95%;animation-delay:-20s;animation-duration:30s;width:6px;height:10px}@keyframes petal-fall{0%{transform:translate3d(0,-30px,0) rotate(0);opacity:0}12%{opacity:.4}85%{opacity:.28}100%{transform:translate3d(-55px,110vh,0) rotate(390deg);opacity:0}}.page-banner,.ribbon,footer{position:relative;border-block-color:transparent}.page-banner:after,.ribbon:after,footer:before{content:'';position:absolute;top:0;left:0;right:0;height:35px;background:url('../img/thorn-lace.svg') center top/240px 40px repeat-x;pointer-events:none;opacity:.75}.page-banner:after,.ribbon:after{top:auto;bottom:-29px;z-index:1}.bottom-nav a,.btn,.socials>a,.tab a,.text-link{transition:transform .18s,box-shadow .18s,border-color .18s,background .18s}.bottom-nav a:active,.btn:active,.socials>a:active,.tab a:active,.text-link:active{transform:translateY(3px) scale(.98);border-color:#ff8799;box-shadow:0 0 19px #f12a4b55}@media(max-width:700px){.page-banner h1.title-art,.section-head h2.title-art{width:min(100%,370px)}.rose-atmosphere i{animation-duration:30s}}@media(prefers-reduced-motion:reduce){.rose-atmosphere{display:none}.bottom-nav a,.btn,.socials>a,.tab a,.text-link{transition:none}.bottom-nav a:active,.btn:active,.socials>a:active,.tab a:active,.text-link:active{transform:none}}.rose-atmosphere{z-index:8;display:block;background:radial-gradient(ellipse at 97% 20%,#e51b3e30,transparent 48%),radial-gradient(ellipse at 2% 77%,#c9183a24,transparent 45%)}.rose-atmosphere:after,.rose-atmosphere:before{content:'';position:absolute;width:220px;height:280px;border-radius:50%;background:radial-gradient(ellipse,#ec224b22,transparent 70%);pointer-events:none;animation:9s ease-in-out infinite alternate rose-glow}.rose-atmosphere:before{left:-110px;top:18%}.rose-atmosphere:after{right:-110px;bottom:15%;animation-delay:-4s}.rose-atmosphere i{width:16px;height:25px;top:-32px;background:linear-gradient(135deg,#ff6379 0,#d72749 45%,#7d102b 100%);box-shadow:inset 1px 1px 2px #ff8d9655;filter:drop-shadow(0 2px 3px #4b081a80);animation:17s linear infinite visible-petal;animation-delay:-3s}.rose-atmosphere i:nth-child(2){width:12px;height:19px;animation-duration:21s;animation-delay:-12s}.rose-atmosphere i:nth-child(3){width:15px;height:23px;animation-duration:19s;animation-delay:-7s}.rose-atmosphere i:nth-child(4){width:13px;height:20px;animation-duration:23s;animation-delay:-17s}.rose-atmosphere i:nth-child(5){width:17px;height:25px;animation-duration:18s;animation-delay:-11s}.rose-atmosphere i:nth-child(6){width:11px;height:18px;animation-duration:22s;animation-delay:-5s}@keyframes visible-petal{0%{transform:translate3d(18px,-35px,0) rotate(-25deg);opacity:0}8%{opacity:.8}45%{transform:translate3d(-14px,47vh,0) rotate(160deg);opacity:.7}90%{opacity:.75}100%{transform:translate3d(35px,110vh,0) rotate(340deg);opacity:0}}@keyframes rose-glow{from{opacity:.55;transform:scale(.9)}to{opacity:1;transform:scale(1.2)}}@media(prefers-reduced-motion:reduce){.rose-atmosphere{display:block}.rose-atmosphere:after,.rose-atmosphere:before{animation:none}.rose-atmosphere i{animation:none;opacity:.65;top:20%;transform:rotate(35deg)}.rose-atmosphere i:nth-child(2){top:65%;transform:rotate(110deg)}.rose-atmosphere i:nth-child(3){top:38%;transform:rotate(60deg)}.rose-atmosphere i:nth-child(4){top:82%;transform:rotate(-35deg)}.rose-atmosphere i:nth-child(5){top:55%;transform:rotate(120deg)}.rose-atmosphere i:nth-child(6){top:13%;transform:rotate(20deg)}}.rose-atmosphere i{animation-duration:15s;animation-delay:-2s}.rose-atmosphere i:nth-child(2){animation-duration:18s;animation-delay:-9s}.rose-atmosphere i:nth-child(3){animation-duration:17s;animation-delay:-5s}.rose-atmosphere i:nth-child(4){animation-duration:20s;animation-delay:-13s}.rose-atmosphere i:nth-child(5){animation-duration:16s;animation-delay:-7s}.rose-atmosphere i:nth-child(6){animation-duration:19s;animation-delay:-15s}.rose-atmosphere i:nth-child(7){left:17%;width:12px;height:19px;animation-duration:17s;animation-delay:-11s}.rose-atmosphere i:nth-child(8){left:37%;width:14px;height:22px;animation-duration:21s;animation-delay:-3s}.rose-atmosphere i:nth-child(9){left:58%;width:11px;height:18px;animation-duration:16s;animation-delay:-13s}.rose-atmosphere i:nth-child(10){left:75%;width:13px;height:20px;animation-duration:18s;animation-delay:-5s}.rose-atmosphere i:nth-child(11){left:5%;width:10px;height:17px;animation-duration:20s;animation-delay:-16s}.rose-atmosphere i:nth-child(12){left:91%;width:14px;height:22px;animation-duration:17s;animation-delay:-8s}@media(prefers-reduced-motion:reduce){.rose-atmosphere i{animation:none}.rose-atmosphere i:nth-child(n+7){display:none}}.btn,.text-link,.topbar nav>a,footer .socials>a{font-family:'Yu Mincho','Hiragino Mincho ProN','Hiragino Mincho Pro','Noto Serif JP',serif!important;font-weight:500!important;letter-spacing:.1em;position:relative;display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:58px;padding:16px 26px;background:linear-gradient(120deg,#21151c,#32131f);border:2px solid #ed536c;border-radius:60px;color:#fff0eb;box-shadow:0 5px 0 #760f2b,0 8px 18px #0004;text-shadow:1px 1px 0 #5e152a;text-decoration:none;isolation:isolate;transition:transform .18s,box-shadow .18s,background .18s}.btn:before,.text-link:before,.topbar nav>a:before,footer .socials>a:before{content:'';position:static;display:block;flex:none;width:27px;height:29px;background:url('../img/rose-mark.svg') center/contain no-repeat;pointer-events:none}.btn:hover,.text-link:hover,.topbar nav>a:hover,footer .socials>a:hover{color:#fff5ef;background:linear-gradient(120deg,#3b1728,#4c1229)!important;border-color:#ff8396;box-shadow:0 6px 0 #760f2b,0 0 20px #d8244933;transform:translateY(-1px)}.btn:active,.text-link:active,.topbar nav>a:active,footer .socials>a:active{transform:translateY(4px);box-shadow:0 1px 0 #760f2b,0 0 17px #e42f4e44}.topbar nav>a{min-height:40px;padding:9px 15px;gap:10px;font-size:12px;background:#20101de8}.topbar nav>a:before{width:17px;height:19px}.topbar nav>a.nav-recruit{background:#32131f!important;border-color:#ed536c!important}footer .socials>a{display:flex;gap:12px;border-radius:50px;padding:16px;min-height:65px;min-width:0}footer .socials>a:before{width:24px;height:26px}footer .socials>a>svg{display:none}footer .social-label{font-family:inherit;font-size:13px;font-weight:500;letter-spacing:.05em}.social-label small{letter-spacing:0}.social-arrow{position:static;margin-left:auto;color:#f5cbd0}.bottom-nav .nav-en,.bottom-nav .nav-ja,.mobile-menu a{font-family:'Yu Mincho','Hiragino Mincho ProN',serif}.bottom-nav a{border-radius:30px}.bottom-nav a[aria-current="page"]{border-color:#ed536c;box-shadow:0 3px 0 #760f2b}.cast-list-action .btn{min-width:245px}.btn>span,.text-link>span{color:#f9cbd2}@media(max-width:700px){.btn,.text-link{min-height:56px;padding:15px 22px;gap:22px;font-size:13px}.btn:before,.text-link:before{width:25px;height:27px}.cast-list-action .btn{min-width:230px}footer .socials>a{display:flex;flex-direction:column;justify-content:center;gap:8px;border-radius:24px;padding:15px 8px;min-height:105px}footer .socials>a:before{width:25px;height:27px}.social-arrow{position:absolute;top:10px;right:10px;font-size:12px}footer .social-label{font-size:12px}}@media(prefers-reduced-motion:reduce){.btn,.text-link,.topbar nav>a,footer .socials>a{transition:none}}.thorn-divider{width:100%;height:42px;flex:none;position:relative;background:url('../img/ibara-divider.svg') center/320px 42px repeat-x;pointer-events:none;opacity:.9;margin:0;clear:both}.page-banner:after,.ribbon:after,footer:before{display:none!important}.page-banner,.ribbon,footer{border-top:0;border-bottom:0}.page-content>.thorn-divider{margin:40px 0 25px}.thorn-divider+footer{border-top:0}.thorn-divider+.section{padding-top:65px}@media(max-width:700px){.thorn-divider{height:34px;background-size:260px 34px}.thorn-divider+.section{padding-top:45px}.page-content>.thorn-divider{margin:30px 0 20px}}.section:not(.hero),.thorn-divider+.section{padding-top:72px;padding-bottom:72px}.section:not(.hero)>:first-child{margin-top:0}.section:not(.hero)>:last-child{margin-bottom:0}@media(max-width:700px){.section:not(.hero),.thorn-divider+.section{padding-top:45px;padding-bottom:45px}}.section:not(.hero),.thorn-divider+.section{padding-top:90px;padding-bottom:90px}.inner-page .page-content{padding-top:75px;padding-bottom:75px}@media(max-width:700px){.section:not(.hero),.thorn-divider+.section{padding-top:60px;padding-bottom:60px}.inner-page .page-content{padding-top:55px;padding-bottom:55px}}#access>div.reveal{width:100%;max-width:860px;margin-inline:auto}#access .access-map-action{display:flex;justify-content:center;margin-top:28px}footer .footer-top{display:flex;flex-direction:column;align-items:center;gap:0}footer .footer-top>.brand{position:relative;display:block;width:max-content;margin:0 auto 36px;min-height:65px;align-content:center}footer .footer-top>.brand>span{display:block;text-align:center}footer .footer-top>.brand>img{position:absolute;right:calc(100% + 15px);top:50%;transform:translateY(-50%);margin:0}footer .footer-top>.socials{width:100%}@media(max-width:700px){footer .footer-top>.brand{min-height:48px;margin-bottom:32px}footer .footer-top>.brand>img{right:calc(100% + 12px)}}:root{--ibara-type:"Yu Mincho","Hiragino Mincho ProN","Hiragino Mincho Pro","Noto Serif JP",serif}body,body *{font-family:var(--ibara-type)!important}.footer-sns-title{text-align:center;font-size:12px;letter-spacing:.18em;margin:0 0 36px}body .numbered-title{font-size:12px!important;font-weight:500!important;line-height:1.8!important;letter-spacing:.18em!important;text-align:center}body{background-color:#0e0b0e;background-image:radial-gradient(#8f25351a .65px,transparent .65px)}footer{background:#120b11}.btn,.text-link,.topbar nav>a,footer .socials>a{background:linear-gradient(120deg,#1b1119,#30101e);border-color:#d74460;box-shadow:0 4px 0 #650e27,0 10px 24px #0003}.btn:hover,.text-link:hover,footer .socials>a:hover{border-color:#ec647a;box-shadow:0 4px 0 #650e27,0 0 20px #ad213126}.rose-atmosphere{background:radial-gradient(ellipse at 98% 25%,#bd18351a,transparent 42%),radial-gradient(ellipse at 2% 80%,#a5133012,transparent 40%)}.rose-atmosphere:after,.rose-atmosphere:before{background:radial-gradient(ellipse,#d623401b,transparent 70%)}.rose-atmosphere i{--sway:18px;--petal-opacity:.58;animation-name:refined-petal;animation-duration:22s;background:linear-gradient(135deg,#df4860,#a31533 55%,#530d25);filter:none;box-shadow:inset 1px 1px 1px #ee738033}.rose-atmosphere i:nth-child(1){left:3%;width:12px;height:19px;animation-duration:20s}.rose-atmosphere i:nth-child(2){left:96%;width:9px;height:15px;animation-duration:26s}.rose-atmosphere i:nth-child(3){left:36%;width:10px;height:16px;animation-duration:23s;--sway:-26px;--petal-opacity:.45}.rose-atmosphere i:nth-child(4){left:91%;width:13px;height:20px;animation-duration:29s}.rose-atmosphere i:nth-child(5){left:97%;width:15px;height:23px;animation-duration:21s;--sway:-20px}.rose-atmosphere i:nth-child(6){left:2%;width:8px;height:13px;animation-duration:27s}.rose-atmosphere i:nth-child(7){left:24%;width:11px;height:17px;animation-duration:25s;--petal-opacity:.46}.rose-atmosphere i:nth-child(8){left:65%;width:12px;height:18px;animation-duration:28s;--petal-opacity:.46}.rose-atmosphere i:nth-child(9){left:51%;width:10px;height:16px;animation-duration:24s;--petal-opacity:.42}.rose-atmosphere i:nth-child(10){left:77%;width:11px;height:18px;animation-duration:22s;--petal-opacity:.46}.rose-atmosphere i:nth-child(11){left:5%;width:10px;height:16px;animation-duration:26s}.rose-atmosphere i:nth-child(12){left:94%;width:12px;height:19px;animation-duration:23s;--sway:-18px}@keyframes refined-petal{0%{transform:translate3d(0,-35px,0) rotate(-25deg);opacity:0}10%{opacity:var(--petal-opacity)}50%{transform:translate3d(var(--sway),50vh,0) rotate(130deg)}88%{opacity:var(--petal-opacity)}100%{transform:translate3d(0,110vh,0) rotate(310deg);opacity:0}}@media(prefers-reduced-motion:reduce){.rose-atmosphere i{display:none}.rose-atmosphere:after,.rose-atmosphere:before{animation:none}}.thorn-await::after{clip-path:inset(0 100% 0 0)}.thorn-await.thorn-arrived{animation:1.35s ease-out .1s both title-arrive}.thorn-await.thorn-arrived::after{animation:2s ease-out 1s both thorn-unfurl}@keyframes title-arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes thorn-unfurl{to{clip-path:inset(0 0 0 0)}}.button-glint{position:absolute!important;inset:-2px;width:calc(100% + 2px)!important;height:calc(100% + 2px)!important;overflow:visible;pointer-events:none;display:block!important;border-radius:inherit;opacity:0}.button-glint rect{width:calc(100% - 2px);height:calc(100% - 2px);fill:none;stroke:#ffacb6;stroke-width:2;stroke-dasharray:12 88;stroke-linecap:round;filter:drop-shadow(0 0 3px #ff254d)}.glint-running>.button-glint{animation:.75s ease-out glint-visibility}.glint-running>.button-glint rect{animation:.75s linear glint-orbit}@keyframes glint-orbit{from{stroke-dashoffset:0}to{stroke-dashoffset:-100}}@keyframes glint-visibility{0%,100%{opacity:0}15%,80%{opacity:1}}.bottom-nav a.is-current{background:linear-gradient(145deg,#74132c,#290d1c);border-color:#d04b65;color:#fff0ed;box-shadow:inset 0 0 18px #b8203a33,0 0 16px #b8203a30}.bottom-nav a.is-current:after{content:'';position:absolute;top:auto;bottom:3px;left:15%;right:15%;width:70%;height:9px;background:url('../img/ibara-divider.svg') center/100% auto no-repeat;opacity:.9}.bottom-nav a.is-current:before{content:'';position:absolute;left:28%;right:28%;top:-1px;height:2px;background:#f0657f;box-shadow:0 0 8px #ef365e}.bottom-nav a.is-current .nav-ja{margin-bottom:5px}@media(max-width:700px){.bottom-nav a.is-current:after{height:7px;bottom:2px}}@media(prefers-reduced-motion:reduce){.thorn-await::after{clip-path:none}.glint-running>.button-glint,.glint-running>.button-glint rect,.thorn-await.thorn-arrived,.thorn-await.thorn-arrived::after{animation:none}.button-glint{display:none!important}}body{background-color:#0e0b0f;background-image:repeating-linear-gradient(98deg,#f6cfdf03 0,#f6cfdf03 1px,transparent 1px,transparent 4px),radial-gradient(ellipse at 48% 30%,#09090d90 0,transparent 58%),linear-gradient(108deg,#100c1100 4%,#4b192422 15%,#09090c55 26%,#33131e25 42%,#0c0b1080 56%,#3d14232b 76%,#08090b55 91%);background-size:4px 6px,100% 100%,100% 1100px}footer{background-color:#100b11;background-image:repeating-linear-gradient(98deg,#f6cfdf03 0,#f6cfdf03 1px,transparent 1px,transparent 4px),radial-gradient(ellipse at 50% 5%,#4b13252b,transparent 65%),linear-gradient(108deg,#0a090d55,#2c101c25 38%,#09090d55 75%);background-size:4px 6px,100% 100%,100% 100%}.topbar>.brand>img,footer .footer-top>.brand>img{filter:drop-shadow(0 0 7px #ba173753) drop-shadow(0 0 18px #7b0d293b)}.brand .brand-wordmark{display:inline-block;font-size:inherit;letter-spacing:inherit;font-weight:500;font-style:normal;color:#f1edef;text-shadow:0 1px 1px #050509,0 0 15px #d7ced320}@supports(background-clip:text){.brand .brand-wordmark{background:linear-gradient(180deg,#fffdfc 9%,#e4dce2 40%,#bcb2bc 52%,#f5edef 65%,#d5c6d1 100%);background-clip:text;-webkit-background-clip:text;color:transparent;text-shadow:none}}@keyframes portrait-welcome{from{box-shadow:0 -8px 34px #e3396966}to{box-shadow:0 -7px 26px #c6254b2b}}.story-epilogue{position:relative;text-align:center;margin:0 auto 48px;padding:28px 15px 36px;max-width:640px}.story-epilogue p{font-size:clamp(14px,1.5vw,19px);font-weight:500;letter-spacing:.16em;line-height:2.2;color:#e7cbd4;text-shadow:0 2px 0 #491226;margin:0;text-wrap:balance}.story-epilogue:after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:min(210px,65%);height:24px;background:url('../img/thorn-title.svg') center/100% 100% no-repeat;opacity:.7}@media(max-width:700px){.story-epilogue{padding:22px 0 33px;margin-bottom:36px}.story-epilogue p{font-size:14px;letter-spacing:.1em}.topbar>.brand>img,footer .footer-top>.brand>img{filter:drop-shadow(0 0 6px #ba173753) drop-shadow(0 0 13px #7b0d293b)}}@media(forced-colors:active){.brand .brand-wordmark{background:none;color:CanvasText}}.js .reveal{transition-duration:1.2s}@media(prefers-reduced-motion:reduce){.js .reveal{transition:none}}body .numbered-title{display:flex;align-items:center;justify-content:center;gap:16px}body .numbered-title:after,body .numbered-title:before{content:'';display:block;position:static;flex:0 1 62px;width:62px;height:1px;background:linear-gradient(90deg,transparent,#a9415b);pointer-events:none}body .numbered-title:after{transform:rotate(180deg)}.plan-ornaments{position:absolute;inset:12px;pointer-events:none;z-index:0}.plan-ornaments:after,.plan-ornaments:before{content:'';position:absolute;width:27px;height:27px;background:url('../img/thorn-corner.svg') center/contain no-repeat;opacity:.75}.plan-ornaments:before{left:0;top:0}.plan-ornaments:after{right:0;bottom:0;transform:rotate(180deg)}#system>.invitation-detail{position:relative;border:1px solid #994058;border-radius:22px;padding:32px 34px;margin:0 0 32px;background:radial-gradient(ellipse at 100% 0,#4e16283b,transparent 65%),#191017;box-shadow:0 5px 0 #390c1d}#system .invitation-detail table{border:0;background:0 0;border-radius:0;margin:0 0 16px}#system .invitation-detail caption{padding:0 0 18px;margin:0;font-size:24px;color:#f5e5e9}#system .invitation-detail td,#system .invitation-detail th{padding:20px 0 8px;border-top:1px solid #77304770;border-bottom:0}#system .invitation-detail th{font-size:14px;color:#d1afb9}#system .invitation-detail td{text-align:right;white-space:nowrap}#system .invitation-detail .system_item_price{font-size:36px;letter-spacing:.02em;color:#f35d76;font-variant-numeric:lining-nums tabular-nums}#system .invitation-detail>p{font-size:12px;line-height:1.9;color:#d1afb9;margin:0}@media(max-width:700px){body .numbered-title{gap:12px}body .numbered-title:after,body .numbered-title:before{flex-basis:42px;width:42px}#system>.invitation-detail{padding:30px 24px}#system .invitation-detail caption{font-size:22px}#system .invitation-detail th{font-size:12px}#system .invitation-detail .system_item_price{font-size:29px}}html::after{content:'';position:fixed;inset:0;z-index:10000;background:#09070b;opacity:0;pointer-events:none;transition:opacity .18s ease-in}html.page-arriving::after,html.page-leaving::after{opacity:1}html.page-revealing::after{opacity:0;transition:opacity .48s ease-out}@media(prefers-reduced-motion:reduce){html::after{display:none;transition:none}}@keyframes hero-image-emerge{from{opacity:0}to{opacity:1}}@keyframes hero-copy-emerge{from{opacity:0}to{opacity:1}}@keyframes hero-thorn-emerge{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}html.page-inactive .rose-atmosphere i,html.page-inactive .rose-atmosphere::after,html.page-inactive .rose-atmosphere::before{animation-play-state:paused}