:root{--rose: #C75070;--rose-deep: #B83A5C;--rose-dark: #8E2647;--berry-light: #F5D6DF;--berry-soft: #FBE9EE;--leaf: #8FB37C;--leaf-deep: #5E8F4A;--leaf-soft: #E8F2DD;--ivory: #FBF8F2;--ivory-2: #F5EFE3;--cream: #FFFCF6;--ink: #3E3036;--ink-soft: #6B5A60;--line: #EBDDD6;--radius-l: 28px;--radius-m: 18px;--coral: #C75070;--coral-deep: #B83A5C;--coral-dark: #8E2647;--peach: #F5D6DF;--peach-light: #FBE9EE}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Zen Maru Gothic,Hiragino Maru Gothic ProN,sans-serif;font-size:16.5px;line-height:2;color:var(--ink);background:var(--ivory);letter-spacing:.03em}img{max-width:100%;display:block}a{color:var(--rose-deep)}h1,h2,h3,h4{font-family:Klee One,Zen Maru Gothic,cursive;font-weight:600;line-height:1.6}.site-header{position:sticky;top:0;z-index:100;background:#fbf8f2f5;border-bottom:1px solid var(--line);backdrop-filter:blur(6px)}.header-inner{max-width:1240px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{text-decoration:none;display:flex;align-items:center;gap:10px;line-height:1.4}.brand-mark{display:inline-flex}.brand-text{display:flex;flex-direction:column}.brand-main{font-family:Klee One,cursive;font-weight:600;font-size:21px;color:var(--rose-dark)}.brand-sub{font-size:12.5px;color:var(--ink-soft);letter-spacing:.06em}.global-nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:4px 2px}.global-nav a{display:block;padding:8px 11px;text-decoration:none;color:var(--ink);font-size:15px;font-weight:500;border-radius:999px;transition:background .25s,color .25s}.global-nav a:hover{background:var(--berry-light);color:var(--rose-dark)}.nav-toggle{display:none}@media(max-width:1080px){.nav-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:52px;height:52px;padding:12px;background:var(--berry-light);border:none;border-radius:14px;cursor:pointer}.nav-toggle span{display:block;height:3px;border-radius:2px;background:var(--rose-dark);transition:transform .25s,opacity .25s}.nav-toggle.is-open span:nth-child(1){transform:translateY(9px) rotate(45deg)}.nav-toggle.is-open span:nth-child(2){opacity:0}.nav-toggle.is-open span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}.global-nav{position:absolute;top:100%;left:0;right:0;background:var(--cream);border-bottom:1px solid var(--line);display:none;padding:14px 20px 22px}.global-nav.is-open{display:block}.global-nav ul{flex-direction:column;gap:2px}.global-nav a{font-size:17px;padding:13px 14px}}.section{padding:88px 24px}.section-inner{max-width:1080px;margin:0 auto}.bg-ivory{background:var(--ivory)}.bg-cream{background:var(--cream)}.bg-peach{background:var(--leaf-soft)}.bg-berry{background:var(--berry-soft)}.eyebrow{display:inline-block;font-size:14px;letter-spacing:.18em;color:var(--rose-deep);font-weight:700;margin-bottom:12px}.heading{font-size:clamp(26px,3.6vw,36px);color:var(--ink);margin-bottom:28px}.heading-deco{display:flex;align-items:center;gap:14px}.heading-deco:after{content:"";flex:1;height:2px;border-radius:2px;background:var(--berry-light)}.lead{font-size:16.5px;line-height:2.2;color:var(--ink-soft)}.page-hero{position:relative;height:320px;overflow:hidden;border-radius:0 0 var(--radius-l) var(--radius-l)}.page-hero img{width:100%;height:100%;object-fit:cover}.page-hero-overlay{position:absolute;inset:0;background:linear-gradient(#3e262f5c,#3e262f80)}.page-hero-text{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#fff;padding:0 20px}.page-hero-text h1{font-size:clamp(28px,4.4vw,42px);text-shadow:0 2px 12px rgba(0,0,0,.3)}.page-hero-text p{margin-top:8px;font-size:15.5px;letter-spacing:.1em}.photo-soft{border-radius:36% 64% 58% 42%/42% 38% 62% 58%;overflow:hidden}.photo-soft img{width:100%;height:100%;object-fit:cover}.photo-round{border-radius:var(--radius-l);overflow:hidden}.photo-round img{width:100%;height:100%;object-fit:cover}.card{background:var(--cream);border:1px solid var(--line);border-radius:var(--radius-m);padding:30px 28px}.btn{display:inline-block;background:var(--rose);color:#fff;font-size:17px;font-weight:700;text-decoration:none;padding:16px 42px;border-radius:999px;box-shadow:0 6px 16px #c7507059;transition:background .25s,transform .25s}.btn:hover{background:var(--rose-deep);transform:translateY(-2px)}.btn-ghost{display:inline-block;background:#fff;color:var(--rose-deep);border:2px solid var(--rose);font-size:16px;font-weight:700;text-decoration:none;padding:13px 36px;border-radius:999px;transition:background .25s}.btn-ghost:hover{background:var(--berry-soft)}.fade{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.fade.is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.fade{opacity:1;transform:none;transition:none}}table.info-table{width:100%;border-collapse:collapse;background:var(--cream);border-radius:var(--radius-m);overflow:hidden}table.info-table th,table.info-table td{border:1px solid var(--line);padding:15px 18px;font-size:15.5px;text-align:left;line-height:1.8}table.info-table th{background:var(--berry-soft);color:var(--ink);font-weight:700;white-space:nowrap}.table-scroll{overflow-x:auto}.ribbon-tag{display:inline-block;background:var(--rose);color:#fff;padding:4px 14px 4px 18px;font-size:13px;font-weight:700;letter-spacing:.08em;border-radius:4px 0 0 4px;position:relative}.ribbon-tag:after{content:"";position:absolute;right:-10px;top:0;bottom:0;border-left:10px solid var(--rose);border-top:12px solid transparent;border-bottom:12px solid transparent}.site-footer{background:var(--ivory-2);border-top:1px solid var(--line);padding:64px 24px 24px}.footer-inner{max-width:1080px;margin:0 auto;display:flex;flex-wrap:wrap;gap:40px 64px}.footer-brand{font-family:Klee One,cursive;font-weight:600;font-size:22px;color:var(--rose-dark);margin-bottom:14px}.footer-addr{font-size:14.5px;color:var(--ink-soft);line-height:2.1}.footer-nav-wrap{display:flex;gap:48px;flex-wrap:wrap}.footer-nav-head{font-size:14px;font-weight:700;color:var(--rose-deep);margin-bottom:10px;letter-spacing:.1em}.footer-nav ul{list-style:none}.footer-nav li{margin-bottom:6px}.footer-nav a{color:var(--ink-soft);text-decoration:none;font-size:14.5px}.footer-nav a:hover{color:var(--rose-deep);text-decoration:underline}.copyright{text-align:center;margin-top:48px;font-size:13px;color:var(--ink-soft)}
