@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: bottom;
	-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: #F184A1;
	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: #F184A1;
	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: #F2AAB3;
	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(242,170,179,0.9);
	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.2);
	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__mail { left: 0%;}
.contact li.contact__reserve { left: 33.3%;}
.contact li.contact__tel { left: 66.6%;}
.contact li a {
	background: #F184A1;
	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__mail a {
	background-image: url(../img/contact__mail.png);
}
.contact li.contact__reserve a {
	background-image: url(../img/contact__reserve.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: #F184A1;
	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__mail a,
.contact li.contact__reserve a {
	display: block;
	margin-left: 1.5%;
	padding: 0.2em 1%;
	font-size: min(2.4vw,18px);
	border-radius: 3px;
	background: #DAB7A4;
}
.contact li.contact__tel a {
	padding: 0 0 0 1.5em;
	line-height: 1.8;
	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: 11%;}
.header .header__nav__menu li:nth-child(2) { width: 16%;}
.header .header__nav__menu li:nth-child(3) { width: 11%;}
.header .header__nav__menu li:nth-child(5) { width: 15%;}
.header .header__nav__menu li:nth-child(6) { width: 11%;}
.header .header__nav__menu li:nth-child(7) { width: 13%;}
.header .header__nav__menu li:nth-child(8) { width: 12%;}
.header .header__nav__menu li:nth-child(10) { width: 11%;}
.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(10) 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.3em auto 4em;
}
.cv img {
	width: auto;
}
.cv p {
	text-align: center;
	line-height: 1;
}
.cv .cv__info {
	position: relative;
	height: 100%;
	padding: 2.6em 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, #D2C09E 0%, #D2C09E 50%, #C4AE84 50%, #C4AE84 100%);
	padding: 0.65em 2.5em 0.75em 0;
	margin: 0 2.5em 0 0;
}
.cv .cv__contact {
	background: #FAF6F3;
	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 {
	font-size: .9em;
}
.cv .cv__contact .cv__contact__tel strong {
	display: block;
}
.cv .cv__contact .cv__contact__tel img {
	height: 2.2em;
	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.6em 0;
	text-decoration: none;
	color: #FFF;
	text-shadow: 1px 1px 0 rgba(0,0,0,0.3);
	font-size: 1.42em;
	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__txt {
	line-height: 1.6;
	font-size: .95em;
}


@media screen and (min-width : 600px) {
.cv .cv__info {
	padding: 3.2em 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: 3.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: 3em;
}
.sec img {
	width: auto;
}
.sec figure {
	margin: 1em auto;
	text-align: center;
}
.sec figure.fg-m {
	width: 75%;
}
.sec figure.fg-s {
	width: 45%;
}
.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: #E67B98;
	color: #FFF;
	padding: 0.6em 0 0.7em;
	font-size: 1.45em;
	margin: 0 0 0.5em;
}
.sec h3 span {
	display: block;
	margin-bottom: 0.55em;
}
.sec h3 span img {
	height: 1.025em;
}
.sec h3 span.ls {
	display: inline-block;
	margin-bottom: 0;
	letter-spacing: -0.1em;
}
.sec h4.sec__hl {
    background: #DCBCAB;
    border-radius: 1.5em;
    padding: 0.7em 0;
    margin: 0 auto 0.7em;
	width: min(70%,600px);
}
.sec h4.sec__hl img {
	height: 1.1em;
}
.sec h5 {
	color: #D84A75;
	text-align: left;
	margin: 1em 0 0.3em;
	font-size: 1.15em;
	line-height: 1.4;
	text-indent: -.8em;
	padding-left: .8em;
}
.sec h5::before {
    content: "";
    display: inline-block;
    width: 0.6em;
    height: 0.6em;
    border-radius: 50%;
    background: #D84A75;
    vertical-align: middle;
    margin: 0 .2em .2em 0;
}

.sec .paybox {
    border-radius: 0.4em;
    border: 1px solid #E2CCBF;
    margin: 1.5em auto 1em;
	width: 96%;
}
.sec .paybox dt {
	background: #E2CCBF;
    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: #E2CCBF;
    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 .txtbox {
	margin: auto;
	max-width: 600px;
}
.sec .txtbox p {
	border: 0.7em solid #EBA9C2;
	background: #E585A5;
	text-align: center;
	color: #FFF;
	line-height: 2;
	padding: 0.6em 0 1.2em;
	font-size: 1.02em;
	letter-spacing: -0.04em;
	margin-bottom: 0.2em;
	margin-top: 1.5em;
}
.sec .txtbox span {
	display: inline-block;
	border-bottom: 1px dashed #FFF;
	margin-bottom: 0.3em;
	padding: 0;
}

.sec .cardbox {
	position: relative;
	background: #FAF6F3;
	text-align: left;
	padding: 0.7em 0 1em;
	margin: 2em auto 1.5em;
	width: 100%;
}
.sec .cardbox dt {
	color: #766214;
	margin: 0 0 0.5em 3%;
	font-size: 1.12em;
}
.sec .cardbox dd {
	background: #FFF;
	margin: 0 3em 0 3%;
	padding: 0.5em 1em 0.5em 2%;
	font-size: 0.9em;
	line-height: 1.6;
}
.sec .cardbox dd span {
	display: inline-block;
	position: relative;
	z-index: 1;
}
.sec .cardbox::after {
	content: "";
	position: absolute;
	display: block;
	background: url(../img/cv__info--bg.png) no-repeat calc(100% + 3.5em) 100%;
	background-size: 15.5em auto;
	width: 7em;
	height: 130%;
	right: 0;
	bottom: 0;
}
.sec .sec__tbl {
	width: 100%;
	margin: 1.5em auto 1em;
}
.sec .sec__tbl caption {
	color: #D84A75;
	text-align: left;
	margin-bottom: 0.3em;
	font-size: 1.15em;
}
.sec .sec__tbl caption::before {
	content: "";
	display: inline-block;
	width: 0.6em;
	height: 0.6em;
	border-radius: 50%;
	background: #D84A75;
	vertical-align: middle;
	margin: 0 .2em .2em 0;
}
.sec .sec__tbl th,
.sec .sec__tbl td {
	border: 1px solid #4D4D4D;
	text-align: left;
	padding: 0.37em 2%;
	font-size: 0.95em;
}
.sec .sec__tbl th {
	background: #FDFAF7;
	min-width: 5em;
}
.sec .sec__tbl td p:nth-of-type(n + 2) {
	margin-top: .5em;
}

.cmn__txt {
	background: url(../img/cmn__txt__bg2.png), url(../img/cmn__txt__bg.jpg);
	background-position: -1em 55%, calc(100% + 2em) 30%;
	background-repeat: no-repeat, no-repeat;
	background-size: auto 125%, auto 120%;
	padding: 4em 0 0.5em;
	color: #C1094C;
	font-size: 1.3em;
	line-height: 1.5;
	margin: 1.5em auto 0;
}
.cmn__txt span {
	display: inline-block;
	transform: skewX(-13deg);
	font-weight: 700 !important;	
}
.cmn__ph {
	display: block;
	margin-bottom: 2em;
}
.cmn__ph.mba {
	display: block;
	margin-bottom: 1.6em;
}

.sec__mv {
	background: url(../img/sec__mv--bg.png) calc(100% + 4.4em) -0.3em no-repeat;
	background-size: 31em auto;
	padding: 1em 1% 0.5em .5%;
}
.sec__mv h2 {
	text-align: left;
	width: min(100%,700px);
	margin: 0 auto .5em;
}
.sec__mv h2 img {
	height: 4.2em;
	margin-top: -.7em;
}
.sec__mv h2 strong {
	font-size: 1.1em;
	display: block;
	margin-top: .4em;
}
.sec__mv h2 span {
	font-size: .6em;
}
.sec__mv__catch {
	margin: auto;
	width: min(94%, 500px);
	display: flex;
	justify-content: center;
}
.sec__mv__catch li {
	width: 48%;
	padding: 1%;
}
.sec__intro h3 {
	padding: 0.9em 0;
	font-size: 1em;
	margin-bottom: 1em;
}
.sec__intro h3 img {
	height: 1.15em;
}
.sec__intro .movie {
    max-width: 640px;
    margin: -2.5em auto 1em;
	padding-top: 2.5em;
    width: 100%;
    height: 53vw;
    max-height: 360px;
}
.sec__intro .movie video {
    width: 100%;
}
.sec__intro .sec__intro__priceimg img {
	border: 1px solid #BFA48B;
}
.sec__intro .sec__intro__price {
	width: min(100%,500px);
	margin: 0 auto .5em;
	border-bottom: 1px solid #DFD2BD;
}
.sec__intro .sec__intro__price caption {
	background: #DCBCAB;
	line-height: 1;
	padding: .7em 0;
	border-radius: 1.5em;
}
.sec__intro .sec__intro__price caption img {
	height: 1.2em;
}
.sec__intro .sec__intro__price td {
	width: 50%;
	line-height: 2;
	padding: .5em 0 .3em;
}
.sec__intro .sec__intro__price td img {
	height: 1.5em;
	vertical-align: middle;
	margin: 0 0 .2em .2em;
}
.sec__intro .sec__intro__price td span {
	display: block;
	font-size: .85em;
}
.sec__intro .f--tiny.ta--center {
	margin-bottom: 1.5em;
}
.sec__intro .gf--sm.ta--center {
	background: url(../img/sec__intro__bg01.jpg) no-repeat 0 0, url(../img/sec__intro__bg02.jpg) no-repeat 100% 0;
	background-size: auto 100%, auto 100%;
	padding: 1em 0;
	color: #885420;
	font-size: 1.2em;
	margin: 1em auto;
	width: min(100%, 500px);
	letter-spacing: -.1em !important;
}
.sec__intro .gf--sm.ta--center span {
	font-weight: 800 !important;
}

.sec__intro .menu {
	width: 70%;
	max-width: 400px;
	margin: 2.5em auto 2em;
}
.sec__intro .menu dt {
	background: #FEFDFB;
	padding: 0.353em 0;
	color: #707070;
	border: solid 1px #CFCFCF;
	font-size: 1.11em;
}
.sec__intro .menu dt::before {
	content: "";
	display: inline-block;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-color: #707070 transparent transparent transparent;
	border-width: 0.7em 0.6em 0 0.6em;
	margin: 0 0.2em 0.2em 0;
	vertical-align: middle;
}
.sec__intro .menu dt.close::before {
	border-color: transparent transparent #707070 transparent;
	border-width: 0 0.6em 0.7em 0.6em;
}
.sec__intro .menu dd {
	background: #FEFDFB;
	text-align: left;
}
.sec__intro .menu li {
	border-bottom: 1px dotted #7E7E7E;
}
.sec__intro .menu li a {
	display: block;
	padding: 0.6em 3%;
	text-decoration: none;
	font-size: 0.94em;
}
.sec__intro .menu li a::before {
	content: "";
	display: inline-block;
	background: #E37B98;
	width: .5em;
	height: .5em;
	border-radius: 50%;
	vertical-align: middle;
	margin: 0 .3em 0.2em 0;
}
.sec__intro h4 {
	color: #915A28;
	font-size: 1.3em;
	line-height: 1.4;
	letter-spacing: -0.03em;
}
.sec__intro .sec__intro__prf {
	position: relative;
	padding-top: 6em;
}
.sec__intro .sec__intro__prf dt {
	color: #D53F6D;
	text-align: left;
	font-size: 1.3em;
}
.sec__intro .sec__intro__prf figure {
	margin: 1em 0 .5em
}
.sec__intro .sec__intro__prf figure span img {
	width: 16em;
	position: absolute;
	top: 0;
	right: calc(-3% - 5em);
	z-index: -1;
}
.sec__intro .sec__intro__prf figcaption {
	text-align: left;
	border-left: solid .3em #CCA992;
	padding-left: .3em;
	line-height: 1;
}
.sec__intro .sec__intro__prf figcaption img {
	width: 15em;
}
.sec__intro .sec__intro__rcmd__ttl {
	margin: 1em 0 -2em;
}
.sec__intro .sec__intro__rcmd__ttl img {
	width: 100%;
	max-width: 440px;
}
.sec__intro .sec__intro__rcmd {
	padding: 2.5em 3% 1em;
	background: url(../img/sec__intro__rcmd--bg.png) no-repeat 50% -1.8em #FFFBFB;
	background-size: 44.5em auto;
	margin: 0 auto 1.5em;
	max-width: calc(800px - 6%);
}
.sec__intro .sec__intro__rcmd li {
	text-align: left;
	background: url(../img/sec__intro__rcm--icon.png) no-repeat 0 100%;
	background-size: auto 1.2em;
	padding: 0 0 0 1.2em;
	margin: 0.3em 0;
}
.sec__intro .sec__intro__rcmd li img {
	height: 1em;
}
.sec__intro #sec__ql img {
	height: 2.1em;
}
.sec__intro .sec__piclist {
	margin-top: 1.2em;
}
.sec__intro .sec__piclist li {
	width: 49%;
	border-radius: 0.3em;
	background-color: #DCBCAB;
	background-repeat: no-repeat;
	background-position: 50% 0;
	background-size: 100.5% auto;
	color: #FFF;
	line-height: 1.3;
	font-size: 1.12em;
	letter-spacing: -0.02em;
	padding: 5.8em 0 0.45em;
	margin-bottom: 2%;
}
.sec__intro .sec__piclist li span {
	letter-spacing: -0.3em;
	margin-left: -0.3em;
}
.sec__intro .sec__piclist li:nth-of-type(odd) {
	float: left;
}
.sec__intro .sec__piclist li:nth-of-type(even) {
	float: right;
}
.sec__intro .sec__piclist li:nth-of-type(1) {
	background-image: url(../img/sec__piclist01.jpg);
}
.sec__intro .sec__piclist li:nth-of-type(2) {
	background-image: url(../img/sec__piclist02.jpg);
}
.sec__intro .sec__piclist li:nth-of-type(3) {
	background-image: url(../img/sec__piclist03.jpg);
}
.sec__intro .sec__piclist li:nth-of-type(4) {
	background-image: url(../img/sec__piclist04.jpg);
}
.sec__intro .sec__piclist li:nth-of-type(5) {
	background-image: url(../img/sec__piclist05.jpg);
}
.sec__intro .sec__piclist li:nth-of-type(6) {
	background-image: url(../img/sec__piclist06.jpg);
}
.sec__intro .sec__intro__btn {
    width: calc(94% - 50px);
    max-width: 450px;
    margin: 1em auto 3em;
    display: block;
    border-radius: 0.6em;
    background: #E3647C;
    background: url(../img/sec__intro__btn__icon.png) no-repeat 101% 100%, linear-gradient(180deg, #E5819C 0%, #E5819C 50%, #DF6487 50%, #DF6487 100%);
    padding: 1.17em 50px 1.2em 0.5em;
	line-height: 1;
}
.sec__intro .sec__intro__btn img {
	width: 17.5em;
}

#sec__tx h3 {
	margin-bottom: 0;
}
#sec__tx .fg-m {
	margin-top: .5em;
}
#sec__tx h4#sec__tx__merit {
	clear: both;
	margin: 1.5em -3% 0;
}
#sec__tx h4#sec__tx__merit img {
	height: 4.2em;
}
#sec__tx .sec__tx__point {
	margin: 1em 0;
}
#sec__tx .sec__tx__point li {
	width: 49%;
	margin: 0 0 1.2em;
}
#sec__tx .sec__tx__point li:nth-child(odd) {
	float: left;
	clear: both;
}
#sec__tx .sec__tx__point li:nth-child(even) {
	float: right;
}
#sec__tx .sec__tx__point li:nth-child(5),
#sec__tx .sec__tx__point li:nth-child(6) {
	margin-bottom: 0;
}
#sec__tx .sec__tx__point dt {
	display: inline-block;
	background: #DA6585;
	border-radius: 20vw 20vw 0 0;
	width: 20vw;
	padding: 2.5vw 0 0;
	height: 7.5vw;
	border: 1.3vw solid #F0E3DB;
	border-bottom: none;
	font-size: 0;
}
#sec__tx .sec__tx__point dt img {
	width: auto;
	height: 6.5vw;
	margin-right: 1.5vw;
	object-fit: cover;
	vertical-align: top;
}
#sec__tx .sec__tx__point dd {
	border: 1px solid #EBE2CE;
	border-radius: 5px;
	padding: .3em 0.2% .5em 1%;
	background: #FFF;
}
#sec__tx .sec__tx__point dd strong {
	display: block;
	font-size: 1.05em;
	letter-spacing: -0.05em;
	text-align: center;
	color: #D53F6D;
}
#sec__tx .sec__tx__point dd p {
	margin: 0.3em 2% 0;
	font-size: 0.9em;
	line-height: 1.5;
	letter-spacing: -0.05em;
}

