﻿/*-------------------------------------------------------------
 色 ・　文字
---------------------------------------------------------------*/
:root{
    --color1: #376946;
    --color2: #d1dbd4;
    --color3: #999999;
    --color4: #eeeeee;
	--text: #111111;
    --base: #ffffff;
    
    --font1: 16px;
    --fontB1: 30px;
    --font-jp: 'Noto Sans JP', "游ゴシック Medium", sans-serif;
}
/* スマホ */
@media screen and (max-width: 667px){
    :root{
        --fontB1: 22px;
    }
}
html,body,.font_10,.font_11,.font_12,.font_13,.font_14,.font_15{font-size: var(--font1);}
.font_2up{font-size: max(calc(var(--font1) + 2px), calc(1rem  + 2px));}
.font_4up{font-size: max(calc(var(--font1) + 4px), calc(1rem  + 4px));}
.font_2dw{font-size: max(calc(var(--font1)), calc(1rem  - 2px));}
.font_4dw{font-size: max(calc(var(--font1)), calc(1rem  - 4px));}
.font_6dw{font-size: max(calc(var(--font1)), calc(1rem  - 6px));}


/* color */
body, .txt_color_nomal, .hvr_txt_color_nomal:hover{color: var(--text);}
.linkStyle{transition: 0.5s;color: var(--text)}
.linkStyle:hover{opacity: 0.7}

.txt_white, .hvr_txt_white:hover{color: white;}
.txt_red, .hvr_txt_red:hover{color: var(--red);}
.txt_color1, .hvr_txt_color1:hover{color: var(--color1)} /* メインカラー */
.txt_color2, .hvr_txt_color2:hover{color: var(--color2)} /* サブカラー */
.txt_color3, .hvr_txt_color3:hover{color: var(--color3)} /* アクセントカラー1 */
.txt_color4, .hvr_txt_color4:hover{color: var(--color4)} /* アクセントカラー2 */

/* background-color */
.bg_white, .hvr_bg_white:hover{background-color: white} /* 白背景 */
.bg_black, .hvr_bg_black:hover{background-color: var(--black)} /* 黒背景 */
.bg_color1, .hvr_bg_color1:hover{background-color: var(--color1)} /* メインカラー */
.bg_color2, .hvr_bg_color2:hover{background-color: var(--color2)} /* サブカラー */
.bg_color3, .hvr_bg_color3:hover{background-color: var(--color3)} /* アクセントカラー1 */
.bg_color4, .hvr_bg_color4:hover{background-color: var(--color4)} /* アクセントカラー2 */
.bg_color_clear, .hvr_bg_color_clear:hover{background-color: transparent!important}


/* border-color ※!important */
.border_white, .hvr_border_white:hover{border-color: white}
.border_black, .hvr_border_black:hover{border-color: var(--black)}
.border_color1, .hvr_border_color1:hover{border-color: var(--color1)}
.border_color2, .hvr_border_color2:hover{border-color: var(--color2)}
.border_color3, .hvr_border_color3:hover{border-color: var(--color3)}
.border_color4, .hvr_border_color4:hover{border-color: var(--color4)}
/*-------------------------------------------------------------
 テンプレート
---------------------------------------------------------------*/
.pager a{
    background-color: var(--color1);
    color: var(--base);
}
.pager a:hover{
    background-color: var(--color1);
    transform: translateY(-5px);
}

/*-------------------------------------------------------------
 yoyaku
---------------------------------------------------------------*/
.yoyaku{
    position: fixed;
    bottom: 150px;
    right: 0px;
}
.yoyaku a{
    color: var(--base);
    background-color: var(--color1);
    border-radius: 15px 0 0 15px;
    padding: 20px 0 20px 15px;
    display: block;
    width: 30px;
    line-height: 1.2;
    font-weight: bold;
}
.yoyaku a:hover{
    padding-right: 20px;
}

