@charset "utf-8";

html{
	line-height: 1.8;
	font-family: 'Noto Sans JP', sans-serif;
	
	scroll-behavior: smooth;
}
@media (max-width: 1023px) and (min-width: 769px){
	html{
		font-size: 1.5625vw;
	}
}
@media (max-width: 768px){
	html{
		font-size: 3.75vw;
	}
}
body{
	margin: 0;
}
img, video{
	vertical-align: middle;
	max-width: 100%;
}
:any-link{
	color: #0080cc;
}
:any-link:hover{
	text-decoration: none !important;
}



/* === JS === */
/* jsin */

.a-target{
	visibility: hidden;
}
.js-in--active .a-target{
	visibility: visible;
}

.js-in--active .a-target:nth-child( 1){ animation-delay: 0000ms !important; }
.js-in--active .a-target:nth-child( 2){ animation-delay: 0090ms !important; }
.js-in--active .a-target:nth-child( 3){ animation-delay: 0180ms !important; }
.js-in--active .a-target:nth-child( 4){ animation-delay: 0270ms !important; }
.js-in--active .a-target:nth-child( 5){ animation-delay: 0360ms !important; }
.js-in--active .a-target:nth-child( 6){ animation-delay: 0450ms !important; }
.js-in--active .a-target:nth-child( 7){ animation-delay: 0540ms !important; }
.js-in--active .a-target:nth-child( 8){ animation-delay: 0630ms !important; }
.js-in--active .a-target:nth-child( 9){ animation-delay: 0720ms !important; }
.js-in--active .a-target:nth-child(10){ animation-delay: 0810ms !important; }
.js-in--active .a-target:nth-child(11){ animation-delay: 0900ms !important; }
.js-in--active .a-target:nth-child(12){ animation-delay: 0990ms !important; }
.js-in--active .a-target:nth-child(13){ animation-delay: 1080ms !important; }
.js-in--active .a-target:nth-child(14){ animation-delay: 1170ms !important; }
.js-in--active .a-target:nth-child(15){ animation-delay: 1260ms !important; }
.js-in--active .a-target:nth-child(16){ animation-delay: 1350ms !important; }
.js-in--active .a-target:nth-child(17){ animation-delay: 1440ms !important; }
.js-in--active .a-target:nth-child(18){ animation-delay: 1530ms !important; }

.a-fade.js-in--active .a-target{
	animation: jsin-fadeIn 360ms ease-out both;
}
.a-blur.js-in--active .a-target{
	animation: jsin-blurIn 64.0ms linear both;
}
.a-slide.js-in--active .a-target{
	animation: jsin-slideIn 640ms ease-in-out both;
}
.a-zoom.js-in--active .a-target{
	animation: jsin-zoomIn 640ms ease-in-out both;
}

@keyframes jsin-fadeIn{
	from{
		opacity: 0;
	}
	to{
		opacity: 1;
	}
}

@keyframes jsin-blurIn{
	from{
		opacity: 0;
		filter: blur(5em);
	}
	to{
		opacity: 1;
		filter: blur(0);
	}
}

