.access_box {
	border-top: 1px solid #ccc;
}

.access_item.tokyo {
	background-color: unset;
	border-left: 1px solid #ccc;
}

.sp_br {
	display: none;
}

.pc_center {
	text-align: center;
}

@media screen and (max-width:767.9px) {
	.sp_br {
		display: revert;
	}

	.pc_br {
		display: none;
	}

	.pc_center {
		text-align: left;
	}
}

.inner-l {
	width: calc(100% - 4rem);
	max-width: 1780px;
	margin-inline: auto;
}

.page_head {
	display: grid;
	grid-template-columns: 940fr 980fr;
	isolation: isolate;

	.wb {
		display: inline-block;
	}

	.text_box {
		grid-column: 1/-1;
		grid-row: 1;
		align-self: center;
		padding: 5px 0;
		z-index: 2;

		.title {
			padding: .5rem 49% .5rem 3.5rem;
			color: var(--c-main);
			font-size: clamp(3rem, 3vw, 5rem);
			font-weight: 500;
			letter-spacing: .05em;
			line-height: 1.2;
			position: relative;

			&::before {
				content: '';
				display: block;
				width: 5px;
				background-image: linear-gradient(to bottom, var(--c-main) 50%, var(--c-accent-02) 50%);
				background-size: contain;
				position: absolute;
				top: 0;
				bottom: 0;
				left: 0;
			}

			.sub {
				font-size: 3rem;
			}
		}

		.text {
			margin-top: 4rem;
			padding-right: 51%;
		}

		.title-lv2 {
			margin-bottom: 2.5rem;
			color: var(--c-main);
			font-size: clamp(2.7rem, 2.7vw, 4rem);
			font-weight: 500;
			letter-spacing: .05em;
		}

		.lead {
			font-size: clamp(2rem, 2vw, 2.5rem);
			font-weight: 500;

			.sub {
				font-size: 1.8rem;
			}
		}

		.note {
			margin-top: 4rem;
			font-size: 1.8rem;

			&.img {
				max-width: 24.5rem;
				margin-inline: auto;
			}
		}

	}

	.img_box {
		grid-column: 2;
		grid-row: 1;
		max-height: 560px;
		position: relative;
		z-index: 1;

		&::before {
			content: '';
			display: block;
			width: 50%;
			position: absolute;
			top: 0;
			bottom: -1px;
			left: -1px;
			background-image: url("../img/page/header_mv_frame.svg");
			background-size: auto 100%;
			background-position: left bottom;
		}

		img {
			width: 100%;
			height: 100%;
			object-fit: cover;
		}
	}


}

.page_breadcrumb {
	padding-top: 3.3rem;
	padding-bottom: 7.6rem;
}

.page_content {
	line-height: 1.6;
	overflow-x: clip;

	.inner {
		max-width: 1080px;
	}

	:where(h2, h3, h4, h5, h6) {
		color: var(--c-main);
		font-weight: 500;
		line-height: 1.6;
	}

	h2:not([class]) {
		padding-bottom: 1em;
		font-size: 4rem;
		text-align: center;
		position: relative;

		&::after {
			content: '';
			display: block;
			width: 10rem;
			height: 3px;
			background: linear-gradient(to right, var(--c-main) 0%, var(--c-main) 50%, var(--c-accent-02) 50%, var(--c-accent-02) 100%);
			position: absolute;
			bottom: 0;
			left: 50%;
			translate: -50% 0;
		}

		&:not(:first-child) {
			margin-top: 12rem;
		}

		&:not(:last-child) {
			margin-bottom: 7rem;
		}

		span {
			display: inline-block;
		}
	}

	h3:not([class]) {
		color: var(--c-main);
		font-size: 3.2rem;
		text-align: center;
		position: relative;

		&::before {
			content: '';
			display: block;
			width: 100%;
			height: 2px;
			margin-bottom: 4rem;
			background-color: #ccc;
		}

		&::after {
			content: '';
			display: block;
			width: 24.6rem;
			height: 2px;
			background-color: var(--c-main);
			position: absolute;
			top: 0;
			left: 50%;
			translate: -50% 0;
		}

		&:not(:first-child) {
			margin-top: 10rem;
		}

		&:not(:last-child) {
			margin-bottom: 6rem;
		}
	}

	h3.s {
		display: grid;
		grid-template-columns: max-content 1fr;
		column-gap: 2.6rem;
		color: var(--c-main);
		font-size: 2rem;
		text-align: left;

		&::after {
			content: '';
			display: block;
			width: 100%;
			height: 100%;
			background-image: linear-gradient(to right, currentcolor 2px, transparent 2px);
			background-repeat: repeat-x;
			background-position: left center;
			background-size: 4px 1px;
		}

		&:not(:first-child) {
			margin-top: 8rem;
		}

		&:not(:last-child) {
			margin-bottom: 5rem;
		}
	}

	h4:not([class]) {
		padding-left: 2.73em;
		font-size: 2.6rem;
		text-align: left;
		background-image: url("../img/page/h4_icon.svg");
		background-position: center left;
		background-size: 2.38em auto;

		&:not(:first-child) {
			margin-top: 8rem;
		}

		&:not(:last-child) {
			margin-bottom: 5rem;
		}
	}

	h5:not([class]) {
		padding-bottom: 2.8rem;
		font-size: 2.2rem;
		text-align: left;
		background-image: linear-gradient(to right, currentcolor 2px, transparent 2px);
		background-repeat: repeat-x;
		background-position: left bottom;
		background-size: 4px 1px;

		&:not(:first-child) {
			margin-top: 7rem;
		}

		&:not(:last-child) {
			margin-bottom: 4rem;
		}
	}

	h6:not([class]) {
		font-size: 1.8rem;
		text-align: left;

		&:not(:first-child) {
			margin-top: 6rem;
		}

		&:not(:last-child) {
			margin-bottom: 3rem;
		}
	}

	.sec_bg {
		position: relative;
		isolation: isolate;

		&::before {
			content: '';
			display: block;
			width: 120vw;
			margin-inline: calc(50% - 60vw);
			position: absolute;
			top: 0;
			bottom: 0;
			z-index: -1;
		}

		&.bg_01::before {
			background-color: var(--c-bg-01);
		}

		&.bg_02::before {
			background-color: var(--c-bg-02);
		}

		&.bg_white::before {
			background-color: #fff;
		}

		&.bg_lb::before {
			background-color: var(--c-accent-01);
		}
	}

	.c-attention {
		color: #D00000;
	}

	.lead {
		font-size: 1.8rem;
	}

	.list_check {
		display: grid;
		row-gap: 2rem;
		font-size: 1.8rem;
		font-weight: 500;

		li {
			display: grid;
			grid-template-columns: 4rem 1fr;
			align-items: center;
			column-gap: 1.5rem;
			padding-bottom: 2rem;
			background-image: linear-gradient(to right, var(--c-main) 2px, transparent 2px);
			background-repeat: repeat-x;
			background-position: left bottom;
			background-size: 4px 1px;

			&::before {
				content: '';
				display: inline-block;
				aspect-ratio: 1;
				background-image: url("../img/page/list_checkmark.svg");
				background-size: contain;
			}
		}
	}

	/* 適応する症状・病気 */
	.indication_list {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 20px 40px;

		.link_btn a {
			max-width: unset;
			padding: 2.1rem 2rem;
			font-size: 1.6rem;
			text-align: left;
		}
	}

	.yt_box {
		aspect-ratio: 16 / 9;
		width: 100%;
		margin-top: 5rem;

		iframe {
			width: 100%;
			height: 100%;
		}
	}

	.popup_btn {
		width: 100%;
		max-width: 20rem;
		padding: 1.5rem 4rem;
		color: var(--c-main);
		font-size: 1.8rem;
		font-weight: 500;
		text-align: center;
		background-color: #fff;
		background-image: url("../img/common/icon_plus.svg");
		background-size: 1.8rem auto;
		background-position: center right 2rem;
		border: 1px solid var(--c-main);
		border-radius: 3rem;
	}

	.appointment_tel {
		display: grid;
		color: var(--c-main);
		line-height: 1;

		.item {
			display: grid;
			grid-template-columns: max-content 1fr;
			align-items: center;
			column-gap: 1.5rem;

			&:not(:last-child) {
				background-image: linear-gradient(to right, currentcolor 2px, transparent 2px);
				background-repeat: repeat-x;
				background-position: left bottom;
				background-size: 4px 1px;
			}
		}

		dt {
			border: 1px solid;
			border-radius: 5px;
		}
	}

	.tel_number_icon {
		color: var(--c-main);
		font-family: var(--english);
		font-weight: 700;
		line-height: 1;

		a {
			color: inherit;

			&::before {
				content: "";
				display: inline-block;
				aspect-ratio: 1;
				background-size: contain;
				position: relative;
				background-image: url("../img/common/icon_tel.svg");
			}
		}
	}
}

