﻿@charset "utf-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400..900&family=Fredoka:wght@300..700&family=M+PLUS+Rounded+1c:wght@100;300;400;500;700;800;900&family=Noto+Sans+JP:wght@100..900&family=Noto+Sans+Symbols:wght@100..900&family=Nunito:ital,wght@0,200..1000;1,200..1000&family=Shippori+Mincho:wght@400;500;600;700;800&display=swap');


#top {
	background-color: var(--color-yellow);
}

h2.p01 {
	text-align: center;
	margin-bottom: 70px;
}
h2.p01 img {
	width: 745px;
}


/* ------------------------ スマートフォン ------------------------ */
@media only screen and (max-width:768px){

	h2.p01 {
		margin-bottom: 30px;
	}
	h2.p01 img {
		width: 100%;
	}

}

h3.p01 {
}

/* ------------------------ スマートフォン ------------------------ */
@media only screen and (max-width:768px){


}

.wavy-section {
	position:relative;
	padding-top: 80px;
	padding-bottom: 80px;
}
.wavy-section-top {
	position:relative;
	padding-top: 80px;
}
.wavy-section-bottom {
	position:relative;
	padding-bottom: 80px;
}
/* 上下それぞれの波コンテナ */
.wave {
	position:absolute;
	left:0; right:0;
	height: 80px;
	pointer-events:none;
}
.wave--top { top:1px; transform: translateZ(0); }
.wave--bottom { bottom:1px; transform: translateZ(0) rotate(180deg); }

.wave canvas {
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
}

.wave.wave--white canvas {
	color: #FFFFFF;
}
.wave.wave--orange canvas {
	color: var(--color-orange);
}



/* ------------------------------------------
  トップページ
--------------------------------------------- */

/*============================
#mainvisual
============================*/
#mainvisual {
	position: relative;
	overflow: hidden;
}
.mainvisual_box {
	background-color: #FFFFFF;
  background-image:
    url("../img/mainvisual-bg-l.png"), url("../img/mainvisual-bg-r.png");
  background-repeat: no-repeat, no-repeat;
  background-position:
    top left,
    top right;
	background-size: 500px;
}
#mainvisual h1 {
	width: 1400px;
	margin: 0 auto;
	padding-top: 30px;
}
#mainvisual h1 picture {
}
#mainvisual h1 picture source {
}
#mainvisual h1 picture img {
	width: 100%;
}

/* ------------------------ ブレークポイント ------------------------ */
@media only screen and (max-width:1400px){

	#mainvisual h1 {
		width: 1000px;
	}
	#mainvisual h1 picture img {
		width: 1400px;
		max-width: 1400px;
		margin-left: -200px;
	}

}

.musical-note {
  position: absolute;
  will-change: transform;
  --note-rotation: 0deg;
  --note-animation: note-float-diagonal-a;
  --note-duration: 3s;
  --note-delay: 0s;
  --note-easing: steps(1);
  animation-name: var(--note-animation);
  animation-duration: var(--note-duration);
  animation-delay: var(--note-delay);
  animation-timing-function: var(--note-easing);
  animation-iteration-count: infinite;
  animation-direction: alternate;
  animation-fill-mode: both;
}

@keyframes note-float-diagonal-a {
  0%   { transform: translate(18px, -22px) rotate(var(--note-rotation)); }
  40%  { transform: translate(4px, -6px) rotate(var(--note-rotation)); }
  70%  { transform: translate(-10px, 12px) rotate(var(--note-rotation)); }
  100% { transform: translate(-22px, 18px) rotate(var(--note-rotation)); }
}

@keyframes note-float-diagonal-b {
  0%   { transform: translate(-22px, -20px) rotate(var(--note-rotation)); }
  45%  { transform: translate(-3px, -6px) rotate(var(--note-rotation)); }
  70%  { transform: translate(6px, 9px) rotate(var(--note-rotation)); }
  100% { transform: translate(20px, 16px) rotate(var(--note-rotation)); }
}

