@charset "UTF-8";
/* ========================================================
	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;}
.wd12 {width: 12%;}
.wd15 {width: 15%;}
.wd20 {width: 20%;}
.wd23 {width: 23%;}
.wd30 {width: 30%;}
.wd35 {width: 35%;}
.wd40 {width: 40%;}
.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;}
.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; }
.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.2em;
	vertical-align: middle;
}
.header .header_clinic span img {
	height: .8em;
	margin: 0 0 .1em .5em;
}
.header .header_nav_menu {
	width: 100%;
}
.footer small {
	display: block;
	color: #fff;
	background: #D0C2B9;
	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(188,167,142,.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: 2em;
	padding: 0 0 .1em 3%;
}
.header .contact li {
	width: 23%;
	text-indent: -9999px;
	position: fixed;
	bottom: 0;
	z-index: 100;
}
.header .contact li.contact_mail { left: 1%;}
.header .contact li.contact_reserve { left: 24%;}
.header .contact li.contact_tel { left: 47%;}
.header .contact li.contact_line { left: 70%; width: 29%;}
.header .contact li a {
	background: #C5B7A4;
	height: 2.8em;
	display: flex;
	outline: none;
	background-size: auto .8em;
	background-position: 50%;
	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);
	border-right: none;
}
.header .contact li.contact_tel a {
	background-image: url(/img/contact_tel.png);
}
.header .header_nav_btn {
	position: fixed;
	right: 0;
	top: 0;
	background: #FFF;
	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: 2.5px;
	background: #bca78e;
	border-radius: 3px;
	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: #bca78e;
	position: fixed;
	left: 0;
	top: 2.1em;
	text-align:  left;
}
.header .header_nav_menu li a {
	display: block;
	color: #fff;
	text-decoration: none;
	border-top: 1px solid rgba(255, 255, 255, .5);
	padding: 0.7em 5%;
	letter-spacing: 0;
}
.header .header_nav_menu li:first-of-type a {
	border-top: none;
}
.header .header_nav_menu li ul {
	padding-left: 1.5em;
	border-top: 1px dashed rgba(255, 255, 255, .3);
}

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

@media screen and (min-width : 768px) {
.header {
	padding-top: .7em;
	padding-bottom: 1em;
	background: #FFF;
}
.header .wrap {
	width: min(98%, 1000px);
}
.header .header_clinic {
	float: left;
	margin-bottom: .5em;
	font-size: 1.5em;
}
.header .header_clinic span img {
	margin-top: .3em;
	font-size: .8em;
}
.header .contact li a {
	float: right;
	font-size: 1.1em;
}
.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: #C5B7A4;
	margin: 0 0 .5em 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: #C5B7A4;
	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: #bca78e;
	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
======================================================== */
.cont p,
.sec p {
	text-align: justify;
	margin-bottom: .7em;
}
.cont figure,
.sec figure {
	margin: 0 auto .8em;
}

/*.cmn .sec,*/
.sec {
	position: relative;
	margin-top: 1.5em;
	padding-top: .6rem;
}
.sec.bgcl {
	padding-top: calc(.6rem + 1em);
}
/*.index .sec::before,*/
.sec::before {
	content: "";
	display: block;
	width: 100%;
	height: .6rem;
	background: url(/img/bg.png) 50% 50% no-repeat #FFF;
	background-size: auto .35rem;
	position: absolute;
	top: 0;
}
.sec h2.gf-nt {
	font-size: 1.25em;
	margin-bottom: .8em;
}

.txtlink {
	text-align: right !important;
	margin-top: .3em;
}
.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;
}

.infotbl {
	width: 100%;
	margin: 1em auto 1.5em;
	border-bottom: 1px solid #6C6C6C;
	line-height: 1.7;
}
.infotbl tr {
	border-top: 1px solid #6C6C6C;
}
.infotbl th,
.infotbl td {
	text-align: left;
	padding: .6em 0 .6em .5em;
	vertical-align: top;
}
.infotbl th {
	position: relative;
	width: 4.5em;
}
.infotbl th::after {
	content: "：";
	position: absolute;
	right: -.2em;
}
.infotbl td div {
	margin-top: .3em;
}

.map {
	margin: 0 auto .8em;
}
.map figcaption {
	line-height: 1.6;
	font-size: 1.1em;
	color: #bd9e8a;
	margin: 1.8em auto 1em;
}
.gmapbtn,
.route dt {
	display: block;
	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);
	margin: 1em auto;
	line-height: 1;
}
.gmapbtn::before,
.gmapbtn::after,
.route dt::before,
.route dt::after {
	content: "";
	position: absolute;
	top: calc(50% - .5em);
	display: inline-block;
}
.gmapbtn::before,
.route dt::before {
	width: 1.2em;
	height: 1.2em;
	border-radius: 50%;
	background: rgba(255,255,255,.3);
}
.gmapbtn::after,
.route dt::after {
	background: #FFF;
}
.gmapbtn {
	background: url(/img/gmapbtn.png) no-repeat calc(50% - 5.2em) 50% #CEC2B9;
	background-size: auto 1.2em;
	width: min(90%,600px);
	padding: .9em 0 .7em;
}
.gmapbtn::before,
.gmapbtn::after {
	right: calc(50% - 6.3em);
}
.gmapbtn::after {
	width: .6em;
	height: .7em;
	clip-path: polygon(0 0, 0 100%, 100% 50%);
	margin: .2em .2em 0 0;
}
.route dt {
	background: #CEC2B9;
	width: min(calc(90% - 1.5em),calc(600px - 1.5em));
	padding: .9em 1.5em .7em 0;
}
.route dt::before,
.route dt::after {
	right: calc(50% - 7.5em);
}
.route dt::after {
	width: .7em;
	height: .6em;
	clip-path: polygon(0 0, 100% 0%, 50% 100%);
	margin: .35em .25em 0 0;
}
.route dt.close::after {
	clip-path: polygon(0 100%, 50% 0, 100% 100%);
	margin: .2em .25em 0 0;
}
.route li p {
	margin: .5em auto 1.5em !important;
}

