@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;500;700;900&display=swap');
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-style: normal;
  font-weight: normal;
  font-size: 100%;
  vertical-align: baseline;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}
blockquote, q {
  quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none;
}
input, textarea {
  margin: 0;
  padding: 0;
}
ol, ul {
  list-style: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
caption, th {
  text-align: left;
}
strong {
  font-weight: 700;
}
small{
	font-size: 1.2rem;
}
span{
	display: inline-block;
}
a:focus {
  outline: none;
}
.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}
.clearfix {
  min-height: 1px;
}
* html .clearfix {
  height: 1px;
  /*¥*/ /*/
	height: auto;
	overflow: hidden;
	/**/
}
.both {
  clear: both;
}
p {
  display: block;
  -webkit-margin-before: 0;
  -webkit-margin-after: 0;
  -webkit-margin-start: 0px;
  -webkit-margin-end: 0px;
  margin-bottom: 2.4rem;
}
p:last-child {
  margin-bottom: 0;
}
.inline_block {
  display: inline-block;
  *display: inline;
  *zoom: 1;
}
html {
  font-family: 'Noto Sans JP', sans-serif, "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
  font-size: 10px;
  line-height: 1.6;
}

@media screen and (max-width: 500px) {
html {
	font-size: 9px;
	}
}
@media screen and (max-width: 400px) {
html {
	font-size: 8px;
	}
	}

.modalbtn {
  cursor: pointer;
	position: relative;
}

.modalbtn:before{
	content: "";
    width: min(36px, 7.5vw);
    height: min(36px, 7.5vw);
    bottom: min(5px, 2vw);
    right: min(5px, 2vw);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	background-image: url("../images/modal-dekimasu.svg");
	position: absolute;
}
.type_fade {
  opacity: 0;
  transform: translate(0, 10vw);
  transition: 0.4s;
}
.type_fade_c1{
  opacity: 0;
  transform: translate(0, 10vw);
  transition: 0.4s 0.1s;
}
.type_fade_c2{
  opacity: 0;
  transform: translate(0, 10vw);
  transition: 0.4s 0.2s;
}
.type_fade_c3{
  opacity: 0;
  transform: translate(0, 10vw);
  transition: 0.4s 0.3s;
}
.type_fade.show,
.type_fade.show .type_fade_c1,
.type_fade.show .type_fade_c2 ,
.type_fade.show .type_fade_c3{
  opacity: 1;
  transform: translate(0, 0);
}
header .logo{
    opacity: 0;
    transition: 0.2s 0.5s ease-out;
}
header.show  .logo{
    opacity: 1;
}
body {
  font-size: 1.6rem;
  position: relative;
  background-color: #c8f3f5;
}
img {
  display: block;
  max-width: 100%;
}
a, a:hover, a:active, a:visited, a:link {
  text-decoration: none;
  color: inherit;
}
.bx-wrapper .bx-viewport{
	background: none;
}

.bx-wrapper {
	margin: 0 auto 30px;
}
.bx-wrapper .bx-pager.bx-default-pager a:hover, .bx-wrapper .bx-pager.bx-default-pager a.active {
    background: #12b1b4;
}
.bx-wrapper .bx-pager.bx-default-pager a {
	background:#fed474;
}
.menubtn {
  position: fixed;
  top: 0;
  right: 0;
  width: 9rem;
  z-index: 30;
  cursor: pointer;
    opacity: 0;
    transition: 0.5s 1.8s ease-out;
}
.menubtn.show {
    opacity: 1;
}
article {
  /*max-width: 1200px;*/
  margin: auto;
  background-color: #fff;
  overflow: hidden;
	position: relative;
	z-index: 10;
}
header .logo {
  position: absolute;
  top: 20px;
  left: 20px;
  width: 20%;
  z-index: 200;
  display: block;
}
.spnavi {
	height: auto;
  position: fixed;
  background-color: #12b1b4;
  top: 0;
  right: 0;
  width: 100%;
  display: none;
  z-index: 1000;
	padding: 0 3rem;
	padding-top: 6em;
	padding-bottom: 6em;
	box-sizing: border-box;
	font-size: 10px;
}
.spnavi nav {
  display: flex;
	justify-content: center;
  width: 100%;
  padding: 0px 0;
	max-width: 800px;
	margin: auto;
	margin-bottom: 6em;
	gap:1rem;
	column-gap: 2rem;
	flex-wrap: wrap;
}
.spnavi nav  ul{width: 39em;
	max-width: 100%;
}
.spnavi nav  ul li{
	margin-bottom: 1em;
}
.spnavi nav  ul li:last-child{
	margin-bottom: 0rem;
}
.spnavi a {
	display: block;
  width: 100%;
  font-weight: 700;
}
.menu_close{
	max-width: 10em;
    width: 30%;
	cursor: pointer;
	margin: auto;
}
.spnavi:after,
.spnavi:before{
	content: "";
	position: absolute;
	left: 0;
	width: 100%;
	height: 1.8rem;
	display: block;
	background-size: contain;
  background-image: url("../images/menu_hasen.svg");
}
.spnavi:before{
	top: 0;
}
.spnavi:after{
	bottom: 0;
}

