@charset "UTF-8";
/*
#firstVew
---------------------------*/
#topVisual {
	width: 100%;	
	height: 0;
	padding: 130% 0 0 0;
	background-image: url("../img/mv-bg_sp.jpg");
	background-repeat: no-repeat;
	background-position: 90% bottom;
	background-size: 100%;
	text-align: center;
	position: relative;
	background-color: #F0EFE6;
}
#topVisual img {
	width: 100%;
}
#topVisual #mvText {
	position: absolute;
	right: 0;
	left: 0;
	bottom: 11vw;
	width: 83%;
	max-width: 438px;
	margin: auto;
}
#topVisual #mvText .mv_pc {
	display: none;
}
#topVisual #mvBtn {
	position: absolute;
	left: 0;
	right: 0;
	top: 4%;
	width: 90%;
	margin: 0 auto;
}
#topVisual #mvBtn a {
	display: block;
	border: 2px solid #231815;
}
/*#topVisual #mvBtn a:hover {
	opacity: 0.85;
}*/
#topVisual #mvBtn a:hover {
	opacity: 1;
	border: 2px solid #c64967;
}
@media (min-width: 769px){
	#topVisual {
		padding-top: min(660px, 50vw);
		background-image: url("../img/mv-bg.jpg");
		background-position: left top;
		background-size: cover;
	}
	#topVisual #mvText {
		left: initial;
		bottom: initial;
		right: 6vw;
		top: 4.5vw;
		width: 2.5vw;
		max-width: 34px;
	}
	/*#topVisual #mvText img {
		filter: drop-shadow(2px 2px 3px rgba(0,0,0,1));
	}*/
	#topVisual #mvText .mv_sp {
		display: none;
	}
	#topVisual #mvText .mv_pc {
		display: block;
	}
	#topVisual #mvBtn {
		left: 5vw;
		right: initial;
		top: 4.17vw;
		width: 42vw;
		max-width: 579px;
		margin: 0;
	}
	#topVisual #mvBtn a {
		display: block;
		/*border-radius: 0.7vw;*/
		/*border: 0.3vw solid #ffffff;*/
		background-color: #ffffff;
	}
	/*#topVisual #mvBtn a:hover {
		opacity: 1;
		border: 0.3vw solid #c64967;
	}*/
}
@media (min-width: 1700px){
	#topVisual {
		padding-top: min(660px, 34.375vw);
	}
	/*#topVisual #mvText {
		right: 17vw;
		top: 4.17vw;
		width: /29px;
		max-width: 29px;
	}*/
	#topVisual #mvBtn {
		left: 15.5vw;
		top: 4.17vw;
		width: /*0.16vw*/579px;
		max-width: 579px;
	}
}
/*
.contactBnr
---------------------------*/
.contactBnr {
	position: relative;
	z-index: 2;
	margin-top: -1.5em;
}
.contactBnr a {
	opacity: 1;
}
.contactBnr dl {
	width: 90%;
	max-width: 940px;
	margin: auto;
	background-color: #F0EFE6;
}
.contactBnr dt {
	background-color: #C64967;
	color: #ffffff;
	text-align: center;
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 1.25;
	font-size: min(45px, 4.5vw);
	padding: 0.27em;
}
.contactBnr dd {
	position: relative;
}
.contactBnr dd > img {
	width: 100%;
}
.contactBnr dd ul {
	position: absolute;
	bottom: 1em;
	left: 0;
	right: 0;
	margin: 0 auto;
}
.contactBnr dd li.btn {
	width: 41vw;
	max-width: 458px;
	margin: 0 auto 2vw auto;
}
.contactBnr dd li.tel {
	width: 53vw;
	max-width: 520px;
	margin: 0 auto;
}
.contactBnr dd a.mode_sp:hover {
	opacity: 1;
}
@media (min-width: 769px){
	.contactBnr {
		margin-top: -35px;
	}
	.contactBnr dd ul {
		bottom: 1em;
	}
	.contactBnr dd li.btn {
		margin-bottom: 10px;
	}
	.contactBnr dd li.tel{
		width: 46vw;
	}
	.contactBnr dd a li > img {
		transition: opacity 0.2s ease-out;
		backface-visibility: hidden;
		zoom: 1;
	}
	.contactBnr dd a:hover li > img {
		opacity: 0.8;
	}
}
/*
@media (max-width: 430px){
	.contactBnr {
		margin-top: -1.5em;
	}
	.contactBnr dd li.btn {
		margin-bottom: 2vw;
	}
	.contactBnr dd ul {
		bottom: 1.5em;
	}
}
*/
/*
#worry
---------------------------*/
#worry .ph {
	max-width: 1122px;
	margin-left: auto;
	margin-right: auto;
}
@media (min-width: 769px){
	#worry .inner {
		padding-top: /*90px*/100px;
		padding-bottom: 30px;
	}
}
/*
#point
---------------------------*/
#point .bg {
	background-color: #DEDEDE;
}
#point .inner {
	padding-bottom: 90px;
}
#point .inner ul {
	width: 90%;
}
@media (min-width: 769px){
	#point .inner {
		padding-top: /*80px*/100px;
		padding-bottom: 190px;
	}
	#point .inner ul {
		width: 100%;
	}
	#point .contactBnr {
		margin-top: -90px;
	}
}
/*pointBox01*/
#point .pointBox01 li {
	text-align: left;
	display: inline-block;
}
#point .pointBox01 .ph {
	display: flex;
	align-items: center;
}
#point .pointBox01 .ph p {
	width: 40%;
	padding-right: 5%;
}
#point .pointBox01 h3 {
	font-weight: bold;
	letter-spacing: 0.05em;
	line-height: 1.46;
	margin-bottom: 1em;
}
#point .pointBox01 h3 > span {
	font-size: 130%;
	line-height: inherit;
}
#point .pointBox01 .txt dl {
	display: flex;
	width: 100%;
	margin-bottom: 1em;
}
#point .pointBox01 .txt dt,
#point .pointBox01 .txt dd,
#point .pointBox01 .txt .nintei {
	line-height: 1.52;
	letter-spacing: 0.05em;
}
#point .pointBox01 .txt dt {
	width: 5em;
}
#point .pointBox01 .txt dd {
	width: 80%;
}
#point .pointBox01#medical {
	padding-top: 2em;
}
#point .pointBox01#medical .txt p > span {
	display: block;
	line-height: inherit;
}
#point .pointBox01#medical .txt p > span:last-child {
	margin-bottom: 0.5em;
}
#point .pointBox01#medical .btn a {
	display: inline-block;
	background-color: #C64968;
	border-radius: 8px;
	padding: 8px 1.2em;
	line-height: 1;
	color: #ffffff;
	font-weight: bold;
	font-size: min(4.5vw,16px);
	text-align: center;
}
@media (min-width: 769px){
	#point .pointBox01#medical .btn a {
		font-size: min(5vw,26px);
		border-radius: 16px;
	}
	#point .pointBox01 {
		display: flex;
		justify-content: space-between;
		max-width: 946px;
		margin: auto;
		padding-top: 24px;
	}
	#point .pointBox01 .ph {
		width: 34.1%;
	}
	#point .pointBox01 .ph p {
		width: auto;
		padding: 0;
		margin: 0;
	}
	#point .pointBox01 .txt {
		width: 58.86%;
	}
	#point .pointBox01 h3 {
		/*font-size: 26px;*/
		font-size: min(3vw,26px);
	}
	#point .pointBox01 h3 > span {
		font-size: 108%;
	}
	#point .pointBox01 .txt dl {
		margin-bottom: 0;
	}
	#point .pointBox01 .txt dt,
	#point .pointBox01 .txt dd ,
	#point .pointBox01 .txt .nintei {
		letter-spacing: 0.05em;
		/*font-size: 21px;*/
		font-size: min(2vw,21px);
	}
	#point .pointBox01#medical {
		padding-top: 60px;
	}
	#point .pointBox01#medical .txt p > span {
		display: block;
		font-size: 73%;
		line-height: inherit;
	}
}
/*pointBox02*/
#point .pointBox02 {
	max-width: 1124px;
	margin: auto;
}
#point .pointBox02 li {
	width: 100%;
	margin-top: 2em;
}
#point .pointBox02 li h3 {
	border-radius: 8px;
	width: 100%;
	height: 5em;
	background-color: #aa445b;
	color: #ffffff;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto 1em auto;
	text-align: center;
	letter-spacing: 0.05em;
	line-height: 1.4;
	/*font-family: 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', 'Noto Serif JP', serif;
	font-weight: 400;*/
	font-weight: 700;
	/*font-size: 110%;*/
	font-size: min(22px, 4.8vw);
}
@media (min-width: 769px){
	#point .pointBox02 {
		display: flex;
		justify-content: space-between;
	}
	#point .pointBox02 li {
		width: 31%;
		margin-top: 82px;
	}
	#point .pointBox02 li p {
		/*font-size: 22px;*/
		font-size: min(2.2vw,22px);
		line-height:1.36; 
		letter-spacing: 0.025em;
	}
	#point .pointBox02 li h3 {
		border-radius: 100%;
		width: 9em;
		height: 9em;
		/*line-height: 1.71;*/
		font-size: min(3vw,27px);
		line-height: 1.5;
	}
}
@media (max-width: 768px) and (min-width: 430px){
	#point .pointBox02 li h3 > br {
		display: none;
	}	
}
/*
#flow
---------------------------*/
#flow {
	padding-bottom: 2em;
}
#flowList {
	background-color: #F0EFE6;
	border-radius: 8px;
	text-align: left;
	max-width: 1144px;
	margin: auto;
}
#flowList dl {
	display: flex;
	align-items: center;
}
#flowList dt {
	padding: 5.8% 0;
	width: 20%;
	text-align: center;
	font-family: '游明朝', 'Yu Mincho', '游明朝体', 'YuMincho', 'Noto Serif JP', serif;
	font-weight: 600;
	line-height: 1;
	font-size: min(7vw,70px);
	color: #888888;
	position: relative;
}
#flowList dt:after {
	color: inherit;
	font-size: min(7vw,70px);
	content: '↓';
	position: absolute;
	left: 0;
	right: 0;
	bottom: -0.7em;
	margin: auto;
	width: 100%;
}
#flowList dl:last-child dt {
	font-size: min(4vw,25px);
	line-height: 1.2;
	color: #6B6D70;
}
#flowList dl:last-child dt:after {
	content: '→';
	bottom: 0.6em;
	right: -0.6em;
	color: #888888;
    left: initial;
	text-align: right;
}
#flowList dd {
	padding: 5.8% 4.5%;
	/*padding: 64px 50px;*/
	width: 80%;
	background-color: #F1F1F2;
	border-bottom: 1px solid #58595B;
}
#flowList dl:last-child dd {
	border-bottom: none;
	border-bottom-right-radius: 8px;
}
#flowList dl:first-child dd {
	border-top-right-radius: 8px;
}
#flowList dd h3 {
	line-height: 1.33;
	letter-spacing: 0.01em;
	font-weight: bold;
}
#flowList dd p {
	font-size: 90%;
}
@media (min-width: 769px){
	#flow {
		padding-bottom: 5em;
	}
	#flowList {
		border-radius: 16px;
	}
	#flowList dl:last-child dd {
		border-bottom-right-radius: 16px;
	}
	#flowList dl:first-child dd {
		border-top-right-radius: 16px;
	}
	#flowList dl:last-child dt {
		font-size: min(3vw,40px);
	}
	#flowList dl:last-child dt:after {
		bottom: min(0.7em,3vw);
		right: -0.6em;
	}

	#flowList dd h3 {
	}
	#flowList dl:last-child dd h3 {
		font-size: 130%;
		line-height: 1.63;
		letter-spacing: 0.05em;
	}
	#flowList dd p {
		font-size: 100%;
	}
}
@media (max-width: 768px){
	#flowList dl:last-child dd {
		padding-top: 3em;
		padding-bottom: 3em;
	}
}
/*
#price
---------------------------*/
#price .bg {
	background-color: #DEDEDE;
	margin-top: min(90px, 5vw);
}
#price .inner {
	padding-bottom: 90px;
}
#price .ph {
	max-width: 1046px;
	margin-left: auto;
	margin-right: auto;
}
#price .ph img {
	margin: auto;
}
#priceList {
	text-align: left;
	display: inline-block;
}
#priceList dl {
	margin-bottom: 2em;
	display: block;
}
#priceList dt {
	font-weight: bold;
}
#priceList dd li {
	text-indent: -1em;
	padding-left: 1em;
}
#price h3 {
	font-size: min(6vw, 25px);
	margin-bottom: 0.5em;
}
@media (min-width: 769px){
	#price .inner {
		/*padding-top: 75px;
		padding-bottom: 120px;*/
		padding: 100px 0;
	}
	#price h3 {
		font-size: min(4vw, 41px);
	}
}
@media (max-width: 430px){
	#priceList dl {
		font-size: 14px;
	}
}
/*
#faq
---------------------------*/
#faqList {
	background-color: #F1F1F2;
	border-radius: 8px;
	text-align: left;
	max-width: 1144px;
	margin: auto;
	padding: 8.3% 8.8%;
}
#faqList dl {
	border-bottom: 1px dashed #000;
	padding-bottom: 1em;
	margin-bottom: 2em;
}
#faqList dl:last-child {
	border-bottom: none;
	padding-bottom: 0;
	margin-bottom: 0;
}
#faqList dt,
#faqList dd,
#faqList dd li {
	font-size: 100%;
	line-height: 1.42;
	padding-left: 1.8em;
	position: relative;
}
#faqList dt:before,
#faqList dd:before {
	content: "Q";
	position: absolute;
	left: 0;
	right: 0;
	width: 1.8em;
}
#faqList dd:before {
	content: "A";
}
#faqList dt {
	margin-bottom: 1.2em;
	font-weight: bold;
}
#faqList dd li {
	line-height: 1.42;
	text-indent: -1em;
	padding-left: 1em;
}
#faq .contactBnr {
	margin-bottom: 3em;
}
@media (min-width: 769px){
	#faqList {
		border-radius: 16px;
	}
	#faqList dt,
	#faqList dd ,
	#faqList dd li {
		letter-spacing: 0.01em;
		/*font-size: 19px;*/
		font-size: min(1.9vw,19px);
	}
	#faq .contactBnr {
		margin-bottom: 7em;
		margin-top: -11em;
	}
}

/*
#about
---------------------------*/
#about .bg {
	background-color: #F0EFE6;
}
#about h2 {
	margin-bottom: 2em;
}
#about h3 {
	margin-bottom: 1.8em;
}
#about .intro p {
	margin-bottom: 1em;
}
#about .intro p:last-child {
	margin-bottom: 1.5em;
}
#about .ph {
	display: flex;
	justify-content: space-between;
	padding-top: 0.5em;
	padding-bottom: 2em;
}
#about .ph li {
	width: 30%;
}
#about .ph li img{
	width: 100%;
	max-width: 345px;
}
#about .gmap iframe {
    display: block;
	width: 100%;
	height: 60vw;
    max-height: 430px;
}
@media (min-width: 769px){
	#about .inner {
		padding: 100px 0;
	}
	#about .intro p:last-child {
		margin-bottom: 50px;
	}
	#about .ph {
		padding-top: 42px;
		padding-bottom: 88px;
	}
}
#howto h2 {
	display: none;
}