/* gs専用 MV（スマホ用画像） */
.mv--gs {
  background: url("https://medicine.cosmos-ok.com/wp-content/uploads/2025/09/mv_globalsring_sp.jpg")
              center center / cover no-repeat;
}

/* gs専用 MV（PC用画像） */
@media (min-width: 700px) {
  .mv--gs {
    background: url("https://medicine.cosmos-ok.com/wp-content/uploads/2025/09/mv_globalsring_pc.jpg")
                center center / cover no-repeat;
  }
}

/* 投球サポーター専用 MV（スマホ用画像） */
.mv--elbow {
  background: url("https://medicine.cosmos-ok.com/wp-content/uploads/2025/09/mv_bracerevo01_sp.jpg")
              center center / cover no-repeat;
}

/* 投球サポーター専用 MV（PC用画像） */
@media (min-width: 700px) {
  .mv--elbow {
    background: url("https://medicine.cosmos-ok.com/wp-content/uploads/2025/09/mv_bracerevo01_pc.jpg")
                center center / cover no-repeat;
  }
}

/* ひざサポーター専用 MV（スマホ用画像） */
.mv--knees {
  background: url("https://medicine.cosmos-ok.com/wp-content/uploads/2025/09/mv_bracerevo02_sp.jpg")
              center center / cover no-repeat;
}

/* ひざサポーター専用 MV（PC用画像） */
@media (min-width: 700px) {
  .mv--knees {
    background: url("https://medicine.cosmos-ok.com/wp-content/uploads/2025/09/mv_bracerevo02_pc.jpg")
                center center / cover no-repeat;
  }
}

/* ビークシールド専用 MV（スマホ用画像） */
.mv--bs {
  background: url("https://medicine.cosmos-ok.com/wp-content/uploads/2025/09/mv_berkshield_sp.jpg")
              center center / cover no-repeat;
}

/* ビークシールド専用 MV（PC用画像） */
@media (min-width: 700px) {
  .mv--bs {
    background: url("https://medicine.cosmos-ok.com/wp-content/uploads/2025/09/mv_berkshield_pc.jpg")
                center center / cover no-repeat;
  }
}

/* 事業概要専用 MV（スマホ用画像） */
.mv--about {
  background: url("https://medicine.cosmos-ok.com/wp-content/uploads/2025/09/mv_about_sp-1.jpg")
              center center / cover no-repeat;
}

/* 事業概要専用 MV（PC用画像） */
@media (min-width: 700px) {
  .mv--about {
    background: url("https://medicine.cosmos-ok.com/wp-content/uploads/2025/09/mv_about_pc-1.jpg")
                center center / cover no-repeat;
  }
}

/* お問い合わせ専用 MV（スマホ用画像） */
.mv--contact {
  background: url("https://medicine.cosmos-ok.com/wp-content/uploads/2025/09/mv_contact_sp.jpg")
              center center / cover no-repeat;
}

/* お問い合わせ専用 MV（PC用画像） */
@media (min-width: 700px) {
  .mv--contact {
    background: url("https://medicine.cosmos-ok.com/wp-content/uploads/2025/09/mv_contact_pc.jpg")
                center center / cover no-repeat;
  }
}

/* 固定ページだけ h3 の上マージン調整 */
body.page h3.wp-block-heading { 
	font-family: var(--wp--preset--font-family--noto-serif-jp);
	margin-top: 5px;
	font-weight: 700;
}

p {
	 line-height: 1.9;
}

/* =========================================================
   Features セクション
   仕様：
   - スマホ：見出し → 丸画像 → 白ボックス（各ボックス #fefefe）
   - PC：画像（左）＋白ボックス（右）／見出しはボックス内
   - ボックス背景色は PC/SP ともに #fefefe
   - メディアクエリは “直下に並べる” 方針
   ========================================================= */

/* セクション外側（背景はページ側に任せる） */
.features{
  box-sizing:border-box;
  width:100%;
  margin:clamp(67px,6vw,90px) auto;
  padding-inline:clamp(12px,3vw,24px);
  padding-bottom: 50px;
  max-width:1200px;
  display:grid;
  row-gap:clamp(24px,4vw,56px);     /* 行どうしの間隔 */
}
/* PC拡張 */
@media (min-width:1024px){
  .features{
    /* ここは現状維持（特に追加なし） */
  }
}
/* さらに大画面（任意） */
@media (min-width:1400px){
  .features{ max-width:1280px; }
}

/* 行（スマホ＝縦積み：見出し→画像→ボックス） */
.feature-row{
  display:grid;
  grid-template-columns:1fr;          /* SP：1列 */
  justify-items:center;
  align-items:start;
  row-gap:clamp(12px,3vw,20px);
  text-align:center;                   /* SPは中央揃え */
}
/* ★SP専用：ボックス全体を #fefefe にする（行そのものをカード化） */
@media (max-width:1023.98px){
  .feature-row{
    background:#fefefe;
    border-radius:14px;
    padding:clamp(16px,4.2vw,28px);
    box-shadow:0 6px 20px rgba(16,24,40,.06); /* 影が不要なら削除可 */
  }
}
/* PC拡張：画像(左)＋ボックス(右)の二カラム */
@media (min-width:1024px){
  .feature-row{
    grid-template-columns:minmax(280px,360px) 1fr;
    align-items:center;
    justify-items:start;
    text-align:left;
  }
}

/* 見出し（体裁） */
.feature-title{
  margin:0;
  font-family: var(--wp--preset--font-family--noto-serif-jp);
  font-weight:700;
  font-size:clamp(18px,4.2vw,22px);
  color:#005caa;
  letter-spacing:.02em;
}
.feature-title .num{ margin-right:.25em; }
/* 表示出し分け：SPは外側見出し、PCはボックス内見出し */
.feature-title.sp-only{ 
	display:block;
	padding-bottom : 10px;
}
.feature-title.pc-only{ display:none; }
@media (min-width:1024px){
  .feature-title.sp-only{ display:none; }
  .feature-title.pc-only{ display:block; }
}

