﻿@import url('https://fonts.googleapis.com/css2?family=Kiwi+Maru:wght@500&family=Potta+One&family=Slackside+One&display=swap');
@font-face {
font-family: "chikarayowaku";
  src: url("./Dup/img/chikarayowaku.ttf") format("ttf"),url("./Dup/img/chikarayowaku.woff") format("woff"),url("./Dup/img/chikarayowaku.woff2") format("woff2");
}
/*--------------------------------------------
 色 ・　文字
----------------------------------------------*/
:root{
    --color1: #598504;
    --color2: #efe7d7;
    --color3: #9d6224;
    --color4: #fbf8f6;
    --color5: #ebf1de;
	--text: #193b30;
    --base: #ffffff;
    --bgw:rgba(255,255,255,0.7);
    
    --font1: 16px;
    --fontB1: 32px;
    /*--font-jp: 'Slackside One','Kiwi Maru', cursive;*/
    --font-jp:'Slackside One',"chikarayowaku", serif;
    --title: 46px;
    --cms-title: 2.5rem;
    
    --radi-kihon: 20px;
    --yohaku1: 50px;
}
/* スマホ */
@media screen and (max-width: 667px){
    :root{
        --fontB1: 22px;
        --title: 34px;
        --radi-kihon: 15px;
        --yohaku1: 30px;
    }
}


.box_img1, .box_img1 a img,.modal_wrap figure img {border-radius: var(--radi-kihon);}
.rad_kihon{border-radius: var(--radi-kihon);}
.cms_yohaku{padding-bottom: var(--yohaku1);}
.cms_yohaku_m{margin-bottom:  var(--yohaku1);}
.contents1_title, .contents2_title, .contents3_title, .top_cms_title h2,.contents_no,.title_box h2,.title_box p,.more_btn_txt,
.top_cms_title p,.modal_txt_wrap h2,.video_area_title{
    font-family: var(--font-jp);
}
.top_cms_title h2,.title_box h2{
    font-size: var(--cms-title);
    line-height: 1;
}
/*--------------------------------------------
 「うさぎとかめ」について
----------------------------------------------*/
#page3 #cms_2-a .sub_cate_box{
    
}

/*--------------------------------------------
 装飾
----------------------------------------------*/
.contents2_img,.contents3_img{
    border-radius: var(--radi-kihon);
}
.contents2_img figure,.contents3_img figure{
    border-radius: calc(var(--radi-kihon) - 10px);
}
.contents2_outer_bg,.contents3_outer_bg{
    background: url(./Dup/img/bg.jpg) no-repeat;
    background-size: cover;
    opacity: 1;
    
}
.contents2_outer_bg{
    border-radius: var(--radi-kihon) 0 0 var(--radi-kihon);
}
.contents3_outer_bg{
    border-radius: 0 var(--radi-kihon) var(--radi-kihon) 0;
}


#contents2 .top_cms_item_svg{
        top: -30%;
}

#contents1{position: relative;}
.contents1_svg_outer{
    position: absolute;
    transform: translate(-50%,-50%);
    top: 50%;
    left: 50%;
    width: 80%;
}
.top_footer_item{
    border-top: 3px solid var(--color2);
}
.video_area_title{
    line-height: 1;
    font-size: 3.5rem;
    margin-bottom: 0;
}
#video{
    border-radius: var(--radi-kihon);
    border: 20px solid var(--color4);
    width: 70%;
    margin: 0 auto;
        background-color: var(--color4);
}
#video .video{
    border-radius: calc(var(--radi-kihon) - 10px);
}

/* タブレット */
@media screen and (max-width: 768px){
    .contents2_item,.contents3_item{
        background-color: var(--bgw);
        border-radius:var(--radi-kihon);
        margin-top: 20px;
    }
}
/* スマホ */
@media screen and (max-width: 667px){
    #video{width: 85%;}
    .video_area_title{font-size: 3rem;}
}
/*--------------------------------------------
 logo調整
----------------------------------------------*/
#logo2{
    max-width: 650px;
}
.sub_page .main_header h1{
    max-width: 350px;
}
.index .main_header{
    position: absolute;
    top: 0;
}
    .index .main_header h1{
        max-width: calc(40vw - 30px);
        position: absolute;
        z-index: 10;
        top: 20%;
    }
/* タブレット */
@media screen and (max-width: 768px){
    .index .main_header h1{
        max-width: 250px;
    }
}
/* スマホ */
@media screen and (max-width: 667px){
    .sub_page .main_header{
        padding: 20px 10px;
    }
    .sub_page .main_header h1{
            max-width: 80%;
    }
    .index .main_header h1{
        max-width: calc(100vw - 90px);
        position: absolute;
        z-index: 10;
        top: 17px;
    }
}

/*--------------------------------------------
 下層ページ共通
----------------------------------------------*/
#page_title{
    margin-bottom: var(--yohaku1);
}
#page_title::before{
    background: transparent;
}
#page_title .page_title_inner{
    background-position-y: bottom;
}
#page_title .title_box.txt_white{
    color: var(--color3);
    border-top: none;
}
#page_title .title_box p{
    color: var(--color1);
    font-size: calc(var(--font1) + 5px);
}
/* スマホ */
@media screen and (max-width: 667px){
    #page_title .page_title_inner{
        padding: 70px 20px;
    }
}
/*--------------------------------------------
 プライバシーポリシー
----------------------------------------------*/


#page10 li a span{
    display: none;
}

