@charset "UTF-8";
/*
	Filename: home
	Version: 1.0.1
*/
/*-----------------------------------------------------
	#mv
------------------------------------------------------*/
#mv {
	position: relative;
	width: 100%;
	height: auto;
	padding-top: 100px;
	overflow: hidden;
}
.mv_slider {
	position: relative;
	width: 100%;
}
.mv_slide {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 100%;
	opacity: 0;
	visibility: hidden;
	transition:
		opacity 1.5s ease-in-out,
		visibility 1.5s ease-in-out;
	pointer-events: none;
}
.mv_slide:first-child {
	position: relative;
}
.mv_slide.is-active {
	z-index: 2;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}
.mv_slide_link {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	color: inherit;
	text-decoration: none;
}
.mv_slide_link:hover {
	color: inherit;
	text-decoration: none;
}
.mv_img {
	position: relative;
	width: 100%;
}
.mv_img picture {
	display: block;
	width: 100%;
}
.mv_img img {
	display: block;
	width: 100%;
	height: auto;
}
/*-----------------------------------------------------
	2001px以上
------------------------------------------------------*/
@media screen and (min-width: 2001px) {
	#mv {
		height: auto;
		min-height: 0;
	}
	.mv_slider,
	.mv_slide,
	.mv_img,
	.mv_img picture {
		height: auto;
	}
	.mv_img img {
		display: block;
		width: 100%;
		height: auto;
		object-fit: contain;
	}
}

/*-----------------------------------------------------
	MV text
------------------------------------------------------*/
.mv_text {
	position: absolute;
	bottom: 33px;
	left: 50%;
	z-index: 3;
	display: flex;
	justify-content: space-between;
	width: 1075px;
	transform: translateX(-50%);
}
.mv_text_l {
	width: 59.7%;
}
.mv_text_l > span {
	display: inline-block;
	margin-bottom: 30px;
	padding-bottom: 10px;
	border-bottom: 1px solid #fff;
	color: #fff;
	text-shadow:
		0 4px 4px rgba(0, 0, 0, 0.25),
		0 0 10px #000;
	font-size: 36px;
	font-weight: 400;
	line-height: 1.6;
}
.mv_text_l h2 {
	margin: 0;
	color: #fff;
	text-shadow:
		0 4px 4px rgba(0, 0, 0, 0.25),
		0 0 10px #000;
	font-size: 57px;
	font-weight: 700;
	line-height: 1.6;
}
.mv_text_l h2 span {
	display: block;
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
	font-size: 48px;
	font-weight: 700;
	line-height: 1.6;
}
.mv_text_l h2 em {
	font-style: normal;
	color: rgb(247, 206, 105);
}
.mv_text_l p {
	margin: 0;
	color: #fff;
	text-shadow:
		0 4px 4px rgba(0, 0, 0, 0.25),
		0 0 10px #000;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.6;
}
/*-----------------------------------------------------
	MV circle
------------------------------------------------------*/
.mv_text_r {
	display: flex;
	justify-content: center;
	gap: 0 9px;
	width: 35.8%;
}
.mv_text_circle {
	width: calc((100% - 9px) / 2);
	margin-top: -20px;
	text-align: center;
}
.mv_text_circle:first-of-type {
	width: 100%;
	margin-top: 0;
}
.mv_text_circle_inner {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 16px;
	width: 188.741px;
	height: 188.741px;
	margin-right: auto;
	margin-left: auto;
	padding: 10.5px;
	border: 1px solid var(--main-color);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.70);
	background-blend-mode: plus-lighter;
	backdrop-filter: blur(5.2428059577941895px);
	color: var(--main-color);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.6;
}
.mv_text_circle_inner img, .mv_text_circle_inner_02 img {
	width: auto;
	max-width: 100%;
	height: auto;
}

/*-----------------------------------------------------
	SP circle
------------------------------------------------------*/
.sp_mv_text_r {
	display: none;
}
/*-----------------------------------------------------
	1360px以下
------------------------------------------------------*/
@media screen and (max-width: 1360px) {
	.mv_text {
		bottom: 2.426vw;
		left: 0;
		width: 100%;
		padding: 0 40px;
		transform: none;
	}
	.mv_text_l {
		width: 55.7%;
	}
	.mv_text_l > span {
		margin-bottom: 2.206vw;
		padding-bottom: 0.735vw;
		font-size: 2.647vw;
	}
	.mv_text_l h2 {
		font-size: 4.191vw;
	}
	.mv_text_l h2 span {
		font-size: 3.529vw;
	}
	.mv_text_l p {
		font-size: 2.206vw;
	}
	.mv_text_r {
		width: 43.8%;
	}
	.mv_text_circle {
		margin-top: -1.471vw;
	}
	.mv_text_circle_inner {
		gap: 1.176vw;
		width: 13.878vw;
		height: 13.878vw;
		padding: 0.772vw;
		font-size: 1.176vw;
	}
}
/*-----------------------------------------------------
	1000px以下
------------------------------------------------------*/
@media screen and (max-width: 1000px) {
	#mv {
		padding-top: 70px;
	}
}
/*-----------------------------------------------------
	750px以下
------------------------------------------------------*/
@media screen and (max-width: 750px) {
	#mv {
		overflow: hidden;
	}
	.mv_text {
		bottom: 45px;
		left: 0;
		width: 100%;
		padding: 0 20px;
		transform: none;
	}
	.mv_text_l {
		width: 100%;
		text-align: center;
	}
	.mv_text_l > span {
		margin-bottom: 4vw;
		padding-bottom: 1.333vw;
		font-size: 4.8vw;
	}
	.mv_text_l h2 {
		font-size: 7.6vw;
	}
	.mv_text_l h2 span {
		font-size: 6.4vw;
	}
	.mv_text_l p {
		font-size: 3.6vw;
	}
	.mv_text_r {
		display: none;
	}
	/*----------------------------------------
		SP MV下部の丸3つ
	----------------------------------------*/
	.sp_mv_text_r {
		display: none;
	}
	.sp_mv_text_r.is-active {
		display: block;
	}
	.sp_mv_text_r .flex {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 0;
		width: 100%;
	}
	.sp_mv_text_r .mv_text_circle {
		position: relative;
		z-index: 2;
		width: 33%;
		margin-top: 0;
	}
	.sp_mv_text_r .mv_text_circle:first-of-type {
		z-index: 1;
		width: 33%;
		margin-right: -3.333vw;
	}
	.sp_mv_text_r .mv_text_circle:last-of-type {
		z-index: 3;
		margin-left: -3.333vw;
	}
	.sp_mv_text_r .mv_text_circle_inner {
		width: 30.499vw;
		height: 30.499vw;
		padding: 1.4vw;
		font-size: 2.8vw;
	}
}
/*=====================================================
	親知らず MV
======================================================*/
.mv_slide--wisdom .mv_wisdom {
	position: absolute;
	right: 0;
	bottom: 30px;
	left: 0;
	z-index: 3;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	width: min(1370px, calc(100% - 60px));
	margin: 0 auto;
}
.mv_slide--wisdom .mv_wisdom_text {
	flex: 1;
	padding-bottom: 35px;
}
.mv_slide--wisdom .mv_wisdom_text p {
	margin: 0 0 5px;
	color: #fff;
	font-size: 44px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: .02em;
	text-shadow:
		0 3px 4px rgba(0, 0, 0, .45),
		0 0 8px rgba(0, 0, 0, .3);
}

