:root{--gold: #b89042;--gold-deep: #937022;--gold-soft: #d9c089;--khaki: #e7e2cf;--cream: #f6f3ea;--cream2: #fbf9f2;--paper: #ffffff;--ink: #2e2a22;--ink-soft: #6a6455;--line: #e0dccd;--line-2: #efe9d8;--radius-l: 6px;--radius-m: 4px;--shadow: 0 18px 44px rgba(94, 78, 40, .1);--shadow-s: 0 8px 24px rgba(94, 78, 40, .08);--serif: "Shippori Mincho", "Hiragino Mincho ProN", serif;--gothic: "Zen Kaku Gothic New", "Noto Sans JP", sans-serif;--body: "Noto Sans JP", "Hiragino Sans", sans-serif}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--body);color:var(--ink);background:var(--paper);line-height:1.95;letter-spacing:.04em;font-size:15px;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit}ul{list-style:none}.site-header{position:sticky;top:0;z-index:100;background:#fffffff2;backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.header-inner{max-width:1300px;margin:0 auto;display:flex;align-items:center;gap:26px;padding:12px 30px}.logo{text-decoration:none;display:flex;align-items:center;gap:12px;margin-right:auto}.logo-mark{color:var(--gold);display:inline-flex}.logo-words{display:flex;flex-direction:column;gap:3px}.logo-main{font-family:var(--serif);font-weight:700;font-size:20px;color:var(--ink);line-height:1.3;letter-spacing:.04em}.logo-sub{font-size:10.5px;color:var(--gold-deep);letter-spacing:.08em}.global-nav ul{display:flex;align-items:center;gap:2px}.global-nav a{text-decoration:none;display:flex;align-items:center;padding:8px 11px;position:relative;transition:color .25s}.global-nav .g-ja{font-size:13px;color:var(--ink);white-space:nowrap}.global-nav a:after{content:"";position:absolute;bottom:2px;left:50%;transform:translate(-50%);width:0;height:2px;background:var(--gold);transition:width .3s}.global-nav a:hover:after{width:70%}.global-nav a:hover .g-ja{color:var(--gold-deep)}.header-cta{flex-shrink:0;text-decoration:none;display:flex;align-items:center;background:var(--gold);color:#fff;padding:11px 22px;border-radius:999px;box-shadow:0 6px 16px #b8904247;transition:background .25s,transform .25s}.header-cta:hover{background:var(--gold-deep);transform:translateY(-1px)}.hc-ja{font-size:13px;font-weight:700}.nav-toggle,.mobile-nav{display:none}@media(max-width:1180px){.global-nav,.header-cta{display:none}.header-inner{padding:12px 20px}.nav-toggle{display:flex;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px}.nav-toggle span{width:26px;height:2px;background:var(--ink);border-radius:2px;transition:transform .25s,opacity .25s}.nav-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle.is-open span:nth-child(2){opacity:0}.nav-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-nav{display:none;background:var(--cream2);border-top:1px solid var(--line)}.mobile-nav.is-open{display:block}.mobile-nav ul{padding:12px 20px 22px}.mobile-nav a{display:block;padding:12px 6px;text-decoration:none;font-size:15px;border-bottom:1px solid var(--line-2)}.mobile-nav .m-cta{color:var(--gold-deep);font-weight:700;border-bottom:none}}@media(max-width:560px){.logo-main{font-size:17px}.logo-sub{font-size:9.5px}}.wrap{max-width:1180px;margin:0 auto;padding:0 30px}.wrap-narrow{max-width:860px;margin:0 auto;padding:0 30px}.sec{padding:96px 0;position:relative}.sec-cream{background:var(--paper)}.sec-cream2{background:var(--cream2)}.sec-pink{background:var(--cream)}.sec-green{background:var(--khaki)}.eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:var(--serif);font-size:12.5px;font-weight:600;color:var(--gold-deep);letter-spacing:.18em;margin-bottom:14px}.eyebrow:before{content:"";width:30px;height:1px;background:var(--gold);display:inline-block}.center .eyebrow:after{content:"";width:30px;height:1px;background:var(--gold);display:inline-block}.sec-title{font-family:var(--serif);font-weight:700;font-size:clamp(25px,3.3vw,35px);line-height:1.55;margin-bottom:28px;color:var(--ink);letter-spacing:.03em}.sec-title .accent{color:var(--gold-deep)}.lead{font-size:15px;line-height:2.1;color:var(--ink-soft)}.card-h{font-family:var(--serif);font-weight:700;font-size:18px;color:var(--ink);margin-bottom:12px}.card-p{font-size:13.5px;color:var(--ink-soft);line-height:1.95}.page-hero{position:relative;height:340px;overflow:hidden;background:var(--cream)}.page-hero img{width:100%;height:100%;object-fit:cover}.page-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,#2e2a229e,#2e2a2257 55%,#b8904233)}.page-hero-text{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:center;max-width:1180px;margin:0 auto;padding:0 30px;color:#fff}.page-hero-text:before{content:"";position:absolute;inset:28px 30px;border:1px solid rgba(255,255,255,.5);pointer-events:none}.page-hero-text .en{font-family:var(--serif);font-size:12px;letter-spacing:.3em;margin-bottom:10px;color:var(--gold-soft)}.page-hero-text h1{font-family:var(--serif);font-weight:700;font-size:clamp(26px,4vw,40px);text-shadow:0 2px 14px rgba(0,0,0,.35);letter-spacing:.05em}@media(max-width:560px){.page-hero-text:before{left:18px;right:18px}}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-m);box-shadow:var(--shadow-s);padding:34px 30px;transition:box-shadow .3s,transform .3s}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:26px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}@media(max-width:880px){.grid2,.grid3{grid-template-columns:1fr}}.photo-round{border-radius:var(--radius-m);overflow:hidden;box-shadow:var(--shadow)}.photo-round img{width:100%;height:100%;object-fit:cover}.btn{display:inline-flex;align-items:center;gap:10px;text-decoration:none;background:var(--gold);color:#fff;font-weight:700;font-family:var(--gothic);padding:15px 40px;border-radius:999px;font-size:15px;box-shadow:0 10px 24px #b8904242;transition:transform .25s,box-shadow .25s,background .25s}.btn:after{content:"→";font-size:14px}.btn:hover{transform:translateY(-2px);background:var(--gold-deep);box-shadow:0 14px 30px #93702252}.btn-green{background:var(--ink);box-shadow:0 10px 24px #2e2a2238}.btn-green:hover{background:#1f1c16}.btn-line{background:#fff;color:var(--gold-deep);border:1.5px solid var(--gold);box-shadow:none}.btn-line:hover{background:var(--cream);color:var(--gold-deep)}table.soft-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-m);overflow:hidden;box-shadow:var(--shadow-s)}table.soft-table th,table.soft-table td{padding:16px 22px;font-size:14.5px;text-align:left;border-bottom:1px solid var(--line-2);line-height:1.9}table.soft-table thead th{background:var(--khaki);color:var(--gold-deep);font-weight:700;font-family:var(--gothic)}table.soft-table tbody tr:last-child th,table.soft-table tbody tr:last-child td{border-bottom:none}table.soft-table tbody th{background:var(--cream);font-weight:700;width:32%;color:var(--ink);font-family:var(--gothic)}.fadein{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}.fadein.is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.fadein{opacity:1;transform:none;transition:none}}.cta-band{background:var(--khaki);padding:86px 0;text-align:center;position:relative;overflow:hidden}.cta-band:before{content:"";position:absolute;inset:22px;border:1px solid rgba(184,144,66,.4);pointer-events:none}.cta-band .wrap-narrow{position:relative;z-index:1}.cta-band .sec-title{margin-bottom:14px}.cta-band .lead{margin-bottom:30px;color:var(--ink)}.cta-tel{font-family:var(--serif);font-weight:700;font-size:30px;color:var(--gold-deep);margin:14px 0 4px;letter-spacing:.02em}.cta-tel-note{font-size:12.5px;color:var(--ink-soft);margin-bottom:22px}.site-footer{background:var(--ink);color:#efe9d8;padding:64px 0 28px}.footer-inner{max-width:1180px;margin:0 auto;padding:0 30px;display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap}.footer-logo{font-family:var(--serif);font-weight:700;font-size:20px;margin-bottom:6px;color:#fff}.footer-en{font-family:var(--serif);font-size:10.5px;letter-spacing:.16em;color:var(--gold-soft);margin-bottom:16px}.footer-addr{font-size:13px;color:#cfc8b4;line-height:2.1}.footer-nav ul{display:grid;grid-template-columns:repeat(2,auto);gap:8px 36px}.footer-nav a{text-decoration:none;font-size:13px;color:#cfc8b4;transition:color .2s}.footer-nav a:hover{color:var(--gold-soft)}.copyright{text-align:center;font-size:11.5px;color:#948c78;margin-top:48px;letter-spacing:.08em}.fade,.reveal,[data-mo]{opacity:0;transform:translate(-58px);filter:none;transition:opacity .9s cubic-bezier(.34,1.4,.64,1),transform .9s cubic-bezier(.34,1.4,.64,1),filter .9s cubic-bezier(.34,1.4,.64,1);will-change:opacity,transform,filter}[data-mo=left]{transform:translate(-58px)}[data-mo=right]{transform:translate(58px)}.fade:nth-child(2n),.reveal:nth-child(2n),[data-mo]:nth-child(2n){transform:translate(58px)}.fade.is-in,.fade.is-visible,.reveal.is-in,.reveal.is-visible,[data-mo].is-in{opacity:1!important;transform:none!important;filter:none!important}.mo-im{opacity:0;transform:translateY(46px);filter:none;transition:opacity .9s cubic-bezier(.34,1.4,.64,1),transform .9s cubic-bezier(.34,1.4,.64,1),filter .9s cubic-bezier(.34,1.4,.64,1);will-change:opacity,transform,filter}.mo-im.is-in{opacity:1!important;transform:none!important;filter:none!important}@keyframes mo-hero-kb{0%{scale:1.14;translate:0% 0%}to{scale:1.27;translate:-1.6% -.8%}}.mo-hero-img{transform:scale(1.06);animation:mo-hero-kb 16s ease-in-out infinite alternate}@keyframes mo-hero-text{0%{opacity:0;transform:translateY(42px)}to{opacity:1;transform:none}}.mo-hi{animation:mo-hero-text 1s both cubic-bezier(.16,1,.3,1)}.mo-tilt{transition:transform .4s cubic-bezier(.22,1,.36,1);will-change:transform}.mo-prog{position:fixed;top:0;left:0;height:3px;width:0;background:#b89042;z-index:99998}@media(prefers-reduced-motion:reduce){.fade,.reveal,[data-mo],.mo-im,.mo-hero-img{opacity:1!important;transform:none!important;filter:none!important;transition:none!important;animation:none!important;scale:none!important;translate:none!important}[class*=hero] *{animation:none!important}.mo-prog{display:none!important}}
