@charset "utf-8";

.t_ttl01 {
	margin-bottom: 5rem;
	padding: 4.2rem 0 8rem;
	background-size: 4.8rem;
}

.t_ttl01:before {
	bottom: 0;
	height: 6rem;
}

.t_ttl01 span {
	font-size: 3.2rem;
}

.t_ttl01 em {
	font-size: 1.8rem;
	margin-top: 1rem;
}

.t_ttl02:before {
	top: -4.5rem;
	left: -10rem;
	width: 19.1rem;
}

.t_ttl02 span {
	font-size: 3.2rem;
	letter-spacing: 0.1em;
}

.t_ttl02 em {
	margin-left: 3.8rem;
	font-size: 1.8rem;
	margin-top: 0.7rem;
}

.t_ttl03 {
	font-size: 3.2rem;
	padding: 0 0 3rem 5rem;
	background-size: 3.8rem;
	background-position: left top 0.75rem;
}

.t_section_en {
	top: -9.5rem;
	font-size: 18rem;
}

.t_section {
	padding: 14rem 0;
}

/*++++++++++++++++++++++++++++
l_mv
++++++++++++++++++++++++++++*/
.l_mv_slider {
	width: 100vw;
	max-width: 100%;
	--speed: 400s;
	--gap: 0px;
}

.l_mv_slider_item .l_mv_img {
	width: 504rem;
	aspect-ratio: auto;
	height: 100vh;
	/* height: 108rem; */
	min-height: 72rem;
}

.l_mv_img {
	height: 108rem;
}

.l_mv_catch {
	padding: 0 8rem;
	bottom: 31.1rem;
}

.l_mv_catch span {
	font-size: 6.4rem;
}

.l_mv_catch em {
	font-size: 2.2rem;
	margin-top: 2.4rem;
}

.l_mv_en {
	left: 17.8rem;
	transform: none;
	bottom: 28.8rem;
}

.l_mv_en span {
	font-size: 18rem;
}

.l_mv_en span:nth-of-type(2) {
	margin-top: -2rem;
	right: -9.4rem;
}

.l_mv_points {
	bottom: 8rem;
	padding: 0;
	left: 8rem;
	width: 87.5rem;
}

.l_mv_scroll {
	bottom: 5rem;
	right: 5rem;
	width: 13.2rem;
}

.l_mv_scroll:before {
	top: calc(50% - 1.05rem);
	right: 4.1rem;
	width: 0.8rem;
	animation: arrowAnime 2.7s ease 0s infinite both;
}

/*++++++++++++++++++++++++++++
feature
++++++++++++++++++++++++++++*/
.t_feature {
	background-size: 120rem;
	background-position: left top;
	padding: 14rem 0 10rem;
}

.t_feature_item {
	--img-gap: 0 var(--over-margin01) 0 0;
	--num-inset: -11.6rem auto auto -10rem;
	gap: 6rem;
	flex-direction: row-reverse;
}

:where(.t_feature_item)+.t_feature_item {
	margin-top: 12rem;
}

.t_feature_item:nth-of-type(2n) {
	--img-gap: 0 0 0 var(--over-margin01);
	--num-inset: -11.6rem -10rem auto auto;
	flex-direction: row;
}

.t_feature_item02:before {
	bottom: -57.2rem;
	left: auto;
	right: var(--over-margin01);
	transform: none;
	width: 120rem;
}

.t_feature_item03 {
	flex-direction: row-reverse;
	margin-top: 12rem;
}

.t_feature_item04:before {
	bottom: -53.4rem;
	left: var(--over-margin01);
	transform: none;
	width: 120rem;
}

.t_feature_item06:before {
	bottom: -46.7rem;
	left: auto;
	right: var(--over-margin01);
	transform: none;
	width: 120rem;
}

.t_feature_item_head {
	flex: 1;
}

.t_feature_item_img {
	height: 42rem;
}

.t_feature_item_body {
	width: 60rem;
	padding-top: 3rem;
}

.t_feature_item_ttl {
	gap: 2.8rem;
	padding-bottom: 2.5rem;
}

.t_feature_item_ttl .num {
	font-size: 23rem;
}

.t_feature_item_ttl .en span {
	font-size: 1.6rem;
}

