/*
.link-off{
	pointer-events: none;
	cursor: default;
	text-decoration: none;
}
*/

/* body.admin-bar #wrap{padding-top:32px;} */
/*
#wpadminbar{position:fixed;}
@media (max-width:767px){
	body.admin-bar #header{top:calc(46px);}
	body.admin-bar #btn-menu{top:calc(46px + 16px);}
}
*/

/* Reset
-------------------------------------------------------------- */

/* Laytout
-------------------------------------------------------------- */

/* common
-------------------------------------------------------------- */
img{max-width:100%; height:auto;}
img[class*="fit"]{object-fit:cover; font-family:'object-fit:cover;'}
img.fit-contain{object-fit:contain;}
img.fit-lc{object-position:left center;}
img.fit-rc{object-position:right center;}

[class*="bg-img-"]{background-repeat:no-repeat; background-position:center center;}
.bg-img-cover{background-size:cover;}
.bg-img-contain{background-size:contain;}

.flex-cc{display:flex; justify-content:center; align-items:center;}
.flex-wc{display:flex; flex-direction:column; align-items:center;}

.l{text-align:left;}
.c{text-align:center;}
.r{text-align:right;}

a.link-box{color:inherit; text-decoration:none;}
a.link-box:hover{opacity:.8;}

.scroll-container{
	display:flex;
	overflow-x:auto;
	gap:1rem;
	padding:1rem;
	justify-content:safe center;
	-webkit-overflow-scrolling:touch;
}
.scroll-container>*{
	flex-shrink:0;
	width:300px;
	background-color:var(--color-bg-gray);
	padding:1rem;
}

/* btn-menu
-------------------------------------------------------------- */
:root{
	--menubtn-w:32px;
	--menubtn-h:24px;
	--menubtn-rgb:0, 38, 86;
	--menubtn-open-rgb:0, 38, 86;
	--menubtn-border-w:2px;
}
#btn-menu-wrap{line-height:1;}
#btn-menu,
#header .nav .close{padding:0;border:none;outline:0;cursor:pointer}
#btn-menu{width:var(--menubtn-w);height:var(--menubtn-h);background-color:transparent;position:relative;z-index:1000;}
#btn-menu span,
#btn-menu::after,
#btn-menu::before{
	content:'';
	background:rgb(var(--menubtn-rgb));
	position:absolute;
	left:0;
	height:var(--menubtn-border-w);
	-webkit-transition:width .2s cubic-bezier(.25,.46,.45,.94);
	transition:width .2s cubic-bezier(.25,.46,.45,.94);
	-webkit-transform-origin:left center;
	-ms-transform-origin:left center;
	transform-origin:left center;
}
#btn-menu span{display:block;width:100%;text-indent:100%;overflow:hidden;top:calc(50% - var(--menubtn-border-w) / 2);}
#btn-menu::before{width:100%;top:0;}
#btn-menu::after{width:100%;bottom:0;}

