
/*-----------*/
/*common
/*-----------*/
html{
    font-size: 62.5%;
}

*,*::after,*::before{
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body{
    font-size: min(1.4rem,3.5vw);
    font-weight: 500;
    color: var(--color-brown);
    font-family: "Zen Kaku Gothic Antique", 'YuGothic', 'Yu Gothic', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'メイリオ', 'Meiryo', 'ＭＳ ゴシック', sans-serif;
    line-height: 1.75;
    letter-spacing: 0.04em;
    position: relative;
    -webkit-appearance: none;
    appearance: none;
}

:root{
    --color-black:#333;
    --color-white:#fefefe;
    --color-brown:#8c5825;
    --color-orange:#f39700;
    --color-yellow:#ffef9f;
    --color-lYellow:#FFF4BF;
    --color-red:#ec6d56;
    --color-pink:#F3A799;
    --color-lightPink:#FCEDE6;
    --color-green:#8ec43e;
    --color-blue:#7acfe7;
    --color-beige:#fff5bf;
    --transition05:ease .3s;
    --contents-margin:min(8vw,82px);
    --border-radius:12px;
    --font-title1:min(1.83rem,4.24vw);
    --font-kosugi:"Kosugi Maru", serif;
}

img{
    max-width: 100%;
    vertical-align: bottom;
}

a{
    text-decoration: none;
    color: var(--color-brown);
    transition:var(--transition05);
}

ul,li,tr,th,td,dl,dt,dd{
    text-decoration: none;
    list-style: none;
}

main.mainContents{
    width: 100%;
    background: var(--color-blue);
    position: relative;
    z-index: 1;
}


/*Wood*/
.woodContents{
    position: relative;
}
.mainWood{
    position: relative;
    z-index: -1;
    width: 100%;
    padding-top: min(7vw, 6%);
}

.mainWood img{
    opacity: 0;
    animation: visualAnimation .4s cubic-bezier(0.34, 1.86, 0.64, 1) .6s normal forwards;
}

.contents{
    margin: 0 var(--contents-margin);
}

.section-deco{
    position: relative;
    z-index: 1;
}
.section-deco::before{
    position: absolute;
    content: "";
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
    width: 100%;
    height: 37vw;
    top: -23vw;
    left: 0;
    z-index: -1;
}
.section-deco.-deco_green::before{
    background-image: url(img/sectionDeco-green.svg);
}
.section-deco.-deco_beige::before{
    background-image: url(img/sectionDeco-beige.svg);
        top: -21vw;
}

.text-bubble{
    text-align: center;
}
.text-bubble span{
    position: relative;
    padding: 0 min(12px, 2vw);
}
.text-bubble span::before,
.text-bubble span:after{
    position: absolute;
    content: "";
    background: var(--color-white);
    width: 2px;
    height: min(24px, 5vw);
}
.text-bubble span::before{
    transform: rotate(-26deg);
    bottom: 0;
    left: 0;
}
.text-bubble span::after{
    transform: rotate(26deg);
    bottom: 0;
    right: 0;
}

/*----- link -----*/
.linkBtn{
    position: relative;
    z-index: 1;
    display: block;
    text-align: center;
    font-weight: 500;
    font-size: min(2.6rem, 5.24vw);
    letter-spacing: 0;
    padding: min(12px, 2vw) min(16px, 3vw);
    background: var(--color-brown);
    border-radius: min(16px,2.4vw);
    width: min(348px, 72vw);
    margin: 0 auto;
}
.linkBtn::after{
    position: absolute;
    content: "";
    background: var(--color-lightPink);
    border: solid 2px var(--color-brown);
    border-radius: min(16px,2.4vw);
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
    transform: translate(-2%, -8%);
    transition: var(--transition05);
}

.linkBtn span{
    display: block;
    transform: translate(-2%, -9%);
    transition: var(--transition05);
}


/*----- animation -----*/
.fade-in2,
.menu-scrollFallIn,
.popUpIn{
    opacity: 0;
}

.fade-in2.is-active{
    animation: scrollFadeIn .3s cubic-bezier(0.58, 0.02, 0.54, 1) .6s forwards;
}
@keyframes scrollFadeIn {
    0%{
        transform: translate(0, 10px);
    }
    100%{
        transform: translate(0, 0);
        opacity: 1;
    }
}

.menu-scrollFallIn.is-active{
    animation: scrollFallIn .3s cubic-bezier(0.58, 0.02, 0.54, 1) .4s forwards;
}
@keyframes scrollFallIn {
    0%{
        transform: translate(0, -20px);
    }
    100%{
        transform: translate(0, 0);
        opacity: 1;
    }
}

.popUpIn.is-active{
    animation: scrollPopUp .5s cubic-bezier(0.58, 0.02, 0.54, 1) .6s forwards;
}
@keyframes scrollPopUp {
    0%{
        transform: scale(0);
    }
    50%{
        transform: scale(1.06);
        opacity: 1;
    }
    100%{
        transform:scale(1);
        opacity: 1;
    }
}

.a-katakata{
    animation: katakata steps(1) 6s infinite;
}
.a-katakata2{
    animation: katakata steps(1) 8s infinite;
}
.a-katakata3{
    animation: katakata steps(1) 10s infinite;
}

@keyframes katakata{
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0);
    }
    10% {
        -webkit-transform: rotate(5deg);
        transform: rotate(5deg);
    }
    20% {
        -webkit-transform: rotate(0);
        transform: rotate(0);
    }
    30% {
        -webkit-transform: rotate(5deg);
        transform: rotate(5deg);
    }
    40% {
        -webkit-transform: rotate(0);
        transform: rotate(0);
    }
    100% {
        -webkit-transform: rotate(0);
        transform: rotate(0);
    }
}

