:root{--rose: #B57A7A;--rose-deep: #8E5A5C;--rose-soft: #D9B3B3;--olive: #5B6B4A;--olive-soft: #7A8B65;--olive-pale: #C8D1B9;--cream: #F5EFE0;--cream-soft: #FAF6EC;--pearl: #F4E8E5;--paper-white: #FCFAF5;--ink: #2A2520;--ink-soft: #5C544D;--ink-light: #8A8278;--line: #E5DED1;--line-soft: #F0E9DC;--paper: var(--paper-white);--paper-2: var(--cream);--paper-3: var(--pearl)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Noto Sans JP,Inter,sans-serif;font-weight:400;background:var(--paper-white);color:var(--ink);line-height:1.95;-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:Shippori Mincho,Cormorant Garamond,serif;font-weight:600;line-height:1.5;color:var(--ink);letter-spacing:.02em}.font-serif-en{font-family:Cormorant Garamond,serif;font-style:italic}.font-serif-jp{font-family:Shippori Mincho,serif}.font-sans-jp{font-family:Noto Sans JP,sans-serif}.site-header{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:22px 44px;background:#fcfaf5eb;backdrop-filter:blur(12px);border-bottom:1px solid var(--line-soft);transition:padding .3s ease}.site-header.shrink{padding:12px 44px;background:#fcfaf5f7}.brand-mark{display:flex;align-items:center;gap:14px}.brand-glyph{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center}.brand-glyph svg{width:40px;height:40px}.brand-text{display:flex;flex-direction:column;line-height:1.3}.brand-jp{font-family:Shippori Mincho,serif;font-weight:600;font-size:14.5px;letter-spacing:.08em;color:var(--ink)}.brand-en{font-family:Cormorant Garamond,serif;font-style:italic;font-size:11px;letter-spacing:.28em;color:var(--olive);margin-top:2px}.main-nav{display:flex;align-items:center;gap:20px}.main-nav a{font-family:Noto Sans JP,sans-serif;font-weight:500;font-size:13px;letter-spacing:.08em;color:var(--ink);transition:color .3s;position:relative;padding-bottom:4px}.main-nav a:not(.nav-cta):after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--rose);transition:width .3s ease}.main-nav a:not(.nav-cta):hover:after{width:100%}.main-nav a:hover{color:var(--rose-deep)}.main-nav .nav-cta{background:var(--rose);color:#fff;padding:10px 22px;font-weight:600;letter-spacing:.1em;transition:background .25s}.main-nav .nav-cta:hover{background:var(--rose-deep);color:#fff}.main-nav .nav-cta:after{display:none}.nav-toggle{display:none;width:42px;height:42px;background:transparent;border:1px solid var(--rose);cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:4px}.nav-toggle span{display:block;width:16px;height:1.5px;background:var(--rose);transition:all .3s}main{min-height:60vh;padding-top:86px;position:relative}.hero{min-height:88vh;position:relative;display:flex;align-items:center;justify-content:center;background:var(--paper-white);overflow:hidden;padding:100px 44px 80px}.hero:before{content:"";position:absolute;top:10%;right:-120px;width:320px;height:320px;background:radial-gradient(circle,rgba(181,122,122,.1) 0%,transparent 70%);border-radius:50%}.hero:after{content:"";position:absolute;bottom:5%;left:-100px;width:280px;height:280px;background:radial-gradient(circle,rgba(91,107,74,.08) 0%,transparent 70%);border-radius:50%}.hero-inner{max-width:1240px;width:100%;display:grid;grid-template-columns:1.15fr 1fr;gap:70px;align-items:center;position:relative;z-index:3}.hero-content{position:relative}.hero-eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:Cormorant Garamond,serif;font-style:italic;font-size:14px;letter-spacing:.28em;color:var(--olive);margin-bottom:28px;font-weight:500}.hero-eyebrow:before{content:"";width:28px;height:1px;background:var(--olive);display:inline-block}.hero-title{font-family:Shippori Mincho,serif;font-size:clamp(32px,4.6vw,56px);font-weight:600;letter-spacing:.04em;line-height:1.55;margin-bottom:32px;color:var(--ink)}.hero-title .accent{color:var(--rose-deep);font-style:normal;border-bottom:1px solid var(--rose-soft);padding-bottom:2px}.hero-sub{font-size:15.5px;letter-spacing:.05em;font-weight:400;color:var(--ink-soft);margin-bottom:40px;line-height:2.05;max-width:540px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.hero-image{position:relative}.hero-image img{width:100%;height:540px;object-fit:cover;background:var(--cream);box-shadow:0 24px 60px -24px #2a252040}.hero-image .float-badge{position:absolute;background:var(--paper-white);padding:16px 22px;box-shadow:0 12px 28px #2a25201f;font-size:12px;font-weight:600;display:flex;align-items:center;gap:10px;border-left:2px solid var(--rose);letter-spacing:.06em}.hero-image .float-badge.b1{top:36px;left:-28px}.hero-image .float-badge.b2{bottom:60px;right:-28px;border-left-color:var(--olive)}.page-hero{padding:170px 44px 90px;background:var(--cream);position:relative;text-align:center;overflow:hidden}.page-hero:before{content:"";position:absolute;top:50%;left:50%;width:700px;height:700px;background:radial-gradient(circle,rgba(181,122,122,.07) 0%,transparent 70%);transform:translate(-50%,-50%)}.page-hero h1{position:relative;font-family:Shippori Mincho,serif;font-size:clamp(28px,4vw,44px);letter-spacing:.06em;margin-bottom:18px;color:var(--ink);font-weight:600;line-height:1.5}.page-hero .page-en{position:relative;font-family:Cormorant Garamond,serif;font-style:italic;color:var(--rose);letter-spacing:.34em;font-size:14px;margin-bottom:18px;font-weight:500}.page-hero p.lead-sub{position:relative;max-width:760px;margin:20px auto 0;font-size:15px;color:var(--ink-soft);font-weight:400;line-height:2}section.block{padding:110px 44px;max-width:1180px;margin:0 auto;position:relative}section.block.paper{background:var(--paper-white)}section.block.paper2{background:var(--cream);max-width:none;padding-left:max(44px,calc((100vw - 1180px)/2));padding-right:max(44px,calc((100vw - 1180px)/2))}section.block.paper3{background:var(--pearl);max-width:none;padding-left:max(44px,calc((100vw - 1180px)/2));padding-right:max(44px,calc((100vw - 1180px)/2))}.eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:Cormorant Garamond,serif;font-style:italic;color:var(--olive);letter-spacing:.32em;font-size:13px;margin-bottom:22px;font-weight:500}.eyebrow:before{content:"";display:inline-block;width:28px;height:1px;background:var(--olive)}h2.section-title{font-family:Shippori Mincho,serif;font-size:clamp(26px,3.4vw,38px);margin-bottom:36px;letter-spacing:.06em;color:var(--ink);font-weight:600;line-height:1.55}h2.section-title .accent{color:var(--rose-deep)}.section-deco{width:48px;height:1px;background:var(--rose);margin-bottom:26px}.lead{font-size:15.5px;line-height:2.05;max-width:800px;font-weight:400;color:var(--ink-soft)}.reveal,.reveal-up{opacity:0;transition:opacity .9s cubic-bezier(.16,.84,.44,1),transform .9s cubic-bezier(.16,.84,.44,1)}.reveal-up{transform:translateY(28px)}.reveal.in,.reveal-up.in{opacity:1;transform:translate(0)}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:40px}.grid-2-asym{display:grid;grid-template-columns:1.25fr 1fr;gap:56px;align-items:center}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.card{background:var(--paper-white);padding:38px 32px;border:1px solid var(--line);transition:border-color .4s ease,transform .4s ease;position:relative}.card:hover{border-color:var(--rose-soft);transform:translateY(-3px)}.card .card-num{font-family:Cormorant Garamond,serif;font-style:italic;font-size:13px;color:var(--rose);letter-spacing:.24em;margin-bottom:16px;font-weight:500}.card h3{font-family:Shippori Mincho,serif;font-size:18px;margin-bottom:16px;color:var(--ink);font-weight:600;letter-spacing:.04em;line-height:1.6}.card p{font-size:14px;color:var(--ink-soft);line-height:1.95;font-weight:400}.field-card{background:var(--paper-white);border:1px solid var(--line);overflow:hidden;transition:border-color .4s,transform .4s;display:block}.field-card:hover{border-color:var(--rose-soft);transform:translateY(-3px)}.field-card .field-img-wrap{position:relative;overflow:hidden}.field-card img{width:100%;height:220px;object-fit:cover;background:var(--cream);transition:transform .7s ease}.field-card:hover img{transform:scale(1.05)}.field-card .field-body{padding:28px 30px}.field-card h3{font-size:18px;margin-bottom:12px;font-family:Shippori Mincho,serif}.field-card p{font-size:13.5px;color:var(--ink-soft);line-height:1.9}.btn{display:inline-flex;align-items:center;gap:12px;padding:16px 36px;background:var(--rose);color:#fff;font-family:Noto Sans JP,sans-serif;font-weight:600;letter-spacing:.1em;font-size:14px;transition:background .3s,transform .3s;border:1px solid var(--rose);cursor:pointer}.btn:hover{background:var(--rose-deep);border-color:var(--rose-deep);color:#fff;transform:translateY(-2px)}.btn.btn-outline{background:transparent;color:var(--rose-deep);border-color:var(--rose)}.btn.btn-outline:hover{background:var(--rose);color:#fff}.btn .arrow{display:inline-block;width:18px;height:1px;background:currentColor;position:relative;transition:transform .3s}.btn .arrow:after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg)}.btn:hover .arrow{transform:translate(4px)}.site-footer{background:var(--cream);color:var(--ink-soft);padding:80px 44px 40px;position:relative;border-top:1px solid var(--line)}.footer-inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.2fr 1.2fr 1fr;gap:56px;position:relative;z-index:2}.footer-script{font-family:Cormorant Garamond,serif;font-style:italic;font-weight:500;font-size:38px;color:var(--rose-deep);margin-bottom:12px;letter-spacing:.16em}.footer-name{font-family:Shippori Mincho,serif;font-weight:600;color:var(--ink);margin-bottom:10px;font-size:15px;letter-spacing:.06em}.footer-tag{font-size:13px;color:var(--olive);font-weight:500;letter-spacing:.06em}.footer-info p{font-size:13px;margin-bottom:6px;color:var(--ink-soft);font-weight:400;line-height:1.85}.footer-info a{color:var(--rose-deep)}.footer-info a:hover{color:var(--rose)}.footer-note{font-size:11px!important;color:var(--ink-light)!important;margin-top:8px}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;font-size:13px}.footer-links a{color:var(--ink-soft);font-weight:400;transition:color .3s}.footer-links a:hover{color:var(--rose-deep)}.footer-copy{margin-top:52px;text-align:center;font-size:11px;letter-spacing:.24em;color:var(--ink-light);font-family:Cormorant Garamond,serif;font-style:italic}.intro-overlay{position:fixed;inset:0;background:var(--cream);z-index:9999;display:flex;align-items:center;justify-content:center;transition:opacity .6s ease;overflow:hidden}.intro-stage{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.intro-svg{position:absolute;width:min(560px,80vw);height:auto;opacity:0;transform:scale(.92);transition:opacity 1.2s ease,transform 1.2s cubic-bezier(.16,.84,.44,1)}.intro-svg .olive-stem{stroke-dasharray:200;stroke-dashoffset:200;transition:stroke-dashoffset 1.2s cubic-bezier(.4,.2,.2,1)}.intro-svg .olive-leaf{transform-origin:center;transform:scale(0);transition:transform .9s cubic-bezier(.34,1.56,.64,1)}.intro-svg .olive-berry{transform-origin:center;transform:scale(0);transition:transform .7s cubic-bezier(.34,1.56,.64,1)}.intro-svg.phase1{opacity:1;transform:scale(1)}.intro-svg.phase1 .olive-stem{stroke-dashoffset:0}.intro-svg.phase1 .olive-leaf{transform:scale(1);transition-delay:.4s}.intro-svg.phase1 .olive-berry{transform:scale(1);transition-delay:.8s}.intro-svg.phase2{opacity:0;transition:opacity .4s ease}.intro-text{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;opacity:0;transform:translateY(16px);transition:opacity 1s ease,transform 1s ease}.intro-text.show{opacity:1;transform:translateY(0)}.intro-text .intro-en{font-family:Cormorant Garamond,serif;font-style:italic;font-weight:500;font-size:clamp(58px,11vw,120px);letter-spacing:.08em;line-height:1;color:var(--rose-deep)}.intro-text .intro-jp{font-family:Shippori Mincho,serif;font-weight:600;font-size:clamp(15px,2.2vw,22px);letter-spacing:.32em;color:var(--ink);margin-top:18px}.intro-text .intro-tagline{font-family:Cormorant Garamond,serif;font-style:italic;font-size:11px;letter-spacing:.32em;color:var(--olive);margin-top:14px}.intro-skip{position:absolute;top:24px;right:28px;background:transparent;border:1px solid var(--ink-light);color:var(--ink-soft);padding:8px 18px;font-family:Cormorant Garamond,serif;letter-spacing:.3em;font-size:11px;cursor:pointer;z-index:3}.intro-skip:hover{border-color:var(--rose-deep);color:var(--rose-deep)}.tbl{width:100%;border-collapse:collapse;font-size:14px;background:var(--paper-white)}.tbl th,.tbl td{padding:18px 22px;text-align:left;border-bottom:1px solid var(--line);font-weight:400;vertical-align:top}.tbl th{width:240px;color:var(--rose-deep);background:var(--cream-soft);font-family:Shippori Mincho,serif;font-weight:600;letter-spacing:.06em}.tbl td .note{display:block;font-size:12px;color:var(--ink-light);margin-top:4px}.price-row{display:grid;grid-template-columns:1.4fr 1fr 1.6fr;gap:0;padding:26px 30px;border-bottom:1px solid var(--line);align-items:start;background:var(--paper-white)}.price-row:nth-child(2n){background:var(--cream-soft)}.price-row .price-title{font-family:Shippori Mincho,serif;font-weight:600;color:var(--ink);font-size:15.5px;letter-spacing:.04em}.price-row .price-amount{font-family:Cormorant Garamond,serif;color:var(--rose-deep);font-weight:600;font-size:20px;letter-spacing:.04em}.price-row .price-note{color:var(--ink-soft);font-size:13.5px;font-weight:400;line-height:1.85}.timeline{position:relative;padding-left:36px;border-left:1px solid var(--rose-soft);list-style:none}.timeline li{margin-bottom:30px;padding-left:22px;position:relative;font-size:14.5px;font-weight:400;line-height:1.95;color:var(--ink-soft)}.timeline li:before{content:"";position:absolute;left:-42px;top:10px;width:9px;height:9px;background:var(--rose);border:2px solid var(--paper-white);box-shadow:0 0 0 1px var(--rose-soft);border-radius:50%}.timeline li strong{color:var(--rose-deep);font-family:Shippori Mincho,serif;font-weight:600;display:inline-block;min-width:110px;margin-right:8px;letter-spacing:.04em}ul.list-clean{list-style:none}ul.list-clean li{padding-left:24px;position:relative;margin-bottom:12px;font-size:14.5px;font-weight:400;line-height:1.95;color:var(--ink-soft)}ul.list-clean li:before{content:"";position:absolute;left:0;top:13px;width:14px;height:1px;background:var(--rose)}ul.list-check{list-style:none}ul.list-check li{padding-left:30px;position:relative;margin-bottom:14px;font-size:14.5px;font-weight:400;line-height:1.9;color:var(--ink-soft)}ul.list-check li:before{content:"✓";position:absolute;left:0;top:2px;color:#fff;font-weight:700;font-size:11px;background:var(--olive);width:19px;height:19px;display:flex;align-items:center;justify-content:center}.notice{background:var(--cream-soft);border-left:2px solid var(--rose);padding:22px 28px;font-size:13.5px;color:var(--ink-soft);font-weight:400;line-height:1.95}.notice.warm{background:var(--pearl);border-left-color:var(--rose-deep)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;text-align:center}.stat-item{padding:38px 18px;border:1px solid var(--line);background:var(--paper-white);transition:border-color .3s}.stat-item:hover{border-color:var(--rose-soft)}.stat-num{font-family:Cormorant Garamond,serif;font-size:46px;font-weight:500;color:var(--rose-deep);display:block;line-height:1.1;margin-bottom:10px;letter-spacing:.04em}.stat-label{font-size:12.5px;color:var(--ink-soft);font-weight:500;letter-spacing:.1em;font-family:Noto Sans JP,sans-serif}.stat-unit{font-size:18px;font-weight:500;color:var(--rose);margin-left:4px}.chips{display:flex;flex-wrap:wrap;gap:10px}.chip{display:inline-block;padding:7px 18px;border:1px solid var(--olive);color:var(--olive);font-size:12px;font-weight:500;letter-spacing:.08em;background:var(--paper-white);transition:all .3s;font-family:Noto Sans JP,sans-serif}.chip:hover{background:var(--olive);color:#fff}.chip.rose{border-color:var(--rose);color:var(--rose-deep)}.chip.rose:hover{background:var(--rose);color:#fff}.quote-card{background:var(--paper-white);border:1px solid var(--line);padding:36px;position:relative}.quote-card:before{content:'"';position:absolute;top:16px;left:22px;font-family:Cormorant Garamond,serif;font-size:64px;color:var(--rose-soft);line-height:1}.quote-card .quote{font-family:Shippori Mincho,serif;font-size:15px;color:var(--ink);line-height:2;padding-left:30px;margin-bottom:20px;letter-spacing:.04em}.quote-card .quote-meta{padding-left:30px;font-size:12.5px;color:var(--ink-light);font-weight:500;letter-spacing:.08em}@media(max-width:1100px){.main-nav{gap:14px}.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(--paper-white);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:50px}.hero-image{order:-1}.hero-image img{height:340px}.hero-image .float-badge.b1{left:10px;top:12px}.hero-image .float-badge.b2{right:10px;bottom:12px}.grid-3,.grid-4{grid-template-columns:1fr}.grid-2,.grid-2-asym{grid-template-columns:1fr;gap:32px}.stats{grid-template-columns:repeat(2,1fr)}.footer-inner{grid-template-columns:1fr;gap:36px}section.block{padding:70px 24px}.page-hero{padding:130px 24px 70px}.hero{padding:110px 24px 70px;min-height:auto}.site-header{padding:14px 20px}.site-header.shrink{padding:10px 20px}.price-row{grid-template-columns:1fr;gap:8px}}
