:root{
	--header-copy: 20px;
	--header-height-sp: 64px;
	--header-height-sp-sc: 64px;
	--header-height-pc: 90px;
	--header-height-pc-sc: 70px;
	--gNav-main-height-sp: 56px;
	--gNav-main-height-pc: 38px;
	--gNav-main-2-height-pc: 0;
	--gNav-sub-height-sp: 48px;
	--gNav-sub-height-pc: 36px;
	--iconMenu-size: 70%;
	--page-title-height-sp:40vw;
	--page-title-height-pc:30vw;
}
body {
    position: relative;
    color: var(--color-99);
    font-size: .95em;
}

body::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(/wp-content/uploads/bg_body.webp);
    background-color: rgba(255,255,255,0.8);
    background-blend-mode: lighten;
    background-size: cover;
    background-position: center;
    z-index: -1;
}
#wrapper{
	overflow-x:clip
}
#header_link_container{
	right:8px
}
.header_link{
	min-height:3em;
}
.header_icon{
    width: 1.6em;
    height: auto;
    fill: #fff; /* 塗りつぶし色 */
    stroke: #fff; /* 線の色 */
    stroke-width: 2; /* 線の太さ */
}
.header_icon_car{
    width: 2.2em;
    height: auto;
    fill: #fff; /* 塗りつぶし色 */
    stroke: #fff; /* 線の色 */
    stroke-width: 1; /* 線の太さ */
}
.anchor {
	scroll-margin-top: 80px;
}


/********** Header **********/
#header{
	background:rgba(255,255,255,0);
	transition:all .4s ease-in-out;
	z-index:120;
	#headerCopy{
		height:var(--header-copy);
		line-height:var(--header-copy);
	}
	#headerMain{
		height:var(--header-height-sp);
		#logoArea{
			height:80%;
			#logoImg{
				transition:all .4s ease-in-out;
				max-width:256px;
			}
		}
	}
}
#header{
	background:rgba(255,255,255,0);
}
.scroll #header,
.navOpen #header{
	background:rgba(255,255,255,.8);
}
#pc_header_phone{
	height:38%;
}
#sub-column{
}
.stickyPos3 #sub-column{
}
/********** Page Title **********/
#pageTitleWrap{
	height:var(--page-title-height-sp);
	max-height:360px;
}
#pageTitle,
#pageTitleSub{
	z-index:2
}

/********** Navigation **********/
/** #navToggle **/
#navToggle{
	z-index:120;
	right:12px;
	#iconMenu{
		vertical-align:middle;
		width:var(--iconMenu-size);
		height:var(--iconMenu-size);
		.line{
			left:0;
			width:100%;
			height:2px;
			opacity:1;
			will-change:transform;
			-webkit-backface-visibility: hidden;
			backface-visibility: hidden
		}
		.line-1{top:4px;}
		.line-2{top:calc(50% - 1px);}
		.line-3{bottom:3px;}

	}
}
/** #gNavWrap **/
#gNavWrap{
	top:var(--header-height-sp);
	right:0;
	padding:.4em;
	z-index:120;
	width:100%;
	height:calc(100% - var(--header-height-sp));
	overflow-y:auto;
	visibility:hidden;
	transition:all .4s ease-in-out,padding .4s ease-in-out;
	transform:translateX(100%);
	will-change:transform;
	-webkit-overflow-scrolling:touch;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	#glovalNav{
		padding:0;
		.menu-item-has-children.isActive::after{
			content:"\f0d8";
		}
		.menu-item{
			display:block;
			&>a{
				display:flex;
				align-items:center;
				padding:0 .8em;
				border-bottom:1px solid var(--color-w);
			}
			.sub-menu{
				padding:0;
				>.menu-item>a,
				>.menu-item-has-children::after{
					background:var(--color-w);
					height:0;
					line-height:0;
					opacity:0;
				}
				.menu-item{
					&a{
						border-bottom:0 solid var(--bg-alpha-0);
					}
				}
				>.menu-item{
					&>a{
						padding:0 0 0 1.6em;
					}
				}
				.menu-item-has-children a{
					padding-right:calc(var(--gNav-sub-height-sp) + .2em);
				}
				.menu-item-has-children::after{
					width:var(--gNav-sub-height-sp);
					border-left:1px solid var(--color-02);
					font-size:1.2em;
				}
			}
		}
		>.menu-item{	/** 第1階層のみ **/
			&>a{
				height:var(--gNav-main-height-sp);
				line-height:1;
			}
			&>a::before{
				content:"\f0da";
				padding-right:.4em;
			}
		}
		>.menu-item-has-children{
			&>a{
				padding-right:var(--gNav-main-height-sp);
			}
		}
		.menu-item-has-children::after{
			content:"\f0d7";
			position:absolute;
			z-index:2;
			top:0;
			right:0;
			cursor:pointer;
		}
		>.menu-item-has-children::after{
			width:var(--gNav-main-height-sp);
			height:calc(var(--gNav-main-height-sp) - 1px);
			line-height:1;
			border-left:1px solid var(--color-w);
			font-size:1.2em
		}
	}
}
#gNavWrap.isVisible{
	visibility:visible;
	transform:translateX(0);
}
.headerType-h2 #gNavWrap{
	top:calc(var(--header-height-sp) + var(--header-copy));
}

