/* ------------------------------
 list
------------------------------ */






/* ------------------------------
 Child
------------------------------ */
h2.title_child{
	text-align: center;
	color: #009344;
	font-size: clamp(1.625rem, 1.534rem + 0.45vw, 1.875rem);
	letter-spacing: .1em;
	margin-bottom: 1.5em
}

@media (min-width: 0px) and (max-width: 414px) {
	h2.title_child{
		margin-bottom: 1em
	}
}

#banner_img{}

#banner_img img{
	width: 100%;
	height: auto;
}

/* イントロ */

@media  (min-width: 0px) and (max-width: 414px) {
	#contents_prof{
		text-align: left;
		padding: 1em 0;
	}

}	
@media  (min-width: 415px) {
	#contents_prof{
		padding: 3em;
	}
}

#contents_prof h3{
	font-size: clamp(1.438rem, 1.369rem + 0.34vw, 1.625rem);
	margin-bottom: .5em;
	color: #eb4f00
}

#contents_prof p{
	font-size: 1.1em;
 line-height: 1.5em;
 margin-bottom: .8em
}


/* ギャラリー */
#image_gallery{
	margin-bottom: 3em;
	max-width: 1100px;
	margin: 0 auto
}

#image_gallery ul{
	  display: grid;
	  grid-template-columns: repeat(3,1fr);
	  gap: 10px;
}

@media screen and (max-width: 667px) {
	#contents_prof p br{
		display: none
	}
}	

@media print, screen and (min-width: 668px) {
	#image_gallery ul{
	  display: grid;
	  grid-template-columns: repeat(3,1fr);
	  gap: 20px;
	  width: 80%;
	  margin: 0 auto
	}

}	



#image_gallery ul li img{width:100%;
	height:auto}




/* 利用ガイド */
#contents_guide{
	font-size: 1.1em;
	text-align: center;
	line-height: 1.5em;
	padding-bottom: 4em
}



.infoguide{
	font-size: 1.1em;
	margin-top: 2em;
	padding-top: 2em;
	border-top:  dotted 2px #ccc
}

.infoguide h4{
	font-size: 1.2em;
	color: #009344;
	margin-bottom: 1em
}

.infoguide h5{
	background: #f5eaea;
	padding: .6em 1em;
	font-size: 1.2em;
	margin: 0 0 1.5em
}


.infoguide .time{
}

table.ctb{
border-collapse: collapse;
border-spacing: 0;
border-top:1px solid #666645;
border-right:1px solid #666645;
width:100%;
margin-bottom: 1em}

table.ctb th,
table.ctb td{color:#000000;
vertical-align:middle;
border-bottom:1px solid #666645;
border-left:1px solid #666645;}

table.ctb th{
	width: 50%;
	font-size:1.1em;
	padding: .5em 1.5em .5em;
	background:#eaeade;
	text-align:center
}

table.ctb td{
	line-height: 1.5em;
	padding: 1em 1.5em 1em;
	background-color:#ffffff;
	text-align:left;}
	
.infoguide .tel{
	display: block;
	font-size: 1.7em;
	padding-top: .5em
}

@media  (min-width: 0px) and (max-width: 414px) {
	table.ctb th{font-size:1.1em;}
	table.ctb td{font-size:1em;padding: .5em;
		vertical-align: top
	}
	
	.infoguide .tel{font-size: 1.5em;}
}	





ul.att{
	text-align: left
}

ul.att li{
	color: red;
	margin-bottom: .3em
}

ul.att li::before{
	content: "※";
	padding-right: .5em
}


.infoguide dl{
	text-align: left;
}
.infoguide dl dt{
	font-size: 1.2em;
	margin: 1em 0 .7em;
	padding: .5em 1em;
	color: #eb4f00;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
	position: relative;
	background: #f8efe0
}

.infoguide dl dd{
	margin-bottom: .4em;
}

.infoguide dl dd p{padding-left: 1em;
	font-size: .9em;
}
.infoguide dl dd:before{
	font-family: icomoon;
	content: "\e928";
	font-size: .4em;
	padding-right: .5em;
	color: #ccc
}


#rentalprice{padding-bottom: 2em}
#rentalprice > ul{}


#rentalprice > ul > li{
	margin-bottom: 2em;
	background: #fbffe6
}

.shisetuphoto{
	float: left;
	width: 48%;
}

.shisetu_info{
	float: right;
	width: 50%;
}

.shisetu_info h5{
	font-size: 1.8em;
	padding-top: 1em;
	border-bottom: solid 1px #ccc;
	margin: 0 1em .7em;
	padding-bottom: .7em;
	text-align: center;
}

ul.riyoujikan{
	margin-bottom: 1em
}

ul.riyoujikan li{
	font-size: 1.2em
}

ul.riyoujikan li:before{
	font-family: icomoon;
	content: "\ea42";
	font-size: .8em;
	padding-right: .5em
}



/* PDF */

ul#pdf_file{
	margin-top: 30px;
	list-style-type: none;
	padding-left: 0;
	display: flex;
	justify-content: center;}
	
	
ul#pdf_file li{
    margin: 10px;
    width: 31.3%;
    display: inline;
}


ul#pdf_file li img{
	border: solid 2px #ccc;
	width:100%;
	height:auto;
	margin-bottom:.5em;}

ul#pdf_file li .fileinfo{
	display:block}


