@charset "UTF-8";


@import url('https://fonts.googleapis.com/css2?family=M+PLUS+1:wght@100..900&family=Zen+Old+Mincho:wght@500;700;900&display=swap');


/*

	background-repeat: no-repeat;
	background-position: left top;
	background-position: center center;
	background-image: url("../images/dot_pack_alpha.png");
	background-color: transparent;
	background-size: 20px 49px;

	background-color: transparent;

	border-style: solid;
	border-color: transparent;
	border-width: 1px 0px 1px 0px;

	box-sizing: border-box;

	border-radius: 50px;

	text-align: center;
	font-size: 30px;
	line-height: 32px;
	letter-spacing: 0.008em;
	color: #000000;
	font-weight: 400;
	text-decoration: none;

	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	flex-direction: row;
	align-items: center;

	position: relative;
	position: absolute;
	top: 0px;
	left: 0px;
	width: auto;
	height: auto;
	z-index: 10000;

	transition-delay: 0s;
	transition-property: all;
	transition-duration: 0.25s;
	transition-timing-function: ease-in-out;

	border-radius: 50px;

	transition: background-color 0.3s ease 0s;

	transition: opacity 0.3s ease 0s;




.m-plus-1-<uniquifier> {
	font-family: "M PLUS 1", sans-serif;
	font-optical-sizing: auto;
	font-weight: <weight>;
	font-style: normal;
}

.zen-old-mincho-medium {
	font-family: "Zen Old Mincho", serif;
	font-weight: 500;
	font-style: normal;
}

.zen-old-mincho-bold {
	font-family: "Zen Old Mincho", serif;
	font-weight: 700;
	font-style: normal;
}

.zen-old-mincho-black {
	font-family: "Zen Old Mincho", serif;
	font-weight: 900;
	font-style: normal;
}


@media only screen and ( max-width: 1000px ){


}

*/




:root{
/*
	--mag25: 2.5 / 750px * 100 * 1vw;
	--mag23: 2.3 / 750px * 100 * 1vw;
	--mag22: 2.2 / 750px * 100 * 1vw;
	--mag2: 2.0 / 750px * 100 * 1vw;
	--mag17: 1.7 / 750px * 100 * 1vw;
	--mag15: 1.5 / 750px * 100 * 1vw;
	--mag13: 1.3 / 750px * 100 * 1vw;
	--mag12: 1.2 / 750px * 100 * 1vw;
	--mag1: 1.0 / 750px * 100 * 1vw;

	--mag1920: 1.0 / 1920px * 100 * 1vw;

	--mag1k: 1.0 / 1000px * 100 * 1vw;

	--mag08k: 1.0 / 800px * 100 * 1vw;
*/

	--mag25: 0.333333vw;
	--mag23: 0.306666vw;
	--mag22: 0.293333vw;
	--mag2: 0.266666vw;
	--mag17: 0.226666vw;
	--mag15: 0.2vw;
	--mag13: 0.173333vw;
	--mag12: 0.16vw;
	--mag1: 0.133333vw;

	--mag1920: 0.05208333vw;

	--mag1k: 0.1vw;

	--mag08k: 0.125vw;

	/* min-height: calc( 107 * var(--mag13) ); */

	/* min-height: calc( 107 * var(--mag1k) ); */
}




html, body {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	-webkit-text-size-adjust: none;
	background-color: #000000;
}

html {
	/*scrollbar-gutter: stable;*/
}

body {
	background-size: auto auto;
}

.default_font_family,
body {
	font-family: "M PLUS 1", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
}

strong {
	font-weight: 800;
}




@media only screen and ( max-width: 750px ){

}




/* ------------------------------------------------------------------------------------------------ Anchor */




.anchor_pos {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: 100%;
	height: 0px;
	position: absolute;
	top: 0px;
	left: 0px;
	z-index: -1;
}

@media only screen and ( max-width: 750px ){

	.anchor_pos {
		top: calc( 0 * var(--mag13) );
	}

}




/* ------------------------------------------------------------------------------------------------ BG */




#ttts_top_fixed_bg {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	position: fixed;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	height: 100dvh;
	height: 100lvh;
	pointer-events: none;
	background-repeat: no-repeat;
	background-position: left top;
	background-position: center center;
	background-image: url("../images/ts_fv_bg01.jpg");
	background-color: transparent;
	background-size: cover;

	display: none;
}




