@charset "UTF-8";
/* CSS Document */

/*選ばれる理由*/
#reason #reason01 {
	padding: 60px 0 80px;
}

#reason #reason01 ul {
	padding: 0 3.73%;
}

#reason #reason01 ul li {
	padding-bottom: 60px;
}

#reason #reason01 ul li:last-child {
	padding-bottom: 0;
}

#reason #reason01 ul li h3 {
	width: calc(100% - 2px);
	border: 1px solid #000000;
	margin-bottom: 20px;
	line-height: 1.3em;
	font-size:min(4.8vw,36px);
	color: #161316;
	font-weight: 500;
	display: table;
}

#reason #reason01 ul li h3 > span {
	display: table-cell;
}

#reason #reason01 ul li h3 > span:first-child {
	width: 14.12%;
	background-color: #69b1ba;
	color: #eef4fb;
	font-size:min(4.9vw,42px);
	font-weight: 500;
	text-align: center;
	border-right: 1px solid #000000;
	padding-top: 20px;
	padding-bottom: 5px;
	position: relative;
}

#reason #reason01 ul li h3 > span:last-child {
	width: calc(100% - 14.12% - 31px);
	padding: 10px 15px;
	vertical-align: middle;
}

#reason #reason01 ul li h3 > span > span {
	font-size:min(2.5vw,24px);
	line-height: normal;
	position: absolute;
	left: 50%;
	top: 2px;
	transform: translateX(-50%);
}

#reason #reason01 ul li div {
	padding-bottom: 25px;
	text-align: center;
}


/*クリニック案内*/
#clinic #clinic01 {
	padding: 60px 0 80px;
}

#clinic #clinic01 .box {
	padding: 35px 3.73% 0;
}

#clinic #clinic01 .box div:first-child {
	width: 33.42%;
	margin: 0 auto;
}

#clinic #clinic01 .box div:nth-child(2) p.t01 {
	padding-bottom: 15px;
	line-height: 1em;
	font-weight: 500;
	padding-top: 20px;
	text-align: center;
}

#clinic #clinic01 .box div:nth-child(2) p.t02 {
	font-size:min(6.7vw,64px);
	padding-bottom: 15px;
	line-height: 1em;
	font-weight: 500;
	text-align: center;
}

#clinic #clinic01 .box div:nth-child(2) p.t03 {
	text-align: center;
}

#clinic #clinic01 .box div:nth-child(2) dl {
	padding-top: 20px;
	display: flex;
	flex-wrap: wrap;
}

#clinic #clinic01 .box div:nth-child(2) dl dt {
	width: 110px;
	line-height: 1.8em;
}

#clinic #clinic01 .box div:nth-child(2) dl dd {
	width: calc(100% - 110px);
	line-height: 1.8em;
}

#clinic #clinic01 .box div:nth-child(3) {
	text-align: center;
	padding-top: 20px;
}

#clinic #clinic02 {
	padding: 0 0 80px;
}

#clinic #clinic02 table {
	margin: 35px 3.73% 0;
	width: calc(100% - 2px - 3.73% - 3.73%);
	border: 1px solid #414141;
	border-bottom: none;
}

#clinic #clinic02 table td {
	display: block;
	background-color: #fcfcfc;
	padding: 15px 20px;
	line-height: 1.8em;
	border-bottom: 1px solid #414141;
}

#clinic #clinic02 table td:first-child {
	font-weight: 700;
}

#clinic #clinic02 table td a {
	color: #252525;
}


/*アクセス*/
#access #access01 {
	padding: 60px 0 80px;
}

#access #access01 table {
	margin: 0 3.73%;
	width: calc(100% - 2px - 3.73% - 3.73%);
	border: 1px solid #414141;
	border-bottom: none;
}

#access #access01 table td {
	display: block;
	background-color: #fcfcfc;
	padding: 15px 20px;
	line-height: 1.8em;
	border-bottom: 1px solid #414141;
}

