@charset "UTF-8";


/*

	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;




	font-family: 'ShinEnpitsuItalicStdN-F';

	font-family: 'ShinEnpitsuItalicStdN-HB';

	font-family: 'ShinEnpitsuItalicStdN-B';

	font-family: 'TsukuAOldMinPr6N-M';

	font-family: 'TsukuAOldMinPr6N-B';

	font-family: 'TsukuAOldMinPr6N-E';




@media only screen and ( max-width: 1000px ){


}

*/


html, body {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	-webkit-text-size-adjust: none;
	background-color: #f4fcfb;
}

body {
	background-repeat: repeat;
	background-position: left top;
	background-position: center center;
	background-image: url("../images/bg_tile01.png");
	background-size: 76px 76px;

	/*overflow: hidden;*/
}

.default_font_family,
body {
	font-family: 'TsukuAOldMinPr6N-M';
}

strong {
	font-family: 'TsukuAOldMinPr6N-E';
}




@media only screen and ( max-width: 750px ){

}




/* ------------------------------------------------------------------------------------------------ modal open body */




body.menu_open_fixed {
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0px;
	left: 0px;
	overflow: hidden;
	box-sizing: border-box;

	position: relative;
}




@media only screen and ( max-width: 750px ){

	body.menu_open_fixed {
		height: 100dvh;
	}

}




/* ------------------------------------------------------------------------------------------------ Anchor */




.anchor_pos {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: 100%;
	height: 0px;
	position: absolute;
	top: -170px;
	left: 0px;
}




@media only screen and ( max-width: 750px ){

	.anchor_pos {
		top: -22vw;
	}

}




/* ------------------------------------------------------------------------------------------------ Default animation */




.anim01_trigger {
}

.anim01_init {
	/*transition: 0.5s;*/
	transition-property: opacity, filter;
	transition-duration: 0.75s;
	opacity: 0.0 !important;
	filter: blur(8px);
}

.anim01_start {
	opacity: 1.0 !important;
	filter: blur(0px);
}




.anim_delay0 {
	transition-delay: 0.0s;
}




/* ------------------------------------------------------------------------------------------------ Single Header */




#single_header {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	flex-direction: row;
	align-items: center;
	width: 100%;
	height: 90px;
}

#single_header a {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	transition: opacity 0.3s ease 0s;
}

#single_header a:hover {
	opacity: 0.5;
}

#single_header a img {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: auto;
	height: 48px;
}




@media only screen and ( max-width: 750px ){

	#single_header {
		height: 90px;

		height: 117px;

		height: 15.6vw;
	}

	#single_header a img {
		height: 48px;

		height: 62px;

		height: 8.2666vw;
	}

}




/* ------------------------------------------------------------------------------------------------ Main */




#krfc_main {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	overflow: hidden;
	position: relative;

	background-repeat: no-repeat;
	background-position: left top;
	background-position: center top;
	background-image: url("../images/news_archive_bg_top.png");
	background-color: transparent;
	background-size: 100% 298px;
}

/*
#krfc_main::before {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	content: '';
	width: 100%;
	height: 10vh;
	position: absolute;
	bottom: -5vh;
	left: 0px;
	background-color: #ffffff;
	z-index: 0;
}
*/




@media only screen and ( max-width: 750px ){

	#krfc_main {
		background-size: 100% 298px;

		background-size: 100% 388px;

		background-size: 100% 51.7333vw;
	}

}




/* ------------------------------------------------------------------------------------------------ FV */




#krfc_ts_fv {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: 100%;
	height: auto;
}

#krfc_ts_fv #krfc_ts_fv_kv {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: auto;
	height: auto;
	position: relative;
}

#krfc_ts_fv #krfc_ts_fv_kv::after {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0px;
	left: 0%;
}

#krfc_ts_fv #krfc_ts_fv_kv h1,
#krfc_ts_fv #krfc_ts_fv_kv img {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: 100%;
	height: auto;
}

#krfc_ts_fv #krfc_ts_fv_kv h1 {
	width: 830px;
	position: absolute;
	top: 120px;
	left: 50%;
	margin-left: -415px;

	width: 43.2291vw;
	top: 6.25vw;
	margin-left: -21.6145vw;

	width: 762px;
	top: 120px;
	margin-left: -381px;

	width: 39.6875vw;
	top: 6.25vw;
	margin-left: -19.84375vw;
}

#krfc_ts_fv #krfc_ts_fv_kv img:nth-child(2) {
	position: absolute;
	left: 50%;

	width: 632px;
	top: 76px;
	margin-left: -316px;

	width: 32.9166vw;
	top: 3.9583vw;
	margin-left: -16.4583vw;
}

#krfc_ts_fv #krfc_ts_fv_kv canvas {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: auto;
	height: auto;
	position: absolute;
	top: 0px;
	left: 50%;
	filter: blur(10px);
}




@media only screen and ( max-width: 1920px ){

	#krfc_ts_fv #krfc_ts_fv_kv {
		background-repeat: no-repeat;
		background-position: center center;
		background-image: url("../images/fv_kv01.png");
		background-color: transparent;
		background-size: auto 100%;
		height: 1458px;
	}

	#krfc_ts_fv #krfc_ts_fv_kv img {
		visibility: hidden;
	}

	#krfc_ts_fv #krfc_ts_fv_kv h1 {
		width: 830px;
		top: 96px;
		margin-left: -415px;
		visibility: visible;

		width: 762px;
		top: 120px;
		margin-left: -381px;
	}

	#krfc_ts_fv #krfc_ts_fv_kv h1 img {
		visibility: visible;
	}

	#krfc_ts_fv #krfc_ts_fv_kv img:nth-child(2) {
		width: 632px;
		top: 76px;
		margin-left: -316px;
		visibility: visible;
	}

}




@media only screen and ( max-width: 950px ){

	#krfc_ts_fv #krfc_ts_fv_kv {
		height: 1458px;

		height: 153.4736vw;
	}

	/*#krfc_ts_fv #krfc_ts_fv_kv img:nth-child(1) {*/
	#krfc_ts_fv #krfc_ts_fv_kv h1 {
		width: 830px;
		top: 96px;
		margin-left: -415px;

		width: 87.3684vw;
		top: 10.1052vw;
		margin-left: -43.6842vw;

		width: 762px;
		top: 120px;
		margin-left: -381px;

		width: 80.2105vw;
		top: 12.6315vw;
		margin-left: -40.1052vw;
	}

	#krfc_ts_fv #krfc_ts_fv_kv img:nth-child(2) {
		width: 632px;
		top: 76px;
		margin-left: -316px;

		width: 66.5263vw;
		top: 8vw;
		margin-left: -33.2631vw;
	}

	#krfc_ts_fv #krfc_ts_fv_kv canvas {
		filter: blur(1.0526vw);
	}

}




/* ------------------------------------------------------------------------------------------------ PV */




#krfc_ts_pv {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 80px 0px;
	display: block;
	width: 100%;
	height: auto;
}

#krfc_ts_pv #krfc_ts_pv_main {
	margin: 0px auto 0px auto;
	padding: 0px 0px 0px 0px;
	display: block;
	width: 960px;
	height: auto;
	position: relative;
}

#krfc_ts_pv #krfc_ts_pv_main #krfc_ts_pv_main_bg {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: calc( 100% + 64px );
	height: calc( 100% + 36px );
	position: absolute;
	top: -18px;
	left: -32px;
	background-repeat: no-repeat;
	background-position: left top;
	background-position: center center;
	background-image: url("../images/pv_embed_bg01.png");
	background-color: transparent;
	background-size: 100% 100%;
	transform: rotate(-5deg);
}

#krfc_ts_pv #krfc_ts_pv_main .youtube_iframe {
	margin: 0px 0px 0px 0px;
	padding: 56.25% 0px 0px 0px;
	height: 0px;
	width: 100%;
	position: relative;

	padding-top: 57.25%;
}

#krfc_ts_pv #krfc_ts_pv_main .youtube_iframe iframe {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	top: 0px;
	left: 0px;
}

.comment_modal .comment_modal_body .cast_img .cast_img_in .frame_bottom,
.comment_modal .comment_modal_body .cast_img .cast_img_in .frame_right,
.comment_modal .comment_modal_body .cast_img .cast_img_in .frame_left,
.comment_modal .comment_modal_body .cast_img .cast_img_in .frame_top,
#krfc_ts_pv #krfc_ts_pv_main .youtube_iframe .frame_bottom,
#krfc_ts_pv #krfc_ts_pv_main .youtube_iframe .frame_right,
#krfc_ts_pv #krfc_ts_pv_main .youtube_iframe .frame_left,
#krfc_ts_pv #krfc_ts_pv_main .youtube_iframe .frame_top {
	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: 100% 100%;
	opacity: 0.9;
}

.comment_modal .comment_modal_body .cast_img .cast_img_in .frame_top,
#krfc_ts_pv #krfc_ts_pv_main .youtube_iframe .frame_top {
	width: 100%;
	height: 2px;
	top: -1px;
	left: 0px;
	background-image: url("../images/pv_embed_frame_horizontal.png");
}

