













:root {
	--bp-mb-width: 480px;
	--bp-mb-margin: 25px;
	/* --bp-mb-cont-width: 430px; */
	--bp-mb-cont-width: calc( var( --bp-mb-width ) - var( --bp-mb-margin ) - var( --bp-mb-margin ) );
}



@media ( max-width: 640px )
{
	body
	{
		-webkit-text-size-adjust: 100%;
		width: var( --bp-mb-width );
		min-width: var( --bp-mb-width );
		margin: 0 auto 0 auto;
	}
	
	
	.anc01
	{
		transform: translate( 0, -111px );
	}
	
	
	#bodybox
	{
		width: var( --bp-mb-width );
		min-width: var( --bp-mb-width );
	}
	
	
	#headerbase
	{
		width: var( --bp-mb-width );
		height: 313px;
		margin-top: 112px;
		overflow: visible;
	}
	
	
	#headerbase::before
	{
		content: '';
		display: block;
		position: absolute;
		left: 0;
		top: -112px;
		width: 100%;
		height: 112px;
		background-color: #FFFFFF;
	}
	
	
	header
	{
		width: var( --bp-mb-width );
	}
	
	
	.midbase
	{
		width: var( --bp-mb-width );
	}
	
	
	.midbox
	{
		width: var( --bp-mb-width );
	}
	
	
	#footerbase
	{
		width: var( --bp-mb-width );
	}
	
	
	footer
	{
		width: var( --bp-mb-width );
		/*padding-bottom: 60px;*/
	}
	
	
	.rtt01
	{
		width: 86px;
		margin: 80px auto 0px auto;
		padding-top: 47px;
		font-size: 15px;
	}
	
	
	.rtt01::before
	{
		height: 38px;
	}
	
	
	.rtt01::after
	{
		height: 16px;
	}
	
	
	footer .rtt01
	{
		bottom: 176px;
	}
	
	
	#hnavibox
	{
		display: none;
	}
	
	
	#obione
	{
		position: fixed;
		top: 0px;
		width: var( --bp-mb-width );
		height: 110px;
		margin: 0 0 0 0;
		background-color: rgba( 255, 255, 255, 0.9 );
		border-radius: 0;
		box-shadow: none;
		z-index: 3;
	}
	
	
	#headlogo01
	{
		left: 37px;
		top: 45px;
		/*
		width: 311px;
		height: 42px;
		*/
		-webkit-transform-origin: left top;
		transform-origin: left top;
		transform: scale( 0.9375 );
	}
	
	
	#headlogo01 .logo01
	{
		
	}
	
	
	#headlogo01 .cnj01
	{
		/*
		width: 250px;
		margin-top: 5px;
		*/
	}
	
	
	#menubox
	{
		display: none;
	}
	
	
	#htfbtn01
	{
		display: none;
	}
	
	
	
	
	
	
	.stcont
	{
		width: var( --bp-mb-cont-width );
		margin: 80px auto 80px auto;
	}
	
	
	.stbox01
	{
		
	}
	
	
	.stbox01 .ste
	{
		font-size: 54px;
	}
	
	
	.stbox01 .stj
	{
		font-size: 25px;
	}
	
	
	.stbox02
	{
		
	}
	
	
	.stbox02 .stj
	{
		font-size: 34px;
	}
	
	
	
	
	#mfcatchbase01
	{
		height: auto;
	}
	
	/*
	#fcbg01
	{
		width: 1300px;
	}
	*/
	
	#mfcatchbox01
	{
		margin-top: 78px;
	}
	
	
	#mfcatch01
	{
		font-size: 28px;
		line-height: 44px;
	}
	
	
	#mfctbox01
	{
		width: 412px;
		margin-top: 39px;
	}
	
	
	#mfctcont01
	{
		display: block;
	}
	
	
	.mfctitem
	{
		/*
		width: 100%;
		height: 90px;
		*/
		width: 100%;
		height: 130px;
		margin: 20px auto 0 auto;
		border-radius: 26px;
	}
	
	
	.mfctitem:first-of-type
	{
		margin-top: 0;
	}
	
	
	#mftel01
	{
		margin-top: 37px;
		font-size: 44px;
	}
	
	
	#mftel01 span
	{
		font-size: 29px;
		line-height: 44px;
	}
	
	
	#mftsh01
	{
		margin-top: 3px;
		font-size: 13px;
	}
	
	
	#mftc01
	{
		height: 30px;
		margin-top: 51px;
	}
	
	
	#mftc01 .icon
	{
		height: 30px;
		margin-top: 0;
	}
	
	
	#mftc01 .it
	{
		margin-left: 10px;
		/*margin-top: 1px;*/
		font-size: 27px;
	}
	
	
	
	
	
	
	#mfcont01
	{
		margin-top: 54px;
		margin-bottom: 94px;
	}
	
	
	#mfinfobox01
	{
		
	}
	
	
	#mfinfocont01
	{
		display: block;
		width: 412px;
	}
	
	
	#mfbannerbox01
	{
		display: block;
		width: 100%;
	}
	
	
	.mfbanner
	{
		margin: 18px auto 0 auto;
	}
	
	
	.mfbanner:first-of-type
	{
		margin-top: 0;
	}
	
	
	.mfbanner img.pc
	{
		display: none;
	}
	
	
	.mfbanner img.mb
	{
		display: block;
	}
	
	
	.mfbanner_mental01
	{
		width: 100%;
	}
	
	
	.mfbanner_kokoroview01
	{
		width: 100%;
		margin-top: 18px;
	}
	
	
	.mfbanner_mhr01
	{
		width: 100%;
		margin-top: 19px;
	}
	
	
	.mfbanner_nr
	{
		width: 100%;
		margin-top: 19px;
	}
	
	
	.mfbanner_wd
	{
		width: 100%;
		margin-top: 19px;
	}
	
	
	.mfbanner_tier1
	{
		margin-top: 19px !important;
	}
	
	
	.mfbanner:first-of-type
	{
		margin-top: 0 !important;
	}
	
	
	#mfntbox01
	{
		width: calc( 412px - 38px - 38px );
		height: 241px;
		margin: 40px auto 0 auto;
		padding: 46px 38px 31px 38px;
	}
	
	
	#st_mfnt01
	{
		font-size: 19px;
	}
	
	
	#mfntcont01
	{
		height: 181px;
		margin-top: 13px;
	}
	
	
	.mfntitem
	{
		padding: 21px 0 21px 0;
		font-size: 16px;
	}
	
	
	.mfntitem .idate
	{
		width: 113px;
	}
	
	
	.mfntitem .ititle
	{
		width: calc( 100% - 113px );
	}
	
	
	#mfntmore01
	{
		margin-top: 10px;
		font-size: 12px;
	}
	
	
	
	
	#fabgbase01
	{
		height: 272px;
		margin-top: -222px;
	}
	
	
	#fabg01
	{
		width: 1300px;
	}
	
	
	
	
	
	#toabox01
	{
		width: 384px;
		margin-top: 52px;
	}
	
	
	#st_toa
	{
		font-size: 19px;
	}
	
	
	#toacom01
	{
		margin-top: 2px;
		margin-left: 18px;
		font-size: 16px;
	}
	
	
	#toacont01
	{
		margin-top: 14px;
		padding-top: 18px;
		padding-bottom: 28px;
	}
	
	
	#toacont01 p
	{
		font-size: 15px;
		line-height: 29px;
		letter-spacing: 0.06em;
	}
	
	
	
	
	#footercore
	{
		display: block;
		width: 384px;
		margin-top: 114px;
		margin-bottom: 67px;
	}
	
	
	#footerinfo01
	{
		width: 100%;
		margin-top: 0;
	}
	
	/*
	#footlogo01 .cnj01
	{
		margin-top: 7px;
	}
	*/
	
	#footlogo01
	{
		width: 322px;
		height: 35px;
	}
	
	
	#footlogo01 .cnj01
	{
		width: 282px;
		margin-left: 6px;
	}
	
	
	#footlogo01 .cnj01 .cnk01
	{
		height: 35px;
		margin: -3px 0 0 10px;
		font-size: 37px;
		line-height: 35px;
	}
	
	
	#finfoc01
	{
		margin-top: 28px;
		font-size: 16px;
		line-height: 24px;
	}
	
	
	#fsnsbox
	{
		width: 350px;
		height: 78px;
		margin-top: 44px;
		border-radius: 39px;
	}
	
	
	#fsnscont
	{
		width: 216px;
		margin-top: 24px;
	}
	
	
	#fsnscont li a img, #fsnscont li a svg
	{
		height: 28px;
	}
	
	
	#fmenubox
	{
		/*display: none;*/
		margin-top: 42px;
	}
	
	
	#fmenucont
	{
		display: block;
		width: 100%;
	}
	
	
	#fmenucont li
	{
		display: block;
		margin: 17px auto 0 auto;
	}
	
	
	#fmenucont li a .mtj
	{
		font-size: 14px;
	}
	
	
	#footcopy
	{
		/*
		position: relative;
		right: auto;
		bottom: auto;
		width: 384px;
		margin: 101px auto 0 auto;
		font-size: 15px;
		text-align: left;
		letter-spacing: 0.1em;
		*/
		bottom: 89px;
		font-size: 13px;
	}
	
	
	
	
	.hbm_opened #hbmenuplate
	{
		top: 0px;
	}
	
	
	#hbmbtn
	{
		display: block;
		position: fixed;
		left: calc( 50dvw + ( var( --bp-mb-width ) / 2 ) - 116px );
		top: 0px;
		width: 116px;
		height: 108px;
		text-decoration: none;
		color: #231815;
		will-change: transform;
		cursor: pointer;
		/*transition-duration: 300ms;*/
		z-index: 3;
	}
	
	
	#hbmbtn .bar01, #hbmbtn .bar02
	{
		display: block;
		position: absolute;
		left: -2048px;
		right: -2048px;
		margin: auto;
		width: 28px;
		height: 0px;
		border-top: solid 1px #231815;
		transition-duration: 300ms;
	}
	
	
	#hbmbtn .bar01
	{
		top: -2064px;
		bottom: -2048px;
	}
	
	
	#hbmbtn .bar02
	{
		top: -2048px;
		bottom: -2048px;
	}
	
	
	#hbmbtn p
	{
		display: block;
		position: absolute;
		left: -2048px;
		right: -2048px;
		top: -2048px;
		bottom: -2074px;
		margin: auto;
		width: 30px;
		height: 1em;
		font-family: 'Outfit', sans-serif;
		font-size: 10px;
		font-weight: 400;
		line-height: 1em;
		text-align: center;
		vertical-align: top;
		letter-spacing: 0.05em;
		opacity: 1.0;
		transition-duration: 300ms;
	}
	
	
	#hbmbtn p.cl
	{
		letter-spacing: 0.025em;
		opacity: 0.0;
	}
	
	
	.hbm_opened #hbmbtn
	{
		transition-duration: 300ms;
	}
	
	
	.hbm_opened #hbmbtn .bar01
	{
		/*
		top: -2048px;
		-webkit-transform: rotate( 765deg );
		transform: rotate( 765deg );
		*/
		top: -2054px;
		/*
		-webkit-transform: rotate( 734deg );
		transform: rotate( 734deg );
		*/
		-webkit-transform: rotate( 738deg );
		transform: rotate( 738deg );
	}
	
	
	.hbm_opened #hbmbtn .bar02
	{
		/*
		-webkit-transform: rotate( 675deg );
		transform: rotate( 675deg );
		*/
		top: -2054px;
		/*
		-webkit-transform: rotate( 706deg );
		transform: rotate( 706deg );
		*/
		-webkit-transform: rotate( 702deg );
		transform: rotate( 702deg );
	}
	
	
	.hbm_opened #hbmbtn p.op
	{
		opacity: 0.0;
	}
	
	
	.hbm_opened #hbmbtn p.cl
	{
		opacity: 1.0;
	}
	
	
	.pcbr
	{
		display: none;
	}
	
	
	.tbbr
	{
		display: none;
	}
	
	
	.mbbr
	{
		display: block;
	}
	
	
	.pcil
	{
		display: none;
	}
	
	
	.tbil
	{
		display: none;
	}
	
	
	.mbil
	{
		display: inline-block;
	}
	
	
	#rsvt_pc
	{
		display: none;
	}
	
	
	#rsvt_tb
	{
		display: none;
	}
	
	
	#rsvt_mb
	{
		display: block;
	}
}



