@charset "utf-8";

html{ scroll-behavior: smooth; }
.shippori-mincho-b1-regular {font-family: "Shippori Mincho B1", serif; font-weight: 400; font-style: normal;}
.zen-old-mincho-regular {font-family: "Zen Old Mincho", serif; font-weight: 400; font-style: normal;}
.m-plus-1-100 {font-family: "M PLUS 1", sans-serif; font-optical-sizing: auto; font-weight: 100; font-style: normal;}
.m-plus-1-200 {font-family: "M PLUS 1", sans-serif; font-optical-sizing: auto; font-weight: 200; font-style: normal;}
.m-plus-1-300 {font-family: "M PLUS 1", sans-serif; font-optical-sizing: auto; font-weight: 300; font-style: normal;}
.m-plus-1-400 {font-family: "M PLUS 1", sans-serif; font-optical-sizing: auto; font-weight: 400; font-style: normal;}
.m-plus-1-500 {font-family: "M PLUS 1", sans-serif; font-optical-sizing: auto; font-weight: 500; font-style: normal;}
.m-plus-1-600 {font-family: "M PLUS 1", sans-serif; font-optical-sizing: auto; font-weight: 600; font-style: normal;}
.m-plus-1-700 {font-family: "M PLUS 1", sans-serif; font-optical-sizing: auto; font-weight: 700; font-style: normal;}
.m-plus-1-800 {font-family: "M PLUS 1", sans-serif; font-optical-sizing: auto; font-weight: 800; font-style: normal;}
.m-plus-1-900 {font-family: "M PLUS 1", sans-serif; font-optical-sizing: auto; font-weight: 900; font-style: normal;}
/* noto 100-900 */
.noto-sans-jp{ font-family: "Noto Sans JP", sans-serif; font-optical-sizing: auto; font-weight: 400; font-style: normal;}

