@charset "utf-8";
/* CSS Document - style_custom.css */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Noto+Sans+JP:wght@100..900&family=Zen+Maru+Gothic:wght@300;400;500;700&display=swap');
/* ==============================================
   1. 基本リセット・共通設定
   ============================================== */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
html, body {
  min-height: 100%;
  background: #fff6fa !important;
}
body {
  position: relative;
  background: transparent !important;
  isolation: isolate;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(circle at 15% 8%, rgba(255, 190, 220, 0.88) 0, rgba(255, 190, 220, 0.48) 260px, transparent 560px), radial-gradient(circle at 88% 18%, rgba(255, 218, 232, 0.86) 0, rgba(255, 218, 232, 0.46) 280px, transparent 580px), radial-gradient(circle at 8% 55%, rgba(165, 225, 255, 0.48) 0, rgba(165, 225, 255, 0.22) 300px, transparent 640px), radial-gradient(circle at 20% 42%, rgba(255, 236, 170, 0.78) 0, rgba(255, 236, 170, 0.18) 300px, transparent 620px), radial-gradient(circle at 90% 72%, rgba(185, 245, 215, 0.42) 0, rgba(185, 245, 215, 0.20) 320px, transparent 660px), radial-gradient(circle at 86% 60%, rgba(255, 205, 225, 0.58) 0, rgba(255, 205, 225, 0.24) 300px, transparent 620px), radial-gradient(circle at 18% 82%, rgba(235, 215, 255, 0.76) 0, rgba(235, 215, 255, 0.15) 300px, transparent 620px), linear-gradient(180deg, #fff8fb 0%, #ffeef5 28%, #fff4f8 52%, #fff8e8 76%, #fff1f7 100%) !important;
  background-repeat: no-repeat !important;
  background-size: 100% 100% !important;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
ul {
  list-style: none;
}
ul::after {
  content: ".";
  clear: both;
  height: 0;
  display: block;
  visibility: hidden;
}
sup {
  font-size: 10px;
  line-height: 10px;
}
a {
  color: #222222;
  text-decoration: none;
  transition: 0.2s ease-out;
}
a:hover {
  opacity: 0.7;
}
.sp {
  display: none !important;
}
.text-red {
  color: red;
}
.btn-ended {
  background: #6bc8df !important;
}
.is-hidden {
  display: none !important;
}
/* ==============================================
   2. レイアウト基盤（#park-top & 各共通エリア）
   ============================================== */
#park-top {
  position: relative;
  margin: 0 auto;
  padding: 0;
  overflow: clip;
}
#park-top::after {
  content: '';
  background: url("../images/park_bg_pc_tcs.png") repeat, linear-gradient(34deg, #9de4dd, #bdecd6 31%, #fbb991 99%);
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0px;
  left: 0;
  right: 0;
  margin: 0 auto;
  z-index: -99;
}
#park-top h1, #park-top h2, #park-top h3, #park-top h4, #park-top h5, #park-top p, #park-top th, #park-top td, #park-top dt, #park-top dd, #park-top li, #park-top input, #park-top select {
  font-family: "Roboto", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 300;
  font-size: 15px;
  line-height: 28px;
  letter-spacing: 0.5px;
  color: #222222;
}
#park-top h1, #park-top h2, #park-top h3, #park-top h4, #park-top h5, #park-top div, #park-top table, #park-top th, #park-top td, #park-top dl, #park-top dt, #park-top dd, #park-top ul, #park-top li, #park-top p, #park-top a, #park-top strong, #park-top span, #park-top input, #park-top select {
  box-sizing: border-box;
  font-weight: 400;
}
#park-top img {
  width: 100%;
  height: auto;
  border: none;
  vertical-align: middle;
}
#park-top .contents_top, #park-top .contents_bottom {
  max-width: 600px;
  margin: 0 auto;
}
#hero, #news, #paid-ticket-memo, #introduction {
  width: 100%;
  max-width: 720px;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box;
}
/* ヘッダー & フッター */
header, #park-top header {
  position: relative;
  background: #FFF;
  padding: 0;
  margin: 0 auto;
}
.header_wraper {
  background: #fff;
  width: 100%;
}
footer, #park-top footer {
  background: #FFF;
  padding: 0;
  margin: 0;
}
footer .copy {
  font-size: 12px !important;
  line-height: 12px !important;
  font-weight: 500 !important;
  text-align: center;
}
footer .external p, footer .flex ul li a {
  font-size: 14px !important;
  line-height: 14px !important;
}
footer .reproduction, #park-top footer .reproduction {
  background: #FFF;
  margin: 0;
  padding: 20px;
}
.bread_area {
  background: #fff;
  margin: 0;
  font-size: 12px !important;
}
.bread_area .inner {
  margin: 0 auto;
  padding-top: 8px;
}
.js-footer_btn_top {
  margin-top: 0;
  padding-top: 10px;
}
/* 共通ボタン設定 */
#park-top .btn a {
  position: absolute;
  width: 36%;
  bottom: 40px;
  right: 0;
  z-index: 9;
  padding: 20px 10px 0 10px;
}
#park-top .btn img {
  box-shadow: 0px 8px 10px 0px rgba(0, 0, 0, 0.3);
  border-radius: 200px;
}
#park-top .button {
  text-align: center;
}
#park-top .button a {
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
  color: #FFF;
  background: #ef858c url("../images/prk_cnt_mn_arw.png") no-repeat;
  background-size: 8px 13px;
  background-position: 96% 50%;
  text-align: center;
  display: inline-block;
  border-radius: 10px;
  padding: 10px 40px;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
}
#park-top .button.off a {
  background: #ffe7e5;
  color: #636060;
  display: block;
  margin: 0 8%;
  padding: 16px 0;
  font-size: 16px;
  font-weight: 600;
  border-radius: 100px;
  pointer-events: none;
  position: relative;
  font-family: "Zen Maru Gothic";
}
#park-top .button.off a::after {
  content: '';
  background: url("../images/prk_cnt_stg_btntx.png") no-repeat;
  background-size: contain;
  position: absolute;
  width: 30%;
  height: 60px;
  top: -20px;
  left: 0;
}
#park-top .button.on a {
  color: #fff;
  display: block;
  margin: 0 8%;
  padding: 16px 0;
  font-size: 16px;
  font-weight: 600;
  border-radius: 100px;
  background: #eca887 url("../images/prk_cmn_arw.png") no-repeat;
  background-size: 11px 16px;
  background-position: 95% 50%;
  box-shadow: 0px 10px 10px 0px rgba(190, 190, 190, 0.8);
  font-family: "Zen Maru Gothic";
}
#park-top .button.off a span, #park-top .contents .button span {
  font-size: 12px;
  line-height: 12px;
  font-weight: 500;
  color: #6b6b69;
  font-family: "Zen Maru Gothic";
}
#park-top .commingsoon_area {
  padding: 20px 0;
}
#park-top .contents_eria {
  position: relative;
}
#park-top .contents_eria::before {
  content: "";
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  z-index: -2;
  width: 100%;
  max-width: 600px;
  height: 100vh;
  background-repeat: no-repeat;
  background-position: 50% 100%;
  background-image: url(../images/park_cont_bg.png);
  background-size: cover;
  overflow: hidden;
}
#park-top .note {
  font-family: "Noto Sans JP";
}
/* ==============================================
   3. メインコンポーネント & セクション設定
   ============================================== */
#content_fr {
  max-width: 600px;
  margin: 0.5em auto 0;
  background:
    radial-gradient(circle at 20% 0%, rgba(185, 245, 235, 0.55) 0, rgba(185, 245, 235, 0.25) 260px, transparent 520px), radial-gradient(circle at 85% 0%, rgba(255, 220, 235, 0.55) 0, rgba(255, 220, 235, 0.25) 260px, transparent 520px), linear-gradient(180deg, #fff8fb 0%, #eefbf8 45%, #fff8fb 100%) !important;
}

#content_fr_tx {
   padding: 0 4%;
}

