@charset "utf-8";

.frontpage {
	background: var(--lightgeige) url(../images/top/fixed_bg.png) center top / 100% no-repeat;
	background-attachment: fixed;
}

body:has(.t_scope.on) {
	.l_fixed_pc {
		pointer-events: none;
		opacity: 0;
	}
}

.t_ttl01 {
	margin-bottom: 4rem;
	gap: 1.4rem;

	span {
		font-size: 2.2rem;
	}

	em {
		font-size: 3.2rem;
	}

	&:where(:has(em:first-child)) {
		gap: 0.5rem;
	}

	&.has_icon {
		--icon-size: 4.2rem;
		--circle-size: 6rem;
		padding-top: 7.5rem;

		&:before {
			top: 0.9rem;
			left: 0.9rem;
			z-index: 2;
		}

		&:after {
			border-radius: 1rem;
		}
	}
}

.t_ttl02 {
	font-size: 2.2rem;
	line-height: 1.3;
	padding: 1.6rem 1.8rem;
	margin-bottom: 3rem;
}

/*++++++++++++++++++++++++++++
l_mv
++++++++++++++++++++++++++++*/
.l_mv {
	height: max(88rem, 100vh);
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	padding: 12rem 0 0;
}

.l_mv_inner {
	position: relative;
	width: 100%;
	inset: auto;
}

.l_mv_slider {
	z-index: 1;
}

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

.l_mv_slider_item {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	height: auto;
}

.l_mv_img {
	width: calc(100% - 78rem);
	height: max(74rem, calc(100vh - 14rem));
	margin-left: auto;
	border-radius: 2rem 0 0 2rem;
	margin-top: 0;
}

.l_mv_slider_txt {
	padding-left: 8rem;
padding-bottom: 41rem;
        justify-content: center;
padding-top: 0;

	&:has(.txt01_big) {
		/* padding-top: 13.7rem; */
	}

	.txt01 {
		padding: 0.4rem 1.5rem;
		border-radius: 0.8rem;
		font-size: 2.4rem;
	}

	.txt01_big {
		font-size: 2.4rem;

		span {
			font-size: 2.8rem;
		}

		em {
			font-size: 3.2rem;
			top: 0rem;
		}
	}

	.txt02 {
		margin-top: 2rem;
		font-size: 4.8rem;
	}

	.txt03 {
		margin-top: 2.3rem;
		font-size: 3.4rem;
	}

	.txt04 {
		margin-top: 2.3rem;
		font-size: 2.2rem;
	}
}

.l_mv .swiper-pagination {
	position: absolute;
	left: auto;
	top: auto;
	right: 3rem;
	bottom: auto;
	top: 50%;
	transform: translateY(-50%);
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin-top: 0;
	margin-left: auto;
	width: fit-content;
	padding-right: 0;

	.swiper-pagination-bullet {
		background: #fff;
		opacity: 0.5;
		width: 0.8rem;
		height: 0.8rem;
		margin: 0;
	}

	.swiper-pagination-bullet-active {
		opacity: 1;
	}
}

.l_mv_points {
	position: absolute;
	left: 0rem;
	bottom: 4rem;
	gap: 0.8rem;
	width: 82rem;
	padding-left: 2rem;
	grid-template-columns: repeat(2, 1fr);
	z-index: 20;

	.l_mv_point {
		padding: 1.8rem 11.1rem 1.8rem 1.8rem;
		align-items: flex-end;
		min-height: 16.6rem;

		&:before {
			top: 1.8rem;
			left: auto;
			right: 1.8rem;
			width: 8.5rem;
			transform: none;
			transition: var(--default-transition);
		}

		&:hover {
			opacity: 1;
			--arrow-color: #fff;
			--arrow-bg: var(--gold_03);

			&:before {
				background-size: 115%;
			}
		}

		&.l_mv_point_pickup {
			&:hover {
				--arrow-color: var(--gold_03);
				--arrow-bg: #fff;
			}
		}
	}

	.l_mv_point_txt {
		gap: 0.8rem;

		span {
			font-size: 1.8rem;
		}

		em {
			font-size: 2.2rem;
		}

		&:before {
			bottom: 1.8rem;
			right: 1.8rem;
			width: 2.8rem;
			border-radius: 1rem;
			background: var(--arrow-bg);
		}

		&:after {
			bottom: 2.3rem;
			right: 2.3rem;
			width: 1.8rem;
		}
	}

	.l_mv_point_pickup {
		--arrow-color: #fff;
		--arrow-bg: #FFFFFF4D;
	}

	.l_mv_point02 {
		padding: 1.8rem;
	}

	.l_mv_point02_ttl {
		font-size: 2.2rem;
		padding: 0.2rem;
	}

	.l_mv_point02_col {
		gap: 0.8rem;
		margin-top: 1rem;

		a {
			height: 8.5rem;
			/* アロー */
			--arrow-color: var(--gold_03);
			--arrow-size: 1.5rem;
			/* 円 */
			--circle-size: 2.4rem;
			--circle-height: var(--circle-size);
			--circle-bg-color: #fff;

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

			&:after {
				bottom: 0.5rem;
				right: 0.5rem;
				border-radius: 0.8rem;
			}

			.txt {
				font-size: 1.9rem;
			}

			&:hover {
				opacity: 1;
				--circle-bg-color: var(--gold_03);
				--arrow-color: #fff;
			}
		}
	}
}

