@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;
}
#sns a{
	display: block;
	margin-bottom: 20px;
}
#sns a img{ 
	transition: 0.5s;
}
#sns a:hover img{
	opacity: 0.6;
}
.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: 0;
}
p:last-child {
  margin-bottom: 0;
}
.inline_block {
  display: inline-block;
  *display: inline;
  *zoom: 1;
}
img{
	display: block;
}
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;
	
}
.dspn{
	display: none;
}
.maincopy{
	font-size:1.3rem;
	font-weight: 700;
	color: #3D3D3D;
	padding: 20px;
}


.fixbg{
	width: 100vw;
	height: 100vh;
	overflow: hidden;
	position: fixed;
	background: #ffffa3;
	background: linear-gradient(180deg,rgba(255, 255, 128, 1) 52%, rgba(170, 216, 208, 1) 100%);
}
.parts1{
	position: fixed;
	width: 600px;
	top: -130px;
	left: -250px;
}

.parts2{
	position: fixed;
	width: 500px;
	bottom: -130px;
	right: -250px;
}
.parts3{
	position: fixed;
    width: 700px;
    top: 13%;
    right: 7%;
    opacity: 0.6;
}
header{
	height: 70px;
    display: block;
    background: #fe4696;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100;
}
section#hiruyoru{
	padding-top: 5px;
}
section#midnight{
	padding-top: 5px;
}
section#hiruyoru .inner{
	padding: 30px;
}
section#midnight .inner{
	padding: 30px;
}
section#notes .inner{
	padding: 30px;
}
a.cvyoyaku{
	display: block;
	margin-bottom: 80px;
	transition: 0.3s;
}
a.cvyoyaku:hover{
	opacity: 0.5;
}
h3{
	
}
.cardwrap{
	display: flex;
	flex-wrap: wrap;
	gap:20px;
	margin-bottom: 20px;
}
.cardwrap .card{
	width: calc(50% - 10px);
	background: #ffffff;
	border-radius: 10px;
	box-shadow: 4px 4px 0px 0px rgba(0, 0, 0, 1);
}
.cardwrap .card h5{
	background: #f9d566;
	border-radius: 10px 10px 0 0 ;
	padding: 10px;
	text-align: center;
	color: #2a306a;
	font-weight: 700;
	font-size: 17px;
}

#midnight .cardwrap .card h5{
	background: #ff6cb0;
	color: #ffffff;
	
}
.cardwrap .card dl{
	display: flex;padding: 10px;
	justify-content: space-between;
}
.cardwrap .card dl dt{
	width: 40%;
}
.cardwrap .card dl dd{
	width: 58%;
	text-align: center;
}
.cardwrap .card dl dd h6{
	color: #ff4696;
	font-weight: 700;
	line-height: 1.1;
	margin-bottom: 0.5rem;
}
.cardwrap .card dl dd h6 span{
	font-size:0.6em;
}
.cardwrap .card dl dd p{
	color: #292929;
	font-size:0.7rem;
	margin-bottom:  0.5rem;
}
.cardwrap .card dl dd p.btn{
	background: #ffffff;
	border:2px solid #ff4696;
	color: #ff4696;
	display: block;
	border-radius: 100px;
	width: 4rem;
	text-align: center;
	margin: auto;
	margin-bottom: 0;
	cursor: pointer;
	transition: 0.5s;
}
.cardwrap .card dl dd p.btn:hover{
	background: #ff4696;
	border:2px solid #ff4696;
	color: #ffffff;
}
h4.pst-hiruyoru{
	height: 40px;
	background: #2a306a;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	font-size: 1.2rem;
	color: #ffffff;
	padding-left: 10px;
	width: 200px;
	position: relative;
	margin-top: 4rem;
	margin-bottom: 1rem;
}
h4.pst-hiruyoru.long{
	width: 300px;
}
h4.pst-hiruyoru:after{
	content: "";
	background: url("../images/hf-hiruyoru.svg");
	height: 40px;
	width: 70px;
	position: absolute;
	right: -68px;
	background-repeat: no-repeat;
}
h4.pst-midnight{
	height: 40px;
	background: #6755e8;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	font-size: 1.2rem;
	color: #ffffff;
	padding-left: 10px;
	width: 200px;
	position: relative;
	margin-top: 4rem;
	margin-bottom: 1rem;
}
h4.pst-midnight.long{
	width: 300px;
}
h4.pst-midnight:after{
	content: "";
	background: url("../images/hf-midnight.svg");
	height: 40px;
	width: 70px;
	position: absolute;
	right: -68px;
	background-repeat: no-repeat;
}
.eventtitle{
	margin-top: 2em;
}
header{
	
}
.spbtn{
position: absolute;
    right: 20px;
    top: 22px;
    width: 30px;
	cursor: pointer;
}

