/*** root ***/
:root{
	--main:#000000;
	--key:#ff6600;
	--sub:#3388ee;
	
	--bk:#000000;
	--gr:#eeeeee;
	--ch:#666666;
	--wh:#ffffff;
	--bg:#ffddbb;
	
	--mincho:serif;
	--gothic:sans-serif ;
}
*, *:before, *:after{
	box-sizing:border-box;
	border:0;
	vertical-align:baseline;
	font-style:normal;
	/*transition:0.8s;*/
}
a, span,
b, i, em, small, big, strong,
del, ins,
label, select, textarea, input, button,
img{ display:inline-block; }

p{ margin:1rem 0; }

dl, dt, dd{ margin:0; padding:0; }

a{ cursor:pointer; }

.row{ display:inline; }
.rowp{ display:inline-block; }
.box{ display:block; }

.imgwrap{
	display:block;
	text-align:center;
	vertical-align:middle;
	line-height:0;
}
.imgwrap > img,
.imgwrap > video{
	max-width:100%;
}
.imgwrap > video{
	max-height:100vh;
}

/*画像保護*/
img{
	pointer-events:none;
	-webkit-touch-calluot:none;
	-moz-touch-calluot:none;
	touch-calluot:none;
	-webkit-user-select:none;
	-moz-user-select:none;
	user-select:none;
}
.mincho{ font-family:serif; }
.gothic{ font-family:sans-serif; }


html,
body{
	font-family:var(--gothic);
	font-size:12px;
	line-height:2em;
	color:var(--bk);
	width:100%;
	margin:0;
	padding:0;
}
@media screen and ( min-width:360px ){
	html,body{ font-size:14px; }
}
@media screen and ( min-width:840px ){
	html,body{ font-size:16px; }
}

/** font size **/
small	{  font-size:0.75rem; }
big		{  font-size:2rem;}

.small	{ font-size:calc( 1rem - 2px ); }
.regular{ font-size:1rem; }
.middle	{ font-size:calc( 1em + 2px ); }
.larg	{ font-size:1.5rem; }
.big	{ font-size:2rem; }
.catch	{ font-size:3rem; }

.smaller{ font-size:0.75em; }
.normal	{ font-size:1em; }
.middler{ font-size:1.25em; }
.larger	{ font-size:1.5em; }
.bigger	{ font-size:2em; }


.low	{ line-height:1.25em; }
.mid	{ line-height:1.5em; }
.tall	{ line-height:2em; }
.lh15r	{ line-height:1.5rem; }
.lh20r	{ line-height:2rem; }
.narrow	{ line-height:calc( 1em + 4px ); }

.reset	{ font-size:1rem; font-weight:normal; }

/*** text ***/
.price,
.txtright	{ text-align:right; }
.txtcenter	{ text-align:center; }
.txtleft	{ text-align:left; }

.bold	{ font-weight:bold; }


/*** break ***/
br.br420,
br.br768,
br.br820{ display:none; }
br.br320{ display:inline; }

@media screen and ( min-width:420px ) and ( max-width:767px ){
	br.br320,
	br.br768,
	br.br820{ display:none; }
	br.br420{ display:inline; }
}
@media screen and ( min-width:768px ) and ( max-width:820px ){
	br.br320,
	br.br420,
	br.br820{ display:none; }
	br.br768{ display:inline; }
}
@media screen and ( min-width:821px ){
	br.br320,
	br.br420,
	br.br768{ display:none; }
	br.br820{ display:inline; }
}



/*** font color ***/
.ftmain	{ color:var(--main); }
.ftkey	{ color:var(--key); }
.ftsub	{ color:var(--sub); }

/*** border color ***/
.bdrmain	{ border-color:var(--main); }
.bdrkey	{ border-color:var(--key); }
.bdrsub	{ border-color:var(--sub); }

/*** background color ***/
.bgmain	{ background-color:var(--main); }
.bgkey	{ background-color:var(--key); }
.bgsub	{ background-color:var(--sub); }
.bgwh	{ background-color:var(--wh); }


/*** border ***/
.uline{ border-bottom:solid 1px; }
.udot{ border-bottom:dotted 1px; }
.udash{ border-bottom:dashed 1px; }
.fline{ border:solid 1px; }
.fdot{ border:dotted 1px; }
.fdash{ border:dashed 1px; }

.uline.dbw2, .udot.bdw2, .udash.bdw2,
.fline.bdw2, .fdot.bdw2, .fdash.bddw2{ border-width:2px; }
.uline.dbw3, .udot.bdw3, .udash.bdw3,
.fline.bdw3, .fdot.bdw3, .fdash.bddw3{ border-width:3px; }
.uline.dbw4, .udot.bdw4, .udash.bdw4,
.fline.bdw4, .fdot.bdw4, .fdash.bddw4{ border-width:4px; }
.uline.dbw5, .udot.bdw5, .udash.bdw5,
.fline.bdw5, .fdot.bdw5, .fdash.bddw5{ border-width:5px; }


/*** list ***/
ol.none, ul.none,
ol.lists, ul.lists{
	padding:0;
	list-style:none;
}