/* ------------------------------------------------------------------------------------------------ Header */




#ttts_header {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	position: relative;
	z-index: 1000;
}




.ttts_lang {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	position: absolute;
	top: 50px;
	right: 60px;
	overflow: hidden;
}

.ttts_lang .ttts_lang_main {
	margin: 0px 0px 0px 0px;
	padding: 3px 9px 3px 9px;
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-end;
	flex-direction: row;
	align-items: center;
	gap: 12px;
	border-style: solid;
	border-color: transparent;
	border-width: 1px 1px 1px 1px;
	box-sizing: border-box;
	transition: border-color 0.3s ease 0s;
	cursor: pointer;
	min-width: 88px;
}

.ttts_lang .ttts_lang_main:hover {
	/*border-color: #ffffff;*/
}

.ttts_lang .ttts_lang_main .ttts_lang_main_left {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
}

.ttts_lang .ttts_lang_main .ttts_lang_main_left img {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: auto;
	height: 28px;
}

.ttts_lang .ttts_lang_main .ttts_lang_main_right {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	position: relative;
}

.ttts_lang .ttts_lang_main .ttts_lang_main_right img {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: 19px;
	height: 16px;
}

.ttts_lang .ttts_lang_main .ttts_lang_main_right img:nth-child(1) {
	opacity: 1.0;
	transition: transform 0.3s ease 0s;
}

.lang_open .ttts_lang_main .ttts_lang_main_right img:nth-child(1) {
	transform: rotateZ(180deg);
}

.ttts_lang .ttts_lang_other {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	position: absolute;
	top: calc( 36px + 4px );
	right: 0px;
}

.ttts_lang .ttts_lang_other .lang_other_item {
	margin: 0px 0px 0px 0px;
	padding: 3px 9px 3px 9px;
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-end;
	flex-direction: row;
	align-items: center;
	gap: 12px;
	border-style: solid;
	border-color: transparent;
	border-width: 1px 1px 1px 1px;
	box-sizing: border-box;
	transition: opacity 0.3s ease 0s;
	min-width: 88px;
}

.ttts_lang .ttts_lang_other .lang_other_item:hover {
	opacity: 0.5;
}

.ttts_lang .ttts_lang_other .lang_other_item img {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: auto;
	height: 28px;
}

.ttts_lang .ttts_lang_other .lang_other_item img:nth-child(2) {
	width: 19px;
	height: 16px;
	opacity: 0.0;
}

@media only screen and ( max-width: 1500px ){

	.ttts_lang {
		top: 50px;
		right: auto;
		left: 60px;
	}

}

@media only screen and ( max-width: 750px ){

	.ttts_lang {
		top: 50px;
		left: 60px;

		top: calc( 50 * var(--mag1) );
		left: calc( 60 * var(--mag1) );

		top: calc( 42 * var(--mag1) );
		left: calc( 18 * var(--mag1) );
	}

	.ttts_lang .ttts_lang_main {
		padding: 3px 9px 3px 9px;
		gap: 12px;
		min-width: 88px;

		padding: calc( 3 * var(--mag13) ) calc( 9 * var(--mag13) ) calc( 3 * var(--mag13) ) calc( 9 * var(--mag13) );
		gap: calc( 12 * var(--mag13) );
		min-width: calc( 88 * var(--mag13) );
	}

	.ttts_lang .ttts_lang_main .ttts_lang_main_left img {
		height: 28px;

		height: calc( 28 * var(--mag13) );
	}

	.ttts_lang .ttts_lang_main .ttts_lang_main_right img {
		width: 19px;
		height: 16px;

		width: calc( 19 * var(--mag13) );
		height: calc( 16 * var(--mag13) );
	}

	.ttts_lang .ttts_lang_other {
		gap: 4px;
		top: calc( 40px );

		gap: calc( 4 * var(--mag13) );
		top: calc( 40 * var(--mag13) );
	}

	.ttts_lang .ttts_lang_other .lang_other_item {
		padding: 3px 9px 3px 9px;
		gap: 12px;
		min-width: 88px;

		padding: calc( 3 * var(--mag13) ) calc( 9 * var(--mag13) ) calc( 3 * var(--mag13) ) calc( 9 * var(--mag13) );
		gap: calc( 12 * var(--mag13) );
		min-width: calc( 88 * var(--mag13) );
	}

	.ttts_lang .ttts_lang_other .lang_other_item img {
		height: 28px;

		height: calc( 28 * var(--mag13) );
	}

	.ttts_lang .ttts_lang_other .lang_other_item img:nth-child(2) {
		width: 19px;
		height: 16px;

		width: calc( 19 * var(--mag13) );
		height: calc( 16 * var(--mag13) );
	}

}