.t_feature_item_ttl .en em {
	font-size: 6rem;
}

.t_feature_item_ttl .txt {
	font-size: 3rem;
	padding-bottom: 0.3rem;
}

.t_feature_item_txt {
	margin-top: 2.5rem;
	font-size: 1.8rem;
}

.t_feature_item_list li {
	padding-left: 1.7rem;
	font-size: 1.8rem;
}

.t_feature_item_list li:before {
	top: 1.45rem;
	width: 0.7rem;
}

.t_feature_item_btn {
	margin-top: 2.5rem;
	gap: 1rem;
}

.t_feature_item_btn .m_btn01 {
	margin: 0;
}

.t_feature_item_btn:has(.m_btn01:nth-of-type(2)) {
	grid-template-columns: repeat(2, 1fr);
}

.t_feature_item_time {
	margin-top: 0;
}

/*++++++++++++++++++++++++++++
t_contact
++++++++++++++++++++++++++++*/
.t_contact {
	background-image: url(../images/contact_bg.jpg);
	padding: 10rem 0 9.8rem;
}

.t_contact_block {
	display: flex;
	gap: 4rem;
}

.t_contact_head {
	width: 50.5rem;
}

.t_contact_ttl {
	padding-bottom: 2.8rem;
	padding-top: 0.4rem;
}

.t_contact_ttl span {
	font-size: 6rem;
}

.t_contact_ttl em {
	font-size: 2.4rem;
	margin-top: 0;
}

.t_contact_catch {
	margin-top: 3rem;
}

.t_contact_catch span {
	font-size: 2.4rem;
	letter-spacing: 0.12em;
}

.t_contact_catch em {
	font-size: 3.6rem;
	margin-top: 0.3rem;
	white-space: nowrap;
}

.t_contact_body {
	flex: 1;
	padding: 3rem;
	margin-top: 0;
}

.t_contact_tel .txt01 {
	font-size: 1.8rem;
}

.t_contact_tel .txt02 span {
	font-size: 2.4rem;
	width: 6.1rem;
	height: 4rem;
}

.t_contact_tel .txt02 em {
	font-size: 4.4rem;
}

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

.t_contact_btn .ttl {
	padding: 0 1.2rem;
	font-size: 1.8rem;
}

.t_contact_btn .ttl:before {
	height: 2rem;
}

.t_contact_btn .ttl:after {
	height: 2rem;
}

.t_contact_btn .btn {
	height: 12rem;
	--icon-size: 3.6rem;
	margin-top: 0.6rem;

	&:hover {
		opacity: 1;
		background: #DE6C19;
	}
}

.t_contact_btn_line .btn {
	&:hover {
		background: #00A344;
	}
}

.t_contact_btn .btn span {
	font-size: 2.1rem;
	padding: 4.1rem 0 0 0;
}

.t_contact_btn .btn span:before {
	top: 0;
	transform: translateX(-50%);
	left: 50%;
}

/*++++++++++++++++++++++++++++
treatment
++++++++++++++++++++++++++++*/
.t_treatment {
	background-image: url(../images/treatment_bg.jpg);
	padding: 14rem 0 10rem;
}

.t_treatment_about {
	margin-bottom: 3.4rem;
}

.t_treatment .t_ttl02 {
	margin-top: -0.1rem;
}

.t_treatment_block {
	display: grid;
	gap: 7rem 10rem;
	grid-template-columns: repeat(2, 1fr);
}

.t_treatment_item {
	display: flex;
	align-items: center;
	gap: 9rem;
}

.t_treatment_item+.t_treatment_item {
	margin-top: 0;
}

.t_treatment_item_type01 {
	grid-column: span 2;
}

.t_treatment_item_type01 {
	flex-direction: row;

	.t_treatment_item_head {
		width: 44rem;
	}

	.t_treatment_item_body {
		flex: 1;
	}

	&:nth-of-type(2n) {
		flex-direction: row-reverse;
	}
}

.t_treatment_item_img {
	height: 40rem;
	margin-left: var(--over-margin01);
}

.t_treatment_item_type01:nth-of-type(2n) .t_treatment_item_img {
	margin-right: var(--over-margin01);
}

