@charset "UTF-8";
/*
	SP Style	Responsive - Mobile first
**************************************************************************************************** */
/* ------------------------------------------------------------
	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: #4D4D4D;
	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;
}
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,table {
	line-height: 1.6;
}

/* ------------------------------------------------------------
	Layout
------------------------------------------------------------ */
body {
	font-size: 0.16rem;
}
.header {
	top: 0;
	width: 100%;
	left: 0;
	z-index: 100;
}
.header h1,
.header p {
	display: none;
}
.header__clinic img {
	width: auto;
}
.header .header__nav__menu {
	width: 100%;
}
.header .header__nav__menu li a {
	display: block;
	width: auto;
	color: #fff;
	text-decoration: none;
}
.footer {
	margin-top: 3em;
}
.footer small {
	display: block;
	color: #fff;
	background: #09BAB5;
	padding: 1.2em 0;
	font-size: 0.8em;
}
.footer small span {
	font-size: 1.7em;
	vertical-align: middle;
}
.footer p {
	position: fixed;
	right: 3%;
	text-indent: -9999px;
	outline: none;
	width: 2.6em;
	height: 2.6em;
	background: rgba(255,255,255,.4);
}
.footer p a {
	display: block;	
	width: 100%;
	height: 100%;
}
.footer p::before,
.footer p a::before,
.footer p a::after {
	content: "";
	display: inline-block;
	width: 2em;
	position: absolute;
	left: .3em;
	background: rgba(0,0,0,.1);
}
.footer .tomenu {
	bottom: 6.5em;
}
.footer .tomenu::before,
.footer .tomenu a::before,
.footer .tomenu a::after {
	height: .2em;
	border-radius: .2em;
}
.footer .tomenu::before {
	top: .5em;
}
.footer .tomenu a::before {
	top: 1.1em;
}
.footer .tomenu a::after {
	top: 1.7em;
}
.footer .pagetop {
	bottom: 3.5em;
	border-radius: 50%;
}
.footer .pagetop a::after {
	height: 1.5em;
	clip-path: polygon(0 100%, 50% 0, 100% 100%);
	top: .3em;
}

@media screen and (max-width : 767px) {
body {
	padding: 2.35em 0 4em;
}
.inner {
	padding-left: 3%;
	padding-right: 3%;
}

.header__clinic {
	background: #09BAB5;
	position: fixed;
	top: 0;
	width: 100%;
	left: 0;
	z-index: 100;
}
.header__clinic a {
	height: 2.35em;
	display: flex;
    align-items: center;
	padding: 0 3em 0 3%;
}
.header__clinic img {
	height: 1.5em;
}
.header__clinic img:nth-of-type(2) {
	height: .8em;
	margin-left: 0.5em;
}
.header .header__nav__btn {
	position: fixed;
	right: 0;
	top: 0;
	background: #90E0DE;
	display: block;
	font-size: 1em;
	width: 3em;
	height: 2.35em;
	padding-bottom: 0.35em;
	border: none;
	cursor: pointer;
	color: #fff;
	outline: none;
	z-index: 100;
}
.header .header__nav__btn span img {
	width: auto;
	height: 0.7em;
}
.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% - 0.65em);
}
.header .header__nav__btn::before {top: 0.65em;}
.header .header__nav__btn::after {top: 1.1em;}
.header .header__nav__btn span::before {top: 1.55em;}
.header .active::before {
	transform: rotate(45deg);
	top: 1.1em;
}
.header .active::after {
	transform: rotate(-45deg);
	top: 1.1em;
}
.header .active span::before {
	display: none;
}
.header .header__nav__menu {
	display: none;
	background: rgba(144,224,222,1);
	position: fixed;
	left: 0;
	top: 2.35em;
	text-align:  left;
	z-index: 200;
}
.header .header__nav__menu li a {
	color: #fff;
	text-decoration: none;
	border-bottom: 1px solid rgba(255, 255, 255, 0.5);
	padding: 0.8em 5%;
	cursor: pointer;
	letter-spacing: 0;
}
.header .header__nav__menu li:last-of-type a {
	border-bottom: none;
}

.contact li {
	width: 33.3%;
	text-indent: -9999px;
	position: fixed;
	bottom: 0;
	z-index: 100;
}
.contact li.contact__reserve { left: 0%;}
.contact li.contact__line { left: 33.3%;}
.contact li.contact__tel { left: 66.6%;}
.contact li a {
	background: #09BAB5;
	height: 3.2em;
	display: flex;
	outline: none;
	background-size: auto 80%;
	background-position: 50% 45%;
	background-repeat: no-repeat;
	border-right: 1px solid #FFF;
}
.contact li.contact__reserve a {
	background-image: url(../img/contact__reserve.png);
}
.contact li.contact__line a {
	background-image: url(../img/contact__line.png);
}
.contact li.contact__tel a {
	background-image: url(../img/contact__tel.png);
	border-right: none;
}
}

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

