/*
当サイトのテキスト及び画像、それに伴う全ての無断転載は禁止いたします。
発見した場合は法的処置も視野にいれております。絶対に無断転載はお止めください。
*/
/*-----------------------*/
*{
	margin:0px;
	padding:0px;
}
/*-----------------------------カスタムプロパティ-----------------------------*/
:root{
	--baseWidth: 100vw;
}
@media screen and (min-width:600px) {
	:root{
		--baseWidth: 600px;
	}
}

body {
	-webkit-text-size-adjust: 100%;
	word-break: break-all;
	font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
	font-size: 14px;
	line-height: 18px;
	background-color: #e5e5e5;
}
#wrapper{
	max-width: 600px;
	margin: 0 auto;
	overflow: hidden;
}
#content {
	width: var(--baseWidth);
	margin: 0 auto;
	height: 100vh;
	height: 100dvh;
	position: relative;
	overflow: hidden;
}
img,
video {
	width: 100%;
	height: auto;
	display: block;
}
section {
	width: 100%;
	height: calc(var(--baseWidth) / 640 * 1386);
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}
.compay {
	font-size: 10px;
	color: #fff;
	opacity: 0.8;
	position: fixed;
	top: 5px;
	line-height: 10px;
	right: calc(50% - calc(var(--baseWidth) * 0.49));
	z-index: 20;
	text-shadow: 0 0.1em 0 #000, -0.1em -0.1em 0 #000, -0.1em 0.1em 0 #000, 0.1em -0.1em 0 #000, 0px 0.1em 0 #000, 0 -0.1em 0 #000, -0.1em 0 0 #000, 0.1em 0 0 #000;
}
/*-----------------共通-----------------*/
/*-----------------main-----------------*/
.main {
	position: relative;
	top: 0;
	left: 0;
}
/*-----------------talk_area-----------------*/
.talk_area {
	width: var(--baseWidth);
	position: fixed;
	left: 50%;
	bottom: 0;
	opacity: 0;
	transform: translateX(-50%);
	transition: opacity 0.5s;
	z-index: 3;
}
.talk_area.move {
	opacity: 1;
}
.talk_name,
.talk_box span,
.talk_next span {
	position: absolute;
	left: 0;
	bottom: 0;
	transition: all 0.5s linear;
}
.talk_box {
	display: none;
}
.talk_box span {
	width: 0;
	overflow: hidden;
}
.talk_box span:nth-of-type(2){
	transition: all 0.5s linear 1s;
}
.talk_box span:nth-of-type(3){
	transition: all 0.5s linear 2s;
}
.talk_box span:nth-of-type(4){
	transition: all 0.5s linear 3s;
}
.talk_box.move span {
	width: 100%;
}
.talk_box span img {
	width: var(--baseWidth);
}
.talk_next {
	display: none;
}
.talk_next span {
	opacity: 0;
}
.talk_next.move span {
	opacity: 1;
}
.talk_next.move span.next_icon {
	-webkit-animation: next_move 0.6s linear infinite alternate;
	animation: next_move 0.6s linear infinite alternate;
}
@-webkit-keyframes next_move {
	0% {opacity: 1;}
	60%{opacity: 1;}
	70%{opacity: 0;}
	100% {opacity: 0;}
}
@keyframes next_move {
	0% {opacity: 1;}
	60%{opacity: 1;}
	70%{opacity: 0;}
	100% {opacity: 0;}
}
/*-----------------txt_area-----------------*/
/*
.txt_area {
	width: 100%;
	height: 100%;
	position: fixed;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	z-index: 100;
}
.txt_box {
	opacity: 0;
	position: absolute;
	left: 0;
	top: 0;
	transition: all 0.5s linear;
}
.txt_box.move {
	opacity: 1;
}
.txt_box img {
	position: relative;
	z-index: 10;
}
.txt_slide {
	width: 100%;
	height: 100%;
}
.txt_slide img {
	opacity: 0;
	transition: all 1s ease;
	-webkit-filter: blur(10px);
	filter: blur(10px);
}
.txt_slide img:nth-of-type(1){
	position: absolute;
	top: -12px;
	right: -2px;
	width: 19%;
	transition: all 1s ease;
}
.txt_slide img:nth-of-type(2){
	position: absolute;
	bottom: 0px;
	left: -4px;
	width: 19%;
	transition: all 1s ease 0.5s;
}
.txt_slide.move img {
	opacity: 1;
	-webkit-filter: blur(0px);
	filter: blur(0px);
}
*/
.heart_area_first,
.heart_area{
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 100%;
	max-width: 600px;
	overflow: hidden;
	height: 100%;
	z-index: 200;
	display: none;
	pointer-events: none;
}
.svg_heart{
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	transform: translate(-50%,-50%) scale(0) rotate(0deg);
	transform-origin: center;
}
.svg_heart1_first{
	will-change: transform;
	z-index: 200;
	-webkit-animation: heart1_move_first 0.6s cubic-bezier(.42,.06,.95,.43) forwards normal;
	animation: heart1_move_first 0.6s cubic-bezier(.42,.06,.95,.43) forwards normal;
}
@-webkit-keyframes heart1_move_first {
	0% {transform: translate(-50%,-50%) scale(0) rotate(0deg);}
	100% {transform: translate(-50%,-50%) scale(10.0) rotate(0deg);}
}
.svg_heart2_first{
	will-change: transform;
	z-index: 199;
	-webkit-animation: heart2_move_first 0.6s cubic-bezier(.42,.06,.95,.43) forwards 0.08s normal;
	animation: heart2_move_first 0.6s cubic-bezier(.42,.06,.95,.43) forwards 0.08s normal;
}
@-webkit-keyframes heart2_move_first {
	0% {transform: translate(-50%,-50%) scale(0) rotate(0deg);}
	100% {transform: translate(-50%,-50%) scale(10.0) rotate(0deg);}
}
.svg_heart3_first{
	will-change: transform;
	z-index: 198;
	-webkit-animation: heart3_move_first 0.6s cubic-bezier(.42,.06,.95,.43) forwards 0.16s normal;
	animation: heart3_move_first 0.6s cubic-bezier(.42,.06,.95,.43) forwards 0.16s normal;
}
@-webkit-keyframes heart3_move_first {
	0% {transform: translate(-50%,-50%) scale(0) rotate(0deg);}
	100% {transform: translate(-50%,-50%) scale(10.0) rotate(0deg);}
}
.svg_heart1{
	will-change: transform;
	z-index: 200;
	-webkit-animation: heart1_move 1.0s cubic-bezier(.42,.06,.95,.43) forwards normal;
	animation: heart1_move 1.0s cubic-bezier(.42,.06,.95,.43) forwards normal;
}
@-webkit-keyframes heart1_move {
	0% {transform: translate(-50%,-50%) scale(0) rotate(0deg);}
	100% {transform: translate(-50%,-50%) scale(10.0) rotate(30deg);}
}
.svg_heart2{
	will-change: transform;
	z-index: 199;
	-webkit-animation: heart2_move 1.0s cubic-bezier(.42,.06,.95,.43) forwards 0.18s normal;
	animation: heart2_move 1.0s cubic-bezier(.42,.06,.95,.43) forwards 0.18s normal;
}
@-webkit-keyframes heart2_move {
	0% {transform: translate(-50%,-50%) scale(0) rotate(0deg);}
	100% {transform: translate(-50%,-50%) scale(10.0) rotate(30deg);}
}
.svg_heart3{
	will-change: transform;
	z-index: 198;
	-webkit-animation: heart3_move 1.0s cubic-bezier(.42,.06,.95,.43) forwards 0.36s normal;
	animation: heart3_move 1.0s cubic-bezier(.42,.06,.95,.43) forwards 0.36s normal;
}
@-webkit-keyframes heart3_move {
	0% {transform: translate(-50%,-50%) scale(0) rotate(0deg);}
	100% {transform: translate(-50%,-50%) scale(10.0) rotate(30deg);}
}
.heart1{
	fill: #fc00ce;
}
.heart2{
	fill: #fceb00;
}
.heart3{
	fill: #fff;
}
.notice{
	position: fixed;
	top: 8px;
	left: 50%;
	transform: translateX(-50%);
	width: 80%;
	opacity: 0;
	visibility: hidden;
	transition: all 0.5s;
	z-index: 1;
}
.notice.move{
	opacity: 1;
	visibility: visible;
}
.notice img{
	margin: 0 auto;
}

