:root{--teal: #2A6B7C;--teal-deep: #1A3640;--teal-soft: #4F8A9C;--kotori: #E8B856;--kotori-deep: #C8941F;--kotori-pale: #F3E2B7;--greige: #D8C9B0;--greige-pale: #E8DDC9;--paper: #FFFFFF;--paper-soft: #FCFCFC;--paper-warm: #FAFAFA;--paper-sky: #E8F0F2;--ink: #1A3640;--ink-soft: #5A5E63;--ink-light: #8A8E94;--line: #E2DCC9;--line-soft: #EFE9D8;--paper-white: var(--paper-soft);--paper-2: var(--paper);--paper-3: var(--paper-warm)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Zen Kaku Gothic New,Inter,sans-serif;font-weight:400;background:var(--paper-soft);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:"Noto Serif JP",Marcellus,serif;font-weight:600;line-height:1.55;color:var(--ink);letter-spacing:.02em}.font-serif-en{font-family:Marcellus,serif}.font-serif-jp{font-family:"Noto Serif JP",serif}.font-sans-jp{font-family:Zen Kaku Gothic New,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:#fdfbf6eb;backdrop-filter:blur(12px);border-bottom:1px solid var(--line-soft);transition:padding .3s ease}.site-header.shrink{padding:12px 44px;background:#fdfbf6f7}.brand-mark{display:flex;align-items:center;gap:14px}.brand-glyph{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center}.brand-glyph svg{width:42px;height:42px}.brand-text{display:flex;flex-direction:column;line-height:1.3}.brand-jp{font-family:"Noto Serif JP",serif;font-weight:600;font-size:14.5px;letter-spacing:.08em;color:var(--ink)}.brand-en{font-family:Marcellus,serif;font-size:11px;letter-spacing:.28em;color:var(--teal);margin-top:2px}.main-nav{display:flex;align-items:center;gap:16px}.main-nav a{font-family:Zen Kaku Gothic New,sans-serif;font-weight:500;font-size:13px;letter-spacing:.06em;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(--kotori-deep);transition:width .3s ease}.main-nav a:not(.nav-cta):hover:after{width:100%}.main-nav a:hover{color:var(--teal)}.main-nav .nav-cta{background:var(--teal);color:#fff;padding:10px 22px;font-weight:600;letter-spacing:.1em;transition:background .25s}.main-nav .nav-cta:hover{background:var(--kotori-deep);color:#fff}.main-nav .nav-cta:after{display:none}.nav-toggle{display:none;width:42px;height:42px;background:transparent;border:1px solid var(--teal);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(--teal);transition:all .3s}main{min-height:60vh;padding-top:86px;position:relative}.hero{min-height:92vh;position:relative;display:flex;align-items:center;justify-content:center;background:var(--paper-soft);overflow:hidden;padding:100px 44px 80px}.hero:before{content:"";position:absolute;top:8%;right:-140px;width:380px;height:380px;background:radial-gradient(circle,rgba(232,184,86,.16) 0%,transparent 70%);border-radius:50%}.hero:after{content:"";position:absolute;bottom:5%;left:-120px;width:340px;height:340px;background:radial-gradient(circle,rgba(42,107,124,.12) 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:Marcellus,serif;font-size:14px;letter-spacing:.28em;color:var(--teal);margin-bottom:28px;font-weight:400}.hero-eyebrow:before{content:"";width:28px;height:1px;background:var(--teal);display:inline-block}.hero-title{font-family:"Noto Serif JP",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(--kotori-deep);font-style:normal;border-bottom:1px solid var(--kotori-pale);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:560px;object-fit:cover;background:var(--paper);box-shadow:0 24px 60px -24px #1a364047;border-radius:4px}.hero-image .float-badge{position:absolute;background:var(--paper-soft);padding:16px 22px;box-shadow:0 12px 28px #1a364024;font-size:12px;font-weight:600;display:flex;align-items:center;gap:10px;border-left:3px solid var(--teal);letter-spacing:.06em;border-radius:2px}.hero-image .float-badge.b1{top:36px;left:-28px}.hero-image .float-badge.b2{bottom:60px;right:-28px;border-left-color:var(--kotori-deep)}.page-hero{padding:170px 44px 90px;background:var(--paper);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(232,184,86,.1) 0%,transparent 70%);transform:translate(-50%,-50%)}.page-hero h1{position:relative;font-family:"Noto Serif JP",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:Marcellus,serif;color:var(--teal);letter-spacing:.34em;font-size:14px;margin-bottom:18px;font-weight:400}.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-soft)}section.block.paper2{background:var(--paper);max-width:none;padding-left:max(44px,calc((100vw - 1180px)/2));padding-right:max(44px,calc((100vw - 1180px)/2))}section.block.paper3{background:var(--paper-warm);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:Marcellus,serif;color:var(--teal);letter-spacing:.32em;font-size:13px;margin-bottom:22px;font-weight:400}.eyebrow:before{content:"";display:inline-block;width:28px;height:1px;background:var(--teal)}h2.section-title{font-family:"Noto Serif JP",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(--kotori-deep)}.section-deco{width:48px;height:1px;background:var(--teal);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,.reveal-left,.reveal-right{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-left{transform:translate(-28px)}.reveal-right{transform:translate(28px)}.reveal.in,.reveal-up.in,.reveal-left.in,.reveal-right.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-soft);padding:38px 32px;border:1px solid var(--line);transition:border-color .4s ease,transform .4s ease,box-shadow .4s;position:relative;border-radius:3px}.card:hover{border-color:var(--kotori-pale);transform:translateY(-3px);box-shadow:0 18px 36px -22px #1a36402e}.card .card-num{font-family:Marcellus,serif;font-size:13px;color:var(--teal);letter-spacing:.24em;margin-bottom:16px;font-weight:400}.card h3{font-family:"Noto Serif JP",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-soft);border:1px solid var(--line);overflow:hidden;transition:border-color .4s,transform .4s,box-shadow .4s;display:block;border-radius:3px}.field-card:hover{border-color:var(--kotori-pale);transform:translateY(-3px);box-shadow:0 18px 36px -22px #1a364033}.field-card .field-img-wrap{position:relative;overflow:hidden}.field-card img{width:100%;height:220px;object-fit:cover;background:var(--paper);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:"Noto Serif JP",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(--teal);color:#fff;font-family:Zen Kaku Gothic New,sans-serif;font-weight:600;letter-spacing:.1em;font-size:14px;transition:background .3s,transform .3s;border:1px solid var(--teal);cursor:pointer;border-radius:2px}.btn:hover{background:var(--kotori-deep);border-color:var(--kotori-deep);color:#fff;transform:translateY(-2px)}.btn.btn-outline{background:transparent;color:var(--teal);border-color:var(--teal)}.btn.btn-outline:hover{background:var(--teal);color:#fff}.btn.btn-kotori{background:var(--kotori-deep);border-color:var(--kotori-deep)}.btn.btn-kotori:hover{background:var(--teal);border-color:var(--teal)}.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(--teal-deep);color:#d8d5ce;padding:80px 44px 40px;position:relative}.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:Marcellus,serif;font-weight:400;font-size:38px;color:var(--kotori);margin-bottom:12px;letter-spacing:.16em}.footer-name{font-family:"Noto Serif JP",serif;font-weight:600;color:#f4efe3;margin-bottom:10px;font-size:15px;letter-spacing:.06em}.footer-tag{font-size:13px;color:var(--kotori);font-weight:500;letter-spacing:.06em}.footer-info p{font-size:13px;margin-bottom:6px;color:#d8d5ce;font-weight:400;line-height:1.85}.footer-info a{color:var(--kotori);text-decoration:underline;text-decoration-color:#e8b85666;text-underline-offset:2px}.footer-info a:hover{color:#fff}.footer-note{font-size:11px!important;color:#d8d5cea6!important;margin-top:8px}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;font-size:13px}.footer-links a{color:#d8d5ce;font-weight:400;transition:color .3s}.footer-links a:hover{color:var(--kotori)}.footer-copy{margin-top:52px;text-align:center;font-size:11px;letter-spacing:.24em;color:#d8d5ce8c;font-family:Marcellus,serif}.tbl{width:100%;border-collapse:collapse;font-size:14px;background:var(--paper-soft)}.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(--teal);background:var(--paper);font-family:"Noto Serif JP",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-soft)}.price-row:nth-child(2n){background:var(--paper)}.price-row .price-title{font-family:"Noto Serif JP",serif;font-weight:600;color:var(--ink);font-size:15.5px;letter-spacing:.04em}.price-row .price-amount{font-family:Marcellus,serif;color:var(--teal);font-weight:400;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(--kotori-pale);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(--teal);border:2px solid var(--paper-soft);box-shadow:0 0 0 1px var(--kotori-pale);border-radius:50%}.timeline li strong{color:var(--teal);font-family:"Noto Serif JP",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(--teal)}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(--teal);width:19px;height:19px;display:flex;align-items:center;justify-content:center;border-radius:2px}.notice{background:var(--paper);border-left:2px solid var(--teal);padding:22px 28px;font-size:13.5px;color:var(--ink-soft);font-weight:400;line-height:1.95;border-radius:2px}.notice.warm{background:var(--paper-sky);border-left-color:var(--kotori-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-soft);transition:border-color .3s;border-radius:3px}.stat-item:hover{border-color:var(--kotori-pale)}.stat-num{font-family:Marcellus,serif;font-size:46px;font-weight:400;color:var(--teal);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:Zen Kaku Gothic New,sans-serif}.stat-unit{font-size:18px;font-weight:500;color:var(--kotori-deep);margin-left:4px}.chips{display:flex;flex-wrap:wrap;gap:10px}.chip{display:inline-block;padding:7px 18px;border:1px solid var(--teal);color:var(--teal);font-size:12px;font-weight:500;letter-spacing:.08em;background:var(--paper-soft);transition:all .3s;font-family:Zen Kaku Gothic New,sans-serif;border-radius:2px}.chip:hover{background:var(--teal);color:#fff}.chip.kotori{border-color:var(--kotori-deep);color:var(--kotori-deep)}.chip.kotori:hover{background:var(--kotori-deep);color:#fff}.quote-card{background:var(--paper-soft);border:1px solid var(--line);padding:36px;position:relative;border-radius:3px}.quote-card:before{content:'"';position:absolute;top:16px;left:22px;font-family:Marcellus,serif;font-size:64px;color:var(--kotori-pale);line-height:1}.quote-card .quote{font-family:"Noto Serif JP",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}.section-anchor{position:relative}.section-anchor:before{content:"";display:block;height:140px;margin-top:-140px;visibility:hidden;pointer-events:none}@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(--paper-soft);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}}