.page_content_layout {
	display: grid;
	grid-template-areas: "side main .";
	grid-template-columns: 1fr 1080px 1fr;
	column-gap: 3rem;
	padding-bottom: 2rem;

	@media screen and (max-width:1440px) {
		grid-template-columns: 20rem 1fr 60px;
	}
}

.page_side {
	grid-area: side;
}

.page_main {
	grid-area: main;
	min-width: 0;
}

:where(.page_content) {
	section {
		padding-top: 12rem;
		padding-bottom: 12rem;

		&:first-child:not([class*="icon_"]) {
			padding-top: 0;
		}
	}
}

:where(.page_content_layout) {
	section:last-child {
		padding-bottom: 10rem;
	}

	.sec_bg:last-child::before {
		bottom: -2rem;
	}
}

.page_nav_sp {
	display: none;
}

.page_nav_pc {
	max-width: 20rem;
	padding: 2.5rem 1rem;
	border-radius: 5px;
	border: 1px solid #CCC;
	background: #FFF;
	position: sticky;
	inset-block-start: 12rem;
	z-index: 1;

	.page_nav_label {
		padding-bottom: 1em;
		color: var(--c-main);
		font-weight: 500;
		border-bottom: 1px solid;
	}

	.page_nav_list {
		margin-top: 6px;
		font-size: 1.5rem;

		li {
			padding-top: 1.3rem;

			&:not(:last-child) {
				padding-bottom: 1.3rem;
				background-image: linear-gradient(to right, #ccc 2px, transparent 2px);
				background-repeat: repeat-x;
				background-position: left bottom;
				background-size: 4px 1px;
			}
		}

		a {
			display: grid;
			grid-template-columns: 1.8rem 1fr;
			align-items: start;
			column-gap: 3px;

			&::before {
				content: '';
				display: block;
				aspect-ratio: 1;
				width: 1.8rem;
				margin-top: .3rem;
				background-image: url("../img/page/arrow_nav.svg");
				background-size: contain;
			}
		}

		.is-current::before {
			background-image: url("../img/page/arrow_nav-current.svg");
		}
	}
}

/*-- ↓ under 767px ↓ -----------------------------*/
@media screen and (max-width:767.9px) {
	.inner-l {
		width: calc(100% - 3rem);
	}

	.page_head {
		display: block;

		.text_box {
			padding-top: 3rem;
			padding-bottom: 0;

			.title {
				padding: 5px 0 5px 15px;
				font-size: 3rem;

				.sub {
					font-size: 1.6rem;
				}
			}

			.text {
				margin-top: 2rem;
				margin-inline: -15px;
				padding: 3rem 2rem;
				background-color: var(--c-accent-01);
			}

			.lead {
				font-size: 1.6rem;

				.sub {
					font-size: 1.6rem;
				}
			}

			.note {
				margin-top: 2rem;
				font-size: 1.4rem;

				&.img {
					max-width: 16rem;
				}
			}
		}

		.img_box {
			aspect-ratio: 360/206;
			height: auto;

			&::before {
				content: none;
			}
		}

	}

	.page_breadcrumb {
		padding-top: 2rem;
		padding-bottom: 3.3rem;
		font-size: 1.2rem;
	}

	.page_content {
		line-height: 1.7;

		:where(h2, h3, h4, h5, h6) {
			line-height: 1.5;
		}

		h2:not([class]) {
			font-size: 2.5rem;

			&:not(:first-child) {
				margin-top: 6rem;
			}

			&:not(:last-child) {
				margin-bottom: 3.5rem;
			}
		}

		h3:not([class]) {
			font-size: 2.2rem;

			&:not(:first-child) {
				margin-top: 5rem;
			}

			&:not(:last-child) {
				margin-bottom: 3rem;
			}
		}

		h3.s {
			font-size: 1.6rem;

			&:not(:first-child) {
				margin-top: 4rem;
			}

			&:not(:last-child) {
				margin-bottom: 2.5rem;
			}
		}

		h4:not([class]) {
			font-size: 2rem;

			&:not(:first-child) {
				margin-top: 4rem;
			}

			&:not(:last-child) {
				margin-bottom: 2.5rem;
			}
		}

		h5:not([class]) {
			font-size: 1.8rem;

			&:not(:first-child) {
				margin-top: 3.5rem;
			}

			&:not(:last-child) {
				margin-bottom: 2rem;
			}
		}

		h6:not([class]) {
			font-size: 1.6rem;
		}

		.lead {
			font-size: 1.6rem;
		}

		.list_check {
			row-gap: 1.5rem;
			font-size: 1.6rem;

			li {
				grid-template-columns: 2.4rem 1fr;
				column-gap: 1rem;
				padding-bottom: 1.5rem;
			}
		}

		.indication_list {
			grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
			gap: 10px 20px;

			.link_btn a {
				padding: 1rem;
			}
		}

		.yt_box {
			margin-top: 5.4rem;
		}

		.popup_btn {
			max-width: 18rem;
			padding: .8rem 3rem;
			font-size: 1.6rem;
			background-position: center right 1.2rem;
		}
	}

	.page_content:is(.bg_01 + *) {
		position: relative;
		isolation: isolate;

		&::before {
			content: '';
			display: block;
			width: 100%;
			height: 15rem;
			background-color: var(--c-bg-01);
			position: absolute;
			top: 0;
			z-index: -1;
		}
	}

	.page_content_layout {
		display: block;
		padding-bottom: 0;
	}

	:where(.page_content) {
		section {
			padding-top: 6rem;
			padding-bottom: 6rem;
		}
	}

	:where(.page_content_layout) {
		section:last-child {
			padding-bottom: 6rem;
		}

		.sec_bg:last-child::before {
			bottom: 0;
		}
	}

	.page_side {}

	.page_main {
		margin-top: 4.5rem;
	}

	.page_nav_pc {
		display: none;
	}

	.page_nav_sp {
		display: revert;
		margin-inline: 5px;
		color: var(--c-main);
		font-weight: 500;
		border: 1px solid #CCC;
		border-radius: 5px;
		overflow: hidden;
		position: relative;

		select {
			inline-size: 100%;
			padding: 1.4rem 1.6rem;
			border: none;
			background-color: #fff;
		}
	}

	.page_select_label {
		display: flex;
		align-items: center;
		inline-size: 100%;
		block-size: calc(100% - 1px);
		padding: 1px 4rem 1px 1rem;
		background-color: #fff;
		background-image: url("../img/page/arrow_nav-select.svg");
		background-position: center right 1.4rem;
		background-size: auto .5em;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 1;
		pointer-events: none;
	}

	.tel_number_icon {
		border: 1px solid #aaa;
		overflow: hidden;

		a {
			width: 100%;
			padding: 1rem 4rem 1rem .8rem;
			text-align: center;
			background-image: url("../img/page/arrow_tel.svg");
			background-position: center right 1.3rem;
			background-size: 2.4rem auto;
		}
	}
}



/* 治療法 */

section[class*="icon_"] {
	position: relative;

	&::after {
		content: '';
		display: block;
		width: 100%;
		height: 8.7rem;
		background-position: center top 4px;
		background-size: contain;
		position: absolute;
		top: 0;
	}
}

section.icon_lower-back::after {
	background-image: url("../img/treatment/icon_lower-back.webp");
}

section.icon_neck::after {
	background-image: url("../img/treatment/icon_neck.webp");
}

.treatment_box {
	display: grid;
	gap: 3rem;

	&:not(:first-child) {
		margin-top: 4rem;
	}

	.item {
		display: grid;
		gap: 4rem;
		border-radius: 10px;
	}

	.item_data {
		display: grid;
		row-gap: 3rem;
	}
}

.treatment_name {
	color: var(--c-main);
	font-size: 2.6rem;
	font-weight: 500;
}

.treatment_list {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	color: var(--c-main);
	font-weight: 500;

	li {
		border-radius: 5px;
	}
}

.treatment_text {}

.treatment_link {
	width: 20rem;
	margin-inline: auto;

	a {
		padding: 1.5rem 2rem;
		border-radius: 3rem;
	}
}

.treatment_box.type-1 {

	.item {
		grid-template-columns: 1fr 20rem;
		align-items: center;
		padding: 4.6%;
		border: 1px solid;
		background: #FFF;
		position: relative;
	}

	.treatment_list {
		font-size: 1.8rem;
	}

	.treatment_list li {
		padding: .33em 1em;
		background: var(--c-accent-01);
	}
}

.treatment_box.type-2 {
	grid-template-columns: repeat(auto-fit, minmax(30rem, 1fr));

	.item {
		padding: 11.8% 9.4% 10.9%;
		background-color: var(--c-accent-01);
	}

	.treatment_name {
		text-align: center;
	}

	.treatment_list {
		justify-content: center;
		font-size: 1.5rem;
	}

	.treatment_list li {
		padding: .2em .67em;
		background: #fff;
	}
}

.treatment_more {
	margin-top: 8rem;

	a {
		margin-inline: auto;
	}
}

.treatment_comparison {
	table {
		table-layout: fixed;
	}

	thead .no_cell {
		background-color: transparent;
	}

	tbody {
		background-color: #fff;
	}

	th {
		padding: 2px;
		font-size: 1.8rem;
	}

	td {
		padding: 2px;
	}
}

.free_consultation {
	display: grid;
	grid-template-columns: 420fr 660fr;
	border-radius: 5px;
	overflow: hidden;

	.img_box {
		img {
			width: 100%;
			height: 100%;
			object-fit: cover;
		}
	}

	.text_box {
		display: grid;
		align-content: center;
		row-gap: 5rem;
		padding: 4rem 2rem;
		text-align: center;
	}

	.text {
		font-size: clamp(1.8rem, 1.8vw, 2.6rem);
		font-weight: 600;
		line-height: 1.8;
	}

	.link_btn {
		a {
			margin-inline: auto;

		}
	}
}

.treatment_features {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(30rem, 1fr));
	gap: 6rem 3rem;
	counter-reset: num;

	.item {
		display: grid;
		grid-template-rows: subgrid;
		grid-row: span 3;
		justify-items: center;
		row-gap: 2.5rem;
		/* padding: 6.1rem 1rem 5.1rem; */
		padding: 6.1rem 3rem 5.1rem;
		text-align: center;
		background-color: #fff;
		border-radius: 10px;
		position: relative;
		counter-increment: num;

		&::before {
			content: counter(num, decimal-leading-zero);
			color: var(--c-accent-02);
			font-family: var(--cardo);
			font-size: 8rem;
			font-style: italic;
			line-height: 1;
			position: absolute;
			top: 0;
			left: 0;
			right: 0;
			translate: 0 -50%;
		}
	}

	.icon_box {
		display: grid;
		place-items: center;
		aspect-ratio: 1;
		width: 14rem;
		background-color: var(--c-bg-02);
		border-radius: 50%;
		overflow: hidden;

		img {
			width: 100%;
		}
	}

	.head {
		font-size: 2rem;
	}

	p:not(.head) {
		font-size: 1.8rem;
	}

	.w {
		margin-inline: -1em;
	}
}

