:root{--cream: #FDFBF7;--cream2: #FAF5EC;--pink: #E8C4C4;--pink-soft: #F7E9E9;--green: #A8BFA0;--green-soft: #EDF2E9;--ink: #4C463E;--ink-soft: #6E675D;--rose: #A85A5A;--deep: #5A7A4E;--line: #E8E0D3;--radius-l: 28px;--radius-m: 18px;--shadow: 0 10px 30px rgba(120, 100, 90, .1)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Zen Maru Gothic,Hiragino Maru Gothic ProN,sans-serif;color:var(--ink);background:var(--cream);line-height:2;letter-spacing:.03em;font-size:15.5px}img{max-width:100%;display:block}a{color:inherit}ul{list-style:none}.site-header{position:sticky;top:0;z-index:100;background:#fdfbf7f0;backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}.header-inner{max-width:1240px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:14px 22px}.logo{text-decoration:none;display:flex;flex-direction:column;gap:2px}.logo-main{font-family:Klee One,cursive;font-weight:600;font-size:19px;color:var(--ink);line-height:1.4}.logo-sub{font-size:11px;color:var(--rose);letter-spacing:.12em}.global-nav ul{display:flex;align-items:center;gap:4px}.global-nav a{text-decoration:none;font-size:13.5px;padding:8px 10px;border-radius:999px;transition:background .25s,color .25s;white-space:nowrap}.global-nav a:hover{background:var(--pink-soft);color:var(--rose)}.global-nav .nav-contact{background:var(--green-soft);color:var(--deep);font-weight:700}.global-nav .nav-contact:hover{background:var(--green);color:#fff}.nav-toggle,.mobile-nav{display:none}@media(max-width:1080px){.global-nav{display:none}.nav-toggle{display:flex;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px}.nav-toggle span{width:26px;height:2.5px;background:var(--ink);border-radius:2px;transition:transform .25s,opacity .25s}.nav-toggle.is-open span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}.nav-toggle.is-open span:nth-child(2){opacity:0}.nav-toggle.is-open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}.mobile-nav{display:none;background:var(--cream);border-top:1px solid var(--line)}.mobile-nav.is-open{display:block}.mobile-nav ul{padding:12px 22px 22px}.mobile-nav a{display:block;padding:11px 6px;text-decoration:none;font-size:15px;border-bottom:1px dashed var(--line)}}.wrap{max-width:1080px;margin:0 auto;padding:0 22px}.wrap-narrow{max-width:860px;margin:0 auto;padding:0 22px}.sec{padding:88px 0}.sec-cream{background:var(--cream)}.sec-cream2{background:var(--cream2)}.sec-pink{background:var(--pink-soft)}.sec-green{background:var(--green-soft)}.eyebrow{display:inline-block;font-family:Klee One,cursive;font-size:13px;color:var(--rose);letter-spacing:.18em;margin-bottom:10px}.sec-title{font-family:Klee One,cursive;font-weight:600;font-size:clamp(25px,3.4vw,34px);line-height:1.6;margin-bottom:26px;color:var(--ink)}.sec-title .accent{color:var(--deep)}.lead{font-size:15.5px;line-height:2.2;color:var(--ink-soft)}.page-hero{position:relative;height:320px;overflow:hidden}.page-hero img{width:100%;height:100%;object-fit:cover}.page-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#4c463e2e,#4c463e73)}.page-hero-text{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#fff;text-align:center;padding:0 20px}.page-hero-text .en{font-family:Klee One,cursive;font-size:13px;letter-spacing:.3em;margin-bottom:8px}.page-hero-text h1{font-family:Klee One,cursive;font-weight:600;font-size:clamp(26px,4vw,38px);text-shadow:0 2px 14px rgba(0,0,0,.35)}.card{background:#fff;border-radius:var(--radius-l);box-shadow:var(--shadow);padding:34px 30px}.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-l);overflow:hidden;box-shadow:var(--shadow)}.photo-round img{width:100%;height:100%;object-fit:cover}.btn{display:inline-block;text-decoration:none;background:var(--rose);color:#fff;font-weight:700;padding:16px 44px;border-radius:999px;font-size:15px;box-shadow:0 8px 22px #a85a5a47;transition:transform .25s,box-shadow .25s}.btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px #a85a5a5c}.btn-green{background:var(--deep);box-shadow:0 8px 22px #5a7a4e47}.btn-green:hover{box-shadow:0 12px 28px #5a7a4e5c}.btn-line{background:#fff;color:var(--rose);border:2px solid var(--pink);box-shadow:none}table.soft-table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border-radius:var(--radius-m);overflow:hidden;box-shadow:var(--shadow)}table.soft-table th,table.soft-table td{padding:16px 20px;font-size:14.5px;text-align:left;border-bottom:1px solid var(--line);line-height:1.9}table.soft-table thead th{background:var(--green-soft);color:var(--deep);font-weight:700}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(--pink-soft);font-weight:700;width:34%;color:var(--ink)}.fadein{opacity:0;transform:translateY(18px);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(--pink-soft);padding:76px 0;text-align:center}.cta-band .sec-title{margin-bottom:14px}.cta-band .lead{margin-bottom:30px}.cta-tel{font-family:Klee One,cursive;font-size:30px;color:var(--ink);margin:14px 0 4px}.cta-tel-note{font-size:12.5px;color:var(--ink-soft);margin-bottom:22px}.site-footer{background:var(--green-soft);border-top:1px solid var(--line);padding:60px 0 28px}.footer-inner{max-width:1080px;margin:0 auto;padding:0 22px;display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap}.footer-logo{font-family:Klee One,cursive;font-weight:600;font-size:19px;margin-bottom:14px}.footer-addr{font-size:13.5px;color:var(--ink-soft);line-height:2.1}.footer-nav ul{display:grid;grid-template-columns:repeat(2,auto);gap:6px 34px}.footer-nav a{text-decoration:none;font-size:13.5px;color:var(--ink-soft)}.footer-nav a:hover{color:var(--rose)}.copyright{text-align:center;font-size:12px;color:var(--ink-soft);margin-top:44px}