@keyframes jsin-slideIn{
	from{
		opacity: 0;
		transform: translateY(2rem);
	}
	to{
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes jsin-zoomIn{
	from{
		opacity: 0;
		transform: scale(0);
	}
	to{
		opacity: 1;
		transform: scale(1);
	}
}






/* === Parts === */

/* Section */
.sect-lv1{
	margin-top: 5rem;
	margin-bottom: 5rem;
}
.sect-lv2{
	margin-top: 2.5rem;
	margin-bottom: 2.5rem;
}
.stack-lv2 > *{
	margin-top: 0;
	margin-bottom: 0;
}
.stack-lv2 > * + *{
	margin-top: 2.5rem;
}

.sect-header{
	text-align: center;
	margin-bottom: 2.5em;
}
.sect-header--feature{
	text-align: left;
}
.sect-title{
	font-size: 1em;
	color: #666;
	margin: 0;
}
.sect-title--center{
	text-align: center;
}
.sect-title__ruby{
	line-height: 1.33;
	font-size: 1.125em;
	
	color: #3eb4eb;
	
	margin-bottom: 1em;
}
.sect-title__main{
	line-height: 1.33;
	font-size: 2.25em;
	
	margin-bottom: .75em;
}
@media (max-width: 768px){
	.sect-title__main{
		/*font-size: 1.5em;*/
		font-size: 2em;
	}
}
.sect-note{
	font-weight: bold;
	margin: 0;
}








/* Status */
.site-state{
	position: fixed;
	left: -100vw;
}





/* Container */
.sitewidth{
	box-sizing: border-box;
	
	max-width: calc(1400px + 5%);
	margin-left: auto;
	margin-right: auto;
	padding-left: 2.5%;
	padding-right: 2.5%;
}
.g-container{
	color: #333;
}
.reset-header-top{
	margin-top: -70px;
}
.anchor{
	display: block;
}
@media (min-width: 769px){
	.anchor{
		margin-top: -100px;
		padding-top: 100px;
	}
}
@media (max-width: 768px){
	.anchor{
		margin-top: -50px;
		padding-top: 50px;
	}
}
@media (min-width: 769px){
	.for-sp{
		display: none !important;
		content-visibility: hidden !important;
	}
}
@media (max-width: 768px){
	.for-pc{
		display: none !important;
		content-visibility: hidden !important;
	}
}



/* Header */
.g-header{
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 3vw;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	box-sizing: border-box;
	padding: 0 1.875vw;
	transition: background 300ms ease-out;
}
.g-header--active{
	background: rgba(0,0,0,.8);
}
@media (min-width: 769px){
	.g-header{
		height: 100px;
		color: #fff;
	}
}
@media (max-width: 768px){
	.g-header{
		align-items: center;
		height: 50px;
	}
}



.h-logo{
	align-self: center;
}
.h-logo__data{
	max-width: 100%;
}

@media (min-width: 769px){
	.h-logo{
		max-width: 25%;
	}
}
@media (max-width: 768px){
	.h-logo{
		max-width: 65%;
	}
}






.h-nav-toggle{
	cursor: pointer;
}
.h-nav-toggle__icon{
	max-width: 100%;
}



.h-nav__items{
	list-style: none;
	margin: 0;
	padding: 0;
}
.h-nav__more{
	line-height: 1.33;
	color: inherit;
	font-weight: bold;
	text-decoration: inherit;
}
.h-nav__more--register:hover{
	opacity: .78;
}

@media (min-width: 769px){
	.h-nav-toggle{
		display: none;
	}
	.h-nav__items{
		display: flex;
		align-items: center;
	}
	.h-nav__item:not(:first-child){
		/*margin-left: 4.5vw;*/
		margin-left: 3vw;
	}
	.h-nav__item:last-child{
		margin-left: 2.5vw;
	}
	.h-nav__more{
		display: block;
		position: relative;
		z-index: 0;
	}
	.h-nav__more:not(.h-nav__more--register):after{
		content: "";
		
		display: block;
		
		position: absolute;
		left: 0;
		right: 0;
		
		width: 0;
		margin: .5em auto 0 auto;
		border-bottom: .1875em solid #f15e43;
		
		transition: width 180ms ease-out;
	}
	.h-nav__more:not(.h-nav__more--register):hover:after{
		width: 100%;
	}
	.h-nav__more--register{
		color: #fff;
		background: #f15e43;
		
		padding: .25em 4em;
		/*padding: .25em 1em;*/
		/*margin-bottom: .6875em;*/
		
		border-radius: 100em;
	}
}
@media (max-width: 768px){
	.h-nav{
		overflow: auto;
		position: fixed;
		z-index: 1;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background: #dadada;
		
		padding: 70px 1.5em 0;
		
		transition:
		bottom 300ms ease-out,
		visibility 240ms ease-out;
	}
	.h-nav__item:not(:last-child){
		margin-bottom: 1.5em;
	}
	.h-nav__more{
		font-size: 1.25em;
		font-weight: bold;
		color: #f15e43;
	}
	
	
	.h-logo,
	.h-nav-toggle{
		z-index: 2;
	}
	.h-nav-toggle{
		max-width: 7.5%;
	}
	
	
	#gnavi:not(:checked) ~ .g-container .h-nav{
		/*display: none;*/
		bottom: 100%;
		visibility: hidden;
	}
	
	#gnavi:checked ~ .g-container .h-nav-toggle__icon--open,
	#gnavi:not(:checked) ~ .g-container .h-nav-toggle__icon--close{
		display: none;
	}
}






/* Main */
a{
	transition: opacity 333ms ease;
}
.g-cargo a:hover{
	opacity: .78;
}





/* Hero */
.hero{
	position: relative;
	z-index: 0;
}
.hero__bg{
	width: 100%;
}
.hero-logo{
	line-height: 1;
	font-size: 1em;
	font-size: min(1em, 1vw);
	color: #fff;
	
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	
	margin: 0 auto;
	padding: 0 2.5%;
}
.hero-logo > * + *{
	margin-top: 1.5rem;
}
.hero-logo__catch1,
.hero-logo__catch2,
.hero-logo__catch3{
	text-align: center;
	letter-spacing: -.1em;
}
.hero-logo__catch1{
	line-height: 1;
	font-size: 1.8em;
	color: #f15e43;
	margin-bottom: .5em;
}
.hero-logo__catch2{
	line-height: 1;
	font-size: 2.25em;
}
.hero-logo__catch3{
	line-height: 1;
	font-size: 4.6875em;
}

.chr-space{
	margin-right: .25em;
}

@media (max-width: 768px){
	.hero{
		box-sizing: border-box;
		min-height: 100vh;
	}
	.hero__bg{
		height: 100%;
		
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		object-fit: cover;
		font-family: 'object-fit: cover';
		
		box-sizing: border-box;
	}
	.hero-logo{
		font-size: .475em;
	}
	.hero-logo__catch2{
		font-size: 2.875em;
	}
	.hero-logo__catch3{
		letter-spacing: -.125em;
	}
}

.hero-logo.js-in--active{
	
}
.hero-logo.js-in .hero-logo__catch1,
.hero-logo.js-in .hero-logo__catch2,
.hero-logo.js-in .hero-logo__catch3{
	/* overflow: hidden; */
}
.hero-logo.js-in .delay{
	/* position: relative;
	top: 100%; */
	opacity: 0;
}
.hero-logo.js-in .delay{
	animation: hero-typo 450ms ease-out both;
}

@keyframes hero-typo{
	to{
		/* top: 0; */
		opacity: 1;
	}
}