.mv_slide--wisdom .mv_wisdom_text h2 {
	margin: 0;
	color: #fff;
	font-size: 49px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: .01em;
	white-space: nowrap;
	text-shadow:
		0 3px 4px rgba(0, 0, 0, .45),
		0 0 8px rgba(0, 0, 0, .3);
}
.mv_slide--wisdom .mv_wisdom_text h2 span {
	color: #f7ce69;
	font-size: 64px;
	font-weight: 500;
}
.mv_slide--wisdom .mv_wisdom_circle_wrap {
	position: relative;
	flex: 0 0 clamp(360px, 33vw, 510px);
	width: clamp(360px, 33vw, 510px);
	aspect-ratio: 506 / 383;
	margin-left: 20px;
}
.mv_slide--wisdom .mv_wisdom_circle {
	position: absolute;
	width: 39%;
	height: auto;
	aspect-ratio: 1 / 1;
	margin: 0;
}
.mv_slide--wisdom .mv_wisdom_circle:nth-child(1) {
	top: 0;
	left: 0;
}
.mv_slide--wisdom .mv_wisdom_circle:nth-child(2) {
	top: 0;
	left: 40%;
}
.mv_slide--wisdom .mv_wisdom_circle:nth-child(3) {
	top: 48%;
	left: 19%;
}
.mv_slide--wisdom .mv_wisdom_circle:nth-child(4) {
	top: 48%;
	left: 60%;
}
.mv_slide--wisdom .mv_wisdom_circle_inner {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: clamp(6px, .7vw, 10px);
	width: 100%;
	height: 100%;
	padding: 10px;
	border: 1px solid #a88638;
	border-radius: 50%;
	background: rgba(255, 255, 255, .9);
	backdrop-filter: blur(4px);
	color: #9b761f;
	font-size: clamp(15px, 1.4vw, 22px);
	font-weight: 400;
	line-height: 1.4;
	text-align: center;
}
.mv_slide--wisdom .mv_wisdom_circle_inner img {
	width: clamp(25px, 2.3vw, 34px);
	height: auto;
}
.sp_mv_wisdom {
	display: none;
}
/*=====================================================
	1360px以下
======================================================*/
@media screen and (max-width: 1360px) {
	.mv_slide--wisdom .mv_wisdom {
		bottom: 2.2vw;
		width: calc(100% - 50px);
	}
	.mv_slide--wisdom .mv_wisdom_text {
		padding-bottom: 2.574vw;
	}
	.mv_slide--wisdom .mv_wisdom_text p {
		font-size: 3.235vw;
	}
	.mv_slide--wisdom .mv_wisdom_text h2 {
		font-size: 3.603vw;
	}
	.mv_slide--wisdom .mv_wisdom_text h2 span {
		font-size: 4.706vw;
	}
}
/*=====================================================
	1000px以下
======================================================*/
@media screen and (max-width: 1000px) {
	.mv_slide--wisdom .mv_wisdom {
		width: calc(100% - 30px);
	}
	.mv_slide--wisdom .mv_wisdom_circle_wrap {
		flex-basis: 36vw;
		width: 36vw;
		margin-left: 10px;
	}
}
/*=====================================================
	750px以下
======================================================*/
@media screen and (max-width: 750px) {
	#mv {
		overflow: hidden;
	}
	.mv_slide--wisdom .mv_wisdom_circle_wrap {
		display: none !important;
	}
	.mv_slide--wisdom .mv_wisdom {
		position: absolute;
		right: 0;
		bottom: 0;
		left: 0;
		display: block;
		width: 100%;
		margin: 0;
		padding: 0;
		transform: none;
	}
	.mv_slide--wisdom .mv_wisdom_text {
		position: absolute;
		right: 0;
		bottom: 20vw;
		left: 0;
		width: 100%;
		margin: 0;
		padding: 0 4vw;
		box-sizing: border-box;
		text-align: center;
	}
	.mv_slide--wisdom .mv_wisdom_text p {
		margin: 0 0 1vw;
		font-size: 5.7vw;
		line-height: 1.4;
		white-space: nowrap;
	}
	.mv_slide--wisdom .mv_wisdom_text h2 {
		margin: 0;
		font-size: 5.8vw;
		line-height: 1.35;
		white-space: nowrap;
	}
	.mv_slide--wisdom .mv_wisdom_text h2 span {
		font-size: 8.5vw;
	}
	.sp_mv_wisdom {
		position: relative;
		z-index: 10;
		display: block;
		width: 100%;
		height: 0;
		margin: 0;
		padding: 0;
		box-sizing: border-box;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition:
			opacity 1.5s ease-in-out,
			visibility 0s linear 1.5s,
			height 0s linear 1.5s;
	}
	body:has(.mv_slide--wisdom.is-active) .sp_mv_wisdom {
		height: 12.5vw;
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transition:
			opacity 1.5s ease-in-out,
			visibility 0s linear 0s,
			height 0s linear 0s;
	}
	.sp_mv_wisdom_circle_wrap {
		position: absolute;
		top: -12.5vw;
		right: 0;
		left: 0;
		width: 100%;
		height: 25vw;
		margin: 0;
		padding: 0;
		box-sizing: border-box;
	}
	.sp_mv_wisdom_circle {
		position: absolute;
		top: 0;
		width: 25%;
		height: auto;
		aspect-ratio: 1 / 1;
		margin: 0;
		padding: 0;
		box-sizing: border-box;
	}
	.sp_mv_wisdom_circle:nth-child(1) {
		left: 1%;
		z-index: 1;
	}
	.sp_mv_wisdom_circle:nth-child(2) {
		left: 25.3%;
		z-index: 2;
	}
	.sp_mv_wisdom_circle:nth-child(3) {
		left: 49.6%;
		z-index: 3;
	}
	.sp_mv_wisdom_circle:nth-child(4) {
		left: 73.9%;
		z-index: 4;
	}
	.sp_mv_wisdom_circle_inner {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		gap: 1vw;
		width: 100%;
		height: 100%;
		margin: 0;
		padding: 1vw;
		box-sizing: border-box;
		border: 1px solid #a88638;
		border-radius: 50%;
		background: rgba(255, 255, 255, .92);
		color: #9b761f;
		font-size: 2.8vw;
		line-height: 1.35;
		text-align: center;
	}
	.sp_mv_wisdom_circle_inner img {
		display: block;
		width: 4.2vw;
		height: auto;
		margin: 0;
	}
	body:has(.hamburger.active) .sp_mv_wisdom {
			opacity: 0 !important;
			visibility: hidden !important;
			pointer-events: none !important;
			transition: none !important;
	}
}
    
