@charset "utf-8";

.t_ttl01 {
	display: flex;
	flex-direction: column;
	margin-bottom: 4.7rem;
	margin-top: -0.1rem;
}

.t_ttl01_en {
	font-size: 6rem;
	color: var(--main-color);
	line-height: 1;
	letter-spacing: 0;
	font-family: var(--font-en);
	font-weight: 400;
}

.t_ttl01_ja {
	font-size: 1.7rem;

	line-height: 1.5;
	letter-spacing: 0.1em;
	font-family: var(--font-min);
	padding-left: 4.6rem;
	position: relative;
	margin-top: 0.9rem;
}

.t_ttl01_ja strong {
	color: var(--main-color);

}


/*++++++++++++++++++++++++++++
l_mv
++++++++++++++++++++++++++++*/
.l_mv {
	--img-height: 70.5rem;
	padding-top: 17.1rem;
	padding-bottom: 0.8rem;
	height: 108.8rem;
}

.l_mv_bg_en {
	top: -21rem;
	transform: translateX(calc(-50% + 1.1rem));
	font-size: 50rem;
}

.l_mv_slider {}

.l_mv_slider_item {
	padding: 0 6rem 0 5rem;
	display: flex;
	justify-content: space-between;
}

.l_mv_catch {
	font-size: 3.6rem;
}

.l_mv_en {
	font-size: 19rem;
	margin-top: 0.2rem;
}

.l_mv_point {
	align-items: flex-start;
	flex-direction: row;
	display: flex;
	gap: 1rem;
	margin-top: 0;
	padding-top: 2rem;
}

.l_mv_point_item {
	display: flex;
	min-height: auto;
	padding: 5.2rem 1rem 1.4rem;
	align-items: flex-start;
	justify-content: center;
	position: relative;
}

.l_mv_point_item span {
	height: 3.5rem;
	font-size: 2rem;
	line-height: calc(23/18);
	position: absolute;
	top: 1.4rem;
	left: 0;
	width: 100%;
	text-align: center;
}

.l_mv_point_item em {
	font-size: 2.1rem;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	text-orientation: upright;
	letter-spacing: 0.19em;
	line-height: 1.43;
}


.l_mv .swiper-pagination-wrap {
	left: 3.4rem;
	top: auto;
	bottom: 3.8rem;
}

.swiper-pagination-last-num,
.swiper-pagination-current-num {
	font-size: 2.4rem;
	line-height: 1;
}

.l_mv .swiper-pagination {
	--swiper-pagination-bullet-width: 6rem;
	--swiper-pagination-bullet-height: 1px;
	gap: 0.4rem;
	width: 6rem;
	height: 1px;
}

.l_img_slider_wrap {
	gap: 0.6rem;
	top: 37.5rem;
}

.l_mv_scroll {
	width: 18.4rem;
	top: auto;
	right: 4rem;
	bottom: -3.2rem;
	padding-top: 4.5rem;
	font-size: 2rem;
}

.l_mv_scroll:before {
	top: 8.3rem;
	left: calc(50% - 1.25rem);
	width: 2.5rem;
}

/*++++++++++++++++++++++++++++
t_achievements
++++++++++++++++++++++++++++*/
.t_achievements {
	padding: 2.4rem 0 3.6rem;
}

.t_achievements .inner {
	max-width: var(--inner-width05);
}

.t_achievements_block {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 4rem;
}

.t_achievements:before {
	background: url(../images/top/achievements_bg.png) center / cover no-repeat;
}

.t_achievements_head {}

.t_achievements_ttl {
	display: grid;
	margin-bottom: 0;
}

.t_achievements_ttl:before,
.t_achievements_ttl:after {
	display: none;
}

.t_achievements_ttl span {
	font-size: 2rem;
	border-bottom: 1px solid var(--green-1);
	padding-bottom: 0.4rem;
}

.t_achievements_ttl em {
	font-size: 3rem;
	margin-top: 0.4rem;
	padding-right: 2.9rem;
}

.t_achievements_btn {
	margin: 3.1rem 0 0 0.5rem;
	font-size: 1.8rem;
	line-height: calc(26/18);
}

.t_achievements_body {
	gap: 2.4rem;
	padding-top: 1rem;
}

.t_achievements_item {
	padding: 0 3.8rem;
}

.t_achievements_item:before,
.t_achievements_item:after {
	width: 2.32rem;
}