.t_treatment_item_body {
	margin-top: 0;
}

.t_treatment_item_ttl .num span {
	font-size: 1.8rem;
}

.t_treatment_item_ttl .num em {
	font-size: 1.8rem;
}

.t_treatment_item_ttl .ttl {
	margin-top: 1.2rem;
	padding-bottom: 3rem;
	font-size: 2.8rem;
}

.t_treatment_item_ttl .ttl:before {
	bottom: 0.5rem;
	left: 0;
	width: 100%;
}

.t_treatment_item_ttl .ttl:after {
	bottom: 0;
	left: 0;
	width: 100%;
}

.t_treatment_item_txt {
	margin-top: 2.5rem;
	font-size: 1.8rem;
}

.t_treatment_item_txt strong {
	font-weight: 700;
}

.t_treatment_item_type02 {
	flex-direction: column;
	gap: 2.8rem;
	padding-top: 4rem;
}

.t_treatment_item_type02 .t_treatment_item_img {
	margin: 0;
	border-radius: 1rem;
	overflow: hidden;
	height: auto;
}

/*++++++++++++++++++++++++++++
t_symptoms
++++++++++++++++++++++++++++*/
.t_symptoms {
	background: url(../images/symptoms_bg.jpg) center / cover no-repeat;
	padding: 8rem 0;
}

.t_symptoms:before {
	top: 0;
	left: 0;
	width: calc(9rem - var(--over-margin01));
}

.t_symptoms_en {
	font-size: 12rem;
	top: -7.8rem;
	left: auto;
	right: -3rem;
}

.t_symptoms_block {
	display: flex;
	gap: 5rem;
}

.t_symptoms_head {
	width: 33rem;
}

.t_symptoms_ttl {
	font-size: 3.3rem;
	padding-top: 7rem;
}

.t_symptoms_ttl:before {
	bottom: -2.4rem;
	left: -4rem;
}

.t_symptoms_catch {
	margin-top: 5rem;
	font-size: 1.8rem;
}

.t_symptoms_head_btn {
	margin-top: 4rem;
}

.t_symptoms_head_btn .m_btn01 {
	margin: 0;
}

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

.t_symptoms_body:before {
	top: 0;
	left: -11rem;
	width: calc(100% - var(--over-margin01) + 11rem);
	height: calc(100% + 24.8rem);
}

.t_symptoms_body:after {
	bottom: auto;
	top: 25.9rem;
	left: 50.5rem;
	width: 63.7rem;
}

.t_symptoms_list {
	gap: 0 5rem;
	column-count: 2;
}

.t_symptoms_list li {
	padding: 0.8rem 0 0.7rem 1.7rem;
	font-size: 1.8rem;
}

.t_symptoms_list li:before {
	top: 2.25rem;
	width: 0.7rem;
}

.t_disease {
	padding: 4rem;
}

.t_disease_ttl {
	font-size: 2.4rem;
}

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

.t_disease_list li {
	min-height: 8rem;
	font-size: 1.8rem;
	padding: 0.8rem;
}

.t_disease_ttl_sub {
	margin-top: 4rem;
	font-size: 2.3rem;
}

.t_disease_list02 {
	flex-direction: row;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 1.2rem;
	margin-top: 2rem;

	&:after {
		font-size: 1.7rem;
	}

	li {
		a {
			padding: 0.7rem 3rem 0.7rem 3.3rem;
			font-size: 1.8rem;

			&:before {
				left: 1.4rem;
			}

			&:after {
				content: '';
				display: block;
				position: absolute;
				top: 50%;
				right: 1.4rem;
				width: 0.6rem;
				aspect-ratio: 1/1;
				z-index: 1;
				transform: translateY(-50%) rotate(45deg);
				border-top: 1px solid var(--gold_01);
				border-right: 1px solid var(--gold_01);
			}
		}
	}
}

.t_disease_txt {
	font-size: 1.8rem;
	margin-top: 2.5rem;
}

/*++++++++++++++++++++++++++++
t_inspection
++++++++++++++++++++++++++++*/
.t_inspection {
	background-image: url(../images/inspection_bg.png);
	padding: 12rem 0;
}