.hero-logo.js-in .delay--01{ animation-delay: 50ms; }
.hero-logo.js-in .delay--02{ animation-delay: 100ms; }
.hero-logo.js-in .delay--03{ animation-delay: 150ms; }
.hero-logo.js-in .delay--04{ animation-delay: 200ms; }
.hero-logo.js-in .delay--05{ animation-delay: 250ms; }
.hero-logo.js-in .delay--06{ animation-delay: 300ms; }
.hero-logo.js-in .delay--07{ animation-delay: 350ms; }
.hero-logo.js-in .delay--08{ animation-delay: 400ms; }
.hero-logo.js-in .delay--09{ animation-delay: 450ms; }
.hero-logo.js-in .delay--10{ animation-delay: 500ms; }
.hero-logo.js-in .delay--11{ animation-delay: 550ms; }
.hero-logo.js-in .delay--12{ animation-delay: 600ms; }
.hero-logo.js-in .delay--13{ animation-delay: 650ms; }
.hero-logo.js-in .delay--14{ animation-delay: 700ms; }
.hero-logo.js-in .delay--15{ animation-delay: 750ms; }
.hero-logo.js-in .delay--16{ animation-delay: 800ms; }
.hero-logo.js-in .delay--17{ animation-delay: 850ms; }
.hero-logo.js-in .delay--18{ animation-delay: 900ms; }
.hero-logo.js-in .delay--19{ animation-delay: 950ms; }
.hero-logo.js-in .delay--20{ animation-delay: 1000ms; }
.hero-logo.js-in .delay--21{ animation-delay: 1050ms; }
.hero-logo.js-in .delay--22{ animation-delay: 1100ms; }
.hero-logo.js-in .delay--23{ animation-delay: 1150ms; }
.hero-logo.js-in .delay--24{ animation-delay: 1200ms; }
.hero-logo.js-in .delay--25{ animation-delay: 1250ms; }
.hero-logo.js-in .delay--26{ animation-delay: 1300ms; }
.hero-logo.js-in .delay--27{ animation-delay: 1350ms; }
.hero-logo.js-in .delay--28{ animation-delay: 1400ms; }
.hero-logo.js-in .delay--29{ animation-delay: 1450ms; }
.hero-logo.js-in .delay--30{ animation-delay: 1500ms; }
.hero-logo.js-in .delay--31{ animation-delay: 1550ms; }
.hero-logo.js-in .delay--32{ animation-delay: 1600ms; }
.hero-logo.js-in .delay--33{ animation-delay: 1650ms; }
.hero-logo.js-in .delay--34{ animation-delay: 1700ms; }
.hero-logo.js-in .delay--35{ animation-delay: 1750ms; }
.hero-logo.js-in .delay--36{ animation-delay: 1800ms; }
.hero-logo.js-in .delay--37{ animation-delay: 1850ms; }
.hero-logo.js-in .delay--38{ animation-delay: 1900ms; }
.hero-logo.js-in .delay--39{ animation-delay: 1950ms; }
.hero-logo.js-in .delay--40{ animation-delay: 2000ms; }
.hero-logo.js-in .delay--41{ animation-delay: 2050ms; }
.hero-logo.js-in .delay--42{ animation-delay: 2100ms; }
.hero-logo.js-in .delay--43{ animation-delay: 2150ms; }
.hero-logo.js-in .delay--44{ animation-delay: 2200ms; }
.hero-logo.js-in .delay--45{ animation-delay: 2250ms; }
.hero-logo.js-in .delay--46{ animation-delay: 2300ms; }
.hero-logo.js-in .delay--47{ animation-delay: 2350ms; }
.hero-logo.js-in .delay--48{ animation-delay: 2400ms; }
.hero-logo.js-in .delay--49{ animation-delay: 2450ms; }
.hero-logo.js-in .delay--50{ animation-delay: 2500ms; }
.hero-logo.js-in .delay--51{ animation-delay: 2550ms; }
.hero-logo.js-in .delay--52{ animation-delay: 2600ms; }
.hero-logo.js-in .delay--53{ animation-delay: 2650ms; }
.hero-logo.js-in .delay--54{ animation-delay: 2700ms; }
.hero-logo.js-in .delay--55{ animation-delay: 2750ms; }
.hero-logo.js-in .delay--56{ animation-delay: 2800ms; }
.hero-logo.js-in .delay--57{ animation-delay: 2850ms; }
.hero-logo.js-in .delay--58{ animation-delay: 2900ms; }
.hero-logo.js-in .delay--59{ animation-delay: 2950ms; }
.hero-logo.js-in .delay--60{ animation-delay: 3000ms; }
.hero-logo.js-in .delay--61{ animation-delay: 3050ms; }
.hero-logo.js-in .delay--62{ animation-delay: 3100ms; }
.hero-logo.js-in .delay--63{ animation-delay: 3150ms; }
.hero-logo.js-in .delay--64{ animation-delay: 3200ms; }
.hero-logo.js-in .delay--65{ animation-delay: 3250ms; }
.hero-logo.js-in .delay--66{ animation-delay: 3300ms; }
.hero-logo.js-in .delay--67{ animation-delay: 3350ms; }
.hero-logo.js-in .delay--68{ animation-delay: 3400ms; }
.hero-logo.js-in .delay--69{ animation-delay: 3450ms; }
.hero-logo.js-in .delay--70{ animation-delay: 3500ms; }
.hero-logo.js-in .delay--71{ animation-delay: 3550ms; }
.hero-logo.js-in .delay--72{ animation-delay: 3600ms; }
.hero-logo.js-in .delay--73{ animation-delay: 3650ms; }
.hero-logo.js-in .delay--74{ animation-delay: 3700ms; }
.hero-logo.js-in .delay--75{ animation-delay: 3750ms; }
.hero-logo.js-in .delay--76{ animation-delay: 3800ms; }
.hero-logo.js-in .delay--77{ animation-delay: 3850ms; }
.hero-logo.js-in .delay--78{ animation-delay: 3900ms; }
.hero-logo.js-in .delay--79{ animation-delay: 3950ms; }
.hero-logo.js-in .delay--80{ animation-delay: 4000ms; }
.hero-logo.js-in .delay--81{ animation-delay: 4050ms; }
.hero-logo.js-in .delay--82{ animation-delay: 4100ms; }
.hero-logo.js-in .delay--83{ animation-delay: 4150ms; }
.hero-logo.js-in .delay--84{ animation-delay: 4200ms; }
.hero-logo.js-in .delay--85{ animation-delay: 4250ms; }
.hero-logo.js-in .delay--86{ animation-delay: 4300ms; }
.hero-logo.js-in .delay--87{ animation-delay: 4350ms; }
.hero-logo.js-in .delay--88{ animation-delay: 4400ms; }
.hero-logo.js-in .delay--89{ animation-delay: 4450ms; }
.hero-logo.js-in .delay--90{ animation-delay: 4500ms; }
.hero-logo.js-in .delay--91{ animation-delay: 4550ms; }
.hero-logo.js-in .delay--92{ animation-delay: 4600ms; }
.hero-logo.js-in .delay--93{ animation-delay: 4650ms; }
.hero-logo.js-in .delay--94{ animation-delay: 4700ms; }
.hero-logo.js-in .delay--95{ animation-delay: 4750ms; }
.hero-logo.js-in .delay--96{ animation-delay: 4800ms; }
.hero-logo.js-in .delay--97{ animation-delay: 4850ms; }
.hero-logo.js-in .delay--98{ animation-delay: 4900ms; }
.hero-logo.js-in .delay--99{ animation-delay: 4950ms; }



