:root{--green:#2C4A3C;--green-2:#3A5C4C;--green-soft:#E7EDE7;--rust:#BC6A47;--rust-deep:#A85A39;--rust-soft:#F2E5DB;--paper:#F5EEE2;--paper-2:#FBF7EF;--ink:#2C2722;--muted:#756C61;--line:#E5DBCD;--line-2:#EFE7D9;--card:#FFFFFF;--serif:"Noto Serif JP", serif;--sans:"Noto Sans JP", sans-serif;--maxw:1140px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{font-family:var(--sans);color:var(--ink);background:var(--paper-2);line-height:1.8;font-size:15px;-webkit-font-smoothing:antialiased;letter-spacing:.01em;overflow-x:hidden}html{overflow-x:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 28px}:focus-visible{outline:2.5px solid var(--rust);outline-offset:3px;border-radius:4px}.eyebrow{font-size:11px;letter-spacing:.26em;color:var(--rust-deep);font-weight:700;text-transform:uppercase}.seclabel{display:inline-flex;align-items:center;gap:11px;margin-bottom:22px}.seclabel .bar{width:26px;height:2px;background:var(--rust);border-radius:2px}.seclabel .en{font-size:11px;letter-spacing:.24em;font-weight:800;color:var(--rust-deep);text-transform:uppercase}.seclabel .jp{font-size:13px;letter-spacing:.1em;color:var(--muted)}h1,h2,h3,h4{font-family:var(--serif);font-weight:700;letter-spacing:.02em;line-height:1.42}.lead{color:#4d463d;font-weight:500}.logo{font-family:var(--sans);font-weight:900;letter-spacing:-.01em;display:inline-flex;align-items:baseline;gap:7px;color:var(--green)}.logo .kana{font-weight:500;color:var(--muted);letter-spacing:.16em;font-size:.55em}.btn{display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:14px;letter-spacing:.02em;padding:13px 24px;border-radius:999px;border:1.4px solid transparent;cursor:pointer;transition:.18s ease;font-family:var(--sans)}.btn svg{width:16px;height:16px}.btn-green{background:var(--green);color:#fff}.btn-green:hover{background:var(--green-2);transform:translateY(-1px)}.btn-rust{background:var(--rust);color:#fff}.btn-rust:hover{background:var(--rust-deep);transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--green);border-color:#2c4a3c52}.btn-ghost:hover{background:var(--green-soft)}.btn[disabled]{opacity:.55;cursor:not-allowed;transform:none}header.site{position:sticky;top:0;z-index:50;background:#fbf7efdb;backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--line)}.nav{display:flex;align-items:center;justify-content:space-between;height:68px}.nav .logo{font-size:21px;cursor:pointer}.nav .links{display:flex;align-items:center;gap:26px;flex-shrink:0}.nav .links a{font-size:13.5px;font-weight:700;color:#5a5249;letter-spacing:.04em;transition:.15s;position:relative;padding:4px 0;white-space:nowrap}.nav .links a:hover,.nav .links a.active{color:var(--green)}.nav .links a.active:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--rust);border-radius:2px}.nav .links .navcta{margin-left:6px;padding:11px 20px;font-size:13px;color:#fff;background:var(--green);border-color:transparent}.nav .links .navcta:hover{color:#fff;background:var(--green-2)}.nav .links .navcta:after{display:none}.burger{display:none;background:none;border:0;cursor:pointer;padding:8px}.burger span{display:block;width:22px;height:2px;background:var(--ink);margin:4px 0;border-radius:2px;transition:.2s}.hero{position:relative;overflow:hidden;background:radial-gradient(120% 90% at 64% 28%,#fcf9f3,#f4ecde 58%,#ede3d2)}.hero .blob{position:absolute;top:-220px;right:-180px;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle at 50% 50%,#3c5c4c1f,#3c5c4c00 70%)}.hero .blob2{position:absolute;bottom:-200px;left:-160px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle at 50% 50%,#bc6a4717,#bc6a4700 70%)}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.02fr .98fr;gap:36px;align-items:center;padding:74px 28px 84px}.hero h1{font-size:46px;line-height:1.34;margin:18px 0 0}.hero h1 .em{color:var(--green)}.hero .lead{margin-top:20px;font-size:16px;line-height:2;max-width:480px}.chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}.chip{background:#ffffffb8;border:1px solid var(--line);color:var(--green);font-size:12.5px;font-weight:700;padding:7px 15px;border-radius:999px;display:inline-flex;align-items:center;gap:7px}.chip .dot{width:5px;height:5px;border-radius:50%;background:var(--rust)}.hero-cta{display:flex;flex-wrap:wrap;gap:13px;margin-top:30px}.hero-figure{position:relative}.hero-figure .ph{border-radius:20px;overflow:hidden;box-shadow:0 26px 60px #5a462d29;background:#efe9df;aspect-ratio:1400/766}.hero-figure .ph img{width:100%;height:100%;object-fit:cover}.hero-figure .tagcap{position:absolute;left:18px;bottom:-16px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 16px;font-size:11px;font-weight:800;letter-spacing:.16em;color:var(--green);box-shadow:0 8px 22px #5a462d1a}.arch-rule{display:block;width:100%;height:42px;color:#3c5c4c38}section.block{padding:78px 0}section.block.tint{background:var(--paper)}section.block.green{background:var(--green);color:#fff}.block h2{font-size:31px}.section-head{max-width:680px;margin-bottom:42px}.section-head .lead{margin-top:14px;font-size:15.5px}.concept-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}.concept-grid .copy h2{font-size:26px}.concept-grid .copy p{margin-top:18px;color:#4d463d;font-size:15.5px;line-height:2}.concept-grid .copy .hl{color:var(--green);font-weight:800}.concept-fig{border-radius:18px;overflow:hidden;box-shadow:0 18px 44px #5a462d1f;aspect-ratio:1200/656}.concept-fig img{width:100%;height:100%;object-fit:cover}.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.pillar{background:var(--card);border:1px solid var(--line-2);border-radius:16px;padding:30px 26px}.pillar .ic{width:48px;height:48px;border-radius:50%;background:var(--green-soft);display:flex;align-items:center;justify-content:center;margin-bottom:16px}.pillar h3{font-size:21px;margin-bottom:9px}.pillar p{color:var(--muted);font-size:14px;line-height:1.85}.struct{display:grid;grid-template-columns:1fr 1fr;gap:26px}.scard{background:var(--card);border-radius:18px;overflow:hidden;box-shadow:0 10px 30px #5a462d14;border:1px solid var(--line-2)}.scard .imgbox{aspect-ratio:16/9;overflow:hidden;position:relative;background:#eae3d7}.scard .imgbox img{width:100%;height:100%;object-fit:cover}.scard .num{position:absolute;top:14px;left:14px;background:#2c4a3ce6;color:#fff;font-size:10.5px;font-weight:800;letter-spacing:.16em;padding:5px 12px;border-radius:999px}.scard .body{padding:24px 26px 28px}.scard .body h3{font-size:19px;margin-bottom:8px}.scard .body p{color:var(--muted);font-size:14px;line-height:1.85}.usage{display:grid;grid-template-columns:.95fr 1.05fr;gap:46px;align-items:center}.usage .fig{border-radius:18px;overflow:hidden;box-shadow:0 16px 40px #5a462d1f;aspect-ratio:1000/547}.usage .fig img{width:100%;height:100%;object-fit:cover}.usage ol{list-style:none;counter-reset:u;margin-top:6px}.usage li{counter-increment:u;position:relative;padding:14px 0 14px 56px;border-bottom:1px dashed var(--line)}.usage li:last-child{border-bottom:0}.usage li:before{content:counter(u,decimal-leading-zero);position:absolute;left:0;top:13px;font-family:var(--serif);font-weight:700;font-size:20px;color:var(--rust)}.usage li h4{font-size:16px;font-family:var(--sans);font-weight:800;margin-bottom:3px}.usage li p{color:var(--muted);font-size:13.5px;line-height:1.8}.usage-note{font-size:12px;color:var(--muted);margin-top:16px}.people{display:grid;grid-template-columns:1fr 1fr;gap:26px}.person{background:var(--card);border:1px solid var(--line-2);border-radius:18px;padding:28px;display:flex;gap:22px;align-items:flex-start}.person .ph{width:96px;height:96px;border-radius:50%;overflow:hidden;flex-shrink:0;border:3px solid #fff;box-shadow:0 6px 18px #5a462d29}.person .ph img{width:100%;height:100%;object-fit:cover}.person .role{font-size:11px;font-weight:800;letter-spacing:.14em;color:var(--rust-deep);text-transform:uppercase}.person .name{font-family:var(--serif);font-size:19px;font-weight:700;margin:6px 0 3px}.person .org{font-size:13px;color:var(--green);font-weight:700}.person .bio{font-size:13px;color:var(--muted);line-height:1.8;margin-top:9px}.route{position:relative}.route .arch-bg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:.5}.route .arch-bg svg{width:min(760px,86%);color:#ffffff29}.route .inner{position:relative;z-index:2}.route .note{background:#ffffff1a;border:1px solid rgba(255,255,255,.22);border-radius:14px;padding:18px 22px;font-size:14px;color:#eef3ef;max-width:760px;margin:0 auto 40px;text-align:center;line-height:1.85}.route .note b{color:#fff}.route-cards{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:880px;margin:0 auto}.route-card{background:#fffffff7;border-radius:20px;padding:34px 30px;display:flex;flex-direction:column;gap:14px;transition:.2s}.route-card:hover{transform:translateY(-4px);box-shadow:0 22px 50px #00000038}.route-card .rc-eye{font-size:11px;letter-spacing:.2em;font-weight:800;color:var(--rust-deep);text-transform:uppercase}.route-card h3{font-size:23px;color:var(--ink)}.route-card p{color:var(--muted);font-size:14px;line-height:1.85;flex:1}.route-card .btn{align-self:flex-start;margin-top:4px}.faq{max-width:820px;margin:0 auto}.qa{border-bottom:1px solid var(--line)}.qa button{width:100%;background:none;border:0;cursor:pointer;text-align:left;padding:20px 40px 20px 4px;font-family:var(--serif);font-weight:600;font-size:16.5px;color:var(--ink);position:relative;line-height:1.6}.qa button:after{content:"＋";position:absolute;right:6px;top:50%;transform:translateY(-50%);color:var(--rust);font-weight:700;font-family:var(--sans);transition:.2s}.qa.open button:after{content:"−"}.qa .ans{max-height:0;overflow:hidden;transition:max-height .3s ease}.qa .ans p{padding:0 4px 22px;color:var(--muted);font-size:14px;line-height:1.9}.subhero{background:radial-gradient(120% 120% at 80% 0%,#fcf9f3,#f2eadb 70%,#ebe0cf);padding:64px 0 56px;position:relative;overflow:hidden}.subhero .blob{position:absolute;top:-160px;right:-120px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle at 50% 50%,#3c5c4c1a,#3c5c4c00 70%)}.subhero .crumb{font-size:12px;color:var(--muted);letter-spacing:.06em;margin-bottom:16px;position:relative;z-index:2}.subhero .crumb a{color:var(--green);font-weight:700}.subhero h1{font-size:36px;position:relative;z-index:2}.subhero .lead{margin-top:16px;font-size:15.5px;max-width:600px;position:relative;z-index:2}.steps{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:start;gap:8px}.step{text-align:left}.step .stp{font-size:11px;letter-spacing:.18em;color:var(--rust-deep);font-weight:800;margin-bottom:10px}.step .si{width:54px;height:54px;border-radius:50%;border:1.4px solid rgba(60,92,76,.3);display:flex;align-items:center;justify-content:center;margin-bottom:14px;background:#fff}.step h4{font-family:var(--sans);font-weight:800;font-size:16px;margin-bottom:6px}.step p{color:var(--muted);font-size:13.5px;line-height:1.8}.step-arrow{display:flex;align-items:center;justify-content:center;padding-top:34px;color:#3c5c4c66}.badge-min{display:inline-flex;align-items:center;gap:7px;background:var(--green);color:#fff;font-size:12.5px;font-weight:800;letter-spacing:.04em;padding:7px 16px;border-radius:999px}.flow-head{display:flex;justify-content:space-between;align-items:flex-end;max-width:none}.merit{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.mcard{display:flex;gap:16px;align-items:flex-start}.mcard .mn{font-family:var(--serif);font-size:30px;font-weight:700;color:var(--rust);line-height:1}.mcard h4{font-family:var(--sans);font-size:16px;font-weight:800;margin-bottom:7px}.mcard p{color:var(--muted);font-size:13.5px;line-height:1.85}.price{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:34px 36px;display:flex;flex-wrap:wrap;align-items:center;gap:30px}.price .pl{display:flex;align-items:center;gap:11px}.price .pl .en{font-size:11px;letter-spacing:.2em;font-weight:800;color:var(--rust-deep)}.price .pl .jp{font-size:17px;font-weight:800}.price .pitems{display:flex;gap:34px;flex-wrap:wrap}.pitem .nm{font-size:12.5px;color:var(--muted);font-weight:700}.pitem .vl{font-size:25px;font-weight:900;color:var(--green);letter-spacing:.01em}.pitem .vl small{font-size:12px;font-weight:700;color:var(--muted);margin-left:3px}.price .pnote{flex-basis:100%;font-size:12px;color:var(--muted);line-height:1.7;border-top:1px solid var(--line);padding-top:14px}.formwrap{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:38px 40px;box-shadow:0 14px 40px #5a462d12;max-width:760px}.formwrap.green-top{border-top:4px solid var(--green)}.formwrap.rust-top{border-top:4px solid var(--rust)}.field{margin-bottom:22px}.field label{display:block;font-size:13.5px;font-weight:700;margin-bottom:8px}.field label .req{color:var(--rust-deep);font-size:11px;margin-left:7px;font-weight:800}.field label .opt{color:var(--muted);font-size:11px;margin-left:7px;font-weight:600}.field input,.field select,.field textarea{width:100%;font-family:var(--sans);font-size:14.5px;color:var(--ink);border:1.4px solid var(--line);border-radius:11px;padding:12px 14px;background:var(--paper-2);transition:.15s}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--green);background:#fff;box-shadow:0 0 0 3px #2c4a3c1a}.field textarea{min-height:120px;resize:vertical}.field .hint{font-size:12px;color:var(--muted);margin-top:6px}.purpose{display:grid;gap:10px}.purpose label{display:flex;gap:12px;align-items:flex-start;border:1.4px solid var(--line);border-radius:12px;padding:14px 16px;cursor:pointer;transition:.15s;font-weight:600;font-size:14px;margin:0}.purpose label:hover{border-color:#2c4a3c73;background:var(--paper)}.purpose input{width:auto;margin-top:4px;accent-color:var(--green)}.purpose label .pd{font-size:12.5px;color:var(--muted);font-weight:500;margin-top:3px}.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-actions{margin-top:8px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}.consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:#4d463d;margin-bottom:18px}.consent input{width:auto;margin-top:5px;accent-color:var(--green)}.consent a{color:var(--green);text-decoration:underline;text-underline-offset:2px;font-weight:700}.formnote{background:var(--rust-soft);border:1px solid #E8D2C2;border-radius:12px;padding:14px 18px;font-size:12.5px;color:var(--rust-deep);margin-bottom:26px;line-height:1.7}.toast{display:none;background:var(--green-soft);border:1px solid #cfe0d3;border-radius:12px;padding:16px 18px;color:var(--green);font-size:14px;font-weight:700;margin-top:18px}.toast.show{display:block}.toast.error{background:var(--rust-soft);border-color:#e8d2c2;color:var(--rust-deep)}.conditional{display:none}.conditional.show{display:block}.hp-field{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}.company-grid{display:grid;grid-template-columns:1fr;gap:48px}.ctable{width:100%;border-collapse:collapse;max-width:760px}.ctable th,.ctable td{text-align:left;padding:16px 4px;border-bottom:1px solid var(--line);font-size:14px;vertical-align:top}.ctable th{width:170px;color:var(--green);font-weight:800;font-size:13px}.ctable td{color:#4d463d}.ctable .ph-note{color:var(--muted);font-size:12px}.founder{display:grid;grid-template-columns:auto 1fr;gap:30px;align-items:start;background:var(--card);border:1px solid var(--line-2);border-radius:18px;padding:34px}.founder .ph{width:120px;height:120px;border-radius:50%;overflow:hidden;border:3px solid #fff;box-shadow:0 8px 22px #5a462d2e}.founder .ph img{width:100%;height:100%;object-fit:cover}.founder .role{font-size:11px;letter-spacing:.16em;font-weight:800;color:var(--rust-deep);text-transform:uppercase}.founder .name{font-family:var(--serif);font-size:24px;font-weight:700;margin:7px 0 2px}.founder .name small{font-family:var(--sans);font-size:13px;font-weight:600;color:var(--muted);margin-left:10px;letter-spacing:.04em}.founder .org{color:var(--green);font-weight:700;font-size:14px}.founder .bio{color:#4d463d;font-size:14px;line-height:1.95;margin-top:14px}.legal{max-width:760px}.legal h2{font-size:19px;margin:38px 0 12px}.legal p,.legal li{font-size:14px;color:#4d463d;line-height:1.95}.legal ul{padding-left:22px;margin-top:8px}.legal .date{font-size:12.5px;color:var(--muted);margin-top:42px}footer.site{background:#241f1b;color:#cfc7bc;padding:56px 0 30px}.foot-grid{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;align-items:flex-start}.foot-grid .logo{color:#fff;font-size:22px}.foot-grid .logo .kana{color:#998f82}.foot-tag{font-size:13px;color:#9a9189;margin-top:14px;max-width:300px;line-height:1.8}.foot-cols{display:flex;gap:64px;flex-wrap:wrap}.foot-col h5{font-size:11px;letter-spacing:.16em;color:#8a8076;text-transform:uppercase;margin-bottom:14px;font-weight:800}.foot-col a{display:block;font-size:13.5px;color:#d4ccc2;margin-bottom:10px;transition:.15s;cursor:pointer}.foot-col a:hover{color:#fff}.foot-bottom{margin-top:42px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;font-size:11.5px;color:#857c73}.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}.reveal.in{opacity:1;transform:none}@media(max-width:900px){.hero-grid{grid-template-columns:1fr;gap:30px;padding:48px 22px 60px}.hero h1{font-size:34px}.concept-grid,.usage{grid-template-columns:1fr;gap:30px}.pillars,.merit,.struct,.people,.route-cards{grid-template-columns:1fr}.steps{grid-template-columns:1fr;gap:4px}.step-arrow{transform:rotate(90deg);padding:6px 0}.founder,.two{grid-template-columns:1fr}.flow-head{display:block}.flow-head .badge-min{margin-top:14px}.nav .links{display:none;position:absolute;top:68px;left:0;right:0;background:var(--paper-2);flex-direction:column;align-items:flex-start;gap:0;padding:8px 28px 18px;border-bottom:1px solid var(--line);box-shadow:0 14px 30px #0000000f}.nav .links.open{display:flex}.nav .links a{width:100%;padding:13px 0;border-bottom:1px solid var(--line-2)}.nav .links .navcta{margin:12px 0 0}.burger{display:block}.block h2{font-size:23px}.subhero h1{font-size:26px}.hero-figure,.concept-visual{order:-1}.chips{display:none}}@media(max-width:400px){.wrap{padding:0 18px}.hero h1{font-size:29px}.formwrap{padding:28px 20px}.price{padding:26px 22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{transition:none;opacity:1;transform:none}.btn,.route-card{transition:none}}