@keyframes note-float-arc {
  0%   { transform: translate(-14px, -24px) rotate(var(--note-rotation)); }
  35%  { transform: translate(-22px, -2px) rotate(var(--note-rotation)); }
  65%  { transform: translate(16px, 10px) rotate(var(--note-rotation)); }
  100% { transform: translate(10px, -8px) rotate(var(--note-rotation)); }
}

@keyframes note-float-sway {
  0%   { transform: translate(0, -26px) rotate(var(--note-rotation)); }
  30%  { transform: translate(-18px, -6px) rotate(var(--note-rotation)); }
  60%  { transform: translate(12px, 12px) rotate(var(--note-rotation)); }
  100% { transform: translate(-6px, 6px) rotate(var(--note-rotation)); }
}

@keyframes note-float-curve {
  0%   { transform: translate(16px, -18px) rotate(var(--note-rotation)); }
  40%  { transform: translate(20px, 8px) rotate(var(--note-rotation)); }
  65%  { transform: translate(-14px, 16px) rotate(var(--note-rotation)); }
  100% { transform: translate(-8px, -4px) rotate(var(--note-rotation)); }
}

.note-mainvisual01 {
	width: 53px;
	top: 278px;
	right: calc( 50% + 575px );
	--note-rotation: 20deg;
	--note-animation: note-float-diagonal-b;
	--note-duration: 2.8s;
	--note-delay: -1.2s;
}
.note-mainvisual02 {
	width: 108px;
	top: 200px;
	left: calc( 50% + 526px );
	--note-rotation: 20deg;
	--note-animation: note-float-curve;
	--note-duration: 2.6s;
	--note-delay: -2.4s;
}
.note-mainvisual03 {
	width: 72px;
	top: 389px;
	left: calc( 50% + 107px );
	--note-rotation: 20deg;
	--note-animation: note-float-arc;
	--note-duration: 3.4s;
	--note-delay: -3.1s;
}
.note-mainvisual04 {
	width: 50px;
	top: 538px;
	left: calc( 50% + 613px );
	--note-rotation: 20deg;
	--note-animation: note-float-sway;
	--note-duration: 2.3s;
	--note-delay: -0.8s;
}
.mainvisual_ondo {
	margin-top: -200px;
}
.mainvisual_ondo_box {
	background-color: var(--color-orange);
	padding: 60px 0 80px;
}
.mainvisual_ondo_box_inner {
	width: var(--container-width);
	margin-left:auto;
	margin-right:auto;
	padding:0 20px;
	padding-right: 450px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}
.mainvisual_ondo_img {
	width: 26%;
}
.mainvisual_ondo_img img {
}
.mainvisual_ondo_text {
	width: 70%;
	color: #FFFFFF;
}
.mainvisual_ondo_text h2 {
	font-size: 23px;
	padding-bottom: 5px;
	margin-bottom: 10px;
	border-bottom: 4px dotted #FFFFFF;
}
.mainvisual_ondo_text h2 span {
	font-weight: bold;
}
.mainvisual_ondo_text h2::before {
	content: "";
	display: inline-block;
	width: 30px;
	height: 30px;
	background-image: url("../img/mikan.png");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	vertical-align: text-top;
	margin-right: 10px;
}
.mainvisual_ondo_text p {
}
.mizukinana {
	width: 461px;
	position: absolute;
	left: calc( 50% + 85px );
	bottom: 87px;
}

