/* CSS Document */
/*ss1*/
#top1 {
  background-image: url(https://irifune-aso.jp/wp9/wp-content/themes/onepress-irifune/img/index/back1.png);
  margin-bottom: 0;
  padding-bottom: 10%;
  background-size: 120%;
}
/* second-food section */
#backd9d9d9 {
  background-color: #fff;
  background-image: url(https://irifune-aso.jp/wp9/wp-content/themes/onepress-irifune/img/lp/lp-bg.jpg);
  padding-top: 0;
}
/*slider1*/
#top-food {
  background-image: url(https://irifune-aso.jp/wp9/wp-content/themes/onepress-irifune/img/index/to1.png);
}
#top-room {
  background-image: url(https://irifune-aso.jp/wp9/wp-content/themes/onepress-irifune/img/index/to2.png);
}
#top-bath {
  background-image: url(https://irifune-aso.jp/wp9/wp-content/themes/onepress-irifune/img/index/to3.png);
}
#top-gallery {
  background-image: url(https://irifune-aso.jp/wp9/wp-content/themes/onepress-irifune/img/index/to4.png);
}
#top-access {
  background-image: url(https://irifune-aso.jp/wp9/wp-content/themes/onepress-irifune/img/index/to5.png);
}
#top-promise {
  background-image: url(https://irifune-aso.jp/wp9/wp-content/themes/onepress-irifune/img/index/to6.png);
}
/**/
.slick-slider {
 /* margin: 0 auto 0 auto !important;*/

    width: 100%;
    margin: 10% auto 0% auto;

}
#top-food .fs40{
    line-height: 2em;
}
#top-food {
  margin-bottom: 0;
}
#second-food {
  width: 100%;
  display: flex;
  justify-content: center;
  margin: 0 auto;
  padding: 155px 0;
  background-image: url(https://irifune-aso.jp/wp9/wp-content/themes/onepress-irifune/img/lp/monyouA.png);
  background-position: top right;
  background-size: 27%;
  background-repeat: no-repeat;
}
#second-food, #second-food p {
  color: #1a1a1a;
}
#second-food .second-food-container {
  display: flex;
  width: 1780px;
  gap: 90px;
  align-items: flex-start;
}
.second-food-img {
  width: 50%;
}
#second-food .second-food-img img {
  width: 100%;
  height: auto;
  display: block;
  /*border-radius: 8px;*/
}
#second-food .second-food-text {
  flex: 1;
}
/* ===== Slider UL調整 ===== */
.plan-slider {
  width: 100%;
  margin-bottom: 10.5%;
}
/*.plan-ul {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  list-style: none;
  padding: 0;
  margin: 0;
}*/
.plam-list {
  list-style: none;
  margin: auto;
}
/* ===== Card ===== */
.plan-card {
  width: clamp(280px, 30vw, 500px);
  height: auto;
  /*width: 500px;
    height: 530px;*/
  background: #fff;
  border: 0;
  box-shadow: none;
  color: #1a1a1a;
  margin: auto;
}
.plan-card__image {
  width: 100%;
  aspect-ratio: 5 / 3;
  overflow: hidden;
}
.plan-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
/*.plan-card__body {
  height: 210px;
  padding: 24px 20px 24px 20px;
  text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}*/
