@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Oswald:400,700');
/*-------------------------------------------------------------------

	DEFAULT SETTING

-------------------------------------------------------------------*/
body{
	color:#555;
	background:#FFF;
	font-size:14px;
	line-height:1.7;
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Verdana, sans-serif;
}
img {
	width:auto;
	max-width:100%;
	height:auto;
	vertical-align:top;
	transition: all 0.4s ease;
    -webkit-transition: all 0.4s ease;
    -moz-transition: all 0.4s ease;
}
a{
	color:#d66b92;
	text-decoration:underline;
	outline:none;
	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-x-small {
	font-size:8px;
}
.text-small {
	font-size:12px;
}
.text-large {
	font-size:1.2em;
}
.text-brown {
	color: #a58c65;
}
.text-red {
	color: #d66b92;
}
.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*/
.mb-0em {
	margin-bottom: 0 !important;
}
.mb-05em {
	margin-bottom: .5em !important;
}
.mb-1em {
	margin-bottom: 1em !important;
}
.mb-2em {
	margin-bottom: 2em !important;
}
.mb-3em {
	margin-bottom: 3em !important;
}
.m-auto {
	margin-left:auto;
	margin-right:auto;
}
.w90{width:90%;}.w80{width:80%;}.w70{width:70%;}.w60{width:60%;}.w50{width:50%;}.w45{width:45%;}.w40{width:40%;}.w30{width:30%;}
/*table*/
table.basic {
	width: 100%;
	margin-bottom: 1em;
}
table.basic th, table.basic td {
	border: 1px solid #ddd;
	padding: 1em .2em;
	text-align: left;
	vertical-align: middle;
}
table.basic th {
	background: #efefef;
	font-size: 11px;
	line-height: 1.3;
	text-align:center;
	font-weight:bold;
}
table.basic td {
	font-size: 11px;
	line-height: 1.3;
}
.container{
	margin: 2em auto;
}

#comparison table.basic th:first-of-type{
	text-align: left;
}
#comparison table.basic th.em{
	border-top:2px solid #ff0000;
	border-left:2px solid #ff0000;
	border-right:2px solid #ff0000;
}
#comparison table.basic td.em{
	color: #ff0000;
	font-weight: bold;
	border-left:2px solid #ff0000;
	border-right:2px solid #ff0000;
}
#comparison table.basic td.em p{
	font-weight: bold;
}
#comparison table.basic tr:last-of-type td.em{
	border-bottom:2px solid #ff0000;
}
#comparison table.basic td{
	padding: 0 0.5%;
	vertical-align: top;
}
#comparison table.basic td .icon{
	display: flex;
	/* height: 4em; */
	justify-content: center;
	align-items: center;
	width: min(4.0vw,30px);
	margin: 1em auto;
}
#comparison table.basic td p{
	/* height: 4em; */
	display: flex;
	/* align-items: center; */
	justify-content: center;
	margin-bottom: 1em;
	font-size: min(2.0vw,11px);
}
/*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;
}
/*-------------------------
	header
---------------------------*/
#header {
	max-width:640px;
	box-sizing:border-box;
	margin:0 auto;
	background:#FFF;
	-webkit-box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.15);
	box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.15);
	position:relative;
	z-index:800;
	padding:2.5% 0 0;
}
#header p {
	margin:0;
}
#header h1 {
	font-size:8px;
	line-height:1.3;
	margin-bottom:4px;
	text-align:center;
}
#header .logoBlk {
	padding:0 3.125% 3%;
}
#header .logoBlk::after {
	content:"";
	display:block;
	clear:both;
}
#header .logo {
	width:50%;
	float:left;
}
#header #menuBtn {
	width:11.3333%;
	max-width:68px;
	max-height:68px;
	border-radius:2px;
	background-color:#a48c64 ;
	background-image:url(../../shared/img_sp/menu_btn.png);
	background-repeat:no-repeat;
	background-position:0 0;
	background-size:100% auto;
	float:right;
}
#header #menuBtn.close {
	background-position:0 bottom;
}
#header .tool {
}
#header .tool ul {
	width:100%;
	overflow:hidden;
	display: flex;
    align-items: stretch;
}
#header .tool ul li {
	float:left;
	text-align:center;
}
#header .tool .tel {
	/* width:55.9375%; */
	width:70%;
	background:#efefef;
	display: flex;
    align-items: center;
}
#header .tool .line {
	width:19.6875%;
	background:#2cbf13;
}
#header .tool .mail {
	/* width:24.375%; */
	width:30%;
	background:#d66b92;
}
/*-------------------------
	gnav
---------------------------*/
#gnav {
	margin:0;
	position:relative;
}
#gnav ul {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	display:none;
}
#gnav ul li {
}
#gnav ul li a {
	display:block;
	padding:3.125%;
	background:#a48c64 url(../../shared/img_sp/arw_white.svg) no-repeat 97% center;
	background-size:12px;
	border-bottom:1px solid #b9a17c;
	text-decoration:none;
	font-size:14px;
	line-height:1.3;
	letter-spacing:1px;
	color:#FFF;
}
/*-------------------------
	sidenav
---------------------------*/
#sideNav {
	width:100%;
	position:fixed;
	bottom:0;
	right:0px;
	z-index: 9999;
}
#sideNav ul {
	max-width:640px;
	margin:0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
