/********** Form **********/
input[type="text"],input[type="email"],select,textarea{padding:0.2em;font-size:16px;max-width:100%;border:1px solid #ddd}
input[type="text"]::placeholder,input[type="email"]::placeholder,textarea::placeholder{font-size:0.9em !important;color:#999}
input.searchfield{width:calc(100% - 40px);margin-right:4px;max-width:320px}
/********** Contact Form **********/
.contactForm dt{font-weight:400}
.contactForm{margin:2em auto}
.contactForm textarea{width:100%}
.contactForm .mailconf{margin-top:0.4em}
.contactForm p{
	margin:0
}
.wpcf7 .wpcf7-not-valid{background:#f4e6e6;border:1px solid #c06b6b;color:#444}
.wpcf7 .wpcf7-response-output{display:block;position:relative;z-index:1000;padding:4px 8px;margin:0 8px 0 0;border:1px solid #fff!important}
.p-postal-code{margin-left:0.2em}
input.p-street-address{margin:0.3em 0 0 1.2em;width:calc(100% - 1.2em)}
.wpcf7Btn{border:none;cursor:pointer}
.wpcf7-list-item.first{margin-left:0!important}
.wpcf7Btn:focus,
.wpcf7 textarea:focus,
input[type="text"]:focus,
input[type="email"]:focus {border:1px solid #aaa!important;border-radius:none!important;outline:none!important}
.wpcf7-not-valid-tip {
	display:none!important
}
.privacyArea{
	max-height:30vh;
	overflow-y:scroll
}

/********** Header **********/
.scroll #header{
	border-bottom:1px solid rgb(174,229,210);
	#headerMain{
		height:var(--header-height-sp-sc);
	}
	#headerCopy{
		height:0;
		line-height:0;
		opacity:0
	}
}
#sns_top_right{
	z-index:180;
	right:0;
	top:180px;
	font-size:1.2em;
	padding:.4em
}
#sns_top_right a{
	margin-top:.3em;
}
/********** Navigation **********/
/** #navToggle **/
#navToggle.isActive{
	#iconMenu{
		.line-1{
			top:2px;
			transform:translateY(10px) translateX(0) rotate(225deg);
		}
		.line-2{
			opacity:0;
			left:45%;
			width:10%;
		}
		.line-3{
			bottom:1px;
			transform:translateY(-11px) translateX(0) rotate(-225deg);
		}
	}
}
/** #gNavWrap **/
#gNavWrap{
	#glovalNav{
		>.menu-item{
			.sub-menu{
				>.menu-item>a,
				>.menu-item-has-children::after{
					height:0;
					line-height:0;
					border-bottom:0 solid var(--bg-alpha-0);
					opacity:0;
				}
			}
			>.sub-menu>.menu-item>.sub-menu a{
					padding:0 0 0 2.6em;
			}
		}
		>.menu-item.isActive{
			.sub-menu.isVisible{
				>.menu-item>a,
				>.menu-item-has-children::after{
					height:var(--gNav-sub-height-sp);
					line-height:1;
					border-bottom:1px solid var(--color-01);
					opacity:1;
				}
			}
		}
	}
}
.scroll #gNavWrap,
.scroll .headerType-h2 #gNavWrap,
.scroll .headerType-h2 #gNavWrap.isVisible{
	top:var(--header-height-sp-sc);
	height:calc(100% - var(--header-height-sp-sc));
}
.grecaptcha-badge {
	bottom: 88px !important;
	z-index:0!important;
}
@media all and (min-width:992px),print{
/********** Header **********/
	.scroll #header{
		#headerMain{
		height:var(--header-height-pc-sc);
		}
	}
	.stickyPos3.scroll #header{
		height:var(--header-height-pc);
	}