/* Hero */
#hero {
  position: relative;
  max-width: 600px;
}
#hero img {
  display: block;
}
#park-top #hero .hero_slider.open {
  display: block;
}
#park-top #hero .hero_slider.close {
  display: none;
}
#park-top #hero .hero_slider {
  position: relative;
}
#park-top #hero .hero_slideshow.open {
  display: block;
}
#park-top #hero .hero_slideshow.close {
  display: none;
}
#park-top #hero .hero_slideshow {
  background: url("../images/park_hr02_bg.png") no-repeat top;
  background-size: 100%;
  position: relative;
  padding: 10px 0 43% 0;
  max-width: 600px;
  z-index: 1;
}
#park-top #hero .hero_slideshow .ttl {
  margin: 0 auto;
  position: absolute;
  text-align: center;
  bottom: 3%;
  z-index: 100;
}
#park-top #hero .hero_slideshow .ttl img {
  width: 90%;
}
#park-top #hero .hero_slideshow .badge {
  width: 20%;
  position: absolute;
  top: 20%;
  right: 5px;
  z-index: 100;
}
#park-top #hero .slide_photo {
  position: relative;
  margin: 2% 3%;
  padding: 0 0 45% 0;
  border-radius: 58px;
  background: none;
  z-index: 0;
}
#park-top #hero .slide_photo img {
  display: block;
  position: absolute;
  border-radius: 58px;
  width: 100%;
  height: inherit;
  opacity: 0;
  background: none;
  animation: slideAnime03 18s 0s ease infinite;
}
#park-top #hero .slide_photo img:nth-of-type(1) {
  animation-delay: 0s;
}
#park-top #hero .slide_photo img:nth-of-type(2) {
  animation-delay: 6s;
}
#park-top #hero .slide_photo img:nth-of-type(3) {
  animation-delay: 12s;
}
#park-top #hero .chara {
  position: absolute;
  width: 35%;
  bottom: 0px;
  right: 0px;
}
#park-top #hero .splide__pagination {
  bottom: -1.5em;
}
#park-top #hero .splide__pagination__page.is-active {
  background: #c7ebeb;
}
#park-top #hero .hero_bt {
  margin: 1em 0 0 0;
}
/* Floating Banner */
#park-top .floating_banner {
  position: fixed;
  z-index: 99;
  bottom: -220px;
  right: 0;
  width: 400px;
  transition: 0.4s ease-out;
}
#park-top .floating_banner .badge {
  width: 14%;
  position: absolute;
  top: 10px;
  left: 13%;
  animation: 6s linear infinite rotation1;
}
#park-top .floating_banner .badgetext {
  position: absolute;
  width: 9%;
  top: 17%;
  left: 15%;
  text-align: center;
  font-weight: 600;
}
#park-top .floating_banner.on {
  bottom: 0px;
}
/* News */
#news, #park-top #news {
  height: auto !important;
  min-height: 0 !important;
  padding: 30px 0 0 !important;
  margin: 0 auto !important;
  width: 100%;
  text-align: center;
  background: #f3f3e9;
  max-width: 600px;
}
#news h2, #park-top #news h2 {
  font-size: 2.5rem;
  line-height: 1.2em;
  margin: 0 !important;
  color: #636060;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  display: inline-block;
  background: linear-gradient(34deg, #9de4dd, #bdecd6 31%, #fbb991 99%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
#news p, #park-top #news p {
  font-size: 12px;
  line-height: 24px;
  font-weight: 600;
  text-align: left;
  padding: 10px;
}
#news .main_slide02, #news .splide, #news .splide__track, #news .splide__list {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}
/* Introduction */
#park-top #introduction {
  background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 85%, rgba(199, 236, 237, 1) 100%);
  padding: 0 0 20px 0;
  margin: 0 auto;
  position: relative;
  max-width: 600px;
}
#park-top #introduction h2 {
  font-size: 16px;
  line-height: 24px;
  font-weight: 700;
  text-align: center;
  padding: 0;
  margin: 0;
}
#park-top #introduction p {
  text-align: left;
  font-size: 14px;
  line-height: 28px;
  font-weight: 500;
  letter-spacing: -0.8px;
  padding: 20px 0;
  margin: 0 8%;
  color: #8b4800;
  font-family: "Zen Maru Gothic";
}
#park-top #introduction .movie {
  margin: 0 auto;
  text-align: center;
}
#park-top #introduction .movie.off {
  display: none;
}

#park-top #introduction .movie h2.movie-title {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 340px !important;
  max-width: 80% !important;
  min-height: 62px !important;
  margin: 10px auto 18px !important; /* 上マージン40pxを保持 */
  padding: 10px 20px !important;
  background: linear-gradient(90deg, #a7eadb 0%, #f6bd9a 100%) !important;
  border-radius: 14px !important;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 16px !important;
    font-weight: 900;
  line-height: 1.35 !important;
  letter-spacing: 0.06em !important;
  font-weight: 900 !important;
  color: #7a4a22 !important;
  -webkit-text-fill-color: #7a4a22 !important;
  text-align: center !important;
  text-indent: 0 !important;
  overflow: visible !important;
}

#park-top #introduction .movie iframe {
  border-radius: 30px;
}
#park-top #introduction .movie .note {
  font-size: 12px;
  line-height: 28px;
  font-weight: 400;
  font-family: "Noto Sans JP";
  color: #363636;
  text-align: center;
  padding: 0;
  margin: 0;
}
#park-top #introduction .close_text {
  text-align: center;
  font-weight: 600;
  font-size: 16px;
  line-height: 22px;
  color: #ff0078;
  letter-spacing: -0.8px;
  padding: 10px 0;
  margin: 10px 5%;
  border-radius: 10px;
  background: #FFE4E4;
}
#park-top #introduction .entry {
  background: #fff url("../images/prk_intr_entbg.png") no-repeat;
  background-size: 100%;
  border-radius: 30px 30px 0 0;
  padding: 60px 0 10px 0;
  margin: 60px 0 0 0;
}
#park-top #introduction .entry_box {
  background: #fff;
  margin: 40px 5% 20px 5%;
  padding: 15px 0 30px 0;
  border-radius: 30px;
  position: relative;
}
#park-top #introduction .entry_box p {
  color: #363636;
  font-size: 20px;
  line-height: 32px;
  font-weight: 600;
  text-align: center;
  padding: 0 0 15px 0;
  margin: 0;
  font-family: "Zen Maru Gothic";
}
#park-top #introduction .entry_box p span {
  font-size: 16px;
  line-height: 16px;
  background: #e4926a;
  color: #fff;
  padding: 5px 13px;
  border-radius: 10px;
  margin: 0 10px 0 0;
  font-family: "Zen Maru Gothic";
}
#park-top #introduction .entry .tamachan {
  position: absolute;
  width: 15%;
  top: -10px;
  left: 0;
}
#park-top #introduction .entry .hiyochan {
  position: absolute;
  width: 15%;
  top: -10px;
  right: 0;
}
#park-top #introduction .entry::after {
  content: '';
  background-size: 100%;
  height: 25px;
  position: absolute;
  bottom: -23px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