/* 丸画像（薄い外枠は青） */
.feature-media{
  width: 270px;
  aspect-ratio:1/1;
 
}
.feature-media img{
  width:100%; height:100%; display:block;
  border-radius:50%; object-fit:cover; background:#fff;
}


/* 白ボックス（PC/SP 共通で #fefefe） */
.feature-card{
  width:100%;
  box-sizing:border-box;
  background:#fefefe;                 /* 指定どおり統一色 */
  border-radius:14px;
  box-shadow:0 6px 20px rgba(16,24,40,.06);
  padding:clamp(16px,4.2vw,28px);
  text-align:left;
}
/* ★SP専用：行がカード化されるため、内側ボックスは透過＆余白なしにして二重化回避 */
@media (max-width:768px){
  .feature-card{
    background:transparent;
    padding:0;
    box-shadow:none;
  }
}
/* PC拡張：余白だけ少し広げる（色は白のまま） */
@media (min-width:1024px){
  .feature-card{
    padding:clamp(20px,2.8vw,32px);
  }
}

/* ボックス内テキスト */
.feature-text{
  margin:0;
  font-size:clamp(14px,3.8vw,16px);
  line-height:1.9;
}

@media (min-width:1024px){
 .feature-text{
   padding-top: 20px;
     }
	}




/* 規格表 */
/* ラッパー：SP=縦並び / PC=横並び（表左・画像右） */
.size-cards__wrap{
  display:flex;
  flex-direction:column;
  margin-top: 50px;
  gap:12px;
}
@media (min-width:768px){
  .size-cards__wrap{
    flex-direction:row;
    align-items:stretch; /* ← PC時に高さを揃える */
    gap:32px;
  }
}

/* 画像：PCで右に、表と同じ高さへフィット */
.size-cards__image{ margin:0 auto; text-align:center; }
@media (min-width:768px){
  .size-cards__image{ order:2; width:280px; display:flex; align-items:flex-end; }
}
.size-cards__image img{
  display:block;
  max-width:100%;
  height:auto;
}
@media (min-width:768px){
  .size-cards__image img{
    height:100%;           /* 親（行全体）と同じ高さ */
    width:auto;
    object-fit:contain;    /* 画像の縦横比を維持して収める */
    margin-left:auto;
  }
}

/* 表：セル独立（スキマあり）＋指定スタイル */
.size-cards__table{
  width:100%;
  table-layout:fixed;
  border-collapse:separate;
  border-spacing:5px;       /* セル間のスキマ */
}
.size-cards__table thead th{
  background:#005caa;
  color:#fefefe;
  text-align:center;
  padding:10px;
  border-radius:2px;
}
.size-cards__table tbody td{
  background:#f3faff;
  color:#3a302c;
  border:1px solid #ddd;   /* 薄グレー罫線 */
  padding:10px;
  text-align:center;
  border-radius:2px;
}

/* 備考 */
.size-cards__note{
  margin-top:8px;
  font-size:clamp(12px,2.8vw,14px);
  color:#3a302c;
}







/* =========================================================
   通気性ブロック（スマホ基準）
   ・スマホ：縦並び（テキスト → 画像）、全体を淡い背景でカード化
   ・PC　　：横並び（テキスト左／画像右）、背景はテキスト側のみ
   ※ メディアクエリは “各スマホ指定の直下” にPC指定を配置
   ========================================================= */

/* ラッパー（スマホ＝縦積み） */
.standard-point{
  display: flex;
  flex-direction: column;      /* スマホは縦並び */
  gap: 16px;
  background: #f3faff;         /* スマホ時は全体を淡いブルー背景 */
  padding: 16px;
  border-radius: 8px;
}
/* ←PC（768px〜）：ラッパー */
@media (min-width: 768px){
  .standard-point{
    flex-direction: row;       /* 横並び */
    align-items: stretch;      /* ★両カラムの高さを揃える（重要） */
    gap: 24px;
    background: transparent;   /* 親の背景は外す */
    padding: 0;
  }
}

/* 見出し（スマホ） */
.standard-point__title{
  margin: 0 0 10px 0;
  color: #005caa;
  font-family: var(--wp--preset--font-family--noto-serif-jp);
  font-weight: 700;
  font-size: 18px;
}
/* ←PC（768px〜）：見出し */
@media (min-width: 768px){
  .standard-point__title{
    margin: 15px 0 10px 0;
  }
}

/* 本文（スマホ） */
.standard-point__desc{
  margin: 0;
  line-height: 1.8;
  color: #333;
  font-size: 14px;
}
/* ←PC（768px〜）：本文（変更なしなら空でOK） */
/* @media (min-width: 768px){ } */

/* テキスト列（スマホ） */
.standard-point__text{
  /* スマホでは親に背景・余白を持たせているので個別指定なし */
}
/* ←PC（768px〜）：テキスト列 */
@media (min-width: 768px){
  .standard-point__text{
    flex: 1 1 auto;
    display: flex;             /* 中身を縦方向に整列したい場合に必要 */
    flex-direction: column;
    /* 必要なら縦中央化 → 次行をON
       justify-content: center; */
    background: #f3faff;       /* PCはテキスト側だけ背景 */
    padding: 20px 24px;
    border-radius: 8px;
  }
}

/* 画像ラッパー（スマホ） */
.standard-point__pic{
  margin: 0;                   /* figure のデフォ余白消し */
}
/* ←PC（768px〜）：画像ラッパー */
@media (min-width: 768px){
  .standard-point__pic{
    flex: 0 0 360px;           /* 画像の見せ幅（調整可） */
  }
}

/* 画像（スマホ） */
.standard-point__pic img{
  display: block;
  width: 100%;
  height: auto;
  border-radius: 4px;
}
/* =========================================================
   フォトグリッド
   ・スマホ：2列
   ・PC：3列
========================================================= */