/* IDジャンプアンカーリンクの見切れ防止 */
#ev-yoga,
#ev-massage,
#ev-sauna,
#ev-divination,
#contact,
#about,
#music,
#food,
#bar,
#marlet,
#faq,
#ev-museum {scroll-margin-top: 120px;}
.fa-solid.fa-circle-exclamation{color: #ffb7d3;}
.fa-solid.fa-campground{color: #00993b;}
.color-red{color: red;}

/* リスト */
.dot-list{list-style: none; padding-left: 0;}
.dot-list li{position: relative; padding-left: 1.2em;}
.dot-list li::before{content: "・"; position: absolute; left: 0; top: 0;}

/* =========================
   Back to top
========================= */
.ev-backtotop{position: fixed; right: 18px; bottom: 18px; z-index: 9999; width: 44px; height: 44px; border: 0; border-radius: 999px; background: rgba(0,0,0,.55); backdrop-filter: blur(6px); display: grid; place-items: center; opacity: 0; transform: translateY(10px) scale(.96); pointer-events: none; transition: opacity .22s ease, transform .22s ease, background-color .15s ease;}
.ev-backtotop.is-show{opacity: 1; transform: translateY(0) scale(1); pointer-events: auto;}
.ev-backtotop:hover{background: rgba(0,0,0,.70);}
.ev-backtotop__icon{width: 22px; height: 22px; fill: #fff;}

/* 動きを減らす設定の人向け */
@media (prefers-reduced-motion: reduce){ .ev-backtotop{ transition: none; }}

/* =========================
  トップページ：ロゴローディング　functions.phpのコードとセットで
========================= */
.ev-loader{position: fixed; inset: 0; z-index: 99999; display: grid; place-items: center; background: #ffedb4; opacity: 1; visibility: visible; transition: opacity .35s ease, visibility .35s ease;}
.ev-loader__inner{display: grid; gap: 14px; justify-items: center;}
.ev-loader__logo{color: #fff; font-weight: 700; letter-spacing: .08em; font-size: clamp(18px, 3vw, 28px);}
.ev-loader__dot{width: 10px; height: 10px; border-radius: 999px; background: #fff; opacity: .9; animation: ev-loader-pulse 1s ease-in-out infinite;}
@keyframes ev-loader-pulse{0%,100%{ transform: scale(1); opacity: .55; } 50%{ transform: scale(1.6); opacity: 1; }}
.ev-loader.is-hide{opacity: 0; visibility: hidden;}
/* ローダーロゴ画像用 */
.ev-loader__logoImg{width: clamp(120px, 22vw, 240px); height: auto; display: block;}
/* ロゴをふわっと表示 */
.ev-loader__logo,
.ev-loader__logoImg{opacity: 0; animation: ev-logo-fadein .6s ease-out forwards;}
/* ドットの削除 */
.ev-loader__dot{display: none;}
/* フェードイン用 */
@keyframes ev-logo-fadein{ from{ opacity: 0; transform: translateY(6px); } to{ opacity: 1; transform: translateY(0); }}

/* =========================
   MV2 (Hero slider)
========================= */
.ev-mv2{position: relative; overflow: hidden; width: 100%; height: 100vh; min-height: 520px;}
/* massage-mv */
.ev-massage .ev-mv2{position: relative; overflow: hidden; width: 100%; height: 90vh; min-height: 520px;}
/* yoga-mv */
.ev-yoga .ev-mv2{position: relative; overflow: hidden; width: 100%; height: 90vh; min-height: 520px;}
/* divination-mv */
.ev-divination .ev-mv2{position: relative; overflow: hidden; width: 100%; height: 90vh; min-height: 520px;}
/* sauna-mv */
.ev-sauna .ev-mv2{position: relative; overflow: hidden; width: 100%; height: 90vh; min-height: 520px;}
/* contact-mv */
.contact .ev-mv2{position: relative; overflow: hidden; width: 100%; height: 90vh; min-height: 520px;}
/* about-mv */
.about .ev-mv2{position: relative; overflow: hidden; width: 100%; height: 90vh; min-height: 520px;}
/* faq-mv */
.faq .ev-mv2{position: relative; overflow: hidden; width: 100%; height: 90vh; min-height: 520px;}
/* faq-mv */
.ev-museum .ev-mv2{position: relative; overflow: hidden; width: 100%; height: 90vh; min-height: 520px;}

.ev-mv2-logo-title{position: absolute; width: 458px; z-index: 4; bottom: 39%; right: 5%; transform: rotate(-3deg); transform-origin: center;}
.ev-mv2__slides{position: absolute; inset: 0;}
.ev-mv2__slide{position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 2.2s ease; transform: scale(1); will-change: transform, opacity;}
.ev-mv2__slide.is-active{opacity: 1; animation: ev-kenburns 10s ease forwards;}
/* ★フェードアウト中に縮小後の状態を固定（ジャンプ対策の保険） */
.ev-mv2__slide.is-leaving{opacity: 0; transform: scale(1); animation: none;}
@keyframes ev-kenburns{ from{ transform: scale(1.10); } to  { transform: scale(1.00); }}
/* 黒のうっすらブラー（必要ならON） */
/* .ev-mv2::before{content:""; position:absolute; inset:0; z-index: 1; background: rgba(0,0,0,0.25); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); pointer-events:none;} */
/* header */
header{height: 100px; width: 100%; position: fixed; display: flex; justify-content: space-between; align-items: center; z-index: 10;}
.ev-header-inner{background-color: #fff;}
.ev-header-inner-left{padding: 10px 50px 10px 50px; border-radius: 100px; margin-left: 35px;}
.ev-header-inner-left-link{display: flex; align-items: center; transition: opacity .2s ease;}
.ev-header-inner-left-link:hover{opacity: .7;}
.ev-header-inner-right{padding: 10px 35px 10px 35px; border-radius: 100px; margin-right: 35px;}
.ev-header-logo-Images{width: 50px; padding: 0 18px 0 0;}
@media screen and (max-width: 1050px) {
.ev-header-logo-Images {width: 50px; padding: 0 0 0 0;}
.gloval-nav-title {display: none;}}

/* nav */
header nav .ev-nav-list{display: flex; justify-content: space-around; align-items: center;}
.ev-nav-list .ev-nav-link > a{padding: 0 10px; transition: opacity .2s ease;}
.ev-nav-list .ev-nav-link > a:hover{opacity: .5;}
.ev-nav-list .ev-nav-link2 > a{padding: 0 10px; transition: opacity .2s ease;}
.ev-nav-list .ev-nav-link2 > a:hover{opacity: .5;}
.ev-nav-link.ev-nav-link-reserv{color: #fff; background-color: #270b00; padding: 15px 25px 15px 25px; border-radius: 200px; margin-left: 10px;}

/* ===== PC グローバルナビ：CONTENTS ドロップダウン ===== */
.ev-nav-contents{position: relative; display: flex; align-items: center; gap: 6px;}
/* ▼（summary） */
.ev-nav-arrow{cursor: pointer; display: flex; align-items: center; padding: 2px;}

/* details デフォルト三角を消す */
.ev-nav-dropdown summary{list-style: none;}
.ev-nav-dropdown summary::-webkit-details-marker{display: none;}

/* SVG 回転 */
.ev-nav-chevron{transition: transform 180ms ease; transform-origin: 50% 50%;}
.ev-nav-dropdown[open] .ev-nav-chevron{transform: rotate(180deg);}

/* サブメニュー本体 */
.ev-nav-sub{position: absolute; top: 170%; left: 0; margin-top: 12px; min-width: 220px; padding: 12px 0; background: rgba(0,0,0,0.85); backdrop-filter: blur(4px); z-index: 20;}
.ev-nav-sub li{padding: 6px 20px;}
.ev-nav-sub a{display: block; white-space: nowrap;}

/* SPではドロップダウン無効（既存SPナビを使う想定） */
@media (max-width: 959px){ .ev-nav-dropdown{ display: none; }}
/* ▼▼▼ CONTENTS（親＋▼）を必ず横並びにする ▼▼▼ */
header nav .ev-nav-list .ev-nav-link.ev-nav-contents{display: inline-flex; align-items: center; gap: 6px;}

/* details自体も横幅を食い過ぎないように */
header nav .ev-nav-list .ev-nav-link.ev-nav-contents .ev-nav-dropdown{display: inline-flex; align-items: center; margin-left: -12px; margin-right: 5px;}
/* ▲▲▲ ここまでで「矢印が下に落ちる」問題は止まります ▲▲▲ */
/* ▼▼▼ ドロップダウンの見た目（白系） ▼▼▼ */
header nav .ev-nav-list .ev-nav-link.ev-nav-contents .ev-nav-sub{background: rgba(255,255,255,0.92); color: #270b00; box-shadow: 0 12px 30px rgba(0,0,0,.18); border-radius: 14px; overflow: hidden;}
header nav .ev-nav-list .ev-nav-link.ev-nav-contents .ev-nav-sub a{color: #270b00;}
header nav .ev-nav-list .ev-nav-link.ev-nav-contents .ev-nav-sub a:hover{opacity: .6;}

/* ===== ドロップダウン：ふわっと（JSで .is-anim を付与） ===== */
header nav .ev-nav-list .ev-nav-link.ev-nav-contents{position: relative;}

/* 箱の初期状態（閉じてる時） */
header nav .ev-nav-list .ev-nav-link.ev-nav-contents .ev-nav-sub{opacity: 0; transform: translateY(-14px) scale(0.94); filter: blur(6px); transition: opacity 420ms cubic-bezier(.2,.9,.2,1), transform 520ms cubic-bezier(.2,.9,.2,1), filter 520ms cubic-bezier(.2,.9,.2,1); pointer-events: none; transform-origin: top left; will-change: transform, opacity, filter;}

/* 開いた時：箱がフワッ */
header nav .ev-nav-list .ev-nav-link.ev-nav-contents .ev-nav-dropdown.is-anim .ev-nav-sub{opacity: 1; transform: translateY(0) scale(1); filter: blur(0); pointer-events: auto;}

/* 中身：最初は少し下＆薄い */
header nav .ev-nav-list .ev-nav-link.ev-nav-contents .ev-nav-sub li{opacity: 0; transform: translateY(10px); transition: opacity 420ms cubic-bezier(.2,.9,.2,1), transform 520ms cubic-bezier(.2,.9,.2,1); will-change: transform, opacity;}

/* 開いた時：liが順番にスッ… */
header nav .ev-nav-list .ev-nav-link.ev-nav-contents .ev-nav-dropdown.is-anim .ev-nav-sub li{opacity: 1; transform: translateY(0);}

/* 動きを減らす設定の人にはアニメ無し */
@media (prefers-reduced-motion: reduce){header nav .ev-nav-list .ev-nav-link.ev-nav-contents .ev-nav-sub, header nav .ev-nav-list .ev-nav-link.ev-nav-contents .ev-nav-sub li{ transition: none !important; transform: none !important; filter: none !important; opacity: 1 !important; }}

/* ev-slogan */
.ev-slogan{position: relative; height: 85vh; min-height: 420px; overflow: hidden; padding-bottom: 50px;}

/* 背景動画（全面に敷く） */
.ev-slogan__video{position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; z-index: 0; opacity: 0.5; filter: saturate(0.55) brightness(1.08) contrast(0.95);}

/* “褪せた紙”みたいにする薄い膜 */
.ev-slogan__overlay{position: absolute; inset: 0; z-index: 1; background: rgba(190, 190, 190, 0.55); /* 白い膜（0.35〜0.75で調整） */}

/* 静止画変換 */
/* ▼静止画MVのページだけ */
.ev-massage .ev-slogan__video{display: none;}
.ev-yoga .ev-slogan__video{display: none;}
.ev-divination .ev-slogan__video{display: none;}
.ev-sauna .ev-slogan__video{display: none;}
.contact .ev-slogan__video{display: none;}
.about .ev-slogan__video{display: none;}
.faq .ev-slogan__video{display: none;}
.ev-museum .ev-slogan__video{display: none;}
.bar .ev-slogan__video{display: none;}
.food .ev-slogan__video{display: none;}
.music .ev-slogan__video{display: none;}
.market .ev-slogan__video{display: none;}

/* ▼代わりに背景画像を表示 */
.ev-massage .ev-slogan{background: url("../images/AdobeStock_280725801_Preview.jpeg") center / cover no-repeat;}
.ev-massage .ev-slogan__overlay{position: absolute; inset: 0; z-index: 1; background: rgba(2, 2, 2, 0.35); overflow: hidden;}
.ev-yoga .ev-slogan{background: url("../images/AdobeStock_280725801_Preview.jpeg") center / cover no-repeat;}
.ev-yoga .ev-slogan__overlay{position: absolute; inset: 0; z-index: 1; background: rgba(2, 2, 2, 0.35); overflow: hidden;}
.ev-divination .ev-slogan{background: url("../images/AdobeStock_280725801_Preview.jpeg") center / cover no-repeat;}
.ev-divination .ev-slogan__overlay{position: absolute; inset: 0; z-index: 1; background: rgba(2, 2, 2, 0.35); overflow: hidden;}
.ev-sauna .ev-slogan{background: url("../images/AdobeStock_280725801_Preview.jpeg") center / cover no-repeat;}
.ev-sauna .ev-slogan__overlay{position: absolute; inset: 0; z-index: 1; background: rgba(2, 2, 2, 0.35); overflow: hidden;}
.contact .ev-slogan{background: url("../images/AdobeStock_280725801_Preview.jpeg") center / cover no-repeat;}
.contact .ev-slogan__overlay{position: absolute; inset: 0; z-index: 1; background: rgba(2, 2, 2, 0.35); overflow: hidden;}
.about .ev-slogan{background: url("../images/AdobeStock_280725801_Preview.jpeg") center / cover no-repeat;}
.about .ev-slogan__overlay{position: absolute; inset: 0; z-index: 1; background: rgba(2, 2, 2, 0.35); overflow: hidden;}
.faq .ev-slogan{background: url("../images/AdobeStock_280725801_Preview.jpeg") center / cover no-repeat;}
.faq .ev-slogan__overlay{position: absolute; inset: 0; z-index: 1; background: rgba(2, 2, 2, 0.35); overflow: hidden;}
.ev-museum .ev-slogan{background: url("../images/AdobeStock_280725801_Preview.jpeg") center / cover no-repeat;}
.ev-museum .ev-slogan__overlay{position: absolute; inset: 0; z-index: 1; background: rgba(2, 2, 2, 0.35); overflow: hidden;}
.food .ev-slogan{background: url("../images/AdobeStock_280725801_Preview.jpeg") center / cover no-repeat;}
.food .ev-slogan__overlay{position: absolute; inset: 0; z-index: 1; background: rgba(2, 2, 2, 0.35); overflow: hidden;}
.bar .ev-slogan{background: url("../images/AdobeStock_280725801_Preview.jpeg") center / cover no-repeat;}
.bar .ev-slogan__overlay{position: absolute; inset: 0; z-index: 1; background: rgba(2, 2, 2, 0.35); overflow: hidden;}
.market .ev-slogan{background: url("../images/AdobeStock_280725801_Preview.jpeg") center / cover no-repeat;}
.market .ev-slogan__overlay{position: absolute; inset: 0; z-index: 1; background: rgba(2, 2, 2, 0.35); overflow: hidden;}
.music .ev-slogan{background: url("../images/AdobeStock_231737042_Preview.jpeg") center / cover no-repeat;}
.music .ev-slogan__overlay{position: absolute; inset: 0; z-index: 1; background: rgba(2, 2, 2, 0.35); overflow: hidden;}

/* ▼静止画ページだけ：JSで背景位置を少しだけズラす（パララックス） */
.ev-massage .ev-slogan,
.ev-yoga .ev-slogan,
.ev-divination .ev-slogan,
.ev-sauna .ev-slogan,
.contact .ev-slogan,
.ev-museum .ev-slogan,
.food .ev-slogan,
.bar .ev-slogan,
.music .ev-slogan,
.market .ev-slogan,
.about .ev-slogan,
.faq .ev-slogan{will-change: background-position;}

/* キャッチなど前面 */
.ev-slogan__content{position: relative; z-index: 4; height: 100%; display: grid; place-items: center; padding: 24px;}
.ev-slogan__catch{color: #bfffb2; font-size: clamp(28px, 4vw, 56px); line-height: 1.15; text-shadow: 0 2px 14px rgba(0,0,0,.15);}
/* ▼追加：画像を被せて配置するレイヤー（動画セクション内） */
.ev-slogan{overflow: visible;}
/* “浮遊”レイヤー：動画の上、キャッチの下に置く */
.ev-slogan__float{position: absolute; inset: 0; z-index: 3; pointer-events: auto;}
/* カード（初期：非表示） */
/* 出現（スクロール）用：ゆっくり */
.ev-slogan__card{position: absolute; left: var(--x); top: var(--y); width: clamp(120px, 16vw, 220px); aspect-ratio: 2 / 3; margin: 0; border-radius: 18px; overflow: hidden; box-shadow: 0 14px 34px rgba(0,0,0,.22); opacity: 0; transform: translate(-50%, -50%) translateY(18px) rotate(var(--r)) scale(.98); filter: blur(8px); transition: opacity .75s ease var(--d), transform .75s cubic-bezier(.2,.8,.2,1) var(--d), filter .75s ease var(--d);}

/* ホバー（ぴょこ）用：速い */
.ev-slogan.is-inview .ev-slogan__card:hover{ transition: transform .25s cubic-bezier(.2,.8,.2,1);}
.ev-slogan__card img{width: 100%; height: 100%; object-fit: cover; display: block;}
/* ▼表示状態：セクションが見えたらふわっと出す */
.ev-slogan.is-inview .ev-slogan__card{opacity: 1; transform: translate(-50%, -50%) translateY(0) rotate(var(--r)) scale(1); filter: blur(0);}
/* ▼カードをクリックできるように */
.ev-slogan__float{pointer-events: auto;}
.ev-slogan__cardLink{display: block; width: 100%; height: 100%; position: relative; text-decoration: none; color: inherit;}
/* ラベル（初期：見えない） */
.ev-slogan__cardLabel{position: absolute; left: 10px; right: 10px; bottom: 10px; padding: 10px 12px; border-radius: 14px; background: rgba(0,0,0,.35); color: #fff; font-size: 13px; line-height: 1.25; letter-spacing: .02em; opacity: 0; transform: translateY(8px); filter: blur(6px); transition: opacity .35s ease, transform .35s ease, filter .35s ease;}
/* ▼ホバーで「ぴょこっ」＋ラベルふわっ */
.ev-slogan.is-inview .ev-slogan__card:hover{transform: translate(-50%, -50%) translateY(-12px) rotate(var(--r)) scale(1.02);}
.ev-slogan.is-inview .ev-slogan__card:hover .ev-slogan__cardLabel{opacity: 1; transform: translateY(0); filter: blur(0);}
/* クリックできることを示す */
.ev-slogan.is-inview .ev-slogan__card{cursor: pointer;}
/* フォーカス（キーボード操作）も同じ見え方に */
.ev-slogan.is-inview .ev-slogan__cardLink:focus-visible{ outline: 3px solid rgba(255,255,255,.75); outline-offset: 4px; border-radius: 18px;}
.ev-slogan.is-inview .ev-slogan__cardLink:focus-visible .ev-slogan__cardLabel{opacity: 1; transform: translateY(0); filter: blur(0);}
/* ▼中央タイトル：最後にじわっと */
.ev-slogan__catch{opacity: 0; transform: translateY(8px); filter: blur(10px); transition: opacity 1.2s ease, transform 1.2s ease, filter 1.2s ease;}
.ev-slogan.is-inview .ev-slogan__catch{opacity: 1; transform: translateY(0); filter: blur(0); transition-delay: 1.25s;}
/* スマホはhoverがないので、タップ時/常時の扱いを少し優しく */
@media (hover: none){.ev-slogan__cardLabel{ opacity: 1; transform: translateY(0); filter: blur(0); background: rgba(0,0,0,.28); }}
/* ▼追加：画像中央に出す縦書きテキスト */
.ev-slogan__cardVText{position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%) translateY(6px); z-index: 2; writing-mode: vertical-rl; text-orientation: mixed; color: rgba(255,255,255,.92); font-size: clamp(18px, 2.5vw, 30px); letter-spacing: .08em; text-shadow: 0 10px 24px rgba(0,0,0,.35); opacity: 0; filter: blur(10px); transition: opacity .45s ease, transform .45s ease, filter .45s ease; transition-delay: .08s; pointer-events: none;}
/* ▼ホバー（or キーボードフォーカス）で表示 */
.ev-slogan.is-inview .ev-slogan__card:hover .ev-slogan__cardVText,
.ev-slogan.is-inview .ev-slogan__cardLink:focus-visible .ev-slogan__cardVText{opacity: 1; filter: blur(0); transform: translate(-50%, -50%) translateY(0);}
/* スマホはhoverが無いので、常時出したいならこれ（任意） */
@media (hover: none){ .ev-slogan__cardVText{ opacity: 1; filter: blur(0); transform: translate(-50%, -50%); }}
.ev-slogan-bottom-image{position: absolute; bottom: -1px; width: 100%; z-index: 8;}

/* ▼ MV-MAP-Point ▼ */
.ev-mv{background-color: #357C44; padding: 50px 0 120px 0;}
.ev-sec-title-image{width: 300px; display: block; margin: 50px auto 10px auto;}
.ev-sec-title-txt{text-align: center; padding-bottom: 50px;}
.ev-map {position: relative; width: 60%; min-width: 895px; margin: 0 auto;}
/* map-page */
.map-page .ev-map{width: 100%;}
.map-page .ev-map__image {width: 100%; height: auto; display: block;}
.map-page .ev-mv{background-color: #357C44; padding: 100px 0 0 0;}
.map-page .ev-map__overlay{position: absolute; left: 50%; top: clamp(14px, 2.2vw, 28px); transform: translateX(-50%); z-index: 4; width: min(65%, calc(100% - 24px)); text-align: center; pointer-events: none;}

.ev-map__image {width: 100%; height: auto; display: block; border-radius: 1vw;}
.ev-map__pin {position: absolute; transform: translate(-50%, -100%);}
.ev-map{ position:relative; }
.ev-map__pin{position: absolute; width: 24px; height: 24px; transform: translate(-50%, -100%); background: transparent; border: 0; padding: 0; cursor: pointer; display: grid; place-items: center;}
.ev-map__pinCore{display: block; width: 25px; height: 25px; background: #ff4b4b; border: 3px solid #fff; box-shadow: 0 0 0 6px rgba(255,75,75,.3); border-radius: 50% 50% 50% 0; transform: rotate(-45deg) scale(1.15); position: relative; z-index: 1; box-sizing: border-box;}
.ev-map__pinCore::after{content: ""; position: absolute; top: 50%; left: 50%; width: 7px; height: 7px; background: #fff; border-radius: 50%; transform: translate(-50%, -50%) rotate(45deg);}
.ev-map__pin:hover .ev-map__pinCore{transform: rotate(-45deg) scale(1.5);}
@keyframes ev-pin-bounce {0%, 80%, 100% {transform: translate(-50%, -100%) scale(1);} 86% {transform: translate(-50%, -100%) scale(1.18);} 92% {transform: translate(-50%, -100%) scale(0.98);}}
.ev-map__pin{animation: ev-pin-bounce 2.4s ease-in-out infinite; transform-origin: 50% 100%;}
/* 波紋リング */
.ev-map__pin::after {content: ""; position: absolute; left: 50%; top: 50%; width: 44px; height: 44px; border-radius: 999px; background: rgba(255,59,48,.18); pointer-events: none; z-index: -1; transform: translate(-50%, -50%) scale(1.5); animation: ev-pin-ring 2.4s ease-out infinite;}
@keyframes ev-pin-ring {0%   { transform: translate(-50%, -50%) scale(1.5); opacity: .8; } 70%  { transform: translate(-50%, -50%) scale(3.2); opacity: 0; } 100% { transform: translate(-50%, -50%) scale(3.2); opacity: 0; }}
.ev-map {position: relative;}
.ev-map__spot {position: absolute;}
.ev-map__pin:focus-visible {outline: 3px solid rgba(0,0,0,.35); outline-offset: 3px;}
/* 吹き出しは基本非表示 */
.ev-map__popup {position: absolute; left: 50%; top: 0; transform: translate(-50%, -120%); min-width: 220px; background: #fff; border-radius: 12px; padding: 10px 12px; box-shadow: 0 12px 30px rgba(0,0,0,.25); opacity: 0; pointer-events: none; line-height: 1.2; text-align: center;}
/* 開いた状態（JSで .is-open を付ける） */
.ev-map__spot.is-open .ev-map__popup {z-index: 9; opacity: 1; pointer-events: auto; transform: translate(-50%, -115%) scale(1); animation: ev-popup-bounce .28s cubic-bezier(.2,.8,.2,1);}
@keyframes ev-popup-bounce {0%   { transform: translate(-50%, -105%) scale(.98); } 60%  { transform: translate(-50%, -128%) scale(1.03); } 100% { transform: translate(-50%, -110%) scale(1); }}
@keyframes ev-popup-bounce-out {0%   { transform: translate(-50%, -120%) scale(1); opacity: 1; } 40%  { transform: translate(-50%, -130%) scale(1.04); } 100% { transform: translate(-50%, -105%) scale(.96); opacity: 0; }}
.ev-map__spot.is-closing .ev-map__popup {pointer-events: none; animation: ev-popup-bounce-out .25s cubic-bezier(.4,0,.2,1) forwards;}
.ev-map__popupLink_wrap{background-color: #ff4b4b; padding: 5px; width: 60%; margin: 10px auto 0 auto; border-radius: 20px; color: #fff;}
.ev-map__popupLink::after {content: "→"; display: inline-block; margin-left: 6px; transition: transform .15s ease;}
.ev-map__popupLink:hover::after {transform: translateX(5px);}
.ev-map__popupTitle {font-weight: 600; position: relative; padding-bottom: 8px; margin-bottom: 8px;}
.ev-map__popupTitle::after {margin: 0 auto; content: ""; display: block; width: 80%; height: 1px; margin-top: 6px; background-image: repeating-linear-gradient( to right, #999, #999 2px, transparent 2px, transparent 6px);}
.ev-map__popup_Images{width: 200px;}
/* ===== 共通：上に見切れる時だけ下に出す ===== */
.ev-map__spot.is-open.is-flip .ev-map__popup{top: 100%; transform: translate(-50%, 12px) scale(1); animation: ev-popup-bounce-down .28s cubic-bezier(.2,.8,.2,1);}
@keyframes ev-popup-bounce-down {0%   { transform: translate(-50%, 6px) scale(.98); } 60%  { transform: translate(-50%, 32px) scale(1.03); } 100% { transform: translate(-50%, 12px) scale(1); }}
@keyframes ev-popup-bounce-out-down {0%   { transform: translate(-50%, 12px) scale(1); opacity: 1; } 40%  { transform: translate(-50%, 20px) scale(1.04); } 100% { transform: translate(-50%, 6px)  scale(.96); opacity: 0; }}
/* 下に出ている時の閉じは、下向き版を使う */
.ev-map__spot.is-closing.is-flip .ev-map__popup{animation: ev-popup-bounce-out-down .25s cubic-bezier(.4,0,.2,1) forwards;}
/* マップセクションだけコンテナから飛び出して全幅にする */
.page-template-page-event .ev-mv{width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw);}
.page-template-page-event #content{padding-top: 0;}
.page-template-page-event .l-content{padding-top: 0;}
/* logo関係 */
/* ▼ MAP overlay（ロゴ・タイトル・ガイド） ▼ */
.ev-map__overlay{position: absolute; left: 50%; top: clamp(14px, 2.2vw, 28px); transform: translateX(-50%); z-index: 4; width: min(920px, calc(100% - 24px)); text-align: center; pointer-events: none;}
.ev-map__overlayInner{display: grid; justify-items: center; gap: 10px; padding: clamp(10px, 1.6vw, 16px) clamp(12px, 2vw, 18px); border-radius: 18px; background: rgba(255,255,255,.78); backdrop-filter: blur(6px); box-shadow: 0 10px 26px rgba(0,0,0,.18);}
.ev-map__logo{width: clamp(86px, 9vw, 100px); height: auto; display: block;}
.ev-map__title{margin: 0; font-weight: 700; font-size: clamp(22px, 2.8vw, 25px); letter-spacing: .06em; line-height: 1.2;}
.ev-mvOverlay__guide{margin: 0; font-size: 18px; line-height: 1.6; opacity: .85;}
/* ▲ MAP overlay（ロゴ・タイトル・ガイド） ▲ */
/* ▼ overlay 消える演出 ▼ */
.ev-map__overlay{transition: opacity .35s ease, transform .35s ease;}
.ev-map__overlay.is-hidden{opacity: 0; transform: translate(-50%, -10px); pointer-events: none;}
/* ▲ overlay 消える演出 ▲ */
/* ▼▼▼▼▼▼▼▼▼▼▼▼TOP-MAP-btn▼▼▼▼▼▼▼▼▼▼▼▼ */
.map-btm-container{margin-top: 3%;}
.circle-button {display: block; position: relative; width: 150px; height: 150px; text-decoration: none; margin: 0 auto;}
.circle-button svg {width: 100%; height: 100%; animation: rotate 10s linear infinite;}
.circle-button text {font-size: 10px; fill: #333; font-family: sans-serif; letter-spacing: 1.2px; pointer-events: none;fill: #fff;}
.arrow-icon {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 2.5rem; color: #333; transition: transform 0.3s ease; pointer-events: none; color: #fff;}
.circle-button:hover .arrow-icon {transform: translate(-50%, -50%) scale(1.2);}
@keyframes rotate { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); }}
/* ▲▲▲▲▲▲▲▲▲▲▲▲TOP-MAP-btn▲▲▲▲▲▲▲▲▲▲▲▲ */
/* MV-2 */
.ev-mv2{position: relative; overflow: hidden;}
.ev-mv2__image{width: 100%; height: 90vh; object-fit: cover; display: block;}
.ev-mv2::before{content: ""; position: absolute; inset: 0; z-index: 1; backdrop-filter: blur(1px); -webkit-backdrop-filter: blur(1px); pointer-events: none;}
.ev-mv2__content{position: absolute; z-index: 2; color: #fff; left: 5%; top: 60%; max-width: 250px;}
.ev-mv2-logo-Images{display: block; max-width: 80%; margin: 0 auto 20px auto;}
.ev-mv2-tit{position: absolute; top: 18%; right: -120%; font-size: 20px;}
.ev-mv2-tit{font-size: 2.3rem; white-space: nowrap; line-height: 1.4;}
.big-txt{font-size: 4rem;}

/* ev-concept */
.ev-concept-title{text-align: center; font-size: 40px; padding: 100px 0 50px 0;}
.ev-concept-inner{width: 100%; height: 100%; background-image: url(../images/concept-back-1.png); background-size: cover; background-repeat: no-repeat;position: relative; box-sizing: border-box;}
.ev-concept-inner::before {content: ""; position: absolute; inset: 0; background: rgba(255, 255, 255, 0.9); z-index: 1;}
.ev-concept-inner > * {position: relative; z-index: 2; box-sizing: border-box;}
.ev-concept-about-wrapper{width: 100%; display: flex; justify-content: center; padding: 75px 50px;}
.concept-about-flex{width: 50%;}
.concept-about-left-txt{margin-bottom: 2.6em; line-height: 2.1; letter-spacing: 0.05em; text-align: right; font-family: "Zen Old Mincho", serif; font-weight: 400; font-style: normal;}
.concept-about-flex.concept-about-left{margin-right: 25px; box-sizing: border-box;}
.concept-about-flex.concept-about-right{height: 33rem; margin-left: 25px; box-sizing: border-box;}
.concept-about-right-img-inner{width: 350px; height: 100%;}
.concept-about-right .river-image{width: 100%; height: 100%; object-fit: cover;}
/* =========================================================
   ev-concept birds
========================================================= */
.ev-concept-inner { overflow: hidden; } /* 鳥がはみ出した時の安全策 */

.ev-concept-bird{position: absolute; top: 140px; left: auto; right: 8%; width: 180px; height: auto; z-index: 2; pointer-events: none; opacity: 0; transform: translateY(14px); transition: opacity 700ms ease, transform 900ms ease;}
.ev-concept-bird.is-show{opacity: 1; transform: translateY(0);}
/* 2枚重ねて、切替もフワッ */
.ev-concept-bird__img{position: absolute; inset: 0; width: 100%; height: auto; display: block; opacity: 0; transition: opacity 420ms ease;}
.ev-concept-bird__img--a{ opacity: 1; }
.ev-concept-bird.is-frame-b .ev-concept-bird__img--a{ opacity: 0; }
.ev-concept-bird.is-frame-b .ev-concept-bird__img--b{ opacity: 1; }

/* トリガーは表示しない（DOM上の目印） */
.ev-bird-trigger{ display: block; height: 1px; }

/* 位置プリセット（JSが right/left を切り替えるが、微調整もここで） */
.ev-concept-bird.is-right{ left: auto; right: 6%; }
.ev-concept-bird.is-left { right: auto; left: 6%; }
.ev-concept-bird.is-right-inset{ left: auto; right: clamp(80px, 26vw, 200px); }

/* レスポンシブ微調整（必要なら） */
@media (max-width: 959px){.ev-concept-bird{ width: 150px; } .ev-concept-bird.is-right{ right: 4%; } .ev-concept-bird.is-left{ left: 4%; } .ev-concept-bird.is-right-inset{ right: 10%; }}
@media (max-width: 519px){.ev-concept-bird{ width: 130px; }}
/* 反転（コンテナtransformを壊さず、画像だけ反転） */
.ev-concept-bird.is-flip .ev-concept-bird__img{transform: scaleX(-1);}

/* 3か所目：単体表示（Bを使わない） */
.ev-concept-bird.is-single .ev-concept-bird__img--b{opacity: 0 !important;}
.ev-concept-bird.is-single .ev-concept-bird__img--a{opacity: 1 !important;}

/* 鳥全体を少し小さく（transformに触れない） */
.ev-concept-bird{width: 100px;}

/* 1羽目・3羽目だけ前面 */
.ev-concept-bird.is-bird1,
.ev-concept-bird.is-bird3{z-index: 6;}

/* glound-menu */
.ground-menu{width: 100%; background-image: url(../images/concept-back-1.png); background-size: cover; background-repeat: no-repeat; position: relative; padding: 50px 10px;}
.ground-menu::before{content: ""; position: absolute; inset: 0; background: rgba(255, 255, 255, 0.9); z-index: 0.5;}
.ground-menu-inner{width: 80%; margin: 0 auto; z-index: 2;}
.ev-g-menu{padding: 50px 10px; margin-bottom: 75px;}
.g-manu-txt-wrapper{width: 50%;}
.g-manu-img-wrapper{width: 30%;}
.ev-g-menu-inner{padding: 10px;}
.ev-g-menu-inner-tit{font-size: max(47px,3.5vw); margin-top: -50px;}
.sight-inner-tit,.smell-inner-tit,.touch-inner-tit{text-align: left; padding: 0px 0 10px 50px;}
.hearing-inner-tit,.taste-inner-tit{text-align: right; padding: 0px 75px 10px 0px;}
.g-manu-txt{padding: 10px; line-height: 1.5;}
.ev-g-menu-inner-tit{writing-mode: vertical-rl; text-orientation: mixed;}
.ev-g-menu-inner-tit{will-change: transform;}
/* 縦書きh2は幅が特殊なので block化して制御 */
.ev-g-menu-inner-tit{display: block; inline-size: max-content;}

/* 2・4だけ “反対側” に寄せる（縦書きでも確実） */
.hearing-inner-tit,
.taste-inner-tit{margin-left: auto; margin-right: 0; text-align: initial;}

/* 1・3・5は元のまま（左側に置く） */
.sight-inner-tit,
.smell-inner-tit,
.touch-inner-tit{margin-right: auto; margin-left: 0;}

.g-manu-img-w-wrapper{display: flex; justify-content: center; align-items: center;}
.g-manu-img-wrapper1,.g-manu-img-wrapper3,.g-manu-img-wrapper5{margin-left: 20px; box-sizing: border-box; justify-content: flex-start;}
.g-manu-img-wrapper2,.g-manu-img-wrapper4{box-sizing: border-box; justify-content: flex-end;}
.g-manu-txt-wrapper{z-index: 2;}
.ev-g-menu:nth-of-type(1) .g-manu-img-w-wrapper,
.ev-g-menu:nth-of-type(3) .g-manu-img-w-wrapper,
.ev-g-menu:nth-of-type(5) .g-manu-img-w-wrapper {flex-direction: row-reverse;}
.g-manu-txt-wrap-h3{padding: 0px 20px 20px 0; font-size: 3rem;}

/* 2枚の親（位置の基準） */
.g-manu-img-wrapper{position: relative; display: flex; gap: 0;}

/* 画像共通（縦長・比率維持） */
.g-manu-img-wrapper .g-menu-img{width: clamp(140px, 18vw, 220px); aspect-ratio: 9 / 16; object-fit: cover; display: block;}

/* 2枚目だけ：少し下へ＋少し左へ（重ねる） */
.g-manu-img-wrapper .g-menu-img:nth-child(2){position: relative; top: 14px; left: -18px; z-index: 2;}
.g-manu-img-wrapper .g-menu-img{
  clip-path: polygon( 0% 0%, 100% 12%, 100% 100%, 0% 88% );}

/* 初期状態：非表示 */
.ev-g-menu-inner-tit,
.g-manu-txt-wrap-h3{opacity: 0;}

/* h2：下から生える */
.ev-g-menu.is-inview .ev-g-menu-inner-tit{opacity: 1; transform: translateY(0); transition: opacity .7s ease, transform 1.7s ease;}
.ev-g-menu-inner-tit{transform: translateY(24px);}

/* h3：文字アニメ用（spanに分割される前提） */
.g-manu-txt-wrap-h3{display: inline-block; overflow: hidden; white-space: nowrap;}

/* 1文字ずつ左から出す */
.g-manu-txt-wrap-h3 .char{display: inline-block; opacity: 0; transform: translateX(-10px);}

/* 表示開始（is-inviewが付いたら） */
.ev-g-menu.is-inview .g-manu-txt-wrap-h3 .char{opacity: 1; transform: translateX(0); transition: opacity .9s ease, transform .9s ease;}

/* h3本体も表示状態に戻す（これが無いと消えたまま） */
.ev-g-menu.is-inview .g-manu-txt-wrap-h3{opacity: 1;}

.g-manu-txt-links{display: flex; justify-content: space-evenly; flex-flow: wrap;}
.g-manu-txt-links a{padding: 15px 25px; background-color: #03bdbd; border-radius: 150px; margin-top: 15px; color: #ffffff;}
.g-manu-txt-links a:hover{opacity: 0.6;}
.g-manu-img-wrapper2 img:nth-of-type(2){object-position: 84% 50%;}
.g-manu-img-wrapper4 img:nth-of-type(2){object-position: 30% 50%;}
.g-manu-img-wrapper5 img:nth-of-type(1){object-position: 70% 50%;}

/* about */
.about .ev-concept-about-wrapper{align-items: center;}
.about .concept-about-left-txt-2{text-align: center;}
.about .concept-about-left-txt-2-2{margin-bottom: 100px;}
.about-two-inner{width: 80%; margin: 0 auto;}

/* =========================
   Facility table (PC)
========================= */
.facility-table {width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 15px; margin-bottom: 100px;}

/* 列幅バランス */
.facility-table col:nth-child(1) { width: 30%; } /* 施設名 */
.facility-table col:nth-child(2) { width: 5%; } /* 項目名 */
.facility-table col:nth-child(3) { width: 40%; } /* 実データ（住所など） }
/* D〜J列は保険的に均等 */
.facility-table col:nth-child(n+4) { width: 5%; }

/* 共通セル */
.facility-table th,
.facility-table td {border-bottom: 1px solid #ddd; padding: 12px 10px; vertical-align: top;}

/* 施設名（rowspan） */
.facility-table th[scope="rowgroup"] {font-weight: 600; background: #f7f7f7; text-align: left;}

/* 項目名 */
.facility-table th[scope="row"] {font-weight: 500; color: #555; white-space: nowrap;}

/* データ（C列） */
.facility-table td:nth-child(3) {white-space: normal; word-break: break-word; line-height: 1.6;}

/* 余分な空列（D〜J） */
.facility-table td:nth-child(n+4) {color: transparent;}

/* 施設ごとの区切りを少し強調 */
.facility-table tr:first-child th,
.facility-table tr:first-child td {border-top: 1px solid #e2e2e2;}

/* B列（項目名）の右側に薄い縦線 */
.facility-table th[scope="row"] {border-right: 1px solid #e2e2e2;}
/* A列（施設名）を縦横中央揃え */
.facility-table th[scope="rowgroup"] {text-align: center; vertical-align: middle;}

/* A列：ロゴ＋施設名を縦横中央に */
.facility-table th[scope="rowgroup"] {padding: 16px 10px;}

/* 中身を中央配置 */
.facility-cell {display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; gap: 8px;}

/* ロゴサイズ（小さめ・上品） */
.facility-cell img {max-width: 100px; height: auto;}

/* 施設名テキスト */
.facility-cell span {font-size: 13px; line-height: 1.4; text-align: center; color: #333;}

/* テーブル右端に薄い縦線 */
.facility-table {border-right: 1px solid #e2e2e2;}

.facility-table td a{color: #1b00b6;text-decoration: underline; }
.faq-btn--sub{color: #1b00b6;text-decoration: underline;}




/* bar */
.bar .ev-concept{position: relative;}

/* food */
.food .ev-concept{position: relative;}

/* market */
.market .ev-concept{position: relative;}

/* music */
.music .ev-concept{position: relative;}























/* ev-massage */
.ev-massage-section{background-color: #F0E8E5; position: relative; width: 100%;}
.massage-upper-image{width: 100%; position: absolute; top: -1px; left: 0;}
.ev-mas-title-image{padding-top: 170px; margin-top: 0;}
.ev-mas-title-txt{padding-bottom: 100px;}
.ev-sec-title-txt2{padding-bottom: 60px;}
.massage-h3-title{color: #665751; font-size: max(1.5vw,25px); line-height: 1.6; z-index: 1;}
.massage-txt1{color: #E2D9D4; font-size: 20vw; position: absolute; top: 25rem; opacity: 0.4;}
.massage-wrapper{display: flex; justify-content: center; align-items: center; margin: 50px 0 100px 0; z-index: 1; flex-wrap: wrap;}
.massage-image-contain{width: 40%; margin-left: 6%; z-index: 1; min-width: 600px;}
.massage-flex-image{width: 30%;}
.massage-wrapper2{flex-direction: row-reverse; padding: 80px 0;}
.ev-sec-title-image2{padding-top: 0;}
.massage-menu-wrapper{width: 75%; background-color: #F8F6F4; margin: 0 auto;}

/* ev-yoga */
.ev-yoga-section{background-color: #f7dacf; position: relative; width: 100%;}
.yoga-upper-image{width: 100%; position: absolute; top: -1px; left: 0;}
.ev-mas-title-image{padding-top: 170px; margin-top: 0;}
.ev-mas-title-txt{padding-bottom: 100px;}
.ev-sec-title-txt2{padding-bottom: 60px;}
.yoga-h3-title{color: #665751; font-size: max(2vw,25px); line-height: 1.6; z-index: 1;}
.yoga-txt1{color:rgba(191, 111, 66, 0.3); font-size: 20vw; position: absolute; top: 25rem; opacity: 0.4;}
.yoga-wrapper{display: flex; justify-content: center; align-items: center; margin: 50px 0 100px 0; z-index: 1;}
.yoga-image-contain{width: 40%; margin-left: 6%; z-index: 1;}
.yoga-flex-image{width: 30%;}
.yoga-wrapper2{flex-direction: row-reverse; padding: 80px 0;}
.ev-sec-title-image2{padding-top: 0;}
.yoga-menu-wrapper{width: 75%; background-color: #F8F6F4; margin: 0 auto;}

/* ev-divination */
.ev-divination-section{background-color: #F0E8E5; position: relative; width: 100%;}
.divination-upper-image{width: 100%; position: absolute; top: -1px; left: 0;}
.ev-mas-title-image{padding-top: 170px; margin-top: 0;}
.ev-mas-title-txt{padding-bottom: 100px;}
.ev-sec-title-txt2{padding-bottom: 60px;}
.divination-h3-title{color: #665751; font-size: max(1.5vw,25px); line-height: 1.6; z-index: 1;}
.divination-txt1{color: #E2D9D4; font-size: 20vw; position: absolute; top: 25rem; opacity: 0.4;}
.divination-wrapper{display: flex; justify-content: center; align-items: center; margin: 50px 0 100px 0; z-index: 1; flex-wrap: wrap;}
.divination-image-contain{width: 40%; margin-left: 6%; z-index: 1; min-width: 600px;}
.divination-flex-image{width: 30%;}
.divination-wrapper2{flex-direction: row-reverse; padding: 80px 0;}
.ev-sec-title-image2{padding-top: 0;}
.divination-menu-wrapper{width: 75%; background-color: #F8F6F4; margin: 0 auto;}

/* ev-sauna */
.ev-sauna-section{background-color: #feffe5; position: relative; width: 100%;}
.sauna-upper-image{width: 100%; position: absolute; top: -1px; left: 0;}
.ev-mas-title-image{padding-top: 170px; margin-top: 0;}
.ev-mas-title-txt{padding-bottom: 100px;}
.ev-sec-title-txt2{padding-bottom: 60px;}
.sauna-h3-title{color: #665751; font-size: max(2vw,25px); line-height: 1.6; z-index: 1;}
.sauna-txt1{color:rgba(191, 111, 66, 0.3); font-size: 20vw; position: absolute; top: 25rem; opacity: 0.4;}
.sauna-wrapper{display: flex; justify-content: center; align-items: center; margin: 50px 0 100px 0; z-index: 1;}
.sauna-image-contain{width: 40%; margin-left: 6%; z-index: 1;}
.sauna-flex-image{width: 30%;}
.sauna-wrapper2{flex-direction: row-reverse; padding: 80px 0;}
.ev-sec-title-image2{padding-top: 0;}
.sauna-menu-wrapper{width: 75%; background-color: #F8F6F4; margin: 0 auto;}

/* ev-museum */
.ev-museum-section{background-color: #F0E8E5; position: relative; width: 100%;}
.museum-upper-image{width: 100%; position: absolute; top: -1px; left: 0;}
.ev-mas-title-image{padding-top: 170px; margin-top: 0;}
.ev-mas-title-txt{padding-bottom: 100px;}
.ev-sec-title-txt2{padding-bottom: 60px;}
.museum-h3-title{color: #665751; font-size: max(1.5vw,25px); line-height: 1.6; z-index: 1;}
.museum-txt1{color: #E2D9D4; font-size: 20vw; position: absolute; top: 25rem; opacity: 0.4;}
.museum-wrapper{display: flex; justify-content: center; align-items: center; margin: 50px 0 100px 0; z-index: 1; flex-wrap: wrap;}
.museum-image-contain{width: 40%; margin-left: 6%; z-index: 1; min-width: 600px;}
.museum-flex-image{width: 30%;}
.museum-wrapper2{flex-direction: row-reverse; padding: 80px 0;}
.ev-sec-title-image2{padding-top: 0;}
.museum-menu-wrapper{width: 75%; background-color: #F8F6F4; margin: 0 auto;}

/* lp-plan */
.pc-inline{ display: inline; }
.sp-br{ display: none; }
.plan-image-tit-wrapper{display: flex; align-items: center; gap: 12px;}
.plan-image-tit-wrapper .plan-menu-list{flex: 1; min-width: 0;}
.lp-plan .wrapper .plan-wrapper .plan-column .left .plan-image-tit-wrapper .instructor-img{width: 120px;}
.lp-plan .wrapper .plan-wrapper .plan-column .left .instructor-link{background-color: #abf5df; border-radius: 14px; padding: 1px 7px; display: inline-block; margin-right: 5px;}
.lp-plan{background-color: #F0E8E5; padding-bottom: 45px; padding-top: 1px;}
.lp-plan .wrapper{/* width: 100%; */height: 100%;}
.lp-plan .plan-tit{display: flex; align-items: center; width: 39vw; min-width: 635px; position: relative; gap: 1em; font-size: 35px; margin-top: 40px; padding-top: 10px; padding-bottom: 18px; letter-spacing: 0.1em; padding-left: 10px; background-color: #F8F6F4; color: #665b56;}
.plan-tit .subtitle{white-space: nowrap; font-size: 0.75em;}
.plan-tit::before{content: ""; position: absolute; top: 10px; right: -5px; width: 5px; height: calc(100% - 10px + 5px); background-color:#C7A499;}
.shadow-bottom {position: absolute; bottom: -5px; left: 10px; width: calc(100% - 10px + 5px); height: 5px; background-color:#C7A499; z-index: 0; pointer-events: none;}
.plan-tit::after{content: ""; flex-grow: 1; height: 1px; background-color: #C7A499; margin-right: 1em;}
.plan-wrapper{margin-top: 40px; background-color: #F8F6F4; box-sizing: border-box; padding: 20px;}
.plan-wrap-tit{font-size: 28px; color: #665b56; display: inline-block; border-bottom: solid 1.5px #C7A499 ; padding: 3px 5% 10px 1.5%; letter-spacing: 0.2rem; color: #8E7C74; margin-bottom: 30px;}
.plan-wrap-tit .subtitle{font-size: 0.75em;}
.plan-wrap-tit-under{padding: 0 0 30px 5px; margin-top: -20px;}
.plan-column{display: flex; justify-content: space-between; align-items: flex-start; width: 95%; margin: 2.5vw auto 20px auto; position: relative; padding-bottom: 20px;}
.plan-column::after{content: ""; position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); width: 90%; height: 1px; background-color: rgba(199, 164, 153, 0.35);}
.plan-wrapper .plan-column:last-of-type::after{display: none;}
.plan-column .left{width: 100%;}
.plan-column .left p{padding-left: 142px; font-size: 1em; padding-top: 10px; display: inline-block; max-width: 95%; margin-bottom: 30px; letter-spacing: 0.1em; line-height: 1.8;}
.plan-column .right .yen span{font-size: 1.4rem;}
.plan-column .right .yen{font-size: 1.75rem; letter-spacing: 0.1em; color: #8E7C74; margin-top: 30px;}
.plan-column .right .otoiawase{font-size: 1.25rem; white-space: nowrap; margin-top: 0;}
.plan-menu-list{display: flex; align-items: center; font-size: 1.35rem; letter-spacing: 0.1em; padding-left: 10px; background-color: #F8F6F4; color: #8E7C74;}
.plan-menu-list::after{content: ""; flex-grow: 1; height: 1px; background-color: #C7A499; margin-right: 1em; margin-left: 1em;}
.ev-course-txt{line-height: 1.6; text-align: center; padding: 10px 20px; letter-spacing: 1px;}
.ev-course-txt:last-of-type{margin-bottom: 50px;}

/* ev-yoga lp-plan */
.ev-yoga-section .lp-plan{background-color: #f7dacf; padding-bottom: 45px; padding-top: 1px;}

/* ev-sauna lp-plan */
.ev-sauna-section .lp-plan{background-color: #feffe5; padding-bottom: 45px; padding-top: 1px;}

/* massage-Form */
.massage-menu-wrapper .mfp.mfp_achroma{background-color: #F8F6F4;}
.massage-menu-wrapper #mailformpro .mailform dd.mfp.mfp_colored{background-color: #F8F6F4;}
.massage-menu-wrapper #mailformpro .mailform dt.mfp.mfp_colored{background-color: #F8F6F4;}
.massage-menu-wrapper #mailformpro .mailform .mfp.mfp_achroma{background-color: #F8F6F4;}
.massage-menu-wrapper #mailformpro .mailform .mfp.mfp_achroma .mfp_rows .mfp_col10 .mfp_element_all.mfp_element_select-one{width: 250px; min-width: 250px;}
.massage-menu-wrapper #mfp_ticket_select_mfp_element_2{width: 250px; min-width: 250px;}
.massage-menu-wrapper #mfp_ticket_wrapper_mfp_element_2{width: 342px !important;}
.massage-menu-wrapper #mfp_ticket_select_mfp_element_3{width: 250px; min-width: 250px;}
.massage-menu-wrapper #mfp_ticket_wrapper_mfp_element_3{width: 342px !important;}
.massage-menu-wrapper .mailform .mfp.mfp_achroma .mfp_rows .mfp_col10 #mfp_ticket_wrapper_mfp_element_1{border-style: none;}
.massage-menu-wrapper #mfp_ticket_wrapper_mfp_element_2{border-style: none;}
.massage-menu-wrapper #mfp_ticket_wrapper_mfp_element_3{border-style: none;}
.massage-menu-wrapper #mfp_ticket_wrapper_mfp_element_1.mfp_ticket_wrapper{width: 342px !important;}

/* yoga-Form */
.yoga-menu-wrapper .mfp.mfp_achroma{background-color: #F8F6F4;}
.yoga-menu-wrapper #mailformpro .mailform dd.mfp.mfp_colored{background-color: #F8F6F4;}
.yoga-menu-wrapper #mailformpro .mailform dt.mfp.mfp_colored{background-color: #F8F6F4;}
.yoga-menu-wrapper #mailformpro .mailform .mfp.mfp_achroma{background-color: #F8F6F4;}
.yoga-menu-wrapper #mailformpro .mailform .mfp.mfp_achroma .mfp_rows .mfp_col10 .mfp_element_all.mfp_element_select-one{width: 250px; min-width: 250px;}
.yoga-menu-wrapper #mailformpro .mailform .mfp.mfp_colored .mfp_rows .mfp_col10 .mfp_element_all.mfp_element_select-one{width: 250px; min-width: 250px;}
.yoga-menu-wrapper #mfp_ticket_select_mfp_element_2{width: 250px; min-width: 250px;}
.yoga-menu-wrapper #mfp_ticket_wrapper_mfp_element_1{border-style: none;}
.yoga-menu-wrapper #mfp_ticket_wrapper_mfp_element_2{border-style: none;}
.yoga-menu-wrapper #mfp_ticket_wrapper_mfp_element_3{border-style: none;}
.yoga-menu-wrapper #mfp_ticket_wrapper_mfp_element_4{border-style: none;}
.yoga-menu-wrapper #mfp_ticket_wrapper_mfp_element_5{border-style: none;}
.yoga-menu-wrapper #mfp_ticket_wrapper_mfp_element_6{border-style: none;}
.yoga-menu-wrapper #mfp_ticket_wrapper_mfp_element_7{border-style: none;}
.yoga-menu-wrapper #mfp_ticket_wrapper_mfp_element_8{border-style: none;}
.yoga-menu-wrapper #mfp_ticket_wrapper_mfp_element_1{width: 342px !important;}
.yoga-menu-wrapper #mfp_ticket_wrapper_mfp_element_2{width: 342px !important;}
.yoga-menu-wrapper #mfp_ticket_wrapper_mfp_element_3{width: 342px !important;}
.yoga-menu-wrapper #mfp_ticket_wrapper_mfp_element_4{width: 342px !important;}
.yoga-menu-wrapper #mfp_ticket_wrapper_mfp_element_5{width: 342px !important;}
.yoga-menu-wrapper #mfp_ticket_wrapper_mfp_element_6{width: 342px !important;}
.yoga-menu-wrapper #mfp_ticket_wrapper_mfp_element_7{width: 342px !important;}
.yoga-menu-wrapper #mfp_ticket_wrapper_mfp_element_8{width: 342px !important;}

/* divination-Form */
.divination-menu-wrapper .mfp.mfp_achroma{background-color: #F8F6F4;}
.divination-menu-wrapper #mailformpro .mailform dd.mfp.mfp_colored{background-color: #F8F6F4;}
.divination-menu-wrapper #mailformpro .mailform dt.mfp.mfp_colored{background-color: #F8F6F4;}
.divination-menu-wrapper #mailformpro .mailform .mfp.mfp_achroma{background-color: #F8F6F4;}
.divination-menu-wrapper #mailformpro .mailform .mfp.mfp_achroma .mfp_rows .mfp_col10 .mfp_element_all.mfp_element_select-one{width: 250px; min-width: 250px;}
.divination-menu-wrapper #mfp_ticket_select_mfp_element_2{width: 250px; min-width: 250px;}
.divination-menu-wrapper #mfp_ticket_wrapper_mfp_element_2{width: 342px !important;}
.divination-menu-wrapper #mfp_ticket_select_mfp_element_3{width: 250px; min-width: 250px;}
.divination-menu-wrapper #mfp_ticket_wrapper_mfp_element_3{width: 342px !important;}
.divination-menu-wrapper .mailform .mfp.mfp_achroma .mfp_rows .mfp_col10 #mfp_ticket_wrapper_mfp_element_1{border-style: none;}
.divination-menu-wrapper #mfp_ticket_wrapper_mfp_element_2{border-style: none;}
.divination-menu-wrapper #mfp_ticket_wrapper_mfp_element_3{border-style: none;}
.divination-menu-wrapper #mfp_ticket_wrapper_mfp_element_1.mfp_ticket_wrapper{width: 342px !important;}

/* sauna-Form */
.sauna-menu-wrapper .mfp.mfp_achroma{background-color: #F8F6F4;}
.sauna-menu-wrapper #mailformpro .mailform dd.mfp.mfp_colored{background-color: #F8F6F4;}
.sauna-menu-wrapper #mailformpro .mailform dt.mfp.mfp_colored{background-color: #F8F6F4;}
.sauna-menu-wrapper #mailformpro .mailform .mfp.mfp_achroma{background-color: #F8F6F4;}
.sauna-menu-wrapper #mailformpro .mailform .mfp.mfp_achroma .mfp_rows .mfp_col10 .mfp_element_all.mfp_element_select-one{width: 260px; min-width: 260px;}
.sauna-menu-wrapper #mailformpro .mailform .mfp.mfp_colored .mfp_rows .mfp_col10 .mfp_element_all.mfp_element_select-one{width: 260px; min-width: 260px;}
.sauna-menu-wrapper #mfp_ticket_select_mfp_element_2{width: 260px; min-width: 260px;}
.sauna-menu-wrapper #mfp_ticket_wrapper_mfp_element_1{border-style: none;}
.sauna-menu-wrapper #mfp_ticket_wrapper_mfp_element_2{border-style: none;}
.sauna-menu-wrapper #mfp_ticket_wrapper_mfp_element_3{border-style: none;}
.sauna-menu-wrapper #mfp_ticket_wrapper_mfp_element_4{border-style: none;}
.sauna-menu-wrapper #mfp_ticket_wrapper_mfp_element_5{border-style: none;}
.sauna-menu-wrapper #mfp_ticket_wrapper_mfp_element_6{border-style: none;}
.sauna-menu-wrapper #mfp_ticket_wrapper_mfp_element_1{width: 342px !important;}
.sauna-menu-wrapper #mfp_ticket_wrapper_mfp_element_2{width: 342px !important;}
.sauna-menu-wrapper #mfp_ticket_wrapper_mfp_element_3{width: 342px !important;}
.sauna-menu-wrapper #mfp_ticket_wrapper_mfp_element_4{width: 342px !important;}
.sauna-menu-wrapper #mfp_ticket_wrapper_mfp_element_5{width: 342px !important;}
.sauna-menu-wrapper #mfp_ticket_wrapper_mfp_element_6{width: 342px !important;}

/* saunaページ：座席図は選択されるまで非表示（空箱対策） */
.ev-sauna .mfp_ticket_map{display: none;}

/* contact */
#ev-contact .contact-inner .form-guide-wrapper .contact-form-guide-list{font-size: 14px;}

/* =========================
FAQ
========================= */
.ev-faq {background-color: #fff5e7; position: relative; width: min(1000px, 92vw); width: 100%; padding: 64px 0;}
.ev-faq-inner{width: min(950px, 92vw); margin: 0 auto; padding: 70px 30px 100px 40px; background-color: #fffefc; font-family: "Zen Old Mincho", serif; font-weight: 400; font-style: normal; border-radius: 30px;}
.ev-faq__head {margin-bottom: 28px;}
.ev-faq__title {font-size: clamp(26px, 3vw, 34px); letter-spacing: 0.02em; margin: 0 0 10px;}
.ev-faq__lead {margin: 0; opacity: 0.9; line-height: 1.8;}

/* Jump */
.faq-jump {display: grid; gap: 20px; padding: 18px 18px; border: 1px solid rgba(255,255,255,0.14); border-radius: 16px; margin: 22px 0 34px;}
.faq-jump__group {display: grid; gap: 12px;}
.faq-jump__label {text-align: center; margin: 0; font-weight: 600; letter-spacing: 0.03em; opacity: 0.95; line-height: 3;}

.faq-jump__links {display: flex; justify-content: space-evenly; flex-wrap: wrap; gap: 10px 14px;}

.faq-jump__text {text-decoration: none; border-bottom: 1px solid rgba(255,255,255,0.22); padding-bottom: 2px; padding: 8px 16px; background-color: #78cdc6; color: #fff; border-radius: 100px;}
.faq-jump__text:hover {opacity: 0.8;;}
.faq-jump__cards {display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px;}
.faq-jump__card {display: grid; place-items: center; gap: 8px; padding: 14px 10px; border-radius: 14px; text-decoration: none; border: 1px solid rgba(255,255,255,0.14); background: rgba(255,255,255,0.03);}
.faq-jump__icon {font-size: 22px; line-height: 1;}
.faq-jump__name {font-size: 14px; letter-spacing: 0.05em; padding: 2px 7px; background-color: #78cdc6; color: #fff; border-radius: 20px;}

/* Blocks */
.faq-block {margin-top: 30px;}
.faq-block__title {font-size: clamp(20px, 2.4vw, 26px); margin: 0 0 70px; letter-spacing: 0.03em; text-align: center;}
.faq-block__title2 {margin-top: 50px;}
.faq-block__lead {margin: 0 0 18px; opacity: 0.9; line-height: 1.8;}

/* Section */
.faq-section {margin: 28px 0;}
.faq-section__title {font-size: 18px; margin: 0 0 10px; letter-spacing: 0.03em;}
.faq-section__lead {margin: 0 0 12px; opacity: 0.88; line-height: 1.8;}

/* Accordion */
.faq-accordion {display: grid; gap: 10px;}
.faq-item {border: 1px solid rgba(255,255,255,0.14); border-radius: 14px; overflow: hidden; background: rgba(255,255,255,0.02);}
.faq-q {width: 100%; text-align: left; padding: 14px 44px 14px 16px; background: transparent; border: 0; cursor: pointer; font-size: 15px; line-height: 1.6; position: relative; background-color: #f1f1f1;}
.faq-q::after {content: "＋"; position: absolute; right: 16px; top: 50%; transform: translateY(-50%); font-size: 16px; opacity: 0.9;}
.faq-q[aria-expanded="true"]::after {content: "－";}
.faq-a {padding: 0 16px 16px; line-height: 1.9; opacity: 0.95; background-color: #fafafa; padding-top: 16px; font-size: 14px;}

/* CTA */
.faq-cta {margin: 34px 0 10px; padding: 18px 18px; border-radius: 16px; border: 1px solid rgba(255,255,255,0.14); background: rgba(255,255,255,0.03);}
.faq-cta__txt {margin: 0 0 14px; line-height: 1.8; opacity: 0.92;}
.faq-cta__btns {display: flex; flex-wrap: wrap; gap: 10px;}
.faq-btn {display: inline-block; text-decoration: none; padding: 10px 14px; border-radius: 999px; border: 1px solid rgba(255,255,255,0.22);}
.faq-btn--main {border-color: rgba(255,255,255,0.35);}
.faq-btn:hover {transform: translateY(-1px);}
/* mini jump (experience section) */
.faq-mini-jump {display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 45px 0 65px;}
.faq-mini-jump__card {display: grid; place-items: center; gap: 8px; padding: 12px 10px; border-radius: 14px; text-decoration: none; border: 1px solid rgba(255,255,255,0.14); background: rgba(255,255,255,0.02);}
.faq-mini-jump__icon {font-size: 20px; line-height: 1;}
.faq-mini-jump__name {font-size: 13px; letter-spacing: 0.05em; padding: 2px 7px; background-color: #78cdc6; color: #fff; border-radius: 20px;}
.ev-faq-icon{width: 80px; border-radius: 10px;}
.faq-menu-link{padding: 1px 7px; background-color: #78cdc6; border-radius: 30px; color: #fff; white-space: nowrap;}

/* =========================
Hover Float Animation
========================= */
.faq-hover {transition: transform 0.28s ease-out, box-shadow 0.28s ease-out; will-change: transform;}
.faq-hover:hover,
.faq-hover:focus-visible {transform: translateY(-4px) scale(1.04); box-shadow: 0 6px 14px rgba(0, 0, 0, 0.16);}

/* タップ時は少し控えめ */
.faq-hover:active {transform: translateY(-2px) scale(1.02); box-shadow: 0 6px 14px rgba(0, 0, 0, 0.16);}
.faq-jump__text.faq-hover:hover {box-shadow: none; transform: translateY(-2px) scale(1.03);}

/* =========================
FAQ Accordion Animation
========================= */
.faq-a {overflow: hidden; transition: height 0.38s ease, opacity 0.32s ease, transform 0.32s ease; will-change: height, opacity, transform;}

/* 開く前（JSで付与） */
.faq-a.is-collapsing {opacity: 0; transform: translateY(-2px);}

/* 開いた状態 */
.faq-a.is-open {opacity: 1; transform: translateY(0);}

/* Responsive */
@media (max-width: 900px) {
.faq-jump__cards,
.faq-mini-jump {grid-template-columns: repeat(2, minmax(0, 1fr));}
}

/* footer */
.ev-footer{width: 100%;}
.ev-footer-inner{position: relative; width: 100%; height: 1250px; overflow: hidden;}
.ev-footer-back-image{width: 100%; height: 100%; object-fit: cover; object-position: 50% 90%; display: block;}
.ev-footer-image-cover{position: absolute; inset: 0; background: rgba(0, 0, 0, 0.4);}
.ev-footer-link-wrapper{position: absolute; inset: 0; margin: 130px auto 50px auto; width: 70%;}
.ev-footer-link-wrapper .ev-nav-list{display: flex; align-items: flex-start; justify-content: space-around; color: #fff; margin-bottom: 70px;}
.ev-footer-link-wrapper .ev-nav-list .ev-nav-link{font-size: 18px;}
.ev-footer-link-wrapper .ev-nav-list .ev-nav-link.ev-nav-link-reserv{margin-top: -15px;}
.ev-footer-link-wrapper .ev-nav-list .ev-nav-link .ev-nav-list2 .ev-nav-link2{margin-top: 20px; font-size: 15px;}
.ev-footer-inner .ev-footer-about-inner{position: absolute; top: 775px; left: 50%; transform: translateX(-50%);}
.ev-footer-inner .ev-footer-about-inner h2{color: #fff;}
.ev-footer-image-tit-wrapper{width: 375px; text-align: center;}
.ev-footer-logo{width: 150px;}
.ev-footer-big-tit{font-size: 24px;}
.ev-footer-tit{font-size: 20px; line-height: 1.2; margin-top: 15px; margin-bottom: 30px;}
.ev-footer-main-txt{color: #fff; text-align: left; padding-left: 56px; line-height: 1.6; letter-spacing: 1.2px;}
.ev-footer-bottom{margin-top: auto; padding: 16px 0; text-align: center; background-color: #000; color: #fff; font-size: 14px;}
footer .ev-footer-inner .ev-footer-link-wrapper .ev-nav-list1-2{display: flex; justify-content: center !important;  white-space: nowrap;}
.ev-nav-list1-2 .ev-nav-list2{display: flex; justify-content: space-around; white-space: nowrap;}
footer .ev-nav-list .ev-nav-link2 a{padding: 0 1.2vw;}
footer .footet-presents{color: #fff; position: absolute; top: 450px; left: 50%; transform: translateX(-50%);}
footer .footet-presents h2{text-align: center; margin-bottom: 40px; font-size: 23px;}
footer .footet-presents .company-wrapper{display: flex; justify-content: center; gap: 50px; width: 73vw;}
footer .footet-presents .company{color: #fff; text-align: center; width: 33.333%;}
footer .footet-presents .company .company-img{height: 120px; display: flex; align-items: center; justify-content: center;}
footer .footet-presents .company .company-img img{width: 100px; height: auto; display: block;}

/* form */
.mfp_col10 select{margin: 30px 0;}
form#mailformpro dl dd{line-height: 3;}

/* thanks */
.mfp_thanks{height: 70vh; display: flex; align-items: center; justify-content: center; flex-direction: column; background-image:url(../images/もみじ新緑.jpeg); background-size: cover; background-position: center; background-repeat: no-repeat;}
#ThanksComment{padding: 10px; background-color: rgba(50, 154, 126, 0.8); border-radius: 50px; color: #fff; margin-top: 40px;}

/* paypal-banner */
.paypal-banner{margin: 0 auto 15px auto;}
.paypal-txt{text-align: center; font-size: 14px; padding: 5px 0; line-height: 1.5;}

/* ticketのプルダウン＆座席表を縦に固定（右に飛ぶのを防ぐ） */
#mailformpro select[id^="mfp_ticket_select_"]{display:block; width:100%;}

/* JSで閉じる用（強制非表示） */
.mfp-ticket-hidden{display:none !important;}

/* contact */
.contact .ev-contact{width: 100%; padding-bottom: 100px; position: relative;}
.contact .ev-contact .contact-inner{width: 80%; display: block; margin: 0 auto;}
.contact .ev-contact .contact-inner .ev-form{border-radius: 50px;}
.contact .ev-contact .contact-inner .mailform{ padding: 75px 0;}
.contact .ev-contact .contact-inner form#mailformpro dl dd{border-top: none; margin: 20px 0 20px 0; background-color: #F7FFF9;}
.contact .ev-contact .contact-inner form#mailformpro dl dt{border-top: none; background-color: #F7FFF9;}

/* form-gude */
.form-guide-wrapper{width: 100%; max-width: 950px; margin: 0 auto; background-color: rgba(177, 255, 194, 0.1);}
.contact-form-guide-list{line-height: 2.5; padding: 65px 7%;}
.form-guide-wrapper{list-style: none;}
.form-guide-wrapper li{position: relative; padding-left: 1.8em;}
.form-guide-wrapper li::before{content: "\f1bb"; font-family: "Font Awesome 6 Free"; font-weight: 900; position: absolute; left: 0; top: 0.15em; color: #00993b;}






















































































@media (min-width: 960px) {

.pcno {display: none;}
/* ===== SWELL フルワイドブロック内の MV だけ余白を消す ===== */
.post_content .swell-block-fullWide.ev-mv-section{margin: 0; padding: 0;}
/* 内側ラッパー（SWELLが左右padding/最大幅を作る所）を無効化 */
.post_content .swell-block-fullWide.ev-mv-section > .swell-block-fullWide__inner{max-width: none; padding-left: 0; padding-right: 0;}
/* さらに section 自体にも余白が乗っていた場合の保険 */
.post_content .swell-block-fullWide.ev-mv-section .ev-mv{margin: 0; padding: 0;}
/* pc-py-60 / sp-py-40 が効いているなら MVセクションだけ0に上書き */
.post_content .swell-block-fullWide.ev-mv-section{padding-top: 0 !important; padding-bottom: 0 !important;}

/* contact */
.contact .ev-contact .contact-inner  .mfp_rows textarea{width: 80% !important; min-width: 80% !important;}


}





































































































@media (max-width: 959px) and (min-width: 520px) {

.tbno {display: none !important;}

/* /* MV */
.ev-mv2 .ev-mv2__content{position: absolute !important; bottom: 5% !important; top: auto !important;}
.ev-mv2-logo-Images{margin: 0 0 20px 0;}
.ev-mv2-tit{position: static;}
.ev-mv2-logo-title{position: absolute; width: 458px; z-index: 4; left: 50%; right: auto; top: 20%; transform: translateX(-50%) rotate(-3deg); transform-origin: center;}

/* MV-2 */
.ev-mv2-logo-Images{display: block; max-width: 70%; margin: 0 0 0 0;}

/* nav */
header nav .ev-nav-list{display: block;}
.sp-menu-icon{width: 50%; display: block; margin: 0 auto 30px auto;}
header #navArea nav .inner .sp-menu-title{text-align: center; margin-bottom: 40px; color: #28998B; font-weight: bold;}
.ev-nav-list .ev-nav-link{padding: 0;}
.ev-nav-link.ev-nav-link-reserv{color: #333; background-color: #fff; padding: 0; border-radius: 0px; margin-left: 0;}
.map-page .ev-mv{background-color: #357C44; padding: 52px 0 0 0;}

/* TOP-MAP-btn */
.map-btm-container{margin-top: 70px;}

/* ev-concept */
.ev-concept-about-wrapper{width: 100%; display: flex; justify-content: center; padding: 75px 10px; flex-direction: column-reverse; box-sizing: border-box;}
.ev-concept-title{padding: 100px 0 20px 0;}
.concept-about-flex.concept-about-left{width: 100%; margin-right: 0; text-align: center;}
.concept-about-flex.concept-about-right{width: 100%; margin-left: 0; height: 28rem;}
.concept-about-flex.concept-about-left .concept-about-left-txt{ text-align: center;}
.concept-about-right-img-inner{width: 80%; margin: 0 auto; height: 40vh;}
.concept-about-left-txt{font-size: max(15px,3vw); padding: 10px 20px;}

/* 鳥 */
.ev-concept-bird.is-bird1, .ev-concept-bird.is-bird3{z-index: 2;}

/* massage */
.massage-menu-wrapper{width: 95%; background-color: #F8F6F4; margin: 0 auto;}
.massage-wrapper{display: flex; justify-content: center; align-items: flex-start; gap: 24px; flex-wrap: wrap;}
.massage-h3-title{flex: 0 1 480px; max-width: 600px;}
.massage-image-contain1{flex: 0 1 700px;}
.massage-h3-title{ transform: translateY(0px); }
.massage-image-contain1{ transform: translateY(28px); }
.massage-image-contain2{flex: 0 1 700px;}
.massage-h3-title{ transform: translateY(0px); }
.massage-image-contain2{ transform: translateY(28px); }
.massage-txt1{color: #E2D9D4; font-size: 21vw; position: absolute; top: 39rem; opacity: 0.4;}
.massage-image-contain{ min-width: auto;}

/* yoga */
.yoga-menu-wrapper{width: 95%; background-color: #F8F6F4; margin: 0 auto;}
.yoga-wrapper{display: flex; justify-content: center; align-items: flex-start; gap: 24px; flex-wrap: wrap;}
.yoga-h3-title{flex: 0 1 480px; max-width: 600px;}
.yoga-image-contain1{flex: 0 1 700px;}
.yoga-h3-title{ transform: translateY(0px); }
.yoga-image-contain1{ transform: translateY(28px); }
.yoga-image-contain2{flex: 0 1 700px;}
.yoga-h3-title{ transform: translateY(0px); }
.yoga-image-contain2{ transform: translateY(28px); }
.yoga-txt1{color: #E2D9D4; font-size: 21vw; position: absolute; top: 39rem; opacity: 0.4;}
.yoga-image-contain{ min-width: auto;}

/* divination */
.divination-menu-wrapper{width: 95%; background-color: #F8F6F4; margin: 0 auto;}
.divination-wrapper{display: flex; justify-content: center; align-items: flex-start; gap: 24px; flex-wrap: wrap;}
.divination-h3-title{flex: 0 1 480px; max-width: 600px;}
.divination-image-contain1{flex: 0 1 700px;}
.divination-h3-title{ transform: translateY(0px); }
.divination-image-contain1{ transform: translateY(28px); }
.divination-image-contain2{flex: 0 1 700px;}
.divination-h3-title{ transform: translateY(0px); }
.divination-image-contain2{ transform: translateY(28px); }
.divination-txt1{color: #E2D9D4; font-size: 21vw; position: absolute; top: 39rem; opacity: 0.4;}
.divination-image-contain{ min-width: auto;}

/* sauna */
.sauna-menu-wrapper{width: 95%; background-color: #F8F6F4; margin: 0 auto;}
.sauna-wrapper{display: flex; justify-content: center; align-items: flex-start; gap: 24px; flex-wrap: wrap;}
.sauna-h3-title{flex: 0 1 480px; max-width: 600px;}
.sauna-image-contain1{flex: 0 1 700px;}
.sauna-h3-title{ transform: translateY(0px); }
.sauna-image-contain1{ transform: translateY(28px); }
.sauna-image-contain2{flex: 0 1 700px;}
.sauna-h3-title{ transform: translateY(0px); }
.sauna-image-contain2{ transform: translateY(28px); }
.sauna-txt1{color: #E2D9D4; font-size: 21vw; position: absolute; top: 39rem; opacity: 0.4;}
.sauna-image-contain{ min-width: auto;}

/* 各紹介 */
.ev-course-txt{padding: 10px 20px;}

/* lp-plan */
.pc-inline{ display: none; }
.sp-br{ display: inline; }
.lp-plan{background-color: #F0E8E5; padding-bottom: 45px; padding-top: 1px;}
.lp-plan .wrapper{/* width: 100%;  */height: 100%;}
.lp-plan .plan-tit{width: 100%; min-width: 0; display: flex; justify-content: center; align-items: center; position: relative; gap: 1em; font-size: 35px; margin-top: 40px; padding-top: 10px; padding-bottom: 18px; letter-spacing: 0.1em; padding-left: 10px; background-color: #F8F6F4; color: #665b56;}
.plan-tit .subtitle{white-space: nowrap; font-size: 0.75em;}
.plan-tit::before{content: ""; position: absolute; top: 10px; right: -5px; width: 5px; height: calc(100% - 10px + 5px); background-color:#C7A499;}
.shadow-bottom {position: absolute; bottom: -5px; left: 10px; width: calc(100% - 10px + 5px); height: 5px; background-color:#C7A499; z-index: 0; pointer-events: none;}
/* .plan-tit::after{content: ""; flex-grow: 1; height: 1px; background-color: #C7A499; margin-right: 1em;} */
.plan-wrapper{margin-top: 40px; background-color: #F8F6F4; box-sizing: border-box; padding: 20px;}
.plan-wrap-tit{font-size: 28px; color: #665b56; display: inline-block; border-bottom: solid 1.5px #C7A499 ; padding: 3px 5% 10px 1.5%; letter-spacing: 0.2rem; color: #8E7C74; margin-bottom: 30px;}
.plan-wrap-tit .subtitle{font-size: 0.75em;}
.plan-wrap-tit-under{padding: 0 0 30px 5px; margin-top: -20px;}
.plan-column{display: flex; justify-content: space-between; align-items: flex-start; width: 95%; margin: 0 auto; flex-direction: column; padding-bottom: 0;}
.plan-column .left{width: 100%; margin-top: 20px;}
.plan-column .left p{ font-size: 1em; padding-top: 10px; display: inline-block; max-width: 100%; letter-spacing: 0.1em; line-height: 1.8; padding: 0 10px; margin-top: 20px; margin-bottom: 0;}
.plan-column .right{width: 100%; text-align: right; margin-top: 30px; margin-bottom: 80px;}
.plan-column .right .yen span{font-size: 1.4rem;}
.plan-column .right .yen{font-size: 1.75rem; letter-spacing: 0.1em; color: #8E7C74; margin-top: -5px;}
.plan-column .right .otoiawase{font-size: 1.25rem; white-space: nowrap; margin-top: 0;}
.plan-menu-list{display: flex; align-items: center; font-size: 1.1rem; letter-spacing: 0.1em; padding-left: 5px; background-color: #F8F6F4; color: #8E7C74; margin-bottom: 20px; line-height: 1.5;}
.plan-menu-list::after{content: ""; flex-grow: 1; height: 1px; background-color: #C7A499; margin-right: 1em; margin-left: 1em;}
.main-title-wrap{width: 90%; margin: 0 auto;}
/* footer */
footer .ev-footer-inner{height: 1215px;}
footer .ev-footer-link-wrapper{margin-top: 60px; width: 95%;}
footer .ev-nav-list{text-align: center; white-space: nowrap;}
footer .ev-nav-list .ev-nav-link{padding: 20px 0; white-space: nowrap;}
footer .ev-nav-list .ev-nav-link a{ white-space: nowrap;}
footer .ev-nav-list .ev-nav-link.ev-nav-link-reserv{background-color: rgba(0, 0, 0, 0); color: #fff; margin-top: 0px !important;}
footer .ev-nav-list .ev-nav-link .ev-nav-list2{display: flex; justify-content: center; margin-top: 25px;}
footer .ev-footer-inner .ev-footer-about-inner{position: absolute; top: 750px;}
footer .ev-nav-list1-2 .ev-nav-list2{flex-wrap: wrap;}


/* =========================
   Tablet layout (520px–959px)
   slogan on top / cards swipe
========================= */
.ev-slogan.is-inview{z-index: 1;}
/* タイトル（すでにOK） */
.ev-slogan__content{position: absolute; left: 0; right: 0; top: 100px; height: auto; z-index: 4; display: flex; justify-content: center; align-items: flex-start; padding: 0 24px; pointer-events: none;}
.ev-slogan__catch{ margin: 0; text-align: center; }
.ev-slogan{ overflow: hidden; }

/* 横スワイプ本体 */
.ev-slogan__float{position: absolute; inset: 0; z-index: 3; display: flex; align-items: center; gap: 16px; padding: 0 24px; overflow-x: auto; overflow-y: visible; -webkit-overflow-scrolling: touch; scroll-snap-type: none; cursor: grab;}
.ev-slogan__float:active{ cursor: grabbing; } /* ★追加（任意） */

/* スクロールバー控えめ（任意） */
.ev-slogan__float::-webkit-scrollbar{ height: 6px; }
.ev-slogan__float::-webkit-scrollbar-thumb{background: rgba(0,0,0,.18); border-radius: 999px;}

/* カード */
.ev-slogan__card{position: relative; left: auto; top: auto; flex: 0 0 clamp(180px, 32vw, 280px); width: auto; aspect-ratio: 2 / 3; margin: 0; opacity: 0; transform: translateY(18px) rotate(var(--r)) scale(.98); filter: blur(8px);}
.ev-slogan.is-inview .ev-slogan__card{opacity: 1; transform: translateY(0) rotate(var(--r)) scale(1); filter: blur(0);}

/* タブレットはhover誤反応抑制（任意） */
.ev-slogan.is-inview .ev-slogan__card:hover{transform: translateY(0) rotate(var(--r)) scale(1);}

/* 文字を常時表示 */
.ev-slogan__cardLabel{opacity: 1; transform: translateY(0); filter: blur(0);}
.ev-slogan__cardVText{opacity: 1; filter: blur(0); transform: translate(-50%, -50%);}

/* スワイプヒントはスクロールしない親に付ける */
.ev-slogan{position: relative;}

/* 右端に固定の ↔（スクロールしても動かない） */
.ev-slogan::after{content: "↔"; position: absolute; right: 10px; top: 50%; transform: translateY(-50%); z-index: 6; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 999px; background: rgba(0,0,0,.25); color: #fff; font-size: 16px; pointer-events: none; opacity: .9;}

/* 右側のフェードも固定（スクロールしても動かない） */
.ev-slogan::before{content: ""; position: absolute; right: 0; top: 0; bottom: 0; width: 56px; z-index: 5; pointer-events: none; background: linear-gradient(to left, rgba(0,0,0,.10), rgba(0,0,0,0));}
.ev-slogan__cardLink{touch-action: pan-x;}
.ev-slogan__cardVText{font-size: clamp(18px, 4.5vw, 40px);}
.ev-modal__panel{width: min(520px, calc(100% - 53px)) !important;}

/* MAP */
.ev-map{width: 95% !important; min-width: auto;}
.ev-mvOverlay__guide{font-size: 13px;}

/* g-menu-section */
.ev-g-menu{margin-left: -20px;}
.ground-menu-inner{width: 95%;}
/* 親：重ね前提を解除 */
.g-manu-img-wrapper{display: block; position: static;}
/* 画像：形・サイズ・切り抜き解除 */
.g-manu-img-wrapper .g-menu-img{width: 100%; aspect-ratio: auto; height: auto; clip-path: none; object-fit: cover; height: 200px;}

/* 2枚目のズラし・重ねを完全解除 */
.g-manu-img-wrapper .g-menu-img:nth-child(2){position: static; top: auto; left: auto; z-index: auto;}
/* === h2（縦書き関連）を全リセット === */
.ev-g-menu-inner-tit{writing-mode: horizontal-tb; text-orientation: mixed; will-change: auto; display: block; inline-size: auto; margin-left: 0; margin-right: 0; text-align: left; padding: 0;}
.g-manu-txt-wrap-h3{padding: 0;}

/* 2・4（元が右寄せだったなら右寄せに戻す） */
.hearing-inner-tit,
.taste-inner-tit{text-align: left;}

/* 1・3・5は左寄せのまま */
.sight-inner-tit,
.smell-inner-tit,
.touch-inner-tit{text-align: left;}
.g-manu-img-wrapper{width: 50%; z-index: 1;}
.g-manu-img-wrapper2{margin-right: 20px;}
.g-manu-img-wrapper4{margin-right: 20px;}

/* about-table */
.facility-table,
.facility-table th{text-align: left !important;}
.facility-table,
.facility-table tbody,
.facility-table tr,
.facility-table th,
.facility-table td {display: block; width: 100%;}

/* 行ごとの余白 */
.facility-table tr {margin-bottom: 1.5em;}

/* 施設名（rowgroup） */
.facility-table th[scope="rowgroup"] {font-weight: 600; margin-bottom: 0.5em;}

/* 項目名 */
.facility-table th[scope="row"] {font-size: 0.9em; color: #aaaaaa; margin-bottom: 0.25em;}

/* データ（C列想定） */
.facility-table td {margin-bottom: 0.75em; word-break: break-word; white-space: normal;}

/* 使っていない D〜J列は非表示 */
.facility-table td:nth-child(n+4) {display: none;}

/* 施設ごとの区切りを少し強調 */
.facility-table tr:first-child th,
.facility-table tr:first-child td {border-top: none;}
.logo-th{border-bottom: none !important; margin-top: 100px; padding-top: 45px !important; padding-bottom: 45px !important;}
.logo-th.logo-th1{margin-top: -25px;}
/* B列（項目名）の右側に薄い縦線 */
.facility-table th[scope="row"] {border-right: none;}

/* ロゴサイズ（小さめ・上品） */
.facility-cell img {max-width: 150px; height: auto;}

/* about */
/* テーブル右端に薄い縦線 */
.facility-table {border-right: none;}

/* contact */
/* .contact .ev-contact .contact-inner .mfp_rows textarea{width: 80% !important; min-width: 80% !important;} */
.contact .ev-contact .contact-inner form#mailformpro dl dt{padding: 5px 5px 5px 20px !important;}
.contact .ev-contact .contact-inner{width: 100%;}
.contact .ev-contact .contact-inner .mailform{ padding: 75px 40px;}

/* faq */
.ev-faq-inner{box-sizing: border-box; width: min(950px, 98vw);}
}













































































@media (max-width: 519px) {
.spno {display: none !important;}
/* /* MV */
.ev-mv2 .ev-mv2__content{position: absolute !important; bottom: 15% !important; top: auto !important;}
.ev-mv2-logo-Images{margin: 0 0 20px 0;}
.ev-mv2-tit{position: static;}
.ev-mv2-logo-title{position: absolute; width: 82vw; z-index: 4; left: 50%; right: auto; top: 20%; transform: translateX(-50%) rotate(-3deg); transform-origin: center;}

/* MV-2 */
.ev-mv2-logo-Images{display: block; max-width: 55%; margin: 0 0 0 0;}
.ev-mv2-tit{font-size: 2rem; white-space: nowrap; line-height: 1.4;}
.big-txt{font-size: 3.2rem;}

/* nav */
header nav .ev-nav-list{display: block;}
.sp-menu-icon{width: 50%; display: block; margin: 0 auto 30px auto;}
header #navArea nav .inner .sp-menu-title{text-align: center; margin-bottom: 40px; color: #28998B; font-weight: bold;}
.ev-nav-list .ev-nav-link{padding: 0;}
.ev-nav-link.ev-nav-link-reserv{color: #333; background-color: #fff; padding: 0; border-radius: 0px; margin-left: 0;}
.map-page .ev-mv{background-color: #357C44; padding: 52px 0 0 0;}

/* TOP-MAP-btn */
.map-btm-container{margin-top: 50px;}

/* ev-concept */
.ev-concept-title{text-align: center; font-size: 30px; padding: 60px 0 1px 0;}
.ev-concept-about-wrapper{width: 100%; display: flex; justify-content: center; padding: 75px 15px; flex-direction: column-reverse; box-sizing: border-box;}
.concept-about-flex.concept-about-left{margin-top: 10px; width: 100%; margin-right: 0; text-align: center;}
.concept-about-left-txt{margin-bottom: 2.4em; line-height: 1.8; letter-spacing: 0.05em; text-align: right; font-family: "Zen Old Mincho", serif; font-weight: 400; font-style: normal;}
.concept-about-flex.concept-about-right{width: 100%; margin-left: 0; height: 26rem;}
.concept-about-flex.concept-about-left .concept-about-left-txt{text-align: left; font-size: max(17px,3vw);}
.concept-about-right-img-inner{width: 98%; margin: 0 auto; height: 40vh;}

/* 鳥 */
.ev-concept-bird.is-bird1, .ev-concept-bird.is-bird3{z-index: 2;}

/*  */
/* g-menu-section */
.ground-menu{background-size: inherit; background-repeat: repeat-y}
.ev-g-menu{margin-left: -20px;}
.ground-menu-inner{width: 100%; position: relative;}
.ev-g-menu-inner-tit{margin-top: 0;}
/* 親：重ね前提を解除 */
.g-manu-img-wrapper{display: block; position: static;}
/* 画像：形・サイズ・切り抜き解除 */
.g-manu-img-wrapper .g-menu-img{width: 100%; aspect-ratio: auto; height: auto; clip-path: none; object-fit: cover; height: 200px;}

/* 2枚目のズラし・重ねを完全解除 */
.g-manu-img-wrapper .g-menu-img:nth-child(2){position: static; top: auto; left: auto; z-index: auto;}
/* === h2（縦書き関連）を全リセット === */
.ev-g-menu-inner-tit{writing-mode: horizontal-tb; text-orientation: mixed; will-change: auto; display: block; inline-size: auto; margin-left: 0; margin-right: 0; text-align: left; padding: 0; margin: 10px 0;}
.g-manu-txt-wrap-h3{padding: 0;}

/* 2・4（元が右寄せだったなら右寄せに戻す） */
.hearing-inner-tit,
.taste-inner-tit{text-align: left;}

/* 1・3・5は左寄せのまま */
.sight-inner-tit,
.smell-inner-tit,
.touch-inner-tit{text-align: left;}
.g-manu-img-wrapper{width: 50%;}
.g-manu-img-wrapper2{margin-right: 20px;}
.g-manu-img-wrapper4{margin-right: 20px;}
.g-manu-img-w-wrapper{display: block;}
.g-manu-img-wrapper{width: 95%; margin: 0 auto;}
.g-manu-txt-wrapper{width: 95%; margin: 0 auto;}
.ground-menu::before{z-index: 1;}

/* massage */
.massage-menu-wrapper{width: 95%; background-color: #F8F6F4; margin: 0 auto;}
.massage-wrapper{display: flex; justify-content: center; align-items: flex-start; gap: 24px; flex-wrap: wrap;}
.massage-h3-title{flex: initial; max-width: none;}
.massage-image-contain1{flex: auto;}
.massage-h3-title{ transform: translateY(0px); font-size: 20px;}
.massage-image-contain1{ transform: translateY(28px); }
.massage-image-contain2{flex: 0 1 700px;}
.massage-h3-title{ transform: translateY(0px); padding: 0 30px;}
.massage-h3-title2{padding: 0 30px;}
.massage-image-contain2{ transform: translateY(28px); }
.massage-txt1{color: #E2D9D4; font-size: 21vw; position: absolute; top: 39rem; opacity: 0.4;}
.massage-image-contain{ min-width: auto;}

/* yoga */
.yoga-menu-wrapper{width: 95%; background-color: #F8F6F4; margin: 0 auto;}
.yoga-wrapper{display: flex; justify-content: center; align-items: flex-start; gap: 24px; flex-wrap: wrap;}
.yoga-h3-title{flex: initial; max-width: none;}
.yoga-image-contain1{flex: auto;}
.yoga-h3-title{ transform: translateY(0px); font-size: 20px;}
.yoga-image-contain1{ transform: translateY(28px); }
.yoga-image-contain2{flex: 0 1 700px;}
.yoga-h3-title{ transform: translateY(0px); padding: 0 30px;}
.yoga-h3-title2{padding: 0 30px;}
.yoga-image-contain2{ transform: translateY(28px); }
.yoga-txt1{color: #E2D9D4; font-size: 21vw; position: absolute; top: 39rem; opacity: 0.4;}
.yoga-image-contain{ min-width: auto;}

/* divination */
.divination-menu-wrapper{width: 95%; background-color: #F8F6F4; margin: 0 auto;}
.divination-wrapper{display: flex; justify-content: center; align-items: flex-start; gap: 24px; flex-wrap: wrap;}
.divination-h3-title{flex: initial; max-width: none;}
.divination-image-contain1{flex: auto;}
.divination-h3-title{ transform: translateY(0px); font-size: 20px;}
.divination-image-contain1{ transform: translateY(28px); }
.divination-image-contain2{flex: 0 1 700px;}
.divination-h3-title{ transform: translateY(0px); padding: 0 30px;}
.divination-h3-title2{padding: 0 30px;}
.divination-image-contain2{ transform: translateY(28px); }
.divination-txt1{color: #E2D9D4; font-size: 21vw; position: absolute; top: 39rem; opacity: 0.4;}
.divination-image-contain{ min-width: auto;}

/* sauna */
.sauna-menu-wrapper{width: 95%; background-color: #F8F6F4; margin: 0 auto;}
.sauna-wrapper{display: flex; justify-content: center; align-items: flex-start; gap: 24px; flex-wrap: wrap;}
.sauna-h3-title{flex: initial; max-width: none;}
.sauna-image-contain1{flex: auto;}
.sauna-h3-title{ transform: translateY(0px); font-size: 20px;}
.sauna-image-contain1{ transform: translateY(28px); }
.sauna-image-contain2{flex: 0 1 700px;}
.sauna-h3-title{ transform: translateY(0px); padding: 0 30px;}
.sauna-h3-title2{padding: 0 30px;}
.sauna-image-contain2{ transform: translateY(28px); }
.sauna-txt1{color: #E2D9D4; font-size: 21vw; position: absolute; top: 39rem; opacity: 0.4;}
.sauna-image-contain{ min-width: auto;}

/* 各紹介 */
.ev-course-txt{padding: 10px 10px;}

/* lp-plan */
.pc-inline{ display: none; }
.sp-br{ display: inline; }
.main-title-wrap{width: 90%; margin: 0 auto;}
.lp-plan{background-color: #F0E8E5; padding-bottom: 45px; padding-top: 1px;}
.lp-plan .wrapper{/* width: 100%;  */height: 100%;}
.lp-plan .plan-tit{width: 100%; min-width: 0; display: flex; justify-content: center; align-items: center; position: relative; gap: 1em; font-size: 6vw; margin-top: 40px; padding-top: 10px; padding-bottom: 18px; letter-spacing: 0.1em; padding-left: 10px; background-color: #F8F6F4; color: #665b56;}
.plan-tit .subtitle{white-space: nowrap; font-size: 0.75em;}
.plan-tit::before{content: ""; position: absolute; top: 10px; right: -5px; width: 5px; height: calc(100% - 10px + 5px); background-color:#C7A499;}
.shadow-bottom {position: absolute; bottom: -5px; left: 10px; width: calc(100% - 10px + 5px); height: 5px; background-color:#C7A499; z-index: 0; pointer-events: none;}
/* .plan-tit::after{content: ""; flex-grow: 1; height: 1px; background-color: #C7A499; margin-right: 1em;} */
.plan-wrapper{margin-top: 40px; background-color: #F8F6F4; box-sizing: border-box; padding: 20px;}
.plan-wrap-tit{font-size: 6vw; color: #665b56; display: inline-block; border-bottom: solid 1.5px #C7A499 ; padding: 3px 5% 10px 1.5%; letter-spacing: 0.2rem; color: #8E7C74; margin-bottom: 30px;}
.plan-wrap-tit .subtitle{font-size: 0.75em;}
.plan-wrap-tit-under{padding: 0 0 30px 5px; margin-top: -20px;}
.plan-column{display: flex; justify-content: space-between; align-items: flex-start; width: 95%; margin: 0 auto; flex-direction: column; padding-bottom: 0;}
.plan-column .left{width: 100%;}
.plan-column .left p{ font-size: 1em; padding-top: 10px; display: inline-block; max-width: 100%; letter-spacing: 0.1em; line-height: 1.8; padding: 0 10px;}
.plan-column .right{width: 100%; text-align: right; margin-top: 30px; margin-bottom: 80px;}
.plan-column .right .yen span{font-size: 1.4rem;}
.plan-column .right .yen{font-size: 1.75rem; letter-spacing: 0.1em; color: #8E7C74; margin-top: -5px;}
.plan-column .right .otoiawase{font-size: 1.25rem; white-space: nowrap; margin-top: 0;}
.plan-menu-list{display: flex; align-items: center; font-size: 1.1rem; letter-spacing: 0.1em; padding-left: 5px; background-color: #F8F6F4; color: #8E7C74; line-height: 1.5;}
.plan-menu-list::after{content: ""; flex-grow: 1; height: 1px; background-color: #C7A499; margin-right: 1em; margin-left: 1em;}
.main-title-wrap{width: 90%; margin: 0 auto;}
.plan-column .left p{margin-bottom: 0; margin-top: 20px;}
.plan-menu-list::after{display: none;}
.plan-image-tit-wrapper{padding-top: 20px;}
.lp-plan .wrapper .plan-wrapper .plan-column .left .plan-image-tit-wrapper .instructor-img{width: 90px;}

/* sp-form共通 */
.mfp_ticket_wrapper{margin-left: -35px !important;}

/* footer */
footer .ev-footer-inner{height: 1605px;}
footer .ev-footer-link-wrapper{margin-top: 60px; width: 95%;}
footer .ev-nav-list{ text-align: center; margin-bottom: 30px !important;}
footer .ev-nav-list .ev-nav-link{padding: 20px 0;}
footer .ev-nav-list .ev-nav-link.ev-nav-link-reserv{background-color: rgba(0, 0, 0, 0); color: #fff; margin-top: 0px !important;}
footer .ev-nav-list .ev-nav-link .ev-nav-list2{display: flex; justify-content: center; margin-top: 25px; flex-wrap: wrap;}
footer .ev-footer-inner .ev-footer-about-inner{position: absolute; top: 1175px;}
footer .zen-old-mincho-regular.ev-nav-list{display: flex; justify-content: center; flex-wrap: wrap;}
footer .footet-presents{color: #fff; position: absolute; top: 450px; left: 50%; transform: translateX(-50%);}
footer .footet-presents .company-wrapper{display: flex; justify-content: center; gap: 5px; width: 95vw; flex-direction: column;}
footer .footet-presents .company{font-size: 14px; width: 100%; margin-bottom: 35px;}
footer .footet-presents .company .company-img{height: 150px;}
footer .footet-presents .company .company-img img{width: 130px;}

/* =========================
   Tablet layout (520px–959px)
   slogan on top / cards swipe
========================= */
.ev-slogan.is-inview{z-index: 1;}
/* タイトル（すでにOK） */
.ev-slogan__content{position: absolute; left: 0; right: 0; top: 100px; height: auto; z-index: 4; display: flex; justify-content: center; align-items: flex-start; padding: 0 10px; pointer-events: none;}
.ev-slogan__catch{ margin: 0; text-align: center; }
.ev-slogan{ overflow: hidden; }

/* 横スワイプ本体 */
.ev-slogan__float{position: absolute; inset: 0; z-index: 3; display: flex; align-items: center; gap: 16px; padding: 0 24px; overflow-x: auto; overflow-y: visible; -webkit-overflow-scrolling: touch; scroll-snap-type: none; cursor: grab;}
.ev-slogan__float:active{ cursor: grabbing; } /* ★追加（任意） */

/* スクロールバー控えめ（任意） */
.ev-slogan__float::-webkit-scrollbar{ height: 6px; }
.ev-slogan__float::-webkit-scrollbar-thumb{background: rgba(0,0,0,.18); border-radius: 999px;}

/* カード */
.ev-slogan__card{position: relative; left: auto; top: auto; flex: 0 0 clamp(180px, 32vw, 280px); width: auto; aspect-ratio: 2 / 3; margin: 0; opacity: 0; transform: translateY(18px) rotate(var(--r)) scale(.98); filter: blur(8px);}

.ev-slogan.is-inview .ev-slogan__card{opacity: 1; transform: translateY(0) rotate(var(--r)) scale(1); filter: blur(0);}

/* タブレットはhover誤反応抑制（任意） */
.ev-slogan.is-inview .ev-slogan__card:hover{transform: translateY(0) rotate(var(--r)) scale(1);}

/* 文字を常時表示 */
.ev-slogan__cardLabel{opacity: 1; transform: translateY(0); filter: blur(0);}
.ev-slogan__cardVText{opacity: 1; filter: blur(0); transform: translate(-50%, -50%);}

/* スワイプヒントはスクロールしない親に付ける */
.ev-slogan{position: relative;}

/* 右端に固定の ↔（スクロールしても動かない） */
.ev-slogan::after{content: "↔"; position: absolute; right: 10px; top: 50%; transform: translateY(-50%); z-index: 6; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 999px; background: rgba(0,0,0,.25); color: #fff; font-size: 16px; pointer-events: none; opacity: .9;}

/* 右側のフェードも固定（スクロールしても動かない） */
.ev-slogan::before{content: ""; position: absolute; right: 0; top: 0; bottom: 0; width: 56px; z-index: 5; pointer-events: none;
 background: linear-gradient(to left, rgba(0,0,0,.10), rgba(0,0,0,0));}
.ev-slogan__cardLink{touch-action: pan-x;}
.ev-slogan__cardVText{font-size: clamp(30px, 4.5vw, 40px);}
.ev-slogan__card{flex: 0 0 60vw;}
.ev-slogan__float{padding: 0 16px;}
.ev-modal__panel{width: min(520px, calc(100% - 53px)) !important;}

/* MAP */
.ev-map{width: 95% !important;min-width: auto;}
.ev-mvOverlay__guide{font-size: 13px;}

/* paypal-banner */
.paypal-txt{text-align: center; font-size: 12px; padding: 5px 0; line-height: 1.5;}

/* about-table */
.facility-table,
.facility-table th{text-align: left !important;}

.facility-table,
.facility-table tbody,
.facility-table tr,
.facility-table th,
.facility-table td {display: block; width: 100%; line-height: 1.4;}

/* 行ごとの余白 */
.facility-table tr {margin-bottom: 1.5em;}

/* 施設名（rowgroup） */
.facility-table th[scope="rowgroup"] {font-weight: 600; margin-bottom: 0.5em;}

/* 項目名 */
.facility-table th[scope="row"] {font-size: 0.9em; color: #aaaaaa; margin-bottom: 0.25em;}

/* データ（C列想定） */
.facility-table td {margin-bottom: 0.75em; word-break: break-word; white-space: normal;}

/* 使っていない D〜J列は非表示 */
.facility-table td:nth-child(n+4) {display: none;}

/* 施設ごとの区切りを少し強調 */
.facility-table tr:first-child th,
.facility-table tr:first-child td {border-top: none;}
.logo-th{border-bottom: none !important; margin-top: 100px; padding-top: 45px !important; padding-bottom: 45px !important;}
.logo-th.logo-th1{margin-top: -25px;}
/* B列（項目名）の右側に薄い縦線 */
.facility-table th[scope="row"] {border-right: none;}

/* contact */
.contact .ev-contact .contact-inner form#mailformpro dl dt{padding: 5px 5px 5px 20px !important;}
.contact .ev-contact .contact-inner form#mailformpro dl dt{padding: 5px 5px 5px 20px !important;}
.contact .ev-contact .contact-inner{width: 100%;}
.contact .ev-contact .contact-inner .mailform{ padding: 75px 40px;}
.contact-form-guide-list{line-height: 1.4;}
.contact-form-guide-list li{margin: 20px 0;}
.form-guide-wrapper li::before{ top: 0 !important;}
.contact-form-guide-list{padding: 65px 5%;}

/* about */
/* テーブル右端に薄い縦線 */
.facility-table {border-right: none;}

/* faq */
.ev-faq-inner{box-sizing: border-box; width: min(950px, 98vw);}





}











/* 最後 */

/* クリック・ホバーを邪魔する層は完全に透過させる */
.ev-slogan__overlay{pointer-events: none !important;}
/* 中央タイトルは前面、でもクリックは通す */
.ev-slogan__content{position: relative; z-index: 4; pointer-events: none !important;}
/* カード層はクリックできる層として確実に有効化 */
.ev-slogan__float{position: absolute; inset: 0; z-index: 3; pointer-events: auto !important;}
/* 念のため：カードとリンク自体もクリック可能に */
.ev-slogan__card,.ev-slogan__cardLink{pointer-events: auto !important;}
/* =========================
   Touch Modal
========================= */
.ev-modal{position: fixed; inset: 0; z-index: 9999; display: none;}
.ev-modal.is-open{display: block;}
.ev-modal__backdrop{position: absolute; inset: 0; background: rgba(0,0,0,.45); opacity: 0; transition: opacity .25s ease;}
.ev-modal.is-open .ev-modal__backdrop{opacity: 1;}
.ev-modal__panel{position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%) translateY(10px); width: min(520px, calc(100% - 28px)); border-radius: 18px; background: rgba(255,255,255,.92); backdrop-filter: blur(8px); box-shadow: 0 20px 60px rgba(0,0,0,.25); padding: 18px 18px 16px; opacity: 0; transition: opacity .28s ease, transform .28s cubic-bezier(.2,.8,.2,1);}
.ev-modal.is-open .ev-modal__panel{opacity: 1; transform: translate(-50%, -50%) translateY(0);}
.ev-modal__close{position: absolute; right: 12px; top: 10px; width: 40px; height: 40px; border: 0; background: transparent; font-size: 24px; line-height: 1; cursor: pointer;}
.ev-modal__title{margin: 8px 0 6px; font-size: clamp(18px, 2.2vw, 24px); letter-spacing: .06em;}
.ev-modal__lead{margin: 0 0 14px; font-size: 13px; opacity: .85;}
.ev-modal__actions{display: grid; gap: 10px;}
.ev-modal__btn{display: block; text-align: center; padding: 12px 14px; border-radius: 14px; text-decoration: none; color: #fff; background: rgba(0,0,0,.75); transition: transform .18s ease, opacity .18s ease;}
.ev-modal__btn:hover{transform: translateY(-2px); opacity: .95;}
/* モーダル表示中は背景スクロール停止 */
body.ev-modal-lock{overflow: hidden;}
.ev-slogan__cardLink[data-modal]::after{content: "選択"; position: absolute; right: 10px; top: 10px; padding: 6px 10px; border-radius: 999px; font-size: 12px; letter-spacing: .06em; background: rgba(0,0,0,.45); color: #fff; backdrop-filter: blur(2px);}
.ev-slogan-bottom-image{ pointer-events: none; }