/* ------------------------ スマートフォン ------------------------ */
@media only screen and (max-width:768px){

	#mainvisual {
		position: relative;
		overflow: hidden;
	}
	.mainvisual_box {
		background-color: #FFFFFF;
		background-image:none;
	}
	#mainvisual h1 {
		width: 100%;
		margin: 0 auto;
		padding-top: 0;
	}
	#mainvisual h1 picture img {
		width: 100%;
	}
	#mainvisual h1 {
		width: 100%;
	}
	#mainvisual h1 picture img {
		width: 100%;
		max-width: 100%;
		margin-left: 0;
	}

	.note-mainvisual01 , .note-mainvisual02 , .note-mainvisual03 , .note-mainvisual04 {
		display: none;
	}
	.mainvisual_ondo {
		margin-top: -75px;
	}
	.mainvisual_ondo_box {
		padding: 10px 0 200px;
	}
	.mainvisual_ondo_box_inner {
		width: 100%;
		padding:0 20px;
		display: flex;
	}
	.mainvisual_ondo_img {
		width: 100%;
		text-align: center;
		order: 2;
	}
	.mainvisual_ondo_img img {
		width: 130px;
	}
	.mainvisual_ondo_text {
		width: 100%;
		order: 1;
		margin-bottom: 10px;
	}
	.mainvisual_ondo_text h2 {
		font-size: 23px;
		padding-bottom: 10px;
		margin-bottom: 15px;
		border-bottom: 4px dotted #FFFFFF;
		text-align: center;
	}
	.mainvisual_ondo_text h2 span {
		display: block;
	}
	.mainvisual_ondo_text h2::before {
		display: inline-block;
		width: 30px;
		height: 30px;
		background-image: url("../img/mikan.png");
		background-size: cover;
		background-repeat: no-repeat;
		background-position: center;
		vertical-align: text-top;
		margin: 10px auto;
	}
	.mainvisual_ondo_text p {
	}
	.mizukinana {
		display: none;
	}

}

/*============================
#campaign
============================*/
#campaign {
	margin-bottom: 0;
	background-image: url("../img/campaign-bg.png");
	background-size: 1400px auto;
	background-repeat: no-repeat;
	background-position: center 0;
}
.campaign_box {
	overflow: hidden;
	position: relative;
	height: 278px;
}
.campaign_img {
	width: 1000px;
	position: absolute;
	top: -105px;
	left: 0;
	right: 0;
	margin: auto;
}
#campaign .note-campaign01 {
	width: 74px;
	top: 190px;
	right: calc( 50% + 406px );
	--note-rotation: 20deg;
	--note-animation: note-float-arc;
	--note-duration: 3.4s;
	--note-delay: -1.7s;
}
#campaign .note-campaign02 {
	width: 60px;
	top: 114px;
	left: calc( 50% + 589px );
	--note-rotation: -20deg;
	--note-animation: note-float-diagonal-a;
	--note-duration: 2.4s;
	--note-delay: -2.3s;
}

#campaign .wave--bottom {
	bottom: -1px;
	transform: translateZ(0) rotate(0deg);
}

.mainvisual_ondo_box_nocampaign {
	padding: 29px 0 119px;
}
.movie_nocampaign {
	margin-top: -168px;
}

/* ------------------------ スマートフォン ------------------------ */
@media only screen and (max-width:768px){

	#campaign {
		margin-bottom: 0;
		background-image: url("../img/sp/campaign-bg-sp.png");
		background-size: 100% auto;
		background-position: center bottom 30px;
	}
	.campaign_box {
		overflow: hidden;
		position: relative;
		height: auto;
	}
	.campaign_box:before {
		content: "";
		display: block;
		margin-top: -221px;
		width: 100%;
		aspect-ratio: 1 / 1.35;
	}
	.campaign_img {
		width: 100%;
		position: absolute;
		top: -257px;
		left: 0;
		right: 0;
		margin: auto;
		padding: 0 20px;
	}
	#campaign .note-campaign01 {
		width: 14%;
		top: auto;
		bottom: 5%;
		right: calc( 50% + 8% );
		--note-rotation: 20deg;
		--note-animation: note-float-arc;
		--note-duration: 3.4s;
		--note-delay: -1.7s;
	}
	#campaign .note-campaign02 {
		width: 13%;
		top: auto;
		bottom: 6%;
		left: calc( 50% + 33% );
		--note-rotation: -20deg;
		--note-animation: note-float-diagonal-a;
		--note-duration: 2.4s;
		--note-delay: -2.3s;
	}
	
	.mainvisual_ondo_box_nocampaign {
		padding: 10px 0 78px;
	}
	.movie_nocampaign {
		margin-top: -145px;
	}

}



/*============================
#movie
============================*/
#movie {
	margin-bottom: 0;
	overflow: hidden;
}
.movie_box {
	background-color: #FFFFFF;
	background-image: url("../img/movie-bg.png");
	background-size: 1350px auto;
	background-repeat: no-repeat;
	background-position: calc(50% + 30px) 30px;
	padding: 60px 0;
}
#movie .inner {
}
.version {
	position: relative;
	width: 1000px;
	text-align: center;
	margin: 0 auto;

}
.version h2 {
}
.version_img {
	position: absolute;
	top: -20px;
	right: 61px;
	width: 139px;
}

