﻿/* --------------------------------------------------　all　--------------------------------------------------- */
/*------------------goole・font---------------------------*/
@import url('https://fonts.googleapis.com/css2? family=シッポリ+明朝:wght@600;700 & display=swap');

/*------------------装飾に便利なposi_rel---------------------------*/
#contents_box,#contents1,#contents2,#contents3,#contents,.con1_outer, .con2_outer, .con3_outer,.img5, .img6, .img7,div#left,div#right,div#intro_wrap,#contents2_wrap,#body,#wrap,main,#contents1 .con_box,#contents2 .con_box,#intro,#info_contact{position: relative;}
/*装飾に便利なposi_rel*/
/*装飾に便利な疑似クラス設定*/
#main_img::before, #main_img::after, #contents_box::before, .con1_outer::after, #attach::before, .con2_outer::before,.con2_outer::after,.con3_outer::before,.con3_outer::after,#page_title .title_img::after,article .width_1280-max::before,#contents1::before,#contents1::after,#contents3::before,#contents2::before,#contents2::after,#page_title .title_img::after,#contents::before,.img5::before, .img6::before, .img7::before,div#left::before,div#right::before,#intro_wrap::before,div#intro_wrap::after,#contents2_wrap::before,#body::before,#wrap::before,main::before,#contents1 .con_box::before,#contents2 .con_box::before,article#top_cms.back1::after,#intro::before,#info_contact::before,#top_cms.back1::before,#page2::before,#page3::before,#page4::before,#page5::before,#page6::before,#page7::before,#page8::before,#page9::before,#page10::before{
    content: '';
    position: absolute;
    display: block;
    background-repeat: no-repeat;
    z-index: 1;
}
/*装飾に便利な疑似クラス設定*/
/* -----------　body　---------------- */
body{
    background-color: #fff;
}

body,.hannari,.more_btn,.tel_bt,.page_title_box a,.page_title{
    font-family: 'しっぽり明朝', "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "serif";
}

