@charset "utf-8";

:root {
	/* common */
	--vw: 1vw;
	--box-shadow: 0px 0px 2rem 0 rgba(0, 0, 0, 0.1);
	--drop-shadow: drop-shadow(0px 0px 2rem rgba(0, 0, 0, 0.1));
	--arrow-animation: arrowMove 0.6s ease 0s 1 both;
	--arrow-animation-only-x: arrowMoveOnlyX 0.6s ease 0s 1 both;
	--arrow-animation-only-x-short: arrowMoveOnlyXShort 0.6s ease 0s 1 both;
	--arrow-animation-only-y: arrowMoveOnlyY 0.6s ease 0s 1 both;

	--inner-padding: 5rem;
	--side-size: 14rem;

	--max-width01: 105rem;
	--max-width02: 112rem;
	--max-width03: 142rem;
	--max-width04: 142rem;
	--max-width05: 160rem;

	--inner-width01: calc(var(--max-width01) + var(--inner-padding) * 2);
	--inner-width02: calc(var(--max-width02) + var(--inner-padding) * 2);
	--inner-width03: calc(var(--max-width03) + var(--inner-padding) * 2);
	--inner-width04: calc(var(--max-width04) + var(--inner-padding) * 2);
	--inner-width05: calc(var(--max-width05) + var(--inner-padding) * 2);

	--over-margin01: min(calc((-1 * var(--vw) * 100 + var(--max-width01)) / 2 + var(--side-size) / 2),
			calc(-1 * var(--inner-padding)));
	--over-margin02: min(calc((-1 * var(--vw) * 100 + var(--max-width02)) / 2 + var(--side-size) / 2),
			calc(-1 * var(--inner-padding)));
	--over-margin03: min(calc((-1 * var(--vw) * 100 + var(--max-width03)) / 2 + var(--side-size) / 2),
			calc(-1 * var(--inner-padding)));
	--over-margin04: min(calc((-1 * var(--vw) * 100 + var(--max-width04)) / 2 + var(--side-size) / 2),
			calc(-1 * var(--inner-padding)));
	--over-margin05: min(calc((-1 * var(--vw) * 100 + var(--max-width05)) / 2 + var(--side-size) / 2),
			calc(-1 * var(--inner-padding)));

	--hover-moving-size: 0.7rem;
	--hover-moving-size-s: 0.5rem;

	--hover-moving-plus: 0rem;
	--hover-moving-minus: 0rem;
	--hover-opacity: 0.8;

	/* under */
	--under-table-first-width: 33rem;
	--under-default-font: 1.6rem;

	--tb-size: 128rem;
}

.sp {
	display: none !important;
}

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

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

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

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

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

.pointer_none_pc {
	pointer-events: none;
}

#wrapper {
	overflow: clip;
}

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

:where(.l_under_content) img {
	display: inline;
}

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

.img_round_big_pc {
	border-radius: 1.6rem;
}

/*++++++++++++++++++++++++++++
m_img
++++++++++++++++++++++++++++*/
.m_img500 {
	max-width: 500px;
}

.m_img600 {
	max-width: 600px;
}

.m_img700 {
	max-width: 700px;
}

.m_img800 {
	max-width: 800px;
}

.m_img900 {
	max-width: 900px;
}

.m_img1000 {
	max-width: 1000px;
}

.m_img_center {
	margin-left: auto;
	margin-right: auto;
	max-width: 100%;
	width: fit-content;
}


/*++++++++++++++++++++++++++++
m_btn01
++++++++++++++++++++++++++++*/
.btnstyle a,
.btn-style a,
.link_btn a,
.m_btn01 {
	font-size: 1.8rem;
	padding: 0.2rem 0 0.2rem 2.9rem;

	&:hover {
		opacity: 1;
		text-decoration: underline;

		&:before {
			transform: translateY(-50%) scale(11);
		}
	}
}


:where(.l_under_content) {
	.btnstyle a,
	.btn-style a,
	.link_btn a,
	.m_btn01 {
		margin-top: 4.2rem;
	}
}

/*++++++++++++++++++++++++++++
m_btn02
++++++++++++++++++++++++++++*/
.m_btn02 {
	--icon-size: 2.4rem;
	--btn-height: 6rem;
	padding: 1rem 1.8rem 1rem 4.2rem;
	font-size: 1.7rem;
	letter-spacing: 0.1em;
	line-height: 1.5;
	min-width: 40rem;
	width: fit-content;
	max-width: none;
}

.m_btn02:before {
	left: 1.8rem;
}


/*++++++++++++++++++++++++++++
p_table
++++++++++++++++++++++++++++*/
.p_table_th20_pc thead th:first-of-type {
	width: 20% !important;
}

.p_table_th30_pc thead th:first-of-type {
	width: 30% !important;
}

.p_table_th40_pc thead th:first-of-type {
	width: 40% !important;
}

