@charset "utf-8";
/*-------------------------------------------------------------------

	DEFAULT SETTING

-------------------------------------------------------------------*/
html {
	font-size: 62.5%;
}
body {
	color: #444;
	font-size: 14px;
	line-height: 1.8;
	font-family: sans-serif, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3";
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
img {
	width: auto;
	height: auto;
	max-width: 100%;
	vertical-align: top;
	transition: all 0.4s ease;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
}
a {
	color: #e60912;
}
.animate {
	transition: all 0.4s ease;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
}
p {
	margin-bottom: 1em;
}
/*-------------------------------------------------------------------

	MODULE

-------------------------------------------------------------------*/
/*text*/
.text-bold {
	font-weight: bold;
}
.text-center {
	text-align: center;
}
.text-right {
	text-align: right;
}
.text-small {
	font-size:.8em;
}
.text-large {
	font-size:1.2em;
}
.text-brown {
	color: #9f774b;
}
.text-red {
	color: #e60912;
}
.text-serif-jp {
	font-family: "ＭＳ Ｐ明朝", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ 明朝", "HG明朝E", serif;
}
.text-serif-jp-small {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
/*float*/
.clr {
	clear: both;
}
.hid {
	visibility: hidden;
}
.left {
	float: left;
}
.right {
	float: right;
}
.overflow-hide {
	overflow: hidden;
}
figure.left {
	float: left;
	margin: 0 1em .5em 0;
}
figure.right {
	float: right;
	margin: 0 0 .5em 1em;
}
figure.left0 {
	float: left;
	margin: 0 2em 0 0;
}
figure.right0 {
	float: right;
	margin: 0 0 0 2em;
}
figure.basic {
	margin: 0 auto 1.5em;
	text-align: center;
}
/*button*/
.button-detail a, .button-detail-mid a {
	display: inline-block;
	border: 1px solid #888;
	color: #444;
	line-height: 1;
	text-align: center;
	text-decoration: none;
	padding: .8em .8em .7em;
}
.button-detail-mid a {
	border: 2px solid #bb8d3f;
	font-size: 14px;
	padding: 1em 1em .9em;
}
.button-price {
	text-align: right;
	font-size: 13px;
}
.button-back {
	margin-bottom: 30px;
}
.button-back a {
	display: inline-block;
	border: 2px solid #bb8d3f;
	color: #9f774b;
	line-height: 1;
	text-align: center;
	font-weight: bold;
	text-decoration: none;
	padding: 1em 1em .9em;
	background: #fff6e7;
}
.button-detail a:hover, .button-detail-mid a:hover, .button-back a:hover {
	background: #fef7ab;
}
/*decoration*/
.animate {
	transition: all 0.4s ease;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
}
.radius-basic {
	-webkit-border-radius: 4px;
	border-radius: 4px;
}
.shadow-basic {
	box-shadow: 0px 0px 7px 0px rgba(0, 0, 0, 0.1);
}
/*list*/
ul.basic, ol.basic {
	padding-left: 2em;
	margin-bottom: 1em;
}
ul.basic li {
	list-style-type: disc;
	margin-bottom: 0.4em;
	line-height: 1.5;
}
ol.basic li {
	list-style-type: decimal;
	margin-bottom: 0.4em;
	line-height: 1.5;
}
/*layout*/
section.basic {
	margin-bottom: 8%;
	clear:both;
}
section.basic::after {
	content: "";
	display: block;
	clear: both;
}
.mb-05em {
	margin-bottom: .5em;
}
.mb-1em {
	margin-bottom: 1em;
}
.mb-2em {
	margin-bottom: 2em;
}
.mb-3em {
	margin-bottom: 3em;
}
.w90{width:90%;}.w80{width:80%;}.w70{width:70%;}.w60{width:60%;}.w50{width:50%;}.w40{width:40%;}
/*table*/
table.basic {
	width: 100%;
	margin-bottom: 1em;
}
table.basic th, table.basic td {
	border: 1px solid #ddd;
	padding: 1em;
	text-align: left;
	vertical-align: middle;
}
table.basic th {
	background: #efefef;
	font-size: 16px;
	line-height: 1.3;
}
table.basic .head th {
	font-weight: bold;
	text-align: center;
}
table.basic td {
	font-size: 14px;
	line-height: 1.5;
}
table.basic .price {
	font-size: 20px;
	line-height: 1.3;
	text-align: right;
}
table.basic .price span {
	font-size: 12px;
}
/*scroll*/
.scroll {
	overflow-y: scroll;
}
.scroll::-webkit-scrollbar {
 width:8px;
}
.scroll::-webkit-scrollbar-thumb {
 background:#4c608d;
 border-radius:4px;
}
.scroll::-webkit-scrollbar-track-piece:start {
 background:#cdd5da;
 border-radius:4px;
}
.scroll::-webkit-scrollbar-track-piece:end {
 background:#cdd5da;
 border-radius:4px;
}
/*clearfix*/
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}
/*-------------------------------------------------------------------

	LAYOUT COMMON

-------------------------------------------------------------------*/
/*-------------------------
	header
---------------------------*/
#header {
	width: 100%;
	padding: 10px 3.125% 0;
	box-sizing: border-box;
	background: #FFF;
	box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);
	position: relative;
	z-index: 100;
}
#header::after {
	content: "";
	display: block;
	clear: both;
}
#header p {
	margin: 0;
}
#header h1 {
	font-size: 8px;
	line-height: 1.3;
	text-align:center;
	margin-bottom: .5em;
}
#header .inner {
	padding-bottom:6px;
}
#header .inner::after {
	content:"";
	display:block;
	clear:both;
}
#header .logo {
	float: left;
	width: 76px;
}
#header .clinic {
	width: 145px;
	float: right;
	margin-right:21px;
	margin-top:7px;
}
#header .clinic ul::after {
	content:"";
	display:block;
	clear:both;
}
#header .clinic p {
	margin-bottom:5px;
	font-size:10px;
	line-height:1;
	text-align:center;
	background:url(/shared/img_sp/header_clinic_title.png) repeat-x 0 center;
	background-size:auto 1px;
}
#header .clinic p span {
	display:inline-block;
	background:#FFF;
	padding:0 10px;
}
#header .clinic ul li {
	float:left;
	width:70px;
	margin-right:5px;
}
#header .clinic ul li:last-child {
	margin-right:0;
}
#header .clinic ul li span {
	display:table;
	width:100%;
}
#header .clinic ul li span a {
	display:table-cell;
	width:100%;
	height:25px;
	background:#ffff00;
	border-radius:3px;
	color:#444;
	font-size:11px;
	line-height:1;
	text-decoration:none;
	text-align:center;
	vertical-align:middle;
}
#header .menu {
	width: 30px;
	float: right;
	margin-top:11px;
}
#header .header-nav {
	margin:0 -3.3333%;
}
#header .header-nav ul::after {
	content:"";
	display:block;
	clear:both;
}
#header .header-nav ul li {
	float:left;
	width:33.125%;
	margin-right:0.3125%;
	text-align:center;
}
#header .header-nav ul li img {
	display:inline-block;
	width:106px;
}
#header .header-nav ul li:last-child {
	margin-right:0;
}
#header .header-nav ul li.mail {
	background:#03a2c9;
}
#header .header-nav ul li.rsv {
	background:#339900;
}
#header .header-nav ul li.tel {
	background:#ff6600;
}
#header .header-message {
	font-size:11px;
	line-height:1.3;
	text-align:center;
	padding:6px 0;
}
#header-menu {
	position:relative;
	margin:0 -3.3333%;
}
#header-menu ul {
	position:absolute;
	width:100%;
	top:0;
	left:0;
	border-top:1px solid #DDD;
}
#header-menu li a {
	display:block;
	background:#efefef url(/shared/img_sp/arrow_blue.png) no-repeat 96% center;
	background-size:8px;
	padding:1em 2em 1em 1em;
	font-size:12px;
	line-height:1.2;
	color:#444;
	text-decoration:none;
	border-bottom:1px solid #DDD;
}
/*-------------------------
	contents
---------------------------*/
.contents {
	max-width:640px;
	margin:0 auto;
}
.contents-lower {
	max-width:640px;
	margin:0 auto;
	padding:0 4.6875%;
	box-sizing:border-box;
}
h2.basic {
	margin:0 -5.1724% 5.1724%;
	background:url(/shared/img_sp/back_dot_yellow.png) repeat 0 0;
	background-size:25px;
	font-size:19px;
	line-height:1.3;
	font-weight:bold;
	text-align:center;
	padding:1em 0 .8em;
}
h3.basic {
	margin-bottom:1em;
	background:url(/shared/img_sp/back_dot_yellow.png) repeat 0 0;
	background-size:25px;
	font-size:17px;
	line-height:1.3;
	font-weight:bold;
	text-align:center;
	padding:1em 0 .8em;
	border-top:2px solid #444;
}
.anchor {
	margin-bottom:1em;
}
.anchor ul::after {
	content:"";
	display:block;
	clear:both;
}
.anchor ul li {
	float:left;
	width:49.1379%;
}
.anchor ul li:last-child {
	float:right;
}
.anchor ul li a {
	display:block;
	border-radius:2px;
	background:#03a2c9;
	padding:1em;
	font-size:13px;
	line-height:1;
	text-align:center;
	color:#FFF;
	text-decoration:none;
}
/*-------------------------
	footer
---------------------------*/
#footer-menu {
	border-top:3px solid #03a2c9;
	max-width:640px;
	margin:auto;
}
#footer-menu h2 {
	background:#e5ebf0;
	font-size:16px;
	line-height:1.3;
	text-align:center;
	padding:1em;
}
#footer-menu nav ul li a {
	display:block;
	padding:1em 2em 1em 1em;
	background-color:#FFF;
	background-image:url(/shared/img_sp/arrow_blue.png);
	background-repeat:no-repeat;
	background-position:96% center;
	background-size:9px;
	font-size:15px;
	line-height:1.3;
	text-decoration:none;
	color:#444;
	border-bottom:1px solid #bfccd7;
}
#footer-menu nav ul li:nth-child(2n) a {
	background-color:#f2f5f7;
}
#footer {
	max-width:640px;
	box-sizing:border-box;
	margin:auto;
	background:#bfccd7;
	padding:3.125%;
}
#footer .inner {
	background:#FFF;
	padding:5%;
	border-radius:3px;
}
#footer h2 {
	padding:0 0 .8em;
	margin-bottom:.7em;
	font-size:16px;
	line-height:1.3;
	font-weight:bold;
	text-align:center;
	border-bottom:1px solid #bfccd7;
}
.clinic-name {
	text-align:center;
}
.clinic-name figure {
	width:40.7407%;
	margin:0 auto 5px;
}
.clinic-name p {
	font-size:16px;
	line-height:1.3;
	font-weight:bold;
	margin-bottom:6px;
}
.clinic-name span {
	display:block;
	font-size:11px;
	line-height:1.3;
	margin-bottom:1em;
}
.clinic-contact {
	margin-bottom:1em;
}
.clinic-contact ul:after {
	content:"";
	display:block;
	clear:both;
}
.clinic-contact li {
	width:32.9629%;
	float:left;
	margin-right:0.5555%;
}
.clinic-contact li:last-child {
	margin-right:0;
}
.clinic-info {
	font-size:13px;
	line-height:1.3;
	border-bottom:1px solid #bfccd7;
	padding-bottom:1em;
	margin-bottom:1.4em;
}
.clinic-info:last-child {
	border-bottom:none;
	padding-bottom:0;
	margin-bottom:0;
}
.clinic-info h3 {
	font-size:15px;
	line-height:1.3;
	font-weight:bold;
	text-align:center;
	margin-bottom:.6em;
}
.clinic-info h3 span {
	font-size:15px;
	font-weight:normal;
}
.clinic-info dl {
	margin-bottom:0.6em;
}
.clinic-info dl dt {
	clear:both;
	width:5em;
	float:left;
}
.clinic-info dl dd {
	padding-left:5em;
	padding-bottom:.3em;
}
.clinic-info .map {
	padding-bottom:1em;
}
.clinic-tel {
	border:2px solid #ff6600;
	border-radius:3px;
	background:#FFF;
	padding:1em;
	font-size:14px;
	line-height:1;
	text-align:center;
	color:#ff6600;
	margin-bottom:0;
}
.clinic-tel a {
	display:block;
	color:#ff6600;
	text-decoration:none;
}
.copyright {
	font-size:10px;
	line-height:1;
	padding:2em 0 5em;
	text-align:center;
}
.pagetop {
	position:fixed;
	width:44px;
	bottom:10px;
	right:10px;
}
/*-------------------------------------------------------------------

	LAYOUT INDIVIDUAL

-------------------------------------------------------------------*/
/*-------------------------
	top
---------------------------*/
#mv {
	text-align:center;
}
.treatment-nav {
	background-color:#03a2c9;
	padding:3.125%;
}
.treatment-nav ul:after {
	content:"";
	display:block;
	clear:both;
}
.treatment-nav ul li {
	width:49%;
	float:left;
}
.treatment-nav ul li:nth-child(2n) {
	float:right;
}
.treatment-nav ul li a {
	display:block;
	padding:12px 27px 12px 12px;
	background:#FFF url(/shared/img_sp/arrow_blue.png) no-repeat 94% center;
	background-size:13px;
	border-radius:2px;
	font-size:16px;
	line-height:1.4;
	color:#03a2c9;
	text-decoration:none;
}
.treatment-nav ul li a strong {
	font-weight:bold;
	font-size:18px;
}
.menu-nav {
	background-color:#d2dce4;
	padding:3.125%;
}
.menu-nav ul:after {
	content:"";
	display:block;
	clear:both;
}
.menu-nav ul li {
	float:left;
	width:32%;
	margin-right:2%;
}
.menu-nav ul li:last-child {
	margin-right:0;
}
.menu-nav ul li a {
	display:block;
	background:#FFF;
	border-radius:2px;
}
#top-osusume {
	padding:4.6875%;
	background:#ffffe3;
}
#top-osusume h2 {
	margin:0 -1.7241% .5em;
}
#top-osusume dl {
	margin:0 5.1724% 1em;
}
#top-osusume dl dt {
	font-size:18px;
	line-height:1.3;
	text-align:center;
	color:#ff6600;
	font-weight:bold;
}
#top-osusume dl dd {
	margin-bottom:.5em;
	font-size:15px;
}
#top-osusume .comment {
	padding:4.8275%;
	margin-bottom:1em;
	border:1px solid #ffff66;
	border-radius:3px;
	background:#FFF;
}
#top-osusume .comment .link a {
	text-decoration:none;
}
#top-osusume .comment p:last-child {
	margin-bottom:0;
}
#top-method {
	border-top:3px solid #03a2c9;
	padding:6% 4.6875% 4.6875%;
}
#top-method h2 {
	font-size:19px;
	line-height:1.3;
	text-align:center;
	font-weight:bold;
	color:#03a2c9;
	margin-bottom:.8em;
}
#top-method ul li {
	margin-bottom:6px;
}
#top-method ul li a {
	display:block;
	background:#03a2c9 url(/shared/img_sp/arrow_white.png) no-repeat 96% center;
	background-size:13px;
	border-radius:2px;
	padding:1.7241% 6.8965% 1.7241% 1.7241%;
	color:#FFF;
	font-size:19px;
	line-height:1.3;
	text-decoration:none;
}
#top-method ul li a::after {
	content:"";
	display:block;
	clear:both;
}
#top-method ul li a span {
	display:block;
	font-size:11px;
	margin-top:10px;
}
#top-method ul li a strong {
	display:block;
	font-weight:bold;
}
#top-method ul li a figure {
	width:80px;
	float:left;
	margin-right:1em;
}
/*-------------------------
	treatment
---------------------------*/

