@charset "utf-8";

/* =========================================================
   new-template 用 埋め込みCSS（ベース＋ヘッダー＋INTRODUCTION）
   ========================================================= */

/* フォント・アイコン・inview */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Kaisei+Decol:wght@400;700&display=swap');
@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css");
@import url("inview.css");


/* ブラウザのデフォルト余白をリセット（デモ用） */
body {
   margin: 0;
   padding: 0;
}

/* ---------------------------------------------------------
   テキストのフェードイン（.fade-in-text 用）
   --------------------------------------------------------- */
@keyframes fadeIn {
   0% {
      opacity: 0;
      transform: scale(0.1) rotate(-30deg);
   }

   100% {
      opacity: 1;
      transform: scale(1) rotate(0deg);
   }
}

.new-template .fade-in-text {
   visibility: hidden;
}

.new-template .char {
   display: inline-block;
   opacity: 0;
   animation: fadeIn 0.2s linear both;
}


/* KVアニメーション中はページ全体をスクロール不可にする */
#page-frame.initial-hide {
overflow: hidden;
}


html.scroll-lock,
body.scroll-lock {
  overflow: hidden;
  position: fixed;
  width: 100%;
}



/* ---------------------------------------------------------
   ベース
   --------------------------------------------------------- */
.new-template {
   /* カスタムプロパティ（このテンプレ内だけで使用） */
   --primary-color: #F8F6F3;
   --primary-inverse-color: #725A4C;
   --secondary-color: #544538;
   --secondary-inverse-color: #fff;
   --accent-color: #e146a1;
   --accent-inverse-color: #fff;
   --global-space: 20px;

   font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",
      "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
   line-height: 2.5;

   color: var(--primary-inverse-color);
}

/* .shugo-chara{
	   background-color: #fff;
   background-image: url("/wp-content/uploads/syugo-bg-re.png");
   background-repeat: no-repeat;
   background-position: center top;
   background-size: cover;
   background-attachment: fixed;
	
} */

.new-template *,
.new-template *::before,
.new-template *::after {
   box-sizing: border-box;
}

.new-template img {
   border: none;
   max-width: 100%;
   height: auto;
   vertical-align: middle;
}

.new-template a {
   color: inherit;
   transition: 0.3s;
}

.new-template a:hover {
   text-decoration: none;
}

/* new-template 内の ul の余白をリセット（外側のサイトに影響しない） */
.new-template ul {
   padding: 0;
}


/* ---------------------------------------------------------
   KV用：initial-hide / main-visible によるフェード制御（demo用）
   ※ index.html と動きを揃えるため、body クラスをそのまま利用
   --------------------------------------------------------- */
#page-frame.initial-hide main,
#page-frame.initial-hide #side-logo,
#page-frame.initial-hide #header-menu,
#page-frame.initial-hide #menubar,
#page-frame.initial-hide .main-bg,
body.initial-hide .new-template .chara-deco  {
   opacity: 0;
   pointer-events: none;
}

#page-frame.main-visible main,
#page-frame.main-visible #side-logo,
#page-frame.main-visible #header-menu,
#page-frame.initial-hide .main-bg,
#page-frame.main-visible #menubar {
   opacity: 1;
   pointer-events: auto;
}

/* コンテンツ本体とロゴ・ナビのフェード速度（index.html と合わせる） */
main {
   transition: opacity 3s ease;
}

#side-logo,
#header-menu,
#menubar {
   transition: opacity 7s ease;
}


/* 中央カラム全体のフレーム（KV〜INTROまでを囲む想定） */
.new-template #page-frame {
   max-width: 768px;
   margin: 0 auto;
   box-shadow: 0 0 0 rgba(178, 145, 23, 0);
   background: transparent;
   transition: box-shadow 3s ease;
}

#page-frame.main-visible {
   box-shadow: 0 0 40px rgba(178, 145, 23, 0.35)!important;
}



@media (max-width: 768px) {
#page-frame.main-visible {
box-shadow: 0 0 10px rgba(178, 145, 23, 0.1)!important;
}}



/* ---------------------------------------------------------
   ヘッダー（KVエリア）
   --------------------------------------------------------- */
.new-template header {
   position: relative;
}

