@charset "UTF-8";
/* CSS Document */

.reservBox {
	border-radius: 3px;
	margin: 0 auto 20px auto;
}

.reservBox .inputBox {
	padding: 0 20px 10px 20px;
}

.fotm_txt {
	display: inline-block;
	vertical-align: top;
	top: 2px;
}

.fotm_txt_space01 {
	margin: 0 10px;
}

.fotm_txt_space02 {
	margin: 0 0 0 10px;
}

.fotm_txt_space03 {
	margin: 0 0 0 10px;
}

#form ul {
	padding: 0;
	margin: 20px auto;
	list-style: none;
}

input,
textarea,
input[type=text] {
	font-size: 100%;
	padding: 5px 10px;
	border: #dddddd solid;
	border-width: 1px;
	vertical-align: baseline;
}

input {
/*	vertical-align: baseline;
	margin: 0 5px 0 0;*/
}


input[type=checkbox],input[type=radio] {
	height: 1em;
	width: 1em;
	top: 2px;
}


input.leftBox {
	width: calc(50% - 10px);
	margin: 0 10px 20px 0;
}

input.rightBox {
	width: calc(50% - 10px);
	margin: 0 0 20px 10px;
}

textarea {
	width: 100%;
	height: 12em;
	margin: 0 0 20px 0;
}

select {
    display: inline-block;
    font-size: 100%;
    line-height: 1.3;
    padding: 5px 30px 5px 20px;
    width: auto;
    max-width: 100%;
    box-sizing: border-box;
    margin: 0 0 10px 0;
    border: 1px solid #aaa;
    box-shadow: 0 1px 0 1px rgb(0 0 0 / 4%);
    border-radius: 0.5em;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    background-color: #ffffff;
	color: #000000;
    background-image: url(../img/select_arrow02.png), linear-gradient(to bottom, #ffffff 0%,#e5e5e5 100%);
    background-repeat: no-repeat, repeat;
    background-position: right 0.5em top 50%;
    outline: none;
	vertical-align: top;
}

.submitBox {
	text-align: center;
}

label {
	cursor: pointer;
	margin: 0 auto;
}

button,
.mailContents .button,
#editorBox .button_del {
	font-size: 130%!important;
	border: #cccccc solid;
	border-width: 1px;
	background: -moz-linear-gradient(top, #efefef, #ffffff);
	background: -webkit-linear-gradient(top, #efefef, #ffffff);
	background: linear-gradient(to top, #efefef, #ffffff);
	cursor: pointer;
	padding: 10px 4em 10px 4em!important;
	margin: 20px auto 0 auto;
	width: auto;
	display: block;
	white-space: nowrap;
}

#editorBox .button_del {
	opacity: 0.3;
	width: 6em;
    padding: 5px 0 !important;
	text-align: center;
	cursor: default;
}

button:hover,
#form h2 input.button:hover {
	background: -moz-linear-gradient(top, #dedede, #efefef);
	background: -webkit-linear-gradient(top, #dedede, #efefef);
	background: linear-gradient(to top, #dedede, #efefef);
}

.mailContents {
	text-align: center;
	margin: 100px auto;
}

label.privacy {
	display: inline-block;
	margin: 0 auto 20px auto;
}

.mailContents button,
.mailContents .button {
	white-space: nowrap!important;
	padding: 5px 2em!important;
	margin: 0 10px;
	display: inline-block!important;
}

.mailContents ul {
	list-style: none;
	margin: 20px auto;;
	padding: 0;
	border: #713d00 solid;
	border-width: 0 1px 1px 1px;
}

.mailContents ul li {
	margin: 0;
	padding: 0;
	display: flex;
}

.mailContents ul li.err_txt_list {
	border: #713d00 solid;
	border-width: 1px 0 0 0;
	padding: 10px;
}

.mailContents ul li div,
.mailContents ul li span.title {
	border: #713d00 solid;
	border-width: 1px 0 0 0;
	width: 100%;
	padding: 10px 20px;
	display: inline-block;
	vertical-align: top;
}

.mailContents ul li span.contents {
	border: #713d00 solid;
	border-width: 1px 0 0 1px;
	width: 100%;
	padding: 10px 20px;
	display: inline-block;
	vertical-align: top;
}

.mailContents ul li span.title {
	width: 20em!important;
	text-align: center;
	background-color: #e7ece5;
}

.mailContents ul li span.contents {
	width: calc(100% - 18em)!important;
	text-align: left;
}

.mailContents .thanksComment {
	margin: 0 auto 30px auto;
}

#contact ul.form {
	list-style: none;
	margin: 20px auto;;
	padding: 0;
}

#contact ul li.form {
	margin: 0;
	padding: 0;
}

/* 候補テキストの入力処理 */
input:-webkit-autofill,
input:-internal-autofill-selected {
    background-color: #ffffff !important;
}

.reservBox h2 {
	background-color: #e6003c;
	color: #ffffff;
	font-size: 100%;
	text-align: center;
	padding: 5px 0;
	margin: 20px auto 0 auto;
}

.reservBox select {
	padding: 5px 25px 5px 10px;
	margin: 0;
	vertical-align: middle;
}

.reservBox table {
	border: #713d00 solid;
	border-width: 0 0 0 1px;
	width: 100%;
	margin: 0 0 50px 0;
	line-height: 1.5em;
}

.reservBox table td,
.reservBox table th {
	border: #713d00 solid;
	border-width: 0 1px 1px 0;
	margin: 0;
	padding: 10px;
	font-weight: normal;
}

.reservBox table th {
	background-color: #e7ece5;
	white-space: nowrap;
	padding: 10px 20px;
}

.reservBox table td.labelBox {
	white-space: nowrap;
	padding: 10px 0 10px 10px;
	border-width: 0 0 1px 0;
	vertical-align: top;
}


.reservBox table label {
	margin: 0 1em 0 0;
}

.reservBox table label.select {
	margin: 0;
}

.reservBox table label input {
	margin: 0 0.5em 0 0;
}

.reservBox table button {
	display: inline-block;
	font-size: 100%!important;
	padding: 5px 10px!important;
	margin: 0;
}

.reservBox table textarea {
    margin: 10px 0 0 0;
}

.reservBox table ul.one_word {
	display: inline-block;
}

#form ul.one_word {
    margin: 0 0 0 1em;
	font-size: 90%;
}

#form ul.one_word li span.mark {
    position: absolute;
    left: -1em;
}

