@charset "utf-8";
/* CSS Document */

:root {
    --green01: #60994F;
    --green02: #3ba043;
}
    
/* body ********************************************/
.page_width{
    width:750px !important;
}
body.mb{
	font-size:3.0rem;
    line-height: 140%;
}
.page_width .post_content,
.page_width.post_content{
    padding-left: 10px;
    padding-right: 10px;
}
h1,h2,h3,h4{
    font-weight: bold;
}
.smaller{
    font-size:smaller;
}

.btn{
	display: inline-block;
	margin:1em auto;
	padding:2px 2em;
	text-align: center;
    background-color: var(--green02);
    color: white;
    border-radius: 4px;
    box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3);
	cursor:pointer;
}
.btn:hover{
	text-decoration: none;
	opacity: 0.9;
	box-shadow: none;
}

a.link{
    color: rgb(81, 121, 255);
    text-decoration: underline;
}



/* header ********************************************/
#header{
    position:fixed;
    z-index: 10;
    width:100%;
    background-image:url("../images/bg/bg-01.jpg");
    background-size:cover;
    background-repeat: no-repeat;
    background-position: center center;
    overflow: hidden;
}
#header h1{
    display: block;
    text-align: center;
    overflow: hidden;
}
#header h1 img{
    display: block;
    filter: drop-shadow(1px 1px 0px black);
    object-fit:cover;
    width:80%;
    margin:0 auto;
    overflow: hidden;
}
hr.head_spacer{
    border: none;
    height:1px;
    margin-top:159px;
}


#head_menu{
	background-color: black;
	color:#FFFFFF;
}
:root{
    --head-menu-height: 50px;
}
#head_menu >.inner > ul{
	display: flex;
	margin:0 auto;
    min-height:var(--head-menu-height);
}
#head_menu > .inner > ul > li{
	display:block;
	padding:0;
	border-right:1px solid #FFFFFF;
    font-size: 0.7em;
    font-family: 'Kosugi Maru';
    line-height:var(--head-menu-height);
}
.pc #head_menu > .inner > ul > li{
	font-size:1em;
    overflow: hidden;
}
.pc #head_menu > .inner > ul > li:first-child{
	border-left:1px solid #FFFFFF;
}
#head_menu > .inner > ul > li > a{
    display: inline-block;
    white-space: nowrap;
    height:var(--head-menu-height);
    line-height:var(--head-menu-height);
    padding: 0 1.5em;
}
#head_menu > .inner > ul > li > a:hover{
	text-decoration:none;
	background-color: #292929;
}

/* page_content ********************************************/
.entry_block{
    margin-top:1em;
}
.entry_block .title_box .title_l {
	position: relative;
	text-align: center;
    font-size: larger;
    padding: 0.5em 0;
	background-color: #fff !important;
}
.entry_block .title_box .title_l:before {
	content: '';
	height: 150px;
	width: 150px;
	border: dotted 2px var(--green02);
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	z-index: -1;
}
.entry_block .title_box .page_width{
	padding-top: 50px;
	padding-bottom: 50px;
}


/* .post_content ********************************************/
.post_content .title{
    font-weight: bold;
    text-align: left ;
    border-left: 10px solid var(--green02);
    padding: 0 0 0 0.5em;
    font-size:larger;
    line-height:1em;
    margin:2em 0 1em 0;
}
.google_map{
    position:relative;
    width:100%;
    height:300px;
    border:2px solid var(--green01);
    border-radius: 6px;
    overflow: hidden;
}
.google_map iframe{
    display: block;
    width:100%;
    height:300px;
}


/* footer ********************************************/
#footer{
    position: absolute;
    width: 100%;
    bottom: 0;
    margin: 0 auto;
}

#sitemap{
    border-top: 1px solid #999999;
    padding:10px auto;
}
.pc #sitemap {
    font-size:1em;
}
#sitemap li{
    display: inline-block;
    font-family:'Kosugi Maru';
    list-style: none;
    padding:0;
    vertical-align: text-bottom;
}
#sitemap > .inner{
    text-align: center;
}
#sitemap li > *{
    padding:10px 0.5em;
    vertical-align: middle;
    font-size: 0.7em;
}
.pc #sitemap li > *{
    padding:10px 0.5em;
    font-size: 0.9em;
}
#footer .copyright{
    background-color:black;
    color:white;
    text-align: center;
    font-size: 0.7em;
}
#footer .copyright *{
    font-family:'Vollkorn' !important;
}
hr.foot_spacer{
    border: none;
    height:1px;
    margin-top:2em;
}
hr#footer_spacer{
    border: none;
    height:1px;
    margin-bottom:95px;
}


