/*
Theme Name: 伊勢宮リバーサイド横丁
Theme URI:
Version: 1.0
Author: takami
Author URI: https://yoshida-designbu.com/
License: takami
*/


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

html{
    font-size: 62.5%;
}

body{
    font-size: min(1.5rem, 3.6vw);
    font-family: "M PLUS 1p", 'YuGothic', 'Yu Gothic', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'メイリオ', 'Meiryo', 'ＭＳ ゴシック', sans-serif;
    line-height: 1.75;
    letter-spacing: 0.01em;
    color: var(--c-white);
    background: var(--c-black);
    font-weight: 500;
    position: relative;
}

:root{
    --c-black:#000;
    --c-white:#fefefe;
    --c-pink:#b4197d;
    --c-blue:#009ce1;
    --c-yellow:#fcf050;
    --c-green:#70b17d;
    --c-orange:#f0bd36;
    --c-gray:#9d9f9e;
    --glow: #ff41e1;
    --glow2: #571e80;
    --glow3: #c6ebff;
    --glow4: #000079;
    --glow5: #571e80;
    --glow6: #009ce1;
    --glow7: #1d2081;
    --blur: 2rem;
    --size: 12rem;
    --box-blur: calc(0.5 * var(--blur));
    --b-dashed:dashed 1px var(--c-dBrown);
    --b-brown:solid 2px var(--c-dBrown);
    --font-224rem:min(2.24rem,4.83vw);
    --font-183rem:min(1.83rem,4vw);
    --font-14rem:min(1.3rem,3.24vw);
    --section-margin:min(8rem,16vw);
    --bgw-margin:min(3rem,6vw);
    --titleB-margin:min(16px,4vw);
    --ps-margin:min(32px,6.5vw);
    --b-radius:min(1em,4vw);
    --ls-0:0;
    --transition:.4s cubic-bezier(.37,.49,.35,1.28);
    --transition2:.6s cubic-bezier(.37,.49,.35,1.28);
    --cha-contents-width: min(530px,35vw);
}

li{
    list-style: none;
}

a{
	text-decoration:none;
    color: var(--c-white);
    position: relative;
    transition: var(--transition);
}

img{
    max-width:100%;
    height: auto;
    box-sizing: border-box;
    vertical-align: bottom;
}

table{
    clear: both;
    border-collapse: collapse;
    width: 100%;
}

th{
    padding: 12px 0 12px 12px;
    vertical-align: top;
}

td{
    padding: 12px;
}

.contents{
    margin: 0 6%;
}

.contents-wrapper{
    position: relative;
}

/*--404--*/
.notFound{
    margin: min(32vw, 10rem) 0 min(10vw, 5rem);
}

.notFound h2{
    width: min(70%);
    margin: 0 auto;
}

.notFound h2 span{
    display: block;
    padding-top: min(1.4rem);
}

.notFound p{
    padding: min(3rem, 6vw) 0;
}

.notFound a.linkBox{
    border: min(0.3rem, .7vw) solid var(--c-pink);
}
.notFound a.linkBox span::before{
    color: var(--c-pink);
}

/*--thumbnail--*/
.thumbnail {
    position: relative;
    display: block;
    overflow: hidden;
    padding-top: 62.25%;
}
.thumbnail img{
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: var(--transition);
}

/*--title--*/
.contents-title{
    text-align: center;
    padding-bottom: min(1.24rem, 3vw);
}

.contentsTitle-border{
    display: flex;
    gap: min(4vw);
    align-items: center;
    justify-content: space-between;
    margin-bottom: min(4rem, 8vw);
}

.contentsTitle-border h2{
    width: min(46vw);
}

