@charset "utf-8";

/* =========================
   Minimal Base
========================= */
:root{
  --text:#111;
  --muted:#666;
  --line:#e6e6e6;
  --bg:#fff;
  --soft:#fafafa;
}

*{ box-sizing:border-box; }
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:"Zen Kaku Gothic Antique", sans-serif;
  font-weight:500;
  letter-spacing:.02em;
}

/* Layout */
#container {
    width: 100%;
    padding-top: 60px;
}
.section{
  padding:48px 0;
  border-top:1px solid var(--line);
}
.section:first-of-type{ border-top:none; }
.section-inner{
  max-width:720px; /* 横間延び対策 */
  margin:0 auto;
  padding:0 20px;
}


/* MV */
#mv{
  border-bottom:1px solid var(--line);
  background:var(--bg);
}
.mv-inner{
  max-width:960px;
  margin:0 auto;
  padding:24px 20px;
}
.mv-inner img{
  width:100%;
  height:auto;
  display:block;
}

/* Typography */
h1 {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.75;
    margin: 0 0 12px;
}
.section-heading{
  font-size:1.3rem;         /* 見出しを少し大きく */
  font-weight:700;
  margin:0 0 20px;
  padding-bottom:10px;
  border-bottom:1px solid var(--line);
  letter-spacing:.08em;
}
p{
  font-size:1rem;
  line-height:1.85;
  margin:0 0 12px;
  color:var(--text);
}
.small{
  font-size:.92rem;
  color:var(--muted);
  line-height:1.75;
}

/* Emphasis */
.fw_700{
  font-weight:700;
  letter-spacing:.04em;
  border-bottom:1px solid var(--text);
  padding-bottom:2px;
  color:#000;
}

/* 確実に赤にする（.fw_700 より強い指定） */
.fw_700.text-alert{
  color:#c0392b;
  border-bottom-color:transparent; /* 下線は消す（必要なら赤に変更可） */
}

/* Key line (subtle emphasis box) */
.keyline{
  margin-top:14px;
  padding:12px 14px;
  border-radius:10px;
}
.keyline p{ margin:0;}

/* Email chips */
.mail-chip {
    display: inline-block;
    padding: 10px 14px;
    border: 1px solid #000000;
    border-radius: 999px;
    background: var(--bg);
    font-weight: 700;
    font-size: .95rem;
    margin: 8px 8px 0 0;
}

.example {
    margin: 20px 0;
}

/* Excluded brand tags (PC/SP common) */
.brand-tags{
  display:flex;
  flex-wrap:wrap;
  gap:10px 12px;
  margin:14px 0 0;
  padding:14px;
  border-radius:14px;
   background: #e5e5e5;
}
.brand-tags li{ list-style:none; margin:0; }
.tag{
  display:inline-flex;
  align-items:center;
  padding:10px 14px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  font-size:.95rem;
  line-height:1;
  color:var(--text);
  white-space:nowrap;
}
.tag--key{ font-weight:700; }

/* Notes */
dl{ margin:0; }
dt{
  font-size:1rem;
  font-weight:700;
  margin:18px 0 8px;
}
dd{
  margin:0 0 18px;
  padding:0 0 18px;
  border-bottom:1px solid var(--line);
}
dd:last-child{ border-bottom:none; padding-bottom:0; }

/* Inline anchor link (minimal) */
.inline-link{
  color:var(--text);
  font-weight:700;
  text-decoration:none;
  border-bottom:1px solid var(--text);
  padding-bottom:2px;
}
.inline-link:hover{ opacity:.7; }

/* Anchor scroll margin */
#excluded-brands{ scroll-margin-top:80px; }

/* Responsive (SP) */
@media (max-width:720px){
  .section{ padding:36px 0; }

  /* SPのみ：見出しと本文をもう少し小さく */
  .section-heading{
    font-size:1.05rem;
    letter-spacing:.06em;
    margin-bottom:14px;
    padding-bottom:8px;
  }
  p{
    font-size:0.9rem;
    line-height:1.7;
    margin-bottom:10px;
  }
  .small{
    font-size:0.85rem;
    line-height:1.65;
  }

  h1{ font-size:1.18rem; }
  .brand-tags{ padding:12px; gap:8px 10px; }
  .tag{ padding:9px 12px; font-size:.9rem; }
  .mail-chip{ font-size:.9rem; padding:9px 12px; }
}