.t_achievements_item_ttl {
	font-size: 1.9rem;
	line-height: calc(28/19);
}

.t_achievements_item_data {
	gap: 0.5rem;
}

.t_achievements_item_num {
	font-size: 5.4rem;
}

.t_achievements_item_subject {
	font-size: 2.4rem;
	line-height: calc(35/24);
}


/*++++++++++++++++++++++++++++
t_yoyaku
++++++++++++++++++++++++++++*/
.t_yoyaku {
	padding-top: 6.1rem;
}

.t_yoyaku .inner {
	max-width: var(--inner-width05);
}

.t_yoyaku_block {
	max-width: 108rem;
	--in-border-gap: 0.8rem;
	padding: 3.3rem 2.5rem;
	margin: 0 auto;
}

.t_yoyaku_ttl {
	gap: 0.5rem;
	font-size: 2.6rem;
	line-height: calc(38/26);
	padding-bottom: 0.8rem;
	margin: 0 auto;
}

.t_yoyaku_ttl strong {
	padding: 0 0.5rem;
	line-height: calc(38/26);
	font-size: 2.6rem;

}

.t_yoyaku_txt {
	font-size: 1.7rem;
	text-align: center;
	margin-top: 1.5rem;
}

/*++++++++++++++++++++++++++++
t_bnrs01
++++++++++++++++++++++++++++*/
.t_bnrs01 {
	padding-top: 6rem;
}

.t_bnrs01 .inner {
	max-width: var(--inner-width05);
	padding: 0 var(--inner-padding);
}


.t_bnrs01_block {
	display: grid;
	gap: 2rem;
	grid-template-columns: repeat(3, 1fr);
	margin: 0 auto;
	max-width: 154rem;
}

.t_bnrs01_item {
	width: auto;
}

.t_bnrs01_item_big {
	width: auto;
	margin: 0;
}


/*++++++++++++++++++++++++++++
t_news02
++++++++++++++++++++++++++++*/
.t_news02 {
	margin-top: 0;
	padding-top: 8rem;
	padding-bottom: 0rem;
}

.t_news02 .inner {
	max-width: var(--inner-width03);
}

.t_news02_block {
	border-width: 0.2rem;
	margin: 0;
	padding: 1rem 5rem;
}

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

.t_news02_head_item {
	padding: 4rem 2rem;
	position: relative;
}

.t_news02_head_item:before {
	content: '';
	display: block;
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 100%;
	height: 1px;
	z-index: 1;
	transform: translateX(-50%);
	/* border-top: 1px dashed rgba(51, 44, 37, 0.3); */
}

.t_news02_head_item_ttl {
	font-size: 2rem;
	padding-bottom: 1.2rem;
	margin-bottom: 1.8rem;
}

.t_news02_head_item_txt {
	font-size: 1.7rem;
	letter-spacing: 0.08em;
}

.t_news02_body {
	padding: 5rem 0;
}


.t_news02_body_col {
	flex-direction: row;
	--gap-col: 5rem;
	--gap-row: 4rem;
	--col: 2;
	display: flex;
	flex-wrap: wrap;
	gap: var(--gap-row) var(--gap-col);
}

.t_news02_body_item {
	width: calc(100% / var(--col) - var(--gap-col) * (var(--col) - 1) / var(--col));

	text-decoration: none;
}

.t_news02_body_item_ttl {
	font-size: 2rem;
	padding: 1rem;
	margin-bottom: 3rem;
}

.t_news02_body_item_list {
	--gap-col: 0rem;
	--gap-row: 0rem;
	--col: 1;
	display: flex;
	flex-wrap: wrap;
	gap: var(--gap-row) var(--gap-col);
}

.t_news02_body_item_list li {
	width: calc(100% / var(--col) - var(--gap-col) * (var(--col) - 1) / var(--col));
	padding: 2rem 0 2rem 2.6rem;
	font-size: 1.7rem;
}

.t_news02_body_item_list li:before {
	top: 3.5rem;
	left: 0.9rem;
	width: 0.5rem;
}

.t_news02_body_item_table :is(td, th) {
	font-size: 1.6rem;
	padding: 2rem 0;
}

.t_news02_body_item_table th {
	width: 10.3rem;
}


/*++++++++++++++++++++++++++++
t_news
++++++++++++++++++++++++++++*/
.t_news {
	padding-top: 11.9rem;
}