.contentsTitle-border_borders{
    width: calc(100% - min(46vw));
    height: min(9vw);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.neonBorder,.neonBorder-black{
    width: 100%;
    height: .3rem;
    border-radius: 3rem;
}

.neonBorder-black{
    background: var(--c-black);
}

.neonBorder.neonBorder-white{
    border: 0.18rem solid var(--c-white);
    box-shadow: inset 0 0 0 0px rgba(0, 0, 0, 0.15),
    0 0 0 2px rgba(0, 0, 0, 0.15),
    /* --- glow --- */
    inset 0 0 var(--box-blur) var(--glow3),
    0 0 var(--box-blur) var(--glow3),
    /* --- glow2 --- */
    inset 0 0 var(--box-blur) var(--glow4),
    0 0 var(--box-blur) var(--glow4),
    /* --- glow --- */
    inset 0 0 var(--box-blur) var(--glow5),
    0 0 var(--box-blur) var(--glow5);
}
.neonBorder.neonBorder-blue{
    border: 0.18rem solid #c2e1f6;
    box-shadow:
    inset 0 0 0 0px rgba(0, 0, 0, 0.15),
    0 0 0 2px rgba(0, 0, 0, 0.15),
    /* --- glow --- */
    inset 0 0 var(--box-blur) var(--glow6),
    0 0 var(--box-blur) var(--glow6),
    /* --- glow2 --- */
    inset 0 0 var(--box-blur) var(--glow7),
    0 0 var(--box-blur) var(--glow7),
    /* --- glow --- */
    inset 0 0 var(--box-blur) var(--glow5),
    0 0 var(--box-blur) var(--glow5);
}
.neonBorder.neonBorder-pink{
    border: 0.18rem solid #ffdcf6;
    box-shadow:
    inset 0 0 0 0px rgba(0, 0, 0, 0.15),
    0 0 0 0px rgba(0, 0, 0, 0.15),
    /* --- glow --- */
    inset 0 0 var(--box-blur) var(--glow),
    0 0 var(--box-blur) var(--glow),
    /* --- glow --- */
    inset 0 0 var(--box-blur) var(--glow2),
    0 0 var(--box-blur) var(--glow2);
}

/*--linkBox--*/
.linkBox{
    border: min(0.3rem, .7vw) solid var(--c-black);
    border-radius: 9999px;
    color: var(--c-white);
    display: block;
    text-align: center;
    width: 80%;
    margin: auto;
    padding: min(3vw);
    font-weight: 600;
    text-transform: uppercase;
}

.linkBox span{
    width: min(38vw, 17rem);
    display: block;
    margin: 0 auto;
    position: relative;
    padding-right: min(2.4rem, 6vw);
}
.linkBox span img{
    display: block;
}

.linkBox svg{
    fill: var(--c-black);
    display: block;
    transition: var(--transition);
}

.linkBox span::before{
    position: absolute;
    content: "";
    vertical-align: middle;
    color: var(--c-black);
    line-height: 1;
    width: 0;
    height: 0;
    border-style: solid;
    border-color: transparent;
    border-width: min(1rem, 2.4vw) min(1.5rem, 3.4vw);
    border-left-color: currentColor;
    border-right: 0;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}

.linkBox-list{
    display: flex;
    flex-direction: column;
    gap: min(2vw,1rem);
}

.links-wrapper{
    margin-top: min(3rem,6vw);
}

.contentsTitleArea{
    position: relative;
    z-index: 1;
}

.noLinks{
    opacity: .4;
}
.noLinks:hover{
    transform: none;
}

/*--bread--*/
.breadcrumbs{
    font-size: min(1.2rem, 2.8vw);
    margin: min(1rem,2vw);
    text-align: left;
    color: var(--c-white);
}

.breadcrumbs span{
    padding: 0 2px;
    font-weight: 500;
    color: var(--c-white);
    letter-spacing: 0;
}

.breadcrumbs a{
    color: var(--c-white);
    text-decoration: underline;
}

#page-top {
    position: absolute;
    top: 2%;
    right: min(32px, 3vw);
    width: min(9rem, 16vw);
    z-index: 2;
}

#page-top a{
    display: block;
}

#page-top a:hover{
    transform: translateY(-6%);
}


/*---- youtube/googleMap -----*/
.googleMap{
    position: relative;
    padding-bottom: 65.25%;
    height: 0;
    overflow: hidden;
}

.googleMap iframe, .googleMap object, .googleMap embed{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.googleMap iframe{
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  filter: grayscale(100%);
}

.youtube{
    position:relative;
    width:100%;
    padding-top:56.25%;
}

.youtube iframe{
    position:absolute;
    top:0;
    right:0;
    width:100%;
    height:100%;
}


/*----- swiper -----*/
.swiper-wrapper{
  transition-timing-function: linear!important;
}

.swiper-slide{
  padding: 0 2px;
}

.swiper-slide img {
  width: 100%;
  width: 100%;
}

.swiper-slide > div {
  height: 100%;
  width: 100%;
}

body .topics-swiper .swiper-scrollbar{
    background: #d3d3d391;
    height: 5px;
    position: relative;
    width: 100%;
    left: 0;
    cursor: pointer;
}

.swiper-scrollbar-drag{
    background: var(--c-orange);
}

/*--- animation ---*/
.chikachika{
    animation: chicachica 1s step-end infinite;
}

@keyframes chicachica {
    0% {
        opacity: 1;
    }
    50% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

.fade-in2,
.menu-scrollFallIn{
    opacity: 0;
}

.fade-in2.is-active{
    animation: fadeInPopup .4s cubic-bezier(0.34, 1.56, 0.64, 1) .5s forwards;
}
@keyframes fadeInPopup {
    0%{
        transform: translate(0, 10px);
    }
    60%{
        transform: translate(0, -8px);
        opacity: 1;
    }
    100%{
        transform: translate(0, 0);
        opacity: 1;
    }
}

.neonFlash{
    -webkit-animation: neon 2.5s infinite alternate;
    animation: neon 2.5s infinite alternate;
    -webkit-animation-delay: .75s;
    animation-delay: .75s;
}
.neonFlash2{
    -webkit-animation: neon 3.5s infinite alternate;
    animation: neon 3.5s infinite alternate;
    -webkit-animation-delay: 1.4s;
    animation-delay: 1.4s;
}
@keyframes neon{
    0% {opacity: 1;}
    35% {opacity: 1;}
    40% {opacity: 0.65;}
    42% {opacity: 0.55;}
    43% {opacity: 1;}
    45% {opacity: 0.6;}
    46% {opacity: 0.65;}
}

.scroll-contents{
    opacity: 0;
    transform: scale(.9);
    -webkit-transform: scale(.9);
}

.scroll-contents.is-active{
    opacity: 1;
    transform: scale(1);
    -webkit-transform: scale(1);
    transition: opacity .4s .2s ease, transform .4s .2s ease;
    -webkit-transition: opacity .4s .2s ease, transform .4s .2s ease;
}




.cheers-left{
animation: conceptLeft 2s steps(1) infinite;
}

@keyframes conceptLeft{
    0% {
        transform: translateX(0%);
    }
    50% {
        transform: translateX(2%);
    }
    100% {
        transform: translateX(0%);
    }
}

.cheers-right{
animation: conceptRight 2s steps(1) infinite;
}

@keyframes conceptRight{
    0% {
        transform: translateX(0%);
    }
    50% {
        transform: translateX(-2%);
    }
    100% {
        transform: translateX(0%);
    }
}


/*--SVG--*/
.girl-cls-1,.boy-cls-1 {
stroke: var(--c-yellow);
}

.girl-cls-1, .girl-cls-2, .girl-cls-3 {
fill: none;
stroke-linecap: round;
stroke-linejoin: round;
}

.girl-cls-2 {
stroke: var(--c-pink);
}

.girl-cls-3,.boy-cls-2 {
stroke: var(--c-white);
}

.boy-cls-1, .boy-cls-2 {
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
}

svg.svg-chara{
    overflow: visible;
}

@media screen and (min-width:1025px){
    /*--svg--*/
    .title-svg{
        height: min(3.5rem, 2.3vw);
    }

    #page-top{
        width: min(90px, 5vw);
            top: 4%;
    }
}

@media screen and (min-width:769px){
    .contentsTitle-border{
        margin-bottom: min(3rem);
        gap: min(5%);
    }

    .contentsTitle-border h2{
        width: min(47%);
    }

    .contentsTitle-border_borders{
        width: calc(100% - min(47%));
        height: min(5rem);
    }

    /*--linkBox--*/
    .linkBox {
        transition: var(--transition);
        padding: min(1.5rem);
    }

    .linkBox:hover {
        letter-spacing: .08em;
    }
}


/*----------
  Header
----------*/
#js-top {
    opacity: 0;
    position: fixed;
    z-index: 3;
    transition: var(--transition);
    visibility: hidden;
    width: 100%;
}