.new-template header .contents {
   color: #fff;
   padding: 0;
   display: flex;
   align-items: flex-start;
   border: none;
   box-shadow: none;
}

/* KVスライドショー */
.new-template header .kv-slideshow {
   position: relative;
   width: 100%;
   z-index: 0;
   overflow: hidden;
}

.new-template header .kv-slideshow::before {
   content: '';
   display: block;
   padding-top: 56.25%;
   /* 16:9 */
}

.new-template header .kv-slide {
   position: absolute;
   inset: 0;
   background-size: cover;
   background-position: center;
   background-repeat: no-repeat;
   background-color: transparent;
   opacity: 0;
   transition: opacity 1s ease-in-out;
}

.new-template header .kv-slide.is-active {
   opacity: 1;
}

.new-template header .kv-slide.kv01 {
   background-image: url("/wp-content/uploads/1205_syugo-01.png");
   z-index: 1;
}

.new-template header .kv-slide.kv02 {
   background-image: url("/wp-content/uploads/1205_syugo-02.png");
   z-index: 2;
}

.new-template header .kv-slide.kv03 {
   background-image: url("/wp-content/uploads/1205_syugo-03.png");
   z-index: 3;
}

.new-template header .kv-slide.kv04 {
   background-image: url("/wp-content/uploads/1205_syugo-04.png");
   z-index: 4;
}

.new-template header .kv-slide.kv05 {
   background-image: url("/wp-content/uploads/1205_syugo-05.png");
   z-index: 5;
   transition-duration: 3s;
}

.new-template header .kv-slide.kv06 {
   background-image: url("/wp-content/uploads/1205_syugo-06.png");
   z-index: 6;
   transition-duration: 4s;
}

.new-template header .kv-slide.kv07 {
   background-image: url("/wp-content/uploads/1205_syugo-07.png");
   z-index: 7;
   transition-duration: 4s;
}

.new-template header .kv-slide.kv08 {
   background-image: url("/wp-content/uploads/1205_syugo-08.png");
   z-index: 8;
   transition-duration: 4s;
}

.new-template header .kv-slide.kv09 {
   background-image: url("/wp-content/uploads/1205_syugo-09.png");
   z-index: 9;
   transition-duration: 4s;
}

/* KV直下の 1205_syugo-10.png */
.new-template #kv10 {
   width: 100%;
   max-width: 768px;
   margin: 0 auto;
   opacity: 0;
   transition: opacity 3s ease;
}

.new-template #kv10.is-active {
   opacity: 1;
}

.new-template #kv10 img {
   display: block;
   width: 100%;
   height: auto;
}


/* 左ロゴ＋INTRODUCTIONナビ（PC） */
.new-template #side-logo {
   display: none;
}

@media screen and (min-width:1201px) {
   .new-template #side-logo {
      display: block;
      position: fixed;
      z-index: 1;
      left: calc(25% - 192px);
      transform: translateX(-50%);
      top: 80px;
      max-width: 133px;
   }

   .new-template #side-logo img {
      width: 100%;
      height: auto;
   }

   .new-template #header-menu {
      display: block;
      margin-top: 24px;
   }

   .new-template #header-menu li {
      list-style: none;
   }

   .new-template #header-menu li a {
      text-decoration: none;
	           letter-spacing: 0.03rem;
        font-weight: 400;
      display: block;
      background: transparent;
      color: var(--primary-inverse-color);
/*       margin-bottom: 8px; */
      border-radius: 0;
      padding: 0;
/*       font-size: 1rem; */
      text-align: center;
      font-family: "Kaisei Decol", serif;
   }

   .new-template #header-menu li a:hover {
      background: transparent;
      color: var(--accent-color);
   }
}


/* ---------------------------------------------------------
   INTRODUCTION（kodawari セクション）
   --------------------------------------------------------- */
.new-template main {
   position: relative;
}

.new-template .section {
   position: relative;
}

.new-template .contents {
   background-color: transparent;
   color: var(--primary-inverse-color);
   padding: var(--global-space);
   position: relative;
   overflow-x: hidden;
   transition: background-color 3s ease;
}

@media screen and (min-width:600px) {
   .new-template .contents {
      max-width: 768px;
      margin: 0 auto;
      overflow-x: visible;
   }
}

