@charset "UTF-8";
body.menu_open{
    overflow:hidden;
}

/*ヘッダー*/
.header{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	padding:30px 20px;
	display:flex;
	align-items: center;
	gap:30px;
	z-index:9998;
}
.header .header_logo img{
    max-width:180px;
    width:100%;
}
.header_sns a {
	display: inline-block;
}
.header_sns img{
	width:100%;
	max-width:45px;
}
@media (any-hover: hover){
	.header_sns a:hover{
		transform:translateY(-5px);
	}
}

/*メニュー*/
.menu_btn{
	position:fixed;
	top:30px;
	right:20px;
	width:90px;
	height:40px;
	border:1px solid #000;
	border-radius:50px;
	background:#fff;
	cursor: pointer;
	z-index:9999;
	display:flex;
	flex-direction: column;
	justify-content: center;
	gap:8px;
	padding:0 30px;
}
.menu_btn span{
	display:block;
	width:100%;
	height:1px;
	background:#000;
	transition:all .6s;
}
.menu_btn.active span:first-child{
    transform:rotate(25deg);
}
.menu_btn.active span:last-child{
    transform:rotate(-25deg);
    margin-top:-9px;
}
.menu_list{
	position:fixed;
	top:0;
	right:-100%;
	width:auto;
	max-width:calc(100% - 40px);
	/*height:calc(100vh - 40px);*/
	background:#FFF8DA;
	border:1px solid #000;
	border-radius:20px;
	padding:80px 40px 40px;
	z-index:9998;
	transition:all .6s;
}
.menu_list.active{
    right:0;
}
.menu_list ul li{
	display:flex;
	align-items: center;
	min-height:50px;
	border-bottom:2px dashed #000;
}
.menu_list ul li img{
	width:70%;
	height:auto;
	display:block;
}
.menu_list ul li a{
	position:relative;
	padding:15px;
	display:flex;
	align-items:center;
	width:100%;
}
.menu_list ul li a::after{
	content:"";
	position:absolute;
	top:50%;
	right:20px;
	width:36px;
	height:36px;
	background-image:url(../images/arrow_bk.svg);
	background-repeat:no-repeat;
	background-size:16px 12px;
	background-color:var(--yellow);
	border:1px solid #000;
	border-radius:50px;
	transform:translateY(-50%);
	background-position:center center;
	transition:all .3s;
}
@media (any-hover: hover){
	.menu_list ul li a:hover::after{
		right:12px;
	}
}
.menu_sub{
	display:flex;
	gap:1em;
	margin:20px 0;
}
.menu_sub a{
	position:relative;
	display:inline-block;
}
.menu_sub a::after{
	content:"";
	position:absolute;
	left:0;
	bottom:-3px;
	width:100%;
	height:1px;
	background:#0e2247;
	transform:scaleX(0);
	transform-origin:left center;
	transition:all .3s;
}
@media (any-hover: hover){
	.menu_sub a:hover::after{
		transform:scaleX(1);
	}
}
.menu_sns{
	display:flex;
}
.menu_sns p img{
	max-width:45px;
}
@media (any-hover: hover){
	.menu_sns p a:hover{
		opacity:.6;
	}
}
body.menu_open{
	overflow:hidden;
}
.menu_overlay{
    position:fixed;
    inset:0;
    backdrop-filter:blur(5px);
    opacity:0;
    visibility:hidden;
    transition:.4s;
    z-index:999;
}
.menu_overlay.active{
    opacity:1;
    visibility:visible;
}
/*メインエリアぼかし*/
.header,
.main,
.footer{
    transition: .4s;
}
.header.menu-blur,
.main.menu-blur,
.footer.menu-blur{
    filter: blur(2px);
}