#park-top #introduction .entry h3 {
  margin: -40px 0 0 0;
  position: absolute;
}
#park-top #introduction .entry .button a {
  margin: 0;
  background: #fff url("../images/prk_intr_ent_btnbg.png") repeat;
  background-position: center;
  background-size: cover;
  font-size: 18px;
  line-height: 28px;
  font-weight: 600;
  font-family: "Zen Maru Gothic";
  padding: 13px 0;
  color: #824b18;
  width: 80%;
  border-radius: 50px;
  box-shadow: 0px 10px 10px 0px rgba(215, 190, 193, 0.8);
  position: relative;
}
#park-top #introduction .entry .button a::after {
  content: '';
  background: url("../images/prk_ent_arw.png") no-repeat;
  background-size: contain;
  width: 10px;
  height: 15px;
  position: absolute;
  top: 35%;
  right: 4%;
}
#park-top #introduction .entry .note {
  padding: 0;
  text-align: left;
  font-size: 12px;
  line-height: 20px;
  color: #363636;
}
#park-top #introduction .note {
  padding: 20px 20px 0 20px;
  text-align: left;
  font-size: 12px;
  line-height: 20px;
}
#park-top #introduction .scroll-magazin .scroll-infinity__wrap {
  display: flex;
  overflow: hidden;
}
#park-top #introduction .scroll-magazin .scroll-infinity__list {
  display: flex;
  list-style: none;
  padding: 5px 0 0 0;
  margin: 0;
}
#park-top #introduction .scroll-magazin .scroll-infinity__item {
  width: calc(100vw / 8);
  padding: 40px 3px 0 3px;
}
#park-top #introduction .scroll-magazin .scroll-infinity__item > img {
  width: 100%;
  max-width: 300px;
}
#park-top #introduction .scroll-magazin .scroll-infinity__list--right {
  animation: infinity-scroll-magazin 40s infinite linear 0.1s both;
}
#park-top #introduction .scroll-infinity-box {
  padding: 20px 0;
}
/* Contents Menu */
#park-top #contents_menu {
  background: #C7ECED;
  margin: 0 auto 40px auto;
  padding: 30px 0 40px 0;
  position: relative;
  max-width: 600px;
}
#park-top #contents_menu h2 {
  font-size: 2.5rem;
  line-height: 1.2em;
  margin: 0 auto;
  padding: 0 0 20px 0;
  color: #fff;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  text-align: center;
  position: relative;
}
#park-top #contents_menu ul li a {
  background: linear-gradient(90deg, #fff 0%, #fff 92%, #cce6ac 8%, #cce6ac 100%);
  margin: 5px 2%;
  padding: 8px 10% 8px 5%;
  display: block;
  border-radius: 15px;
  color: #363636;
  font-size: 1.4rem;
  line-height: 2.4rem;
  font-family: "Zen Maru Gothic";
  font-weight: 600;
  box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.2);
  position: relative;
}
#park-top #contents_menu ul li a::after {
  content: '';
  background: url("../images/prk_cmn_arw.png") no-repeat;
  background-size: contain;
  width: 10px;
  height: 15px;
  position: absolute;
  top: 35%;
  right: 3%;
}
#park-top #contents_menu ul li a span {
  color: #a0ca6c;
  font-size: 14px;
  line-height: 24px;
  font-weight: 600;
  font-family: "Zen Maru Gothic";
}
#park-top #contents_menu ul li:nth-child(2) a, #park-top #contents_menu ul li:nth-child(6) a, #park-top #contents_menu ul li:nth-child(10) a {
  background: linear-gradient(90deg, #fff 0%, #fff 92%, #c0e4e4 8%, #c0e4e4 100%);
}
#park-top #contents_menu ul li:nth-child(2) a span, #park-top #contents_menu ul li:nth-child(6) a span, #park-top #contents_menu ul li:nth-child(10) a span {
  color: #7ecceb;
}
#park-top #contents_menu ul li:nth-child(3) a, #park-top #contents_menu ul li:nth-child(7) a {
  background: linear-gradient(90deg, #fff 0%, #fff 92%, #eca887 8%, #eca887 100%);
}
#park-top #contents_menu ul li:nth-child(3) a span, #park-top #contents_menu ul li:nth-child(7) a span {
  color: #e68a5d;
}
#park-top #contents_menu ul li:nth-child(4) a, #park-top #contents_menu ul li:nth-child(8) a {
  background: linear-gradient(90deg, #fff 0%, #fff 92%, #c6c6f3 8%, #c6c6f3 100%);
}
#park-top #contents_menu ul li:nth-child(4) a span, #park-top #contents_menu ul li:nth-child(8) a span {
  color: #8686da;
}
/* Stage Section */
#stage h2 {
  margin-top: -50px !important;
  margin-bottom: 45px !important;
}
#park-top #stage {
  position: relative;
  margin: 0 auto;
  padding: 120px 0 0;
  background: #fff;
  background-position: top;
  max-width: 100%;
 padding: 0 0 11em;
}
#park-top #stage img {
  vertical-align: bottom;
  padding: 0;
  margin: 0;
}
#park-top #stage h2 {
  position: absolute;
  padding: 0;
  top: -170px;
  left: 0;
}
#park-top #stage .tamahiyo_chara {
  position: absolute;
  width: 25%;
  top: -20px;
  right: 0%;
}
#park-top #stage ul li {
  position: relative;
}
#park-top #stage ul li .guest_number {
  background: linear-gradient(34deg, #9de4dd, #bdecd6 31%, #d7ef72 99%);
  padding: 8px 28px;
  margin: 0;
  border-radius: 0 20px 20px 0;
  color: #363636;
  font-size: 16px;
  line-height: 24px;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  position: absolute;
  top: 80px;
  z-index: 1;
}
#park-top #stage ul li .box {
  display: flex;
}
#park-top #stage ul li .guest_image {
  width: 45%;
}
#park-top #stage ul li .name {
  width: 50%;
  font-size: 2.4rem;
  line-height: 2.4rem;
  font-weight: 600;
  padding: 25% 0 10% 0;
  font-family: "Zen Maru Gothic";
}
#park-top #stage ul li .name span {
  font-size: 16px;
  line-height: 16px;
  font-weight: 600;
  padding: 25% 0 10% 0;
  font-family: "Zen Maru Gothic";
}
#park-top #stage .profile {
  font-size: 14px;
  line-height: 24px;
  padding: 10px 0 20px 0;
  font-weight: 500;
}
#park-top #stage h3 {
  max-width: 600px;
  background: url(../images/prk_h3_bg_tc.png), linear-gradient(-180deg, #cef09b, #eaffc9 50%, #f5fdd9 99%);
  background-size: 100%;
  padding: 5% 0;
  margin: 20px 5% 0 5%;
  outline: 2px solid rgb(255, 255, 255);
  outline-offset: -5.1px;
  position: relative;
}
#park-top #stage h3 p {
  font-size: 16px;
  line-height: 24px;
  font-weight: 600;
  padding: 0;
  margin: 0;
  font-family: "Zen Maru Gothic";
}
#park-top #stage h3 p span {
  font-size: 14px;
  line-height: 24px;
  font-family: "Montserrat", "Zen Maru Gothic", sans-serif;
}
#park-top #stage h3::before, #park-top #stage h3::after, #park-top #stage h3 .ttl_box::before, #park-top #stage h3 .ttl_box::after {
  content: '';
  background: #fff;
  background-size: 100%;
  position: absolute;
  width: 20px;
  height: 20px;
  border-radius: 20px;
}
#park-top #stage h3::before {
  top: -10px;
  left: -10px;
}
#park-top #stage h3::after {
  top: -10px;
  right: -10px;
}
#park-top #stage h3 .ttl_box::before {
  bottom: -10px;
  left: -10px;
}
#park-top #stage h3 .ttl_box::after {
  bottom: -10px;
  right: -10px;
}
#park-top #stage h3 .talk {
  background: #d6ef80;
  padding: 4px 20px;
  display: inline-block;
  border-radius: 20px;
  font-family: "Montserrat", sans-serif;
  font-size: 12px;
  line-height: 22px;
  font-weight: 700;
  position: absolute;
  top: -15px;
  left: 0;
  box-shadow: 3px 3px 0px #7c9c4c;
}

#park-top #stage h3 .talk_tx {
    text-align: center;
}

#park-top #stage h3 .guest_image {
  position: absolute;
  width: 18%;
  top: -10px;
  right: 2%;
}
#park-top #stage p {
  font-size: 14px;
  line-height: 24px;
  padding: 20px 0;
  margin: 0 5%;
  font-family: "Noto Sans JP";
  font-weight: 500;
}
#park-top #stage .shimajiro_image {
  position: absolute;
  width: 30%;
  top: -10px;
  right: 20px;
}
#park-top #stage .shima_copy img {
  width: 45%;
}
#park-top #stage .note {
  font-size: 12px;
  line-height: 22px;
  font-weight: 400;
  padding: 10px 0 0 0;
  margin: 0 5%;
}
#park-top #stage .anker a {
  font-size: 14px;
  line-height: 22px;
  color: #363636;
  background: #c0e4e4;
  font-weight: 600;
  text-indent: 24px;
  padding: 10px 0;
  margin: 0;
  display: block;
  position: relative;
  border-radius: 5px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}
