@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/


/* ============================================================
   メンズ脱毛ラボ — Design Tokens
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Inter:wght@400;500;600;700&display=swap');

:root {
  --brand:         #0E7C86;
  --brand-ink:     #0A5A62;
  --brand-tint:    #E6F3F4;
  --brand-tint-2:  #CFE6E9;

  --accent:        #E87A3E;
  --accent-ink:    #C65F27;
  --accent-tint:   #FDEEE4;

  --ink:           #11161A;
  --ink-2:         #3B454C;
  --ink-3:         #6B7680;
  --ink-4:         #9AA3AB;

  --line:          #E5E8EB;
  --surface:       #FFFFFF;
  --surface-2:     #F7F8F9;

  --font-jp:  'Noto Sans JP', -apple-system, BlinkMacSystemFont, 'Hiragino Kaku Gothic ProN', sans-serif;
  --font-ui:  'Inter', 'Noto Sans JP', sans-serif;

  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;

  --shadow-1: 0 1px 2px rgba(17,22,26,.06);
  --shadow-2: 0 4px 12px rgba(17,22,26,.06), 0 1px 2px rgba(17,22,26,.04);
}

body { font-family: var(--font-jp); }

/* ===== ロゴ＋サイト名 ===== */
.mdl-logo-inner {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
}
.mdl-logo-icon {
  width: 48px;
  height: 48px;
  flex-shrink: 0;
}
.mdl-logo-text {
  display: flex;
  flex-direction: column;
  line-height: 1.2;
}
.mdl-logo-title {
  font-family: var(--font-jp);
  font-size: 18px;
  font-weight: 700;
  color: #11161A;
  letter-spacing: -0.01em;
}
.mdl-logo-sub {
  font-family: var(--font-ui);
  font-size: 11px;
  font-weight: 500;
  color: var(--brand);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* ===== ヘッダー余白削減 ===== */
.l-header__logo { padding: 8px 0 !important; }
.l-header__inner { min-height: unset !important; }

/* ===== ランキング・比較記事 スタイル ===== */
.swell-block-ranking { display: flex; flex-direction: column; gap: 24px; }

.ranking-item {
  border: 2px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 24px;
  background: var(--surface);
  box-shadow: var(--shadow-2);
}
.ranking-item.rank-1 { border-color: var(--brand); }
.ranking-item.rank-2 { border-color: #9AA3AB; }
.ranking-item.rank-3 { border-color: #C68A10; }

.rank-badge {
  display: inline-block;
  background: var(--brand);
  color: #fff;
  font-family: var(--font-ui);
  font-size: 13px;
  font-weight: 700;
  padding: 3px 12px;
  border-radius: var(--radius-pill);
  margin-bottom: 10px;
}
.rank-badge-2 { background: #9AA3AB; }
.rank-badge-3 { background: #C68A10; }
.rank-badge-4, .rank-badge-5 { background: var(--ink-3); }

.clinic-name {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 8px;
  color: var(--ink);
}
.clinic-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
.tag {
  font-size: 12px;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: var(--radius-pill);
  background: var(--brand-tint);
  color: var(--brand-ink);
}

.clinic-table { width: 100%; border-collapse: collapse; margin-bottom: 12px; font-size: 14px; }
.clinic-table th, .clinic-table td { padding: 6px 10px; border-bottom: 1px solid var(--line); text-align: left; }
.clinic-table th { width: 40%; color: var(--ink-2); }

.clinic-comment { font-size: 14px; color: var(--ink-2); line-height: 1.8; margin-bottom: 16px; }

.cta-btn {
  display: block;
  text-align: center;
  padding: 14px;
  border-radius: var(--radius-md);
  font-weight: 700;
  font-size: 15px;
  text-decoration: none !important;
  background: var(--brand);
  color: #fff !important;
  transition: background 0.2s;
}
.cta-btn:hover { background: var(--brand-ink); }

/* ===== FAQ ===== */
.faq-block { display: flex; flex-direction: column; gap: 16px; }
.faq-item { border: 1px solid var(--line); border-radius: var(--radius-md); overflow: hidden; }
.faq-q {
  background: var(--brand-tint);
  color: var(--brand-ink);
  font-weight: 700;
  padding: 12px 16px;
  font-size: 15px;
}
.faq-q::before { content: Q. ; }
.faq-a { padding: 12px 16px; font-size: 14px; line-height: 1.8; color: var(--ink-2); }

/* ===== 比較表 ===== */
.comparison-table table { font-size: 14px; }
.comparison-table th { background: var(--brand); color: #fff; }

/* ===== 吹き出し（キャラコメント） ===== */
.mdl-balloon {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin: 28px 0;
}
.mdl-balloon__icon {
  width: 64px;
  text-align: center;
  flex-shrink: 0;
}
.mdl-balloon__icon img {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid #0E7C86;
}
.mdl-balloon__icon span {
  display: block;
  font-size: 11px;
  color: #6B7680;
  margin-top: 4px;
  font-weight: 600;
}
.mdl-balloon__body {
  background: #f0fafa;
  border: 2px solid #0E7C86;
  border-radius: 0 12px 12px 12px;
  padding: 14px 18px;
  position: relative;
  flex: 1;
  font-size: 14px;
  line-height: 1.8;
}
.mdl-balloon__body::before {
  content: '';
  position: absolute;
  left: -12px;
  top: 16px;
  border: 6px solid transparent;
  border-right-color: #0E7C86;
}
.mdl-balloon__body strong { color: #0E7C86; }

/* ===== チェックボックス（このページでわかること） ===== */
.mdl-check-box {
  background: #f8fdfd;
  border-left: 4px solid #0E7C86;
  border-radius: 0 8px 8px 0;
  padding: 16px 20px 16px 24px;
  margin: 20px 0;
}
.mdl-check-box .mdl-check-box__title {
  font-weight: 700;
  font-size: 15px;
  color: #0E7C86;
  margin-bottom: 10px;
}
.mdl-check-box ul { margin: 0; padding-left: 1.2em; }
.mdl-check-box li { font-size: 14px; margin-bottom: 6px; line-height: 1.7; }

/* ===== 中間CTA ===== */
.mdl-cta-mid {
  text-align: center;
  background: linear-gradient(135deg, #f0fafa 0%, #fff8f3 100%);
  border: 1px solid #c8e6e9;
  border-radius: 12px;
  padding: 20px 24px;
  margin: 32px 0;
}
.mdl-cta-mid .mdl-cta-mid__label {
  font-size: 12px;
  color: #6B7680;
  margin-bottom: 8px;
}
.mdl-cta-mid .cta-btn { max-width: 400px; margin: 0 auto; }

/* ===== 注意ボックス ===== */
.mdl-warn-box {
  background: #fff8f3;
  border-left: 4px solid #E87A3E;
  border-radius: 0 8px 8px 0;
  padding: 14px 18px;
  margin: 20px 0;
  font-size: 14px;
  line-height: 1.8;
}
.mdl-warn-box::before { content: '⚠️ '; }