.plan-card__body {
  height: auto; /* ← 固定せず可変 */
  padding: clamp(16px, 2vw, 28px) clamp(12px, 1.8vw, 24px);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: clamp(8px, 1.5vw, 16px); /* アイテム間の余白も可変 */
  text-align: center;
}
.plan-card__label {
  /*font-size: 24px;
  line-height: 1.8vw;*/
  font-size: clamp(14px, 1.8vw, 20px);
  line-height: clamp(1.4em, 2vw, 1.6em);
  margin: 0;
  color: #1a1a1a !important;
}
.plan-card__title {
  font-size: clamp(18px, 2.4vw, 28px);
  line-height: clamp(1.2em, 2vw, 1.4em);
  /*font-size: 30px;*/
  margin: 0;
  font-weight: 700;
}
.plan-card__cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: clamp(12px, 1.5vw, 16px);
  padding: clamp(8px, 1.5vw, 14px) clamp(12px, 2vw, 18px);
  /*  font-size: 17px;
  padding: 14px 18px;*/
  border: 1px solid #1a1a1a;
  text-decoration: none;
  color: #1a1a1a;
  border-radius: 0;
}
.plan-card__cta .plan-card__arrow {
  width: clamp(18px, 1.5vw, 27px);
  height: auto;
  display: inline-block;
}
.plan-card__txt {
  min-height: 60px; /* ボタンがあるときと同じぐらい確保 */
  display: flex;
  justify-content: center;
  align-items: center;
}
.plan-card__cta--placeholder {
  display: inline-block;
  width: 100%;
  height: 44px; /* 実際のボタンの高さに揃える */
  visibility: hidden; /* 透明で非表示だがスペースは残す */
}
.plan-card__label.plan-card__label--as-title {
  line-height: 1.8em;
  padding-top: 0.2em;
}
/* ② Slick用にULの既存flex指定を無効化して、幅＆間隔をSlick側で扱う */
.plan-ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: block; /* ← 既存の display:flex; は外す */
}
/* 1枚の幅と間隔（variableWidth:trueで有効）*/
.plan-ul .slick-slide {
  width: 500px; /* 指定どおり */
  /*  margin-right:24px;*/ /* gapの代わり */
  margin-right: 0;
}
/* 既存の gap 指定が残ってたら削除する */
.plan-ul {
  gap: 0 !important;
}
/* ====== ドットカスタム ====== */
.plan-slider .slick-dots {
  display: flex !important;
  justify-content: center;
  margin-top: 20px;
  gap: 10px;
  padding: 0;
}
.plan-slider .slick-dots li {
  width: 30px; /* 横長棒の幅 */
  height: 4px; /* 棒の太さ */
  background: #fff;
  border-radius: 2px;
  transition: background 0.3s;
}
.plan-slider .slick-dots li.slick-active {
  background: #000; /* アクティブは黒 */
}
.plan-slider .slick-dots button {
  display: none; /* デフォルトの丸ボタンを非表示 */
}
/* 1) ドットをフロー内へ（絶対配置をやめる） */
.plan-slider .slick-dots {
  position: static !important;
  margin: 16px 0 0;
  display: flex !important;
  justify-content: center;
  gap: 10px;
  z-index: 2;
  margin-top: 3.1%;
}
/* 2) 必要なら親の切り捨て回避 */
#plan-slider-box, .plan-slider {
  overflow: visible;
}
#plan-slider-box {
  margin-bottom: 8%;
}
/* 3) 見えるサイズを強制（ボタンに頼らない描画） */
.plan-slider .slick-dots li {
  display: block;
  width: 32px;
  height: 4px;
}
.plan-slider .slick-dots li button {
  padding: 0;
  width: 100%;
  height: 100%;
}
.plan-slider .slick-dots li button:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: #ddd;
  opacity: 1;
  border-radius: 2px;
}
.plan-slider .slick-dots li.slick-active button:before {
  background: #000;
}
/* 4) スライダー本体の下に余白が無い場合の保険 */
/* 4) スライダー本体の下に余白が無い場合の保険 */
.plan-slider .slick-list {
  margin-bottom: 16px;
}
.plan-card {
  transform-origin: top center; /* 縮小の基準点 */
  transform: scale(1); /* デフォルトは等倍 */
  transition: transform 0.3s ease; /* なめらか */
}
/* 1200px以下のとき */
@media (max-width:1200px) {
  .plan-card {
    transform: scale(0.9);
  }
}
/* 1000px以下のとき */
@media (max-width:1000px) {
  .plan-card {
    transform: scale(0.8);
  }
}
/* 800px以下のとき */
@media (max-width:800px) {
  .plan-card {
    transform: scale(0.7);
  }
}
@media (max-width:750px) {
  .plan-card {
    transform: scale(0.9);
  }
}
/**/
#top-room {
  margin-bottom: 0 !important;
}
/**/
.roomlist-ul-box-start, .roomlist-ul-box-end {
  display: none;
}
@media(max-width:750px) {
  .roomlist-ul-box {
    display: flex;
    position: relative;
  }
  .roomlist-ul-box-start, .roomlist-ul-box-end {
    text-align: center;
    background-color: #333;
    font-size: 15px;
    padding: 0.5em;
    color: #fff;
    display: flex;
    align-items: center;
    opacity: 0.5;
    position: absolute;
    z-index: 66;
  }
  .roomlist-ul-box-start {
    top: 0;
    left: 0;
  }
  .roomlist-ul-box-end {
    top: 0;
    right: 0;
  }
  #room-list .room-panel {
    width: 90%;
  }
}
/**/
/* =========================================
   Room Tabs - THUMBS (7連)
   ========================================= */
