/*
Theme Name: Ishiguro Dental Revival
Theme URI: https://ishiguro-shika.jp/
Author: Revival Theme
Description: 2026-03-08 archived Ishiguro Dental Clinic homepage content, redesigned for WordPress. Other posts and pages remain available.
Version: 0.3.0
Text Domain: ishiguro-revival
*/
:root{--ink:#183249;--blue:#126b88;--sky:#eef8fb;--teal:#0a918e;--line:#d8e7ed;--muted:#5f7381;--cream:#fbfefc}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.9;background:white}a{color:inherit;text-decoration:none}a:hover{color:var(--teal)}img{max-width:100%;height:auto}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.45}h2{font-size:clamp(1.65rem,3vw,2.35rem);letter-spacing:.04em}h3{font-size:1.12rem}.wrap{width:min(1120px,calc(100% - 40px));margin:auto}.site-header{background:#fff;position:relative;z-index:10;box-shadow:0 3px 24px #1539570e}.topline{background:#0f5a71;color:white;font-size:.8rem;padding:5px 0}.header-main{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:12px}.brand-icon{background:linear-gradient(145deg,#0a8b95,#1b587f);color:white;width:49px;height:49px;display:grid;place-items:center;border-radius:14px;font-weight:800;font-size:24px}.brand-title{font-size:clamp(1.25rem,2vw,1.8rem);line-height:1.2;font-weight:800;letter-spacing:.05em}.brand-sub{display:block;font-size:.67rem;color:var(--muted);letter-spacing:.18em;margin-top:4px}.nav{display:flex;align-items:center;flex-wrap:wrap;gap:18px;font-size:.91rem;font-weight:700}.nav a{padding:9px 0}.nav-cta,.button-primary{display:inline-block;color:#fff!important;background:#087d85;border-radius:9px;padding:12px 18px!important;font-weight:750;box-shadow:0 8px 22px #097c841c}.hero{overflow:hidden;position:relative;background:linear-gradient(118deg,#eaf7fa,#f9fdfc 64%,#dff2ee);padding:82px 0 75px}.hero:before{content:'';position:absolute;width:680px;height:680px;right:-200px;top:-280px;border-radius:50%;border:90px solid #b8dfe680}.hero-inner{display:grid;grid-template-columns:1.15fr .85fr;gap:45px;align-items:center;position:relative}.kicker,.eyebrow{font-size:.75rem;letter-spacing:.2em;color:var(--teal);font-weight:850;text-transform:uppercase}.hero h1{font-size:clamp(2rem,4vw,3.55rem);line-height:1.4;margin:18px 0}.hero h1 strong{color:#087e86}.hero p{font-size:1.03rem;max-width:600px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.button-outline{display:inline-block;border:1px solid #7fb7c0;border-radius:9px;padding:10px 17px;font-weight:750;background:#fff9}.hero-panel{background:white;border:1px solid #d4e5e9;border-radius:24px;padding:30px;box-shadow:0 20px 50px #16476117;position:relative}.hero-panel:before{content:'✚';position:absolute;right:24px;top:5px;color:#cce9e9;font-size:96px}.hero-panel h2{position:relative;font-size:1.5rem;margin:0 0 22px}.info-line{position:relative;display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:13px 0;font-size:.96rem}.info-line span:first-child{color:var(--muted)}.info-line strong{text-align:right}.hero-contact{position:relative;font-size:1.45rem;color:#0b6b83;font-weight:850;letter-spacing:.02em;margin-top:22px}.section{padding:82px 0}.section.soft{background:#f4fafb}.section-head{margin-bottom:31px}.section-head h2{margin:8px 0 0}.section-head:after{content:'';display:block;width:52px;height:4px;background:var(--teal);border-radius:9px;margin-top:20px}.lead{font-weight:700;font-size:1.08rem}.copy p{margin-bottom:18px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.point-card,.medical-card{border:1px solid var(--line);background:white;padding:28px;border-radius:16px;box-shadow:0 9px 30px #1647610c}.point-num{color:#17a4a5;font-weight:800;font-size:1.6rem}.point-card h3{margin:12px 0}.statement{border-left:4px solid #1c9fa2;background:#f2faf9;border-radius:0 16px 16px 0;padding:27px 33px;margin:23px 0}.statement h3{font-size:1.28rem;margin:0 0 12px}.statement p:last-child{margin-bottom:0}.feature{display:grid;grid-template-columns:.65fr 1.35fr;gap:35px;align-items:center}.feature-art{background:linear-gradient(135deg,#d7eef0,#eef9f8);border-radius:20px;min-height:310px;display:flex;align-items:center;justify-content:center;position:relative}.feature-art svg{width:185px;height:185px;max-width:65%;color:#238aa0}.treatment-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.medical-card{text-align:center;padding:24px 12px;font-weight:750}.medical-card:hover{border-color:#27a9a8;transform:translateY(-2px);transition:.2s}.medical-icon{font-size:1.7rem;color:#208a9b;display:block;margin-bottom:6px}.contact-box{background:linear-gradient(115deg,#0d5a76,#107d83);color:white;border-radius:22px;padding:34px 44px;margin-bottom:35px;display:flex;align-items:center;justify-content:space-between;gap:25px}.contact-box h3{font-size:1.6rem}.contact-box p{margin:0}.contact-box a{font-size:1.6rem;font-weight:850;white-space:nowrap}.table-scroll{overflow:auto}.hours{width:100%;border-collapse:collapse;min-width:720px;text-align:center}.hours th,.hours td{padding:12px 9px;border:1px solid #d9e8ed}.hours th{background:#e9f5f7}.hours td:first-child{font-weight:700;text-align:left;white-space:nowrap;background:#f5fafc}.hours .active{color:#0a8b8a;font-weight:800}.fine{color:var(--muted);font-size:.87rem;margin:14px 0}.address{font-size:1.13rem;font-weight:780}.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px}.access-card{background:#f4fafb;border:1px solid var(--line);border-radius:14px;padding:24px}.access-list{margin:8px 0 0;padding-left:1.3em}.site-footer{background:#12374c;color:#e3f3f5;padding:40px 0}.foot-flex{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.foot-flex a{color:#e3f3f5}.foot-links{display:flex;flex-wrap:wrap;gap:20px}.foot-small{font-size:.77rem;opacity:.8;margin-top:18px}.entry{max-width:900px;margin:50px auto;padding:0 20px;min-height:320px}.entry h1{font-size:2rem}.entry a{text-decoration:underline}.entry img{border-radius:10px}.archive-list article{border-bottom:1px solid var(--line);padding:15px 0}.archive-list a{color:#156e87;font-weight:700}@media(max-width:850px){.header-main{padding:15px 0;align-items:flex-start;flex-direction:column;gap:12px}.nav{gap:12px}.hero-inner,.feature,.access-grid{grid-template-columns:1fr}.hero{padding:55px 0}.hero-panel{max-width:640px}.grid3{grid-template-columns:1fr}.treatment-grid{grid-template-columns:repeat(2,1fr)}.contact-box{flex-direction:column;align-items:flex-start}.section{padding:59px 0}}@media(max-width:480px){.wrap{width:min(100% - 28px,1120px)}.hero h1{font-size:2rem}.treatment-grid{grid-template-columns:1fr 1fr}.medical-card{padding:15px 8px}.contact-box{padding:24px}.section-head h2{font-size:1.7rem}}

/* v0.3: internal product-category navigation */
.product-navigation{background:linear-gradient(145deg,#f8fcfd 0%,#eef8fb 100%);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.product-navigation-intro{color:var(--muted);margin:-7px 0 25px}
.product-link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.product-link-card{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:130px;padding:22px 52px 22px 24px;border:1px solid #cfe2e9;background:#fff;border-radius:16px;box-shadow:0 8px 24px #1647610b;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.product-link-card:hover,.product-link-card:focus-visible{transform:translateY(-3px);box-shadow:0 14px 30px #1647611c;border-color:#0b959b;color:var(--ink)}
.product-link-label{font-size:.75rem;letter-spacing:.07em;color:#488393;font-weight:700}
.product-link-card strong{font-size:1.15rem;line-height:1.5;margin-top:5px;color:var(--ink)}
.product-link-arrow{position:absolute;right:21px;top:50%;transform:translateY(-50%);font-size:1.35rem;color:#16878c}
.product-link-card-all{background:linear-gradient(115deg,#0e6579,#0b8d8c);border-color:transparent}
.product-link-card-all .product-link-label,.product-link-card-all strong,.product-link-card-all .product-link-arrow{color:#fff}
.product-link-card-all:hover,.product-link-card-all:focus-visible{color:#fff;border-color:transparent}
@media(max-width:850px){.product-link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.product-link-grid{grid-template-columns:1fr}.product-link-card{min-height:100px;padding:17px 50px 17px 20px}}
