@charset "utf-8";
/*
* ベースカラーの設定 *
ヒアリングシートのベースカラーはここに設定してください
*/
:root {
  --color01: #2b4777;
  --color02: #8b6e5e;
  --color03: #90d5ba;
  --color04: #c0191f;
  --color05: #fc7b7f;
  --color06: #ff9068;
}
/*
Theme Name: portals_responsive
Author: portals
*/
/*==================================
* reset
* html5doctor.com Reset Stylesheet
* v1.6.1
* Last Updated: 2010-09-17
* Author: Richard Clark - http://richclarkdesign.com
* Twitter: @rich_clark
==================================*/
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%;
	vertical-align: baseline;
	background: transparent;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}
ol, ul {
	list-style: none;
}
img {
	vertical-align: top;
	line-height: 0;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
	content: "";
	content: none;
}
a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}
ins {
	background-color: #ff9;
	color: #000;
	text-decoration: none;
}
mark {
	background-color: #ff9;
	color: #000;
	font-style: italic;
	font-weight: bold;
}
del {
	text-decoration: line-through;
}
abbr[title], dfn[title] {
	border-bottom: 1px dotted;
	cursor: help;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #cccccc;
	margin: 1em 0;
	padding: 0;
}
input, select {
	vertical-align: middle;
}
address {
	font-style: normal;
}
.clearfix:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
/*==================================
  base
==================================*/
.clear {
	clear: both;
}
.right {
	text-align: right;
}
.left {
	text-align: left;
}
.center {
	text-align: center;
}
.img_left,
.img_right {
	margin: 0 auto 16px;
}
.img_center {
	display: block;
	margin: 0 auto 16px;
}
.only_pc {
	display: none;
}
img {
	display: block;
	margin: 0 auto;
	width: auto;
	max-width: 100%;
	height: auto;
}
a:link {
	color: #83a139;
}
a:visited {
	color: #fcafa7;
}
a:hover {
	color: #baea83;
}
a:active {
	color: #baea83;
}
body {
	overflow-x: hidden;
	background: #fff;
	color: #3d3d3d;
	font-size: 15px;
	line-height: 1.5;
	font-family: -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
	font-weight: 500;
}
@media screen and (min-width: 480px) {
	.img_left,
	.img_right {
		width: 40%;
	}
	.img_left {
		float: left;
		margin: 0 3% 3% 0;
	}
	.img_right {
		float: right;
		margin: 0 0 3% 3%;
	}
}
@media screen and (min-width: 680px) {
	.img_left,
	.img_right {
		width: 40%;
	}
	.only_sp {
		display: none!important;
	}
	.only_pc {
		display: block;
	}
	a:hover img,
	a:active img {
		-webkit-opacity: 0.7;
		opacity: 0.7;
	}
	body {
		width: 100%;
		font-size: 18px;
		line-height: 1.6;
	}
}
@media screen and (min-width: 1364px) {
	body {
		min-width: 1364px;
	}
}
/*==================================
  layout
==================================*/
#contents {
	margin: -3.5vw auto 24px;
	width: 98%;
	max-width: 1090px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.inner {
	margin: 0 calc(50% - 50vw);
	padding: 3em calc(50vw - 48%);
}
.conts {
	margin: 0 12px 16px;
}
.conts:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: "";
	clear: both;
	height: 0;
}
.conts .conts_inner {
	overflow: hidden;
}
.conts p:not([class]) {
	margin-bottom: 8px;
}
.bnr {
	margin: clamp(16px,4vw,48px) auto;
}
.ttl {
	margin: clamp(24px,7vw,100px) auto clamp(16px,4vw,48px);
}
a:active img {
	-webkit-opacity: 0.7;
	opacity: 0.7;
}
.contact_gmap {
	margin-top: 1em;
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
.contact_gmap iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}
@media screen and (min-width: 680px) {
	.inner {
		padding: 5em calc(50vw - 48%);
	}
	.conts {
		margin: 0 24px 24px;
	}
}
@media screen and (min-width: 960px) {
	#contents {
		margin: max(-3.5vw,-50px) auto 40px;
	}
}
.no_toppadding {
	padding-top: 0;
}
/*==================================
Header
==================================*/
#header {
	position: relative;
	z-index: 999999;
	border-top: solid 10px #0c3fa7;
	background: #fff;
}
.h_inner {
	overflow: hidden;
	margin: 0 auto;
	padding: 8px 0;
	width: 95%;
	max-width: 1240px;
	box-sizing: border-box;
}
.h_upper_txt {
	font-size: 13px;
}
.h_logo {
	margin: 12px auto 0;
	width: 70%;
}
@media screen and (min-width: 480px) {
	.h_logo {
		margin: 16px autox;
	}
}
@media screen and (min-width: 680px) {
	#header {
		border-top: none;
	}
	.h_inner {
		display: flex;
		justify-content: space-between;
		align-items: flex-end;
		padding: 16px 0;
	}
	.h_upper_txt {
		font-size: min(5vw,23px);
	}
	.h_logo h1 {
		width: 60%;
		margin: .5em 16px 8px 0;
	}
	.h_logo h1 img {
		margin: 0;
	}
	.h_contact img {
		max-width: none;
	}
}
@media screen and (min-width: 940px) {
	.h_logo h1 {
		width: 100%;
	}
}
/*==================================
  Navigation
==================================*/
nav {
	width: 100%;
	background: #fff;
}
.gnav_sp {
	width: 100%;
	display: flex;
	justify-content: space-around;
	margin: 0 auto;
}
.gnav_sp li {
	padding: 8px 0;
	width: 20%;
}
.gnav_sp img {
	width: 85%;
}
.fixed {
	position: fixed;
	top: 0;
	z-index: 999999;
	-webkit-box-shadow: 0 5px 7px -2px rgba(0, 0, 0, 0.2);
	box-shadow: 0 5px 7px -2px rgba(0, 0, 0, 0.2);
}
/*ページ内リンク対策*/
#contact, #price, #ba, #faq {
	margin-top: -128px;
	padding-top: 128px;
}
@media screen and (min-width: 480px) {
	.gnav_sp img {
		width: 75%;
	}
}
@media screen and (min-width: 680px) {
	ul.gnav_pc {
		display: flex;
		margin: 0 auto;
		max-width: 1240px;
	}
	ul.gnav_pc li {
		position: relative;
		flex-grow: 1;
		box-sizing: border-box;
	}
	ul.gnav_pc li::before,.gnav_pc li:last-child::after {
		content: "";
		display: block;
		position: absolute;
		top: 50%;
		transform: translatey(-50%);
		width: 0;
		padding-top: 2em;/*区切り線の長さ*/
		border-left: solid 1px #3a2b22;/*区切り線の色*/
		box-sizing: border-box;
	}
	ul.gnav_pc li::before {
		left: 0;
	}
	ul.gnav_pc li:last-child::after {
		right: 0;
	}
	ul.gnav_pc li a {
		display: block;
		padding: .5em 0;
		color: inherit;
		font-size: clamp(16px,2.2vw,22px);
		text-decoration: none;
		text-align: center;
	}
}
@media screen and (min-width: 960px) {
	ul.gnav_pc li {
		width: 20%;
		box-sizing: border-box;
	}
}
/*==================================
  mainimg
==================================*/
.main_img {
	display: block;
	width: 100%;
	margin: 0 auto;
}
/*==================================
  heading
==================================*/
.heading01 {
	position: relative;
	margin: 0 calc(50% - 50vw) clamp(24px, 6vw, 80px);
	padding: .5em calc(50vw - 49%)!important;
	background: #4c4c4c;
	text-align: center;
	font-size: clamp(18px, 4.3vw, 48px);
	color: #fff;
}
.heading01::after {
	content: '';
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	border-top: clamp(10px, 3vw, 35px) solid #4c4c4c;
	border-left: clamp(17px, 5vw, 60px) solid transparent;
	border-right: clamp(17px, 5vw, 60px) solid transparent;
}
.heading01.heading_line2:first-line {
	font-size: 79%;
	line-height: 1.2;
}
/*想い・資格見出し*/
.heading02 {
	position: relative;
	margin: 0 auto 2em;
	padding: 1.5em 0 0;
	font-size: clamp(22px, 4vw, 48px);
	text-align: center;
}
.heading02::after {
	position: absolute;
	bottom: -.4em;
	left: 50%;
	transform: translateX(-50%);
	content: '';
	display: block;
	width: 2em;
	height: .2em;
	background: #0c3fa7;
}
.heading02.heading_line2:first-line, .nayami02 h3:first-line {
	font-size: 79%;
	line-height: 1.2;
}
/*リボン背景の見出し*/
.heading03 {
	margin: 1em auto;
	padding: .1em 0;
	width: 90%;
	max-width: 984px;
	color: #fff;
	text-align: center;
	font-size: clamp(18px, 5vw, 50px);
	background: url(image/h_bg_ribbon.png) no-repeat center center;
	background-size: contain;
}
/*お問合せ院名*/
.heading04 {
	margin: 0 auto .5em;
	padding-left: .4em;
	font-size: clamp(18px,3vw,40px);
	border-left: solid .4em #0c3fa7;
}
@media screen and (min-width: 680px) {
	.contact_single .heading04 {
		padding-left: 0;
		border-left: none;
	}
}
/*==================================
  女性の発毛ボタン
==================================*/
.bt_women a {
	position: relative;
	display: block;
	padding: .2em;
	margin: 0 auto;
	width: 80%;
	background: #b72a2a;
	border: solid 3px #b72a2a;
	font-size: clamp(18px,3vw,48px);
	font-weight: bold;
	color: #fff;
	text-align: center;
	text-decoration: none;
}
.bt_women a span {
	position: relative;
	padding-left: .5em;
}
.bt_women a span::after {
	display: inline-block;
	margin-left: .5em;
	content: '>';
}
.bt_women a::before {
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	width: 100%;
	height: 100%;
	background: #fff;
	transform: scaleX(0);
	transform-origin: right;
	transition: all .3s ease;
	transition-property: transform;
}
.bt_women a:hover {
	color: #b72a2a;
}
.bt_women a:hover::before {
	transform: scaleX(1);
	transform-origin: left;
}