.movie-slider {
}
.movie-slider .swiper-wrapper {
}
.movie-slider .swiper-wrapper .swiper-slide {
}
.movie-slider .swiper-wrapper .swiper-slide a {
}
.movie-slider .swiper-wrapper .swiper-slide a img {
}
.movie-slider .swiper-wrapper .swiper-slide a h3 {
	margin-top: 10px;
	color: #000000;
	font-weight: bold;
}
.swiper-pagination {
	margin-top: 50px;
	height: 20px;
}
.movie-slider .swiper-button-prev {
}
.movie-slider .swiper-button-next {
}
.note-movie01 {
	width: 59px;
	top: 132px;
	right: calc( 50% + 510px );
	--note-rotation: -20deg;
	--note-animation: note-float-diagonal-a;
	--note-duration: 3.2s;
	--note-delay: -1s;
}
.note-movie02 {
	width: 108px;
	top: 82px;
	left: calc( 50% + 537px );
	--note-rotation: 20deg;
	--note-animation: note-float-diagonal-b;
	--note-duration: 4.1s;
	--note-delay: -3s;
}
.note-movie03 {
	width: 50px;
	top: 462px;
	right: calc( 50% + 550px );
	--note-rotation: -20deg;
	--note-animation: note-float-curve;
	--note-duration: 3.9s;
	--note-delay: -2s;
}
.note-movie04 {
	width: 43px;
	top: 500px;
	left: calc( 50% + 582px );
	--note-rotation: -20deg;
	--note-animation: note-float-sway;
	--note-duration: 3.6s;
	--note-delay: -1.4s;
}


/* ------------------------ スマートフォン ------------------------ */
@media only screen and (max-width:768px){

	#movie {
		margin-bottom: 0;
		overflow: hidden;
	}
	.movie_box {
		background-color: #FFFFFF;
		background-image:
			url("../img/sp/movie-bg01-sp.png"), url("../img/sp/movie-bg02-sp.png");
		background-repeat: no-repeat, no-repeat;
		background-position:
			center 90px,
			center bottom;
		background-size: 
			90%,
			100%;
		padding: 20px 0 30px;
	}
	#movie .inner {
		padding: 0;
	}
	.version {
		width: 100%;
		text-align: center;
		margin-bottom: 20px;
	}
	.version h2 {
	}
	.version_img {
		position: static;
		width: 120px;
		margin-top: -15px;
	}
	.movie-slider .swiper-wrapper .swiper-slide a h3 {
		margin-top: 10px;
		color: #000000;
		font-weight: bold;
	}
	.swiper-pagination {
		margin-top: 30px;
		height: 20px;
	}
	.movie-slider .swiper-button-prev {
	}
	.movie-slider .swiper-button-next {
	}
	.note-movie01 {
		width: 9%;
		top: 25%;
		right: calc( 50% + 27% );
		--note-rotation: -20deg;
		--note-animation: note-float-diagonal-a;
		--note-duration: 3.2s;
		--note-delay: -1s;
	}
	.note-movie02 {
		width: 16%;
		top: 18%;
		left: calc( 50% + 24% );
		--note-rotation: 20deg;
		--note-animation: note-float-diagonal-b;
		--note-duration: 4.1s;
		--note-delay: -3s;
	}
	.note-movie03 {
		width: 13%;
		top: auto;
		bottom: 18%;
		right: calc( 50% + 38% );
		--note-rotation: -20deg;
		--note-animation: note-float-curve;
		--note-duration: 3.9s;
		--note-delay: -2s;
	}
	.note-movie04 {
		width: 9%;
		top: auto;
		bottom: 18%;
		left: calc( 50% + 37% );
		--note-rotation: -20deg;
		--note-animation: note-float-sway;
		--note-duration: 3.6s;
		--note-delay: -1.4s;
	}

}

.movie-slider , .dance-slider , .types-slider {
	position: relative;
	overflow: hidden;
}