@media screen and (max-width:1200px) {
	.treatment_box.type-1 .item {
		grid-template-columns: unset;
	}
}

/*-- ↓ under 767px ↓ -----------------------------*/
@media screen and (max-width:767.9px) {
	section[class*="icon_"] {
		padding-top: 7.7rem;

		&::after {
			height: 7.22rem;
		}
	}

	.treatment_box {
		gap: 2rem;

		.item {
			gap: 2rem;
		}

		.item_data {
			row-gap: 2rem;
		}
	}

	.treatment_name {
		font-size: 2rem;
		text-align: center;
	}

	.treatment_list {
		justify-content: center;
		gap: 5px;
		margin-top: .5rem;
	}

	.treatment_text {
		font-size: 1.6rem;
	}

	.treatment_link a {
		padding: .9rem 1.5rem;
		font-size: 1.5rem;
		border-radius: 2.5rem;
	}

	.treatment_box.type-1,
	.treatment_box.type-2 {
		grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));

		.item {
			padding: 2.5rem 2rem 2.7rem;
		}

		.treatment_list {
			font-size: 1.4rem;

			li {
				padding: 2px 9px;
			}
		}
	}

	.treatment_more {
		margin-top: 4rem;
	}

	.treatment_comparison {
		th {
			font-size: 1.6rem;
		}
	}

	.free_consultation {
		display: block;
		max-width: 500px;
		margin-inline: auto;

		.img_box {
			aspect-ratio: 16/9;
		}

		.text_box {
			row-gap: 3rem;
			padding: 4rem 2rem;
		}

		.text {
			font-size: 1.6rem;
		}

		.link_btn a {
			/* padding: .8rem 4rem .7rem; */
			font-size: 1.6rem;
		}
	}

	.treatment_features {
		margin-top: 6rem;
		row-gap: 3.7rem;

		.item {
			grid-template-areas: "icon head" ". .";
			grid-template-columns: 10rem 1fr;
			grid-template-rows: unset;
			grid-row: unset;
			justify-items: unset;
			gap: 2.5rem 1.5rem;
			padding: 3.7rem 2.9rem;

			&::before {
				font-size: 5rem;
			}
		}

		.icon_box {
			grid-area: icon;
			width: 10rem;
		}

		.head {
			grid-area: head;
			align-self: center;
			font-size: 1.8rem;
			text-align: left;
		}

		p:not(.head) {
			grid-column: 1/-1;
		}
	}

	.comparison.js-scrollable {
		thead .no_cell {
			background-color: #F0F0F0;
		}
	}
}


/* 治療法一覧 */

.page-treatment {}


/* 治療法下層 */

.page-treatment-low {

	.table_note {
		margin-top: 4rem;
		line-height: 1.8;
	}
}

