:root{--ink: #1A1F1B;--ink-soft: #3D453E;--ink-mute: #6E7570;--emerald: #0E6B5A;--emerald-deep: #0A4E42;--emerald-soft: #2C8A78;--emerald-pale: #E5F0EC;--gold: #B8924F;--gold-deep: #8E6E36;--gold-soft: #D4B47A;--gold-pale: #F2E9D2;--burgundy: #6B2A36;--paper: #FFFFFF;--paper-cream: #FAFAFA;--paper-warm: #F5F5F5;--paper-deep: #EEEEEE;--line: #DDD3BC;--line-soft: #EBE3CD;--line-dark: #C3B997}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Noto Sans JP,"Source Serif 4",sans-serif;color:var(--ink);background:var(--paper);font-size:16px;line-height:1.9;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"palt" 1}.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:18px 48px;display:flex;align-items:center;justify-content:space-between;background:#fffffff5;backdrop-filter:blur(10px);border-bottom:1px solid var(--line-soft);transition:padding .3s ease}.nav-brand{display:flex;align-items:center;gap:14px}.nav-brand svg{width:36px;height:36px}.nav-brand-text{display:flex;flex-direction:column;line-height:1.15}.nav-brand-en{font-family:Libre Caslon Text,serif;font-weight:700;font-size:13.5px;letter-spacing:.22em;color:var(--emerald)}.nav-brand-jp{font-family:Shippori Mincho,serif;font-weight:600;font-size:11px;letter-spacing:.18em;color:var(--ink-soft);margin-top:3px}.nav-links{display:flex;align-items:center;gap:26px;font-family:Shippori Mincho,serif;font-size:13.5px;font-weight:500}.nav-links a{color:var(--ink-soft);text-decoration:none;letter-spacing:.06em;transition:color .2s ease;position:relative;padding-bottom:4px}.nav-links a:hover{color:var(--emerald)}.nav-links a:after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:1px;background:var(--gold);transition:width .3s ease}.nav-links a:hover:after{width:100%}.nav-links a.cta{background:var(--emerald);color:var(--paper);padding:9px 18px;border-radius:2px;letter-spacing:.1em}.nav-links a.cta:hover{background:var(--emerald-deep);color:var(--paper)}.nav-links a.cta:after{display:none}.nav-toggle{display:none;width:40px;height:40px;background:transparent;border:1px solid var(--emerald);cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px}.nav-toggle span{display:block;width:18px;height:1.5px;background:var(--emerald)}main{padding-top:0}.container{max-width:1180px;margin:0 auto;padding:0 32px}.container-wide{max-width:1320px;margin:0 auto;padding:0 32px}.container-tight{max-width:920px;margin:0 auto;padding:0 32px}section.block{padding:110px 0}section.block.paper{background:var(--paper)}section.block.paper2{background:var(--paper-warm)}section.block.paper3{background:var(--paper-cream)}section.block.paper4{background:var(--paper-deep)}.eyebrow{font-family:Libre Caslon Text,serif;font-style:italic;color:var(--gold-deep);letter-spacing:.32em;font-size:12px;text-transform:uppercase;margin-bottom:16px;display:block;font-weight:400}h1,h2,h3,h4{font-family:Shippori Mincho,serif;color:var(--emerald-deep);line-height:1.5;letter-spacing:.06em}h2.section-title{font-size:clamp(26px,3.2vw,36px);margin-bottom:24px;font-weight:600}h2.section-title .en{display:block;font-family:Libre Caslon Text,serif;font-style:italic;font-size:14px;letter-spacing:.3em;color:var(--gold-deep);margin-top:12px;text-transform:uppercase;font-weight:400}.section-deco{width:56px;height:1px;background:var(--gold);margin:28px 0}.lead{font-size:16.5px;line-height:2.05;color:var(--ink-soft);max-width:740px}.hero{padding:180px 32px 130px;background:radial-gradient(circle at 80% 20%,rgba(184,146,79,.06) 0%,transparent 50%),linear-gradient(180deg,var(--paper) 0%,var(--paper) 100%);position:relative;overflow:hidden}.hero:before{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent 0%,var(--gold) 50%,transparent 100%);opacity:.4}.hero-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:64px;align-items:center;max-width:1280px;margin:0 auto}.hero-eyebrow{font-family:Libre Caslon Text,serif;font-style:italic;color:var(--gold-deep);letter-spacing:.4em;font-size:13px;text-transform:uppercase;margin-bottom:28px;display:block}.hero h1{font-family:Shippori Mincho,serif;font-size:clamp(32px,4.6vw,54px);font-weight:700;line-height:1.42;margin-bottom:32px;color:var(--emerald-deep);letter-spacing:.04em}.hero h1 .accent{color:var(--gold-deep)}.hero p.hero-sub{font-size:16px;line-height:2.05;color:var(--ink-soft);margin-bottom:40px;max-width:540px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.hero-meta{margin-top:48px;display:flex;gap:36px;flex-wrap:wrap;padding-top:28px;border-top:1px solid var(--line)}.hero-meta-item .label{display:block;font-family:Libre Caslon Text,serif;font-style:italic;font-size:11px;letter-spacing:.28em;color:var(--gold-deep);margin-bottom:6px;text-transform:uppercase}.hero-meta-item .value{font-family:Shippori Mincho,serif;font-size:15px;font-weight:600;color:var(--emerald);letter-spacing:.05em}.hero-visual{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--paper-cream)}.hero-visual img{width:100%;height:100%;object-fit:cover;filter:contrast(1.04) saturate(.92)}.hero-visual:before{content:"";position:absolute;left:-18px;top:-18px;width:92px;height:92px;border-top:1.5px solid var(--gold);border-left:1.5px solid var(--gold);z-index:2}.hero-visual:after{content:"";position:absolute;right:-18px;bottom:-18px;width:92px;height:92px;border-bottom:1.5px solid var(--emerald);border-right:1.5px solid var(--emerald);z-index:2}.hero-visual-caption{position:absolute;bottom:20px;left:20px;background:#0e4e42eb;color:var(--paper-cream);padding:10px 16px;font-family:Libre Caslon Text,serif;font-style:italic;font-size:12px;letter-spacing:.18em;z-index:3}.page-hero{padding:170px 32px 90px;background:linear-gradient(180deg,var(--paper) 0%,var(--paper) 100%);border-bottom:1px solid var(--line-soft);text-align:center}.page-hero .container{max-width:880px}.page-hero h1{font-family:Shippori Mincho,serif;font-size:clamp(28px,4vw,42px);color:var(--emerald-deep);letter-spacing:.08em;margin-bottom:16px;font-weight:700}.page-hero .page-en{font-family:Libre Caslon Text,serif;font-style:italic;color:var(--gold-deep);letter-spacing:.4em;font-size:13px;margin-bottom:14px;text-transform:uppercase}.page-hero p{max-width:720px;margin:20px auto 0;color:var(--ink-soft);font-size:15.5px;line-height:2}.btn{display:inline-flex;align-items:center;gap:12px;padding:16px 36px;background:var(--emerald);color:var(--paper);font-family:Shippori Mincho,serif;font-weight:600;letter-spacing:.16em;font-size:14px;text-decoration:none;border:1px solid var(--emerald);border-radius:2px;transition:all .3s ease;cursor:pointer}.btn:after{content:"→";font-family:Libre Caslon Text,serif;font-style:italic;transition:transform .3s ease}.btn:hover{background:var(--emerald-deep);border-color:var(--emerald-deep)}.btn:hover:after{transform:translate(4px)}.btn.btn-gold{background:var(--gold);border-color:var(--gold);color:var(--paper)}.btn.btn-gold:hover{background:var(--gold-deep);border-color:var(--gold-deep)}.btn.btn-outline{background:transparent;color:var(--emerald);border:1px solid var(--emerald)}.btn.btn-outline:hover{background:var(--emerald);color:var(--paper)}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.card{background:var(--paper);border:1px solid var(--line);border-top:2px solid var(--emerald);padding:34px 30px;transition:all .3s ease;position:relative}.card:hover{transform:translateY(-3px);box-shadow:0 18px 38px #0e6b5a1a;border-top-color:var(--gold)}.card .card-num{font-family:Libre Caslon Text,serif;font-style:italic;font-size:13px;color:var(--gold-deep);letter-spacing:.22em;margin-bottom:14px;text-transform:uppercase}.card h3{font-family:Shippori Mincho,serif;font-size:18px;margin-bottom:14px;color:var(--emerald-deep);font-weight:600;letter-spacing:.04em}.card p{font-size:14px;line-height:1.95;color:var(--ink-soft)}.field-card{background:var(--paper);border:1px solid var(--line);overflow:hidden;transition:all .3s ease}.field-card:hover{transform:translateY(-3px);box-shadow:0 18px 38px #0e6b5a1a}.field-card-image{aspect-ratio:5/3;overflow:hidden;background:var(--paper-cream)}.field-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;filter:contrast(1.04) saturate(.92)}.field-card:hover .field-card-image img{transform:scale(1.05)}.field-card-body{padding:26px 28px}.field-card-body h3{font-family:Shippori Mincho,serif;font-size:17px;margin-bottom:12px;color:var(--emerald-deep);font-weight:600}.field-card-body p{font-size:13.5px;line-height:1.95;color:var(--ink-soft)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stat{padding:36px 24px;text-align:center;border-right:1px solid var(--line)}.stat:last-child{border-right:none}.stat-num{font-family:Libre Caslon Text,serif;font-weight:700;font-size:42px;color:var(--emerald);line-height:1.1;margin-bottom:8px;letter-spacing:.02em}.stat-num .unit{font-family:Shippori Mincho,serif;font-size:16px;color:var(--gold-deep);margin-left:4px;font-weight:600}.stat-label{font-family:Shippori Mincho,serif;font-size:12.5px;color:var(--ink-soft);letter-spacing:.08em;font-weight:500}ul.list-clean{list-style:none}ul.list-clean li{padding-left:24px;position:relative;margin-bottom:12px;font-size:14.5px;font-weight:500;line-height:1.95;color:var(--ink-soft)}ul.list-clean li:before{content:"◆";position:absolute;left:0;top:4px;color:var(--gold);font-size:10px}ul.list-check{list-style:none}ul.list-check li{padding-left:28px;position:relative;margin-bottom:14px;font-size:14.5px;font-weight:500;line-height:1.9;color:var(--ink-soft)}ul.list-check li:before{content:"✓";position:absolute;left:0;top:1px;color:var(--emerald);font-weight:700}.timeline{position:relative;padding-left:36px;border-left:1px solid var(--gold);list-style:none}.timeline li{margin-bottom:24px;padding-left:22px;position:relative;font-size:14.5px;font-weight:500;line-height:1.95;color:var(--ink-soft)}.timeline li:before{content:"";position:absolute;left:-42px;top:8px;width:10px;height:10px;background:var(--gold);border-radius:50%;border:2px solid var(--paper-warm)}.timeline li strong{color:var(--emerald-deep);font-family:Shippori Mincho,serif;font-weight:700;display:inline-block;min-width:90px;margin-right:10px;letter-spacing:.05em}.tbl{width:100%;border-collapse:collapse;font-size:14.5px}.tbl th,.tbl td{padding:18px 22px;text-align:left;border-bottom:1px solid var(--line);font-weight:500;line-height:1.85}.tbl th{width:220px;color:var(--emerald-deep);background:var(--paper-cream);font-family:Shippori Mincho,serif;font-weight:600;letter-spacing:.04em}.tbl td{color:var(--ink-soft)}.price-row{display:grid;grid-template-columns:1.4fr 1fr 1.6fr;gap:0;padding:26px 28px;border-bottom:1px solid var(--line);align-items:start;background:var(--paper);transition:background .2s ease}.price-row:hover{background:var(--paper-warm)}.price-row .price-title{font-family:Shippori Mincho,serif;font-weight:600;color:var(--emerald-deep);font-size:16px;letter-spacing:.04em}.price-row .price-amount{font-family:Shippori Mincho,serif;color:var(--gold-deep);font-weight:700;font-size:17px}.price-row .price-note{color:var(--ink-soft);font-size:14px;font-weight:500;line-height:1.85}.chips{display:flex;flex-wrap:wrap;gap:10px}.chip{display:inline-block;padding:7px 16px;border:1px solid var(--gold);color:var(--emerald-deep);font-size:12px;font-family:Shippori Mincho,serif;font-weight:600;letter-spacing:.06em;background:var(--paper);border-radius:2px}.notice{background:var(--paper-cream);border-left:3px solid var(--gold);padding:22px 28px;font-size:13.5px;color:var(--ink-soft);font-weight:500;line-height:1.95}.quote{padding:30px 36px;border-left:3px solid var(--emerald);background:var(--paper-warm);font-family:Shippori Mincho,serif;font-style:italic;color:var(--ink-soft);font-size:15px;line-height:2.05}.quote:before{content:'"';font-family:Libre Caslon Text,serif;font-size:40px;color:var(--gold);line-height:0;vertical-align:-10px;margin-right:6px}.book-card{background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--burgundy);padding:30px 28px;transition:all .3s ease}.book-card:hover{transform:translateY(-3px);box-shadow:0 14px 32px #6b2a361a}.book-card .book-num{font-family:Libre Caslon Text,serif;font-style:italic;color:var(--burgundy);font-size:13px;letter-spacing:.22em;margin-bottom:12px;text-transform:uppercase}.book-card h3{font-family:Shippori Mincho,serif;font-size:16.5px;margin-bottom:12px;color:var(--emerald-deep);font-weight:600;letter-spacing:.04em;line-height:1.5}.book-card .book-publisher{font-size:12px;color:var(--gold-deep);font-family:Libre Caslon Text,serif;font-style:italic;letter-spacing:.12em;margin-bottom:10px}.book-card p{font-size:13px;color:var(--ink-soft);line-height:1.9}.media-card{background:var(--paper);border:1px solid var(--line);padding:22px 26px;border-left:3px solid var(--gold);transition:all .3s ease}.media-card:hover{background:var(--paper-warm)}.media-card .media-label{font-family:Libre Caslon Text,serif;font-style:italic;color:var(--gold-deep);font-size:12px;letter-spacing:.22em;margin-bottom:8px;text-transform:uppercase}.media-card h3{font-family:Shippori Mincho,serif;font-size:15.5px;margin-bottom:8px;color:var(--emerald-deep);font-weight:600}.media-card p{font-size:13px;color:var(--ink-soft);line-height:1.85}.accent-frame{padding:56px 48px;border:1px solid var(--gold);background:var(--paper-warm);position:relative;text-align:center}.accent-frame:before{content:"";position:absolute;inset:6px;border:1px solid var(--gold-soft);pointer-events:none}.accent-frame h2{color:var(--emerald-deep);margin-bottom:16px}.accent-frame p{color:var(--ink-soft);margin-bottom:28px;max-width:640px;margin-left:auto;margin-right:auto}.site-footer{background:var(--paper-deep);color:var(--ink-soft);padding:80px 32px 36px;border-top:1px solid var(--line)}.footer-inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.3fr 1.1fr 1fr;gap:56px}.footer-script{font-family:Libre Caslon Text,serif;font-style:italic;font-size:24px;color:var(--emerald);margin-bottom:12px;letter-spacing:.05em}.footer-name{font-family:Shippori Mincho,serif;font-weight:700;color:var(--emerald-deep);margin-bottom:10px;font-size:15px;letter-spacing:.05em}.footer-tag{font-size:13px;color:var(--ink-soft);font-weight:500;line-height:1.85}.footer-info p{font-size:13px;margin-bottom:6px;color:var(--ink-soft);font-weight:500}.footer-info a{color:var(--emerald);text-decoration:none}.footer-info a:hover{color:var(--gold-deep)}.footer-note{font-size:11px!important;color:var(--ink-mute)!important;margin-top:8px}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;font-size:13px;font-family:Shippori Mincho,serif}.footer-links a{color:var(--ink-soft);text-decoration:none;font-weight:500;letter-spacing:.04em}.footer-links a:hover{color:var(--gold-deep)}.footer-copy{margin-top:60px;text-align:center;font-size:11px;letter-spacing:.32em;color:var(--ink-mute);font-family:Libre Caslon Text,serif;font-style:italic;text-transform:uppercase}@media(max-width:1100px){.nav-links{gap:18px}.nav-links a{font-size:12.5px}}@media(max-width:980px){.nav-toggle{display:flex}.nav-links{position:fixed;top:0;left:0;right:0;height:100vh;background:var(--paper-cream);flex-direction:column;justify-content:center;padding:80px 40px 40px;transform:translate(100%);transition:transform .4s;gap:22px;overflow-y:auto}.nav-links.open{transform:translate(0)}.nav-links a{font-size:15px}.hero{padding:130px 24px 90px}.hero-grid{grid-template-columns:1fr;gap:48px}.hero-visual{aspect-ratio:4/3}.grid-3,.grid-4,.grid-2{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.stat{border-right:none;border-bottom:1px solid var(--line)}.stat:nth-child(2){border-right:none}.stat:nth-child(odd){border-right:1px solid var(--line)}.stat:nth-last-child(-n+2){border-bottom:none}.footer-inner{grid-template-columns:1fr;gap:32px}section.block{padding:70px 0}.page-hero{padding:130px 24px 70px}.nav{padding:14px 24px}.price-row{grid-template-columns:1fr;gap:8px}.accent-frame{padding:40px 24px}}