#sideNav ul::after {
	content:"";
	display:block;
	clear:both;
}
#sideNav li {
	/* float:left; */
	text-align:center;
	/* width:27.5%; */
	width:36%;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 72px;
}
#sideNav li.linebtn{
	background-color: #00b900;
}
/* #sideNav li:nth-child(4) { */
#sideNav li:last-of-type {
	width:28%;
}
#sideNav li a{
	display: flex;
	align-items: center;
	justify-content: center;
	height: 72px;
}
#sideNav li.sidenav_tel{
	background-color: #ef8005;
}
#sideNav li.sidenav_mail{
	background-color: #d66b92;
}
#sideNav li.sidenav_pagetop{
	background-color: #bb8d3f;
}
#sideNav li img{
	max-height: 55px;
}
/*-------------------------
	common
---------------------------*/
.contents {
	max-width:640px;
	margin:0 auto;
	/*padding:7% 4.6875% 0;*/
	box-sizing:border-box;
}
.contents::after {
  content: "";
  display: block;
  clear: both;
}
/*-------------------------
	mv
---------------------------*/
#mv {
	max-width:640px;
	margin:0 auto 5.1724%;
	text-align:center;
	border-top:2px solid #c69c6d;
}
#bnrArea {
	max-width:640px;
	margin:0 auto;
	text-align:center;
	border-top:2px solid #c69c6d;
}
#cpArea ul{
	margin: 1em 4.6875%;
}
#cpArea ul li:not(:first-of-type){
	margin-top: 2em;
}
#cpArea ul li .cap{
	margin-top: 5px;
	font-size: 12px;
	text-align: right;
}