/* -----------　color　----------------- */
:root{
    --color1:#fffde0;/*--黄--*/
    --color2:#daf7d7;/*--緑--*/
    --color3:#f7e1e1;/*--赤--*/
    --color4:#e8eefd;/*--青--*/
}
/* ----------　border_color　---------- */
.border_color1 {border-color: #e3ecdb;}
.border_color2 {border-color: #064420;}
.border_color3 {border-color: #28d79e;}

/* ----------　text-color　------------ */
.txt_color1 {color: #3b5638;}
.txt_color2 {color: #064420;}
.txt_color3 {color: #000000;}

/* ----------　background-color-------- */
.bg_color1 {background-color: #a0d3b6;}

.bg_color2 {background-color: #e3ecdb;}

.bg_color3 {background-color: #a0d3b6;}

.hvr_bg_color2:hover {
    background-color: #28d79e;
}

/* ----------　back-img　------------ */

.back1:before, .back2:before {
    display: none;
    /*content: "";*/
    /*display: block;*/
    /*width: 100%;*/
    /*height: 80%;*/
    /*position: absolute;*/
}

#intro::before {
    background-image: url(dup/img/item01.png),url(dup/img/item02.png);
    width: 100%;
    height: 107%;
    background-size: 15%, 9%;
    right: 0%;
    top: -13%;
    z-index: -1;
    background-position: left top -1%,right top 93%;
}

#contents1::before {
    background-image: url(dup/img/item03.png),url(dup/img/item04.png);
    width: 100%;
    height: 160%;
    background-size: 11%, 10%;
    right: 0%;
    bottom: -46%;
    z-index: -1;
    background-position: left top 6%,right bottom 14%;
}

#contents2::before {
    background-image: url(dup/img/item05.png),url(dup/img/item06.png);
    width: 100%;
    height: 160%;
    background-size: 12%, 12%;
    right: 0%;
    bottom: -76%;
    z-index: -1;
    background-position: left top 17%,right bottom 1%;
}

#top_cms.back1::before {
    background-image: url(dup/img/item07.png),url(dup/img/item08.png);
    width: 100%;
    height: 125%;
    background-size: 20%, 16%;
    right: 0%;
    top: 0%;
    z-index: -1;
    background-position: left top 22%,right bottom 51%;
}

#info_contact::before{
    background-image: url(dup/img/item09.png);
    width: 100%;
    height: 79%;
    background-size: 19%;
    right: 0%;
    top: 58%;
    z-index: -2;
    background-position: inherit;
}

#page2::before, #page3::before, #page4::before, #page5::before, #page6::before, #page7::before, #page8::before, #page9::before, #page10::before {
    background-image: url(dup/img/kasou_item01.png),url(dup/img/kasou_item02.png);
    width: 100%;
    height: 100%;
    background-size: 21%, 22%;
    right: 0%;
    top: 0%;
    z-index: -1;
    background-position: left top 0%,right bottom -1%;
}
/* ----------　link　------------------ */

.linkStyle{
	color:#61876E;
	opacity: 0.8;
}
.linkStyle:hover{
	color:#EAE7B1;
	opacity: 0.7;
	transition: all 0.5s;
}

.cate_list li a {
    color: #fff;
    background-color: #064420;
}

.cate_list li a:hover {transition: 0.3s;opacity: 0.6;}

.cate_list li a:before {
    font-family: "Font Awesome 5 Free";
    content: "\f138";
    font-weight: 900;
    display: block;
    position: absolute;
    top: 50%;
    left: 15px;
    color: #fff;
    -ms-transform: translate(0,-50%);
    -webkit-transform: translate(0,-50%);
    transform: translate(0,-50%);
}

/* -----------------------------------------------　all　---------------------------------------------------- */

.button_container span:nth-of-type(1){
    left: 30px;
}

#pc_nav li, #top_pc_nav li, #footer_nav li {
    max-width: 100%;
    margin-right: 20px;
    word-break: break-all;
}

#top_pc_nav ul {
        background-color: #ffffff94;
        max-width: 800px;
        margin: auto;
        padding: 15px;
        border-radius: 5px;
}

 #top_pc_nav a {
    color: #434343;
    font-size: 18px;
 }


#wrap{
    font-size: 16px;
}

#pc_nav li a::after, #top_pc_nav li a::after, #footer_nav li a::after {
        position: absolute;
        left: 0;
        content: '';
        width: 100%;
        height: 2px;
        background: rgb(187 207 163);
        bottom: -10px;
        transform: scale(0, 1);
        transition: transform .3s;
        transform-origin: left top;
}

/* ----------　menu　---------- */

div#pc_nav {
    font-size: 15px;
}

.right_grid{
    color: #000;
}

/* ----------　header　---------- */
header.scr_header {
    background-color: rgb(36 72 0 / 36%);
}

header #logo, header.scr_header #logo {
    max-width: 90px!important;
}

/* ----------　overlay　---------- */
.overlay {
    background: var(--color2)!important;
    background: linear-gradient(255deg, var(--color2) 0%, var(--color4) 100%)!important;
}
.overlay .right .opacity07{
    opacity: 1;
}

.overlay .right .opacity07 {
    color: #064420;
    opacity: 1;
}

#overlay .left, #overlay .right {
    color: #064420!important;
    border-color: #064420;
}

#overlay .left a, #overlay .right a {
    font-size: 15px;
    color: #064420;
}

#overlay .left li:before {
    counter-increment: number 1;
    content: counter(number,decimal-leading-zero) "";
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 14px;
    color: #064420;
    opacity: 0.5;
    position: absolute;
    top: 3px;
    left: -35px;
}

.button_container.active span:nth-of-type(1) {
    color: #064420;
}

.button_container.active .top,.button_container.active .bottom{
    background: #064420;
}

/* ---------- topcms　---------- */
.top_cms_box {
    position: relative;
    z-index: 1;
}

/* ----------　contents3　---------- */
#contents3_wrap:after {
    background-color: #33660075;
}

