html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
	font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
	font-weight:normal;
}

h1, h2, h3, h4, h5, h6 {
	font-family: '游ゴシック', YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Verdana, sans-serif;
	font-weight: bold;
}

html{
	font-size:16px;
}


img{
	width:100%;
	height:auto;
	object-fit: cover;
}

a {
	cursor: pointer;
	color:black;
}

small, .small{
	font-size:0.8em;
}

main{
	position: relative;
	background-color:white;
	padding-top:66px;
	font-size:15px;
}

main h1 {
	position: relative;
	text-align:center;
    font-size: 1.88em;
    letter-spacing: 0.1em;
	font-weight:bold;
	line-height: 1.5em;
	margin:1.5em 0 1.25em 0;
}

.marker_b,
.marker_l{
	position: relative;
	display: inline-block;
	z-index:1;
}


.marker_b::after{
	content: '';
	display:block;
	width:90%;
	position: absolute;
	height:10px;
	left:50%;
	transform: translate(-50%,0);
	margin:-0.55em auto 0 auto;
	background:gray;
	z-index:-1;
}


.marker_l::after{
	content: '';
	display: block;
	position: absolute;
	height: 1px;
	width: 90%;
	left:50%;
	transform: translate(-50%,0);
	margin:2px auto 0 auto;
	background:gray;
}


main h2 {
	text-align:center;
    font-size: 1.44em;
	font-weight:bold;
	margin:0 0 1.44em 0;
}
main h2 span{
	font-weight:600;
}
main h2.contents{
	padding:0;
}


main h3{
	font-size:1.22em;
	font-weight:bold;
	margin:0 0 1em 0;
}

main h4{
	font-size:1em;
	font-weight:bold;
	margin:0.75em 0;
}

main h1 small {
	display:block;
    font-size: 0.5em;
}

main p {
	padding:0;
	margin:0;
	margin-bottom:2em;
    line-height: 2em;
}

main p.small{
	margin-bottom:1em !important;
}

main p.i{
	text-indent: 1em;
}

main td p, main td h4, main td li{
	margin-bottom:1em;
}


main a:hover{
	opacity:0.5;
	transition: ease .3s;
}

em{
	font-style: normal;
	color:rgb(202, 60, 60);
}


main hr {
	border-top:0.5px solid #ddd;
	border-bottom:none;
	margin-bottom:2em;
}

main li {
    margin-bottom: 1em;
	line-height:2em;
}

main b{
	font-weight: bold;
}


/*					*/
/*		yd2定義		*/
/*					*/

main {
	overflow: hidden;
}


/* 				*/
/* 	contents 	*/
/* 				*/

.contents{
	margin-left:1.5em;
	margin-right:1.5em;
}

main .contents{
	padding-bottom:2em;
}

main .contents div[class*="pure-u-"]{
	box-sizing: border-box;
}

main .contents div[class*="pure-u-"]{
	padding-left:0.5em;
	padding-right:0.5em;
}
main .contents div[class*="pure-u-"]:first-child,
main .contents div.pure-u-1{
	padding-left:0;
}
main .contents div[class*="pure-u-"]:last-child,
main .contents div.pure-u-1{
	padding-right:0;
}

/* sm */
@media (min-width: 568px) {
	main .contents div[class*="pure-u-"],
	main .contents div.pure-u-1{
		padding-left:1.0em;
		padding-right:1.0em;
	}
	
	main .contents div[class*="pure-u-"]:first-child,
	main .contents div.pure-u-sm-1{
		padding-left:0;
	}
	main .contents div[class*="pure-u-"]:last-child,
	main .contents div.pure-u-sm-1{
		padding-right:0;
	}

	main .contents div[class*="pure-u-"].order-sm-1{
		-webkit-box-ordinal-group:1;
		-ms-flex-order:1; 
		-webkit-order:1; 
		order:1;
		padding-left:0;
		padding-right:1em;
	}
	main .contents div[class*="pure-u-"].order-sm-2{
		-webkit-box-ordinal-group:2;
		-ms-flex-order:2; 
		-webkit-order:2; 
		order:2;
		padding-left:1em;
		padding-right:0;
	}
}