.fmenu {
	display: flex;
	flex-wrap: wrap;
	font-size: .9em;
	border-top: 1px solid #6C6C6C;
	position: relative;
	margin: 2.5em auto 0;
}
.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: 3em;
}
.fnav {
	background: #D0C2B9;
	font-size: .9em;
	padding: .8em 0;
	position: relative;
}
.fnav::after {
	content: "";
	display: block;
	position: absolute;
	bottom: 1px;
	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) {
.infotbl tr:nth-of-type(2) td {
	letter-spacing: -.07em;
}
.sec#clinic .infotbl tr,
.sec#clinic .infotbl th,
.sec#clinic .infotbl td {
	display: block;
}
.sec#clinic .infotbl th {
	float: left;
	margin-right: .5em;
}
.sec#clinic .infotbl td div {
	clear: both;
}

}


@media screen and (min-width : 768px) {
.sec {
	padding-top: 7rem;
}
.sec.bgcl {
	padding-top: calc(7rem + 1em);
}
.sec::before {
	height: 7rem;
	background-size: auto 4rem;
}
.sec h2.gf-nt {
	font-size: 1.4em;
}

.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;
}

.infotbl td div {
	margin-left: -5em;
}
.infotbl td:nth-last-of-type(2) {
	width: 35%;
}

.route li p {
	text-align: center !important;
}
.fmenu {
	margin-top: 4em;
}
.fmenu li {
	width: 25%;
}
.fmenu li:nth-of-type(4n - 1) a {
	border-left: 1px solid #6C6C6C;
}
.fmenu li a:hover {
	color: #C5B7A4;
	transition : .2s;
}
}

/* ========================================================
	Page
======================================================== */
.menu {
	margin: 2.5em auto 6em;
	margin: 2.5em auto;
	width: min(80%, 450px);
}
.menu dt {
	background: #DDD5C9;
	color: #FFF;
	font-size: 1.1em;
	letter-spacing: .1em;
	padding: .3em 1em .3em 0;
	border-radius: 2em;
	margin-bottom: -1em;
	position: relative;
	z-index: 1;
	cursor: pointer;
}
.menu dt::after {
	content: "＋";
	display: inline-block;
	width: 1em;
	height: 1em;
	background: #FFF;
	border-radius: 50%;
	position: absolute;
	right: calc(50% - 4em);
	top: calc(50% - .5em);
	font-size: 1.2em;	
	color: #DDD5C9;
	text-align: center;
	line-height: 1;
	letter-spacing: 0;
}
.menu dt.close::after {
	content: "－";
}
.menu dd {
	background: #FBF9F8;
	padding: 2em 4% .5em 10%;
}
.price .menu dd {
	padding-left: 5%;
}
.menu dd > ul {
	text-align: left;
	border-bottom: 1px dashed #F2E5DC;
}
.menu dd li {
	padding-left: .7em;
	text-indent: -.7em;
}
.menu dd li a {
	display: block;
	border-top: 1px dashed #F2E5DC;
	padding: .4em 0 .4em 2%;
}
.menu dd li a::before {
	content: "・";
}
.menu dd li li a {
	padding-left: 1em;
	position: relative;
}
.menu dd li li a::before,
.menu dd li li a::after {
	content: "";
	display: inline-block;
	vertical-align: middle;
	background: #333;
}
.menu dd li li a::before {
	height: 1px;
	width: .5em;
	margin: 0 .2em .1em 0;
}
.menu dd li li a::after {
	position: absolute;
	top: .8em;
	left: .3em;
	height: .9em;
	width: 1px;
}



/*	index page
------------------------------*/
.mv {
	margin: auto;
	text-align: center;
	position: relative;
	visibility: hidden;
}
.mv.slick-initialized{
	visibility: visible;
}
.mv::after {
	content: "";
	display: block;
	width: calc(100% + 3em);
	height: 4em;
	position: absolute;
	background: #FFF;
	bottom: -2em;
	border-radius: 50% 50% 0 0;
	margin: 0 -1.5em;
}
.mv .slick-dots {
	position: absolute;
	width: 100%;
	left: 0;
	bottom: -.5em;
	z-index: 10;
}
.mv .slick-dots li {
	display: inline;
	margin: 0 1%;
}
.mv .slick-dots li button {
	background: #F2EBEA;
	display: inline-block;
	text-indent: -9999px;
	width: .8em;
	height: .8em;
	border-radius: 50%;
	border: none;
	padding: 0;
	cursor: pointer;
	outline: none;
}
.mv .slick-dots li.slick-active button {
	background: #C5B7A4;
}

.catch {
	color: #a58c83;
	font-size: 1.2em;
	line-height: 1.4;
	margin: 1em 0 .5em;
	position: relative;
	z-index: 10;
	font-weight: 700;
}
.dr {
	position: relative;
	padding-top: 4.5em;
	margin: 0 -4% 1em 0;
}
.dr::before {
	content: "";
	position: absolute;
	display: block;
	width: 4em;
	height: 100%;
	bottom: 0;
	background: #FFF;
	right: 0;
}
.dr img {
	width: 10.5em;
	height: 10.5em;
	position: absolute;
	bottom: 0;
	object-fit: cover;
	object-position: left top;
	right: calc(-4% - 2.5em);
}
.dr figcaption {
	line-height: 1.5;
	font-size: 1.1em;
	border: .6em solid #F6F1F1;
	padding: .5em 1%;
	letter-spacing: -.05em;
}
.dr figcaption span {
	display: block;
	text-align: left;
}
.dr figcaption span:nth-of-type(2) {
	text-align: right;
}

