@charset "utf-8";
/* ios-safariリセット用 */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  outline: none;
  background: transparent;
}
button,
input[type="submit"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  border: none;
  outline: none;
  background: transparent;
}
input[type="radio"] {
  display: none;
}
input[type="radio"]:checked + label {
  background: #ff0000;
}
/* contact-index */
footer.footer-area{
	margin-top: 0;
}
p.contact-catch {
  width: 90%;
  margin: 20px auto 0;
  font-size: 14px;
  line-height: 1.8;
}
.contact-title{
	font-size: 18px;
	text-align: center;
}
.contact .form-bg{
  background: #ededed;
  padding: 100px 0 50px;
}
h2.ttl{
	text-align: center;
	font-size: 20px;
	letter-spacing: 2px;
}
.contact.confirm .form-bg{
	border: none;
}
.contact form{
	margin: 0 auto;
	width: 90%;
}
.contact .bold{
	margin-top: 10px;
	display: block;
	font-size: 15px;
	font-weight: normal;
	color:#0f0f0f;
}
.contact .bold.first{
	margin-top: 20px;
}
.contact input,
.contact select{
	margin-top: 5px;
	display: block;
	width: 100%;
	height: 30px;
	border: 1px solid #adadad !important;
	border-radius: 0;
	font-size: 16px;
	padding:0 7px;
	background: #fff;
	box-sizing: border-box;
}
.contact textarea{
	margin-top: 5px;
	display: block;
	width: 100%;
	height: 90px;
	border: 1px solid #adadad;
	border-radius: 0;
	font-size: 16px;
	box-sizing: border-box;
	padding: 7px;
}
.contact div.post input{
	display: inline-block;
	width: 40%;
	min-width: 100px;
}
.contact .sendbutton{
	margin-top: 50px;
	text-align: center;
}
.contact-page.free-page .contact .sendbutton{
	margin-top: 20px;
}
.contact input[type="submit"]{
	margin: 0 auto;
	width: 260px;
	height: 100%;
	display: block;	
	color: #fff;
	background: #251814;
	border: 2px solid #251814 !important;
	transition: .3s;
	cursor: pointer;
	letter-spacing: 1px;
	padding: 10px 0;
	font-size: 16px;
}
.contact input[type="submit"]:hover{	
	color: #251814;
	background: #fff;
	transition: .3s;	
}
.pri-text{
	margin-top: 20px;
}
.pri-text a{
	margin-right: 3px;
	display: inline-block;
	color: #9fb3c3;
	font-weight: 600;
}
.red.ast{
	margin-left: 2px;
	color: #ff0000;
	display: inline-block;
}
.ast-text{
	margin: 5px auto 0;
  width: 90%;
  text-align: right;
}
/* contact-confirm */
.contact.confirm{
	padding: 100px 0 0;
}
.contact.confirm .form-bg{
	margin-top: 30px;
}
table.confirmtable {
    width: 100%;
    margin: 30px auto;
    border-collapse:collapse;
    border-spacing:0;
    empty-cells:show;
}
.confirmtable th {
	font-size: 15px;
	display: block;
	width:100%;
	font-weight:normal;
  text-align: left;
  padding:10px 0 8px 15px;
  background: #ededed;
  box-sizing: border-box;
}
.confirmtable td {
	display: block;
    font-size: 15px;
    padding:15px 10px 13px 15px;
}
#contentswrapper #mainarea.confirm{
	margin-bottom:80px;
}
#contentswrapper #mainarea.complete{
	margin-bottom:80px;
}
.confilmbtn{
	text-align: center;
	display: flex;
	flex-direction: column-reverse;
}
.confilmbtn .bac{
	margin: 15px 0 0 !important;
}
.confilmbtn .bac a{
	margin: 0 auto;
	color: #fff;
  display: block;
  width: 260px;
  padding: 7px 0;
  background: #848484;
  font-size: 16px;
  text-decoration: none;
}
.confilmbtn .button{
	margin: 15px 0 0 !important;
}
/* contact-complete */
.contact.complete{
	padding: 100px 0 0;
}
.contact.complete .complete_p{
  margin-top: 30px;	
  text-align: center;
  font-size: 16px;
  line-height: 1.8;
}
.contact.complete .bac2{
	margin-top: 30px;
}
.contact.complete .bac2 a{
	margin: 0 auto;
  color: #fff;
  background: #251814;
  display: block;
  width: 260px;
  padding: 10px 0;
  transition: .3s;
  text-align: center;
}
/* reserve-index */
#desired_time{
	margin-top: 10px;
	display: block;
	width: 100%;
	height: 30px;
}
.selectWrap{
  width: 100%;
  position: relative;
  display: inline-block;
}
.selectWrap::after {
  content: '';
  width: 6px;
  height: 6px;
  border: 0px;
  border-bottom: solid 2px #424242;
  border-right: solid 2px #424242;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 15px;
  margin-top: -2px;
  z-index:9;
}
#desired_time {
	margin-top: 10px;
	display: block;
	width: 100%;
	height: 35px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: relative;
  z-index: 1;
  padding: 0 40px 0 10px;
}
#desired_time::-ms-expand {
    display: none;
}
.wish-contact{
	margin-top: 22px;
}
.wish-contact label{
	margin-top: 5px;
	display: flex;
	align-items: center;
	cursor: pointer;
}
.wish-contact label input{
	margin: 0 10px 0 0;
	width: inherit;
	height: inherit;
	font-size: 16px;
}
.mail-maga label{
	margin-top: 5px;
	display: flex;
	align-items: center;
	cursor: pointer;
}
.mail-maga{
	margin-top: 22px;
	margin-bottom:25px;
}
.mail-maga label input{
	margin: 0 10px 0 0;
	width: inherit;
	height: inherit;
}
.wish-flex{
	margin-top: 5px;
	display: flex;
	align-items: center;
}
.wish-flex input[type="checkbox"]{
	display: none;
}
.wish-flex label{
	margin-right: 20px;
	display: flex;
	align-items: center;
	cursor: pointer;
	position: relative;
}
.wish-flex label:before{
	margin-right: 8px;
	content: "";
	display: inline-block;
	width: 18px;
	height: 18px;
	border: 1px solid #947a1d;
	background: #fff;
}
.wish-flex label:after{
	content: "";
	background: url(https://www.your-emerald.com/images/reserve/check-br.svg) no-repeat;
	background-size: contain;
	width: 23px;
	height: 23px;
	position: absolute;
	left: 0;
  top: 50%;
  transform: translate(0,-50%);
  opacity: 0;
}
input[type=checkbox]:checked + label:after{
	opacity: 1;
}
.contact div.infoarea__maparea{
	margin: 30px auto;
	width: 90%;	
}
.contact div.infoarea__maparea__contents{
	margin-right: 0;
	text-align: center;
}
.contact div.infoarea__maparea__contents h3{
	margin-bottom: 5px;
	font-size: 16px;
}
.contact div.infoarea__maparea__contents h3 span{
	display: block;
}

.calnote{
	margin-top: 5px;
	text-align: right;
	font-size:12px;
}
.whitebox{
	width:11px;
	height	:11px;
	vertical-align:text-bottom;
	display: inline-block;
	background: #fff;
	border:1px solid #9c9c9c;
}
.graybox{
	width:11px;
	height	:11px;
	vertical-align:text-bottom;
	display: inline-block;
	background: #d4d4d4;
	border:1px solid #9c9c9c;
	margin-left:8px;
}
.saturdayfont{
	color:#2459bd;
	padding-left:8px;
}
.sundayfont{
	color:#b91a1a;
	padding-left:8px;
}