@charset "utf-8";

/* ****************************************************
Title: layout.css
***************************************************** */

@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@400;500;700;800&family=Noto+Sans+JP:wght@100..900&display=swap');

.fontRounded1c {
	font-family: "M PLUS Rounded 1c", "Noto Sans JP", sans-serif;
}

@media (min-width: 751px) {
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}
}

/* -------------------------------------------------------------------- 
 body
-------------------------------------------------------------------- */

body {
	color: #333333;

	font-family: "Noto Sans JP", sans-serif;

	font-size: 13px;
	*font-size: small;
	*font: x-small;
	text-align: center;
	text-size-adjust: 100%;
	-moz-text-size-adjust: none;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	max-height: 999999px;
}

#top {
	/*overflow: hidden;*/
}

#wrap {
	overflow: hidden;
	/*width: 640px;*/
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
	padding: 0px;
	min-width: 1266px;
}


img {
	vertical-align: bottom;
	max-width: 100%;
	width: auto;
	height: auto;
}

.relative-wrap {
	position: relative;
}

.contDispN {
	display: none;
}

p, span, dt, dd, th, td, li, h1, h2, h3, h4 {
	max-height: 999999px;
	background-image: url(../img/spacer.gif);
}

.fw500 {
	font-weight: 500;
}

/*-----------------------*/

.anc {
	position: relative;
}

.ancIn {
	position: absolute;
	top: -100px;
}

#top {
	/*padding-top: 69px;*/
}

/*-----------------------*/

.pc {
	display: block;
}

.sp {
	display: none;
}

.pcBr {
	display: inline;
}

.spBr {
	display: none;
}

.pcTable {
	display: table !important;
}

.spTable {
	display: none !important;
}

.contIn1040 {
	width: 1040px;
	margin: 0px auto;
	position: relative;
}

.contIn1100 {
	width: 1100px;
	margin: 0px auto;
	position: relative;
}

.contIn1266 {
	width: 1266px;
	margin: 0px auto;
	position: relative;
}

.contBox994 {
	width: 994px;
	margin: auto;
	text-align: left;
}

.radius200 {
	-moz-border-radius: 200px;
	-webkit-border-radius: 200px;
	-o-border-radius: 200px;
	-ms-border-radius: 200px;
	border-radius: 200px;
}

.zIndex1 {
	z-index: 1;
}

/*@media screen and (max-width:768px) {*/
@media screen and (max-width:767px) {

	body {

		/* font-family:	"HiraginoKaku-W3-90msp-RKSJ-H", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro","メイリオ" , "Meiryo" , "ＭＳ Ｐゴシック",  Verdana, Osaka, "MS PGothic", Sans-Serif;*/

	}

	#wrap {
		overflow: hidden;
		width: auto;
		margin-top: 0px;
		margin-right: auto;
		margin-bottom: 0px;
		margin-left: auto;
		padding: 0px;
		min-width: 200px;
	}

	/*-----------------------*/

	.anc {
		position: relative;
	}

	.ancIn {
		position: absolute;
		top: -60px;
	}

	#top {
		/*padding-top: 79px;*/
	}

	/*-----------------------*/

	.pc {
		display: none;
	}

	.sp {
		display: block;
	}

	.pcBr {
		display: none;
	}

	.spBr {
		display: inline;
	}

	.pcTable {
		display: none !important;
	}

	.spTable {
		display: table !important;
	}

	.contIn1040 {
		width: auto;
	}

	.contIn1100 {
		width: auto;
	}

	.contIn1266 {
		width: auto;
	}

	.contBox994 {
		width: auto;
	}


}




/* -------------------------------------------------------------------- 
 main
-------------------------------------------------------------------- */

.headerBtnWrap01 {
	position: fixed;
	left: 0px;
	top: 0px;
	z-index: 100;
}

.headerBtnWrap01 a {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 380px;
	height: 102px;
	padding: 10px;
	border-radius: 0px 100px 100px 0px;
	background-color: #FFFFFF;
	box-shadow: 3px 3px 6px 0px rgba(0, 0, 0, 0.5);
	-webkit-box-shadow: 3px 3px 6px 0px rgba(0, 0, 0, 0.5);
	-moz-box-shadow: 3px 3px 6px 0px rgba(0, 0, 0, 0.5);
	-o-box-shadow: 3px 3px 6px 0px rgba(0, 0, 0, 0.5);
	-ms-box-shadow: 3px 3px 6px 0px rgba(0, 0, 0, 0.5);
	font-size: 36px;
	line-height: 1.0em;
	font-weight: 900;
}

