



:root {
	--main-bg-color: #E95513;
	--point-color: #E95513;
	--point-color-hover: #F5B294;
	--point-color-light01: #FFEEDD;
	--point-color-middle01: #F4A178;
}







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-family: 'M PLUS 1p', 'Noto Sans JP', sans-serif;
	font-size: 12px;
	font-weight: 400;
	background-color: var( --main-bg-color );
}


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 0px 0px 0px;
	min-width: 1164px;
	overflow-x: hidden;
}


#headerbase
{
	position: relative;
	width: 100%;
	height: 500px;
	margin: 0px 0px 0px 0px;
}


header
{
	position: relative;
	width: 1164px;
	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: 1164px;
	margin: 0px auto 0px auto;
	padding-top: 1px;
	padding-bottom: 1px;
}


#footerbase
{
	height: 1000px;
}


footer
{
	height: calc( 100% - 2px );
}

















.rtt01
{
	display: block;
	position: relative;
	width: 68px;
	height: 1em;
	margin: 60px 0px 82px auto;
	padding-top: 38px;
	font-family: 'Poppins', sans-serif;
	font-size: 12px;
	font-weight: 400;
	line-height: 1em;
	text-align: center;
	vertical-align: top;
	color: #FFFFFF;
	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 #FFFFFF;
}


.rtt01::after
{
	content: '';
	display: block;
	position: absolute;
	left: -3px;
	right: -1px;
	top: 1px;
	margin: auto;
	width: 0px;
	height: 12px;
	border-left: solid 1px #FFFFFF;
	-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;*/
	position: absolute;
	left: -2048px;
	right: -2048px;
	top: 0px;
	margin: auto;
	width: 100%;
	height: 178px;
	margin: -1px auto 0px auto;
	padding-top: 1px;
	padding-bottom: 1px;
	z-index: 1;
}


#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: 48px;
	width: 306px;
	height: 96px;
	font-family: 'Noto Sans JP', sans-serif;
	text-decoration: none;
	color: #FFFFFF;
	/*overflow: hidden;*/
	-webkit-font-feature-settings: 'palt';
	font-feature-settings: 'palt';
	transition-duration: 150ms;
	will-change: transform;
}


#headlogo01: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 ) );
}


#headlogo01 .logo01
{
	display: block;
	position: relative;
	width: 92px;
}


#headlogo01 .logo01 img, #headlogo01 .logo01 svg
{
	display: block;
	position: relative;
	width: 100%;
	border: 0px;
	object-fit: cover;
}


#headlogo01 .cnb01
{
	display: block;
	position: relative;
	width: 260px;
	height: auto;
	margin: 37px 0px 0px -49px;
	text-align: right;
}


#headlogo01 .cne01
{
	display: block;
	position: relative;
	width: 260px;
	height: auto;
	margin: 0px 0px 0px 0px;
	padding: 0px;
	font-size: 14px;
	vertical-align: top;
	border: 0px;
}


#headlogo01 .cne01 img, #headlogo01 .cne01 svg
{
	display: block;
	position: relative;
	width: 100%;
	height: auto;
	border: 0px;
}


#headlogo01 .cnj01
{
	display: block;
	position: relative;
	margin: 2px -0.4em 0px 0px;
	font-size: 14px;
	font-weight: 500;
	line-height: 1em;
	text-align: right;
	vertical-align: top;
	letter-spacing: 0.3em;
}


#menubox
{
	display: block;
	position: absolute;
	right: 32px;
	top: 91px;
	width: 760px;
	height: calc( 1em + 17px );
	font-size: 13px;
	line-height: 1em;
}


#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%;
	margin: 0px auto 0px auto;
	padding: 0px;
	-webkit-font-feature-settings: 'palt';
	font-feature-settings: 'palt';
}


#menucont li
{
	display: block;
	position: relative;
	margin: 0px 14px 0px 14px;
	padding: 0px;
}


#menucont li:first-of-type
{
	margin-left: 0px;
}


#menucont li:last-of-type
{
	margin-right: 0px;
}


#menucont li a
{
	display: inline-block;
	position: relative;
	height: calc( 1em + 9px );
	margin: 0px;
	padding: 0px 0px 0px 0px;
	text-decoration: none;
	text-align: center;
	vertical-align: top;
	color: #FFFFFF;
	transition-duration: 150ms;
}


#menucont li a:hover
{
	/*opacity: 0.7;*/
}


#menucont li a::after
{
	content: '';
	display: block;
	position: absolute;
	left: -100px;
	right: -100px;
	bottom: 0px;
	margin: auto;
	width: 0px;
	height: 0px;
	border-bottom: solid 1px #FFFFFF;
	transition-duration: 150ms;
}


#menucont li a:hover::after
{
	width: calc( 100% + 2px );
}