#park-top #stage .anker a::before {
  content: '';
  background: url("../images/prk_cmn_arw.png") no-repeat;
  background-size: 11px 16px;
  width: 11px;
  height: 16px;
  top: 15px;
  right: 20px;
  position: absolute;
}
#park-top #stage .banner {
  margin: 10px 7%;
}
#park-top #stage .banner img {
  border: solid 2px #999;
  border-radius: 20px;
}
#park-top #stage .contents .conteiner {
  background: #fff;
  margin: 0 3%;
  position: relative;
}
#park-top #stage .contents_image {
  margin: 0 5%;
  padding: 20px 0 0 0;
  border-radius: 30px;
}
/* School Section */
#park-top #school {
  position: relative;
  margin: 0 auto;
  padding: 170px 0 0 0;
  background: #fff;
  max-width: 600px;
}
#park-top #school h2 {
  position: absolute;
  padding: 0;
  margin: 0;
  top: -170px;
  left: 0;
}
#park-top #school .tamachan {
  position: absolute;
  width: 22%;
  top: -30px;
  right: 10%;
  padding: 0;
}
#park-top #school .reservation_icon {
  position: absolute;
  width: 22%;
  top: -150px;
  left: 0;
  padding: 0;
}
#park-top #school .school_text {
  font-size: 14px;
  line-height: 24px;
  font-weight: 500;
  position: relative;
  padding: 0 5%;
  margin: 20px 0 0;
}
#park-top #school h3 {
  font-size: 14px;
  line-height: 24px;
  border-radius: 0 30px 30px 0;
  text-align: center;
  background: #6bc8df;
  color: #fff;
  padding: 2% 20px;
  font-weight: 600;
  margin: 0;
  font-family: "Zen Maru Gothic";
  position: absolute;
}
#park-top #school h3 span img {
  width: 33px;
  height: 19px;
  margin: 0 10px 0 0;
}
#park-top #school h3 span {
  color: #c0e4e4;
  font-family: "Montserrat", sans-serif;
  font-size: 13px;
  line-height: 24px;
  margin: 0 0 0 10px;
}
#park-top #school .comingsoon {
  border-radius: 20px;
  background: #c0e4e4;
  padding: 15px 0;
  margin: 20px 5% 0 5%;
}
#park-top #school .comingsoon h4 {
  font-size: 16px;
  line-height: 24px;
  text-align: center;
  color: #323232;
  font-weight: 600;
  border-bottom: solid 2px #fff;
  background: none;
  padding: 0 0 10px 0;
  margin: 0 5%;
  font-family: "Zen Maru Gothic";
}
#park-top #school .comingsoon p {
  padding: 10px 0 0 0;
  text-align: center;
  margin: 0 auto;
  font-weight: 600;
  font-family: "Zen Maru Gothic";
}
#park-top #school .ahcive_present h5 {
  background: url("../images/prk_sch_h5bg.png") no-repeat;
  background-size: contain;
  background-position: center;
  font-size: 14px;
  line-height: 28px;
  text-align: center;
  color: #323232;
  font-weight: 600;
  padding: 20px 0;
  font-family: "Zen Maru Gothic";
}
#park-top #school .ahcive_present h5 span {
  font-size: 18px;
  line-height: 32px;
  text-align: center;
  color: #323232;
  font-weight: 600;
  font-family: "Zen Maru Gothic";
}
#park-top #school .ahcive_present div {
  margin: 0 5%;
}
#park-top #school .ahcive_present p {
  font-size: 14px;
  line-height: 24px;
  font-weight: 500;
  margin: 0 5%;
  padding: 10px 0 20px 0;
}
#park-top #school ul li {
  background: #cbe7f6;
  border-radius: 15px;
  margin: 15px 5%;
  padding: 30px 0 0 0;
  position: relative;
}
#park-top #school ul li p {
  font-size: 14px;
  line-height: 24px;
  font-weight: 500;
  padding: 0 20px 10px 20px;
  margin: 0;
}
#park-top #school ul li p span {
  font-size: 14px;
  line-height: 24px;
  font-weight: 600;
}
#park-top #school ul li .reservation_btn {
  font-size: 14px;
  line-height: 16px;
  text-align: center;
  font-weight: 500;
  color: #FFF;
  background: #6bc8df url("../images/prk_cmn_arw.png") no-repeat;
  background-size: 11px 16px;
  background-position: 95% 50%;
  padding: 8px 0;
  border-radius: 0 0 15px 15px;
}
#park-top #school .ahcive_present .button a {
  width: 50%;
  background: #3cc7f4 url("../images/prk_cmn_arw.png") no-repeat;
  background-size: 11px 16px;
  background-position: 95% 50%;
  padding: 8px 20px;
  border-radius: 20px;
  margin: 10px 0 0 0;
  font-family: "Zen Maru Gothic", sans-serif;
}
#park-top #school ul li .icon_present {
  width: 55px;
  height: 55px;
  top: -10px;
  right: 0;
  position: absolute;
  padding: 0;
}
#park-top #school ul li .icon_ahcive {
  width: 65px;
  height: 65px;
  top: -10px;
  right: 60px;
  position: absolute;
  padding: 0;
}
#park-top #school ul .ahcive {
  background: #e4f7f7 url("../images/prk_sch_arc_bg.png") no-repeat;
  background-size: 88px 75px;
  background-position: right 2% bottom 30px;
}
#park-top #school ul .ahcive p {
  padding: 0 20% 10px 5%;
}
#park-top #school ul .ahcive .ahcive_btn {
  font-size: 14px;
  line-height: 16px;
  text-align: center;
  font-weight: 500;
  color: #FFF;
  background: #6bc8df url("../images/prk_cmn_arw.png") no-repeat;
  background-size: 11px 16px;
  background-position: 95% 50%;
  padding: 8px 0;
  border-radius: 0 0 15px 15px;
}
#park-top #school .button.off a {
  background: #cce7f6;
  color: #9fbfd0;
  display: block;
  pointer-events: none;
  position: relative;
}
#park-top #school .note {
  margin: 0 5%;
  padding: 20px 0 0;
}

/*****************************************/

#park-top #school #school-photo-2026 {
    position:relative;
    z-index:1;
    display:block;
    width: 90%;
    max-width:620px;
    margin:-50px auto 0;
    padding:0;
}

#park-top #school #school-photo-2026 img{
    border-radius: 22px !important;
}

/*****************************************/

/* Restplace Section */
#park-top #restplace {
  position: relative;
  margin: 0 auto;
  padding: 170px 0 0 0;
  background: #fff;
  max-width: 600px;
}
#park-top #restplace h2 {
  position: absolute;
  padding: 0;
  margin: 0;
  top: -170px;
  left: 0;
  max-width: 600px;
}
#park-top #restplace .tamachan {
  position: absolute;
  width: 22%;
  top: 30px;
  right: 0;
  padding: 0;
    z-index: 10;
}
#park-top #restplace h3 {
  max-width: 600px;
  background: url(../images/prk_h3_bg_tc.png), linear-gradient(-180deg, #f2af9e, #fce4d2 50%, #feeddc 99%);
  background-size: 100%;
  padding: 5% 0 5% 10%;
  margin: 20px 5% 0 5%;
  outline: 2px solid rgb(255, 255, 255);
  outline-offset: -5.1px;
  position: relative;
}
#park-top #restplace h3 p {
  font-size: 16px;
  line-height: 24px;
  font-weight: 600;
  padding: 0;
  margin: 0;
  font-family: "Zen Maru Gothic";
}
#park-top #restplace h3::before, #park-top #restplace h3::after, #park-top #restplace h3 .ttl_box::before, #park-top #restplace h3 .ttl_box::after {
  content: '';
  background: #fff;
  background-size: 100%;
  position: absolute;
  width: 20px;
  height: 20px;
  border-radius: 20px;
}
#park-top #restplace h3::before {
  top: -10px;
  left: -10px;
}
#park-top #restplace h3::after {
  top: -10px;
  right: -10px;
}
#park-top #restplace h3 .ttl_box::before {
  bottom: -10px;
  left: -10px;
}
#park-top #restplace h3 .ttl_box::after {
  bottom: -10px;
  right: -10px;
}
#park-top #restplace .note {
  margin: 0 5%;
  padding: 20px 0 0;
}
#park-top #restplace .contens_image {
  padding: 0 0 55% 0;
  margin: 0 auto;
  position: relative;
  max-width: 600px;
}
#park-top #restplace .contens_image img {
  position: absolute;
  border-radius: 20px;
  width: 90%;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
}
#park-top #restplace .restplace_text {
  font-size: 14px;
  line-height: 24px;
  font-weight: 500;
  position: relative;
  padding: 0 5%;
  margin: 0;
}
#park-top #restplace .slide_photo03 {
  position: relative;
  margin: 10px 5%;
  padding: 0 0 48% 0;
  background: #fff;
}
#park-top #restplace .slide_photo03 img {
  display: block;
  position: absolute;
  border-radius: 20px;
  width: 100%;
  height: inherit;
  opacity: 0;
  animation: slideAnime03 12s ease infinite;
}
#park-top #restplace .slide_photo03 img:nth-of-type(1) {
  animation-delay: 0s;
}
#park-top #restplace .slide_photo03 img:nth-of-type(2) {
  animation-delay: 4s;
}
#park-top #restplace .slide_photo03 img:nth-of-type(3) {
  animation-delay: 8s;
}

/************************************/
#park-top #rest-slider-2026 {
  position: relative !important;
  display: block !important;
  width: 90% !important;
  max-width: 620px !important;
  aspect-ratio: 16 / 9 !important;
  margin: -50px auto 24px !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 22px !important;
  background: #ffffff !important;
}

#park-top #rest-slider-2026 img {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: cover !important;
  opacity: 0; 
  border-radius: 22px !important;
}

/* 1枚目 */
#park-top #rest-slider-2026 img:nth-child(1) {
  animation: restPhotoA 8s ease-in-out infinite !important;
}

/* 2枚目 */
#park-top #rest-slider-2026 img:nth-child(2) {
  animation: restPhotoB 8s ease-in-out infinite !important;
}