.deptnav {
	font-size: 1.15em;
	margin: 1em auto;
}
.deptnav li {
	margin: .7em 0;
}
.deptnav li a {
	display: block;
	padding: .9em 7%;
}
.deptnav li:not(.gf-nt):not(.gf-sm) a {
	font-size: .85em;
	background: #F0EDEC;
	color: #a58c83;
}
.deptnav li:not(.gf-nt):not(.gf-sm)::after {
	content: "";
	display: block;
	width: 100%;
	height: 3.5em;
	background: url(/img/bg.png) 50% 100% no-repeat;
	background-size: auto .35rem;
}
.deptnav li.gf-nt a {
	background: url(/img/deptnav_bg.jpg) no-repeat 100% 0 #FDFDFD;
	background-size: auto 100%;
	text-align: left;
}
.deptnav li.gf-nt span {
	display: inline-block;
	width: 7em;
	padding: .4em 0;
	color: #FFF;
	text-align: center;
}
.deptnav li.gf-nt:nth-of-type(2) span { background: #AAC5E5; border-left: .35em solid #76A7E8;}
.deptnav li.gf-nt:nth-of-type(3) span { background: #A3CABA; border-left: .35em solid #84B19D;}
.deptnav li.gf-nt:nth-of-type(4) span { background: #EECFD5; border-left: .35em solid #E7AAB8;}
.deptnav li.gf-sm a {
	background: url(/img/deptnav_bgph.png) no-repeat 58% 50% #E8DBD4;
	background-size: auto 100%;
	padding: 1.3em 0;
}
.dept {
	padding-top: 1.3em;
	padding-bottom: 0;	
}
.dept h2 {
	position: absolute;
	right: 0;
	left: 0;
	margin: .5em auto 0;
	color: #FFF;
	font-size: 1.2em;
	width: min(40%,300px);
	padding: .6em 0;
	border-left: .35em solid;
	border-right: .35em solid;
}
.dept#dept_pn h2 {
	background: #AAC5E5;
	border-color: #76A7E8;
}
.dept#dept_al h2 {
	background: #A3CABA;
	border-color: #84B19D;
}
.dept#dept_cd h2 {
	background: #EECFD5;
	border-color: #E7AAB8;
}
.dept .wrap.bgw {
	padding: 4em 2% .5em;
	margin-bottom: 1.2em;
}
.dept figure.bgw {
	padding: 1em 4% 0;
	margin-bottom: 0;
}

.txnav {
	padding: 1.5em 0 1em;
}
.txnav ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.txnav li a {
	display: block;
}
.txnav .gf-sm li {
	margin-bottom: .5em;
	letter-spacing: -.05em;
	color: #9e837a;
	text-align: right;
	font-size: 1.07em;
	position: relative;
	z-index: 10;
}
.txnav .gf-sm li a {
	padding: 1.3em 8% 1.3em 3%;
	background-size: auto 100% !important;
	position: relative;
	z-index: 1;
}
.txnav .gf-sm li::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: calc(100% - .7em);
	height: calc(100% - .7em);
	border: .35em solid #F0CDD4;
	z-index: 0;
}
.txnav .gf-sm li:nth-of-type(7),
.txnav .gf-sm li:nth-of-type(9),
.txnav .gf-sm li:nth-of-type(10),
.txnav .gf-sm li:nth-of-type(12) {
	letter-spacing: -.15em;
}
.txnav .gf-sm li:nth-of-type(1) a { background: url(/img/txnav01.png) no-repeat;}
.txnav .gf-sm li:nth-of-type(2) a { background: url(/img/txnav02.png) no-repeat;}
.txnav .gf-sm li:nth-of-type(3) a { background: url(/img/txnav03.png) no-repeat;}
.txnav .gf-sm li:nth-of-type(4) a { background: url(/img/txnav04.png) no-repeat;}
.txnav .gf-sm li:nth-of-type(5) a { background: url(/img/txnav05.png) no-repeat;}
.txnav .gf-sm li:nth-of-type(6) a { background: url(/img/txnav06.png) no-repeat;}
.txnav .gf-sm li:nth-of-type(7) a { background: url(/img/txnav07.png) no-repeat;}
.txnav .gf-sm li:nth-of-type(8) a { background: url(/img/txnav08.png) no-repeat;}
.txnav .gf-sm li:nth-of-type(9) a { background: url(/img/txnav09.png) no-repeat;}
.txnav .gf-sm li:nth-of-type(10) a { background: url(/img/txnav10.png) no-repeat;}
.txnav .gf-sm li:nth-of-type(11) a { background: url(/img/txnav11.png) no-repeat;}
.txnav .gf-sm li:nth-of-type(12) a { background: url(/img/txnav12.png) no-repeat;}
.txnav .gf-sm li:nth-of-type(13) a { background: url(/img/txnav13.png) no-repeat;}
.txnav .gf-sm li:nth-of-type(14) a { background: url(/img/txnav14.png) no-repeat;}
.bnr {
	margin: 0 auto 1.5em;
}

