body.lp-tour{
  --ink:#2b2a27;
  --ink-2:#55524c;
  --red:#d7262f;
  --paper:#fbf8f1;
  --card:rgba(255,253,248,.96);
  --line:rgba(43,42,39,.12);
}
html{-webkit-text-size-adjust:100%}
body.lp-tour{margin:0;background:var(--paper);overflow-x:hidden}
.lpc{color:var(--ink);font-family:"Noto Sans JP",system-ui,-apple-system,"Hiragino Sans",sans-serif;font-size:16px;font-weight:500;line-height:1.9;letter-spacing:.04em}
.lpc h2,.lpc p{text-wrap:wrap}
.hero.intro{display:block;color:inherit;align-items:normal}
.hero.intro::before{content:none}
h1,h2,p{margin:0}
#stage,#veil{display:none}

.intro{padding:72px 20px 40px}
.intro-in{max-width:920px;margin:0 auto}
.kicker{font-family:Outfit,sans-serif;font-weight:700;font-size:13px;letter-spacing:.22em;color:var(--red)}
h1{font-size:clamp(34px,6vw,56px);font-weight:900;letter-spacing:.06em;line-height:1.3;margin-top:10px}
.lead{margin-top:20px;font-size:clamp(15px,1.5vw,17px);line-height:2;font-feature-settings:"palt"}

