/* ========================================================
	Base
======================================================== */
/* Reset */
html, body, div, span, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,abbr, address, cite, code,del, dfn, em, img, ins, kbd, q, samp,small, strong, sub, sup, var,b, i,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,article, aside, canvas, details, figcaption, figure,footer, header, hgroup, menu, nav, section, summary,time, mark, audio, video {margin:0;padding:0;border:0;outline:0;font-size:100%;font-style: normal;font-weight: normal;vertical-align:baseline;background:transparent;}
body {line-height:1;-webkit-text-size-adjust: 100%;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {display:block;}
ul,ol {list-style:none;}
img {border: 0;}
a {margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent;text-decoration: none;}
table {border-collapse:collapse;border-spacing:0;}
input, select {vertical-align:middle;}
textarea {resize: vertical;}

html {
	overflow-y: scroll;
	font-size: calc(100vw / 3.75);
}
body {
	color: #333;
	font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",YuGothic,"游ゴシック",sans-serif;
	position: relative;
	text-align: center;
	width: 100%;
	font-feature-settings:'palt';
	overflow-x: hidden;
}
a {
	color: inherit;
	outline: none;
	word-wrap: break-word;
}
img {
	width: auto;
	max-width: 100%;
	vertical-align: middle;
	-webkit-backface-visibility: hidden;
}
h1,h2,h3,h4,h5,h6 {
	line-height: 1;
}
p,ul,ol,dl,table {
	line-height: 1.6;
}

/* ========================================================
	Utility
======================================================== */
.clearfix::after,
.wrap::after {
	content: "";
	display: block;
	clear: both;
}
.clearfix::before,
.wrap::before {
	content: "";
	display: block;
	clear: both;
}
.clearfix,
.wrap {
	display: block;
}
.clear { clear: both;}

.gf-sm {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-style: normal;
}
.gf-nt {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
.filter {
	text-shadow: 0px 0px 5px rgba(255, 255, 255, 1), 0px 0px 5px rgba(255, 255, 255, 1), 0px 0px 5px rgba(255, 255, 255, 1), 0px 0px 5px rgba(255, 255, 255, 1), 0px 0px 5px rgba(255, 255, 255, 1), 0px 0px 5px rgba(255, 255, 255, 1), 0px 0px 5px rgba(255, 255, 255, 1), 0px 0px 10px rgba(255, 255, 255, 1), 0px 0px 10px rgba(255, 255, 255, 1), 0px 0px 10px rgba(255, 255, 255, 1), 0px 0px 5px rgba(255, 255, 255, 1), 0px 0px 10px rgba(255, 255, 255, 1), 0px 0px 10px rgba(255, 255, 255, 1), 0px 0px 10px rgba(255, 255, 255, 1), 0px 0px 10px rgba(255, 255, 255, 1), 0px 0px 10px rgba(255, 255, 255, 1);
	position: relative;
	z-index: 1;
}

.mb0 {margin-bottom: 0 !important;}
.mt0 {margin-top: 0 !important;}
.tac { text-align: center !important;}
.tar { text-align: right !important;}
.tal { text-align: left !important;}
.fs65 { font-size: 0.65em !important;}
.fs70 { font-size: 0.7em !important;}
.fs80 { font-size: 0.8em !important;}
.fs85 { font-size: 0.85em !important;}
.fs90 { font-size: 0.9em !important;}
.fs95 { font-size: 0.95em !important;}
.fs130 { font-size: 1.3em !important;}
.ls02 {letter-spacing: -.2em;}
.ls01 {letter-spacing: -.1em;}
.ls0 {letter-spacing: 0;}
.wd50 {width: 50%;}
.wd60 {width: 60%;}
.wd70 {width: 70%;}
.wd80 {width: 80%;}
.wd85 {width: 85%;}
.wd90 {width: 90%;}
.wd95 {width: 95%;}

.bgcl { background: #F6F1F1; padding: 1em 0 .8em;}
.bgw { background: #FFF;}

.dib {display: inline-block;}

.wrap {
	margin-left: auto;
	margin-right: auto;
}

@media screen and (max-width : 767px) {
.pc { display: none !important;}

body {
	font-size: 0.165rem;
	padding: 2.1em 0 3em;
}
.wrap {
	width: 92%;
}
.bgcl .wrap {
	width: 94%;
}
.wdful {
	margin-left: -4.1% !important;
	margin-right: -4.1% !important;
}
}

@media screen and (min-width : 600px) {
html {
	font-size: 62.5%;
}
body {
	font-size: 1.8rem;
}
}

@media screen and (min-width : 768px) {
.sp { display: none !important; }
body {
	display:grid;
	grid-template-columns: 1fr;
	grid-template-rows: auto 1fr auto;
	min-height: 100vh;
}
.wrap {
	width: 96%;
	width: min(96%,1000px);
}
.wdful {
	margin-left: auto !important;
	margin-right: auto !important;
}
}


/* ========================================================
	Header&Footer
======================================================== */
.header {
	background: #fff;
	z-index: 200;
}
.header .header_clinic img {
	height: 1.6em;
	vertical-align: middle;
}
.header .header_clinic span img {
	height: .75em;
	margin-left: .5em;
}
.header .header_nav_menu {
	width: 100%;
}
.footer small {
	display: block;
	color: #fff;
	background: #E191AB;
	padding: 1em 0;
	font-size: 0.8em;
}
.footer small span {
	font-size: 1.7em;
	vertical-align: middle;
}
.footer .pagetop {
	display: block;	
	position: fixed;
	right: 3%;
	bottom: 4em;
	border-radius: 50%;
	text-indent: -9999px;
	outline: none;
	width: 3em;
	height: 3em;
	background: rgba(225,145,171,.3);
	z-index: 100;
}
.footer .pagetop::after {
	content: "";
	position: absolute;
	top: .7em;
	left: .8em;
	display: inline-block;
	background: #FFF;
	width: 1.5em;
	height: 1.2em;
	clip-path: polygon(0 100%, 50% 0, 100% 100%);
}
.fixed {
    position: fixed;
    top: 0;
	left: 0;
	width: 100%;
}

@media screen and (max-width : 767px) {
.header {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
	width: 100%;
	height: 2.1em !important;
}
.header .wrap {
	width: 100%;
}
.header .header_clinic a {
	display: flex;
	align-items: center;
	height: 2.1em;
	padding-left: 2%;
}
.header .contact li {
	width: 25%;
	text-indent: -9999px;
	position: fixed;
	bottom: 0;
	z-index: 100;
}
.header .contact li.contact_mail { left: 0%;}
.header .contact li.contact_reserve { left: 25%;}
.header .contact li.contact_line { left: 50%;}
.header .contact li.contact_tel { left: 75%;}
.header .contact li a {
	background: #E191AB;
	height: 3em;
	display: flex;
	outline: none;
	background-size: auto 80%;
	background-position: 50% 45%;
	background-repeat: no-repeat;
	border-right: 1px solid #FFF;
}
.header .contact li.contact_mail a {
	background-image: url(../img/contact_mail.png);
}
.header .contact li.contact_reserve a {
	background-image: url(../img/contact_reserve.png);
}
.header .contact li.contact_line a {
	background-image: url(../img/contact_line.png);
}
.header .contact li.contact_tel a {
	background-image: url(../img/contact_tel.png);
	border-right: none;
}
.header .header_nav_btn {
	position: fixed;
	right: 0;
	top: 0;
	background: #E191AB;
	display: block;
	font-size: 1em;
	width: 2.8em;
	height: 2.1em;
	border: none;
	cursor: pointer;
	color: #fff;
	outline: none;
	z-index: 100;
}
.header .header_nav_btn span {
	height: 100%;
	display: flex;
    justify-content: center;
    align-items: flex-end;
}
.header .header_nav_btn::before,
.header .header_nav_btn::after,
.header .header_nav_btn span::before {
	position: absolute;
	content: "";
	display: block;
	width: 1.3em;
	height: 1.5px;
	background: #fff;
	left: calc(50% - .65em);
}
.header .header_nav_btn::before {top: 0.5em;}
.header .header_nav_btn::after {top: .95em;}
.header .header_nav_btn span::before {top: 1.4em;}
.header .active::before {
	transform: rotate(45deg);
	top: .95em;
}
.header .active::after {
	transform: rotate(-45deg);
	top: .95em;
}
.header .active span::before {
	display: none;
}

.header .header_nav_menu {
	display: none;
	background: #E191AB;
	position: fixed;
	left: 0;
	top: 2.1em;
	text-align:  left;
}
.header .header_nav_menu li a {
	display: block;
	color: #fff;
	text-decoration: none;
	border-bottom: 1px solid rgba(255, 255, 255, 0.2);
	padding: 0.7em 5%;
	letter-spacing: 0;
}
.header .header_nav_menu li:last-of-type a {
	border-bottom: none;
}

.footer small {
	border-bottom: 1px solid #FFF;
}
}

@media screen and (min-width : 768px) {
.header {
	padding-top: .5em;
	background: #FFF;
}
.header .wrap {
	width: min(98%, 1000px);
}
.header .header_clinic {
	float: left;
	font-size: 1.4em;
	margin-bottom: .5em;
}
.header .header_clinic span img {
	margin-top: .3em;
}
.header .contact {
	padding-top: .2em;
}
.header .contact li a {
	float: right;
}
.header .contact li.contact_line {
	display: none;
}
.header .contact li.contact_mail a,
.header .contact li.contact_reserve a {
	display: block;
	padding: 0.2em 1.5%;
	color: #fff;
	border-radius: 3px;
	background: #E191AB;
	margin-left: 1%;
}
.header .contact li.contact_tel a {
	font-family: "Jost", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	background: url(../img/icon-tel.png) no-repeat 0 45%;
	background-size: auto .95em;
	color: #E191AB;
	padding: 0 0 0 1.1em;
	text-indent: -9999px;
	font-size: 1.8em;
	line-height: 1.1;
}
.header .header_nav {
	width: min(100%,1000px);
	margin: auto;
}
.header .header_nav_btn {
	display: none;
}
.header .header_nav_menu {
	display: flex !important;
	justify-content: space-between;
	font-size: .8em;
}
.header .header_nav_menu li {
	width: 14.5%;
	line-height: 1.8;
}
.header .header_nav_menu li:first-of-type {
	width: 13%;
}
.header .header_nav_menu li a {
	display: block;
}
.header .header_nav_menu li a:hover {
	color: #E191AB;
	transition : .2s;
}
.header .header_nav_menu li:nth-of-type(n + 2) a {
	border-left: 1px solid #6C6C6C;
}
.footer .pagetop {
	font-size: 1.2em;
	bottom: 5%;
}
}

@media screen and (min-width : 1000px) {
.header .header_clinic {
	margin-left: 0;
}
.header .contact li.contact_reserve a {
	margin-right: 0;
}
.header .contact li.contact_tel a {
	line-height: 1.3;
	font-size: 1.6em;	
	text-indent: 0;
}
.header .header_nav_menu {
	border-left: 1px solid #6C6C6C;
	border-right: 1px solid #6C6C6C;
	width: calc(100% - 2px);
}
}


/* ========================================================
	Common
======================================================== */
.cmn {
	margin-top: 3em;
}
.infotbl {
	width: 100%;
	margin: 1em auto;
}
.infotbl caption {
	text-align: center;
	margin: 0 auto 1em;
	width: min(100%, 500px);
}
.infotbl caption span img {
	height: 1.8em;
	margin-bottom: .7em;
}
.infotbl tr {
	border-bottom: 1px solid #6C6C6C;
}
.infotbl tr:first-of-type {
	border-top: 1px solid #6C6C6C;
}
.infotbl th,
.infotbl td {
	text-align: left;
	padding: .6em 0;
	vertical-align: middle;
}
.infotbl th {
	text-align-last:justify;
	padding-left: 1%;
	width: calc(4em + 1%);
}
.infotbl td {
	position: relative;
	padding-left: 5%;
}
.infotbl td::before {
	content: "：";
	position: absolute;
	left: 2%;
}
.feature {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 85%;
	margin: 3% auto;
	font-size: .75em;
}
.feature li {
	width: 30%;
	border: 1px solid #F0BCCC;
	margin: .5em 0;
	border-radius: .2em;
	padding-top: 5.8em;
	background-size: 5em auto !important;
}
.feature li span {
	display: block;
	background: #E392AD;
	color: #FFF;
	padding: .2em 0;
}
.feature li:nth-of-type(1) { background: url(../img/feature01.png) no-repeat 50% .4em;}
.feature li:nth-of-type(2) { background: url(../img/feature02.png) no-repeat 50% .4em;}
.feature li:nth-of-type(3) { background: url(../img/feature03.png) no-repeat 50% .4em;}
.feature li:nth-of-type(4) { background: url(../img/feature04.png) no-repeat 50% .4em;}
.feature li:nth-of-type(5) { background: url(../img/feature05.png) no-repeat 50% .4em; letter-spacing: -.03em;}
.feature li:nth-of-type(6) { background: url(../img/feature06.png) no-repeat 50% .4em;}

.timetbl table {
	width: 100%;
	margin: 0 auto .7em;
}
.timetbl tr {
	border-bottom: 1px solid #6C6C6C;
}
.timetbl th,
.timetbl td {
	vertical-align: middle;
	padding: .5em 0;
}
.timetbl th:last-of-type {
	letter-spacing: -.07em;
}
.timetbl td:first-of-type {
	padding: .5em 3%;
}
.timetbl td:nth-child(n + 2):nth-child(-n + 7) {
	width: 8.5%;
}
.timetbl p {
	text-align: left;
	padding-left: 3%;
}
.calendar .caltbl {
	width: 100%;
	margin: 1.5em auto;
	text-align: left;
	font-size: .9em;
	position: relative;
}
.calendar .caltbl::after {
	content: "";
	display: block;
	z-index: 1;
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 1px;
	background: #6C6C6C;
}
.calendar .caltbl caption {
	width: 6em;
	background: #D7C7C3;
	color: #FFF;
	border-radius: 1em;
	padding: .1em 0;
	font-size: 1.3em;
	margin: 0 0 .5em;
}
.calendar .caltbl caption span:nth-of-type(2) {
	display: none;
}
.calendar .caltbl caption::after {
	position: absolute;
	right: 0;
	top: .8em;
	content: "休診日";
	border-left: 2em solid #F6EEE6;
	padding-left: .5em;
	color: #333;
	font-size: .85em;
	line-height: 1.2;
}
.calendar .caltbl th,
.calendar .caltbl td {
	border: 1px solid #6C6C6C;
	vertical-align: middle;
	text-align: center;
	width: 14.2%;
}
.calendar .caltbl tr:first-of-type th {
	color: #FFF;
}
.calendar .caltbl tr td:last-of-type {
	color: #223A80;
}
.calendar .caltbl tr td:first-of-type,
.calendar .caltbl tr td.holiday {
	color: #9D1212;
}
.calendar .caltbl th {
	background: #E4D9D8;
}
.calendar .caltbl tr th:first-of-type {
	background: #C97A89;
}
.calendar .caltbl tr th:last-of-type {
	background: #709BD7;
}
.calendar .caltbl td {
	font-size: 1.1em;
	height: 2em;
	font-family: "Jost", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
}
.calendar .caltbl tr td:nth-of-type(1),
.calendar .caltbl tr td:nth-of-type(4),
.calendar .caltbl td.close,
.calendar .caltbl tr td.holiday {
	background: #F6EEE6;
}
.calendar .caltbl td:empty,
.calendar .caltbl td.open {
	background: #FFF !important;
}
.calendar .caltbl tr:last-of-type td:empty {
	height: 0;
	border-top: none;
	border-bottom: none;
}
.ctc {
	padding: 3% 0;
	margin: 1em 0 calc(.8em + 1%);
}
.ctc ul {
	background: none;
}
.ctc li a {
	margin: .8em auto;
	padding: .5em 0;
	background: #7EA4D7;
	display: block;
	border-radius: .4em;
	color: #FFF;
	font-size: 1.1em;
}
.ctc li:last-of-type a {
	background: #5EAA8D;
}

.map {
	margin-bottom: 1em;
}
.map figcaption {
	line-height: 1.6;
	margin: 1.8em auto 1em;
}

.btnlink {
	display: block;
	width: min(calc(85% - 2em),calc(600px - 2em));
	margin: .8em auto 1.5em;
	background-color: #D6BDB0;
	padding: .9em 2em .7em 0;
	color: #FFF;
	font-size: 1.15em;
	border-radius: .8em;
	position: relative;
	box-shadow: inset 0 2px 2px 1px rgba(255,255,255,.6), 0 3px 1px 0 rgba(214,189,176,.7);
}
.btnlink::before,
.btnlink::after {
	content: "";
	position: absolute;
	top: calc(50% - .5em);
	right: calc(50% - 6.3em);
	display: inline-block;
}
.btnlink::before {
	width: 1.2em;
	height: 1.2em;
	border-radius: 50%;
	background: rgba(255,255,255,.3);
}
.btnlink::after {
	width: .6em;
	height: .7em;
	background: #FFF;
	clip-path: polygon(0 0, 0 100%, 100% 50%);
	margin: .2em .2em 0 0;
}
.gmapbtn {
	background: url(../img/gmapbtn.png) no-repeat calc(50% - 5.2em) 50% #D6BDB0;
	background-size: auto 1.2em;
	width: min(85%,600px);
	padding: .9em 0 .7em;
	margin: 1.2em auto 1.5em;
}

.route {
	margin: 1em auto 2em;
	width: 95%;
}
.route dl {
	margin-bottom: .8em;
}
.route dt {
	text-align: left;
	position: relative;
}
.route dt span {
	display: block;
	background: #D6BDB1;
	color: #FFF;
	font-size: 1.1em;
	padding: .3em 0 .3em calc(1.1em + 3%);
	border-radius: .1em;
}
.route dt::before,
.route dt span::before,
.route dt span::after {
	content: "";
	position: absolute;
	top: calc(50% - .6em);
	right: 3%;
	display: inline-block;
}
.route dt::before {
	top: .8em;
	right: auto;
	left: 3%;
	width: .9em;
	height: .9em;
	border-radius: .1em;
	background: #fff;
}
.route dt span::before {
	width: 1.2em;
	height: 1.2em;
	border-radius: 50%;
	background: rgba(255,255,255,.3);
}
.route dt span::after {
	width: .7em;
	height: .6em;
	background: #FFF;
	clip-path: polygon(0 0, 100% 0%, 50% 100%);
	margin: .35em .22em 0 0;
}
.route dt.close span::after {
	clip-path: polygon(0 100%, 50% 0, 100% 100%);
	margin: .2em .22em 0 0;
}
.route dd {
	padding: 1em 0;
}
.route dd li p {
	text-align: left;
	margin: .5em 0 1.5em;
}

.fmenu {
	display: flex;
	flex-wrap: wrap;
	font-size: .9em;
	border-top: 1px solid #6C6C6C;
	position: relative;
	margin: auto;
}
.fmenu li {
	width: 50%;
	border-bottom: 1px solid #6C6C6C;
}
.fmenu li a {
	display: block;
	padding: .9em 0;
}
.fmenu li:nth-of-type(even) a {
	border-left: 1px solid #6C6C6C;
}
.sns li {
	display: inline-block;
	margin: 1em 1.5%;
}
.sns li img {
	height: 2.8em;
}
.fnav {
	background: #E191AB;
	font-size: .9em;
	padding: .8em 0 1em;
	position: relative;
}
.fnav::after {
	content: "";
	display: block;
	position: absolute;
	bottom: .2em;
	left: 50%;
	width: min(92%,1000px);
	height: 1px;
	margin: auto;
	background: #FFF;
	transform: translateX(-50%);
}
.fnav li {
	display: inline-block;
	margin: 0 3%;
}
.fnav li a {
	color: #FFF;
}
.fnav li a::before {
	content: "・";
}

@media screen and (max-width : 767px) {
#calendar {
	margin-bottom: 3em;
}
.ctc ul li a {
	width: min(70%,500px);
}
}

@media screen and (min-width : 600px) {
.infotbl th {
	padding-left: 5%;
	width: 6em;
}
}

@media screen and (min-width : 768px) {
.infotbl {
	position: relative;
	width: 100%;
}
.infotbl .infoph {
	position: absolute;
	left: 0;
	top: 3.5em;
	float: left;
	width: 40%;
}
.infotbl tbody {
	float: left;
	float: right;
	width: 57%;
}
.infotbl th {
	padding-left: 3%;
	width: 11%;
}
.infotbl td {
	width: 43%;
}
.feature li {
	width: 15%;
}
.timetbl table {
	width: 65%;
	float: left;
	margin: 0 3% 0 0;
}
.timetbl p {
	padding: .7em 0 0 0;
}
.calendar {
	display: flex;
	justify-content: space-between;
	margin: 1.5em auto;
	position: relative;
}
.calendar .cal {
	width: 48%;
}
.ctc ul {
	display: flex;
	justify-content: space-between;
}
.ctc ul::before,
.ctc ul::after {
	display: none;
}
.ctc li {
	width: 32%;
}
.ctc li a {
	margin: .5em 0;
	padding: .8em 0;
	font-size: 1.2em;
}
.route {
	width: 100%;
	display: flex;
	justify-content: space-between;
}
.route dl {
	width: 49%;
}
.fmenu li {
	width: 25%;
}
.fmenu li:nth-of-type(4n - 1) a {
	border-left: 1px solid #6C6C6C;
}
.fmenu li a:hover {
	color: #E191AB;
	transition : .2s;
}
}


/* ========================================================
	Page
======================================================== */
.cont p {
	text-align: justify;
	margin-bottom: .7em;
}
.cont figure {
	margin: 0 auto .8em;
}

.txtlink {
	text-align: right !important;
}
.txtlink a {
	color: #947C52;
}
.txtlink a::after {
	content: "＞＞";
	display: inline-block;
	vertical-align: middle;
	font-size: .8em;
	letter-spacing: -.2em;
	transform: scale(.7, 1);
	margin: 0 0 .2em 0;
}



/*	middle page
------------------------------*/
h1.pagettl {
	margin-bottom: .7em;
	font-size: 1.3em;
	color: #EB7B97;
	background-size: auto 100% !important;
}
h1.pagettl span {
	font-weight: 700;
}
.access h1.pagettl {
	background:  url(../img/pagettl_access.jpg) no-repeat 50%;
}
.clinic h1.pagettl {
	background:  url(../img/pagettl_clinic.jpg) no-repeat 50%;
}
.recommend h1.pagettl {
	background:  url(../img/pagettl_recommend.jpg) no-repeat 50%;
	color: #206ECB;
}
.recommend h1.pagettl span span {
	display: block;
	margin-top: 1em;
}
.dermatology h1.pagettl {
	background:  url(../img/pagettl_derma.jpg) no-repeat 50%;
	color: #CC9A80;
}

.sec h2.hlrd {
	background: #E1CFCE;
	border-radius: 2em;
	color: #FFF;
	font-size: 1.15em;
	padding: .6em 0;
	margin: 2em auto 1em;
	width: min(60%, 400px);
}
.sec h3 {
	color: #206ECB;
	font-size: 1.15em;
	margin: 2em auto .5em;
}
.sec h3 span.subcap {
	background: #206ECB;
	color: #FFF;
	font-size: .8em;
	display: inline-block;
	vertical-align: top;
	margin: 0 0 0 0;
	padding: .1em .5em;
}
.sec figure {
	width: 85%;
}
.linklist {
	text-align: left;
}
.linklist li {
	display: inline;
	margin-right: 1em;
}
.linklist li a {
	position: relative;
	padding-left: 1.1em;
	display: inline-block;
}
.linklist li a::before,
.linklist li a::after {
	content: "";
	display: inline-block;
	vertical-align: middle;
	position: absolute;
	top: .3em;
	left: 0;
}
.linklist li a::before {
	width: .9em;
	height: .9em;
	border-radius: 50%;
	background: #4284D3;
}
.linklist li a::after {
	width: .5em;
	height: .5em;
	background: #FFF;
	clip-path: polygon(0 0, 0 100%, 100% 50%);
	margin: .2em 0 0 .25em;
}

.noteline {
	background-image: radial-gradient(circle, #4D4D4D 1.5px, transparent 1.5px);
	background-position: -1px 1.2em;
	background-repeat: repeat;
	background-size: 10px 2.5em;
	line-height: 2.5em;
	position: relative;
	padding-bottom: 2px;
}
.noteline::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: .4em;
	background: #FFF;
}
.lpbnr li {
	margin-top: .8em;
}


@media screen and (max-width : 599px) {
h1.pagettl {
	padding: 1.7em 0;
}
.recommend h1.pagettl {
	padding: 1.2em 0 .8em;
}
}

@media screen and (min-width : 600px) {
h1.pagettl {
	background-size: 100% auto !important;
	padding: 9% 0;
}
.recommend h1.pagettl {
	padding: 6.4% 0;
}

}

@media screen and (min-width : 768px) {
h1.pagettl {
	margin-bottom: 1em;
	font-size: 2em;
}
.breadcrumb {
	font-size: .8em;
}
.sec h2.hlrd {
	font-size: 1.3em;
}
.pcflex {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.pcfll {
	float: left;
	width: 40%;
	margin: 0 3% 1em 0 !important;
}
.pcflr {
	float: right;
	width: 40%;
	margin: 0 0 1em 3% !important;
}

.lpbnr li {
	width: 49.3%;
}
.lpbnr li:last-of-type {
	margin-left: auto;
	margin-right: auto;
}

}

@media screen and (min-width : 1000px) {
h1.pagettl {
	padding: 2.6em 0;
	background-size: 1000px auto !important;
}
.recommend h1.pagettl {
	padding: 2em 0;
}
}

/***** 今月のおすすめ治療 *****/
.rcmdcal {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 0 auto 1em !important;
	position: relative;
}
.rcmdcal .cal {
	width: 49%;
	margin: 0 0 .3em !important;
}
.rcmdcal .caltbl {
    margin: auto;
	font-size: .7em;
}
.rcmdcal .caltbl caption {
	width: 100%;
	background: #F3A9BB;
	border-radius: 0;
	padding: .2em 0;
	font-size: 1.1em;
	margin: 0;
}
.rcmdcal .caltbl caption span:nth-of-type(1),
.rcmdcal .caltbl caption::after {
	display: none;
}
.rcmdcal .caltbl caption span:nth-of-type(2) {
	display: inline;
}
.rcmdcal .caltbl th,
.rcmdcal .caltbl td {
	border: 1px solid #C3C3C3;
}
.rcmdcal .caltbl th {
	border-top: none;
	font-size: .8em;
}
.rcmdcal .caltbl::after {
	background: #C3C3C3;
}
.recommend .calnotes {
	width: 100%;
	text-align: center;
	font-size: .8em;
}
.recommend .calnotes::before {
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 1.5em;
	height: 1.2em;
	background: #F6EEE6;
	margin: 0 .2em .2em 0;
}

.rcmdlist {
	text-align: left;
	margin: 0 auto 2em; 
}
.rcmdlist li a {
	display: block;
	color: #FFF;
	padding: .3em 4%;
	font-size: 1.1em;
	border-radius: .2em;
	margin-bottom: .5em;
	position: relative;
}
.rcmdlist li a::before,
.rcmdlist li a::after {
	content: "";
	position: absolute;
	display: inline-block;
	right: 4%;
	top: calc(50% - .6em);
}
.rcmdlist li a::before {
	width: 1.2em;
	height: 1.2em;
	border-radius: 50%;
	background: rgba(255,255,255,.3)
}
.rcmdlist li a::after {
	width: .8em;
	height: .6em;
	background: #FFF;
	clip-path: polygon(0 0, 100% 0%, 50% 100%);
	margin: .4em .2em 0 0;
}
.rcmdlist li:nth-of-type(1) a { background: #F9A3BC;}
.rcmdlist li:nth-of-type(2) a { background: #8DAFF3;}
.rcmdlist li:nth-of-type(3) a { background: #F9A897;}
.rcmdlist li:nth-of-type(4) a { background: #EA93AC;}

.rcmdcard {
	background: url(../img/rcmd-card.png) no-repeat -1.5em 100%, url(../img/rcmd-bg.jpg) no-repeat 50% 0;
	background-size: auto 110%, auto 180%;
    color: #E44C6C;
    padding: 1em 2% 1em;
    margin: 1.8em auto .7em;
	line-height: 1.6;
	text-align: right;
}
.rcmdcard p {
	display: inline-block;
	text-align: center;
}
.rcmdcard strong {
	font-size: 1.5em;
	margin-bottom: .3em;
    display: block;
}

.rcmdctc {
	margin: 1em auto;
}
.rcmdctc dt {
	background: #D3B4A4;
	color: #FFF;
	font-size: 1.1em;
	padding: .2em 0 calc(.2em - 2px) 0;
	border-radius: .4em .4em 0 0;
}
.rcmdctc dd {
	border: 2px solid #D3B4A4;
	border-radius: 0 0 .4em .4em;
	padding: .5em 2%;
}
.rcmdctc dd ul {
	display: flex;
	justify-content: space-between;
	font-size: 1.05em;
	width: min(100%, 600px);
	margin: auto;
}
.rcmdctc dd li {
	width: 49%;
}
.rcmdctc dd li a {
	display: block;
	color: #FFF;
	border-radius: .2em;
	background: #D3B4A4;
	padding: .6em 0;
}
.rcmdctc dd li a::before {
	content: "";
	display: inline-block;
	width: 1.6em;
	height: 1.3em;
	vertical-align: middle;
	margin: 0 .1em .2em 0;
}
.rcmdctc dd li:nth-of-type(1) a::before {
	background: url(../img/contact_line.png) no-repeat 50% 0;
	background-size: 4.5em auto;
}
.rcmdctc dd li:nth-of-type(2) a::before {
	background: url(../img/contact_reserve.png) no-repeat 50% 0;
	background-size: 3em auto;
}
.rcmdctc dd p {
	text-align: center;
	margin: 0;
}
.rcmdctc dd p img {
	height: 1.5em;
	margin: .8em auto .4em;
}
.rcmdctc dd p span {
	display: block;
}

.sec_rcmd {
	width: min(92%,800px);
	margin: 0 auto 3em;
}
.sec_rcmd h2 {
	margin: 0 auto 1em;
}
.sec_rcmd h3 {
	text-align: left;
	font-size: 1.1em;
	margin: 1.2em 0 .5em;
	line-height: 1.3;
	padding-left: .8em;
	text-indent: -.8em;
}
.sec_rcmd h3::before {
	content: "";
	display: inline-block;
	width: .7em;
	height: .7em;
	border-radius: 50%;
	vertical-align: middle;
	margin: 0 .1em .15em 0;
}
.rcmdprice {
	width: 100%;
	margin: 1em auto;
}
.rcmdprice img {
	height: 1.7em;
}
.rcmdprice td > span {
	display: inline-block;
	padding: .3em 3%;
	color: #FFF;
	line-height: 1.2;
	border-radius: .3em;
	font-size: .8em;
	margin: 0 3% 0 0;
	vertical-align: middle;
}
.rcmdprice p {
	text-align: center;
	font-size: .8em;
	margin: .3em 0 0;
}

.rcmdbtn {
	display: block;
	position: relative;
	width: min(75%,400px);
	margin: 1em auto;
	color: #FFF;
	font-size: 1.25em;
	border-radius: 2em;
	border: 1px solid #FFF;
	padding: .5em 1.3em .5em 0;
	box-shadow: 0px 2px 2px rgba(0,0,0,.3);
}
.rcmdbtn::before,
.rcmdbtn::after {
	content: "";
	display: inline-block;
	position: absolute;
	top: calc(50% - .6em);
	right: calc(50% - 5.2em);
}
.rcmdbtn::before {
	width: 1.2em;
	height: 1.2em;
	border-radius: 50%;
	background: rgba(255,255,255,.3);
}
.rcmdbtn::after {
	width: .5em;
	height: .7em;
	background: #fff;
	clip-path: polygon(0 0, 0 100%, 100% 50%);
	margin: .25em .3em 0 0;
}

.rcmdbox dt {
	padding: .4em 0;
	line-height: 1;
	color: #FFF;
	font-size: 1.15em;
	border-radius: 2em;
	position: relative;
	z-index: 1;
}
.rcmdbox dt img {
	height: .91em;
	vertical-align: top;
}
.rcmdbox dd {
	text-align: left;
	padding: 1.5em 0 .5em 4%;
	margin-top: -1em;
}
.rcmdbox dd li {
	padding-left: 1.1em;
}

.rcmdfigtxt {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	margin: 1em auto;	
}
.rcmdtxt {
	width: 59%;
}
.rcmdfigtxt figure {
	width: 38%;
	margin: 0;
}
.rcmdfigtxt h3 {
	text-align: center;
	margin: 0 0 .3em;
}
.rcmdfigtxt h3::after {
	content: "";
    display: inline-block;
    width: .7em;
    height: .7em;
    border-radius: 50%;
    vertical-align: middle;
    margin: 0 0 .15em .1em;
	background: #4A82D8;
}
.rcmdtxtlist {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.rcmdtxtlist li {
	width: 49%;
	background: #DBEDFD;
	border-radius: .2em;
	padding: .5em 0;
	color: #1B78DC;
	font-size: .95em;
	margin-bottom: .5em;
}
.rcmdtxtlist li:last-of-type {
	width: 100%;
}
.rcmdptlist {
	margin-bottom: -.5em;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.rcmdptlist li {
	display: flex;
	align-items: center;
	justify-content: center;
	width: calc(49% - 2.2em);
	height: 2.6em;
	border-radius: 2em .3em .3em 2em;
	font-size: .9em;
	list-style: none;
	text-align: center;
	padding-left: 2.2em;
	margin: 0 0 2%;
	position: relative;
	background: #FFE8F0;
	color: #EB6291;
}
.rcmdptlist li::before,
.rcmdptlist li::after {
	content: "";
	position: absolute;
	display: block;
	z-index: 1;
}
.rcmdptlist li::before {
	border-radius: 2em;
	border: .1em solid #EBE2CE;
	background: url(../img/pt.png) no-repeat 50% 0.3em;
	background-size: 1.4em auto;
	top: 0;
	left: -1px;
	width: 2.4em;
	height: 2.4em;
	background-color: #E789AC;
}
.rcmdptlist li::after {
	left: 0;
	bottom: .4em;
	width: 2.4em;
	height: 2.4em;
	background-size: auto 1.1em !important;
}
.rcmdptlist li:nth-of-type(1)::after {background: url(../img/pt1.png) no-repeat 54% 100%;}
.rcmdptlist li:nth-of-type(2)::after {background: url(../img/pt2.png) no-repeat 54% 100%;}
.rcmdptlist li:nth-of-type(3)::after {background: url(../img/pt3.png) no-repeat 50% 100%;}
.rcmdptlist li:nth-of-type(4)::after {background: url(../img/pt4.png) no-repeat 50% 100%;}
.rcmdptlist li:nth-of-type(5)::after {background: url(../img/pt5.png) no-repeat 50% 100%;}
.rcmdptlist li:nth-of-type(6)::after {background: url(../img/pt6.png) no-repeat 50% 100%;}

.rcmdfig {
	margin: auto;
}
.rcmdfig figure {
	width: 90%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: relative;
}
.rcmdfig figure::before {
	content: "";
	display: block;
	position: absolute;
	top: 20%;
	right: 0;
	width: 80%;
	height: 60%;
	background: #FFF9FB;
	border-radius: 0 .3em .3em 0;
	z-index: -1;
}
.rcmdfig figure img {
	width: 38%;
}
.rcmdfig figcaption {
	width: 62%;
	color: #EB6291;
	line-height: 1.6;
}

#rcmd_sunekos h3 {
	color: #F681A7;
}
#rcmd_sunekos h3::before {
	background: #F681A7;
}
#rcmd_sunekos .rcmdprice td:first-of-type {
	width: 43%;
}
#rcmd_sunekos .rcmdprice td > span {
	background: #F9A3BC;
}
#rcmd_sunekos .rcmdbox dt {
	background: #F791B1;
}
#rcmd_sunekos .rcmdbox dd {
	background: #FEF7F9;
}
#rcmd_sunekos .rcmdbox dd li {
	background: url(../img/iconlist-p.png) no-repeat 0 .2em;
	background-size: auto 1em;
}
#rcmd_sunekos .rcmdbtn::before,#rcmd_sunekos .rcmdbtn::after {
	right: calc(50% - 5.5em);
}
#rcmd_sunekos .rcmdbtn {
	background : linear-gradient(0deg, rgba(242, 98, 144, .85) 0%, rgba(243, 107, 150, .85) 9.78%, rgba(247, 131, 167, .85) 25.72%, rgba(254, 171, 194, .85) 45.74%, rgba(255, 180, 200, .85) 50%, rgba(254, 171, 194, .85) 54.26%, rgba(247, 131, 167, .85) 74.28%, rgba(243, 107, 150, .85) 90.22%, rgba(242, 98, 144, .85) 100%);
}
#rcmd_juvelook h3 {
	color: #4A82D8;
}
#rcmd_juvelook h3::before {
	background: #4A82D8;
}
#rcmd_juvelook .rcmdprice td {
	width: 50%;
}
#rcmd_juvelook .rcmdprice td > span {
	background: #719EEF;
}
#rcmd_juvelook .rcmdbox dt {
	background: #88ACF3;
}
#rcmd_juvelook .rcmdbox dd {
	background: #EFF9FF;
}
#rcmd_juvelook .rcmdbox dd li {
	background: url(../img/iconlist-b.png) no-repeat 0 .2em;
	background-size: auto 1em;
}
#rcmd_juvelook .rcmdbtn {
	background : linear-gradient(0deg, rgba(63, 125, 232, .85) 0.86%, rgba(144, 205, 255, .85) 50%, rgba(63, 125, 232, .85) 100%);
}
#rcmd_pierce {
	margin-top: 3em;
}
#rcmd_pierce h3 {
	color: #F87E65;
}
#rcmd_pierce h3::before {
	background: #F87E65;
}
#rcmd_pierce .rcmdprice {
	margin-bottom: -1em;
}
#rcmd_pierce .rcmdprice td > span {
	background: #F9A392;
}
#rcmd_pierce .rcmdprice td p {
	padding-right: 22%;
}
#rcmd_pierce .rcmdbtn {
	background : linear-gradient(0deg, rgba(253, 110, 108, 0.8) 0%, rgba(252, 119, 116, 0.84) 9.28%, rgba(251, 143, 137, 0.9) 24.42%, rgba(249, 183, 171, 0.97) 43.42%, rgba(248, 198, 184, 1) 50%, rgba(249, 183, 171, 0.97) 56.58%, rgba(251, 143, 137, 0.9) 75.58%, rgba(252, 119, 116, 0.84) 90.72%, rgba(253, 110, 108, 0.8) 100%);
}
#rcmd_depi h3 {
	color: #D9457A;
}
#rcmd_depi h3::before {
	background: #D9457A;
}
#rcmd_depi .rcmdprice {
	width: min(95%,21.5em);
}
#rcmd_depi .rcmdprice td:nth-of-type(2),
#rcmd_depi .rcmdprice td p {
	text-align: right;
	margin: .3em 0 0;
}
#rcmd_depi .rcmdprice:first-of-type td:first-of-type {
	text-align: left;
}
#rcmd_depi .rcmdprice td {
	padding-bottom: .5em;
}
#rcmd_depi .rcmdprice td > span {
	background: #EA93AC;
	margin: 0;
}
#rcmd_depi .rcmdprice:nth-of-type(2) td:first-of-type {
	padding-right: 3%;
}
#rcmd_depi .rcmdprice:nth-of-type(2) td:nth-of-type(2) {
	padding-left: 3%;
}
#rcmd_depi .rcmdprice:nth-of-type(2) td,
#rcmd_depi .rcmdprice:nth-of-type(2) td p {
	text-align: center;
}
#rcmd_depi .rcmdprice:nth-of-type(2) td > span {
	width: 100%;
	padding-left: 0;
	padding-right: 0;
	margin-bottom: .5em;
}
#rcmd_depi .rcmdbtn {
	background : linear-gradient(0deg, rgba(207, 20, 90, 0.6) 0%, rgba(210, 29, 96, 0.65) 5.98%, rgba(217, 53, 113, 0.73) 15.73%, rgba(229, 93, 140, 0.82) 28.05%, rgba(245, 148, 178, 0.94) 42.3%, rgba(255, 180, 200, 1) 50%, rgba(245, 148, 178, 0.94) 57.7%, rgba(229, 93, 140, 0.82) 71.95%, rgba(217, 53, 113, 0.73) 84.27%, rgba(210, 29, 96, 0.65) 94.02%, rgba(207, 20, 90, 0.6) 100%);
}

