



:root
{
	--point-color: #7B5BA3;
	--point-color-hover: #A58FC0;
	--point-color-middle01: #ADB1D4;
	--point-color-middle02: #B0B4DA;
	--point-bg-color: #9696D2;
	--point-bg-color-light01: #DFE0F0;
	--point-bg-color-light02: #DADAEF;
	--point-bg-color-middle01: #ADB1D4;
	--point-bg-color-middle02: #B0B4DA;
}







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;
	background-color: #FFFFFF;
}


img
{
	margin: 0px;
	padding: 0px;
	border: 0px;
}




.cb
{
	clear: both;
}


.cb hr
{
	display: none;
}


.anc01
{
	display: block;
	width: 0px;
	height: 0px;
	line-height: 0px;
}













#bodybox
{
	position: relative;
	width: 100%;
	height: 100%;
	margin: 0px auto 0px auto;
	/*min-width: 1816px;*/
	max-width: 1816px;
	min-width: 1280px;
	overflow-x: hidden;
}


#headerbase
{
	position: relative;
	width: 100%;
	height: 500px;
	margin: 0px 0px 0px 0px;
}


header
{
	position: relative;
	width: 100%;
	height: calc( 100% - 2px );
	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: 100%;
	margin: 0px auto 0px auto;
	padding-top: 1px;
	padding-bottom: 1px;
}


#footerbase
{
	height: 721px;
}


footer
{
	height: calc( 100% - 2px );
	color: #595757;
}





















#obione
{
	display: block;
	position: relative;
	width: 100%;
	height: 192px;
	margin: -1px auto 0px auto;
	padding-top: 1px;
	padding-bottom: 1px;
	z-index: 1;
}


#obione::before
{
	content: '';
	display: block;
	position: absolute;
	left: -2048px;
	right: -2048px;
	top: 0px;
	margin: auto;
	width: 2048px;
	height: 100%;
	/*background-color: #9FD7EE;*/
	background-color: #FFFFFF;
}


#headlogo01
{
	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: start;
	-ms-flex-align: start;
	align-items: flex-start;
	-ms-flex-line-pack: start;
	align-content: flex-start;
	position: absolute;
	left: 32px;
	top: 97px;
	width: 380px;
	height: 50px;
	font-family: 'Noto Serif JP', serif;
	text-decoration: none;
	color: #595757;
	transition-duration: 150ms;
}


#headlogo01:hover
{
	opacity: 0.7;
}


#headlogo01 .cnj01
{
	display: block;
	position: relative;
	width: 195px;
	margin: 0px 0px 0px 0px;
	padding: 0px;
}


#headlogo01 .cnj01 img
{
	display: block;
	position: relative;
	width: 100%;
	border: 0px;
}


#headlogo01 .cnc01
{
	display: block;
	position: relative;
	margin: 9px 0px 0px 24px;
	padding: 0px;
	font-family: 'Zen Maru Gothic', sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 19px;
	text-align: left;
	vertical-align: top;
}


#menubox
{
	display: block;
	position: absolute;
	right: 32px;
	top: 132px;
	width: 900px;
	height: 24px;
	margin: 0px 0px 0px 0px;
}


#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;
	list-style: none;
	width: 100%;
	height: 100%;
	margin: 0px 0px 0px 0px;
	padding: 0px;
	font-family: 'Kaisei Tokumin', serif;
	-webkit-font-feature-settings: 'palt';
	font-feature-settings: 'palt';
}


#menucont li
{
	display: block;
	position: relative;
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	height: 100%;
	border-left: dotted 1px #000000;
}


#menucont li:first-of-type
{

}


#menucont li:last-of-type
{
	border-right: dotted 1px #000000;
}


#menucont li a
{
	display: block;
	position: relative;
	height: 24px;
	margin: 0px 0px 0px 0px;
	padding: 0px 34px 0px 34px;
	text-decoration: none;
	text-align: center;
	vertical-align: top;
	color: #595757;
	letter-spacing: 0.1em;
	transition-duration: 150ms;
}


#menucont li a:hover
{
	opacity: 0.7;
}


#menucont li a .mtj
{
	display: block;
	position: relative;
	margin: 0px auto 0px auto;
	padding: 0px;
	font-size: 15px;
	font-weight: 400;
	line-height: 24px;
}


#hnavibox
{
	display: block;
	position: absolute;
	right: 32px;
	top: 0px;
	width: 480px;
	height: 72px;
	margin: 0px 0px 0px 0px;
	padding: 0px;
	vertical-align: top;
}


#hnavicont
{
	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;
	margin: 0px 0px 0px 0px;
	padding: 0px;
}