ul.disc, ol.disc,
ul.circle, ol.circle,
ul.square, ol.square,
ul.decimal, ol.decimal,
ul.maru, ol.marul,
ul.caution, ol.caution{
	padding-left:1.25em;
}
ul.num, ol.num{
	padding-left:2em;
}
ul.disc, ol.disc{
	list-style-type:disc;
}
ul.circle, ol.circle{
	list-style-type:circle;
}
ul.square, ol.square{
	list-style-type:square;
}
ol.decimal, ul.decimal{
	list-style-type:decimal;
}
ul.maru, ol.marul,
ul.caution, ol.caution,
ul.num, ol.num{
	list-style:none;
}
ul.maru > li, ol.maru > li,
ul.caution > li, ol.caution > li,
ul.num > li, ol.num > li{
	position:relative;
	counter-increment:cunt;
}
ul.maru > li:before, ol.maru > li:before{
	position:absolute;
	display:block;
	content:"●";
	width:1em;
	left:-1.25em;
	font-size:inherit;
}
ul.caution > li:before, ol.caution > li:before{
	position:absolute;
	display:block;
	content:"※";
	width:1em;
	left:-1.25em;
	font-size:inherit;
}
ul.num > li:before, ol.num > li:before{
	position:absolute;
	display:block;
	content:counter(cunt)")";
	width:2em;
	left:-2em;
	font-size:inherit;
	text-align:right;
}


/*** table ***/
.tbd{ display:table; }
.tbd,
table{
	border-collapse:collapse;
	border-spacing:0;
	width:100%;
}
.tbd.chart,
table.chart{
	border:solid 1px;
}
.tbd > .tbrow{ display:table-row; }
.tbd > .tbrow dt,
.tbd > .tbrow dd,
.tbd > .tbcel{
	display:table-cell;
	margin:0;
	vertical-align:middle;
}
.tbd > .tbrow dt{ width:25%; }
.tbd > .tbrow dd{ width:75%; }

.tbd > .tbrow dt,
.tbd > .tbrow dd{
	padding:0.5rem;
}
.ftb > .tbrow dt{
	padding:0.25rem 0.5rem;
}
.ftb > .tbrow dd{
	padding:0.25rem 0.5rem 0.25rem 3.5rem;
}
.ftb > .tbrow.must dd{
	position:relative;
}
.ftb > .tbrow.must dd:before{
	content:"必須";
	position:absolute;
	left:0.5rem;
	display:block;
	width:2.5rem;
	height:1.5rem;
	font-size:calc( 1rem - 2px );
	text-align:center;
	color:var(--wh);
	background-color:var(--key);
	border-radius:0.25rem;
}
.tb > .tbrow dt,
.tb > .tbrow dd{
	padding:0.25rem 0.5rem;
}
@media screen and ( min-width:720px ){
	.ftb{
		display:table;
		border-collapse:collapse;
		border-spacing:0;
		width:100%;
	}
	.tb{
		display:table;
		border-collapse:separate;
		border-spacing:10px;
		width:100%;
	}
	.ftb > .tbrow,
	.tb > .tbrow{
		display:table-row;
	}
	.ftb > .tbrow dt, .ftb > .tbrow dd,
	.tb > .tbrow dt, .tb > .tbrow dd,
	.tb > .tbcel{
		display:table-cell;
		margin:0;
	}
	.ftb > .tbrow dt,
	.tb > .tbrow dt{
		width:25%;
	}
	.ftb > .tbrow dd,
	.tb > .tbrow dd{
		width:75%;
	}
	.ftb > .tbrow dt{
		border-bottom:solid 1px var(--key);
	}
	.ftb > .tbrow dt,
	.ftb > .tbrow dd{
		padding-top:1rem;
		padding-bottom:1rem;
		vertical-align:top;
	}
}


/*** botton ***/
.btn,
.send,
.ahvbtn{
	width:100%;
	text-align:center;
	line-height:1;
	margin:0;
	padding:1rem max( 10px, 0.5rem );
	clear:both;
}
.btn a,
.ahvbtn a,
.btn [type="submit"],
.btn [type="button"]{
	box-sizing:border-box;
	display:inline-block;
	vertical-align:top;
	margin:0 0.75rem;
	text-align:center;
	text-decoration:none;
	line-height:1em;
	color:inherit;
}
.btn a{
	margin:0;
	padding:1rem;
	color:var(--wh);
	font-size:1rem;
	font-weight:bold;
	line-height:1rem;
	background-color:var(--key);
	border-radius:1.5rem;
}
.btn a.askform{
	background-color:var(--key);
}
.btn a.askline{
	background-color:#0c0;
}
.btn a.askinfo{
	background-color:#dd0000;
}
.btn a:first-of-type{
	margin-left:0;
	margin-right:0.5rem;
}
.btn a:last-of-type{
	margin-left:0.5rem;
	margin-right:0;
}
.btn a:only-of-type{
	width:100%;
	margin:0;
	text-decoration:none;
}
.btn:has(.askline) a{
	width:calc( 50% - 1rem );
	margin:0 0.5rem;
}
.ahvbtn a{
	width:300px;
	padding:0.375rem 1rem;
	border:solid 1px;
	font-size:1rem;
}
.btn [type="submit"],
.btn [type="button"]{
	width:auto;
	padding:1rem 1.5rem;
	background-color:var(--key);
	color:#fff;
	line-height:1rem;
	border-radius:1.5rem;
}

.btn a:hover,
.ahvbtn a:hover{
	border-color:var(--sub);
}
.btn [type="submit"]:hover,
.btn [type="button"]:hover{
	background-color:var(--sub);
}
.btn a + a{
	margin-left:1em;
}
@media screen and ( min-width:768px ){
	.btn.instbtn > a{
		max-width:14rem;
	}
	.btn.instbtn > a:only-of-type{
		max-width:320px;
	}
}


