@charset "UTF-8";

/* =============================================================================

宿泊約款・利用規則 CSS

・個人情報保護方針（privacy）ページと同じ page_title_regular + privacy_contents_Wrap
  のレイアウトを踏襲し、約款本文用のスタイルを privacy_in 配下に定義する。
・モバイルファースト（base = SP / 768px 以上で PC 上書き）。

============================================================================= */

/* セクション大見出し（宿泊約款 / 利用規則） */
.privacy_in .provision-title {
  display: block;
  margin-bottom: 2.4rem;
  padding-bottom: 1.0rem;
  border-bottom: 1px solid #e5e5e5;
  color: #897850;
  font-size: 2.0rem;
  line-height: 1.4;
  letter-spacing: .08em;
}
.privacy_in .provision-title:not(:first-child) {
  margin-top: 6.4rem;
}

/* 第N条・小見出し */
.privacy_in h2 {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-auto-flow: column;
  gap: .5em;
  margin-bottom: .8rem;
  color: #897850;
  font-size: 1.5rem;
  line-height: 1.7;
}
.privacy_in h2:not(:first-child) {
  margin-top: 3.2rem;
}

/* 本文 */
.privacy_in p {
  font-size: 1.2rem;
  line-height: 1.8;
}
.privacy_in p + p {
  margin-top: 1em;
}

/* 連番項目（2 …）：番号列を固定し、折り返し行を本文位置に揃える */
.privacy_in .provision-item {
  display: grid;
  grid-template-columns: 1.5em 1fr;
  grid-auto-flow: column;
}

/* イ・ロ・ハ等のサブ項目：折り返し行を本文位置に揃える */
.privacy_in .provision-subwrap {
  display: block;
}
.privacy_in .provision-subitem {
  display: grid;
  grid-template-columns: 1.5em 1fr;
  grid-auto-flow: column;
  padding-left: 1em;
}

/* （1）（2）… のリスト */
.privacy_in ul {
  margin-top: 1.6rem;
  margin-bottom: 1.6rem;
  padding-left: 1em;
  font-size: 1.2rem;
}
.privacy_in ul > li {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-auto-flow: column;
  gap: .25em;
  line-height: 1.8;
}
.privacy_in ul > li + li {
  margin-top: .8rem;
}

/* リンク */
.privacy_in a {
  text-decoration: underline;
  text-underline-offset: 2px;
  word-break: break-all;
}
@media (hover: hover) {
  .privacy_in a:hover {
    text-decoration: none;
  }
}

/* 別表見出し：本文と同じ見た目（色・サイズ） */
.privacy_in .provision-table-heading {
  color: inherit;
  font-size: 1.2rem;
  line-height: 1.8;
}

/* 別表（料金内訳・違約金）の画像 */
.privacy_in .provision-table {
  margin-top: 2.0rem;
  margin-bottom: 1.2rem;
}
.privacy_in .provision-table img {
  max-width: 100%;
  height: auto;
}
.privacy_in .provision-note {
  font-size: 1.1rem;
  line-height: 1.7;
}
.privacy_in .provision-note + .provision-note {
  margin-top: .4em;
}


/* ============================== PC ============================== */
@media screen and (min-width: 768px), print {

  /* privacy ページと同じヘッダーオーバーラップ */
  .page_title_regular:has(+.privacy_contents_Wrap) {
    height: auto;
    padding-block: 7.6rem 42.0rem;
  }
  .page_title_regular + .privacy_contents_Wrap {
    margin-top: -35.0rem;
  }
  .privacy_contents_Wrap {
    padding-inline: 12.0rem;
  }

  .privacy_in .provision-title {
    margin-bottom: 4.0rem;
    padding-bottom: 1.6rem;
    font-size: 2.2rem;
  }
  .privacy_in .provision-title:not(:first-child) {
    margin-top: 9.6rem;
  }
  .privacy_in h2 {
    font-size: 1.8rem;
    line-height: 1.8;
  }
  .privacy_in h2:not(:first-child) {
    margin-top: 4.8rem;
  }
  .privacy_in p {
    font-size: 1.5rem;
  }
  .privacy_in ul {
    font-size: 1.5rem;
  }
  .privacy_in .provision-item {
    grid-template-columns: 1.6em 1fr;
  }
  .privacy_in .provision-subitem {
    grid-template-columns: 1.6em 1fr;
  }
  .privacy_in .provision-table-heading {
    font-size: 1.5rem;
  }
  .privacy_in .provision-note {
    font-size: 1.4rem;
  }
}

.page_title_regular .title{
  letter-spacing: .1em;
}