#sec__prog .sec__prog__chart {
	margin: 1.5em 0 2em;
}
#sec__prog .sec__prog__chart li {
	position: relative;
	padding-bottom: 3em;
}
#sec__prog .sec__prog__chart li::after {
	position: absolute;
	content: "";
	display: inline-block;
	left: calc(50% - 1.3em);
	bottom: 1.05em;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-color: #E58EA6 transparent transparent transparent;
	border-width: 1.9em 1.3em 0 1.3em;
}
#sec__prog .sec__prog__chart li:last-of-type {
	padding-bottom: 0;
}
#sec__prog .sec__prog__chart li:last-of-type::after,
#sec__prog .sec__prog__chart li li::after {
	display: none;
}
#sec__prog .sec__prog__chart li strong {
	display: block;
	width: 70%;
	background: #DCBCAB;
	border-radius: 1.5em;
	padding: 0.18em 0 0.67em;
	margin: 0 auto 0.7em;
}
#sec__prog .sec__prog__chart li:nth-of-type(2) strong {
	margin-bottom: 0;
}
#sec__prog .sec__prog__chart li strong img {
	height: 1.1em;
}
#sec__prog .sec__prog__chart li figure {
	margin: 0 auto 0.7em;
	width: 44%;
}
#sec__prog .sec__prog__chart li:nth-of-type(4) figure {
	width: 94%;
}

