@charset "UTF-8";
/* 王整体院 改修：追加分のみ（既存 style.css / staffcards.css には手を入れない）
   CW案件 13383968 ／ ①レイアウト修正 ②セラピスト一覧 ③Google口コミ ④店舗詳細ページ */

/* ============ ① スマホのレイアウト修正 ============ */
/* 既存: ヘッダーのロゴが幅420px固定で375px画面からはみ出していた */
@media (max-width: 767px) {
  .g-header .logo,
  header .logo { max-width: 100% !important; }
  .g-header .logo img,
  header .logo img { max-width: 60vw !important; height: auto !important; }
  body { overflow-x: hidden; }
}

/* ============ 店舗タブ（②③共通） ============ */
.store-tabs{display:flex;gap:8px;overflow-x:auto;margin:24px 0 8px;padding-bottom:4px;justify-content:flex-start;scrollbar-width:none}
.store-tabs::-webkit-scrollbar{display:none}
.store-tabs button{flex:none;font-family:inherit;font-size:13px;padding:9px 16px;border:1px solid rgba(6,15,12,.16);
  background:#fff;border-radius:999px;cursor:pointer;transition:.2s;white-space:nowrap;color:#3a423d}
.store-tabs button:hover{border-color:#818775}
.store-tabs button.on{background:#818775;border-color:#818775;color:#fff}
@media (min-width:900px){.store-tabs{justify-content:center;gap:10px;margin-top:30px}}

/* ============ ② セラピスト一覧（既存 .staff-card を4列＋情報追加） ============ */
.staff-cards{gap:20px!important}
.staff-card{width:calc(50% - 10px)!important;padding:10px 10px 24px!important}
@media (min-width:700px){.staff-card{width:calc(33.333% - 14px)!important}}
@media (min-width:1000px){.staff-card{width:calc(25% - 15px)!important}}
.staff-card .staff-img{height:230px!important}
@media (min-width:700px){.staff-card .staff-img{height:280px!important}}
.staff-card .staff-info{min-height:0!important;padding:0 12px!important}
.staff-card .staff-kana{font-size:11px;color:#8b8f88;text-align:center;letter-spacing:.06em;margin-top:2px}
.staff-card .staff-store{display:block;text-align:center;font-size:11px;color:#8a5309;margin-top:6px}
.staff-card .staff-msg{font-size:12.4px;color:#3a423d;line-height:1.75;margin-top:8px}
.staff-card details{margin:10px 12px 0;border-top:1px dashed rgba(6,15,12,.14);padding-top:8px}
.staff-card summary{list-style:none;font-size:11.8px;color:#63877e;cursor:pointer;text-align:center}
.staff-card summary::-webkit-details-marker{display:none}
.staff-card .off{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;margin-top:8px}
.staff-card .off i{font-style:normal;font-size:10.5px;padding:2px 7px;border-radius:2px;background:#f6f3ef;color:#3a423d;border:1px solid rgba(6,15,12,.08)}
.staff-card .off i.x{background:#fdecec;color:#b3262f;border-color:#f3cfd2}
.staff-card .staff-reservation-btn{padding:9px 18px!important;font-size:13px}

/* ============ ③ Google口コミ ============ */
.gsum{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 18px;
  border:1px solid rgba(6,15,12,.08);border-radius:6px;padding:14px 16px;margin-top:8px;background:#fff}
.gsum .score{font-family:"Roboto Condensed",sans-serif;font-size:30px;line-height:1;color:#8a5309}
.gsum .stars{color:#f0a63c;letter-spacing:.06em}
.gsum .txt{font-size:12.6px;color:#3a423d}
.gsum .upd{font-size:11.4px;color:#8b8f88}

.reviews-list,.reviews-container{display:grid!important;grid-template-columns:1fr;gap:12px;margin-top:18px}
@media (min-width:640px){.reviews-list,.reviews-container{grid-template-columns:repeat(2,1fr);gap:14px}}
@media (min-width:1000px){.reviews-list,.reviews-container{grid-template-columns:repeat(3,1fr);gap:16px}}
.reviews-list .review-card,.reviews-container .review-card{border:1px solid rgba(6,15,12,.08);border-radius:6px;
  padding:15px 15px 14px;background:#fff;display:flex;flex-direction:column;margin:0}
.review-card .review-header{display:flex;align-items:center;gap:9px}
.review-card .profile-photo{width:34px;height:34px;border-radius:50%;object-fit:cover;flex:none}
.review-card .review-info{min-width:0;flex:1}
.review-card .review-info strong{display:block;font-size:13.4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.review-card .review-info .sub{font-size:10.5px;color:#8b8f88}
.review-card .store{flex:none;font-size:10.5px;padding:3px 8px;border-radius:2px;background:#f6f3ef;color:#3a423d;border:1px solid rgba(6,15,12,.08)}
.review-card .rate{display:flex;align-items:center;gap:8px;margin-top:9px}
.review-card .stars{color:#f0a63c;font-size:13px;letter-spacing:.06em}
.review-card .review-date{font-size:11px;color:#8b8f88}
.review-card .review-text{font-size:13.2px;color:#3a423d;line-height:1.85;margin-top:9px;flex:1}
.review-card .src{margin-top:10px;padding-top:9px;border-top:1px solid rgba(6,15,12,.08);
  display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10.5px;color:#8b8f88}
.review-card .src a{color:#63877e;text-decoration:underline}

/* ============ ④ 店舗詳細ページ ============ */
.sd-inner{width:100%;max-width:1180px;margin:0 auto;padding:0 18px}
@media (min-width:900px){.sd-inner{padding:0 28px}}
.sd-sec{padding:38px 0}
@media (min-width:900px){.sd-sec{padding:60px 0}}
.sd-alt{background:#f6f3ef}
.sd-h2{font-family:"Noto Serif JP",serif;font-size:clamp(18px,4.4vw,26px);font-weight:600;letter-spacing:.06em;text-align:center;margin-bottom:6px}
.sd-center{text-align:center;margin-top:16px;font-size:13px}
.sd-center a{color:#8a5309}
.sd-note{margin-top:14px;font-size:12.4px;color:#7d827b;line-height:1.8}

.sd-hero{position:relative;background:#060f0c}
.sd-hero img{width:100%;height:clamp(190px,42vw,380px);object-fit:cover;opacity:.86;display:block}
.sd-badge{position:absolute;left:0;top:clamp(16px,6vw,54px);background:rgba(6,15,12,.82);color:#fff;padding:10px 18px 11px}
.sd-badge b{display:block;font-family:"Noto Serif JP",serif;font-size:clamp(19px,5vw,30px);font-weight:600;letter-spacing:.08em;line-height:1.25}
.sd-badge span{display:block;font-family:"Roboto Condensed",sans-serif;font-size:11px;letter-spacing:.2em;color:#e8c98f;text-align:center;margin-top:2px}

.sd-catch{background:#060f0c;color:#fff}
.sd-catch .sd-inner{display:grid;gap:12px;padding-block:22px}
.sd-catch p{font-size:14px;line-height:1.9}
.sd-catch b{color:#f0c987}
@media (min-width:820px){.sd-catch .sd-inner{grid-template-columns:1fr 1fr;gap:34px;padding-block:30px}}

.sd-2col{display:grid;gap:16px}
@media (min-width:900px){.sd-2col{grid-template-columns:1fr 1fr;gap:36px}}
.sd-box{border:1px solid rgba(6,15,12,.08);border-radius:6px;padding:20px 18px;background:#fff}
.sd-box h3{font-family:"Noto Serif JP",serif;font-size:17px;font-weight:600;text-align:center;letter-spacing:.06em}
.sd-box p{font-size:13px;color:#3a423d;line-height:1.9;margin-top:10px}

.sd-mp{text-align:center}
.sd-mp b{display:block;font-family:"Roboto Condensed",sans-serif;font-size:clamp(28px,7vw,46px);letter-spacing:.04em;line-height:1.1}
.sd-mp span{display:block;font-size:12px;color:#3a423d;letter-spacing:.1em;margin-top:6px}
.sd-cat{background:#e9e7e1;padding:10px 14px;margin-top:26px;font-family:"Noto Serif JP",serif;font-size:16px;font-weight:600;letter-spacing:.06em}
.sd-cat small{font-size:11.5px;color:#6f746d;font-weight:400;margin-left:10px;font-family:"Noto Sans JP",sans-serif}
.sd-row{display:grid;grid-template-columns:1fr auto;gap:10px 16px;padding:12px 2px;border-bottom:1px solid rgba(6,15,12,.08);align-items:baseline}
.sd-row b{font-size:14.4px}
.sd-row p{font-size:12.2px;color:#7d827b;line-height:1.7;margin-top:2px}
.sd-price{text-align:right;white-space:nowrap}
.sd-price b{font-family:"Roboto Condensed",sans-serif;font-size:19px;color:#8a5309}
.sd-price small{display:block;font-size:11px;color:#8b8f88}

.sd-bar{background:#f6f3ef;border-left:5px solid #818775;padding:11px 16px;border-radius:3px}
.sd-bar b{font-size:15.5px;letter-spacing:.04em}
.sd-acc{margin-top:20px}
.sd-img{width:100%;border-radius:6px;display:block}
.sd-table{width:100%;border-collapse:collapse;margin-top:16px;font-size:13.6px}
.sd-table th,.sd-table td{border-bottom:1px solid rgba(6,15,12,.08);padding:11px 4px;text-align:left;vertical-align:top}
.sd-table th{width:86px;font-size:11.5px;color:#8a5309;font-weight:600;white-space:nowrap}
.sd-table td{color:#3a423d;line-height:1.8}
@media (min-width:900px){.sd-table th{width:112px}}

.sd-btns{display:grid;gap:11px}
.sd-btns a{display:flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;padding:15px 14px;
  font-size:15.5px;font-weight:600;border:2px solid transparent;transition:.22s;text-decoration:none}
.sd-btns a small{font-family:"Roboto Condensed",sans-serif;font-size:11.5px;letter-spacing:.08em;opacity:.9}
.sd-btns .b-tel{background:#a7660f;color:#fff}
.sd-btns .b-tel:hover{background:#8a5309}
.sd-btns .b-line{background:#fff;color:#06c755;border-color:#06c755}
.sd-btns .b-web{background:#fff;color:#060f0c;border-color:#060f0c}

.sd-map{margin-top:16px;border:1px solid rgba(6,15,12,.08);border-radius:6px;overflow:hidden;background:#f6f3ef}
.sd-map-in{aspect-ratio:16/11;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:22px;color:#8b8f88;
  background-image:linear-gradient(rgba(6,15,12,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(6,15,12,.05) 1px,transparent 1px);background-size:30px 30px}
.sd-map-in .pin{width:32px;height:32px;border-radius:50%;background:#e60012;color:#fff;display:flex;align-items:center;justify-content:center}
.sd-map-in b{font-size:13px;color:#3a423d}
.sd-map-in small{font-size:11.4px;line-height:1.75}

.sd-gal{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-top:20px}
@media (min-width:700px){.sd-gal{grid-template-columns:repeat(3,1fr);gap:10px}}
.sd-gal a{display:block;overflow:hidden;border-radius:4px;aspect-ratio:4/3}
.sd-gal img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.sd-gal a:hover img{transform:scale(1.05)}

.sd-stores{display:grid;gap:12px;margin-top:20px}
@media (min-width:820px){.sd-stores{grid-template-columns:repeat(3,1fr);gap:18px}}
.sd-stores a{display:block;border:1px solid rgba(6,15,12,.08);border-radius:6px;padding:18px;background:#fff;text-decoration:none;transition:.2s}
.sd-stores a:hover{box-shadow:0 10px 26px rgba(6,15,12,.08);transform:translateY(-2px)}
.sd-stores span{font-size:11px;color:#8a5309}
.sd-stores b{display:block;font-family:"Noto Serif JP",serif;font-size:17px;font-weight:600;margin:4px 0 6px}
.sd-stores small{font-size:12.4px;color:#3a423d;line-height:1.8}

#access{scroll-margin-top:80px}

/* 提案用の注記バー：既存の固定ヘッダーと干渉しないよう画面下に固定 */
#mock-note{position:fixed!important;left:0;right:0;bottom:0;z-index:99999;box-shadow:0 -2px 14px rgba(0,0,0,.18)}
body{padding-bottom:62px}
.sp_fix_reservation{bottom:84px!important}
@media (min-width:900px){body{padding-bottom:52px}}
