@charset "utf-8";

:root {
	/* common */
	--inner-padding: 8rem;
	--max-width01: 105rem;
	--max-width02: 108rem;
	--max-width03: 128rem;
	--max-width04: 136rem;
	--max-width05: 142rem;
	--inner-width01: calc(var(--max-width01) + var(--inner-padding) * 2);
	--inner-width02: calc(var(--max-width02) + var(--inner-padding) * 2);
	--inner-width03: calc(var(--max-width03) + var(--inner-padding) * 2);
	--inner-width04: calc(var(--max-width04) + var(--inner-padding) * 2);
	--inner-width05: calc(var(--max-width05) + var(--inner-padding) * 2);
	--over-margin01: min(calc((-1 * var(--vw) * 100 + var(--max-width01)) / 2), calc(-1 * var(--inner-padding)));
	--over-margin02: min(calc((-1 * var(--vw) * 100 + var(--max-width02)) / 2),
			calc(-1 * var(--inner-padding)));
	--over-margin03: min(calc((-1 * var(--vw) * 100 + var(--max-width03)) / 2),
			calc(-1 * var(--inner-padding)));
	--over-margin04: min(calc((-1 * var(--vw) * 100 + var(--max-width04)) / 2),
			calc(-1 * var(--inner-padding)));
	--over-margin05: min(calc((-1 * var(--vw) * 100 + var(--max-width05)) / 2),
			calc(-1 * var(--inner-padding)));
	--hover-opacity: 0.5;
	/* under */
	--under-table-first-width: 33rem;
	--default-font-size: 1.8rem;
}

.sp {
	display: none !important;
}

:where(#tinymce),
:where(.underpage) {
	--under-box-mt: 3rem;
	--under-paragraph-mt: 1.5rem;
	--under-btn-mt: 3.4rem;
}

body {
	min-width: var(--tb-breakpoint);
	overflow-x: clip;
}

a {
	transition: opacity var(--default-transition);
}

a:where(:hover) {
	opacity: var(--hover-opacity);
}

a *,
a *:before,
a *:after {
	transition: var(--default-transition);
}

#wrapper {
	overflow: clip;
}

p {
	line-height: 2;
}

.inner {
	max-width: var(--inner-width01);
	margin-left: auto;
	margin-right: auto;
}

.pointer_none_pc {
	pointer-events: none !important;
}

.simplebar-placeholder {
	width: 100% !important;
}

/*++++++++++++++++++++++++++++
m_faq
++++++++++++++++++++++++++++*/
.m_faq {
	.m_faq_head {
		--icon-right: 4.6rem;
		--icon-width: 1.6rem;
		--icon-color: #fff;
	}

	.m_faq_ttl {
		padding: 2rem 9rem 1.8rem 3rem;
		font-size: 2.2rem;

		&:before {
			font-size: 3.5rem;
			margin-right: 2.6rem;
			top: -0.1rem;
		}

		&:after {
			right: 3rem;
			width: 4.8rem;
			height: 4rem;
		}
	}

	.m_faq_body {
		padding: 0 4rem 0 8.1rem;
		margin-top: 3rem;

		&:before {
			top: 0.8rem;
			left: 3.9rem;
			font-size: 3rem;
		}

		p {
			font-size: 2.1rem;
			font-family: var(--font-maru);
			font-weight: 500;
			letter-spacing: 0.09em;
		}
	}
}

/*++++++++++++++++++++++++++++
m_imgslider
++++++++++++++++++++++++++++*/
.m_imgslider {
	width: max(100vw, var(--tb-breakpoint));
	--gap: 2rem;

	figure {
		width: 65rem;
	}
}

/*++++++++++++++++++++++++++++
m_timetable
++++++++++++++++++++++++++++*/
.m_timetable {
	width: calc(100% - 2rem);
	margin: 2.4rem auto 0;

	tr {
		grid-template-columns: 17.3rem repeat(7, 1fr);
		padding-right: 2.1rem;
	}

	:is(td, th) {
		font-size: 2.1rem;
	}

	th {}

	thead {
		&:before {
			left: -1rem;
			width: calc(100% + 2rem);
			border-radius: 5rem;
		}
	}

	thead th {
		padding: 1.9rem 0 1.7rem;
	}

	thead th:first-of-type {
		padding-left: 4rem;
	}

	tbody :is(th, td) {
		padding: 1.7rem 0 1.4rem 0.4rem;
	}
}

.l_footer_time_hosoku {
	margin-top: 1.8rem;
	padding-left: 1.8rem;
	line-height: 1.6;
}