/* スマホ */
@media screen and (max-width: 667px){
    .yoyaku{
        right: auto;
        left: 50%;
        transform: translate(-50%, 0);
        bottom: 0;
    }
    .yoyaku a{
        border-radius: 15px 15px 0 0;
        padding: 15px;
        width: 220px;
        text-align: center;
    }
    .yoyaku a:hover{
        padding-bottom: 25px;
        padding-right: 15px;
    }
}

/*-------------------------------------------------------------
 top, all
---------------------------------------------------------------*/
#loading_line .line.bg_color1{
    background-color: #71997d;
}
#header{
    padding: 0px 15px 25px 15px;
}

#top_contents1{}
#top_contents1 .catch_txt .catch_img{
    width: 70%;
    max-width: 500px;
    margin: 0 auto 20px;
}
#top_contents1 .catch_txt .catch_bun{
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 1.7;
}
#top_contents1 .catch_txt .catch_bun span{
    background: linear-gradient(0deg, #cfc880 30%, transparent 30%);
    font-size: 1.5rem;
    color: var(--color1);
}

#top_contents2 {}
#top_contents2 .con_box .text_box{border-radius: 100px 0px 0px 100px;}
#top_contents2 .con_box:nth-of-type(2) .text_box{border-radius: 0 100px 100px 0;}
#top_contents2 .top_title {
    margin-bottom: 20px;
}
#top_contents2 .top_title .point {
    width: 10vw;
}
#top_contents2 .top_title .title {
    margin-left: 15px;
    margin-bottom: 0px;
    font-size: var(--fontB1);
    width: calc(100% - (15px + 10vw));
    letter-spacing: 0em;
    line-height: 1.7;
}
#top_contents2 .top_title .title.po1 {color: var(--color1);}
#top_contents2 .top_title .title.po2 {color: #4B564E;}
#top_contents2 .top_title .title.po3 {color: #366566;}

#top_contents3{}
#top_contents3 .con3_box{
    background-color: var(--color4);
    width: 80%;
    margin: 0 auto;
    padding: 30px 5%;
}
#top_contents3 .con3_box .con3_title h2{
    font-weight: bold;
    font-size: 1.2rem;
    text-align: center;
    margin-bottom: 20px;
}
#top_contents3 .con3_box .con3_text{
    text-align: center;
}

.btn_box p{
    width: 220px;
    text-align: right;
}
#top_contact_box .con_bt a{
    padding: 0;
}

#page_title::before{
    background: rgba(55, 105, 70, 0.7);
}
.come{
    background-color: var(--color4);
    padding: 20px 5%;
}

/* タブレット */
@media screen and (max-width: 768px){
    #top_contents2 .con_box .text_box,#top_contents2 .con_box:nth-of-type(2) .text_box{
        border-radius: 50px;
    }
    #top_contents2 .top_title .point {width: 20vw;}
    #top_contents2 .top_title .title {
        margin: 15px auto 0;
        width: 100%;
        text-align: center;
    }
    .btn_box p{text-align: center;}
}
/* スマホ */
@media screen and (max-width: 667px){
    #top_contents1{padding: 100px 5% 50px;}
    #top_contents2 .con_box .text_box,#top_contents2 .con_box:nth-of-type(2) .text_box{
        border-radius: 0px 0 20px 20px;
    }
    #top_contents2 .top_title .point {width: 30vw;}
    #top_contents3 .con3_box .con3_text{
        text-align: left;
    }
    
    #footer{
        padding-bottom: 50px;
    }
    .come{
        text-align: center;
        letter-spacing: 0em;
        padding: 20px 3%;
    }
    .overlay.open{z-index: 10;}

}

/*-------------------------------------------------------------
 logo
---------------------------------------------------------------*/
#header .logo {
    width: 100%!important;
}


/* タブレット */
@media screen and (max-width: 768px){}
/* スマホ */
@media screen and (max-width: 667px){}

