@charset "UTF-8";
/*
Theme Name: Emanon Business
Theme URI: https://wp-emanon.jp
Author: 株式会社イノ・コード
Author URI: https://innocord.co.jp/
Description: Emanon BusinessはEmanon Pro専用の子テーマです。Emanon Proの機能に加え、フロントページのデザイン機能を拡張しています。Emanon Pro本体がインストールされていないと動作しませんのでご注意ください。
Template: emanon-pro
Text Domain: emanon
Version: 2.0.8
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: one-column, two-columns, three-columns, left-sidebar, right-sidebar, theme-options

Emanon Business用のスタイルを以下に記述
カスタマイズ機能のCSS圧縮をオンにしている場合、オフに切り替えてからスタイルを追加し、その後、再度CSS圧縮をオンにしてください。
*/

/* ▼ アコーディオンの表示スタイル ここから ▼ */
.accordion-news {
  max-width: 800px;
  margin-bottom: 12px;
  border-bottom: 2px solid #fabe00;
  background: #fff;
}

.accordion-news summary {
  position: relative;
  padding: 0.5em;
  cursor: pointer;
  display: block;
}

.accordion-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1em;
}

.news-date {
  font-size: 12px;
  color: #999;
  white-space: nowrap;
  min-width: 100px;
}

.news-title a {
  font-weight: bold;
  color: #333;
  text-decoration: none;
}

.news-title a:hover {
  text-decoration: underline;
}

/* アコーディオンアイコン（＋／−） */
.accordion-news summary::before,
.accordion-news summary::after {
  content: '';
  position: absolute;
  width: 2px;
  height: 14px;
  background-color: #333;
  top: 50%;
  right: 1em;
  transform: translateY(-50%);
}

.accordion-news summary::after {
  transform: translateY(-50%) rotate(90deg);
}

.accordion-news[open] summary::before {
  display: none;
}

.accordion-news[open] summary::after {
  transform: translateY(-50%) rotate(0deg);
}

/* アコーディオン展開時の本文 */
.accordion-content {
  transform: translateY(-10px);
  opacity: 0;
  margin: 0;
  padding: 0.5em 1em 1em;
  color: #333;
  line-height: 1.4;
  transition: transform 0.5s ease, opacity 0.5s ease;
}

.accordion-news[open] .accordion-content {
  transform: none;
  opacity: 1;
}
/* ▲ アコーディオンの表示スタイル ここまで ▲ */

/* 周辺観光情報CSS */
.shop-info-portal * { box-sizing: border-box; }
.shop-info-portal { margin: 12px 0 32px; }