/*メインビジュアル*/
.mv{
	/*padding:0 20px;
	margin-top:50px;*/
	width:100%;
	height:100svh;
	position:relative;
	display:flex;
	align-items: center;
	justify-content: center;
}
.mv_inner{
	width:100%;
	height:100%;
	position:relative;
	display:flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.mv_ttl{
	position:absolute;
	top:auto;
	left:0;
	text-align: center;
	width:100%;
	padding:0 20px;
	z-index:2;
}
.mv_ttl img{
	width: 100%;
	max-width:860px;
}
.mv_swiper{
	width:100%;
	height:100%;
}
.mv_swiper .swiper-slide{
	width:100%;
	height:100%;
}
.mv_swiper .swiper-slide img{
	width:100%;
	height:100%;
	object-fit: cover;
	filter: brightness(0.95);
}

/*キャッチコピー*/
.copy{
	background:var(--green);
	padding:10px 0;
	border-radius:50px 0 50px 0;
}
.copy_img{
	background:#fff;
	border:1px solid #000;
	border-radius:50px 0 50px 0;
	text-align: center;
	padding:40px;
}
.copy_img img{
	width:100%;
	max-width:1100px;
}

/*スケジュール*/
.schedule{
	background:var(--sky);
	padding:100px 40px;
}
.schedule_inner{
	width:100%;
	max-width:1200px;
	margin:0 auto;
}
.ttl{
	text-align: center;
	margin-bottom:50px;
}
.ttl img{
	width:100%;
	max-width:350px;
}

.schedule_list{
	display:flex;
	justify-content: center;
	gap:5vw;
}
.schedule_item{
	background:#fff;
	border-radius:5px;
	padding:40px;
	width:100%;
	max-width:500px;
}
/*.date{
	background:var(--orange);
	padding:20px 40px;
	border-radius:5px;
	width:100%;
	max-width:max-content;
	margin:0 auto;
}*/
.date p{
	text-align: center;
	font-weight:900;
	font-size:1.8em;
	line-height: 1;
	letter-spacing: -0.03em;
}
.date p span{
	font-size:2em;
}
.schedule_item ul{
	margin-top:25px;
}
.schedule_item ul li{
	display:flex;
	justify-content: space-between;
	align-items: center;
	font-weight:900;
	text-align: center;
	border-top:2px dashed var(--gray);
	border-bottom:2px dashed var(--gray);
	margin-bottom:-2px;
	padding:10px 20px;
}
.schedule_item ul li p{
	font-size:1.2em;
}
.schedule_num{
	background:var(--blue);
	border:1px solid #000;
	border-radius:50px;
	display:inline-flex;
	width:40px;
	height:40px;
	aspect-ratio: 1 / 1;
	color:#fff;
	-webkit-text-stroke: 0.8px #000;
	justify-content: center;
	align-items: center;
	font-size:1.2em;
	line-height: 1;
	margin-right:20px;
	font-family: 'Zen Kaku Gothic New', sans-serif;
}
.check_in{
	font-size:.8em;
}
.schedule_txt_wrapper{
	width:100%;
	max-width:675px;
	margin:80px auto 0;
}
.schedule_txt{
	margin-bottom:20px;
}
.period{
	background:#fff;
	border-radius:5px;
	width:100%;
	max-width:900px;
	margin:0 auto;
}
.period p{
	text-align: center;
	font-weight:900;
	padding:30px 50px;
	display:flex;
	justify-content: center;
	align-items: center;
	gap:3vw;
	font-size:1.2em;
}
/*.period p span{
	background:var(--orange);
	border-radius:5px;
	padding:15px 40px;
	font-size:.9em !important;
}*/
.app_btn{
	background:var(--yellow);
	border:1px solid #000;
	width: 100%;
	max-width:max-content;
	margin:40px auto 0;
	box-shadow: 0 5px 0 #000;
	border-radius:50px;
	transition:all .3s;
}
.app_btn a{
	display:block;
	width:100%;
	height:100%;
	position:relative;
	padding:30px 70px;
	font-weight:900;
	transition:all .3s;
}
.app_btn a::after{
	content:"";
	position:absolute;
	top:50%;
	right:15px;
	transform:translateY(-50%);
	background:url(../images/arrow_bk.svg);
	background-repeat:no-repeat;
	width:30px;
	height:22px;
	background-size:contain;
	transition:all .3s;
}
.end{
	text-align: center;
	margin:40px auto 0;
	font-weight:900;
}

.result{
	text-align: center;
	margin-top:20px;
}
.result_btn{
	width:fit-content;
	margin:0 auto;
	background:#0e2247;
	border-radius: 50px;
	transition:all .3s;
}
.result_btn a{
	color:#fff;
	display:block;
	width:100%;
	height:100%;
	padding:20px 30px;
}
@media (any-hover: hover){
	.result_btn:hover{
		background:#fff;
	}
	.result_btn:hover a{
		color:#0e2247;
	}
}

/*モーダル表示*/
.modal {
	position: fixed;
	inset: 0;
	z-index: 10000;
	opacity: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	visibility: hidden;
	pointer-events: none;
	transition: all .3s;
}
.modal.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}
.modal_bg {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .55);
	backdrop-filter:blur(8px);
	-webkit-backdrop-filter:blur(8px);
}
.modal_content {
	position: relative;
	width: min(92%, 760px);
	padding: 28px 20px;
	background: #fff;
	border-radius: 8px;
	overflow: visible;
	box-sizing: border-box;
}
.modal_body{
	max-height:calc(75vh - 180px);
	overflow-y:auto;
	overflow-x: hidden;
	padding-right:8px;
}
.modal_close {
	position: absolute;
	top: -20px;
	right: -18px;
	width: 40px;
	height: 40px;
	border: 0;
	background: #0e2247;
	color: #fff;
	z-index: 10000;
	font-size: 2.5em;
	line-height: 1;
	cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius:50px;
}
.modal_content h2 {
	margin: 0 0 24px;
	font-size: 24px;
	line-height: 1.4;
}
.modal_body h3 {
	margin: 24px 0 10px;
	font-size: 1.2em;
	border-bottom:1px solid #0e2247;
}
.modal_body ul {
	margin: 0;
	padding-left:2em;
}
.modal_body li {
	line-height: 1.7;
	position:relative;
	padding-left:1em;
}
.modal_body li::before{
	content:"";
	position:absolute;
	top:10px;
	left:0;
	width:10px;
	height:10px;
	aspect-ratio: 1 / 1;
	background:#0e2247;
	border-radius:50px;
}
.modal_body p {
	line-height: 1.7;
}
.modal_footer {
	margin-top:50px;
	text-align: center;
}
.modal_apply_btn {
	display: inline-block;
	padding: 14px 28px;
	background: var(--yellow);
	color: #000;
	border: 2px solid #000;
	border-radius: 999px;
	font-weight: 700;
	text-decoration: none;
}
/*モーダル表示ここまで*/

