@charset "UTF-8";
@media not all and (-webkit-min-device-pixel-ratio: 0), not all and (min-resolution: 0.001dpcm) {
  @supports (-webkit-appearance: none) {
    /* Mac Safari のみ適用 */
    body {
      -webkit-font-smoothing: antialiased; /* スムージングを調整して細く */
      font-weight: 300; /* 可能なら細めのウェイトを指定 */
      -webkit-text-stroke: 0.2px; /* 輪郭を軽く補強してシャープに */
      letter-spacing: 0.02em; /* 文字が潰れないように微調整 */
    }
  }
}
/* 管理バーが表示される時だけ、固定ヘッダー/ナビの位置を下げる */
body.admin-bar .header-nav__wrap {
  top: 32px; /* PCの管理バー高さ */
}

body.admin-bar .is-style-tabs-large-page {
  top: 32px; /* PCの管理バー高さ */
}

/* WP管理バーは画面幅が狭いと高さが46pxになる */
@media (max-width: 782px) {
  body.admin-bar .header-nav__wrap {
    top: 46px; /* SP/タブレットの管理バー高さ */
  }
  body.admin-bar .is-style-tabs-large-page {
    top: 46px; /* SP/タブレットの管理バー高さ */
  }
}
@media (max-width: 600px) {
  .header-nav__wrap.has-shadow {
    top: 0 !important;
  }
}
html {
  font-size: 100%;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  overflow: visible;
  padding: 0 !important;
  background-color: #ffffff;
  -webkit-text-stroke: 0.3px; /* フォントの輪郭を調整少し控えめに */
  text-rendering: optimizeLegibility; /* 読みやすさを向上 */
  scrollbar-width: none; /* Firefox */
}
body::-webkit-scrollbar {
  display: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  color: #333333;
  margin-bottom: 1.5rem;
}

h1 {
  font-size: 33px;
  line-height: 1.4;
  letter-spacing: 0em;
}

h2 {
  font-size: 25px;
  line-height: 1.4;
  letter-spacing: 0em;
}

h3 {
  font-size: 21px;
  line-height: 1.4;
  letter-spacing: 0em;
}

h4 {
  font-size: 18px;
  line-height: 1.4;
  letter-spacing: 0em;
}

h5 {
  font-size: 16px;
  line-height: 1.4;
  letter-spacing: 0em;
}

h6 {
  font-size: 15px;
  line-height: 1.4;
  letter-spacing: 0;
}

@media screen and (max-width: 767px) {
  h1 {
    font-size: 28px;
  }
  h2 {
    font-size: 24px;
  }
  h3 {
    font-size: 20px;
  }
  h4 {
    font-size: 18px;
  }
  h5 {
    font-size: 16px;
  }
  h6 {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  h1 {
    font-size: 26px;
  }
  h2 {
    font-size: 24px;
  }
  h3 {
    font-size: 20px;
  }
  h4 {
    font-size: 18px;
  }
  h5 {
    font-size: 16px;
  }
  h6 {
    font-size: 16px;
  }
}
p {
  font-size: 16px;
  font-weight: 300;
  line-height: 1.6875;
  letter-spacing: 0em;
  color: #333333;
}

.edit-link {
  display: none;
}

.wrapper {
  padding: 0;
}

.content-area {
  padding-left: 0;
  padding-right: 0;
}

.navbar {
  padding: 0;
}

@media screen and (min-width: 767px) {
  .sp {
    display: none !important;
  }
}

@media screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }
}

a {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  text-decoration: none;
}

img {
  width: 100%;
  height: 100%;
  max-width: 300px;
  margin-bottom: 0 !important;
}

p {
  margin-bottom: 0.5rem;
}

iframe {
  margin-bottom: 0 !important;
}

ul {
  padding-left: 0;
  list-style: none;
}

li {
  font-weight: 300;
}

/* コンテナの一番上にある見出しだけ margin-top:0 にする */
.entry-content > :is(h1, h2, h3, h4, h5, h6):first-child {
  margin-top: 0;
}

/* グループブロック */
.wp-block-group > :first-child:is(h1, h2, h3, h4, h5, h6),
.wp-block-group .wp-block-jetpack-layout-grid-column > :first-child:is(h1, h2, h3, h4, h5, h6),
.wp-block-column > :first-child:is(h1, h2, h3, h4, h5, h6),
.wp-block-cover__inner-container > :first-child:is(h1, h2, h3, h4, h5, h6) {
  margin-top: 0;
}

.top-wifi a,
.img-opacity a {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media (any-hover: hover) {
  .top-wifi a:hover,
  .img-opacity a:hover {
    opacity: 0.8;
  }
}

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
  background: none;
  text-shadow: 0 0 6px #000;
  -webkit-filter: drop-shadow(0 0 6px rgba(0, 0, 0, 0.5));
  filter: drop-shadow(0 0 6px rgba(0, 0, 0, 0.5));
  font-size: 16px;
  padding-bottom: 0.5rem;
}

.wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption):before {
  display: none;
}

@media (max-width: 767px) {
  .wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
    font-size: 13px;
  }
}
html.is-locked,
body.is-locked {
  overflow: hidden;
  height: 100%;
}

.breadcrumb {
  font-size: 14px;
  margin: 0 calc(50% - 50vw);
  color: #7b8386;
  background: rgba(12, 154, 206, 0.1);
}
.breadcrumb .breadcrumb-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  overflow-x: scroll;
  scrollbar-width: none;
}
.breadcrumb .breadcrumb-inner span {
  white-space: nowrap;
}
.breadcrumb {
  /* 例：パンくずの .home に家アイコンを付ける */
}
.breadcrumb .home::before {
  content: "";
  display: inline-block;
  width: 14px; /* サイズ調整 */
  height: 14px;
  margin-right: 4px; /* 文字との間隔 */
  vertical-align: -0.1em;
  background-color: currentColor; /* 文字色に追従して着色 */
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 10.5L12 3l9 7.5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M6 12V21h4v-6h4v6h4V12' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 10.5L12 3l9 7.5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M6 12V21h4v-6h4v6h4V12' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}
.breadcrumb a {
  display: inline-block;
  padding-block: 10px;
  color: #0c9ace !important;
  text-decoration: none;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media (any-hover: hover) {
  .breadcrumb a:hover span {
    color: #48c378;
  }
  .breadcrumb a:hover::before {
    color: #48c378;
  }
}
.breadcrumb span {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.breadcrumb span + span::before {
  content: "";
  display: inline-block;
  width: 0.8em;
  height: 0.8em;
  margin-right: 8px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpolyline points='9 6 15 12 9 18' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpolyline points='9 6 15 12 9 18' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}

@media screen and (max-width: 767px) {
  .breadcrumb {
    font-size: 12px;
  }
  .breadcrumb a {
    padding-block: 7px;
  }
}
.container {
  max-width: 95vw;
}

@media (min-width: 1440px) {
  .container {
    max-width: 1340px;
  }
}
@media (max-width: 768px) {
  .container {
    max-width: calc(100% - 1.5rem);
  }
}
/* ヘッダーの挙動 */
.header-nav__wrap {
  position: sticky; /* スクロールに追従 */
  top: 0;
  z-index: 1000;
  -webkit-transition: -webkit-transform 0.28s ease, -webkit-box-shadow 0.2s ease;
  transition: -webkit-transform 0.28s ease, -webkit-box-shadow 0.2s ease;
  transition: transform 0.28s ease, box-shadow 0.2s ease;
  transition: transform 0.28s ease, box-shadow 0.2s ease, -webkit-transform 0.28s ease, -webkit-box-shadow 0.2s ease;
  will-change: transform;
  background: #fff; /* 透過ヘッダーの場合は適宜変更 */
}

/* 下スクロール時に上へ隠す */
.header-nav__wrap.is-hidden {
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
}

/* 上スクロールなどで表示状態（念のためのクラス） */
.header-nav__wrap.is-pinned {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

/* スクロール中に影を付ける（任意） */
.header-nav__wrap.has-shadow {
  -webkit-box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
          box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
}

/* ドロップダウンがはみ出す場合の保険 */
.header-nav__wrap {
  overflow: visible;
}

/* 動きが苦手なユーザー設定に配慮 */
@media (prefers-reduced-motion: reduce) {
  .header-nav__wrap {
    -webkit-transition: none;
    transition: none;
  }
}
#main-nav {
  position: relative;
}

.top-page {
  padding-top: 0 !important;
}

/* ホバー時に表示 */
.dropdown-menu .dropdown:hover > .dropdown-menu {
  display: block;
}

/* 3階層目ドロップダウンの初期状態（非表示） */
.dropdown-menu .dropdown-menu {
  top: 0;
  left: auto;
  right: 100%; /* ← 左に出す */
  display: none;
  position: absolute;
  margin-top: 0;
}

/* hoverで表示する */
.dropdown:hover > .dropdown-menu {
  display: block;
}

.dropdown-menu .dropdown-menu.show {
  display: block;
  right: 100%;
  left: auto;
  top: 0;
}

#right-sidebar {
  padding-left: clamp(50px, 9.0277777778vw, 130px);
  padding-right: 0;
  padding-top: 40px;
  margin-bottom: -450px;
  /* 中身のボックス本体 */
}
#right-sidebar .widget_nav_menu,
#right-sidebar .p-faq-sidebar__box {
  max-height: calc(100vh - 180px);
  scrollbar-width: none;
  overflow-y: scroll;
  padding: 30px 30px 20px;
  border: 1px solid #a6ddf0;
  border-radius: 20px;
  background: #ffffff; /* Safari */
  position: sticky;
  top: 120px; /* ヘッダー分など調整 */
  z-index: 2;
}
#right-sidebar {
  /* タイトル */
}
#right-sidebar .widget-title,
#right-sidebar .p-faq-sidebar__title {
  border-bottom: 1px solid #d1d8db;
  font-size: clamp(12px, 0.9722222222vw, 14px);
  font-weight: 300;
  color: #333333;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  margin-top: 0;
  margin-bottom: 0 !important;
  padding-bottom: 8px;
}
#right-sidebar .widget-title::before,
#right-sidebar .p-faq-sidebar__title::before {
  display: none;
}
#right-sidebar {
  /* リスト */
}
#right-sidebar .widget_nav_menu ul,
#right-sidebar .p-faq-sidebar__list {
  margin-bottom: 0;
  list-style: none;
  padding-left: 0;
  overflow: hidden;
}
#right-sidebar .widget_nav_menu ul li a,
#right-sidebar .widget_nav_menu ul .p-faq-sidebar__item a,
#right-sidebar .p-faq-sidebar__list li a,
#right-sidebar .p-faq-sidebar__list .p-faq-sidebar__item a {
  padding: 10px 0;
  font-size: clamp(14px, 1.1111111111vw, 16px);
  line-height: 1.5555555556;
  color: #333333;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  text-decoration: none;
}
#right-sidebar .widget_nav_menu ul li a::before,
#right-sidebar .widget_nav_menu ul .p-faq-sidebar__item a::before,
#right-sidebar .p-faq-sidebar__list li a::before,
#right-sidebar .p-faq-sidebar__list .p-faq-sidebar__item a::before {
  content: "▶";
  font-size: 10px;
  display: block;
  border-radius: 100px;
  opacity: 0;
}
@media (any-hover: hover) {
  #right-sidebar .widget_nav_menu ul li a:hover,
  #right-sidebar .widget_nav_menu ul .p-faq-sidebar__item a:hover,
  #right-sidebar .p-faq-sidebar__list li a:hover,
  #right-sidebar .p-faq-sidebar__list .p-faq-sidebar__item a:hover {
    color: #0c9ace;
  }
  #right-sidebar .widget_nav_menu ul li a:hover::before,
  #right-sidebar .widget_nav_menu ul .p-faq-sidebar__item a:hover::before,
  #right-sidebar .p-faq-sidebar__list li a:hover::before,
  #right-sidebar .p-faq-sidebar__list .p-faq-sidebar__item a:hover::before {
    content: "▶";
    color: #0c9ace;
    opacity: 1;
  }
}
#right-sidebar .widget_nav_menu ul .side-bottom a,
#right-sidebar .p-faq-sidebar__list .side-bottom a {
  border-radius: 0 0 20px 20px !important;
}
#right-sidebar .widget_nav_menu ul .side-top a,
#right-sidebar .p-faq-sidebar__list .side-top a {
  border-radius: 20px 20px 0 0 !important;
}
#right-sidebar .widget_nav_menu ul li + li,
#right-sidebar .widget_nav_menu ul .p-faq-sidebar__item + .p-faq-sidebar__item,
#right-sidebar .p-faq-sidebar__list li + li,
#right-sidebar .p-faq-sidebar__list .p-faq-sidebar__item + .p-faq-sidebar__item {
  border-top: 1px solid #d1d8db;
}
#right-sidebar .widget_nav_menu ul li a[aria-current=page],
#right-sidebar .widget_nav_menu ul .p-faq-sidebar__item.is-current a,
#right-sidebar .p-faq-sidebar__list li a[aria-current=page],
#right-sidebar .p-faq-sidebar__list .p-faq-sidebar__item.is-current a {
  color: #0c9ace;
}
#right-sidebar .widget_nav_menu ul li a[aria-current=page]::before,
#right-sidebar .widget_nav_menu ul .p-faq-sidebar__item.is-current a::before,
#right-sidebar .p-faq-sidebar__list li a[aria-current=page]::before,
#right-sidebar .p-faq-sidebar__list .p-faq-sidebar__item.is-current a::before {
  color: #0c9ace;
  opacity: 1;
}
#right-sidebar .widget_nav_menu ul .sp-caption,
#right-sidebar .p-faq-sidebar__list .sp-caption {
  font-size: clamp(12px, 0.9722222222vw, 14px);
  font-weight: 300;
  padding: 24px 4px 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4px;
}

/* --- PC→タブレット --- */
@media screen and (max-width: 1200px) {
  #right-sidebar {
    padding-left: clamp(50px, 5.5555555556vw, 80px);
    min-width: 274px;
    margin-bottom: 0;
    padding-bottom: 20px;
  }
  #right-sidebar .widget_nav_menu,
  #right-sidebar .p-faq-sidebar__box {
    padding-inline: clamp(20px, 2.0833333333vw, 30px);
  }
}
/* --- スマホ --- */
@media screen and (max-width: 767px) {
  #right-sidebar {
    padding-inline: 0;
  }
  #right-sidebar .widget_nav_menu,
  #right-sidebar .p-faq-sidebar__box {
    border: none;
    padding: 0;
    border-radius: 0;
  }
  #right-sidebar .widget-title,
  #right-sidebar .p-faq-sidebar__title {
    font-size: 14px;
    padding-bottom: 4px;
    border-bottom: 1px solid rgba(51, 51, 51, 0.2);
  }
  #right-sidebar .widget_nav_menu ul,
  #right-sidebar .p-faq-sidebar__list {
    display: grid;
    grid-template-columns: 1fr 1.1fr;
  }
  #right-sidebar .widget_nav_menu ul li + li,
  #right-sidebar .widget_nav_menu ul .p-faq-sidebar__item + .p-faq-sidebar__item,
  #right-sidebar .p-faq-sidebar__list li + li,
  #right-sidebar .p-faq-sidebar__list .p-faq-sidebar__item + .p-faq-sidebar__item {
    border: none;
  }
  #right-sidebar .widget_nav_menu ul li a,
  #right-sidebar .widget_nav_menu ul .p-faq-sidebar__item a,
  #right-sidebar .p-faq-sidebar__list li a,
  #right-sidebar .p-faq-sidebar__list .p-faq-sidebar__item a {
    padding-left: 0;
    font-size: 14px;
  }
  #right-sidebar .widget_nav_menu ul li a::before,
  #right-sidebar .widget_nav_menu ul .p-faq-sidebar__item a::before,
  #right-sidebar .p-faq-sidebar__list li a::before,
  #right-sidebar .p-faq-sidebar__list .p-faq-sidebar__item a::before {
    content: "";
    opacity: 1;
    width: 20px;
    height: 20px;
    background: url(/wp-content/themes/understrap-child-1.2.01/img/sp-side-arrow.png) no-repeat center center/contain;
  }
}
@media screen and (max-width: 767px) and (any-hover: hover) {
  #right-sidebar .widget_nav_menu ul li a:hover::before,
  #right-sidebar .widget_nav_menu ul .p-faq-sidebar__item a:hover::before,
  #right-sidebar .p-faq-sidebar__list li a:hover::before,
  #right-sidebar .p-faq-sidebar__list .p-faq-sidebar__item a:hover::before {
    content: "";
    background: url(/wp-content/themes/understrap-child-1.2.01/img/sp-side-arrow-green.png) no-repeat center center/contain;
  }
}
@media screen and (max-width: 767px) {
  #right-sidebar .widget_nav_menu ul li a[aria-current=page],
  #right-sidebar .widget_nav_menu ul .p-faq-sidebar__item.is-current a,
  #right-sidebar .p-faq-sidebar__list li a[aria-current=page],
  #right-sidebar .p-faq-sidebar__list .p-faq-sidebar__item.is-current a {
    color: #48c378;
  }
  #right-sidebar .widget_nav_menu ul li a[aria-current=page]::before,
  #right-sidebar .widget_nav_menu ul .p-faq-sidebar__item.is-current a::before,
  #right-sidebar .p-faq-sidebar__list li a[aria-current=page]::before,
  #right-sidebar .p-faq-sidebar__list .p-faq-sidebar__item.is-current a::before {
    background: url(/wp-content/themes/understrap-child-1.2.01/img/sp-side-arrow-green.png) no-repeat center center/contain;
  }
  #right-sidebar .widget_nav_menu ul .sp-caption,
  #right-sidebar .p-faq-sidebar__list .sp-caption {
    padding-top: 30px;
    padding-bottom: 0px;
    border-bottom: 1px solid rgba(51, 51, 51, 0.2);
    grid-column: 1/span 2;
    font-size: 14px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 13px;
  }
  #right-sidebar .widget_nav_menu ul .sp-caption::after,
  #right-sidebar .p-faq-sidebar__list .sp-caption::after {
    color: #333333;
    font-size: 10px;
    font-weight: 400;
  }
}
#block-2 {
  position: sticky;
  top: 40px;
}

.entry-header {
  width: 100vw;
  height: 300px;
  z-index: -1;
  margin: 0 calc(50% - 50vw);
  background: url(/wp-content/themes/understrap-child-1.2.01/img/page_title.webp) no-repeat center right/cover;
}

.entry-title {
  text-align: center;
  font-size: 38px;
  font-weight: 500;
  line-height: 1.4523809524;
  color: #ffffff;
  padding-top: 166px;
  margin-bottom: 0;
}

.entry-subtitle {
  color: #ffffff;
  text-align: center;
  font-size: 28px;
  font-weight: 500;
}

h2 {
  margin-top: 90px;
  font-size: 34px;
  font-weight: 500;
  line-height: 1.4411764706;
  color: #0c9ace;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 3px;
}
h2::before {
  content: "";
  width: 38px;
  height: 38px;
  background: url("/wp-content/themes/understrap-child-1.2.01/img/h2-logo-red.png") no-repeat center center/contain;
}

h2.has-text-align-center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

h3 {
  margin-top: 40px;
  font-size: 28px;
  font-weight: 500;
  line-height: 1.4285714286;
  color: #ffffff;
  background: #0c9ace;
  border-radius: 10px;
  padding: 14px 26px;
}

h4 {
  margin-top: 40px;
  color: #0c9ace;
  font-size: 26px;
  font-weight: 500;
  line-height: 1.3846153846;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  gap: 24px;
}
h4::before {
  content: "";
  display: block;
  width: 10px;
  height: auto;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  border-radius: 50px;
  background: #48c378;
}