.headerBtnWrap01 a:link {
	color: #942248;
	text-decoration: none;
}

.headerBtnWrap01 a:visited {
	color: #942248;
	text-decoration: none;
}

.headerBtnWrap01 a:hover {
	color: #942248;
	text-decoration: none;
}

.headerBtnWrap01 a:active {
	color: #942248;
	text-decoration: none;
}

/*--------------------------*/

.mainvisualWrap01 {
	background-image: url("../img/main_bg01.png"), url("../img/main_bg02.jpg");
	background-repeat: no-repeat, no-repeat;
	background-position: center center, center center;
	background-size: 100% 100%;
	height: 709px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.mainBlock01 {
	padding: 50px 20px 60px;
}

.text18_185_n {
	font-size: 18px;
	line-height: 1.85em;
}

.contH201 {
	margin-bottom: 26px;
}

.contH201 img {
	width: 1064px;
	height: auto;
}

.mainDeco01 {
	width: 1266px;
	position: absolute;
	top: 20px;
	left: 50%;
	transform: translateX(-50%);
}

/*----------------------*/

.mainSlideWrap01 {
	background-image: url("../img/main_slide_bg01.png");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 100% 100%;
	padding: 12px 0px 15px;
}

@keyframes infinity-scroll-left {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(-100%);
	}
}

.scroll-infinity__wrap {
	display: flex;
	overflow: hidden;
}

.scroll-infinity__list {
	display: flex;
	list-style: none;
	padding: 0
}

.scroll-infinity__list--left {
	animation: infinity-scroll-left 70s infinite linear 0.5s both;
}

.scroll-infinity__item {
	width: 250px;
	margin-right: 10px;
}

.scroll-infinity__item>img {
	width: 100%;
}

/*-------------------*/

.contBlock01 {
	padding: 70px 0px 100px;
}

.contDeco01 {
	width: 1256px;
	position: absolute;
	top: -22px;
	left: 50%;
	transform: translateX(-49%);
}

.contH301 {
	margin-bottom: 64px;
}

.contH301 img {
	width: auto;
	height: 197px;
}

.contFlex01 {
	display: flex;
	justify-content: space-between;
	gap: 0px 26px;
	text-align: left;
	position: relative;
}

.contH401 {
	font-size: 32px;
	line-height: 1.55em;
	font-weight: 800;
	/*text-indent: -2em;
	padding-left: 2em;*/
	margin-bottom: 28px;
}

.contH401 .s01 {
	color: #EF296E;
}

.text16_175_n {
	font-size: 16px;
	line-height: 1.75em;
}

/*-------------*/

.movieWrap01 {
	background-image: url("../img/cont_movie_bg01.png");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 100% 100%;
	padding: 20px;
}

.movieWrap01.wrap02 {
	background-image: url("../img/cont_movie_bg02.png");
	width: auto;
}



.movie01 {
	width: 640px;
	height: 360px;
}

.movie02 {
	width: 215px;
	height: 360px;
}


/*-------------*/

.flexBox01 {
	text-align: left;
	width: 560px;
}

.contFlex02 {
	display: flex;
	justify-content: space-between;
	position: relative;
	margin: 150px auto 110px;
}

.contDeco02 {
	width: 1243px;
	position: absolute;
	top: -205px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 0;
}

.contFlex03 {
	display: flex;
	justify-content: center;
	gap: 0px 60px;
	position: relative;
}

.contFlex01.flex0102 {
	margin: 100px auto 360px;
}

.contDeco03 {
	width: 1199px;
	position: absolute;
	top: 0px;
	left: 50%;
	transform: translateX(-48%);
}

.contDeco04 {
	width: 355px;
	position: absolute;
	top: 0px;
	left: 50%;
	margin-left: 240px;
}

.contDeco05 {
	width: 659px;
	position: absolute;
	top: -170px;
	left: 50%;
	margin-left: -620px;
}

.contFlex02.flex0202 {
	margin: 145px auto 198px;
}

