@charset "utf-8";

/*++++++++++++++++++++++++++++
l_mv
++++++++++++++++++++++++++++*/
.l_mv {
	padding-bottom: 4rem;
	padding-top: 10rem;;
	background: url(../images/top/mv_bg.jpg) center / cover no-repeat;
}

.l_mv:before {
	height: 36.5rem;
}

.l_mv_inner {
	position: relative;
	height: 96rem;
}

.l_mv_slider_item {}

.l_mv_slider02 {
}

.l_mv_catch {
	min-height: 50.2rem;
	padding-left: 7rem;
	padding-top: 8.7rem;

	.txt01 {
		font-size: 2.2rem;
	}

	.txt02 {
		font-size: 3.8rem;
	}

	.txt03 {
		font-size: 1.8rem;
		margin-top: 2rem;
	}
}

.l_mv_img_slider_wrap {
	padding-left: 0;
	position: absolute;
	width: calc(100% - 67rem);
	top: 0;
	right: 0;
	z-index: 10;
}

.l_mv_img {
	height: 80rem;
}

.l_mv_budges {
	width: 26rem;
	height: 21rem;
	right: 3rem;
	top: 3rem;
	bottom: auto;
}

.l_mv_budge {
	width: 15rem;
}

.l_mv_budge02 {
	bottom: 0;
	top: auto;
	left: auto;
	right: 0;
}

.l_mv .swiper-pagination {
	--progress: 1;
	--gap: 3rem;
	margin: 2rem 0 0;
	min-height: 1rem;
}

.l_mv .swiper-pagination span {
	width: 0.5rem;
}

.l_mv .swiper-pagination .swiper-pagination-bullet-active {
	width: 1rem;
}

.l_mv .swiper-pagination .swiper-pagination-bullet-active:before {
	top: 0.4rem;
}

.l_mv_slider03 {
	margin: 0;
	overflow: visible;
}

.l_mv_points {}

.l_mv_points {
	padding: 0;
	display: grid;
	gap: 0.5rem;

	li {
		isolation: isolate;
		width: 60rem;
		transition: var(--default-transition);

		&:before {
			left: 1.5rem;
			width: 8rem;
			height: 6.6rem;
			transition: var(--default-transition);
		}

		&:after {
			content: '';
			display: block;
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			z-index: -1;
			background: var(--bg-url) right top / auto 100% no-repeat;
			opacity: 0;
			transition: var(--default-transition);
		}

		&:hover {
			width: 62rem;
			background: var(--green_03);

			&:before {
				left: 2.5rem;
			}

			&:after {
				opacity: 0.15;
			}

			a {
				--circle-color: #fff;
				padding: 1.4rem 6.7rem 1.4rem 13.5rem;
				color: #fff;
			}
		}
	}

	a {
		--icon-url: url(../images/icon_arrow.svg);
		--icon-color: var(--green_03);
		--icon-size: 1.6rem;
		--circle-size: 3.2rem;
		--circle-color: var(--lightgrey_01);
		padding: 1.4rem 6.7rem 1.4rem 11.5rem;
		min-height: 9.6rem;
		color: var(--green_03);
		font-size: 1.9rem;
		width: 100%;

		&:hover {
			opacity: 1;
		}

		&:before {
			right: 2.3rem;
			transition: var(--default-transition);
		}

		&:after {
			right: 1.5rem;
			transition: var(--default-transition);
		}
	}
}

/*++++++++++++++++++++++++++++
t_reason
++++++++++++++++++++++++++++*/
.t_reason {
	margin-top: -13.9rem;
}

.t_reason .inner {
	max-width: var(--inner-width04);
}

.t_reason:before {
	height: 27rem;
}

.t_reason:after {
	top: 27rem;
	left: auto;
	right: 0;
	width: 50rem;
	aspect-ratio: 500/700;
	z-index: -1;
	background: url(../images/top/reason_bg01.png) center / cover no-repeat;
}

.t_reason .inner {
	padding: 0 var(--inner-padding);
}

.t_reason_head {}

.t_reason_en {
	width: 93rem;
	left: auto;
	top: 0.4rem;
	right: calc(var(--over-margin04) + 7.1rem);
}

.t_reason_ttl {
	padding-right: 4.7rem;
}

.t_reason_ttl span {
	font-size: 2.6rem;
}

.t_reason_ttl picture {
	width: 29rem;
	margin-top: -1.8rem;
	position: relative;
	left: -0.7rem;
}

.t_reason_body {
	margin-top: 6rem;
}