@media screen and (max-height: 640px) {
.spnavi {
	font-size: 8px;
	}
}
@media screen and (max-height: 500px) {
.spnavi {
	font-size: 7px;
	}
}
#kv {
  position: relative;
  background-image: url("../images/bg.webp");
  background-size: 150% auto;
  background-repeat: no-repeat;
  background-position: -90px 0px;
  overflow: hidden;
  width: 100%;
  height: 0;
  padding-top: 80%;
  animation: bgwave ease-in-out 8s infinite;
}
#kv img {}
.kv_ticket {
  position: absolute;
  z-index: 10;
  top: -4.2%;
  left: 67.7%;
  width: 29.5%;
  transform-origin: 50% 50%;
  transform: rotate(-5.5deg);
  animation: ticketwave ease 5s infinite;
}
.kv_ticket_1 {
  position: absolute;
  left: 0%;
  top: 0%;
  z-index: 1;
  opacity: 0;
  transition: 0.5s 0.3s ease-out;
  will-change: transform;
}
.kv_ticket_2 {
  position: absolute;
  left: 0%;
  top: 26%;
  z-index: 2;
  opacity: 0;
  transition: 0.5s 0.6s ease-out;
  will-change: transform;
}
.kv_ticket_3 {
  position: absolute;
  left: 0%;
  top: 39%;
  z-index: 2;
  opacity: 0;
  transition: 0.5s 0.9s ease-out;
  will-change: transform;
}
.kv_ticket_bg {
  position: relative;
  left: 0%;
  top: 0%;
  z-index: 1;
}
.kv_ticket {
  opacity: 0;
  transition: 0.5s ease-out;
  will-change: transform;
}
.kv_ticket_inner1 {
  transform: translate(0px, 100%);
  transition: 0.5s ease-out;
  will-change: transform;
  position: relative;
}
.kv_ticket.show {
  opacity: 1;
}
.kv_ticket.show .kv_ticket_inner1 {
  transform: translate(0px, 0px);
}
.kv_ticket.show .kv_ticket_1, .kv_ticket.show .kv_ticket_2, .kv_ticket.show .kv_ticket_3 {
  opacity: 1;
}
.kv_camera {
  position: absolute;
  z-index: 1;
  top: 84%;
  left: 1%;
  width: 9%;
  transform-origin: 50% 50%;
  transform: rotate(-11deg);
}
.kv_connpass {
  position: absolute;
  z-index: 1;
  top: 6.5%;
  left: 43%;
  width: 10.5%;
  transform-origin: 50% 50%;
  transform: rotate(1deg);
  animation: compass ease-in-out 4s infinite;
}
.kv_fune {
  position: absolute;
  z-index: 1;
  top: 82%;
  left: 22%;
  width: 9%;
  transform-origin: 50% 50%;
  transform: rotate(0deg);
  animation: funewave ease-in-out 7s infinite;
}
.kv_hikouki {
  position: absolute;
  z-index: 1;
  top: 110%;
  left: 70%;
  width: 12.7%;
  transform-origin: 50% 50%;
  transform: rotate(0deg);
  animation: hikoukiwave ease-in-out 7s infinite;
}
.kv_kippu2 {
  position: absolute;
  z-index: 20;
  top: 88%;
  left: 43%;
  width: 16%;
  transform-origin: 10% 50%;
  transform: rotate(-11deg);
  animation: kippuwave ease-in-out 6s infinite;
}
.kv_tegami {
  position: absolute;
  z-index: 20;
  top: 71%;
  left: 51%;
  width: 21%;
  transform-origin: 0% 100%;
  transform: rotate(-20deg);
  animation: tegamiwave ease-in-out 4s infinite;
}
.kv_phone {
  position: absolute;
  z-index: 20;
  top: 80%;
  left: 83%;
  width: 13%;
  transform-origin: 100% 100%;
  transform: rotate(14deg);
  animation: phonewave ease-in-out 6s infinite;
}
.kv_train {
  position: absolute;
  z-index: 1;
  top: 15%;
  left: 5.5%;
  width: 9.3%;
  transform-origin: 50% 50%;
  transform: rotate(1deg);
  animation: trainwave ease-in-out 7s infinite;
}
.kv_seal1 {
  position: absolute;
  z-index: 20;
  top: 37%;
  left: 8.5%;
  width: 10%;
  animation: pyoko ease-in-out 4s infinite;
}
.kv_miku {
  position: absolute;
  z-index: 9;
  top: 6.5%;
  left: -8.3%;
  width: 93.5%;
  transform-origin: 20% 220%;
  transform: rotate(0deg) scale(1);
  transition: 0.5s ease-out;
  will-change: transform;
  opacity: 0;
    max-width: none;
}
#kv.show .kv_miku {
  opacity: 1;
}
.kv_seal1 {
  opacity: 0;
  transition: 0.3s 0.4s ease-out;
  will-change: transform;
}
.kv_train {
  opacity: 0;
  transition: 0.5s 0.2s ease-out;
}
.kv_hikouki {
  opacity: 0;
  transition: 0.5s 0.4s ease-out;
}
.kv_fune {
  opacity: 0;
  transition: 0.5s 0s ease-out;
}
.kv_camera {
  opacity: 0;
  transition: 0.5s 1s ease-out;
  will-change: transform;
  transform: rotate(-21deg) scale(0.8);
}
.kv_phone {
  opacity: 0;
  transition: 0.5s 1.2s ease-out;
  will-change: transform;
  transform: rotate(24deg);
}
.kv_kippu1 {
  opacity: 0;
  transition: 0.5s 1.4s ease-out;
  will-change: transform;
  transform-origin: 10% 50%;
  transform: rotate(-30deg);
}
.kv_kippu2 {
  opacity: 0;
  transition: 0.5s 1s ease-out;
  will-change: transform;
  transform-origin: 10% 50%;
  transform: rotate(-31deg);
}
.kv_tegami {
  opacity: 0;
  transition: 0.5s 1.2s ease-out;
  will-change: transform;
  transform: rotate(0deg);
}
.kv_connpass {
  opacity: 0;
  transition: 0.25s 0.25s ease-out;
}
#kv.show .kv_seal1 {
  opacity: 1;
}
#kv.show .kv_train {
  opacity: 1;
  transform: translate(0, 0);
}
#kv.show .kv_hikouki {
  opacity: 1;
  transform: translate(0, 0);
}
#kv.show .kv_fune {
  opacity: 1;
  transform: translate(0, 0);
}
#kv.show .kv_phone {
  opacity: 1;
  transform: rotate(14deg);
}
#kv.show .kv_kippu1 {
  opacity: 1;
  transform: rotate(-20deg);
}
#kv.show .kv_kippu2 {
  opacity: 1;
  transform: rotate(-11deg);
}
#kv.show .kv_tegami {
  opacity: 1;
  transform: rotate(-20deg);
}
#kv.show .kv_connpass {
  opacity: 1;
  transform: rotate(0deg);
}
#kv.show .kv_camera {
  opacity: 1;
  transform: rotate(-11deg) scale(1);
}
@keyframes bgwave {
  0% {
    background-position: -90px -30px;
  }
  50% {
    background-position: 0px 0px;
  }
  100% {
    background-position: -90px -30px;
  }
}
@keyframes ticketwave {
  0% {
    top: -7.2%;
    left: 67.7%;
  }
  50% {
    top: -15.2%;
    left: 67.7%;
  }
  100% {
    top: -7.2%;
    left: 67.7%;
  }
}
@keyframes ticketwave_sp {
  0% {
    top: -14%;
  }
  50% {
    top: -20%;
  }
  100% {
    top: -14%;
  }
}
@keyframes phonewave {
  0% {
    transform: rotate(14deg);
  }
  50% {
    transform: rotate(9deg);
  }
  100% {
    transform: rotate(14deg);
  }
}
@keyframes trainwave {
  0% {
    left: 5.5%;
  }
  50% {
    left: 10.5%;
  }
  100% {
    left: 5.5%;
  }
}
@keyframes kippuwave {
  0% {
    transform: rotate(-11deg);
  }
  50% {
    transform: rotate(-7deg);
  }
  100% {
    transform: rotate(-11deg);
  }
}
@keyframes funewave {
  0% {
    left: 22%;
  }
  50% {
    left: 10%;
  }
  100% {
    left: 22%;
  }
}
@keyframes hikoukiwave {
  0% {
    top: 110%;
    left: 70%;
  }
  100% {
    top: 40%;
    left: -20%;
  }
}
@keyframes tegamiwave {
  0% {
    transform: rotate(-20deg);
  }
  50% {
    transform: rotate(-15deg);
  }
  100% {
    transform: rotate(-20deg);
  }
}
@keyframes pyoko {
  0% {
    transform: rotateY(0);
  }
  100% {
    transform: rotateY(360deg);
  }
}
@keyframes compass {
  0% {
    top: 5.5%;
  }
  50% {
    top: 9%;
  }
  100% {
    top: 5.5%;
  }
}
@keyframes compass_sp {
  0% {
    top: 7%
  }
  50% {
    top: 9%;
  }
  100% {
    top: 7%
  }
}
@media screen and (max-width: 900px) {
  #kv {
    padding-top: 120%;
  }
  header .logo {
    top: 10px;
    left: 10px;
    width: 30%;
  }
  .kv_ticket {
    top: -14%;
    left: 53%;
    width: 44%;
    animation: ticketwave_sp ease 5s infinite;
  }
  .kv_miku {
    top: 14%;
    left: -25%;
    width: 125%;
  }
  .kv_connpass {
    top: 7%;
    left: 38%;
    width: 14%;
    animation: compass_sp ease-in-out 4s infinite;
  }
  .kv_seal1 {
    top: 45%;
    left: 12%;
    width: 15%;
  }
  .kv_kippu2 {
    top: 90%;
    left: 45%;
    width: 20%;
  }
  .kv_tegami {
    top: 77%;
    left: 55%;
    width: 26%;
  }
  .kv_phone {
    top: 80%;
    left: 77%;
    width: 18%;
  }
  .menubtn {
    width: 60px;
  }
}