#js-top.is-show {
    opacity: 1;
    transition: var(--transition);
    visibility: visible;
}

/*----------*/
/* hamburger
/*----------*/
.openbtn{
    cursor: pointer;
    position: relative;
    z-index: 200;
    transition: var(--transition);
}

.openbtn::before{
    content: "";
    background: url(img/title-menu.png) no-repeat center;
    background-size: 100%;
    display: block;
    width: min(18vw, 10rem);
    height: min(8vw, 4rem);
    transition: var(--transition);
}

.openbtn.active::before{
    background: url(img/title-close.png) no-repeat center;
    background-size: 100%;
}

.openbtn small{
    position: absolute;
    bottom: 15%;
    left: 50%;
    width: 50%;
    transform: translate(-50%, -15%);
}

.g-nav{
    position: fixed;
    z-index: 100;
    top: 0;
    width:100%;
    height: 100svh;
    transition: transform .6s cubic-bezier(0.6, 0, 0.2, 1);
    opacity: 0;
    visibility: hidden;
    background: var(--c-black);
    transform: translateX(100vw);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

#g-nav.panelactive{
    opacity: 1;
    visibility: inherit;
    overflow-x: hidden;
    overflow-y: auto;
    transform: translateX(0);
}

.g-nav_wrapper{
    position: relative;
    width: min(80%,48rem);
}

.g-nav_logo{
    margin-bottom: min(4vw);
}

.g-nav_logo>a{
    display: block;
    overflow: hidden;
}
.g-nav_logo>a{
    opacity: 0;
    transform: scale(.9);
    -webkit-transform: scale(.9);
    display: block;
}

#g-nav.panelactive .g-nav_logo>a{
    opacity: 1;
    transform: scale(1);
    -webkit-transform: scale(1);
    transition-delay: .55s;
}

.link-svg{
    fill: var(--c-white);
    display: block;
}

.linkBox-icon{
    width: min(7vw, 3rem);
}

li.-nav_menuItem{
    padding: min(4vw, 2rem) 0;
}

#g-nav li.-nav_menuItem a{
    opacity: 0;
    transform: scale(.9);
    -webkit-transform: scale(.9);
    display: block;
}

#g-nav.panelactive li.-nav_menuItem a{
    opacity: 1;
    transform: scale(1);
    -webkit-transform: scale(1);
}

#g-nav.panelactive li.-nav_menuItem:nth-of-type(1) a{
    transition-delay: .6s;
}
#g-nav.panelactive li.-nav_menuItem:nth-of-type(2) a{
    transition-delay: .65s;
}
#g-nav.panelactive li.-nav_menuItem:nth-of-type(3) a{
    transition-delay: .7s;
}
#g-nav.panelactive li.-nav_menuItem:nth-of-type(4) a{
    transition-delay: .75s;
}
#g-nav.panelactive li.-nav_menuItem:nth-of-type(5) a{
    transition-delay: .8s;
}
#g-nav.panelactive li.-nav_menuItem:nth-of-type(6) a{
    transition-delay: .85s;
}

li.-nav_menuItem img{
    display: block;
    height: min(6.24vw,4rem);
    margin: 0 auto;
}

li.-nav_menuItem.g-nav_top img,
li.-nav_menuItem.g-nav_map img,
li.-nav_menuItem.g-nav_faq img{
    height: min(8vw, 5rem);
}

li.-nav_menuItem.g-nav_sns img{
    height: min(8.24vw, 5rem);
}