@media screen and (min-width : 768px) {
.wrap {
	width: min(100%,1000px);
	margin-left: auto;
	margin-right: auto;
}
.inner {
	padding-left: 10%;
	padding-right: 10%;
}

.header--pcfix {
	z-index: 1000;
	background: #09BAB5;
	padding-bottom: 1px;
}
.fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
}
.header .wrap {
	background: none;
	padding: .5em 1%;
	width: 98%;
}
.header h1 {
	display: block;
	font-size: 0.7em;
	padding: 8px 0;
}
.header h1,
.header p {
	display: block;
}
.header__clinic {
	float: left;
}
.header__clinic img {
	height: min(4.5vw,40px);
	vertical-align: middle;
}
.header__clinic img:nth-of-type(2) {
	height: min(2.3vw,20px);
	margin: .2em 0 0 0.5em;
}
.contact li a {
	text-decoration: none;
	color: #fff;
	float: right;
}
.contact li.contact__reserve a {
	display: block;
	margin-left: 1.5%;
	padding: 0.2em 2%;
	font-size: min(2.4vw,19px);
	border-radius: 3px;
	background: #CDBA9E;
}
.contact li.contact__tel a {
	padding: 0 0 0 1.7em;
	line-height: 2;
	background: url("../img/header__tel__icon.png") no-repeat 0;
	background-size: auto 80%;
	text-indent: -9999px;
}
.contact li.contact__line {
	display: none;
}
.header .header__nav__btn {
	display: none;
}
.header .hm--sp {
	display: table !important;
}
.header .header__nav__menu {
	clear: both;
	display: table;
	z-index: 10000;
	position: static;
	background: none;
	max-width: 1000px;
	margin: 0 auto 10px;
}
.header .header__nav__menu li {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	line-height: 1.2;
}
.header .header__nav__menu li span {
	display: inline-block;
}
.header .header__nav__menu li:nth-child(1) { width: 32%;}
.header .header__nav__menu li:nth-child(2) { width: 14%;}
.header .header__nav__menu li:nth-child(3) { width: 14%;}
.header .header__nav__menu li:nth-child(4) { width: 15%;}
.header .header__nav__menu li:nth-child(5) { width: 15%;}
.header .header__nav__menu li:nth-child(7) { width: 10%;}
.header .header__nav__menu li a {
	font-size: 0.8em;
	border-left: 1px solid #FFF;
	border-right: 1px solid #FFF;
	margin-left: -1px;
	padding: 0.8em 1%;
}
.header .header__nav__menu li:nth-child(1) a { 
	margin-left: 0;
	border-left: none;
}
.header .header__nav__menu li:nth-child(7) a {
	border-right: none;
}
}

@media screen and (min-width : 1000px) {
.header .wrap {
	padding: .5em 0;
	width: min(100%, 1000px);
}
.contact li.contact__tel a {
	padding: 0 0 0 1.2em;
	background: url("../img/header__tel__icon.png") no-repeat 0;
	background-size: auto 60%;
	font-family: sans-serif;
	font-weight: bold;
	line-height: 1.5;
	text-indent: 0;
	font-size: 26px;
}
.header .header__nav__menu {
	width: calc(100% - 2px);
	border-left: 1px solid #FFF;
	border-right: 1px solid #FFF;
}
}

