@charset "UTF-8";

@font-face {
	font-family: "Senobi Gothic";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url('./../webfonts/Senobi-Gothic-Medium.woff');
}

@font-face {
	font-family: "Senobi Gothic";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('./../webfonts/Senobi-Gothic-Bold.woff');
}

body{
	font-family: 'Noto Sans JP', sans-serif;
}

.ff_sg{
	font-family: "Senobi Gothic";
}

@media print, screen and (min-width: 768px){
body{
	min-width: 1250px;
}

.pc_none{
	display: none;
}

.header2024 .logo{
	width: 243px;
	margin-right: 20px;
}

.header2024 .qr{
	display: block;
	box-sizing: border-box;
	padding: 25px 15px;
	height: 100%;
	background: linear-gradient(to right, #31bbde 0%, #0087c6 100%);
	color: #fff;
	font-size: 18px;
	order: 3;
	word-break: keep-all;
}

.header2024 .btn{
	padding: 25px 45px 25px 25px;
	margin-left: 0;
	order: 4;
}

.header2024 .g-nav{
	margin-right: 15px;
}

.header2024 .g-nav ul li + li{
	padding-left: 10px;
	margin-left: 10px;
}

@media print, screen and (max-width: 1460px){
	.header .g-nav ul li a{
		font-size: 12px;
	}

	.header2024 .qr,
	.header2024 .btn{
		font-size: 14px;
	}

}



.kv2024{
	box-sizing: border-box;
	height: 1030px;
	padding-top: 131px;
	background: url("./../../images/top_bg01.jpg") center center/cover no-repeat;
	color: #fff;
	font-weight: 500;
	text-align: center;
	line-height: 1;
}

.kv2024_title01{
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 68px;
}

.kv2024_title01 span{
	font-size: 93px;
}

.kv2024_title02{
	margin-bottom: 10px;
	font-size: 158px;
	letter-spacing: -0.15em;
}

.kv2024_title02 span{
	letter-spacing: -0.3em;
}

.kv2024_title03{
	margin-bottom: 10px;
	font-size: 68px;
	letter-spacing: -0.1em;
}

.kv2024_title03 span{
	letter-spacing: -0.15em;
}

.kv2024_text01{
	margin-bottom: 30px;
	font-size: 34px;
	font-weight: 700;
}

.kv2024_day{
	font-size: 158px;
	letter-spacing: -0.1em;
}

.kv2024_text02{
	margin-top: 60px;
	font-size: 20px;
	font-weight: 700;
}


/* 20240205 追加01 */

.kv2024_02{
	position: relative;
	height: auto;
	padding: 110px 0 40px;
}

.kv2024_02 .kv2024_title01{
	font-size: 52px;
}

.kv2024_02 .kv2024_title01 span{
	font-size: 71px;
}

.kv2024_02 .kv2024_title02{
	font-size: 120px;
}

.kv2024_02 .kv2024_title03{
	font-size: 59px;
}

.kv2024_02 .kv2024_text01{
	margin-bottom: 20px;
	font-size: 31px;
}

.kv2024_02 .kv2024_text02{
	margin: 0 0 10px;
}

.kv2024_flex{
	display: flex;
	justify-content: space-between;
	width: 1080px;
	margin: 0 auto;
}

.kv2024_flexbox{
	position: relative;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 520px;
	padding: 5px 20px 60px;
	border-radius: 20px;
	background: #fff;
	color: #000;
}

.kv2024_flexbox01{
	position: absolute;
	top: -10px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	justify-content: center;
	align-items: center;
	width: 163px;
	height: 53px;
	background: #6a2366;
	color: #fff;
	font-size: 26px;
	font-weight: 900;
}

.kv2024_flexbox02{
	box-sizing: border-box;
	width: 100%;
	padding: 0 10px;
	margin-bottom: 15px;
}

.kv2024_flexbox02 span{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 131px;
	height: 35px;
	border-radius: 20px;
	margin-left: auto;
	background: #fff100;
	color: #6a2366;
	font-size: 29px;
	font-weight: 900;
}

.kv2024_flextitle{
	position: relative;
	margin-bottom: 15px;
	font-size: 23px;
	font-weight: 700;
	line-height: 1.3;
	text-align: left;
}

.kv2024_flextitle_date{
	position: absolute;
	left: 50%;
	bottom: -38px;
	transform: translateX(-50%);
	display: block;
	width: 360px;
	padding: 1px 0 3px;
	border: 1px #6a2366 solid;
	background: #fff000;
	color: #6a2366;
	font-size: 22px;
	font-weight: 700;
	text-align: center;
}

.kv2024_fleximg{
	display: flex;
	margin: 0 auto 12px;
}

.kv2024_fleximg img{
	width: 230px;
}

.kv2024_flexbox03{
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	border: 1px #6a2366 solid;
	font-size: 19px;
}

.kv2024_flexbox03_title{
	box-sizing: border-box;
	width: 100%;
	padding: 2px 10px 6px;
	background: #6a2366;
	color: #fff;
}

.kv2024_flexbox03_list{
	padding: 4px 10px 8px;
	font-size: 17px;
	text-align: left;
}

.kv2024_flexbox_l .kv2024_flexbox03_list{
	display: flex;
	flex-wrap: wrap;
}

.kv2024_flexbox03_list li{
	position: relative;
	padding-left: 1.2em;
}

.kv2024_flexbox03_list li:before{
	position: absolute;
	left: 0;
	content: url("./../../images/kv2024_check.svg");
	width: 18px;
}

.kv2024_flexbox03_list li:not(:last-child){
	margin-bottom: 6px;
}

.kv2024_flexbox_l .kv2024_flexbox03_list li:first-child{
	margin-right: 1em;
}

.kv2024_flexlink{
	position: absolute;
	left: 50%;
	bottom: -25px;
	transform: translateX(-50%);
	display: flex;
	justify-content: center;
	align-items: center;
}

.kv2024_flexlink > div{
	border-radius: 36px;
	background: #fff;
	transition: 0.3s;
}

.kv2024_flexlink > div:hover{
	transform: translateY(5px);
}

.kv2024_flexlink01{
	margin-right: 10px;
}

.kv2024_flexlink a,
.kv2024_flexlink button{
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 240px;
	height: 72px;
	border-radius: 36px;
	box-shadow: 7px 7px 5px rgba(0, 0, 0, 0.12);
	font-size: 26px;
	font-weight: 900;
	transition: 0.3s;
	cursor: pointer;
}

.kv2024_flexlink a:hover{
	box-shadow: 0 0 0 transparent;
	opacity: 0.7;
}

.kv2024_flexlink01 a{
	border: 4px #6a2366 solid;
	background: #fff;
	color: #6a2366;
}

.kv2024_flexlink02 a,
.kv2024_flexlink02 button{
	border: none;
	background: linear-gradient(to right, #584c96 0%, #6a2366 100%);
	color: #fff;
}

/* 20240205 追加01 end */





.top_repo2024{
	height: 777px;
	background: url("./../../images/top_bg02.jpg") center center/cover no-repeat;
}

.top_repo2024_box{
	position: relative;
	top: -200px;
	box-sizing: border-box;
	width: 1186px;
	padding: 15px 35px 60px;
	border-radius: 20px;
	margin: 0 auto 46px;
	background: #fff;
	box-shadow: 5px 5px 7px rgba(0, 0, 0, 0.28);
}

.top_repo2024_text{
	margin-bottom: 30px;
	color: #6a2366;
	font-size: 45px;
	font-weight: 700;
	text-align: center;
	letter-spacing: -0.1em;
	line-height: 1.3;
}

.history__wrap2024{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 50px 10.5px;
}

.history__item2024 a{
	display: block;
}

.top_mail{
	position: relative;
	top: -200px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	box-sizing: border-box;
	width: 913px;
	height: 138px;
	padding: 0 35px 0 40px;
	border-radius: 20px;
	margin: 0 auto;
	background: #fff;
}

.top_mail_l{
	display: flex;
	align-items: center;
}

.top_mail_l01{
	margin-right: 20px;
}

.top_mail_l02{
	font-size: 22px;
	font-weight: 700;
	line-height: 1.3;
}

.top_mail_r a{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 240px;
	height: 70px;
	border-radius: 35px;
	background: linear-gradient(to right, #f0b025 0%, #f49410 100%);
	color: #fff;
	font-weight: 900;
	box-shadow: 7px 7px 5px rgba(0, 0, 0, 0.12);
	transition: 0.3s;
}
.top_mail_r a:hover{
	box-shadow: 0 0 0 transparent;
	opacity: 0.8;
	transform: translateY(5px);
}

.top_repo2024 + .bg-wh{
	padding-top: 100px;
}

/* 20240205 追加02 */

.top2024_section01{
	padding: 23px 0 68px;
	background: url("./../../images/top_sec01_bg.jpg") center top/cover repeat-Y;
}

.top2024_section01 .top_mail{
	top: 0;
	margin-bottom: 35px;
}

.top2024_tabbutton{
	display: flex;
	justify-content: center;
	align-items: center;
	list-style-type: none;
	margin-bottom: 40px;
}

.top2024_tabbutton li{
	border-radius: 36px;
	background: #fff;
	transition: 0.3s;
}

.top2024_tabbutton li:hover{
	transform: translateY(5px);
}

.top2024_tabbutton01{
	margin-right: 60px;
}

.top2024_tabbutton li > span{
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 486px;
	height: 67px;
	border-radius: 36px;
	box-shadow: 7px 7px 5px rgba(0, 0, 0, 0.12);
	font-size: 31px;
	font-weight: 900;
	transition: 0.3s;
	cursor: pointer;
}

.top2024_tabbutton li > span:hover{
	box-shadow: 0 0 0 transparent;
	opacity: 0.7;
}

.top2024_tabbutton01 > span{
	border: 4px #6a2366 solid;
	background: #fff;
	color: #6a2366;
}

.top2024_tabbutton02 > span{
	background: linear-gradient(to right, #584c96 0%, #6a2366 100%);
	color: #fff;
}

.top2024_tabbutton li > span span{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 131px;
	height: 35px;
	border-radius: 20px;
	margin-left: 15px;
	background: #fff100;
	color: #6a2366;
	font-size: 28px;
}



.top2024_tabarea_wrap{
	padding-top: 120px;
	margin-top: -120px;
}

.top2024_tabarea_wrap input{
	display: none;
}

.top2024_tabarea{
	box-sizing: border-box;
	display: none;
	width: 1078px;
	padding: 15px 130px 35px;
	border: 4px #6a2366 solid;
	border-radius: 20px;
	margin: 0 auto;
	background: #fff;
}

#for1:checked + .top2024_tabarea,
#for2:checked + .top2024_tabarea{
	display: block;
}

.top2024_tabarea01{
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 15px;
	color: #6a2366;
	font-size: 31px;
	font-weight: 900;
}

.top2024_tabarea01 span{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 131px;
	height: 35px;
	border-radius: 20px;
	margin-left: 15px;
	background: #fff100;
	font-size: 28px;
}

.top2024_tabarea_title01{
	margin-bottom: 30px;
	color: #6a2366;
	font-size: 45px;
	line-height: 1.2;
}

#tab2 .top2024_tabarea_title01{
	margin-bottom: 10px;
}

.top2024_movie{
	margin-bottom: 30px;
}

.top2024_movie01{
	margin-bottom: 20px;
}

.top2024_movie_img img{
	width: 100%;
}

.top2024_movie_title{
	font-size: 16px;
	font-weight: 700;
}

.top2024_movie02{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 20px;
}

.top2024_tabarea_title02{
	color: #6a2366;
	font-size: 23px;
	font-weight: 500;
	line-height: 1.3;
}

#tab2 .top2024_tabarea_title02{
	margin-bottom: 20px;
}

.top2024_tabbox01{
	position: relative;
	padding: 40px 0 50px;
	border-top: 2px #6a2366 solid;
}

.top2024_tabbox01.on_title{
	padding-top: 10px;
}

.top2024_tabbox01_number{
	position: absolute;
	top: 0;
	left: 0;
	transform: translateY(-50%);
	padding: 0 30px 6px 0;
	background: #fff;
	color: #6a2366;
	font-size: 15px;
	line-height: 1;
}

.top2024_tabbox01_title03{
	margin-bottom: 10px;
	color: #6a2366;
	font-size: 26px;
	font-weight: 500;
}

.top2024_tabflex{
	display: flex;
}

.top2024_tabflex:not(:last-child){
	margin-bottom: 25px;
}

.top2024_tabflex_l{
	position: relative;
	width: 324px;
	margin-right: 55px;
	color: #6a2366;
	flex-shrink: 0;
}

.top2024_tabflex_img{
	position: relative;
	margin-bottom: 5px;
}

.top2024_tabflex_img:after{
	position: absolute;
	top: 0;
	right: -28px;
	content: "";
	height: 100%;
	border-right: 2px #cdcdcd solid;
}

.top2024_tabflex_img img{
	width: 100%;
	vertical-align: bottom;
}

.top2024_tabflex_cpn{
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}

.top2024_tabflex_cname{
	font-size: 16px;
	font-weight: 500;
	text-align: left;
}

.top2024_tabflex_pn{
	display: flex;
	justify-content: flex-end;
	align-items: baseline;
	font-weight: 500;
}

.top2024_tabflex_position{
	margin-right: 10px;
	font-size: 16px;
}

.top2024_tabflex_name{
	font-size: 26px;
	flex-shrink: 0;
}

.top2024_tabflex_name span{
	padding-left: 0.2em;
	font-size: 18px;
}

.top2024_tabflex_link{
	font-size: 16px;
	text-align: right;
}

.top2024_tabflex_r{
	font-weight: 500;
}


.top2024_tabbox01_title01{
	margin-bottom: 15px;
	color: #6a2366;
	font-size: 28px;
	font-weight: 500;
}

.top2024_tabbox01_semdl dl{
	display: flex;
	font-size: 18px;
	font-weight: 500;
}

.top2024_tabbox01_semdl dt{
	margin-right: 1em;
}


.top2024_tabbox01_title02{
	margin-bottom: 15px;
	color: #6a2366;
	font-size: 28px;
	font-weight: 700;
	text-align: center;
}

.top2024_tabarea_icon{
	margin-bottom: 15px;
	text-align: center;
}

.top2024_tabarea_text01{
	margin-bottom: 30px;
	font-size: 18px;
	font-weight: 500;
}

.top2024_tabarea_link a{
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 500px;
	height: 68px;
	border: 4px #6a2366 solid;
	border-radius: 36px;
	margin: 0 auto;
	background: #fff;
	box-shadow: 7px 7px 5px rgba(0, 0, 0, 0.12);
	color: #6a2366;
	font-size: 31px;
	font-weight: 900;
	transition: 0.3s;
}

.top2024_tabarea_link a:hover{
	box-shadow: 0 0 0 transparent;
	opacity: 0.7;
	transform: translateY(5px);
}



.top2024_section02{
	padding: 45px 0 255px;
	background: #fff;
}

.top2024_section02:last-child{
	padding-bottom: 0;
}

.top2024_sec02_title{
	color: #6a2366;
	font-size: 40px;
	font-weight: 700;
	text-align: center;
}

.top2024_comingsoon{
	margin-top: 100px;
	color: #a8a9a9;
	font-size: 40px;
	font-weight: 700;
	text-align: center;
}

.top2024_faq{
	width: 1000px;
	margin: 40px auto;
	color: #6a2366;
}

.top2024_faq dl{
	padding-bottom: 20px;
	border-bottom: 2px #6a2366 solid;
}

.top2024_faq dl:not(:last-child){
	margin-bottom: 20px;
}

.top2024_faq dt,
.top2024_faq dd{
	display: flex;
}

.top2024_faq dt{
	margin-bottom: 20px;
}

.top2024_faq_icon{
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	width: 46px;
	height: 46px;
	padding-bottom: 7px;
	border-radius: 50%;
	background: #6a2366;
	color: #fff;
	font-size: 25px;
	flex-shrink: 0;
}

.top2024_faq_text{
	margin-left: 8px;
	font-size: 26px;
}


.top2024_sec02_shiryou{
	display: flex;
	justify-content: center;
	margin-top: 50px;
}

.top2024_sec02_shiryoubox{
	width: 490px;
	border: 1px #707070 solid;
}

.top2024_sec02_shiryoubox:not(:last-child){
	margin-right: 20px;
}

.top2024_sec02_shiryoubox a:hover{
	opacity: 0.7;
}

.top2024_sec02_shiryoubox img{
	width: 100%;
}


.top2024_section02_flex{
	display: flex;
	justify-content: center;
	margin-top: 55px;
}

.top2024_section02_flexbox{
	position: relative;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	width: 490px;
	padding: 90px 35px 40px;
	border-radius: 10px;
	background: #fff5e2;
}

.top2024_section02_flexbox:not(:last-child){
	margin-right: 20px;
}

.top2024_section02_flexicon{
	position: absolute;
	top: -50px;
	left: 50%;
	transform: translateX(-50%);
}

.top2024_section02_flexicon img{
	width: 180px;
}

.top2024_section02_flextitle{
	margin-bottom: 25px;
	font-size: 26px;
	font-weight: 700;
	text-align: center;
}

.top2024_section02_flextext{
	margin-bottom: 20px;
	font-size: 20px;
	font-weight: 500;
}

.top2024_section02_flextext #for1_2,
.top2024_section02_flextext #for2_2,
.top2024_section02_flextext .tab1_2,
.top2024_section02_flextext .tab2_2{
	display: none;
}

.top2024_section02_flextext #for1_2:checked + .tab1_2,
.top2024_section02_flextext #for2_2:checked + .tab2_2{
	display: inline;
}

.top2024_section02_flexlink01,
.top2024_section02_flexlink02{
	margin-top: auto;
}

.top2024_section02_flexlink01 a,
.top2024_section02_flexlink02 a{
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 335px;
	height: 72px;
	border-radius: 36px;
	margin: 0 auto;
	box-shadow: 7px 7px 5px rgba(0, 0, 0, 0.12);
	font-size: 26px;
	font-weight: 900;
	transition: 0.3s;
}

.top2024_section02_flexlink01 a:hover,
.top2024_section02_flexlink02 a:hover{
	transform: translateY(5px);
	box-shadow: 0 0 0 transparent;
	opacity: 0.7;
}

.top2024_section02_flexlink01 a{
	border: 4px #6a2366 solid;
	background: #fff;
	color: #6a2366;
}

.top2024_section02_flexlink02 a{
	background: linear-gradient(to right, #584c96 0%, #6a2366 100%);
	color: #fff;
}



.top2024_section02 .history{
	margin-bottom: 85px;
}

.top2024_section02 .history__ttl{
	background: #6a2366;
}

/* 20240205 追加02 end */



.pc_app2024{
	position: absolute;
	left: 50%;
	bottom: 16px;
	transform: translateX(500px);
	z-index: 4000;
}
@media print, screen and (max-width: 1520px){
	.pc_app2024{
		left: auto;
		right: 0;
		transform: none;
	}
}
.pc_app2024 a{
	position: relative;
	bottom: 0;
	transition: 0.3s;
}

.pc_app2024 a:hover{
	bottom: -5px;
}

.sp_app2024{
	display: none;
}
/* 2024/02/22動画 */
.clearfix:after{
	content: "";
	display: block;
	clear: both;
}
.mov_area01{
	width:810px;
	margin:10px 0 40px 0;
}
.mov_area02{
	width:810px;
	margin:0 0 20px 0;
}
.mov_area02 iframe{
	width:810px;
	height:455px;
}
.mov_area03{

}
.mov_area04{
	width:256px;
	float:left;
	margin:0 20px 0 0;
}
.mov_area04:last-child{
	margin:0 0 0 0;
}
.mov_area04 iframe{
	width:256px;
	height:144px;
}
.mov_text01{
	font-size:17px;
	line-height:1.2;
}
.mov_text02{
	font-size:17px;
	line-height:1.2;
}
.dl202401{
	width:560px;
	margin:40px auto
}

}/* pc end */





@media screen and (max-width: 768px){
.header2024 .logo{
	margin-left: 15px;
}

.header2024 .qr{
	display: block;
	box-sizing: border-box;
    padding: 15px 10px;
	border-radius: 6px;
    margin-left: auto;
	background: linear-gradient(to right, #31bbde 0%, #0087c6 100%);
	color: #fff;
	font-size: 7px;
	word-break: keep-all;
}

.header2024 .btn{
	font-size: 7px;
	margin-left: 10px;
	/*ここから下は削除*/
	display: block;
	box-sizing: border-box;
    padding: 15px 10px;
	border-radius: 6px;
    margin-left: auto;
	/*ここから上は削除*/
}



.kv2024{
	box-sizing: border-box;
	height: 140vw;
	padding-top: 4vw;
	margin-top: 52px;
	background: url("./../../images/top_bg01sp.jpg") center center/cover no-repeat;
	color: #fff;
	font-weight: 500;
	text-align: center;
	line-height: 1;
}

.kv2024_title01{
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 5.6vw;
}

.kv2024_title01 span{
	font-size: 7.6vw;
}

.kv2024_title02{
	margin-bottom: 3.33vw;
	font-size: 12.933vw;
	letter-spacing: -0.15em;
}

.kv2024_title02 span{
	letter-spacing: -0.3em;
}

.kv2024_title03{
	margin-bottom: 3.33vw;
	font-size: 6.266vw;
	letter-spacing: -0.1em;
}

.kv2024_title03 span{
	letter-spacing: -0.25em;
}

.kv2024_text01{
	margin-bottom: 4.44vw;
	font-size: 2.8vw;
	font-weight: 700;
}

.kv2024_day{
	font-size: 17.066vw;
	letter-spacing: -0.2em;
	line-height: 1.1;
}

.kv2024_text02{
	margin-top: 4.44vw;
	font-size: 2.8vw;
	font-weight: 700;
	line-height: 1.5;
}

/* 20240205 追加01 */

.kv2024_02{
	height: auto;
	padding: 2vw 0 2vw;
	margin-top: 52px;
	background: url("./../../images/top_bg01sp02.jpg") center center/cover no-repeat;
}

.kv2024_02 .kv2024_text02{
	margin: 0 0 1vw;
}

.kv2024_02 .kv2024_title01{
	font-size: 4.8vw;
}

.kv2024_02 .kv2024_title01 span{
	font-size: 6.533vw;
}

.kv2024_02 .kv2024_title02{
	margin-bottom: 1.66vw;
	font-size: 11.066vw;
}

.kv2024_02 .kv2024_title03{
	margin-bottom: 1.66vw;
	font-size: 5.733vw;
}

.kv2024_02 .kv2024_text01{
	margin-bottom: 1.66vw;
	font-size: 3.466vw;
	line-height: 1.3;
}



.kv2024_flex{
	padding: 0 2.133vw 1.733vw;
}

.kv2024_flexbox{
	position: relative;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 1.2vw 1.2vw 2.666vw;
	border-radius: 2.4vw;
	background: #fff;
	color: #000;
}

.kv2024_flexbox:not(:last-child){
	margin-bottom: 1.066vw;
}

.kv2024_flexbox01{
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	justify-content: center;
	align-items: center;
	width: 21.6vw;
	height: 8.4vw;
	background: #6a2366;
	color: #fff;
	font-size: 3.466vw;
	font-weight: 900;
}

.kv2024_flexbox02{
	box-sizing: border-box;
	width: 100%;
	padding: 0 16.8vw;
	margin-bottom: 2.566vw;
}

.kv2024_flexbox02 span{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 17.466vw;
	height: 4.666vw;
	border-radius: 2.333vw;
	margin-left: auto;
	background: #fff100;
	color: #6a2366;
	font-size: 3.866vw;
	font-weight: 900;
}

.kv2024_flextitle{
	margin-bottom: 1.666vw;
	font-size: 3.733vw;
	font-weight: 700;
	line-height: 1.3;
	text-align: left;
}

.kv2024_flexbox_r .kv2024_flextitle{
	display: flex;
}

.kv2024_flextitle_date{
	padding: 0.5vw 1vw;
	border: 1px #6a2366 solid;
	margin-right: 1vw;
	background: #fff000;
	color: #6a2366;
	font-size: 3.733vw;
	font-weight: 700;
	text-align: center;
	line-height: 1.2;
}

.kv2024_fleximg{
	display: flex;
	width: 46vw;
	padding-left: 4vw;
	margin: 0 auto 1.6vw 0;
}

.kv2024_fleximg img{
	width: 100%;
}

.kv2024_flexbox03{
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	border: 1px #6a2366 solid;
	font-size: 3.466vw;
}

.kv2024_flexbox03_title{
	box-sizing: border-box;
	width: 100%;
	padding: 0.4vw 0.8vw 1.2vw;
	background: #6a2366;
	color: #fff;
}

.kv2024_flexbox03_list{
	padding: 0.8vw 0.8vw 1.2vw;
	font-size: 3.2vw;
	text-align: left;
}

.kv2024_flexbox_l .kv2024_flexbox03_list{
	display: flex;
	flex-wrap: wrap;
}

.kv2024_flexbox03_list li{
	position: relative;
	padding-left: 1.2em;
}

.kv2024_flexbox_l .kv2024_flexbox03_list li:first-child{
	margin-right: 1em;
}

.kv2024_flexbox03_list li:before{
	position: absolute;
	left: 0;
	content: url("./../../images/kv2024_check.svg");
	width: 3.466vw;
}

.kv2024_flexbox03_list li:not(:last-child){
	margin-bottom: 0.8vw;
}

.kv2024_flexlink{
	position: absolute;
	bottom: 21.5vw;
	right: 12vw;
	display: flex;
	flex-direction: column-reverse;
}

.kv2024_flexlink > div{
	border-radius: 4.8vw;
	background: #fff;
	transition: 0.3s;
}

.kv2024_flexlink > div:hover{
	transform: translateY(5px);
}

.kv2024_flexlink02{
	margin-bottom: 2vw;
}

.kv2024_flexlink a,
.kv2024_flexlink button{
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 32.133vw;
	height: 9.6vw;
	border-radius: 4.8vw;
	box-shadow: 7px 7px 5px rgba(0, 0, 0, 0.12);
	font-size: 3.466vw;
	font-weight: 900;
	transition: 0.3s;
	cursor: pointer;
}

.kv2024_flexlink a:hover{
	box-shadow: 0 0 0 transparent;
	opacity: 0.7;
}

.kv2024_flexlink01 a{
	border: 2px #6a2366 solid;
	background: #fff;
	color: #6a2366;
}

.kv2024_flexlink02 a,
.kv2024_flexlink02 button{
	border: none;
	background: linear-gradient(to right, #584c96 0%, #6a2366 100%);
	color: #fff;
}

/* 20240205 追加01 end */




.top_repo2024{
	height: 122.8vw;
	background: url("./../../images/top_bg02sp.jpg") center center/cover no-repeat;
}

.top_repo2024_box{
	position: relative;
	top: -43.666vw;
	padding: 3.333vw 1.866vw 6.8vw;
	border-radius: 2.666vw;
	margin: 0 4.666vw 4.466vw;
	background: #fff;
	box-shadow: 0.533vw 0.533vw 0.933vw rgba(0, 0, 0, 0.28);
}

.top_repo2024_text{
	margin-bottom: 2.666vw;
	color: #6a2366;
	font-size: 5.066vw;
	font-weight: 700;
	text-align: center;
	letter-spacing: -0.2em;
	line-height: 1.3;
}

.history__wrap2024{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 5.6vw 1.066vw;
}

.history__item2024 a{
	display: block;
}

.top_mail{
	position: relative;
	top: -43.666vw;
	padding: 2.666vw 4.666vw 3.733vw;
	border-radius: 2.666vw;
	margin: 0 4.666vw;
	background: #fff;
}

.top_mail_l{
	display: flex;
	align-items: center;
	margin-bottom: 1.6vw;
}

.top_mail_l01{
	margin-right: 2vw;
}

.top_mail_l01 img{
	width: 15.066vw;
	vertical-align: bottom;
}

.top_mail_l02{
	font-size: 2.933vw;
	font-weight: 700;
	line-height: 1.3;
}

.top_mail_r a{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 45.866vw;
	height: 13.333vw;
	border-radius: 6.666vw;
	margin: 0 auto;
	background: linear-gradient(to right, #f0b025 0%, #f49410 100%);
	color: #fff;
	font-size: 4.933vw;
	font-weight: 900;
	box-shadow: 1.333vw 1.333vw 0.933vw rgba(0, 0, 0, 0.12);
	transition: 0.3s;
}
.top_mail_r a:hover{
	box-shadow: 0 0 0 transparent;
	opacity: 0.8;
	transform: translateY(1.333vw);
}

.top_repo2024 + .bg-wh{
	padding-top: 100px;
}

/* 20240205 追加02 */

.top2024_section01{
	padding: 3.466vw 3.2vw 6vw;
	background: url("./../../images/top_sec01_bg.jpg") center top/contain repeat-Y;
}

.top2024_section01 .top_mail{
	top: 0;
	margin-bottom: 4.533vw;
}

.top2024_tabbutton{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	list-style-type: none;
	margin-bottom: 4.533vw;
}

.top2024_tabbutton li{
	border-radius: 4.466vw;
	background: #fff;
	transition: 0.3s;
}

.top2024_tabbutton li:hover{
	transform: translateY(5px);
}

.top2024_tabbutton01{
	margin-bottom: 2.666vw;
}

.top2024_tabbutton li > span{
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 64.8vw;
	height: 8.933vw;
	border-radius: 4.466vw;
	box-shadow: 7px 7px 5px rgba(0, 0, 0, 0.12);
	font-size: 4.133vw;
	font-weight: 900;
	transition: 0.3s;
	cursor: pointer;
}

.top2024_tabbutton li > span:hover{
	box-shadow: 0 0 0 transparent;
	opacity: 0.7;
}

.top2024_tabbutton01 > span{
	border: 2px #6a2366 solid;
	background: #fff;
	color: #6a2366;
}

.top2024_tabbutton02 > span{
	background: linear-gradient(to right, #584c96 0%, #6a2366 100%);
	color: #fff;
}

.top2024_tabbutton li > span span{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 17.466vw;
    height: 4.666vw;
    border-radius: 2.333vw;
	margin-left: 2vw;
	background: #fff100;
	color: #6a2366;
	font-size: 3.866vw;
}



.top2024_tabarea_wrap{
	padding-top: 70px;
	margin-top: -70px;
}

.top2024_tabarea_wrap input{
	display: none;
}

.top2024_tabarea{
	box-sizing: border-box;
	display: none;
	padding: 2.133vw 3.333vw 6.133vw;
	border: 4px #6a2366 solid;
	border-radius: 20px;
	margin: 0 auto;
	background: #fff;
}

#for1:checked + .top2024_tabarea,
#for2:checked + .top2024_tabarea{
	display: block;
}

.top2024_tabarea01{
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 2.933vw;
	color: #6a2366;
	font-size: 4.133vw;
	font-weight: 900;
}

.top2024_tabarea01 span{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 17.466vw;
    height: 4.666vw;
    border-radius: 2.333vw;
	margin-left: 2vw;
	background: #fff100;
	color: #6a2366;
	font-size: 3.866vw;
}

.top2024_tabarea_title01{
	margin-bottom: 3.733vw;
	color: #6a2366;
	font-size: 5.466vw;
	text-align: center;
	line-height: 1.2;
	letter-spacing: -0.1em;
}

#tab2 .top2024_tabarea_title01{
	margin-bottom: 2vw;
}

.top2024_movie{
	margin-bottom: 3.733vw;
}

.top2024_movie01{
	margin-bottom: 2.4vw;
}

.top2024_movie_img img{
	width: 100%;
}

.top2024_movie_title{
	font-size: 4vw;
	font-weight: 700;
}

.top2024_movie02 li:not(:last-child){
	margin-bottom: 2.4vw;
}
.top2024_tabarea_title02{
	color: #6a2366;
	font-size: 3.2vw;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: -0.01em;
}

#tab2 .top2024_tabarea_title02{
	margin-bottom: 3vw;
}

.top2024_tabbox01{
	position: relative;
	padding: 4.8vw 0;
	border-top: 2px #6a2366 solid;
}

.top2024_tabbox01.on_title{
	padding-top: 1.2vw;
}

.top2024_tabbox01_number{
	position: absolute;
	top: 0;
	left: 0;
	transform: translateY(-50%);
	padding: 0 6vw 1vw 0;
	background: #fff;
	color: #6a2366;
	font-size: 2.666vw;
	line-height: 1;
}

.top2024_tabbox01_title03{
	margin-bottom: 1.2vw;
	color: #6a2366;
	font-size: 4.4vw;
	font-weight: 500;
}

.top2024_tabflex{
}

.top2024_tabflex:not(:last-child){
	margin-bottom: 4.266vw;
}

.top2024_tabflex_l{
	display: flex;
	margin-bottom: 2vw;
	color: #6a2366;
}

.top2024_tabflex_img{
	width: 40vw;
	margin-right: 2vw;
	flex-shrink: 0;
}

.top2024_tabflex_img img{
	width: 100%;
	vertical-align: bottom;
}

.top2024_tabflex_cpn{
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}

.top2024_tabflex_cname{
	font-size: 3.2vw;
	font-weight: 500;
}

.top2024_tabflex_pn{
	font-weight: 500;
}

.top2024_tabflex_position{
	margin-right: 10px;
	font-size: 3.2vw;
}

.top2024_tabflex_name{
	font-size: 4vw;
	flex-shrink: 0;
}

.top2024_tabflex_name span{
	padding-left: 0.2em;
	font-size: 3.2vw;
}

.top2024_tabflex_link{
	font-size: 3.2vw;
}

.top2024_tabflex_r{
	font-size: 3.466vw;
	font-weight: 500;
}


.top2024_tabbox01_title01{
	margin-bottom: 1.6vw;
	color: #6a2366;
	font-size: 3.466vw;
	font-weight: 700;
}

.top2024_tabbox01_semdl dl{
	display: flex;
	font-size: 3.466vw;
	font-weight: 500;
}

.top2024_tabbox01_semdl dt{
	margin-right: 1em;
}

.top2024_tabbox01_title02{
	margin-bottom: 1.6vw;
	color: #6a2366;
	font-size: 3.466vw;
	font-weight: 700;
	text-align: center;
}

.top2024_tabarea_icon{
	margin-bottom: 1.6vw;
	text-align: center;
}

.top2024_tabarea_icon img{
	width: 75px;
}

.top2024_tabarea_text01{
	margin-bottom: 6.666vw;
	font-size: 3.466vw;
	font-weight: 500;
}

.top2024_tabarea_link a{
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 64.8vw;
	height: 8.933vw;
	border: 2px #6a2366 solid;
	border-radius: 4.466vw;
	margin: 0 auto;
	background: #fff;
	box-shadow: 7px 7px 5px rgba(0, 0, 0, 0.12);
	color: #6a2366;
	font-size: 4.133vw;
	font-weight: 900;
	transition: 0.3s;
}

.top2024_tabarea_link a:hover{
	box-shadow: 0 0 0 transparent;
	opacity: 0.7;
	transform: translateY(5px);
}



.top2024_section02{
	padding: 19.6vw 3.2vw 7.066vw;
	background: #fff;
}

.top2024_section02:last-child{
	padding-bottom: 0;
}

.top2024_sec02_title{
	color: #6a2366;
	font-size: 4.133vw;
	font-weight: 700;
	text-align: center;
}

.top2024_comingsoon{
	margin-top: 12vw;
	color: #a8a9a9;
	font-size: 5.333vw;
	font-weight: 700;
	text-align: center;
}

.top2024_faq{
	margin: 6.666vw auto 0;
	color: #6a2366;
}

.top2024_faq dl{
	padding-bottom: 4vw;
	border-bottom: 2px #6a2366 solid;
}

.top2024_faq dl:not(:last-child){
	margin-bottom: 4vw;
}

.top2024_faq dt,
.top2024_faq dd{
	display: flex;
}

.top2024_faq dt{
	margin-bottom: 4vw;
}

.top2024_faq_icon{
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	width: 6vw;
	height: 6vw;
	padding-bottom: 1vw;
	border-radius: 50%;
	background: #6a2366;
	color: #fff;
	font-size: 4vw;
	flex-shrink: 0;
}

.top2024_faq_text{
	margin: -0.2em 0 0 3vw;
	font-size: 4.133vw;
}


.top2024_sec02_shiryou{
	margin-top: 7vw;
}

.top2024_sec02_shiryoubox{
	border: 1px #707070 solid;
}

.top2024_sec02_shiryoubox:not(:last-child){
	margin-bottom: 5vw;
}

.top2024_sec02_shiryoubox a:hover{
	opacity: 0.7;
}

.top2024_sec02_shiryoubox img{
	width: 100%;
}


.top2024_section02_flex{
	padding: 0 8vw;
	margin-top: 8.933vw;
}

.top2024_section02_flexbox{
	position: relative;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	padding: 14.666vw 5.333vw 5.866vw;
	border-radius: 5vw;
	background: #fff5e2;
}

.top2024_section02_flexbox:not(:last-child){
	margin-bottom: 8vw;
}

.top2024_section02_flexicon{
	position: absolute;
	top: -6vw;
	left: 50%;
	transform: translateX(-50%);
}

.top2024_section02_flexicon img{
	width: 24vw;
}

.top2024_section02_flextitle{
	margin-bottom: 4.666vw;
	font-size: 4.266vw;
	font-weight: 700;
	text-align: center;
}

.top2024_section02_flextext{
	margin-bottom: 3.333vw;
	font-size: 3.466vw;
	font-weight: 500;
}

.top2024_section02_flextext #for1_2,
.top2024_section02_flextext #for2_2,
.top2024_section02_flextext .tab1_2,
.top2024_section02_flextext .tab2_2{
	display: none;
}

.top2024_section02_flextext #for1_2:checked + .tab1_2,
.top2024_section02_flextext #for2_2:checked + .tab2_2{
	display: inline;
}

.top2024_section02_flexlink01,
.top2024_section02_flexlink02{
	margin-top: auto;
}

.top2024_section02_flexlink01 a,
.top2024_section02_flexlink02 a{
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 51.066vw;
	height: 11.066vw;
	border-radius: 5.5033vw;
	margin: 0 auto;
	box-shadow: 7px 7px 5px rgba(0, 0, 0, 0.12);
	font-size: 4vw;
	font-weight: 900;
	transition: 0.3s;
}

.top2024_section02_flexlink01 a:hover,
.top2024_section02_flexlink02 a:hover{
	transform: translateY(5px);
	box-shadow: 0 0 0 transparent;
	opacity: 0.7;
}

.top2024_section02_flexlink01 a{
	border: 2px #6a2366 solid;
	background: #fff;
	color: #6a2366;
}

.top2024_section02_flexlink02 a{
	background: linear-gradient(to right, #584c96 0%, #6a2366 100%);
	color: #fff;
}


.top2024_section02 .history{
	margin-bottom: 18.666vw;
}

.top2024_section02 .history__ttl{
	position: relative;
	top: -4vw;
	width: 80vw;
	padding: 3vw;
	border-radius: 2vw;
	margin: 0 auto;
	background: #6a2366;
	font-size: 4.166vw;
}

.top2024_section02 .history__ttl span{
	display: inline;
}

.top2024_section02 .history__ttl + p {
	padding: 0 3vw 3vw;
	font-size: 3.466vw;
	text-align: justify;
}

.top2024_section02 .history__wrap{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 3vw;
	padding: 0 3vw 3vw;
}

.top2024_section02 .other-link__img{
	text-align: center;
}

.top2024_section02 .other-link__img img{
	width: 35vw;
	vertical-align: bottom;
}




.top2024_pt{
	bottom: 60px;
}

.pc_app2024{
	display: none;
}

.sp_app2024{
	position: sticky;
	left: 0;
	bottom: 0;
	width: 100%;
}

.sp_app2024 img{
	width: 100%;
	vertical-align: bottom;
}

/* 2024/02/22動画 */
.clearfix:after{
	content: "";
	display: block;
	clear: both;
}
.mov_area01{
	width:100%;
	margin:10px 0 40px 0;
}
.mov_area02{
	width:100%;
	margin:0 0 5px 0;
}
.mov_area02 iframe{
	width:100%;
	height:12em;
}
.mov_area03{

}
.mov_area04{
	width:100%;
	float:left;
	margin:0 0 5px 0;
}
.mov_area04 iframe{
	width:100%;
	height:12em;
}


.mov_text01{
	font-size:17px;
	line-height:1.2;
	margin:0 0 15px 0;
}
.mov_text02{
	font-size:17px;
	line-height:1.2;
	margin:0 0 15px 0;
}

.dl202401{
	width:100%;
	margin:1em auto
}
.dl202401 img{
	width:100%;
}

}/* sp end */