/** #gNavWrap **/
	#gNavWrap{
		#glovalNav{
			>.menu-item{
				>.sub-menu{
					>.menu-item{
						&>a{
							font-size:.9em;
							padding:0 .8em;
							border-right:1px solid var(--color-02);
							border-left:1px solid var(--color-02);
						}
					}
					>.menu-item-has-children::after{
						background:none;
					}
				}
			}
		}
	}
	.scroll #gNavWrap{
		top:var(--header-height-pc-sc);
	}
	.scroll .headerType-h2 #gNavWrap{
		top:var(--header-height-pc-sc);
	}
	#gNavWrap.pos-lg-sticky,
	#gNavWrap.pos-lg-sta{
		#glovalNav{
			>.menu-item-has-children.isActive,
			>.menu-item-has-children:hover{
				>.sub-menu{
					border-top:1px solid var(--color-02);
					>.menu-item-has-children.isActive,
					>.menu-item-has-children:hover{
						>.sub-menu{
							border-top:1px solid var(--color-02);
							>.menu-item{
								&>a{
									border-right:1px solid var(--color-02);
								}
							}
						}
					}
				}
			}
			>.menu-item{
				.sub-menu{
						border-top:1px solid var(--bg-alpha-0);
				}
				>.sub-menu{
					>.menu-item{
						&>a{
							font-size:.9em;
							padding:0 .8em;
							border-right:1px solid var(--color-02);
							border-left:1px solid var(--color-02);
						}
						>.sub-menu,
						.sub-menu.isVisible{
							position:absolute!important;
							z-index:1;
							top:-1px!important;
							left:100%!important;
							width:200px!important;
							min-width:100%;
						}
						.sub-menu a{
							padding:0 .8em;
						}
					}
					.menu-item-has-children:hover,
					.menu-item-has-children.isActive{
					}
					>.menu-item-has-children::after{
						background:none;
						content:"\f0da";
					}
				}
			}
			.menu-item.isActive,
			.menu-item:hover{
				>.sub-menu,
				.sub-menu.isVisible{
					>.menu-item>a,
					>.menu-item-has-children::after{
						height:var(--gNav-sub-height-pc);
						border-bottom:1px solid var(--color-02);
						line-height:1;
						opacity:1;
					}
				}
			}
		}
	}
	#gNavWrap.pos-lg-sta,
	#gNavWrap.pos-lg-sta.isVisible{
		#glovalNav{
			.menu-item{
				.sub-menu .menu-item-has-children>a{
					padding-right:1.6em;
				}
			}
			>.menu-item>a:hover,
			>.menu-item.isActive>a{
				background:none;
			}
			>.menu-item>a::before,
			>.menu-item>a::after{
				padding:0;
				position:absolute;
				bottom:0;
				content:"";
				display:inline-block;
				width:0;
				height:2px;
				-webkit-transition:.6s;
				transition:.6s;
				opacity:0;
				background:rgb(138,209,184)
			}
			>.menu-item>a::before{left:50%}
			>.menu-item>a::after{right:50%}
			>.menu-item.isActive>a::before,
			>.menu-item.isActive>a::after,
			>.menu-item>a:hover::before,
			>.menu-item>a:hover::after{width:50%;opacity:1}
		}
	}
	.scroll #gNavWrap.pos-lg-sta,
	.scroll #gNavWrap.pos-lg-sta.isVisible,
	.scroll #gNavWrap.pos-lg-sta #glovalNav>.menu-item,
	.scroll #gNavWrap.pos-lg-sta #glovalNav>.menu-item>a,
	.scroll #gNavWrap.pos-lg-sta #glovalNav>.menu-item-has-children::after{
		height:32px
	}


	.grecaptcha-badge {
		bottom: 72px !important;
	}
}

/********** Footer **********/
#fNavWrap{
	border-top:1px solid #c6c6c6;
	width:100%;
	#footerNav{
		width:100%;
		>.menu-item{
			>.menu-link{
				display:block;
				padding:.5em .4em;
				border-bottom:1px solid #c6c6c6;
			}
			.menu-link::before{
				content:"\f0da";
				padding-right:.4em;
			}
		}
		>.menu-item-has-children{
			.sub-menu{
				list-style:none;
				margin:0;
				padding:0;
				border-bottom:1px solid #c6c6c6;
				.menu-item{
					>.menu-link{
						display:block;
						padding:.5em .4em .5em 1em;
						font-size:.9em
					}
					.menu-link::before{
						content:"\f068";
						padding-right:.4em;
					}
				}
			}
		}
	}
}
#footerBtn{
	height:72px;
	bottom: 0;
	left:0;
	z-index:80;
	-webkit-transition:all .2s ease-out;
	transition:all .2s ease-out
}