/* md */
@media(min-width: 768px) {
	main .contents div[class*="pure-u-"],
	main .contents div.pure-u-1,
	main .contents div.pure-u-sm-1{
		padding-left:1.5em;
		padding-right:1.5em;
	}
	
	main .contents div[class*="pure-u-"]:first-child,
	main .contents div.pure-u-md-1{
		padding-left:0;
	}
	main .contents div[class*="pure-u-"]:last-child,
	main .contents div.pure-u-md-1{
		padding-right:0;
	}

	main .contents div[class*="pure-u-"].order-md-1{
		-webkit-box-ordinal-group:1;
		-ms-flex-order:1; 
		-webkit-order:1; 
		order:1;
		padding-left:0;
		padding-right:1.5em;
	}
	main .contents div[class*="pure-u-"].order-md-2{
		-webkit-box-ordinal-group:2;
		-ms-flex-order:2; 
		-webkit-order:2; 
		order:2;
		padding-left:1.5em;
		padding-right:0;
	}

	main .contents div[class*="pure-u-"].order-sm-1{
		padding-right:1.5em;
	}
	main .contents div[class*="pure-u-"].order-sm-2{
		padding-left:1.5em;
	}

}
/* lg */
@media (min-width: 1024px) {
	main .contents div[class*="pure-u-"],
	main .contents div.pure-u-1,
	main .contents div.pure-u-sm-1,
	main .contents div.pure-u-md-1{
		padding-left:2em;
		padding-right:2em;
	}
	
	main .contents div[class*="pure-u-"]:first-child,
	main .contents div.pure-u-lg-1{
		padding-left:0;
	}
	main .contents div[class*="pure-u-"]:last-child,
	main .contents div.pure-u-lg-1{
		padding-right:0;
	}

	main .contents div[class*="pure-u-"].order-sm-1,
	main .contents div[class*="pure-u-"].order-md-1{
		padding-right:2em;
	}
	main .contents div[class*="pure-u-"].order-sm-2,
	main .contents div[class*="pure-u-"].order-md-2{
		padding-left:2em;
	}
}





.mt{
	margin-top:1em;
}

.mt-1{
	margin-top:1em !important;
}

.mb{
	margin-bottom:2em;
}

.mb-1{
	margin-bottom:1em !important;
}


.mb-0{
	margin-bottom:0 !important;
}
.mt-0{
	margin-top:0 !important;
}

.pb-0{
	padding-bottom:0 !important;
}
.pt-0{
	padding-top:0 !important;
}


.z{
	opacity:0;
}

.d-none{
	display:none;
}

.float-right{
	display:block;
	float:right;
}

.text-center{
	text-align:center !important;
}
.text-right{
	text-align:right !important;
}
.text-left{
	text-align:left !important;
}

.float-center{
	margin-left:auto;
	margin-right:auto;
}

.button-small {
	font-size: 75%;
	display:inline-block;
	margin:-0.2em 0.4em 0 0 !important;
}

.btnGroup{
    width:100%;
    text-align:center;
    margin:1em 0;
}

.btnGroup input, .btnGroup a{
    margin:0 0.25em;
}


.dummy {
	cursor:text;
}

.danger, .error {
	border-color:rgb(202, 60, 60) !important;
}

.text-danger{
	color:rgb(202, 60, 60) ;
}

.text-warning{
	color:rgb(255,153,0);
}
.pure-g div{
	box-sizing: border-box;
}


.pure-button{
	border-radius: 0;
    font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;	
}


.pure-button-hover,.pure-button:focus,.pure-button:hover{
	background-image:none;
	opacity:0.5 !important;
	transition:0.75s;
}




.pure-button-error, .pure-button-danger{
	color: white;
	background: rgb(202, 60, 60);
	/* this is a maroon */
}
.pure-button-warning{
	color: white;
	background: rgb(255, 153, 0);
	/* this is a maroon */
}

.pure-button-block{
	width:100%;
}

.pure-table{
	width:100%;
	border:none;
}

.pure-table thead{
	background-color:transparent;
}

.pure-table th, .pure-table td{
	border:none;
}

.pure-table tr{
	border-top:0.5px solid #ddd;
}

.pure-table caption{
	caption-side: bottom;
	text-align: left;
}

.pure-table-striped tbody tr:nth-child(2n-1) td,
.pure-table-striped tbody tr:nth-child(2n-1) th{
	background-color:#fafafa;
}

.pure-table.pure-table-bordered{
	border-bottom:0.5px solid #ddd;
}

.pure-table-bordered th,
.pure-table-bordered td{
	border-right:0.5px solid #ddd;
}

.pure-table-bordered th:first-child,
.pure-table-bordered td:first-child{
	border-left:0.5px solid #ddd;
}


