*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--main: #11a45a;--main-dark: #0d8447;--main-light: #e7f6ee;--accent: #4d2e04;--accent-light: #faf1e6;--accent-orange:#e79322;--heading: #11a45a;--text: #333333;--bg: #fafaf8;--border: #ddd}body{font-family:游ゴシック体,Yu Gothic,YuGothic,Hiragino Kaku Gothic ProN,ヒラギノ角ゴ ProN W3,Meiryo,sans-serif;font-size:15px;color:var(--text);background:var(--bg)}.en,.logo-en,.section-title .en,.subpage-header .en{font-family:Cormorant Garamond,serif;letter-spacing:.15em}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}ul{list-style:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#headerwrap{background:#cfe9d8;position:sticky;top:0;z-index:100;box-shadow:0 2px 6px #0000000d}.header-inner{max-width:1200px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:24px}.header-logo{flex:0 0 auto;text-align:left}.logo-link{display:inline-block;line-height:1.2}.logo-img{max-height:60px;width:auto;display:block}.logo-fallback{display:none;text-align:left}.logo-yomi{display:block;font-size:10px;letter-spacing:.25em;color:var(--main);font-weight:500}.logo-main{display:block;font-size:26px;font-weight:700;color:var(--heading);letter-spacing:.08em;margin:2px 0}.logo-en{display:block;font-size:10px;letter-spacing:.15em;color:var(--accent);font-family:Cormorant Garamond,serif}#nav{flex:1;display:flex;justify-content:flex-end}.nav-menu{display:flex;align-items:stretch}.nav-menu>li{text-align:center;border-left:1px solid rgba(17,164,90,.25)}.nav-menu>li:last-child{border-right:1px solid rgba(17,164,90,.25)}.nav-menu>li>a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 12px;color:var(--heading);white-space:nowrap;transition:background .2s;height:100%;min-height:52px}.nav-menu>li>a .ja{font-size:13px;font-weight:700}.nav-menu>li>a .en{font-size:9px;letter-spacing:.15em;color:var(--main);opacity:.9;font-family:Cormorant Garamond,serif}.nav-menu>li>a:hover,.nav-menu>li.active>a{background:#ffffff73}.has-sub{position:relative}.sub-menu{display:none;position:absolute;top:100%;left:0;z-index:200;background:var(--main);min-width:160px;box-shadow:0 4px 10px #00000026}.has-sub:hover .sub-menu{display:block}.sub-menu li a{display:block;padding:10px 16px;color:#fff;font-size:13px;border-bottom:1px solid rgba(255,255,255,.18)}.sub-menu li a:hover{background:var(--main-dark)}.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;flex-direction:column;gap:5px}.nav-toggle span{display:block;width:24px;height:2px;background:var(--heading);transition:.3s}.nav-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.nav-toggle.active span:nth-child(2){opacity:0}.nav-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.container{max-width:1100px;margin:0 auto;padding:0 20px}.section{padding:60px 0}.section-title{text-align:center;margin-bottom:40px}.section-title .ja{display:block;font-size:22px;font-weight:700;color:var(--heading);font-family:inherit}.section-title .en{display:block;font-size:14px;color:var(--main);letter-spacing:.18em;text-transform:uppercase;margin-top:4px;font-family:Cormorant Garamond,serif}.section-title:after{content:"";display:block;width:60px;height:3px;background:var(--main);margin:12px auto 0}.subpage-header{background:linear-gradient(135deg,var(--main) 0%,var(--main-dark) 100%);padding:48px 20px;text-align:center;color:#fff;position:relative;overflow:hidden}.subpage-header:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 70% 50%,rgba(201,144,138,.18) 0%,transparent 60%)}.subpage-header h1{font-size:30px;font-weight:700;font-family:inherit;position:relative}.subpage-header .en{font-family:Cormorant Garamond,serif;font-size:15px;letter-spacing:.2em;text-transform:uppercase;margin-top:6px;opacity:.9;position:relative}#footer{background:#333;color:#fff;padding:40px 20px 20px}.footer-reserve{text-align:center;padding:30px 20px;background:#444;border-radius:8px;max-width:800px;margin:0 auto 30px}.footer-tel{font-size:24px;margin-bottom:8px}.footer-tel a{color:#ffc038;font-weight:700}.footer-address{font-size:13px;color:#ddd;margin-bottom:6px}.footer-hours{font-size:13px;color:#ccc;margin-bottom:12px}.footer-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.footer-nav{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin-bottom:20px;font-size:13px;max-width:1100px;margin-left:auto;margin-right:auto}.footer-nav ul{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.footer-nav a{color:#ccc}.footer-nav a:hover{color:var(--main)}.footer-copy{text-align:center;font-size:12px;color:#888}.page-top{display:none;position:fixed;bottom:20px;right:20px;background:var(--main);color:#fff;padding:10px 14px;border-radius:4px;font-size:12px;font-weight:700;z-index:999}.price-table{width:100%;border-collapse:collapse;margin:20px 0}.price-table th,.price-table td{border:1px solid #dbdbdb;padding:10px 14px;text-align:left}.price-table th{background:var(--main-light);font-weight:700}.price-table tr:nth-child(2n) td{background:#fafafa}.price-tag{color:var(--main);font-weight:700;font-size:16px}.side-ctas{position:fixed;right:0;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:10px;z-index:90}.side-cta{display:flex;flex-direction:column;align-items:center;gap:8px;background:var(--main);color:#fff;padding:16px 10px;border-radius:8px 0 0 8px;box-shadow:-2px 2px 10px #0000002e;transition:background .2s,padding-right .2s}.side-cta:hover{background:var(--main-dark);padding-right:14px}.side-cta i{font-size:18px}.side-cta-label{writing-mode:vertical-rl;font-size:13px;font-weight:700;letter-spacing:.08em}@media(max-width:900px){.header-inner{padding:8px 16px;gap:12px}.logo-main{font-size:18px;letter-spacing:.04em}.logo-img{max-height:50px}.logo-yomi{font-size:9px;letter-spacing:.15em}.logo-en{font-size:8px}#nav{flex:0 0 auto}.nav-toggle{display:flex}.nav-menu{display:none;flex-direction:column;position:absolute;top:100%;right:0;left:0;z-index:150;background:#cfe9d8;box-shadow:0 6px 12px #0000001a}.nav-menu.open{display:flex}.nav-menu>li{border-left:none;border-bottom:1px solid rgba(17,164,90,.18)}.nav-menu>li:last-child{border-right:none}.nav-menu>li>a{flex-direction:row;justify-content:flex-start;padding:12px 20px;min-height:auto;gap:10px}.nav-menu>li>a .ja{font-size:14px}.nav-menu>li>a .en{font-size:9px}.has-sub .sub-menu{position:static;display:none;background:var(--main)}.has-sub:hover .sub-menu{display:none}.has-sub.open .sub-menu{display:block}.sub-menu li a{padding-left:40px}.nav-menu>li.has-sub>a:after{content:"+";margin-left:auto;font-size:18px;line-height:1;color:var(--main);font-weight:700}.nav-menu>li.has-sub.open>a:after{content:"−"}.footer-nav{flex-direction:column;align-items:center}.footer-nav ul{justify-content:center}.side-cta{padding:12px 7px;gap:6px}.side-cta i{font-size:15px}.side-cta-label{font-size:11px}}
