@charset "utf-8";

.t_ttl01 {
	display: flex;
	flex-direction: column;
	gap: 1rem;

	.txt01 {
		font-size: 4rem;
		padding-left: 4.1rem;
		background: url(../images/icon_logo.svg) left center / 3.6rem no-repeat;
	}

	.txt02 {
		margin-left: 3.1rem;
		position: relative;
		padding: 1.1rem 0.8rem;
		font-size: 1.9rem;

		&:before,
		&:after {
			content: '';
			display: block;
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 0.5rem;
			z-index: 1;
			border-top: 1px solid var(--logo_gold);
			border-bottom: 1px solid var(--logo_gold);
		}

		&:after {
			top: auto;
			bottom: 0;
		}
	}
}

/*++++++++++++++++++++++++++++
l_mv
++++++++++++++++++++++++++++*/
.l_mv {
	position: relative;
	isolation: isolate;
	padding: 6.5rem 0 6.2rem;

	&:before {
		content: '';
		display: block;
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 37.5rem;
		z-index: -1;
		background: linear-gradient(180deg, rgba(191, 179, 126, 0) 0%, #BFB37E 100%);
	}

	.l_mv_logo {
		width: 18.6rem;
		background: var(--beige_00);
		padding: 0.8rem 1.2rem 1.2rem;
		border-radius: 0 0 1.5rem 0;
		display: block;
		position: absolute;
		z-index: 10;
		left: 0;
		top: 0;
		text-decoration: none;
		box-shadow: 0px 0px 2.4rem 0px #0000001A;
	}

	.l_mv_contents {
		margin-top: -4.5rem;
		position: relative;
		z-index: 10;
		padding: 0 1.5rem;
	}

	.l_mv_txt01 {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		gap: 0.5rem;
		width: 33.5rem;

		.txt {
			position: relative;
			isolation: isolate;
			display: flex;
			align-items: center;
			justify-content: center;
			text-align: center;
			color: #fff;
			line-height: 1.4;
			font-size: 1.3rem;
			aspect-ratio: 1/1;

			&:before {
				content: '';
				display: block;
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				aspect-ratio: 1/1;
				border-radius: 50%;
				z-index: -1;
				background: var(--orange);
				filter: blur(2px);
			}
		}
	}

	.l_mv_txt02 {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 0.4rem;
		margin-top: 1.5rem;

		.txt {
			padding: 0.4rem 0.8rem;
			background: #fff;
			border-radius: 0.5rem;
			font-size: 2.1rem;
		}
	}

	.l_mv_txt03 {
		font-size: 1.4rem;
		line-height: 1.6;
		letter-spacing: 0;
		margin-top: 1.5rem;
		width: fit-content;
	}

	.l_mv_en {
		font-size: 5.6rem;
		color: #FFFFFF99;
		position: absolute;
		bottom: -1rem;
		left: -0.8rem;
		z-index: 1;
	}

	.l_mv_slider_item {
		position: relative;
		z-index: 1;
		position: relative;
		overflow: hidden;
	}

	.swiper-slide img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		transition: clip-path 1.3s ease-in-out;
	}

	.swiper-slide.swiper-slide-next img {
		-webkit-clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
		clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
	}

	.swiper-slide.swiper-slide-active img {
		-webkit-clip-path: polygon(100% 0, 0 0, 0 100%, 100% 100%);
		clip-path: polygon(100% 0, 0 0, 0 100%, 100% 100%);
	}

	.l_mv_slider01 .l_mv_img {
		width: calc(100% - 1.5rem);
		height: 25rem;
		margin-left: 0;
		aspect-ratio: auto;
		z-index: 1;
		overflow: hidden;
		border-radius: 0 1rem 1rem 0;
	}

	.l_mv_slider02 {
		width: 9rem;
		position: absolute;
		right: 0;
		top: 36.5rem;
		z-index: 10;
	}

	.l_mv_slider02 .l_mv_img {
		height: 15rem;
		margin-left: 0;
		aspect-ratio: auto;
		z-index: 1;
		overflow: hidden;
		border-radius: 1rem 0 0 1rem;
	}

	.swiper-pagination {
		--stroke-width: 145;
		--progress: 1;
		position: absolute;
		left: auto;
		top: auto;
		right: 1rem;
		bottom: 7.2rem;
		display: flex;
		gap: 0.5rem;
		margin-top: 0;
		margin-left: auto;
		width: fit-content;
		padding-right: 0;
		pointer-events: none;
	}

	.swiper-pagination span {
		width: 1.8rem;
		aspect-ratio: 1/1;
		height: auto;
		display: flex;
		align-items: center;
		justify-content: center;
		position: relative;
		transition: 0.5s;
		margin: 0 !important;
		background: none;
		line-height: 1;
		opacity: 0.5;

		&:before {
			content: '';
			display: block;
			position: absolute;
			top: 50%;
			left: 50%;
			transform: translate(-50%, -50%);
			width: 0.6rem;
			aspect-ratio: 1/1;
			border-radius: 50%;
			z-index: 1;
			background: var(--logo_brown);
		}
	}

	.swiper-pagination svg {
		width: 100%;
		height: auto;
		position: absolute;
		top: 0;
		left: 0;
		transform: rotate(-90deg);
		stroke: #604738;
	}

	.swiper-pagination svg .circle-animation {
		stroke-dasharray: var(--stroke-width);
		stroke-dashoffset: var(--stroke-width);
	}

	.swiper-pagination .swiper-pagination-bullet-active {
		opacity: 1;
	}

	.swiper-pagination-bullet-active svg .circle-animation {
		stroke-dashoffset: calc(var(--stroke-width) * var(--progress));
	}
}