.comment_modal .comment_modal_body .cast_img .cast_img_in .frame_left,
#krfc_ts_pv #krfc_ts_pv_main .youtube_iframe .frame_left {
	width: 2px;
	height: 100%;
	top: 0px;
	left: -1px;
	background-image: url("../images/pv_embed_frame_vertical.png");
}

.comment_modal .comment_modal_body .cast_img .cast_img_in .frame_right,
#krfc_ts_pv #krfc_ts_pv_main .youtube_iframe .frame_right {
	width: 2px;
	height: 100%;
	top: 0px;
	right: -1px;
	background-image: url("../images/pv_embed_frame_vertical.png");
}

.comment_modal .comment_modal_body .cast_img .cast_img_in .frame_bottom,
#krfc_ts_pv #krfc_ts_pv_main .youtube_iframe .frame_bottom {
	width: 100%;
	height: 2px;
	bottom: -1px;
	left: 0px;
	background-image: url("../images/pv_embed_frame_horizontal.png");
}




@media only screen and ( max-width: 1040px ){

	#krfc_ts_pv #krfc_ts_pv_main {
		margin: 0px 40px 0px 40px;
		width: auto;
	}

}




@media only screen and ( max-width: 750px ){

	#krfc_ts_pv {
		padding: 0px 0px 80px 0px;

		padding: 0px 0px 10.6666vw 0px;

		padding: 0px 0px 6.6666vw 0px;
	}

	#krfc_ts_pv #krfc_ts_pv_main {
		margin: 0px 40px 0px 40px;

		margin: 0px 5.3333vw 0px 5.3333vw;
	}

	#krfc_ts_pv #krfc_ts_pv_main #krfc_ts_pv_main_bg {
		width: calc( 100% + 64px );
		height: calc( 100% + 36px );
		top: -18px;
		left: -32px;
		transform: rotate(-5deg);

		width: calc( 100% + 8.5333vw );
		height: calc( 100% + 4.8vw );
		top: -2.4vw;
		left: -4.2666vw;
	}

	#krfc_ts_pv #krfc_ts_pv_main .youtube_iframe .frame_top {
		height: 2px;
		top: -1px;
	}

	#krfc_ts_pv #krfc_ts_pv_main .youtube_iframe .frame_left {
		width: 2px;
		left: -1px;
	}

	#krfc_ts_pv #krfc_ts_pv_main .youtube_iframe .frame_right {
		width: 2px;
		right: -1px;
	}

	#krfc_ts_pv #krfc_ts_pv_main .youtube_iframe .frame_bottom {
		height: 2px;
		bottom: -1px;
	}

}




/* ------------------------------------------------------------------------------------------------ Intro */




#krfc_ts_intro {
	margin: 0px 0px 0px 0px;
	padding: 120px 0px 0px 0px;
	display: block;
	width: 100%;
	height: auto;
	position: relative;
}

#krfc_ts_intro h2 {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: auto;
	height: auto;
}

#krfc_ts_intro h2 img {
	margin: 0px auto 0px auto;
	padding: 0px 0px 0px 0px;
	display: block;
	width: auto;
	height: 100px;
}




@media only screen and ( max-width: 1780px ){

	#krfc_ts_intro {
		margin-bottom: 800px;
		margin-bottom: 0px;
	}

}




@media only screen and ( max-width: 900px ){

	#krfc_ts_intro h2 img {
		height: 11.1111vw;
	}

}




@media only screen and ( max-width: 750px ){

	#krfc_ts_intro {
		padding-top: 160px;
		margin-bottom: 800px;

		padding-top: 21.3333vw;
		margin-bottom: 106.6666vw;

		margin-bottom: 0vw;
	}

}




#krfc_ts_intro #krfc_ts_intro_in {
	margin: 20px 0px 0px 0px;
	padding: 40px 0px 0px 0px;
	display: block;
	width: auto;
	height: auto;
	background-repeat: no-repeat;
	background-position: left top;
	background-position: center center;
	background-image: url("../images/intro_bg01.png");
	background-color: transparent;
	background-size: 100% 100%;
}

#krfc_ts_intro #krfc_ts_intro_text1 {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 4px 0px;
	display: block;
	width: auto;
	height: auto;
	background-repeat: repeat-y;
	background-position: left top;
	background-position: center top;
	background-image: url("../images/intro_bg04_line.png");
	background-color: transparent;
	background-size: auto 445px;

	/*  */
	background-position: center top;
	background-size: auto 450px;
}

#krfc_ts_intro #krfc_ts_intro_text1 p {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0.65em;
	display: block;
	/*font-family: 'ShinEnpitsuItalicStdN-F';*/
	/*font-family: 'ShinEnpitsuItalicStdN-B';*/
	text-align: center;
	font-size: 18px;
	line-height: 50px;
	letter-spacing: 0.1em;
	color: #102439;
	text-decoration: none;
}

#krfc_ts_intro #krfc_ts_intro_text2 {
	margin: 0px 0px 0px 0px;
	padding: 60px 0px 146px 0px;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	flex-direction: row;
	flex-direction: column;
	align-items: center;
}

#krfc_ts_intro #krfc_ts_intro_text2 #krfc_ts_intro_text2_in {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;

	width: 290px;
}

#krfc_ts_intro #krfc_ts_intro_text2 p {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	writing-mode: vertical-rl;
	text-align: left;
	font-size: 22px;
	line-height: 58px;
	letter-spacing: 0.28em;
	color: #102439;
	text-decoration: none;
	white-space: nowrap;
}




@media only screen and ( max-width: 750px ){

	#krfc_ts_intro #krfc_ts_intro_in {
		margin: 26px 0px 0px 0px;
		padding: 130px 0px 0px 0px;

		margin: 3.4666vw 0px 0px 0px;
		padding: 17.3333vw 0px 0px 0px;
	}

	#krfc_ts_intro #krfc_ts_intro_text1 {
		padding: 0px 0px 4px 0px;
		background-size: auto 622px;

		padding: 0px 0px 0.5333vw 0px;
		background-size: auto 82.9333vw;

		background-size: auto 82.5vw;

		background-size: auto 81.5vw;
	}

	#krfc_ts_intro #krfc_ts_intro_text1 p {
		padding: 0px 0px 0px 0.65em;
		font-size: 22px;
		line-height: 69px;

		padding: 0px 0px 0px 0.65em;
		font-size: 2.9333vw;
		line-height: 9.2vw;
	}

	#krfc_ts_intro #krfc_ts_intro_text2 {
		padding: 60px 0px 210px 0px;

		padding: 8vw 0px 28vw 0px;
	}

	#krfc_ts_intro #krfc_ts_intro_text2 #krfc_ts_intro_text2_in {
		width: 375px;

		width: 50vw;
	}

	#krfc_ts_intro #krfc_ts_intro_text2 p {
		font-size: 28px;
		line-height: 75px;

		font-size: 3.7333vw;
		line-height: 10vw;
	}

}




#krfc_ts_intro #krfc_ts_intro_bg01 {
	margin: 0px 0px 0px 0px;
	padding: 0% 0px 0px 0px;
	display: block;
	position: absolute;
	background-repeat: no-repeat;
	background-position: center center;
	background-image: url("../images/intro_bg02_left.png");
	background-color: transparent;
	background-size: contain;
	pointer-events: none;
	top: 50%;
	left: 50%;
	width: 360px;
	height: 978px;
	margin-top: -400px;
	margin-left: -680px;
	animation: updown2 16s ease infinite;
	pointer-events: none;
}

@media only screen and ( max-width: 750px ){

	#krfc_ts_intro #krfc_ts_intro_bg01 {
		background-position: right top;
		width: 280px;
		height: 978px;
		margin-top: -636px;
		margin-left: -474px;

		width: 37.3333vw;
		height: 130.4vw;
		margin-top: -84.8vw;
		margin-left: -63.2vw;

		margin-left: -67.2vw;
	}

}

#krfc_ts_intro #krfc_ts_intro_bg02 {
	margin: 0px 0px 0px 0px;
	padding: 0% 0px 0px 0px;
	display: block;
	position: absolute;
	background-repeat: no-repeat;
	background-position: right center;
	background-image: url("../images/bg_right01.png");
	background-color: transparent;
	background-size: contain;
	pointer-events: none;
	top: 50%;
	right: 0%;
	width: 678px;
	height: 648px;
	margin-top: 248px;
	margin-left: 0px;
	pointer-events: none;
}

@media only screen and ( max-width: 1780px ){

	#krfc_ts_intro #krfc_ts_intro_bg02 {
		background-image: url("../images/bg_right01_sp.png");
		margin-top: 532px;
		width: 750px;

		background-image: url("../images/bg_right02.png");
		margin-top: 390px;
		width: 720px;
		right: 50%;
		margin-right: -960px;
	}

}

@media only screen and ( max-width: 1300px ){

/*
	#krfc_ts_intro #krfc_ts_intro_bg02 {
		height: 476px;
		margin-top: 720px;
	}
*/

}

@media only screen and ( max-width: 750px ){

	#krfc_ts_intro #krfc_ts_intro_bg02 {
		height: 470px;
		margin-top: 970px;

		height: 62.6666vw;
		margin-top: 114.3333vw;

		width: 90vw;
		margin-right: -100vw;
	}

}