/*-------------------------
	top nav
---------------------------*/
#top-nav {
	max-width:640px;
	margin:0 auto;
	padding:4.6875% 4.6875% 2.5%;
	text-align:center;
	background:#F7F7F7 url(../img_sp/back_gray.png) repeat 0 0;
	background-size:100px;
	box-sizing:border-box;
}
#top-nav ul::after {
	content:"";
	display:block;
	clear:both;
}
#top-nav ul li {
	float:left;
	width:31.7241%;
	margin:0 2.4137% 2.4137% 0;
	background:#FFF;
	border-radius:4px;
	box-shadow:0 0 6px 0 rgba(0,0,0,0.1);
	overflow:hidden;
}
#top-nav ul li:nth-child(3n) {
	margin-right:0;
}
/*-------------------------
	section basic
---------------------------*/
section.basic > h2 {
	border-top:2px solid #a48c64;
	padding:1.4em 4.6875% 1em;
	font-size:16px;
	line-height:1.2;
	font-weight:bold;
	color: #a48c64;
	background:#F7F7F7 url(../../shared/img_sp/back_gray.png) repeat 0 0;
	background-size:100px;
	box-shadow:0 2px 4px 0 rgba(0,0,0,0.1);
}
section.basic.blue > h2 {
	border-top:2px solid #4c608d;
	color:#4c608d;
}
section.basic > h2::after {
	content:"";
	display:block;
	clear:both;
}
section.basic > h2 > .icon {
	display:block;
	width:24px;
	background:#d66b92;
	border-radius:2px;
	float:right;
	margin-top:-2px;
}
section.basic > h2 > .icon > img {
	display:block;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	transition: all 0.4s ease;
}
section.basic > h2.close > .icon > img {
    -webkit-transform: rotate(180deg);
	-moz-transform: rotate(180deg);
    transform: rotate(180deg);
}
section.basic.blue > h2 > .icon {
	background:#4c608d;
}
section.basic > .slide {
	padding:4.6875% 4.6875% 9.375%;
}
section.basic > .slide > p:last-child,
section.basic > .slide > div:last-child {
	margin-bottom:0;
}
section.basic > .slide::after {
	content:"";
	display:block;
	clear:both;
}
section.basic > .slide > h3.basic {
	padding:1em 0;
	text-align:center;
	color:#a58c65;
	font-size:16px;
	line-height:1.2;
	font-weight:bold;
	border-top:1px solid #a58c65;
}
section.basic.blue > .slide > h3.basic {
	color:#4c608d;
	border-top:1px solid #4c608d;
}
.banner-viewhot {
	background:#FFF;
	border:2px solid #FFF;
	box-shadow:0 0 6px 0 rgba(0,0,0,0.2);
	text-align:center;
}
.checklist {
	padding:5.1724%;
	border-radius:3px;
	background:#FFF;
	box-shadow:0 0 6px 0 rgba(0,0,0,0.2);
	margin-bottom:1em;
}
.checklist h3 {
	margin-bottom:1em;
	font-size:15px;
	line-height:1.2;
	font-weight:bold;
	color:#d66b92;
	text-align:center;
}
.checklist ul {
	margin-bottom:1em;
}
.checklist ul:last-child {
	margin-bottom:0;
}
.checklist li,.checklist2 li {
	line-height:1.4;
	margin-bottom:.5em;
	padding:0 0 0 22px;
	background:url(../../shared/img_sp/check.png) no-repeat 0 4px;
	background-size:14px;
}
.checklist ul li:last-child {
	margin-bottom:0;
}
.checklist .sub-title {
	line-height:1.2;
	font-weight:bold;
	color:#a58c65;
	margin-bottom:.5em;
}
.checklist dl dt {
	color:#a58c65;
	font-weight:bold;
	text-align:center;
}
.checklist dl dd {
	margin-bottom:.6em;
}
.checklist dl dd:last-child {
	margin-bottom:0;
}
/*-------------------------------------------------------------------

	botox

-------------------------------------------------------------------*/
#botox {
	border-top:4px solid #d66b92;
	padding:2em 4.6875% 2em;
}
#botox h2 {
	margin-bottom:1em;
	color:#d66b92;
	font-size:21px;
	line-height:1.2;
	font-weight:bold;
	text-align:center;
}
#botox h2 span {
	margin-bottom:.3em;
	display:block;
	font-weight:400;
	font-size:11px;
	font-family: 'Oswald', sans-serif;
	letter-spacing:2px;
}
#botox > section {
	padding:5.1724%;
	border-radius:3px;
	background:#FFF;
	box-shadow:0 0 6px 0 rgba(0,0,0,0.2);
	margin-bottom:1em;
}
#botox > section p:last-child,
#botox > section div:last-child {
	margin-bottom:0;
}
#botox > section h3 {
	margin-bottom:1em;
	padding-bottom:1em;
	color:#cc9933;
	font-size:16px;
	line-height:1.2;
	font-weight:bold;
	text-align:center;
	border-bottom:1px solid #DDD;
}
#botox > section h3 span {
	margin-bottom:.3em;
	display:block;
	font-weight:400;
	font-size:10px;
	font-family: 'Oswald', sans-serif;
	letter-spacing:2px;
}

