@charset "utf-8";
body{
    background: #fff;
    color: #333;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
    text-align: center;
    margin: 0 auto;
    overflow-x: hidden;
}
body{
    animation: fadeIn 2s ease 0s 1 normal;
}

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

@-webkit-keyframes fadeIn{
    0% {opacity: 0}
    100% {opacity: 1}
}
a,a:link{
    text-decoration: none;
    color: #005BAB;
}
a:hover{
    animation: btnOn 0.5s 1 forwards;
}
h2{
    color: #005BAB;
    font-weight: 900;
    font-size: 90%;
}
em{
    color: #f00;
    font-style: normal;
}
header,
main{
    margin: 0 auto;
    display: block;
}
footer{
    margin: 0 auto;
}
table{
    width: 100%;
    border-spacing: 0;
    border-collapse: collapse;
    border-top: 3px solid #ccc;
    border-bottom: 3px solid #ccc;
}
table tr th,
table tr td{
    padding: 5px 10px;
    border-top: 3px solid #ccc;
    border-bottom: 3px solid #ccc;
    text-align: center;
}
table tr th{
    background: #333;
    width: 5em;
    color: #fff;
}
br.sp{
    display: none;
}
p.sp{
    display: none;
}
span.sp{
    display: none;
}
img{
    max-width: 100%;
}
@media screen and (min-width: 481px) and (max-width: 999px) {
    main{
        width: auto;
    }
    table tr th,
    table tr td{
        padding: 5px 10px;
    }
    br.sp{
        display: inline !important;
    }
}
@media screen and (max-width: 480px){
	header,
    main,
    footer{
        width: auto;
    }
    img{
        max-width: 100%;
    }
    table tr th,
    table tr td{
        padding: 2px 3px;
    }
    br.pc{
        display: none;
    }
    br.sp{
        display: inline !important;
    }
    p.sp{
        padding: 1em 0 0 0;
        display: block;
        text-align: center;
    }
    span.sp{
        display: inline;
    }
    span.pc{
        display: none;
    }
    h2{
        font-size: 18px;
    }
}


/* fadein */
.fadein {
    opacity : 0;
    transform : translate(0, 300px);
    transition : all 300ms;
}

.fadein.scroll {
    opacity : 1;
    transform : translate(0, 0);
}

/*
--------------------------------------------------------
header
--------------------------------------------------------
*/
header{
    position: relative;
    max-height: 90vh;
    display: block;
    margin: 0;
    padding: 0;
}
.img-frame{
    position: relative;
    width: 100%;
    height: 90vh;
    overflow: hidden;
    margin: 0 auto;
}
.img-01,.img-02,.img-03,.img-04{
    position: absolute;
    top:0;
    left:0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 50% 50%;
}
.img-01{
    background-image: url(../img/header.jpg);
    animation: slide-animation-01 10s infinite;
}
.img-02{
    background-image: url(../img/header2.jpg);
    animation: slide-animation-02 10s infinite;
}
div.img-03{
    background-image: url(../img/header3.jpg);
    animation: slide-animation-03 10s infinite;
}
div.img-04{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .2);
    z-index: 1;
}
div.img-04 p img{
    width: auto;
    height: calc(90vh - 100px);
}
@keyframes slide-animation-01 {
        0% {opacity: 1; transform: scale(1.0);}
      30% {opacity: 1;}
      40% {opacity: 0; transform: scale(1.1);}
      90% {opacity: 0}
    100% {opacity: 1; transform: scale(1.0);}
    }
    @keyframes slide-animation-02 {
        0% {opacity: 0;}
      30% {opacity: 0; transform: scale(1.0);}
      40% {opacity: 1;}
      60% {opacity: 1;}
      70% {opacity: 0; transform: scale(1.1);}
    100% {opacity: 0;}
    }
    @keyframes slide-animation-03 {
        0% {opacity: 0;}
      60% {opacity: 0;  transform: scale(1.0);}
      70% {opacity: 1;}
      90% {opacity: 1;}
    100% {opacity: 0; transform: scale(1.1);}
}
/* sp nav */
#sp-nav{
    position:fixed;
    z-index: 999;
	top:0;
    right: -120%;
	width:15em;
    height: 100vh;
	background:#005BAB;
	transition: all 0.6s;
    font-size: 150%;
}
#sp-nav.panelactive{
    right: 0;
}