#sec__ele .sec__ele__pic {
	clear: both;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
#sec__ele .sec__ele__pic figure {
	width: 48%;
	margin: 0 0 .5em;
	position: relative;
}
#sec__ele .sec__ele__pic figure:nth-of-type(odd)::after {
	content: "";
	position: absolute;
	display: inline-block;
	right: -1em;
	top: calc(50% - .7em);
	width: 1.2em;
	height: 2em;
	background: #ff7bac;
	clip-path: polygon(0 0, 0 100%, 100% 50%);
}
#sec__ele .sec__ele__pic figure img {
	height: 43vw;
}
#sec__ele .sec__ele__pic figcaption {
	line-height: 1.4;
	font-size: min(3.3vw,1em);
	margin-top: .5em;
}

#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: #DCBCAB;
	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__price .sec__price__catch li {
	background: #FEF7F8;
	width: 49.5%;
	color: #C1094C;
	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:nth-child(odd) {
	float: left;
}
#sec__price .sec__price__catch li:nth-child(even) {
	float: right;
}
#sec__price .sec__price__catch li span {
	display: block;
	padding-top: 0.45em;
}
#sec__price figure {
	margin-top: 0.8em;
	margin-bottom: 4em;
	max-width: 300px;
	width: 55%;
}
#sec__price .sec__price__catch li strong {
	font-size: 1.67em;
}
#sec__price .sec__price__tbl {
	width: 100%;
	border-bottom: 1px solid #B2B2B2;
	margin: 1.5em auto .7em;
	background: #FFF;
}
#sec__price .sec__price__tbl caption {
	margin: 0 0 1em;
	padding: 0.7em 0 0.8em;
	text-align: center;
	color: #FFF;
	font-size: 1.25em;
	background: #E2CBBF;
	position: relative;
	line-height: 1;
}
#sec__price .sec__price__tbl caption::before,
#sec__price .sec__price__tbl caption::after {
	position: absolute;
	display: block;
	width: 100%;
	height: 10px;
	content: "";
}
#sec__price .sec__price__tbl caption::before {
	background: url(../img/pricetbl__caption__bg.png) 50% 0 no-repeat;
	background-size: auto 6px;
	top: 3px;
}
#sec__price .sec__price__tbl caption::after {
	background: url(../img/pricetbl__caption__bg.png) 50% 0 no-repeat;
	background-size: auto 6px;
	transform: rotate(180deg);
	bottom: 3px;
}
#sec__price .sec__price__tbl tr {
	border-top: 1px solid #B2B2B2;
}
#sec__price .sec__price__tbl th {
	text-align: left;
	vertical-align: middle;
	padding: 0.64em 0.5% 0.64em 2%;
	border-right: 1px solid #B2B2B2;
	letter-spacing: -0.02em;
}
#sec__price .sec__price__tbl th span {
	font-size: 0.7em;
}
#sec__price .sec__price__tbl td {
	text-align: right;
	vertical-align: middle;
	padding: 0.64em 2% 0.64em 1%;
	color: #BA084D;
	font-size: 1.2em;
	line-height: 1.1;
	width: 25%;
	letter-spacing: -.05em;
}
#sec__price .sec__price__tbl td span {
	font-size: 0.7em;
}
#sec__price .f--small.inner {
	margin-bottom: 1.5em;
}
#sec__price .sec__price__minors {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 2em;
}
#sec__price .sec__price__minors img {
	vertical-align: middle;
	width: 5em;
	margin-right: .5em;
}
#sec__faq .sec__faq__list {
	text-align: left;
	margin-top: 1em;
}
#sec__faq .sec__faq__list dt {
	background: url(../img/sec__faq__list--icon.png) no-repeat 2% 0.55em #E2CCBF;
	background-size: 1.35em auto;
	border-radius: 0.2em;
	padding: 0.45em 0.5em 0.4em calc(2% + 1.7em);
	color: #FFF;
	margin-bottom: 0.5em;
	position: relative;
	font-size: 1.03em;
	letter-spacing: -0.01em;
}
#sec__faq .sec__faq__list dd {
	text-align: justify;
	padding-bottom: 1.4em;
}
#sec__faq p {
	border-top: 1px solid #999999;
	padding-top: 1.35em;
}