.slide-block {
	margin-bottom:2em;
}
.slide-block > h4 {
	background:#e9eef2;
	border:1px solid #bfccd7;
	border-radius:3px;
	margin-bottom:1em;
	padding:3.4482% 3% 3.4482%;
	font-size:18px;
	line-height:1.3;
	font-weight:bold;
}
.slide-block > h4::after {
	content:"";
	display:block;
	clear:both;
}
.slide-block > h4 .arrow {
	width:23px;
	float:right;
	background:#339900;
	border-radius:2px;
	font-size:6px;
	line-height:1;
}
.slide-block > h4 .arrow img {
	display:block;
}
.slide-block > h4.close .arrow img {
	moz-transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg);
}
.slide-block > .slide {
	padding:0 3.4482% 3.4482%;
}
.treatment-about {
	margin-bottom:1em;
}
.treatment-about:after {
	content:"";
	display:block;
	clear:both;
}
.treatment-about li {
	width:48.2%;
	float:left;
	border:1px solid #DDD;
	border-radius:4px;
	font-size:13px;
	line-height:1.3;
	text-align:center;
	margin-bottom:3%;
}
.treatment-about li > h5 {
	background:#efefef;
	padding:1em 0;
	font-size:14px;
}
.treatment-about li > p {
	padding:1em 0;
	margin:0;
}
.treatment-about li:nth-child(2n) {
	float:right;
}
.treatment-subtitle {
	font-size:16px;
	font-weight:bold;
	color:#03a2c9;
	margin-bottom:.5em;
}
table.treatment-flow {
	width:100%;
	border-top:1px solid #DDD;
	margin-bottom:1em;
}
table.treatment-flow th, table.treatment-flow td {
	border-bottom:1px solid #DDD;
	padding:.5em;
	vertical-align:top;
}
table.treatment-flow .arw {
	padding:.5em .5em 20px;
	background:url(/shared/img_sp/arw.png) no-repeat center 92%;
	background-size:25px;
}
table.treatment-flow .yellow {
	font-size:12px;
	text-align:center;
	vertical-align:middle;
	line-height:1.3;
}
table.treatment-flow .yellow-1 {
	background:#ffff99;
}
table.treatment-flow .yellow-2 {
	background:#ffff66;
}
table.treatment-flow .yellow-3 {
	background:#ffff00;
}
.treatment-check {
	margin-bottom:1em;
	padding:0 1em;
}
.treatment-check li {
	padding:0 0 .5em 30px;
	background:url(/shared/img_sp/check.png) no-repeat 0 0;
	background-size:20px;
}
/*-------------------------
	clinic
---------------------------*/
.doctor-block {
	margin-bottom:2em;
	padding-bottom:1em;
	border-bottom:1px solid #999;
}
.doctor-block:last-child {
	margin-bottom:0;
	padding-bottom:0;
	border-bottom:none;
}
.doctor-profile {
	margin-bottom:.8em;
	font-size:12px;
}
.doctor-profile::after {
	content:"";
	display:block;
	clear:both;
}
.doctor-profile .photo {
	width:34.4827%;
	float:left;
	margin:0 4% 2% 0;
}
.doctor-profile .name {
	font-size:15px;
}
.doctor-profile dt {
	font-weight:bold;
}
.doctor-carrier {
	font-size:12px;
	line-height:1.3;
}
.doctor-carrier p {
	font-weight:bold;
	margin-bottom:.3em;
}
.doctor-carrier dl::after {
	content:"";
	display:block;
	clear:both;
}
.doctor-carrier dt {
	clear:both;
	width:6em;
	float:left;
}
.doctor-carrier dd {
	padding:0 0 .5em 6em;
}
.clinic-block .clinic {
	text-align:center;
}
.clinic-block .clinic figure {
	width:58.4482%;
	margin:0 auto 1em;
}
.clinic-block .clinic dl {
	font-size:12px;
	line-height:1.4;
	text-align:left;
	margin-bottom:1em;
}
.clinic-block .clinic dl::after {
	content:"";
	display:block;
	clear:both;
}
.clinic-block .clinic dl dt {
	clear:both;
	width:5em;
	float:left;
}
.clinic-block .clinic dl dd {
	padding:0 0 .2em 5em;
}
.map-block {
	margin-bottom:2em;
}
.map-block > h4 {
	background:#e9eef2;
	border:1px solid #bfccd7;
	border-radius:3px;
	margin-bottom:1em;
	padding:3.4482% 3% 3.4482%;
	font-size:18px;
	line-height:1.3;
	font-weight:bold;
}
.map-block > h4::after {
	content:"";
	display:block;
	clear:both;
}
.map-block > h4 .arrow {
	width:23px;
	float:right;
	background:#339900;
	border-radius:2px;
	font-size:6px;
	line-height:1;
}
.map-block > h4 .arrow img {
	display:block;
}
.map-block > h4.close .arrow img {
	moz-transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg);
}
.map-block > .clinic-info {
	padding:0 3.4482% 3.4482%;
}
.map-block > .clinic-info .name {
	font-size:14px;
	font-weight:bold;
}
.map-block > .clinic-info .name span {
	font-weight:normal;
}

