:root{--ink: #34302a;--ink-soft: #7b7267;--ink-faint: #a89e90;--bg: #faf8f4;--bg-soft: #f3eee5;--bg-deep: #2b2823;--ivory: #f4efe6;--accent: #a8905e;--accent-deep: #8a7347;--line-green: #06c755;--border: #e6dfd2;--serif: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;--sans: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Noto Sans JP", sans-serif;--en: "Cormorant Garamond", "Times New Roman", serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--bg);line-height:2.05;font-size:15.5px;letter-spacing:.02em;-webkit-font-smoothing:antialiased}a{color:var(--accent-deep);transition:color .25s ease}a:hover{color:var(--accent)}img{max-width:100%;height:auto;display:block}.wrap{max-width:720px;margin:0 auto;padding:0 24px}.wrap-wide{max-width:1040px;margin:0 auto;padding:0 24px}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.7;letter-spacing:.06em}.sec-head{margin:0 0 36px}.sec-head .en{display:block;font-family:var(--en);font-size:.82rem;letter-spacing:.42em;text-transform:uppercase;color:var(--accent);margin-bottom:6px}.sec-head h2{font-size:1.55rem;margin:0}.sec-head .rule{display:block;width:44px;height:1px;background:var(--accent);margin-top:18px}.sec-head.center{text-align:center}.sec-head.center .rule{margin-left:auto;margin-right:auto}.site-header{position:sticky;top:0;z-index:20;background:#faf8f4e0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(230,223,210,.7)}.site-header .inner{max-width:1120px;margin:0 auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{font-family:var(--en);font-weight:500;font-size:1.5rem;letter-spacing:.14em;color:var(--ink);text-decoration:none;line-height:1.2}.brand small{display:block;font-family:var(--sans);font-size:.6rem;font-weight:500;color:var(--ink-soft);letter-spacing:.22em;margin-top:3px}.gnav{display:flex;gap:26px;align-items:center;font-size:.83rem;letter-spacing:.12em}.gnav a{color:var(--ink);text-decoration:none;position:relative;padding-bottom:2px}.gnav a:not(.nav-line):after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform .3s ease}.gnav a:not(.nav-line):hover:after{transform:scaleX(1);transform-origin:left}.gnav .nav-line{background:var(--line-green);color:#fff;padding:9px 18px;border-radius:999px;font-weight:700;text-decoration:none;font-size:.8rem;white-space:nowrap;letter-spacing:.06em;transition:transform .25s ease,box-shadow .25s ease;box-shadow:0 3px 12px #06c75538}.gnav .nav-line:hover{transform:translateY(-1px);box-shadow:0 6px 16px #06c75552}.site-footer{margin-top:120px;background:var(--bg-deep);color:var(--ivory)}.site-footer .inner{max-width:1040px;margin:0 auto;padding:72px 24px 40px}.site-footer .f-brand{font-family:var(--en);font-size:1.9rem;letter-spacing:.16em;color:var(--ivory)}.site-footer .f-tag{font-size:.78rem;letter-spacing:.24em;color:#f4efe68c;margin:4px 0 28px}.site-footer .f-info{font-size:.86rem;line-height:2.2;color:#f4efe6cc}.site-footer a{color:var(--ivory)}.site-footer a:hover{color:var(--accent)}.site-footer nav{margin-top:28px;display:flex;flex-wrap:wrap;gap:22px;font-size:.8rem;letter-spacing:.14em}.site-footer nav a{text-decoration:none;color:#f4efe6bf}.site-footer nav a:hover{color:var(--ivory)}.copyright{margin-top:40px;font-size:.72rem;letter-spacing:.18em;color:#f4efe666}.btn-line{display:inline-block;background:var(--line-green);color:#fff!important;font-weight:700;text-decoration:none;padding:16px 40px;border-radius:999px;font-size:.98rem;letter-spacing:.08em;box-shadow:0 4px 16px #06c75547;transition:transform .25s ease,box-shadow .25s ease}.btn-line:hover{transform:translateY(-2px);box-shadow:0 8px 22px #06c75561}.btn-sub{display:inline-block;color:var(--accent-deep);font-size:.88rem;margin-top:16px;letter-spacing:.06em}.cta-box{margin:88px 0 8px;padding:64px 32px;background:var(--bg-deep);border-radius:4px;text-align:center;color:var(--ivory)}.cta-box .en{display:block;font-family:var(--en);font-size:.82rem;letter-spacing:.42em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}.cta-box p.lead-sm{margin:0 0 28px;font-size:.95rem;color:#f4efe6d9}.photo-placeholder{background:linear-gradient(135deg,#efe9dd,#e7dfcf);border-radius:2px;color:#9a9082;aspect-ratio:3 / 2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;font-size:.82rem;letter-spacing:.08em;margin:36px 0;padding:24px}.photo-placeholder:before{content:"PHOTO";font-family:var(--en);font-size:.75rem;letter-spacing:.5em;color:#b3a78f}.page-title{font-size:1.8rem;margin:0}.page-lead{color:var(--ink-soft);font-size:.93rem;margin:20px 0 48px}.page-head{margin-top:72px}.page-head .en{display:block;font-family:var(--en);font-size:.85rem;letter-spacing:.42em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}.reveal{opacity:0;transform:translateY(28px);transition:opacity 1s ease,transform 1s ease}.reveal.is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}@media(max-width:640px){body{font-size:15px}.brand{font-size:1.25rem}.brand small{letter-spacing:.12em}.gnav{gap:14px;font-size:.76rem}.gnav .hide-sp{display:none}.page-title{font-size:1.45rem}.page-head{margin-top:48px}.sec-head h2{font-size:1.3rem}.site-footer{margin-top:80px}.cta-box{padding:48px 24px;margin-top:64px}}