/* 各スライドのスタイル */
.swiper-slide {
	text-align: center;
}
.swiper-slide img {
	max-width: 100%;
	height: auto;
}

/* --- ページネーションのスタイル --- */
.swiper-pagination {
	bottom: 20px !important;
	/* 内部のbulletを中央揃えにするため flex を利用 */
	display: flex;
	justify-content: center;
	align-items: center;
}

/* 通常のページネーションの点 */
.swiper-pagination-bullet {
	display: block; /* ご指摘の display: block を追加 */
	width: 12px;
	height: 12px;
	background-color: #fddca4; /* 画像の色味に近い薄いオレンジ */
	border-radius: 50%;
	opacity: 1;
	margin: 0 6px; /* 点と点の間隔を調整 */
	transition: all 0.3s ease; /* サイズ変更を滑らかにするアニメーション */
	position: relative;
}

/* アクティブなページネーションの点 */
.swiper-pagination-bullet-active {
	width: 20px;   /* アクティブな点は大きくする */
	height: 20px;
	background-color: var(--color-orange-light);
}

/* アクティブな点の内側の濃い円を疑似要素で作成 */
.swiper-pagination-bullet-active::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	/* 要素の中央に配置するための定型句 */
	transform: translate(-50%, -50%); 

	width: 12px; /* 内側の円のサイズ */
	height: 12px;
	background-color: var(--color-orange);
	border-radius: 50%;
}

.green .swiper-pagination-bullet-active {
	
}
.green .swiper-pagination-bullet-active::after {
	
}

/* --- 前後の矢印のスタイル --- */
.swiper-button-prev,
.swiper-button-next {
	width: 50px;
	height: 50px;
	background-color: var(--color-green);
	border-radius: 50%;
	color: white !important;
	border: 3px solid #FFFFFF;

	top: 83px;

	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	z-index: 100;
}

/* 修正点②: 矢印の位置をスライダーの外側に調整 */
.swiper-button-prev {
	left: -60px; /* コンテナの左外側に配置 */
}

.swiper-button-next {
	right: -60px; /* コンテナの右外側に配置 */
}

/* 修正点①: デフォルトのアイコンを非表示にし、テキストの「<」「>」に置き換え */
.swiper-button-prev::after,
.swiper-button-next::after {
	font-size: 24px !important;
	font-weight: bold;
}

/* 修正点①: 具体的な文字を指定 */
.swiper-button-prev::after {
	content: '<';
}
.swiper-button-next::after {
	content: '>';
}

/* ------------------------ スマートフォン ------------------------ */
@media only screen and (max-width:768px){

	.swiper-button-prev {
			left: 3px;
	}
	.swiper-button-next {
			right: 3px;
	}

}


/*============================
#dance
============================*/
#dance {
	background-image: url("../img/dance-bg.png");
	background-size: 1350px auto;
	background-repeat: no-repeat;
	background-position: calc(50% + 50px) 30px;
	margin-bottom: 0;
}
.dance_box {
	overflow: hidden;
	position: relative;
	padding-top: 80px;
	padding-bottom: 80px;
}
.kids01 {
	width: 226px;
	position: absolute;
	top: -120px;
	right: calc( 50% + 330px );
}
.mican02 {
	width: 170px;
	position: absolute;
	top: -70px;
	left: calc( 50% + 320px );
}
.relative {
	position: relative;
	z-index: 100;
}
.movie-slider-container {
	position: relative;
}
.dance-slider .swiper-wrapper {
}
.dance-slider .swiper-wrapper .swiper-slide {
	width: 400px;
}
.dance-slider .swiper-wrapper .swiper-slide .comingsoon {
}
.dance-slider .swiper-pagination {
}
.note-dance01 {
	width: 68px;
	top: 100px;
	right: calc( 50% + 592px );
	--note-rotation: 20deg;
	--note-animation: note-float-arc;
	--note-duration: 2.4s;
	--note-delay: -2.2s;
}
.note-dance02 {
	width: 68px;
	top: 100px;
	left: calc( 50% + 507px );
	--note-rotation: -20deg;
	--note-animation: note-float-sway;
	--note-duration: 3.2s;
	--note-delay: -3s;
}
.note-dance03 {
	width: 429px;
	top: 600px;
	right: calc( 50% + 180px );
	--note-animation: note-float-sway;
	--note-duration: 3.2s;
	--note-delay: -3s;
}
.note-dance04 {
	width: 429px;
	top: 600px;
	left: calc( 50% + 180px );
	--note-animation: note-float-arc;
	--note-duration: 2.4s;
	--note-delay: -2.2s;
}