.infolist {
	padding: 1em calc(3% + .5em) .5em 3%;
	height: 25em;
	overflow-y: scroll;
	scrollbar-color: auto #F6F1F1;
}
.infolist li {
	text-align: left;
	border-bottom: 1px solid #A7A7A7;
	margin-bottom: 1em;
	position: relative;
}
.infolist li span.cat {
	position: absolute;
	display: inline-block;
	padding: .1em .7em;
	font-size: .9em;
	color: #FFF;
	background: #DDD0CF;
	top: 0;
	right: 0;
}
.infolist li span.cat-p {background: #AAC5E5;}
.infolist li span.cat-a {background: #A3CABA;}
.infolist li span.cat-c {background: #EDCED5;}

.infolist li h3 {
	font-size: 1.1em;
	margin: .5em 0;
	line-height: 1.5;
}



@media screen and (max-width : 767px) {
.catch {
	letter-spacing: -.05em;
}
.dept .wrap.bgw {
	width: 90%;
}
.txnav .gf-sm li {
	width: 48.7%;
}
.bnr li {
	margin: 0 3px;
}
}

@media screen and (min-width : 600px) {
.dr {
	width: min(100%, 700px);
	margin: 0 auto 1.5em;
}
.dr img {
	right: 0;
}
.dr figcaption {
	padding: .5em 6em .5em 5%;
}
.txnav .gf-sm li {
	width: 32%;
}
}

@media screen and (min-width : 768px) {
.mv figure {
	background-size: 100% auto !important;
	background-color:rgba(255,255,255,0.8) !important;
	background-blend-mode:lighten !important;
}
.mv img {
	margin: auto;
	width: min(100%,1000px) !important;
}
.mv::after {
	width: 1200px;
	left: 50%;
	height: 10em;
	transform: translateX(-50%);
	bottom: -7em;
	margin: 0;
}
.mv .slick-dots {
	bottom: -.5em;
	bottom: 0;
}
.mv .slick-dots li {
	font-size: 1.2em;
}
.catch {
	font-size: 1.5em;
}
.dr {
	font-size: 1.2em;
}
.deptnav {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	font-size: 1.2em;
}
.deptnav li:not(.gf-nt) {
	width: 100%;
}
.deptnav li.gf-nt {
	width: 32.5%;
	margin: 1em 0 0;
}
.deptnav li:not(.gf-nt):not(.gf-sm)::after {
	background-size: auto 4rem;
}
.deptnav li.gf-sm a {
	background-size: auto 200%;
}

.dept.sec.bgcl {
	padding-top: calc(7rem + 2em);
}
.dept .wrap.bgw {
	width: 92%;
	width: min(92%,calc(1000px - 4%));
	padding: 4.5em 2% 1em;
	margin-bottom: 2.5em;
}
.dept .wrap figure.wd70 {
	margin: 0 0 1em 3%;
	width: 30%;
	float: right;
}
.txnav .gf-sm li {
	width: 24%;
	font-size: min(2.4vw,1.3em);
}
.txnav .gf-sm li:last-of-type {
	margin-right: 50.65%;
}
#news {
	padding-bottom: 2em;
}
.bnr {
	width: 96%;
	width: min(96%,1000px);
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.bnr li {
	width: 32%;
}
}


/*	middle page
------------------------------*/
.ttl {
	border-left: .2em #DF92A0 solid;
	text-align: left;
	padding: .1em 0 .1em .2em;
	font-size: 1.2em;
	margin-bottom: .5em;
}
.imgttl.gf-nt {
	margin-bottom: .5em;
	color: #EB7B97;
	background-size: auto 100% !important;
	background-size: 100% auto !important;
	font-size: 1.3em;
}
.imgttl.gf-nt span {
	font-weight: 700;
}
h2.imgttl.gf-nt span {
	font-size: 1.5em;
	font-style: italic;
}

.recommend .imgttl {
	background:  url(/img/imgttl_recommend.jpg) no-repeat 50% 0;
	color: #e66284;
}
.recommend .imgttl span span {
	display: block;
	margin: 1em 0 .3em;
}
.price .imgttl {
	background:  url(/img/imgttl_price.jpg) no-repeat 50% 0;
}

.breadcrumb {
	text-align: left;
	font-size: .6em;
	margin-bottom: 1em;
	margin-top: .5em;
}
.breadcrumb li {
	display: inline;
}
.breadcrumb li:nth-of-type(n + 2)::before {
	content: "＞";
	margin-right: .3em;
}

.calendar {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 0 auto 1em !important;
	position: relative;
}
.calendar .cal {
	width: 49%;
	margin: 0 0 .3em !important;
}
.calendar .caltbl {
	width: 100%;
    margin: auto;
	font-size: .7em;
}
.calendar .caltbl caption {
	width: 100%;
	background: #F3A9BB;
	color: #FFF;
	border-radius: 0;
	padding: .2em 0;
	font-size: 1.1em;
	margin: 0;
}
.calendar .caltbl th,
.calendar .caltbl td {
	border: 1px solid #C3C3C3;
	vertical-align: middle;
	height: 2em;
}
.calendar .caltbl th {
	border-top: none;
	background: #E3DAD9;
	color: #FFF;
	font-size: .8em;
	height: 1.3em;
}
.calendar .caltbl th:first-of-type {
	background: #C1848E;
}
.calendar .caltbl th:last-of-type {
	background: #7BA0D5;
}
.calendar .caltbl td:first-of-type {
	color: #9d1212;
}
.calendar .caltbl td:last-of-type {
	color: #223a80;
}
.calendar .caltbl td:nth-of-type(4),
.calendar .caltbl td.close {
	background: #F6EEE6;
}
.calendar .caltbl td:nth-of-type(4):empty {
	background: #FFF;
}
.calnotes {
	width: 100%;
	font-size: .82em;
}
.calnotes span span::before {
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 1.2em;
	height: 1em;
	background: #F6EEE6;
	margin: 0 .2em .2em;
}

.credit {
	text-align: left;
}
.credit img {
    height: 1.5em;
	margin: .2em .05% .2em 0;
	vertical-align: middle;
}
.credit img:nth-of-type(n + 9) {
	margin-right: .3%;
}
.price .credit {
	font-size: 1.05em;
}

.pricetbl {
	width: 100%;
	margin: 2em auto .5em;
}
.pricetbl caption {
	background: #F0EDEC;
	color: #a58c83;
	font-size: 1.1em;
	padding: .5em 2%;
	text-align: left;
	margin-bottom: .7em;
}
.pricetbl caption.ptblscap {
	background: none;
	color: inherit;
	font-size: 1em;
	padding: 0;
	margin: .5em 0;
}
.pricetbl th,
.pricetbl td {
	text-align: left;
	border: 1px solid #000;
	vertical-align: middle;
	padding: .6em 2%;
	height: 1.5em;
}
.pricetbl th span.fs85 {
	display: inline-block;
	line-height: 1.2;
}
.pricetbl td {
	width: 28%;
	padding-left: 0;
	text-align: right;
}
.pricetbl th.tac {
	padding-left: 0;
	padding-right: 0;
}


@media screen and (max-width : 599px) {
.imgttl.gf-nt {
	padding: 1.2em 0;
}
.recommend .imgttl {
	padding: .9em 0 .8em;
}
.pricetbl {
	font-size: .9em;
}
.price .pricetbl:nth-last-of-type(-n + 4) td {
	width: 22.5%;
}
}

@media screen and (min-width : 600px) {
.imgttl.gf-nt {
	background-size: 100% auto !important;
	padding: 7% 0;
}
.recommend .imgttl {
	padding: 5% 0;
}
}

@media screen and (min-width : 768px) {
.imgttl.gf-nt {
	margin-bottom: 1em;
	font-size: 2em;
}
.breadcrumb {
	font-size: .7em;
}
.calendar .cal {
	font-size: 1.2em;
}
.credit img {
    height: min(3.2vw, 1.8em);
	margin-right: .3% !important;
	margin-top: .5em;
}
.pricetbl {
	margin-top: 3em;
}
.pricetbl th,
.pricetbl td {
	padding: .6em 5%;
}
.pricetbl th:nth-of-type(2) {
	width: 20%;
}
}

@media screen and (min-width : 1000px) {
.imgttl.gf-nt {
	padding: 2em 0;
	background-size: 1000px auto !important;
}
.recommend .imgttl {
	padding: 1.5em 0;
}
.price .imgttl {
	background-position: 50% 10%;
}
}


/***** 今月のおすすめ治療 *****/
.recommend .footer {
	margin-top: 3em;
}

.recommend .wrap p {
	text-align: justify;
	margin-bottom: .7em;
}
.recommend .rcmdlist {
	text-align: left;
	margin: 0 auto 2em; 
}
.recommend .rcmdlist li a {
	display: block;
	color: #FFF;
	padding: .3em 4%;
	font-size: 1.05em;
	border-radius: .2em;
	margin-bottom: .5em;
	position: relative;
	background: #F0C6D0;
}
.recommend .rcmdlist li:nth-of-type(even) a {
	background: #E4DDD4;
}
.recommend .rcmdlist li a::before,
.recommend .rcmdlist li a::after {
	content: "";
	position: absolute;
	display: inline-block;
	right: 4%;
	bottom: calc(50% - .6em);
}
.recommend .rcmdlist li a::before {
	width: 1.2em;
	height: 1.2em;
	border-radius: 50%;
	background: rgba(255,255,255,.3)
}
.recommend .rcmdlist li a::after {
	width: .8em;
	height: .6em;
	background: #FFF;
	clip-path: polygon(0 0, 100% 0%, 50% 100%);
	margin: 0 .2em .2em 0;
}

.recommend .sec_rcmd {
	width: min(100%, 800px);
	margin: 3em auto 4em;
}
.recommend .sec_rcmd h2 {
	margin: 0 auto 1em;
}
.recommend .sec_rcmd h2 span {
	display: block;
	text-align: left;
	font-size: .85em;
	line-height: 1.3;
	margin-top: .5em;
}
.recommend .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;
	color: #E88DA9;
}
.recommend .sec_rcmd h3::before {
	content: "";
	display: inline-block;
	width: .7em;
	height: .7em;
	border-radius: 50%;
	vertical-align: middle;
	margin: 0 .1em .15em 0;
	background: #E88DA9;
}

.recommend #rcmd_ha h3 {
	color: #B44B4A;
}
.recommend #rcmd_sb h3,
.recommend #rcmd_sl h3 {
	color: #849FE2;
}
.recommend #rcmd_ha h3::before {
	background: #B44B4A;
}
.recommend #rcmd_sb h3::before,
.recommend #rcmd_sl h3::before {
	background: #849FE2;
}
.recommend #rcmd_ipl h3 {
	color: #4F8A63;
}
.recommend #rcmd_ipl h3::before {
	background: #4F8A63;
}
.recommend .sec_rcmd figcaption.gf-nt {
	background: #93AAE6;
	color: #5a80df;
	border-radius: .3em;
	padding: .8em 0;
	width: min(100%, 550px);
	margin: auto;
}
.recommend .rcmdbtn {
	display: block;
	position: relative;
	width: min(80%,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);
	background : linear-gradient(0deg, rgba(242, 98, 144, .8) 0%, rgba(243, 107, 150, .8) 9.78%, rgba(247, 131, 167, .8) 25.72%, rgba(254, 171, 194, .8) 45.74%, rgba(255, 180, 200, .8) 50%, rgba(254, 171, 194, .8) 54.26%, rgba(247, 131, 167, .8) 74.28%, rgba(243, 107, 150, .8) 90.22%, rgba(242, 98, 144, .8) 100%);
}

