@charset "utf-8";

body {
  font-family: 'Roboto', 'Noto Sans JP', "游ゴシック体", "Yu Gothic", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
  font-feature-settings: "palt";
  letter-spacing: .03em;
  padding-top: 0;
}

.reservForm input {
  /*padding: 15px 40px;*/
  font-size: 1em;
  background-color: #fff;
  color: #555;
  border-style: none;
  border: 1px solid #ccc;
  border-radius: 5px;
}

a {
  /*-webkit-transition: all 0.5s;
  -moz-transition: all 0.5s;
  -ms-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
  opacity: 1;*/
}

a:hover {
  /*-webkit-transition: all 0.2s;
  -moz-transition: all 0.2s;
  -ms-transition: all 0.2s;
  -o-transition: all 0.2s;
  transition: all 0.2s;*/
  opacity: .8;
}

.reservForm input {
  -webkit-transition: all 0.2s;
  -moz-transition: all 0.2s;
  -ms-transition: all 0.2s;
  -o-transition: all 0.2s;
  transition: all 0.2s;
  /*opacity: 1;*/
}

.reservForm input:hover {
  background-color: #47a556;
  border: 1px solid #47a556;
  color: #fff;
  
  -webkit-transition: all 0.2s;
  -moz-transition: all 0.2s;
  -ms-transition: all 0.2s;
  -o-transition: all 0.2s;
  transition: all 0.2s;
  /*opacity: .8;*/
}

#calenderTable td:hover {
  background: #f2f2f2;
  
  /*-webkit-transition: all 0.2s;
  -moz-transition: all 0.2s;
  -ms-transition: all 0.2s;
  -o-transition: all 0.2s;
  transition: all 0.2s;*/
  /*opacity: .8;*/
}

/*土曜の文字色*/
.youbi_6{
	/*color:#36F!important;*/
}
th.youbi_6 {
  background: #47a556!important;
  color:#FFF!important;
}
table#calenderTable > tbody > tr:nth-child(2) > th:nth-child(1) {
  background: #47a556!important;
  background: #47a556!important;
  color:#FFF!important;
}

/*祝日と日曜の文字色*/
.youbi_0,.shukujitu{
	/*color:red!important;*/
}
/*本日の背景色　※ただし設定ファイルでの設定が優先されます*/
.today{
	background:#FF9;	
}
/*休業日設定した日の背景色　※ただし設定ファイルでの設定が優先されます*/
.holiday{
	background:#FDD;	
}
/*定休日設定した日の背景色　※ただし設定ファイルでの設定が優先されます*/
.closed{
	background:#FDD;	
}
.hidden{
	display:none;	
}
/*休業日テキスト部の左側の四角*/
.holidayCube{
	display:inline-block;
	width:13px;
	height:13px;
	margin:3px 3px 0 3px;
	position:relative;
	top:2px;
}
/*定休日テキスト部の左側の四角*/
.closedCube{
	display:inline-block;
	width:13px;
	height:13px;
	margin:3px 3px 0 3px;
	position:relative;
	top:2px;
}
/*---------------------------------
			index.php 
---------------------------------*/

/* Calender style */

#calenderTable{
	width:100%;	
	/*font-family:"メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;*/
	border-collapse:collapse;
}
#calenderTable th{
  padding:10px 0;
	/*font-size:12px;*/
	/*border:1px solid #ccc;*/
	color:#333;
	background:#eee;
}

#calenderTable tr > th.calenderHeader {
  background:#fff;
  font-size: 1.1em;
}

#calenderTable tr > th.calenderHeader:nth-child(2) {
  font-size: 1.4em;
}

#calenderTable td{
  padding:12px 0 12px 12px;
	/*text-align:right;*/
	font-size:1.2em;
  font-weight: bold;
	border:1px solid #eee;
	color:#555;
	width:14%;
	vertical-align:top;
  height: 150px!important
}

#calenderTable td > div:first-child {
  padding: 10px 0 0;
}

#calenderTable td > div {
  padding: 8px 0;
}

#calenderTable td > div:last-child {
  padding: 0s;
}

#calenderTable td div:nth-child(n+1):nth-child(-n+3){
  /*font-size: 1rem;*/
  font-size: .9rem;
  font-weight: normal;
  margin: 0;
}

#calenderTable .calenderHeader a{
	color:#555;
	text-decoration:none;
}

