@charset "UTF-8";
/* 数値計算関連の関数を使うために必要 (math.divなど)*/
/* ---------- 改行（PC / SP でカンプの改行位置が違う箇所） ---------- */
.privacy__br-sp {
  display: none;
}

/* ---------- 全体 ---------- */
.privacy {
  padding-block: min(19.25rem, 22vw) min(2.5rem, 2.8571428571vw);
  color: #000;
}

.privacy__inner {
  width: 100%;
  max-width: 1400px;
  margin-inline: auto;
  padding-inline: min(6.25rem, 7.1428571429vw);
}

/* ---------- 見出し（お知らせ一覧と同じ組み方） ---------- */
.privacy__title {
  font-family: "tot-shizukardmin-stdn", sans-serif;
  font-size: min(1.5rem, 1.7142857143vw);
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.175em;
  color: #000;
}

.privacy__title-en {
  -webkit-margin-before: min(1.25rem, 1.4285714286vw);
          margin-block-start: min(1.25rem, 1.4285714286vw);
  font-family: "quincy-cf", serif;
  font-size: 1rem;
  line-height: 1;
  letter-spacing: 0.5em;
  color: #9b4700;
}

/* ---------- 本文 ---------- */
/* 見出し(x100)より40px内側(x140)から、幅940px(〜x1080) */
.privacy__body {
  max-width: min(58.75rem, 67.1428571429vw);
  -webkit-margin-before: min(10.5625rem, 12.0714285714vw);
          margin-block-start: min(10.5625rem, 12.0714285714vw);
  -webkit-margin-start: min(2.5rem, 2.8571428571vw);
          margin-inline-start: min(2.5rem, 2.8571428571vw);
  font-family: "tot-shizukardmin-stdn", sans-serif;
}

/* 先頭の「（全角かぎ括弧）の左の空きぶん、カンプでは14px左に出している */
.privacy__lead-title {
  -webkit-margin-start: calc(-1 * min(0.875rem, 1vw));
          margin-inline-start: calc(-1 * min(0.875rem, 1vw));
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.9166666667;
  letter-spacing: 0.2em;
}

.privacy__lead-text {
  -webkit-margin-before: min(1.3125rem, 1.5vw);
          margin-block-start: min(1.3125rem, 1.5vw);
  font-size: 1rem;
  line-height: 2;
  letter-spacing: 0.1em;
}

/* ---------- 各項目 ---------- */
.privacy__lead + .privacy__section {
  -webkit-margin-before: min(6.1875rem, 7.0714285714vw);
          margin-block-start: min(6.1875rem, 7.0714285714vw);
}

.privacy__section + .privacy__section {
  -webkit-margin-before: min(4.9375rem, 5.6428571429vw);
          margin-block-start: min(4.9375rem, 5.6428571429vw);
}

/* 番号(x140) ＋ 見出し(x180)。番号と見出しは行送りが違うのでベースラインで揃える */
.privacy__section-title {
  display: grid;
  grid-template-columns: min(2.5rem, 2.8571428571vw) minmax(0, 1fr);
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 2.3;
  letter-spacing: 0.2em;
  color: #9b4700;
}

.privacy__section-law {
  -webkit-margin-start: min(0.3125rem, 0.3571428571vw);
          margin-inline-start: min(0.3125rem, 0.3571428571vw);
  font-size: 0.875rem;
  letter-spacing: 0.1em;
}

.privacy__section-body {
  -webkit-margin-before: min(1.1875rem, 1.3571428571vw);
          margin-block-start: min(1.1875rem, 1.3571428571vw);
  -webkit-padding-start: min(2.5rem, 2.8571428571vw);
          padding-inline-start: min(2.5rem, 2.8571428571vw);
  font-size: 1rem;
  line-height: 2;
  letter-spacing: 0.08em;
}

.privacy__section-body > p + p {
  -webkit-margin-before: min(1.5rem, 1.7142857143vw);
          margin-block-start: min(1.5rem, 1.7142857143vw);
}

.privacy__section-body > .privacy__section-note {
  -webkit-margin-before: min(0.25rem, 0.2857142857vw);
          margin-block-start: min(0.25rem, 0.2857142857vw);
}

