@charset "UTF-8";

.bgwrap {
	border-radius: 75px 75px 0 0;
	background: url(../img/cmn/cmnbg@2x.jpg) top / 1440px 100%;
	background-repeat: repeat-x;
}

.flow {
	padding: 100px 0 120px;
}

.flow_hd {
	position: relative;
	width: fit-content;
	margin: 0 auto 35px;
	padding: 0 0.5em;
	font-size: 23px;
}

.flow_hd::before,
.flow_hd::after {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	width: 3px;
	height: 1em;
	border-radius: 9999px;
	background: var(--blue);
}

.flow_hd::before {
	left: 0;
	transform: rotate(-30deg);
}

.flow_hd::after {
	right: 0;
	transform: rotate(30deg);
}

.flow_wrap {
}

.flow_cnt {
}

.flow_detail {
	display: grid;
	grid-template-columns: 250px auto;
	margin-bottom: 40px;
	padding: 40px 100px 35px 55px;
	border-radius: 40px;
	background: #f8f8f0;
}

.flow_detail_hd {
	display: flex;
	align-items: baseline;
	gap: 25px;
	position: relative;
	z-index: 2;
	width: 250px;
	font-size: 28px;
}

.flow_detail_hd::before {
	content: "";
	display: block;
	position: absolute;
	top: 79px;
	left: 39px;
	z-index: -1;
	height: calc(100% + 79px);
	border-left: 2px dashed #b5b5b5;
}

.flow_detail:last-child .flow_detail_hd::before {
	display: none;
}

.flow_detail_hd_num {
	display: flex;
	flex-shrink: 0;
	justify-content: center;
	align-items: center;
	position: relative;
	z-index: 1;
	width: 79px;
	height: auto;
	border-radius: 50%;
	background: #faed00;
	color: var(--blue);
	font-weight: bold;
	font-size: 41px;
	aspect-ratio: 1;
}

.flow_detail_cnt {
	padding-top: 25px;
	line-height: 1.9;
}

.flow_reserve {
	margin: 20px auto 0;
	padding: 30px 24px;
	border-radius: 20px;
	background: var(--white);
}

.flow_reserve_cnt {
	margin: 0 auto 25px;
	padding: 0 50px 30px 40px;
	border-bottom: #d4f0d0 2px dashed;
	border-radius: unset;
	background: unset;
}

.flow_reserve_tel {
	font-size: 39px;
}

.flow_reserve_tel .icon-tel {
	font-size: 32px;
}

.flow_reserve_web {
}

.flow_reserve_web_btn {
}

.flow_reserve_diagnosis {
}

.flow_reserve_diagnosis_link {
}

.flow_reserve_diagnosis_link_btn {
	border: var(--m_green) 1px solid;
}

.flow_detail_note {
	display: flex;
	align-items: center;
	gap: 9px;
	color: #e95513;
	font-weight: bold;
}

.flow_detail_note::before {
	content: "";
	display: flex;
	flex-shrink: 0;
	width: 25px;
	height: 22px;
	background: url(../img/flow/note-icon@2x.png) center / cover;
}

.online {
	padding: 110px 0 100px;
}

.online_wrap {
	padding: 0 100px;
}

.online_hd {
	position: relative;
	margin-bottom: 50px;
	padding-bottom: 16px;
	font-size: 35px;
	text-align: center;
}

.online_hd::before {
	content: "";
	display: block;
	position: absolute;
	right: 50%;
	bottom: 0;
	width: 50px;
	height: 6px;
	border-radius: 9999px;
	background: var(--blue);
	transform: translateX(50%);
}

.online_cnt {
}

.online_intro {
	width: 750px;
	margin: 0 auto 35px;
}

.online_note {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 15px;
	width: fit-content;
	margin: 0 auto 50px;
	padding: 15px 19px 15px 30px;
	border: #e95513 1px solid;
	border-radius: 20px;
	color: #e95513;
	font-weight: bold;
}

.online_note::before {
	content: "";
	display: flex;
	flex-shrink: 0;
	width: 25px;
	height: 22px;
	background: url(../img/flow/note-icon@2x.png) center / cover;
}

.online_detail {
	margin-bottom: 50px;
}

.online_detail_cnt {
	margin-bottom: 28px;
	padding: 35px 40px 45px;
	border-radius: 40px;
	background: #ffffff;
}

.online_detail_hd {
	margin-bottom: 30px;
	padding-bottom: 15px;
	border-bottom: #efefcb 2px solid;
	color: var(--blue);
	font-size: 23px;
	text-align: center;
}

.online_detail_list {
}