/* ------------------------------------------------------------------------------------------------ Main */




#ttts_main {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	position: relative;
}

#ttts_main .ts_content_box {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: 1672px;
	position: relative;
}

#ttts_main .ts_content_box .content_box_head2 {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: auto;
}

#ttts_main .ts_content_box .content_box_head2 img {
	margin: 0px auto 0px auto;
	padding: 0px 0px 0px 0px;
	display: block;
	width: auto;
	height: 78px;
}

@media only screen and ( max-width: 1400px ){

	#ttts_main .ts_content_box {
		width: 1300px;

		width: 92.8571vw;
	}

	#ttts_main .ts_content_box .content_box_head2 img {
		height: 78px;

		height: 5.5714vw;
	}

}




/* ------------------------------------------------------------------------------------------------ FV */




#ttts_top_fv {
	margin: 0px 0px 0px 0px;
	padding: 316px 0px 362px 0px;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	flex-direction: row;
	align-items: center;
	position: relative;
	background-repeat: no-repeat;
	background-position: left top;
	background-position: center center;
	background-image: url("../images/fv_bg01.jpg");
	background-color: transparent;
	background-size: cover;
}

#ttts_top_fv #ttts_top_fv_body {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: 1500px;
	position: relative;
}

#ttts_top_fv #ttts_top_fv_body .kvimg {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: 100%;
	height: auto;
}

#ttts_top_fv #ttts_top_fv_body #fv_scroll,
#ttts_top_fv #ttts_top_fv_body h2,
#ttts_top_fv #ttts_top_fv_body h1 {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	height: auto;
	position: absolute;
}

#ttts_top_fv #ttts_top_fv_body #fv_scroll img,
#ttts_top_fv #ttts_top_fv_body h2 img,
#ttts_top_fv #ttts_top_fv_body h1 img {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: 100%;
	height: auto;
}

#ttts_top_fv #ttts_top_fv_body h1 {
	width: 474px;
	top: -164px;
	right: -80px;
}

#ttts_top_fv #ttts_top_fv_body h1.en {
	width: 15%;
	height: 94%;
	top: 3%;
	right: 0px;
}

#ttts_top_fv #ttts_top_fv_body h1.en img {
	width: auto;
	height: 100%;
}

#ttts_top_fv #ttts_top_fv_body h2 {
	width: 316px;
	bottom: -164px;
	left: -150px;
}

@keyframes floating1 {
	0% {
		transform: translateY(0);
	}
	100% {
		transform: translateY(30px);
	}
}

#ttts_top_fv #ttts_top_fv_body #fv_scroll {
	width: 25px;
	top: -218px;
	left: 50%;
	margin-left: -12px;
	animation: floating1 1s ease-in-out infinite alternate;
}

@media only screen and ( max-width: 1820px ){

	#ttts_top_fv {
		padding: 316px 0px 362px 0px;

		padding: 17.3626vw 0px 19.8901vw 0px;
	}

	#ttts_top_fv #ttts_top_fv_body {
		width: 1500px;

		width: 82.4175vw;
	}

	#ttts_top_fv #ttts_top_fv_body h1 {
		width: 474px;
		top: -164px;
		right: -80px;

		width: 26.0439vw;
		top: -9.0109vw;
		right: -4.3956vw;
	}

	#ttts_top_fv #ttts_top_fv_body h2 {
		width: 316px;
		bottom: -164px;
		left: -150px;

		width: 17.3626vw;
		bottom: -9.0109vw;
		left: -8.2417vw;
	}

	#ttts_top_fv #ttts_top_fv_body #fv_scroll {
		width: 25px;
		top: -218px;
		left: 50%;
		margin-left: -12px;

		top: -11.978vw;

/*
		width: 1.3736vw;
		left: 50%;
		margin-left: -0.6593vw;
*/
	}

}

@media only screen and ( max-width: 750px ){

	#ttts_top_fv #ttts_top_fv_body #fv_scroll {
		display: none;
	}
}




/* ------------------------------------------------------------------------------------------------ INTRODUCTION */