#hnavicont li
{
	display: block;
	position: relative;
	margin: 0px 0px 0px 0px;
	padding: 0px;
	vertical-align: top;
}


#hnavicont li a
{
	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: 184px;
	height: 72px;
	margin: 0px 0px 0px 0px;
	padding: 0px;
	text-decoration: none;
	color: #FFFFFF;
	border-radius: 0px 0px 14px 14px;
	transition-duration: 150ms;
	will-change: transform;
}


#hnavicont li:nth-of-type(1) a
{
	background-color: #F29C9F;
}


#hnavicont li:nth-of-type(2) a
{
	background-color: #97B973;
}


#hnavicont li a:hover
{
	-webkit-filter: brightness( 110% );
	filter: brightness( 110% );
}


#hnavicont li .icon
{
	display: block;
	position: relative;
	border: 0px;
}


#hnavicont li:nth-of-type(1) .icon
{
	width: 12px;
	margin: 35px 7px 0px 0px;
}


#hnavicont li:nth-of-type(2) .icon
{
	width: 14px;
	margin: 37px 9px 0px 0px;
}


#hnavicont li .mtj
{
	display: block;
	position: relative;
	margin: 37px 0px 0px 0px;
	font-family: 'Barlow', sans-serif;
	font-size: 14px;
	line-height: 1em;
	letter-spacing: 0.075em;
}


#hnavicont li:nth-of-type(1) .mtj
{
	font-weight: 700;
}


#hnavicont li:nth-of-type(2) .mtj
{
	font-weight: 600;
}


.rtt01
{
	display: block;
	position: relative;
	width: 70px;
	height: 1em;
	margin: 82px auto 60px auto;
	padding-top: 38px;
	font-family: 'Poppins', sans-serif;
	font-size: 12px;
	font-weight: 400;
	line-height: 1em;
	text-decoration: none;
	text-align: center;
	vertical-align: top;
	color: #595757;
	letter-spacing: 0.1em;
	cursor: pointer;
	transition-duration: 150ms;
}


.rtt01:hover
{
	/*color: rgba( 240, 180, 0, 0.7 );*/
	opacity: 0.7;
}


.rtt01::before
{
	content: '';
	display: block;
	position: absolute;
	left: 0px;
	right: 0px;
	top: 0px;
	margin: auto;
	width: 0px;
	height: 29px;
	border-left: solid 1px #595757;
}


.rtt01::after
{
	content: '';
	display: block;
	position: absolute;
	left: 0px;
	right: 0px;
	top: 1px;
	margin: auto;
	width: 0px;
	height: 12px;
	border-left: solid 1px #595757;
	-webkit-transform-origin: center top;
	transform-origin: center top;
	-webkit-transform: rotate( -50deg );
	transform: rotate( -50deg );
}


#hbmenuplate
{
	display: block;
	position: fixed;
	/*top: -120vh;*/
	top: -140dvh;
	left: 0px;
	width: 480px;
	/*height: calc( 100vh - 2px );*/
	height: calc( 100dvh - 2px );
	padding-top: 1px;
	padding-bottom: 1px;
	background-color: #FFFFFF;
	-webkit-font-feature-settings: 'palt';
	font-feature-settings: 'palt';
	z-index: 2;
	transition-duration: 300ms;
	/*overscroll-behavior: none;*/
}


#hbmbtn
{
	display: none;
}


#hbmpheadbox
{
	display: block;
	position: relative;
	width: 100%;
	height: 130px;
	margin: -1px 0px 0px 0px;
}


#hbmlogo01
{
	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: start;
	-ms-flex-align: start;
	align-items: flex-start;
	-ms-flex-line-pack: start;
	align-content: flex-start;
	position: absolute;
	left: 24px;
	top: 56px;
	width: 320px;
	height: 40px;
	font-family: 'Noto Serif JP', serif;
	text-decoration: none;
	color: #595757;
}


#hbmlogo01:hover
{
	/*opacity: 0.7;*/
}


#hbmlogo01 .cnj01
{
	display: block;
	position: relative;
	width: 155px;
	margin: 0px 0px 0px 0px;
	padding: 0px;
}


#hbmlogo01 .cnj01 img
{
	display: block;
	position: relative;
	width: 100%;
	border: 0px;
}


#hbmlogo01 .cnc01
{
	display: block;
	position: relative;
	margin: 7px 0px 0px 17px;
	padding: 0px;
	font-family: 'Zen Maru Gothic', sans-serif;
	font-size: 13px;
	font-weight: 400;
	line-height: 15px;
	text-align: left;
	vertical-align: top;
}