.chapter{max-width:960px;margin:0 auto;padding:56px 20px}
.card{max-width:520px}
.num{font-family:Outfit,"Noto Sans JP",sans-serif;font-weight:700;font-size:14px;letter-spacing:.2em;color:var(--red)}
.num span{display:inline-block;min-width:2.4em;padding:2px 10px;border-radius:999px;background:var(--red);color:#fff;text-align:center;letter-spacing:.1em}
.card h2{font-size:clamp(30px,4.6vw,48px);font-weight:900;letter-spacing:.08em;line-height:1.35;margin-top:10px}
.card p:last-child{margin-top:14px;font-size:clamp(15px,1.4vw,16px);line-height:2;font-feature-settings:"palt"}
.still{margin:24px 0 0}
.still img{display:block;width:100%;height:auto;border-radius:18px;background:#efe9dc}
.next{max-width:960px;margin:40px auto 0;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;color:var(--ink-2);font-size:14px}
.next-n{font-family:Outfit,sans-serif;font-weight:700;color:var(--red)}
.next-t{font-weight:900;font-size:20px;color:var(--ink)}

html.go body{background:#f4efe4}
html.go #stage{display:block;position:fixed;inset:0;width:100%;height:100%;z-index:0;touch-action:pan-y;-webkit-tap-highlight-color:transparent}
html.go #veil{display:block;position:fixed;inset:0;z-index:1;pointer-events:none;background:radial-gradient(circle at 50% 50%,#fffefa 0%,#fffaf0 60%,#fbf3e2 100%);opacity:0}
html.go .intro,html.go main{position:relative;z-index:3;pointer-events:none}
html.go .intro{min-height:100vh;min-height:100svh;padding:0;display:flex;align-items:center}
html.go .lead{max-width:25em;text-shadow:0 0 18px rgba(255,252,244,.95),0 0 4px rgba(255,252,244,.9)}
html.go h1{text-shadow:0 0 22px rgba(255,252,244,.9)}
html.go .chapter{max-width:none;margin:0;padding:0}
html.go #s0{height:200vh}
html.go #s1{height:230vh}
html.go #s2{height:130vh}
html.go #s3{height:230vh}
html.go #s4{height:300vh}
html.go #s5{height:45vh}
.chapter.back{display:none}
html.go .chapter.back{display:block}
html.live .more.guide .more-guide{visibility:hidden}
html:not(.go) .more{max-width:none;padding:calc(56.25vw - 140px) 20px 64px;background:#f1f1f1 url(../img/honsha_bg.webp) center top/100% auto no-repeat}
@media (max-width:767px){
  html:not(.go) .more{padding-top:300px;background-size:auto 360px;background-position:72% top}
}
html:not(.go) .more-in{max-width:1240px;margin:0 auto;padding:56px clamp(18px,3vw,40px) 56px;background:rgba(241,241,241,.96);border-radius:28px;box-shadow:0 18px 50px -24px rgba(80,60,30,.35)}
html.go .still{display:none}
html.go .card{position:fixed;left:clamp(20px,6vw,96px);top:50%;transform:translateY(-50%);width:min(420px,40vw);padding:30px 32px 32px;border-radius:26px;background:var(--card);box-shadow:0 18px 50px -24px rgba(80,60,30,.35);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;visibility:hidden;pointer-events:auto}
html.go .card.on{visibility:visible}
html.go .card h2{font-size:clamp(34px,4vw,52px)}
html.go .next{position:fixed;right:clamp(20px,5vw,72px);bottom:clamp(24px,6vh,56px);margin:0;padding:12px 20px;border-radius:999px;background:var(--card);opacity:0;visibility:hidden;pointer-events:none}
html.go .next.on{visibility:visible}

@media (max-width:767px){
  html.go h1{font-size:34px}
  html.go .lead{font-size:15px;line-height:1.85;margin-top:12px}
  html.go .card{left:12px;right:12px;top:auto;bottom:calc(12px + env(safe-area-inset-bottom));transform:none;width:auto;padding:20px 20px 22px;border-radius:22px}
  html.go .card h2{font-size:32px;margin-top:4px}
  html.go .card p:last-child{margin-top:8px;font-size:14px;line-height:1.85}
  html.go .next{left:12px;right:auto;top:calc(16px + env(safe-area-inset-top));bottom:auto;font-size:12px;padding:8px 14px}
  html.go .next-t{font-size:16px}
}
@media (min-width:768px){
  html.go .chapter.r .card{left:auto;right:clamp(20px,6vw,96px)}
}

.closing-line{font-size:clamp(22px,2.6vw,32px);font-weight:900;line-height:1.6;letter-spacing:.06em;word-break:auto-phrase;line-break:strict}
.closing-line span{display:inline-block}
.chapter .card.closing{margin-top:28px}
.more{max-width:1400px;margin:0 auto;padding:56px 18px 96px}
.more-in{position:relative}
.more-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;margin-bottom:46px}
.more-badge{display:inline-flex;align-items:center;padding:7px 15px;background:#fff;border-radius:999px;font-family:Outfit,sans-serif;font-size:11px;letter-spacing:.2em;font-weight:700;color:#bf0007}
.more h2{margin:0;font-size:34px;line-height:1.4;letter-spacing:-.015em;font-weight:700;color:#0f0f0f;max-width:620px;word-break:auto-phrase;overflow-wrap:anywhere}
.more-lead{margin:0;max-width:760px;font-size:15px;line-height:2.05;color:#4a4a4a;word-break:auto-phrase}
.more-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.more-card{display:flex;flex-direction:column;gap:14px;padding:16px 16px 26px;background:#fff;border:1px solid rgba(15,15,15,.06);border-radius:30px;color:#0f0f0f;text-decoration:none;transition:transform .45s cubic-bezier(.34,1.4,.64,1),border-color .3s}
.more-card:hover{transform:translateY(-6px);border-color:rgba(15,15,15,.14)}
.more-card:focus-visible{outline:3px solid #bf0007;outline-offset:3px}
.more-card__img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;display:block;border-radius:20px;filter:saturate(1.02) brightness(1.04)}
.more-card__en{font-family:Outfit,sans-serif;font-size:12.5px;font-weight:700;letter-spacing:.16em;color:#bf0007;padding:0 8px}
.more-card__title{font-size:20px;font-weight:700;line-height:1.55;padding:0 8px}
.more-card__text{font-size:14px;line-height:1.9;color:#5a5a5a;padding:0 8px}
.more-guide{display:none}
html.go .more-in{position:sticky;top:50vh;top:50svh}
.more.guide .more-guide{display:block;position:absolute;left:max(24px,calc((100% - 1240px) / 2 + 24px));top:-128px;width:150px;height:auto;filter:drop-shadow(0 10px 10px rgba(80,60,30,.25))}
@media (max-width:1180px){
  .more h2{font-size:30px}
  .more-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:768px){
  .more-head{margin-bottom:28px}
  .more h2{font-size:24px;max-width:none}
  .more-lead{font-size:14px;line-height:2;word-break:normal}
  .more-grid{grid-template-columns:1fr}
  .more-card{border-radius:24px}
  .more-card__title{font-size:18px}
  .more.guide .more-guide{width:78px;top:-46px;left:auto;right:14px}
}
html.go .card.closing .closing-line{font-size:clamp(26px,3vw,40px);text-shadow:0 0 22px rgba(255,252,244,.95),0 0 6px rgba(255,252,244,.9)}
html.go .more{position:relative;z-index:3;max-width:none;margin:0;padding:4vh 0 0;pointer-events:none}
html.go .more-in{pointer-events:auto;max-width:none;margin:0;padding:56px max(clamp(18px,3vw,40px),calc((100% - 1240px) / 2)) 96px;background:#f1f1f1;border-radius:28px 28px 0 0;box-shadow:0 -20px 60px -30px rgba(80,60,30,.35)}
@media (max-width:767px){
  html.go .card.closing{left:16px;right:16px;top:calc(18px + env(safe-area-inset-top));bottom:auto;width:auto}
  html.go .card.closing .closing-line{font-size:24px}
  html.go .more{padding-top:6vh}
  html.go .more-in{padding:40px 18px 48px}
}
@media (min-width:768px){
  html.go .card.top{top:clamp(16px,4vh,40px)}
}
@media (max-width:767px){
  html.go .card.top{top:calc(10px + env(safe-area-inset-top));bottom:auto}
}
@media (min-width:768px){
  html.go .card.top.mid{left:calc(50% - min(340px, 30vw));right:auto;width:min(680px,60vw)}
}
@media (min-width:768px) and (max-aspect-ratio:3/2){
  html.go .card.top.mid{left:calc(50% - min(340px, 30vw))}
}
.s-cue{position:fixed;left:50%;bottom:calc(22px + env(safe-area-inset-bottom));z-index:60;display:flex;flex-direction:column;align-items:center;gap:4px;width:112px;padding:9px 0 7px;border-radius:999px;background:#fff;box-shadow:0 6px 18px -6px rgba(40,30,20,.35),0 1px 3px rgba(40,30,20,.12);font-family:Outfit,sans-serif;font-size:15px;font-weight:700;line-height:1;letter-spacing:.24em;text-indent:.24em;color:#222;transform:translateX(-50%);opacity:0;pointer-events:none;transition:opacity .4s ease}
.s-cue::after{content:"";width:9px;height:9px;margin-top:-2px;border-right:2.5px solid #bf0007;border-bottom:2.5px solid #bf0007;transform:rotate(45deg);animation:s-cue-bob 1.6s ease-in-out infinite}
.s-cue.is-on{opacity:1}
@keyframes s-cue-bob{0%,100%{transform:translateY(-2px) rotate(45deg)}50%{transform:translateY(3px) rotate(45deg)}}
@media (prefers-reduced-motion:reduce){
  .s-cue{transition:none}
  .s-cue::after{animation:none}
}
.hero{position:relative;height:100vh;height:100svh;min-height:600px;padding:0;overflow:hidden;background:linear-gradient(180deg,#3d9be9 0%,#8cccf6 48%,#e6f5fe 100%);isolation:isolate}
html.live .hero{background:none}
.hero-sun{position:absolute;right:-8vw;top:-38vh;width:60vw;height:60vw;border-radius:50%;background:radial-gradient(closest-side,rgba(255,250,225,.55),rgba(255,250,225,0));z-index:-1;pointer-events:none}
.hero-big{position:absolute;left:-1vw;bottom:-3.2vw;font-family:Outfit,sans-serif;font-weight:800;font-size:23vw;line-height:.8;letter-spacing:-.02em;color:rgba(255,255,255,.22);white-space:nowrap;z-index:0;user-select:none;pointer-events:none}
.hero .hero-copy{position:absolute;z-index:3;left:clamp(24px,6.5vw,110px);top:50%;transform:translateY(-54%);width:min(520px,40vw);max-width:none;margin:0;padding:0;background:none;box-shadow:none;pointer-events:auto}
.hero .kicker{display:inline-flex;align-items:center;gap:10px;font-family:Outfit,sans-serif;font-weight:700;font-size:13px;letter-spacing:.26em;color:#fff}
.hero .kicker::before{content:"";width:28px;height:2px;background:#fff}
.hero h1{margin-top:18px;font-weight:900;font-size:clamp(48px,6.4vw,96px);line-height:1.04;letter-spacing:-.01em;color:#fff;text-shadow:0 6px 30px rgba(20,60,110,.28);white-space:normal}
.hero h1 span{display:block}
.hero .lead{max-width:none;margin-top:26px;padding:22px 26px;border-radius:20px;background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:15.5px;line-height:1.95;font-weight:500;color:#16202c;text-shadow:none;font-feature-settings:"palt";word-break:auto-phrase;line-break:strict;box-shadow:0 20px 40px -24px rgba(20,60,110,.45)}
.hero-stage{position:absolute;z-index:2;right:clamp(10px,4vw,80px);bottom:8%;width:min(640px,46vw);height:min(80svh,720px);pointer-events:none}
.hero-real{position:absolute;left:9%;bottom:5%;height:82%;width:auto;transform:rotate(-3deg);filter:drop-shadow(0 40px 40px rgba(20,50,90,.32));translate:var(--hpx,0) var(--hpy,0);animation:hero-float 5.4s ease-in-out infinite}
@keyframes hero-float{0%,100%{transform:rotate(-3deg) translateY(0)}50%{transform:rotate(-3deg) translateY(-12px)}}
.hero-bubble{translate:calc(var(--hpx,0) * 1.4) calc(var(--hpy,0) * 1.4)}
.hero-sun{animation:hero-sun 7s ease-in-out infinite}
@keyframes hero-sun{0%,100%{opacity:1}50%{opacity:.62}}
.hero-real-shadow{position:absolute;left:12%;bottom:2%;width:49%;height:28px;border-radius:50%;background:radial-gradient(closest-side,rgba(30,60,100,.35),rgba(30,60,100,0))}
.hero-chara,.hero-slot{position:absolute;right:7%;bottom:0;height:44%;width:auto;aspect-ratio:520/791}
html.live .hero-real{visibility:hidden;animation:none;transform:none}
html.live .hero-slot{right:8%;bottom:7%}
html.live .hero-bubble{right:9%;bottom:52%}
html.live .hero-big,html.live .hero-sun{visibility:hidden}
.hero-chara{transform:rotate(6deg);filter:drop-shadow(0 26px 26px rgba(20,50,90,.32))}
html.live .hero-chara{display:none}
.hero-bubble{position:absolute;right:9%;bottom:46%;padding:12px 18px;border-radius:18px;background:#fff;font-weight:900;font-size:16px;line-height:1.4;white-space:nowrap;color:#16202c;box-shadow:0 14px 28px -14px rgba(20,50,90,.5);animation:hero-bob 3.2s ease-in-out infinite}
.hero-bubble::after{content:"";position:absolute;right:46px;bottom:-9px;width:18px;height:18px;background:#fff;transform:rotate(45deg);border-radius:3px}
@keyframes hero-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@media (max-width:767px){
  .hero{min-height:0}
  .hero-big{font-size:34vw;bottom:-2vw}
  .hero .hero-copy{top:calc(env(safe-area-inset-top) + 72px);transform:none;left:20px;right:20px;width:auto}
  .hero h1{margin-top:12px;font-size:44px}
  .hero .lead{margin-top:14px;padding:14px 16px;border-radius:16px;font-size:13.5px;line-height:1.8}
  .hero-stage{left:0;right:0;bottom:86px;width:auto;height:38svh}
  .hero-real{left:auto;right:12%;height:85%}
  .hero-real-shadow{left:auto;right:17%;width:39%}
  .hero-chara,.hero-slot{left:7%;right:auto;height:56%}
  .hero-chara{transform:rotate(-6deg)}
  html.live .hero-slot{left:7%;right:auto;bottom:3%}
  html.live .hero-bubble{left:5%;right:auto;bottom:62%}
  .hero-bubble{left:5%;right:auto;bottom:58%;font-size:13px;padding:9px 13px;border-radius:14px}
  .hero-bubble::after{left:30px;right:auto}
}
@media (prefers-reduced-motion:reduce){.hero-bubble,.hero-real,.hero-sun{animation:none}}
body.lp-tour .lp-hd{position:fixed;left:0;right:0;top:14px;z-index:70}
body.lp-tour.admin-bar .lp-hd{top:46px}
@media (max-width:782px){body.lp-tour.admin-bar .lp-hd{top:60px}}
body.lp-tour .lp-ft{z-index:3}
html.go .card.top{top:clamp(100px,14vh,120px)}
html.go .card.closing{top:max(21%,110px)}
@media (max-width:767px){
  .hero .hero-copy{top:calc(env(safe-area-inset-top) + 92px)}
  html.go .card.top{top:calc(84px + env(safe-area-inset-top))}
  html.go .card.closing{top:calc(88px + env(safe-area-inset-top))}
  html.go .next{top:calc(84px + env(safe-area-inset-top))}
}
.hero .lead{display:flex;align-items:center;gap:20px}
.hero .lead p{flex:1;min-width:0;margin:0}
.ring{flex:none;display:block;width:96px;height:96px;padding:3px;border-radius:50%;background:linear-gradient(45deg,#fdc830 0%,#f77737 30%,#e1306c 60%,#c13584 80%,#833ab4 100%);box-shadow:0 10px 26px -14px rgba(15,15,15,.4)}
.ring img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover;border:3px solid #fff}
@media (max-width:767px){.hero .lead{gap:14px}.ring{width:70px;height:70px;padding:2.5px}.ring img{border-width:2.5px}}
html.go #s4 .card.closing.say{left:0;top:0;right:auto;bottom:auto;width:max-content;max-width:min(460px,86vw);margin:0;padding:14px 22px 15px;border-radius:20px;background:#fff;box-shadow:0 14px 28px -14px rgba(20,50,90,.5);-webkit-backdrop-filter:none;backdrop-filter:none}
html.go #s4 .card.closing.say::after{content:"";position:absolute;left:50%;bottom:-9px;width:18px;height:18px;margin-left:-9px;background:#fff;transform:rotate(45deg);border-radius:3px}
html.go #s4 .card.closing.say .closing-line{font-size:clamp(22px,2.2vw,30px);line-height:1.45;color:#16202c;text-shadow:none;text-align:center;letter-spacing:.04em}
@media (max-width:767px){
  html.go #s4 .card.closing.say{padding:11px 16px 12px;border-radius:16px}
  html.go #s4 .card.closing.say .closing-line{font-size:20px}
  html.go #s4 .card.closing.say .closing-line span{display:block}
}
html.go .hero .lead{max-width:none}
@media (min-width:768px){
  .hero .hero-copy{transform:translateY(-46%)}
  .hero-stage{height:min(calc(100svh - 190px),720px)}
}