/* Feature */
.feature__fig{
	max-width: 100%;
	margin-bottom: 2em;
	
	display: table;
	margin-left: auto;
	margin-right: auto;
}
.feature__note{
	font-size: 1.5em;
	font-weight: normal;
	margin: 0;
}
.feature__em{
	color: #f15e43;
}
.feature__photo{
	width: 100%;
}

.feature__ornament{
	position: absolute;
	z-index: 1;
}

@media (min-width: 769px){
	.feature__photo{
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		
		width: 100%;
		height: 100%;
		object-fit: cover;
		font-family: 'object-fit: cover';
	}
	.feature__ornament{
		width: 14.3125em;
	}
	.feature__ornament--speed{
		top: 5%;
		left: 5%;
	}
	.feature__ornament--ratio{
		right: 5%;
		bottom: 5%;
	}
}
@media (max-width: 768px){
	.feature__note{
		font-size: 1.125em;
	}
	.feature__ornament{
		width: 7.15625em;
	}
	.feature__ornament--speed{
		top: 2.5%;
		left: 2.5%;
	}
	.feature__ornament--ratio{
		right: 2.5%;
		bottom: 2.5%;
	}
}



.feature-stamp{
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: 1fr;
}
.feature-stamp__bg,
.feature-stamp__body{
	grid-column: 1;
	grid-row: 1;
	margin: auto;
}
.feature-stamp__bg{
	z-index: -1;
	max-width: 100%;
}

@media all and (-ms-high-contrast:none){
	.feature-stamp{
		display: -ms-grid;
		-ms-grid-columns: 1fr;
		-ms-grid-rows: 1fr;
	}
	.feature-stamp__bg,
	.feature-stamp__body{
		-ms-grid-column: 1;
		-ms-grid-row: 1;
		/*margin: auto;*/
	}
	.feature-stamp__bg{
		/*z-index: -1;
		max-width: 100%;*/
	}
}