.online_detail_list ul {
	list-style: disc;
	width: fit-content;
	margin: 0 auto;
}

.online_detail_list ul li::marker {
	font-size: 10px;
}

.online_detail_menu {
}

.online_detail_menu_txt {
	margin-bottom: 20px;
	text-align: center;
}

.online_detail_menu_wrap {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
	width: 665px;
	margin: 0 auto;
}

.online_detail_menu_cnt {
	display: flex;
	flex-flow: column;
	justify-content: center;
	align-items: center;
	gap: 5px;
	padding: 11px 30px 15px;
	border-radius: 40px;
	background: #f8f8f0;
}

.online_detail_menu_num {
	color: var(--blue);
	font-weight: bold;
	font-size: 27px;
}

.online_txt {
	width: 750px;
	margin: 0 auto 45px;
}

.online_link {
}

.online_link a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	width: 460px;
	height: 65px;
	margin: 0 auto;
	padding: 0 21px 0 26px;
	border: 1px solid var(--blue);
	border-radius: 9999px;
	background: var(--blue);
	color: var(--white);
	font-weight: bold;
	font-size: 18px;
	transition: all 0.4s;
}

.online_link a:hover {
	background: var(--white);
	color: var(--blue);
}

.online_link a .icon-blank {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 29px;
	height: auto;
	border-radius: 50%;
	background: #ffffff;
	color: var(--blue);
	font-size: 11px;
	aspect-ratio: 1;
}

.list_box {
	padding: 100px 0 0;
}

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

@media screen and (max-width:768px) {
	.bgwrap {
		border-radius: 55px 55px 0 0;
	}

	.flow {
		padding: 50px 0 40px;
	}

	.flow_hd {
		margin: 0 auto 25px;
		font-size: 21px;
	}

	.flow_hd::before,
	.flow_hd::after {
	}

	.flow_hd::before {
	}

	.flow_hd::after {
	}

	.flow_wrap {
	}

	.flow_cnt {
	}

	.flow_detail {
		display: block;
		margin-bottom: 30px;
		padding: 40px 20px 35px 20px;
	}

	.flow_detail_hd {
		gap: 15px;
		font-size: 23px;
	}

	.flow_detail_hd::before {
		display: none;
	}

	.flow_detail:last-child .flow_detail_hd::before {
	}

	.flow_detail_hd_num {
		width: 50px;
		font-size: 27px;
	}

	.flow_detail_cnt {
		padding-top: 15px;
	}

	.flow_reserve {
		padding: 30px 15px;
	}

	.flow_reserve_cnt {
		margin-bottom: 17px;
		padding: 0;
		padding-bottom: 20px;
	}

	.flow_reserve_tel {
		font-size: 29px;
	}

	.flow_reserve_tel .icon-tel {
		font-size: 24px;
	}

	.flow_reserve_web {
	}

	.flow_reserve_web_btn {
	}

	.flow_reserve_diagnosis {
	}

	.flow_reserve_diagnosis_link {
	}

	.flow_reserve_diagnosis_link_btn {
		font-size: 14px;
	}

	.flow_detail_note {
		margin-top: 10px;
	}

	.flow_detail_note::before {
	}

	.online {
		padding: 70px 0 60px;
	}

	.online_wrap {
		padding: 0;
	}

	.online_hd {
		margin-bottom: 30px;
		font-size: 28px;
	}

	.online_hd::before {
		height: 4px;
	}

	.online_cnt {
	}

	.online_intro {
		width: 100%;
	}

	.online_note {
	}

	.online_note::before {
	}

	.online_detail {
		margin-bottom: 40px;
	}

	.online_detail_cnt {
		padding: 35px 21px 45px;
		border-radius: 20px;
	}

	.online_detail_hd {
		margin-bottom: 15px;
		padding-bottom: 10px;
		font-size: 20px;
		text-align: start;
	}

	.online_detail_list {
	}

	.online_detail_list ul {
		padding-left: 11px;
	}

	.online_detail_list ul li::marker {
	}

	.online_detail_menu {
	}

	.online_detail_menu_txt {
		text-align: start;
	}

	.online_detail_menu_wrap {
		grid-template-columns: 1fr;
		gap: 15px;
		width: 100%;
	}

	.online_detail_menu_cnt {
		padding: 20px 20px 15px;
		border-radius: 20px;
	}

	.online_detail_menu_num {
	}

	.online_txt {
		width: 100%;
		margin: 0 auto 35px;
	}

	.online_link {
	}

	.online_link a {
		width: 100%;
	}

	.online_link a:hover {
	}

	.online_link a .icon-blank {
	}

	.list_box {
		padding: 60px 0 0;
	}
}