header nav#sp-nav.panelactive #g-nav-list{
    position: fixed;
    z-index: 999; 
    width: 100%;
    height: 100vh;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}
header nav#sp-nav ul {
    position: absolute;
    z-index: 999;
    top:50%;
    transform: translate(0,-50%);
	list-style: none;
    margin: 0;
    padding: 0;
    width: 100%;
}
header nav#sp-nav li{
    text-align: center;
    margin: 0;
    padding: 0;
}
header nav#sp-nav li a{
	padding: 10px;
	display: block;
	text-transform: uppercase;
	color: #fff;
	text-decoration: none;
    letter-spacing: 0.1em;
	font-weight: 500;
}

header div.openbtn{
	position:fixed;
    z-index: 9999;
	top:10px;
	right: 10px;
	cursor: pointer;
    width: 50px;
    height:50px;
    background: #fff;
    border-radius: 5px;
}
header div.openbtn span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
	background-color: #005BAB;
  	width: 45%;
  }
header div.openbtn span:nth-of-type(1) {
	top:15px;	
}

header div.openbtn span:nth-of-type(2) {
	top:23px;
}

header div.openbtn span:nth-of-type(3) {
	top:31px;
}

header div.openbtn.active{
    background: #fff;
}
header div.openbtn.active span{
    background: #005BAB;
}
header div.openbtn.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
}
header div.openbtn.active span:nth-of-type(2) {
	opacity: 0;
}
header div.openbtn.active span:nth-of-type(3){
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
}
@media screen and (max-width: 1000px){
    header nav#sp-nav,
    .openbtn{
        display: block;
    }
}
.outer{
    position: relative;
}
.inner{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
}
@media screen and (min-width: 481px) and (max-width: 999px) {
    #sp-nav{
        font-size: 3vw;
    }
}
@media screen and (max-width: 1099px) {
    div.img-04 p img{
        max-height: 90vw;
        max-width: 90vw;
    }
}
@media screen and (max-width: 999px) {
    header{
        position: relative;
        max-height: 90vh;
        display: block;
        margin: 0;
        padding: 0;
    }
    .img-frame{
        position: relative;
        width: 100%;
        height: calc(82vw + 60px);
        overflow: hidden;
        margin: 0 auto;
    }
}
@media screen and (max-width: 480px){
    #sp-nav{
        font-size: 4vw;
        width:100%;
    }
    header nav#sp-nav.panelactive #g-nav-list{
        width: 100%;
    }
    header div.openbtn{
        width: 30px;
        height: 30px;
    }
    header div.openbtn span{
        left: 8px;
        height: 2px;
      }
    header div.openbtn span:nth-of-type(1) {
        top:10px;	
    }
    header div.openbtn span:nth-of-type(2) {
        top:15px;
    }
    header div.openbtn span:nth-of-type(3) {
        top:20px;
    }
    header div.openbtn.active span:nth-of-type(1) {
        top: 8px;
        left: 10px;
    }
    header div.openbtn.active span:nth-of-type(2) {
        opacity: 0;
    }
    header div.openbtn.active span:nth-of-type(3){
        top: 20px;
        left: 10px;
    }
}
@media screen and (max-width: 999px){
}


/*
--------------------------------------------------------
section
--------------------------------------------------------
*/
/* section */
section{
    margin:0 auto;
    font-size: 120%;
    line-height: 1.7;
    font-feature-settings: "palt";
    letter-spacing:1px;
    text-align:justify;
}
section::before,
section::after{
    content: '';
    display: block;
    height: 2em;
}
section header{
    position: relative;
    height: auto;
    min-height: 1px;
    background: none;
    text-align: center;
}
section header h1{
    display: inline-block;
    font-size: 150%;
    margin: 0 auto;
    padding: 0 0.3em;
    z-index: 0;
    letter-spacing: 5px;
    background: linear-gradient(transparent 70%, #A9A54C 30%);
}
section header p{
    margin: 0 auto;
    font-size: 80%;
    font-weight: 900;
    color: #A9A54C;
    font-family: 'Roboto', sans-serif;
    text-transform: uppercase;
}
section p,
section ul,
section ol,
section table,
section div,
section h2,section h3,section h4{
    margin-left: auto;
    margin-right: auto;
}
section ol{
    padding: 0 20px;
}
section ul.attention{
    font-size: 80%;
}
section ul{
    list-style: none;
    padding: 0;
    padding-left: 2em;
}
section ul li{
    position: relative;
    text-indent: -1.5em;
}
section ul li:before{ 
  display:inline-block; 
  vertical-align: middle;
  content:'';
  width:0.8em;
  height:0.8em;
  background: #005BAB;
  border-radius: 50%;
  margin-right: 8px;
}

/* message */
section#info p{
    text-align: center;
    max-width: 1000px;
}
section#info p.attention{
    font-size: 74%;
}