.a-fuwafuwa{
    animation: fuwafuwa 4s infinite ease-in-out 0s alternate;
}
.a-fuwafuwa2{
    animation: fuwafuwa 5s infinite ease-in-out 0s alternate;
}
@keyframes fuwafuwa{
    0% {
        transform: translate(0, 0);
    }
    50% {
        transform: translate(0, -6px);
    }
    100% {
        transform: translate(0, 0px);
    }
}

.a-pikapika{
    animation: star 1s both infinite steps(1);
    animation-delay: .15s;
    transform-box: fill-box;
    transform-origin: center;
}
.a-pikapika2{
    animation: star 1.2s both infinite steps(1);
    animation-delay: .15s;
    transform-box: fill-box;
    transform-origin: center;
}

@keyframes star{
0% {
    transform: scale(.9);
}
48% {
    transform: scale(1);
}
50% {
    transform: scale(1);
}
52% {
    transform: scale(1);
}
100% {
    transform: scale(.9);
}
}



@keyframes cloudAnimation {
    0%{
        opacity: 0;
        transform: scale(0);
    }
    50%{
        opacity: 1;
        transform: scale(1.08);
    }
    100%{
        opacity: 1;
        transform: scale(1);
    }
}

/*-----------*/
/* loading
/*-----------*/
#js-loading {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0px;
    left: 0px;
    background: var(--color-blue);
    z-index: 112;
    overflow: hidden;
    transition: ease .5s;
}

.loading{
    position: relative;
}

.-logoAnimation_image{
    position: absolute;
    width: min(260px, 44vw);
    top: 45%;
    transform: translateX(-50%);
    animation: carAnimation 8s ease infinite forwards;
}
.-logoAnimation_image img{
    display: block;
    animation: carRunAnimation .5s infinite;
}
@keyframes carAnimation {
    0% {
        left: -10%;
    }
    100% {
        left: calc(100% + 30%);
    }
}
@keyframes carRunAnimation {
    20% {
        transform: translateY(-4px);
        animation-timing-function: cubic-bezier(1, 0, 1, 1.3);
    }
    25% {
        transform: translateY(0px);
    }
    55% {
        transform: translateY(-3px);
        animation-timing-function: cubic-bezier(1, 0, 1, 1.3);
    }
    60% {
        transform: translateY(0px);
    }
}

body.appear .splashbg{
    display: block;
    border-radius: 50%;
	animation-name:PageAnime;
	animation-duration:1s;
	animation-fill-mode:forwards;
}

@keyframes PageAnime{
	0% {
        display: block;
		transform: scale(0);
	}
	100% {
		transform: scale(100);
		display: none;
	}
}

/*-----------*/
/* deskTop
/*-----------*/
.deskTop-wrapper{
    display: none;
}

