html {
	font-size: 0.78125vw;
}
body {
	font-family: "Yu Gothic", "游ゴシック", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	font-weight: 500;
}
body.active {
	overflow: hidden;
}
.bg {
	position: relative;
	background-color: #1D1C1C;
	z-index: 1;
}
.bg:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: url(../img/noise.png);
	background-size: 12%;
	background-position: center;
	opacity: 0.06;
	pointer-events: none;
	z-index: -1;
}

.bg_video {
	position: fixed;
	z-index: -2;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	transform: scale(1.3);
}
.bg_video_item {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.banner {
	position: fixed;
	bottom: 2rem;
	right: 3rem;
	width: 20.9rem;
	z-index: 300;
	display: none;
}
.banner_close_btn {
	width: 2.5rem;
	position: absolute;
	top: -1rem;
	right: -1rem;
	cursor: pointer;
}



/* loading */
.loading {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	z-index: 99999;
	background-color: #1D1C1C;
	display: grid;
	place-items: center;
}
.loading.hide {
	opacity: 0;
	visibility: hidden;
}
.loading_image {
	position: relative;
	width: 32.7rem;
}
.loading_image_img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	opacity: 0;
}
.loading_image_img:first-child {
	width: 99%;
	z-index: 5;
}
.loading_image_img:nth-child(2) {
	width: 69%;
	z-index: 4;
}
.loading_image_img:nth-child(3) {
	width: 68%;
	z-index: 3;
}
.loading_image_img:nth-child(4) {
	z-index: 2;
}
.loading_image_img:nth-child(5) {
	width: 94%;
	z-index: 1;
}
#loader {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: flex;
	align-items: center;
	column-gap: 1.5rem;
	width: 46rem;
	z-index: 10;
}
.progress-bar {
  width: 0%;
  height: 1px;
  background: #fff;
  transition: width 0.3s ease;
}
.percentage {
	font-family: oswald, sans-serif;
  font-size: 4.2rem;
	color: #fff;
	display: flex;
	align-items: flex-start;
	line-height: 1;
}
.percentage span {
	font-size: 2.2rem;
}
@media (max-width: 767px) {
	.loading_image {
		width: 29rem;
	}
	#loader {
		column-gap: 1rem;
		width: 36rem;
	}
	.banner {
	width: 16.8rem;
	right: 15px;
	}
}

/* btn */
.btn {
	width: 20rem;
	height: 5.5rem;
	border-radius: .7rem;
	backdrop-filter: blur(11px);
	display: flex;
	align-items: center;
	justify-content: center;
	column-gap: 1rem;
	color: #1D1C1C;
	border: 1px solid #676767;
	margin: auto;
	padding: 0 1.5rem;
	box-sizing: border-box;
}
.btn.-white {
	color: #fff;
	border: 1px solid #fff;
	background-color: rgb(255 254 252 / .11);
}
.btn_left {
	padding-right: 1.5rem;
	border-right: 1px solid #676767;
	flex: 1;
}
.btn.-white .btn_left {
	border-color: #fff;
}
.btn_text_en {
	font-family: oswald, sans-serif;
	font-size: 1.8rem;
	line-height: 1;
	letter-spacing: -0.04em;
	text-align: left;
}
.btn_text_ja {
	font-weight: bold;
	font-size: 1rem;
	    line-height: 1.2;
	letter-spacing: 0.02em;
	margin-top: .5rem;
	text-align: left;
}
.btn_right {
	width: 2.5rem;
	height: 2.5rem;
	display: grid;
	place-items: center;
}
.btn_arrow {
	width: 1.5rem;
}
.btn.active .btn_arrow {
	animation-name: transformLeftRight2;
	animation-fill-mode: forwards;
	animation-duration: .5s;
	transition-timing-function: ease-out;
}
@keyframes transformLeftRight2 {
	0% {
		transform: translateX(0);
	}
	50% {
		transform: translateX(50%) translateY(-50%);
		opacity: 0;
	}
	51% {
		transform: translateX(-50%) translateY(50%);
		opacity: 0;
	}
	100% {
		transform: translateX(0) translateY(0);
		opacity: 1;
	}
}

/* frame */
.frame {
	position: absolute;
	width: 100%;
	height: 100%;
	pointer-events: none;
	top: 0;
	left: 0;
}
.frame1 {
	position: absolute;
	top: 0;
	left: 0;
	display: inline-block;
}
.frame span {
	position: absolute;
	background-color: rgb(162 162 162 / .6);
}
.frame1 span:first-child {
	width: 2.5rem;
	height: 1px;
}
.frame1 span:nth-child(2) {
	width: 1px;
	height: 2.5rem;
}
.frame2 {
	position: absolute;
	top: 0;
	right: 0;
	display: inline-block;
}
.frame2 span:first-child {
	width: 2.5rem;
	height: 1px;
	right: 0;
}
.frame2 span:nth-child(2) {
	width: 1px;
	height: 2.5rem;
}
.frame3 {
	position: absolute;
	bottom: 0;
	right: 0;
	display: inline-block;
}
.frame3 span:first-child {
	width: 2.5rem;
	height: 1px;
	right: 0;
	bottom: 0;
}
.frame3 span:nth-child(2) {
	width: 1px;
	height: 2.5rem;
	bottom: 0;
}
.frame4 {
	position: absolute;
	bottom: 0;
	left: 0;
	display: inline-block;
}
.frame4 span:first-child {
	width: 2.5rem;
	height: 1px;
	bottom: 0;
}
.frame4 span:nth-child(2) {
	width: 1px;
	height: 2.5rem;
	bottom: 0;
}
@keyframes brightness3{
	0% {
		opacity: 1;
	}
	5% {
		opacity: 0;
	}
	10% {
		opacity: 1;
	}
	15% {
		opacity: .5;
	}
	20% {
		opacity: 1;
	}
	100% {
		opacity: 1;
	}
}
@keyframes brightness4{
	0% {
		opacity: 1;
	}
	5% {
		opacity: .5;
	}
	10% {
		opacity: 1;
	}
	15% {
		opacity: .5;
	}
	20% {
		opacity: 1;
	}
	100% {
		opacity: 1;
	}
}
.frame.active .frame1 {
	animation-name: brightness3;
	animation-duration: 3s;
	animation-delay: .2s;
	transition-timing-function: ease-out;
	animation-iteration-count: infinite;
}
.frame.active .frame2 {
	animation-name: brightness4;
	animation-duration: 3s;
	animation-delay: .8s;
	transition-timing-function: ease-out;
	animation-iteration-count: infinite;
}
.frame.active .frame3 {
	animation-name: brightness3;
	animation-duration: 3s;
	animation-delay: 1.2s;
	transition-timing-function: ease-out;
	animation-iteration-count: infinite;
}
.frame.active .frame4 {
	animation-name: brightness4;
	animation-duration: 3s;
	animation-delay: .8s;
	transition-timing-function: ease-out;
	animation-iteration-count: infinite;
}
.br_sp {
	display: none;
}
.sp_only {
	display: none;
}