#sec__dr h3 {
	margin-bottom: 0;
}
#sec__dr .sec__dr__msg {
	line-height: 1.5;
	margin: 0 auto 1.3em;
	background-repeat: no-repeat, no-repeat !important;
	background-size: auto 130%, cover !important;
	background: url(../img/dr-ph.png),url(../img/sec__dr__bg.jpg);
	background-position: calc(100% + 3.5em) .3em, 0 0;
	padding: 3em 15% 2em 0;
	color: #c1084d;
}
#sec__dr .sec__dr__prof {
	text-align: left;
	margin-bottom: 1.5em;
}
#sec__dr .sec__dr__prof dt {
	margin-bottom: 1em;
}
#sec__dr .sec__dr__prof dd p {
	margin-bottom: 1.2em;
	line-height: 1.7;
}

#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__mv h2 strong span img {
	margin-left: 12.5em;
}
#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 h2 {
	font-size: 1.2em;
}
.sec__mv h2 strong span img {
	margin-left: -1.5em;
	height: 5em;
}
.sec__intro .sec__piclist li {
	padding: 30% 0 0.5em;
}
#sec__price figure {
	margin-bottom: 4em;
}
}


@media screen and (min-width : 768px) {
.sec .paybox {
	width: 100%;
}
.sec .txtbox p {
	padding: 0.6em 0 1.2em;
	font-size: 1.08em;
	letter-spacing: 0;
	margin-bottom: 0.5em;
	margin-top: 1.5em;
	margin-left: 10%;
	margin-right: 10%;
}
.sec .cardbox {
	width: 80%;
	margin-top: 3em;
}
.sec .cardbox::after {
	background: url(../img/cv__info--bg.png) no-repeat calc(100% + 1em) 100%;
	background-size: 15.5em auto;
	width: 9em;
	height: 130%;
	right: 0;
	bottom: 0;
}
.sec .cardbox dd span:first-of-type {
	display: block;
}

.cmn__txt {
	background-position: 0 55%, calc(100% + 1em) 30%;
	margin: 1.5em 10% 0;
}
.cmn__ph {
	width: 80%;
	margin: 0 auto 1em;
}

.sec__mv {
	background: url(../img/sec__mv--bg.png) 100% 0 no-repeat;
	background-size: 30em auto;
	padding: 1em 0 0.5em;
}
.sec__mv h2 {
	font-size: 1.5em;
	margin: auto;
}
.sec__mv h2 img {
	margin-top: -1em;
}
.sec__intro .movie {
    margin-top: -120px;
	padding-top: 120px;
}
.sec__intro h4 {
	margin-top: 2em;
}
.sec__intro .sec__intro__price td img {
	height: 1.7em;
}
.sec__intro .sec__intro__prf figure span img {
	right: 0;
}
.sec__intro .sec__intro__rcmd li {
	width: calc(50% - 1.2em);
	float: left;
}
.sec__intro .sec__intro__rcmd li:nth-of-type(even) {
	width: calc(49% - 1.2em);
}
.sec__intro .sec__intro__rcmd li img {
	height: 2vw;
	max-height: .95em;
}
.sec__intro .sec__piclist li {
	width: 32%;
	padding: 19.5% 0 0.5em;
	margin-right: 2%;
}
.sec__intro .sec__piclist li:nth-of-type(odd),
.sec__intro .sec__piclist li:nth-of-type(even) {
	float: left;
}
.sec__intro .sec__piclist li:nth-of-type(3n) {
	margin-right: 0;
}

#sec__tx .fg-m {
	float: left;
	width: 40%;
	margin: 0 3% 1.5em 0;
}
#sec__tx .sec__tx___txt {
	padding-top: 7%;
}