/* ラッパー */
.photo-grid {
  margin: 20px auto;
}
.photo-grid__inner {
  max-width: 1200px;
  margin: 80px auto 25px;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  padding: 0 8px;
}
@media (min-width: 1024px) {
  .photo-grid__inner {
    gap: 20px;
  }
}

/* アイテム */
.photo-grid__item {
  margin: 0;
  width: calc((100% - 16px) / 2); /* スマホ＝2列 */
}
@media (min-width: 1024px) {
  .photo-grid__item {
    width: calc((100% - 40px) / 3); /* PC＝3列 */
  }
}

/* サムネイル */
.photo-grid__thumb {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 4px;
  background: #f5f5f5;
}
.photo-grid__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* キャプション */
.photo-grid__cap {
  text-align: center;
  font-size: 14px;
  color: #333;
  margin-top: 10px;
}
@media (min-width: 1024px) {
  .photo-grid__cap {
    font-size: 13px;
  }
}

/* リストのトップ余白調整 */
.wp-block-list {
	margin-top: 15px;
}






/* =========================
   取扱い業者一覧（スマホ基準）
   ========================= */
/* =========================================================
   取扱い業者一覧（3カラム構成：.dealer-col × 3）
   - スマホ：1列（縦に3ボックス）
   - PC：横並びで3カラム
   - 見出しは青、本文は濃いめグレー
   ========================================================= */

/* セクション外側 */
.dealer-list{
  margin: 40px 0;
  padding: 0 23px;
}
@media (min-width: 1024px){
  .dealer-list{
    margin: 48px 0;
    padding: 0 24px;
  }
}

/* タイトル */
.dealer-list__title{
  text-align: center;
  margin: 0 0 6px 0;
}
@media (min-width: 1024px){
  .dealer-list__title{
    margin-bottom: 8px;
  }
}

/* 注記 */
.dealer-list__note{
  text-align: center;
  font-size: 14px;
  color: #555;
  margin: 0 0 30px 0;
}
@media (min-width: 1024px){
  .dealer-list__note{
    margin-bottom: 70px;
  }
}

/* 3カラムのラッパー（スマホは縦積み、PCで横並び） */
.dealer-list__cols{
  display: flex;
  flex-direction: column;   /* SP：縦に3ボックス */
  gap: 24px;
  max-width: 1200px;
  margin: 0 auto;
}
@media (min-width: 1024px){
  .dealer-list__cols{
    flex-direction: row;     /* PC：横3カラム */
    gap: 0 48px;             /* 列間だけ広げる */
  }
}

/* 各カラムボックス（この中でセクションを縦積み） */
.dealer-col{
  display: flex;
  flex-direction: column;
  gap: 20px;
  width: 100%;
}
@media (min-width: 1024px){
  .dealer-col{
    flex: 1 1 0;             /* 3列を等幅に */
    min-width: 0;
  }
}

/* 各地域ブロック */
.dealer-list__block{
  margin: 0;
}
@media (min-width: 1024px){
  .dealer-list__block{
    /* PCは特に追加なし。必要ならここで微調整 */
  }
}

/* 地域見出し */
.dealer-list__heading{
  color: #005caa;
  font-weight: 700;
  font-size: 16px;
  margin: 0 0 8px 0;
}
@media (min-width: 1024px){
  .dealer-list__heading{
    font-size: 16px;   /* 同じでもOK。変更したければここで */
    margin-bottom: 10px;
  }
}

/* リスト本体 */
.dealer-list__block ul{
  margin: 0;
  padding-left: 1.3em;       /* 箇条書きの字下げ */
  list-style: disc outside;  /* ●マーク */
}
@media (min-width: 1024px){
  .dealer-list__block ul{
    padding-left: 1.3em;
  }
}

/* 各行 */
.dealer-list__block li{
  color: #3a302c;
  font-size: 15px;
  line-height: 1.6;
  margin: 0 0 4px 0;
  word-break: keep-all;      /* 社名の読点での改行を抑制 */
}
@media (min-width: 1024px){
  .dealer-list__block li{
    line-height: 1.65;
    margin-bottom: 5px;
  }
}

/* ブレイスレボ店舗一覧 */
/* ----- 店名リンクと住所表示の強化（最小追加） ----- */
.dealer-list__block li a{
  color: #3a302c;
  text-decoration: underline;
  font-weight: 600;
}
.dealer-list__block li a:focus,
.dealer-list__block li a:hover{
  text-decoration: none;
}

/* 住所行は小さめ・段落風に下げる */
.dealer-address{
  display: block;
  font-size: 14px;
  color: #555;
  margin-top: 2px;
}

/* 枝店がある場合のサブリスト */
.dealer-sublist{
  margin: 6px 0 8px 1.1em;   /* 親リストより少し内側 */
  padding-left: 0.9em;
  list-style: none !important; /* ●を完全に消す */
}
.dealer-sublist > li{
  position: relative;
  margin: 2px 0;
  padding-left: 1em;         /* 疑似要素分の余白 */
}
.dealer-sublist > li::before{
  content: "―";              /* マークとして線を表示 */
  position: absolute;
  left: 0;
  color: #3a302c;            /* 本文色に合わせる */
}
.dealer-branch{
  font-weight: 600;
  display: inline-block;
  margin-right: .3em;
}




/* =========================================================
   ブレイスレボ表＋画像ペアセクション
   ---------------------------------------------------------
   スマホ：縦並び
   PC：横並び（768px以上で切替）
   横幅縮小時：表も画像も等比で縮む
   ========================================================= */

/* セクション外枠 */
.scene-pair {
  margin: 32px 0;
}

/* 内側（スマホは縦積み） */
.scene-pair__inner {
  display: flex;
  flex-direction: column; /* スマホ＝縦 */
  gap: 16px;
  max-width: 1080px;
  margin: 0 auto;
}