.fixedLogo{
    z-index: 3;
    width: min(24rem, 46vw);
}
.fixedLogo a{
    mix-blend-mode: difference;
}

.fixedMenu{
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: var(--transition);
    padding: min(16px, 3vw) 12px;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0) -2%, rgba(0, 0, 0, 0.95) 80%, rgba(0, 0, 0, 1) 100%);
}

.fixedMenu.is-hidden{
    opacity: 0;
    visibility: hidden;
}

.fixedMenu-wrapper{
    display: flex;
    align-items: center;
    gap: min(8px, 2vw);
}

/*----------*/
/* site layout
/*----------*/
main.main-wrapper{
    position: relative;
    width: 100%;
    background-repeat: repeat;
    background-size: 60%;
    background-attachment: fixed;
}

.site-main {
    background: var(--c-black);
    box-sizing: border-box;
    overflow: hidden;
    order:2;
    position: relative;/**/
    transform: scaleX(0);
}

.is-loadActive .site-main{
    transform: scaleX(0);
    animation: loadingMain var(--transition) .85s forwards;
}

.pc-neonLine{
    display: none;
    transform: scaleX(0);
}

@keyframes loadingMain {
    0% {
        opacity: 0;
        transform: scaleX(0);
        -webkit-transform: scaleX(0);
    }
    100% {
        opacity: 1;
        transform: scaleX(1);
        -webkit-transform: scaleX(1);
    }
}

.pc-neonLine.-main{
    transform: translate(-50%, -50%) scaleX(0);
    opacity: 0;
}
.is-loadActive .pc-neonLine.-main{
    opacity: 1;
    transform: translate(-50%, -50%) scaleX(0);
    animation: loadingNeonMain var(--transition) .5s forwards;
}
@keyframes loadingNeonMain{
    0% {
        transform: translate(-50%, -50%) scaleX(0);
    }
    100% {
        transform: translate(-50%, -50%) scaleX(1);
    }
}

.pc-neonLine.-top,.pc-neonLine.-bottom{
    transform: translate(-50%, 0%) scaleX(0);
    opacity: 0;
}
.is-loadActive .pc-neonLine.-top,
.is-loadActive .pc-neonLine.-bottom{
    opacity: 1;
    transform: translate(-50%, 0%) scaleX(0);
    animation: loadingNeon var(--transition) .5s forwards;
}
@keyframes loadingNeon {
    0% {
        transform: translate(-50%, 0%) scaleX(0);
    }
    100% {
        transform: translate(-50%, 0%) scaleX(1);
    }
}


/*----------
loading
----------*/
.loading{
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0px;
    left: 0px;
    z-index: 100;
    overflow: hidden;
    background: var(--c-black);
}

.loading-wrapper{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: min(63vw);
    height: min(25vw);
}

.loading-cheers{
    width: 29vw;
    position: absolute;
    animation: fadeIn .8s cubic-bezier(.37,.49,.35,1.28) .3s forwards;
    opacity: 0;
}

@keyframes fadeIn {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

.loading-cheers.-cheers_boy{
    left: 0;
}
.loading-cheers.-cheers_girl{
    right: 0;
}

.loading-cheers svg .cheers-hands{
    transition: var(--transition);
}

.cheers-hands.-hands_boy{
    animation: cheersHand .8s cubic-bezier(.37,.49,.35,1.28) 1.6s forwards;
}

@keyframes cheersHand {
    0% {transform: translate(0, 0);}
    50% {transform: translate(5%, 0);}
    100% {transform: translate(0, 0);}
}

.cheers-hands.-hands_girl{
    animation: cheersHand2 .8s cubic-bezier(.37,.49,.35,1.28) 1.6s forwards;
}

@keyframes cheersHand2 {
    0% {transform: translate(0, 0);}
    50% {transform: translate(-5%, 0);}
    100% {transform: translate(0, 0);}
}

/*----------*/
/* KV
/*----------*/
.kv{
    position: relative;
    margin: min(10vw) auto min(8vw);
}

.kv .kv-main{
    z-index: 2;
    width: 95%;
    margin: 0 auto;
}


/*----------*/
/* EVENT DAY
/*----------*/
.eventDays{
    margin-bottom: var(--section-margin);
}

.eventDays-contents{
    display: flex;
    gap: min(5vw);
    margin-bottom: min(5vw);
}

.eventDays-contents_month{
    width: min(18vw);
}

.eventDays-contents_days{
    width: calc(100% - min(18vw));
}

.eventDays-contents_days ul{
    display: flex;
    flex-wrap: wrap;
    gap: min(2vw);
}

.eventDays-contents:nth-of-type(1) .eventDays-contents_days ul li{
    width: calc((100% - calc(min(2vw)) * 2) / 3);
}
.eventDays-contents_days ul li>img{
    height: min(9.6vw);
}

.eventDays-hour{
    width: min(80%);
    margin: min(8vw) auto 0;
}


@media screen and (min-width:769px){
    #js-top{
        width: min(612px, 100%);
    }

    /*----------*/
    /* Gnav
    /*----------*/
    .fixedMenu{
        display: none;
    }

    .g-nav{
        display: none;
    }

    /*----------*/
    /* Loading
    /*----------*/
    .loading-wrapper{
        width: min(43rem, 42vw);
        height: min(19rem, 19vw);
    }

    .loading-cheers{
        width: min(20rem, 20vw);
    }

    /*----------*/
    /* KV
    /*----------*/
    .kv{
        margin: min(10vw, 5rem) auto min(8vw, 4rem)
    }

    .kv .kv-main{
        width: min(54rem, 95%);
        margin-top: min(4rem, 5vw);
        margin-bottom: min(4rem, 5vw);
    }

    /*----------*/
    /* EVENT DAY
    /*----------*/
    .eventDays-contents_month{
        width: min(8rem,10vw);
    }

    .eventDays-contents{
        gap: min(2rem,2vw);
        margin-bottom: min(2rem);
    }

    .eventDays-contents_days ul{
        gap: min(1rem);
    }
    .eventDays-contents:nth-of-type(1) .eventDays-contents_days ul li{
        width: calc((100% - calc(min(1rem)) * 2) / 3);
    }

    .eventDays-contents_days{
        width: calc(100% - min(8rem,10vw));
    }
    .eventDays-contents_days ul li>img{
        height: min(3.24rem);
    }

    .eventDays-hour{
        margin: min(3rem) auto 0;
    }
}