/* UL：横並び・gap=2px・幅100% */
.roomlist-ul {
  display: flex;
  gap: 2px;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}
/* LI：7等分（gap6箇所=12pxを差し引き） */
.roomlist-ul > li {
  flex: 1 1 calc((100% - 12px) / 7);
  display: block;
  margin: 0;
}
/* サムネ本体 */
.roomthumb {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 274 / 272; /* 指定比率固定 */
  overflow: hidden;
  outline: 1px solid #0e0000; /* 指定アウトライン色 */
}
/* 画像：フィット＋ホバー拡大アニメーション */
.roomthumb > img:first-child {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1.001); /* 縁対策の微拡大 */
  transition: transform .35s ease;
}
.roomthumb:hover > img:first-child, .roomthumb.is-active > img:first-child {
  transform: scale(1.2); /* ホバー/選択で120% */
}
/* 暗幕：初期50%黒、ホバー/選択で解除 */
.roomthumb::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .5);
  transition: opacity .25s ease;
  pointer-events: none;
  z-index: 1; /* ←テキスト＆矢印より下 */
}
/* ラベル（部屋名） */
.roomthumb-label {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -80%);
  display: inline-block;
  padding: .25em .6em;
  /* 帯は残す？必要なければ削除可 */
  color: #fff; /* 常に白文字 */
  z-index: 2; /* ←暗幕より上に */
  letter-spacing: .08em;
  font-weight: 600;
  font-size: clamp(14px, 1.25vw, 24px);
  line-height: 1.2;
  white-space: nowrap;
  text-shadow: 0 1px 0 rgba(0, 0, 0, .25);
}
/* 矢印：ラベルの下あたりに中央寄せ */
.roomthumb-arrow {
  position: absolute;
  left: 50%;
  top: calc(50% + 18px);
  transform: translateX(-50%);
  width: clamp(6px, 0.625vw, 12px);
  height: auto;
  pointer-events: none;
  filter: drop-shadow(0 1px 0 rgba(0, 0, 0, .2));
  z-index: 2; /* ←暗幕より上に */
}
/* アウトラインは常に同色（ホバー/選択でも変えない） */
.roomthumb:hover, .roomthumb.is-active {
  outline-color: #0e0000;
  box-shadow: none; /* 以前の強調が残っていたら無効化 */
}
/* =========================================
   Room Panels - 本文切替（必要なら）
   ========================================= */
