body{
	font-size:18px;line-height:1.8;color:#707070;background-repeat:repeat;background-color:#FFFFFF;margin:0px;padding:0px;-webkit-text-size-adjust:100%;
}
a{text-decoration:none; color:#707070;}
a img{border:0;}
a:hover {opacity:0.6;filter:Alpha(opacity=60);}
a:hover img{opacity:0.6;filter:Alpha(opacity=60);}
h1{font-size:14px;}
h2{font-size:14px;}
h3{font-size:14px;}
h4{font-size:14px;}
img{max-width:100%;height:auto;}
#wrap{/*width:1300px;*/max-width:100%;margin:0 auto;position:relative;background-color:#FFFFFF;}
p{text-align: justify;text-justify: inter-ideograph;}

/* smooth scroll*/
/* html{scroll-behavior: smooth;}  */

/* header */
#header{
	width: 100%;
	margin: 0 auto;
	padding: 0 0 0 0;
	text-align: center;
}
#header .contents{
	max-width: 1150px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#header .contents .logo_area{
	text-align: left;
	margin-left:5px;
}
#header .contents .menu_area{
	text-align: right;
	margin-right:5px;
}
#header .contents .menu_area ul{
	margin: 0;
	padding: 0;
}
#header .contents .menu_area li{
	display: inline-block;
	padding: 0;
	text-align: center;
	font-size: 14px;
}
#header .contents .menu_area li.contact{
	background: #114520;
}
#header .contents .menu_area li.contact a:hover,
#header .contents .menu_area li.contact a:hover img{
	opacity:initial;filter:initial;
}
#header .contents .menu_area li.contact a:hover {
	animation: contact_mail 1s linear;
}	 
@keyframes contact_mail {
	0%{ transform: rotateY(0deg); }
	100%{ transform: rotateY(360deg); }
}


/* under bar */
#header .contents .menu_area li span.under,
#header .contents .menu_area li a.under{
	position: relative;
	display:flex;
	align-items: center;
	justify-content: center;
	width:120px;
	height:120px;
	text-decoration: none;
}
#header .contents .menu_area li span.under::after,
#header .contents .menu_area li a.under::after {
	position: absolute;
	left: 0;
	content: '';
	width: 100%;
	height: 4px;
	background: #114520;
	bottom: -2px;
	transform: scale(0, 1);
	transform-origin: center top;
	transition: transform 0.3s;
}	
#header .contents .menu_area li span.under:hover::after,
#header .contents .menu_area li a.under:hover::after {
	transform: scale(1, 1);
}
/* under bar */

/* mega menu */
#header .contents .menu_area .gnav {
	display: flex;
	justify-content: space-between;
}	
#header .contents .menu_area .gnav li {
	transition: all .3s ease-in-out;
}	
#header .contents .menu_area .gnav > li:hover .megamenu {
	max-height: 9999px;
	opacity: 1;
	padding: 30px 0;
}	
#header .contents .menu_area .megamenu {
	max-height: 0;
	opacity: 0;
	overflow: hidden;
	width: 100%;
	position: absolute;
	top: 120px;
	left: 0;
	transition: all .2s ease-in;
	z-index: 99999;
	background-color: #FFFFFF;
}	
#header .contents .menu_area .megamenu_main {
	display: flex;
	max-width: 1150px;
	margin: 0 auto!important;
}
#header .contents .menu_area .megamenu_main .head{
	width: 120px;
	font-size: 18px;
	height:128px;
	border-right: 1px solid #DCDCDC;
	margin:11px 30px 11px 0;
	text-align: left;

	display: grid;
	place-items: center;
}
#header .contents .menu_area .megamenu_main ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;

	width: calc( 100% - 181px );
}
#header .contents .menu_area .megamenu_main li {
	padding: 0;
	margin: 10px;
}
#header .contents .menu_area .megamenu_main .megamenu_image {
	width: 160px;
	height: 100px;
	margin: 0 auto;
}
#header .contents .menu_area .megamenu_main .megamenu_image img{
	width: 100%;
	height: 100px;
	object-fit: cover;
}
#header .contents .menu_area .megamenu_main .megamenu_text {
	margin: 0 auto 5px;
	text-align: left;
	font-size: 12px;
}
#header .contents .menu_area .megamenu_main .megamenu_text:before {
	content:"－";
	color: #114520;
	margin-right: 5px;
	font-weight: bold;
}
/* mega menu */

/* head text animateion */
#header .contents .menu_area .gnav li .text_line .text_line_box {
	display: block;
	text-align: center;
}
#header .contents .menu_area .gnav li .text_line .text_line_bar {
	position: relative;
	display: inline-block;
	-webkit-transform: translate3d(0, 0, 0);
	-ms-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}