#sec__tx .sec__tx__point li {
	width: 32%;
	margin-right: 2%;
}
#sec__tx .sec__tx__point li:nth-child(odd) {
	clear: none;
}
#sec__tx .sec__tx__point li:nth-child(even) {
	float: left;
}
#sec__tx .sec__tx__point li:nth-child(3n) {
	float: right;
	margin-right: 0;
}
#sec__tx .sec__tx__point li:nth-child(4) {
	clear: both;
}
#sec__tx .sec__tx__point dt {
	border-radius: 150px 150px 0 0;
	width: 100px;
	padding: 15px 0 0;
	height: 35px;
	border-width: 4px;
}
#sec__tx .sec__tx__point dt img {
	height: 32px;
	margin-right: 5px;
}
#sec__tx .sec__tx__point dd p {
	font-size: 0.85em;
}

#sec__prog .sec__prog__chart li strong {
	width: 100%;
}
#sec__prog .sec__prog__chart li figure {
	max-width: 200px;
}
#sec__prog .sec__prog__chart li:nth-of-type(4) figure {
	max-width: 100%;
}
#sec__ele .fg-m {
	float: left;
	width: 40%;
	margin: 0 3% 1.5em 0;
}
#sec__ele .sec__ele__pic figure {
	width: 23%;
}
#sec__ele .sec__ele__pic figure:nth-of-type(-n + 3)::after {
	content: "";
	position: absolute;
	display: inline-block;
	right: -1.2em;
	top: calc(50% - .7em);
	width: 1.2em;
	height: 2em;
	background: #ff7bac;
	clip-path: polygon(0 0, 0 100%, 100% 50%);
}
#sec__ele .sec__ele__pic figure img {
	height: min(17vw,9.5em);
}
#sec__ele .sec__ele__pic figcaption {
	font-size: min(1.3vw,.75em);
}