#hbmpcont
{
	display: block;
	position: relative;
	margin: 0px 0px 0px 0px;
	padding-top: 1px;
	padding-bottom: 1px;
}


#hbmenubox
{
	display: block;
	position: relative;
	width: 364px;
	margin: 36px auto 0px auto;
	padding: 0px;
}


#hbmenucont
{
	display: block;
	position: relative;
	list-style: none;
	margin: 0px;
	padding: 0px;
}


#hbmenucont li
{
	display: block;
	position: relative;
	margin: 0px;
	padding: 0px;
	border-top: dotted 1px #000000;
}


#hbmenucont li:last-of-type
{
	border-bottom: dotted 1px #000000;
}


#hbmenucont li a
{
	display: block;
	position: relative;
	height: 52px;
	margin: 0px auto 0px auto;
	padding: 0px;
	text-decoration: none;
	color: #595757;
}


#hbmenucont li a .mtj
{
	display: block;
	position: relative;
	margin: 0px;
	padding: 0px;
	font-family: 'Kaisei Tokumin', serif;
	font-size: 19px;
	font-weight: 400;
	line-height: 52px;
	text-align: center;
	vertical-align: top;
	letter-spacing: 0.1em;
}


#hbmpfootbox
{
	display: block;
	position: relative;
	width: 100%;
	margin: 38px 0px 0px 0px;
}


#hbmpnavibox
{
	display: block;
	position: relative;
	width: 364px;
	margin: 0px auto 0px auto;
}


#hbmpnavicont
{
	display: block;
	position: relative;
	list-style: none;
	margin: 0px 0px 0px 0px;
	padding: 0px;
}


#hbmpnavicont li
{
	display: block;
	position: relative;
	margin: 8px auto 0px auto;
	padding: 0px;
}


#hbmpnavicont li a
{
	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;
	width: 100%;
	height: 70px;
	margin: 0px 0px 0px 0px;
	padding: 0px;
	text-decoration: none;
	color: #FFFFFF;
	border-radius: 35px;
}


#hbmpnavicont li:nth-of-type(1) a
{
	background-color: #F29C9F;
}


#hbmpnavicont li:nth-of-type(2) a
{
	background-color: #97B973;
}


#hbmpnavicont li.icon
{
	display: block;
	position: relative;
	border: 0px;
}


#hbmpnavicont li:nth-of-type(1) .icon
{
	width: 14px;
}


#hbmpnavicont li:nth-of-type(2) .icon
{
	width: 18px;
}


#hbmpnavicont li .mtj
{
	display: block;
	position: relative;
	font-family: 'Barlow', sans-serif;
	font-size: 18px;
	line-height: 1em;
	text-align: center;
	vertical-align: top;
	letter-spacing: 0.075em;
}


#hbmpnavicont li:nth-of-type(1) .mtj
{
	font-weight: 700;
	margin-left: 8px;
}


#hbmpnavicont li:nth-of-type(2) .mtj
{
	font-weight: 600;
	margin-left: 11px;
}













.stcont
{
	display: block;
	position: relative;
	width: 100%;
	max-width: 1638px;
	margin: 145px auto 125px auto;
	-webkit-font-feature-settings: 'palt';
	font-feature-settings: 'palt';
}


.stbox
{
	display: block;
	position: relative;
	width: 400px;
	height: 62px;
	margin: 0px auto 0px auto;
	font-family: 'Kaisei Tokumin', serif;
	color: #575757;
}


.stbox .stj
{
	display: block;
	position: relative;
	height: 1em;
	margin: 0px auto 0px auto;
	font-size: 30px;
	font-weight: 400;
	line-height: 1em;
	text-align: center;
	vertical-align: top;
	letter-spacing: 0.1em;
}


.stbox .ste
{
	display: block;
	position: relative;
	height: 1em;
	margin: 10px auto 0px auto;
	font-size: 13px;
	font-weight: 400;
	line-height: 1em;
	text-align: center;
	vertical-align: top;
	letter-spacing: 0.1em;
}


.stbox.wht
{
	color: #FFFFFF;
}


.stbox02
{
	display: block;
	position: relative;
	width: 460px;
	margin: 0px auto 0px auto;
	padding-top: 1px;
	padding-bottom: 1px;
	font-family: 'Kaisei Tokumin', serif;
	text-align: center;
	vertical-align: top;
	color: #595757;
}


.stbox02 .ib
{
	display: block;
	position: relative;
	width: 60px;
	height: 45px;
	margin: 0px auto 0px auto;
	color: var( --page-point-color );
}


.stbox02 .ib img, .stbox02 .ib svg
{
	display: block;
	position: absolute;
	left: -2048px;
	right: -2048px;
	top: -2048px;
	bottom: -2048px;
	margin: auto;
	height: 100%;
	border: 0px;
}