.contDeco06 {
	width: 1147px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 50%;
	margin-left: -565px;
}

.contFlex04 {
	display: flex;
	gap: 0px 70px;
	position: relative;
}

.flexPd70 {
	padding-top: 70px;
}

.flexPd340 {
	padding-top: 340px;
}

.contDeco07 {
	width: 1170px;
	position: absolute;
	top: 180px;
	left: 50%;
	transform: translateX(-51%);
}

.contFlex02.flex0203 {
	margin: 85px auto 350px;
}

.contDeco08 {
	width: 1129px;
	position: absolute;
	top: -120px;
	left: 50%;
	transform: translateX(-50%);
}

/*-------------------------*/

.contBlock02 {
	background-color: rgba(255, 235, 0, 0.2);
	padding: 50px 0px 90px;
}

.cont02Wrap01 {
	margin-bottom: 50px;
}

.cont02Deco01 {
	width: 993px;
	position: absolute;
	top: 0px;
	left: 50%;
	transform: translateX(-50%);
}

.cont02Box01 {
	background-color: #FFFFFF;
	padding: 50px 130px;
	position: relative;
}

.cont02TextBox01 {
	text-align: left;
}

.cont02Img01 {
	margin-top: 30px;
}

.contColRed01 {
	color: #EF296E;
	font-weight: bold;
}

.cont02Deco02 {
	width: 1116px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%)
}

.contBlock02 .contH301 {
	margin-bottom: 0px;
}

.cont02Fuki01 {
	width: 237px;
	position: absolute;
	left: 70px;
	top: -48px;
}

.cont02MapWrap01 {
	position: relative;
	margin-bottom: 88px;
}

.cont02TextBox02 {
	text-align: left;
	position: relative;
}

.cont02Fuki02 {
	width: 423px;
	position: absolute;
	left: -130px;
	top: -78px;
}

.cont02Deco03 {
	width: 404px;
	position: absolute;
	right: 0px;
	top: -160px;
}

.cont02Box02 {
	background-color: rgba(66, 31, 185, 0.1);
	padding: 30px;
	margin-top: 30px;
	text-align: left;
}

.cont02Flex01 {
	display: flex;
	justify-content: space-between;
	margin-bottom: 20px;
}

.cont02Flex01 li {
	width: 49.2%;
}

.cont02Dl01 dt {
	font-size: 18px;
	line-height: 1.5em;
	font-weight: 800;
	margin-bottom: 8px;
}

.cont02Box01.box02 {
	margin-top: 100px;
	padding-top: 174px;
}

.cont02Fuki03 {
	width: 526px;
	position: absolute;
	left: 86px;
	top: -56px;
}

.cont02Deco04 {
	width: 122px;
	position: absolute;
	top: -22px;
	left: 692px;
}

.cont02Flex02 {
	display: flex;
	justify-content: space-between;
}

.cont02Flex02 .box01 {
	width: 510px;
	text-align: left;
}

.cont02Flex02 .box02 {
	width: 444px;
}

.contH302 {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	box-sizing: border-box;
	padding: 10px 0px;
	height: 160px;
	font-size: 100px;
	line-height: 1.0em;
	font-weight: bold;
	margin-bottom: 40px;
}

.contH302::before {
	content: "";
	background-image: url("../img/cont02_line01.png");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 100% 5px;
	width: 100%;
	height: 5px;
	position: absolute;
	left: 0px;
	top: 0px;
}

.contH302::after {
	content: "";
	background-image: url("../img/cont02_line02.png");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 100% 5px;
	width: 100%;
	height: 5px;
	position: absolute;
	left: 0px;
	bottom: 0px;
}

.cont02Text01 {
	font-size: 32px;
	line-height: 1.55em;
	font-weight: 800;
	color: #942248;
	margin-bottom: 22px;
}

.cont02Text01 .s01 {
	font-size: 64px;
}

.cont02Text01 .s02 {
	font-size: 45px;
}

.cont02Text01 .sCol01 {
	color: #EF296E;
}

/*--------------------*/

.cont02Table01 {
	width: 100%;
	height: 100%;
	border: 1px solid #ffffff;
}

.cont02Table01 th {
	border: 1px solid #ffffff;
	background-color: #942248;
	text-align: center;
	vertical-align: middle;
	color: #ffffff;
	font-size: 17px;
	line-height: 1.2em;
	font-weight: bold;
}