.room-panels .room-panel {
  display: none;
}
.room-panels .room-panel.is-active {
  display: block;
}
#room-list {
  padding-bottom: 6.3%;
}
.room-tabs {
  background-image: url(https://irifune-aso.jp/wp9/wp-content/themes/onepress-irifune/img/lp/monyouB.png);
  background-position: top left;
  background-repeat: no-repeat;
}
.room-panels article {
  max-width: 1300px;
  width: 70%;
  margin: 7% auto;
}
/* ========== 共通余白 ========== */
#room-list .room-panel {
  --container-gap: clamp(12px, 2vw, 28px);
  --line-color: rgba(0, 0, 0, .3);
  --jp: "YuMincho Demibold", "YuMincho", serif;
}
/* ========== ヘッダー（左テキスト＋右メイン画像） ========== */
.room-head {
  display: grid;
  grid-template-columns: 1fr 1.6fr;
  gap: var(--container-gap);
  align-items: start;
  margin-bottom: clamp(16px, 2vw, 36px);
}
#backd9d9d9 .room-head__jp {
  font-family: var(--jp);
  font-size: clamp(14px, 1.05vw, 20px);
  letter-spacing: .04em;
  margin: 0 0 .7em 0;
  color: #000;
  line-height: 1.2em;
}
#backd9d9d9 .room-head__en {
  font-family: var(--jp);
  font-weight: 700;
  font-size: clamp(28px, 2.8vw, 53px);
  line-height: 1.1;
  margin: 0 0 clamp(20px, 2vw, 40px) 0;
  color: #000;
}
.room-head__pill {
  display: inline-block;
  font-size: clamp(13px, 0.95vw, 18px);
  line-height: 1.2;
  padding: .45em 1.4em;
  margin: 0 0 clamp(20px, 2vw, 40px) 0;
  color: #fff;
  background-color: #000;
  letter-spacing: 0.1em;
}
#backd9d9d9 .room-head__lead p {
  font-size: clamp(16px, 1.05vw, 20px);
  line-height: 2.1em;
  margin: 0 0 .8em 0;
  color: #000;
}
.room-head__hero img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  /*border: 1px solid #0e0000;*/
}
/* ========== 3枚ギャラリー ========== */
.room-gallery3 {
  list-style: none;
  padding: 0;
  margin: 0 0 clamp(20px, 2.5vw, 36px) 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(10px, 1.2vw, 20px);
}
.room-gallery3 img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  /*border: 1px solid #0e0000;*/
}
/* ========== Amenity / Facility の2段 ========== */
.room-spec {
  margin-top: clamp(10px, 1.5vw, 20px);
  border-top: #000 1px solid;
}
.room-spec__row {
  display: grid;
  grid-template-columns: clamp(120px, 16vw, 320px) 1fr;
  column-gap: var(--container-gap);
  row-gap: .6em;
  align-items: center;
  padding: clamp(8px, 1.2vw, 14px) 0;
  border-bottom: #000 1px solid;
}
.room-spec__ttl {
  font-size: clamp(14px, 1.2vw, 23px);
  letter-spacing: .08em;
  margin: 0;
  text-align: center;
}
#backd9d9d9 .room-spec__txt {
  font-size: clamp(14px, 1vw, 18px);
  line-height: 2;
  margin: 0 clamp(0px, 5vw, 100px) 0 0;
  color: #000;
}
/* ========== サムネ（上部ボタン）の既存調整と整合 ========== */
.roomlist-ul {
  display: flex;
  gap: 2px;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}