/* benefit */
section#benefit{
    background: #ddfaff;
    padding-top: 100px;
    padding-bottom: 100px;
    padding-left: calc((100vw - 1000px) / 2);
    padding-right: calc((100vw - 1000px) / 2);
}
section#benefit p{
    text-align: center;
}
section#benefit div.box{
    position: relative;
    border-radius: 10px;
    background: #fff;
    padding: 3vw;
}
section#benefit div.box + div.box{
    margin-top: 2em;
}
section#benefit div.box div.number{
    position: absolute;
    top: -10px;
    left: -10px;
    background: #a9a54c;
    color: #fff;
    width: 8vw;
    height: 8vw;
    font-family: 'Roboto', sans-serif;
}
section#benefit div.box div.number p{
    margin: 0;
    font-size: 2vw;
    line-height: 1;
}
section#benefit div.box div.number p:first-child{
    margin-top: 1vw;
}
section#benefit div.box div.number p:last-child{
    font-size: 4vw;
}
section#benefit div.box h2,
section#benefit div.present h4{
    margin-bottom: -0.5em;
    color: #FF3563;
    font-weight: 900;
    font-size: 3vw;
    text-align: center;
    line-height: 1.4;
}
section#benefit div.box h2{
    margin-top: 0;
    margin-bottom: 1em;
}
section#benefit div.box p img{
    max-width: 80%;
}
section#benefit div.present{
    border-radius: 20px;
    border: 1px solid #009fe8;
}
section#benefit div.present div.present_box{
    display: flex;
}
section#benefit div.present div.present_box div{
    width: 50%;
    margin: 0;
    text-align: center;
}
section#benefit div.present div.present_box div:first-child{
    border-right: 1px dotted #009fe8;
}
section#benefit div.present{
    text-align: center;
    margin-top: 2em;
    padding-bottom: 1em;
}
section#benefit div.present h2{
    position: relative;
    top: -1em;
    display: inline-block;
    background: #009fe8;
    border-radius: 1em;
    margin-top: 0;
    margin-bottom: -1em;
    padding: 0 0.5em;
    color: #fff;
    line-height: 1.6;
    font-size: 2vw;
    font-weight: 900;
}
section#benefit div.present p{
    margin: 0 auto;
}
section#benefit div.present div h3{
    display: inline-block;
    background: #fff;
    border: 1px solid #009fe8;
    border-radius: 1em;
    margin: 0 auto;
    padding: 0 0.5em;
    color: #009fe8;
    line-height: 1.6;
    font-size: 2vw;
    font-weight: 900;
}
section#benefit div.present h4{
    font-size: 2vw;
    margin: 0 auto;
}
section#benefit div.present div p img{
    width: 60%;
}
section#benefit sup{
    font-size: 50%;
    vertical-align: super;
}
section#benefit ol,
section#benefit ul.attention{
    font-size: 64%;
}
section#benefit ul.attention li:before{
    background-color: #fff;
}
section#benefit a{
    text-decoration: underline;
}
section#benefit div.fanclub{
    margin-top: 2em;
    max-width: 600px;
    border-radius: 20px;
    background: #fff;
    color: #333;
    font-size: 80%;
    padding: 0.5em 20px;
}
section#benefit div.fanclub h2{
    text-align: center;
    font-size: 150%;
    color: #A9A54C;
}
section#benefit div.fanclub h2 span{
    position: relative;
    top: 0.2em;
}
section#benefit div.fanclub p.attention{
    font-size: 80%;
}
section#benefit div.fanclub p.button a{
    text-decoration: none;
    background: #A9A54C;
    border-color: #A9A54C;
    color: #fff;
    font-size: 150%;
    box-shadow: 0 5px 0px 0 #9B9443;
}
section#benefit div.fanclub p.button a:hover{
    background: #A9A54C;
    color: #fff;
    box-shadow: 0 0 0px 0 #9B9443;
}
section#benefit div.fanclub p.button a::before{
	background: #A9A54C;
}
section#benefit div.fanclub p.button a::after{
	border-top: 4px solid #fff;
	border-right: 4px solid #fff;
}