#krfc_ts_intro #krfc_ts_intro_bg03 {
	margin: 0px 0px 0px 0px;
	padding: 0% 0px 0px 0px;
	display: block;
	position: absolute;
	background-repeat: no-repeat;
	background-position: center center;
	background-image: url("../images/intro_bg02_right.png");
	background-color: transparent;
	background-size: contain;
	pointer-events: none;
	top: 50%;
	left: 50%;
	width: 314px;
	height: 806px;
	margin-top: -488px;
	margin-left: 368px;
	animation: updown3 20s ease infinite;
	pointer-events: none;
}

@media only screen and ( max-width: 750px ){

	#krfc_ts_intro #krfc_ts_intro_bg03 {
		background-position: left top;
		width: 210px;
		height: 806px;
		margin-top: -750px;
		margin-left: 200px;

		width: 28vw;
		height: 107.4666vw;
		margin-top: -100vw;
		margin-left: 26.6666vw;
	}

}

#krfc_ts_intro #krfc_ts_intro_bg04 {
	margin: 0px 0px 0px 0px;
	padding: 0% 0px 0px 0px;
	display: block;
	position: absolute;
	background-repeat: no-repeat;
	background-position: left center;
	background-image: url("../images/bg_left01.png");
	background-color: transparent;
	background-size: contain;
	pointer-events: none;
	top: 50%;
	left: 0%;
	width: 620px;
	height: 844px;
	margin-top: 530px;
	margin-left: 0px;
	pointer-events: none;
}

@media only screen and ( max-width: 1780px ){

	#krfc_ts_intro #krfc_ts_intro_bg04 {
		background-image: url("../images/bg_left01_sp.png");
		margin-top: 844px;
		width: 800px;

		background-image: url("../images/bg_left02.png");
		margin-top: 220px;
		width: 800px;
		left: 50%;
		margin-left: -1000px;
	}

}

@media only screen and ( max-width: 1300px ){

/*
	#krfc_ts_intro #krfc_ts_intro_bg04 {
		height: 630px;
	}
*/

}

@media only screen and ( max-width: 750px ){

	#krfc_ts_intro #krfc_ts_intro_bg04 {
		height: 630px;
		margin-top: 1290px;

		height: 69vw;
		margin-top: 80vw;

		width: 80.6666vw;
		margin-left: -91.3333vw;
	}

}

#krfc_ts_intro #krfc_ts_intro_graffiti {
	margin: 0px 0px 0px 0px;
	padding: 0% 0px 0px 0px;
	display: block;
	position: absolute;
	background-repeat: no-repeat;
	background-position: center center;
	background-image: url("../images/intro_bg03_01.png");
	background-color: transparent;
	background-size: contain;
	pointer-events: none;
	top: 50%;
	left: 50%;
	width: 168px;
	height: 132px;
	margin-top: -64px;
	margin-left: 290px;
	animation: boundbound 1.8s 0.5s infinite;
	pointer-events: none;
}

@media only screen and ( max-width: 750px ){

	#krfc_ts_intro #krfc_ts_intro_graffiti {
		width: 168px;
		height: 132px;
		margin-top: 750px;
		margin-left: 86px;

		width: 22.4vw;
		height: 17.6vw;
		margin-top: 100vw;
		margin-left: 11.4666vw;
	}

}

#krfc_ts_intro #krfc_ts_intro_pen {
	margin: 0px 0px 0px 0px;
	padding: 0% 0px 0px 0px;
	display: block;
	position: absolute;
	background-repeat: no-repeat;
	background-position: center center;
	background-image: url("../images/intro_bg03_02.png");
	background-color: transparent;
	background-size: contain;
	pointer-events: none;
	top: 50%;
	left: 50%;
	width: 270px;
	height: 270px;
	margin-top: -135px;
	margin-left: 310px;
	animation: updown1 10s ease infinite;
	pointer-events: none;
}

@media only screen and ( max-width: 750px ){

	#krfc_ts_intro #krfc_ts_intro_pen {
		width: 270px;
		height: 180px;
		margin-top: 810px;
		margin-left: 82px;

		width: 36vw;
		height: 24vw;
		margin-top: 108vw;
		margin-left: 10.9333vw;
	}

}

@keyframes boundbound { 
	0% { transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); }
	3.37% { transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); }
	3.47% { transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); }
	4.58% { transform: matrix3d(1.061, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); }
	5.69% { transform: matrix3d(1.321, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); }
	7.41% { transform: matrix3d(1.59, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); }
	7.51% { transform: matrix3d(1.561, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); }
	7.88% { transform: matrix3d(1.571, 0, 0, 0, 0, 1.062, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); }
	10.03% { transform: matrix3d(0.882, 0, 0, 0, 0, 1.333, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); }
	10.85% { transform: matrix3d(0.822, 0, 0, 0, 0, 1.398, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); }
	12.22% { transform: matrix3d(0.872, 0, 0, 0, 0, 1.469, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); }
	14.18% { transform: matrix3d(0.812, 0, 0, 0, 0, 1.401, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); }
	14.37% { transform: matrix3d(0.812, 0, 0, 0, 0, 1.401, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); }
	20.01% { transform: matrix3d(0.863, 0, 0, 0, 0, 1.338, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); }
	23.05% { transform: matrix3d(0.856, 0, 0, 0, 0, 1.211, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); }
	25.75% { transform: matrix3d(0.823, 0, 0, 0, 0, 1.114, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); }
	31.58% { transform: matrix3d(1.009, 0, 0, 0, 0, 0.987, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); }
	31.73% { transform: matrix3d(1.01, 0, 0, 0, 0, 0.986, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); }
	37.32% { transform: matrix3d(1.029, 0, 0, 0, 0, 0.958, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); }
	38.15% { transform: matrix3d(1.029, 0, 0, 0, 0, 0.958, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); }
	48.9% { transform: matrix3d(1.007, 0, 0, 0, 0, 0.99, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); }
	60.47% { transform: matrix3d(0.998, 0, 0, 0, 0, 1.004, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); }
	83.61% { transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); }
	100% { transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); } 
}

@keyframes updown1 {
	0%, 100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-20px);
	}
}

@keyframes updown2 {
	0%, 100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(40px);
	}
}

@keyframes updown3 {
	0%, 100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-40px);
	}
}




/* ------------------------------------------------------------------------------------------------ News */




#krfc_ts_news {
	margin: 0px 0px 0px 0px;
	padding: 160px 0px 0px 0px;
	display: block;
	width: 100%;
	height: auto;
	position: relative;
}

body.home #krfc_ts_news {
	padding-top: 140px;
}

#krfc_ts_news h1,
#krfc_ts_news h2 {
	margin: 0px 0px 20px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: auto;
	height: auto;
}

#krfc_ts_news h1 img,
#krfc_ts_news h2 img {
	margin: 0px auto 0px auto;
	padding: 0px 0px 0px 0px;
	display: block;
	width: auto;
	height: 100px;
}

#krfc_ts_news #krfc_ts_news_in {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: 100%;
	height: auto;
	background-repeat: no-repeat;
	background-position: center top, center center, center bottom;
	background-image: url("../images/news_archive_frame_top.png"), url("../images/news_archive_frame_middle.png"), url("../images/news_archive_frame_bottom.png");
	background-color: transparent;
	background-size: 100% 12px, 100% calc( 100% - 20px ),  100% 12px;
}

#krfc_ts_news #krfc_ts_news_in2 {
	margin: 0px auto 0px auto;
	padding: 0px 0px 0px 0px;
	display: block;
	width: 1200px;
	height: auto;
}




@media only screen and ( max-width: 1250px ){

	#krfc_ts_news #krfc_ts_news_in2 {
		margin: 0px 25px 0px 25px;
		width: auto;
	}

}




@media only screen and ( max-width: 750px ){

	#krfc_ts_news {
		padding: 160px 0px 0px 0px;

		padding: 200px 0px 0px 0px;

		padding: 26.6666vw 0px 0px 0px;
	}

	body.home #krfc_ts_news {
		padding-top: 140px;

		padding-top: 180px;

		padding-top: 24vw;
	}

	#krfc_ts_news h1,
	#krfc_ts_news h2 {
		margin: 0px 0px 26px 0px;

		margin: 0px 0px 3.4666vw 0px;
	}

	#krfc_ts_news h1 img,
	#krfc_ts_news h2 img {
		height: 100px;

		height: 13.3333vw;
	}

	#krfc_ts_news #krfc_ts_news_in2 {
		margin: 0px 25px 0px 25px;

		margin: 0px 32px 0px 32px;

		margin: 0px 4.2666vw 0px 4.2666vw;
	}

}




#krfc_ts_news .news_list {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
}

#krfc_ts_news .news_list .news_list_in {
	margin: 0px -25px 0px -25px;
	padding: 80px 0px 40px 0px;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	flex-direction: row;
	align-items: stretch;
}

#krfc_ts_news .news_list .news_list_item {
	margin: 34px 0px 34px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: 33.3333%;
	box-sizing: border-box;
}