.important{
	text-align: center;
	margin-top:40px;
}
.important a{
	text-decoration: underline;
	text-underline-offset: 5px;
	font-weight:900;
}

@media (any-hover: hover){
	.app_btn:hover{
		transform:translateY(5px);
		box-shadow: none;
	}
	.app_btn a:hover::after{
		right:10px;
	}
	.important a:hover{
		opacity:.6;
	}
}

/*VRバナー*/
.vr_banner{
	width:100%;
	max-width:1200px;
	margin:0 auto;
}
.vr_bn_img{
	text-align: center;
	padding:40px;
}
.vr_bn_img img{
	box-shadow: 4px 4px 10px rgba(0,0,0,0.5);
}
@media (any-hover: hover){
	.vr_bn_img a:hover{
		opacity:.6;
	}
}

/*お知らせ*/
.news{
	padding:100px 40px;
}
.news_inner{
	width:100%;
	max-width:1100px;
	margin:0 auto;
}
.news_list_wrapper{
	background:#fff;
	border-radius:5px;
	padding:60px;
}
.news_list li{
	border-top:1px solid #000;
	border-bottom:1px solid #000;
	margin-bottom:-1px;
}
.news_list li a{
	display:flex;
	align-items: center;
	gap:2em;
	padding:30px 80px 30px 30px;
	position:relative;
}
.news_ttl{
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	width: 100%;
}
.news_list li a::after{
	content:"";
	position:absolute;
	top:50%;
	right:20px;
	transform:translateY(-50%);
	width:50px;
	height:50px;
	background-color:var(--yellow);
	border:1px solid #000;
	border-radius:50px;
	background-image:url(../images/arrow_bk.svg);
	background-repeat:no-repeat;
	background-size:22px 15px;
	background-position:center center;
	transition:all .3s;
}
@media (any-hover: hover){
	.news_list li a:hover::after{
		right:10px;
	}
}