.headerlogo{
	display: block;
    /* height: 60px; */
    width: 120px;
    margin-top: 4px;
    margin-left: 5px;
}
.headerlogo img{
	width: 100%;
}
.maincontents{
	position: relative;
	z-index: 4;
	background: #ffffff;
	max-width: 600px;
	width: 100%;
	margin: auto;
	box-sizing: border-box;
	top: 70px;
	/*box-shadow: 0px 0px 10px 10px rgba(255, 255, 255, 0.80);*/
}
.modalinner .flex{
	display: flex;
	justify-content: space-between;
}
.modalinner .flex .item{
	width: 40%;
	font-size:16px;
}
.modalinner .flex .item:last-child{
	width: 58%;
}

@media screen and (max-width: 600px) {
	.modalinner .flex{
	display:block;}
	.modalinner .flex .item{
	width: 100%;margin-bottom: 1em;}
.modalinner .flex .item:last-child{
	width: 100%;}
}
	
.modalinner .flex .item img{
	width: 100%;
}
.modalouter h3{
	background: #ff6aaf;
    padding: 5px 10px;
    color: #ffffff;
    font-weight: 900;
    font-size: 21px;
    border-radius: 5px;
    margin-bottom: 1em;
}
.modalouter h5{
	color: #ff6aaf;
	font-size: 18px;
	font-weight: 800;
	margin-bottom: 0.5em;
}
.modalouter p{
	font-size:14px;
	line-height: 1.5;
	margin-bottom: 0.5em;
}
section img{
	width: 100%;
}
section#hiruyoru{
	background-image: linear-gradient(124deg, rgba(255, 108, 176, 1), rgba(253, 190, 85, 1));
	 color: #ffffff;
	background: #ff6cb0;
	padding-top: 30px;
	background:url("../images/pinkbg.jpg");
}
section#midnight{
	background: linear-gradient(124deg,rgba(42, 48, 106, 1) 0%, rgba(83, 176, 254, 1) 100%);
	background: #2a306a;
    color: #ffffff;
	padding-top: 30px;
	background:url("../images/bluebg.jpg");
}
.tuijyu{
	position: fixed;
	z-index: 20;
	right: 2vw;
	bottom: 2vw;
	width: 16vw;
}
.tuijyu a img{
	width: 100%;
}
@media screen and (min-width: 600px) {
	.tuijyu{
	right: 10px;
	bottom: 10px;
	width: 100px;
}
}
.saisoku{
	width: 80%;
	display: block;
	margin: auto;
	margin-top: 50px;
}
.newslist{
	background: url("../images/news-waku.svg");
	width: 90%;
	background-repeat: no-repeat;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: auto;
	aspect-ratio: 16 / 10;
	box-sizing: border-box;
	position: relative;
	margin-top: 160px;
}
.newslist .pst-news{
	width: 80%;
	
	aspect-ratio: 16 / 9;
	overflow-y: scroll;
	
}
.notes{
	max-width: 150px;
	width: 40%;
	text-align: center;
	margin: auto;
	display: block;
	margin-bottom: 2rem;
}
#notes{
	font-size:0.8rem;
}
h3.note{
	color:#ffff80;
	font-weight: 800;
	font-size:1em;
	margin-top: 2em;
	margin-bottom: 0.7em;
}
p.note{
	font-size:0.8em;
}
.flowerstand{
	background: #e93c88;
	overflow-y: scroll;
	height: 13em;
	padding: 1em;
	font-size: 0.8em;
}
.flowerstand h4{
	color: #ffff80;
    font-weight: 800;
    font-size: 1.0em;
    margin-top: 1em;
    margin-bottom: 0;
	
}
.pst-news a{
	text-decoration: none;
	color: #2E2E2E;
}
.pst-news li{
	position: relative;
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
	border-bottom: 1px solid #cccccc;
}
.pst-news p.date{
	font-size:0.7rem;
	color: #727272;
	height: 30px;
	width: 100px;
	padding-top: 4px;
}