/* キーフレームアニメーション */
@keyframes restPhotoA {
  0%, 42% {
    opacity: 1;
  }
  50%, 92% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes restPhotoB {
  0%, 42% {
    opacity: 0;
  }
  50%, 92% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
/************************************/


/* Stamp Section */
#park-top #stamp {
  position: relative;
  margin: 0 auto;
  padding: 170px 0 0 0;
  background: #fff;
  max-width: 600px;
}
#park-top #stamp h2 {
  position: absolute;
  padding: 0;
  margin: 0;
  top: -170px;
  left: 0;
  max-width: 600px;
}
#park-top #stamp .stamp_image {
  margin: -50px 0 0 0;
}
#park-top #stamp .hiyochan {
  position: absolute;
  width: 20%;
  top: 20px;
  right: 0;
  padding: 0;
}
#park-top #stamp p {
  font-size: 14px;
  line-height: 24px;
  padding: 10px 5%;
  font-weight: 500;
  position: relative;
}
#park-top #stamp .note {
  font-size: 12px;
  line-height: 20px;
  font-weight: 400;
  padding: 20px 5% 40px 5%;
  margin: 0;
}
#park-top #stamp h3 {
  max-width: 600px;
  background: url(../images/prk_h3_bg_tc.png), linear-gradient(-180deg, #a9bef2, #cbd0f8 50%, #dfdafc 99%);
  background-size: 100%;
  padding: 5%;
  margin: 20px 5% 0 5%;
  outline: 2px solid rgb(255, 255, 255);
  outline-offset: -5.1px;
  position: relative;
}
#park-top #stamp h3 p, #park-top #stamp h3 p span {
  font-size: 16px;
  line-height: 24px;
  font-weight: 600;
  padding: 0;
  margin: 0;
  font-family: "Zen Maru Gothic";
}
#park-top #stamp h3 p span {
  font-size: 14px;
}
#park-top #stamp h3::before, #park-top #stamp h3::after, #park-top #stamp h3 .ttl_box::before, #park-top #stamp h3 .ttl_box::after {
  content: '';
  background: #fff;
  background-size: 100%;
  position: absolute;
  width: 20px;
  height: 20px;
  border-radius: 20px;
}
#park-top #stamp h3::before {
  top: -10px;
  left: -10px;
}
#park-top #stamp h3::after {
  top: -10px;
  right: -10px;
}
#park-top #stamp h3 .ttl_box::before {
  bottom: -10px;
  left: -10px;
}
#park-top #stamp h3 .ttl_box::after {
  bottom: -10px;
  right: -10px;
}
#park-top #stamp .button.off a {
  background: #c6c6f3;
      color: #6b6b69;
  display: block;
  margin: 0 8%;
  border-radius: 100px;
  pointer-events: none;
  position: relative;
    box-shadow: 0 10px 18px rgba(80, 60, 50, 0.24);
    font-weight: 900;
    font-size: 18px;
    padding: 16px 48px 16px 60px;
    line-height: 1.4;
}
/* Enjoy Section */
#park-top #enjoy {
  position: relative;
  margin: 0 auto;
  padding: 170px 0 0 0;
  background: #fff;
  max-width: 600px;
}
#park-top #enjoy h2 {
  position: absolute;
  padding: 0;
  margin: 0;
  top: -120px;
  left: 0;
  max-width: 600px;
}
#park-top #enjoy .hiyochan {
  position: absolute;
  width: 20%;
  top: -40px;
  right: 5%;
  padding: 0;
}
#park-top #enjoy .lottery_icon {
  position: absolute;
  width: 22%;
  top: -150px;
  left: 0;
  padding: 0;
}
#park-top #enjoy h3 {
  max-width: 600px;
  background: url(../images/prk_h3_bg_tc.png), linear-gradient(-180deg, #cef09b, #eaffc9 50%, #f5fdd9 99%);
  background-size: 100%;
  padding: 5% 0 5% 10%;
  margin: 20px 5% 0 5%;
  outline: 2px solid rgb(255, 255, 255);
  outline-offset: -5.1px;
  position: relative;
}
#park-top #enjoy h3 .lottery_icon_02 {
  position: absolute;
  width: 22%;
  top: -20px;
  left: 0;
  padding: 0;
}
#park-top #enjoy h3 p {
  font-size: 16px;
  line-height: 24px;
  font-weight: 600;
  padding: 0 0 0 15%;
  margin: 0;
  font-family: "Zen Maru Gothic";
}
#park-top #enjoy h3::before, #park-top #enjoy h3::after, #park-top #enjoy h3 .ttl_box::before, #park-top #enjoy h3 .ttl_box::after {
  content: '';
  background: #fff;
  background-size: 100%;
  position: absolute;
  width: 20px;
  height: 20px;
  border-radius: 20px;
}
#park-top #enjoy h3::before {
  top: -10px;
  left: -10px;
}
#park-top #enjoy h3::after {
  top: -10px;
  right: -10px;
}
#park-top #enjoy h3 .ttl_box::before {
  bottom: -10px;
  left: -10px;
}
#park-top #enjoy h3 .ttl_box::after {
  bottom: -10px;
  right: -10px;
}
#park-top #enjoy p {
  font-size: 14px;
  line-height: 24px;
  padding: 10px 5%;
  font-weight: 500;
  position: relative;
}
#park-top #enjoy .note {
  font-size: 12px;
  line-height: 20px;
  font-weight: 400;
  padding: 20px 5% 0 5%;
  margin: 0;
}
#park-top #enjoy .slide_photo02 {
  position: relative;
  margin: 0 5%;
  padding: 0 0 48% 0;
  background: #fff;
}
#park-top #enjoy .slide_photo02 img {
  display: block;
  position: absolute;
  border-radius: 20px;
  width: 100%;
  height: inherit;
  opacity: 0;
  animation: slideAnime02 8s ease infinite;
}
#park-top #enjoy .slide_photo02 img:nth-of-type(1) {
  animation-delay: 0s;
}
#park-top #enjoy .slide_photo02 img:nth-of-type(2) {
  animation-delay: 4s;
}

/* ==============================================
   エントリーボタン（#enjoy-entry-button-2026）
   ============================================== */

/* 外枠コンテナ */
#enjoy-entry-button-2026 {
  position: relative !important;
  display: block !important;
  clear: both !important;
  width: 86% !important;
  max-width: 560px !important;
  height: auto !important;
  margin: 100px auto 24px !important;
  padding: 0 !important;
  float: none !important;
  transform: none !important;
  z-index: 20 !important;
}

/* ボタンリンク本体（共通） */
#enjoy-entry-button-2026 .button-link {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 16px 48px 16px 20px !important;
  box-sizing: border-box !important;
  border-radius: 999px !important;
  background: #efa17f !important;
  box-shadow: 0 10px 18px rgba(80, 60, 50, 0.24) !important;
  color: #ffffff !important;
  font-size: 18px !important;
  line-height: 1.4 !important;
  font-weight: 900 !important;
  text-align: center !important;
  text-decoration: none !important;
  transform: none !important;
}

/* 右側の矢印アイコン */
#enjoy-entry-button-2026 .button-link .arrow {
  position: absolute !important;
  top: 50% !important;
  right: 22px !important;
  transform: translateY(-50%) !important;
  color: #ffffff !important;
  font-size: 30px !important;
  line-height: 1 !important;
}

/* OFF（Coming Soon）状態の制御 */
#enjoy-entry-button-2026 .button-link.off {
  pointer-events: none !important;
  cursor: default !important;
}

