:root{
  --green:#69b33a;
  --orange:#f08a24;
  --pink:#ec6b9a;
  --light:#fff8ef;
  --text:#333;
}
*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;color:var(--text);line-height:1.8;background:#fff}
.site-header{border-top:10px solid var(--orange);background:white;box-shadow:0 2px 12px rgba(0,0,0,.06);position:sticky;top:0;z-index:10}
.header-inner{max-width:1100px;margin:auto;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.logo{display:flex;gap:14px;align-items:center}
.mark{width:58px;height:58px;border-radius:50%;background:linear-gradient(135deg,#ffe15b,#7ac943);display:grid;place-items:center;font-size:32px}
.sub{margin:0;color:var(--orange);font-weight:700;font-size:13px}
h1{margin:0;color:var(--green);font-size:25px;line-height:1.25}
h1 span{color:#5aa72d}
.tel-btn{background:var(--orange);color:white;text-decoration:none;padding:12px 18px;border-radius:999px;font-weight:800}
.hero{max-width:1100px;margin:0 auto;padding:70px 20px;display:grid;grid-template-columns:1.4fr .8fr;gap:36px;align-items:center;background:radial-gradient(circle at top right,#fff0d8,transparent 45%)}
.badge{display:inline-block;background:#fbe1ea;color:#c73d72;border-radius:999px;padding:6px 16px;font-weight:700}
.hero h2{font-size:44px;line-height:1.25;margin:15px 0;color:#f07f22}
.hero p{font-size:17px}
.btn{display:inline-block;text-decoration:none;border-radius:999px;padding:13px 24px;font-weight:800;margin-right:10px}
.primary{background:var(--green);color:white}
.secondary{border:2px solid var(--green);color:var(--green);background:white}
.hero-card{background:white;border:3px solid #f3d4b8;border-radius:26px;padding:24px;text-align:center;box-shadow:0 12px 24px rgba(0,0,0,.08)}
.doctor-photo{width:180px;height:180px;margin:0 auto 18px;border-radius:50%;background:#fff2a8;display:grid;place-items:center;font-weight:800;color:#555}
.section{max-width:1100px;margin:auto;padding:56px 20px}
.section h2{font-size:32px;color:var(--green);text-align:center;margin-top:0}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.card{background:#fff;border:1px solid #eee;border-radius:18px;padding:22px;box-shadow:0 8px 18px rgba(0,0,0,.05)}
.card h3{color:var(--orange);margin-top:0}
.orange{background:var(--light);max-width:none}
.orange>*{max-width:1100px;margin-left:auto;margin-right:auto}
.check-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;list-style:none;padding:0}
.check-list li{background:white;border-left:8px solid var(--orange);padding:14px 18px;border-radius:10px;font-weight:700}
.access{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.map-box{min-height:260px;background:#eee;border:4px solid #ddd;border-radius:18px;display:grid;place-items:center;text-align:center;color:#777}
.contact{text-align:center;background:#f8fff4;border-radius:28px;margin-bottom:40px}
.big-tel{display:inline-block;font-size:34px;font-weight:900;color:var(--orange);text-decoration:none}
footer{background:#6cb33f;color:white;text-align:center;padding:24px}
@media(max-width:800px){
  .header-inner,.hero,.access{grid-template-columns:1fr;display:grid}
  .header-inner{display:block;text-align:center}
  .logo{justify-content:center;margin-bottom:14px}
  .hero h2{font-size:34px}
  .cards{grid-template-columns:1fr}
  .check-list{grid-template-columns:1fr}
}
