/*--------------------------------------------------------
	
	custom
	
--------------------------------------------------------*/
footer aside{
	margin-top: 0;
}

header .primary .find > a{
	padding-left: 30px;
	background-image: none;
}
#contactus{
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	
	display: flex;
	align-items: center;
	
	pointer-events: none;
}
#contactus{
	pointer-events: auto;
}
#contactus a img{}
@media print,screen and (min-width:641px){
	#contactus .sp{
		display: none;
	}
}
@media print,screen and (max-width:640px){
	#contactus .pc,
	#contactus .sp{
		display: none;
	}
}






/*--------------------------------------------------------
	
	usage
	
--------------------------------------------------------*/
@keyframes fadein{
	from	{ opacity: 0; }
	to		{ opacity: 1; }
}






/* [js] accordion */
.js-accordion:not(.js-accordion--active) .js-accordion__target{
	display: none;
}
.js-accordion.js-accordion--active .js-accordion__target{
	animation: fadein 160ms ease-out;
}



/* [js] bg */
.js-bg{
	overflow: hidden;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
}
.js-bg__trigger{
	visibility: hidden;
}
.js-bg__trigger--hide{
	display: block;
	position: fixed;
	left: 110%;
}




/* [js] tab */
.js-tab,
.js-tab2{}
.js-tab_switch,
.js-tab2_switch{}
.js-tab_item,
.js-tab2_item{
	position: absolute;
	left: -9999px;
	right: 9999px;
	top: -9999px;
}
.js-tab_item.is-active,
.js-tab2_item.is-active{
	position: static;
	animation: fadein .3s ease-in-out both;
}
@media (min-width: 641px){
	.pc-js-tab,
	.pc-js-tab2{}
	.pc-js-tab_switch,
	.pc-js-tab2_switch{}
	.pc-js-tab_item,
	.pc-js-tab2_item{
		position: absolute;
		left: -9999px;
		top: -9999px;
	}
	.pc-js-tab_item.pc-is-active,
	.pc-js-tab2_item.pc-is-active{
		position: static;
		animation: fadein .3s ease-in-out both;
	}
}
@media (max-width: 640px){
	.sp-js-tab,
	.sp-js-tab2{}
	.sp-js-tab_switch,
	.sp-js-tab2_switch{}
	.sp-js-tab_item,
	.sp-js-tab2_item{
		position: absolute;
		left: -9999px;
		top: -9999px;
	}
	.sp-js-tab_item.sp-is-active,
	.sp-js-tab2_item.sp-is-active{
		position: static;
		animation: fadein .3s ease-in-out both;
	}
}




.scroller{
	overflow: auto;
}




.nm-note3	{ font-size: 1.5em; }
.nm-note2	{ font-size: 1.25em; }
.nm-note1	{ font-size: 1.125em; }
.nm-note0	{ font-size: 1.125em; }
.nm-note-1	{ font-size: .875em; }
.nm-note-2	{ font-size: .7em; }
.nm-note-3	{ font-size: .625em; }
.nm-note3,
.nm-note2,
.nm-note1,
.nm-note0,
.nm-note-1,
.nm-note-2,
.nm-note-3{
	line-height: 1.5em;
	margin-bottom: 1em;
}



.coming-soon{
	line-height: 1;
	font-size: 3em;
	text-align: center;
	padding-top: 3em;
	padding-bottom: 3em;
}



/*--------------------------------------------------------
	
	base
	
--------------------------------------------------------*/
.nm-separate1{
	opacity: .5;
	
	border: 0 none;
	border-bottom: 1px solid;
	
	margin-top: 3.5em;
	margin-bottom: 3.5em;
}



.nm-sitewidth{
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
	
	min-width: 320px;
}
@media print,screen and (min-width:641px){
	.nm-sitewidth{
		width: 1000px;
	}
}
@media print,screen and (max-width:640px){
	.nm-sitewidth{
		padding-left: 9%;
		padding-right: 9%;
	}
}



.nm-main{
	font-size: 14px;
	line-height: 1.5em;
	
	margin-bottom: 6em;
}

@media print,screen and (max-width:640px){
	.nm-main{
		font-size: 12px;
		line-height: 2em;
	}
}






.page-header{}
.page-header__title{
	font-size: 2em;
	padding-top: 2.25em;
	padding-bottom: 2.25em;
}
.page-header__bg{}







@media print,screen and (min-width:641px){}
@media print,screen and (max-width:640px){}