.m_reason {
	display: flex;
	position: relative;
	isolation: isolate;

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

	&:nth-of-type(2) {
		&:before {
			content: '';
			display: block;
			position: absolute;
			top: 0;
			left: var(--over-margin04);
			width: 50rem;
			aspect-ratio: 1000/1400;
			z-index: -1;
			background: url(../images/top/reason_bg02.png) center / cover no-repeat;
		}
	}

	&:nth-of-type(3) {
		&:before {
			content: '';
			display: block;
			position: absolute;
			top: 0;
			right: var(--over-margin04);
			width: 50rem;
			aspect-ratio: 1000/1400;
			z-index: -1;
			background: url(../images/top/reason_bg03.png) center / cover no-repeat;
		}
	}
}

.m_reason+.m_reason {
	margin-top: 6rem;
}

.m_reason_head {
	width: 20rem;
}

.m_reason_img {
	height: 100%;
	margin-left: var(--over-margin04);

	.m_reason:nth-of-type(2n) & {
		margin-right: var(--over-margin04);
		margin-left: 0;
	}
}

.m_reason_body {
	flex: 1;
	padding: 6rem 8rem;
	overflow: visible;
}

.m_reason_num {
	display: flex;
	flex-direction: column;
	align-items: center;
	color: #fff;
	gap: 1rem;
	width: 7.2rem;
	position: absolute;
	left: 12.9rem;
	top: 2.1rem;

	.m_reason:nth-of-type(2n) & {
		right: 12.8rem;
		left: auto;
	}
}

.m_reason_num span {
	font-family: var(--font-num);
	font-size: 2.4rem;
	line-height: 1;
	letter-spacing: 0.04em;
}

.m_reason_num em {
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	/* padding-left: 0.4rem; */
	font-family: var(--font-en);
	font-size: 1.8rem;
	line-height: 1;
	font-weight: 500;
	letter-spacing: 0.12em;
	padding-top: 7rem;
	position: relative;
}

.m_reason_num em:before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 1px;
	height: 6rem;
	z-index: 1;
	background: rgba(255, 255, 255, 0.3);
}

.m_reason_ttl {}

.m_reason_ttl .num {
	width: 12rem;
	padding: 1.4rem 0 1rem 0.4rem;
}

.m_reason_ttl .num span {
	padding-left: 0.4rem;
	font-size: 1.7rem;
}

.m_reason_ttl .num em {
	font-size: 9.4rem;
	margin-top: -0.2em;
}

.m_reason_ttl .en {
	display: none;
}

.m_reason_ttl .ja {
	width: auto;
	flex: 1;
	border-top: 0;
	padding: 2rem 3rem 1.8rem;
	font-size: 2.5rem;
}

.m_reason_content {
	margin-top: 5rem;
}

.m_reason_slider {
	overflow: visible;
	width: 100%;
	margin: 0;
}

.m_reason .swiper-wrapper {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 5rem 2rem;
	width: 100%;
}

.m_reason .m_reason_slider_col03 .swiper-wrapper {
	grid-template-columns: repeat(3, 1fr);
	gap: 5rem 2rem;

	.m_reason_item_img {
		height: 13rem;
	}
}

.m_reason .swiper-slide {
	height: auto;
}

.m_reason .swiper-pagination {
	display: none;
}

.m_reason_item {
	padding-bottom: 0;

	/* overflow: hidden; */
	&:hover {
		opacity: 1;
		color: var(--green_03);

		.m_reason_item_img {
			&:before {
				opacity: 1;
			}

			&:after {
				opacity: 1;
			}

			img {
				opacity: 0.5;
				scale: 1.1;
			}
		}
	}
}

.m_reason_item_img {
	height: 18rem;
	position: relative;
	background: var(--dark_gray_02);

	img {
		z-index: 1;
		width: 101%;
	}

	&:before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		z-index: 5;
		border: 1rem solid rgba(255, 255, 255, 0.3);
		opacity: 0;
	}

	&:after {
		content: 'MORE';
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		width: fit-content;
		height: 3.6rem;
		z-index: 5;
		transform: translate(-50%, -50%);
		font-family: var(--font-num);
		color: #fff;
		font-weight: 500;
		font-size: 2rem;
		letter-spacing: 0.12em;
		line-height: 1.8;
		padding: 0 0.5rem;
		border-width: 1px 0 1px 0;
		border-style: solid;
		border-color: rgba(255, 255, 255, 0.3);
		opacity: 0;
	}

	&:hover {}
}

.m_reason_item_budge {
	top: -3.7rem;
	right: 1.4rem;
	width: 15.8rem;
}

.m_reason_item_txt {
	font-size: 1.7rem;
	margin-top: 1.5rem;
}

