



:root {
	--main-bg-color: #FFFFFF;
	--main-text-color: #1F3558;
	--plate-bg-color: #FFED61;
	--footer-bg-color: #FFFFFF;
	--point-color01: #FF8382;
	--point-color01-hover: #5FB7E1;
	--point-color-light01: #EAF5F8;
	--point-color-middle01: #5FB7E1;
	--point-bg-color01: #EAF5F8;
	--point-color-middle02: #A3DEF8;
	--point-color-dark01: #1A98D4;
	--point-color02: #F1E400;
	--point-color02-hover: #5FB7E1;
	--point-color-light02: #FFFF78;
}


:root {
	--breakpoint-pc-width: 1540px; /* 1512px; */
	--breakpoint-pc-cont-width: 1540px; /* 1512px; */
	--breakpoint-pc-margin: 32px;
	--breakpoint-pc-obione-height: 0;
	
	--breakpoint01-width: 1280px;
	--breakpoint01-cont-width: 960px;
	--breakpoint01-margin: 32px;
	--breakpoint01-obione-height: 0;
	
	--breakpoint-mb-width: 960px;
	--breakpoint-mb-cont-width: 480px;
	--breakpoint-mb-margin: 25px;
	--breakpoint-mb-obione-height: 0;
}






body,div,p,a,img,h,h1,h2,h3,h4,h5,h6,hr,header,footer,section,article
{
	margin: 0px;
	padding: 0px;
	border: 0px;
}


body
{
	margin: 0px;
	padding: 0px;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 12px;
	font-weight: 400;
	color: var( --main-text-color );
	background-color: var( --main-bg-color );
}


img
{
	margin: 0px;
	padding: 0px;
	border: 0px;
}


.anc01
{
	display: block;
	width: 0px;
	height: 0px;
	line-height: 0px;
	transform: translate( 0, -126px );
}






#bodybox
{
	position: relative;
	width: 100%;
	height: 100%;
	margin: 0px 0px 0px 0px;
	min-width: var( --breakpoint-pc-cont-width );
	overflow-x: hidden;
}


#headerbase
{
	display: block;
	position: relative;
	width: 100%;
	height: auto;
	background-color: var( --main-bg-color );
	overflow: hidden;
}


header
{
	position: relative;
	width: calc( 100% - ( var( --breakpoint-pc-margin ) * 2 ) );
	height: calc( 100% - 1px - 1px );
	margin: 0px auto 0px auto;
	padding-top: 1px;
	padding-bottom: 1px;
}


.midbase, #footerbase
{
	position: relative;
	width: 100%;
	margin: 0px 0px 0px 0px;
}


.midbox, footer
{
	position: relative;
	/*width: calc( 100% - ( var( --breakpoint-pc-margin ) * 2 ) );*/
	width: 100%;
	margin: 0px auto 0px auto;
	padding-top: 1px;
	padding-bottom: 1px;
}


#footerbase
{
	height: auto;
	background-color: var( --footer-bg-color );
}


#footerbase::after
{
	content: '';
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 144px;
	background-color: var( --point-color01 ); /* #FF8382; */
	z-index: 0;
}


footer
{
	height: 613px;
	min-height: 120px;
	padding-bottom: 144px;
	color: #717171;
}






.rtt01
{
	display: block;
	position: relative;
	width: 68px;
	height: 1em;
	margin: 60px 0px 82px auto;
	padding-top: 38px;
	/*font-family: 'Kaisei Tokumin', serif;*/
	font-size: 12px;
	font-weight: 400;
	line-height: 1em;
	text-align: center;
	vertical-align: top;
	color: inherit;
	letter-spacing: 0.1em;
	cursor: pointer;
	transition-duration: 150ms;
	will-change: transform;
}


.rtt01:hover
{
	/*color: rgba( 240, 180, 0, 0.7 );*/
	/*opacity: 0.7;*/
	-webkit-filter: drop-shadow( 0px 0px 4px rgba( 255, 255, 255, 0.8 ) );
	drop-shadow( 0px 0px 4px rgba( 255, 255, 255, 0.8 ) );
}