.stbox02 .stj
{
	display: inline-block;
	position: relative;
	height: 1em;
	margin: 25px auto 0px auto;
	padding: 0px 4px 4px 4px;
	font-size: 25px;
	font-weight: 300;
	line-height: 1em;
	text-align: center;
	vertical-align: top;
	letter-spacing: 0.1em;
	z-index: 0;
}


.stbox02 .stj::before
{
	content: '';
	display: block;
	position: absolute;
	left: -2048px;
	right: -2048px;
	bottom: 0px;
	margin: auto;
	width: 100%;
	height: 0px;
	border-bottom: solid 9px var( --page-point-color-light01 );
	opacity: 0.5;
	z-index: -1;
}


.stbox02.wht
{
	color: #FFFFFF;
}


.cbannerbase
{
	background-color: #F7F7F7;
}


.cbannerbox
{
	height: 351px;
}


.cbannercont
{
	display: block;
	position: relative;
	width: 1020px;
	height: 167px;
	margin: 77px auto 0px auto;
}


.cbanner
{
	display: block;
	position: absolute;
	top: 0px;
	width: 500px;
	height: 167px;
	text-decoration: none;
	background-color: #FFFFFF;
}


.cbanner img
{
	display: block;
	position: relative;
	width: 100%;
	border: 0px;
	transition-duration: 150ms;
}


.cbanner:hover img
{
	opacity: 0.7;
}


.cbarrow_l, .cbarrow_r
{
	display: block;
	position: absolute;
	bottom: -29px;
	width: 58px;
	height: 58px;
	border-radius: 50%;
	background-color: var( --point-color );
	cursor: pointer;
	transition-duration: 150ms;
}


.cbarrow_l:hover, .cbarrow_r:hover
{
	background-color: var( --point-color-hover );
}


.cbarrow_l
{
	left: -130px;
}


.cbarrow_r
{
	right: -130px;
}


.cbarrow_l::before, .cbarrow_r::before
{
	content: '';
	display: block;
	position: absolute;
	top: -100px;
	bottom: -100px;
	margin: auto;
	width: 13px;
	height: 0px;
	border-top: solid 2px #FFFFFF;
}


.cbarrow_l::before
{
	left: -100px;
	right: -106px;
}


.cbarrow_r::before
{
	left: -106px;
	right: -100px;
}


.cbarrow_l::after, .cbarrow_r::after
{
	content: '';
	display: block;
	position: absolute;
	top: -100px;
	bottom: -100px;
	margin: auto;
	width: 0px;
	height: 0px;
	border-top: solid 4px transparent;
	border-bottom: solid 4px transparent;
}


.cbarrow_l::after
{
	left: -110px;
	right: -100px;
	border-right: solid 6px #FFFFFF;
}


.cbarrow_r::after
{
	left: -100px;
	right: -110px;
	border-left: solid 6px #FFFFFF;
}


#midfootbase
{
	margin-bottom: -1px;
}


#mfcore
{
	display: block;
	position: relative;
	margin: 142px auto 54px auto;
}


#mfbannerbox
{
	display: block;
	position: relative;
	margin: 0px auto 0px auto;
	-webkit-font-feature-settings: 'palt';
	font-feature-settings: 'palt';
}


#mfbannercont
{
	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;
	list-style: none;
	max-width: 1300px;
	/*height: 220px;*/
	height: auto;
	margin: 0px auto 0px auto;
	padding: 0px 20px 0px 20px;
}


#mfbannercont li
{
	display: block;
	position: relative;
	/*margin: 0px 9px 0px 9px;*/
	margin: 9px auto 9px auto;
	padding: 0px;
	vertical-align: top;
}


.mfbanner
{
	display: block;
	position: relative;
	width: 640px;
	height: 218px;
	margin: 0px auto 0px auto;
	padding-top: 1px;
	padding-bottom: 1px;
	text-decoration: none;
	color: #FFFFFF;
	border-radius: 15px;
	overflow: hidden;
	transition-duration: 150ms;
	will-change: transform;
}


.mfbanner:hover
{
	opacity: 0.8;
}


@media ( max-width: 1330px )
{
	.mfbanner
	{
		margin: 0px -24px 0px -24px;
		-webkit-transform: scale( 0.95 );
		transform: scale( 0.95 );
	}
}

/*
#mfbannercont li:nth-of-type(odd)
{
	margin-left: 0px;
}


#mfbannercont li:nth-of-type(even)
{
	margin-right: 0px;
}
*/