/*** flex box ***/
.flx{
	display:flex;
	/*flex-flow:{flex-direction} {flex-wrap};*/
	flex-direction:column; /*配置軸 row左右/column上下 (reverse で反転);*/
	flex-wrap:wrap; /*折り返し nowrap/wrap/wrap-reverse */
	/*justify-content:	横揃え flex-start/center/flex-end/center/space-between/space-around */
	align-items:flex-start;/*高さ揃え stretch/flex-start/flex-start/flex-end/center/baseline */
	align-content:stretch; /*複数の高さ揃え stretch/flex-start/flex-end/center/space-between/space-around */
	width:100%;
	list-style:none;
	margin:0;
	padding:0;
}
.double,
.trisect,
.quarter{
	display:flex;
	flex-flow:row wrap;
	align-items:flex-start;
	align-content:stretch;
	width:100%;
}
ul.flx, ol.flx,
ul.double, ol.double,
ul.trisect, ol.trisect,
ul.quarter, ol.quarter{
	list-style:none;
	padding:0;
}
ul.flx > li.cel, ol.flx > li.cel,
ul.double > li.cel, ol.double > li.cel,
ul.trisect > li.cel, ol.trisect > li.cel,
ul.quarter > li.cel, ol.quarter > li.cel{
	margin:0;
}
.flx.txtcenter{	 justify-content:center; }
.flx.txtleft{	 justify-content:flex-start; }
.flx.txtright{	 justify-content:flex-end; }

.cel,
.cel6-1, .cel6-2, .cel6-3 .cel6-4, .cel6-5,
.cel5-1, .cel5-2, .cel5-3, .cel5-4,
.cel4-1, .cel4-2, .cel4-3,
.cel3-1, .cel3-2
.cel2-1,
.cel1{
	order:0;
	/*flex:{flex-grow} {flex-shrink} {flex-basis}; */
	flex-grow:0;/*幅伸び率*/
	flex-shrink:1;/*幅縮比率*/
	/*flex-basis:	子要素の幅*/
	align-self:flex-start; /*子要素の垂直位置	flex-start/flex-end/center/stretch/baselne*/
	vertical-align:middle;
}
.double > .cel		{ flex-basis:50%; }
.trisect > .cel,
.trisect > .cel3-1	{ flex-basis:calc( 100% / 3 ); }
.trisect > .cel3-2	{ flex-basis:calc( 200% / 3 ); }
.quarter > .cel,
.quarter > .cel4-1	{ flex-basis:25%; }
.quarter > .cel4-2	{ flex-basis:50%; }
.quarter > .cel4-3	{ flex-basis:75%; }

.cel6-1, .cel6-2, .cel6-3m .cel6-4, .cel6-5,
.cel5-1, .cel5-2, .cel5-3, .cel5-4,
.cel4-1, cel4-2, .cel4-3,
.cel3-1, .cel3-2,
.cel2-1,
.cel1{
	width:100%;
}
.towcolumn,
.threecolumn{
	flex-flow:column wrap;
	align-items:flex-start;
	align-content:stretch;
	justify-content:center;
}
.towcolumn > .main,
.towcolumn > .side-l,
.towcolumn > .side-r,
.threecolumn > .main,
.threecolumn > .side-l,
.threecolumn > .side-r{
	flex:0 1 100%;
}

@media screen and ( min-width:767px ){

	.flx,
	.towcolumn, .threecolumn{
		flex-direction:row;
	}
	.cel6-1{ flex-basis:calc( 100% / 6 ); }
	.cel6-2{ flex-basis:calc( 200% / 6 ); }
	.cel6-3{ flex-basis:calc( 300% / 6 ); }
	.cel6-4{ flex-basis:calc( 400% / 6 ); }
	.cel6-5{ flex-basis:calc( 500% / 6 ); }
	.cel5-1{ flex-basis:20%; }
	.cel5-2{ flex-basis:40%; }
	.cel5-3{ flex-basis:60%; }
	.cel5-4{ flex-basis:80%; }
	.cel4-1{ flex-basis:25%; }
	.cel4-2{ flex-basis:50%; }
	.cel4-3{ flex-basis:75%; }
	.cel3-1{ flex-basis:calc( 100% / 3 ); }
	.cel3-2{ flex-basis:calc( 200% / 3 ); }
	.cel2-1{ flex-basis:50%; }
	.cel1-1{ flex-basis:100%; }
	
	.flx > .odr1{ order:1; }
	.flx > .odr2{ order:2; }
	.flx > .odr3{ order:3; }
	.flx > .odr4{ order:4; }
	.flx > .odr5{ order:5; }
	.flx > .odr6{ order:6; }
	.flx > .odr7{ order:7; }
	.flx > .odr8{ order:8; }
	.flx > .odr9{ order:9; }
	.flx > .odr10{ order:10; }
	
	.towcolumn > .side-l,
	.threecolumn > .side-l{
		order:1;
	}
	.towcolumn > .main,
	.threecolumn > .main{
		order:2;
	}
	.towcolumn > .side-r,
	.threecolumn > .side-r{
		order:3;
	}
	
	.towcolumn > .side-l,
	.towcolumn > .side-r{
		flex-basis:240px;
	}
	.towcolumn > .main{
		flex-basis:calc( 100% - 240px );
	}
	.threecolumn > .side-l{
		flex-basis:200px;
	}
	.threecolumn > .main{
		flex-basis:calc( 100% - 400px );
	}
	.threecolumn > .side-r{
		flex-basis:200px;
	}
}


/**** base block ****/
#wrapper,
#contents,
.wrapper{
	margin:0;
	padding:0;
	width:100%;
}
#wrapper{
	overflow:hidden;
	min-height:100vh;
}
#contents{
	margin:0;
	padding:0;
}
.wrap,
.content{
	width:100%;
	max-width:1600px;
}
.wrap{
	margin:0 auto;
}
.content{
	margin-top:4rem;
	margin-bottom:2rem;
	margin-right:auto;
	margin-left:auto;
}
.content:first-of-type{
	margin-top:2rem;
}
.section{
	margin-top:2rem;
	margin-bottom:6rem;
}
.thin{
	width:100%;
	margin-left:auto;
	margin-right:auto;
	padding:0 2rem;
}
@media screen and ( min-width:768px ){

	#contents{
		padding-top:0;
		padding-left:0;
		padding-right:0;
	}
	.thin{
		width:75%;
		max-width:720px;
		padding-left:0;
		padding-right:0;
	}

}