/* 文字の左に横線(16px)を引き、12px空けて文字。横線は文字の天地中央 */
.privacy__section-sub {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: min(0.75rem, 0.8571428571vw);
     -moz-column-gap: min(0.75rem, 0.8571428571vw);
          column-gap: min(0.75rem, 0.8571428571vw);
}

.privacy__section-sub::before {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: min(1rem, 1.1428571429vw);
  -webkit-border-before: 1px solid #000;
          border-block-start: 1px solid #000;
}

/* ---------- 保有個人データの表 ---------- */
/* 左(300px)と右(560px)の罫線が40px離れているので、列ごとに罫線を引く。
   表の下端は罫線で終わり行送りの余白が無いため、次の項目との間隔ぶん(8px)を足す */
.privacy__data {
  margin-block: min(3.875rem, 4.4285714286vw) min(0.5rem, 0.5714285714vw);
}

.privacy__data-row {
  display: grid;
  grid-template-columns: min(18.75rem, 21.4285714286vw) minmax(0, 1fr);
  -webkit-column-gap: min(2.5rem, 2.8571428571vw);
     -moz-column-gap: min(2.5rem, 2.8571428571vw);
          column-gap: min(2.5rem, 2.8571428571vw);
}

.privacy__data-label,
.privacy__data-value {
  -webkit-border-after: 1px solid #cdcdcd;
          border-block-end: 1px solid #cdcdcd;
}

.privacy__data-row:first-child :is(.privacy__data-label, .privacy__data-value) {
  -webkit-border-before: 1px solid #cdcdcd;
          border-block-start: 1px solid #cdcdcd;
}

.privacy__data-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-inline: min(1.25rem, 1.4285714286vw);
}

.privacy__data-value {
  padding-block: min(2rem, 2.2857142857vw);
  -webkit-padding-start: min(1.25rem, 1.4285714286vw);
          padding-inline-start: min(1.25rem, 1.4285714286vw);
}

/* 黒丸はアクセント色。2行目以降は黒丸の後ろに揃える */
.privacy__list > li {
  -webkit-padding-start: 1.5em;
          padding-inline-start: 1.5em;
  text-indent: -1.5em;
}

.privacy__list > li::before {
  content: "⚫︎";
  display: inline-block;
  width: 1.5em;
  text-indent: 0;
  color: #9b4700;
}

/* ---------- 苦情の受付窓口 ---------- */
.privacy__contact {
  -webkit-margin-before: min(3.625rem, 4.1428571429vw);
          margin-block-start: min(3.625rem, 4.1428571429vw);
  -webkit-padding-start: min(1.8125rem, 2.0714285714vw);
          padding-inline-start: min(1.8125rem, 2.0714285714vw);
  -webkit-border-start: 1px solid #9b4700;
          border-inline-start: 1px solid #9b4700;
}

/* 左の縦線がテキストの上端・下端から始まるよう、1行目の上と最終行の下の行送りの余白を詰める */
.privacy__contact-name {
  margin-block: calc((1em - 1lh) / 2);
  font-size: 1.25rem;
  line-height: 2.3;
  letter-spacing: 0.2em;
}

.privacy__contact-info {
  margin-block: min(0.75rem, 0.8571428571vw) calc((1em - 1lh) / 2);
}

/* カンプの「 　」（半角＋全角スペース）ぶん空ける */
.privacy__contact-hours {
  -webkit-margin-start: 1em;
          margin-inline-start: 1em;
}

.privacy__contact-hours-note {
  display: block;
}

.privacy__contact-info a {
  color: inherit;
}

