@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
.container {
	overflow: hidden;
}
#main {
	padding: 10.5rem 0 6.8rem;
	overflow: hidden;
}
#main .comTxt {
	font-size: 3.5rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.4;
	white-space: nowrap;
}
#main .comTxt span {
	padding: 0.2rem 1rem 1.2rem;
	display: block;
	width: fit-content;
	line-height: 1.2;
	transform: rotate(-11deg);
	position: relative;
	z-index: 2;
}
#main .comTxt span::after {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
	content: "";
	z-index: -1;
}
#main .comTxt span::before {
	position: absolute;
	left: 1rem;
	top: 1rem;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, #FFFF00, #00FF00, #00FFFF, #AF3DFF, #FF00FF, #FF6600);
	background-size: 2000% 100%;
	animation: gradientMove 10s ease-in-out infinite alternate;
	content: "";
	z-index: -1;
}
#main .comTxt .sub02 {
	margin: -7.3rem 0 0 22.5rem;
}
#main .mainVisual {
	margin-bottom: 8.5rem;
	padding: 2rem 0 5.5rem;
	position: relative;
}
#main .mainVisual .navBox {
	position: absolute;
	left: 0;
	top: -7.6rem;
	width: 100%;
}
#main .mainVisual .navBox ul {
	margin: 0 auto;
	width: 100%;
	max-width: 66.1rem;
	background-color: rgba(255, 255, 255, 0.8);
	border-radius: 3rem;
	position: relative;
	--ind: 0;
}
#main .mainVisual .navBox ul:after {
	position: absolute;
	left: calc(var(--ind) * 100%/3);
	top: 0;
	width: calc((100% - 4px)/3);
	height: 100%;
	border-radius: 3rem;
	border: 2px solid #fff;
	background-color: #000;
	box-sizing: border-box;
	content: "";
	transition: .3s;
	pointer-events: none;
}
#main .mainVisual .navBox li {
	width: calc(100%/3);
}
#main .mainVisual .navBox a {
	position: relative;
	height: 5.3rem;
	font-size: 1.2rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	display: flex;
	align-items: center;
	justify-content: center;
}
#main .mainVisual .navBox a span {
	position: relative;
	z-index: 1;
}
#main .mainVisual:after {
	position: absolute;
	left: 0;
	bottom: -5rem;
	width: 100%;
	height: 67.9rem;
	content: "";
	background: linear-gradient(0deg, rgba(240, 239, 233, 1) 0%, rgba(240, 239, 233, 0.9) 20%, rgba(240, 239, 233, 0) 100%);
	z-index: 1;
}
#main .mainVisual .note {
	position: absolute;
	right: 2.3rem;
	top: -8rem;
	z-index: 1;
	width: 12rem;
	height: 12rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	overflow: hidden;
}
#main .mainVisual .note img {
	width: 7.3rem;
}
#main .mainVisual .bgTtl {
	position: absolute;
	left: 50%;
	top: 0;
	transform: translateX(-50%);
	width: 105.4%;
	text-align: center;
	z-index: -1;
}
#main .mainVisual .bgTtl img {
	width: 143.9rem;
}
#main .mainVisual .enTtl {
	margin-top: -2.8rem;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	text-align: center;
	z-index: 3;
	width: 100%;
	max-width: 132.9rem;
}
#main .mainVisual .enTtl::before {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	mask-image: url(../img/index/mv_img03.png);
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: 100% auto;
	content: "";
	background: linear-gradient(90deg, #FFFF00, #00FF00, #00FFFF, #AF3DFF, #FF00FF, #FF6600);
	background-size: 2000% 100%;
	animation: gradientMove 10s ease-in-out infinite alternate;
}
#main .mainVisual .enTtl img {
	opacity: 0;
}
#main .mainVisual .inner {
	margin: 0 auto;
	max-width: 123rem;
	padding: 0 2rem;
	position: relative;
	z-index: 2;
	align-items: center;
}
#main .mainVisual .inner .txtBox {
	padding-top: 7.3rem;
	max-width: 71rem;
}
#main .mainVisual .inner .txtBox p {
	margin-bottom: 1.7rem;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.56;
	letter-spacing: 0.04em;
}
#main .mainVisual .inner .txtBox p:last-child {
	margin-bottom: 0 !important;
}
#main .mainVisual .inner .txtBox p .bgTxt {
	color: #ffff00;
	padding: 0;
	background-image: linear-gradient(left, transparent 50%, #000 10%);
	background-image: -webkit-linear-gradient(left, transparent 50%, #000 10%);
	background-position: 0 0.4rem;
	background-size: 200% 2rem;
	background-repeat: repeat-x;
}
#main .mainVisual .inner .txtBox p .bgTxt::before {
	display: none;
}
#main .mainVisual .inner .txtBox p .bgTxt.scroll-in {
	background-position-x: -100%;
	animation: none !important;
	transition: 2s;
}
#main .mainVisual .inner .txtBox .title {
	margin-bottom: 4rem;
	font-size: 8.7rem;
	letter-spacing: 0.18em;
	line-height: 1.38;
}
#main .mainVisual .inner .phoBox {
	position: absolute;
	right: -49.4rem;
	top: 0;
	width: 111rem;
}
#main .mainVisual .itemList {
	position: absolute;
	right: -13rem;
	bottom: -3.7rem;
	text-align: center;
	width: 84.8rem;
	mask: linear-gradient(to right, transparent 0%, black 20%, black 80%, transparent 100%);
}
#main .mainVisual .itemList li {
	padding: 8.5rem 0;
	position: relative;
	margin: 0 auto;
	width: fit-content !important;
}
#main .mainVisual .itemList li:not(:first-child) {
	display: none;
}
#main .mainVisual .itemList .item03 .sub02 {
	margin: -7rem 0 0 16.5rem;
}
@media all and (max-width: 1300px) {
	#main .mainVisual .itemList li {
		right: 0;
	}
	#main .mainVisual .inner .txtBox .title {
		font-size: 8.6rem
	}
	#main .mainVisual .inner .phoBox {
		width: 109rem;
	}
}
#main .bgTxt {
	position: relative;
	z-index: 2;
	transition: 5s;
	background: linear-gradient(90deg, #FFFF00, #00FF00, #00FFFF, #AF3DFF, #FF00FF, #FF6600);
	background-size: 400rem 0.9rem;
	background-position: -400rem 1.7rem;
	background-repeat: no-repeat;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
}
#main .bgTxt.scroll-in {
	background-position-x: 0;
}
#main .bgTxt.scroll-in.play {
	animation: gradientMove 10s ease-in-out infinite alternate;
}
/* #main .bgTxt, #main .lineTxt {
	background-image: linear-gradient(left, transparent 50%, #FFFF00 10%);
	background-image: -webkit-linear-gradient(left, transparent 50%, #FFFF00 10%);
	background-repeat: repeat-x;
	background-size: 200% .9rem;
	background-position: 0 1.7rem;
	transition: all 2s ease;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
}
#main .bgTxt.scroll-in, #main .lineTxt.scroll-in {
	background-position: -100% 1.7rem;
} */
#main .point {
	padding: 5rem 0 14.6rem;
}
#main .point .content {
	max-width: 126.6rem;
}
#main .point .midBox {
	padding: 3rem;
	transform: scale(1.5);
	transition: 2s;
}
#main .point .midBox.on {
	transform: scale(1);
}
#main .point .midBox .dely {
	transition: 1s;
	transition-delay: 1s;
}
#main .point .midBox .logo {
	width: 21.9rem;
}
#main .point .midBox .listBox {
	position: relative;
	height: 63.6rem;
	display: flex;
	align-items: center;
	justify-content: center;
}
#main .point .midBox .phoList li {
	position: absolute;
	width: calc((100% - 1rem)/3.29);
	height: 20.4rem;
}
#main .point .midBox .phoList li > div {
	border-radius: 2.4rem;
	overflow: hidden;
}
#main .point .midBox .phoList img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#main .point .midBox .phoList p {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	padding: 2.2rem 2.5rem 3rem 3.5rem;
	color: #fff;
	font-size: 1.4rem;
	font-weight: 300;
	line-height: 1.3;
}
#main .point .midBox .phoList p .ttl {
	display: block;
	width: 100%;
	font-size: 2.9rem;
	font-weight: 700;
	line-height: 1.7;
	letter-spacing: 0.02em;
}
#main .point .midBox .phoList p.bottom {
	padding-left: 3rem;
	display: flex;
	flex-wrap: wrap;
	align-content: flex-end;
	align-items: flex-end;
}
#main .point .midBox .phoList p.right {
	padding: 1.5rem 2rem 2rem;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}