/* .slug-toppage ***************************************************/
.slug-toppage .toppage_main{
	position:relative;
	background-image:url("../images/toppage_back.jpg");
	background-position: top;
	background-repeat: none;
	background-size:cover;
	min-height: 750px;
}
.slug-toppage .toppage_main h1{
	position:absolute;
	display: block;
	top:150px;
	width:100%;
	margin:0 auto;
	text-align: center;
	background-color: rgba(0,0,0,0.7);
}
.slug-toppage .toppage_main h1 img{
	display: inline-block;
	width: 95%;
	object-fit: cover;
	z-index:-1;
}
.slug-toppage .toppage_main::after{
	content: "";
	position: absolute;
	top:0;
	left:0;
	border:2px solid white;
	padding:20px;
	margin:20px;
	width:710px;
	height:710px;
	z-index:-1;
}
.slug-toppage .toppage_main nav{
	position: absolute;
	top:350px;
	left: 0;
	width: 100%;;
	text-align: center;
}
.slug-toppage .toppage_main nav li{
	display: block;
	width:400px;
	height:58px;
	overflow: hidden;
	margin:1.5em auto;
}
.slug-toppage .toppage_main nav li a{
	display: block;
	width:100%;
	height:58px;
	text-align: center;
	background-color: rgba(255, 255, 255, 0.8);
	border:2px solid  rgba(255, 255, 255, 0.9);
	color:rgb(24, 31, 26);
	line-height: 58px;
	font-size: 1.2em;
	cursor:pointer;
	box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3);
	border-radius:30px;
	z-index:2;
}
.pc .slug-toppage .toppage_main nav li a{
	background-color: rgba(255, 255, 255, 0.6);
}
.slug-toppage .toppage_main nav li a:hover{
	background-color: rgba(255, 255, 255, 0.8);
	border:2px solid  rgba(255, 255, 255, 0.9);
	text-decoration: none;
	color:rgb(5, 20, 5);
}


/* .slug-tokuda-batake ********************************************/
.slug-tokuda-batake dl.enkaku{
    display: grid;
    grid-template-columns: 4em 1fr;
    gap:1px;
    margin: 1em auto;
}
.slug-tokuda-batake dl.enkaku dt{
    font-size:larger;
    font-family:'Vollkorn';
}
.slug-tokuda-batake dl.enkaku > *{
    padding:10px;
    border-bottom:2px dotted var(--green01);
}



.appeal_box{
    width:80%;
    margin:2em auto;
    padding:20px;
    border:2px solid var(--green01);
    border-radius:8px;
    font-size:smaller;
}
.appeal_box dl{
    width:100%;
    display: grid;
    grid-template-columns:6em 1fr;
    gap:10px 5px;
}
.appeal_box dl dt::first-letter{
    color:var(--green02);
    font-weight: bold;
}
.appeal_box dl > *{
    border-bottom:1px dotted #2f3532;
    padding: 0 0.5em;
}
.to_form{
    display: block;
    font-weight: bold;
    background-color: var(--green01);
    color:#FFFFFF;
    text-align: center;
    padding:10px 1em;
    margin: 0.5em auto;
    border-radius:6px;
}
.to_form:hover{
    opacity:0.8;
    text-decoration: none;
}


/* .slug-kitchen-tokuda ********************************************/
.grid_col2{
    width:100%;
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap:20px;
}
.grid_col2 .grid_box{
    max-height:2000px;
    font-size:smaller;
    overflow: hidden;
}
.pc .grid_col2 .grid_box{
    max-height:1450px;
    font-size:1em;
    overflow: hidden;
}
.grid_col2 .grid_box > dl >*{
    position: relative;
    line-height:180%;
    font-size: 1em;
    list-style: disc;
    list-style-type:disc;
    list-style-position: outside;
    padding-left: 1em;
}
.grid_col2 .grid_box > dl >dd:before {
    border-radius: 50%; /*丸くする*/
    width: 5px; /*点の幅*/
    height: 5px; /*点の高さ*/
    display: block;
    position: absolute; /*絶対配置*/
    left: 5px; /*点の位置*/
    top: 0.8em; /*点の位置*/
    content: "";
    background: #86c27f; /*点の色*/
}

