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

	Init

-------------------------------------------------------------------*/
html {
	font-size: 62.5%;
}
body {
	color: #333;
	font-size: 14px;
	line-height: 1.7;
	font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", "Meiryo", sans-serif;
	font-weight: normal;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
h1, h2, h3, h4, h5, h6, p, ul, ol, dl, dt, dd, figure {
	margin: 0;
	padding: 0
}
ul li {
	list-style: none;
	margin: 0;
	padding: 0;
}
h1, h2, h3, h4, h5, h6 {
	line-height: 1.3;
	font-size: 1em;
}
address {
	font-style: inherit
}
a {
	color: #01a5e4;
	text-decoration: underline;
}
a:hover {
	text-decoration: none;
}
p {
	margin-bottom: 1em;
}
.clearfix::after {
	content: "";
	display: block;
	clear: both;
}
img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}
table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
}
hr {
	border: none;
	height: 1px;
	background: #1c1c1c;
	margin-bottom: 1em;
}

/*-------------------------------------------------------------------

	Utility

-------------------------------------------------------------------*/
.u-sp-item {
	display: block !important;
}
.u-sp-item-inline {
	display: inline !important;
}
.u-pc-item, .u-pc-item-inline {
	display: none !important;
}
.u-marker {
	background: #FFFF73;
	font-style: normal;
}
.u-clr {
	clear: both;
}
.u-mb-0em {
	margin-bottom: 0;
}
.u-mb-05em {
	margin-bottom: .5em;
}
.u-mb-1em {
	margin-bottom: 1em;
}
.u-mb-1-5em {
	margin-bottom: 1.5em;
}
.u-mb-2em {
	margin-bottom: 2em;
}
.u-mb-3em {
	margin-bottom: 3em;
}
.u-text-center {
	text-align: center;
}
.u-text-left {
	text-align: left;
}
.u-text-right {
	text-align: right;
}
.u-text-bold {
	font-weight: bold;
}
.u-text-red {
	color: #e4080d;
}
.u-text-blue {
	color: #254a78;
}
.u-text-small {
	font-size: .93em;
}
.u-text-x-small {
	font-size: .86em;
}
.u-text-xx-small {
	font-size: .79em;
}
.u-text-large {
	font-size: 1.07em;
}
.u-text-x-large {
	font-size: 1.14em;
}
.u-text-xx-large {
	font-size: 1.29em;
}
.u-text-serif {
	font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.u-replace {
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}
.u-item-left {
	float: left;
}
.u-item-right {
	float: right;
}
.u-item-left.is-margin {
	margin: 0 1.5em 1em 0;
}
.u-item-right.is-margin {
	margin: 0 0 1em 1.5em;
}
.u-item-auto {
	margin-left: auto;
	margin-right: auto;
}
.u-figcaption-basic {
	text-align: center;
	padding-top: .5em;
}
.u-ul-basic, .u-ol-basic {
	padding-left: 1.5em;
	line-height: 1.3;
}
.u-ul-basic li {
	list-style-type: disc;
	padding: 0 0 .5em 0;
}
.u-ol-basic li {
	list-style-type: decimal;
	padding: 0 0 .5em 0;
}
.u-ul-basic > :last-child, .u-ol-basic > :last-child {
	padding: 0;
}
.u-check-list li {
	margin: 0 0 .7em 0;
	padding: 0 0 0 2em;
	line-height: 1.3;
}
.u-check-list li:last-child {
	margin: 0;
}
.u-check-list li::before {
	content: "\f00c";
	display: inline-block;
	margin-left: -2em;
	width: 2em;
	font-family: fontAwesome;
	text-align: center;
}
.u-ul-caution li {
	margin: 0 0 .5em 0;
	padding: 0 0 0 1.5em;
	line-height: 1.3;
}
.u-ul-caution li:last-child {
	margin: 0;
}
.u-ul-caution li::before {
	content: "※";
	display: inline-block;
	margin-left: -1.5em;
	width: 1.5em;
}
.u-dl-basic dt {
	padding-left: .8em;
	margin-bottom: .5em;
	line-height: 1.3;
	font-weight: 600;
	color: #254a78;
	border-left: 4px solid #254a78;
	border-radius: 2px 0 0 2px;
}
.u-dl-basic dd {
	font-size: .88em;
	margin-bottom: 1.5em;
}
.u-dl-basic dl > dd > :last-child {
	margin-bottom: 0;
}
.u-dl-basic dl > dd:last-child {
	margin-bottom: 0;
}
/*table*/
.u-table-basic {
	width: 100%;
	border: 1px solid #DDD;
	background: #FFF;
}
.u-table-basic th, .u-table-basic td {
	border: 1px solid #DDD;
	padding: 1em .5em;
}
.u-table-basic th {
	border: 1px solid #DDD;
	padding: 1em .5em;
	font-weight: 600;
	text-align: center;
	vertical-align: middle;
	background: #f7f7f7;
	line-height: 1.3;
}
.u-table-basic td {
	text-align: left;
	vertical-align: top;
	line-height: 1.4;
	font-weight: 500;
}
.u-table-basic td.yen {
	text-align: right;
}
.u-table-basic td.unit {
	text-align: center;
}
.u-table-basic .emp {
	background-color: #ffeeee;
}
.u-table-basic.price td {
	vertical-align: middle;
}
/*button*/
.u-button-detail {
	font-size: 14px;
	line-height: 1.2;
	font-weight: 500;
}
.u-button-detail a {
	display: inline-block;
	text-decoration: none;
	background: #ffcc00;
  color:#333;
	padding: 1em;
}
.u-button-detail a::after {
	content: "\f0da";
	display: inline-block;
	font-family: FontAwesome;
	margin-left: .5em;
}
.u-button-detail.is-back a::after {
	content: "\f0e2";
}
.u-button-detail.is-center {
	text-align: center;
}
.u-button-detail.is-right {
	text-align: right;
}
.u-button-detail.is-middle a {
	font-size: 1.16em;
}
.u-button-detail.is-large a {
	font-size: 1.33em;
}
/*flex*/
.u-flex-basic {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
	-ms-justify-content: space-between;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.u-flex-align-center {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
}
/*column*/
.u-column-basic::after {
	content: "";
	display: block;
	clear: both;
}
.u-column-basic > li {
	float: left;
	line-height: 1.5;
	font-weight: 500;
}
.u-column-basic.is-2col > li {
	width: 48.0519%;
	margin-right: 3.8961%;
	margin-bottom: 1em;
}
.u-column-basic.is-2col > li:nth-child(2n) {
	margin-right: 0;
}
.u-column-basic.is-arrow > li figure {
	position: relative;
}
.u-column-basic.is-arrow > li:first-child figure::after {
	content: "";
	position: absolute;
	width: 5px;
	height: 20px;
	top: 50%;
	right: -5.9459%;
	background: url(/img/ico_arrow_bf.svg) no-repeat center center;
	background-size: cover;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.u-column-basic.is-3col > li {
	width: 31.4285%;
	margin-right: 2.8571%;
	margin-bottom: 1em;
}
.u-column-basic.is-3col > li:nth-child(3n) {
	margin-right: 0;
}
.u-column-basic.is-1-2col > li {
	width: 31.4285%;
	margin-right: 2.8571%;
	margin-bottom: 1em;
}
.u-column-basic.is-1-2col > li:nth-child(2n) {
	width: 65.7142%;
	margin-right: 0;
}
/*animate*/
.a-animate {
	transition: all 0.4s ease;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
}

/*-------------------------------------------------------------------
	SP
-------------------------------------------------------------------*/
.u-spitem-w-30 {
	width: 30%;
}
.u-spitem-w-40 {
	width: 40%;
}
.u-spitem-w-45 {
	width: 45%;
}
.u-spitem-w-50 {
	width: 50%;
}
.u-spitem-w-60 {
	width: 60%;
}
.u-spitem-w-70 {
	width: 70%;
}
.u-spitem-w-80 {
	width: 80%;
}
.u-spitem-w-90 {
	width: 90%;
}
.u-spitem-w-100 {
	width: 100%;
}
.u-spitem-center {
	float: none !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/*-------------------------------------------------------------------

	common

-------------------------------------------------------------------*/
#wrapper {
	max-width: 640px;
	margin: 0 auto;
	position: relative;
}
.my-animated {
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	z-index: 100;
	box-sizing: border-box;
}
.section-basic {
  padding:10.6666% 4%;
}
.section-basic > :last-child {
  margin-bottom:0;
}
/*title*/
.sub-title {
	text-align: center;
	margin-bottom: 1.8em;
}
.sub-title > i {
	display: block;
	font-family: "Times New Roman", Times, "serif";
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 2px;
	margin-bottom: .2em;
}
.sub-title > span {
	font-size: 23px;
	font-weight: 600;
}
.sub-title > span.small {
	font-size: 10px;
	font-weight: 400;
}
sub {
  font-size:.7em !important;
}
hr.square {
  width:12px;
  height:12px;
  margin:0 auto 1.5em;
  background-color:#CCC;
}
hr.line {
  width:100%;
  height:2px;
  margin:0 auto 2.5em;
  background-color:#FFF;
}

/*-------------------------------------------------------------------

	Header

-------------------------------------------------------------------*/
#header {
	position: relative;
  width:100%;
  padding: 7px 2.6666% 0px;
	z-index: 50;
  min-height:56px;
	background: #FFF;
	box-sizing: border-box;
	box-shadow: 0 0 6px 0 rgba(0,0,0,.1);
}
#header p {
	margin-bottom: 0;
}
.header_logo {
	width: 204px;
}
.menu-button_outer {
  position: fixed;
  width:100%;
	left: 0;
	top: 0;
  z-index: 100;
}
.menu-button_inner {
  max-width:640px;
	margin:0 auto;
}
#menu-button {
	width: 54px;
  margin:0 0 0 auto;
}