.pure-table ul, .pure-table ol{
	margin:0;
	padding-left:1.44em;
}

.pure-table dl.vertical{
	margin-bottom:1em;
}


.justify-center{
	justify-content: center;
}

.justify-right{
	justify-content:end;
}

.box{
	display:inline-block;
	margin:1em auto 2em auto;
	box-sizing: border-box;
	border:10px solid gray;
	overflow: hidden;
	position: relative;
	padding:1em 1.25em;

	left:50%;
	transform: translateX(-50%);
}


.box h4,
.box p{
	position: relative;
	margin:0;
	padding:0;
	margin-bottom:0.5em;
}

.box li{
	margin-left: 1.5em;
    margin-bottom: 1em;
}
.box li:last-child{
    margin-bottom: 0.25em;
}

.box h3{
	margin:0;
}

.box-pic{
	position: relative;
	padding:0 !important;
}

.box-pic ul{
	position: relative;
	margin-left:0;
	padding-left:1em;
	padding-right:1em;
	z-index:1;
}


.box-pic img{
	position: absolute;
	height:100%;
	z-index:0;
}

.box hr,
.box dl,
.box dl.vertical{
	margin-bottom:1.25em;
}

img.tel{
	width:90%;
	margin:0 5%;
	border-radius:inherit ;
}

.sample{
	position: relative;
}

.sample::after{
	content: '';
	position: absolute;
	width:60%;
	height: 100%;
	left:5%;
	top:5%;
	background:url('img/sample.svg');
	background-position: top;
	background-repeat: no-repeat; 
	opacity:0.75;
}

.sample.mini::after{
	width:30%;
	left:5%;
	top:10%;
}


.card{
	padding:1em;
	margin-bottom:2em;
	box-shadow: 0 3rem 3rem -1.5rem hsl(200 50% 20% / 40%);
}

.price-card{
	border:0.5px solid #ddd;
	padding:0.5em 1.5em 0 1.5em;
	margin-bottom:0;
	border-radius: 0.25rem;
	text-align:center;
}

.price-card p{
	text-align:center;
	margin:0.5em 0;
}

.price-card h3,
.price-card h4{
	text-align:left;
}

.price-card .pure-button{
	margin:0.5em 0 1em 0;
}


.price-card p.price{
	font-weight:bold;
	font-size: 10vw;
	line-height:1.3em;
	margin:0;
}


.price-card ul{
	margin:0.5em -1.5em 0 -1.5em;
	padding:0;
	list-style: none;
}

.price-card li{
	border-top:0.5px solid #eee;
	margin:0;
	padding:1em 0;
}

.price-card li:nth-child(odd){
	background-color:#fafafa;
}
.price-card li:last-child{
	border-radius: 0 0 0.25rem 0.25rem;
}

.price-card b{
	font-size:1.25em;
}

dl.vertical{
	margin:0;
	padding:0;
	margin-bottom:2em;
}

.vertical dt{
	margin:0;
	padding:0;
	font-weight: bold;
}

.vertical dd{
	margin:0;
	padding:0;
}

.clearfix::after {
	content: "";
	display: block;
	clear: both;
 }
 
 /*		step		*/
 main ol.step{
	counter-reset: my-counter;
	list-style: none;
	padding: 3em 0 0.5em 0 ;
	margin: 0 0 0 10px;
	border-left:0.5px solid #666;	
}


main ol.step > li{
	position: relative;	
	padding-left: 2em;
	margin-bottom:3em;
}

main ol.step > li:before {
	content: counter(my-counter);
	counter-increment: my-counter;
	background-color: #666;
	border-radius: 50%;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 2em;
	width: 2em;
	color: #ffffff;
	position: absolute;
	top: 0;
	left: -1em;
}



 /*		count		*/
 main ol.count{
	counter-reset: my-counter;
	list-style: none;
	padding: 0 ;
	margin: 0.5em 0 0 0 ;
}


main ol.count > li{
	position: relative;	
	padding-left: 2em;
	margin:0 0 1em 1.25em;
}

main ol.count > li:before {
	content: counter(my-counter);
	counter-increment: my-counter;
	background-color: #666;
	border-radius: 50%;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 2em;
	width: 2em;
	color: #ffffff;
	position: absolute;
	top: 0;
	left: -1em;
}



 /*		history		*/
 main ul.history{
	counter-reset: my-counter;
	list-style: none;
	padding: 1.5em 0 1.5em 0;
	margin: 0 0 0 10px;
	border-left:0.5px solid #666;	
}