.inner_contents {
  max-width: 1020px;
  margin: auto;
}
#news_movie {
  background-size: cover;
  background-color: #fee6ae;
  background-image: url("../images/bg_2.svg");
  overflow: hidden;
  padding: 6rem 0;
}
#news_movie section {
  padding: 4rem 5rem;
  box-sizing: border-box;
  padding-top: 6.6rem;
  background-repeat: repeat-x;
  background-size: auto 4rem;
  background-color: #fff;
  position: relative;
}
#news_movie h3 img {
  height: 4.4rem;
  width: auto;
}
#news {
  position: relative;
  width: calc(100% - 17rem);
  border-radius: 0 2rem 2rem 0;
  background-image: url("../images/hasen_green.svg");
  margin-bottom: 6rem;
  display: flex;
  justify-content: center;
  transition: 1s;
  transform: translateX(-100%);
}
#news.show {
  transform: translateX(0%);
}
#news h3 {
  padding-top: 1.4rem;
  margin-bottom: 4rem;
  margin-bottom: 2.5rem;
}
#movie {
  position: relative;
  margin-left: 17rem;
  width: calc(100% - 17rem);
  border-radius: 2rem 0 0 2rem;
  background-image: url("../images/hasen_pink.svg");
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  transition: 1s;
  transform: translateX(100%);
}
#movie.show {
  transform: translateX(0%);
}
#movie h3 {
}
#news .flex,
.kittetitle_flex {
  display: flex;
  width: 100%;
  justify-content: space-between;
}
#news .flex {
  align-items: flex-start;
  gap: 3rem;
  max-width: 1000px;
}
.kittetitle_flex {
  align-items: center;
  margin-bottom: 2.6rem;
  max-width: 1000px;
}
#news .kittetitle_flex {
	margin-bottom: 0;
}
#news .kittetitle_right{
	display: none;
}
#news .flex .right,
.kittetitle_right {
  width: 10rem;
  flex-shrink: 0;
}
#news .bird, #movie .bird {
  position: absolute;
  z-index: 1;
}
#news .bird {
  bottom: 1rem;
  right: -13rem;
  width: 17rem;
}
#movie .bird {
  top: 7rem;
  left: -14rem;
  width: 17rem;
}
#movie .movie_area {
  position: relative;
  max-width: 1000px;
  width: 100%;
}
#news .flex .left{
	width: 100%;
}
.newsmeta{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap:1em;
	margin-bottom: 1em;
}
.newslist{
	overflow: auto;
max-height: 35rem;
}
.newslist a{
	padding: 1.5em 0;
	border-bottom: solid 1px #000;
	display: block;
}
.newslist .date{
	margin: 0;
	color: #ff87a5;
}
.newslist .cat{
	display: block;
	padding: 0.3em 1em;
	line-height: 1;
	background-color: #12b1b4;
	color: #fff;
}