/* ------------------------ スマートフォン ------------------------ */
@media only screen and (max-width:768px){

	#dance {
		background-image: url("../img/sp/dance-bg-sp.png");
		background-size: 11% auto;
		background-position: 10px 65px;
		margin-bottom: 0;
	}
	.dance_box {
		overflow: hidden;
		position: relative;
		padding-top: 30px;
		padding-bottom: 10px;
	}
	.kids01 , .mican02 {
		display: none;
	}
	.dance-slider .swiper-wrapper .swiper-slide {
		width: 100%;
	}
	.note-dance01 {
		width: 10%;
		top: 6%;
		right: calc( 50% + 31% );
		--note-rotation: 20deg;
		--note-animation: note-float-arc;
		--note-duration: 2.4s;
		--note-delay: -2.2s;
	}
	.note-dance02 {
		width: 13%;
		top: 8%;
		left: calc( 50% + 33% );
		--note-rotation: -20deg;
		--note-animation: note-float-sway;
		--note-duration: 3.2s;
		--note-delay: -3s;
	}
	.note-dance03 {
		width: 23%;
		top: auto;
		bottom: 3%;
		right: calc( 50% + 26% );
		--note-animation: note-float-sway;
		--note-duration: 3.2s;
		--note-delay: -3s;
	}
	.note-dance04 {
		width: 23%;
		top: auto;
		bottom: 3%;
		left: calc( 50% + 32% );
		--note-animation: note-float-arc;
		--note-duration: 2.4s;
		--note-delay: -2.2s;
	}

}


/*============================
#types
============================*/
#types {
	margin-bottom: 0;
	overflow: hidden;
}
.types_box {
	background-color: #FFFFFF;
  background-image:
    url("../img/types-bg01.png"), url("../img/types-bg02.png");
  background-repeat: no-repeat, no-repeat;
  background-position:
    center 30px,
    calc(50% - 50px) bottom;
	background-size:
		1290px auto,
		1380px auto;
	padding: 60px 0 130px;
}
.types-slider {
}
.types-slider .swiper-wrapper {
}
.types-slider .swiper-wrapper .swiper-slide {
	width: 600px;
}
.types-slider .swiper-wrapper .swiper-slide img {
}
.types-slider .swiper-pagination {
}
.note-types01 {
	width: 80px;
	top: 153px;
	right: calc( 50% + 450px );
	--note-rotation: 20deg;
	--note-animation: note-float-diagonal-a;
	--note-duration: 3.7s;
	--note-delay: -1.1s;
}
.note-types02 {
	width: 56px;
	top: 163px;
	left: calc( 50% + 525px );
	--note-rotation: -20deg;
	--note-animation: note-float-sway;
	--note-duration: 2.3s;
	--note-delay: -2.9s;
}
.note-types03 {
	width: 81px;
	top: 870px;
	right: calc( 50% + 546px );
	--note-rotation: -20deg;
	--note-animation: note-float-diagonal-b;
	--note-duration: 4.6s;
	--note-delay: -3.8s;
}
.note-types04 {
	width: 50px;
	top: 817px;
	left: calc( 50% + 371px );
	--note-rotation: -20deg;
	--note-animation: note-float-arc;
	--note-duration: 2.5s;
	--note-delay: -0.6s;
}
.note-types05 {
	width: 43px;
	top: 837px;
	left: calc( 50% + 529px );
	--note-rotation: 20deg;
	--note-animation: note-float-curve;
	--note-duration: 3.9s;
	--note-delay: -2.4s;
}