.cv {
	margin: 0 auto 4em;
}
.cv img {
	width: auto;
}
.cv p {
	text-align: center;
	line-height: 1;
}
.cv .cv__info {
	position: relative;
	height: 100%;
	padding: 1.5em 0 3.5em;
}
.cv .cv__info img {
	height: 1.2em;
}
.cv .cv__info::after {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	background: url(../img/cv__info--bg.png) no-repeat calc(100% + 4em) calc(100% + 0.5em);
	background-size: auto 11.6em;
	height: 100%;
	left: 0;
	top: 0;
}
.cv .cv__info .cv__info__txt {
	padding: 0 5em 0 0;
	margin: 0 0 1.1em;
}
.cv .cv__info .cv__info__txt img {
	height: 1.15em;
}
.cv .cv__info .cv__info__txt span {
	display: block;
	margin: 0 0 0.8em;
}
.cv .cv__info .cv__info__idt {
	background: #D2AF8A;
	background: linear-gradient(180deg, #CDBA9E 0%, #CDBA9E 50%, #C0A883 50%, #C0A883 100%);
	padding: 0.65em 2.5em 0.75em 0;
	margin: 0 2.5em 0 0;
}
.cv .cv__contact {
	background: #F9F6F4;
	padding: 1em 0 1.5em;
	color: #85623F; 
	margin-bottom: 1em;
	overflow-x: hidden;
}
.cv .cv__contact .cv__contact__txt {
	margin: 0 auto 0.8em;
	padding: 0;
	line-height: 1.4;
	font-size: 1.2em;
}
.cv .cv__contact .cv__contact__txt span {
	display: inline-block;
	margin: 0 -0.5em 0 0;
	letter-spacing: -0.01em;
}
.cv .cv__contact .cv__contact__tel strong {
	display: block;
}
.cv .cv__contact .cv__contact__tel img {
	height: 2.1em;
	margin: 0 0 0.6em;
}
.cv .cv__contact .cv__contact__btn {
	display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
	width: 94%;
	margin: 1em auto 0;
}
.cv .cv__contact .cv__contact__btn li {
	width: 49.2%;
	line-height: 1.4;
}
.cv .cv__contact .cv__contact__btn li a {
	display: block;
	border-radius: 2px;
	padding: 0.25em 0;
	text-decoration: none;
	color: #FFF;
	text-shadow: 1px 1px 0 rgba(0,0,0,0.3);
	font-size: 1.4em;
	background: rgba(171,139,90,1);
	background : linear-gradient(0deg, rgba(168,129,85, .9) 12.6%, rgba(162,128,84, .9) 26.21%, rgba(180,148,97, .9) 69.18%, rgba(190,159,106, .9) 90.93%, rgba(192,161,108, .9) 94%, rgba(224,198,156, .9) 96%, rgba(211,183,137, .9) 96.44%, rgba(192,161,108, .9) 97%, rgba(144,112,74, .9) 100%);
}
.cv .cv__contact .cv__contact__btn li a span {
    display: block;
    font-size: .65em;
}
.cv .cv__line {
	margin: .8em auto;
	width: min(94%, 800px);
}
.cv .cv__line img {
	height: 1.2em;
}
.cv .cv__line dt {
	border: 1px solid #42B532;
	background: #42B532;
	padding: .7em 0;
	font-size: .9em;
}
.cv .cv__line dd {
	border: 1px solid #42B532;
	text-align: center;
	padding: .8em 0;
}
.cv .cv__line dd a {
	display: block;
	background: url(../img/cv__line-icon.png) no-repeat calc(50% - 2.5em) 50% #42B532;
	background-size: auto 1.5em;
	padding: .6em .5em .6em 2.5em;
	font-size: 1.3em;
	color: #FFF;
	border-radius: .2em;
	margin: .6em auto;
	width: 5.5em;
}
.cv .cv__txt {
	line-height: 1.6;
	font-size: .95em;
}


@media screen and (min-width : 600px) {
.cv .cv__info {
	padding: 2.5em 0 3.5em;
}
.cv .cv__info::after {
	background: url(../img/cv__info--bg.png) no-repeat calc(100% + 3em) calc(100% + 0.5em);
	background-size: auto 11.5em;
}
.cv .cv__info .cv__info__txt {
	padding-right: 2.5em;
}
.cv .cv__info .cv__info__idt {
	padding-right: 0;
}
}


@media screen and (min-width : 768px) {
.cv .cv__info {
	padding: 2em 0 4em;
}
.cv .cv__info::after {
	background-position: 100% 100%;
}
.cv .cv__info .cv__info__idt {
	padding: 0.7em 0 0.7em 3em;
	margin-right: 5.5em;
}
.cv .cv__contact .cv__contact__btn {
	width: 80%;
	max-width: 800px;
}
.cv .cv__txt {
	margin: 0 10%;
}
}


/* ------------------------------------------------------------
	Style
------------------------------------------------------------ */
.sec {
	margin-bottom: 2em;
}
.sec img {
	width: auto;
}
.sec figure {
	margin: .7em auto;
}
.sec figure.fg-m {
	width: 80%;
}
.sec p {
	margin-bottom: 0.5em;
	text-align: justify;
}
.sec p,.sec ul,.sec ol,.sec dl,.sec table {
	line-height: 1.6;
}
.sec h3 {
	background: #09BAB5;
	color: #FFF;
	padding: 0.6em 4%;
	font-size: 1.4em;
	margin: 0 0 0.5em;
    position: relative;
    border-top: .2em solid #9BDDDA;
}
.sec h3::after {
    content: "";
    display: block;
    position: absolute;
    top: -.2em;
    right: 0;
    width: 50%;
    height: .2em;
    background: #7BD2CF;
}
.sec .movie {
    margin: 1em auto;
    width: min(100%,640px);
    height: min(53vw,360px);
}
.sec .movie video {
	width: 100%;
}

.sec .paybox {
    border-radius: 0.4em;
    border: 1px solid #8BB4EE;
    margin: 1.5em auto 1em;
	width: 96%;
}
.sec .paybox dt {
	background: #8BB4EE;
    border-radius: 7px 7px 0 0;
    padding: 0.3em 0;
    color: #fff;
    font-size: 1.1em;
    letter-spacing: 0.5px;
}
.sec .paybox dd {
	text-align: left;
    padding: 0.5em 1px 0.5em 3%;
}
.sec .paybox .paybox__list li {
    display: inline;
    position: relative;
	margin-bottom: 0.5em !important;
}
.sec .paybox .paybox__list li:nth-of-type(1) {
    margin-right: 2%;
}
.sec .paybox .paybox__list li::before {
    content: "";
    display: inline-block;
    width: 0.7em;
    height: 0.7em;
    border-radius: 50%;
    background: #8BB4EE;
    margin: 0 0.2em 0 0;
}
.sec .paybox .paybox__list li span {
	font-size: 0.85em;
}
.sec .paybox__credit img {
    height: 1.53em;
	margin: .3em .05% .3em 0;
	vertical-align: middle;
}
.sec .paybox__credit img:nth-of-type(n + 9) {
    height: 1.52em;
	margin-right: .3%;
}

#sec__mv {
    background: url("../img/sec__mv__bg2.png") no-repeat calc(100% + 6.8em) 90%, url("../img/sec__mv__bg.jpg") no-repeat 80% 0;
    background-size: auto 113%, 170% auto;
    padding: .2em 0 .6em;
    text-align: left;
}
#sec__mv h2 {
    margin-left: 1%;
}
#sec__mv h2 img {
    width: 18em;
}
#sec__mv h2 span img {
    width: 14.5em;
    margin: 0 0 -.2em .2em;
}
#sec__mv figure {
    width: 65%;
    margin: .2em 0 0 3%;
}