.mfbanner .ib
{
	display: block;
	position: absolute;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	overflow: hidden;
	will-change: transform;
}


.mfbanner .ib img, .mfbanner .ib svg
{
	display: block;
	position: absolute;
	left: -2048px;
	right: -2048px;
	top: -2048px;
	bottom: -2048px;
	margin: auto;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition-duration: 500ms;
	/*z-index: 0;*/
}


#mfbi02 .ib::after
{
	content: '';
	display: block;
	position: absolute;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	background-color: #F0908A;
	opacity: 0.9;
	/*z-index: 1;*/
	transition-duration: 500ms;
}


#mfbi02:hover .ib::after
{
	opacity: 0.5;
}


.mfbanner .bcb
{
	display: block;
	position: relative;
	width: 100%;
	height: calc( 100% - 2px );
	margin: 0px auto 0px auto;
	padding-top: 1px;
	padding-bottom: 1px;
}


#mfbi01 .hl01
{
	display: block;
	position: relative;
	margin: 49px auto 0px auto;
	font-family: 'Kaisei Tokumin', serif;
	font-size: 23px;
	font-weight: 400;
	line-height: 1em;
	text-align: center;
	vertical-align: top;
	letter-spacing: -0.075em;
}


#mfbi01 .hl02
{
	display: block;
	position: relative;
	margin: 5px auto 0px auto;
	font-family: 'Kaisei Tokumin', serif;
	font-size: 43px;
	font-weight: 400;
	line-height: 1em;
	text-align: center;
	vertical-align: top;
	letter-spacing: -0.075em;
}


#mfbi01 .hl03
{
	display: block;
	position: relative;
	margin: 15px auto 0px auto;
	font-family: 'M PLUS 1', sans-serif;
	font-size: 10px;
	font-weight: 400;
	line-height: 13px;
	text-align: center;
	vertical-align: top;
}


.mfbanner .kwskbtn
{
	display: block;
	position: relative;
	width: 100px;
	height: 22px;
	font-family: 'M PLUS 1', sans-serif;
	font-size: 10px;
	font-weight: 700;
	line-height: 22px;
	text-align: center;
	vertical-align: top;
	background-color: #FFFFFF;
	border-radius: 11px;
	letter-spacing: 0.1em;
}


#mfbi01 .kwskbtn
{
	margin: 16px auto 0px auto;
	color: #F08300;
}


#mfbi02 .hl01
{
	display: block;
	position: relative;
	margin: 65px auto 0px auto;
	font-family: 'Kaisei Tokumin', serif;
	font-size: 15px;
	font-weight: 400;
	line-height: 1em;
	text-align: center;
	vertical-align: top;
	letter-spacing: 0.025em;
}


#mfbi02 .hl02
{
	display: block;
	position: relative;
	margin: 6px auto 0px auto;
	font-family: 'Kaisei Tokumin', serif;
	font-size: 49px;
	font-weight: 700;
	line-height: 1em;
	text-align: center;
	vertical-align: top;
	letter-spacing: -0.075em;
}


#mfbi02 .hl03
{
	display: block;
	position: relative;
	margin: 14px auto 0px auto;
	font-family: 'M PLUS 1', sans-serif;
	font-size: 10px;
	font-weight: 400;
	line-height: 1em;
	text-align: center;
	vertical-align: top;
	letter-spacing: 0.1em;
}


#mfbi02 .kwskbtn
{
	position: absolute;
	right: 15px;
	bottom: 12px;
	color: #C45960;
}


#mftoibox
{
	display: block;
	position: relative;
	width: 810px;
	margin: 182px auto 0px auto;
	padding-top: 68px;
	padding-bottom: 86px;
	font-family: 'Kaisei Tokumin', serif;
	color: #595757;
	background-color: rgba( 247, 200, 206, 0.2 );
	border-radius: 40px;
}


.gyoku
{
	display: block;
	position: absolute;
	left: -2048px;
	right: -2048px;
	margin: auto;
}


#gyoku_mftoi
{
	top: -54px;
	width: 98px;
}


#stb_mftoi
{
	color: #F29C9F;
}


#mftoibox .hl01
{
	display: block;
	position: relative;
	margin: 53px auto 0px auto;
	font-size: 19px;
	font-weight: 400;
	line-height: 1em;
	text-align: center;
	vertical-align: top;
	letter-spacing: 0.1em;
}


#mftoibox .hl01 span
{
	font-size: 0.9em;
}


#mftoibox .telline
{
	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: 540px;
	height: 60px;
	margin: 28px auto 0px auto;
	text-decoration: none;
	color: #595757;
	transition-duration: 150ms;
}


#mftoibox .telline:hover
{
	opacity: 0.7;
}


