﻿/*font-------------------------------------------------------------------------*/
body {font-family: 'Zen Kaku Gothic New',"游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "serif" !important;
    font-weight: 500;
}
.cms_title p,.page_title_box p,.con_title .pop400,.con_box h2,a.more_btn,.pop400{font-family:'Zen Kaku Gothic New',"游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "serif" !important;}
    

    
a,.box_title1,.cate_title,.box_title2,.hannari,h2,h3.en_font,h3,h4,h5,h6,a.en_font,#intro h2,#copyright,section#page07 .box .en_font,.privacy_box h3 span {
    font-family:'Zen Kaku Gothic New',"游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "serif" !important;}

#intro h2,.top_cms_title h3{
    font-family:'Zen Old Mincho',"游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "serif" !important;}

.font_14 {font-size: 16px;}
.opacity08,.opacity07{opacity: 0.9;}
.opacity05{opacity: 0.7;}


#top_cms .more a { padding: 10px 50px 12px;}
.more a {padding: 9px 50px 12px;}
/*font-------------------------------------------------------------------------*/


/*color------------------------------------------------------*/
/*#cffaff 207,250,255*/

/*text*/
.txt_color1 {color: #0f3305;}
.txt_color2 {color: #f57402;}
.txt_color3 {color: #f57402;}
h3 {color: #f57402;}
.num{color:#7cd11b;}

div#footer_con h2 {color: #f57402;}
/*header li a.txt_white {color: #0f3305;}*/
header.scr_header li a.txt_white { color: #0f3305;}

#info_contact p span{color:#ffffff;}
section#contents2 h3 {color: #ffffff;}
/*text*/

/*bg*/
.bg_color1 {background-color: #7bb53a;}
.bg_color2 {
    /*background-color: #d2ffcc;*/
    background-color: rgba(201,255,176,0.2) !important;
    background: linear-gradient(110deg, rgba(233,255,223,0.1) 0%, rgba(229,255,195,0.3) 40%, rgba(209,255,181,0.5) 100%);}
    
.bg_color3 {background-color: #70b521;}

.bg_color5 {background-color: #f57402;}

.button_container span { background: rgba(15, 51, 5,1);}

div#fakeloader {
    background-image: url(dup/img/bg_img.jpg) !important;
    background-size: cover;}
    
div#fakeloader.bg_color1{background-color: #d2ffcc !important;}

/*bg*/

/*border*/
.border_color1 { border-color: #7cd11b;}
.border_color2 { border-color: #7cd11b;}
.border_color3 {border-color: #7cd11b}
.border_color4 { border-color: #b0eaff;}
/*border*/

/*hvr*/
.hvr_bg_color1:hover { background-color: #7cd11b;}
.hvr_bg_color2:hover { background-color: #f3ffe3;}
.hvr_bg_color3:hover { background-color: #7bb53a;}
.hvr_txt_color1:hover { color: #7bb53a;}
/*hvr*/

#contents2 > div{background: rgba(15, 51, 5,0.5) !important;}
#main_img .arrow::before {background-color:#0f3305;}
/*color------------------------------------------------------*/


/*スマホ時固定ヘッダー------------------------------------------------------*/
.sp_menu{
transition: .3s;
z-index: 2;
position: fixed;
bottom: 0;
left: 0;
width: 100%;
font-size: 12px;
letter-spacing: 0px;
}
.sp_menu li{
width: 25%;
border-top: 1px solid #fff;
border-bottom: 1px solid #fff;
border-right: 1px solid #fff;
box-sizing: border-box;
}
.sp_menu li:nth-of-type(1),.sp_menu li:nth-of-type(5){border-left: 1px solid #fff;}
.sp_menu li:nth-of-type(5),.sp_menu li:nth-of-type(6){border-top: none;}
.sp_menu li a{padding: 10px 3px;height: 100%;box-sizing: border-box;}

.sp_menu_btn{
width: 20%;
padding: 5px 9px;
position: absolute;
top: -38px;
cursor: pointer;
}

.sp_menu_btn .nav_btn{
display: inline-block;
width: 15px;
height: 15px;
margin-right: 5px;
position: relative;
top: 3px;
}
.sp_menu_btn .nav_btn span{
display: block;
background-color: #fff;
height: 3px;
width: 15px;
position: absolute;
left: 5px;
top: 5px;
transition: .3s;
}
.sp_menu_btn .nav_btn.open_btn span:nth-child(1){
transform: rotate(-55deg);
left: -1px;
width: 13px;
}
.sp_menu_btn .nav_btn.open_btn span:nth-child(2){
transform: rotate(55deg);
right: -1px;
width: 13px;
}

.sp_menu_btn .nav_btn.close_btn span{left: 0;}
.sp_menu_btn .nav_btn.close_btn span:nth-child(1){transform: rotate(45deg);}
.sp_menu_btn .nav_btn.close_btn span:nth-child(2){transform: rotate(-45deg);}

.sp_menu_btn .close,.sp_menu_btn .open{
display: inline-block;
font-size: 14px;
}
.sp_menu_btn.opennow .open{display: none!important;}

.sp_menu.navclose{bottom: -91px;}

/*スマホ時固定ヘッダー------------------------------------------------------*/

/*video---------------------------------------------------------*/
video.video.width_100per {
    background: url(dup/img/main_img.jpg);
    height: 100vh;
    min-height: 800px;
    width: 100% !important;
    background-position: center center!important;
    background-repeat: no-repeat!important;
    background-size: cover!important;
}



/*タブレット*/
@media screen and (max-width: 768px){
    
/*video*/
    video.video.width_100per {
    background: url(dup/img/main_img.jpg);
    width: 100% !important;
    height: 60vh;
    min-height: 500px;
    background-position: center center!important;
    background-repeat: no-repeat!important;
    background-size: cover!important;}
    
    
}

@media screen and (max-width: 667px){
    video.video.width_100per {
    background: url(dup/img/main_img.jpg);
    width: 100% !important;
    height: 40vh;
    min-height: 200px;
    background-position: center center!important;
    background-repeat: no-repeat!important;
    background-size: cover!important;}
}
/*video---------------------------------------------------------*/


/*catch---------------------------------------------------------*/
img.catch {
    max-width: 500px;
    bottom: 50%;
    left: 3%;
    transform: translate(0px, 100px);
}

@media screen and (max-width: 1600px){
img.catch {
    max-width: 400px;
    bottom: 50%;
    left: 3%;
    transform: translate(0px, 100px);
}}

/*catch---------------------------------------------------------*/

/*top---------------------------------------------------------*/
main {
  background: url("dup/img/bg_img.png");
    background-repeat: repeat;
    background-position: 0px 0px;
    background-size: cover;
    animation: act_anime 35s infinite alternate linear;
}

@keyframes act_anime {
    0% { 
        background-position: -1500px 800px;
     }
    100% { 
        background-position: 0px 0px;
    }
}


section#contents1::before {
    background: url(dup/img/leaf.png);
    content: '';
    position: absolute;
    left: 0px;
    bottom: 0;
    width: 80%;
    height: 80%;
    background-repeat: no-repeat;
    background-size: contain;
    z-index: -2;
    opacity: 0.8;}



/*top---------------------------------------------------------*/

/*logo----------------*/
div#header h1 {
    max-width: 160px;
    margin: 34px auto 50px;}
footer .logo img {max-width: 180px;}

div#footer_txt h4 {padding-right: 15px;}


/*cms---------------------------------------------------------------------------*/




#cms_2-a h3.cate_title {
    padding: 0;
    letter-spacing: 3px;
    display: flex;
    align-items: center;
    border: 0px;
}

#cms_2-a h3.cate_title::before {
    border-top: 1px solid;
    content: "";
    flex-grow: 1;
    max-width: 35px;
    opacity: 0.6;
    margin-right: 1rem;
}

#cms_2-a .cate {
    margin-bottom: 75px;}
    


.tel_sns,.mail_sns {
    font-size: 32px;
    text-align: center;
    display: block;
    color: #7bb53a;
    padding-top: 0px;
    padding-bottom: 20px;
}


/*linkStyle*/
a.linkStyle {
    color: #0f3305;
    transition: 0.5s;}
a.linkStyle:hover { opacity: 0.7;}





/*contact【調整用】-------------------------------------------------------------*/

@media screen and (max-width: 1400px){
p#contact_tel a, p#contact_mail a {
    font-size: -webkit-calc(1rem + 5px) !important;
    font-size: calc(1rem + 5px) !important;
    padding: 25px 10px;}}
@media screen and (max-width: 1200px){
p#contact_tel a, p#contact_mail a {
    font-size: -webkit-calc(1rem + 4px) !important;
    font-size: calc(1rem + 4px) !important;
    padding: 25px 5px;
    letter-spacing: 2px;}}


/*【タブレット】*/
@media screen and (max-width: 768px){
    
p#contact_tel a, p#contact_mail a {
    font-size: -webkit-calc(1rem + 1px) !important;
    font-size: calc(1rem + 1px) !important;}
}

/*【スマホ】*/

@media screen and (max-width: 667px){
p#contact_tel a, p#contact_mail a {
    letter-spacing: 2px;
    font-size: -webkit-calc(1rem + 1px) !important;
    font-size: calc(1rem + 1px) !important;
    padding: 20px 5px;
    letter-spacing: 2px;
    font-weight: 800 !important;}
}


@media screen and (max-width: 320px){
p#contact_tel a, p#contact_mail a {
    letter-spacing: 2px;
    font-size: -webkit-calc(1rem + 0px) !important;
    font-size: calc(1rem + 0px) !important;
    padding: 20px 5px;
    letter-spacing: 1px;
    font-weight: 800 !important;}
}
/*contact【調整用】-------------------------------------------------------------*/


img.catch_sp { display: none;}

.sns_links.side_bar a {
    display: block;
    transition: ease 0.3s;
}
.sns_links.side_bar a:hover {
    opacity: 0.6;
}


/*タブレット*/
@media screen and (max-width: 768px){
    div#header h1 {
    max-width: 130px;
    margin: 0px auto 0px;}
    
section#cms,section#page02,section#page03,section#page04,section#page05,section#page06,section#page07,section#page08,section#page09,section#page10 {
    margin-bottom: 0;
    padding-bottom: 50px;}
div#footer_txt h4 {padding-right: 0px;}

main {background-size: 200%;}

section#contents1::before {
    width: 50%;
    height: 50%;}
img.catch {
    max-width: 350px;
    bottom: 50%;
    left: 5%;
    transform: translate(0px, 70px);}
}

/*スマホ*/
@media screen and (max-width: 667px){
    
div#header h1 {
    max-width: 90px;
    margin: 0px auto 0px;}
    
img.catch { display: none;}

img.catch_sp { 
    display: block;
    padding: 5px 0 55px;
    position: relative;
    max-width: 300px;
    margin: 0 auto;}
    
p#copyright {padding-bottom: 140px;}
footer .logo img {max-width: 130px;}

section#contents1::before {
    width: 50%;
    height: 23%;}


/*top_return*/
#return_top{
    position: fixed;
    right: 30px;
	z-index: 2;
}
.return{
	margin-left:auto;
}
.return::after{
    display: inline-block;
    content: "";
    width: 1px;
    height: 130px;
    position: absolute;
    bottom: 0;
    left: 0;
    margin: auto;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.return::before{
    display: inline-block;
    content: "";
    width: 20px;
    height: 1px;
    position: absolute;
    top: -120px;
    left: -14px;
    margin: auto;
	-webkit-transform: rotate(-65deg);
	transform: rotate(-65deg);
	transition: all .3s;
}
.return::before,.return::after{
	background-color: #1c1208;
}
.return:hover::after{
	height: 150px;
}
.return:hover::before{
    top: -141px;
}
.return a{
	transform: rotate(-90deg);
	width: 130px;
	bottom: 60px;
	left: -80px;
}




	/*top_return*/
	#return_top {
		right: 5px;
	}
	.return::after{
		width: 1px;
		height: 80px;
	}
	.return::before{
		width: 20px;
		height: 1px;
		position: absolute;
		top: -70px;
		left: -14px;
	}
	.return:hover::after{
		height: 80px;
	}
	.return:hover::before{
		top: -70px;
	}
	.return a{
		bottom: 30px;
		left: -50px;
		width: 80px;
	}
	
	
	
li.prev a {margin-left: 0px !important;}


.cms_2-d p.box_txt1 {padding: 0px 5px;}
div#cms_2-d .cate_title {letter-spacing: 0px;}

div#cms_2-d .cate_title {
    letter-spacing: 0px;
    font-size: -webkit-calc(1rem + 3px);
    font-size: calc(1rem + 3px);}

}


/*スマホ*/
@media screen and (max-width: 360px){
#contents2 h3 {padding-left: 35px;
        line-height: 1.3;}
#contents2 h3::after {width: 27px;
    top:11px;}
    
section#page_title h2 { letter-spacing: 3.5px !important;}}


/*IE*/
@media all and (-ms-high-contrast: none){
    #top_cms .more a { padding: 8px 50px 15px !important;}
   #cms_2-d .cate .cate_title { padding-top: 7px !important;}
#contact_mail a,#contact_tel a{padding-top: 25px !important;}
.more a { padding: 9px 50px 13px !important;}

}


/*0329*/

/*【スマホ】*/

@media screen and (max-width: 667px){
    div#footer_txt p {
    font-size: 15px;
}
}