/*-------------------------------------------------------------
 cms1
---------------------------------------------------------------*/
/* topcms_news_type4 --------------------------------*/
.topcms_news_type4 .cate_box {transition: all 0.3s;}
.topcms_news_type4 .cate_box:hover{}

.topcms_news_type4 .cate_box{
	width: 30.33333%!important;
	margin-right: 1.5%;
	margin-left: 1.5%;
	border-radius: 15px;
	background-color: #fff;
	padding: 0;
	box-sizing:border-box;
}
.topcms_news_type4 .cate_box .box_img1{
    border-radius: 15px ;

}
.topcms_news_type4 .txt_height{
	height: 3em
}
.topcms_news_type4 .box_title1:empty{
	display: block!important;
}
/* タブレット */
@media screen and (max-width: 768px){
}
/* スマートフォン */
@media screen and (max-width: 667px){
.topcms_news_type4 .cate_box {
    width: 100%!important;
    margin-bottom: 15px;
}
}
/* タブレット */
@media screen and (max-width: 768px){}
/* スマホ */
@media screen and (max-width: 667px){}
/*-------------------------------------------------------------
 cms2
---------------------------------------------------------------*/
.link_type1 .link_top .link_title {
    font-size: 20px;
    margin-bottom: 20px;
    text-align: center;
	margin-bottom: 30px;
    color: var(--base);
    font-weight: bold;
}
.link_type1 .link_top .link_title{
    font-size: 20px;
    margin-bottom: 20px;
}
.link_type1 .link_top a{
	padding-top: 80px;
    padding-bottom: 60px;
    background-color: var(--color1);
    border-radius: 15px;
    border: 1px solid var(--color1);
}
.link_type1 .link_top a p{
    color: var(--base);
}

.link_type1 .link_top a:hover{
    background-color:  var(--color1);
}
.link_type1 .link_top a:hover .link_img1{
    transform: translate(-50%, -50%) scale(1.1,1.1);
    opacity: 0.2;
}
@media screen and (max-width: 667px){
    .link_type1 .link_top .link_title{}
}
/* タブレット */
@media screen and (max-width: 768px){}
/* スマホ */
@media screen and (max-width: 667px){}
/*-------------------------------------------------------------
 cms3
---------------------------------------------------------------*/
#cms_3-c .cate_title {
    color: var(--color1);
    font-weight: bold;
}
/* タブレット */
@media screen and (max-width: 768px){}
/* スマホ */
@media screen and (max-width: 667px){
    #cms_3-c .cate_title{    letter-spacing: 0em;}
}
/*-------------------------------------------------------------
 cms4
---------------------------------------------------------------*/

/* タブレット */
@media screen and (max-width: 768px){}
/* スマホ */
@media screen and (max-width: 667px){}
/*-------------------------------------------------------------
 cms5
---------------------------------------------------------------*/

/* タブレット */
@media screen and (max-width: 768px){}
/* スマホ */
@media screen and (max-width: 667px){}
/*-------------------------------------------------------------
 プライバシーポリシー
---------------------------------------------------------------*/
#page9 .box {
    border-bottom: 1px solid var(--color2);
}


/*-------------------------------------------------------------
 お問い合わせ
---------------------------------------------------------------*/


/* タブレット */
@media screen and (max-width: 768px){}
/* スマホ */
@media screen and (max-width: 667px){}

/* -------------------------------------------------------------
 リンクボタン 
--------------------------------------------------------------*/
.linkStyle,a{
	color: var(--color1);
	text-decoration: underline;
	transition: all 0.5s;
}
a{
    text-decoration: none;
}
.linkStyle:hover,a:hover{
	opacity: 0.7;
	text-decoration: none;
}