/*++++++++++++++++++++++++++++
t_result
++++++++++++++++++++++++++++*/
.t_result {
	background: url(../images/top/result_bg01_sp.jpg) center top / cover no-repeat;
	position: relative;
	isolation: isolate;
	padding: 4.9rem 0 5rem;
	overflow: hidden;
	border-top: 1px solid var(--beige_02);

	&:before {
		content: '';
		display: block;
		position: absolute;
		top: -27.3rem;
		right: -46.5rem;
		width: 65rem;
		aspect-ratio: 1/1;
		border-radius: 50%;
		z-index: -1;
		background: linear-gradient(21.37deg, rgba(191, 179, 126, 0) 15.63%, rgba(191, 179, 126, 0.7) 52.29%);
	}

	.t_result_head {
		padding-right: 1rem;
	}

	.t_ttl01 {
		margin-left: auto;
		width: fit-content;
	}

	.t_result_body {
		margin: 3rem -0.5rem 0;
	}

	.t_result_tabs_btns {
		display: flex;
		gap: 0.8rem;
	}

	.t_result_tabs_btn {
		color: var(--main-font-color);
		font-size: 1.4rem;
		padding: 0.4rem 0.8rem;
		background: #B0A36933;
		border-radius: 0.3rem;

		&.on {
			background: var(--logo_brown);
			color: #fff;
		}
	}

	.t_result_all {
		display: flex;
		flex-direction: column;
		align-items: center;
		margin-top: 1.5rem;
	}

	.t_result_all_main {
		display: flex;
		align-items: center;
		gap: 1rem;

		.data01 {
			display: flex;
			flex-direction: column;
			align-items: center;
			gap: 0.5rem;
			padding-top: 1rem;

			.txt01 {
				font-size: 1.9rem;
			}

			.txt02 {
				display: flex;
				align-items: center;
				gap: 1rem;
				font-size: 1.9rem;

				.num {
					font-size: 4rem;
				}
			}
		}

		.data02 {
			position: relative;
			isolation: isolate;
			color: #fff;
			display: flex;
			align-items: center;
			justify-content: center;
			flex-direction: column;
			width: 11rem;
			aspect-ratio: 1/1;

			&::after,
			&::before {
				content: '';
				display: block;
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				aspect-ratio: 1/1;
				z-index: -1;
				border-radius: 50%;
				border: 1px solid var(--orange);
			}

			&::after {
				width: calc(100% - 1rem);
				left: 0.5rem;
				top: 0.5rem;
				background: var(--orange);
				border: 0;
			}

			.txt01 {
				font-size: 1.4rem;
			}

			.txt02 {
				display: flex;
				align-items: center;
				font-size: 2.6rem;

				.percent {
					font-size: 2rem;
					vertical-align: baseline;
				}
			}
		}
	}

	.t_result_all_hosoku {
		color: var(--gold);
		font-size: 1.5rem;
		margin-top: 0.5rem;
		text-align: center;
		padding-right: 0.1rem;
	}

	.t_result_list {
		padding-left: 1rem;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 0 1.5rem;
		margin-top: 1.5rem;
	}

	.t_result_item {
		display: flex;
		align-items: center;
		gap: 1.2rem;
		padding: 0.7rem 0 0.8rem;
		border-top: var(--logo_gold) 1px solid;

		&:nth-last-of-type(1),
		&:nth-last-of-type(2) {
			padding: 0.7rem 0 0.7rem;
			border-bottom: var(--logo_gold) 1px solid;
		}

		dt {
			font-size: 1.3rem;
			padding: 0.2rem 0;
			border: 1px solid #B0A36980;
			border-radius: 0.3rem;
			height: 100%;
			text-align: center;
			background: #EEE9DB;
			display: flex;
			align-items: center;
			justify-content: center;
			width: 7rem;
		}

		dd {
			flex: 1;
			font-size: 1.4rem;
			display: flex;
			align-items: center;
			gap: 0.5rem;

			.num {
				font-size: 2.1rem;
			}
		}
	}
}

