@charset "utf-8";

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

.t_ttl01 {
	display: flex;
	flex-direction: column;
	margin-bottom: 3rem;
	gap: 0.8rem;
	position: relative;

	span {
		font-family: var(--font-en);
		color: var(--gold_02);
		font-size: 1.6rem;
		letter-spacing: 0.04em;
		line-height: 1.3;
	}

	em {
		font-family: var(--font-min);
		color: var(--black_logo);
		font-size: 2.2rem;
		letter-spacing: 0.12em;
		line-height: 1.6;
		font-weight: 500;
	}

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

	&.has_icon {
		--icon-url: url(../images/icon_calendardots.svg);
		--icon-color: var(--gold_01);
		--icon-size: 3.8rem;
		--circle-size: 5.4rem;
		--circle-color: #fff;
		padding-top: 6.6rem;

		&:before {
			content: '';
			display: block;
			position: absolute;
			top: 0.8rem;
			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;
			background: var(--icon-color);
			z-index: 2;
		}

		&:after {
			content: '';
			display: block;
			position: absolute;
			top: 50%;
			top: 0;
			left: 0;
			aspect-ratio: 1/1;
			width: var(--circle-size);
			z-index: 1;
			border-radius: 0.8rem;
			background: var(--circle-color);
		}
	}
}

.t_ttl02 {
	font-weight: 500;
	font-size: 1.7rem;
	line-height: 1.7;
	padding: 0.8rem 1rem;
	position: relative;
	color: #fff;
	background: var(--gold_03);
	border-radius: 0.5rem;
	margin-bottom: 2.5rem;
}

/*++++++++++++++++++++++++++++
l_mv
++++++++++++++++++++++++++++*/
.l_mv {
	position: relative;
	height: 100rem;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 2rem 1.5rem;
}

.l_mv_inner {
	position: absolute;
	top: 9rem;
	left: 0;
	width: 100%;
}

.l_mv_slider {
	z-index: 1;
}

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

.l_mv_slider_item {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	height: 100%;
}

.l_mv_img {
	width: 35.5rem;
	height: 22rem;
	margin-left: auto;
	aspect-ratio: auto;
	z-index: 1;
	overflow: hidden;
	border-radius: 1rem 0 0 1rem;
	margin-top: 3rem;
}