/* ------------------------ スマートフォン ------------------------ */
@media only screen and (max-width:768px){

	#types {
		margin-top: -100px;
		margin-bottom: 0;
	}
	.types_box {
		background-image: none;
		padding: 30px 0 30px;
	}
	.types-slider .swiper-wrapper .swiper-slide {
		width: 100%;
	}
	.note-types01 , .note-types02 , .note-types03 , .note-types04 , .note-types05 {
		display: none;
	}

}


/*============================
#calendar
============================*/

#calendar {
	background-image: url("../img/calendar-bg.jpg");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	margin-bottom: 0;
}
#calendar .wave--bottom.wave--white {
	top: -1px;
	bottom: auto;
}
#calendar .wave--bottom.wave--orange {
	bottom: -1px;
	transform: translateZ(0) rotate(0deg);
}
.scroll-sp {
	margin: 60px 0 80px;
}

.scroll-sp img {
  width: 1000px;
}

/* ------------------------ スマートフォン ------------------------ */
@media only screen and (max-width:768px){

	.scroll-sp {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		white-space: nowrap;
		margin: 10px 0 10px;
	}

	.scroll-sp img {
		width: 673px;
		max-width: none;
	}

}

/*============================
#event
============================*/
#event {
	margin-bottom: 0;
}
.event_box {
	background-color: var(--color-orange);
	padding: 60px 0 0;
	overflow: hidden;
	position: relative;
}
#event .inner {
}
.kids02 {
	width: 226px;
	position: absolute;
	top: -150px;
	left: calc( 50% + 219px );
}
#event h3.p01 {
	margin-top: 15px;
}

ul.event_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 93px 0 40px;
}
ul.event_list li {
	width: 31%;
	background-color: #FFFFFF;
	padding: 30px;
	border-radius: 30px;
}
.event_data {
	font-size: 15px;
	font-weight: bold;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	margin-bottom: 5px !important;
}
.h55 {
	height: 55px;
}
ul.event_list li p {
	font-size: 15px;
	margin-bottom: 15px;
}
ul.event_list li img {
}
.event_footer {
	text-align: center;
}
.event_footer img {
	width: 1290px;
}
.note-event01 {
	width: 133px;
	top: 45px;
	right: calc( 50% + 444px );
	--note-rotation: 10deg;
	--note-animation: note-float-arc;
	--note-duration: 4s;
	--note-delay: -1.5s;
}
.note-event02 {
	width: 60px;
	top: 116px;
	right: calc( 50% + 345px );
	--note-rotation: 10deg;
	--note-animation: note-float-diagonal-a;
	--note-duration: 2.2s;
	--note-delay: -0.9s;
}
.note-event03 {
	width: 89px;
	top: 100px;
	left: calc( 50% + 524px );
	--note-rotation: -20deg;
	--note-animation: note-float-curve;
	--note-duration: 3.3s;
	--note-delay: -2.7s;
}


/* ------------------------ スマートフォン ------------------------ */
@media only screen and (max-width:768px){

	.event_box {
		padding: 30px 0 0;
	}
	#event .inner {
	}
	.kids02 {
		display: none;
	}
	.kids02-sp {
		width: 53%;
		margin: 0 23.5%;
	}
	#event h3.p01 {
		margin-top: 15px;
	}

	ul.event_list {
		margin: 0;
	}
	ul.event_list li {
		width: 100%;
		background-color: #FFFFFF;
		padding: 30px;
		border-radius: 30px;
		margin-bottom: 20px;
	}
	.event_data {
		font-size: 16px !important;
		font-weight: bold;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		margin-bottom: 5px !important;
	}
	.h55 {
		height: auto;
		margin-bottom: 15px !important;
	}
	ul.event_list li p {
		font-size: 15px;
		margin-bottom: 15px;
	}
	ul.event_list li img {
	}
	.event_footer {
		text-align: center;
	}
	.event_footer img {
		width: 1290px;
	}
	.note-event01 {
		width: 24%;
		top: 8%;
		right: calc( 50% + 23% );
		--note-rotation: 10deg;
		--note-animation: note-float-arc;
		--note-duration: 4s;
		--note-delay: -1.5s;
	}
	.note-event02 {
		width: 11%;
		top: 12%;
		right: calc( 50% + 15% );
		--note-rotation: 10deg;
		--note-animation: note-float-diagonal-a;
		--note-duration: 2.2s;
		--note-delay: -0.9s;
	}
	.note-event03 {
		width: 23%;
		top: 5%;
		left: calc( 50% + 25% );
		--note-rotation: -20deg;
		--note-animation: note-float-curve;
		--note-duration: 3.3s;
		--note-delay: -2.7s;
	}

}