.deskTop-bgSlider.-bgSlider-top,
.deskTop-bgSlider.-bgSlider-bottom{
    display: none;
}

.deskTop-cloud,
.deskTop-deco{
    display: none;
}


/*-----------*/
/*KV
/*-----------*/
.KV-deco{
    position: absolute;
}

.KV-deco.-deco_cloud{
    left: 0;
    top: 0;
    width: 30%;
    opacity: 0;
    animation: cloudAnimation .4s cubic-bezier(0.34, 1.86, 0.64, 1) .75s normal forwards;
}
.KV-deco.-deco_cloud2{
    right: 0;
    top: min(18vw, 3%);
    width: 21%;
    z-index: -1;
    opacity: 0;
    animation: cloudAnimation .4s cubic-bezier(0.34, 1.86, 0.64, 1) .75s normal forwards;
}
.KV-deco.-deco_cloud3{
    left: 4%;
    top: 748vw;
    width: 27%;
    z-index: -1;
    opacity: 0;
    animation: cloudAnimation .4s cubic-bezier(0.34, 1.86, 0.64, 1) .75s normal forwards;
}

.KV-deco.-deco_flag{
    left: 0;
    top: 0;
    width: 30%;
    opacity: 0;
    animation: cloudAnimation .4s cubic-bezier(0.34, 1.86, 0.64, 1) .8s normal forwards;
}
.KV-deco.-deco_flag2{
    right: 0;
    top: 0;
    width: 30%;
    opacity: 0;
    animation: cloudAnimation .4s cubic-bezier(0.34, 1.86, 0.64, 1) .8s normal forwards;
}

.KV{
    position: absolute;
    top: 23vw;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
    width: 90%;
}

.KV-main{
    position: relative;
}
.KV-main h1{
    position: relative;
    margin: 0 auto;
}

.KV-deco.-deco_free{
    width: min(25vw, 29%);
    right: 0;
    top: -28%;
}

.KV-titleImage{
    width: 92%;
    margin: 0 auto;
    display: block;
}

.is-loadActive .KV-main{
    opacity: 0;
    animation: visualAnimation .4s cubic-bezier(0.34, 1.86, 0.64, 1) .75s normal forwards;
}

@keyframes visualAnimation {
    0% {
        opacity: 0;
        transform: translateY(6%);
    }
    50% {
        opacity: 1;
        transform: translateY(-2%);
    }
    100% {
        opacity: 1;
        transform: translateY(0%);
    }
}

div.KV-imageSign{
    position: absolute;
    width: min(34vw, 167px);
    bottom: -14%;
}

.is-loadActive div.KV-imageSign img{
    opacity: 0;
    animation: signAnimation .3s ease 1.8s normal forwards;
}
@keyframes signAnimation {
    0%{
        opacity: 0;
        transform:scale(1.2);
    }
    100%{
        opacity: 1;
        transform:scale(1);
    }
}


.KV-deco_loading1.is-loadActive{
    opacity: 0;
    animation: deco-fadeIn .3s ease 5.5s normal forwards;
}

@keyframes deco-fadeIn {
    0%{
        opacity: 0;
        transform: scale(0);
    }
    50%{
        opacity: 1;
        transform: scale(1.2);
    }
    100%{
        opacity: 1;
        transform: scale(1);
    }
}

/*-----------*/
/*会場
/*-----------*/
.eventPlace{
    position: absolute;
    top: 79vw;
    right: min(7vw, 6%);
    width: 36vw;
    height: 36vw;
}

.eventPlace-inner{
    position: relative;
    background: var(--color-beige);
    border: solid 2px var(--color-brown);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    width: 100%;
    height: 100%;
    text-align: center;
}
.eventPlace-inner::before{
    position: absolute;
    content: "";
    background: var(--color-brown);
    border-radius: 50%;
    width: 100%;
    height: 100%;
    z-index: -1;
    right: -5%;
    bottom: -4%;
}

.eventPlace-inner>.eventPlace-wrapper{
    width: 90%;
    line-height: 1.2;
    letter-spacing: 0;
}

.eventPlace-inner>.eventPlace-wrapper h2{
    font-size: 4.83vw;
    font-weight: 800;
}

.eventPlace-inner>.eventPlace-wrapper p{
    font-size: 3.4vw;
}

