

body{
	margin:0;
	padding:0;
    background:#FFFFFF;
    overflow-x:hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.page-container{overflow: hidden;} /* Prevents unwanted scroll space when scroll FX used. */
a,button{transition: background .3s ease-in-out;outline: none!important;} /* Prevent blue selection glow on Chrome and Safari */
a:hover{text-decoration: none; cursor:pointer;}
.scroll-fx-lock-init{position:fixed!important;top: 0;bottom: 0;left: :0;right: 0;z-index:99999;} /* ScrollFX Lock */
.blocs-grid-container{display: grid!important;grid-template-columns: 1fr 1fr;grid-template-rows: auto auto;column-gap: 1.5rem;row-gap: 1.5rem;} /* CSS Grid */
nav .dropdown-menu .nav-link{color:rgba(0,0,0,0.6)!important;} /* Maintain Downdown Menu Link Color in Navigation */
[data-bs-theme="dark"] nav .dropdown-menu .nav-link{color:var(--bs-dropdown-link-color)!important;} /* Maintain Downdown Menu Link Color in Navigation in Darkmode */


/* Preloader */

.page-preloader{position: fixed;top: 0;bottom: 0;width: 100%;z-index:100000;background:#FFFFFF url("../img/pageload-spinner.gif") no-repeat center center;animation-name: preloader-fade;animation-delay: 2s;animation-duration: 0.5s;animation-fill-mode: both;}
.preloader-complete{animation-delay:0.1s;}
@keyframes preloader-fade {0% {opacity: 1;visibility: visible;}100% {opacity: 0;visibility: hidden;}}



/* = NavBar
-------------------------------------------------------------- */

/* Navbar Icon */
.svg-menu-icon{
	fill: none;
	stroke: rgba(0,0,0,0.5);
	stroke-width: 2px;
	fill-rule: evenodd;
}
.navbar-dark .svg-menu-icon{
	stroke: rgba(255,255,255,0.5);
}
.menu-icon-thin-bars{
	stroke-width: 1px;
}
.menu-icon-thick-bars{
	stroke-width: 5px;
}
.menu-icon-rounded-bars{
	stroke-width: 3px;
	stroke-linecap: round;
}
.menu-icon-filled{
	fill: rgba(0,0,0,0.5);
	stroke-width: 0px;
}
.navbar-dark .menu-icon-filled{
	fill: rgba(255,255,255,0.5);
}
.navbar-toggler-icon{
	background: none!important;
	pointer-events: none;
	width: 33px;
	height: 33px;
}
/* Handle Multi Level Navigation */
.dropdown-menu .dropdown-menu{
	border:none}
@media (min-width:576px){
.navbar-expand-sm .dropdown-menu .dropdown-menu{
	/* border:1px solid rgba(0,0,0,.15); */
	border:1px solid rgba(0,0,0,.15);
	position:absolute;
	left:100%;
	top:-7px}
	.navbar-expand-sm .dropdown-menu .submenu-left{
	right:100%;
	left:auto}
}
	
	@media (min-width:768px){
	/* @media (orientation: portrait){ */
	/* @media (min-width:375px) and (orientation: portrait){	 */
	.navbar-expand-md .dropdown-menu .dropdown-menu{
	border:1px solid rgba(0,0,0,.15);
	border:1px solid rgba(0,0,0,.15);
	position:absolute;
	left:100%;
	top:-7px}
	.navbar-expand-md .dropdown-menu .submenu-left{
	right:100%;
	left:auto}}
	
	@media (min-width:992px){
	.navbar-expand-lg .dropdown-menu .dropdown-menu{
	border:1px solid rgba(0,0,0,.15);
	position:absolute;
	left:100%;
	top:-7px}
	.navbar-expand-lg .dropdown-menu .submenu-left{
	right:100%;
	left:auto}
}
/* = Open menus on hover
-------------------------------------------------------------- */
@media (min-width: 992px){
	/* @media (orientation: portrait){ */
	.hover-open-submenu li:hover > .dropdown > .dropdown-menu, .hover-open-submenu .dropdown-menu > li:hover .dropdown-menu{
	display: block;
}
.hover-open-submenu li .dropdown .dropdown-menu{
	margin-top:0;
}
}

.btn,a{
	/* font-family:"Helvetica"; */
}

/* = Buttons
-------------------------------------------------------------- */

.btn-d,.btn-d:hover,.btn-d:focus{
	color:#FFF;
	background:rgba(0,0,0,.3);
}

/* Prevent ugly blue glow on chrome and safari */
button{
	outline: none!important;
}

.btn-sq{
	border-radius: 0px;
}
.btn-style-none,.btn-style-none:hover,.btn-style-none:active,.btn-style-none:focus{
	background:none;
	box-shadow: none;
	padding:0;
}
.btn-wire{
	background:transparent!important;
	border:2px solid transparent;
}
.btn-wire:hover{
	background:transparent!important;
	border:2px solid transparent;
}
.btn-xl{
	padding: 16px 40px;
	font-size: 28px;
}

/* ScrollToTop button */


.scrollToTop{
	width:36px;
	height:36px;
	padding:5px;
	position:fixed;
	bottom:20px;
	right:20px;
	opacity:0;
	z-index:999;
	transition: all .3s ease-in-out;
	pointer-events:none;
}
.showScrollTop{
	opacity: 1;
	pointer-events:all;
}
.scroll-to-top-btn-icon{
	fill: none;
	stroke: #fff;
	stroke-width: 2px;
	fill-rule: evenodd;
	stroke-linecap:round;
}

/* = Lightbox
-------------------------------------------------------------- */

a[data-lightbox]{
	position: relative;
	display: block;
	text-align: center;
}
a[data-lightbox]:hover::before{
	content:"+";
	font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial;
	font-size:32px;
	line-height: 42px;
	width:50px;
	height:50px;
	margin-left:-25px;
	border-radius: 50%;
	background:rgba(0,0,0,.5);
	color:#FFF;
	font-weight:100;
	z-index: 1;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}
a[data-lightbox]:hover img{
	opacity: 0.6;
	-webkit-animation-fill-mode: none;
	animation-fill-mode:none;
}

/* キャプション */
.lightbox-caption{
	padding: 20px;
	color: #fff;
	
	font-size: 1.1em;
	font-family: "BIZ UDGothic", sans-serif;
	font-weight: 700;
	font-style: normal;

	text-shadow:
    2px 2px 2px #000,
    -2px 2px 2px #000,
    -2px -2px 0 #000,
    2px -2px 0 #000;

	/* text-shadow: #fff 0px 0px 10px; */
	/* background: rgba(255,255,255,.6); */
	position: absolute;
	left: 16px;
	right: 16px;
	bottom: -4em;
}
.close-lightbox:hover,.next-lightbox:hover, .prev-lightbox:hover{
	background:rgba(0,0,0,.5);
}
.next-lightbox, .prev-lightbox,.close-lightbox{
	position: absolute;
	padding:6px;
	background:rgba(0,0,0,.3);
	line-height:0;
	transition: background .2s ease-in-out;
	border-radius:.25rem;
	border:none;
	z-index:20;
}
.next-lightbox, .prev-lightbox{
	top:45%;
}
.close-lightbox{
	top:20px;
	right:20px;
}
.next-lightbox{
	right:25px;
}
.prev-lightbox{
	left:25px;
}
.lightbox-prev-icon,.lightbox-next-icon,.lightbox-close-icon{
	fill:none;
	stroke: #fff;
	stroke-width: 3px;
	fill-rule: evenodd;
	stroke-linecap:round;
}
.lightbox-close-svg{
	pointer-events:none;
}

/* Framless */
.frameless-lb{
	border-radius: 0;
	border:none;
}
.frameless-lb .modal-body{
	padding:0;
	
}
.frameless-lb .lightbox-caption{
	left:0;
	right:0;
	bottom:-16px;
}

/* .modal-body{ */
	/* background-color: rgba(0,0,0,0.5); */
	/* background-color: rgb(0, 0, 0, 0.25); */
/* } */

/* Horizontal Scroll Container */
.blocs-horizontal-scroll-container{
	position:relative;
}
.blocs-horizontal-scroll-area{
	display:flex;
	overflow-x:auto;
	align-items:flex-start;
	gap:20px;
}
.blocs-horizontal-scroll-area > *{
	flex-shrink:0;
	max-width:100%;
}
.blocs-horizontal-scroll-area::-webkit-scrollbar{
	display:none;
}
.blocs-horizontal-scroll-control{
	position:absolute;
	top:50%;
	transform:translateY(-50%);
	z-index:1;
	display:flex;
	text-align:center;
	border:0;
	margin:0 30px;
}
.blocs-scroll-control-next{
	right:0;
}
.blocs-round-btn{
	background:rgba(0,0,0,0.15);
	border-radius:100%;
	padding:12px;
	opacity:0;
	cursor:pointer;
	transform:scale(0.5);
	backdrop-filter:blur(20px);
	-webkit-backdrop-filter:blur(20px);
	transition:opacity .50s ease,transform .50s ease;
}
.blocs-horizontal-scroll-container:hover .blocs-round-btn,.blocs-horizontal-scroll-container.show-controls .blocs-round-btn{
	opacity:1;
	transform:scale(1.0);
}
.blocs-round-btn:active{
	background:rgba(0,0,0,0.3);
	transform:scale(0.9)!important;
	transition:transform .30s ease,background .50s ease;
}
.compact-blocs-controls .blocs-round-btn{
	padding:2px;
	width:30px;
	height: 30px;
}
.compact-blocs-controls .blocs-round-btn svg{
	width:14px;
	height:14px;
}
.compact-blocs-controls .blocs-horizontal-scroll-control{
	margin:0 20px;
}
.horizontal-scroll-icon{
	fill:none;
	stroke:#fff;
	stroke-width:4px;
	fill-rule:evenodd;
	stroke-linecap:round;
}
.hide-left-control > .blocs-scroll-control-prev, .hide-right-control > .blocs-scroll-control-next{
	opacity:0!important;
}
.show-controls > .blocs-scroll-control-prev, .show-controls > .blocs-scroll-control-next{
	opacity:1!important;
}