/**** Header ***/
/*header.wrapper*/
#siteheader.fix{
	position:fixed;
	top:0;
	left:0;
	background-color:#fff;
	z-index:9000;
}
#siteheader{
	/*position:relative;*/
	width:100%;
	margin:0 auto;
	text-align:center;
}
#sitecatch{
	margin:4px 0;
	font-size:calc( 1rem - 2px );
	line-height:1rem;
	text-align:center;
}
#sitelogo{
	display:block;
	height:5rem;
	padding:0;
}
#sitelogo > a{
	display:block;
	margin:0;
	padding:0;
	width:100%;
	height:100%;
	text-decoration:none;
	background-repeat:no-repeat;
	background-size:contain;
}
#sitelogo > a img{
	display:block;
	width:100%;
	height:100%;
	margin:0;
	padding:0;
	border:0;
}
#sitenav{
}
@media screen and ( min-width:768px ){
	header.wrapper{
		/*
		position:fixed;
		top:0;
		left:0;
		*/
		background-color:#fff;
		z-index:9000;
	}
	#siteheader.flx{
		/*
		position:static;
		top:auto; left:auto;
		flex-flow:row nowrap;
		*/
	}
	#sitelogo{ margin:0; }
	#sitenav{	}
}
@media screen and ( min-width:820px ){
	#sitenav{
		flex-basis:calc( 100% - 15rem );
	}
}


/*** Navigation ***/
.pull{
	display:none;
}
.pull + label{
	position:absolute;
	top:0;
	width:5rem;
	height:5rem;
	z-index:9999;
	margin:0;
	padding:calc( 1rem - 4px );
	text-align:center;
}
.pull + label:before{
	display:block;
	margin:0;
	padding:0;
	font-family:'dashicons';
	font-size:calc( 3rem + 8px );
	line-height:calc( 3rem + 8px );
	text-decoration:none;
	text-align:center;
	vertical-align:middle;
	width:100%;
	height:100%;
	overflow:hidden;
}
#menu-icon.pull + label{
	right:0;
}
#cart-icon.pull + label{
	right:5rem;
}
#menu-icon.pull + label:before{ content: "\f228"; }
#cart-icon.pull + label:before{ content: "\f174"; }

#menu-icon.pull:checked + label:before,
#cart-icon.pull:checked + label:before{
	content: "\f335";
}
#sitenav,
#cartnav{
	position:absolute;
	left:0;
	padding:0;
	background-color:var(--wh);
	overflow:hidden;
	width:100%;
	height:0; /* navgation close */
	z-index:9000;
}
.pull:checked + label + #sitenav,
.pull:checked + label + #cartnav{
	overflow:scroll;
	height:100vh; /* navigation open*/
}
.menu,
.sub-menu,
.cartmenu{
	list-style:none;
	padding:0;
	margin:0;
}
ul#main-menu,
ul#cart-menu{
	text-align:center;
	width:100%;
}
#sitenav li > a,
#sitenav .menu-item > a,
#sitenav .child-menu-item > a,
#cartnav .menu-item > a{
	display:block;
	cursor:pointer;
	text-decoration:none;
	text-align:center;
}
#sitenav .menu-item > a small,
#sitenav .child-menu-item > a small{
	display:block;
}
#sitenav #main-menu > li,
#sitenav .menu-item,
#sitenav .child-menu-item,
#cartnav .menu-item{
	margin:0 auto;
	padding:0.5rem;
	text-align:center;
	text-decoration:none;
	line-height:1em;
}
@media screen and ( min-width:768px ){
	header.wrapper{
		position:static;
	}
	#menu-icon.pull + label,
	#menu-icon.pull + label:before{
		display:none;
	}
	#sitenav{
		position:static;
		height:auto;
		overflow:visible;
		padding:0.5rem 0;
	}
	#cart-icon.pull + label{
		right:0;
	}
	#main-menu{
		display:flex;
		flex-flow:row nowrap;
		align-items:stretch;
	}
	#main-menu > .menu-item,
	#main-menu > li{
		margin:0;
		padding:0;
		text-align:center;
	}
	#sitenav li > a,
	#sitenav .menu-item > a,
	#sitenav .child-menu-item > a{
		width:100%;
		padding:1rem;
		text-align:center;
		font-size:1rem;
		line-height:1rem;
	}
	#sitenav .menu-item.has-children{
		position:relative;
	}
	#sitenav .has-children .sub-menu{
		position:absolute;
		left:0;
		top:2.5rem;
		width:100%;
		margin:0;
		z-index:999;
	}
	#sitenav .sub-menu > .child-menu-item{
		transition:0.5s;
		display:block;
		width:100%;
		height:0;
		margin:0;
		padding:0;
		border-radius:1rem;
		overflow:hidden;
		
	}
	#sitenav .has-children:hover > .sub-menu > .child-menu-item,
	#sitenav .sub-menu:hover > .child-menu-item{
		height:2em;
		margin:0.5rem 0;
	}
}
/******** BASE STYLE  END ********/



/********* CUSTUM STYLE *********/
/** block **/
#wrapper{
	/*padding-top:5rem;*/
}
@media screen and ( min-width:768px ){
	
}
@media screen and ( min-width:961px ){
	
}