/* 予約スライド：スマホ画像の見切れ防止 */
@media screen and (max-width: 750px) {

    .mv_slider {
        transition: height 1.5s ease-in-out;
    }

    .mv_slide--reservation .mv_img,
    .mv_slide--reservation .mv_img picture {
        width: 100%;
        height: auto;
    }

    .mv_slide--reservation .mv_img img {
        display: block;
        width: 100%;
        max-width: none;
        height: auto;
        object-fit: contain;
    }

}
/*-----------------------------------------------------
	#information
------------------------------------------------------*/
#information {
	position: relative;
	top: 0;
	z-index: 0;
  padding-top: 115px;
  padding-bottom: 88px;
}
@media screen and (min-width: 2001px) {
	#information {
		top: 100px;
	}
}
#information::before {
  content: "";
  display: block;
  position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
  width: 40%;
  height: 100%;
  background: rgba(225, 215, 193, 0.60);
}
#information .info_bg {
  display: block;
  position: absolute;
	top: 0;
	right: 0;
	z-index: -1;
  width: 60%;
  height: 100%;
	padding: 45px 0;
}
#information .info_bg img {
  width: 100%;
  height: 100%;
	object-fit: cover;
	object-position: top right;
}
#information .wrap {
	justify-content: space-between;
}
.info_l {
	width: 62.5%;
	padding: 60px;
	background: #fff;
	border: 2px solid transparent;
	border-image: linear-gradient(
		82deg,
		rgba(147, 130, 90, 1) 0%,
		rgba(212, 198, 165, 1) 50%,
		rgba(147, 130, 90, 1) 100%
	) 1;
}
.info_l h2 {
	margin-bottom: 40px;
}
.info_l ul {
	margin-bottom: 60px;
}
.info_l ul li {
	position: relative;
	padding: 11.5px 10px 11.5px 53px;
	border-bottom: 1px solid #C4C4C4;
	font-size: 24px;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 0.1em;
}
.info_l ul li::before {
  content: "";
  display: block;
  position: absolute;
	top: 20px;
	left: 10px;
  width: 23px;
  height: 23px;
  background: url("../img/common/list_icon.svg") no-repeat center center;
  background-size: cover;
}
.info_l ul li span {
	font-weight: 900;
	color: var(--main-color);
}
.info_r {
	width: 37.5%;
	padding-top: 70px;
	color: #fff;
}
.info_r h3 {
	font-size: 67px;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: 0.1em;
}
.info_r p {
	font-size: 39px;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: 0.1em;
}
.vtext_center {
  display: flex;
  justify-content: center;
}
.vtext_cols {
  display: flex;
  align-items: flex-start;
  gap: 50px;
}
.vcol {
  display: inline-block;
  position: relative;
  margin: 0;
  padding-right: 13px;
  writing-mode: vertical-rl;
  text-orientation: mixed;
	text-align: center;
}
.vcol::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 1px;
  background: #fff;
}
.tcy {
  text-combine-upright: all;
  display: inline-block;
	margin: 10px 0;
  line-height: 1;
  transform: translateX(-3px);
}
.info_sp {
	display: none;
}
@media screen and (max-width: 1540px) {
	.vtext_center {
		justify-content: flex-start;
	}
	.info_l {
		width: 58%;
		padding: 60px 30px;
	}
	.info_r {
		width: 38%;
	}
	.vtext_cols {
		gap: 30px;
	}
}
@media screen and (max-width: 1000px) {
	#information {
		padding-top: 60px;
		background: rgba(255, 255, 255, 0);
		background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(225, 215, 193, 0.6) 30%, rgba(225, 215, 193, 0.6) 100%);
	}
	#information::before {
		display: none;
	}
	#information .info_bg {
		top: 195px;
		width: 100%;
		height: auto;
		padding: 0;
	}
	.info_l {
		order: 2;
		width: 100%;
		padding: 60px;
	}
	.info_r {
		order: 1;
		width: 100%;
		margin-bottom: 48px;
		padding-top: 85px;
	}
	.vtext_center {
		justify-content: center;
	}
	.info_sp {
		display: block;
	}
	.info_pc {
		display: none;
	}
}
@media screen and (max-width: 750px) {
	#information {
		padding-top: 60px;
		padding-bottom: 48px;
	}
	#information .info_bg {
		top: 165px;
		min-height: 430px;
	}
	#information .info_bg img {
		min-height: 430px;
	}
	#information .wrap {
		width: calc(100% - 40px);
	}
	.info_l {
		padding: 40px 25px;
	}
	.info_l ul li {
		font-size: 18px;
	}
	.info_l ul li::before {
		top: 17px;
		width: 20px;
		height: 20px;
	}
	.info_r {
		padding-top: 70px;
	}
	.info_r h3 {
		font-size: 33px;
	}
	.info_r p {
		font-size: 19px;
	}
	.vtext_cols {
		gap: 25px;
	}
	.vcol {
		padding-right: 6.5px;
	}
	.tcy {
		margin: 5px 0;
		transform: translateX(-2px);
	}	
}
@media screen and (max-width: 414px) {
	.vtext_cols {
		gap: 10px;
	}
}
/*-----------------------------------------------------
	#guidance
------------------------------------------------------*/
#guidance {
  padding-top: 88px;
	padding-bottom: 100px;
}
@media screen and (min-width: 2001px) {
	#guidance {
		padding-top: 183px;
	}
}
#guidance .wrap {
	justify-content: space-between;
  width: 1140px;
}
.guidance_l {
  width: 52%;
}
.guidance_l h2 {
	margin-bottom: 60px;
	font-size: 14px;
  text-align: left;
}
.guidance_l h2 span {
	font-size: 40px;
}
.guidance_l h3 {
	margin-bottom: 47px;
	font-family: "Cormorant Infant", serif;
  font-size: 30px;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 0.1em;
}
.guidance_l dl {
	justify-content: space-between;
	width: 100%;
	line-height: 1.6;
	letter-spacing: 0.2em;
}
.guidance_l dl:first-of-type dt {
	padding: 26px 0 0 10px;
}
.guidance_l dl dt {
  width: 90px;
  padding: 13px 0 13px 10px;
  border-bottom: 1px solid #C4C4C4;
  font-size: 16px;
	font-weight: 700;
}
.guidance_l dl dd {
  width: calc(100% - 99px);
  padding: 13px 0 13px 10px;
  border-bottom: 1px solid #C4C4C4;
	font-size: 15px;
	font-weight: 500;
}
.guidance_l dl dd a {
  margin-left: 10px;
}
.guidance_l iframe {
	width: 100%;
  margin-top: 30px;
}
.hour {
  width: 100%;
	margin-top: 60px;
  text-align: center;
}
.hour th {
	background: #F2ECE4;
	padding-top: 21px;
  padding-bottom: 21px;
	font-size: 14px;
}
.hour tbody tr th:first-of-type, .hour tbody tr td:first-of-type {
  width: 25%;
  font-size: 16px;
  font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.04em;
}
.hour td {
	padding-top: 21px;
  padding-bottom: 21px;
  border-bottom: 1px solid #C4C4C4;
  font-size: 14px;
	font-weight: 400;
  vertical-align: middle;
	text-align: center;
}
.guidance_r {
  width: 43%;
}
.guidance_r img {
  width: 100%;
	margin-bottom: 15px;
}
.guidance_r iframe {
  width: 100%;
  height: 317px;
}
.clinic_calendar {
  width: 100%;
	margin-top: 10px;
}
.clinic_calendar_img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 1240px) {
	#guidance .wrap {
		width: calc(100% - 80px);
	}
	.guidance_l dl {
		width: 100%;
	}
}
@media screen and (max-width: 1000px) {
	.guidance_l {
		width: 100%;
		margin-bottom: 40px;
	}
	.guidance_l h2 {
		text-align: center;
	}
	.guidance_l h3 {
		text-align: center;
	}
	.guidance_r {
		width: 100%;
	}
	.guidance_r iframe {
		height: 450px;
	}
}
@media screen and (max-width: 750px) {
	#guidance {
		padding-top: 60px;
		padding-bottom: 115px;
	}
	#guidance .wrap {
		width: calc(100% - 40px);
	}
	.guidance_l h2 {
		margin-bottom: 30px;
	}
	.guidance_l h3 {
		margin-bottom: 30px;
	}
	.guidance_l dl {
		font-size: 13px;
	}
	.guidance_l dl dt {
		width: 90px;
		font-size: 14px;
	}
	.guidance_l dl dd {
		width: calc(100% - 100px);
		font-size: 14px;
	}
	.guidance_l dl dd a {
		margin-top: 5px;
		margin-left: 0;
	}
	.hour {
    margin-top: 40px;
  }
	.hour tbody tr th:first-of-type, .hour tbody tr td:first-of-type {
		width: 32%;
		font-size: 14px;
	}
	.guidance_r img {
		margin-bottom: 20px;
	}
	.guidance_r iframe {
		height: 58.8vw;
	}
}