@media all and (min-width:768px),print{
	#gNavWrap{
		max-width:50%
	}
}
@media all and (min-width:992px),print{

	.anchor {
		scroll-margin-top: 148px;
	}


/********** Header **********/
	#header{
		#headerMain{
			height:var(--header-height-pc);
			#logoArea{
				height:72%;
				#logoImg{
					max-width:276px;
				}
			}
		}
	}
	.scroll #header{
		#headerMain{
			height:var(--header-height-pc-sc);
		}
	}

	.stickyPos3 #header{
		background:none;
	}
	#sub-column #logoImg_2{
		transition:all .4s ease-in-out;
		width:100%;
		height:auto;
	}

/********** Page Title **********/
#pageTitleWrap{
	height:var(--page-title-height-pc);
}
/** #gNavWrap **/
	#gNavWrap{
		top:var(--header-height-pc);
		padding:.6em 0;
		transition:all .4s ease-in-out;
		max-width:360px;
		border:none;
		border-left:1px solid rgb(211,224,229);
		border-bottom:none;
		background:rgba(200,200,200, 0);
	}
	#gNavWrap.pos-lg-sticky,
	#gNavWrap.pos-lg-sticky.isVisible,
	#gNavWrap.pos-lg-sta,
	#gNavWrap.pos-lg-sta.isVisible{
		visibility:visible;
		transform:translateX(0);
		overflow-y:visible;
		max-width:100%;
		border:none;
		#glovalNav{
			>.menu-item{
				&>a{
					-ms-flex-direction:column!important;
					flex-direction:column!important;
					-ms-flex-pack:center!important;
					justify-content:center!important;
					border-bottom:none;
					text-align:center;
				}
				&>a::before{
					content:none;
					padding:0;
				}
				>.sub-menu{
					position:absolute!important;
					left:0!important;
					width:200px!important;
					min-width:calc(100% + 1px);
				}
			}
			.menu-item-has-children>a{
					padding-right:2em;
			}
			.menu-item-has-children::after{
				border:none;
				width:2em;
				line-height:1;
				font-size:1em;
			}
		}
	}
	#gNavWrap.pos-lg-sticky,
	#gNavWrap.pos-lg-sticky.isVisible{
		#glovalNav{
			>.menu-item>a,
			>.menu-item-has-children::after{
				height:var(--gNav-main-height-pc);
			}
			>.menu-item{
				>a{
					border-left:1px solid rgb(0,148,170);
				}
			}
		}
	}
	#wrapper.container #gNavWrap.pos-lg-sticky,
	#wrapper.container #gNavWrap.pos-lg-sticky.isVisible,
	#wrapper.container #gNavWrap.pos-lg-sta,
	#wrapper.container #gNavWrap.pos-lg-sta.isVisible{
		#glovalNav{
			>.menu-item:first-child{
				>a{
					border-left:none;
				}
			}
		}
	}
	#gNavWrap.pos-lg-sta,
	#gNavWrap.pos-lg-sta.isVisible,
	#gNavWrap.pos-lg-sta #glovalNav>.menu-item,
	#gNavWrap.pos-lg-sta #glovalNav>.menu-item>a,
	#gNavWrap.pos-lg-sta #glovalNav>.menu-item-has-children::after{
		width:auto!important;
		height:32px
	}
	.stickyPos3 #gNavWrap,
	.stickyPos3 #gNavWrap.isVisible{
		position:static!important
	}
	#gNavWrap.pos-lg-sta #glovalNav>.menu-item-has-children::after{
		padding-right:.8em;
	}
	.stickyPos3 #gNavWrap{
		visibility:visible;
		transform:translateX(0);
		overflow-y:visible;
		max-width:100%;
		border:none;
		border-top:1px solid var(--color-02);
	}
	.scroll #gNavWrap{
		background:rgba(255,255,255,.8);
		top:var(--header-height-pc-sc);
	}
}
@media all and (min-width:1200px),print{
	#gNavWrap.pos-lg-sticky #glovalNav{
		border-right:1px solid rgb(0,148,170)
	}
	#wrapper.container #gNavWrap.pos-lg-sticky #glovalNav{
		border-right:none
	}

}