#mftoibox .telline .icon
{
	display: block;
	position: relative;
	width: 46px;
	border: 0px;
}


#mftoibox .telline .tel
{
	display: block;
	position: relative;
	margin: 0px 0px 0px 15px;
	font-family: 'Poppins', sans-serif;
	font-size: 65px;
	font-weight: 600;
	line-height: 60px;
	text-align: center;
	vertical-align: top;
	letter-spacing: 0.005em;
}


#mftoibox .mailline
{
	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: 388px;
	height: 80px;
	margin: 33px auto 0px auto;
	text-decoration: none;
	color: #FFFFFF;
	background-color: #F29C9F;
	border-radius: 10px;
	transition-duration: 150ms;
	will-change: transform;
}


#mftoibox .mailline:hover
{
	-webkit-filter: brightness( 110% );
	filter: brightness( 110% );
}


#mftoibox .mailline .icon
{
	display: block;
	position: relative;
	width: 34px;
	margin: 30px 0px 0px 0px;
	border: 0px;
}


#mftoibox .mailline .mail
{
	display: block;
	position: relative;
	margin: 29px 0px 0px 11px;
	font-family: 'Zen Old Mincho', serif;
	font-size: 18px;
	font-weight: 600;
	line-height: 24px;
	text-align: center;
	vertical-align: top;
	letter-spacing: 0.005em;
}


#mftoibox .hl02
{
	display: block;
	position: relative;
	margin: 36px auto 0px auto;
	font-size: 17px;
	font-weight: 400;
	line-height: 1em;
	text-align: center;
	vertical-align: top;
	letter-spacing: 0.1em;
}








#footercore
{
	display: block;
	position: relative;
	width: 100%;
	margin: 47px auto 0px auto;
}


#footlogo01
{
	display: block;
	position: relative;
	width: 280px;
	height: 123px;
	margin: 0px auto 0px auto;
	padding: 0px;
	text-decoration: none;
	text-align: center;
	vertical-align: top;
	color: #595757;
	will-change: transform;
	transition-duration: 150ms;
}


#footlogo01 .mark01
{
	display: block;
	position: absolute;
	right: 0px;
	top: 0px;
	width: 126px;
}


#footlogo01 .logo01 img, #footlogo01 .logo01 svg
{
	display: block;
	position: relative;
	width: 100%;
	border: 0px;
}


#footlogo01 .cnj01
{
	display: block;
	position: absolute;
	left: 0px;
	bottom: 5px;
	width: 214px;
}


#footlogo01 .cnj01 img, #footlogo01 .cnj01 svg
{
	display: block;
	position: relative;
	width: 100%;
	border: 0px;
}


#footlogo01:hover
{
	/*opacity: 0.7;*/
	/*
	-webkit-filter: drop-shadow( 0px 0px 4px rgba( 255, 255, 255, 0.8 ) );
	filter: drop-shadow( 0px 0px 4px rgba( 255, 255, 255, 0.8 ) );
	*/

	-webkit-filter: brightness( 110% );
	filter: brightness( 110% );

}


#footinfo01
{
	display: block;
	position: relative;
	width: 410px;
	margin: 35px auto 0px auto;
	text-align: center;
	color: #595757;
}


#footinfo01 .addr
{
	display: block;
	position: relative;
	margin: 0px auto 0px auto;
	font-family: 'Kaisei Tokumin', serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 1em;
	text-align: center;
	vertical-align: top;
	letter-spacing: 0.1em;
}


#footinfo01 .tel
{
	display: block;
	position: relative;
	margin: 11px auto 0px auto;
	font-family: 'Poppins', sans-serif;
	font-size: 42px;
	font-weight: 600;
	line-height: 1em;
	text-decoration: none;
	text-align: center;
	vertical-align: top;
	color: #595757;
	letter-spacing: -0.01em;
	transition-duration: 150ms;
}


#footinfo01 .tel:hover
{
	opacity: 0.7;
}


#footinfo01 .fax
{
	display: block;
	position: relative;
	margin: 0px auto 0px auto;
	font-family: 'Poppins', sans-serif;
	font-size: 21px;
	font-weight: 600;
	line-height: 1em;
	text-align: center;
	vertical-align: top;
	letter-spacing: -0.01em;
}


#footmenubox
{
	display: block;
	position: relative;
	width: 960px;
	height: 24px;
	margin: 86px auto 0px auto;
}


.footmenucont
{
	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;
	list-style: none;
	margin: 0px auto 0px auto;
	padding: 0px;
	font-family: 'Kaisei Tokumin', serif;
	-webkit-font-feature-settings: 'palt';
	font-feature-settings: 'palt';
}