@media screen and (min-width : 600px) {
.rcmdcard {
	text-align: center;
}
}

@media screen and (min-width : 768px) {
.rcmdcal {
	font-size: 1.2em;
}
.rcmdlist li {
	width: 49.5%;	
}
.rcmdlist li a {
	padding: .6em 4%;
	font-size: .9em;
}
.rcmdbox dd li {
	float: left;
	width: calc(50% - 1.1em);
	padding-left: 1.1em;
}
.rcmdcard {
	background: url(../img/rcmd-card.png) no-repeat 0 100%, url(../img/rcmd-bg.jpg) no-repeat 50% 0;
	background-size: auto 110%, auto 180%;
    padding: .5em 0;
	font-size: 1.1em;
}
.rcmdprice {
	width: min(100%, 500px);
	font-size: 1.05em;
}
.rcmdprice img {
	height: 2em;
}
.rcmdtxt {
	width: 73%;
}
.rcmdfigtxt figure {
	width: 25%;
}
.rcmdfigtxt h3 {
	margin: 0 0 .5em;
}

.rcmdptlist li {
	width: calc(24% - 2.2em);
}
.rcmdfig {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.rcmdfig figure {
	width: 48%;
	margin: 0 0 1em;
}

#rcmd_pierce .pcflr {
	width: 48%;
	margin: 0 0 1em 2% !important;
}
}