/* Experience Section */
#park-top #experience {
  position: relative;
  margin: 0 auto;
  padding: 170px 0 0 0;
  background: #fff;
  max-width: 600px;
}
#park-top #experience h2 {
  position: absolute;
  padding: 0;
  margin: 0;
  top: -170px;
  left: 0;
  max-width: 600px;
}
#park-top #experience .chara {
  position: absolute;
  width: 25%;
  top: -20px;
  right: 5%;
  padding: 0;
}
#park-top #experience h3 {
  max-width: 600px;
  background: url(../images/prk_h3_bg_tc.png), linear-gradient(-180deg, #9edadf, #b5e3e7 50%, #d3eef2 99%);
  background-size: 100%;
  padding: 5% 0 5% 10%;
  margin: 20px 5% 0 5%;
  outline: 2px solid rgb(255, 255, 255);
  outline-offset: -5.1px;
  position: relative;
}
#park-top #experience h3 p {
  font-size: 16px;
  line-height: 24px;
  font-weight: 600;
  padding: 0;
  margin: 0;
  font-family: "Zen Maru Gothic";
    padding: 0 10% 0 0;
    text-align: center;
}
#park-top #experience h3 .ttl_right {
  padding: 0 0 0 16%;
}
#park-top #experience h3::before, #park-top #experience h3::after, #park-top #experience h3 .ttl_box::before, #park-top #experience h3 .ttl_box::after {
  content: '';
  background: #fff;
  background-size: 100%;
  position: absolute;
  width: 20px;
  height: 20px;
  border-radius: 20px;
}
#park-top #experience h3::before {
  top: -10px;
  left: -10px;
}
#park-top #experience h3::after {
  top: -10px;
  right: -10px;
}
#park-top #experience h3 .ttl_box::before {
  bottom: -10px;
  left: -10px;
}
#park-top #experience h3 .ttl_box::after {
  bottom: -10px;
  right: -10px;
}
#park-top #experience h3 .lottery_icon {
  position: absolute;
  width: 22%;
  top: -20px;
  left: 0;
  padding: 0;
}
#park-top #experience p {
  font-size: 14px;
  line-height: 24px;
  padding: 10px 5%;
  font-weight: 500;
  position: relative;
}
#park-top #experience .note {
  font-size: 12px;
  line-height: 20px;
  font-weight: 400;
  padding: 0 5% 20px 5%;
  margin: 0;
}
#park-top #experience .slide_photo {
  position: relative;
  margin: 10px 5% 0 5%;
  padding: 0 0 48% 0;
  background: #fff;
}
#park-top #experience .slide_photo img {
  display: block;
  position: absolute;
  border-radius: 20px;
  width: 100%;
  height: inherit;
  opacity: 0;
  animation: slideAnime03 12s ease infinite;
}
#park-top #experience .slide_photo img:nth-of-type(1) {
  animation-delay: 0s;
}
#park-top #experience .slide_photo img:nth-of-type(2) {
  animation-delay: 4s;
}
#park-top #experience .slide_photo img:nth-of-type(3) {
  animation-delay: 8s;
}
#park-top #experience .slide_photo02 {
  position: relative;
  margin: 10px 5% 0 5%;
  padding: 0 0 48% 0;
  background: #fff;
}
#park-top #experience .slide_photo02 img {
  display: block;
  position: absolute;
  border-radius: 20px;
  width: 100%;
  height: inherit;
  opacity: 0;
  animation: slideAnime02 8s ease infinite;
}
#park-top #experience .slide_photo02 img:nth-of-type(1) {
  animation-delay: 0s;
}
#park-top #experience .slide_photo02 img:nth-of-type(2) {
  animation-delay: 4s;
}
#park-top #experience .button.off a {
  background: #cce7f6;
  color: #9fbfd0;
  display: block;
  pointer-events: none;
  position: relative;
}
#park-top #experience .image_photo {
  position: relative;
  margin: 10px 5% 0 5%;
  padding: 0;
  background: #fff;
}
#park-top #experience .image_photo img {
  border-radius: 20px;
}
/* Smile Section */
#park-top #smile {
  position: relative;
  margin: 0 auto;
  padding: 170px 0 0 0;
  background: #fff;
  max-width: 600px;
}
#park-top #smile h2 {
  position: absolute;
  padding: 0;
  margin: 0;
  top: -170px;
  left: 0;
  max-width: 600px;
}
#park-top #smile .hiyochan {
  position: absolute;
  width: 25%;
  top: -10px;
  right: 0;
}
#park-top #smile .hiyochan img {
  width: 100%;
}
#park-top #smile h3 {
  max-width: 600px;
  background: url(../images/prk_h3_bg_tc.png), linear-gradient(-180deg, #f2af9e, #fce4d2 50%, #feeddc 99%);
  background-size: 100%;
  padding: 5% 0 5% 5%;
  margin: 20px 5% 0 5%;
  outline: 2px solid rgb(255, 255, 255);
  outline-offset: -5.1px;
  position: relative;
}
#park-top #smile h3 p {
  font-size: 16px;
  line-height: 24px;
  font-weight: 600;
  margin: 0;
  font-family: "Zen Maru Gothic";
        padding: 0 10% 0 0;
    text-align: center;

}
#park-top #smile h3::before, #park-top #smile h3::after, #park-top #smile h3 .ttl_box::before, #park-top #smile h3 .ttl_box::after {
  content: '';
  background: #fff;
  background-size: 100%;
  position: absolute;
  width: 20px;
  height: 20px;
  border-radius: 20px;
}
#park-top #smile h3::before {
  top: -10px;
  left: -10px;
}
#park-top #smile h3::after {
  top: -10px;
  right: -10px;
}
#park-top #smile h3 .ttl_box::before {
  bottom: -10px;
  left: -10px;
}
#park-top #smile h3 .ttl_box::after {
  bottom: -10px;
  right: -10px;
}
#park-top #smile p {
  font-size: 14px;
  line-height: 24px;
  padding: 10px 5%;
  font-weight: 500;
  position: relative;
}
#park-top #smile .note {
  font-size: 12px;
  line-height: 20px;
  font-weight: 400;
  padding: 0 5% 20px 5%;
  margin: 0;
}
#park-top #smile .slide_photo02 {
  position: relative;
  margin: 10px 5% 0 5%;
  padding: 0 0 48% 0;
  background: #fff;
}
#park-top #smile .slide_photo02 img {
  display: block;
  position: absolute;
  border-radius: 20px;
  width: 100%;
  height: inherit;
  opacity: 0;
  animation: slideAnime02 8s ease infinite;
}
#park-top #smile .slide_photo02 img:nth-of-type(1) {
  animation-delay: 0s;
}
#park-top #smile .slide_photo02 img:nth-of-type(2) {
  animation-delay: 4s;
}
#park-top #smile .image_photo {
  position: relative;
  margin: 10px 5% 0 5%;
  padding: 0;
  background: #fff;
}
#park-top #smile .image_photo img {
  border-radius: 20px;
}
/* Sponsor Section */
#park-top #sponsor {
  position: relative;
  margin: 0 auto;
  padding: 170px 0 0 0;
  background: #fff;
  max-width: 600px;
}
#park-top #sponsor h2 {
  position: absolute;
  padding: 0;
  margin: 0;
  top: -170px;
  left: 0;
  max-width: 600px;
}
#park-top #sponsor .chara {
  position: absolute;
  width: 25%;
  top: 30px;
  right: 5%;
  padding: 0;
}
#park-top #sponsor .icon {
  padding: 0;
  margin: -30px 0 0 0;
}
#park-top #sponsor p {
  font-size: 14px;
  line-height: 24px;
  padding: 20px 5% 10px 5%;
  font-weight: 500;
  position: relative;
}
#park-top #sponsor .note {
  font-size: 12px;
  line-height: 20px;
  font-weight: 400;
  padding: 0 5% 20px 5%;
  margin: 0;
}
#park-top #sponsor .sponsor_present {
  margin: 0 auto;
}
#park-top #sponsor .sponsor_present p {
  text-align: center;
}
#park-top #sponsor .button.off a {
  background: #c6c6f3;
  color: #9185d2;
  display: block;
  margin: 0 8%;
  padding: 16px 0;
  font-size: 16px;
  font-weight: 600;
  border-radius: 100px;
  pointer-events: none;
  position: relative;
}
/* Buy Section */
#park-top #buy {
  position: relative;
  margin: 0 auto;
  padding: 170px 0 0 0;
  background: #fff;
  max-width: 600px;
}
#park-top #buy h2 {
  position: absolute;
  padding: 0;
  margin: 0;
  top: -170px;
  left: 0;
  max-width: 600px;
}
#park-top #buy .tamachan {
  position: absolute;
  width: 22%;
  top: -20px;
  right: 5%;
  padding: 0;
}
#park-top #buy p {
  font-size: 14px;
  line-height: 24px;
  font-weight: 500;
  padding: 10px 5%;
  position: relative;
}
#park-top #buy .note {
  font-size: 12px;
  line-height: 20px;
  font-weight: 400;
  padding: 0 5%;
  margin: 0;
}
/* Shimajiro Section */
#park-top #shimajiro {
  position: relative;
  margin: 0 auto;
  padding: 170px 0 0 0;
  background: #fff;
  max-width: 600px;
}
#park-top #shimajiro h2 {
  position: absolute;
  padding: 0;
  margin: 0;
  top: -90px;
  left: 0;
  max-width: 600px;
}
#park-top #shimajiro h3 {
  max-width: 600px;
  background: url(../images/prk_h3_bg_tc.png), linear-gradient(-180deg, #9edadf, #b5e3e7 50%, #d3eef2 99%);
  background-size: 100%;
  padding: 5% 0 5% 10%;
  margin: 20px 5% 0 5%;
  outline: 2px solid rgb(255, 255, 255);
  outline-offset: -5.1px;
  position: relative;
}
#park-top #shimajiro h3 p {
  font-size: 16px;
  line-height: 24px;
  font-weight: 600;
  padding: 0 0 0 15%;
  margin: 0;
  font-family: "Zen Maru Gothic";
}
#park-top #shimajiro h3::before, #park-top #shimajiro h3::after, #park-top #shimajiro h3 .ttl_box::before, #park-top #shimajiro h3 .ttl_box::after {
  content: '';
  background: #fff;
  background-size: 100%;
  position: absolute;
  width: 20px;
  height: 20px;
  border-radius: 20px;
}
#park-top #shimajiro h3::before {
  top: -10px;
  left: -10px;
}
#park-top #shimajiro h3::after {
  top: -10px;
  right: -10px;
}
#park-top #shimajiro h3 .ttl_box::before {
  bottom: -10px;
  left: -10px;
}
#park-top #shimajiro h3 .ttl_box::after {
  bottom: -10px;
  right: -10px;
}
#park-top #shimajiro h3 .lottery_icon {
  position: absolute;
  width: 22%;
  top: -20px;
  left: 0;
  padding: 0;
}
#park-top #shimajiro p {
  font-size: 14px;
  line-height: 24px;
  font-weight: 500;
  padding: 10px 5%;
  position: relative;
}
#park-top #shimajiro p img {
  border-radius: 20px;
}
#park-top #shimajiro .note {
  font-size: 12px;
  line-height: 20px;
  font-weight: 400;
  padding: 0 5% 40px 5%;
  margin: 0;
}
/* Maps Section */
#park-top .container_bg {
  background: #f5e0d6;
  padding: 20px 0;
  max-width: 600px;
  margin: 2em auto 0;
}
#park-top #maps {
  padding: 20px 0;
  margin: 40px 3% 0 3%;
  background: #fff;
  border-radius: 20px;
}
#park-top #maps h2 {
  font-size: 20px;
  line-height: 24px;
  font-weight: 600;
  text-align: center;
  margin: 0 auto;
  padding: 0 20px;
  font-family: "Zen Maru Gothic";
}
#park-top #maps p {
  font-size: 14px;
  line-height: 24px;
  font-weight: 500;
  margin: 10px 0 20px 0;
  padding: 0 20px;
}
#park-top #maps .map_button {
  padding: 0 0 10px 0;
  margin: 0 5%;
}
#park-top #maps .map_button a {
  padding: 8px 0 8px 20px;
  font-size: 14px;
  line-height: 24px;
  font-weight: 600;
  color: #fff;
  background: #eca887;
  border-radius: 5px;
  text-align: left;
  display: block;
  position: relative;
}
#park-top #maps .map_button a span {
  width: 16px;
  display: inline-block;
  margin: 0 10px 0 0;
}
#park-top #maps .google_maps {
  margin: 0 5%;
  text-align: center;
}
/* Share Section */
#park-top #share {
  padding: 0 0 40px 0;
}
#park-top #share h2 {
  text-align: center;
  padding: 60px 0 0 0;
}
#park-top #share h2 img {
  width: auto;
  height: 30px;
}
#park-top #share ul {
  text-align: center;
  padding: 20px 0 0 0;
}
#park-top #share ul li {
  display: inline-block;
  padding: 0 2px;
}
#park-top #share ul li a img {
  width: auto;
  height: 40px;
}
#park-top #share p {
  text-align: right;
  padding: 35px 20px 20px 0;
}
/* Outline Section */
#park-top #outline {
  padding: 40px 0;
}
#park-top #outline .container::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
#park-top #outline .container::-webkit-scrollbar-track {
  background-color: #f3f3f3;
}
#park-top #outline .container::-webkit-scrollbar-thumb {
  background: #304dff;
  border-radius: 10px;
}
#park-top #outline .container {
  margin: 0 5%;
  padding: 20px;
  background: #fff;
  height: 400px;
  overflow-y: scroll;
}
#park-top #outline .container h2 {
  font-size: 16px;
  line-height: 24px;
  font-weight: 500;
  text-align: center;
  padding: 30px 0 0 0;
}
#park-top #outline .container h2 img {
  width: auto;
  height: 32px;
  display: block;
  margin: 0 auto 15px auto;
}
#park-top #outline .container h3 {
  font-size: 12px;
  line-height: 20px;
  font-weight: 700;
  padding: 10px 0 0 0;
}
/* Profile Section */
#park-top .profile {
  background: #FFF;
  padding: 20px 0;
  margin: 0 auto;
  max-width: 600px;
}
/* Contact Section */
#park-top #contact {
  padding: 10px 20px 0 20px;
  background: #fff;
  max-width: 600px;
  margin: 0 auto;
}
#park-top #contact .container div {
  border: solid 1px #222;
  margin: 0;
  padding: 0 0 30px 0;
}
#park-top #contact .container div h3 {
  font-size: 12px;
  line-height: 20px;
  font-weight: 700;
  text-align: center;
  padding: 25px 0 0 0;
}
#park-top #contact .container div p {
  text-align: center;
  padding: 5px 0 0 0;
}
#park-top #contact .container div p strong {
  font-size: 20px;
  line-height: 20px;
  font-weight: 500;
  display: block;
}
#park-top #contact .container div p span {
  font-weight: 500;
}
/* 無限スクロール共通 */
#park-top .scroll-infinity__wrap {
  display: flex;
  overflow: hidden;
}
#park-top .scroll-infinity__list {
  display: flex;
  list-style: none;
  padding: 5px 0 0 0;
  margin: 0;
}
#park-top .scroll-infinity__item {
  width: calc(100vw / 5);
  padding: 0 3px;
}
#park-top .scroll-infinity__item > img {
  width: 100%;
  max-width: 300px;
}
#park-top .scroll-infinity__list--right {
  animation: infinity-scroll-right 40s infinite linear 0.1s both;
}
#park-top .scroll-infinity__list--left {
  animation: infinity-scroll-left 40s infinite linear 0.1s both;
}
/* ==============================================
   4. 特設コンポーネント
   ============================================== */