.eventPlace-inner>.eventPlace-wrapper .eventPlace-wrapper_parking{
    margin-top: 6px;
}
.eventPlace-wrapper_parking p span{
    background: var(--color-white);
    font-size: 2.83vw;
    padding: 0 min(12px, 2vw);
}

.eventPlace-inner>.KV-deco{
    width: min(20vw, 43%);
    top: -2%;
    right: -11%;
}

.is-loadActive .eventPlace{
    opacity: 0;
    animation: visualAnimation .4s ease-in-out .85s normal forwards;
}

/*--- accordion ---*/
.box {
    display: none;
}

@media screen and (min-width:768px){
    .KV{
        top: min(25vw, 3%);
    }

    .eventPlace{
        width: min(20rem, 18vw);
        height: min(20rem, 18vw);
        top: min(38vw, 9.6%);
    }

    .eventPlace-inner>.eventPlace-wrapper h2{
        font-size: min(2.7vw, 3rem);
    }

    .eventPlace-inner>.eventPlace-wrapper .eventPlace-wrapper_parking p{
        font-size: min(1.6rem, 1.8vw);
    }

    .eventPlace-wrapper_parking p span{
        font-size: min(2.7vw, 1.6rem);
    }
}

/*-----------*/
/*day
/*-----------*/
.eventDay{
    position: absolute;
    top: 93vw;
    left: min(14vw, 14%);
    width: min(40vw, 38%);
}

.is-loadActive .eventDay{
    opacity: 0;
    animation: visualAnimation .4s ease-in-out .95s normal forwards;
}

.eventDay-inner{
    position: relative;
}

.eventDay-details{
    position: relative;
    width: min(40vw,109%);
}

.KV-deco.-deco_day{
    left: -8%;
    top: -52%;
    width: 41%;
}

.KV-deco.-deco_boy{
    width: min(15vw, 33%);
    right: -45%;
    top: 21%;
}

.KV-deco.-deco_girl{
    width: min(20vw, 35%);
    right: min(52%);
    top: min(107%);
}
@media screen and (min-width:768px){
    .eventDay{
        top: min(44vw, 11.4%);
    }
}

/*-----------*/
/*ticket
/*-----------*/
.e-ticket{
    position: absolute;
    top: 128vw;
    right: min(12vw, 12%);
    width: min(40vw, 40%);
}

.is-loadActive .e-ticket{
    opacity: 0;
    animation: visualAnimation .4s ease-in-out 1.05s normal forwards;
}

.ticket-inner{
    position: relative;
}

.ticket-details_price{
    width:100%;
}

.e-ticket .linkBtn{
    width: calc(100% - min(8vw, 18%));
    margin: min(2vw, 10px) 0 0 auto;
    font-size: min(1.8rem, 3.4vw);
    padding: min(6px, 2vw) min(4px, 2vw);
}

.KV-deco.-deco_ticket{
    right: -16%;
    top: -50%;
    width: min(19vw, 38%);
}

.deco-bird{
    position: absolute;
    top: 152vw;
    left: 0;
    width: min(95vw, 96%);
}

.is-loadActive .deco-bird{
    opacity: 0;
    animation: visualAnimation .4s ease-in-out 1.1s normal forwards;
}

@media screen and (min-width:768px){
    .e-ticket{
        top: min(62vw, 15.7%);
    }

    .deco-bird{
        top: min(77vw, 18.8%);
    }
}

/*-----------*/
/*time table
/*-----------*/
.announce-timeTable{
    padding: min(20px, 4vw);
    background: var(--color-white);
    margin: min(52px, 12vw) min(6vw, 32px) 0;
}

.announce-timeTable h3{
    text-align: center;
    font-size: min(2.24rem, 5.24vw);
    font-family: var(--font-kosugi);
    font-weight: 700;
    color: var(--color-orange);
    padding-bottom: 8px;
}

.announce-timeTable p{
    font-size: min(1.13rem, 2.83vw);
    text-align: center;
}

.-program_timeTable{
    margin-top: min(20px, 4vw);
}

._timeTable__items:first-of-type {
    padding: 0 0 12px;
}
._timeTable__items {
    display: flex;
    align-items: baseline;
    gap: min(2vw, 20px);
    letter-spacing: 0.05em;
    border-bottom: dashed 1px var(--color-orange);
    padding: 12px 0;
}