.page-lumbar {
	.treatment_comparison {
		th {
			&:first-child {
				width: 20rem;
			}

			&:nth-child(2) {
				width: 15.6rem;
			}

			&:is(tbody *) {
				background-color: var(--c-bg-02);
			}
		}
	}

	.tel_number_icon {
		font-size: 5rem;

		a::before {
			width: 5rem;
			margin-right: 1rem;
			top: 0.5rem;
		}
	}

	/* お悩みの方 */
	.appointment_box {
		align-items: center;
		justify-content: center;
		gap: 4rem 9rem;
		margin-top: 6.2rem;
		padding: 6.3% 4.6%;
	}

	.appointment_tel {
		row-gap: 2.5rem;

		.item {
			column-gap: 1.5rem;

			&:not(:last-child) {
				padding-bottom: 2.5rem;
			}
		}

		dt {
			padding: 1rem .7rem 1.1rem;
			font-size: 2.5rem;
		}
	}

	.appointment_note {
		margin-top: 2rem;
		font-size: 1.8rem;
	}

	.appointment_link {
		flex-grow: 1;
		display: grid;
		gap: 3rem;
		max-width: 420px;

		.link_btn {
			a {
				max-width: unset;
			}
		}
	}

	/* 治療の違い */
	.compare_box {
		margin-top: 13rem;

		.item-1 {
			--box-border: #ccc;
			--box-head-bg: #eee;
			--icon-border: var(--c-main);
			--box-head-text: var(--c-main);
			--box-list-bg: #eee;
		}

		.item-2 {
			--box-border: var(--c-accent-02);
			--box-head-bg: var(--c-accent-02);
			--icon-border: var(--c-accent-02);
			--box-head-text: #fff;
			--box-list-bg: var(--c-bg-02);
		}

		.item {
			width: 48%;
			padding: 7.8rem 3rem 3.6rem;
			border: 2px solid var(--box-border);
			border-radius: 10px;
			position: relative;

			&::before {
				content: '';
				width: 100%;
				height: 16rem;
				background-color: var(--box-head-bg);
				border-radius: 10px 10px 0 0;
				position: absolute;
				top: 0;
				left: 0;
			}
		}

		.icon_box {
			display: grid;
			place-items: center;
			aspect-ratio: 1;
			width: 12rem;
			background-color: #fff;
			border: 3px solid var(--icon-border);
			border-radius: 50%;
			position: absolute;
			top: 0;
			left: 50%;
			translate: -50% -50%;
			z-index: 2;

			img {
				aspect-ratio: 1;
				width: 5.6rem;
			}
		}
	}

	.compare_head {
		color: var(--box-head-text);
		font-size: clamp(2.2rem, 1.8vw, 3rem);
		font-weight: 500;
		text-align: center;
		position: relative;
		z-index: 2;
	}

	.compare_content {
		margin-top: 7rem;

		p:not([class]) {
			font-size: 1.8rem;
			line-height: 1.8;
		}

		.img {
			aspect-ratio: 460/307;
			margin-top: 4rem;
			border-radius: 10px;
			overflow: hidden;

			img {
				width: 100%;
				height: 100%;
				object-fit: cover;
			}
		}

		.list {
			margin-top: 4rem;
			border: 1px solid #ccc;

			dt {
				padding: 2rem 1rem;
				font-weight: 500;
				text-align: center;
			}

			dd {
				padding: 2rem;
			}
		}

		.list_item {
			display: grid;
			grid-template-columns: 14.1rem 1fr;
			align-items: center;
			background: linear-gradient(to right, var(--box-list-bg) 14.1rem, transparent 14.1rem);

			&:not(:last-child) {
				border-bottom: 1px solid #ccc;
			}
		}

		.note {
			margin-top: 3rem;
		}
	}

	/* 治療の流れ */
	.attention_box {
		display: flex;
		align-items: center;
		column-gap: 6px;
		width: fit-content;
		margin-inline: auto;
		padding: .8rem 3rem;
		font-size: 2rem;
		font-weight: 500;
		text-align: center;
		background-color: #fff;
		border: 1px solid #D00000;
		border-radius: 25px;

		&::before {
			content: '';
			flex-shrink: 0;
			display: block;
			aspect-ratio: 1;
			width: 24px;
			background-image: url("../img/common/icon_exclamation.svg");
			background-size: contain;
		}
	}

	.attention-1 {
		margin-bottom: 5.7rem;
	}

	.tab_container {
		margin-top: 8rem;

		.tab {
			width: 48%;
			font-weight: 500;

			&.active {
				background-color: var(--c-bg-01);

				&::before {
					background-color: var(--c-bg-01);
				}
			}
		}
	}

	.content_container {
		padding: 8rem 0 0;
		background-color: unset;
	}

	.tab_content {
		height: 0;
		opacity: 0;
		visibility: hidden;

		&.show {
			height: auto;
			opacity: 1;
			visibility: visible;
		}
	}

	.tab_content_appointment {
		margin-bottom: 6rem;
		padding: 4.5rem 3rem 5rem;
		border: 1px solid #ccc;
		border-radius: 10px;
	}

	.tab_content_appointment_title {
		color: var(--c-main);
		font-size: 3.2rem;
		font-weight: 500;
	}

	.tab_content_appointment_box {
		align-items: flex-start;
		justify-content: center;
		gap: 5rem 2rem;
		margin-top: 4rem;
	}

	.tab_content_appointment_tel {
		flex-shrink: 0;
	}

	.tab_content_appointment_tel p:not(:last-child) {
		margin-bottom: 2rem;
	}

	.tab_content_appointment_link {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		justify-content: center;
		gap: 2rem;

		.link_btn {
			max-width: 25rem;

			a {
				padding: 1rem;

				&::after {
					content: none;
				}
			}

			&.web a::before {
				width: 3.2rem;
				background-image: url("../img/common/icon_mobile-white.svg");
			}

			&.web a:hover::before {
				background-image: url("../img/common/icon_mobile-blue.svg");
			}
		}
	}

	.flow {
		.item {
			height: 100%;
		}

		.img_box {
			aspect-ratio: 280/187;
			border-radius: 10px;
			overflow: hidden;

			img {
				width: 100%;
				height: 100%;
				object-fit: cover;
			}
		}

		.item-later {
			display: grid !important;
			place-items: center;
			padding: 2.5rem;
		}

		.item-later .head {
			font-size: 4rem;
		}

		a {
			text-decoration: underline;
		}

		.slick-track {
			display: flex;
			margin-inline: -1.5rem;
		}

		.slick-slide {
			height: auto !important;
			margin-inline: 1.5rem;

			& > div {
				height: 100%;
			}
		}

		.slick-arrow {
			aspect-ratio: 1;
			width: 6rem;
			font-size: 0;
			background-size: contain;
			background-color: #fff;
			border: none;
			border-radius: 50%;
			position: absolute;
			top: 50%;
			transform: translateY(-50%);
			z-index: 1;

			&.slick-prev {
				background-image: url("../img/treatment/flow-prev.svg");
				left: -8rem;
			}

			&.slick-next {
				background-image: url("../img/treatment/flow-next.svg");
				right: -8rem;
			}

			&.slick-disabled {
				opacity: 0;
				pointer-events: none;
			}
		}
	}

	/* こんな方におすすめです */
	.recommend_box {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		align-items: start;
		gap: 6rem;
		padding: 4.6%;
		border-radius: 10px;

		.img {
			border-radius: 10px;
			overflow: hidden;
		}

		.link_btn {
			margin-top: 4rem;

			a {
				max-width: 400px;
			}
		}
	}

}

.page-cervical {

	.qualify_box {
		border-radius: 10px;
		overflow: hidden;
		text-align: center;

		.head {
			padding: 1.9rem;
			color: #fff;
			font-size: 2.2rem;
			font-weight: 500;
			background-color: var(--c-main);
		}

		.list {
			display: grid;
			grid-template-columns: repeat(2, 1fr);
			align-items: center;
			padding: 1.6rem 0;
			color: var(--c-main);
			font-size: 2.6rem;
			font-weight: 500;

			.item {
				width: 100%;
				padding: 4rem 2rem;

				&:not(:last-child) {
					border-right: 1px solid #ccc;
				}
			}
		}
	}

	.qualify_text {
		margin-top: 4rem;
		font-size: 2rem;
		line-height: 1.8;
	}

	.qualify_gallery {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		gap: 2rem;

		.item {
			aspect-ratio: 1;
			border-radius: 10px;
			overflow: hidden;

			img {
				width: 100%;
				height: 100%;
				object-fit: cover;
			}
		}
	}

	.qualify_text_2 {
		margin-top: 5rem;
		font-size: 1.8rem;
		line-height: 1.8;
	}

	.qualify_link {
		margin-top: 5rem;
		text-align: center;

		a {
			padding: 2.4rem 2rem;
		}
	}


}

