/* =========================================================
   ORWA ハネムーンガイド（honeymoon）
   読み込み条件: is_singular / is_post_type_archive( 'honeymoon' )
                 ＋ is_tax( honeymoon_area / honeymoon_cate / honeymoon_theme / honeymoon_blog_cat )
                 — inc/assets.php

   旧サイト（旧テーマ hm_guide の scss/_common.scss・index.scss ほか）の見た目を再現する（2026-10-07〜）。
   値は旧 SCSS と公開中の旧サイト（2026-10-07 計測）から。

   ★画面幅の区切り（旧サイトと同じ）
   600px 以上 … タブレット / 1025px 以上 … 小さめのパソコン / 1200px 以上 … パソコン

   ★文字
   本文は Helvetica Neue・ヒラギノ角ゴ 16px・行間 1.4・#333。
   見出しの明朝は Noto Serif JP Light。旧サイトは 5MB のファイルをそのまま読んでいた。
   新サイトは、かな・英数字・記号と見出しに使う漢字だけに絞ったファイル（92KB）にした（2026-10-07 渋谷さんの判断）。
   ファイルにない漢字は、端末の明朝（游明朝・ヒラギノ明朝）で出る。

   ★色
   緑 #72b5ab / 薄い緑 #c7ece6 / ごく薄い緑 #e6f2f0
   ========================================================= */

@font-face {
  font-family: notoSerifJP;
  font-style: normal;
  font-display: swap;
  src: url("../fonts/noto-serif-jp-light-subset.woff2") format("woff2");
}

/* 診断の「Question」「Result」と質問の番号（旧サイトは Google Fonts の Charmonman）。使う文字だけに絞って自前で置く。 */
@font-face {
  font-family: Charmonman;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/charmonman-subset.woff2") format("woff2");
}

/* --- 全体 -------------------------------------------------- */

.orwa-hm {
  background: #fff;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  color: #333;
}

/* 旧サイトは Josh Comeau のリセット（余白なし・border-box）を使っていた。
   個別の指定より弱くするため :where() で詳細度を 0 にする。 */
:where(.orwa-hm) :where(*, *::before, *::after) {
  box-sizing: border-box;
}

:where(.orwa-hm) :where(h1, h2, h3, h4, p, ul, ol, figure, dl, dd) {
  margin: 0;
}

:where(.orwa-hm) :where(ul, ol) {
  padding: 0;
  list-style: none;
}

:where(.orwa-hm) img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  transition: opacity .3s;
}

:where(.orwa-hm) a {
  color: #333;
  text-decoration: none;
}

:where(.orwa-hm) a:hover img {
  opacity: .8;
}

/* メニュー・小窓を開いている間は、後ろのページを動かさない（旧サイトは body を固定していた）。 */
html.orwa-hm-locked {
  overflow: hidden;
}

/* --- ヘッダー（旧 .header） ----------------------------------
   旧サイトは画面の上に固定。新サイトは共通ヘッダーの下から始めて、スクロールすると上に貼り付く。 */

.orwa-hm-header {
  position: sticky;
  top: var(--wp-admin--admin-bar--height, 0px);
  z-index: 40;
  width: 100%;
  background: #fff;
  box-shadow: 0 1px 3px rgb(0 0 0 / 20%);
}

.orwa-hm-header__inner {
  max-width: 1200px;
  height: 56px;
  margin: 0 auto;
  padding: 10px 4%;
}

.orwa-hm-header__logo-link {
  display: inline-block;
  width: 230px;
}

@media (min-width: 1025px) {
  .orwa-hm-header__inner {
    height: 66px;
    padding-inline: 20px;
  }

  .orwa-hm-header__logo-link {
    width: 300px;
  }
}

/* 三本線（旧 .nav-btn）。開くと × になる。 */
.orwa-hm-header__button {
  position: absolute;
  top: 10px;
  right: 4%;
  z-index: 3;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
}

@media (min-width: 1025px) {
  .orwa-hm-header__button {
    top: 15px;
    right: 20px;
  }
}

@media (min-width: 1350px) {
  .orwa-hm-header__button {
    right: calc(50% - 665px);
  }
}

.orwa-hm-header__bar {
  display: inline-block;
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background: #333;
  transition: all .4s;
}

.orwa-hm-header__bar:nth-of-type(1) {
  top: 5px;
}

.orwa-hm-header__bar:nth-of-type(2) {
  top: 17px;
}

.orwa-hm-header__bar:nth-of-type(3) {
  top: 29px;
}

.orwa-hm-header__button[aria-expanded="true"] .orwa-hm-header__bar:nth-of-type(1) {
  top: 10px;
  left: 1px;
  width: 90%;
  transform: translateY(6px) rotate(-45deg);
}

.orwa-hm-header__button[aria-expanded="true"] .orwa-hm-header__bar:nth-of-type(2) {
  opacity: 0;
}

.orwa-hm-header__button[aria-expanded="true"] .orwa-hm-header__bar:nth-of-type(3) {
  top: 22px;
  left: 1px;
  width: 90%;
  transform: translateY(-7px) rotate(45deg);
}

.orwa-hm-header__button:focus-visible {
  outline: 2px solid #72b5ab;
  outline-offset: 4px;
}

/* --- メニュー（旧 .top-nav）。右から白い箱。 ---------------- */

.orwa-hm-menu {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  overflow-y: auto;
  width: 280px;
  min-width: 25%;
  max-height: calc(100vh - var(--wp-admin--admin-bar--height, 0px));
  padding: 40px 0 20px;
  background: #fff;
}

.orwa-hm-menu[hidden] {
  display: none;
}

.orwa-hm-menu__item + .orwa-hm-menu__item {
  padding-top: 10px;
}

.orwa-hm-menu__other {
  padding: 0 20px;
}

.orwa-hm-menu__sub {
  padding: 0 20px 0 40px;
}

.orwa-hm-menu__link {
  display: block;
  padding: 15px 0;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
}

/* 「〜から探す」は小窓を開くボタン。見た目はリンクと同じ。 */
.orwa-hm-menu__link--button {
  width: 100%;
  border: 0;
  background: none;
  color: #333;
  text-align: left;
}

.orwa-hm-menu__link:hover {
  color: #72b5ab;
}

/* 「メニューを探す」の札（旧 .top-nav__item-header）。右端を斜めに切った薄い緑。 */
.orwa-hm-menu__label,
.orwa-hm-menu__concierge {
  display: inline-block;
  position: relative;
  width: 30%;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
}

.orwa-hm-menu__label {
  min-width: 140px;
  margin: 6px 0;
  padding: 14px 20px;
  background: #c7ece6;
}

.orwa-hm-menu__label::after,
.orwa-hm-menu__concierge::after {
  display: block;
  position: absolute;
  top: 0;
  right: -16px;
  width: 16px;
  height: 100%;
  content: "";
}

