@charset "utf-8";

/*++++++++++++++++++++++++++++
l_mv
++++++++++++++++++++++++++++*/
.l_mv {
	&:before {
		width: 108.3rem;
		background: url(../images/top/mv_deco.png) center / 100% no-repeat;
	}
}

.l_mv_slider_item {}

.l_mv_img {
	width: 100%;
	height: 100vh;
	min-height: 70rem;
	margin-left: auto;
	aspect-ratio: auto;
	z-index: 1;
}

.l_mv_slider02 {
	bottom: 25.4rem;
	left: 8rem;
	width: calc(100% - 8rem);

	.swiper-slide {
		height: auto;
	}

	.l_mv_slider_item {
		display: flex;
		align-items: flex-end;
		height: 100%;
	}
}

.l_mv_catch {
	gap: 3rem;

	.txt01 {
		font-size: 2rem;
		padding-left: 1.6rem;

		&::before {
			width: 0.6rem;
		}
	}

	.txt02 {
		font-size: 4rem;
		line-height: 1.8;
	}
}

.l_mv_points {
	width: 120rem;
	left: 4rem;
	bottom: 6rem;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;

	.l_mv_point {
		--arrow-color: var(--white);
		--arrow-size: 1.4rem;
		--circle-size: 3rem;
		--circle-height: 2.2rem;
		--circle-bg-color: var(--brown_02);
		--circle-border-color: var(--brown_02);
		display: flex;
		align-items: center;
		gap: 1.6rem;
		padding: 1.1rem;

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

		&:after {
			right: 1.1rem;
			bottom: 1.1rem;
		}

		&:hover {
			opacity: 1;

			.l_mv_point_img {
				img {
					scale: 1.1;
				}
			}
		}
	}

	.l_mv_point_img {
		height: 12rem;
		width: 14rem;

		img {
			transition: var(--default-transition);
		}
	}

	.l_mv_point_body {
		gap: 1rem;
	}

	.l_mv_point_num {
		gap: 0.4rem;

		span {
			font-size: 1.5rem;
		}

		em {
			font-size: 1.7rem;
		}
	}

	.l_mv_point_ttl {
		font-size: 1.9rem;
	}
}

.l_mv .swiper-pagination {
	right: 3rem;
	bottom: 3rem;
	gap: 2rem;
	margin-top: 0;

	.swiper-pagination-bullet {
		width: 1.6rem;

		&:before {
			width: 0.6rem;
		}
	}
}

/*++++++++++++++++++++++++++++
ttl
++++++++++++++++++++++++++++*/
.t_ttl01 {
	.txt01 {
		font-size: 6.4rem;
	}

	.txt02 {
		font-size: 2.2rem;
		margin-top: 0.5rem;
	}
}

.t_ttl02 {
	gap: 1rem;

	.txt01 {
		font-size: 6.4rem;
	}

	.txt02 {
		font-size: 2.4rem;
		padding: 0 2.4rem;

		&:after,
		&:before {
			width: 0.6rem;
			height: 2.4rem;
		}
	}
}