h5 {
  margin-top: 40px;
  font-size: 22px;
  color: #0c9ace;
  font-weight: 500;
  line-height: 1.4545454545;
  padding: 10px 26px;
  background: #EDF9F1;
  border-radius: 10px;
}

h6 {
  margin-top: 40px;
  padding: 0;
  font-size: 18px;
  color: #0c9ace;
  font-weight: 500;
  line-height: 1.4444444444;
}

ul.list {
  margin-top: 1rem;
  list-style: disc;
}
ul.list li {
  font-weight: 300;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 9px;
  line-height: 1.75;
}
ul.list li::before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  border-radius: 100%;
  background: #0c9ace;
}
ul.list li + li {
  margin-top: 0.5rem;
}

ol.list {
  margin-top: 1rem;
  padding-left: 1.2rem;
}
ol.list li {
  font-weight: 300;
  line-height: 1.75;
}
ol.list li::marker {
  color: #0c9ace;
}
ol.list li + li {
  margin-top: 0.5rem;
}

.wp-block-list.is-style-default {
  list-style: disc;
  margin-left: 1.5rem;
}

.entry-content {
  padding-top: 40px;
  padding-bottom: 40px;
}

.entry-content:has(> .is-style-sub-section-blue:last-child,
> .is-style-sub-section-lightblue:last-child,
> .is-style-sub-section-green:last-child,
> .is-style-sub-section-lightgreen:last-child,
> .is-style-sub-section-orange:last-child) {
  padding-bottom: 0;
}

table th {
  font-weight: 400;
}
table td {
  font-weight: 300;
}

.is-tabs .tabs__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 24px 0 16px;
}

.is-tabs .tabs__nav > li {
  width: 100%;
  width: calc((100% - 32px) / 5);
  max-width: 180px;
}

.is-tabs .tabs__nav > li > button {
  display: block;
  width: 100%;
  cursor: pointer;
  padding: 12px 20px 12px clamp(4px, 0.8333333333vw, 12px);
  border: 1px solid currentColor;
  border-radius: 100px;
  background: #fff;
  color: #0c9ace !important;
  font-weight: 500;
  white-space: nowrap;
  text-align: center;
  font-size: clamp(14px, 1.3888888889vw, 18px);
  line-height: 1;
  position: relative;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.is-tabs .tabs__nav > li > button::after {
  border: 0 !important;
  content: "";
  display: inline-block;
  width: clamp(14px, 1.3888888889vw, 20px);
  height: clamp(14px, 1.3888888889vw, 20px);
  background-color: currentColor;
  /* ▼ SVG をマスクとして使う（fill は黒でOK、色は background-color で付く） */
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'>  <polyline points='6 9 12 15 18 9' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'>  <polyline points='6 9 12 15 18 9' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
  vertical-align: middle;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  position: absolute;
  top: 50%;
  right: clamp(9px, 0.8333333333vw, 12px);
  translate: 0 -50%;
}

.is-tabs .tabs__nav > li > button:hover,
.is-tabs .tabs__nav > li > button:focus-visible {
  outline: none;
  background: #48c378;
  color: #ffffff !important;
}

.is-tabs .tabs__nav > li > button[aria-selected=true] {
  background: #48c378;
  color: #ffffff !important;
}

.is-tabs .tabs__panel {
  display: none;
}

.is-tabs .tabs__panel.is-active {
  display: block;
}

@media screen and (max-width: 1200px) {
  .is-tabs .tabs__nav > li {
    -webkit-box-flex: initial;
        -ms-flex: initial;
            flex: initial;
    width: calc((100% - 16px) / 3);
    max-width: none;
  }
}
/* アコーディオン */
.wp-block-details {
  border: 1px solid #0c9ace;
  border-radius: 20px;
  margin-top: 1rem;
  padding: clamp(12px, 1.7361111111vw, 25px) clamp(16px, 2.7777777778vw, 40px);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.wp-block-details > summary {
  list-style: none;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0.75rem;
  font-size: clamp(18px, 1.9444444444vw, 28px);
  font-weight: 500;
  color: #0c9ace;
}

.wp-block-details[open] summary {
  margin-bottom: clamp(16px, 1.6666666667vw, 24px);
  border-bottom: 1px solid #0c9ace;
  padding-bottom: clamp(12px, 1.7361111111vw, 25px);
}

.wp-block-details > summary::-webkit-details-marker {
  display: none;
}

.wp-block-details > summary::after {
  content: "＋";
  color: #0c9ace;
  font-size: 1.25em;
  line-height: 1;
  font-weight: 500;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.wp-block-details[open] > summary::after {
  content: "－";
}

/* ==========================
  Accordion（core/accordion）
  Details と同等デザイン（修正版）
========================== */
.wp-block-accordion-item {
  border: 1px solid #0c9ace;
  border-radius: 20px;
  margin-top: 1rem;
  overflow: hidden;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  /* ← ここが肝：共通の余白を変数化 */
  --acc-py: clamp(12px, calc(25 / 1440 * 100vw), 25px);
  --acc-px: clamp(16px, calc(40 / 1440 * 100vw), 40px);
  --acc-mb: clamp(16px, calc(24 / 1440 * 100vw), 24px);
}

.wp-block-accordion-heading {
  margin: 0; /* h3の余白消す */
  padding: 0;
  background: #ffffff;
  color: #0c9ace;
}

/* button */
.wp-block-accordion-heading__toggle {
  width: 100%;
  text-align: left;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0.75rem;
  padding: var(--acc-py) var(--acc-px);
  background: transparent;
  border: 0;
  outline: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
  font-size: clamp(18px, 1.9444444444vw, 28px);
  font-weight: 500;
  color: #0c9ace;
  position: relative; /* 区切り線の疑似要素用 */
}

/* hover/focus で padding が消えるのを強制的に抑える（テーマ上書き対策） */
.wp-block-accordion-heading__toggle:hover,
.wp-block-accordion-heading__toggle:focus,
.wp-block-accordion-heading__toggle:focus-visible {
  text-decoration: none;
  padding: var(--acc-py) var(--acc-px);
  background: transparent;
  border: 0;
  outline: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
}

.wp-block-accordion-heading__toggle,
.wp-block-accordion-heading__toggle:hover,
.wp-block-accordion-heading__toggle:focus,
.wp-block-accordion-heading__toggle:focus-visible {
  text-decoration: none !important;
}

/* ---- アイコン：二重表示を根絶 ---- */
/* span内の「+」は“見えない”ではなく“描画しない” */
.wp-block-accordion-heading__toggle-icon {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: auto;
  /* 元テキストを完全に潰す */
  font-size: clamp(18px, 1.9444444444vw, 28px);
  color: transparent !important;
}

/* 疑似要素で＋を描く */
.wp-block-accordion-heading__toggle-icon::before {
  content: "+";
  font-size: 1.25em;
  line-height: 1;
  font-weight: 300;
  color: #0c9ace;
  display: block;
}

/* 開いた時に「−」へ（※ is-open が付く前提） */
.wp-block-accordion-item.is-open .wp-block-accordion-heading__toggle-icon {
  -webkit-transform: rotate(0deg) !important;
          transform: rotate(0deg) !important;
}

.wp-block-accordion-item.is-open .wp-block-accordion-heading__toggle-icon::before {
  content: "−";
  -webkit-transform: rotate(0deg) !important;
          transform: rotate(0deg) !important;
}

/* open時：タイトルと詳細の間の線を「左右インセット」付きで描く */
.wp-block-accordion-item.is-open .wp-block-accordion-heading__toggle {
  padding-bottom: var(--acc-py);
  margin-bottom: 0; /* ← marginで間を作ると線が端まで行ったりズレやすい */
}

.wp-block-accordion-item.is-open .wp-block-accordion-heading__toggle::after {
  content: "";
  position: absolute;
  left: var(--acc-px);
  right: var(--acc-px);
  bottom: 0;
  height: 1px;
  background: #0c9ace;
}

/* 本文（パネル）側で間隔を作る */
.wp-block-accordion-panel {
  padding: var(--acc-mb) var(--acc-px) var(--acc-py);
}

.home #page-wrapper .entry-content {
  padding-top: 0px;
  padding-bottom: 0px;
}

@media screen and (max-width: 767px) {
  .wp-block-details,
  .wp-block-accordion-item {
    border-radius: 10px;
  }
  .entry-header {
    height: 150px;
    background: url(/wp-content/themes/understrap-child-1.2.01/img/page_title-sp.webp) no-repeat bottom right/cover;
    margin-top: 48px;
  }
  .entry-title {
    font-size: 20px !important;
    padding-top: 60px;
  }
  .entry-subtitle {
    font-size: 16px;
  }
  h2, h3, h4, h5, h6 {
    margin-top: 2rem;
    margin-bottom: 0.8rem;
  }
  h2 {
    font-size: 22px;
  }
  h2::before {
    width: 26px;
    height: 17px;
  }
  h3 {
    border-radius: 10px;
    font-size: 18px;
    padding: 8px 16px;
  }
  h4 {
    font-size: 18px;
    gap: 8px;
  }
  h4::before {
    width: 7px;
  }
  h5 {
    font-size: 16px;
    padding: 8px 16px;
    border-radius: 10px;
  }
  h6 {
    font-size: 16px;
    border-radius: 10px;
  }
  .entry-content {
    padding-top: 20px;
  }
  #block-2 {
    position: static;
    margin-top: 40px;
  }
  table th,
  table td {
    padding: 5px;
    font-size: 14px;
  }
}
html.pum-open.pum-open-overlay .pum-active {
  background: rgba(51, 51, 51, 0.7) !important;
}

.section {
  padding-top: 120px;
  padding-bottom: 120px;
}

.section-blue {
  margin: 0 calc(50% - 50vw);
  background: #0c9ace;
}

.section-lightblue {
  margin: 0 calc(50% - 50vw);
  background: #eaf9ff;
}

.section-green {
  margin: 0 calc(50% - 50vw);
  background: #48c378;
}

.section-lightgreen {
  margin: 0 calc(50% - 50vw);
  background: rgba(72, 195, 120, 0.08);
}

.top-h2 .top-h2_en {
  text-transform: uppercase;
  font-size: 58px;
  font-weight: 600;
  font-family: "Quicksand", sans-serif;
  color: #0c9ace;
  line-height: 1.2586206897;
}
.top-h2 .top-h2_jp {
  margin-top: 0;
  font-size: 16px;
  font-weight: 500;
  color: #48c378;
}
.top-h2 .top-h2_jp::before {
  display: none;
}

@media screen and (max-width: 767px) {
  .section {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .top-h2 .top-h2_en {
    font-size: 34px;
    line-height: 1.2352941176;
  }
  .top-h2 .top-h2_jp {
    font-size: 14px;
  }
}
#single-wrapper .wp-post-image {
  max-width: 500px;
  margin-inline: auto;
  display: block;
  border-radius: 10px;
  overflow: hidden;
}
#single-wrapper .site-main {
  max-width: 1100px;
  margin-inline: auto;
  padding-bottom: 100px;
}
#single-wrapper .single-title {
  margin-top: 60px;
  line-height: 2;
  letter-spacing: 0;
  margin-bottom: 0;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#single-wrapper .single-title::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 5px;
  background: rgba(12, 154, 206, 0.6);
  opacity: 0.5;
  bottom: 0;
}
#single-wrapper .single-title::after {
  position: absolute;
  content: "";
  width: 10%;
  height: 5px;
  background: #0c9ace;
  bottom: 0;
  left: 0;
}
#single-wrapper .entry-meta-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0 2rem;
  margin-bottom: 30px;
}
#single-wrapper .entry-meta {
  padding: 10px 0;
  color: #115eb3;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.5rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#single-wrapper .tc-date {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  color: gray;
}
#single-wrapper .tc-update-icon {
  display: inline-block;
  vertical-align: middle;
  color: gray;
  margin-top: 3px;
}
#single-wrapper .entry-date {
  color: gray;
}
#single-wrapper .entry-footer {
  margin-top: 60px;
}
#single-wrapper .nav-links {
  margin-top: 30px;
}
#single-wrapper .cat-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
#single-wrapper .cat-links a {
  padding: 2px 10px;
  border-radius: 6px;
  font-size: 14px;
  color: #ffffff;
  background: #0c9ace;
}

.single-item-title {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-top: 40px;
  padding-bottom: 10px;
  margin-bottom: 0;
  line-height: 2;
  letter-spacing: 0;
}
.single-item-title::before {
  position: absolute;
  content: "";
  left: 0;
  bottom: 0;
  width: 100%;
  height: 5px;
  background: #115eb3;
  opacity: 0.5;
}
.single-item-title::after {
  position: absolute;
  content: "";
  left: 0;
  bottom: 0;
  width: 10%;
  height: 5px;
  background: #115eb3;
}

.navigation .nav-links {
  gap: 20px;
}
.navigation a {
  color: #115eb3 !important;
  text-decoration: none;
}

.langmenu {
  position: relative;
  display: inline-block;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  margin-right: clamp(16px, 2.2222222222vw, 38px);
  border-left: 1px solid #A6DDF0;
}

/* 言語メニュー開いてる間、メガメニュー側を触れなくする例 */
body.is-langmenu-open #main-menu > li.dropdown.mega a {
  pointer-events: none;
}

body.is-langmenu-open #main-menu > li.dropdown.mega {
  pointer-events: none;
}

.langmenu__btn {
  font-size: 12px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4px;
  padding: 5px 9px 5px 24px;
  background: none;
  color: #0c9ace;
  border: none;
  border-radius: 40px; /* ピル型 */
  cursor: pointer;
}

.langmenu__icon {
  width: 16px;
  height: 16px;
  display: block;
  -o-object-fit: contain;
     object-fit: contain;
  text-align: center;
}

.langmenu__label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
}

.langmenu__caret {
  width: 14px;
  height: 14px;
  display: inline-block;
}

/* ドロップダウン本体 */
.langmenu__list {
  position: absolute;
  text-align: center;
  top: calc(100% + 0px);
  left: 50%;
  translate: -50% 0;
  min-width: 150px;
  padding: 12px 12px;
  margin: 0;
  background: #fff;
  border-radius: 14px;
  -webkit-box-shadow: 0 10px 30px rgba(0, 3, 16, 0.16);
          box-shadow: 0 10px 30px rgba(0, 3, 16, 0.16);
  list-style: none;
  opacity: 0;
  pointer-events: none;
  -webkit-transform: translateY(-6px);
          transform: translateY(-6px);
  -webkit-transition: opacity 0.18s ease, -webkit-transform 0.18s ease;
  transition: opacity 0.18s ease, -webkit-transform 0.18s ease;
  transition: opacity 0.18s ease, transform 0.18s ease;
  transition: opacity 0.18s ease, transform 0.18s ease, -webkit-transform 0.18s ease;
  z-index: 50;
  max-height: 85vh;
  overflow: auto;
}