#header .contents .menu_area .gnav li .text_line .text_line_bar:before {
	content: '';
	display: inline-block;
	width: 0;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	background: #114520;
}
#header .contents .menu_area .gnav li .text_line .text_line_txt {
	opacity: 0;
	-webkit-transform: translate3d(0, 0, 0);
	-ms-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
	/*font-weight: bold;*/
}
#header .contents .menu_area .gnav > li:hover .text_line.move .text_line_bar:before {
	-webkit-animation: text_line_bar 1s ease 0s 1 normal forwards;
	animation: text_line_bar 1s ease 0s 1 normal forwards;
}
#header .contents .menu_area .gnav > li:hover .text_line.move .text_line_txt {
	-webkit-animation: text_line_txt 0s ease .5s 1 normal forwards;
	animation:text_line_txt 0s ease .5s 1 normal forwards;
}

@-webkit-keyframes text_line_bar{
	0%{ left: 0; right: auto; width: 0; }
	50%{ left: 0; right: auto; width: 100%; }
	51%{ left: auto; right: 0; width: 100%; }
	100%{ left: auto; right: 0; width: 0; }
}
@keyframes text_line_bar{
	0%{ left:0; width: 0; }
	50%{ left: 0; width: 100%; }
	51%{ left: 0; width: 100%; }
	100%{ left: 100%; width: 0; }
}
@-webkit-keyframes text_line_txt{
	0%{ opacity: 0; }
	50%{ opacity: 0; }
	100%{ opacity: 1; }
}
@keyframes text_line_txt{
	0%{ opacity:0; }
	50%{ opacity:0; }
	100%{ opacity:1; }
}

#header .contents .head span{
	display: inline-block;
	transition: .5s;
}
#header .contents .head:hover span{
	-webkit-transform: rotateX(360deg);
	transform: rotateX(360deg);
}
/* head text animateion */
/* header */

/* contents_mobile */
#header .contents_mobile{
	width: 100%;
	height: 64px;
	margin: 0 auto;
	padding: 0 0 0 0;
	text-align: center;
	overflow: hidden;
	/*background: #114520;*/
	display: flex;
	justify-content: space-between;
	align-items: center;
	display: none;
}
#header .contents_mobile .logo_area{
	text-align: left;
	margin-left:5px;
}
#header .contents_mobile .control_area{
	text-align: right;
	margin-right:5px;
}
#header .contents_mobile .control_area .inquiry_btn{
	border: 2px solid #FFFFFF;
	padding: 5px 10px;
	color: #FFFFFF;
	border-radius: 5px;
	display:inline-block;
	font-size: 14px;
}
#header .contents_mobile .control_area .mobile_menu{
	color: #FFFFFF;
	width: 50px;
	display: inline-block;
	text-align: center;
}

#header .contents_mobile .control_area .mobile_menu .drawer-hamburger-icon,
#header .contents_mobile .control_area .mobile_menu .drawer-hamburger-icon:after,
#header .contents_mobile .control_area .mobile_menu .drawer-hamburger-icon:before {
	background-color: #114520;
}
.drawer-open #header .contents_mobile .control_area .mobile_menu .drawer-hamburger-icon{
	background-color: transparent;
}
#header .contents_mobile .control_area .mobile_menu {
	text-decoration: none;
}
#header .contents_mobile .control_area .mobile_menu li{
	border-bottom: 1px solid #F2F4F6;
	text-align: left;
	padding: 10px 10px;
}
#header .contents_mobile .control_area .mobile_menu li:last-child {
	border-bottom: 1px solid #F2F4F6;
}
#header .contents_mobile .control_area .mobile_menu .drawer-menu-item{
	padding: 5px 10px;
	padding: 0;
	font-size: 14px;
	font-weight: normal;
}
#header .contents_mobile .control_area .mobile_menu .drawer-menu-item.title{
	font-size: 14px;
	padding: 0;
}
#header .contents_mobile .control_area .mobile_menu .drawer-menu-item.drawer_dropdown_list{
	display: none;
}
#header .contents_mobile .control_area .mobile_menu ul.not_drawer_dropdown_list,
#header .contents_mobile .control_area .mobile_menu ul.drawer_dropdown_list{
	margin: 0;
	padding: 0;
}
#header .contents_mobile .control_area .mobile_menu .drawer-menu-item.not_drawer_dropdown_list li,
#header .contents_mobile .control_area .mobile_menu .drawer-menu-item.drawer_dropdown_list li{
	padding: 5px calc( 10px + 1em );
}
#header .contents_mobile .control_area .mobile_menu .drawer-menu-item .drawer_not_dropdown_title,
#header .contents_mobile .control_area .mobile_menu .drawer-menu-item .drawer_dropdown_title{
	position: relative;
	padding: 15px 10px;
	/*background-color: #F2F4F6;*/
	border-bottom: 1px solid #c4c4c5;
}
#header .contents_mobile .control_area .mobile_menu .drawer-menu-item .drawer_dropdown_title:after {
    position: absolute;
    top: 50%;
    right: 20px;
    margin-top: -10px;
	content: '';
    width: 10px;
    height: 10px;
    border-top: solid 2px #114520;
    border-right: solid 2px #114520;
    -ms-transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
	transition-duration: 0.1s;
}
#header .contents_mobile .control_area .mobile_menu .drawer-menu-item .drawer_dropdown_title.open::after {
	margin-top: -5px;
    -ms-transform: rotate(315deg);
    -webkit-transform: rotate(315deg);
    transform: rotate(315deg);
	transition-duration: 0.1s;
}
#header .contents_mobile .control_area .mobile_menu .phone a{
	text-decoration: underline solid #1A0DAB;
	text-align: center;
	font-size: 18px;
}
#header .contents_mobile .control_area .mobile_menu .button {
	position: fixed;
    z-index: 4;
    top: 0;
    box-sizing: content-box;
    width: 2rem;
    padding: 0;
	padding: 18px .7rem 30px;
    border: 0;
    outline: 0;
	background-color: transparent;
	display: none;
}