/*-----------------s1-----------------*/
#s1 {
	position: relative;
	width: 100%;
	height: 100%;
	z-index: 50;
	display: none;
}
.cover {
	will-change: transform;
	width: 133%;
	position: absolute;
	top: 50%;
	left: 50%;
}
.zI17 {
	z-index: 17;
	transform: translate(-200%,100%) scale(5);
	-webkit-animation: s1img_move17 1.4s cubic-bezier(.13,.82,.26,1) forwards normal;
	animation: s1img_move17 1.4s cubic-bezier(.13,.82,.26,1) forwards normal;
}
@-webkit-keyframes s1img_move17 {
	0% {transform: translate(-200%,100%) scale(5);}
	100% {transform: translate(-50%,-50%) scale(1);}
}

.zI16 {
	z-index: 16;
	transform: translate(-240%,140%) scale(5);
	-webkit-animation: s1img_move16 1.4s cubic-bezier(.13,.82,.26,1) forwards normal;
	animation: s1img_move16 1.4s cubic-bezier(.13,.82,.26,1) forwards normal;
}
@-webkit-keyframes s1img_move16 {
	0% {transform: translate(-240%,140%) scale(5);}
	100% {transform: translate(-50%,-50%) scale(1);}
}

.zI15 {
	z-index: 15;
	transform: translate(-280%,180%) scale(5);
	-webkit-animation: s1img_move15 1.4s cubic-bezier(.13,.82,.26,1) forwards normal;
	animation: s1img_move15 1.4s cubic-bezier(.13,.82,.26,1) forwards normal;
}
@-webkit-keyframes s1img_move15 {
	0% {transform: translate(-280%,180%) scale(5);}
	100% {transform: translate(-50%,-50%) scale(1);}
}