/*++++++++++++++++++++++++++++
l_footer
++++++++++++++++++++++++++++*/
.l_footer {
	background: url(../images/footer_bg.jpg) center / cover no-repeat;
	padding: 8.5rem 0 0;

	.inner {}

	.l_footer_name {
		.txt01 {
			font-size: 3.5rem;
		}

		.txt02 {
			gap: 2.1rem;
			font-size: 2.9rem;
			margin-top: -0.1rem;

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

	.l_footer_block {
		width: calc(100% + var(--inner-padding) * 2);
		margin: 3.4rem auto 0;
		padding: 3.9rem 0 0 9.4rem;
		max-width: 121rem;
		display: flex;
		gap: 5.5rem;
	}

	.l_footer_head {
		padding: 0.5rem 0;
		width: 42rem;
		position: relative;
	}

	.l_footer_table {
		gap: 1.2rem 2.5rem;

		dt {
			font-size: 1.9rem;
			width: 14.5rem;

			span {
				border-radius: 5rem;
				min-width: 14.5rem;
				padding: 0.9rem 1.4rem;
			}
		}

		dd {
			display: flex;
			align-items: center;

			p {
				line-height: 1.55;
			}
		}
	}

	.l_footer_body {
		padding: 0.7rem 1rem 0.7rem 4.6rem;
		border-left: 1px solid var(--brown);
		width: 59.6rem;
	}

	.l_footer_time {
		padding-top: 0;
		border-top: 0;
	}

	.l_footer_time_ttl {
		gap: 3rem;

		.txt01 {
			font-size: 2.3rem;
		}

		.txt02 {
			font-size: 1.6rem;
			top: 0.3rem;
		}
	}

	.l_footer_gmap {
		border-radius: 0.5rem;
		height: 6.8rem;
		margin-top: 3rem;

		span {
			font-size: 2.1rem;
			padding-left: 3.2rem;

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

	.l_footer_middle {
		padding: 5rem 0 6rem;
		margin-top: 7.5rem;
	}

	.l_footer_advisor {
		border-radius: 5rem;
		padding: 2.9rem 4.9rem 3.1rem 25.5rem;
		width: 86rem;
		margin: 0 auto;
	}

	.l_footer_advisor_ttl {
		top: 0;
		left: 0;
		transform: none;
		width: 23.5rem;
		height: 100%;
		padding: 0;
		gap: 0.7rem;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;

		&:before {
			top: 50%;
			right: 0;
			bottom: auto;
			left: auto;
			transform: translateY(-50%);
			width: 32rem;
		}

		.txt01 {
			font-size: 2.5rem;
		}

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

	.l_footer_advisor_name {
		gap: 1.5rem;
		padding: 0.75rem 0.5rem 0.35rem 0rem;

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

			&:before {
				width: 0.9rem;
				border-radius: 0.2rem;
			}
		}

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

	.l_footer_advisor_box {
		padding: 1.6rem 1.5rem 0 0.5rem;
	}

	.l_footer_advisor_position {
		font-size: 2.3rem;
		text-align: center;
	}

	.l_footer_advisor_list {
		margin: 1.2rem auto 0;
		width: fit-content;

		li {
			padding-left: 2.3rem;
			font-size: 1.8rem;

			&:before {
				top: 0.7rem;
				left: 0.5rem;
				width: 0.8rem;
			}
		}
	}

	.l_footer_bottom {
		padding: 5rem 0 0;
	}

	.l_footer_bnr {
		width: 22.8rem;
		font-size: 1rem;

		em {
			margin-top: 0.4rem;
		}
	}

	.l_footer_small {
		padding: 2rem;
		margin-top: 3.8rem;
	}

	small {
		font-size: 1.3rem;
	}
}

/*++++++++++++++++++++++++++++
l_fixed
++++++++++++++++++++++++++++*/
.l_fixed {
	position: fixed;
	bottom: 0;
	left: auto;
	right: 0;
	width: auto;
	z-index: 99;
	padding: 0;
	display: block;
	height: auto;
}

.l_fixed_ai {
	--white-size: 1.4rem;
	position: fixed;
	left: auto;
	right: 0;
	bottom: auto;
	top: 50%;
	transform: translateY(-50%);
	width: 10rem;
	height: 17.6rem;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	padding-left: 3.4rem;
	padding-bottom: 1.2rem;
	transition: var(--default-transition);
	border-radius: 100rem 0 0 100rem;
	cursor: pointer;

	&:before {
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		border-radius: 20rem 0 0 20rem;
		transition: var(--default-transition);
	}

	&:after {
		bottom: auto;
		top: calc(var(--white-size) * -1);
		left: calc(var(--white-size) * -1 + 2px);
		width: calc(100% + var(--white-size));
		height: calc(100% + var(--white-size) * 2);
		border-radius: 20rem 0 0 20rem;
		transition: var(--default-transition);
	}

	.wrap {
		flex-direction: column;
		justify-content: center;
		align-items: flex-start;
		display: flex;

		&:before {
			content: '';
			display: block;
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			z-index: -1;
			background: linear-gradient(180deg, #FF7A37 42.49%, #FFCB9E 100%);
			border-radius: 20rem 0 0 20rem;
			transition: var(--default-transition);
			opacity: 0;
		}
	}

	.txt {
		padding-top: 3.4rem;
		padding-bottom: 1.7rem;
		font-size: 2.3rem;
		text-align: left;
		position: relative;
		line-height: 1.2;

		&:before {
			top: 0;
			left: 50%;
			width: 3.1rem;
		}

		span {
			font-size: 3.4rem;

			&:after {
				content: '';
				display: block;
				position: absolute;
				bottom: 0;
				left: 0.2rem;
				width: 5.6rem;
				aspect-ratio: 56/9;
				z-index: 1;
				-webkit-mask: url(../images/icon_arrow02.svg) center / 100% no-repeat;
				mask: url(../images/icon_arrow02.svg) center / 100% no-repeat;
				background: #fff;
			}
		}
	}

	&:hover {
		--white-size: 2.5rem;

		&:before {
			opacity: 0;
		}

		&:after {
			background: #FFF6EB66;
		}

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

.l_fixed_in {
	display: flex;
	gap: 1.5rem;
	padding: 1.2rem 0 0 1.5rem;
	border-radius: 1.4rem 0 0 0;
	background: rgba(255, 255, 255, 0.6);
	box-shadow: 0 0 2rem 0 rgba(51, 40, 36, 0.2);
	margin-left: auto;
	width: 45.2rem;

	a {
		&:hover {
			opacity: 1;
			background: #fff;
			box-shadow: 0px 0px 21.06px 0px #33282433;

			img {
				opacity: 1;
			}

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

.l_fixed_web {
	width: 32.8rem;
	background: #70A343;
	border-radius: 1rem 1rem 0 0;
	position: relative;
	transition: 0.5s;

	&:before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		z-index: 1;
		-webkit-mask: url(../images/fixed_web.svg) center / 100% no-repeat;
		mask: url(../images/fixed_web.svg) center / 100% no-repeat;
		background: var(--main-font-color);
		opacity: 0;
	}
}

.l_fixed_pagetop {
	flex: 1;
	border-radius: 1rem 0 0 0;
	background: var(--brown);
	position: relative;
	transition: 0.5s;

	&:before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		z-index: 1;
		-webkit-mask: url(../images/fixed_pagetop.svg) center / 100% no-repeat;
		mask: url(../images/fixed_pagetop.svg) center / 100% no-repeat;
		background: var(--orange);
		opacity: 0;
	}
}

/*++++++++++++++++++++++++++++
l_pagetop
++++++++++++++++++++++++++++*/
.l_pagetop {
	position: fixed;
	z-index: 99;
	bottom: 1.6rem;
	right: 1.2rem;
	width: 1.1rem;
	transition: var(--default-transition);
	opacity: 0;
	pointer-events: none;
}

.js_header_move .l_pagetop {
	opacity: 1;
	pointer-events: auto;
}

/*++++++++++++++++++++++++++++
l_mv
++++++++++++++++++++++++++++*/
.l_mv {
	overflow: hidden;

	&:before {
		position: absolute;
		content: '';
		bottom: 0;
		left: 50%;
		width: 100%;
		/* min-width: 192rem; */
		transform: translateX(-50%);
		background: url(../images/mv_circle.png) center bottom / 100% no-repeat;
		z-index: 11;
		aspect-ratio: 3840/254;
		filter: drop-shadow(0.5rem 0px 3rem color-mix(in srgb, #332824 20%, transparent));
	}
}

.l_mv_nav {
	position: absolute;
	z-index: 15;
	left: 0;
	bottom: 0;
	width: 100%;

	.l_header_nav {
		padding-bottom: min(3.4rem, 1.6vw);
	}
}

@property --100vw {
	syntax: "<length>";
	initial-value: 0px;
	inherits: false;
}

.l_mv_point {
	--100vw: 100vw;
	--scale: max(0.66, tan(atan2(var(--100vw), 1920px)));
	width: 33.15rem;
	aspect-ratio: 663/735;
	bottom: calc(15.1rem * var(--scale));
	left: calc(50% + calc(13.2rem * var(--scale)));
	background: url(../images/mv_point_shape.png) center / 100% no-repeat;
	padding-top: 11.2rem;
	transform: scale(var(--scale));
	transform-origin: bottom left;

	.txt_wrap {
		padding: 0 0.75rem 1.9rem;
	}

	.txt01 {
		font-size: 2.8rem;
	}

	.txt02 {
		font-size: 5.5rem;
		margin-top: 0.1rem;

		span {
			font-size: 3.5rem;
		}
	}

	.txt03 {
		font-size: 2.8rem;
		margin-top: 0.7rem;
	}

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

.slide03 .l_mv_point {
	left: calc(50% + calc(20.3rem * var(--scale)));
}

/*++++++++++++++++++++++++++++
l_point
++++++++++++++++++++++++++++*/
.t_point {
	background: url(../images/point_bg.jpg) center bottom / cover no-repeat;
	padding: 7.8rem 0 10.4rem;

	.t_point_ttl {
		font-size: 3rem;
		gap: 4.5rem;

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

	.t_point_list {
		width: 100%;
		height: auto;
		margin: 3.6rem auto 0;
		display: flex;
		justify-content: center;
		gap: 5rem;
	}

	.t_point_item {
		width: 28.5rem;
		position: relative;
		top: 0;
		background: url(../images/point_shape.png) center / 100% no-repeat;

		.txt_wrap {
			padding: 0 0.5rem 1rem;
		}

		.txt01 {
			font-size: 2.5rem;
		}

		.txt02 {
			font-size: 5.4rem;
			margin-top: 0.8rem;

			span {
				font-size: 3.4rem;
			}
		}

		.txt03 {
			font-size: 1.5rem;
			margin-top: 1.2rem;
			gap: 0.2rem;
			align-items: center;
		}
	}

	.t_point_item01 {
		top: 0.3rem;
		left: 0.8rem;
	}

	.t_point_item02 {
		right: 0;
	}

	.t_point_item03 {
		left: -0.7rem;
		transform: none;
		bottom: 0;
		top: auto;
	}
}

/*++++++++++++++++++++++++++++
t_reason
++++++++++++++++++++++++++++*/
.t_reason {

	/* position: relative;
	z-index: 11; */
	.t_reason_wrap01 {
		padding: 4.6rem 0 0rem;

		&:before {
			width: 89.5rem;
			aspect-ratio: 1790/1800;
			background: url(../images/feature_bg01_left.png) left top / 100% no-repeat;
		}

		&:after {
			content: '';
			display: block;
			position: absolute;
			top: 0;
			right: 0;
			width: 102.4rem;
			aspect-ratio: 2048/1800;
			z-index: -5;
			background: url(../images/feature_bg01_right.png) right top / 100% no-repeat;
		}
	}

	.t_reason_wrap02 {
		padding: 2.4rem 0 2.5rem;
		margin-top: -0.1rem;
		background: transparent;

		&:before {
			top: 24.7rem;
			transform: translateX(-50%);
			left: 50%;
			width: calc(100% - 5rem * 2);
			max-width: 150rem;
			height: calc(100% - 40.9rem);
			z-index: -1;
			border-radius: 7rem;
			background: url(../images/feature_bg02.jpg) center / cover no-repeat;
		}

		&:after {
			content: '';
			display: block;
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: calc(100% + -3rem);
			z-index: -2;
			background: #fff;
		}
	}

	.inner {
		padding: 0 12rem 0;
		max-width: var(--inner-width04);
	}

	.t_reason_en {
		top: -0.9rem;
		left: 51%;
		transform: translateX(-50%);
		font-size: 17rem;
	}

	.t_reason_ttl {
		span {
			line-height: 1.3;
			letter-spacing: 0.2em;
			font-size: 3.1rem;
		}

		strong {
			font-size: 17rem;
			top: 0.23em;
		}
	}

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

	.t_reason_situation {
		margin: 2.9rem auto 0;
		padding: 3.5rem 10rem;
		border-radius: 4rem;
		max-width: 75rem;

		figure {
			overflow: hidden;
			border-radius: 3.5rem;
		}
	}
}

.m_reason {
	margin-top: 3.7rem;
	max-width: 117.6rem;
	margin-left: auto;
	margin-right: auto;

	.m_reason_shadow {
		filter: drop-shadow(5px 5px 20px #33282433);
		width: 77rem;
		z-index: 10;
	}

	.m_reason_body {
		--corner-width: 11.1rem;
		--corner-height: 7.9rem;
		padding: 3rem 0 7.7rem 5rem;
	}

	.m_reason_ttl {
		padding: 0 4rem 0 5.4rem;
		gap: 0.4rem;

		&:before {
			top: -2.3rem;
			left: -2rem;
			width: 12.4rem;
		}

		&:after {
			bottom: 2.7rem;
			height: 1px;
		}

		.txt01 {
			font-size: 2rem;
			padding-bottom: 0.6rem;
			letter-spacing: 0.03em;
		}

		.txt02 {
			font-size: 7.1rem;
			position: relative;
			top: 0.7rem;
			margin-right: 0.8rem;
		}
	}

	.m_reason_content {
		padding: 0.5rem 1.5rem 0 3.8rem;
		margin-top: 2.1rem;
	}

	.m_reason_catch {
		gap: 1rem;

		.line {
			padding: 0 0.5rem;
			line-height: calc(25/20);
			font-size: 3.2rem;
			letter-spacing: 0.05em;

			&:has(strong) {
				padding: 0;
			}
		}

		strong {
			padding: 0 0.5rem 0.5rem;
			font-weight: 500;
			letter-spacing: 0.03em;
			letter-spacing: 0.05em;

			&:before {
				height: 1.9rem;
				border-radius: 0.5rem;
				width: 96%;
				bottom: -0.3rem;
			}
		}
	}

	.m_reason_head {
		/* position: relative; */
		z-index: 1;
	}

	.m_reason_txt {
		margin-top: 3rem;
		max-width: 63rem;

		p {
			line-height: 2;
		}

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

	.m_reason_point {
		width: 19.9rem;
		height: 22.9rem;
		padding-top: 0.7rem;

		&:before {
			aspect-ratio: 398/458;
			background: url(../images/hexagon.png) center / 100% no-repeat;
		}
	}

	.m_reason_point_txt {
		padding: 0 0.3rem 0.6rem;
		line-height: calc(18/15);
		font-size: 2.1rem;
	}

	.m_reason_img {
		--radius: 1rem;
		box-shadow: 5px 5px 20px 0px #33282433;
		z-index: 1;
	}

	&.m_reason01 {
		margin-top: 7.3rem;
		padding-bottom: 8.2rem;
		padding-left: 3.5rem;

		.m_reason_body {
			padding: 1.7rem 0 8.6rem 4.4rem;
			--corner-width: 13.3rem;
			--corner-height: 9.4rem;
		}

		.m_reason_content {
			padding: 0.8rem 1.5rem 0 8.8rem;
			margin-top: 3.7rem;
		}

		.m_reason_ttl {
			padding: 0 2.5rem 0 9.7rem;
			gap: 0.9rem;

			&:before {
				top: -0.5rem;
				left: -1.9rem;
				width: 15.1rem;
			}

			&:after {
				bottom: 2.6rem;
				height: 1px;
			}

			.txt01 {
				font-size: 2.1rem;
				padding-bottom: 0.6rem;
			}

			.txt02 {
				font-size: 8rem;
				position: relative;
				top: 1.4rem;
				margin-right: 0.4rem;
			}
		}

		.m_reason_catch {
			gap: 0.8rem;

			.line {
				padding: 0 0.5rem;
				line-height: calc(25/20);
				font-size: 3.7rem;
				letter-spacing: 0.1em;

				&:has(strong) {
					padding: 0;
				}
			}

			strong {
				padding: 0 0.5rem 0.5rem;
				letter-spacing: 0.1em;

				&:before {
					height: 1.9rem;
					border-radius: 0.5rem;
					width: 95%;
				}
			}
		}

		.m_reason_txt {
			margin-top: 4.5rem;
			width: 51.2rem;

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

		.m_reason_shadow {
			width: min(88.5rem, 78%);
			z-index: 1;
		}

		.m_reason_img01 {
			width: min(56rem, 48%);
			bottom: auto;
			top: 3.3rem;
			right: -9.3rem;
			z-index: 9;
			border-radius: var(--radius);
		}

		.m_reason_img02 {
			width: 30.5rem;
			bottom: auto;
			top: 38rem;
			left: -17.5rem;
			border-radius: var(--radius);
		}
	}

	&.m_reason02 {
		padding-bottom: 0;
		padding-left: 4rem;
		margin-top: 0;

		.m_reason_shadow {
			width: min(77rem, 70%);
		}

		.m_reason_img01 {
			width: min(67.5rem, 58%);
			bottom: auto;
			top: 7rem;
			right: -7.4rem;
			border-radius: var(--radius);
		}

		.m_reason_point {
			left: auto;
			right: 14.3rem;
			bottom: auto;
			top: -1.6rem;
		}

		.m_reason_point02 {
			bottom: -4.7rem;
			left: auto;
			right: -6.2rem;

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

	&.m_reason03 {
		padding-bottom: 0;
		margin-top: 16.8rem;
		padding-left: 30.3rem;

		.m_reason_txt {
			margin-top: 3rem;
			max-width: 76rem;
		}

		.m_reason_content {
			padding: 0.5rem 1.5rem 0 3.7rem;
			margin-top: 1.6rem;
		}

		.m_reason_ttl {
			padding: 0 4rem 0 6.4rem;

			&:before {
				top: -1.8rem;
				left: -1.3rem;
				width: 12.4rem;
			}
		}

		.m_reason_body {
			padding: 3rem 0 7.7rem 4rem;
		}

		.m_reason_shadow {
			width: min(87rem, 100%);
		}

		.m_reason_img01 {
			width: min(46rem, 40%);
			bottom: auto;
			top: -4.1rem;
			left: -7.7rem;
			border-radius: var(--radius);
		}

		.m_reason_point {
			right: auto;
			bottom: auto;
			top: 48.3rem;
			left: 7.5rem;
		}
	}

	&.m_reason04 {
		padding-bottom: 0;
		padding-left: 4rem;
		margin-top: 22.4rem;

		.m_reason_txt {
			max-width: 64rem;
		}

		.m_reason_catch {
			gap: 1.6rem;
		}

		.m_reason_img01 {
			width: 67.5rem;
			bottom: auto;
			left: auto;
			top: 7rem;
			right: -7.4rem;
			border-radius: var(--radius);
		}

		.m_reason_point {
			top: -1rem;
			bottom: auto;
			right: 14.6rem;
		}

		.m_reason_point02 {
			bottom: -9rem;
			right: -5.9rem;

			.m_reason_point_txt {
				font-size: 1.9rem;

				strong {
					font-size: 2.4rem;
				}

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

	&.m_reason05 {
		padding-bottom: 0;
		padding-left: 40.4rem;
		margin-top: 14.7rem;

		.m_reason_shadow {
			width: min(77rem, 100%);
		}

		.m_reason_img01 {
			width: 52rem;
			bottom: auto;
			left: -6rem;
			top: -4rem;
			border-radius: var(--radius);
		}

		.m_reason_point {
			left: -0.9rem;
			bottom: auto;
			top: -2.2rem;
		}
	}

	&.m_reason06 {
		padding-top: 36.2rem;
		padding-bottom: 0;
		padding-left: 0rem;
		margin-top: 0rem;
		margin-left: auto;
		margin-right: 0;

		.m_reason_txt {
			margin-top: 1.5rem;
			max-width: 40rem;
		}

		.m_reason_content {
			padding: 0.5rem 1.5rem 4.8rem 2.6rem;
			margin-top: 1.6rem;
		}

		.m_reason_ttl {
			padding: 0 3.1rem 0 3.9rem;

			&:before {
				top: -1.6rem;
				left: -1.9rem;
				width: 9.4rem;
			}

			&:after {
				bottom: 1.8rem;
				height: 1px;
			}

			.txt02 {
				font-size: 5.8rem;
				top: 0.9rem;
			}
		}

		.m_reason_body {
			padding: 2.1rem 0 4.6rem 3.5rem;
			--corner-width: 7rem;
			--corner-height: 4.5rem;
		}

		.m_reason_shadow {
			width: 48rem;
		}

		.m_reason_img01 {
			width: 32rem;
			right: 7.6rem;
			bottom: auto;
			top: 0;
			right: 8rem;
			border-radius: var(--radius);
		}

		.m_reason_catch {
			.line {
				font-size: 2.7rem;
				white-space: nowrap;
			}
		}

		.m_reason_point {
			left: -2.8rem;
			bottom: auto;
			position: absolute;
			top: 1.8rem;
		}
	}

	&.m_reason07 {
		padding-top: 7.5rem;
		padding-bottom: 27.4rem;
		left: -6.4rem;

		.m_reason_txt {
			margin-top: 1.5rem;
			max-width: 39rem;
		}

		.m_reason_content {
			padding: 0.5rem 1.5rem 0.3rem 2.6rem;
			margin-top: 1.6rem;
		}

		.m_reason_ttl {
			padding: 0 3.1rem 0 3.9rem;

			&:before {
				top: -1.6rem;
				left: -1.9rem;
				width: 9.4rem;
			}

			&:after {
				bottom: 1.8rem;
				height: 1px;
			}

			.txt02 {
				font-size: 5.8rem;
				top: 0.9rem;
			}
		}

		.m_reason_body {
			padding: 2.1rem 0 4.5rem 3.5rem;
			--corner-width: 7rem;
			--corner-height: 4.5rem;
		}

		.m_reason_shadow {
			width: 48rem;
		}

		.m_reason_img01 {
			width: 51rem;
			bottom: 0;
			left: 4rem;
			border-radius: var(--radius);
		}

		.m_reason_point {
			right: -9.6rem;
			bottom: 19rem;
			top: auto;
			position: absolute;
			width: 17.3rem;
			height: 20rem;

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

		.m_reason_catch {
			gap: 0.5rem;

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

.t_consult {
	padding: 15.4rem 0 16.6rem;
	margin-top: -0.1rem;

	&:before {
		left: 50%;
		transform: translateX(-50%);
		width: 100%;
		min-width: 192rem;
		height: 9rem;
		aspect-ratio: auto;
		background: url(../images/half_cricle.png) center top / 100% 100% no-repeat;
	}

	&:after {
		left: 50%;
		transform: translateX(-50%) rotate(180deg);
		rotate: 0deg;
		width: 100%;
		min-width: 192rem;
		height: 9rem;
		aspect-ratio: auto;
		background: url(../images/half_cricle.png) center top / 100% 100% no-repeat;
	}

	.t_consult_block {
		width: 75rem;
		margin: 0 auto;
		padding: 0;

		&:before {
			bottom: -4.8rem;
			left: -21rem;
			width: 21rem;
			background: url(../images/consult_img02.jpg) center / 100% no-repeat;
		}

		&:after {
			bottom: auto;
			top: 8.9rem;
			right: -20.2rem;
			width: 27rem;
			background: url(../images/consult_img01.jpg) center / 100% no-repeat;
		}
	}

	.t_consult_ttl {
		border-radius: 5rem;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		padding: 1.3rem 0 0.6rem 1.9rem;

		&:before {
			top: 99%;
			width: 3rem;
			height: 1.2rem;
		}

		.txt01 {
			font-size: 2.8rem;
			position: relative;
			letter-spacing: 0.1em;
			margin-right: 0.9rem;
		}

		.txt02 {
			font-size: 3.9rem;
			margin-top: 0;
			position: relative;
			top: -0.5rem;
			/* padding-bottom: 0.2rem; */
		}
	}

	.t_consult_list {
		display: grid;
		gap: 2.3rem;
		margin-top: 3.9rem;
		padding: 0 9rem 0 2.9rem;

		li {
			padding-left: 6.2rem;
			font-size: 3rem;

			&:before {
				width: 5rem;
				background: url(../images/icon_check.svg) center / 100% no-repeat;
				top: 45.9%;
			}

			span {
				padding: 0 0 0.7rem 1.2rem;
			}
		}
	}
}

.t_doctor {
	padding: 3.2rem 0 22.6rem;
	margin-top: -0.1rem;

	/* z-index: 10; */
	&:before {
		height: 70rem;
		aspect-ratio: auto;
		background: url(../images/doctor_wave01.svg) center top / 192rem repeat;
	}

	&:after {
		aspect-ratio: 1920/344;
		background: url(../images/doctor_wave02.svg) center top / 100% no-repeat;
	}

	.inner {
		padding: 0 5.5rem;

		&:after {
			background: url(../images/fixed_bg02.jpg) center / cover no-repeat;
		}
	}

	.t_doctor_en {
		font-size: 12.5rem;
		margin: 4.5rem 0 0;
		line-height: calc(35 / 35);
	}

	.t_doctor_block {
		margin-top: 5.7rem;
		position: relative;
	}

	.t_doctor_img_slider_wrap {
		position: absolute;
		right: 0;
		top: 0;
	}

	.t_doctor_ttl {
		font-size: 3.7rem;
	}

	.t_doctor_txt {
		margin-top: 2.5rem;
		width: 42.1rem;
		line-height: 2;
	}

	.t_doctor_slider01 {
		margin: 0;
		width: 23.3rem;
		position: absolute;
		right: 11.4rem;
		top: 7.5rem;

		.t_doctor_img {
			height: 54.1rem;
			width: 23.3rem;
		}

		.swiper-slide-active .oft {
			height: 67.5rem;
			width: 50rem;
		}

		img {
			border-radius: 1rem;
		}
	}

	.t_doctor_slider02 {
		margin-top: 14.3rem;
	}

	.t_doctor_nav {
		gap: 4rem;
		width: 53.5rem;
		margin: 2.3rem 0 0 48.4rem;
		padding: 0.8rem 0;
	}

	.t_doctor_arrow {
		width: 3.5rem;

		&:before {
			aspect-ratio: 35/26;
			transition: var(--default-transition);
		}

		&:hover:not(.swiper-button-disabled) {
			&:before {
				background: var(--brown);
			}
		}
	}

	.t_doctor_pagination {
		gap: 1.5rem;
	}

	.swiper-pagination-bullet {
		width: 7rem;
		font-size: 2.9rem;

		&:before {
			width: 7rem;
			transition: var(--default-transition);
		}

		&:hover {
			opacity: 1;

			&:before {
				opacity: 1;
			}
		}
	}

	.swiper-pagination-bullet-active {
		font-size: 4.5rem;
	}

	.t_doctor_name {
		padding-bottom: 1.9rem;

		&:before {
			width: 57rem;
			left: -0.3rem;
		}

		&:after {
			bottom: -0.4rem;
			width: 0.8rem;
			left: -1.8rem;
		}

		.en {
			font-size: 2.4rem;
		}

		.ja {
			margin-top: 1.2rem;

			.txt01 {
				margin-right: 2.7rem;
				font-size: 2.3rem;
			}

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

	.t_doctor_comment {
		margin-top: 2rem;
		width: 42rem;
		/* line-height: 2; */
	}

	.t_doctor_links {
		gap: 2.1rem;
		margin-top: 4.1rem;

		a {
			min-width: 6rem;
			height: 6rem;
			border-radius: 30rem;

			figure {
				position: relative;

				&:before {
					content: '';
					display: block;
					position: absolute;
					top: 0;
					left: 0;
					width: 100%;
					height: 100%;
					z-index: 1;
					opacity: 0;
					transition: var(--default-transition);
				}

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

			&.instagram {
				figure {
					width: 2.9rem;

					&:before {
						-webkit-mask: url(../images/icon_instagram.svg) center / 100% no-repeat;
						mask: url(../images/icon_instagram.svg) center / 100% no-repeat;
						background: #fff;
					}
				}
			}

			&.youtube {
				figure {
					width: 2.9rem;

					&:before {
						-webkit-mask: url(../images/icon_youtube.svg) center / 100% no-repeat;
						mask: url(../images/icon_youtube.svg) center / 100% no-repeat;
						background: #fff;
					}
				}
			}

			&.book {
				padding: 0 1.5rem 0 1.2rem;

				figure {
					width: 3rem;
					margin-right: 0.6rem;

					&:before {
						-webkit-mask: url(../images/icon_book.svg) center / 100% no-repeat;
						mask: url(../images/icon_book.svg) center / 100% no-repeat;
						background: #fff;
					}
				}
			}

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

				figure:before {
					opacity: 1;
				}

				img {
					opacity: 0;
				}
			}
		}
	}
}

.t_reserve {
	padding: 0.8rem 3rem 11.1rem;
	margin-top: -0.1rem;

	.t_reserve_block {
		width: 100.8rem;
		margin: 0 auto;
	}

	.t_reserve_ttl {
		.txt01 {
			font-size: 4rem;
			gap: 4.5rem;
		}

		.txt02 {
			margin-top: 3.5rem;
			font-size: 3.4rem;
		}
	}

	.t_reserve_txt {
		margin-top: 2.5rem;
		width: 56.4rem;
		margin: 2.5rem auto 0;
	}

	.t_reserve_btns {
		grid-template-columns: repeat(2, 1fr);
		margin-top: 5.2rem;
		gap: 8.9rem;
		padding-right: 2.2rem;
	}

	.t_reserve_btn {
		height: 13.5rem;
		transition: var(--default-transition);

		&:hover {
			transform: translate(2.2rem, 1.8rem);
			opacity: 1;

			&:after {
				top: 0;
				left: 0;
			}
		}

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

		&:after {
			top: 1.8rem;
			left: 2.2rem;
			border-radius: 1rem;
		}

		&.web {
			--size: 4.4rem;
			padding-left: 4rem;
		}

		&.tel {
			--size: 4.3rem;
			padding-left: 4.7rem;
		}

		.txt01 {
			font-size: 3.6rem;

			span {
				font-size: 3rem;
			}

			&:before {
				width: 7rem;
				height: 9.5rem;
				border-radius: 1rem 0 5rem 0;
			}

			&:after {
				width: 7rem;
				height: 9.5rem;
			}
		}

		.txt02 {
			margin-top: 0.7rem;
			font-size: 1.8rem;

			&:before {
				width: 1.5rem;
				right: 1.3rem;
				bottom: 1.3rem;
			}
		}
	}

	&.t_reserve02 {
		padding-top: 3rem;
		padding-bottom: 10.6rem;

		.t_reserve_btns {
			margin-top: 5.2rem;
		}
	}
}

.t_trouble {
	background: url(../images/trouble_bg.jpg) center top / cover no-repeat;

	.t_trouble_head {
		.oft {
			height: 48.8rem;
		}
	}
}

.t_caution {
	margin: -37rem auto 0;
	max-width: 100rem;

	.t_caution_ttl {
		filter: drop-shadow(5px 5px 20px #33282433);
		padding: 1.7rem 0 1.5rem 1.8rem;
		font-size: 3.4rem;
		margin: 0 auto;
		width: 75rem;

		&:before {
			width: 4.2rem;
			height: 1.6rem;
		}

		strong {
			font-size: 4.4rem;
		}
	}

	.t_caution_en {
		font-size: 12rem;
		margin-top: 4.8rem;
	}

	.t_caution_list {
		border-radius: 12rem 1rem 12rem 1rem;
		box-shadow: 5px 5px 20px 0px #33282433;
		padding: 11.7rem 10.5rem 10.5rem 14rem;
		margin-top: -7rem;
		gap: 4.1rem 3rem;

		li {
			padding-left: 4.8rem;
			background: url(../images/icon_check_color_sp.svg) left top 0.3rem / 3.6rem no-repeat;
		}

		li:nth-of-type(1) {
			margin-right: 4.7rem;
		}

		li:nth-of-type(2) {
			margin-right: 4.7rem;
		}

		span {
			padding: 0 1rem 0.5rem;
			font-size: 2.7rem;
		}
	}
}

.t_control {
	border-radius: 10rem;
	padding: 12.6rem 9rem 6.7rem 9rem;
	max-width: 120rem;
	margin: 20.2rem auto 0;

	.t_control_ttl {
		--gutter: min(calc((-1 * var(--vw) * 100 + 116rem) / 2), calc(-1 * var(--inner-padding)));
		top: -9.5rem;
		left: 0;
		width: calc(100% - 9.5rem);
		font-size: 3.7rem;
		padding: 0.3rem 0 0.1rem 6.6rem;
		height: 18.5rem;
		display: flex;
		align-items: center;

		&:before {
			width: calc(100% - var(--gutter));
			border-radius: 0 1rem 1rem 0;
		}

		&:after {
			width: 14.1rem;
			aspect-ratio: 282/228;
			background: url(../images/icon_control.png) center / 100% no-repeat;
		}
	}

	.t_control_about {
		width: 35.5rem;
		top: 12.3rem;
		left: 7.5rem;
		padding-top: 2.5rem;
	}

	.t_control_about_q {
		font-size: 5.7rem;
	}

	.t_control_about_en {
		font-size: 1.8rem;
		margin-top: 0.8rem;
	}

	.t_control_about_txt {
		margin-top: 2.6rem;
		font-size: 3.6rem;
		line-height: 1.3;
	}

	.t_control_txt {
		margin-left: 35.9rem;
		margin-top: 0;
		padding-top: 1.7rem;
		font-size: 2.5rem;
		letter-spacing: 0.05em;
		line-height: 1.75;
	}

	.t_control_img {
		border-radius: 6rem;
		box-shadow: 5px 5px 20px 0px #33282433;
		width: 71rem;
		margin: 3.6rem 0 0 25.5rem;
		padding: 2rem 0.7rem 3.7rem;

		img {
			margin: 0 auto;
			width: 52rem;
		}
	}
}

.t_guideline {
	padding: 15.5rem 0 4.5rem;
	margin-top: -8.7rem;

	.t_guideline_head {
		margin: 0 auto;
		width: 110rem;
	}

	.t_guideline_ttl {
		background: url(../images/icon_guideline.svg) center top / 9.5rem no-repeat;
		padding-top: 11.4rem;

		span {
			font-size: 3.7rem;
			gap: 4.5rem;
			letter-spacing: 0.1em;
		}
	}

	.t_guideline_txt {
		margin-top: 2.6rem;
	}
}

.t_aba1c {
	margin: 4rem auto 0;
	max-width: 98.5rem;
	padding: 4rem 0 7.5rem;

	&:before {
		width: calc(100% + 46rem);
		max-width: calc(100vw - var(--inner-padding) * 2);
		left: 50%;
		transform: translateX(-50%);
		border-radius: 50rem;
		background: url(../images/aba1c_bg.jpg) center / cover no-repeat;
	}

	.t_aba1c_ttl {
		padding: 1.7rem 0 2.4rem;
		width: 100%;
		margin: 0 auto;
		border-radius: 5rem;
		flex-direction: row;
		gap: 1rem;

		&:before {
			bottom: -2.6rem;
			width: 3rem;
		}

		.txt01 {
			font-size: 4.5rem;
		}

		.txt02 {
			font-size: 2.1rem;
			position: relative;
			top: 0.4rem;
		}
	}

	.t_aba1c_block {
		filter: drop-shadow(5px 5px 20px #33282433);
		--gap-col: 3.5rem;
		--col: 3;
		width: 100%;
		margin: 4.9rem auto 0;
	}

	.t_aba1c_box {
		--corner-width: 4.6rem;
		--corner-height: 4.6rem;
		padding: 4.5rem 3.5rem 5.9rem;
	}

	.t_aba1c_sugar {
		gap: 0.7rem;

		img {
			width: 3.9rem;
		}
	}

	.t_aba1c_box_ttl {
		font-size: 2.3rem;
		line-height: calc(22/16);
		padding-bottom: 1.3rem;
		margin-top: 1rem;
	}

	.t_aba1c_percent {
		margin-top: 1rem;

		.txt01 {
			font-size: 5rem;
		}

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

.t_treatment {
	padding: 16.6rem 0 15.7rem;

	&:before {
		left: 50%;
		transform: translateX(-50%);
		width: 100%;
		min-width: 192rem;
		height: 9rem;
		aspect-ratio: auto;
		background: url(../images/half_cricle.png) center top / 100% 100% no-repeat;
	}

	&:after {
		left: 50%;
		transform: translateX(-50%) rotate(180deg);
		rotate: 0deg;
		width: 100%;
		min-width: 192rem;
		height: 9rem;
		aspect-ratio: auto;
		background: url(../images/half_cricle.png) center top / 100% 100% no-repeat;
	}

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

		&:after {
			background: url(../images/fixed_bg03.jpg) center / cover no-repeat;
		}
	}

	.t_treatment_head {
		padding-top: 3.8rem;
		padding-right: 1rem;

		&:before {
			left: 4.9rem;
			width: 10.5rem;
			top: -0.8rem;
		}

		&:after {
			right: 4.7rem;
			width: 11.4rem;
			top: -0.3rem;
		}
	}

	.t_treatment_catch {
		font-size: 2.9rem;
	}

	.t_treatment_ttl {
		padding: 0.8rem 0rem 0.8rem 0.4rem;
		font-size: 3.7rem;
		border-radius: 0.5rem;
		margin: 1.9rem auto 0;
		width: 65.6rem;

		&:before,
		&:after {
			left: 3.5rem;
			width: 1.1rem;
		}

		&:after {
			right: 3.5rem;
			left: auto;
		}
	}

	.t_treatment_block {
		grid-template-columns: repeat(3, 1fr);
		gap: 6rem;
		width: 108rem;
		margin: 6.2rem auto 0;
		position: relative;
		left: -1.5rem;
	}

	.t_treatment_box {
		box-shadow: 5px 5px 20px 0px #33282433;
		border-radius: 5rem;
		padding: 3.4rem 2.5rem 3.4rem;

		&:before {
			top: 11.9rem;
			width: 78.4rem;
		}
	}

	.t_treatment_box_icon {
		box-shadow: 5px 5px 20px 0px #33282433;
		width: 11rem;
		border-radius: 2rem;

		img {
			width: 3.8rem;

			.nutritional & {
				width: 5.6rem;
			}

			.pharmacotherapy & {
				width: 5.2rem;
			}
		}

		&.life {}
	}

	.t_treatment_box_ttl {
		margin: 3.6rem 0 0;

		.txt01 {
			font-size: 2.8rem;

			span {
				font-size: 2.1rem;
				margin-top: 0.3rem;
			}
		}

		.txt02 {
			font-size: 1.7rem;
			margin-top: 1.2rem;
			padding-left: 0.2rem;
			letter-spacing: 0.12em;
		}
	}

	.t_treatment_box_txt {
		margin-top: 0.6rem;
		margin-right: -0.8rem;
	}
}

.t_faq {
	padding: 0 0 15.4rem;

	&:before {
		width: calc(108rem - var(--over-margin02));
		height: 100%;
		right: 0;
		z-index: -5;
		background: url(../images/faq_bg.jpg) center / cover no-repeat;
	}

	&:after {
		background: url(../images/fixed_bg03.jpg) center / cover no-repeat;
	}

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

		&:before {
			box-shadow: 5px 5px 20px 0px #33282440 inset;
		}
	}

	.t_faq_head {
		padding: 6.5rem 0 3.8rem;

		&:before {
			left: var(--over-margin02);
			width: calc(100% - 52.8rem - var(--over-margin02));
			border-radius: 0 0 25rem 0;
		}
	}

	.t_faq_en {
		font-size: 12rem;
		padding-left: 6.6rem;
	}

	.t_faq_ttl {
		padding-left: 13rem;
		font-size: 3.1rem;
		gap: 2.8rem;
		margin-right: 0;
		margin-top: -1.2rem;
	}

	.t_faq_block {
		margin-top: 5.4rem;
		gap: 3rem;
		padding-left: 18rem;
	}
}

.t_facility {
	padding: 5.3rem 0 6.9rem;

	.t_facility_ttl {
		padding-left: 9rem;
		gap: 2.2rem;
		margin-bottom: 0.4rem;

		.txt01 {
			font-size: 11rem;
			line-height: 1.3;
		}

		.txt02 {
			font-size: 2.7rem;
			position: relative;
			top: 3.6rem;
		}
	}
}

.t_mi {
	padding: 0 0 9rem;

	.t_mi_head {
		padding: 6.8rem 0 0;
	}

	.t_mi_ttl {
		font-size: 17rem;
		bottom: auto;
		top: -5.6rem;
	}

	.t_mi_catch {
		gap: 1.5rem;

		.line {
			border-radius: 0.5rem;
			box-shadow: 0px 3.74px 3.74px 0px #00000040;
			font-size: 3.5rem;
			padding: 0.95rem 2rem 1.2rem 3.2rem;

			&:before {
				width: 2rem;
			}

			span {
				padding: 0 4.5rem;

				&:before,
				&:after {
					width: 3.7rem;
					background: url(../images/icon_slash_left.svg) center / 100% no-repeat;
				}

				&:after {
					background-image: url(../images/icon_slash_right.svg);
				}
			}
		}
	}

	.t_mi_slider {
		display: block;
		width: max(100vw, var(--tb-breakpoint));
		margin: 3.2rem 0 0 min(var(--over-margin01), -12rem);
	}

	.slick-slider .slick-track,
	.slick-slider .slick-list {
		overflow: visible;
	}

	.slick-initialized .slick-slide {
		display: block !important;
	}

	.t_mi_slider_item {
		margin: 0 1.5rem;
	}

	.t_mi_slider_item:nth-of-type(n+2) {
		display: none;
	}

	.t_mi_box {
		border-radius: 0.5rem;
		box-shadow: 5px 5px 10px 0px #3328241A;
		padding: 3.5rem 3.5rem 5.5rem;

		.t_mi_box_head {
			gap: 2rem;

			.icon {
				width: 10.5rem;
			}

			.ttl {
				font-size: 2.5rem;
				gap: 2rem;
			}

			.account {
				font-size: 2.2rem;
				padding: 0.7rem 2rem 0.5rem;
				margin-top: 0.7rem;
			}
		}

		.t_mi_box_body {
			margin-top: 3rem;
			display: flex;
			padding: 0 1.6rem;
			gap: 3rem;

			.thumb {
				border-radius: 1rem;
				width: 55rem;
			}
		}

		.t_mi_box_books {
			margin-top: 0;
			padding: 1.5rem 2rem;
			border-radius: 1rem;
		}

		.t_mi_box_list {
			--gap-col: 1.5rem;
			--gap-row: 2rem;
			--col: 2;
			margin: 0;
			width: auto;
			display: grid;
			grid-template-columns: repeat(2, 1fr);

			&.col04_pc {
				grid-template-columns: repeat(4, 1fr);
			}

			li {
				width: 8.5rem;
			}
		}
	}

	.t_mi_slider_dots {
		margin-top: 4rem;

		.slick-dots {
			display: flex !important;
			width: 100%;
			text-align: center;
			line-height: 1;
			justify-content: center;
			flex-wrap: wrap;
			gap: 4rem;
		}

		.slick-dots li {
			position: relative;
			display: block;
			width: 1rem;
			height: 1rem;
		}

		.slick-dots li+li {
			margin-left: 0;
		}

		.slick-dots li button {
			font-size: 0;
			line-height: 0;
			display: block;
			width: 100%;
			height: 100%;
			text-indent: 100%;
			white-space: nowrap;
			overflow: hidden;
			cursor: pointer;
		}

		.slick-dots li button:before {
			position: absolute;
			top: 0;
			left: 0;
			content: "";
			background: #C7BCB6;
			border-radius: 50%;
			width: 100%;
			height: 100%;
			border: 0;
		}

		li.slick-active button:before {
			background: #5D4B42;
		}
	}
}

.t_line {
	padding: 10.2rem 0 9rem;
	background: url(../images/line_bg.png) center top / max(100%, 192rem) no-repeat;

	.inner {
		max-width: calc(110rem + var(--inner-padding) * 2);
	}

	.t_line_ttl {
		padding-top: 10.5rem;
		background: url(../images/icon_line02.svg) center top / 9.5rem no-repeat;
		gap: 4.5rem;
		font-size: 3.7rem;
		line-height: calc(61/37);
	}

	.t_line_catch {
		font-size: 3rem;
		line-height: calc(40/30);
		padding: 3.2rem 3.8rem 3.2rem 5.5rem;
		margin-top: 5rem;

		&:before {
			top: calc(100% - 0.2rem);
			width: 4.6rem;
		}

		strong {
			font-size: 3.2rem;
		}
	}

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

	.t_line_item {
		padding: 2rem 2rem 5.2rem;

		&:before {
			bottom: auto;
			top: 11.7rem;
			left: auto;
			right: -3.3rem;
			transform: none;
			width: 1.1rem;
			height: 3rem;
			-webkit-clip-path: polygon(0 0, 100% 50%, 0 100%);
			clip-path: polygon(0 0, 100% 50%, 0 100%);
		}
	}

	.t_line_item_step {
		font-size: 1.6rem;
		margin-top: 1.5rem;
		padding: 0.4rem 0 0.3rem;

		span {
			font-size: 2.8rem;
			margin-left: 0.3em;
		}
	}

	.t_line_item_ttl {
		margin-top: 0.9rem;
		font-size: 2.3rem;
	}

	.t_line_item_txt {
		margin-top: 1.1rem;
		font-size: 1.8rem;
		line-height: calc(28/18);
		letter-spacing: 0.1em;
	}
}