.menu-open #btn-menu span{opacity:0}
.menu-open #btn-menu::before{-webkit-animation:menu-icon-1 .6s alternate forwards; animation:menu-icon-1 .6s alternate forwards}
.menu-open #btn-menu::after{-webkit-animation:menu-icon-2 .6s alternate forwards; animation:menu-icon-2 .6s alternate forwards}
@-webkit-keyframes menu-icon-1{
	40%{top:50%;-webkit-transform:translate(0,-50%);transform:translate(0,-50%);-webkit-transform-origin:center center;transform-origin:center center;background:rgb(var(--menubtn-rgb))}
	100%{top:50%;-webkit-transform:translate(0,-50%) rotate(135deg);transform:translate(0,-50%) rotate(135deg);-webkit-transform-origin:center top;transform-origin:center top;background:rgb(var(--menubtn-open-rgb))}
}
@keyframes menu-icon-1{
	40%{top:50%;-webkit-transform:translate(0,-50%);transform:translate(0,-50%);-webkit-transform-origin:center center;transform-origin:center center;background:rgb(var(--menubtn-rgb))}
	100%{top:50%;-webkit-transform:translate(0,-50%) rotate(135deg);transform:translate(0,-50%) rotate(135deg);-webkit-transform-origin:center top;transform-origin:center top;background:rgb(var(--menubtn-open-rgb))}
}
@-webkit-keyframes menu-icon-2{
	40%{bottom:50%;-webkit-transform:translate(0,50%);transform:translate(0,50%);-webkit-transform-origin:center center;transform-origin:center center;background:rgb(var(--menubtn-rgb))}
	100%{bottom:50%;-webkit-transform:translate(0,50%) rotate(-135deg);transform:translate(0,50%) rotate(-135deg);-webkit-transform-origin:center top;transform-origin:center top;background:rgb(var(--menubtn-open-rgb))}
}
@keyframes menu-icon-2{
	40%{bottom:50%;-webkit-transform:translate(0,50%);transform:translate(0,50%);-webkit-transform-origin:center center;transform-origin:center center;background:rgb(var(--menubtn-rgb))}
	100%{bottom:50%;-webkit-transform:translate(0,50%) rotate(-135deg);transform:translate(0,50%) rotate(-135deg);-webkit-transform-origin:center top;transform-origin:center top;background:rgb(var(--menubtn-open-rgb))}
}

/* scroll fadein
----------------------------------------------- */
.fadein {
	opacity:0;
	transform:translateY(40px);
	transition:all 1s;
}
.fadein.lazyloaded{
	opacity:1;
	transform: translateY(0);
}

.fadein-fix {
	opacity:0;
	transition:all .6s;
}
.fadein-fix.lazyloaded{
	opacity:1;
}

/* float-scroll-link
----------------------------------------------- */
#float-scroll-link-box{position:fixed; bottom:16px; right:16px; z-index:1000;}
.scroll-link{
	display:block;
	width:46px;
	aspect-ratio:1/1;
	background-color:rgba(0,0,0,.8);
	border-radius:50%;
	position:relative;
	visibility:collapse;
	opacity:0;
	transition:all 1s;
}
.scroll-link.show{
	visibility:visible;
	opacity:1;
}
.scroll-link::after{
	content:'';
	display:block;
	width:12px;
	height:12px;
	border:1px solid white;
	border-width:1px 1px 0 0;
	-webkit-transform:rotate(-45deg) translate(-50%, -50%);
	transform:rotate(-45deg) translate(-50%, -50%);
	position:absolute;
	top:56%;
	left:50%;
	transform-origin:0 0;
}

/* youtube
----------------------------------------------- */
.post-tmb,
.youtube{
	width:100%;
	aspect-ratio:16/9;
}
.post-tmb>*,
.youtube>*{
	width:100%;
	height:100%;
}
.post-tmb img{
	object-fit:cover;
}
.youtube.tmb{
	background-size:cover;
	background-repeat:no-repeat;
	background-position:center center center;
}

.map iframe{width:100%; vertical-align:bottom;}

/* button anime
----------------------------------------------- */
.line-hover{
	position: relative;
	display: inline-block;
}
.line-hover::after{
	content: '';
	position: absolute;
	bottom:0;
	left: 0;
	width: 100%;
	height: 2px;
	background:black;
	transform:scale(0, 1);
	transform-origin:left top;
	transition:transform .3s;
}
.line-hover.active::after,
.line-hover:hover::after {
	transform:scale(1,1);
}
.nav-link.line-hover::after{
	bottom:.5rem;
	left:.2rem;
	width:calc(100% - .4rem);
}

.pannel .line-hover::after{
	background:white;
}

/* slide */
.hover-slide{position:relative; overflow:hidden;}
.hover-slide>*{position:relative; z-index:10;}
.hover-slide::before{
	content:'';
	width:120%;
	height:100%;
	background-color:black;
	position:absolute;
	top:0;
	left:-130%;
	transition:all .3s ease;
	transform:skewX(-25deg);
}
.hover-slide:hover::before{left:-10%;}
.hover-slide:hover{color:white;}
.hover-slide.disabled{opacity:.7;}