/*==================================
  ビフォーアフター
==================================*/
.ba {
	background: #fff8ef;
}
.ba .heading01 {
	padding: 1em calc(50vw - 49%)!important;
}
.ba_list li {
	margin: clamp(12px,2.5vw,32px) auto;
	padding: 12px;
	background: #fff;
	box-sizing: border-box;
}
.ba_list figure {
	position: relative;
	margin: 16px auto 0;
	display: flex;
	justify-content: space-between;
}
.ba_list li figure::after {
	position: absolute;
	top: 50%;
	left: 50%;
	content: '▲';
	color: #f18a00;
	font-size: clamp(20px,14vw,100px);
	transform: translate(-55%,-50%) scale(.7,1) rotate(90deg);
}
.ba_list figure img {
	margin: 0;
	width: 48%;
}
.ba_prof {
	border-bottom: solid 1px #6c482a;
	font-size: clamp(20px,5vw,52px);
	text-align: center;
}
.menseki {
	margin: 1em auto 0;
	font-size: clamp(10px,2.5vw,13px);
	color: #6c482a;
	text-align: right;
}
@media screen and (min-width: 480px) {
	.ba_list {
		display: flex;
		flex-wrap: wrap;
	}
	.ba_list li {
		width: 50%;
		padding: min(5vw,48px);
	}
	.ba_list li:nth-child(2n+1) {
		padding-right: min(2.5vw,24px);
	}
	.ba_list li:nth-child(2n) {
		padding-left: min(2.5vw,24px);
	}
	.ba_list li figure::after {
		font-size: clamp(20px,7.5vw,90px);
	}
}
@media screen and (min-width: 1240px) {
	.ba_list {
		margin: 0 -80px;
	}
}
/*==================================
  4つの理由
==================================*/
/*背景のストライプはCSSで色を変更してください*/
.reason {
	padding-bottom: 5em;
}
.reason_list {
	counter-reset: reason_list;
}
.reason_list > li {
	margin: clamp(12px,4vw,56px) auto;
	padding: clamp(12px,4vw,56px) clamp(16px,5vw,72px);
	background: #f7faff;
}
.reason_inner {
	overflow: hidden;
}
.reason_list h3 {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: stretch;
	margin: 1em auto;
	padding: 0.5em 0.3em 0.5em 3em;
	/*reason_h3_innerと同じフォントサイズにしてください*/
	font-size: clamp(16px,3.3vw,46px);
	line-height: 1.3;
}
.reason_list > :first-child h3 {
	margin-top: 0;
}
.reason_h3_inner {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 2.6em;
	font-size: clamp(16px,3.3vw,46px);
	padding-left: .5em;
	line-height: 1.3;
	border-left: dotted 4px #0c3fa7;
}
.reason_h3_inner::before,
.reason_h3_inner::after {
	position: absolute;
	display: block;
	text-align: center;
	color: #0c3fa7;
}
.reason_h3_inner::before {
	left: 0;
	top: 50%;
	transform: translate(-115%,-50%);
	content: '理由';
	font-size:75%;
	width: 3.5em;
	height: 3.5em;
}
.reason_h3_inner::after {
	left: 0;
	top: 50%;
	transform: translate(-145%,-50%) scale(1.5,1);
	counter-increment: reason_list;
  content: '0'counter(reason_list);
	font-size: 150%;/*202*/
	line-height: 2.3;
	width: 1.167em;
	height: 1.75em;
}
.reason_list h3 br {
	display: none;
}
.reason_pic img {
	width: 100%;
	max-width: 100%;
}
.reason_list p {
	padding: 16px;
}
@media screen and (min-width: 480px) {
	.reason_list h3 br {
		display: inline;
	}
	.reason_pic {
		width: 38%;
	}
}
@media screen and (max-width: 680px) {
	.reason_pic figure {
		width: 80%;
	}
	.reason_pic.wp-block-image .alignright,
	.reason_pic.wp-block-image .alignleft {
		float: none;
		margin: 0.5em auto 1em;
	}
}
@media screen and (min-width: 960px) {
	.reason_conts {
		overflow: hidden;
	}
}
@media screen and (min-width: 1240px) {
	.reason_list {
		margin: 0 -80px;
	}
}
/*==================================
  オファーバナー
==================================*/
.offer {
	background: #0c3fa7;
}
/*==================================
  お悩み
==================================*/
.nayami {
	background: #f9f9f8;
}
.nayami_list {
	counter-reset: nayami_list;
}
.nayami_list li {
	position: relative;
	display: flex;
	flex-direction: row-reverse;
	justify-content: flex-end;
	margin: .5em auto;
	background: #fff;
	font-size: clamp(15px,3vw,37px);
	font-weight: bold;
	border: solid .12em #829dae;
	box-shadow: inset 0 0 0 1px #829dae;
	box-sizing: border-box;
}
.nayami_li_inner {
	display: flex;
	order: 0;
	flex-direction: column;
	justify-content: center;
}
.nayami_list li::before,
.nayami_list li::after {
	font-size: 170%;
}
.nayami_list li::before {
	order: 1;
	display: block;
	content: '';
	margin-right: .2em;
	width: 0;
	height: 0;
	border-top: 1em solid transparent;
	border-bottom: 1em solid transparent;
	border-left: .5em solid #829dae;
}
.nayami_list li::after {
	flex-shrink: 0;
	order: 2;
	display: flex;
	flex-direction: column;
	justify-content: center;
	counter-increment: nayami_list;
  content: counter(nayami_list);
	width: 1em;
	text-align: center;
	background: #829dae;
	color: #fff;
	text-shadow : 0px 3px 8px rgba(49, 53, 56, 0.5);
}
.nayami_list + p {
	margin-top: clamp(24px,2.5vw,48px)
}
/*==================================
  3つのメリット
==================================*/
.merit {
	padding-bottom: 5em;
	background: #f7faff;
}
.merit_list {
	padding: clamp(12px,4vw,56px) clamp(16px,5vw,72px);
	counter-reset: merit_list;
	background: #fff;
  box-shadow: 0px 0px 38px 0px rgba(128, 88, 49, 0.11);
}
.merit_inner {
	overflow: hidden;
}
.merit_list h3 {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: stretch;
	margin: 1em auto;
	padding: 0.5em 0.3em 0.5em 3.5em;
	/*merit_h3_innerと同じフォントサイズにしてください*/
	font-size: clamp(16px,3.3vw,46px);
	line-height: 1.3;
}
.merit_list > :first-child h3 {
	margin-top: 0;
}
.merit_h3_inner {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 2.6em;
	font-size: clamp(16px,3.3vw,46px);
	padding-left: .5em;
	line-height: 1.3;
	border-left: solid 2px #0c3fa7;
}
.merit_h3_inner::before {
	counter-increment: merit_list;
  content: '0'counter(merit_list);
	display: block;
	position: absolute;
	left: -.15em;
	top: 50%;
	width: 1.1em;
	height: 1.1em;
	transform: translate(-105%,-50%);
	text-align: center;
	color: #0c3fa7;
	font-size: 246%;
	line-height: 1.2;
}
.merit_list h3 br {
	display: none;
}
.merit_pic img {
	width: 100%;
	max-width: 100%;
}
.merit_list p {
	padding: 16px;
}
@media screen and (min-width: 480px) {
	.merit_list h3 br {
		display: inline;
	}
	.merit_pic {
		width: 38%;
	}
}
@media screen and (max-width: 680px) {
	.merit_pic figure {
		width: 80%;
	}
	.merit_pic.wp-block-image .alignright,
	.merit_pic.wp-block-image .alignleft {
		float: none;
		margin: 0.5em auto 1em;
	}
}
@media screen and (min-width: 960px) {
	.merit_conts {
		overflow: hidden;
	}
}
@media screen and (min-width: 1240px) {
	.merit_list {
		margin: 0 -80px;
		padding: 56px 72px;
	}
}
/*==================================
  流れ
==================================*/
.flow {
	background: #fff8ef;
}
.flow_list {
	counter-reset: flow_list;
	padding: clamp(12px,4vw,56px) clamp(16px,5vw,72px);
	background: #fff;
	border-radius: 20px;
  box-shadow: 0px 0px 38px 0px rgba(128, 88, 49, 0.11);
}
.flow_list li {
	margin: 1.5em auto;
	padding: 1em .8em;
	box-sizing: border-box;
}
.flow_list li > :first-child {
	margin: 8px 0 0 0;
	font-size: clamp(18px,2.8vw,32px);
	font-weight: bold;
	text-align: center;
	color: #0c3fa7;
}
.flow_list li > :first-child::before {
	counter-increment: flow_list;
  content: '0'counter(flow_list)'.';
}
.flow_list li > :last-child {
	padding: .5em;
	font-size: 16px;
}
@media screen and (min-width: 480px) {
	.flow_list {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.flow_list li {
		margin: 1.5em auto;
		width: 49%;
		padding: 1em .8em;
		box-sizing: border-box;
	}
	.flow_list li > :first-child {
		margin: 8px 0 0 -.5em;
		width: 110%;
		font-size: 20px;
		text-align: left;
		transform: scale(.9,1);
	}
}
@media screen and (min-width: 680px) {
	.flow_list li {
		width: 33%;
	}
	.flow_list li > :first-child {
		font-size: clamp(18px,2.5vw,32px);
	}
}
@media screen and (min-width: 1240px) {
	.flow_list {
		margin: 0 -80px;
		padding: 56px 72px;
	}
}
/*==================================
  発毛施術への想い・推薦者の声
==================================*/
/*必要に応じて画像横幅指定*/
.greet .img_left, .suisen .img_left {
	width: 60%;
	max-width: 314px;
}
.greet_txt, .suisen_txt {
	margin-top: 1em;
}
.greet_txt_main, .suisen_txt_main {
	font-size: clamp(20px,5vw,30px);
	font-weight: bold;
	line-height: 1.2;
}
.suisen_txt_main_wrap {
	overflow: hidden;
}
.suisen_txt_main {
	margin: 0 auto clamp(10px, 3vw, 35px);
	position: relative;
	padding: .8em;
	background: #e8f1ff;
}
.suisen_txt_main::after {
	content: '';
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	border-top: clamp(10px, 2.5vw, 28px) solid #e8f1ff;
	border-left: clamp(14px, 4vw, 40px) solid transparent;
	border-right: clamp(14px, 4vw, 40px) solid transparent;
}
.suisen_txt_main br {
	display: none;
}
@media screen and (min-width: 480px) {
	.greet .img_left {
		width: 40%;
	}
	.greet .img_left, .suisen .img_left {
		width: 50%;
		max-width: 396px;
	}
}
@media screen and (min-width: 680px) {
	.greet_txt, .suisen_txt {
		margin-top: 0;
	}
	.greet_txt_main, .suisen_txt_main {
		font-size: clamp(20px,3vw,35px);
	}
}
@media screen and (min-width: 960px) {
	.suisen_txt_main {
		text-align: center;
	}
	.suisen_txt_main br {
		display: inline;
	}
}
@media screen and (min-width: 1240px) {
	.greet .conts, .suisen .conts {
		margin: 0 -48px;
		padding: 0;
	}
	.greet_txt, .suisen_txt {
		overflow: hidden;
	}
}
.cert_pic {
	display: flex;
	justify-content: space-around;
	align-items: center;
}
/*==================================
  よくある質問
==================================*/
.faq {
	background: #fff8ef;
}
.faq_list {
	padding: clamp(12px,4vw,56px) clamp(16px,5vw,72px);
	background: #fff;
  box-shadow: 0px 0px 38px 0px rgba(128, 88, 49, 0.11);
}
.faq_list_box {
	padding: clamp(12px,3.5vw,32px) 0;
	border-bottom: solid 1px #5f4741;
}
.faq_list dt, .faq_list dd {
	align-items: flex-start;
	display: flex;
}
.faq_list dt {
	padding: clamp(12px,3vw,28px) 0 0;
	color: #5f4741;
	font-size: clamp(18px,3.5vw,37px);
	font-weight: bold;
}
.faq_list dd {
	padding: clamp(10px,2.5vw,24px) 0 0;
}
.faq_list dt::before, .faq_list dd::before {
	position: relative;
	display: block;
	font-size: clamp(20px,5vw,64px);
}
.faq_list dt::before {
	top: -.25em;
	content: 'Q.';
	margin-right: .5em;
}
.faq_list dd::before {
	top: -.2em;
	content: 'A.';
	margin-right: .5em;
	flex-shrink: 0;
	font-weight: bold;
	color: #f18a00;
}
@media screen and (min-width: 680px) {
	.faq_list dd {
		font-size: 19px;
	}
}
@media screen and (min-width: 1240px) {
	.faq_list {
		margin: 0 -80px;
		padding: 56px 72px;
	}
	.faq_list dt::before {
		top: -.4em;
	}
	.faq_list dd::before {
		top: -.4em;
	}
}
/*==================================
  お問合せ
==================================*/
/*共通*/
/*お問合せボタン共通スタイル*/
.contact_tel, .contact_line, .contact_net {
	position: relative;
	top: 0;
	left: 0;
	color: inherit;
	text-decoration: none;
	border-radius: 10px;
	box-sizing: border-box;
}
.contact_tel a,  .contact_line a, .contact_net a {
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	text-decoration: none;
	text-align: center;
	font-weight: bold;
}
.contact_tel a::before,  .contact_line a::before, .contact_net a::before {
	content: '';
	display: block;
	margin-right: .5em;
	width: 1.6em;
	height: 1.6em;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}
/*横並びにしたときに高さをそろえるためliに色や線を設定*/
.contact_tel {
	background: #0a3896;
}
.contact_tel_inner {
	line-height: 1.2;
}
.contact_line {
	background: #06c755;
}
.contact_net {
	background: #f18a00;
}
.contact_tel a .num {
	display: block;
	font-size: 61%;
}
.contact_tel a::before {
	background-image: url(image/contact_ico_tel.png);
}
.contact_line a::before {
	background-image: url(image/contact_ico_line.png);
}
.contact_net a::before {
	background-image: url(image/contact_ico_net.png);
}
@media screen and (min-width: 680px) {
	.contact_tel:hover, .contact_line:hover, .contact_net:hover {
		opacity: 0.7;
	}
}

/*お問合せのボタン*/
.contact_bt {
	margin: 1em auto 0;
	max-width: 500px;
	width: 98%;
}
.contact_bt li {
	display: block;
	margin: .2em auto;
	font-size: clamp(32px,8vw,48px);
	text-decoration: none;
	text-align: center;
}
/*電話ボタン*/
.contact_bt .contact_tel {
	padding: .3em .1em;
	line-height: 1;
}
.contact_bt .contact_tel a .num {
	display: block;
	font-size: 61%;
}
/*LINEボタン*/
.contact_bt .contact_line {
	padding: .2em .1em;
	line-height: 1;
}
/*Web予約ボタン*/
.contact_bt .contact_net {
	padding: .2em .1em;
	line-height: 1;
}
@media screen and (min-width: 680px) {
	.contact_bt li {
		font-size: clamp(32px,4vw,48px);
	}
}
/*予約ボタン横並び*/
.contact_bt {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.contact_bt_s {
	width: 100%;
}
.contact_bt_d {
	width: 49%;
}
.contact_bt li.contact_bt_d a::before {
	font-size: 90%;
}

/*1院用*/
.contact_single_add {
	margin: 1em auto;
}
@media screen and (min-width: 480px) {
	.contact_single_add br {
		display: none;
	}
}
@media screen and (min-width: 680px) {
	.contact_single {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.contact_single > * {
		width: 48%;
	}
	.contact_single .contact_bt {
		display: flex;
		flex-direction: column;
		justify-content: center;
		margin: 0 auto;
	}
	.contact_single ul.contact_bt li:first-child a {
		margin-top: 0;
	}
	.contact_single_add {
		margin: 2em auto;
		font-size: 20px;
		line-height: 1.4;
	}
}
/*複数院用*/
.contact_multiple > li {
	margin-top: 1.5em;
}
.contact_uketsuke_txt {
	margin-top: 1em;
	font-weight: bold;
	font-size: clamp(15px,2vw,20px);
	line-height: 1.2;
}
.contact_uketsuke_txt > p:first-child {
	margin: 0 auto .5em;
	padding: 0 1.5em .1em;
	display: inline-block;
	background: #362e2b;;
	color: #fff;
}
.contact_multiple .contact_add {
	margin-top: .5em;
	padding-top: .5em;
	border-top: dotted 1px #7c6754;
	font-size: clamp(15px,2vw,20px);
	line-height: 1.2;
}
@media screen and (min-width: 680px) {
	.contact_multiple > li {
		margin-top: 2.5em;
	}
	.contact_multiple {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.contact_multiple > * {
		width: 48%;
		max-width: 554px;
	}
	.contact_multiple .contact_add {
		margin-top: 1em;
		padding-top: 1em;
	}
}
@media screen and (min-width: 1240px) {
	.contact_multiple {
		margin: 0 -80px;
	}
	.contact_multiple .contact_bt li a {
		max-width: 554px;
	}
	.contact_uketsuke_txt {
		margin-top: 1em;
	}
}

/* 受付時間の表 */
table.contact_uketsuke {
	margin: 2em auto;
	width: 98%;
	overflow: hidden;
	box-sizing: border-box;
	font-family: YuGothic, "Yu Gothic",-apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue,  "Segoe UI", Verdana, Meiryo, sans-serif;
	font-weight: 500;
}
.contact_uketsuke th,
.contact_uketsuke td {
	padding: 12px 8px;
	text-align: center;
	vertical-align: middle;
	font-size: clamp(14px,2.5vw,39px);
}
.contact_uketsuke th {
	background: #e8f1ff;
}
.contact_uketsuke tr:not(:first-child) th,
.contact_uketsuke tr:not(:first-child) td {
	font-weight: 500;
}
.contact_uketsuke tr > :first-child {
	width: 7em;
}
/*==================================
Footer
==================================*/
.copyright {
	border-top: solid 1px #3d3d3d;
	padding: 8px 0;
	background: #fff;
	text-align: center;
	/* margin: 10% 0 20%; 下に固定ボタンを設置するときはコメントアウト解除してください。*/
}
.copyright small {
	font-size: 1rem;
	font-size: 10px;
}
@media screen and (min-width: 680px) {
	.copyright {
		padding: 12px 0;
		margin: 0;
	}
	.copyright small {
		font-size: 14px;
	}
	.copyright a {
		color: inherit;
	}
	.copyright a:hover,
	.copyright a:active {
		color: #baea83;
	}
}