.feature-grid__body{
	padding: 1.875em 2.5%;
}
.feature-grid__photo{
	position: relative;
	z-index: 0;
}
.feature-grid__photo:before{
	content: "";
	display: block;
	position: absolute;
	z-index: 1;
	top: 0;
	bottom: 0;
	width: 10em;
}
.feature-grid--odd .feature-grid__photo:before{
	background: linear-gradient(to left top, transparent 50%, #fff 50%);
}
.feature-grid--even .feature-grid__photo:before{
	background: linear-gradient(to right top, transparent 50%, #fff 50%);
	right: 0;
}
.feature-grid__photo--online{
	background-color: #d2eefa;
}
.feature-grid__photo--online .feature__photo{
	object-fit: contain;
}



@media (min-width: 769px){
	.feature-grid{
		display: flex;
	}
	.feature-grid__body,
	.feature-grid__photo{
		box-sizing: border-box;
	}
	.feature-grid__body{
		flex: 0 1 calc(50% - 5em);
		max-width: calc(700px + 5% - 5em);
	}
	.feature-grid__photo{
		flex: 0 1 calc(50% + 5em);
	}
	.feature-grid--odd{
		justify-content: flex-end;
	}
	.feature-grid--even .feature-grid__photo{
		order: -1;
	}
}
@media all and (-ms-high-contrast:none) and (min-width: 769px){
	.feature-grid__body{
		flex: 0 1 50%;
	}
	.feature-grid__photo{
		flex: 0 1 50%;
	}
}
@media (max-width: 768px){
	.feature-grid__photo:before{
		width: 5em;
	}
}







/* Flow */
.flow{
	
}
.flow__inner{
	background: #f15e43;
	padding: 4.375em 0;
}
.flow__step{
	line-height: 1.33;
	font-size: 1.125em;
	font-weight: bold;
	text-align: center;
	
	color: #f15e43;
	background: #fff;
	border-radius: 999em;
	
	margin: 0 0 1em;
	padding: .5em 2em;
}
.flow__title{
	line-height: 1.33;
	font-size: 1.125em;
	font-weight: bold;
	text-align: center;
	
	margin: 0 0 1em;
}
.flow__note{
	font-size: .875em;
	margin: 0 0 1em;
}
.flow__photo{
	width: 100%;
}
.flow-fig{
	margin: 0;
}
.flow-fig__caption{
	font-size: .875em;
	text-align: right;
}
.flow-list{
	list-style: none;
	margin: 0;
	padding: 0;
}
.flow-list__item{
	box-sizing: border-box;
}

@media (min-width: 769px){
	.flow-list{
		display: flex;
		flex-wrap: wrap;
		
		margin-left: -4.5%;
	}
	.flow-list__item{
		margin-left: 4.5%;
	}
	.flow-list__item:not(.flow-list__item--step1){
		flex: 0 0 20.5%;
		
		display: flex;
		flex-direction: column;
	}
	.flow-list__item:not(.flow-list__item--step1) .flow__photo{
		margin-top: auto;
	}
	
	
	.flow-list__item--step1{
		flex: 1 1 100%;
	}
	.flow-list__item--step1:after{
		content: "";
		display: block;
		
		border-style: solid;
		border-width: 1.875em 8.75em 0;
		border-color: #fff transparent transparent transparent;
	
		width: 0;
		height: 0;
		margin: 1.875em auto 3.75em;
	}
	.flow-step1{
		max-width: 1024px;
		margin-left: auto;
		margin-right: auto;
		
		display: grid;
		grid-gap: 0 6.5%;
		grid-template-columns: 1fr 1fr;
		grid-template-rows: auto auto 1fr;
		grid-template-areas:
			"flow-step	flow-fig"
			"flow-title	flow-fig"
			"flow-note	flow-fig";
	}
	.flow-step1 .flow__step{
		grid-area: flow-step;
	}
	.flow-step1 .flow__title{
		grid-area: flow-title;
	}
	.flow-step1 .flow__note{
		grid-area: flow-note;
	}
	.flow-step1 .flow-fig{
		grid-area: flow-fig;
	}
	
	.flow-fig{
		text-align: right;
	}
}

@media all and (-ms-high-contrast:none) and (min-width: 769px){
	.flow-step1{
		display: -ms-grid;
		-ms-grid-columns: 1fr 1fr;
		-ms-grid-rows: auto auto 1fr;
	}
	.flow-step1 .flow__step{
		-ms-grid-column: 1;
		-ms-grid-row: 1;
	}
	.flow-step1 .flow__title{
		-ms-grid-column: 1;
		-ms-grid-row: 2;
	}
	.flow-step1 .flow__note{
		-ms-grid-column: 1;
		-ms-grid-row: 3;
	}
	.flow-step1 .flow-fig{
		-ms-grid-column: 2;
		-ms-grid-row: 1;
		-ms-grid-row-span: 3;
		
		margin-left: 6.5%;
	}
}

@media (max-width: 768px){
	.flow-list__item:not(:last-child){
		margin-bottom: 2.5em;
	}
}







/* Process */
.process-fig{
	text-align: center;
	margin: 0;
}
@media (min-width: 769px){
	.process-fig__data{
		max-width: 100%;
	}
}
@media (max-width: 768px){
	.process-fig{
		display: flex;
		overflow: auto;
		margin: 0 -2.631578947368421% 0 0;
	}
	.process-fig:after{
		content: "";
		flex: 0 0 2.5%;
	}
	.process-fig__data{
		width: auto;
		height: 40vw;
	}
}






/* Regist */
.regist{
	text-align: center;
	background-color: #f15e43;
	
	padding: 3.75em 0;
}
.regist__photo{
	width: 100%;
}
.regist__header{
	margin-bottom: 2.5em;
}
.regist__sect:not(:last-child):after{
	content: "";
	display: block;
	margin: 2.5em 0;
	border-bottom: 3px solid #d6d6d6;
}
.regist__title1{
	line-height: 1.33;
	font-size: 2.25em;
	font-weight: bold;
	
	margin: 0 0 .5em;
}
.regist__title2{
	line-height: 1.33;
	font-size: 1.125em;
	font-weight: bold;
	
	margin: 0 0 1em;
}
.regist__note{
	font-size: .875em;
	font-weight: bold;
	color: #eb4c4d;
	
	margin: 0;
}
.regist__button{
	line-height: 1.33;
	font-weight: bold;
	text-decoration: inherit;
	color: #fff;
	background: #f15e43;
	
	display: block;
	box-sizing: border-box;
	border-radius: 999em;
	
	padding: .5em 1em;
}
.regist__button:hover{
	opacity: .78;
}
/* .regist__button--regist		{ font-size: 1.50em; color: #fff; background: #eb4c4d; } */
/* .regist__button--booking	{ font-size: .875em; color: #fff; background: #f15e43; } */
/* .regist__button--mypage		{ font-size: .875em; color: #fff; background: #eaad2a; } */



.regist-grid__photo,
.regist-grid__body{
	box-sizing: border-box;
}
.regist-grid__body{
	background: #fff;
	padding: 2.8125em 8%;
}
@media (min-width: 769px){
	.regist-grid{
		display: flex;
	}
	.regist-grid__photo,
	.regist-grid__body{
		box-sizing: border-box;
		flex: 1 1 50%;
	}
	.regist-grid__photo{
		position: relative;
		z-index: 0;
	}
	.regist__photo{
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		height: 100%;
		object-fit: cover;
		font-family: 'object-fit: cover';
	}
	
	.regist-grid__photo{
		/*3.571428571428571*/
		
		transform: translate(3.5%, 3.5%);
	}
	.regist-grid__body{
		transform: translate(-3.5%, -3.5%);
	}
}



.regist-nav{
	display: flex;
	flex-wrap: wrap;
	
	list-style: none;
	margin: 0 0 0 -2.5%;
	padding: 0;
}
.regist-nav__item{
	flex: 1 1 0%;
	margin-left: 2.5%;
}







/* Car */

.car-tab--status{
	position: fixed;
	left: -100vw;
}

.car-tab__items{
	list-style: none;
	margin: 0;
	padding: 0;
}
.car-tab__item{
	box-sizing: border-box;
}
.car-tab__button{
	text-align: center;
	display: block;
	cursor: pointer;
}
.car-tab__photo{
	max-width: 100%;
}
.car-tab__note{
	font-size: .875em;
	display: block;
	margin-top: 1em;
}

/* //#car--cargo:focus ~ .car-tab .car-tab__button[for=car--cargo],
//#car--light:focus ~ .car-tab .car-tab__button[for=car--light],
//#car--small:focus ~ .car-tab .car-tab__button[for=car--small],
//#car--middle:focus ~ .car-tab .car-tab__button[for=car--middle]{
//	outline: 1px dotted #999;
//} */
#car--cargo:not(:checked) ~ .car-tab .car-tab__button[for=car--cargo] .car-tab__title,
#car--light:not(:checked) ~ .car-tab .car-tab__button[for=car--light] .car-tab__title,
#car--small:not(:checked) ~ .car-tab .car-tab__button[for=car--small] .car-tab__title,
#car--middle:not(:checked) ~ .car-tab .car-tab__button[for=car--middle] .car-tab__title{
	color: #8e8e8e;
	background-color: #fff;
}

#car--cargo:checked ~ .car-item:not(#tab--cargo),
#car--light:checked ~ .car-item:not(#tab--light),
#car--small:checked ~ .car-item:not(#tab--small),
#car--middle:checked ~ .car-item:not(#tab--middle){
	position: fixed;
	left: -100vw;
	width: 100vw;
}