.footmenucont li
{
	display: block;
	position: relative;
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	height: 100%;
	border-left: dotted 1px #000000;
}


.footmenucont li:last-of-type
{
	border-right: dotted 1px #000000;
}


.footmenucont li a
{
	display: block;
	position: relative;
	height: 20px;
	margin: 0px 0px 0px 0px;
	padding: 0px 34px 0px 34px;
	text-decoration: none;
	text-align: center;
	vertical-align: top;
	color: #595757;
	letter-spacing: 0.1em;
	transition-duration: 150ms;
}


.footmenucont li a:hover
{
	opacity: 0.7;
}


.footmenucont li a .mtj
{
	display: block;
	position: relative;
	margin: 0px auto 0px auto;
	padding: 0px;
	font-size: 13px;
	font-weight: 400;
	line-height: 24px;
}


footer .rtt01
{
	margin-top: 98px;
	margin-bottom: 0px;
}


#fnavibox
{
	display: block;
	position: relative;
	width: 410px;
	margin: 54px auto 0px auto;
}


#fnavicont
{
	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;
	list-style: none;
	margin: 0px auto 0px auto;
	padding: 0px;
	font-family: 'M PLUS 1', sans-serif;
}


#fnavicont li
{
	display: block;
	position: relative;
	margin: 0px 24px 0px 24px;
	padding: 0px;
}


#fnavicont li a
{
	display: block;
	position: relative;
	margin: 0px 0px 0px 0px;
	font-size: 13px;
	font-weight: 400;
	line-height: 1em;
	text-decoration: none;
	text-align: center;
	vertical-align: top;
	color: #595757;
	letter-spacing: 0.05em;
	transition-duration: 150ms;
}


#fnavicont li a:hover
{
	opacity: 0.7;
}


#footcopy
{
	display: inline-block;
	position: absolute;
	left: -2048px;
	right: -2048px;
	bottom: 45px;
	margin: auto;
	font-family: 'Zen Maru Gothic', sans-serif;
	font-size: 13px;
	font-weight: 400;
	line-height: 1em;
	text-align: center;
	vertical-align: top;
	-webkit-font-feature-settings: 'palt';
	font-feature-settings: 'palt';
	letter-spacing: 0.1em;
}


.interphbox01
{
	display: block;
	position: relative;
	width: 100%;
	height: 377px;
	margin: 0px auto 0px auto;
}


.interphbox01 .ib
{
	display: block;
	position: absolute;
	left: -2048px;
	right: -2048px;
	top: -2048px;
	bottom: -2048px;
	margin: auto;
	width: 1920px;
	height: 100%;
	overflow: hidden;
}


.interphbox01 .ib .interph
{
	display: block;
	position: absolute;
	left: -2048px;
	right: -2048px;
	top: -2048px;
	bottom: -2048px;
	margin: auto;
	width: 100%;
	height: 100%;
	object-fit: cover;
}


#ntbox01
{
	display: block;
	position: relative;
	width: 1268px;
	margin: 0px auto 0px auto;
	padding: 118px 0px 115px 0px;
	z-index: 0;
}


#ntbox01::before
{
	content: '';
	display: block;
	position: absolute;
	left: -2048px;
	right: -2048px;
	top: 0px;
	margin: auto;
	width: 3072px;
	height: 100%;
	background-color: #F29C9F;
}


#ntlistlink
{
	display: block;
	position: absolute;
	right: 0px;
	top: 172px;
	width: 146px;
	height: 1em;
	font-family: 'Kaisei Tokumin', sans-serif;
	font-size: 12px;
	font-weight: 400;
	line-height: 1em;
	text-decoration: none;
	text-align: left;
	vertical-align: top;
	color: #FFFFFF;
	letter-spacing: 0.15em;
	transition-duration: 150ms;
}


#ntlistlink:hover
{
	-webkit-filter: drop-shadow( 0px 0px 2px rgba( 255, 255, 255, 1.0 ) );
	filter: drop-shadow( 0px 0px 2px rgba( 255, 255, 255, 1.0 ) );
}


#ntlistlink::before, #ntlistlink::after
{
	content: '';
	display: block;
	position: absolute;
	right: 0px;
	width: 0px;
	height: 5px;
	border-left: solid 2px #FFFFFF;
}


#ntlistlink::before
{
	bottom: 50%;
	-webkit-transform-origin: right bottom;
	transform-origin: right bottom;
	-webkit-transform: skewX( 42deg );
	transform: skewX( 42deg );
}


#ntlistlink::after
{
	top: 50%;
	-webkit-transform-origin: right top;
	transform-origin: right top;
	-webkit-transform: skewX( -42deg );
	transform: skewX( -42deg );
}