.drawer_menu_btn {
	position: fixed;
	z-index: 500;
	top: 4rem;
	right: 4rem;
	width: 9.1rem;
	border-radius: .7rem;
	background-color: rgb(255 254 252 / .11);
	backdrop-filter: blur(11px);
}
.drawer_menu_btn img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}
.drawer_menu_btn img:nth-child(2) {
	opacity: 0;
	z-index: 2;
}
.drawer_menu_btn.active img:nth-child(2) {
	opacity: 1;
}
.drawer {
	position: fixed;
	top: 3rem;
	right: 3rem;
	background-color: #D7D7D7;
	z-index: 9999;
	border-radius: 1.1rem;
	width: 0;
	height: 0;
	transform-origin: top right;
	transition: .4s;
	pointer-events: none;
	opacity: 0;
}
.drawer.active {
	width: 39rem;
	height: 55rem;
	pointer-events: inherit;
	opacity: 1;
}
.drawer:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: url(../img/noise.png);
	background-size: 22%;
	background-position: center;
	opacity: 0.3;
	pointer-events: none;
	z-index: -1;
}
.drawer_close_btn {
	width: 13rem;
	margin-left: auto;
	margin-top: 1rem;
	margin-right: 1rem;
	display: block;
}
.drawer_inner {
	display: none;
	opacity: 0;
	transition: .5s;
}
.drawer_inner.active {
	opacity: 1;
}
.drawer_list {
	margin-top: 5rem;
	padding: 0 6rem;
}
.drawer_list_item_link {
	font-weight: bold;
	font-size: 2rem;
	color: #AE1B11;
	font-family: shippori-mincho, sans-serif;
	line-height: 2.1;
}
.store_btn {
	width: 24.6rem;
	display: block;
	margin: 3rem auto;
}
@media (max-width: 767px) {
	html {
		font-size: 2.544529262086514vw;
	}
	.bg:before {
		background-size: 24%;
	}
	.br_pc {
		display: none;
	}
	.br_sp {
		display: block;
	}
	.sp_only {
		display: block;
	}
	.pc_only {
		display: none;
	}
	.btn {
		width: 18rem;
        	height: 5.6rem;
	}
	.btn_text_en {
		font-size: 1.6rem;
	}
	.btn_text_ja {
		font-size: .9rem;
		    margin-top: .7rem;
	}
	.drawer_menu_btn {
		top: 2rem;
		right: 15px;
		width: 8.6rem;
	}
	.drawer {
		top: 1rem;
		right: 1rem;
	}
	.drawer.active {
		width: 30.6rem;
		height: 45.4rem;
	}
	.drawer_close_btn {
		width: 9.1rem;
		margin-top: .5rem;
	}
	.drawer_list_item_link {
		font-size: 1.7rem;
		line-height: 2.2;
	}
	.drawer_list {
		padding: 0 5.5rem;
		    margin-top: 2rem;
	}
	.store_btn {
		width: 19.55rem;
	}
}


/* メインビュー */
.section_main_image {
	overflow: hidden;
	padding-bottom: 12.7rem;
}
.main_image {
	position: relative;
}
.header_logo {
	position: absolute;
	top: 44px;
	left: 4rem;
	width: 12rem;
	z-index: 99;
}
.main_image_logo {
	position: absolute;
	top: 33.4rem;
	left: 50%;
	transform: translateX(-50%);
	width: 75rem;
	z-index: 10;
}
.main_image_title {
	font-family: shippori-mincho, sans-serif;
	font-weight: 600;
	    font-size: 3.1rem;
	color: #fff;
	line-height: 1.5;
	letter-spacing: 0.25em;
	position: absolute;
	top: 48rem;
	left: 50%;
	transform: translateX(-50%);
	white-space: nowrap;
	z-index: 10;
}
.main_image_title span {
	color: #AE1B11;
}
.main_image_text {
	font-family: roboto, sans-serif;
	font-size: 2.2rem;
	color: #AE1B11;
	letter-spacing: -0.07em;
	position: absolute;
	top: 76.7rem;
	left: 50%;
	transform: translateX(-50%);
}
.main_image_img {
	position: absolute;
}
.main_image_img1 {
	width: 45.5rem;
	top: 0;
	left: 0;
	z-index: 5;
}
.main_image_img2 {
	width: 41.8rem;
	top: 0;
	left: 0;
	opacity: 4;
}
.main_image_img3 {
	width: 33.8rem;
	top: 26.2rem;
	left: 0;
	z-index: 5;
}
.main_image_img4 {
	width: 38.35rem;
	top: 52rem;
	left: 0;
	z-index: 6;
}
.main_image_img5 {
	width: 49.3rem;
	top: 0;
	right: 0;
	z-index: 6;
}
.main_image_img6 {
	width: 43.9rem;
	top: 0;
	right: 0;
	z-index: 5;
}
.main_image_img7 {
	width: 26.8rem;
	top: 32.5rem;
	right: 0;
}
.main_image_img8 {
	width: 38.8rem;
	top: 54rem;
	right: 0;
}
@media (max-width: 767px) {
	.section_main_image {
		padding-bottom: 21rem;
	}
	.header_logo {
		top: 30px;
		left: 20px;
		width: 10rem;
	}
	.main_image_logo {
		width: 36rem;
		top: 36.8rem;
	}
	.main_image_title {
		font-weight: 500;
		font-size: 1.8rem;
		top: 44rem;
		left: 2rem;
		transform: inherit;
	}
	.main_image_text {
		font-size: 1.6rem;
		top: 80.8rem;
		z-index: 20;
		white-space: nowrap;
	}
	.main_image_img1 {
		width: 34.2rem;
		top: 76.8rem;
		left: 1rem;
		z-index: 7;
	}
	.main_image_img3 {
		width: 16.4rem;
		top: 62rem;
		left:inherit;
		right: 0;
		z-index: 6;
	}
	.main_image_img2 {
		width: 30rem;
		top: 75.6rem;
		left: 5.8rem;
	}
	.main_image_img4 {
		width: 20.45rem;
		top: 60rem;
		left: 0;
		z-index: 8;
	}
	.main_image_img5 {
		width: 9.9rem;
		top: 0;
		right: inherit;
		left: 0;
	}
	.main_image_img6 {
		width: 12.8rem;
		top: 0;
	}
	.main_image_img7 {
		width: 31.15rem;
		top: 0;
	}
	.main_image_img8 {
		width: 17.5rem;
		right: inherit;
		left: 0;
		top: 0;
	}
}


/* NEWS */
.section_news {
	margin-top: 3rem;
}
.news_title {
	font-family: oswald, sans-serif;
	font-size: 4.2rem;
	color: #AE1B11;
	letter-spacing: -0.03em;
	text-align: center;
}
.news_box {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	column-gap: 2rem;
	row-gap: 2rem;
	margin-top: 4.6rem;
}
.news_box_item {
	width: 38.9rem;
	height: 27.5rem;
	padding: 2rem 3rem;
	position: relative;
}
.news_box_item.end_article {
	opacity: .2;
}
.section_news .frame span {
	background-color: #F02323;
}
.news_box_item_title {
	font-weight: bold;
	font-size: 1.6rem;
	color: #fff;
	line-height: 1.4;
	margin: 2rem 0 1rem;
}
.news_box_item_text {
	font-size: 1.3rem;
	color: #fff;
	line-height: 1.5;
}
@media (max-width: 767px) {
	.news_box_item_title {
	    font-size: 1.5rem;
    	}
	.news_box_item_text {
    	font-size: 1.2rem;
	}
	.news_title {
		text-align: left;
		margin-left: 1.6rem;
	}
	.news_box {
		margin-top: 2.8rem;
	}
	.news_box_item {
		width: 35.3rem;
		height: 26.5rem;
		padding: 1.5rem 2rem;
	}
}