@media (min-width: 769px){
	.car-tab__items{
		display: flex;
		justify-content: space-between;
	}
	.car-tab__item:not(:first-child){
		margin-left: 2.5%;
	}
	
	.car-tab__title{
		line-height: 1.33;
		font-size: 1.125em;
		font-weight: bold;
		text-align: center;
		
		display: block;
		
		color: #fff;
		background: #f15e43;
		border-radius: 999em;
		
		margin: 0 0 1em;
		padding: .5em 1.5em;
	}
	.car-tab__button:after{
		content: "";
		display: block;
		width: 0;
		height: 0;
		
		border-style: solid;
		border-width: 1em 2.25em 0 2.25em;
		border-color: #b7e6fc transparent transparent transparent;
		
		margin: 2.5em auto 5em;
	}
	#car--cargo:not(:checked) ~ .car-tab .car-tab__button[for=car--cargo]:not(:hover) .car-tab__photo,
	#car--light:not(:checked) ~ .car-tab .car-tab__button[for=car--light]:not(:hover) .car-tab__photo,
	#car--small:not(:checked) ~ .car-tab .car-tab__button[for=car--small]:not(:hover) .car-tab__photo,
	#car--middle:not(:checked) ~ .car-tab .car-tab__button[for=car--middle]:not(:hover) .car-tab__photo{
		transform: scale(.8);
	}
	#car--cargo:not(:checked) ~ .car-tab .car-tab__button[for=car--cargo]:after,
	#car--light:not(:checked) ~ .car-tab .car-tab__button[for=car--light]:after,
	#car--small:not(:checked) ~ .car-tab .car-tab__button[for=car--small]:after,
	#car--middle:not(:checked) ~ .car-tab .car-tab__button[for=car--middle]:after{
		visibility: hidden;
	}
}
@media (max-width: 768px){
	.car-tab__items{
		display: flex;
		flex-wrap: wrap;
		margin-left: -2.5%;
		margin-bottom: -2.5%;
	}
	.car-tab__item{
		flex: 0 0 47.5%;
		margin-left: 2.5%;
		margin-bottom: 2.5%;
	}
	
	.car-tab__button{
		padding: .5em 0 1em;
	}
	.car-tab__title{
		font-size: 1em;
		font-weight: bold;
		display: block;
		margin: 0 0 .5em;
	}
	.car-tab__photo{
		max-width: 50%;
	}
	.car-tab__note{
		display: none;
	}
	#car--cargo:checked ~ .car-tab .car-tab__button[for=car--cargo],
	#car--light:checked ~ .car-tab .car-tab__button[for=car--light],
	#car--small:checked ~ .car-tab .car-tab__button[for=car--small],
	#car--middle:checked ~ .car-tab .car-tab__button[for=car--middle]{
		border: .25em solid #f15e43;
		border-radius: .5em;
		margin: -.25em;
	}
}