@media screen and (min-width : 1000px) {
.rcmdlist li {
	width: 24.5%;	
	line-height: 2;
}
}

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

.txtttl {
	background: #DCBBAB;
	padding: .7em 0;
	color: #FFF;
	font-size: 1.2em;
	margin-bottom: 1em;
}

.form {
	padding-bottom: 0;
}

@media screen and (min-width : 768px) {
.recommend .header .header_nav {
	display: none;
}
}

.form .rcmdctc {
	width: min(95%,600px);	
}
.form .rcmdctc dt {
	background: #E97890;
}
.form .rcmdctc dd {
	border: 1px solid #E97890;
	padding-top: 0;
}

.formcal {
	width: min(95%,600px);
	margin: 1em auto .5em;
	border: 1px solid #EAD8CE;
	font-size: .8em;
}
.formcal th {
	background: #DCBBAB;
	color: #FFF;
	text-align: center;
	padding: .3em 0;
}
.formcal th:nth-of-type(n + 2),
.formcal td:nth-of-type(n + 2) {
	width: 10%;
	border-left: 1px solid #EAD8CE;
}
.formcal td:nth-of-type(n + 2) {
	font-size: 1.5em;
}
.formcal td {
	text-align: center;
	padding: .5em 0;
}
.formcal td strong {
	color: #EA7792;
}