.zI14 {
	z-index: 14;
	transform: translate(-320%,220%) scale(5);
	-webkit-animation: s1img_move14 1.4s cubic-bezier(.13,.82,.26,1) forwards normal;
	animation: s1img_move14 1.4s cubic-bezier(.13,.82,.26,1) forwards normal;
}
@-webkit-keyframes s1img_move14 {
	0% {transform: translate(-320%,220%) scale(5);}
	100% {transform: translate(-50%,-50%) scale(1);}
}

.zI13 {
	z-index: 13;
	transform: translate(-360%,260%) scale(5);
	-webkit-animation: s1img_move13 1.4s cubic-bezier(.13,.82,.26,1) forwards normal;
	animation: s1img_move13 1.4s cubic-bezier(.13,.82,.26,1) forwards normal;
}
@-webkit-keyframes s1img_move13 {
	0% {transform: translate(-360%,260%) scale(5);}
	100% {transform: translate(-50%,-50%) scale(1);}
}

.zI12 {
	z-index: 12;
	transform: translate(-400%,300%) scale(5);
	-webkit-animation: s1img_move12 1.4s cubic-bezier(.13,.82,.26,1) forwards normal;
	animation: s1img_move12 1.4s cubic-bezier(.13,.82,.26,1) forwards normal;
}
@-webkit-keyframes s1img_move12 {
	0% {transform: translate(-400%,300%) scale(5);}
	100% {transform: translate(-50%,-50%) scale(1);}
}

