@charset "utf-8";

/*-------------------------------------------------------------------------------------------------------------------------------
* base
------------------------------------------------------------------------------------------------------------------------------- */
html {
	font-size: 10px;
}
@media (max-width: 767px) {
	html {
		font-size: 1.33vw;
	}
}

body {
	font-family: 'Hiragino Kaku Gothic Pro', '游ゴシック Medium', meiryo, sans-serif;
	font-size: 16px;
	line-height: 1.5;
	color: #333333;
}
body.fixed{
	position: fixed;
	width: 100%;
	height: 100%;
}
.pc {
	display: block;
}
.sp {
	display: none;
}
a {
	color: inherit;
	text-decoration: none;
	transition: opacity 0.4s;
}
img{
	-webkit-backface-visibility: hidden;
}

@media (max-width:767px) {
	body {
		font-size: 14px;
	}
	.pc {
		display: none;
	}
	.sp {
		display: block;
	}
	a:hover{
		opacity: 1 !important;
	}
	img{
		width: 100%;
	}
}


/* all_wrapper
===================================================================== */
#all_wrapper {
	width: 100%;
	min-width: 1140px;
}
@media (max-width:767px) {
	#all_wrapper {
		min-width: 100%;
	}
}


/* header 
===================================================================== */
header {
	height: 100px;
}

@media (max-width:767px) {
	header {
		height: 65px;
	}
}

/* h_logo */
header .h_logo{
	position: absolute;
	z-index: 100;
	top: 20px;
	left: 45px;
}
header .h_logo img{
	width: 330px;
}
header .h_logo a:hover{
	opacity: 1;
}

@media (max-width:767px) {
	header .h_logo{
		position: absolute;
		top: 11px;
		left: 20px;
	}
	header .h_logo img{
		width: 220px;
	}
}

/* btn_en */
header .btn_en{
	position: absolute;
	top: 38px;
	right: 140px;
	font-size: 18px;
}

@media (max-width:767px) {
	header .btn_en{
		top: 22px;
		right: 64px;
		font-size: 14px;
	}
}


/* btn_menu */
.btn_menu {
	position: fixed;
	z-index: 10000;
	top: 20px;
	right: 40px;
	display: block;
	width: 60px;
	height: 60px;
	background: #FFF;
	cursor: pointer;
}

@media (max-width:767px) {
	.btn_menu {
		top: 10px;
		right: 10px;
		width: 44px;
		height: 44px;
	}
}

.btn_menu .menu-line, .btn_menu .menu-line span {
	display: inline-block;
}
.btn_menu .menu-line {
	position: relative;
	display: block;
	width: 28px;
	height: 24px;
	top: 18px;
	left: 16px;
}
.btn_menu .menu-line span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #000;
	border-radius: 0;
}
.btn_menu .menu-line span:nth-of-type(1) {
	top: 0;
}
.btn_menu .menu-line span:nth-of-type(2) {
	top: 11px;
}
.btn_menu .menu-line span:nth-of-type(3) {
	top: 22px;
}
.btn_menu.active{
	background: none;
}
.btn_menu.active .menu-line span{
	background-color: #FFF;
}
.btn_menu.active .menu-line span:nth-of-type(1) {
	top: 11px;
	transform: rotate(-45deg);
}
.btn_menu.active .menu-line span:nth-of-type(2) {
	display: none;
}
.btn_menu.active .menu-line span:nth-of-type(3) {
	top: 11px;
	transform: rotate(45deg);
}

@media (max-width:767px) {
	.btn_menu .menu-line {
		width: 24px;
		height: 19px;
		top: 13px;
		left: 10px;
	}
	.btn_menu .menu-line span {
		height: 1px;
	}
	.btn_menu .menu-line span:nth-of-type(1) {
		top: 0;
	}
	.btn_menu .menu-line span:nth-of-type(2) {
		top: 8px;
	}
	.btn_menu .menu-line span:nth-of-type(3) {
		top: 16px;
	}
	.btn_menu.active .menu-line span:nth-of-type(1) {
		top: 8px;
		transform: rotate(-45deg);
	}
	.btn_menu.active .menu-line span:nth-of-type(3) {
		top: 8px;
		transform: rotate(45deg);
	}
}