._timeTable__items>dt {
    font-size: min(1.6rem, 3.83vw);
    font-family: var(--font-kosugi);
    font-weight: 700;
    color: var(--color-orange);
    width: min(108px, 26vw);
}

._timeTable__items>dd {
    font-size: var(--font-183rem);
    font-weight: 700;
    line-height: 1.5;
    width: calc(100% - min(108px, 26vw));
}

@media screen and (min-width:768px){
}

/*-----------*/
/*プリキュア・ガウ
/*-----------*/
.mainEvent{
    position: absolute;
    width: 87%;
    left: 50%;
    transform: translateX(-50%);
}

.mainEvent.mainEvent-precure{
    top: 170vw;
}

.mainEvent-contents{
    position: relative;
}

.kusa-deco{
    position: absolute;
    z-index: 1;
}

.mainEvent.mainEvent-gau{
    top: 289vw;
}

/*-----------*/
/*恐竜
/*-----------*/
.mainEvent.mainEvent-dinosaur{
    top: 398vw;
}

.mainEvent.mainEvent-dinosaur .mainEvent-deco{
    top: 4%;
    right: -5%;
    position: absolute;
    width: min(38vw,42%);
}

/*-----------*/
/*アンパンマン
/*-----------*/
.mainEvent-anpanman{
    position: absolute;
    top: 515vw;
}

/*-----------*/
/*ひらぎの
/*-----------*/
.mainEvent-hiragino{
    position: absolute;
    top: 595vw;
}

.deco-star.-star_3{
    width: min(7vw, 7%);
    right: min(10vw, 10%);
    top: min(2vw, 6%);
}

.deco-star.-star_4{
    width: min(6vw, 7%);
    left: min(10vw, 10%);
    top: min(1vw, 3%);
}

/*-----------*/
/*チーズフェスタ
/*-----------*/
.cheeseFesta{
    position: absolute;
    top: 677vw;
}

.cheeseFesta-contents{
    position: relative;
    width: 84%;
    margin: 0 auto;
}

.cheeseFesta-title{
    position: absolute;
    width: 102%;
    transform: translateX(-50%);
    left: 50%;
    top: -21%;
}

.deco-star{
    position: absolute;
}
.deco-star.-star_1{
    width: min(4vw, 5%);
    left: min(5vw, 5%);
    top: min(5vw, 26%);
}
.deco-star.-star_2{
    width: min(9vw, 9%);
    right: min(2vw, 2%);
    top: min(2vw, 14%);
}

.deco-girlCheese{
    position: absolute;
    width: min(15vw, 17%);
    right: 0%;
    bottom: -5%;
    z-index: 2;
}

.kusa-deco.-deco2{
    bottom: -2%;
    right: min(35vw, 42%);
    width: min(19vw, 24%);
}
.kusa-deco.-deco3{
    bottom: min(-1vw, -1%);
    right: -4%;
    width: min(26vw, 26%);
}


@media screen and (min-width:768px){
    .mainEvent.mainEvent-precure{
        top: min(21%, 87vw);
    }

    .mainEvent.mainEvent-gau{
        top: min(35.6%, 140vw);
    }

    .mainEvent.mainEvent-dinosaur{
        top: min(48.3%, 193vw);
    }

    .mainEvent.mainEvent-anpanman{
        top: min(63%, 247vw);
    }

    .cheeseFesta{
        top: min(83%, 324vw);
    }

    /*-----------*/
    /*ひらぎの
    /*-----------*/
    .mainEvent-hiragino{
        top: min(73%, 292vw);
    }
}

@media screen and (max-width:1080px){}

/*-----------*/
/*ふわふわドーム
/*-----------*/
.fuwafuwaDome{
    position: absolute;
    width: 76%;
    transform: translateX(-41%);
    left: 41%;
    top: 590vw;
    z-index: 2;
}

.KV-deco.-deco_pizza{
    right: 0;
    top: 748vw;
    width: min(18%, 24vw);
}

.KV-deco.-deco_cloud2-1{
    right: 29%;
    top: .8%;
    width: min(21%, 17vw);
    z-index: -1;
    opacity: 0;
    animation: cloudAnimation .4s cubic-bezier(0.34, 1.86, 0.64, 1) .75s normal forwards;
}

