:root{--forest: #2D5C3F;--forest-dark: #1A3D29;--forest-soft: #4C7B5C;--aurora-p: #6B5B95;--aurora-p-dark: #4A3F75;--aurora-k: #C77BB8;--aurora-k-soft: #E0A8D2;--snow: #F8FAF8;--ice: #ECF0EE;--off: #FFFFFF;--paper: #F8FAF8;--paper2: #ECF0EE;--paper3: #FFFFFF;--ink: #0F1F15;--ink-soft: #3A4A40;--gray: #6F7B73;--gray-light: #B8C0BA;--line: #D9E0DA;--amber: #D4A857}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:DM Sans,Zen Kaku Gothic New,sans-serif;font-weight:400;background:var(--snow);color:var(--ink);line-height:1.85;-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,h4{font-family:Fraunces,Zen Kaku Gothic New,serif;font-weight:700;line-height:1.35;color:var(--forest-dark);letter-spacing:.01em}.font-en{font-family:Fraunces,serif}.font-jp{font-family:Zen Kaku Gothic New,sans-serif}.font-italiana{font-family:Italiana,serif}.site-header{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:18px 40px;background:#f8faf8eb;backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:padding .3s,background .3s,border-color .3s}.site-header.shrink{padding:10px 40px;background:#f8faf8fa;border-bottom:1px solid var(--line)}.brand-mark{display:flex;align-items:center;gap:13px}.brand-text{display:flex;flex-direction:column;line-height:1.2}.brand-jp{font-family:Zen Kaku Gothic New,sans-serif;font-weight:700;font-size:14.5px;letter-spacing:.08em;color:var(--forest-dark)}.brand-en{font-family:Italiana,serif;font-size:11px;letter-spacing:.28em;color:var(--aurora-p);margin-top:3px}.main-nav{display:flex;align-items:center;gap:18px}.main-nav a{font-family:Zen Kaku Gothic New,sans-serif;font-weight:500;font-size:13.5px;letter-spacing:.06em;color:var(--ink);transition:color .3s;position:relative}.main-nav a:hover{color:var(--aurora-p)}.main-nav .nav-cta{background:var(--forest);color:#fff;padding:11px 22px;font-weight:700;letter-spacing:.08em;transition:all .3s;border-radius:999px;font-size:13px}.main-nav .nav-cta:hover{background:var(--aurora-p);color:#fff}.nav-toggle{display:none;width:40px;height:40px;background:transparent;border:1px solid var(--forest);cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:999px}.nav-toggle span{display:block;width:18px;height:1.5px;background:var(--forest);transition:all .3s}main{min-height:60vh;padding-top:84px}.hero{min-height:92vh;position:relative;display:flex;align-items:center;justify-content:center;background:var(--snow);overflow:hidden;padding:80px 40px}.hero:before{content:"";position:absolute;inset:0;background:conic-gradient(from 180deg at 90% 10%,#6b5b951a,#c77bb80f,#2d5c3f1a,#6b5b951a);filter:blur(60px);z-index:0;animation:auroraSpin 24s linear infinite}@keyframes auroraSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.hero-inner{max-width:1240px;width:100%;display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center;position:relative;z-index:2}.hero-content{position:relative}.hero-eyebrow{font-family:Italiana,serif;font-size:15px;letter-spacing:.36em;color:var(--aurora-p);margin-bottom:26px}.hero-title{font-family:Fraunces,Zen Kaku Gothic New,serif;font-size:clamp(30px,4.2vw,52px);font-weight:700;letter-spacing:.02em;line-height:1.4;margin-bottom:30px;color:var(--forest-dark)}.hero-title .accent{background:linear-gradient(90deg,var(--aurora-p),var(--aurora-k));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-sub{font-size:16px;letter-spacing:.04em;font-weight:400;color:var(--ink-soft);margin-bottom:38px;line-height:1.95;max-width:580px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.hero-image{position:relative}.hero-image img{width:100%;height:540px;object-fit:cover;border-radius:6px;background:var(--ice)}.hero-image:after{content:"";position:absolute;left:-18px;top:-18px;width:90px;height:90px;border-top:2px solid var(--aurora-p);border-left:2px solid var(--aurora-p);border-radius:6px 0 0}.hero-image:before{content:"";position:absolute;right:-18px;bottom:-18px;width:90px;height:90px;border-bottom:2px solid var(--forest);border-right:2px solid var(--forest);border-radius:0 0 6px}.parallax-flake{position:absolute;pointer-events:none;opacity:.07;z-index:0}.page-hero{padding:150px 40px 80px;background:linear-gradient(180deg,var(--ice) 0%,var(--snow) 100%);position:relative;text-align:center;overflow:hidden}.page-hero:before{content:"";position:absolute;inset:0;background:conic-gradient(from 90deg at 50% 50%,#6b5b9514,#c77bb80d,#2d5c3f14,#6b5b9514);filter:blur(80px);z-index:0;animation:auroraSpin 30s linear infinite}.page-hero>*{position:relative;z-index:1}.page-hero h1{font-family:Fraunces,Zen Kaku Gothic New,serif;font-size:clamp(30px,4vw,46px);letter-spacing:.06em;margin-bottom:14px;color:var(--forest-dark)}.page-hero .page-en{font-family:Italiana,serif;color:var(--aurora-p);letter-spacing:.36em;font-size:15px;margin-bottom:14px}.page-hero p.lead-sub{max-width:720px;margin:18px auto 0;font-size:15px;color:var(--ink-soft);font-weight:400}section.block{padding:100px 40px;max-width:1240px;margin:0 auto;position:relative}section.block.paper2{background:var(--ice);max-width:none;padding-left:max(40px,calc((100vw - 1240px)/2));padding-right:max(40px,calc((100vw - 1240px)/2))}section.block.paper3{background:var(--off);max-width:none;padding-left:max(40px,calc((100vw - 1240px)/2));padding-right:max(40px,calc((100vw - 1240px)/2))}.eyebrow{font-family:Italiana,serif;color:var(--aurora-p);letter-spacing:.36em;font-size:13px;margin-bottom:14px;display:block;font-weight:400}h2.section-title{font-family:Fraunces,Zen Kaku Gothic New,serif;font-size:clamp(26px,3.2vw,38px);margin-bottom:36px;letter-spacing:.04em;color:var(--forest-dark);font-weight:700}.section-deco{width:56px;height:2px;background:linear-gradient(90deg,var(--aurora-p),var(--aurora-k));margin-bottom:24px}.lead{font-size:16px;line-height:2;max-width:820px;font-weight:400;color:var(--ink-soft)}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.grid-5{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}.card{background:var(--off);padding:36px 30px;border:1px solid var(--line);border-radius:8px;transition:all .4s;position:relative;overflow:hidden}.card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#6b5b950d,#c77bb808);opacity:0;transition:opacity .4s;pointer-events:none}.card:hover{transform:translateY(-6px);box-shadow:0 18px 40px #2d5c3f1f;border-color:var(--forest-soft)}.card:hover:before{opacity:1}.card .card-num{font-family:Italiana,serif;font-size:14px;color:var(--aurora-p);letter-spacing:.28em;margin-bottom:10px}.card h3{font-family:Fraunces,Zen Kaku Gothic New,serif;font-size:18px;margin-bottom:12px;color:var(--forest-dark);font-weight:700}.card p{font-size:14px;color:var(--ink-soft);line-height:1.9;font-weight:400}.field-card{background:var(--off);border:1px solid var(--line);border-radius:8px;padding:0;overflow:hidden;transition:all .4s;display:block;position:relative}.field-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px #2d5c3f1f;border-color:var(--forest-soft)}.field-card img{width:100%;height:220px;object-fit:cover;background:var(--ice);filter:grayscale(.35);transition:filter .5s,transform .5s}.field-card:hover img{filter:grayscale(0);transform:scale(1.04)}.field-card .field-body{padding:24px 26px}.field-card h3{font-size:17px;margin-bottom:8px}.field-card p{font-size:13px;color:var(--ink-soft)}.hex-icon{width:56px;height:56px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:18px;transition:transform .6s ease}.card:hover .hex-icon{transform:rotate(60deg)}.hex-icon svg{width:100%;height:100%}.btn{display:inline-block;padding:16px 38px;background:var(--forest);color:#fff;font-family:Zen Kaku Gothic New,sans-serif;font-weight:700;letter-spacing:.1em;font-size:14px;transition:all .3s ease;border:1px solid var(--forest);border-radius:999px;cursor:pointer}.btn:hover{background:var(--forest-dark);border-color:var(--forest-dark);color:#fff}.btn.btn-aurora{background:linear-gradient(90deg,var(--aurora-p),var(--aurora-k));border-color:var(--aurora-p);color:#fff}.btn.btn-aurora:hover{background:linear-gradient(90deg,var(--aurora-p-dark),var(--aurora-p));border-color:var(--aurora-p-dark);color:#fff}.btn.btn-outline{background:transparent;color:var(--forest)}.btn.btn-outline:hover{background:var(--forest);color:#fff}.cta-band{background:radial-gradient(ellipse at top right,rgba(199,123,184,.18),transparent 60%),radial-gradient(ellipse at bottom left,rgba(45,92,63,.18),transparent 60%),var(--snow);padding:90px 40px;text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.cta-band h2{font-size:clamp(24px,3vw,36px);color:var(--forest-dark);margin-bottom:18px}.cta-band p{color:var(--ink-soft);margin-bottom:32px;max-width:660px;margin-left:auto;margin-right:auto}.site-footer{background:var(--ice);color:var(--ink);padding:80px 40px 40px;border-top:1px solid var(--line)}.footer-inner{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1.2fr 1.1fr 1fr;gap:48px}.footer-script{font-family:Italiana,serif;font-size:26px;color:var(--aurora-p);margin-bottom:10px;letter-spacing:.04em}.footer-name{font-family:Fraunces,Zen Kaku Gothic New,serif;font-weight:700;color:var(--forest-dark);margin-bottom:8px;font-size:15px}.footer-tag{font-size:13px;color:var(--ink-soft);font-weight:500}.footer-info p{font-size:13px;margin-bottom:6px;color:var(--ink-soft);font-weight:400}.footer-note{font-size:11px!important;color:var(--gray)!important;margin-top:6px}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;font-size:13px}.footer-links a{color:var(--ink-soft);font-weight:500}.footer-links a:hover{color:var(--aurora-p)}.footer-copy{margin-top:60px;text-align:center;font-size:12px;letter-spacing:.28em;color:var(--gray);font-family:Italiana,serif}.intro-overlay{position:fixed;inset:0;background:#f8faf8;z-index:9999;display:flex;align-items:center;justify-content:center;transition:opacity .7s ease}.intro-overlay canvas{max-width:94vw;height:auto}.intro-skip{position:absolute;top:22px;right:26px;background:transparent;border:1px solid #2D5C3F;color:#2d5c3f;padding:6px 18px;font-family:Italiana,serif;letter-spacing:.3em;font-size:12px;cursor:pointer;border-radius:999px}.tbl{width:100%;border-collapse:collapse;font-size:14px;background:var(--off);border-radius:8px;overflow:hidden;border:1px solid var(--line)}.tbl th,.tbl td{padding:18px 22px;text-align:left;border-bottom:1px solid var(--line);font-weight:400}.tbl th{width:240px;color:var(--forest-dark);background:var(--ice);font-family:Fraunces,Zen Kaku Gothic New,serif;font-weight:700}.tbl td .note{display:block;font-size:12px;color:var(--gray);margin-top:4px}.price-row{display:grid;grid-template-columns:1.4fr 1fr 1.6fr;gap:0;padding:24px 26px;border-bottom:1px solid var(--line);align-items:start;background:var(--off)}.price-row:nth-child(2n){background:var(--ice)}.price-row .price-title{font-family:Fraunces,Zen Kaku Gothic New,serif;font-weight:700;color:var(--forest-dark);font-size:16px}.price-row .price-amount{font-family:Fraunces,serif;color:var(--aurora-p);font-weight:700;font-size:17px}.price-row .price-note{color:var(--ink-soft);font-size:14px;font-weight:400}.timeline{position:relative;padding-left:36px;border-left:2px solid var(--aurora-p);list-style:none}.timeline li{margin-bottom:24px;padding-left:20px;position:relative;font-size:14px;font-weight:400;line-height:1.9}.timeline li:before{content:"";position:absolute;left:-45px;top:8px;width:12px;height:12px;background:var(--aurora-p);border-radius:50%;box-shadow:0 0 0 4px #6b5b9526}.timeline li strong{color:var(--forest-dark);font-family:Fraunces,Zen Kaku Gothic New,serif;font-weight:700;display:inline-block;min-width:110px;margin-right:8px}ul.list-clean{list-style:none}ul.list-clean li{padding-left:22px;position:relative;margin-bottom:10px;font-size:14px;font-weight:400;line-height:1.9;color:var(--ink-soft)}ul.list-clean li:before{content:"◆";position:absolute;left:0;color:var(--aurora-p);font-size:10px;top:6px}ul.list-check{list-style:none}ul.list-check li{padding-left:26px;position:relative;margin-bottom:12px;font-size:14px;font-weight:400;line-height:1.85;color:var(--ink-soft)}ul.list-check li:before{content:"✓";position:absolute;left:0;color:var(--forest);font-weight:700}.notice{background:var(--ice);border-left:3px solid var(--aurora-p);padding:20px 26px;font-size:13px;color:var(--ink-soft);font-weight:400;line-height:1.85;border-radius:0 6px 6px 0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}.stat-item{padding:36px 14px;border:1px solid var(--line);background:var(--off);border-radius:10px;position:relative;overflow:hidden}.stat-item:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--aurora-p),var(--aurora-k))}.stat-num{font-family:Fraunces,serif;font-size:44px;font-weight:700;color:var(--forest-dark);display:block;line-height:1.1;margin-bottom:8px}.stat-label{font-size:13px;color:var(--ink-soft);font-weight:500;letter-spacing:.05em}.chips{display:flex;flex-wrap:wrap;gap:10px}.chip{display:inline-block;padding:7px 16px;border:1px solid var(--aurora-p);color:var(--aurora-p);font-size:12px;font-weight:600;letter-spacing:.08em;background:var(--off);border-radius:999px}.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s ease,transform .9s ease}.reveal.in-view{opacity:1;transform:translateY(0)}.reveal.delay-1{transition-delay:.1s}.reveal.delay-2{transition-delay:.2s}.reveal.delay-3{transition-delay:.3s}.h-scroll{display:flex;gap:22px;overflow-x:auto;padding:10px 4px 30px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.h-scroll::-webkit-scrollbar{height:6px}.h-scroll::-webkit-scrollbar-thumb{background:var(--aurora-p);border-radius:999px}.h-scroll .h-card{flex:0 0 320px;scroll-snap-align:start;background:var(--off);border:1px solid var(--line);border-radius:10px;overflow:hidden}.h-scroll .h-card img{width:100%;height:200px;object-fit:cover}.h-scroll .h-card .h-body{padding:20px 22px}.h-scroll .h-card .h-label{font-family:Italiana,serif;color:var(--aurora-p);font-size:12px;letter-spacing:.28em;margin-bottom:6px}.h-scroll .h-card h4{font-family:Fraunces,Zen Kaku Gothic New,serif;color:var(--forest-dark);font-size:16px;margin-bottom:6px;font-weight:700}.h-scroll .h-card p{font-size:13px;color:var(--ink-soft)}.sticky-section{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}.sticky-section .sticky-img{position:sticky;top:110px}.sticky-section .sticky-img img{width:100%;height:520px;object-fit:cover;border-radius:10px}.sticky-section .sticky-body{padding-top:8px}.sticky-section .sticky-body p{margin-bottom:22px;color:var(--ink-soft)}.pillar{background:var(--off);border:1px solid var(--line);padding:38px 32px;border-radius:10px;transition:all .4s}.pillar:hover{transform:translateY(-6px);border-color:var(--aurora-p);box-shadow:0 18px 40px #2d5c3f1f}.pillar .pillar-num{font-family:Italiana,serif;color:var(--aurora-p);font-size:14px;letter-spacing:.28em;margin-bottom:16px}.pillar h3{font-size:19px;margin-bottom:14px;color:var(--forest-dark);font-weight:700}.pillar p{font-size:14px;color:var(--ink-soft);line-height:1.9}.pillar ul.list-clean{margin-top:14px}@media(max-width:1100px){.main-nav{gap:12px}.main-nav a{font-size:12.5px}}@media(max-width:980px){.nav-toggle{display:flex}.main-nav{position:fixed;top:0;left:0;right:0;height:100vh;background:var(--snow);flex-direction:column;justify-content:center;padding:80px 40px 40px;transform:translate(100%);transition:transform .4s;gap:24px;overflow-y:auto}.main-nav.open{transform:translate(0)}.main-nav a{font-size:16px}.hero-inner{grid-template-columns:1fr;gap:40px}.hero-image{order:-1}.hero-image img{height:320px}.grid-3,.grid-4,.grid-5,.grid-2{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.footer-inner{grid-template-columns:1fr;gap:32px}section.block{padding:70px 24px}.page-hero{padding:120px 24px 60px}.hero{padding:110px 24px 70px;min-height:auto}.site-header{padding:12px 20px}.site-header.shrink{padding:10px 20px}.price-row{grid-template-columns:1fr;gap:8px}.sticky-section{grid-template-columns:1fr;gap:30px}.sticky-section .sticky-img{position:relative;top:0}.sticky-section .sticky-img img{height:280px}}