.map-container{z-index:0}
.js-map{z-index:2}
.map-container iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
#pageTop a{
	width:36px;
	height:36px;
	-webkit-transition:all .6s ease-out;
	transition:all .6s ease-out
}
#pageTop{opacity:0;bottom:30%;z-index:-1;right:0;-webkit-transition:all .6s ease-out;transition:all .6s ease-out}
#pageTop a{font-size:1.6em;opacity:.6}
.page-numbers{
	margin:0 .4em;
}
.calendar_wrap{
	width:100%;
	padding:0 .4em;
	margin-top:.8em;
}
h2.widgettitle{
	margin:1.2em auto .4em;
}
h2.widgettitle ~ .calendar_wrap{
	margin-top:0;
}

.wp-calendar-table{
	width:100%;
}
.wp-calendar-table th,
.wp-calendar-table td{
	text-align:center;
	font-weight:400;
	border:1px solid #ddd;
}
.wp-calendar-table caption {
	text-align:center;
	caption-side: top;
}
@media all and (min-width:768px),print{

/********** Footer **********/
	#fNavWrap{
		border:none;
		#footerNav{
			font-size:.9em;
			>.menu-item{
				>.menu-link{
					position:relative;
					display:block;
					padding:.2em .4em;
					border:none;
				}
				>.menu-link::before,
				>.menu-link::after{
					padding:0;
					position:absolute;
					bottom:0;
					content:"";
					display:inline-block;
					width:0;
					height:2px;
					-webkit-transition:.6s;
					transition:.6s;
					opacity:0;
					background:#444;
				}
			}
			>.menu-item>a::before{left:50%}
			>.menu-item>a::after{right:50%}
			>.menu-item.isActive>a::before,
			>.menu-item.isActive>a::after,
			>.menu-item>a:hover::before,
			>.menu-item>a:hover::after{width:50%;opacity:1}
			>.menu-item-has-children{
				.sub-menu{
					list-style:none;
					margin:0;
					padding:0;
					border:none;
					.menu-item{
						>.menu-link{
							display:block;
							padding:0 .4em .2em;
							font-size:.9em
						}
						.menu-link::before{
							content:"└";
							padding-right:.2em;
						}
					}
				}
			}
		}
	}
}

/********** Others **********/

.inviewA{
	-webkit-transform:translate(0, 40px) scale(1);
	transform:translate(0, 40px) scale(1)
}
.inviewB {
	-webkit-transform:			translate(0, 0) scale(.3);
	transform:					translate(0, 0) scale(.3);
}
.inviewC{
	-webkit-transform:translate(0, -40px);
	transform:translate(0, -40px)
}
.inviewL {
	-webkit-transform:			translate(-40px, 0);
	transform:					translate(-40px, 0);
}
.inviewR {
	-webkit-transform:			translate(40px, 0);
	transform:					translate(40px, 0);
}
.inviewS{
	-webkit-transition:opacity 1s,-webkit-transform 1.5s;
	transition:opacity 1s,transform 1.5s;
}

@media all and (min-width:992px),print{
	#pageTop a{
		font-size:2em;
		width:44px;
		height:44px;
	}
	#pageTop a:hover{opacity:.9}
	.stickyPos1 #sub-column_inner{top:calc(var(--header-height-pc-sc) + var(--gNav-main-height-pc));}
	.stickyPos2 #sub-column_inner{top:var(--header-height-pc-sc);}
	.stickyPos3 #sub-column_inner{top:0}
}

/********** Google Font **********/
@font-face{
  font-display: swap;
  font-weight:  400;
  font-style: normal;
  font-family: 'Noto Sans JP';
  src: url("../googlefonts/NotoSansJP-Regular.woff") format("woff");
}
@font-face{
  font-display: swap;
  font-weight:  400;
  font-style: normal;
  font-family: 'Shippori Mincho';
  src: url("../googlefonts/ShipporiMincho-Regular.woff") format("woff");
}
@font-face{
  font-display: swap;
  font-weight:  400;
  font-style: normal;
  font-family: 'Lora';
  src: url("../googlefonts/Lora-VariableFont_wght.woff") format("woff");
}
@font-face{
  font-display: swap;
  font-weight:  400;
  font-style: normal;
  font-family: 'Zen Maru Gothic';
  src: url("../googlefonts/ZenMaruGothic-Regular.woff") format("woff");
}
@font-face {
  font-display: swap;
  font-family: 'Hachi Maru Pop';
  font-style: normal;
  font-weight: 400;
  src: url("../googlefonts/HachiMaruPop-Regular.woff") format("woff");
}
/********** Others **********/

