:root{--green:#075c43;--ink:#223a32;--light:#edf5ef;--line:#d7e5dc}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:#fff;font:1rem/1.9 -apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2{font-family:inherit;font-weight:600;line-height:1.55}header{min-height:110px;padding:20px 4%;display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line);background:#fff}.brand{display:flex;flex-direction:column;line-height:1.5;flex-shrink:0}.brand span{font-size:.875rem}.brand strong{font-size:1.65rem;letter-spacing:.08em;color:var(--green)}.brand small{font-size:.75rem;letter-spacing:.12em}nav{display:flex;gap:24px;font-size:.875rem;font-weight:600}nav a:hover{color:var(--green);text-decoration:underline;text-underline-offset:7px}.header-phone{font-size:1.3rem;color:var(--green);font-weight:600;white-space:nowrap}.header-phone small{display:block;font-size:.875rem;font-weight:400}.menu{display:none}.hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:1fr 1.15fr;gap:40px;align-items:center;padding:64px 6% 48px;background:linear-gradient(110deg,#edf5ef 0%,#f6faf7 70%,white 70%)}.eyebrow{font-size:.875rem;letter-spacing:.16em;color:var(--green);font-weight:600;margin-bottom:14px}.hero h1{font-size:clamp(2.1rem,3.5vw,3.4rem);letter-spacing:.06em;margin-bottom:24px}.hero-copy>p:not(.eyebrow){line-height:2}.hero figure{margin:0;align-self:center}.hero img{width:100%;aspect-ratio:1.85;object-fit:cover;border-radius:5px 50px 5px 5px}.hero figcaption{font-size:.875rem;margin-top:12px;text-align:right}.hero-actions{margin:28px 0 18px;display:flex;flex-wrap:wrap;gap:18px;align-items:center}.button{display:inline-flex;min-height:50px;padding:12px 25px;align-items:center;justify-content:center;border-radius:6px;background:var(--green);color:white;font-weight:600}.button:hover{background:#084b38}.booking-status{font-size:.875rem;color:#52655b}.hero-note{font-size:.875rem}.quick-info{max-width:1200px;margin:auto;padding:24px 30px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);font-size:.875rem}.quick-info strong{margin-right:8px}.quick-info strong+strong{margin-left:16px}.quick-info a{color:var(--green);text-decoration:underline}.section{max-width:1160px;margin:auto;padding:80px 30px}.section-head{margin-bottom:38px}.section h2{font-size:2rem;letter-spacing:.04em;margin-bottom:20px}.section-head>p:last-child{color:#52655b}.care-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.care-card{display:block;background:#f4f8f5;border:1px solid var(--line);border-radius:14px;padding:28px;transition:background .2s,transform .2s}.care-card:hover{background:#e6f1e9;transform:translateY(-3px)}.care-label{font-size:.875rem;color:var(--green)}.care-card h3{font-size:1.25rem;margin:12px 0}.care-card p{font-size:1rem;color:#52655b}.featured{background:var(--green);color:white}.featured .care-label,.featured p{color:white}.featured:hover{background:#084b38}.clinic{display:grid;grid-template-columns:1fr 1fr;gap:60px;border-top:1px solid var(--line)}.values{padding-left:20px;margin-top:25px}.values li{margin:10px 0}.clinic-pictures{display:grid;gap:18px}.clinic-pictures img{width:100%;aspect-ratio:2.1;object-fit:cover;border-radius:10px}.doctor{display:grid;grid-template-columns:260px 1fr;gap:60px;background:var(--light);border-radius:20px;padding:55px;margin-bottom:20px}.doctor>img{width:100%;border-radius:10px}.signature{margin-top:20px}.signature strong{font-size:1.3rem;margin-left:15px}.career{font-size:.875rem;margin-top:12px;color:#52655b}.faq{max-width:980px}.faq details{border-bottom:1px solid var(--line)}summary{cursor:pointer;display:flex;gap:20px;align-items:baseline;padding:24px 0;font-weight:600;list-style:none}summary:after{content:'＋';margin-left:auto;color:var(--green)}details[open] summary:after{content:'−'}.q,.a{font-size:1.4rem;font-weight:600;line-height:1.5;min-width:25px}.q{color:var(--green)}.a{color:#a36328}.answer{border-top:1px dashed #a7bcae;display:flex;gap:20px;padding:20px 0 28px}.access{display:grid;grid-template-columns:1.5fr 1fr;gap:60px;border-top:1px solid var(--line)}table{width:100%;border-collapse:collapse;text-align:center;font-size:.875rem;white-space:nowrap}caption{text-align:left;margin-bottom:8px}th,td{padding:12px 6px;border-bottom:1px solid var(--line)}thead{background:var(--light)}tbody td{color:var(--green)}.small{font-size:.875rem;margin-top:18px}.contact{padding:30px;background:var(--light);border-radius:12px}.contact h3{font-size:1.4rem}.contact p{margin:12px 0}.phone{font-size:1.8rem;font-weight:600;color:var(--green)}.outline{border:1px solid var(--green);background:transparent;color:var(--green)}.outline:hover{color:white}footer{background:var(--green);color:white;padding:40px 6%;font-size:.875rem}footer strong{font-size:1.5rem}footer small{display:block;margin-top:24px}.mobile-contact{display:none}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #c08639;outline-offset:5px}.detail-page{max-width:900px;margin:auto;padding:60px 30px}.detail-page h1{font-size:2.5rem;margin-bottom:25px}.detail-page section{padding:45px 0;border-bottom:1px solid var(--line);scroll-margin-top:30px}.detail-page h2{font-size:1.6rem;margin-bottom:20px}.detail-page p{margin:15px 0}.detail-page nav{display:flex;flex-wrap:wrap;gap:12px}.detail-page nav a{padding:8px 15px;border:1px solid var(--line);border-radius:6px}.prevention-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.prevention-gallery img{width:100%;border-radius:6px}.prevention-gallery figcaption{font-size:.875rem}
@media(max-width:1100px){header nav{gap:12px}.header-phone{display:none}.hero{gap:25px}.care-card{padding:22px}.access{gap:30px}}@media all{html{scroll-padding-top:95px}header{position:sticky;top:0;z-index:10;min-height:90px;padding:12px 20px}.brand strong{font-size:1.3rem}.brand small{font-size:.75rem}header nav{display:none}.menu{display:block;background:white;border:1px solid var(--line);border-radius:6px;min-height:44px;padding:8px 12px;font-size:.875rem;color:var(--green)}#mobile-nav:not([hidden]){display:flex;position:fixed;top:90px;left:0;right:0;background:white;z-index:9;flex-direction:column;gap:0;padding:12px 25px;box-shadow:0 8px 15px #0001}#mobile-nav a{padding:10px 0}.hero{padding:34px 22px 28px;grid-template-columns:1fr;gap:26px;background:var(--light)}.hero h1{font-size:2.15rem;line-height:1.55}.hero-copy>p:not(.eyebrow){font-size:1rem}.hero-actions{margin:22px 0 14px}.hero img{border-radius:6px 30px 6px 6px}.quick-info{display:block;padding:20px 22px;line-height:2}.section{padding:50px 22px}.section h2{font-size:1.75rem}.care-grid{grid-template-columns:1fr;gap:14px}.care-card{padding:23px}.care-card p br{display:none}.clinic{grid-template-columns:1fr;gap:25px}.clinic-pictures{grid-template-columns:1fr 1fr;gap:12px}.clinic-pictures img{aspect-ratio:1.25}.doctor{margin:0 18px;padding:28px 22px;grid-template-columns:1fr;gap:25px}.doctor>img{width:160px}.access{grid-template-columns:1fr;gap:25px}.table-wrap{overflow:auto}th,td{padding:10px 4px}.contact{padding:25px}summary{gap:12px;font-size:1rem}.answer{gap:12px}.mobile-contact{position:fixed;bottom:0;left:0;right:0;z-index:20;display:grid;grid-template-columns:1.2fr 1fr;background:#fff;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);font-size:.875rem}.mobile-contact a{padding:16px 8px;text-align:center;background:var(--green);color:#fff;font-weight:600}.mobile-contact span{text-align:center;padding:16px 8px;color:#52655b}footer{padding:30px 22px 100px}.detail-page{padding:35px 22px}.detail-page h1{font-size:2rem}.prevention-gallery{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.care-card{transition:none}}

/* Shared font and the original clinic panda mark. */
:root{--font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}
body{font-family:var(--font-family)}button,input,select,textarea{font-family:inherit}
.brand{position:relative;padding-left:82px;min-height:64px;justify-content:center}
.brand .panda-mark{position:absolute;left:0;top:50%;transform:translateY(-50%)}
.panda-mark{display:block;width:75px;height:64px;overflow:hidden;flex-shrink:0;mix-blend-mode:multiply}
.panda-mark img{width:290px;height:64px;max-width:none;filter:sepia(1) saturate(2.5) hue-rotate(90deg) brightness(.65)}
.footer-panda{background:#edf5ef;border-radius:8px;mix-blend-mode:normal;margin-bottom:16px}
@media all{.brand{padding-left:62px;min-height:52px}.brand .panda-mark{width:55px;height:50px}.brand .panda-mark img{width:226.56px;height:50px}.brand strong{font-size:1.2rem}.brand small{font-size:.7rem}.brand>span:not(.panda-mark){font-size:.75rem}}

.mobile-contact .booking-link{background:#edf5ef;color:var(--green)}

.brand.clinic-logo{display:block;min-height:0;padding:0;line-height:0}.clinic-logo>img{width:290px;height:auto;max-width:100%;filter:none} @media all{header{gap:12px}.brand.clinic-logo{flex:0 1 250px;min-width:0}.clinic-logo>img{width:250px;height:auto}.menu{flex-shrink:0}}

.brand.clinic-logo{border-radius:8px;overflow:hidden}.clinic-logo>img{border-radius:8px}

/* Upper-right menu, shared on desktop and mobile. */
header{position:relative}.header-phone{margin-left:auto}.header-menu{position:relative;flex-shrink:0;margin-left:auto}.header-phone+.header-menu{margin-left:0}.header-menu>summary{display:flex;align-items:center;gap:10px;min-height:48px;margin:0;padding:10px 14px;border:1px solid var(--line);border-radius:8px;font-size:.875rem;line-height:1.5;color:var(--green);background:#fff;cursor:pointer}.header-menu>summary::after{content:none}.header-menu>summary::-webkit-details-marker{display:none}.menu-bars{display:flex;width:20px;flex-direction:column;gap:4px}.menu-bars i{display:block;width:20px;height:2px;background:var(--green)}header .menu-panel{display:flex;position:absolute;top:calc(100% + 14px);right:0;z-index:30;width:270px;padding:12px 20px;background:white;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 30px #163e3026;flex-direction:column;gap:0}header .menu-panel a{display:block;padding:12px 0;border-bottom:1px solid var(--line);font-size:1rem}header .menu-panel a:last-child{border-bottom:0}.header-menu:not([open]) .menu-panel{display:none}@media all{header{position:sticky}.header-menu>summary{padding:10px;font-size:.875rem}.brand.clinic-logo{flex-basis:230px}header .menu-panel{width:min(300px,calc(100vw - 40px));top:calc(100% + 15px)}}

.faq-page h1{font-size:2rem;letter-spacing:.04em;margin-bottom:20px}.faq-return{max-width:980px;margin:0 auto;padding:0 30px 60px}@media all{.faq-page h1{font-size:1.75rem}.faq-return{padding:0 22px 45px}}

.faq-categories{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:40px;font-size:1rem}.faq-categories a{padding:9px 15px;background:var(--light);border:1px solid var(--line);border-radius:8px}.faq-category{margin-top:45px;scroll-margin-top:110px}.faq-category h2{font-size:1.4rem;color:var(--green);padding-bottom:14px;border-bottom:2px solid var(--green)}.faq-category summary{overflow-wrap:anywhere}.faq-category .answer p{white-space:pre-line;overflow-wrap:anywhere;min-width:0}

/* Match the footer to the original logo's mint background on every page. */
footer{background:#caefe4;color:#075c43}.footer-logo{display:block;width:290px;max-width:100%;margin-bottom:20px;line-height:0;border-radius:8px;overflow:hidden}.footer-logo img{width:100%;height:auto;filter:none}footer small{color:#234f41}

header{background:#caefe4;border-bottom-color:#a7d6c7}header .header-menu>summary{background:#fff;border-color:#7cbaa5}

.treatment-subtitle{color:var(--green);margin-bottom:28px!important}.treatment-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:25px}.treatment-images.three{grid-template-columns:repeat(3,minmax(0,1fr))}.treatment-images img{width:100%;border-radius:8px}.treatment-images figcaption,.treatment-cases figcaption{font-size:.875rem;margin-top:9px}.treatment-flow{padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px;counter-reset:steps}.treatment-flow li{display:flex;align-items:center;gap:18px;background:var(--light);padding:16px 20px;border-radius:8px}.treatment-flow span{font-size:1.25rem;font-weight:600;color:var(--green)}.treatment-flow p{margin:0!important}.treatment-cases{display:grid;gap:25px;margin-top:25px}.treatment-cases figure{padding:22px;background:var(--light);border-radius:10px}.treatment-cases img{width:100%;max-width:550px}.treatment-page h3{margin-top:25px;font-size:1.2rem}@media all{.treatment-flow{grid-template-columns:1fr}.treatment-images.three{grid-template-columns:1fr}.treatment-images.three figure{max-width:400px}.treatment-images{gap:14px}.treatment-page h1{font-size:1.8rem}.treatment-cases figure{padding:16px}}

.care-photo-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:28px 0}.care-photo-gallery img{width:100%;max-width:550px;height:auto;border-radius:8px}.care-photo-gallery figcaption{font-size:.875rem;line-height:1.7;margin-top:10px}.service-page section>p{max-width:48em}.service-page nav{margin:25px 0}.service-page section{scroll-margin-top:110px}.detail-page .care-grid{margin-top:35px;grid-template-columns:repeat(2,1fr)}.detail-page .care-card h2{font-size:1.3rem;margin:0 0 12px}.service-page figure:only-child{grid-column:1/-1}@media all{.care-photo-gallery{grid-template-columns:1fr;gap:22px}.care-photo-gallery img{max-width:100%}.detail-page .care-grid{grid-template-columns:1fr}.service-page h1{font-size:1.85rem}}

.hero h1.hero-message{margin-bottom:28px;line-height:0}.hero .hero-message img{display:block;width:100%;max-width:520px;height:auto;aspect-ratio:auto;object-fit:contain;border-radius:0}@media all{.hero h1.hero-message{margin-bottom:25px}.hero .hero-message img{max-width:100%}}

.hero{background:#fff}.hero-description{max-width:34em;text-wrap:pretty}.hero-description ruby{ruby-position:over}.hero-description rt{font-size:.6em}@media all{.hero{background:#fff}.hero-copy .hero-description{line-height:2.1}}

/* Photograph, message, and reservation actions in reading order. */
.hero.hero-reordered{display:flex;flex-direction:column;align-items:center;gap:24px;max-width:1200px;padding-top:42px;padding-bottom:38px}.hero-reordered h1.hero-message{width:100%;max-width:760px;margin-bottom:0}.hero-reordered figure{width:100%;max-width:760px}.hero-reordered figure>img{width:100%;height:210px;aspect-ratio:auto;object-fit:cover;object-position:center 50%;border-radius:0;-webkit-mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent),linear-gradient(to bottom,transparent,#000 9%,#000 91%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent),linear-gradient(to bottom,transparent,#000 9%,#000 91%,transparent);mask-composite:intersect}.hero-reordered .hero-copy{width:100%;max-width:760px}.hero-reordered .hero-description{max-width:none}.hero-reordered .hero-actions{margin-top:24px;margin-bottom:16px}.hero-reordered figcaption{font-size:.875rem;margin-top:6px}@media all{.hero.hero-reordered{padding:28px 22px;gap:20px}.hero-reordered figure>img{height:145px}.hero-reordered .hero-actions{gap:12px}.hero-reordered .hero-actions .button{padding:12px 18px}}

.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}.hero-media{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(340px,1fr);gap:28px;align-items:center;width:100%;max-width:1040px}.hero-reordered .hero-media figure{max-width:none}.hero-reordered .hero-media figure>img{height:210px}.hero-hours{border:1px solid #b7d8cb;border-radius:12px;background:#f6fcf9;padding:22px;min-width:0}.hero .hero-hours h2{font-family:inherit;font-size:1.4rem;line-height:1.5;color:var(--green);margin-bottom:16px}.hero-hours table{font-size:.875rem}.hero-hours table th,.hero-hours table td{padding:8px 5px}.hero-hours table tbody th{font-weight:500;line-height:1.7;text-align:left}.hero-hours table th small{font-size:.75rem}.hero-hours table td{font-size:1rem}.hero-hours abbr{text-decoration:none}.hours-notes{margin-top:14px;line-height:1.8;font-size:.875rem;color:var(--green)}.hours-notes span{color:var(--ink)}.hours-phone{display:flex;align-items:baseline;gap:10px;color:var(--green);font-size:1.7rem;font-weight:600;margin-top:14px;white-space:nowrap}.hours-phone small{font-size:.875rem;font-weight:400}.hours-access{display:inline-block;font-size:.875rem;text-decoration:underline;text-underline-offset:4px;margin-top:8px}.hero-reordered h1.hero-message,.hero-reordered .hero-copy{max-width:1040px}@media(max-width:900px){.hero-media{grid-template-columns:1fr;max-width:760px}.hero-hours{max-width:100%;width:100%}.hero-reordered h1.hero-message,.hero-reordered .hero-copy{max-width:760px}}@media all{.hero-media{gap:18px}.hero-reordered .hero-media figure>img{height:145px}.hero-hours{padding:20px 16px}.hero-hours table th,.hero-hours table td{padding:8px 4px}}

/* Compact linked hours strip at the former quick-information position. */
.hero-reordered .hero-media{display:block;max-width:760px}.compact-hours-link{display:block;max-width:1160px;margin:0 auto;padding:18px 30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.compact-hours-inner{display:grid;grid-template-columns:1fr 1.4fr;align-items:center;gap:35px;max-width:1040px;margin:auto}.compact-hours-title h2{font-family:inherit;font-size:1.2rem;line-height:1.5;margin-bottom:8px}.compact-hours-title p{font-size:.875rem;line-height:1.6;margin-bottom:8px}.compact-hours-title span{font-size:.875rem;color:var(--green);text-decoration:underline;text-underline-offset:4px}.compact-hours-link table{font-size:.875rem}.compact-hours-link caption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.compact-hours-link th,.compact-hours-link td{padding:7px 6px;line-height:1.5}.compact-hours-link:hover{background:#f4faf7}.access-page h1{font-size:2rem;line-height:1.5;margin-bottom:24px}.access-page .contact{align-self:start}@media all{.compact-hours-link{padding:16px 22px}.compact-hours-inner{grid-template-columns:1fr;gap:12px}.compact-hours-title{display:flex;flex-wrap:wrap;gap:5px 15px;align-items:baseline}.compact-hours-title h2,.compact-hours-title p{margin:0}.compact-hours-title span{flex-basis:100%}.compact-hours-link th,.compact-hours-link td{padding:5px 4px}.access-page h1{font-size:1.75rem}}

.care-image-heading{margin-bottom:24px}.care-image-heading h2{margin:0;line-height:0}.care-image-heading img{display:block;width:100%;max-width:1000px;height:auto}@media all{.care-image-heading{margin-bottom:20px}}

.care-card .checkup-subtitle{font-size:.875rem;margin:-4px 0 12px;font-weight:600}
/* Reference-style diagnosis cards with supplied clinic illustrations. */
#care .care-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.care-card.illustrated-card{min-height:225px;padding:24px 115px 26px 24px;border:0;border-radius:6px;background-color:white;background-repeat:no-repeat;background-position:center;background-size:100% 100%;color:#222;box-shadow:none;transition:transform .18s,box-shadow .18s}.care-card.illustrated-card:hover{transform:translateY(-2px);box-shadow:0 5px 14px #00000012}.care-card.illustrated-card h3{font-family:inherit;font-weight:600;font-size:1.35rem;line-height:1.5;margin:0 0 14px;color:#222}.care-card.illustrated-card p{font-size:1.05rem;line-height:1.8;color:#222}.care-card.illustrated-card .checkup-subtitle{color:#2fb5ad;font-size:1.1rem;font-weight:600;line-height:1.5;margin:-6px 0 10px}
.care-card.card-general{background-image:url("assets/care-general.gif")}.care-card.card-implant{background-image:url("assets/care-implant.gif")}.care-card.card-beauty{background-image:url("assets/care-beauty.gif")}.care-card.card-kids{background-image:url("assets/care-kids.gif")}.care-card.card-checkup{background-image:url("assets/care-checkup.gif")}
@media all{#care .care-grid{grid-template-columns:1fr;gap:16px}.care-card.illustrated-card{min-height:190px;padding:20px 78px 22px 18px}.care-card.illustrated-card h3{font-size:1.15rem;line-height:1.55;margin-bottom:12px}.care-card.illustrated-card p{font-size:1rem;line-height:1.8}.care-card.illustrated-card .checkup-subtitle{font-size:1rem;margin:-5px 0 8px}}@media(prefers-reduced-motion:reduce){.care-card.illustrated-card{transition:none}}

.care-card.illustrated-card .care-subtitle{color:var(--green);font-size:1.05rem;font-weight:600;line-height:1.6;margin:-6px 0 10px}@media all{.care-card.illustrated-card .care-subtitle{font-size:1rem;margin:-5px 0 8px}}

.closure-note{color:#c35a13;font-weight:600;font-size:1rem;line-height:1.6;margin-top:10px}.compact-hours-table{min-width:0}.compact-hours-link .closure-note{font-size:.875rem;margin-top:8px}

/* Screenshot-style compact hours card */
.compact-hours-link{max-width:520px;margin:0 auto 22px;padding:12px 14px;background:#fff;border:1px solid #ccc;border-radius:6px;color:#222;box-shadow:0 1px 3px #00000008}.compact-hours-inner{display:block;max-width:none}.compact-hours-title{display:flex;align-items:center;gap:10px;margin-bottom:8px}.compact-hours-title h2{font-size:1.25rem;margin:0;color:#111}.compact-hours-title .hours-panda{display:block;width:44px;height:38px;overflow:hidden;text-decoration:none;flex:none}.hours-panda img{width:172px;height:38px;max-width:none;display:block}.compact-hours-link .table-wrap{overflow:visible}.compact-hours-link table{width:100%;border-collapse:collapse;font-size:.875rem;margin:0;border:1px solid #c9c9c9}.compact-hours-link th,.compact-hours-link td{border:1px solid #c9c9c9;padding:5px 3px;text-align:center;line-height:1.35;background:#fff}.compact-hours-link thead th{font-weight:400;color:#222}.compact-hours-link tbody th{width:36%;font-weight:400;color:#222}.compact-hours-link tbody th small{display:block;font-size:.65rem;white-space:nowrap;line-height:1.4}.compact-hours-link tbody td{color:#65b7ae;font-size:1rem}.compact-hours-link .closed-cell{background:#e9e9e9;color:#555}.compact-hours-link .closure-note{color:#dc721e;font-size:.875rem;font-weight:400;margin:7px 0 10px;line-height:1.4}.hours-parking{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#65aaa1}.parking-label{display:flex;align-items:center;gap:7px;font-size:1rem;font-weight:600}.parking-label b{display:grid;place-items:center;background:#69aaa2;color:#fff;border-radius:50%;width:26px;height:26px;line-height:1;font-size:20px}.hours-map{border:1px solid #65aaa1;border-radius:4px;padding:3px 22px;font-size:.875rem;line-height:1.5}.compact-hours-link:hover{background:#fff;border-color:#65aaa1}.compact-hours-link:focus-visible{outline:3px solid #65aaa1;outline-offset:4px}@media all{.compact-hours-link{margin:0 20px 18px;padding:10px 12px}.compact-hours-title{flex-wrap:nowrap;gap:10px}.compact-hours-title .hours-panda{flex-basis:auto}.compact-hours-link th,.compact-hours-link td{padding:4px 2px}.parking-label{font-size:.9rem}.hours-map{padding:3px 18px}}

.compact-hours-title .hours-panda{width:46px;height:38px;overflow:visible}.hours-panda img{width:100%;height:100%;max-width:100%;object-fit:contain}

.compact-hours-title .hours-panda{background:#fff;width:48px;height:42px;padding:2px;flex:0 0 48px;overflow:visible}.compact-hours-title .hours-panda img{display:block;width:100%;height:100%;max-width:100%;object-fit:contain;object-position:center;background:#fff;border-radius:0;filter:none}

.access-content{max-width:1100px;margin:auto;padding:42px 30px}.access-content h1{font-size:2rem;margin-bottom:26px}.access-top-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}.access-exterior img{width:100%;height:auto;border-radius:8px}.access-hours-card{width:100%;margin:0}.access-hours-card .hours-map:hover{background:#edf7f4}.access-location{margin-top:48px;scroll-margin-top:120px}.access-location h2{font-size:1.5rem;margin-bottom:20px}.access-map-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:26px;align-items:center}.access-map-grid iframe{width:100%;height:360px;border:1px solid #d7e5dc;border-radius:8px}.parking-plan img{width:100%;max-width:300px;height:auto;margin:auto}.access-address{margin-top:24px}.access-address p{margin:10px 0 18px}.footer-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;width:100%;margin-bottom:24px}.footer-actions .button{min-width:200px}.footer-actions .outline{background:#fff}@media all{.access-content{padding:28px 20px}.access-content h1{font-size:1.65rem}.access-top-grid,.access-map-grid{grid-template-columns:1fr;gap:22px}.access-hours-card{margin:0;max-width:none}.access-map-grid iframe{height:300px}.parking-plan img{max-width:300px}.access-location{margin-top:34px}.footer-actions{gap:10px}.footer-actions .button{width:100%;max-width:360px}}

.mobile-contact{position:fixed;bottom:0;left:0;right:0;z-index:20;display:grid;grid-template-columns:1.2fr 1fr;background:#edf5ef;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);font-size:1rem}.mobile-contact a{display:flex;align-items:center;justify-content:center;min-height:62px;padding:16px 8px;text-align:center;background:var(--green);color:#fff;font-weight:600}.mobile-contact .booking-link{background:#edf5ef;color:var(--green)}body{padding-bottom:calc(62px + env(safe-area-inset-bottom))}

.access-map-grid{grid-template-columns:minmax(0,1fr) 400px}.parking-plan img{max-width:400px}@media all{.access-map-grid{grid-template-columns:1fr}.parking-plan img{max-width:100%}}

.access-hours-card,.access-hours-card:hover{border:0;border-radius:0;box-shadow:none;padding:0;background:#fff}.access-hours-card .closure-note{margin-bottom:0}

.doctor-page-title{max-width:1160px;margin:0 auto;padding:40px 30px 0}.doctor-page-title h1{font-size:2rem}.doctor-page .doctor{padding-top:30px}@media all{.doctor-page-title{padding:28px 22px 0}.doctor-page-title h1{font-size:1.65rem}}

body{padding-bottom:0}@media all{footer{padding-bottom:30px}}

body{padding-bottom:calc(62px + env(safe-area-inset-bottom))}

.clinic-info-page{max-width:1100px;margin:auto;padding:40px 30px}.clinic-info-page h1{font-size:2rem;margin-bottom:28px}.clinic-info-section{margin-top:44px;scroll-margin-top:120px}.clinic-info-section h2{font-size:1.5rem;color:var(--green);padding-bottom:10px;border-bottom:1px solid var(--line);margin-bottom:22px}.clinic-info-row{display:grid;grid-template-columns:1fr 1.3fr;gap:28px;align-items:start}.clinic-info-row>img{width:100%;height:auto;border-radius:8px}.clinic-info-intro{align-items:center}.clinic-info-small{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.clinic-info-small img{width:100%;height:auto;border-radius:6px}.clinic-info-section h3{font-size:1.1rem;color:var(--green);margin-bottom:10px}@media all{.clinic-info-page{padding:28px 22px}.clinic-info-page h1{font-size:1.65rem}.clinic-info-row{grid-template-columns:1fr;gap:18px}.clinic-info-section h2{font-size:1.25rem}}

.doctor-detail-page{max-width:1100px;margin:auto;padding:40px 30px}.doctor-detail-page h1{font-size:2rem;margin-bottom:28px}.doctor-reference h3{font-size:1.5rem;color:var(--green);border-bottom:1px solid var(--line);padding-bottom:10px;margin:38px 0 20px}.doctor-reference h4{font-size:1.25rem;margin:15px 0}.doctor-reference .Box{margin-bottom:24px}.doctor-reference dl{display:grid;grid-template-columns:243px minmax(0,1fr);gap:28px;margin:20px 0}.doctor-reference dt img{max-width:100%;height:auto;border-radius:8px}.doctor-reference dd{margin:0;min-width:0}.doctor-reference table{width:100%;font-size:.95rem}.doctor-reference table th{white-space:nowrap}.doctor-reference .txt05{line-height:2}.doctor-reference .ItemL{float:left;width:322px;max-width:100%;margin:0 24px 18px 0;border-radius:8px}.doctor-reference:after{content:"";display:block;clear:both}@media all{.doctor-detail-page{padding:28px 22px}.doctor-detail-page h1{font-size:1.65rem}.doctor-reference dl{grid-template-columns:1fr;gap:18px}.doctor-reference dt img{max-width:243px}.doctor-reference table{font-size:.875rem}.doctor-reference th,.doctor-reference td{padding:8px 5px}.doctor-reference .ItemL{float:none;width:100%;max-width:322px;margin:0 0 18px}}

.doctor-title-banner img{width:100%;height:auto}.doctor-reference h3{color:#222;border-bottom:3px solid #e2e6e4;position:relative;padding-left:22px}.doctor-reference h3:before{content:"";position:absolute;left:0;top:10px;width:12px;height:12px;border:4px solid #24b6a3;border-radius:50%}.doctor-reference .doctor-name{display:flex;align-items:center;gap:16px;background:#22ad9b;color:#fff;padding:8px 18px 8px 0;border-radius:24px;font-size:1.7rem;line-height:1.4;letter-spacing:.12em}.doctor-name>img{width:65px;height:52px;object-fit:contain;background:#fff;flex:none}.doctor-name .doctor-role{font-size:1rem;letter-spacing:0;background:#fff;color:#22ad9b;padding:3px 8px}.doctor-reference dt img{padding:5px;border:1px solid #ddd;border-radius:0}.doctor-reference table{border-collapse:collapse;margin-top:12px}.doctor-reference table th,.doctor-reference table td{border:0;border-bottom:1px dashed #888;background:#fff;color:#222;text-align:left;font-weight:400;padding:10px 6px}.doctor-reference .Box02{grid-template-columns:130px minmax(0,1fr)}.doctor-reference .Box02 dd{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:20px}.doctor-message-heading{background:#eaf6f9;margin-bottom:0!important;border:2px solid #45a6bb;border-bottom:0;border-radius:8px 8px 0 0;padding:8px}.doctor-message-heading img{width:100%;max-width:500px;height:auto}.doctor-reference .doctor-message{background:#fff;border:2px solid #45a6bb;border-top:0;box-shadow:inset 0 0 0 10px #eaf6f9;border-radius:0 0 8px 8px;padding:24px;line-height:2}.doctor-reference .ItemL{width:42%;max-width:420px}@media all{.doctor-reference .doctor-name{font-size:1.25rem;gap:8px;letter-spacing:.04em}.doctor-name>img{width:48px;height:40px}.doctor-reference .Box02{grid-template-columns:1fr}.doctor-reference .Box02 dd{grid-template-columns:1fr}.doctor-reference .doctor-message{padding:18px}.doctor-reference .ItemL{width:100%;max-width:420px}.doctor-reference table th{white-space:normal;min-width:85px}}

.clinic-title-banner img{width:100%;height:auto}.clinic-info-page .clinic-section-banner{padding:0;border:0;margin-bottom:20px}.clinic-section-banner img{width:100%;height:auto}.clinic-info-page .clinic-info-row>img,.clinic-info-small img{border:1px solid #ddd;border-radius:0;padding:5px;background:#fff}.clinic-intro-copy{font-size:1.3rem;color:#22ad9b;letter-spacing:.08em;margin-bottom:18px}.clinic-info-intro{grid-template-columns:1.2fr 1fr}.clinic-info-intro>img{grid-column:2;grid-row:1}.clinic-info-intro>div{grid-column:1;grid-row:1}.clinic-info-section:nth-of-type(2) .clinic-info-row,.clinic-info-section:nth-of-type(4) .clinic-info-row{grid-template-columns:1.2fr 1fr}.clinic-info-section:nth-of-type(2) .clinic-info-row>img,.clinic-info-section:nth-of-type(4) .clinic-info-row>img{grid-column:2;grid-row:1}.clinic-info-section:nth-of-type(2) .clinic-info-row>div,.clinic-info-section:nth-of-type(4) .clinic-info-row>div{grid-column:1;grid-row:1}.clinic-info-small{margin:0 0 12px}.clinic-info-section h3{color:#62a61a}.clinic-info-section.clinic-xray{margin-top:20px}@media all{.clinic-info-intro,.clinic-info-section:nth-of-type(2) .clinic-info-row,.clinic-info-section:nth-of-type(4) .clinic-info-row{grid-template-columns:1fr}.clinic-info-intro>img,.clinic-info-intro>div,.clinic-info-section:nth-of-type(2) .clinic-info-row>img,.clinic-info-section:nth-of-type(4) .clinic-info-row>img,.clinic-info-section:nth-of-type(2) .clinic-info-row>div,.clinic-info-section:nth-of-type(4) .clinic-info-row>div{grid-column:auto;grid-row:auto}.clinic-section-banner img{min-height:42px;object-fit:contain}.clinic-intro-copy{font-size:1.1rem}}

.doctor-reference .doctor-name{background:transparent;color:#fff;padding:0;border-radius:0;gap:18px;overflow:visible}.doctor-reference .doctor-name>img{background:transparent;width:70px;height:58px;object-fit:contain;flex:0 0 70px}.doctor-name-bubble{position:relative;display:flex;align-items:center;gap:16px;flex:1;min-width:0;min-height:54px;padding:8px 22px;background:#22ad9b;border:2px solid #8bd8ce;border-radius:20px;line-height:1.4}.doctor-name-bubble:before{content:"";position:absolute;left:-19px;top:22px;width:20px;height:20px;background:#8bd8ce;clip-path:polygon(100% 0,100% 100%,0 85%)}.doctor-name-bubble:after{content:"";position:absolute;left:-15px;top:24px;width:17px;height:15px;background:#22ad9b;clip-path:polygon(100% 0,100% 100%,0 85%)}@media all{.doctor-reference .doctor-name{gap:15px}.doctor-reference .doctor-name>img{width:52px;height:46px;flex-basis:52px}.doctor-name-bubble{gap:8px;padding:8px 12px;min-height:46px;border-radius:16px}.doctor-name-bubble:before{top:17px}.doctor-name-bubble:after{top:19px}}

.access-hours-card{scroll-margin-top:120px}

.concept-page{max-width:1100px;margin:auto;padding:40px 30px}.concept-reference h1 img{width:100%;height:auto}.concept-reference h1{margin-bottom:24px}.concept-reference h3{margin:34px 0 18px;clear:both}.concept-reference h3 img{width:100%;height:auto}.concept-reference .Box,.concept-reference .Box2{margin-bottom:26px;display:flow-root}.concept-reference .Box>img[src$="copy.gif"]{width:300px;max-width:100%;height:auto;margin-bottom:22px}.concept-reference .txt01{font-size:1.15rem;font-weight:600;margin:20px 0}.concept-reference .txt01 span{font-size:1.3rem}.concept-reference .img01{float:right;width:250px;height:auto;margin:0 0 20px 24px}.concept-reference .img02{float:left;width:220px;height:auto;margin:0 24px 20px 0}.concept-reference .photo01{float:right;width:300px;max-width:100%;height:auto;padding:5px;border:1px solid #ddd;margin:0 0 20px 24px}.concept-reference p{line-height:2}.concept-reference .Box2 h3{clear:none}.concept-reference .Box2 h3 img{max-width:650px}@media all{.concept-page{padding:28px 22px}.concept-reference h3 img{min-height:40px;object-fit:contain}.concept-reference .img01,.concept-reference .img02,.concept-reference .photo01{float:none;margin:0 auto 18px;max-width:100%}.concept-reference .txt01 span{font-size:1.15rem}}

.phone-button-caption,.phone-button-number{display:block;white-space:nowrap}.phone-button-caption{font-size:.875rem;line-height:1.5}.phone-button-number{font-size:1rem;line-height:1.5}.mobile-contact a[href^="tel:"]{display:flex;flex-direction:column;justify-content:center;gap:1px;padding:8px 4px;min-height:62px}.hero-actions a[href^="tel:"]{flex-direction:column;padding:10px 20px}.hero-actions .phone-button-number{font-size:1.1rem}@media all{.mobile-contact .phone-button-caption{font-size:.75rem}.mobile-contact .phone-button-number{font-size:.85rem}}

/* Preserve the original button dimensions with smaller two-line text. */
.hero-actions a.button[href^="tel:"]{width:178px;height:50px;min-height:50px;padding:5px 12px;gap:0;flex:none}.hero-actions .phone-button-caption{font-size:.75rem;line-height:1.35}.hero-actions .phone-button-number{font-size:.8rem;line-height:1.35}.mobile-contact a[href^="tel:"]{height:62px;min-height:62px;padding:4px;gap:0}.mobile-contact .phone-button-caption{font-size:.75rem;line-height:1.35}.mobile-contact .phone-button-number{font-size:.85rem;line-height:1.35}@media all{.hero-actions a.button[href^="tel:"]{width:178px;height:50px}.mobile-contact .phone-button-caption{font-size:.7rem}.mobile-contact .phone-button-number{font-size:.75rem}}

.hero-actions{justify-content:center;align-items:center}.hero-actions a.button,.hero-actions a.button[href^="tel:"]{box-sizing:border-box;width:178px;height:50px;min-height:50px;padding:4px 12px;flex:0 0 178px;display:flex;align-items:center;justify-content:center}.hero-actions a.button[href^="tel:"]{flex-direction:column}.phone-button-caption,.phone-button-number,.mobile-contact .phone-button-caption,.mobile-contact .phone-button-number{display:flex;justify-content:space-between;align-items:center;width:144px;max-width:100%;padding:0;margin:0;color:inherit;font-size:.75rem;line-height:1.4;letter-spacing:0}.phone-button-number,.hero-actions .phone-button-number,.mobile-contact .phone-button-number{font-size:.875rem;font-variant-numeric:tabular-nums}.phone-character,.mobile-contact .phone-character{display:inline;padding:0;margin:0;color:inherit;font-size:inherit;line-height:inherit;letter-spacing:0}.mobile-contact{grid-template-columns:1fr 1fr}.mobile-contact a,.mobile-contact a[href^="tel:"]{box-sizing:border-box;height:62px;min-height:62px;padding:4px 8px;display:flex;align-items:center;justify-content:center}.mobile-contact a[href^="tel:"]{flex-direction:column;gap:0}@media all{.hero-actions{gap:12px}.hero-actions a.button,.hero-actions a.button[href^="tel:"]{width:178px;flex-basis:178px}.mobile-contact .phone-button-caption{font-size:.7rem}.mobile-contact .phone-button-number{font-size:.8rem}}

.hero-actions{display:flex;flex-wrap:nowrap;justify-content:center;gap:12px;width:100%}.hero-actions a.button,.hero-actions a.button[href^="tel:"]{width:178px;flex:0 1 178px;min-width:0;height:50px;min-height:50px}.phone-button-caption,.mobile-contact .phone-button-caption{display:block;text-align:center;width:144px;max-width:100%;font-size:.75rem;line-height:1.4;padding:0;color:inherit}.phone-button-number,.hero-actions .phone-button-number,.mobile-contact .phone-button-number{font-size:.875rem;line-height:1.25;transform:scaleY(1.2);transform-origin:center;font-weight:700;margin-top:2px}.mobile-contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);height:62px;box-sizing:content-box}.mobile-contact>a{width:100%;min-width:0;overflow:hidden}.mobile-contact .phone-character{padding:0;color:inherit;display:inline}@media all{.hero-actions a.button,.hero-actions a.button[href^="tel:"]{padding:4px 8px}.hero-actions .phone-button-caption{font-size:.65rem}.hero-actions .phone-button-number{width:100%;font-size:.75rem}.hero-actions .booking-link{font-size:.875rem}.mobile-contact .phone-button-caption{font-size:.7rem}.mobile-contact .phone-button-number{font-size:.8rem}}

.phone-button-caption,.hero-actions .phone-button-caption,.mobile-contact .phone-button-caption{font-size:.75rem;line-height:1.35;font-weight:700;letter-spacing:0;text-align:center}.phone-button-number,.hero-actions .phone-button-number,.mobile-contact .phone-button-number{display:flex;justify-content:center;align-items:center;gap:3px;width:100%;margin-top:1px;transform:none;line-height:1.25;font-size:1.05rem;font-weight:800;letter-spacing:-.04em;white-space:nowrap}.phone-symbol,.mobile-contact .phone-symbol{display:inline;padding:0;margin:0;color:inherit;font-size:.85rem;line-height:1}.phone-digits,.mobile-contact .phone-digits{display:inline;padding:0;margin:0;color:inherit;font-family:Arial,"Helvetica Neue",sans-serif;font-weight:800;font-size:inherit;line-height:inherit;letter-spacing:-.04em;font-variant-numeric:tabular-nums;transform:scaleY(1.1)}@media all{.hero-actions .phone-button-caption{font-size:.65rem}.hero-actions .phone-button-number{font-size:.9rem}.mobile-contact .phone-button-caption{font-size:.7rem}.mobile-contact .phone-button-number{font-size:.95rem}.phone-symbol,.mobile-contact .phone-symbol{font-size:.75rem}}

.phone-digits,.mobile-contact .phone-digits{transform:scaleY(1.3);transform-origin:center;display:inline-block}.phone-button-number,.hero-actions .phone-button-number,.mobile-contact .phone-button-number{margin-top:3px;line-height:1.3;gap:0}

.mobile-contact .booking-link{gap:10px;overflow:visible}.mobile-contact .bottom-booking-label{display:inline-block;padding:0;margin:0;color:inherit;line-height:1.4;animation:booking-hop-jelly 5s ease-in-out infinite;transform-origin:center bottom}.bottom-booking-panda{width:36px;height:30px;object-fit:contain;flex:none;animation:panda-tremble 5s ease-in-out infinite;transform-origin:center bottom;pointer-events:none}.mobile-contact .phone-digits{animation:phone-jelly 5s ease-in-out infinite;transform-origin:center}.mobile-contact .phone-button-number{overflow:visible}@keyframes phone-jelly{0%,62%,100%{transform:scaleY(1.3)}65%{transform:scale(1.025,1.23) rotate(-1deg)}68%{transform:scale(.98,1.36) rotate(1deg)}71%{transform:scale(1.02,1.25) rotate(-.7deg)}74%{transform:scale(.99,1.33) rotate(.5deg)}78%{transform:scaleY(1.3)}}@keyframes booking-hop-jelly{0%,62%,100%{transform:translateY(0) scale(1)}65%{transform:translateY(1px) scale(1.04,.94)}69%{transform:translateY(-6px) scale(.98,1.04)}73%{transform:translateY(0) scale(1.05,.92)}76%{transform:translateY(0) scale(.97,1.04)}79%{transform:translateY(0) scale(1.02,.97)}83%{transform:translateY(0) scale(1)}}@keyframes panda-tremble{0%,62%,100%{transform:translateX(0) rotate(0)}65%{transform:translateX(-1px) rotate(-4deg)}68%{transform:translateX(1px) rotate(4deg)}71%{transform:translateX(-1px) rotate(-3deg)}74%{transform:translateX(1px) rotate(2deg)}78%{transform:translateX(0) rotate(0)}}@media all{.mobile-contact .booking-link{gap:6px}.bottom-booking-panda{width:30px;height:25px}.mobile-contact .bottom-booking-label{font-size:.875rem}}@media(prefers-reduced-motion:reduce){.mobile-contact .phone-digits,.mobile-contact .bottom-booking-label,.bottom-booking-panda{animation:none}}

.mobile-contact .phone-digits,.mobile-contact .bottom-booking-label{animation:none}.mobile-contact .bottom-booking-label{transform:none}.mobile-contact a[href^="tel:"]{flex-direction:row;gap:7px}.mobile-contact .bottom-phone-text{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0;margin:0;color:inherit;min-width:0}.bottom-phone-panda{width:36px;height:30px;object-fit:contain;flex:none;pointer-events:none;animation:panda-tremble 5s ease-in-out infinite;transform-origin:center bottom}.bottom-booking-panda{animation:booking-hop-jelly 5s ease-in-out infinite}.mobile-contact .bottom-phone-text .phone-button-caption,.mobile-contact .bottom-phone-text .phone-button-number{width:100%;max-width:100%}@media all{.mobile-contact a[href^="tel:"]{gap:5px;padding:4px 5px}.bottom-phone-panda{width:26px;height:23px}.mobile-contact .bottom-phone-text .phone-button-caption{font-size:.6rem}.mobile-contact .bottom-phone-text .phone-button-number{font-size:.8rem}}@media(prefers-reduced-motion:reduce){.bottom-phone-panda,.bottom-booking-panda{animation:none}}

.mobile-contact a[href^="tel:"]{position:relative;padding-left:48px;padding-right:8px}.bottom-phone-panda{position:absolute;left:10px;width:42px;height:36px;animation-duration:6s;animation-delay:0s}.mobile-contact .bottom-phone-text{margin-left:8px}.mobile-contact .bottom-phone-text .phone-button-caption{font-size:.75rem}.mobile-contact .bottom-phone-text .phone-button-number{font-size:1.05rem}.bottom-booking-panda{width:42px;height:36px;animation-duration:6s;animation-delay:3s}@media all{.mobile-contact a[href^="tel:"]{padding-left:34px;padding-right:3px;gap:0}.bottom-phone-panda{left:2px;width:34px;height:29px}.mobile-contact .bottom-phone-text{margin-left:3px}.mobile-contact .bottom-phone-text .phone-button-caption{font-size:.7rem}.mobile-contact .bottom-phone-text .phone-button-number{font-size:.95rem}.bottom-booking-panda{width:36px;height:31px}}

.mobile-contact a[href^="tel:"]{padding:4px 8px;gap:4px;justify-content:center}.bottom-phone-panda{position:static;left:auto}.mobile-contact .bottom-phone-text{margin-left:0}@media all{.mobile-contact a[href^="tel:"]{padding:4px 3px;gap:3px}.mobile-contact .bottom-phone-text{margin-left:0}}

/* Keep the smartphone layout centered on every screen. */
body{width:100%;max-width:480px;margin-left:auto;margin-right:auto}header .header-phone{display:none}.mobile-contact{left:50%;right:auto;width:100%;max-width:480px;transform:translateX(-50%)}

/* Emphasize the persistent reservation buttons after removing the footer. */
body{padding-bottom:calc(90px + env(safe-area-inset-bottom))}
.mobile-contact{height:auto;box-sizing:border-box;gap:8px;padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #b8dace;box-shadow:0 -4px 18px #075c4326}
.mobile-contact>a,.mobile-contact>a[href^="tel:"]{height:66px;min-height:66px;border-radius:10px;border:1px solid #075c43;box-shadow:0 3px 7px #075c4326}
.mobile-contact .booking-link{background:#caefe4;font-weight:800}
.mobile-contact .bottom-booking-label{font-weight:800}
.mobile-contact>a:active{box-shadow:none}

/* Original maintenance illustrations and panda headings, stacked for every screen. */
.maintenance-page{padding:28px 22px}.maintenance-page h1{font-size:1.8rem}.maintenance-page .Teeth>h2{margin:30px 0 16px}.maintenance-page .Teeth>h2 img{width:100%;height:auto}.maintenance-page .Box>img{display:none}.maintenance-page .Box:before{content:"歯の健康を守るには、ホームケアの充実と定期的なメンテナンスが大切です。";display:block;color:#22ad9b;font-size:1.15rem;font-weight:700;margin-bottom:20px}.maintenance-page p{line-height:2}.maintenance-page .migi{float:none;width:100%;height:auto;margin:0 auto 20px}.maintenance-page .Teeth>h3{margin:26px 0 0}.maintenance-page h3 img{width:100%;height:auto}.maintenance-points{border:2px solid #f3d77a;border-top:0;border-radius:0 0 10px 10px;padding:18px;display:flow-root}.maintenance-points p{margin:0;background:repeating-linear-gradient(to bottom,transparent 0,transparent 31px,#ddd 31px,#ddd 32px);line-height:2}.maintenance-points figure{width:115px;margin:18px auto 0}.maintenance-points img{width:115px;height:auto}.maintenance-page .maintenance-step{padding:26px 0;border-bottom:1px dotted #bbb}.maintenance-step h3{margin:0 0 14px}.maintenance-row{display:flex;flex-direction:column;gap:18px}.maintenance-copy p{margin:0 0 12px}.maintenance-copy .txt04{font-weight:700;color:#00ad9b;text-align:center;border-top:1px dashed #22ad9b;border-bottom:1px dashed #22ad9b;overflow-wrap:anywhere;padding:8px 0}.maintenance-figure{width:100%;max-width:300px;margin:0 auto}.maintenance-figure img{width:100%;height:auto}.maintenance-page #bite .maintenance-figure{width:140px}.maintenance-page .Teeth>h2 img{min-height:36px;object-fit:contain}

/* General dentistry: original clinic artwork and reference section order. */
.general-reference{padding:28px 22px}.general-reference h1{font-size:1.8rem}.general-reference .Box,.general-reference .Box01{display:flow-root;margin-bottom:26px;line-height:2}.general-reference .Teeth>h3{margin:26px 0 0}.general-reference .Teeth>h3 img{width:100%;height:auto}.general-reference .Teeth>.Box01{border-bottom:1px dotted #bbb;padding-bottom:26px}.general-reference .Box01>img,.general-reference .Box>img{width:100%;height:auto;margin:20px 0 16px}.general-reference p img{width:100%;height:auto;border:1px solid #ddd;padding:4px;background:#fff;margin:14px auto;float:none}.general-reference img[src$="index_arrow01.gif"]{display:none}.general-reference .pointbeauty{border:2px solid #f3d77a;border-top:0;border-radius:0 0 10px 10px;margin:0 0 26px;padding:18px}.general-reference .pointbeauty dd{margin:16px auto 0;width:160px}.general-reference .pointbeauty img{width:160px;height:auto}.general-reference .txt05{border:2px solid #3ba6bb;border-top:0;padding:16px;margin:0 0 24px;border-radius:0 0 8px 8px;background:#f7fcfd}.general-reference .Box:has(.txt05)>p:first-child{margin:0}.general-reference .Box:has(.txt05)>p:first-child img{padding:0;border:0;margin:0;width:100%;height:auto}.general-reference .txt05 img{margin:0 auto 16px}.general-reference .ItemR,.general-reference .ItemL{max-width:300px}.general-reference .Box>img[src$="index_img02.jpg"]{margin-top:0}

/* Pediatric dentistry: original panda banners, photographs and illustrations. */
.kids-reference{padding:28px 22px}.kids-reference h1{font-size:1.8rem}.kids-reference .Box{display:flow-root;margin-bottom:26px}.kids-reference p{line-height:2}.kids-reference .Teeth>h2{margin:32px 0 20px}.kids-reference h2 img,.kids-reference h3 img,.kids-reference h4 img{width:100%;height:auto}.kids-reference h3{margin:26px 0 0}.kids-reference h4{margin:22px 0 16px}.kids-reference .Box:has(h4){border-bottom:1px dotted #bbb;padding-bottom:24px}.kids-reference .img01,.kids-reference .photo01,.kids-reference .photo02{float:none;display:block;width:100%;max-width:300px;height:auto;margin:16px auto 20px}.kids-reference img[src$="kids_img01.gif"]{max-width:192px}.kids-reference img[src$="kids_img02.gif"]{max-width:148px}.kids-reference img[src$="kids_img04.gif"]{max-width:352px}.kids-reference img[src$="kids_img05.gif"]{max-width:200px}.kids-reference .photo01,.kids-reference .photo02{border:1px solid #ddd;padding:5px;background:#fff}.kids-reference img[src$="kids_img03.gif"]{width:100%;height:auto;margin-top:20px}.kids-reference .point{margin:0 0 30px;padding:18px;border:2px solid #f3d77a;border-top:0;border-radius:0 0 10px 10px}.kids-reference .point dt{margin:20px 0 12px;color:#22ad9b;font-weight:700}.kids-reference .point dt:first-child{margin-top:0}.kids-reference .point dt img{width:100%;height:auto}.kids-reference .point dd{margin:0;line-height:2}.kids-reference .txt03{border:2px solid #3ba6bb;border-top:0;background:#f7fcfd;padding:18px;margin:0;border-radius:0 0 8px 8px}.kids-reference .Teeth>p:has(img[src$="kids_title04.gif"]){margin:30px 0 0}.kids-reference img[src$="kids_title04.gif"]{width:100%;height:auto}

#care .care-image-heading h2.care-text-title{font-family:inherit;font-size:clamp(1.2rem,5vw,1.5rem);font-weight:600;line-height:1.6;letter-spacing:.02em;color:#39b8ac;text-decoration:none;border:0;background:none;padding:0;margin:0}#care .care-text-title::before,#care .care-text-title::after{content:none}

#care .care-image-heading h2.care-text-title{display:flex;align-items:center;gap:8px}#care .care-image-heading .care-heading-panda{display:block;width:38px;height:32px;max-width:none;object-fit:contain;flex:0 0 38px}#care .care-text-title>span{min-width:0}

/* Cosmetic dentistry: original panda headings and all reference case photos. */
.beauty-reference{padding:28px 22px}.beauty-reference h1{font-size:1.8rem}.beauty-reference .Box{display:flow-root;margin-bottom:26px;line-height:2}.beauty-reference .Teeth>h3{margin:26px 0 0}.beauty-reference h3 img,.beauty-reference .Box>img:not(.implantimg01){width:100%;height:auto}.beauty-reference .Box>img:not(.implantimg01){margin:24px 0 16px}.beauty-reference .implantimg01{float:none;width:200px;height:auto;margin:0 auto 20px}.beauty-reference .pointbeauty{border:2px solid #f3d77a;border-top:0;border-radius:0 0 10px 10px;padding:18px;margin:0 0 28px;line-height:2}.beauty-reference .pointbeauty dd{width:160px;margin:18px auto 0}.beauty-reference .pointbeauty img{width:160px;height:auto}.beauty-reference .Box:has(.Box06){padding-bottom:24px;border-bottom:1px dotted #bbb}.beauty-reference .Box06{display:flex;flex-direction:column;gap:18px;margin:0}.beauty-reference .Box06 dd{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:12px;margin:0}.beauty-reference .Box06 dd br{display:none}.beauty-reference .Box06 dd img{width:100%;height:auto;border:1px solid #ddd;padding:5px;background:#fff}.beauty-reference .Box06 dd img[src$="beauty_photo04.jpg"],.beauty-reference .Box06 dd img[src$="beauty_photo05.jpg"]{width:calc(50% - 6px);min-width:0}

/* Missing teeth: supplied illustrations, six treatment steps and four case panels. */
.implant-reference{padding:28px 22px}.implant-reference h1{font-size:1.8rem}.implant-reference .Box,.implant-reference .Box03{display:flow-root;margin-bottom:26px;line-height:2}.implant-reference h2 img,.implant-reference h3 img{width:100%;height:auto}.implant-reference .Teeth>h2{margin:32px 0 22px}.implant-reference .Teeth>h3{margin:26px 0 0}.implant-reference .Box>img:not(.implantimg01),.implant-reference .Box03>img{width:100%;height:auto;margin:20px 0 16px}.implant-reference img[src$="implant_img01.gif"]{width:170px;height:auto;margin:0 auto 20px}.implant-reference img[src$="implant_copy.gif"]{width:100%;max-width:333px;height:auto;margin:0 0 14px}.implant-reference .merit{margin:0 0 28px;border:1px solid #22ad9b;border-top:0;padding:18px;line-height:2}.implant-reference .merit dt img{width:218px;height:auto;margin:0 auto 16px}.implant-reference .merit dd{margin:0}.implant-reference .merit span{color:#00ad9b}.implant-reference .pointimplant{border:2px solid #f3d77a;border-top:0;border-radius:0 0 10px 10px;margin:0 0 30px;padding:18px;line-height:2}.implant-reference .pointimplant dd{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:18px 0 0}.implant-reference .pointimplant dd img{width:calc(50% - 5px);height:auto;object-fit:contain;border:1px solid #ddd;padding:4px;background:white}.implant-reference .pointimplant dd img:last-child{width:100%;max-width:300px}.implant-reference .Box05,.implant-reference .Box04{display:flex;flex-direction:column;gap:18px;margin:0 0 26px;line-height:2}.implant-reference .Box05{padding-bottom:26px;border-bottom:1px dotted #bbb}.implant-reference .Box05 dt>img{width:100%;height:auto;margin:0 0 14px}.implant-reference .Box05 dd,.implant-reference .Box04 dd{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:0}.implant-reference .Box05 dd img{width:100%;max-width:300px;height:auto;border:1px solid #ddd;padding:5px}.implant-reference .Box04 dd img{width:calc(50% - 6px);height:auto;border:1px solid #ddd;padding:4px}.implant-reference .txt05{border:2px solid #3ba6bb;border-top:0;border-radius:0 0 8px 8px;background:#f7fcfd;padding:16px;margin:0;line-height:2}.implant-reference .txt05 img{float:none;width:100%;height:auto;border:1px solid #ddd;background:#fff;padding:4px;margin:0 auto 16px}.implant-reference .Box:has(.txt05)>p:first-child{margin:0}.implant-reference .Box:has(.txt05)>p:first-child img{width:100%;height:auto;margin:0}

.implant-reference .non-clasp-section{padding:26px 0;border-top:1px dotted #bbb;border-bottom:1px dotted #bbb;margin-bottom:26px}.implant-reference h2.non-clasp-heading{display:flex;align-items:center;gap:12px;color:#fff;background:#22ad9b;border:2px solid #8bd8ce;border-radius:18px;padding:10px 14px;font-size:1.15rem;line-height:1.5;margin:0 0 18px}.implant-reference .non-clasp-heading img{width:42px;height:36px;object-fit:contain;background:#fff;border-radius:50%;padding:3px;flex:none}.non-clasp-section .non-clasp-lead{color:var(--green);font-weight:700}.non-clasp-section h3{font-size:1.1rem;color:var(--green);margin:24px 0 10px}.non-clasp-section p{line-height:2}.non-clasp-section ul{padding-left:1.4em;margin:10px 0}.non-clasp-section li{margin:8px 0}

.non-clasp-case{margin-top:28px;padding:18px;border:2px solid #3ba6bb;border-radius:10px;background:#f7fcfd}.non-clasp-case h3{margin:0 0 14px;color:#299bb1}.non-clasp-case-photos{display:grid;grid-template-columns:1fr;gap:18px;margin-top:20px}.non-clasp-case-photos figure{margin:0}.non-clasp-case-photos img{display:block;width:100%;height:auto;border:1px solid #ddd;background:#fff;padding:4px}.non-clasp-case-photos figcaption{text-align:center;color:var(--green);font-weight:700;font-size:.875rem;margin-top:6px}

/* Match the blue case-panel format: panda title, dotted rule, photos, then copy. */
.non-clasp-case{padding:0;border:2px solid #3ba6bb;border-radius:10px;overflow:hidden;background:#f7fcfd}.implant-reference .non-clasp-case h3{display:flex;align-items:center;gap:8px;margin:0;padding:6px 8px;background:#eaf6f9;border-bottom:4px dotted #9bd6e1;color:#3ba6bb;font-size:1rem;line-height:1.5}.implant-reference .non-clasp-case h3 .case-title-panda{width:34px;height:29px;object-fit:contain;flex:none}.non-clasp-case-body{padding:20px 16px 16px}.non-clasp-case-photos{grid-template-columns:minmax(0,1fr) 10px minmax(0,1fr);align-items:center;gap:5px;margin:0 0 22px;padding:4px;border:1px solid #ddd;background:white}.non-clasp-case-photos img{padding:4px}.non-clasp-case .case-photo-arrow{font-family:Arial,sans-serif;font-size:24px;line-height:1;color:#999;text-align:center}.non-clasp-case-body>p{margin:0 0 14px}.non-clasp-case-body>p:last-child{margin-bottom:0}