.t_ttl03 {
	gap: 1rem;

	.txt01 {
		font-size: 1.6rem;
		padding-left: 1.6rem;

		&:before {
			width: 0.6rem;
		}
	}

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

/*++++++++++++++++++++++++++++
t_access
++++++++++++++++++++++++++++*/
.t_access {
	padding: 8rem 0;
	background: url(../images/top/clinic_bg_leaf.png) right top / 94.5rem no-repeat;

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

	.t_access_block {
		margin-top: 3.6rem;
		padding: 5.4rem 0 5rem;

		&:before {
			left: var(--over-margin03);
			width: calc(100% - var(--over-margin03) + 15rem);
		}
	}

	.t_access_btns {
		width: 42rem;
		gap: 1rem;
		padding: 0 0.5rem;

		&:before {
			height: 4.7rem;
		}
	}

	.t_access_btn {
		height: 4.7rem;
		font-size: 1.8rem;
		transition: var(--default-transition);

		&:hover {
			color: #fff;
			background: var(--brown_02);
		}
	}

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

	.t_access_loop {
		right: -7rem;

		ul li {
			font-size: 14rem;
			padding: 0 1rem;
		}
	}
}

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

	.t_info_item {
		padding: 6rem;
		overflow: hidden;
	}

	.t_info_item_in {
		max-width: 54rem;
		margin: 0 auto;
	}

	.t_info_ttl {
		.txt01 {
			font-size: 1.6rem;
		}

		.txt02 {
			font-size: 3rem;
			margin-top: 0.4rem;
		}
	}

	.t_info_btn {
		margin-top: 3rem;

		&:not(:has(.m_btn01:nth-of-type(2))) {
			display: flex;
			justify-content: center;
		}

		&:has(.m_btn01:nth-of-type(2)) {
			gap: 1rem;

			.m_btn01 {
				min-height: 5.8rem;
				min-width: auto;
				padding: 0.9rem 3.8rem 0.8rem 1rem;
			}
		}
	}

	.t_info_list {
		margin-top: 3rem;
	}

	.t_info_data {
		margin-top: 3rem;

		p {
			line-height: 1.8;
			font-size: 1.6rem;
		}

		p+p {
			margin-top: 1.5rem;
		}
	}

	.t_info_time {
		margin: 3rem 0 0
	}
}

.t_news {}

.t_clinic {}

/*++++++++++++++++++++++++++++
.t_insurance
++++++++++++++++++++++++++++*/
.t_insurance {
	.inner {
		max-width: var(--inner-width03);
	}

	.t_insurance_head {
		padding: 12.3rem 10rem 5rem;
		background: url(../images/top/insurance_bg.jpg) center / cover no-repeat;
	}

	.t_insurance_body {
		padding: 8rem 0;

		&:before {
			top: 45.9rem;
			width: 47rem;
			aspect-ratio: 940/1000;
			background: url(../images/top/insurance_deco.png) center / cover no-repeat;
		}
	}
}

.t_gas {
	display: flex;
	flex-direction: row-reverse;
	gap: 8rem;

	.t_gas_head {
		width: 44rem;

		.oft {
			height: 50rem;
			margin-right: var(--over-margin03);
		}
	}

	.t_gas_body {
		margin-top: 0;
		flex: 1;
	}

	.t_gas_txt {
		margin-top: 3rem;
	}

	.t_gas_btn {
		margin-top: 3rem;
	}
}

.t_sd {
	margin: 8rem 0 0;
	--border-gutter: 1rem;

	.t_sd_in {
		padding: 3.8rem 3.1rem;
	}

	.t_sd_btns {
		width: 62rem;
		margin: 0 auto;

		&:before {
			height: 4.7rem;
		}
	}

	.t_sd_btn {
		height: 4.7rem;
		font-size: 1.8rem;
		cursor: pointer;
		transition: var(--default-transition);

		&:hover {
			color: #fff;
			background: var(--brown_02);
		}
	}

	.t_sd_list {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		margin-top: 3rem;
		padding-right: 0;

		a {
			--icon-url: url(../images/icon_arrow.svg);
			--icon-color: var(--beige_03);
			--icon-size: 1.8rem;
			padding: 1.9rem 4.3rem 1.9rem 1.5rem;
			color: var(--brown_03);
			border: 1px solid var(--beige_03);
			background: #fff;

			&:before {
				right: 1.4rem;
			}

			&:hover {
				opacity: 1;
				border-color: var(--brown_02);
				background: var(--beige_01);
			}
		}
	}
}

.t_exam {
	padding: 0 6rem;
	max-width: 172rem;
	margin: 8rem auto 0;
	gap: 1rem;
	grid-template-columns: repeat(2, 1fr);

	.t_exam_item {
		background: url(../images/top/gastroscopy_img01.jpg) center / cover no-repeat;
		--border-gutter: 1rem;

		&.t_exam_colon {
			background-image: url(../images/top/colonoscopy_img01.jpg);
		}
	}

	.t_exam_item_in {
		padding: 5rem 4rem;
		max-width: 56rem;
		margin: 0 auto;
	}

	.t_exam_item_txt {
		margin-top: 3rem;
	}

	.t_exam_item_btn {
		margin-top: 3rem;

		.m_btn01 {
			width: 100%;
		}
	}
}