/* 丸ボタン */
.sip-nav { list-style:none; display:flex; flex-wrap:wrap; gap:16px; padding:0; margin:0 0 20px; }
.sip-nav li { width:112px; text-align:center; cursor:pointer; user-select:none; }
.sip-nav li figure { width:72px; height:72px; margin:0 auto 6px; border-radius:50%; background:#fff; display:grid; place-items:center; border:2px solid #eee; }
.sip-nav li span { display:block; font-weight:700; font-size:.95rem; }
.sip-nav li.-active figure { border-color:#f39c12; }
/* ── まずはモバイル優先（SP表示／PC非表示） ── */
.shop-info-portal .pc { display: none !important; }
.shop-info-portal .sp { display: inline !important; }
/* ── 768px以上でPC表示／SP非表示に切替 ── */
@media (min-width: 1024px) {
  .shop-info-portal .pc { display: inline !important; }
  .shop-info-portal .sp { display: none !important; }
	
/* 〇ボタンの外側(li)には枠を付けない */
.shop-info-portal .sip-nav li {
  border: none !important;          /* ← 外側の余計な円を消す */
  box-shadow: none !important;
  background-image: none !important;
}
	
/* アクティブ時の色 */
.shop-info-portal .sip-nav li.-active figure {
  border-color: #f39c12 !important;
}
	
/* 本体の円は figure にだけ均一な枠を付ける */
.shop-info-portal .sip-nav li figure {
  border: 2px solid #ccc !important;  /* 均一な円枠 */
  border-radius: 50% !important;
}
	
/* 丸ボタンを中央に */
.shop-info-portal .sip-nav{
  display:flex;
  justify-content:center;   /* 中央寄せ */
  gap: 40px;                /* ボタン間の余白 */
  margin: 10px auto 30px;
  padding: 0;
}
.shop-info-portal .sip-nav li{ list-style:none; cursor:pointer; text-align:center; }

/* パネル切替 */
.sip-pane { display:none; }
.sip-pane.-active { display:block; }

/* ====== 汎用カード ====== */
.sip-card{background:#fff;border:1px solid #eee;border-radius:10px;overflow:hidden;display:flex;flex-direction:column}
.sip-card .thumb{position:relative}
.sip-card .thumb img{width:100%;height:auto;display:block}
.sip-card .thumb .chip{position:absolute;top:10px;right:10px;padding:.25em .6em;border-radius:999px;font-size:.8rem;color:#fff}
.sip-card .thumb .chip.-food{background:#d35400}
.sip-card .thumb .chip.-play{background:#2980b9}
.sip-card .thumb .chip.-around{background:#16a085}
.sip-card .body{padding:14px}
.sip-card .title{margin:0 0 8px;font-size:1.05rem;font-weight:700}
.sip-card .meta{list-style:none;margin:6px 0 10px;padding:0}
.sip-card .meta li{display:flex;gap:.5em;line-height:1.6}
.sip-card .meta .maplink{margin-left:.5em;font-size:.9em;text-decoration:underline}
.sip-card .cta a{display:inline-block;text-decoration:none;background:#9aa5b1;color:#fff;padding:.55em 1.1em;border-radius:6px}
.sip-empty{color:#666}

/* ====== コンテナ（PC幅） ====== */
.shop-info-portal{max-width:1200px;margin:0 auto;padding:0 40px}

/* ====== 観光カード：共通（PC基準） ====== */
.detailInfoItem{
  position:relative;display:flex;flex-direction:column;height:100%;
  background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.06);padding:16px;
}

/* タイトル行 */
.detailInfoItem>dt{
  display:block;margin:0 0 .6em;line-height:1.4;
  padding-right:6.5em;font-weight:700;font-size:1.08rem;
  white-space:normal;overflow-wrap:break-word;word-break:normal;
}

/* 右上バッジ */
.detailInfoItem .sip-cat-badge{
  position:absolute;top:8px;right:8px;z-index:2;display:inline-block;
  font-size:.75rem;line-height:1;padding:.35em .55em;border-radius:999px;color:#fff;white-space:nowrap;
}
.sip-cat-badge.-play{background:#6aa84f}
.sip-cat-badge.-food{background:#e69138}
.sip-cat-badge.-around{background:#7f8c8d}

/* 画像（4:3でトリミング） */
.detailInfoItem figure{position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;background:#f5f5f5;margin:0 0 12px}
.detailInfoItem figure img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}

/* 住所/TEL（アイコン横並び） */
.detailInfoItem .infoMapInner{display:flex;align-items:flex-start;gap:8px}
.detailInfoItem .iconMap{display:inline-flex;justify-content:center;align-items:center;width:32px;height:32px;flex:0 0 32px;background:transparent;border:0;box-shadow:none}
.detailInfoItem .iconMap img{width:100%;height:100%;object-fit:contain;display:block}
.detailInfoItem .infoText{display:flex;flex-direction:column;gap:4px;line-height:1.4}
.detailInfoItem .infoAddress{margin:0;font-size:.9rem;color:#333}
.detailInfoItem .infoTel{margin:0 0 4px;font-size:1.05rem;font-weight:700;color:#000;line-height:1.3}
.infoTel a{color:inherit;text-decoration:none}

/* ▼ 営業時間ブロック：線は出さない（間隔だけ） */
.detailInfoItem .infoMap{padding-bottom:0;margin-bottom:8px;box-shadow:none}

/* ▼ 距離情報だけ上下に線を引く */
.detailInfoItem .accessMap{
  margin:8px 0;                 /* 線の外側の余白 */
  padding:6px 0;                /* 線の内側の余白 */
  box-shadow:
    inset 0  1px 0 0 #999,      /* 上線 */
    inset 0 -1px 0 0 #999;      /* 下線 */
  clear:both;
}

/* 説明文 */
.detailInfoItem .textMap{margin:0 0 16px;line-height:1.6}

/* 施設HPボタン（色・見た目固定） */
.detailInfoItem a.linkBtn:not(.iconMap),
.detailInfoItem a.linkBtn:not(.iconMap):link,
.detailInfoItem a.linkBtn:not(.iconMap):visited{
  background:#fabe00;color:#421100;border:1px solid #e0a800;
  text-decoration:none;font-weight:700;line-height:1.2;
  padding:12px 16px;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.15);
}
.detailInfoItem a.linkBtn:not(.iconMap):hover,
.detailInfoItem a.linkBtn:not(.iconMap):focus-visible{
  background:#e0a800;color:#fff;border-color:#cf9800;
  outline:2px solid rgba(0,0,0,.15);outline-offset:2px;
}
.detailInfoItem a.linkBtn:not(.iconMap) *{color:inherit;text-decoration:inherit}

/* 地図アイコンはボタン化させない */
.detailInfoItem a.linkBtn.iconMap{
  background:transparent!important;color:inherit!important;border:0!important;
  box-shadow:none!important;padding:0!important;width:auto!important;margin:0!important;
}

/* ==== PC(>=769px)：カード等高化＋ボタン最下部・中央固定 ==== */
@media (min-width: 769px){
  /* 行内アイテムを同じ高さに */
  #shop-info-portal .sip-grid{
    align-items: stretch !important;
  }
  #shop-info-portal .sip-grid > *{
    height: 100% !important;
  }

  /* カード本体は縦フレックスで全高を使用 */
  #shop-info-portal dl.detailInfoItem{
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
  }

  /* 本文ラッパー：子要素間に一定の行間を付ける（ボタン直前にも効く） */
  #shop-info-portal dl.detailInfoItem > dd{
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    gap: 16px !important; 
  }

  /* 中身（画像・情報・詳細）は伸びない通常ブロック */
  #shop-info-portal dl.detailInfoItem > dd > figure,
  #shop-info-portal dl.detailInfoItem > dd > .mapWrap,
  #shop-info-portal dl.detailInfoItem > dd > .textMap{
    flex: 0 0 auto !important;
  }
  /* 詳細テキストとボタンの間に少しだけ余白 */
  #shop-info-portal dl.detailInfoItem > dd > .textMap{
    margin-bottom: 16px !important;
  }

  /* ボタン：余りスペースで最下部へ＆中央寄せ
     （モバイル由来の width:100% を打ち消す） */
  #shop-info-portal dl.detailInfoItem > dd > .linkBtn{
    margin-top: auto !important;
    align-self: center !important;
    display: inline-block !important;
    width: auto !important;
  }
}

/* ====== グリッド（PC） ====== */
#shop-info-portal .sip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}

/* ====== イベント欄（PC）：上に太い黄色線（既存デザインを維持） ====== */
#shop-info-portal .sip-pane.-event .eventBox{
  display:grid;grid-template-columns:70px 1fr;column-gap:12px;
  --line-h:3px;align-items:start;
  background:linear-gradient(#fabe00,#fabe00) 0 0/100% var(--line-h) no-repeat;
  padding:10px 0 12px;
  padding-top:calc(var(--line-h) + 10px);
}
#shop-info-portal .sip-pane.-event .month-badge{
  position:static;margin:0;border:0;background:none;background-image:none;box-shadow:none;align-self:start
}
#shop-info-portal .sip-pane.-event .month-badge::before,
#shop-info-portal .sip-pane.-event .month-badge::after{content:none}
#shop-info-portal .sip-pane.-event .eventBoxCont{padding-top:0;margin-top:0;border-top:0;display:grid;row-gap:12px}

/* 保険：float解除 */
.detailInfoItem .infoHours,
.detailInfoItem .accessMap{clear:both!important}

#shop-info-portal .sip-grid > .is-hidden,
.shop-info-portal   .sip-grid > .is-hidden,
#shop-info-portal .detailInfoItem.is-hidden,
.shop-info-portal   .detailInfoItem.is-hidden { display:none !important; }

/* 丸ボタンクリックしやすく */
.sip-nav li { cursor: pointer; }
	
/* 観光地詳細：行間を少しだけ詰める（PC/SP共通） */
#shop-info-portal .detailInfoItem .textMap,
.shop-info-portal   .detailInfoItem .textMap{
  line-height: 1.2 !important; /* 既存は1.6 → 少しだけタイトに */
}

	/* イベント見出し */
#shop-info-portal .sip-pane.-event .eventHeading,
.shop-info-portal   .sip-pane.-event .eventHeading{
  font-weight: 800;
  font-size: 1.35rem;
  line-height: 1.3;
  margin: 0 0 14px;     /* 見出しと最初のイベントの間隔 */
}

/* SP微調整 */
@media (max-width: 768px){
  #shop-info-portal .sip-pane.-event .eventHeading,
  .shop-info-portal   .sip-pane.-event .eventHeading{
    font-size: 1.18rem;
    margin-bottom: 12px;
  }
}

/* イベントタイトルを太字に（サイズは触らない） */
#shop-info-portal .sip-pane.-event .eventRow dt,
.shop-info-portal   .sip-pane.-event .eventRow dt,
#shop-info-portal .sip-pane.-event .eventRow > *:first-child,
.shop-info-portal   .sip-pane.-event .eventRow > *:first-child{
  font-weight: 700 !important; /* サイズは継承のまま */
}