#botox h4{
	font-weight: bold;
    color: #d66b92;
	margin-bottom: 1em;
}
.botox-imgArea{
	width: 60%;
	max-width: 300px;
	margin: auto;
}
#botox .list li::before{
    content: "";
    display: inline-block;
    border-radius: 50%;
    background: #d66b92;
    width: 0.4em;
    height: 0.4em;
    vertical-align: middle;
    margin: 0 0.4em 0.1em 0.3em;
}

.video {
	position:relative;
	width:100%;
	padding-top:56%;
}
.video > iframe {
	position:absolute;
	width:100%;
	height:100%;
	top:0;
	left:0;
}
table.viewhot th.em {
	color:#FFF;
	background:#cc9933;
}
table.viewhot td.em {
	background:#fbe0ab;
}
table.viewhot td {
	text-align:center;
}
.viewhot-check::after {
	content:"";
	display:block;
	clear:both;
}
.viewhot-check figure {
	width:74px;
}
.viewhot-check dt {
	line-height:1.4;
	margin-bottom:.2em;
	padding:0 0 0 22px;
	background:url(../../shared/img_sp/check.png) no-repeat 0 4px;
	background-size:14px;
	font-weight:bold;
	color:#d66b92;
}
.viewhot-check dd {
	line-height:1.4;
	margin-bottom:1em;
	padding:0 0 0 22px;
}
.viewhot-check dd:last-child {
	margin-bottom:0;
}
.flow-list {
	display: -webkit-flex;
	display: -ms-flex;
	display:flex;
	-ms-justify-content: space-between;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-ms-flex-wrap:wrap;
	-webkit-flex-wrap:wrap;
    flex-wrap:wrap;
}
.flow-list li {
	margin-bottom:1em;
	line-height:1.3;
}
.flow-list.clm3 li {
	width:31.0344%;
}
.flow-list.clm2 li {
	width:48.2758%;
}

