@charset "UTF-8";

body {
	overflow: hidden;
}

.manabousai {
	font-family: 'Arial', 'M PLUS 1p', sans-serif;
	font-size: 18px;
	line-height: 1.6;
	overflow: hidden;
}

.sp {
	display: none;
}



/* スクロールでフェードイン
----------------------------------------------------- */

.fadein01 {
	opacity: 0;
	transform: translateY(40px);
	transition: all 1.5s;
}

.fadein02 {
	opacity: 0;
	transform: translateY(-40px);
	transition: all 1.5s;
}

.fadein03 {
	opacity: 0;
	transform: translateY(40px);
	transition: all 1.5s;
}

.fadein04 {
	opacity: 0;
	transform: translateY(20px);
	transition: all 1s;
}

.fadein05 {
	opacity: 0;
	transform: translateX(-50px);
	transition: all 1s;
}

.fadein06 {
	opacity: 0;
	transform: translateX(50px);
	transition: all 1s;
}


/* 画面表示時のフェードイン
---------------------------------------------------------- */
.an-fadeup {
	animation-name: fadeup;
	animation-duration: 1s;
	animation-iteration-count: 1;
}

@keyframes fadeup {
	from {
		opacity: 0;
		transform: translateY(40px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}


/* カミングスーン */
.comingsoon {
	padding: 160px 0 180px;
}

.comingsoon-wrap {
	width: 80%;
	max-width: 800px;
	margin: 0 auto;
}

.anim-box.poyopoyo {
	animation: poyopoyo 2s ease-out infinite;
	opacity: 1;
}

@keyframes poyopoyo {

	0%,
	40%,
	60%,
	80% {
		transform: scale(1.0);
	}

	50%,
	70% {
		transform: scale(0.95);
	}
}

@media screen and (max-width: 1024px) {
	.comingsoon {
		padding: 80px 0 160px;
	}
}

.manabousai {
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
}

.manabousai-bottom {
	background-image: url(../img/2025/wrap-wave.png);
	background-size: 100%;
	background-position: top;
	background-repeat: no-repeat;
	position: relative;
	padding: 8% 0 0;
}

.wrap-bottom {
	position: absolute;
	width: 12%;
	right: 1%;
	top: -40%;
}

@media screen and (max-width: 1024px) {
	.manabousai-bottom {
		display: none;
	}
}



.manabousai .main {
	padding-top: 104.17%;
	background: url(../img/2025/main_back.jpg);
	background-size: cover;
	position: relative;
}

.manabousai .main h1 {
	position: absolute;
	top: 14%;
	padding-left: 2%;
}

.manabousai .main h1 img {
	display: block;
	width: 73%;
	margin: 0 auto;
}

.manabousai .main .place {
	position: absolute;
	top: 66%;
	width: 100%;
}

.manabousai .main .place img {
	display: block;
	width: 52%;
	margin: 0 auto;
}

.manabousai .main .btn_map {
	position: absolute;
	top: 85%;
	width: 100%;
}

.manabousai .main .btn_map img {
	display: block;
	width: 40%;
	margin: 0 auto;
}

.manabousai .about {
	padding: 60px 4%;
	position: relative;
}

.manabousai .about h2 {
	width: 88%;
	max-width: 640px;
	margin: 0 auto;
}

.manabousai .about .text {
	width: 64%;
	max-width: 400px;
	margin: 0 auto;
	padding: 4rem 0;
}


.manabousai .about .about03 {
	position: absolute;
	width: 12%;
	right: 3%;
	top: -14%;
}

.photo {
	background-color: #f9e72c;
	background-image:
		url(../img/2025/line.jpg),
		url(../img/2025/photo_back.png);
	background-position:
		top,
		center;
	background-repeat:
		repeat-x,
		no-repeat;
	background-size:
		auto 60px,
		100%;
	padding: 60px 2% 6%;
}

.photo .photo01 {
	max-width: 800px;
	margin: -2% auto 0;
}

.photo .photo02,
.photo .photo03 {
	max-width: 800px;
	margin: 0 auto;
}

.photo .photo04 {
	max-width: 800px;
	margin: -2% auto 0;
}

.other {
	width: 96%;
	max-width: 740px;
	margin: 30px auto 0;
	background: #fff;
	border-radius: 8px;
	padding: 2rem;
}

.other h3 {
	color: #ec6d88;
	font-size: 2.4rem;
	font-weight: bold;
}

.other ul {
	list-style: disc;
	padding: 1rem 0 1rem 2rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 4rem;
	font-size: 1.8rem;
	font-weight: bold;
}

.other span {
	color: #ec6d88;
	font-size: 2.4rem;
	font-weight: bold;
}

.garagara {
	background-color: #38a1db;
	position: relative;
	padding: 4% 4% 8%;
}

.garagara h2 {
	width: 100%;
}

.garagara h2 img {
	display: block;
	width: 100%;
	max-width: 880px;
	margin: 0 auto;
}

.garagara-wrap {
	display: flex;
	gap: 2%;
	padding-top: 6%;
}

.garagara .garagara01,
.garagara .garagara02,
.garagara .garagara03 {
	width: calc(96% / 3);
	padding-top: 0;
}

.garagara .garagara04 {
	padding-top: 3%;
	width: 92%;
	max-width: 640px;
	margin: 0 auto;
}

.sponsor {
	/*background-image: url(../img/2025/wave-bottom.png);*/
	background-size: 100%;
	background-position: top;
	background-repeat: no-repeat;
	padding: 8% 4% 0;
	position: relative;
}

.sponsor-img {
	width: 18%;
	position: absolute;
	right: 2%;
	top: -16%;
}

.sponsor-text {
	display: block;
	width: 96%;
	max-width: 600px;
	margin: 0 auto;
}

.notice {
	padding: 6% 0 8%;
}


/* モーダル表示 */
.modal {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 999;
}

.modal-bg {
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.8);
	z-index: 999;
}

.modal-content {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 80%;
	height: 80vh;
	max-width: 960px;
	z-index: 999;
}

.modal-inner {
	position: relative;
	/*background: #fff;*/
	width: 100%;
	height: 100%;
	color: #000;
	padding: 0;
	overflow-y: auto;
}

a.btn_close.js-modal-close {
	display: block;
	position: absolute;
	top: -40px;
	right: -30px;
	background: #fff;
	border-radius: 50%;
	width: 40px;
	height: 40px;
	color: #000;
	text-align: center;
	font-size: 30px;
	line-height: 40px;
	z-index: 99;
	text-decoration: none;
}

a.js-modal-open {
	display: block;
	position: relative;
	transition: 0.3s;
}

a.js-modal-open:hover.js-modal-open {
	opacity: 0.6;
}

a.js-modal-open:hover.js-modal-open.nav-modal-open {
	opacity: 1;
}


/* リード ----------------------------------------------*/
.lead_wrap {
	width: 90%;
	max-width: 960px;
	margin: 0 auto;
	text-align: center;
}

.lead_bold {
	font-size: 3rem;
	font-weight: bold;
	line-height: 2;
	padding-top: 2rem;
}

.re-radial-dot {
	background-position: top 2px left 0px;
	background-repeat: repeat-x;
	background-size: 1.0em .3em;
	background-image: radial-gradient(.15em.15em at center center, #E61919, #E61919 100%, transparent, transparent);
	padding-top: 0.6em;
}

.lead_text {
	font-size: 2.2rem;
	line-height: 1.8;
	margin-top: 30px;
}

.lead_text span {
	display: inline-block;
}

/* 昨年参加されたお客様の声 */
.voice {
	background-image: url(../img/2025/wave-bottom.png);
	background-size: 100%;
	background-position: top;
	background-repeat: no-repeat;
	padding: 8% 4% 0;
}

.title_wrap {
	width: 88%;
	max-width: 880px;
	margin: 0 auto;
	padding: 8% 0 3% 0;
}

.voice_wrap {
	width: 60%;
	max-width: 1210px;
	margin: 0 auto;
	padding: 2%;
}

@media screen and (min-width:768px) and (max-width:1009px) {

	.lead_bold {
		font-size: 36px;
	}

}

@media screen and (max-width:767px) {
	.manabousai .about {
		padding: 30px 4% 60px;
	}

	.manabousai .about .text {
		padding: 0;
	}

	.other h3 {
		font-size: 1.8rem;
	}

	.other ul {
		font-size: 1.4rem;
	}

	.other span {
		font-size: 1.8rem;
	}

	/* リード */
	.lead_bold {
		font-size: 1.8rem;
	}

	.lead_text {
		font-size: 1.4rem;
	}

	.voice_wrap {
		width: 90%;
	}
}