@charset "utf-8";

.img_bg_block {
	padding: 150px 0;
}

/*その他の追加変更 ここから*/
.under_page_wrap #wrapper {
	padding-top: 140px;
}

.m_ttl01 {
	margin-bottom: 50px;
	padding-bottom: 48px;
	background: url(../images/top/ttl_deco.png) center bottom / 180px no-repeat;
}

.m_ttl01 span {
	font-size: 8.3rem;
	line-height: 1.4;
}

.m_ttl01 em {
	font-size: 1.7rem;
	letter-spacing: 0.12em;
}

.m_txt p {
	line-height: 1.875;
	letter-spacing: 0.1em;
}

.m_txt p+p {
	margin-top: 1em;
}

.btn01 {
	--btn-height: 84px;
	--btn-width: 380px;
	--icon-right: 18px;
	--icon-size: 28px;
	font-size: 2rem;
	padding: 15px 50px 15px;
	width: fit-content;
}

.btn01:after {
	--border-gap: 7px;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
m_mv
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.m_mv {
	position: relative;
}

.m_mv img {
	width: 100%;
}

.m_mv_inner {
	position: relative;
}

.m_mv_main {
	position: relative;
	z-index: 1;
}

.m_mv_txt {
	position: absolute;
	top: 24.29%;
	left: 4.375%;
	z-index: 10;
	width: 28.125%;
	height: auto;
	aspect-ratio: 900/710;
}

.m_mv_official {
	position: absolute;
	z-index: 100;
	right: 20px;
	bottom: 30px;
	background: #fff;
	overflow: hidden;
	border-radius: 10px;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
t_message
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.t_message {
	margin-top: 60px;
	z-index: 11;

	&:before {
		left: auto;
		right: 0;
		width: calc(100% - 100px);
		height: calc(100% - 70px);
		background: #6fa0bd url(../images/top/message_bg.jpg) right top / cover no-repeat;
	}
}

.t_message .img_bg_block {
	padding: 50px 0 0;
}

.t_message_block {
	display: flex;
	gap: 70px;
}

.t_message_head {
	position: relative;
	flex: 1;

	&:before {
		top: -59px;
		right: -39px;
		width: 272px;
	}
}

.t_message_img01 {
	height: 100%;
	width: auto;
	margin-left: var(--over-margin);
}

.t_message_img02 {
	left: calc(var(--over-margin) - 64px);
	bottom: -49px;
	width: 401px;
}

.t_message_body {
	margin-top: 0;
	width: 530px;
	padding: 73px 0 183px;
}

.t_message_ttl {
	.txt01 {
		font-size: 2.8rem;
		margin-right: 26px;
		top: -0.1em;
	}

	.txt02 {
		font-size: 2rem;
		border-left: 2px solid var(--yellow);
		line-height: 1.1;
		padding-left: 19px;
	}
}

.t_message_catch {
	padding: 11px 0 19px;
	font-size: 2.4rem;
	line-height: 1.6;
	margin-top: 30px;
}

.t_message_txt {
	margin-top: 20px;
}

.t_message_btn {
	margin-top: 0;
	display: flex;
	gap: 40px;
	justify-content: center;
	position: absolute;
	bottom: 26px;
	z-index: 10;
	left: 0;
	width: 100%;

	.btn {
		margin: 0;
	}
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
t_sc
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.t_sc {
	margin-top: -70px;

	&::before {
		background: url(../images/top/sc_bg_top.png) center top / max(100%, 1600px) no-repeat;
	}

	&::after {
		bottom: min(-116px, calc((116 / 1600) * -100vw));
		background: url(../images/top/sc_bg_bottom.png) center bottom / max(100%, 1600px) no-repeat;
	}
}

.t_sc .img_bg_block {
	padding: 218px 0 127px;
}

.t_sc_block {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.t_sc_head {}

.t_sc_ttl {
	font-size: 3.1rem;
	line-height: 1.9;
	text-align: left;
}

.t_sc_body {
	flex: 1;
	max-width: 900px;
	margin-top: 0;

	.js_tabs_btns {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
	}

	.js_tabs_btn {
		gap: 15px;
		height: 90px;
		padding-bottom: 9px;
		cursor: pointer;

		.txt01 {
			font-size: 2.8rem;
		}

		.txt02 {
			font-size: 2.9rem;

			span {
				font-size: 1.6rem;
				margin-left: 10px;
			}
		}
	}
}

.t_sc_concern {
	padding: 50px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.t_sc_concern_item {
	padding: 0;
	aspect-ratio: 248/200;
	justify-content: center;
}

.t_sc_concern_list {
	gap: 10px;

	li {
		font-size: 1.6rem;
		line-height: calc(22/16);
		padding-left: 29px;

		&::before {
			top: 2px;
			width: 20px;
		}
	}
}

.t_sc_symptoms {
	display: flex;
	flex-wrap: wrap;
	gap: var(--gap-row) var(--gap-col);
	--gap-col: 12px;
	--gap-row: 12px;
	--col: 4;
	padding: 50px;
	justify-content: center;

	li {
		width: calc(100% / var(--col) - var(--gap-col) * (var(--col) - 1) / var(--col));
	}

	a {
		--border-gutter: 8px;
		border-radius: 10px;
		padding: 19px 21px 10px;
		min-height: 207px;

		&:after {
			bottom: 5px;
			right: 5px;
			width: 18px;
		}
	}
}

.t_sc_symptoms_img {
	width: 111px;
}

.t_sc_symptoms_ttl {
	font-size: 1.6rem;
	line-height: 1.4;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	text-align: center;
	flex-direction: column;
	margin-top: 5px;

	.txt02 {
		font-size: 1.3rem;
	}
}

.t_sc_symptoms_txt {
	line-height: 1.3;
	font-size: 1.4rem;
	margin-top: 4px;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
t_treatment
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.t_treatment {
	background: url(../images/top/treatment_bg.jpg) center / cover no-repeat;

	&:before {
		bottom: 266px;
		left: calc(50% - 450px);
		width: 438px;
		aspect-ratio: 438/369;
	}

	&:after {
		bottom: -127px;
		left: calc(50% + -84px);
		width: 438px;
		aspect-ratio: 438/369;
	}
}

.t_treatment .inner {}

.t_treatment .img_bg_block {
	padding: 214px 0 150px;
}

.t_treatment_ttl {}

.t_treatment_block {
	gap: 120px;
	margin-top: 99px;
}

.t_treatment_item {}

.t_treatment_item01 {
	&:before {
		top: -244px;
		left: auto;
		right: -110px;
		width: 438px;
	}
}

.t_treatment_item02 {
	&:before {
		top: -223px;
		left: -160px;
		right: auto;
		width: 436px;
	}
}

.t_treatment_item03 {
	&:before {
		top: -244px;
		left: auto;
		right: -110px;
		width: 438px;
	}
}

.t_treatment_item_in {
	display: flex;
	flex-direction: row;
	gap: 95px;

	.t_treatment_item:nth-of-type(2n) & {
		flex-direction: row-reverse;
	}
}

.t_treatment_item_head {
	flex: 1;
	z-index: 1;

	&::before {
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 868px;
	}
}

.t_treatment_item_img {
	position: relative;
	z-index: 10;
}

.t_treatment_item_body {
	width: 370px;
	position: relative;
	z-index: 10;
}

.t_treatment_item_ttl {
	font-size: 2.3rem;
	padding: 17px;
}

.t_treatment_item_txt {
	margin-top: 20px;
}

.t_treatment_item_points {
	display: flex;
	gap: 20px;
	justify-content: center;
	margin-top: 0;
	position: absolute;
	right: 0;
	bottom: -29px;

	.t_treatment_item:nth-of-type(2n) & {
		left: 0;
		right: auto;
	}

	li {
		width: 190px;
		background: url(../images/top/treatment_point.png) center / 100% no-repeat;
		font-size: 2.2rem;
		line-height: 1.5;
		filter: drop-shadow(8px 8px 0px rgba(0, 0, 0, 0.1));
		padding-left: 8px;
	}
}

.t_treatment_item_btn {
	margin-top: 80px;
}

.t_treatment_bnrs {
	margin-top: 98px;
	grid-template-columns: repeat(2, 1fr);
	gap: 60px;
}

.t_treatment_bnr {
	border-radius: 10px;
	background: #fff;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
t_age
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.t_age {
	background: url(../images/top/age_bg.jpg) center / 184px;

	&:before {
		background: url(../images/top/age_leaf01.png) center top / max(100%, 1600px) no-repeat,
			url(../images/top/age_leaf02.png) center bottom / max(100%, 1600px) no-repeat;
	}
}

.t_age .img_bg_block {
	padding: 121px 0 150px;
}

.t_age_ttl {
	width: 417px;
	margin: 0;
	position: relative;
	left: -35px;
}

.t_age_block {
	grid-template-columns: repeat(4, 1fr);
	gap: 32px;
	margin-top: 10px;
}

.t_age_item {
	position: relative;
	background: #fff;
	border-radius: 30px;

	&:before {
		top: 50%;
		left: 99.5%;
		z-index: 1;
		transform: translate(0, -50%);
		width: 24px;
		aspect-ratio: 24 / 60;
		-webkit-clip-path: polygon(0 0, 100% 50%, 0 100%);
		clip-path: polygon(0 0, 100% 50%, 0 100%);
	}

	&:last-of-type:before {
		display: none;
	}
}

.t_age_item_in {
	border: 4px solid var(--main-color);
	border-radius: 30px;
	flex-direction: column;
	overflow: hidden;
}

.t_age_item_head {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 158px;

	figure {
		width: 208px;
	}
}

.t_age_item_ttl {
	font-size: 2.4rem;
	padding: 3px 0 5px 8px;
	border-radius: 0;

	span {
		padding-right: 44px;

		&:before {
			width: 28px;
		}
	}
}

.t_age_btn {
	margin-top: 30px;
	display: flex;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
t_feature
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.t_feature {
	background: url(../images/top/feature_bg01.jpg) center top / max(100%, 1600px) no-repeat;

	&:before {
		width: 306px;
	}

	&:after {
		width: 564px;
	}
}

.t_feature .img_bg_block {
	padding: 130px 0 145px;
}

.t_feature_ttl {}

.t_feature_block {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 17px 80px;
	margin-top: 64px;
}

.t_feature_item {}

.t_feature_item_head {
	padding-bottom: 32px;
}

.t_feature_item_imgs {
	--shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.15);
	padding-top: 36px;
}

.t_feature_item_imgs .img01 {
	width: 480px;
}

.t_feature_item_imgs .img02 {}

.t_feature_item:nth-of-type(2n) {
	.t_feature_item_ttls {}

	.t_feature_item_ttls .ttl {}
}

.t_feature_item.item01 {
	.t_feature_item_imgs .img01 {
		&:before {
			top: -34px;
			right: -42px;
			width: 209px;
		}
	}

	.t_feature_item_imgs .img02 {
		top: 0;
		left: 27px;
		width: 270px;
	}
}

.t_feature_item.item02 {
	padding-top: 28px;

	.t_feature_item_imgs {
		padding-top: 58px;
	}

	.t_feature_item_imgs .img01 {
		&:before {
			top: -54px;
			left: 211px;
			width: 60px;
		}
	}

	.t_feature_item_imgs .img02 {
		top: 0;
		right: -33px;
		width: 260px;
	}

	.t_feature_item_ttls .num {
		left: 10px;
	}
}

.t_feature_item.item03 {
	.t_feature_item_head {
		padding-bottom: 0;
	}

	.t_feature_item_imgs {
		padding-top: 0;
		padding-bottom: 30px;
		padding-right: 0;
	}

	.t_feature_item_imgs .img01 {
		margin-left: auto;

		&:before {
			top: -48px;
			left: -73px;
			width: 202px;
			aspect-ratio: 404/258;
			z-index: 2;
			background: url(../images/top/feature_tape03.png) center / 100% no-repeat;
		}
	}

	.t_feature_item_imgs .img02 {
		bottom: -13px;
		right: -31px;
		width: 190px;
	}

	.t_feature_item_ttls .num {}
}

.t_feature_item.item04 {
	.t_feature_item_imgs {
		padding-left: 0;
		padding-top: 49px;
	}

	.t_feature_item_imgs .img01 {
		&:before {
			top: -33px;
			left: 137px;
			width: 209px;
			aspect-ratio: 418/113;
		}
	}

	.t_feature_item_imgs .img02 {
		top: 10px;
		left: -35px;
		width: 169px;
	}

	.t_feature_item_ttls .num {
		left: 10px;
	}
}

.t_feature_item_ttls {
	bottom: 0;
	left: 0;
}

.t_feature_item_ttls .num {
	position: relative;
	left: -10px;

	img {
		width: auto;
		height: 86px;
	}
}

.t_feature_item_ttls .ttl {
	gap: 5px;
	margin-top: 25px;

	span {
		border-radius: 50px;
		padding: 2px 30px;
		font-size: 2.5rem;
		letter-spacing: 0.075em;
	}

	img {
		width: 200px;
		top: -46px;
		left: -98px;
	}
}

.t_feature_item_body {
	margin-top: 30px;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
t_column
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.t_column {
	margin-top: 50px;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
t_clinic
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.t_clinic {
	background: url(../images/top/clinic_bg.jpg) center / cover no-repeat;
	position: relative;
	isolation: isolate;

	&:before {
		left: 50%;
		transform: translateX(-50%);
		width: max(100%, 1600px);
	}
}

.t_clinic .img_bg_block {
	padding: max(143px, calc(60px + 5vw)) 0 150px;
}

.t_clinic_block {
	display: flex;
	gap: 70px;
}

.t_clinic_head {
	width: 430px;
}

.t_clinic_logo {
	span {
		font-size: 1.8rem;
	}

	img {
		margin-top: 14px;
		width: 100%;
	}
}

.t_clinic_data {
	margin-top: 20px;
}

.t_clinic_data .txt01 {
	letter-spacing: 0.12em;
}

.t_clinic_data .txt02 {}

.t_clinic_cta {
	gap: 15px;
	margin-top: 10px;
}

.t_clinic_cta .tel {}

.t_clinic_cta .web {}

.t_clinic_body {
	margin-top: 0;
	flex: 1;
	padding-top: 10px;
}

.t_clinic_hosoku {
	margin-top: 15px;
	font-size: 1.6rem;
}

.t_clinic_bnrs {
	margin-top: 60px;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 60px;
}

.t_clinic_bnr {
	border-radius: 10px;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
t_insta
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.t_insta {}

.t_insta .img_bg_block {
	padding: 14px 0;
}

.t_insta_wrap {
	position: relative;
}

.t_insta_btn {
	width: 100px;
}

.t_insta_block {
	position: relative;
	z-index: 1;
}

.t_insta #sbi_images {
	gap: 14px !important;
	grid-template-columns: repeat(6, 1fr) !important;
	padding: 0 14px !important;
	margin: 0 !important;
}

.t_insta #sb_instagram.sbi_width_resp {
	padding: 0 !important;
}