/*-- ↓ under 767px ↓ -----------------------------*/
@media screen and (max-width:767.9px) {
	.page-treatment-low {}

	.page-lumbar {
		.treatment_comparison {
			table {
				width: 800px;
			}

			thead .no_cell {
				background-color: var(--c-bg-02);
			}

			th {
				&:first-child {
					width: 10.5em;
					padding: 2px;
				}

				&:nth-child(2) {
					width: 7.5em;
				}
			}
		}

		.tel_number_icon {
			font-size: 2.8rem;
			border-radius: 2.5rem;

			a::before {
				width: 2.4rem;
				top: 0.2rem;
			}
		}

		.appointment_box {
			gap: 2.4rem 5rem;
			max-width: 500px;
			margin-inline: auto;
			margin-top: 3.6rem;
			padding: 2.8rem 1.5rem 3rem;
		}

		.appointment_tel {
			row-gap: 1.5rem;

			.item {
				grid-template-columns: unset;
				row-gap: 1rem;

				&:not(:last-child) {
					padding-bottom: 0;
					background: none;
				}
			}

			dt {
				padding: 0;
				font-size: 2rem;
				text-align: center;
				border: none;
			}
		}

		.appointment_note {
			font-size: 1.5rem;
			text-align: center;
		}

		.appointment_link {
			grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
			gap: 1rem;
			max-width: 31rem;

			.link_btn {
				a {
					padding: 3px 10px;
					font-size: 1.4rem;

					&::after {
						content: none;
					}
				}

				&.contact a::before {
					width: 2.4rem;
				}
			}
		}

		.compare_box {
			max-width: 500px;
			margin-inline: auto;
			margin-top: 7.6rem;
			row-gap: 7rem;

			.item {
				width: 100%;
				padding: 5rem 2rem 3.5rem;

				&::before {
					height: 13rem;
				}
			}

			.icon_box {
				width: 8rem;

				img {
					width: 3.7rem;
				}
			}

		}

		.compare_head {
			font-size: 2.2rem;
			line-height: 1.5;
		}

		.compare_content {
			margin-top: 4.5rem;

			p:not([class]) {
				font-size: 1.6rem;
				line-height: 1.6;
			}

			.img {
				aspect-ratio: 280/194;
				margin-top: 3rem;
			}

			.list {
				margin-top: 2rem;

				dt {
					padding: 1.4rem;
					text-align: center;
					background-color: var(--box-list-bg);
				}

				dd {
					padding: 1.5rem;
				}
			}

			.list_item {
				grid-template-columns: unset;
				background: none;
			}

			.note {
				margin-top: 2.5rem;
				font-size: 1.5rem;
			}
		}

		.attention_box {
			font-size: 1.6rem;
			text-align: left;
			border-radius: 30px;
		}

		.attention-1 {
			max-width: 30rem;
			margin-bottom: 4rem;
			padding: .3rem 3.6rem;
		}

		.tab_container {
			margin-top: 5rem;

			.tab {
				padding: 1.8rem 1rem;
			}
		}

		.content_container {
			padding-top: 5.4rem;
		}

		.tab_content_appointment {
			padding: 2.5rem 1rem 2.7rem;
		}

		.tab_content_appointment_title {
			font-size: 2rem;
		}

		.tab_content_appointment_box {
			gap: 2rem;
			margin-top: 2rem;
		}

		.tab_content_appointment_tel p:not([class]) {
			font-size: 1.3rem;
		}

		.tab_content_appointment_link {
			flex-grow: 1;
			grid-template-columns: repeat(auto-fit, 150px);
			gap: 1rem;

			.link_btn {
				min-width: 150px;

				a {
					padding: .5rem 1rem .3rem;
					font-size: 1.4rem;
				}

				&.web a::before {
					width: 2.4rem;
				}
			}
		}

		.flow {
			margin-inline: -1.5rem;

			.number {
				line-height: 1;
			}

			.slick-list {
				padding: 0 5%;
			}

			.slick-slide {
				margin-inline: .75rem;
			}

			.slick-arrow {
				&.slick-prev {
					left: 1.8rem;
				}

				&.slick-next {
					right: 1.8rem;
				}
			}
		}

		.recommend_box {
			display: block;
			max-width: 500px;
			margin-inline: auto;
			padding: 3rem 2rem 3.8rem;

			.img {
				margin-bottom: 2.6rem;
			}

			.link_btn {
				margin-top: 3rem;

				a {
					padding: .8rem 4rem .7rem;
					font-size: 1.6rem;
				}
			}
		}

	}

	.page-cervical {

		.qualify_box {
			max-width: 500px;
			margin-inline: auto;

			.head {
				font-size: 1.8rem;
			}

			.list {
				grid-template-columns: unset;
				padding: 0 1.6rem;
				font-size: 2rem;

				.item {
					padding: 4rem 2rem;

					&:not(:last-child) {
						border-right: none;
						border-bottom: 1px solid #ccc;
					}
				}
			}
		}

		.qualify_text {
			margin-top: 2rem;
			font-size: 1.6rem;
			line-height: 1.6;
		}

		.qualify_gallery {
			grid-template-columns: repeat(2, 1fr);
		}

		.qualify_text_2 {
			margin-top: 3rem;
			font-size: 1.6rem;
			line-height: 1.6;
		}

		.qualify_link {
			margin-top: 3rem;

			a {
				padding: 1rem 4.5rem;
				font-size: 1.6rem;
			}
		}

	}
}

/* 治療法詳細 */