#sec__intro h3 {
    border-top: none;
}
#sec__intro h3::after {
    display: none;
}
#sec__intro h3 img {
    height: 1em;
}
#sec__intro .sec__btn {
	display: block;
	background: url(../img/sec__btn--bg.png) no-repeat calc(50% + 9.8em) 100%, linear-gradient(0deg, #09BAB5 0%, #09BAB5 50%, #7BD2CF 50%, #7BD2CF 100%);
	background-size: 2.5em auto, auto;
	border-radius: 0.5em;
	padding: 1.1em 2em 1.1em 0;
	margin: 1em auto 2em;
    max-width: calc(450px - 2em);
}
#sec__intro .sec__btn img {
	height: 1.2em;
}
#sec__intro .sec__menu {
	width: min(70%,450px);
	margin: 1em auto 3em;
}
#sec__intro .sec__menu dt {
	background: #FBFBFB;
	padding: 0.4em 0;
	color: #707070;
	border: solid 1px #231815;
	font-size: 1.2em;
}
#sec__intro .sec__menu dt::before {
	content: "";
	display: inline-block;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-color: #333 transparent transparent transparent;
	border-width: 0.7em 0.6em 0 0.6em;
	margin: 0 0.2em 0.2em 0;
	vertical-align: middle;
}
#sec__intro .sec__menu dt.close::before {
	border-color: transparent transparent #333 transparent;
	border-width: 0 0.6em 0.7em 0.6em;
}
#sec__intro .sec__menu dd {
	background: #FBFBFB;
	text-align: left;
}
#sec__intro .sec__menu li {
	border-bottom: 1px dotted #7E7E7E;
}
#sec__intro .sec__menu li a {
	display: block;
	padding: 0.6em 3%;
	text-decoration: none;
	font-size: 0.94em;
}
#sec__intro .sec__menu li a::before {
	content: "";
	display: inline-block;
	background: #09BAB5;
	width: .5em;
	height: .5em;
	border-radius: 50%;
	vertical-align: middle;
	margin: 0 .3em 0.2em 0;
}

#sec__tx h3,
#sec__case h3 {
    text-align: left;
}
#sec__tx h4 {
    position: relative;
    border-left: .3em solid #C3EBE9;
    text-align: left;
    padding-left: .5em;
    margin: 1em 0 .3em;
}
#sec__tx h4::after {
    position: absolute;
    content: "";
    display: inline-block;
    background: #87D7D3;
    width: .3em;
    height: 50%;
    bottom: 0;
    left: -.3em;
}
#sec__tx h4 img {
    height: 1.2em;
    display: block;
}
#sec__tx h4 img:first-of-type {
    margin-bottom: .4em;
}
#sec__tx .sec__tx__list {
    text-align: left;
    color: #6CA1E9;
    font-size: 1.05em;
    margin: .5em 0;
}
#sec__tx .sec__tx__list li::before {
    content: "";
    display: inline-block;
    width: .6em;
    height: .6em;
    background: #6CA1E9;
    margin: 0 .3em .1em 0;
}
#sec__tx .sec__tx__flow strong {
    display: block;
    background: #8BB4EE;
    border-radius: 1.5em;
    padding: .5em 0;
    width: min(70%,500px);
    margin: 1em auto 0;
    line-height: 1;
}
#sec__tx .sec__tx__flow strong img {
    height: 1.15em;
}
#sec__tx .sec__tx__flow figure {
    width: 60%;
}
#sec__tx .sec__tx__notes dt {
    width: 75%;
    margin: auto;
    color: #FFF;
    padding: .8em 0;
    line-height: 1;
    background: #8BB4EE;
}
#sec__tx .sec__tx__notes dt::after {
	content: "＋";
	display: inline-block;
	background: #6FA3E9;
	border-radius: 50%;
	width: 1.2em;
	height: 1.2em;
	color: #FFF;
    font-weight: bold;
	line-height: 1.2em;
	text-align: center;
    margin-left: .3em;
}
#sec__tx .sec__tx__notes dt.close::after {
	content: "－";
}
#sec__tx .sec__tx__notes dd p {
    margin: .5em 0 0;
}