#main .point .midBox .phoList p.right .sub {
	max-width: 22rem;
}
#main .point .midBox .phoList .pho01 {
	left: 0;
	top: 0;
}
#main .point .midBox .phoList .pho02 {
	width: calc((100% - 1rem)/2.6);
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	height: 13.9rem;
}
#main .point .midBox .phoList .pho03 {
	right: 0;
	top: 0;
}
#main .point .midBox .phoList .pho04 {
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
#main .point .midBox .phoList .pho05 {
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}
#main .point .midBox .phoList .pho06 {
	left: 0;
	bottom: 0;
}
#main .point .midBox .phoList .pho07 {
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	width: calc((100% - 1rem)/2.6);
	height: 13.9rem;
}
#main .point .midBox .phoList .pho08 {
	right: 0;
	bottom: 0;
}
@media all and (max-width: 1280px) {
	#main .point .midBox .phoList p .ttl {
		font-size: 2.8rem;
		letter-spacing: 0;
	}
}
#main .cta h3 {
	margin-bottom: 1.4rem;
	color: #fff;
	font-size: 2.1rem;
	line-height: 1.45;
	letter-spacing: 0.13em;
}
#main .cta h3 .yellow {
	color: #ffff00;
}
#main .cta .imgBox {
	margin: 0 auto 3.4rem;
	max-width: 83.7rem;
	align-items: flex-start;
}
#main .cta .imgBox .phoBox {
	width: 28.1rem;
}
#main .cta .imgBox .phoList {
	margin-bottom: -2.8rem;
	align-items: flex-end;
	flex-wrap: nowrap;
	position: relative;
	mask: linear-gradient(to bottom, black 65%, transparent 100%);
}
#main .cta .imgBox .phoList .photo01 {
	margin-bottom: -0.4rem;
	width: 13rem;
}
#main .cta .imgBox .phoList .photo02 {
	margin: 0 -9rem -3.6rem;
	width: 20.3rem;
	position: relative;
	z-index: 1;
}
#main .cta .imgBox .phoList .photo03 {
	width: 12.8rem;
}
#main .cta .imgBox .phoBox .phoTxt {
	margin: 0 auto;
	width: 26.9rem;
	position: relative;
	z-index: 1;
}
#main .cta .imgBox .txtBox {
	margin: 2rem 0 0 4rem;
	flex: 1;
	text-align: center;
}
#main .cta .imgBox .ttl {
	padding-bottom: 0.7rem;
	color: #fff;
	font-size: 2.3rem;
	font-weight: 900;
	line-height: 1.8;
	margin-bottom: 0.8rem;
	letter-spacing: 0.04em;
	border-bottom: 1px solid #fff;
}
#main .cta .imgBox .ttl .symbol {
	font-weight: 500;
}
#main .cta .imgBox .ttl .bgTtl {
	display: block;
	margin: 0 auto;
	padding: 0 2.8rem;
	font-size: 2.4rem;
	font-weight: 900;
	letter-spacing: 0.06em;
	width: fit-content;
	position: relative;
}
#main .cta .imgBox .ttl .bgTtl:before,
#main .cta .imgBox .ttl .bgTtl:after {
	position: absolute;
	left: 0;
	top: 50%;
	margin-top: -1.5rem;
	width: 1.6rem;
	height: 3.1rem;
	background: url(../img/index/ttl_bg03.png) no-repeat left top / 100% auto;
	animation: left 2s linear infinite, opacity 2s linear infinite;
	content: "";
}
#main .cta .imgBox .ttl .bgTtl:after {
	left: auto;
	right: 0;
	background-image: url(../img/index/ttl_bg04.png);
	animation: right 2s linear infinite, opacity 2s linear infinite;
}
#main .cta .imgBox .ttl .large {
	font-size: 2.46rem;
	font-weight: 900;
	letter-spacing: 0.06em;
}
#main .cta .imgBox .price {
	margin: 0 -1rem;
	color: #fff;
	font-size: 5rem;
	font-weight: 700;
	line-height: 1;
	font-family: "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	text-align: center;
}
#main .cta .imgBox .price .sub {
	font-size: 5.3rem;
}
#main .cta .imgBox .price .large {
	margin-left: 1rem;
	color: #ffff00;
	font-size: 5.3rem;
	position: relative;
	display: inline-block;
}
#main .cta .imgBox .price .large .num {
	font-size: 8.4rem;
	font-family: "Roboto", sans-serif;
}
#main .cta .imgBox .price .large .sml {
	position: absolute;
	right: 0.5rem;
	top: 1rem;
	color: #fff;
	font-size: 1.5rem;
}
#main .btn a {
	width: 36.8rem;
	margin: 0 auto;
	height: 7.6rem;
	padding-bottom: 0.4rem;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 2.14rem;
	font-weight: 700;
	color: #fff;
	letter-spacing: 0.12em;
	background: rgba(0, 0, 0, 0.5);
	border: 0.4rem solid #fff;
	border-radius: 5rem;
}
#main .study h2 {
	margin-bottom: 4.5rem;
}
#main .study .bgSec {
	padding: 9rem 0 8rem;
	background: url(../img/index/study_bg.jpg) no-repeat center top/cover;
}
#main .study .movie {
	margin: 0 auto 8.8rem;
	max-width: 81.8rem;
	position: relative;
	aspect-ratio: 818/453;
	border-radius: 4rem;
	overflow: hidden;
}
#main .study .movie video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
#main .study .movie iframe {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 101%;
	display: block;
}
#main .study .movie .playCover {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: url(../img/index/samune.png) no-repeat left top / cover;
	z-index: 20;
	transition: all 0.3s;
}
#main .study .movie .playCover.hide {
	opacity: 0;
	visibility: hidden;
}
#main .study .movie .playBtn {
	position: absolute;
	left: 50%;
	top: 50%;
	margin: -5.5rem 0 0 -5.5rem;
	width: 11rem;
	z-index: 1;
	cursor: pointer;
	transition: .3s;
}
#main .about {
	padding: 10.8rem 0;
}
#main .about .slider {
	margin: 0 auto;
	max-width: calc(100vw - 24rem);
}
#main .about .foo {
	margin: 0 -3rem;
	position: relative;
}
#main .about .foo .slick-list {
	overflow: visible;
}
#main .about .foo .flexBox {
	padding: 4rem 4.7rem 4.7rem;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	background: #EEEDE7;
	border-radius: 4.1rem;
	box-shadow: 1rem 3rem 1.5rem rgba(0, 0, 0, 0.05), -1rem 4rem 1.5rem rgba(0, 0, 0, 0.05), 0 1.5rem 2rem rgba(0, 0, 0, 0.03);
}
#main .about .foo .slick-list li {
	padding: 0 3rem;
}
#main .about .foo > li:not(:first-child) {
	display: none;
}
#main .about .foo .phoBox {
	margin: 0.2rem 3.5rem 0 0;
	width: 24.6rem;
}
#main .about .foo .phoBox .pho {
	margin-bottom: 2rem;
	position: relative;
}
#main .about .foo .phoBox .pho p {
	position: absolute;
	bottom: 2rem;
	left: -0.7rem;
	font-size: 1.58rem;
	white-space: nowrap;
}
#main .about .foo .phoBox .pho p span {
	padding: 0.2rem 0.4rem 0.3rem;
	margin: 0 auto;
}
#main .about .foo .phoBox .pho p span::before {
	left: 0.5rem;
	top: 0.5rem;
}
#main .about .foo .phoBox .ttl {
	position: relative;
	font-size: 1.4rem;
	text-align: center;
	z-index: 2;
}
#main .about .foo .phoBox .ttl::before {
	position: absolute;
	left: 0.1rem;
	top: 0.1rem;
	width: 100%;
	height: 100%;
	content: attr(data-text);
	color: transparent;
	background: linear-gradient(90deg, #FFFF00, #00FF00, #00FFFF, #AF3DFF, #FF00FF, #FF6600);
	background-size: 2000% 100%;
	background-clip: text;
	animation: gradientMove 10s ease-in-out infinite alternate;
	z-index: -1;
}
#main .about .foo .txtBox {
	flex: 1;
}
#main .about .foo .txtBox h3 {
	margin: 0 0 3.6rem 3.5rem;
	padding: 0.5rem 0.5rem 0.9rem;
	position: relative;
	font-size: 1.9rem;
	letter-spacing: 0.04em;
	text-align: center;
	background-color: #fff;
	border-radius: 3rem;
	box-shadow: 1rem 2rem 1.5rem rgba(0, 0, 0, 0.03), -1rem 2.6rem 1rem rgba(0, 0, 0, 0.01), 0 1.5rem 2rem rgba(0, 0, 0, 0.03);
}
#main .about .foo .txtBox h3:before {
	position: absolute;
	left: -3.8rem;
	bottom: 0;
	width: 3.3rem;
	height: 1.9rem;
	background: url(../img/index/ttl_bg05.png) no-repeat left top/100%;
	content: "";
}
#main .about .foo .txtBox .subBox h4 {
	padding-bottom: 3rem;
	width: 45%;
	display: flex;
	align-items: center;
	font-size: 3.46rem;
	line-height: 1.65;
	letter-spacing: 0.04em;
	border-right: 2px solid #D9D8D2;
}
#main .about .foo .txtBox .subBox .rBox {
	padding: 2rem 0 2rem 3.5rem;
	flex: 1;
	min-height: 31.1rem;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	align-content: center;
	border-left: 2px solid rgba(255, 255, 255, 0.5);
}
#main .about .foo .rBox p {
	font-size: 1.4rem;
	font-weight: 500;
	margin-bottom: 1.8rem;
	letter-spacing: 0.04em;
	line-height: 1.43;
}
#main .about .foo .rBox p:last-child {
	margin-bottom: 0;
}
#main .about .foo .card03 .phoBox .pho p {
	left: 3rem;
}
#main .about .foo .card03 .phoBox .pho p span:first-child {
	margin: 0 0 -0.2rem;
}
#main .about .foo .rBox p .bgTxt {
	font-weight: 700;
	padding: 0;
	position: relative;
	z-index: 2;
	background-position-y: 0;
	background-size: 400rem 100%;
}
#main .about .slick-dots {
	position: absolute;
	left: 0;
	width: 100%;
	display: flex;
	justify-content: center;
	bottom: -4.5rem;
	z-index: 10;
}
#main .about .slick-dots li {
	margin: 0 0.6rem;
	display: inline-block;
	width: 0.7rem;
	height: 0.7rem;
	border-radius: 50%;
	background: none;
	opacity: 0.15;
	background-color: #000;
	cursor: pointer;
}
#main .about .slick-dots li button {
	display: none;
}
#main .about .slick-dots li.slick-active {
	opacity: 0.5;
}
#main .subject {
	padding: 5.7rem 0 5.3rem;
	position: relative;
	background: url(../img/index/subject_bg.jpg) no-repeat center top/cover;
}
#main .subject:before {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 36.5rem;
	height: 66.5rem;
	background: url(../img/index/subject_img01.png) no-repeat left top/100%;
	content: "";
}
#main .subject:after {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 36.5rem;
	height: 66.5rem;
	background: url(../img/index/subject_img02.png) no-repeat left top/100%;
	content: "";
}
#main .subject h2 {
	margin-bottom: 11.4rem;
	letter-spacing: 0.16em;
}
#main .subject h2 .min {
	margin-right: 1rem;
	vertical-align: -1rem;
	width: 14.6rem;
	display: inline-block;
}
#main .subject .txtBox {
	margin: 0 auto;
	max-width: 53.6rem;
}
#main .subject .txtBox p {
	margin-bottom: 3.5rem;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.65;
	letter-spacing: 0.12em;
	text-align: justify;
}
#main .help {
	padding: 12.8rem 0 10.5rem;
}
#main .help h2 {
	margin-bottom: 2rem;
}
#main .help .listUl {
	margin: 0 -0.8rem;
}
#main .help .listUl li {
	margin: 0 -1.22rem;
	width: calc(((100% + 7.2rem)/3));
	position: relative;
}
#main .help .listUl img {
	width: 100%;
}
#main .help .listUl .midImg {
	position: absolute;
	bottom: 11rem;
	left: 50%;
	width: 26.5rem;
	transform: translateX(-50%);
}
#main .help .listUl .midImg02 {
	width: 26.4rem;
	bottom: 8.5rem;
}
#main .help .listUl .midImg03 {
	width: 26.4rem;
	bottom: 7.5rem;
}
#main .message {
	margin-bottom: 10rem;
}
#main .message .content {
	max-width: 112rem;
}
#main .message .phoBox {
	margin: 1rem 7.3rem 0 0;
	width: 25.3rem;
}
#main .message .movie {
	margin-bottom: 2.7rem;
	aspect-ratio: 253/354;
	border-radius: 12.4rem;
	position: relative;
	overflow: hidden;
}
#main .message .movie:after {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	box-shadow: inset 1rem 0 1rem -1rem rgba(0, 0, 0, 0.3), 
    inset -1rem 0 1rem -1rem rgba(0, 0, 0, 0.3), 
    inset 0 6rem 6rem -4rem rgba(0, 0, 0, 0.5); 
	z-index: 1;
	content: "";
}
#main .message .movie img {
	margin: -2% 0;
	width: 100%;
	height: 104%;
	object-fit: cover;
	object-position: center top;
	display: block;
}
#main .message .phoBox p {
	position: relative;
	font-size: 1.4rem;
	text-align: center;
	z-index: 2;
}
#main .message .phoBox p::before {
	position: absolute;
	left: 0.1rem;
	top: 0.1rem;
	width: 100%;
	height: 100%;
	content: 'for YOU';
	color: transparent;
	background: linear-gradient(90deg, #FFFF00, #00FF00, #00FFFF, #AF3DFF, #FF00FF, #FF6600);
	background-size: 2000% 100%;
	background-clip: text;
	animation: gradientMove 10s ease-in-out infinite alternate;
	z-index: -1;
}
#main .message .txtBox {
	flex: 1;
	position: relative;
}
#main .message .txtBox h2 {
	margin-bottom: 3.5rem;
	font-size: 5.2rem;
	letter-spacing: 0.16em;
	line-height: 1.4;
}
#main .message .txtBox p {
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 2;
	margin-bottom: 2.5rem;
	letter-spacing: 0.16em;
}
#main .message .txtBox .txt01 {
	margin-bottom: 3.5rem;
}
#main .message .txtBox .info {
	margin: 6.3rem 0 0;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.1em;
}
#main .message .txtBox .info .large {
	margin-top: 1rem;
	display: block;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: 0.08em;
}
#main .message .txtBox .mark {
	position: absolute;
	right: 10.5rem;
	bottom: -4rem;
	width: 24.6rem;
}
#main .voice {
	padding: 10.5rem 0 12rem;
}
#main .voice h2 {
	margin-bottom: 3.8rem;
}
#main .voice .comBgBox {
	padding: 0 5rem 1.4rem;
}
#main .voiceList li {
	padding: 4.4rem 0;
	display: flex;
	align-items: center;
	border-top: 2px solid rgba(255, 255, 255, 0.5);
	border-bottom: 2px solid #D9D8D2;
}
#main .voiceList li:first-child {
	border-top: none;
}
#main .voiceList li:last-child {
	border-bottom: none;
}
#main .voiceList .timeBox {
	width: 25rem;
	align-items: flex-start;
}
#main .voiceList .pho {
	margin-left: -0.5rem;
	width: 5.3rem;
	height: 5.3rem;
	border-radius: 50%;
	overflow: hidden;
	border: 2px solid #D9D8D2;
}
#main .voiceList .pho img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#main .voiceList .time {
	flex: 1;
	margin: 0.6rem 0 0 1.5rem;
	font-size: 1.4rem;
	line-height: 1.36;
	font-weight: 500;
	letter-spacing: 0.12em;
}
#main .voiceList h3 {
	flex: 1;
	font-size: 3rem;
	letter-spacing: 0.08em;
}
#main .voiceList h3 .bgTxt {
	background-size: 400rem 1.2rem;
	background-position-y: 3rem;
}
#main .voiceList h3 .bgTxt.scroll-in {
	background-position-y: 3rem;
}
#main .voiceList .note {
	margin-right: -1.4rem;
	padding-bottom: 0.4rem;
	transform: rotate(-11deg) scale(5);
	width: 7.1rem;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.04em;
	text-align: center;
	border: 0.3rem solid #000;
	border-radius: 0.9rem;
	box-shadow: 0.2rem 0.2rem 0 #C1C1BC;
	opacity: 0;
	transition: .3s;
	transition-delay: 1s;
}
#main .animate.on .voiceList .note {
	opacity: 1;
	transform: scale(1) rotate(-11deg);
}
#main .animate.on .voiceList li:nth-child(2) .note {
	transition-delay: 1.3s;
}
#main .animate.on .voiceList li:nth-child(3) .note {
	transition-delay: 1.6s;
}
#main .comInfoBox {
	padding: 1rem;
}
#main .comInfoBox h3 {
	border-radius: 3.2rem 3.2rem 0 0;
	overflow: hidden;
}
#main .comInfoBox .inner {
	padding: 5rem 5.7rem 5.5rem;
	position: relative;
}
#main .comInfoBox .inner .rPho {
	position: absolute;
	right: 2rem;
	top: -17rem;
	width: 26.5rem;
	z-index: 1;
}
#main .comInfoBox .inner .enTxt {
	position: absolute;
	padding-bottom: 11rem;
	right: 3rem;
	top: 2.5rem;
	width: 38.3rem;
}
#main .comInfoBox .inner .enTxt:after {
	position: absolute;
	bottom: 0;
	right: -3.5rem;
	width: 44.8rem;
	aspect-ratio: 896/132;
	mix-blend-mode: multiply;
	background: url(../img/index/bg_shadow.png) no-repeat left top/100%;
	content: "";
}
#main .effects {
	padding: 3rem 0 6rem;
}
#main .effects h2 {
	margin-bottom: 3.4rem;
}
#main .effects .checkList {
	padding-bottom: 4.5rem;
	border-bottom: 2px solid #D9D8D2;
}
#main .effects .checkList li {
	padding-left: 2.6rem;
	font-size: 2.05rem;
	line-height: 1.93;
	font-weight: 700;
	letter-spacing: 0.06em;
	background: url(../img/index/icon_check.png) no-repeat left 1.1rem/2rem auto;
}
#main .effects .sub {
	padding: 3.9rem 0 0;
	border-top: 2px solid rgba(255, 255, 255, 0.5);
}
#main .effects .sub h4 {
	padding-left: 4.8rem;
	margin-bottom: 5.5rem;
	font-size: 2.8rem;
	letter-spacing: 0.08em;
	background: url(../img/index/effects_ttl_img.png) no-repeat left top/4rem auto;
}
#main .effects .slideBox {
	margin: 0 auto 2.5rem;
	max-width: 90rem;
	position: relative;
}
#main .effects .slideBox .prev,
#main .effects .slideBox .next {
	position: absolute;
	left: -2.4rem;
	top: 9.8rem;
	width: 1.3rem;
	cursor: pointer;
	transition: .3s;
}
#main .effects .slideBox .next {
	left: auto;
	right: -2.4rem;
}
#main .effects .slideBox .foo .slick-list {
	padding-bottom: 2rem;
}
#main .effects .slideBox .foo li {
	text-align: center;
	cursor: pointer;
}
#main .effects .slideBox .foo img {
	margin: 0 auto 1.5rem;
	height: 13.9rem;
	display: block;
}
#main .effects .slideBox .foo p {
	display: inline-block;
	padding: 0.1rem 0.5rem 0.4rem;
	position: relative;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.06em;
	transition: .3s;
}
#main .effects .slideBox .foo p:after {
	opacity: 0;
	position: absolute;
	left: 50%;
	width: 1.6rem;
	height: 0.8rem;
	bottom: -0.8rem;
	transition: .3s;
	transform: translateX(-50%);
	background-color: #000;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	content: "";
}
#main .effects .slideBox .foo .slick-current p {
	color: #FFFF00;
	background-color: #000;
}
#main .effects .slideBox .foo .slick-current p:after {
	opacity: 1;
}
#main .effects .txt {
	margin: 0 auto 6.8rem;
	max-width: 78rem;
	font-size: 3rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.06em;
	text-align: justify;
}
#main .effects .txt span {
	padding: 0 0.5rem;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
}
#main .effects .btn a {
	width: 22rem;
	height: 4.4rem;
	color: #000;
	font-size: 1.4rem;
	letter-spacing: 0.08em;
	border-width: 0.3rem;
	border-color: #000;
	background: none;
}
#main .creative {
	padding: 7.2rem 0;
}
#main .creative h2 {
	margin-bottom: 3.5rem;
}
#main .creative .comInfoBox .inner {
	padding-top: 4.7rem;
	padding-bottom: 4.4rem;
}
#main .creative .comInfoBox .enTxt {
	padding-bottom: 14.8rem;
}
#main .creative .comInfoBox .rPho {
	right: 1.3rem;
	top: -11.7rem;
	width: 32rem;
}
#main .creative .comInfoBox .text {
	margin-bottom: 6.7rem;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.55;
	letter-spacing: 0.12em;
}
#main .creative .flowBox {
	position: relative;
}
#main .creative .flowBox img {
	position: relative;
	z-index: 1;
}
#main .creative .flowBox .movie {
	position: absolute;
	right: 0.1rem;
	top: 2rem;
	width: 8.4rem;
	border-radius: 50%;
	overflow: hidden;
}
#main .creative .flowBox .movie img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#main .creative .flowBox:after {
	position: absolute;
	right: 0;
	top: 0.4rem;
	width: 8.1rem;
	height: calc(100% - 1.1rem);
	box-shadow: 0.6rem 0.6rem 0 #D0CFCA;
	border-radius: 4rem;
	content: "";
	background: linear-gradient(90deg, #FFFF00, #00FF00, #00FFFF, #AF3DFF, #FF00FF, #FF6600);
	background-size: 2000% 100%;
	animation: gradientMove 10s ease-in-out infinite alternate;
}
#main .broadcast {
	padding: 10.8rem 0 3.55rem;
}
#main .broadcast h2 {
	margin-bottom: 10rem;
	font-size: 4rem;
	line-height: 1.3;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-align: center;
}
#main .broadcast h2 .bgTxt {
	font-size: 8.4rem;
	letter-spacing: 0.04em;
	font-style: italic;
	background-size: 400rem 3.4rem;
	background-position-y: 8.6rem;
}
#main .broadcast h2 .bgTxt.scroll-in {
	background-position-y: 8.6rem;
}
#main .broadcast .sub {
	padding-top: 7.5rem;
	position: relative;
	overflow: hidden;
}
#main .broadcast .item {
	position: absolute;
	width: 30.9rem;
	top: 0;
	left: -10rem;
}
#main .broadcast .item img {
	transition: .5s;
}
#main .broadcast .item img:nth-child(2) {
	position: absolute;
	left: 0;
	top: 0;
}
#main .broadcast .item .hide {
	opacity: 0;
}
#main .broadcast .h3Ttl {
	margin: 0 auto -0.8rem;
	padding: 0 2.8rem 0 3.7rem;
	width: fit-content;
	position: relative;
	font-size: 4rem;
	line-height: 1.8;
	letter-spacing: 0.06em;
	text-align: center;
}
#main .broadcast .h3Ttl:before,
#main .broadcast .h3Ttl:after {
	position: absolute;
	left: 0;
	top: 50%;
	margin-top: -1.5rem;
	width: 1.6rem;
	height: 3.1rem;
	background: url(../img/index/ttl_bg01.png) no-repeat left top/100% auto;
	animation: left 2s linear infinite, opacity 2s linear infinite;
	content: "";
}
#main .broadcast .h3Ttl:after {
	left: auto;
	right: 0;
	background-image: url(../img/index/ttl_bg02.png);
	animation: right 2s linear infinite, opacity 2s linear infinite;
}
@keyframes left {
	0% {
		transform: translateX(2rem) scale(0);
	}
	50% {
		transform: translateX(-0.2rem) scale(1);
	}
	100% {
		transform: translateX(-0.2rem) scale(1);
	}
}
@keyframes right {
	0% {
		transform: translateX(-2rem) scale(0);
	}
	50% {
		transform: translateX(0.2rem) scale(1);
	}
	100% {
		transform: translateX(0.2rem) scale(1);
	}
}
@keyframes opacity {
	0% {
		opacity: 0;
	}
	10% {
		opacity: 1;
	}
	30% {
		opacity: 1;
	}
	55% {
		opacity: 0;
	}
	100% {
		opacity: 0;
	}
}
#main .broadcast .infoList {
	padding: 3rem 8.8rem 7rem;
	position: relative;
	z-index: 1;
	/* padding: 3rem 0 7rem 0; */
	display: flex;
	flex-wrap: nowrap;
	/* justify-content: center; */
	overflow-x: auto;
	overflow-y: hidden;
	scrollbar-width: none;
}
#main .broadcast .infoList li {
	/* margin: 0 0.8rem; */
	margin: 0 0.1rem 0 1.5rem;
	width: 38.3rem;
	flex-shrink: 0;
}
#main .broadcast .infoList a, #main .broadcast .infoList .bgSub {
	display: block;
	height: 100%;
	padding: 0.5rem;
	border-radius: 4.6rem;
	overflow: hidden;
	box-shadow: 0 2rem 3rem rgba(0, 0, 0, 0.14);
	background: #f0efe9;
}
#main .broadcast .infoList .infoBox {
	height: 100%;
	display: block;
	padding: 0.5rem 0.5rem 2.1rem;
	border: 0.2rem solid #000;
	border-radius: 4.2rem;
}
#main .broadcast .infoList .coming .infoBox {
	display: flex;
	justify-content: center;
	align-items: center;
}
#main .broadcast .infoList .coming .infoBox img {
	width: 24.3rem;
}
#main .broadcast .infoList .photo {
	display: block;
	position: relative;
	border-radius: 3.5rem 3.5rem 0 0;
	overflow: hidden;
	will-change: transform;
}
#main .broadcast .infoList .photo > img {
	height: 26.1rem;
	width: 100%;
	object-fit: cover;
}
#main .broadcast .infoList .photo .label {
	position: absolute;
	left: 2.3rem;
	top: 2.2rem;
	width: 6.1rem;
	height: 4rem;
	z-index: 10;
}
#main .broadcast .infoList .txtBox {
	padding: 2.8rem 2.6rem 1rem 3.2rem;
}
#main .broadcast .infoList .ttl {
	margin-bottom: 3rem;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.11em;
	text-align: justify;
}
#main .broadcast .infoList .sml {
	margin-bottom: 4.5rem;
	font-size: 0.9rem;
	font-weight: 300;
	line-height: 1.67;
	letter-spacing: 0.02em;
}
#main .broadcast .infoList .tag {
	margin-bottom: 5rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}