/*++++++++++++++++++++++++++++
t_wrap01
++++++++++++++++++++++++++++*/
.t_wrap01 {
	padding: 2.8rem 0 5rem;
	border-top: 1px solid var(--beige_line);
	position: relative;
	isolation: isolate;

	&:before {
		content: '';
		display: block;
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 37.6rem;
		z-index: -1;
		background: var(--beige_01);
	}
}

/*++++++++++++++++++++++++++++
t_news
++++++++++++++++++++++++++++*/
.t_news {
	.t_news_wrap {
		border: 1px solid #B0A3694D;
		border-radius: 1rem;
		padding: 3.5rem 2.5rem 3.8rem;
		margin: 0 -1rem;
		background: #fff;
		overflow: hidden;
	}

	.t_news_block {
		&:nth-of-type(2) {
			border-top: 1px solid #B0A3694D;
			padding-top: 3rem;
			margin-top: 3rem;
		}
	}

	.t_news_head {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}

	.t_news_ttl01 {
		display: flex;
		flex-direction: column;

		.txt01 {
			font-size: 3.2rem;
		}

		.txt02 {
			font-size: 1.8rem;
			margin-top: 0.5rem;
		}
	}

	.t_news_btn {
		background: #B0A3691A;
		width: 11.1rem;
		height: 3.4rem;
		border-radius: 3rem;
		text-decoration: none;
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 1.4rem;
		border: 1px solid var(--beige_line);
	}

	.t_news_body {
		margin-top: 2.5rem;
	}

	.t_news_item {
		/* アロー */
		--arrow-url: url(../images/icon_arrow02.svg);
		--arrow-color: var(--gold);
		--arrow-size: 0.6rem;
		/* 円 */
		--circle-right: 0rem;
		--circle-size: 3rem;
		--circle-height: var(--circle-size);
		--circle-bg-color: #B0A36933;
		--circle-border-color: transparent;
		--circle-border-width: 0px;
		border-top: 1px solid var(--logo_brown);
		text-decoration: none;
		padding: 1.4rem 5rem 1.4rem 0;
		display: block;

		&:last-of-type {
			border-bottom: 1px solid var(--logo_brown);
		}
	}

	.t_news_item_data {
		display: flex;
		align-items: center;
		gap: 1rem;

		.time {
			font-size: 1.2rem;
			color: var(--gold);
			line-height: 1;
		}

		.cat {
			line-height: 1;
			font-size: 1.2rem;
			font-weight: 400;
			padding: 0.3rem 0.6rem;
			border-radius: 2rem;
			background: var(--logo_gold);
			color: #fff;
		}
	}

	.t_news_item_ttl {
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		overflow: hidden;
		margin-top: 1rem;
		font-size: 1.4rem;
	}

	.t_news_item02 {
		overflow: hidden;
		border-radius: 0.5rem;
		border: 1px solid var(--beige_line);
		text-decoration: none;
		display: block;
		background: var(--beige_00);
	}

	.t_news_item02_img {
		height: 12.8rem;
	}

	.t_news_item02_body {
		padding: 1.4rem 1.4rem 1.6rem;
	}

	.t_news_item02_data {
		display: flex;
		align-items: center;
		gap: 1rem;

		.time {
			font-size: 1.2rem;
			color: var(--gold);
			line-height: 1;
		}

		.cat {
			line-height: 1;
			font-size: 1.2rem;
			font-weight: 400;
			padding: 0.3rem 0.6rem;
			border-radius: 2rem;
			background: var(--logo_gold);
			color: #fff;
		}
	}

	.t_news_item02_ttl {
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		overflow: hidden;
		margin-top: 1.4rem;
	}

	.t_news_slider {
		width: 22.5rem;
		margin: 0;
		overflow: visible;
	}

	.t_news_nav {
		display: flex;
		align-items: center;
		gap: 2rem;
		margin-top: 2.2rem;

		.swiper-pagination {
			position: relative;
			--swiper-pagination-progressbar-size: 2px;
			--swiper-pagination-color: var(--logo_brown);
			--swiper-pagination-progressbar-bg-color: #B0A3694D;
		}

		.t_news_nav_btns {
			display: flex;
			justify-content: space-between;
			gap: 1rem;
		}

		.swiper-button {
			position: relative;
			width: 4rem;
			height: 4rem;
			border-radius: 50%;
			border: 1px solid var(--logo_gold);
			inset: auto;
			margin: 0;

			&:before {
				content: '';
				display: block;
				position: absolute;
				top: 50%;
				left: 50%;
				transform: translate(-50%, -50%);
				-webkit-mask: url(../images/icon_arrow02.svg) center / 100% no-repeat;
				mask: url(../images/icon_arrow02.svg) center / 100% no-repeat;
				background: var(--logo_brown);
				width: 0.7rem;
				aspect-ratio: 3600/4157;
				z-index: 1;
			}

			&:after {
				display: none;
			}

			&.swiper-button-prev {
				&:before {
					transform: translate(-50%, -50%) rotate(180deg);
				}
			}
		}
	}
}