.page-treatment-detail {

	/* お悩み */
	.worries_box {
		max-width: 88rem;
		margin-inline: auto;
		padding: 5.4rem;
		border-radius: 10px;
		box-shadow: 0 3px 5px 0 rgba(0, 0, 0, 0.10);
		position: relative;

		&::before,
		&::after {
			content: '';
			display: block;
			background-position: center;
			background-size: contain;
			position: absolute;
		}

		.list_check {
			max-width: 60rem;
			margin-inline: auto;

			li:last-child {
				padding-bottom: 0;
				background: none;
			}
		}
	}

	.worries_text {
		margin-top: 8rem;
		font-size: 2rem;
		line-height: 1.8;
	}

	.worries_text_wide {
		margin-inline: -8rem;
	}

	/* 特徴 */
	.treatment_features {}

	.step_arrow {
		.item {
			&:not(:last-child)::after {
				content: '';
				display: block;
				aspect-ratio: 1/2;
				width: 1.9rem;
				background-image: url("../img/treatment/step_arrow.svg");
				background-position: center;
				background-size: contain;
				position: absolute;
				top: 50%;
				translate: -50% -50%;
			}
		}
	}

	/* 修復されるしくみ */
	.treatment_step {
		justify-content: flex-start;
		gap: 4rem;

		.item {
			width: 22%;
			min-width: 24rem;
			margin: 0;
			text-align: center;

			&:not(:last-child)::after {
				left: calc(100% + 2rem);
			}
		}

		.number {
			line-height: 1;
		}

		.img_box {
			aspect-ratio: unset;
			max-width: 18rem;
			margin-inline: auto;
		}

		.head {
			padding: 3rem 0;
			font-size: 1.8rem;
		}

		.head-single {
			padding: 4.4rem 0;
			font-size: 1.8rem;
		}
	}

	/* 体験 */
	.experience_box {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(50rem, 1fr));
		gap: 4rem;

		.item {
			display: grid;
			grid-template-columns: 22rem 1fr;
			align-items: center;
			gap: 3rem;
			padding: 4rem 3rem;
			background: #FFF;
			border-radius: 10px;
			border: 1px solid #CCC;
		}

		.img_box {
			aspect-ratio: 1;
			border-radius: 50%;
			overflow: hidden;

			img {
				width: 100%;
				height: 100%;
				object-fit: cover;
			}
		}

		.text_box {
			line-height: 1.8;
		}

		.position {
			font-size: 2rem;
		}

		.name {
			margin-bottom: 1rem;
			font-size: 3.2rem;
			font-weight: 500;
		}
	}

	.experience_text {
		margin-top: 5rem;
		font-size: 1.8rem;
		line-height: 1.8;
	}

	/* 選んだ理由 */
	.experience_reason {
		.img_box {
			aspect-ratio: 289/187;
		}

		.number {
			line-height: 1;
		}

		.head {
			padding: 3rem 0 1rem;
			color: var(--c-main);
			font-size: 2rem;
		}
	}

	/* 違い */
	.difference_box {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 4rem;

		.item {
			display: grid;
			justify-items: center;
			row-gap: 2rem;
			padding: 5rem 2rem;
			background: #FFF;
			border-radius: 10px;
			border: 1px solid #CCC;
		}

		.icon_box {
			display: grid;
			place-items: center;
			aspect-ratio: 1;
			width: 14rem;
			background-color: var(--c-bg-02);
			border-radius: 50%;

			img {
				width: 100%;
			}
		}

		.head {
			color: var(--c-main);
			font-size: 2.6rem;
			font-weight: 500;
		}
	}

	.difference_text {
		margin-top: 5rem;
		font-size: 1.8rem;
		line-height: 1.8;
	}

	.detail_box {
		padding: 3rem 5rem 5.5rem;
		border: 1px solid #ccc;
		border-radius: 10px;
	}

	.detail_box_text {
		margin-top: 3.7rem;
	}

	/* 治療の流れ */
	.treatment_flow {
		display: grid;
		row-gap: 3rem;
		counter-reset: n_reason;
		position: relative;

		&::before {
			content: '';
			display: block;
			width: 2px;
			background: linear-gradient(to bottom, var(--c-main) 4px, transparent 4px);
			background-size: 2px 8px;
			background-repeat: repeat-y;
			position: absolute;
			top: 13rem;
			bottom: 13rem;
			left: 0;
			z-index: 1;
		}

		.item {
			display: grid;
			grid-template-columns: 20rem 1fr;
			align-items: center;
			column-gap: 4rem;
			padding: 3rem 26rem 3rem 7rem;
			background-color: #FFF;
			border: 1px solid #CCC;
			border-radius: 10px;
			position: relative;
			counter-increment: n_reason;
		}

		.number {
			display: grid;
			align-content: center;
			row-gap: 5px;
			aspect-ratio: 1;
			width: 8rem;
			color: #fff;
			font-family: var(--english);
			font-size: 1.5rem;
			line-height: 1;
			text-align: center;
			background-color: var(--c-main);
			border-radius: 5px;
			position: absolute;
			top: 50%;
			left: 0;
			translate: -50% -50%;

			&::before {
				content: counter(n_reason, decimal-leading-zero);
				display: block;
				font-size: 3rem;
			}
		}

		.img_box {
			aspect-ratio: 1;
			border-radius: 10px;
			overflow: hidden;

			img {
				width: 100%;
				height: 100%;
				object-fit: cover;
			}
		}

		.head {
			margin-bottom: 2rem;
			font-size: 3.2rem;
		}

		.popup_btn {
			position: absolute;
			top: 50%;
			right: 5rem;
			translate: 0 -50%;
		}

		.note {
			display: inline-block;
			margin-top: 1em;
			padding: .3rem 2.5rem;
		}

	}

	.treatment_xray {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 4.5rem;

		.number {
			line-height: 1;
		}

		.img_box {
			aspect-ratio: 290/187;
		}

		.item {
			width: 100%;
			margin: 0;

			&:not(:last-child)::after {
				left: calc(100% + 2.25rem);
			}
		}

		.head {
			margin-inline: -1rem;
			padding: 3rem 0 0;
			color: var(--c-main);
			font-size: 2rem;
		}
	}

	/* 治療後の生活ガイド */
	.after_box {
		padding: 7rem 5rem;
		border-radius: 10px;
	}

	.after_flow {
		display: grid;
		grid-auto-flow: column;
		align-items: start;
		justify-content: space-between;
		position: relative;

		&::before {
			content: '';
			display: block;
			height: 1px;
			background-color: var(--c-accent-02);
			position: absolute;
			top: 16.5rem;
			left: 6rem;
			right: 6rem;
		}

		.item {
			display: grid;
			row-gap: 3rem;
			width: 12rem;
			font-weight: 500;
			text-align: center;
		}

		.icon_box {
			display: grid;
			place-items: center;
			aspect-ratio: 1;
			width: 12rem;
			background-color: var(--c-bg-01);
			border-radius: 50%;

			img {
				width: 100%;
			}
		}

		.head {
			margin-bottom: 2rem;
			color: var(--c-main);
			font-size: 2.6rem;

			&::before {
				content: '';
				display: block;
				width: 100%;
				height: 3rem;
				margin-bottom: 3.3rem;
				background-image: url("../img/treatment/after_icon.svg");
				background-position: center;
				background-size: contain;
				position: relative;
				z-index: 1;
			}
		}
	}

	.after_text {
		margin-top: 3rem;
		font-size: 1.8rem;
	}

	/* 治療料金 */
	.treatment_fee {

		th,
		td {
			font-weight: 500;
		}

		th {
			font-size: 1.8rem;

			&:first-child {
				width: 29%;
			}
		}

		thead {
			th:first-child {
				color: #fff;
				background-color: var(--c-accent-02);
			}
		}

		tbody {
			background-color: #fff;

			th {
				background-color: var(--c-bg-02);
			}

			td {
				padding-right: 5rem;
				font-weight: 700;
				font-size: 3.2rem;
				text-align: right;
			}

			.unit {
				font-size: 1.6rem;
			}
		}
	}

	/* 監修医師 */
	.doctor_box {
		display: grid;
		row-gap: 5rem;

		.item {
			display: grid;
			grid-template-columns: 22rem 1fr;
			align-items: center;
			gap: 3rem;
			padding: 5.6rem 5rem;
			background: #FFF;
			border-radius: 10px;
			box-shadow: 0 3px 5px 0 rgba(0, 0, 0, 0.10);
		}

		.img_box {
			max-width: 22rem;
			border-radius: 50%;
			overflow: hidden;

			img {
				width: 100%;
				height: 100%;
				object-fit: cover;
			}
		}

		.text_box {}

		.position {
			font-size: 2rem;
		}

		.name {
			font-size: 3.2rem;
			font-weight: 500;
		}

		.career {
			margin-top: 2rem;
		}

		.career_item {
			display: grid;
			grid-template-columns: max-content 1fr;
		}

	}

	.welcome_box {
		& > .item {
			display: grid;
			justify-items: center;
			width: 48%;
			padding: 5rem;
			background-color: #fff;
			border-radius: 10px;
		}

		p {
			line-height: 1.8;
			text-align: center;
		}

		.head {
			margin-bottom: 3rem;
			font-size: 3.2rem;
		}

		.img_box {
			margin-top: 4rem;
			border-radius: 10px;
			overflow: hidden;

			img {
				width: 100%;
				height: 100%;
				object-fit: cover;
			}
		}

		.link_btn {
			width: 100%;
			margin-top: 4rem;
			text-align: center;

			a {
				width: 100%;
				max-width: 420px;
			}
		}

		.appointment_tel {
			row-gap: 2rem;
			margin-top: 5rem;

			.item {
				column-gap: 2rem;

				&:not(:last-child) {
					padding-bottom: 2rem;
				}
			}

			dt {
				font-size: 2rem;
				padding: 4px 8px;
			}
		}

		.tel_number_icon {
			font-size: 4rem;

			a::before {
				width: 3.2rem;
				margin-right: 1rem;
			}
		}

		.appointment_note {
			margin-top: 2rem;
		}
	}

	.treatment_bnr {
		padding-top: 7rem;
		padding-bottom: 7rem;
		color: #fff;
		text-align: center;
		background-color: var(--c-main);

		.icon_box {
			max-width: 10rem;
			margin-inline: auto;
		}

		.text {
			margin-top: 3rem;
			font-size: 2.6rem;
			font-weight: 500;
		}

		.link_btn {
			margin-top: 5rem;

			a {
				max-width: 420px;
				margin-inline: auto;
				padding: 2.3rem 2rem;
				font-size: 2rem;
				border-color: #fff;
			}
		}
	}

	.treatment_summary {
		padding-top: 12rem;
		padding-bottom: 12rem;
	}

	.summary_box {
		padding: 4rem 5rem;
		border: 1px solid var(--c-main);

		&:not(:first-child) {
			margin-top: 6rem;
		}

		.head {
			color: var(--c-main);
			font-size: 2.6rem;
			font-weight: 500;
		}

		.summary_list {
			margin-top: 3rem;

			li {
				padding-left: 2rem;
				position: relative;

				&::before {
					content: '';
					display: inline-block;
					aspect-ratio: 1;
					width: 1rem;
					background-color: var(--c-main);
					border-radius: 50%;
					position: absolute;
					top: .9rem;
					left: 0;
				}
			}


		}
	}

}