.rtt01::before
{
	content: '';
	display: block;
	position: absolute;
	left: -3px;
	right: 0px;
	top: 0px;
	margin: auto;
	width: 0px;
	height: 29px;
	border-right: solid 1px inherit;
}


.rtt01::after
{
	content: '';
	display: block;
	position: absolute;
	left: -3px;
	right: -1px;
	top: 1px;
	margin: auto;
	width: 0px;
	height: 12px;
	border-left: solid 1px inherit;
	-webkit-transform-origin: center top;
	transform-origin: center top;
	-webkit-transform: rotate( -52deg );
	transform: rotate( -52deg );
}


footer .rtt01
{
	position: absolute;
	left: -2048px;
	right: -2048px;
	bottom: 127px;
	margin: auto;
}














.stcont
{
	display: block;
	position: relative;
	/*width: calc( var( --breakpoint-pc-cont-width ) - ( var( --breakpoint-pc-margin ) * 2 ) );*/
	width: 100%;
	margin: 100px auto 100px auto;
	padding-top: 1px;
	padding-bottom: 1px;
	/*min-height: 1024px;*/
	vertical-align: top;
	/*
	-webkit-font-feature-settings: 'palt';
	font-feature-settings: 'palt';
	*/
	/*background-color: rgba( 253, 255, 219, 1 );*/
}


.stbox01
{
	display: block;
	position: relative;
	margin: 0 auto 0 auto;
	text-align: center;
	vertical-align: top;
}


.stbox01 .ste
{
	display: block;
	position: relative;
	margin-block: calc( ( 1em - 1lh ) / 2 );
	font-family: 'Poppins', sans-serif;
	font-size: 54px;
	font-weight: 600;
	line-height: 1em;
	vertical-align: top;
	letter-spacing: 0.05em;
	color: var( --point-color01 );
}


.stbox01 .stj
{
	display: block;
	position: relative;
	margin-block: calc( ( 1em - 1lh ) / 2 );
	margin-top: 3px;
	font-size: 24px;
	font-weight: 500;
	line-height: 1.4em;
	vertical-align: top;
	color: #1F3558;
	letter-spacing: 0.075em;
}





.entrybtn01
{
	display: block;
	position: relative;
	width: 414px;
	height: 110px;
	margin: 60px auto 0 auto;
	text-decoration: none;
	color: inherit;
	filter: drop-shadow( 0 0 5px rgba( 174, 174, 174, 0.46 ) );
	transition-duration: 150ms;
	will-change: transform;
}


.entrybtn01 img
{
	display: block;
	position: relative;
	width: 100%;
	height: auto;
	border: 0;
}


.entrybtn01:hover
{
	opacity: 0.7;
}






#fabgbase01
{
	display: block;
	position: relative;
	width: 100%;
	height: 258px;
	/*margin: -2px auto 0 auto;*/
	margin: -188px auto 0 auto;
	padding-top: 1px;
	padding-bottom: 1px;
	/*background-color: #CCCCFF;*/
	z-index: 0;
}


#fabgbase01::before
{
	content: '';
	display: block;
	position: absolute;
	left: -2048px;
	right: -2048px;
	top: 0;
	margin: auto;
	width: 100vw;
	height: 100%;
	background-color: var( --footer-bg-color );
}


#fabg01
{
	display: block;
	position: absolute;
	left: -2048px;
	right: -2048px;
	top: 0;
	margin: auto;
	width: 2604px;
	height: 100%;
	overflow-x: visible;
	overflow-y: hidden;
	z-index: 0;
}


#fabg01::before
{
	content: '';
	display: block;
	position: absolute;
	left: -2048px;
	right: -2048px;
	bottom: 0;
	margin: auto;
	/*width: 120vw;*/
	width: 100%; /* 2304px; */
	height: 300%;
	/*background-color: #FFFFFF;*/
	background-color: var( --main-bg-color );
	border-radius: 50%;
	z-index: 0;
}





#toabox01
{
	display: block;
	position: relative;
	width: 1250px;
	margin: 100px auto 0 auto;
	vertical-align: top;
}