/*++++++++++++++++++++++++++++
t_bnr
++++++++++++++++++++++++++++*/
.t_bnr {
	.t_bnr_block {
		display: grid;
		gap: 2rem;
		margin: 5rem auto 0;
		width: 29.8rem;

		a {
			display: block;
		}
	}
}

/*++++++++++++++++++++++++++++
t_intro
++++++++++++++++++++++++++++*/
.t_intro {
	background: var(--brown);
	padding: 4.9rem 0 5rem;
	position: relative;
	isolation: isolate;
	color: #fff;
	border-top: 1px solid var(--beige_02);

	&:before {
		content: '';
		display: block;
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 60.6rem;
		z-index: -1;
		background: var(--brown_01);
	}

	.t_intro_head {
		.oft {
			height: 26rem;
			margin-right: -2.5rem;

			img {
				border-radius: 1rem 0 0 1rem;
			}
		}
	}

	.t_intro_body {
		margin-top: 4rem;
	}

	.t_intro_ttl {
		width: fit-content;
		position: relative;
		padding: 1.5rem 0.8rem;
		font-size: 1.5rem;
		color: #fff;

		&:before,
		&:after {
			content: '';
			display: block;
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 0.5rem;
			z-index: 1;
			border-top: 1px solid rgba(255, 255, 255, 0.5);
			border-bottom: 1px solid rgba(255, 255, 255, 0.5);
		}

		&:after {
			top: auto;
			bottom: 0;
		}
	}

	.t_intro_catch {
		margin-top: 1.5rem;

		.txt01 {
			display: block;
		}

		.txt01+.txt01 {
			margin-top: 0.8rem;
		}

		.txt02 {
			display: block;
			width: fit-content;
			font-size: 2rem;
			padding: 0.4rem 0.8rem;
			background: #fff;
			color: var(--logo_brown);
			border-radius: 0.5rem;
		}

		.txt02+.txt02 {
			margin-top: 0.8rem;
		}
	}

	.t_intro_txt {
		margin-top: 3rem;

		p+p {
			margin-top: 2.9rem;
		}
	}

	.t_intro_btns {
		margin-top: 2.9rem;
		display: grid;
		gap: 2rem;
	}
}