h3.p01 {
	color: var(--color-orange);
	font-size: 23px;
	font-weight: bold;
	margin-bottom: 15px;
	position: relative;
	padding-left: 40px;
	line-height: 1.3;
}
h3.p01::before {
	content: "";
	display: inline-block;
	width: 30px;
	height: 30px;
	background-image: url("../img/mikan.png");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	vertical-align: text-top;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	margin: auto;
}
h3.p01 span {
	display: block;
	font-size: 12px;
	font-weight: 600;
	position: absolute;
	top: -15px;
	right: 0;
}
h4.p01 {
	position: relative;
	color: #FFFFFF;
	background-color: var(--color-orange);
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 5px;
	text-align: center;
	border-radius: 30px;
}
h4.p01.note {
}
h4.p01.note::before {
	content: "";
	display: inline-block;
	width: 25px;
	height: 36px;
	background-image: url("../img/musical-note-1-yellow.png");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	vertical-align: text-top;
	position: absolute;
	top: -5px;
	left: 10px;
	transform: rotate(-5deg);
}
h4.p01.note::after {
	content: "";
	display: inline-block;
	width: 35px;
	height: 32px;
	background-image: url("../img/musical-note-2-yellow.png");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	vertical-align: text-top;
	position: absolute;
	top: 5px;
	right: 0;
	transform: rotate(10deg);
}


/* ------------------------ スマートフォン ------------------------ */
@media only screen and (max-width:768px){

	h3.p01 {
		color: var(--color-orange);
		font-size: 23px;
		font-weight: bold;
		margin-bottom: 15px;
		position: relative;
		padding-left: 40px;
		line-height: 1.3;
	}
	h3.p01::before {
		content: "";
		display: inline-block;
		width: 30px;
		height: 30px;
		background-image: url("../img/mikan.png");
		background-size: cover;
		background-repeat: no-repeat;
		background-position: center;
		vertical-align: text-top;
		position: absolute;
		top: 0;
		left: 0;
		bottom: 0;
		margin: auto;
	}
	h3.p01 span {
		display: block;
		font-size: 12px;
		font-weight: 600;
		position: absolute;
		top: -15px;
		right: 0;
	}
	h4.p01 {
		position: relative;
		color: #FFFFFF;
		background-color: var(--color-orange);
		font-size: 16px;
		font-weight: bold;
		margin-bottom: 5px;
		text-align: center;
		border-radius: 30px;
	}
	h4.p01.note {
	}
	h4.p01.note::before {
		content: "";
		display: inline-block;
		width: 25px;
		height: 36px;
		background-image: url("../img/musical-note-1-yellow.png");
		background-size: cover;
		background-repeat: no-repeat;
		background-position: center;
		vertical-align: text-top;
		position: absolute;
		top: -5px;
		left: 10px;
		transform: rotate(-5deg);
	}
	h4.p01.note::after {
		content: "";
		display: inline-block;
		width: 35px;
		height: 32px;
		background-image: url("../img/musical-note-2-yellow.png");
		background-size: cover;
		background-repeat: no-repeat;
		background-position: center;
		vertical-align: text-top;
		position: absolute;
		top: 5px;
		right: 0;
		transform: rotate(10deg);
	}

}





/* ------------------------------------------
  下層ページ
--------------------------------------------- */

#pageheader h2{
	font-size: 35px;
  width: 1100px;
  margin: 0 auto;
	text-align: center;
	font-weight: bold;
  padding: 40px 0 50px;
  border-bottom: 1px solid #000000;
  margin-bottom: 40px;
}


/* ------------------------ スマートフォン ------------------------ */
@media only screen and (max-width:768px){

	#pageheader{
		margin-bottom: 30px;
	}
	#pageheader h2{
		font-size: 20px;
		width: 100%;
		padding: 75px 0 30px;
		margin-bottom: 0;
	}
		

}