/*-------------------------
	price
---------------------------*/
.price-cau-title {
	text-align:center;
	margin-bottom:1em;
}
.price-cau-title span {
	display:inline-block;
	padding:0 0 .5em;
	color:#e60912;
	line-height:1.3;
	font-weight:bold;
	border-bottom:5px solid #ffff00;
}
section.price-block {
	line-height:1.3;
	margin-bottom:12%;
}
.price-block h3 {
	font-size:15px;
	line-height:1.3;
	font-weight:bold;
	margin-bottom:.5em;
}
.price-block h3 span {
	float:right;
	font-size:11px;
	color:#e60912;
	font-weight:normal;
}
.price-block h3::after {
	content:"";
	display:block;
	clear:both;
}
table.price {
	width:100%;
	margin-bottom:.5em;
	border:1px solid #dce3e9;
}
table.price th, table.price td {
	border:1px solid #dce3e9;
	padding:.6em;
	font-size:13px;
	line-height:1.4;
	text-align:left;
	text-align:center;
	vertical-align:middle;
	background:#FFF;
}
table.price th {
	background:#e9eef2;
}
table.price td span {
	font-size:11px;
}
table.price td span.em {
	font-size:16px;
	color:#e60912;
	font-weight:bold;
}
table.pric .head th {
	font-size:14px;
	font-weight:bold;
	color:#FFF;
	text-align:center;
	background:#333;
}
/*-------------------------------------------------------------------

	FORM

-------------------------------------------------------------------*/
/*reset*/
#form input[type="submit"], #form input[type="button"] {
	border-radius: 0;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	appearance: button;
	border: none;
	box-sizing: border-box;
	cursor: pointer;
}
#form input[type="submit"]::-webkit-search-decoration, #form input[type="button"]::-webkit-search-decoration {
 display: none;
}
#form input[type="submit"]::focus, #form input[type="button"]::focus {
 outline-offset: -2px;
}
/*setting*/
#form .flow {
	margin-bottom: 6%;
}
#form .flow li {
	float: left;
	width: 31.0344%;
	margin-right: 3.4482%;
	padding:.5em;
	box-sizing:border-box;
	border-radius:4px;
	background:#999 url(/shared/img_sp/flow_back.png) no-repeat right center;
	background-size:30px;
	color:#FFF;
	font-weight:bold;
	text-align: center;
}
#form .flow li.current {
	background-color:#ff6600;
}
#form .flow li:last-child {
	margin-right: 0;
	background-image:none;
}
#form table {
	border-top: 1px solid #CCC;
	margin-bottom: 5%;
	display: block;
	width: 100%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