#krfc_ts_news .news_list .news_list_item .news_list_item_in {
	margin: 0px 25px 0px 25px;
	padding: 0px 10px 0px 10px;
	display: block;
	text-decoration: none;
	background-repeat: no-repeat;
	background-position: right bottom;
	background-image: url("../images/news_archive_item_bg.png");
	background-color: transparent;
	background-size: 80% auto;
	position: relative;
	transition: background-color 0.3s ease 0s;
	text-decoration: none;

	height: 100%;
}

#krfc_ts_news .news_list .news_list_item .news_list_item_in:hover {
	background-color: #f4fcfb;
}

#krfc_ts_news .news_list .news_list_item .news_list_item_in::before {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	content: '';
	position: absolute;
	background-repeat: no-repeat;
	background-position: left top;
	background-position: center center;
	background-color: transparent;
	background-size: 100% 100%;
	opacity: 0.9;
	width: 100%;
	height: 2px;
	bottom: -1px;
	left: 0px;
	background-image: url("../images/pv_embed_frame_horizontal.png");
	opacity: 0.7;
}

#krfc_ts_news .news_list .news_list_item .news_list_item_date {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	text-align: left;
	vertical-align: middle;
	font-size: 14px;
	line-height: 35px;
	text-decoration: none;
	letter-spacing: 0.28em;
	color: #8d98a4;
}

#krfc_ts_news .news_list .news_list_item .news_list_item_title {
	margin: 6px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	min-height: 140px;
	text-align: left;
	vertical-align: middle;
	font-size: 16px;
	line-height: 33px;
	text-decoration: none;
	letter-spacing: 0.28em;
	color: #102439;

	padding-bottom: 30px;
	box-sizing: border-box;
}




@media only screen and ( max-width: 1250px ){

	#krfc_ts_news .news_list .news_list_item {
		width: 50%;
	}

}




@media only screen and ( max-width: 750px ){

	#krfc_ts_news .news_list .news_list_in {
		margin: 0px 0px 0px 0px;
		padding: 80px 0px 40px 0px;

		padding: 104px 0px 52px 0px;

		padding: 13.8666vw 0px 6.9333vw 0px;
	}

	#krfc_ts_news .news_list .news_list_item {
		margin: 34px 0px 34px 0px;
		width: 100%;

		margin: 44px 0px 44px 0px;

		margin: 5.8666vw 0px 5.8666vw 0px;
	}

	#krfc_ts_news .news_list .news_list_item .news_list_item_in {
		margin: 0px 0px 0px 0px;
		padding: 0px 10px 0px 10px;

		padding: 0px 13px 0px 13px;

		padding: 0px 1.7333vw 0px 1.7333vw;
	}

	#krfc_ts_news .news_list .news_list_item .news_list_item_date {
		font-size: 14px;
		line-height: 35px;

		font-size: 17px;
		line-height: 43px;

		font-size: 2.2666vw;
		line-height: 5.7333vw;
	}

	#krfc_ts_news .news_list .news_list_item .news_list_item_title {
		margin: 6px 0px 0px 0px;
		min-height: 140px;
		font-size: 16px;
		line-height: 33px;

		margin: 8px 0px 0px 0px;
		min-height: 182px;
		font-size: 20px;
		line-height: 40px;

		margin: 1.0666vw 0px 0px 0px;
		min-height: 0;
		font-size: 2.6666vw;
		line-height: 5.3333vw;
		padding-bottom: 8vw;
	}

}




#krfc_ts_news .news_list_bottom {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 80px 0px;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	flex-direction: row;
	align-items: center;
}

#krfc_ts_news .news_list_bottom .news_list_bottom_button {
	margin: 0px 14px 0px 14px;
	padding: 0px 25px 0px 25px;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	flex-direction: row;
	align-items: center;
	border-style: solid;
	border-color: #102439;
	border-width: 1px;
	box-sizing: border-box;
	background-color: #f4fcfb;
	transition: background-color 0.3s ease 0s;
	text-decoration: none;
}

#krfc_ts_news .news_list_bottom .news_list_bottom_button:hover {
	background-color: transparent;
}

#krfc_ts_news .news_list_bottom .news_list_bottom_button .news_list_bottom_button_text {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	text-align: center;
	vertical-align: middle;
	font-size: 16px;
	line-height: 34px;
	text-decoration: none;
	letter-spacing: 0.1em;
	color: #102439;
}




@media only screen and ( max-width: 750px ){

	#krfc_ts_news .news_list_bottom {
		padding: 0px 0px 104px 0px;

		padding: 0px 0px 13.8666vw 0px;
	}

	#krfc_ts_news .news_list_bottom .news_list_bottom_button {
		margin: 0px 18px 0px 18px;
		padding: 0px 33px 0px 33px;

		margin: 0px 2.4vw 0px 2.4vw;
		padding: 0px 4.4vw 0px 4.4vw;
	}

	#krfc_ts_news .news_list_bottom .news_list_bottom_button .news_list_bottom_button_text {
		font-size: 20px;
		line-height: 42px;

		font-size: 2.6666vw;
		line-height: 5.6vw;
	}

}




#krfc_ts_news .news_single {
	margin: 0px auto 0px auto;
	padding: 100px 0px 60px 0px;
	display: block;
	width: 1000px;
}

#krfc_ts_news .news_single .news_single_head {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	text-align: left;
	vertical-align: middle;
	font-size: 20px;
	line-height: 33px;
	text-decoration: none;
	letter-spacing: 0.28em;
	color: #102439;
}

#krfc_ts_news .news_single .news_single_head time {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	font-size: 14px;
	line-height: 35px;
	color: #8d98a4;
}

#krfc_ts_news .news_single .news_single_head .news_single_head_text {
	margin: 0px 0px 0px 0px;
	padding: 30px 0px 30px 0px;
	display: block;
	position: relative;
	background-repeat: no-repeat;
	background-position: right bottom;
	background-image: url("../images/news_archive_item_title_bg.png");
	background-color: transparent;
	background-size: auto 92px;
}

#krfc_ts_news .news_single .news_single_head .news_single_head_text::after,
#krfc_ts_news .news_single .news_single_head .news_single_head_text::before {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	content: '';
	position: absolute;
	background-repeat: no-repeat;
	background-position: left top;
	background-position: center center;
	background-color: transparent;
	background-size: 100% 100%;
	opacity: 0.9;
	width: 100%;
	height: 2px;
	left: 0px;
	opacity: 0.7;
}

#krfc_ts_news .news_single .news_single_head .news_single_head_text::before {
	background-image: url("../images/pv_embed_frame_horizontal2.png");
	bottom: -1px;
}

#krfc_ts_news .news_single .news_single_head .news_single_head_text::after {
	background-image: url("../images/pv_embed_frame_horizontal.png");
	top: -1px;
}

#krfc_ts_news .news_single .news_single_box {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
}

#krfc_ts_news .news_single .news_single_box h3,
#krfc_ts_news .news_single .news_single_box h2,
#krfc_ts_news .news_single .news_single_box p {
	margin: 36px 0px 36px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	text-align: left;
	vertical-align: middle;
	font-size: 16px;
	line-height: 38px;
	text-decoration: none;
	letter-spacing: 0.1em;
	color: #102439;
}

#krfc_ts_news .news_single .news_single_box h3,
#krfc_ts_news .news_single .news_single_box h2 {
	margin-bottom: 10px;
	font-size: 20px;
	line-height: 36px;
	font-family: 'TsukuAOldMinPr6N-E';
}

#krfc_ts_news .news_single .news_single_box h3 + p,
#krfc_ts_news .news_single .news_single_box h2 + p {
	margin-top: 10px;
}

#krfc_ts_news .news_single .news_single_box a {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	color: #1081e2;
	text-decoration: none;
}

#krfc_ts_news .news_single .news_single_box a:hover {
	text-decoration: underline;
}

#krfc_ts_news .news_single .news_single_box img {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	width: auto;
	height: auto;
	max-width: 100%;
}

#krfc_ts_news .news_single .news_single_box br.sp_br {
	display: none;
}

#krfc_ts_news .news_single .news_single_box br.pc_br {
	display: block;
}




@media only screen and ( max-width: 1050px ){

	#krfc_ts_news .news_single {
		margin: 0px 25px 0px 25px;
		width: auto;
	}

}