#st_toa
{
	display: inline-block;
	position: relative;
	margin-block: calc( ( 1em - 1lh ) / 2 );
	font-size: 17px;
	font-weight: 600;
	line-height: 1em;
	text-align: left;
	vertical-align: top;
	letter-spacing: 0.05em;
}


#toacom01
{
	display: inline-block;
	position: relative;
	margin-block: calc( ( 1em - 1lh ) / 2 );
	margin-top: 1px;
	margin-left: 16px;
	font-size: 15px;
	font-weight: 400;
	line-height: 1em;
	text-align: left;
	vertical-align: top;
	letter-spacing: 0.05em;
}


#toacont01
{
	display: block;
	position: relative;
	margin: 10px auto 0 auto;
	padding-top: 17px;
	padding-bottom: 20px;
	border-top: solid 1px rgba( 255, 255, 255, 0.5 );
	border-bottom: solid 1px rgba( 255, 255, 255, 0.5 );
}


#toacont01 p
{
	display: block;
	position: relative;
	margin: 0 0 0 0;
	font-size: 15px;
	font-weight: 400;
	line-height: 23px;
	text-align: justify;
	text-justify: inter-ideograph;
	vertical-align: top;
	letter-spacing: 0.04em;
}


#fsnsbox
{
	display: block;
	position: relative;
	width: 476px;
	height: 104px;
	margin: 92px auto 0 auto;
	padding-top: 1px;
	padding-bottom: 1px;
	vertical-align: top;
	background-color: #FFFFFF;
	border-radius: 52px;
	box-shadow: 0 0 6px rgba( 174, 174, 174, 0.46 );
}


#fsnscont
{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-line-pack: center;
	align-content: center;
	position: relative;
	width: 294px;
	height: 100%;
	margin: 0 auto 0 auto;
	padding: 0;
	list-style: none;
	vertical-align: top;
}


#fsnscont li
{
	display: block;
	position: relative;
	margin: 0 0 0 0;
	padding: 0;
	vertical-align: top;
}


#fsnscont li a
{
	display: block;
	position: relative;
	margin: 0 0 0 0;
	padding: 0;
	text-decoration: none;
	vertical-align: top;
	transition-duration: 150ms;
	will-change: transform;
}


#fsnscont li a:hover
{
	opacity: 0.7;
}


#fsnscont li a img, #fsnscont li a svg
{
	display: block;
	position: relative;
	width: auto;
	height: 38px;
	border: 0;
	vertical-align: top;
}







#footercore
{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	-ms-flex-line-pack: start;
	align-content: flex-start;
	position: relative;
	width: 100%;
	margin: 68px auto 0 auto;
	padding-top: 1px;
	padding-bottom: 1px;
}


#footerinfo01
{
	display: block;
	position: relative;
	width: 50%;
	margin: 0 auto 0 auto;
	vertical-align: top;
}


#footlogo01
{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-line-pack: center;
	align-content: center;
	position: relative;
	margin: 0 auto 0 auto;
	width: 442px;
	height: 46px;
	text-decoration: none;
	cursor: pointer;
	will-change: transform;
	/*background-color: rgba( 200, 255, 200, 0.3 );*/
}


#footlogo01:hover
{
	opacity: 0.7;
	transition-duration: 150ms;
}


#footlogo01 .logo01
{
	display: block;
	position: relative;
	width: auto;
	height: 100%;
	vertical-align: top;
}


#footlogo01 .logo01 img, #footlogo01 .logo01 svg
{
	display: block;
	position: relative;
	width: auto;
	height: 100%;
	border: 0;
}


#footlogo01 .cnj01
{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-line-pack: center;
	align-content: center;
	position: relative;
	width: 388px;
	height: auto;
	margin-left: 16px;
	margin-right: 0;
	vertical-align: top;
	/*background-color: rgba( 200, 200, 255, 0.3 );*/
}


#footlogo01 .cnj01 img, #footlogo01 .cnj01 svg
{
	display: block;
	position: relative;
	width: 156px;
	height: auto;
	border: 0;
	vertical-align: top;
}