.flow-list li figcaption {
	padding-top:6px;
}
.tag li {
	display:inline-block;
	color:#d66b92;
	font-size:13px;
	line-height:1;
	padding:.5em;
	border-radius:2px;
	background:#efefef;
	margin-right:.2em;
	margin-bottom:.5em;
}
/*-------------------------------------------------------------------

	price

-------------------------------------------------------------------*/
#price table.basic th,
#price table.basic td {
	font-size:14px;
}
#price table.basic td {
	text-align:center;
}
#price table.basic th {
	font-weight:normal;
}
#price table.basic .head th {
	font-weight:bold;
}
.price-list{
	width: 100%;
}
.price-list:not(:first-of-type){
	margin-top: 12px;
}
.price-list dt{
	text-align: center;
	padding: 10px;
	border: 1px solid #4c608d;
	color: #4c608d;
	font-weight: bold;
	position: relative;
	background-color: #efefef;
}
.price-list dt::after{
	display: block;
	position: absolute;
	content:"+";
	font-size: 24px;
	color: #4c608d;
	font-weight: bold;
	top: calc(50% - 20px);
	right: 10px;
}
.price-list dt.close::after{
	content:"-";
}
.price-table{
	width: 100%;
}
/* table */
.post_content table { margin:0 0 24px 0; width:100% !important; }
.post_content td, .post_content th { border:1px solid #bbb; padding:10px 15px; line-height:2.4; background:#fff; }
.post_content th { background:#ddd; font-weight:normal; }
/* table style */
.post_content table.table_no_border th, .post_content table.table_no_border td { border:none; padding-left:0; }
.post_content table.table_border_horizontal th, .post_content table.table_border_horizontal td { border-left:none; border-right:none; padding-left:0; }


.price-table thead{
	display:  none;
}
.price-table tbody tr{
border: 1px solid #4c608d;
}
.price-table tbody tr:first-of-type{
	border-top: 0;
}
.price-table tbody td{
display: block;
border: none;
text-align: center;
padding: 10px 2%;
box-sizing: border-box;
}
.price-table td.name{
font-size: 150%;
letter-spacing: 2px;
color: #4c608d;
background: #fffef4;
border-bottom: 1px solid #4c608d;
vertical-align: middle;
font-family: 'Kozuka Mincho Pro', 'Kozuka Mincho Std', 'å°å¡šæ˜Žæœ Pro R', 'å°å¡šæ˜Žæœ Std R', 'Hiragino Mincho Pro', 'ãƒ’ãƒ©ã‚®ãƒŽæ˜Žæœ Pro W3', 'ï¼­ï¼³ ï¼°æ˜Žæœ', 'Times', 'Times New Roman', serif;
}
.price-table td.label ,.price-table td.price{
 /* width: 50%; */
display: inline-block;
box-sizing: border-box;
}
.price-table td.label{
	text-align: left;
}
.price-table td.label:nth-of-type(1){
	width: 25%;
}
.price-table td.label:nth-of-type(2){
	width: 15%;
}
.price-table td.label:nth-of-type(3){
	width: 30%;
}
.price-table td.price{
	width: 30%;
}
.price-table td.price,.price-table td.no-label-price{
	text-align: right;
}
.price-table td.no-label-price{
display: block;
}
.price-table td.note{
	background: #f7f7f7;
}
.price-table td:before {
content: attr(data-label);
float: left;
margin-right: 10px;
}
/*-------------------------------------------------------------------

	clinic

-------------------------------------------------------------------*/
.carrier {
	font-size:12px;
	margin-bottom:1em;
}
.carrier dt {
	/* width:6em; */
	float:left;
	clear:both;
}
.carrier dd {
	/* padding-left:6em; */
}
.clinic-info {
	border-top:1px solid #DDD;
	font-size:13px;
	line-height:1.4;
}
.clinic-info dt {
	width:6em;
	float:left;
	clear:both;
	padding-top:1em;
}
.clinic-info dd {
	padding:1em 0 .8em 6em;
	border-bottom:1px solid #DDD;
}
/*-------------------------------------------------------------------

	faq

-------------------------------------------------------------------*/
.faq-list dt {
	padding:15px 0 10px 22px;
	border-top:1px solid #4c608d;
	font-size:15px;
	line-height:1.3;
	color:#4c608d;
	background:url(../../shared/img_sp/faq_q.png) no-repeat 0 18px;
	background-size:14px;
}
.faq-list dt::after {
	content:"";
	display:block;
	clear:both;
}
.faq-list dt .icon {
	display:block;
	float:right;
	width:19px;
	background:#4c608d;
	border-radius:2px;
	margin:0 0 0 .5em;
}
.faq-list dt .icon > img {
	display:block;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	transition: all 0.4s ease;
}
.faq-list dt.close .icon > img {
    -webkit-transform: rotate(180deg);
	-moz-transform: rotate(180deg);
    transform: rotate(180deg);
}
.faq-list dd {
	padding:0 0 13px 22px;
	font-size:13px;
	line-height:1.5;
	background:url(../../shared/img_sp/faq_a.png) no-repeat 2px 3px;
	background-size:12px;
}
.faq-list dd:last-child {
	padding-bottom:0;
}
/*-------------------------------------------------------------------

	contact

-------------------------------------------------------------------*/
#contact {
	border-top:4px solid #d66b92;
	padding:2em 4.6875% 2em;
}
#contact h2 {
	margin-bottom:1em;
	color:#d66b92;
	font-size:21px;
	line-height:1.2;
	font-weight:bold;
	text-align:center;
}
#contact h2 span {
	margin-bottom:.3em;
	display:block;
	font-weight:400;
	font-size:11px;
	font-family: 'Oswald', sans-serif;
	letter-spacing:2px;
}
#contact > section {
	padding:5.1724%;
	border-radius:3px;
	background:#FFF;
	box-shadow:0 0 6px 0 rgba(0,0,0,0.2);
	margin-bottom:1em;
}
#contact > section p:last-child,
#contact > section div:last-child {
	margin-bottom:0;
}