#sec__case h4 {
    width: 90%;
    margin: 1.8em auto 0;
}
#sec__case .sec__case__pic {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: .5em;
}
#sec__case .sec__case__pic figure {
    width: 100%;
    margin: 0 0 1em;
    cursor: pointer;
}
#sec__case .sec__case__pic figure.cp {
    cursor: default;
}
#sec__case .sec__case__pic dt {
    padding: .5em 0;
    background: #F2EBE7;
}
#sec__case .sec__case__pic dd {
    text-align: left;
    display: none;
}
#sec__case .sec__case__pic dd strong {
    display: inline-block;
    font-weight: bold;
    margin-top: .5em;
}
#sec__case .sec__case__rcmd {
    background: url(../img/sec__case__rcmdbg01.png) calc(100% + 2.2em) 0 no-repeat,url(../img/sec__case__rcmdbg02.png) -1.3em 52% no-repeat, url(../img/sec__case__rcmdbg03.png) calc(100% + 2.2em) 98% no-repeat;
    background-size: auto 10em, auto 11em, auto 9.5em;
    text-align: left;
    font-size: 1.22em;
    color: #a27c52;
    padding: 4.5em 3% 0;
    margin: .5em auto 0;
    letter-spacing: -.1em;
}
#sec__case .sec__case__rcmd li:nth-of-type(3),
#sec__case .sec__case__rcmd li:nth-of-type(6) {
    margin-bottom: 4.8em;
}
#sec__case .sec__case__rcmd li:nth-of-type(4),
#sec__case .sec__case__rcmd li:nth-of-type(5),
#sec__case .sec__case__rcmd li:nth-of-type(6){
    text-align: right;
}
#sec__case .sec__case__dr {
    width: 80%;
}
#sec__case .sec__case__dr figcaption {
    font-size: 1.3em;
    color: #8b6239;
    line-height: 1.5;
    margin: -2.2em -10% 0;
    letter-spacing: -.1em;
}

#sec__flow .sec__flow__step {
	margin-top: 1em;
}
#sec__flow .sec__flow__step li {
	position: relative;
	margin-bottom: 0.9em;
	padding-bottom: 2.5em;
}
#sec__flow .sec__flow__step li:last-of-type {
	padding-bottom: 0;
}
#sec__flow .sec__flow__step li::after {
	content: ""; 
    display: inline-block;
	position: absolute;
	bottom: 1em;
    width: 1.8em;
    height: 1.8em;
    border-bottom: 1px solid #000;
    border-left: 1px solid #000;
    transform: scale(0.9, 1) translateX(-50%) rotate(-45deg);
}
#sec__flow .sec__flow__step li:last-of-type::after,
#sec__flow .sec__flow__step li li::after {
	display: none;
}
#sec__flow .sec__flow__step li strong {
	display: block;
	background: #8BB4EE;
	width: 70%;
	margin: auto;
	padding: 0.57em 0;
	border-radius: 1.5em;
	line-height: 1;
}
#sec__flow .sec__flow__step li strong img {
	height: 1.16em;
}
#sec__flow .sec__flow__step li figure {
	width: 70%;
	margin-top: 0.75em;
	margin-bottom: 0.6em;
}
#sec__flow .txtbox {
	margin: auto;
	width: min(100%,700px);
}
#sec__flow .txtbox p {
	border: 0.8em solid #BBE8E6;
	background: #4DC5C2;
	text-align: center;
	color: #FFF;
	line-height: 2;
	padding: 0.6em 0 1.2em;
	font-size: 1.02em;
	letter-spacing: -0.04em;
	margin-top: 1.5em;
}
#sec__flow .txtbox span {
	display: inline-block;
	border-bottom: 1px dashed #FFF;
	margin-bottom: 0.3em;
	padding: 0;
}

#sec__price .sec__price__catch {
    display: flex;
    justify-content: space-between;
}
#sec__price .sec__price__catch li {
	background: #ECF7F7;
	width: 49%;
	color: #0abab5;
	border-radius: 0.2em;
	line-height: 1;
	padding: 0.6em 0 0.7em;
	margin: 0 0 0.5em;
	letter-spacing: -0.05em;
	font-size: 1.05em;
}
#sec__price .sec__price__catch li strong {
	display: block;
	padding-top: 0.3em;
	font-size: 1.7em;
}
#sec__price .sec__price__tbl {
	width: 100%;
	margin: .5em auto 1em;
}
#sec__price .sec__price__tbl th,
#sec__price .sec__price__tbl td {
    border: 1px solid #9E9E9E;
    padding: .4em 2.5%;
    text-align: left;
    vertical-align: middle;
}
#sec__price .sec__price__tbl th.ta--center {
    width: 15%;
    padding: 0;

}
#sec__price .sec__price__tbl td {
    text-align: right;
    width: 30%;
}
#sec__price .sec__price__tbl caption {
	padding: 0.3em 3%;
    text-align: left;
	color: #FFF;
    font-size: 1.1em;
	background: #09BAB5;
    margin: .5em auto;
}
#sec__price .sec__price__minors {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 1em;
}
#sec__price .sec__price__minors img {
	vertical-align: middle;
	width: 5em;
	margin-right: .5em;
}
#sec__price .paybox {
    border: 1px solid #09BAB5;
}
#sec__price .paybox dt {
    background: #09BAB5;
}
#sec__price .paybox .paybox__list li::before {
    background: #09BAB5;
}