.pst-news li p.cat{
	font-size: 0.7rem;
    background: #6755e8;
    color: #ffffff;
    padding: 1px 3px;
    display: inline-block;
    position: absolute;
    left: 100px;
    top: 12px;
    height: 20px;
}
.pst-news li:nth-child(odd) p.cat{
    background: #ff6cb0;
}
.pst-news li p.text{
	font-size:1rem;
	font-weight: 800;
	color: #6755e8;
	line-height: 1.2;
}
.pst-news li:nth-child(odd) p.text{
	color: #ff6cb0;
}
.newsfukidashi{
	position: absolute;
    top: -22%;
    left: 0;
    width: 52%;
}
.youtube{
	width: 84%;
    aspect-ratio: 16 / 10;
    box-sizing: border-box;
    position: relative;
    margin: auto;
    border-radius: 20px;
    overflow: hidden;
    border: 10px solid #3cd2af;
	margin-top: -30px;
    z-index: 1;
}
.ytfukidashi{
    width: 40%;
	position: relative;
	z-index: 3;
	margin-left: 53%;
	margin-top: 60px;
}
.overview{
	width: 100%;
	overflow: hidden;
	padding-top: 34%;
	position: relative;
	 
}




.overview div.inner{
	background: #3bd2ae;
	color: #ffffff;
	font-size:5vw;
	font-weight: 800;
	font-style: italic;
	text-align: center;
	line-height: 1.4;
	padding-top: 0;
	padding-bottom: 0.3em;
	width: 120%;
	transform: rotate(-7deg);
	position: absolute;
	left: -12%;
	margin: auto;
	top: 20%;
}
.scrolltext{
	position: absolute;
    font-weight: 900;
    font-size: 17vw;
    width: 350vw;
    line-height: 0;
    top: 8.5vw;
    opacity: 0.1;
    letter-spacing: 1vw;
	animation: 20s linear 0s infinite mojinagare;
	animation-direction: normal;
	margin-left: 108vw;
}
@keyframes mojinagare {
  from {
   margin-left: 108vw;
  }
  to {
   margin-left: -338vw;
  }
}
@keyframes mojinagare2 {
  from {
   margin-left: 664px;
  }
  to {
   margin-left: -2816px;
  }
}
.overview div.inner strong{
	font-size:8vw;
	font-weight: 800;
	font-style: italic;
	display: block;
}
@media screen and (min-width: 600px) {
	.overview div.inner{font-size:30px;}
	.overview div.inner strong{font-size:48px;}
	.scrolltext{
		font-size: 130px;
        margin-left: 664px;
        top: 51px;
        width: 3400px;
        letter-spacing: 15px;
		animation: 20s linear 0s infinite mojinagare2;
	animation-direction: normal;
	}
}
.pst-tab{
	display: flex;
	width: 80%;
	margin: auto;
	align-items: flex-end;
	position: relative;
	margin-top: 60px;
}
.pst-tab > div{
	cursor: pointer;
}
.pst-tab .tab_hiruyoru{
	margin-right:-5px; 
	position: relative;
	z-index: 5;
}
.pst-tab .tab_midnight{
	margin-left:-5px; 
	position: relative;
	z-index: 1;
}
.pst-tab .tab_hiruyoru.active{
	z-index: 10;
}
.pst-tab .tab_midnight.active{
	z-index: 10;
}