@media screen and (min-width:1025px){
    #js-top{
        width: var(--cha-contents-width);
    }

    .fixedInformation a:hover img,
    .openbtn:hover,
    .fixedLogo a:hover{
        transform: scale(1.06);
    }

    .fixedLogo{
        width: min(170px, 34vw);
    }

    /*----------*/
    /* event date
    /*----------*/
    .eventDays{
        top: min(52rem, 35vw);
    }

    /*----------*/
    /* EVENT DAY
    /*----------*/
    .eventDays-contents_month{
        width: min(9rem, 7vw);
    }
    .eventDays-contents_days{
        width: calc(100% - min(9rem, 7vw));
    }
    .eventDays-contents_days ul li>img {
        height:min(4.36rem, 3.1vw);
    }
}

/*----------*/
/* side content
/*----------*/
.fixed{
    position: fixed;
}

.pcMainImage{
    position: relative;
}

.site-sideLeft{
    position: sticky;
    top: 0;
    height: 100svh;
    overflow: hidden;
    z-index: 1;
    display: none;
    opacity: 0;
    transition: var(--transition);
    opacity: 0;
    transition: var(--transition);
    transform: scale(.9);
}

.site-sideRight{
    order: 3;
    position: sticky;
    top: 0;
    overflow: hidden;
    z-index: 1;
    display: none;
    opacity: 0;
    transition: var(--transition);
    transform: scale(.9);
}

.is-loadActive .site-sideLeft,.is-loadActive .site-sideRight{
    opacity: 1;
    transform: scale(1);
    -webkit-transform: scale(1);
    transition: opacity .4s .85s ease, transform .4s .85s ease;
    -webkit-transition: opacity .4s .85s ease, transform .4s .85s ease;
}

@media screen and (min-width:769px){
    .site-main{
        border-left: solid 1px var(--c-white);
        border-right: solid 1px var(--c-white);
        width: min(420px, 100%);
        margin-left: min(5rem);
    }

    .site-sideRight>.pc-buildingImage{
        width: min(84%);
        margin-left: 3vw;
        margin-top: min(11vw);
    }

    .site-sideLeft>.pc-buildingImage{
        margin-left: 4vw;
        margin-top: min(10rem, 6vw);
    }

    .site-sideLeft .illust-cheers{
        display: flex;
        align-items: center;
        gap: min(5%);
        width: min(90%);
        margin: -4% auto 0;
    }

    .site-sideLeft .illust-cheers>.illust-cheers_boy,
    .site-sideLeft .illust-cheers>.illust-cheers_girl{
        width: 50%;
    }

    .illust-ribbon{
        width: min(32%);
        margin: min(3rem) auto 0;
        display: flex;
        flex-direction: column;
        gap: min(2rem);
    }

    .site-sideLeft>.site-sideRight_illust{
        margin-left: 4vw;
    }

    .site-sideRight{
        width: calc(calc(100% + min(5rem)) - min(420px, 100%));
        height: 100dvh;
        display: block;
    }

    .site-sideRight_menuList{
        position: relative;
        width: min(77%, 46rem);
        margin: min(6rem,4vw) 0 0 min(3vw);
    }

    .site-sideRight_menuList ul{
        display: flex;
        flex-direction: column;
        gap: min(2.6rem);
    }

    .site-sideRight_menuList ul li a:hover{
        -webkit-animation: neon 1.2s infinite alternate;
        animation: neon 1.2s infinite alternate;
    }

    .site-sideRight_menuList li img{
        display: block;
        height: min(3.24vw, 2.6rem);
    }

    .site-sideRight_menuList li a.-item_map img{
        height: min(3.4rem, 3.83vw);
    }

    a.site-sideRight_insta img{
        height: min(4.4vw, 3.6rem);
    }
}

@media screen and (min-width:1025px){
    .site-main{
        z-index: 2;
        position: relative;
        width: var(--cha-contents-width);
        margin-left: 0;
    }

    .site-sideRight {
        width: calc((100% - var(--cha-contents-width)) / 2);
        height: 100dvh;
        display: block;
    }

    .site-sideRight>.pc-buildingImage{
        width: min(79%);
        margin-top: min(10rem, 6vw);
    }

    .site-sideRight_menuList li img{
        height: min(2.83rem, 2.45vw);
    }

    .site-sideRight_menuList li a.-item_map img{
        height: min(3.72rem, 3.34vw);
    }

    a.site-sideRight_insta img{
        height: min(3.83rem, 3.24vw);
    }

    .site-sideLeft{
        width: calc((100% - var(--cha-contents-width)) / 2);
        display: block;
    }

    .pc-buildingImage{
        width: min(76%);
    }
    .site-sideLeft>.pc-buildingImage{
        width: min(82%);
    }

    .site-sideLeft>.site-sideRight_illust{
        width: min(82%);
    }

}