main ul.history > li{
	position: relative;	
	padding-left: 1.5em;
	margin-bottom:1.5em;
}


main ul.history > li:before {
	content: '';
	background-color: #666;
	border-radius: 50%;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 0.8em;
	width: 0.8em;
	color: #ffffff;
	position: absolute;
	top: 0.6em;
	left: -0.4em;
}

blockquote {
	margin:1em 0;
	padding:0 0 0 2.25em;
	position:relative;
}

blockquote::before {
    content: "";
	display: block;
	position:absolute;
	width:1.5em;
	height:1.5em;
	background:url('./img/quote-left.svg');
	top:-0.15em;
	left:0;
	opacity:0.1;
}


main ul.link{
	list-style:none;
	padding-left:1.5em;
}

main .link li{
	position: relative;
	padding-left:1em;
}

main .link li::before,
main .link.external li::after{
	content: "";
	display: inline-block;
	position:absolute;
	top:0.75em;
	left: 0;
	width: 4px;
	height: 4px;
	margin-right:0.5em;
	
	border-top: 2px solid rgb(0,0,0,.33);
	border-right: 2px solid rgb(0,0,0,.33);
	transform: rotate(45deg);
}

main .link.external li::after{
	left:5px;
}



/*		tab			*/

main ul.tab{
	list-style:none;
	padding:0;
	display: flex;
	justify-content: center;
}

main ul.tab li{
	margin:0 0.25em;
}
main ul.tab li button{
	padding-left:0.5em;
	padding-right:0.5em;
}
@media screen and (min-width: 568px) {
	main ul.tab li{
		margin:0 0.5em;
	}
	main ul.tab li button{
		padding-left:1em;
		padding-right:1em;
	}
}

 /*		balloon		*/
 main .balloon-b {
	position: absolute;
	display: inline-block;
	z-index: 1;
	text-align: center;
	color:#FFF;
	padding: 10px;
	background-color: gray;
	line-height:1.5em;
	border-radius: 0.25rem;
}
main .balloon-b::before {
	content: '';
	position: absolute;
	display: block;
	z-index: 1;
	border-style: solid;
	border-color: gray transparent;
	border-width: 10px 10px 0 10px;
	bottom: -10px;
	left: 50%;
	margin-left: -10px;
}

@media screen and (min-width: 1024px) {
	main .balloon-r-lg::before {
		bottom:inherit;
		top:inherit;
		right:inherit;
		left:inherit;
		margin:inherit;

		border-color:transparent gray ;
		border-width: 10px 0 10px 10px;
		top: 50%;
		right: -10px;
		margin-top: -10px;
	}
}

main .full-wrap{
	background:gray;
	padding:2em 0;
}



@media screen and (min-width: 568px) {
	main h1, main h2 {
		text-align:left;
	}

	main h1 {
		margin:1.5em 0 1em 0;
	}

	main h1 small {
		display:inline;
		margin-left: 1em;
	}
	

	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}

	/*		yd2定義		*/
	.contents{
		margin-left:auto;
		margin-right:auto;
		max-width:540px;
	}	
	main .contents{
		padding-bottom:2.5em;
	}

	.mt{
		margin-top:2.5em;
	}
		
	.mb{
		margin-bottom:2.5em;
	}
	
	.mb-sm-0{
		margin-bottom:0 !important;
	}
	.pb-sm-0{
		padding-bottom:0 !important;
	}
	
	.d-sm-none{
		display:none;
	}	

	.d-sm-block{
		display:block;
	}

	.d-sm-inline{
		display:inline;
	}	

	dl.vertical{
		display: flex;
		justify-content:flex-start; 
	}

	.box{
		display:block;
		left:0;
		transform: translateX(0);
		width:100%;

		margin:2em auto 2em auto;
	}
	
	.box-auto{
		display:inline-block;
		left:50%;
		transform: translateX(-50%);
		width:auto;
	}
	


	.card{
		display: block;
		padding:1.5em;
		margin-bottom:2.5em;
	}

	.price-card p.price{
		font-size: 2.5em;
	}

	/*		step		*/
	main ol.step{
		margin: 0 0 0 20px;
	}

	main ol.step > li{
		padding-left: 3em;
	}
	
	/*	step以外の場所でのセンター揃え用	*/
	main div.step{
		padding-left:4.5em;
	}
}

