@charset "UTF-8";
:root{--ink:#21313a;--navy:#142b38;--deep:#0d202c;--gold:#ba9861;--paper:#f8f5ee;--muted:#676c6b;--line:#d8d2c5;--serif:'Yu Mincho','Hiragino Mincho ProN','Noto Serif JP',serif;--sans:'Yu Gothic','Hiragino Kaku Gothic ProN',Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:2;letter-spacing:.055em}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:500}h2{font-size:clamp(27px,3.3vw,42px);line-height:1.85;letter-spacing:.14em}h3{font-size:24px;line-height:1.8}p{margin-bottom:1.65em}strong{font-weight:600}button,a,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b68735;outline-offset:5px}button:disabled{cursor:default}.preview-note{font-size:11px;text-align:center;padding:7px 20px;background:#ede4d1;color:#594c35;letter-spacing:.03em}.preview-note a{margin-left:20px;text-decoration:underline}.header{height:100px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:var(--paper);border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;align-items:center;gap:14px;font-family:var(--serif);font-size:24px;letter-spacing:.2em;white-space:nowrap}.brand small{display:block;font-family:var(--sans);font-size:9px;letter-spacing:.14em;color:var(--muted)}.brand-mark{border:1px solid var(--gold);color:#8a6d40;border-radius:50%;width:43px;height:43px;display:grid;place-items:center;font-size:21px;letter-spacing:0}.header nav{display:flex;gap:27px;font-size:12px}.header nav a{border-bottom:1px solid transparent}.header nav a:hover{border-color:var(--gold)}.header-cta{border:1px solid #9b895f;padding:8px 18px;font-size:12px}.header-cta span{margin-left:18px}.hero{min-height:680px;position:relative;display:flex;align-items:center;background:var(--deep);color:var(--paper);overflow:hidden}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 60%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,27,39,.8),rgba(9,27,39,.5) 43%,transparent 73%)}.hero-inner{position:relative;padding:70px 9%;z-index:1;width:100%}.eyebrow{font-size:11px;letter-spacing:.23em;margin-bottom:24px;color:#8d744b}.hero .eyebrow{color:#d4c099}.hero-kicker{font-family:var(--serif);font-size:17px;letter-spacing:.2em;margin-bottom:20px}.hero h1{font-size:clamp(36px,4.3vw,62px);line-height:1.7;letter-spacing:.16em;margin:0 0 24px}.hero-rule{width:50px;height:1px;background:var(--gold);margin-bottom:24px}.hero-sub{font-family:var(--serif);font-size:24px;margin:0 0 15px;letter-spacing:.25em}.hero-sub span{font-size:12px;letter-spacing:.1em}.hero-copy{font-size:13px;line-height:2.3;color:#e1e1da;margin-bottom:30px}.button{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:54px;padding:14px 25px;border:1px solid transparent;font-size:13px;letter-spacing:.1em;transition:background .2s,color .2s;max-width:100%;text-align:left}.gold{background:#c6aa78;color:#172b36;border-color:#c6aa78}.gold:hover{background:#dac296}.outline{border-color:#8f7d5e;background:transparent;color:var(--ink)}.outline:hover{background:#eee6d6}.hero .button{width:320px}.image-caption{position:absolute;right:24px;bottom:16px;color:#d7d7ce;font-size:9px;text-shadow:0 1px 5px #000;max-width:90%;z-index:2}.section-index{display:flex;justify-content:center;align-items:center;gap:50px;padding:23px;background:#ebe6da;font-size:11px;letter-spacing:.18em}.section-index i{width:25px;height:1px;background:var(--gold)}.section{padding:105px 25px}.wrap{max-width:1060px;margin:0 auto}.section-heading{text-align:center;margin:0 auto 54px}.section-heading h2{margin-bottom:0}.chapter{display:inline-grid;place-items:center;border:1px solid #b29d78;color:#8d744b;width:32px;height:32px;font-family:var(--serif);margin-bottom:25px}.section-heading .eyebrow{margin-bottom:18px}.reading{max-width:620px;margin:0 auto;font-size:15px;line-height:2.3}.reading p:last-child{margin-bottom:0}.signature{font-family:var(--serif);text-align:right;font-size:24px;letter-spacing:.22em;margin-top:32px}.selection{background:#eee9df}.editorial-grid{display:grid;grid-template-columns:.9fr 1fr;gap:80px;align-items:center}.reading.compact{max-width:none;font-size:14px}.selection-art{height:440px;background:#182e3a;color:#c3a36b;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;border:12px solid #e0d7c7;outline:1px solid #b4a58e;outline-offset:-20px}.vertical-label{position:absolute;writing-mode:vertical-rl;top:40px;right:35px;font-family:var(--serif);font-size:23px;letter-spacing:.3em}.selection-art p{font-size:10px;margin-top:34px;letter-spacing:.22em}.rings{width:200px;height:200px;position:relative;display:grid;place-items:center}.rings i{position:absolute;border:1px solid #a88b57;border-radius:50%;inset:0}.rings i:nth-child(2){inset:18px}.rings i:nth-child(3){inset:36px}.rings span{font-family:var(--serif);font-size:47px}.handover{display:flex;align-items:center;justify-content:center;gap:70px;margin-top:70px;padding:35px;border-top:1px solid #c9c0ae;border-bottom:1px solid #c9c0ae;text-align:center}.handover small{font-size:11px;color:#8b744b;letter-spacing:.22em}.handover h3{font-size:22px;margin:5px 0}.handover p{font-size:12px;margin:0}.handover-arrow{color:#9b814e;font-size:25px}.everyday{padding-bottom:90px}.support{background:var(--navy);color:#f2eee5}.support-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px}.support .eyebrow{color:#cfb887}.support h2{font-size:31px;letter-spacing:.1em}.support-character{font-family:var(--serif);font-size:90px;line-height:1;display:block;color:#bda16c;margin:25px 0 40px}.support blockquote{margin:30px 0;padding:20px 0 20px 22px;border-left:1px solid var(--gold);font-family:var(--serif);font-size:16px}.support-counts{display:flex;gap:50px;border-top:1px solid #5b655f;padding-top:24px;margin-bottom:22px;font-family:var(--serif)}.support-counts strong{font-size:40px;font-weight:400;padding:0 8px;color:#dfc493}.small{font-size:11px;line-height:1.9;color:var(--muted)}.support .small{color:#c2c8c5}.heading-note{font-size:13px;color:var(--muted);margin-top:24px}.plan{border:1px solid #c9bfad;background:#fdfbf7;overflow:hidden}.plan.featured{display:grid;grid-template-columns:45% 55%;margin-bottom:34px;border-color:#a79066}.plan-art{position:relative;overflow:hidden;min-height:230px;display:flex;align-items:center;justify-content:center;flex-direction:column;font-family:var(--serif);color:#c5a774;background:#203c4c}.art-miyabi{background:#142b38;min-height:520px}.art-hibiki{background:#345065;color:#e4d2ac}.art-mamori{background:#ded4c0;color:#675537}.plan-rank{font-size:15px;letter-spacing:.5em;position:relative;z-index:1}.plan-kanji{font-size:75px;line-height:1.7;position:relative;z-index:1}.art-miyabi .plan-kanji{font-size:115px}.plan-reading{font-size:12px;letter-spacing:.3em;position:relative;z-index:1}.plan-art-foot{font-size:13px;letter-spacing:.2em;position:relative;z-index:1;margin-top:55px}.emblem{position:absolute;width:300px;height:300px;inset:50% auto auto 50%;transform:translate(-50%,-50%);opacity:.22;pointer-events:none}.emblem i{position:absolute;inset:0;border:1px solid currentColor;border-radius:50%}.emblem i:nth-child(2){inset:13px}.emblem i:nth-child(3){inset:26px}.art-miyabi .emblem{width:370px;height:370px}.plan-body{padding:36px 40px}.plan-body h3{font-size:25px;margin-bottom:18px;letter-spacing:.08em}.plan-body p{font-size:13px;line-height:2;margin-bottom:16px}.recommend{font-size:11px!important;color:#806333;letter-spacing:.2em;display:inline-block;border-bottom:1px solid #baa172;padding-bottom:6px;margin-bottom:24px!important}.plan-spec{margin:25px 0}.plan-spec>div{border-top:1px solid #d9d2c5;padding:10px 0;display:grid;grid-template-columns:110px 1fr;font-size:11px}.plan-spec>div:last-child{border-bottom:1px solid #d9d2c5}.plan-spec dt{color:#737165}.plan-spec dd{margin:0}.plan-spec strong{font-size:16px;font-weight:500}.plan-body .price{font-family:var(--serif);font-size:35px;letter-spacing:.03em;margin:20px 0}.price span{font-family:var(--sans);font-size:13px;margin-left:8px}.plan .button{width:100%}.pending{display:block;font-size:10px;color:#776f61;text-align:center;margin-top:8px}.secondary-plans{display:grid;grid-template-columns:1fr 1fr;gap:34px}.tailor{margin-top:34px;padding:36px 40px;display:grid;grid-template-columns:1fr 1.5fr;gap:45px;border-top:1px solid #bdb19b;border-bottom:1px solid #bdb19b}.tailor h3{font-size:27px;margin:10px 0}.tailor h3 span{display:block;font-size:12px;letter-spacing:.22em}.tailor small{font-size:11px;color:#7b6c50}.tailor p{font-size:13px}.text-link{background:none;border:0;border-bottom:1px solid #8f7954;color:var(--ink);padding:4px 0;font-size:12px;letter-spacing:.1em}.text-link span{margin-left:25px}.comparison{margin:70px auto 0;max-width:880px}.comparison h3{text-align:center;font-size:23px;margin-bottom:25px}table{border-collapse:collapse;width:100%;font-size:12px;text-align:center;table-layout:fixed}th,td{padding:16px 8px;border-bottom:1px solid #d6cdbd}thead th{font-family:var(--serif);font-size:21px;font-weight:400}thead th:first-child{font-family:var(--sans);font-size:12px}tbody th{font-weight:400;text-align:left}.selected{background:#e9e1d1}.comparison .small{margin-top:16px}.quality-note{max-width:660px;margin:65px auto 0;border-left:2px solid #b99d68;padding:0 0 0 30px}.quality-note h3{font-size:24px}.quality-note p{font-size:13px;line-height:2.1}.quality-note .eyebrow{font-size:11px}.process{background:#ebe6dc}.process-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:35px}.process-list li{position:relative;border-top:1px solid #baa783;padding-top:20px}.process-list span{font-family:var(--serif);color:#9b835a;font-size:28px}.process-list h3{font-size:18px;margin:12px 0}.process-list p{font-size:12px;line-height:2;margin:0}.reading.wide{max-width:760px}.faq details{border-bottom:1px solid #d5cdbe}.faq details:first-child{border-top:1px solid #d5cdbe}.faq summary{cursor:pointer;padding:23px 35px 23px 0;font-family:var(--serif);font-size:17px;line-height:1.8;list-style:none;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:'＋';position:absolute;right:0;top:23px;font-family:var(--sans);color:#8a7047}.faq details[open] summary::after{content:'−'}.faq details p{font-size:13px;padding:0 25px 25px 0;margin:0}.closing{background:#e9e3d7;text-align:center}.closing .reading{text-align:left;margin-top:38px;max-width:550px}.closing .button{width:350px;margin:45px auto 0}.closing h2{font-size:clamp(25px,3vw,38px)}footer{background:var(--deep);color:#f4f0e7;padding:60px 25px 110px;text-align:center}footer .brand{justify-content:center;margin-bottom:25px}footer .brand small{color:#c3b69e}footer p{font-size:11px;margin-bottom:12px}footer .small{color:#abb5b9;font-size:10px}footer>small{font-size:10px;color:#89999f}.sticky-bar{position:fixed;bottom:0;left:0;right:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:10px max(25px,calc((100vw - 1060px)/2));background:rgba(248,245,238,.97);border-top:1px solid #b8aa8e;box-shadow:0 -3px 20px #00000008}.sticky-bar>span{font-family:var(--serif);font-size:20px;letter-spacing:.2em}.sticky-bar small{font-family:var(--sans);font-size:10px;letter-spacing:.1em;margin-left:15px}.sticky-bar a{background:var(--navy);color:#f4eee0;font-size:12px;padding:10px 25px;min-width:185px;display:flex;justify-content:space-between;gap:30px}dialog{border:1px solid #b49a6a;background:var(--paper);color:var(--ink);max-width:480px;width:calc(100% - 40px);padding:45px 32px;box-shadow:0 20px 70px #0003}dialog::backdrop{background:#081924b8}dialog h2{font-size:24px;line-height:1.8}dialog p{font-size:13px}.dialog-close{position:absolute;top:8px;right:12px;font-size:26px;border:0;background:none;color:var(--ink)}.dialog-done{width:100%}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:850px){.header nav{display:none}.hero{min-height:640px}.hero-inner{padding-left:7%}.editorial-grid{gap:40px}.support-layout{gap:40px}.support h2{font-size:27px}.plan-body{padding:30px}.plan.featured{grid-template-columns:42% 58%}.plan-body h3{font-size:23px}.plan-spec>div{grid-template-columns:90px 1fr}.process-list{gap:20px}.art-miyabi .emblem{width:300px;height:300px}}
@media(max-width:600px){body{font-size:14px;letter-spacing:.035em}.preview-note{padding:7px 10px;font-size:9px}.preview-note>span{display:none}.preview-note a{margin-left:14px}.header{height:78px;padding:0 20px;gap:10px}.brand{font-size:20px;gap:10px}.brand small{font-size:8px;letter-spacing:.05em}.brand-mark{width:35px;height:35px;font-size:18px}.header-cta{font-size:10px;padding:7px 11px}.header-cta span{margin-left:7px}.hero{min-height:665px;align-items:flex-start}.hero-image{object-position:65% center;opacity:.7}.hero-shade{background:linear-gradient(90deg,rgba(9,27,39,.7),rgba(9,27,39,.15)),linear-gradient(0deg,rgba(9,27,39,.6),transparent 65%)}.hero-inner{padding:53px 27px 85px}.hero .eyebrow{font-size:10px;letter-spacing:.14em;margin-bottom:25px}.hero-kicker{font-size:13px}.hero h1{font-size:36px;line-height:1.85;letter-spacing:.1em}.hero-rule{margin-bottom:23px}.hero-sub{font-size:22px}.hero-sub span{font-size:10px}.hero-copy{font-size:12px;line-height:2.2;max-width:290px}.hero .button{width:100%;max-width:310px;font-size:12px;gap:12px}.image-caption{font-size:8px;right:16px;bottom:15px;left:25px;line-height:1.8}.section-index{gap:13px;padding:18px 12px;font-size:9px;letter-spacing:.03em}.section-index i{width:10px}.section{padding:72px 25px}.section-heading{margin-bottom:38px}.section-heading h2{font-size:27px;letter-spacing:.08em}.eyebrow{font-size:10px;letter-spacing:.15em}.chapter{margin-bottom:20px;width:28px;height:28px}.reading{font-size:14px;line-height:2.25}.reading.compact{font-size:14px}.editorial-grid{grid-template-columns:1fr;gap:42px}.selection-art{height:310px;border-width:8px}.rings{width:170px;height:170px}.vertical-label{font-size:20px;right:30px;top:35px}.selection-art p{margin-top:20px}.handover{gap:13px;padding:24px 0;margin-top:38px}.handover h3{font-size:17px;letter-spacing:.03em}.handover p{font-size:10px;max-width:125px}.handover-arrow{font-size:20px}.support-layout{grid-template-columns:1fr;gap:24px}.support-character{font-size:65px;margin:0 0 24px}.support h2{font-size:27px}.support-counts{gap:35px}.heading-note{font-size:12px;max-width:260px;margin:20px auto 0}.plan.featured{display:block;margin-bottom:25px}.art-miyabi{min-height:330px}.art-miyabi .plan-kanji{font-size:87px}.plan-art-foot{margin-top:20px;font-size:11px}.art-miyabi .emblem{width:280px;height:280px}.plan-body{padding:28px 24px}.plan-body h3{font-size:23px}.plan-body p{font-size:13px}.plan-spec>div{font-size:11px;grid-template-columns:96px 1fr}.plan-body .price{font-size:33px}.secondary-plans{grid-template-columns:1fr;gap:25px}.plan-art{min-height:230px}.plan.featured .plan-art{min-height:330px}.plan-kanji{font-size:65px}.emblem{width:210px;height:210px}.tailor{display:block;padding:28px 20px;margin-top:28px}.tailor-title{margin-bottom:16px}.tailor h3{font-size:25px}.tailor p{font-size:13px}.comparison{margin-top:50px}th,td{padding:14px 5px;font-size:10px;letter-spacing:0}thead th{font-size:20px}thead th:first-child{font-size:10px}tbody th{width:25%}.comparison .small{font-size:10px}.quality-note{padding-left:20px;margin-top:45px}.quality-note h3{font-size:21px}.quality-note p{font-size:13px}.process-list{grid-template-columns:1fr 1fr;gap:30px 22px}.process-list h3{font-size:16px}.process-list p{font-size:11px}.process .section-heading h2{font-size:25px}.faq summary{font-size:15px}.faq details p{font-size:13px}.closing h2{font-size:25px;letter-spacing:.04em}.closing .button{width:100%;font-size:12px}.sticky-bar{padding:10px 18px calc(10px + env(safe-area-inset-bottom))}.sticky-bar small{display:none}.sticky-bar>span{font-size:19px}.sticky-bar a{min-width:170px;font-size:11px;padding:9px 17px}footer{padding-bottom:105px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