.orwa-hm-menu__label::after {
  background: linear-gradient(249deg, rgb(255 255 255 / 0%) 0%, rgb(255 255 255 / 0%) 50%, #c7ece6 50%, #c7ece6 100%);
}

/* 「コンシェルジュに相談」（旧 .top-nav__concierge）。黄緑。 */
.orwa-hm-menu__concierge {
  min-width: 194px;
  padding: 0 20px;
  background: #daf79ed6;
}

.orwa-hm-menu__concierge::after {
  background: linear-gradient(249deg, rgb(255 255 255 / 0%) 0%, rgb(255 255 255 / 0%) 50%, #daf79ed6 50%, #daf79ed6 100%);
}

/* 後ろの暗い幕（旧 .overlay）。ヘッダーの帯も覆い、三本線だけが上に残る。 */
.orwa-hm-overlay {
  position: fixed;
  inset: 0;
  z-index: 1;
  background: rgb(0 0 0 / 70%);
}

.orwa-hm-overlay[hidden] {
  display: none;
}

/* --- 絞り込みの小窓（旧 .search-modal） ----------------------- */

.orwa-hm-search {
  position: fixed;
  top: 50%;
  right: 0;
  left: 0;
  z-index: 5;
  width: 90%;
  max-width: 800px;
  min-height: 50vh;
  max-height: calc(100vh - 60px);
  margin: auto;
  padding: 40px 20px;
  border-radius: 10px;
  background: #fff;
  transform: translateY(-50%);
}

.orwa-hm-search[hidden],
.orwa-hm-search__panel[hidden] {
  display: none;
}

.orwa-hm-search__panel {
  height: calc(100vh - 200px);
}

.orwa-hm-search__panel--area {
  height: calc(100vh - 180px);
}

@media (min-aspect-ratio: 3 / 4) {
  .orwa-hm-search__panel {
    height: calc(100vh - 400px);
  }

  .orwa-hm-search__panel--area {
    height: calc(100vh - 140px);
  }
}

.orwa-hm-search__title {
  padding-bottom: 30px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}

.orwa-hm-search__list {
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  gap: 20px;
  overflow-y: auto;
  max-width: 630px;
  height: calc(100% - 36px);
  margin: 0 auto;
}

.orwa-hm-search__item {
  flex: 0 1 calc((100% - 30px) / 2);
  max-width: 300px;
}

.orwa-hm-search__link {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 4em;
  padding: 12px 10px;
  border-radius: 6px;
  background: #c7ece6;
  font-size: 14px;
  font-weight: 700;
  line-height: 18px;
  transition: background-color .3s, color .3s;
}

:where(.orwa-hm) .orwa-hm-search__link {
  color: #333;
}

.orwa-hm-search__link:hover {
  background: #72b5ab;
  color: #fff;
}

.orwa-hm-search__map {
  position: relative;
  overflow-y: auto;
  height: calc(100% - 36px);
}

.orwa-hm-search__map svg {
  display: block;
  width: auto;
  max-width: 100%;
  height: 100%;
  margin: 0 auto;
}

/* 閉じるボタン（旧 .search-modal__close-btn）。細い × の画像。 */
.orwa-hm-search__close {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  background: url("../img/honeymoon/btn_close.svg") no-repeat center / cover;
  cursor: pointer;
}

@media (min-width: 600px) {
  .orwa-hm-search__title {
    font-size: 18px;
  }

  .orwa-hm-search__list {
    gap: 30px;
    height: calc(100% - 38px);
  }

  .orwa-hm-search__link {
    padding: 16px 10px;
  }

  .orwa-hm-search__map {
    height: calc(100% - 38px);
  }

  .orwa-hm-search__close {
    width: 60px;
    height: 60px;
  }
}

/* --- 区画・中身の幅（旧 .sec / .content） -------------------- */

.orwa-hm-sec {
  padding-block: 40px;
}

.orwa-hm-content {
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: 4%;
}

@media (min-width: 600px) {
  .orwa-hm-sec {
    padding-block: 60px;
  }
}

@media (min-width: 1025px) {
  .orwa-hm-content {
    padding-inline: 20px;
  }
}

/* --- 区画の見出し（旧 .content__header） ----------------------
   明朝の太字。下に英字の飾り文字（画像）と、両端が葉っぱの線（画像）。 */

.orwa-hm-heading {
  position: relative;
  padding-bottom: 50px;
  background: no-repeat center bottom 25px / auto 15px;
  font-family: notoSerifJP, YuMincho, "Yu Mincho", serif;
  font-size: 22px;
  font-weight: 600;
  line-height: 1;
  text-align: center;
}

.orwa-hm-heading::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 24px;
  background: url("../img/honeymoon/hd_border.svg") no-repeat center bottom / 280px auto;
  content: "";
}

.orwa-hm-heading--menu {
  background-image: url("../img/honeymoon/hd_honeymoon-menu.svg");
  background-size: auto 18px;
}

.orwa-hm-heading--articles {
  background-image: url("../img/honeymoon/hd_feature-articles.svg");
}

.orwa-hm-heading--form {
  background-image: url("../img/honeymoon/hd_application-form.svg");
  background-size: auto 18px;
}

@media (min-width: 600px) {
  .orwa-hm-heading {
    padding-bottom: 60px;
    background-size: auto 20px;
    font-size: 24px;
  }

  .orwa-hm-heading::after {
    height: 28px;
    background-size: 350px auto;
  }

  .orwa-hm-heading--menu,
  .orwa-hm-heading--form {
    background-size: auto 22px;
  }
}

@media (min-width: 1200px) {
  .orwa-hm-heading {
    padding-bottom: 70px;
    background-position: center bottom 30px;
    background-size: auto 24px;
    font-size: 28px;
  }

  .orwa-hm-heading::after {
    height: 30px;
    background-size: 400px auto;
  }

  .orwa-hm-heading--menu {
    background-size: auto 28px;
  }
}

/* --- ボタン（旧 .btn / .btn_mt_none）。虹色の枠に白い中身。 ---- */

.orwa-hm-btn {
  width: 80%;
  min-width: 280px;
  max-width: 500px;
  margin: 40px auto 0;
  background-image: linear-gradient(150deg, rgb(32 237 237), rgb(176 229 179) 20%, rgb(229 229 126) 25%, rgb(175 229 132) 30%, rgb(46 229 68) 50%, rgb(175 229 132) 70%, rgb(229 229 126) 75%, rgb(176 229 179) 80%, rgb(32 237 237));
  background-position: 1% 50%;
  background-size: 200% auto;
  transition: background-position .3s ease-out;
}

.orwa-hm-btn:hover {
  background-position: 99% 50%;
}

.orwa-hm-btn--flush {
  margin-top: 0;
}

.orwa-hm-btn__link {
  display: block;
  padding: 6px;
}

.orwa-hm-btn__inner {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 14px;
  background: #fff;
  font-size: 16px;
  font-weight: 700;
  line-height: 26px;
}

/* --- テーマ・エリア・カテゴリーの札（旧 .post-attrs） --------- */

.orwa-hm-attrs {
  margin-top: 20px;
}

.orwa-hm-attrs__attr {
  display: inline-block;
  margin: 0 10px 10px 0;
  padding: 6px 8px;
  border: 2px solid;
  border-radius: 4px;
  font-size: 12px;
  line-height: 1;
}

.orwa-hm-attrs__attr--theme {
  border-color: #d0f2b2;
}

.orwa-hm-attrs__attr--area {
  padding-left: 24px;
  border-color: #badaeb;
  background: url("../img/honeymoon/icon_area.svg") no-repeat left 4px center / 16px auto;
}

.orwa-hm-attrs__attr--cat {
  border-color: #ffcab6;
}

@media (min-width: 600px) {
  .orwa-hm-attrs__attr {
    padding: 8px 10px;
    font-size: 14px;
  }

  .orwa-hm-attrs__attr--area {
    padding-left: 28px;
    background-position: left 6px center;
    background-size: 18px auto;
  }
}

/* --- パンくず（旧 .pankuzu） ---------------------------------- */

.orwa-hm-crumbs {
  position: relative;
  margin: 0 0 10px;
  border-block: 1px solid #333;
}

.orwa-hm-crumbs::after {
  display: block;
  position: absolute;
  bottom: -6px;
  left: 0;
  width: 100%;
  height: 2px;
  background: #ccc;
  content: "";
}

.orwa-hm-crumbs__list {
  overflow-x: auto;
  max-width: 1200px;
  margin: 0 auto;
  padding: 10px 0 10px 4%;
  white-space: nowrap;
}

.orwa-hm-crumbs__item {
  display: inline-block;
  padding: 6px 0;
  font-size: 12px;
  line-height: 1;
}

.orwa-hm-crumbs__item + .orwa-hm-crumbs__item {
  margin-left: .2em;
}

.orwa-hm-crumbs__item + .orwa-hm-crumbs__item::before {
  font-size: 10px;
  color: #72b5ab;
  content: "▶";
}

.orwa-hm-crumbs__link {
  padding-left: .2em;
}

@media (min-width: 1025px) {
  .orwa-hm-crumbs__list {
    padding-left: 20px;
  }
}

/* --- LINE の案内（旧 .sns-btn） -------------------------------- */

.orwa-hm-sns {
  padding: 30px 4%;
  background: #fff;
}

/* 入口だけは上に二重線（旧 .index ~ .footer-wrap > .sns-btn）。 */
.orwa-hm-sns--top {
  position: relative;
  border-top: 1px solid #333;
}

.orwa-hm-sns--top::before {
  display: block;
  position: absolute;
  top: 4px;
  left: 0;
  width: 100%;
  height: 2px;
  background: #ccc;
  content: "";
}

.orwa-hm-sns__catch {
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  color: #06c755;
  text-align: center;
}

.orwa-hm-sns__catch::before {
  content: "＼";
}

.orwa-hm-sns__catch::after {
  content: "／";
}

.orwa-hm-sns__item {
  width: 40px;
  margin: 10px auto 0;
}

.orwa-hm-sns__link {
  display: block;
}

@media (min-width: 600px) {
  .orwa-hm-sns__catch {
    font-size: 16px;
  }

  .orwa-hm-sns__item {
    margin-top: 20px;
  }
}

/* --- 薄い緑の帯（旧 .footer） --------------------------------- */

.orwa-hm-foot {
  padding: 40px 0 20px;
  background: #c7ece6;
}

.orwa-hm-foot__nav {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  column-gap: 10%;
  max-width: 1200px;
  margin: 0 auto;
  padding-inline: 4%;
}

.orwa-hm-foot__link {
  font-size: 14px;
  font-weight: 700;
  line-height: 3;
}

.orwa-hm-foot__link:hover {
  text-decoration: underline;
}

.orwa-hm-foot__copyright {
  display: block;
  max-width: 1200px;
  margin: 30px auto 0;
  padding: 0 calc(8% + 45px) 0 4%;
  font-size: 12.8px;
  line-height: 1.4;
}

/* 旧サイトは <small> 自体がこの行だった（12.8px＝本文の 80%）。 */
.orwa-hm-foot__copyright small {
  font-size: inherit;
}

@media (min-width: 600px) {
  .orwa-hm-foot__copyright {
    padding-right: 4%;
    text-align: center;
  }
}

@media (min-width: 1025px) {
  .orwa-hm-foot__nav,
  .orwa-hm-foot__copyright {
    padding-inline: 20px;
  }
}

/* --- ページの先頭へ（旧 .page-top）。200px スクロールすると出る。 ---- */

.orwa-hm-pagetop {
  position: fixed;
  right: 4%;
  bottom: 20px;
  z-index: 30;
  width: 45px;
  height: 45px;
  padding: 0;
  border: 0;
  border-radius: 6px;
  background: #fff url("../img/honeymoon/btn_gotop.svg") no-repeat center / 25px auto;
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s;
}

.orwa-hm-pagetop.is-visible {
  opacity: 1;
  pointer-events: auto;
}

.orwa-hm-pagetop.is-visible:hover {
  opacity: .8;
}

@media (min-width: 1025px) {
  .orwa-hm-pagetop {
    right: 20px;
  }
}

@media (min-width: 1350px) {
  .orwa-hm-pagetop {
    right: calc(50% - 665px);
  }
}

/* =========================================================
   入口（archive-honeymoon.php。旧 front-page.php / index.scss）
   ========================================================= */

/* --- 写真のスライダー（旧 .mv。旧サイトは Swiper） -------------
   SP は縦長（5:6）の写真。600px 以上は横長（2:1）の写真を中央に置き、
   左右の余白に同じ写真をぼかして薄く敷く。1200px 以上は高さ 600px。 */

.orwa-hm-mv {
  position: relative;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 5 / 6;
}

@media (min-width: 600px) {
  .orwa-hm-mv {
    aspect-ratio: 2 / 1;
  }
}

@media (min-width: 1200px) {
  .orwa-hm-mv {
    height: 600px;
    aspect-ratio: auto;
  }
}

.orwa-hm-mv__track {
  display: flex;
  height: 100%;
}

.orwa-hm-mv__track.is-animating {
  transition: transform 1s ease;
}

@media (min-width: 1025px) {
  .orwa-hm-mv__track.is-animating {
    transition-duration: 2s;
  }
}

.orwa-hm-mv__slide {
  flex: 0 0 100%;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  height: 100%;
}

@media (min-width: 600px) {
  .orwa-hm-mv__slide::before {
    position: absolute;
    inset: -4px;
    z-index: -1;
    background: no-repeat center / cover;
    content: "";
    filter: blur(4px);
    opacity: .5;
  }

  .orwa-hm-mv__slide--1::before {
    background-image: image-set(url("../img/honeymoon/slide01.webp") type("image/webp"), url("../img/honeymoon/slide01.jpg") type("image/jpeg"));
  }

  .orwa-hm-mv__slide--2::before {
    background-image: image-set(url("../img/honeymoon/slide02.webp") type("image/webp"), url("../img/honeymoon/slide02.jpg") type("image/jpeg"));
  }

  .orwa-hm-mv__slide--3::before {
    background-image: image-set(url("../img/honeymoon/slide03.webp") type("image/webp"), url("../img/honeymoon/slide03.jpg") type("image/jpeg"));
  }

  .orwa-hm-mv__slide--4::before {
    background-image: image-set(url("../img/honeymoon/slide04.webp") type("image/webp"), url("../img/honeymoon/slide04.jpg") type("image/jpeg"));
  }

  .orwa-hm-mv__slide--5::before {
    background-image: image-set(url("../img/honeymoon/slide05.webp") type("image/webp"), url("../img/honeymoon/slide05.jpg") type("image/jpeg"));
  }
}

.orwa-hm-mv__picture {
  display: block;
  max-width: 1200px;
  margin: 0 auto;
}

/* 左右の矢印（旧 .swiper-button-prev / next）。 */
.orwa-hm-mv__arrow {
  position: absolute;
  top: 50%;
  z-index: 2;
  width: 40px;
  height: 40px;
  margin-top: -20px;
  padding: 0;
  border: 0;
  background: no-repeat center / contain;
  cursor: pointer;
}

.orwa-hm-mv__arrow--prev {
  left: 4%;
  background-image: url("../img/honeymoon/btn_arrow-left.svg");
}

.orwa-hm-mv__arrow--next {
  right: 4%;
  background-image: url("../img/honeymoon/btn_arrow-right.svg");
}

@media (min-width: 1350px) {
  .orwa-hm-mv__arrow--prev {
    left: calc(50% - 640px);
  }

  .orwa-hm-mv__arrow--next {
    right: calc(50% - 640px);
  }
}

/* 下の点（旧 .swiper-pagination）。今の写真だけ緑。 */
.orwa-hm-mv__dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  position: absolute;
  right: 0;
  bottom: 8px;
  left: 0;
  z-index: 2;
}

