













: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;
	}
	
	
	.pcbr
	{
		display: none;
	}
	
	
	.mbbr
	{
		display: block;
	}
	
	
	.pcil
	{
		display: none;
	}
	
	
	.mbil
	{
		display: inline-block;
	}
	
	
	#rsvt_pc
	{
		display: none;
	}
	
	
	#rsvt_m
	{
		display: block;
	}
	
	
	.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: 100%;*/
		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: 38px;
		top: 34px;
		width: 311px;
		height: 42px;
	}
	
	
	#headlogo01 .logo01
	{
		
	}
	
	
	#headlogo01 .cnj01
	{
		width: 250px;
		margin-top: 5px;
	}
	
	
	#menubox
	{
		display: none;
	}
	
	
	
	
	.stcont
	{
		width: var( --bp-mb-cont-width );
		margin: 80px auto 80px auto;
	}
	
	
	.stbox01
	{
		
	}
	
	
	.stbox01 .stj
	{
		font-size: 42px;
	}
	
	
	
	
	#mfcatchbase01
	{
		height: 272px;
	}
	
	/*
	#fcbg01
	{
		width: 1300px;
	}
	*/
	
	#mfcatchbox01
	{
		margin-top: 95px;
	}
	
	
	#mfcatch01
	{
		font-size: 25px;
		font-weight: 500;
		line-height: 37px;
	}
	
	
	#mfctbox01
	{
		width: var( --bp-mb-cont-width );
		margin-top: 22px;
	}
	
	
	#mfctcont01
	{
		display: block;
	}
	
	
	.mfctitem
	{
		width: 100%;
		height: 90px;
		margin: 15px auto 0 auto;
		border-radius: 46px;
	}
	
	
	.mfctitem:first-of-type
	{
		margin-top: 0;
	}
	
	
	#mftel01
	{
		margin-top: 20px;
		font-size: 37px;
	}
	
	
	#mftel01 span
	{
		font-size: 24px;
		line-height: 37px;
	}
	
	
	#mftsh01
	{
		margin-top: 0px;
		font-size: 12px;
	}
	
	
	#mftc01
	{
		height: 22px;
		margin-top: 34px;
	}
	
	
	#mftc01 .icon
	{
		height: 22px;
	}
	
	
	#mftc01 .it
	{
		margin-left: 13px;
		margin-top: -2px;
		font-size: 22px;
	}
	
	
	
	
	
	
	#mfcont01
	{
		margin-top: 78px;
	}
	
	
	#mfinfobox01
	{
		
	}
	
	
	#mfinfocont01
	{
		display: block;
	}
	
	
	#mfbannerbox01
	{
		display: block;
		width: 100%;
	}
	
	
	.mfbanner
	{
		margin: 19px 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: 19px;
	}
	
	
	.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( var( --bp-mb-width ) - 44px - 44px );
		height: 278px;
		margin: 50px -25px 0 -25px;
		padding: 52px 44px 40px 44px;
	}
	
	
	#st_mfnt01
	{
		font-size: 22px;
	}
	
	
	#mfntcont01
	{
		height: 214px;
	}
	
	
	.mfntitem
	{
		padding: 25px 0 24px 0;
		font-size: 19px;
	}
	
	
	.mfntitem .idate
	{
		width: 130px;
	}
	
	
	.mfntitem .ititle
	{
		width: calc( 100% - 130px );
	}
	
	
	#mfntmore01
	{
		font-size: 14px;
	}
	
	
	
	
	#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;
	}
	
	
	
	#fsnsbox
	{
		width: 430px;
		height: 98px;
		margin-top: 76px;
		border-radius: 50px;
	}
	
	
	#fsnscont
	{
		width: 288px;
		margin-top: 29px;
	}
	
	
	#fsnscont li a img, #fsnscont li a svg
	{
		height: 42px;
	}
	
	
	
	
	#footercore
	{
		display: block;
		width: 384px;
		margin-top: 88px;
	}
	
	
	#footerinfo01
	{
		width: 100%;
		margin-top: 0;
	}
	
	
	#footlogo01 .cnj01
	{
		margin-top: 7px;
	}
	
	
	#finfoc01
	{
		margin-top: 28px;
		font-size: 18px;
		line-height: 28px;
	}
	
	
	#fmenubox
	{
		display: none;
	}
	
	
	#footcopy
	{
		position: relative;
		right: auto;
		bottom: auto;
		width: 384px;
		margin: 101px auto 0 auto;
		font-size: 15px;
		text-align: left;
		letter-spacing: 0.1em;
	}
	
	
	
	
	.hbm_opened #hbmenuplate
	{
		top: 0px;
	}
	
	
	#hbmbtn
	{
		display: block;
		position: fixed;
		left: calc( 50% + ( ( var( --bp-mb-width ) / 2 ) - 116px ) );
		top: 0;
		width: 116px;
		height: 108px;
		text-decoration: none;
		color: #000000;
		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: 34px;
		height: 0px;
		border: solid 1px #000000;
		transition-duration: 300ms;
	}
	
	
	#hbmbtn .bar01
	{
		top: -2068px;
		bottom: -2048px;
	}
	
	
	#hbmbtn .bar02
	{
		top: -2048px;
		bottom: -2048px;
	}
	
	
	#hbmbtn p
	{
		display: block;
		position: absolute;
		left: -2048px;
		right: -2048px;
		top: -2048px;
		bottom: -2076px;
		margin: auto;
		width: 40px;
		height: 1em;
		font-family: 'Outfit', sans-serif;
		font-size: 12px;
		font-weight: 400;
		line-height: 1em;
		text-align: center;
		vertical-align: top;
		letter-spacing: 0.05em;
		opacity: 1.0;
		transition-duration: 300ms;
	}
	
	
	.hbm_opened #hbmbtn .bar01
	{
		top: -2048px;
		-webkit-transform: rotate( 765deg );
		transform: rotate( 765deg );
	}
	
	
	.hbm_opened #hbmbtn .bar02
	{
		-webkit-transform: rotate( 675deg );
		transform: rotate( 675deg );
	}
	
	
	.hbm_opened #hbmbtn p
	{
		opacity: 0.0;
	}
}