/* story */
.section_story {
	margin-top: 15rem;
	overflow: hidden;
}
.story_box {
	position: relative;
	padding-top: 5.6rem;
	padding-bottom: 17rem;
	box-sizing: border-box;
}
.story_title {
	text-align: center;
}
.story_title1 {
	font-family: oswald, sans-serif;
	font-size: 2.2rem;
	color: #fff;
	letter-spacing: -0.03em;
}
.story_title1 span.active {
	animation-name: brightness;
	animation-duration: 1s;
	animation-delay: .5s;
	transition-timing-function: ease-out;
}
@keyframes brightness{
	0% {
		filter: brightness(70%);
	}
	25% {
		filter: brightness(150%);
	}
	50% {
		filter: brightness(50%);
	}
	75% {
		filter: brightness(150%);
	}
	100% {
		filter: brightness(100%);
	}
}
.story_title2 {
	font-family: oswald, sans-serif;
	font-weight: normal;
	font-size: 4.2rem;
	color: #fff;
	letter-spacing: -0.03em;
}
.story_title2 span.active {
	animation-name: brightness;
	animation-duration: 1s;
	animation-delay: .5s;
	transition-timing-function: ease-out;
}
.story_textbox {
	text-align: center;
	margin-top: 11rem;
}
.story_text1 {
	font-family: shippori-mincho, sans-serif;
	font-weight: 600;
	    font-size: 2.2rem;
	color: #fff;
	line-height: 1.8;
	letter-spacing: 0.02em;
}
.story_text2 {
	font-family: shippori-mincho, sans-serif;
	font-weight: 600;
	    font-size: 2.2rem;
	color: #fff;
	line-height: 1.8;
	letter-spacing: 0.02em;
	display: flex;
	align-items: center;
	justify-content: center;
	column-gap: 1.2rem;
}
.story_text2:after {
	content: "";
	width: 14rem;
	height: 1px;
	background-color: #DCDCDC;
}
.story_text {
	font-weight: bold;
	font-size: 1.5rem;
	color: #fff;
	line-height: 2.2;
}
.story_text3 {
    margin-top: 21.7rem;
    margin-left: 31.4rem;
}
.story_text4 {
	margin-top: 16.5rem;
	margin-left: 66.2rem;
}
.story_text5 {
	margin-top: 17rem;
    margin-left: 16.3rem;
}
/*  */
.story_img {
	position: absolute;
	z-index: -5;
}
.story_img1 {
	width: 35rem;
	top: 0;
	left: 90.5rem;
}
.story_img2 {
	width: 18rem;
	top: 13.5rem;
	left: 18.7rem;
}
.story_img3 {
	width: 29.2rem;
	top: 34rem;
	left: -4rem;
}
.story_img4 {
	width: 22.5rem;
	top: 39.5rem;
	left: 76rem;
}
.story_img5 {
	width: 36rem;
	top: 56.8rem;
	left: 86.8rem;
}
.story_img6 {
	width: 21rem;
	top: 73rem;
	left: 4rem;
}
.story_img7 {
	width: 34.3rem;
	top: 83rem;
	left: 18.8rem;
}
.story_img8 {
	width: 30rem;
	top: 103.5rem;
	left: 97.2rem;
}
.story_img9 {
	width: 20.5rem;
	top: 124rem;
	left: 83rem;
}
/*  */
.story_code_text {
	position: absolute;
	z-index: -4;
	font-family: roboto, sans-serif;
	color: rgb(174 27 17 / .11);
	letter-spacing: -0.07em;
	white-space: nowrap;
}
.story_code_text1 {
	font-size: 18rem;
	transform: rotate(180deg);
	top: 14rem;
	left: 94rem;
	z-index: -6;
}
.story_code_text2 {
	font-size: 12rem;
	transform: rotate(-90deg);
	top: 18.6rem;
	left: -1.3rem;
}
.story_code_text3 {
	font-size: 8.2rem;
	transform: rotate(90deg);
	top: 48.6rem;
	left: 90rem;
}
.story_code_text4 {
	font-size: 3rem;
	top: 76.5rem;
	left: 21rem;
	z-index: -6;
}
.story_code_text5 {
	font-size: 14rem;
	top: 79.5rem;
	left: 5rem;
}
.story_code_text6 {
	font-size: 8.2rem;
	transform: rotate(-90deg);
	top: 97.2rem;
	left: 113rem;
}
.story_code_text7 {
	font-size: 16.5rem;
	transform: rotate(180deg);
	top: 112.5rem;
	left: 72rem;
	z-index: -6;
}
.story_code_text8 {
	font-size: 6.2rem;
	transform: rotate(90deg);
	top: 124rem;
	left: 31rem;
}
@media (max-width: 767px) {
	.story_box {
		padding-top: 8.5rem;
		padding-bottom: 19rem;
	}
	.story_title1 {
		font-size: 1.6rem;
		margin-bottom: 1rem;
	}
	.story_title2 {
		font-size: 3.6rem;
	}
	.story_title2 span {
		line-height: 1;
	}
	.story_title2 span.block {
		margin: -1rem 0;
		display: block;
	}
	.story_textbox {
		margin-top: 17rem;
	}
	.story_text1 {
		font-size: 1.9rem;
	}
	.story_text2 {
		font-size: 1.9rem;
	}
	.story_text2:after {
		width: 11rem;
	}
	.story_text3 {
		margin-top: 16rem;
		margin-left: 2rem;
	}
	.story_text4 {
		margin-top: 6rem;
		margin-left: 2rem;
	}
	.story_text5 {
		margin-top: 16rem;
		margin-left: 2rem;
	}
	.story_img1 {
		width: 18rem;
		top: 0;
		left: .9rem;
	}
	.story_img2 {
		width: 9.8rem;
		top: 8.7rem;
		left: 27.5rem;
	}
	.story_img3 {
		width: 24rem;
		top: 20rem;
		left: 15.5rem;
	}
	.story_img4 {
		width: 14rem;
		top: 49.4rem;
		left: 8rem;
	}
	.story_img5 {
		width: 24rem;
		top: 59.4rem;
		left: 20rem;
		opacity: .9;
	}
	.story_img6 {
		width: 14.5rem;
		top: 85.8rem;
		left: 25.2rem;
	}
	.story_img7 {
		width: 25.9rem;
		top: 94rem;
		left: 4.3rem;
		opacity: .9;
	}
	.story_img8 {
		width: 24rem;
		top: 126.3rem;
		left: 20.4rem;
	}
	.story_img9 {
		width: 14rem;
		top: 144rem;
		left: 15.4rem;
	}
	.story_code_text1 {
		font-size: 9rem;
		top: 7rem;
		left: -14rem;
		z-index: -4;
	}
	.story_code_text2 {
		font-size: 6.2rem;
		top: 2rem;
		left: 22rem;
	}
	.story_code_text3 {
		font-size: 6.2rem;
		top: 53.6rem;
		left: 2rem;
	}
	.story_code_text4 {
		font-size: 3rem;
		top: 85.5rem;
		left: 22.8rem;
		z-index: -4;
	}
	.story_code_text5 {
		font-size: 10rem;
		top: 89rem;
		left: 8rem;
	}
	.story_code_text6 {
		font-size: 6.2rem;
		top: 118.7rem;
		left: 28.5rem;
	}
	.story_code_text7 {
		font-size: 9rem;
		top: 137rem;
		left: 20rem;
		z-index: -4;
	}
	.story_code_text8 {
		font-size: 4.2rem;
		top: 154rem;
		left: 5.4rem;
		z-index: -6;
	}
}