.orwa-hm-mv__dot {
  width: 8px;
  height: 8px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #000;
  cursor: pointer;
  opacity: .2;
}

.orwa-hm-mv__dot[aria-current="true"] {
  background: #72b5ab;
  opacity: 1;
}

/* --- 導入文（旧 .sec--intro）。水彩の葉の背景に、中央寄せの文。 ---- */

.orwa-hm-intro {
  margin-bottom: 40px;
  padding-block: 40px;
  background: no-repeat center / cover;
  background-image: image-set(url("../img/honeymoon/intro_sp.webp") type("image/webp"), url("../img/honeymoon/intro_sp.jpg") type("image/jpeg"));
  text-align: center;
}

@media (min-width: 600px) {
  .orwa-hm-intro {
    padding-block: 60px;
    background-image: image-set(url("../img/honeymoon/intro.webp") type("image/webp"), url("../img/honeymoon/intro.jpg") type("image/jpeg"));
  }
}

@media (min-width: 1025px) {
  .orwa-hm-intro {
    padding-block: 80px;
  }
}

.orwa-hm-intro__inner {
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: 4%;
}

@media (min-width: 1025px) {
  .orwa-hm-intro__inner {
    padding-inline: 20px;
  }
}

/* 旧サイトは normalize.css の h1 の上余白（.67em）が残っていた。 */
.orwa-hm-intro__title {
  margin: .67em 0 40px;
  font-size: 24px;
  font-weight: 400;
  line-height: 2;
}

.orwa-hm-intro__text {
  max-width: 600px;
  margin-inline: auto;
}

.orwa-hm-intro__text p {
  font-size: 0;
}

.orwa-hm-intro__text p + p {
  margin-top: 30px;
}

.orwa-hm-intro__text span {
  display: inline-block;
  font-size: 16px;
  line-height: 2;
}

/* --- トキメキポイント（旧 .point） -----------------------------
   表示位置まで来ると、1つずつ下から浮かび上がる（js-hm-reveal に is-active が付く）。 */

.orwa-hm-point__title {
  width: 60%;
  max-width: 400px;
  margin: 0 auto;
}

.orwa-hm-point__list {
  display: flex;
  align-items: baseline;
  gap: 7%;
  max-width: 600px;
  margin: 30px auto 0;
}

@media (min-width: 1025px) {
  .orwa-hm-point__list {
    gap: 10%;
  }
}

.orwa-hm-point__item {
  isolation: isolate;
  text-align: center;
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);
}

.orwa-hm-point__list.is-active .orwa-hm-point__item {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition: opacity .3s, transform .3s, visibility .3s;
}

.orwa-hm-point__list.is-active .orwa-hm-point__item:nth-of-type(2) {
  transition-delay: .3s;
}

.orwa-hm-point__list.is-active .orwa-hm-point__item:nth-of-type(3) {
  transition-delay: .6s;
}

.orwa-hm-point__list.is-active .orwa-hm-point__item:nth-of-type(4) {
  transition-delay: .9s;
}

@media (prefers-reduced-motion: reduce) {
  .orwa-hm-point__item {
    opacity: 1;
    visibility: visible;
    transform: none;
  }
}

/* 「プランに含まれるもの」（旧 .point__sub-header）。 */
.orwa-hm-point__sub {
  max-width: 400px;
  margin: clamp(30px, 7.5vw, 60px) auto 0;
  font-size: clamp(18px, 3vw, 24px);
  font-weight: 400;
  text-align: center;
}

/* 4つ並び（旧 .point__list-4col）。SP は 2×2。 */
.orwa-hm-point__list--4 {
  flex-wrap: wrap;
  gap: 0 15%;
  max-width: 800px;
  padding: 0 30px;
}

.orwa-hm-point__list--4 .orwa-hm-point__item {
  width: calc((100% - 15%) / 2);
}

.orwa-hm-point__list--4 .orwa-hm-point__item:nth-of-type(n + 3) {
  margin-top: 20px;
}

@media (min-width: 600px) {
  .orwa-hm-point__list--4 {
    flex-wrap: nowrap;
    gap: 7%;
    padding: 0;
  }

  .orwa-hm-point__list--4 .orwa-hm-point__item {
    width: auto;
  }

  .orwa-hm-point__list--4 .orwa-hm-point__item:nth-of-type(n + 3) {
    margin-top: 0;
  }
}

/* 文字の下の緑の線（旧 .point__txt::before）。 */
.orwa-hm-point__text {
  display: inline-block;
  position: relative;
  margin-top: 20px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
}

.orwa-hm-point__text::before {
  position: absolute;
  bottom: -.4em;
  left: -.5em;
  z-index: -1;
  width: calc(100% + 1em);
  height: .6em;
  background: #79d0bb;
  content: "";
}

.orwa-hm-point__text span {
  display: inline-block;
}

@media (min-width: 600px) {
  .orwa-hm-point__text {
    font-size: 16px;
  }
}

/* --- ハネムーンメニュー（旧 .top-menu / .menus） ------------------
   SP は1列、600px 以上は2列、1200px 以上は3列。 */

.orwa-hm-top-menu {
  max-width: 1200px;
  margin: 40px auto 0;
}

.orwa-hm-menus {
  padding-bottom: 40px;
}

@media (min-width: 600px) {
  .orwa-hm-menus {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 20px;
    max-width: 1020px;
    margin: 60px auto 0;
    padding-bottom: 60px;
  }
}

@media (min-width: 1200px) {
  .orwa-hm-menus {
    max-width: none;
  }
}

.orwa-hm-menus__item {
  margin-top: 30px;
}

@media (min-width: 600px) {
  .orwa-hm-menus__item {
    flex-basis: calc((100% - 20px) / 2);
    max-width: 500px;
    margin-top: 0;
  }
}

@media (min-width: 1200px) {
  .orwa-hm-menus__item {
    flex-basis: calc((100% - 40px) / 3);
  }
}