/*++++++++++++++++++++++++++++
.t_self
++++++++++++++++++++++++++++*/
.t_self {
	.inner {
		max-width: var(--inner-width03);
	}

	.t_self_head {
		padding: 12.3rem 10rem 5rem;
		background: url(../images/top/self_bg.jpg) center / cover no-repeat;
	}
}

.t_mc {
	padding: 8rem 0 10rem;

	.t_mc_slider_wrap {
		margin-top: 3rem;
	}

	.t_mc_slider {
		width: 45rem;
		margin: 0;
	}

	.t_mc_btns {
		display: grid;
		gap: 1.4rem 1rem;
		padding: 0 0.5rem;
		position: relative;
		grid-template-columns: repeat(7, 1fr);
		margin-top: 5rem;
		border-left: 1px solid var(--beige_03);
	}

	.t_mc_btn {
		height: 9.8rem;
		font-size: 1.8rem;
		cursor: pointer;
		transition: var(--default-transition);
		grid-column: span 1 !important;
		letter-spacing: 0.08em;
		

		&:before,
		&:after {
			height: 9.8rem;
		}

		&:before {
			left: -0.5rem;
			opacity: 0;
		}

		&:after {
			right: -0.5rem;
		}

		&:nth-of-type(3n+1)::before {
			opacity: 0;
		}

		&:nth-of-type(6)::before {
			opacity: 0;
		}

		&:hover {
			opacity: 1;
			color: var(--brown_05);
			background: var(--beige_03);
		}
	}

	.t_mc_item {
		padding: 2rem;

		&:hover {
			opacity: 1;

			.t_mc_item_img img {
				scale: 1.1;
			}

			.m_btn01 {
				background: var(--beige_01);
			}
		}
	}

	.t_mc_item_img {
		height: 22rem;
		transition: var(--default-transition);
	}

	.t_mc_item_ttl {
		margin-top: 2rem;
		min-height: 9.2rem;
		padding-bottom: 1.5rem;

		.txt01 {
			font-size: 1.5rem;
		}

		.txt02 {
			font-size: 2.2rem;
			margin-top: 0.6rem;

			span {
				font-size: 1.5rem;
			}
		}
	}

	.t_mc_item_list {
		gap: 0.5rem;
		margin-top: 1.7rem;

		li {
			font-size: 1.5rem;
		}
	}

	.t_mc_item_time {
		margin-top: 1.5rem;
		gap: 0.5rem;
		padding: 0.5rem 1rem;

		span {
			font-size: 1.5rem;
		}

		.time {
			&:before {
				width: 2rem;
				margin-right: 0.5rem;
			}
		}
	}

	.t_mc_item_fee {
		margin-top: 1.5rem;
		gap: 1.2rem;

		li {
			span {
				font-size: 1.5rem;
			}

			em {
				font-size: 2.4rem;
			}
		}
	}

	.t_mc_item_btn {
		margin-top: 1.9rem;

		.m_btn01 {
			min-height: 5.8rem;
			padding: 1.1rem 5.5rem 1.1rem 1.5rem;
			width: 100%;
		}
	}

	.t_mc_nav {
		gap: 10rem;
		margin-top: 3rem;

		.swiper-pagination {}

		.t_mc_nav_btns {
			display: flex;
			justify-content: space-between;
			gap: 1.5rem;
		}

		.swiper-button {
			width: 9rem;
			height: 6rem;

			&:before {
				width: 2.2rem;
			}
		}
	}
}