.m_reason_item_hosoku {
	font-size: 1.5rem;
	margin-top: 1.4rem;
}

/*++++++++++++++++++++++++++++
t_wrap_txt
++++++++++++++++++++++++++++*/
.t_wrap_txt {
	margin-top: 4rem;
	padding-bottom: 4rem;
}

.t_wrap_txt ul li {
	font-size: 16rem;
	padding: 0 4rem;
}

/*++++++++++++++++++++++++++++
t_news
++++++++++++++++++++++++++++*/
.t_news {
	padding: 8rem 0 3.7rem;
}

.t_news .inner {
	max-width: var(--inner-width02);
}

.t_news:before {
	width: calc(16.7rem - var(--over-margin02));
}

.t_news_block {}

.t_news_ttl {
	gap: 1.3rem;
}

.t_news_ttl span {
	font-size: 3.2rem;
}

.t_news_ttl em {
	font-size: 1.8rem;
}

.t_news_list {
	margin-top: 4rem;
}

.m_news {
	padding: 0 2.5rem;
}

.m_news+.m_news {}

.m_news_head {
	cursor: pointer;

	&:hover {
		color: var(--green_03);

		&:before {
			background: var(--green_03);
			color: #fff;
		}

		.m_news_ttl:before,
		.m_news_ttl:after {
			background: #fff;
		}
	}
}

.m_news_head:before {
	content: 'MORE';
	top: 50%;
	width: 9.8rem;
	aspect-ratio: 98/36;
	border-radius: 2rem;
	transform: translateY(-50%);
	font-family: var(--font-num);
	color: var(--green_03);
	font-size: 1.5rem;
	letter-spacing: 0.12em;
	line-height: 1.8;
	font-weight: 500;
	padding: 0.5rem 0 0.4rem 1.6rem;
	transition: var(--default-transition);
}

.m_news_ttl {
	padding: 2.2rem 11.8rem 2.2rem 0;
	font-size: 1.8rem;
}

.m_news_ttl:before,
.m_news_ttl:after {
	right: 1.6rem;
	width: 1.2rem;
}

.m_news_body {}

.m_news_body p {
	font-size: 1.6rem;
}

/*++++++++++++++++++++++++++++
t_clinic
++++++++++++++++++++++++++++*/
.t_clinic {
	padding: 4rem 0 0;
}

.t_clinic .inner {
	max-width: var(--inner-width02);
}

.t_clinic_ttl {
	color: #fff;
	font-size: 1.8rem;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	position: absolute;
	left: 8rem;
	top: 6rem;
	z-index: 11;
}

.t_clinic_block {
	position: relative;
	isolation: isolate;
	display: flex;
	flex-direction: row-reverse;
	gap: 12rem;
}

.t_clinic_block:before {
	top: 23.8rem;
	left: calc(100% - 20rem);
	width: 85rem;
	height: 45rem;
	border-radius: 30rem;
}

.t_clinic_body {
	width: 78rem;
	padding: 6rem 0;
}

.t_clinic_body_top {
	display: flex;
	gap: 3.3rem;
	align-items: flex-start;
}

.l_clinic_data {}

.l_clinic_data_table {}

.l_clinic_data_table {
	display: block;
	margin-top: 0;
}

.l_clinic_data_table tbody {
	gap: 1.7rem;
}

.l_clinic_data_table th {
	font-size: 1.4rem;
}

.l_clinic_data_table td {
	font-size: 1.6rem;
}

.l_clinic_time {
	padding: 2.5rem;
	margin: 0;
	flex: 1;
}

.l_clinic_time .m_timetable {
	--col-size: 9.3%;

	tbody td {
		padding: 0.9rem 0 1.1rem 0;
	}

	tbody th {
		padding: 1.3rem 0 1.1rem 0;
	}
}

.t_clinic_body_bottom {}

.t_clinic_body_bottom_ttl {}

.t_clinic_body_bottom_ttl {
	font-size: 1.8rem;
	padding-left: 2rem;
	margin-bottom: 1.5rem;
}

.t_clinic_body_bottom {
	margin: 4rem 0 0;
}

.t_clinic_body_bottom_table {
	padding: 2.3rem 2.5rem 2.5rem;
}

.t_clinic_body_bottom_hosoku {}

.t_clinic .m_table_scroll {
	overflow-x: auto;
	margin-left: 0;
	margin-right: 0;
	padding-bottom: 0;
}

.t_clinic .m_table_scroll:before {
	display: none;
}

.t_clinic .m_table_scroll .m_part_table {
	width: 100%;
}

.t_clinic {
	.m_part_table {
		--col-size: 11.54%;
	}
}