/* 表示トリガー（hover / focus-within / is-openクラス） */
.langmenu:focus-within .langmenu__list,
.langmenu.is-open .langmenu__list {
  opacity: 1;
  pointer-events: auto;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

/* 項目 */
.langmenu__item a {
  display: block;
  padding: 0.65rem 1rem;
  color: #2b3a4a;
  text-decoration: none;
  -webkit-transition: color 0.15s ease, background 0.15s ease;
  transition: color 0.15s ease, background 0.15s ease;
}

/* 区切り線（画像のように薄い線） */
.langmenu__item + .langmenu__item {
  border-top: 1px solid #e8f0f5;
}

.langmenu__item a:hover {
  color: #48c378;
}

/* 現在言語を常時グリーン＆太字で */
.langmenu__item.is-current a {
  color: #48c378;
}

@media screen and (max-width: 767px) {
  .primary-collapse {
    gap: 8px;
  }
  .langmenu {
    opacity: 0 !important;
    display: none;
    height: 20px;
    margin-right: 0;
    margin-left: 0;
    border-left: none;
    margin-right: 20px;
  }
  .langmenu__btn {
    border: 1px solid #a6ddf0;
    background: #ffffff;
    font-size: clamp(10px, 2.6455026455vw, 15px);
    border-radius: 40px !important;
    gap: 0;
    padding: 3px 13px 6px 13px;
  }
  .langmenu__label {
    color: #0c9ace;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 3px;
    line-height: 1;
  }
  .langmenu__caret svg {
    width: clamp(10px, 2.6455026455vw, 15px);
    height: clamp(10px, 2.6455026455vw, 15px);
  }
}
header {
  z-index: 1000;
  position: relative;
}
header .navbar {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
header .header-nav__wrap {
  width: 100%;
  height: 100px;
  padding: 0;
  padding-left: clamp(10px, 3.125vw, 45px);
  margin: 0;
  background-color: #ffffff;
  color: #115eb3 !important;
  -webkit-box-shadow: 0px 3px 16px rgba(7, 82, 183, 0.16);
          box-shadow: 0px 3px 16px rgba(7, 82, 183, 0.16);
  position: fixed;
  top: 0;
  left: 50%;
  translate: -50% 0;
  border-radius: 0 0 40px 40px;
  -webkit-box-pack: justify !important;
      -ms-flex-pack: justify !important;
          justify-content: space-between !important;
  z-index: 1000;
  -ms-flex-wrap: nowrap !important;
      flex-wrap: nowrap !important;
}
header .header-nav__wrap .navbar-brand {
  display: inline-block;
  min-width: 80px;
  width: clamp(110px, 16.6666666667vw, 240px);
}
header .header-nav__wrap .primary-collapse {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
header .header-nav__wrap .nav-link {
  white-space: nowrap;
  color: #0c9ace !important;
  font-size: clamp(10px, 1.1111111111vw, 16px);
  font-weight: 500 !important;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  padding: 8px clamp(8px, 1.1111111111vw, 16px) !important;
}
@media (any-hover: hover) {
  header .header-nav__wrap .nav-link:hover {
    color: #48c378 !important;
  }
}
header .header-nav__wrap .dropdown-toggle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 5px;
  color: #0c9ace !important;
  font-weight: 500 !important;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  padding-inline: 0 !important;
}
header .header-nav__wrap .dropdown-toggle::after {
  border: 0 !important;
  content: "";
  display: inline-block;
  width: clamp(14px, 1.3888888889vw, 20px);
  height: clamp(14px, 1.3888888889vw, 20px);
  border-radius: 50%;
  background-color: #0c9ace;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 55%;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
  vertical-align: middle;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media (any-hover: hover) {
  header .header-nav__wrap .dropdown-toggle:hover {
    color: #48c378 !important;
  }
  header .header-nav__wrap .dropdown-toggle:hover::after {
    background-color: #48c378 !important;
  }
}
header .header-nav__wrap li#menu-item-562 > a,
header .header-nav__wrap li#menu-item-577 > a {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 6px clamp(8px, 1.1111111111vw, 16px) !important;
  border-radius: 999px;
  background: rgba(72, 195, 120, 0.08);
  color: #0c9ace !important;
  font-weight: 700;
  text-decoration: none;
}
@media (any-hover: hover) {
  header .header-nav__wrap li#menu-item-562 > a:hover,
  header .header-nav__wrap li#menu-item-577 > a:hover {
    background: #0c9ace;
    color: #ffffff !important;
  }
  header .header-nav__wrap li#menu-item-562 > a:hover::after,
  header .header-nav__wrap li#menu-item-577 > a:hover::after {
    background-color: #ffffff !important;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230c9ace' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
  }
}
header .header-nav__wrap {
  /* 該当ルートがアクティブの時 */
}
header .header-nav__wrap li#menu-item-562 > a.is-current,
header .header-nav__wrap li#menu-item-577 > a.is-current {
  background: #0c9ace; /* 背景：青 */
  color: #fff !important;
}
@media (any-hover: hover) {
  header .header-nav__wrap li#menu-item-562 > a.is-current:hover,
  header .header-nav__wrap li#menu-item-577 > a.is-current:hover {
    color: #ffffff !important;
  }
  header .header-nav__wrap li#menu-item-562 > a.is-current:hover::after,
  header .header-nav__wrap li#menu-item-577 > a.is-current:hover::after {
    background-color: #ffffff !important;
  }
}
header .header-nav__wrap li#menu-item-562 > a.is-current::after,
header .header-nav__wrap li#menu-item-577 > a.is-current::after {
  background-color: #ffffff;
  color: #0c9ace;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230c9ace' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
}
header .header-nav__wrap .navbar-nav:has(> li:not(#menu-item-562) a:hover) li#menu-item-562 > a.is-current {
  background: rgba(72, 195, 120, 0.08) !important;
  color: #0c9ace !important;
}
header .header-nav__wrap .navbar-nav:has(> li:not(#menu-item-562) a:hover) li#menu-item-562 > a.is-current::after {
  background-color: #0c9ace !important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
}
header .header-nav__wrap {
  /* 562 自身が開いてる(show) or ドロップダウン上にいる ＝ 青ボタン */
}
header .header-nav__wrap li#menu-item-562:has(> .dropdown-menu.show) > a,
header .header-nav__wrap li#menu-item-562:has(> .dropdown-menu:hover) > a {
  background: #0c9ace !important;
  color: #ffffff !important;
}
header .header-nav__wrap li#menu-item-562:has(> .dropdown-menu.show) > a::after,
header .header-nav__wrap li#menu-item-562:has(> .dropdown-menu:hover) > a::after {
  background-color: #ffffff !important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230c9ace' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>") !important;
}
header .header-nav__wrap {
  /* 他メニューの nav-link or dropdown-menu をホバーしている間は
     577 の is-current を無効化 */
}
header .header-nav__wrap .navbar-nav:has(> li:not(#menu-item-577) :hover) li#menu-item-577 > a.is-current {
  background: rgba(72, 195, 120, 0.08) !important;
  color: #0c9ace !important;
}
header .header-nav__wrap .navbar-nav:has(> li:not(#menu-item-577) :hover) li#menu-item-577 > a.is-current::after {
  background-color: #0c9ace !important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
}
header .header-nav__wrap {
  /* 577 自身が開いてる(show) or ドロップダウン上にいる ＝ 青ボタン */
}
header .header-nav__wrap li#menu-item-577:has(> .dropdown-menu.show) > a,
header .header-nav__wrap li#menu-item-577:has(> .dropdown-menu:hover) > a {
  background: #0c9ace !important;
  color: #ffffff !important;
}
header .header-nav__wrap li#menu-item-577:has(> .dropdown-menu.show) > a::after,
header .header-nav__wrap li#menu-item-577:has(> .dropdown-menu:hover) > a::after {
  background-color: #ffffff !important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230c9ace' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>") !important;
}
header .secondary-collapse {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 50px;
}
header .header_empty.pc a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 4px;
  height: 50px;
  background: #0c9ace;
  color: #ffffff;
  font-size: clamp(10px, 1.1111111111vw, 16px);
  width: clamp(120px, 13.75vw, 198px);
}
header .header_empty.pc a img {
  width: 24px;
  height: 24px;
}
@media (any-hover: hover) {
  header .header_empty.pc a:hover {
    -webkit-filter: brightness(0.9);
            filter: brightness(0.9);
  }
}
header .header_reserve.pc a {
  border-top: 1px solid #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 4px;
  height: 50px;
  background: #e53c3c;
  color: #ffffff;
  font-size: clamp(10px, 1.1111111111vw, 16px);
  width: clamp(120px, 13.75vw, 198px);
  border-radius: 0 0 40px 0;
}
header .header_reserve.pc a img {
  width: 24px;
  height: 24px;
}
@media (any-hover: hover) {
  header .header_reserve.pc a:hover {
    -webkit-filter: brightness(0.9);
            filter: brightness(0.9);
  }
}
header .secondary-collapse .navbar-collapse {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
}
header .secondary-collapse .navbar-nav {
  padding: clamp(8px, 0.9027777778vw, 13px) 10px clamp(8px, 0.9027777778vw, 13px) clamp(20px, 2.0833333333vw, 30px);
}
header .secondary-collapse .nav-link {
  font-size: clamp(10px, 1.1111111111vw, 16px) !important;
  font-weight: 400 !important;
  color: #0c9ace !important;
}
@media (any-hover: hover) {
  header .secondary-collapse .nav-link:hover {
    color: #48c378 !important;
  }
}
header .header_reserve.sp a {
  white-space: nowrap;
  font-size: clamp(10px, 2.6455026455vw, 15px);
  color: #ffffff;
  background: #e84336;
  border-radius: 40px;
  padding: 3px 17px;
}
header .header_empty.sp a {
  white-space: nowrap;
  font-size: clamp(10px, 2.6455026455vw, 15px);
  color: #ffffff;
  background: #0c9ace;
  border-radius: 40px;
  padding: 3px 17px;
}
header .header-sns__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  list-style: none;
  position: absolute;
  top: 120px;
  right: 0;
}
header .header-sns__item {
  width: 50px;
  height: 50px;
  border-radius: 100vmax;
  overflow: hidden;
}
header .header-sns__item img {
  width: 50px;
  height: 50px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media (any-hover: hover) {
  header .header-sns__item:hover img {
    scale: 1.3;
  }
}
header .header-funeco a {
  position: absolute;
  top: 190px;
  right: 20px;
  width: 137px;
  height: 135px;
  -webkit-transition: all 0s ease;
  transition: all 0s ease;
}
header .header-funeco a::before {
  content: "";
  display: block;
  width: 137px;
  height: 135px;
  background: url(/wp-content/themes/understrap-child-1.2.01/img/funeco.png) no-repeat center center/contain;
}
@media (any-hover: hover) {
  header .header-funeco a:hover {
    top: 180px;
    right: 34px;
  }
  header .header-funeco a:hover::before {
    width: 185px;
    height: 189px;
    background: url(/wp-content/themes/understrap-child-1.2.01/img/funeco-hover.png) no-repeat center center/contain;
  }
}
header .header-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
header .header-menu .header-cta.pc a {
  height: 100px;
}

@media screen and (max-width: 950px) {
  header .header-sns__link {
    right: 0;
  }
}
@media screen and (max-width: 767px) {
  .header-menu__wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .navbar-collapse {
    padding: 60px 0 0;
    -webkit-transition: all 0.3s ease !important;
    transition: all 0.3s ease !important;
    background: #0c9ace;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 100;
    height: 100vh;
    overflow: scroll;
    scrollbar-width: none; /* Firefox */
  }
  .navbar-collapse::-webkit-scrollbar {
    display: none;
  }
  #sp-navbar {
    overflow-x: hidden;
    overflow-y: scroll;
    scrollbar-width: none; /* Firefox */
    position: fixed; /* ← これが肝。absolute ではなく fixed */
    inset: 0;
  }
  #sp-navbar::-webkit-scrollbar {
    display: none;
  }
  #sp-navbar .sp-navbar_inner {
    padding-inline: 20px;
    position: relative;
  }
  #sp-navbar .sp-navbar_inner::before {
    content: "";
    width: 190px;
    height: 150px;
    background: url(/wp-content/themes/understrap-child-1.2.01/img/sp-menu-funeco.png) no-repeat center center/contain;
    position: absolute;
    top: 0px;
    right: -80px;
    display: none;
  }
  #sp-navbar .sp-caption {
    color: #ffffff;
    font-size: 14px;
    line-height: 1.4285714286;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    padding-bottom: 6px;
    padding-top: 30px;
    margin-bottom: 10px;
  }
  #sp-navbar .menu-item a {
    color: #ffffff;
    font-size: 16px;
    font-weight: 500;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 10px;
    padding-block: 10px;
  }
  #sp-navbar .menu-item a::before {
    content: "";
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 20px;
    height: 20px;
    background: url(/wp-content/themes/understrap-child-1.2.01/img/sp-nab-arrow-white.png) no-repeat center center/contain;
  }
  #sp-navbar .sp-u-line {
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    padding-bottom: 35px;
    margin-bottom: 35px;
  }
  #sp-navbar .sp-navbar__banner img {
    max-width: none;
    width: 100%;
    height: auto;
  }
  #sp-navbar .sp-navbar_link {
    display: grid;
    grid-template-columns: 1fr 2fr;
    list-style: none;
    padding: 0;
  }
  #sp-navbar .sp-navbar_link-item a {
    display: block;
    font-size: 14px;
    color: #ffffff;
    line-height: 2.1428571429;
    font-weight: 300;
    padding: 0;
  }
  #sp-navbar .sp-navbar_link-item a::before {
    content: "-";
    display: inline-block;
    line-height: 2.1428571429;
    margin-right: 3px;
    background: none;
    width: auto;
  }
  #sp-navbar .header-sns__link--sp {
    margin-top: 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: end;
    gap: 12px;
    list-style: none;
  }
  #sp-navbar .header-sns__item img {
    width: 50px;
    height: 50px;
  }
  #sp-navbar .header-funeco--sp {
    width: 137px;
    height: auto;
    position: absolute;
    top: -50px;
    right: 0;
  }
  #sp-navbar .header-funeco--sp img {
    width: 100%;
    height: 100%;
  }
  .sp-navbar_btn-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1rem;
    padding-bottom: 60px;
  }
  .sp-navbar_btn {
    font-weight: 500;
    color: #0c9ace;
    padding: 12px 15px;
    background: #ffffff;
    border-radius: 8px;
    position: relative;
  }
  .sp-navbar_btn .small {
    font-size: 12px;
    font-weight: 400;
    margin-left: 4px;
  }
  .sp-navbar_btn::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 15px;
    -webkit-transform: translateY(-50%) rotate(0deg);
            transform: translateY(-50%) rotate(0deg);
    width: 16px;
    height: 16px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230c9ace' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
    -webkit-transition: -webkit-transform 0.2s ease;
    transition: -webkit-transform 0.2s ease;
    transition: transform 0.2s ease;
    transition: transform 0.2s ease, -webkit-transform 0.2s ease;
  }
  .sp-navbar_btn::after.is-open::after {
    -webkit-transform: translateY(-50%) rotate(180deg);
            transform: translateY(-50%) rotate(180deg);
  }
  .sp-navbar_btn-wrap .bottom-nav_menu {
    position: relative;
    height: auto;
    padding: 0;
  }
  .sp-navbar_bottom {
    position: relative;
    background: #0064C7;
    margin: 0 calc(50% - 50vw);
    padding-bottom: 110px;
    padding-right: 10px;
  }
  .header-active .bottom-nav-wrap {
    display: none !important;
  }
  header {
    height: 0;
  }
  header .header-nav__wrap {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    background: #ffffff;
    width: 100vw;
    height: auto;
    height: 48px;
    max-width: none;
    padding: 0px;
    padding-left: 20px;
    border-radius: 0;
    top: 0;
    left: 0;
    translate: 0;
    -webkit-box-shadow: none;
            box-shadow: none;
  }
  header .header-nav__wrap .nav-link {
    color: #ffffff !important;
  }
  header .header-nav__wrap .navbar-brand {
    min-width: 60px;
    max-width: 110px;
  }
  header .header-nav__wrap .header-menu__wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 8px;
  }
  header .header-nav__wrap.active {
    background: #0c9ace !important;
    -webkit-box-shadow: none;
            box-shadow: none;
  }
  header .header-nav__wrap.active .navbar-brand {
    min-width: 60px;
    max-width: 160px;
  }
  header .header-nav__wrap.active .navbar-brand a {
    vertical-align: super;
  }
  header .header-nav__wrap.active + .bottom-nav-wrap {
    display: none !important;
  }
  header .header-nav__wrap.active .primary-collapse {
    gap: clamp(10px, 5vw, 60px);
  }
  header .header-nav__wrap.active .langmenu {
    opacity: 1 !important;
    display: block;
  }
  header .header-nav__wrap.active .header_reserve,
  header .header-nav__wrap.active .header_empty {
    display: none;
  }
  header .header-nav__wrap.active .header__login {
    opacity: 0 !important;
  }
  header .header__login {
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  header .header__login a {
    height: 48px;
    border-radius: 0 0 10px 10px !important;
    padding: 4px;
  }
  header .header__login p {
    font-size: 10px;
  }
  header .header__login img {
    width: 18px;
    -o-object-fit: contain;
       object-fit: contain;
  }
  header .hamburg-btn {
    padding: 0;
    border-radius: 0 0 0 10px !important;
    width: 48px;
    height: 48px;
    position: relative;
  }
  header .hamburg-btn .hamburg-lines {
    width: 100%;
    height: 100%;
  }
  header .hamburg-btn .line {
    display: block;
    width: 26px;
    height: 4px;
    background: #0c9ace;
    position: absolute;
    left: 50%;
    translate: -50% 0;
    border-radius: 10px;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  header .hamburg-btn .line1 {
    top: 16px;
  }
  header .hamburg-btn .line2 {
    top: 28px;
  }
  header .hamburg-btn.active {
    background: #ffffff;
  }
  header .hamburg-btn.active .line {
    background: #0c9ace;
  }
  header .hamburg-btn.active .line1,
  header .hamburg-btn.active .line2 {
    top: 50%;
  }
  header .hamburg-btn.active .line1 {
    -webkit-transform: translate(0%, -50%) rotate(45deg);
            transform: translate(0%, -50%) rotate(45deg);
  }
  header .hamburg-btn.active .line2 {
    -webkit-transform: translate(0%, -50%) rotate(-45deg);
            transform: translate(0%, -50%) rotate(-45deg);
  }
  header .secondary-collapse {
    display: none !important;
  }
  header .bottom-nav_menu .dropdown-menu,
  header .header-nav__wrap .dropdown-menu {
    display: block;
    border: none;
    background: #115eb3;
    color: #ffffff !important;
  }
  header .bottom-nav_menu .dropdown-item,
  header .header-nav__wrap .dropdown-item {
    color: #ffffff !important;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-left: 0;
  }
  header .bottom-nav_menu .dropdown-item::before,
  header .header-nav__wrap .dropdown-item::before {
    content: "";
    width: 20px;
    height: 20px;
    background: url("/wp-content/themes/understrap-child-1.2.01/img/sp-nab-arrow-white.png") no-repeat center center/contain;
    margin-right: 10px;
  }
}
/* 親<li>に .mega が付いたドロップダウンのみ対象 */
header #main-menu {
  gap: clamp(8px, 1.1111111111vw, 16px);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-top: 1px solid #A6DDF0;
  height: 50px;
  margin-right: clamp(16px, 2.2222222222vw, 38px);
}
header #main-menu > li.dropdown.mega {
  position: static;
}
header #main-menu > li.dropdown.mega > .dropdown-menu {
  position: absolute;
  top: 116px;
  left: 50%;
  translate: -50% 0;
  width: clamp(680px, 90vw, 1000px);
  min-height: 367px;
  padding: 30px 0 30px clamp(20px, 2.7777777778vw, 40px);
  border: 0;
  border-radius: 20px;
  background: #fff;
  z-index: 1000;
  grid-template-columns: 3fr 3fr 6fr;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  gap: 0 30px;
  display: none;
}
header #main-menu > li.dropdown.mega > .dropdown-menu.show {
  display: grid;
}
header #main-menu > li.dropdown.mega > .dropdown-toggle::before {
  content: "";
  position: absolute;
  left: calc(-50vw + 50%);
  bottom: -46px;
  translate: -50% 0;
  width: 38px;
  height: 16px;
  background: #ffffff;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  opacity: 0;
  margin: 0 50vw 30px 50vw;
  z-index: 1001;
}
header #main-menu > li.dropdown.mega > .dropdown-toggle {
  position: relative;
}
@media (any-hover: hover) {
  header #main-menu > li.dropdown.mega > .dropdown-toggle:hover #main-menu > li.dropdown.mega > .dropdown-toggle::before {
    opacity: 1;
  }
}
header #main-menu > li.dropdown.mega > .dropdown-toggle.show::before {
  opacity: 1;
}
header #main-menu > li.dropdown.mega > .dropdown-menu::before {
  content: "";
  position: absolute;
  top: -25px; /* 隙間の高さ分だけ上へ */
  left: 0;
  width: 100%;
  height: 25px; /* 隙間と同じ高さ */
  background: transparent;
  pointer-events: auto;
}
header {
  /* 右カラムの背景画像*/
}
header #main-menu > li.dropdown.mega > .dropdown-menu::after {
  content: "";
  display: block; /* グリッドアイテム化を明示 */
  grid-column: 3;
  align-self: start;
  grid-row: 1; /* 全行にまたがる */
  width: 100%;
  min-height: 220px;
  height: calc(100% + 30px);
  background: url(/wp-content/themes/understrap-child-1.2.01/img/dropdown_img-pc.png) top/contain no-repeat;
  pointer-events: none;
  position: absolute !important;
  top: -30px;
}
header #main-menu > li.dropdown.mega2 > .dropdown-menu::after {
  background: url(/wp-content/themes/understrap-child-1.2.01/img/dropdown_img-pc2.png) top/contain no-repeat;
}
header {
  /* ---- 左側リンクの見た目（2列に自動配置） ---- */
}
header #main-menu > li.dropdown.mega > .dropdown-menu > .nav-item {
  grid-column: 1;
}
header #main-menu > li.dropdown.mega > .dropdown-menu > .nav-item:nth-of-type(2n) {
  grid-column: 2; /* 偶数だけ2列目へ */
}
header #main-menu > li.dropdown.mega.one-column {
  position: relative;
}
header {
  /* 1列版：li.dropdown.mega に one-column を付ける */
}
header #main-menu > li.dropdown.mega.one-column > .dropdown-menu {
  top: 60px;
  width: auto;
  min-width: 350px;
  height: auto;
  grid-template-columns: 1fr;
  -webkit-column-gap: 30px;
     -moz-column-gap: 30px;
          column-gap: 30px;
  grid-auto-rows: -webkit-max-content;
  grid-auto-rows: max-content;
  padding: 20px;
}
header #main-menu > li.dropdown.mega.one-column > .dropdown-menu::after {
  display: none;
}
header #main-menu > li.dropdown.mega.one-column > .dropdown-menu > .nav-item {
  grid-column: 1/span 2 !important;
}
header #main-menu > li.dropdown.mega.one-column > .dropdown-menu > .nav-item:nth-of-type(2n) {
  grid-column: 1/span 2 !important;
}
header #main-menu > li.dropdown.mega.one-column > .dropdown-menu > .nav-item.mega-caption {
  grid-column: 1/span 2 !important;
}
header #main-menu > li.dropdown.mega > .dropdown-menu > .nav-item > .dropdown-item {
  color: #0c9ace;
  display: block;
  padding: 12px 14px;
  text-decoration: none;
  -webkit-transition: color 0.15s, background 0.15s, -webkit-transform 0.15s;
  transition: color 0.15s, background 0.15s, -webkit-transform 0.15s;
  transition: color 0.15s, background 0.15s, transform 0.15s;
  transition: color 0.15s, background 0.15s, transform 0.15s, -webkit-transform 0.15s;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  color: #0c9ace;
}
header #main-menu > li.dropdown.mega > .dropdown-menu > .nav-item > .dropdown-item::after {
  content: "";
  width: 24px;
  height: 24px;
  background: url(/wp-content/themes/understrap-child-1.2.01/img/mega_arrow.png) no-repeat center center/contain;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