/*-------------------------------------------------------------------

	mv

-------------------------------------------------------------------*/
#mv {
	background: #FFF url(/img/mv.jpg) no-repeat center top;
	background-size: 100%;
  padding-top:106.6666%;
  position:relative;
}
#mv > h1 {
	position:absolute;
  top:0;
  left:0;
  display: none;
}
/*-------------------------------------------------------------------

	worry

-------------------------------------------------------------------*/
#worry {
  padding:10.6666% 5.3333% 9.3333%;
  background:url(/img/dot_back_gray.png) repeat 0 0;
  background-size:26px;
}
.worry_title {
  text-align: center;
  font-size:16px;
  margin-bottom:1.5em;
}
.worry_title > span {
  display:inline-block;
  padding:.8em 1.5em;
  background: url(/img/ribbon_gray_back.png) no-repeat center center;
  background-size:100% 100%;
}
.worry_list > figure {
  width:46.2686%;
  margin-bottom:1.5em;
  text-align: center;
}
.worry_list > figure > img {
  width:80%;
}
.worry_list > figure > figcaption {
  padding-top:1em;
  line-height: 1.3;
  font-weight:600;
}
.worry_arrow {
  width:86px;
  margin:0 auto;
}
/*-------------------------------------------------------------------

	about treatment

-------------------------------------------------------------------*/
.about-treatment_list > section {
  margin-bottom:1em;
}
.about-treatment_list > section > h3 {
  margin-bottom:1em;
  color:#03a2c9;
  font-size:17px;
  text-align: center;
}
.about-treatment_list > section > figure {
  width:30.4347%;
  float:left;
}
.about-treatment_list > section > dl {
  width:65.2173%;
  float:right;
  font-size:3.7333vw;
  line-height: 1.4;
}
.about-treatment_list > section > dl dt {
	clear: left;
  float: left;
  width: 8em;
  font-weight:600;
}
.about-treatment_list > section > dl dd {
	padding:0 0 1em 8em;
}
.about-treatment_list > section > table {
	width:66.6666%;
  float:right;
  font-size:13px;
  line-height: 1.4;
  border:1px solid #DDD;
}
.about-treatment_list > section > table th,
.about-treatment_list > section > table td{
  border:1px solid #DDD;
  padding:.6em .4em;
  vertical-align: middle;
}
.about-treatment_list > section > table th{
 background:#fff6f2;
  text-align: center;
}
.about-treatment_list > section > table .link{
  text-align: right;
}
.about-treatment_list > section > table .link a{
  color:#03a2c9;
  font-weight:600px;
  text-decoration: none;
}
@media (min-width: 375px) {
.about-treatment_list > section > dl {
  font-size:14px;
}
}
/*-------------------------------------------------------------------

	about-machine-treatment

-------------------------------------------------------------------*/
#about-machine-treatment {
  background-color:#dbf8ff;
}
.about-machine-treatment_list {
  margin-bottom:1.5em;
}
.about-machine-treatment_list-title {
  color:#03a2c9;
  text-align: center;
  margin-bottom:1.5em;
}
.about-machine-treatment_list-title > i {
  display: block;
	font-family: "Times New Roman", Times, "serif";
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 2px;
	margin-bottom: .2em;
}
.about-machine-treatment_list-title > span {
	font-size: 18px;
	font-weight: 600;
  background-image: -moz-linear-gradient( 90deg, rgb(255,255,204) 0%, rgb(255,255,204) 30%, rgb(219,248,255) 30%);
  background-image: -webkit-linear-gradient( 90deg, rgb(255,255,204) 0%, rgb(255,255,204) 30%, rgb(219,248,255) 30%);
  background-image: -ms-linear-gradient( 90deg, rgb(255,255,204) 0%, rgb(255,255,204) 30%, rgb(219,248,255) 30%);
}
.about-machine-treatment_data {
  border:2px solid #b1f0ff;
  background-color:#FFF;
  margin-bottom:1em;
}
.about-machine-treatment_data h4 {
  font-size:17px;
  text-align: center;
  padding:1em;
}
.about-machine-treatment_data table {
  width:100%;
  line-height: 1.5;
}
.about-machine-treatment_data table th {
  width:36%;
  padding:.5em 0;
  text-align: center;
  vertical-align: middle;
  font-size:12px;
}
.about-machine-treatment_data table th figure {
  width:44px;
 margin:0 auto .2em;
}
.about-machine-treatment_data table td {
  width:64%;
  padding:.5em 1em .5em 0;
  text-align: left;
  vertical-align: middle;
  font-size:15px;
}
.about-machine-treatment_data table tr:nth-child(2n-1) th,
.about-machine-treatment_data table tr:nth-child(2n-1) td{
  background-color:#f7f7f7;
}
/*-------------------------------------------------------------------

	price

-------------------------------------------------------------------*/
.price_data {
	margin-bottom: 2.5em;
}
.price_data h3 {
	font-size:17px;
  text-align: center;
  color:#03a2c9;
  margin-bottom:.6em;
}
.price_data table {
  width:100%;
  border:1px solid #DDD;
}
.price_data th, .price_data td {
	line-height: 1.3;
	vertical-align: middle;
  padding:.6em .4em;
  border:1px solid #DDD;
}
.price_data th {
	text-align: center;
  font-weight: 400;
  background-color:#fff6f2;
}
.price_data td {
	text-align: center;
}
/*-------------------------------------------------------------------

	reason

-------------------------------------------------------------------*/
#reason {
  background-color:#03a2c9;
  color:#ffffcc;
}
#reason .u-check-list li {
  line-height: 1.6;
}
/*-------------------------------------------------------------------

	flow

-------------------------------------------------------------------*/
#flow {
  background:#ddf8ff url(/img/dot_back_blue.png) repeat 0 0;
  background-size: 32px;
}
.flow_list {
  padding-top:1em;
}
.flow_list > :last-child {
  margin-bottom:0;
}
.flow_list > section {
  margin-bottom:1em;
  padding:0 1.4em 1.4em;
  background-color:#FFF;
  border-radius: 5px;
  box-shadow:2px 2px 0 0 rgba(0,0,0,.05);
}
.flow_list > section i {
  display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-align-items: center;
	-ms-align-items: center;
	align-items: center;
	-webkit-justify-content:center;
	-ms-justify-content:center;
	justify-content:center;
  width:38px;
  height:38px;
  margin:0 auto 0;
  border-radius: 19px;
  background-color:#ffff66;
  font-family: "Times New Roman", Times, "serif";
  font-style: italic;
  font-weight:bold;
  font-size:25px;
  line-height: 1;
  position: relative;
  -webkit-transform: translateY(-9px);
  transform: translateY(-9px);
}
.flow_list > section h3 {
  margin-bottom:.5em;
  font-size:16px;
  text-align: center;
}
.flow_list > section > :last-child {
  margin-bottom:0;
}
.flow_arrow {
  display:block;
  margin:0 auto 2em;
  width:72px;
  height:20px;
  background:url(/img/flow_arrow.png) no-repeat center center;
  background-size:100% 100%;
}
/*-------------------------------------------------------------------

	doctor

-------------------------------------------------------------------*/
#doctor {
	background: #f7f7f7;
}
.doctor_list {
	margin-bottom: 1.5em;
}
.doctor_list figure {
	width: 31.884%;
	float: left;
	margin-right: 4.3478%;
}
.doctor_data {
	overflow: hidden;
	font-size: 10px;
	line-height: 1.5;
	font-weight: 500;
}
.doctor_name {
	font-size: 15px;
	line-height: 1.3;
	font-weight: 600;
	margin-bottom: .5em;
}
.doctor_list dt {
	clear: left;
	float: left;
	width: 5em;
}
.doctor_list dd {
	padding: 0 0 0 5em;
	margin-bottom: .5em;
}
.doctor_hr {
	width: 40px;
	height: 2px;
	background: #dddddd;
	margin: 0 auto 1.5em;
}
/*-------------------------------------------------------------------

	staff

-------------------------------------------------------------------*/
#staff {
	background: #fff;
}
.staff_list {
	width:82.6086%;
	margin:0 auto;
}
.staff_list > figure {
	float:left;
	width:28.0701%;
	margin:0 7.8947% 1em 0;
	text-align: center;
}
.staff_list > figure:nth-child(3n) {
	margin-right:0;
}
.staff_list > figure > figcaption {
	display:block;
	font-size:12px;
	line-height: 1.2;
	padding-top:.5em;
}
/*-------------------------------------------------------------------

	clinic

-------------------------------------------------------------------*/
#clinic {
	background: #f7f7f7;
}
.clinic_logo {
	width: 138px;
	margin: 0 auto 1.5em;
}
.clinic_list {
	width: 82.6086%;
	margin: 0 auto 1em;
	font-size: 12px;
}
.clinic_list dt {
	clear: left;
	float: left;
	width: 5em;
	font-weight: 600;
}
.clinic_list dd {
	padding: 0 0 0 5em;
	margin-bottom: .5em;
}
.clinic_map {
	width: 82.6086%;
	margin: 0 auto;
}
.clinic_map > section {
	width: 100%;
	border-top: 2px solid #DDD;
	padding: 5% 0 9%;
}
.clinic_map > :last-child {
	padding-bottom: 0;
}
.clinic_map-name {
	line-height: 1.4;
	font-weight: 600;
	margin-bottom: .5em;
}
.clinic_map-list {
	font-size: 13px;
}
.clinic_map-list dt {
	clear: left;
	float: left;
	width: 4em;
}
.clinic_map-list dd {
	padding: 0 0 0 4em;
	margin-bottom: .5em;
}
.clinic_map-google {
	position:relative;
	width:100%;
	padding-top:100%;
}
.clinic_map-google > iframe {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}
/*-------------------------------------------------------------------

	faq

-------------------------------------------------------------------*/
#faq {
	background: #ffffe5;
}
.faq_list {
	line-height: 1.5;
}
.faq_list dd:last-child {
	margin-bottom:0;
}
.faq_list dt, .faq_list dd {
	padding-left: 2em;
}
.faq_list dt {
	font-weight: 600;
	margin-bottom: .5em;
}
.faq_list dt::before, .faq_list dd::before {
	display: block;
	width: 2em;
	float: left;
	margin: 0 0 0 -2em;
	font-weight: bold;
	text-align: center;
}
.faq_list dt::before {
	content: "Q";
	color: #03a2c9;
}
.faq_list dd::before {
	content: "A";
	color: #e60912;
}
.faq_list dt::after, .faq_list dd::after {
	content: "";
	display: block;
	clear: both;
}
.faq_list dd {
	margin-bottom: 1.5em;
}
.faq_list.is-line dd {
	padding-bottom: 1em;
	border-bottom: 1px solid #cae3f1;
}
.faq_list > :last-child {
	margin-bottom: 0;
}
.faq_list.is-line dd:last-child {
	border: none;
	padding-bottom: 0;
}
/*-------------------------------------------------------------------

	footer

-------------------------------------------------------------------*/
#footer {
	text-align: center;
	font-size: 9px;
	padding: 0 0 30px;
}
#footer.is-home {
	padding: 0 0 80px;
}
#footer.is-form {
	padding: 7% 0;
}
.footer-fixed-button {
	position: fixed;
	width: 100%;
	bottom: 0;
	left: 0;
	z-index: 1500;
}
.footer-fixed-button a {
	display: block;
}
.footer-fixed-button li {
	float: left;
	width: 43.3333%;
}
.footer-fixed-button li.pagetop {
	width: 13.3333%;
}
.footer-fixed-button span {
	display: block;
	width: 100%;
	height: 50px;
}
.footer-fixed-button .reserve span {
	background: #e4080d url(/img/footer_mail.png) no-repeat center center;
	background-size: contain;
}
.footer-fixed-button .tel span {
	background: #32a7eb url(/img/footer_tel.png) no-repeat center center;
	background-size: contain;
}
.footer-fixed-button .pagetop span {
	background: #d3fef0 url(/img/footer_pagetop.png) no-repeat center center;
	background-size: contain;
}
/*-------------------------------------------------------------------

	menu-list

-------------------------------------------------------------------*/
#menu-list_sp {
	position: fixed;
	z-index: 2000;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
	background: #03a2c9;
	padding: 4%;
	box-sizing: border-box;
	font-size: 14px;
	line-height: 1.2;
	overflow: auto;
  color:#FFF;
}
#menu-list_sp ul {
  max-width:600px;
	margin: 0 auto 1em;
  border-top:1px solid #35b5d4;
}
#menu-list_sp ul li {
	margin-bottom: .4em;
}
#menu-list_sp ul li a {
	display: block;
	background: url(/img/arrow_white.svg) no-repeat 96% center;
	background-size: 9px;
	text-decoration: none;
	color: #FFF;
	padding: .8em 2em .8em .8em;
  border-bottom:1px solid #35b5d4;
}
#menu-list_sp ul li.is-form a {
	background: #e4080d url(/img/arrow_white.svg) no-repeat 96% center;
	background-size: 9px;
	color: #FFF;
}
.menu-list_close {
	text-align: center;
	margin-bottom: 0;
}
.menu-list_close span {
	display: inline-block;
	padding: .8em;
	background: #333;
	color: #FFF;
}
#menu-list_sp .menu-inner {
	display:block;
}
#menu-list_pc .menu-inner {
	display:none;
}