/* price */
section#price{
    max-width: 1000px;
}
section#price img{
    border-radius: 10px;
}
section#price p.attention{
    font-size: 64%;
    margin-top: -1em;
    text-align: right;
}
section#price div.kidspass{
    border: 5px solid #d2ecfa;
    border-radius: 20px;
    padding: 15px;
    font-size: 80%;
    max-width: 760px;
    margin: 2em auto 1em auto;
    background: repeating-linear-gradient(135deg, #e2f3fc, #e2f3fc 20px, #edf7fd 20px, #edf7fd 40px);
}
section#price div.kidspass h2{
    margin-top: 0;
    font-size: 120%;
    text-align: center;
}
section#price ul.attention{
    font-size: 64%;
}
section#price div.kidspass ul{
    font-size: 80%;
}


section#price ul.tab_menu {
    display: flex;
    align-items: flex-end; /* メニューを下揃え&高さを調整 */
    justify-content: space-between;
    padding: 0 10px;
    margin: 0;
    list-style: none;
    line-height: 1.2;
    font-weight: 900;
}
section#price ul.tab_menu li.tab_menu-item {
    width: calc((100% - 40px) / 5);
    padding: 0;
    margin: 0;
    text-align: center;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    cursor: pointer;
    text-indent: 0;
    height: 3em;
    display: flex;
    justify-content: center;
    align-items: center;
}
section#price ul.tab_menu li.tab_menu-item span{
    display: block;
}
section#price ul.tab_menu li.tab_menu-item:before{
    display: none;
}
section#price ul.tab_menu li.tab_menu-item:last-of-type {
  margin-right: 0px;
}
section#price ul.tab_menu li.tab_menu-item.is-active{
    color: #fff;
}
section#price div.tab_panel-box {
    justify-content: space-between;
    border-radius: 10px;
    padding-left: 20px;
    padding-right: 20px;
}
section#price div.tab_panel-box div,
section#price div.tab_panel-box p.photo{
    margin-left: 0;
    margin-right: 0;
    width: calc((100% - 30px) / 2);
}
section#price div.tab_panel-box h2{
    font-size: 120%;
    margin-top: 0.5em;
    margin-bottom: -0.5em;
}
section#price div.tab_panel-box p{
    /*font-size: 74%;*/
}
section#price div.tab_panel-box001 {
    border: 1px solid #009FE8;
    display: none;
}
section#price ul.tab_menu li.tab_menu-item001,
section#price div.tab_panel-box001 h2{
    color: #009FE8;
}
section#price ul.tab_menu li.tab_menu-item001{
    border:1px solid #009FE8;
    border-bottom: none;
}
section#price ul.tab_menu li.tab_menu-item001.is-active {
    background: #009FE8;
}
section#price div.tab_panel-box002 {
    border: 1px solid #004DA0;
    display: none;
}
section#price ul.tab_menu li.tab_menu-item002,
section#price div.tab_panel-box002 h2{
    color: #004DA0;
}
section#price ul.tab_menu li.tab_menu-item002{
    border:1px solid #004DA0;
    border-bottom: none;
}
section#price ul.tab_menu li.tab_menu-item002.is-active {
    background: #004DA0;
}
section#price div.tab_panel-box003 {
    border: 1px solid #A50319;
    display: none;
}
section#price ul.tab_menu li.tab_menu-item003,
section#price div.tab_panel-box003 h2{
    color: #A50319;
}
section#price ul.tab_menu li.tab_menu-item003{
    border:1px solid #A50319;
    border-bottom: none;
}
section#price ul.tab_menu li.tab_menu-item003.is-active {
    background: #A50319;
}
section#price div.tab_panel-box004 {
    border: 1px solid #F29600;
    display: none;
}
section#price ul.tab_menu li.tab_menu-item004,
section#price div.tab_panel-box004 h2{
    color: #F29600;
}
section#price ul.tab_menu li.tab_menu-item004{
    border:1px solid #F29600;
    border-bottom: none;
}
section#price ul.tab_menu li.tab_menu-item004.is-active {
    background: #F29600;
}
section#price div.tab_panel-box005 {
    border: 1px solid #888;
    display: none;
}
section#price ul.tab_menu li.tab_menu-item005,
section#price div.tab_panel-box005 h2{
    color: #888;
}
section#price ul.tab_menu li.tab_menu-item005{
    border:1px solid #888;
    border-bottom: none;
}
section#price ul.tab_menu li.tab_menu-item005.is-active {
    background: #888;
}
section#price div.tab_panel-box.is-show {
    display: flex;
    flex-wrap: nowrap;
}