/* movie */
.section_movie {
	height: 312.5vw;
	position: relative;
	margin-top: -17rem;
	 z-index: -1;
}
.movie_box {
	position: sticky;
	top: 0;
	left: 0;
	z-index: 3;
	width: 100%;
	height: 100vh;
}
.movie_box_scroll_wrapper {
	width: 80rem;
	height: 49.5rem;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
.movie_box_scroll {
	position: absolute;
	top: calc(100% + 2rem);
	left: 50%;
	transform: translateX(-50%);
	width: 1px;
	height: 13rem;
	background-color: #fff;
	overflow: hidden;
	z-index: 1;
}
.movie_box_scroll_line {
	width: 2px;
	height: 13rem;
	background-color: #F02323;
	display: block;
	transform: translateY(-100%);
  animation: scrollLine 2s ease-in-out infinite;
}
@keyframes scrollLine {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(100%);
  }
}
.movie_box_light1 {
	width: 51rem;
	position: absolute;
	top: -8rem;
	left: 0;
	opacity: .5;
}
.movie_box_light2_box {
	overflow: hidden;
	width: 100%;
	position: absolute;
	top: 15rem;
	right: 12rem;
}
.movie_box_light2 {
	width: 38rem;
	margin-left: auto;
	opacity: .5;
}
.movie_box_light3 {
	width: 31rem;
	position: absolute;
	top: 70rem;
	left: 53.5rem;
	opacity: .5;
}
.movie_image_wrapper {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 3;
	padding: 1rem;
	width: 100%;
	height: 100%;
	display: grid;
	place-items: center;
	}
.movie_image {
	width: 80rem;
	height: 49.5rem;
	mask-image: url(../img/image-mask.svg);
	mask-repeat: no-repeat;
	mask-size: contain;
	mask-position: center;
}
.movie_image_box {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	cursor: pointer;
}
.movie_image_icon {
	display: block;
	width: 16.2%;
	pointer-events: none;
}
.movie_image_img {
	position: absolute;
	width: 100%;
	height: 108%;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	object-fit: cover;
}
.movie_image_img:nth-child {
	opacity: 0;
	z-index: -1;
}
.movie_spacer {
	height: 200vh;
}
@media (max-width: 767px) {
	.section_movie {
		margin-top: -19rem;
		height: 470vw;
		    
	}
	.movie_box_light1 {
		width: 33rem;
		left: -5.6rem;
	}
	.movie_box_light2_box {
		top: 36rem;
		right: 0;
	}
	.movie_box_light2 {
		width: 29rem;
		margin-right: -6.4rem;
	}
	.movie_box_light3 {
		width: 30rem;
		top: 67rem;
		left: -10.4rem;
	}
	.movie_box_scroll_wrapper {
		width: 31.4rem;
		height: 50.8rem;
	}
	.movie_image {
		mask-image: url(../img/image-mask-sp.svg);
		width: 31.4rem;
		height: 50.8rem;
	}
	.movie_image_img {
		height: 102%;
	}
	.movie_image_img:nth-child {
		opacity: 1;
		z-index: 3;
	}
	.movie_image_icon {
		width: 14rem;
	}
	.movie_box_scroll,.movie_box_scroll_line {
		height: 8rem;
	}
}

/* modal */
.modal {
	position: fixed;
	z-index: 9999;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background-color: rgb(28 28 28 / .93);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: .5s;
	overflow-y: scroll;
}
.modal.active {
	opacity: 1;
	visibility: visible;
	pointer-events: inherit;
}
.modal_inner {
	width: 100%;
	min-height: 87.6rem;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}
#modal_top0,#modal_top1,#modal_top2,#modal_top3 {
	display: none;
	width: 100%;
}
.modal.active0 #modal_top0 {
	display: block;
}
.modal.active1 #modal_top1 {
	display: block;
}
.modal.active2 #modal_top2 {
	display: block;
}
.modal.active3 #modal_top3 {
	display: block;
}
.modal_top {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 3.5rem;
	position: relative;
	width: 100%;
	max-width: 96rem;
	margin: auto;
}
.modal_close {
	position: absolute;
	top: 0;
	right: -4rem;
	    width: 8.4rem;
}
.modal_top_text {
	font-family: oswald, sans-serif;
	font-weight: normal;
	font-size: 2rem;
	color: #fff;
	letter-spacing: -0.03em;
}
.modal_sns {
	display: flex;
	gap: 1.5rem;
}
.modal_sns_item {
	width: 4.5rem;
	display: block;
}
.copy_url {
	width: 11.6rem;
	display: block;
	position: relative;
}
.copy_url:before {
	font-family: oswald, sans-serif;
	font-weight: normal;
	font-size: 1.5rem;
	color: #fff;
	content: "Copied!";
	position: absolute;
	top: -3rem;
	left: 50%;
	transform: translateX(-50%);
	display: none;
}
.copy_url.active:before {
	display: block;
}
#copy_url {
	display: none;
}
.modal_top_title_en {
	font-family: oswald, sans-serif;
	font-weight: normal;
	font-size: 1.8rem;
	color: #AE1B11;
}
.modal_top_title_ja {
	font-family: shippori-mincho, sans-serif;
	font-weight: 600;
	font-size: 2.6rem;
	color: #fff;
	text-align: center;
	line-height: 1.25;
}
.modal_movie_box {
	width: 88rem;
	margin: 2.5rem auto;
}
.modal_movie {
	aspect-ratio: 16/9;
	display: none;
}
.modal.active0 #movie0 {
	display: block;
}
.modal.active1 #movie1 {
	display: block;
}
.modal.active2 #movie2 {
	display: block;
}
.modal.active3 #movie3 {
	display: block;
}
.modal_movie iframe {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.modal_movie_btn {
	width: 23rem;
	height: 6.7rem;
	margin: 0 auto;
}
#btn2 {
	display: none;
}
.modal.active1 #btn1,.modal.active2 #btn1,.modal.active3 #btn1 {
	display: none;
}
.modal.active1 #btn2,.modal.active2 #btn2,.modal.active3 #btn2 {
	display: block;
}
@media (max-width: 767px) {
	.modal_top {
		flex-direction: column;
		gap: 20px;
	}
	.modal_inner {
		min-height: inherit;
	}
	.copy_url {
		width: 13rem;
	}
	.modal_movie_box {
    width: 36rem;
	}
	.modal_close {
    position: absolute;
    top: -2rem;
    right: 2rem;
    width: 6rem;
	}
	.modal_top_title_ja {
		font-size: 2.2rem;
		line-height: 1.6;
	}
}