/*-------------------------------------------------------------------

	form

-------------------------------------------------------------------*/
/*reset*/
.form-data input[type="submit"], .form-data 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-data input[type="submit"]::-webkit-search-decoration, .form-data input[type="button"]::-webkit-search-decoration {
 display: none;
}
.form-data input[type="submit"]::focus, .form-data input[type="button"]::focus {
 outline-offset: -2px;
}
/*setting*/
.must-icon {
	display: inline-block;
	padding: .3em;
	background: #990033;
	font-size: 12px;
	line-height: 1;
	color: #FFF;
	font-weight: 500;
	border-radius: 4px;
}
.form-flow {
	margin-bottom: 1.5em;
}
.form-flow::after {
	content: "";
	display: block;
	clear: both;
}
.form-flow li {
	float: left;
	width: 31.0344%;
	margin-right: 3.4482%;
	padding: 1em 0;
	text-align: center;
	background: url(/img/form_step_default.svg) no-repeat right center;
	background-size: cover;
	border-radius: 5px;
	font-size: 13px;
	font-weight: 500;
	line-height: 1;
}
.form-flow li:last-child {
	margin-right: 0;
	background-position: left center;
}
.form-flow li.current {
	background-image: url(/img/form_step_current.svg);
	color: #FFF;
}
.form-data {
	width: 100%;
}
.cell-even tr:nth-child(even) th, .cell-even tr:nth-child(even) td {
	background: #f4fffb;
}
.cell-odd tr:nth-child(odd) th, .cell-odd tr:nth-child(odd) td {
	background: #f4fffb;
}
.form-data th, .form-data td {
	display: block;
	width: 100%;
	text-align: left;
	vertical-align: top;
	box-sizing: border-box;
}
.form-data th {
	padding: 1em .6em .5em;
	line-height: 1.5;
	font-weight: 600;
	font-size: 16px;
	border-top: 2px solid #3dd5a4;
}
.form-data td {
	padding: 0 .6em 1.5em;
}
.form-data .list-inline li {
	display: inline-block;
	margin: 0 2em 0 0;
}
.form-data .list-inline.is-margin li {
	display: inline-block;
	margin: 0 2em .5em 0;
}
.form-data .list-flex li {
	width:60%;
  margin-bottom:.5em;
}
.form-data .list-flex li:nth-child(2n) {
	width:40%;
}
.form-data .list-flex li.spot-wide {
	width:100%;
}
.form-data .caption {
	margin: 5px 0 0;
	font-size: .88em;
	line-height: 1.5;
	font-weight: 500;
}
.form-data .hope > div {
	margin-bottom: .5em;
	padding-bottom: .5em;
	border-bottom: 1px solid #DDD;
}
.form-data .hope > div > span {
	display: inline-block;
	margin: 0 1.3em .5em 0;
}
.form-data .hope > div > span.hour {
	margin-right: 0;
}
.form-data .hope > div:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}
.form-data .spot li {
	margin-bottom: 1em;
}
.form-data input[type="text"], .form-data input[type="number"], .form-data input[type="email"], .form-data input[type="tel"], .form-data textarea {
	padding: 6px;
	font-size: 16px;
	box-sizing: border-box;
}
.form-data input[name="age"] {
	width: 5em;
}
.form-data input[type="radio"], .form-data input[type="checkbox"] {
	margin: 0 8px 0 0;
	-webkit-transform: scale(1.5);
	transform: scale(1.5);
	-webkit-transform-origin: left 50%;
	transform-origin: left 50%;
}
.form-data select {
	padding: 6px;
	font-size: 16px;
}
.form-data .wide {
	width: 100%;
}
.form-data .half {
	width: 50%;
}
.form-data .form-button {
	padding-top: 1em;
}
.form-data .form-button:after {
	content: "";
	display: block;
	clear: both;
}
.form-data .form-button.is-2col form {
	width: 49%;
	float: right;
}
.form-data .form-button.is-2col form:last-child {
	float: left;
}
.form-data .form-button.is-2col > form > input.button {
	width: 100%;
}
.form-data .form-button input.button {
	display: block;
	width: 50%;
	border-radius: 8px;
	padding: 1em 0 .9em;
	font-size: 20px;
	line-height: 1;
	font-weight: bold;
	margin: 0 auto 1em;
	color: #FFF;
	text-shadow: 0px 2px 0px rgba(0, 0, 0, 0.2);
}
.form-data .form-button input.button-send {
	background: #e4080d;
}
.form-data .form-button input.button-mod {
	background: #999;
}
/*error*/
label.error {
	display:block;
	padding:.7em;
	background:#ff6600;
	color:#FFF;
	font-size:.88em;
	line-height: 1;
	font-weight:600;
	margin-top:.3em;
	border-radius: 4px;
}
label.success {
	padding:0;
	background:none;
}
label.success::before {
	content:"OK!";
	display:inline-block;
	padding:.7em;
	background:#00cc33;
	border-radius: 6px;
}