.reservBox #privacy_inline_box {
	margin: 0 auto 50px auto;
}

.reservBox #privacy_inline_box h1 {
	border: #713d00 solid;
	border-width: 0 0 1px 0;
	margin: 0 0 10px 0;
	padding: 0 0 20px 0;
}

.reservBox #privacy_inline_box .terms_title {
	border: #713d00 solid;
	border-width: 0 0 1px 0;
	display: block;
	padding: 0 0 10px 0;
	margin: 0 0 20px 0;
}

.reservBox table .space {
	height: 10px;
}

.reservBox table label input[type="text"]{
	width: 100%;
}

.reservBox table label input.short {
	width: 10em;
}

.reservBox table label input.half {
	width: 50%;
}

.reservBox table label input.street {
	width: calc(50% - 7em);
}

.reservBox table label.nospace {
	margin: 0;
}

.reservBox table label.add  input{
	width: calc(100% - 5em);
	margin: 0;
}

.label_required {
	background-color: #e6003c;
	color: #ffffff;
	font-size: 70%;
	padding: 5px 5px;
	display: inline-block;
	line-height: 1em;
	border-radius: 3px;
	top: -2px;
}

.reservBox table label input.input100 {
	width: 100%;
}

/* ------------------------------------------------------ */
@media only screen and (max-width : 1024px) {
/* ------------------------------------------------------ */

.reservBox table td,
.reservBox table th {
	display: block;
}
	
.reservBox table td.labelBox {
    padding: 0 0 0 10px;
    border-width: 0 1px 0 0;
}

.reservBox table label input.half {
	width: 100%;
}

	.reservBox table label input {
		margin: 5px 0 0 0;
	}
	
	.reservBox table label input.street {
		margin: 10px 0 0 0;
		width: 50%;
	}
	
	.reservBox table td {
		padding: 0 10px 10px 10px;
	}
	
	.label_required {
		margin: 10px 0 0 0;
	}

}

/* ------------------------------------------------------ */
@media only screen and (max-width : 768px) {
/* ------------------------------------------------------ */

input.leftBox,
input.rightBox {
	width: 100%;
	margin: 0 0 20px 0;
}

.mailContents ul li div,
.mailContents ul li span.title,
.mailContents ul li span.contents {
	width: 100%!important;
	text-align: center;
}

.mailContents ul li div,
.mailContents ul li span.title {
	display: block;
	width: 100%!important;
	background-color: #efefef;
}

}

/* ------------------------------------------------------ */
@media only screen and (max-width : 920px) {
/* ------------------------------------------------------ */
.mailContents {
	text-align: center;
	margin: 100px 25px;
}
}

/* ------------------------------------------------------ */
@media only screen and (max-width : 600px) {
/* ------------------------------------------------------ */
.mailContents ul li {
	display: block;
}

.fotm_txt_space01 {
	margin: 0 5px;
}

.fotm_txt_space03 {
	margin: 0;
}

.reservBox .inputBox {
	padding: 0 10px 10px 10px;
}

}