/*--------------------------------------------
 お問い合わせ
----------------------------------------------*/


/*--------------------------------------------
 バナー
----------------------------------------------*/
/* 閉じるボタン付き追従バナー */
.fix_banner{
	max-width: 300px;
	position: fixed;
	bottom: 55px;
	right: 80px;
	z-index: 10;
	transition: 0.8s;
	
}
.fix_banner .close_bt{
	position: absolute;
	bottom: 100px;
    right: -15px;
	display: block;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	transition: 0.8s;
	background-color: rgba(255,255,255,0.7);
	border: solid 1px #bbb;
	z-index: 11;
	cursor: pointer;
}
.fix_banner .close_bt:hover{opacity: 0.7;}
.fix_banner .close_bt span{
	position: relative;
	display: block;
	width: 30px;
	height: 30px;
}
.fix_banner .close_bt span:before,.fix_banner .close_bt span:after{
	content: "";
	display: block;
	background-color: #7c7c7c;
	height: 2px;
	width: 20px;
	position: absolute;
	top:50%;
	left: 50%;
}
.fix_banner .close_bt span:before{
	-ms-transform: translate(-50%,-50%) rotate(-45deg);
	-webkit-transform: translate(-50%,-50%) rotate(-45deg);
	transform: translate(-50%,-50%) rotate(-45deg);
}
.fix_banner .close_bt span:after{
	-ms-transform: translate(-50%,-50%) rotate(45deg);
	-webkit-transform: translate(-50%,-50%) rotate(45deg);
	transform: translate(-50%,-50%) rotate(45deg);
}
.fix_banner.close {opacity: 0;z-index: -1; filter: blur(10px);}
.fix_banner.close2{opacity: 0;z-index: -1;filter: blur(10px);}

@media  screen and (max-width: 768px){
.fix_banner{}
.fix_banner .close_bt{}
}

@media  screen and (max-width: 667px){
.fix_banner{max-width: 230px;width:80%; right: auto; left: 50%; transform: translateX(-50%); bottom: 10px;}
.fix_banner .close_bt{
	width: 25px;
	height: 25px;
	bottom: 75px;
	right: -12px;
}
.fix_banner .close_bt span{
	width: 25px;
	height: 25px;
}
}
/* 閉じるボタン付き追従バナー end */

/* --------------------------------------------
 TOP
---------------------------------------------*/
.contents1_title{
    font-size: var(--title);
    line-height: 1.3;
}
#contents1 .title24{
    width: 20%;
    padding-right: 15px;
}

#contents1 .contents1_txt.cut_txt{
    margin-top: var(--yohaku1);
    text-align: center;
    font-weight: bold;
    font-size: calc(var(--font1) + 2px);
}
#contents1 .contents1_txt.cut_txt .list{
    margin: var(--yohaku1) auto 0;
    display: block;
    text-align: left;
    width: min(450px,100%);
}
.contents1_title .titilebig{
    display: block;
    font-size: calc(var(--title) + 4px);
}
#contents2_outer{
    width: 100%;
}
.contents2_title,.contents3_title{
    font-size: 2.3rem;
}
/* タブレット */
@media screen and (max-width: 768px){}
/* スマホ */
@media screen and (max-width: 667px){
    .contents1_title{line-height: 1;}
    #contents1 .title24{
        width: 30%;
    }
    #contents1 .contents1_txt.cut_txt{}
    .contents2_title,.contents3_title{
        font-size: 2rem;
    }
}
@media screen and (max-width: 350px){
    .contents2_title,.contents3_title{
        font-size: 28px;
    }
}

/* --------------------------------------------
 メインイメージ 
---------------------------------------------*/

#menu_bt {
    top: 25px;
    right: 25px;
}
.index .main_header{
    width: 100%;
    min-width: 100%;
}
.main_img{
    width: 100%;
    max-width: 100%;
    background-image: url(./Dup/img/main_img.png);
    height: calc(100vw * 0.56);
    min-height: calc(100vw * 0.56);
}


/* タブレット */
@media screen and (max-width: 768px){
    .main_img{
        height: calc(100vw * 0.56);
        min-height: calc(100vw * 0.56);
    }
}
/* スマホ */
@media screen and (max-width: 667px){
    .main_img{
        background-image: url(./Dup/img/main_img_sp.png);
        height: calc(100vw * 1.6);
        min-height: calc(100vw * 1.6);
    }
}

/* --------------------------------------------
 リンクボタン 
---------------------------------------------*/
.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;
    border-radius: 7px;
}
#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){}
/*--------------------------------------------
 色 ・　文字
----------------------------------------------*/
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) - 2px), calc(1rem  - 2px));}
.font_4dw{font-size: max(calc(var(--font1) - 4px), calc(1rem  - 4px));}
.font_6dw{font-size: max(calc(var(--font1) - 6px), calc(1rem  - 6px));}

.cms_1-g .date{max-width: 140px;}




/* タブレット */
@media screen and (max-width: 768px){
    .nav_wrap{
        max-width: 660px;
    }
    .nav_wrap .main_page_link_span{
        letter-spacing: 0em;
    }
    #contents2 .more_btn,#contents3 .more_btn{
        margin: 0 auto;
    }
}
/* スマホ */
@media screen and (max-width: 667px){
    #page_title .title_box{
        padding: 25px 0;
    }
    #page_title .title_box h2{
        letter-spacing: 0em;
        font-size: 2.2rem;
    }
}


/* 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_color5{background-color: var(--color5)}
.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)}