@media screen and (max-width:1440px) {
	.page-treatment-detail {
		.worries_text_wide {
			margin-inline: unset;
		}
	}
}

@media screen and (max-width:1200px) {
	.page-treatment-detail {
		.treatment_flow {
			.item {
				align-items: start;
				padding-right: 7rem;
			}

			.popup_btn {
				top: unset;
				bottom: 3rem;
				translate: 0 0;
			}
		}
	}
}

.page-lumbar-low {
	.worries_box {

		&::before {
			aspect-ratio: 70/111;
			width: 20rem;
			background-image: url("../img/treatment/lumbar/parts/worries_r.webp");
			top: 0;
			right: -10rem;
		}

		&::after {
			aspect-ratio: 17/25;
			width: 20rem;
			background-image: url("../img/treatment/lumbar/parts/worries_l.webp");
			bottom: 0;
			left: -10rem;
		}
	}

	/* ケビン・パウザ医師と提携 */
	.reference_box {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(30rem, 1fr));
		gap: 3rem;

		.item {
			display: grid;
			grid-template-rows: subgrid;
			grid-row: span 4;
			justify-items: center;
			row-gap: 2rem;
			padding: 4rem 5px 4.4rem;
			text-align: center;
			background-color: #fff;
			border-radius: 10px;
		}

		.head {
			color: var(--c-main);
			font-size: 2.6rem;
			font-weight: 500;
		}

		.sub {
			color: var(--c-main);
			font-size: 1.6rem;
			font-weight: 400;
		}

		.data {
			align-self: end;
			color: var(--c-accent-02);
			font-size: 2.5rem;
			font-weight: 700;

			em {
				font-size: 7rem;
			}
		}

		.item-1 {
			.data {
				display: flex;
				justify-content: center;
				column-gap: 3.2rem;
				font-size: 2rem;

				em {
					font-size: 4.8rem;
				}

				.before {
					color: var(--c-main);
				}

				.after {
					position: relative;

					&::before {
						content: '';
						display: block;
						aspect-ratio: 1/2;
						width: .9rem;
						background-image: url("../img/treatment/lumbar/discseel/reference_arrow.svg");
						background-size: contain;
						position: absolute;
						top: 50%;
						left: -2rem;
						translate: 0 -50%;
					}
				}
			}
		}


	}

	.reference_text {
		margin-top: 5rem;

		a {
			color: #166680;
			text-decoration-line: underline;
		}
	}

	/* PLDD法との違い */
	.difference_box_plot {

		.difference_box_arrow {
			padding-top: 4rem;
			padding-bottom: 12rem;
			font-size: 2.5rem;
			text-align: center;
			background-image: url("../img/treatment/lumbar/plot/difference_arrow.svg");
			background-position: center bottom 4rem;
			background-size: 10.4rem auto;
		}

		.difference_box {
			grid-template-columns: unset;

			.item {
				width: 60%;
				max-width: 52rem;
				margin-inline: auto;
			}
		}
	}

	/* PLOT法が有効なヘルニアのタイプ */
	.effective_box {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 3.9rem;

		.item {
			display: grid;
			grid-template-rows: subgrid;
			grid-row: span 3;
			justify-items: center;
			row-gap: 2.8rem;
			padding: 4rem 2px 5rem;
			text-align: center;
			background-color: #fff;
			border-radius: 10px;
		}

		.head {
			color: var(--c-main);
			font-size: 2.6rem;
			font-weight: 500;
		}

		.img_box {
			width: 70%;
			max-width: 32rem;
		}

		.text_box p {
			font-size: 1.8rem;

			&:last-child {
				color: var(--c-main);
			}
		}

		.arrow {
			height: 5rem;
			background-image: url("../img/treatment/lumbar/plot/difference_arrow.svg");
			background-position: center;
			background-size: 1.8rem auto;
		}
	}

	.effective_text {
		margin-top: 4rem;
		font-size: 1.8rem;
	}

	/* 他の手術方法との比較 */
	.table_note_s {
		margin-top: 2rem;
	}
}

.page-cervical-low {
	.worries_box {

		&::before {
			aspect-ratio: 500/412;
			width: 25rem;
			background-image: url("../img/treatment/cervical/parts/worries_r.webp");
			top: -3rem;
			right: -8.9rem;
		}

		&::after {
			aspect-ratio: 474/500;
			width: 22.4rem;
			background-image: url("../img/treatment/cervical/parts/worries_l.webp");
			bottom: -3.5rem;
			left: -9.1rem;
		}
	}

	.after_box {
		padding: 7rem 2rem;
	}

	.after_flow {
		max-width: 98rem;
		margin-inline: auto;
	}
}

.lumbar_table_w {
	th:first-child {
		width: 20rem;
	}

	.target {
		width: 22%;
	}
}

.discseel_logo {
	max-width: 60rem;
	margin-inline: auto;
	margin-bottom: 5rem;
}

.cervical_discseel_table_w {
	table {
		table-layout: fixed;
	}

	th:first-child {
		width: 20.4rem;
	}

	.text {
		margin-top: 4rem;
		margin-bottom: 4rem;
		font-size: 1.8rem;
	}

}

.discseel_certified {
	display: grid;
	grid-template-columns: 40fr 63fr;
	align-items: center;
	column-gap: 5rem;

	.img_box {
		max-width: 40rem;
		border-radius: 10px;
		overflow: hidden;
	}

	.text_box p {
		font-size: 1.8rem;
		line-height: 1.8;
	}

	.link_btn {
		margin-top: 4rem;

		a {
			max-width: 48rem;
			position: relative;

		}
	}
}