/* 影の外側に 10px の余白（旧 .shadowbox-wrap）。 */
.orwa-hm-menus__box {
  height: 100%;
  padding: 10px;
}

/* 影付きの白い箱（旧 .shadowbox / .menus__link）。下は白くぼかして切る。 */
.orwa-hm-menus__link {
  display: block;
  position: relative;
  height: 100%;
  padding: 10px 10px 20px;
  background: #fff;
  box-shadow: 0 3px 8px rgb(0 0 0 / 40%);
  transition: box-shadow .3s;
}

.orwa-hm-menus__link:hover {
  box-shadow: 0 2px 4px rgb(0 0 0 / 40%);
}

.orwa-hm-menus__link::after {
  position: absolute;
  right: 0;
  bottom: 20px;
  width: 100%;
  height: 5em;
  padding: 0 10px;
  background: linear-gradient(to top, #fff 20%, rgb(255 255 255 / 0%));
  content: "";
}

@media (min-width: 1025px) {
  .orwa-hm-menus__link {
    padding: 16px 16px 24px;
  }

  .orwa-hm-menus__link::after {
    bottom: 24px;
    padding: 0 16px;
  }
}

/* 「詳細を見る ▶」（旧 .menus__link::before）。緑の丸い札。 */
.orwa-hm-menus__more {
  display: grid;
  place-content: center;
  position: absolute;
  right: 20px;
  bottom: 15px;
  z-index: 3;
  padding: 5px 10px;
  border-radius: 30px;
  background: #00cd68;
  font-size: 13px;
  line-height: 1;
  color: #fff;
}

.orwa-hm-menus__thumb {
  aspect-ratio: 3 / 2;
}

.orwa-hm-menus__image {
  height: 100%;
  object-fit: cover;
}

.orwa-hm-menus__title {
  display: flex;
  align-items: center;
  min-height: calc(2em * 26 / 16);
  margin-top: 10px;
  font-size: 16px;
  font-weight: 700;
  line-height: 26px;
}

@media (min-width: 600px) {
  .orwa-hm-menus__title {
    min-height: calc(2em * 24 / 18);
    font-size: 18px;
    line-height: 24px;
  }
}

.orwa-hm-menus__price {
  margin-top: 10px;
}

.orwa-hm-menus__price-value {
  font-size: 18px;
  font-weight: 700;
}

.orwa-hm-menus__desc {
  overflow: hidden;
  min-height: 4.5em;
  max-height: 6em;
  margin-top: 20px;
  font-size: 14px;
  line-height: 20px;
}

@media (min-width: 1025px) {
  .orwa-hm-menus__desc {
    margin-top: 30px;
  }
}

/* 概要は本文の段落をそのまま入れる（旧 .menus__desc p と同じく段落の間を空けない） */
.orwa-hm-menus__desc p {
  margin: 0;
}

/* --- 特集記事（旧 .article） ----------------------------------- */

.orwa-hm-articles {
  margin-bottom: 80px;
}

@media (min-width: 600px) {
  .orwa-hm-articles {
    margin-bottom: 100px;
  }
}

.orwa-hm-articles__list {
  max-width: 1000px;
  margin: 20px auto 0;
}

@media (min-width: 600px) {
  .orwa-hm-articles__list {
    margin-top: 30px;
  }
}

.orwa-hm-articles__item + .orwa-hm-articles__item {
  border-top: 1px solid #ccc;
}

.orwa-hm-articles__link {
  display: flex;
  align-items: start;
  gap: 6%;
  padding: 30px 0;
}

.orwa-hm-articles__thumb {
  flex: 0 0 30%;
  aspect-ratio: 3 / 2;
}

@media (min-width: 1025px) {
  .orwa-hm-articles__thumb {
    flex-basis: 25%;
  }
}

.orwa-hm-articles__image {
  height: 100%;
  object-fit: cover;
}

.orwa-hm-articles__attrs {
  font-size: 12px;
  line-height: 1;
}

.orwa-hm-articles__cat {
  display: inline-block;
  margin-bottom: 10px;
  padding: 6px 8px;
  border-radius: 4px;
  background: #e6f2f0;
}

.orwa-hm-articles__cat + .orwa-hm-articles__cat {
  margin-left: 10px;
}

.orwa-hm-articles__title {
  font-size: calc(16px + 4 * ((100vw - 320px) / 280));
  font-weight: 700;
  line-height: 1.4em;
}

.orwa-hm-articles__desc {
  margin-top: 10px;
  font-size: 14px;
  line-height: 1.4285714286; /* 旧サイトは 14px で 20px の比率。600px 以上で 16px になると行間も広がる */
}

@media (min-width: 600px) {
  .orwa-hm-articles__attrs {
    font-size: 14px;
  }

  .orwa-hm-articles__cat {
    padding: 8px;
  }

  .orwa-hm-articles__title {
    font-size: 20px;
  }

  .orwa-hm-articles__desc {
    font-size: 16px;
  }
}

@media (min-width: 1025px) {
  .orwa-hm-articles__cat {
    padding: 10px;
  }
}

/* --- バナー（旧 .bnr） ----------------------------------------- */

.orwa-hm-bnr {
  margin-top: 40px;
}

.orwa-hm-bnr__item + .orwa-hm-bnr__item {
  margin-top: 30px;
}

.orwa-hm-bnr__link,
.orwa-hm-bnr__sublink {
  display: block;
  max-width: 1000px;
  margin-inline: auto;
}

@media (min-width: 1025px) {
  .orwa-hm-bnr__link,
  .orwa-hm-bnr__sublink {
    width: 60%;
  }
}

/* 「中国語版はこちら」。旧サイトは style 属性で指定していた。 */
.orwa-hm-bnr__sublink {
  margin-top: 30px;
  font-weight: 700;
  text-align: right;
}

:where(.orwa-hm) .orwa-hm-bnr__sublink {
  color: #72b5ab;
}

/* =========================================================
   メニューの一覧（template-parts/honeymoon/menu-list.php。旧 archive-menu.php）
   メニューの親と、テーマ・エリア・カテゴリーの分類ページで共通。
   ========================================================= */

/* 旧サイトはページ（main）の上の余白とヘッダーの分の余白の内側に見出しの余白（.67em）があり、重ならなかった。
   flow-root で見出しの余白を枠の中に留め、旧サイトと同じ位置（ヘッダーの 60px＋18.76px 下）にする。 */
.orwa-hm-archive {
  display: flow-root;
  margin-top: 40px;
  padding-bottom: 40px;
}

@media (min-width: 600px) {
  .orwa-hm-archive {
    margin-top: 60px;
    padding-bottom: 60px;
  }
}

/* ページの見出し（h1）。旧サイトは normalize.css の h1 の余白（.67em）が残っていた。 */
.orwa-hm-heading--page {
  margin: .67em 0;
}

/* 分類ページで選んでいる分類の札（旧 .post-attrs--archive）。中央寄せ。 */
.orwa-hm-attrs--archive {
  text-align: center;
}

.orwa-hm-no-post {
  max-width: 1200px;
  margin-inline: auto;
  padding-block: 40px;
  text-align: center;
}

@media (min-width: 600px) {
  .orwa-hm-no-post {
    padding-block: 60px;
  }
}

/* ページ送り（旧 .paginate / .page-numbers）。今のページに緑の下線、前後は矢印の画像。 */
.orwa-hm-paginate {
  max-width: 1200px;
  margin: 60px auto 0;
}

/* 共通の base.css（.orwa-main .page-numbers の枠線・角丸・最小幅・余白）は、ハネムーンでは使わない */
.orwa-hm-paginate .page-numbers {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
}

.orwa-hm-paginate :is(a, span).page-numbers {
  display: block;
  padding: 10px;
}

/* 共通の base.css（.orwa-main .page-numbers.current の色の反転）を打ち消す */
.orwa-hm-paginate .page-numbers.current {
  background: linear-gradient(transparent 80%, #c7ece6 0%);
  color: #333;
}

.orwa-hm-paginate :is(.prev, .next).page-numbers {
  width: 2em;
  height: 2em;
  background: no-repeat center / cover;
}

.orwa-hm-paginate .prev.page-numbers {
  background-image: url("../img/honeymoon/btn_arrow-left.svg");
}

.orwa-hm-paginate .next.page-numbers {
  background-image: url("../img/honeymoon/btn_arrow-right.svg");
}

@media (min-width: 600px) {
  .orwa-hm-paginate .page-numbers {
    gap: 30px;
    font-size: 22px;
  }
}

/* =========================================================
   メニューの詳細（template-parts/honeymoon/menu-item.php。旧 single-menu.php / menu.scss / _single.scss）
   ========================================================= */

/* --- メイン写真とタイトル（旧 .menu__mainimage / .menu__ttl） ------
   幅 800px・3:2 の黒地に写真を収め、下側に黒のぼかしを敷いて白い太字のタイトル。 */

.orwa-hm-menu-detail__header {
  max-width: 800px;
  margin-inline: auto;
}

.orwa-hm-menu-detail__visual {
  position: relative;
  aspect-ratio: 3 / 2;
  background: #333;
}

.orwa-hm-menu-detail__image {
  height: 100%;
  margin: 0 auto;
  object-fit: contain;
}

.orwa-hm-menu-detail__title {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  margin: 0;
  padding: 30px 4% 20px;
  background: linear-gradient(to top, rgb(0 0 0 / 50%) 50%, rgb(0 0 0 / 0%));
  font-size: 20px;
  font-weight: 700;
  line-height: 25px;
  color: #fff;
}

@media (min-width: 600px) {
  .orwa-hm-menu-detail__title {
    font-size: 22px;
    line-height: 30px;
  }
}

@media (min-width: 1025px) {
  .orwa-hm-menu-detail__title {
    padding-inline: 20px;
  }
}

/* --- 本文の幅（旧 .single__content / .menu-desc） ------------------ */

.orwa-hm-menu-detail__content {
  position: relative;
  margin-top: 30px;
  padding-bottom: 60px;
}

.orwa-hm-menu-detail__desc {
  max-width: 800px;
  margin-inline: auto;
  padding-inline: 4%;
}

@media (min-width: 1025px) {
  .orwa-hm-menu-detail__desc {
    padding-inline: 20px;
  }
}

/* 概要（旧 .single__desc）。 */
.orwa-hm-menu-detail__summary {
  margin-top: 20px;
  font-size: 14px;
  line-height: 23px;
}

.orwa-hm-menu-detail__summary > p + p {
  margin-top: .8em;
}

@media (min-width: 600px) {
  .orwa-hm-menu-detail__summary {
    font-size: 16px;
    line-height: 26px;
  }
}

.orwa-hm-menu-detail__others {
  margin-top: 40px;
}

/* --- POINT（旧 .menu-point）。薄い緑の太枠に、番号の画像を付けた箇条書き。 ---- */

.orwa-hm-point-box {
  position: relative;
  margin-top: 40px;
  padding: 30px 20px 20px;
  border: 4px solid #c7ece6;
  border-radius: 4px;
}

.orwa-hm-point-box__title {
  display: inline-block;
  position: absolute;
  top: -14px;
  left: 50%;
  padding: 0 .5em;
  background: #fff;
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
  transform: translateX(-50%);
}

.orwa-hm-point-box__item {
  padding: 6px 0 6px 30px;
  background: no-repeat left top / auto 30px;
  font-size: 14px;
  line-height: 23px;
}

.orwa-hm-point-box__item:nth-of-type(1) {
  background-image: url("../img/honeymoon/icon_point_1.svg");
}

.orwa-hm-point-box__item:nth-of-type(2) {
  background-image: url("../img/honeymoon/icon_point_2.svg");
}

.orwa-hm-point-box__item:nth-of-type(3) {
  background-image: url("../img/honeymoon/icon_point_3.svg");
}

.orwa-hm-point-box__item:nth-of-type(4) {
  background-image: url("../img/honeymoon/icon_point_4.svg");
}

.orwa-hm-point-box__item:nth-of-type(5) {
  background-image: url("../img/honeymoon/icon_point_5.svg");
}

@media (min-width: 600px) {
  .orwa-hm-point-box {
    margin-top: 60px;
  }

  .orwa-hm-point-box__title {
    font-size: 26px;
  }

  .orwa-hm-point-box__item {
    padding: 10px 0 10px 40px;
    background-size: auto 35px;
    font-size: 16px;
    line-height: 26px;
  }
}

/* --- 情報の表（旧 .single-info--menu）。上下に灰色の線。 ------------- */

.orwa-hm-info {
  margin-top: 40px;
  padding: 20px;
  border-block: 1px solid #999;
}

.orwa-hm-info__term {
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
}

.orwa-hm-info__desc {
  margin-top: 6px;
  padding-left: 1em;
  font-size: 14px;
  line-height: 23px;
}

.orwa-hm-info__desc + .orwa-hm-info__term {
  margin-top: 20px;
}

.orwa-hm-info__desc a {
  text-decoration: underline;
}

@media (min-width: 600px) {
  .orwa-hm-info {
    margin-top: 60px;
  }

  .orwa-hm-info__desc {
    font-size: 16px;
    line-height: 26px;
  }
}

/* --- 旅程（旧 .menu-itinerary）。クリーム色の紙（右上を折り返し、右下に影）に、緑の点と線の目次。 ---- */

.orwa-hm-itinerary {
  position: relative;
  isolation: isolate;
  margin-top: 30px;
  padding: 20px;
}

/* 紙の地。影（__shadow）より手前、文字より奥に置くため、地も重ねる要素にしている。 */
.orwa-hm-itinerary::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: #fffbf4;
  content: "";
}

/* 右上の折り返し（白い三角で角を隠す）。紙と影の両方に付ける。 */
.orwa-hm-itinerary::after,
.orwa-hm-itinerary__shadow::after {
  position: absolute;
  top: -20px;
  right: 0;
  width: 0;
  height: 0;
  border-top: 20px solid rgb(255 255 255 / 0%);
  border-bottom: 20px solid rgb(255 255 255 / 0%);
  border-left: 20px solid #fff;
  content: "";
  transform: rotate(-45deg);
  transform-origin: center right;
}

.orwa-hm-itinerary__shadow {
  position: absolute;
  top: 6px;
  left: 6px;
  z-index: -2;
  width: 100%;
  height: 100%;
  background: #d5c9b1;
}

@media (min-width: 600px) {
  .orwa-hm-itinerary {
    margin-top: 60px;
  }
}

.orwa-hm-itinerary__title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}