/*-----------------------------------------------------
	#cv
------------------------------------------------------*/
#cv {
  padding-top: 60px;
	padding-bottom: 60px;
	background: rgba(196, 180, 144, 0.60);
}
#cv h2, #cv h2 span {
	background: none;
  -webkit-background-clip: initial;
  background-clip: initial;
	color: var(--text-color);
  -webkit-text-fill-color: currentColor;
}
#cv h2 {
	margin-bottom: 40px;
}
ul.cv {
	gap: 40px;
	width: 100%;
}
ul.cv li {
	width: calc((100% - 80px) / 3);
	background: #fff;
	border: 2px solid transparent;
	border-image: linear-gradient(
		82deg,
		rgba(147, 130, 90, 1) 0%,
		rgba(212, 198, 165, 1) 50%,
		rgba(147, 130, 90, 1) 100%
	) 1;
	box-shadow: 0 17.5px 17.5px 0 rgba(0, 0, 0, 0.15);
}
ul.cv li a {
	display: block;
	padding: 46px 10px;
	font-size: 25px;
	font-weight: 500;
	text-align: center;
}
ul.cv li a img {
	display: block;
	width: 80px;
	height: 80px;
	margin: 0 auto 5px;
}
ul.cv li.tel a {
	padding: 25px 10px;
	font-size: 20px;
}
ul.cv li.tel a span {
	display: block;
	font-size: 30px;
	color: var(--main-color);
}
@media screen and (max-width: 1000px) {
	ul.cv {
		gap: 20px;
		width: 540px;
		max-width: 100%;
		margin: 0 auto;
	}
	ul.cv li {
		width: 100%;
	}
}
@media screen and (max-width: 750px) {
	#cv {
		padding-top: 40px;
		padding-bottom: 40px;
	}
	ul.cv {
		width: 350px;
	}
	ul.cv li a {
		padding: 40px 10px;
		font-size: 21px;
	}
	ul.cv li a img {
		width: 70px;
		height: 70px;
	}
	ul.cv li.tel a {
		padding: 33px 10px;
		font-size: 17px;
	}
	ul.cv li.tel a span {
		font-size: 26px;
	}
}
/*-----------------------------------------------------
	#invisalign
------------------------------------------------------*/
#invisalign {
	position: relative;
	top: 0;
	z-index: 0;
  padding-top: 172px;
  padding-bottom: 88px;
}
#invisalign::before {
  content: "";
  display: block;
  position: absolute;
	top: 100px;
	right: 0;
	z-index: -1;
  width: 40%;
  height: 72%;
  background: rgba(225, 215, 193, 0.60);
}
#invisalign .info_bg {
  display: block;
  position: absolute;
	top: 172px;
	left: 0;
	z-index: -1;
  width: 60%;
  height: 872px;
}
#invisalign .info_bg img {
  width: 100%;
  height: 100%;
	object-fit: cover;
	object-position: top left;
}
#invisalign .wrap {
	padding-top: 60px;
}
.invisalign_r {
	width: 55%;
	margin-left: 45%;
	background: #fff;
}
.invisalign_inner {
	padding: 62px 60px 60px;
}
.invisalign_r h2 {
	padding: 25px 10px;
	background: linear-gradient(91deg, #EDE0C4 0.3%, #C9AB66 33.28%);
	font-size: 30px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.1em;
	color: #fff;
	text-align: center;
}
.invisalign_r h2 span {
	position: relative;
	font-size: 48px;
	font-weight: 400;
	line-height: 1.3;
}
.invisalign_r h2 span::before {
  content: "";
  display: block;
  position: absolute;
	top: 50%;
	left: -32%;
	transform: translateY(-50%);
  width: 30%;
  height: 1px;
  background: #fff;
}
.invisalign_r h2 span::after {
  content: "";
  display: block;
  position: absolute;
	top: 50%;
	right: -32%;
	transform: translateY(-50%);
  width: 30%;
  height: 1px;
  background: #fff;
}
.invisalign_r h3 {
	margin-bottom: 40px;
	padding-bottom: 10px;
	border-bottom: 1px solid #665C44;
	font-size: 36px;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 0.1em;
}
.invisalign_r ul {
	margin-bottom: 40px;
}
.invisalign_r ul li {
	position: relative;
	padding: 11.5px 10px 11.5px 53px;
	border-bottom: 1px solid #C4C4C4;
	font-size: 20px;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 0.1em;
}
.invisalign_r ul li::before {
  content: "";
  display: block;
  position: absolute;
	top: 20px;
	left: 10px;
  width: 23px;
  height: 23px;
  background: url("../img/common/list_icon.svg") no-repeat center center;
  background-size: cover;
}
.invisalign_r ul li span {
	font-weight: 900;
	color: #CF2200;
}
.invisalign_bottom {
	justify-content: space-between;
  position: relative;
  width: 1200px;
  margin: 87px auto 0;
  padding: 60px;
  border-radius: 30px;
  background: linear-gradient(99deg, #C9AB65 -1.34%, #635432 24.3%);
}
.invisalign_bottom::before {
  content: "";
  position: absolute;
  inset: 0;
  padding: 2px;
  border-radius: 30px;
  background: linear-gradient(
    82deg,
    rgba(147, 130, 90, 1) 0%,
    rgba(212, 198, 165, 1) 50%,
    rgba(147, 130, 90, 1) 100%
  );
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
          mask-composite: exclude;
  pointer-events: none;
}
.invisalign_bottom_l {
	width: 230px;
}
.invisalign_circle {
	width: 230px;
	height: 230px;
	padding: 50px 10px;
	border-radius: 500px;
	background: #fff;
	font-size: 30px;
	font-weight: 400;
	line-height: 1.3;
	letter-spacing: 0.1em;
	color: var(--main-color);
	text-align: center;
}
.invisalign_circle span {
	font-size: 22px;
}
.invisalign_circle em {
	font-size: 37px;
	font-weight: 900;
	font-style: normal;
}
.invisalign_bottom_r {
	width: calc(100% - 270px);
	color: #fff;
}
.invisalign_bottom_r h4 {
	margin-bottom: 35px;
	border-bottom: 1px solid var(--sub-color);
	font-size: 36px;
	font-weight: 400;
	letter-spacing: 0.1em;
}
.invisalign_bottom_r p {
	font-family: var(--font-sans);
	font-size: 16px;
	font-weight: 400;
	line-height: 2;
	letter-spacing: 0.1em;
}
@media screen and (max-width: 1280px) {
	.invisalign_bottom {
		width: calc(100% - 80px);
		padding: 40px;
	}
}
@media screen and (max-width: 1200px) {
	#invisalign {
		padding-top: 3.583vw;
		padding-bottom: 7.333vw;
	}
	#invisalign::before {
		top: 26.667vw;
		width: 100%;
	}
	#invisalign .info_bg {
		top: 3.583vw;
		left: 0;
		width: 80%;
		height: auto;
	}
	#invisalign .info_bg img {
		width: 100%;
		height: auto;
		object-fit: contain;
	}
	#invisalign .wrap {
		padding-top: 0;
	}
	.invisalign_r {
		width: 100%;
		margin-top: 38.75vw;
		margin-left: 0;
	}
	.invisalign_inner {
		padding: 62px 60px 60px;
	}
	.invisalign_r .left {
		text-align: center !important;
	}
}
@media screen and (max-width: 1000px) {
	.invisalign_bottom_l {
		width: 100%;
		margin-bottom: 30px;
	}
	.invisalign_circle {
		margin: 0 auto;
	}
	.invisalign_bottom_r {
		width: 100%;
	}
	.invisalign_bottom_r h4 {
		text-align: center;
	}
}
@media screen and (max-width: 750px) {
	#invisalign {
		padding-top: 43px;
		padding-bottom: 40px;
	}
	#invisalign::before {
		top: 32vw;
	}
	#invisalign .info_bg {
		top: 43px;
		width: 86%;
	}
	.invisalign_r {
		margin-top: 42.667vw;
	}
	.invisalign_inner {
		padding: 40px 20px;
	}
	.invisalign_r h2 {
		padding: 25px 10px;
		font-size: 20px;
	}
	.invisalign_r h2 span {
		font-size: 24px;
	}
	.invisalign_r h3 {
		font-size: 20px;
		text-align: center;
	}
	.invisalign_r ul li {
		font-size: 16px;
	}
	.invisalign_r ul li::before {
		top: 20px;
		left: 10px;
		width: 18px;
		height: 18px;
	}
	.invisalign_bottom {
		width: calc(100% - 40px);
		margin: 80px auto 0;
		padding: 60px 20px;
	}
	.invisalign_bottom_l {
		margin-bottom: 40px;
	}
	.invisalign_bottom_r h4 {
		margin-bottom: 35px;
		padding-bottom: 3px;
		font-size: 20px;
	}
	.invisalign_bottom_r p {
		font-size: 14px;
	}
}
@media screen and (max-width: 414px) {
	.invisalign_bottom_r h4 {
		font-size: 17px;
	}
}
/*-----------------------------------------------------
	#about
------------------------------------------------------*/
#about {
	background: rgba(225, 215, 193, 0.60);
}
.about_l {
	width: 48%;
	padding: 116px 60px 85px 120px;
}
.about_l h2 {
	margin-bottom: 60px;
	text-align: left;
}
.about_l p {
	margin-bottom: 60px;
	font-size: 16px;
	font-weight: 400;
	line-height: 2;
	letter-spacing: 0.1em;
}
.about_r {
	width: 52%;
	max-height: 731px;
}
.about_r img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: left center;
}
@media screen and (max-width: 1700px) {
	.about_r {
		width: 52%;
		max-height: 100%;
	}
}
@media screen and (max-width: 1200px) {
	.about_l {
		width: 100%;
		padding: 85px 40px;
	}
	.about_r {
		width: 100%;
	}
	.about_r img {
		width: 100%;
		height: auto;
		object-fit: contain;
	}
}
@media screen and (max-width: 750px) {
	.about_l {
		padding: 60px 20px;
	}
	.about_l h2 {
		text-align: center;
	}
	.about_l p {
		font-size: 14px;
	}
	.about_l .left {
		text-align: center !important;
	}
}
/*-----------------------------------------------------
	#team
------------------------------------------------------*/
#team {
	padding-top: 122px;
	padding-bottom: 92px;
}
#team .wrap {
	justify-content: space-between;
	width: 1200px;
}
.team_l {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50%;
}
.team_l img {
	max-width: 100%;
	height: auto;
}
.team_r {
	width: 43%;
}
.team_r h2 {
	margin-bottom: 60px;
	text-align: left;
}
.team_r p {
	margin-bottom: 60px;
	font-size: 16px;
	font-weight: 400;
	line-height: 2;
	letter-spacing: 0.1em;
}
@media screen and (max-width: 1280px) {
	#team .wrap {
		width: calc(100% - 80px);
	}
}
@media screen and (max-width: 1200px) {
	.team_l {
		order: 2;
		width: 100%;
	}
	.team_r {
		order: 1;
		width: 100%;
		margin-bottom: 60px;
	}
}
@media screen and (max-width: 750px) {
	#team {
		padding-top: 60px;
		padding-bottom: 60px;
	}
	#team .wrap {
		width: calc(100% - 40px);
	}
	.team_l img {
		width: 100%;
	}
	.team_r h2 {
		text-align: center;
	}
	.team_r p {
		font-size: 14px;
	}
	.team_r .left {
		text-align: center !important;
	}
}
/*-----------------------------------------------------
	#doctor
------------------------------------------------------*/
#doctor {
	padding: 60px 80px;
	background: rgba(225, 215, 193, 0.60);
}
#doctor h2, #doctor h2 span {
	background: none;
  -webkit-background-clip: initial;
  background-clip: initial;
	color: var(--text-color);
  -webkit-text-fill-color: currentColor;
}
#doctor h2 {
	margin-bottom: 60px;
	text-align: center;
}
#doctor p {
	margin-top: 50px;
	font-size: 24px;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.1em;
	text-align: center;
}
#doctor p em {
	font-size: 36px;
	font-style: normal;
	border-bottom: 2px solid var(--text-color);
}
#doctor p em span {
	font-style: italic;
}
.swiper_clip {
  position: relative;
  max-width: 100%;
  overflow: visible;
	margin-bottom: 60px;
	padding: 0 100px;
}
.swiper-slide {
  position: relative;
	border: 2px solid transparent;
	border-image: linear-gradient(
		90deg,
		rgba(147, 130, 90, 1) 0%,
		rgba(212, 198, 165, 1) 100%
	) 1;
}
.swiper-slide a {
  position: relative;
	display: block;
}
.swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
	object-fit: cover;
}
.d_name {
	position: absolute;
	bottom: -2px;
	left: -2px;
}
.d_name span {
	display: inline-block;
	padding: 5px 20px;
	background: #fff;
	border: 2px solid transparent;
	border-image: linear-gradient(
		90deg,
		rgba(147, 130, 90, 1) 0%,
		rgba(212, 198, 165, 1) 100%
	) 1;
	font-size: 16px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0.1em;
	color: var(--main-color);
}
.swiper-button-next:after, .swiper-button-prev:after {
  display: none;
}
@media screen and (max-width: 750px) {
	#doctor {
		padding: 40px 20px;
	}
	#doctor h2 {
		margin-bottom: 40px;
	}
	#doctor p {
		font-size: 18px;
	}
	#doctor p em {
		font-size: 20px;
		border-bottom: 1px solid var(--text-color);
	}
	.swiper_clip {
		margin-bottom: 40px;
		padding: 0 70px;
	}
	.swiper-slide {
		border: 1px solid transparent;
		border-image: linear-gradient(
			90deg,
			rgba(147, 130, 90, 1) 0%,
			rgba(212, 198, 165, 1) 100%
		) 1;
	}
	.d_name {
		bottom: -1px;
		left: -1px;
	}
	.d_name span {
		padding: 5px 20px;
		border: 1px solid transparent;
		border-image: linear-gradient(
			90deg,
			rgba(147, 130, 90, 1) 0%,
			rgba(212, 198, 165, 1) 100%
		) 1;
		font-size: 14px;
	}
}