#calenderTable td .scheduleComment{
	text-align:left;
	color:#555;
	/*font-size:10px;*/
}

#calenderTable td .schedulePulldownList{
	text-align:left;
	color:#555;
  margin: 0;
	/*font-size:10px;*/
	/*padding:0px 0 3px;*/
}

input:disabled {
  display: none;
}

#calenderTable td .schedulePulldownList:not(:last-child){
  /*border-bottom:1px dotted #ccc;*/
}

#calenderTable .borderless{
	border:0!important
}
.countNum{
	font-size:.9em;
}
p.holidayText{
	/*font-size:12px!important;*/
	color:#444;
	margin:0;
	padding:0 0 5px;
  text-align: right;
}

/* if ListStyle */
ul#calenderList{
	list-style:none;
	margin:0;
	padding:0;
	/*font-family:"メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;*/
}
#calenderList li{
	border-bottom:1px solid #999;
	padding:5px;
}
#calenderList li.first-child{
	border-top:1px solid #999;
}
#calenderList .scheduleComment{
	text-align:left;
	color:#555;
	/*font-size:10px;*/
}
#calenderList .schedulePulldownList{
	text-align:left;
	color:#555;
	/*font-size:11px;*/
	padding:0px 0 3px;
	border-bottom:1px dotted #aaa;
}
table.navNextPrev {
	width:100%;
}
table.navNextPrev .dspPrev{
	text-align:left;	
	padding:10px;
}
table.navNextPrev .dspNext{
	text-align:right;
	padding:10px;
}
h2#headerYm{
	background:#666;
	color:#fff;
	text-align:center;
	padding:5px ;
	/*font-size:110%;*/
	/*font-family:"メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;*/
}

/* /if ListStyle */


/* Reserv Btn styl*/
.reservForm{
	display:inline;	
}

.reservForm input{
	/*font-size:12px;*/
	cursor:pointer;
	/*font-family:"ＭＳ Ｐゴシック", "MS PGothic", sans-serif;*/
  /*width: 100%;*/
  padding:5px 8px!important;
  margin: 0;
}
/* /Reserv Btn styl*/

/* ReservForm Style */

#formWrap {
	width:1180px;
	margin:0 auto;
	color:#555;
	/*line-height:120%;*/
	/*font-size:90%;*/
	/*font-family:"メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;*/
}
/*#formWrap h2{
	font-weight:normal;
	font-size:14px;
	color:#111;
	margin:0 0 10px;
	background:#efefef;
	padding:5px 8px 3px;
	border-radius:3px;
	border:1px solid #ccc;
}*/

#formWrap h2 {
  font-size: 1.2em;
  margin: 0 auto 10px;
  border-left: 6px solid #47a556;
  line-height: 1.6em;
  padding-left: 10px;
}

#formWrap p {
	margin:0 0 5px;
	padding:0;
	/*font-size:13px;*/
}

table.formTable {
	width:100%;
	margin:15px auto;
	border-collapse:collapse;
}
table.formTable td, table.formTable th {
	border:1px solid #ccc;
	padding:20px;
	/*font-size:90%;*/
}
table.formTable th {
  width:300px;
	font-weight:normal;
	background:#efefef;
	text-align:left;
}
table.formTable th span {
  /*display: block;*/
  margin-top:7px;
  font-size: .8em;
}
table.formTable th.request::before {
  content: "※";
  color: #FF0000;
  font-size: .6em;
  margin-right: 2px;
  vertical-align: top;
}

table.formTable td input[type="text"],
table.formTable td input[type="email"],
table.formTable td input[type="tel"] {
  max-width: 90%;
  padding: 7px 2%;
  border: 1px solid #cccccc;
  border-radius: 3px;
  background: #fafafa;
  -webkit-appearance: none;
  font-size: 100%;
  /*font-family: inherit;*/
  margin-top: 7px;
}

table.formTable td textarea {
  display: block;
  width: 90%;
  max-width: 90%;
  height: 200px;
  padding: 7px 2%;
  resize: vertical;
  border: 1px solid #cccccc;
  border-radius: 3px;
  background: #fafafa;
  -webkit-appearance: none;
  font-size: 100%;
  font-family: inherit;
}

table.formTable td li input[type="radio"],
table.formTable td li input[type="checkbox"] {
  margin-right: 5px;
  /*margin-top: 10px;*/
  margin-top: -1px;
}