/*-- ↓ under 767px ↓ -----------------------------*/
@media screen and (max-width:767.9px) {
	.page-treatment-detail {

		.worries_box {
			width: fit-content;
			margin-top: 7.6rem;
			padding: 6.5rem 2.5rem 3rem;

			&::after {
				content: none;
			}
		}

		.worries_text {
			margin-top: 4rem;
			font-size: 1.6rem;
			line-height: 1.6;

			br {
				display: none;
			}
		}

		.treatment_features {}

		.step_arrow {
			.item {
				&:not(:last-child)::after {
					width: 3.3rem;
					top: 100%;
					left: 50%;
					translate: -50% 0;
					rotate: 90deg;
				}
			}
		}

		.treatment_step {
			gap: 6.4rem;
			max-width: 500px;
			margin-inline: auto;

			.item {
				width: 100%;
				min-width: unset;
			}

			.head {
				padding: 2.5rem 0;
			}

		}

		.experience_box {
			grid-template-columns: unset;
			gap: 2rem;

			.item {
				grid-template-columns: 12rem 1fr;
				gap: 1.5rem;
				padding: 2.4rem 1.8rem;
			}

			.img_box {}

			.text_box {
				line-height: 1.6;
			}

			.position {
				font-size: 1.5rem;
			}

			.name {
				font-size: 2.3rem;
			}
		}

		.experience_text {
			margin-top: 3rem;
			font-size: 1.6rem;
			line-height: 1.6;
		}

		.experience_reason {
			.head {
				padding: 2rem 0 0;
				font-size: 1.8rem;
			}
		}

		.difference_box {
			grid-template-columns: repeat(auto-fit, minmax(35rem, 46%));
			justify-content: center;
			gap: 2rem;

			.item {
				grid-template-areas: "icon head" ". .";
				grid-template-columns: 10rem 1fr;
				justify-items: unset;
				gap: 2.5rem 1.5rem;
				padding: 2.6rem 2rem;
			}

			.icon_box {
				grid-area: icon;
				width: 10rem;
			}

			.head {
				grid-area: head;
				align-self: center;
				font-size: 1.8rem;
			}

			p:not([class]) {
				grid-column: 1/-1;
				justify-self: center;
				margin-inline: -1rem;
				font-size: 1.5rem;
			}
		}

		.difference_text {
			margin-top: 3rem;
			font-size: 1.6rem;
			line-height: 1.6;
		}

		.detail_box {
			padding: 1.2rem 2rem 3.6rem;
		}

		.detail_box_text {
			margin-top: 2.8rem;
			font-size: 1.5rem;
		}

		.treatment_flow {
			row-gap: 5.8rem;
			max-width: 500px;
			margin-inline: auto;
			margin-top: 7.8rem;
			position: relative;

			&::before {
				left: 50%;
				translate: -50% 0;
				z-index: unset;
			}

			.item {
				grid-template-columns: 12rem 1fr;
				align-items: center;
				column-gap: 1.5rem;
				padding: 4.2rem 1.4rem 8.1rem;
			}

			.number {
				row-gap: 0;
				width: 5rem;
				font-size: 1.3rem;
				top: 0;
				left: 50%;

				&::before {
					font-size: 2.5rem;
				}
			}

			.head {
				margin-bottom: 1rem;
				font-size: 2rem;
			}

			.popup_btn {
				bottom: 2.1rem;
				left: 50%;
				right: unset;
				translate: -50% 0;
			}

		}

		.treatment_xray {
			grid-template-columns: unset;
			gap: 6.4rem;
			max-width: 500px;
			margin-inline: auto;

			.head {
				padding-top: 2.5rem;
				font-size: 1.8rem;
			}
		}

		.after_box {
			padding: 3.7rem 1.5rem;
		}

		.after_flow {
			grid-auto-flow: row;
			row-gap: 2.5rem;
			width: fit-content;
			margin-inline: auto;

			&::before {
				width: 1px;
				height: auto;
				top: 5rem;
				bottom: 5rem;
				left: 12.6rem;
				right: unset;
			}

			.item {
				grid-template-columns: 10rem 1fr;
				align-items: center;
				column-gap: 5.4rem;
				width: unset;
				text-align: left;
				position: relative;
			}

			.icon_box {
				width: 10rem;
				position: relative;
			}

			.head {
				font-size: 2rem;

				&::before {
					width: 3rem;
					height: 100%;
					margin-top: 0;
					position: absolute;
					top: 0;
					left: 11.2rem;
				}
			}

			p:not([class]) {
				font-size: 1.5rem;
			}
		}

		.after_text {
			font-size: 1.6rem;
		}

		.treatment_fee {

			th,
			td {
				height: auto;
			}


			th {
				padding: 1.1rem 1rem;
				font-size: 1.6rem;

				&:first-child {
					width: 35%;

				}
			}

			tbody {
				td {
					padding: .7rem 1.6rem;
					font-size: 2rem;
				}

				.unit {
					font-size: 1.4rem;
				}
			}

		}

		.doctor_box {
			row-gap: 3rem;
			max-width: 500px;
			margin-inline: auto;

			.item {
				grid-template-columns: unset;
				padding: 2.8rem 2.2rem 3.9rem;
			}

			.img_box {
				margin-inline: auto;
			}

			.text_box {}

			.position {
				font-size: 1.8rem;
			}

			.name {
				font-size: 2.6rem;
			}

			.career {
				margin-top: 2rem;
				font-size: 1.4rem;
			}

		}

		.welcome_box {
			row-gap: 2.5rem;
			max-width: 500px;
			margin-inline: auto;

			& > .item {
				width: 100%;
				padding: 4rem 2rem 3.6rem;
			}

			p {
				line-height: 1.6;
			}

			.head {
				margin-bottom: 2.8rem;
				font-size: 2.5rem;
			}

			.img_box {
				margin-top: 3rem;
			}

			.link_btn {
				margin-top: 3rem;

				a {
					padding: .8rem 4rem .7rem;
					font-size: 1.6rem;
				}
			}

			.appointment_tel {
				row-gap: 1.5rem;
				margin-top: 2rem;

				.item {
					column-gap: 6px;

					&:not(:last-child) {
						padding-bottom: 1.5rem;
					}
				}

				dt {
					font-size: 1.5rem;
					padding: 5px 3px;
				}
			}

			.tel_number_icon {
				font-size: 2.8rem;
				border-radius: 2.5rem;

				a {
					padding: 1rem 3.5rem 1rem 1.6rem;

					&::before {
						width: 2.4rem;
						margin-right: 5px;
					}
				}

			}

			.appointment_note {
				margin-top: 2rem;
			}
		}

		.treatment_bnr {
			padding-top: 4rem;
			padding-bottom: 4rem;

			.icon_box {
				max-width: 8rem;
			}

			.text {
				margin-top: 2rem;
				font-size: 1.8rem;
			}

			.link_btn {
				margin-top: 3rem;

				a {
					padding: 1rem 4.5rem;
					font-size: 1.6rem;
				}
			}
		}

		.treatment_summary {
			padding-top: 5rem;
			padding-bottom: 5rem;
		}

		.summary_box {
			padding: 2.9rem 1.8rem;

			.head {
				font-size: 2.2rem;
			}

			.summary_list {
				margin-top: 2.5rem;
				font-size: 1.5rem;

				li {
					padding-left: 2.2rem;
				}
			}

		}
	}

	.page-lumbar-low {
		.worries_box {
			&::before {
				width: 8rem;
				top: -7.8rem;
				right: -1.9rem;
			}
		}

		.reference_box {}

		.difference_box_plot {

			.difference_box_arrow {
				padding-top: 4rem;
				padding-bottom: 6rem;
				font-size: 1.8rem;
				background-position: center bottom 3rem;
				background-size: 3.3rem auto;
			}

			.difference_box {
				grid-template-columns: repeat(auto-fit, minmax(35rem, 46%));

				.item {
					width: 100%;
				}

				p:not([class]) {
					margin-inline: unset;
				}
			}
		}

		.effective_box {
			grid-template-columns: repeat(auto-fit, minmax(35rem, 46%));
			justify-content: center;
			gap: 2rem;

			.item {
				row-gap: 2rem;
				padding: 3rem 5px;
			}

			.head {
				font-size: 1.8rem;
			}

			.img_box {
				width: 60%;
			}

			.text_box p {
				font-size: 1.6rem;
			}

			.arrow {
				height: 3rem;
			}
		}

		.effective_text {
			margin-top: 2rem;
			font-size: 1.6rem;
		}

	}

	.page-cervical-low {
		.worries_box {
			&::before {
				width: 20rem;
				top: -9rem;
				right: -5rem;
			}
		}

	}

	.lumbar_table_w {
		table {
			width: 800px;
		}

		tr > *:first-child {
			width: 10em;
			padding: 2px;
		}

		.target {
			width: 7em;
			padding: 0 5px;
		}
	}

	.lumbar_table_w2 {
		tr > *:first-child {
			width: 20%;
		}
	}

	.cervical_discseel_table_w {
		th:first-child {
			width: 30%;
		}

		.text {
			margin-top: 2rem;
			margin-bottom: 2rem;
			font-size: 1.6rem;
		}
	}

	.discseel_certified {
		grid-template-columns: unset;
		row-gap: 3rem;

		.img_box {
			margin-inline: auto;
		}

		.text_box p {
			font-size: 1.6rem;
			line-height: 1.6;
		}

		.link_btn {
			margin-top: 2rem;

			a {
				font-size: 1.5rem;
			}
		}
	}


}