@charset "UTF-8";

/* =============================================================================

宿泊約款・利用規則 CSS（大阪 JP）

・大阪は px ベース設計（renewal_data / common の CSS）。本文は .provision-contents
  配下に定義する。アクセントカラーは title02 と同じ #b99662。
・デスクトップ基準 + @media (max-width:767px) で SP 上書き。

============================================================================= */

.provision-contents {
  color: #333;
}

/* セクション大見出し（宿泊約款 / 利用規則） */
.provision-contents .provision-title {
  display: block;
  scroll-margin-top: 11rem;
  margin-bottom: 30px;
  padding-bottom: 7px;
  border-bottom: 1px solid #b99662;
  color: #b99662;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  font-size: 24px;
  line-height: 1.4;
  letter-spacing: 0.04em;
}
.provision-contents .provision-title:not(:first-child) {
  margin-top: 72px;
}

/* 第N条・小見出し */
.provision-contents h2 {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-auto-flow: column;
  gap: 0.4em;
  margin-bottom: 10px;
  color: #b99662;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  font-size: 18px;
  line-height: 1.6;
}
.provision-contents h2:not(:first-child) {
  margin-top: 40px;
}

/* 本文 */
.provision-contents p {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 15px;
  line-height: 1.9;
}
.provision-contents p + p {
  margin-top: 1em;
}

/* 連番項目（2 …）：番号列を固定し折り返しを揃える */
.provision-contents .provision-item {
  display: grid;
  grid-template-columns: 1.7em 1fr;
  grid-auto-flow: column;
}

/* イ・ロ・ハ等のサブ項目 */
.provision-contents .provision-subwrap {
  display: block;
}
.provision-contents .provision-subitem {
  display: grid;
  grid-template-columns: 1.7em 1fr;
  grid-auto-flow: column;
  padding-left: 1em;
}

/* （1）（2）… のリスト */
.provision-contents ul {
  margin-top: 16px;
  margin-bottom: 16px;
  padding-left: 1em;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 15px;
  line-height: 1.9;
}
.provision-contents ul > li {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-auto-flow: column;
  gap: 0.25em;
}
.provision-contents ul > li + li {
  margin-top: 6px;
}

/* リンク */
.provision-contents a {
  color: #b99662;
  text-decoration: underline;
  word-break: break-all;
}
.provision-contents a:hover {
  text-decoration: none;
}

/* 別表見出し：本文と同じ見た目 */
.provision-contents .provision-table-heading {
  color: inherit;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 15px;
  line-height: 1.9;
}

/* 別表画像 */
.provision-contents .provision-table {
  margin-top: 20px;
  margin-bottom: 12px;
}
.provision-contents .provision-table img {
  max-width: 100%;
  height: auto;
}
.provision-contents .provision-note {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 13px;
  line-height: 1.7;
}
.provision-contents .provision-note + .provision-note {
  margin-top: 4px;
}


/* ============================== SP ============================== */
@media only screen and (max-width: 767px) {
  .provision-contents .provision-title {
    scroll-margin-top: 9rem;
    margin-bottom: 20px;
    font-size: 20px;
  }
  .provision-contents .provision-title:not(:first-child) {
    margin-top: 48px;
  }
  .provision-contents h2 {
    font-size: 16px;
  }
  .provision-contents h2:not(:first-child) {
    margin-top: 32px;
  }
  .provision-contents p {
    font-size: 14px;
  }
  .provision-contents ul {
    font-size: 14px;
  }
  .provision-contents .provision-item {
    grid-template-columns: 1.6em 1fr;
  }
  .provision-contents .provision-subitem {
    grid-template-columns: 1.6em 1fr;
  }
  .provision-contents .provision-table-heading {
    font-size: 14px;
  }
  .provision-contents .provision-note {
    font-size: 12px;
  }
}