/*----------*/
/* main contents
/*----------*/
/*-- road bg --*/
.roadBg-main{
    position: relative;
    margin-top: max(-140px, -60%);
}
.roadBg-main::before{
    position: absolute;
    content: "";
    background: url(img/index-bg.png) no-repeat top;
    background-size: 100%;
    width: 100%;
    height: 100%;
}

@media screen and (min-width:1025px){
    /*----------*/
    /* main contents
    /*----------*/
    /*-- road bg --*/
}

/*----------*/
/* Topics
/*----------*/
.index-news{
    position: relative;
    z-index: 1;
    padding:calc(var(--section-margin) / 2) 0;
    background: var(--c-blue);
}

.news-titleImage{
    width: min(33vw,15rem);
    margin: 0 auto -5%;
    z-index: 1;
    position: relative;
}

.index-news .swiper{
    margin-bottom: min(3rem,6vw);
}

.index-newsWrap{
    position: relative;
}

.news .contents-wrapper{
    padding: 24px 24px 10%;
    position: relative;
}

.topics-list a{
    font-weight: 500;
}

.topics-list a h3{
    font-weight: 500;
}

.topics-list ul li{
    padding: min(16px, 3vw) 0;
    border-bottom: var(--b-dashed);
}

.topics-list ul li h4{
    padding-top: 2px;
    line-height: 1.4;
    font-weight: 500;
}

.date{
    font-weight: 400;
    font-size: min(1.4rem,3.4vw);
    letter-spacing: 0.04em;
}

.new-text{
    text-transform: uppercase;
    font-size: min(1.4rem, 2.8vw);
    color: var(--c-pink);
    font-weight: 600;
}
.new-text img{
    display: block;
    width:min(8vw,3rem);
}

.cate-name{
    border: solid .1rem currentColor;
    border-radius: 9999px;
    padding: .1rem 1rem;
    line-height: 1.3;
    font-size: min(80%);
}

.postnav{
    text-align: center;
    padding-top: 50px;
}

.newsLink{
    position: relative;
    margin: min(3rem, 8vw) 0 0 0;
    width: min(18rem, 34vw)
}

ul.topics-list>li{
    width:54vw;
    margin-right: min(2rem, 2vw);
}

.topics-titleArea{
    padding-top: min(3vw, 1rem);
    word-wrap: break-word;
}

.topics-titleArea p{
    font-weight: 600;
    line-height: 1.4;
    font-size: var(--font-183rem);
}

.topics-dateArea{
    display: flex;
    align-items: center;
    gap: min(2%);
    margin-bottom: min(1rem, 2vw);
}

.topics-dateArea time.date{
    font-size: min(90%);
    font-weight: 600;
}

@media screen and (min-width:769px){
    ul.topics-list>li{
        width: min(60%);
        margin-right: min(1rem, 2vw);
    }

    .topics-item a:hover{
        color: var(--c-pink);
    }

    .topics-item a:hover .thumbnail img{
        transform: translate(-50%, -50%) scale(1.05);
    }

    .linkBox:hover{
        transform: scale(.95);
    }
}

/*----------*/
/* How to enjoy
/*----------*/
.HtoE{
    padding: var(--section-margin) 0;
}

.HtoE-contents{
    color: var(--c-blue);
    padding-bottom: calc(var(--section-margin) / 1.5);
}

.HtoE-contents>h3{
    margin-bottom: min(4vw,2rem);
}
.HtoE-contents>h3>img{
    display: block;
    margin: 0 auto;
    height: min(5.83vw);
}

.HtoE-contents p{
    font-weight: 600;
    font-size: min(1.6rem, 3.83vw);
}
.HtoE-contents p>span{
    font-size: min(80%);
}

.HtoE-contents_details{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: min(4vw);
}

.HtoE-contents_details>.HtoE-contents_detailsText{
    width: calc(100% - min(42vw));
}
.HtoE-contents_details>.HtoE-contents_detailsImage{
    width: min(42vw);
}

.HtoE-contents.-contents2 .HtoE-contents_details,
.HtoE-contents.-contents4 .HtoE-contents_details{
    flex-direction: row-reverse;
}

.HtoE-contents.-contents4{
    padding-bottom: 0;
}

.wantedNotes{
    font-size: min(88%);
    padding-top: min(1rem, 1vw);
}


/*----------*/
/* MAP
/*----------*/
.map-contents{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: min(4vw, 2rem);
    margin-bottom: calc(var(--section-margin) / 3);
}

.map-contents>h2{
    background: var(--c-white);
    border-radius: 9999px;
    width: min(34vw, 16rem);
    display: flex;
    flex-direction: column;
    padding: min(4vw, 2rem) min(4vw, 3rem);
}

.map-contents>p{
    font-weight: 600;
    font-size: min(3.83vw, 1.83rem);
}


/*----------*/
/* Instagram
/*----------*/
.instagram{
    background: var(--c-yellow);
    padding: calc(var(--section-margin) / 2) 0;
}