/* code_modal */
.code_modal {
	position: fixed;
	z-index: 9999;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background-color: rgb(28 28 28 / .8);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: .5s;
	overflow-y: scroll;
	display: grid;
	place-items: center;
}
.code_modal.active {
	opacity: 1;
	visibility: visible;
	pointer-events: inherit;
}
.code_modal_inner {
	width: 100rem;
	min-height: 50rem;
	background-color: #fff;
	padding: 4.6rem 0 4rem;
	position: relative;
}
.code_modal_close_btn {
	position: absolute;
	top: 3rem;
	right: 4.5rem;
	width: 9.83rem;
}
.code_modal_conainer {
	display: none;
}
.code_modal_conainer.active {
	display: block;
}
.code_modal_false_text_en {
	font-family: oswald, sans-serif;
	font-weight: normal;
	font-size: 6.2rem;
	color: #AE1B11;
	text-align: center;
	letter-spacing: -0.03em;
	margin-top: 8rem;
}
.code_modal_false_text_ja {
	font-weight: bold;
	font-size: 2.2rem;
	text-align: center;
	margin: 2rem 0 4rem;
}

.code_modal_title {
	font-weight: bold;
	font-size: 2.2rem;
	color: #AE1B11;
	line-height: 1.5;
	text-align: center;
}
#coupon_code {
	display: none;
}
.coupon_code {
	width: 38rem;
	margin: 2.4rem auto;
	display: block;
	position: relative;
}
.coupon_code:before {
	font-family: oswald, sans-serif;
	font-weight: normal;
	font-size: 1.8rem;
	color: #F02323;
	content: "Copied!";
	position: absolute;
	top: 1rem;
	right: 5rem;
	display: none;
}
.coupon_code.active:before {
	display: block;
}
.code_modal_box {
	width: 43rem;
	margin: 0 auto 2.5rem;
}
.img_barcord {
margin-bottom: 15px;
}
.code_modal_text {
	font-size: 1.4rem;
	line-height: 1.8;
}
.code_modal_text span {
	font-weight: bold;
}
.code_modal_list {
	margin-top: 1.1rem;
}
.code_modal_list_item {
	font-size: 1.1rem;
	line-height: 1.8;
}
.code_modal_list_item span {
	font-weight: bold;
}

.wbtn{
    display: flex;
    justify-content: space-around;
    width: 45%;
    margin: 0 auto;
    flex-wrap: wrap;	
}
@media (max-width: 767px) {
	.code_modal_inner {
		width: 36rem;
	}
	.code_modal_close_btn {
    position: absolute;
    top: 2rem;
    right: 2rem;
    width: 4rem;
	}
	.code_modal_title {
		font-size: 1.7rem;
	}
	.coupon_code {
		width: 30rem;
		margin: 1.7rem auto;
	}
	.code_modal_box {
		width: 33rem;
	}
	.code_modal_text {
	font-size: 1.1rem;
	}
}


/* scene */
.section_scene {
	margin-top: 33rem;
	padding-bottom: 18rem;
}
.scene_title {
	font-family: oswald, sans-serif;
	font-size: 8.2rem;
	color: #AE1B11;
	text-align: center;
	letter-spacing: -0.03em;
	line-height: 1;
}
.scene_title span.active {
	animation-name: randomColor;
	animation-duration: .5s;
	transition-timing-function: ease-out;
}
.scene_text {
	font-family: shippori-mincho, sans-serif;
	font-weight: 600;
	font-size: 2rem;
	color: #fff;
	line-height: 1.5;
	text-align: center;
	margin-top: 2.8rem;
}
.scene_box {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	column-gap: 2rem;
	row-gap: 4rem;
	margin-top: 6rem;
}
.scene_box_item {
	width: 38rem;
}
.scene_box_item_image {
	mask-image: url('../img/image-mask.svg');
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-position: center;
	width: 100%;
	height: 23.5rem;
	position: relative;
	overflow: hidden;
}
.scene_box_item_image_img {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	object-fit: cover;
}
.scene_box_item_icon {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 6rem;
}
.scene_box_item_body {
	text-align: center;
	position: relative;
	margin-top: 5rem;
	padding: .1px 0;
}
.scene_box_item_title_en {
	font-family: oswald, sans-serif;
	font-size: 2rem;
	color: #AE1B11;
	letter-spacing: -0.03em;
	margin-top: 2.6rem;
}
.scene_box_item_title_ja {
	font-family: shippori-mincho, sans-serif;
	font-weight: 600;
	font-size: 2.4rem;
	color: #fff;
	line-height: 1.6;
	letter-spacing: -0.02em;
	margin-top: 3.2rem;
}
.scene_box_item_text {
	font-size: 1.5rem;
	color: #fff;
	    height: 85px;
	line-height: 1.8;
	margin-top: 2.4rem;
	margin-bottom: 2.2rem
}
.scene_box_item_btn {
	margin-bottom: 3rem;
}
/*
.scene_box_item:nth-of-type(2) .scene_box_item_text {
	margin-top: 2.9rem;
}
*/
@media (max-width: 767px) {
	.section_scene {
    padding-bottom: 12rem;
    margin-top: 8rem;
	}
	.scene_title {
		font-size: 6.2rem;
	}
	.scene_text {
		font-size: 1.4rem;
	}
	.scene_box {
		margin-top: 4.8rem;
	}
	.scene_box_item {
    width: 35.3rem;
	}
	.scene_box_item_body {
		margin-top: 3rem;
	}
	.scene_box_item_title_en {
		        font-size: 1.55rem;
	}
	.scene_box_item_title_ja {
		        font-size: 2rem;
		margin-top: 2.6rem;
	}
	.scene_box_item_text {
	font-size: 1.4rem;
		margin-top: 2.2rem;
		height: auto;
	}
}
/* tab */ 
.scene_tab_box {
	position: fixed;
	top: 8.8rem;
	left: 50%;
	transform: translateX(-50%);
	background-color: rgb(255 254 252 / .11);
	backdrop-filter: blur(11px);
	border: .1rem solid #DCDCDC;
	border-radius: .7rem;
	z-index: 99;
	display: none;
}
.scene_tab_box.active {
	display: block;
}
.scene_tab {
	width: 28rem;
	height: 3.8rem;
	display: flex;
	align-items: center;
	justify-content: center;
}
.scene_tab_item {
	font-family: oswald, sans-serif;
	font-weight: normal;
	font-size: 1.2rem;
	color: rgb(255 255 255 / .5);
	width: 7.7rem;
	height: 2.7rem;
	display: grid;
	place-items: center;
}
.scene_tab_item.active {
	color: #AE1B11;
	background-color: #fff;
	border-radius: 2rem;
}