@media screen and (width <= 700px) {
  .privacy__br-sp {
    display: inline;
  }
  .privacy__br-pc {
    display: none;
  }
  /* ---------- 全体 ---------- */
  /* 下端はフッターのお問い合わせ枠の上余白(120px)とカンプの間隔が一致するので0 */
  .privacy {
    padding-block: 46.2857142857vw 0;
  }
  .privacy__inner {
    max-width: none;
    padding-inline: 7.1428571429vw;
  }
  /* ---------- 見出し ---------- */
  .privacy__title {
    font-size: 5.1428571429vw;
  }
  .privacy__title-en {
    -webkit-margin-before: 2.2857142857vw;
            margin-block-start: 2.2857142857vw;
    font-size: 2.8571428571vw;
  }
  /* ---------- 本文 ---------- */
  .privacy__body {
    max-width: none;
    -webkit-margin-before: 18.5714285714vw;
            margin-block-start: 18.5714285714vw;
    -webkit-margin-start: 0;
            margin-inline-start: 0;
  }
  .privacy__lead-title {
    -webkit-margin-start: 0;
            margin-inline-start: 0;
    font-size: 4.5714285714vw;
    line-height: 1.625;
  }
  /* SPカンプは先頭に全角スペースが入っている */
  .privacy__lead-text {
    -webkit-margin-before: 4.4285714286vw;
            margin-block-start: 4.4285714286vw;
    font-size: 3.4285714286vw;
    line-height: 1.75;
    text-indent: 1em;
  }
  /* ---------- 各項目 ---------- */
  .privacy__lead + .privacy__section,
  .privacy__section + .privacy__section {
    -webkit-margin-before: 11.5714285714vw;
            margin-block-start: 11.5714285714vw;
  }
  /* 番号(x50) ＋ 見出し(x100)。SPは見出しの字間が0.1em */
  .privacy__section-title {
    grid-template-columns: 7.1428571429vw minmax(0, 1fr);
    font-size: 4vw;
    line-height: 1.7142857143;
  }
  .privacy__section-name {
    line-height: 1.5714285714;
    letter-spacing: 0.1em;
  }
  /* SPでは法令の条文は見出しの下の行に黒で置かれている */
  .privacy__section-law {
    display: block;
    -webkit-margin-before: 0.4285714286vw;
            margin-block-start: 0.4285714286vw;
    -webkit-margin-start: 0;
            margin-inline-start: 0;
    font-size: 3.4285714286vw;
    line-height: 1.75;
    color: #000;
  }
  .privacy__section-body {
    -webkit-margin-before: 3.1428571429vw;
            margin-block-start: 3.1428571429vw;
    -webkit-padding-start: 7.1428571429vw;
            padding-inline-start: 7.1428571429vw;
    font-size: 3.4285714286vw;
    line-height: 1.75;
  }
  .privacy__section-body > p + p {
    -webkit-margin-before: 3.1428571429vw;
            margin-block-start: 3.1428571429vw;
  }
  .privacy__section-body > .privacy__section-note {
    -webkit-margin-before: 0.2857142857vw;
            margin-block-start: 0.2857142857vw;
  }
  /* SPは横線24px・空き16px */
  .privacy__section-sub {
    -webkit-column-gap: 2.2857142857vw;
       -moz-column-gap: 2.2857142857vw;
            column-gap: 2.2857142857vw;
  }
  .privacy__section-sub::before {
    width: 3.4285714286vw;
  }
  /* ---------- 保有個人データの表 ---------- */
  /* SPは縦積み。項目名・内容それぞれの上に罫線を引き、最後の内容の下には引かない */
  .privacy__data {
    margin-block: 8.7142857143vw 0;
  }
  .privacy__data-row {
    display: block;
  }
  .privacy__data-label,
  .privacy__data-value {
    -webkit-border-before: 1px solid #cdcdcd;
            border-block-start: 1px solid #cdcdcd;
    -webkit-border-after: 0;
            border-block-end: 0;
  }
  .privacy__data-label {
    display: block;
    padding-block: 4.4285714286vw;
    padding-inline: 0;
    letter-spacing: 0.2em;
  }
  .privacy__data-value {
    padding-block: 4.4285714286vw 8.7142857143vw;
    padding-inline: 0;
  }
  .privacy__data-row:last-child .privacy__data-value {
    -webkit-padding-after: 0;
            padding-block-end: 0;
  }
  /* ---------- 苦情の受付窓口 ---------- */
  .privacy__contact {
    -webkit-margin-before: 13vw;
            margin-block-start: 13vw;
    -webkit-padding-start: 4.1428571429vw;
            padding-inline-start: 4.1428571429vw;
  }
  .privacy__contact-name {
    font-size: 4vw;
    line-height: 1.5714285714;
    letter-spacing: 0.1em;
  }
  .privacy__contact-info {
    -webkit-margin-before: 5vw;
            margin-block-start: 5vw;
  }
  .privacy__contact-tel,
  .privacy__contact-hours {
    display: block;
  }
  .privacy__contact-hours {
    -webkit-margin-start: 0;
            margin-inline-start: 0;
  }
}