/* 緑の縦線と点。 */
.orwa-hm-itinerary__list {
  position: relative;
  margin-top: 30px;
}

.orwa-hm-itinerary__list::before {
  position: absolute;
  top: 9px;
  left: 9px;
  width: 2px;
  height: calc(100% - 9px);
  background: #72b5ab;
  content: "";
}

.orwa-hm-itinerary__item {
  display: flex;
  position: relative;
  opacity: 0;
}

.orwa-hm-itinerary__item::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: #72b5ab;
  content: "";
}

.orwa-hm-itinerary__time {
  flex: 0 0 5em;
  padding: 0 0 20px 30px;
}

.orwa-hm-itinerary__link {
  display: inline-block;
  padding: 0 0 20px 20px;
  text-decoration: underline;
}

:where(.orwa-hm) .orwa-hm-itinerary__link {
  text-decoration: underline;
}

/* 表示位置まで来たら、上から順に浮かび上がる（旧 .menu-itinerary.active）。 */
@keyframes orwa-hm-fade-up {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.orwa-hm-itinerary.is-active .orwa-hm-itinerary__item {
  animation: orwa-hm-fade-up .5s ease forwards;
}

.orwa-hm-itinerary.is-active .orwa-hm-itinerary__item:nth-of-type(1) { animation-delay: .3s; }
.orwa-hm-itinerary.is-active .orwa-hm-itinerary__item:nth-of-type(2) { animation-delay: .6s; }
.orwa-hm-itinerary.is-active .orwa-hm-itinerary__item:nth-of-type(3) { animation-delay: .9s; }
.orwa-hm-itinerary.is-active .orwa-hm-itinerary__item:nth-of-type(4) { animation-delay: 1.2s; }
.orwa-hm-itinerary.is-active .orwa-hm-itinerary__item:nth-of-type(5) { animation-delay: 1.5s; }
.orwa-hm-itinerary.is-active .orwa-hm-itinerary__item:nth-of-type(6) { animation-delay: 1.8s; }
.orwa-hm-itinerary.is-active .orwa-hm-itinerary__item:nth-of-type(7) { animation-delay: 2.1s; }
.orwa-hm-itinerary.is-active .orwa-hm-itinerary__item:nth-of-type(8) { animation-delay: 2.4s; }
.orwa-hm-itinerary.is-active .orwa-hm-itinerary__item:nth-of-type(9) { animation-delay: 2.7s; }
.orwa-hm-itinerary.is-active .orwa-hm-itinerary__item:nth-of-type(n + 10) { animation-delay: 3s; }

@media (prefers-reduced-motion: reduce) {
  .orwa-hm-itinerary__item {
    opacity: 1;
  }

  .orwa-hm-itinerary.is-active .orwa-hm-itinerary__item {
    animation: none;
  }
}

/* --- 行程（旧 .menu__schedule / .menu__timezone / .menuitem） ------------ */

.orwa-hm-schedule {
  max-width: 1200px;
  margin: 80px auto 0;
  padding-inline: 4%;
}

@media (min-width: 1025px) {
  .orwa-hm-schedule {
    margin-top: 100px;
    padding-inline: 20px;
  }
}

.orwa-hm-schedule__zone + .orwa-hm-schedule__zone {
  margin-top: 60px;
}

@media (min-width: 600px) {
  .orwa-hm-schedule__zone + .orwa-hm-schedule__zone {
    margin-top: 80px;
  }
}

/* 時間帯の見出し（旧 .menu__timezone-header）。英字の画像の右下に太陽（朝・午後は下半分を白で隠して日の出・日の入り）。 */
.orwa-hm-schedule__zone-title {
  display: inline-block;
  position: relative;
  isolation: isolate;
  height: 30px;
}

.orwa-hm-schedule__zone-title::before,
.orwa-hm-schedule__zone-title::after {
  display: block;
  position: absolute;
  top: 50%;
  left: 70%;
  width: 70px;
  content: "";
}

.orwa-hm-schedule__zone-title::before {
  z-index: -2;
  aspect-ratio: 1;
  background: no-repeat center / contain;
  transform: translateY(-50%);
}

.orwa-hm-schedule__zone-title::after {
  z-index: -1;
  aspect-ratio: 2;
  background: #fff;
}

.orwa-hm-schedule__zone-title--morning::before {
  background-image: url("../img/honeymoon/hd_sun_pink.svg");
}

.orwa-hm-schedule__zone-title--noon::before {
  width: 60px;
  background-image: url("../img/honeymoon/hd_sun_red.svg");
}

.orwa-hm-schedule__zone-title--noon::after {
  content: none;
}

.orwa-hm-schedule__zone-title--afternoon::before {
  background-image: url("../img/honeymoon/hd_sun_orange.svg");
}

.orwa-hm-schedule__zone-image {
  position: relative;
  width: auto;
  height: 100%;
}

@media (min-width: 600px) {
  .orwa-hm-schedule__zone-title {
    height: 40px;
  }

  .orwa-hm-schedule__zone-title::before,
  .orwa-hm-schedule__zone-title::after {
    width: 80px;
  }

  .orwa-hm-schedule__zone-title--noon::before {
    width: 70px;
  }
}

@media (min-width: 1025px) {
  .orwa-hm-schedule__zone-title {
    height: 50px;
  }

  .orwa-hm-schedule__zone-title::before,
  .orwa-hm-schedule__zone-title::after {
    width: 90px;
  }

  .orwa-hm-schedule__zone-title--noon::before {
    width: 80px;
  }
}

/* 行程1件（旧 .menuitem）。 */
.orwa-hm-schedule-item {
  margin-top: 20px;
  scroll-margin-top: calc(var(--wp-admin--admin-bar--height, 0px) + 76px);
}

.orwa-hm-schedule-item + .orwa-hm-schedule-item {
  margin-top: 60px;
}

@media (min-width: 1025px) {
  .orwa-hm-schedule-item + .orwa-hm-schedule-item {
    margin-top: 80px;
  }
}

/* 時刻と見出しの枠（旧 .menuitem__header）。 */
.orwa-hm-schedule-item__header {
  max-width: 800px;
  margin-inline: auto;
  padding: 10px;
  border: 1px solid #333;
  border-radius: 8px;
  background: #fff;
}

.orwa-hm-schedule-item__title {
  margin-top: 10px;
  font-size: 18px;
  font-weight: 700;
  line-height: 25px;
}

.orwa-hm-schedule-item__desc {
  max-width: 800px;
  margin: 20px auto 0;
  font-size: 14px;
  line-height: 23px;
}

.orwa-hm-schedule-item__desc > p + p {
  margin-top: .8em;
}

@media (min-width: 600px) {
  .orwa-hm-schedule-item__header {
    padding: 16px;
  }

  .orwa-hm-schedule-item__title {
    font-size: 20px;
    line-height: 28px;
  }

  .orwa-hm-schedule-item__desc {
    margin-top: 30px;
    font-size: 16px;
    line-height: 26px;
  }
}

/* --- 写真のスライダー（旧 .menuitem__slide。旧サイトは Swiper） -----------
   SP は1枚ずつ。600px 以上は中央の写真を 1.5 倍に大きくし、左右の写真を薄く見せる
   （1枚の幅は、600px 以上で全体の 1/1.8、1025px 以上で 1/2.5。assets/js/honeymoon.js が計算する）。 */

.orwa-hm-gallery {
  position: relative;
  overflow: hidden;
  padding: 30px 0;
}

@media (min-width: 600px) {
  .orwa-hm-gallery {
    padding: 100px 0 120px;
  }
}

.orwa-hm-gallery__track {
  display: flex;
  transition: transform 1s ease;
}

.orwa-hm-gallery__slide {
  flex: 0 0 auto;
  width: 100%;
  aspect-ratio: 3 / 2;
  background: #fff;
  transition: transform .7s;
}

.orwa-hm-gallery__slide img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

@media (min-width: 600px) {
  .orwa-hm-gallery__slide img {
    opacity: .5;
    transition: opacity .7s;
  }

  .orwa-hm-gallery__slide.is-active {
    position: relative;
    z-index: 1;
    transform: scale(1.5);
  }

  .orwa-hm-gallery__slide.is-active img {
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .orwa-hm-gallery__track,
  .orwa-hm-gallery__slide,
  .orwa-hm-gallery__slide img {
    transition: none;
  }
}

.orwa-hm-gallery__arrow {
  position: absolute;
  top: 50%;
  z-index: 2;
  width: 40px;
  height: 40px;
  margin-top: -22px; /* 旧サイトは Swiper の既定（矢印の大きさ 44px の半分）のまま、高さだけ 40px にしていた */
  padding: 0;
  border: 0;
  background: no-repeat center / contain;
  cursor: pointer;
}

.orwa-hm-gallery__arrow:disabled {
  cursor: default;
  opacity: .35;
}

.orwa-hm-gallery__arrow--prev {
  left: 10px;
  background-image: url("../img/honeymoon/btn_arrow-left.svg");
}

.orwa-hm-gallery__arrow--next {
  right: 10px;
  background-image: url("../img/honeymoon/btn_arrow-right.svg");
}

/* 旧サイトは Swiper の点の並び（下端に置いた高さ 22px の行）の中で、点が下から 5px 浮いていた。 */
.orwa-hm-gallery__dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  position: absolute;
  right: 0;
  bottom: 5px;
  left: 0;
  z-index: 2;
}

/* 点は入口のスライダーと同じ見た目。 */
.orwa-hm-gallery__dots .orwa-hm-mv__dot {
  margin: 0;
}

/* --- 下に貼り付くボタン（旧 .btn-wrap--sticky）。2秒後に下から現れる。 ---- */

@keyframes orwa-hm-appear {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.orwa-hm-actions {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  position: sticky;
  bottom: 20px;
  z-index: 1;
  max-width: 800px;
  margin: 40px auto 0;
  padding: 0 calc(8% + 45px) 0 4%;
  opacity: 0;
  animation: orwa-hm-appear .5s ease 2s forwards;
}

@media (prefers-reduced-motion: reduce) {
  .orwa-hm-actions {
    opacity: 1;
    animation: none;
  }
}

@media (min-width: 600px) {
  .orwa-hm-actions {
    gap: 30px;
  }
}

@media (min-width: 1025px) {
  .orwa-hm-actions {
    padding-inline: 0;
  }
}

.orwa-hm-actions__item {
  flex-grow: 1;
}

/* 「提案を依頼する」。入口のボタンと同じ虹色の枠。 */
.orwa-hm-actions__item--request {
  background-image: linear-gradient(150deg, rgb(32 237 237), rgb(176 229 179) 20%, rgb(229 229 126) 25%, rgb(175 229 132) 30%, rgb(46 229 68) 50%, rgb(175 229 132) 70%, rgb(229 229 126) 75%, rgb(176 229 179) 80%, rgb(32 237 237));
  background-position: 1% 50%;
  background-size: 200% auto;
  transition: background-position .3s ease-out;
}

.orwa-hm-actions__item--request:hover {
  background-position: 99% 50%;
}

.orwa-hm-actions__link {
  display: block;
  height: 100%;
  padding: 6px;
}

.orwa-hm-actions__inner {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  padding: 10px;
  background: #fff;
  font-size: 14px;
  font-weight: 700;
  line-height: 19px;
}

/* 「LINEで相談」。LINE の緑に白い文字と LINE のアイコン。 */
.orwa-hm-actions__item--line {
  border-radius: 4px;
  background: #06c755;
  transition: opacity .3s ease-out;
}

.orwa-hm-actions__item--line:hover {
  opacity: .9;
}

.orwa-hm-actions__line {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  padding: 10px;
  font-size: 14px;
  font-weight: 700;
  line-height: 19px;
}

:where(.orwa-hm) .orwa-hm-actions__line {
  color: #fff;
}

/* アイコンの高さはボタンの中身の高さ（16px のとき 34px）。旧サイトと同じく 100% で指定する。
   em で固定するとアイコンの幅がボタンの幅の配分に入り、「提案を依頼する」が 17px 狭くなる。 */
.orwa-hm-actions__line::before {
  height: 100%;
  margin-right: 10%;
  aspect-ratio: 1;
  background: url("../img/honeymoon/btn_line.png") no-repeat center / contain;
  content: "";
}

@media (min-width: 600px) {
  .orwa-hm-actions__inner,
  .orwa-hm-actions__line {
    font-size: 16px;
    line-height: 22px;
  }
}

/* =========================================================
   ブログの一覧（template-parts/honeymoon/blog-list.php。旧 archive-blog.php / taxonomy-blog_cat.php / _article_archive.scss）
   ブログの親とカテゴリーのページで共通。記事の行は入口の「特集記事」（.orwa-hm-articles）と同じ。
   ========================================================= */

/* カテゴリーのページで選んでいるカテゴリー名（旧 .archive__current-cat） */
.orwa-hm-archive__current {
  max-width: 1200px;
  margin: 30px auto 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}

@media (min-width: 600px) {
  .orwa-hm-archive__current {
    margin-top: 60px;
    font-size: 18px;
  }
}

/* カテゴリーのボタン（旧 .cat-menu）。薄い緑の角丸。 */
.orwa-hm-cat-menu {
  max-width: 1200px;
  margin: 30px auto 0;
}

.orwa-hm-cat-menu__list {
  display: flex;
  justify-content: center;
  gap: 20px;
}

.orwa-hm-cat-menu__link {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 3em;
  padding: 12px 10px;
  border-radius: 6px;
  background: #c7ece6;
  font-size: 14px;
  font-weight: 700;
  line-height: 18px;
  transition: background-color .3s, color .3s;
}

:where(.orwa-hm) .orwa-hm-cat-menu__link:hover {
  background: #72b5ab;
  color: #fff;
}

@media (min-width: 600px) {
  .orwa-hm-cat-menu__list {
    margin-top: 60px;
    gap: 30px;
  }

  .orwa-hm-cat-menu__link {
    padding: 16px 20px;
  }
}

/* 一覧では下の余白を入口の区画（80px）にしない */
.orwa-hm-articles--archive {
  margin-bottom: 0;
}

/* カテゴリーのページの戻るボタン。旧サイトはページ送りが1ページだけでも空の枠（上に 60px）を置いていたため、
   ページ送りがないときはボタンの上が 60px になる。 */
.orwa-hm-articles + .orwa-hm-archive__back {
  margin-top: 60px;
}

/* =========================================================
   ブログの詳細（template-parts/honeymoon/blog-item.php。旧 single-blog.php / article.scss）
   ========================================================= */

/* --- メイン写真・タイトル・カテゴリーと日付（旧 .single__header / .article__mainimage / .article__ttl / .article-attrs） --- */

.orwa-hm-blog-detail__header {
  max-width: 800px;
  margin-inline: auto;
}

.orwa-hm-blog-detail__visual {
  position: relative;
  aspect-ratio: 3 / 2;
}

.orwa-hm-blog-detail__image {
  height: 100%;
  margin-inline: auto;
  object-fit: cover;
}

.orwa-hm-blog-detail__title {
  padding: 20px 4%;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.3928571429;
}

.orwa-hm-blog-detail__attrs {
  padding-inline: 4%;
  font-size: 12px;
  line-height: 1;
}

.orwa-hm-blog-detail__cat {
  display: inline-block;
  margin-bottom: 10px;
  padding: 6px 8px;
  border-radius: 4px;
  background: #e6f2f0;
}

.orwa-hm-blog-detail__cat + .orwa-hm-blog-detail__cat {
  margin-left: 10px;
}

.orwa-hm-blog-detail__day {
  display: inline-block;
}

.orwa-hm-blog-detail__day + .orwa-hm-blog-detail__day {
  margin-left: 10px;
}

@media (min-width: 600px) {
  .orwa-hm-blog-detail__title {
    font-size: 30px;
    line-height: 1.4;
  }

  .orwa-hm-blog-detail__attrs {
    font-size: 16px;
    line-height: .875;
  }

  .orwa-hm-blog-detail__cat {
    padding: 10px;
  }

  .orwa-hm-blog-detail__day {
    margin-top: 10px;
  }
}

@media (min-width: 1025px) {
  .orwa-hm-blog-detail__title {
    padding: 30px 0 20px;
    font-size: 36px;
    line-height: 1.3888888889;
  }

  .orwa-hm-blog-detail__attrs {
    padding-inline: 0;
  }
}

/* --- 本文（旧 .single__content / .article-desc）。移行した本文の見出し・段落・写真に旧サイトの見た目を当てる。 --- */

.orwa-hm-blog-detail__content {
  position: relative;
  margin-top: 30px;
  padding-bottom: 60px;
}

.orwa-hm-blog-detail__body {
  max-width: 800px;
  margin: 60px auto 0;
  padding-inline: 4%;
}

.orwa-hm-blog-detail__body :is(h1, h2) {
  margin-top: 3em;
}

.orwa-hm-blog-detail__body :is(h3, h4, h5) {
  margin-top: 2em;
}

.orwa-hm-blog-detail__body h1 {
  padding: 0 0 .3em .6em;
  border-bottom: 2px solid #72b5ab;
  border-left: 10px solid #72b5ab;
  font-size: 1.6em;
}

.orwa-hm-blog-detail__body h2 {
  padding-bottom: .3em;
  border-bottom: 2px solid #333;
  font-size: 1.5em;
}

.orwa-hm-blog-detail__body h3 {
  padding-bottom: .2em;
  border-bottom: 4px solid #c7ece6;
  font-size: 1.17em;
}

.orwa-hm-blog-detail__body h4 {
  padding-bottom: .2em;
  font-size: 1.17em;
}

.orwa-hm-blog-detail__body :is(p, figure, ul) {
  margin-top: 1.5em;
}

.orwa-hm-blog-detail__body li + li {
  margin-top: .3em;
}

.orwa-hm-blog-detail__body p {
  font-size: 14px;
  line-height: 1.6em;
}

/* 写真は元の大きさまで（幅いっぱいに引き伸ばさない） */
.orwa-hm-blog-detail__body img {
  width: auto;
  max-width: 100%;
}

/* 旧サイトは本文の写真を中（縦横 300px 以内）・大（縦横 1024px 以内）の大きさで入れていた。
   移行で写真の参照が元の大きさに置き換わったため、大きさの目印（size-medium / size-large）から旧サイトの大きさに収める。 */
.orwa-hm-blog-detail__body img.size-medium {
  max-width: min(100%, 300px);
  max-height: 300px;
}

.orwa-hm-blog-detail__body img.size-large {
  max-width: min(100%, 1024px);
  max-height: 1024px;
}

:where(.orwa-hm) .orwa-hm-blog-detail__body a {
  text-decoration: underline;
}

.orwa-hm-blog-detail__body .wp-element-caption {
  margin-top: .5em;
  margin-bottom: 1em;
  font-size: 14px;
  color: #666;
}

/* 旧形式の写真の説明（[caption]）。旧サイトは枠が div・説明が段落だったため、枠の上は空けず、説明は本文の段落と同じ見た目。
   移行後は WordPress が figure / figcaption で出すので、旧サイトの見た目に戻す。 */
.orwa-hm-blog-detail__body .wp-caption {
  max-width: 100%;
  margin-top: 0;
}

.orwa-hm-blog-detail__body .wp-caption-text {
  margin-top: 1.5em;
  margin-bottom: 0;
  font-size: 14px;
  line-height: 1.6em;
}

@media (min-width: 600px) {
  .orwa-hm-blog-detail__body :is(p, .wp-caption-text) {
    font-size: 16px;
  }
}

@media (min-width: 1025px) {
  .orwa-hm-blog-detail__body {
    padding-inline: 0;
  }
}

/* --- カレンダーの記事の月のボタン（旧 .article__tbn-list） --- */

.orwa-hm-calendar__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-content: flex-start;
  gap: 20px 40px;
  max-width: 630px;
  margin: 80px auto 0;
  padding-inline: 4%;
}

.orwa-hm-calendar__item {
  flex-basis: calc((100% - 40px) / 2);
}

.orwa-hm-calendar__link {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 14px;
  border-radius: 6px;
  background: #c7ece6;
  font-size: 14px;
  font-weight: 700;
  line-height: 18px;
  transition: background-color .3s, color .3s;
}

:where(.orwa-hm) .orwa-hm-calendar__link:hover {
  background: #72b5ab;
  color: #fff;
}

/* カレンダー以外の記事の「沖縄新婚旅行おすすめブログTOP」（旧 .btn--article） */
.orwa-hm-blog-detail__back {
  margin-top: 80px;
}

@media (min-width: 600px) {
  .orwa-hm-calendar__list {
    margin-top: 100px;
  }

  .orwa-hm-calendar__link {
    padding: 16px;
  }

  .orwa-hm-blog-detail__back {
    margin-top: 100px;
  }
}

/* =========================================================
   本文だけのページ（template-parts/honeymoon/page-content.php。旧 page.php / page.scss の Cancel policy）
   本文は移行した HTML のまま。旧サイトのクラス（.back_content / .text_line / .has-text-align-left）に旧サイトの値を当てる。
   ========================================================= */

/* 旧サイトは本文の柱（.content）の文字を 13px にしていた */
.orwa-hm-page {
  font-size: 13px;
}

.orwa-hm-page .wp-block-image {
  margin-bottom: 1em;
}

.orwa-hm-page h2 {
  font-size: 1.5em;
}

/* 灰色の箱（旧 .back_content）と中の余白（旧 .text_line） */
.orwa-hm-page .back_content {
  margin-bottom: 70px;
  background: #f2f2f2;
}

.orwa-hm-page .text_line {
  padding: 30px 20px;
}

/* 項目の見出し。移行で h4 から h3 になったが、旧サイトの h4（本文と同じ大きさの太字）に合わせる。左に青緑の線。 */
.orwa-hm-page .text_line :is(h3, h4) {
  font-size: 1em;
}

.orwa-hm-page .has-text-align-left {
  padding-inline: 2px;
  border-left: 4px solid #209299;
  text-align: left;
}

/* 表（キャンセル料）。旧サイトは WordPress 本体の表の見た目（幅いっぱい・罫線・余白 .5em）が当たっていた。
   新サイトでは当たらないため、同じ値をここで当てる。 */
.orwa-hm-page .wp-block-table {
  margin-bottom: 1em;
  overflow-x: auto;
}

.orwa-hm-page .wp-block-table table {
  width: 100%;
  border-collapse: collapse;
}

.orwa-hm-page .wp-block-table :is(th, td) {
  padding: .5em;
  border: 1px solid;
}

@media (min-width: 600px) {
  .orwa-hm-page .text_line {
    padding: 50px 70px 40px;
    line-height: 30px;
  }
}

/* =========================================================
   ハネムーン診断（template-parts/honeymoon/chart.php。旧 page-chart.php / chart.scss）
   ========================================================= */

/* 質問・結果のときはスタートが消え、箱の上の余白（120〜130px）が最初に来る。
   その余白が外へ抜けると見出しまで下がって箱に重なるため、flow-root で枠の中に留める（旧サイトは main の余白が受け止めていた）。 */
.orwa-hm-chart {
  display: flow-root;
  position: relative;
  z-index: 0;
}

/* 見出し。スタートの背景の写真の上（質問・結果のときは箱の上の余白）に重ねる。 */
.orwa-hm-chart__title {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 2;
  max-width: 1200px;
  margin-inline: auto;
  padding-top: 50px;
  font-family: notoSerifJP, YuMincho, "Yu Mincho", serif;
  font-size: 22px;
  font-weight: 600;
  line-height: 1;
  text-align: center;
}

/* --- スタート（旧 .start） --- */

.orwa-hm-chart__start {
  position: relative;
  z-index: 1;
  padding: 120px 4% 100px;
  background: url("../img/honeymoon/chart/bg_start.jpg") no-repeat center / cover;
  background-image: image-set(url("../img/honeymoon/chart/bg_start.webp") type("image/webp"), url("../img/honeymoon/chart/bg_start.jpg") type("image/jpeg"));
}

/* 文は区切りごとに折り返さない固まり（旧サイトどおり span を並べる） */
.orwa-hm-chart__intro {
  max-width: 600px;
  margin: 0 auto 100px;
  font-size: 0;
  text-align: center;
}

.orwa-hm-chart__intro p + p {
  margin-top: 20px;
}

.orwa-hm-chart__intro span {
  display: inline-block;
  font-size: 16px;
  line-height: 32px;
}

/* --- ボタン（旧 .chart-btn）。緑地に白い文字、右に小さな ▶。乗せると白地に緑の文字。 --- */

.orwa-hm-chart-btn {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  width: 100%;
  max-width: 500px;
  min-height: calc(40px + 2em * 1.4);
  margin-inline: auto;
  padding: 20px;
  border: 2px solid #72b5ab;
  background: #72b5ab;
  font-family: inherit;
  font-size: 16px;
  font-weight: 700;
  line-height: 22px;
  text-align: left;
  cursor: pointer;
  transition: all .3s;
}

:where(.orwa-hm) .orwa-hm-chart-btn {
  color: #fff;
}

.orwa-hm-chart-btn::after {
  margin-left: 1em;
  font-size: .5em;
  content: "▶";
}

:where(.orwa-hm) .orwa-hm-chart-btn:hover {
  background: #fff;
  color: #72b5ab;
}

/* 文が真ん中の短いボタン（スタート・結果のメニュー・もどる） */
.orwa-hm-chart-btn--nav {
  justify-content: center;
  width: 80%;
  min-height: 0;
}

@media (min-width: 600px) {
  .orwa-hm-chart__title {
    font-size: 24px;
  }

  .orwa-hm-chart-btn {
    font-size: 18px;
    line-height: 25px;
  }
}

@media (min-width: 1025px) {
  .orwa-hm-chart__start {
    padding-top: 130px;
  }
}

@media (min-width: 1200px) {
  .orwa-hm-chart__title {
    font-size: 28px;
  }
}

/* --- 質問と結果の箱（旧 .chart__inner / .choose / .answer） --- */

.orwa-hm-chart__panel {
  position: relative;
  max-width: 1200px;
  margin: 120px 4% 100px;
  padding: 40px 8% 60px;
  background: #e6f2f0;
}

/* 結果になると桃色の箱。右上に白い大きな「Result」。 */
.orwa-hm-chart__panel.is-result {
  z-index: 0;
  padding: 10px 8% 30px;
  background: #fde8ec;
}

.orwa-hm-chart__panel.is-result::before {
  position: absolute;
  top: 10px;
  right: 0;
  z-index: -1;
  font-family: Charmonman, cursive;
  font-size: calc(70px + 80 * ((100vw - 320px) / 880));
  color: #fff;
  text-align: right;
  content: "Result";
}

@media (min-width: 1025px) {
  .orwa-hm-chart__panel {
    margin-top: 130px;
  }
}

@media (min-width: 1200px) {
  .orwa-hm-chart__panel {
    margin-inline: auto;
  }
}

/* 次の質問・結果は、ゆっくり浮かび上がる（旧サイトは jQuery の fadeIn） */
@keyframes orwa-hm-chart-fade {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.orwa-hm-chart-q.is-shown,
.orwa-hm-chart-result.is-shown {
  animation: orwa-hm-chart-fade .6s ease;
}

@media (prefers-reduced-motion: reduce) {
  .orwa-hm-chart-q.is-shown,
  .orwa-hm-chart-result.is-shown {
    animation: none;
  }
}

/* --- 質問（旧 .choose__*） --- */

.orwa-hm-chart-q__num {
  font-family: Charmonman, cursive;
  font-size: 45px;
  line-height: 1;
  color: #9a9a9a;
  text-align: center;
}

.orwa-hm-chart-q__num::before {
  display: block;
  margin-bottom: -10px;
  font-size: .9em;
  content: "Question";
}

.orwa-hm-chart-q__text {
  max-width: 600px;
  margin: 30px auto 0;
  font-size: 22px;
  font-weight: 400;
  line-height: 30px;
  text-align: center;
}

.orwa-hm-chart-q__image {
  max-width: 600px;
  margin: 40px auto 0;
}

.orwa-hm-chart-q__list {
  margin-top: 50px;
}

.orwa-hm-chart-q__item + .orwa-hm-chart-q__item {
  margin-top: 20px;
}

/* --- 結果（旧 .answer__*） --- */

.orwa-hm-chart-result {
  padding-block: 30px;
}

.orwa-hm-chart-result__type {
  max-width: 600px;
  margin: 30px auto 0;
  font-size: 22px;
  font-weight: 400;
  line-height: 30px;
  text-align: center;
}

.orwa-hm-chart-result__image {
  max-width: 600px;
  margin: 40px auto 0;
  overflow: hidden;
  border-radius: 20px;
}

.orwa-hm-chart-result__desc {
  max-width: 600px;
  margin: 40px auto;
  line-height: 1.6;
}

.orwa-hm-chart-result__text + .orwa-hm-chart-result__text {
  margin-top: 20px;
}

/* --- 結果のあと（旧 .chart-btn--back / .btn-wrap） --- */

.orwa-hm-chart__back {
  width: calc(92% * .84 * .8);
  margin: 60px auto 100px;
}

/* 提案・LINE のボタン。メニュー詳細の下に貼り付くボタンと同じ見た目で、ここでは貼り付けず最初から出す。
   右の余白は画面の幅によらず 4%（旧 chart.scss の上書き）。文字は画面の幅に合わせて 10px〜16px（旧サイトどおり）。 */
.orwa-hm-actions--chart {
  position: static;
  margin-bottom: 100px;
  padding-right: 4%;
  opacity: 1;
  animation: none;
}

.orwa-hm-actions--chart .orwa-hm-actions__item {
  flex: 1 1 0;
}

.orwa-hm-actions--chart :is(.orwa-hm-actions__inner, .orwa-hm-actions__line) {
  font-size: calc(10px + 6 * ((100vw - 320px) / 880));
  line-height: 1.3571428571;
  text-align: center;
}

.orwa-hm-actions--chart .orwa-hm-actions__line::before {
  height: 40px;
}

/* 旧サイトの行間の比率は 14px:19px（600px 以上は 16px:22px） */
@media (min-width: 600px) {
  .orwa-hm-actions--chart :is(.orwa-hm-actions__inner, .orwa-hm-actions__line) {
    line-height: 1.375;
  }
}

/* =========================================================
   申込フォーム（template-parts/honeymoon/contact-menu.php。旧 page-contact_menu.php / page.scss の .app-plan・.app-form）
   外の余白と見出しはメニュー一覧と同じ（.orwa-hm-archive / .orwa-hm-heading--page）。
   ========================================================= */

/* 選んだメニューの写真と名前。薄い緑の帯は柱の左右の余白まで広げる（旧 .app-plan）。 */
.orwa-hm-apply {
  margin: 30px -4vw 0;
  padding: 30px 4%;
  background: #e6f2f0;
}

.orwa-hm-apply__inner {
  display: flex;
  align-items: center;
  max-width: 800px;
  margin-inline: auto;
}

.orwa-hm-apply__thumb {
  flex-basis: 48%;
  margin-right: 5%;
}

.orwa-hm-apply__title {
  flex-basis: 48%;
  font-size: 16px;
  font-weight: 700;
  line-height: 22px;
}

/* Google フォームの埋め込み（旧 .app-form）。幅 800px まで・縦は幅の2倍。中でスクロールする。 */
.orwa-hm-apply-form {
  position: relative;
  width: 100%;
  max-width: 800px;
  aspect-ratio: 1 / 2;
  margin: 40px auto 0;
}

.orwa-hm-apply-form__frame {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

@media (min-width: 600px) {
  .orwa-hm-apply__title {
    font-size: 18px;
    line-height: 25px;
  }
}

@media (min-width: 1025px) {
  .orwa-hm-apply {
    margin-inline: -20px;
    padding-inline: 20px;
  }
}

@media (min-width: 1200px) {
  .orwa-hm-apply {
    margin-inline: auto;
  }
}


/* TASK_16：長いURLとパンくずはスマホ幅で折り返す。 */
@media (max-width: 599px) {
  .orwa-hm-blog-detail__body { overflow-wrap: anywhere; }
  .orwa-hm-crumbs__list { white-space: normal; }
  .orwa-hm-crumbs__item { max-width: 100%; overflow-wrap: anywhere; line-height: 1.5; }
  /* 旅程の折り返し装飾・影が画面の右へ出る5pxを、ボックス幅で確保する。 */
  .orwa-hm-menu-detail__desc .orwa-hm-itinerary { margin-right: 5px; }
}
/* 旧記事の意味のあるマーカーは残す。 */
.orwa-hm-blog-detail__body .yellow-marker {
  background: linear-gradient(transparent 60%, #fff49a 60%);
}
