.sample-base{--sample-pad-dense: 80px;--sample-pad-med: 100px;--sample-pad-loose: 140px;--sample-pad-dense-lg: 100px;--sample-pad-med-lg: 120px;--sample-pad-loose-lg: 160px;--sample-radius-sm: 8px;--sample-radius-md: 12px;--sample-radius-pill: 100px}.sample-base *,.sample-base *:before,.sample-base *:after{margin:0;padding:0;box-sizing:border-box}.sample-base img{max-width:100%;height:auto;display:block}.sample-base a{text-decoration:none;color:inherit;transition:color .3s ease}.sample-base ul{list-style:none}.sample-base .container{width:90%;max-width:var(--container-width, 960px);margin:0 auto}.sample-base .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}.sample-base a:focus-visible,.sample-base button:focus-visible{outline:2px solid var(--color-accent, #7A8471);outline-offset:3px;border-radius:4px}.sample-base .loader{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;transition:opacity .5s ease}.sample-base .loader.is-hidden{opacity:0;pointer-events:none}@media(prefers-reduced-motion:reduce){.sample-base *,.sample-base *:before,.sample-base *:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.sample-dental{--bg: #FAF6F0;--bg-mint: #F0F8F8;--bg-green-light: #EFF5EC;--green: #6B8E5B;--green-dark: #4A6B3E;--green-pale: #D4E6CB;--terracotta: #D4956A;--terracotta-pale: #F5E1D2;--coral: #FF8B6A;--coral-pale: #FFE0D5;--mint: #6EC6CA;--mint-pale: #D5F0F1;--text: #3D3D3D;--text-muted: #6B6B6B;--white: #FFFFFF;--font-heading: "Zen Maru Gothic", serif;--font-body: "Noto Sans JP", sans-serif;--font-en: "Josefin Sans", sans-serif;--header-h: 72px;--max-w: 1120px;--max-w-narrow: 880px;--radius: 20px;--radius-lg: 28px;--radius-full: 9999px;font-family:var(--font-body);color:var(--text);background-color:var(--bg);line-height:1.85;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}.sample-dental *,.sample-dental *:before,.sample-dental *:after{margin:0;padding:0;box-sizing:border-box}.sample-dental img{max-width:100%;height:auto;display:block}.sample-dental a{color:inherit;text-decoration:none}.sample-dental ul{list-style:none}.sample-dental button{font-family:inherit}.sample-dental :focus-visible{outline:2px solid var(--green);outline-offset:2px;border-radius:2px}.sample-dental .footer :focus-visible{outline-color:#ffffffe6}.sample-dental .skip-link{position:absolute;top:-100%;left:16px;z-index:200;padding:8px 16px;background:var(--text);color:var(--white);font-size:.85rem;border-radius:0 0 4px 4px;transition:top .2s}.sample-dental .skip-link:focus{top:0}.sample-dental .section-label{font-family:var(--font-en);font-size:clamp(2.2rem,4.5vw,3.5rem);font-weight:300;color:var(--green);letter-spacing:.1em;line-height:1;margin-bottom:16px;opacity:.18;text-transform:uppercase}.sample-dental .section-heading{font-family:var(--font-heading);font-size:clamp(1.3rem,2.5vw,1.9rem);font-weight:700;color:var(--text);line-height:1.6;margin-bottom:20px}.sample-dental .section-lead{font-size:clamp(.85rem,1.1vw,.95rem);color:var(--text-muted);line-height:2;max-width:600px}.sample-dental .btn{display:inline-flex;align-items:center;justify-content:center;padding:16px 40px;font-family:var(--font-body);font-size:.92rem;font-weight:500;border:none;border-radius:var(--radius-full);cursor:pointer;transition:transform .3s ease,box-shadow .3s ease;text-decoration:none;letter-spacing:.04em}.sample-dental .btn:hover{transform:translateY(-2px)}.sample-dental .btn--coral{background-color:var(--coral);color:var(--white)}.sample-dental .btn--coral:hover{box-shadow:0 8px 28px #ff8b6a59}.sample-dental .btn--white-outline{background-color:transparent;color:var(--white);border:1.5px solid rgba(255,255,255,.6)}.sample-dental .btn--white-outline:hover{background-color:#ffffff1f;box-shadow:0 4px 20px #ffffff26}.sample-dental .btn--green-outline{background-color:transparent;color:var(--green);border:1.5px solid var(--green)}.sample-dental .btn--green-outline:hover{background-color:var(--green);color:var(--white);box-shadow:0 6px 24px #6b8e5b40}.sample-dental .header{position:sticky;top:0;z-index:1000;height:var(--header-h);display:flex;align-items:center;background-color:#faf6f0e0;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);transition:box-shadow .4s ease}.sample-dental .header.is-scrolled{box-shadow:0 1px #6b8e5b1a}.sample-dental .header__inner{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:var(--max-w);margin:0 auto;padding:0 40px}.sample-dental .header__logo{display:flex;flex-direction:column;line-height:1.2}.sample-dental .header__logo-name{font-family:var(--font-heading);font-size:1.35rem;font-weight:700;color:var(--green-dark);letter-spacing:.08em}.sample-dental .header__logo-sub{font-size:.6rem;color:var(--text-muted);letter-spacing:.1em;margin-top:-2px}.sample-dental .header__nav{display:flex;align-items:center;gap:32px}.sample-dental .header__nav-list{display:flex;gap:24px}.sample-dental .header__nav-link{font-size:.78rem;font-weight:400;color:var(--text-muted);letter-spacing:.04em;transition:color .3s ease;position:relative}.sample-dental .header__nav-link:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:1.5px;background-color:var(--green);transition:width .3s ease}.sample-dental .header__nav-link:hover{color:var(--green-dark)}.sample-dental .header__nav-link:hover:after{width:100%}.sample-dental .header__cta-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 24px;border-radius:var(--radius-full);background-color:var(--coral);color:var(--white);font-size:.75rem;font-weight:600;letter-spacing:.06em;border:none;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease;text-decoration:none}.sample-dental .header__cta-btn:hover{transform:scale(1.05);box-shadow:0 4px 16px #ff8b6a59}.sample-dental .header__hamburger{display:none;flex-direction:column;justify-content:center;align-items:center;width:44px;height:44px;background:none;border:none;cursor:pointer;gap:6px;z-index:1010}.sample-dental .header__hamburger-line{width:24px;height:1.5px;background-color:var(--green-dark);transition:transform .3s ease,opacity .3s ease}.sample-dental .header__hamburger.is-open .header__hamburger-line:nth-child(1){transform:translateY(7.5px) rotate(45deg)}.sample-dental .header__hamburger.is-open .header__hamburger-line:nth-child(2){opacity:0}.sample-dental .header__hamburger.is-open .header__hamburger-line:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}.sample-dental .mobile-menu{position:fixed;top:0;right:0;width:100%;height:100vh;height:100dvh;background-color:#faf6f0f7;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);z-index:999;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:28px;opacity:0;pointer-events:none;transition:opacity .4s ease}.sample-dental .mobile-menu.is-open{opacity:1;pointer-events:auto}.sample-dental .mobile-menu__link{font-family:var(--font-heading);font-size:1.2rem;color:var(--green-dark);font-weight:500;letter-spacing:.08em;transition:color .3s ease;display:block;padding:10px 0;min-height:44px}.sample-dental .mobile-menu__link:hover{color:var(--green)}.sample-dental .mobile-menu__cta{margin-top:12px;display:inline-flex;align-items:center;justify-content:center;padding:14px 40px;background-color:var(--coral);color:var(--white);font-size:.9rem;font-weight:500;border-radius:var(--radius-full);letter-spacing:.08em}.sample-dental .hero{position:relative;min-height:calc(100vh - var(--header-h));display:flex;align-items:center;justify-content:center;overflow:hidden}.sample-dental .hero__bg{position:absolute;inset:0;z-index:0}.sample-dental .hero__bg img{width:100%;height:100%;object-fit:cover}.sample-dental .hero__overlay{position:absolute;inset:0;background:linear-gradient(135deg,#3d3d3d8c,#6b8e5b59)}.sample-dental .hero__content{position:relative;z-index:2;text-align:center;padding:80px 40px;max-width:780px}.sample-dental .hero__en-label{font-family:var(--font-en);font-size:clamp(.7rem,1.2vw,.85rem);font-weight:400;letter-spacing:.35em;color:#ffffffb3;text-transform:uppercase;margin-bottom:24px}.sample-dental .hero__catch{font-family:var(--font-heading);font-size:clamp(1.6rem,3.8vw,2.8rem);font-weight:700;line-height:1.65;color:var(--white);letter-spacing:.04em;margin-bottom:24px;text-shadow:0 2px 20px rgba(0,0,0,.15)}.sample-dental .hero__sub{font-size:clamp(.82rem,1.1vw,.92rem);color:#ffffffd9;line-height:2;margin-bottom:40px;max-width:560px;margin-left:auto;margin-right:auto}.sample-dental .hero__scroll{position:absolute;bottom:32px;left:50%;transform:translate(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:8px}.sample-dental .hero__scroll-text{font-family:var(--font-en);font-size:.6rem;letter-spacing:.2em;color:#ffffff80;text-transform:uppercase}.sample-dental .hero__scroll-line{width:1px;height:40px;background:#fff3;position:relative;overflow:hidden}.sample-dental .hero__scroll-line:after{content:"";position:absolute;top:-100%;left:0;width:100%;height:100%;background:#ffffffb3;animation:dental-scrollLine 2.5s ease-in-out infinite}@keyframes dental-scrollLine{0%{top:-100%}50%{top:100%}to{top:100%}}.sample-dental .concerns{background-color:var(--bg-mint);padding:100px 40px 80px}.sample-dental .concerns__inner{max-width:var(--max-w);margin:0 auto}.sample-dental .concerns__header{text-align:center;margin-bottom:56px}.sample-dental .concerns__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;max-width:900px;margin:0 auto 56px}.sample-dental .concerns__item{background-color:var(--white);border-radius:var(--radius);padding:24px 24px 24px 28px;display:flex;align-items:flex-start;gap:16px;box-shadow:0 4px 20px #6ec6ca0f;transition:transform .3s ease,box-shadow .3s ease}.sample-dental .concerns__item:hover{transform:translateY(-3px);box-shadow:0 8px 32px #6ec6ca1f}.sample-dental .concerns__item-icon{font-size:1.1rem;flex-shrink:0;width:44px;height:44px;background-color:var(--bg-mint);border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--green)}.sample-dental .concerns__item-icon svg{width:20px;height:20px;fill:currentColor}.sample-dental .concerns__item-text{font-size:clamp(.85rem,1vw,.92rem);color:var(--text);line-height:1.8}.sample-dental .concerns__bridge{text-align:center;max-width:640px;margin:0 auto;padding:40px 24px;background-color:var(--white);border-radius:var(--radius);box-shadow:0 4px 20px #6b8e5b0f}.sample-dental .concerns__bridge-text{font-family:var(--font-heading);font-size:clamp(.95rem,1.5vw,1.15rem);font-weight:500;color:var(--green-dark);line-height:2}.sample-dental .concerns__bridge-accent{color:var(--green);background-image:linear-gradient(transparent 68%,#6b8e5b2e 68%)}.sample-dental .menu{padding:100px 40px}.sample-dental .menu__inner{max-width:var(--max-w);margin:0 auto}.sample-dental .menu__header{text-align:center;margin-bottom:64px}.sample-dental .menu__cards{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.sample-dental .menu__card{background-color:var(--white);border-radius:var(--radius);overflow:hidden;box-shadow:0 6px 24px #0000000a;transition:transform .4s ease,box-shadow .4s ease;position:relative}.sample-dental .menu__card:hover{transform:translateY(-5px);box-shadow:0 16px 48px #00000014}.sample-dental .menu__card-img{width:100%;height:200px;object-fit:cover}.sample-dental .menu__card-body{padding:28px 28px 32px;border-top:4px solid transparent}.sample-dental .menu__card--green .menu__card-body{border-top-color:var(--green)}.sample-dental .menu__card--terracotta .menu__card-body{border-top-color:var(--terracotta)}.sample-dental .menu__card--coral .menu__card-body{border-top-color:var(--coral)}.sample-dental .menu__card--mint .menu__card-body{border-top-color:var(--mint)}.sample-dental .menu__card-title{font-family:var(--font-heading);font-size:1.1rem;font-weight:700;color:var(--text);margin-bottom:12px;letter-spacing:.02em}.sample-dental .menu__card-desc{font-size:.85rem;color:var(--text-muted);line-height:1.9}.sample-dental .menu__card--compact .menu__card-body{padding:32px 28px}.sample-dental .menu__card--compact .menu__card-icon{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;font-size:1.3rem}.sample-dental .menu__card--compact .menu__card-icon svg{width:24px;height:24px;fill:currentColor}.sample-dental .menu__card--compact.menu__card--green .menu__card-icon{background-color:#6b8e5b1a;color:var(--green)}.sample-dental .menu__card--compact.menu__card--terracotta .menu__card-icon{background-color:#d4956a1a;color:var(--terracotta)}.sample-dental .voice{position:relative;padding:100px 40px;overflow:hidden}.sample-dental .voice__bg{position:absolute;inset:0;z-index:0}.sample-dental .voice__bg img{width:100%;height:100%;object-fit:cover}.sample-dental .voice__bg-overlay{position:absolute;inset:0;background:linear-gradient(135deg,#faf6f0eb,#eff5ece0)}.sample-dental .voice__inner{position:relative;z-index:2;max-width:var(--max-w);margin:0 auto}.sample-dental .voice__header{text-align:center;margin-bottom:56px}.sample-dental .voice__cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.sample-dental .voice__card{background-color:var(--white);border-radius:var(--radius);padding:36px 28px 32px;box-shadow:0 6px 28px #0000000d;position:relative;transition:transform .3s ease}.sample-dental .voice__card:hover{transform:translateY(-3px)}.sample-dental .voice__card-quote{position:absolute;top:16px;left:24px;font-family:var(--font-en);font-size:3rem;font-weight:700;color:var(--green);opacity:.12;line-height:1}.sample-dental .voice__card-text{font-size:.88rem;color:var(--text);line-height:2;margin-bottom:20px}.sample-dental .voice__card-attr{font-size:.78rem;color:var(--text-muted);text-align:right}.sample-dental .voice__card-line{width:32px;height:2px;background-color:var(--green-pale);margin-left:auto;margin-bottom:12px;border-radius:1px}.sample-dental .staff{padding:100px 40px;background-color:var(--bg)}.sample-dental .staff__inner{max-width:var(--max-w);margin:0 auto}.sample-dental .staff__header{text-align:center;margin-bottom:64px}.sample-dental .staff__cards{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.sample-dental .staff__card{background-color:var(--white);border-radius:var(--radius-lg);padding:48px 28px 36px;text-align:center;box-shadow:0 8px 32px #0000000a;transition:transform .4s ease,box-shadow .4s ease}.sample-dental .staff__card:hover{transform:translateY(-4px);box-shadow:0 16px 48px #00000014}.sample-dental .staff__card-photo{width:120px;height:120px;border-radius:50%;object-fit:cover;margin:0 auto 20px;border:4px solid var(--bg);box-shadow:0 4px 20px #6b8e5b1f}.sample-dental .staff__card-name{font-family:var(--font-heading);font-size:1.1rem;font-weight:700;color:var(--text);margin-bottom:4px}.sample-dental .staff__card-role{font-size:.72rem;color:var(--text-muted);letter-spacing:.04em;margin-bottom:16px}.sample-dental .staff__card-specialty{display:inline-flex;align-items:center;gap:6px;padding:6px 16px;background-color:var(--bg-green-light);border-radius:var(--radius-full);font-size:.72rem;color:var(--green-dark);font-weight:500;margin-bottom:20px}.sample-dental .staff__card-message{font-size:.85rem;color:var(--text-muted);line-height:1.9;text-align:left;padding:0 4px}.sample-dental .faq{padding:100px 40px;background-color:var(--bg-mint)}.sample-dental .faq__inner{max-width:var(--max-w-narrow);margin:0 auto}.sample-dental .faq__header{text-align:center;margin-bottom:56px}.sample-dental .faq__list{display:flex;flex-direction:column;gap:12px}.sample-dental .faq__item{background-color:var(--white);border-radius:16px;overflow:hidden;box-shadow:0 2px 12px #00000008}.sample-dental .faq__item-summary{display:flex;align-items:center;justify-content:space-between;padding:22px 28px;cursor:pointer;font-size:.92rem;font-weight:500;color:var(--text);line-height:1.6;gap:20px;transition:color .3s ease;border:none;background:none;width:100%;text-align:left;font-family:inherit}.sample-dental .faq__item-summary:hover{color:var(--green-dark)}.sample-dental .faq__item-icon{flex-shrink:0;width:28px;height:28px;border-radius:50%;background-color:var(--green-pale);display:flex;align-items:center;justify-content:center;transition:transform .3s ease,background-color .3s ease}.sample-dental .faq__item-icon svg{width:12px;height:12px;stroke:var(--green);stroke-width:2;fill:none}.sample-dental .faq__item.is-open .faq__item-icon{transform:rotate(45deg);background-color:var(--green)}.sample-dental .faq__item.is-open .faq__item-icon svg{stroke:var(--white)}.sample-dental .faq__item-q-label{font-family:var(--font-en);font-size:.85rem;font-weight:600;color:var(--coral);margin-right:12px}.sample-dental .faq__answer{overflow:hidden;max-height:0;transition:max-height .35s ease,padding .35s ease}.sample-dental .faq__item.is-open .faq__answer{max-height:300px}.sample-dental .faq__answer-inner{padding:18px 28px 24px;font-size:.88rem;color:var(--text-muted);line-height:2;border-top:1px solid rgba(107,142,91,.08);margin:0 16px}.sample-dental .cta{padding:100px 40px;background-color:var(--bg-green-light)}.sample-dental .cta__inner{max-width:700px;margin:0 auto;text-align:center}.sample-dental .cta__heading{font-family:var(--font-heading);font-size:clamp(1.2rem,2.2vw,1.6rem);font-weight:700;color:var(--green-dark);line-height:1.7;margin-bottom:20px}.sample-dental .cta__sub{font-size:clamp(.85rem,1vw,.92rem);color:var(--text-muted);line-height:2;margin-bottom:40px;max-width:560px;margin-left:auto;margin-right:auto}.sample-dental .cta__buttons{display:flex;flex-direction:column;align-items:center;gap:20px;margin-bottom:36px}.sample-dental .cta__phone{font-family:var(--font-en);font-size:.85rem;color:var(--text-muted);letter-spacing:.04em}.sample-dental .cta__phone-number{font-family:var(--font-en);font-size:1.3rem;font-weight:600;color:var(--text);letter-spacing:.06em}.sample-dental .cta__hours{margin-top:24px;display:inline-flex;flex-direction:column;gap:4px;padding:20px 32px;background-color:var(--white);border-radius:16px;box-shadow:0 2px 12px #00000008}.sample-dental .cta__hours-title{font-family:var(--font-heading);font-size:.82rem;font-weight:700;color:var(--green-dark);margin-bottom:4px}.sample-dental .cta__hours-row{font-size:.8rem;color:var(--text-muted);line-height:1.7}.sample-dental .footer{background-color:var(--green-dark);padding:56px 40px 36px;color:#ffffffbf}.sample-dental .footer__inner{max-width:var(--max-w);margin:0 auto;text-align:center}.sample-dental .footer__logo{font-family:var(--font-heading);font-size:1.4rem;font-weight:700;color:#fffffff2;letter-spacing:.08em;margin-bottom:8px}.sample-dental .footer__address{font-size:.78rem;color:#ffffffbf;line-height:1.8;margin-bottom:6px;font-style:normal}.sample-dental .footer__phone{font-family:var(--font-en);font-size:.82rem;color:#ffffffbf;letter-spacing:.08em;margin-bottom:28px}.sample-dental .footer__phone-link{color:inherit;text-decoration:none}.sample-dental .footer__phone-link:hover{text-decoration:underline}.sample-dental .footer__nav{display:flex;justify-content:center;gap:24px;margin-bottom:32px;flex-wrap:wrap}.sample-dental .footer__nav-link{font-size:.72rem;color:#ffffffbf;transition:color .3s ease;letter-spacing:.04em}.sample-dental .footer__nav-link:hover{color:#fff}.sample-dental .footer__copy{font-size:.68rem;color:#fff9;letter-spacing:.06em}@media(max-width:1024px){.sample-dental .header__nav-list,.sample-dental .header__cta-btn{display:none}.sample-dental .header__hamburger{display:flex}.sample-dental .menu__cards,.sample-dental .voice__cards{grid-template-columns:1fr;max-width:520px;margin:0 auto}.sample-dental .staff__cards{grid-template-columns:1fr;max-width:400px;margin:0 auto}}@media(max-width:768px){.sample-dental .header__inner{padding:0 20px}.sample-dental .hero__content{padding:60px 20px}.sample-dental .concerns{padding:80px 20px 60px}.sample-dental .concerns__grid{grid-template-columns:1fr}.sample-dental .menu,.sample-dental .voice,.sample-dental .staff,.sample-dental .faq,.sample-dental .cta{padding:80px 20px}.sample-dental .footer{padding:40px 20px 28px}.sample-dental .footer__nav{gap:16px}.sample-dental .hero__scroll{display:none}.sample-dental .section-label{font-size:clamp(1.8rem,8vw,2.5rem)}.sample-dental .concerns__bridge{padding:28px 20px}.sample-dental .faq__item-summary{padding:18px 20px;font-size:.88rem}.sample-dental .faq__answer-inner{padding:0 20px 20px;margin:0 8px}.sample-dental .cta__hours{padding:16px 24px}}@media(prefers-reduced-motion:reduce){.sample-dental *,.sample-dental *:before,.sample-dental *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