.grid_col2 .grid_box .list_title{
    background: linear-gradient(90deg, rgba(170, 211,120, 1), rgba(170, 211,120, 0));    
    padding: 0 0 0 0.5em;
    font-size: 1em;
    margin: 0.7em 0;
    border-radius: 16px 0 0 16px;
}
.grid_col2 .grid_box .list_title.spring{
    background: linear-gradient(90deg, rgba(253, 217, 217, 1), rgba(253,217,217,0.2));    
}
.grid_col2 .grid_box .list_title.summer{ 
    background: linear-gradient(90deg, rgb(157, 191, 235), rgba(120, 159, 211, 0.2));
}
.grid_col2 .grid_box .list_title.autumn{
    background: linear-gradient(90deg, rgba(219, 192, 68, 1), rgba(219, 192, 68, 0.2));    
}
.grid_col2 .grid_box .list_title.winter{
    background: linear-gradient(90deg, rgba(215, 212, 231, 1), rgba(215, 212, 231, 0.2));    
}

.slug-kitchen-tokuda table.hanbaisaki{
    display: block;
    width:100%;
    margin:1em auto;
}
.slug-kitchen-tokuda table.hanbaisaki tr{
    width:100%;
    display: grid;
    grid-template-columns: 8em 1fr;
}
.slug-kitchen-tokuda table.hanbaisaki  th,
.slug-kitchen-tokuda table.hanbaisaki  td{
    text-align: left;
    padding:5px 1em;
    border:1px solid var(--green01);
}
.slug-kitchen-tokuda table.hanbaisaki th{
    text-align: left;
    background-color: var(--green01);
    color: white;
    border-bottom:1px solid white;
}
.slug-kitchen-tokuda table.hanbaisaki  td{
    width:1fr;
}

.slug-kitchen-tokuda .menu_gallery li{
    display: block;
    width:100%;
    padding:0;
    margin:0;
    line-height: 0;
}
.slug-kitchen-tokuda .menu_gallery img{
    width:100%;
    object-fit: cover;
}


/* kyuujin-form *******************************/
.slug-kyuujin-form .kyuujin-form{
	width:100%;
	display:grid;
	grid-template-columns: 300px 420px;
	gap:0px;
}
.pc .slug-kyuujin-form .kyuujin-form{
	grid-template-columns: 10em 1fr;
}
.slug-kyuujin-form .kyuujin-form > *{
	padding:1em 10px;
	border-top:1px solid #999999;
}
.slug-kyuujin-form .kyuujin-form .hissu{
	color: white;
	font-size: smaller;
	padding:2px 0.5em;
	margin:0 0.5em;
	border-radius:6px;
	background-color: rgb(221, 33, 33);
}
.slug-kyuujin-form .kyuujin-form > dt::first-letter{
	font-size: larger;
	color:var(--green02);
}
.slug-kyuujin-form .kyuujin-form input[type="radio"]{
	margin-right:0.5em;
}
.slug-kyuujin-form .kyuujin-form label{
    padding-bottom:2px;
}
.slug-kyuujin-form .kyuujin-form label:hover{
    padding:0;
    border-bottom: 2px solid var(--green01);
	/* border-radius: 8px; */
	/* background-color:#ffc2d6; */
}

.slug-kyuujin-form .kyuujin-form > * > li{
	list-style: '※';
	list-style-position: inside;
	text-indent:-1em;
	line-height: 140%;
	margin-top: 1em;
	font-size: smaller;
}
.slug-kyuujin-form .kyuujin-form .group{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap:0.5em;
}
.pc .slug-kyuujin-form .kyuujin-form .group{
	grid-template-columns: repeat(4, 1fr);
}
.slug-kyuujin-form .kyuujin-form .group > *{
	display: block;
	white-space: nowrap;
}

.slug-kyuujin-form form[name="kyuujin_chk"]{
    width:100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap:20px;
}
.slug-kyuujin-form form[name="kyuujin_chk"] input[type="button"],input[type="submit"]{
	display: block;
    width:100%;
    background-color: #3a7ab1;
}

/* privacy *******************************/
.slug-privacy h2{
    margin:2em auto 1em auto;
}

.slug-privacy ol{
    display: block;
    margin:1em auto;
}
.slug-privacy li{
    padding-left:1em;
    list-style-type: decimal;
    list-style-position: inside;
    text-indent:-1.3em;
}