.m_part_table {
	--col-size: 10.64%;
	background: #fff;
}

.t_clinic_body_bottom_hosoku {
	margin-top: 1.5rem;
	display: flex;
	gap: 4rem;
}

.t_clinic_body_bottom_hosoku .m_part_table_hosoku {
	margin-top: 0;
}

.m_part_table_hosoku {
	margin-top: 1.5rem;
}

.t_clinic_img {
	width: auto;
	margin: 0;
	border-radius: 0;
	flex: 1;
	overflow: visible;
}

.t_clinic_img .oft {
	height: 100%;
	margin-left: var(--over-margin02);
	/* width: 100%; */
	border-radius: 0 25rem 0 0;
}

/*++++++++++++++++++++++++++++
t_notes
++++++++++++++++++++++++++++*/
.t_notes {
	padding: 6rem 0;
}

.t_notes .inner {
	max-width: var(--inner-width02);
}

.t_notes:before {
	height: 27rem;
	background: url(../images/top/note_bg.jpg) center / cover no-repeat;
}

.t_notes_head {}

.t_notes_ttl {
	gap: 0.9rem;
}

.t_notes_ttl span {
	font-size: 3.2rem;
}

.t_notes_ttl em {
	font-size: 1.8rem;
}

.t_note_first {
	margin-top: 4rem;
	display: flex;
	flex-direction: row-reverse;

	&:hover {
		opacity: 1;

		.t_note_first_body {
			background: var(--dark_gray_02);
		}

		.t_note_first_head .off {
			opacity: 0;
		}

		.t_note_first_head .on {
			opacity: 1;
		}

		.t_note_first_more {
			--icon-color: var(--green_03);
			--circle-color: rgba(255, 255, 255, 1);
			padding-left: 4.8rem;
			color: #fff;
		}
	}
}

.t_note_first_head {
	width: 50%;
}

.t_note_first_head figure {
	height: 16rem;
}

.t_note_first_body {
	padding: 1.5rem 3rem;
	flex: 1;
	display: flex;
	align-items: center;
}

.t_note_first_ttl {
	display: flex;
	flex-direction: column;
	color: #fff;
}

.t_note_first_ttl span {
	font-size: 2.2rem;
}

.t_note_first_ttl em {
	font-size: 1.8rem;
}

.t_note_first_more {
	--icon-url: url(../images/icon_arrow.svg);
	--icon-color: #fff;
	--icon-size: 1.8rem;
	--circle-size: 3.8rem;
	--circle-color: rgba(255, 255, 255, 0.15);
	width: fit-content;
	font-size: 1.5rem;
	padding-left: 3.4rem;
	margin-left: 2rem;
	color: transparent;
}

.t_note_first_more:before {
	left: 1rem;
}

.t_notes_body {
	margin-top: 5rem;
}

.m_note {
	background: transparent;
	padding: 0;
}

.m_note+.m_note {
	margin-top: 5rem;
}

.m_note_head {
	position: relative;
	display: flex;
	align-items: center;
	gap: 2rem;
}

.m_note_head:before {
	display: none;
}

.m_note_head:after {
	content: '';
	display: block;
	flex: 1;
	height: 1px;
	z-index: 1;
	background: var(--green_03);
}

.m_note_ttl {
	padding: 0;
	font-size: 2.4rem;
	color: var(--green_03);
}

.m_note_ttl:before,
.m_note_ttl:after {
	display: none;
}

.m_note_body {
	border-top: 0;
	padding: 0;
	display: block !important;
	margin-top: 2.4rem !important;
	height: auto !important;
}

.m_note_box {
	background: #fff;
	padding: 2.4rem;
}

.m_note_box+.m_note_box {
	margin: 2rem 0 0;
}

.m_note_box p {
	font-size: 1.6rem;
}

.m_note_box_ttl {
	font-size: 1.8rem;
	padding: 0.3rem 1rem;
}

.m_note_col {
	margin-top: 3rem;
	grid-template-columns: repeat(2, 1fr);
}

.m_note_col_box {
	padding: 2.4rem;
}

.m_note_box .m_note_col_box .en {
	line-height: 1.8;
}

.m_note_box .m_note_col_box p {
	line-height: 2;
}

/*++++++++++++++++++++++++++++
t_menu
++++++++++++++++++++++++++++*/
.t_menu {}

.t_menu .inner {
	max-width: var(--inner-width02);
}

.t_menu_mv {
	height: 40rem;
}

.t_menu_head {
	padding-top: 8.2rem;
	height: 26rem;
}