.t_inspection_list {
	margin-top: 3.1rem;
	grid-template-columns: repeat(4, 1fr);
	gap: 1rem;
}

.t_inspection_item {
	padding: 1rem;

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

		.t_inspection_item_ttl em,
		.t_inspection_item_ttl span {
			color: #fff;
		}
	}
}

.t_inspection_item_in {
	min-height: 15rem;
}

.t_inspection_item_ttl {
	--icon-url: url(../images/logo_symbol.svg);
	--icon-color: var(--brown_00);
	--icon-size: 3rem;
	padding-top: 3.6rem;
}

.t_inspection_item_ttl:before {
	transition: var(--default-transition);
}

.t_inspection_item_ttl span {
	font-size: 2.1rem;
}

.t_inspection_item_ttl em {
	font-size: 1.7rem;
	margin-top: 0.6rem;
}

.t_inspection_item_num {
	font-size: 1.8rem;
}

/*++++++++++++++++++++++++++++
difficult
++++++++++++++++++++++++++++*/
.t_difficult {
	padding: 6rem 0;
}

.t_difficult_block {
	padding: 4rem;
}

.t_difficult_ttl {
	font-size: 2.4rem;
}

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

.t_difficult_list li {
	font-size: 1.8rem;
	padding: 0.8rem;
	min-height: 8rem;
}

.t_difficult_txt {
	margin-top: 2.5rem;
	font-size: 1.8rem;
	letter-spacing: 0.115em;
}

/*++++++++++++++++++++++++++++
flow
++++++++++++++++++++++++++++*/
.t_flow {
	padding: 14rem 0 10rem;
}

.t_flow_box+.t_flow_box {
	margin-top: 7rem;
}

.t_flow_step {
	--gap: 7rem;
	margin-top: 3rem;
}

.t_step:before {
	width: 3rem;
	aspect-ratio: 3 / 2;
}

.t_step_num {
	width: 10rem;
	min-height: 9.9rem;
}

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

.t_step_num em {
	font-size: 4.8rem;
}

.t_step_ttl {
	padding: 1.6rem 2rem 2rem;
	font-size: 2.4rem;
}

.t_step_body {
	padding: 3.7rem 4rem 4rem;
}

.t_step_content {
	flex-direction: row;
	gap: 3rem;
	align-items: flex-start;
}

.t_step_content_body {
	flex: 1;
}

.t_step_txt {
	font-size: 1.8rem;
}

.t_step_btn {
	margin-top: 2.5rem;
}

.t_step_btn .m_btn01 {
	margin: 0;
}

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

.t_step_notice_ttl {
	padding: 0.8rem 1.4rem;
	font-size: 2rem;
}

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

.t_step_content_img {
	width: 36rem;
}

.t_flow_content {
	flex-direction: row;
	gap: 3rem;
	margin-top: 3rem;
}

.t_flow_content_txt {
	font-size: 1.8rem;
}

.t_flow_content_btn {
	margin-top: 2.5rem;
}

.t_flow_content_btn .m_btn01 {
	margin: 0;
}

.t_flow_content_body {
	flex: 1;
}

.t_flow_content_img {
	width: 36rem;
}

/*++++++++++++++++++++++++++++
t_price
++++++++++++++++++++++++++++*/
.t_price {
	background: var(--lightbeige_02);
	padding: 14rem 0 10rem;
}

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

.t_price_cost {
	padding: 4rem;
}

.t_price_cost_ttl {
	gap: 1rem;
	font-size: 2.6rem;
	padding-bottom: 2.5rem;
}

.t_price_cost_ttl .type {
	padding: 0.5rem 1rem;
	font-size: 2.6rem;
}

.t_price_cost_ttl .num {
	font-size: 4.4rem;
}

.t_price_cost_txt {
	margin-top: 2.5rem;
	font-size: 1.8rem;
}

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

.t_price_cost_hosoku_txt {
	font-size: 1.8rem;
}

.t_price_cost_list {
	margin-top: 2rem;
}

.t_price_cost_list li {
	padding: 0.7rem 0 0.8rem 3.6rem;
	font-size: 1.8rem;
}

.t_price_cost_list li:before {
	width: 2.6rem;
	font-size: 1.6rem;
	top: 1.1rem;
}

