@charset "utf-8";
/* CSS Document */
@font-face {
  font-family: 'LINE Seed JP';
  src: url("../font/LINESeedJP_OTF_Rg.woff") format("woff");
}
@font-face {
  font-family: 'クラフト明朝';
  src: url("../font/craftmincho.ttf") format("truetype");
}
@font-face {
  font-family: 'KTEGAKI';
  src: url("../font/KTEGAKI.ttf") format("truetype");
}
body{
	font-family: 'LINE Seed JP';
	font-size: 13px;
	color: #86593b;
}
h1{
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 20px;
}
h2{
    font-family: 'クラフト明朝';
	letter-spacing: 2px;
}
h3{
	font-family: 'クラフト明朝';
}
p{
	line-height: 1.4;
	letter-spacing: 0.1em;
}
input,select,textarea{
	-webkit-appearance: auto;
	appearance :auto;
	background: #f4f6f5;
	border-width: 1px;
	border-style: dashed;
}
button{
	display: inline-block;
	text-align: center;
	width: 200px;
	padding: 8px;
	color: #f4f6f5;
	text-shadow: 0px 0px 5px rgba(255, 255, 255, 0.8);
	background-color: #0e8b23;
	border: 1px solid #f4f6f5;
	border-radius: 2vw;
	transition: 0.3s;
}
main{
	margin-top: 50px;/*位置下げ対応*/
}
.left-back{
    position: fixed;
    opacity: 0.2;
    width: 200px;
    bottom: 20%;
    z-index: -1;
}
.right-back{
    position: fixed;
    opacity: 0.2;
    width: 200px;
    top: 50px;
    right: 0;
    z-index: -1;
}
.header-title{
	position: fixed;
	max-width: 100%;
	width: 100vw;
	height: 50px;
	padding-left: 10px;
	background-color: rgba(255, 255, 255, 0.9);
	box-shadow: 0px 0px 5.76px 0.24px rgba(64, 62, 62, 0.81);
	display: flex;
	align-items: center;
	z-index: 100;
}
.header-title a{
	width: 25%;
	display: block;
}
.header-title img{
	width: 100%;
	object-fit: contain;
}
.wrapper-under-title{
	width: 100%;
	position: relative;
	top: 50px;
}
.header-image{
	position: relative;
	max-width: 100%;
	width: 100vw;
	height: calc(100vh - 50px);
	background-image: url("../images/img_sp_index_top.jpg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}
.header-image p,.header-image h1{
	width: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	font-family: 'クラフト明朝';
	font-size: 20px;
	text-align: center;
	line-height: 1.4;
	color: rgb(255, 255, 255);
	/*color: rgb(244, 246, 245);*/
	text-shadow: 0px 0px 5.68px rgba(225, 120, 20, 0.9);
}
.header-image h1::after, .header-image p::after{
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: calc(100vw - 20px);
	height: 80px;
	border-radius: 10px;
	background-color: rgba(22,10,0,0.53);
	filter: blur(20px);
	z-index: -1;
}
.header-image img{
	width: 100%;
	object-fit: cover;
}
.common-wrap-content{
    position: relative;
    width: calc(100vw - 100px);
    margin-left: auto;
    margin-right: auto;
    padding-top: 30px;
}
.common-h2-deco{
    position: relative;
    left: -10px;
    display: inline-block;
    background-color: #f4f6f5;
    border: 1px solid #86593b;
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    margin-top: 20px;
    padding: 15px 40px;
    box-shadow: 5px -5px 0 0 #0e8b23;
}

footer{
	background-color: #fff;
	text-align: center;
	border-top: 1px solid rgba(0, 0, 0, 0.75);
}
.footer-wrap{
	width: 350px;
	margin-left: auto;
	margin-right: auto;
}
.footer-area{
	display: flex;
	align-items: center;
	padding: 20px;
}
.footer-area img{
	margin-left: 30px;
	width: 60%;
}
.footer-area a{
	width: 100px;
}
.footer-info{
	flex-grow: 0.5;
	text-align: left;
	padding-left: 25px;
}
.footer-info p{
	margin-bottom: 5px;
}
small{
	display: block;
	margin-top: 30px;
	color: #000;
}

#g-nav{
	position: relative;
	z-index: -100;
	font-family: 'クラフト明朝';
	
}
/*アクティブになったエリア*/
#g-nav.panelactive{
    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
    position: fixed;
    z-index: 999;
	top: 0;
	width: 100%;
    height: 100vh;
}