.cate_list li a,#page10 ul li a,.more a{
    /*background-color: var(--color1);*/
    /*background: linear-gradient(90deg, var(--color3)5%, var(--color1)95%);*/
    /*color: var(--base);*/
    /*font-weight: bold;*/
    /*padding: 10px 20px;*/
    /*transition: all 0.8s;*/
}
#page10 ul li a{
    /*padding-top: 15px;*/
    /*padding-bottom: 15px;*/
}
.cate_list li a:hover,#page10 ul li a:hover,.more a:hover{
    /*background-color:var(--color3);*/
    /*opacity: 0.7;*/
}

/* タブレット */
@media screen and (max-width: 768px){}
/* スマホ */
@media screen and (max-width: 667px){}

/*--------------------------------------------
 モーダル 
----------------------------------------------*/
.modal_bt{
    cursor: pointer;
    border-radius: 10px;
    margin: 30px auto 20px;
    border: 2px solid var(--color1);
    color: var(--base);
    background-color: var(--color1);
}
.modal_bt:hover{
    opacity: 0.7!important;
    background-color: var(--base);
    border-color: var(--color1);
    color: var(--color1);
}

.modal_box{
    top: 0;
    left: 0;
    background-color: rgba(245,255,255,0.9);
    z-index: 101;
    overflow-y: scroll;
}
.modal_box .close{
    top: -15px;
    right: -15px;
    width: 50px;
    height: 50px;
    cursor: pointer;
}

/* タブレット */
@media screen and (max-width: 768px){
    .modal_bt{
        margin: 20px auto;
    }
    .modal_wrap .modal_item{
        padding-top: 130px;
    }
}

/* スマホ */
@media screen and (max-width: 667px){
    .modal_bt{}
}
/* -------------------------------------------------------------
 txt_anim4 
--------------------------------------------------------------*/
.txt_anim4 {
	overflow: hidden;
}
.txt_anim4 span.d_inline_b {
	overflow: hidden;
	height: 1em;
	line-height: 1;
}
.txt_anim4 span:not(.d_inline_b) {
	display: inline-block;
	line-height: 1;
	transition: 1s;
	transition-property: transform;
	transition-timing-function: cubic-bezier(0,.64,.29,.99);
	transform-origin: top;
	transform: translateY(1em) rotate(10deg);
}
.txt_anim4 span.start {
	transform: none;
}
/* -------------------------------------------------------------
 メインイメージ 
--------------------------------------------------------------*/
#main_img,#main_img .img_box img{
    max-height: calc(100vh - 100px);
    height: 56vw;
}
#main_img .img_box img{border-radius: 0 0 150px 0;}

#main_img .catch{
    position: absolute;
    transform: translate(-50%, -50%);
    top: 50%;
    left: 50%;
    width: 36%;
    max-width: 540px;
}
#main_img .catch .catch_text{
    position: relative;
    width: 70%;
    z-index: 2;
    margin: 0 auto;
    transform: rotate(-9deg);
}
#main_img .catch .sun{
    transform: translate(-50%, -50%);
    top: 50%;
    left: 50%;
    position: absolute;
    width: 100%;
    z-index: 1;
    
    animation:30s linear infinite rotation1;
}
@keyframes rotation1{
  0%{ transform: translate(-50%, -50%) rotate(0);}
  100%{ transform: translate(-50%, -50%) rotate(360deg); }
}

/* タブレット */
@media screen and (max-width: 768px){
    #main_img .img_box img{border-radius: 0 0 80px 0;}
}
/* スマホ */
@media screen and (max-width: 667px){
    #main_img .catch{
        width: 40%;
    }
}
/* ■■■■■電話番号の大きさ調整■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */
.tel_bt{
    font-size: 2rem;
    letter-spacing: 0.07em;
}
.tel_bt i{
    font-size: 1.3rem;
}
#top_contact_box .tel_bt{
    font-size: 1.8rem;
}
#top_contact_box .tel_bt i{
    font-size: 1.1rem;
}
/* スマホ */
@media screen and (max-width: 667px){
    .tel_bt{letter-spacing: 0.03em;}
}