table{
	border-left: 1px solid #ffffff;
	border-top: 1px solid #ffffff;
	width: 100%;
	margin-top: 20px;
}
th,td{
	border-right: 1px solid #ffffff;
	border-bottom: 1px solid #ffffff;
	padding: 10px;
	text-align: center;
	width: 50%;
	color: #ffffff;
	vertical-align: middle;
}
th{
	background: #ff4696;
}
#midnight th{
	background: #4b7adb;
}

.sasie{
	margin-bottom: 60px;
}
.syusai{
	border-top:3px solid #ffffff;
	border-bottom: 3px solid #ffffff;
	padding-top: 20px;
	padding-bottom: 20px;
	text-align: center;
	margin-top: 3rem;
	margin-bottom: 5rem;
	
}
section#sns{
	padding: 30px;
	box-sizing: border-box;
	text-align: center;
}
footer{
	background: #2a306a;
	width: 100%;
	color: #ffffff;
	padding: 30px;
	box-sizing: border-box;
	text-align: center;
	font-size:3.3vw;
}
@media screen and (min-width: 600px) {
	footer{
		font-size:18px;
	}
}
.modalbtn{
	cursor: pointer;
}
.youtube{
 
}
.youtube iframe{
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
/*モーダル*/
.modalouter {
	position: fixed;
	width: 100%;
	z-index: 100001;
	display: none;
	left: 0;
	bottom: 0;
	margin: auto;
	top: 0;
	bottom: 0;
	box-sizing: border-box;
	align-items: center;
	height: 100vh;
	padding: 30px;
	background-color: rgba(0,0,0,0.40);
	flex-direction: column;
    justify-content: flex-start;
    padding-top: 90px;
}
.modalbox {
	display: none;
	max-width: 800px;
	width: 100%;
	background-color:#FFFFFF;
	border-radius: 15px;
	padding: 20px;
	max-height: calc(100vh - 80px);
	box-sizing: border-box;
	flex-direction: column;
	position: relative;
}
.modalinner{
	overflow: auto;
	width: 100%;
}
.modal_close {
	width: 100%;
	background-position: right center;
	display: block;
	background-size: contain;
	background-repeat: no-repeat;
	background-image: url(../images/close-btn.png);
    width: 40px;
    height: 40px;
    cursor: pointer;
    right: -20px;
    top: -20px;
    position: absolute;
	
}

/*モーダル*/

@media screen and (min-width: 600px) {
	html{
		font-size:18px;
	}
}
@media screen and (max-width: 600px) {
html{
		font-size:14px;
	}
	h4.pst-hiruyoru,h4.pst-midnight{
	width: 150px;
}
	h4.pst-hiruyoru.long,h4.pst-midnight.long{
	width: 230px;
}
	.newslist{
	margin-top: 80px;
}
	.cardwrap .card{width: 100%;}
	.cardwrap .card dl dt{width: 30%;}
	.cardwrap .card dl dd{width: 68%;}
	.cardwrap .card dl dd p{font-size:1.1rem;}
	.cardwrap .card dl dd h6{font-size:1.3rem;}
}
@media screen and (max-width: 500px) {

}
@media screen and (max-width: 400px) {

}

.note_list{
	list-style: disc;
	padding-left: 1.5em;
	font-size:0.8em;
}
.note_list li{
	margin-bottom: 0.5em;
}


.spmenu{
		background-color: rgba(0,0,0,0.50);
		height: 100vh;
		position: fixed;
		width: 100%;
		top: 0;
		height: 100vh;
		left: 0;
		background-color: rgba(0,0,0,0.50);
		z-index: 90;
		cursor: pointer;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	flex-direction: column;
}
.spmenu_inner{
    position: relative;
    top: 0;
    margin: 0;
	overflow:auto;
	z-index: 910;
    left: 0;
    right: 0;
    top: 0px;
	background: #2a306a;
    box-sizing: border-box;
	padding: 15px;
    gap: 15px;
	padding-top: 20px;
	padding-top: 110px;
	padding-bottom: 40px;
	width: 100%;
	align-items: center;
	justify-content: flex-start;
	flex-direction: column;
    border-bottom: 3px solid #fe4696;
	background-image: url("../images/bgpattern4.svg");
	background-position: top 40px center;
	background-size: auto 120%;
	background-repeat: no-repeat;
}
.spmenu,
.spmenu_inner{
	display:none;
}

.spmenu_contents{
	display: flex;
	flex-wrap: wrap;
    max-width: 540px;
    margin: auto;
}
.spmenu_contents a{
  font-weight: 800;
	color: #fff;
	text-decoration: none;
	display: block;
	margin-bottom: 10px;
	font-size: 18px;
}
.spmenu_midnight a.menu_child,
.spmenu_hiruyoru a.menu_child{
	background-size: 0.6em;
	background-repeat: no-repeat;
	background-position: left center;
	padding-left: 1em;
    padding-bottom: 2px;
	width: 100%;
	font-weight: 500;
}
.spmenu_hiruyoru a{
	color: #fe4696;
}
.spmenu_hiruyoru a.menu_child{
	color: #fe4696;
	background-image: url("../images/arrow-p.svg");
}
.spmenu_midnight a{
	color: #3fa9f5;
}
.spmenu_midnight a.menu_child{
	color: #3fa9f5;
	background-image: url("../images/arrow-b.svg");
}
a[href^="tel:"] {
  color: inherit !important;
  text-decoration: none !important;
  pointer-events: none !important;
}

@media screen and (min-width: 601px) {

.spmenu_hiruyoru{
  order: 4;
	width: 50%;
}
.spmenu_midnight{
  order: 5;	
	width: 50%;
}
.spmenu_contents {
	gap: 30px;
	column-gap: 0;
	}
.spmenu_contents a{
	width: calc(25%);
	}
.spmenu_midnight a,
.spmenu_hiruyoru a{
	width: 100%;
	margin-bottom: 10px;
	}
.spmenu_midnight a:last-child,
	.spmenu_hiruyoru a:last-child{
	margin-bottom: 0px;
	}
}
@media screen and (max-width: 600px) {
	.spmenu_inner{
		background-size: 120% auto;
	background-position: top 90px center;
	}
	.spmenu_contents {
		flex-direction: column;
        max-width: 400px;
		margin: auto;
	}
}

.kurumaisu{
	font-size: 0.8em;
}
#kv{
	transition: 0.3s;
}


.type_fade {
	opacity: 0;
	transform: translate(0, 50px);
	transition: 0.3s;
}
.type_fade.show {
	opacity: 1;
	transform: translate(0, 0);
}

.type_fade_child{
	opacity: 0;
	transform: translate(0, 50px);
}
.type_fade_child:nth-child(1){
	transition: 0.2s;
}
.type_fade_child:nth-child(2){
	transition: 0.2s 0.1s;
}
.type_fade_child:nth-child(3){
	transition: 0.2s 0.2s;
}
.type_fade_child:nth-child(4){
	transition: 0.2s 0.3s;
}
.type_fade_child:nth-child(5){
	transition: 0.2s 0.4s;
}
.type_fade_child:nth-child(6){
	transition: 0.2s 0.6s;
}
.type_fade_child:nth-child(7){
	transition: 0.2s 0.8s;
}
.show > .type_fade_child{
	opacity: 1;
	transform: translate(0, 0);
}