.roomlist-ul > li {
  flex: 1 1 calc((100% - 12px)/7);
  display: block;
  margin: 0;
}
.roomthumb {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 274/272;
  overflow: hidden;
  outline: 1px solid #0e0000;
}
.roomthumb:hover > img:first-child, .roomthumb.is-active > img:first-child {
  transform: scale(1.2);
}
.roomthumb::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .5);
  transition: opacity .25s ease;
  pointer-events: none;
  z-index: 1;
}
.roomthumb:hover::after, .roomthumb.is-active::after {
  opacity: 0;
}
.roomthumb-label {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -80%);
  color: #fff;
  z-index: 2;
  letter-spacing: .08em;
  font-weight: 600;
  font-size: clamp(14px, 1.25vw, 24px);
  line-height: 1.2;
  white-space: nowrap;
  text-shadow: 0 1px 0 rgba(0, 0, 0, .25);
}
.roomthumb-arrow {
  position: absolute;
  left: 50%;
  top: calc(50% + 18px);
  transform: translateX(-50%);
  width: clamp(6px, .625vw, 12px);
  height: auto;
  z-index: 2;
  pointer-events: none;
  filter: drop-shadow(0 1px 0 rgba(0, 0, 0, .2));
}
.fs18 {
  font-size: 0.945vw;
  line-height: 2.0vw;
}
.second-bath-hr {
  display: inline-block; /* テキスト幅に合わせる */
  border-top: 1px solid #000; /* 上線 */
  border-bottom: 1px solid #000; /* 下線 */
  padding: 12px 0; /* 上下の余白 */
}
#top-bath {
  margin-bottom: 0 !important;
}
.bg-space-c {
  background-image: url(https://irifune-aso.jp/wp9/wp-content/themes/onepress-irifune/img/lp/monyouC.png);
  background-position: top right;
  /*background-size: 27%;*/
  background-repeat: no-repeat;
}
#second-bath {
  width: 100%;
  display: flex;
  justify-content: center;
  margin: 0 auto;
  padding: 58px 0;
}
#second-bath, #second-bath p {
  color: #1a1a1a;
}
#second-bath .second-bath-container {
  display: flex;
  width: 1780px;
  gap: 90px;
  align-items: center;
}
.second-bath-img {
  width: 50%;
}
#second-bath .second-bath-img img {
  width: 100%;
  height: auto;
  display: block;
}
#second-bath .second-bath-text {
  flex: 1;
}
@media(max-width:750px) {
  .fs18 {
    font-size: 16px;
  }
  .second-bath-text {
    margin-top: 10px;
  }
  #second-bath .second-bath-container {
    display: block;
    width: 90%;
    margin: auto;
  }
  .second-bath-img {
    width: 100%;
  }
}
/* セクション背景など（必要なら） */
#second-bath-list {
  width: 100%;
  display: flex;
  justify-content: center;
  padding: 100px 0;
}
#second-bath-list, #second-bath-list p {
  color: #1a1a1a;
}
/* 1920px時のレイアウト想定：横1300pxで2×2 */
.second-bath-wrap {
  /*width: 1300px;  */ /* 指定どおり */
  max-width: 1300px;
  width: 67%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr; /* 画像幅に合わせて固定 */
  column-gap: 70px; /* 615*2=1230 → 1300との差=70 */
  row-gap: 80px;
}
.second-bath-card {
  text-align: center;
}
.second-bath-title {
  font-size: clamp(20px, 2vw, 40px); /* タイトル 40px */
  line-height: 1.3;
  margin: 0 0 14px;
  font-weight: 700;
}
.second-bath-figure {
  width: 100%; /* 画像サイズ固定 */
  height: auto;
  margin: 0 autoclamp(12px, 1.8vw, 24px);
}
.second-bath-figure img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
}
.second-bath-lead {
  /*font-size: 26px;*/ /* サブタイトル 40px */
  font-size: clamp(16px, 1.65vw, 26px);
  line-height: 1.6;
  margin: 18px 0 18px;
  font-weight: 500;
  letter-spacing: .02em;
}
.second-bath-body {
  font-size: 16px; /* 本文 16px */
  line-height: 2.1;
  text-align: left;
  margin: 0;
}
/* 必要に応じて下記でスマホ/タブレット対応を追加してください */
@media (max-width: 1400px) {
  /*.second-bath-wrap{
      width: 100%;
      grid-template-columns: 1fr;
      column-gap: 0;
      row-gap: 64px;
      padding: 0 20px;
    }*/
  .second-bath-figure, .second-bath-figure img {
    width: 100%;
    height: auto;
  }
  .second-bath-body {
    text-align: justify;
  }
}
@media(max-width:750px) {
  #second-bath-list {
    padding: 0 0 15px 0 !important;
  }
  .second-bath-wrap {
    width: 90%;
  }
  .second-bath-wrap {
    grid-template-columns: 1fr;
  }
}
/* コンテナ共通（68%幅・最大1300px） */
#backd9d9d9 .hours-title {
  color: white;
  font-size: clamp(12px, 1.8vw, 24px);
  line-height: 1.8em;
}
.bath-container, .hours-block {
  width: 68%;
  max-width: 1300px;
  margin: 0 auto;
  box-sizing: border-box;
}
.hours-block2 {
  background-color: #000;
  margin-bottom: 120px;
}
/* 横並び（大浴場と家族湯） */
.bath-container {
  display: flex;
  justify-content: space-between;
  gap: clamp(20px, 2vw, 40px);
}
.bath-box {
  flex: 1;
  border: 1px solid #000;
  padding: 48px 20px;
  box-sizing: border-box;
  text-align: center;
}
/* 営業時間ブロック */
.hours-block {
  margin-top: clamp(20px, 2vw, 40px);
  text-align: center;
  border: 1px solid #000;
  padding: 20px;
}
@media(max-width:750px) {
  .bath-container {
    display: block;
    width: 90%;
  }
  .bath-box {
    padding: 15px;
    margin-bottom: 15px;
  }
  .bath-container, .hours-block {
    width: 90%;
    margin: auto;
  }
  #backd9d9d9 p.note, #backd9d9d9 p.fee-line {
    font-size: 16px !important;
  }
  #backd9d9d9 .hours-title {
    font-size: 18px;
  }
}
/* =========================
   フォントサイズ：1920→1300pxで比例縮小
   ========================= */