.l_mv_scroll {
	bottom: -6rem;
	font-size: 2rem;
	padding-bottom: 2.2rem;

	&:before {
		width: 1.8rem;
	}
}

/*++++++++++++++++++++++++++++
t_topic
++++++++++++++++++++++++++++*/
.t_topic {
	padding: 9.3rem 0 8rem;

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

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

	.t_ttl01 {
		padding-top: 0.5rem;
	}

	.t_topic_btn {
		margin-top: 0;

		.m_btn01 {
			min-width: 24rem;
		}
	}

	.t_topic_block {
		padding: 3.5rem;
		border-radius: 1.2rem;
	}

	.t_topic_tabs {
		gap: 1.4rem;
	}

	.t_topic_tab {
		border-radius: 1rem;
		padding: 1rem 1.6rem;
		line-height: 1.25;
		font-size: 2rem;
		transition: var(--default-transition);

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

	.t_topic_txt {
		font-size: 2rem;
		margin-top: 3rem;
	}

	.t_topic_list {
		margin-top: 3rem;
	}

	.t_topic_btn02_wrap {
		display: flex;
		justify-content: flex-end;
	}

	.t_topic_btn02 {
		--icon-size: 1.8rem;
		--circle-size: 2.8rem;
		padding-left: 3.8rem;
		padding-top: 0.1rem;
		font-size: 2rem;

		&:before {
			left: 0.5rem;
		}

		&:after {
			border-radius: 1rem;
		}

		&:hover {
			opacity: 1;
			--circle-color: var(--gold_03);
			--circle-border: var(--gold_03);
			--icon-color: var(--white);
		}
	}
}

/*++++++++++++++++++++++++++++
t_news02
++++++++++++++++++++++++++++*/
.t_news02 {
	padding: 9.8rem 0 2rem;

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

	.t_news02_block {
		padding: 5.5rem 6rem;
		background: url(../images/dot.svg) 2rem 2rem / 0.7rem no-repeat,
			url(../images/dot.svg) right 2rem top 2rem / 0.7rem no-repeat,
			url(../images/dot.svg) left 2rem bottom 2rem / 0.7rem no-repeat,
			url(../images/dot.svg) right 2rem bottom 2rem / 0.7rem no-repeat;
		background-color: #fff;
	}

	.t_news02_head {}

	.t_news02_head_list {}

	.t_news02_head_item {
		padding-bottom: 3rem;
		margin-bottom: 3rem;
	}

	.t_news02_head_item:last-of-type {
		padding-bottom: 4rem;
		margin-bottom: 4rem;
	}

	.t_news02_head_item_ttl {
		font-size: 2.2rem;
		padding: 1.2rem;
		margin-bottom: 2rem;
	}

	.t_news02_head_item_txt {
		font-size: 2rem;
	}

	.t_news02_body {}

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

	.t_news02_body_item_ttl {
		font-size: 2rem;
		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: 2rem;
	}

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

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

	.t_news02_body_item_table th {
		width: 10.7rem;
	}
}

/*++++++++++++++++++++++++++++
t_wrap01
++++++++++++++++++++++++++++*/
.t_wrap01 {
	padding: 5rem;
	border-radius: 1.2rem;
}

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

/*++++++++++++++++++++++++++++
t_calendar
++++++++++++++++++++++++++++*/
.t_calendar {
	flex-direction: row;
	gap: 6rem;

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

	.t_ttl01 {
		margin-bottom: 3rem;

		em {
			font-size: 2.8rem;
		}
	}

	.t_calendar_head {
		width: 29rem;
	}

	.t_calendar_txt {
		font-size: 2rem;
	}

	.t_calendar_body {
		flex: 1;
		border-radius: 1.2rem;
		padding: 3rem;
	}
}

/*++++++++++++++++++++++++++++
.t_outpatient
++++++++++++++++++++++++++++*/
.t_outpatient {
	margin-top: 4rem;
	padding-top: 4rem;

	.t_ttl01 {
		em {
			font-size: 2.8rem;
		}
	}

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

	.m_table_scroll {
		margin-left: 0;
		margin-right: 0;

		&:before {
			left: 0;
		}

		.m_table_scroll_in {
			padding-left: 0;
			padding-right: 0;
		}
	}

	.t_outpatient_box {
		margin-top: 4rem;

		&+& {
			margin-top: 6.5rem;
		}
	}

	.t_outpatient_attention {
		margin-top: 4rem;
		padding: 3rem;
	}

	.t_outpatient_attention_ttl {
		padding: 1.2rem 1.4rem;
		font-size: 2rem;
	}

	ul {
		--gap-col: 0.8rem;
		--gap-row: 0.8rem;
		margin-top: 2rem;

		li {
			padding-left: 2.6rem;
			font-size: 2rem;
		}

		li:before {
			left: 1rem;
			top: 1.3rem;
		}
	}
}

/*++++++++++++++++++++++++++++
t_wrap02
++++++++++++++++++++++++++++*/
.t_wrap02 {
	margin-top: 8rem;
	background: none;

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

/*++++++++++++++++++++++++++++
t_access
++++++++++++++++++++++++++++*/
.t_access {
	padding: 5rem 5rem 13rem;
	position: relative;
	isolation: isolate;

	&:before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		right: 0;
		width: calc(100% - var(--over-margin03));
		height: 100%;
		z-index: -1;
		background: #fff;
		border-radius: 0 1.2rem 1.2rem 0;
	}

	.t_ttl01 {
		left: 0;
		margin-bottom: 0;
		position: absolute;
		left: 0;
		top: 0;

		em {
			font-size: 2.8rem;
		}
	}

	.t_access_block {
		display: flex;
		flex-direction: row-reverse;
		gap: 8rem;
		position: relative;
	}

	.t_access_head {
		flex: 1;
	}

	.t_access_map figure {
		border-radius: 1rem;
	}

	.m_map_link {
		margin-top: 1.2rem;
		padding-right: 0;
	}

	.t_access_body {
		margin-top: 0;
		padding: 18.4rem 0 0 0;
	}

	.t_access_data {
		dl {
			padding: 1.4rem 0 1.4rem;
			gap: 2rem;
		}

		dt {
			width: 10rem;
			font-size: 1.9rem;
		}

		dd {
			font-size: 1.9rem;
		}
	}

	.t_access_btn {
		.m_btn01 {
			min-width: 24rem;
			margin: 0;
		}
	}

	.t_access_bus {
		padding: 2.9rem 3.9rem;
		background: #E9EFF5 url(../images/top/access_bus.png) right top / auto 100% no-repeat;
		margin-top: 5rem;
		position: relative;
		min-height: 23rem;

		.t_access_bus_ttl {
			--icon-size: 4.2rem;
			--circle-size: 6rem;
			padding: 0.95rem 0 0 7rem;
			font-size: 2.8rem;

			&:before {
				top: 0.9rem;
				left: 0.9rem;
			}
		}

		.t_access_bus_txt {
			font-size: 2rem;
			width: 73.4rem;
			margin-top: 2.9rem;
		}

		.t_access_bus_btn {
			--icon-color: #fff;
			--icon-size: 1.8rem;
			--circle-size: 2.8rem;
			--circle-color: #FFFFFF33;
			position: absolute;
			top: 50%;
			transform: translateY(-50%);
			right: 3.5rem;
			color: #fff;
			background: var(--blue_01);
			display: flex;
			align-items: flex-start;
			justify-content: center;
			text-align: center;
			width: 19rem;
			aspect-ratio: 1/1;
			font-size: 2rem;
			line-height: 1.5;
			padding: 4.6rem 0 0;
			max-width: none;
			min-height: auto;
			margin: 0;
			border-radius: 50%;
			box-shadow: none;
			border: 5px solid #56A0D166;

			&:before {
				top: auto;
				bottom: 3.7rem;
				right: auto;
				left: 50%;
				transform: translateX(-50%);
			}

			&:after {
				top: auto;
				border-radius: 1rem;
				right: auto;
				left: 50%;
				bottom: 3.2rem;
				transform: translateX(-50%);
			}
		}

		&:hover {
			opacity: 1;
			border: 1px solid var(--blue_01);

			.t_access_bus_btn {
				color: var(--blue_01);
				background: var(--white);
				--circle-color: var(--blue_01);
			}
		}
	}
}

/*++++++++++++++++++++++++++++
t_concept
++++++++++++++++++++++++++++*/
.t_concept {
	padding: 12rem 0;
	background: var(--gold_01) url(../images/top/concept_bg.jpg) center / cover no-repeat;
	border-radius: 3rem;
	margin-top: -3rem;

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

	.t_ttl01 {
		margin-bottom: 4rem;
		position: absolute;
		top: 0;
		right: 0;

		em {
			font-size: 2.4rem;
		}
	}

	.t_concept_block {
		position: relative;
		padding-top: 0;
		display: flex;
	}

	.t_concept_head {
		width: 46rem;
	}

	.t_concept_img {
		margin-left: var(--over-margin03);
		margin-right: -10rem;
		height: 69.2rem;
		border-radius: 0 2rem 2rem 0;
	}

	.t_concept_body {
		margin-top: 11.8rem;
		padding: 6rem;
		flex: 1;

		&:before {
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			z-index: -1;
			box-shadow: none;
			border-radius: 1.2rem;
		}
	}

	.t_concept_catch {
		font-size: 3.2rem;
	}

	.t_concept_txt {
		margin-top: 4rem;
		font-size: 2rem;
	}

	.t_concept_btn {
		margin-top: 3.5rem;

		.m_btn01 {
			margin: 0;
		}
	}
}

.t_system {
	margin-top: 8rem;
	border-radius: 1.2rem;
	padding: 5rem;

	&:before {
		width: 45.5rem;
		aspect-ratio: 455 / 285;
	}

	.t_system_head {
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin-bottom: 2.7rem;
	}

	.t_ttl01 {
		position: relative;
		margin-bottom: 0;
		gap: 1.5rem;

		em {
			font-size: 3rem;
		}
	}

	.t_system_txt {
		font-size: 2rem;
	}

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

	.t_system_item {
		--icon-color: #fff;
		--icon-size: 1.8rem;
		--circle-size: 2.8rem;
		--circle-color: #FFFFFF33;
		border-radius: 1rem;
		padding: 1.5rem 6.4rem 1.5rem 1.5rem;
		align-items: flex-end;
		height: 22rem;

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

		&:after {
			bottom: 1.5rem;
			right: 1.5rem;
			border-radius: 1rem;
			aspect-ratio: auto;
			height: 2.8rem;
		}

		&:hover {
			opacity: 1;

			.t_system_img {
				scale: 1.1;
			}

			&:before {
				right: 2.3rem;
				background: var(--black_logo);
			}

			&:after {
				width: 3.4rem;
				background: var(--white);
				border-radius: 2rem;
			}
		}
	}

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

/*++++++++++++++++++++++++++++
t_adviser
++++++++++++++++++++++++++++*/
.t_adviser {
	padding: 6rem 0 0;

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

	.t_adviser_block {
		background: #9B9585 url(../images/top/bg_adviser.jpg) center top / cover no-repeat;
		padding: 4rem 46rem 0 4rem;
		border-radius: 1.2rem;
		height: 41rem;

		&:before {
			bottom: 0;
			left: auto;
			right: 0;
			width: 52rem;
			aspect-ratio: 1040/820;
			background: url(../images/top/adviser_person.png) center bottom / 100% no-repeat;
		}
	}

	.t_adviser_ttl {
		flex-direction: row;
		align-items: center;
		gap: 1rem;
		padding-bottom: 2.4rem;

		span {
			padding: 1rem 1.4rem;
			font-size: 2.2rem;
			border-radius: 1.2rem;
		}

		em {
			margin-top: 0;
			font-size: 3rem;
		}
	}

	.t_adviser_txt {
		font-size: 2rem;
		margin-top: 3rem;
	}

	.t_adviser_name {
		left: auto;
		right: 2rem;
		bottom: 2rem;
		padding: 1.8rem 1.7rem;
		gap: 0.8rem;
		z-index: 10;

		.txt01 {
			font-size: 1.8rem;
		}

		.txt02 {
			gap: 0.8rem;

			span {
				font-size: 2.6rem;
			}

			em {
				font-size: 1.9rem;
				padding-top: 0.8rem;
			}
		}
	}

	.t_adviser_bottom {
		margin-top: -10.7rem;
		display: flex;
		justify-content: space-between;
		align-items: flex-end;
	}

	.t_adviser_books {
		margin-right: 0;
		padding-bottom: 0;
	}

	.t_adviser_books_list {
		gap: 1.45rem;
		padding: 0 1rem 0 3.9rem;

		li img {
			height: 18.6rem;
		}
	}

	.t_adviser_links {
		gap: 3rem;
		margin-top: 3rem;
		padding-bottom: 0.4rem;

		.t_adviser_link {
			--icon-color: var(--gold_03);
			--icon-size: 1.8rem;
			--circle-size: 2.8rem;
			--circle-color: #fff;
			--circle-border: #9083624D;
			padding-left: 3.8rem;
			padding-top: 0.1rem;
			font-size: 2rem;

			&:before {
				left: 0.5rem;
			}

			&:after {
				border-radius: 1rem;
			}

			&:hover {
				opacity: 1;
				--circle-color: var(--gold_03);
				--circle-border: var(--gold_03);
				--icon-color: var(--white);
			}
		}
	}
}

/*++++++++++++++++++++++++++++
t_greeting
++++++++++++++++++++++++++++*/
.t_greeting {
	padding: 12rem 0 0;

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

	.t_greeting_block {
		position: relative;
	}

	.t_ttl01 {
		margin-bottom: 0;
		position: absolute;
		top: 2rem;
		left: 0;
		gap: 1rem;

		span {
			font-size: 2.2rem;
		}

		em {
			font-size: 2.8rem;
		}
	}

	.t_greeting_content {
		padding: 7rem 0 8rem 16rem;
		margin-left: auto;
		width: calc(100% - 28rem);

		&:before {
			width: calc(100% - var(--over-margin03));
			border-radius: 1.2rem 0 0 1.2rem;
		}
	}

	.t_greeting_head {
		padding-bottom: 5rem;
		width: 38rem;
		margin: 0;
		padding-left: 8rem;
		position: absolute;
		left: -28rem;
		top: 14.2rem;
	}

	.t_greeting_head_img {
		border-radius: 23rem;
	}

	.t_greeting_head_name {
		width: 24rem;
		left: 0;
		bottom: 0;
	}

	.t_greeting_body {
		margin-top: 0;
		padding-left: 0;
	}

	.t_greeting_txt {
		font-size: 2rem;
		letter-spacing: 0.119em;
	}

	.t_greeting_btn {
		margin-top: 3.5rem;

		.m_btn01 {
			margin: 0;
		}
	}

	.t_greeting_bg {
		height: 40rem;
		margin-top: -10rem;
	}

	.t_greeting_bg_img {
		background-image: url(../images/feature_bg01.jpg);
		height: 100vh;
		width: max(100vw, 100%);
	}
}

/*++++++++++++++++++++++++++++
t_menu
++++++++++++++++++++++++++++*/
.t_menu {
	padding: 10rem 0 12.8rem;
	border-radius: 3rem 3rem 0 0;
	margin-top: -3rem;

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

	&:before {
		height: calc(100% - 23.5rem);
	}

	&:after {
		bottom: auto;
		top: 102rem;
		left: 45rem;
		width: 250rem;
	}

	.t_menu_head {
		display: flex;
		justify-content: space-between;
	}

	.t_ttl01 {
		margin-bottom: 0;
		gap: 0.4rem;

		em {
			font-size: 3.6rem;
		}
	}

	.t_menu_head_txt {
		font-size: 2rem;
		padding-top: 1rem;
	}

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

	.t_menu_block {
		margin-top: 5rem;
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 0 3rem;
	}

	.t_menu_item {
		--icon-color: var(--gold_03);
		--icon-size: 1.8rem;
		--circle-size: 2.8rem;
		--circle-color: var(--lightbeige_02);
		--circle-border: #9083624D;
		padding: 2.4rem 3.4rem 1.8rem 12rem;
		min-height: 16rem;
		gap: 1.3rem;

		&:before {
			right: calc(0.5rem + var(--icon-right));
		}

		&:after {
			border-radius: 1rem;
			aspect-ratio: auto;
			height: 2.8rem;
		}

		span {
			font-size: 2.4rem;
		}

		em {
			font-size: 1.6rem;
		}

		.t_menu_item_img {
			border-radius: 1.2rem;
			width: 10rem;
		}

		&:hover {
			opacity: 1;

			span {
				color: var(--gold_02);
			}

			.t_menu_item_img img {
				scale: 1.1;
			}

			&:before {
				right: calc(0.8rem + var(--icon-right));
				background: var(--white);
			}

			&:after {
				width: 3.4rem;
				background: var(--gold_03);
				border-radius: 2rem;
			}
		}
	}

	.t_menu_faq {
		display: flex;
		flex-direction: row;
		gap: 0;
		padding: 6rem 5rem;
		margin-top: 10rem;

		&:before {
			top: auto;
			left: auto;
			bottom: -10.9rem;
			right: 49.1rem;
			width: 133.8rem;
		}

		&:after {
			left: auto;
			right: 0;
			bottom: -4rem;
			font-size: 20rem;
		}
	}

	.t_menu_faq_head {
		padding-right: 4rem;
		width: 35rem;
	}

	.t_menu_faq_ttl {
		gap: 1.2rem;

		span {
			font-size: 3rem;
		}

		em {
			font-size: 2.2rem;
		}
	}

	.t_menu_faq_txt {
		font-size: 2rem;
		margin-top: 4rem;
	}

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

.t_scope {
	position: relative;

	.t_scope_head {
		height: 39.6rem;
		gap: 2.2rem;
		border-radius: 2rem;
		z-index: 1;
		padding-bottom: 1rem;
	}

	.t_scope_head_ttl {
		--icon-size: 8rem;
		--circle-size: 10.6rem;
		padding-top: 12.8rem;
		gap: 1.1rem;

		&:before {
			top: 1.3rem;
		}

		&:after {
			border-radius: 2rem;
		}

		span {
			font-size: 3rem;
		}

		em {
			font-size: 2rem;
		}
	}

	.t_scope_head_btn {
		padding: 0;
		left: 0rem;
		width: 4rem;
		aspect-ratio: 1/1;

		&:before {
			top: 50%;
			right: 0;
			width: 4rem;
		}

		.txt01 {

			&:before,
			&:after {
				right: 0.9rem;
				width: 2.2rem;
			}

			span {
				display: none !important;
			}

			em {
				display: none !important;
			}
		}
	}

	.t_scope_body_wrap {
		margin-top: 0;
		min-height: auto;
		position: absolute;
		top: 23rem;
		left: 50%;
		width: 100%;
		transform: translateX(-50%);
		opacity: 0;
		pointer-events: none;
		transition: 0.8s;

		.t_scope.on & {
			opacity: 1;
			pointer-events: auto;
			top: 26rem;
		}
	}

	.t_scope_body {
		display: block;
	}

	.t_scope_body_content {
		padding: 3.5rem;
		width: calc(100% - 5rem);
		margin: 0 auto;
	}

	.t_scope_body_list {
		a {
			padding: 1.8rem 4.4rem 1.7rem 5.5rem;
			--icon-color: var(--gold_03);
			--icon-size: 1.8rem;
			--circle-size: 2.8rem;
			--circle-color: var(--grayge_00);
			--icon-right: 1rem;

			&:before {
				top: 1.7rem;
				left: 1rem;
				font-size: 2rem;
			}

			span {
				font-size: 2.2rem;

				&:before {
					right: calc(0.5rem + var(--icon-right));
				}

				&:after {
					border-radius: 1rem;
					aspect-ratio: auto;
					height: 2.8rem;
				}
			}

			em {
				font-size: 2rem;
			}

			&:hover {
				opacity: 1;
				background: var(--lightgeige);

				span {
					color: var(--gold_03);

					&:before {
						right: calc(0.8rem + var(--icon-right));
						background: var(--white);
					}

					&:after {
						width: 3.4rem;
						background: var(--gold_03);
						border-radius: 2rem;
					}
				}

				em {}
			}
		}
	}

	.t_scope_btn {
		margin-top: 2.5rem;
	}
}

.t_faq {
	padding: 2.8rem;

	.t_faq_ttl {
		padding: 1.5rem 0;
		border-radius: 5rem;
		font-size: 2.3rem;
	}

	.t_faq_list {
		margin-top: 3rem;

		a {
			padding: 1.7rem 4rem 1.7rem 1rem;
			--icon-color: var(--gold_03);
			--icon-size: 1.8rem;
			--circle-size: 2.8rem;
			--circle-color: var(--grayge_00);
			--icon-right: 1rem;
			font-size: 2rem;
			color: var(--gold_03);

			&:before {
				right: calc(0.5rem + var(--icon-right));
			}

			&:after {
				border-radius: 1rem;
				aspect-ratio: auto;
				height: 2.8rem;
			}

			&:hover {
				opacity: 1;
				background: var(--lightgeige);

				&:before {
					right: calc(0.8rem + var(--icon-right));
					background: var(--white);
				}

				&:after {
					width: 3.4rem;
					background: var(--gold_03);
					border-radius: 2rem;
				}
			}
		}
	}

	.t_faq_btn {
		margin-top: 3rem;

		.m_btn01 {
			width: 100%;
		}
	}
}

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

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

	.t_ttl01 {
		gap: 1rem;
		margin-bottom: 3rem;

		em {
			color: var(--gold_03);
		}

		span {
			color: var(--gold_03);
		}
	}

	.t_symptoms_block {
		display: flex;
	}

	.t_symptoms_head {
		width: 36rem;
	}

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

	.t_symptoms_body {
		padding: 4rem 3.5rem;
		margin-top: 0;
		flex: 1;
	}

	.t_symptoms_list {
		grid-template-columns: repeat(3, 1fr);
		gap: 1.5rem;
	}

	.t_symptoms_list li a {
		align-items: center;
		padding: 1.4rem 3.6rem 1.4rem 5.9rem;
		height: 8rem;
		font-size: 2rem;

		&:before {
			top: 50%;
			left: 1.6rem;
			width: 2.8rem;
			transition: var(--default-transition);
		}

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

			&:before {
				background-image: url(../images/icon_check_white.svg);
			}
		}
	}

	.t_symptoms_search {
		margin-top: 7rem;
	}
}

.t_search {
	padding: 4.9rem 6rem 5.5rem;

	&:before {
		--dot-pos: 2rem;
		--dot-size: 0.7rem;
	}

	.t_search_head {
		display: flex;
		align-items: center;
		justify-content: flex-start;
		border-bottom: 2px dashed #B9A463;
		gap: 6rem;
		padding-bottom: 2rem;
	}

	.t_search_ttl {
		padding: 0.2rem 0 0.2rem 4.8rem;
		font-size: 2.4rem;
		border-bottom: 0;
		letter-spacing: 0.22em;

		&:before {
			top: 50%;
			transform: translateY(-50%);
			left: 0;
			width: 4rem;
		}
	}

	.t_search_txt {
		margin-top: 0;
		font-size: 2rem;
	}

	.t_search_tabs_btns {
		margin-top: 4rem;
	}

	.t_search_tabs_btns button {
		font-size: 2rem;
		padding: 1.5rem 0;
		flex: 1;

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

		&:before {
			top: calc(100% + 1.5rem);
			width: 2rem;
		}

		&:nth-of-type(1) {
			border-radius: 6rem 0 0 6rem;
		}

		&:nth-of-type(2) {
			flex: 1;
		}

		&:last-of-type {
			border-radius: 0 6rem 6rem 0;
		}
	}

	.t_search_tabs_items {
		margin-top: 3rem;
	}

	.t_search_list {
		background: var(--lightbeige_02);
		padding: 3rem;
		gap: 1.5rem;
		grid-template-columns: repeat(3, 1fr);
	}

	.t_search_list li a {
		--icon-size: 1.8rem;
		--circle-size: 2.8rem;
		--circle-color: var(--grayge_00);
		--icon-right: 1.6rem;
		color: var(--gold_03);
		font-size: 2rem;
		padding: 1.2rem 5rem 1.2rem 1.6rem;
		min-height: 8rem;
		align-items: center;

		&:before {
			right: calc(0.5rem + var(--icon-right));
		}

		&:after {
			border-radius: 1rem;
			aspect-ratio: auto;
			height: 2.8rem;
		}

		&:hover {
			opacity: 1;
			border-color: var(--gold_03);

			&:before {
				right: calc(0.8rem + var(--icon-right));
				background: var(--white);
			}

			&:after {
				width: 3.4rem;
				background: var(--gold_03);
				border-radius: 2rem;
			}
		}
	}
}

/*++++++++++++++++++++++++++++
t_slider
++++++++++++++++++++++++++++*/
.t_slider {
	width: max(100vw, 100%);
	--speed: 200s;
	--gap: 3rem;
	margin-top: 6.5rem;

	.t_slider_item figure {
		width: 45rem;
	}
}

/*++++++++++++++++++++++++++++
t_feature
++++++++++++++++++++++++++++*/
.t_feature {
	background: var(--beige_03);
	padding: 13.1rem 0 0rem;
	margin-top: -3rem;
	position: relative;
	z-index: 10;

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

.t_feature_box {
	&:nth-of-type(2) {
		background: var(--lightgeige);
	}
}

.t_pickup {
	position: relative;

	.t_pickup_head picture {
		height: 73rem;
	}

	.t_pickup_body {
		margin-top: 4rem;
	}

	.t_pickup_ttl01 {
		position: absolute;
		top: 0;
		left: 0;
		padding: 2.9rem 5rem 2.3rem 10.5rem;
		gap: 1rem;

		&:before {
			width: calc(100% - var(--over-margin03));
			border-radius: 0 14.2rem 14.2rem 0;
		}

		img {
			width: 8.5rem;
		}

		.txt01 {}

		.txt01 span {
			padding: 1rem 1rem;
			font-size: 2rem;
		}

		.txt01 em {
			width: 4rem;
			font-size: 2rem;
		}

		.txt02 {
			font-size: 3rem;
		}

		.t_feature_box:nth-of-type(2) & {
			top: 8rem;
			left: auto;
			right: -2.5rem;
			padding-left: 14.5rem;
			padding-right: 2.5rem;

			&:before {
				border-radius: 14.2rem 0 0 14.2rem;
			}

			img {
				left: 4.2rem;
			}
		}
	}

	.t_pickup_ttl02 {
		gap: 1.5rem;

		&:before {
			bottom: 3rem;
			font-size: 20rem;
		}

		.txt01 {
			padding: 0.1rem 1.4rem;
			border-radius: 1.2rem;
			font-size: 2.8rem;
		}

		.txt01:has(em) {
			padding: 0.5rem 1.4rem;
		}

		.txt01 em {
			font-size: 3.2rem;
			top: -0.1em;
		}

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

	.t_pickup_ttl03 {
		font-size: 3rem;
		width: fit-content;

		&:before {
			font-size: 20rem;
		}
	}

	.t_pickup_txt {
		margin-top: 3rem;
		font-size: 2rem;
	}

	.t_pickup_btn {
		margin-top: 3.5rem;

		.m_btn01 {
			min-width: 30rem;
			margin: 0;
		}
	}

	.t_pickup_block {
		margin-top: 5rem;
		display: grid;
		gap: 5.1rem;
	}

	.t_pickup_col02_sp {
		gap: 5rem 1.9rem;
	}

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

	.t_pickup_col04 {
		grid-template-columns: repeat(4, 1fr);
		gap: 5rem 2.8rem;
	}

	.t_pickup_col05 {
		grid-template-columns: repeat(5, 1fr);
		gap: 5rem 2.8rem;
	}

	.t_pickup_item {
		gap: 0;

		.t_pickup_item_img {
			height: 24.3rem;

			.t_pickup_col04 & {
				height: 20.9rem;
			}

			.t_pickup_col05 & {
				height: 18.4rem;
			}
		}

		.t_pickup_item_txt {
			font-size: 2rem;
			margin-top: 1.5rem;

			.t_pickup_col02_sp & {
				font-size: 2rem;
				margin-top: 1.5rem;
				letter-spacing: 0.116em;
			}
		}

		.t_pickup_item_btn {
			margin-top: 3rem;

			.t_pickup_col04 & {
				margin-top: 2.7rem;
			}

			.t_pickup_col05 & {
				margin-top: 2rem;
			}
		}

		.m_btn01 {
			max-width: none;
			min-width: auto;
			width: 100%;

			.t_pickup_col02_sp & {
				min-height: 6.4rem;
			}
		}
	}

	&:nth-of-type(n+2) {
		padding-top: 0;
		margin-top: 8rem;
		border-top: 0;
	}

	&.t_pickup01 {
		padding-top: 0;
		display: flex;
		flex-direction: row-reverse;
		gap: 8rem;
		position: relative;

		&:before {
			top: 61.1rem;
			left: var(--over-margin03);
			width: 96rem;
			aspect-ratio: 960/805;
			background: url(../images/top/feature_bg01.png) center / 100% no-repeat;
		}

		.t_pickup_block {}

		.t_pickup_head {
			flex: 1;
		}

		.t_pickup_head picture {
			border-radius: 2rem 0 0 2rem;
			margin-right: var(--over-margin03);
			height: 100%;
		}

		.t_pickup_body {
			padding-top: 22.8rem;
			padding-left: 2rem;
			padding-bottom: 4.2rem;
			width: 72rem;
			margin-top: 0;
		}
	}

	&.t_pickup02 {
		position: relative;
		isolation: isolate;
		display: flex;
		gap: 8rem;

		.t_pickup_block {}

		.t_pickup_head {
			flex: 1;
		}

		&:before {
			top: 18.1rem;
			left: auto;
			right: var(--over-margin03);
			width: 96rem;
			aspect-ratio: 960/806;
			background: url(../images/top/feature_bg02.png) center / 100% no-repeat;
		}

		.t_pickup_body {
			width: 72rem;
			margin-top: 0;
			padding: 4.1rem 0 2.1rem;
		}

		.t_pickup_ttl02:before {
			bottom: 5.4rem;
			right: -6rem;
		}

		.t_pickup_ttl02 img {
			width: 21rem;
			top: 0;
			right: auto;
			left: 40.9rem;
		}

		.t_pickup_head picture {
			border-radius: 0 2rem 2rem 0;
			margin-left: var(--over-margin03);
			height: 100%;
		}
	}

	&.t_pickup03 {
		margin-top: 12rem;

		.t_pickup_ttl03:before {
			bottom: -3.3rem;
			right: -8rem;
		}

		&:before {
			display: none;
		}

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

	&.t_pickup04 {
		padding-bottom: 10rem;
		margin-top: 10rem;

		.t_pickup_ttl03 {
			margin-left: auto;
			padding-right: 7.2rem;
		}

		.t_pickup_ttl03:before {
			bottom: -3.2rem;
			right: -4rem;
		}

		&:before {
			content: '';
			display: block;
			position: absolute;
			bottom: 0;
			left: var(--over-margin03);
			width: 96rem;
			aspect-ratio: 960/790;
			z-index: -1;
			background: url(../images/top/feature_bg03.png) center / 100% no-repeat;
		}
	}

	&.t_pickup05 {
		padding-top: 12rem;

		.t_pickup_ttl03:before {
			bottom: -0.8rem;
			right: -16.7rem;
		}

		&:before {
			left: auto;
			right: var(--over-margin03);
			width: 96rem;
			aspect-ratio: 960/790;
			background: url(../images/top/feature_bg04.png) center / 100% no-repeat;
		}
	}

	&.t_pickup06 {
		padding-bottom: 11.8rem;
		margin-top: 10rem;

		.t_pickup_ttl03 {
			text-align: center;
			margin: 0 auto;
		}

		.t_pickup_ttl03:before {
			bottom: 0.7rem;
		}

		&:before {
			right: auto;
			left: var(--over-margin03);
			width: 96rem;
			aspect-ratio: 960/790;
			background: url(../images/top/feature_bg05.png) center / 100% no-repeat;
		}
	}
}