@media only screen and ( max-width: 750px ){

	#krfc_ts_news .news_single {
		margin: 0px 25px 0px 25px;
		padding: 100px 0px 60px 0px;

		margin: 0px 32px 0px 32px;
		padding: 130px 0px 78px 0px;

		margin: 0px 4.2666vw 0px 4.2666vw;
		padding: 17.3333vw 0px 10.4vw 0px;
	}

	#krfc_ts_news .news_single .news_single_head {
		font-size: 20px;
		line-height: 33px;

		font-size: 26px;
		line-height: 43px;

		font-size: 3.4666vw;
		line-height: 5.7333vw;
	}

	#krfc_ts_news .news_single .news_single_head time {
		font-size: 14px;
		line-height: 35px;

		font-size: 18px;
		line-height: 43px;

		font-size: 2.4vw;
		line-height: 5.7333vw;
	}

	#krfc_ts_news .news_single .news_single_head .news_single_head_text {
		padding: 30px 0px 30px 0px;
		background-size: auto 92px;

		padding: 39px 0px 39px 0px;
		background-size: auto 120px;

		padding: 5.2vw 0px 5.2vw 0px;
		background-size: auto 16vw;
	}

	#krfc_ts_news .news_single .news_single_box h3,
	#krfc_ts_news .news_single .news_single_box h2,
	#krfc_ts_news .news_single .news_single_box p {
		margin: 36px 0px 36px 0px;
		font-size: 16px;
		line-height: 38px;

		margin: 46px 0px 46px 0px;
		font-size: 20px;
		line-height: 47px;

		margin: 6.1333vw 0px 6.1333vw 0px;
		font-size: 2.6666vw;
		line-height: 6.2666vw;
	}

	#krfc_ts_news .news_single .news_single_box h3,
	#krfc_ts_news .news_single .news_single_box h2 {
		margin-bottom: 10px;
		font-size: 20px;
		line-height: 36px;

		margin-bottom: 13px;
		font-size: 24px;
		line-height: 44px;

		margin-bottom: 1.7333vw;
		font-size: 3.2vw;
		line-height: 4.8vw;
	}

	#krfc_ts_news .news_single .news_single_box h3 + p,
	#krfc_ts_news .news_single .news_single_box h2 + p {
		margin-top: 10px;

		margin-top: 13px;

		margin-top: 1.7333vw;
	}

	#krfc_ts_news .news_single .news_single_box br.sp_br {
		display: block;
	}

	#krfc_ts_news .news_single .news_single_box br.pc_br {
		display: none;
	}

}




/* ------------------------------------------------------------------------------------------------ Staff */




#krfc_ts_staff {
	margin: 0px 0px 0px 0px;
	padding: 270px 0px 180px 0px;
	display: block;
	width: 100%;
	height: auto;
/*
	background-repeat: no-repeat;
	background-position: center center;
	background-image: url("../images/staff_bg02.png");
	background-color: transparent;
	background-size: contain;
*/

	padding-top: 140px;
}

#krfc_ts_staff h2 {
	margin: 0px 0px 20px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: auto;
	height: auto;
}

#krfc_ts_staff h2 img {
	margin: 0px auto 0px auto;
	padding: 0px 0px 0px 0px;
	display: block;
	width: auto;
	height: 100px;
}

#krfc_ts_staff #krfc_ts_staff_in {
	margin: 0px auto 0px auto;
	padding: 0px 0px 0px 0px;
	display: block;
	width: 1000px;
	height: auto;
	position: relative;
}

#krfc_ts_staff #krfc_ts_staff_in::before {
	margin: 0px 0px 0px 0px;
	padding: 0% 0px 0px 0px;
	display: block;
	content: '';
	position: absolute;
	background-repeat: no-repeat;
	background-position: center center;
	background-image: url("../images/staff_bg02.png");
	background-color: transparent;
	background-size: contain;
	pointer-events: none;
	top: -200px;
	left: -200px;
	width: calc( 100% + 400px );
	height: calc( 100% + 400px );
	opacity: 0.5;
}



@media only screen and ( max-width: 1080px ){

	#krfc_ts_staff #krfc_ts_staff_in {
		width: auto;
		margin-left: 40px;
		margin-right: 40px;
	}

}




@media only screen and ( max-width: 750px ){

	#krfc_ts_staff {
		padding: 270px 0px 180px 0px;

		padding: 36vw 0px 24vw 0px;

		padding: 24vw 0px 24vw 0px;

	}

	#krfc_ts_staff h2 {
		margin: 0px 0px 26px 0px;

		margin: 0px 0px 3.4666vw 0px;
	}

	#krfc_ts_staff h2 img {
		height: 100px;

		height: 13.3333vw;
	}

	#krfc_ts_staff #krfc_ts_staff_in {
		margin-left: 40px;
		margin-right: 40px;

		margin-left: 5.3333vw;
		margin-right: 5.3333vw;
	}

	#krfc_ts_staff #krfc_ts_staff_in::before {
		top: -26.6666vw;
		left: -26.6666vw;
		width: calc( 100% + 53.3333vw );
		height: calc( 100% + 53.3333vw );
	}

}




#krfc_ts_staff hr {
	margin: 40px 0px 40px 0px;
	padding: 0px 0px 0px 0px;
	width: 100%;
	height: 2px;
	border-width: 0px;
	display: block;
	background-repeat: no-repeat;
	background-position: left top;
	background-position: center center;
	background-image: url("../images/pv_embed_frame_horizontal.png");
	background-color: transparent;
	background-size: 100% 100%;
	opacity: 0.75;
	opacity: 0.25;
	opacity: 0.35;
	position: relative;
}

#krfc_ts_staff .staff_list {
	margin: 20px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	width: auto;
	height: auto;
	display: block;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	flex-direction: row;
	align-items: center;
	position: relative;
}

#krfc_ts_staff .staff_list .staff_list_item {
	margin: 15px 0px 15px 0px;
	padding: 0px 0px 0px 0px;
	width: auto;
	height: auto;
	display: block;
	list-style-type: none;
	min-width: 35%;
	box-sizing: border-box;
}

#krfc_ts_staff .staff_list .long {
	width: 100%;
}

#krfc_ts_staff .staff_list .staff_list_item .sp_br {
	display: none;
}

#krfc_ts_staff .staff_list .comment_modal_trigger {
	cursor: pointer;
	transition: opacity 0.3s ease 0s;
}

#krfc_ts_staff .staff_list .comment_modal_trigger:hover {
	opacity: 0.5;
}

#krfc_ts_staff .staff_list .staff_list_item .staff_list_item_label {
	margin: 0px 0px 0px 0px;
	padding: 0px 0em 0px 0em;
	width: auto;
	height: auto;
	display: block;
	text-align: center;
	vertical-align: middle;
	font-size: 16px;
	line-height: 22px;
	text-decoration: none;
	letter-spacing: 0.0em;
	color: #102439;
}

#krfc_ts_staff .staff_list .staff_list_item .staff_list_item_name {
	margin: 0.25em 0px 0px 0.4em;
	padding: 0px 0px 0px 0px;
	width: auto;
	height: auto;
	display: block;
	text-align: center;
	vertical-align: middle;
	font-size: 22px;
	line-height: 32px;
	text-decoration: none;
	letter-spacing: 0.4em;
	color: #102439;
}

#krfc_ts_staff .staff_list .staff_list_item .staff_list_item_sub {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	width: auto;
	height: auto;
	display: block;
	text-align: center;
	vertical-align: middle;
	font-size: 14px;
	line-height: 32px;
	text-decoration: none;
	letter-spacing: 0.1em;
	color: #102439;
}

#krfc_ts_staff .staff_list .staff_list_item .parentheses_indent {
	text-indent: 0.5em;
	text-indent: 0.0em;
}

#krfc_ts_staff .staff_list .staff_list_item .balloon_cover {
	display: inline-block;
	position: relative;
}

#krfc_ts_staff .staff_list .staff_list_item .balloon_cover img {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: 36px;
	height: auto;
	position: absolute;
	bottom: 50%;
	left: 100%;
}



@media only screen and ( max-width: 750px ){

	/* x1.3 x1.22222... */

	#krfc_ts_staff hr {
		margin: 52px 0px 52px 0px;

		margin: 6.9333vw 0px 6.9333vw 0px;
	}

	#krfc_ts_staff .staff_list {
		margin: 26px 0px 0px 0px;

		margin: 3.4666vw 0px 0px 0px;
	}

	#krfc_ts_staff .staff_list .staff_list_item {
		margin: 20px 0px 20px 0px;
		min-width: 46%;

		margin: 2.6666vw 0px 2.6666vw 0px;
	}

	#krfc_ts_staff .staff_list .staff_list_item .sp_br {
		display: block;
	}

	#krfc_ts_staff .staff_list .staff_list_item .staff_list_item_label {
		font-size: 20px;
		line-height: 27px;

		font-size: 2.6666vw;
		line-height: 3.6vw;
	}

	#krfc_ts_staff .staff_list .staff_list_item .staff_list_item_name {
		font-size: 27px;
		line-height: 40px;

		font-size: 3.6vw;
		line-height: 5.3333vw;
	}

	#krfc_ts_staff .staff_list .staff_list_item .staff_list_item_sub {
		font-size: 17px;
		line-height: 40px;

		font-size: 2.2666vw;
		line-height: 5.3333vw;
	}

	#krfc_ts_staff .staff_list .staff_list_item .parentheses_indent {
		text-indent: 0.0em;
	}

	#krfc_ts_staff .staff_list .staff_list_item .balloon_cover img {
		width: 44px;

		width: 5.8666vw;
	}

}




/* ------------------------------------------------------------------------------------------------ Char */




#krfc_ts_char {
	margin: 0px 0px 0px 0px;
	padding: 270px 0px 0px 0px;
	display: block;
	width: 100%;
	height: auto;

	background: linear-gradient(0deg,rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 33%, rgba(255, 255, 255, 0) 66%, rgba(255, 255, 255, 0) 100%);
	padding-top: 0px;
}

#krfc_ts_char h2 {
	margin: 0px 0px 20px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: auto;
	height: auto;
}

#krfc_ts_char h2 img {
	margin: 0px auto 0px auto;
	padding: 0px 0px 0px 0px;
	display: block;
	width: auto;
	height: 100px;
}