.t_news .inner {
	max-width: var(--inner-width05);
}

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

.t_news_head {
	margin-bottom: 5rem;
	align-items: flex-end;
}

.t_news_ttl {
	gap: 1.8rem;
}

.t_news_ttl span {
	font-size: 8rem;
}

.t_news_ttl em {
	font-size: 2.2rem;
	top: 0.5rem;
}

.t_news_btn {
	position: relative;
	top: -1rem;
}

/*++++++++++++++++++++++++++++
t_blog
++++++++++++++++++++++++++++*/
.t_blog {
	padding-top: 0;
}

.t_blog_block {
	padding-top: 0;
}

.t_blog_head {
	margin-bottom: 5rem;
	align-items: flex-end;
}

.t_blog_slider_wrap {
	margin-right: var(--over-margin05);
	overflow: hidden;
}

.t_blog_btns {}

.t_blog-btn {
	width: 4.6rem;
	transition: var(--default-transition);

	&:hover {
		opacity: 1;
		border-color: var(--brown-2);

		&:before {
			border-color: var(--brown-2);
		}
	}
}

.t_blog-btn:before {
	width: 0.85rem;
	transition: var(--default-transition);
}

.t_blog_slider {
	width: 30rem;
}

.t_blog_item_img {
	height: 20rem;
}

.t_blog_item_date {
	margin-top: 1.6rem;
	font-size: 1.6rem;
}

.t_blog_item_ttl {
	font-size: 1.7rem;
	margin-top: 1.1rem;
}

.t_blog_bottom {
	margin-top: 6.1rem;
}

.blog-pagination {
	--swiper-pagination-bullet-size: 0.8rem;
	gap: 1.1rem;
}

/*++++++++++++++++++++++++++++
t_instagram
++++++++++++++++++++++++++++*/
.t_instagram {
	padding: 12rem 0 8rem;
}

.t_instagram .inner {
	max-width: var(--inner-width05);
}


.t_instagram_block {
	padding: 4rem;
	overflow: hidden;
	display: flex;
	background: rgba(255, 255, 255, 0.8);
	gap: 6rem;
}

.t_instagram_head {
	width: 44rem;
}

.t_instagram_ttl {
	padding: 0 0 0 6.1rem;
	font-size: 4.4rem;
	margin: 0;
}

.t_instagram_catch {
	text-align: left;
	font-size: 1.7rem;
	margin-top: 4rem;
	padding-left: 1rem;
}

.t_instagram_body {
	flex: 1;
	overflow: hidden;
}

.instagram_slider {
	margin-top: 0;
}

.t_instagram_imgs {
	width: 20.2rem;
	margin: 0;
	position: relative;
	left: 0;
}

.instagram_slider {
	overflow: visible !important;
}

.instagram_slider .oft {
	width: 20.2rem;
}

.instagram-pagination {
	--swiper-pagination-bullet-size: 0.8rem;
	gap: 1.1rem;
	margin: 0.9rem 1rem 0 auto;
}

.t_instagram_btns {
	gap: 1rem;
	margin-top: 4rem;
	justify-content: flex-start;
}

.t_instagram_btns a {
	width: 18rem;
	height: 5.4rem;
	border-radius: 3rem;
	line-height: calc(26/18);
	font-size: 1.8rem;

	&:hover {
		background: var(--beige-5);
		opacity: 1;
		color: #fff;
	}
}

/*++++++++++++++++++++++++++++
t_clinic
++++++++++++++++++++++++++++*/
.t_clinic {
	padding: 10rem 0;
	background: var(--brown-1) url(../images/top/clinic_bg.png) center / cover no-repeat;
	position: relative;
	isolation: isolate;
}

.t_clinic .inner {
	max-width: var(--inner-width05);
}

.t_clinic_block {
	display: flex;
	gap: 9rem;
}

.t_clinic_head {
	max-width: 75rem;
	flex: 1;
}

.t_clinic_head .oft {
	height: 100%;
}

.t_clinic_body {
	padding-top: 1rem;
	padding-bottom: 1.5rem;
}

.t_clinic_datalist {
	display: grid;
	grid-template-areas:
		'a c'
		'b c';
	gap: 2.5rem 5rem;
	margin-top: 0;
}

.t_clinic_data dt {
	font-size: 2rem;
}

.t_clinic_data dd {
	margin-top: 0.9rem;
}