@media (min-width: 769px){
	.car-grid{
		display: flex;
	}
	.car-grid__summary,
	.car-grid__detail{
		flex: 1 1 50%;
	}
	.car-grid__summary{
		overflow: hidden;
	}
	.car-grid__detail{
		margin-left: 5.75%;
	}
}
@media (max-width: 768px){
	.car-grid__detail{
		margin-top: 2em;
	}
}



.car-item__gallery{
	
}



.car-gallery{
	list-style: none;
	margin: 0;
	padding: 0;
}
.car-gallery__photo{
	max-width: 100%;
}

.car-gallery .slick-slide img{
	margin: 0 auto;
}
.car-gallery .slick-dots{
	display: flex;
	flex-wrap: wrap;
	
	list-style: none;
	margin: 1.125em 0 0 -3%;
	padding: 0;
}
.car-gallery .slick-dots li{
	box-sizing: border-box;
	cursor: pointer;
	
	flex: 0 0 22%;
	
	display: flex;
	align-items: center;
	justify-content: center;
	
	background: #f3f3f3;
	border: 1px solid #ebebeb;
	
	margin: 0 0 0 3%;
	padding: .5em 2em;
}
.car-gallery .slick-dots li.slick-active{
	border: 1px solid #f15e43;
}
.car-gallery .slick-dots img{
	width: 100%;
}
@media all and (-ms-high-contrast:none){
	.car-gallery .slick-dots li{
		padding: 0;
	}
}