#footlogo01 .cnj01 .cnk02
{
	display: block;
	position: relative;
	width: 218px;
	margin-left: 14px;
	vertical-align: top;
}


#footlogo01 .cnj01 .cnk02 img, #footlogo01 .cnj01 .cnk02 svg
{
	display: block;
	position: relative;
	width: 100%;
	height: auto;
	border: 0;
}


#finfoc01
{
	display: block;
	position: relative;
	margin: 28px 0 0 0;
	font-size: 14px;
	font-weight: 400;
	line-height: 22px;
	text-align: center;
	vertical-align: top;
	letter-spacing: 0.04em;
}


#finfoc01 a
{
	text-decoration: none;
	color: inherit;
	transition-duration: 150ms;
}


#finfoc01 a:hover
{
	opacity: 0.7;
}



#fnavibox01
{
	display: block;
	position: relative;
	margin: 109px auto 0 auto;
}


#fnavicont01
{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	-ms-flex-line-pack: start;
	align-content: flex-start;
	position: relative;
	width: 364px;
	margin: 0 auto 0 auto;
	padding: 0;
	list-style: none;
	font-size: 13px;
	font-weight: 400;
	line-height: 1em;
	text-align: center;
	vertical-align: top;
	letter-spacing: 0.1em;
}


#fnavicont01 li
{
	display: block;
	position: relative;
	height: 100%;
	margin: 0 0 0 0;
	padding: 0;
}


#fnavicont01 li a
{
	display: block;
	position: relative;
	margin: 0 0 0 0;
	padding: 0;
	line-height: 1em;
	text-decoration: none;
	vertical-align: top;
	color: inherit;
	transition-duration: 150ms;
}


#fnavicont01 li a:hover
{
	opacity: 0.7;
}






#footcopy
{
	display: block;
	position: absolute;
	left: -2048px;
	right: -2048px;
	bottom: 93px;
	margin: auto;
	width: 300px;
	font-size: 12px;
	font-weight: 400;
	line-height: 1em;
	text-align: center;
	vertical-align: top;
	color: #FFFFFF;
	letter-spacing: 0.1em;
	z-index: 1;
}










/*
#hbmenuplate
{
	display: block;
	position: fixed;
	top: -200vh;
	left: 0px;
	width: 480px;
	height: calc( 120dvh - 2px );
	padding-top: 1px;
	padding-bottom: 1px;
	background-color: var( --plate-bg-color );
	-webkit-font-feature-settings: 'palt';
	font-feature-settings: 'palt';
	transition-duration: 300ms;
	z-index: 2;
}


#hbmbtn
{
	display: none;
}


#hbmpheadbox
{
	display: block;
	position: relative;
	width: 100%;
	height: 64px;
	margin: -1px 0px 0px 0px;
}


#hbmlogo01
{
	display: none;
	position: absolute;
	left: 38px;
	top: 34px;
	margin: 0 0 0 0;
	width: 311px;
	height: 42px;
	text-decoration: none;
	cursor: pointer;
	will-change: transform;
}


#hbmlogo01:hover
{
	opacity: 0.7;
	transition-duration: 150ms;
}


#hbmlogo01 .logo01
{
	display: block;
	position: relative;
	width: auto;
	height: 100%;
	vertical-align: top;
}


#hbmlogo01 .logo01 img, #hbmlogo01 .logo01 svg
{
	display: block;
	position: relative;
	width: auto;
	height: 100%;
	border: 0px;
}


#hbmlogo01 .cnj01
{
	display: block;
	position: relative;
	width: 250px;
	height: auto;
	margin-top: 5px;
	vertical-align: top;
}


#hbmlogo01 .cnj01 img, #hbmlogo01 .cnj01 svg
{
	display: block;
	position: relative;
	width: 100%;
	height: auto;
	border: 0;
}


#hbmpcont
{
	display: block;
	position: relative;
	margin: 0 0 0 0;
	padding-top: 24px;
	padding-bottom: 1px;
}


#hbmenubox
{
	display: block;
	position: relative;
	margin: 0 0 0 0;
	padding: 0px;
}


#hbmenucont
{
	display: block;
	position: relative;
	list-style: none;
	margin: 0 0 0 0;
	padding: 0;
	color: #575757;
}


#hbmenucont li
{
	display: block;
	position: relative;
	margin: 0 0 0 0;
	padding: 0;
}


#hbmenucont li a
{
	display: block;
	position: relative;
	margin: 0 0 0 0;
	padding: 18px 24px 18px 64px;
	text-decoration: none;
	text-align: left;
	vertical-align: top;
	color: inherit;
}


#hbmenucont li a .mtj
{
	display: block;
	position: relative;
	margin: 0 0 0 0;
	padding: 0;
	font-size: 18px;
	font-weight: 400;
	line-height: 1em;
	text-align: left;
	vertical-align: top;
	letter-spacing: 0.1em;
}


#hbmpfootbox
{
	display: block;
	position: relative;
	width: 100%;
	margin: 0px auto 0px auto;
}


#hbnavibox
{
	display: block;
	position: relative;
	margin: 57px 0 0 0;
}


#hbnavicont
{
	display: block;
	position: relative;
	list-style: none;
	margin: 0 0 0 0;
	padding: 0;
}


#hbnavicont li
{
	display: block;
	position: relative;
	margin: 0 0 0 0;
	padding: 0;
	vertical-align: top;
}
*/