/*++++++++++++++++++++++++++++
t_proctology
++++++++++++++++++++++++++++*/
.t_proctology {
	background: var(--beige_01);
	padding: 3rem 0;
	position: relative;
	isolation: isolate;
	border-top: 1px solid var(--beige_02);
	overflow: hidden;

	&:before {
		content: '';
		display: block;
		position: absolute;
		bottom: -14.6rem;
		left: -24.3rem;
		width: 73.9rem;
		aspect-ratio: 1/1;
		border-radius: 50%;
		z-index: -2;
		background: linear-gradient(199.49deg, rgba(191, 179, 126, 0) 13.56%, rgba(191, 179, 126, 0.7) 53.06%);
	}

	.t_proctology_block {
		margin: 0 -1rem;
		border: 1px solid #B0A3694D;
		border-radius: 1rem;
		background: #fff;
		padding: 2.8rem 2.5rem 3rem;
	}

	.t_proctology_head {
		position: relative;
		isolation: isolate;

		&:before {
			content: '';
			display: block;
			position: absolute;
			top: -2.4rem;
			right: -2.1rem;
			width: 15rem;
			aspect-ratio: 1/1;
			z-index: -1;
			background: url(../images/top/greeting_icon.png) center / 100% no-repeat;
		}
	}

	.t_proctology_ttl {
		width: fit-content;
		margin: 0 auto;
		padding-top: 6rem;
		background: url(../images/icon_logo.svg) center top / 5rem no-repeat;

		span {
			position: relative;
			padding: 1rem 0.8rem;
			font-size: 1.9rem;
			display: block;

			&:before,
			&:after {
				content: '';
				display: block;
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				height: 0.5rem;
				z-index: 1;
				border-top: 1px solid var(--logo_gold);
				border-bottom: 1px solid var(--logo_gold);
			}

			&:after {
				top: auto;
				bottom: 0;
			}
		}
	}

	.t_proctology_catch {
		margin-top: 2.2rem;
		text-align: center;
		font-size: 2rem;
	}

	.t_proctology_imgs {
		margin-top: 3rem;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 1rem;

		img {
			border-radius: 1rem;
		}
	}

	.t_proctology_img01 {
		grid-column: span 2;
	}

	.t_proctology_body {
		margin-top: 3.1rem;
	}

	.t_proctology_btn {
		margin-top: 3rem;

		.m_btn01 {
			background: var(--logo_brown);
			--arrow-color: #fff;
			color: #fff;
		}
	}

	.t_flow_txt {
		overflow: hidden;
		width: 100%;
		white-space: nowrap;
		display: flex;
		position: absolute;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
		z-index: -1;
		margin-top: 0;
		padding-bottom: 0;

		ul:first-child {
			animation: flowing 550s -275s linear infinite;
		}

		ul {
			animation: flowing2 550s linear infinite;
			margin: 0;
			padding: 0;
		}

		ul li {
			font-size: 10rem;
			line-height: 1;
			font-family: var(--font-en);
			color: #B0A36933;
			display: inline-block;
			padding: 0 3rem;
			letter-spacing: 0.04em;
		}
	}
}