.t_hc {
	padding: 8rem 0 10rem;

	.t_hc_list {
		margin-top: 5rem;
		grid-template-columns: repeat(3, 1fr);
		gap: 5rem 1.8rem;

		a:hover {
			opacity: 1;

			img {
				scale: 1.1;
				opacity: 0.7;
			}

			p {
				color: var(--beige_03);
			}
		}

		figure {
			height: 20rem;

			img {
				transition: var(--default-transition);
			}
		}

		p {
			--arrow-color: var(--beige_03);
			--arrow-size: 1.4rem;
			--circle-size: 3rem;
			--circle-height: 2.2rem;
			--circle-bg-color: transparent;
			--circle-border-color: var(--beige_03);
			font-size: 2rem;
			margin-top: 1rem;

			&:before {
				top: 50%;
				transform: translateY(-50%);
			}

			&:after {
				top: 50%;
				transform: translateY(-50%);
			}
		}
	}

	.t_hc_bnr {
		margin: 9rem auto 0;
		max-width: 70rem;
	}
}

/*++++++++++++++++++++++++++++
t_slider
++++++++++++++++++++++++++++*/
.t_slider {
	width: max(100vw, 128rem);
	--speed: 200s;
	--gap: 0rem;

	.t_slider_item figure {
		width: 48rem;
	}
}

/*++++++++++++++++++++++++++++
t_feature
++++++++++++++++++++++++++++*/
.t_feature {
	padding: 8rem 0 15rem;

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

	&:before {
		top: 13.9rem;
		width: 47rem;
		aspect-ratio: 940/1000;
		background: url(../images/top/feature_deco.png) center / cover no-repeat;
	}

	.t_feature_ttl {
		.txt01 {
			font-size: 9.6rem;
		}

		.txt02 {
			padding: 0 10.8rem;
			font-size: 2.4rem;
			margin-top: 0.5rem;

			&:before,
			&:after {
				width: 9.8rem;
			}

			span {
				font-size: 6rem;
				margin: 0 1rem;
			}
		}
	}

	.t_feature_block {
		margin-top: 6rem;
		display: flex;
		flex-direction: row-reverse;
		gap: 6rem;

		&:before {
			top: 7rem;
			left: -15rem;
			width: calc(100% - var(--over-margin03) + 15rem);
		}
	}

	.t_feature_head {
		margin-right: 0;
		width: calc(100% - 54rem);

		.swiper {
			overflow: visible;
		}

		.oft {
			height: 60rem;
			margin-right: var(--over-margin03);
		}

		.swiper-pagination {}
	}

	.t_feature_body {
		margin-top: 0;
		width: 48rem;

		.t_feature_item {
			min-height: 52.2rem;
		}

		.t_feature_navs {
			gap: 1.5rem;
			margin-top: 2.8rem;
			width: fit-content;
		}

		.swiper-pagination {
			gap: 0.8rem;

			span {
				font-size: 1.6rem;
			}
		}

		.swiper-button {
			width: 9rem;
			height: 6rem;

			&:before {
				width: 2.2rem;
			}
		}
	}

	.t_feature_item_num {
		flex-direction: column;
		gap: 0;
		width: fit-content;

		/* padding-top: 0rem; */
		.txt01 {
			font-size: 2rem;
		}

		.txt02 {
			font-size: 9rem;
			line-height: 1.1;
		}
	}

	.t_feature_item_ttl {
		font-size: 2.8rem;
		margin-top: 3.5rem;
	}

	.t_feature_item_txt {
		margin-top: 3.5rem;
	}

	.t_feature_item_btn {
		margin-top: 3.5rem;
	}
}

/*++++++++++++++++++++++++++++
t_greeting
++++++++++++++++++++++++++++*/
.t_greeting {
	background: var(--brown_02) url(../images/top/greeting_bg_leaf.png) left top / 101.5rem no-repeat;
	padding: 8rem 0 10rem;

	&:before {
		right: 0;
		top: 11rem;
		bottom: auto;
		width: 67rem;
		aspect-ratio: 1340/1000;
	}

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

	.t_greeting_ttl {
		.txt02 {
			margin-top: 0.5rem;
		}
	}

	.t_greeting_block {
		margin: 6rem -5rem 0;
		display: flex;
		flex-direction: row-reverse;
	}

	.t_greeting_head {
		width: 42rem;

		.oft {
			height: 100%;
			z-index: 1;
		}
	}

	.t_greeting_head_name {
		padding: 2rem 2rem 2rem;

		&:before {
			width: 15rem;
		}

		.txt01 {
			font-size: 1.5rem;
		}

		.txt02 {
			font-size: 2.8rem;
			margin-top: 1.2rem;

			span {
				margin-right: 1rem;
				font-size: 1.7rem;
			}
		}
	}

	.t_greeting_body {
		padding: 6rem;
		flex: 1;
	}

	.t_greeting_body_txt {
		line-height: 1.889;
	}

	.t_greeting_body_btn {
		margin-top: 4rem;
		display: flex;
		flex-direction: row;
		gap: 1rem;

		.m_btn01 {
			min-width: auto;
			width: 30rem;
		}
	}
}