/*-----------------------------------------------------
	#pickup
------------------------------------------------------*/
#pickup {
	padding-top: 100px;
	padding-bottom: 120px;
}
.pick_01 {
	margin-bottom: 36px;
	padding-top: 100px;
	padding-bottom: 107px;
	background: url("../img/home/pickup_bg_01.webp") right center no-repeat;
	background-size: 75.2% auto;
}
.pick_01 .wrap {
	position: relative;
}
.pick_01_l {
	width: 731px;
}
.pick_01_title {
	justify-content: flex-start;
	margin-bottom: 60px;
	background: #665C44;
	background: linear-gradient(90deg, rgba(102, 92, 68, 1) 0%, rgba(197, 172, 113, 1) 100%);
	box-shadow: 0px 20px 20px 0px rgba(0,0,0,0.15);
}
.pick_01_title h2 {
	width: 120px;
	padding: 30px 13px;
	background: #665C44;
	background: linear-gradient(90deg, rgba(102, 92, 68, 1) 0%, rgba(197, 172, 113, 1) 100%);
	font-size: 30px;
	font-weight: 400;
	line-height: 1.1;
	letter-spacing: 0.1em;
	color: #fff;
}
.pick_01_title h2 span {
	font-size: 20px;
}
.pick_01_title h3 {
	margin-top: 3px;
	margin-right: 3px;
	margin-bottom: 3px;
	padding: 40px;
	background: #fff;
	font-size: 40px;
	font-weight: 400;
	line-height: 1.1;
	letter-spacing: 0.1em;
	text-align: center;
}
.pick_01_l p {
	font-size: 16px;
	font-weight: 400;
	line-height: 2;
	letter-spacing: 0.1em;
}
.pick_01_r {
	position: absolute;
	top: -100px;
	right: 0;
}
.h_title {
	display: flex;
	flex-direction: row-reverse;
	align-items: flex-start;
	gap: 10px;
	color: #fff;
}
.h_title_col {
	padding: 10px;
	background: #9F7A22;
	font-size: 36px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.1em;
	writing-mode: vertical-rl;
	text-orientation: upright;
	white-space: nowrap;
}
.h_title_col_02 .mid {
	font-size: 28px;
}
.h_title_col_03 .large {
	font-size: 48px;
}
.h_title_col_03 .small {
	font-size: 26px;
}