/*++++++++++++++++++++++++++++
t_feature
++++++++++++++++++++++++++++*/
.t_feature {
	padding: 4.8rem 0 5rem;
	border-top: 1px solid var(--beige_02);

	.inner {
		padding: 0;
	}

	.t_ttl01 {
		margin-left: auto;
		width: fit-content;
		margin-right: 2.5rem;

		.txt02 {
			margin-left: auto;
			width: fit-content;
		}
	}

	.t_feature_list {
		margin-top: 4rem;
	}

	.t_feature_item {
		border-top: 1px solid var(--beige_line);

		&:last-of-type {
			border-bottom: 1px solid var(--beige_line);
		}
	}

	.t_feature_item_head {
		--arrow-url: url(../images/icon_arrow.svg);
		--arrow-color: var(--gold);
		--arrow-size: 1rem;
		--circle-right: 2rem;
		--circle-size: 2.4rem;
		--circle-height: var(--circle-size);
		--circle-bg-color: #B0A36933;
		position: relative;
		text-decoration: none;
		padding: 1.4rem 5.4rem 1.45rem 2rem;
		display: flex;
		align-items: center;
		gap: 1.2rem;
		background: var(--beige_00);
		transition: var(--default-transition);

		&:before {
			content: '';
			display: block;
			position: absolute;
			top: 50%;
			transform: translateY(-50%) rotate(0deg);
			right: var(--circle-right);
			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: 2;
			transition: var(--default-transition);
		}

		&:after {
			content: '';
			display: block;
			position: absolute;
			top: 50%;
			transform: translateY(-50%);
			right: var(--circle-right);
			width: var(--circle-size);
			height: var(--circle-height);
			z-index: 1;
			border-radius: 10rem;
			background: var(--circle-bg-color);
			transition: var(--default-transition);
		}

		.txt01 {
			font-size: 1.4rem;
			color: var(--gold);
		}

		.txt02 {
			font-size: 1.7rem;
		}

		.t_feature_item.on & {
			background: var(--beige_01);

			&:before {
				transform: translateY(-50%) rotate(180deg);
			}
		}
	}

	.t_feature_item_body {
		display: none;
	}

	.t_feature_content {
		padding: 2.5rem;
		background: linear-gradient(180deg, #BFB37E 0%, rgba(191, 179, 126, 0.2) 100%);
		position: relative;
		isolation: isolate;
	}

	.t_feature_content_en {
		-webkit-writing-mode: vertical-rl;
		writing-mode: vertical-rl;
		font-size: 7rem;
		position: absolute;
		top: 1rem;
		right: -2.5rem;
		z-index: -1;
		color: #FFFFFF80;
	}

	.t_feature_content_head {
		position: relative;

		.txt {
			position: absolute;
			top: 1rem;
			left: 1rem;
			z-index: 10;
			display: flex;
			gap: 1rem;
			font-size: 1.4rem;

			span {
				color: #fff;
				line-height: 1;
			}

			em {
				color: #fff;
				padding-left: 0.9rem;
				border-left: 1px solid #FFFFFF80;
			}
		}

		.img {
			position: relative;
			border-radius: 1rem;
			overflow: hidden;
			z-index: 1;
		}
	}

	.t_feature_content_txt {
		margin-top: 2rem;
	}

	.t_feature_content_btn {
		margin-top: 2rem;
	}
}

/*++++++++++++++++++++++++++++
t_slider
++++++++++++++++++++++++++++*/
.t_slider {
	padding: 1.9rem 0 2rem;
	border-top: 1px solid var(--logo_gold);
}

/*++++++++++++++++++++++++++++
t_sd
++++++++++++++++++++++++++++*/
.t_sd {
	padding: 2.9rem 0 3rem;
	background: url(../images/top/symptoms_bg_sp.jpg) center / cover no-repeat;
	border-top: 1px solid var(--beige_02);

	.t_sd_block {
		background: #FCFAF699;
		border: 1px solid #FFFFFF;
		border-radius: 1rem;
		margin: 0 -1rem;
		padding: 3rem 2.5rem 2.8rem;
		backdrop-filter: blur(8px);
	}

	.t_sd_ttl {
		position: relative;
		padding: 1.5rem 0.8rem;
		font-size: 1.6rem;
		width: fit-content;
		margin: 0 auto;

		&:before,
		&:after {
			content: '';
			display: block;
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 0.5rem;
			z-index: 1;
			border-top: 1px solid var(--logo_gold);
			border-bottom: 1px solid var(--logo_gold);
		}

		&:after {
			top: auto;
			bottom: 0;
		}
	}

	.t_sd_pickup {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 0.5rem;
		margin-top: 2rem;
	}

	.t_sd_pickup_item .in {
		--arrow-url: url(../images/icon_arrow02.svg);
		--arrow-color: var(--gold);
		--arrow-size: 0.5rem;
		--circle-right: 1rem;
		--circle-size: 2rem;
		--circle-height: var(--circle-size);
		--circle-bg-color: var(--beige_01);
		--circle-border-color: #fff;
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
		min-height: 11.2rem;
		background: #fff;
		text-decoration: none;
		overflow: hidden;
		border-radius: 0.5rem;

		&:before {
			content: '';
			display: block;
			position: absolute;
			bottom: 0;
			right: 0;
			width: var(--circle-size);
			height: var(--circle-height);
			-webkit-mask: var(--arrow-url) left 70% top 60% / var(--arrow-size) no-repeat;
			mask: var(--arrow-url) left 70% top 60% / var(--arrow-size) no-repeat;
			background: var(--arrow-color);
			z-index: 2;
		}

		&:after {
			content: '';
			display: block;
			position: absolute;
			bottom: 0;
			right: 0;
			width: var(--circle-size);
			height: var(--circle-height);
			z-index: 1;
			border-radius: 1.6rem 0 0 0;
			background: var(--circle-bg-color);
		}
	}

	.t_sd_pickup_item .ttl {
		line-height: 1.6;
		font-size: 1.5rem;
		text-align: center;
	}

	.t_sd_disease {
		background: var(--logo_gold);
		padding: 2rem;
		border-radius: 0.5rem;
		margin-top: 2rem;
	}

	.t_sd_disease_head {
		color: #fff;
	}

	.t_sd_disease_ttl {
		display: flex;
		flex-direction: column;
		align-items: center;

		.txt01 {
			font-size: 1.7rem;
		}

		.txt02 {
			margin-top: 1rem;
			padding: 0 1.4rem;
			border-left: 1px solid #FFFFFF80;
			border-right: 1px solid #FFFFFF80;
			font-size: 1.4rem;
		}
	}

	.t_sd_disease_list {
		margin-top: 2rem;
		padding-top: 1.9rem;
		border-top: 1px solid #FFFFFF80;
		display: grid;
		gap: 1rem;
	}

	.t_sd_disease_item {
		--arrow-url: url(../images/icon_arrow02.svg);
		--arrow-color: var(--logo_brown);
		--arrow-size: 0.6rem;
		position: relative;
		display: flex;
		align-items: center;
		text-decoration: none;
		text-align: left;
		width: 100%;
		color: var(--logo_brown);
		background: var(--beige_02);
		font-size: 1.5rem;
		line-height: 1.6;
		padding: 1rem 5.8rem 1rem 1.2rem;
		min-height: 4.6rem;
		margin: var(--under-btn-mt, 0px) auto 0;
		border-radius: 0.5rem;
		border: 1px solid var(--beige_line);

		&:before {
			content: '';
			display: block;
			position: absolute;
			top: 50%;
			transform: translateY(-50%);
			right: 0;
			width: 4.6rem;
			aspect-ratio: 1/1;
			-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: 2;
		}

		&:after {
			content: '';
			display: block;
			position: absolute;
			top: 50%;
			transform: translateY(-50%);
			right: 0;
			width: 4.6rem;
			aspect-ratio: 1/1;
			z-index: 1;
			border-left: 1px solid var(--beige_line);
		}
	}
}

/*++++++++++++++++++++++++++++
t_commentary
++++++++++++++++++++++++++++*/
.t_commentary {
	padding: 2.9rem 0 5rem;
	background: url(../images/top/commentary_bg_sp.jpg) center top/ 100% no-repeat;
	position: relative;
	isolation: isolate;
	overflow: hidden;
	border-top: 1px solid var(--beige_02);

	&:before {
		content: '';
		display: block;
		position: absolute;
		top: 31.9rem;
		left: -56.9rem;
		width: 107.4rem;
		aspect-ratio: 1/1;
		z-index: -1;
		border-radius: 50%;
		background: linear-gradient(222.61deg, rgba(191, 179, 126, 0) 10.63%, rgba(191, 179, 126, 0.7) 48.36%);
	}

	.t_ttl01 {
		.txt01 {
			padding: 4.1rem 0 0;
			background: url(../images/icon_logo.svg) center top / 3.6rem no-repeat;
			text-align: center;
		}

		.txt02 {
			width: fit-content;
			margin: 0 auto;
		}
	}

	.t_commentary_catch {
		isolation: isolate;
		position: relative;
		width: 15rem;
		aspect-ratio: 1/1;
		color: #fff;
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
		margin: 4rem 0 0 1rem;

		&:before {
			content: '';
			display: block;
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			z-index: -1;
			border-radius: 50%;
			background: var(--orange);
			filter: blur(2px);
		}
	}

	.t_commentary_slider {
		margin: 6rem auto 0;
		width: 27.5rem;
		overflow: visible;

		.swiper-slide {
			height: auto;
		}
	}

	.t_commentary_item {
		text-decoration: none;
		display: flex;
		flex-direction: column;
		border-radius: 1rem;
		overflow: hidden;
		background: var(--beige_00);
		height: 100%;
		box-shadow: 0px 0px 2.4rem 0px #0000001A;
	}

	.t_commentary_item .img {
		height: 16rem;
	}

	.t_commentary_item .ttl {
		min-height: 8.8rem;
		display: flex;
		align-items: center;
		padding: 2rem;
		flex: 1;
	}

	.t_commentary_item .btn {
		border-top: 1px solid var(--beige_line);
		display: flex;
		align-items: center;
		justify-content: center;
		height: 5rem;

		span {
			/* アロー */
			--arrow-url: url(../images/icon_arrow02.svg);
			--arrow-color: var(--gold);
			--arrow-size: 0.6rem;
			/* 円 */
			--circle-right: 0rem;
			--circle-size: 3rem;
			--circle-height: var(--circle-size);
			--circle-bg-color: #B0A36933;
			--circle-border-color: transparent;
			--circle-border-width: 0px;
			position: relative;
			font-size: 1.4rem;
			padding: 0 4.7rem 0 1.7rem;
		}
	}

	.t_commentary_nav {
		display: flex;
		align-items: center;
		gap: 2rem;
		margin-top: 3rem;

		.swiper-pagination {
			position: relative;
			--swiper-pagination-progressbar-size: 2px;
			--swiper-pagination-color: var(--logo_brown);
			--swiper-pagination-progressbar-bg-color: #B0A3694D;
		}

		.t_news_nav_btns {
			display: flex;
			justify-content: space-between;
			gap: 1rem;
		}

		.swiper-button {
			position: relative;
			width: 4rem;
			height: 4rem;
			border-radius: 50%;
			border: 1px solid var(--logo_gold);
			inset: auto;
			margin: 0;

			&:before {
				content: '';
				display: block;
				position: absolute;
				top: 50%;
				left: 50%;
				transform: translate(-50%, -50%);
				-webkit-mask: url(../images/icon_arrow02.svg) center / 100% no-repeat;
				mask: url(../images/icon_arrow02.svg) center / 100% no-repeat;
				background: var(--logo_brown);
				width: 0.7rem;
				aspect-ratio: 3600/4157;
				z-index: 1;
			}

			&:after {
				display: none;
			}

			&.swiper-button-prev {
				&:before {
					transform: translate(-50%, -50%) rotate(180deg);
				}
			}
		}
	}
}

/*++++++++++++++++++++++++++++
t_news02
++++++++++++++++++++++++++++*/
.t_news02 {
	padding: 3rem 0 2rem;

	.t_news02_block {
		position: relative;
		isolation: isolate;
		padding: 1.9rem;
		margin: 0;
		border: 1px solid var(--beige_line);
		border-radius: 1rem;
		background: var(--white);
	}

	.t_news02_head {
		position: relative;
	}

	.t_news02_head_list {
		display: flex;
		flex-direction: column;
		gap: 2rem;
	}

	.t_news02_head_item {
		text-decoration: none;
		border-radius: 0;
		padding: 0;
		position: relative;
	}

	.t_news02_head_item_ttl {
		font-size: 1.6rem;
		line-height: 1.8;
		padding: 0.8rem 0;
		margin-bottom: 1rem;
		border-bottom: 1px solid var(--logo_brown);
	}

	.t_news02_head_item_txt {}

	.t_news02_body {
		position: relative;
		padding: 2rem 0 0;
		border-top: 1px dashed var(--beige_line);
		margin-top: 2rem;
	}

	.t_news02_body_col {
		display: flex;
		flex-direction: column;
		gap: 2rem;
	}

	.t_news02_body_item {
		text-decoration: none;
		background: var(--beige_01);
		padding: 2rem;
		border-radius: 1rem;
	}

	.t_news02_body_item_ttl {
		font-size: 1.6rem;
		letter-spacing: 0.12em;
		line-height: 1.6;
		font-weight: 600;
		display: flex;
		align-items: center;
		gap: 1rem;
		text-align: center;
		margin-bottom: 2rem;

		&:before,
		&:after {
			content: '';
			display: block;
			height: 0.5rem;
			z-index: 1;
			flex: 1;
			border-top: 1px solid var(--logo_gold);
			border-bottom: 1px solid var(--logo_gold);
			min-width: 3rem;
		}
	}

	.t_news02_body_item_list {
		display: grid;
		gap: 1.2rem;
	}

	.t_news02_body_item_list li {
		position: relative;
		padding: 0 0 1.2rem 2.4rem;
		border-bottom: 1px solid var(--beige_line);
		font-size: 1.5rem;
		line-height: 1.6;
	}

	.t_news02_body_item_list li:before {
		content: "";
		display: block;
		position: absolute;
		top: 1rem;
		left: 1rem;
		width: 0.4rem;
		aspect-ratio: 1/1;
		z-index: 1;
		border-radius: 50%;
		background: var(--logo_brown);
	}

	.t_news02_body_item_table {
		margin-top: -1.2rem;
	}

	.t_news02_body_item_table :is(td, th) {
		font-size: 1.5rem;
		padding: 1.2rem 0;
		vertical-align: top;
		line-height: 1.6;
	}

	.t_news02_body_item_table tr {
		border-bottom: 1px solid var(--beige_line);
	}

	.t_news02_body_item_table th {
		width: 7.9rem;
		padding-right: 1rem;
		color: var(--gold);
	}
}