header #main-menu > li.dropdown.mega > .dropdown-menu > .nav-item > .dropdown-item:hover {
  color: #48c378;
  background: none;
}
header {
  /* 区切り見出し（メニュー側で該当項目に .mega-caption 等を付けているとき） */
}
header #main-menu > li.dropdown.mega > .dropdown-menu > .nav-item.mega-caption {
  grid-column: 1/span 2;
  margin-top: 20px;
}
header #main-menu > li.dropdown.mega > .dropdown-menu > .nav-item.mega-caption > .dropdown-item {
  border-bottom: 2px solid rgba(12, 154, 206, 0.2);
  font-weight: 500;
  color: #0c9ace;
  pointer-events: none;
}
header #main-menu > li.dropdown.mega > .dropdown-menu > .mega-caption > a {
  display: block;
  pointer-events: none; /* クリック不可 */
  cursor: default;
  border: 0;
  padding: 0;
  background: none;
}
header {
  /* タイトル行 */
}
header #main-menu > li.dropdown.mega > .dropdown-menu > .mega-caption > .dropdown-item {
  font-weight: 500;
  color: #0c9ace;
  margin-top: 4px;
  margin-bottom: 6px;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
}
header #main-menu > li.dropdown.mega > .dropdown-menu > .mega-caption > .dropdown-item::after {
  content: "※配船は変更になる場合がございます";
  color: #e84336;
  font-size: 12px;
  font-weight: 500;
  line-height: 2.5;
  margin-left: 15px;
  background: none;
}

html[lang=ja] #main-menu > li.dropdown.mega > .dropdown-menu > .mega-caption > .dropdown-item::after {
  content: "※配船は変更になる場合がございます";
}

html[lang=en] #main-menu > li.dropdown.mega > .dropdown-menu > .mega-caption > .dropdown-item::after {
  content: "※The ship assignment may change.";
}

html[lang=ko] #main-menu > li.dropdown.mega > .dropdown-menu > .mega-caption > .dropdown-item::after {
  content: "※선박 배정이 변경될 수 있습니다.";
}

html[lang=zh-CN] #main-menu > li.dropdown.mega > .dropdown-menu > .mega-caption > .dropdown-item::after {
  content: "※船舶分配可能会更改。";
}

html[lang=zh-TW] #main-menu > li.dropdown.mega > .dropdown-menu > .mega-caption > .dropdown-item::after {
  content: "※船舶分配可能會更改。";
}

html[lang=th] #main-menu > li.dropdown.mega > .dropdown-menu > .mega-caption > .dropdown-item::after {
  content: "※การจัดสรรเรืออาจมีการเปลี่ยนแปลง";
}

html[lang=tl] #main-menu > li.dropdown.mega > .dropdown-menu > .mega-caption > .dropdown-item::after {
  content: "※Maaaring magbago ang pagtalaga ng barko.";
}

html[lang=vi] #main-menu > li.dropdown.mega > .dropdown-menu > .mega-caption > .dropdown-item::after {
  content: "※Việc phân bổ tàu có thể thay đổi.";
}

html[lang=id] #main-menu > li.dropdown.mega > .dropdown-menu > .mega-caption > .dropdown-item::after {
  content: "※Penugasan kapal dapat berubah.";
}

html[lang=ms] #main-menu > li.dropdown.mega > .dropdown-menu > .mega-caption > .dropdown-item::after {
  content: "※Penugasan kapal boleh berubah.";
}

html[lang=fr] #main-menu > li.dropdown.mega > .dropdown-menu > .mega-caption > .dropdown-item::after {
  content: "※L'affectation du navire peut changer.";
}

html[lang=de] #main-menu > li.dropdown.mega > .dropdown-menu > .mega-caption > .dropdown-item::after {
  content: "※Die Schiffszuteilung kann sich ändern.";
}

html[lang=hi] #main-menu > li.dropdown.mega > .dropdown-menu > .mega-caption > .dropdown-item::after {
  content: "※জহাজ কা আবন্তন বদল হতে পারে।";
}

html[lang=it] #main-menu > li.dropdown.mega > .dropdown-menu > .mega-caption > .dropdown-item::after {
  content: "※L'assegnazione della nave può cambiare.";
}

html[lang=es] #main-menu > li.dropdown.mega > .dropdown-menu > .mega-caption > .dropdown-item::after {
  content: "※La asignación del barco puede cambiar.";
}

html[lang=da] #main-menu > li.dropdown.mega > .dropdown-menu > .mega-caption > .dropdown-item::after {
  content: "※Skibstildelingen kan ændres.";
}

html[lang=ru] #main-menu > li.dropdown.mega > .dropdown-menu > .mega-caption > .dropdown-item::after {
  content: "※Назначение судна может измениться.";
}

html[lang=pt] #main-menu > li.dropdown.mega > .dropdown-menu > .mega-caption > .dropdown-item::after {
  content: "※A designação do navio pode mudar.";
}

@media screen and (max-width: 767px) {
  header #main-menu {
    border: none;
  }
  header #main-menu > li.dropdown.mega > .dropdown-menu.show {
    display: none;
  }
  header #main-menu > li.dropdown.mega > .dropdown-toggle.show::before {
    display: none;
  }
}
@media (min-width: 768px) {
  header::before {
    content: "";
    position: fixed;
    inset: 0;
    height: 100vh;
    width: 100vw;
    background: rgba(0, 0, 0, 0.6); /* ここで暗さ調整 */
    opacity: 0;
    pointer-events: none; /* 下の要素をクリック可能にしたいなら none のまま */
    -webkit-transition: opacity 0.2s;
    transition: opacity 0.2s;
    z-index: 1500; /* メニューより低く、ページより高く */
  }
  header:has(#main-menu > li.dropdown.mega > .dropdown-menu.show)::before {
    opacity: 1;
    pointer-events: auto; /* 背景クリックで“外側クリック”扱いにしたいなら auto */
  }
}
header .header-nav__wrap {
  z-index: 1501;
}

#main-menu > li.dropdown.mega > .dropdown-menu {
  z-index: 1502;
}

#main-menu > li.dropdown.mega > .dropdown-toggle::before {
  z-index: 1503;
}

.bottom-nav-wrap {
  background: transparent !important;
  margin: 0 calc(50% - 50vw);
  position: fixed;
  z-index: 999;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 0;
  z-index: 1001;
}

.bottom-nav__overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.75);
  z-index: 1000;
  display: none; /* JSで制御 */
}
.bottom-nav__overlay::before {
  content: "×";
  position: absolute;
  right: 12px;
  top: 12px;
  border: 0;
  background: none;
  font-size: 24px;
  color: #ffffff;
  line-height: 1;
  cursor: pointer;
  z-index: 1003;
}

.bottom-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 400px;
  color: #ffffff;
  position: absolute;
  right: 0;
  bottom: 0;
}

.bottom-link__item {
  width: 50%;
}

.bottom-link__item a {
  padding: 18px 20px;
  font-size: 20px;
  line-height: 1;
  font-weight: 500;
  color: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 4px;
  border: 1px solid #ffffff;
}
@media (any-hover: hover) {
  .bottom-link__item a:hover {
    background: #48c378;
  }
}
.bottom-link__item a::before {
  content: "";
  display: inline-block;
  width: 26px;
  height: 26px;
}

.bottom-link__item--left a {
  border-radius: 20px 0 0 0;
  background: #e53c3c;
}
.bottom-link__item--left a::before {
  background: url(/wp-content/themes/understrap-child-1.2.01/img/reserve_icon.png) no-repeat center center/contain;
}

.bottom-link__item--right a {
  background: #0c9ace;
}
.bottom-link__item--right a::before {
  background: url(/wp-content/themes/understrap-child-1.2.01/img/empty_icon.png) no-repeat center center/contain;
}

@media screen and (max-width: 767px) {
  .bottom-nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 8px;
    margin-bottom: 16px;
  }
  .bottom-nav_btn {
    color: #ffffff;
    font-size: 14px;
    font-weight: 500;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: inherit;
        -ms-flex-align: inherit;
            align-items: inherit;
    padding: 10px;
    background: #0c9ace;
    border-radius: 100vmax;
    gap: 3px;
    -webkit-box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
            box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  }
  .bottom-nav_btn span {
    font-size: 12px;
  }
  .bottom-nav_btn::after {
    border: 0 !important;
    content: "";
    display: inline-block;
    width: clamp(14px, 3.9893617021vw, 15px);
    height: clamp(14px, 3.9893617021vw, 15px);
    border-radius: 50%;
    background: url(/wp-content/themes/understrap-child-1.2.01/img/sp-nab-arrow-white.png) no-repeat center center/contain;
    vertical-align: middle;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    margin-bottom: -4px;
    -webkit-transform: rotate(-90deg);
            transform: rotate(-90deg);
    -webkit-transform-origin: center;
            transform-origin: center;
    margin-bottom: 1px;
  }
  .bottom-nav_left {
    width: 50%;
    border: 1px solid #ffffff;
  }
  .bottom-nav_right {
    width: 50%;
    border: 1px solid #ffffff;
  }
  .bottom-nav_menu-wrap {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    display: none;
    height: calc(80vh + 42px);
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
    -webkit-transition: -webkit-transform 0.25s ease;
    transition: -webkit-transform 0.25s ease;
    transition: transform 0.25s ease;
    transition: transform 0.25s ease, -webkit-transform 0.25s ease;
  }
  /* 左/右のラベル（必要に応じて） */
  .bottom-nav_left-menu-label {
    position: absolute;
    top: 0;
    left: 0;
    padding: 8px 24px 10px 20px;
    border-radius: 0 20px 0 0;
    background: #0064c7;
    color: #fff;
    font-size: 16px;
  }
  .bottom-nav_right-menu-label {
    position: absolute;
    top: 0;
    right: 0;
    padding: 8px 20px 10px 24px;
    border-radius: 20px 0 0 0;
    background: #0064c7;
    color: #fff;
    font-size: 16px;
  }
  .bottom-nav_menu {
    overflow-y: scroll;
    scrollbar-width: none; /* Firefox */
  }
  .bottom-nav_menu::-webkit-scrollbar {
    display: none;
  }
  .bottom-nav_menu {
    padding: 40px 20px;
    position: absolute;
    bottom: 0px;
    width: 100%;
    height: 80vh;
    background: #0c9ace;
  }
  .bottom-nav_menu::before {
    content: "";
    display: block;
    width: 100%;
    height: 185px;
    background: url(/wp-content/themes/understrap-child-1.2.01/img/bottom-menu_map.png) no-repeat center center/cover;
    background-position: center bottom;
    position: absolute;
    top: 0px;
    right: 50%;
    translate: 50% 0;
  }
  .bottom-nav_menu.bottom-nav_right-menu::before {
    background: url(/wp-content/themes/understrap-child-1.2.01/img/bottom-menu_map2.png) no-repeat center center/cover;
  }
  .bottom-nav_menu .menu {
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    padding-top: 200px;
    max-width: 445px;
    margin-inline: auto;
  }
  .bottom-nav_menu .course-link {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start !important;
        -ms-flex-align: start !important;
            align-items: start !important;
  }
  .bottom-nav_menu .course-link .nav-link::before, .bottom-nav_menu .course-link .nav-link::after {
    display: none;
  }
  .bottom-nav_menu .dropdown-menu {
    display: block;
    position: static;
  }
  .bottom-nav_menu .nav-link,
  .bottom-nav_menu .menu-item a {
    padding-block: 12px;
    font-size: 16px;
    color: #ffffff;
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 10px;
  }
  .bottom-nav_menu .nav-link::before,
  .bottom-nav_menu .menu-item a::before {
    content: "";
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 20px;
    height: 20px;
    background: url("/wp-content/themes/understrap-child-1.2.01/img/sp-nab-arrow-white.png") no-repeat center center/contain;
  }
  .bottom-nav_menu .sp-caption {
    grid-column: 1/span 2;
    color: #ffffff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center !important;
        -ms-flex-align: center !important;
            align-items: center !important;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    padding-bottom: 7px;
    margin-top: 30px;
    margin-bottom: 10px;
  }
  .bottom-nav_menu .sp-caption::after {
    content: "※配船は変更になる場合がございます";
    color: #ffffff;
    font-size: 12px;
    line-height: 1.4166666667;
    margin-left: 15px;
    background: none;
  }
  .bottom-nav_menu-wrap.is-open {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  .bottom-link {
    width: 100%;
    position: relative;
  }
  .bottom-link__item {
    width: 50%;
  }
  .bottom-link__item a {
    border-radius: 0;
    padding: 8px 20px;
    font-size: 16px;
  }
}
#wrapper-footer {
  margin: 0 calc(50% - 50vw);
  background-color: #0c9ace !important;
}

.footer {
  padding-top: 80px;
  padding-bottom: 45px;
  padding-right: 30vw;
}
.footer .menu-footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  list-style: none;
  border-top: none;
}
.footer .menu-footer .menu-item + .menu-item {
  border-left: 1px solid #ffffff;
  padding-left: 1rem;
}
.footer .menu-footer .menu-item.row-start {
  border-left: 0;
  padding-left: 0;
}
.footer .menu-footer a {
  white-space: nowrap;
  color: #ffffff;
  font-weight: 500;
  line-height: 1;
}
@media (any-hover: hover) {
  .footer .menu-footer a:hover {
    color: #48c378;
  }
}
.footer .footer_info-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: clamp(30px, 2.7777777778vw, 40px);
  margin-top: 80px;
}
.footer .footer_logo {
  text-align: center;
}
.footer .footer_logo img {
  max-width: 400px;
}
.footer .footer_live a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; /* 1行目テキスト＋2行目テキストを縦並び */
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 18px clamp(60px, 8.0555555556vw, 116px) 18px 38px; /* 上右下左 */
  min-width: 260px;
  background: #0064C7; /* ボタンの青 */
  border-radius: 20px; /* 角丸 */
  border: 1px solid #ffffff; /* 外枠白線 */
  color: #ffffff;
  text-decoration: none;
  font-size: clamp(20px, 1.6666666667vw, 24px);
  font-weight: 400;
  line-height: 1.6666666667;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.footer {
  /* 2行目の注意書き */
}
.footer .footer_live a span {
  display: block;
  font-size: 16px;
  opacity: 0.9;
}
.footer {
  /* 右端の矢印 */
}
.footer .footer_live a::after {
  content: "";
  position: absolute;
  right: 24px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 12px;
  height: 12px;
  background: url(/wp-content/themes/understrap-child-1.2.01/img/arrow-white.png) no-repeat center center/contain;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.footer {
  /* ホバー */
}
.footer .footer_live a:hover::after {
  -webkit-transform: translateY(-50%) translateX(4px);
          transform: translateY(-50%) translateX(4px); /* 右に4px移動 */
}
.footer .footer_info {
  margin-top: 23px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1rem;
}
.footer .footer_info p {
  font-size: 14px;
  color: #ffffff;
}
.footer .footer_copy {
  text-align: center;
  font-size: 12px;
  color: #ffffff;
  margin-top: 80px;
}

.home .footer,
#single-wrapper .footer {
  padding-left: 0;
  padding-right: 0;
}
.home .footer .footer_logo img,
#single-wrapper .footer .footer_logo img {
  max-width: 446px;
}
.home .footer .footer_info-wrap,
#single-wrapper .footer .footer_info-wrap {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: clamp(30px, 5.9027777778vw, 85px);
}
.home .footer .footer_info p,
#single-wrapper .footer .footer_info p {
  font-size: 16px;
}

@media screen and (max-width: 992px) {
  .home .footer .footer_info-wrap,
  #single-wrapper .footer .footer_info-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media screen and (max-width: 767px) {
  .footer {
    padding-top: 42px;
    padding-bottom: 114px;
    padding-right: 0;
  }
  .footer .menu-footer a {
    font-size: 12px;
    font-weight: 400;
  }
  .footer .footer_logo img {
    max-width: 280px;
  }
  .footer .footer_live a {
    padding: 18px clamp(42px, 8.0555555556vw, 116px) 18px clamp(20px, 6.8181818182vw, 38px); /* 上右下左 */
    min-width: 260px;
    font-size: clamp(18px, 5vw, 20px);
    font-weight: 400;
    line-height: 1.6666666667;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .footer {
    /* 2行目の注意書き */
  }
  .footer .footer_live a span {
    display: block;
    font-size: 12px;
    opacity: 0.9;
  }
  .footer .footer_live a::after {
    right: 18px;
  }
  .footer .footer_info {
    margin-top: 9px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
  }
  .footer .footer_info p {
    font-size: 12px;
  }
}
#page-wrapper .top-how {
  padding-top: 0;
}
#page-wrapper .top-how .top-how-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 34px;
}
#page-wrapper .top-how .top-how-container::before {
  content: "";
  margin: 0 calc(50% - 50vw);
  display: block;
  width: 100%;
  max-width: 100%;
  aspect-ratio: 1083/524;
  background: url(/wp-content/themes/understrap-child-1.2.01/img/top/top-how-pc.png) no-repeat top center/contain;
}
#page-wrapper .top-how {
  margin: 0 calc(50% - 50vw);
  background: url(/wp-content/themes/understrap-child-1.2.01/img/top/top-how-bg.png) no-repeat center center/cover;
}
#page-wrapper .top-how .top-h2_en {
  font-size: clamp(40px, 4.0277777778vw, 58px);
}
#page-wrapper .top-how .top-how-content {
  background: #ffffff;
  border-radius: 20px;
  padding: clamp(20px, 4.4444444444vw, 64px);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (any-hover: hover) {
  #page-wrapper .top-how .is-style-outline a:hover {
    color: #ffffff !important;
    background-color: #48c378 !important;
    border-color: #48c378 !important;
  }
}
@media (any-hover: hover) {
  #page-wrapper .top-how .is-style-fill a:hover {
    color: #ffffff !important;
    background-color: #48c378 !important;
  }
}
#page-wrapper .top-how .top-how-neco {
  max-width: 158px;
  margin-top: 60px;
  margin-inline: auto;
}
#page-wrapper .top-how .top-how-right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 26px;
}
@media screen and (max-width: 767px) {
  #page-wrapper .top-how .top-how-container {
    gap: 80px;
  }
  #page-wrapper .top-how .top-how-container::before {
    aspect-ratio: 375/297;
    margin: 0 calc(50% - 50vw);
    max-width: 100vw;
    width: 100vw;
    background: url(/wp-content/themes/understrap-child-1.2.01/img/top/top-how-sp.png) no-repeat top center/contain;
  }
  #page-wrapper .top-how .top-how-right {
    gap: 12px;
  }
}
#page-wrapper {
  /* ================================
   howto-bus dropdown menu
   ================================ */
}
#page-wrapper .howto-bus-wrap {
  position: relative;
}
#page-wrapper {
  /* --- メニューは初期非表示 --- */
}
#page-wrapper .howto-bus-menu {
  display: none;
  margin-top: 8px;
  background: #ffffff;
  border-radius: 20px;
  padding: 24px 28px;
  border: 1px solid #A6DDF0;
  position: absolute;
  bottom: -9px;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
  right: 0;
  width: 70%;
  min-width: 250px;
  z-index: 2;
}
#page-wrapper .howto-bus-menu::before {
  content: "";
  width: 100%;
  height: 10px;
  position: absolute;
  top: -10px;
  left: 0;
  background: transparent;
}
#page-wrapper {
  /* --- 親ボタン（wp-block-buttons）に hover / focus で表示 --- */
}
#page-wrapper .wp-block-buttons:hover + .howto-bus-menu,
#page-wrapper .wp-block-buttons:focus-within + .howto-bus-menu,
#page-wrapper .howto-bus-menu:hover {
  display: block;
}
#page-wrapper .howto-bus .wp-block-button__link::after {
  width: 32px;
  height: 32px;
  background: url(/wp-content/themes/understrap-child-1.2.01/img/drower-arrow.png) no-repeat center center/contain;
  margin: 0;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
