@charset "utf-8";

/* utility */
.tac {
	text-align: center;
}

/* layout */
.att {
	margin: 1em;
	border: 1px solid #7e583e;
	padding: 1em;
	text-align: left;
}
div#sfm-container {
	padding: 0;
}
.ttl {
    background: #eb6d73;
    color: #fff;
    line-height: 50px;
    text-align: left;
}
.fl {
    display: inline-block;
}


div#sfm-layout {
	margin: 40px auto 0;
	padding-left: 0;
    padding-right: 0;
}
div#sfm-layout p {
	font-weight: normal;
	margin: 0px;
	margin: 40px 10px;
}
div#sfm-layout h3 {
	font-size: 12px;
	text-align: center;
	margin: 5px 0px;
}
div#sfm-layout table {
    margin: 3em auto;
    width: 100%;
}
div#sfm-layout th,
div#sfm-layout td {
	border-bottom: 5px solid #fff;
	line-height: inherit;
	text-align: left;
	padding: 20px;
}
div#sfm-layout th {
	font-weight: normal;
	white-space: nowrap;
	background: #f2ede8;
	width: 30%;
}
div#sfm-layout td {
	border-bottom: 5px solid #f2ede8;
}

#date dl + dl {
    border-top: 1px solid #f2ede8;
    margin-top: 1em;
    padding-top: 10px;
}
#date input,
#date span {
    vertical-align: middle;
}
#date em {
	background: none;
	color: #eb6d73;
	font-size: 86%;
}

div#sfm-layout .submit {
	margin-bottom: 2em;
	border-left: none;
	background: #fff;
	width: auto;
	text-align: center;
}
div#sfm-layout a:link,
div#sfm-layout a:visited {
	color: #00d;
	text-decoration: none;
}
div#sfm-layout a:hover {
	color: #f22;
	text-decoration: underline;
}

/* form */
div#sfm-layout form {
	margin: 0px;
}
div#sfm-layout input,
div#sfm-layout select,
div#sfm-layout textarea {
	border: 1px inset;
    padding: 7px;
    font-size: 20px;
}
div#sfm-layout select {
	
}
div#sfm-layout textarea {
    width: 100%;
    height: 200px;
    box-sizing: border-box;
}
div#sfm-layout label {
	display: block;
	cursor: pointer;
}
input[type="checkbox"],
input[type="radio"] {
    margin-right: .5em;
}


div#sfm-layout .submit input,
div#sfm-layout .submit a {
	width: 180px;
    border: none;
    border-radius: 0;
    background-color: #eb6d73;
    padding: 10px;
    color: #fff;
    font-size: 120%;
    margin: auto 10px;
}
div#sfm-layout .type-red {
	color: red;
}
div#sfm-layout .border-red {
	border-left-color: red;
}
div#sfm-layout .ERR {
	color: #cb0000;
}
.attend {
	font-size: 86%;
}

/* フォームテーブル カスタマイズ */
.required th:after,
.free th:after {
    position: relative;
    top: 0px;
    left: 1em;
    display: inline-block;
    padding: 0 .5em;
    font-size: 77%;
    color: #fff;
}
.required th:after {
	content: "必須";
	background: #eb6d73;
}
.required#date th:after {
	content: "ご予約の方は必須";
	background: none;
	color: #eb6d73;
}

/* フォーム整形 */
#name,
#kana,
#addr0,
#addr1,
#email,
#emailcheck,
#subject {
	width: 350px;
}
#address0 {
	margin-bottom: 3px;
}
#zip0 {
	width: 30px;
}
#zip1 {
	width: 40px;
}
input[maxlength="4"] {
    width: 4em;
}
#message {
	width: 350px;
	height: 100px;
}
div#sfm-layout .business label {
	display: inline-block;
	margin-right: 20px;
}
div#sfm-layout .business #businessDtl {
	margin-left: -20px;
}

/* 著作権表記 */
div#copyright {
	font-size: 10px;
	text-align: right;
	margin-top: 2px;
}
div#copyright a:link,
div#copyright a:visited {
	color: #999;
	text-decoration: none;
}
div#copyright a:hover {
	text-decoration: underline;
}

/*完了画面*/
.confirm div#sfm-layout .submit a {
	width: 10em;
}




/* =============================================================================
   Responsive Structure
   ========================================================================== */
@media screen and (max-width: 640px) {
	body {
	    font-size: initial;
	}
	.inner {
	    /* width: 100%; */
	}
	.ttl {
	    line-height: 1.4;
	    padding: 2%;
	}

	div#sfm-layout table,
	div#sfm-layout tbody,
	div#sfm-layout tr,
	div#sfm-layout th,
	div#sfm-layout td {
	    display: block;
	    margin-bottom: 1em;
	    -webkit-box-sizing: border-box;
	       -moz-box-sizing: border-box;
	            box-sizing: border-box;
	    width: auto;
	    border: none;
	}
	div#sfm-layout th {
	    margin-bottom: 0;
	}
		
	div#sfm-layout input,
	div#sfm-layout select,
	div#sfm-layout textarea {
	    padding: .5em;
	    max-width: calc( 100% - 1em );
	    font-size: 16px;
	}

	/* iOSでのデフォルトスタイルをリセット */
	input[type="submit"],
	input[type="button"],
	input[type="reset"] {
	  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,
	input[type="reset"]::-webkit-search-decoration {
	  display: none;
	}
	input[type="submit"]::focus,
	input[type="button"]::focus,
	input[type="reset"]::focus {
	  outline-offset: -2px;
	}

	div#sfm-layout .submit input,
	div#sfm-layout .submit a {
	    width: 44%;
	    padding: 10px 0;
	    margin: auto;
	}
	div#sfm-layout .submit a {
	    min-width: 44%;
	    padding: 10px;
	}
	div#sfm-layout .submit input + input {
	    margin-left: 10px;
	}

	#footer {
	    padding: 1em 0;
	}


}