/* 日帰り温泉について (40px→27px) */
#backd9d9d9 .onsen-section {
  background-image: url(https://irifune-aso.jp/wp9/wp-content/themes/onepress-irifune/img/lp/lp-bg2.png);
  padding-top: clamp(0px, 5.21vw, 100px);
  padding-bottom: clamp(0px, 6.25vw, 120px);
}
#backd9d9d9 h2.sec-title {
  font-size: clamp(27px, 2.1vw, 40px);
  text-align: center;
  color: #000;
  margin-bottom: clamp(0px, 3.9vw, 75px);
}
/* 大浴場/家族湯 (24px→16px) */
#backd9d9d9 .bath-heading {
  font-size: clamp(16px, 1.25vw, 24px);
  background-color: #000;
  color: #fff;
  padding: .45em .8em;
  display: inline-block;
  text-align: center;
  line-height: 1em;
  margin-bottom: clamp(20px, 2vw, 40px);
}
/* 中学生からの料金行 (20px→14px) */
#backd9d9d9 p.fee-line {
  font-size: clamp(14px, 1.04vw, 20px);
  color: #000;
  line-height: 1.64em;
  margin-bottom: clamp(11px, 0.83vw, 16px);
}
/* 注意書き (16px→11px) */
#backd9d9d9 p.note {
  font-size: clamp(11px, 0.83vw, 16px);
  color: #000;
  line-height: 1.8em;
}
/* 営業時間 (30px→20px) */
.hours-title {
  font-size: clamp(20px, 1.56vw, 30px);
}
/* 13:00〜 の時間行 (24px→16px) */
.hours-time {
  font-size: clamp(16px, 1.25vw, 24px);
}
/* =========================
   色指定
   ========================= */