.t_menu_head:before {
	width: calc(16.5rem - var(--over-margin02));
	background: url(../images/top/menu_bg02.jpg) center / cover no-repeat;
}

.t_menu_ttl {
	padding-bottom: 3rem;
}

.t_menu_ttl span {
	font-size: 3.2rem;
}

.t_menu_ttl em {
	font-size: 1.8rem;
	margin-top: 1rem;
}

.t_menu_ttl:before {
	height: 10rem;
}

.t_scope {
	margin: 0 auto;
	width: calc(100% - 2rem);
}

.t_scope:before {
	top: -47rem;
	left: calc(50% - 85rem);
	width: 45rem;
	height: 85rem;
}

.t_scope:after {
	top: 8rem;
	left: 50%;
	width: 50%;
	aspect-ratio: 1900/1700;
	background: url(../images/top/menu_bg03.png) center / 100% no-repeat;
	border-radius: 20rem 0 0 0;
}

.t_scope_head {
	padding-top: 8rem;
}

.t_scope_ttl {
	padding-bottom: 0;
}

.t_scope_ttl span {
	font-size: 4rem;
}

.t_scope_ttl em {
	font-size: 2rem;
}

.t_scope_txt {
	font-size: 1.6rem;
	margin-top: 4rem;
	width: 75rem;
}

.t_scope_body {
	padding-bottom: 8rem;
	margin-top: 8rem;
}

.t_scope_body .inner {
	padding: 0 var(--inner-padding);
}

.t_scope_item {
	padding: 5rem 2.5rem;
}

.t_scope_item:before {
	left: 50%;
	transform: translateX(-50%);
	width: calc(100% - var(--over-margin02) * 2 - 4rem * 2);
	height: 100%;
}

.t_scope_item_head {
	display: flex;
}

.t_scope_item_ttl {
	padding-top: 13.5rem;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	flex: 1;
}

.t_scope_item_ttl:before {
	left: 0;
	width: 12rem;
	transform: none;
}

.t_scope_item_ttl:after {
	top: 2.3rem;
	left: 2.3rem;
	width: 7.4rem;
	transform: none;
}

.t_scope_item_ttl span {
	font-size: 3.2rem;
}

.t_scope_item_ttl em {
	font-size: 1.8rem;
}

.t_scope_item_list {
	margin-top: 0;
	width: 77rem;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0 3rem;
}

.t_scope_item_list a {
	--icon-color: var(--main-font-color);
	--icon-size: 1.2rem;
	--circle-size: 2rem;
	font-size: 1.6rem;
	padding: 1.5rem 4rem 1.4rem 0;

	&:hover {
		opacity: 1;
		--icon-color: #fff;
		padding: 1.5rem 3rem 1.5rem 1rem;

		&:after {
			background: var(--black_logo);
		}
	}
}

.t_scope_item_list a:before {
	right: 0.4rem;
}

.t_scope_item_menus {
	--col: 4;
	margin-top: 7rem;
	grid-template-columns: repeat(var(--col), 1fr);

	.item {
		--icon-url: url(../images/icon_arrow.svg);
		--icon-color: #fff;
		--icon-size: 1.2rem;
		--circle-size: 2rem;
		min-height: 20rem;

		&:before {
			bottom: 1.4rem;
			right: 1.4rem;
		}

		&:after {
			bottom: 1rem;
			right: 1rem;
			background: rgba(255, 255, 255, 0.2);
		}

		&:hover {
			--icon-color: var(--black_logo);
			opacity: 1;

			&:after {
				background: #fff;
			}

			.img {
				opacity: 0.8;

				img {
					transform: translate(-50%, -50%) scale(1.1);
				}
			}
		}
	}

	.img {
		width: 101%;
	}

	.ttl {
		font-size: 1.8rem;
	}
}

.t_scope_item_eirl {
	background: #E8F4F5 url(../images/top/colon_eirl01.jpg) center top / cover no-repeat;
	padding: 3rem 0 3rem 3rem;
	margin-top: 7rem;

	.budge {
		top: -3.6rem;
		right: 1.5rem;
		width: 15.6rem;
	}

	.txt01 {
		font-size: 2.1rem;
		max-width: 76rem;
	}

	.txt02 {
		font-size: 1.6rem;
		margin-top: 1rem;
		max-width: 70rem;
	}

	.btn {
		--icon-url: url(../images/icon_arrow.svg);
		--icon-color: #fff;
		--icon-size: 1.2rem;
		--circle-size: 2rem;
		--circle-color: rgba(255, 255, 255, 0.15);
		--icon-right: 1.5rem;
		position: absolute;
		bottom: 0;
		right: 0;
		width: 22rem;
		font-size: 1.6rem;
		padding: 1.2rem 0 1.2rem 1.5rem;
		min-height: 5.6rem;
		margin: 0;
		border-radius: 0.5rem 0 0 0;

		&:hover {
			opacity: 1;
			--circle-color: var(--green_03);
			background: #fff;
			color: var(--green_03);
		}
	}

	.btn:before {
		right: calc(0.4rem + var(--icon-right));
	}
}

