:root{--den-bg: #ffffff;--den-tint: #eaf5f2;--den-main: #2b8a7e;--den-ink: #21393a;--den-sub: #5b7371;--den-line: #d5e8e3;--den-warm: #f2a65a;--font-jp: "Zen Maru Gothic", sans-serif;--font-en: "Quicksand", sans-serif;--pad-x: clamp(20px, 6.6vw, 96px)}body{background:var(--den-bg);color:var(--den-ink);font-family:var(--font-jp)}.header{position:sticky;top:0;z-index:50;height:96px;display:flex;align-items:center;justify-content:space-between;padding-left:clamp(20px,3.3vw,48px);background:#fff;transition:height .5s var(--ease-expo),box-shadow .5s}.header.is-scrolled{height:76px;background:#ffffffe6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 6px 24px #21393a0f}.logo{display:flex;align-items:center;gap:12px}.logo-badge{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--den-main);color:#fff;font-size:22px;transition:transform .6s var(--ease-expo)}.logo:hover .logo-badge{transform:rotate(-12deg) scale(1.05)}.logo-text{display:flex;flex-direction:column}.logo-mark{font-size:21px;font-weight:700}.logo-sub{font-family:var(--font-en);font-size:10px;font-weight:600;letter-spacing:2px;color:var(--den-main)}.header-right{height:100%;display:flex;align-items:center;gap:40px}.nav{display:flex;gap:30px;font-size:14px;font-weight:500}.nav a{position:relative;padding:6px 0;transition:color .3s}.nav a:after{content:"";position:absolute;left:50%;bottom:-4px;width:6px;height:6px;border-radius:50%;background:var(--den-main);transform:translate(-50%) scale(0);transition:transform .4s var(--ease-expo)}.nav a:hover{color:var(--den-main)}.nav a:hover:after{transform:translate(-50%) scale(1)}.tel{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.tel-row{display:flex;align-items:center;gap:6px;font-family:var(--font-en);font-size:22px;font-weight:700;color:var(--den-main)}.tel-row .icon{font-size:16px}.tel-hours{font-size:11px;color:var(--den-sub)}.cta-tab{width:210px;height:100%;display:flex;align-items:center;justify-content:center;gap:10px;background:var(--den-warm);color:#fff;font-size:16px;font-weight:700;transition:filter .3s}.cta-tab:hover{filter:brightness(1.06)}.cta-tab .icon{font-size:18px}.menu-btn{display:none}.hero{position:relative;display:grid;grid-template-columns:minmax(0,520px) minmax(0,1fr);align-items:center;gap:64px;min-height:700px;padding-left:var(--pad-x);background:var(--den-tint);overflow:hidden}.hero-copy{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:28px;padding:56px 0}.hero-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;background:#fff;color:var(--den-main);font-size:12px;font-weight:700}.hero-title{font-size:clamp(26px,3vw,42px);font-weight:700;line-height:1.5}.hero-lead{font-size:15px;line-height:2;color:var(--den-sub)}.hero-buttons{display:flex;flex-wrap:wrap;gap:16px}.btn{display:inline-flex;align-items:center;gap:10px;padding:18px 32px;border-radius:999px;font-size:15px;font-weight:700;transition:transform .5s var(--ease-expo),box-shadow .5s var(--ease-out)}.btn:hover{transform:translateY(-3px);box-shadow:0 14px 30px #2b8a7e40}.btn-primary{background:var(--den-main);color:#fff}.btn-white{background:#fff;color:var(--den-main)}.btn-warm{background:var(--den-warm);color:#fff}.hero-photo{align-self:stretch;margin:40px 0;min-height:620px;border-radius:320px 0 0 320px;overflow:hidden}.hero-photo{position:relative}.hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}@media(prefers-reduced-motion:no-preference){.js .hero-photo{clip-path:inset(0 0 0 100% round 320px 0 0 320px);transition:clip-path 1.6s var(--ease-expo) .15s}.is-loaded .hero-photo{clip-path:inset(0 0 0 0 round 320px 0 0 320px)}.bubble{animation:float 9s ease-in-out infinite}}.bubble{position:absolute;border-radius:50%;background:#fff;opacity:.55;pointer-events:none}.b1{width:120px;height:120px;left:42%;top:8%}.b2{width:56px;height:56px;left:4%;bottom:10%;animation-delay:-3s!important}.b3{width:28px;height:28px;left:38%;bottom:18%;background:var(--den-warm);opacity:.6;animation-delay:-6s!important}@keyframes float{50%{transform:translate3d(0,-18px,0)}}.hours{padding:0 var(--pad-x);background:linear-gradient(180deg,var(--den-tint) 50%,#fff 50%)}.hours-card{display:flex;align-items:center;gap:48px;padding:32px 40px;background:#fff;border:1px solid var(--den-line);border-radius:20px;box-shadow:0 12px 40px #21393a14}.eyebrow{font-family:var(--font-en);font-size:13px;font-weight:700;letter-spacing:4px;color:var(--den-main)}.hours-label .eyebrow{font-size:12px;letter-spacing:3px}.hours-title{font-size:22px;font-weight:700;margin-top:6px}.hours-table{flex:1;border-collapse:collapse;font-size:15px}.hours-table th,.hours-table td{padding:12px 0;text-align:center;border-bottom:1px solid var(--den-line);width:72px}.hours-table tbody tr:last-child>*{border-bottom:0}.hours-table thead th{font-size:13px;color:var(--den-sub)}.hours-table th[scope=row]{text-align:left;width:auto;font-weight:700}.hours-table td{font-weight:500}.hours-table .on{color:var(--den-main)}.hours-table .half{color:var(--den-warm)}.hours-note{font-size:12px;line-height:1.8;color:var(--den-sub)}.section-head{display:flex;flex-direction:column;gap:8px}.section-head.center{align-items:center;text-align:center}.heading{font-size:clamp(26px,2.4vw,34px);font-weight:700}.services{display:flex;flex-direction:column;gap:56px;padding:clamp(80px,8.3vw,120px) var(--pad-x)}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.service{height:100%;display:flex;flex-direction:column;gap:16px;padding:36px 32px;border-radius:20px;background:var(--den-tint);transition:transform .6s var(--ease-expo),background .4s,box-shadow .6s var(--ease-expo)}.service:hover{transform:translateY(-6px);background:#fff;box-shadow:0 0 0 1px var(--den-line),0 20px 40px #21393a14}.icon-wrap{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--den-main);font-size:26px;transition:background .4s,color .4s,transform .6s var(--ease-expo)}.service:hover .icon-wrap{background:var(--den-main);color:#fff;transform:rotate(-8deg)}.service-title{display:flex;justify-content:space-between;align-items:center;font-size:20px;font-weight:700}.service-title .go{font-size:18px;color:var(--den-main);transition:transform .5s var(--ease-expo)}.service:hover .go{transform:translate(3px,-3px)}.service-desc{font-size:14px;line-height:1.8;color:var(--den-sub)}.reasons{display:flex;flex-direction:column;gap:80px;padding:clamp(80px,8.3vw,120px) var(--pad-x);background:var(--den-tint)}.reason{display:grid;grid-template-columns:minmax(0,560px) minmax(0,1fr);align-items:center;gap:clamp(40px,5.5vw,80px)}.reason.reverse{grid-template-columns:minmax(0,1fr) minmax(0,560px)}.reason.reverse .reason-photo{order:2}.reason-photo{aspect-ratio:560 / 380;border-radius:24px}.reason-text{display:flex;flex-direction:column;gap:20px}.reason-num{font-family:var(--font-en);font-size:64px;font-weight:700;line-height:1;color:var(--den-main)}.reason-title{font-size:26px;font-weight:700}.reason-body{font-size:15px;line-height:2;color:var(--den-sub)}.news{display:flex;flex-direction:column;gap:40px;padding:clamp(80px,8.3vw,120px) var(--pad-x)}.news-top{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}.news-head{display:flex;align-items:flex-end;gap:20px}.news-head .eyebrow{padding-bottom:6px}.tabs{display:flex;gap:8px}.tabs button{padding:10px 22px;border-radius:999px;background:var(--den-tint);color:var(--den-sub);font-size:13px;font-weight:700;transition:background .35s,color .35s}.tabs button[aria-selected=true]{background:var(--den-main);color:#fff}.news-row{display:flex;align-items:center;gap:32px;padding:26px 24px;border-bottom:1px solid var(--den-line);transition:background .35s}.news-row:hover{background:var(--den-tint)}.news-row time{font-family:var(--font-en);font-size:15px;font-weight:700;color:var(--den-sub)}.cat{flex:none;width:110px;padding:5px 0;text-align:center;border-radius:999px;background:var(--den-tint);color:var(--den-main);font-size:11px;font-weight:700}.news-row:hover .cat{background:#fff}.news-title{flex:1;font-size:15px}.arrow-circle{width:32px;height:32px;border-radius:50%;background:var(--den-main);color:#fff;font-size:16px}.reserve{padding:0 var(--pad-x) clamp(80px,8.3vw,120px)}.cta-box{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:32px;padding:64px 72px;border-radius:32px;background:linear-gradient(120deg,#2b8a7e,#3fa796);color:#fff}.cta-box:before{content:"";position:absolute;width:420px;height:420px;right:-120px;top:-200px;border-radius:50%;background:#ffffff14}@media(prefers-reduced-motion:no-preference){.cta-box:before{animation:float 10s ease-in-out infinite}}.cta-text{position:relative;display:flex;flex-direction:column;gap:14px}.cta-title{font-size:clamp(22px,2.2vw,32px);font-weight:700}.cta-lead{font-size:15px;opacity:.85}.cta-buttons{position:relative;display:flex;flex-wrap:wrap;gap:16px}.cta-buttons .btn{padding:20px 36px;font-size:16px}.tel-btn{font-family:var(--font-en);font-size:18px!important}.footer{display:flex;justify-content:space-between;gap:80px;padding:64px var(--pad-x);background:var(--den-ink);color:#fff}.footer-info{display:flex;flex-direction:column;gap:12px}.footer-mark{font-size:22px;font-weight:700}.footer address{font-style:normal;font-size:13px;line-height:1.9;opacity:.7}.footer small{font-family:var(--font-en);font-size:12px;opacity:.5}.footer-nav{display:flex;flex-direction:column;gap:14px;font-size:13px;opacity:.8}.footer-nav a:hover{opacity:.6}@media(max-width:1240px){.tel{display:none}.hours-card{flex-wrap:wrap}.hours-table{flex-basis:100%;order:2}.hours-note{order:3}}@media(max-width:1024px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.header,.header.is-scrolled{height:64px}.header-right{gap:0}.cta-tab{width:auto;padding:0 18px;font-size:14px}.menu-btn{display:grid;place-content:center;gap:7px;width:64px;height:100%}.menu-btn span{display:block;width:22px;height:2px;border-radius:2px;background:var(--den-ink);transition:transform .45s var(--ease-expo)}.menu-open .menu-btn span:first-child{transform:translateY(4.5px) rotate(45deg)}.menu-open .menu-btn span:last-child{transform:translateY(-4.5px) rotate(-45deg)}.nav{position:fixed;inset:64px 0 auto;flex-direction:column;gap:0;padding:8px 24px 24px;background:#fff;box-shadow:0 20px 30px #21393a14;font-size:16px;clip-path:inset(0 0 100% 0);visibility:hidden;transition:clip-path .6s var(--ease-expo),visibility 0s .6s}.nav a{padding:16px 0;border-bottom:1px solid var(--den-line)}.nav a:after{display:none}.menu-open .nav{clip-path:inset(0 0 0 0);visibility:visible;transition:clip-path .6s var(--ease-expo),visibility 0s}.logo-badge{width:34px;height:34px;font-size:18px}.logo-mark{font-size:17px}.hero{grid-template-columns:1fr;gap:0;padding:0}.hero-copy{padding:40px 20px 32px}.hero-photo{margin:0 0 0 20px;min-height:320px;border-radius:200px 0 0 200px}.js .hero-photo,.is-loaded .hero-photo{clip-path:none}.hours{padding-top:24px}.hours-card{padding:24px 20px;gap:16px}.hours-table{font-size:13px}.hours-table th[scope=row]{font-size:12px}.reason,.reason.reverse{grid-template-columns:1fr;gap:28px}.reason.reverse .reason-photo{order:0}.reason-num{font-size:48px}.news-row{flex-wrap:wrap;gap:8px 16px;padding:20px 8px}.news-title{flex-basis:100%;order:3}.arrow-circle{display:none}.cta-box{flex-direction:column;align-items:flex-start;padding:40px 28px}.footer{flex-direction:column;gap:32px}.footer-nav{flex-direction:row;flex-wrap:wrap;gap:12px 24px}}@media(max-width:600px){.service-grid{grid-template-columns:1fr}.hero-lead br,.cta-tab .icon{display:none}}
