



:root {
	--main-bg-color: #FFFEEE;
	--plate-bg-color: #FFED61;
	--footer-bg-color: #00C382;
	--point-color01: #00B2C3;
	--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: 1360px; /* 1512px; */
	--breakpoint-pc-cont-width: 1280px; /* 1512px; */
	--breakpoint-pc-margin: 40px;
	--breakpoint-pc-obione-height: 126px;
	
	--breakpoint-mb-width: 960px;
	--breakpoint-mb-cont-width: 480px;
	--breakpoint-mb-margin: 30px;
	--breakpoint-mb-obione-height: 510px;
}






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: 'Shippori Mincho', serif;
	font-size: 12px;
	font-weight: 400;
	color: #231815;
	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: var( --breakpoint-pc-width );
	height: auto;
	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%;*/
	width: var( --breakpoint-pc-width );
	margin: 0px auto 0px auto;
	padding-top: 1px;
	padding-bottom: 1px;
}


#footerbase
{
	height: auto;
}


footer
{
	height: auto;
	min-height: 120px;
	padding-bottom: 123px;
}






.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;
}












#obione
{
	display: block;
	position: relative;
	margin: 0 auto 0 auto;
	width: var( --breakpoint-pc-cont-width );
	height: 124px;
	padding-top: 1px;
	padding-bottom: 1px;
	mix-blend-mode: multiply;
	/*background-color: #FFFFFF;*/
	z-index: 99999;
}

/*
#obione::before
{
	content: '';
	display: block;
	position: absolute;
	left: -2048px;
	right: -2048px;
	top: 0;
	margin: auto;
	width: 100vw;
	height: 100%;
	background-color: #FFFFFF;
}
*/

#headlogo01
{
	display: block;
	position: absolute;
	left: 76px;
	top: 127px;
	width: 180px;
	height: 158px;
	text-decoration: none;
	cursor: pointer;
	will-change: transform;
}


#headlogo01:hover
{
	opacity: 0.7;
	transition-duration: 150ms;
}


#headlogo01 .logo01
{
	display: block;
	position: relative;
	width: 126px;
	height: auto;
	margin: 0 auto 0 auto;
	vertical-align: top;
	/*background-color: #CCEEFF;*/
}


#headlogo01 .logo01 img, #headlogo01 .logo01 svg
{
	display: block;
	position: relative;
	width: auto;
	width: 100%;
	border: 0;
}


#headlogo01 .cnj01
{
	display: block;
	position: relative;
	width: 100%;
	height: auto;
	margin: 10px auto 0 auto;
	vertical-align: top;
	/*background-color: #CCEEFF;*/
}


#headlogo01 .cnj01 img, #headlogo01 .cnj01 svg
{
	display: block;
	position: relative;
	width: 100%;
	height: auto;
	border: 0;
}




#menubox
{
	display: block;
	position: absolute;
	right: 109px;
	top: 0;
	bottom: 0;
	margin: auto;
	font-size: 24px;
	width: 840px;
	height: 2em;
	will-change: transform;
	/*background-color: #CCFFCC;*/
}


#menucont
{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
	-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%;
	height: 100%;
	margin: 0 0 0 auto;
	padding: 0;
	list-style: none;
	will-change: transform;
}


#menucont li
{
	display: inline-block;
	position: relative;
	margin: 0 45px 0 45px;
	padding: 0;
	height: 100%;
	vertical-align: top;
}


#menucont li:first-of-type
{
	margin-left: 0;
}


#menucont li:last-of-type
{
	margin-right: 0;
}


#menucont li a
{
	display: block;
	position: relative;
	margin: 0 0 0 0;
	padding: 0;
	height: 2em;
	text-decoration: none;
	text-align: center;
	vertical-align: top;
	color: inherit;
	transition-duration: 150ms;
	will-change: transform;
}


#menucont li a:hover
{
	opacity: 0.7;
}


#menucont li a .mtj
{
	display: block;
	position: relative;
	font-weight: 400;
	line-height: 2em;
	text-align: center;
	vertical-align: top;
	letter-spacing: 0.1em;
}


#mibox01
{
	display: block;
	position: absolute;
	left: 28px;
	top: 456px;
	width: 264px;
	height: auto;
	mix-blend-mode: multiply;
}


#mainillust01
{
	display: block;
	position: relative;
	width: 100%;
	height: auto;
	mix-blend-mode: multiply;
}


#mainillust01 img
{
	display: block;
	position: relative;
	width: 100%;
	height: auto;
	border: 0;
	mix-blend-mode: multiply;
}


#herobox01
{
	display: block;
	position: relative;
	width: 70%;
	max-width: 1344px;
	height: auto;
	margin: 0 0 0 auto;
}


#herocont01
{
	display: block;
	position: relative;
	width: 100%;
	height: auto;
	margin: 0 auto 0 auto;
}


#mainphoto01
{
	display: block;
	position: relative;
	width: 100%;
	border: 0;
}







.stcont
{
	display: block;
	position: relative;
	width: 70%;
	max-width: 1344px;
	margin: 100px 0 100px auto;
	padding-top: 1px;
	padding-bottom: 1px;
	/*padding-left: 15vw;*/
	/*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 0 0 0;
	text-align: left;
	vertical-align: top;
}


.stbox01 .stj
{
	display: block;
	position: relative;
	margin-block: calc( ( 1em - 1lh ) / 2 );
	font-size: 38px;
	font-weight: 400;
	line-height: 1.4em;
	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: 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;
	margin: 0 auto 0 auto;
	width: 300px;
	height: 48px;
	text-decoration: none;
	cursor: pointer;
	will-change: transform;
}


#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: block;
	position: relative;
	width: 240px;
	height: auto;
	margin-top: 4px;
	vertical-align: top;
}


#footlogo01 .cnj01 img, #footlogo01 .cnj01 svg
{
	display: block;
	position: relative;
	width: 100%;
	height: auto;
	border: 0;
}


#finfoc01
{
	display: block;
	position: relative;
	margin: 18px 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;
}






#footcopy
{
	display: block;
	position: absolute;
	left: -2048px;
	right: -2048px;
	bottom: 62px;
	margin: auto;
	width: 300px;
	font-size: 14px;
	font-weight: 400;
	line-height: 1em;
	text-align: center;
	vertical-align: top;
	letter-spacing: 0.1em;
}










/*
#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;
}