/* 表（1ブロック単位） */
.scene-list {
  display: grid;
  row-gap: 16px;
}
.scene-item__ttl {
  background: #005caa;
  color: #fefefe;
  text-align: center;
  font-weight: 700;
  padding: 12px 10px;
  border-radius: 4px;
}
.scene-item__body {
  background: #f3faff;
  color: #3a302c;
  border: 1px solid #e7e7e7;
  border-radius: 4px;
  padding: 16px 18px;
  line-height: 1.8;
}

/* 画像 */
.scene-fig {
  margin: 0;
}
.scene-fig img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain; /* 比率維持・切れない */
}

/* =========================================================
   PC（768px以上）: 横並び＋等比縮小
   ========================================================= */
@media (min-width: 768px) {
  .scene-pair__inner {
    flex-direction: row;
    align-items: stretch;
    justify-content: center;
    gap: 24px;
  }

  /* 左右50%でバランスを取る */
  .scene-list,
  .scene-fig {
    flex: 1 1 50%;
    max-width: 50%;
  }

  /* 左：上揃え */
  .scene-list {
    align-self: start;
  }

  /* 右：画像は親に合わせて縮小・比率維持 */
  .scene-fig {
    display: flex;
    align-items: flex-start;
    justify-content: center;
  }

  .scene-fig img {
    width: 100%;
    height: auto;
    object-fit: contain;
  }
}


/* データセクション */
/* セクション */
.monitor {
  margin: 32px auto;
  padding: 0 5%;
  max-width: 1100px;
}



/* 見出し修正 */
body.page h2.monitor-title,
body.page h3.monitor-subtitle {
  text-align: center;
}

body.page h2.monitor-title {
	margin-bottom: 10px;
}

body.page h3.monitor-subtitle {
	margin: 0 0 30px;
	 font-family:var(--wp--preset--font-family--noto-serif-jp);
	font-weight: 700;
}

/* 内側：SP=縦並び */
.monitor__inner {
  display: flex;
  flex-direction: column;
}

/* PC=横並び */
@media (min-width: 1024px) {
  .monitor__inner {
    flex-direction: row;
    align-items: center;
    gap: 40px;
  }
  .monitor__text {
    flex: 1 1 50%;
  }
  .monitor__media {
    flex: 1 1 50%;
  }
}
/* ─────────────────────────────
   スマホだけ：monitor を h2→h3→画像→p の順に並べ替え
   ───────────────────────────── */
@media (max-width: 1023.98px) {
  /* グリッド化して行順を明示 */
  .monitor__inner {
    display: grid !important;
    grid-template-columns: 1fr;
    grid-template-areas:
      "title"
      "subtitle"
      "media"
      "body";
  }

  /* .monitor__text の中身（h2,h3,p）を直接グリッドの子に昇格 */
  .monitor__text {
    display: contents; /* 内包要素を親グリッドの直下扱いにする */
  }

  /* 各要素を割り当て */
  .monitor-title    { grid-area: title; }
  .monitor-subtitle { grid-area: subtitle; }
  .monitor__media   { grid-area: media; }
  .monitor__text p  { grid-area: body; }

  /* 画像サイズ調整（任意） */
  .monitor__media img {
    width: 100%;
    max-width: 420px;
    margin: 0 auto;
    display: block;
  }
}

/* 画像：比率維持 */
.monitor__media {
  margin: 0;
}
.monitor__media img {
  display: block;
  width: 100%;
  height: auto; /* 元の比率を必ず維持 */
}


/* データグラフ */
/* flexレイアウト */
.survey-stats__wrap{
  display:flex;
  flex-direction:column;
  gap:42px;
}
@media (min-width:768px){
  .survey-stats__wrap{
    flex-direction:row;
    justify-content:space-between;
    gap:40px;
  }
}

/* 各カード */
.stat{
  flex:1;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
}

/* スマホ時だけ固定幅にする */
@media (max-width: 767px){
  .stat{
    width: 90%;     /* ← 画面幅の90%に固定 */
    margin: 0 auto; /* 中央寄せ */
  }
}



/* グラフ画像 */
.stat__graph{ margin:0 0 8px; }
.stat__graph img{
  display:block;
  margin:0 auto;
  max-width:240px;
  width:100%;
  height:auto;
}

/* ブルーバー */
.stat__head{
  background:#005caa;
  color:#fefefe;
  text-align:center;
  padding:10px 12px;
  border-radius:2px;
  width:100%;
}

/* パーセント表示 */
.stat__value{
  background:#fefefe;
  color:#3a302c;
  border:1px solid #ddd;
  border-radius:2px;
  padding:22px 12px;
  font-size:clamp(24px,6vw,36px);
  font-weight:700;
  margin-top:8px;
  width:100%;
}



/* ---開発者紹介--- */
/* レイアウト：PC/スマホ共通で横並び */
.doctor-profile__wrap{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:25px;
}

@media (min-width:767px){
  .doctor-profile__wrap{
    gap:100px;
  }
}

/* テキスト */
.doctor-profile__line{
  margin:0;
  line-height:1.8;
  color:#005caa;
  font-weight:600;
  font-family:var(--wp--preset--font-family--noto-serif-jp);
}

/* スマホのみ改行 */
.linebreak-sp{
  display:none;
}
@media (max-width:767px){
  .linebreak-sp{
    display:block;
  }
}

/* 画像（右側） */
.doctor-profile__photo{ margin:0; }
.doctor-profile__photo img{
  display:block;
  width:140px;
  height:auto;
  border-radius:4px;
}


/* --- 手紙風メッセージ（シンプル版） --- */
.message.letter{
  background:#fffdf8; /* 柔らかい紙色 */
  font-family:var(--wp--preset--font-family--noto-serif-jp);
  color:#3a302c;
  padding:clamp(20px,4vw,40px);
  border-radius:10px;
  box-shadow:0 6px 18px rgba(0,0,0,.05);
}