.formtbl {
	width: 100%;
	margin: 1em auto;
	font-size: .9em;
}
.formtbl caption  {
	width: 80%;
	margin: 1em auto;
	background: #EA8190;
	color: #FFF;
	padding: 0.2em 0;
	border-radius: 1.5em;
	font-size: 1.2em;
}
.formtbl th,
.formtbl td {
	display: block;
	line-height: 1.6;
	text-align: left;
}
.formtbl th {
	position: relative;
	background: #EFEFEF;
	padding: .5em 2%;
}
.formtbl td {
	padding: .3em 2% 1.2em;
}
.formtbl th::before,
.formtbl .formdate::after {
	content: "必須";
    background: #E17C90;
    display: inline-block;
    vertical-align: middle;
    color: #fff;
    font-size: .6em;
	padding: .1em .7em;
}
.formtbl th::before {
	margin: 0 .7em .3em 0;
}
.formtbl th.any::before {
	content: "任意";
    background: #808080;
}
.formtbl .formdate::after {
	margin: 0 0 .3em .7em;
}
.formtbl td.bd {
	padding-top: 1em;
	border-top: 1px solid #4D4D4D;
}
.formtbl input[type="text"],
.formtbl input[type="number"],
.formtbl input[type="tel"],
.formtbl input[type="email"],
.formtbl select,
.formtbl textarea {
	border: solid 1px #4D4D4D;
	border-radius: 0;
	box-shadow: none !important;
	padding: .7em;
	margin: .3em 0;
	vertical-align: middle;
	font-size: 16px;
    -webkit-appearance: none;
	font-family: sans-serif;
}
.formtbl input[type="number"] {
	width: 4.5em;
}
.formtbl input[type="text"],
.formtbl input[type="email"] {
	width: 90%;
}
.formtbl input[type="tel"] {
	width: 50%;
}
.formtbl input[type="radio"],
.formtbl input[type="checkbox"] {
	vertical-align: middle;
	line-height: 1;
	margin: 0;
	width: 1em;
	height: 1em;
}
.formtbl ::placeholder {
	color: #ccc;
}
.formtbl textarea {
	width: 90% !important;
	height: 10em !important;
}
.formtbl label {
	display: inline-block !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 1em 0 0 !important;
}
.formtbl .formtx label {
	display: block !important;
	margin: .2em 1em .2em 0 !important;
}
.formtbl td div.bd {
	border-top: 1px solid #4d4d4d;
	padding-top: .7em;
	margin-top: .8em;
}