.text-black {
  color: #000;
}
.bg-black {
  background-color: #000;
}
.border-black {
  border-color: #000;
}
.access-section {
  padding-top: clamp(0px, 6.51vw, 125px);
}
.access-img-box img {
  /*めやすとしてとりあえず*/
  width: 100%;
}
.access-img-box {
  padding: 70px 0 90px;
  text-align: center;
  margin: auto;
}
.access-img-box1 {
  width: /*50.8%*/60%;
}
.access-img-box2 {
  width: /*37.8%*/44%;
}
.access-img-box3 {
  width: /*37.8%*/44%;
}
.access-box {
  padding: 130px 0 180px;
}
#backd9d9d9 .lp-access-text {
  text-align: center;
  font-size: clamp(12px, calc(12px + 0.388vw), 18px);
  color: #000;
  line-height: 2.1em;
}
.irifune-address-box {
  margin-bottom: clamp(60px, 7vw, 0);
}
.irifune-map {
  display: block;
  width: 67%;
  margin: auto;
  max-width: 1300px;
  aspect-ratio: 1300 / 690;
}
.irifune-name {
  text-align: center;
  padding: clamp(14px, 1.04vw, 20px) 1.3em;
  border-bottom: 1px solid #000;
  display: inline-block;
  font-size: clamp(16px, 1.65vw, 26px);
  line-height: 1em;
  margin-bottom: clamp(14px, 1.04vw, 20px);
}
.irifune-access {
  text-align: center;
  padding: clamp(14px, 1.04vw, 20px) 1.3em;
  border-bottom: 1px solid #000;
  display: inline-block;
  line-height: 1em;
  margin-bottom: clamp(14px, 1.04vw, 20px);
  font-size: clamp(16px, 2vw, 28px);
}
#backd9d9d9 .access-box-text .irifune-address {
  font-size: clamp(11px, 0.83vw, 16px);
  color: #000;
  line-height: 1.5em;
}
#backd9d9d9 .access-box-text .irifune-access2 {
  font-size: clamp(16px, 1.65vw, 26px);
  /* padding: clamp(14px, 1.04vw, 20px) 1.3em;*/
  color: #000;
}
.access-box-text {
  text-align: center;
}
#backd9d9d9 .a-img img{
    width: 40%;
}
@media(max-width:750px) {
  .irifune-map {
    width: 90%;
  }
  #backd9d9d9 .access-box-text .irifune-address {
    font-size: 16px;
  }
  .access-img-box {
    padding: 20px 0 40px;
    text-align: center;
    margin: auto;
  }
  .access-img-box1, .access-img-box2, .access-img-box3 {
    width: 90%;
  }
  .access-box {
    padding: 20px 0 70px;
  }
  #backd9d9d9 .lp-access-text {
    font-size: 15px;
  }
}
/**/
.tourism-title {
  font-size: clamp(20px, 2.08vw, 40px);
  text-align: center;
}
#tourism-slider-box {
  padding-bottom: clamp(0px, 6.25vw, 120px);
}
/* ===== Slider UL調整 ===== */
.tourism-slider {
  width: 100%;
}
.tourism-list {
  list-style: none;
  margin: auto;
}
/* ===== Card ===== */
.tourism-card {
  width: clamp(280px, 30vw, 500px);
  height: auto;
  background: #fff;
  border: 0;
  box-shadow: none;
  color: #1a1a1a;
  margin: auto;
  transform-origin: top center;
  transform: scale(1);
  transition: transform 0.3s ease;
}
.tourism-card__image {
  width: 100%;
  aspect-ratio: 5 / 3;
  overflow: hidden;
}
.tourism-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.tourism-card__body {
  height: auto;
  padding: clamp(16px, 2vw, 28px) clamp(12px, 1.8vw, 24px);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: clamp(8px, 1.5vw, 16px);
  text-align: center;
}
.tourism-card__label {
  font-size: clamp(14px, 1.04vw, 20px);
  line-height: clamp(1.4em, 2vw, 1.6em);
  margin: 0;
  color: #1a1a1a !important;
}
.tourism-card__label.tourism-card__label--as-title {
  line-height: 1.8em;
  padding-top: 0.2em;
}
.tourism-card__title {
  font-size: clamp(16px, 1.25vw, 24px);
  line-height: clamp(1.2em, 2vw, 1.4em);
  margin: 0;
  font-weight: 700;
}
.tourism-card__txt {
  min-height: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.tourism-card__cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: clamp(12px, 1.5vw, 16px);
  padding: clamp(8px, 1.5vw, 14px) clamp(12px, 2vw, 18px);
  border: 1px solid #1a1a1a;
  text-decoration: none;
  color: #1a1a1a;
  border-radius: 0;
}
.tourism-card__cta .tourism-card__arrow {
  width: clamp(18px, 1.5vw, 27px);
  height: auto;
  display: inline-block;
}
.tourism-card__cta--placeholder {
  display: inline-block;
  width: 100%;
  height: 44px;
  visibility: hidden;
}
/* SlickのUL周り（display:flexは使わない） */
.tourism-ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: block;
  gap: 0 !important;
}
.tourism-ul .slick-slide {
  width: 500px;
  margin-right: 0;
}
/* ====== ドットカスタム ====== */
.tourism-slider .slick-dots {
  position: static !important;
  margin: 16px 0 0;
  display: flex !important;
  justify-content: center;
  gap: 10px;
  z-index: 2;
  padding: 0;
}
.tourism-slider .slick-dots li {
  display: block;
  width: 32px;
  height: 4px;
  background: #fff;
  border-radius: 2px;
  transition: background 0.3s;
}
.tourism-slider .slick-dots li.slick-active {
  background: #000;
}
.tourism-slider .slick-dots button {
  display: none;
  padding: 0;
  width: 100%;
  height: 100%;
}
.tourism-slider .slick-list {
  margin-bottom: 47px;
}
/* 縮小ブレークポイント（任意で調整OK） */
@media (max-width:1200px) {
  .tourism-card {
    transform: scale(0.9);
  }
}
@media (max-width:1000px) {
  .tourism-card { /*transform: scale(0.8);*/
  }
}
@media (max-width:800px) {
  .tourism-card { /*transform: scale(0.7);*/ width: 100%;
    max-width: 500px;
  }
}
@media(max-width:750px) {
  .tourism-slider .slick-list {
    margin-bottom: -30px;
  }
}
#faq-sec1 {
  padding: 110px 0 130px;
  background-color: #fff;
}
#faq-sec1 p{
    color: #000;
}
.faq-title {
  font-size: clamp(24px, 2.6vw, 50px);
  text-align: center;
}
.cancel-policy {
  padding: clamp(0px, 3.65vw, 70px) 0 0 0;
}
.policy-inner.policy-inner1 {
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  padding: clamp(0px, 3.91vw, 75px) 0 clamp(0px, 3.39vw, 65px);
}
#backd9d9d9 .a-text p {
  color: #000;
}