.mvAfter {
	opacity:					1.0;
	-webkit-transform:			translate(0, 0) scale(1);
	transform:					translate(0, 0) scale(1);
}
.popup-youtube{
	background:#000
}
.popup-youtube img{
	position: absolute;
	top:50%;
	left:50%;
	transform: translate(-50%, -50%);
	max-width:auto!important
}
.popup-youtube.aspect_ratio-16_9 img{
	height:133.4%;
}
.popup-youtube.aspect_ratio-2_1 img{
	height:150%;
}
.popup-youtube.aspect_ratio-3_1 img{
	height:225.3%;
}
.popup-youtube.aspect_ratio-3_4 img{
	height:56.4%;
}
.popup-youtube::after{
	position: absolute;
	top:50%;
	left:50%;
	transform: translate(-50%, -50%);
	color:#fff;
	text-shadow:1px 1px 2px rgba(0,0,0,.6),-1px 1px 2px rgba(0,0,0,.6),1px -1px 2px rgba(0,0,0,.8),-1px -1px 2px rgba(0,0,0,.6);
}

/********** Lightbox **********/

body::after{content:url(../img/lb_close.svg) url(../img/lb_loading.gif) url(../img/lb_prev.svg) url(../img/lb_next.svg);display:none}
body.lb-disable-scrolling{overflow:hidden}
.lightboxOverlay{position:absolute;top:0;left:0;z-index:9999;background-color:black;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=80);opacity:.8;display:none}
.lightbox{position:absolute;left:0;width:100%;z-index:10000;text-align:center;line-height:0;font-weight:normal}
.lightbox .lb-image{display:block;height:auto;max-width:inherit;max-height:none;border-radius:3px;border:4px solid white}
.lightbox a img{border:none}
.lb-outerContainer{position:relative;*zoom:1;width:250px;height:250px;margin:0 auto;border-radius:4px;background-color:white}
.lb-outerContainer::after{content:"";display:table;clear:both}
.lb-loader{position:absolute;top:43%;left:0;height:25%;width:100%;text-align:center;line-height:0}
.lb-cancel{display:block;width:32px;height:32px;margin:0 auto}
.lb-nav{position:absolute;top:0;left:0;height:100%;width:100%;z-index:10}
.lb-container > .nav{left:0}
.lb-nav a{outline:none;background-image:url('data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==')}
.lb-prev, .lb-next{height:100%;cursor:pointer;display:block}
.lb-nav .lb-prev{width:34%;left:0;float:left;background:url(../img/lb_prev.svg) left 48% no-repeat;background-size:32px auto;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=0);opacity:0;-webkit-transition:opacity .6s;-moz-transition:opacity .6s;-o-transition:opacity .6s;transition:opacity .6s}
.lb-nav .lb-prev:hover{filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100);opacity:1}
.lb-nav .lb-next{width:34%;right:0;float:right;background:url(../img/lb_next.svg) right 48% no-repeat;background-size:32px auto;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=0);opacity:0;-webkit-transition:opacity .6s;-moz-transition:opacity .6s;-o-transition:opacity .6s;transition:opacity .6s}
.lb-nav .lb-next:hover{filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100);opacity:1}
.lb-dataContainer{margin:0 auto;padding-top:5px;*zoom:1;width:100%;-moz-border-radius-bottomleft:4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomright:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px}
.lb-dataContainer::after{content:"";display:table;clear:both}
.lb-data{padding:12px 4px 0;color:#fff}
.lb-data .lb-details{width:85%;float:left;text-align:left;line-height:1.1em}
.lb-data .lb-caption{font-size:13px;font-weight:bold;line-height:1em}
.lb-data .lb-caption a{color:#4ae}
.lb-data .lb-number{display:block;clear:left;padding-bottom:1em;font-size:12px;color:#cecebf}
.lb-data .lb-close{display:block;float:right;width:27px;height:27px;background:url(../img/lb_close.svg) top right no-repeat;text-align:right;outline:none;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=70);opacity:.7;-webkit-transition:opacity .2s;-moz-transition:opacity .2s;-o-transition:opacity .2s;transition:opacity .2s}
.lb-data .lb-close:hover{cursor:pointer;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100);opacity:1}
@media all and (min-width:992px),print{
.lb-nav .lb-prev,.lb-nav a.lb-next{background-size:48px auto}
}