.zI11 {
	z-index: 11;
	transform: translate(-50%,-50%) scale(0,0) perspective(0);
	opacity: 0;
}
.scale_in{
	opacity: 1;
	-webkit-animation: s1img_move11 1.2s cubic-bezier(.13,.82,.26,1) forwards 0.4s normal;
	animation: s1img_move11 1.2s cubic-bezier(.13,.82,.26,1) forwards 0.4s normal;
}
@-webkit-keyframes s1img_move11 {
	0% {transform: translate(-50%,-50%) scale(0,0) perspective(0);}
	100% {transform: translate(-50%,-50%) scale(100%,100%) perspective(0);}
}

.zI10 {
	z-index: 10;
	transform: translate(-480%,380%) scale(5);
	-webkit-animation: s1img_move10 1.4s cubic-bezier(.13,.82,.26,1) forwards normal;
	animation: s1img_move10 1.4s cubic-bezier(.13,.82,.26,1) forwards normal;
}
@-webkit-keyframes s1img_move10 {
	0% {transform: translate(-480%,380%) scale(5);}
	100% {transform: translate(-50%,-50%) scale(1);}
}

.zI9 {
	z-index: 9;
	transform: translate(-520%,420%) scale(5);
	-webkit-animation: s1img_move9 1.4s cubic-bezier(.13,.82,.26,1) forwards normal;
	animation: s1img_move9 1.4s cubic-bezier(.13,.82,.26,1) forwards normal;
}
@-webkit-keyframes s1img_move9 {
	0% {transform: translate(-520%,420%) scale(5);}
	100% {transform: translate(-50%,-50%) scale(1);}
}

.zI8 {
	z-index: 8;
	transform: translate(-560%,460%) scale(5);
	-webkit-animation: s1img_move8 1.4s cubic-bezier(.13,.82,.26,1) forwards normal;
	animation: s1img_move8 1.4s cubic-bezier(.13,.82,.26,1) forwards normal;
}
@-webkit-keyframes s1img_move8 {
	0% {transform: translate(-560%,460%) scale(5);}
	100% {transform: translate(-50%,-50%) scale(1);}
}

.zI7 {
	z-index: 7;
	transform: translate(-600%,500%) scale(5);
	-webkit-animation: s1img_move7 1.4s cubic-bezier(.13,.82,.26,1) forwards normal;
	animation: s1img_move7 1.4s cubic-bezier(.13,.82,.26,1) forwards normal;
}
@-webkit-keyframes s1img_move7 {
	0% {transform: translate(-600%,500%) scale(5);}
	100% {transform: translate(-50%,-50%) scale(1);}
}

.zI6 {
	z-index: 6;
	transform: translate(-640%,500%) scale(5);
	-webkit-animation: s1img_move6 1.4s cubic-bezier(.13,.82,.26,1) forwards normal;
	animation: s1img_move6 1.4s cubic-bezier(.13,.82,.26,1) forwards normal;
}
@-webkit-keyframes s1img_move6 {
	0% {transform: translate(-600%,500%) scale(5);}
	100% {transform: translate(-50%,-50%) scale(1);}
}

.zI5 {
	z-index: 5;
	transform: translate(-700%,600%) scale(5);
	-webkit-animation: s1img_move5 1.4s cubic-bezier(.13,.82,.26,1) forwards normal;
	animation: s1img_move5 1.4s cubic-bezier(.13,.82,.26,1) forwards normal;
}
@-webkit-keyframes s1img_move5 {
	0% {transform: translate(-700%,600%) scale(5);}
	100% {transform: translate(-50%,-50%) scale(1);}
}

.zI4 {
	z-index: 4;
	transform: translate(-740%,640%) scale(5);
	-webkit-animation: s1img_move4 1.4s cubic-bezier(.13,.82,.26,1) forwards normal;
	animation: s1img_move4 1.4s cubic-bezier(.13,.82,.26,1) forwards normal;
}
@-webkit-keyframes s1img_move4 {
	0% {transform: translate(-740%,640%) scale(5);}
	100% {transform: translate(-50%,-50%) scale(1);}
}