#krfc_ts_char #krfc_ts_char_in {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: 100%;
	height: auto;
	background-repeat: no-repeat;
	background-position: left 68px;
	background-image: url("../images/character_bg01.png");
	background-color: transparent;
	background-size: 100% calc( 100% - 105px );
}




@media only screen and ( max-width: 750px ){

	#krfc_ts_char {
		padding: 270px 0px 0px 0px;

		padding: 36vw 0px 0px 0px;

		padding-top: 0px;
	}

	#krfc_ts_char h2 {
		margin: 0px 0px 26px 0px;

		margin: 0px 0px 3.4666vw 0px;
	}

	#krfc_ts_char h2 img {
		height: 100px;

		height: 13.3333vw;
	}

	#krfc_ts_char #krfc_ts_char_in {
		background-position: left 68px;
		background-size: 100% calc( 100% - 86px );

		background-position: left 9.0666vw;
		background-size: 100% calc( 100% - 11.4666vw );
	}

}




#krfc_ts_char .char_list {
	margin: 0px 0px 20px 0px;
	padding: 0px 0px 0px 0px;
	width: auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	flex-direction: row;
	align-items: center;
}

#krfc_ts_char .char_list .char_list_item {
	margin: 10px 10px 10px 10px;
	padding: 0px 0px 0px 0px;
	width: 132px;
	height: 132px;
	display: block;
	list-style-type: none;
	box-sizing: border-box;
	border-radius: 150px;
	overflow: hidden;
	background-color: #eef1f4;
	border-style: solid;
	border-color: #ffffff;
	border-width: 0px;
	transition: background-color 0.3s ease 0s;
	cursor: pointer;
	position: relative;
}

#krfc_ts_char .char_list .current,
#krfc_ts_char .char_list .char_list_item:hover {
	background-color: #8cdadb;
}

#krfc_ts_char .char_list .char_list_item::after {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	position: absolute;
	top: 0px;
	left: 0px;
	content: '';
	width: 100%;
	height: 100%;
	background-color: rgba( 255, 255, 255, 0.34 );
	opacity: 1.0;
	transition: opacity 0.3s ease 0s;
}

#krfc_ts_char .char_list .current::after,
#krfc_ts_char .char_list .char_list_item:hover::after {
	opacity: 0.0;
}

#krfc_ts_char .char_list .char_list_item img {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	width: 100%;
	height: auto;
	display: block;
	position: relative;
}




@media only screen and ( max-width: 750px ){

	#krfc_ts_char .char_list {
		margin: 0px 0px 26px 0px;

		margin: 0px 0px 3.4666vw 0px;
	}

	#krfc_ts_char .char_list .char_list_item {
		margin: 10px 10px 10px 10px;
		width: 132px;
		height: 132px;

		margin: 1.3333vw 1.3333vw 1.3333vw 1.3333vw;
		width: 17.6vw;
		height: 17.6vw;
	}

}




#krfc_ts_char #char_list_body {
	margin: 0px auto 0px auto;
	padding: 0px 0px 0px 0px;
	display: block;
	position: relative;
	width: 1000px;
}

#krfc_ts_char #char_list_body #char_list_body_in {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	width: 100%;
}

#krfc_ts_char #char_list_body .char_list_body_item {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	width: 100%;
	display: block;

	position: absolute;
	top: 0px;
	left: 0px;
	/*opacity: 0.0;*/
	/*transition: opacity 0.3s ease 0s;*/
	display: none;
}

#krfc_ts_char #char_list_body .char_list_body_item .char_list_body_item_in {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	flex-direction: row;
	align-items: stretch;
}

#krfc_ts_char #char_list_body .char_list_body_item:nth-child(1) {
	opacity: 1.0;
	display: block;
	/*position: relative;*/
}

#krfc_ts_char #char_list_body .char_list_body_item .char_list_body_item_left {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	width: 50%;
	display: block;
	position: relative;
}

#krfc_ts_char #char_list_body .char_list_body_item .char_list_body_item_left img {
	margin: 0px 60px 0px auto;
	padding: 0px 0px 0px 0px;
	display: block;
	width: 46%;
	height: auto;
	position: absolute;
	position: relative;
	top: 0px;
	left: 0%;
}

#krfc_ts_char #char_list_body .char_list_body_item .char_list_body_item_right {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	width: auto;
	display: block;
	flex: 1;
	position: relative;

	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	flex-direction: column;
	align-items: flex-start;
}

#krfc_ts_char #char_list_body .char_list_body_item .char_list_body_item_prof {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: 100%;
}

#krfc_ts_char #char_list_body .char_list_body_item .char_list_body_item_prof .prof_name {
	margin: 0px 0px 0px 0px;
	padding: 0px 15px 0px 15px;
	display: block;
	width: auto;
	list-style-type: none;
	text-align: left;
	font-size: 44px;
	line-height: 57px;
	letter-spacing: 0.1em;
	color: #102439;
	text-decoration: none;
}

#krfc_ts_char #char_list_body .char_list_body_item .char_list_body_item_prof .prof_name rp,
#krfc_ts_char #char_list_body .char_list_body_item .char_list_body_item_prof .prof_name rt {
	font-size: 36%;
	margin-bottom: 0.1em;
	/*letter-spacing: -1.75em;*/
}

#krfc_ts_char #char_list_body .char_list_body_item .char_list_body_item_prof .balloon_cover {
	margin: 0.5em 0px 0px 0px;
	padding: 0px 0px 0px 0.5em;
	display: inline-block;
	width: auto;
	list-style-type: none;
	text-align: left;
	font-size: 24px;
	line-height: 36px;
	letter-spacing: 0.1em;
	color: #102439;
	text-decoration: none;
	position: relative;
	transition: opacity 0.3s ease 0s;
}

#krfc_ts_char #char_list_body .char_list_body_item .char_list_body_item_prof .balloon_cover:hover {
	opacity: 0.5;
}

#krfc_ts_char #char_list_body .char_list_body_item .char_list_body_item_prof .balloon_cover img {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: 1.25em;
	height: auto;
	position: absolute;
	bottom: 50%;
	left: 100%;
}

#krfc_ts_char #char_list_body .char_list_body_item .char_list_body_item_prof hr {
	margin: 15px 0px 38px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: 100%;
	height: 0px;
	border-style: dotted;
	border-color: #3c3d3d;
	border-width: 2px 0px 0px 0px;
	box-sizing: border-box;
}

#krfc_ts_char #char_list_body .char_list_body_item .char_list_body_item_prof p {
	margin: 32px 0px 32px 0px;
	padding: 0px 15px 0px 15px;
	display: block;
	width: auto;
	list-style-type: none;
	text-align: left;
	font-size: 16px;
	line-height: 32px;
	letter-spacing: 0.1em;
	color: #102439;
	text-decoration: none;

	letter-spacing: 0.0em;
	padding-right: 0px;
}

#krfc_ts_char #char_list_body .char_list_body_item .char_list_body_item_prof p .sp_br {
	display: none;
}

#krfc_ts_char #char_list_body .char_list_body_item .char_list_body_item_face {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: 87%;
}

#krfc_ts_char #char_list_body .char_list_body_item .char_list_body_item_face img {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: 100%;
	height: auto;
}




@media only screen and ( max-width: 1000px ){

	#krfc_ts_char #char_list_body {
		margin: 0px auto 0px auto;
		width: auto;
	}

	#krfc_ts_char #char_list_body .char_list_body_item .char_list_body_item_left {
		width: 40%;
	}

	#krfc_ts_char #char_list_body .char_list_body_item .char_list_body_item_left img {
		width: 58%;
	}

	#krfc_ts_char #char_list_body .char_list_body_item .char_list_body_item_face {
		width: 72%;
	}

}




@media only screen and ( max-width: 750px ){

	#krfc_ts_char #char_list_body .char_list_body_item .char_list_body_item_in {
		flex-direction: row-reverse;
	}

	#krfc_ts_char #char_list_body .char_list_body_item .char_list_body_item_left {
		width: 37%;

		width: 35%;
	}

	#krfc_ts_char #char_list_body .char_list_body_item .char_list_body_item_left img {
		margin: 0px auto 0px 0px;
		width: 86%;
	}

	#krfc_ts_char #char_list_body .char_list_body_item .char_list_body_item_right {
		padding: 0px 0px 0px 40px;

		padding: 0px 0px 0px 5.3333vw;

		padding: 0px 0px 0px 4.3333vw;
	}

	#krfc_ts_char #char_list_body .char_list_body_item .char_list_body_item_prof .prof_name {
		padding: 0px 10px 0px 10px;
		font-size: 44px;
		line-height: 57px;

		padding: 0px 1.3333vw 0px 1.3333vw;
		font-size: 5.8666vw;
		line-height: 7.6vw;
	}

	#krfc_ts_char #char_list_body .char_list_body_item .char_list_body_item_prof .balloon_cover {
		margin: 0.5em 0px 0px 0px;
		padding: 0px 0px 0px 0.5em;
		font-size: 30px;
		line-height: 44px;

		font-size: 4vw;
		line-height: 5.8666vw;
	}

	#krfc_ts_char #char_list_body .char_list_body_item .char_list_body_item_prof hr {
		margin: 15px 0px 38px 0px;
		border-width: 2px 0px 0px 0px;

		margin: 2vw 0px 0vw 0px;
	}

	#krfc_ts_char #char_list_body .char_list_body_item .char_list_body_item_prof p {
		margin: 32px 0px 32px 0px;
		padding: 0px 10px 0px 10px;
		font-size: 20px;
		line-height: 43px;

		margin: 4.2666vw 0px 4.2666vw 0px;
		padding: 0px 0vw 0px 1.3333vw;
		font-size: 2.6666vw;
		line-height: 5.7333vw;
	}

	#krfc_ts_char #char_list_body .char_list_body_item .char_list_body_item_prof p .sp_br {
		display: block;
	}

	#krfc_ts_char #char_list_body .char_list_body_item .char_list_body_item_face {
		width: 100%;
	}

}