#sec__faq .sec__faq__list {
	text-align: left;
	margin: 1em auto 1.5em;
}
#sec__faq .sec__faq__list dt {
	background: url(../img/sec__faq__list--icon.png) no-repeat 2% 0.4em #8BB4EE;
	background-size: 1.35em auto;
	border-radius: 0.2em;
	padding: 0.5em calc(2% + 1.7em);
	color: #FFF;
	margin-bottom: 0.5em;
	position: relative;
	font-size: 1.03em;
    line-height: 1.3;
}
#sec__faq .sec__faq__list dt::before {
	content: "＋";
	display: inline-block;
	position: absolute;
	top: .5em;
	right: 2%;
	background: #FFF;
	border-radius: 50%;
	width: 1.2em;
	height: 1.2em;
	color: #8BB4EE;
    font-weight: bold;
	line-height: 1.2em;
	text-align: center;
}
#sec__faq .sec__faq__list dt.close::before {
	content: "－";
}
#sec__faq .sec__faq__list dd {
	text-align: justify;
}
#sec__faq .sec__faq__list dd:nth-last-of-type(n + 2) {
	padding-bottom: 1.4em;
}
#sec__faq p {
	border-top: 1px solid #999999;
	padding-top: 1.35em;
}

#sec__dr .sec__dr__msg {
	line-height: 1.8;
	margin: 0 auto 1.3em;
	background-repeat: no-repeat, no-repeat !important;
	background: url(../img/dr-ph.png),url(../img/sec__dr__bg.jpg);
	background-size: auto 130%, cover;
	background-position: calc(100% + 3.5em) .3em, 0 0;
	padding: 2.5em 15% 1.5em 0;
	color: #222d51;
}
#sec__dr .sec__dr__msg.dr2 {
	background: url(../img/dr-ph2.png),url(../img/sec__dr__bg.jpg);
	background-size: auto 115%, cover;
	background-position: calc(100% + 2.5em) .5em, 0 0;
}
#sec__dr .sec__dr__prof {
	text-align: left;
	margin-bottom: 1.5em;
}
#sec__dr .sec__dr__prof dt {
	margin-bottom: 1em;
}
#sec__dr h4 {
    color: #0abab5;
    text-align: left;
    font-size: 1.08em;
    margin: 0 -.5em .5em 0;
    letter-spacing: -.1em;
}
#sec__dr h4::before {
    content: "";
    display: inline-block;
    width: .8em;
    height: .8em;
    vertical-align: middle;
    margin: 0 .2em .2em 0;
    background-image: conic-gradient(#B0E4E2 0deg 90deg, #57C9C4 90deg 180deg, #B0E4E2 180deg 270deg, #57C9C4 270deg 360deg);
    background-size: 100% 100%;
}
#sec__dr .noteline {
    background-color: #fff;
    background-image: linear-gradient(90deg, transparent 0%, transparent 50%, #fff 50%, #fff 100%),linear-gradient(180deg, #bbb 1px, transparent 1px);
    background-size: 6px 100%, 100% 2.2em;
    line-height: 2.2em;
    padding: 0 1% 1px;
}

#sec__info .inner > img {
	width: min(65%, 300px);
	margin: auto;
}

#sec__info .sec__info__tbl {
	width: min(100%, 600px);
	margin: 1em auto;
	border-bottom: 1px solid #B2B2B2;
}
#sec__info .sec__info__tbl caption img {
	width: 14em;
	margin: 0 auto 1.3em;
}
#sec__info .sec__info__tbl tr {
	border-top: 1px solid #B2B2B2;
}
#sec__info .sec__info__tbl th,
#sec__info .sec__info__tbl td {
	text-align: left;
	vertical-align: top;
	padding: 0.5em 0;
	line-height: 1.8;
}
#sec__info .sec__info__tbl th {
	width: 20%;
	min-width: 4.8em;
	padding-left: 1%;
	position: relative;
}
#sec__info .sec__info__tbl tr:last-of-type th {
	letter-spacing: .5em;
}
#sec__info .sec__info__tbl th::after {
	position: absolute;
	content: "：";
	right: .1em;
	letter-spacing: 0 !important;
}
#sec__info .ta--center {
	margin-top: 1.5em;
}
#sec__info .ta--center span {
	display: inline-block;
}
#sec__info #sec__info__access {
	color: #BE9F8B;
	font-size: 1.1em;
	display: block;
	margin: 1.5em 0 1em;
	line-height: 1.7;
}
#sec__info iframe {
    margin: 0 auto 1em;
    width: 100%;
    height: 53vw;
    max-height: 360px;
}
#sec__info .sec__info__ph {
	margin: auto;
	width: min(90%,600px);
}