/* ----------　more_btn　---------- */
.more_btn {
    color: #064420;
    overflow: hidden;
    border-radius: 100px;
    border: solid 1px;
    z-index: 1;
    transition: all 0.3s!important;
}

.more_btn:hover {
    color: #fff;
    border-color: transparent;
}

.more_btn:before{
    border-color: transparent!important;
    width: 100%;
    opacity: 0;
    background-color: #064420;
    transition: 1.0s;
    z-index: -1;
}

.more_btn:hover:before{
    opacity: 1;
}

.more_btn:after{
    display: none;
}

.more_btn .en{
    color: currentColor!important;
}

/* ----------　footer　---------- */
.tel_bt {
    color: #3b5638;
}

p#copyright {
    background-color: #064420;
}

/* -----------------------------------------------　TOP　---------------------------------------------------- */

 #info_contact .con_img:before, #page_title:before {
    background-color: rgb(85,70,65,0.35);
}

#main_img:before{
    background-color: rgb(203 183 177 / 35%)
}

#main_img:after, #page_title:after {
    background-image: url(./Dup/img/main_1.png),url(./Dup/img/main_2.png);
    background-size: 40%, 40%;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    -ms-transform: translate(-50%,0);
    z-index: 1;
    background-position: bottom left,top right;
}

h2.hannari.txt_white.font_30.font_24_sp.linehight_1 {
    font-family: 'Shippori Mincho', "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "serif";
    max-width: 100%;
    font-size: 35px;
    color: #fff;
}

#page_title .page_title_box p{
    color: #fff;
    font-size: 20px;
    font-family: 'Shippori Mincho', "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "serif";
}

#page_title .page_title_box {
    border-radius: 20px;
    background-color: #064420;
}

/* ----------　モーダル　---------- */
html.modalset{
	overflow: hidden;
}
.modal{
	display: none;
	width: 100%;
	height: 100vh;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 9999;
}
.modal-wrap {
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	text-align: center;
	padding: 20px;
	overflow: hidden;
	-webkit-overflow-scrolling: touch;
	-ms-overflow-style: none;
	overflow: -moz-scrollbars-none;
}
.modal-wrap::-webkit-scrollbar {
	display: none;
}
.modal-wrap:after {
	content: '';
	display: inline-block;
	vertical-align: middle;
	width: 1px;
	height: 100%;
}
.modal-bg{
	position: absolute;
	left: 0;
	top: 0;
	background: rgba(0,0,0,0.3);
	width: 100%;
	height: 100%;
}
.modal-box{
	width: 90%;
	box-sizing: border-box;
	display: inline-block;
	vertical-align: middle;
	position: relative;
}
.modal-box:before{
	content: "";
	display: block;
	background-color: #fff;
	box-sizing: border-box;
	width: 100%;
	height: 10%;
	position: absolute;
	bottom: 0;
	left: 50%;
	-ms-transform: translate(-50%,0);
	-webkit-transform: translate(-50%,0);
	transform: translate(-50%,0);
	z-index: 1;
}
.modal-box .inner{
	background: #fff;
	max-height: 500px;
	overflow: auto;
	-ms-overflow-style: none;
	scrollbar-width: none;
}
.modal-box .inner::-webkit-scrollbar {
	display:none;
}
.modal-box .inner > :first-child {
	margin-top: 0;
}

.modal-box .modal-close{
	cursor: pointer;
	position: absolute;
    top: 0;
    right: 0;
}
.modal-box .modal-close span{
	display: block;
	width: 50px;/*枠の大きさ*/
	height: 50px;/*枠の大きさ*/
	position: relative;
}

.modal-box .modal-close span::before, .modal-box .modal-close span::after{
	content: "";
	display: block;
	width: 100%;/*バツ線の長さ*/
	height: 2px;/*バツ線の太さ*/
	background: #000;
	transform: rotate(45deg);
	transform-origin:0% 50%;
	position: absolute;
	top: calc(14% - 1px);
	left: 14%;
}