table.formTable td li:not(:last-child) {
  margin-bottom: 8px;
}

table.formTable td li:first-child input[type="radio"],
table.formTable td li:first-child input[type="checkbox"] {
  /*margin-top: 0px;*/
  margin-top: -1.5px;
  display: inline;
}

/*#formWrap > form > div.submitTable {
  margin: 0 auto 150px;
  width: 400px;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: center;
  align-items: center;
}

#formWrap > form > div.submitTable > input {
  font-size: 1.1em;
  background-color: #fff;
  color: #555;
  border: 1px solid #ccc;
  border-radius: 5px;
  padding: 15px 20px;
  display: block;
  margin: 0;
  width: 100%;
}

#formWrap > form > div.submitTable > input:first-child {
  margin-right: 15px;
}

#formWrap > form > div.submitTable > input:hover {
  background-color: #47a556;
  border: 1px solid #47a556;
  color: #fff;
  cursor: pointer;
}*/

#formWrap div.submitTable {
  margin: 0 auto 150px;
  width: 400px;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: center;
  align-items: center;
}

#formWrap div.submitTable > input {
  font-size: 1.1em;
  /*background-color: #fff;*/
  /*color: #555;*/
  /*border: 1px solid #ccc;*/
  border-radius: 5px;
  padding: 15px 20px;
  display: block;
  margin: 0;
  width: 100%;
  
  background-color: #ccc;
  border: 1px solid #ccc;
  color: #fff;
  
  -webkit-transition: all 0.2s;
  -moz-transition: all 0.2s;
  -ms-transition: all 0.2s;
  -o-transition: all 0.2s;
  transition: all 0.2s;
  opacity: 1;
}

#formWrap div.submitTable> input:first-child {
  margin-right: 15px;
  
  background-color: #47a556;
  border: 1px solid #47a556;
  color: #fff;
}

#formWrap div.submitTable > input:hover {
  -webkit-transition: all 0.2s;
  -moz-transition: all 0.2s;
  -ms-transition: all 0.2s;
  -o-transition: all 0.2s;
  transition: all 0.2s;
  opacity: .8;
  
  cursor: pointer;
}

/*---------------------------------
		/index.php style 
---------------------------------*/
header {
  margin: 50px auto 30px;
}

.echoMessage h4 {
  margin: 0 auto 30px;
}

.echoMessage h4 p {
  font-size: 1.2em;
  line-height: 1.2em;
}

.echoMessage h4 p:not(:last-child) {
  margin: 0 auto 10px!important;
}

div.echoMessage-list {
  margin: 0 auto 100px;
}

div.echoMessage-list p.error_messe {
  display: inline;
}

div.echoMessage-list p.error_messe:not(:last-child) {
  margin-right: 15px;
}

div.echoMessage-list p.error_messe:last-child::after {
  content: " は必須項目です。";
}

/*input[type="button"]:disabled {
  display: none;
  margin: 0 auto 10px;
}*/

@media screen and (max-width:736px) {
  /*.reservForm {
    margin: 3px 0 0;
  }*/

  .reservForm input {
    width: 100%!important;
    padding: 10px 8px!important;
    margin: 8px auto 0;
  }
  
  #formWrap {
    width: 100%;
  }
  
  table.formTable tbody {
    border-top: 1px solid #ccc;
  }
  
  table.formTable th {
    width: 100%;
    display: block;
    border-top: none;
    border-bottom: none;
  }
  
  table.formTable td {
    width: 100%;
    display: block;
    padding: 15px 10px;
  }
  
  table.formTable td, table.formTable th {
    /*border:1px solid #ccc;*/
    padding:20px 10px;
    /*font-size:90%;*/
  }
  
  table.formTable td input[type="text"],
  table.formTable td input[type="email"],
  table.formTable td input[type="tel"] {
    margin-top: 0px;
    padding: 13px 2%;
  }
  
  table.formTable td textarea {
    width: 100%;
    max-width: 100%;
    height: 100px;
    padding: 13px 2%;
  }
  
  table.formTable td p {
    line-height: 1.5em;
  }
  
  #formWrap div.submitTable {
    width: 100%;
    margin: 0 auto 50px;
  }
  
  .echoMessage h4 p {
    font-size: 1em;
    line-height: 1.4em;
  }
}