.pick_top {
	padding-top: 66px;
	padding-bottom: 180px;
	background: url("../img/home/pickup_bg_02.webp") right center no-repeat;
	background-size: 75.2% auto;
}
.pick_top .wrap {
	justify-content: space-between;
	padding: 0 40px;
}
.pick_top_l {
	justify-content: space-between;
	width: 660px;
	padding: 30px 0;
}
.pickup_title {
	width: 120px;
	height: 385px;
	background: #665C44;
	background: linear-gradient(90deg, rgba(102, 92, 68, 1) 0%, rgba(197, 172, 113, 1) 100%);
	box-shadow: 0px 20px 20px 0px rgba(0,0,0,0.15);
}
.pickup_title h2 {
	padding: 30px 13px;
	font-size: 30px;
	font-weight: 400;
	line-height: 1.1;
	letter-spacing: 0.1em;
	color: #fff;
}
.pickup_title h2 span {
	font-size: 20px;
}
.pickup_title h3 {
	width: calc(100% - 6px);
	margin: 0 auto;
	padding: 40px 35px;
	background: #fff;
	font-size: 40px;
	font-weight: 400;
	line-height: 1.1;
	letter-spacing: 0.1em;
	text-align: center;
	writing-mode: vertical-rl;
  text-orientation: mixed;
}
.pickup_text {
	width: 480px;
}
.pickup_text p {
	font-size: 16px;
	font-weight: 400;
	line-height: 2;
	letter-spacing: 0.1em;
}
.pick_top_r {
	position: relative;
	width: 481px;
	height: auto;
}
.pickup_map {
  position: relative;
}
.pickup_map .pickup_image {
	display: block;
	width: 100%;
	height: 100%;
	mix-blend-mode: multiply;
	cursor: pointer;
}
.pickup_map .pickup_image_text {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 2;
}
.pickup_map .pickup_svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 3;
}
.pickup_map .pickup_svg polygon {
  fill: rgba(0,0,0,0);
  cursor: pointer;
}
.pick_top_bottom {
	position: relative;
	top: -110px;
	width: 1031px;
	margin: 0 auto;
	padding: 30px 40px;
	background: #fff;
	border-top: 2px solid transparent;
	border-image: linear-gradient(
		90deg,
		rgba(147, 130, 90, 1) 0%,
		rgba(212, 198, 165, 1) 50%,
		rgba(147, 130, 90, 1) 100%
	) 1;
	border-bottom: 2px solid transparent;
	border-image: linear-gradient(
		90deg,
		rgba(147, 130, 90, 1) 0%,
		rgba(212, 198, 165, 1) 50%,
		rgba(147, 130, 90, 1) 100%
	) 1;
	text-align: center;
}
.pick_top_bottom h4 {
	margin-bottom: 20px;
	font-size: 40px;
	font-weight: 400;
	line-height: 1.3;
	letter-spacing: 0.1em;
}
.pick_top_bottom h4 span {
	background: linear-gradient(to right, #665C44 0%, #C5AC71 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}
.pick_top_bottom p {
	font-size: 24px;
	font-weight: 400;
	line-height: 1.3;
	letter-spacing: 0.1em;
}
.pickup_link {
	gap: 20px;
	margin-top: -30px;
}
.pickup_link_child {
	position: relative;
	width: calc((100% - 40px) / 3);
	padding: 45px 16px 10px;
	background: #fff;
	border: 1px solid transparent;
	border-image: linear-gradient(
		90deg,
		rgba(147, 130, 90, 1) 0%,
		rgba(212, 198, 165, 1) 50%,
		rgba(147, 130, 90, 1) 100%
	) 1;
	box-shadow: 0px 20px 20px 0px rgba(0,0,0,0.15);
	text-align: center;
}
.pickup_link_child img {
	max-width: 100%;
	margin-bottom: 35px;
}
.pickup_link_child p {
	padding: 15px 10px;
	border-top: 1px solid transparent;
	border-image: linear-gradient(
		90deg,
		rgba(147, 130, 90, 1) 0%,
		rgba(212, 198, 165, 1) 50%,
		rgba(147, 130, 90, 1) 100%
	) 1;
	font-size: 20px;
	font-weight: 400;
	line-height: 1.3;
	letter-spacing: 0.1em;
}
.pickup_link_child p span {
	background: linear-gradient(to right, #665C44 0%, #C5AC71 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}
.sp_pick_01_r {
	display: none;
}
.sp_pick_top_r {
	display: none;
}
@media screen and (max-width: 1360px) {
	#pickup {
		padding-top: 7.353vw;
	}
	.pick_01 {
		margin-bottom: 2.647vw;
		padding-top: 7.353vw;
		padding-bottom: 7.868vw;
	}
	.pick_01_title {
		margin-bottom: 4.412vw;
	}
	.pick_01_title h2 {
		width: 8.824vw;
		padding: 2.206vw 0.956vw;
		font-size: 2.206vw;
	}
	.pick_01_title h2 span {
		font-size: 1.471vw;
	}
	.pick_01_title h3 {
		margin-top: 0.221vw;
		margin-right: 0.221vw;
		margin-bottom: 0.221vw;
		padding: 2.941vw;
		font-size: 2.941vw;
	}
	.pick_01_l p {
		font-size: 1.176vw;
	}
	.pick_01_r {
		top: -7.353vw;
	}
	.h_title {
		gap: 0.735vw;
	}
	.h_title_col {
		padding: 0.735vw;
		font-size: 2.647vw;
	}
	.h_title_col_02 .mid {
		font-size: 2.059vw;
	}
	.h_title_col_03 .large {
		font-size: 3.529vw;
	}
	.h_title_col_03 .small {
		font-size: 1.912vw;
	}
	.pick_top {
		padding-top: 4.853vw;
		padding-bottom: 13.235vw;
	}
	.pick_top .wrap {
		padding: 0;
	}
	.pick_top_l {
		width: 48.529vw;
		padding: 2.206vw 0;
	}
	.pickup_title {
		width: 8.824vw;
		height: 28.309vw;
	}
	.pickup_title h2 {
		padding: 2.206vw 0.956vw;
		font-size: 2.206vw;
	}
	.pickup_title h2 span {
		font-size: 1.471vw;
	}
	.pickup_title h3 {
		width: calc(100% - 0.441vw);
		padding: 2.941vw 2.574vw;
		font-size: 2.941vw;
	}
	.pickup_text {
		width: 35.294vw;
	}
	.pickup_text p {
		font-size: 1.176vw;
	}
	.pick_top_r {
		width: 35.368vw;
		height: 34.926vw;
	}
	.pick_top_bottom {
		top: -8.088vw;
		width: calc(100% - 80px);
		padding: 2.206vw 2.941vw;
	}
	.pick_top_bottom h4 {
		margin-bottom: 1.471vw;
		font-size: 2.941vw;
	}
	.pick_top_bottom p {
		font-size: 1.765vw;
	}
}
@media screen and (max-width: 1200px) {
	#pickup {
		padding-top: 100px;
		padding-bottom: 120px;
	}
	.pick_01 {
		margin-bottom: 36px;
		padding-top: 100px;
		padding-bottom: 107px;
		background: url("../img/home/pickup_bg_01.webp") right 300px no-repeat;
		background-size: 100% auto;
	}
	.pick_01_l {
		width: 100%;
	}
	.pick_01_title {
		margin-bottom: 40px;
	}
	.pick_01_title h2 {
		width: 120px;
		padding: 30px 13px;
		font-size: 30px;
	}
	.pick_01_title h2 span {
		font-size: 20px;
	}
	.pick_01_title h3 {
		margin-top: 3px;
		margin-right: 3px;
		margin-bottom: 3px;
		padding: 40px;
		font-size: 33px;
	}
	.sp_pick_01_r {
		display: block;
	}
	.sp_h_title {
		display: flex;
		flex-direction: column;
		gap: 10px;
		margin-bottom: 40px;
		color: #fff;
	}
	.sp_h_title_col {
		width: fit-content;
		padding: 10px;
		background: #9F7A22;
		font-size: 24px;
		font-weight: 500;
		line-height: 1;
		letter-spacing: 0.1em;
	}
	.pick_01_l p {
		font-size: 16px;
		font-weight: 400;
		line-height: 2;
		letter-spacing: 0.1em;
	}
	.pick_01_r {
		display: none;
	}

	.pick_top {
		position: relative;
		z-index: 0;
		padding-top: 0;
		padding-bottom: 180px;
		background: none;
	}
	.pick_top::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: url("../img/home/sp_pickup_bg_02.webp") right bottom no-repeat;
		background-size: 100% auto;
    opacity: 0.8;
    pointer-events: none;
  }
	.pick_top_l {
		justify-content: center;
		gap: 60px 10px;
		width: 100%;
		padding: 0;
	}
	.pickup_title {
		width: 120px;
		height: 385px;
	}
	.pickup_title h2 {
		padding: 30px 13px;
		font-size: 30px;
	}
	.pickup_title h2 span {
		font-size: 20px;
	}
	.pickup_title h3 {
		width: calc(100% - 6px);
		padding: 40px 35px;
		font-size: 40px;
	}
	.pick_top_r {
		display: none;
	}
	.sp_pick_top_r {
		display: block;
		position: relative;
		width: 390px;
		height: 385px;
	}
	.pickup_text {
		width: 100%;
	}
	.pickup_text p {
		font-size: 16px;
	}
	.pick_top_bottom {
		top: -110px;
		padding: 30px 40px;
	}
	.pick_top_bottom h4 {
		margin-bottom: 20px;
		font-size: 35px;
	}
	.pick_top_bottom p {
		font-size: 22px;
	}
}
@media screen and (max-width: 900px) {
	.pick_top::before {
		background: url("../img/home/sp_pickup_bg_02.webp") right top 100px no-repeat;
		background-size: 100% auto;
	}
}
@media screen and (max-width: 750px) {
	#pickup {
		padding-top: 60px;
		padding-bottom: 60px;
	}
	.pick_01 {
		margin-bottom: 0;
		padding-top: 0;
		padding-bottom: 80px;
		background: url("../img/home/sp_pickup_bg_01.webp") center 210px no-repeat;
		background-size: 100% auto;
	}
	.pick_01_title {
		width: 100%;
	}
	.pick_01_title h2 {
		width: 120px;
		padding: 23px 13px;
		font-size: 22px;
	}
	.pick_01_title h2 span {
		font-size: 18px;
	}
	.pick_01_title h3 {
		width: calc(100% - 123px);
		margin-top: 3px;
		margin-right: 3px;
		margin-bottom: 3px;
		padding: 20px;
		font-size: 24px;
		text-align: left;
	}
	.pick_01_l p {
		font-size: 14px;
	}
	.pick_top {
		margin-top: -20px;
		padding-top: 0;
		padding-bottom: 169px;
	}
	.pick_top::before {
		background: url("../img/home/sp_pickup_bg_02.webp") right top 100px no-repeat;
		background-size: cover;
	}
	.pickup_title {
		width: 90px;
		height: 288px;
	}
	.pickup_title h2 {
		padding: 23px 5px;
		font-size: 22px;
	}
	.pickup_title h2 span {
		font-size: 18px;
	}
	.pickup_title h3 {
		width: calc(100% - 4px);
		padding: 30px 27px;
		font-size: 30px;
	}
	.sp_pick_top_r {
		width: 280px;
		height: 277px;
	}
	.pickup_text {
		width: 100%;
	}
	.pickup_text p {
		font-size: 14px;
	}
	.pick_top_bottom {
		width: calc(100% - 40px);
		padding: 30px 20px;
	}
	.pick_top_bottom h4 {
		font-size: 30px;
	}
	.pick_top_bottom p {
		font-size: 16px;
	}
	.pickup_link {
		justify-content: center;
		gap: 10px;
		margin-top: -60px;
	}
	.pickup_link_child {
		width: calc((100% - 20px) / 2);
		padding: 35px 10px 10px;
	}
}
@media screen and (max-width: 480px) {
	.pick_01_title h2 {
		width: 20vw;
		padding: 3.111vw 1.8vw;
		font-size: 4.889vw;
	}
	.pick_01_title h2 span {
		font-size: 3.5vw;
	}
	.pick_01_title h3 {
		width: calc((100% - 20vw) - 3px);
		padding: 1.667vw 3vw;
		font-size: 5.667vw;
	}
	.sp_h_title_col {
		font-size: 4.667vw;
	}
	.pickup_title {
		width: 20vw;
		height: 64vw;
	}
	.pickup_title h2 {
		padding: 5.111vw 1.8vw;
		font-size: 4.889vw;
	}
	.pickup_title h2 span {
		font-size: 3.5vw;
	}
	.pickup_title h3 {
		padding: 6.667vw 6vw;
		font-size: 6.667vw;
	}
	.sp_pick_top_r {
		width: 62.222vw;
		height: 61.556vw;
	}
}
/*-----------------------------------------------------
	#medical
------------------------------------------------------*/
#medical {
	padding-bottom: 140px;
}
#medical h2 {
	margin-bottom: 60px;
}
@media screen and (max-width: 750px) {
	#medical {
		padding-bottom: 60px;
	}
	#medical h2 {
		margin-bottom: 40px;
	}
}
/*-----------------------------------------------------
	#price
------------------------------------------------------*/
#price {
	padding-bottom: 100px;
}
#price .wrap {
	width: 1150px;
	padding: 80px 108px;
	background: rgba(225, 215, 193, 0.60);
}
#price .flex {
	justify-content: space-between;
}
.price_l {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 45%;
	text-align: center;
}
.price_l img {
	max-width: 100%;
	height: auto;
}
.price_r {
	width: 50%;
}
#price h2 {
	margin-bottom: 40px;
	color: var(--text-color);
	text-align: left;
}
#price h2 span {
	background: none;
  -webkit-background-clip: initial;
  background-clip: initial;
  -webkit-text-fill-color: currentColor;
	color: var(--text-color);
}
.price_r p {
	margin-bottom: 40px;
	font-size: 20px;
	font-weight: 400;
	line-height: 2;
	letter-spacing: 0.1em;
}
.sp_price_none {
	display: none;
}
@media screen and (max-width: 1230px) {
	#price .wrap {
		width: calc(100% - 80px);
		padding: 60px 40px;
	}
}
@media screen and (max-width: 1000px) {
	.pc_price_none {
		display: none;
	}
	.sp_price_none {
		display: block;
	}
	.price_l {
		width: 100%;
		margin-bottom: 40px;
	}
	.price_r {
		width: 100%;
	}
	#price h2 {
		margin: 0 auto 40px;
		text-align: center;
	}
	#price .left {
		text-align: center !important;
	}
}
@media screen and (max-width: 750px) {
	#price {
		padding-bottom: 0;
	}
	#price .wrap {
		width: calc(100% - 40px);
		padding: 40px;
	}
	.price_r p {
		font-size: 14px;
		text-align: left;
	}
}
/*-----------------------------------------------------
	#post_list
------------------------------------------------------*/
#post_list {
	padding-bottom: 100px;
}
#post_list .wrap .flex {
	justify-content: space-between;
}
.post_list_child {
	width: 49%;
}
.post_list_child h2 {
	margin-bottom: 40px;
	font-size: 12px;
	text-align: left;
}
.post_list_child h2 span {
	font-size: 36px;
}
.post_item {
	margin-bottom: 30px;
}
.post_item a {
	justify-content: space-between;
}
.post_item .thumb {
	width: 140px;
}
.post_item .thumb img {
	width: 100%;
	height: 90px;
	object-fit: cover;
}
.post_item .text {
	width: calc(100% - 164px);
	padding-top: 10px;
}
.post_item .text .date {
	margin-bottom: 15px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.1em;
	color: var(--sub-color);
}
.post_item .text p {
	display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0.1em;
}
.post_list_child .right {
	margin-top: 40px;
}
@media screen and (max-width: 1000px) {
	.post_list_child {
		width: 100%;
	}
	.post_list_child:first-of-type {
		margin-bottom: 50px;
	}
}
@media screen and (max-width: 750px) {
	#post_list {
		padding-top: 60px;
		padding-bottom: 60px;
	}
	.post_list_child:first-of-type {
		margin-bottom: 60px;
	}
	.post_list_child h2 {
		margin-bottom: 20px;
		font-size: 12px;
		text-align: center;
	}
	.post_list_child h2 span {
		font-size: 30px;
	}
	.post_item {
		margin-bottom: 20px;
	}
	.post_item .thumb {
		width: 90px;
	}
	.post_item .thumb img {
		width: 100%;
		height: 53px;
		object-fit: cover;
	}
	.post_item .text {
		width: calc(100% - 110px);
		padding-top: 0;
	}
	.post_list_child .right {
		text-align: center !important;
	}
}

/*-----------------------------------------------------
	#hospital
------------------------------------------------------*/
#hospital {
	padding-top: 60px;
	padding-bottom: 60px;
	background: rgba(225, 215, 193, 0.60);
}
#hospital h2, #hospital h2 span {
	background: none;
  -webkit-background-clip: initial;
  background-clip: initial;
	color: var(--text-color);
  -webkit-text-fill-color: currentColor;
}
#hospital h2 {
	margin-bottom: 60px;
	text-align: center;
}
#hospital .swiper_clip {
	margin-bottom: 0;
}
.swiper02 {
	overflow: hidden;
}
#hospital .swiper-slide {
  position: relative;
	border: none;
}
#hospital .swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
	object-fit: cover;
}
.swiper02-button-next:after, .swiper02-button-prev:after {
  display: none;
}
#hospital .slide_button {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 100%;
}
.swiper02-button-next {
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}
.swiper02-button-prev {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
@media screen and (max-width: 750px) {
	#hospital  {
		padding-top: 40px;
		padding-bottom: 40px;
	}
	#hospital  h2 {
		margin-bottom: 40px;
	}
	#hospital .swiper_clip {
		padding: 0 50px;
	}
}