@media screen and (min-width: 768px) {
	/*		yd2定義		*/
	.contents{
		max-width:720px;
	}
	main .contents{
		padding-bottom:3em;
	}
	
	.mt{
		margin-top:3em;
	}
	

	.mb{
		margin-bottom:3em;
	}
	
	.mb-sm-0,
	.mb-md-0{
			margin-bottom:0 !important;
	}

	.d-md-block{
		display:block;
	}

	.d-md-inline{
		display:inline;
	}	

	.d-md-none{
		display:none;
	}
	
	.card{
		padding:2em;
		margin-bottom:3em;
	}

	.price-card p.price{
		font-size: 3em;
	}

}

@media screen and (min-width: 1024px) {
	/*		yd2定義		*/
	.contents{
		max-width:980px;
	}

	main .contents{
		padding-bottom:3.5em;
	}
	
	.mt{
		margin-top:3.5em;
	}
	
	.mb{
		margin-bottom:3.5em;
	}

	.mb-sm-0,
	.mb-md-0{
			margin-bottom:0 !important;
	}
	
	.d-lg-none{
		display:none;
	}

	.d-lg-block{
		display:block;
	}

	.d-lg-inline{
		display:inline;
	}	

	.box-lg-80{
		width:80%;
	}

	.table-lg-80{
		width:80% !important;
		margin-left:10%;
	}


	.card{
		padding:3em;
		margin-bottom:4em;
	}

}

/*					*/
/*		ヘッダー	*/
/*					*/

header{
	position: fixed;
	width: 100%;
	height: 66px;
	z-index:1001;
	background: white;
}

header img{
	width:auto;
	height:100%;
}


nav{
	width: 100%;
	height:100%;
	font-size:16px;
	letter-spacing:0.02em;
	user-select: none;
}

.navbar_brand {
	position: absolute;
	display: inline-block;
	height:44px;
	left:50%;
	top:50%;
	transform: translate(-50%,-50%);
	z-index:1002;
}

a.navbar_brand:hover{
	opacity:0.5;
	transition: ease .3s;
}

.navbar_toggle{
	position: absolute;
	top:50%;
	transform: translate(0,-50%);

	right:15px;
	z-index:9999;
	cursor: pointer;	
}

.navbar_toggle_icon {
	position: relative;
	display: block;
	height: 2px;
	width: 30px;
	background: black;
	transition: ease .3s;
}

.navbar_toggle_icon:nth-child(1) {
	top: 0;
}

.navbar_toggle_icon:nth-child(2) {
	margin: 10px 0;
}

.navbar_toggle_icon:nth-child(3) {
	top: 0;
}