.p_table_th50_pc thead th:first-of-type {
	width: 50% !important;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
module
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
/*++++++++++++++++++++++++++++
m_toc
++++++++++++++++++++++++++++*/
.m_toc {
	padding: 0;
	margin-top: 0;
	margin-bottom: 0;
}

.page-list,
.m_toc_list {
	--circle-top: 0.3rem;
	--gap-col: 5rem;
	--gap-row: 2rem;
	--col: 2;
	display: flex;
	gap: var(--gap-row) var(--gap-col);
	padding: 5rem 0 5rem;
	margin: 0;
	border-color: rgba(225, 212, 204, 0.4);
}

.page-list li,
.m_toc_list li {
	width: auto;
}

.page-list a,
.m_toc_list a {
	padding: 0 0 0 3.2rem;
	font-size: 1.7rem;
	line-height: calc(25/17);

	&:hover {
		opacity: 1;
		color: var(--green-1);
		    --icon-color: #fff;
    --circle-color: var(--green-1);
	}
}

/*++++++++++++++++++++++++++++
m_linklist
++++++++++++++++++++++++++++*/
.m_linklist {
	flex-direction: row;
	--gap-col: 2.4rem;
	--gap-row: 2.4rem;
}

.m_linklist li a {
	font-size: 1.8rem;
	padding: 1.7rem 1.7rem 1.5rem 3.6rem;
	min-height: 5.9rem;
	height: 100%;
}

.m_linklist li a:before {
	width: 0.8rem;
	left: 1.6rem;
}

.m_linklist.v_col04_pc {
	--gap-col: 1.7rem;
}

/*++++++++++++++++++++++++++++
m_list_check
++++++++++++++++++++++++++++*/
.m_list_check {
	--gap-col: 1rem;
	--gap-row: 1.5rem;
}

.m_list_check li {
	padding-left: 4.1rem;
	font-size: 1.8rem;
	letter-spacing: 0.06em;
}

.m_list_check li:before {
	top: 0.5rem;
	left: 0.8rem;
	z-index: 1;
	width: 2.1rem;
}


/*++++++++++++++++++++++++++++
m_checklist
++++++++++++++++++++++++++++*/
.ul_check,
.m_checklist {
	--gap-col: 1rem;
	--gap-row: 1.6rem;
	margin-top: var(--under-paragraph-mt);
	padding: 0 2rem;
}

.ul_check li,
.m_checklist li {
	font-size: 1.7rem;
	/* line-height: 1.7; */
	padding: 0rem 0rem 0rem 3.2rem;
}

.ul_check li:before,
.m_checklist li:before {
	top: 0.1rem;
	left: 0;
	width: 2.4rem;
}

.m_checklist_long {
		--gap-row: 3rem;
}

.m_checklist_long li:before {
    top: 0.5rem;
}
/*++++++++++++++++++++++++++++
m_list_triangle
++++++++++++++++++++++++++++*/
.m_list_triangle {
	--gap-col: 1rem;
	--gap-row: 1.5rem;
}

.m_list_triangle li {
	padding-left: 3rem;
	font-size: 1.8rem;
}

.m_list_triangle li:before {
	top: 0.8rem;
	left: 0.8rem;
	width: 1rem;
}

/*++++++++++++++++++++++++++++
m_list_anchor
++++++++++++++++++++++++++++*/
.m_list_anchor {
	--icon-left: 1rem;
	--btn-right-gutter: calc(var(--icon-size) + var(--icon-right) + var(--icon-left));
	--gap-col: 3.2rem;
	--gap-row: 1.2rem;
	padding: 3.2rem;
	border-radius: 0.8rem;
	max-width: 100.8rem;
	margin-left: auto;
	margin-right: auto;
}

.m_list_anchor li a {
	padding: 0.6rem var(--btn-right-gutter) 0.6rem 0.8rem;
	font-size: 1.6rem;
}

/*++++++++++++++++++++++++++++
m_otherpage_link
++++++++++++++++++++++++++++*/
.m_otherpage_link {
	--gap-col: 4rem;
	--gap-row: 2rem;
	--padding: 3.2rem;
}

.m_otherpage_link_box {
	border-radius: 0.8rem;
	padding: 1.4rem var(--padding) var(--padding);
}

.m_otherpage_link_ttl {
	font-size: 1.6rem;
	padding: 0.6rem 0;
	line-height: 1.5;
}

.m_otherpage_link_ttl:before {
	width: 1.6rem;
	aspect-ratio: 16/8;
	border-radius: 0 1.6rem 1.6rem 0;
}

.m_otherpage_link_list li a {
	font-size: 1.6rem;
	text-decoration: none;
	position: relative;
	font-weight: 500;
	background: url(../images/icon_arrow02.svg) 0.1rem 50% / 1.6rem no-repeat;
	padding: 1rem 0 1rem 2rem;
	min-height: 4.8rem;
}


/*++++++++++++++++++++++++++++
m_catch
++++++++++++++++++++++++++++*/
.m_catch {
	margin-top: 3rem;
	font-size: 2rem;
}

/*++++++++++++++++++++++++++++
m_timetable
++++++++++++++++++++++++++++*/
.m_timetable_wrap {}

.m_timetable_wrap+.m_timetable_wrap {
	margin-top: 2.6rem;
}

.m_timetable_ttl {
	font-size: 1.6rem;
	min-height: 3.2rem;
	padding: 0.2rem 1rem;
	margin-bottom: 1rem;
}

.m_timetable {
	--col-size: 9.6%;
}

.m_timetable :is(td, th) {
	font-size: 1.7rem;
	letter-spacing: 0;
	text-align: center;
	padding: 0.9rem 0 1.1rem 0;
	line-height: 1.45;
}

.m_timetable thead {}

.m_timetable thead th {
	width: var(--col-size);
	padding: 1.2rem 0;
}

.m_timetable tbody th {
	font-size: 2.3rem;
	padding: 0.6rem 0 0.5rem 0;
	line-height: 1.6;
}

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

.m_timetable_cd {
	font-size: 1.6rem;
	margin-top: 4rem;
	padding-left: 0;
}

.m_timetable_cd span {
	width: 10.2rem;
	height: 3.2rem;
	font-size: 1.6rem;
}

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

/*++++++++++++++++++++++++++++
m_col
++++++++++++++++++++++++++++*/
.m_col_mtl_sp,
.m_col {
	--gap-col: 4.8rem;
	--gap-row: 4.8rem;
	--col: 1;
	display: flex;
	flex-wrap: wrap;
	gap: var(--gap-row) var(--gap-col);
	flex-direction: row;
	margin-top: 5rem;
}

.m_col_narrow_pc {
	--gap-col: 2.8rem;
	--gap-row: 2.8rem;
}

.m_col02 {
	--col: 2;
}

.m_col03 {
	--col: 3;
}

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

.m_col_no_gutter {
	--gap-col: 0px;
	--gap-row: 0px;
}

:where(.l_under_content) .m_col h3:where(:not(.no_default)) {
	margin-bottom: 3.5rem;
}

.m_col_reverse_sp {
	flex-direction: row;
}

/*++++++++++++++++++++++++++++
m_faq
++++++++++++++++++++++++++++*/
.m_faq {
	margin-left: auto;
	margin-right: auto;
}

.m_faq+.m_faq {

}

.m_faq_head {
	--icon-right: 1.5rem;
	--icon-width: 3rem;
}

.m_faq_head::before,
.m_faq_head::after {
	transition: var(--default-transition);
}

.m_faq_ttl {
    padding: 2.4rem 8rem 3rem 5.2rem;
	font-size: 2rem;
	transition: var(--default-transition);
}

.m_faq_ttl:before {
	font-size: 4rem;
	left: 1rem;
	transition: var(--default-transition);
}

.m_faq_body {
	padding: 2.5rem 3rem;
}

.m_faq_body p {
	line-height: 1.8;
}

.m_faq_body .m_btn01 {
	margin-top: 2rem;
}

/*++++++++++++++++++++++++++++
m_kakomi
++++++++++++++++++++++++++++*/
.m_kakomi {
	--inner-side: 4rem;
	padding: 3rem;
	margin: 5rem 0 0;
}

.box_border,
.box_bg {
	height: 100%;
}

:is(.m_kakomi, .m_kakomi_col)+ :is(.m_kakomi, .m_kakomi_col) {
	margin-top: 4.2rem;
}

.m_kakomi_col .m_kakomi:first-child {
	margin-top: 0;
}

.m_kakomi_col {
	display: flex;
}

.m_kakomi_col {
	--gap-col: 2.4rem;
	--gap-row: 2.4rem;
	--col: 2;

	display: flex;
	flex-wrap: wrap;
	gap: var(--gap-row) var(--gap-col);
}

.m_kakomi_col .m_kakomi {
	width: calc(100% / var(--col) - var(--gap-col) * (var(--col) - 1) / var(--col));
	margin-top: 0;
}

.m_kakomi h5 {
	left: 0;
}

.m_kakomi *:has(+ h5) {
	position: relative;
	padding-bottom: 3rem;
}
.m_kakomi p+h5,
.m_kakomi h5:nth-of-type(n+2) {
	margin-top: 3rem;
}

/*++++++++++++++++++++++++++++
m_tableline
++++++++++++++++++++++++++++*/
.m_tableline {
	table-layout: fixed;
}

.m_tableline :is(td, th) {
	font-size: 1.8rem;
	padding: 2.3rem 2.4rem 2.5rem;
}

.m_tableline th {
	padding-left: 3.2rem;
	padding-right: 3.2rem;
}

.m_tableline th {
	width: var(--under-table-first-width);
}

.m_tableline td {
	width: auto;
}

/*++++++++++++++++++++++++++++
m_kakomi02
++++++++++++++++++++++++++++*/
.m_kakomi02 {
	border-radius: 0.8rem;
	padding: 2.5rem;
	margin: 5rem 0 0;
	position: relative;
}

.m_kakomi02:has(.m_kakomi02_ttl) {
	margin-top: 9rem;
}

.m_kakomi02:has(p:not(.m_kakomi02_ttl)) {
	padding-bottom: 3.3rem;
}

.m_kakomi02>*:not(.m_kakomi02_ttl):first-child {
	margin-top: 0;
}
.m_kakomi02 + * {
	margin-top: 5rem;
}
.m_kakomi02+.m_kakomi02 {
	margin-top: 5rem;
}

.m_kakomi02+.m_kakomi02:has(.m_kakomi02_ttl) {
	margin-top: 9rem;
}

.m_kakomi02_ttl {
	font-size: 1.9rem;
	min-width: 40rem;
	margin: 0 auto 3.3rem;
	width: fit-content;
	padding: 0.95rem 2rem;
}

.m_kakomi02_ttl:after {
	transform: translate(-50%, 88%);
	width: 1.2rem;
}

.m_kakomi02 ul:first-of-type {
	margin-top: 0;
}

/*++++++++++++++++++++++++++++
m_table
++++++++++++++++++++++++++++*/
.m_table {
	table-layout: fixed;
}

.m_table :is(td, th) {
	font-size: 1.8rem;
	padding: 1.6rem 2.4rem 1.6rem;
}

.m_table th {
	padding-left: 3.2rem;
	padding-right: 3.2rem;
}

.m_table tr {}

.m_table tr:last-of-type {}

.m_table tr:nth-of-type(2n) {}

.m_table th {
	width: var(--under-table-first-width);
}

.m_table td {
	width: auto;
}

/*++++++++++++++++++++++++++++
m_imgbox
++++++++++++++++++++++++++++*/
.m_imgbox {
	display: flex;
	flex-direction: row-reverse;
	gap: 4rem;
}

.m_imgbox_reverse {
	flex-direction: row;
}

.m_imgbox_head {
	margin-bottom: 0;
	max-width: 36rem;
	width: 48.75%;
	margin-top: 0;
	position: relative;
	top: 0.6rem;
}

.m_imgbox_mini .m_imgbox_head {
	max-width: 33rem;
	width: 36%;
}

.m_imgbox_head img {
	margin-left: auto;
	margin-right: 0;
}

:where(.l_under_content) .m_imgbox:is(h3, h4, h5):where(:not(.no_default)):nth-of-type(n + 2) {
	margin-top: 4rem;
}

.m_flow_item .m_imgbox_head {
	margin-top: 0;
	max-width: 32rem;
}

.m_flow_item .m_imgbox_head img {
	margin-right: 0;
	margin-left: auto;
	display: block;
}

.m_imgbox_reverse .m_imgbox_head {
	margin-right: var(--gutter);
	margin-left: 0;
}

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

.m_imgbox_body .m_btn01 {
	margin: 0;
}

.m_imgbox_around {
	display: block;
}

.m_imgbox_around::after {
	content: "";
	clear: both;
	display: block;
	height: 0;
	font-size: 0;
	visibility: hidden;
}

.m_imgbox_around .m_imgbox_head {
	float: right;
}

.m_imgbox_around.m_imgbox_reverse .m_imgbox_head {
	float: left;
}

.m_imgbox .m_imgbox_img+.m_imgbox_img {
	margin-top: 1rem;
}

/*++++++++++++++++++++++++++++
m_box
++++++++++++++++++++++++++++*/
.m_box {
	--gap: 5rem;
	--child-gap: 2rem;
	flex-direction: row;
}

.m_box_item {
	width: calc(50% - var(--gap) / 2);
}

.m_box_item:has(.m_box_child) {}

/*++++++++++++++++++++++++++++
m_btn_wrap
++++++++++++++++++++++++++++*/
.m_btn_wrap {
	margin-top: 5.6rem;
}

.m_btn_wrap {
	--gap-col: 7rem;
	--gap-row: 3rem;
	display: flex;
	flex-wrap: wrap;
	gap: var(--gap-row) var(--gap-col);
}

.m_btn_wrap.m_btn_wrap_c {
	justify-content: center;
}

.m_btn_wrap .m_btn01 {
	margin: 0;
}

/*++++++++++++++++++++++++++++
m_feature
++++++++++++++++++++++++++++*/
.m_feature {
	margin-top: 4rem;
}

.single .m_feature {
	margin-left: 0 !important;
	width: 100% !important;
}

.m_feature_item {
	--padding-side: 6.4rem;
	padding: 4.8rem var(--padding-side) 5.6rem;
	gap: 4.8rem;
	/* border-radius: 0.8rem; */
}

.m_feature_item:before, .m_feature_item:after {
	width: 1.2rem;
}

.m_feature_item+.m_feature_item {
	margin-top: 12rem;
}

.m_feature_ttl {
	font-size: 2.4rem;
	margin-bottom: 2.7rem;
	padding-bottom: 1.7rem;
}

.m_feature_ttl:before {
	font-size: 4rem;
	margin-bottom: 1.6rem;
}

.m_feature_ttl:after {
	top: 1.8rem;
	left: calc(-1 * var(--padding-side));
	width: calc(var(--padding-side) - 2.4rem);
}

.m_feature .m_kakomi {}

.m_feature_content>.m_kakomi {
	margin-top: 4.5rem;
}

.m_feature_item:has(.m_feature_img) {
	flex-direction: row;
}

.m_feature_item:has(.m_feature_img) .m_feature_img {
	max-width: 45.2rem;
	padding-top: 5.6rem;
	width: 45%;
}

.m_feature_item:has(.m_feature_img) .m_feature_content {
	flex: 1;
}

.m_feature_item .m_feature_content> :is(.m_kakomi, .m_kakomi_col)+ :is(.m_kakomi, .m_kakomi_col) {
	margin-top: 4.8rem;
}

/*++++++++++++++++++++++++++++
m_flow
++++++++++++++++++++++++++++*/
.m_flow {
	--item-gap: 0rem;
	margin-top: 4rem;
}

.single .m_flow {
	margin-left: 0 !important;
	width: 100% !important;
}

.m_flow_item {
	--padding-side: 6rem;
	padding: 6rem var(--padding-side) 7rem;
	gap: 0rem;
	margin-left: 0;
	margin-right: 0;
}

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

.m_flow_item+.m_flow_item {
	margin-top: var(--item-gap);
}

.m_flow_content {
	width: 100%;
}
.m_flow_ttl_wrap {
	gap: 1.8rem;
}
.m_flow_ttl {
	font-size: 2.2rem;
	margin-bottom: 0;
	padding-left: 0;
}

.m_flow_ttl span {
	line-height: 1.8;
	padding-bottom: 1.8rem;
	/* min-height: 7.6rem; */
}

.m_flow_step {
	outline-offset: -0.7rem;
	width: 13rem;
	font-size: 2.4rem;
	padding-top:0;
	line-height: 1;
	letter-spacing: 0;
	aspect-ratio: 130/78;
	border-radius: 15rem;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: row-reverse;
	gap: 0.3rem;
}

.m_flow_step:before {
	font-size: 4.4rem;
	line-height: 1;
	margin-bottom: 0;
	padding-top: 0;
	position: relative;
	top: auto;
	left: auto;
	width: auto;
	height: auto;
}


.m_flow_content>.m_kakomi {
	margin-top: 3.5rem;
}

.m_flow_item:has(.m_flow_img) {
	flex-direction: row;
}

.m_flow_item:has(.m_flow_img) .m_flow_img {
	max-width: 45.2rem;
	padding-top: 6rem;
	width: 45%;
}

.m_flow_item:has(.m_flow_img) .m_flow_content {
	flex: 1;
}

.m_flow_item .m_flow_content> :is(.m_kakomi, .m_kakomi_col)+ :is(.m_kakomi, .m_kakomi_col) {
	margin-top: 4.8rem;
}

.m_flow .m_kakomi {
	margin-left: 0;
	margin-right: 0;
	margin-top: 5rem;
}

.m_flow .m_imgbox {
	flex-direction: row-reverse;
	gap: 4rem;
}




/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
layout
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
/*++++++++++++++++++++++++++++
l_archive_page
++++++++++++++++++++++++++++*/
.l_archive_page {
	padding: 10rem 0 20rem;
}

.l_single_ttl {
	margin-top: 9rem;
}

.l_single_block,
.l_archive_block {
	display: grid;
	gap: 6rem;
	grid-template-columns: 1fr 25rem;
}

.l_single_block .l_under_content,
.l_archive_main {
	/* flex: 1; */
	/* overflow: hidden; */
}

.l_side {
	margin-top: 0;
	/* width: 25rem; */
}

.single .l_side {
	padding-top: 0;
	margin-top: 0;
	margin-bottom: 0;
}

.l_single_block {
	padding-bottom: 16rem;
}

/*++++++++++++++++++++++++++++
l_news
++++++++++++++++++++++++++++*/

/*++++++++++++++++++++++++++++
l_news
++++++++++++++++++++++++++++*/
.l_news_list {
	display: flex;
	flex-direction: column;
}

.l_news_item {}

.l_news_item_inner {
	padding: 1.6rem 1rem 1.5rem;
	flex-direction: row;
	gap: 2rem;
	align-items: center;

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

.l_news_item_head {
	display: flex;
	align-items: center;
}

.l_news_item_date {
	display: flex;
	align-items: center;
	flex-direction: column;
	font-family: var(--font-en);
	font-weight: 400;
	text-align: center;
	min-width: 5rem;
}

.l_news_item_date span {
	font-size: 1.6rem;
	line-height: 1;
	letter-spacing: 0.04em;
}

.l_news_item_date em {
	margin-top: 0.5rem;
	font-size: 3.2rem;
	line-height: 1;
	letter-spacing: 0.04em;
}


.l_news_item_cat {
	font-size: 1.4rem;
	padding: 0.2rem 0.2rem 0.2rem;
	min-height: 2.5rem;
	min-width: 11.4rem;
	text-align: center;
	justify-content: center;
}

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

.l_news_item_ttl {
	font-size: 1.7rem;
}

/*++++++++++++++++++++++++++++
l_under_mv
++++++++++++++++++++++++++++*/
.l_under_mv {
	margin-bottom: 0;
	margin-top: 0;
	padding-top: 9rem;
}

.l_under_mv:before {
	content: 'Kaneko Clinic';
	font-size: 50rem;
	    transform: translate(-50%, -40%)
}

.l_under_mv_inner {
	min-height: 36rem;
	padding: 0 5rem;
	max-width: calc(160rem * 2);
	margin: 0 auto;
	position: relative;
}

.l_under_mv_img {
	width: max(100%, calc(100vw - 14rem));
	right: auto;
	left: 50%;
	transform: translateX(-50%);
	height: 25rem;
	top: 11rem;
}

.l_under_mv_img .oft {}

.l_under_mv_img img {
	object-position: center;
}

.l_under_mv_ttl {

}

.l_under_mv_ttl .ja {
	font-size: 2.4rem;
	padding: 0 1rem 1rem;
}

.l_under_mv_ttl .en {
	font-size: 12rem;
}

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

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

.l_footer_block {
	display: flex;
	gap: 6rem;
}

.l_footer_head {
	flex: 1;
}

.l_footer_body {
	width: 70rem;
}

.l_footer_logo {
	width: 35.6rem;
}

.l_footer_info {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 2.5rem 6rem;
	margin-top: 5rem;
	padding-left: 2rem;
}

.l_footer_info_dl {}

.l_footer_info_address {}

.l_footer_info_access {
	order: 3;
	width: 100%;
}

.l_footer_info_subject {
	order: 2;
}

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

.l_footer_info_dl dd {
	margin-top: 0.8rem;
}

.l_footer_info_dl dd p {
	font-size: 1.7rem;
	line-height: 1.8;
	letter-spacing: 0.04em;
}

.m_map_link {
	position: relative;
	--icon-size: 2.4rem;
	font-size: 2rem;
	padding-left: 2.4rem;
}


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


.l_footer_bottom {
	padding: 3rem 0;
	margin-top: 6rem;
}

.l_footer_btn_wrap {
	display: grid;
	grid-template-columns: 250fr 215fr 215fr;
	gap: 1rem;
	margin-top: 2rem;
}

.l_footer_btn_ttl {
	gap: 0.5rem;
	height: 4.8rem;
	font-size: 1.8rem;
	margin-top: 3rem;
}

.l_footer_btn_ttl strong {
	padding: 0.3rem 0;
	line-height: calc(23/16);
	font-size: 1.8rem;
}

.l_footer_btn_tel {
	height: 11rem;
	margin-top: 0;
}

.l_footer_btn_tel .txt01 {
	font-size: 1.6rem;
	padding: 0 1.2rem;
	line-height: calc(23/16);
	border-radius: 3rem;
}

.l_footer_btn_tel .txt02 {
	margin-top: 0.9rem;
}

.l_footer_btn_tel .txt02 span {
	font-size: 2.2rem;
}

.l_footer_btn_tel .txt02 em {
	font-size: 2.8rem;
}

.l_footer_btn_tel .txt03 {
	font-size: 1.5rem;
	line-height: calc(22/15);
	margin-top: 0.3rem;
}


.l_footer_btn {
	height: 11rem;
	margin-top: 0;

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

		.txt01 {
			background: rgba(255, 255, 255, 0.3);
		}
	}

	&.interview {
		&:hover {
			background: var(--brown-2);
		}
	}
}


.l_footer_btn .txt01 {
	font-size: 1.6rem;
	padding: 0 1rem;
}

.l_footer_btn .txt02 {
	font-size: 1.8rem;
	margin-top: 0.7rem;
	text-align: center;
}

.l_footer_bnr {
	width: 19.8rem;
	font-size: 1.5rem;
	margin: 0;
}

.l_footer_bnr em {
	letter-spacing: 0;
}

.l_footer small {
	font-size: 1.5rem;
	margin-top: 4rem;
	text-align: left;
}

.l_footer {
	.m_timetable {
		--col-size: 10%;
	}

	.m_timetable :is(td, th) {
		font-size: 1.7rem;
		letter-spacing: 0;
		text-align: center;
		padding: 0.8rem 0 0.7rem 0;
		line-height: 1.45;
	}

	.m_timetable thead {}

	.m_timetable thead th {
		/* width: var(--col-size); */
		padding: 0.7rem 0;
	}

	.m_timetable tbody th {
		font-size: 2.4rem;
		letter-spacing: 0.08em;
	}
}

/* underpage */
/* l_under_content */
.l_under_content {
	font-size: 1.7rem;
}

:where(.l_under_content) table+table {
	margin-top: 5rem;
}

:where(.l_under_content)>.m_toc:first-child {
	margin-top: 0;
}

:where(.l_under_content) .alignright {
	margin: 1.6rem 0 1rem 5rem;
	float: right;
	height: auto;
	width: auto;
	max-width: 36rem;
	display: block;
}

:where(.l_under_content) .alignleft {
	margin: 1.6rem 5rem 1rem 0;
	float: left;
	height: auto;
	width: auto;
	max-width: 36rem;
	display: block;
}

:where(.l_under_content) .aligncenter {
	margin: 0 auto 1em;
	width: auto;
	max-width: 100%;
	display: block;
}

:where(.l_under_content) .alignnone {
	width: auto;
	max-width: 100%;
}

:where(.l_under_content)>.block-inner,
:where(.l_under_content)>section:where(:not(.no_default)) {
	padding: 5rem 0 8rem;
}

:where(.l_under_content)>.block-inner,
:where(.l_under_content)>section:where(:not(.no_default)) {
	left: 0;
	width: 100%;
}

:where(.l_under_content)>section:where(:not(.no_default)):last-of-type {}

:where(.l_under_content)>.block-inner:before,
:where(.l_under_content)>section:before {
	width: max(var(--tb-size), calc(100* var(--vw)));
}

.u_bnr {
	max-width: 47.7rem;
	margin: 3rem auto;
	display: block;
}

/* title */
:where(.l_under_content) h2:where(:not(.no_default)) {
	font-size: 3.2rem;
	padding: 4.1rem 0 0;
	margin: 16rem 0 12rem;
}

:where(.l_under_content) h3:where(:not(.no_default)) {
	font-size: 3rem;
	margin-bottom: 6rem;
	margin-top: 5rem;
	padding-top: 7.5rem;
	background-size: 6rem;
}

:where(.l_under_content) h3:where(:not(.no_default)):before {
    width: 4rem;
}

:where(.l_under_content) h4:where(:not(.no_default)) {
	margin-top: 8rem;
	margin-bottom: 3rem;
}

:where(.l_under_content) h4:where(:not(.no_default)) {
	font-size: 2.2rem;
	padding: 2rem 1.8rem;
}

.m_kakomi_ttl,
:where(.l_under_content) h5:where(:not(.no_default)) {
	font-size: 1.9rem;
	padding-bottom: 0;
	margin-bottom: 2.5rem;
	margin-top: 7rem;
	padding: 0.8rem 1.2rem;
}


/* btn */


/* ul */
.p_list_col02_pc {
	--col: 2;
}

.p_list_col03_pc {
	--col: 3;
}

.p_list_col04_pc {
	--col: 4;
}

:where(.l_under_content) ul:where(:not(.no_default, .m_toc_list, .page-list)) {
	--gap-col: 1rem;
	--gap-row: 1.5rem;
	--col: 1;
}

:where(.l_under_content) ul:where(:not(.no_default, .m_toc_list, .page-list)) li {
	padding-left: 1.4rem;
	font-size: 1.7rem;
}

:where(.l_under_content) ul:where(:not(.no_default, .m_toc_list, .page-list)) li:before {
	width: 0.6rem;
	left: 0rem;
	top: 0.9rem;
}

:where(.l_under_content) .p_list_narrow {
	--gap-row: 1px;
}

.m_list_long {
	--gap-row: 3rem;
}

.m_list_long li+li:after {
	/* top: -2.5rem; */
}

.m_list_long li:before {
    top: 1.2rem;
}

/* p_list02 */
:where(.l_under_content) .p_list02 {
	--gap-col: 2rem;
	--gap-row: 0.3rem;
	--col: 1;
	display: flex;
	flex-wrap: wrap;
	gap: var(--gap-row) var(--gap-col);
}

:where(.l_under_content) .p_list02 li {
	padding-left: 1.8rem;
	font-size: var(--under-default-font);
	letter-spacing: 0.15em;
	line-height: 1.65;
	color: var(--main-color);
}

:where(.l_under_content) .p_list02 li:before {
	content: "";
	display: block;
	position: absolute;
	top: 0.8rem;
	left: 0;
	width: 1.2rem;
	aspect-ratio: 1/1;
	z-index: 1;
	border-radius: 50%;
	background: var(--main-color);
}

/* ol */
:where(.l_under_content) ol:where(:not(.no_default)) {
	--gap-col: 3rem;
	--gap-row: 0px;
}

:where(.l_under_content) ol:where(:not(.no_default)) li {
	padding: 1.9rem 0 2.2rem 3.5rem;
	font-size: 1.7rem;
	letter-spacing: 0.04em;
	/* line-height: 1.8; */
}

:where(.l_under_content) ol:where(:not(.no_default)) li:before {
	top: 2.2rem;
	left: 0rem;
	font-size: 3rem;
	padding-left: 0;
}

/* table */
:where(.l_under_content) table:where(:not(.no_default)) {
	margin-top: 5rem;
	table-layout: fixed;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
}

:where(.l_under_content) table:where(:not(.no_default)) :is(th, td) {
	padding: 1.3rem 2rem 1.3rem;
	font-size: 1.8rem;
	width: 33.33333%;
}

:where(.l_under_content) table:where(:not(.no_default)) thead th {
    padding: 1.6rem 1rem;
}

:where(.l_under_content) table:where(:not(.no_default)) td {}

:where(.l_under_content) table:where(:not(.no_default)) tbody :is(th, td) {
	padding: 2rem 2.4rem 2rem;
}

:where(.l_under_content) table:where(:not(.no_default)) tbody th {
	padding-left: 2.2rem;
	padding-right: 2.2rem;
}

:where(.l_under_content) table:where(:not(.no_default)):not(:has(thead)) th,
:where(.l_under_content) table:where(:not(.no_default)) thead th:first-of-type {}

:where(.l_under_content) :is(.m_col, .columns) table:where(:not(.no_default)):not(:has(thead)) th,
:where(.l_under_content) :is(.m_col, .columns) table:where(:not(.no_default)) thead th:first-of-type {}

:where(.l_under_content) table:where(:not(.no_default)):not(:has(thead)) td,
:where(.l_under_content) table:where(:not(.no_default)) thead th:not(:first-child) {
	/* width: auto; */
}

:where(.l_under_content) .m_img_center+p {
	margin-top: 3rem;
}

/*++++++++++++++++++++++++++++
m_table02
++++++++++++++++++++++++++++*/
.m_table02 :is(td, th) {
	padding: 3rem;
}

.m_table02 td {
	background: #fff;
}

.m_table02 th {
	/* width: 30rem; */
	text-align: left;
	font-size: 2rem;
	letter-spacing: 0.1em;
	vertical-align: middle;
	padding: 5rem 3rem 5rem 2rem;
}
.m_table02 tbody th {
	padding: 3rem 1.5rem;
}

.m_table02 thead th:first-of-type {
    width: 30rem;
}
.m_table02 .m_table02_th_hosoku {
	font-size: 1.7rem;
	display: block;
	margin-top: 1rem;
	letter-spacing: 0.02em;
	color: var(--main-font-color);
	font-weight: 400;
	line-height: 1.8;
}


.m_table02_box_ttl {
	font-size: 1.8rem;
	letter-spacing: 0.1em;
	color: var(--main-color);
	padding-left: 1.5rem;
	position: relative;
	margin-bottom: 2rem;
	font-weight: 500;
}

.m_table02_box_ttl+* {
	margin: 0;
}

.m_table02 p {
	line-height: 1.8;
}

.m_table02_box_ttl:not(:first-child) {
	margin-top: 6rem;
}

.m_table02_box_ttl:not(:first-child):after {
	content: "";
	display: block;
	position: absolute;
	top: -3rem;
	left: 0;
	width: 100%;
	height: 1px;
	z-index: 1;
	background: var(--gray-color);
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
wp-pagenavi
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.wp-pagenavi {
	margin-top: 8rem;
	font-size: 1.8rem;
}

.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
	width: 4rem;
	height: 4rem;
}

.wp-pagenavi .previouspostslink:before,
.wp-pagenavi .nextpostslink:before {
	width: 0.8rem;
	height: 0.8rem;
}

.wp-pagenavi .extend,
.wp-pagenavi .last,
.wp-pagenavi .first,
.wp-pagenavi .current,
.wp-pagenavi .page {
	width: 4rem;
	height: 4rem;
}

.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink,
.wp-pagenavi .last,
.wp-pagenavi .first,
.wp-pagenavi .current,
.wp-pagenavi .page {
	margin: 0 0.5rem;
	padding-top: 0em;
}

.wp-pagenavi .extend {
	margin: 0 -0.7rem;
}

/* breadcrumbs */
.l_under_breadcrumb_wrap {
	position: absolute;
	top: 12.7rem;
	right: 5rem;
	padding-left: 5rem;
	z-index: 10;
	max-width: 50%;
}

.l_under_breadcrumb_wrap .inner {
	max-width: none;
	padding: 0;
}

.l_under_breadcrumb {
	margin-left: 0;
	width: auto;
	padding: 0;
}

.l_under_breadcrumb:before {

}

.breadcrumbs {
	padding: 0 var(--inner-padding);
	margin: 0;
	/* max-width: var(--inner-width02); */
	width: 100%;
	/* margin-left: auto; */
	/* width: fit-content; */
	display: flex;
	justify-content: flex-end;
}

.breadcrumbs :is(span, a) {
	text-decoration: none;
	font-size: 1.6rem;
	position: relative;
}

.breadcrumbs>span:after {
	top: -0.6rem;
}

.breadcrumbs>span {
	padding-right: 1rem;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
l_fixed_pc
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.l_fixed_pc {
	position: fixed;
	bottom: 0;
	right: 0;
	display: flex;
	gap: 1rem;
	border-top: 1px solid var(--brown-2);
	border-left: 1px solid var(--brown-2);
	border-radius: 0.4rem 0 0 0;
	z-index: 30;
	background: #fff;
	padding: 1rem 1rem 1.4rem;
	overflow: hidden;
	box-shadow: 0px 0px 34px 0px rgba(0, 0, 0, 0.15);
}

.l_fixed_pc_tel {
	--txt01-bg: var(--green-1);
	--txt01-color: #fff;
	--txt02-color: var(--main-font-color);
	--txt03-color: var(--green-1);
	background: #fff;

	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	height: 10rem;
	padding: 0 0.8rem 0 1.4rem;
}

.l_fixed_pc_tel .txt01 {
	font-size: 1.5rem;
	padding: 0.15rem 1rem;
	letter-spacing: 0.08em;
	background: var(--txt01-bg);
	color: var(--txt01-color);
	line-height: calc(19/13);
	border-radius: 3rem;
	font-weight: 600;
}

.l_fixed_pc_tel .txt02 {
	color: var(--txt02-color);
	margin-top: 0.9rem;
	font-family: var(--font-en);
	gap: 0.5rem;
	display: flex;
	align-items: center;
	font-weight: 400;
	letter-spacing: 0.08em;
}

.l_fixed_pc_tel .txt02 span {
	font-size: 1.8rem;
	letter-spacing: 0.04em;
	line-height: 1;
}

.l_fixed_pc_tel .txt02 em {
	font-size: 3.2rem;
	letter-spacing: 0.08em;
	line-height: 1;
}

.l_fixed_pc_tel .txt03 {
	font-size: 1.5rem;
	letter-spacing: 0.08em;
	color: var(--txt03-color);
	font-weight: 500;
	line-height: calc(19/13);
	margin-top: 0.3rem;
	text-align: center;
	width: 100%;
}


.l_fixed_pc_btn {
	--txt01-bg: var(--lightgreen-3);
	--txt01-color: #fff;
	--txt02-color: #fff;
	background: var(--green-1);

	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	height: 10rem;
	width: 12rem;
	text-decoration: none;

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

		.txt01 {
			background: rgba(255, 255, 255, 0.3);
		}
	}

	&.interview {
		background: var(--brown-1);

		&:hover {
			background: var(--brown-2);
		}
	}

	&.recruit {
		background: var(--pink-1);

		&:hover {
			background: var(--pink-2);
		}
	}
}

.l_fixed_pc_btn .txt01 {
	font-size: 1.6rem;
	padding: 0 1rem;
	letter-spacing: 0.08em;
	background: var(--txt01-bg);
	color: var(--txt01-color);
	line-height: calc(19/13);
	border-radius: 3rem;
	font-weight: 600;
}

.l_fixed_pc_btn .txt02 {
	font-size: 1.6rem;
	letter-spacing: 0.08em;
	color: var(--txt02-color);
	margin-top: 0.5rem;
	font-weight: 600;
	line-height: calc(22/15);
	margin-top: 0.5rem;
	text-align: center;
}

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

/*++++++++++++++++++++++++++++
l_pagetop
++++++++++++++++++++++++++++*/
.l_pagetop {
	position: fixed;
	z-index: 99;
	bottom: 3rem;
	right: 3rem;
	width: 5.5rem;
	transition: var(--default-transition);
}

.l_pagetop {
	opacity: 0;
	pointer-events: none;
}

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

/*++++++++++++++++++++++++++++
m_slider
++++++++++++++++++++++++++++*/
.m_slider {
	--img-size: 100rem;
	--btn-position: calc(-25vw + 22.5rem);
	--btn-size: 7rem;
	--ratio-w: 1000;
	--ratio-h: 560;
	padding: 0;
	margin: 3rem auto 0;
	width: min(100rem, 100%);
}

.m_slider .slick-list {
	z-index: 1;
}

.m_slider_main {
	margin: 0 auto;
	position: relative;
}

.m_slider_main .slick-list {
	overflow: visible;
}

.m_slider_main .m_slider_item {
	position: relative;
}

.m_slider .slick-arrow:before {
	width: 0.8rem;
}

.m_slider_main figure {
	position: relative;
	z-index: 1;
	opacity: 0.5;
	transition: var(--default-transition);
}

.m_slider_main figure img {
	width: 100%;
	aspect-ratio: var(--ratio);
	object-fit: cover;
	font-family: "object-fit: cover;";
	-webkit-backface-visibility: visible;
	backface-visibility: visible;
}

.m_slider_desc {
	/* width: fit-content; */
	padding: 1.5rem 1.2rem;
	margin: 0;
	/* position: absolute; */
	/* bottom: 3rem; */
	top: -2rem;
	right: 3rem;
}

.m_slider_desc_ttl {
	font-size: 1.8rem;
}

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

.m_slider .slick-dots {
	gap: 1.1rem;
	margin-top: 0;
}

.m_slider .slick-dots li {
	width: 0.8rem;
}

/*++++++++++++++++++++++++++++
m_imgslider
++++++++++++++++++++++++++++*/
.m_imgslider {
	width: max(100vw, 104rem);
}

.m_imgslider figure {
	width: 54rem;
}

/*++++++++++++++++++++++++++++
l_recruit
++++++++++++++++++++++++++++*/
.l_recruit {
	padding: 10rem 0 9.9rem;
	background: rgba(255, 255, 255, 0.8);
	border-top: 1px solid var(--brown-2);
}

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

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

.l_recruit_head {}

.l_recruit_img {
	position: relative;
}

.l_recruit_body {
	margin-top: 0;
	padding-top: 1.8rem;
}

.l_recruit_en {
	font-size: 22rem;
	top: -7.1rem;
	left: 27.1rem;
}

.l_recruit_ttl {
	font-size: 8rem;
}

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

.l_recruit_btn {
	margin-top: 5.1rem;
	padding-left: 4rem;
	justify-content: flex-start;
}


/*++++++++++++++++++++++++++++
下層 特殊レイアウト
++++++++++++++++++++++++++++*/
.lu_greeting {
	padding: 10rem 0 4rem;
}

.lu_greeting_block {
	display: flex;
	gap: 8rem;
}

.lu_greeting_head {
	padding: 5rem 6rem 0 0;
	width: 42.5rem;
}

.lu_greeting_head .oft {
	height: 50rem;
	margin-left: var(--over-margin01);
}

.lu_greeting_en {
	font-size: 9rem;
}

.lu_greeting_body {
	margin-top: 0;
	flex: 1;
}

.lu_greeting_body:before {
	top: 20rem;
	left: 25rem;
	width: calc(30rem - var(--over-margin01));
	height: 48.5rem;
}

.lu_greeting_ttl {
	font-size: 2rem;
	padding-left: 2.4rem;
	width: fit-content;
	margin-left: auto;
}

.lu_greeting_ttl:before {
	top: 0.5rem;
}

.lu_greeting_catch {
	margin-top: 5rem;
	font-size: 2.8rem;
}

.lu_greeting_txt {
	font-size: 1.7rem;
	margin-top: 8rem;
}

.lu_greeting_clinic {
	width: 46.5rem;
	padding-bottom: 1rem;
	margin: 4rem 0 0 auto;
	font-size: 1.7rem;
}

.lu_greeting_name {
	gap: 1.3rem;

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

	em {
		font-size: 2.6rem;
	}
}

.lu_staff {
	padding-top: 0;
	margin-top: 12rem;
	padding-bottom: 10rem;
}

.lu_staff_head {
	position: relative;
	isolation: isolate;
	display: flex;
	align-items: center;
	gap: 7rem;
}

.lu_staff_head_en {
	font-size: 22rem;
	top: -8rem;
	left: -12rem;
}

.lu_staff_ttl {
	gap: 2rem;

	span {
		font-size: 6.4rem;
	}

	em {
		font-size: 2rem;
	}

}

.lu_staff_head_txt {
	margin-top: 0;
	font-size: 1.7rem;
}

.lu_staff_panel {
	margin-top: 5rem;
}

.lu_staff_panel:before {
	top: -37rem;
	width: max(1280px,100vw);
	aspect-ratio: 1780/ 1150;
	background: url(../images/under/greeting_bg01.png) center / 100% no-repeat;
}

.lu_staff_panel02:before {
	top: -35rem;
	width: max(1280px,100vw);
	aspect-ratio: 1780/ 1150;
	background: url(../images/under/greeting_bg02.png) center / 100% no-repeat;
}

.lu_staff_panel + .lu_staff_panel {
	margin-top: 10rem;
}

.lu_staff_sub_ttl {
	font-size: 3rem;
	line-height: calc(32/22);
	gap: 4rem;
}

.lu_staff_list {
	display: grid;
	padding: 0;
	gap: 5rem 2.4rem;
	margin-top: 6rem;
	grid-template-columns: repeat(3,1fr);
}

.lu_person {
	padding: 2.8rem;
}
.lu_person_tag {
	top: -0.6rem;
	right: 1.5rem;
	padding: 0.8rem;
	font-size: 1.8rem;
	letter-spacing:0.13em;
}

.lu_person_img {
	padding: 0 0.9rem;
	margin: 0 auto;
}

.lu_person_name {
	padding-bottom: 1rem;
	border-bottom: 1px solid rgba(138, 125, 92, 0.3);
	font-weight: 700;
	font-size: 2.1rem;
	line-height: calc(30/21)
}

.lu_person_txt {
	margin-top: 1.5rem;
	font-size: 1.7rem;
}



.lu_clinic_wrap {
	padding-bottom: 10rem;
}

.lu_clinic {
	padding-top: 10rem;
}

.lu_clinic_block {

}

.lu_clinic_head {
	padding-right: 10rem;
}

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

.lu_clinic_en {
	padding-top: 2.4rem;
	font-size: 2.8rem;
}



.lu_clinic_body {

}

.lu_clinic_txt {
	padding: 6rem 0 0 10rem;
	font-size: 1.7rem;
}

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

.lu_clinic_col_item {

}

.lu_clinic_table {
	margin-top: 0;
}
.lu_clinic_table :is(td,th) {
	padding: 1.5rem 0;
	font-size: 1.7rem;
}


.lu_clinic_table th {
	padding-left: 1rem;
	padding-right: 2rem;
	width: 11rem;
}

.lu_clinic_time table {
	margin-top: 0;
}

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

.lu_clinic_support {
	padding: 2rem;
	display: flex;
	flex-direction: column;
}

.lu_clinic_support_img {
	display: block;
}

.lu_clinic_support_ttl {
	margin-top: 2rem;
	padding-bottom: 1.5rem;
	font-size: 2.1rem;
}

.lu_clinic_support_list {
	flex: 1;
	margin-top: 2rem;
	padding: 2rem;
	gap: 0;
}

.lu_clinic_support_list li {
	padding-left: 1.6rem;
	font-size: 1.7rem;
	line-height: 1.7;
}

.lu_clinic_support_list li:before {
top: 1.2rem;
}

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

.lu_access {
	margin-top: 12rem;
}

.lu_access_map {

}

.lu_access_ttl {
	padding-left: 2.2rem;
	font-size: 2.1rem;
	gap: 2rem;
	margin-top: 4rem;
}

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

.lu_access_list {
	display: grid;
	gap: 0.5rem;
	margin-top: 2.5rem;
}

.lu_access_list li {
	font-size: 1.8rem;
}

.lu_access_txt {
	margin-top: 2.5rem;
	line-height: 2;
	font-size: 1.5;
	letter-spacing: 0.08em;
}

.lu_access_hosoku {
	margin-top: 1rem;
	font-size: 1.7rem;
}

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

.lu_access_link {
	padding: 1.8rem 0;
	font-size: 1.7rem;

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

.lu_facility {
	margin-top: 11rem;
}

.lu_facility_en {
	font-size: 22rem;
	top: -7.3rem;
	left: 55.6rem;
}


.lu_facility_ttl {
	gap: 2rem;
	margin-bottom: 5rem;

	span {
		font-size: 6.4rem;
	}

	em {
		font-size: 2rem;
	}

}

/*++++++++++++++++++++++++++++
blog
++++++++++++++++++++++++++++*/
.l_blog_list {
	grid-template-columns: repeat(3,1fr);
	gap: 4rem 2rem;
}

.m_blog_img {
	height: 16rem;
}

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

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

/*++++++++++++++++++++++++++++
balloon
++++++++++++++++++++++++++++*/
.balloon {
	--ballon-color: #fff;
	display: flex;
	gap: 2rem;
	margin-top: 4rem;
}

.balloon + .balloon {
	margin-top: 3rem;
}
.balloon-left_icon {
	width: 10.3rem;
}
.balloon-right_icon {
	width: 10.4rem;
}
.balloon-left, .balloon-right {
	padding: 2.5rem;
}
.balloon-left:before {
    top: 2.3rem;
    left: -0.4rem;
    width: 1.3rem;
}
.balloon-right:before {
    top: 2.3rem;
right: -1.7rem;
    width: 1.3rem;
}

.balloon-left p,
.balloon-right p {
	line-height: 1.8;
	font-size: 1.7rem;
}