/*アクセス*/
.access{
	background:#fff;
	padding:100px 40px;
	/*background-image:
        radial-gradient(
            circle,
            rgba(0,0,0,.12) 1px,
            transparent 1px
        );
    background-size: 28px 28px;*/
}
.access_inner{
	width:100%;
	max-width:900px;
	margin:0 auto;
}
.access_content{
	display:flex;
	justify-content: center;
	gap:6vw;
}
.map_img{
	width:50%;
}
.access_txt{
	flex:1;
}
.access_txt p{
	font-weight:900;
	margin-bottom:30px;
}
.red{
	color:#eb1717;
}
.detail_btn{
	background:var(--yellow);
	border:1px solid #000;
	width: 100%;
	max-width:280px;
	box-shadow: 0 5px 0 #000;
	border-radius:50px;
	transition:all .3s;
}
.detail_btn a{
	display:block;
	width:100%;
	height:100%;
	position:relative;
	padding:30px 70px;
	font-weight:900;
	text-align: center;
	transition:all .3s;
}
.detail_btn a::after{
	content:"";
	position:absolute;
	top:50%;
	right:15px;
	transform:translateY(-50%);
	background:url(../images/arrow_bk.svg);
	background-repeat:no-repeat;
	width:30px;
	height:22px;
	background-size:contain;
	transition:all .3s;
}
@media (any-hover: hover){
	.detail_btn:hover{
		transform:translateY(5px);
		box-shadow: none;
	}
	.detail_btn a:hover::after{
		right:10px;
	}
}

/*プログラム*/
.program{
	padding:100px 40px;
}
.program_inner{
	max-width:1000px;
	width:100%;
	margin:0 auto;
}
.program_list{
	display:flex;
	gap:20px;
}
.program_item{
	width:100%;
	max-width:calc(100% / 3);
	background:#fff;
	padding:20px;
	border-radius:5px;
}
.program_ttl{
	font-size:1.5em;
	text-align: center;
	margin-bottom:20px;
	font-weight:900;
}
/*.program_ttl .program_num{
	border:1px solid #000;
	border-radius:50px;
	display:inline-flex;
	width:45px;
	height:45px;
	aspect-ratio: 1 / 1;
	color:#fff;
	-webkit-text-stroke: 1px #000;
	justify-content: center;
	align-items: center;
	line-height: 1;
	font-size:1.1em;
	font-weight:900;
	margin-right:20px;
}
.program_ttl .program_num01,
.program_ttl .program_num06{
	background:var(--blue);
}
.program_ttl .program_num02,
.program_ttl .program_num07{
	background:var(--pink);
}
.program_ttl .program_num03{
	background:var(--green);
}
.program_ttl .program_num04{
	background:var(--yellow);
}
.program_ttl .program_num05{
	background:var(--orange);
}*/
.program_ttl07 .program_num07{
	font-size:1.3em;
}
.program_img{
	aspect-ratio: 3 / 2;
	max-width:280px;
}
.program_img img{
	width:100%;
	height:100%;
	object-fit: cover;
}
.program_item p{
	margin-top:20px;
}
.program_02{
	background:#fff;
	border-radius:5px;
	padding:20px;
	margin:30px 0;
}
.program_02_inner{
	display:flex;
	align-items: flex-start;
	gap:100px;
}
.program_02_left .program_ttl{
	justify-content: flex-start;
}
.program_02_left{
	width:30%;
	position:sticky;
	top:20px;
	left:0;
}
.program_02_left p{
	margin-bottom:30px;
}
.program_02_right{
	flex:1;
	/*height:400px;
	overflow-y: auto;
	scrollbar-width:none;*/
}
/*.program_02_right::-webkit-scrollbar{
	width:0;
}
.program_02_right::-webkit-scrollbar-track{
	background:transparent;
}
.program_02_right::-webkit-scrollbar-thumb{
	background:#999;
	border-radius:50px;
}
@media (any-hover: hover){
	.program_02_right:hover{
		scrollbar-width:thin;
	}
}*/
.program_02_right p{
	font-weight:400;
	margin-bottom:30px;
	text-decoration: underline;
	text-underline-offset: 5px;
}
.course{
	margin-bottom:30px;
}
.course h4{
	font-weight:900;
	font-size:1.2em;
	padding-bottom:7px;
	margin-bottom:20px;
}
.course01 h4{
	border-bottom:2px dashed var(--blue);
}
.course02 h4{
	border-bottom:2px dashed var(--pink);
}
.course03 h4{
	border-bottom:2px dashed var(--green);
}
.course ul li{
	position:relative;
	padding-left:1em;
	line-height: 1.7;
}
.course ul li::before{
	content:"";
	position:absolute;
	top:7px;
	left:0;
	width:10px;
	height:10px;
	aspect-ratio: 1 / 1;
	border:1px solid #000;
	border-radius:50px;
}
.course01 ul li::before{
	background:var(--blue);
}
.course02 ul li::before{
	background:var(--pink);
}
.course03 ul li::before{
	background:var(--green);
}