/* INTRODUCTION コンテンツ背景のフェードイン（KVが出揃った後） */
body.main-visible .new-template main .contents {
   background-color: #fff;
}


/* =========================================================
   INTRODUCTION 以下の共通パーツ
   - dl.table（MYSTERY / GOODS / DRINK / TICKET など）
   - notice-accordion（注意事項）
   - FAQ
   ========================================================= */

/* tableっぽいdl */
.new-template dl.table {
   display: grid;
   grid-template-columns: 160px auto;
   margin-bottom: 0;
   line-height: 1.8;
   background: transparent;
   border-radius: 0;
   overflow: hidden;
   gap: 0;
}

.new-template dl.table dt,
.new-template dl.table dd {
   padding: 18px 0;
   border-bottom: 1px solid #e8e8e8;
   transition: background-color 0.2s ease;
}

.new-template dl.table dt {
   background: transparent;
   font-weight: 500;
   color: #888;
   font-size: 0.9rem;
   letter-spacing: 0.02em;
}

.new-template dl.table dd {
   font-weight: 400;
   color: #333;
   padding-left: 24px;
}

/* 行全体を使いたい行（利用可能な決済方法 など） */
/* .new-template dl.table dt.full-row,
.new-template dl.table dd.full-row {
   grid-column: 1 / -1;
} */

.new-template dl.table dt.full-row {
   padding-bottom: 4px;
   border-bottom: none;
   font-size: 0.9rem;
   color: #888;
}

.new-template dl.table dd.full-row {
   padding-top: 4px;
   padding-left: 0;
}

/* 最後の行のボーダーを削除 */
.new-template dl.table dt:last-of-type,
.new-template dl.table dd:last-of-type {
   border-bottom: none;
}

/* ホバー効果（行全体） */
.new-template dl.table dt:hover,
.new-template dl.table dt:hover+dd {
/*    background-color: #fafafa; */
}

@media screen and (max-width:768px) {
   .new-template dl.table {
      grid-template-columns: 1fr;
   }

   .new-template dl.table dt,
   .new-template dl.table dd {
      padding: 14px 0;
   }

   .new-template dl.table dt {
      border-bottom: none;
      padding-bottom: 6px;
      font-size: 0.85rem;
   }

   .new-template dl.table dd {
      padding-top: 6px;
      padding-left: 0;
   }

   .new-template dl.table dt.full-row,
   .new-template dl.table dd.full-row {
      grid-column: 1 / -1;
   }
}


/* 注意事項アコーディオン（MYSTERY / EXHIBITION / GOODS / DRINK / TICKET など） */
.new-template .notice-accordion {
   margin-top: 40px;
}

.new-template .notice-accordion h3.openclose {
   margin: 0;
   padding: 16px 50px 16px 20px;
   font-size: 1rem;
   line-height: 1.6;
   cursor: pointer;
   background: #fff;
   color: var(--primary-inverse-color);
   position: relative;
   transition: all 0.3s ease;
   border: 1px solid #c64476;
   border-radius: 6px;
   font-weight: 500;
}

.new-template .notice-accordion h3.openclose:hover {
/*    background: #fafafa; */
}

.new-template .notice-accordion h3.openclose::before {
   content: '⚠';
   margin-right: 8px;
   color: #c64476;
}

.new-template .notice-accordion h3.openclose::after {
   content: '▼';
   position: absolute;
   right: 20px;
   top: 50%;
   transform: translateY(-50%);
   font-size: 0.8rem;
   color: #999;
   transition: transform 0.3s ease;
}

.new-template .notice-accordion h3.openclose.active::after {
   transform: translateY(-50%) rotate(180deg);
}

.new-template .notice-content {
   padding: 28px 24px;
   background: #fff;
   border: 1px solid #f0f0f0;
   border-top: none;
   border-radius: 0 0 6px 6px;
   margin-top: -6px;
   display: none;
}

.new-template .notice-content p {
   margin: 0 0 12px 0;
   line-height: 1.6;
   font-size: 0.9rem;
   color: #555;
}

.new-template .notice-content p:last-child {
   margin-bottom: 0;
}

.new-template .notice-content strong {
   color: var(--primary-inverse-color);
   font-weight: 600;
}