.letter__inner{
  max-width:760px;
  margin:0 auto;
}

/* 段落の設定 */
.message.letter p{
  margin:0 0 1.6em;
  line-height:1.95;
  text-indent:1em;
  font-size:clamp(15px,2.6vw,17px);
}

/* 想いの強い部分を引用風に */
.letter__quote{
  text-indent:0;
  font-weight:600;
  color:#005caa;
  margin:2em auto;
  font-size:clamp(16px,3vw,18px);
  line-height:1.8;
}

/* 署名行 */
.letter__sign{
  text-indent:0;
  text-align:right;
  margin-top:2.2em;
  font-weight:600;
  color:#005caa;
}

/* =========================================================
   ブレイスレボサイズ表＋画像セクション
   ・SP：縦並び（画像 → 表）
   ・PC：横並び（表 左 / 画像 右）
   ========================================================= */

/* ラッパー */
.standard-size__inner{
  display:flex;
  flex-direction:column; /* SP：縦 */
  gap:20px;
  width: 100%;
  margin:0 auto;
}
@media (min-width:1024px){
  .standard-size__inner{
    flex-direction:row;  /* PC：横 */
    align-items:flex-start;
    gap:32px;
  }
}

/* 画像 */
.standard-size__image{ margin:0; }
@media (min-width:1024px){
  .standard-size__image{
    order:2;           /* PC：画像を右へ */
    flex:0 0 495px;    /* 画像側の見せ幅（調整可） */
	  padding-top: 3px;
  }
}
.standard-size__image img{
  display:block;
  width:100%;
  height:auto;         /* 比率維持 */
}

/* 表の入れ物 */
.standard-size__tablewrap{ }
@media (min-width:1024px){
  .standard-size__tablewrap{
    order:1;           /* PC：表を左へ */
    flex:1 1 0;        /* 左は可変 */
    min-width:0;
  }
}

/* 表本体（色指定は既存と同一ルール） */
.standard-size__table{
  width:100%;
  border-collapse:separate;
  border-spacing:4px;
}
.standard-size__table thead th{
  background:#005caa;
  color:#fefefe;
  text-align:center;
  padding:10px;
}
.standard-size__table tbody td{
  background:#f3faff;
  color:#3a302c;
  text-align:center;
  padding:10px;
  border:1px solid #ddd;
}

/* 備考 */
.standard-size__note{
  margin-top:8px;
  font-size:13px;
  color:#3a302c;
}


/* =========================================================
   注意テーブル（セクション全体）
   － 背景はページ側に任せる／中央寄せ・最大幅だけ制御
   ========================================================= */
.note-table{ margin:24px 0; }
.note-table__wrap{
  width: 100%;
  margin:0 auto;
}

/* =========================================================
   テーブル本体（見出し：青バー／本文：淡青ボックス）
   ========================================================= */
.note-table__table{
  width:100%;
  border-collapse:separate;   /* 角丸を綺麗に出すため separate */
  border-spacing:0;
}

/* 見出しセル（青バー） */
.note-table__table thead th{
  background:#005caa;
  color:#fefefe;
  text-align:center;
  font-weight:700;
  padding:12px 10px;
  border:1px solid #e7e7e7;
  border-bottom:none;         /* 下の本文セルと境界を一体化 */
  border-radius:4px 4px 0 0;  /* 上だけ角丸 */
}

/* 本文セル（淡青） */
.note-table__table tbody td{
  background:#f3faff;
  color:#3a302c;
  line-height:1.9;
  padding:16px 18px;
  border:1px solid #e7e7e7;
  border-radius:0 0 4px 4px;  /* 下だけ角丸 */
  word-break:break-word;      /* 溢れ対策 */
}


/* =============================
   ブレイスレボ投球サポーター購入ボタン固定（page-id-123,125,130）
   ============================= */
:is(.page-id-123, .page-id-125, .page-id-130) .shop-fab__toggle{
  display: none;
}

/* 共通ボタン（基礎） */
:is(.page-id-123, .page-id-125, .page-id-130) .shop-fab__btn{
  position: fixed;
  right: 14px;
  bottom: 14px;
  z-index: 10000;
  padding: 15px 30px;
  color: #fff;
  font-weight: 700;
  font-size: 16px;
  line-height: 1;
  border-radius: 9999px;
  background: linear-gradient(135deg, #5bc0de 0%, #004aad 100%);
  box-shadow: 0 6px 14px rgba(0,0,0,.22);
  cursor: pointer;
  user-select: none;
  transition: transform .25s ease, box-shadow .25s ease, opacity .25s ease;
}

/* =============================
   PC版ボタンサイズ＆ホバーアクション
   ============================= */
@media (min-width: 768px){
  :is(.page-id-123, .page-id-125, .page-id-130) .shop-fab__btn{
    font-size: 17px;
    padding: 18px 38px;
    box-shadow: 0 6px 16px rgba(0,0,0,.25);
  }

  /* ホバーアクション：ふわっと浮く＋光る */
  :is(.page-id-123, .page-id-125, .page-id-130) .shop-fab__btn:hover{
    transform: translateY(-4px);
    opacity: 0.95;
    box-shadow: 0 10px 24px rgba(0,0,0,.28), 0 0 10px rgba(91,192,222,.4);
    background: linear-gradient(135deg, #6ed2ef 0%, #0058b2 100%);
  }
}

/* =============================
   購入パネル（下からスライド）
   ============================= */
:is(.page-id-123, .page-id-125, .page-id-130) .shop-fab__panel{
  position: fixed;
  right: 10px;
  bottom: 10px;
  z-index: 10001;
  width: min(86vw, 340px);
  transform: translateY(120%);
  transition: transform .25s ease;
  pointer-events: none;
}
:is(.page-id-123, .page-id-125, .page-id-130) .shop-fab__panel-inner{
  background: #fff;
  border-radius: 8px;
  padding: 10px;
  box-shadow: 0 12px 28px rgba(0,0,0,.28);
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}
:is(.page-id-123, .page-id-125, .page-id-130) .shop-fab__item img{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 6px;
  border: 1px solid rgba(0,0,0,0.1); /* 薄い枠線 */
  transition: transform .2s ease, box-shadow .2s ease;
}
:is(.page-id-123, .page-id-125, .page-id-130) .shop-fab__item:hover img{
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0,0,0,.18);
}

/* 閉じるボタン */
:is(.page-id-123, .page-id-125, .page-id-130) .shop-fab__close{
  position: absolute;
  top: -10px;
  right: -10px;
  width: 32px;
  height: 32px;
  border-radius: 9999px;
  background: #333;
  color: #fff;
  font-weight: 700;
  display: grid;
  place-items: center;
  box-shadow: 0 4px 10px rgba(0,0,0,.25);
  cursor: pointer;
}

/* 開閉アニメーション */
:is(.page-id-123, .page-id-125, .page-id-130) #shop-fab-toggle:checked ~ .shop-fab__panel{
  transform: translateY(0);
  pointer-events: auto;
}