#main .broadcast .infoList .tag span {
	padding: 0.2rem 0.6rem;
	color: #fff;
	font-size: 1rem;
	letter-spacing: 0.08em;
	background: #989793;
	border-radius: 0.5rem;
}
#main .broadcast .infoList .btnBox {
	align-items: center;
	justify-content: flex-end;
}
#main .broadcast .infoList .btnBox .en {
	margin: 0.8rem 0 0 0.3rem;
	width: 9.9rem;
}
#main .broadcast .infoList .linkBtn span {
	padding: 0 1.6rem 0.3rem 1.5rem;
	display: block;
	border: 0.1rem solid #000;
	border-radius: 3rem;
	width: 10.3rem;
	height: 3.4rem;
	font-size: 1.2rem;
	line-height: 3rem;
	transition: .3s;
	background: url(../img/common/icon01.png) no-repeat right 0.6rem center;
	background-size: 2.2rem auto;
	letter-spacing: 0.08em;
}
#main .broadcast .sub02 {
	margin: -2.2rem 0 1.8rem;
	padding-top: 6.4rem;
	padding-bottom: 2rem;
}
#main .broadcast .sub02 .item02 {
	left: auto;
	right: -3.9rem;
	width: 26.5rem;
}
#main .broadcast .sub02 .item03 {
	top: auto;
	bottom: 0;
	left: -19.1rem;
	width: 49.5rem;
}
#main .broadcast .sub02 .h3Ttl {
	margin-bottom: 1.5rem;
}
#main .broadcast .linkBox {
	position: relative;
}
#main .broadcast .linkBox .linkSwiper {
	padding: 1rem 25.8rem 6rem;
}
#main .broadcast .linkBox .linkList {}
#main .broadcast .linkBox .linkList li {
	width: 85rem;
	flex-shrink: 0;
	margin: 0 5.5rem;
}
#main .broadcast .linkBox .linkList li:last-child {
	margin-right: 0;
}
#main .broadcast .linkBox a {
	position: relative;
	z-index: 1;
	display: block;
	height: 100%;
	padding: 0.9rem;
	border-radius: 4.6rem;
	overflow: hidden;
	box-shadow: 0 2rem 4rem rgba(0, 0, 0, 0.2);
	background: #f0efe9;
}
#main .broadcast .linkBox a:after {
	position: absolute;
	left: 0.4rem;
	top: 0.4rem;
	height: calc(100% - 0.8rem);
	width: calc(100% - 0.8rem);
	border: 0.2rem solid #000;
	border-radius: 4.4rem;
	box-sizing: border-box;
	content: "";
}
#main .broadcast .linkBox a img {
	width: 100%;
	border-radius: 4rem;
	position: relative;
	z-index: 1;
}
#main .broadcast .sub03 {
	text-align: center;
}
#main .broadcast .sub03 .note {
	margin-bottom: 5rem;
}
#main .broadcast .sub03 .note img {
	width: 8.5rem;
}
#main .broadcast .sub03 .listUl {
	margin: 0 0 -0.3rem 1rem;
}
#main .broadcast .sub03 .listUl li {
	margin: 0 -1.9rem;
	width: 28.4rem;
}
#main .broadcast .sub03 .txt01 {
	margin: 0 auto 11.6rem;
	max-width: 82.4rem;
	font-size: 1.8rem;
	line-height: 1.7;
	font-weight: 500;
	letter-spacing: 0.04em;
	text-align: justify;
}
#main .broadcast .sub03 .txt01 .line {
	text-decoration: underline;
}
#main .broadcast .sub03 .txt02 {
	margin-bottom: 1rem;
	font-size: 3.34rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.12em;
}
#main .broadcast .sub03 .txt03 {
	margin-bottom: 2.5rem;
	font-size: 2.6rem;
}
#main .broadcast .sub03 .txt03 .bgTxt {
	background-position-y: 2rem;
	background-size: 400rem 1.5rem;
}
#main .broadcast .sub03 .txt03 .bgTxt.scroll-in {
	background-position-y: 2rem;
}
#main .broadcast .sub03 .arrow img {
	width: 2.2rem;
	animation: fuwafuwa 2s infinite ease;
}
@keyframes fuwafuwa {
	0% {
		-webkit-transform: translate(0, 0);
	}
	50% {
		-webkit-transform: translate(0, -1rem);
	}
	100% {
		-webkit-transform: translate(0, 0);
	}
}
#main .btmCta {
	margin-bottom: 9.8rem;
	padding: 5.2rem 0 4.8rem;
	background: url(../img/index/cta_bg.jpg) no-repeat center bottom/cover;
}
#main .survive .subBox {
	margin-bottom: 9.8rem;
}
#main .survive .subBox h3 {
	margin: 0 auto 2rem;
	max-width: 85.6rem;
	font-size: 1.96rem;
	letter-spacing: 0.04em;
}
#main .survive .subBox .borBox {
	padding: 2.5rem 0 3.3rem;
	position: relative;
	border-top: 0.2rem solid #D9D8D2;
	border-bottom: 0.2rem solid rgba(255, 255, 255, 0.5);
}
#main .survive .subBox .borBox::after {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	content: "";
	z-index: 1;
	height: 0.2rem;
	background-color: rgba(255, 255, 255, 0.5);
}
#main .survive .subBox .borBox::before {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	content: "";
	z-index: 1;
	height: 0.2rem;
	background-color: #D9D8D2;
}
#main .survive .subBox .image {
	width: 15rem;
	position: absolute;
	top: -5.5rem;
	right: 9.5rem;
	z-index: 2;
	pointer-events: none;
}
#main .survive .subBox .image01 {
	width: 44.8rem;
	position: absolute;
	top: 13rem;
	right: 2rem;
	z-index: 2;
	pointer-events: none;
	mix-blend-mode: multiply;
}
#main .survive .subBox .borBox .txtList {
	margin: 0 auto;
	max-width: 85.6rem;
	font-size: 1.2rem;
	line-height: 1.9;
}
#main .survive .subBox .borBox .txtList .bold {
	font-weight: 700;
}
#main .survive .subBox .borBox .txtList li {
	text-indent: -0.7em;
	padding-left: 0.7em;
}
#main .survive .subBox .borBox .txtList li:not(:last-child) {
	margin-bottom: 0.5rem;
}
#main .survive .faqBox {
	margin-bottom: 1.7rem;
	padding: 3.2rem 5.5rem 3.5rem;
}
#main .survive .faqBox .headLine03 {
	margin-bottom: 3.7rem;
}
#main .survive .faqBox dl {
	padding: 1.5rem 0 1rem;
	position: relative;
	border-top: 0.2rem solid #D9D8D2;
}
#main .survive .faqBox dl::after {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	content: "";
	width: 100%;
	height: 0.2rem;
	background-color: rgba(255, 255, 255, 0.5);
}
#main .survive .faqBox dt {
	padding: 0 3rem 0 1rem;
	position: relative;
	font-size: 2.05rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	cursor: pointer;
	background: url(../img/common/icon08.png) no-repeat right 1rem top 1rem / 1.7rem;
}
#main .survive .faqBox dt.on {
	background-image: url(../img/common/icon08_on.png);
}
#main .survive .faqBox dd {
	padding: 2.3rem 3.2rem;
	display: none;
	font-weight: 500;
	font-size: 1.4rem;
	letter-spacing: 0.06em;
	line-height: 1.61;
}
#main .survive .faqBox .text:not(:last-of-type) {
	margin-bottom: 2.3rem;
}
#main .survive .faqBox .bold {
	font-weight: 700;
}
#main .survive .faqBox a {
	color: #0071BC;
}
#main .survive .faqBox .dottedUl li {
	padding-left: 0.8em;
	text-indent: -0.8em;
}
#main .survive .faqBox .textUl {
	margin-bottom: 2.3rem;
}
#main .survive .faqBox .textUl li {
	padding-left: 0.8em;
	text-indent: -0.8em;
}
#main .survive .faqBox .methodUl {
	margin: 2.3rem 0;
}
#main .survive .faqBox .methodUl li:not(:last-child) {
	margin-bottom: 2.3rem;
}
#main .survive .faqBox .methodUl .title {
	padding-left: 0.8em;
	text-indent: -0.8em;
	font-weight: 700;
}
#main .survive .faqBox .noteUl li {
	padding-left: 0.8em;
	text-indent: -0.8em;
}
#main .survive .midBox {
	margin: 0 auto;
	max-width: 115.9rem;
}
#main .survive .midBox .movieBox {
	margin: 0 1rem -1.2rem;
	position: relative;
	text-align: center;
}
#main .survive .midBox .movieBox .midImg {
	margin-left: 13.8rem;
	width: 100.9rem;
	position: relative;
	z-index: 2;
}
#main .survive .midBox .movieBox .midImg img {
	width: 100%;
}
#main .survive .midBox .movieBox .movie {
	width: 99rem;
	position: absolute;
	z-index: 1;
	top: 50%;
	left: 50%;
	transform: translate(-49%, -46%);
}
#main .survive .midBox .textBox {
	padding-left: 3rem;
	margin: 0 auto;
	max-width: 70rem;
}
#main .survive .midBox .ttl {
	margin-bottom: 0.6rem;
	font-size: 3.7rem;
	letter-spacing: 0.05em;
}
#main .survive .midBox .ttl .sml {
	margin-bottom: 0.7rem;
	display: block;
	font-size: 2.1rem;
	letter-spacing: 0;
}
#main .survive .midBox address {
	margin-bottom: 0.8rem;
	font-size: 1.6rem;
	letter-spacing: 0.06em;
}
@media all and (min-width: 897px) and (max-width: 1240px) {
	#main .broadcast h2 .bgTxt {
		font-size: 7.3rem;
		background-position: 200% 7rem;
	}
	#main .broadcast h2 .bgTxt.scroll-in {
		background-position: 100% 7rem;
	}
	#main .broadcast .linkBox .linkList li {
		width: 80rem;
		margin: 0 3rem;
	}
}
@media all and (min-width: 1025px) and (hover: hover) {
	#main .mainVisual .navBox ul:not(:hover) .on a {
		color: #fff !important;
	}
	#main .mainVisual .navBox a:hover {
		color: #fff;
	}
	#main .broadcast .infoList li a:hover {
		transform: scale(1.03);
	}
	#main .broadcast .infoList li a:hover .linkBtn span {
		color: #fff;
		background-image: url(../img/common/icon01_over.png);
		background-color: #000;
	}
	#main .effects .slideBox .prev:hover,
	#main .effects .slideBox .next:hover {
		opacity: 0.7;
	}
	#main .effects .slideBox .foo li:hover p {
		background-color: #000;
	}
	#main .effects .slideBox .foo li:hover p:after {
		opacity: 1;
	}
	#main .effects .btn a:hover {
		color: #fff;
		background-color: #000;
	}
	#main .broadcast .linkBox a:hover {
		transform: scale(1.03);
	}
	#main .cta .btn a:hover {
		transform: scale(1.03);
	}
	#main .survive .faqBox a:hover {
		opacity: 0.7;
	}
	#main .study .movie .playCover .playBtn:hover {
		transform: scale(1.05);
	}
	#main .effects .slideBox .foo .slick-slide:not(.slick-current) li:not(:hover) p span {
		color: inherit !important;
		background-image: none;
	}
}
@media all and (max-width: 1024px) and (min-width: 897px) {
	#main .mainVisual .navBox .on a {
		color: #fff !important;
	}
	#main .effects .slideBox .foo .slick-slide:not(.slick-current) li p span {
		color: inherit !important;
		background-image: none;
	}
}
@media all and (max-width: 896px) {
	#main {
		padding: 6.7rem 0 6.8rem;
	}
	#main .comTxt {
		font-size: 4.533vw;
	}
	#main .comTxt span {
		padding: 0.533vw 1.333vw 1.6vw;
	}
	#main .comTxt .sub02 {
		margin: -6.133vw 0 0 13.333vw;
	}
	#main .comTxt span::before {
		left: 1.333vw;
		top: 1.333vw;
	}
	#main .mainVisual {
		margin-bottom: 4.5rem;
		padding: 9.4vw 0 0;
	}
	#main .mainVisual .navBox {
		margin: 3.2rem 0 0 2rem;
		padding-right: 2rem;
		position: static;
		overflow-x: auto;
	}
	#main .mainVisual .navBox ul {
		width: 60.2rem;
		background: none;
		gap: 0 0.2rem;
	}
	#main .mainVisual .navBox ul:after {
		display: none;
	}
	#main .mainVisual .navBox li {
		width: calc((100% - 0.4rem)/3);
	}
	#main .mainVisual .navBox a {
		text-align: center;
		line-height: 1.4;
		background-color: #fff;
		border-radius: 5rem;
	}
	#main .mainVisual .navBox .on a {
		color: #fff;
		background-color: #000;
	}
	#main .mainVisual:after {
		display: none;
	}
	#main .mainVisual .note {
		right: 2rem;
		top: -5rem;
		width: 7.1rem;
		height: 7.1rem;
	}
	#main .mainVisual .note img {
		width: 4.4rem;
	}
	#main .mainVisual .bgTtl {
		top: -0.5rem;
	}
	#main .mainVisual .bgTtl:before {
		position: absolute;
		left: 0;
		bottom: -10%;
		width: 100%;
		height: 80%;
		content: "";
		background: linear-gradient(0deg, rgba(240, 239, 233, 1) 0%, rgba(240, 239, 233, 0.9) 20%, rgba(240, 239, 233, 0) 100%);
		z-index: 1;
	}
	#main .mainVisual .bgTtl img {
		width: 100%;
	}
	#main .mainVisual .enTtl {
		margin-top: 0;
		width: 97.6%;
		left: 1%;
		top: 37vw;
		transform: none;
	}
	#main .mainVisual .enTtl img {
		width: 100%;
	}
	#main .mainVisual .inner .txtBox {
		padding-top: 13.7vw;
		max-width: inherit;
	}
	#main .mainVisual .inner .txtBox p {
		margin: 0 -0.5rem 2.8vw 0;
		font-size: 1.2rem;
		line-height: 1.6;
	}
	#main .mainVisual .inner .txtBox p .bgTxt {
		background-position: 0 0.7vw;
		background-size: 200% 7vw;
	}
	#main .mainVisual .inner .txtBox p .bgTxt.scroll-in {
		background-position: -100% 0.7vw;
	}
	#main .mainVisual .inner .txtBox .title {
		margin-bottom: 21.5vw;
		font-size: 8vw;
	}
	#main .mainVisual .inner .phoBox {
		right: -51vw;
		top: 0;
		width: 110.4vw;
	}
	#main .mainVisual .itemList {
		right: -0.5rem;
		bottom: auto;
		top: 62vw;
		width: 91%;
		mask: linear-gradient(to right, transparent 0%, black 10%, black 90%, transparent 100%);
	}
	#main .mainVisual .itemList li {
		padding: 8vw 0;
	}
	#main .mainVisual .itemList .item03 .sub02 {
		margin: -8vw 0 0 15.467vw;
	}
	#main .bgTxt {
		background-size: 400rem .7rem;
		background-position-y: 1.4rem;
		background-position-y: 1.4rem;
	}
	#main .point {
		padding: 3rem 0 7.9rem;
	}
	#main .point .content {
		max-width: 126.6rem;
	}
	#main .point .midBox {
		padding: 1.2rem;
	}
	#main .point .midBox .logo {
		margin: 2.5rem auto;
		width: 31.2vw;
	}
	#main .point .midBox .listBox {
		height: auto;
		display: block;
	}
	#main .point .midBox .phoList {
		display: flex;
		flex-wrap: wrap;
		gap: 0.4rem 0.5rem;
	}
	#main .point .midBox .phoList li {
		position: relative;
		top: auto !important;
		left: auto !important;
		bottom: auto !important;
		right: auto !important;
		width: calc((100% - 0.5rem)/2);
		height: auto !important;
		transform: none !important;
	}
	#main .point .midBox .phoList li > div {
		border-radius: 1rem;
	}
	#main .point .midBox .phoList p {
		padding: 1.1rem 0.5rem 1.2rem 1.5rem !important;
		font-size: 2.667vw;
	}
	#main .point .midBox .phoList p .ttl {
		margin-bottom: 1.067vw;
		font-size: 4vw;
		line-height: 1.13;
	}
	#main .point .midBox .phoList p.bottom {
		display: block;
		align-content: flex-start;
	}
	#main .point .midBox .phoList p.right {
		padding-right: 1rem !important;
	}
	#main .point .midBox .phoList p.right .sub {
		max-width: inherit;
	}
	#main .point .midBox .phoList .pho02 {
		width: 100%;
	}
	#main .point .midBox .phoList .pho02 p {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		align-content: center;
	}
	#main .point .midBox .phoList .pho07 {
		width: 100%;
	}
	#main .cta h3 {
		margin-bottom: 0.7rem;
		font-size: 2rem;
		line-height: 1.5;
		letter-spacing: 0.1em;
	}
	#main .cta .imgBox {
		max-width: inherit;
		display: block;
	}
	#main .cta .imgBox .phoBox {
		margin: 0 auto;
	}
	#main .cta .imgBox .txtBox {
		margin: 1.3rem 0 0;
	}
	#main .cta .imgBox .ttl {
		padding-bottom: 1.7rem;
		font-size: 2rem;
		line-height: 1.35;
		margin-bottom: 0.9rem;
	}
	#main .cta .imgBox .ttl .bgTtl {
		margin: 0.9rem auto 1.4rem;
		padding: 0 2.8rem;
		font-size: 2.2rem;
		letter-spacing: 0.05em;
	}
	#main .cta .imgBox .ttl .bgTtl:before,
	#main .cta .imgBox .ttl .bgTtl:after {
		margin-top: -1.5rem;
		width: 1.5rem;
		height: 3rem;
	}
	#main .cta .imgBox .ttl .large {
		font-size: 2rem;
	}
	#main .cta .imgBox .price {
		font-size: 3.1rem;
	}
	#main .cta .imgBox .price .sub {
		font-size: 3.3rem;
	}
	#main .cta .imgBox .price .large {
		margin-left: 1.5rem;
		font-size: 3.3rem;
	}
	#main .cta .imgBox .price .large .num {
		font-size: 5.5rem;
	}
	#main .cta .imgBox .price .large .sml {
		top: 0.6rem;
		right: 0.2rem;
		font-size: 1rem;
	}
	#main .btn a {
		width: 33.5rem;
	}
	#main .study h2 {
		margin-bottom: 3.2rem;
	}
	#main .study .bgSec {
		padding: 4.7rem 0 5.7rem;
		background-image: url(../img/index/study_bg_sp.jpg);
	}
	#main .study .movie {
		margin-bottom: 4.7rem;
		max-width: inherit;
		border-radius: 2rem;
	}
	#main .study .movie .playBtn {
		margin: -2.3rem 0 0 -2.3rem;
		width: 4.5rem;
	}
	#main .about {
		padding: 8rem 0 4rem;
	}
	/* #main .about .slider {
		margin: 0 0.4rem 0 -0.5rem;
	} */
	#main .about .slider {
		max-width: 100%;
	}
	#main .about .foo .flexBox {
		padding: 1.2rem 1.5rem 2.2rem;
		border-radius: 2rem;
		align-content: flex-start;
		box-shadow: 0.5rem 1rem 1rem rgba(0, 0, 0, 0.05), -0.5rem 2rem 1rem rgba(0, 0, 0, 0.05), 0 1rem 2rem rgba(0, 0, 0, 0.03);
	}
	#main .about .foo .phoBox {
		margin: 0 1.8rem 0 0;
		width: 10.8rem;
	}
	#main .about .foo .phoBox .pho {
		margin-bottom: 1rem;
	}
	#main .about .foo .phoBox .pho p {
		bottom: 1rem;
		left: -0.7rem;
		font-size: 0.8rem;
	}
	#main .about .foo .phoBox .pho p span {
		padding: 0.1rem 0.1rem 0.2rem;
	}
	#main .about .foo .phoBox .pho p span:before {
		left: 0.2rem;
		top: 0.2rem;
	}
	#main .about .foo .phoBox .ttl {
		font-size: 0.6rem;
	}
	#main .about .foo .txtBox {
		margin-right: -0.7rem;
	}
	#main .about .foo .txtBox h3 {
		margin: 0 0 2.6rem;
		padding: 0.4rem 0.5rem 0.6rem;
		font-size: 1rem;
		line-height: 1.3;
		letter-spacing: 0;
	}
	#main .about .foo .card03 .txtBox h3 {
		margin-bottom: 2rem;
	}
	#main .about .foo .txtBox h3:before {
		left: -1.3rem;
		width: 1.4rem;
		height: 0.7rem;
	}
	#main .about .foo .txtBox .subBox {
		display: block;
	}
	#main .about .foo .txtBox .subBox h4 {
		padding-bottom: 0;
		width: auto;
		display: block;
		font-size: 1.9rem;
		line-height: 1.53;
		border-right: none;
	}
	#main .about .foo .rBox {
		margin-top: 1rem;
		padding: 1.6rem 0 0 1rem;
		position: relative;
		flex: inherit;
		width: 100%;
		min-height: inherit;
		display: block;
		border-top: 2px solid rgba(255, 255, 255, 0.5);
	}
	#main .about .foo .rBox:before {
		position: absolute;
		left: 0;
		top: -0.4rem;
		width: 100%;
		height: 2px;
		background-color: #D9D8D2;
		content: "";
	}
	#main .about .foo .rBox p {
		margin-bottom: 1.6rem;
	}
	#main .about .foo .rBox p:last-child {
		margin-bottom: 0;
	}
	#main .about .slick-dots {
		bottom: -3.5rem;
	}
	#main .subject {
		padding: 5.7rem 0 0;
		background-image: url(../img/index/subject_bg_sp.jpg);
		background-position: center bottom;
		background-size: 100%;
	}
	#main .subject:before{
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 65%;
		background: linear-gradient(180deg, rgba(240, 239, 233, 1) 0%, rgba(240, 239, 233, 1) 57%, rgba(240, 239, 233, 0) 100%);
		content: "";
	} 
	#main .subject:after {
		display: none;
	}
	#main .subject h2 {
		margin-bottom: 2.8rem;
		letter-spacing: 0.08em;
		position: relative;
		z-index: 1;
	}
	#main .subject h2 .min {
		margin-right: 0.5rem;
		margin-bottom: -0.5rem;
		vertical-align: -0.6rem;
		width: 12rem;
	}
	#main .subject .txtBox {
		margin: 0 0.9rem;
		max-width: inherit;
		position: relative;
		z-index: 1;
	}
	#main .subject .txtBox p {
		margin-bottom: 3rem;
		font-size: 1.6rem;
		line-height: 1.88;
		letter-spacing: 0.06em;
	}
	#main .subject .subTxt {
		padding-bottom: 7.5rem;
		position: relative;
		z-index: 1;
	}
	#main .subject .subTxt p {
		margin: 0 auto;
		max-width: 16rem;
	}
	#main .subject .subTxt:before {
		position: absolute;
		left: -5.4rem;
		bottom: 0;
		width: 15.8rem;
		height: auto;
		aspect-ratio: 365/665;
		background: url(../img/index/subject_img01.png) no-repeat left top/100%;
		content: "";
	}
	#main .subject .subTxt:after {
		position: absolute;
		right: -5.3rem;
		bottom: 0;
		width: 15.8rem;
		height: auto;
		aspect-ratio: 365/665;
		background: url(../img/index/subject_img02.png) no-repeat left top/100%;
		content: "";
	}
	#main .help {
		padding: 7.9rem 0 10.5rem;
	}
	#main .help h2 {
		margin-bottom: 1.8rem;
	}
	#main .help .listUl {
		margin: 0 -2rem;
		display: block;
	}
	#main .help .listUl li {
		margin: 0 0 -1.6rem;
		width: auto;
	}
	#main .help .listUl .midImg {
		bottom: 14%;
   		width: 65.2%;
	}
	#main .help .listUl .midImg02 {
		bottom: 10%;
		width: 64.5%;
	}
	#main .help .listUl .midImg03 {
		bottom: 8%;
		width: 65%;
	}
	#main .message {
		margin-bottom: 6rem;
	}
	#main .message .content {
		display: block;
	}
	#main .message .phoBox {
		margin: 0 auto 2.5rem;
		width: 20rem;
	}
	#main .message .movie {
		margin-bottom: 2rem;
	}
	#main .message .txtBox h2 {
		margin-bottom: 3.5rem;
		font-size: 3.7rem;
	}
	#main .message .txtBox p {
		margin-bottom: 3.5rem;
		font-size: 2rem;
		line-height: 2;
		letter-spacing: 0.12em;
	}
	#main .message .txtBox .info {
		margin-top: 4rem;
	}
	#main .message .txtBox .mark {
		right: 0;
		bottom: -6rem;
		width: 16rem;
	}
	#main .voice {
		padding: 5rem 0 6rem;
	}
	#main .voice h2 {
		margin-bottom: 2rem;
	}
	#main .voice .comBgBox {
		padding: 0 2rem 1.4rem;
	}
	#main .voiceList li {
		padding: 2rem 0;
		flex-wrap: wrap;
		position: relative;
	}
	#main .voiceList .timeBox {
		margin-bottom: 1rem;
		width: auto;
	}
	#main .voiceList h3 {
		flex: inherit;
		font-size: 1.8rem;
	}
	#main .voiceList h3 .bgTxt {
		background-position-y: 1.7rem;
		background-size: 400rem 0.8rem;
	}
	#main .voiceList h3 .bgTxt.scroll-in {
		background-position-y: 1.7rem;
	}
	#main .voiceList .note {
		margin-right: 0;
		position: absolute;
		right: 0;
		top: 2rem;
		width: 6.4rem;
		font-size: 1.6rem;
	}
	#main .comInfoBox {
		padding: 1rem 1.1rem;
		overflow: hidden;
	}
	#main .comInfoBox h3 {
		border-radius: 1.2rem 1.2rem 0 0;
	}
	#main .comInfoBox h3 img {
		width: 100%;
	}
	#main .comInfoBox .inner {
		padding: 9.6rem 1rem 3rem;
	}
	#main .comInfoBox .inner .rPho {
		right: -1rem;
		top: -12.8rem;
		width: 20.5rem;
	}
	#main .comInfoBox .inner .enTxt {
		padding-bottom: 6rem;
		right: 1rem;
		top: 1rem;
		width: 29.2rem;
	}
	#main .comInfoBox .inner .enTxt:after {
		right: -3.5rem;
    	width: 33rem;
	}
	#main .effects {
		padding: 3rem 0;
	}
	#main .effects h2 {
		margin-bottom: 3rem;
	}
	#main .effects .checkList {
		padding-left: 0;
	}
	#main .effects .checkList li {
		margin-bottom: 1.9rem;
		font-size: 1.8rem;
		line-height: 1.33;
		letter-spacing: 0.08em;
		background-position: left 0.5rem;
		background-size: 1.7rem auto;
	}
	#main .effects .sub {
		padding: 2.9rem 0.5rem 0;
		max-width: inherit;
	}
	#main .effects .sub h4 {
		padding-left: 3.6rem;
		margin-bottom: 2.5rem;
		font-size: 2.2rem;
		line-height: 1.36;
		background-size: 3.1rem auto;
	}
	#main .effects .slideBox {
		margin: 0 0.7rem 2.5rem;
	}
	#main .effects .slideBox .prev,
	#main .effects .slideBox .next {
		left: -1.2rem;
	}
	#main .effects .slideBox .next {
		left: auto;
		right: -1.2rem;
	}
	#main .effects .slideBox .foo {
		margin: 0;
		display: block;
	}
	#main .effects .slideBox .foo li {
		margin: 0;
		width: auto;
		text-align: center;
	}
	#main .effects .slideBox .foo img {
		height: 11rem;
	}
	#main .effects .slideBox .foo p {
		font-size: 1.7rem;
	}
	#main .effects .txt {
		margin: 0 -0.5rem 3.3rem;
		font-size: 1.8rem;
		line-height: 1.5;
		max-height: 16.2rem;
		overflow: hidden;
	}
	#main .effects .btn a {
		width: 22.8rem;
		height: 5.1rem;
		font-size: 1.3rem;
	}
	#main .creative {
		padding: 3rem 0;
	}
	#main .creative .comInfoBox .inner {
		padding-top: 9.8rem;
		padding-bottom: 3rem;
	}
	#main .creative .comInfoBox .enTxt {
		padding-bottom: 5.5rem;
	}
	#main .creative .comInfoBox .rPho {
		right: -1.2rem;
		top: -14.2rem;
		width: 24.7rem;
	}
	#main .creative .comInfoBox .text {
		margin-bottom: 4rem;
		font-size: 1.8rem;
		line-height: 1.33;
		letter-spacing: 0.06em;
	}
	#main .creative .flowBox {
		margin: 0 auto;
		max-width: 29.3rem;
	}
	#main .creative .flowBox .movie {
		right: auto;
		left: 1%;
		top: auto;
		bottom: 2.5%;
		width: 20%;
	}
	#main .creative .flowBox::after {
		right: 0.6rem;
		top: auto;
		bottom: 0.3rem;
		width: calc(100% - 0.7rem);
		height: 6rem;
		box-shadow: 0.3rem 0.3rem 0 #D0CFCA;
	}
	#main .broadcast {
		padding: 5rem 0 2.5rem;
	}
	#main .broadcast h2 {
		margin-bottom: 6rem;
		font-size: 2.2rem;
		line-height: 2;
	}
	#main .broadcast h2 .bgTxt {
		line-height: 1.25;
		font-size: 4.6rem;
		background-size: 400rem 2rem;
		background-position-y: 4rem;
	}
	#main .broadcast h2 .bgTxt.scroll-in {
		background-position-y: 4rem;
	}
	#main .broadcast .h3Ttl {
		font-size: 2.4rem;
		line-height: 1.25;
		min-height: 3.5rem;
	}
	#main .broadcast .h3Ttl:before,
	#main .broadcast .h3Ttl:after {
		margin-top: -1.8rem;
		height: 3.7rem;
		width: 1.9rem;
	}
	#main .broadcast .infoList {
		padding: 3rem 2.8rem 4rem;
	}
	#main .broadcast .infoList li {
		margin: 0 0.8rem 0 0;
		width: 31.5rem;
	}
	#main .broadcast .infoList a, #main .broadcast .infoList .bgSub {
		padding: 0.3rem;
		border-radius: 3.4rem;
		box-shadow: 0 0.5rem 2rem rgba(0, 0, 0, 0.2);
	}
	#main .broadcast .infoList .infoBox {
		padding: 0.3rem 0.3rem 0.6rem;
		border-radius: 3.2rem;
	}
	#main .broadcast .infoList .coming .infoBox img {
		width: 19.7rem;
	}
	#main .broadcast .infoList .photo {
		border-radius: 2.8rem 2.8rem 0 0;
	}
	#main .broadcast .infoList .photo > img {
		height: 21rem;
	}
	#main .broadcast .infoList .photo .label {
		left: 1.4rem;
		top: 1.4rem;
		width: 6.3rem;
		height: 3rem;
	}
	#main .broadcast .infoList .txtBox {
		padding: 2rem 2.1rem;
	}
	#main .broadcast .infoList .ttl {
		margin-bottom: 1.2rem;
		height: auto;
	}
	#main .broadcast .infoList .sml {
		margin-bottom: 2rem;
		font-size: 0.8rem;
		line-height: 1.75;
	}
	#main .broadcast .item {
		width: 15rem;
		left: -5rem;
	}
	#main .broadcast .sub:not(:last-child) {
		margin-bottom: 0.5rem;
	}
	#main .broadcast .sub02 .h3Ttl {
		margin-bottom: 2rem;
	}
	#main .broadcast .sub02 .item02 {
		right: -2rem;
		width: 13rem;
	}
	#main .broadcast .sub02 .item03 {
		left: -10rem;
		width: 25rem;
	}
	#main .broadcast .linkBox .linkSwiper {
		padding: 0 2rem;
	}
	#main .broadcast .linkBox .linkSwiper .linkList {
		padding: 0;
	}
	#main .broadcast .linkBox .linkList li {
		margin: 0 0.1rem;
		width: 84.8vw;
	}
	#main .broadcast .linkBox a {
		border-radius: 3.4rem;
		box-shadow: none;
	}
	#main .broadcast .linkBox a:after {
		border-radius: 3.4rem;
	}
	#main .broadcast .linkBox a img {
		border-radius: 3rem;
	}
	#main .broadcast .sub03 .note {
		margin-bottom: 3rem;
	}
	#main .broadcast .sub03 .listUl {
		margin: 0 0 -0.3rem;
	}
	#main .broadcast .sub03 .listUl li {
		margin: 0 -1rem;
		width: 13.1rem;
	}
	#main .broadcast .sub03 .txt01 {
		margin-bottom: 6rem;
		font-size: 1.4rem;
	}
	#main .broadcast .sub03 .txt02 {
		font-size: 2rem;
	}
	#main .broadcast .sub03 .txt03 {
		font-size: 2.6rem;
	}
	#main .btmCta {
		margin-bottom: 7.8rem;
		padding: 2.2rem 0 4rem;
		background-image: url(../img/index/study_bg_sp.jpg);
		background-position: center center;
	}
	#main .survive .subBox {
		margin-bottom: 6rem;
	}
	#main .survive .subBox h3 {
		margin: 0 1.5rem 1.6rem;
		max-width: inherit;
	}
	#main .survive .subBox .borBox {
		padding: 2rem 1rem 3.3rem;
	}
	#main .survive .subBox .image {
		width: 7rem;
		top: -14rem;
		right: 1rem;
	}
	#main .survive .subBox .image01 {
		width: 20rem;
		top: -6rem;
		right: -4rem;
	}
	#main .survive .subBox .borBox .txtList {
		max-width: inherit;
		font-size: 1.3rem;
		line-height: 1.54;
	}
	#main .survive .subBox .borBox .txtList li:not(:last-child) {
		margin-bottom: 2rem;
	}
	#main .survive .faqBox {
		padding: 2rem;
	}
	#main .survive .faqBox .headLine03 {
		margin-bottom: 2rem;
	}
	#main .survive .faqBox dt {
		padding: 0 2.5rem 0 0;
		font-size: 1.8rem;
		background-position: right 0.5rem top 1rem;
		background-size: 1.2rem;
	}
	#main .survive .faqBox dd {
		padding: 1.5rem 1rem;
	}
	#main .survive .midBox {
		margin: 0;
	}
	#main .survive .midBox .movieBox {
		margin: 0 -2rem -0.5rem;
	}
	#main .survive .midBox .movieBox .midImg {
		margin: 0 -23.2vw 0 1.5rem;
		width: auto;
	}
	#main .survive .midBox .movieBox .movie {
		width: 130%;
	}
	#main .survive .midBox .textBox {
		padding-left: 0.8rem;
		max-width: inherit;
	}
	#main .survive .midBox .ttl {
		margin-bottom: 0.3rem;
		font-size: 1.8rem;
	}
	#main .survive .midBox .ttl .sml {
		margin-bottom: 0.2rem;
		font-size: 1.02rem;
	}
	#main .survive .midBox address {
		margin-bottom: 0;
		font-size: 0.8rem;
	}
	#gFooter {
		padding-bottom: 13rem;
	}
}
#main .mainVisual .bgTtl img {
	opacity: 0;
}
#main .mainVisual .bgTtl::after {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: url(../img/index/noise.gif);
	content: "";
	mask-image: url(../img/index/mv_img01.png);
	mask-size: auto 100%;
	mask-repeat: no-repeat;
	mask-position: center;
	opacity: 0.5;
}
@media all and (max-width: 896px) {
	#main .mainVisual .bgTtl::after {
		mask-size: 100% auto;
	}
}
.color_bg {
	background: linear-gradient(90deg, #FFFF00, #00FF00, #00FFFF, #AF3DFF, #FF00FF, #FF6600);
	background-size: 400rem 100%;
	animation: gradientMove 10s ease-in-out infinite alternate;
}
@keyframes gradientMove {
	0% {
		background-position-x: 0;
	}
	100% {
		background-position-x: 100%;
	}
}
.txt_bg {
	color: transparent !important;
	background: linear-gradient(90deg, #FFFF00, #00FF00, #00FFFF, #AF3DFF, #FF00FF, #FF6600);
	background-size: 400rem 100%;
	background-clip: text;
	animation: gradientMove 10s ease-in-out infinite alternate;
}
.fadeUp {
	opacity: 0;
	transform: translateY(1.5rem);
	transition: all .5s;
}
.animate.on .fadeUp {
	opacity: 1;
	transform: translateY(0);
}
.animate .dely01 {
	transition-delay: .25s;
}
.animate .dely02 {
	transition-delay: 0.5s;
}
.fadeOpacity {
	opacity: 0;
	transition: .5s;
}
.animate.on .fadeOpacity {
	opacity: 1;
}
.fadeLeft {
	opacity: 0;
	transform: translateX(1.5rem);
	transition: all .5s;
}
.animate.on .fadeLeft {
	opacity: 1;
	transform: translateX(0);
}
.fadeRight {
	opacity: 0;
	transform: translateX(-1.5rem);
	transition: all .5s;
}
.animate.on .fadeRight {
	opacity: 1;
	transform: translateX(0);
}
.fadeBottom {
	opacity: 0;
	transform: translateY(-1.5rem);
	transition: all .5s;
}
.animate.on .fadeBottom {
	opacity: 1;
	transform: translateY(0);
}