/* period */
section#period{
    background: #005BAB;
}
section#period header h1{
    color: #fff;
}
section#period header p{
    color: #005BAB;
    -webkit-text-stroke: 1px #fff;
    text-stroke: 1px #fff;
}
section#period h2,
section#period p,
section#period ul{
    color: #fff;
}
section#period h2.normal,
section#period p.normal{
    text-align: center;
}
section#period p.normal{
    font-size: 200%;
    font-weight: 900;
    margin-top: 0;
}
section#period p.normal span{
    font-size: 60%;
}
section#period div.reserved{
    border: 5px solid #d2ecfa;
    border-radius: 20px;
    padding: 15px;
    font-size: 80%;
    max-width: 760px;
}
section#period div.reserved h2{
    text-align: center;
    font-size: 120%;
}
section#period div.reserved h2,
section#period div.reserved p,
section#period div.reserved ul{
    color: #d2ecfa;
}
section#period div.reserved ul{
    list-style: none;
    padding: 0;
    padding-left: 2em;
}
section#period div.reserved ul li {
    position: relative;
    text-indent: -1.5em;
}
section#period div.reserved ul li:before{ 
  display:inline-block; 
  vertical-align: middle;
  content:'';
  width:0.8em;
  height:0.8em;
  background: #d2ecfa;
  border-radius: 50%;
  margin-right: 8px;
}


/* apply */
section#apply{
    background: repeating-linear-gradient(-45deg, #005BAB, #005BAB 15px, #0265AF 0, #0265AF 30px);
}
section#apply header h1{
    color: #fff;
}
section#apply h2,
section#apply p,
section#apply div{
    margin-left: auto;
    margin-right: auto;
    max-width: 1100px;
    text-align: center;
}
section#apply h2{
    font-size: 120%;
}
section#apply h2,
section#apply p.normal{
    color: #fff;
}
section#apply div *{
    text-align: left;
}
section#apply p.normal{
    font-size: 200%;
    font-weight: 900;
    margin-top: 0;
}
section#apply p.normal span{
    font-size: 60%;
}
section#apply div.apply1,
section#apply div.apply2,
section#apply div.apply3{
    background: #d2ecfa;
    border-radius: 20px;
    padding: 20px;
    font-size: 80%;
    max-width: 760px;
}
section#apply div h2{
    text-align: center;
    font-size: 150%;
    margin-top: 0;
    color: #005BAB;
}
section#apply div.box{
    display: flex;
    justify-content: space-between;
}
section#apply div.box div{
    margin: 0;
    max-width: auto;
    width: calc((100% - 100px) / 2);
    /*border: 5px solid #d2ecfa;*/
    background: #fff;
    border-radius: 15px;
    padding: 0 20px;
}
section#apply div.box div h3{
    text-align: center;
}
section#apply div.apply2,
section#apply div.apply3{
    margin-top: 20px;
}
section#apply span.material-symbols-outlined{
    position: relative;
    top: 0.2em;
}


/* faq */
section#faq{
    background: #fff;
}
section#faq h2{
    text-align: center;
    font-size: 130%;
}
section#faq h2 + ul{
    margin-bottom: 2em;
    padding: 0;
}
section#faq ul.accordion-area{
    list-style: none;
    padding: 0;
    max-width: 1000px;
}
section#faq ul.accordion-area li{
    position: static;
    margin: 10px 0;
    border-radius: 10px;
    text-indent: 0;
}
section#faq ul.accordion-area li:before{
    display: none;
}
section#faq ul.accordion-area h3.question {
    position: relative;
    cursor: pointer;
    margin: 0;
    padding: 10px 20px 10px 50px;
    transition: all .5s ease;
    background: #005BAB;
    color: #fff;
    font-size: 100%;
    font-weight: 900;
    border-radius: 10px;
}
section#faq ul.accordion-area h3.question::before,
section#faq ul.accordion-area h3.question::after{
    position: absolute;
    content:'';
    width: 15px;
    height: 2px;
    background-color: #fff;
    
}
section#faq ul.accordion-area h3.question::before{
    top:48%;
    left: 15px;
    transform: rotate(0deg);
}
section#faq ul.accordion-area h3.question::after{    
    top:48%;
    left: 15px;
    transform: rotate(90deg);

}
section#faq ul.accordion-area h3.question.close::before{
  transform: rotate(45deg);
}
section#faq ul.accordion-area h3.question.close::after{
  transform: rotate(-45deg);
}
section#faq ul.accordion-area h3.question.close{
    border-radius: 10px 10px 0 0;
}
section#faq ul.accordion-area div.answer {
    display: none;
    background: #fff;
    border: 1px solid #005BAB;
    margin:0;
    padding: 20px;
    border-radius: 0 0 10px 10px;
    font-size: 
}
section#faq ul.accordion-area div.answer p{
    margin: 0;
}