.instagram .contentsTitle-border{
    margin-bottom: min(4rem, 4vw);
}

.instagram-contents{
    margin-bottom:min(2rem,4vw);
}

@media screen and (min-width:769px){
/*----------*/
/* How to enjoy
/*----------*/
    .HtoE{
        padding: calc(var(--section-margin) / 2) 0;
    }

    .HtoE-contents{
        padding-bottom: calc(var(--section-margin) / 2);
    }


    .HtoE-contents>h3>img{
        height: min(2.6rem);
    }

    .HtoE-contents_details{
        gap: min(2rem);
    }

    .HtoE-contents_details>.HtoE-contents_detailsImage{
        width: min(46%);
    }
    .HtoE-contents_details>.HtoE-contents_detailsText{
        width: calc(100% - min(46%));
    }
}


/*----------*/
/* FAQ
/*----------*/
.faq{
    padding: var(--section-margin) 0;
}

.faq .contentsTitle-border h2{
    width: min(32vw);
}

.faq .contentsTitle-border_borders{
    width: calc(100% - min(32vw));
}

ul.QA-contents_list{
    display: flex;
    flex-direction: column;
    gap: min(3vw, 1rem);
}

ul.QA-contents_list li{
    padding: min(4vw, 2rem) min(3vw, 2rem);
    border: 0.2rem solid #a2d8fe;
    box-shadow:
    inset 0 0 0 0px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(0, 0, 0, 0.15), /* --- glow --- */ inset 0 0 var(--box-blur) var(--glow6), 0 0 var(--box-blur) var(--glow6), /* --- glow2 --- */ inset 0 0 var(--box-blur) var(--glow7), 0 0 var(--box-blur) var(--glow7), /* --- glow --- */ inset 0 0 var(--box-blur) var(--glow5), 0 0 var(--box-blur) var(--glow5);
}

ul.QA-contents_list .title{
    color: var(--c-blue);
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
}

ul.QA-contents_list .title h5,.QA-contents_answerBox{
    display: flex;
    align-items: center;
    font-weight: 600;
    font-size: min(3.83vw, 1.83rem);
    gap: min(3vw, 1rem);
    line-height: 1.5;
}
ul.QA-contents_list .title h5>span.question,
.QA-contents_answerBox>span.answer{
    width: min(8vw,4rem);
}

ul.QA-contents_list .title h5{
    width: calc(100% - min(4vw, 2rem));
}

ul.QA-contents_list .title h5 span.question-text{
    width: calc((100% - min(3vw, 1rem)) - min(8vw,4rem));
}

ul.QA-contents_list .title>.title-icon{
    width: min(4vw, 2rem);
    height: min(4vw, 2rem);
    position: relative;
}

ul.QA-contents_list .title>.title-icon::before,
ul.QA-contents_list .title>.title-icon::after{
    position: absolute;
    content: "";
    background: var(--c-blue);
    transition: var(--transition);
    width: 100%;
    height: 2px;
}
ul.QA-contents_list .title>.title-icon::before{
    top: 50%;
}

ul.QA-contents_list .title>.title-icon::after{
    top: 50%;
    transform: rotate(90deg);
}

ul.QA-contents_list .title.close>.title-icon::after{
    transform: rotate(0deg);
}

ul.QA-contents_list .QA-contents_answerBox{
    color: var(--c-pink);
}

.QA-contents_answerBox{
    align-items: unset;
    padding-top: min(4vw, 2rem);
}
.answerBox-textArea{
    width: calc(100% - min(8vw,4rem));
}


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


/*----------*/
/* Supporter
/*----------*/
.sponsor{
    position: relative;
    z-index: 1;
}

.sponsor .contents-title{
    width: min(74%);
    margin:0 auto -.5%;
    padding: 0;
}

.sponsor-list{
    background: var(--c-white);
    text-align: center;
    padding: calc(var(--section-margin) / 1.5) var(--bgw-margin);
    display: flex;
    flex-direction: column;
    gap: min(8vw, 6rem);
}

.sponsor-list ul{
    display: flex;
    flex-wrap: wrap;
    gap:min(6vw,2rem);
    align-items: center;
    justify-content: center;
}

ul.sponsorMain{
    width: min(38rem, 90%);
    margin: 0 auto;
}

ul.sponsorMain li:nth-of-type(1){
    width: calc((100% - min(6vw,2rem)) - min(21rem, 32vw));
}
ul.sponsorMain li:nth-of-type(2){
    width: min(21rem, 32vw);
}

ul.sponsorCenter li{
    width: min(41%);
}

ul.sponsorBottom{
    gap: min(3vw,1rem);
}
ul.sponsorBottom li{
    width: min(31%);
}

@media screen and (min-width:769px){
    .faq .contentsTitle-border h2{
        width: min(35%);
    }

    .faq .contentsTitle-border_borders{
        width: calc(100% - min(35%));
    }

    /*----------*/
    /* Supporter
    /*----------*/
    .sponsor-list{
        gap: min(8vw, 4rem);
    }
    ul.sponsorMain li:nth-of-type(1){
        width: calc((100% - min(6vw,2rem)) - min(16vw,16rem));
    }
    ul.sponsorMain li:nth-of-type(2){
        width: min(16vw, 16rem);
    }

    ul.QA-contents_list li h5:hover{
        -webkit-animation: neon 2.5s infinite alternate;
        animation: neon 2.5s infinite alternate;
    }
}