.recommend #rcmd_ha .rcmdbtn {
	background : linear-gradient(0deg, rgba(177, 42, 48, .9) 0%, rgba(182, 51, 58, .9) 10.39%, rgba(197, 77, 84, .9) 27.89%, rgba(221, 118, 126, .9) 50%, rgba(197, 77, 84, .9) 72.03%, rgba(183, 52, 58, .9) 89.6%, rgba(177, 42, 48, .9) 100%);
}
.recommend #rcmd_sb .rcmdbtn,
.recommend #rcmd_sl .rcmdbtn {
	background : linear-gradient(0deg, rgba(66, 94, 199, .7) 0%, rgba(72, 103, 205, 0.8) 18.69%, rgba(89, 127, 222, 0.41) 49.1%, rgba(90, 128, 223, 0.4) 50%, rgba(89, 127, 222, 0.41) 50.9%, rgba(72, 103, 205, 0.8) 81.31%, rgba(66, 94, 199, .7) 100%);
}
.recommend #rcmd_ipl .rcmdbtn {
	background : linear-gradient(0deg, rgba(47, 137, 90, 1) 0%, rgba(48, 138, 91, 0.8) 0%, rgba(58, 144, 99, 0.84) 9.99%, rgba(84, 160, 122, 0.91) 26.82%, rgba(126, 186, 158, 0.99) 48.3%, rgba(130, 188, 161, 1) 50%, rgba(83, 159, 120, 0.89) 77.98%, rgba(50, 139, 92, 0.8) 99.93%);
}
.recommend .rcmdbtn::before,
.recommend .rcmdbtn::after {
	content: "";
	display: inline-block;
	position: absolute;
	top: calc(50% - .6em);
	right: calc(50% - 6.5em);
}
.recommend .rcmdbtn::before {
	width: 1.2em;
	height: 1.2em;
	border-radius: 50%;
	background: rgba(255,255,255,.3);
}
.recommend .rcmdbtn::after {
	width: .5em;
	height: .7em;
	background: #fff;
	clip-path: polygon(0 0, 0 100%, 100% 50%);
	margin: .25em .3em 0 0;
}
.recommend .rcmdprice {
	width: min(100%,600px);
	margin: 1em auto;
}
.recommend .rcmdprice img {
	height: 1.7em;
}
.recommend .rcmdprice td > span {
	display: inline-block;
	padding: .1em 3%;
	color: #FFF;
	border-radius: .3em;
	font-size: .8em;
	margin: 0 3% 0 0;
	vertical-align: middle;
	background: #EEABBF;
}
.recommend .rcmdprice p {
	text-align: center;
	font-size: .8em;
	margin: .3em 0 0;
}
.recommend .rcmdprice th span {
	background: #E7D9C8;
	color: #FFF;
	display: block;
	width: 12em;
	margin: .7em auto .5em;
	padding: .2em 0;
	border-radius: 2em;
	font-size: 1.1em;
}
.recommend .rcmdptlst {
	margin-bottom: 1em;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.recommend .rcmdptlst 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: .95em;
	letter-spacing: -.03em;
	list-style: none;
	text-align: center;
	padding-left: 2.2em;
	margin: 0 0 2%;
	position: relative;
	background: #FDF8F9;
	color: #f26290;
}
.recommend .rcmdptlst li::before,
.recommend .rcmdptlst li::after {
	content: "";
	position: absolute;
	display: block;
	z-index: 1;
}
.recommend .rcmdptlst 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: #E488A0;
}
.recommend .rcmdptlst li::after {
	left: 0;
	bottom: .4em;
	width: 2.4em;
	height: 2.4em;
	background-size: auto 1.1em !important;
}
.recommend .rcmdptlst li:nth-of-type(1)::after {background: url(/img/pt1.png) no-repeat 54% 100%;}
.recommend .rcmdptlst li:nth-of-type(2)::after {background: url(/img/pt2.png) no-repeat 54% 100%;}
.recommend .rcmdptlst li:nth-of-type(3)::after {background: url(/img/pt3.png) no-repeat 50% 100%;}
.recommend .rcmdptlst li:nth-of-type(4)::after {background: url(/img/pt4.png) no-repeat 50% 100%;}
.recommend .rcmdptlst li:nth-of-type(5)::after {background: url(/img/pt5.png) no-repeat 50% 100%;}
.recommend .rcmdptlst li:nth-of-type(6)::after {background: url(/img/pt6.png) no-repeat 50% 100%;}
.recommend #rcmd_ha .rcmdptlst li {
	background: #EED7D7;
	color: #b51d28;
}
.recommend #rcmd_sb .rcmdptlst li,
.recommend #rcmd_sl .rcmdptlst li {
	background: #E0E7F8;
	color: #425ec7;
}
.recommend #rcmd_ha .rcmdptlst li::before {
	background-color: #BB6563;
}
.recommend #rcmd_sb .rcmdptlst li::before,
.recommend #rcmd_sl .rcmdptlst li::before {
	background-color: #8DA2D8;
}
.recommend #rcmd_ha .rcmdptlst li:nth-of-type(3),
.recommend #rcmd_sb .rcmdptlst li:nth-of-type(3),
.recommend #rcmd_sl .rcmdptlst li:nth-of-type(6) {
	letter-spacing: -.11em;
}
.recommend .rcmdboxlst dt {
	padding: .5em 0;
	line-height: 1;
	color: #FFF;
	font-size: 1.15em;
	border-radius: 2em;
	position: relative;
	z-index: 1;
	background: #EA9BB4;
}
.recommend .rcmdboxlst dt img {
	height: .9em;
	vertical-align: top;
}
.recommend .rcmdboxlst dd {
	text-align: left;
	padding: 1.5em 0 .5em 4%;
	margin: -1em 0 1em;
	background: #FDF8F9;
}
.recommend .rcmdboxlst dd li {
	padding-left: 1.1em;
	background: url(/img/rcmdboxlst01.png) no-repeat 0 .2em;
	background-size: auto 1em;
}
.recommend #rcmd_ha .rcmdboxlst dt {
	background: #BA595C;
}
.recommend #rcmd_sb .rcmdboxlst dt,
.recommend #rcmd_sl .rcmdboxlst dt {
	background: #93AAE6;
}
.recommend #rcmd_ha .rcmdboxlst dd {
	background: #FDF8F9;
}
.recommend #rcmd_sb .rcmdboxlst dd,
.recommend #rcmd_sl .rcmdboxlst dd {
	background: #F7F8FD;
}
.recommend #rcmd_sb .rcmdboxlst dd li,
.recommend #rcmd_sl .rcmdboxlst dd li {
	background: url(/img/rcmdboxlst02.png) no-repeat 0 .2em;
	background-size: auto 1em;
}
.recommend #rcmd_ipl .rcmdboxlst dt {
	background: #7DB79B;
}
.recommend #rcmd_ipl .rcmdboxlst dd {
	background: #F8FBF9;
}
.recommend #rcmd_ipl .rcmdboxlst dd li {
	background: url(/img/rcmdboxlst03.png) no-repeat 0 .2em;
	background-size: auto 1em;
}
.recommend .rcmdtxtlst {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -.2em .5em;
	justify-content: space-between;
}
.recommend .rcmdtxtlst li {
	background: #EEABBF;
	color: #eb6291;
	border-radius: .3em;
	padding: .4em 0;
	font-size: .9em;
	letter-spacing: -.05em;
	text-align: center;
	justify-content: space-between;
	flex-grow: 1;
	flex-shrink: 1;
	margin: .2em;
}
.recommend #rcmd_ipl .rcmdtxtlst li {
	background: #F0F7F4;
	color: #2f895a;
	border-radius: 2em;
	font-size: 1em;
	width: 49%;
	margin: .6em 0 0;
	flex: none;
}
.recommend .rcmdqa {
	position: relative;
	background: #FAF6F3;
	text-align: left;
	padding: 0.7em 0 1em;
	margin: 2em auto 1.5em;
	width: 108%;
}
.recommend .rcmdqa dt {
	color: #766214;
	margin: 0 0 0.5em 3%;
	font-size: 1.05em;
}
.recommend .rcmdqa dd {
	background: #FFF;
	margin: 0 3em 0 3%;
	padding: 0.5em 1em 0.5em 2%;
	font-size: 0.9em;
	line-height: 1.6;
}
.recommend .rcmdqa dd span {
	display: inline-block;
	position: relative;
	z-index: 1;
}
.recommend .rcmdqa::after {
	content: "";
	position: absolute;
	display: block;
	background: url(/img/picbg01.png) no-repeat calc(100% + 3.5em) 100%;
	background-size: 15.5em auto;
	width: 7em;
	height: 11em;
	right: 0;
	bottom: 0;
}
.recommend #rcmd_sl .rcmdptlst li:nth-last-of-type(-n + 2) {
	margin-bottom: 0;
}
.recommend #rcmd_sl figcaption {
	width: 16em;
	margin: 1em auto .5em;
}