#page-wrapper .howto-bus .wp-block-button__link:hover,
#page-wrapper .howto-bus .wp-block-button__link:focus {
  background: #0c9ace;
}
#page-wrapper .howto-bus-wrap:hover .howto-bus .wp-block-button__link::after,
#page-wrapper .howto-bus-wrap:focus-within .howto-bus .wp-block-button__link::after {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
#page-wrapper .howto-bus-sub {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
#page-wrapper .howto-bus-sub .wp-block-button__link {
  background: transparent !important;
  border: 0 !important;
  padding: 10px 12px !important;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #0c9ace !important;
  text-decoration: none;
  border-radius: 6px;
}
#page-wrapper {
  /* hoverで下線 */
}
#page-wrapper .howto-bus-sub .wp-block-button__link:hover,
#page-wrapper .howto-bus-sub .wp-block-button__link:focus {
  text-decoration: underline;
}
#page-wrapper {
  /* 右側の矢印（画像） */
}
#page-wrapper .howto-bus-sub .wp-block-button__link::after {
  content: "";
  width: 24px;
  height: 24px;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 24px;
          flex: 0 0 24px;
  margin-left: 12px;
  background: url("/wp-content/themes/understrap-child-1.2.01/img/mega_arrow.png") no-repeat center/contain;
  -webkit-transition: -webkit-transform 0.25s ease;
  transition: -webkit-transform 0.25s ease;
  transition: transform 0.25s ease;
  transition: transform 0.25s ease, -webkit-transform 0.25s ease;
}
#page-wrapper {
  /* hoverで矢印が右に動く */
}
#page-wrapper .howto-bus-sub .wp-block-button__link:hover::after {
  -webkit-transform: translateX(6px);
          transform: translateX(6px);
}
@media screen and (max-width: 767px) {
  #page-wrapper .howto-bus-menu {
    bottom: -4px;
    padding: 16px 20px;
    border-radius: 10px;
  }
  #page-wrapper .howto-bus-sub .wp-block-button__link {
    font-size: 15px;
  }
}

#page-wrapper .top-elegant-wrap {
  overflow: hidden;
  margin: 0 calc(50% - 50vw);
}
#page-wrapper .top-elegant {
  margin-top: 350px;
  /* セクションの色&余白（必要に応じて調整） */
  color: #fff;
  padding-block: 50px 80px;
  /* ===== グリッド（SP既定：縦積み） ===== */
}
#page-wrapper .top-elegant .elegant-content {
  margin-top: -350px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}
#page-wrapper .top-elegant .elegant-content .elegant-content_title {
  color: #fff;
  font-weight: 400;
  background: transparent;
  font-size: 22px;
  padding: 0;
  margin-top: 24px !important;
}
#page-wrapper .top-elegant .elegant-content .elegant-content_text {
  color: #fff;
}
#page-wrapper .top-elegant .elegant-content {
  /* SPでは位置指定をリセットして自然な縦並びに */
}
#page-wrapper .top-elegant .elegant-content > .wp-block-group {
  grid-area: auto;
  grid-column: auto;
  grid-row: auto;
  overflow: hidden;
}
#page-wrapper .top-elegant .elegant-content > .wp-block-group h3 {
  margin: 10px 0 8px;
}
#page-wrapper .top-elegant .elegant-content > .wp-block-group p {
  margin: 0 0 12px;
  line-height: 1.7;
}
#page-wrapper .top-elegant .elegant-content > .wp-block-group .wp-block-buttons {
  gap: 12px;
}
#page-wrapper .top-elegant .elegant-content {
  /* コピーエリアはカード装飾を外す */
}
#page-wrapper .top-elegant .elegant-content .elegant-content-1 {
  background: transparent;
  padding: 0;
  overflow: visible;
  padding-bottom: 140px;
  position: relative;
}
#page-wrapper .top-elegant .elegant-content .elegant-content-1::before {
  content: "";
  display: block;
  width: clamp(90px, 8.125vw, 117px);
  height: 170px;
  background: url(/wp-content/themes/understrap-child-1.2.01/img/top/top-elegant-neco1.png) no-repeat center bottom/contain;
  position: absolute;
  bottom: 0px;
  right: 0;
}
#page-wrapper .top-elegant .elegant-content .elegant-content-1 .top-h2_en {
  text-transform: uppercase;
  letter-spacing: 0.08em;
  line-height: 1.1;
  font-size: clamp(28px, 4vw, 48px);
  margin: 0 8px 25px 8px;
}
#page-wrapper .top-elegant .elegant-content .elegant-content-1 .top-h2_jp {
  font-weight: 600;
  font-size: clamp(16px, 1.6vw, 18px);
  line-height: 2;
  margin: 0;
}
#page-wrapper .top-elegant .elegant-content .elegant-content-1 .top-h2_jp code {
  font-size: clamp(12px, 1.4vw, 16px);
  line-height: 1.875;
  color: #48C378;
}
#page-wrapper .top-elegant .elegant-content .elegant-content-4 figure {
  position: relative;
}
#page-wrapper .top-elegant .elegant-content .elegant-content-4 figure::before {
  content: "";
  display: block;
  width: 120px;
  height: 148px;
  background: url(/wp-content/themes/understrap-child-1.2.01/img/top/top-elegant-neco2.png) no-repeat center bottom/contain;
  position: absolute;
  bottom: -40px;
  right: 10px;
}
#page-wrapper .top-elegant .elegant-content .elegant-content-5 {
  position: relative;
}
#page-wrapper .top-elegant .elegant-content .elegant-content-5::before {
  content: "";
  display: block;
  width: clamp(112px, 12.3611111111vw, 178px);
  height: 115px;
  background: url(/wp-content/themes/understrap-child-1.2.01/img/top/top-elegant-neco3.png) no-repeat center bottom/contain;
  position: absolute;
  bottom: 0px;
  right: clamp(-30px, 0vw, 20px);
}
#page-wrapper .top-elegant {
  /* ===== PC(≥960px)：モザイク配置 ===== */
}
@media (min-width: 768px) {
  #page-wrapper .top-elegant .elegant-content {
    grid-template-columns: 1.1fr 1.2fr;
    grid-auto-rows: auto;
    gap: 30px 20px;
    /* 画像のレイアウト例（必要なら調整） */
  }
  #page-wrapper .top-elegant .elegant-content .elegant-content-2 figure,
  #page-wrapper .top-elegant .elegant-content .elegant-content-4 figure {
    aspect-ratio: 16/9;
  }
  #page-wrapper .top-elegant .elegant-content .elegant-content-3 figure,
  #page-wrapper .top-elegant .elegant-content .elegant-content-5 figure {
    aspect-ratio: 16/10;
  }
  #page-wrapper .top-elegant .elegant-content {
    /* グリッドエリア配置 */
    display: grid;
    grid-template-areas: "copy  bath" "lounge bath" "lounge restaurant" "shop  restaurant";
  }
  #page-wrapper .top-elegant .elegant-content .elegant-content-1 {
    grid-area: copy;
  }
  #page-wrapper .top-elegant .elegant-content .elegant-content-2 {
    grid-area: bath;
    margin-left: clamp(40px, 5.2083333333vw, 75px) !important;
    margin-right: -130px;
  }
  #page-wrapper .top-elegant .elegant-content .elegant-content-2 img {
    aspect-ratio: 720/462;
  }
  #page-wrapper .top-elegant .elegant-content .elegant-content-2 .elegant-content-2-group {
    margin-right: 130px !important;
  }
  #page-wrapper .top-elegant .elegant-content .elegant-content-3 {
    grid-area: lounge;
  }
  #page-wrapper .top-elegant .elegant-content .elegant-content-4 {
    grid-area: restaurant;
    margin-left: clamp(40px, 5.2083333333vw, 75px) !important;
  }
  #page-wrapper .top-elegant .elegant-content .elegant-content-5 {
    grid-area: shop;
    margin-left: -130px;
  }
  #page-wrapper .top-elegant .elegant-content .elegant-content-5 img {
    aspect-ratio: 616/389;
  }
  #page-wrapper .top-elegant .elegant-content .elegant-content-5 .elegant-content-5-group {
    margin-left: 130px !important;
  }
}

@media screen and (max-width: 767px) {
  #page-wrapper .top-elegant {
    padding-top: 50px;
  }
  #page-wrapper .top-elegant .elegant-content {
    padding-inline: 8px;
    margin-top: -400px;
  }
  #page-wrapper .top-elegant .elegant-content .elegant-content_title {
    font-size: 18px;
    margin-top: 16px !important;
  }
  #page-wrapper .top-elegant .elegant-content .elegant-content_text {
    font-size: 14px;
    margin-top: 12px;
    margin: 0;
  }
  #page-wrapper .top-elegant .elegant-content .is-style-btn1-white-sm a {
    padding-block: 6px;
  }
  #page-wrapper .top-elegant .elegant-content .elegant-content-1 {
    padding-bottom: 30px;
  }
  #page-wrapper .top-elegant .elegant-content .elegant-content-1::before {
    right: auto;
    bottom: -170px;
    width: clamp(58px, 15.4666666667vw, 118px);
  }
  #page-wrapper .top-elegant .elegant-content .elegant-content-2 {
    margin-right: -20px;
    margin-left: clamp(70px, 20vw, 200px) !important;
  }
  #page-wrapper .top-elegant .elegant-content .elegant-content-2 figure {
    margin-right: -20px;
  }
  #page-wrapper .top-elegant .elegant-content .elegant-content-2 img {
    aspect-ratio: 280/179;
  }
  #page-wrapper .top-elegant .elegant-content .elegant-content-2 .elegant-content-2-group {
    margin-right: 20px !important;
  }
  #page-wrapper .top-elegant .elegant-content .elegant-content-3 {
    margin-right: clamp(70px, 34.6666666667vw, 200px) !important;
    position: relative;
    overflow: visible;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: end;
  }
  #page-wrapper .top-elegant .elegant-content .elegant-content-3 .elegant-content_title {
    position: absolute;
    bottom: 10px;
    right: -16px;
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  #page-wrapper .top-elegant .elegant-content .elegant-content-4 {
    overflow: visible;
    margin-left: clamp(70px, 20vw, 200px) !important;
  }
  #page-wrapper .top-elegant .elegant-content .elegant-content-4 figure::before {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
    right: auto;
    left: -3%;
    bottom: 10px;
    width: clamp(67px, 17.8666666667vw, 110px);
  }
  #page-wrapper .top-elegant .elegant-content .elegant-content-5 {
    margin-left: -20px;
    overflow: visible;
    margin-right: clamp(70px, 20vw, 200px) !important;
  }
  #page-wrapper .top-elegant .elegant-content .elegant-content-5::before {
    width: clamp(112px, 29.8666666667vw, 140px);
    right: clamp(-115px, -23%, -80px);
    bottom: clamp(204px, 30%, 300px);
  }
  #page-wrapper .top-elegant .elegant-content .elegant-content-5 .elegant-content-5-group {
    margin-left: 20px !important;
  }
}
@media screen and (max-width: 768px) {
  #page-wrapper .top-elegant .top-h2_en {
    margin-bottom: 13px;
  }
}
.top-page .fv {
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  height: 100vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  aspect-ratio: 16/9;
  position: relative;
}
.top-page .fv iframe {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  pointer-events: none;
  z-index: -1;
}
.top-page .fv__media {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.top-page .fv__video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover; /* 画面いっぱい */
}
.top-page .top-img img {
  width: 100vw;
}
.top-page .fv_news {
  position: absolute;
  bottom: 30px;
  left: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
  max-width: 65.9722222222%;
  min-width: 40%;
}
.top-page .emergency-fv {
  background: #e84336;
  border: 1px solid #ffffff;
  border-radius: 20px;
  padding: 18px;
  position: relative;
}
.top-page .emergency-fv__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
.top-page .emergency-fv__badge {
  background: #ffffff;
  color: #e84336;
  font-weight: 700;
  height: 28px;
  width: 28px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  line-height: 1;
}
.top-page .emergency-fv__title {
  color: #ffffff;
  font-size: 16px;
  text-decoration: none;
}
.top-page .emergency-fv__close {
  background: transparent;
  border: 0;
  color: #ffffff;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  position: absolute;
  top: 0;
  right: -30px;
}

@media screen and (max-width: 767px) {
  .top-page .fv_news {
    max-width: 82.6666666667%;
    bottom: 10%;
    left: 20px;
    min-width: 80%;
  }
  .top-page .emergency-fv {
    border-radius: 10px;
    padding: 12px;
  }
  .top-page .emergency-fv__badge {
    height: 22px;
    width: 22px;
    position: absolute;
    top: -11px;
    left: -11px;
  }
  .top-page .emergency-fv__title {
    font-size: 14px;
  }
}
.top-page .situation-fv {
  background: #ffffff;
  border: 1px solid #ffffff;
  border-radius: 20px;
  padding: 18px;
  position: relative;
}
.top-page .situation-fv__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
}
.top-page .text-red {
  color: #e84336;
}
.top-page .situation-fv__date + .situation-fv__title {
  border-left: 1px solid #0c9ace;
  padding-left: 8px;
}
.top-page .situation-fv__date {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 6px;
  color: #0c9ace;
  font-size: 12px;
  white-space: nowrap;
}
.top-page .situation-fv__date span {
  font-size: 16px;
  font-weight: 500;
}
.top-page .situation-fv__title {
  color: #0c9ace;
  font-size: 16px;
  text-decoration: none;
}
.top-page .situation-fv__close {
  background: transparent;
  border: 0;
  color: #ffffff;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  position: absolute;
  top: 0;
  right: -30px;
}

@media screen and (max-width: 767px) {
  .top-page .situation-fv {
    border-radius: 10px;
    padding: 12px;
  }
  .top-page .situation-fv__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
  }
  .top-page .situation-fv__date + .situation-fv__title {
    border-top: 1px solid #0c9ace;
    padding-top: 8px;
    padding-left: 0;
    border-left: none;
  }
  .top-page .situation-fv__date {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: end;
  }
  .top-page .situation-fv__date span {
    font-size: 14px;
  }
  .top-page .situation-fv__title {
    font-size: 14px;
  }
}
.news-list__items {
  list-style: none;
  margin: 0;
  padding: 0;
  margin-top: 50px;
}

.news-list__item + .news-list__item {
  border-top: 1px solid rgba(12, 154, 206, 0.25);
}

/* 1件分のリンク全体 */
.news-list__link {
  display: grid;
  grid-template-columns: 100px auto;
  grid-template-areas: "date badges " ". title";
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 13px 16px;
  text-decoration: none;
  padding: 28px 30px 28px 0;
  position: relative;
}
@media (any-hover: hover) {
  .news-list__link:hover .news-list__title span {
    color: #0c9ace;
    text-decoration: underline;
  }
  .news-list__link:hover::after {
    margin-right: 0;
  }
}
.news-list__link::after {
  content: "";
  width: 32px;
  height: 32px;
  background: url(/wp-content/themes/understrap-child-1.2.01/img/mega_arrow.png) no-repeat center center/contain;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  position: absolute;
  right: 0px;
  top: 50%;
  translate: 0 -50%;
}

/* 日付 */
.news-list__date {
  grid-area: date;
  color: #0c9ace;
}

/* カテゴリ・NEW などのバッジ */
.news-list__badges {
  grid-area: badges;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 6px;
}

.badge {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 4px 10px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 400;
  line-height: 1;
  background: #0c9ace;
  color: #ffffff;
}

.badge--new {
  background: #fd8e2f;
  color: #ffffff;
}

/* タイトル */
.news-list__title {
  grid-area: title;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 8px;
  -webkit-transition: all 0.3s ease !important;
  transition: all 0.3s ease !important;
}
.news-list__title span {
  color: #333333;
  -webkit-transition: all 0.3s ease !important;
  transition: all 0.3s ease !important;
}

/* =====================
 * タブレット以下
 * ===================*/
@media screen and (max-width: 992px) {
  .news-list__items {
    margin-top: 10px;
  }
  .news-list__link {
    grid-template-columns: 100px auto;
    grid-template-rows: auto auto;
    grid-template-areas: "date   badges " "title  title  ";
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
    row-gap: 6px;
    -webkit-column-gap: 8px;
       -moz-column-gap: 8px;
            column-gap: 8px;
    padding: 18px 40px 18px 0;
  }
}
/* =====================
 * スマホ以下
 * ===================*/
@media screen and (max-width: 767px) {
  .news-list__items {
    margin-top: 10px;
  }
  .news-list__link {
    grid-template-columns: 100px auto;
    grid-template-rows: auto auto auto;
    grid-template-areas: "date date" "badges badges " "title title  ";
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
    row-gap: 6px;
    -webkit-column-gap: 8px;
       -moz-column-gap: 8px;
            column-gap: 8px;
    padding: 18px 30px 18px 0;
  }
}
#page-wrapper .top-guideline .top-h2_en {
  color: #ffffff;
}
#page-wrapper .top-guideline .top-h2_jp {
  color: #ffffff;
}
#page-wrapper .top-guideline h3 {
  font-size: 22px;
  padding: 0;
  margin: 0;
  background: none;
  text-align: center;
}
#page-wrapper .top-guideline .top-guideline_content {
  margin-top: 78px;
}
#page-wrapper .top-guideline .guideline_items {
  padding: 32px;
  background: rgba(255, 255, 255, 0.4);
  border-radius: 20px;
}
#page-wrapper .top-guideline .guideline_items + .guideline_items {
  margin-top: 16px;
}
#page-wrapper .top-guideline .top-guideline_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 24px;
  margin-bottom: 0;
}
#page-wrapper .top-guideline .guideline-item {
  position: relative;
}
#page-wrapper .top-guideline .guideline-item::before {
  content: "";
  width: clamp(44px, 4.1666666667vw, 60px);
  height: clamp(44px, 4.1666666667vw, 60px);
  background: url(/wp-content/themes/understrap-child-1.2.01/img/top/guideline1.png) no-repeat center center/contain;
  position: absolute;
  top: 50%;
  left: clamp(3px, 1.3888888889vw, 20px);
  translate: 0 -50%;
}
#page-wrapper .top-guideline .guideline-item a {
  min-height: 96px;
  height: 100%;
  line-height: 1.75;
  font-size: clamp(15px, 1.25vw, 18px);
  color: #333333;
  display: block;
  padding: 20px;
  padding-right: 37px;
  padding-left: calc(20px + clamp(44px, 4.1666666667vw, 60px));
  background-color: #ffffff;
  border-radius: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0;
}
#page-wrapper .top-guideline .guideline-item a::after {
  content: "";
  position: absolute;
  background: url(/wp-content/themes/understrap-child-1.2.01/img/mega_arrow.png) no-repeat center center/contain;
  width: 32px;
  height: 32px;
  top: 50%;
  right: 5px;
  translate: 0 -50%;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