.KV-deco.-deco_cloud2-2{
    right: min(7vw, 6%);
    top: min(83vw, 10%);
    width: min(28%, 24vw);
    z-index: -1;
    opacity: 0;
    animation: cloudAnimation .4s cubic-bezier(0.34, 1.86, 0.64, 1) .75s normal forwards;
}

.KV-deco.-deco_cloud2-3{
    left: min(9vw, 8%);
    top: min(133vw, 16%);
    width: min(26%, 24vw);
    z-index: -1;
    opacity: 0;
    animation: cloudAnimation .4s cubic-bezier(0.34, 1.86, 0.64, 1) .75s normal forwards;
}

@media screen and (min-width:768px){
    .fuwafuwaDome{
        top: min(282vw, 85.8%);
    }

    .section-deco.-deco_beige::before{
        height: min(26%, 18vw);
        top: -12%;
    }

    .KV-deco.-deco_pizza{
        top: min(92%,500vw);
    }

    .KV-deco.-deco_cloud3{
        top: min(359vw, 92%);
    }
}

/*-----------*/
/*announce
/*-----------*/
.announce{
    position: relative;
    background: var(--color-beige);
    padding: 18vw 0 7vw;
    z-index: -1;
    margin-top: -4vw;
}

.announce-dinosaur{
    width: min(92vw, 92%);
    margin: -18% auto min(12vw, 9%);
    background: var(--color-pink);
    position: relative;
    border-radius: 10px;
    padding: min(4vw, 4%);
}
.announce-dinosaur::before,
.announce-dinosaur::after{
    position: absolute;
    content: "";
    background: url(img/wood-leg.svg) no-repeat center;
    background-size: 100%;
    width: min(6vw, 5%);
    height: min(10vw, 20%);
    z-index: -1;
    bottom: -10%;
}
.announce-dinosaur::before{
    left: 5%;
}
.announce-dinosaur::after{
    right: 5%;
}

.announce-dinosaur_wrapper{
    background: var(--color-white);
    padding: min(2vw, 16px);
    position: relative;
}
.announce-dinosaur_wrapper::before{
    position: absolute;
    content: "";
    background: url(img/blue-pin.svg) no-repeat center;
    background-size: 100%;
    width: 96%;
    height: min(3vw, 10px);
    left: 50%;
    top: 3%;
    transform: translateX(-50%);
}

.announce-booth{
    display: flex;
    align-items: center;
    justify-content: center;
    width: min(90vw, 88%);
    margin: -36vw auto 0;
}

.announce-booth_item{
    position: relative;
    width: 52%;
}

.announce-booth_item:nth-of-type(1){
    margin-right: -9vw;
    margin-top: -39vw;
}

img.deco-image.-image_dad{
    width: min(15vw, 37%);
    bottom: -34%;
    left: -11%;
}

img.deco-image.-image_child{
    width: min(14vw, 32%);
    bottom: -4%;
    left: min(-14%);
}

img.deco-image.-image_gKusa{
    width: min(7vw, 8%);
    bottom: -4%;
    left: min(22vw, 27%);
}

img.deco-image.-image_gKusa2{
    width: min(6vw, 9%);
    bottom: -2%;
    right: 0;
}

@media screen and (min-width:768px){
    .announce{
        margin-top: -11%;
        padding: 2vw 0 min(16vw, 8%);
    }
    .announce-dinosaur{
        margin: -25% auto min(12vw, 9%);
    }

    .announce-booth{
        margin: -12% auto 0;
    }

    .announce-booth_item:nth-of-type(1){
        margin-right: -13%;
        margin-top: -52%;
    }
}

/*-----------*/
/*注意事項
/*-----------*/
.ticket{
    background: var(--color-green);
    position: relative;
    padding: var(--contents-margin) 0;
}

.ticket-contents{
    margin-bottom: calc(var(--contents-margin) / 2);
    position: relative;
}

.ticket-price{
    text-align: center;
    color: var(--color-white);
    position: relative;
    font-size: min(2.5rem, 4.83vw);
    letter-spacing: 0;
    margin-bottom:min(24px,4vw);
}

img.deco-image{
    position: absolute;
}