/*	OPEN時の動き	*/
.navbar_toggle.open .navbar_toggle_icon:nth-child(1) {
	top: 12px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.navbar_toggle.open .navbar_toggle_icon:nth-child(2) {
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	opacity: 0;
}

.navbar_toggle.open .navbar_toggle_icon:nth-child(3) {
	top: -12px;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

.navbar_menu{
	position: relative;
	-webkit-transform: translateX(-100%);
	transform: translateX(-100%);
	z-index:1001;
	transition:ease .3s;
	top:66px;
	display:none;
}

.navbar_menu a{
	text-decoration: none;
  }
  
  .navbar_menu .e{
	   display:none;
  }
  
.navbar_menu ul {
	margin:0;
	padding:0;
	background-color:white;
	list-style: none;
}

.navbar_menu > ul > li{
	padding: 0.75em 2em;
	border-top: 0.5px solid black;
	cursor:pointer;	
}

.navbar_menu > ul li.active,
.navbar_menu > ul li.selected{
		opacity:1 !important;
}

.navbar_menu > ul li.active > a,
.navbar_menu > ul li.active a > .e{
	/*opacity:0.5 !important;*/
}

.navbar_menu .sub ul {
	display:none;	
	margin:1em 0 0.5em 0;
	padding:0.25em 1em;
	list-style-type:none;
	border:0.5px solid black;
	border-radius:3px;
	background-color:white;
	opacity:0.88;
}

.navbar_menu .sub li{
	text-align:left;
	margin:0.5em 0;
}

.navbar_menu .sub li a{
	display: block;
	width:100%;	
}


/*.navbar_menu .sub.active > div,
.navbar_menu .sub.active > i,*/
.navbar_menu .sub.selected > div,
.navbar_menu .sub.selected > i{
		opacity:0.5 !important;
}


.navbar_menu .sub.selected ul {
}

.navbar_menu .sub li.divider{
	margin:0.66em 0;
	border-top:0.5px solid black;
}

.navbar_menu.open {
	-webkit-transform:translateX(0);
	transform:translateX(0);
}

.arrow {
    position: relative;
	margin-right:0.6em;
}

.arrow::before {
	content: "";
	display: block;
	position: absolute;
	top: 4px;
	right: -14px;
	width: 4px;
	height: 4px;
	border-top: 2px solid black;
	border-right: 2px solid black;
	transform: translateX(-50%) rotate(135deg);
}


@media screen and (min-width: 568px) {
	header{
		position: absolute;
	}

	nav{
		position: relative;	
		max-width:540px;
		height:100%;	
		font-size:14px;
		margin-left:auto;
		margin-right:auto;
	}
		
	.navbar_toggle{
		display: none;
	}

	.navbar_menu{
		transition:ease;	
		transform: translate(0, -50%);	
		top:50%;
	}

	.navbar_menu > ul{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
	}

	.navbar_menu > ul > li{
		padding: 1px 0.75em 0 0.75em;
		border-top: none;
		border-right:0.5px solid rgb(0,0,0,.33);
		background:none;
		text-align:center;
	}

	.navbar_menu > ul > li.sub{
		padding-top:0;
	}

	.navbar_menu > ul > li:last-child{
		border-right:none;
	}	

	.navbar_menu > ul li:hover{
		transition: ease .3s;
		opacity:0.5;
	}
	
	.navbar_menu .e{
		display:block;
		font-size:0.8em;
		font-weight: bold;
	}
	
	.navbar_menu .sub ul{
		position:absolute;
	}

	.navbar_menu .sub ul.balloon:before {
		content: "";
		position: absolute;
		top: -18px;
		left: 12%;
		border: 9px solid transparent;
		border-bottom: 9px solid white;
		z-index: 2;
	}

	.navbar_menu .sub ul.balloon:after {
		content: "";
		position: absolute;
		top: -20px;
		left: 12%;
		margin-left: -0.5px;
		border: 10px solid transparent;
		border-bottom: 10px solid black;
		z-index: 1;
	}
	
	.navbar_menu .sub li{
		margin:0.25em 0;
	}


	/*	mini menu		*/
	header.mini {
		height:66px !important;
		position: fixed;
	}

	header.mini .d-mini-sm-none{
		display:none;
	}
	
	header.mini .d-mini-sm-inline{
		display: inline;
	}

	header.mini .navbar_brand,
	header.mini .navbar_menu{
		left:0;
		top:50%;
		transform: translate(0, -50%);
	}

	header.mini .navbar_menu i img{
		height:1.5em;
		width:auto;
	}

	header.mini .navbar_menu .e{
		display:none;
	}
}

@media screen and (min-width: 768px) {
	nav {
		max-width:720px;
	}

	.navbar_menu > ul > li{
		padding-left:1em;
		padding-right:1em;
	}

	header.mini .d-mini-md-none{
		display:none;
	}
	
	header.mini .d-mini-md-inline{
		display: inline;
	}
}

@media screen and (min-width: 1024px) {
	nav {
		max-width:980px;
		font-size:15px;
	}

	.navbar_menu > ul > li{
		padding-left:1.5em;
		padding-right:1.5em;
	}
}

/* お問い合わせボタン */
.navbar_bt{
	position: absolute;;	
	z-index:1003;
}


/*		タイトル	*/

legend{
	width:100%;
}

legend.title{
	display:block;
	height:240px;
	position: relative;
	background:#fff;
	overflow: hidden;
	margin-bottom:3em;
}

legend.title > h1,
legend.title .wrap{
	position: relative;
	display: inline-block;
	z-index:100;
	text-align:center;
	top:50%;
	left:50%;
	transform: translate(-50%,-50%);
	margin:0;
}


legend.title .wrap h1{
	margin:0 auto 0 auto;
}

legend.title small{
	display:block;
}

legend.title img.image{
	height:100%;
	border-radius:inherit ;
	top:50%;
	left:50%;
	transform: translate(-50%,-50%);
	position: absolute;
	opacity:0.4;
}


legend.title img.icon{
	position: absolute;
	height:60%;
	width:auto;
	border-radius:inherit ;
	top:20%;
	left:50%;
	transform: translate(-50%,0);
	position: absolute;
	opacity:0.8;
}


@media screen and (min-width: 568px) {
	legend.title{
		height:280px;
		margin-bottom:1em;
	}
}

@media screen and (min-width: 768px) {
	legend.title{
		height:320px;
	}
}
@media screen and (min-width: 1024px) {
	legend.title{
		height:360px;
	}
}


/*		パン屑		*/
.breadcrumb {
	display:none;
}

@media screen and (min-width: 568px) {
	/*		パン屑		*/
	.breadcrumb {
		display:block;
		margin:0;
		padding:0 0 2.5em 0;
		list-style: none;
		font-size:0.8em;
	}

	.title .breadcrumb {
		position: relative;
		top:600px;
	}

	.breadcrumb li {
		display: inline;
		margin-right:1em;
	}

	.breadcrumb li.active {
		/*opacity:0.5;*/
	}

	.breadcrumb li::after {/* >を表示*/
		content: "";
		display: inline-block;
		position: relative;
		top: -2px;
		right: -10px;
		width: 4px;
		height: 4px;
		border-top: 2px solid rgb(0,0,0,.55);
		border-right: 2px solid rgb(0,0,0,.55);
		transform: rotate(45deg);
	}

	.breadcrumb li:last-child:after {
		display:none;
	}

	.breadcrumb li a {
		text-decoration: none;
	}

	.breadcrumb li a:hover {
		text-decoration: underline;
	}

}

/*	reserve ボタン		*/
main a.reserve{
	display:none;
	width:28vw;
	height:28vw;
	border-radius: 14vw;
	background-color:gray;
	position: fixed;
	bottom:80px;
	right:0.75em;
	z-index:1000;
}

main a.reserve:hover{
	opacity:1;
}


main a.reserve::after{
	content: '';
	width:28vw;
	height:28vw;
	background:black;
	position: absolute;
	left:0;
	border-radius: 14vw;
	z-index:1001;
	transform: scale(0.3, 0.3);
	opacity:0;
	transition: all 0.3s ease-out	;
}

main a.reserve:hover::after{
	transform: scale(1, 1);
	opacity:1;
}

main a.reserve img{
	width:60%;
	height:60%;
	position: relative;
	z-index:1002;
	margin:20%;
}

@media screen and (min-width: 568px) {
	main a.reserve{
		width:8em;
		height:8em;
		border-radius: 4em;
		bottom:1em;
		right:1em;
	}

	main a.reserve::after{
		width:8em;
		height:8em;
		border-radius: 4em;	
	}
}


/*					*/
/*		フッター	*/
/*					*/
footer{
	padding-top:2em;
	font-size:13px
}

footer h2{
	font-size:1.2em;
	font-weight:bold;	
	margin:0.5em 0;
}


footer a{
	text-decoration:none;
}

footer a:hover{
	opacity:0.5;
	transition: ease .3s;
}

footer p{
	margin:0;
	margin-bottom:0.5em;
}

footer p.link{
	margin:1.25em 0 2em 0;
}


footer small, footer span{
	display: inline-block;
	margin-right:0.5em;
}

footer .logo{
	height:44px;
	width:auto;
}

footer .copyright{
	margin:1.5em 0 66px 0;
	padding:0.5em 0;
}

@media screen and (min-width: 568px) {
	footer .copyright{
		margin:0;
	}
}


/*		pageLink	*/
main ul.pageLink{
	list-style: none;
	display: flex;
	justify-content: center;
	margin:1em 0 2em 0;
	padding:0;
} 
main .pageLink li{
	font-size:1.1em;
	margin: 0 1em;
} 
main .pageLink span{
	cursor: pointer;
	transition: .3s;
} 
main .pageLink span:hover{
	opacity:0.66;
} 

main .pageLink .active {
	opacity:0.5;
} 

main .pageLink span.next, 
main .pageLink span.next_end{
	margin-left:1em;
}
main .pageLink span.prev, 
main .pageLink span.prev_top{
	margin-right:1em;
}


main .pageLink span.next:after {
	content: "";
	display: inline-block;
	position: relative;
	width: 0.4em;
	height: 0.4em;
	top:-0.1em;
	margin-left:0.25em;
	border-top: 3px solid rgb(0,0,0,.8);
	border-right: 3px solid rgb(0,0,0,.8);
	transform: rotate(45deg);
} 
main .pageLink span.prev:before {
	content: "";
	display: inline-block;
	position: relative;
	width: 0.4em;
	height: 0.4em;
	top:-0.1em;
	margin-right:0.25em;
	border-bottom: 3px solid rgb(0,0,0,.8);
	border-left: 3px solid rgb(0,0,0,.8);
	transform: rotate(45deg);
} 


main .pageLink span.next_end:after {
	content: "";
	display: inline-block;
	position: relative;
	width: 0.36em;
	height: 0.36em;
	top:-0.066em;
	border-top: 5px double rgb(0,0,0,.8);
	border-right: 5px double rgb(0,0,0,.8);
	transform: rotate(45deg);
} 
main .pageLink span.prev_top:after {
	content: "";
	display: inline-block;
	position: relative;
	width: 0.36em;
	height: 0.36em;
	top:-0.066em;
	border-bottom: 5px double rgb(0,0,0,.8);
	border-left: 5px double rgb(0,0,0,.8);
	transform: rotate(45deg);
} 


@media screen and (min-width: 568px) {
	main .pageLink li{
		font-size:1.2em;
		margin: 0 0.5em;
	} 
}



/*		mobile		*/
.mobile{
	position: fixed;
	bottom:0;
	width:100%;
	height:66px;
	padding:0;
	background-color:white;
	z-index:9999;
}
.mobile .pure-g{
	padding:0 6px;
	height:100%;
}

.mobile .pure-g > div{
	padding:13px 6px;
	height:100%;
}
.mobile .pure-button{
	display: block;
	padding:0;
	opacity:1;
	position: relative;
	top:50%;
	transform: translate(0, -50%);	
}



.mobile-full{
	position: fixed;
	bottom:0;
	width:100%;
	height:66px;
	padding:0;
	background-color:white;
	z-index:9999;
}
.mobile-full .pure-g{
	padding:0;
	height:100%;
	text-align: center;
}

.mobile-full .pure-g > div{
	border-right:1px solid rgb(255,255,255,.33);
	height:100%;
}
.mobile-full .pure-g > div:last-child{
	border-right:0;
}

.mobile-full img{
	height:100%;
	width:auto;
	border-radius: 0;
}


@media (min-width: 568px) {
	.mobile, .mobile-full{
		display:none;
	}
}

.closeModal{
	font-size:2.5em;
}


main #map,
main #map2{
    width: 100%;
    height: 400px;
    overflow: hidden;
}


main #map iframe,
main #map2 iframe {
	width: 100%;
    height: 100%;
}


