/*
Theme Name: switch_tcd063 Child
Template: switch_tcd063
Version: 1.3 (cleaned)
*/

.p-global-nav > ul > li > a:hover {
    color: #636363 !important;
}

.p-btn {
    font-weight: 700;
}

/* =========================================================
   Review 共通カード（single / archive 共通）
   =======================================================*/
.review-card{
  max-width:780px;
  margin:24px auto 40px;
  background:#fff;
  border-radius:14px;
  box-shadow:0 10px 28px rgba(0,0,0,.07);
  overflow:hidden;
}
.review-card__media{display:block; margin:0; position:relative; background:#f6f7f8;}
.review-card__img{display:block; width:100%; height:220px; object-fit:cover;}
.review-card__body{padding:24px 26px;}
.review-card__title{
  font-size:clamp(16px, 1.9vw, 22px);
  line-height:1.35;
  margin:2px 0 12px;
  font-weight:700;
  color:#374151;
}
.review-card__title a{color:inherit; text-decoration:none;}

.review-card__meta-row{
  display:flex; gap:10px; align-items:baseline;
  padding:6px 0;
  border:none;                 /* 行ごとの下線は基本なし */
  font-size:14px; line-height:1.75;
}
.review-card__meta-row + .review-card__meta-row{
  margin-top:6px; padding-top:6px;
  border-top:1px dashed #eef1f4;  /* 区切りは上側にのみ */
}
.review-card__meta-row dt{min-width:7em; color:#6b7280; font-weight:600;}
.review-card__meta-row dd{margin:0; color:#374151;}
/* 企画テーマの行だけ下に点線を引く */
.review-card__meta-row--theme{border-bottom:1px dashed #eef0f2; padding-bottom:10px; margin-bottom:12px;}

/* ===== 本文（悩み・感想・メッセージ） ===== */
.review-card__section{
  margin:22px 0 26px; padding:16px 18px;
  background:#fafbfc; border:1px solid #eef2f7; border-radius:12px;
}
.review-card__section h2{
  margin:0 0 10px; font-size:13px; letter-spacing:.02em; font-weight:700; color:#6b7280;
}
.review-card__text{ color:#111827; font-size:16.5px; line-height:2.0; }
.review-card__text p{ margin:.55em 0; }

/* 本文段落（アーカイブ＆トップでも使用） */
.review-card__content{ font-size:15px; line-height:1.8; color:#333; }
.review-card__content p{ margin:0 0 20px; }
.review-card__content p:last-child{ margin-bottom:0; }

/* “続きを読む”は使わない想定なら非表示 */
.review-card__more, .review-card__button{ display:none !important; }

/* ★（レビュー感） */
.review-card__stars{ margin:4px 0 10px; line-height:1; letter-spacing:1px; font-size:18px; }
.review-card__stars span{ color:#F7C948; margin-right:2px; }

/* Responsive（カード共通） */
@media (max-width:767px){
  .review-card{ margin:8px auto 28px; }
  .review-card__img{ height:160px; }
  .review-card__body{ padding:18px; }
  .review-card__meta-row{ font-size:13px; }
  .review-card__text{ font-size:15.5px; line-height:1.95; }
}

/* =========================================================
   見出し・ページャ（/reviews 一覧）
   =======================================================*/
.review-archive__head{ max-width:780px; margin:0 auto 16px; }
.review-archive__title{ font-size:clamp(18px, 2.2vw, 24px); font-weight:800; margin:0; }
.review-archive__pagination{ max-width:780px; margin:24px auto; }

/* =========================================================
   メニューとの重なりを防ぐ “保険のパディング”
   =======================================================*/
body.single-review .l-main{ padding-top:80px; }
body.post-type-archive-review .l-main{ padding-top:80px; }
@media (max-width:767px){
  body.single-review .l-main,
  body.post-type-archive-review .l-main{ padding-top:64px; }
}
@media (min-width:783px){
  body.admin-bar.single-review .l-main,
  body.admin-bar.post-type-archive-review .l-main{ padding-top:calc(80px + 32px); }
}

/* =========================================================
   Front: トップ「最新レビュー」スライダー
   =======================================================*/
.front-reviews{ margin:60px auto 180px; position:relative; max-width:1200px; }
.front-reviews__title{ font-size:1.6rem; font-weight:700; margin:0 0 20px; text-align:center; }

/* 横幅は他セクションと合わせて中央寄せ */
.front-reviews__slider{ max-width:1100px; margin:0 auto; }

/* 高さ揃え（slick内） */
.front-reviews__slider .slick-track{ display:flex !important; align-items:stretch; }
.front-reviews__slider .slick-slide{ height:auto !important; display:flex !important; }
.front-reviews__slider .review-card{
  margin:0 10px; border-radius:10px;
  background:#fff; box-shadow:0 4px 12px rgba(0,0,0,.05);
  overflow:hidden; display:flex; flex-direction:column; width:100%; height:100%;
}
.front-reviews__slider .review-card__body{
  flex:1; display:flex; flex-direction:column; justify-content:flex-start;
}

/* 画像高さ（トップ用） */
.front-reviews__slider .review-card__media{ flex-shrink:0; }
.front-reviews__slider .review-card__img{ height:160px; }
@media (max-width:1024px){ .front-reviews__slider .review-card__img{ height:150px; } }
@media (max-width:600px){  .front-reviews__slider .review-card__img{ height:140px; } }

/* 矢印（見える色で内側配置） */
.front-reviews .slick-prev,
.front-reviews .slick-next{
  position:absolute; top:50%; transform:translateY(-50%);
  z-index:20; width:38px; height:38px; border-radius:50%;
  background:#fff; border:1px solid #cbd5e1; box-shadow:0 2px 8px rgba(0,0,0,.12);
  color:#334155; line-height:36px; text-align:center; font-size:20px;
}
.front-reviews .slick-prev{ left:8px; }
.front-reviews .slick-next{ right:8px; }
.front-reviews .slick-prev::before,
.front-reviews .slick-next::before{ color:#334155 !important; opacity:1 !important; }
.front-reviews .slick-prev:hover,
.front-reviews .slick-next:hover{ background:#f7f7f7; }
@media (max-width:1200px){
  .front-reviews .slick-prev{ left:-30px; }
  .front-reviews .slick-next{ right:-30px; }
}
@media (max-width:700px){
  .front-reviews .slick-prev{ left:6px;}
  .front-reviews .slick-next{ right:6px;}
}

/* ドット（ページ数）を中央下に */
.front-reviews__dots{ text-align:center; margin-top:16px; }
.front-reviews .slick-dots{ position:static !important; margin:16px 0 40px !important; }
.front-reviews .slick-dots li{ display:inline-block; margin:0 6px; }
.front-reviews .slick-dots button:before{
  font-size:10px; color:#94a3b8; opacity:1;
}
.front-reviews .slick-dots .slick-active button:before{ color:#0f172a; }

/* タイトルを隠すカード（トップ用オプション） */
.review-card--mini .review-card__title{ display:none; }


/* ====== Front レビュー・スライダー：矢印を ::before で描画（重複解消） ====== */
.front-reviews .slick-prev,
.front-reviews .slick-next{
  position:absolute; top:50%; transform:translateY(-50%);
  z-index:20;
  width:38px; height:38px; border-radius:50%;
  background:#fff; border:1px solid #cbd5e1; box-shadow:0 2px 8px rgba(0,0,0,.12);
  color:#334155; line-height:36px; text-align:center;
  font-size:0; /* ← ボタン自身の文字は消す（重複防止） */
}
.front-reviews .slick-prev{ left:8px; }
.front-reviews .slick-next{ right:8px; }

.front-reviews .slick-prev::before,
.front-reviews .slick-next::before{
    display: inline-block;
    font-size: 28px;
    padding-top: 0px;
    line-height: 1;
    color: #334155 !important;
    opacity: 1 !important;
    content: '';                  /* 基本は空で個別に上書き */
}
.front-reviews .slick-prev::before{ content:'‹'; }
.front-reviews .slick-next::before{ content:'›'; }

.front-reviews .slick-prev:hover,
.front-reviews .slick-next:hover{ background:#f7f7f7; }

/* ====== ドット（…）の大きさ＆中央配置を調整 ====== */
.front-reviews__dots{ text-align:center; margin-top:16px; }
.front-reviews .slick-dots{
  position:static !important;     /* 右下へ固定されるのを防ぐ */
  margin:16px 0 40px !important;
}
.front-reviews .slick-dots li{ display:inline-block; margin:0 6px; }
.front-reviews .slick-dots button{
  width:auto; height:auto;        /* Slick 既定の丸を使う */
}
.front-reviews .slick-dots button:before{
  font-size:50px;                 /* ← 大きく見やすく */
  color:#94a3b8;                  /* 薄いグレー */
  opacity:1;
}
.front-reviews .slick-dots .slick-active button:before{
  color:#0f172a;                  /* アクティブは濃く */
}

@media (max-width:700px){
  .front-reviews .slick-prev,
  .front-reviews .slick-next{ display:none !important; }
}

.review-card__meta--inline .review-card__meta-row {
  display: flex;
  gap: 16px;          /* 名前とテーマの間隔 */
  font-size: 14px;
  line-height: 1.6;
  flex-wrap: nowrap;  /* 折り返さない */
}

.review-card__meta-item {
  color: #374151;
  white-space: nowrap; /* 途中で改行させない */
}

dl.review-card__meta.review-card__meta--inline {
    margin-top: -6px;
    margin-bottom: 10px;
}

.review-inner{
  position: relative;
  width: 90%;
  max-width: 1280px;
  margin-right: auto;
  margin-left: auto;
  margin-top: 40px;
}

@media (max-width:700px){
.review-inner{
  margin-top: 0;
}
}