
:root{--sumi:#1d1612;--kin:#c9a55c;--kin2:#f0dca6;--shu:#e8452c;--shu2:#b8291b;--sora:#43b4ea;--sora2:#d7f0fb;--fuji:#9d8cf0;--fuji2:#ebe6ff;--yama:#ffc83a;--yama2:#fff4cf;--momo:#ff86a8;--momo2:#ffe6ee;--wakaba:#5cc46c;--wakaba2:#e3f7e1;
--ink:#2a211b;--muted:#6f6258;--line:#ece3d3;--paper:#fff;--washi:#fffaf0;
--maru:"Zen Maru Gothic","Hiragino Maru Gothic ProN",sans-serif;--serif:"Shippori Mincho B1","Hiragino Mincho ProN",serif;--sans:"Zen Kaku Gothic New","Hiragino Sans",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--washi);color:var(--ink);font-family:var(--sans);font-weight:500;line-height:1.85;font-size:16px;-webkit-font-smoothing:antialiased;padding-bottom:78px}
body.nobar{padding-bottom:0}
a{color:inherit}img{max-width:100%;height:auto;display:block}
.wrap{max-width:720px;margin:0 auto;padding:0 18px}
header.top{background:#fff;position:sticky;top:0;z-index:20;box-shadow:0 1px 0 var(--line)}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;height:58px}
.logo{font-family:var(--maru);font-weight:900;font-size:22px;text-decoration:none;color:var(--sumi);line-height:1.15;display:flex;align-items:center;gap:8px}
.logo img{height:40px;width:auto}.logo small{display:block;font-size:10px;color:var(--shu2);font-weight:700;letter-spacing:.06em}
.navlink{white-space:nowrap;font-size:14px;font-weight:900;font-family:var(--maru);text-decoration:none;color:#fff;background:var(--shu);border-radius:999px;padding:8px 16px;box-shadow:0 3px 0 var(--shu2)}
.gnav{background:#fff;border-bottom:1px solid var(--line)}.gnav .wrap{display:flex;gap:6px;padding-bottom:8px}
.gnav a{flex:1;text-align:center;text-decoration:none;font-family:var(--maru);font-size:14px;font-weight:900;color:var(--ink);padding:7px 2px;border-radius:999px;background:var(--washi);border:2px solid var(--line)}
.gnav a:nth-child(1).on{background:var(--sora);border-color:var(--sora);color:#fff}.gnav a:nth-child(2).on{background:var(--shu);border-color:var(--shu);color:#fff}.gnav a:nth-child(3).on{background:var(--wakaba);border-color:var(--wakaba);color:#fff}
/* hero */
.hero{position:relative;overflow:hidden;background:var(--sora);color:#fff}
.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 20%,rgba(255,255,255,.35) 0 2px,transparent 3px) 0 0/38px 38px;opacity:.6;pointer-events:none}
.hero .wrap{position:relative}
.big-year{font-family:var(--maru);font-weight:900;font-size:clamp(84px,27vw,150px);line-height:.9;letter-spacing:-.02em;color:#fff;margin:22px 0 0;text-shadow:0 5px 0 rgba(0,0,0,.08)}
.big-year span{font-size:.24em;letter-spacing:.06em;display:inline-block;vertical-align:top;margin-top:.5em;background:var(--yama);color:var(--sumi);border-radius:8px;padding:2px 10px;line-height:1.3;transform:rotate(-4deg)}
.hero-top{display:grid;grid-template-columns:1fr 128px;gap:10px;align-items:end}
.arch{position:relative;width:128px;height:170px;border-radius:64px 64px 14px 14px;overflow:hidden;border:4px solid #fff;box-shadow:0 6px 0 rgba(0,0,0,.08);background:#fff}
.arch img{width:100%;height:100%;object-fit:cover;object-position:50% 15%}
.arch-cap{font-size:11px;font-weight:900;text-align:center;margin-top:4px;font-family:var(--maru)}
.hero h1{font-family:var(--maru);font-weight:900;font-size:clamp(26px,7.4vw,40px);line-height:1.4;margin:14px 0 8px}
.hero h1 em{font-style:normal;color:var(--sumi);background:var(--yama);padding:0 6px;border-radius:6px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.hero p.sub{margin:0 0 14px;font-size:14px;font-weight:700}
.hero-cat{position:absolute;right:6px;top:118px;width:92px;transform:rotate(6deg);filter:drop-shadow(0 4px 0 rgba(0,0,0,.12))}
.creds{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 18px}
.cred{background:#fff;color:var(--sumi);border-radius:999px;padding:4px 12px;font-size:12px;font-weight:700}.cred b{font-family:var(--maru);font-weight:900;color:var(--shu2);margin-right:4px;font-size:14px}
/* form */
.form{text-align:left;background:#fff;color:var(--ink);padding:20px 18px;border-radius:22px;box-shadow:0 8px 0 rgba(0,0,0,.08)}
.form .fh{font-family:var(--maru);font-weight:900;font-size:20px;text-align:center;margin:0 0 12px;color:var(--shu2);line-height:1.45}
.form label{font-size:13px;color:var(--muted);display:block;margin-bottom:4px;font-weight:700}
.row{display:flex;gap:8px}.row>div{flex:1}
select,input,textarea{font:inherit;font-size:16px;width:100%;padding:12px;border:2px solid var(--line);border-radius:12px;background:#fff;color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--sora)}
textarea{min-height:110px}
.btn{display:block;width:100%;margin-top:14px;background:var(--shu);color:#fff;border:0;border-radius:999px;padding:14px 18px;font:inherit;font-family:var(--maru);font-weight:900;font-size:19px;text-align:center;text-decoration:none;cursor:pointer;min-height:56px;box-shadow:0 5px 0 var(--shu2);line-height:1.35}
.btn:active{transform:translateY(3px);box-shadow:0 2px 0 var(--shu2)}
.btn small{display:block;font-family:var(--sans);font-size:12px;font-weight:700;opacity:.92}
.btn.ghost{background:#fff;color:var(--shu2);border:2px solid var(--shu);box-shadow:0 4px 0 var(--line)}
.btn.gold,.btn.yama{background:var(--yama);color:var(--sumi);box-shadow:0 5px 0 #d79d00}
.fine{font-size:12px;color:var(--muted);line-height:1.75;font-weight:500}
/* sections */
section{padding:52px 0;scroll-margin-top:110px}
.bg-sora{background:var(--sora2)}.bg-fuji{background:var(--fuji2)}.bg-yama{background:var(--yama2)}.bg-momo{background:var(--momo2)}.bg-wakaba{background:var(--wakaba2)}.bg-white{background:#fff}
.sec-dark{background:var(--sumi);color:#f3e9d6}.sec-dark .lead{color:#cdbb98}
.h2{text-align:center;margin:0 0 24px}
.h2 .en{display:inline-block;font-family:var(--maru);font-size:12px;font-weight:900;letter-spacing:.14em;color:#fff;background:var(--shu);border-radius:999px;padding:1px 12px}
.h2 h2,h2{font-family:var(--maru);font-weight:900;font-size:clamp(23px,6.4vw,31px);line-height:1.45;margin:8px 0 0}
.lead{color:var(--muted);margin:8px 0 0;font-size:14px}
.sec-dark .h2 h2,.prem .h2 h2{font-family:var(--serif);font-weight:800}.sec-dark .h2 .en,.prem .h2 .en{background:var(--kin);color:var(--sumi)}
/* 12 signs */
.signs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.signs a{position:relative;display:block;text-decoration:none;text-align:center;border-radius:18px;padding:10px 4px 10px;color:var(--sumi);box-shadow:0 4px 0 rgba(0,0,0,.07)}
.signs img{width:86%;margin:0 auto;aspect-ratio:1;object-fit:contain;transition:transform .2s}.signs a:hover img{transform:translateY(-4px) rotate(-3deg)}
.signs .n{display:block;font-family:var(--maru);font-weight:900;font-size:15px;line-height:1.3}.signs .d{display:block;font-size:10px;color:#5b5048}
.signs .rk{position:absolute;left:6px;top:6px;background:#fff;border-radius:999px;font-family:var(--maru);font-weight:900;font-size:12px;padding:0 8px;color:var(--shu2)}
.signs .k{position:absolute;right:8px;top:4px;font-family:var(--serif);font-weight:800;font-size:22px}
.c-aries{background:#ffc9b9}.c-taurus{background:#d6f0b8}.c-gemini{background:#fff0a6}.c-cancer{background:#cfe8ff}.c-leo{background:#ffd98f}.c-virgo{background:#d9f5e6}.c-libra{background:#ffd6e8}.c-scorpio{background:#e3d4ff}.c-sagittarius{background:#ffe0c2}.c-capricorn{background:#dfe6c8}.c-aquarius{background:#c4f1f5}.c-pisces{background:#d9dcff}
.kuro-say{display:grid;grid-template-columns:96px 1fr;gap:10px;align-items:center}.kuro-say img{width:96px}.kuro-say p{position:relative;margin:0;background:#fff;border-radius:18px;padding:12px 14px;font-weight:700;font-size:14px;box-shadow:0 3px 0 rgba(0,0,0,.06)}.kuro-say p:before{content:"";position:absolute;left:-8px;top:24px;border:8px solid transparent;border-right-color:#fff;border-left:0}
.kuromitsu{display:grid;grid-template-columns:120px 1fr;gap:14px;align-items:center;background:#fff;border-radius:26px;padding:16px;box-shadow:0 5px 0 rgba(0,0,0,.06)}.kuromitsu img{width:120px}.kuromitsu .nm{font-family:var(--maru);font-weight:900;font-size:32px;margin:0;line-height:1.3}.kuromitsu .nm small{display:block;font-size:13px;color:var(--shu2)}.kuromitsu p{margin:6px 0 0;font-size:14px}
.prof-chip{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.prof-chip span{background:var(--yama2);border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700}
.chapter{background:#fffdf6;border:2px solid #f0e2c0;border-radius:22px;padding:20px 18px;margin:18px 0;font-family:var(--serif);line-height:2.05}.chapter h3{font-family:var(--serif);font-weight:800;font-size:21px;margin:0 0 8px;line-height:1.5}.chapter p{margin:0 0 12px}.ch-no{font-family:var(--maru)!important;font-weight:900;color:var(--shu2);font-size:13px;margin:0!important}
.hit{text-align:center;font-family:var(--maru);border-top:1px dashed #e3d3ae;padding-top:12px}.hit p{margin:0 0 8px;font-weight:900}.hit button{font:inherit;font-weight:900;border:0;border-radius:999px;padding:9px 16px;margin:0 4px;background:var(--momo);color:#fff;box-shadow:0 3px 0 #e0577f}.hit button+button{background:#fff;color:var(--muted);box-shadow:0 3px 0 var(--line);border:2px solid var(--line)}.hit .hit-msg{font-weight:700;margin-top:10px;font-size:14px}
.blur{filter:blur(5px);user-select:none}.locked2{position:relative}.unlock{text-align:center;font-family:var(--maru);font-weight:900;color:#fff;background:var(--shu);border-radius:999px;padding:8px 12px;margin-top:6px}
.cmp{background:#fff;border-radius:22px;padding:18px 14px;margin:18px 0;box-shadow:0 4px 0 rgba(0,0,0,.06)}.cmp h3{font-family:var(--maru);font-weight:900;text-align:center;margin:0 0 10px;font-size:19px}.cmp table{width:100%;border-collapse:collapse;font-size:13px}.cmp th,.cmp td{padding:8px 6px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}.cmp th{font-family:var(--maru)}.cmp .pay{background:#fff1ec}.cmp th.pay{background:var(--shu);color:#fff;text-align:center;border-radius:10px 10px 0 0}.cmp small{color:var(--muted)}
.months{display:grid;gap:10px}.mo{background:#fff;border-radius:18px;padding:14px 16px;box-shadow:0 3px 0 rgba(0,0,0,.05)}.mo h3{margin:0;font-family:var(--maru);font-weight:900;font-size:17px;display:flex;justify-content:space-between;gap:8px}.mo h3 .st{color:#f0a500;letter-spacing:1px;white-space:nowrap}.mo p{margin:6px 0 0;font-size:14px}.mo dl{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;margin:8px 0 0;font-size:13px}.mo dt{font-weight:900;color:var(--shu2)}.mo dd{margin:0}
.today{display:grid;gap:8px}.today>a{display:grid;grid-template-columns:44px 56px 1fr;gap:8px;align-items:center;text-decoration:none;border-radius:16px;padding:6px 12px;box-shadow:0 3px 0 rgba(0,0,0,.06)}.today .r{font-family:var(--maru);font-weight:900;font-size:20px;color:var(--shu2)}.today img{width:56px}.today b{font-family:var(--maru);font-weight:900}.today small{display:block;font-size:12px;color:#5b5048}
.top3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:12px}
/* 990 */
.first{position:relative;background:var(--shu);color:#fff;border-radius:26px;padding:26px 18px 22px;text-align:center;box-shadow:0 8px 0 var(--shu2);overflow:hidden}
.first:before{content:"";position:absolute;inset:0;background:radial-gradient(circle,rgba(255,255,255,.18) 0 2px,transparent 3px) 0 0/26px 26px}
.first>*{position:relative}
.first .rib{display:inline-block;background:var(--yama);color:var(--sumi);font-family:var(--maru);font-weight:900;font-size:14px;padding:3px 16px;border-radius:999px}
.first h3{font-family:var(--maru);font-weight:900;font-size:clamp(23px,6.6vw,30px);line-height:1.45;margin:12px 0 6px}
.first .yen{font-family:var(--maru);font-weight:900;font-size:76px;line-height:1;color:var(--yama)}.first .yen small{font-size:18px;color:#fff;margin-left:4px}
.first ul{text-align:left;margin:14px auto 4px;padding:14px 16px;list-style:none;max-width:440px;font-size:14px;background:#fff;color:var(--ink);border-radius:16px}
.first li{padding:4px 0 4px 24px;position:relative}.first li:before{content:"✓";position:absolute;left:2px;color:var(--shu);font-weight:900}
.first .btn{background:var(--yama);color:var(--sumi);box-shadow:0 5px 0 #c68f00}
.first .cat{position:absolute;right:-6px;top:6px;width:84px;transform:rotate(10deg)}
/* menu */
.menu3{display:grid;gap:12px}
.menu3 a{display:grid;grid-template-columns:96px 1fr 22px;gap:12px;align-items:center;text-decoration:none;color:inherit;border-radius:22px;padding:10px 14px 10px 8px;box-shadow:0 4px 0 rgba(0,0,0,.07)}
.menu3 a:nth-child(1){background:var(--sora2)}.menu3 a:nth-child(2){background:var(--momo2)}.menu3 a:nth-child(3){background:var(--wakaba2)}
.menu3 img{width:96px;height:96px;object-fit:contain}
.menu3 b{display:block;font-family:var(--maru);font-weight:900;font-size:19px;line-height:1.35}.menu3 .free{display:inline-block;font-size:11px;background:var(--shu);color:#fff;padding:0 8px;margin-left:6px;border-radius:999px;vertical-align:3px}
.menu3 span.d{font-size:13px;color:#4e443c;line-height:1.6;display:block;margin-top:2px}.menu3 i{font-style:normal;font-weight:900;color:var(--shu);font-size:24px}
/* premium plans */
.prem{background:var(--sumi);color:#f3e9d6}
.plans{display:grid;gap:22px}
.plan{background:#fffcf5;color:var(--ink);border:1px solid #e3d3ae;position:relative;box-shadow:0 10px 24px rgba(0,0,0,.25)}
.plan .pimg{position:relative;background:var(--sumi)}.plan .pimg img{width:100%;aspect-ratio:16/10;object-fit:cover}
.plan .pimg .cap{position:absolute;right:8px;bottom:6px;font-size:11px;color:#fff;background:rgba(0,0,0,.45);padding:1px 8px}
.plan .pbody{padding:18px 20px 22px}
.plan.featured{border:3px solid var(--kin)}
.plan .badge{position:absolute;top:12px;left:-6px;z-index:2;background:var(--shu);color:#fff;font-size:13px;font-weight:900;font-family:var(--maru);padding:4px 14px 4px 12px;box-shadow:0 2px 6px rgba(0,0,0,.25)}
.plan .badge.gold{background:var(--yama);color:var(--sumi)}
.plan .hook{font-family:var(--serif);font-weight:800;font-size:21px;line-height:1.5;margin:0 0 6px}
.plan h3{font-size:14px;margin:0;color:var(--shu2);font-weight:900}.plan .sub{font-size:13px;color:var(--muted);margin:2px 0 10px}
.price{font-family:var(--maru);font-size:36px;font-weight:900;line-height:1.2}.price small{font-family:var(--sans);font-size:12px;font-weight:500;color:var(--muted);margin-left:4px}
.plan ul{padding:0;margin:12px 0;list-style:none;font-size:14px}.plan li{padding:5px 0 5px 22px;position:relative;border-top:1px dashed #e3d3ae}.plan li:before{content:"◆";position:absolute;left:2px;top:9px;color:var(--kin);font-size:10px}
.plan .note{font-size:12px;color:var(--muted);margin:0}
.plan .btn{border-radius:8px}
/* reasons */
.reasons{display:grid;gap:12px}
.reason{display:grid;grid-template-columns:58px 1fr;gap:12px;background:#fff;border-radius:20px;padding:16px;box-shadow:0 4px 0 rgba(0,0,0,.06)}
.reason .num{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:800;font-size:26px;color:#fff}
.reason:nth-child(1) .num{background:var(--sora)}.reason:nth-child(2) .num{background:var(--momo)}.reason:nth-child(3) .num{background:var(--wakaba)}
.reason h3{font-family:var(--maru);font-weight:900;font-size:18px;margin:0 0 4px;line-height:1.45}.reason p{margin:0;font-size:14px;color:#4e443c}
/* profile */
.prof{display:grid;gap:22px}
.prof .ph{position:relative;max-width:290px;margin:0 auto}.prof .ph img{width:100%;border:1px solid var(--kin);outline:1px solid var(--kin);outline-offset:6px}
.prof .ph .seal{position:absolute;right:-10px;bottom:-14px;background:var(--shu);color:#fff;font-family:var(--serif);font-weight:800;writing-mode:vertical-rl;padding:10px 6px;font-size:15px;letter-spacing:.2em}
.prof .name{font-family:var(--serif);font-weight:800;font-size:32px;margin:0;line-height:1.3}.prof .name small{font-size:15px;color:var(--kin);margin-left:8px;letter-spacing:.1em}
.prof .quote{font-family:var(--serif);font-size:18px;line-height:2;margin:14px 0;padding:6px 0 6px 16px;border-left:2px solid var(--kin)}
dl.facts{display:grid;grid-template-columns:auto 1fr;margin:0;border-top:1px solid #4a3a2c}dl.facts dt,dl.facts dd{padding:9px 0;border-bottom:1px solid #4a3a2c;margin:0;font-size:14px}dl.facts dt{color:var(--kin);padding-right:16px;font-weight:700}
/* kept for shindan/seimei/sign */
.bar{height:10px;background:var(--line);border-radius:9px;overflow:hidden}.bar i{display:block;height:100%;background:var(--sora);border-radius:9px}.ans{display:grid;gap:10px}.ans .btn{margin:0}.back{margin-top:16px;background:none;border:0;color:var(--muted);font:inherit;text-decoration:underline}.themes{display:flex;flex-wrap:wrap;gap:8px}.chipbox{border:2px solid var(--line);background:#fff;border-radius:999px;padding:6px 14px;font-size:14px;font-weight:700}
.ans5{display:grid;gap:8px}.ans5 button{font:inherit;font-weight:700;font-size:15px;padding:13px;border-radius:999px;border:2px solid var(--line);background:#fff;color:var(--ink)}.ans5 button:nth-child(1){border-color:var(--sora)}.ans5 button:nth-child(5){border-color:var(--momo)}.ans5 button:active,.ans5 button.sel{background:var(--sora);color:#fff;border-color:var(--sora)}
.ichi{font-family:var(--serif);font-size:96px;line-height:1.1;text-align:center;margin:6px 0}.kakus{display:grid;gap:10px}.kakus .card{margin:0}
.result-k{font-family:var(--serif);font-weight:800;font-size:120px;line-height:1;text-align:center;margin:10px 0 0;color:var(--sumi)}
.tag{display:inline-block;background:var(--yama);color:var(--sumi);padding:3px 14px;font-size:13px;font-weight:900;border-radius:999px;font-family:var(--maru)}
.card{background:#fff;border-radius:20px;padding:20px;margin:14px 0;box-shadow:0 4px 0 rgba(0,0,0,.06)}
.card h3{margin:0 0 6px;font-size:17px;font-family:var(--maru);font-weight:900}
dl.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0}dl.kv dt{color:var(--shu2);font-size:14px;font-weight:900}dl.kv dd{margin:0}
.locked{position:relative;overflow:hidden;max-height:180px}
.locked:after{content:"";position:absolute;inset:auto 0 0 0;height:120px;background:linear-gradient(transparent,var(--washi))}
.cta{background:var(--fuji);color:#fff;padding:26px 20px;margin:28px 0;border-radius:26px;text-align:center;box-shadow:0 6px 0 #7b69d6}
.cta h3{font-family:var(--maru);font-weight:900;font-size:22px;line-height:1.55;margin:0 0 8px}.cta p{font-size:14px}
.steps{counter-reset:s;list-style:none;padding:0}.steps li{counter-increment:s;padding-left:48px;position:relative;margin:0 0 16px}
.steps li:before{content:counter(s);position:absolute;left:0;top:0;width:36px;height:36px;border-radius:50%;background:var(--sora);color:#fff;text-align:center;line-height:36px;font-family:var(--maru);font-weight:900}
.faq details{background:#fff;border-radius:16px;margin:0 0 8px;padding:0 16px;box-shadow:0 3px 0 rgba(0,0,0,.05)}.faq summary{cursor:pointer;font-weight:900;padding:14px 0;list-style:none}.faq summary:before{content:"Q";font-family:var(--maru);color:#fff;background:var(--sora);border-radius:50%;display:inline-block;width:26px;height:26px;text-align:center;line-height:26px;margin-right:10px}.faq p{margin:0 0 14px;font-size:14px}
footer{background:var(--sumi);color:#cdbfae;padding:34px 0 40px;font-size:13px}footer a{margin-right:14px;display:inline-block;margin-bottom:6px}
.stick{position:fixed;left:0;right:0;bottom:0;z-index:30;background:rgba(255,255,255,.97);box-shadow:0 -2px 12px rgba(0,0,0,.12);padding:8px 10px calc(8px + env(safe-area-inset-bottom))}
.stick .wrap{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0}
.stick a{display:block;text-align:center;text-decoration:none;font-family:var(--maru);font-weight:900;font-size:15px;line-height:1.25;padding:8px 4px;border-radius:999px}
.stick a small{display:block;font-size:10px;font-weight:700;font-family:var(--sans)}
.stick .s1{background:var(--sora);color:#fff;box-shadow:0 3px 0 #2a8fc0}.stick .s2{background:var(--shu);color:#fff;box-shadow:0 3px 0 var(--shu2)}
@media(min-width:640px){.prof{grid-template-columns:280px 1fr;align-items:start}.hero-top{grid-template-columns:1fr 170px}.arch{width:170px;height:225px;border-radius:85px 85px 16px 16px}.signs{grid-template-columns:repeat(4,1fr)}}
@media(min-width:960px){.wrap{max-width:1000px}.signs{grid-template-columns:repeat(6,1fr)}.plans{grid-template-columns:1fr 1fr;align-items:start}.reasons{grid-template-columns:repeat(3,1fr)}.reason{grid-template-columns:1fr}.menu3{grid-template-columns:repeat(3,1fr)}.first{max-width:680px;margin:0 auto}.form{max-width:600px;margin-left:auto;margin-right:auto}.hero h1{font-size:44px}.faq{max-width:760px;margin:0 auto}}
.hero-kuro{text-align:center}.hero-kuro img{width:150px;margin:0 auto;filter:drop-shadow(0 6px 0 rgba(0,0,0,.12))}.hero-kuro .arch-cap b{font-size:18px}
.themecards{display:grid;gap:10px}.themecards a{display:block;text-decoration:none;color:var(--sumi);border-radius:20px;padding:14px 16px;box-shadow:0 4px 0 rgba(0,0,0,.08)}.themecards .tq{display:block;font-family:var(--maru);font-weight:900;font-size:18px;line-height:1.45}.themecards .td{display:block;font-size:12px;color:#5b5048;margin-top:2px}.themecards .tg{display:inline-block;margin-top:8px;background:var(--shu);color:#fff;font-family:var(--maru);font-weight:900;font-size:13px;border-radius:999px;padding:3px 12px}
.catch{font-size:13px;color:var(--muted);margin:0 0 2px;font-weight:700}.wk{font-family:var(--maru);font-weight:900;font-size:14px;margin:12px 0 0;color:var(--shu2)}
ol.wakaru{margin:6px 0 10px;padding:0;list-style:none;counter-reset:w;font-size:14px}ol.wakaru li{counter-increment:w;position:relative;padding:6px 0 6px 30px;border-top:1px dashed #e3d3ae;text-align:left}ol.wakaru li:before{content:counter(w);position:absolute;left:0;top:7px;width:22px;height:22px;border-radius:50%;background:var(--shu);color:#fff;font-size:12px;font-weight:900;text-align:center;line-height:22px}
.first ol.wakaru{background:#fff;color:var(--ink);border-radius:16px;padding:6px 14px;max-width:460px;margin:14px auto 4px}
.toc{background:#fff;border-radius:22px;padding:18px 16px;margin:18px 0;box-shadow:0 4px 0 rgba(0,0,0,.06)}.toc-h{font-family:var(--maru);font-weight:900;font-size:19px;text-align:center;margin:0 0 10px}.toc .ch{border-top:1px dashed #e3d3ae;padding:10px 0}.toc .ch b{font-family:var(--serif);font-size:16px;display:block}.toc .ch p{margin:4px 0 0;font-size:14px;color:#5b5048}
.fuse{display:inline-block;background:var(--sumi);color:var(--sumi);border-radius:4px;padding:0 4px;user-select:none;font-weight:900}
.buy{background:var(--shu);color:#fff;border-radius:24px;padding:20px 16px;text-align:center;box-shadow:0 6px 0 var(--shu2)}.buy-h{font-family:var(--maru);font-weight:900;font-size:20px;margin:0}.buy .btn{background:var(--yama);color:var(--sumi);box-shadow:0 5px 0 #c68f00}.buy-note{font-size:12px;margin:10px 0 0;line-height:1.7}
.next-h{font-family:var(--maru);font-weight:900;text-align:center;font-size:18px;margin:26px 0 0}
.kakuzu{display:flex;justify-content:center;gap:6px;flex-wrap:wrap}.kakuzu span{display:flex;flex-direction:column;align-items:center;background:#fff;border-radius:14px;padding:6px 10px;box-shadow:0 3px 0 rgba(0,0,0,.06);min-width:54px}.kakuzu b{font-family:var(--serif);font-size:30px;line-height:1.2}.kakuzu small{font-size:12px;color:var(--muted)}.kakuzu .ks{border-bottom:4px solid var(--sora)}.kakuzu .km{border-bottom:4px solid var(--momo)}
.share{text-align:center;margin:14px 0}.share p{margin:0 0 6px;font-size:13px;font-weight:700}.share a{display:inline-block;margin:0 4px;padding:8px 16px;border-radius:999px;background:var(--sumi);color:#fff;text-decoration:none;font-weight:900;font-size:14px}.share a+a{background:#06c755}
.card h3+p{margin-top:0}

[hidden]{display:none!important}
html body .prem,html body .sec-dark{background-color:#120f24;background-image:linear-gradient(rgba(14,10,30,.55),rgba(14,10,30,.55)),url(img/t_night_gold.jpg);background-size:auto,420px}
html body .shikishi{background-image:url(img/t_washi_gold.jpg)!important;background-size:cover!important}

/* ===== UIレギュレーション（DESIGN_RULES.md）ボタンは3種類だけ ===== */
html body .btn.yama{background:var(--sora)!important;color:#fff!important;box-shadow:0 5px 0 #2a8fc0!important}
html body .btn,html body .s3btn,html body .s3-ume .s3btn,html body .s3-take .s3btn,html body .s3-matsu .s3btn{background:var(--shu)!important;color:#fff!important;box-shadow:0 5px 0 var(--shu2)!important;border:0!important}
html body .btn.gold{background:linear-gradient(135deg,#f6e3a8 0%,#d9b062 50%,#b98a35 100%)!important;color:#1d1612!important;box-shadow:0 5px 0 #7a5a22!important;border:1px solid #fff3cf!important}
html body .btn.ghost{background:#fff!important;color:var(--shu2)!important;border:2px solid var(--shu)!important;box-shadow:0 4px 0 var(--line)!important}
html body .btn small{display:block;font-size:12px;font-weight:700;opacity:.92;margin-top:2px}
html body .btn:active{transform:translateY(3px);box-shadow:0 2px 0 rgba(0,0,0,.25)!important}
html body .first .btn{background:#fff!important;color:var(--shu2)!important;box-shadow:0 5px 0 #8f1f12!important}
html body .stick .s1{background:#fff!important;color:#1f86bd!important;border:2px solid var(--sora)!important;box-shadow:0 3px 0 #2a8fc0!important}html body .stick .s2{background:var(--sora)!important;color:#fff!important;box-shadow:0 3px 0 #2a8fc0!important}

.mamori{text-align:center;background:linear-gradient(180deg,#1b1530,#2a1d14);color:#f3e9d6;border-radius:22px;padding:20px 16px 16px;margin:14px 0;border:1px solid var(--kin)}.mm-k{margin:0;font-family:var(--serif);font-weight:800;font-size:17px;color:var(--kin2)}.mm-s{margin:10px auto 8px!important}.mm-s .ichi{color:#14100c}.mm-m{margin:0;font-family:var(--serif);font-size:15px}.mm-h{margin:12px 0 0;font-family:var(--serif);font-size:16px;line-height:1.7}.mm-h b{font-size:20px;color:#fff;border-bottom:2px solid var(--shu)}
.osum{background:#fffaf0;border:2px solid var(--kin);border-radius:16px;padding:12px 14px}.osum-k{margin:0;font-size:12px;font-weight:900;color:var(--muted)}.osum h3{margin:2px 0 0;font-family:var(--serif);font-size:17px;line-height:1.5}.osum-p{margin:4px 0 0;font-family:var(--serif);font-weight:800;font-size:26px;color:var(--shu2)}.osum-p small{font-size:12px;color:var(--muted)}.osum ul{margin:6px 0 0;padding-left:1.2em;font-size:13px}
.cq{display:grid;grid-template-columns:repeat(3,1fr);gap:0 6px;background:#fffaf0;color:var(--ink);border-radius:16px;padding:12px 8px;text-align:center}
.cq-h{position:relative;border-radius:12px;padding:8px 4px;color:#fff}.cq-h img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px}.cq-h b{display:block;font-family:var(--serif);font-size:13px;margin-top:4px}.cq-p{font-family:var(--serif);font-weight:800;font-size:17px}.cq-p small{font-size:11px}
.cq-h.s3-ume{background:#2b3a67}.cq-h.s3-take{background:#b8291b}.cq-h.s3-matsu{background:linear-gradient(160deg,#3a2c12,#14100a);border:1px solid var(--kin2)}.cq-h .s3rec{white-space:nowrap;top:-10px;right:50%;transform:translateX(50%);font-size:10px;padding:2px 8px;background:var(--yama);color:var(--sumi)}
.cq-l{grid-column:1/-1;margin:10px 0 2px;font-size:12px;font-weight:900;color:var(--muted);border-top:1px solid var(--line);padding-top:8px}
.cq-c{font-size:20px;font-weight:900;line-height:1.3}.cq-c.ok{color:var(--shu2)}.cq-c.no{color:#c9bfb2}.cq-c.cq-w{font-size:12px;font-weight:700;color:var(--ink)}
.cq-b{margin-top:10px;display:block;border-radius:999px;padding:6px 0;font-size:12px;font-weight:900;text-decoration:none;color:#fff}.cq-b.s3-ume{background:#2b3a67}.cq-b.s3-take{background:#b8291b}.cq-b.s3-matsu{background:#6b5320}
.cq>span:empty{display:none}
.s3d.s3-ume{border-color:#6f86c6!important;background:linear-gradient(180deg,#1d2647,#1c1512 40%)!important}.s3d.s3-take{border-color:#e0705f!important;background:linear-gradient(180deg,#4a1a14,#1c1512 40%)!important}
.s3-ume .s3btn{background:linear-gradient(135deg,#4a64a8,#2b3a67)!important;box-shadow:0 4px 0 #18203d!important}.s3-take .s3btn{background:linear-gradient(135deg,#e04a35,#b8291b)!important;box-shadow:0 4px 0 #6e170e!important}

/* 梅竹松 */
.sho3{color:#f3e9d6;text-align:center;margin-top:22px}.s3k{margin:0;color:var(--kin);letter-spacing:.3em;font-weight:700;font-size:13px}.sho3 h3{font-family:var(--serif);font-weight:800;font-size:23px;line-height:1.5;margin:6px 0 4px;color:#fff}.s3l{margin:0 0 10px;font-size:13px;color:#d9c9a8}
.s3top{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;align-items:end}.s3c{position:relative;display:flex;flex-direction:column;align-items:center;text-decoration:none;color:#fff;border-radius:12px;padding:20px 4px 8px;border:1px solid}
.s3c img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px}.s3c b{font-family:var(--serif);font-size:12px;line-height:1.35;margin-top:6px;min-height:2.7em}.s3p{font-family:var(--serif);font-weight:800;font-size:18px}.s3p small{font-size:11px}
.s3r{position:absolute;top:-14px;left:50%;transform:translateX(-50%);width:34px;height:34px;border-radius:50%;font-family:var(--serif);font-weight:800;font-size:19px;line-height:32px;border:2px solid}
.s3-ume.s3c{background:#4a1f2a;border-color:#c97a8a}.s3-ume .s3r{background:#8f2f45;border-color:#f0b8c4;color:#fff}
.s3-take.s3c{background:#16332a;border-color:#7fb39a;padding-top:26px}.s3-take .s3r{background:#24614a;border-color:#bfe3cf;color:#fff}
.s3-matsu.s3c{background:linear-gradient(160deg,#3a2c12,#14100a);border-color:var(--kin2);padding-top:32px}.s3-matsu .s3r{background:linear-gradient(135deg,#f3dc9c,#b98a35);border-color:#fff3cf;color:#2a1d08}
.s3d{position:relative;text-align:left;border-radius:18px;padding:16px 14px;margin-top:18px;border:2px solid;background:#1c1512}.s3d img{width:100%;border-radius:10px;margin-top:10px}
.s3d.s3-ume{border-color:#c97a8a;background:linear-gradient(180deg,#3b1821,#1c1512 40%)}.s3d.s3-take{border-color:#7fb39a;background:linear-gradient(180deg,#123026,#1c1512 40%)}.s3d.s3-matsu{border-color:var(--kin2);background:linear-gradient(180deg,#3b2d10,#140f0a 45%);box-shadow:0 0 0 4px rgba(214,178,98,.18)}
.s3h{display:flex;align-items:center;gap:10px}.s3seal{flex:none;width:52px;height:52px;border-radius:50%;font-family:var(--serif);font-weight:800;font-size:28px;line-height:48px;text-align:center;border:2px solid}.s3-ume .s3seal{background:#8f2f45;border-color:#f0b8c4}.s3-take .s3seal{background:#24614a;border-color:#bfe3cf}.s3-matsu .s3seal{background:linear-gradient(135deg,#f3dc9c,#b98a35);border-color:#fff3cf;color:#2a1d08}
.s3tag{margin:0;font-size:12px;color:#d9c9a8;font-weight:700}.s3h h4{margin:0;font-family:var(--serif);font-size:20px;color:#fff}.s3lim{margin-left:auto;font-size:11px;font-weight:900;color:#2a1d08;background:var(--kin2);border-radius:999px;padding:3px 9px;white-space:nowrap}
.s3rec{position:absolute;top:-12px;right:12px;background:var(--shu);color:#fff;font-size:12px;font-weight:900;border-radius:999px;padding:3px 12px}
.s3base{display:flex;align-items:center;justify-content:center;gap:8px;margin:12px 0 0;background:rgba(255,255,255,.08);border:1px dashed #8a7a60;border-radius:10px;padding:8px}.s3base b{font-family:var(--serif);font-size:16px;color:#fff}.s3base span{font-family:var(--maru);font-weight:900;font-size:26px;color:var(--kin2);line-height:1}
.s3plus{list-style:none;padding:0;margin:10px 0 0}.s3plus li{position:relative;padding:6px 0 6px 26px;border-bottom:1px solid rgba(255,255,255,.1);font-size:14px;line-height:1.6}.s3plus li:before{content:"＋";position:absolute;left:0;top:5px;color:var(--kin2);font-weight:900}
.s3price{text-align:center;font-family:var(--serif);font-weight:800;font-size:30px;margin:12px 0 0;color:#fff}.s3price small{font-size:12px;color:#d9c9a8}
.s3btn{background:linear-gradient(135deg,#f3dc9c,#c9a24f)!important;color:#2a1d08!important;box-shadow:0 4px 0 #8a6a2a!important}.s3-ume .s3btn{background:linear-gradient(135deg,#c95a72,#8f2f45)!important;color:#fff!important;box-shadow:0 4px 0 #5a1a2a!important}.s3-take .s3btn{background:linear-gradient(135deg,#3f8f6e,#24614a)!important;color:#fff!important;box-shadow:0 4px 0 #123026!important}
/* today */
.today .tr{border-radius:16px;margin:8px 0;overflow:hidden;box-shadow:0 3px 0 rgba(0,0,0,.06)}.today .tr:nth-of-type(n+4){display:none}.today.open .tr{display:block}
.tr-h{display:grid;grid-template-columns:44px 44px 1fr;align-items:center;gap:8px;width:100%;background:none;border:0;padding:8px 10px;font:inherit;text-align:left;color:var(--ink);position:relative}.tr-h img{width:44px;height:44px;object-fit:contain}.tr-h b{display:block;font-family:var(--maru);font-size:16px}.tr-h small{font-size:11px;color:var(--muted)}.tr-h .r{font-family:var(--maru);font-weight:900;font-size:18px;color:var(--shu2)}
.tr-o{grid-column:3;font-style:normal;font-size:11px;font-weight:900;color:var(--sora);justify-self:end;margin-top:-4px}.tr-b{display:none;padding:0 14px 12px;border-top:1px dashed var(--line)}.tr.op .tr-b{display:block}.tr.op .tr-o{visibility:hidden}.tr-st{margin:8px 0 0;color:#e0a100;letter-spacing:.1em;font-size:18px}.tr-b p{margin:4px 0}.tr-b a{font-weight:700;color:var(--shu2);font-size:14px}

.stp{display:inline-block;background:var(--shu);color:#fff;border-radius:6px;font-size:11px;padding:1px 7px;margin-right:6px;vertical-align:1px;letter-spacing:.05em}.stp-w{background:#fff;color:var(--shu2)}
.hero-idx .hi-top{display:grid;grid-template-columns:1fr 112px;align-items:end;gap:6px;padding-top:6px}.hero-idx .big-year{font-size:clamp(64px,19vw,120px);margin:8px 0 0}.hero-idx h1{font-size:20px;line-height:1.45;margin:6px 0 0}.hero-idx .hero-kuro img{width:84px!important}.hero-idx .hi-top{grid-template-columns:1fr 92px!important}.hero-idx .big-year{margin-top:2px!important}.hero-idx .arch-cap{margin:0;font-size:10px}.hero-idx .arch-cap b{font-size:15px}
.hero-idx .bubble-up{margin:8px 0 8px!important;font-size:13px!important;padding:8px 12px}.hero-idx .bubble-up:before{right:44px}.hero-idx .form{margin-top:0;padding:14px 14px 12px}.hero-idx .form label{margin-top:0}
.menu-h{text-align:center;font-family:var(--maru);font-weight:900;margin:0 0 8px}

.signs .cc{display:block;font-size:10.5px;line-height:1.35;font-weight:700;margin:3px 2px 0;color:#3a2e26;min-height:2.7em}.sign-catch{font-family:var(--maru);font-weight:900;font-size:20px;margin:8px 0 2px;color:var(--shu2)}
.bubble-up{margin:10px 0 0!important;font-size:14px!important}.bubble-up:before{left:auto!important;right:52px;top:-8px!important;border:8px solid transparent!important;border-bottom-color:#fff!important;border-top:0!important}
.hero-top{align-items:end}.hero .hero-kuro img{width:120px}
.sec-menu{padding:18px 0}.menu3b{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.menu3b a{display:flex;flex-direction:column;align-items:center;text-align:center;text-decoration:none;border-radius:18px;padding:8px 4px 10px;box-shadow:0 4px 0 rgba(0,0,0,.1)}.menu3b img{width:62px;height:62px;object-fit:contain}.menu3b b{font-family:var(--maru);font-weight:900;font-size:16px}.menu3b span{font-size:10.5px;line-height:1.4;margin-top:2px}
.m-sei{background:var(--sora);color:#fff}.m-kan{background:#1f2257;color:#fff}.m-kan b{color:var(--yama)}.m-mei{background:#f7f0dc;color:var(--sumi);border:1px solid #e7d6ae}.m-mei b{font-family:"Yuji Boku",var(--serif);font-weight:400}

.free-top{text-align:center;background:#fff;border-radius:22px;padding:16px 14px;margin:14px 0;box-shadow:0 4px 0 rgba(0,0,0,.06)}.ft-k{margin:0;font-weight:700}.free-top h2{font-family:var(--serif);font-size:22px;margin:4px 0 10px}.ft-l{margin:0 0 6px;font-size:12px;color:var(--muted);font-weight:700}
.chips{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.chips span{background:var(--yama2);border:1px solid #f0d27a;border-radius:999px;padding:3px 12px;font-weight:900;font-family:var(--maru);font-size:14px}
.rcard{background:#fff;border-radius:22px;padding:16px 16px 14px;margin:12px 0;box-shadow:0 4px 0 rgba(0,0,0,.06);border-top:6px solid var(--sora)}.rcard p{margin:6px 0 0;line-height:1.95}.rc-t{font-family:var(--maru);font-weight:900;font-size:17px;margin:0!important}.rc-t span{display:inline-block;font-size:11px;color:#fff;background:var(--sora);border-radius:999px;padding:1px 10px;margin-right:8px;vertical-align:2px}
.r-lp{border-top-color:var(--momo)}.r-lp .rc-t span{background:var(--momo)}.r-ky{border-top-color:var(--wakaba)}.r-ky .rc-t span{background:var(--wakaba)}.r-mei{border-top-color:var(--sumi)}.r-mei .rc-t span{background:var(--sumi)}.rcard a{font-weight:700;color:var(--shu2)}
.rc-y{margin-top:10px;background:var(--sora2);border-radius:14px;padding:10px 12px;font-size:14px;line-height:1.8}
.free-hook{background:#1a1c45;color:#fff;border-radius:22px;padding:18px 16px;margin:18px 0 0;font-family:var(--serif);line-height:2}.free-hook p{margin:0 0 8px}.free-hook b{color:var(--yama)}

.ch-sub{font-family:var(--maru)!important;font-weight:900;font-size:13px;color:var(--shu2);margin:18px 0 0!important;letter-spacing:.04em}.chapter p{text-align:justify}
.yw-wrap{border-radius:22px;padding:26px 16px;margin:22px 0}.yw{text-align:center;color:#f3e9d6}.yw-k{margin:0;color:var(--kin);font-weight:700;font-size:13px;letter-spacing:.12em}.yw-h{font-family:var(--serif);font-weight:800;font-size:27px;line-height:1.5;margin:6px 0 14px;color:#fff}.yw-h em{font-style:normal;color:var(--kin2);border-bottom:2px solid var(--shu)}
.yw-ph{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-width:440px;margin:0 auto}.yw-ph img{width:100%;aspect-ratio:3/4;object-fit:cover;border:1px solid var(--kin)}
.yw-st{list-style:none;padding:0;margin:16px auto 0;max-width:460px;text-align:left;counter-reset:y}.yw-st li{counter-increment:y;position:relative;padding:8px 0 8px 44px;border-bottom:1px solid #3e3026;font-size:14px}.yw-st li:before{content:counter(y);position:absolute;left:0;top:8px;width:32px;height:32px;border-radius:50%;border:1px solid var(--kin);color:var(--kin2);text-align:center;line-height:30px;font-family:var(--serif);font-weight:800}.yw-st b{display:block;color:#fff;font-family:var(--serif);font-size:16px}
.yw-q{font-family:var(--serif);font-size:17px;line-height:1.9;margin:16px 0 4px;color:var(--kin2)}
.cmpv{background:#fff;border-radius:22px;padding:16px 12px;margin:18px 0;box-shadow:0 4px 0 rgba(0,0,0,.06)}.cmpv h3{font-family:var(--maru);font-weight:900;text-align:center;margin:0 0 6px;font-size:19px}.cmpv img{width:100%;border-radius:12px}
.cmpv-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.cmpv-row div{border:2px solid var(--line);border-radius:14px;padding:8px 10px}.cmpv-row div.gold{border-color:var(--kin);background:#fffaf0}.cmpv-row b{display:block;font-family:var(--maru);font-weight:900;font-size:20px;color:var(--shu2)}.cmpv-row span{display:block;font-size:12px;padding:3px 0;border-top:1px dashed var(--line)}

/* ===== v12: スマホ1画面目重視・3つの入口で雰囲気を変える ===== */
.sec-tight{padding:34px 0}
.khead{display:grid;grid-template-columns:92px 1fr;gap:8px;align-items:center;padding-top:14px}.khead img{width:92px;height:auto;filter:drop-shadow(0 4px 0 rgba(0,0,0,.12))}
.bubble{position:relative;margin:0;background:#fff;color:var(--ink);border-radius:18px;padding:10px 12px;font-size:13px;font-weight:700;line-height:1.6;box-shadow:0 3px 0 rgba(0,0,0,.08)}.bubble:before{content:"";position:absolute;left:-8px;top:22px;border:8px solid transparent;border-right-color:#fff;border-left:0}.bubble b{color:var(--shu2)}
.hero-sei{padding-bottom:18px}
.h1-sei{font-family:var(--maru);font-weight:900;font-size:30px;line-height:1.2;margin:12px 0 2px;text-align:center}.h1-sei span{display:inline-block;background:var(--yama);color:var(--sumi);border-radius:8px;padding:0 8px;margin-right:6px;font-size:.75em;transform:rotate(-3deg)}
.sub-sei{text-align:center;font-size:13px;font-weight:700;margin:0 0 10px}
.hero-sei .signs{grid-template-columns:repeat(4,1fr);gap:6px}.hero-sei .signs a{padding:4px 2px 6px;border-radius:14px}.hero-sei .signs img{width:78%}.hero-sei .signs .n{font-size:13px}.hero-sei .signs .d{font-size:9px}.hero-sei .signs .k{font-size:15px;right:5px;top:2px}
.today:not(.open) a:nth-of-type(n+4){display:none}.today .more{font:inherit;font-family:var(--maru);font-weight:900;background:#fff;border:2px solid var(--line);border-radius:999px;padding:8px;color:var(--ink)}.today.open .more{display:none}
.axis{display:grid;gap:12px}.axis a{position:relative;display:block;text-decoration:none;border-radius:22px;padding:16px 18px;box-shadow:0 5px 0 rgba(0,0,0,.12);overflow:hidden}
.axis .ax-t{display:inline-block;font-family:var(--maru);font-weight:900;font-size:12px;border-radius:999px;padding:1px 10px}.axis b{display:block;font-family:var(--serif);font-weight:800;font-size:21px;line-height:1.45;margin:6px 0 2px}.axis .ax-d{display:block;font-size:13px}.axis .ax-go{display:inline-block;margin-top:8px;font-family:var(--maru);font-weight:900;font-size:14px;border-radius:999px;padding:4px 14px}
.ax-kan{background:radial-gradient(circle at 85% 20%,#3b3f8f,#151735 70%);color:#fff}.ax-kan .ax-t{background:var(--kin);color:var(--sumi)}.ax-kan .ax-go{background:var(--yama);color:var(--sumi)}
.ax-mei{background:#fbf5e6;color:var(--sumi);border:1px solid #e7d6ae}.ax-mei .ax-t{background:var(--shu);color:#fff}.ax-mei b{font-family:"Yuji Boku",var(--serif);font-weight:400;font-size:24px}.ax-mei .ax-go{background:var(--sumi);color:#fff}
.juyo{display:grid;gap:16px}.juyo-ph{position:relative;max-width:320px;margin:0 auto}.juyo-ph img{width:100%;border:6px solid #2b2019;outline:1px solid var(--kin);outline-offset:4px}.seal-s{position:absolute;right:-8px;bottom:-10px;background:var(--shu);color:#fff;font-family:var(--serif);font-weight:800;writing-mode:vertical-rl;padding:8px 5px;letter-spacing:.2em}
.juyo-k{color:var(--kin);font-weight:700;margin:0;font-size:13px;letter-spacing:.1em}.juyo-h{font-family:var(--serif)!important;font-weight:800;font-size:27px!important;margin:4px 0 8px!important;color:#fff}.juyo p{font-size:14px}.juyo-cred{color:var(--kin2);font-weight:700;font-size:13px!important}
/* 本格鑑定：夜空 */
.hero-kan{background:radial-gradient(circle at 80% 10%,#4a4fa8 0,#1a1c45 55%,#0e0f2a 100%);color:#fff;padding:0 0 26px!important}
.hero-kan:before{background:radial-gradient(circle,rgba(255,255,255,.9) 0 1px,transparent 1.5px) 0 0/46px 46px,radial-gradient(circle,rgba(240,220,166,.8) 0 1px,transparent 1.5px) 23px 17px/61px 61px;opacity:.55}
.h1-kan{font-family:var(--serif);font-weight:800;font-size:25px;line-height:1.5;margin:12px 0 2px;text-align:center}.sub-kan{text-align:center;color:var(--kin2);font-size:12px;font-weight:700;margin:0 0 12px;letter-spacing:.04em}
.hero-kan .form{border-radius:18px}
.kan-steps{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:6px;font-size:13px}.kan-steps li{background:rgba(255,255,255,.1);border:1px solid rgba(240,220,166,.35);border-radius:12px;padding:6px 10px}.kan-steps b{display:inline-block;min-width:58px;color:var(--yama);font-family:var(--maru)}
body.tab-kan{background:#f4f2fb}.tab-kan .gnav a.on{background:#2a2d6e;border-color:#2a2d6e}
/* 姓名診断：和紙と墨 */
.hero-mei{background:#f7f0dc;color:var(--sumi);padding-bottom:24px}
.hero-mei:before{background:radial-gradient(circle,rgba(201,165,92,.5) 0 1.2px,transparent 2px) 0 0/22px 22px;opacity:.5}
.h1-mei{font-family:"Yuji Boku",var(--serif);font-weight:400;font-size:38px;line-height:1.25;margin:14px 0 2px;text-align:center}.h1-mei span{display:inline-block;font-family:var(--serif);font-weight:800;font-size:13px;background:var(--shu);color:#fff;padding:2px 8px;margin-right:8px;vertical-align:8px;letter-spacing:.1em}
.sub-mei{text-align:center;font-size:12px;font-weight:700;margin:0 0 12px;color:#5b5048}
.hero-mei .bubble{background:#fff}
body.tab-mei{background:#fbf7ec}.tab-mei .gnav a.on{background:var(--sumi);border-color:var(--sumi)}
/* 運命の一文字：色紙 */
.shikishi{position:relative;max-width:260px;margin:6px auto 4px;aspect-ratio:136/121;background:radial-gradient(circle,rgba(201,165,92,.55) 0 1px,transparent 1.6px) 0 0/14px 14px,#fbf4e2;border:10px solid #2b2019;outline:1px solid var(--kin);outline-offset:3px;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 20px rgba(0,0,0,.18)}
.shikishi .ichi{font-family:"Yuji Boku",var(--serif);font-size:104px;margin:0;line-height:1}.shikishi .rakkan{position:absolute;right:14px;bottom:12px;background:var(--shu);color:#fff;font-family:var(--serif);font-size:10px;font-weight:800;writing-mode:vertical-rl;padding:4px 2px}
.gokaku{display:grid;gap:8px}.gokaku div{background:#fff;border-radius:14px;padding:10px 14px;box-shadow:0 3px 0 rgba(0,0,0,.05);display:grid;grid-template-columns:52px 1fr;align-items:center}.gokaku b{font-family:"Yuji Boku",var(--serif);font-weight:400;font-size:22px}.gokaku span{font-size:13px}
@media(min-width:640px){.hero-sei .signs{grid-template-columns:repeat(6,1fr)}.axis{grid-template-columns:1fr 1fr}.juyo{grid-template-columns:320px 1fr;align-items:center}.khead{max-width:560px;margin:0 auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