/* nav (drawer_menu)
===================================================================== */
/* drawer_menu */
.drawer_menu{
	position: fixed;
	z-index: 1002;
	top: 0;
	right: 0;
	background-color:rgba(90,130,50,0.95);
	width: 500px;
	height: 100%;
	overflow: auto;
	-ms-overflow-style: none;
 	scrollbar-width: none;
	transform: translate(100vw);
	transition: all 0.4s;
}
.drawer_menu.open{
	transform: translate(0);
}
.drawer_menu::-webkit-scrollbar {
	display:none;
}
.drawer_menu .content{
	padding: 150px 100px;
}

@media (max-width:767px) {
	.drawer_menu{
		width: 290px;
	}
	.drawer_menu .content{
		padding: 80px 35px;
	}
}

.drawer_menu .content > ul > li{
	border-top: 1px solid #99b287;
}
.drawer_menu .content > ul > li:last-child{
	border-bottom: 1px solid #99b287;
}
.drawer_menu .content > ul > li > a{
	display: block;
	padding: 30px 0;
	text-align: center;
	font-size: 20px;
	letter-spacing: 0.1em;
	color: #FFF;
}
.drawer_menu .content > ul > li > ul{
	display: table;
	margin: -5px auto 40px;
	padding: 0 0.5em 0 0;
}
.drawer_menu .content > ul > li > ul > li:not(:first-child){
	margin: 20px 0 0;
}
.drawer_menu .content > ul > li > ul > li > a{
	display: block;
	text-align: left;
	font-size: 15px;
	letter-spacing: 0.1em;
	color: #FFF;
}
@media (max-width:767px) {
	.drawer_menu .content > ul > li > a{
		padding: 20px 0;
		font-size: 16px;
	}
	.drawer_menu .content > ul > li > ul{
		margin: -5px auto 20px;
	}
	.drawer_menu .content > ul > li > ul > li:not(:first-child){
		margin: 10px 0 0;
	}
	.drawer_menu .content > ul > li > ul > li > a{
		font-size: 12px;
	}
}


/* main
===================================================================== */
main .content.lower{
	width: 980px;
	margin: 0 auto;
	padding: 100px 0;
	line-height: 2;
}

@media (max-width:767px) {
	main .content.lower{
		width: 100%;
		margin: 0 auto;
		padding: 40px 20px;
		line-height: 1.65;
	}
}

/* footer
===================================================================== */
footer{
	position: relative;
	padding: 60px 0 40px;
	border-top: 1px solid #000;
	
}
@media (max-width:767px) {
	footer{
		padding: 10px 0 30px;
	}
}

/* f_nav */
.f_nav{
	display: flex;
	justify-content: center;
}
.f_nav li{
	padding: 0 25px;
	font-size: 14px;
	line-height: 1.2;
	border-left: 1px solid #000;
}
.f_nav li:first-child{
	border-left: none;
}
.f_nav li a:hover{
	opacity: 0.6;
}

@media (max-width:767px) {
	.f_nav{
		padding: 10px 0 0;
	}
	.f_nav li{
		padding: 0 20px;
		font-size: 12px;
	}
}

/* f_logo */
.f_logo{
	width: 330px;
	margin: 40px auto 0;
}

@media (max-width:767px) {
	.f_logo{
		width: 240px;
		margin: 30px auto 0;
	}
}

/* copyright */
.copyright{
	margin: 40px 0 0;
	text-align: center;
	font-size: 12px;
	font-family: Helvetica, Arial;
	letter-spacing: 0.1em;
}

@media (max-width:767px) {
	.copyright{
		margin: 20px 0 0;
		font-size: 10px;
	}
}

/* pagetop */
.pagetop{
	position: absolute;
	top: 20px;
	right: 40px;
	width: 70px;
}

@media (max-width:767px) {
	.pagetop{
		position: relative;
		top: 0;
		right: 0;
		width: 50px;
		margin-left: auto;
		margin-right: 20px;
	}
}