#menucont li a .mtj
{
	display: block;
	position: relative;
	height: 1em;
	margin: 0px;
	padding: 0px;
	/*font-size: 16px;*/
	font-weight: 400;
	line-height: 1em;
	text-decoration: none;
	text-align: center;
	vertical-align: top;
	letter-spacing: 0.05em;
}


.hlinkbox
{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	justify-content: center;
	/* -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: 1100px;
	height: 54px;
	margin: 60px auto 0px auto;
	gap: 10px;
}


.hlbitem
{
	display: block;
	position: relative;
	width: 356px;
	height: 50px;
	/* margin: 0px 5px 0px 5px; */
	font-size: 16px;
	font-weight: 500;
	line-height: 50px;
	text-decoration: none;
	text-align: center;
	/* vertical-align: top; */
	color: #FFFFFF;
	letter-spacing: 0.075em;
	border-radius: 27px;
	border: solid 2px #FFFFFF;
	box-shadow: 1px 1px 2px rgba( 0, 0, 0, 0.35 );
	transition-duration: 150ms;
}


.hlbitem:hover
{
	/*opacity: 0.7;*/
	-webkit-filter: brightness( 120% );
	filter: brightness( 120% );
}


/* .hlbitem:nth-of-type(3n-2)
{
	margin-left: 0px;
}


.hlbitem:nth-of-type(3n)
{
	margin-right: 0px;
} */


.hlbitem.bl
{
	background: -webkit-linear-gradient( -78deg, rgba( 0, 160, 233, 1 ) 8.24%, rgba( 0, 75, 185, 1 ) 100% );
	background: linear-gradient( 168deg, rgba( 0, 160, 233, 1 ) 8.24%, rgba( 0, 75, 185, 1 ) 100%);
}


.hlbitem.gr
{
	background: -webkit-linear-gradient( -78deg, rgba( 143, 195, 31, 1 ) 8.24%, rgba( 0, 145, 58, 1 ) 100% );
	background: linear-gradient( 168deg, rgba( 143, 195, 31, 1 ) 8.24%, rgba( 0, 145, 58, 1 ) 100% );
}













#hbmenuplate
{
	display: block;
	position: fixed;
	top: -150vh;
	left: 0px;
	width: 480px;
	height: calc( 130vh - 2px );
	padding-top: 1px;
	padding-bottom: 1px;
	background-color: var( --point-color );
	-webkit-font-feature-settings: 'palt';
	font-feature-settings: 'palt';
	z-index: 2;
	transition-duration: 300ms;
}


#hbmbtn
{
	display: none;
}


#hbmpheadbox
{
	display: block;
	position: relative;
	width: 100%;
	height: 103px;
	margin: -1px 0px 0px 0px;
	/*background-color: rgba( 200, 200, 255, 0.3 );*/
}


#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: 30px;
	top: 11px;
	width: 263px;
	height: 82px;
	font-family: 'Noto Sans JP', sans-serif;
	text-decoration: none;
	color: #FFFFFF;
	overflow: hidden;
	-webkit-font-feature-settings: 'palt';
	font-feature-settings: 'palt';
	/*transition-duration: 150ms;*/
}


#hbmlogo01:hover
{
	/*opacity: 0.7;*/
}


#hbmlogo01 .logo01
{
	display: block;
	position: relative;
	width: 80px;
}


#hbmlogo01 .logo01 img, #hbmlogo01 .logo01 svg
{
	display: block;
	position: relative;
	width: 100%;
	border: 0px;
}


#hbmlogo01 .cnb01
{
	display: block;
	position: relative;
	width: 225px;
	margin: 33px 0px 0px -43px;
	text-align: right;
}


#hbmlogo01 .cne01
{
	display: inline-block;
	position: relative;
	width: 225px;
	margin: 0px 0px 0px 0px;
	vertical-align: top;
	border: 0px;
}


#hbmlogo01 .cnj01
{
	display: block;
	position: relative;
	margin: 2px -0.4em 0px 0px;
	font-size: 12px;
	font-weight: 500;
	line-height: 1em;
	text-align: right;
	vertical-align: top;
	letter-spacing: 0.3em;
}


#hbmpcont
{
	display: block;
	position: relative;
	margin: 0px 0px 0px 0px;
	padding-top: 1px;
	padding-bottom: 1px;
}


#hbmenubox
{
	display: block;
	position: relative;
	margin: 54px 0px 0px 0px;
	padding: 0px;
	/*background-color: rgba( 255, 200, 200, 0.3 );*/
}


#hbmenucont
{
	display: block;
	position: relative;
	list-style: none;
	width: 410px;
	margin: 0px auto 0px auto;
	padding: 0px;
}