#information {
  padding: 6rem 4.5rem;
    padding: 6rem min(5vw, 4.5rem);
  background-image: url("../images/bg.webp");
}
#information h3 {
  margin-bottom: 5rem;
	position: relative;
    margin-bottom: min(15%, 10rem);
    margin-bottom: min(10%, 6rem);
}
#information h3 img{
	position: relative;
	z-index: 10;
}
#information h3 img.case_1{
    position: absolute;
    z-index: 5;
    top: -5%;
    right: 85%;
    width: 19%;
    transform: rotate(-15deg);
	
    bottom: 20%;
    top: 0;
    margin: auto;
}
#information h3 img.case_3{
	position: absolute;
    z-index: 5;
    top: 23%;
    left: 86%;
    width: 18%;
    transform: rotate(20deg);
	
	
    top: 63%;
    bottom: 0%;
    margin: auto;
}
.title_information_1 {
  /*margin: auto;
  width: 25rem;
  margin-bottom: 5rem;
    margin-bottom: min(5rem, 10%);
    max-width: 50%;*/
	
    margin: auto;
    width: 35rem;
    margin-bottom: 5rem;
    margin-bottom: min(4rem, 10%);
    max-width: 60%;
}
.title_information_2 {
  margin: auto;
  width: 80rem;
}
#information .flex {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 6rem;
}
#information .flex .left {
  width: 50%;
}
#information .flex .right {
  width: 45%;
}
#information .package_slide {
	background-color: #fff;
	box-sizing: border-box;
	padding: 2rem;
	border-radius: 2rem;
}
#information .package_slide  .modalbtn:before{
	bottom: calc(20% + min(5px, 2vw));
}
.package_slide li img {
  width: auto;
}
.package_slide li .boxinner {}
.package_type li{
	margin-bottom: 1rem;
}
.package_type li:last-child{
	margin-bottom: 0;
}
.package_type .inner{
    display: flex;
    background-color: #fff;
	align-items: center;
    padding: 0.75rem 0;
}
.package_type .inner .left{
	width: 18%;
	flex-shrink: 0;
    width: 18%;
    box-sizing: border-box;
    padding: 0 3%;
}
.package_type .inner .center{
	width: 41%;
    box-sizing: border-box;
    padding: 0 1.5rem;
}
.package_type .inner .right{
	width: 41%;
	color: #12b1b4;
    box-sizing: border-box;
    padding: 0 1.5rem;
	font-size: 1.4rem;
}
#package {
  background-color: #ffd7e1;
  background-image: url("../images/bg_3.svg");
  background-position: top;
  background-size: 100% auto;
    position: relative;
    z-index: 15;
}
#package .inner {
  padding: 6rem 0;
  position: relative;
  background-image: url("../images/rail_1.svg");
  background-position: top;
  background-size: 100% auto;
}
#package h3 {
  position: relative;
  z-index: 3;
}
#package h3 {
  margin-bottom: 13rem;
    margin-bottom: min(24vw, 13rem);
    margin-bottom: min(19vw, 9rem);
}
#package h3 .title_tokuten{
	margin-left: auto;
	margin-right: auto;
  width: 36rem;
    max-width: 80%;
}
.bg_gra {
  position: absolute;
  z-index: 1;
  top: 0;
  width: 100%;
  left: 0;
}
#package section .position_flex {
  padding: 8rem 11rem;
  padding-bottom: 6rem;
  box-sizing: border-box;
  width: calc(100% - 20rem);
  background-color: #fff;
  margin-bottom: 10rem;
    margin-bottom: min(14rem, 22vw);
  border-radius: 0 2rem 2rem 0;
  position: relative;
  z-index: 5;
	display: flex;
	flex-direction: column;
}
.package_section1 .position_flex,
.package_section3 .position_flex{
	align-items: flex-end;
}
.package_section2 .position_flex{
}
#package section .section_inner{
	max-width:950px;
	position: relative;
	width: 100%;
}
#package h4 {
  width: 100%;
  height: 13.5rem;
  position: absolute;
  top: -16rem;
        z-index: 10;
}
#package h4 img {
  width: auto;
  height: 100%;
  position: relative;
}
#package .package_section1 {
    z-index: 10;
    position: relative;
}

@media screen and (min-width: 901px) {
#package .package_section1 .position_flex{
	padding-right: 6rem;
	}
}
#package .package_section2 {
    z-index: 10;
    position: relative;
	display: flex;
	justify-content: flex-end;
}
#package .package_section2  .position_flex{
  border-radius: 2rem 0 0 2rem;
}
#package .package_section3{
    z-index: 10;
    position: relative;
  margin-top: 0;
}
.commingsoon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}
.commingsoon img {
  width: 34rem;
}
#package .commingsoon {
  padding-top: 4rem;
}

#package li{
	position: relative;
	padding-left: 4rem;
	margin-bottom: 1rem;
}
#package li:last-child{
	margin-bottom: 0;
}
#package li:before{
	content: "";
	width: 2.6rem;
	height: 2.6rem;
	background-position: center;
	background-size: cover;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
}

#package .package_section1 li:before{
	background-image: url("../images/common_hoshi_5.svg");
}
#package .package_section2 li:before{
	background-image: url("../images/common_hoshi_4.svg");
}

#package .package_section3 li:before{
	background-image: url("../images/common_hoshi_5.svg");
}
#package li h5{
	font-size: 1.1em;
}
#package li table th{
	padding-right: 1rem;
	width: 5em;
	box-sizing: border-box;
	font-weight: 700;
	color: #12b1b4;
	word-break: keep-all;
}
#package li table td{
	padding-bottom: 0.5em;
	font-weight: 300;
}
.package_img_twocol{
	display: flex;
	justify-content: space-between;
	gap:30px;
}
.package_img_twocol .left{
	flex-shrink: 0;
}
.package_img_twocol .right{
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	flex-shrink: 1;
}
.package_img_twocol_img{
    margin-top: -40px;
    width: calc(100% + 10rem);
    max-width: 400px;
	text-align: center;
}

.package_img_twocol_img .modalbtn:before {
	bottom: calc(20px + min(5px, 2vw));
}
.package_img_twocol .right .caption{
	font-size: 14px;
}
.gentei_tokutennaiyou{
	margin: auto;
    margin-bottom: min(14rem, 16vw);
    background-color: #fff;
    box-sizing: border-box;
	    max-width: 1300px;
	width: 90vw;
    padding: 2rem;
    border-radius: 2rem;
}
@media screen and (max-width: 1130px) {
	
.package_img_twocol .right {
	align-items: flex-start;
	}
.package_img_twocol{
	gap:20px;
	}
}
@media screen and (max-width: 900px) {
	
.package_img_twocol_img {
	width: 100%;
	}
}
@media screen and (min-width: 801px) {
.br_sponky{
	display: none;
}
}
@media screen and (max-width: 800px) {
	
.package_img_twocol{
	display: flex;
	flex-direction: column;
	}
    .package_img_twocol .right {
        align-items: flex-start;
        align-items: center;
	}
    .package_img_twocol_img {
		margin-top: 0;
    }
	.package_img_twocol_img img{
		margin: auto;
	}
}