.recommend .rcmdcard {
	background: url(/img/rcmd_card.png) no-repeat -1.5em 100%, url(/img/rcmd_cardbg.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;
}
.recommend .rcmdcard p {
	display: inline-block;
	text-align: center;
}
.recommend .rcmdcard strong {
	font-size: 1.5em;
	margin-bottom: .3em;
    display: block;
}
.recommend .rcmdrdbox {
	margin: 1em auto .5em;
}
.recommend .rcmdrdbox dt {
	background: #D3C2B7;
	color: #FFF;
	font-size: 1.1em;
	padding: .2em 0 calc(.2em - 2px) 0;
	border-radius: .4em .4em 0 0;
}
.recommend .rcmdrdbox dd {
	border: 2px solid #D3C2B7;
	border-radius: 0 0 .4em .4em;
	padding: .5em 2%;
}
.recommend .rcmdrdbox dd .rcmdctc {
	display: flex;
	justify-content: space-between;
	font-size: 1.05em;
	width: min(100%, 600px);
	margin: auto;
}
.recommend .rcmdrdbox dd .rcmdctc li {
	width: 49%;
}
.recommend .rcmdrdbox dd .rcmdctc li a {
	display: block;
	color: #FFF;
	border-radius: .2em;
	background: #D3C2B7;
	padding: .6em 0;
}
.recommend .rcmdrdbox dd .rcmdctc li a::before {
	content: "";
	display: inline-block;
	width: 1.6em;
	height: 1.3em;
	vertical-align: middle;
	margin: 0 .1em .2em 0;
}
.recommend .rcmdrdbox dd .rcmdctc li:nth-of-type(1) a::before {
	background: url(/img/rcmdctc_line.png) no-repeat 50% 0;
	background-size: auto 100%;
}
.recommend .rcmdrdbox dd .rcmdctc li:nth-of-type(2) a::before {
	background: url(/img/rcmdctc_reserve.png) no-repeat 50% 0;
	background-size: auto 80%;
}
.recommend .rcmdrdbox dd p {
	text-align: center;
	margin: 0;
}
.recommend .rcmdrdbox dd p a {
	display: inline-block;
	background: url(/img/telicon01.png) no-repeat calc(50% - 6.5em) .8em;
	background-size: auto 1.5em;
	padding-left: 2em;
}
.recommend .rcmdrdbox dd p img {
	height: 1.5em;
	margin: .8em auto .4em;
}
.recommend .rcmdrdbox dd p span {
	display: block;
}
.recommend .rcmdrdbox dd .payment {
	text-align: left;
}
.recommend .rcmdrdbox dd .payment li {
	display: inline;
}
.recommend .rcmdrdbox dd .payment li:first-of-type {
	margin-right: 1em;
}
.recommend .rcmdrdbox dd .payment li::before {
    content: "";
    display: inline-block;
    width: 0.7em;
    height: 0.7em;
    border-radius: 50%;
    background: #D3C2B7;
    margin: 0 0.2em 0 0;
}
.recommend .rcmdrdbox dd a.dlbtn {
	display: block;
	width: min(85%,400px);
	margin: .5em auto;
	color: #FFF;
	border-radius: .2em;
	background: url(/img/dlbtn_icon.png) no-repeat calc(50% - 6em) 50% #D3C2B7;
	background-size: auto 65%;
	padding: .4em 0;
	position: relative;
}
.recommend .rcmdrdbox dd a.dlbtn::before,
.recommend .rcmdrdbox dd a.dlbtn::after {
	content: "";
	position: absolute;
	top: calc(50% - .7em);
	right: calc(50% - 7em);
	display: inline-block;
}
.recommend .rcmdrdbox dd a.dlbtn::before {
	width: 1.4em;
	height: 1.4em;
	border-radius: 50%;
	background: #FFF;
}
.recommend .rcmdrdbox dd a.dlbtn::after {
	background: #D3C2B7;
	width: .9em;
	height: .8em;
	clip-path: polygon(0 0, 100% 0%, 50% 100%);
	margin: .35em .25em 0 0;
}
.recommend .rcmdmsg {
	position: relative;
	width: min(100%, 500px);
	margin: 9em auto 0;
}
.recommend .rcmdmsg h2 {
	color: #e66284;
	text-align: left;
	line-height: 1.5;
}
.recommend .rcmdmsg figure > img {
	position: absolute;
	width: 13em;
	right: -4em;
	bottom: .5em;
	z-index: -1;
}
.recommend .rcmdmsg figcaption img {
	height: 2.3em;
	margin-top: .5em;
}
.recommend .route {
	margin-bottom: 3em;
}
.recommend #rcmd_ipl figure:first-of-type {
	margin: -1.3em 0 -4em;
	position: relative;
	z-index: -1;
}