.t_clinic_data dd p {
	font-size: 1.7rem;
}

.t_clinic_data_address {
	grid-area: a;
}

.t_clinic_data_access {
	grid-area: b;
}

.t_clinic_datalist_row {
	grid-area: c;
	flex-direction: column;
	gap: 2.5rem 5rem;
}

.t_clinic_datalist .m_map_link {
	--icon-color: #fff;
	color: #fff;
	/* margin-top: 0.1rem; */
	position: relative;
	top: 0.4rem;
}

.t_clinic_time {
	margin-top: 5rem;
}

/*++++++++++++++++++++++++++++
t_greeting
++++++++++++++++++++++++++++*/
.t_greeting {
	padding: 8rem 0;
	background: url(../images/top/greeting_bg01.png) center bottom / cover no-repeat;
}

.t_greeting:before {
	right: auto;
	left: calc(50% + 15rem);
	width: calc(50% - 15rem);
	min-width: 75rem;
	background: url(../images/top/greeting_bg02.jpg) center / cover no-repeat;
}

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

.t_greeting_block {
	padding: 9rem 20rem 10rem 10rem;
	position: relative;
	max-width: 107rem;
	margin-left: 5rem;
}

.t_greeting_block:before {
	width: 48rem;
}

.t_greeting_head {
	padding-bottom: 6rem;
	position: absolute;
	top: 51.4%;
	transform: translateY(-50%);
	right: -22rem;
}

.t_greeting_img01 {
	width: 36rem;
}

.t_greeting_name {
	width: 27.1rem;
	right: -8rem;
}

.t_greeting_body {}

.t_greeting_img02 {
	top: 4rem;
	right: auto;
	left: -25rem;
	width: 30rem;
}

.t_greeting_en_ttl {
	position: relative;
	-webkit-writing-mode: horizontal-tb;
	-ms-writing-mode: lr-tb;
	writing-mode: horizontal-tb;
	font-size: 2.8rem;
	padding: 0 0 0 2.4rem;
	right: auto;
	top: auto;
}

.t_greeting_en_ttl:before {
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

.t_greeting_catch {
	font-size: 3.2rem;
	margin-top: 3rem;
	padding-left: 4rem;
}

.t_greeting_txt {
	margin-top: 3rem;
	font-size: 1.7rem;
	padding-left: 4rem;
}

.t_greeting_btn {
	gap: 7rem;
	margin-top: 5rem;
	padding-left: 4rem;
}

.t_greeting_loop {
	right: -0.6rem;
}

.t_greeting_loop ul {
	animation: flowing-y 700s linear infinite;
}


.t_greeting_loop ul li {
	font-size: 34rem;
}

/*++++++++++++++++++++++++++++
l_kv
++++++++++++++++++++++++++++*/
.l_kv {
	position: relative;
	padding-bottom: 5rem;
}

.l_kv_ttl {
	min-height: 6rem;
	background: var(--kv-icon) left center / 6rem no-repeat;
	padding: 0 0 0 7.5rem;
	font-size: 3.2rem;
	margin-bottom: 2rem;
	margin-left: 0;
}

.l_kv_img {
	margin: 0 var(--over-margin05);
	height: 36rem;
}

.l_kv_en {
	font-size: 14rem;
	bottom: auto;
	right: -0.5rem;
	top: 0;
}

/*++++++++++++++++++++++++++++
t_endoscopy
++++++++++++++++++++++++++++*/
.t_endoscopy {
	padding: 10rem 0 10rem;
}

.t_endoscopy .inner {
	max-width: var(--inner-width05);
}

.t_endoscopy_exams {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	padding-bottom: 0rem;
}

.t_endoscopy_exam {
	padding: 0 5rem 0 0;
}

.t_endoscopy_exam+.t_endoscopy_exam {
	border-top: 0;
	border-left: 1px solid var(--brown-2);
	padding: 0 0 0.9rem 5rem;
}

.t_endoscopy_exam_head {
	padding-top: 1rem;
	gap: 1rem;
}

.t_endoscopy_exam_ttl {
	gap: 0.8rem;
}

.t_endoscopy_exam_ttl .txt01 {
	font-size: 2.4rem;
}

.t_endoscopy_exam_ttl .txt02 {
	font-size: 6.4rem;
}

.t_endoscopy_exam_ttl .txt03 {
	font-size: 2.4rem;
	margin-top: 0.4rem;
}

.t_endoscopy_exam_img {
	flex: 1;
	width: auto;
	max-width: 30rem;
	aspect-ratio: auto;
	border: 1.5px solid var(--green-1);
	border-radius: 20rem;
	padding: 0.7rem;
	height: 16rem;
}

.t_endoscopy_exam_img .oft {
	border-radius: 20rem;
}

.t_endoscopy_exam_txt {
	margin-top: 5rem;
	font-size: 1.7rem;
}

.l_pagelist {
	margin-top: 5rem;
	gap: 1rem;
	grid-template-columns: repeat(2, 1fr);
	grid-auto-rows: min-content;
}

.l_pagelist li a {
	min-height: 8rem;
	padding: 1rem 1rem 1rem 4.5rem;
	font-size: 1.7rem;

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

		&:before {
			color: #fff;
		}
	}
}