#honpendisc h3 {
  margin-bottom: 7rem;
}
#honpendisc h3 .title_disc {
	margin-left: auto;
	margin-right: auto;
  width: 36rem;
    max-width: 80%;
}
#honpendisc {
  background-color: #fff1d1;
  background-image: url("../images/bg_4.svg");
  background-position: top;
  background-size: 100% auto;
  position: relative;
  z-index: 5;
}
#honpendisc .inner {
  padding: 6rem 0;
  padding-bottom: 30rem;
    padding-bottom: min(25vw, 30rem);
  position: relative;
  background-image: url("../images/rail_2.svg");
  background-position: top;
  background-size: 100% auto;
    padding-bottom: calc(10rem + 20vw);
}
#honpendisc h3 {
  position: relative;
  z-index: 3;
}
#honpendisc section {
  box-sizing: border-box;
  width: calc(100% - 20rem);
  background-color: #fff;
  border-radius: 0 2rem 2rem 0;
  border-top: solid 1.4rem #fed474;
  border-bottom: solid 1.4rem #fed474;
  position: relative;
  z-index: 5;
}
#honpendisc section > div {
  padding: 4rem;
	background-color: #fff;
}
#honpendisc .setlist_tokyo {
  margin-left: 20rem;
  border-radius: 2rem 0 0 2rem;
}
#honpendisc .setlist_tokyo h4 {
  background-image: url("../images/hasen_1.svg");
    background-repeat: repeat-x;
  background-size: auto 1.5rem;
  background-position: bottom;
  padding-bottom: 4rem;
  width: 100%;
}
#honpendisc .setlist_tokyo h4 img {
  width: 47.5rem;
    max-width: 85%;
}
.setlist_tokyo .setlist{
	margin-top: 50px;
	margin-bottom: 20px;
}
.setlist_tokyo .setlist li{
	font-weight: 300;
}
.setlist_tokyo .bonusmovie strong{
	color: #12b1b4
}
.setlist_tokyo .bonusmovie strong{
	color: #12b1b4
}
#honpendisc .commingsoon {
	padding-top: calc(4rem + min(7vw,12rem));
  padding-bottom: min(7vw,12rem);
}

@media screen and (min-width: 1500px){
	#package .package_section1 .position_flex,
	#package .package_section3 .position_flex{
		max-width: calc(1100px + (50% - 1100px / 2));
	}
	#package .package_section2 .position_flex{
		max-width: calc(1100px + (50% - 1100px / 2));
	}
}
#package .setlist li,
.setlist li{
	position: relative;
	margin-bottom: 0.5em;
	padding-left: 2em;
}
.setlist li:last-child{
	margin-bottom: 0;
}
.setlist li span:first-child{
	font-weight: 900;
	position: absolute;
	top: 0;
	left: 0;
}

#package .setlist li{
	font-weight: 300;
}
#package .setlist li span:first-child{
	font-weight: 400;
}
#package .setlist li:before{
	display: none;
}
.title_pointer {
  position: relative;
  z-index: 5;
  width: 43rem;
  margin: auto;
  margin-bottom: 2rem;
    max-width: 70%;
}
#campaign {
  position: relative;
  z-index: 10;
  margin-top: -30rem;
  margin-top: max(-20vw, -24rem);
    margin-top: -20vw;
  padding-bottom: 6rem;
}
#campaign h3 {
  background-image: url("../images/campaign_title_bg.svg");
  background-size: contain;
  background-position: top center;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
    background-size: 100% auto;
	min-height: 50vw;
  margin-bottom: 4rem;
}
.campaign_title_1 {
  width: 98rem;
  max-width: 80%;
    margin: auto;
}
.campaign_title_2 {
  width: 68rem;
  max-width: 80%;
	margin: auto;
  margin-bottom: 4rem;
	display:block;
}
#campaign .inner {
}
.campaign_img1{
    max-width: 960px;
	margin: auto;
	margin-bottom: 2rem;
	display: block;
	width: 100%;
	position: relative;
}
.campaign_img1 > img{
	width: 100%;
}
.campaign_item1{
    position: absolute;
    width: 32%;
    top: 1%;
    left: 4%;
}
.campaign_item2{
    position: absolute;
    width: 26%;
    top: 42%;
    left: 7.5%;
}
.campaign_item3{
    position: absolute;
    width: 25.5%;
    top: 73.5%;
    left: 13%;
}
.cd_setlistbtn{
    position: absolute;
    width: 12%;
    top: 13%;
    left: 80%;
}
.cd_setlistbtn:before{
	display: none;
}
.modalbox .cd_setlist h3{
	color: #12b1b4;
}
.modalbox .cd_setlist .setlist{
}
.modal_text{
	max-width: 100%;
}
.modal_text_inner{
    width: 500px;
	max-width: 100%;
}
#campaign .flex {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  max-width: 1020px;
  width: calc(100% - 6rem);
  width: calc(100% - min(10vw, 6rem));
  margin: auto;
  margin-bottom: 2rem;
}
#campaign .flex > div {
  box-sizing: border-box;
  width: calc(50% - 2rem);
  border-radius: 2rem;
  padding: 2rem;
  display: flex;
  gap: 2rem;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  position: relative;
}
#campaign .flex > div img {
  max-width: 28rem;
  width: 100%;
}
#campaign .flex > div img.and {
  width: 10rem;
  position: absolute;
  left: -7rem;
  display: block;
  top: 0;
  bottom: 0;
  margin: auto;
}
#campaign .flex > div.left {
  background-color: #fed474;
  z-index: 1;
}
#campaign .flex > div.right {
  background-color: #ffc3d2;
  z-index: 2;
}
.text_mark{
background: linear-gradient(to bottom,  #ffffff 0%,#ffffff 70%,#ffc3d2 70%,#ffc3d2 100%);
	display: inline;
}
.caution{
	color: #FF0004;
}
#shoptokuten .text_mark{
background: linear-gradient(to bottom,  #fed474 0%,#fed474 70%,#fff 70%,#fff 100%);
	background:linear-gradient(to bottom, #fed474 0%, #fed474 60%,  rgb(255 255 255 / 60%) 60%, rgb(255 255 255 / 60%) 100%);
	display: inline;
}
#campaign >  .inner{
  max-width: 1020px;
  width: calc(100% - 6rem);
  width: calc(100% - min(10vw, 6rem));
	width: 100%;
  margin: auto;
	padding: 0 min(5vw, 3rem);
    box-sizing: border-box;
}
.bgmikuarea{
    background-image: url(../images/kv_miku_2000.webp);
    background-color: rgba(255, 255, 255, 0.8);
    background-blend-mode: lighten;
    background-position: top center;
    background-size: 100% auto;
    background-repeat: no-repeat;
	display: none;
	position: fixed;
	z-index: 1;
	top: 0;
	left: 0;
	margin: auto;
	right: 0;
	max-width: 100%;
	width: 100%;
	height: 100vh;
}
@media screen and (max-width: 900px) {
.bgmikuarea{
background-size: 150% auto;
	max-width: 150%;
	width: 150%;
}
}
.campaign_yoyaku {
	margin-top: 10rem;
  margin-bottom: 7rem;
}
.campaign_yoyaku_btn {
  gap: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
    max-width: 90%;
    flex-direction: column;
    margin: auto;
}
.yoyaku_btn_1 {
  width: 70rem;
  max-width: 100%;
}
.yoyaku_btn_2 {
  width: 54rem;
    max-width: 85%;
}
.yoyaku_btn_c {
  width: 58rem;
  max-width: 100%;
}
#campaign h5 {
  background-color: #008090;
  display: inline-block;
  line-height: 1;
  padding: 1em 1.5em;
  color: #fff;
  font-weight: 700;
  margin-bottom: 1rem;
}
#shoptokuten {
  position: relative;
  padding-top: 7rem;
	z-index: 20;
}
#shoptokuten .inner {
  max-width: 970px;
  width: 100%;
}
#shoptokuten h3 {
  position: relative;
  z-index: 7;
}
#shoptokuten h4 {
  background-color: #008090;
  display: inline-block;
  line-height: 1;
  padding: 1em 1.5em;
  color: #fff;
  font-weight: 700;
  margin-bottom: 1rem;
}
#shoptokuten .bgarea {
  background-color: #fed474;
  padding: 0 3rem;
  padding-top: 7rem;
  position: relative;
  z-index: 4;
	overflow: hidden;
}
#shoptokuten .bg_5 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1;
}
#shoptokuten .inner {
  max-width: 1020px;
  margin: auto;
	position: relative;
	z-index: 10;
}
#shoptokuten h3 {}
.title_shop_1 {
  width: 59rem;
  margin: auto;
  margin-bottom: 4rem;
    max-width: 65%;
}
.title_shop_2 {
  margin: auto;
  width: 64rem;
    max-width: 80%;
}
.shop_list_area {
  padding-top: 5rem;
}
#shoptokuten .shop_list_area h4 {
  margin-bottom: 5rem;
}
.shop_list1 {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  justify-content: center;
  gap: 4rem;
  column-gap: 5.8rem;
  margin-bottom: 4rem;
}
.shop_list1 li {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
}
.shop_list_item {
  background-color: #fff;
  border-radius: 1.5rem;
  width: 30rem;
  padding-bottom: 3rem;
}
.shop_list_item .center {
  padding: 4rem 2rem;
  width: 100%;
  box-sizing: border-box;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 2rem;
    height: 100%;
}
.shop_list_item h5 {
  display: flex;
  justify-content: center;
  width: 100%;
  box-sizing: border-box;
  padding: 1rem;
  padding-bottom: 1.9rem;
  background-image: url(../images/line_dot.svg);
  background-size: auto 0.9rem;
  background-repeat: repeat-x;
  background-position: bottom center;
    min-height: calc(3.2em + 3rem);
    align-items: center;
}
.shop_list_item .shop_btn {
  max-width: calc(100% - 0rem);
  /*width: 25.5rem;*/
  padding: 0.5rem 2rem;
  box-sizing: border-box;
  border-radius: 5rem;
  border: solid 1px #12b1b4;
  background-color: #12b1b4;
  text-align: center;
  color: #fff;
  display: block;
   /* max-width: calc(100% - 2rem);	*/
	margin: auto;
	text-align: left;
}
.shop_list2.shop_list_item {
  width: 100%;
  max-width: 76rem;
  margin: auto;
}
.shop_btn_list {
    display: flex;
    align-items: center;
  display: flex;
  justify-content: space-between;
  margin: auto;
  /*max-width: 56rem;*/
  width: 100%;
  gap: 2rem;
  column-gap: 0;
  flex-wrap: wrap;
	padding: 0 2rem;
	box-sizing: border-box;
    gap: 2rem;
	justify-content: flex-start;
}
.shop_btn_list {
}