.formbtn {
	display: block;
	width: min(70%, 400px);
	text-align: center;
	margin: 2em auto 4em;
	border-radius: .2em; 
	background: #DCBBAB;
	position: relative;
}
.formbtn::after {
	content: "";
	position: absolute;
	right: calc(50% - 4.8em);
	top: calc(50% - .5em);
	display: inline-block;
	width: .7em;
	height: 1em;
	background: #FFF;
	clip-path: polygon(0 0, 0 100%, 100% 50%);
}
.formbtn input,
.formbtn input:hover,
.formbtn a,
.formbtn a:hover {
	border: none;
	border-radius: 0; 
	background: none;
	color: #fff;
	font-size: 1.1em;
	line-height: 1;
	outline: none;
	cursor: pointer;
    -webkit-appearance: none;
	position: relative;
	z-index: 1;
	padding: .8em 0;
	display: block;
	width: 100%;
	margin: 0;
	text-indent: -.5em;
}

/* default customize */
.mfp_ok {
    background-color: #FFF;
}
div.mfp_ok {
	display: none !important;
}
:focus {
	outline-color: #000;
}
form#mailformpro label.mfp_checked {
    padding: 0 !important;
    border: none !important;
    background-color: #FFF !important;
    box-shadow: none !important;
}
.mfp_element_submit {
	text-shadow: none;
}
#mfp_BirthdayElement_mfp_element_8_month {
	margin: 0 .5em;
}