#sec__info .sec__info__gbtn {
    display: block;
    background: url(../img/sec__info__gbtn.png) no-repeat calc(50% - 5.2em) 50% #D2B4A5;
    background-size: auto 1.2em;
    color: #FFF;
    text-decoration: none;
    padding: 0.8em 0;
    border: 1px solid #FFF;
    border-radius: 0.8em;
    font-size: 1.2em;
    box-shadow: 0px 3px 2px rgba(195, 177, 153, 0.75);
    position: relative;
    width: min(85%,400px);
    margin: 1em auto;
}
#sec__info .sec__info__gbtn::before,
#sec__info .sec__info__gbtn::after {
    content: "";
    position: absolute;
    display: inline-block;
}
#sec__info .sec__info__gbtn::before {
    width: 1.2em;
    height: 1.2em;
    border-radius: 50%;
    background: rgba(255,255,255,0.3);
    top: calc(50% - 0.6em);
    right: calc(50% - 6em);
}
#sec__info .sec__info__gbtn::after {
    width: 0px;
    height: 0px;
    border-style: solid;
    border-color: transparent transparent transparent #FFF;
    border-width: 0.4em 0 0.4em 0.6em;
    top: calc(50% - 0.4em);
    right: calc(50% - 5.8em);
}
#sec__info .sec__info__route {
	margin: 2em auto;
	width: 94%;
}
#sec__info .sec__info__route dt {
	text-align: left;
	background: #DCBCAB;
	color: #FFF;
	border-radius: .2em;
	padding: .3em 3%;
	font-size: 1.2em;
	margin-bottom: .6em;
}
#sec__info .sec__info__route dt::before {
	content: "";
	background: #FFF;
	display: inline-block;
	width: .7em;
	height: .7em;
	vertical-align: middle;
	border-radius: .1em;
	margin: 0 .2em .2em 0;
}
#sec__info .sec__info__route figure {
	margin: 1.3em auto .5em;
}

@media screen and (max-width : 599px) {
#sec__info .sec__info__tbl td span {
	display: block;
	text-align: right;
	margin-right: 1em;
}
.sec__info__map {
	margin-left: -3% !important;
	margin-right: -3% !important;
	width: 106%;
}
}

@media screen and (min-width : 600px) {
#sec__mv {
    background: url("../img/sec__mv__bg2.png") no-repeat calc(50% + 9em) 90%, url("../img/sec__mv__bg.jpg") no-repeat 80% 0;
    background-size: auto 113%, 100% auto;
    font-size: 1.6em;
}
#sec__mv h2,
#sec__mv figure {
    width: 100%;
    margin: auto;
}
#sec__mv figure img {
    height: 6em;
    margin-left: 1.5em;
}
#sec__case .sec__case__rcmd {
    background-position:  100% 0, 0 52%, 100% 98%;
    padding: 4.5em 10% 0;
    width: min(60%,500px);
}
}

@media screen and (max-width : 767px) {

#sec__tx h3 {
    letter-spacing: -.05em;
}

#sec__dr .sec__dr__prof dd p span {
    display: block;
    text-align: right;
}
}

@media screen and (min-width : 768px) {
.sec .paybox {
	width: 100%;
}
#sec__mv h2,
#sec__mv figure {
    width: min(85%,800px);
}

#sec__case h4:last-of-type {
    margin-bottom: 1em;
}
#sec__case .sec__case__pic figure {
    width: 48%;
}
#sec__case .sec__case__rcmd {
    font-size: 1.4em;
}
#sec__case .sec__case__dr {
    margin: 0 3% 0 0;    
    width: 48%;
    float: left;
}
#sec__case .sec__case__dr figcaption {
    font-size: 1.2em;
    margin: -2.5em 0 0;
}

#sec__flow .sec__flow__step li strong {
	width: 100%;
	margin: 0 auto 1em;
}
#sec__flow .sec__flow__step li figure {
	width: 35% !important;
	float: left;
	margin: 0 3% 1.5em 0;
}
#sec__flow .sec__flow__step li p {
    margin-left: 38%;
}

#sec__flow .sec__flow__step li .paybox {
	clear: both;
}
#sec__flow .txtbox p {
	padding: 0.6em 0 1.2em;
	font-size: 1.1em;
	letter-spacing: 0;
	margin-bottom: 0.5em;
	margin-top: 1.5em;
	margin-left: 10%;
	margin-right: 10%;
}
#sec__dr .sec__dr__msg,
#sec__dr .sec__dr__msg.dr2 {
	background-position: calc(50% + 11em) .5em, 0 0;
	padding-right: 4em;
    font-size: 1.2em;
}
#sec__dr .sec__dr__prof dd p {
	float: left;
}
#sec__dr .sec__dr__prof dd p:first-of-type {
    width: 27em;
}
#sec__info .sec__info__route {
	width: 100%;
}
#sec__info .sec__info__route p {
	text-align: center;
}
}