#ttts_top_introduction {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	flex-direction: row;
	align-items: center;
	position: relative;
	background-repeat: no-repeat;
	background-position: left top;
	background-position: center bottom;
	background-image: url("../images/introduction_bg01.jpg");
	background-color: #000000;
	background-size: 100% auto;
}

#ttts_top_introduction #ttts_top_introduction_bg02,
#ttts_top_introduction #ttts_top_introduction_bg01 {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	position: absolute;
	background-repeat: no-repeat;
	background-position: left top;
	background-position: center center;
	background-color: transparent;
	background-size: contain;
	box-shadow: 0 0 54px 0 rgba(4,0,0,1);
}

#ttts_top_introduction #ttts_top_introduction_bg01 {
	background-image: url("../images/introduction_image01.jpg");
	width: 1200px;
	height: 630px;
	top: 156px;
	left: 0px;
}

#ttts_top_introduction #ttts_top_introduction_bg02 {
	background-image: url("../images/introduction_image02.jpg");
	width: 930px;
	height: 900px;
	top: 334px;
	right: 0px;
}

#ttts_top_introduction .introduction_body {
	margin: 0px 0px 0px 0px;
	padding: 1052px 0px 284px 0px;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	flex-direction: column;
	align-items: center;
	gap: 214px;
	position: relative;
}

#ttts_top_introduction .introduction_body p {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	text-align: center;
	font-size: 24px;
	line-height: 86px;
	letter-spacing: 0.01em;
	color: #ffffff;
	font-family: "Zen Old Mincho", serif;
	font-weight: 700;
	font-style: normal;
	text-decoration: none;
}

#ttts_top_introduction .introduction_body p.en {
	line-height: 44px;
}

@media only screen and ( max-width: 1800px ){

	#ttts_top_introduction #ttts_top_introduction_bg01 {
		width: 1200px;
		height: 630px;
		top: 156px;

		width: 66.6666vw;
		height: 35vw;
		top: 8.6666vw;
	}

	#ttts_top_introduction #ttts_top_introduction_bg02 {
		width: 930px;
		height: 900px;
		top: 334px;

		width: 51.6666vw;
		height: 50vw;
		top: 18.5555vw;
	}

	#ttts_top_introduction .introduction_body {
		padding: 1052px 0px 284px 0px;
		gap: 214px;

		padding: 58.4444vw 0px 15.7777vw 0px;
		gap: 11.8888vw;
	}

}

@media only screen and ( max-width: 1400px ){

	#ttts_top_introduction #ttts_top_introduction_bg02,
	#ttts_top_introduction #ttts_top_introduction_bg01 {
		box-shadow: 0 0 54px 0 rgba(4,0,0,1);

		box-shadow: 0 0 3.8571vw 0 rgba(4,0,0,1);
	}

/*
	#ttts_top_introduction #ttts_top_introduction_bg01 {
		width: 1200px;
		height: 630px;
		top: 156px;

		width: 85.7142vw;
		height: 45vw;
		top: 11.1428vw;
	}

	#ttts_top_introduction #ttts_top_introduction_bg02 {
		width: 930px;
		height: 900px;
		top: 334px;

		width: 66.4285vw;
		height: 64.2857vw;
		top: 23.8571vw;
	}

	#ttts_top_introduction .introduction_body {
		padding: 1052px 0px 284px 0px;
		gap: 214px;

		padding: 75.1428vw 0px 20.2857vw 0px;
		gap: 15.2857vw;
	}
*/

}

@media only screen and ( max-width: 750px ){

	#ttts_top_introduction .introduction_body {
		padding: 84.4444vw 0px 15.7777vw 0px;
		gap: 11.8888vw;
	}

	#ttts_top_introduction .introduction_body p {
		font-size: 24px;
		line-height: 86px;

		font-size: calc( 24 * var(--mag1) );
		line-height: calc( 86 * var(--mag1) );
	}

	#ttts_top_introduction .introduction_body p.en {
		line-height: 44px;

		line-height: calc( 44 * var(--mag1) );
	}

}




/* ------------------------------------------------------------------------------------------------ COMICS */




#ttts_top_comics {
	margin: 0px 0px 0px 0px;
	padding: 124px 0px 140px 0px;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	flex-direction: row;
	align-items: center;
	position: relative;
	background-repeat: no-repeat;
	background-position: left top;
	background-position: center bottom;
	background-image: url("../images/comics_bg01.jpg");
	background-color: #000000;
	background-size: cover;
}