/*++++++++++++++++++++++++++++
.faq
++++++++++++++++++++++++++++*/
.t_faq {
	padding: 14rem 0 10rem;
}

.t_faq:before {
	width: calc(19rem - var(--over-margin01));
	height: 100%;
}

.t_faq_box_head {
	padding-right: 7rem;
}

.t_faq_box_head:before,
.t_faq_box_head:after {
	right: 2.2rem;
	width: 2.4rem;
	height: 2px;
}

.t_faq_box_q {
	width: 7rem;
	min-height: 7.8rem;
	font-size: 3.6rem;
}

.t_faq_box_ttl {
	padding: 1.1rem 0 1.1rem 2rem;
	font-size: 2rem;
}

.t_faq_box_body {
	padding: 3rem;
}

.t_faq_box_body p {
	font-size: 1.8rem;
}

.t_faq_box_body .m_btn01 {
	margin: 2.5rem 0 0;
}

/*++++++++++++++++++++++++++++
t_doctor
++++++++++++++++++++++++++++*/
.t_doctor {
	background: url(../images/doctor_bg01.png) left top / 120rem no-repeat;
	padding: 14rem 0 10rem;
}

.t_doctor:before {
	top: 30rem;
	right: 0;
	width: calc(11rem - var(--over-margin01));
	height: 140rem;
	aspect-ratio: auto;
	z-index: -1;
	background: url(../images/doctor_bg02.jpg) left center / cover no-repeat;
}

.t_doctor_block {
	padding-right: 34rem;
	position: relative;
}

.t_doctor_block+.t_doctor_block {
	margin-top: 8rem;
}

.t_doctor_img {
	z-index: 10;
	width: 32rem;
	margin: 0;
	position: absolute;
	top: 0;
	left: 88rem;
}

.t_doctor_ttl {
	gap: 1rem;
	padding-bottom: 2.5rem;
	align-items: center;
}

.t_doctor_ttl .en {
	width: 100%;
	font-size: 1.6rem;
}

.t_doctor_ttl .name {
	width: auto;
	font-size: 3.2rem;
	gap: 1.1rem;
	letter-spacing: 0.12em;
}

.t_doctor_ttl .name em {
	font-size: 2.4rem;
	letter-spacing: 0.12em;
}

.t_doctor_ttl .time {
	padding: 0 1rem;
	font-size: 1.8rem;
	line-height: 2;
}

.t_doctor_profile {
	margin-top: 2rem;
	padding: 3rem 2rem 3rem 0;
	display: flex;
	gap: 3rem;
	justify-content: space-between;
}

.t_doctor_profile:before {
	left: var(--over-margin01);
	width: calc(100% + 13rem - var(--over-margin01));
}

.t_doctor_profile_item+.t_doctor_profile_item {
	margin-top: 0;
}

.t_doctor_profile_ttl {
	font-size: 2rem;
}

.t_doctor_profile_list {
	margin-top: 1rem;
	gap: 0.6rem;
}

.t_doctor_profile_list li {
	padding-left: 1.7rem;
	font-size: 1.8rem;
}

.t_doctor_profile_list li:before {
	top: 1.45rem;
	width: 0.7rem;
}

.t_doctor_cols {
	margin-top: 8rem;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 3rem;
	position: relative;
	z-index: 10;
}

.t_doctor_cols .t_doctor_block {
	padding: 4rem;
	margin: 0;
	background: rgba(255, 255, 255, 0.9);
}

.t_doctor_cols .t_doctor_profile {
	flex-direction: column;
	gap: 2rem;
	padding: 2.5rem;
}

.t_doctor_cols .t_doctor_profile:before {
	width: 100%;
	left: 0;
}

.t_doctor_cols .t_doctor_profile_list {
	margin-top: 1rem;
	gap: 0.4rem;
}

/*++++++++++++++++++++++++++++
l_slider
++++++++++++++++++++++++++++*/
.l_slider {
	--speed: 300s;
	--gap: 0px;
}

.l_slider_item figure {
	width: 40rem;
	overflow: hidden;
	aspect-ratio: 8/6;
}

.l_slider_item figure img {
	display: block;
}