:root{--sumi: #14110d;--sumi-2: #1d1712;--panel: #211a14;--washi: #ece2d0;--ink: #ece3d4;--ink-dim: #a1948198;--ink-mid: #b6a78f;--shu: #bf3324;--shu-lit: #d64a38;--kin: #b89152;--kin-lit: #e0bd7e;--line: rgba(184,145,82,.22);--line-soft: rgba(184,145,82,.12);--radius: 4px;--maxw: 1140px;--mincho: "Shippori Mincho", "Zen Old Mincho", serif;--gothic: "Zen Kaku Gothic New", system-ui, sans-serif;--shadow: 0 24px 60px -28px rgba(0,0,0,.85)}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--sumi);color:var(--ink);font-family:var(--gothic);font-size:16px;line-height:1.85;letter-spacing:.015em;min-height:100dvh;position:relative;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(1100px 640px at 82% -10%,rgba(191,51,36,.2),transparent 58%),radial-gradient(820px 560px at 8% 108%,rgba(184,145,82,.12),transparent 55%),linear-gradient(180deg,#17120d,var(--sumi))}body:after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 20px}.seal{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:6px;background:var(--shu);color:#fff5ea;font-family:var(--mincho);font-weight:700;font-size:1.1rem;line-height:1;box-shadow:inset 0 0 0 1.5px #fff5ea8c,0 4px 14px -4px #bf332499;letter-spacing:0}.seal.lg{width:60px;height:60px;font-size:1.7rem;border-radius:8px}.site-header{position:sticky;top:0;z-index:40;backdrop-filter:blur(10px);background:linear-gradient(180deg,#14110df0,#14110d99);border-bottom:1px solid var(--line-soft)}.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}.brand{display:flex;align-items:center;gap:12px}.brand .name{font-family:var(--mincho);font-size:1.25rem;letter-spacing:.18em;color:var(--ink)}.nav{display:flex;gap:18px;font-size:.8rem;letter-spacing:.06em;color:var(--ink-dim)}.nav a{position:relative;padding-bottom:2px}.nav a:hover{color:var(--kin-lit)}.hero{position:relative;padding:62px 0 34px}.hero .inner{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}.hero .kicker{display:flex;align-items:center;gap:12px;margin-bottom:20px}.hero .kicker .bar{width:40px;height:1px;background:var(--kin);opacity:.7}.hero .kicker span{font-size:.68rem;letter-spacing:.34em;color:var(--kin);text-transform:uppercase}.hero h1{font-family:var(--mincho);font-weight:700;line-height:1.4;font-size:clamp(2rem,8.5vw,3.6rem);letter-spacing:.05em}.hero h1 .shu{color:var(--shu-lit)}.hero h1 .kin{color:var(--kin-lit)}.hero p{color:var(--ink-mid);margin-top:18px;font-size:.95rem;max-width:30em}.hero .tate{writing-mode:vertical-rl;text-orientation:upright;font-family:var(--mincho);font-size:.82rem;letter-spacing:.5em;color:var(--kin);white-space:nowrap;padding-left:14px;border-left:1px solid var(--line);align-self:center}@media (max-width: 640px){.hero .inner{grid-template-columns:1fr}.hero .tate{display:none}}.section{padding:34px 0}.section-head{display:flex;align-items:baseline;gap:14px;margin-bottom:24px;padding-bottom:12px;border-bottom:1px solid var(--line-soft)}.section-head .num{font-family:var(--mincho);color:var(--shu-lit);font-size:1.1rem;letter-spacing:.1em}.section-head h2{font-family:var(--mincho);font-size:1.4rem;font-weight:700;letter-spacing:.1em}.section-head .en{margin-left:auto;font-size:.64rem;letter-spacing:.28em;color:var(--kin);text-transform:uppercase;align-self:center}.chips{display:flex;flex-wrap:wrap;gap:10px}.chip{font-family:var(--mincho);font-size:.9rem;letter-spacing:.08em;padding:9px 18px;border:1px solid var(--line);border-radius:var(--radius);color:var(--ink-mid);transition:.2s;background:#211a1480}.chip:hover,.chip[aria-current=page]{color:var(--sumi);background:var(--kin);border-color:var(--kin)}.grid{display:grid;grid-template-columns:1fr;gap:20px}@media (min-width: 560px){.grid{grid-template-columns:repeat(2,1fr);gap:22px}}@media (min-width: 900px){.grid{grid-template-columns:repeat(3,1fr);gap:26px}}.card{position:relative;background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius);overflow:hidden;transition:transform .28s,box-shadow .28s,border-color .28s}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--line)}.card .thumb{aspect-ratio:16/10;position:relative;overflow:hidden;display:grid;place-items:center;background:linear-gradient(150deg,#bf33246b,#18120df5),radial-gradient(120% 120% at 82% 0%,rgba(184,145,82,.28),transparent 58%)}.card .thumb:after{content:"";position:absolute;left:16px;right:16px;bottom:14px;height:1px;background:linear-gradient(90deg,transparent,var(--kin),transparent);opacity:.5}.card .thumb img{width:100%;height:100%;object-fit:cover}.card .thumb .ph{font-family:var(--mincho);font-size:1.05rem;color:#ece3d4e6;letter-spacing:.12em;text-align:center;padding:0 20px}.card .idx{position:absolute;top:10px;left:12px;z-index:2;font-family:var(--mincho);color:var(--kin-lit);font-size:.95rem;letter-spacing:.05em;text-shadow:0 1px 4px rgba(0,0,0,.6)}.card .pr{position:absolute;top:11px;right:12px;z-index:2;font-size:.58rem;letter-spacing:.14em;padding:3px 7px;border-radius:3px;background:#00000080;color:var(--ink-dim);border:1px solid var(--line-soft)}.card .body{padding:16px 17px 19px}.card .meta{display:flex;flex-wrap:wrap;gap:9px;font-size:.68rem;color:var(--kin);letter-spacing:.1em;margin-bottom:9px}.card h3{font-family:var(--mincho);font-weight:700;font-size:1.04rem;line-height:1.55;letter-spacing:.03em}.card .desc{margin-top:9px;color:var(--ink-mid);font-size:.83rem;line-height:1.75;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.btn-fanza{display:inline-flex;align-items:center;justify-content:center;gap:9px;width:100%;margin-top:15px;font-family:var(--gothic);font-size:.9rem;font-weight:700;letter-spacing:.05em;padding:12px 18px;border-radius:var(--radius);color:#fff5ea;background:linear-gradient(135deg,var(--shu-lit),var(--shu));border:1px solid rgba(255,245,234,.15);transition:.2s}.btn-fanza:hover{filter:brightness(1.08);transform:translateY(-1px)}.btn-fanza .arw{color:var(--kin-lit)}.work{padding:30px 0 10px}.work .back{font-family:var(--mincho);font-size:.82rem;color:var(--kin);letter-spacing:.08em}.work .stage{margin-top:16px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);aspect-ratio:16/10;display:grid;place-items:center;position:relative;background:linear-gradient(150deg,#bf332470,#18120df7),radial-gradient(120% 120% at 82% 0%,rgba(184,145,82,.3),transparent 58%)}.work .stage .ph{font-family:var(--mincho);font-size:1.25rem;color:#ece3d4e6;letter-spacing:.12em;padding:0 24px;text-align:center}.work h1{font-family:var(--mincho);font-weight:700;font-size:clamp(1.5rem,5.5vw,2.2rem);line-height:1.5;letter-spacing:.04em;margin-top:22px}.work .meta{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px;color:var(--kin);font-size:.8rem;letter-spacing:.1em}.work .lead{margin-top:20px;color:var(--ink);line-height:2.05;font-size:1.02rem}.work .cta{margin-top:28px;max-width:420px}.work .note{margin-top:14px;font-size:.74rem;color:var(--ink-dim)}.work .review-sec{margin-top:32px}.work .review-sec .rh{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--line-soft)}.work .review-sec .rh .mk{font-family:var(--mincho);color:var(--washi);background:var(--shu);width:30px;height:30px;display:grid;place-items:center;font-size:1rem;border-radius:3px}.work .review-sec .rh h2{font-family:var(--mincho);font-size:1.2rem;font-weight:700;letter-spacing:.08em}.work .points{list-style:none;display:grid;gap:16px}.work .points li{display:grid;gap:4px;padding-left:16px;border-left:2px solid var(--kin)}.work .points li b{font-family:var(--mincho);color:var(--kin-lit);font-size:1.02rem;letter-spacing:.06em}.work .points li span{color:var(--ink);line-height:1.9;font-size:.95rem}.work .whom{list-style:none;display:grid;gap:10px}.work .whom li{position:relative;padding-left:24px;color:var(--ink);line-height:1.8}.work .whom li:before{content:"◧";position:absolute;left:0;color:var(--shu-lit)}.site-footer{border-top:1px solid var(--line-soft);margin-top:54px;padding:34px 0 64px;color:var(--ink-dim)}.site-footer .fbrand{display:flex;align-items:center;gap:12px;margin-bottom:16px}.site-footer .fbrand .name{font-family:var(--mincho);letter-spacing:.18em;color:var(--ink-mid)}.site-footer .disc{font-size:.78rem;line-height:2}.site-footer .r18{color:var(--shu-lit);font-weight:700}.agegate{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px;background:#080604f2;backdrop-filter:blur(6px)}.agegate[hidden]{display:none}.agegate .box{max-width:440px;text-align:center;border:1px solid var(--line);background:var(--sumi-2);border-radius:6px;padding:42px 30px;box-shadow:var(--shadow)}.agegate .box .en{font-size:.64rem;letter-spacing:.34em;color:var(--kin);text-transform:uppercase}.agegate .box h2{font-family:var(--mincho);font-size:1.5rem;margin:16px 0 6px;letter-spacing:.08em}.agegate .box p{color:var(--ink-mid);font-size:.86rem}.agegate .acts{display:flex;gap:12px;margin-top:28px}.agegate .acts button{flex:1;font-family:var(--mincho);font-size:1rem;font-weight:700;letter-spacing:.06em;padding:13px 0;border-radius:var(--radius);cursor:pointer;border:1px solid var(--line);transition:.2s}.agegate .yes{color:#fff5ea;background:linear-gradient(135deg,var(--shu-lit),var(--shu))}.agegate .no{color:var(--ink-dim);background:transparent}.agegate .yes:hover{filter:brightness(1.08)}.agegate .no:hover{color:var(--ink)}@media (prefers-reduced-motion: no-preference){.reveal{opacity:0;transform:translateY(16px);filter:blur(3px);animation:sumi .8s cubic-bezier(.2,.7,.2,1) forwards}@keyframes sumi{to{opacity:1;transform:none;filter:blur(0)}}.seal.lg{animation:stamp .6s cubic-bezier(.34,1.56,.5,1) both}@keyframes stamp{0%{transform:scale(1.5) rotate(-8deg);opacity:0}60%{opacity:1}to{transform:none;opacity:1}}}