@media screen and (max-width: 1100px){
    section#benefit{
        padding-left: 20px;
        padding-right: 20px;
    }
    header p.title{
        margin-left: 20px;
        margin-right: 20px;
    }
    section{
        width: auto;
        margin-left: 0;
        margin-right: 0;
        padding-left: 20px;
        padding-right: 20px;
        font-size: 100%;
    }
    section#benefit div.benefit_box{
        padding: 20px;
    }
}


@media screen and (max-width: 1000px){
    section#benefit div.benefit_box{
        padding: 5vw;
    }
    section#benefit div.box div{
        width: calc((100% - 6vw) / 3);
    }
}

@media screen and (max-width: 480px){
    section{
        font-size: 3.5vw;
    }
    section header h1{
        font-size: 5vw;
    }
    section header p{
        font-size: 3vw;
    }
    section#info p:nth-child(n+2),
    section#benefit div.fanclub p.attention{
        text-align: left;
        font-feature-settings: "palt";
        text-align:justify;
    }
    section#benefit{
        padding: 0;
    }
    section#benefit div.box div.number{
        top: -1vw;
        left: -1vw;
        width: 11vw;
        height: 11vw;
    }
    section#benefit div.box div.number p{
        font-size: 2.5vw;
    }
    section#benefit div.box div.number p:first-child{
        margin-top: 1.5vw;
    }
    section#benefit div.box div.number p:last-child{
        font-size: 6vw;
    }
    section#benefit div.box,
    section#benefit div.present{
        margin-bottom: 3em;
    }
    section#benefit div.box div + div{
        margin-top: 3em;
    }
    section#benefit div.box div{
        font-size: 5vw;
    }
    section#benefit div.box h2,
    section#benefit div.present h4{
        font-size: 5vw;
    }
    section#benefit div.present h2{
        font-size: 4vw;
    }
    section#benefit ol,
    section#benefit ul.attention{
        font-size: 90%;
    }
    section#benefit div.present{
        text-align: center;
        margin-top: 2em;
        padding: 0;
        padding-bottom: 1em;
    }
    section#benefit div.present div.present_box{
        display: block;
        width: auto;
        padding: 0;
        margin: 0 auto;
    }
    section#benefit div.present div.present_box div{
        width: 100% !important;
        margin: 0;
        text-align: center;
    }
    section#benefit div.present div.present_box div:first-child{
        margin-bottom: 1em;
        padding-bottom: 1em;
        border-right: none;
        border-bottom: 1px dotted #009fe8;
    }
    section#benefit div.present p{
        margin: 0 auto;
    }
    section#benefit div.present div h3{
        font-size: 4vw;
    }
}
@media screen and (max-width: 800px){
    section#price ul.tab_menu {
        font-size: 2vw;
    }
    section#price ul.tab_menu li.tab_menu-item {
        width: calc((100% - 20px) / 5);
        border-top-left-radius: 5px;
        border-top-right-radius: 5px;
    }
    section#price div.tab_panel-box.is-show {
        display: block;
    }
    section#price div.tab_panel-box div,
    section#price div.tab_panel-box p.photo{
        width: auto;
    }
}
@media screen and (max-width: 480px){
    section#benefit div.fanclub{
        font-size: 90%;
    }
    section#benefit div.fanclub p{
        text-align: left;
    }
    section#benefit div.fanclub h2{
        font-size: 120%;
    }
    section#benefit div.fanclub p.button{
        font-size: 74%;
        text-align: center;
    }
    section#benefit div.fanclub p.button a::after{
        border-width: 2px;
    }
    section#price ul.attention{
        font-size: 80%;
    }
    section#price div.kidspass{
        font-size: 100%;
    }
    section#period p.normal{
        font-size: 9vw;
        line-height: 1;
    }
    section#period div.reserved{
        font-size: 100%;
    }
    section#apply{
        font-size: 100%;
    }
    section#apply div div.box{
        display: block;
    }
    section#apply div div.box div{
        width: auto;
        padding-top: 1em;
        padding-bottom: 1em;
    }
    section#apply div div.box div + div{
        margin-top: 1em;
    }
    section#faq ul.accordion-area div.faq {
        font-size: 3vw;
    }
}