/* FAQ アコーディオン */
.new-template .faq-container {
   margin: var(--global-space) 0;
}

.new-template .faq-item {
   margin-bottom: 15px;
   border: 1px solid #ddd;
   border-radius: 8px;
   overflow: hidden;
   background: #fff;
   transition: all 0.3s ease;
}

.new-template .faq-item h3.openclose {
   margin: 0;
   padding: 16px 50px 16px 20px;
   font-size: 0.9rem;
   font-weight: 500;
   line-height: 1.6;
   cursor: pointer;
   background: var(--primary-color);
   color: var(--primary-inverse-color);
   position: relative;
   transition: all 0.3s ease;
}

.new-template .faq-item h3.openclose:hover,
.new-template .faq-item h3.openclose.active {
background: #f0ece5;	/* さらに淡いピンク（ごく薄いトーン） */
   background: rgba(255, 238, 246, 0.35);
}	

.new-template .faq-item h3.openclose::after {
   content: '+';
   position: absolute;
   right: 20px;
   top: 50%;
   transform: translateY(-50%);
   font-size: 1.5rem;
   font-weight: bold;
   color: var(--accent-color);
   transition: transform 0.3s ease;
}

.new-template .faq-item h3.openclose.active::after {
   content: '−';
   transform: translateY(-50%) rotate(180deg);
}

.new-template .faq-answer {
   padding: 0 20px;
   background: #fff;
   display: none;
}

.new-template .faq-answer p {
   padding: 15px 0;
   margin: 0;
   line-height: 1.8;
   color: #555;
}

/* h2見出し */
.new-template .contents h2 {
   margin: 0 0 30px 0;
   line-height: 1.8;
   padding: 20px 0;
   font-size: 1.8rem;
   text-align: center;
}

.new-template .contents h2 span.hosoku {
   display: block;
   font-size: 0.7rem;
   letter-spacing: 0.1em;
   padding-bottom: 0.5rem;
}

/* セクション画像 */
.new-template .section-image {
   display: block;
   width: 100%;
   max-width: 100%;
   height: auto;
   margin-bottom: 30px;
   border-radius: 8px;
}

/* kodawari セクション固有 */
.new-template #kodawari .bg1 {
   background: #F0ECE5;
   padding: 20px 60px;
   margin: 0 calc(-1 * var(--global-space));
}

.new-template #kodawari .event-lead {
   font-size: 1.1rem;
   line-height: 2;
   font-weight: 500;
   text-align: left;
   text-indent: 0;
}

.new-template #kodawari .event-lead p {
   margin: 0 0 0.8em 0;
}

.new-template #kodawari .event-lead p:last-child {
   margin-bottom: 0;
}

@media screen and (min-width:900px) {
   .new-template #kodawari .event-lead {
      max-width: 42em;
      margin: 0 auto;
      text-align: center;
   }
}






/* =========================================
   page-id-20270 専用：スクロールバー調整
   ・余白は常に確保
   ・バーは表示しない
   ・ガクッ防止
   ========================================= */

/* ID20270ページ限定 */
.page-id-20270 {
/*   scrollbar-gutter: stable; */
}


/* KVアニメーション中 */
.page-id-20270.kv-lock {
  overflow-y: scroll; /* スペースは出す */
}

/* バーだけ非表示（Webkit系） */
.page-id-20270.kv-lock::-webkit-scrollbar {
  width: 0;
}

/* Firefox */
.page-id-20270.kv-lock {
  scrollbar-width: none;
}



.new-template .shugo-chara .copy{
	background: linear-gradient(
  to bottom,
  rgba(255, 255, 255, 1), /* 上：薄い白 */
  rgba(255, 255, 255, 0.5)    /* 下：真っ白 */
);
	margin: 0 auto;
    text-align: center;
}

.new-template .shugo-chara .copy2{
	background: linear-gradient(
  to bottom,
  rgba(255, 255, 255, 0.5), /* 上：薄い白 */
  rgba(255, 255, 255, 1)    /* 下：真っ白 */
);
	margin: 0 auto;
    text-align: center;
}



.new-template .shugo-chara #goods{
	background:linear-gradient(to bottom, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0.5));
}


.new-template .shugo-chara .goods-yokoku{
	margin:0 auto 2rem;
	max-width:500px;
}