/** header **/
#siteheader{
	position:relative;
}
#ttheader,
#bgslider{
	width:100%;
	height:calc( 100vh - 13rem );
}
#ttheader{
	position:relative;
	z-index:30;
	top:0;
	
}
#ttheader .super{
	display:block;
	max-width:1280px;
	padding:0 0.5rem;
	margin:0 auto;
	text-align:left;
	color:var(--wh);
}
#sitelogo{
	width:calc( 100% - 5rem );
	margin:0 5rem 0 0;
}
#sitelogo > a{
	background-image:url('parts/sitelogo.png');
	background-position:0 50%;
	text-indent:-9999rem;
}
#sitetitle{
	width:100%;
	height:7rem;
	margin-top:10vh;
	background-image:url('parts/sitelogo.png');
	background-position:50%;
	background-size:auto 100%;
	background-repeat:no-repeat;
	text-indent:-9999rem;
}
@media screen and ( min-width:768px ){
	#siteheader,
	#bgslider{
		height:640px;
	}
	#ttheader{
		height:auto;
	}
	#sitetitle{
		height:112px;
		margin-top:112px;
		margin-bottom:112px;
	}
	#instarea{
		position:relative;
		z-index:100;
	}
}
/** slider **/
#bgslider{
	position:absolute;
	z-index:10;
	width:100%;
}
.bg-item{
	position:absolute;
	z-index:10;
	width:100%;
	height:100%;
	background-repeat:no-repeat;
	background-size:auto 100%;
	background-position:50% 0;
	animation-duration:21s;
	animation-iteration-count:infinite;
}
#bg01{
	background-image:url('parts/top_sp_01.jpg');
	animation-name:bgslid-01;
	z-index:13;
}
#bg02{
	background-image:url('parts/top_sp_02.jpg');
	animation-name:bgslid-02;
	z-index:12;
}
#bg03{
	background-image:url('parts/top_sp_03.jpg');
	animation-name:bgslid-03;
	z-index:11;
}
@media screen and ( min-width:768px ){
	#bg01{ background-image:url('parts/top_pc_01.jpg'); }
	#bg02{ background-image:url('parts/top_pc_02.jpg'); }
	#bg03{ background-image:url('parts/top_pc_03.jpg'); }
}
@keyframes bgslid-01{
	0%	{ opacity:1; z-index:13; }
	24%	{ opacity:1; z-index:13; }
	34%	{ opacity:0; z-index:13; }
	57%	{ opacity:0; z-index:11; }
	67%	{ opacity:0; z-index:11; }
	90%	{ opacity:1; z-index:12; }
	100%{ opacity:1; z-index:12; }
}
@keyframes bgslid-02{
	0%	{ opacity:0; z-index:12; }
	24%	{ opacity:1; z-index:12; }
	34%	{ opacity:1; z-index:12; }
	57%	{ opacity:1; z-index:13; }
	67%	{ opacity:0; z-index:13; }
	90%	{ opacity:0; z-index:11; }
	100%{ opacity:0; z-index:11; }
}
@keyframes bgslid-03{
	0%	{ opacity:0; z-index:11; }
	24%	{ opacity:0; z-index:11; }
	34%	{ opacity:0; z-index:11; }
	57%	{ opacity:1; z-index:12; }
	67%	{ opacity:1; z-index:12; }
	90%	{ opacity:1; z-index:13; }
	100%{ opacity:0; z-index:13; }
}

/** navigation **/
.pull + label{
	background-color:var(--wh);
	border-radius:calc( 0.5rem - 2px );
}
.pull + label:before{
	color:var(--main);
}
#main-menu > li:first-of-type,
#main-menu .menu-item:first-of-type,
#cart-menu .menu-item:first-of-type{
	border-top:dotted 1px #999;
}
#main-menu > li,
#main-menu .menu-item,
#cart-menu .menu-item{
	border-bottom:dotted 1px #999;
}
#sitenav li > a,
#sitenav .menu-item > a,
#sitenav .child-menu-item > a,
#cartnav .menu-item > a{
	padding:1rem 0.5rem;
	line-height:1.5em;
	font-size:calc( 1rem + 4px );
	color:var(--bk);
	border-radius:6px;
}
#sitenav .child-menu-item{
	background-color:var(--bk);
	color:white;
}
#main-menu > li > a:hover,
#main-menu .menu-item a:hover,
#sitenav .child-menu-item a:hover,
#main-menu .menu-item a:hover{
	background-color:var(--bg);
}
@media screen and ( min-width:768px ){
	#siteheader > .wrap{
		/*display:flex;*/
	}
	#sitelogo{
		flex-basis:23rem;
	}
	#navigations{
		flex-basis:calc( 100% - 23rem );
		padding-left:3rem;
	}
	
	#main-menu{
		justify-content:flex-end;
	}
	#main-menu > li:first-of-type,
	#main-menu .menu-item:first-of-type{
		border-top:0;
	}
	#main-menu > .menu-item,
	#main-menu > li{
		flex:auto;
		border:0;
	}
	#main-menu .menu-item + .menu-item,
	#main-menu > li + li{
		border-left:1px solid white;
	}
}
/** EYECATCH IMAGE **/
.topimg img{
	display:block;
	margin:0;
	padding:0;
	border:0;
	width:100%;
}


#instarea{
	margin:1rem auto;
	max-width:480px;
	font-size:14px;
}
#instarea .inst-i{
	margin:0;
	line-height:21px;
	font-size:1em;
}
#instarea .inst-p{
	margin:0;
	line-height:56px;
	font-size:3em;
	font-weight:bold;
}
.inst-p .smaller{
	line-height:1;
}
#instarea .inst-n{
	margin:0;
	line-height:35px;
	font-size:2em;
	font-weight:bold;
}
#instarea .inst-s{
	margin:0;
	line-height:18px;
	font-size:calc( 1em - 2px );
}
@media screen and ( min-width:768px ){
	#instarea{
		color:var(--wh);
		font-size:16px;
	}
	#instarea .inst-i{
		line-height:24px;
	}
	#instarea .inst-p{
		line-height:64px;
	}
	#instarea .inst-n{
		line-height:40px;
	}
	#instarea .inst-s{
		line-height:21px;
	}
}


