﻿.pc{    display: block;}.sp{    display: none;}/*---共通パーツ---*/*{    box-sizing: border-box;}body{    background-color: #f5f3f2;}img{    display: block;    width: 100%;}li{    list-style: none;}/*Safari横スクロール対策*/.page-wrapper{    overflow: hidden;}.wrapper{    max-width: 1200px;    margin: 0 auto;}.inner{    width: 95%;    margin: 0 auto;}header{    padding: 1.5% 0;    background-color: #ffffff;    position: relative;    z-index: 50;}header img{    width: 35%;    display: block;    margin: 0 auto;}.header-logo{   position: fixed;    top: 0;    left: 50%;    width: 100%;    padding: 1.5% 0;    background-color: #ffffff;    transform: translateX(-50%);}.home-link{    display: block;    width: 20%;    padding: 0.5% 1.3% 0.5% 2%;    background-color: #bbbbbb;    color: #ffffff;    border-radius: 30px;    position: fixed;    top: 50%;    left: 1%;    text-align: center;    transform: translateY(-50%);     font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", "Noto Sans JP", sans-serif;}.home-link::before{    content: "<";    color: #fff;    font-size: 18px;    position: absolute;    top: calc(50% - 2px);    left: 7%;    transform: translateY(-50%);}/*.home-link::before,.home-link::after{    content: "";    position: absolute;    top: calc(50% - 2px);    left: 5%;    width: 16px;    height: 3px;    border-radius: 9999px;    background-color: #ffffff;    transform-origin: 1px 50%;}.home-link::before {  transform: rotate(45deg);}.home-link::after {  transform: rotate(-45deg);}*//*ナビゲーション関係*/.hb-btn{    max-width: 100px;    max-height: 100px;    width: 10%;    position: fixed;    top: 2%;    right: 5%;    z-index: 60;    cursor: pointer;}.nav-pos{    position: relative;}.common-nav{    width: 53.5%;    max-width: 750px;    position: fixed;    top: 0;    right: 0;    opacity: 0;    z-index: 70;    transform: translateX(3000px);    transition: all ease .8s;}.close-btn{    max-width: 100px;    max-height: 100px;    width: 10%;    position: absolute;    top: 4%;    right: 5%;    z-index: 60;    cursor: pointer;}.menu-active{    opacity: 1;    transform: translateX(0);}footer{    background-color: #ffffff;    position: relative;    z-index: 1;    padding: 10% 0 5%;}.footer-flex{    display: flex;    justify-content: space-around;}.footer-logo{    width: 38%;}.footer-link{    width: 43%;}.copy{    width: 17%;    margin: 10% auto 0;}/*下層メインビジュアル*/.main-vj{    width: 100%;    position: relative;    }.mv-title{    width: 42%;    position: absolute;    top: 22%;    right: 8%;    z-index: 2}.renewal-vj .mv-title{    width: 50.4%;    top: 14%;    right: 4%;}#topics-mv__obj{    position: absolute;    width: 43%;    top: 0;    left: 7%;    z-index: 2;}#event-mv__obj{    position: absolute;    width: 48.3%;    top: 4%;    left: 4%;    z-index: 2;}#renewal-mv__obj{    position: absolute;    width: 42.8%;    top: -1%;    left: 4%;    z-index: 2;}.moco{    width: 105%;    position: absolute;    bottom: -19%;    left: 50%;    transform: translateX(-50%);    z-index: 2;}/*---トップページ---*//*キービジュアル*/.key-vj{    background-color: #f19ec2;    position: relative;    overflow: hidden;}.kv-img{    position: relative;}.kv-img img:first-child{    mix-blend-mode: multiply;    will-change: transform;}.kv-img img:last-child{    position: absolute;    top: 0;    left: 0;    z-index: 2;}.kv-title{    position: absolute;    top: 0;    left: 0;    z-index: 4;}.kv-title img:nth-child(2){    position: absolute;    top: 0;    left: 0;}.kv-title img:last-child{    position: absolute;    top: 0;    left: 0;}/*キービジュアルアニメーション*/.kv-anime01{    transition: all ease .5s;    transform: translateY(1000px);}.kv-anime02{    opacity: 0;    transition: all ease .8s .8s;}.kv-anime02:last-child{    transition: all ease .8s 1.1s;}.kv-anime01__active{    transform: translateY(0);}.kv-anime02__active{    opacity: 1;}.kv-illust{    position: absolute;    top: 0;    left: 0;    z-index: 3;}.key-vj .moco{    bottom: -21%;    z-index: 3;}/*トップページナビゲーション*/.top-nav{    position: relative;    z-index: 2;}/*リニューアルのポイント*/.top-point{    position: relative;    z-index: 2;}/*アンバサダー紹介*/.top-ambassador{    position: relative;    z-index: 2;    overflow: hidden;}.top-ambassador__obj{    position: absolute;    top: 0;    left: 0;    z-index: 5;}.top-ambassador__img{    position: absolute;    top: 0;}.top-ambassador__title{    position: absolute;    top: 0;    left: 0;    z-index: 5;    opacity: 0;    transition: all ease .5s 1s;}/*インスタグラムセクション*/.insta-movie{   position: relative;}.insta-tiltle{    position: relative;    z-index: 2;}.insta-link{    width: 18%;    position: absolute;    top: 6%;    right: 16%;    transition: all ease .8s;    z-index: 2;}.insta-link:hover{    opacity: .6;}.insta-list{    display: flex;    justify-content: space-between;    width: 95%;    margin: 5% auto 10%;    position: relative;    z-index: 2;}/* 各サムネイル */.video-thumb {    width: 29%;    height: 44.5%;    transition: all ease .8s;}.video-thumb:hover{    opacity: 0.6;}.video-thumb video {  width: 100%;  height: auto;  display: block;}/* モーダル全体のスタイル */.modal {  position: fixed;  top: 0;  left: 0;  width: 100%;  height: 100%;  z-index: 1000; /* 最前面に表示 */  display: none; /* 初期状態では非表示 */}/* 視認性を上げるための黒のオーバーレイ */.modal-overlay {  position: absolute;  top: 0;  left: 0;  width: 100%;  height: 100%;  background-color: rgba(0, 0, 0, 0.8); /* 透明度80%の黒 */}/* モーダルコンテンツ（動画コンテナ） */.modal-content {    position: absolute;    top: 50%;    left: 50%;    transform: translate(-50%, -50%);    max-width: 305px;    width: 100%;}/* モーダル内の動画プレイヤー */#modal-player {  width: 100%;  height: auto;  display: block;  background-color: black; /* 動画がない間の背景色 */}/*モーダルクローズボタン*/.modal-close{    width: 35px;    height: 35px;    position: absolute;    top: -6%;    right: -2%;    cursor: pointer;}.btn-box{    position: relative;    width: 100%;    height: 100%;}.btn-box span{    width: 100%;    height: 2px;    display: block;    background-color: #fff;    position: absolute;    }.btn-box span:first-child{    transform: rotate(43deg) translate(-50%, -50%);    top: 80%;    left: 37%;}.btn-box span:last-child{    transform: rotate(317deg) translate(-50%, -50%);    top: 12%;    left: 40%;}/*---トピックページ---*/.topics-news{    position: relative;    z-index: 2;}.topics-news__title{    width: 100%;    position: relative;    z-index: 1;}.topics-news__obj{    width: 100%;    position: relative;    z-index: 1}.topics-news__img{    position: absolute;    width: 20%;    bottom: 2%;    transform: scale(0.3);    opacity: 0;}.topics-news__img:first-of-type{    left: 3%;    transition: all ease .8s .3s;}.topics-news__img:nth-of-type(2){    left: 27%;    transition: all ease .8s .6s;}.topics-news__img:nth-of-type(3){    left: 51%;    transition: all ease .8s .9s;}.topics-news__img:last-of-type{    left: 75%;    transition: all ease .8s 1.2s;}.topics-content__title{    position: relative;    z-index: 2;}.topics-content__obj01{    width: 21%;    position: absolute;    top: 29%;    left: 6%;}.topics-content__obj02{    width: 21%;    position: absolute;    top: 29%;    right: 5%;}.topics-flex{    display: flex;    justify-content: space-evenly;    position: relative;    z-index:2;}.topics-content__01{    margin-top: 5%;    padding: 5% 0 15%;    position: relative;}.topics-content__02{    padding: 6% 0 15%;    background-color: #fadce9;    position: relative;}.topics-content_img01{    width: 35%;}.topics-content_img02{    width: 36.7%;}.topics-link{    width: 20%;    position: absolute;    bottom: 13%;    right: 12%;    z-index: 2;}.topics-obj__flag{    position: absolute;    width: 23%;    z-index: 3;}.topics-content__01 .topics-obj__flag{    top: 5%;    right: 0;}.topics-content__02 .topics-obj__flag{    top: 5%;    left: 0;    transform: rotate(-21deg);}/*---リニューアルページ---*/.renewal-nav__title,.renewal-nav__link,.renewal-map,.renewal-popup,.renewal-open{    position: relative;    z-index: 3;}/*マップ*/.map-tab__area{    width: 83.3%;    margin: 3% auto;}.map-obj{    position: absolute;    width: 20.6%;    top: -4%;    right: 13%;}.map-tab{    width: 12%;    display: inline-block;    background-color: #f4b4d0;    padding: 1%;    border-radius: 15px;    text-align: center;    color: #ffffff;    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", "Noto Sans JP", sans-serif;}.map-tab__active{    background-color: #eb6ea5;}.map-area{    width: 83.3%;    margin: 0 auto;    position: relative;}.map-img{    position: absolute;    top: 0;    left: 0;    display: none;}.map-active{    display: block;}.bg-obj{    position: absolute;    bottom: -28%;    z-index: -1;}/*ポップアップ*/.renewal-popup{    margin-top: 1.5%;}.renewal-popup__title{    position: relative;}.popup-obj01{    position: absolute;    width: 21%;    top: 18%;    right: 12%;    z-index: 3}.popup-item__list{    width: 83.3%;    margin: 3% auto 0;    display: flex;    justify-content: space-between;    flex-wrap: wrap;}.popup-trigger{    margin-bottom: 3%;   }.popup-newopen .popup-trigger{    width: 47.5%;}.popup-box .popup-trigger{    width: 30%;}.popup-other{    margin-top: 10%;}.overlay {    display: none; /* 初期は非表示 */    position: fixed;    top: 0; left: 0;    width: 100%; height: 100%;    background: rgba(0,0,0,0.8);    justify-content: center;    align-items: center;    z-index: 70;}.overlay.is-active {  display: flex; /* アクティブ時に表示 */}.popup-content {  position: relative;  max-width: 450px;}.popup-content img {  width: 100%;  height: auto;}#popup-close {    position: absolute;    top: 1%;     right: 2%;    width: 5.6%;    height: 3.5%;    max-width: 42px;    max-height: 42px;    cursor: pointer;}.popup-close__box{    position: relative;    width: 100%;    height: 100%;}.popup-close__box span{    width: 100%;    height: 1px;    background-color: #231815;    position: absolute;    top: 50%;}.popup-close__box span:first-child{    transform: rotate(45deg) translateY(-50%);}.popup-close__box span:last-child{    transform: rotate(-45deg) translateY(-50%);}/*移転オープン*/.renewal-open__title{    position: relative;}.open-obj01{    position: absolute;    width: 22.5%;    top: 26%;    right: 11%;    z-index: 3}/*移転オープンスライダー*/.splide{    margin: 5% 0;;}/* ページネーション全体の枠をリセット */.splide__pagination.custom-pagination {  position: relative; /* スライダーの下に配置する場合 */  bottom: 0;  left: 0;  transform: none;  padding: 0;  margin-top: 20px;  display: flex;  justify-content: center;  gap: 10px;  opacity: 1;}#shop-slider .splide__list {    display: flex !important; /* 縦並びにならないよう強制 */    width: auto !important;   /* 幅計算をSplideに任せる */    padding: 0 !important;    /* 余計なパディングを排除 */}/* スマホでのスワイプ時に画像が「選択」されて動かなくなるのを防ぐ */#shop-slider .splide__slide img {    -webkit-user-drag: none;    user-select: none;    pointer-events: none; /* 画像へのタッチをスライダー本体に透過させる */}/* スライダー全体のタッチ動作を調整 */#shop-slider .splide__track {    touch-action: pan-y; /* 上下スクロールは生かし、横スワイプをSplideが占有する */}/* 各ロゴ（ドット）のスタイル */.splide__pagination__page {  width: 100%;    max-width: 155px;  height: auto;  background: none; /* デフォルトの丸い背景を消す */  border: 2px solid transparent; /* 選択されていない時は透明な枠 */  border-radius: 4px;  padding: 0;  margin: 0;  cursor: pointer;  transition: all 0.3s;}.splide__pagination li{    width: 18.9%}/* アクティブなロゴのスタイル */.splide__pagination__page.is-active {  opacity: 1;  border-color: #fff100; /* アクティブ時に枠線を出す例 */  transform: translateY(-5px); /* 少し浮かせる演出 */}.splide__pagination__page img {  width: 100%;  height: auto;  display: block;}/*移転オープンリスト*/.open-list{    width: 83.3%;    margin: 0 auto;    display: flex;    justify-content: space-between;    flex-wrap: wrap;}.open-list li{    width: 30%;    margin-bottom: 3%;}.renewal-banner{    width: 83.3%;     margin: 0 auto;    display: block;}/*館内施設*/.renewal-facility h2{    position: relative;    z-index: 2;}.renewal-facility__content{    position: relative;}.renewal-facility__kids{    background-color: #ffffff;}.renewal-facility__kids h3{    position: relative;    z-index: 2;}.facility-obj01{    position: absolute;    width: 32.4%;    top: -33%;    right: 6%;    z-index: 2}.facility-kids__img01{    position: absolute;    width: 45.1%;    top: 30%;    left: 8%;    z-index: 2;}.facility-kids__img02{    position: absolute;    width: 39.4%;    top: 42%;    right: 8%;    z-index: 2;}.facility-picnic__img01{    position: absolute;    width: 37.5%;    top: 43%;    left: 8%;    z-index: 2;}.facility-picnic__img02{    position: absolute;    width: 42.5%;    top: 33%;    right: 8%;    z-index: 2;}.renewal-facility__other{    background-color: #ffffff;}.renewal-facility__other h3{    position: relative;    z-index: 2;}.facility-other__img01{    position: absolute;    width: 39.2%;    top: 40%;    left: 8%;    z-index: 2;}.facility-other__img02{    position: absolute;    width: 39.2%;    top: 40%;    right: 8%;    z-index: 2;}.facility-obj01{    position: absolute;    width: 32.4%;    top: -33%;    right: 6%;    z-index: 2}.facility-kids__img01{    position: absolute;    width: 45.1%;    top: 30%;    left: 8%;    z-index: 2;}.renewal-facility__picnic{    z-index: 2;}.renewal-facility__spot{    width: 83.3%;    margin: 0 auto;    padding: 5% 0;    position: relative;    z-index: 2;}/*---イベントページ---*/.event-section__title{    position: relative;}.sp-event{    position: relative;    z-index: 2}.sp-event__flex{    width: 83.3%;    max-width: 1000px;    margin: 5% auto 1%;    display: flex;    flex-wrap: wrap;    justify-content: space-between;}.event-card{    width: 47.5%;    margin-bottom: 3%;}.event-card__ex{    width: 83.3%;    max-width: 1000px;    margin: 0 auto;    display: block}.sp-event__banner{    width: 83.3%;    max-width: 1000px;    margin: 3% auto 5%;    display: block;}.event-obj__flag{    width: 23.1%;    position: absolute;    top: -13%;    right: -2%;}.event-obj__flag02{    width: 23.1%;    transform: scale(-1, 1);    position: absolute;    top: -13%;    left: -2%;}.campaign{    margin-top: 5%;    position: relative;    z-index: 2;}.campaign-banner__box{    margin-bottom: 5%;    }.campaign-banner{    width: 83.3%;    margin: 5% auto 0;    display: block;}/*---アニメーション関係---*//*花びらモーション*//* 親要素の固定設定 */.sakura-motion {    position: fixed;    top: 0;    left: 0;    width: 100%;    height: 100%;    z-index: 100; /* コンテンツより前に出すか後ろに出すかはお好みで */    pointer-events: none; /* 下の要素をクリックできるように */    z-index: 1;}.sakura-container {    width: 100%;    height: 100%;    position: relative;}.petal {    position: absolute;    top: -100px; /* 画面の少し上からスタート */    opacity: 0;    background-size: contain;    background-repeat: no-repeat;    /* 【対策1】GPUに処理を任せる設定 */    will-change: transform;    /* 【対策2】infinite（無限）を指定 */    animation: sakura-falling linear infinite;}/* 【対策3】topではなくtransformでアニメーションさせる */@keyframes sakura-falling {    0% {        /* 0%の時点では透明 */        transform: translateY(0) rotate(0deg) translateX(0);        opacity: 0;    }    /* 5%〜10%かけてふわっと表示させる */    10% {        opacity: 1;    }    90% {        opacity: 1;    }    100% {        transform: translateY(110vh) rotate(720deg) translateX(100px);        opacity: 0;    }}/*日数カウンター*/#counter{    position: relative;    z-index: 4;    margin: 5%; }#counter img{    width: 100%;}/* --- カウントダウン表示のスタイル --- */#countdown-display {    text-align: center;    font-size: 3em;    font-weight: bold;    position: absolute;    top: 65%;    left: 50%;    transform: translate(-50% , -50%);    display: flex;    justify-content: center;     align-items: flex-end; }/* 一桁ずつの背景 (白背景、丸み、枠線など) */.digit-box {    background-color: white;    border-radius: 10px;     width: 28%;   /* 例：幅を固定 */    display: flex;     justify-content: center;    align-items: center;    margin: 0 1.5%;    padding: 0.1em 0.3em;    min-width: 1.2em;}/* 数字自体のスタイル (サイズ大きめ、赤色など) */.digit {/*    ベースのフォントサイズ 173px*//*    font-size: 14.5vw; */    font-family: "Oswald", sans-serif;    font-size: clamp(60px, 12vw, 180px);    font-weight: 500;    color: #cc3333; }/* 「日」の文字のスタイル (フォント小さめ) */.day-label {    /*    ベースのフォントサイズ 93px*//*    font-size: 7.8vw; */    font-family: "Noto Sans JP", sans-serif;    font-size: clamp(31px, 10vw, 70px);    font-weight: bolder;    color: #333;/*    margin-left: 10px;    margin-bottom: 0.1em; */}/* --- テストボタン --- */.test-btn{    position: absolute;    bottom: 20%;    left: 20%;}/*---マユリカスクロール回転アニメーション---*/.top-btn{    max-width: 100px;    max-height: 100px;    width: 10%;    position: fixed;    bottom: 2%;    right: 2%;    z-index: 60;    cursor: pointer;}.rolling{    width: 130%;    object-fit: cover;    position: absolute;    left: 50%;    bottom: 44%;    transform: translateX(-50%);}#rotation-container {    /* スクロール中に画像が画面中央に固定されるようにする */    position: sticky;    top: 50%; /* 中央寄せ */    transform: translateY(-50%); /* 中央寄せ */    text-align: center;}#rotation-container img{    width: 100%;    height: 100%;    object-fit: cover;    /* 追加：画像の切り替え時に一瞬のラグを脳に補完させる */    transition: filter 0.05s linear;}/*基本のアニメーション*/.fade-up{    transform: translateY(50px);    opacity: 0;    transition: all ease .8s;}.fade-in{    opacity: 0;    transition: all ease 1.5s;}.slide-in{    transform: translateX(-50px);    transition: all ease .5s;    opacity: 0}.slide-revers{    transform: translateX(50px);    transition: all ease .5s;    opacity: 0}.scale{    transform: scale(0);}/*ファーストビューアニメーション*/.fade-in__load{    opacity: 0;    transition: all ease 1.5s;}.fade-up__load{    transform: translateY(50px);    opacity: 0;    transition: all ease .8s;}.slide-in__load{    transform: translateX(-50px);    transition: all ease .5s;    opacity: 0}.scale-load{    transform: scale(0);}/*アニメーション発火*/.fade-in-active{    opacity: 1;}.fade-up-active{    transform: translateY(0);    opacity: 1;    z-index: 2;}.slide-active{    opacity: 1;    transform: translate(0 , 0);}.scale-active{    opacity: 1;    transform: scale(1);}/*ピコピコアニメーション*/.float-anime{    position: absolute;    transition: all ease 1s;    animation: pikopiko 1s steps(2, start) infinite;}.float-anime02{    position: absolute;    transition: all ease 1s;    animation: pikopiko 1s steps(2, start) infinite;}@keyframes pikopiko {  0% {    transform: rotate(30deg);  }  to {    transform: rotate(-5deg);  }}