.l_pagelist li a::before {
	left: 1.4rem;
	font-size: 1.8rem;
}

.t_endoscopy_treatment {
	margin: 0;
	padding: 5rem;
	display: flex;
	gap: 5rem;
	margin-top: 8rem;
}

.t_endoscopy_treatment_desc {
	max-width: 55rem;
}

.t_endoscopy_treatment:before {
	width: 5rem;
}

.t_endoscopy_treatment_en {
	padding: 0 0 0 2.4rem;
	font-size: 2.8rem;
}

.t_endoscopy_treatment_en:before {
	top: 1rem;
	width: 1rem;
}

.t_endoscopy_treatment_ttl {
	font-size: 2.8rem;
	padding-bottom: 3rem;
	margin-top: 3rem;
}

.t_endoscopy_treatment_txt {
	font-size: 1.7rem;
	margin-top: 3rem;
	letter-spacing: 0.078em;
}

.t_endoscopy_treatment_list {
	gap: 1.2rem;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 0;
	flex: 1;
	min-width: 60.2rem;
	grid-auto-rows: min-content;
}

.t_endoscopy_treatment_item {}

.t_endoscopy_treatment_item .wrap {
	height: 18rem;
	padding-top: 0;

	&:hover {
		opacity: 1;

		&:before {
			opacity: 0.1;
		}

		img {
			transform: scale(1.2);
		}

		.txt {
			padding: 1.5rem 0 4.5rem;
		}

		.txt:before {
			opacity: 1;
		}
	}
}

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

.t_endoscopy_treatment_item .txt {
	padding-bottom: 0;
	font-size: 2rem;
}

.t_endoscopy_treatment_item .txt:before {
	opacity: 0;
	transition: var(--default-transition);
	width: 3rem;
	aspect-ratio: 1/1;
	z-index: 1;
	background: url(../images/top/treatment_arrow.svg) center / 100% no-repeat;
}

.t_endoscopy_treatment_item .img {}

/*++++++++++++++++++++++++++++
t_anal
++++++++++++++++++++++++++++*/
.t_anal {
	padding: 10rem 0;
}

.t_anal .inner {
	max-width: var(--inner-width05);
}

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

.t_anal_desc_txt {
	font-size: 1.7rem;
}

.t_anal_desc_list {
	margin-top: 0;
}

.t_anal_attempt {
	margin-top: 8rem;
}

.t_anal_attempt_ttl {
	padding: 0 0 0 2.2rem;
	font-size: 2.1rem;
	display: flex;
	align-items: center;
	flex-direction: row;
}

.t_anal_attempt_ttl:before {
	top: 1rem;
	left: 0.2rem;
	width: 1rem;
}

.t_anal_attempt_ttl:after {
	content: '';
	display: block;
	flex: 1;
	height: 1px;
	z-index: 1;
	background: var(--green-1);
	margin-left: 2rem;
}

.t_anal_attempt_ttl span:nth-of-type(2) {
	display: block;
}

.t_anal_attempt_ttl span:nth-of-type(2):after {
	display: none;
}

.t_anal_attempt_items {
	margin: 4rem 0 0;
	overflow-x: hidden;
	padding-bottom: 0;
}

.t_anal_attempt_items_scroll {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 3rem;
	width: 100%;
	padding: 0;
}

.t_anal_attempt_item {
	width: auto;
}

.t_anal_attempt_item .img {}

.t_anal_attempt_item .txt {
	line-height: 1.8;
	font-size: 1.7rem;
	margin-top: 1.2rem;
}