#form table tr:nth-child(2n-1) th, #form table tr:nth-child(2n-1) td {
	background: #fefce3;
}
#form table tbody, #form table tr {
	width: 100%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	display: block;
}
#form table th, #form table td {
	text-align: left;
	vertical-align: middle;
	display: block;
}
#form table th {
	padding: 6% 3% 2%;
	font-size: 16px;
	line-height: 1.5;
	font-weight: bold;
}
#form table td {
	padding: 0 3% 5%;
	font-size: 15px;
	line-height: 1.5;
	border-bottom: 1px solid #CCC;
}
#form table th span {
	font-size: 12px;
	font-weight: normal;
}
#form table .must {
	color: #e60912;
	font-weight: normal;
}
#form table td span {
	font-size: 12px;
}
#form .cap {
	margin: 5px 0 0;
	font-size: 12px;
	line-height: 1.5;
}
#form table td.hope > div {
	margin-bottom: 4%;
	padding-bottom: 4%;
	border-bottom: 1px solid #BBB;
}
#form table td.hope > div:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}
#form .spot::after {
	content: "";
	display: block;
	clear: both;
}
#form .spot li {
	width: 50%;
	margin-bottom: 1%;
	float: left;
}
#form table input[type="text"], #form table input[type="number"], #form table input[type="email"], #form table input[type="tel"], #form table textarea {
	padding: 6px;
	font-size: 16px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