.cont02Table01 td {
	border: 1px solid #ffffff;
	background-color: #F5E7ED;
	text-align: center;
	vertical-align: middle;
	font-size: 17px;
	line-height: 1.2em;
	font-weight: 500;
}

.cont02Table01 .tr01 td {
	background-color: #EF296E;
	color: #ffffff;
}

/*--------------------*/

.contBlock03 {
	padding: 80px 0px 100px;
	position: relative;
}

.cont03Ar01 {
	width: 100%;
	text-align: center;
	position: absolute;
	left: 0px;
	top: -64px;
}

.cont03Ar01 img {
	width: 68px;
	height: auto;
}

.cont03Text01 {
	width: 1104px;
	margin: 0px auto 16px;
}

.cont03MovieWrap01 .movieWrap01 {
	display: inline-block;
}

.cont03MovieWrap01 {
	text-align: center;
	position: relative;
}

.cont03Deco01 {
	width: 1166px;
	position: absolute;
	bottom: 20px;
	left: 50%;
	transform: translateX(-48.6%);
}

.contBtnWrap01 {
	text-align: center;
	margin-top: 114px;
}

.contBtnWrap01 a {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	box-sizing: border-box;
	padding: 10px;
	height: 200px;
	width: 996px;
	margin: auto;
	border-radius: 200px;
	background-color: #EF296E;
	font-size: 45px;
	line-height: 1.3em;
	font-weight: 800;
	text-decoration: none;
	color: #ffffff;
	box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.5);
	-webkit-box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.5);
	-moz-box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.5);
	-o-box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.5);
	-ms-box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.5);
}

.contBtnWrap01 a .s01 {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	padding: 5px;
	width: 456px;
	height: 76px;
	border-radius: 100px;
	background-color: #ffffff;
	color: #942248;
	box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.5);
	-webkit-box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.5);
	-moz-box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.5);
	-o-box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.5);
	-ms-box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.5);
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: -35px;
}

.contBtnWrap01 a::after {
	content: "";
	background-image: url("../img/cont_btn_ar01.png");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 61px auto;
	width: 61px;
	height: 61px;
	position: absolute;
	right: 45px;
	top: 50%;
	transform: translateY(-50%);
}

.bottomImgWrap01 {
	background-image: url("../img/cont_bottom_img01.jpg");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	height: 350px;
}

/* 再生ボタン */
.play-btn {
	display: block;
	position: absolute;
	width: 54px;
	height: 54px;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit-transform: translateY(-50%) translateX(-50%);
}

.play-btn.playActive {
	display: none;
}

/* 深圳の文字調整 */
.sen-bold {
	font-weight: 900;
}