.car-data{
	border-spacing: .75em;
	margin: -.75em;
}
.car-data tr:not(:last-child){
	
}
.car-data__head,
.car-data__body{
	line-height: 1.33;
	text-align: center;
}
.car-data__head{
	font-size: 1.125em;
	border-radius: 999em;
	
	padding: 0 1em;
}
.car-data__body{
	font-size: 1.5em;
	font-weight: bold;
	padding-left: .5em;
}
.car-data__head--width	{ color: #fff; background: #f15e43; }
.car-data__head--height	{ color: #fff; background: #9c8aa0; }
.car-data__head--length	{ color: #fff; background: #61a09c; }

.car-data__notice{
	font-size: .875em;
}



.car-notice{
	list-style: none;
	margin: 0;
	padding: 0;
}
.car-notice__item{
	font-size: 1.125em;
	font-weight: bold;
	text-indent: -1em;
	padding-left: 1em;
}






/* Notice */
.notice{
	background: #f3f3f3;
	padding: 3.75em 0;
}
.notice__title{
	line-height: 1.33;
	font-size: 1.5em;
	color: #8e8e8e;
	margin: 0 0 1em;
}
.notice__note{
	font-weight: bold;
	margin: 0 0 .5em;
}
.notice-list{
	list-style: none;
	margin: 0;
	padding: 0;
}
.notice-list__item{
	text-indent: -1em;
	padding-left: 1em;
}
.notice-list__item + .notice-list__item{
	margin-top: .25em;
}







/* Estimate */
.estimate{
	text-align: center;
}
.estimate-header{
	text-align: center;
}
.estimate-flow{
	
}
.estimate-flow__items{
	list-style: none;
	margin: 0;
	padding: 0;
}
.estimate-flow__item{
	
}
.estimate-flow__item:not(:last-child):after{
	content: "";
	display: block;
	
	border-style: solid;
	border-width: 1em 2.25em 0 2.25em;
	border-color: #b7e6fc transparent transparent transparent;
	
	width: 0;
	height: 0;
	
	margin: 2.5em auto;
}
.estimate-flow__title{
	line-height: 1.33;
	font-size: 1.5em;
	font-weight: bold;
	color: #f15e43;
	
	margin: 0 0 .5em 0;
}
.estimate-flow__note{
	font-size: .875em;
	font-weight: bold;
	
	margin: 0;
}
.estimate-fig{
	margin: 3.75em 0;
}
.estimate-fig__caption{
	line-height: 1.5;
	font-size: .875em;
	
	display: table;
	margin: 0 auto 1em;
	
	color: #fff;
	background-color: #333;
	border-radius: 3em;
	
	padding: .75em 2.25em;
}
.estimate-fig__figure{
	max-width: 100%;
}





/* Voice */
.voice{
	
}
.voice__inner{
	background: #b7e6fc;
	
	padding: 5.75em 0;
}
.voice__title{
	line-height: 1.33;
	font-size: 1.5em;
	font-weight: bold;
	
	color: #f15e43;
	
	margin: 0 0 1em 0;
}
.voice__user{
	font-size: .875em;
	font-weight: bold;
	margin: 0 0 1em 0;
}
.voice__note{
	line-height: 2;
	font-size: .875em;
	margin: 0;
}
.voice__note + .voice__note{
	margin-top: 1em;
}



.voice-list{
	list-style: none;
	margin: 0;
	padding: 0;
	
	display: flex;
}
.voice-list__item{
	flex: 1 1 0%;
	
	box-sizing: border-box;
	border-radius: 1em;
	background: #fff;
	
	position: relative;
	z-index: 0;
	
	padding: 3.25em;
}
.voice-list__item:after{
	content: "";
	display: block;
	
	position: absolute;
	top: 100%;
	right: 10%;
	width: 0;
	height: 0;
	
	border-style: solid;
	border-width: 0 0 1.875em 1.625em;
	border-color: transparent transparent transparent #fff;
}

@media (min-width: 769px){
	.voice-list__item:not(:first-child){
		margin-left: 1em;
	}
}

@media (max-width: 768px){
	.voice__inner{
		overflow: auto;
	}
	.voice-list:after{
		content: "";
		flex: 0 0 2.5%;
	}
	.voice-list__item{
		
		flex: 0 0 75%;
	}
	.voice-list__item:not(:first-child){
		margin-left: 2.5%;
	}
}





/********* add new food contents @ 220921 *********/

/* @ utility */
.fig{
	font-size: .75em;
	text-align: center;
	margin-left: 0;
	margin-right: 0;
}
.fig > img{
	max-width: 80%;
}

.belt-title{
	line-height: 1.33;
	font-size: 1.75em;
	text-align: center;
	color: #fff;
	background: #f15e43;
	padding: .25em 0;
}
@media (max-width: 768px){
	.belt-title{
		font-size: 1.3125em;
	}
}





/* @ award */
.award{
	text-align: center;
	color: #666;
}
.award__title{
	line-height: 1.75;
	font-size: 3em;
}
@media (max-width: 768px){
	.award__title{
		line-height: 1.33;
		font-size: 2em;
	}
}



/* @ award */
.about{
	color: #fff;
	background: #666 url(../img/about.jpg) no-repeat center / cover;
	padding: 8.75rem 0;
}
.about__title{
	line-height: 1.33;
	font-size: 2.25rem;
	font-weight: bold;
	position: relative;
	z-index: 0;
	display: inline-block;
	margin: 0;
	padding: .2em 0;
}
.about__title::after,
.about__title::before{
	content: "";
	background: #f15e43;
	display: block;
	position: absolute;
	z-index: -1;
	top: 0;
	bottom: 0;
}
.about__title::before{
	left: -100vw;
	right: 50%;
}
.about__title::after{
	left: 0;
	right: -9em;
	transform: skew(30deg);
}
@media (min-width: 769px){
	.about__banner{
		max-width: 38rem;
	}
}
@media (max-width: 768px){
	.about{
		padding: 4.375rem 0;
	}
	.about__title::after{
		right: -1em;
	}
}
.about__sub-title{
	font-size: 1.5em;
	font-weight: bold;
}
.about__note{
	line-height: 2;
	font-size: 1.125em;
}
.about__bt-more{
	font-size: 1.125em;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	color: white;
	border: 1px solid;
	display: block;
	box-sizing: border-box;
	width: min(38rem, 100%);
	padding: 1em 1lh;
}



/* @ data */
.data-tbl{
	line-height: 1.5;
	font-size: .875rem;
	
	min-width: 100%;
	border-spacing: 1px;
}
.data-tbl__head,
.data-tbl__body{
	padding: .75em 2em;
}
.data-tbl__head{
	font-weight: normal;
	text-align: left;
	color: #fff;
	background: #f15e43;
}
.data-tbl__body{
	background: #feefec;
}
.data-grid{
	display: grid;
	grid-gap: 1em;
	list-style: none;
	margin: 0;
	padding: 0;
}
@media (min-width: 769px){
	.data-grid{
		grid-template-columns: repeat(2, 1fr);
	}
}
* + .data-grid{
	margin-top: 1em;
}



/* @ contact */
.contact{
	line-height: 1.625;
	font-size: 1.5rem;
	font-weight: bold;
	text-align: center;
	color: #666;
}
.sitewidth--contact{
	max-width: 880px;
}
.contact__title{
	font-size: 1.5em;
}
.regist__button--contact{
	padding: .75em 1em;
}
@media (max-width: 768px){
	.contact{
		font-size: 1.125rem;
	}
	.contact__title{
		font-size: 1.25em;
	}
}
.contact__note{}



/* @ after site */
.site-title{
	line-height: 1.5;
	font-size: 1.5em;
	font-weight: bold;
	text-align: center;
}

/* @ after site photo */
.site-ph{
	line-height: 1.5;
	font-size: .875em;
	text-align: center;
	margin: 0;
}
@media (min-width: 769px){
	.site-ph{
		font-size: 1.25em;
	}
}
.site-ph--big{
	display: table;
	margin: 0 auto;
}
.site-ph > * + *{
	margin-top: .75em;
}
.site-ph__right{
	text-align: right;
}

.ph-list{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: 1.5vw;
	max-width: 954px;
	margin-left: auto;
	margin-right: auto;
}
.ph-list > .site-ph > img{
	width: 100%;
}

/* .ph-list{
	display: flex;
	flex-wrap: wrap;
	gap: .625rem;
}
@media (min-width: 769px){
	.ph-list > *{
		flex: 1 1 0;
		min-width: calc(25% - .625rem);
		max-width: calc(25% - .625rem);
		
		
		
		outline: 1px solid red;;
	}
}
@media (max-width: 768px){
	.ph-list > *{
		flex: 1 1 0;
		min-width: calc(50% - .625rem);
		max-width: calc(50% - .625rem);
	}
} */

/********* add new food contents @ 220921 *********/







/* Footer */
.g-footer{
	text-align: center;
}



.f-logo{
	margin: 3.75em 0;
}
.f-logo__data{
	max-width: 100%;
}



.f-nav__items{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	
	list-style: none;
	margin: 0 0 .75em;
	padding: 0;
}
.f-nav__link{
	line-height: 1.33;
	font-size: .875em;
	
	color: inherit;
	text-decoration: inherit;
	
	display: block;
	border: 1px solid;
	border-radius: 99em;
	
	padding: .25em 4em;
}
.f-nav__link:hover{
	opacity: .78;
}




.f-copyright{
	color: #fff;
	background: #333;
	padding: 1.875em 0;
}