#header .contents_mobile .control_area .mobile_menu .menu_icon {
	background-color: #FFFFFF;
	display: block;
	position: relative;
	margin-top: 11px;
}
#header .contents_mobile .control_area .mobile_menu .menu_icon:after,
#header .contents_mobile .control_area .mobile_menu .menu_icon:before {
    position: absolute;
    top: 10px;
    left: 0;
    content: " ";
}
#header .contents_mobile .control_area .mobile_menu .menu_icon:before {
    top: -10px;
}
#header .contents_mobile .control_area .mobile_menu .menu_icon,
#header .contents_mobile .control_area .mobile_menu .menu_icon:after,
#header .contents_mobile .control_area .mobile_menu .menu_icon:before {
    width: 100%;
    height: 2px;
    background-color: #FFFFFF;
}

.drawer-hamburger {
	/*display: none;*/
	position: absolute!important;
	webkit-transition: none!important;
    transition: none!important;
}
.drawer-toggle.drawer-hamburger.hide{
	transition: .5s;
    transform: translateY(-100%);
}

#header .contents_mobile .control_area .mobile_menu .contact{
	padding: 5px 20px;
	text-align: center;
}
#header .contents_mobile .control_area .mobile_menu .contact .contact_btn{
	width: 100%;
	background-color: #114424;
	color: #FFFFFF!important;
	text-align :center;
	margin: 30px auto 0;
	padding: 5px 0;
	display: block;
}
/* contents_mobile */

/* top */
#wrap .top{
	position: relative;
}
#wrap .top img.cover{
    width: 100%;
	height: 500px;
    object-fit: cover;
	object-position: center center;
	vertical-align:top;
}
#wrap .top .contents{
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);

	width: 1300px;
	height: 100%;
	margin: 0 auto;
	display: flex;
	align-items: center;
}
#wrap .top .contents h1{
	font-size: 50px;
	font-weight: normal;
	color: #FFFFFF;
}
/* top */

/* footer */
#footer_image{
	width: 100%;
	margin: 0;
}

#footer{
	width: calc( 100% - 260px );
	padding: 80px 130px 100px;
	font-size: 14px;
	text-align: center;
	word-wrap: break-word;
	word-break: keep-all;
	background-color: #FFFFFF;
	line-height: 160%;
	display: flex;
	flex-wrap: wrap;
}
#footer .logo{
	width: 220px;
	text-align: left;
	margin-top: 20px;
}
#footer .list{
	display: flex;
	flex-wrap: wrap;
}
#footer .list > div{
	width: 220px;
	text-align: left;
	font-size: 16px;
	line-height: 100%;
	margin-top: 20px;
}
#footer .list ul{
	padding-left: 15px;
	list-style: none;
	font-size: 14px;
	line-height: 200%;
}
#footer .copyright{
	width: 100%;
	margin-top: 20px;
	text-align: right;
}