/*reset*/
#contact input[type="submit"], #contact input[type="button"] {
	border-radius: 0;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	appearance: button;
	border: none;
	box-sizing: border-box;
	cursor: pointer;
}
#contact input[type="submit"]::-webkit-search-decoration, #contact input[type="button"]::-webkit-search-decoration {
 display: none;
}
#contact input[type="submit"]::focus, #contact input[type="button"]::focus {
 outline-offset: -2px;
}
/*setting*/
.form-tel {
	margin-bottom: 2em;
	padding: 1em 5px;
	border: 1px solid #eccb91;
	background: #FFF;
	border-radius: 6px;
	text-align: center;
	line-height: 1.3;
}
.form-tel .tel {
	display: block;
	margin: 0;
	font-family: "Times New Roman", Times, serif;
	font-size: 38px;
	line-height: 1;
	color: #9f774b;
	vertical-align: -.1em;
}
.form-tel .tel .fa {
	font-size: 34px;
}
.form-caption {
	font-size: 14px;
}
#contact .flow {
	margin-bottom: 1em;
}
#contact .flow::after {
	content: "";
	display: block;
	clear: both;
}
#contact .flow li {
	float: left;
	width: 31.0344%;
	margin-right: 3.4482%;
	padding: 1em 0 .8em;
	text-align: center;
	background: #DDD url(../../shared/img_sp/flow_back.png) no-repeat right center;
	background-size:30px;
	border-radius: 4px;
	font-size: 13px;
	line-height: 1;
}
#contact .flow li:last-child {
	margin-right: 0;
	background-image: none;
}
#contact .flow li.active {
	color:#FFF;
	background-color: #d66b92;
	text-shadow: 0px 2px 0px rgba(0, 0, 0, 0.2);
}
#contact .must-flag {
	display: inline-block;
	background: #d4b173;
	padding: .5em;
	border-radius: 2px;
	color: #FFF;
	font-size: 13px;
	line-height: 1;
	margin-left: .5em;
}
#contact table {
	width: 100%;
}
#contact table th, #contact table td {
	display: block;
	width: 100%;
	text-align: left;
	vertical-align: top;
	box-sizing: border-box;
}
#contact table th {
	padding: 1.2em .6em 1em;
	line-height: 1.5;
	font-weight: bold;
	background: #efefef;
	border-top: 2px solid #DDD;
}
#contact table td {
	padding: 1em .6em 1.5em;
	font-size: 15px;
}
#contact table th span.middle {
	font-size: 14px;
	line-height: 1.3;
}
#contact table th span.cap {
	font-size: 13px;
	line-height: 1.3;
	font-weight: normal;
}
#contact table .must {
	color: #d66b92;
	font-weight: normal;
}
#contact table td span {
	font-size: 12px;
}
#contact .cap {
	margin: 5px 0 0;
	font-size: 12px;
	line-height: 1.5;
}
#contact table .hope dt {
	margin-bottom: .5em;
}
#contact table .hope dd {
	margin-bottom: .5em;
	padding-bottom: .5em;
	border-bottom: 1px solid #DDD;
}
#contact table .hope dd select {
	margin-left:3px;
}
#contact table .hope dd select:last-child {
	margin-left:0;
}
#contact table .hope dd:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}
#contact .spot::after {
	content: "";
	display: block;
	clear: both;
}
#contact .spot li {
	display:inline-block;
	margin:0 1em .5em 0;
}
#contact label {
	display: inline-block;
	margin-bottom: .2em;
}
#contact table input[type="text"], #contact table input[type="number"], #contact table input[type="email"], #contact table input[type="tel"], #contact table textarea {
	padding: 6px;
	font-size: 16px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
