@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600&family=Noto+Serif+JP:wght@400;500;600&display=swap');:root{--plum:#813c70;--deep:#54244b;--ink:#302a2d;--muted:#746d70;--mist:#f4f2f3;--line:#e5dfe2;--serif:"Noto Serif JP",serif;--sans:"DM Sans","Noto Serif JP",sans-serif}*{box-sizing:border-box}html,body{overflow-x:clip}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:var(--sans);line-height:1.85}img{display:block;width:100%;height:auto}a{color:inherit;text-decoration:none;min-height:44px}a:hover{color:var(--plum)}:focus-visible{outline:3px solid #bd79aa;outline-offset:3px}.sample{text-align:center;background:#f4edf2;color:#5e3855;font-size:12px;line-height:1.5;padding:8px;margin:0}.head-inner{max-width:1180px;margin:auto;padding:18px 28px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;flex-direction:column;line-height:1.35}.brand-en{font-size:25px;letter-spacing:.17em;font-weight:300}.brand-ja{font-family:var(--serif);font-size:12px;letter-spacing:.16em;color:var(--muted)}.head-actions{display:flex;align-items:center;gap:18px}.head-phone{font-size:14px;font-weight:600;color:var(--deep)}.head-phone small{display:block;font-size:10px;font-weight:400;color:var(--muted);text-align:center}.menu-toggle{display:none;border:0;border-radius:6px;background:var(--plum);color:white;width:48px;height:48px;font-size:24px}.nav{background:var(--plum);color:#fff}.nav ul{max-width:1180px;margin:auto;padding:0 20px;list-style:none;display:flex;justify-content:space-around}.nav a{display:flex;align-items:center;padding:10px 15px;font-size:14px}.nav a:hover,.nav a[aria-current=page]{background:#6e2f60;color:white}.hero{position:relative;min-height:clamp(420px,54vw,660px);display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden;background:#ddd}.hero img{height:100%;min-height:inherit;object-fit:cover}.hero::after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(24,14,21,.58));pointer-events:none}.hero-copy{position:absolute;z-index:1;right:max(7vw,24px);bottom:11%;max-width:620px;color:#fff;text-align:right;text-shadow:0 2px 10px #332632}.eyebrow{font-size:12px;letter-spacing:.22em;text-transform:uppercase}.hero h1{font:400 clamp(27px,4vw,48px)/1.55 var(--serif);letter-spacing:.1em;margin:.2em 0;word-break:keep-all;overflow-wrap:anywhere}.hero p{font:clamp(14px,1.5vw,18px) var(--serif);letter-spacing:.1em}.section{padding:88px 24px}.soft{background:var(--mist)}.wrap{max-width:1080px;margin:auto}.section-heading{text-align:center;margin:0 auto 42px}.section-heading .en,.page-title .en{color:var(--plum);font-size:12px;letter-spacing:.22em}.section-heading h2,.intro-copy h2,.two-col h2,.content h2{font:400 clamp(24px,3vw,34px)/1.55 var(--serif);letter-spacing:.05em;color:var(--deep);word-break:keep-all;overflow-wrap:anywhere;margin:.3em 0}.section-heading p,.card p{color:var(--muted)}.intro,.two-col{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:48px}.intro-photo img,.two-col>img{aspect-ratio:4/3;object-fit:cover}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:10px 25px;background:var(--plum);color:white;font-size:14px;transition:.18s}.button:hover{background:var(--deep);color:white;transform:translateY(-2px)}.button.outline{background:transparent;color:var(--plum);border:1px solid var(--plum)}.button-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px}.cards{display:grid;grid-template-columns:repeat(3,minmax(min(240px,100%),1fr));gap:25px}.card{background:white}.card img{aspect-ratio:4/3;object-fit:cover}.card-body{padding:18px 22px 24px}.card h3{font:500 20px/1.55 var(--serif);margin:0 0 7px;word-break:keep-all;overflow-wrap:anywhere}.card p{font-size:14px;margin:0}.banner{background:var(--deep);color:white;text-align:center;padding:50px 22px}.banner h2{font:400 clamp(23px,3vw,32px)/1.5 var(--serif);margin:0 0 12px;word-break:keep-all;overflow-wrap:anywhere}.banner p{max-width:650px;margin:0 auto 22px;color:#f1e9ef}.banner .button{background:white;color:var(--deep)}.page-title{background:var(--mist);padding:58px 20px;text-align:center}.page-title h1{font:400 clamp(27px,4vw,40px)/1.45 var(--serif);margin:7px 0;word-break:keep-all;overflow-wrap:anywhere}.page-title p{color:var(--muted);margin:0}.crumb{max-width:1080px;margin:auto;padding:12px 22px;font-size:12px;color:var(--muted)}.crumb a{text-decoration:underline}.content{max-width:800px;margin:auto}.content p{max-width:62ch}.list{padding-left:1.3em}.list li{padding:.4em 0}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 30px;border-top:1px solid var(--line)}.info-row{display:grid;grid-template-columns:130px 1fr;gap:14px;border-bottom:1px solid var(--line);padding:16px 4px}.info-row dt{font-weight:600;color:var(--deep)}.info-row dd{margin:0}.mapbox{height:300px;background:#eceaec;display:grid;place-items:center;color:#777;border:1px solid #ddd}.footer{background:#322930;color:#f7f1f5;padding:50px 24px 28px}.footer-inner{max-width:1080px;margin:auto;display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}.footer .brand-ja{color:#e2d5de}.footer-links{display:flex;gap:18px;flex-wrap:wrap}.footer-links a{font-size:13px}.copyright{max-width:1080px;margin:28px auto 0;border-top:1px solid #5c4c57;padding-top:16px;font-size:11px;color:#cfc4cc}.mobile-cta{display:none}@media(max-width:767px){.head-inner{padding:13px 18px}.brand-en{font-size:21px}.head-phone{display:none}.menu-toggle{display:block}.nav{display:none}.nav.open{display:block}.nav ul{display:grid;padding:8px 18px}.nav a{padding:8px 12px;border-bottom:1px solid #ffffff33}.hero{min-height:clamp(490px,125vw,720px)}.hero img{min-height:inherit}.hero::after{inset:35% 0 0}.hero-copy{left:5%;right:5%;bottom:8%;text-align:center}.hero h1{font-size:clamp(25px,7vw,34px)}.section{padding:62px 20px}.intro,.two-col{grid-template-columns:1fr;gap:25px}.intro-copy{order:-1}.intro .button-row{display:none}.cards{grid-template-columns:repeat(2,minmax(min(145px,100%),1fr));gap:14px}.card-body{padding:14px}.card h3{font-size:17px}.card p{font-size:13px}.section-heading{margin-bottom:28px}.page-title{padding:40px 18px}.info-grid{grid-template-columns:1fr}.info-row{grid-template-columns:105px 1fr;gap:8px}.footer{padding-bottom:90px}.mobile-cta{position:fixed;z-index:20;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:white;box-shadow:0 -3px 15px #38243222}.mobile-cta a{display:flex;align-items:center;justify-content:center;min-height:58px;background:var(--plum);color:white;font-size:14px;text-align:center}.mobile-cta a:first-child{background:white;color:var(--deep);font-weight:600}.mobile-cta span{display:block;font-size:10px;line-height:1.2}.button-row{gap:10px}.button-row .button{flex:1}.mapbox{height:240px}}@media(max-width:360px){.head-inner{padding-inline:13px}.brand-en{font-size:18px;letter-spacing:.14em}.hero h1{font-size:24px}.cards{gap:10px}.card-body{padding:11px}.info-row{grid-template-columns:90px 1fr;font-size:14px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}/* 日本語の改行を文節で（Claudeの手直し） */
h1,h2,h3,h4{word-break:auto-phrase!important;text-wrap:balance}
p,dd,li,summary,td,th{text-wrap:pretty}
img{height:auto}
.banner p,.cta p{word-break:auto-phrase;text-wrap:balance}
.hero .eyebrow{text-shadow:0 1px 8px rgba(0,0,0,.7);background:rgba(0,0,0,.25);padding:2px 8px;display:inline-block}