#backd9d9d9 .q-text {

    letter-spacing: 0!important;

}
.roomlist-ul-box-start,.roomlist-ul-box-end{display: none;}
@media(max-width:750px) {
  .policy-inner.policy-inner1 {
    width: 90%;
    margin: auto;
  }
  #backd9d9d9 .no-contact-note {
    width: 100%;
  }
}
#backd9d9d9 .no-contact-note p, #backd9d9d9 .policy-title, #backd9d9d9 .policy-text, #backd9d9d9 .policy-lead {
  color: #000;
}
/* 共通 */
/* セクション余白（上下48px at 1920） */
.section-policy {
  padding: clamp(0px, 3.65vw, 70px) 0 clamp(24px, 2.5vw, 48px);
}
/* 必要なら有効化：上下1pxボーダー */
.section-bordered { /* border-top: 1px solid #000; border-bottom: 1px solid #000; */
}
/* インナー幅はそのまま（最大1100 / もしくは64%） */
.policy-inner {
  width: min(1100px, 64%);
  margin: 0 auto;
  text-align: center;
}
/* タイトル 40px at 1920 */
.policy-title {
  font-size: clamp(26px, 2.0833vw, 40px);
  font-weight: 700;
  letter-spacing: .02em;
  margin-top: clamp(10px, 0.8333vw, 16px); /* 16px at 1920 */
  margin-bottom: clamp(14px, 1.25vw, 24px); /* 24px at 1920 */
  line-height: 1.2;
}
/* リード 24px at 1920 */
.policy-lead {
  font-size: clamp(18px, 1.25vw, 24px);
  line-height: 1.8;
  margin: 0 0 clamp(16px, 1.25vw, 24px);
}
/* キャンセルリスト */
.policy-list {
  list-style: none;
  padding: 0;
  margin: 0 0 clamp(16px, 1.4583vw, 28px);
}
.policy-list li {
  font-size: clamp(16px, 1.0417vw, 20px); /* 20px at 1920 */
  line-height: 2.2em; /* 44px 相当 */
}
/* 「連絡なしの不泊」ボックス */
.no-contact-note {
  background: #fff;
  padding: clamp(14px, 1.1458vw, 22px) clamp(16px, 1.25vw, 24px); /* 22/24px at 1920 */
  width: min(820px, 92%);
  margin: clamp(12px, 1.0417vw, 20px) auto 0; /* 20px at 1920 */
  box-sizing: border-box;
}
#backd9d9d9 .nc-title {
  font-size: clamp(18px, 1.25vw, 24px); /* 24px at 1920 */
  line-height: 1.6667em; /* 40px 相当 */
  color: #c1272d !important;
  margin: 0 0 clamp(6px, 0.4167vw, 8px);
}
#backd9d9d9 .nc-body {
  font-size: clamp(16px, 1.0417vw, 20px); /* 20px at 1920 */
  line-height: 2.2em; /* 44px 相当 */
  margin: 0;
}
/* 支払いテキスト 20px / 行間44px */
.policy-text {
  font-size: clamp(16px, 1.0417vw, 20px);
  line-height: 2.2em;
}
@media(max-width:750px) {
  /*スマホ用　750以下style調整*/
  #second-food .second-food-container {
    display: block;
    width: 90%;
    margin: auto;
  }
  .second-food-text {
    margin-top: 10px;
  }
  .second-food-img {
    width: 100%;
  }
  .second-food-text {
    width: 100%;
  }
  #second-food {
    padding: 30px 0;
  }
  .policy-inner {
    width: 90%;
  }
}
/* ===== プランカード ===== */
@media (max-width: 768px) {
  .plan-card {
    width: 100%;
    max-width: 500px; /* 画面幅に合わせる */
  }
  .plan-card__body {
    padding: 16px 14px;
    gap: 12px;
  }
  .plan-card__label {
    font-size: clamp(12px, 4vw, 16px);
    line-height: 1.4em;
  }
  .plan-card__title {
    font-size: clamp(16px, 5vw, 22px);
    line-height: 1.3em;
  }
  .plan-card__txt {
    min-height: auto; /* スマホでは余白を小さめに */
  }
  .plan-card__cta {
    font-size: clamp(12px, 3.8vw, 14px);
    padding: 10px 14px;
  }
  .plan-card__cta .plan-card__arrow {
    width: clamp(14px, 4vw, 20px);
  }
}
@media(max-width:750px) {
  .roomthumb-label {
    font-size: 12px;
  }
  .room-head {
    display: block;
  }
  .roomlist-ul {
    width: 250%;
  }
  .roomlist-ul-wrap {
    overflow: auto;
  }
    /*footer追加*/
#colophon.site-footer {
        padding: 40px 0 60px 0!important;
    }
    address {
    margin: 20px 0 40px 0!important;
}
    .address-txt2{
        margin-bottom: 40px;
    }
}