/*++++++++++++++++++++++++++++
t_day
++++++++++++++++++++++++++++*/
.t_day {
	padding: 10rem 0;
}

.t_day .inner {
	max-width: var(--inner-width05);
}

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

.t_day_head {
	order: 2;
}

.t_day_body {
	order: 1;
	margin-top: 0;
}

.t_day_ttl {}

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

.t_day_ttl em {
	margin-top: 1.2rem;
	font-size: 2.4rem;
}

.t_day_txt {
	font-size: 1.7rem;
	margin-top: 4rem;
	padding-left: 4rem;
}

.t_day_btn {
	margin-top: 5rem;
	padding-left: 4rem;
}

.t_day_support {
	margin-top: 9rem;
}

.t_day_support_ttl {}

.t_day_support_ttl {
	padding: 0 0 0 1.9rem;
	font-size: 2.1rem;
}

.t_day_support_ttl:before {
	top: 1.4rem;
	left: 0.2rem;
	width: 0.8rem;
}

.t_day_support_ttl span {
	gap: 2rem;
}


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

.t_day_support_item {}

.t_day_support_item .wrap {
	height: 18rem;
	padding-top: 0;

	&:hover {
		opacity: 1;

		&:before {
			opacity: 0.1;
		}

		img {
			transform: scale(1.2);
		}

		.txt {
			padding: 1.5rem 0 4.5rem;
		}

		.txt:before {
			opacity: 1;
		}
	}
}

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

.t_day_support_item .txt {
	padding-bottom: 0;
	font-size: 2rem;
}

.t_day_support_item .txt:before {
	transition: var(--default-transition);
	opacity: 0;
	bottom: 0;
	left: 50%;
	width: 3rem;
	background: url(../images/top/day_arrow.svg) center / 100% no-repeat;
}

/*++++++++++++++++++++++++++++
t_menu
++++++++++++++++++++++++++++*/
.t_menu {
	padding: 10rem 0;
	background: url(../images/top/menu_bg.jpg) center / cover no-repeat;
}

.t_menu .inner {
	max-width: var(--inner-width05);
}

.t_menu_block {
	display: flex;
	gap: 4rem;
	padding: 0 5.2rem;
}

.t_menu_head {
	max-width: 53rem;
	padding-top: 8.1rem;
}

.t_menu_en {
	top: 1rem;
	left: 13.2rem;
	transform: none;
	font-size: 22rem;
}

.t_menu_ttl {}

.t_menu_ttl span {
	display: block;
	font-family: var(--font-en);
	font-size: 8rem;
	letter-spacing: 0.04em;
	line-height: 1;
	font-weight: 400;
}

.t_menu_ttl em {
	font-size: 2.2rem;
	margin-top: 1rem;
	text-align: left;
}

.t_menu_txt {
	font-size: 1.7rem;
	margin-top: 6.1rem;
	text-align: left;
}

.t_menu_body {
	margin-top: 0;
	flex: 1;
	grid-template-columns: repeat(12, 1fr);
	gap: 1.5rem;
	min-width: 75rem;
}

.t_menu_item {
	height: 22rem;
	padding-top: 13.6rem;
	grid-column: span 4;

	&:hover {
		opacity: 1;
		background: var(--green-1);
		color: #fff;
		--icon-color: #fff;
		scale: 0.95;

		&:before {
			background: rgba(238, 237, 229, 0.2);
		}

		.t_menu_item_ttl {
			--arrow-url: url(../images/arrow01_white.svg);
		}

		.t_menu_item_num {
			color: #fff;
		}

	}
}

.t_menu_item:nth-of-type(n+4) {
	grid-column: span 3;
}

.t_menu_item:before {
	top: 2.2rem;
	width: 10.4rem;
}

.t_menu_item:after {
	top: 4.2rem;
	width: 6.4rem;
}

.t_menu_item_num {
	top: 1rem;
	left: 1rem;
	font-size: 2.4rem;
}

.t_menu_item_ttl {
	font-size: 1.9rem;
	--arrow-size: 2.6rem;
	padding-bottom: 3.7rem;

}

.t_menu_search {
	padding: 5rem 5rem 6rem;
	margin: 8rem 0 0;
}

.t_menu_search_tabs_wrap {
	overflow-x: hidden;
	padding-bottom: 0;
}