#hbmenucont li
{
	display: block;
	position: relative;
	margin: 0px;
	padding: 0px;
	border-top: solid 1px rgba( 255, 255, 255, 0.35 );
}


#hbmenucont li:last-of-type
{
	border-bottom: solid 1px rgba( 255, 255, 255, 0.35 );
}


#hbmenucont li a
{
	display: block;
	position: relative;
	margin: 0px;
	padding: 18px 0px 19px 28px;
	text-decoration: none;
	color: #FFFFFF;
}


#hbmenucont li a .mtj
{
	display: block;
	position: relative;
	margin: 0px;
	padding: 0px;
	font-size: 22px;
	font-weight: 400;
	line-height: 1.4em;
	text-align: left;
	vertical-align: top;
	letter-spacing: 0.2em;
}


#hbmpfootbox
{
	display: block;
	position: relative;
	width: 100%;
	margin: 41px 0px 0px 0px;
}


#hbmpsnsfbox
{
	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;
	margin: 0px 0px 0px 42px;;
	padding: 0px;
	text-decoration: none;
	color: #FFFFFF;
	transition-duration: 150ms;
}


#hbmpsnsfbox:hover
{
	opacity: 0.7;
}


#hbmpsnsfbox .icon
{
	display: block;
	position: relative;
	width: 83px;
	height: 83px;
	background-color: #FFFFFF;
	border-radius: 50%;
}


#hbmpsnsfbox .icon .ib
{
	display: block;
	position: absolute;
	left: 0px;
	right: 0px;
	top: 0px;
	bottom: 0px;
	margin: auto;
	width: 43px;
	height: 43px;
}


#hbmpsnsfbox .icon .ib img, #hbmpsnsfbox .icon .ib svg
{
	display: block;
	position: relative;
	width: 100%;
	border: 0px;
}


#hbmpsnsfbox .com
{
	display: inline-block;
	position: relative;
	margin: 8px 0px 0px 20px;
	font-size: 24px;
	font-weight: 400;
	line-height: 31px;
	text-align: left;
	vertical-align: top;
	letter-spacing: 0.075em;
}












.stcont
{
	display: block;
	position: relative;
	width: 1100px;
	margin: 93px auto 90px auto;
	-webkit-font-feature-settings: 'palt';
	font-feature-settings: 'palt';
}


.stbox
{
	display: block;
	position: relative;
	width: 300px;
	height: 64px;
	margin: 0px auto 0px 0px;
	padding-top: 1px;
	padding-bottom: 1px;
	color: #FFFFFF;
}


.stbox .ste
{
	display: block;
	position: relative;
	height: 1em;
	margin: 0px auto 0px 0px;
	font-family: 'Poppins', sans-serif;
	font-size: 32px;
	font-weight: 300;
	line-height: 1em;
	text-align: left;
	vertical-align: top;
	letter-spacing: 0.2em;
}


.stbox .stj
{
	display: block;
	position: relative;
	height: 1em;
	margin: 6px auto 0px 0px;
	font-size: 13px;
	font-weight: 400;
	line-height: 1em;
	text-align: left;
	vertical-align: top;
	letter-spacing: 0.025em;
}


#footercore
{
	display: block;
	position: relative;
	width: 100%;
	margin: 0px auto 0px auto;
	text-align: center;
	color: #FFFFFF;
}


#footercore a
{
	text-decoration: none;
	color: #FFFFFF;
}


#footlogo01
{
	display: block;
	position: relative;
	width: 308px;
	height: 237px;
	margin: 84px auto 0px auto;
	text-decoration: none;
	transition-duration: 150ms;
	will-change: transform;
}


#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 ) );
}


#footlogo01 .logo01
{
	display: block;
	position: relative;
	width: 206px;
	margin: 0px auto 0px 91px;
	border: 0px;
}


#footlogo01 .logo01 img, #footlogo01 .logo01 svg
{
	display: block;
	position: relative;
	width: 100%;
	border: 0px;
}


#footlogo01 .cnb01
{
	display: block;
	position: relative;
	width: 306px;
	margin: 6px auto 0px auto;
}


#footlogo01 .cne01
{
	display: block;
	position: relative;
	width: 100%;
	margin: 0px auto 0px auto;
	border: 0px;
}


#footinfo01
{
	display: block;
	position: relative;
	margin: 63px auto 0px auto;
	font-size: 12px;
	font-weight: 400;
	line-height: 18px;
	text-align: center;
	vertical-align: top;
	letter-spacing: 0.05em;
}


#foottel01
{
	display: block;
	position: relative;
	width: 290px;
	margin: 14px auto 0px auto;
	font-family: 'Barlow', sans-serif;
	font-size: 33px;
	font-weight: 700;
	line-height: 1em;
	text-decoration: none;
	text-align: center;
	vertical-align: top;
	letter-spacing: 0.025em;
	transition-duration: 150ms;
}