/* 有料チケットエリア（#ticket2026-fixed） */
#ticket2026-fixed {
  width: 100%;
  margin: 0 auto;
  padding: 24px 8px 40px;
  background: transparent;
  box-sizing: border-box;
}
#ticket2026-fixed, #ticket2026-fixed * {
  box-sizing: border-box;
}
#ticket2026-fixed .t26-frame {
  position: relative;
  display: block;
  width: 100%;
  max-width: 760px;
  margin: 0 auto;
  padding: 72px 62px 58px;
  background-image: url("../images/prk_intr_ent_memo.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
  overflow: hidden;
}
#ticket2026-fixed .t26-inner {
  position: relative;
  display: block;
  width: 100%;
  isolation: isolate !important;
}
html body #ticket2026-fixed .t26-inner::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 100 !important;
  display: block !important;
  background: rgba(255, 255, 255, 0.42) !important;
  pointer-events: none !important;
}
#ticket2026-fixed .t26-title-text {
  display: inline-block;
  background: linear-gradient(90deg, #b8ead8 0%, #c7e7d2 42%, #d5dfc3 70%, #e8cfa3 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: #b8ead8;
  font-size: 30px;
  line-height: 1.35;
  font-weight: 900;
  text-align: center;
}
/* チケット画像アニメーション */
#ticket2026-fixed .t26-ticket img {
  display: block;
  width: 300px;
  max-width: 68%;
  height: auto;
  margin: 0 auto;
  transform-origin: center center;
  animation: ticketPaka 2.2s ease-in-out infinite;
}
@keyframes ticketPaka {
  0% {
    transform: scale(1) rotate(0deg);
  }
  3% {
    transform: scale(1.02) rotate(-8deg);
  }
  6% {
    transform: scale(1.03) rotate(7deg);
  }
  9% {
    transform: scale(1.02) rotate(-5deg);
  }
  12% {
    transform: scale(1.01) rotate(3deg);
  }
  15% {
    transform: scale(1.005) rotate(-1deg);
  }
  20% {
    transform: scale(1) rotate(0deg);
  }
  100% {
    transform: scale(1) rotate(0deg);
    /* --- 静止 --- */
  }
}
/**************/
#ticket2026-fixed .t26-lead {
  margin: 0 0 14px !important;
  padding: 0 !important;
  color: #4a2f1a !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
  font-weight: 800 !important;
  text-align: left !important;
}
#ticket2026-fixed .t26-lead strong {
  display: inline-block !important;
  margin-top: 8px !important;
  padding: 6px 14px !important;
  border-radius: 999px !important;
  background: #fff0f6 !important;
  color: #e85b8f !important;
}
#ticket2026-fixed .t26-heading {
  position: static !important;
  display: block !important;
  width: fit-content !important;
  max-width: 94% !important;
  height: auto !important;
  margin: 17px auto 11px !important;
  padding: 6px 18px !important;
  border-radius: 999px !important;
  background: #fff0f6 !important;
  color: #1f4a90 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 900 !important;
  text-align: center !important;
}
#ticket2026-fixed .t26-list {
  margin: 0 0 14px !important;
  padding: 0 !important;
  list-style: none !important;
}

#ticket2026-fixed .t26-list li {
    position: relative !important;
    margin: 0 0 6px !important;
    padding: 0 0 0 1.4em !important;
    color: #4a2f1a !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    font-weight: 600 !important;
    text-align: left !important;
}

#ticket2026-fixed .t26-list li::before {
    content: "" !important;
    position: absolute !important;
    top: 0.65em !important;
    left: 0 !important;
    width: 6px !important;
    height: 6px !important;
    border-radius: 50% !important;
    background: #9edfc9 !important;
}

#ticket2026-fixed .t26-price {
  margin: 11px 0 2px !important;
  padding: 0 !important;
  color: #1f4a90 !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  font-weight: 900 !important;
  text-align: left !important;
}
#ticket2026-fixed .t26-small {
  margin: 0 0 10px !important;
  padding: 0 !important;
  color: #4a2f1a !important;
  font-size: 11px !important;
  line-height: 1.4 !important;
  text-align: left !important;
}
#ticket2026-fixed .t26-status {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #4a2f1a !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}
#ticket2026-fixed .t26-cta {
  position: static !important;
  display: block !important;
  margin: 24px 0 0 !important;
  padding: 0 !important;
  text-align: center !important;
}
#ticket2026-fixed .t26-cta-row {
  display: grid !important;
  grid-template-columns: 66px minmax(0, 1fr) 66px !important;
  align-items: center !important;
  gap: 10px !important;
  width: 92% !important;
  margin: 0 auto 10px !important;
  padding: 0 !important;
}
#ticket2026-fixed .t26-character {
  position: static !important;
  display: block !important;
  width: 66px !important;
  min-width: 66px !important;
  max-width: 66px !important;
  height: auto !important;
  max-height: 90px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  transform: none !important;
  opacity: 1 !important;
  object-fit: contain !important;
}
#ticket2026-fixed .t26-button {
  position: static !important;
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  align-items: center !important;
  justify-content: center !important;
  width: 84% !important;
  min-height: 56px !important;
  margin: 0 auto !important;
  padding: 12px 20px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, #ffc7b8 0%, #f4d5e8 50%, #ccefd9 100%) !important;
  color: #8a4b18 !important;
  font-size: 22px !important;
  line-height: 1.4 !important;
  font-weight: 900 !important;
  letter-spacing: 0.05em !important;
  text-align: center !important;
  box-shadow: 0 10px 22px rgba(120, 80, 80, 0.18) !important;
}

#ticket2026-fixed .t26-note {
    margin: 9px auto 0 !important;
    padding: 0 !important;
    color: #4a2f1a !important;
    font-size: 10px !important;
    line-height: 1.4 !important;
    text-align: center !important;
}