/*
--------------------------------------------------------
footer
--------------------------------------------------------
*/
p#pagetop {
    position: flxed;
    right: 10px;
    z-index: 100;
}
p#pagetop a {
    position: relative;
    width: 50px;
    height: 50px;
    color: #fff;
    border-radius: 100%;
    background: #005BAB;
    display: block;
    line-height: 60px;
    font-size: 80%;
    font-weight: 500;
    letter-spacing: 0.3;
}
p#pagetop a:hover{
    background: #fff;
    color: #005BAB;
}
p#pagetop a:focus{
}

p#pagetop a::after {
    position: absolute;
    content: "";
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    width: 10px;
    height: 10px;
    -webkit-transform: rotate(-45deg); 
    transform: rotate(-45deg);
    right: 20px;
    top: 10px;
}
p#pagetop a:hover::after{
    border-top: 2px solid #005BAB;
    border-right: 2px solid #005BAB;
}


/* footer */
footer{
    text-align: center;
    margin: 0 auto;
    padding: 1em 0;
}
footer p{
    margin:0 auto;
    width: 100px;
    font-size: 180%;
    padding-bottom: 4em;
}
.flow-button {
    width: 100%;
    position: fixed;
    bottom: 0;
    z-index: 90;
    height: 4em;
    box-shadow: 0 0 5px 0 rgba(0,0,0,0.3);
    font-size: 180%;
    background-color: rgba(255, 255, 255, 0.52);
}
p.button a{
    margin-left: auto;
    margin-right: auto;
	position: relative;
	padding: 0;
    border-radius: 1em;
    height: 2em;
    border: 1px solid #FF3563;
    background: #FF3563;
    display: block;
    max-width: 15em;
    line-height: 2em;
    font-weight: 900;
    margin:1em auto;
    color: #fff;
    text-indent: -1em;
	vertical-align: middle;
    box-shadow: 0 5px 0px 0 #EA3665;
}
p.button a:hover{
    top: 5px;
    box-shadow: 0 0 0px 0 #EA3665;
}
p.button a::before,
p.button a::after{
	position: absolute;
	top: 0;
	bottom: 0;
	right: 20px;
	margin: auto;
	content: "";
	vertical-align: middle;
}
p.button a::before{
	width: 1em;
	height: 1em;
	border-radius: 50%;
	background: #fff;
}
p.button a::after{
	right: calc(20px + 0.3em);
	width: 0.4em;
	height: 0.4em;
	border-top: 4px solid #ff0064;
	border-right: 4px solid #ff0064;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

@media screen and (min-width: 481px) and (max-width: 999px){
}
@media screen and (max-width: 480px){
    footer p{
        font-size: 4.5vw;
    }
    .flow-button {
        font-size: 4.5vw;
    }
    p.button a::after{
        border-width: 2px;
    }
    p#pagetop {
        position: flxed;
        right: 10px;
        z-index: 100;
    }
    p#pagetop a {
        position: relative;
        width: 25px;
        height: 25px;
        line-height: 30px;
        font-size: 6px;
    }
    p#pagetop a::after {
        border-top: 1px solid #fff;
        border-right: 1px solid #fff;
        width: 5px;
        height: 5px;
        right: 10px;
        top: 5px;
    }
    p#pagetop a:hover::after{
        border-top: 1px solid #005BAB;
        border-right: 1px solid #005BAB;
    }
}


/* animation */
@keyframes scroll-zoom-anim {
    from { transform: scale(0.5);opacity: 0; }
    to { transform: scale(1);opacity: 1; }
}
.scroll-zoom {
    animation: scroll-zoom-anim ease-in;
    animation-timeline: view();
    animation-range: cover 0% cover 50%;
}
@keyframes scroll-fade-anim {
    from { opacity: 0; }
    to { opacity: 1; }
}
.scroll-fade {
    animation: scroll-fade-anim linear;
    animation-timeline: view();
    animation-range: cover 0% cover 50%;
}