#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 .paybox {
	clear: both;
}
#sec__price .sec__price__tbl {
	width: 80%;
}
#sec__dr .sec__dr__msg {
	background-position: calc(50% + 11em) .5em, 0 0;
	padding-right: 4em;
}
#sec__dr .sec__dr__prof dd p:first-of-type {
	float: left;
	margin-right: 3em;
}
#sec__info .sec__info__route {
	width: 100%;
}
#sec__info .sec__info__route p {
	text-align: center;
}
}

@media screen and (min-width : 1000px) {
.sec__intro .sec__intro__price__wrap {
	width: 49%;
	float: right;
}
.sec__intro .sec__intro__price__wrap:nth-of-type(2) {
	float: left;
}
.sec__intro .gf--sm.ta--center {
	clear: both;
}
.sec__intro .sec__intro__price td {
	font-size: .9em;
}
}

/*	form
============================*/
.pp section {
	padding-top: 10px;
}
.form {
	padding-bottom: 0;
}
.form h3,
.pp h3 {
	background: #DAB7A4;
}
.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 #EA7792;
	border-radius: .45em;
}
.form .formtel dt {
	padding: .2em 0;
	color: #FFF;
	background: #EA7792;
	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: #EA8190;
	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: #E17C90;
}
.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: #DAB7A4;
	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;
}