/* ===== HANA1 Header FORCE SLIM + Scroll ===== */
:root{
  --headerH: 72px;        /* 帯の見た目高さ */
  --logoH: 96px;          /* 上部ロゴ */
  --logoDrop: 16px;       /* 上部はみ出し */
  --logoReserve: 170px;   /* 左席 */
  --navNudgeY: 0px;       /* 上部メニュー上下 */
  --scLogoH: 72px;        /* スクロール後ロゴ */
  --bgA: 0.85;            /* 透け感 */
}

/* ページ最上部余白 */
html, body{ margin:0 !important; padding:0 !important; }
body .wp-site-blocks{ padding-top:0 !important; }

/* ヘッダー本体をsticky */
header.wp-block-template-part{
  position: sticky !important;
  top: 0 !important;
  z-index: 9999 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 管理バー */
body.admin-bar header.wp-block-template-part{ top: 32px !important; }
@media (max-width: 782px){
  body.admin-bar header.wp-block-template-part{ top: 46px !important; }
}

/* 帯（背景）＝ここを“固定高さ”で強制 */
header.wp-block-template-part .wp-block-group.alignfull{
  position: relative !important;
  height: var(--headerH) !important;
  min-height: 0 !important;
  overflow: visible !important;
  margin: 0 !important;
  padding: 0 !important;

  background: rgba(243,235,230,var(--bgA)) !important;
  backdrop-filter: blur(6px) saturate(110%);
  -webkit-backdrop-filter: blur(6px) saturate(110%);
}

/* 中身行：高さを帯に合わせ、余白/GAPを完全に潰す */
header.wp-block-template-part .wp-block-group.alignwide.is-layout-flex{
  height: 100% !important;
  min-height: 0 !important;
  align-items: center !important;
  justify-content: flex-end !important;
  padding: 0 !important;
  margin: 0 !important;
  gap: 0 !important;
  padding-left: var(--logoReserve) !important;
  box-sizing: border-box !important;
}

/* ナビ・リンク・段落の余白をゼロ */
header.wp-block-template-part .wp-block-navigation,
header.wp-block-template-part .wp-block-navigation__responsive-container,
header.wp-block-template-part .wp-block-navigation__container,
header.wp-block-template-part .wp-block-navigation-link,
header.wp-block-template-part .wp-block-navigation-link__content,
header.wp-block-template-part p{
  margin: 0 !important;
  padding: 0 !important;
}

/* 上部ロゴ：はみ出し */
header.wp-block-template-part .wp-block-site-logo{
  position: absolute !important;
  left: 24px !important;
  top: 50% !important;
  transform: translateY(calc(-50% + var(--logoDrop))) !important;
  z-index: 20 !important;
}
header.wp-block-template-part .wp-block-site-logo img{
  height: var(--logoH) !important;
  width: auto !important;
  max-height: none !important;
  display: block !important;
}

/* メニュー上下 */
header.wp-block-template-part .wp-block-navigation{
  position: relative !important;
  top: var(--navNudgeY) !important;
}

/* ===== スクロール後 ===== */
header.wp-block-template-part.is-scrolled .wp-block-site-logo{
  transform: translateY(-50%) !important;
}
header.wp-block-template-part.is-scrolled .wp-block-site-logo img{
  height: var(--scLogoH) !important;
}
header.wp-block-template-part.is-scrolled .wp-block-navigation{
  top: 0 !important;
}

/* 画像と画像の隙間を完全に消す（基本セット） */
.wp-block-image{ margin: 0 !important; }
.wp-block-image img{ display: block !important; }

/* ギャラリーの隙間をゼロに */
.wp-block-gallery{ gap: 0 !important; }

/* 画像を切らずに全部見せる（hero-cover を付けたCoverだけ） */
.hero-cover .wp-block-cover__image-background,
.hero-cover .wp-block-cover__video-background{
  object-fit: contain !important;
}

/* 背景色（余白が出た時の色） */
.hero-cover{ background: #f3ebe6 !important; }

/* coverの中身（テキストやボタン）が下にズレすぎる時は少し戻す（任意） */
.hero-cover .wp-block-cover__inner-container{
  margin-top: calc(var(--headerH) * -0.35) !important;
}

/* ヘッダー固定分だけ、ページ内リンクの着地位置を下げる */
:where(h1,h2,h3,h4,h5,h6,[id]){
  scroll-margin-top: calc(var(--headerH) + 14px);
}
body.admin-bar :where(h1,h2,h3,h4,h5,h6,[id]){
  scroll-margin-top: calc(var(--headerH) + 46px);
}
@media (max-width: 782px){
  body.admin-bar :where(h1,h2,h3,h4,h5,h6,[id]){
    scroll-margin-top: calc(var(--headerH) + 60px);
  }
}

/* ✅ 最初のヒーローを下に下げる（次の画像に被ってOK） */
.hero-cover{
  margin-top: 40px !important;
  position: relative !important;
  z-index: 0 !important;
}

/* 親のレイアウトを壊さない */
.reserve-img-link{ position: relative; }

/* 画像はテーマ任せ（サイズ・寄せを触らない） */
.reserve-img-link img{
  display: block;
  width: 100%;
  height: auto;
}

/* 画像内ボタン位置だけリンク化（当たり判定） */
.reserve-hit{
  position: absolute;
  left: 55.5%;
  top: 72%;
  width: 22%;
  height: 12%;

  transform: translate(-50%, -50%);
  border-radius: 999px;
  background: transparent;
  display: block;
  z-index: 9999;
  pointer-events: auto;
  cursor: pointer;
}
.reserve-hit:hover{
  background: rgba(255,255,255,.18);
  box-shadow:
    0 0 0 3px rgba(255,255,255,.35),
    0 0 24px rgba(255,255,255,.55),
    0 14px 30px rgba(0,0,0,.18);
}
.reserve-hit:active{
  background: rgba(255,255,255,.14);
  box-shadow: 0 12px 26px rgba(0,0,0,.18);
}

.info-image-wrap{
  display: flex;
  justify-content: center;
}

/* ✅ 文字滲み対策：全体 img にはかけない（必要な画像だけ） */
.info-image-wrap img,
.reserve-img-link img{
  image-rendering: -webkit-optimize-contrast;
  backface-visibility: hidden;
  transform: translateZ(0);
  filter: none;
}

/* ✅ マップ：重複を削除して1つに統一 */
.map-embed{
  width: 100%;
  max-width: none;
  margin: 0;
  overflow: hidden;
}
.map-embed iframe{
  width: 100% !important;
  height: 450px;
  border: 0;
  display: block;
}

/* ✅ 3カラム（Columnsブロックに access-3col クラスを付けた前提）
   左(文字)と中央(地図)を同じ幅にする */
.access-3col.wp-block-columns{
  gap: 40px; /* 既存の余白に合わせて調整 */
}

/* 1列目（左）と2列目（地図）を同じ比率に */
.access-3col.wp-block-columns > .wp-block-column:nth-child(1),
.access-3col.wp-block-columns > .wp-block-column:nth-child(2){
  flex-basis: 0 !important;
  flex-grow: 1 !important;
}

/* 3列目（右）は細め（好みで） */
.access-3col.wp-block-columns > .wp-block-column:nth-child(3){
  flex-basis: 0 !important;
  flex-grow: 0.7 !important; /* 0.5〜1.0で調整 */
}

/* 地図は“そのカラム幅いっぱい”に */
.access-3col .map-embed{
  width: 100%;
  max-width: none;
  margin: 0;
}
.access-3col .map-embed iframe{
  width: 100% !important;
  height: 450px;
  border: 0;
  display: block;
}
.reserve2{
  bottom: 70px;
  left: 39%;
  width: 307px;
  height: 58px;
}
.bounce-target{
  opacity:0;
  transform: translateY(30px);
  transition: opacity .6s ease;
}

.bounce-target.show{
  opacity:1;
  animation: bounceImg .9s ease;
}

@keyframes bounceImg{
  0%{ transform: translateY(30px); }
  40%{ transform: translateY(-12px); }
  65%{ transform: translateY(-6px); }
  100%{ transform: translateY(0); }
}
.wp-block-post-title{
  display:none;
}
/* ===== HANA 無限横スクロール（3枚並び・崩れない版）===== */

/* 親ブロックの右寄せ等の影響を受けないようにする */
.hana-marquee{
  width: 100%;
  max-width: 1200px;           /* Boxed想定。もっと広げたいなら1300に */
  margin: 0 auto !important;   /* 中央固定 */
  overflow: hidden;
  padding: 10px 0;
  text-align: left !important;
}

/* 横並び＆無限アニメ */
.hana-marquee__track{
  display: flex;
  align-items: center;
  justify-content: flex-start !important;
  gap: 12px;
  width: max-content;
  will-change: transform;
  animation: hanaMarquee 24s linear infinite;
}

/* 1枚のカード */
.hana-marquee__item{
  flex: 0 0 340px;            /* ←ここで「見える範囲」を調整 */
  max-width: 340px;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 10px 24px rgba(0,0,0,.10);
}

/* 画像 */
.hana-marquee__item img{
  width: 100%;
  height: 240px;              /* 高さは好みで */
  object-fit: cover;
  display: block;
}

/* 途切れない移動（HTML側で同じ画像を2周分入れている前提） */
@keyframes hanaMarquee{
  from{ transform: translateX(0); }
  to  { transform: translateX(-50%); }
}

/* ホバーで一時停止（任意） */
.hana-marquee:hover .hana-marquee__track{
  animation-play-state: paused;
}

/* タブレット：2枚 */
@media (max-width: 900px){
  .hana-marquee{
    max-width: 100%;
    padding: 10px 0;
  }
  .hana-marquee__item{
    flex-basis: calc((100vw - 12px*1 - 40px) / 2);
    max-width: calc((100vw - 12px*1 - 40px) / 2);
  }
  .hana-marquee__item img{ height: 230px; }
}

/* スマホ：1.2枚見せ */
@media (max-width: 600px){
  .hana-marquee__track{ gap: 10px; animation-duration: 18s; }
  .hana-marquee__item{
    flex-basis: 78vw;
    max-width: 78vw;
    border-radius: 14px;
  }
  .hana-marquee__item img{ height: 220px; }
}

/* 動きが苦手な人のために停止 */
@media (prefers-reduced-motion: reduce){
  .hana-marquee__track{ animation: none; }
}
.hana-blog-grid .wp-block-post-template{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 32px;
}
/* ===== HANA1ブログ一覧 リセットして整える ===== */

/* 全体幅を少し広めで中央寄せ */
.page-id-333 .wp-block-query{
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 0 20px !important;
}

/* 2列 */
.page-id-333 .wp-block-query .wp-block-post-template{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 32px !important;
  padding-left: 0 !important;
  margin: 0 !important;
}

/* 各記事 */
.page-id-333 .wp-block-query .wp-block-post{
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

/* 画像枠 */
.page-id-333 .wp-block-query .wp-block-post-featured-image{
  width: 100% !important;
  margin: 0 0 16px !important;
  aspect-ratio: 3 / 2 !important;
  overflow: hidden !important;
}

/* 画像本体 */
.page-id-333 .wp-block-query .wp-block-post-featured-image img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

/* スマホ */
@media (max-width: 768px){
  .page-id-333 .wp-block-query .wp-block-post-template{
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
}
/* 記事カード全体を縦並びにする */
.page-id-333 .wp-block-query .wp-block-post{
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

/* 抜粋の下に余白を作って伸縮 */
.page-id-333 .wp-block-query .wp-block-post-excerpt{
  flex-grow: 1 !important;
  margin-bottom: 20px !important;
}

/* Read more を下に揃える */
.page-id-333 .wp-block-query .wp-block-post-excerpt__more-link,
.page-id-333 .wp-block-query .wp-block-read-more{
  display: inline-block !important;
  margin-top: auto !important;
  margin-bottom: 18px !important;
}

/* 区切り線を一番下に揃える */
.page-id-333 .wp-block-query hr{
  margin-top: auto !important;
}
.page-id-333 .wp-block-query .wp-block-separator{
  margin-top: auto !important;
}
.page-id-333 .wp-block-query .wp-block-post-excerpt p{
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
/* 記事ページだけ、アイキャッチ画像の暗い被せを消す */
.single-post .wp-block-post-featured-image::before,
.single-post .wp-block-post-featured-image a::before,
.single-post .wp-block-post-featured-image figure::before,
.single-post .wp-block-cover::before,
.single-post .wp-block-cover__background {
  background: transparent !important;
  opacity: 0 !important;
  display: none !important;
}

/* 記事ページのアイキャッチ画像自体の暗さも解除 */
.single-post .wp-block-post-featured-image img,
.single-post .wp-block-cover img {
  filter: none !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
}
/* 記事ページのアイキャッチ全体を明るく固定 */
.single-post .wp-block-post-featured-image,
.single-post .wp-block-post-featured-image a,
.single-post .wp-block-post-featured-image figure {
  background: transparent !important;
  isolation: isolate;
}

.single-post .wp-block-post-featured-image * {
  filter: none !important;
}
/* ===== 記事ページのアイキャッチ画像を強制的に明るくする ===== */
.single-post .wp-block-post-featured-image,
.single-post .wp-block-post-featured-image *,
.single-post .post-thumbnail,
.single-post .post-thumbnail *,
.single-post .featured-image,
.single-post .featured-image * {
  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  background-color: transparent !important;
}

/* 疑似要素の黒被せを消す */
.single-post .wp-block-post-featured-image::before,
.single-post .wp-block-post-featured-image::after,
.single-post .wp-block-post-featured-image a::before,
.single-post .wp-block-post-featured-image a::after,
.single-post .post-thumbnail::before,
.single-post .post-thumbnail::after,
.single-post .featured-image::before,
.single-post .featured-image::after,
.single-post .wp-block-cover::before,
.single-post .wp-block-cover::after,
.single-post .wp-block-cover__background {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
  background: transparent !important;
}

/* 画像本体 */
.single-post .wp-block-post-featured-image img,
.single-post .post-thumbnail img,
.single-post .featured-image img,
.single-post .wp-block-cover img {
  opacity: 1 !important;
  filter: brightness(1) contrast(1) !important;
  mix-blend-mode: normal !important;
}
.reserve-img-link{
  position: relative;
  display: block;
  line-height: 0;
}

.reserve-img-link img{
  display: block;
  width: 100%;
  height: auto;
}

/* でかい方の全体サイズを制御 */
.reserve-img-large{
  max-width: 980px;   /* 好みで 900〜1100px */
  margin: 0 auto;
}

/* 詳細を見るのクリック範囲 */
.reserve-hit{
  position: absolute;
  display: block;
  border-radius: 999px;
  cursor: pointer;
  transition: all .3s ease;
}

.reserve-img-link .reserve-hit.reserve-hit-detail{
  left: 55.7% !important;
  top: 72% !important;
  width:22% !important;
  height: 12% !important;
  transform: translate(-50%, -50%) !important;
  background: transparent !important;
  position: absolute !important;
  z-index: 9999 !important;
}

/* ホバー */
.reserve-hit-detail:hover{
  background: rgba(255,255,255,.18);
  box-shadow:
    0 0 0 3px rgba(255,255,255,.35),
    0 0 24px rgba(255,255,255,.55),
    0 14px 30px rgba(0,0,0,.18);
  transform: translate(-50%, -50%) translateY(-2px);
}

/* バウンス */
.bounce-target{
  opacity: 0;
  transform: translateY(20px);
}

.bounce-target.show{
  opacity: 1;
  animation: bounceImg .8s ease;
}

@keyframes bounceImg{
  0%{ transform: translateY(20px); }
  40%{ transform: translateY(-10px); }
  70%{ transform: translateY(-5px); }
  100%{ transform: translateY(0); }
}
.bounce-target-3{
  opacity: 0;
  transform: translateY(30px);
}

.bounce-target-3.show{
  opacity: 1;
  animation: bounceImg .9s ease;
}
.wp-block-columns{
  align-items:center;
}

.coin-photo img{
  max-width:600px;
  border-radius:50%;
}
.coin-photo1 figure{
  margin-top: 20px;
}
/* 4.png 用のボタン位置 */
.reserve-img-link .reserve-hit.reserve-hit-4{
  left: 39.2% !important;
  top: 72% !important;
  width: 21.5% !important;
  height: 11% !important;
  transform: translate(-50%, -50%) !important;
  background: transparent !important;
  position: absolute !important;
  z-index: 9999 !important;
  display: block !important;
  border-radius: 999px;
  cursor: pointer;
  transition: all .3s ease;
}

/* ホバー */
.reserve-img-link .reserve-hit.reserve-hit-4:hover{
  background: rgba(255,255,255,.18) !important;
  box-shadow:
    0 0 0 3px rgba(255,255,255,.35),
    0 0 24px rgba(255,255,255,.55),
    0 14px 30px rgba(0,0,0,.18) !important;
}

/* バウンス */
.bounce-target{
  opacity: 0;
  transform: translateY(20px);
}

.bounce-target.show{
  opacity: 1;
  animation: bounceImg .8s ease;
}

@keyframes bounceImg{
  0%{ transform: translateY(20px); }
  40%{ transform: translateY(-10px); }
  70%{ transform: translateY(-5px); }
  100%{ transform: translateY(0); }
}