/*昨年度の様子*/
.state{
	margin-top:100px;
}
.state h1{
	text-align: center;
	margin-bottom:30px;
}
.state h1 img{
	height:50px;
}
.state_loop{
    overflow:hidden;
    width:100%;
}
.state_loop_track{
    display:flex;
    width:max-content;
    gap:20px;
    animation:loop 60s linear infinite;
}
.state_loop_img{
    flex-shrink:0;
    width:min(350px, 45vw);
	aspect-ratio: 350 / 400;
}
.state_loop_img img{
    width:100%;
	height:100%;
	object-fit: cover;
    display:block;
}
@keyframes loop{
    from{
        transform:translateX(0);
    }
    to{
        transform:translateX(calc(-50% - 10px));
    }
}

/*来場者プレゼント*/
.present{
	padding:100px 40px;
}
.present_inner{
	width:100%;
	max-width:900px;
	margin:0 auto;
	background:#fff;
	border:1px solid #000;
	border-radius:5px;
	padding: 80px 20px;
}
.present_img{
	text-align: center;
}
.present_img img{
	width:100%;
	max-width:400px;
}
.present_inner p{
	text-align: center;
	margin-top:30px;
	text-decoration: underline;
	text-underline-offset: 5px;
	font-size:1.2em;
}
.present_note{
	width:100%;
	max-width:900px;
	margin:10px auto 0;
}