/** contents **/
.inwrapper{
	width:100%;
	margin:0;
	padding:2rem 0.25rem;
}
#management > .inwrapper{
	background-color:#cceeff;
}
#fixedamount > .inwrapper{
	background-color:#ffffbb;
}
#fixedamount .flx .cel3-1{
	padding:1rem;
}
.flx > .cel3-1 > .service{
	margin:0 auto;
	padding:2rem;
	background-color:#cceedd;
	border-radius:1rem;
	text-align:center;
}
#information > .inwrapper{
	background-color:#fabbbb;
}
.keycut,
.keycut > img{
	height:8rem;
}
.keycut{
	margin:1rem auto;
}
.cut,
.cut.imgwrap img{
	height:6rem;
}
.keycut > img,
.cut > img{
	width:auto;
}
@media screen and ( min-width:768px ){
	#fixedamount .flx{
		max-width:calc( 6rem + 960px );
		margin:0 auto;
	}
	.flx > .cel3-1 > .service{
		max-width:320px;
	}
}

.keytitle{
	margin:1em auto;
	padding:0.25em;
	font-size:min( 2rem, calc(100vw / 20) );
	font-weight:bold;
	line-height:1.25em;
}
h1.keytitle{
	color:var(--bk);
}
h2.keytitle{
	color:#666;
}
.boxtitle{
	font-size:calc( 100vw / 15 );
}
.boxtitle + p{
	font-size:calc( 100vw / 25 );
	line-height:2em;
	margin:1em;
}

@media screen and ( min-width:768px ){
	.boxtitle{
		font-size:calc( 33vw / 14 );
	}
	.boxtitle + p{
		font-size:min( 1rem, calc( 33vw / 25 ) );
	}
}
@media screen and ( min-width:960px ){

	.boxtitle{
		font-size:1.5rem;
	}
}

/** plan **/
#planchart{
	width:calc( 100% - 2rem );
	margin:2rem 1rem;
	overflow:scroll;
}
#planchart table{
	border-collapse:separate;
	border-spacing:0 0.25rem;
}
#planchart th,
#planchart td{
	padding:0.5rem;
	line-height:2rem;
	border-right:solid 0.25rem #fff;
}
#planchart th{
	color:#fff;
}
#planchart td{
	min-width:12rem;
}
#planchart th.ptt{
	background-color:#33aaee;
	border-radius:1.5rem;
}
#planchart th.tt{
	min-width:11rem;
	border-radius:1.5rem 0 0 1.5rem;
}
#planchart .stiky{
	position:sticky;
	top:0;
	left:0;
}

#planchart tr.once th.tt{
	background-color:#7d7d7d;
}
#planchart tr.once td{
	background-color:#eeeeee;
}
#planchart tr.monthly th.tt{
	background-color:#61c1be;
}
#planchart tr.monthly td{
	background-color:#cbf5e5;
}

@media screen and ( min-width:768px ){
	
	#planchart,
	#planchart + .box{
		width:75%;
		max-width:724px;
		margin:2rem auto;
	}
}

/*** guidance ***/
#guidance li{
	margin-bottom:8rem;
}
/*** privacy-policy ***/
ul.privacy-list{
	list-style:none;
	padding-left:1rem;
}
.privacy-list strong{
	margin-left:-1rem;
}


/****　footer　*****/
#sitefooter{
	padding:3rem 0 0 0;
	text-align:center;
}

.guidlink{
	margin:2rem auto;
	padding:0;
}
.guidlink li{
	display:inline-block;
	margin:0.25rem 0.5em;
	padding:0;
	line-height:1.5rem;
}
.guidlink li > a{
	display:block;
	padding:4px;
	color:inherit;
	text-decoration:none;
}
.guidlink li > a:hover{
	border-bottom:solid 1px;
	padding:4px 4px 3px 4px;
}

#footername h2{
	margin:0;
	font-size:1.75rem;
}
#footername small{
	font-size:calc( 1rem - 4px );
}
#copyright{
	padding:2rem;
	font-size:calc( 1rem - 2px );
}





/***** Form *****/

label,
input,select,textarea{
	font-family:var(--gothic);
	font-size:inherit;
	font-weight:normal;
	line-height:1.25em;
}
input,select,textarea{
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance:none;
	box-sizing:border-box;
	border:solid 1px;
	background-color:#fff;
}
input[type="button"],input[type="submit"]{
	border:0;
}
input[type="text"],input[type="email"],input[type="password"],
input[type="number"],
input[type="button"],input[type="submit"]{
	width:100%;
	padding:0.125rem 0.25rem;
}
textarea{
	width:100%;
	padding:0.125rem 0.25rem;
}
input[type="text"]#name1,
input[type="text"]#name2,
input[type="text"]#name3,
input[type="text"]#name4{
	width:40%;
}
input[type="radio"],
input[type="checkbox"]{
	display:none;
}
label > input[type="radio"] + span:before,
input[type="radio"] + label > span:before{
	background-image:url('css/parts_radio.svg');
}
label > input[type="checkbox"] + span:before,
input[type="checkbox"] + label > span:before{
	background-image:url('css/parts_checkbox.svg');
}
label > input[type="radio"] + span:before,
input[type="radio"] + label > span:before,
label > input[type="checkbox"] + span:before,
input[type="checkbox"] + label:not(.triger) > span:before{
	content:'';
	display:inline-block;
	width:1em;
	height:1em;
	margin-right:0.25em;
	background-position:50% 0;
	background-size:1em auto;
	background-repeat:no-repeat;
	vertical-align:middle;
}
label > input[type="radio"]:checked + span:before,
input[type="radio"]:checked + label > span:before,
label > input[type="checkbox"]:checked + span:before,
input[type="checkbox"]:checked + label > span:before{
	background-position:0 100%;
}

