@charset "UTF-8";
/* ==========================================================================
   長文ページ（宿泊規約 / 特定商取引法に基づく表記 / プライバシーポリシー）と
   お知らせ記事の本文まわり

   これらのページは管理画面の「固定ページ」「投稿」で本文を編集します。
   見出し・箇条書き・表の見た目をここでまとめて整えています。

   ※テーマ全体で ul / ol の記号を消す指定（reset）が入っているため、
     本文の中だけ記号を戻しています。
   ========================================================================== */

.article_content {
  max-width: 880px;
  margin-inline: auto;
  line-height: 2;
  text-align: left;
}

/* --- 段落 ---------------------------------------------------------------- */
.article_content p {
  margin-bottom: 1.4em;
}
.article_content > *:last-child {
  margin-bottom: 0;
}

/* --- 見出し --------------------------------------------------------------
   style.css に「.container.news_single h2 { font-size: 2.4rem }」という
   記事タイトル用の指定があり、そのままだと本文中の h2 まで大きくなります。
   打ち消すため、ここでは .container を含めた指定にしています。 */
.container .article_content h2,
.article_content h2 {
  margin: 2.6em 0 1em;
  padding: 0 0 .5em;
  border-bottom: 1px solid var(--sh-line);
  color: var(--sh-ink);
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.6;
  text-align: left;
}
.container .article_content h2:first-child,
.article_content h2:first-child {
  margin-top: 0;
}
.container .article_content h3,
.article_content h3 {
  margin: 2.2em 0 .8em;
  padding-left: .7em;
  border-left: 3px solid var(--sh-accent);
  color: var(--sh-ink);
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.6;
}
.article_content h4 {
  margin: 1.8em 0 .6em;
  font-size: 1rem;
  font-weight: 600;
  text-align: left;
}

/* --- 箇条書き・番号つきリスト -------------------------------------------- */
.article_content ol,
.article_content ul {
  margin: 0 0 1.4em;
  padding-left: 1.8em;
}
.article_content ol {
  list-style: decimal;
}
.article_content ul {
  list-style: disc;
}
.article_content li {
  margin-bottom: .5em;
  padding-left: .2em;
  line-height: 1.9;
}
.article_content li:last-child {
  margin-bottom: 0;
}
/* 入れ子のリスト */
.article_content li > ol,
.article_content li > ul {
  margin: .5em 0 .2em;
}

/* --- リンク -------------------------------------------------------------- */
.article_content a {
  color: var(--sh-accent-dark);
  text-decoration: underline;
  word-break: break-all;
}
.article_content a:hover {
  opacity: .75;
}

/* --- 表（特定商取引法に基づく表記など）----------------------------------- */
.article_content table {
  width: 100%;
  margin: 0 0 1.6em;
  background: #fff;
  border: 1px solid var(--sh-line);
  border-collapse: collapse;
  font-size: .95rem;
}
.article_content th,
.article_content td {
  padding: 16px 20px;
  border: 1px solid var(--sh-line);
  line-height: 1.9;
  text-align: left;
  vertical-align: top;
}
.article_content th {
  width: 32%;
  background: var(--sh-tint);
  font-weight: 600;
  white-space: nowrap;
}

/* --- 補足の小さい文字 ---------------------------------------------------- */
.article_content small {
  color: var(--sh-text-light, #6f6a62);
  font-size: .875rem;
}


/* --- スマホ -------------------------------------------------------------- */
@media screen and (max-width: 768px) {
  .article_content {
    line-height: 1.9;
  }
  .container .article_content h2,
  .article_content h2 {
    margin-top: 2em;
    font-size: 1.15rem;
  }
  .container .article_content h3,
  .article_content h3 {
    font-size: 1rem;
  }
  .article_content ol,
  .article_content ul {
    padding-left: 1.5em;
  }

  /* 表は項目名と内容を縦に積みます */
  .article_content table,
  .article_content tbody,
  .article_content tr,
  .article_content th,
  .article_content td {
    display: block;
    width: auto;
  }
  .article_content tr + tr {
    margin-top: -1px;
  }
  .article_content th {
    border-bottom: 0;
    white-space: normal;
  }
  .article_content th,
  .article_content td {
    padding: 12px 16px;
  }
}