img.deco-image.-image_shika{
    width: min(22%, 25vw);
    bottom: 2.6%;
    right: min(10vw, 10%);
}

img.deco-image.-image_yKusa{
    width: min(36px, 8vw);
    left: 0;
    top: 36%;
}
img.deco-image.-image_yKusa2{
    width: min(36px, 8vw);
    right: -4%;
    top: 95%;
}

img.deco-flag{
    position: absolute;
    width: min(150px, 30vw);
    top: -35%;
    left: 0;
}

.-price_text{
    width: min(267px, 50vw);
    margin: 8px auto;
}

.ticket-information{
    background: var(--color-white);
    border-radius: var(--border-radius);
    padding: min(32px, 6vw) min(30px, 4vw);
    color: var(--color-black);
    text-align: center;
    letter-spacing: 0;
}

.ticket-information h3{
    font-size: var(--font-title1);
    padding-bottom: min(16px, 4vw);
    color: var(--color-brown);
    font-weight: 600;
}
.ticket-information h3 span{
    border-bottom: solid 2px var(--color-brown);
}

.ticket-information p.ticket-lCord{
    padding-bottom: min(4vw, 16px);
    width: 52%;
    margin: 0 auto;
}

.ticket-information p a{
    color: var(--color-red);
    text-decoration: underline;
}

.ticket-wanted{
    padding-top: min(12px, 2vw);
    color: var(--color-white);
    font-size: min(1.4rem, 2.6vw);
    letter-spacing: 0;
}

/*-----------*/
/*footer
/*-----------*/
footer{
    padding: min(24px,5vw) min(6vw, 32px) min(8px,2vw);
    position: relative;
    text-align: center;
    background: var(--color-lYellow);
}

.footer-eventWanted{
    display: flex;
    flex-direction: column;
    align-items: center;
}

.footer-sponsor{
    padding: min(34px,7vw) min(20px,4vw) min(20px,4vw);
    background: var(--color-white);
    position: relative;
    margin-bottom: var(--contents-margin);
}
.footer-sponsor p{
    font-weight: 600;
    letter-spacing: 0;
}

.flag-title{
    position: absolute;
}
.flag-title.flag-sponsor{
    width: min(26%, 92px);
    left: 1%;
    top: -11%;
}

.footer-information{
    padding: 12px;
    background: var(--color-white);
    font-weight: 500;
    position: relative;
}

.footer-information ul{
    text-align: center;
    line-height: 1.4;
    font-size: min(1.6rem,3.83vw);
    font-family: var(--font-kosugi);
    font-weight: 600;
}

.footer-information ul li a:hover{
    opacity: 0.6;
}

.footer-supplement{
    margin: calc(var(--contents-margin) / 3) auto calc(var(--contents-margin) / 2);
    font-family: var(--font-kosugi);
    font-weight: 600;
    font-size: min(1.13rem, 2.2vw);
    letter-spacing: 0;
    display: flex;
    flex-wrap: wrap;
}

.footer-supplement li:nth-of-type(1){
    background: var(--color-brown);
    color: var(--color-beige);
    font-size: min(1.28rem, 2.5vw);
}

footer small{
    display: block;
    text-align: center;
}

a.pageTop{
    position: absolute;
    top: -16%;
    right: min(11vw, 2%);
    width: min(12vw, 11%);
    z-index: 1;
}

.deskTop-right,
.deskTop-left{
    display: none;
}