#ttts_top_comics .comics_body {
	margin: 108px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	flex-direction: row;
	align-items: center;
	gap: 90px;

	flex-direction: column-reverse;
	flex-direction: column;
}

@media only screen and ( max-width: 750px ){


	#ttts_top_comics {
		padding: 124px 0px 140px 0px;

		padding: calc( 124 * var(--mag1) ) 0px calc( 140 * var(--mag1) ) 0px;
	}

	#ttts_top_comics .comics_body {
		margin: 108px 0px 0px 0px;
		gap: 90px;

		margin: calc( 108 * var(--mag1) ) 0px 0px 0px;
		gap: calc( 90 * var(--mag1) );

		gap: calc( 110 * var(--mag1) );
	}

}




.comics_nav {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: grid;
	grid-template-columns: 2.04fr repeat(3, 1fr);
	gap: 18px;

	position: relative;
}

.comics_nav .comics_nav_item {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	/*aspect-ratio: 1;*/
}

.comics_nav .comics_nav_item:nth-child(1) {
	grid-row: span 2;
}

.comics_nav .comics_nav_item img {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: 100%;
	height: auto;
}

.comics_nav .comics_cr {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	position: absolute;
	top: calc( 100% + 8px );
	left: 0px;
}

@media only screen and ( max-width: 1708px ){

	.comics_nav {
		gap: 18px;

		gap: 1.05386vw;
	}

}

@media only screen and ( max-width: 750px ){

	.comics_nav {
		margin-left: 8vw;
		margin-right: 8vw;
		display: flex;
		flex-wrap: wrap;
		gap: 2vw;
	}

	.comics_nav .comics_nav_item {
		width: calc( ( 100% - 2vw * 1 ) / 2 ); /* 3 4 */
	}

	.comics_nav .comics_cr {
		top: calc( 100% + 8px );
		width: auto;
		height: 19px;

		top: calc( 100% + 1.0666vw );
		height: 2.5333vw;
	}

}




#ttts_top_comics .comics_text {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	flex-direction: column;
	align-items: center;
	gap: 42px;
}

#ttts_top_comics .comics_text img {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
}

@keyframes floating2 {
	0% {
		transform: translateY(0);
	}
	100% {
		transform: translateY(-6px);
	}
}

#ttts_top_comics .comics_text .balloon {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: 39px;
	height: auto;
	position: absolute;
	top: -56%;
	left: 108%;
	animation: floating2 1s ease-in-out infinite alternate;
}

#ttts_top_comics .comics_text .text01 {
	height: 39px;
	position: relative;
}

#ttts_top_comics .comics_text .text01 img {
	display: block;
	width: auto;
	height: 100%;
}

#ttts_top_comics .comics_text .text01 .balloon {
	height: 42px;
}

#ttts_top_comics .comics_text .text02 {
}

#ttts_top_comics .comics_text .text03 {
	margin-top: 10px;
	margin-bottom: 52px;
}

#ttts_top_comics .comics_text .text04 {
	display: block;
	transition: opacity 0.3s ease 0s;
}

#ttts_top_comics .comics_text .text04:hover {
	opacity: 0.5;
}

@media only screen and ( max-width: 990px ){

	#ttts_top_comics .comics_text .text02 {
		height: 9.3939vw;

		height: 11.3939vw;
	}

}

@media only screen and ( max-width: 750px ){

	#ttts_top_comics .comics_text {
		gap: 42px;

		gap: calc( 42 * var(--mag13) );
	}

	@keyframes floating2 {
		0% {
			transform: translateY(0);
		}
		100% {
			transform: translateY(calc( -6 * var(--mag13) ));
		}
	}

	#ttts_top_comics .comics_text .balloon {
		width: 39px;

		width: calc( 39 * var(--mag13) );
	}

	#ttts_top_comics .comics_text .text01 {
		height: 39px;

		height: calc( 39 * var(--mag13) );
	}

	#ttts_top_comics .comics_text .text01 .balloon {
		height: 42px;

		height: calc( 42 * var(--mag13) );
	}

	#ttts_top_comics .comics_text .text02 {
	}

	#ttts_top_comics .comics_text .text03 {
		margin-top: 10px;
		margin-bottom: 52px;
		height: 27px;

		margin-top: calc( 10 * var(--mag13) );
		margin-bottom: calc( 52 * var(--mag13) );
		height: calc( 27 * var(--mag13) );
	}

	#ttts_top_comics .comics_text .text04 {
		height: 26px;

		height: calc( 26 * var(--mag13) );
	}

	#ttts_top_comics .comics_text .text04 img {
		width: auto;
		height: 100%;
	}

}