/* about */
.section_about {
	color: #293338;
	background-color: #fff;
	border-radius: 2.4rem;
	padding: 8rem 0 9rem;
	margin-top: -2rem;
	position: relative;
	z-index: 2;
}
.about_container {
	max-width: 100rem;
	margin: auto;
	position: relative;
}
.section_about_image {
	position: absolute;
	z-index: 3;
	width: 13.2rem;
	top: -18rem;
	right: -5rem;
	overflow: hidden;
	padding: 1rem;
	box-sizing: content-box;
}
.section_about_img {
	transform: rotate(13deg);
}
.about_box {
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	column-gap: 4rem;
}
.about_box_left {
	width: 45rem;
}
.about_title_en {
	font-family: oswald, sans-serif;
	font-weight: normal;
	font-size: 6.2rem;
	letter-spacing: -0.03em;
}
.about_title_en span {
	color: #AE1B11;
}
.about_title_ja {
	font-family: shippori-mincho, sans-serif;
	font-weight: 600;
	font-size: 1.8rem;
	line-height: 1;
	margin-top: 1rem;
	margin-bottom: 5.4rem;
}
.about_text {
	font-weight: bold;
	font-size: 1.5rem;
	line-height: 1.8;
	margin-top: 1.8rem;
}
.about_text_small {
	font-weight: bold;
	font-size: 1.3rem;
	line-height: 1.8;
	margin-top: 1.8rem;
}
.about_box_right {
	width: 51rem;
	display: grid;
	grid-template-columns: repeat(2,1fr);
	column-gap: 1rem;
}
.about_box_img1 {
	margin-top: 3rem;
}
.about_box_btn {
	margin-top: 6rem;
}
@media (max-width: 767px) {
	.section_about {
		padding: 7rem 2rem 8rem;
		flex-direction: column;
		display: flex;
	}
	.section_about_image {
    width: 10.2rem;
    top: -11rem;
    right: 0;
	}
	.about_box_left {
		width: 100%;
		order: 1;
	}
	.about_title_en {
		font-size: 5.2rem;
	}
	.about_title_ja {
		font-size: 1.4rem;
	}
	.about_text {
		margin-top: 1rem;
	}
	.about_text_small {
		margin-top: 1rem;
	}

	.about_box_right {
		width: 100%;
		column-gap: .7rem;
		order: 3;
		margin-top: 4.6rem;
	}
	.about_box_btn {
		order: 2;
		margin-top: 3rem;
		margin-left: 0;
	}
}


/* code */
.section_code {
	padding: 8.6rem 0 18.5rem;
	background-image: url(../img/code-bg.svg);
}
.code_container {
	max-width: 100rem;
	margin: auto;
	position: relative;
}
.section_code .frame span {
	background-color: #F02323;
}
.section_code .frame1 span:first-child {
	width: 7rem;
}
.section_code .frame1 span:nth-child(2) {
	height: 7rem;
}
.section_code .frame2 span:first-child {
	width: 7rem;
}
.section_code .frame2 span:nth-child(2) {
	height: 7rem;
}
.section_code .frame3 span:first-child {
	width: 7rem;
}
.section_code .frame3 span:nth-child(2) {
	height: 7rem;
}
.section_code .frame4 span:first-child {
	width: 7rem;
}
.section_code .frame4 span:nth-child(2) {
	height: 7rem;
}
.code_box {
	padding: 8.2rem 0;
	text-align: center;
}
.code_title {
	font-family: oswald, sans-serif;
	color: #AE1B11;
	font-size: 6.2rem;
	letter-spacing: -0.02em;
}
.code_text {
	font-size: 1.5rem;
	color: #fff;
	line-height: 1.8;
	margin-top: 2.4rem;
}
.code_form {
	display: flex;
	align-items: center;
	justify-content: center;
	column-gap: 2.6rem;
	margin: 5.5rem 0;
	height: 6.5rem;
}
.code_form_text {
	font-family: oswald, sans-serif;
	color: #AE1B11;
	font-size: 4.2rem;
	letter-spacing: -0.02em;
}
.code_form_text span.active {
	animation-name: randomColor;
	animation-duration: .5s;
	transition-timing-function: ease-out;
}
.code_form.code_form_end {
	flex-direction: column;
    gap: 10px;
    background-color: rgb(255 254 252 / .11);
    width: 80%;
    margin: 4.5rem auto;
    height: 9.5rem;
}
.code_form.code_form_end > .code_form_text {
	    font-size: 3.2rem;
}
.code_form_text_jp {
	color: #fff;
	    font-size: 12px;
	        font-weight: bold;
}

@keyframes randomColor {
	0% {
		color: #AE1B11;
	}
	50% {
		color: #FFFFFFCC;
	}
	100% {
		color: #AE1B11;
	}
}
.code_form_box {
	display: flex;
}
.code_form_input {
	font-weight: bold;
	font-size: 1.8rem;
	color: #DCDCDC;
	text-align: left;
	width: 23.5rem;
	height: 6.5rem;
	border: 1px solid #fff;
	border-right: none;
	background-color: rgb(255 254 252 / .11);
	backdrop-filter: blur(11px);
	padding: 0 2.2rem;
	outline: none;
}
.code_form_btn {
	width: 14.5rem;
	height: 6.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	column-gap: .4rem;
	background-color: #1D1C1C;
	cursor: pointer;
}
.code_form_btn_text {
	font-family: roboto, sans-serif;
	color: #DCDCDC;
	font-size: 2.8rem;
	letter-spacing: -0.09em;
}
.code_form_btn_arrow {
	width: 2.4rem;
	height: 3.2rem;
	display: grid;
	place-items: center;
	padding-top: .5rem;
}
.code_form_btn_arrow_img {
	width: 1.2rem;
}
.code_form_btn.active .code_form_btn_arrow {
	animation-name: transformLeftRight2;
	animation-fill-mode: forwards;
	animation-duration: .5s;
	transition-timing-function: ease-out;
}
@media (max-width: 767px) {
	.section_code {
    padding: 11.6rem 2rem 5.2rem;
	}
	.section_code .frame1 span:first-child {
    width: 6rem;
	}
	.section_code .frame1 span:nth-child(2) {
    height: 6rem;
	}
	.section_code .frame2 span:first-child {
    width: 6rem;
	}
	.section_code .frame2 span:nth-child(2) {
    height: 6rem;
	}
	.section_code .frame3 span:first-child {
    width: 6rem;
	}
	.section_code .frame3 span:nth-child(2) {
    height: 6rem;
	}
	.section_code .frame4 span:first-child {
    width: 6rem;
	}
	.section_code .frame4 span:nth-child(2) {
    height: 6rem;
	}
	.code_box {
    padding: 11.2rem 0;
	}
	.code_title {
		font-size: 5.2rem;
		line-height: 1.1;
	}
	.code_text {
		font-size: 1.3rem;
		margin-top: 1.4rem;
	}
	.code_form {
		flex-direction: column;
		margin: 4.6rem 0;
	}
	.code_form_text {
		font-size: 3.2rem;
	}
	.code_form.code_form_end > .code_form_text {
    	font-size: 2.5rem;
	}
	.code_form.code_form_end {
    	gap: 12px;
        width: 100%;
	    margin: 2.5rem auto
        height: 9.5rem;
	}	
	.code_form_box {
		margin-top: 1.8rem;
	}
	.code_form_input {
		font-size: 1.47rem;
		width: 23.8rem;
		height: 5.6rem;
	}
	.code_form_btn {
		width: 11.5rem;
		height: 5.6rem;
	}
	.code_form_btn_text {
		font-size: 2.2rem;
	}
}