@media screen and (min-width : 600px) {
.recommend .rcmdtxtlst li {
	font-size: min(2vw,.95em);
}
.recommend .rcmdcard {
	text-align: center;
}
}

@media screen and (min-width : 768px) {
.recommend .rcmdlist li {
	width: 19%;
	width: 32.5%;
	line-height: 1.2;
}
/*.recommend .rcmdlist li span {
	display: block;
}*/
.recommend .rcmdlist li a {
/*	padding: .3em 1% 2em;*/
	padding-top: .7em;
	padding-bottom: .7em;
	font-size: min(1.9vw,1em);
}
/*.recommend .rcmdlist li a::before,
.recommend .rcmdlist li a::after {
	right: calc(50% - .6em);
	bottom: .5em;
}*/
.recommend .rcmdprice {
	font-size: 1.3em;
}
.recommend .rcmdprice p {
	font-size: .7em;
}
.recommend .rcmdboxlst dd li {
	float: left;
	width: calc(50% - 1.1em);
	padding-left: 1.1em;
}
.recommend .rcmdptlst li {
	width: calc(32.5% - 2.2em);
}
.recommend #rcmd_ipl .rcmdtxtlst li {
	width: 32.5%;
}
.recommend .rcmdqa {
	width: 100%;
	margin-top: 3em;
}
.recommend .rcmdqa::after {
	background: url(/img/picbg01.png) no-repeat calc(100% + 1em) 100%;
	background-size: 15.5em auto;
	width: 9em;
	height: 12em;
	right: 0;
	bottom: 0;
}
.recommend #rcmd_ha .rcmdptlst li,
.recommend #rcmd_sb .rcmdptlst li {
	width: calc(24.5% - 2.2em);
}
.recommend #rcmd_sl .rcmdptlst li:nth-last-of-type(-n + 3) {
	margin-bottom: 0;
}

