@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: temstech
Author URI: https://tems-tech.com/
Template:   cocoon-master
Version:    1.1.3
*/

/* ==============================================
   1. 共通設定（ベース・ヘッダー・メニューなど）
   ============================================== */
body { background-color: #faf8f5; }
.sidebar { padding: 50px 20px 0; }
.main, .sidebar, .content { background-color: transparent !important; }
.main { padding: 0; }
.content { margin-top: 10px; }
#go-to-top { display: none !important; }
#content-in { max-width: 1400px !important; width: 100% !important; flex-wrap: nowrap; }

/* ヘッダー＆メニューを「オレンジの1つの帯」に統一 */
#header-container { background-color: #E4820B !important; box-shadow: 0 3px 6px rgba(0,0,0,0.15) !important; position: relative !important; z-index: 99 !important; }
.header { background-color: #E4820B !important; box-shadow: none !important; }
.logo-header { background-color: transparent !important; text-align: left !important; padding: 0 !important; }
.header-container-in.hlt-top-menu .logo-header img { max-height: 55px; }
.navi { background-color: transparent !important; }
.navi-in > ul li { width: auto; padding: 0 15px 0 5px; position: relative !important; }
.navi-in a { color: #ffffff !important; font-size: 14px; font-weight: bold !important; padding: 15px 15px !important; }
.navi-in a:hover { background-color: transparent !important; }
.navi-in > ul .caption-wrap > div { color: #383839; transition: color 0.3s ease; line-height: 18px; }
.navi-in > ul a:hover .caption-wrap > div { color: #ffffff; }
/*.navi-in > ul > li:not(:last-child)::after { content: "｜" !important; color: rgba(255, 255, 255, 1) !important; position: absolute; right: -2px; top: 50%; transform: translateY(-50%); font-weight: bold !important; pointer-events: none; }*/

/* ネイビーの共通見出し帯 */
.navy-heading { background: #1c2b4d; color: #fff; padding: 12px 20px; font-size: 1.15rem; font-weight: bold; margin: 0; display: flex; justify-content: space-between; align-items: center; border-radius: 8px 8px 0 0; }

/* ページトップボタン */
.page-top-wrapper { position: fixed; bottom: 40px; right: 40px; z-index: 9999 !important; opacity: 0; visibility: hidden; transition: opacity 0.3s ease, visibility 0.3s ease; }
.page-top-wrapper.is-show { opacity: 1; visibility: visible; }
.page-top-wrapper img { width: 120px; height: auto; transition: 0.3s; }
.page-top-wrapper:hover img { transform: translateY(-5px); }

/* メインタイトル一括管理エリア（固定ページ・投稿・アーカイブ共通） */
.article-header .entry-title, .archive-title { background: transparent !important; color: #383839 !important; text-align: center !important; padding: 0 0 15px 0 !important; font-size: 1.6rem !important; font-weight: bold !important; margin-top: 40px !important; margin-bottom: 40px !important; border: none !important; position: relative !important; display: block !important; }
.article-header .entry-title::after, .archive-title::after { content: "" !important; position: absolute !important; bottom: 0 !important; left: 50% !important; transform: translateX(-50%) !important; width: 120px !important; height: 3px !important; background-color: #383839 !important; }

/* ==============================================
   2. トップページ専用（余白リセット・アラート・FV）
   ============================================== */
.home .main, .home .article { padding: 0 !important; background: transparent !important; border: none !important; }
.home .entry-content { margin: 0 !important; }

/* 緊急アラートバー */
.emergency-alert-wrapper { max-width: 1340px; margin: 20px auto 30px; padding: 0 15px; }
.emergency-alert-inner { display: flex; align-items: flex-start; gap: 15px; }
.alert-chara-left { width: 60px; height: auto; flex-shrink: 0; margin-top: 5px; }
.alert-box { flex-grow: 1; background: #fff; border: 2px solid #414141; padding: 0 20px; display: flex; flex-direction: row; align-items: stretch; width: 100%; }
body .alert-box { margin-bottom: 0 !important; }
.alert-box::before, .alert-box::after { display: none !important; content: none !important; }
.alert-mark-wrap { padding: 12px 15px 12px 0; display: flex; align-items: flex-start; }
.alert-mark-icon { width: 28px; height: auto; flex-shrink: 0; margin-top: 2px; }
.alert-text-wrap { flex-grow: 1; display: flex; flex-direction: column; }
.alert-item { display: block; padding: 12px 0; border-bottom: 1px solid #ccc; text-decoration: none; color: #383839; font-weight: bold; font-size: 1.05rem; transition: 0.3s; }
.alert-item:last-child { border-bottom: none; }
.alert-item:hover { color: #E4820B; }
.fv-section.no-alert { margin-top: 30px; }

/* ファーストビュー */
.fv-section { max-width: 1340px; margin: 0 auto 40px; padding: 0 15px; display: flex; gap: 30px; align-items: stretch; background: transparent; }
.fv-main { width: 32%; background: #fff; border-radius: 10px; border: 1px solid #ddd; display: flex; flex-direction: column; }
.fv-main.pc-only { display: block; }
.fv-main.sp-only { display: none; }
.fv-main .navy-heading { background-color: #1c2b4d !important; border-radius: 8px 8px 0 0 !important; padding: 10px 20px !important; }
.btn-news-more { display: flex; align-items: center; gap: 8px; color: #fff; font-size: 1rem; text-decoration: none; border: 1px solid #fff !important; background: transparent !important; padding: 0 15px !important; border-radius: 4px !important; transition: 0.3s; }
.btn-news-more:hover { background: #fff !important; color: #1c2b4d !important; }
.btn-news-more img { height: 10px; width: auto; }
.fv-topics-list { list-style: none; padding: 15px 20px; margin: 0; }
.fv-topics-list li { padding-bottom: 15px; margin-bottom: 15px; border-bottom: 1px solid #eee; }
.fv-topics-list li:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
.fv-topics-list a { text-decoration: none; color: #383839; }
.fv-topics-meta { display: flex; align-items: center; gap: 10px; margin-bottom: 5px; }
.cat { color: #fff; font-size: 0.65rem; padding: 3px 0; width: 75px; text-align: center; border-radius: 4px; font-weight: bold; background: #707070; }
/*.cat.cat-event { background: #E4820B; }*/
.date { font-size: 0.95rem; color: #525252; }
.ttl { font-size: 0.85rem; font-weight: bold; line-height: 1.4; display: block; }
.fv-side { width: 68%; display: flex; flex-direction: column; justify-content: space-between; }
/* ファーストビュー右側：コンテンツボタン群 */
.side-links-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; margin-bottom: 20px; }
.side-link-btn { height: 85px; position: relative; background: #f8f7f3; border-radius: 8px; padding: 10px 15px; text-align: center; color: #383839; font-weight: bold; font-size: 1.1rem; text-decoration: none; display: flex; align-items: stretch; transition: 0.3s; box-shadow: 0 3px 6px rgba(0,0,0,0.2); border: none; }
.side-link-btn span { background: #ffffff; border-radius: 4px; width: 100%; display: flex; align-items: center; justify-content: center; padding: 10px 10px; z-index: 1; line-height: 1.4; }
.side-link-btn:hover { transform: translateY(-3px); box-shadow: 0 6px 12px rgba(0,0,0,0.15); color: #E4820B; }
.btn-chara-icon { position: absolute; bottom: 0; left: -5px; width: 45px; height: auto; z-index: 2; border-radius: 8px; }

/* サブスライダー */
.subSwiper { width: 100%; }
.subSwiper .swiper-wrapper { display: flex !important; flex-wrap: nowrap !important; }
.subSwiper .swiper-slide { flex-shrink: 0 !important; }
.fv-sub .swiper-slide { background: #000; border-radius: 4px; overflow: hidden; }
.fv-sub img { width: 100%; height: auto; aspect-ratio: 2 / 3; object-fit: cover; }
.swiper-nav-container { display: flex; align-items: center; justify-content: space-between; margin-top: 10px; font-size: 1rem; color: #383839; font-weight:bold; }
.swiper-controls { display: flex; align-items: center; gap: 10px; }
.swiper-progress-bar { background: #e0e0e0 !important; height: 4px !important; flex-grow: 1; margin-right: 15px; position: relative; border-radius: 2px; overflow: hidden; }
.swiper-progress-fill { background: #1c2b4d !important; position: absolute; left: 0; top: 0; width: 100%; height: 100%; transform: scaleX(0); transform-origin: left top; transition: transform 0.3s ease; }
.swiper-button-prev-custom, .swiper-button-next-custom { cursor: pointer; }

/* ==============================================
   3. トップページ 各セクション（インフォ・料金・FAQ）
   ============================================== */
.info-section { max-width: 1340px; margin: 0 auto 40px; padding: 0 15px; display: flex; gap: 30px; }
/* 上映スケジュール (PDF) エリア */
.schedule-col { width: 50%; background: #fff; border: none; border-radius: 8px; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); }
.schedule-col .navy-heading { justify-content: flex-start; gap: 8px; border-radius: 0; margin-bottom: 0; padding: 12px 20px; }
.schedule-box { padding: 30px 25px; display: flex; flex-direction: column; gap: 20px; }
.pdf-icon { width: 20px; height: auto; }
.links-col { width: 50%; }
.top-links { display: flex; gap: 15px; margin-bottom: 20px; }
.btn-schedule-dl, .btn-main-link { position: relative; display: flex; align-items: center; background: #f8f7f3 !important; color: #383839 !important; font-weight: bold; text-decoration: none; border: none !important; border-radius: 8px; box-shadow: 0 3px 6px rgba(0,0,0,0.2); z-index: 1; transition: 0.3s; }
.btn-schedule-dl::before { content: ""; position: absolute; top: 8px; left: 8px; right: 8px; bottom: 8px; border-radius: 4px; z-index: -1; }
.btn-main-link::before { content: ""; position: absolute; top: 17px; left: 17px; right: 17px; bottom: 17px; background: #fff; border-radius: 4px; z-index: -1; }
.btn-schedule-dl:hover, .btn-main-link:hover { transform: translateY(-3px); box-shadow: 0 6px 12px rgba(0,0,0,0.15); }
.btn-schedule-dl { padding: 12px 20px !important; gap: 15px; }
.btn-main-link { flex: 1; justify-content: center; padding: 32px 15px !important; gap: 10px; font-size:1.1rem; }
.btn-main-link img { width: 30px; height: auto; margin-top: -5px; }
.sns-links { display: flex; gap: 40px; justify-content: center; margin-top: 40px; }
.sns-links a img { width: 65px; height: auto; transition: 0.3s; }
.sns-links a:hover img { transform: scale(1.05); opacity: 0.9; }

.price-section { max-width: 1340px; margin: 0 auto 40px; padding: 0 15px; display: flex; gap: 30px;align-items: stretch; }
.price-left, .price-right { width: 50%; display: flex; flex-direction: column; }
.price-card { background: #fff; border: 1px solid #ddd; border-radius: 10px; display: flex; flex-direction: column; flex-grow: 1; }
.price-card.normal { margin-bottom:25px }
.price-list { list-style: none; padding: 20px 40px 0; margin: 0; }
.price-list li { display: flex; justify-content: space-between; padding: 12px 0; border-bottom: 1px solid #eee; color: #383839; font-weight: bold; }
.price-list li:last-child { border-bottom: none; }
.p-price { color: #E4820B; font-size: 1.2rem; }
.price-note { padding: 10px 40px 15px; font-size: 0.85rem; font-weight: 500; color: #666; line-height: 1.6; }
.price-note span { font-size: 1.1rem; font-weight: bold; color: #E4820B; }
.discount-list { padding: 20px 40px 0; margin: 0; list-style: none; }
.discount-list li { padding: 15px 0; border-bottom: 1px solid #eee; }
.discount-list li:last-child { border-bottom: none; }
.d-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 5px; }
.d-name { font-weight: bold; font-size: 1.05rem; }
.d-price { color: #E4820B; font-weight: bold; font-size: 1.2rem; }
.d-price small { font-size:0.9rem; color:#383839; font-weight:normal; margin-right:5px; }
.d-note { font-size: 0.95rem; color: #383839; text-align: right; }
.point-content { padding: 20px 40px; }
.point-text { font-size: 1rem; line-height: 1.9; margin-bottom: 20px; }
.point-text strong { color: #383839; font-size: 1.1rem; }
.point-text .highlight { color: #E4820B; font-weight: bold; }
.point-card-img { text-align: right; margin-top: 15px; }
.point-card-img img { max-width: 165px; height: auto; }

/* ==============================================
   FAQエリア
   ============================================== */
.faq-section { max-width: 1340px; margin: 0 auto 60px; padding: 0 15px; }
.faq-card { background: #fff; border: 1px solid #ddd; border-radius: 10px; }
.faq-list { padding: 20px; display: flex; flex-direction: column; gap: 10px; }
.faq-item { display: block !important; border: 1px solid #eaeaea; margin: 0; border-radius: 6px; background: #f9f9f9; overflow: hidden; }
.faq-hidden { display: none !important; }
.faq-q { display: block !important; padding: 12px 45px; font-weight: bold; cursor: pointer; position: relative; list-style: none; color: #383839; margin: 0; transition: background 0.3s; }
.faq-q:hover { background: #f0f4f8; }
.faq-q::-webkit-details-marker { display: none; }
.faq-q::before { content: "Q."; position: absolute; left: 15px; top: 10px; color: #ff8c00; font-size: 1.2rem; font-weight: bold; }
.faq-q::after { content: "\f107"; font-family: "FontAwesome"; position: absolute; right: 20px; top: 50%; transform: translateY(-50%); color: #888; font-size: 0.9rem; transition: transform 0.25s ease; font-weight: normal; }
.faq-item[open] .faq-q::after { transform: translateY(-50%) rotate(180deg); }
.faq-a-wrapper { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 0.25s ease-out; }
.faq-item[open] .faq-a-wrapper { grid-template-rows: 1fr; }
.faq-a-inner { overflow: hidden; }
.faq-a { display: block !important; padding: 18px 20px 18px 45px; font-size: 1rem; line-height: 1.6; color: #383839; position: relative; background: #ffffff; margin: 0; border-top: 1px dashed #ccc; }
.faq-a::before { content: "A."; position: absolute; left: 15px; top: 15px; color: #1c2b4d; font-size: 1.2rem; font-weight: bold; }
.btn-more-wrapper { text-align: center; padding-bottom: 20px; }
.btn-more-navy { background: #1c2b4d; color: #fff; padding: 18px 40px; border-radius: 4px; text-decoration: none; font-weight: bold; display: inline-block; transition: 0.3s; border: none; cursor: pointer; font-size: 1rem; }
.btn-more-navy:hover { background: #102c55; }
.btn-more-navy img { height: 16px; width: auto; margin-left: 8px; margin-top: -7px; }

/* ==============================================
   4. 下層ページ専用（個別ページ・アクセス等）
   ============================================== */
.page .article-header .date-tags, .single-movie .article-header, .single-post .breadcrumb, .page .breadcrumb, .single-movie .breadcrumb, .single-post .pager-post-navi, .single-post .post-navi, .single-post .sns-share, .page .sns-share, .single-movie .sns-share, .single-post .author-info, .page .author-info, .single-movie .author-info { display: none !important; }
.page.page-id-83 .article-header { display: block !important; }

.custom-single-header { margin-bottom: 20px; }
.custom-cat-badge { display: inline-block; background: #E4820B; color: #fff; padding: 6px 15px; font-weight: bold; font-size: 0.9rem; margin-bottom: 10px; }
.custom-title-bar { background: #E4820B; color: #fff; display: flex; align-items: center; padding: 15px 20px; gap: 20px; }
.custom-date { font-weight: bold; font-size: 1rem; white-space: nowrap; }
.custom-title { font-size: 1.2rem; font-weight: bold; margin: 0 !important; padding: 0 !important; color: #fff !important; line-height: 1.4; border: none !important; }

/* ==============================================
   お知らせ詳細ページ（シングル）デザイン改修
   ============================================== */
/* 邪魔なCocoonデフォルトナビ・カテゴリタグなどを隠す */
.single-post .entry-categories-tags,
.single-post .pager-post-navi,
.single-post .post-navi { display: none !important; }

/* 1&2. タイトルと日付部分（横並びに配置） */
.single-post .article-header { display: flex !important; flex-wrap: wrap !important; align-items: baseline !important; margin-top: 4rem !important; margin-bottom: 20px !important; }
.single-post .date-tags { order: 1 !important; width: auto !important; margin: 0 15px 0 0 !important; font-size: 0.95rem !important; color: #383839 !important; font-weight: bold !important; display: block !important; }
.single-post .date-tags .fa, .single-post .date-tags .post-update { display: none !important; } /* 時計アイコンと更新日を消す */
.single-post .entry-title { order: 2 !important; width: auto !important; flex: 1 !important; text-align: left !important; padding: 0 !important; margin: 0 !important; font-size: 1.4rem !important; font-weight: bold !important; border: none !important; background: transparent !important; color: #383839 !important; margin-bottom: 3rem !important; }
.single-post .entry-title::after { display: none !important; } /* 下線を消す */

/* アイキャッチ画像 */
.single-post .eye-catch-wrap { order: 3 !important; width: 100% !important; margin: 0 0 30px 0 !important; text-align: left !important; }
.single-post .eye-catch { position: relative !important; display: inline-block !important; margin: 0 !important; }
.single-post .eye-catch img { max-width: 100% !important; max-height: 600px; width: auto !important; height: auto !important; display: block !important; box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important; }
/* 3. 本文エリア（オレンジ枠を消してシンプルに） */
.single-post .entry-content { font-weight: bold; border: none !important; padding: 0 !important; background: transparent !important; box-shadow: none !important; color: #383839 !important; line-height: 1.8 !important; }

/* 4. 下のボタン群 */
.custom-post-nav { display: flex !important; justify-content: center !important; align-items: center !important; gap: 30px !important; margin: 60px 0 40px !important; }
.custom-post-nav .nav-btn { display: flex !important; justify-content: center !important; align-items: center !important; font-weight: bold !important; text-decoration: none !important; transition: 0.3s !important; border-radius: 6px !important; height: 44px !important; box-sizing: border-box !important; }
.custom-post-nav .nav-list { background: #fff !important; color: #383839 !important; width: 240px !important; font-size: 1.1rem !important; border: 1px solid #666 !important; }
.custom-post-nav .nav-list:hover { background: #f4f6f8 !important; }
.custom-post-nav .nav-prev, .custom-post-nav .nav-next { background: #fff !important; color: #383839 !important; width: 44px !important; font-size: 1rem !important; border: 1px solid #666 !important; }
.custom-post-nav .nav-prev:hover, .custom-post-nav .nav-next:hover { background: #f4f6f8 !important; }
.custom-post-nav .nav-empty { width: 44px !important; background: transparent !important; border: none !important; }

/* ==============================================
   5. 右サイドメニュー（最新のお知らせ）
   ============================================== */
.custom-sidebar-news { background: #fff !important; border: 1px solid #ddd !important; border-radius: 6px !important; overflow: hidden !important; }
.custom-sidebar-news .sidebar-news-title { background: #1c2b4d !important; color: #fff !important; font-size: 1.05rem !important; padding: 15px 20px !important; margin: 0 !important; text-align: left !important; border: none !important; font-weight: bold !important; }
.custom-sidebar-news .sidebar-news-list { padding: 0 20px !important; margin: 0 !important; list-style: none !important;}
.custom-sidebar-news .sidebar-news-list li { border-bottom: 1px solid #eee !important; padding: 15px 0 !important; }
.custom-sidebar-news .sidebar-news-list li:last-child { border-bottom: none !important; }
.custom-sidebar-news .sidebar-news-list a { text-decoration: none !important; display: block !important; transition: 0.3s !important; }
.custom-sidebar-news .sidebar-news-list a:hover { opacity: 0.7 !important; }
.custom-sidebar-news .sidebar-date { font-weight: bold !important; color: #383839 !important; font-size: 0.85rem !important; margin-bottom: 8px !important; display: block !important; }
.custom-sidebar-news .sidebar-bottom { display: flex !important; align-items: center !important; gap: 10px !important; }
/* サイドバーのバッジは全てグレーに統一 */
.custom-sidebar-news .sidebar-badge { width: 90px !important; text-align: center !important; flex-shrink: 0 !important; background: #707070 !important; color: #fff !important; font-size: 0.7rem !important; padding: 5px 0 !important; border-radius: 4px !important; }
.custom-sidebar-news .sidebar-post-title { font-size: 0.85rem !important; color: #383839 !important; font-weight: bold !important; line-height: 1.4 !important; }

/* ==============================================
   アクセスページ
   ============================================== */
.access-section { max-width: 1260px !important; margin: 0 auto 80px !important; padding: 3px 20px !important; color: #383839 !important; font-family: sans-serif !important; }
.access-info-text { margin: 0 0 30px 30px !important; }
.access-theater-name { font-size: 1.15rem !important; font-weight: bold !important; margin: 0 0 10px 0 !important; color: #383839 !important; border: none !important; padding: 0 !important; background: transparent !important; }
.access-info-text p { margin: 0 !important; font-size: 0.95rem !important; line-height: 1.8 !important; color: #383839 !important; }
.access-google-map { margin-bottom: 50px !important; }
.access-google-map iframe { width: 100% !important; display: block !important; background: #eee !important; border: 1px solid #ddd !important; }
.transport-grid { display: flex !important; margin: 35px 50px 70px !important; border: none !important; background: transparent !important; }
.transport-col { flex: 1 !important; padding: 0 45px !important; border-right: 1px solid #ccc !important; }
/*.transport-col:first-child { padding-left: 0 !important; }*/
.transport-col:last-child { border-right: none !important; padding-right: 0 !important; }
.transport-col h4 { font-size: 1rem !important; font-weight: bold !important; margin: 0 0 15px 0 !important; color: #383839 !important; border: none !important; background: transparent !important; padding: 0 !important; }
.transport-col p { margin: 0 !important; font-size: 0.9rem !important; line-height: 1.8 !important; color: #383839 !important; }
.parking-section { margin-bottom: 40px !important; }
.parking-map-img { margin: 0 0 30px 0 !important; }
.parking-map-img img { width: 100% !important; height: auto !important; display: block !important; }
.parking-details { display: flex !important; gap: 50px !important; align-items: flex-start !important; margin: 0 30px; }
.parking-col { flex: 1 !important; }
.parking-col h3 { font-size: 1.05rem !important; font-weight: bold !important; margin: 0 0 20px 0 !important; color: #383839 !important; border: none !important; background: transparent !important; padding: 0 !important; }
.parking-col ul { list-style: none !important; padding: 0 !important; margin: 0 0 25px 0 !important; }
.parking-col li { position: relative !important; padding-left: 1em !important; font-size: 0.95rem !important; line-height: 1.8 !important; color: #383839 !important; margin-bottom: 5px !important; }
.parking-col li::before { content: "・" !important; position: absolute !important; left: 0 !important; top: 0 !important; font-weight: bold !important; }
.parking-caution { font-size: 0.85rem !important; color: #383839 !important; line-height: 1.6 !important; margin-bottom: 25px !important; }
.parking-address { font-size: 0.85rem !important; color: #383839 !important; line-height: 1.8 !important; margin: 0 !important; }

/* ==============================================
   5. 上映作品（一覧・詳細）専用
   ============================================== */
.single-movie #sidebar, .post-type-archive-movie #sidebar, .tax-movie_category #sidebar { display: none !important; }
.single-movie #main, .post-type-archive-movie #main, .tax-movie_category #main { width: 100% !important; float: none !important; margin-right: 0 !important; border-right: none !important; }
.single-movie .content, .post-type-archive-movie .content { max-width: 100% !important; }

/* 上映作品一覧 */
.movie-archive-section { max-width: 1000px; margin: 0 auto 80px; padding: 0 15px; }

/* 1. タブデザイン調整 */
.tab-list { display: flex; justify-content: space-evenly; list-style: none; padding: 0; margin: 0 0 30px 0; gap: 20px; border: none; }
.tab-item { width: 180px; text-align: center; padding: 12px 0; background: #e0e0e0; color: #383839; font-size: 1rem; font-weight: bold; cursor: pointer; transition: 0.3s; border-radius: 4px; border: none; }
.tab-item.active { background: #1c2b4d; color: #fff; }
.tab-item:hover { transform: translateY(-3px); }
.tab-item:not(.active):hover { color: #E4820B; }

.tab-content { display: none; animation: fadeIn 0.5s; }
.tab-content.active { display: block; }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }

/* 2. カード全体のレイアウト */
.movie-list-item-new { display: flex; align-items: stretch; margin-bottom: 25px; background: #fff; border: 1px solid #ddd; border-radius: 4px; box-shadow: 0 3px 10px rgba(0,0,0,0.05); overflow: hidden; }
.movie-poster-new { width: 160px; flex-shrink: 0; background: #f9f9f9; }
.movie-poster-new img { width: 100%; height: 100%; object-fit: cover; display: block; padding: 10px; }

.movie-info-wrap { flex-grow: 1; padding: 25px 30px; display: flex; flex-direction: column; justify-content: center; }

/* 3. 日付と備考欄（ヘッダー部分） */
.movie-info-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 15px; gap: 20px; }
.movie-date-new { font-size: 1rem; color: #383839; font-weight: bold; }
.movie-memo-new { background: #e0e0e0; color: #555; font-size: 0.8rem; padding: 6px 12px; border-radius: 4px; text-align: left; max-width: 500px; line-height: 1.4; }

/* 4. タイトル */
.movie-title-new { font-size: 1.4rem !important; font-weight: bold !important; margin: 0 0 30px 0 !important; color: #383839 !important; line-height: 1.4 !important; border: none !important; background: transparent !important; padding: 0 !important; }
.movie-title-new::before, .movie-title-new::after { display: none !important; } /* Cocoonの装飾リセット */

/* 5. 下部のボタン群 */
.movie-action-buttons { display: flex; justify-content: flex-end; gap: 15px; margin-top: auto; }
.movie-action-buttons img { margin-left:10px; width:20px; height: auto; }
.btn-detail-new { display: flex; align-items: center; justify-content: center; width: auto; min-width: 220px; border: 1px solid #1c2b4d; background: #fff; color: #1c2b4d; padding: 12px 20px; text-decoration: none; font-weight: bold; font-size: 0.95rem; border-radius: 4px; transition: 0.3s; white-space: nowrap; box-sizing: border-box; }
.btn-detail-new:hover { background: #f4f6f8; }
.btn-ticket-new { display: flex; align-items: center; justify-content: center; width: auto; min-width: 260px; background: #1c2b4d; color: #fff; border: 1px solid #1c2b4d; padding: 12px 20px; text-decoration: none; font-weight: bold; font-size: 0.95rem; border-radius: 4px; transition: 0.3s; white-space: nowrap; box-sizing: border-box; }
.btn-ticket-new:hover { background: #131d36; color: #fff; opacity: 0.9; }
.fa.fa-external-link { font-size: 1.1rem; }

/* ==============================================
   上映作品詳細
   ============================================== */
.movie-single-section { background-color: #f9f9f9; padding: 40px 20px; color: #383839; font-family: sans-serif; }
.movie-single-inner { max-width: 1100px; margin: 0 auto; background: transparent; }

/* タイトル帯（ネイビー） */
.movie-single-header-bar { background: #1c2b4d; padding: 15px 25px; margin-bottom: 30px; border-radius: 10px 10px 0 0; }
.movie-single-maintitle { color: #fff; font-size: 1.4rem; font-weight: bold; margin: 0; line-height: 1.4; border: none; background: transparent; padding: 0; }
.movie-single-maintitle::after, .movie-single-maintitle::before { display: none !important; }

.movie-single-flex { display: flex; gap: 40px; padding: 0; align-items: flex-start; }
.movie-single-left { width: 35%; flex-shrink: 0; display: flex; flex-direction: column; gap: 25px; }
.movie-single-poster img { width: 100%; height: auto; display: block; box-shadow: 0 2px 8px rgba(0,0,0,0.1); }

/* 動画＆ラジオエリア */
.movie-video-box { width: 100%; }
.radio-title { display: flex; align-items: center; gap: 10px; font-size: 0.95rem; font-weight: bold; color: #383839; margin: 0 0 10px 0; border: none; padding: 0; }
.radio-title::before, .radio-title::after { display: none !important; }
.radio-icon { width: 30px; height: auto; display: block; }

.embed-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; }
.embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

/* 右側コンテンツ */
.movie-single-right { width: 65%; }

.movie-single-date-wrap { margin-bottom: 25px; }
.movie-single-date { font-size: 1.1rem; font-weight: bold; color: #383839; margin: 0; }

.movie-single-content { line-height: 1.8; font-size: 0.95rem; margin-bottom: 25px; color: #383839; }
.movie-single-notes { font-size: 0.85rem; color: #666; line-height: 1.6; margin-bottom: 30px; }
.movie-single-notes p { margin: 0 0 5px 0; }

/* テーブル（作品情報） */
.movie-info-heading { font-size: 1.1rem; font-weight: bold; margin-bottom: 10px; color: #383839; border: none; padding: 0; background: transparent; }
.movie-info-heading::before, .movie-info-heading::after { display: none !important; }
.movie-info-table td.movie-price-cell { font-weight: bold !important; }

.movie-single-badges { display: flex; gap: 8px; margin-bottom: 15px; }
.movie-badge { display: inline-block; padding: 4px 12px; border-radius: 4px; font-size: 0.8rem; font-weight: bold; color: #fff; }
.movie-badge-advance { background: #1c2b4d; }
.movie-badge-limited { background: #E4820B; }

/* ▼ 行間を空けるためのテーブル設定 ▼ */
.movie-info-table { width: 100%; border-collapse: separate !important; border-spacing: 0 5px !important; margin-bottom: 30px; border: none !important; }
.movie-info-table th, .movie-info-table td { padding: 12px 15px; line-height: 1.5; font-size: 0.95rem; border-top: 1px solid #ddd !important; border-bottom: 1px solid #ddd !important; }
.movie-info-table th { background: #e8e8e8; color: #383839; width: 25%; text-align: center; font-weight: bold; border-left: 1px solid #ddd !important; border-right: none !important; }
.movie-info-table td { background: #fff; color: #383839; border-left: 1px solid #ddd !important; border-right: 1px solid #ddd !important; }
.movie-single-buttons { display: flex; gap: 15px; align-items: center; margin-top: 20px; justify-content: flex-start; }
.btn-navy { display: inline-flex; justify-content: center; align-items: center; background: #1c2b4d; color: #fff; padding: 15px 40px; text-decoration: none; font-weight: bold; border-radius: 4px; transition: 0.3s; font-size: 1rem; }
.btn-navy:hover { background: #131d36; color: #fff; opacity: 0.9; }
.btn-navy i { margin-left: 8px; font-size: 1.1rem; }

/* ==============================================
   6. 提携店舗一覧・マイマップエリア
   ============================================== */
.partner-intro-section { display: flex !important; gap: 40px !important; margin-bottom: 50px !important; align-items: flex-start !important; background: transparent !important; padding: 0 !important; border-radius: 0 !important; }
.partner-intro-map { flex: 0 0 45% !important; background: transparent !important; }
.partner-intro-map iframe { display: block !important; width: 100% !important; height: auto !important; aspect-ratio: 4/3 !important; min-height: 0 !important; background: #ccc !important; }
.partner-intro-text { flex: 1 !important; color: #383839 !important; font-size: 0.9rem !important; line-height: 1.2 !important; }
.partner-intro-title { font-size: 1.15rem !important; font-weight: bold !important; margin: 0 0 20px 0 !important; color: #383839 !important; border: none !important; padding: 0 !important; background: transparent !important; }
.intro-block { margin-bottom: 25px !important; }
.intro-block h4 { font-size: 0.95rem !important; font-weight: bold !important; margin: 0 0 8px 0 !important; color: #383839 !important; border: none !important; padding: 0 !important; background: transparent !important; }
.intro-strong { font-weight: bold !important; margin: 0 0 8px 0 !important; color: #383839 !important; }
.intro-block ul { list-style: none !important; padding: 0 !important; margin: 0 0 12px 0 !important; }
.intro-block li { position: relative !important; padding-left: 1em !important; margin-bottom: 4px !important; color: #383839 !important; }
.intro-block li::before { content: "・" !important; position: absolute !important; left: 0 !important; top: 0 !important; font-weight: bold !important; }
.intro-note { font-size: 0.85rem !important; color: #383839 !important; margin: 0 !important; line-height: 1.6 !important; }
.intro-note strong { font-weight: bold !important; }
.req-items-block { margin-top: 30px !important; }
.req-items-block p { font-weight: bold !important; background: transparent !important; padding: 0 !important; border: none !important; text-align: left !important; line-height: 1.8 !important; margin: 0 !important; color: #383839 !important; }

/* 提携店舗カード */
.partner-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 20px !important; margin-bottom: 50px !important; }
.partner-card { background: #fff !important; border: 1px solid #ccc !important; border-radius: 6px !important; overflow: hidden !important; display: flex !important; flex-direction: column !important; box-shadow: none !important; }
.partner-header { padding: 5px 15px !important; position: relative !important; display: flex !important; align-items: center !important; gap: 10px !important; }

/* ▼ 背景色（飲食店はオレンジ、それ以外はネイビー） */
.partner-food .partner-header { background: #df8a14 !important; }
.partner-other .partner-header { background: #102a50 !important; }

/* ▼ 番号の背景色をマイマップのピンの色に完全一致させる */
.partner-food .partner-num-circle { background: #982821 !important; }
.partner-other .partner-num-circle { background: #0288D1 !important; }

/* ▼ タイトルとカテゴリの文字色（オレンジ背景は黒、ネイビー背景は白） */
.partner-food .partner-cat, .partner-food .partner-name { color: #383839 !important; }
.partner-other .partner-cat, .partner-other .partner-name { color: #fff !important; }

.partner-title-area { display: flex !important; flex-direction: column !important; justify-content: flex-start !important; flex-grow: 1 !important; padding-right: 30px !important; }
.partner-num-circle { border: 1.5px solid #fff !important; color: #fff !important; background: transparent !important; border-radius: 50% !important; width: 28px !important; height: 28px !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 1rem !important; font-weight: bold !important; flex-shrink: 0 !important; margin-top: 2px !important; }
.partner-cat { font-size: 0.8rem !important; line-height: 1.2 !important; margin-bottom: 5px !important; font-weight: bold !important; }
.partner-name { font-size: 1.2rem !important; font-weight: bold !important; margin: 0 !important; padding: 0 !important; border: none !important; background: transparent !important; line-height: 1.3 !important; }
.partner-takeout { position: absolute !important; top: 5px !important; right: 5px !important; background: #005A9C !important; color: #fff !important; font-size: 0.65rem !important; font-weight: bold !important; text-align: center !important; padding: 4px !important; line-height: 1.1 !important; border-radius: 3px !important; border: none !important; }

/* ▼ 特典（グレーの帯部分） */
.partner-benefit { font-size: 1rem !important; font-weight: bold !important; color: #383839 !important; text-align: center !important; padding: 5px 10px !important; background: #f4f4f4 !important; border-top: 1px solid #ccc !important; border-bottom: 1px solid #ccc !important; margin: 0 !important; letter-spacing: 0.05em !important; }

.partner-body { padding: 15px 15px 0 !important; display: flex !important; gap: 15px !important; flex-grow: 1 !important; }
.partner-info { flex: 1 !important; font-size: 0.9rem !important; line-height: 1.6 !important; color: #383839 !important; }
.partner-info dl { margin: 0 !important; padding: 0 !important; display: flex !important; flex-wrap: wrap !important; align-items: center; }
.partner-info dt { font-size: 0.8rem; font-weight: bold !important; width: 4.5em !important; margin: 0 0 4px 0 !important; padding: 0 !important; color: #383839 !important; }
.partner-info dd { font-size: 1rem; margin: 0 0 6px 0 !important; padding: 0 !important; width: calc(100% - 4.5em) !important; }

/* ▼ リンクの文字色 */
.partner-info dd a { color: #003de5 !important; font-weight: bold !important; text-decoration: underline !important; }
.partner-info dd a[href*="goo"], .partner-info dd a:has(.fa-map-marker) { color: #e4820b !important; }

.partner-notice { font-size: 0.85rem !important; color: #383839 !important; line-height: 1.5 !important; }
.partner-img-area { width: 110px !important; flex-shrink: 0 !important; }

/* ▼ 画像の枠線 */
.partner-img-area img { width: 100% !important; height: auto !important; display: block !important; border: 1px solid #ccc !important; }
.no-image { width: 100% !important; aspect-ratio: 4/3 !important; background: #eee !important; display: flex !important; align-items: center !important; justify-content: center !important; color: #aaa !important; font-size: 0.8rem !important; border: 1px solid #ccc !important; }
.partner-req-bottom { text-align: right !important; color: #df8a14 !important; font-size: 0.9rem !important; font-weight: bold !important; padding: 0 15px 15px !important; margin-top: -5px !important; }

/* ==============================================
   お知らせ一覧デザイン [news_grid_list]
   ============================================== */
.news-list-wrap { margin: 40px 0 !important; font-family: Arial, sans-serif !important; }
.news-tabs { display: flex !important; justify-content: center !important; list-style: none !important; padding: 0 !important; margin: 0 0 35px 0 !important; border-bottom: none !important; gap: 10px !important; flex-wrap: wrap !important; }

/* ▼ タブを四角＋ネイビーに変更 ▼ */
.news-tab-item { padding: 8px 20px !important; cursor: pointer !important; font-size: 0.95rem !important; color: #383839 !important; font-weight: bold !important; background: #fff !important; border: 1px solid #ddd !important; border-radius: 4px !important; transition: 0.3s !important; }
.news-tab-item:hover { color: #1c2b4d !important; border-color: #1c2b4d !important; background: #f4f6f8 !important; }
.news-tab-item.active { background: #1c2b4d !important; border-color: #1c2b4d !important; color: #fff !important; }

.news-list-container { display: flex; flex-direction: column; min-height: 50vh; }
.news-list-row { display: flex; justify-content: space-between; align-items: center; padding: 15px 10px; border-bottom: 1px solid #ccc; text-decoration: none !important; color: #383839 !important; transition: background 0.3s; min-height: 100px; }
.news-list-row:hover { background: #fff9f5; }
.news-list-row.is-visible { display: flex !important; animation: newsFadeIn 0.4s ease forwards; }
.news-list-row.is-hidden { display: none !important; }
@keyframes newsFadeIn { 0% { opacity: 0; transform: translateY(10px); } 100% { opacity: 1; transform: translateY(0); } }
.news-list-content { display: flex; align-items: center; gap: 20px; flex-grow: 1; }
.news-list-meta { display: flex; align-items: center; gap: 15px; flex-shrink: 0; width: 200px; }
.news-list-cat { color: #fff !important; font-size: 0.75rem !important; padding: 5px !important; width: 100px; text-align: center; border-radius: 2px !important; font-weight: bold !important; background: #707070 !important; }
/*.news-list-cat.cat-news { background: #005A9C !important; }
.news-list-cat.cat-event { background: #E4820B !important; }
.news-list-cat.cat-campaign { background: #E60012 !important; }
.news-list-cat.cat-special { background: #8e44ad !important; }*/

/* ▼ 記事タイトルのCocoon標準H3枠線を完全リセット ▼ */
.news-list-title { background: transparent !important; border: none !important; padding: 0 !important; margin: 0 !important; font-size: 1.05rem !important; font-weight: bold !important; line-height: 1.5 !important; color: #383839 !important; }
.news-list-title::before, .news-list-title::after { display: none !important; content: none !important; }

.news-list-thumb { width: 120px; flex-shrink: 0; margin-left: 20px; border-radius: 4px; overflow: hidden; box-shadow: 0 2px 5px rgba(0,0,0,0.1); }
.news-list-thumb img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; display: block; }

/* ==============================================
   フッターエリアのカスタマイズ（オレンジ背景）
   ============================================== */
.footer { background-color: #E4820B !important; color: #383839 !important; border-top: none !important; }
.footer .wrap { width:100%; }
.navi-footer { margin-bottom: 10px !important; }
.navi-footer a { color: #383839 !important; font-weight: bold; font-size: 0.85rem; border: none !important; background: transparent !important; display: inline-block; }
.navi-footer a:hover { color: #fff !important; }
.navi-footer li { position: relative !important; padding: 0 12px !important; border: none !important; background: transparent !important; }
/*.navi-footer li:not(:last-child)::after { content: "｜" !important; color: rgba(255, 255, 255, 1) !important; position: absolute; right: -2px; top: 50%; transform: translateY(-50%); font-weight: bold !important; pointer-events: none; }*/
.copyright { text-align: right !important; padding-right: 20px !important; font-size: 0.9rem !important; color: #383839 !important; border: none !important; }
.footer-bottom { background-color: transparent !important; border: none !important; }
.footer-bottom.fdt-up-and-down .footer-bottom-content .navi-footer-in > ul { align-items: center; }

/* ==============================================
   ページネーション装飾
   ============================================== */
.pagination { margin: 60px 0 80px !important; display: flex !important; justify-content: center !important; align-items: center !important; gap: 8px !important; flex-wrap: wrap !important; clear: both !important; }
.pagination ul { display: flex !important; justify-content: center !important; align-items: center !important; list-style: none !important; padding: 0 !important; margin: 0 !important; gap: 8px !important; border: none !important; background: transparent !important; }
.pagination li { display: block !important; margin: 0 !important; padding: 0 !important; border: none !important; background: transparent !important; }
.pagination a.page-numbers, .pagination span.page-numbers { display: flex !important; justify-content: center !important; align-items: center !important; min-width: 44px !important; height: 44px !important; padding: 0 10px !important; margin: 0 !important; border: 1px solid #ddd !important; border-radius: 4px !important; color: #383839 !important; text-decoration: none !important; font-weight: bold !important; background: #fff !important; font-size: 1rem !important; box-sizing: border-box !important; transition: 0.3s !important; line-height: 1 !important; box-shadow: none !important; }
.pagination span.current { background: #1c2b4d !important; color: #fff !important; border-color: #1c2b4d !important; }
.pagination a.page-numbers:hover { background: #f4f6f8 !important; }
.pagination span.dots { border: none !important; background: transparent !important; min-width: auto !important; padding: 0 2px !important; color: #383839 !important; letter-spacing: 2px !important; pointer-events: none !important; }

/* ==============================================
   お知らせ詳細：記事が短い場合にページャーを一番下へ揃える
   ============================================== */
body.single-post .main { position: relative !important; padding-bottom: 130px !important; min-height: 90vh; }
body.single-post .custom-post-nav { position: absolute !important; bottom: 20px !important; left: 0 !important; width: 100% !important; margin: 0 !important; gap: 60px !important; }

/* ==============================================
   劇場案内詳細 共通レイアウト
   ============================================== */
.theater-detail-section { padding: 3px 20px !important; background: transparent !important; font-family: sans-serif !important; color: #383839 !important; }
.theater-detail-inner { max-width: 1200px !important; margin: 0 auto !important; background: transparent !important; }
.page-title { background: transparent !important; color: #383839 !important; text-align: center !important; padding: 0 0 15px 0 !important; font-size: 1.6rem !important; font-weight: bold !important; margin-top: 20px !important; margin-bottom: 50px !important; border: none !important; position: relative !important; display: block !important; }
.page-title::after { content: "" !important; position: absolute !important; bottom: 0 !important; left: 50% !important; transform: translateX(-50%) !important; width: 120px !important; height: 3px !important; background-color: #383839 !important; }
.detail-tab-list { display: flex !important; flex-wrap: wrap !important; justify-content: center !important; gap: 10px !important; list-style: none !important; padding: 0 !important; margin: 0 0 50px 0 !important; border: none !important; }
.detail-tab-item { padding: 10px 20px !important; background: #fff !important; color: #383839 !important; font-size: 0.9rem !important; font-weight: bold !important; cursor: pointer !important; transition: 0.3s !important; border-radius: 4px !important; border: 1px solid #e0e0e0 !important; }
.detail-tab-item:hover { background: #f4f6f8 !important; }
.detail-tab-item.active { background: #1c2b4d !important; color: #fff !important; border-color: #1c2b4d !important; }
.detail-tab-content { display: none !important; animation: fadeIn 0.4s !important; }
.detail-tab-content.active { display: block !important; }
table tr:nth-of-type(2n+1) { background-color: transparent !important; }

/* ==============================================
   シアターレイアウト（左右分割）
   ============================================== */
.theater-flex { display: flex !important; gap: 40px !important; align-items: flex-start !important; margin-bottom: 40px !important; }
.theater-left { flex: 0 0 45% !important; display: flex !important; flex-direction: column !important; gap: 0 !important; }
.theater-title { font-size: 1.1rem !important; font-weight: bold !important; color: #383839 !important; margin: 0 0 10px 0 !important; padding: 0 !important; border: none !important; }
.theater-viewer-img { width: 100% !important; object-fit: cover !important; border-radius: 0 !important; border: none !important; box-shadow: 0 2px 5px rgba(0,0,0,0.1) !important; background: #eee !important; margin-bottom: 10px !important; }
.theater-viewer-caption { text-align: center !important; font-weight: bold !important; font-size: 0.9rem !important; color: #383839 !important; margin: 0 0 30px 0 !important; padding: 0 !important; border: none !important; }
.theater-specs { width: 100% !important; border-collapse: collapse !important; margin-bottom: 30px !important; border: none !important; background: transparent !important; }
.theater-specs th, .theater-specs td { padding: 10px 0 !important; border: none !important; color: #383839 !important; font-size: 0.85rem !important; font-weight: normal !important; text-align: left !important; background: transparent !important; }
.theater-specs th { width: 25% !important; font-weight: bold !important; }
.theater-right { flex: 0 0 55% !important; }
.seating-chart-container { position: relative !important; width: 100% !important; max-width: 600px !important; margin: 0 auto !important; background: transparent !important; }
.seating-chart-container img { width: 100% !important; height: auto !important; display: block !important; border-radius: 0 !important; }
.camera-btn { position: absolute !important; background: linear-gradient(to bottom, rgba(245, 245, 245, 0.6) 50%, rgba(245, 245, 245, 0.9) 50%) !important; color: #231815 !important; border: 1.5px solid #4f6a8e !important; border-radius: 50% !important; width: 38px !important; height: 42px !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 1.1rem !important; cursor: pointer !important; transform: translate(-50%, -50%) !important; transition: 0.2s !important; box-shadow: 0 2px 5px rgba(0,0,0,0.15) !important; padding: 0 !important; }
.camera-btn:hover { transform: translate(-50%, -50%) scale(1.1) !important; background: linear-gradient(to bottom, rgba(245, 245, 245, 0.7) 50%, rgba(245, 245, 245, 1) 50%) !important; }
.camera-btn.active { background: linear-gradient(to bottom, rgba(28, 43, 77, 0.6) 50%, rgba(28, 43, 77, 0.9) 50%) !important; border-color: #1c2b4d !important; color: #fff !important; }

/* ==============================================
   館内設備レイアウト（画像準拠）
   ============================================== */
.article h2.facility-title { font-size: 1.15rem !important; font-weight: bold !important; color: #383839 !important; margin: 0 0 15px 0 !important; border: none !important; padding: 0 !important; background: transparent !important; }
.facility-images { display: flex !important; width: 100% !important; gap: 10px !important; margin-bottom: 25px !important; }
.facility-images img { width: 50% !important; height: auto !important; display: block !important; object-fit: cover !important; aspect-ratio: 4/3 !important; }
.facility-desc { font-size: 0.95rem !important; line-height: 1.8 !important; color: #383839 !important; }
.facility-desc ul { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.facility-desc li { position: relative !important; padding-left: 1em !important; margin-bottom: 5px !important; }
.facility-desc li::before { content: "・" !important; position: absolute !important; left: 0 !important; top: 0 !important; font-weight: bold !important; }
.facility-desc p.note { font-size: 1rem !important; margin-bottom: 0 !important; }
.toilet-info-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 20px !important; }
.sp-br { display: none !important; }


@media screen and (min-width: 1024px) and (max-width: 1350px) {
    .header-container-in.hlt-top-menu .logo-header img { max-height: 42px; }
    .navi-in a { padding: 15px 6px !important; font-size: 12px !important; }
    .navi-in > ul li { padding: 0 3px 0 1px; }
    .navi-in > ul { justify-content: space-evenly !important; width: 100% !important; }
}

/* ==============================================
   スマホ対応（@media screen and (max-width: 900px)）
   ============================================== */
@media screen and (max-width: 900px) {
   .page-title { margin-top: 10px !important; margin-bottom: 30px !important; }
   .theater-detail-section { padding: 0 !important; }
   .detail-tab-list { display: grid !important; grid-template-columns: repeat(2, 1fr) !important; gap: 6px !important; margin-bottom: 20px !important; }
   .detail-tab-item { padding: 8px 4px !important; font-size: 0.8rem !important; text-align: center !important; width: 100% !important; box-sizing: border-box !important; display: flex !important; align-items: center !important; justify-content: center !important; line-height: 1.3 !important; }   
   .theater-flex { flex-direction: column !important; gap: 15px !important; align-items: stretch !important; }
   .theater-left { display: contents !important; }
   .theater-right { display: contents !important; }
   .theater-viewer-img { margin-bottom: 0 !important; }
   .theater-viewer-caption { margin-bottom: 0 !important; }
   .seating-chart-container { order: 5 !important; }
   .theater-specs { order: 10 !important; margin-top: 15px !important; margin-bottom: 0 !important; }
   .facility-images { flex-direction: column !important; gap: 10px !important; }
   .facility-images img { width: 100% !important; }
   .toilet-info-grid { grid-template-columns: 1fr !important; gap: 0 !important; }
   .camera-btn { width: 26px !important; height: 30px !important; font-size: 0.75rem !important; border-width: 1.5px !important; }
   .sp-br { display: inline !important; }
}

/* ==============================================
   7. レスポンシブ対応（スマホ・タブレット用）
   ============================================== */
@media screen and (max-width: 1024px) {
   /* 提携店舗一覧 */
   .partner-grid { grid-template-columns: repeat(2, 1fr) !important; }
}

/* ==============================================
   詳細ページのページャーを全体の中央に配置する
   ============================================== */
@media screen and (min-width: 835px) {
   .single-post .custom-post-nav {
       /* 左カラムの中央基準から、サイドバーの幅を計算して右にずらし、全体の中央に合わせる */
       transform: translateX(22%) !important; 
   }
}

@media screen and (max-width: 1023px) {
   main.main, div.sidebar { padding: 20px 15px; }
   .movie-single-header-bar { margin-bottom: 15px; }
   .body .mobile-header-menu-buttons { background-color: #E4820B !important; }
   .mobile-menu-buttons .menu-icon { color: white; }
   .mobile-menu-buttons .menu-caption { color: white; }
   .logo-menu-button img { max-height: 38px; }
   .mobile-menu-buttons .menu-content { background-color: #E4820B !important; }
   .search-menu-button.menu-button { visibility: hidden; }
   .menu-drawer a { color: white; padding: 12px 6px; }
   .page-top-wrapper img { width: 80px; }
   #content-in { width: auto !important; flex-wrap: wrap; }

   /* トップページ */
   .fv-section, .info-section, .price-section { flex-direction: column; }
   .fv-main, .fv-side, .schedule-col, .links-col, .price-left, .price-right { width: 100%; }
   .fv-main.pc-only { display: none; }
   .fv-main.sp-only { display: block; }
   .price-list { padding: 20px 10px 0; }
   .price-note { padding: 10px 10px 15px; }
   .discount-list { padding: 20px 10px 0; }

   .navi-footer-in > .menu-footer li.menu-item { text-align: left; }

   /* お知らせ詳細 */
   .single-post .article-header { flex-direction: column; margin-top: 1rem !important;  }
   .post-date .date { margin-left: 0; margin-bottom: 5px; }
   .custom-title-bar { flex-direction: column; align-items: flex-start; gap: 5px; }
   .nav-btn { width: 100%; box-sizing: border-box; }
   .single-post .entry-content { padding: 20px !important; }
   .article-header .entry-title, .archive-title { margin-top: 0.5rem !important; margin-bottom: 2rem !important; }

   /* ▼ スマホ表示：右サイドメニュー ▼ */
   .custom-sidebar-news .sidebar-meta { display: flex !important; flex-wrap: wrap !important; align-items: center !important; gap: 5px 10px !important; }
   .custom-sidebar-news .sidebar-bottom { display: contents !important; }
   .custom-sidebar-news .sidebar-date { margin: 0 !important; }
   .custom-sidebar-news .sidebar-badge { width: auto !important; padding: 3px 8px !important; }
   .custom-sidebar-news .sidebar-post-title { width: 100% !important; margin-top: 4px !important; }

   /* アクセスページ */
   .access-section { margin: 0 auto !important; padding: 0 !important; }
   .access-info-row { display: flex !important; flex-direction: column-reverse; gap: 15px; }
   .access-info-card { padding: 20px; width: 100% !important; }
   .access-google-map iframe { height: 300px; }
   .access-map-row { display: flex !important; flex-direction: column-reverse; }
   .transport-grid { flex-direction: column !important; gap: 20px !important; margin: 0 10px !important; }
   .transport-col { padding: 0 !important; border-right: none !important; border-bottom: 1px solid #ddd !important; padding-bottom: 20px !important; }
   .transport-col:last-child { border-bottom: none !important; padding-bottom: 0 !important; }
   .parking-details { flex-direction: column !important; gap: 0px !important; margin: 0; }
   .parking-col { width: 100% !important; }
   .transport-grid > .wp-block-column { border-right: none; border-bottom: 1px solid #ddd; }
   .transport-grid > .wp-block-column:last-child { border-bottom: none; }
   .parking-row { display: flex !important; flex-direction: column; }
   .parking-row:nth-child(2) { flex-direction: column-reverse; }
   .parking-col-img, .parking-col-text { border-right: none; border-left: none !important; border-bottom: 1px solid #ddd; padding: 25px !important; }
   .parking-col-text:last-child { border-bottom: none; }
   .parking-row:last-child .parking-col-img { border-bottom: none; }
   .access-info-text { margin: 0 0 30px 0 !important; }

   /* 上映作品一覧 */
   .movie-list-item-new { flex-direction: column; }
   .movie-poster-new { width: 100%; max-height: 300px; background-color: #ffffff; }
   .movie-info-wrap { padding: 20px; }
   .movie-info-header { flex-direction: column; gap: 10px; }
   .movie-memo-new { max-width: 100%; }
   .movie-title-new { font-size: 1.2rem !important; margin-bottom: 25px !important; }
   .movie-action-buttons { flex-direction: column; gap: 10px; }
   .btn-detail-new, .btn-ticket-new { width: 100%; min-width: auto; }
   .movie-poster-new img { width: auto; }

   /* 上映作品詳細 */
   .movie-single-section { padding: 0; }
   .movie-single-maintitle { font-size: 1.1rem; }
   .movie-single-flex { flex-direction: column; gap: 30px; }
   .movie-single-left, .movie-single-right { width: 100%; }
   .movie-info-table th { width: 35%; padding: 10px; font-size: 0.9rem; }
   .movie-info-table td { padding: 10px; font-size: 0.95rem; }
   .movie-single-buttons { flex-direction: column; }
   .btn-navy { width: 100%; box-sizing: border-box; }

   /* お知らせ一覧ショートコード */
   .news-list-row { align-items: flex-start; min-height: auto; flex-direction: column; }
   .news-list-content { flex-direction: column; align-items: flex-start; gap: 8px; }
   .news-list-meta { width: 100%; }
   .news-list-thumb { width: 90px; margin-left: 0; margin-top: 10px; }
   .news-list-cat { padding: 2px !important; }

   /* 提携店舗・マイマップ（スマホ用） */
   .partner-intro-section { flex-direction: column !important; padding: 0 !important; gap: 25px !important; }
   .partner-intro-map { width: 100% !important; flex: none !important; aspect-ratio: 1 / 1 !important; }
   /* ▼ 中身のiframeにも正方形になるよう指示を追加 */
   .partner-intro-map iframe { aspect-ratio: 1 / 1 !important; height: 100% !important; }
   .partner-grid { grid-template-columns: 1fr !important; }
}

@media screen and (max-width: 600px) {
   .emergency-alert-inner { gap: 5px; }
   .alert-chara-left { width: 40px; }
   .alert-box { padding: 0 5px; border: 1px solid #414141; }
   .alert-mark-icon { width: 20px; }
   .alert-mark-wrap { padding: 10px 8px 10px 0; }
   .alert-item { padding: 10px 0; font-size: 0.9rem; }
   .emergency-alert-wrapper { margin: 20px auto 15px; padding: 0 10px; }

   .page-top-wrapper { bottom: 15px; right: 10px; }
   .navy-heading { font-size: 1.05rem; }

   .fv-section { padding: 0 10px; margin: 0 auto 15px; }
   .side-links-grid { gap: 15px 10px; }
   .side-link-btn { height: 70px; padding: 10px 5px; font-size: 0.95rem; }
   .side-link-btn.link-01 { font-size: 0.7rem; }
   .side-link-btn span { padding: 5px 0; }
   .btn-chara-icon { width: 30px; }

   .info-section { padding: 0 10px; }
   .schedule-box { padding: 15px 5px; }
   .btn-schedule-dl { padding: 10px !important; gap: 10px; font-size: 0.8rem; }

   .btn-news-more { padding: 0px 15px !important; font-size: 0.8rem; }
   .fv-topics-meta .date { font-size: 0.8rem; }
   .fv-topics-list { padding: 15px 10px; }
   .fv-topics-list .ttl { font-size: 0.85rem; }

   .btn-main-link  { padding: 10px !important; font-size: 0.9rem; height: 65px; }
   .btn-main-link::before { top: 12px; left: 12px; right: 12px; bottom: 12px; }
   .sns-links { gap: 15px; justify-content: space-around; margin-top: 30px; }

   .price-section { padding: 0 10px; }
   .point-content { padding: 15px 10px; }
   .point-text strong { font-size: 1rem; }
   .price-note span { font-size: 1rem; }
   .d-note { font-size: 0.85rem; }

   .faq-section { padding: 0 10px; }
   .faq-list { padding: 15px 10px; }

   .footer-bottom.fdt-up-and-down .footer-bottom-content .navi-footer-in > ul { align-items: flex-start; }

   body.single-post .main { min-height: auto; }
   body.single-post .custom-post-nav { gap: 25px !important; }

   /* 提携店舗一覧 */
   .partner-grid { grid-template-columns: 1fr !important; } 
   .partner-body { flex-direction: column !important; } 
   .partner-img-area { width: 100% !important; flex-direction: row !important; align-items: flex-end !important; gap: 15px !important; } 
   .partner-img-area img { width: 120px !important; }

   /* 上映作品一覧（黒いブロックの縦積み） */
   .movie-left-block { flex-direction: column; align-items: center; padding: 20px 15px; }
   .movie-poster { width: 100%; max-width: 320px; margin-bottom: 20px; }
   .movie-left-info { width: 100%; align-items: stretch; gap: 15px; }
   .movie-badges-top { align-items: center; }
   .badge-status-group { flex-direction: row; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }
   .movie-price-box { margin: 0; padding: 15px; }
   .price-amount { font-size: 1.8rem; }
   .price-label br { display: none; }

}

/* ==============================================
   劇場案内 メインページ レイアウト
   ============================================== */
/* 全体のラッパー */
.theater-guide-wrap { max-width: 1200px; margin: 0 auto 60px; font-family: sans-serif; color: #383839; }
.page .article-header { display: none !important; }

/* 1. メインカード（白背景・枠線を削除して透過させる） */
.guide-main-card { background: transparent !important; border-radius: 0 !important; box-shadow: none !important; margin-bottom: 40px; border: none !important; }

/* ページタイトル（ネイビー帯をやめて、共通タイトルと同じ下線付きデザインに） */
.guide-card-header { background: transparent !important; color: #383839 !important; text-align: center !important; padding: 0 0 15px 0 !important; font-size: 1.6rem !important; font-weight: bold !important; margin-top: 41px !important; margin-bottom: 40px !important; border: none !important; position: relative !important; display: block !important; }
.guide-card-header::after { content: "" !important; position: absolute !important; bottom: 0 !important; left: 50% !important; transform: translateX(-50%) !important; width: 120px !important; height: 3px !important; background-color: #383839 !important; }
.guide-card-body { padding: 0 !important; }
.guide-intro-text { line-height: 1.8 !important; font-size: 1.05rem !important; font-weight: bold !important; text-align: left !important; width: fit-content !important; max-width: 100% !important; margin: 0 auto 40px !important; padding: 0 15px !important; box-sizing: border-box !important; }

/* 2. フロアマップ */
.guide-map-area { text-align: center; margin: 0 !important; padding: 0 !important; }
.guide-map-container { position: relative; display: block; max-width: 1100px; margin: 0 auto; line-height: 0; }
.guide-map-container img { width: 100%; height: auto; display: block; margin: 0; padding: 0; }
.guide-map-container br, .guide-map-container p { display: none !important; }

/* クリックエリア */
.map-link-area { position: absolute; display: block; transition: 0.2s; border-radius: 4px; }
.map-link-area:hover { background: rgba(232, 91, 0, 0.4); }
.area-theater1 { left: 59%; top: 75.5%; width: 12.5%; height: 19%; }
.area-theater2 { left: 72%; top: 75.5%; width: 12.5%; height: 19%; }
.area-theater3 { left: 84.9%; top: 75.5%; width: 12.5%; height: 19%; }
.area-theater4 { left: 72%; top: 3%; width: 12.5%; height: 19%; }
.area-ticket { left: 30%; top: 3%; width: 21%; height: 20%; }
.area-shop-1f { left: 52%; top: 3%; width: 7%; height: 20%; }
.area-shop-b2f { left: 28.4%; top: 76%; width: 8%; height: 20%; }
.area-toilet-1f { left: 85.65%; top: 3%; width: 9%; height: 20%; }
.area-toilet-b2f { left: 48.9%; top: 76%; width: 9%; height: 20%; }
.area-waiting { left: 43%; top: 41%; width: 33%; height: 18%; }

/* ==============================================
   3. 劇場案内：下部ボタンエリア（トップページ共通パーツ利用）
   ============================================== */
.theater-button-grid { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 15px !important; margin-bottom: 0 !important; margin: 0 4rem; }
.theater-button-grid br, .theater-button-grid p { display: none !important; }
.theater-button-grid .side-link-btn { background: #f6f5f3 !important; border-radius: 8px !important; padding: 10px 18px !important; box-shadow: 0 2px 6px rgba(0,0,0,0.06) !important; height: auto !important; min-height: 75px !important; display: flex !important; align-items: stretch !important; transition: 0.3s !important; text-decoration: none !important; border: 1px solid #f0eee8 !important; }
.theater-button-grid .side-link-btn:hover { transform: translateY(-3px) !important; box-shadow: 0 4px 10px rgba(0,0,0,0.1) !important; background: #f2efe9 !important; }
.theater-button-grid .side-link-btn span { background: #fff !important; width: 100% !important; border-radius: 4px !important; display: flex !important; align-items: center !important; justify-content: center !important; padding: 10px !important; font-size: 1rem !important; font-weight: bold !important; color: #383839 !important; text-align: center !important; line-height: 1.4 !important; flex-direction: column !important; }
.theater-button-grid .side-link-btn .en { display: none !important; }
.theater-button-grid .side-link-btn .ja { font-size: 0.95rem !important; margin: 0 !important; }
.theater-button-grid .btn-chara-icon { display: none !important; }

/* ==============================================
   スマホ対応（劇場案内用）に追加
   ============================================== */
@media screen and (max-width: 834px) {
   .guide-card-header { margin-top: 0 !important; }
   .guide-card-body { padding: 25px 20px; }
   .guide-intro-text { font-size: 0.9rem; text-align: left; margin-bottom: 25px !important; }
   .theater-button-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; margin: 0; }
   .theater-button-grid .side-link-btn { padding: 6px !important; min-height: 60px !important; }
   .theater-button-grid .side-link-btn span { padding: 10px 0 !important; font-size: 0.75rem !important; }
   .theater-button-grid .side-link-btn .ja { font-size: 0.85rem !important; }
}