/*----------
 footer
----------*/
footer{
    text-align: center;
    position: relative;
    padding: min(12vw, 2rem) 0;
    z-index: 1;
}

.footer-information{
    text-align: center;
    padding: min(6vw, 24px) min(24px, 6vw);
    z-index: 1;
    position: relative;
    background: var(--c-white);
    color: var(--c-black);
}

.footer-information_inner{
    padding-bottom: min(7vw,2.4rem);
}
.footer-information_inner:last-of-type{
    padding-bottom: 0;
}

.footer-information h4{
    padding-bottom: min(2vw, 1rem);
    font-size: min(1.83rem, 4.4vw);
    font-weight: 600;
    color: var(--c-blue);
}

.footer-information p{
    font-size: min(1.83rem, 4vw);
}
.footer-information p.footer-information_logo img{
    display: block;
    margin: 0 auto;
    height: min(8vw, 4rem);
}
.footer-information p.footer-information_logo._saninInshoku img{
    height: min(14vw, 7rem);
}

ul.footer-information_logo{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: min(6vw, 2rem);
    width: min(82%, 33rem);
    margin: 0 auto;
}

small.copyright{
    text-align: center;
    display: block;
    font-size: min(1.24rem, 2.4vw);
    font-weight: 400;
}

/*--------------*/
/*レスポンシブ基本CSS
/*--------------*/
.pcheader{
    display:block;
}

.pc{
    display:none;
}

.mobile{
    display: none!important;
}


@media screen and (min-width:769px){
    body{
        font-size: min(1.4rem,3.83vw);
    }

    main.main-wrapper{
        display: flex;
    }

    /*--------------*/
    /*site main
    /*--------------*/

    .pc-neonLine{
        display: block;
        position: fixed;
    }

    .pc-neonLine.-main{
        border: 0.3rem solid #ffdcf6;
    }
    .pc-neonLine.-main{
        box-shadow:
        inset 0 0 0 0px rgba(0, 0, 0, 0.15),
        0 0 0 0px rgba(0, 0, 0, 0.15),
        /* --- glow --- */
        inset 0 0 var(--box-blur) var(--glow),
        0 0 var(--box-blur) var(--glow),
        /* --- glow --- */
        inset 0 0 var(--box-blur) var(--glow2),
        0 0 var(--box-blur) var(--glow2);
        width: 95%;
        height: 84%;
        transform: translate(-50%, -50%);
        top: 50%;
        left: 50%;
        border-radius: min(.5rem);
    }

    .pc-neonLine_lineWhite{
        position: absolute;
        left: 0;
        border: 0.2rem solid #ffffff;
        border-radius: min(.5rem);
        width: 100%;
        box-shadow:
        inset 0 0 0 0px rgba(0, 0, 0, 0.15),
        0 0 0 2px rgba(0, 0, 0, 0.15),
        /* --- glow --- */
        inset 0 0 var(--box-blur) var(--glow3),
        0 0 var(--box-blur) var(--glow3),
        /* --- glow2 --- */
        inset 0 0 var(--box-blur) var(--glow4),
        0 0 var(--box-blur) var(--glow4),
        /* --- glow --- */
        inset 0 0 var(--box-blur) var(--glow5),
        0 0 var(--box-blur) var(--glow5);
    }

    .pc-neonLine_lineBlue{
        position: absolute;
        left: 0;
        border: 0.2rem solid #c2e1f6;
        border-radius: min(.5rem);
        width: 100%;
        box-shadow:
        inset 0 0 0 0px rgba(0, 0, 0, 0.15),
        0 0 0 2px rgba(0, 0, 0, 0.15),
        /* --- glow --- */
        inset 0 0 var(--box-blur) var(--glow6),
        0 0 var(--box-blur) var(--glow6),
        /* --- glow2 --- */
        inset 0 0 var(--box-blur) var(--glow7),
        0 0 var(--box-blur) var(--glow7),
        /* --- glow --- */
        inset 0 0 var(--box-blur) var(--glow5),
        0 0 var(--box-blur) var(--glow5);
    }

    .pc-neonLine.-top{
        width: 95%;
        transform: translate(-50%, 0%);
        left: 50%;
        height: min(3%);
        top: 3%;
    }

    .pc-neonLine.-top>.pc-neonLine_lineWhite{
        top: 0;
    }

    .pc-neonLine.-top>.pc-neonLine_lineBlue{
        bottom: 0;
    }

    .pc-neonLine.-bottom{
        width: 95%;
        transform: translate(-50%, 0%);
        left: 50%;
        height: min(3%);
        bottom: 3%;
    }

    .pc-neonLine.-bottom>.pc-neonLine_lineWhite{
        bottom: 0;
    }

    .pc-neonLine.-bottom>.pc-neonLine_lineBlue{
        top: 0;
    }

    /*--------------*/
    /*g nav
    /*--------------*/
    .g-nav{
        width: min(612px, 100%);
    }

    .fixedLogo{
        width: min(180px, 44vw);
    }
    .fixedLogo:hover{
        transform: scale(1.05);
    }

    li.-nav_menuItem a:hover{
        transform: scale(1.05);
    }

    small.copyright{
        font-size: min(1.24rem, 1vw);
    }

}

@media screen and (min-width:1025px){
    .g-nav{
        width: var(--cha-contents-width);
    }

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

}