.zI3 {
	z-index: 3;
	transform: translate(-780%,680%) scale(5);
	-webkit-animation: s1img_move3 1.4s cubic-bezier(.13,.82,.26,1) forwards normal;
	animation: s1img_move3 1.4s cubic-bezier(.13,.82,.26,1) forwards normal;
}
@-webkit-keyframes s1img_move3 {
	0% {transform: translate(-780%,680%) scale(5);}
	100% {transform: translate(-50%,-50%) scale(1);}
}

.zI2 {
	z-index: 2;
	transform: translate(-820%,720%) scale(5);
	-webkit-animation: s1img_move2 1.4s cubic-bezier(.13,.82,.26,1) forwards normal;
	animation: s1img_move2 1.4s cubic-bezier(.13,.82,.26,1) forwards normal;
}
@-webkit-keyframes s1img_move2 {
	0% {transform: translate(-820%,720%) scale(5);}
	100% {transform: translate(-50%,-50%) scale(1);}
}

.zI1 {
	z-index: 1;
	transform: translate(-860%,760%) scale(5);
	-webkit-animation: s1img_move1 1.4s cubic-bezier(.13,.82,.26,1) forwards normal;
	animation: s1img_move1 1.4s cubic-bezier(.13,.82,.26,1) forwards normal;
}
@-webkit-keyframes s1img_move1 {
	0% {transform: translate(-860%,760%) scale(5);}
	100% {transform: translate(-50%,-50%) scale(1);}
}

.s1_txt{
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	z-index: 18;
	width: 100%;
	clip-path: inset(0 100% 0% 0);
}
.s1_txt_move{
	-webkit-animation: s1txt_mask 0.7s ease-in forwards normal;
	animation: s1txt_mask 0.7s ease-in forwards normal;
}
@-webkit-keyframes s1txt_mask {
	0% {-webkit-clip-path: inset(0 100% 0 0);}
	100% {-webkit-clip-path: inset(0 0 0 0);}
}

.s1_txt_heart{
	position: absolute;
	left: 0;
	top: 50%;
	transform-origin: left bottom;
	transform: translate(0,-48%) scale(0);
	z-index: 19;
	width: 100%;
	opacity: 1;
	pointer-events: none;
	-webkit-animation: s1txt_heart_tr 0.9s cubic-bezier(.16,.48,.58,1) forwards 1s normal, s1txt_heart_op 0.7s ease-out forwards 1.1s normal;
	animation: s1txt_heart_tr 0.9s cubic-bezier(.16,.48,.58,1) forwards 1s normal, s1txt_heart_op 0.7s ease-out forwards 1.1s normal;
}
@-webkit-keyframes s1txt_heart_tr {
	0% {transform: translate(0,-48%) scale(0);}
	100% {transform: translate(10%,-48%) scale(1);}
}
@-webkit-keyframes s1txt_heart_op {
	0% {opacity: 1;}
	70% {opacity: 1;}
	100% {opacity: 0;}
}