/* ===== レスポンシブ調整 ===== */
@media (min-width: 768px){
  :is(.page-id-123, .page-id-125, .page-id-130) .shop-fab__panel{
    width: 300px;
    bottom: 20px;
    right: 20px;
  }
}

@media print{
  :is(.page-id-123, .page-id-125, .page-id-130) .shop-fab__btn,
  :is(.page-id-123, .page-id-125, .page-id-130) .shop-fab__panel{
    display: none !important;
  }
}

/* フッター接触時アクション */
/* 通常状態（表示中） */
.shop-fab__btn {
  transition:
    opacity 0.45s ease,
    transform 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.3s ease;
  opacity: 1;
  transform: translateX(0);
}

/* 非表示状態（右方向にスライドして消える） */
.shop-fab__btn.is-hidden {
  opacity: 0;
  transform: translateX(100px); /* ←右に逃がす */
  pointer-events: none;
  box-shadow: none;
}



/* ひざサポーター使用できない方BOX */
.kneex-box {
  background: #f8eaee;
  border-radius: 2px;
  padding: 15px 35px;
}

.kneex-box__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

@media (min-width: 769px) {
  .kneex-box__inner {
    flex-direction: row;
    justify-content: space-between;
    align-items: center; /* 縦中央 */
  }
}

.kneex-box__title {
  color: #b90b09;
  font-family: var(--wp--preset--font-family--noto-serif-jp);
  font-weight: 700;
  font-size: 18px;
  margin-bottom: 10px;
}

.kneex-dot {
  color: #b90b09;
  margin-right: 4px;
}

.kneex-box p {
  color: #3a302c;
  line-height: 1.8;
  margin-bottom: 8px;
}

.kneex-box img {
  width: 180px;
  height: auto;
  display: block;
}

/* ひざサポーター製品の仕様(肘サポベースに最小追記) */
/* 画像2枚レイアウト（SP=2カラム、PC=横並び） */
.standard-size__images{
  display: grid;
  grid-template-columns: 1fr 1fr;  /* SP: 2列 */
  gap: 10px;
  margin: 0;
}
.standard-size__image{ margin:0; }
.standard-size__image img{
  display:block;
  width:100%;
  height:auto;
}

/* PCでは右カラムとして幅指定（既存に合わせる） */
@media (min-width:769px){
  .standard-size__images{
    order: 2;              /* 右側へ */
    flex: 0 0 495px;       /* 既存の画像幅と整合 */
    display: flex;         /* PCはフレックスで横並び */
    gap: 16px;
  }
  .standard-size__image{
    flex: 1 1 0;
  }
}



/* ビークシールド */
/* ==============================
   フィット調整ガイド
============================== */
.fix-guide {
  width: 100%;
  margin: 40px auto;
  max-width: 1200px;
  text-align: center;
  font-family: var(--wp--preset--font-family--noto-serif-jp);
  font-weight: 600;
}

/* 上段（2枚並び） */
.fix-guide__row {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
@media (min-width: 768px) {
  .fix-guide__row {
    flex-direction: row;
    justify-content: center;
    gap: 20px;
  }
}

.fix-guide__item {
  flex: 1;
}

.fix-guide__title {
  background: #005caa;
  color: #fff;
  font-size: 16px;
  padding: 6px 0;
  margin: 0 0 6px;
  border-radius: 2px;
}

.fix-guide__item img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 2px;
}

/* 注意ブロック */
.fix-guide__note {
  background: #f3faff;
  border-radius: 2px;
  padding: 20px 15px;
  margin-top: 50px;
}


.fix-guide__inner {
  border-radius: 2px;
  padding: 0 16px 16px 16px;
  box-shadow: 0 4px 10px rgba(0,0,0,.05);
}

.fix-guide__inner img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 auto;
}

@media (min-width: 768px) {
.fix-guide__inner img {
	width: 600px;
	}
}
	
.fix-guide__warn {
  color: #e4007f;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.7;
}




/* aboutページ */
.about {
  padding-block: clamp(40px, 8vw, 80px);
}

/* ───────────────
   about__inner：SP→PC
──────────────── */
.about__inner {
  display: flex;
  flex-direction: column;
  gap: clamp(20px, 4vw, 32px);
}
@media (min-width: 768px) {
  .about__inner {
    flex-direction: row;
    align-items: flex-start;
    gap: clamp(28px, 5vw, 64px);
  }
}

/* ───────────────
   見出し
──────────────── */
body.page .about h2.wp-block-heading {
  margin: 0 0 12px 0;
	text-align: center;
}

body.page .about h3.wp-block-heading {
  font-family: var(--wp--preset--font-family--noto-serif-jp);
  font-weight: 700;
	text-align: center;
}