#page-wrapper .top-guideline .guideline-item a code {
  line-height: 1.75;
  display: inline-block;
  font-size: clamp(16px, 1.25vw, 18px);
  margin-top: 3px;
}
#page-wrapper .top-guideline .guideline-item a span {
  word-break: keep-all;
}
@media (any-hover: hover) {
  #page-wrapper .top-guideline .guideline-item a:hover {
    color: #0c9ace;
    text-decoration: underline;
  }
  #page-wrapper .top-guideline .guideline-item a:hover::after {
    right: 3px;
  }
}
#page-wrapper .top-guideline .guideline-item.item-1::before {
  background: url(/wp-content/themes/understrap-child-1.2.01/img/top/guideline1.png) no-repeat center center/contain;
}
#page-wrapper .top-guideline .guideline-item.item-2::before {
  background: url(/wp-content/themes/understrap-child-1.2.01/img/top/guideline2.png) no-repeat center center/contain;
}
#page-wrapper .top-guideline .guideline-item.item-3::before {
  background: url(/wp-content/themes/understrap-child-1.2.01/img/top/guideline3.png) no-repeat center center/contain;
}
#page-wrapper .top-guideline .guideline-item.item-4::before {
  background: url(/wp-content/themes/understrap-child-1.2.01/img/top/guideline4.png) no-repeat center center/contain;
}
#page-wrapper .top-guideline .guideline-item.item-5::before {
  background: url(/wp-content/themes/understrap-child-1.2.01/img/top/guideline5.png) no-repeat center center/contain;
}
#page-wrapper .top-guideline .guideline-item.item-6::before {
  background: url(/wp-content/themes/understrap-child-1.2.01/img/top/guideline6.png) no-repeat center center/contain;
}
#page-wrapper .top-guideline .guideline-item.item-7::before {
  background: url(/wp-content/themes/understrap-child-1.2.01/img/top/guideline7.png) no-repeat center center/contain;
}
#page-wrapper .top-guideline .guideline-item.item-8::before {
  background: url(/wp-content/themes/understrap-child-1.2.01/img/top/guideline8.png) no-repeat center center/contain;
}
#page-wrapper .top-guideline .guideline-item.item-9::before {
  background: url(/wp-content/themes/understrap-child-1.2.01/img/top/guideline9.png) no-repeat center center/contain;
}
#page-wrapper .top-guideline .guideline-item.item-10::before {
  background: url(/wp-content/themes/understrap-child-1.2.01/img/top/guideline10.png) no-repeat center center/contain;
}
#page-wrapper .top-guideline .guideline-item.item-11::before {
  background: url(/wp-content/themes/understrap-child-1.2.01/img/top/guideline11.png) no-repeat center center/contain;
}
#page-wrapper .top-guideline .guideline-item.item-12::before {
  background: url(/wp-content/themes/understrap-child-1.2.01/img/top/guideline12.png) no-repeat center center/contain;
}
#page-wrapper .top-guideline .guideline-item.item-13::before {
  background: url(/wp-content/themes/understrap-child-1.2.01/img/top/guideline13.png) no-repeat center center/contain;
}
#page-wrapper .top-guideline .guideline-item.item-14::before {
  background: url(/wp-content/themes/understrap-child-1.2.01/img/top/guideline14.png) no-repeat center center/contain;
}
#page-wrapper .top-guideline .guideline-item.item-15::before {
  background: url(/wp-content/themes/understrap-child-1.2.01/img/top/guideline15.png) no-repeat center center/contain;
}
#page-wrapper .top-guideline .guideline-item.item-16::before {
  background: url(/wp-content/themes/understrap-child-1.2.01/img/top/guideline16.png) no-repeat center center/contain;
}
@media (max-width: 1100px) {
  #page-wrapper .top-guideline .top-guideline_list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 767px) {
  #page-wrapper .top-guideline .top-guideline_list {
    grid-template-columns: 1fr;
  }
  #page-wrapper .top-guideline .guideline_items {
    border-radius: 10px;
    padding: 20px;
  }
  #page-wrapper .top-guideline h3 {
    font-size: 18px;
  }
  #page-wrapper .top-guideline .guideline-item a {
    min-height: 80px;
    border-radius: 10px;
    font-size: clamp(13px, 4vw, 16px);
  }
  #page-wrapper .top-guideline .guideline-item a::before {
    width: 40px;
    height: 40px;
  }
  #page-wrapper .top-guideline .guideline-item a {
    padding: 12px;
    padding-right: 30px;
    padding-left: 60px;
  }
}

.home {
  /* 1ブロック＝1アコーディオンとして扱う */
}
.home .top-guideline .guideline_items {
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.25); /* 外側の薄い面 */
  padding: 12px 14px;
}
.home {
  /* 見出しをアコーディオンの「バー」にする */
}
.home .top-guideline .guideline_items > .top-guideline_title {
  margin: 0;
  padding: 14px 48px 14px 18px;
  border-radius: 12px;
  background: #7ed8a1; /* 画像のグリーン系に寄せる */
  color: #0b3a2a;
  text-align: center;
  position: relative;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.home {
  /* 右側の▽/△（擬似要素） */
}
.home .top-guideline .guideline_items > .top-guideline_title::after {
  content: "";
  position: absolute;
  right: 16px;
  top: 50%;
  width: 18px;
  height: 18px;
  -webkit-transform: translateY(-50%) rotate(0deg);
          transform: translateY(-50%) rotate(0deg);
  -webkit-transition: -webkit-transform 0.25s ease;
  transition: -webkit-transform 0.25s ease;
  transition: transform 0.25s ease;
  transition: transform 0.25s ease, -webkit-transform 0.25s ease;
  /* シンプルな矢印（SVG） */
  background: no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24'%3E%3Cpath fill='%230b3a2a' d='M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6z'/%3E%3C/svg%3E");
}
.home {
  /* 開いている時は矢印を上向きに */
}
.home .top-guideline .guideline_items.is-open > .top-guideline_title::after {
  -webkit-transform: translateY(-50%) rotate(180deg);
          transform: translateY(-50%) rotate(180deg);
}
.home {
  /* 中身(ul)をアニメーションで開閉 */
}
.home .top-guideline .guideline_items > .top-guideline_list {
  margin-top: 12px;
  overflow: hidden;
  height: 0; /* JSで高さを入れる */
  opacity: 0;
  -webkit-transition: height 0.28s ease, opacity 0.2s ease;
  transition: height 0.28s ease, opacity 0.2s ease;
  will-change: height;
}
.home {
  /* 開いている時 */
}
.home .top-guideline .guideline_items.is-open > .top-guideline_list {
  opacity: 1;
}
.home {
  /* 中のカード見た目（既存aのデザインは活かしつつ） */
}
.home .top-guideline .guideline-item a {
  border-radius: 10px;
  -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
          box-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
}

#page-wrapper .sub-guideline h3 {
  color: #333333;
}
#page-wrapper .sub-guideline .guideline_items {
  background: rgba(72, 195, 120, 0.08);
}
#page-wrapper .sub-guideline .guideline_items + .guideline_items {
  margin-top: 16px;
}
#page-wrapper .sub-guideline .top-guideline_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  margin-top: 24px;
  margin-bottom: 0;
}
#page-wrapper .sub-guideline .guideline-item {
  position: relative;
}
#page-wrapper .sub-guideline .guideline-item::before {
  content: "";
  width: clamp(44px, 4.1666666667vw, 60px);
  height: clamp(44px, 4.1666666667vw, 60px);
  background: url(/wp-content/themes/understrap-child-1.2.01/img/top/guideline1.png) no-repeat center center/contain;
  position: absolute;
  top: 50%;
  left: clamp(3px, 1.3888888889vw, 20px);
  translate: 0 -50%;
}
#page-wrapper .sub-guideline .guideline-item a {
  min-height: 96px;
  height: 100%;
  line-height: 1.75;
  font-size: clamp(14px, 1.25vw, 18px);
  color: #333333;
  display: block;
  padding: 20px;
  padding-right: 37px;
  padding-left: calc(20px + clamp(44px, 4.1666666667vw, 60px));
  background-color: #ffffff;
  border-radius: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0;
}
#page-wrapper .sub-guideline .guideline-item a::after {
  content: "";
  position: absolute;
  background: url(/wp-content/themes/understrap-child-1.2.01/img/mega_arrow.png) no-repeat center center/contain;
  width: 32px;
  height: 32px;
  top: 50%;
  right: 5px;
  translate: 0 -50%;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
#page-wrapper .sub-guideline .guideline-item a code {
  line-height: 1.75;
  display: inline-block;
  font-size: clamp(16px, 1.25vw, 18px);
  margin-top: 3px;
}
@media (any-hover: hover) {
  #page-wrapper .sub-guideline .guideline-item a:hover {
    color: #0c9ace;
    text-decoration: underline;
  }
  #page-wrapper .sub-guideline .guideline-item a:hover::after {
    right: 3px;
  }
}
@media (max-width: 1100px) {
  #page-wrapper .sub-guideline .top-guideline_list {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 767px) {
  #page-wrapper .sub-guideline .top-guideline_list {
    grid-template-columns: 1fr;
  }
  #page-wrapper .sub-guideline h3 {
    font-size: 18px;
  }
  #page-wrapper .sub-guideline .guideline-item a {
    min-height: 80px;
    border-radius: 10px;
  }
  #page-wrapper .sub-guideline .guideline-item a::before {
    width: 40px;
    height: 40px;
  }
  #page-wrapper .sub-guideline .guideline-item a {
    padding: 12px;
    padding-right: 30px;
    padding-left: 60px;
  }
}

#page-wrapper .pods-card-grid {
  margin-top: 78px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(24px, 2.7777777778vw, 40px);
}
#page-wrapper .pods-card-link {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  gap: 0;
}
@media (any-hover: hover) {
  #page-wrapper .pods-card-link:hover .pods-card-thumb {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
  #page-wrapper .pods-card-link:hover .pods-card-title {
    color: #0c9ace;
    text-decoration: underline;
  }
  #page-wrapper .pods-card-link:hover .pods-card-title::after {
    margin-right: -4px;
  }
}
#page-wrapper .pods-card-media {
  border-radius: 20px;
  overflow: hidden;
}
#page-wrapper .pods-card-thumb {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  display: block;
}
#page-wrapper .pods-chip-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  margin-block: 8px 4px;
}
#page-wrapper .pods-chip {
  display: inline-block;
  font-size: 14px;
  color: #0c9ace;
  line-height: 1;
  padding: 4px 12px;
  border-radius: 999px;
  border: 1px solid currentColor;
}
#page-wrapper .pods-card-title {
  color: #333333;
  font-size: clamp(16px, 1.5277777778vw, 22px);
  line-height: 1.8181818182;
  font-weight: 400;
  padding: 0;
  margin-top: 0;
  margin-bottom: 0;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  background: none;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#page-wrapper .pods-card-title::after {
  content: "";
  margin-top: auto;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 32px;
  height: 32px;
  background: url(/wp-content/themes/understrap-child-1.2.01/img/mega_arrow.png) no-repeat center center/contain;
}
@media (max-width: 992px) {
  #page-wrapper .pods-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
  #page-wrapper .pods-card-grid {
    margin-top: 37px;
    gap: 16px;
  }
  #page-wrapper .pods-card-media {
    border-radius: 10px;
  }
  #page-wrapper .pods-chip-row {
    margin-top: 6px;
  }
  #page-wrapper .pods-chip-row .pods-chip:nth-child(n+2) {
    display: none;
  }
}

#page-wrapper .top-public-text {
  font-size: 18px;
  color: #0c9ace;
  font-weight: 500;
  line-height: 2;
  margin-top: 48px;
}
#page-wrapper .top-public-text-small {
  font-size: 16px;
  color: #0c9ace;
  font-weight: 500;
  line-height: 2.25;
}
#page-wrapper .top-public-content {
  margin-top: 80px;
  margin-bottom: 96px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(20px, 3.3333333333vw, 48px);
  position: relative;
}
#page-wrapper .top-public-content img {
  width: 100% !important;
}
#page-wrapper .top-public-content p {
  font-size: clamp(16px, 1.5277777778vw, 22px);
}
#page-wrapper .top-public-content::after {
  content: "";
  position: absolute;
  width: 194px;
  height: 120px;
  background: url(/wp-content/themes/understrap-child-1.2.01/img/top/top-public-neco.png) no-repeat center center/contain;
  bottom: -20px;
  right: 10%;
}
@media screen and (max-width: 992px) {
  #page-wrapper .top-public-content {
    grid-template-columns: repeat(3, 1fr);
  }
  #page-wrapper .top-public-text {
    font-size: 16px;
  }
  #page-wrapper .top-public-text-small {
    font-size: 12px;
  }
}
@media screen and (max-width: 767px) {
  #page-wrapper .top-public-content {
    grid-template-columns: repeat(2, 1fr);
    margin-bottom: 24px;
  }
  #page-wrapper .top-public-content::after {
    width: 108px;
    height: 67px;
    bottom: -150px;
    right: auto;
    left: 0;
  }
}
@media screen and (max-width: 575px) {
  #page-wrapper .top-public-content::after {
    width: 108px;
    height: 67px;
    bottom: -171px;
    right: auto;
    left: 0;
  }
}

#page-wrapper .top-group-content {
  max-width: 1000px;
  margin-inline: auto;
  margin-top: 60px;
  gap: 40px 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
#page-wrapper .top-group-content figure {
  width: 220px;
  height: 100%;
  display: grid;
  place-items: center;
}
#page-wrapper .top-group-content img {
  -o-object-fit: contain;
     object-fit: contain;
}
@media (max-width: 992px) {
  #page-wrapper .top-group-content {
    gap: 20px;
  }
  #page-wrapper .top-group-content figure {
    width: calc(50% - 15px);
  }
}

.error-404 {
  padding-top: 60px;
  padding-bottom: 60px;
}
.error-404 h2::before {
  display: none;
}

.news_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
  padding-bottom: 40px;
}
.news_list .page_title {
  padding-top: 40px;
  padding-bottom: 20px;
}

.news_list article a {
  text-decoration: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 64px;
  border-radius: 20px;
  background: #fff;
  border: 1px solid #115eb3;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  padding: 30px;
  position: relative;
}
.news_list article a::before {
  content: "";
  position: absolute;
  top: calc(50% - 3px);
  translate: 0 -50%;
  right: 30px;
  width: 2px;
  height: 12px;
  border-radius: 20px;
  background: #96a0af;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.news_list article a::after {
  content: "";
  position: absolute;
  top: calc(50% + 4px);
  translate: 0 -50%;
  right: 30px;
  width: 2px;
  height: 12px;
  border-radius: 20px;
  background: #96a0af;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media (any-hover: hover) {
  .news_list article a:hover {
    border-radius: 20px;
    border: 1px solid #115eb3;
    background: #fff;
    -webkit-box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
            box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
  }
  .news_list article a:hover .entry-title {
    color: #333 !important;
  }
  .news_list article a:hover::before, .news_list article a:hover::after {
    background: #115eb3;
  }
}
.news_list article a .entry-title {
  color: #333;
  font-size: 18px;
  font-weight: 400;
  line-height: 200%; /* 36px */
  width: 100%;
  height: 100%;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.news_list article a time {
  color: #96a0af;
  font-size: 14px;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.56px;
  width: 150px;
}

@media screen and (max-width: 767px) {
  .news_list article a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
    gap: 10px;
    padding: clamp(10px, 5.3333333333vw, 30px) !important;
  }
  .news_list article a::before, .news_list article a::after {
    right: clamp(10px, 4vw, 30px);
  }
}
#archive-wrapper .site-main {
  margin-top: 60px;
  margin-bottom: 60px;
}
#archive-wrapper .p-news-items {
  margin-top: 60px;
  margin-bottom: 60px;
}
#archive-wrapper .p-news-item {
  border-bottom: 1px solid #d6edf4;
  margin: 0;
}
#archive-wrapper .p-news-item__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 20px 0;
  text-decoration: none;
}
#archive-wrapper .p-news-item__main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4px;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}
#archive-wrapper .p-news-item__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#archive-wrapper .p-news-item__date {
  width: 100px;
  color: #0c9ace; /* 日付の青 */
  font-weight: 300;
}
#archive-wrapper .p-news-item__cat {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 6px;
  background: #0c9ace;
  color: #fff;
  font-size: 12px;
}
#archive-wrapper .p-news-item__title {
  font-size: 16px;
  line-height: 2;
  font-weight: 400;
  color: #333;
  margin: 0;
  margin-left: 100px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
#archive-wrapper .p-news-item__title::before {
  display: none;
}
#archive-wrapper .p-news-item__arrow {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  width: 32px;
  height: 32px;
  background: url(/wp-content/themes/understrap-child-1.2.01/img/mega_arrow.png) no-repeat center center/contain;
}
#archive-wrapper {
  /* ホバー */
}
#archive-wrapper .p-news-item__link:hover .p-news-item__title {
  color: #0c9ace;
  text-decoration: underline;
}
#archive-wrapper .p-news-item__link:hover .p-news-item__arrow {
  -webkit-transform: translateX(4px);
          transform: translateX(4px);
}

@media screen and (max-width: 992px) {
  #archive-wrapper .p-news-item__title {
    margin-left: 0;
  }
}
@media screen and (max-width: 767px) {
  #archive-wrapper .p-news-item__link {
    padding: 16px 0;
  }
  #archive-wrapper .p-news-item__meta {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 6px;
  }
}
.access-table table {
  table-layout: auto !important;
  width: 100%;
}
.access-table td:first-child {
  width: 50px;
  text-align: center !important;
}
.access-table td:nth-child(2) {
  width: 180px;
}
.access-table td:nth-child(3) {
  width: auto;
}
.access-table td {
  word-break: break-word; /* はみ出し防止 */
}
.access-table img {
  max-width: 50px !important;
  text-align: center;
}

.funeko-goods figure img {
  height: 140px;
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  padding: 4px;
  border: 1px solid rgba(0, 0, 0, 0.2);
}

/* 全体 */
.p-faq__header {
  margin-bottom: 2rem;
  margin-top: 40px;
}

.p-faq__title {
  font-size: 2.2rem;
  margin-bottom: 1rem;
}

/* 検索 */
/* 検索フォーム全体 */
.p-faq-search {
  margin-bottom: 24px;
}

/* 外枠（ピル型） */
.p-faq-search__field {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 24px;
  border-radius: 9999px;
  border: 2px solid #0084d5;
  background: #e9f7ff;
}

/* 虫めがねアイコン */
.p-faq-search__icon {
  position: relative;
  width: 24px;
  height: 24px;
  margin-right: 16px;
}

/* 丸いレンズ部分 */
.p-faq-search__icon::before {
  content: "";
  position: absolute;
  inset: 0;
  width: 30px;
  height: 30px;
  background: url(/wp-content/themes/understrap-child-1.2.01/img/search-icon.png) no-repeat center center/contain;
}

/* テキスト入力 */
.p-faq-search__input {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  border: none;
  background: #e9f7ff;
  font-size: 16px;
  line-height: 1.4;
  padding: 0;
  outline: none;
  color: #0064C7;
}
.p-faq-search__input::-webkit-input-placeholder {
  color: #0064C7;
}
.p-faq-search__input::-moz-placeholder {
  color: #0064C7;
}
.p-faq-search__input:-ms-input-placeholder {
  color: #0064C7;
}
.p-faq-search__input::-ms-input-placeholder {
  color: #0064C7;
}
.p-faq-search__input::placeholder {
  color: #0064C7;
}

.p-faq-search__input:-internal-autofill-selected {
  background-color: #e9f7ff !important;
}