@media screen and (min-width: 768px){
    :root{
        --contents-margin: min(58px,3vw);
    }
    /*-----------*/
    /*common
    /*-----------*/
    body{
        font-size: 1.6rem;
        background: var(--color-blue);
        background-size: cover;
        background-attachment: fixed;
    }

    main.mainContents{
        width: min(540px, 45vw);
        max-width: calc(100% - 40px);
        margin-left: auto;
        margin-right: 12vw;
        box-shadow: 0px 0px 16px rgba(119, 117, 101, 0.2);
        z-index: 2;
    }

    .section-wrapper {
        padding: 56px 52px;
    }

    .section-deco::before{
        height: min(24%, 190px);
        top: -14%;
    }

    .linkBtn:hover::after,
    .linkBtn:hover span{
        transform: translate(0%, 0%);
    }

    a.pageTop:hover{
        top: -40px;
    }

    /*-----------*/
    /* deskTop
    /*-----------*/
    /*----- js swiper -----*/
    .swiper-wrapper {
        transition-timing-function: linear;
    }
    .swiper-slide{
        margin: 0 24px;
    }
    .swiper-slide img {
        height: auto;
        width:80%;
        margin: 0 auto;
    }

    /*--- left ---*/
    .deskTop-left{
        position: fixed;
        left: 16vw;
        top: 50%;
        transform: translate(0, -50%);
        width: min(520px, 30vw);
        display: flex;
        flex-direction: column;
        justify-content: center;
        background: var(--color-beige);
        border-radius: var(--border-radius);
        padding: 40px min(28px, 3vw);
        gap: min(30px, 3vw);
        border: solid 3px var(--color-brown);
        z-index: auto;
    }
    .deskTop-left::after{
        position: absolute;
        background: var(--color-brown);
        border-radius: var(--border-radius);
        width: 100%;
        height: 100%;
        top: 3%;
        right: -3%;
        z-index: -3;
    }

    .deskTop-menuList{
        font-size: min(2.3vw, 2.24rem);
        text-align: center;
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    .deskTop-menuList a{
        font-family: var(--font-kosugi);
        font-weight: 600;
        font-size: min(2.6rem, 3vw);
    }

    .deskTop-menuList a:hover{
        transform: scale(1.05);
        display: block;
    }

    .deskTop-left_contents{
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: min(3rem);
        width: min(28rem, 74%);
        margin: 0 auto;
    }
    .deskTop-left_contents img:nth-of-type(1){
        width: 80%;
    }
    .deskTop-left_contents img:nth-of-type(2){
        display: block;
        margin: 0 auto;
    }

    .deskTop-left .kusa-deco{
        z-index: -1;
        width: 13%;
        bottom: 18%;
        right: 5%;
    }

    .deskTop-left .kusa-deco.-deco2{
        width: 7%;
        right: 86%;
        bottom: 47%;
    }

    .deskTop-left img.deskTop-title{
        width: 90%;
        margin: 0 auto;
    }

    .deskTop-left .linkBtn{
        width: min(100%, 342px);
        font-size: min(2.5rem, 1.7vw);
    }

    /*--- deco ---*/
    .deskTop-deco{
        position: fixed;
        display: block;
        z-index: -1;
    }

    .deskTop-deco.-cloud1{
        width: 13%;
        top: 4%;
        right: 0;
        opacity: 0;
        animation: cloudAnimation .4s cubic-bezier(0.34, 1.86, 0.64, 1) .75s normal forwards;
    }

    .deskTop-deco.-cloud2{
        width: 18%;
        top: 0;
        left: 0;
        opacity: 0;
        animation: cloudAnimation .4s cubic-bezier(0.34, 1.86, 0.64, 1) .85s normal forwards;
    }

    .deskTop-deco.-cloud3{
        width: 11%;
        top: 18%;
        left: 40%;
        opacity: 0;
        animation: cloudAnimation .4s cubic-bezier(0.34, 1.86, 0.64, 1) .95s normal forwards;
    }

    .deskTop-deco.-cloud_bird{
        width: 7%;
        top: 6%;
        left: 21%;
        opacity: 0;
        animation: cloudAnimation .4s cubic-bezier(0.34, 1.86, 0.64, 1) .75s normal forwards;
    }

    .deskTop-deco.-cloud_bird2{
        width: 7%;
        top: 44%;
        right: 4%;
        opacity: 0;
        animation: cloudAnimation .4s cubic-bezier(0.34, 1.86, 0.64, 1) .85s normal forwards;
    }

    /*-----------*/
    /* KV
    /*-----------*/

    /*-----------*/
    /* ticket
    /*-----------*/
    .ticket-information p a:hover{
        opacity: .6;
    }
}

@media screen and (max-width:1425px){
    .deskTop-left{
        left: 10vw;
    }
}

@media screen and (max-width:1080px){
    main.mainContents,
    .openbtnFixed{
        margin: 0 0 0 auto;
        width: 48%;
    }

    .deskTop-left{
        left: 5vw;
        width: 42vw;
    }
}


@media screen and (max-width:768px){
    main.mainContents,
    .openbtnFixed{
        margin:auto;
        width: 100%;
    }
}