#access #access01 table td:first-child {
	font-weight: 700;
}

#access #access01 table td a {
	color: #252525;
}

#access #access01 div {
	text-align: center;
	padding-top: 40px;
}

#access #access02 {
	padding-bottom: 80px;
}

#access #access02 h2 span {
	padding-left: 12vw;
	position: relative;
}

#access #access02 h2 span::before {
	content: "";
	width: 10vw;
	height: 10vw;
	background-image: url("../../images/ico_train.webp");
	background-size: cover;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

#access #access02 p.t01 {
	padding: 35px 3.73% 30px;
	font-size:min(4.8vw,36px);
	font-weight: 700;
	color: #161316;
}

#access #access02 ul {
	padding: 0 3.73% 50px;
}

#access #access02 ul li {
	line-height: 1.8em;
	display: table;
}

#access #access02 ul li span {
	display: table-cell;
}

#access #access02 ul li span:first-child {
	width: 1.2em;
}

#access #access02 div {
	height: 330px;
	padding: 0 3.73% 30px;
}

#access #access02 div iframe {
	width: 100%;
}

#access #access03 {
	padding-bottom: 80px;
}

#access #access03 h2 span {
	padding-left: 12vw;
	position: relative;
}

#access #access03 h2 span::before {
	content: "";
	width: 10vw;
	height: 10vw;
	background-image: url("../../images/ico_car.webp");
	background-size: cover;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-40%);
}

#access #access03 p.t01 {
	padding: 35px 3.73% 30px;
}

#access #access03 h3 {
	font-size:min(4.8vw,36px);
	margin-left: 3.73%;
	font-weight: 700;
	color: #161316;
	padding-left: 8vw;
	position: relative;
}

#access #access03 h3::before {
	content: "";
	width: 6.5vw;
	height: 6.5vw;
	background-image: url("../../images/ico_parking.webp");
	background-size: cover;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

#access #access03 p.t02 {
	padding: 25px 3.73% 0;
}

#access #access04 {
	padding-bottom: 80px;
}

#access #access04 h2 span {
	display: inline-block;
	padding-left: 12vw;
	position: relative;
}

#access #access04 h2 span::before {
	content: "";
	width: 10vw;
	height: 10vw;
	background-image: url("../../images/ico_bike.webp");
	background-size: cover;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-25%);
}

#access #access04 p {
	padding: 35px 3.73% 0;
}

#access #access05 {
	margin-bottom: 80px;
	padding: 60px 3.73%;
	background-color: #eef4fb;
}

#access #access05 h2 {
	text-align: center;
	font-size:min(6vw,54px);
	color: #161316;
	font-weight: 700;
	position: relative;
}

#access #access05 h2::before {
	content: "";
	width: 100%;
	height: 1px;
	border-bottom: 4px solid #69b1ba;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

#access #access05 h2 span {
	display: inline-block;
	background-color: #eef4fb;
	padding: 0 2vw;
	position: relative;
	z-index: 1;
}

#access #access05 p {
	padding: 35px 0 0;
}


/*治療の流れ*/
#flow section {
	padding-bottom: 80px;
}

#flow section:first-of-type {
	padding-top: 60px;
}

#flow section .box {
	padding: 35px 3.73% 0;
}

#flow section .box > div:first-of-type {
	text-align: center;
	padding-bottom: 30px;
}

#flow section .box > p span {
	color: #b04444;
}

#flow section .box > div:nth-of-type(2) p.btn01 {
	padding-top: 40px;
}

#flow section .box > div:nth-of-type(2) h3 {
	font-weight: 500;
	line-height: 1.8em;
}

#flow section .box > div:nth-of-type(2) h3:nth-of-type(2) {
	padding-top: 30px;
}

#flow ul.btn {
	padding: 45px 3.73% 25px;
}

#flow ul.btn li {
	text-align: center;
	padding-bottom: 20px;
}