.modal-box .modal-close span::after{
	transform: rotate(-45deg);
	transform-origin:100% 50%;
	left: auto;
	right: 14%;
}
.modal-open span{cursor: pointer;}

.modal_title_wrap{
	top: 0;
	left: 0;
}
.modal_title1{padding-top: 60px;}

.modal_title1:before{
	content: "";
	display: block;
	background-color: #666; 
	width: 1px;
	height: 50px;
	position: absolute;
	top: 0;
	left: 2px;
}
.modal_title1 span{
	transform: rotate(90deg);
	display: block;
	line-height: 1;
}


/* ----------　more .more_item　---------- */
span.more_item {
    color: #064420;
    overflow: hidden;
    border-radius: 100px;
    border: solid 1px;
    z-index: 1;
    transition: all 0.3s !important;
}

span.more_item:hover {
    color: #fff;
    border-color: transparent;
    background-color: #064420;
}

span.more_item:before{
    border-color: transparent!important;
    width: 100%;
    opacity: 0;
    background-color: #064420;
    transition: 1.0s ;
    z-index: -1;
}

span.more_item:hover:before{
    opacity: 1;
}

span.more_item:after{
    display: none;
}

span.more_item .en{
    color: currentColor!important;
}
#contents2 span.more_item {
    position: relative;
    z-index: 3;
}

/*--------------------テクスチャ追加分　0622---------------------------*/
#texture{    
    max-width: 48%;
    top: -19.5%;
    right: 10%;
}
#texture2{    
    max-width: 32%;
    bottom: -10%;
    left: 0;
    z-index: 2;
}


/* -----------------------------------------------　下層ページ　--------------------------------------------- */
/* ----------　BLOG　---------- */
.pager li a {
    color: #fff;
    font-family: var(--font-en);
    background-color: #064420;
}
.pager li a:hover{
    opacity: 0.6;
}

.pager li a i {color : #fff;}
/* ----------　店舗情報　---------- */

/* ----------　お問い合わせ　---------- */

/* ----------　プライバシーポリシー　---------- */

/* ----------　サイトマップ　---------- */

/* ----------　お問い合わせ　---------- */

@media screen and (max-width: 1000px){
#main_img .bg_white{
    display: none;
}

#main_img #left, #main_img #right {
    min-height: inherit;
    height: 700px!important;
}

}

/*-------------------------------------------------------タブレット---------------------------------------------*/
@media screen and (max-width: 768px){
#wrap{
    font-size: 14px;
}

.back1:before {
    height: 97%;
    background-color: rgba(51,102,0,0.1);
}

.back2:before {
    height: 100%;
}

main{
    background-size: 800px;
}

#main_img:after, #page_title::after {
    background-size: 65%,65%;
}

#intro::before {
    width: 100%;
    height: 116%;
    background-size: 30%, 16%;
    right: 0%;
    top: -7%;
    z-index: 1;
    background-position: left top -1%,right top 103%;
}

#contents1::before {
    background-image: url(dup/img/item03.png);
    width: 100%;
    height: 160%;
    background-size: 11%;
    right: 0%;
    bottom: -46%;
    z-index: 1;
    background-position: left top 6%;
}

#contents2::before {
    width: 100%;
    height: 160%;
    background-size: 19%, 12%;
    right: 0%;
    bottom: -76%;
    z-index: -1;
    background-position: left top 24%,right bottom 5%;
}

#top_cms.back1::before {
    width: 100%;
    height: 125%;
    background-size: 20%, 16%;
    right: 0%;
    top: 0%;
    z-index: -1;
    background-position: left top 16%,right bottom 51%;
}

#info_contact::before {
    width: 100%;
    height: 125%;
    background-size: 19%;
    right: 0%;
    top: 53%;
    z-index: -1;
    background-position: left bottom 0%,;
}

/* モーダル */
	.modal_title_wrap{left: -35px;}

#intro{
    margin-bottom: 100px;
}

#contents1 .con_box, #contents2 .con_box {
    margin-top: 20px;
}