/* ───────────────
   スマホ画像（h3下）
──────────────── */
.about__image--sp {
  display: block;
  margin-bottom: clamp(20px, 4vw, 32px);
}
.about__image--sp img {
  width: 100%;
  height: auto;
  border-radius: 2px;
}
@media (min-width: 968px) {
  .about__image--sp {
    display: none;
  }
}

/* ───────────────
   PC画像（右カラム）
──────────────── */
.about__image--pc {
  display: none;
}
@media (min-width: 968px) {
  .about__image--pc {
    display: block;
    flex: 1 1 44%;
  }
  .about__image--pc img {
    width: 100%;
    height: auto;
    border-radius: 2px;
    object-fit: cover;
  }
}

/* ───────────────
   左カラム
──────────────── */
.about__left {
  flex: 1 1 56%;
}


/* =========================
   代表メッセージ（SP→PC）
========================= */
.ceo {
  margin: clamp(40px, 8vw, 80px) 0;
}

.ceo__inner {
  display: flex;
  flex-direction: column;
  gap: clamp(20px, 4vw, 32px);
}

@media (min-width: 768px) {
  .ceo__inner {
    flex-direction: row;
    align-items: flex-start;
    gap: clamp(32px, 5vw, 64px);
  }
}

/* ---------- 画像（PC用） ---------- */
.ceo__photo {
  display: none; /* SPでは非表示 */
}

@media (min-width: 768px) {
  .ceo__photo {
    display: block;
    flex: 0 0 38%;
  }

  .ceo__photo img {
    width: 100%;
    height: auto;
    border-radius: 6px;
    object-fit: cover;
  }
}

/* ---------- 画像（SP用：h3の下） ---------- */
.ceo__photo--sp {
  display: block;
  margin: clamp(16px, 4vw, 24px) 0;
}

.ceo__photo--sp img {
  width: 100%;
  height: auto;
  border-radius: 6px;
  object-fit: cover;
}

@media (min-width: 768px) {
  .ceo__photo--sp {
    display: none;
  }
}

/* ---------- テキスト側 ---------- */
.ceo__text {
  flex: 1 1 62%;
}

body.page .ceo h2.wp-block-heading {
  margin: 0 0 10px 0;
  text-align: center;
}

body.page .ceo h3.wp-block-heading {
  font-family: var(--wp--preset--font-family--noto-serif-jp);
  font-weight: 700;
  margin-top: 5px;
	text-align: center;
  color: var(--wp--preset--color--custom-h-3);
}

/* ---------- 手紙本文 ---------- */
.ceo__letter {
  padding: 0;
  background: transparent;
  box-shadow: none;
}

.ceo__letter .letter__inner {
  max-width: none;
  margin: 0;
}

.ceo__letter .letter__inner p {
  margin-bottom: 1.4em;
  color: #3a302c;
}



/* =========================
   沿革：年ごと＋巨大数字（SP→PC）
========================= */
.history.history--yeargroup { margin: clamp(40px, 8vw, 96px) 0; }

/* 沿革セクション：h2とh3の間を詰める */
.history h2.wp-block-heading + h3.wp-block-heading {
  margin-top: 4px; /* 必要なら0でもOK */
}

/* さらに全体の見出し間隔を調整したい場合 */
.history h2.wp-block-heading {
  margin-bottom: 6px; /* h2の下を詰める */
}
.history h3.wp-block-heading {
  margin-top: 0;      /* h3の上を詰める */
}


.history.history--yeargroup .history__inner{
  display:flex;
  flex-direction:column;
}

.history.history--yeargroup .history__inner > .history-year{
  margin-top: clamp(18px, 4vw, 28px);
}

/* 見出し（スコープ限定） */
body.page .history.history--yeargroup h2.wp-block-heading{ margin:0 0 6px; }
body.page .history.history--yeargroup h3.wp-block-heading{
  font-family: var(--wp--preset--font-family--noto-serif-jp);
  font-weight:700; margin-top:5px; color: var(--wp--preset--color--custom-h-3);
}

/* ==== 年ブロック ==== */
.history-year{
  display:grid;
  grid-template-columns: 1fr;   /* SP：1列 */
  gap: 12px;
  position:relative;
  padding-left: 6px;            /* SPのライン余白 */
}

/* PC：年（左）＋イベント（右）に分割し中央にライン */
@media (min-width: 1024px){
  .history-year{
    grid-template-columns: minmax(140px, 240px) 1fr;
    align-items:start;
    gap: clamp(16px, 3vw, 28px);
    padding-left: 0;
  }
  .history-year::before{
    content:"";
    position:absolute;
    top: 4px; left:273px; bottom: 0;
    width: 2px;
    background: #e6f0fb;
    transform: translateX(0);
  }
}

/* 年の巨大数字 */
.history-year__num{
  font-family: var(--wp--preset--font-family--noto-serif-jp);
  font-weight: 700;
  color:#bcd3ef;                 /* 薄いブルーで品よく */
  line-height:1;
  letter-spacing:.02em;
  font-size: clamp(42px, 12vw, 84px);   /* ←デカくインパクト */
  margin: 10px 0 0;
}
@media (min-width: 1024px){
  .history-year__num{
    text-align:right;
    margin: -15px 0 0;
	padding-bottom: 30px;
    font-size: clamp(72px, 9vw, 120px); /* PCではさらにドンと */
  }
}

/* イベントリスト（右） */
.history-year__events{
  list-style:none; margin:0; padding: 0 0 0 18px; position:relative;
  display:grid; row-gap: 12px;
}
/* SPの縦ライン */
.history-year__events::before{
  content:"";
  position:absolute; left:0; top: 6px; bottom: 6px;
  width:2px; background:#e6f0fb;
}
/* PCでは中央ラインに寄せる（年ブロックの::beforeが中央ライン） */
@media (min-width: 1024px){
  .history-year__events{ padding-left: clamp(22px, 2vw, 28px); }
  .history-year__events::before{ display:none; }
}

