/* maroriri 固定ページ共通(.km-page: 193施術メニュー・240アクセス)のデザイン 2026-09-26 院長「整理してこの辺りも見やすく」 トップ(11897)と同じ色づかい */
.km-page{--main:#2a7f62;--main-dark:#1f5e49;--accent:#d97706;--rose:#e0476b;--bg:#f7f5ef;--line:#e6e1d6;--shadow:0 4px 18px rgba(31,94,73,.08);color:#333;line-height:1.8}
.km-page *{box-sizing:border-box}
.km-page h2,.km-page h3{background:none !important;border:none !important;padding:0 !important;box-shadow:none !important}
.km-page h2::before,.km-page h2::after,.km-page h3::before,.km-page h3::after{content:none !important;display:none !important}
.km-page .km-intro{background:linear-gradient(135deg,#d97706,#f59e0b);color:#fff;border-radius:16px;padding:16px 20px;font-size:15.5px;text-align:center;box-shadow:0 10px 24px rgba(217,119,6,.22);margin:0 0 16px}
.km-page .km-intro b{font-size:1.25em}
.km-page .km-jump{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:0 0 28px}
.km-page .km-jump a{background:#f1eee6;color:var(--main-dark) !important;border-radius:999px;padding:7px 14px;font-size:13.5px;font-weight:700;text-decoration:none !important}
.km-page .km-jump a:hover{background:#e3efe9}
.km-page .km-h2{font-size:clamp(20px,3.2vw,26px) !important;color:var(--main-dark) !important;text-align:center;margin:40px 0 18px !important;scroll-margin-top:90px}
.km-page .km-h2 span{display:block;font-size:13px;color:var(--accent);font-weight:700;letter-spacing:.08em;margin-top:6px}
.km-page .km-h2::after{content:"" !important;display:block !important;width:56px;height:4px;margin:10px auto 0;border-radius:4px;background:linear-gradient(90deg,#2a7f62,#d97706)}
/* 基本メニューのカード */
.km-page .km-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.km-page .km-card{--c:#2a7f62;display:flex;gap:14px;background:#fff;border-radius:16px;padding:16px;box-shadow:var(--shadow);border-top:6px solid var(--c)}
.km-page .km-card:nth-child(7n+2){--c:#0e8f9a}
.km-page .km-card:nth-child(7n+3){--c:#5b6cc7}
.km-page .km-card:nth-child(7n+4){--c:#e0607e}
.km-page .km-card:nth-child(7n+5){--c:#7c5cc4}
.km-page .km-card:nth-child(7n+6){--c:#d97706}
.km-page .km-card:nth-child(7n+7){--c:#6b8e23}
.km-page .km-photo{flex:0 0 108px}
.km-page .km-photo img{width:108px;height:128px;object-fit:cover;border-radius:12px;display:block}
.km-page .km-body{flex:1;min-width:0}
.km-page .km-name{font-size:17px !important;color:var(--c) !important;margin:0 0 2px !important;line-height:1.4}
.km-page .km-price{display:inline-block;margin:4px 0 8px !important;font-size:22px;font-weight:900;color:#c2410c;background:#fff4e2;border-radius:10px;padding:2px 12px;line-height:1.5}
.km-page .km-lead{font-weight:700;color:#333;margin:0 0 4px !important;font-size:14.5px}
.km-page .km-text{font-size:14px;margin:0 0 6px !important;color:#444}
.km-page .km-detail{font-size:12.5px;color:#777;margin:0 !important;background:#f7f5ef;border-radius:8px;padding:6px 10px}
.km-page .km-more{margin:8px 0 0 !important;font-size:13px}
.km-page .km-more a{color:var(--main) !important;font-weight:700}
/* トッピング */
.km-page .km-topping{background:#fff;border-radius:16px;padding:18px 20px;box-shadow:var(--shadow);border-left:6px solid var(--main)}
.km-page .km-topping h3{font-size:15px !important;color:var(--main-dark) !important;margin:0 0 10px !important}
.km-page .km-topping ul{list-style:none;margin:0;padding:0}
.km-page .km-topping li{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:10px 0;border-bottom:1px dashed var(--line)}
.km-page .km-topping li:last-child{border-bottom:none}
.km-page .km-topping li span{font-weight:700}
.km-page .km-topping li b{color:#c2410c;font-size:17px}
.km-page .km-topping li small{grid-column:1/-1;color:#777;font-size:12.5px}
/* セット */
.km-page .km-sets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.km-page .km-set-group{background:#fff;border-radius:16px;padding:18px 20px;box-shadow:var(--shadow);border-top:6px solid #e0607e}
.km-page .km-set-group:nth-child(2){border-top-color:#7c5cc4}
.km-page .km-set-group h3{font-size:15px !important;color:var(--main-dark) !important;margin:0 0 8px !important}
.km-page .km-set-group ul{list-style:none;margin:0;padding:0}
.km-page .km-set-group li{padding:8px 0;border-bottom:1px dashed var(--line);font-size:13.5px;color:#555}
.km-page .km-set-group li:last-child{border-bottom:none}
.km-page .km-set-group li b{display:block;color:#333;font-size:15px}
.km-page .km-note{grid-column:1/-1;text-align:center;font-size:13px;color:#777;margin:0 !important}
/* 回数券 */
.km-page .km-tickets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:stretch}
.km-page .km-ticket{position:relative;background:#fff;border:1px solid #eee3cf;border-radius:16px;padding:20px 14px 16px;text-align:center;box-shadow:0 3px 10px rgba(0,0,0,.05)}
.km-page .km-ticket.km-pop{border:2px solid #d97706;box-shadow:0 12px 28px rgba(217,119,6,.2)}
.km-page .km-pop-label{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,#d97706,#f59e0b);color:#fff;font-size:12px;font-weight:800;padding:3px 14px;border-radius:999px;white-space:nowrap}
.km-page .km-t-name{font-weight:800;color:var(--main-dark);margin:0 !important;font-size:15.5px}
.km-page .km-t-was{margin:6px 0 0 !important;color:#999;text-decoration:line-through;font-size:13.5px}
.km-page .km-t-price{margin:0 !important;font-size:26px;font-weight:900;color:#c2410c}
.km-page .km-t-save{display:inline-block;margin:4px 0 8px !important;background:#e0476b;color:#fff;border-radius:999px;padding:3px 12px;font-size:12.5px;font-weight:800}
.km-page .km-t-desc{margin:0 !important;font-size:12.5px;color:#666;line-height:1.7}
.km-page .km-rules{margin:16px 0 0;padding:14px 18px 14px 34px;background:#fff8ec;border:1px solid #f6d9a8;border-radius:12px;font-size:13px;color:#555}
.km-page .km-pay{margin:16px 0 0;text-align:center;background:#fff;border:1px dashed #cfc8b8;border-radius:12px;padding:14px}
.km-page .km-pay p{margin:0 0 10px !important;font-size:14px}
.km-page .km-pay img{max-width:420px;width:100%;height:auto;border-radius:8px}
/* ご予約 */
.km-page .km-cta{margin:36px 0 0;background:linear-gradient(135deg,#1f5e49,#2a7f62 55%,#3da37c);color:#fff;border-radius:18px;padding:30px 20px;text-align:center}
.km-page .km-cta h2{color:#fff !important;font-size:22px !important;margin:0 0 10px !important}
.km-page .km-cta p{color:#fff;margin:0 auto 16px !important;max-width:620px;font-size:14.5px}
.km-page .km-btns{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.km-page .km-btn{display:inline-flex;flex-direction:column;align-items:center;min-width:230px;padding:13px 22px;border-radius:999px;font-weight:800;font-size:16px;text-decoration:none !important;box-shadow:0 6px 16px rgba(0,0,0,.15)}
.km-page .km-btn small{font-weight:600;font-size:11.5px;opacity:.9}
.km-page .km-btn-line{background:#06C755;color:#fff !important}
.km-page .km-btn-form{background:#fff;color:#c2410c !important}
.km-page .km-hours{font-size:12.5px !important;opacity:.95;margin:14px 0 0 !important}
.km-page .km-links{margin:24px 0 0;background:#f7f5ef;border-radius:14px;padding:16px 18px}
.km-page .km-links h3{font-size:14.5px !important;color:var(--main-dark) !important;margin:0 0 8px !important}
.km-page .km-links ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.km-page .km-links a{display:inline-block;background:#fff;border:1px solid var(--line);border-radius:999px;padding:5px 12px;font-size:13px;color:var(--main-dark) !important;text-decoration:none !important}
@media (max-width:760px){
 .km-page .km-grid,.km-page .km-sets,.km-page .km-tickets{grid-template-columns:1fr}
 .km-page .km-photo{flex-basis:92px}
 .km-page .km-photo img{width:92px;height:112px}
 .km-page .km-btn{min-width:0;width:100%}
}

/* 240 診察時間・アクセス・キャンセルポリシー(2026-09-27) */
.km-page .km-table{background:#fff;border-radius:16px;box-shadow:var(--shadow);padding:6px 20px;border-top:6px solid var(--main)}
.km-page .km-table dl{margin:0;display:grid;grid-template-columns:110px 1fr}
.km-page .km-table dt,.km-page .km-table dd{margin:0;padding:12px 0;border-bottom:1px dashed var(--line);font-size:15px}
.km-page .km-table dt{color:var(--main-dark);font-weight:800}
.km-page .km-table dl > :nth-last-child(-n+2){border-bottom:none}
.km-page .km-table b{font-size:1.15em}
.km-page .km-red{color:#c0392b !important}
.km-page .km-map{border-radius:16px;overflow:hidden;box-shadow:var(--shadow);line-height:0}
.km-page .km-map iframe{width:100% !important;height:360px;border:0;display:block}
.km-page .km-center{text-align:center}
.km-page .km-small{font-size:13.5px;color:#666}
.km-page .km-btn-map{background:#4285f4;color:#fff !important;margin-top:14px;min-width:0;font-size:15px}
.km-page .km-figure{margin:0 auto;max-width:560px}
.km-page .km-figure img{width:100%;height:auto;border-radius:16px;box-shadow:var(--shadow);display:block}
.km-page .km-policy{background:#fff8ec;border:1px solid #f6d9a8;border-radius:16px;padding:18px 20px 10px}
.km-page .km-policy ul{margin:0;padding-left:1.2em}
.km-page .km-policy li{margin:0 0 10px;font-size:14.5px;line-height:1.8}
.km-page .km-sign{text-align:right;font-weight:700;margin:4px 0 0 !important}
@media (max-width:760px){ .km-page .km-table dl{grid-template-columns:84px 1fr} .km-page .km-map iframe{height:280px} }