@media screen and (max-width: 650px) {
	.shop_btn_list {
    align-items: center;
	flex-direction: column;
	}
}
.bottom_block{
	position: relative;
	overflow: hidden;
	z-index:1;
}
.bottom_block .bg_7{
	position: fixed;
	z-index: 1;
	background-image: url("../images/bg_7.webp");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: top 20% center;
	top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
	display: none;
}
#official_site, #do_share {
	padding-right: min(5vw, 3rem);
	padding-left: min(5vw, 3rem);
}
#discography, #official_site, #do_share {
  padding-top: 7rem;
  padding-bottom: 7rem;
    padding-top: min(10vw, 7rem);
    padding-bottom: min(10vw, 7rem);
	position: relative;
	z-index: 10;
}
#discography h3, #official_site h3, #do_share h3 {
  display: block;
  width: 34rem;
  max-width: 70%;
  margin: auto;
  margin-bottom: min(10vw, 7rem);
}
#do_share {
    padding-bottom: min(20vw, 14rem);
}
#discography li a{
	display: block;
	background-color: #12b1b4;
		border-radius: 1.5rem;
	padding: 1.5rem;
    border-radius: min(2vw, 1.5rem);
    padding: min(2vw, 1.5rem);
	}
#discography li.disco2015 a{
	background-color: #ff87a5;
}
#discography li.disco2016 a{
	background-color: #fed474;
}
#discography li.disco2017 a{
	background-color: #12b1b4;
}
#discography li.disco2018 a{
	background-color: #ff87a5;
}
#discography li.disco2019 a{
	background-color: #fed474;
}
#discography li.disco2020 a{
	background-color: #12b1b4;
}
#discography li.disco2021 a{
	background-color: #ff87a5;
}
#discography li.disco2022 a{
	background-color: #fed474;
}
#discography li.disco2023 a{
	background-color: #12b1b4;
}
#discography .bx-wrapper {
    margin: 0 auto 0px;
    width: min(80%, 940px);
}
#discography .bx-wrapper .bx-viewport {
    overflow: visible !important;
}
.banne_official_site{
	max-width: 840px;
	margin: auto;
	border-radius: 2rem;
	padding: 2rem;
    border-radius: min(2vw, 1.5rem);
    padding: min(2vw, 1.5rem);
	background-color: #12b1b4;
	width: 100%;
	display: block;
    box-sizing: border-box;
}
.sns_icon {
  display: flex;
  gap: 4.5rem;
  justify-content: center;
	
    display: flex;
    gap: min(3vw, 4.5rem);
    justify-content: center;
    align-items: center;
}
.sns_icon a {
  width: 9rem;
    width: min(14vw, 9rem);
  display: block;
}