#contents1_wrap::before, #contents2_wrap::before{
    width: 200px;
    height: 300px;
    left: 0;
    right: auto;
    bottom: auto;
    top: -50px;
}

.pager li {margin-right: 8%;margin-left: 8%;}

h2.hannari.txt_white.font_30.font_24_sp.linehight_1 {
    max-width: 100%;
    font-size: 29px;
    color: #fff;
}

#overlay .left li {max-width: 200px;}


/*----------------------------テクスチャ追加分0622-tb----------------------------------*/
    #texture{    
         max-width: 40%;
        top: -28%;
        right: 10%;
    }
    #texture2{    
        max-width: 45%;
        bottom: -8%;
        left: 0;
        z-index: 2;
    }
}

/*-------------------------------------------------------スマホ-------------------------------------------------*/
@media screen and (max-width: 667px){
    
.video{
    max-height: 250px;
}
    
header #logo, header.scr_header #logo{
    max-width: 50px!important;
}

#main_img #left, #main_img #right {
    height: 300px!important;
}

#main_img:after, #page_title::after {
    background-size: 55%,55%;
}

.back1:before {
    height: 98%;
    background-color: rgba(51,102,0,0.1);
}

#intro::before {
    background-image: url(dup/img/item01.png);
    width: 100%;
    height: 100%;
    background-size: 30%, 18%;
    right: 0%;
    top: -66.5%;
    z-index: 1;
    background-position: left top 68%;
}

#contents2::before {
    width: 100%;
    height: 160%;
    background-size: 25%, 26%;
    right: 0%;
    bottom: -76%;
    z-index: 0;
    background-position: left top 49%,right bottom 16%;
}

#top_cms.back1::before {
    width: 100%;
    height: 125%;
    background-size: 30%, 25%;
    right: 0%;
    top: 8%;
    background-position: left top 18%,right bottom 52%;
}

#info_contact::before {
    width: 100%;
    height: 110%;
    top: 77%;
    z-index: -1;
    background-size: 41%;
}

#page2::before, #page3::before, #page4::before, #page5::before, #page6::before, #page7::before, #page8::before, #page9::before, #page10::before {
    background-size: 31%, 51%;
    z-index: -1;

}

	/* モーダル */
.modal-box .inner{
		max-height:450px;
	}
.modal-box{
    width: 100%;top: 5%;
}
.modal-box:before{
		height: 5%;
	}
.modal_title_wrap{
    left: -20px;
}

#overlay .left li {max-width: 200px;}

#contents1_wrap::before, #contents2_wrap::before{
    width: 200px;
    height: 200px;
    left: auto;
    right: 0;
}

#page_title .page_title_box {
    padding: 20px 0;
    width: 90%;
}

#page_left, #page_right {height: 200px;}

#page_left, #page_right {
    height: 250px;
}

#page_title p {
    font-size: 28px;
    letter-spacing: 5px;
}

#page_title h2 {
    font-size: 14px;
    letter-spacing: 5px;
}

.qa_type1 .cate_box .open_bt .box_title1 {
	margin-left: 73px;
}

/*----------------------------テクスチャ追加分0622-sp----------------------------------*/
    #texture,#texture2{    
        display: none;
    }


}



#main_img:after, #page_title:after {
    display: none;
}

/*----------------------------公開後修正20230719----------------------------------*/
.intro_banner {
    z-index: 2;
    width: 600px;
    padding-bottom: 50px;
    left: 50%;
    transform: translate(-50%,-20%);
}

.footer_banner{
    width: 600px;
    z-index: 2;
    
}

.sns_links {
    margin-top: 0px;
}

#h1txt {
    padding-top: 0px;
}

.cate_banner{
    z-index: 2;
    width: 600px;
    padding-bottom: 50px;
    left: 50%;
    transform: translate(-50%,-20%);
}

@media screen and (max-width: 667px){
.intro_banner {
        width: 70%;
    }

.cate_banner {
        width: 90%;
    }

}


/*20250321*/
#footer #footer_con {
    position: relative;
    z-index: 10;
}