.recommend .rcmdcard {
	background: url(/img/rcmd_card.png) no-repeat 0 100%, url(/img/rcmd_cardbg.jpg) no-repeat 50% 0;
	background-size: auto 110%, auto 180%;
    padding: .5em 0;
	font-size: 1.1em;
}
.recommend .rcmdmsg h2 {
	font-size: 1.3em;
}
.recommend .rcmdmsg figcaption {
	font-size: 1.2em;
}
.recommend .infotbl {
	width: 48%;
	float: left;
	margin: 2em 0 1em !important;
	line-height: 1.8;
}
.recommend .map {
	width: 50%;
	float: right;
	margin: 1.5em 0 1em !important;
}
.recommend .map figcaption {
	margin-top: 0 !important;
}
}


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

.form .footer {
	margin-top: 2em;
}
.form .sec {
	margin-top: 0;
	padding-top: 0;
}
.form .sec::before {
	display: none;
}
.form .cont h1 {
	color: #FFF;
	background: #DDD5C9;
	padding: .7em 0;
	font-size: 1.3em;
	margin-bottom: .8em;
}
.form p {
	text-align: left;
}
.form p a {
	text-decoration: underline;
}

.form .formtel {
	width: 90%;
	max-width: 600px;
	margin: 1em auto;
	text-align: center;
	border: 1px solid #DF9BA5;
	border-radius: .45em;
}
.form .formtel dt {
	padding: .2em 0;
	color: #FFF;
	background: #DF9BA5;
	border-radius: .4em .4em 0 0;
	text-shadow: 1px 1px .5px rgba(0,0,0,0.3);
}
.form .formtel dd {
	padding: .7em 0 .5em;
}
.form .formtel dd img {
	height: 1.5em;
}
.form .formtel dd span {
	display: block;
	margin-top: .5em;
}
.form .formtel dd p a {
	display: inline-block;
	background: url(/img/telicon02.png) no-repeat calc(50% - 6.5em) 100%;
	background-size: auto 90%;
	padding-left: 2em;
}

.formtbl {
	width: 100%;
	margin: 1em auto;
}
.formtbl caption  {
	width: min(80%,450px);
	margin: 1em auto;
	background: #DDD5C9;
	color: #FFF;
	font-weight: bold;
	padding: 0.2em 0;
	border-radius: 1.5em;
	font-size: 1.1em;
}
.formtbl th,
.formtbl td {
	display: block;
	line-height: 1.6;
	text-align: left;
}
.formtbl th {
	position: relative;
	background: #EFEFEF;
	padding: .5em 2%;
}
.formtbl th::before,
.formtbl td div::after {
	content: "必須";
    display: inline-block;
    font-size: .6em;
    text-align: center;
    color: #fff;
    vertical-align: middle;
	padding: .1em .6em;
	margin: 0 .5em .25em 0;
    background: #E17C90;
}
.formtbl td div::after {
	margin-left: .5em;
}
.formtbl th.any::before,
.formtbl td div.any::before {
	content: "任意";
    background: #808080;
}
.formtbl td {
	padding: .3em 0 1.2em 0;
}
.formtbl div span {
	position: static !important;
	vertical-align: middle;
	margin-bottom: .2em;
}
.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: 3px;
	box-shadow: none !important;
	padding: .8em;
	margin: 5px 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="checkbox"] {
	vertical-align: middle;
	line-height: 1;
	margin: 0;
	width: 1em;
	height: 1em;
	accent-color: #000;
}
.formtbl ::placeholder {
	color: #ccc;
}
.formtbl textarea {
	width: 90% !important;
	height: 10em !important;
}
.formtbl label {
	display: block !important;
	border: none !important;
	padding: 0 !important;
	margin: 0.2em 20px 0.1em 0 !important;
}
.formtbl label.ib {
	display: inline-block !important;
}
.formtbl td div.bd {
	border-top: 1px solid #4d4d4d;
	padding-top: .7em;
	margin-top: .8em;
}
.formtbl td p.fs90 {
	margin: 1em 0 .3em;
}
.formtbl td dl {
	border: solid 1px #4D4D4D;
	margin-top: .4em;
}
.formtbl td dt {
	cursor: pointer;
	padding: .7em 5% !important;
	position: relative;
	float: none !important;
	width: 90% !important;
	font-size: 1em !important;
	text-align: left !important;
    border-top: none !important;
}
.formtbl td dt::after {
    content: "";
    position: absolute;
    top: 1em;
    right: 5%;
    display: inline-block;
    background: #4D4D4D;
    width: 1em;
    height: .8em;
	clip-path: polygon(0 0, 100% 0%, 50% 100%);
}
.formtbl td dt.close::after {
    clip-path: polygon(0 100%, 50% 0, 100% 100%);
}
.formtbl td dd {
	padding: 0 5% .5em !important;
    border-top: none !important;
	font-size: 1em !important;
}
.formtbl td dd label {
	display: block;
	background: #F6F1F1;
	padding: .5em 3% .5em calc(1em + 3%) !important;
	width: calc(94% - 1em);
	text-indent: -1em;
	line-height: 1.3;
    border: none !important;
}
.formtbl td dd label:first-of-type {
	margin-top: 0 !important;
}
.formtbl td dd label.mfp_checked {
	background: #DDD6CC !important;
    box-shadow: none !important;
}
.formbtn {
	display: block;
	width: min(70%, 400px);
	text-align: center;
	margin: 2em auto 4em;
	border-radius: .2em; 
	background: #DDD5C9;
	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;
	box-shadow: none !important;
}

@media screen and (min-width : 768px) {
.form {
	display:grid;
	grid-template-columns: 1fr;
	grid-template-rows: auto 1fr auto;
	min-height: 100vh;
}
.formbtn {
	margin-top: 5em;
}
}