select{
	padding:0.25em 1.75em 0.25em 0.5em;
	margin-left:4px;
	margin-right:4px;
	background-image:url('css/parts_select.svg');
	background-position:100% 50%;
	background-size:2em;
	background-repeat:no-repeat;
}
button{
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance:none;
	font-size:1rem;
	color:var(--gd);
	border:0;
	background:none;
}
/*
button:hover{
	color:var(--sub);
}
*/
input[type="text"] + [type="button"],
select + [type="button"]{
	margin:0 0 0 0.5em;
}
.mwform-zip-field{
	display:block;
	margin-bottom:0.5em;
}
@media screen and ( min-width:768px){
	input[type="text"],input[type="email"],input[type="password"],
	input[type="number"],
	input[type="button"],input[type="submit"],
	textarea{
		width:auto;
	}
}



/** margin **/
.center{
	display:block;
	margin-left:auto;
	margin-right:auto;
}
.m0{ margin:0; }
.m05em{ margin:0.5em; }
.m1em{ margin:1rem; }
.m15em{ margin:1.5rem; }
.m2em{ margin:2rem; }
.m25em{ margin:2.5rem; }
.m3em{ margin:3rem; }
.m35em{ margin:3.5rem; }
.m4em{ margin:4rem; }
.m45em{ margin:4.5rem; }
.m5em{ margin:5rem; }
.m55em{ margin:5.5rem; }

.mtb05em{ margin-top:0.5rem; margin-bottom:0.5rem; }
.mtb1em{ margin-top:1rem; margin-bottom:1rem; }
.mtb15em{ margin-top:1.5rem; margin-bottom:1.5rem; }
.mtb2em{ margin-top:2rem; margin-bottom:2rem; }
.mtb25em{ margin-top:2.5rem; margin-bottom:2.5rem; }
.mtb3em{ margin-top:3rem; margin-bottom:3rem; }
.mtb35em{ margin-top:3.5rem; margin-bottom:3.5rem; }
.mtb4em{ margin-top:4rem; margin-bottom:4rem; }
.mtb45em{ margin-top:4.5rem; margin-bottom:4.5rem; }
.mtb5em{ margin-top:5rem; margin-bottom:5rem; }
.mtb55em{ margin-top:5.5rem; margin-bottom:5.5rem; }

.mlr{	 margin-left:auto; margin-right:auto; }
.mlr05em{ margin-left:0.5rem; margin-right:0.5rem; }
.mlr1em{ margin-left:1rem; margin-right:1rem; }
.mlr15em{ margin-left:1.5rem; margin-right:1.5rem; }
.mlr2em{ margin-left:2rem; margin-right:2rem; }
.mlr25em{ margin-left:2.5rem; margin-right:2.5rem; }
.mlr3em{ margin-left:3rem; margin-right:3rem; }
.mlr35em{ margin-left:3.5rem; margin-right:3.5rem; }
.mlr4em{ margin-left:4rem; margin-right:4rem; }
.mlr45em{ margin-left:4.5rem; margin-right:4.5rem; }
.mlr5em{ margin-left:5rem; margin-right:5rem; }
.mlr55em{ margin-left:5.5rem; margin-right:5.5rem; }

.mt0{ margin-top:0; }
.mt05em{ margin-top:0.5rem; }
.mt1em{ margin-top:1rem; }
.mt15em{ margin-top:1.5rem; }
.mt2em{ margin-top:2rem; }
.mt25em{ margin-top:2.5rem; }
.mt3em{ margin-top:3rem; }
.mt35em{ margin-top:3.5rem; }
.mt4em{ margin-top:4rem; }
.mt45em{ margin-top:4.5rem; }
.mt5em{ margin-top:5rem; }
.mt55em{ margin-top:5.5rem; }

.mb0{ margin-bottom:0; }
.mb05em{ margin-bottom:0.5rem; }
.mb1em{ margin-bottom:1rem; }
.mb15em{ margin-bottom:1.5rem; }
.mb2em{ margin-bottom:2rem; }
.mb25em{ margin-bottom:2.5rem; }
.mb3em{ margin-bottom:3rem; }
.mb35em{ margin-bottom:3.5rem; }
.mb4em{ margin-bottom:4rem; }
.mb45em{ margin-bottom:4.5rem; }
.mb5em{ margin-bottom:5rem; }
.mb55em{ margin-bottom:5.5rem; }

.ml0{ margin-left:0; }
.ml05em{ margin-left:0.5rem; }
.ml1em{ margin-left:1rem; }
.ml15em{ margin-left:1.5rem; }
.ml2em{ margin-left:2rem; }
.ml25em{ margin-left:2.5rem; }
.ml3em{ margin-left:3rem; }
.ml35em{ margin-left:3.5rem; }
.ml4em{ margin-left:4rem; }
.ml45em{ margin-left:4.5rem; }
.ml5em{ margin-left:5rem; }
.ml55em{ margin-left:5.5rem; }

.mr0{ margin-right:0; }
.mr05em{ margin-right:0.5rem; }
.mr1em{ margin-right:1rem; }
.mr15em{ margin-right:1.5rem; }
.mr2em{ margin-right:2rem; }
.mr25em{ margin-right:2.5rem; }
.mr3em{ margin-right:3rem; }
.mr35em{ margin-right:3.5rem; }
.mr4em{ margin-right:4rem; }
.mr45em{ margin-right:4.5rem; }
.mr5em{ margin-right:5rem; }
.mr55em{ margin-right:5.5rem; }