#ntcont01
{
	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: start;
	-ms-flex-align: start;
	align-items: flex-start;
	-ms-flex-line-pack: start;
	align-content: flex-start;
	position: relative;
	width: 100%;
	height: 340px;
	margin: 70px auto 0px auto;
	/*background-color: #CCFFFF;*/
}


.ntitem
{
	display: block;
	position: relative;
	width: 296px;
	height: 340px;
	margin: 0px 14px 0px 14px;
	text-decoration: none;
	color: #FFFFFF;
	vertical-align: top;
	transition-duration: 150ms;
}


.ntitem:nth-of-type(4n-3)
{
	margin-left: 0px;
}


.ntitem:nth-of-type(4n)
{
	margin-right: 0px;
}


.ntitem .ib
{
	display: block;
	position: relative;
	width: 296px;
	height: 190px;
	overflow: hidden;
}


.ntitem .ib img
{
	display: block;
	position: absolute;
	left: -2048px;
	right: -2048px;
	top: -2048px;
	bottom: -2048px;
	margin: auto;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border: 0px;
	transition-duration: 500ms;
}


.ntitem:hover .ib img
{
	-webkit-transform: scale( 1.1 );
	transform: scale( 1.1 );
}


.ntitem .info
{
	display: block;
	position: relative;
	margin: 23px 0px 0px 0px;
	transition-duration: 150ms;
}


.ntitem:hover .info
{
	opacity: 0.7;
}


.ntitem .idg
{
	display: block;
	position: relative;
	margin: 0px auto 0px auto;
	font-family: 'Kaisei Tokumin', sans-serif;
	font-size: 11px;
	font-weight: 400;
	line-height: 1em;
	text-align: left;
	vertical-align: top;
	letter-spacing: 0.1em;
}


.ntitem .it
{
	display: block;
	position: relative;
	margin: 18px 0px 0px 0px;
	font-family: 'Kaisei Tokumin', sans-serif;
	font-size: 19px;
	font-weight: 400;
	line-height: 1.4em;
	text-align: left;
	vertical-align: top;
}


.ntitem .ic
{
	display: block;
	position: relative;
	margin: 8px 0px 0px 0px;
	font-family: 'M PLUS 1', sans-serif;
	font-size: 11px;
	font-weight: 400;
	line-height: 20px;
	text-align: justify;
	text-justify: inter-ideograph;
	vertical-align: top;
	letter-spacing: 0.05em;
}










.pcbr
{
	display: block;
}


.mbbr
{
	display: none;
}


.pcil
{
	display: inline-block;
}


.mbil
{
	display: none;
}





#rsvt_pc
{
	display: block;
	position: absolute;
	left: 0px;
	top: 0px;
	width: 1px;
	height: 1px;
}


#rsvt_m
{
	display: none;
	position: absolute;
	left: 0px;
	top: 0px;
	width: 1px;
	height: 1px;
}






/* #region c =================================== */
.c-pdf-btn01 {
	display: block;
	position: relative;
	max-width: 322px;
	height: 62px;
	padding: 0 76px 0 76px;
	margin: 0 auto;
	border-radius: 33px;
	border: solid 2px rgba( 252, 156, 159, 0.4 );
	background-color: #FFFFFF;
	color: #595757;
	text-decoration: none;
	font-family: 'M PLUS 1', sans-serif;
	font-weight: 500;
	font-size: 13px;
	line-height: 62px;
	letter-spacing: 0.1em;
	transition-duration: 150ms;
	will-change: transform;
}
.c-pdf-btn01::before {
	content: url(../images/common/icon-pdf.svg);
	display: inline-block;
	position: absolute;
	left: 43px;
	top: 0px;
	bottom: 0px;
	margin: auto;
	width: 19px;
	height: 23px;
	line-height: 1;
}
.c-pdf-btn01::after {
	content: '';
	position: absolute;
	right: 40px;
	top: 50%;
	width: 8px;
	height: 8px;
	border-top: 2px solid #F29C9F;
	border-right: 2px solid #F29C9F;
	transform: translateY(-50%) rotate(45deg);
}
.c-pdf-btn01:hover {
	filter: brightness( 110% );
}
.c-pdf-btn01:hover span {
	opacity: 0.7;
}

.c-pdf-btn01.blue {
	border-color: rgba( 140, 188, 230, 0.4 );
}
.c-pdf-btn01.blue::before {
	content: url(../images/common/icon-pdf-blue.svg);
}
.c-pdf-btn01.blue::after {
	border-color: #5B98D2;
}

/* #endregion c -------------------------------- */