/*丸の拡大*/
.circle-bg{
    position: fixed;
	z-index: 3;
    /*丸の形*/
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: #86593b;
    /*丸のスタート位置と形状*/
	transform: scale(0);/*scaleをはじめは0に*/
	right: -50px;
    top: -50px;
    transition: all .6s;/*0.6秒かけてアニメーション*/
}

.circle-bg.circleactive{
	transform: scale(50);/*クラスが付与されたらscaleを拡大*/
}

/*ナビゲーション*/
#g-nav ul{
	opacity: 0;/*はじめは透過0*/
    /*ナビゲーション天地中央揃え※レイアウトによって調整してください。不必要なら削除*/
    position: absolute;
    z-index: 999;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}

/*背景が出現後にナビゲーションを表示*/
#g-nav.panelactive ul {
    opacity: 1;
}

/* 背景が出現後にナビゲーション li を表示※レイアウトによって調整してください。不必要なら削除*/
#g-nav.panelactive ul li{
	animation-name: gnaviAnime;
	animation-duration: 1s;
	animation-delay: .2s;/*0.2 秒遅らせて出現*/
	animation-fill-mode: forwards;
	opacity: 0;
}
@keyframes gnaviAnime{
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

/*リストのレイアウト設定*/
#g-nav li{
	text-align: center; 
}
#g-nav li a{
	color: #f4f6f5;
	text-decoration: none;
	padding: 10px;
	display: block;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-weight: bold;
	white-space: nowrap;
}

/*========= ボタンのためのCSS ===============*/
.openbtn1{
	position: fixed;
	top: 5px;
	right: 5px;
	z-index: 9999;/*ボタンを最前面に*/
	cursor: pointer;
    width: 50px;
    height: 50px;
}
	
/*×に変化*/	
.openbtn1 span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
	background-color: #666;
  	width: 45%;
  }

.openbtn1 span:nth-of-type(1) {
	top: 15px;	
}

.openbtn1 span:nth-of-type(2) {
	top: 23px;
}

.openbtn1 span:nth-of-type(3) {
	top: 31px;
}

.openbtn1.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
}

.openbtn1.active span:nth-of-type(2) {
	opacity: 0;
}

.openbtn1.active span:nth-of-type(3){
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
}
.sp{
    display: block!important;
}
.pc{
    display: none!important;
}
@media (min-width: 800px){
    .sp{
        display: none!important;
    }
    .pc{
        display: block!important;
    }
    body{
        font-size: 15px;
    }
    .left-back{
        width: 25%;
        bottom: 20%;
    }
    .right-back{
        width: 25%;
        right: 50px;
    }
	.wrapper-under-title{
		top: 0;
	}
	.header-title{
		position: static;
	}
	.header-title img{
		max-width: 300px;
	}
	.header-image{
		height: calc(100vh - 150px);
		background-image: url("../images/img_index_top.jpg");
	}
	.openbtn1{
		display: none;
	}
	.pc-nav{
		display: none;
	}
	#g-nav{
		z-index: 0;
	}
    #g-nav.sidenavactive{
        animation-name: appearmenu;
        animation-duration: 0.7s;
    }
	#g-nav ul{
		opacity: 1;
		position: static;
		transform: translate(0,0);
		/*上記でスマホスタイル切る*/
		display: flex;
		height: 100px;
		line-height: 80px;
		justify-content: space-between;
		background-color: #0e8b23;
		align-items: center;
	}
	#g-nav ul li{
		flex: 1;
		border: 2px solid #fff;
	}
	#g-nav.sidenavactive ul{
		position: fixed;
		top: 0;
		left: auto;
		right: 0;
		width: 50px;
		height: 100vh;
		line-height: 50px;
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
		-webkit-text-orientation: upright;
		text-orientation: upright;
	}
	#g-nav.sidenavactive ul li{
		width: 100%;
	}
    #g-nav ul li a{
        font-size: 20px;
        transition: 0.3s;
    }
	#g-nav ul li a:hover{
		border-top-left-radius: 10px;
		border-top-right-radius: 10px;
		transform-origin: bottom;
		transform: scale(1.1);
		background-color: #02b102;
	}
	#g-nav.sidenavactive ul li a{
		padding: 0;
		font-size: 13px;
	}
	#g-nav.sidenavactive .pc-nav{
		display: block;
	}
	.common-h2-deco{
		left: -1vw;
		padding: 15px 10vw;
		border: 0.5vw solid #86593b;
		box-shadow: 0.5vw -0.5vw 0 0 #0e8b23;
	}
	.footer-wrap{
		width: 60vw;
	}
	.footer-area{
		justify-content: space-around;
	}
}
@keyframes appearmenu{
    0%{
        opacity: 0;
    }
    100%{
        opacity: 1;
    }
}