/*参加者の声*/
.voice{
	padding:100px 0;
	background:#dbfff0;
}
.voice_inner{
	width:100%;
	max-width:1400px;
	margin:0 auto;
}
.voice_wrapper{
	margin-top:80px;
}
.voice_swiper{
    padding:80px 0;
	overflow: visible !important;
	position:relative;
}
.voice_swiper .swiper-wrapper{
	align-items: center;
}
.voice_swiper .swiper-slide{
	height:auto;
    /*aspect-ratio:1 / 1;*/
	/*width: clamp(260px, 24vw, 380px) !important;*/
}
.voice_card{
	width:100%;
	height:100%;
	padding:15px 30px;
	border:2px solid #000;
	border-radius:10px;
	background:#fff;
	display:flex;
	flex-direction:column;
	justify-content: center;
	gap:1vw;
	transition:.5s ease;
	transform:scale(.75);
	filter: brightness(0.8);
}
/* メインだけ大きく */
.swiper-slide-active .voice_card{
	transform:scale(1);
	filter:none;
}
.pink .voice_card{
	border-color:var(--pink);
}
.yellow .voice_card{
	border-color:var(--yellow);
}
.green .voice_card{
	border-color:var(--green);
}
.orange .voice_card{
	border-color:var(--orange);
}
.blue .voice_card{
	border-color:var(--blue);
}
/*矢印*/
.swiper-button-prev,
.swiper-button-next{
	position:absolute;
	width:70px !important;
	height:70px !important;
	border:1px solid #000;
	border-radius:50%;
	background:var(--yellow);
	top:50%;
	transition:all .3s;
}
.swiper-button-prev{
	left:32% !important;
	right:auto;
}
.swiper-button-next{
	right:32% !important;
	left:auto;
}
.swiper-button-prev::before,
.swiper-button-next::before{
	content:"";
	position:absolute;
	top:50%;
	left:50%;
	width:30px;
	height:25px;
	background-image:url(../images/arrow_bk.svg);
	background-repeat:no-repeat;
	background-size:contain;
	background-position:center center;
}
.swiper-button-prev::before{
	transform:translate(-50%,-50%) rotate(-180deg);
}
.swiper-button-next::before{
	transform:translate(-50%,-50%);
}
@media (any-hover: hover){
	.swiper-button-prev:hover{
		transform:translateX(-5px);
	}
	.swiper-button-next:hover{
		transform:translateX(5px);
	}
}
.voice_card .voice_ttl{
	font-weight:900;
	font-size:1.5em;
}
.voice_card p{
	font-weight:500;
}
.voice_card small{
	font-weight:500;
	font-size:.9em;
	text-align: center;
}
.voice_ttl_img{
	text-align: center;
	margin-bottom:20px;
}
.voice_ttl_img img{
	height:50px;
}

/*インタビュー*/
.interview_inner{
	background:#bee8ff;
	padding:150px 40px 80px;
}
.interview_wrapper{
	width:100%;
	display:flex;
	justify-content: center;
	gap:80px;
}
.pc_no{
	display:none;
}
.pc_no2{
	display:none;
}
.ttl_in{
	position:relative;
	max-width:fit-content;
}
.ttl_in::before{
	content:"";
	position:absolute;
	top:-60px;
	left:0;
	width:100%;
	max-width:350px;
	height:2px;
	background:#333;
	transform:rotate(10deg);
	transform-origin:left center;
}
.ttl_in::after{
	content:"";
	position:absolute;
	bottom:-5px;
	right:0;
	width:100%;
	max-width:350px;
	height:2px;
	background:#333;
	transform:rotate(-10deg);
	transform-origin:right center;
}
.ttl_in img{
	width:100%;
	max-width:350px;
}
.movie_wrapper{
	display:flex;
	gap:15px;
}
.movie_box{
	aspect-ratio: 4 / 3;
	max-width:300px;
	position:relative;
}
.movie_box video{
	width:100%;
	height:100%;
	object-fit:cover;
}
.movie_area p{
	margin-top:50px;
	font-size:.9em;
}
.movie_box01::before{
	content:"";
	position:absolute;
	top:-25px;
	left:0;
	background-image:url(../images/movie_01.png);
	background-repeat:no-repeat;
	background-size: contain;
	width:100%;
	height:50px;
}
.movie_box02::before{
	content:"";
	position:absolute;
	top:-25px;
	left:0;
	background-image:url(../images/movie_02.png);
	background-repeat:no-repeat;
	background-size: contain;
	width:100%;
	height:50px;
}
.movie_box03::before{
	content:"";
	position:absolute;
	top:-25px;
	left:0;
	background-image:url(../images/movie_03.png);
	background-repeat:no-repeat;
	background-size: contain;
	width:100%;
	height:50px;
}

/*メッセージ*/
.message{
	padding:100px 40px;
}
.message_inner{
	width:100%;
	max-width:750px;
	margin:0 auto;
	background:#fff;
	border:1px solid #000;
	border-radius:5px;
	padding:80px 20px;
}
.message_img{
	text-align: center;
}
@media (any-hover: hover){
	.message_img a:hover{
		opacity:.6;
	}
}