#krfc_ts_char #char_list_body .char_list_body_item .char_list_body_item_left img,
#krfc_ts_char #char_list_body .char_list_body_item .char_list_body_item_prof,
#krfc_ts_char #char_list_body .char_list_body_item .char_list_body_item_face {
	transition: 0.5s;
	opacity: 0.0 !important;
	transform: translateX(-2.5vw) !important;
	filter: blur(8px);
}

#krfc_ts_char #char_list_body .char_list_body_item .char_list_body_item_left img {
	transition-delay: 0.1s;
}

#krfc_ts_char #char_list_body .char_list_body_item .char_list_body_item_prof {
	transition-delay: 0.2s;
}

#krfc_ts_char #char_list_body .char_list_body_item .char_list_body_item_face {
	transition-delay: 0.3s;
}

#krfc_ts_char #char_list_body .char_anim_start .char_list_body_item_left img,
#krfc_ts_char #char_list_body .char_anim_start .char_list_body_item_prof,
#krfc_ts_char #char_list_body .char_anim_start .char_list_body_item_face {
	opacity: 1.0 !important;
	transform: translateX(0) !important;
	filter: blur(0px);
}




/* ------------------------------------------------------------------------------------------------ Footer */




#krfc_footer {
	margin: 0px 0px 0px 0px;
	padding: 100px 0px 60px 0px;
	display: block;
	width: 100%;
	height: auto;
	background-color: transparent;
	position: relative;
}

body.home #krfc_footer {
	background-color: #ffffff;
}

#krfc_footer #krfc_footer_logo {
	margin: 0px auto 0px auto;
	padding: 0px 0px 0px 0px;
	display: block;
	width: auto;
	height: 130px;
}




@media only screen and ( max-width: 1016px ){

	#krfc_footer #krfc_footer_logo {
		height: 12.7952vw;
	}

}




@media only screen and ( max-width: 750px ){

	#krfc_footer {
		padding: 140px 0px 60px 0px;

		padding: 18.6666vw 0px 8vw 0px;
	}

}




#krfc_footer #main_footer_sns {
	margin: 70px 0px 60px 0px;
	padding: 0px 0px 0px 0px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	flex-direction: row;
	align-items: center;
}

#krfc_footer #main_footer_sns a {
	margin: 0px 10px 0px 10px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: 62px;
	height: auto;
	transition: opacity 0.3s ease 0s;
}

#krfc_footer #main_footer_sns a:hover {
	opacity: 0.5;
}

#krfc_footer #main_footer_sns a img {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: 100%;
	height: auto;
}




@media only screen and ( max-width: 750px ){

	#krfc_footer #main_footer_sns {
		margin: 50px 0px 60px 0px;

		margin: 6.6666vw 0px 8vw 0px;
	}

	#krfc_footer #main_footer_sns a {
		margin: 0px 12px 0px 12px;
		width: 82px;

		margin: 0px 1.6vw 0px 1.6vw;
		width: 10.9333vw;
	}

}




#krfc_footer .cr {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	text-align: center;
	font-size: 14px;
	line-height: 18px;
	letter-spacing: 0.1em;
	color: #4987ec;
	text-decoration: none;
}




@media only screen and ( max-width: 640px ){

	#krfc_footer .cr {
		font-size: 2.1875vw;
		line-height: 2.8125vw;
	}

}




/* ------------------------------------------------------------------------------------------------ com modal */




.comment_modal {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	flex-direction: row;
	align-items: center;
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0px;
	left: 0px;

	opacity: 0.0;
	display: none;
	z-index: 10000;
}

.comment_modal .comment_modal_overlay {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0px;
	left: 0px;
}

.comment_modal .comment_modal_close {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: 40px;
	height: 146px;
	position: absolute;
	top: 20px;
	left: -20px;
	background-repeat: no-repeat;
	background-position: left top;
	background-position: center center;
	background-image: url("../images/modal_close_text.svg");
	background-color: #ffffff;
	background-size: 50% auto;
	border-style: dashed;
	border-color: #d75670;
	border-width: 0px;
	box-sizing: border-box;
	cursor: pointer;
	transition: background-color 0.3s ease 0s;
}

.comment_modal .comment_modal_close:hover {
	background-color: #cef7fc;
	background-color: #defffa;
}

.comment_modal .comment_modal_close .frame_bottom,
.comment_modal .comment_modal_close .frame_right,
.comment_modal .comment_modal_close .frame_left,
.comment_modal .comment_modal_close .frame_top {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	position: absolute;
	background-position: left top;
	background-position: center center;
	background-color: transparent;
	opacity: 0.9;
}

.comment_modal .comment_modal_close .frame_top {
	width: 100%;
	height: 3px;
	top: -1px;
	left: 0px;
	background-image: url("../images/modal_frame_border_h.png");
	background-repeat: repeat-x;
	background-size: auto 100%;
}

.comment_modal .comment_modal_close .frame_left {
	width: 3px;
	height: 100%;
	top: 0px;
	left: -1px;
	background-image: url("../images/modal_frame_border.png");
	background-repeat: repeat-y;
	background-size: 100% auto;
}

.comment_modal .comment_modal_close .frame_right {
	width: 3px;
	height: 100%;
	top: 0px;
	right: -1px;
	background-image: url("../images/modal_frame_border.png");
	background-repeat: repeat-y;
	background-size: 100% auto;
}

.comment_modal .comment_modal_close .frame_bottom {
	width: 100%;
	height: 3px;
	bottom: -1px;
	left: 0px;
	background-image: url("../images/modal_frame_border_h.png");
	background-repeat: repeat-x;
	background-size: auto 100%;
}

@media only screen and ( max-width: 750px ){

	.comment_modal {
		height: 100dvh;
	}

	.comment_modal .comment_modal_close {
		width: 52px;
		height: 190px;
		top: 26px;
		left: -26px;
		background-size: 50% auto;

		width: 6.9333vw;
		height: 25.3333vw;
		top: 3.4666vw;
		left: -3.4666vw;
	}

	.comment_modal .comment_modal_close .frame_top {
		height: 2px;
		top: -1px;
	}

	.comment_modal .comment_modal_close .frame_left {
		width: 2px;
		left: -1px;
	}

	.comment_modal .comment_modal_close .frame_right {
		width: 2px;
		right: -1px;
	}

	.comment_modal .comment_modal_close .frame_bottom {
		height: 2px;
		bottom: -1px;
	}

}

.comment_modal .comment_modal_square01 {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: 116px;
	height: 116px;
	position: absolute;
	bottom: 0px;
	right: calc( 100% - 10px );
	background-repeat: no-repeat;
	background-position: left top;
	background-position: center center;
	background-image: url("../images/modal_square01.png");
	background-color: transparent;
	background-size: contain;
	pointer-events: none;
	animation: 30s linear infinite rotate_anim;
}

@keyframes rotate_anim {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}

.comment_modal .comment_modal_square02 {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: 42px;
	height: 42px;
	position: absolute;
	top: 10%;
	left: 50%;
	margin-left: 490px;
	background-repeat: no-repeat;
	background-position: left top;
	background-position: center center;
	background-image: url("../images/modal_square02.png");
	background-color: transparent;
	background-size: contain;
	pointer-events: none;
	animation: 20s ease infinite rotate_anim;
}

.comment_modal .comment_modal_square03 {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: 82px;
	height: 82px;
	position: absolute;
	top: 40%;
	left: 50%;
	margin-left: 480px;
	background-repeat: no-repeat;
	background-position: left top;
	background-position: center center;
	background-image: url("../images/modal_square03.png");
	background-color: transparent;
	background-size: contain;
	pointer-events: none;
	animation: 40s ease infinite rotate_anim;
}

.comment_modal .comment_modal_body {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: 1000px;
	height: 100%;
	background-color: #f4fcfb;
	background-color: #ffffff;
	position: relative;

	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	flex-direction: row;
	align-items: center;

	background-repeat: no-repeat;
	background-position: left -300px, right calc( 100% + 300px);
	background-image: url("../images/modal_rl_bg01.png"), url("../images/modal_rl_bg02.png");
	background-size: 500px auto;
}

.comment_modal .comment_modal_body::before {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	content: '';
	width: 3px;
	height: 100%;
	position: absolute;
	top: 0px;
	left: -1px;
	background-repeat: repeat-y;
	background-position: left top;
	background-position: center center;
	background-image: url("../images/modal_frame_border.png");
	background-color: transparent;
	background-size: 100% auto;
}