/*	form
============================*/
.pp section {
	padding-top: 10px;
}
.pp,
.form {
	padding-bottom: 0;
	display:grid;
	grid-template-columns: 1fr;
	grid-template-rows: auto 1fr auto;
	min-height: 100vh;
}
.form .header__nav {
	display: none;
}
.form section {
	padding-top: 10px;
}
.form .inner {
	text-align: left;
}
.form section p {
	margin: 1em 0;
	text-align: left;
}
.form section p span {
	display: inline-block;
}
.form section figure {
	margin: 1em auto;
	width: 84%;
	max-width: 400px;
}
.form .formtel {
	width: 90%;
	max-width: 600px;
	margin: 1em auto;
	text-align: center;
	border: 1px solid #09BAB5;
	border-radius: .45em;
}
.form .formtel dt {
	padding: .2em 0;
	color: #FFF;
	background: #09BAB5;
	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__tbl {
	width: 100%;
	margin: 2em 0 1.5em;
}
.form__tbl caption  {
	width: 80%;
	margin: 1em auto;
	background: #09BAB5;
	color: #FFF;
	font-weight: bold;
	padding: 0.2em 0;
	border-radius: 1.5em;
	font-size: 1.1em;
}
.form__tbl th,
.form__tbl td {
	display: block;
	line-height: 1.6;
}
.form__tbl th {
	position: relative;
	background: #EFEFEF;
	padding: .5em 0 .5em calc(40px + 2%);
}
.form__tbl td {
	padding: .3em 0 1.2em 0;
}
.form__tbl span.required,
.form__tbl span.any {
    display: inline-block;
    width: 35px;
    height: 18px;
    font-size: 10px;
    text-align: center;
    line-height: 18px;
    color: #fff;
    vertical-align: middle;
	position: absolute;
	left: 2%;
	top: calc(50% - 9px);
}
.form__tbl span.required {
    background-color: #09BAB5;
}
.form__tbl span.any {
    background-color: #808080;
}
.form__tbl div span {
	position: static !important;
	vertical-align: middle;
	margin-bottom: .2em;
}
.form__tbl input[type="text"],
.form__tbl input[type="number"],
.form__tbl input[type="tel"],
.form__tbl input[type="email"],
.form__tbl select,
.form__tbl 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;
}
.form__tbl input[type="number"] {
	width: 4.5em;
}
.form__tbl input[type="text"],
.form__tbl input[type="email"] {
	width: 90%;
}
.form__tbl input[type="tel"] {
	width: 50%;
}
.form__tbl input[type="checkbox"] {
	vertical-align: middle;
	line-height: 1;
	margin: 0;
	width: 1em;
	height: 1em;
}
.form__tbl ::placeholder {
	color: #ccc;
}
.form__tbl textarea {
	width: 90% !important;
	height: 10em !important;
}
.form__tbl label {
	display: block !important;
	border: none !important;
	padding: 0 !important;
	margin: 0.2em 20px 0.1em 0 !important;
}
.form__tbl label.ib {
	display: inline-block !important;
}
.form__tbl td div.bd {
	border-top: 1px solid #4d4d4d;
	padding-top: .7em;
	margin-top: .8em;
}

.form__btn {
	text-align: center;
	margin: 0 auto;
}
.form__btn input,
.form__btn input:hover,
.form__btn a,
.form__btn a:hover {
	display: inline-block;
	border: none;
	border-radius: 5px; 
	background: #CDBA9E;
	color: #fff;
	margin: 20px auto;
	padding: 1em 40px;
	outline: none;
	cursor: pointer;
	text-decoration: none;
	font-size: 1em;
    -webkit-appearance: none;
}

@media screen and (max-width : 767px) {
.form .contact {
	display: none;
}
}

@media screen and (min-width : 768px) {
.form .contact__reserve,
.form .contact__mail {
	display: none;
}
}

/* 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;
}


/*	privacy policy
============================*/
.pp__list li {
	list-style: decimal;
	margin: 0 0 1.5em 30px;
	font-weight: bold;
}
.pp__list h4 {
	text-align: left;
	margin: 1.5em 0 0.5em;
	font-size: 1.1em;
	font-weight: bold;
}
.pp__list p {
	margin: 0 0 1em -23px;
}


@media screen and (max-width : 767px) {/* PC only */
.pc { display: none !important;}
}
@media screen and (min-width : 768px) {/* SP only */
.sp { display: none !important; }
}

.mt0 {margin-top: 0 !important;}
.mb0 {margin-bottom: 0 !important;}

.clearfix::after,
.sec::after,
.wrap::after,
.inner::after {
	content: "";
	display: block;
	clear: both;
}
.clearfix::before,
.sec::before,
.wrap::before,
.inner::before {
	content: "";
	display: block;
	clear: both;
}
.clearfix,
.sec,
.wrap,
.inner {
	display: block;
}
.clear {clear: both;}

.ta--center { text-align: center !important;}
.ta--right { text-align: right!important;}
.f--small { font-size: 0.9em !important;}
.f--tiny{ font-size: 0.85em !important;}
.ib {display: inline-block;}

.gf--nt {font-family: 'Noto Serif JP', serif;}
.gf--sm {font-family: 'Shippori Mincho', serif;}

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