/*club*/
.club{
	padding:100px 40px;
	background:#fff;
}
.detail_btn2{
	margin:50px auto 0;
}
.club_loop{
    overflow:hidden;
    width:100%;
	margin-top:60px;
}
.club_loop_track{
    display:flex;
    width:max-content;
    gap:20px;
    animation:loop 30s linear infinite;
}
.club_loop_img{
    flex-shrink:0;
    width:min(230px, 35vw);
	aspect-ratio: 230 / 300;
	border:1px solid #000;
}
.club_loop_img img{
    width:100%;
	height:100%;
	object-fit: cover;
    display:block;
}

/*その他*/
.other{
	background-color:#dbfff0;
	background-image:
		linear-gradient(
			to right,
			rgba(0,0,0,.03) 1px,
			transparent 1px
		),
		linear-gradient(
			to bottom,
			rgba(0,0,0,.03) 1px,
			transparent 1px
		);
	background-size:24px 24px;
	padding:100px 40px;
}
/*sns*/
/*.sns_link ul{
	display:flex;
	justify-content: center;
	align-items: center;
	gap:40px;
	margin-top:120px;
}
.sns_comment{
	position:relative;
}
.sns_comment::before{
	content:"";
	position:absolute;
	top:-90px;
	left:-125px;
	width:100%;
	max-width:230px;
	height:100%;
	background-image:url(../images/sns_comment.svg);
	background-repeat:no-repeat;
	background-size:contain;
}
.sns_link ul li{
	width:100%;
	max-width:200px;
	aspect-ratio: 1 / 1;
	border:1px solid #000;
	background:#fff;
	border-radius:20px;
	display:flex;
	align-items: center;
	justify-content: center;
}
.sns_link ul li a{
	display:flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	padding:20px;
	width:100%;
	height:100%;
}
@media (any-hover: hover){
	.sns_link ul li a:hover img{
		transform:translateY(-5px);
	}
}
.sns_link ul li a p{
	font-size:1.2em;
	font-weight:900;
}
.sns_link ul li img{
	width:100%;
	max-width: 70px;
	aspect-ratio: 1 / 1;
}*/

/*注意事項*/
.note{
	padding-bottom:100px;
}
.note_inner{
	width:100%;
	max-width:1000px;
	margin:0 auto;
}
.note_inner h1{
	text-align: center;
	margin-bottom:30px;
}
.note_inner h1 img{
	height:50px;
}
.note_list_wrapper{
	background:#fff;
	border:1px solid #000;
	border-radius:5px;
	padding:60px;
}
.note_list_wrapper ul{
	display:flex;
	flex-direction: column;
	gap:45px;
}
.note_list_wrapper ul li{
	display:flex;
	align-items: center;
	gap:1.5em;
}
.note_list_wrapper ul li img{
	width:100%;
	max-width:48px;
	aspect-ratio: 48 / 50;
}
/*よくある質問*/
.faq_inner{
	width:100%;
	max-width:1000px;
	margin:0 auto;
}
.faq_inner h1{
	text-align: center;
	margin-bottom:30px;
}
.faq_inner h1 img{
	height:50px;
}
.faq_item .faq_img{
	width:100%;
	max-width:60px;
	aspect-ratio: 1 / 1;
}
.faq_item{
	margin-bottom:30px;
	border-radius:5px;
	background:#f5f5f5;
	box-shadow:0 6px 0 #000;
	overflow:hidden;
}
.faq_q{
	padding:20px 30px;
	display:flex;
	align-items:center;
	gap:20px;
	cursor:pointer;
}
.faq_q p{
	flex:1;
	font-size:1.2em;
	font-weight:900;
	line-height:1.5;
}
.faq_btn{
	width:40px;
	height:40px;
	border:1px solid #000;
	border-radius:50%;
	background:var(--yellow);
	position:relative;
	flex-shrink:0;
	cursor:pointer;
}
.faq_btn::before{
	content:"";
	position:absolute;
	top:50%;
	left:50%;
	width:15px;
	height:17px;
	background-image:url(../images/arrow_bk.svg);
	background-repeat:no-repeat;
	background-size: contain;
	background-position: center center;
	transform:translate(-50%,-50%) rotate(90deg);
	transition:transform .3s ease;
}
.faq_a{
	max-height:0;
	overflow:hidden;
	transition:max-height .4s ease;
}
.faq_a_inner{
	padding:0 30px 20px;
	display:flex;
	gap:20px;
	align-items:center;
}
.faq_a_inner p{
	font-size:1.1em;
}
.faq_item.active .faq_btn::before{
	transform:translate(-50%,-50%) rotate(-90deg);
}
.faq_a_inner ul li{

}