footer {
  position: relative;
	z-index: 10;
  width: 100%;
  color: inherit;
  font-size: 1.2rem;
	color: #fff;
	background-repeat: repeat-x;
	background-position: top;
    background-color: #12b1b4;
    background-size:auto 1.8rem;
    background-image: url(../images/menu_hasen.svg);
  padding: 3rem;
  box-sizing: border-box;
}
footer .inner {
  margin: auto;
  max-width: 1200px;
  box-sizing: border-box;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
footer .inner p {
  font-size: 1em;
  margin-bottom: 0;
}
footer .inner p span {
  margin-bottom: 0.3em;
}
footer .inner .left {
  width: calc(100% - 14rem);
  word-break: break-all;
}
footer .inner .foot_logo {
  width: 12rem;
}

.package_section2 .float_camera{
	position: absolute;
    top: 0;
    right: 97%;
    transform: rotate(-15deg);
    width: 17rem;
    width: min(25vw, 17rem);
}
.package_section3 .float_note{
    position: absolute;
    left: 89%;
    bottom: -13rem;
    width: 23rem;
    position: absolute;
    left: 85%;
    bottom: max(-19rem, -23vw);
    width: min(25vw, 23rem);
}
#package .float_connpass{
    /*position: absolute;
    top: max(-20vw, -12rem);
    left: calc(50rem + 28%);
    width: 20rem;
    left: 70%;
    max-width: 24vw;
    width: 20rem;
    margin: auto;*/
    position: absolute;
    width: 10%;
    position: absolute;
    top: calc(25rem + 5vw / -1);
    width: min(21%, 15rem);
    z-index: 1;
    left: 70%;
}
#package .float_star1{
	position: absolute;
	top: 0%;
	bottom: 0%;
	width: 10%;
}
#package .float_star2{
	position: absolute;
	top: 0%;
	bottom: 0%;
	width: 10%;
}
#package .float_star3{
	position: absolute;
	top: 0%;
	bottom: 0%;
	width: 10%;
}
#package .float_star4{
	position: absolute;
	top: 0%;
	bottom: 0%;
	width: 10%;
}

#honpendisc .float_connpass{
    position: absolute;
    bottom: max(-13rem, -8vw);
    bottom: max(-15rem, -10vw);
    width: min(17rem, 13vw);
    left: max(-8rem, -12vw);
}
#honpendisc .float_batch_2 {
    position: absolute;
    top: max(-20vw, -12rem);
    left: calc(50rem + 28%);
    width: 20rem;
    left: 70%;
    max-width: 24vw;
    width: 20rem;
	margin: auto;
}
#honpendisc .float_batch_3{
    position: absolute;
    top: 12rem;
    right: calc(18rem + 63%);
    width: 17.5rem;
    z-index: 10;
}
#honpendisc .float_star1{
	position: absolute;
	top: 0%;
	bottom: 0%;
	width: 10%;
}
#shoptokuten .float_fune{
    position: absolute;
    top: 0%;
    bottom: 0%;
    margin: auto;
    width: 12rem;
    right: calc(58% + 30rem);
}
#shoptokuten .float_batch_1{
    top: 0%;
    bottom: 0%;
    margin: auto;
    width: 18rem;
    left: calc(52% + 30rem);
	position: absolute;
}
#shoptokuten .float_star1{
    position: absolute;
    top: 30rem;
    width: 13rem;
    left: calc(50% + 32rem);
	left: 70%;
    z-index: 1;
}
#shoptokuten .float_star2{
    position: absolute;
    top: 90rem;
    width: 8rem;
    /*left: calc(50% + 55rem);
	left: 95%;*/
	right: 5%;
    z-index: 1;
}
#shoptokuten .float_star3{
    position: absolute;
    top: 145rem;
    width: 13rem;
    /*right: calc(50% + 42rem);
    right: 80%;*/
	left: 20%;
    z-index: 1;
}
#shoptokuten .float_star4{
    position: absolute;
    top: 180rem;
    width: 8rem;
    /*right: calc(50% + 42rem);
    right:65%;*/
	left: 15%;
    z-index: 1;
}
#shoptokuten .float_star5{
    position: absolute;
    top: 250rem;
    width: 13rem;
   /* right: calc(50% + 52rem);
    right: 95%;*/
	left: 5%;
    z-index: 1;
}
#shoptokuten .float_star6{
    position: absolute;
    top: 310rem;
    /* bottom: 0%; */
    width: 13rem;
    right: 15%;
   /* left: calc(50% + 32rem);
    left: 80%;*/
	right: 10%;
    z-index: 1;
}
@media screen and (max-width: 500px) {
  footer .inner .left {
    width: 100%;
    margin-bottom: 2rem;
  }
  footer .inner {
    flex-direction: column;
  }
}
.piapro {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.piapro_logo {
  width: 6.5rem;
  height: 1.5rem;
  display: block;
  left: 100%;
  margin-left: 1rem;
}
.flyingdog {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.flyingdog_logo {
  content: "";
  width: 1.5rem;
  height: 1.5rem;
  display: block;
  margin-left: 1rem;
}
.topbtn {
  position: fixed;
  z-index: 1000;
  width: 15vw;
  height: 15vw;
  display: block;
  max-width: 80px;
  max-height: 80px;
  bottom: 20px;
  right: 20px;
  transition: 0.3s;
}
@media screen and (min-width: 501px) {
  .topbtn.up {
    bottom: 150px;
  }
}



@media screen and (max-width: 900px) {
  #news {
    width: 90%;
  }
  #news .bird {
    right: -8%;
    width: 10%;
        bottom: auto;
        top: 1rem;
  }
  #movie {
    width: 90%;
    margin-left: 10%;
  }
  #movie .bird {
    left: -8%;
    width: 10%;
  }
  #news .flex .right,
	.kittetitle_right{
    width: 6rem;
  }
	
#news .kittetitle_right{
	display: block;
}
	#news .flex > .right{
	display: none;
	}
	#news h3{
		padding: 0;
		margin: 0;
	}
  #news_movie section {
    padding: 1.5rem 1.5rem;
	  padding-top: 4rem;
    background-size: auto 2rem;
  }
  #news_movie h3 img {
    height: 3rem;
  }
	#information .flex{
		flex-direction: column;
		gap:6rem;
	}
	#information .flex .left{
		width: 100%;
	}
	#information .flex .right{
		width: 100%;
        width: 80%;
        margin: auto;
	}
	
	
.package_type .inner {
    flex-direction: column;
    align-items: flex-start;
	gap:0.5em;
}
.package_type .inner .left {
    padding: 0 1.5rem;
	width: 22%;
	}
	.package_type .inner .center,
	.package_type .inner .right{
		width: 100%;
	}