/*++++++++++++++++++++++++++++
t_recruit
++++++++++++++++++++++++++++*/
.t_recruit {
	padding: 12rem 0 11.7rem;
	background: url(../images/top/recruit_bg_leaf.png) right bottom / 37.3rem no-repeat;

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

	.t_recruit_block {
		display: flex;
		gap: 12rem;
	}

	.t_recruit_head {
		margin-left: 0;
		height: 40rem;
		flex: 1;
	}

	.t_recruit_slider {
		width: calc(100% - var(--over-margin03));
		max-width: none;

		.t_recruit_slider_item figure {
			width: 53.3rem;
		}
	}

	.t_recruit_body {
		width: 63rem;
	}

	.t_recruit_ttl {
		margin-top: 0;
		padding-top: 1rem;

		.txt01 {
			font-size: 14rem;
			top: -7rem;
			right: -10.6rem;
		}

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

/*++++++++++++++++++++++++++++
.t_group 
++++++++++++++++++++++++++++*/
.t_group {
	padding: 4rem 0 8rem;
	background: url(../images/top/group_bg.jpg) center / cover no-repeat;

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

	.t_group_block {
		display: flex;
	}

	.t_group_head {
		flex: 1;
		padding-top: 4rem;
	}

	.t_group_ttl {
		.txt02 {
			margin-top: 0.5rem;
		}
	}

	.t_group_body {
		width: 88rem;
		margin-top: 4rem;
		display: flex;
		flex-direction: row-reverse;
	}

	.t_group_body_img {
		width: 18rem;

		.oft {
			margin-right: var(--over-margin03);
			height: 100%;
		}
	}

	.t_group_body_content {
		flex: 1;
		padding: 4.5rem;
	}

	.t_group_access {
		padding: 0.2rem 1rem;
		font-size: 1.7rem;
	}

	.t_group_name {
		margin-top: 1.5rem;
		padding-bottom: 2.4rem;
		font-size: 2.4rem;
	}

	.t_group_address {
		margin-top: 1.5rem;
	}

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

	.t_group_btn {
		padding: 0 0 0 3.2rem;
		min-height: 6rem;
		--icon-size: 2.4rem;
		--arrow-size: 1.6rem;
	}

	.t_group_cta {
		margin-top: 3rem;

		.t_group_cta_in {
			border: 1px solid var(--beige_04);
			padding: 1.8rem 1.9rem;
		}

		.t_group_cta_ttl {
			font-size: 1.7rem;
			margin-bottom: 0.8rem;
		}

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

		.m_btn04 {
			margin: 0;
			min-width: auto;
			width: auto;
		}
	}
}

/*++++++++++++++++++++++++++++
t_news02
++++++++++++++++++++++++++++*/
.t_news02 {
	padding: 8rem 0;

	.t_news02_block {
		padding: 4rem;
		gap: 3.5rem;
	}

	.t_news02_head_item_ttl {
		font-size: 1.9rem;
	}

	.t_news02_head_item_txt {}

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

	.t_news02_body_item {
		padding: 2rem;
	}

	.t_news02_body_item_ttl {
		font-size: 1.9rem;
	}

	.t_news02_body_item_list {
		display: grid;
	}

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

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

	.t_news02_body_item_table :is(td, th) {
		font-size: 1.7rem;
		padding: 1.4rem 0;
	}

	.t_news02_body_item_table th {
		width: 9.3rem;
	}
}