@charset "utf-8";
/* CSS Document */

/* ----- font ----- */
@import url('https://fonts.googleapis.com/css?family=Kosugi+Maru&display=swap');
@import url('https://fonts.googleapis.com/css?family=Exo+2:700,700i&display=swap');

.km{font-family: 'Kosugi Maru', sans-serif;}
.exo{font-family: 'Exo 2', sans-serif; font-style: italic;}


html { font-size: 14px; } /* 10px */

body {
	font-family: "メイリオ", Meiryo, "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	-webkit-text-size-adjust: none;
	word-wrap: break-word;
	overflow-wrap: break-word;
	min-width: 1000px;
	letter-spacing: 0.5px;
	color: #333333;
	margin: 0 auto;
}
a{
	text-decoration: none;
	color: #333333;
}
a.linkStyle{
	text-decoration: underline;
}
.clearfix:after{
	content:".";
	visibility:hidden;
	display:block;
	height:0;
	clear:both;
}
.lh180{
	line-height: 1.8;
}
.hvr_ra:hover{
	border-radius: 32px;
}
/* ----- header ----- */
header #header{
	position: relative;
	height: 110px;
}
#header h1 img{
	max-width: 300px;
}
#header h1 img{
	max-width: 300px;
}
.head_btn{
	top: 0;
	right: 0;
}
.head_btn a::before{
	font-size: 16px;
	font-family: "Font Awesome 5 Free";
  font-weight: 400;
	content: "\f0e0";
	padding: 0 5px 0 0;
}
header #header::before{
	position: absolute;
	top: -5px;
	left: 0;
	content: '';
  border-top: 140px solid #2b8fd8;
  border-right: 140px solid transparent;
}
.nav a:hover span{
	color: #f84e3f;
}
.nav a span.active{
	color: #f84e3f;
}
/* ----- Googlemap ----- */
.map iframe{
	width: 100%;
	vertical-align: middle;
}
/* ----- 画面右のパネル ----- */
#panel{
	position: fixed;
	top: 190px;
	right: -100px;
	z-index: 99;
}
#panel a{
	width: 60px;
	height: 200px
}
/* ----- ページスクロール ----- */
#scroll{
	bottom: 24px;
	right: 5px;
	z-index: 1000;
}
#scroll a{
	z-index: 999;
	padding: 8px 8px 10px 8px;
}

/* ----- fakeloader ----- */
#wrap{
    opacity:0.0;
}
#fakeloader{
	z-index: 9999;
}
#fakeloader .fl{
	position: absolute!important;
	top: 50%!important;
	left: 50%!important;
	transform: translate(-50%,-50%)!important;
	width: 50%!important;
	max-width: 300px!important;
}
/*
#fakeloader .fl{
animation-name: loader;
animation-duration: 3s;
animation-timing-function: ease;
animation-iteration-count: infinite;
}
@keyframes loader {
0% {opacity: 0;}
100% {opacity: 1;}
}
*/

/* ----- アニメーション用 ----- */
.invisible {
    transition: opacity 0.5s ease;
    opacity: 0.0;
}
 
.visible {
    transition: opacity 0.5s ease;
    opacity: 1.0;
}

/* ---------- banner ---------- */
#banner figure{
	max-width: 240px;
}

/* ---------- PC ---------- */
@media screen and (min-width:769px){
	
}

/* ---------- タブレット ---------- */
@media screen and (max-width: 768px){
	body{
		min-width: 320px;
	}
	header #header{
		width: 100%;
		position: fixed;
		z-index: 999;
		top: 0;
		left: 0;
		height: 60px;
		background-color: #ffffff;
	}
	#header img{
		width: auto;
		height: 50px;
	}
	header #header::before{
		display: none;
	}
	#slide{
		padding-top: 60px;
	}
	#slide video{
		width: 100%;
		min-height: auto;
		height: auto!important;
	}
	#scroll{
		bottom: 15px;
		right: 5px;
	}
	#banner figure{
		max-width: 24%;
	}
}

/* ---------- スマートフォン ---------- */
@media screen and (max-width: 667px){
	.lh180{
		line-height: 1.6;
	}
	#scroll{
		bottom: 30px;
		right: 6px;
	}
	#scroll a{
		z-index: 999;
		padding: 6px 8px 8px 8px;
	}
	#banner figure{
		max-width: 270px;
	}
}