/*-----------------s2-----------------*/
#s2 {
	display: none;
	z-index: 40;
}
.select_area {
	width: 100%;
	height: 100%;
	position: fixed;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	background-color: rgba(0,0,0,0.5);
	display: none;
	opacity: 0;
	z-index: 2;
}
.select_area.show {
	display: block;
	-webkit-animation: fade_in 0.5s linear forwards;
	animation: fade_in 0.5s linear forwards;
}
@-webkit-keyframes fade_in {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
.select_area.hidden {
	-webkit-animation: fade_out 0.5s linear forwards;
	animation: fade_out 0.5s linear forwards;
}
@-webkit-keyframes fade_out {
	0% {
		display: block;
		opacity: 1;
	}
	99%{
		display: block;
		opacity: 0;
	}
	100% {
		display: none;
		opacity: 0;
	}
}
.select_box{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	transition: all 0.5s linear;
}
.select_btn_box {
	position: relative;
	width: 100%;
}
.select_title_box{
	position: absolute;
	top: 0%;
	left: 50%;
	transform: translate(-50%,-94%);
	width: 100%;
}
#select_ashirai_svg {
	width: 90%;
	display: block;
	margin: 0 auto;
}
.ashirai_mask_path {
	fill: #f55;
	stroke-width: 0px;
}
.select_ashirai_path{
	fill: none;
	stroke: #fff;
	stroke-width: 4px;
	stroke-dasharray: 1000 1000;
	stroke-dashoffset: 1480;
	-webkit-animation: select_ashirai 2.3s cubic-bezier(0.51, 0, 0.52, 1) infinite;
	animation: select_ashirai 2.3s cubic-bezier(0.51, 0, 0.52, 1) infinite;
}
@-webkit-keyframes select_ashirai {
	0% {
		stroke-dashoffset: 1000;
	}
	42% {
		stroke-dashoffset: 0;
	}
	52% {
		stroke-dashoffset: 0;
	}
	94% {
		stroke-dashoffset: -1000;
	}
	100% {
		stroke-dashoffset: -1000;
	}
}
.select_title_txt{
	width: 75%;
	margin: 0 auto;
	transform: translateY(-18px);
}
.select_btn_wrap {
	display: none;
}
.select_btn {
	flex: 0 0 50%;
	transition: all 0.5s;
}
.select_btn.on{
	transform: scale(1);
	-webkit-animation: boyon 0.5s ease forwards;
	animation: boyon 0.5s ease forwards;
}
@-webkit-keyframes boyon {
	0% {
		transform: scale(1);
	}
	20%{
		transform: scale(0.92);
	}
	40%{
		transform: scale(1.04);
	}
	60%{
		transform: scale(0.98);
	}
	80%{
		transform: scale(1);
	}
	100% {
		transform: scale(1);
	}
}
.select_btn:last-of-type{
	margin-top: 4px;
}

/*-----------------s3-----------------*/
#s3 {
	display: none;
	z-index: 30;
}
/*
.cutin_area {
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	opacity: 0;
	overflow: hidden;
	transition: all 0.2s linear;
	pointer-events: none;
	background-color: rgba(255,255,255,0.6);
	z-index: 2;
}
.cutin_area.move {
	width: 100%;
	opacity: 1;
}
.cutin_area img {
	width: var(--baseWidth);
	display: none;
}
.cutin_area.move img {
	-webkit-animation: cutin_move2 4s linear 1 0s forwards;
	animation: cutin_move2 4s linear 1 0s forwards;
}
@-webkit-keyframes cutin_move2 {
	0%{-webkit-transform: scale(1);}
	100%{-webkit-transform: scale(1.1);}
}
@keyframes cutin_move2{
	0%{-webkit-transform: scale(1);}
	100%{-webkit-transform: scale(1.1);}
}
*/