/* ------------------------------------------------------------------------------------------------ Footer */




#ttts_footer {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	flex-direction: row;
	align-items: center;
	position: relative;
	background-color: #000000;
}

#ttts_footer #ttts_footer_in {
	margin: 0px 0px 0px 0px;
	padding: 170px 0px 170px 0px;
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-start;
	flex-direction: row;
	align-items: stretch;
	position: relative;
	gap: 114px;
	width: 1500px;
}

#ttts_footer #ttts_footer_left {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	width: 450px;
}

#ttts_footer #ttts_footer_left img {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: 100%;
	height: auto;
}

#ttts_footer #ttts_footer_right {
	margin: 0px 0px 0px 0px;
	padding: 36px 0px 0px 0px;
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-start;
	justify-content: space-between;
	flex-direction: column;
	align-items: flex-start;
}

.footer_nav_body_item {
	display: block;
	height: 24px;
	transition: opacity 0.3s ease 0s;
}

.footer_nav_body_item:hover {
	opacity: 0.5;
}

.footer_nav_body_item img {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: auto;
	height: 100%;
}

#ttts_footer #ttts_footer_right p {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	text-align: center;
	font-size: 19px;
	line-height: 26px;
	letter-spacing: 0.004em;
	color: #ffffff;
	font-weight: 400;
	font-style: normal;
	text-decoration: none;
}

@media only screen and ( max-width: 1550px ){

	#ttts_footer #ttts_footer_in {
		padding: 170px 0px 170px 0px;
		justify-content: center;
		flex-direction: column;
		align-items: center;
		gap: 114px;
		width: auto;
	}

	#ttts_footer #ttts_footer_right {
		padding: 36px 0px 0px 0px;
		justify-content: center;
		flex-direction: column;
		align-items: center;
		gap: 90px;
	}

}

@media only screen and ( max-width: 750px ){

	#ttts_footer #ttts_footer_in {
		padding: 170px 0px 170px 0px;
		gap: 114px;

		padding: calc( 170 * var(--mag1) ) 0px calc( 114 * var(--mag1) ) 0px;
		gap: calc( 114 * var(--mag1) );
	}

	#ttts_footer #ttts_footer_left {
		width: 450px;

		width: calc( 450 * var(--mag1) );
	}

	.footer_nav_body_item {
		height: 30px;

		height: calc( 30 * var(--mag13) );
	}

	#ttts_footer #ttts_footer_right {
		padding: 36px 0px 0px 0px;
		gap: 90px;

		padding: calc( 36 * var(--mag1) ) 0px 0px 0px;
		gap: calc( 114 * var(--mag1) );
	}

	#ttts_footer #ttts_footer_right p {
		font-size: 19px;
		line-height: 26px;

		font-size: calc( 19 * var(--mag1) );
		line-height: calc( 26 * var(--mag1) );
	}

}




/* ------------------------------------------------------------------------------------------------ Test */




#debug {
	margin: 0px 0px 0px 0px;
	padding: 0.5em 0.75em 0.5em 0.75em;
	display: block;
	position: fixed;
	bottom: 0.75em;
	right: 0.75em;
	width: auto;
	height: auto;
	background-color: #ff00ff;
	text-align: left;
	font-size: 18px;
	line-height: 18px;
	letter-spacing: 0.0em;
	color: #ffffff;
	font-weight: 900;

	display: none;
}

#debug #debug_in {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	text-box-trim: trim-both;
	text-box-edge: cap alphabetic;
}

@media only screen and ( max-width: 750px ){

	#debug {
		font-size: 18px;
		line-height: 18px;

		font-size: calc( 18 * var(--mag13) );
		line-height: calc( 18 * var(--mag13) );
	}

}




/* ------------------------------------------------------------------------------------------------ Anim2 */




.blur-reveal-trigger {
	opacity: 0.0;
	filter: blur(4px);
	transition-property: opacity, filter, transform;
	transition-duration: 1.25s;
	will-change: filter, transform;
	transform: translateY(-1vw);
}

#ttts_top_fv #ttts_top_fv_body h1 img {
	transition-delay: 0.0s;
}