#flow ul.btn li:last-child {
	padding-bottom: 0;
}

#flow ul.btn li img {
	box-shadow: 0px 0px 8px 0px rgba(39, 39, 39, 0.3);
}

#flow ul.tel_t {
	text-align: center;
}

#flow ul.tel_t li:nth-child(2) a {
	font-size:min(9.6vw,100px);
	color: #69b1ba;
	text-decoration: none;
	padding-left: 50px;
	position: relative;
}

#flow ul.tel_t li:nth-child(2) a::before {
	content: "";
	width: 42px;
	height: 28px;
	background-image: url("../../images/ico_tel.webp");
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-40%);
}

#flow ul.tel_t li:nth-child(3) {
	line-height: 2.5em;
}

#flow ul.tel_t li:nth-child(3) span {
	border: 1px solid #0b1216;
	padding: 0 5px;
	line-height: 1em;
}


/*料金表*/
#price #price01 {
	padding: 60px 0 0;
}

#price #price01 .box01 {
	padding: 30px 3.73% 80px;
}

#price #price01 .box01 h3 {
	border: 2px solid #c7b47c;
	text-align: center;
	font-size:min(6.5vw,60px);
	color: #161316;
	font-weight: 700;
	padding: 15px 0;
}

#price #price01 .box01 h3 span {
	padding-left: 12vw;
	position: relative;
}

#price #price01 .box01 h3 span::before {
	content: "";
	width: 10vw;
	height: 10vw;
	background-image: url("../../images/ico_wakaba.webp");
	background-size: cover;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

#price #price01 .box01 dl {
	display: flex;
	justify-content: center;
	align-items: baseline;
	padding: 20px 0 25px;
}

#price #price01 .box01 dl dt {
	width: 100px;
	line-height: 1.5em;
	font-size:min(6vw,54px);
	color: #fff;
	font-weight: 500;
	text-align: center;
	background-color: #c7b47c;
	margin-right: 20px;
	position: relative;
	bottom: 5px;
}

#price #price01 .box01 dl dd {
	font-size:min(14.4vw,130px);
	color: #161316;
	font-weight: 700;
}

#price #price01 .box01 dl dd span.bl {
	position: relative;
}

#price #price01 .box01 dl dd span.bl::after {
	content: "";
	width: 100%;
	height: 15px;
	background: #ffd900;
	position: absolute;
	left: 0;
	bottom: 15px;
	z-index: -1;
}

#price #price01 .box01 dl dd span.txt01 {
	font-size:min(8.6vw,90px);
	font-weight: 500;
}

#price #price01 .box01 dl dd span.txt02 {
	font-size:min(4.9vw,42px);
	font-weight: 500;
}

#price #price01 .box01 p {
	text-align: center;
	font-size:min(6vw,54px);
	color: #161316;
}

#price #price01 .box02 {
	padding:0 3.73% 80px;
}

#price #price01 .box02 > h3 {
	text-align: center;
	font-size:min(7vw,68px);
	color: #161316;
	font-weight: 700;
}

#price #price01 .box02 > h3 span {
	padding: 0 8vw;
	position: relative;
}

#price #price01 .box02 > h3 span::before {
	content: "";
	width: 6vw;
	height: 1px;
	border-bottom: 6px solid #000000;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

#price #price01 .box02 > h3 span::after {
	content: "";
	width: 6vw;
	height: 1px;
	border-bottom: 6px solid #000000;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}

#price #price01 .box02 > ul {
	padding-top: 60px;
}

#price #price01 .box02 > ul li {
	padding-bottom: 80px;
}

#price #price01 .box02 > ul li:last-child {
	padding-bottom: 0;
}

#price #price01 .box02 > ul li dl {
	width: calc(100% - 4px);
	border: 2px solid #c7b47c;
	margin-bottom: 20px;
}

#price #price01 .box02 > ul li dl dt {
	font-size:min(6.7vw,64px);
	color: #fff;
	line-height: 80px;
	font-weight: 500;
	padding-left: 12vw;
	background-color: #c7b47c;
	position: relative;
}