#form table input[name="age"] {
	width: 5em;
}
#form table input[type="radio"], #form table input[type="checkbox"] {
	margin: 6px 6px 14px;
	-webkit-transform: scale(1.5);
	-moz-transform: scale(1.5);
	transform: scale(1.5);
	-webkit-transform-origin: 50%;
	-moz-transform-origin: 50%;
	transform-origin: 50%;
}
#form table select {
	padding: 6px;
	font-size: 15px;
}
#form table .wide {
	width: 100%;
}
#form table .half {
	width: 50%;
}
#form table .telnum {
	width: 60%;
}
#form td p:last-child {
	padding-bottom: 0;
}
#form input.button {
	display: block;
	border-radius: 8px;
	padding: 1em 0 .8em;
	font-size: 20px;
	line-height: 1;
	font-weight: bold;
	width: 100%;
	margin: 0 auto 4%;
}
#form input.button-send {
	background: #e60912;
	color: #FFF;
	border: 2px solid #f08f90;
	text-shadow: 0px 2px 0px rgba(0, 0, 0, 0.2);
}
#form input.button-mod {
	background: #DDD;
	color: #333;
	border: 2px solid #efefef;
	text-shadow: 0px 2px 0px rgba(255, 255, 255, 0.8);
}
.errmess {
	color: #e60912;
	font-weight:bold;
	font-size:16px;
	line-height:1.3;
	margin-bottom: 6%;
}
.errmess p {
	margin-bottom: 3%;
	padding-bottom: 3%;
	border-bottom: 1px solid #DDD;
}