/*@media screen and (max-width:768px) {*/
@media screen and (max-width:767px) {

	.headerBtnWrap01 {
		position: fixed;
		left: 0px;
		top: 0px;
		z-index: 100;
	}

	.headerBtnWrap01 a {
		display: flex;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
		width: 194px;
		height: 50px;
		padding: 5px;
		border-radius: 0px 100px 100px 0px;
		background-color: #FFFFFF;
		box-shadow: 3px 3px 6px 0px rgba(0, 0, 0, 0.5);
		-webkit-box-shadow: 3px 3px 6px 0px rgba(0, 0, 0, 0.5);
		-moz-box-shadow: 3px 3px 6px 0px rgba(0, 0, 0, 0.5);
		-o-box-shadow: 3px 3px 6px 0px rgba(0, 0, 0, 0.5);
		-ms-box-shadow: 3px 3px 6px 0px rgba(0, 0, 0, 0.5);
		font-size: 20px;
		line-height: 1.0em;
		font-weight: 900;
	}

	.headerBtnWrap01 a:link {
		color: #942248;
		text-decoration: none;
	}

	.headerBtnWrap01 a:visited {
		color: #942248;
		text-decoration: none;
	}

	.headerBtnWrap01 a:hover {
		color: #942248;
		text-decoration: none;
	}

	.headerBtnWrap01 a:active {
		color: #942248;
		text-decoration: none;
	}

	/*--------------------------*/

	.mainvisualWrap01 {
		background-image: none;
		height: auto;
		display: block;
		justify-content: center;
	}

	.mainBlock01 {
		padding: 25px 20px 30px;
	}

	.text18_185_n {
		font-size: 16px;
		line-height: 1.85em;
	}

	.contH201 {
		margin-bottom: 26px;
	}

	.contH201 img {
		width: 90%;
		height: auto;
	}

	.mainDeco01 {
		width: 100vw;
		position: absolute;
		top: 20px;
		left: 50%;
		transform: translateX(-50%);
	}

	/*----------------------*/

	.mainSlideWrap01 {
		background-image: url("../img/main_slide_bg01.png");
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 100% 100%;
		padding: 12px 0px 15px;
	}

	.scroll-infinity__wrap {
		display: flex;
		overflow: hidden;
	}

	.scroll-infinity__list {
		display: flex;
		list-style: none;
		padding: 0
	}

	.scroll-infinity__list--left {
		animation: infinity-scroll-left 70s infinite linear 0.5s both;
	}

	.scroll-infinity__item {
		width: 250px;
		margin-right: 10px;
	}

	.scroll-infinity__item>img {
		width: 100%;
	}

	/*-------------------*/

	.contBlock01 {
		padding: 40px 20px 20px;
	}

	.contDeco01 {
		width: 96vw;
		position: absolute;
		top: -30px;
		left: 50%;
		transform: translateX(-51%);
	}

	.contH301 {
		margin-bottom: 20px;
	}

	.contH301 img {
		width: auto;
		height: 90px;
	}

	.contFlex01 {
		display: block;
		text-align: left;
		position: relative;
	}

	.h401WrapSp {
		text-align: center;
	}

	.contH401 {
		font-size: 20px;
		line-height: 1.55em;
		font-weight: 800;
		/*text-indent: -2em;
		padding-left: 2em;*/
		margin-bottom: 20px;
		display: inline-block;
		text-align: left;
	}

	.contH401 .s01 {
		color: #EF296E;
	}

	.text16_175_n {
		font-size: 14px;
		line-height: 1.75em;
	}

	/*-------------*/

	.movieWrap01 {
		position: relative;
		background-image: url("../img/cont_movie_bg01.png");
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 100% 100%;
		padding: 10px;
		display: inline-block;
	}

	.movieWrap01.wrap02 {
		background-image: url("../img/cont_movie_bg02.png");
		width: auto;
		margin: 20px auto;
	}

	video {
		position: relative;
	}

	.movie01 {
		width: 100%;
		height: 186px;
	}

	.movie02 {
		width: 173px;
		height: 290px;
	}


	/*-------------*/

	.flexBox01 {
		text-align: left;
		width: auto;
		margin-bottom: 28px;
	}

	.contFlex02 {
		display: block;
		margin: 40px auto 30px;
	}

	.contDeco02 {
		width: 100%;
		position: absolute;
		top: 0px;
		left: 50%;
		transform: translateX(-50%);
	}

	.contFlex03 {
		display: block;
		position: relative;
	}

	.contFlex01.flex0102 {
		margin: 40px auto 24px;
	}

	.contDeco03 {
		width: 1199px;
		position: absolute;
		top: 0px;
		left: 50%;
		transform: translateX(-48%);
	}

	.contDeco04 {
		width: 85px;
		position: absolute;
		top: 10px;
		left: auto;
		margin-left: 0px;
		right: 0px;
	}

	.contDeco05 {
		width: 659px;
		position: absolute;
		top: -170px;
		left: 50%;
		margin-left: -620px;
	}

	.contFlex02.flex0202 {
		margin: 40px auto 25px;
	}

	.contDeco06 {
		width: 100%;
		position: absolute;
		top: auto;
		bottom: -6px;
		transform: translateY(0);
		left: -5px;
		margin-left: 0px;
	}

	.contFlex04 {
		display: block;
		position: relative;
	}

	.flexPd70 {
		padding-top: 15px;
	}

	.flexPd340 {
		padding-top: 20px;
	}

	.contDeco07 {
		width: 100%;
		position: absolute;
		top: auto;
		left: 50%;
		transform: translateX(-51%);
		bottom: -40px;
	}

	.contFlex02.flex0203 {
		margin: 30px auto 20px;
	}

	.contDeco08 {
		width: 1129px;
		position: absolute;
		top: -120px;
		left: 50%;
		transform: translateX(-50%);
	}

	/*-------------------------*/

	.contBlock02 {
		background-color: rgba(255, 235, 0, 0.2);
		padding: 40px 20px 20px;
	}

	.cont02Wrap01 {
		margin-bottom: 50px;
	}

	.cont02Deco01 {
		width: 100%;
		position: absolute;
		top: 0px;
		left: 50%;
		transform: translateX(-50%);
	}

	.cont02Box01 {
		background-color: #FFFFFF;
		padding: 30px 20px 20px;
		position: relative;
		margin-top: 20px;
	}

	.cont02Box01 .contH401 {
		text-align: center;
	}

	.cont02TextBox01 {
		text-align: left;
	}

	.cont02Img01 {
		margin-top: 30px;
		text-align: center;
	}

	.cont02Img01 img {
		width: 190px;
		height: auto;
	}

	.contColRed01 {
		color: #EF296E;
		font-weight: bold;
	}

	.cont02Deco02 {
		width: 100%;
		position: absolute;
		top: auto;
		left: 50%;
		transform: translate(-50%, 0);
		bottom: -13px;
	}

	.contBlock02 .contH301 {
		margin-bottom: 0px;
	}

	.cont02Fuki01 {
		width: 109px;
		position: absolute;
		left: 10px;
		top: -28px;
	}

	.cont02MapWrap01 {
		position: relative;
		margin-bottom: 120px;
	}

	.cont02TextBox02 {
		text-align: left;
		position: relative;
	}

	.cont02Fuki02 {
		width: 423px;
		position: absolute;
		left: -130px;
		top: -78px;
	}

	.cont02Deco03 {
		width: 167px;
		position: absolute;
		right: auto;
		left: 50%;
		transform: translateX(-50%);
		top: -140px;
	}

	.cont02Box02 {
		background-color: rgba(66, 31, 185, 0.1);
		padding: 20px;
		margin-top: 30px;
		text-align: left;
	}

	.cont02Flex01 {
		display: block;
		margin-bottom: 20px;
	}

	.cont02Flex01 li {
		width: auto;
		margin-bottom: 10px;
	}

	.cont02Dl01 dt {
		font-size: 16px;
		line-height: 1.5em;
		font-weight: 800;
		margin-bottom: 8px;
		text-align: center;
	}

	.cont02Box01.box02 {
		margin-top: 60px;
		padding-top: 90px;
	}

	.cont02Fuki03 {
		width: 256px;
		position: absolute;
		left: -6px;
		top: -19px;
	}

	.cont02Deco04 {
		width: 122px;
		position: absolute;
		top: -22px;
		left: 692px;
	}

	.cont02Flex02 {
		display: block;
	}

	.cont02Flex02 .box01 {
		width: auto;
		text-align: left;
	}

	.cont02Flex02 .box02 {
		width: auto;
		margin-top: 20px;
	}

	.contH302 {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
		box-sizing: border-box;
		padding: 10px 0px;
		height: 86px;
		font-size: 52px;
		line-height: 1.0em;
		font-weight: bold;
		margin-bottom: 19px;
	}

	.contH302::before {
		content: "";
		background-image: url("../img/cont02_line01.png");
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 100% 3px;
		width: 100%;
		height: 3px;
		position: absolute;
		left: 0px;
		top: 0px;
	}

	.contH302::after {
		content: "";
		background-image: url("../img/cont02_line02.png");
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 100% 3px;
		width: 100%;
		height: 3px;
		position: absolute;
		left: 0px;
		bottom: 0px;
	}

	.cont02Text01 {
		font-size: 20px;
		line-height: 1.55em;
		font-weight: 800;
		color: #942248;
		margin-bottom: 18px;
		text-align: center;
	}

	.cont02Text01 .s01 {
		font-size: 36px;
	}

	.cont02Text01 .s02 {
		font-size: 24px;
	}

	.cont02Text01 .sCol01 {
		color: #EF296E;
	}

	/*--------------------*/

	.cont02Table01 {
		width: 100%;
		height: auto;
		border: 1px solid #ffffff;
	}

	.cont02Table01 th {
		border: 1px solid #ffffff;
		background-color: #942248;
		text-align: center;
		vertical-align: middle;
		color: #ffffff;
		font-size: 13px;
		line-height: 1.2em;
		font-weight: bold;
		padding: 5px 6px;
	}

	.cont02Table01 td {
		border: 1px solid #ffffff;
		background-color: #F5E7ED;
		text-align: center;
		vertical-align: middle;
		font-size: 13px;
		line-height: 1.2em;
		font-weight: 500;
		padding: 5px 6px;
	}

	.cont02Table01 .tr01 td {
		background-color: #EF296E;
		color: #ffffff;
	}

	/*--------------------*/

	.contBlock03 {
		padding: 40px 20px 40px;
		position: relative;
	}

	.cont03Ar01 {
		width: 100%;
		text-align: center;
		position: absolute;
		left: 0px;
		top: -32px;
	}

	.cont03Ar01 img {
		width: 34px;
		height: auto;
	}

	.cont03Text01 {
		width: auto;
		margin: 0px auto 16px;
		text-align: center;
		position: relative;
	}

	.cont03Text01 img {
		width: 309px;
		height: auto;
	}

	.cont03MovieWrap01 .movieWrap01 {
		display: inline-block;
	}

	.cont03MovieWrap01 {
		text-align: center;
		position: relative;
	}

	.cont03Deco01 {
		width: 100%;
		position: absolute;
		bottom: auto;
		top: -50px;
		left: 50%;
		transform: translateX(-48.6%);
	}

	.contBtnWrap01 {
		text-align: center;
		margin-top: 42px;
	}

	.contBtnWrap01 a {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
		box-sizing: border-box;
		padding: 10px 30px 10px 10px;
		height: 80px;
		width: 100%;
		margin: auto;
		border-radius: 200px;
		background-color: #EF296E;
		font-size: 17px;
		line-height: 1.3em;
		font-weight: 800;
		text-decoration: none;
		color: #ffffff;
		box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.5);
		-webkit-box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.5);
		-moz-box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.5);
		-o-box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.5);
		-ms-box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.5);
	}

	.contBtnWrap01 a .s01 {
		display: flex;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
		padding: 5px;
		width: 160px;
		height: 26px;
		border-radius: 100px;
		background-color: #ffffff;
		color: #942248;
		box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.5);
		-webkit-box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.5);
		-moz-box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.5);
		-o-box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.5);
		-ms-box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.5);
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		top: -13px;
	}

	.contBtnWrap01 a .s01 .s01_text-img {
		width: 122px;
		height: auto;
	}

	.contBtnWrap01 a::after {
		content: "";
		background-image: url("../img/cont_btn_ar01.png");
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 22px auto;
		width: 22px;
		height: 22px;
		position: absolute;
		right: 15px;
		top: 50%;
		transform: translateY(-50%);
	}

	.bottomImgWrap01 {
		background-image: url("../img/cont_bottom_img01_sp.jpg");
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
		height: 100px;
	}

	/*------------------------*/

	.contDecoSp01 {
		width: 95vw;
		position: absolute;
		top: 30px;
		left: 50%;
		transform: translateX(-50%);
	}

	/* 再生ボタン */
	.play-btn {
		width: 40px;
		height: 40px;
	}
}



/* -------------------------------------------------------------------- 
 footer
-------------------------------------------------------------------- */

/* Animation */
.target {
	animation: floating-y 1.8s ease-in-out infinite alternate-reverse;
}

@keyframes floating-y {
	0% {
		transform: translateY(-10%);
	}

	100% {
		transform: translateY(10%);
	}
}

.floatBtn01 {
	position: fixed;
	right: 20px;
	bottom: 50px;
	z-index: 100;
}

.footerWrap01 {
	background-color: #942248;
	padding: 20px 0px;
}

.copyright01 {
	text-align: center;
	color: #ffffff;
	font-size: 14px;
	line-height: 1.6em;
	font-weight: bold;
}




/*@media screen and (max-width:768px) {*/
@media screen and (max-width:767px) {

	.floatBtn01 {
		position: fixed;
		right: 0px;
		bottom: 0px;
	}

	.footerWrap01 {
		background-color: #942248;
		padding: 5.33vw 0px 21.33vw;
	}

	.copyright01 {
		text-align: center;
		color: #ffffff;
		font-size: 14px;
		line-height: 1.6em;
		font-weight: bold;
	}



}


/*-----*/