#price #price01 .box02 > ul li dl dt::before {
	content: "";
	width: 10vw;
	height: 10vw;
	background-image: url("../../images/ico_hair.webp");
	background-size: cover;
	position: absolute;
	left: 14px;
	top: 50%;
	transform: translateY(-50%);
}

#price #price01 .box02 > ul li dl dd {
	padding: 20px 10px;
	font-size:min(9.6vw,100px);
	color: #161316;
	font-weight: 500;
	text-align: center;
}

#price #price01 .box02 > ul li dl dd span.txt01 {
	display: block;
	font-size:min(5.7vw,50px);
	background-color: #f7f4eb;
	line-height: 1.5em;
}

#price #price01 .box02 > ul li dl dd span.txt02 {
	font-size:min(6.5vw,60px);
}

#price #price01 .box02 > ul li dl dd span.txt03 {
	font-size:min(4.6vw,34px);
	font-weight: 400;
}

#price #price01 .box02 > ul li p {
	font-size:min(4.8vw,36px);
	color: #161316;
}

#price #price01 .box02 > ul li p span {
	font-weight: 500;
}

#price #price01 .box02 > ul li p.t01 {
	padding-bottom: 20px;
}

#price #price01 .box02 > ul li p.t02 {
	text-align: right;
}

#price #price01 > ul {
	padding-bottom: 45px;
}

#price #price02 {
	padding: 0 0 80px;
}

#price #price03 {
	padding: 0 0 80px;
}

#price #price02 div,#price #price03 div {
	padding: 35px 3.73% 0;
}

#price #price03 > p {
	padding: 20px 0 0 1.2em;
	margin: 0 3.73%;
	font-size:min(4.6vw,34px);
	position: relative;
}

#price #price03 > p::before {
	content: "※";
	position: absolute;
	left: 0;
	top: 20px;
}

#price #price04 {
	padding-bottom: 20px;
}


/*プライバシーポリシー*/
#privacy01 {
	padding: 60px 0 80px;
}

#privacy01 p.t01 {
	padding: 0 3.73% 60px;
}

#privacy01 p.t02 {
	padding: 35px 3.73% 80px;
}

#privacy01 p.t03 {
	padding: 35px 3.73% 0;
}

#privacy01 ul {
	padding: 0 3.73% 80px;
	counter-reset: number 0;
}

#privacy01 li {
	line-height: 1.8em;
	position: relative;
	padding-left: 1.3em;
}

#privacy01 li::before {
	counter-increment: number 1;
    content: counter(number)".";
    position: absolute;
    left: 0;
    top: 0;
}


/*サイトマップ*/
#sitemap01 {
	padding: 60px 0 80px;
}

#sitemap01 ul {
	padding: 0 3.73%;
}

#sitemap01 ul li {
	padding-bottom: 20px;
}

#sitemap01 ul li:last-child {
	padding-bottom: 0;
}

#sitemap01 ul li a {
	display: block;
	border: 2px solid #c4dde3;
	color: #161316;
	padding: 15px 10px;
	text-decoration: none;
	position: relative;
}

#sitemap01 ul li a::after {
	content: ">";
	font-size:min(5.5vw,48px);
	position: absolute;
	right: 17px;
	top: 50%;
	transform: translateY(-50%) scale(0.6,1);
}


/*エクソソームメソセラピー*/
#exosome #exosome01 {
	padding: 60px 0 80px;
}

#exosome #exosome01 .box01 {
	padding: 35px 3.73% 1.8em;
}

#exosome #exosome01 .box01 div {
	text-align: center;
	padding-bottom: 30px;
}

#exosome #exosome01 > p {
	padding: 0 3.73% 80px;
}

#exosome #exosome01 .box02 {
	padding: 0 3.73%;
}