/* ボタンは画面から退避させて視覚的に非表示（アクセシビリティのため残す） */
.p-faq-search__submit {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

/* 親カテゴリブロック */
.p-faq-block {
  margin-bottom: 3rem;
}

.p-faq-block__title {
  margin-top: 40px;
  color: #0c9ace;
  font-size: 26px;
  font-weight: 500;
  line-height: 1.3846153846;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 16px;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
}
.p-faq-block__title::before {
  content: "";
  display: block;
  width: 10px;
  height: auto;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  border-radius: 50px;
  background: #48c378;
}

/* サブカテゴリ */
.p-faq-subcat {
  margin-bottom: 1.5rem;
}

.p-faq-subcat__title {
  background: rgba(12, 154, 206, 0.1);
  padding: 10px 26px;
  font-weight: 500;
  border-radius: 4px;
  margin-bottom: 0.5rem;
  font-size: 22px;
  color: #0c9ace;
  border-radius: 10px;
}

/* FAQアイテム */
.p-faq-item + .p-faq-item {
  border-top: 1px solid rgba(12, 154, 206, 0.1);
}

.p-faq-item__q {
  width: 100%;
  text-align: left;
  border: none;
  background: #fff;
  padding: 18px clamp(10px, 1.8055555556vw, 26px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.8rem;
  cursor: pointer;
}

.p-faq-subcat-title {
  color: #0c9ace;
  font-size: 22px;
  font-weight: 500;
  padding: 10px 26px;
  background: rgba(12, 154, 206, 0.1);
  margin: 0;
}

.p-faq-item__q-icon {
  width: 20px;
  height: 20px;
  background: url(/wp-content/themes/understrap-child-1.2.01/img/faq/faq-q.png) no-repeat center center/contain;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-top: 3px;
}

.p-faq-item__q-text {
  color: #0c9ace;
}

.p-faq-item__q-toggle {
  margin-left: auto;
  color: #0c9ace;
}

.p-faq-item__a {
  max-height: 0;
  overflow: hidden;
  -webkit-transition: max-height 0.25s ease;
  transition: max-height 0.25s ease;
  background: #fff;
  border-top: 1px solid rgba(12, 154, 206, 0.1);
}

.p-faq-item__a-inner {
  padding: 10px 26px 10px clamp(48px, 4.3055555556vw, 62px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.8rem;
}

.p-faq-item__a-icon {
  width: 20px;
  height: 20px;
  background: url(/wp-content/themes/understrap-child-1.2.01/img/faq/faq-a.png) no-repeat center center/contain;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-top: 3px;
}

/* サイドバー */
.p-faq-sidebar__box {
  background: #fff;
  padding: 1rem;
  border-radius: 4px;
  border: 1px solid #e3e7ea;
}

.p-faq-sidebar__title {
  font-size: 1.2rem;
  margin-bottom: 0.5rem;
}

.p-faq-sidebar__list {
  list-style: none;
  margin: 0;
  padding: 0;
  margin-top: 10px;
}

.p-faq-sidebar__item a {
  display: block;
  padding: 0.3rem 0;
}

/* SP用 カテゴリボタン */
.p-faq-cat-button {
  position: fixed;
  right: 20px;
  bottom: 66px;
  z-index: 1000;
  width: 66px;
  height: 66px;
  border-radius: 999px;
  border: 1px solid #0c9ace;
  background: #fff;
  color: #0c9ace;
  font-size: 10px;
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
          box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  cursor: pointer;
}

.p-faq-contact {
  padding: 27px;
  border: 1px solid #0c9ace;
  border-radius: 20px;
  margin-top: 80px;
  margin-bottom: 68px;
}
.p-faq-contact a {
  color: #48c378;
  text-decoration: underline;
}

@media (max-width: 767px) {
  .p-faq__header {
    margin-top: 20px;
  }
  .p-faq-search__field {
    padding: 14px 17px;
  }
  .p-faq-search__icon::before {
    width: 26px;
    height: 26px;
  }
  .p-faq-search__input {
    font-size: 14px;
  }
  .p-faq-block__title {
    font-size: 18px;
  }
  .p-faq-subcat-title {
    font-size: 18px;
  }
  .p-faq-item__q,
  .p-faq-item__a {
    gap: 0.6rem;
  }
  .p-faq-item__q-icon,
  .p-faq-item__a-icon {
    width: 16px;
    height: 16px;
    margin-top: 4px;
  }
  .p-faq-item__a-inner {
    padding-left: clamp(10px, 1.8055555556vw, 26px);
  }
  .p-faq-contact {
    margin-top: 40px;
    margin-bottom: 30px;
  }
}
.p-faq-pagination {
  margin-top: 60px;
  text-align: center;
}
.p-faq-pagination .page-numbers {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 24px;
  list-style: none;
  padding: 0;
  margin: 0;
  font-family: "Quicksand", sans-serif;
}
.p-faq-pagination .page-numbers li {
  margin: 0;
  padding: 0;
}
.p-faq-pagination a.page-numbers,
.p-faq-pagination span.page-numbers {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-decoration: none;
  font-size: 26px;
  font-weight: 500;
  line-height: 1;
  color: #0c9ace;
}
.p-faq-pagination span.page-numbers.current {
  color: #48c378;
  font-weight: 700;
}
.p-faq-pagination {
  /* 省略記号 ... */
}
.p-faq-pagination span.page-numbers.dots {
  font-size: 26px;
  color: #0c9ace;
}
.p-faq-pagination {
  /* 前へ・次へ（丸ボタン） */
}
.p-faq-pagination a.page-numbers.prev,
.p-faq-pagination a.page-numbers.next {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid #0c9ace;
  color: #0c9ace;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-weight: 700;
}
@media (any-hover: hover) {
  .p-faq-pagination a.page-numbers:hover:not(.prev):not(.next) {
    opacity: 0.7;
  }
  .p-faq-pagination a.page-numbers.prev:hover,
  .p-faq-pagination a.page-numbers.next:hover {
    background: #48c378;
    color: #fff;
  }
}
@media screen and (max-width: 768px) {
  .p-faq-pagination {
    margin-top: 40px;
  }
  .p-faq-pagination a.page-numbers.prev,
  .p-faq-pagination a.page-numbers.next {
    width: 36px;
    height: 36px;
    font-size: 16px;
  }
}

/* SPモーダル */
.p-faq-cat-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity 0.25s ease;
  transition: opacity 0.25s ease;
}

.p-faq-cat-modal.is-open {
  opacity: 1;
  pointer-events: auto;
}

.p-faq-cat-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.75);
}

.p-faq-cat-modal__panel {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  background: #0c9ace;
  color: #fff;
  padding: 34px 20px;
  pointer-events: auto;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
  -webkit-transition: -webkit-transform 0.25s ease-out;
  transition: -webkit-transform 0.25s ease-out;
  transition: transform 0.25s ease-out;
  transition: transform 0.25s ease-out, -webkit-transform 0.25s ease-out;
}

.p-faq-cat-modal.is-open .p-faq-cat-modal__panel {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.p-faq-cat-modal__title {
  color: #ffffff;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  padding-bottom: 7px;
  margin-bottom: 10px;
}

.p-faq-cat-modal__close {
  position: absolute;
  right: 0rem;
  top: -40px;
  background: none;
  border: none;
  font-size: 1.6rem;
  color: #fff;
}

.p-faq-cat-modal__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.p-faq-cat-modal__list li {
  width: 50%;
}

.p-faq-cat-modal__list a {
  padding-block: 12px;
  font-size: 16px;
  color: #ffffff;
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
}
.p-faq-cat-modal__list a::before {
  content: "";
  width: 20px;
  height: 20px;
  background: url("/wp-content/themes/understrap-child-1.2.01/img/sp-nab-arrow-white.png") no-repeat center center/contain;
}

/* PCではSPボタンとモーダルを非表示 */
@media (min-width: 769px) {
  .p-faq-cat-button,
  .p-faq-cat-modal {
    display: none !important;
  }
}
.wp-block-cover.has-custom-content-position.is-position-top-left.company-menu1 .wp-block-cover__inner-container,
.wp-block-cover.has-custom-content-position.is-position-top-left.company-menu2-1 .wp-block-cover__inner-container,
.wp-block-cover.has-custom-content-position.is-position-top-left.company-menu2-2 .wp-block-cover__inner-container {
  width: 100%;
  max-width: none;
}

.company-menu1,
.company-menu2-1,
.company-menu2-2 {
  min-height: auto;
  height: clamp(350px, 35vw, 420px);
  width: 100%;
  border-radius: 20px;
  overflow: hidden;
  position: relative;
  padding: clamp(12px, 1.6666666667vw, 24px) clamp(18px, 2.6388888889vw, 38px);
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
          box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}
.company-menu1 .wp-block-cover__inner-container,
.company-menu2-1 .wp-block-cover__inner-container,
.company-menu2-2 .wp-block-cover__inner-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  height: 100%;
  width: 100%;
}
.company-menu1 ul,
.company-menu2-1 ul,
.company-menu2-2 ul {
  width: 100%;
  max-width: 206px;
  right: 0;
  bottom: 0;
  margin-top: auto;
  margin-left: auto;
  margin-bottom: 0;
}
.company-menu1 li a,
.company-menu2-1 li a,
.company-menu2-2 li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 10px;
  color: #ffffff;
  padding-block: clamp(10px, 0.9722222222vw, 14px);
}
.company-menu1 li a::after,
.company-menu2-1 li a::after,
.company-menu2-2 li a::after {
  content: "";
  width: 12px;
  height: 12px;
  background: url(/wp-content/themes/understrap-child-1.2.01/img/arrow-white.png) no-repeat center center/contain;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-size: 14px;
  margin-right: 8px;
  -webkit-transition: margin-right 0.2s ease;
  transition: margin-right 0.2s ease;
}
@media (any-hover: hover) {
  .company-menu1 li a:hover::after,
  .company-menu2-1 li a:hover::after,
  .company-menu2-2 li a:hover::after {
    margin-right: 4px;
  }
}
.company-menu1 li + li,
.company-menu2-1 li + li,
.company-menu2-2 li + li {
  border-top: 1px solid #ffffff;
}

.company-menu1 {
  height: clamp(300px, 30vw, 360px);
}
.company-menu1 .wp-block-cover__inner-container {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 16px;
}
.company-menu2 {
  margin-top: 16px;
  margin-bottom: 60px;
  gap: 16px;
}

.company-menu_title {
  font-size: clamp(24px, 2.5694444444vw, 37px);
  font-weight: 400;
  line-height: 1.4594594595;
  color: #ffffff;
  margin-bottom: 0;
}
.company-menu_title::before {
  display: none;
}

.company-menu_sub-title {
  font-size: 15px;
  font-weight: 700;
  font-family: "Quicksand", sans-serif;
  color: #ffffff;
}

@media (max-width: 500px) {
  .company-menu2 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .company-menu2-1,
  .company-menu2-2 {
    height: clamp(320px, 30vw, 360px);
  }
}
.restaurant-time {
  margin-top: 60px;
}
.restaurant-time img {
  width: clamp(99px, 11.4583333333vw, 165px);
  height: auto;
  position: absolute;
  top: -30px;
  right: 20px;
}

.restaurant-request {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 32px;
}
.restaurant-request img {
  width: clamp(70px, 9.0972222222vw, 131px);
  height: auto;
}
.restaurant-request p {
  text-align: left;
}
.restaurant-request .request-title {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
}

.ichioshi-menu {
  margin-bottom: 0;
}
.ichioshi-menu figure {
  margin-bottom: 0;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
}
.ichioshi-menu img {
  width: 181px;
}
.ichioshi-menu p {
  margin-bottom: 0;
}

@media (max-width: 767px) {
  .restaurant-request {
    gap: 0;
  }
  .restaurant-request img {
    position: absolute;
    top: 5px;
    right: 30px;
  }
}
@media (max-width: 400px) {
  .ichioshi-menu {
    gap: 10px;
  }
  .ichioshi-menu img {
    width: 102px;
  }
}
.is-style-sub-section-lightblue + .entry-content {
  padding-bottom: 0;
}

/* ========================================
 * 客室一覧（room-card）
 * ===================================== */
/* 7F / 6F ブロック全体 */
.room-card-list {
  /* カードをグリッドで並べる */
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(20px, 2.7777777778vw, 40px);
}

/* カード本体 */
.room-card {
  background: #ffffff;
  border-radius: 10px;
  overflow: hidden;
  -webkit-box-shadow: 0 4px 16px rgba(0, 3, 6, 0.16);
          box-shadow: 0 4px 16px rgba(0, 3, 6, 0.16);
  -webkit-transition: -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  transition: transform 0.2s ease, box-shadow 0.2s ease, -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
  height: 100%;
  width: 100%;
}
.room-card a.room-card__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  width: 100%;
  text-decoration: none;
  color: inherit;
}
.room-card:hover .room-card__thumb img {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
.room-card:hover .room-card__arrow {
  -webkit-transform: translateX(6px);
          transform: translateX(6px);
}

/* サムネイルエリア */
.room-card__thumb {
  position: relative;
  overflow: hidden;
  /* 横長画像用に比率を固定したい場合 */
}
.room-card__thumb::before {
  content: "";
  display: block;
  padding-top: 62.5%;
}
.room-card__thumb img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

/* テキスト部分 */
.room-card__body {
  position: relative;
  padding: 15px clamp(20px, 2.0833333333vw, 30px) 28px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
}

/* タイトル（部屋名） */
.room-card__title {
  font-size: 20px;
  font-weight: 500;
  color: #0c9ace;
  padding: 0;
  margin: 0;
  border-radius: 0;
  padding-bottom: 8px;
  border-bottom: 1px solid #A6DDF0;
  background: none;
}

/* キャッチコピー（1行） */
.room-card__catch {
  font-size: 14px;
  color: #0c9ace;
  margin-top: 7px;
  margin-bottom: 0;
  line-height: 1.5;
}

/* スペック一覧 */
.room-card__spec {
  list-style: none;
  padding: 0;
  font-size: 14px;
  margin-bottom: 0;
}
.room-card__spec li {
  margin-top: 2px;
}
.room-card__spec span {
  color: #7B8386;
}

.room-card__arrow {
  font-size: 18px;
  color: #0c9ace;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: -webkit-transform 0.25s ease;
  transition: -webkit-transform 0.25s ease;
  transition: transform 0.25s ease;
  transition: transform 0.25s ease, -webkit-transform 0.25s ease;
  position: absolute;
  right: 16px;
  bottom: 12px;
}
.room-card__arrow::before {
  content: "";
  width: 32px;
  height: 32px;
  background: url(/wp-content/themes/understrap-child-1.2.01/img/mega_arrow.png) no-repeat center center/contain;
}

/* フロア見出し（7Fフロア / 6Fフロア）を想定 */
.room-floor-heading {
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 16px;
  font-size: 1.1rem;
  font-weight: 700;
  color: #ffffff;
  background: #00a0d2;
  border-radius: 8px;
  line-height: 1;
  display: inline-block;
}

/* 「○Fフロアの部屋の一覧はこちら」ボタンを想定 */
.room-floor-more {
  max-width: 1080px;
  margin: 16px auto 80px;
  text-align: right;
  padding: 0 16px;
}
.room-floor-more a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  padding: 8px 18px;
  font-size: 0.9rem;
  border-radius: 999px;
  border: 1px solid #00a0d2;
  color: #00a0d2;
  text-decoration: none;
  -webkit-transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.room-floor-more a:hover {
  background: #00a0d2;
  color: #ffffff;
  border-color: #0086b0;
}

/* ===========================
 * レスポンシブ調整
 * ======================== */
@media (max-width: 767px) {
  .room-card-list {
    margin-bottom: 40px;
  }
  .room-card__body {
    padding: 12px 20px 20px;
  }
  .room-card__title {
    font-size: 1rem;
  }
}
@media (max-width: 575px) {
  .room-card-list {
    grid-template-columns: 1fr;
  }
}
/* ==========================
   room single
   ========================== */
.room-single {
  margin-bottom: 3rem;
}

.room-single__header {
  margin-bottom: 20px;
}

.room-single__title {
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}

/* メイン画像 */
.room-single__mainimg {
  margin-bottom: 1.5rem;
  width: 100%;
}
.room-single__mainimg img {
  display: block;
  width: 100%;
  max-width: none;
  height: auto;
  border-radius: 10px;
  -o-object-fit: cover;
     object-fit: cover;
}

.room-single__mainimg-caption {
  margin-top: 0.5rem;
  font-size: 0.85rem;
  color: #666;
}

/* 各セクションの共通余白 */
.room-single__section {
  margin-bottom: 40px;
}

/* スペック表 */
.room-single__spec table {
  width: 100%;
  border-collapse: collapse;
}
.room-single__spec tr + tr {
  border-top: 1px solid #A6DDF0;
}
.room-single__spec th,
.room-single__spec td {
  padding: 1rem 0;
}
.room-single__spec th p,
.room-single__spec td p {
  line-height: 1.3125;
}
.room-single__spec th {
  width: 20%;
  min-width: 90px;
  font-weight: 600;
  color: #555;
  padding-right: 1rem;
  white-space: nowrap;
}
.room-single__spec td {
  color: #333;
}

/* 360ビュー */
.room-single__360-ttl {
  color: #0c9ace;
  font-weight: 400;
  margin-top: 30px;
}

.room-single__360-embed {
  margin-top: 0.5rem;
}
.room-single__360-embed iframe,
.room-single__360-embed img {
  width: 100%;
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}

.room-single__note {
  font-size: 0.9rem;
  color: #666;
}
.room-single__note p:last-child {
  margin-bottom: 0;
}

/* 360度ビュー全体のラッパー */
.room-single__360-embed #master-container {
  aspect-ratio: 16/9; /* ← 好きな比率 */
  height: auto !important; /* inline height を無効化 */
  max-width: none !important;
}

/* ==========================
   部屋ギャラリー
   ========================== */
.room-single__room-gallery .room-gallery {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 20px;
}
.room-single__room-gallery .room-gallery__item {
  margin-bottom: 0;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc(50% - 10px);
          flex: 0 0 calc(50% - 10px);
}
.room-single__room-gallery .room-gallery__item img {
  max-width: none;
  width: 100%;
  height: auto;
  border-radius: 10px;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  aspect-ratio: 490/310;
}
.room-single__room-gallery .room-gallery__caption {
  margin-top: 0.4rem;
  color: #0c9ace;
}

/* ==========================
   アメニティギャラリー
   ========================== */
.room-single__amenity-gallery .room-amenity-gallery {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem;
}
.room-single__amenity-gallery .room-amenity-gallery__item {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc(33.333% - 0.7rem);
          flex: 0 0 calc(33.333% - 0.7rem);
  text-align: center;
  margin-bottom: 0;
}
.room-single__amenity-gallery .room-amenity-gallery__item img {
  display: block;
  width: 100%;
  max-width: 290px;
  height: auto;
  border-radius: 10px;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 290/193;
}
.room-single__amenity-gallery p {
  margin-top: 1rem;
  font-size: 14px;
}
.room-single__amenity-gallery .room-amenity-gallery__caption {
  margin-top: 0.35rem;
  font-size: 0.8rem;
  color: #666;
}

/* ==========================
   レスポンシブ調整
   ========================== */
@media (max-width: 767px) {
  .room-single__title {
    font-size: 2rem;
  }
  .room-single__mainimg {
    margin-bottom: 1rem;
  }
  .room-single__mainimg img {
    border-radius: 8px;
  }
  .room-single__section {
    margin-bottom: 1rem;
  }
  .room-single__spec th,
  .room-single__spec td {
    padding: 0.8rem 0;
  }
  .room-single__room-gallery .room-gallery {
    gap: 10px;
  }
  .room-single__room-gallery .room-gallery__item {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(50% - 5px);
            flex: 0 0 calc(50% - 5px);
  }
  .room-single__room-gallery .room-gallery__item img {
    border-radius: 8px;
  }
}
@media (max-width: 575px) {
  .room-single__amenity-gallery .room-amenity-gallery {
    gap: 10px;
  }
  .room-single__amenity-gallery .room-amenity-gallery__item {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(50% - 5px);
            flex: 0 0 calc(50% - 5px);
  }
  .room-single__amenity-gallery .room-amenity-gallery__item img {
    border-radius: 8px;
  }
}
/* ==========================
   客室　モーダル
   ========================== */
/* ===== モーダルのベース ===== */
.floor-modal {
  position: fixed;
  inset: 0;
  z-index: 9990;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: rgba(0, 0, 0, 0.6);
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.25s ease, visibility 0.25s ease;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}

/* 開いている状態 */
.floor-modal.is-open {
  opacity: 1;
  visibility: visible;
}

/* 背景クリックエリア */
.floor-modal__overlay {
  position: absolute;
  inset: 0;
  cursor: pointer;
}

/* 中身の白いボックス */
.floor-modal__content {
  position: relative;
  z-index: 1;
  max-width: 800px;
  width: 80%;
  max-height: 90vh;
}
.floor-modal__content .wp-block-buttons {
  position: absolute;
  top: 0px;
  right: -30px;
  border: none;
  background: transparent;
  color: #fff;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
}
.floor-modal__content .wp-block-image {
  margin: 0;
}
.floor-modal__content .wp-block-image img {
  max-width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
  max-height: 80vh;
  display: block;
}
.floor-modal__content .floor-modal__close a {
  background: none;
  padding: 0;
}