#foottel01:hover
{
	text-shadow: 0px 0px 4px rgba( 255, 255, 255, 0.8 );
}


#footatt01
{
	display: block;
	position: relative;
	margin: 9px auto 0px auto;
	font-size: 12px;
	font-weight: 400;
	line-height: 16px;
	text-align: center;
	vertical-align: top;
	letter-spacing: 0.1em;
}


#footnavibox
{
	display: block;
	position: relative;
	/*height: 1em;*/
	margin: 57px auto 0px auto;
	padding: 0px;
	text-align: center;
	-webkit-font-feature-settings: 'palt';
	font-feature-settings: 'palt';
}


#footnavicont
{
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-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;
	max-width: 284px;
	margin: 0px;
	padding: 0px;
	font-size: 12px;
	list-style: none;
}


#footnavicont > li
{
	display: inline-block;
	position: relative;
	height: 1em;
	margin: 6px 0px 6px 0px;
	padding: 0px 19px 0px 19px;
	line-height: 1em;
	border-left: solid 1px #FFFFFF;
}


#footnavicont > li:nth-of-type(odd)
{
	border-left: 0px;
}


#footnavicont > li > a
{
	display: inline-block;
	position: relative;
	margin: 0px;
	padding: 0px;
	text-decoration: none;
	text-align: left;
	vertical-align: top;
	color: #FFFFFF;
	transition-duration: 150ms;
}


#footnavicont > li > a:hover
{
	text-shadow: 0px 0px 4px rgba( 255, 255, 255, 0.8 );
}


#footnavicont > li > a > .mtj
{
	display: block;
	position: relative;
	height: 1em;
	margin: 0px;
	padding: 0px;
	font-size: 12px;
	font-weight: 400;
	line-height: 1em;
	text-align: left;
	vertical-align: top;
	letter-spacing: 0.075em;
}






#footcopy
{
	display: block;
	position: absolute;
	left: -2048px;
	right: -2048px;
	bottom: 66px;
	margin: auto;
	font-size: 10px;
	font-weight: 500;
	line-height: 1em;
	text-align: center;
	vertical-align: top;
	color: #FFFFFF;
	letter-spacing: 0.2em;
}







.cbbox
{
	display: block;
	position: relative;
	margin: 80px auto 0px auto;
}


.cbtn
{
	display: block;
	position: relative;
	width: 666px;
	height: 78px;
	margin: 12px auto 0px auto;
	font-size: 22px;
	font-weight: 500;
	line-height: 82px;
	text-decoration: none;
	text-align: center;
	vertical-align: top;
	color: #FFFFFF;
	border-radius: 41px;
	border: solid 2px #FFFFFF;
	box-shadow: 1px 1px 2px rgba( 0, 0, 0, 0.35 );
	transition-duration: 150ms;
}


.cbtn:hover
{
	-webkit-filter: brightness( 120% );
	filter: brightness( 120% );
}


.cbtn.bl
{
	background: -webkit-linear-gradient( -78deg, rgba( 0, 160, 233, 1 ) 8.24%, rgba( 0, 75, 185, 1 ) 100% );
	background: linear-gradient( 168deg, rgba( 0, 160, 233, 1 ) 8.24%, rgba( 0, 75, 185, 1 ) 100% );
}


.cbtn.gr
{
	background: -webkit-linear-gradient( -78deg, rgba( 143, 195, 31, 1 ) 8.24%, rgba( 0, 145, 58, 1 ) 100% );
	background: linear-gradient( 168deg, rgba( 143, 195, 31, 1 ) 8.24%, rgba( 0, 145, 58, 1 ) 100% );
}


.phonemock
{
	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: 56px;
	height: 104px;
	font-size: 10px;
	line-height: 1em;
	text-decoration: none;
	color: #FFFFFF;
}


.phonemock .frame
{
	display: block;
	position: absolute;
	left: 0px;
	top: 0px;
	width: 100%;
	border: 0px;
}


.phonemock .pmt
{
	display: block;
	position: relative;
	font-weight: 800;
	text-align: center;
	vertical-align: top;
}


.phonemock::before
{
	content: '';
	display: block;
	position: absolute;
	left: -2048px;
	right: -2048px;
	top: -2048px;
	bottom: -2048px;
	margin: auto;
	width: calc( 100% - 0.5em );
	height: calc( 100% - 0.5em );
	border-radius: 0.7em;
}


.phonemock.sf::before
{
	background-color: #8FB954;
}


.phonemock.dc::before
{
	background-color: var( --point-color );
}


.phonemock.sb::before
{
	background-color: #B5B5B6;
}


.phonemock.au::before
{
	background-color: #F3981C;
}






.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;
}