main .profile .pure-table td{
	line-height:1.75em;
}

main .profile .pure-table tr{
	border-bottom:none;
}


main .pure-table td li{
	line-height:1.75em;
	margin-bottom:0.5em;
}


@media (max-width: 568px) {
	main .profile .pure-table td{
		padding-top:1em;
		padding-bottom:1em;
		display: block;
	}

	main .profile .pure-table td:first-child{
		font-weight:bold;
		border-bottom:none;
		padding-bottom:0;
	}
	main .profile .pure-table td:nth-child(2){
		padding-top:0.25em;
	}
}


/* sm */
@media (min-width: 568px) {
	
	main .profile .pure-table td:first-child{
		width:4em;
	}

	main .profile .pure-table td{
		padding-top:1.25em;
		padding-bottom:1.25em;
	}
	
	main #map,
	main #map2 {
		height: 480px;
	}	
}

/* md */
@media(min-width: 768px) {
	main .profile .pure-table td{
		padding-top:1.5em;
		padding-bottom:1.5em;
	}
}

/* lg */
@media (min-width: 1024px) {
	main #map,
	main #map2 {
		height: 560px;
	}	
}


main ul.sitemap{
	margin-left:2.25em;
	margin-bottom:3em;
	padding-left:2.25em;
	list-style:none;
}


main ul.sitemap ul{
	margin-left:2.8em;
	margin-bottom:1.5em;
	list-style:none;
}

main ul.sitemap li{
	border-left:0.5px solid #ddd;
	padding:0.5em 0;
	margin-left:-3em;
	margin-bottom:0;
	
	padding-left:1em;
	text-indent:-1em;
	word-wrap: break-word;
}

main ul.sitemap li:first-child{
	padding-top:2em;
}
main ul.sitemap li:last-child{
	padding-bottom:2em;
}

main ul.sitemap li > span{
	color:#ddd;
	position: relative;
	margin-left:-2px;
	margin-right:4px;
}
