
/* Higure Gothic — SIL Open Font License 1.1 (subset). Font files embedded as data URIs. */
@font-face{font-family:"Higure Gothic";font-weight:300;font-style:normal;font-display:swap;src:url(fonts/font-01.woff) format("woff")}
@font-face{font-family:"Higure Gothic";font-weight:400;font-style:normal;font-display:swap;src:url(fonts/font-02.woff) format("woff")}
@font-face{font-family:"Higure Gothic";font-weight:500;font-style:normal;font-display:swap;src:url(fonts/font-03.woff) format("woff")}
@font-face{font-family:"Higure Gothic";font-weight:700;font-style:normal;font-display:swap;src:url(fonts/font-04.woff) format("woff")}
@font-face{font-family:"Higure Gothic";font-weight:900;font-style:normal;font-display:swap;src:url(fonts/font-05.woff) format("woff")}
:root{--c1:#f0642c;--c2:#e24d2a;--c3:#c93a24;--tx:#fff;--sf:rgba(255,255,255,.13);--ln:rgba(255,255,255,.42);--mi:"Higure Gothic","Zen Kaku Gothic New",sans-serif;--tint:#d9482a;--tintfv:#ff9c5e;--go:"Higure Gothic","Zen Kaku Gothic New",sans-serif;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--c1:#d9552a;--c2:#c2412a;--c3:#a1301f;--tint:#b23a22;--tintfv:#e8864f}}
:root[data-theme="dark"]{--c1:#d9552a;--c2:#c2412a;--c3:#a1301f;--tint:#b23a22;--tintfv:#e8864f}
html{--img:url("images/image-01.jpg")}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:70px}
body{margin:0;color:var(--tx);font-family:var(--go);font-weight:300;line-height:2.1;overflow-x:hidden;background:linear-gradient(180deg,var(--c1),var(--c2) 40%,var(--c3))}
body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:var(--img) 50% 45%/cover var(--tint);background-blend-mode:multiply}
body::after{content:"";position:fixed;inset:0;z-index:60;pointer-events:none;opacity:.16;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .7 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
a{color:inherit}main,footer,nav{position:relative;z-index:1}
.bn{position:sticky;top:0;z-index:40;display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;padding:10px 20px;padding-top:calc(10px + env(safe-area-inset-top,0px));background:rgba(214,72,38,.55);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--ln)}
.bn .lg{margin-right:auto;text-decoration:none;font-family:var(--mi);letter-spacing:.2em;font-size:.9rem;font-weight:500}
.bn a.p{display:flex;flex-direction:column;line-height:1.35;text-decoration:none;padding:6px 18px;border:1px solid var(--ln);border-radius:4px}
.bn a.p:hover,.bn a.p.cur{background:#fff;color:#d6432a}
.bn small{font-size:.72rem;letter-spacing:.22em}
@media (max-width:640px){.bn .lg{flex:0 0 100%}.bn a.p{flex:1 1 30%;padding:5px 6px;text-align:center}.bn small{font-size:.62rem;letter-spacing:.12em}}
.v{display:none}.v.on{display:block}
/* FV */
.fv{position:relative;min-height:min(100svh,860px);overflow:hidden;display:flex;align-items:flex-end;background:linear-gradient(180deg,rgba(200,52,28,0) 40%,rgba(200,52,28,.72) 100%),var(--img) 50% 58%/cover var(--tintfv);background-blend-mode:normal,multiply}
.fv .in{position:relative;z-index:2;width:100%;max-width:1000px;margin:0 auto;padding:0 28px 60px;display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;text-shadow:0 1px 14px rgba(150,30,10,.35)}
.dt{display:flex;flex-direction:column;align-items:flex-start}
.dt b{display:block;font-family:var(--mi);font-weight:300;font-size:clamp(3rem,11vw,5.2rem);line-height:1.1;margin-left:-.05em}.dt span{display:block;font-family:var(--mi);font-weight:400;font-size:clamp(.78rem,2.6vw,1.05rem);white-space:nowrap}
.tg p{margin:0;font-family:var(--mi);font-weight:400;font-size:clamp(1.4rem,4.4vw,2.3rem);line-height:2.1;letter-spacing:.16em}
/* common */
.sec{position:relative;padding:clamp(60px,10vw,110px) 24px}.w{max-width:900px;margin:0 auto}
.h{font-family:var(--mi);font-weight:400;font-size:clamp(1.5rem,4vw,2rem);letter-spacing:.3em;text-align:center;margin:0 0 1.2em;padding-left:.3em}
.c{text-align:center;max-width:40em;margin:0 auto;font-size:.92rem}
.rv{opacity:0;transform:translateY(18px);transition:opacity .9s,transform .9s}.rv.in{opacity:1;transform:none}
.gh{position:absolute;left:-70px;top:230px;transform:rotate(-90deg);font-family:var(--mi);font-style:italic;font-size:clamp(2rem,6vw,3.6rem);white-space:nowrap;opacity:.13;pointer-events:none}
.sr{display:flex;justify-content:center;gap:clamp(8px,3vw,34px);margin:0 auto}.sr.b{margin-top:8px;padding-left:6%}
.sn{margin:0;width:clamp(64px,15vw,116px);flex:0 0 auto}.sn svg{display:block;width:100%;transform:rotate(var(--r));filter:drop-shadow(0 10px 14px rgba(110,25,5,.3))}
.mq{overflow:hidden;width:100vw;margin:0 0 0 calc(50% - 50vw);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.row{display:flex;width:max-content;padding:8px 0;animation:mq 70s linear infinite}.row.r{animation-direction:reverse;animation-duration:84s;animation-delay:-20s}.row:hover{animation-play-state:paused}
.row .sn{margin-right:clamp(14px,3vw,34px)}
@keyframes mq{to{transform:translateX(-50%)}}
/* midokoro */
.md{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,56px);align-items:center;margin:clamp(56px,9vw,100px) auto 0}.md.rev .pic,.md.rev .pics{order:2}
@media (max-width:760px){.md{grid-template-columns:1fr}.md.rev .pic,.md.rev .pics{order:0}}
.pic,.pics .pic{aspect-ratio:4/5;display:flex;align-items:flex-end;background:linear-gradient(150deg,rgba(255,255,255,.62),rgba(255,206,160,.32));border:1px solid rgba(255,255,255,.55)}
.pics{display:grid;gap:14px}.pics .pic{aspect-ratio:4/3}
.pic b{margin:10px;font-weight:400;font-size:.62rem;letter-spacing:.25em;color:#c8431f;background:#fff;padding:1px 10px}
.pic{overflow:hidden}.pic img,.pho img{display:block;width:100%;height:100%;object-fit:cover}.pic img{object-position:56% 56%}.pho img{aspect-ratio:4/5;height:auto;object-position:50% 58%}
.qs{list-style:none;padding:0;margin:22px auto 0;max-width:640px}.qs li{display:flex;gap:14px;padding:12px 0;border-bottom:1px solid var(--ln);font-size:.92rem}.qs b{font-weight:300;opacity:.85;letter-spacing:.15em;flex:0 0 36px}
.hero-p{position:sticky;top:var(--nh,64px);height:calc(100svh - var(--nh,64px));z-index:0;display:flex;align-items:center;justify-content:center;padding:14px 14px 18px}
.hero-p img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 18px 40px rgba(90,20,5,.45))}
.cue{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);font-size:.66rem;letter-spacing:.4em;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.7)}
.sheet{position:relative;z-index:2;clip-path:inset(0 round 26px 26px 0 0)}
.sheet::before{content:"";position:fixed;inset:0;z-index:-1;background:var(--img) 50% 45%/cover var(--tint);background-blend-mode:multiply}
.pr{list-style:none;padding:0;margin:46px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:44px 30px}
.pr li{position:relative;padding-top:18px;border-top:1px solid var(--ln)}.pr li::before{content:"";position:absolute;top:-4px;left:0;width:7px;height:7px;border-radius:50%;background:#fff}
.pr s{display:block;text-decoration:none;font-size:.68rem;letter-spacing:.3em;opacity:.85}.pr b{display:block;font-weight:500;font-size:1.6rem;line-height:1.4}.pr i{display:block;font-style:normal;font-size:.7rem;letter-spacing:.12em;opacity:.85;margin-bottom:10px}.pr p{margin:0;font-size:.84rem;line-height:1.95}
@media (max-width:1000px){.pr{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.pr{grid-template-columns:1fr}}
html{--s1:url(images/image-02.webp);--s2:url(images/image-03.webp);--s3:url(images/image-04.webp);--s4:url(images/image-05.webp);--s5:url(images/image-06.webp);--s6:url(images/image-07.webp);--s7:url(images/image-08.webp);--s8:url(images/image-09.webp);--s9:url(images/image-10.webp);--s10:url(images/image-11.webp);--s11:url(images/image-12.webp);--s12:url(images/image-13.webp);--s13:url(images/image-14.webp)}
.row{align-items:center}.row .sn{width:auto;height:calc(clamp(96px,15vw,176px)*var(--k,1));aspect-ratio:var(--ar);background:var(--bg) center/contain no-repeat;transform:rotate(var(--r));filter:drop-shadow(0 10px 14px rgba(110,25,5,.3))}
.lab{font-size:.74rem;letter-spacing:.25em;opacity:.9}.md h3{font-family:var(--mi);font-weight:500;font-size:clamp(1.15rem,3vw,1.45rem);line-height:1.6;margin:.2em 0 .6em}
.md p{margin:0 0 1em;font-size:.86rem;line-height:2.1}
.mt{display:grid;grid-template-columns:auto 1fr;gap:2px 16px;margin:14px 0 0;font-size:.72rem;line-height:1.8;opacity:.92}.mt dt{opacity:.8}.mt dd{margin:0}
.more{display:inline-block;margin-top:14px;font-size:.8rem;letter-spacing:.15em;text-decoration:none;border-bottom:1px solid var(--ln);padding-bottom:2px}.more:hover{border-color:#fff}
/* works */
.era{display:flex;align-items:center;gap:14px;margin:34px 0 4px;font-size:.78rem;letter-spacing:.3em}.era hr{flex:1;border:0;border-top:1px solid var(--ln)}
.wk{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-top:16px;text-align:center}
.wk .d{aspect-ratio:1;border-radius:50%;background:rgba(255,255,255,.92);padding:17%;margin:0 auto 8px;max-width:170px}.wk svg{width:100%;height:100%}.wk b{display:block;font-family:var(--mi);font-weight:500}.wk small{display:block;font-size:.76rem;opacity:.9;line-height:1.6}
/* history */
.tl{border-left:1px solid var(--ln);margin:40px 0 0 6px}
.ev{position:relative;padding:0 0 46px 28px}.ev::before{content:"";position:absolute;left:-5px;top:20px;width:9px;height:9px;border-radius:50%;background:#fff}
.yr{font-family:var(--mi);font-weight:500;font-size:clamp(1.5rem,5vw,2.6rem);line-height:1.2}.yr small{font-size:.85rem;margin-left:10px;opacity:.85;font-family:var(--go)}
.ev h3{margin:.2em 0;font-size:1.05rem;font-weight:400}.ev p{margin:0;font-size:.88rem;max-width:36em;opacity:.95}
/* flow */
.flow{display:flex;flex-wrap:wrap;justify-content:center;list-style:none;padding:0;margin:34px 0 0}
.flow li{position:relative;padding:4px 38px 8px 0;text-align:center;min-width:104px}.flow li::after{content:"→";position:absolute;right:10px;top:34px;opacity:.8}.flow li:last-child::after{display:none}
.flow s{display:block;text-decoration:none;font-size:.68rem;letter-spacing:.25em;opacity:.85}.flow b{font-family:var(--mi);font-weight:500;font-size:clamp(1.4rem,4vw,2rem);line-height:1.4}.flow small{display:block;font-size:.72rem;opacity:.85}
.hb{height:6px;margin-top:20px;background:linear-gradient(90deg,#b9aea3,#ffb25a 45%,#ffe9b8 75%,#fff)}
/* glass cards */
.gl{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));margin-top:30px}
.gl>div{background:var(--sf);border:1px solid var(--ln);padding:24px 22px;backdrop-filter:blur(4px)}
.gl q{display:block;font-family:var(--mi);font-weight:500;font-size:1.08rem;line-height:1.8;quotes:none}.gl small{display:block;margin-top:8px;font-size:.8rem;line-height:1.9;opacity:.92}
.gl h3{font-family:var(--mi);font-weight:500;font-size:1.02rem;margin:.2em 0;line-height:1.6}.gl p{margin:.2em 0;font-size:.8rem;line-height:1.9;opacity:.92}.gl .tag{font-size:.64rem;letter-spacing:.3em;opacity:.8}
/* map */
.mp{display:grid;gap:24px;grid-template-columns:1.5fr 1fr;margin-top:26px;align-items:center}@media (max-width:760px){.mp{grid-template-columns:1fr}}
.mp .m{border:1px solid var(--ln);background:#fff3e4}.mp svg{display:block;width:100%;height:auto}
.go{display:inline-block;margin-top:16px;padding:10px 26px;border:1px solid #fff;text-decoration:none;font-size:.82rem;letter-spacing:.15em}.go:hover{background:#fff;color:#d6432a}
/* detail */
.dh{position:relative;overflow:hidden;padding:34px 24px 70px;background:linear-gradient(180deg,rgba(200,52,28,0) 45%,rgba(200,52,28,.6) 100%),var(--img) 50% 30%/cover var(--tintfv);background-blend-mode:normal,multiply;text-shadow:0 1px 14px rgba(150,30,10,.3)}
.dh .in{position:relative;z-index:2;max-width:900px;margin:0 auto}
.crumb{font-size:.75rem;margin-bottom:30px;letter-spacing:.08em}.crumb a{text-decoration:none;border-bottom:1px solid var(--ln)}
.dh .t{font-size:.72rem;letter-spacing:.3em}.dh h1{font-family:var(--mi);font-weight:500;font-size:clamp(1.7rem,6vw,3rem);line-height:1.5;margin:.2em 0 .4em}.dh p{max-width:36em;margin:0;font-size:.9rem}
.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 22px;padding:20px 24px;border:1px solid var(--ln);background:var(--sf);max-width:540px;margin:22px 0 0;font-size:.88rem;line-height:1.9}.kv dt{opacity:.85}.kv dd{margin:0}
.pt{margin-top:18px}.pt>div{display:flex;gap:16px;padding:14px 0;border-bottom:1px solid var(--ln)}.pt i{font-style:normal;font-family:var(--mi);font-weight:500;font-size:1.6rem;flex:0 0 50px;line-height:1.5}.pt b{display:block;font-weight:400}.pt small{display:block;font-size:.84rem;line-height:1.9;opacity:.92}
.two{display:grid;grid-template-columns:1fr 1.2fr;gap:36px;align-items:center}@media (max-width:760px){.two{grid-template-columns:1fr}}
.note{margin-top:28px;padding:20px 24px;border:1px dashed var(--ln);font-size:.88rem}
.pnr{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.pnr a{display:block;padding:18px 24px;border:1px solid var(--ln);background:var(--sf);text-decoration:none}.pnr a:hover{background:#fff;color:#d6432a}.pnr a.n{text-align:right}
.pnr small{display:block;font-size:.64rem;letter-spacing:.3em;opacity:.85}.pnr b{font-family:var(--mi);font-weight:500;font-size:1.05rem}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.chips a{padding:5px 18px;border:1px solid var(--ln);text-decoration:none;font-size:.78rem;letter-spacing:.1em}.chips a:hover{background:#fff;color:#d6432a}
footer{padding:56px clamp(24px,5vw,64px) 64px;font-size:.72rem;line-height:2;border-top:1px solid var(--ln);background:rgba(120,25,8,.25)}footer .w{max-width:1240px;margin:0 auto;display:grid;gap:28px 64px;grid-template-columns:minmax(0,2.5fr) minmax(0,1fr)}.cr{display:grid;grid-template-columns:6.2em 1fr;gap:8px 18px;margin:0;font-size:.78rem;line-height:1.9}.cr dt{opacity:.85}.cr dd{margin:0}.ct{font-size:.78rem;line-height:1.9}.ct b{display:block;margin-bottom:6px}.fl{grid-column:1/-1;margin:6px 0 0}
footer a{text-decoration:none;margin-right:12px;opacity:.9}@media (max-width:760px){footer .w{grid-template-columns:1fr}.cr{grid-template-columns:1fr;gap:0}.cr dd{margin-bottom:10px}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}.rv{opacity:1;transform:none}}

/* Static pages: content remains visible without JavaScript. */
.v{display:block!important}.rv{opacity:1!important;transform:none!important}html{scroll-behavior:smooth}nav.bn{flex-wrap:wrap}