.comment_modal .comment_modal_body::after {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	content: '';
	width: 3px;
	height: 100%;
	position: absolute;
	top: 0px;
	right: -1px;
	background-repeat: repeat-y;
	background-position: left top;
	background-position: center center;
	background-image: url("../images/modal_frame_border.png");
	background-color: transparent;
	background-size: 100% auto;
}

.comment_modal .comment_modal_body .comment_modal_body_in {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 50px;
	display: block;
	box-sizing: border-box;
	width: 100%;

	height: calc( 100% - 40px );
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	flex-direction: row;
	align-items: center;

	padding-right: 15px;
}

.comment_modal .comment_modal_body .comment_modal_body_in2 {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	box-sizing: border-box;
	width: 100%;
}

.comment_modal .comment_modal_body .mCustomScrollbar {
	padding-right: 0px;
}

.comment_modal .comment_modal_body .mCS_no_scrollbar,
.comment_modal .comment_modal_body .mCS_disabled {
	padding-right: 0px;
	margin-right: 50px;

	margin-right: 35px;
}

.comment_modal .comment_modal_body .mCS_disabled .mCustomScrollBox {
	height: auto;
}

.comment_modal .comment_modal_body .comment_modal_body_in3 {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
}

.comment_modal .comment_modal_body .comment_modal_body_in4 {
	margin: 0px 0px 0px 0px;
	padding: 20px 0px 20px 0px;
	display: block;
}

.mCSB_scrollTools .mCSB_draggerContainer::before {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	content: '';
	width: 1px;
	height: 100%;
	position: absolute;
	top: 0px;
	left: 50%;
	margin-left: 0px;
	background-color: rgb(191, 244, 251);
}




@media only screen and ( max-width: 1080px ){

	.comment_modal .comment_modal_square02 {
		width: 42px;
		height: 42px;
		margin-left: 490px;

		margin-left: 45.3703vw;
	}

	.comment_modal .comment_modal_square03 {
		width: 82px;
		height: 82px;
		margin-left: 480px;

		margin-left: 44.4444vw;
	}

	.comment_modal .comment_modal_body {
		margin: 0px 40px 0px 40px;
		width: auto;

		width: calc( 100% - 40px - 40px );
	}

}




@media only screen and ( max-width: 750px ){

	.comment_modal .comment_modal_square01 {
		width: 150px;
		height: 150px;
		right: calc( 100% - 10px );

		width: 20vw;
		height: 20vw;
		right: calc( 100% - 1.3333vw );
	}

	.comment_modal .comment_modal_square02 {
		width: 54px;
		height: 54px;

		width: 7.2vw;
		height: 7.2vw;
	}

	.comment_modal .comment_modal_square03 {
		width: 106px;
		height: 106px;

		width: 14.1333vw;
		height: 14.1333vw;
	}

	.comment_modal .comment_modal_body {
		margin: 0px 40px 0px 40px;

		margin: 0px 5.3333vw 0px 5.3333vw;

		background-position: left -300px, right calc( 100% + 300px);
		background-size: 500px auto;

		background-position: left -40vw, right calc( 100% + 40vw);
		background-size: 66.6666vw auto;

		width: calc( 100% - 5.3333vw - 5.3333vw );
	}

	.comment_modal .comment_modal_body::before {
		width: 2px;
		left: -1px;
	}

	.comment_modal .comment_modal_body::after {
		width: 2px;
		right: -1px;
	}

	.comment_modal .comment_modal_body .comment_modal_body_in {
		padding: 0px 20px 0px 50px;
		height: calc( 100% - 40px );

		padding: 0px 0vw 0px 6.6666vw;
		height: calc( 100% - 5.3333vw );

		padding-right: 2vw;
	}

	.comment_modal .comment_modal_body .comment_modal_body_in2 {
		padding: 0px 0vw 0px 0px;
	}

	.comment_modal .comment_modal_body .mCustomScrollbar {
		padding-right: 0px;
	}

	.comment_modal .comment_modal_body .mCS_no_scrollbar,
	.comment_modal .comment_modal_body .mCS_disabled {
		padding-right: 0vw;
		margin-right: 6.6666vw;

		margin-right: 4.6666vw;

		/* Default Scroll Bar */
		margin-right: 0vw;
		padding-right: 4.6666vw;
	}

	.comment_modal .comment_modal_body .comment_modal_body_in4 {
		padding: 40px 0px 40px 0px;

		padding: 5.3333vw 0vw 5.3333vw 0vw;

		padding: 20px 0px 20px 0px;

		padding: 2.6666vw 0vw 2.6666vw 0vw;
	}

}




.comment_modal .comment_modal_body .cast_img {
	margin: 0px 0px 0px 0px;
	padding: 20px 0px 20px 0px;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	flex-direction: row;
	align-items: center;
}

.comment_modal .comment_modal_body .cast_img .cast_img_in {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	position: relative;
	transform: rotate(5deg);
}

.comment_modal .comment_modal_body .cast_img .cast_img_in img {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: 200px;
	height: auto;
}

.comment_modal .comment_modal_body h3 {
	margin: 10px 0px 20px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: auto;
	list-style-type: none;
	text-align: center;
	font-size: 26px;
	line-height: 36px;
	letter-spacing: 0.1em;
	color: #102439;
	text-decoration: none;
}

.comment_modal .comment_modal_body h3 small {
	margin-right: 0.75em;
}

.comment_modal .comment_modal_body p {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0.5em 0px;
	display: block;
	background-repeat: repeat-y;
	background-position: left top;
	background-position: center top;
	background-image: url("../images/intro_bg04_line.png");
	background-color: transparent;
	background-size: auto 416px;
	/*font-family: 'ShinEnpitsuItalicStdN-F';*/
	text-align: left;
	font-size: 16px;
	line-height: 46px;
	letter-spacing: 0.1em;
	color: #102439;
	text-decoration: none;
}

.comment_modal .comment_modal_body p .pc_br {
	display: block;
}

.comment_modal .comment_modal_body p .sp_br {
	display: none;
}




@media only screen and ( max-width: 750px ){

	.comment_modal .comment_modal_body .cast_img {
		padding: 26px 0px 26px 0px;

		padding: 3.4666vw 0px 3.4666vw 0px;
	}

	.comment_modal .comment_modal_body .cast_img .cast_img_in img {
		width: 200px;

		width: 26.6666vw;
	}

	.comment_modal .comment_modal_body h3 {
		margin: 13px 0px 26px 0px;
		font-size: 30px;
		line-height: 44px;

		margin: 1.7333vw 0px 3.4666vw 0px;
		font-size: 4vw;
		line-height: 5.8666vw;
	}

	.comment_modal .comment_modal_body h3 small {
		margin-right: 0.0em;
		display: block;
	}

	.comment_modal .comment_modal_body p {
		padding: 0px 0px 0.5em 0px;
		background-size: auto 506px;
		font-size: 20px;
		line-height: 56px;

		background-size: auto 67.4666vw;
		font-size: 2.6666vw;
		line-height: 7.4666vw;

		background-size: auto 64.4666vw;

		text-box-edge: text;
		text-box-trim: none;

		text-align: center;
		letter-spacing: 0em;
	}

	.comment_modal .comment_modal_body p .pc_br {
		display: none;
	}

	.comment_modal .comment_modal_body p .sp_br {
		display: block;
	}

}




/* ------------------------------------------------------------------------------------------------ splash screen */




#splash_screen_overlay {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0px;
	left: 0px;
	background-repeat: repeat;
	background-position: left top;
	background-position: center center;
	background-image: url("../images/bg_tile01.png");
	background-color: #f4fcfb;
	background-size: 76px 76px;
	pointer-events: none;
}

#splash_screen {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	flex-direction: row;
	align-items: center;
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0px;
	left: 0px;
	background-repeat: repeat;
	background-position: left top;
	background-position: center center;
	background-image: url("../images/bg_tile01.png");
	background-color: #f4fcfb;
	background-size: 76px 76px;

/*
	width: 150vw;
	height: 150vh;
	top: -25vh;
	left: -25vw;
*/
}

#splash_screen #splash_screen_img {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: auto;
	height: 130px;
	opacity: 0.0;
	filter: blur(8px);
	transition-property: opacity, filter;
	transition-duration: 0.2s;
	transition-timing-function: linear;
}




@media only screen and ( max-width: 1016px ){

	#splash_screen #splash_screen_img {
		height: 12.7952vw;
	}

}




@media only screen and ( max-width: 750px ){

	#splash_screen {
		height: 100dvh;
	}

}




/* ------------------------------------------------------------------------------------------------ ? */




#debug_text01 {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: 100%;
	height: auto;
	position: absolute;
	top: 30%;
	left: 0px;
	background-color: #ffffff;
	pointer-events: none;
	border-style: solid;
	border-color: #e0faff;
	border-width: 1px 0px 1px 0px;
	box-sizing: border-box;
	text-align: center;
	font-size: 16px;
	line-height: 26px;
	letter-spacing: 0.1em;
	color: #102439;
	text-decoration: none;

	display: none;
}