#exosome #exosome01 .box02 h2 {
	text-align: center;
	font-size:min(7vw,68px);
	font-weight: 500;
	line-height: 1.3em;
	position: relative;
}

#exosome #exosome01 .box02 h2 span {
	display: inline-block;
	background-color: #fff;
	padding: 0 10px;
}

#exosome #exosome01 .box02 h2::before {
	content: "";
	width: 100%;
	height: 1px;
	border-bottom: 4px solid #8dbac0;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	z-index: -1;
}

#exosome #exosome01 .box02 ul {
	padding: 40px 0 0;
}

#exosome #exosome01 .box02 ul li {
	width: calc(100% - 7vw);
	padding-left: 7vw;
	margin-bottom: 20px;
	color: #5c5442;
	font-size:min(4.8vw,36px);
	font-weight: 500;
	position: relative;
}

#exosome #exosome01 .box02 ul li:before {
	content: "";
	width: 5vw;
	height: 5vw;
	background-image: url("../../images/ico_check.webp");
	background-size: cover;
	position: absolute;
	left: 0;
	top: 7px;
}

#exosome #exosome02 .box01 {
	padding: 35px 3.73% 1.8em;
}

#exosome #exosome02 .box01 div {
	text-align: center;
	padding-bottom: 30px;
}

#exosome #exosome02 > p.t01 {
	padding: 0 3.73% 60px;
}

#exosome #exosome02 > div.i01 {
	text-align: center;
	padding: 0 3.73% 60px;
}

#exosome #exosome02 > p.t02 {
	padding: 0 3.73% 60px;
}

#exosome #exosome02 > div.i02 {
	text-align: center;
	padding: 0 3.73% 60px;
}

#exosome #exosome02 .box02 {
	padding: 30px 3.73% 80px;
}

#exosome #exosome02 .box02 div {
	text-align: center;
}

#exosome #exosome02 .box02 ul {
	padding-top: 30px;
}

#exosome #exosome02 .box02 ul li {
	padding-left: 1.2em;
	line-height: 1.8em;
	position: relative;
}

#exosome #exosome02 .box02 ul li::before {
	content: "⚫︎";
	position: absolute;
	left: 0;
	top: 0;
}

#exosome #exosome03 {
	padding-bottom: 80px;
}

#exosome #exosome03 > p {
	padding: 35px 3.73% 45px;
}

#exosome #exosome03 .box01 {
	padding: 0 3.73%
}

#exosome #exosome03 .box01 div:nth-of-type(2) {
	border: 1px solid #9a9a9a;
	padding-left: 50px;
	padding: 35px 50px 60px;
}

#exosome #exosome03 .box01 div:nth-of-type(2) p {
	font-size:min(4.8vw,36px);
	font-weight: 500;
	padding-bottom: 20px;
}

#exosome #exosome03 .box01 div:nth-of-type(2) ul li {
	padding-left: 1.2em;
	margin-bottom: 5px;
	font-weight: 500;
	position: relative;
}

#exosome #exosome03 .box01 div:nth-of-type(2) ul li::before {
	content: "⚫︎";
	position: absolute;
	left: 0;
	top: 0;
}

#exosome #exosome04 .box01 {
	padding: 45px 3.73% 20px;
}

#exosome #exosome04 .box01 .box {
	padding: 30px 0 60px;
}

#exosome #exosome04 .box01 .box div {
	text-align: center;
	padding-bottom: 30px;
}

#exosome #exosome04 .box01 .box p span {
	font-size:min(4.8vw,36px);
	font-weight: 500;
	display: block;
	padding-bottom: 25px;
}

#exosome #exosome04 > ul {
	padding: 0 3.73%;
	text-align: center;
}

#exosome #exosome04 > ul li:first-child {
	padding-bottom: 35px;
}

#exosome #exosome04 .box02 {
	padding: 60px 3.73% 20px;
}

#exosome #exosome04 .box02 p {
	padding: 30px 0 60px;
}

