/* ============================================================
   CONFIG
   基準幅を変数で管理。px値 ÷ --base × 100vw で自動計算。
   PC基準: 1366px / SP基準: 375px
   ============================================================ */

:root {
  --base: 1366;
  --base-sp: 375;
}

/* ============================================================
   BASE
   ============================================================ */

p {
  color: #000;
  margin: 0;
}

p.is_white {
  color: #fff;
}

/* ============================================================
   UTILITY
   ============================================================ */

.u_pc {
  display: block;
}
@media screen and (max-width: 767px) {
  .u_pc {
    display: none;
  }
}

.u_sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .u_sp {
    display: block;
  }
}

/* ============================================================
   PRIVACY
   ============================================================ */

#privacy {
  background-color: #f5f6f7;
  padding: calc(100 / var(--base) * 100vw) 0;
}

.un_privacy {
  max-width: calc(900 / var(--base) * 100vw);
  margin: 0 auto;
  padding: calc(80 / var(--base) * 100vw) calc(40 / var(--base) * 100vw)
    calc(120 / var(--base) * 100vw);
}

/* タイトル画像 */
.un_privacy_ttl {
  text-align: center;
  margin-bottom: calc(60 / var(--base) * 100vw);
}

.un_privacy_ttl img {
  width: calc(438 / var(--base) * 100vw);
  height: auto;
}

/* リード文（PC:中央／SP:左） */
.un_privacy_lead {
  text-align: center;
  margin-bottom: calc(60 / var(--base) * 100vw);
}

.un_privacy_lead p {
  font-family: "YuGothic", "Yu Gothic", sans-serif;
  font-size: calc(15 / var(--base) * 100vw);
  line-height: 2;
  letter-spacing: 0.15em;
  color: #4a4a4a;
}

/* 本文（PC/SP共通：左寄せ） */
.un_privacy_body {
  border-top: 1px solid #4a4a4a;
  padding-top: calc(50 / var(--base) * 100vw);
}

.un_privacy_item {
  text-align: left;
  margin-bottom: calc(50 / var(--base) * 100vw);
}

.un_privacy_item h2 {
  font-family: "YuGothic", "Yu Gothic", sans-serif;
  font-size: calc(16 / var(--base) * 100vw);
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #333;
  margin-bottom: calc(16 / var(--base) * 100vw);
}

.un_privacy_item p {
  font-family: "YuGothic", "Yu Gothic", sans-serif;
  font-size: calc(15 / var(--base) * 100vw);
  line-height: 1.9;
  letter-spacing: 0.1em;
  color: #4a4a4a;
  margin-bottom: calc(10 / var(--base) * 100vw);
}

.un_privacy_item p:last-child {
  margin-bottom: 0;
}

/* お問い合わせ窓口の電話番号ボックス */
.un_privacy_contact {
  text-align: center;
  border: 1px solid #2d2f31;
  padding: calc(40 / var(--base) * 100vw);
  margin-top: calc(50 / var(--base) * 100vw);
}

.un_privacy_contact p {
  font-family: "YuGothic", "Yu Gothic", sans-serif;
  font-size: calc(15 / var(--base) * 100vw);
  letter-spacing: 0.05em;
  color: #333;
  margin-bottom: calc(8 / var(--base) * 100vw);
}

.un_privacy_contact span {
  font-family: "Minion Pro", serif;
  font-size: calc(18 / var(--base) * 100vw);
}

.un_privacy_contact .tel {
  font-family: "Minion Pro", serif;
  font-weight: 500;
  font-style: italic;
  font-size: calc(44 / var(--base) * 100vw);
  letter-spacing: 0.02em;
  color: #333;
  margin: calc(18 / var(--base) * 100vw) 0 calc(10 / var(--base) * 100vw);
  line-height: 0.9;
}

.un_privacy_contact .hours {
  font-size: calc(16 / var(--base) * 100vw);
  color: #666;
  margin-bottom: 0;
}

/* ============================================================
   SP
   ============================================================ */
@media screen and (max-width: 767px) {
  .un_privacy {
    max-width: none;
    padding: calc(120 / var(--base-sp) * 100vw)
      calc(24 / var(--base-sp) * 100vw) calc(80 / var(--base-sp) * 100vw);
  }

  .un_privacy_ttl {
    margin-bottom: calc(60 / var(--base-sp) * 100vw);
  }

  .un_privacy_ttl img {
    width: calc(326 / var(--base-sp) * 100vw);
  }

  /* SPはすべて左寄せ */
  .un_privacy_lead,
  .un_privacy_contact {
    text-align: left;
    margin-top: calc(50 / var(--base-sp) * 100vw);
  }

  .un_privacy_contact span {
    font-size: calc(15 / var(--base-sp) * 100vw);
  }

  .un_privacy_lead {
    margin-bottom: calc(40 / var(--base-sp) * 100vw);
  }

  .un_privacy_lead p {
    font-size: calc(15 / var(--base-sp) * 100vw);
    line-height: 2.2;
    letter-spacing: 0.11em;
  }

  .un_privacy_body {
    padding-top: calc(70 / var(--base-sp) * 100vw);
  }

  .un_privacy_item {
    text-align: left;
    margin-bottom: calc(60 / var(--base-sp) * 100vw);
  }

  .un_privacy_item h2 {
    font-size: calc(13 / var(--base-sp) * 100vw);
    margin-bottom: calc(12 / var(--base-sp) * 100vw);
  }

  .un_privacy_item p {
    font-size: calc(12 / var(--base-sp) * 100vw);
    line-height: 1.8;
  }

  .un_privacy_contact {
    padding: calc(20 / var(--base-sp) * 100vw) calc(20 / var(--base-sp) * 100vw);
    text-align: center;
  }

  .un_privacy_contact .hours {
    font-size: calc(12 / var(--base-sp) * 100vw);
  }

  .un_privacy_contact .tel {
    font-size: calc(30 / var(--base-sp) * 100vw);
    line-height: 1.5;
    margin-top: calc(13 / var(--base-sp) * 100vw);
    white-space: nowrap;
  }
}

/* 行頭の番号をぶら下げて、2行目以降をテキスト開始位置に揃える */
.un_privacy_item p.hang {
  display: block;
}

/* (1)(2)(3) のような半角括弧数字用 */
.un_privacy_item p.hang-paren {
  padding-left: 1.8em;
  text-indent: -1.8em;
}

/* ①②③ のような丸数字用 */
.un_privacy_item p.hang-circle {
  padding-left: 1.3em;
  text-indent: -1.3em;
}