#package section .position_flex{
	width: calc(100% - 10vw);
    padding:3rem 3rem;
	  padding-top: 4rem;
        padding-top: min(9vw, 4rem);
	}
#package h4 {
	height: 10rem;
        height: min(18vw, 10rem);
        top: max(-20vw, -11rem);
	}
#package .commingsoon {
    padding-top: 4rem;
    padding-bottom: 3rem;
}
#honpendisc section > div {
    padding: 3rem;
}
#honpendisc .commingsoon {
	padding-top: calc(3rem + min(7vw,12rem));
  padding-bottom: min(7vw,12rem);
}
#honpendisc .setlist_tokyo {
    margin-left: 10vw;
}
#honpendisc section {
    box-sizing: border-box;
	width: calc(100% - 10vw);
}
	
#honpendisc .inner {
	padding-bottom: calc(10rem + 30vw);
	}
#campaign {
	margin-top: -36vw;
	}
	#campaign h3{
		background: none;
		min-height: 0;
	}
	#campaign .campaign_title_1{
		max-width: 100%;
		width: 100%;
	}
	#campaign .flex{
		flex-direction: column;
		align-items: center;
        gap: 5rem;
	}
	#campaign .flex > div{
		width: 100%;
	}
#campaign .flex > div img.and {
    width: 7rem;
    margin: auto;
    left: 0;
    right: 0;
        bottom: calc(100% - 1rem);
	top: auto;
	}
#campaign .flex > div img {
    max-width: 28rem;
    width: 60%;
}
	
.bgmikuarea{
	background-size: 100% auto;
	}
	

.shop_list_item {
    width: 50rem;
    max-width: 100%;
}
	
}
.modalbtn {
  cursor: pointer;
}
.modalbox {
  position: fixed;
  width: 100%;
  z-index: 100001;
  display: none;
  left: 0;
  bottom: 0;
  margin: auto;
  top: 0;
  bottom: 0;
  height: 100vh;
  box-sizing: border-box;
  padding: 2rem;
    padding-top: 10rem;
  background-color: rgba(0, 0, 0, 0.40);
  justify-content: center;
	align-items: flex-start;
}
.img_thumb {
  height: 300px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
}
.img_thumb img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  display: block;
  margin: auto;
}
.modal_img_container {
    display: flex;
    justify-content: center;
    max-height: calc(100% - 60px);
    max-width: 100%;
    align-items: center;
    position: relative;
    padding: 1.5rem;
	gap:1.5rem;
    padding-top: 3.5rem;
    background-color: #fff;
    border-radius: 1.5rem;
    box-sizing: border-box;
    background-image: url(../images/hasen_green.svg);
    background-repeat: repeat-x;
    background-size: auto 2rem;
    background-color: #fff;
}
.modal_inner {
	overflow: auto;
    max-height: calc(100vh - 23rem);
    display: flex;
    flex-direction: column;
    align-items: center;
}
.modal_img {
  width: auto;
  height: auto;
  max-height: calc(100vh - 240px);
  max-width: 100%;
  object-fit: contain;
}
.modal_close {
  cursor: pointer;
  width: 100%;
  background-position: right center;
  height: 5rem;
  display: block;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url("../images/close.webp");
  margin-top: 0px;
  margin-bottom: 2rem;
  max-width: 1500px;
  position: absolute;
  top: -6rem;
}



	.package_type li{
  opacity: 0;
  transform: translate(0, 10vw);
  transition: 0.4s;
	}
	.package_type li:nth-child(1){
  transition: 0.4s;
	}
	.package_type li:nth-child(2){
  transition: 0.4s 0.1s;
	}
	.package_type li:nth-child(3){
  transition: 0.4s 0.2s;
	}
	.package_type.show li{
  opacity: 1;
  transform: translate(0, 0);
}

.package_section1,
.package_section3,
.package_section5{
    transition: 1s;
    transform: translateX(-100%);
}
.package_section2,
.package_section4,
.package_section6,
.setlist_tokyo{
    transition: 1s;
    transform: translateX(100%);
}
.package_section1.show,
.package_section3.show,
.package_section5.show,
.package_section2.show,
.package_section4.show,
.package_section6.show,
.setlist_tokyo.show{
    transform: translateX(0%);
}

.shop_list_area li{
  opacity: 0;
  transform: translate(0, 10vw);
}
.shop_list_area li:nth-child(1){
  transition: 0.4s;
}
.shop_list_area li:nth-child(2){
  transition: 0.4s 0.1s;
}
.shop_list_area li:nth-child(3){
  transition: 0.4s 0.2s;
}
.shop_list_area li:nth-child(4){
  transition: 0.4s 0.3s;
}
.shop_list_area li:nth-child(5){
  transition: 0.4s 0.4s;
}
.shop_list_area li:nth-child(6){
  transition: 0.4s 0.5s;
}
.shop_list_area li:nth-child(7){
  transition: 0.4s 0.6s;
}
.shop_list_area li:nth-child(8){
  transition: 0.4s 0.7s;
}
.shop_list_area li:nth-child(9){
  transition: 0.4s 0.8s;
}
.shop_list_area li:nth-child(10){
  transition: 0.4s 0.9s;
}
.shop_list_area li:nth-child(11){
  transition: 0.4s 1.0s;
}
.shop_list_area li:nth-child(12){
  transition: 0.4s 1.1s;
}
.shop_list_area li:nth-child(13){
  transition: 0.4s 1.2s;
}
.shop_list_area li:nth-child(14){
  transition: 0.4s 1.3s;
}
.shop_list_area li:nth-child(15){
  transition: 0.4s 1.4s;
}
.shop_list_area li:nth-child(16){
  transition: 0.4s 1.5s;
}
	.shop_list_area.show li{
  opacity: 1;
  transform: translate(0, 0);
}


.pagetopbtn{
	position: fixed;
	right: 5px;
	bottom: 5px;
	width: 120px;
	display: block;
	z-index: 30;
	transition: 1s;
}

.pagetopbtn img.pagetop1{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
	margin: auto;
}
.pagetopbtn img.pagetop2{
	transform: rotate(0deg);
	animation: pagetopbtn ease 15s infinite;
}
.pagetopbtn:hover{
opacity: 0.5;}

@keyframes pagetopbtn {
  0% {
    transform: rotate(0deg);
  }
  50% {
    transform: rotate(359deg);
  }
  100% {
    transform: rotate(0deg);
  }
}