/* campaign */
.section_campaign {
	background-color: #D7D7D7;
	position: relative;
	z-index: 2;
	border-radius: 2.4rem;
	padding: 10rem 0;
	color: #293338;
	overflow: hidden;
}
.section_campaign:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: url(../img/noise.png);
	background-size: 6%;
	background-position: center;
	opacity: 0.3;
	pointer-events: none;
	z-index: -1;
}
.campaign_top {
    	max-width: 100rem;
    	margin: 0 auto;
    	display: flex;
    	justify-content: start;
	align-items: center;
	column-gap: 3.2rem;
}
.campaign_top_text_en {
	font-family: oswald, sans-serif;
	font-weight: normal;
	font-size: 5.6rem;
	line-height: 1;
	letter-spacing: -0.03em;
}
.campaign_top_text_ja {
	font-family: shippori-mincho, sans-serif;
	font-weight: 600;
	font-size: 1.7rem;
	line-height: 1.5;
	padding-top: 1rem;
}
.slider_campaign_text {
	font-family: oswald, sans-serif;
	font-weight: normal;
	font-size: 9.6rem;
	line-height: 1;
	letter-spacing: -0.04em;
	white-space: nowrap;
	padding-bottom: 1.7rem;
	margin: 0 1.5rem;
}
.campaign_container {
	max-width: 100rem;
	margin: auto;
	padding-top: 8rem;
	border-top: 1px solid rgb(41 51 56 / .6);
}
.campaign_box {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	column-gap: 1rem;
}
.campaign_box + .campaign_box {
	margin-top: 7.4rem;
}
.campaign_box_textbox {
	width: 43.5rem;
}
.campaign_box_number {
	font-family: oswald, sans-serif;
	font-weight: normal;
	font-size: 2rem;
	color: #DCDCDC;
	line-height: 1;
	letter-spacing: -0.02em;
	background-color: #1D1C1C;
	display: flex;
	align-items: center;
	column-gap: 1rem;
	position: relative;
	padding: .5rem 1.2rem .7rem;
	margin-bottom: 4.6rem;
	max-width: 28.5rem;
}
.campaign_box_number:before {
	content: "";
	width: .75rem;
	height: .75rem;
	background-color: #DCDCDC;
	border-radius: 50%;
	margin-top: .3rem;
}
.campaign_box_title_small {
	font-weight: bold;
	font-size: 1.8rem;
	line-height: 1;
}
.campaign_box_title {
	font-weight: bold;
	font-size: 3.2rem;
	line-height: 1.8;
	letter-spacing: -0.04em;
	margin-bottom: 2.2rem;
}
.campaign_box_title span {
	color: #AE1B11;
}
.campaign_box_text {
	font-weight: bold;
	font-size: 1.4rem;
	line-height: 1.8;
}
.campaign_end {

}
.campaign_box_howto {
	margin: 4.2rem 0;
	position: relative;
}
.campaign_box_howto:before {
	content: "";
	width: 1px;
	height: calc(100% - 11rem);
	background-color: #1D1C1C;
	position: absolute;
	top: 5.5rem;
	bottom: 5.5rem;
	left: 50%;
	transform: translateX(-50%);
}
.campaign_box_howto_text {
	font-weight: bold;
	font-size: 1.8rem;
	border: 1px solid #1D1C1C;
	text-align: center;
	height: 4rem;
	display: flex;
	align-items: center;
	justify-content: center;
}
.campaign_box_howto_text span {
	font-size: 1.5rem;
	color: #AE1B11;
}
.campaign_box_howto_text.present-end {
	margin-bottom: 30px;
}
.campaign_box_howto_list {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	margin: 1.5rem 0;
}
.campaign_box_howto_list_item {
	text-align: center;
	padding: 1.4rem 0;
}
.campaign_box_howto_list_item_top {
	font-family: oswald, sans-serif;
	font-size: 2.2rem;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	column-gap: .7rem;
}
.campaign_box_howto_list_item_number {
	font-size: 4.2rem;
}
.campaign_box_howto_list_item_text {
	font-weight: bold;
	font-size: 1.5rem;
	line-height: 1.5;
	margin-top: 1.2rem;
}
.campaign_box_howto_list_item_text2 {
	font-family: roboto, sans-serif;
	font-size: 1.2rem;
	letter-spacing: -0.07em;
	margin-top: 2rem;
	margin-bottom: .8rem;
}
.campaign_box_howto_list_item_instagram {
	border-radius: 3.5rem;
	border: 1px solid #1D1C1C;
	width: 15rem;
	height: 3.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	column-gap: 1rem;
	margin: auto;
}
.campaign_box_howto_list_item_instagram_icon {
	width: 1.8rem;
}
.campaign_box_howto_list_item_instagram_text {
	font-family: roboto, sans-serif;
	font-size: 1.8rem;
	letter-spacing: -0.07em;
}
.campaign_box_howto_list_item_img {
	width: 4.8rem;
	margin: 2.6rem auto 0;
}
.campaign_box_list {
	margin: 2rem 0 4rem;
}
.campaign_box_list_item {
	font-weight: bold;
	font-size: 1.2rem;
	line-height: 1.8;
	padding-left: 1em;
  text-indent: -1em;
}
.campaign_box_list_item:before {
	content: "※";
}
.campaign_box_image {
	width: 52rem;
	position: relative;
}
.campaign_box_img1 {
	position: absolute;
	top: 50%;
	left: 9rem;
	transform: translateY(-50%);
	width: 57rem;
}
.section_campaign .btn {
	width: 21.8rem;
}
@media (max-width: 767px) {
	.section_campaign {
		padding: 8rem 2rem;
	}
	.campaign_top {
		flex-direction: column-reverse;
		align-items: flex-start;
		row-gap: .7rem;
	}
	.campaign_top_text_en {
		font-size: 3.2rem;
	}
	.campaign_top_text_ja {
		font-size: 1.4rem;
	}
	.slider_campaign {
		width: 100vw;
		margin-inline: calc(50% - 50cqi);
	}
	.slider_campaign_text {
		font-size: 5.2rem;
		padding-bottom: 1.7rem;
		margin: 0 1rem;
	}
	.campaign_box {
		flex-direction: column;
		row-gap: 4rem;
	}
	.campaign_box + .campaign_box {
		margin-top: 6rem;
	}
	.campaign_box_image {
		width: 100%;
		order: 1;
	}
	.campaign_box_img1 {
		position: static;
		width: 100%;
		transform: inherit;
	}
	.campaign_box_textbox {
    width: 100%;
		order: 2;
	}
	.campaign_box_number {
		font-size: 1.8rem;
		max-width: 25rem;
		margin-bottom: 2.4rem;
	}
	.campaign_box_number:before {
    width: .5rem;
    height: .5rem;
	}
	.campaign_box_title_small {
		font-size: 1.5rem;
	}
	.campaign_box_title {
		font-size: 2.6rem;
		margin-bottom: 1.2rem;
	}
	.campaign_box_howto {
		margin: 3.4rem 0;
	}
	.campaign_box_howto_text {
		font-size: 1.6rem;
		height: 3.5rem;
	}
	.campaign_box_howto_text span {
		font-size: 1.3rem;
	}
	.campaign_box_howto_list {
		margin: 1rem 0;
	}
	.campaign_box_howto_list_item_top {
		font-size: 1.8rem;
	}
	.campaign_box_howto_list_item_number {
		font-size: 3.8rem;
	}
	.campaign_box_howto_list_item_text {
		font-size: 1.2rem;
	}
	.campaign_box_howto_list_item_text2 {
		margin-top: 1.6rem;
		margin-bottom: .4rem;
	}
	.campaign_box_howto_list_item_instagram {
		width: 13rem;
		height: 3rem;
	}
	.campaign_box_howto_list_item_instagram_icon {
		width: 1.5rem;
	}
	.campaign_box_howto_list_item_instagram_text {
		font-size: 1.4rem;
	}
	.campaign_box_howto_list_item_img {
		width: 3.8rem;
		margin-top: 1.8rem;
	}
	.campaign_box_list {
		margin: 1rem 0 3rem;
	}
	.section_campaign .btn {
    	width: 18rem;
                height: 5.6rem;
	}
}