/*-------------------------------------------------------------------

	Animation

-------------------------------------------------------------------*/
.a-hidden {
	opacity: 0;
	visibility: hidden;
}
.a-none {
	opacity: 0;
	display: none;
}
/*---------------basic fade---------------*/
/*fast*/
.a-fade-in {
	-webkit-animation-name: fade-in;
	-webkit-animation-duration: .5s;
	-webkit-animation-timing-function: ease-in;
	-webkit-animation-iteration-count: 1;
	animation-name: fade-in;
	animation-duration: .5s;
	animation-timing-function: ease-in;
	animation-iteration-count: 1;
}
@-webkit-keyframes fade-in {
 0% {
 opacity:0;
 visibility: hidden;
}
 100% {
 opacity:1;
 visibility: visible;
}
}
@keyframes fade-in {
 0% {
 opacity:0;
 visibility: hidden;
}
 100% {
 opacity:1;
 visibility: visible;
}
}
.a-fade-in-block {
	-webkit-animation-name: fade-in-block;
	-webkit-animation-duration: .5s;
	-webkit-animation-timing-function: ease-in;
	-webkit-animation-iteration-count: 1;
	animation-name: fade-in-block;
	animation-duration: .5s;
	animation-timing-function: ease-in;
	animation-iteration-count: 1;
}
@-webkit-keyframes fade-in-block {
 0% {
 opacity:0;
 display:none;
}
 100% {
 opacity:1;
 display:block;
}
}
@keyframes fade-in {
 0% {
 opacity:0;
 display:none;
}
 100% {
 opacity:1;
 display:block;
}
}