#ttts_top_fv #ttts_top_fv_body .kvimg {
	transition-delay: 0.3s;
}

#ttts_top_fv #ttts_top_fv_body h2 img {
	transition-delay: 0.6s;
}

#ttts_top_introduction #ttts_top_introduction_bg01 {
	transition-delay: 0.0s;
}

#ttts_top_introduction #ttts_top_introduction_bg02 {
	transition-delay: 0.3s;
}

.blur-reveal-start {
	opacity: 1.0;
	filter: blur(0px);
	transform: translateY(0vw);
}




/* ------------------------------------------------------------------------------------------------ Modal */




#overlay {
	margin: 0px;
	padding: 0px;
	background-color: transparent;
	background-color: rgba( 255, 255, 255, 0.75 );
	background-color: rgba(0, 0, 0, 0.8);
	background-repeat: repeat;
	background-position: left top;
	/*background-image: url("../images/common_modal_overlay_bg.png");*/
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	height: 100dvh;
	z-index: 90000;

	display: none;
	filter: alpha(opacity=0);
	-moz-opacity: 0.0;
	opacity: 0.0;
	cursor: pointer;
}

#overlay #modal_loading {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	flex-direction: row;
	align-items: center;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transition: opacity 0.3s ease 0s;
	opacity: 1.0;
}

@keyframes modal_loading_blink {
	0%   { opacity: 0; }
	100% { opacity: 1; }
}

#overlay #modal_loading #modal_loading_icon {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: 32px;
	height: 32px;
	background-repeat: no-repeat;
	background-position: left top;
	background-position: center center;
	/*background-image: url("../../img/loading.png");*/
	background-color: transparent;
	background-size: contain;
	animation: modal_loading_blink 1s ease-in-out infinite alternate;

	width: 128px;
	height: 128px;
	background-image: url("../images/ts_modal_loading.svg");
}

@media only screen and ( max-width: 480px ){

	#overlay #modal_loading #modal_loading_icon {
		width: 32px;
		height: 32px;

		width: 6.6666vw;
		height: 6.6666vw;

		width: 26.6666vw;
		height: 26.6666vw;
	}

}



#modal {
	width: 630px;
	height: 0px;
	margin-top: 0px;
	margin-left: -345px;
	padding: 0px;
	position: fixed;
	top: 50%;
	left: 50%;
	z-index: 91000;
	background-color: #ffffff;
	background-color: transparent;
	/*background-color: #00d2cc;*/

	display: none;
	filter: alpha(opacity=0);
	-moz-opacity: 0.0;
	opacity: 0.0;
}

#modal_inner {
	margin: 0px;
	padding: 0px;
	position: relative;
}

#modal_close {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	position: absolute;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	flex-direction: row;
	align-items: center;
	background-size: auto 50%;
	top: 26px;
	right: 32px;
	width: auto;
	height: auto;
	background-color: transparent;
}

#modal_close #modal_close_in {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	background-color: transparent;
	background-repeat: no-repeat;
	background-position: center center;
	background-image: url("../images/ts_modal_close3.svg");
	background-color: transparent;
	background-size: contain;
	display: block;
	width: 72px;
	height: 86px;
	border-width: 0px;
	box-sizing: border-box;
	transition: opacity 0.3s ease 0s;

	width: 52px;
	height: 52px;
}

#modal_close:hover #modal_close_in {
	opacity: 0.5;
}

#modal iframe {
	border: 0;
	padding: 0;
	margin: 0;
	width: 100%;
	height: 100%;
}

#modal img {
	display: block;
	margin: 0;
	padding: 0;
	border-style: solid;
	border-color: #c9caca;
	border-width: 0px;
	box-sizing: border-box;
	/*border-radius: 15px;*/
}




@media only screen and ( max-width: 1000px ){

	#modal_close {
		top: 26px;
		right: 32px;

		top: calc( 26 * var(--mag1k) );
		right: calc( 32 * var(--mag1k) );
	}

	#modal_close #modal_close_in {
		width: 72px;
		height: 86px;

		width: calc( 52 * var(--mag1k) );
		height: calc( 52 * var(--mag1k) );
	}

}

@media only screen and ( max-width: 750px ){

	#modal_close {
		top: calc( 26 * var(--mag1) );
		right: calc( 32 * var(--mag1) );
	}

	#modal_close #modal_close_in {
		width: calc( 52 * var(--mag1) );
		height: calc( 52 * var(--mag1) );
	}

}