.tbbr, .mbbr
{
	display: none;
}


.pcbr
{
	display: block;
}




.tbil, .mbil
{
	display: none;
}


.pcil
{
	display: inline-block;
}





#rsvt_pc, #rsvt_tb, #rsvt_mb
{
	display: none;
	position: absolute;
	left: 0px;
	top: 0px;
	width: 1px;
	height: 1px;
}


#rsvt_pc
{
	display: block;
}






/* 現状、メディアクエリにCSS変数が使用できない */

@media ( max-width: 1480px )
{
	.pcbr, .mbbr
	{
		display: none;
	}
	
	
	.tbbr
	{
		display: block;
	}
	
	
	.pcil, .mbil
	{
		display: none;
	}
	
	
	.tbil
	{
		display: inline-block;
	}
	
	
	#rsvt_pc, #rsvt_mb
	{
		display: none;
	}
	
	
	#rsvt_tb
	{
		display: block;
	}
	
	
	#bodybox
	{
		min-width: var( --breakpoint01-cont-width );
	}
	
	
	header
	{
		/*width: calc( var( --breakpoint01-cont-width ) - ( var( --breakpoint01-margin ) * 2 ) );*/
	}
	
	
	.midbox, footer
	{
		/*width: calc( var( --breakpoint01-cont-width ) - ( var( --breakpoint01-margin ) * 2 ) );*/
	}
	
	
	#obione
	{
		width: var( --breakpoint01-cont-width );
	}
	
	
	#headlogo01
	{
		/*
		top: 12px;
		bottom: auto;
		*/
	}
	
	
	#headlogo01 .cnj01
	{
		
	}
	
	
	#hnavibox01
	{
		width: 260px;
		height: 120px;
	}
	
	
	#hnavicont01
	{
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}
	
	
	#htoi01
	{
		margin-top: 12px;
	}
	
	
	/*
	#menubox
	{
		width: 510px;
		font-size: 13px;
	}
	
	
	#menucont li
	{
		margin: 0 8px 0 8px;
	}
	*/
	
	.stcont
	{
		/*width: calc( var( --breakpoint01-cont-width ) - ( var( --breakpoint01-margin ) * 2 ) );*/
	}
	
	
	#toabox01
	{
		width: 100%;
	}
	
	
	#toacont01 p
	{
		/*
		font-size: 10.75px;
		line-height: 20px;
		*/
		font-size: 14px;
		line-height: 21px;
		letter-spacing: 0.06665em;
	}
	
	
	#footercore
	{
		width: calc( var( --breakpoint01-cont-width ) - ( var( --breakpoint01-margin ) * 2 ) );
	}
	
	
	#footcopy
	{
		
	}
}