/* 各イベント行 */
.history-year__events li{
  background:#fff;
  border-radius:10px;
  box-shadow:0 6px 20px rgba(16,24,40,.06);
  padding: clamp(12px, 2.8vw, 16px) clamp(14px, 3vw, 18px);
  position:relative;
}

/* ドット（ライン接続） */
.history-year__events li::before{
  content:"";
  position:absolute;
  left:-25px; top: 3px;
  width:12px; height:12px; border-radius:50%;
  background:#fff; border:2px solid #005caa;
}
@media (min-width: 1024px){
  .history-year__events li::before{
    left: calc(-1 * clamp(22px, 2vw, 28px));
    transform: translateX(-2px); /* 中央ライン側に寄せる */
  }
}

/* テキスト */
.history-year__events time{
  display:block; color:#005caa; font-weight:700;
  font-family: var(--wp--preset--font-family--noto-serif-jp);
  margin-bottom:4px; letter-spacing:.02em;
}
.history-year__events p{ margin:0; line-height:1.9; color:#3a302c; }
.history-year__events p strong{ font-weight:700; }





/* ===== 会社概要 ===== */
:root{
  --cp-blue: #005caa;
  --cp-white: #ffffff;
  --cp-body: #3a302c;
  --cp-border: #e7e7e7;
}

.company-profile{
  margin: clamp(32px, 6vw, 64px) 0;
  color: var(--cp-body);
  font-family: var(--wp--preset--font-family--noto-serif-jp);
}

.company-profile__title{
  text-align: center;
  margin: 0 0 clamp(16px, 3vw, 24px);
  font-weight: 600;
}

.company-profile__table{
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 14px;
  table-layout: fixed;
  font-size: clamp(14px, 2.4vw, 15px);
}

/* 左カラム（青帯） */
.company-profile__col--head{ width: 220px; }
.company-profile__table th{
  background: var(--cp-blue);
  color: var(--cp-white);
  font-weight: 700;
  text-align: center;
  padding: 14px 10px;
  border-radius: 2px;
  vertical-align: middle;
  white-space: nowrap;
}

/* 右カラム（罫線付き） */
.company-profile__table td{
  background: transparent;
  border-bottom: 1px solid var(--cp-border);
  padding: 14px 50px;
  font-weight: 500;
  vertical-align: middle;
  border-radius: 2px;
}

/* SP対応 */
@media (max-width: 720px){
  .company-profile__col--head{ width: 29%; }
  .company-profile__table{
    border-spacing: 0 10px;
  }
  .company-profile__table th{ padding: 12px 8px; }
  .company-profile__table td{ padding: 12px 14px; }
}

:root{
  --cp-blue:#005caa; --cp-white:#fff; --cp-body:#3a302c; --cp-border:#e7e7e7;
}

.company-profile{
  margin:clamp(24px,5vw,48px) 0;
  color:var(--cp-body);
  font-family:var(--wp--preset--font-family--noto-serif-jp);
}

/* テーブル本体：行間に余白、上部のグレー線は無し */
.company-profile__table{
  width:100%;
  border-collapse:separate;
  border-spacing:0 14px;      /* 行間の余白 */
  table-layout:fixed;
  font-size:clamp(14px,2.4vw,15px);
}

/* 左カラム（青帯） */
.company-profile__col--head{ width:220px; }
.company-profile__table th{
  background:var(--cp-blue);
  color:var(--cp-white);
  font-weight:700;
  text-align:center;
  padding:14px 10px;
  border-radius:2px;
  white-space:nowrap;
  vertical-align:middle;
}

/* 右カラム（下罫線のみ・角丸2px） */
.company-profile__table td{
  background:transparent;
  border-bottom:1px solid var(--cp-border);
  padding:14px 50px;
  font-weight:500;
  vertical-align:middle;
  border-radius:2px;
}

/* 電話リンク */
.tel-link{ color:inherit; text-decoration:underline;text-decoration: none; }
.tel-link:hover{ text-decoration:none; opacity:.9; }

/* SP */
@media (max-width:720px){
  .company-profile__col--head{ width:29%; }
  .company-profile__table{ border-spacing:0 10px; }
  .company-profile__table th{ padding:12px 8px; }
  .company-profile__table td{ padding:12px 14px; }
}



/* ===== Privacy basic ===== */
.privacy{
  margin: clamp(32px, 6vw, 64px) 0;
  color: #3a302c;
  font-family: var(--wp--preset--font-family--noto-serif-jp);
}
.privacy__inner{
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
	padding: 0 0 90px 0
}
@media (min-width:720px){
	.privacy__inner{
	padding: 90px 0
	}
}
.privacy__title{
  margin: 0 0 4px;
  font-weight: 700;
  text-align: center;
  color: #005caa;
}
.privacy__updated{
  margin: 0 0 18px;
  font-size: 14px;
  text-align: center;
  color: #666;
}
.privacy__lead{
  background: #fffdf8;
  border-radius: 8px;
  padding: clamp(14px, 3.6vw, 18px);
  box-shadow: 0 6px 18px rgba(0,0,0,.05);
  margin: 0 0 clamp(18px, 4vw, 28px);
  line-height: 1.9;
}
.privacy h2{
  margin: clamp(18px, 4vw, 24px) 0 8px;
  font-size: clamp(18px, 3.6vw, 20px);
  font-weight: 700;
  color: #005caa;
}
.privacy p{
  margin: 0 0 12px;
  line-height: 1.9;
}
.privacy__list{
  margin: 0 0 12px 1.2em;
  padding: 0;
}
.privacy__list li{
  margin: 0 0 6px;
}
.privacy__address{
  font-style: normal;
  border-left: 4px solid #e6f0fb;
  padding: 10px 12px;
  background: #f9fbff;
  border-radius: 6px;
}