/*-----------------s4-----------------*/
#s4 {
	display: none;
	z-index: 20;
}
.btn_area {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	opacity: 0;
	display: none;
	background-color: rgba(0,0,0,0.7);
	transition: all 0.5s linear;
	z-index: 110;
}
.btn_area.move {
	opacity: 1;
}
.btn_box {
	width: 100%;
	position: absolute;
	top: 40%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.btn_wrap {
	padding: 0 10%;
}
.btn_box .btn_wrap a {
	display: block;
	transform: translateY(-10%);
}
.btn_box .btn_wrap a img{
	transform: scale(1);
	-webkit-animation: btn_move 1.5s ease infinite normal;
	animation: btn_move 1.5s ease infinite normal;
}
@-webkit-keyframes btn_move {
	0% {transform: scale(1);}
	50% {transform: scale(0.94);}
	100% {transform: scale(1);}
}

.last_txt {
	position: absolute;
	left: 0;
	top: 0;
	opacity: 0;
	transition: all 1s linear 0.5s;
	-webkit-filter: blur(5px);
	-moz-filter: blur(5px);
	filter: blur(5px);
}
.btn_area.move .last_txt {
	-webkit-filter: blur(0px);
	-moz-filter: blur(0px);
	filter: blur(0px);
	opacity: 1;
}

/*-----------------screen-----------------*/
#modal_screen {
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	background-color: rgba(0,0,0,0.7);
	z-index: 100;
}
#white_screen,
#black_screen{
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	background-color:rgba(255,255,255,0.98);
	z-index: 100;
	display: none;
	opacity: 0;
	transition: opacity 1s ease;
}
#black_screen {
	background-color:rgba(0,0,0,0.98);
	/*transition: opacity 0.5s ease;*/
}
#white_screen.on,
#black_screen.on{
	display: block;
}
#white_screen.move,
#black_screen.move{
	opacity: 1;
}
.speed_fade{
	animation: speed_fade 0.6s linear infinite normal forwards;
	-webkit-animation: speed_fade 0.6s linear infinite normal forwards;
}
@keyframes speed_fade {
	0% {opacity: 0;}
	50% {opacity: 1;}
	100% {opacity: 0;}
}

/*-----------------loading-----------------*/
#modal_loading {
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	z-index: 110;
	height: 100px;
}
.loader{
	height: auto;
	width: calc(100% - 2em);
	text-align: center;
	padding: 1em;
	margin: 0 auto 1em;
	display: inline-block;
	vertical-align: top;
}
.loader svg {
	animation: loader_move 0.6s linear infinite normal forwards;
	-webkit-animation: loader_move 0.6s linear infinite normal forwards;
}
@keyframes loader_move {
	0% {transform: rotate(0deg);}
	100% {transform: rotate(360deg);}
}
@-webkit-keyframes loader_move {
	0% {transform:translate(0deg);}
	100% {transform: rotate(360deg);}
}
svg path,
svg rect{
	fill: #fc00ce;
}
#modal_loading p {
	color: #fff;
	font-size: 18px;
	padding-left: 1em;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.3);
}
.clearfix:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
	}
* html .clearfix { zoom: 1; } /* IE6 */
.clear {
	clear: both;
}
*:first-child+html .clearfix { zoom: 1; } /* IE7 */

/*info-----------------------------------------*/
.info .sub_title{
	margin: 15px auto;
	font-weight: bold;
	font-size:20px;
	line-height: 2em;
	text-align: center;
	color: #fff;
}
#info_box {
	border-collapse: separate;
	border-spacing: 0;
	text-align: left;
	line-height: 1.5;
	border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;
	margin: 20px auto 50px auto;
	width: 94%;
	font-size: 13px;
}
#info_box th {
	width: 100px;
	padding: 10px;
	font-weight: bold;
	vertical-align: middle;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	border-top: 1px solid #fff;
	border-left: 1px solid #fff;
	background: #eee;
}
#info_box td {
	width: auto;
	padding: 10px;
	vertical-align: top;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	border-top:1px;
	border-left:1px;
	text-align:left;
}
/*-----------------18歳未満利用禁止-----------------*/
.r18_text {
	font-size: 12px;
	color: #fff;
	position: fixed;
	opacity: 0.8;
	top: 5px;
	line-height: 10px;
	left: calc(50% - calc(var(--baseWidth) * 0.49));
	text-shadow: 0 0.1em 0 #000, -0.1em -0.1em 0 #000, -0.1em 0.1em 0 #000, 0.1em -0.1em 0 #000, 0px 0.1em 0 #000, 0 -0.1em 0 #000, -0.1em 0 0 #000, 0.1em 0 0 #000;
	z-index: 300;
}
/*-----------------18歳未満利用禁止-----------------*/