/* スマホ用 */
@media (max-width: 767px) {
  .floor-modal__content {
    width: min(94vw, 800px);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 5px 18px;
    border-radius: 12px;
  }
  .floor-modal__content .wp-block-buttons {
    top: -30px;
    right: 15px;
  }
}
/* ==========================
   売店
   ========================== */
.shop-card-wrap {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(20px, 2.0833333333vw, 30px);
}

.shop-card {
  background: #fff;
  overflow: hidden;
  height: 100%;
  -webkit-transition: -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  transition: transform 0.2s ease, box-shadow 0.2s ease, -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
  position: relative;
  width: 100%;
}
.shop-card .shop-card__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  width: 100%;
  text-align: left;
  border: none;
  background: transparent;
  padding: 0;
  cursor: pointer;
}
.shop-card:hover .shop-card__thumb img {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
.shop-card:hover .shop-card__arrow {
  -webkit-transform: translateX(4px);
          transform: translateX(4px);
}
.shop-card:hover .shop-card__thumb-top img {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}

.shop-card__thumb {
  border-radius: 10px;
  position: relative;
  overflow: hidden;
  border: 1px solid #D1D8DB;
}
.shop-card__thumb::before {
  content: "";
  display: block;
  padding-top: 75%;
}
.shop-card__thumb img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  aspect-ratio: 260/195;
}

.shop-card__body {
  padding-top: 9px;
  padding-right: 24px;
}

.shop-card__body-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4px;
}

.shop-card__tag {
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  white-space: nowrap;
  gap: 3px;
}

.tag {
  padding: 4px;
  border-radius: 4px;
  font-size: 14px;
  line-height: 1;
  vertical-align: middle;
  font-family: "Quicksand", sans-serif;
}

.tag--new {
  background: #E84336;
  color: #fff;
} /* 赤 */
.tag--osusume {
  background: #48C378;
  color: #fff;
} /* 緑 */
.shop-card__tag-toprank {
  margin-bottom: 10px;
}

.shop-card__tag-rank {
  margin-bottom: 2px;
}

.shop-card__title-wrap {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  width: 100%;
}

.shop-card__title {
  font-size: 16px;
  color: #0c9ace;
  font-weight: 500;
  margin: 0 0 4px;
  padding: 0;
  background: none;
}

.shop-card__price {
  font-size: 14px;
  color: #7B8386;
  margin: 0;
  text-align: right;
}

/* ランキングバッジ（1～7） */
.shop-card__badge {
  position: absolute;
  top: 6px;
  left: 6px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #f5b400;
  color: #fff;
  font-weight: 700;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 14px;
}

/* 右端の矢印：画像 */
.shop-card__arrow {
  position: absolute;
  right: -4px;
  bottom: 4px;
  -webkit-transition: -webkit-transform 0.25s ease;
  transition: -webkit-transform 0.25s ease;
  transition: transform 0.25s ease;
  transition: transform 0.25s ease, -webkit-transform 0.25s ease;
}

.shop-card__arrow::before {
  content: "";
  display: block;
  width: 32px;
  height: 32px;
  background: url("/wp-content/themes/understrap-child-1.2.01/img/mega_arrow.png") no-repeat center center/contain;
}

.shop-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 999;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.shop-modal.is-open {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.shop-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.7);
}

.shop-modal__content {
  position: relative;
  z-index: 1;
  max-width: 640px;
  width: 90%;
  background: #fff;
  border-radius: 10px;
}

.shop-modal__image {
  margin-bottom: 0;
}

.shop-modal__image img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 10px;
}

.shop-card__desc p {
  font-size: 14px;
  color: #7B8386;
}

.shop-modal__close {
  position: absolute;
  top: -8px;
  right: -30px;
  font-size: 24px;
  border: none;
  background: transparent;
  color: #fff;
  cursor: pointer;
}

@media (max-width: 992px) {
  .shop-card-wrap {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(10px, 2.5vw, 20px);
  }
  .tag {
    font-size: 10px;
  }
  .shop-card__arrow::before {
    width: 24px;
    height: 24px;
  }
}
.shop-card-ranking__title {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  font-size: 14px;
  margin: 0 0 4px;
}

/* アイコンのベース */
.shop-card__rank-icon {
  display: inline-block;
  width: 40px;
  height: 48px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.shop-card__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}

.shop-card__texts {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
}

/* ランクごとに画像を切り替え */
.shop-card__rank-icon-top.rank-1 {
  background-image: url("/wp-content/themes/understrap-child-1.2.01/img/rank/rank_1.png");
}

.shop-card__rank-icon.rank-2 {
  width: 50px;
  height: 58px;
  background-image: url("/wp-content/themes/understrap-child-1.2.01/img/rank/rank_2.png");
}

.shop-card__rank-icon.rank-3 {
  width: 50px;
  height: 58px;
  background-image: url("/wp-content/themes/understrap-child-1.2.01/img/rank/rank_3.png");
}

.shop-card__rank-icon.rank-4 {
  background-image: url("/wp-content/themes/understrap-child-1.2.01/img/rank/rank_4.png");
}

.shop-card__rank-icon.rank-5 {
  background-image: url("/wp-content/themes/understrap-child-1.2.01/img/rank/rank_5.png");
}

.shop-card__rank-icon.rank-6 {
  background-image: url("/wp-content/themes/understrap-child-1.2.01/img/rank/rank_6.png");
}

.shop-card__rank-icon.rank-7 {
  background-image: url("/wp-content/themes/understrap-child-1.2.01/img/rank/rank_7.png");
}

/* ================================
 * ランキング 1位用カード
 * ============================== */
.shop-card--ranking-top {
  margin-bottom: 40px;
  max-width: 556px;
  margin-left: auto;
  margin-right: auto;
}
.shop-card--ranking-top .shop-card__link-top {
  border: none;
  background: transparent;
  padding: 0;
  cursor: pointer;
  display: grid;
  grid-template-columns: 1fr 0.8fr;
  gap: 23px;
}
.shop-card--ranking-top .shop-card__thumb-top {
  border-radius: 10px;
  position: relative;
  overflow: hidden;
  border: 1px solid #D1D8DB;
}
.shop-card--ranking-top .shop-card__thumb-top img {
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.shop-card--ranking-top .shop-card__body {
  text-align: left;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  position: relative;
}
.shop-card--ranking-top .shop-card__head {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.shop-card--ranking-top .shop-card__rank-icon-top {
  display: inline-block;
  width: 56px;
  height: 81px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.shop-card--ranking-top .shop-card__price-top {
  font-size: 14px;
  color: #7B8386;
}

@media (max-width: 992px) {
  .shop-card--ranking-top {
    max-width: none;
  }
  .shop-card--ranking-top .shop-card__link-top {
    grid-template-columns: 1fr 1fr;
    gap: clamp(10px, 2.5vw, 20px);
  }
  .shop-card--ranking-top .shop-card__title {
    font-size: 14px;
  }
  .shop-card--ranking-top .shop-card__rank-icon-top {
    width: 40px;
    height: 58px;
  }
}
@media (max-width: 575px) {
  .shop-card--ranking-top .shop-card__link-top {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .shop-card--ranking-top .shop-card__head {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.takeout-orange .wp-block-columns {
  margin-bottom: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.takeout-orange .wp-block-column:first-child {
  max-width: 157px;
}
.takeout-orange .wp-block-column:last-child {
  -ms-flex-preferred-size: 80%;
      flex-basis: 80%;
}
.takeout-orange .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.takeout-orange img {
  max-width: px;
}

@media (max-width: 992px) {
  .takeout-orange .wp-block-columns {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center !important;
        -ms-flex-align: center !important;
            align-items: center !important;
    gap: 0;
  }
  .takeout-orange .wp-block-column:first-child, .takeout-orange .wp-block-column:last-child {
    max-width: none;
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }
  .takeout-orange .wp-block-column:first-child {
    text-align: center;
  }
  .takeout-orange img {
    width: clamp(100px, 10.4166666667vw, 150px);
    height: auto;
    margin: 0 auto;
    text-align: center;
  }
}
.fare-table-view h4,
.fare-calendar-view h4,
.fare-list-view h4 {
  margin: 0;
}
.fare-table-view h4::before,
.fare-calendar-view h4::before,
.fare-list-view h4::before {
  display: none;
}
.fare-table-view .bg-white.rounded-lg,
.fare-calendar-view .bg-white.rounded-lg,
.fare-list-view .bg-white.rounded-lg {
  padding: 20px;
}
.fare-table-view .bg-gray-50,
.fare-calendar-view .bg-gray-50,
.fare-list-view .bg-gray-50 {
  background: #fff;
}
.fare-table-view .overflow-x-auto,
.fare-calendar-view .overflow-x-auto,
.fare-list-view .overflow-x-auto {
  overflow-x: auto;
}
.fare-table-view table,
.fare-calendar-view table,
.fare-list-view table {
  min-width: 600px;
  width: 100%;
}
.fare-table-view .shadow-lg,
.fare-calendar-view .shadow-lg,
.fare-list-view .shadow-lg {
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
}
.fare-table-view .shadow-lg.rounded-lg,
.fare-calendar-view .shadow-lg.rounded-lg,
.fare-list-view .shadow-lg.rounded-lg {
  border-radius: 20px;
  border: 1px solid #0c9ace;
}

.fare-table-view td,
.fare-table-view th,
.fare-list-view td,
.fare-list-view th {
  padding: 8px;
  border: 1px solid #a6ddf0;
}
.fare-table-view th,
.fare-list-view th {
  background: #eaf9ff !important;
}

.fare-list-view table {
  min-width: 2000px;
}
.fare-list-view td:first-child,
.fare-list-view th:first-child {
  min-width: 180px;
}
.fare-list-view td:not(:first-child),
.fare-list-view th:not(:first-child) {
  min-width: 75px;
}

h4.font-semibold {
  margin: 0;
}
h4.font-semibold::before {
  display: none;
}

.fare-table-container {
  /* アクティブ（緑） */
}
.fare-table-container a.bg-\[\#48c378\] {
  color: #ffffff;
  background-color: #48c378;
  border-color: #48c378 !important;
}
.fare-table-container {
  /* 非アクティブ（青） */
}
.fare-table-container a.text-\[\#0c9ace\] {
  color: #0c9ace;
  background-color: #ffffff;
  border-color: #0c9ace !important;
}
.fare-table-container a.text-\[\#0c9ace\]:hover {
  background-color: #48c378 !important;
  color: #ffffff !important;
  border-color: #48c378 !important;
}

.fare_caution {
  margin-top: 1rem;
}
.fare_caution p, .fare_caution li, .fare_caution a {
  font-size: 14px;
  line-height: 1.4;
}

.public_grid {
  gap: 30px !important;
}
.public_grid .wp-block-image {
  margin-bottom: 0;
}
.public_grid .wp-block-image img {
  border-radius: 10px;
}
.public_grid .wp-block-heading {
  margin-top: 10px;
  margin-bottom: 4px;
  font-size: 16px;
}
.public_grid .wp-block-heading::before {
  display: none;
}
.public_grid p {
  font-size: 14px;
  color: #7B8386;
}

@media screen and (max-width: 767px) {
  .public_grid {
    gap: 24px 20px !important;
  }
}
.cf7-table {
  width: 100%;
  border-collapse: collapse;
}

.cf7-table th, .cf7-table td {
  border: 1px solid #d8d8d8;
  vertical-align: top;
  padding: 18px;
}

.cf7-table th {
  width: 28%;
  background: #dff2fb;
  font-weight: 600;
}

.cf7-table td {
  background: #fff;
}

.cf7-table .req {
  display: block;
  padding: 2px 10px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 4px;
  background: #d33;
  color: #fff;
  font-size: 12px;
  border-radius: 2px;
}

.cf7-actions {
  margin-top: 18px;
  text-align: center;
}

.wpcf7-spinner {
  display: none;
}

.wpcf7-previous {
  margin-bottom: 6px;
}

.cf7-zip-input-group > p {
  display: contents;
  margin: 0;
  padding: 0;
}

.wpcf7 {
  max-width: 900px;
}
.wpcf7 input[type=text],
.wpcf7 input[type=email],
.wpcf7 input[type=tel],
.wpcf7 input[type=number],
.wpcf7 textarea,
.wpcf7 select {
  width: 100%;
  background: #F1F3F4;
  padding: 18px 20px;
  border: 1px solid #F1F3F4;
  border-radius: 10px;
}
.wpcf7 textarea {
  min-height: 160px;
}
.wpcf7 th {
  width: 320px;
  vertical-align: baseline;
}
.wpcf7 th p {
  margin-top: 1rem;
  margin-bottom: 0rem !important;
}
.wpcf7 .form-tbl {
  border-collapse: collapse;
  width: 100%;
}
.wpcf7 th .icon-2tones {
  font-weight: 500;
}
.wpcf7 .form-must {
  color: #ffffff !important;
  margin-right: 8px;
  margin-left: 0;
  padding: 3px 8px;
  background: #E84336;
  border-radius: 6px;
  font-size: 12px;
}
.wpcf7 .form-nini {
  color: #ffffff;
  margin-right: 8px;
  padding: 3px 8px;
  background: #707070;
  border-radius: 6px;
  font-size: 12px;
}
.wpcf7 .form-details a {
  color: #0c9ace;
  text-decoration: underline;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
.wpcf7 .form-details a::after {
  content: "";
  background: url(/wp-content/themes/understrap-child-1.2.01/img/arrow-lightblue.png) no-repeat center center/contain;
  width: 8px;
  height: 13px;
}

#open-confirm,
#confirm-back,
#confirm-submit {
  margin-inline: auto;
  display: block;
  text-align: center;
  border: 1px solid #48C378;
  background: #48C378;
  color: #fff;
  font-size: 18px;
  padding: 16px 40px;
  border-radius: 100px;
  cursor: pointer;
}

#open-confirm {
  min-width: 300px;
  margin-top: 40px;
}

#confirm-back {
  background: #fff;
  color: #48C378;
  border: 1px solid #48C378;
  min-width: 200px;
}

#confirm-submit {
  min-width: 200px;
}

#confirm-modal h3 {
  text-align: center;
}
#confirm-modal .confirm-btn-wrap p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px;
  margin-top: 30px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#confirm-modal .form-radio .wpcf7-list-item span:not(.wpcf7-list-item-label) {
  display: none;
}

/* ×にした航路は選べない */
select[name=date_to_kouro] option[disabled],
select[name=date_to_kouro] option.is-disabled,
select[name=date_from_kouro] option[disabled],
select[name=date_from_kouro] option.is-disabled {
  color: #9aa0a6 !important;
}

select option[disabled],
select option.is-disabled {
  color: #999 !important;
}

select option[disabled],
select option.is-disabled {
  color: #999 !important;
}

.sec-inner th {
  width: 320px;
  vertical-align: baseline;
}
.sec-inner .form-tbl {
  border-collapse: collapse;
  width: 100%;
}
.sec-inner .form-tbl tr + tr th,
.sec-inner .form-tbl tr + tr td {
  padding-top: 2rem;
}
.sec-inner .th-head {
  font-size: 18px;
  color: #0c9ace;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 16px;
  font-weight: 400;
}
.sec-inner .th-head:after {
  content: "";
  height: 1px;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  background-color: #A6DDF0;
  margin-left: 1rem;
}
.sec-inner .live-notice-text {
  margin-bottom: 1rem !important;
}
.sec-inner .td-head {
  font-weight: 400;
  margin: 0;
  margin-bottom: 8px;
}
.sec-inner .td-head + p {
  margin: 0;
}
.sec-inner p + .td-head {
  margin-top: 1rem;
}
.sec-inner li {
  list-style: none;
}

.other-input-wrapper p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
}
.other-input-wrapper p span {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.other-input-wrapper p .wpcf7-form-control-wrap {
  width: 100%;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.form-radio-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.form-add-btn {
  margin-top: 2rem;
}

.form-select-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5rem 2.5rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.form-select-list__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  -webkit-box-flex: 0;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
}

.form-select-list__item p {
  display: grid;
  grid-template-columns: 50px 80px auto;
  gap: 0.5rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  margin: 0;
}

.form-select-list__item select {
  margin-right: 0.25rem;
}

.form-others-onboard {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem;
  list-style: none;
  padding: 0;
  margin: 1rem 0 0 0;
}

.form-others-onboard__item {
  display: block;
  width: 100%;
}

.form-others-onboard__item p {
  display: grid;
  grid-template-columns: 250px 1fr auto;
  gap: 0.5rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0;
}

.form-others-onboard__item span {
  white-space: nowrap;
}

.vehicle-block .form-tbl td p input[type=text] {
  max-width: 200px;
}

/* 乗船者情報の入力フィールド（年齢等）を横並びに */
.form-number p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0;
}
.form-number p input {
  width: 200px !important;
}

.live-notice-text--color-red {
  color: #E84336;
  margin-top: 1rem !important;
  margin-bottom: 0 !important;
}

.wpcf7 .red-text {
  color: #E84336;
}

/* CF7のradioをボタン風に */
.route-group--to .wpcf7-list-item,
.route-group--from .wpcf7-list-item,
.form-radio .wpcf7-list-item {
  display: inline-block;
  margin: 0 4px 8px 0;
}

.wpcf7-list-item,
.wpcf7-list-item-label span .route-group--to label,
.route-group--from label {
  font-size: 18px;
  letter-spacing: 0;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  background: #F1F3F4;
  padding: 12px 40px 12px 16px;
  border: 1px solid #F1F3F4;
  border-radius: 10px;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

/* “×” 航路のラベル見た目とクリック抑止 */
.wpcf7-radio label.is-disabled {
  opacity: 0.45;
  pointer-events: none;
}

.form-block {
  text-align: center;
  margin-top: 60px;
}

.wpcf7 input[type=submit] {
  background: #48c378;
  color: #ffffff;
  font-size: 18px;
  font-weight: 500;
  padding: 14px 32px;
  border-radius: 30px;
  border: none;
  max-width: 300px;
  margin-inline: auto;
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media (any-hover: hover) {
  .wpcf7 input[type=submit]:hover {
    background: rgb(53.3333333333, 162.6666666667, 96);
  }
}

.wpcf7 .form-tbl th,
.wpcf7 .form-tbl td {
  display: block;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.wpcf7 .form-tbl th {
  border-bottom: none;
  width: 100%;
}

.wpcf7 .form-tbl td {
  padding-top: 0.5rem;
}

.wpcf7 .form-tbl tr + tr td {
  padding-top: 0.5rem !important;
}

.form-select-people__item p {
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  grid-template-columns: 200px 100px auto;
}

.form-select-number__item {
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  grid-template-columns: 100px auto;
}

#pet-num-wrap {
  margin-bottom: 1rem;
}

.pet-block__link-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}

.pet-block__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.pet-block__link:nth-of-type(1) {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.pet-block__link:nth-of-type(2) {
  -webkit-box-flex: 2;
      -ms-flex: 2;
          flex: 2;
}

.pet-block__link p {
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}

.pet-block__link a {
  display: block;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
  padding: 12px 20px;
  background: #0c9ace;
  border: 1px solid #0c9ace;
  border-radius: 10px;
  text-align: center;
  color: #fff;
}
@media (any-hover: hover) {
  .pet-block__link a:hover {
    background: #48c378;
  }
}

.live-notice-text.red {
  color: #E84336;
}

.kkday-btn {
  max-width: 500px;
  margin-top: 1rem;
  padding: 24px;
  background: #e8f8f9;
  border-radius: 10px;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.kkday-btn figure {
  text-align: center;
}
.kkday-btn img {
  max-width: 200px;
  margin-inline: auto;
}
.kkday-btn a {
  color: #000;
}
@media (any-hover: hover) {
  .kkday-btn:hover {
    opacity: 0.7;
  }
}/*# sourceMappingURL=app.css.map */