#exosome #exosome05 .box {
	padding: 45px 3.73% 80px;
}

#exosome #exosome05 .box div {
	text-align: center;
	padding-bottom: 30px;
}

#exosome #exosome06 {
	padding-bottom: 80px;
}

#exosome #exosome06 p.t01 {
	padding: 45px 3.73% 1.8em;
}

#exosome #exosome06 ul {
	padding: 0 3.73%;
}

#exosome #exosome06 ul li {
	line-height: 1.8em;
	padding-left: 1.2em;
	position: relative;
}

#exosome #exosome06 ul li::before {
	content: "⚫︎";
	position: absolute;
	left: 0;
	top: 0;
}

#exosome #case {
	padding: 0 3.73%;
}

#exosome #case ul.case_i {
	padding: 40px 0 30px;
	display: flex;
	justify-content: space-between;
}

#exosome #case ul.case_t {
	padding-bottom: 80px;
}

#exosome #case ul.case_t li {
	font-size:min(3.5vw,28px);
	line-height: 1.8em;
}

#exosome #case h2.h04.w_case {
	border-bottom: 4px solid #5c5542;
	border-top: 4px solid #5c5542;
	color: #5c5542;
}

#exosome #case h2.h04.w_case span:nth-child(2)::before {
	background-image: url("../../images/ico_logo_w.webp");
}

#exosome #m_price,#exosome #w_price {
	padding-bottom: 80px;
}

#exosome #m_price > p {
	text-align: center;
	padding: 35px 3.73% 0;
}

#exosome #m_price > p a {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-size:min(5.9vw,52px);
	padding: 10px 0;
	border-radius: 15px;
	text-decoration: none;
	line-height: 1.3em;
	background-color: #fde4ea;
	color: #f17190;
	position: relative;
}

#exosome #m_price > p a a:hover {
	opacity: .8;
}

#exosome #m_price > p a::after {
	content: ">";
	font-size:min(5.5vw,48px);
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%) scale(0.6,1);
}

#exosome #m_price > p a > span {
	padding: 0 12vw;
	position: relative;
}

#exosome #m_price > p a > span::before {
	content: "";
	width: 8.5vw;
	height: 8.5vw;
	background-image: url("../../images/ico_women.webp");
	background-size: cover;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

#exosome #m_price div,#exosome #w_price div {
	padding: 35px 3.73% 0;
}

#exosome #price_how {
	padding-bottom: 20px;
}


/*よくあるご質問*/
#faq ul.m_w_btn {
	padding: 45px 3.73%;
}

#faq #faq01 {
	padding: 0 0 30px;
	background-color: #f1f1f1;
}

#faq #faq01 dl {
	padding-left: 3.73%;
	padding-right: 3.73%;
}

#faq #faq02 {
	padding: 0 0 30px;
	background-color: #f1f1f1;
}

#faq #faq02 dl {
	padding-left: 3.73%;
	padding-right: 3.73%;
}


/*発毛症例集*/
#case_collection ul.m_w_btn {
	padding: 45px 3.73%;
}

#case_collection #case01,#case_collection #case02 {
	padding: 0 3.73%;
}

#case_collection ul.case_i {
	padding: 40px 0 30px;
	display: flex;
	justify-content: space-between;
}

#case_collection ul.case_t {
	padding-bottom: 80px;
}

#case_collection ul.case_t li {
	font-size:min(3.5vw,28px);
	line-height: 1.8em;
}

#case_collection #case02 h2.h04 {
	border-bottom: 4px solid #5c5542;
	border-top: 4px solid #5c5542;
	color: #5c5542;
}

#case_collection #case02 h2.h04 span:nth-child(2)::before {
	background-image: url("../../images/ico_logo_w.webp");
}


/*フォーム　サンクス*/
#reserve_thx #reserve_thx01 {
	padding: 60px 3.73% 80px;
}

#reserve_thx #reserve_thx01 .t01 {
	padding: 60px 0 80px;
}