#footer .list_mobile {
	display: none;
	width: 100%;
	margin: 20px 0;
	text-align: left;
}
#footer .list_mobile .footer_dropdown_title{
	font-size: 14px;
	padding: 0 20px;
}
#footer .list_mobile .footer_dropdown_list{
	display: none;
}
#footer .list_mobile ul.footer_dropdown_list{
	margin: 0;
	padding: 0;
	list-style: none;
}
#footer .list_mobile .footer_dropdown_list li{
    border-bottom: 1px solid #F2F4F6;
}
#footer .list_mobile .footer_dropdown_list li a{
	text-decoration: underline;
	width: calc( 100% - 80px );
	padding: 15px calc( 20px + 1em );
	display: block;
}
#footer .list_mobile .footer_dropdown_title{
	position: relative;
	width: calc( 100% - 40px );
	padding: 15px 20px;
	border-bottom: 1px solid #c4c4c5;
}
#footer .list_mobile .footer_dropdown_title:after {
    position: absolute;
    top: 50%;
    right: 20px;
    margin-top: -10px;
	content: '';
    width: 10px;
    height: 10px;
    border-top: solid 2px #114520;
    border-right: solid 2px #114520;
    -ms-transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
	transition-duration: 0.1s;
}
#footer .list_mobile .footer_dropdown_title.open::after {
	margin-top: -5px;
    -ms-transform: rotate(315deg);
    -webkit-transform: rotate(315deg);
    transform: rotate(315deg);
	transition-duration: 0.1s;
}
/* footer */

/* banner */
#wrap #contents .info_banner{
	text-align: center;
	margin:20px auto 0;
	padding: 0 10px;
	max-width: 980px;
}
/* top banner */

/* page top button */
#wrap #contents {
	position: relative;
}
#wrap #contents .page_top_btn{
	display: block;
	position: fixed;
	bottom: 10px;
	right: 10px;
	width: 50px;
	height: 50px;
	background-color: #114424;
	color: #FFFFFF!important;
	border-radius: 50%;
	text-align: center;
	line-height: 150%;
	font-size:30px;
	text-decoration: none!important;
	z-index: 10000;
}
/* page top button */

/* contents */
/* 高さが足りない場合のフッター調整 */
#wrap {min-height: calc(100vh - 592px);}
#wrap #contents h2{font-size:34px;margin:0;padding:0;}
#wrap #contents h3{font-size:26px;margin:0;padding:0;}
#wrap #contents h4{font-size:21px;margin:0;padding:0;}
/* contents */

/* effect */
.text_shadow{
    text-shadow: 3px 3px 4px #000000;
}
/* effect */

/* instagram */
.instagram_btn{
	color: #FFF;
	border-radius: 8px;
	position: relative;
	display: inline-block;
	width: 250px;
	height: 50px;
	margin: 0 auto;
	text-align: center;
	font-size: 24px;
	text-decoration:none;
	line-height: 50px;
	background: -webkit-linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
	background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
	overflow: hidden;
}
.instagram_btn:before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: -webkit-linear-gradient(15deg, #ffdb2c, rgb(249, 118, 76) 25%, rgba(255, 77, 64, 0) 50%) no-repeat;
	background: linear-gradient(15deg, #ffdb2c, rgb(249, 118, 76) 25%, rgba(255, 77, 64, 0) 50%) no-repeat;
}
.instagram_btn .instagram_icon{
	position: relative;
	top: 4px;
	margin: 0 10px 0 0!important;
	padding: 0!important;
}
.instagram_btn span {
	display: inline-block;
	position: relative;
	transition: .5s;
}
/* instagram */


/* embed */
.googlemap_embed,
.youtube_embed{
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 56.25%;
	overflow: hidden;
}
.googlemap_embed iframe,
.youtube_embed iframe{
	position:absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
/* embed */

/* image zoom on hover effect */
.img_zoom{
	overflow:hidden;
}
.img_zoom img{
	transition:0.25s;
}
.img_zoom img:hover{
	transform:scale(1.1);
}
/* image zoom on hover effect */

/* media-query */
/* main column width(1300px) size */
@media screen and (max-width: 1300px){
	#wrap .top .contents{
		width: calc( 100% - 40px );
		padding: 0 20px;
	}

	#footer{
		width: calc( 100% - 60px );
		padding: 30px 30px 50px;
	}

}

/* main column width(1150px) size */
@media screen and (max-width: 1149px){

}

/* PC<->SP切り替えポイント */
@media screen and (max-width: 768px){
 
    #header .contents {
        display: none;
    }
    #header .contents_mobile {
        display: flex;
    }

	#wrap .top img.cover{
		height: 250px;
	}

	#footer {
		width: 100%;
		padding: 50px 0;
	}
	#footer .logo {
		padding: 0 30px;
	}
	#footer .copyright{
		text-align: center;
	}

    #footer .list {
        display: none;
    }
    #footer .list_mobile {
        display: block;
    }
}

@media screen and (max-width: 640px){
	#wrap .top .contents h1 {
		font-size: 40px;
	}
}

@media screen and (max-width: 480px){
	#wrap .top .contents h1 {
		font-size: 33px;
	}
}

@media screen and (max-width: 360px){

}

@media screen and (max-width: 359px){
	#wrap .top .contents h1 {
		font-size: 33px;
	}
}
/* media-query */