/*++++++++++++++++++++++++++++
t_treatment
++++++++++++++++++++++++++++*/
.t_treatment {
	padding: 8rem 0;
	margin-top: 0;
}

.t_treatment .inner {
	max-width: var(--inner-width02);
}

.t_treatment:before {
	top: -44rem;
	left: calc(50% - 85rem);
	width: 45rem;
	height: 85rem;
}

.t_treatment:after {
	width: calc(16.7rem - var(--over-margin02));
	background: url(../images/top/treatment_bg01.jpg) center / cover no-repeat;
}

.t_treatment .inner {}

.t_treatment .inner:before {
	width: 54rem;
	aspect-ratio: 1080/740;
	background: url(../images/top/treatment_bg02.jpg) center / cover no-repeat;
}

.t_treatment_item {
	position: relative;
}

.t_treatment_item+.t_treatment_item {
	margin-top: 8rem;
}

.t_treatment_item_head {
	width: 64rem;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 1;

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

.t_treatment_item_img {
	--img-gap: 4rem;
}

.t_treatment_item_body {
	margin-top: 0;
	position: relative;
	z-index: 10;

	.t_treatment_item:nth-of-type(2n) & {
		margin-left: auto;
		width: fit-content;
	}
}

.t_treatment_item_ttl {
	font-size: 4rem;
	width: 50rem;

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

.t_treatment_item_txt {
	margin-top: 4rem;
	font-size: 1.6rem;
	width: 50rem;

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

.t_treatment_item_btns {
	display: flex;
	margin-top: 4rem;
	gap: 0.5rem;
}

.t_treatment_item_btn {
	--gap: 0.8rem;
	width: 19rem;
	aspect-ratio: 1/1;

	& a:hover {
		opacity: 1;
		background: var(--dark_gray_01);
		color: #fff;

		span:before {
			background: #fff;
		}
	}
}

.t_treatment_item_btn:before,
.t_treatment_item_btn:after,
.t_treatment_item_btn p:before,
.t_treatment_item_btn p:after {
	width: 3rem;
}

.t_treatment_item_btn a {
	display: flex;
	align-items: center;
	padding: 0;
	min-height: auto;
	aspect-ratio: 1/1;
	justify-content: center;
	font-size: 2rem;
}

.t_treatment_item_btn a:after,
.t_treatment_item_btn a:before {
	display: none;
}

.t_treatment_item_btn a em {
	font-size: 1.5rem;
}

.t_treatment_item_btn a span {
	align-items: center;
}

.t_treatment_item_btn a span:before {
	top: 0;
	left: 0;
	width: 7rem;
	transform: none;
	position: relative;
	margin-bottom: 1.2rem;
}

/*++++++++++++++++++++++++++++
t_trouble
++++++++++++++++++++++++++++*/
.t_trouble {
	background: url(../images/top/trouble_bg.jpg) center top / cover no-repeat;
	padding: 6rem 0 5.2rem;
}

.t_trouble .inner {
	padding: 0 var(--inner-padding);
	max-width: var(--inner-width02);
}

.t_trouble_ttl {
	display: flex;
	flex-direction: column;
	align-items: center;
	color: #fff;
}

.t_trouble_ttl span {
	font-size: 3.2rem;
}

.t_trouble_ttl em {
	font-size: 1.8rem;
	margin-top: 1rem;
}

.t_trouble_block {
	padding: 6rem 8.5rem;
	margin: 3.2rem -0.8rem 0;
}

.t_trouble_tabs_btns {
	display: flex;
	justify-content: center;
	position: relative;
	align-items: flex-end;
}

.t_trouble_tabs_btns:after,
.t_trouble_tabs_btns:before {
	width: 3.5rem;
}

.t_trouble_tabs_btn {
	border-radius: 1rem 1rem 0 0;
	border-bottom: 2px solid #fff;
	flex: 1;
	padding: 1.2rem 0 2rem;
	font-size: 2.1rem;

	&:before,
	&:after {
		top: 0;
		width: 1px;
		height: calc(100% + 2px);
	}

	&.on {
		border-color: #fff;
		border-bottom-color: transparent;

		&:before,
		&:after {
			background: #fff;
		}
	}
}

.t_trouble_body {
	margin-top: 3rem;
}

.js_tabs_item {
	display: none !important;
}

.js_tabs_item.on {
	display: block !important;
}

.t_trouble_list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.5rem;
}

.t_trouble_list a {
	--icon-color: var(--green_03);
	--icon-size: 1.2rem;
	--circle-size: 2rem;
	--circle-color: var(--green_03);
	--icon-right: 1.5rem;
	font-size: 1.9rem;
	min-height: 6.4rem;
	padding-right: 0;

	&:hover {
		--icon-color: #fff;
		--circle-color: #fff;
		color: #fff;
		background: var(--dark_gray_01);
		opacity: 1;
	}
}

/*++++++++++++++++++++++++++++
t_slider
++++++++++++++++++++++++++++*/
.t_slider {
	width: 100%;
	margin: 0;
	--gap: 0rem;
	margin-left: 0;
}

.t_slider_item figure {
	width: 54rem;
	aspect-ratio: 540/360;
}

/*++++++++++++++++++++++++++++
t_greeting
++++++++++++++++++++++++++++*/
.t_greeting {
	padding: 8rem 0 0;
}

.t_greeting:before {
	top: -43rem;
	left: calc(50% - 85rem);
	width: 45rem;
	height: 85rem;
}

.t_greeting:after {
	width: calc(16.7rem - var(--over-margin02));
	background: url(../images/top/greeting_bg01.jpg) center / cover no-repeat;
}

.t_greeting .inner {
	max-width: var(--inner-width02);
}

.t_greeting_block {
	display: flex;
	gap: 8rem;
}

.t_greeting_ttl {
	right: 0;
	top: 0.9rem;
	gap: 0.3rem;
}

.t_greeting_ttl span {
	font-size: 2.1rem;
}

.t_greeting_ttl em {
	font-size: 3rem;
	letter-spacing: 0.44em;
}

.t_greeting_head {
	padding: 5rem 0 0;
	width: 30rem;
}

.t_greeting_img {
	width: 100%;
}

.t_greeting_img:before {
	top: 4rem;
	right: 4rem;
}

.t_greeting_name {
	padding-left: 2rem;
	margin-top: 2rem;
}

.t_greeting_name .pos {
	font-size: 1.8rem;
}

.t_greeting_name .ja {
	font-size: 2.8rem;
}

.t_greeting_name .en {
	font-size: 1.4rem;
}

.t_greeting_body {
	flex: 1;
}

.t_greeting_body_top {
	padding-top: 2.8rem;
}

.t_greeting_catch {
	margin-top: 0;
	padding: 2.2rem 4.2rem 2.2rem 4.2rem;
	font-size: 3rem;
	width: fit-content;
	position: relative;
	left: -2.4rem;
}

.t_greeting_catch:before {
	width: 5.6rem;
	background: url(../images/top/greeting_bracket.svg) center / 100% no-repeat;
}

.t_greeting_catch:after {
	width: 5.6rem;
	background: url(../images/top/greeting_bracket.svg) center / 100% no-repeat;
}

.t_greeting_content {
	margin-top: 3.7rem;
	padding: 7rem 0 8rem 7rem;
}

.t_greeting_content:before {
	top: 0;
	left: 0;
	width: calc(100% - var(--over-margin02));
	border-radius: 12rem 0 0 0;
}

.t_greeting_txt {
	font-size: 1.6rem;
}

.t_greeting_btn {
	margin-top: 4.8rem;
}

/*++++++++++++++++++++++++++++
t_recruit
++++++++++++++++++++++++++++*/
.t_recruit {
	background: url(../images/top/recruit_bg01.jpg) center / cover no-repeat;
	padding: 6rem 0;
}

.t_recruit .inner {
	max-width: var(--inner-width02);
}

.t_recruit_block {
	position: relative;
	isolation: isolate;

	&:before {
		content: '';
		display: block;
		position: absolute;
		bottom: -6rem;
		left: 15rem;
		width: calc(100% - var(--over-margin02));
		height: 100%;
		z-index: -1;
		background: linear-gradient(270deg, rgba(159, 222, 224, 0.8) 0%, rgba(71, 158, 161, 0.8) 100%);
	}
}

.t_recruit_ttl {
	font-size: 9rem;
	width: auto;
	margin-left: 0;
	text-align: left;
}

.t_recruit_catch {
	font-size: 2.4rem;
	margin-top: 2rem;
	position: relative;
	padding-left: 11rem;

	&:before {
		content: '';
		display: block;
		position: absolute;
		top: 2.3rem;
		left: 0;
		width: 10rem;
		height: 1px;
		z-index: 1;
		background: #fff;
	}
}

.t_recruit_imgs {
	margin-top: 0;
	gap: 1rem;
	width: 45rem;
	position: absolute;
	right: 5rem;
	top: 0;
	z-index: 1;
}

.t_recruit_img {
	width: 22rem;
}

.t_recruit_img:nth-of-type(2) {
	margin-top: 4rem;
}

.t_recruit_txt {
	font-size: 1.6rem;
	margin-top: 2.5rem;
	margin: 3rem 0 0;
	position: relative;
	z-index: 10;
	width: 78rem;
}

.t_recruit_btn {
	--bg-gutter: 0.5rem;
	width: 19rem;
	margin: 0;
	position: absolute;
	right: 0;
	bottom: 2rem;
	z-index: 10;
}

.t_recruit_btn:before {
	border-radius: 50%;
}

.t_recruit_btn:after {
	border-radius: 50%;
}

.t_recruit_btn a {
	--icon-url: url(../images/icon_arrow.svg);
	--icon-color: var(--green_03);
	--icon-size: 1.6rem;
	--circle-size: 3.2rem;
	--circle-color: var(--lightgrey_01);
	--icon-right: 2rem;
	padding: 5rem 0 0;
	min-height: auto;
	aspect-ratio: 1/1;
	width: 100%;
	font-size: 1.8rem;
	justify-content: center;
	text-align: center;
	align-items: flex-start;

	&:hover {
		opacity: 1;

		span {
			width: 9rem;
			color: var(--green_03);
		}
	}
}

.t_recruit_btn a:before {
	display: none;
}

.t_recruit_btn a:after {
	display: none;
}

.t_recruit_btn a span {
	--icon-url: url(../images/icon_arrow.svg);
	--icon-color: var(--green_03);
	--icon-size: 1.6rem;
	--circle-size: 3.2rem;
	--circle-color: var(--lightgrey_01);
	position: absolute;
	bottom: 5rem;
	left: 50%;
	transform: translateX(-50%);
	font-family: var(--font-num);
	color: var(--green_03);
	font-size: 1.5rem;
	letter-spacing: 0.12em;
	line-height: 1.8;
	font-weight: 500;
	display: block;
	width: 3.2rem;
	text-align: right;
	color: transparent;
	white-space: nowrap;
}

.t_recruit_btn a span:before {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 0.8rem;
	width: var(--icon-size);
	aspect-ratio: 1/1;
	-webkit-mask: var(--icon-url) center / 100% no-repeat;
	mask: var(--icon-url) center / 100% no-repeat;
	z-index: 2;
	transform: translateY(-50%);
	background: var(--icon-color);
}

.t_recruit_btn a span:after {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	width: var(--circle-size);
	aspect-ratio: 1/1;
	z-index: 1;
	border-radius: 50%;
	transform: translateY(-50%);
	background: var(--circle-color);
}

/*++++++++++++++++++++++++++++
t_parallax01
++++++++++++++++++++++++++++*/
.t_parallax01 {
	height: 40rem;
}

.t_parallax01 .oft {
	width: 100vw;
	height: 100lvh;
}

/*++++++++++++++++++++++++++++
t_news02
++++++++++++++++++++++++++++*/
.t_news02 {
	padding: 8rem 0 0;
}
.t_news02 .inner {
	max-width: var(--inner-width02);
}
.t_news02:before {
	width: calc(16.7rem - var(--over-margin02));
}

.t_news02_block {
	padding: 5rem;
}

.t_news02_head {

}

.t_news02_head_list {
	gap: 4rem;
}

.t_news02_head_item {

}

.t_news02_head_item_ttl {
	font-size: 1.8rem;
	padding: 1rem;
	margin-bottom: 2rem;
}

.t_news02_head_item_txt {
	font-size: 1.6rem;
}

.t_news02_body {
	margin-top: 4rem;
}

.t_news02_body_col {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 5rem;
}

.t_news02_body_item_ttl {
	font-size: 1.8rem;
	padding: 1rem;
	margin-bottom: 2rem;
}

.t_news02_body_item_list {
	gap: 1.5rem;
}

.t_news02_body_item_list li {
	padding: 0 0 1.5rem 2.6rem;
	font-size: 1.6rem;
}

.t_news02_body_item_list li:before {
	top: 1.25rem;
	left: 1rem;
	width: 0.6rem;
}

.t_news02_body_item_table :is(td, th) {
	font-size: 1.6rem;
	padding: 1.4rem 0;
	vertical-align: top;
}

.t_news02_body_item_table th {
	width: 9.2rem;
}