#contact table input[name="age"] {
	width: 3em;
	text-align: center;
	padding: 5px 0;
}
@media (min-width: 414px) {
  #contact table input[name="age"] {
    text-align: right;
  }
}
#contact table input[type="radio"], #contact 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%;
}
#contact table select {
	padding: 6px;
	font-size: 15px;
}
#contact table .wide {
	width: 100%;
}
#contact table .half {
	width: 50%;
}
#contact table .telnum {
	width: 60%;
}

#contact input[name="birth_year"]{
  width: 5em;
}
#contact input[name="age"] {
  width: 3em;
  background-color: #ffffdd;
  text-align: center;
  color: #d25b72;
  font-weight: 700;
  padding: 0.5em 0;
  line-height: 1;
  margin-top: 5px;
  margin-right: 0.2em;
  border: none;
  outline: none;
  -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none; 
}
@media (min-width: 414px) {
  #contact input[name="age"] {
    text-align: right;
  }
}
.hope select{
	margin-top: 10px;
}
div#ui-datepicker-div {
  z-index: 9999 !important;
}
.ui-datepicker-trigger {
	display:inline-block;
	width:2em;
	margin-left:.5em;
	vertical-align: middle;
}

#contact td p:last-child {
	padding-bottom: 0;
}
#contact .formBtn::after {
	content: "";
	display: block;
	clear: both;
}
#contact .formBtn {
	padding-top:1em;
}
#contact .formBtn form {
	margin-bottom:1em;
}
#contact input.button {
	display: block;
	border-radius: 4px;
	padding: 1em 0 .9em;
	font-size: 20px;
	line-height: 1;
	font-weight: bold;
	width: 100%;
	margin: 0 auto 4%;
	box-sizing:border-box;
}
#contact input.button-send {
	background: #d66b92;
	color: #FFF;
	box-shadow: 0 4px 0px 0 rgba(183, 93, 126, 1);
	text-shadow: 0px 2px 0px rgba(0, 0, 0, 0.2);
}
#contact input.button-mod {
	background: #DDD;
	color: #333;
	text-shadow: 0px 2px 0px rgba(255, 255, 255, 0.8);
}
.errmess {
	color: #d66b92;
	margin-bottom: 6%;
}
.errmess p {
	margin-bottom: 3%;
	padding-bottom: 3%;
	border-bottom: 1px solid #DDD;
}
/*-------------------------------------------------------------------

	footer

-------------------------------------------------------------------*/
#footer {
	border-top:1px solid #DDD;
}
#footer .copyright {
	font-size:8px;
	line-height:1.3;
	text-align:center;
	background:#FFF;
	/* padding:5% 0 20%; */
	padding:40px 0 100px;
}




#faq .faq-list a.dbtn {
	display: block;
	text-align: center;
	width: 90%;
	max-width: 400px;
	margin: 1em auto;
	background: url(../img_top/doui_icon.png) no-repeat calc(50% - 6em) 50% #CCBBA2;
	background-size: auto 1.8em;
	border-radius: 2px;
	padding: 1em 0;
	color: #FFF;
	font-size: 1.2em;
	line-height: 1;
	position: relative;
}
#faq .faq-list a.dbtn::before,
#faq .faq-list a.dbtn::after {
	content: "";
	position: absolute;
	display: block;
	top: calc(50% - 0.6em);
	right: calc(50% - 6.5em);
}
#faq .faq-list a.dbtn::before {
	width: 1.2em;
	height: 1.2em;
	background: #FFF;
	border-radius: 1em;
}
#faq .faq-list a.dbtn::after {
	width: 0;
	height: 0;
    border-style: solid;
    border-color: #CCBBA2 transparent transparent transparent;
    border-width: 0.6em 0.4em 0 0.4em;
	margin: 0.35em 0.2em 0 0;
}