/*個人情報の取り扱い*/
.privacy{
	padding:40px;
}
.privacy_inner{
	width:100%;
	max-width:1200px;
	margin:0 auto;
	text-align: center;
}
.privacy_inner h1{
	margin-bottom:30px;
}
.privacy_inner h1 img{
	height:50px;
}
.privacy_link a{
	font-weight:700;
	text-decoration: underline;
	text-underline-offset: 5px;
}
@media (any-hover:hover){
	.privacy_link a:hover{
		opacity:.6;
	}
}

/*キャッチコピー2*/
.copy_img2 img{
	width:100%;
	max-width:700px;
}

/*フッター*/
.footer{
	background:var(--sky);
	border-radius:50px 50px 0 0;
	padding:60px 40px 20px;
}
.footer_inner{
	display:flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
}
.footer_inner h1{
	margin-bottom:50px;
}
.footer_inner h1 img{
	width:100%;
	max-width:490px;
}
.contact p{
	font-weight:900;
	margin-bottom:10px;
}
.contact_mail{
	background:#fff;
	padding:20px 40px;
	font-size:1.1em;
	border:1px solid #000;
	border-radius:50px;
	font-weight:900;
	white-space: nowrap;
}
.footer small{
	margin-top:60px;
}

.fixed_area{
	position:fixed;
	right:20px;
	bottom:20px;
	z-index:9998;
	display:flex;
	flex-direction:column;
	gap:15px;
	opacity:0;
	visibility:hidden;
	transform:translateY(20px);
	transition:all .3s;
}
.fixed_area.show{
	opacity:1;
	visibility:visible;
	transform:translateY(0);
}
.fixed_btn01{
	background:var(--yellow);
	border:1px solid #000;
	border-radius:50px;
	font-weight:900;
	box-shadow: 0 3px 0 #000;
	transition:all .3s;
}
.fixed_btn01 a{
	padding:15px 30px;
	display:block;
	position:relative;
	font-size:.9em;
	letter-spacing: -0.08em;
}
.fixed_btn01 a::after{
	content:"";
	position:absolute;
	top:50%;
	right:8px;
	width:17px;
	height:15px;
	transform:translateY(-50%);
	background-image:url(../images/arrow_bk.svg);
	background-repeat:no-repeat;
	background-size:contain;
	background-position: center center;
}
.page_top{
	background:none;
	border:none;
	cursor:pointer;
	transition: all .3s;
}
.page_top img{
	width:100%;
	max-width:90px;
}
@media (any-hover:hover){
	.fixed_btn01:hover,
	.page_top:hover{
		transform:translateY(-5px);
	}
}

/*アニメーション*/
.poyon {
    opacity: 0;
    transform: scale(0.8) translateY(20px);
    transform-origin: center center;
}
.poyon.is-active {
    animation: poyon-bounce 0.8s cubic-bezier(.34, 1.56, .64, 1) forwards;
	animation-delay: var(--delay, 0s);
}
@keyframes poyon-bounce {
    0% {
        opacity: 0;
        transform: scale(0.8) translateY(20px);
    }
    50% {
        opacity: 1;
        transform: scale(1.15) translateY(-12px);
    }
    70% {
        transform: scale(0.95) translateY(3px);
    }
    85% {
        transform: scale(1.03) translateY(-2px);
    }
    100% {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

.fade-in {
    opacity: 0;
    transform: translateY(30px);
}
.fade-in.is-active {
    animation: fadeInUp 0.8s ease forwards;
	animation-delay: var(--delay, 0s);
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}