/* ------------------------------
 INDEX
------------------------------ */

.bbq_cal{
	margin: 3em auto 5em;
}


.bbq_cal_att{ 
	width: 100%;
	margin: 0 0 2em;
	display: flex;
	justify-content: center;
}

.bbq_cal_att dl{}

.bbq_cal_att dt{
	margin-bottom: .8em;
	font-size: 1.2em;
	text-align: center
}

.bbq_cal_att dd{
	text-align: left
}

.bbq_cal_att dd::before{
	font-family: icomoon2;
	content: "\e96a";
	color: red
}


.calbox_wrap{
	max-width: 900px;
	margin: 0 auto
}

.calbox_wrap h3{
	text-align: center;
	padding: 1em
}



.calbox h3{
	font-size: 1.2em;
	margin: 0 0 1em
}

.calbox table{
border-collapse: collapse;
border-spacing: 0;
width:100%;
margin-bottom: 1em;}




.calbox table th,
.calbox table td{
	white-space: nowrap;
	color:#000000;
	vertical-align:middle;
	border-bottom:1px solid #ccc;
	padding: 5px;}

.calbox table tr th:not(:last-child),
.calbox table tr td:not(:last-child){
	border-right:1px solid #ccc;
}

.calbox table thead th{
	padding: .8em .6em;
	line-height: 1.2em;
	background:#eaeade;
	text-align:center;
	border-bottom:2px solid #ccc;
}

.calbox table th.list-header{
	min-width: 150px;
	padding: .6em .6em;
}

.calbox table td a{
	font-weight: bold
}

.timetable-time{
	font-size: 1.1rem
}

.timetable-time::after{
	content: "〜"
}

.calbox {
    overflow-x: auto;
    display: block;
}



@media screen and (max-width: 414px) {
	.calbox table thead th{
		font-size: 15px;
		padding: .6em .6em;
	}
	.calbox table th.list-header{
		padding: .6em;
		font-size: .9em
	}



	.calbox table th.list-header{
		background: #fff;
		position: sticky;
		left: 0;}
	
	.calbox table thead th.thead_th{
		background: #eaeade;
		position: sticky;
		left: 0;
		z-index: 100
	}
	
	 
	  .calbox table th.list-header::before,
	  .calbox table thead th.thead_th:first-child::before{
    content: "";
    position: absolute;
    top: -1px;
    left: -1px;
    width: 100%;
    height: 100%;
    border: 1px solid #ccc;}	
	
	
	
	
	

}	



.calbox table th.article-name,
.calbox table th.note,
.calbox table caption.list-calendar{
	display: none
}

.calbox table td{
	line-height: 1.3em;
	padding: 5px;
	background-color:#ffffff;
	vertical-align: middle;
	text-align:center;}

.calendar-time-mark .time-string{font-size: 1rem !important}
.calendar-time-mark .time-string::after{
	content: "〜";
}

.calendar-time-mark, .calendar-mark{
	font-size: 1.2rem !important
}

.monthly-prev a::before{
	font-family: icomoon2;
	content: "\e976";
}

.monthly-next a::after{
	font-family: icomoon2;
	content: "\e977";
}


/* ------------------------------
 form
------------------------------ */

.forms{
	max-width: 900px;
}


.content-form legend{
	display: none
}

select {
  border-radius: 5px;
  color: #333;
  font-size: 18px;
  padding: 0 1em;
  display: block;
  height: 45px;
  width: 100%;
  max-width: 400px;
  background: #e5e4f0 url(../img/arrow.svg) no-repeat right 10px center / 16px auto;
  margin: 5px 0;
  position: relative;
}

.input-number select{
	max-width: 120px;
	min-width: 100px;
}

textarea{
	width: 100%;
	min-width: 200px;
	max-width: 450px;
	padding:.5em .8em;
	border-radius: 5px;
	border: 2px solid #cfcedb;
}

input[type=text] {
	width: 100%;
	max-width: 450px;
	padding:.5em .8em;
	border-radius: 5px;
	border: 2px solid #cfcedb;
	height: 40px;
}

input[type=text]:focus {
  outline: 0;
  border: 2px solid #2196f3;
}
input[type=text].small-medium {
    width: 48%;
	max-width: 300px;
}
input#client-postcode{
	width: 120px
}

label.booking-seimei{
	display: none
}

button[type="submit"]{
	 background: #ff0074;
	 color: #fff;
	 padding: 1em;
	 border-radius: 10px;
	 position: relative;
	 width: 100%;
	 max-width: 400px;
	 display: inline-block;
	 font-size: 1.2em;
	 letter-spacing: .1em;
	 border: solid 2px #fff;
	 box-shadow: 1px 1px 6px #ccc;
	 position: relative;
	 -webkit-transition: all .3s;
	 transition: all .3s;
}

button[type="submit"]:hover{
	background: #bf0057;
}

.forms_thanks{
	text-align: center;
	padding: 5% 0;
}

.forms_thanks h2{
	margin: 3em 1em 1em;
	color: #ff6700;
	font-size: 1.3em
}

.thanks_tel{
	font-size: 1.2em;
	margin: 1em 0 0
}


@media screen and (max-width: 767px) {
	.forms_thanks br{
		display: none
	}
}	

@media print, screen and (min-width: 768px) {}	

@media print, screen and (min-width: 1024px) {}	