.l_mv_slider_txt {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	font-family: var(--font-min);
	padding-left: 2rem;

	.txt01 {
		padding: 0.2rem 0.8rem;
		background: var(--beige_00);
		border-radius: 0.5rem;
		font-family: var(--font-min);
		color: var(--gold_03);
		letter-spacing: 0.1em;
		line-height: calc(32/15);
		font-weight: 500;
		font-size: 1.4rem;
	}

	.txt01_big {
		font-size: 1.5rem;

		span {
			font-size: 1.6rem;
			letter-spacing: 0.1em;
			line-height: calc(32/16);
		}

		em {
			line-height: calc(32/18);
			font-size: 1.8rem;
			font-family: var(--font-num);
			font-weight: 600;
			letter-spacing: 0.04em;
			position: relative;
			top: 0.1em;
		}
	}

	.txt02 {
		margin-top: 1rem;
		font-size: 2.9rem;
		font-weight: 500;
		line-height: 1.6;
		letter-spacing: 0.1em;
		font-weight: 500;

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

	.txt03 {
		margin-top: 1.2rem;
		font-size: 1.8rem;
		letter-spacing: 0.1em;
		line-height: 1.8;
		font-weight: 500;

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

	.txt04 {
		margin-top: 1.2rem;
		font-size: 1.5rem;
		line-height: 1.6;
		letter-spacing: 0.1em;
		font-weight: 500;

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

.l_mv .swiper-pagination {
	position: absolute;
	left: auto;
	top: auto;
	right: 2rem;
	bottom: 2rem;
	display: flex;
	gap: 0.6rem;
	margin-top: 0;
	margin-left: auto;
	width: fit-content;
	padding-right: 0;

	.swiper-pagination-bullet {
		background: #fff;
		opacity: 0.5;
	}

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

.l_mv_points {
	--arrow-url: url(../images/icon_arrow.svg);
	--arrow-color: var(--gold_03);
	--arrow-bg: var(--grayge_00);
	display: grid;
	gap: 0.8rem;

	.l_mv_point {
		padding: 1.1rem 3.3rem 1.1rem 7.9rem;
		background: #fff;
		border-radius: 1rem;
		text-decoration: none;
		display: flex;
		position: relative;

		&:before {
			content: '';
			display: block;
			position: absolute;
			top: 50%;
			left: 1.1rem;
			width: 5.4rem;
			aspect-ratio: 1/1;
			z-index: 1;
			transform: translateY(-50%);
			background: var(--url) center / 100% no-repeat;
			border-radius: 50%;
		}
	}

	.l_mv_point_txt {
		display: flex;
		flex-direction: column;
		gap: 0.3rem;

		span {
			color: var(--gold_02);
			font-size: 1.3rem;
			letter-spacing: 0.1em;
			line-height: 1.4;
		}

		em {
			font-family: var(--font-min);
			color: var(--gold_03);
			font-size: 1.5rem;
			letter-spacing: 0.1em;
			line-height: 1.4;
			font-weight: 500;
		}

		&:before {
			content: '';
			display: block;
			position: absolute;
			bottom: 1.1rem;
			right: 1.1rem;
			width: 2.2rem;
			aspect-ratio: 1/1;
			z-index: 1;
			border-radius: 0.8rem;
			background: var(--arrow-bg);
		}

		&:after {
			content: '';
			display: block;
			position: absolute;
			bottom: 1.5rem;
			right: 1.5rem;
			width: 1.4rem;
			aspect-ratio: 1/1;
			z-index: 1;
			-webkit-mask: var(--arrow-url) center / 100% no-repeat;
			mask: var(--arrow-url) center / 100% no-repeat;
			background: var(--arrow-color);
		}
	}

	.l_mv_point_pickup {
		--arrow-color: #fff;
		--arrow-bg: #FFFFFF4D;
		background: linear-gradient(99.97deg, #B9A463 0%, #B8A053 100%);
		border-bottom: 1px solid #90836280;

		.l_mv_point_txt {
			span {
				color: #fff;
			}

			em {
				color: #fff;
			}
		}
	}

	.l_mv_point02 {
		background: #fff;
		border-radius: 1rem;
		padding: 1.1rem;
		box-shadow: 0px 0px 30px 0px #0000001A;
	}

	.l_mv_point02_ttl {
		color: var(--gold_03);
		font-size: 1.5rem;
		letter-spacing: 0.1em;
		line-height: 1.4;
		font-family: var(--font-min);
		font-weight: 500;
	}

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

		a {
			text-decoration: none;
			border-radius: 0.5rem;
			overflow: hidden;
			height: 6.5rem;
			padding: 1rem;
			position: relative;
			display: flex;
			align-items: center;
			/* アロー */
			--arrow-url: url(../images/icon_arrow.svg);
			--arrow-color: var(--gold_03);
			--arrow-size: 1.1rem;
			/* 円 */
			--circle-size: 1.8rem;
			--circle-height: var(--circle-size);
			--circle-bg-color: #fff;
			--circle-border-color: transparent;
			--circle-border-width: 0px;

			&:before {
				content: '';
				display: block;
				position: absolute;
				bottom: 0.5rem;
				right: 0.5rem;
				width: var(--circle-size);
				height: var(--circle-height);
				-webkit-mask: var(--arrow-url) center / var(--arrow-size) no-repeat;
				mask: var(--arrow-url) center / var(--arrow-size) no-repeat;
				background: var(--arrow-color);
				z-index: 3;
			}

			&:after {
				content: '';
				display: block;
				position: absolute;
				bottom: 0.5rem;
				right: 0.5rem;
				width: var(--circle-size);
				height: var(--circle-height);
				z-index: 2;
				border: var(--circle-border-width) solid var(--circle-border-color);
				border-radius: 0.6rem;
				background: var(--circle-bg-color);
			}

			.txt {
				position: relative;
				z-index: 10;
				font-size: 1.4rem;
				line-height: 1.4;
				letter-spacing: 0.1em;
				color: var(--gold_03);
				text-shadow: 0px 0px 8px #FFFFFFCC;
			}

			.oft {
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				z-index: 1;
			}
		}
	}
}

.l_mv_scroll {
	position: absolute;
	bottom: -3.5rem;
	left: 50%;
	transform: translateX(-50%);
	font-family: var(--font-en);
	color: var(--gold_01);
	font-size: 1.5rem;
	letter-spacing: 0.04em;
	line-height: 1;
	padding-bottom: 2.2rem;
	text-decoration: none;

	&:before {
		content: '';
		display: block;
		position: absolute;
		bottom: 0;
		left: 50%;
		transform: translateX(-50%);
		width: 1.5rem;
		aspect-ratio: 15/9;
		z-index: 1;
		background: url(../images/top/scroll_arrow.svg) center / 100% no-repeat;
	}
}

/*++++++++++++++++++++++++++++
t_topic
++++++++++++++++++++++++++++*/
.t_topic {
	padding: 5.3rem 0 5rem;

	.t_topic_block {
		background: #fff;
		padding: 2.5rem 2rem;
		border-radius: 1rem;
	}

	.t_topic_tabs {
		display: flex;
		gap: 1rem;
		flex-wrap: wrap;
	}

	.t_topic_tab {
		border-radius: 0.8rem;
		background: var(--lightgeige);
		padding: 1rem 1.4rem 1rem calc(1.4rem - 0.12em);
		line-height: 1.25;
		font-size: 1.5rem;
		letter-spacing: 0.12em;
		color: var(--black_logo);
	}

	.t_topic_tab.on {
		color: #fff;
		background: var(--gold_03);
	}

	.t_topic_txt {
		margin-top: 2.2rem;
		font-size: 1.5rem;
	}

	.t_topic_list {
		margin-top: 2.2rem;
	}

	.t_topic_btn {
		margin-top: 2.5rem;
	}

	.t_topic_btn02_wrap {
		margin-top: 2.5rem;
	}

	.t_topic_btn02 {
		--icon-url: url(../images/icon_arrow.svg);
		--icon-color: var(--gold_03);
		--icon-size: 1.4rem;
		--circle-size: 2.2rem;
		--circle-color: #fff;
		--circle-border: #9083624D;
		color: var(--gold_03);
		padding-left: 3.2rem;
		padding-top: 0.1rem;
		font-size: 1.5rem;
		position: relative;

		&:before {
			content: '';
			display: block;
			position: absolute;
			top: 50%;
			left: 0.4rem;
			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;
			background: var(--icon-color);
			z-index: 2;
			transform: translateY(-50%);
		}

		&:after {
			content: '';
			display: block;
			position: absolute;
			top: 50%;
			left: 0;
			width: var(--circle-size);
			aspect-ratio: 1/1;
			z-index: 1;
			border-radius: 0.8rem;
			background: var(--circle-color);
			transform: translateY(-50%);
			border: 1px solid var(--circle-border);
		}
	}
}

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

	.t_news02_block {
		position: relative;
		isolation: isolate;
		padding: 4rem 2.5rem;
		margin: 0 -0.5rem 0;
		border: 5px solid #B9A4634D;
		border-radius: 1.2rem;
		background: url(../images/dot.svg) 1.4rem 1.4rem / 0.6rem no-repeat,
			url(../images/dot.svg) right 1.4rem top 1.4rem / 0.6rem no-repeat,
			url(../images/dot.svg) left 1.4rem bottom 1.4rem / 0.6rem no-repeat,
			url(../images/dot.svg) right 1.4rem bottom 1.4rem / 0.6rem no-repeat;
		background-color: #fff;
	}

	.t_news02_head {
		position: relative;
		/* padding: 4rem 0; */
	}

	.t_news02_head_list {
		display: flex;
		flex-direction: column;
	}

	.t_news02_head_item {
		text-decoration: none;
		border-radius: 0;
		padding: 0;
		position: relative;
		padding-bottom: 2rem;
		margin-bottom: 2rem;
		border-bottom: 1px dashed #90836280;
	}

	.t_news02_head_item_ttl {
		color: var(--gold_03);
		font-family: var(--font-min);
		font-size: 1.6rem;
		letter-spacing: 0.1em;
		line-height: 1.6;
		font-weight: 500;
		background: var(--beige_00);
		padding: 0.8rem 1.2rem;
		border-radius: 0.8rem;
		text-align: center;
		margin-bottom: 1.5rem;
	}

	.t_news02_head_item_txt {
		font-size: 1.5rem;

		strong {
			font-weight: 500;
			color: var(--gold_02);
		}
	}

	.t_news02_body {
		position: relative;
		padding: 0;
	}

	.t_news02_body_col {
		display: flex;
		flex-direction: column;
		gap: 2.5rem;
	}

	.t_news02_body_item {
		text-decoration: none;
	}

	.t_news02_body_item_ttl {
		font-family: var(--font-min);
		color: var(--white);
		font-size: 1.5rem;
		letter-spacing: 0.12em;
		line-height: 1.6;
		padding: 0.5rem 1.2rem;
		background: var(--gold_01);
		margin-bottom: 2rem;
		text-align: center;
		border-radius: 5rem;
	}

	.t_news02_body_item_list {
		display: grid;
		gap: 1rem;
	}

	.t_news02_body_item_list li {
		position: relative;
		padding-left: 2.2rem;
		padding: 0 0 1rem 2.2rem;
		border-bottom: 1px solid #9083624D;
		font-size: 1.4rem;
		line-height: 1.8;
	}

	.t_news02_body_item_list li:before {
		content: "";
		display: block;
		position: absolute;
		top: 0.9rem;
		left: 0.8rem;
		width: 0.6rem;
		aspect-ratio: 1/1;
		z-index: 1;
		border-radius: 50%;
		background: var(--gold_01);
	}

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

	.t_news02_body_item_table tr {
		border-top: 1px solid #9083624D;
	}

	.t_news02_body_item_table tr:last-of-type {
		border-bottom: 1px solid #9083624D;
	}

	.t_news02_body_item_table th {
		width: 7.8rem;
		padding-right: 1rem;
		color: var(--gold_03);
	}
}

/*++++++++++++++++++++++++++++
t_wrap01
++++++++++++++++++++++++++++*/
.t_wrap01 {
	background: var(--lightbeige_02);
	padding: 2rem;
}

/*++++++++++++++++++++++++++++
t_calendar
++++++++++++++++++++++++++++*/
.t_calendar {
	display: flex;
	flex-direction: column;
	gap: 3rem;

	.t_ttl01 {
		margin-bottom: 2rem;
	}

	.t_calendar_txt {
		font-size: 1.5rem;
	}

	.t_calendar_body {
		background: #fff;
		border-radius: 0.5rem;
		padding: 1rem;
	}
}

/*++++++++++++++++++++++++++++
.t_outpatient
++++++++++++++++++++++++++++*/
.t_outpatient {
	margin-top: 2.8rem;
	padding-top: 3rem;
	border-top: 1px solid #CEC3A5;

	.m_table_scroll {
		margin-left: -2rem;
		margin-right: -2rem;

		&:before {
			left: 2rem;
		}

		.m_table_scroll_in {
			padding-left: 2rem;
			padding-right: 2rem;
		}

		.simplebar-track {
			width: calc(100% - 4rem);
			left: 2rem !important;
		}
	}

	.t_outpatient_box {
		margin-top: 3rem;
	}

	.t_outpatient_attention {
		margin-top: 3rem;
		padding: 2rem;
		border-radius: 1.2rem;
		background: var(--beige_00);
	}

	.t_outpatient_attention_ttl {
		padding: 1.2rem 1rem;
		background: #fff;
		color: var(--gold_03);
		line-height: 1.3;
		font-size: 1.5rem;
		border-radius: 0.5rem;
	}

	ul {
		--gap-col: 1rem;
		--gap-row: 1rem;
		--col: 1;
		display: flex;
		flex-wrap: wrap;
		gap: var(--gap-row) var(--gap-col);
		margin-top: 2rem;

		li {
			width: calc(100% / var(--col) - var(--gap-col) * (var(--col) - 1) / var(--col));
			position: relative;
			padding-left: 2.2rem;
			font-size: 1.5rem;
			text-align: left;
			line-height: 1.6;
			color: var(--gold_03);
		}

		li:before {
			content: "";
			display: block;
			position: absolute;
			left: 0.8rem;
			top: 0.9rem;
			width: 0.6rem;
			aspect-ratio: 1/1;
			background: var(--gold_01);
			border-radius: 50%;
		}
	}
}

/*++++++++++++++++++++++++++++
t_wrap02
++++++++++++++++++++++++++++*/
.t_wrap02 {
	background: #fff;
	position: relative;
	z-index: 1;
	margin-top: 5rem;
}

/*++++++++++++++++++++++++++++
t_access
++++++++++++++++++++++++++++*/
.t_access {
	padding: 3rem 0 6rem;

	.t_ttl01 {
		--circle-color: var(--lightbeige_02);
		--icon-url: url(../images/icon_train.svg);
		left: 0.5rem;
		margin-bottom: 2.5rem;
	}

	.t_access_map figure {
		display: block;
		border-radius: 0.6rem;
		overflow: hidden;
		border: 1px solid rgba(144, 131, 98, 0.5);
		margin-top: 0;
	}

	.m_map_link {
		width: fit-content;
		margin-left: auto;
		margin-top: 1rem;
		padding-right: 1rem;
	}

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

	.t_access_data {
		dl {
			padding: 1.4rem 0 1.3rem;
			gap: 1.4rem;
			display: flex;
			border-top: 1px solid rgba(144, 131, 98, 0.3);
			align-items: flex-start;
		}

		dl:last-of-type {
			border-bottom: 1px solid rgba(144, 131, 98, 0.3);
		}

		dt {
			width: 7.2rem;
			border-radius: 0.5rem;
			background: var(--lightgeige);
			color: var(--gold_03);
			font-size: 1.4rem;
			line-height: 1.7;
			padding: 0.2rem 0;
			text-align: center;
		}

		dd {
			flex: 1;
			line-height: 1.7;
			font-size: 1.4rem;
		}
	}

	.t_access_btn {
		margin-top: 2rem;
	}

	.t_access_bus {
		padding: 2rem 2rem 3rem;
		border-radius: 1.2rem;
		background: #E9EFF5 url(../images/top/access_bus_sp.png) center top / 100% no-repeat;
		border: 1px solid #9083624D;
		text-decoration: none;
		display: block;
		margin-top: 5rem;

		.t_access_bus_ttl {
			--icon-url: url(../images/icon_bus.svg);
			--icon-color: var(--blue_01);
			--icon-size: 3.8rem;
			--circle-size: 5.4rem;
			--circle-color: #C2DCEE;
			padding-top: 6.4rem;
			font-family: var(--font-min);
			color: var(--blue_01);
			font-size: 2.2rem;
			letter-spacing: 0.1em;
			line-height: calc(32/22);
			font-weight: 500;
			position: relative;

			&:before {
				content: '';
				display: block;
				position: absolute;
				top: 0.8rem;
				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;
				background: var(--icon-color);
				z-index: 2;
			}

			&:after {
				content: '';
				display: block;
				position: absolute;
				top: 50%;
				top: 0;
				left: 0;
				aspect-ratio: 1/1;
				width: var(--circle-size);
				z-index: 1;
				border-radius: 0.8rem;
				background: var(--circle-color);
			}
		}

		.t_access_bus_txt {
			color: var(--blue_01);
			font-size: 1.5rem;
			margin-top: 2rem;
		}

		.t_access_bus_btn {
			--icon-url: url(../images/icon_arrow.svg);
			--icon-color: #fff;
			--icon-size: 1.4rem;
			--circle-size: 2.2rem;
			--circle-color: #FFFFFF33;
			--icon-right: 1.2rem;
			position: relative;
			display: flex;
			align-items: center;
			text-align: left;
			justify-content: flex-start;
			text-decoration: none;
			width: 100%;
			color: #fff;
			background: var(--blue_01);
			font-size: 1.5rem;
			line-height: 1.4;
			letter-spacing: 0.12em;
			padding: 1rem 5rem 1rem 1.2rem;
			max-width: 28.5rem;
			min-height: 5.4rem;
			margin: 2rem auto 0;
			border-radius: 0.8rem;
			box-shadow: 0px 0.3rem 0.3rem 0px #0000001F;

			&:before {
				content: '';
				display: block;
				position: absolute;
				top: 50%;
				right: calc(0.4rem + var(--icon-right));
				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;
				background: var(--icon-color);
				z-index: 2;
				transform: translateY(-50%);
			}

			&:after {
				content: '';
				display: block;
				position: absolute;
				top: 50%;
				right: var(--icon-right);
				width: var(--circle-size);
				aspect-ratio: 1/1;
				z-index: 1;
				border-radius: 0.8rem;
				background: var(--circle-color);
				transform: translateY(-50%);
			}
		}
	}
}

/*++++++++++++++++++++++++++++
t_concept
++++++++++++++++++++++++++++*/
.t_concept {
	position: relative;
	z-index: 10;
	padding: 5rem 0;
	background: var(--gold_01) url(../images/top/concept_bg_sp.jpg) center / cover no-repeat;
	border-radius: 2rem;
	margin-top: -1rem;

	.t_ttl01 {
		align-items: flex-end;
		margin-bottom: 2.5rem;

		span {
			color: #fff;
		}

		em {
			color: #fff;
		}
	}

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

	.t_concept_img {
		margin-left: -2.5rem;
		height: 27.8rem;
		border-radius: 0 2rem 2rem 0;
	}

	.t_concept_body {
		position: relative;
		isolation: isolate;
		z-index: 10;
		margin-top: -5.8rem;
		padding: 3.4rem 0 3.5rem 3rem;

		&:before {
			content: '';
			display: block;
			position: absolute;
			top: 0;
			left: 0;
			width: calc(100% + 2.5rem);
			height: 100%;
			z-index: -1;
			box-shadow: 0px 0px 5rem 0px #0000000D;
			background: #fff;
			border-radius: 1rem 0 0 1rem;
		}
	}

	.t_concept_catch {
		font-family: var(--font-min);
		color: var(--black_logo);
		font-size: 1.9rem;
		letter-spacing: 0.08em;
		line-height: 1.8;
		font-weight: 500;
	}

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

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

	.t_concept_btn {
		margin-top: 2.5rem;

		.m_btn01 {
			max-width: none;
		}
	}
}

.t_system {
	margin-top: 5rem;
	border-radius: 1rem;
	border: 1px solid #FFFFFFCC;
	backdrop-filter: blur(2.4rem);
	box-shadow: 0px 0px 2.4rem 0px #0000001F;
	background: #FFFFFF33;
	padding: 3rem 2rem;
	overflow: hidden;
	position: relative;
	isolation: isolate;

	&:before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 1;
		width: 22rem;
		aspect-ratio: 22 / 13.7;
		background: var(--main-color);
		-webkit-clip-path: polygon(0 100%, 0 0, 100% 0);
		clip-path: polygon(0 100%, 0 0, 100% 0);
		opacity: 0.09;
		background: #fff;
	}

	.t_ttl01 {
		align-items: flex-start;
		margin-bottom: 2.7rem;
	}

	.t_system_txt {
		color: #fff;
		font-size: 1.5rem;
	}

	.t_system_list {
		display: grid;
		gap: 1rem;
		margin-top: 3rem;
	}

	.t_system_item {
		--icon-url: url(../images/icon_arrow.svg);
		--icon-color: #fff;
		--icon-size: 1.4rem;
		--circle-size: 2.2rem;
		--circle-color: #FFFFFF33;
		--icon-right: 1.2rem;
		text-decoration: none;
		display: flex;
		position: relative;
		isolation: isolate;
		overflow: hidden;
		border-radius: 1rem;
		padding: 1.3rem;
		align-items: flex-end;
		height: 11rem;

		&:before {
			content: '';
			display: block;
			position: absolute;
			bottom: 1.4rem;
			right: 1.4rem;
			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;
			background: var(--icon-color);
			z-index: 2;
		}

		&:after {
			content: '';
			display: block;
			position: absolute;
			bottom: 1rem;
			right: 1rem;
			width: var(--circle-size);
			aspect-ratio: 1/1;
			z-index: 1;
			border-radius: 0.8rem;
			background: var(--circle-color);
		}
	}

	.t_system_img {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		z-index: -1;
	}

	.t_system_ttl {
		font-size: 1.4rem;
		line-height: 1.6;
		color: #fff;
	}
}

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

	.t_adviser_block {
		background: #9B9585 url(../images/top/bg_adviser_sp.jpg) center top / cover no-repeat;
		padding: 3rem 2rem 25.6rem;
		border-radius: 1.2rem;
		position: relative;
		isolation: isolate;
		z-index: 1;
		overflow: hidden;

		&:before {
			content: '';
			display: block;
			position: absolute;
			bottom: 0;
			left: 0;
			width: 100%;
			aspect-ratio: 650/480;
			z-index: 1;
			background: url(../images/top/adviser_person_sp.png) center bottom / 100% no-repeat;
		}
	}

	.t_adviser_ttl {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 0.4rem;
		padding-bottom: 1.1rem;
		border-bottom: 1px solid #fff;

		span {
			padding: 0.5rem 1rem;
			color: #fff;
			font-size: 1.6rem;
			letter-spacing: 0.12em;
			line-height: 1.3;
			background: var(--gold_01);
			border-radius: 1rem;
		}

		em {
			margin-top: 0rem;
			font-family: var(--font-min);
			color: #fff;
			font-size: 2.1rem;
			letter-spacing: 0.08em;
			line-height: 1.6;
			font-weight: 500;
		}
	}

	.t_adviser_txt {
		font-size: 1.5rem;
		margin-top: 2rem;
		color: #fff;
	}

	.t_adviser_name {
		position: absolute;
		left: 1.5rem;
		bottom: 7.9rem;
		background: #7F7864E5;
		padding: 1.2rem 1.4rem;
		display: flex;
		flex-direction: column;
		gap: 0.5rem;
		color: #fff;
		border-radius: 1rem;

		.txt01 {
			font-size: 1.4rem;
			line-height: 1.5;
			letter-spacing: 0.12em;
		}

		.txt02 {
			display: flex;
			gap: 0.5rem;

			span {
				font-size: 1.7rem;
				line-height: calc(20/17);
				letter-spacing: 0.12em;
			}

			em {
				font-size: 1.5rem;
				line-height: 1.2;
				letter-spacing: 0.12em;
				padding-top: 0.3rem;
			}
		}
	}

	.t_adviser_bottom {
		position: relative;
		z-index: 10;
		margin-top: -5rem;
	}

	.t_adviser_books {
		filter: drop-shadow(0px 7.81px 13.66px #0000003D);
		margin-right: -2.5rem;
		padding-bottom: 2.5rem;

		&::-webkit-scrollbar {
			display: none;
		}
	}

	.t_adviser_books_list {
		display: flex;
		width: fit-content;
		gap: 1rem;
		padding: 0 1rem;

		li img {
			width: auto;
			height: 13rem;
		}
	}

	.t_adviser_links {
		display: flex;
		gap: 2rem;
		justify-content: center;
		margin-top: 3rem;

		.t_adviser_link {
			--icon-url: url(../images/icon_arrow.svg);
			--icon-color: var(--gold_03);
			--icon-size: 1.4rem;
			--circle-size: 2.2rem;
			--circle-color: #fff;
			--circle-border: #9083624D;
			color: var(--gold_03);
			padding-left: 3.2rem;
			padding-top: 0.1rem;
			font-size: 1.5rem;
			position: relative;

			&:before {
				content: '';
				display: block;
				position: absolute;
				top: 50%;
				left: 0.4rem;
				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;
				background: var(--icon-color);
				z-index: 2;
				transform: translateY(-50%);
			}

			&:after {
				content: '';
				display: block;
				position: absolute;
				top: 50%;
				left: 0;
				width: var(--circle-size);
				aspect-ratio: 1/1;
				z-index: 1;
				border-radius: 0.8rem;
				background: var(--circle-color);
				transform: translateY(-50%);
				border: 1px solid var(--circle-border);
			}
		}
	}
}

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

	.t_ttl01 {
		margin-bottom: 2.8rem;
	}

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

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

	.t_greeting_content {
		position: relative;
		isolation: isolate;
		padding: 4.5rem 0 4rem;

		&:before {
			content: '';
			display: block;
			position: absolute;
			top: 0;
			left: 0;
			width: calc(100% + 2.5rem);
			height: 100%;
			z-index: -1;
			box-shadow: 0px 0px 5rem 0px #0000000D;
			border-radius: 1.2rem 0 0 1.2rem;
			background: #fff;
		}
	}

	.t_greeting_head {
		position: relative;
		padding-bottom: 2.5rem;
		width: 17.6rem;
		margin: 0 auto;
	}

	.t_greeting_head_img {
		position: relative;
		z-index: 1;
		border-radius: 13.5rem;
		border: 1px solid #90836280;
		display: block;
		overflow: hidden;
	}

	.t_greeting_head_name {
		width: 16.5rem;
		position: absolute;
		left: calc(50% + -0.2rem);
		bottom: -0.1rem;
		z-index: 10;
	}

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

	.t_greeting_txt {
		font-size: 1.5rem;
	}

	.t_greeting_btn {
		margin-top: 2.5rem;

		.m_btn01 {
			max-width: none;
		}
	}

	.t_greeting_bg {
		-webkit-clip-path: inset(0);
		clip-path: inset(0);
		position: relative;
		z-index: 1;
		height: 30rem;
		margin-top: -12rem;
	}

	.t_greeting_bg_img {
		position: fixed;
		top: 0;
		left: 0;
		width: 100vw;
		height: 100%;
	}
}

/*++++++++++++++++++++++++++++
t_menu
++++++++++++++++++++++++++++*/
.t_menu {
	background: #fff;
	position: relative;
	padding: 5rem 0 8rem;
	border-radius: 3rem 3rem 0 0;
	margin-top: -3rem;
	z-index: 10;
	isolation: isolate;

	&:before {
		content: '';
		display: block;
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: calc(100% - 25.6rem);
		z-index: -5;
		background: linear-gradient(0deg, #EBE6DC 0%, #FFFFFF 100%);
	}

	&:after {
		content: '';
		display: block;
		position: absolute;
		bottom: 35.3rem;
		left: -6rem;
		width: 80rem;
		aspect-ratio: 1/1;
		z-index: -1;
		border-radius: 50%;
		background: linear-gradient(170.47deg, #FFFFFF 8.62%, rgba(255, 255, 255, 0) 28.82%);
	}

	.t_ttl01 {
		margin-bottom: 1.5rem;
	}

	.t_menu_head_txt {
		font-size: 1.5rem;
	}

	.t_menu_scope {
		display: grid;
		gap: 1rem;
		margin-top: 3.9rem;
	}

	.t_menu_block {
		margin-top: 2rem;
	}

	.t_menu_item {
		--icon-url: url(../images/icon_arrow.svg);
		--icon-color: var(--gold_03);
		--icon-size: 1.4rem;
		--circle-size: 2.2rem;
		--circle-color: var(--lightbeige_02);
		--circle-border: #9083624D;
		--icon-right: 0rem;
		padding: 1.8rem 2.8rem 1.8rem 7.9rem;
		text-decoration: none;
		gap: 1.2rem;
		border-bottom: 1px solid #90836280;
		position: relative;
		display: flex;
		flex-direction: column;
		justify-content: center;
		min-height: 9.9rem;

		&:before {
			content: '';
			display: block;
			position: absolute;
			top: 50%;
			right: calc(0.4rem + var(--icon-right));
			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;
			background: var(--icon-color);
			z-index: 2;
			transform: translateY(-50%);
		}

		&:after {
			content: '';
			display: block;
			position: absolute;
			top: 50%;
			right: var(--icon-right);
			width: var(--circle-size);
			aspect-ratio: 1/1;
			z-index: 1;
			border-radius: 0.8rem;
			background: var(--circle-color);
			transform: translateY(-50%);
			border: 1px solid var(--circle-border);
		}

		span {
			font-family: var(--font-min);
			color: var(--black_logo);
			font-size: 1.8rem;
			letter-spacing: 0.12em;
			line-height: 1.4;
			font-weight: 500;
		}

		em {
			font-family: var(--font-en);
			color: var(--gold_01);
			font-size: 1.3rem;
			letter-spacing: 0.08em;
			line-height: 1;
		}

		.t_menu_item_img {
			border: 1px solid #9083624D;
			border-radius: 0.8rem;
			width: 6.4rem;
			aspect-ratio: 1/1;
			position: absolute;
			top: 50%;
			left: 0;
			transform: translateY(-50%);
		}
	}

	.t_menu_faq {
		display: flex;
		flex-direction: column;
		gap: 2rem;
		border: 2px solid #9083624D;
		border-radius: 1.2rem;
		overflow: hidden;
		background: var(--beige_00);
		position: relative;
		isolation: isolate;
		padding: 2.8rem 1.8rem;
		margin-top: 5rem;

		&:before {
			content: '';
			display: block;
			position: absolute;
			top: -35rem;
			left: -30rem;
			width: 71rem;
			aspect-ratio: 1/1;
			z-index: -2;
			background: linear-gradient(152.71deg, #E9E1C7 64.11%, #E2D7B3 82.43%);
			border-radius: 50%;
			opacity: 0.9;
		}

		&:after {
			content: 'Q&A';
			display: block;
			position: absolute;
			left: -4rem;
			bottom: -4rem;
			font-size: 14rem;
			font-family: var(--font-en);
			line-height: 1;
			letter-spacing: 0.04em;
			color: var(--gold_02);
			z-index: -1;
			opacity: 0.15;
		}
	}

	.t_menu_faq_ttl {
		display: flex;
		flex-direction: column;
		gap: 0.8rem;

		span {
			font-family: var(--font-min);
			color: var(--gold_03);
			font-size: 2rem;
			letter-spacing: 0.14em;
			line-height: 1.5;
			font-weight: 500;
		}

		em {
			font-family: var(--font-en);
			color: var(--gold_01);
			font-size: 1.7rem;
			letter-spacing: 0.04em;
			line-height: 1.3;
		}
	}

	.t_menu_faq_txt {
		font-size: 1.5rem;
		margin-top: 2rem;
		color: var(--gold_03);
	}

	.t_menu_faq_body {
		display: grid;
		gap: 2rem;
	}
}

.t_scope {
	.t_scope_head {
		background: #AB9456D9 var(--url) center / cover no-repeat;
		height: 23rem;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 2rem;
		position: relative;
		border-radius: 1.2rem;
		z-index: 1;
	}

	.t_scope_head_ttl {
		--icon-url: url(../images/icon_illust_colon.svg);
		--icon-color: var(--gold_01);
		--icon-size: 4rem;
		--circle-size: 6rem;
		--circle-color: #fff;
		padding-top: 7.5rem;
		display: flex;
		flex-direction: column;
		justify-content: center;
		position: relative;
		text-align: center;
		gap: 0.8rem;
		text-shadow: 0px 0px 2rem #00000066;

		.t_scope:nth-of-type(2) & {
			--icon-url: url(../images/icon_illust_stomach.svg);
		}

		&:before {
			content: '';
			display: block;
			position: absolute;
			top: 1rem;
			left: 50%;
			transform: translateX(-50%);
			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;
			background: var(--icon-color);
			z-index: 2;
		}

		&:after {
			content: '';
			display: block;
			position: absolute;
			top: 0;
			left: 50%;
			aspect-ratio: 1/1;
			width: var(--circle-size);
			z-index: 1;
			border-radius: 1.4rem;
			background: var(--circle-color);
			transform: translateX(-50%);
		}

		span {
			font-family: var(--font-min);
			color: #fff;
			font-size: 2rem;
			letter-spacing: 0.12em;
			line-height: 1.4;
			font-weight: 500;
		}

		em {
			color: #fff;
			font-size: 1.4rem;
			letter-spacing: 0.12em;
			line-height: 1.4;
			font-weight: 500;
		}
	}

	.t_scope_head_btn {
		position: relative;
		font-size: 1.4rem;
		line-height: 1.4;
		letter-spacing: 0.12em;
		padding: 0.2rem 3.2rem 0.2rem 0;
		left: 0rem;

		&:before {
			content: '';
			display: block;
			position: absolute;
			top: 50%;
			right: 0;
			width: 2.4rem;
			aspect-ratio: 1/1;
			z-index: 1;
			transform: translateY(-50%);
			border: 1px solid #FFFFFFCC;
			background: #FFFFFF33;
			border-radius: 50%;
		}

		.txt01 {
			color: #fff;

			&:before,
			&:after {
				content: '';
				display: block;
				position: absolute;
				top: 50%;
				right: 0.6rem;
				transform: translateY(-50%);
				border-radius: 1rem;
				width: 1.2rem;
				height: 1px;
				background: #fff;
				transition: var(--default-transition);
			}

			&:after {
				transform: translateY(-50%) rotate(90deg);
			}

			em {
				display: none;
			}

			.t_scope.on & {
				span {
					display: none;
				}

				em {
					display: block;
				}
			}
		}
	}

	.t_scope_body_wrap {
		position: relative;
		z-index: 10;
		margin-top: -1.5rem;
		min-height: 1.5rem;
	}

	.t_scope_body {
		position: relative;
		z-index: 10;
		display: none;
	}

	.t_scope_body_content {
		box-shadow: 0px 0px 3rem 0px #0000001A;
		background: #fff;
		border-radius: 1rem;
		padding: 2.5rem 2.2rem;
		width: 30.5rem;
		margin: 0 auto;
		position: relative;
		z-index: 10;
	}

	.t_scope_body_list {
		display: grid;

		li {
			counter-increment: counter;
		}

		li:first-of-type {
			a {
				border-top: 1px solid #90836280;
			}
		}

		a {
			position: relative;
			border-bottom: 1px solid #90836280;
			display: flex;
			flex-direction: column;
			padding: 1.1rem 3.8rem 1.1rem 3.4rem;
			gap: 0.6rem;
			text-decoration: none;
			--icon-url: url(../images/icon_arrow.svg);
			--icon-color: var(--gold_03);
			--icon-size: 1.4rem;
			--circle-size: 2.2rem;
			--circle-color: var(--grayge_00);
			--icon-right: 0rem;

			&:before {
				content: "0" counter(counter);
				display: block;
				position: absolute;
				top: 1.1rem;
				left: 0;
				z-index: 1;
				font-family: var(--font-en);
				color: var(--gold_01);
				line-height: 1.4;
				font-size: 1.7rem;
				letter-spacing: 0;
			}

			span {
				font-size: 1.7rem;
				color: var(--black_logo);
				line-height: 1.4;

				&:before {
					content: '';
					display: block;
					position: absolute;
					top: 50%;
					right: calc(0.4rem + var(--icon-right));
					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;
					background: var(--icon-color);
					z-index: 2;
					transform: translateY(-50%);
				}

				&:after {
					content: '';
					display: block;
					position: absolute;
					top: 50%;
					right: var(--icon-right);
					width: var(--circle-size);
					aspect-ratio: 1/1;
					z-index: 1;
					border-radius: 0.8rem;
					background: var(--circle-color);
					transform: translateY(-50%);
				}
			}

			em {
				line-height: 1.4;
				color: var(--beige_03);
				font-size: 1.4rem;
			}
		}
	}

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

.t_faq {
	border: 2px solid #9083624D;
	border-radius: 1.2rem;
	padding: 2.3rem 1.8rem 2.9rem;
	background: #fff;

	.t_faq_ttl {
		line-height: 1;
		padding: 1.2rem 4.2rem;
		border-radius: 5rem;
		background: var(--gold_01);
		color: #fff;
		text-align: center;
	}

	.t_faq_list {
		margin-top: 1.8rem;

		li:first-of-type {
			a {
				border-top: 1px solid #90836280;
			}
		}

		a {
			position: relative;
			border-bottom: 1px solid #90836280;
			display: flex;
			flex-direction: column;
			padding: 1.3rem 3.3rem 1.3rem 0.5rem;
			gap: 0.6rem;
			text-decoration: none;
			--icon-url: url(../images/icon_arrow.svg);
			--icon-color: var(--gold_03);
			--icon-size: 1.4rem;
			--circle-size: 2.2rem;
			--circle-color: var(--grayge_00);
			--icon-right: 0rem;
			font-size: 1.5rem;
			color: var(--gold_03);
			line-height: 1.6;
			letter-spacing: 0.12em;

			&:before {
				content: '';
				display: block;
				position: absolute;
				top: 50%;
				right: calc(0.4rem + var(--icon-right));
				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;
				background: var(--icon-color);
				z-index: 2;
				transform: translateY(-50%);
			}

			&:after {
				content: '';
				display: block;
				position: absolute;
				top: 50%;
				right: var(--icon-right);
				width: var(--circle-size);
				aspect-ratio: 1/1;
				z-index: 1;
				border-radius: 0.8rem;
				background: var(--circle-color);
				transform: translateY(-50%);
			}
		}
	}

	.t_faq_btn {
		margin-top: 1.8rem;
	}
}

/*++++++++++++++++++++++++++++
t_symptoms
++++++++++++++++++++++++++++*/
.t_symptoms {
	background: #fff;
	padding: 5rem 0 6rem;
	position: relative;
	z-index: 12;
	margin-top: -3rem;
	border-radius: 3rem;

	.t_ttl01 {
		--icon-url: url(../images/icon_handheart.svg);
		--circle-color: var(--lightbeige_02);
		gap: 1rem;
		margin-bottom: 2rem;

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

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

	.t_symptoms_head_txt {
		margin-top: 2rem;
		font-size: 1.5rem;
		color: var(--gold_03);
	}

	.t_symptoms_body {
		padding: 2rem 1.6rem;
		background: var(--lightbeige_02);
		border-radius: 1.2rem;
		margin-top: 2.5rem;
	}

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

	.t_symptoms_list li a {
		text-decoration: none;
		display: flex;
		position: relative;
		padding: 1.4rem 1rem 1.4rem 3.3rem;
		box-shadow: 0px 3px 3px 0px #0000001F;
		border: 1px solid #9083624D;
		border-radius: 0.8rem;
		color: var(--gold_03);
		font-size: 1.5rem;
		line-height: 1.6;
		background: #fff;

		&:before {
			content: '';
			display: block;
			position: absolute;
			top: 50%;
			left: 0.9rem;
			width: 1.6rem;
			aspect-ratio: 1/1;
			z-index: 1;
			transform: translateY(-50%);
			background: url(../images/icon_check.svg) center / 100% no-repeat;
		}
	}

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

.t_search {
	padding: 4rem 2rem;
	background: #fff url(../images/top/search_dots.png) left top / 8px repeat;
	border-radius: 1.2rem;
	border: 5px solid #B9A46333;
	margin: 0 -5px;
	position: relative;
	isolation: isolate;

	&:before {
		--dot-pos: 1.4rem;
		--dot-size: 0.6rem;
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		z-index: -1;
		background: url(../images/dot.svg) var(--dot-pos) var(--dot-pos) / var(--dot-size) no-repeat,
			url(../images/dot.svg) right var(--dot-pos) top var(--dot-pos) / var(--dot-size) no-repeat,
			url(../images/dot.svg) left var(--dot-pos) bottom var(--dot-pos) / var(--dot-size) no-repeat,
			url(../images/dot.svg) right var(--dot-pos) bottom var(--dot-pos) / var(--dot-size) no-repeat;
	}

	.t_search_ttl {
		position: relative;
		padding: 0.25rem 0 2rem 5.3rem;
		font-family: var(--font-min);
		color: var(--gold_03);
		font-size: 1.9rem;
		line-height: 1.5;
		font-weight: 500;
		border-bottom: 2px dashed #B9A463;
		letter-spacing: 0.22em;

		&:before {
			content: '';
			display: block;
			position: absolute;
			top: 0;
			left: 1.1rem;
			width: 3.4rem;
			aspect-ratio: 1/1;
			z-index: 1;
			background: url(../images/icon_search.svg) center / 100% no-repeat;
		}
	}

	.t_search_txt {
		margin-top: 2.5rem;
		font-size: 1.5rem;
		color: var(--gold_03);
	}

	.t_search_tabs_btns {
		display: flex;
		margin-top: 3rem;
	}

	.t_search_tabs_btns button {
		position: relative;
		min-width: 8.7rem;
		transition: var(--default-transition);
		color: var(--gold_03);
		line-height: 1.3;
		letter-spacing: 0.12em;
		font-size: 1.5rem;
		padding: 1.4rem 0;
		display: flex;
		justify-content: center;
		background: var(--lightgeige);

		&:before {
			content: '';
			display: block;
			position: absolute;
			top: calc(100% + 1.5rem);
			left: 50%;
			z-index: 1;
			transform: translateX(-50%);
			width: 2rem;
			aspect-ratio: 20 / 18;
			background: var(--lightbeige_02);
			-webkit-clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
			clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
			opacity: 0;
			transition: var(--default-transition);
		}

		&:nth-of-type(1) {
			border-radius: 3rem 0 0 3rem;
			border: 1px solid var(--gold_03);
			border-right: 0;
		}

		&:nth-of-type(2) {
			flex: 1;
			border-left: 1px solid var(--beige_03);
			border-right: 1px solid var(--beige_03);
			border-top: 1px solid var(--gold_03);
			border-bottom: 1px solid var(--gold_03);
		}

		&:last-of-type {
			border-radius: 0 3rem 3rem 0;
			border: 1px solid var(--gold_03);
			border-left: 0;
		}

		&.on {
			background: var(--gold_03);
			color: #fff;

			&:before {
				opacity: 1;
			}
		}
	}

	.t_search_tabs_items {
		margin-top: 3rem;
	}

	.t_search_list {
		background: var(--lightbeige_02);
		padding: 1.6rem;
		border-radius: 1.2rem;
		display: grid;
		gap: 1rem;
	}

	.t_search_list li a {
		--icon-url: url(../images/icon_arrow.svg);
		--icon-color: var(--gold_03);
		--icon-size: 1.4rem;
		--circle-size: 2.2rem;
		--circle-color: var(--grayge_00);
		--icon-right: 1rem;
		color: var(--gold_03);
		font-size: 1.5rem;
		line-height: 1.6;
		text-decoration: none;
		position: relative;
		border: 1px solid #9083624D;
		background: #fff;
		display: flex;
		box-shadow: 0px 0.3rem 0.3rem 0px #0000001F;
		border-radius: 0.8rem;
		padding: 1.2rem 3.7rem 1.2rem 0.9rem;

		&:before {
			content: '';
			display: block;
			position: absolute;
			top: 50%;
			right: calc(0.4rem + var(--icon-right));
			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;
			background: var(--icon-color);
			z-index: 2;
			transform: translateY(-50%);
		}

		&:after {
			content: '';
			display: block;
			position: absolute;
			top: 50%;
			right: var(--icon-right);
			width: var(--circle-size);
			aspect-ratio: 1/1;
			z-index: 1;
			border-radius: 0.8rem;
			background: var(--circle-color);
			transform: translateY(-50%);
		}
	}
}

/*++++++++++++++++++++++++++++
t_slider
++++++++++++++++++++++++++++*/
.t_slider {
	display: flex;
	width: 100vw;
	max-width: 100%;
	overflow: hidden;
	position: relative;
	z-index: 10;
	margin: 0 auto;
	--speed: 200s;
	--gap: 2rem;
	margin-top: 4.5rem;

	.t_slider_item:first-child {
		animation: loop var(--speed) calc(-1 * var(--speed) / 2) linear infinite;
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
		will-change: transform;
	}

	.t_slider_item {
		animation: loop2 var(--speed) linear infinite;
		display: flex;
		width: auto;
		gap: var(--gap);
		padding: 0 calc(var(--gap) / 2);
	}

	.t_slider_item figure {
		width: 27rem;
		overflow: hidden;
		aspect-ratio: 27/18;
	}

	.t_slider_item figure img {
		display: block;
		border-radius: 1.2rem;
	}
}

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

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

.t_pickup {
	position: relative;

	.t_pickup_head .oft img {
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 101%;
		height: 101%;
	}

	.t_pickup_head picture {
		height: 24rem;
	}

	.t_pickup_body {
		margin-top: 4rem;
	}

	.t_pickup_ttl01 {
		position: absolute;
		left: 0;
		top: 0;
		isolation: isolate;
		padding: 2.1rem 4rem 1.8rem 6.6rem;
		width: fit-content;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 0.6rem;

		&:before {
			content: '';
			display: block;
			position: absolute;
			top: 0;
			right: 0;
			width: calc(100% + 2.5rem);
			height: 100%;
			z-index: -1;
			background: #A5956F;
			border-radius: 0 8rem 8rem 0;
		}

		img {
			display: block;
			position: absolute;
			top: 50%;
			left: 0;
			width: 5.4rem;
			aspect-ratio: 1/1;
			z-index: 1;
			transform: translateY(-50%);
		}

		.txt01 {
			border: 1px solid #fff;
			border-radius: 0.5rem;
			overflow: hidden;
			display: flex;
			background: #fff;
		}

		.txt01 span {
			padding: 0.7rem 0.5rem;
			font-family: var(--font-min);
			color: var(--gold_03);
			font-size: 1.5rem;
			letter-spacing: 0.12em;
			line-height: 1;
			font-weight: 500;
		}

		.txt01 em {
			background: var(--gold_03);
			width: 3rem;
			border-left: 1px solid #fff;
			display: flex;
			align-items: center;
			justify-content: center;
			font-family: var(--font-en);
			color: #fff;
			font-size: 1.5rem;
			letter-spacing: 0;
			line-height: 1;
		}

		.txt02 {
			font-family: var(--font-min);
			color: #fff;
			font-size: 1.7rem;
			letter-spacing: 0.12em;
			line-height: calc(25/17);
			font-weight: 500;
		}

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

			&:before {
				left: 0;
				right: auto;
				border-radius: 8rem 0 0 8rem;
				background: #E5DED1;
			}

			.txt01 {
				border-color: var(--gold_03);
			}

			.txt01 span {
				color: #fff;
				background: var(--gold_03);
			}

			.txt01 em {
				background: #fff;
				color: var(--gold_03);
			}

			.txt02 {
				color: var(--gold_03);
			}

			img {
				left: 3rem;
			}
		}
	}

	.t_pickup_ttl02 {
		gap: 1.1rem;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		font-family: var(--font-min);
		color: #fff;
		position: relative;
		isolation: isolate;

		&:before {
			content: attr(data-num);
			display: block;
			position: absolute;
			bottom: 0;
			right: 0;
			z-index: -1;
			color: #897951;
			font-size: 12rem;
			line-height: 1;
			letter-spacing: 0;
			font-family: var(--font-en);
		}

		.txt01 {
			font-family: var(--font-min);
			padding: 0.1rem 0.8rem;
			background: var(--gold_02);
			border-radius: 0.8rem;
			letter-spacing: 0.12em;
			line-height: calc(32/16);
			font-size: 1.6rem;
		}

		.txt01:has(em) {
			padding: 0.3rem 0.8rem;
		}

		.txt01 em {
			line-height: calc(32/18);
			font-size: 1.8rem;
			font-family: var(--font-num);
			letter-spacing: 0.04em;
			position: relative;
			top: 0.1em;
		}

		.txt02 {
			font-size: 2.2rem;
			font-weight: 500;
			line-height: 1.8;
			letter-spacing: 0.12em;
		}
	}

	.t_pickup_ttl03 {
		align-items: flex-start;
		font-family: var(--font-min);
		color: #fff;
		position: relative;
		isolation: isolate;
		font-size: 2rem;
		line-height: 1.8;
		font-weight: 500;

		&:before {
			content: attr(data-num);
			display: block;
			position: absolute;
			bottom: 0;
			right: 0;
			z-index: -1;
			color: #897951;
			font-size: 12rem;
			line-height: 1;
			letter-spacing: 0;
			font-family: var(--font-en);
		}

		.t_feature_box:nth-of-type(2) & {
			color: var(--gold_03);

			&:before {
				color: var(--lightbeige_02);
			}
		}
	}

	.t_pickup_txt {
		margin-top: 2.5rem;
		color: #fff;
		font-size: 1.5rem;
	}

	.t_pickup_btn {
		margin-top: 2.5rem;

		.m_btn01 {
			max-width: none;
		}
	}

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

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

	.t_pickup_item {
		display: grid;
		grid-template-rows: subgrid;
		grid-row: span 3;
		gap: 0;

		.t_pickup_item_img {
			height: 18.2rem;
			border-radius: 1.2rem;
			overflow: hidden;

			.t_pickup_col02_sp & {
				height: 10.2rem;
			}

			img {
				height: 101%;
				left: 50%;
				top: 50%;
				transform: translate(-50%, -50%);
			}
		}

		.t_pickup_item_txt {
			font-size: 1.5rem;
			line-height: 1.7;
			color: #fff;
			margin-top: 1.5rem;

			.t_pickup_col02_sp & {
				font-size: 1.4rem;
				margin-top: 1.7rem;
			}

			.t_feature_box:nth-of-type(2) & {
				color: var(--black_logo);
			}
		}

		.t_pickup_item_btn {
			margin-top: 2rem;
		}

		.m_btn01 {
			max-width: none;

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

	&:nth-of-type(n+2) {
		padding-top: 4rem;
		margin-top: 4rem;
		border-top: 1px solid #FFFFFF4D;

		.t_feature_box:nth-of-type(2) & {
			color: var(--black_logo);
			border-color: #9083624D;
		}
	}

	&.t_pickup01 {
		position: relative;
		isolation: isolate;
		padding-top: 14.1rem;

		&:before {
			content: '';
			display: block;
			position: absolute;
			top: 61.1rem;
			left: -2.5rem;
			width: 100vw;
			aspect-ratio: 375/350;
			z-index: -1;
			background: url(../images/top/feature_bg01_sp.png) center / 100% no-repeat;
		}

		.t_pickup_head picture {
			border-radius: 1.2rem 0 0 1.2rem;
			margin-right: -2.5rem;
		}
	}

	&.t_pickup02 {
		position: relative;
		isolation: isolate;

		&:before {
			content: '';
			display: block;
			position: absolute;
			top: 48.7rem;
			left: -2.5rem;
			width: 100vw;
			aspect-ratio: 375/350;
			z-index: -1;
			background: url(../images/top/feature_bg02_sp.png) center / 100% no-repeat;
		}

		.t_pickup_ttl02:before {
			bottom: -2.6rem;
		}

		.t_pickup_ttl02 img {
			position: absolute;
			width: 9.5rem;
			aspect-ratio: 1/1;
			border-radius: 50%;
			top: 0;
			right: 0;
		}

		.t_pickup_head picture {
			border-radius: 0 1.2rem 1.2rem 0;
			margin-left: -2.5rem;
		}
	}

	&.t_pickup03 {
		.t_pickup_ttl03:before {
			bottom: 1rem;
		}

		&:before {
			content: '';
			display: block;
			position: absolute;
			bottom: -32.2rem;
			left: -2.5rem;
			width: 100vw;
			aspect-ratio: 375/350;
			z-index: -1;
			background: url(../images/top/feature_bg03_sp.png) center / 100% no-repeat;
		}
	}

	&.t_pickup04 {
		padding-bottom: 5.9rem;

		.t_pickup_ttl03:before {
			bottom: 0.4rem;
		}
	}

	&.t_pickup05 {
		padding-top: 18.1rem;

		.t_pickup_ttl03:before {
			bottom: 0.6rem;
		}

		&:before {
			content: '';
			display: block;
			position: absolute;
			top: 0;
			left: -2.5rem;
			width: 100vw;
			aspect-ratio: 375/350;
			z-index: -1;
			background: url(../images/top/feature_bg04_sp.png) center / 100% no-repeat;
		}
	}

	&.t_pickup06 {
		padding-bottom: 6rem;

		.t_pickup_ttl03 {
			text-align: center;
		}

		.t_pickup_ttl03:before {
			bottom: 0.7rem;
		}

		&:before {
			content: '';
			display: block;
			position: absolute;
			bottom: 0;
			left: -2.5rem;
			width: 100vw;
			aspect-ratio: 750/678;
			z-index: -1;
			background: url(../images/top/feature_bg05_sp.png) center / 100% no-repeat;
		}
	}
}