/* features */
.section_features {
	color: #293338;
	background-color: #fff;
	border-bottom-left-radius: 2.4rem;
	border-bottom-right-radius: 2.4rem;
	padding: 13rem 0 7.6rem;
	margin-top: -2rem;
}
.features_container {
	max-width: 100rem;
	margin: auto;
}
.features_title_en {
	font-family: oswald, sans-serif;
	font-size: 6.2rem;
	color: #AE1B11;
	letter-spacing: -0.03em;
	line-height: 1;
	text-align: center;
	margin-top: 5.4rem;
}
.features_title_ja {
	font-family: shippori-mincho, sans-serif;
	font-weight: 600;
	font-size: 1.8rem;
	text-align: center;
	margin-top: 2rem;
}
.reatures_text {
	font-weight: bold;
	font-size: 1.5rem;
	line-height: 2.2;
	margin: 3.5rem auto 5.2rem;
	width: 70rem;
}

.store_list_title_en {
	font-family: oswald, sans-serif;
	font-size: 4.2rem;
	text-align: center;
	margin-top: 7.2rem;
}
.store_list_title_ja {
	font-family: shippori-mincho, sans-serif;
	font-weight: 600;
	font-size: 1.8rem;
	text-align: center;
	margin: 1.6rem 0 4rem;
}
.store_list_btn {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-top: 1px solid rgb(41 51 56 / .6);
	padding: 2.4rem 0;
}
.store_list_btn_title {
	font-weight: bold;
	font-size: 2.2rem;
}
.store_list_btn_plus {
	width: 3.6rem;
}
.store_list_btn_plus svg {
	width: 100%;
	height: auto;
	border-radius: 50%;
	transition: .3s;
}
.store_list_btn_plus svg line {
	transition: .3s;
}
.store_list_btn:hover .store_list_btn_plus svg {
	background-color: #F02323;
}
.store_list_btn:hover .store_list_btn_plus svg line  {
	stroke: #fff;
}
.store_list_btn.active .store_list_btn_plus svg line:nth-child(2) {
	opacity: 0;
}
.store_list_box {
	display: none;
}
.store_list {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
	margin-top: 1.6rem;
	margin-bottom: 4rem;
	padding-right: 3.6rem;
}
.store_list_item {
	font-size: 1.6rem;
	line-height: 1.25;
}
@media (max-width: 767px) {
	.section_features {
		padding: 8rem 2rem 5rem;
	}
	.features_title_en {
		font-size: 5.2rem;
		margin-top: 3.3rem;
	}
	.features_title_ja {
		font-size: 1.4rem;
		margin-top: .8rem;
	}
	.reatures_text {
		width: 100%;
		margin-top: 2.4rem;
		margin-bottom: 3rem;
	}
	.store_list_title_en {
		font-size: 3.2rem;
		margin-top: 4.6rem;
	}
	.store_list_title_ja {
		font-size: 1.2rem;
		margin: .8rem 0 4rem;
	}
	.store_list_btn {
		padding: 1.7rem 0;
	}
	.store_list_btn_title {
		font-size: 1.7rem;
	}
	.store_list_btn_plus {
		width: 3rem;
	}
	.store_list_item {
		font-size: 1.4rem;
	}
	.store_list {
	gap: 1rem;
	}
}


/* footer */
.footer {
	padding-top: 14.4rem;
	position: relative;
	z-index: 2;
	background-image: url(../img/code-bg.svg);
	overflow: hidden;
}
.footer_bg {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 128%;
	height: 120%;
	z-index: -1;
	pointer-events: none;
}
.foote_video {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.footer_logo {
	width: 18rem;
	margin: auto;
}
.footer_text {
	font-family: shippori-mincho, sans-serif;
	font-weight: 500;
	font-size: 1.4rem;
	color: #fff;
	text-align: center;
	margin-top: 3.8rem;
}
.footer_text2 {
	font-family: shippori-mincho, sans-serif;
	font-weight: 500;
	font-size: 1.4rem;
	color: #fff;
	text-align: center;
	margin-top: 3.8rem;
	    line-height: 1.5;
}
.footer_sns {
	margin-top: 2rem;
	display: flex;
	align-items: center;
	justify-content: center;
	column-gap: 1.5rem;
}
.footer_sns_item {
	width: 7rem;
}
.footer_sns_item:hover {
	opacity: .7;
}
.scroll_top {
	    margin-top: 6rem;
	display: flex;
	align-items: center;
	justify-content: center;
	column-gap: 1.5rem;
}
.scroll_top_text {
	font-family: oswald, sans-serif;
	font-size: 2.2rem;
	color: #fff;
	letter-spacing: -0.03em;
}
.scroll_top_arrow {
	width: 3.1rem;
	height: 3.1rem;
	background-color: #fff;
	border-radius: 50%;
	display: grid;
	place-items: center;
	padding-top: .1rem;
	padding-left: .1rem;
	box-sizing: border-box;
}
.scroll_top_arrow_img {
	width: 1rem;
}
.scroll_top.active .scroll_top_arrow_img {
	animation-name: transformTop;
	animation-fill-mode: forwards;
	animation-duration: .5s;
	transition-timing-function: ease-out;
}
@keyframes transformTop {
	0% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-50%);
		opacity: 0;
	}
	51% {
		transform: translateY(50%);
		opacity: 0;
	}
	100% {
		transform: translateY(0);
		opacity: 1;
	}
}
.footer_text_code {
	width: 81rem;
	margin: 3rem auto -1rem;
}
.copyright {
	font-family: oswald, sans-serif;
	font-size: 1.2rem;
	color: #fff;
	position: absolute;
	top: 50%;
	right: -8rem;
	transform: translateY(-50%) rotate(-90deg);
}
@media (max-width: 767px) {
	.footer {
		padding-top: 10rem;
	}
	.footer_logo {
		width: 15rem;
	}
	.footer_text {
		font-size: 1.4rem;
		line-height: 1.5;
		margin-top: 3rem;
	}
	.footer_sns {
		margin-top: 1.2rem;
	}
	.footer_sns_item {
		width: 5rem;
	}
	.scroll_top {
		margin-top: 10.8;
	}
	.scroll_top_text {
		font-size: 1.8rem;
	}
	.scroll_top_arrow {
		width: 2.5rem;
		height: 2.5rem;
	}
	.footer_text_code {
		width: 36rem;
		margin-bottom: -0.7rem;
	}
	.copyright {
		font-size: 1rem;
		right: -7rem;
	}
}