:root{--accent:#565334;--ink:#2c2a24;--body:#5b564b;--para:#645f53;--muted:#6f6a5c;--para2:#6a6557;--label:#9a9479;--num:#b3ac88;--cream:#fdfcf9;--beige:#eadfca;--card:#fffefb;--px:clamp(20px,5vw,56px);--mincho:var(--font-mincho),"Shippori Mincho",serif;--gothic:var(--font-gothic),"Noto Sans JP",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body,html{margin:0;padding:0}body{background:#efece4;font-family:var(--gothic);color:var(--body);-webkit-font-smoothing:antialiased}img{max-width:100%}a{text-decoration:none}.page{width:100%;max-width:1200px;margin:0 auto;background:#fcfbf8;position:relative;overflow:hidden}.eyebrow{display:flex;align-items:baseline;gap:16px;margin-bottom:16px}.eyebrow .num{font-family:var(--mincho);font-size:24px;color:var(--num);letter-spacing:.05em}.eyebrow .lbl{font-size:11px;letter-spacing:.22em;color:var(--label)}.btn{display:inline-flex;align-items:center;gap:14px;font-size:14px;padding:16px 28px;border-radius:32px;white-space:nowrap}.btn-primary{background:var(--accent);color:#f5f2e8;box-shadow:0 6px 18px rgba(86,83,52,.2)}.btn-ghost{background:#fbfaf6;color:#595539;border:1px solid #c9c3a6}.site-header{position:relative;z-index:5;justify-content:space-between;padding:26px var(--px);background:var(--cream)}.logo,.site-header{display:flex;align-items:center}.logo{gap:14px;line-height:1}.logo .logo-sub{font-size:11px;letter-spacing:.18em;color:#8d8772}.logo .logo-main{font-family:var(--mincho);font-weight:600;font-size:27px;letter-spacing:.14em;color:var(--ink)}.site-nav{display:flex;align-items:center;gap:38px}.site-nav a{font-size:13.5px;color:#54504a;letter-spacing:.04em}.header-cta{display:inline-flex;align-items:center;gap:9px;background:var(--accent);color:#f5f2e8;font-size:13px;letter-spacing:.04em;padding:13px 24px;border-radius:30px;box-shadow:0 4px 14px rgba(86,83,52,.18);white-space:nowrap}.section{position:relative;z-index:2;padding:50px var(--px) 60px}.section--cream{background:var(--cream)}.section--beige{background:var(--beige)}.section-head{margin-bottom:34px}.h2{font-family:var(--mincho);font-weight:600;font-size:30px;color:var(--ink);margin:0 0 14px;letter-spacing:.01em}.lead{font-size:12px;line-height:2;color:#807a6a;margin:0}.hero{display:grid;grid-template-columns:1fr 1fr;grid-gap:30px;gap:30px;align-items:center;padding:40px var(--px) 70px}.hero h1{font-family:var(--mincho);font-weight:600;font-size:41px;line-height:1.5;color:var(--ink);margin:0 0 26px;letter-spacing:.01em}.hero-p{font-size:14px;line-height:2.05;color:var(--para);margin:0 0 34px;max-width:430px}.hero-btns{gap:16px;margin-bottom:22px}.hero-btns,.tags{display:flex;flex-wrap:wrap}.tags{gap:11px}.tag{font-size:12px;color:#6f6a4f;border:1px solid #cdc7ad;border-radius:20px;padding:7px 17px}.hero-art{position:relative;min-height:500px;display:flex;align-items:center;justify-content:center}.hero-art img{width:600px;max-width:100%}.cards3{display:grid;grid-template-columns:1fr 38px 1fr 38px 1fr;align-items:stretch}.card{background:var(--card);border:1px solid #ece8dd;border-radius:16px;padding:26px 28px 30px;box-shadow:0 8px 24px rgba(90,84,60,.05)}.card-ico{height:96px;display:flex;align-items:center;justify-content:center;margin-bottom:10px}.card-ico img{height:96px;width:auto}.card-title{display:flex;align-items:baseline;gap:12px;margin-bottom:12px}.card-title .n{font-family:var(--mincho);font-size:22px;color:var(--num)}.card-title .t{font-family:var(--mincho);font-size:19px;font-weight:600;color:#34322a}.card p{font-size:13px;line-height:1.95;color:var(--para2);margin:0}.arrow{display:flex;align-items:center;justify-content:center}.cards4{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:20px;gap:20px}.fcard{background:var(--card);border:1px solid #ece8dd;border-radius:14px;padding:24px 22px 26px;box-shadow:0 8px 22px rgba(90,84,60,.05)}.fcard img{height:52px;width:auto;margin-bottom:18px}.fcard h3{font-family:var(--mincho);font-weight:600;font-size:15.5px;line-height:1.5;color:#34322a;margin:0 0 12px}.fcard p{font-size:12px;line-height:1.9;color:var(--muted);margin:0}.split-04{display:grid;grid-template-columns:.92fr 1.08fr;grid-gap:44px;gap:44px;align-items:start}.split-04 .h2{font-size:27px;line-height:1.55}.split-04 .desc{font-size:13px;line-height:2.05;color:var(--para);margin:0;max-width:380px}.cards3b{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px}.pcard{background:var(--card);border:1px solid #e8e4d8;border-radius:14px;padding:18px 16px 22px;text-align:center;box-shadow:0 8px 22px rgba(90,84,60,.05)}.pcard-ico{height:120px;display:flex;align-items:flex-end;justify-content:center;margin-bottom:12px}.pcard-ico img{height:118px;width:auto}.pcard h3{font-family:var(--mincho);font-weight:600;font-size:16px;color:#34322a;margin:0 0 10px}.pcard p{font-size:11.5px;line-height:1.85;color:var(--muted);margin:0}.split-05{display:grid;grid-template-columns:.8fr 1.2fr;grid-gap:40px;gap:40px;align-items:center}.art-05{position:relative;min-height:250px;display:flex;align-items:flex-end;justify-content:center}.art-05 img{width:105%;max-width:420px}.checklist{display:flex;flex-direction:column;gap:22px;padding-right:20px}.check-item{display:flex;align-items:center;gap:16px}.check-item svg{flex:0 0 auto}.check-item span{font-size:14px;color:#54504a}.steps{display:grid;grid-template-columns:1fr 44px 1fr 44px 1fr;align-items:center}.step{background:#fbfaf5;border:1px solid #e9e5da;border-radius:16px;padding:22px 22px 24px}.step-head{display:flex;align-items:center;gap:14px;margin-bottom:14px}.step-badge{border:1px solid #c4be9f;border-radius:18px;padding:6px 13px;font-size:10.5px;letter-spacing:.1em;color:#7a7556;white-space:nowrap}.step-name{font-family:var(--mincho);font-weight:600;font-size:18px;line-height:1.35;color:#34322a}.step-body{display:flex;gap:14px;align-items:flex-start}.step-body img{flex:0 0 auto;margin-top:2px}.step-body p{font-size:12px;line-height:1.85;color:var(--para2);margin:0}.dots{display:flex;justify-content:center;letter-spacing:2px;color:#c1bb9c}.dots,.split-07{align-items:center}.split-07{display:grid;grid-template-columns:1fr 1fr;grid-gap:44px;gap:44px}.split-07 .h2{font-size:33px;line-height:1.5;margin-bottom:24px}.split-07 .desc{font-size:13px;line-height:2.1;color:var(--para);margin:0}.art-07 img{display:block;width:100%;height:auto}.split-08{display:grid;grid-template-columns:.82fr 1.18fr;grid-gap:40px;gap:40px;align-items:center;margin-bottom:26px}.split-08 .h2{font-size:29px}.split-08 .desc{font-size:12.5px;line-height:2.05;color:var(--para);margin:0}.inga{display:grid;grid-template-columns:1fr auto 1fr;grid-gap:14px;gap:14px}.inga,.inga-card{align-items:center}.inga-card{display:flex;gap:16px;border:1px solid #d5cfb8;border-radius:90px;padding:22px 26px}.inga-card img{width:56px;flex:0 0 auto}.inga-card .ttl{font-family:var(--mincho);font-size:14px;font-weight:600;color:#595939;margin-bottom:8px}.inga-card p{font-size:11.5px;line-height:1.8;color:var(--muted);margin:0}.inga-mid{width:56px;opacity:.85}.note{display:flex;align-items:center;gap:22px;background:#efeada;border-radius:14px;padding:22px 36px}.note img{width:50px;flex:0 0 auto;opacity:.85}.note p{font-family:var(--mincho);font-size:15px;line-height:1.85;color:#45422f;margin:0}.cta{z-index:2;padding:50px var(--px) 70px}.cta,.cta-inner{position:relative}.cta-inner{background:linear-gradient(135deg,#f4f1e8,#ece7d8);border-radius:22px;padding:56px 60px;overflow:hidden}.cta-art{position:absolute;bottom:0;pointer-events:none}.cta-art--a{right:220px;width:150px;opacity:.92}.cta-art--b{right:40px;bottom:24px;width:170px;opacity:.95}.cta-body{position:relative;z-index:2;max-width:560px}.cta-body h2{font-family:var(--mincho);font-weight:600;font-size:32px;color:var(--ink);margin:0 0 14px;white-space:nowrap}.cta-body p{font-size:14px;line-height:1.9;color:#5f5a4e;margin:0 0 30px}.cta-btns{display:flex;gap:16px;flex-wrap:wrap}.site-footer{position:relative;z-index:2;background:var(--accent);color:#e9e6d8;padding:44px var(--px) 36px}.footer-row{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:30px;border-bottom:1px solid rgba(233,230,216,.18)}.footer-logo .s{font-size:11px;letter-spacing:.16em;color:#c8c4b0}.footer-logo .m{font-family:var(--mincho);font-weight:600;font-size:24px;letter-spacing:.14em;color:#f6f3e8;margin-top:8px}.footer-nav{display:flex;gap:34px;flex-wrap:wrap}.footer-nav a{font-size:12.5px;color:#d7d3c2}@media (max-width:1024px){.site-nav{gap:24px}.site-nav a{font-size:12.5px}.cards4{grid-template-columns:repeat(2,1fr)}.hero h1{font-size:36px}.cta-art--a{right:180px}}@media (max-width:768px){.site-header{flex-wrap:wrap;gap:14px;justify-content:center;text-align:center}.site-nav{display:none}.hero,.split-04,.split-05,.split-07,.split-08{grid-template-columns:1fr;gap:28px}.hero{padding-top:24px;padding-bottom:40px}.hero h1{font-size:30px}.hero-art{min-height:auto;order:-1}.hero-art img{width:360px}.hero-p{max-width:none}.cards3{grid-template-columns:1fr;gap:16px}.cards3 .arrow{display:none}.cards3b,.cards4{grid-template-columns:1fr}.split-04 .h2{font-size:24px}.split-04 .desc{max-width:none}.art-05{min-height:auto}.art-05 img{width:80%;max-width:320px}.checklist{padding-right:0}.steps{grid-template-columns:1fr;gap:16px}.steps .dots{display:none}.split-07 .h2{font-size:28px}.inga{grid-template-columns:1fr;gap:16px}.inga-mid{justify-self:center;transform:rotate(90deg)}.split-08 .h2{font-size:24px}.note{flex-direction:column;text-align:center;padding:22px 24px}.cta-inner{padding:40px 28px}.cta-body h2{font-size:22px;white-space:normal}.cta-art--a{display:none}.cta-art--b{width:120px;opacity:.5}.footer-row{flex-direction:column;gap:22px}.cta,.section{padding-top:40px;padding-bottom:44px}.h2{font-size:25px}}@media (max-width:420px){.hero h1{font-size:26px}.cta-btns .btn,.hero-btns .btn{width:100%;justify-content:center}.hero-art img{width:280px}}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease;will-change:opacity,transform}.reveal.is-visible{opacity:1;transform:none}.btn{transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease}.btn-primary:hover{transform:translateY(-2px);background:#5f5c3a;box-shadow:0 10px 24px rgba(86,83,52,.28)}.btn-ghost:hover{transform:translateY(-2px);border-color:var(--accent);background:#fff}.header-cta{transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.header-cta:hover{transform:translateY(-2px);background:#5f5c3a;box-shadow:0 8px 18px rgba(86,83,52,.26)}.card,.fcard,.pcard,.step{transition:transform .25s ease,box-shadow .25s ease}.card:hover,.fcard:hover,.pcard:hover,.step:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(90,84,60,.1)}.tag{transition:background .2s ease,border-color .2s ease,color .2s ease}.tag:hover{background:var(--accent);border-color:var(--accent);color:#f5f2e8}.footer-nav a,.site-nav a{position:relative}.footer-nav a:after,.site-nav a:after{content:"";position:absolute;left:0;bottom:-5px;width:0;height:1px;background:currentColor;transition:width .25s ease}.footer-nav a:hover:after,.site-nav a:hover:after{width:100%}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none}.btn,.card,.fcard,.header-cta,.pcard,.reveal,.step{transition:none}}.contact-wrap{max-width:620px}.contact-form{gap:18px}.contact-form,.field{display:flex;flex-direction:column}.field{gap:8px}.field label{font-size:13px;color:#5b564b;letter-spacing:.04em}.field input,.field textarea{font-family:var(--gothic);font-size:15px;color:var(--ink);background:#fffefb;border:1px solid #d8d2bf;border-radius:12px;padding:14px 16px;width:100%;transition:border-color .2s ease,box-shadow .2s ease}.field textarea{resize:vertical;line-height:1.8}.field input:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(86,83,52,.12)}.field input::placeholder,.field textarea::placeholder{color:#b3ad9a}.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}.form-submit{align-self:flex-start;border:none;cursor:pointer;margin-top:4px}.form-submit:disabled{opacity:.6;cursor:default}.form-note{font-size:11.5px;color:#8d8772;margin:2px 0 0}.form-err{font-size:13px;color:#b0492f;margin:0}.form-done{max-width:620px;background:#fffefb;border:1px solid #e2dcc9;border-radius:16px;padding:32px 34px}.form-done-ttl{font-family:var(--mincho);font-size:20px;font-weight:600;color:var(--ink);margin:0 0 10px}.form-done-sub{font-size:14px;line-height:1.9;color:var(--para);margin:0}@media (max-width:420px){.form-submit{width:100%;justify-content:center}}.price-lead{font-size:13.5px;line-height:2.05;color:var(--para);max-width:600px;margin:0 0 8px}.price-lead .em{color:var(--ink);font-weight:600}.price-core{background:var(--card);border:1px solid #e2dcc9;border-radius:18px;padding:48px 44px;text-align:center;max-width:620px;margin:36px auto 44px;box-shadow:0 10px 30px rgba(90,84,60,.06)}.price-core .core-eyebrow{font-size:12px;letter-spacing:.32em;color:var(--label);margin-bottom:22px}.price-core .core-main{font-family:var(--mincho);font-weight:600;color:var(--ink);font-size:clamp(30px,6vw,44px);line-height:1.3;letter-spacing:.04em}.price-core .core-main .yen{font-size:.5em;margin:0 .1em}.price-core .core-main .from{font-size:.42em;color:#807a6a;margin-left:.2em}.price-core .core-div{display:block;width:1px;height:32px;margin:20px auto;background:linear-gradient(#cfc9ae,transparent)}.price-core .core-sub{font-family:var(--mincho);font-weight:600;color:var(--ink);font-size:clamp(18px,3.4vw,23px);letter-spacing:.04em}.price-core .core-sub .pct{color:var(--accent)}.price-core .core-note{margin-top:22px;font-size:13px;color:#807a6a;line-height:1.95}.price-points{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:20px;gap:20px}.ppoint{background:var(--card);border:1px solid #ece8dd;border-radius:14px;padding:26px 24px 28px;box-shadow:0 8px 22px rgba(90,84,60,.05);transition:transform .25s ease,box-shadow .25s ease}.ppoint:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(90,84,60,.1)}.ppoint .ord{font-size:22px;color:var(--num);margin-bottom:12px}.ppoint .ord,.ppoint h3{font-family:var(--mincho)}.ppoint h3{font-weight:600;font-size:16.5px;color:#34322a;margin:0 0 12px;line-height:1.5}.ppoint p{font-size:12.5px;line-height:1.95;color:var(--para2);margin:0}@media (max-width:768px){.price-points{grid-template-columns:1fr;gap:16px}.price-core{padding:38px 24px}}.sec-cta{margin-top:36px}.sec-cta--center{text-align:center;margin-top:44px}