/** padding **/
.p0{ padding:0; }
.p05em{ padding:0.5rem; }
.p1em{ padding:1rem; }
.p15em{ padding:1.5rem; }
.p2em{ padding:2rem; }
.p25em{ padding:2.5rem; }
.p3em{ padding:3rem; }
.p35em{ padding:3.5rem; }
.p4em{ padding:4rem; }
.p45em{ padding:4.5rem; }
.p5em{ padding:5rem; }
.p55em{ padding:5.5rem; }

.ptb05em{ padding-top:0.5rem; padding-bottom:0.5rem; }
.ptb1em{ padding-top:1rem; padding-bottom:1rem; }
.ptb15em{ padding-top:1.5rem; padding-bottom:1.5rem; }
.ptb2em{ padding-top:2rem; padding-bottom:2rem; }
.ptb25em{ padding-top:2.5rem; padding-bottom:2.5rem; }
.ptb3em{ padding-top:3rem; padding-bottom:3rem; }
.ptb35em{ padding-top:3.5rem; padding-bottom:3.5rem; }
.ptb4em{ padding-top:4rem; padding-bottom:4rem; }
.ptb45em{ padding-top:4.5rem; padding-bottom:4.5rem; }
.ptb5em{ padding-top:5rem; padding-bottom:5rem; }
.ptb55em{ padding-top:5.5rem; padding-bottom:5.5rem; }

.plr05em{ padding-left:0.5rem; padding-right:0.5rem; }
.plr1em{ padding-left:1rem; padding-right:1rem; }
.plr15em{ padding-left:1.5rem; padding-right:1.5rem; }
.plr2em{ padding-left:2rem; padding-right:2rem; }
.plr25em{ padding-left:2.5rem; padding-right:2.5rem; }
.plr3em{ padding-left:3rem; padding-right:3rem; }
.plr35em{ padding-left:3.5rem; padding-right:3.5rem; }
.plr4em{ padding-left:4rem; padding-right:4rem; }
.plr45em{ padding-left:4.5rem; padding-right:4.5rem; }
.plr5em{ padding-left:5rem; padding-right:5rem; }
.plr55em{ padding-left:5.5rem; padding-right:5.5rem; }

.pt0{ padding-top:0; }
.pt05em{ padding-top:0.5rem; }
.pt1em{ padding-top:1rem; }
.pt15em{ padding-top:1.5rem; }
.pt2em{ padding-top:2rem; }
.pt25em{ padding-top:2.5rem; }
.pt3em{ padding-top:3rem; }
.pt35em{ padding-top:3.5rem; }
.pt4em{ padding-top:4rem; }
.pt45em{ padding-top:4.5rem; }
.pt5em{ padding-top:5rem; }
.pt55em{ padding-top:5.5rem; }

.pb0{ padding-bottom:0; }
.pb05em{ padding-bottom:0.5rem; }
.pb1em{ padding-bottom:1rem; }
.pb15em{ padding-bottom:1.5rem; }
.pb2em{ padding-bottom:2rem; }
.pb25em{ padding-bottom:2.5rem; }
.pb3em{ padding-bottom:3rem; }
.pb35em{ padding-bottom:3.5rem; }
.pb4em{ padding-bottom:4rem; }
.pb45em{ padding-bottom:4.5rem; }
.pb5em{ padding-bottom:5rem; }
.pb55em{ padding-bottom:5.5rem; }

.pl0{ padding-left:0; }
.pl05em{ padding-left:0.5rem; }
.pl1em{ padding-left:1rem; }
.pl15em{ padding-left:1.5rem; }
.pl2em{ padding-left:2rem; }
.pl25em{ padding-left:2.5rem; }
.pl3em{ padding-left:3rem; }
.pl35em{ padding-left:3.5rem; }
.pl4em{ padding-left:4rem; }
.pl45em{ padding-left:4.5rem; }
.pl5em{ padding-left:5rem; }
.pl55em{ padding-left:5.5rem; }

.pr0{ padding-right:0; }
.pr05em{ padding-right:0.5rem; }
.pr1em{ padding-right:1rem; }
.pr15em{ padding-right:1.5rem; }
.pr2em{ padding-right:2rem; }
.pr25em{ padding-right:2.5rem; }
.pr3em{ padding-right:3rem; }
.pr35em{ padding-right:3.5rem; }
.pr4em{ padding-right:4rem; }
.pr45em{ padding-right:4.5rem; }
.pr5em{ padding-right:5rem; }
.pr55em{ padding-right:5.5rem; }




/****: Wordpress :****/
.alignnone,
.alignright,
.alignleft,
.aligncenter{
	vertical-align:top;
}
.alignnone{
}
.alignright{
	text-align:right;
}
.alignleft{
	text-align:left;
}
.aligncenter{
	text-align:center;
	margin-left:auto;
	margin-right:auto;
}
img.alignright,
img.aligncenter{
	display:block;
}
img.alignright{
	float:right;
}
img.alignleft{
	float:left;
}
img{
	max-width:100%;
	height:auto;
}
.clf{
	overflow:hidden;
}
.clf:after{
	content:"";
	display:block;
	clear:both;
}

@media screen and (min-width:481px){

}
@media screen and (min-width:751px){

}
@media screen and (min-width:871px){


/*---- Wordpress ----*/


/***** Login *****/
#login h1 a{
	width:100%;
	height:0;
	padding-bottom:30%;
	background-size:contain;
	background-image:url('parts/sitelogo.png');
}
#adminlink{
	text-align:center;
	line-height:1;
	background-color:var(--gd);
}
#adminlink a{
	color:var(--gd);
	text-decoration:none;
	line-height:2em;
}