.t_menu_search_tabs {
	display: grid;
	grid-template-columns: repeat(3, 28rem);
	padding: 0.6rem;
	border-radius: 4rem;
	width: fit-content;
	margin: 0 auto;
}

.t_menu_search .js_tabs_btn {
	height: 5rem;
	font-size: 1.8rem;
	letter-spacing: 0.08em;
}

.t_menu_search .js_tabs_btn:before {
	border-radius: 4rem;
}

.t_menu_search .js_tabs_content {
	margin-top: 3.9rem;
}

.t_menu_search_list {
	grid-template-columns: repeat(4, 1fr);
	gap: 1rem;
}

.t_menu_search_list a {
	min-height: 6.5rem;
	line-height: calc(25/17);
	font-size: 1.7rem;
	padding: 1.8rem 2rem;

	&:hover {
		opacity: 1;
		border-color: var(--brown-2);
	}
}

/*++++++++++++++++++++++++++++
t_space01
++++++++++++++++++++++++++++*/
.t_space01 {}


/*++++++++++++++++++++++++++++
t_feature
++++++++++++++++++++++++++++*/
.t_feature {
	padding: 10rem 0 13rem;
}

.t_feature:before {
	top: 0;
	left: calc(50% + 42.5rem);
	width: calc(50% - 42.5rem);
	min-width: 42.5rem;
	height: 100%;
	aspect-ratio: auto;
	background: url(../images/top/feature_bg.jpg) center / cover no-repeat;
}

.t_feature .inner {
	max-width: var(--inner-width05);
}

.t_feature_en {
	font-size: 36rem;
	bottom: -7rem;
	left: -1rem;
}

.t_feature_block {
	margin-top: 0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 8rem;
	position: relative;
}

.t_feature_ttl {
	display: flex;
	position: absolute;
	top: 0;
	left: 0;
}

.t_feature_ttl_en {
	font-size: 6.4rem;
}

.t_feature_ttl_ja {
	gap: 0.5rem;
	padding-left: 2.8rem;
	margin-left: 0;
	margin-top: 0;
}

.t_feature_ttl_ja:before {
	top: 45%;
	left: 1.1rem;
	height: 13rem;
}

.t_feature_ttl_ja .txt01 {
	font-size: 2.2rem;
}

.t_feature_ttl_ja .txt02 {
	font-size: 11rem;
}

.t_feature_ttl_ja .txt03 {
	font-size: 4rem;
}

.t_feature_ttl_ja .txt04 {
	font-size: 4rem;
	margin-left: -0.2rem;
}

.t_feature_head {
	margin-top: 0;
	order: 2;
	display: flex;
	align-items: center;
	padding-top: 0;
		padding-bottom: 1.5rem;
}

.t_feature .feature-swiper-pagination {
	position: absolute;
	right: 0;
	bottom: 0;
	gap: 1.1rem;
	margin-top: 0;

	.swiper-pagination-bullet {
		margin: 0;
		width: 0.8rem;
		height: 0.8rem;
	}
}

.t_feature_img_slider {
	--img-height: 57.6rem;
}

.t_feature_img_slider_wrap {
	padding: 1.2rem 0 1.2rem 1.2rem;
	border-right: 0;
	border-radius: 50rem 0 0 50rem;
	width: calc(100% - var(--over-margin05));
	margin-right: var(--over-margin05);
}

.t_feature_img img {
	border-radius: 50rem 0 0 50rem;
}

.t_feature_body {
	margin-top: 0;
	order: 1;
	overflow: hidden;
	padding-top: 14.3rem;
	padding-left: 5.1rem;
	padding-bottom: 5rem;
	margin-bottom: -5rem;
}

.t_feature_body .swiper {
	overflow: visible;
}

.t_feature_content_num {}

.t_feature_content_ttl {
	margin-top: 3rem;
	padding-bottom: 2.9rem;
	font-size: 3.2rem;
}

.t_feature_content_txt {
	margin-top: 3rem;
	font-size: 1.7rem;
}

.t_feature_content_btn {
	margin-top: 5.1rem;
	gap: 7rem;
}

/*++++++++++++++++++++++++++++
t_slider
++++++++++++++++++++++++++++*/
.t_slider {
	width: 100vw;
	max-width: 100%;
	margin: 0 auto;
	--speed: 280s;
	--gap: 0rem;
}


.t_slider_item figure {
	width: 48rem;
}