@charset "UTF-8";

/* =============================================================================

宿泊約款・利用規則 CSS（函館 JP）

・函館は 1rem≒100px のスケーリング設計（common.css の html{font-size}）。
  本ファイルも同設計に合わせ rem を小数で指定する。
・privacy ページと同じ sitemap_container / _section-heading01 ラッパー（privacy.css）
  を併用し、本文は .provision-contents 配下に定義する。
・デスクトップ基準 + @media (max-width:640px) で SP 上書き。

============================================================================= */

.provision-contents {
  color: #464237;
}

/* セクション大見出し（宿泊約款 / 利用規則） */
.provision-contents .provision-title {
  display: block;
  scroll-margin-top: 1.4rem;
  margin-bottom: 0.3rem;
  padding-bottom: 0.15rem;
  border-bottom: 1px solid #d8d2c6;
  color: #a58f5f;
  font-family: "source-han-serif-japanese", serif;
  font-weight: 500;
  font-size: 0.26rem;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
.provision-contents .provision-title:not(:first-child) {
  margin-top: 0.8rem;
}

/* 第N条・小見出し */
.provision-contents h2 {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-auto-flow: column;
  gap: 0.4em;
  margin-bottom: 0.1rem;
  color: #a58f5f;
  font-family: "source-han-serif-japanese", serif;
  font-weight: 500;
  font-size: 0.2rem;
  line-height: 1.6;
}
.provision-contents h2:not(:first-child) {
  margin-top: 0.4rem;
}

/* 本文 */
.provision-contents p {
  font-family: "noto-sans-cjk-jp", sans-serif;
  font-weight: 400;
  font-size: 0.16rem;
  line-height: 2;
}
.provision-contents p + p {
  margin-top: 1em;
}

/* 連番項目（2 …）：番号列を固定し折り返しを揃える */
.provision-contents .provision-item {
  display: grid;
  grid-template-columns: 1.6em 1fr;
  grid-auto-flow: column;
}

/* イ・ロ・ハ等のサブ項目 */
.provision-contents .provision-subwrap {
  display: block;
}
.provision-contents .provision-subitem {
  display: grid;
  grid-template-columns: 1.6em 1fr;
  grid-auto-flow: column;
  padding-left: 1em;
}

/* （1）（2）… のリスト */
.provision-contents ul {
  margin-top: 0.16rem;
  margin-bottom: 0.16rem;
  padding-left: 1em;
  font-family: "noto-sans-cjk-jp", sans-serif;
  font-weight: 400;
  font-size: 0.16rem;
  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: 0.06rem;
}

/* リンク */
.provision-contents a {
  color: #a58f5f;
  text-decoration: underline;
  word-break: break-all;
}
@media (hover: hover) {
  .provision-contents a:hover {
    text-decoration: none;
  }
}

/* 別表見出し：本文と同じ見た目 */
.provision-contents .provision-table-heading {
  color: inherit;
  font-family: "noto-sans-cjk-jp", sans-serif;
  font-weight: 400;
  font-size: 0.16rem;
  line-height: 1.9;
}

/* 別表画像 */
.provision-contents .provision-table {
  margin-top: 0.2rem;
  margin-bottom: 0.12rem;
}
.provision-contents .provision-table img {
  max-width: 100%;
  height: auto;
}
.provision-contents .provision-note {
  font-family: "noto-sans-cjk-jp", sans-serif;
  font-weight: 400;
  font-size: 0.14rem;
  line-height: 1.7;
}
.provision-contents .provision-note + .provision-note {
  margin-top: 0.04rem;
}

/* 長い英字見出し（ACCOMMODATION TERMS & HOUSE RULES）は字間を詰める */
.sitemap-heading.provision-heading > .en {
  letter-spacing: 0.02em;
}


/* ============================== SP ============================== */
@media screen and (max-width: 640px) {
  .provision-contents .provision-title {
    scroll-margin-top: 0;
    margin-bottom: 0.24rem;
    font-size: 0.2rem;
  }
  .provision-contents .provision-title:not(:first-child) {
    margin-top: 0.6rem;
  }
  .provision-contents h2 {
    font-size: 0.16rem;
  }
  .provision-contents h2:not(:first-child) {
    margin-top: 0.32rem;
  }
  .provision-contents p {
    font-size: 0.14rem;
  }
  .provision-contents ul {
    font-size: 0.14rem;
  }
  .provision-contents .provision-item {
    grid-template-columns: 1.5em 1fr;
  }
  .provision-contents .provision-subitem {
    grid-template-columns: 1.5em 1fr;
  }
  .provision-contents .provision-table-heading {
    font-size: 0.14rem;
  }
  .provision-contents .provision-note {
    font-size: 0.13rem;
  }
}