/**************/
html body #ticket2026-fixed .t26-band {
  position: absolute;
  top: 50%;
  right: 3%;
  left: 3%;
  z-index: 110 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 5px 18px;
  transform: translateY(-50%) rotate(-6deg);
  background: rgba(145, 145, 145, 0.76);
  color: #ffffff;
  font-size: 28px;
  line-height: 1.3;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-shadow: 0 2px 5px rgba(0, 0, 0, 0.25);
  pointer-events: none;
}
#ticket2026-fixed .t26-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 84%;
  min-height: 56px;
  margin: 0 auto;
  padding: 12px 20px;
  border-radius: 999px;
  background: linear-gradient(90deg, #ffc7b8 0%, #f4d5e8 50%, #ccefd9 100%);
  color: #8a4b18;
  font-size: 22px;
  line-height: 1.4;
  font-weight: 900;
  letter-spacing: 0.05em;
  text-align: center;
  box-shadow: 0 10px 22px rgba(120, 80, 80, 0.18);
}
html body #ticket2026-fixed .t26-veil, html body #ticket2026-fixed .t26-master-veil, html body #ticket2026-fixed .t26-hidden-area::after, html body #ticket2026-fixed .t26-faded::after {
  display: none !important;
}
/* しまじろうエリア（#shimajiro2026-fixed） */
#shimajiro2026-fixed {
  width: 86%;
  max-width: 680px;
  margin: 0 auto;
  padding: 0;
  box-sizing: border-box;
  clear: both;
}
#shimajiro2026-fixed .s26-card {
  display: block;
  width: 100%;
  padding: 28px 30px 32px;
  background: #eef9fd;
  border-radius: 30px;
  text-align: center;
}
#shimajiro2026-fixed .s26-title {
    position: static !important;
    display: inline-block !important;
    width: auto !important;
    height: auto !important;
    margin: 0 auto 16px !important;
    padding: 10px 24px !important;
    background: #68c7dc !important;
    border-radius: 999px !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-size: 17px !important;
    line-height: 1.4 !important;
    font-weight: 900 !important;
    text-align: center !important;
    text-indent: 0 !important;
    white-space: nowrap !important;
}

#shimajiro2026-fixed .s26-description {
    display: block !important;
    width: 100% !important;
    max-width: 560px !important;
    margin: 0 auto 22px !important;
    padding: 0 !important;
    color: #4a2f1a !important;
    font-size: 14px !important;
    line-height: 1.8 !important;
    font-weight: 700 !important;
    text-align: center !important;
}
#shimajiro2026-fixed .s26-image {
    position: static !important;
    display: block !important;
    width: 300px !important;
    max-width: 65% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    line-height: 0 !important;
}

#shimajiro2026-fixed .s26-note {
    margin: 22px 0 0 !important;
    padding: 0 !important;
    color: #4a2f1a !important;
    font-size: 12px !important;
    line-height: 1.8 !important;
    font-weight: 600 !important;
    text-align: left !important;
}

#shimajiro2026-fixed .s26-anker {
    margin:22px auto 32px!important;
    padding:0!important;
    text-align:center!important;
      display:inline-block!important;
      padding:8px 18px!important;
      border-radius:999px!important;
      background:#fff1b8!important;
      color:#263b78!important;
      font-size:16px!important;
      line-height:1.5!important;
      font-weight:900!important;
      text-align:center!important;
}

/* タイムスケジュール */
#timeschedule {
  max-width: 600px;
  margin: 0 auto;
}
.timeschedule-2026 {
  max-width: 650px;
  margin: 30px auto 40px;
  text-align: center;
  clear: both;
}
#timeschedule .timeschedule-2026 .ts-lead {
  display: block;
  width: 100%;
  margin: 0 auto 16px;
  padding: 0 0 1.5em;
  color: #263b78;
  font-size: 20px;
  line-height: 1.6;
  font-weight: 900;
  text-align: center;
}
.s26-schedule .button-wrap {
  position: relative !important;
  display: block !important;
  width: 82% !important;
  max-width: 540px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  float: none !important;
  clear: both !important;
  background: #c9e7f7 !important;
  border-radius: 999px !important;
  font-family: "Zen Maru Gothic", sans-serif;
  -webkit-box-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
}
.s26-schedule .button-wrap a {
  position: relative;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 72px !important;
  margin: 0 !important;
  padding: 12px 18px !important;
  box-sizing: border-box !important;
  border-radius: 999px !important;
  font-size: 18px !important;
  line-height: 1.35 !important;
  text-align: center !important;
  text-decoration: none !important;
  transition: all 0.3s ease;
}
.s26-schedule .button-wrap a::after {
  content: '';
  background: url(../images/prk_cnt_stg_btntx.png) no-repeat center/contain;
  position: absolute;
  width: 30%;
  height: 60px;
  top: -20px;
  left: -10px;
  pointer-events: none;
}
.s26-schedule .button-wrap.off a:hover {
  opacity: 1 !important;
  filter: none !important;
  cursor: default !important;
}
.s26-schedule .button-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 72px;
  padding: 12px 18px;
  background: #c9e7f7;
  border-radius: 999px;
  color: #86bcd8;
  font-size: 18px;
  font-weight: 900 !important;
}
.s26-schedule .button-link .button-sub {
  display: block !important;
  margin-top: 3px !important;
  color: #4f5963 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  text-align: center !important;
}
/* 休憩エリア・スライダー
#rest-slider-2026 {
  position: relative;
  display: block;
  width: 88%;
  max-width: 620px;
  aspect-ratio: 16 / 9;
  margin: 0 auto 24px;
  overflow: hidden;
  border-radius: 22px;
  background: #ffffff;
}
#rest-slider-2026 img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
}
#rest-slider-2026 img:first-child {
  animation: restPhotoA 8s ease-in-out infinite;
}
#rest-slider-2026 img:last-child {
  animation: restPhotoB 8s ease-in-out infinite;
} */
/* 撮影体験コーナー */
#experience-order-2026 {
  display: flex;
  flex-direction: column;
  width: 100%;
    margin: -65px 0 0 0;
}
#experience-order-2026 .exp-item-1 {
  order: 1;
}
#experience-order-2026 .exp-item-2 {
  order: 2;
}
#experience-order-2026 .exp-item-3 {
  order: 3;
  margin-bottom: 0;
}
/* ==============================================
   5. ローディング・スプラッシュアニメーション
   ============================================== */
#splash {
  position: fixed;
  width: 100vw;
  height: 100vh;
  z-index: 999;
  background:
    radial-gradient(circle at 15% 8%, rgba(255, 190, 220, 0.88) 0, rgba(255, 190, 220, 0.48) 260px, transparent 560px), radial-gradient(circle at 85% 25%, rgba(170, 230, 255, 0.45) 0, rgba(170, 230, 255, 0.20) 300px, transparent 620px), radial-gradient(circle at 20% 80%, rgba(185, 245, 215, 0.35) 0, rgba(185, 245, 215, 0.16) 300px, transparent 620px), linear-gradient(180deg, #fff8fb 0%, #ffeef5 45%, #fff4f8 100%) !important;
  text-align: center;
  color: #fff;
  animation: fadeout 2s 2s forwards;
}
#splash_logo {
  position: absolute;
  inset: 0;
  margin: 40px auto;
  width: 80%;
  max-width: 500px;
}
.fade {
  position: absolute;
  top: 100px;
  left: 0;
  animation: fadeUpAnime 0.6s 0.1s forwards;
  opacity: 0;
  max-width: 500px;
}
.fadeUp2 {
  position: absolute;
  top: 0;
  left: 0;
  margin: 0 auto;
  animation: fadeUpAnime2 0.8s 0.3s forwards;
  opacity: 0;
  max-width: 500px;
}
.fadeUp3 {
  position: absolute;
  top: 40px;
  left: 0;
  margin: 0 auto;
  animation: fadeUpAnime2 0.6s 0.6s forwards;
  opacity: 0;
  max-width: 500px;
}
/* ==============================================
   6. Keyframes アニメーション定義
   ============================================== */
@keyframes rotation1 {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes fadeout {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    z-index: -10;
  }
}
@keyframes fadeUpAnime {
  from {
    opacity: 0;
    filter: blur(10px);
  }
  to {
    opacity: 1;
    filter: blur(0);
  }
}
@keyframes fadeUpAnime2 {
  from {
    opacity: 0;
    filter: blur(10px);
  }
  to {
    opacity: 1;
    filter: blur(0);
  }
}
@keyframes slideAnime02 {
  0% {
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  50% {
    opacity: 1;
  }
  55% {
    opacity: 0;
    z-index: 9;
  }
  100% {
    opacity: 0;
  }
}
@keyframes slideAnime03 {
  0% {
    opacity: 0;
  }
  6% {
    opacity: 1;
  }
  33% {
    opacity: 1;
  }
  36% {
    opacity: 0;
    z-index: 9;
  }
  100% {
    opacity: 0;
  }
}
@keyframes infinity-scroll-magazin {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0);
  }
}
@keyframes infinity-scroll-right {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0);
  }
}
@keyframes infinity-scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}