@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: 7rem;

	--max-width01: 110rem;
	--max-width02: 110rem;
	--max-width03: 120rem;
	--max-width04: 130rem;
	--max-width05: 143rem;

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

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

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

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

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

	--tb-size: 120rem;
}

.sp {
	display: none !important;
}

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

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

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

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

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

.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
++++++++++++++++++++++++++++*/
.m_btn01 {
	--icon-size: 0.6rem;
	--circle-size: 2rem;
	width: fit-content;
	font-size: 1.7rem;
	line-height: calc(25/17);
	min-height: 6rem;

	&:hover {
		opacity: 0.8;

		em:before  {
			transform: translate(0.5rem, -50%);
		}
		em:after {
			transform: translate(0.5rem, -50%);
		}
	}
}

.m_btn01 em {
	padding-right: 3.5rem;
}

.m_btn01 em:before {
	right: calc(0.8rem + var(--icon-right));
}

.underpage {
	.m_btn01 em:before {
		right: calc(0.65rem + var(--icon-right));
	}
}

/*++++++++++++++++++++++++++++
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 {
	--icon-size: 0.5rem;
	--circle-size: 1.7rem;
}

.m_toc_list {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
	isolation: isolate;
	justify-content: center;
}

.m_toc_list li {
	width: auto;
	min-width: 23rem;
}

.m_toc_list a {
	line-height: calc(27/17);
	font-size: 1.7rem;
	padding: 1.4rem 1.5rem 1.2rem 2.5rem;
}

.m_toc_list a em {
	padding: 0 calc(var(--circle-size) + 1rem) 0.3rem 0;
}

.m_toc_list a em:before {
	right: 0.6rem;
}

/*++++++++++++++++++++++++++++
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
++++++++++++++++++++++++++++*/
.m_checklist {
	--gap-col: 1rem;
	--gap-row: 1rem;
	margin-top: var(--under-paragraph-mt);
}

.m_checklist li {
	font-size: 1.7rem;
	line-height: 1.7;
	padding: 1rem 1rem 1rem 4.4rem;
}

.m_checklist li:before {
	top: 1.3rem;
	left: 1rem;
	width: 2.4rem;
}


/*++++++++++++++++++++++++++++
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 thead {

}

.m_timetable.no_default tr {
  grid-template-columns: 17rem repeat(8, 1fr);
  padding-right: 2.4rem;
}

.m_timetable tbody tr {

}

.m_timetable :is(td, th) {
	font-size: 1.7rem;
	padding: 1rem 0 1rem;
}

.m_timetable thead th:first-of-type {
	padding-right: 1.7rem;
}

.m_timetable thead th {
	padding: 1rem 0 1rem;
}

.m_timetable tbody th {
	font-size: 1.7rem;
	letter-spacing: 0.05em;
	padding-right: 1.4rem;
	letter-spacing: 0.14em;
}

.m_timetable tbody td.close {

}

.m_timetable tbody td.close:before {

}


/*++++++++++++++++++++++++++++
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 {
	margin-top: 0;
}

.m_faq_head {
	--icon-right: 3.1rem;
	--icon-width: 1.4rem;

}

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

.m_faq_ttl:after {
    right: 2rem;
    width: 3.5rem;
}

.m_faq_ttl {
	padding: 1.2rem 6rem 1.2rem 1rem;
	font-size: 1.8rem;
	transition: var(--default-transition);
}

.m_faq_ttl:before {
	font-size: 3rem;
	width: 6rem;
	height: 3.6rem;
	margin-right: 0rem;
	padding-top: 0.1rem;
	padding-bottom: 0;
	transition: var(--default-transition);
}

.m_faq_body {
    padding: 2.5rem 2rem 3rem;
    display: none;
    background: #fff;
    width: calc(100% - 2rem);
    margin: 2rem auto ;
    border-radius: 0.5rem;
}

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

/*++++++++++++++++++++++++++++
m_kakomi
++++++++++++++++++++++++++++*/
.m_kakomi {
	padding: 2.5rem 2rem 3rem;
	margin: 6rem 0 0;
}

.m_kakomi ul {
	padding: 0 2rem;
}

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

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

.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 h4,
.m_kakomi .m_kakomi_ttl {
	border: 0;
	border-bottom: 1px solid var(--gold);
	border-radius: 0;
	width: 100%;
	color: var(--main-font-color);
	font-weight: 600;
	padding: 0 2rem 1.5rem;
	        font-size: 1.7rem;
        padding: 0.45rem 1rem 0.65rem 1.5rem;
        margin-top: 4rem;
        margin-bottom: 1rem;
}

.m_kakomi .m_h4_box p:not(.m_kakomi_ttl) {
	padding: 0 2rem;
}
.m_kakomi .m_h4_box .m_imgbox {
	padding: 0 2rem;
}

.m_kakomi .m_h4_box .m_imgbox_body p {
	padding: 0;
}
.m_kakomi .m_h4_box .m_imgbox_img {
	padding: 0;
}

.m_kakomi .m_btn_wrap {
	padding: 0;
}

/*++++++++++++++++++++++++++++
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: 7.9rem 5rem 6rem;
	margin: 9rem 0 0;
	position: relative;
}

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

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

.m_kakomi02>*:not(.m_kakomi_ttl02):first-child {
	margin-top: 0;
}

.m_kakomi02+.m_kakomi02 {
	margin-top: 5rem;
}
.m_kakomi02+ .m_kakomi02:has(.m_kakomi_ttl02) {
	margin-top: 9rem;
}
.m_kakomi_ttl02 {
	--border-gutter: 0.8rem;
	font-size: 2rem;
	letter-spacing: 0.08em;
	line-height: 1.5;
	width: fit-content;
	min-width: 45rem;
	min-height: 7.6rem;
	margin: -11.6rem auto 4.4rem;
	padding: 1.6rem 1.8rem;
}

.m_kakomi_ttl02: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: 4.8rem;
}

.m_imgbox_reverse {
	flex-direction: row;
}

.m_imgbox_head {
	margin-bottom: 0;
	max-width: 34.5rem;
	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: 30rem;
}

.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_body .m_btn_wrap {
	margin-top: 4.5rem;
}

.m_imgbox_body ul {
	padding: 0 2rem;
}

.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: 6.1rem;
}

.m_btn_wrap {
	--gap-col: 2rem;
	--gap-row: 2rem;
	display: flex;
	flex-wrap: wrap;
	gap: var(--gap-row) var(--gap-col);
	justify-content: center;
	flex-direction: row;
	justify-content:center;
}

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

.m_btn_wrap.m_btn_l {
	justify-content: flex-start;
}

.m_btn_wrap .m_btn01 {
	margin: 0;
	min-width: 26rem;
	--btn-height: 6rem;
}

/*++++++++++++++++++++++++++++
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 {
	margin-top: 4rem;
	--item-gap: 3.7rem;
}

.m_flow_item {
	padding: 0.8rem 2rem 2.5rem 9.5rem;
	display: flex;
	flex-direction: row-reverse;
	gap: 1.5rem;
	position: relative;
}

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

.m_flow_head {
	width: 23.5rem;
}

.m_flow_head p {
	margin-top: 0;
}

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

.m_flow_ttl_wrap {
	display: block;
	gap: 2rem;
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: 0;
}

.m_flow_ttl_wrap + p {
	margin-top: 0.6rem;
}

.m_flow_ttl_wrap ~ p {
	padding: 0 1rem;
	line-height: 2;
}

.m_flow_ttl {
	width: fit-content;
	font-size: 1.7rem;
	line-height: calc(25/17);
	margin-bottom: 0;
	display: flex;
	gap: 1.5rem;
	align-items: center;
	flex: 1;
	border-bottom: 1px solid var(--gold);
	padding: 0 1rem 1.5rem;
}

.m_flow_ttl span {
	border-bottom: 1px solid var(--main-color);
	flex: 1;
	font-family: var(--font-min);
	color: var(--main-color);
	line-height: 1.8;
	padding-bottom: 1.2rem;
}

.m_flow_step {
	position: absolute;
	top: 0rem;
	left: 0.5rem;
	width: 7.5rem;
	font-size: 1.3rem;
	padding-top: 1.5rem;
}

.m_flow_step:before {
	font-size: 3.3rem;
	padding-top: 3.2rem;
}

.m_flow_ttl_no_border {
	border: 0 !important;
	padding-bottom: 0 !important;
}

.m_flow_item:nth-of-type(n + 10) .m_flow_step:before {
	content: counter(flow_counter);
}

.m_flow_img {
	width: 100%;
}

.m_flow .m_kakomi {

}

.m_flow .m_imgbox {
	flex-direction: column-reverse;
	gap: 3rem;
}

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

.m_flow_content .m_kakomi+.m_kakomi_col {
	margin-top: 2rem;
}

.m_flow :is(h3):where(:not(.no_default)):nth-of-type(n + 2) {
	margin-top: 5rem;
}

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




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

.l_single_ttl {
	margin-top: 9rem;
}

.l_single_ttl_in {
font-size: 2.7rem;
        margin: 0 0 6rem;
}
.l_single_block,
.l_archive_block {
	display: flex;
	gap: 6rem;
}

.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;
	margin-top: -4rem;
}

.l_news_item:first-of-type {
	border-top: 0;
}
.l_news_item {
}

.l_news_item_inner {
	padding: 4rem 2rem 4rem;
	flex-direction: row;
	gap: 1.6rem;
	align-items: flex-start;
}

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

.l_news_item_date {
	font-size: 1.6rem;
	/* width: 9.3rem; */
	margin-right: 1.6rem;
}

.l_news_item_cat {
	font-size: 1.4rem;
	padding: 0.2rem 1rem 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.6rem;
}

.l_news_thumbnail {
	width: 30rem;
}
.l_news_item_txt {
	 padding: 0 3rem;
	font-size: 1.6rem;
	line-height: 1.7;
	margin-top: 1rem;
}
/*++++++++++++++++++++++++++++
l_news_item02
++++++++++++++++++++++++++++*/

.l_news_item02 {
}

.l_news_item02_inner {
	padding: 1.5rem 3rem 2.1rem 2.5rem;
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 4rem;
}

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


.l_news_item02_date {
	font-size: 1.7rem;
}

.l_news_item02_body {
	flex: 1;
}
.l_news_item02_ttl {
	font-size: 1.7rem;
	line-height: calc(27/17);
}

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

.l_under_mv_inner {
	min-height: 54rem;
	padding: 11.5rem var(--inner-padding) 0;
	margin: 0 auto;
	position: relative;
}

.l_under_mv_img {
	width: max(100%, 100vw);
	right: auto;
	left: 50%;
	transform: translateX(-50%);
}

.l_under_mv_img {
	position: absolute;
	width: 100%;
	right: 0;
	top: 0;
	height: 100%;
	z-index: 1;
}

.l_under_mv_img:before {
	content: '';
display: block;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 5;
	background: linear-gradient(180deg, rgba(35, 38, 33, 0) 0%, rgba(57, 73, 49, 0.5) 100%);

}

.l_under_mv_inner:before {
		content: '';
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 2;
	width: auto;
	aspect-ratio: 375/370;
	height: calc(100% - 11.5rem);
	-webkit-mask: url(../images/u_mv_triangle01.svg) center / 100% no-repeat;
	mask: url(../images/u_mv_triangle01.svg) center / 100% no-repeat;
	background: #FFFDF1;
	opacity: 0.5;
}

.l_under_mv_inner:after {
	content: '';
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 3;
	width: auto;
	aspect-ratio: 375/370;
	height: calc(100% - 11.5rem);
	-webkit-mask: url(../images/u_mv_triangle02.svg) center / 100% no-repeat;
	mask: url(../images/u_mv_triangle02.svg) center / 100% no-repeat;
	background: rgba(99, 145, 82, 0.25);
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
}

.l_under_mv_img img {
	object-position: center;
}

.l_under_mv_ttl {
	padding: 0 3rem 4.5rem 5.8rem;
	font-size: 3.2rem;
	line-height: 1.6;
	max-width: 110rem;
	margin: 0 auto;
}

.l_under_mv_ttl:before {
	top: 0.6rem;
	left: 0.3rem;
	width: 4.3rem;
}

/*++++++++++++++++++++++++++++
l_footer
++++++++++++++++++++++++++++*/
.l_footer {
	padding: 3.2rem 0 0;
	margin-top: 0;
	border-top: 1px solid var(--gold);
}
.underpage .l_footer {
	margin-top: 12rem;
}
body:has(#front_main) .l_footer {
	background: url(../images/top/wrap03_bg.png) left center / cover no-repeat;
	background-attachment: fixed;
	&:before {
		display: none;
	}
}

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

.l_footer_logo {
	width: 48rem;
	margin: 0 0 0 5.8rem;
}

.l_footer_block {
	max-width: 115.5rem;
	margin: 1rem auto 0;
	display: flex;
	gap: 16rem;
}

.l_footer_head {
	width: 56.5rem;
	position: relative;
	padding: 1.7rem 0 0;
}

.l_footer_head:before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	right: -8rem;
	width: 1px;
	height: 100%;
	z-index: 1;
	background: var(--gold);
}

.l_footer_data {
	margin-top: 0;
}

.l_footer_data+.l_footer_data {
	margin-top: 5rem;
}

.l_footer_data dt {
	padding: 1.8rem 0;
	font-size: 1.8rem;
}

.l_footer_data dd {
	margin: 2.2rem auto 0;
	width: fit-content;
}

.l_footer_data_subject {
	line-height: calc(20/17);
	font-size: 1.7rem;
}

.l_footer_data_tel {
	gap: 1rem;
}

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

.l_footer_data_tel em {
	font-size: 3.3rem;
}

.l_footer_data_address {
	margin-top: 0.5rem;
	line-height: calc(25/16);
	font-size: 1.6rem;
}

.m_map_link {

}

.m_map_link {
	--icon-size: 1.8rem;
	font-size: 2rem;
	padding-left: 3.7rem;
}

.m_map_link:before {
	top: 0.2rem;
}

.l_footer_body {
	border-top: 0;
	margin-top: 0;
	padding-top: 2rem;
	flex: 1;
}

.l_footer_body .m_map {
	height: 39rem;
}

.l_footer_body .l_footer_map_link {
	font-size: 2rem;
	gap: 1.6rem;
	min-height: 7rem;
	margin-top: 2.2rem;
	padding-right: 0rem;
	border: 1px solid transparent;

	&:hover {
		opacity: 1;
		background: rgba(255, 255, 255, 0.3);
		border: 1px solid var(--gold);
	}
}

.l_footer_body .l_footer_map_link:before {
	width: 2.4rem;
}

.l_footer_time {
	padding: 0 3.75rem;
	margin-top: 4.3rem;
}

.l_footer_time .m_timetable.no_default tr {
        grid-template-columns: 18rem repeat(8, 1fr);
        padding-right: 5.2rem;
}

.l_footer_time .m_timetable thead th {
	padding: 0.8rem 0 0.8rem;
}
.l_footer_time .m_timetable.no_default tbody tr {
	margin-top: 1.3rem;
}
.l_footer_time .m_timetable.no_default tbody th {
	padding-right: 0;
}


.l_footer_bottom {
	padding: 4.1rem 0 4rem;
	background: url(../images/footer_scales01.png) left calc(50% + 58rem) top / 49.8rem no-repeat,
  url(../images/footer_scales02.png) left calc(50% - 57rem) bottom / 48.4rem no-repeat;
	background-color: rgba(255, 255, 255, 0.5);
	margin-top: 6rem;
	border-top: 1px solid var(--gold);
}

.l_footer_btn_wrap {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 2.5rem;
	margin: 0 auto;
	width: fit-content;
}

.l_footer_btn {
	--icon-size: 0.6rem;
	width: 24.1rem;
	padding: 1rem 0.5rem 1rem 0;
	height: 8rem;
	line-height: calc(20/18);
	font-size: 1.8rem;

	&:hover {
		opacity: 1;
		background: rgba(239, 233, 225, 0.8);
	}
}

.l_footer_btn_line {
	&:hover {
		background: rgba(254, 251, 245, 0.6);
		color: var(--green);
		--icon-color: var(--green);
		--circle-color: var(--green);
	}
}

.l_footer_btn:before {
	right: 2.1rem;
	width: 3.4rem;
}

.l_footer_btn:after {
	right: 3.4rem;
}

.l_footer_bnr {
	width: 22.8rem;
	font-size: 1.2rem;
	line-height: 1.3;
	letter-spacing: 0.02em;
	margin: 3.3rem auto 0;
}

.l_footer_bnr em {
	margin-top: 0.3rem;
	font-size: 1.1rem;
}

.l_footer small {
	font-size: 1.3rem;
	padding: 2rem 0 2.1rem;
}


/* underpage */
/* l_under_content */
.l_under_content {
	font-size: 1.6rem;
}
:where(.l_under_content) p:where(:not(.no_default)) {
	line-height: 2;
	letter-spacing: 0.04em;
	padding: 0 2rem;
}
:where(.l_under_content) table + table {
	margin-top: 5rem;
}
:where(.l_under_content)>.m_toc:first-child {
	margin-top: 5rem;
}

: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)>section:first-of-type {
    padding: 9rem 0 0;
}
:where(.l_under_content)>section:where(:not(.no_default)) {
	padding: 12rem 0 0;
}

: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)>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: 2.7rem;
margin: 12rem 0 5rem;
}

:where(.l_under_content) h2:where(:not(.no_default)) em {
	padding-left: 4.6rem;
	background: url(../images/icon_logo.svg) left top / 3.9rem no-repeat;
}

:where(.l_under_content) h3:where(:not(.no_default)) {
	font-size: 2.3rem;
	margin-bottom: 2.5rem;
	margin-top: 6rem;
	padding: 1.05rem 2rem;
}

:where(.l_under_content) h4:where(:not(.no_default)) {
	font-size: 1.7rem;
	padding: 0.45rem 1rem 0.65rem 1.5rem;
	margin-top: 4rem;
	margin-bottom: 1rem;
}

:where(.m_col) h4:where(:not(.no_default)) {
	margin-top: 5rem;
}

.m_h4_box {
    padding: 0 2rem;
}

.m_h4_box p {
	padding: 0 1rem;
}

.m_h4_box .m_btn_wrap {
	margin-top: 4.5rem;
}

:where(.l_under_content) h5:where(:not(.no_default)) {
	font-size: 1.6rem;
	padding-bottom: 0;
	margin-bottom: 1.5rem;
	margin-top: 3rem;
	padding: 0.3rem 1.5rem;
}

:where(.l_under_content) h5:where(:not(.no_default)):before {
	width: 1.2rem;
	left: 0.8rem;
	top: 0.9rem;
}



/* 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)) {
	--gap-col: 1rem;
	--gap-row: 1rem;
	--col: 1;
}

:where(.l_under_content) ul:where(:not(.no_default, .m_toc_list)) li {
	padding-left: 2.5rem;
	font-size: 1.7rem;
	line-height: 2;
}

:where(.l_under_content) ul:where(:not(.no_default, .m_toc_list)) li:before {
	width: 1rem;
	left: 0rem;
	top: 1.2rem;
}

:where(.l_under_content) .m_list_flex {
	gap: 1.5rem;
	padding: 0 2rem;
}

:where(.l_under_content) .m_list_flex li {
	padding: 1rem 2rem 1rem 4.5rem;
	font-size: 1.7rem;
	line-height: 2;
}

:where(.l_under_content) .m_list_flex li:before {
	content: "";
	display: block;
	position: absolute;
	left: 2.5rem;
	top: 2.3rem;
	width: 1rem;
	aspect-ratio: 1/1;
	background: var(--main-color);
	border-radius: 50%;
}

:where(.l_under_content) .p_list_narrow {
	--gap-row: 1px;
}
.m_list_long {
	--gap-row: 5rem;
}
.m_list_long li+li:after {
	top: -2.5rem;
}
/* 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: 1rem;
	padding: 0 2rem;
}

:where(.l_under_content) ol:where(:not(.no_default)) li {
	padding: 0.75rem 0 0.75rem 5.5rem;
	font-size: 1.6rem;
	line-height: calc(25/16);
}

:where(.l_under_content) ol:where(:not(.no_default)) li:before {
	top: 1rem;
	left: 0;
	font-size: 2.3rem;
	padding-left: 0;
	width: 4rem;
	text-align: center;
}

/* 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)) td {font-size: 1.6rem;}

:where(.l_under_content) table:where(:not(.no_default)) tbody td em {
	top: 0.05em;
}

:where(.l_under_content) table:where(:not(.no_default)) tbody :is(th, td) {
	padding: 1.5rem 3.5rem 1.6rem;
}

: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)) thead th {
	font-size: 1.8rem;
}

: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) {
	border: 1px solid var(--gray-color);
	padding: 5rem 4rem;
}
.m_table02 td {
	background: #fff;
}
.m_table02 th {
	width: 30rem;
	text-align: left;
	background: var(--beige);
	color: var(--main-color);
	font-size: 2rem;
	letter-spacing: 0.1em;
	vertical-align: middle;
	background: var(--gray-color);
	padding: 5rem 3rem 5rem 2rem;
}

	.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: 1.3rem;
	font-weight: 500;
}

.m_table02_box_ttl + * {
	margin: 0;
}

.m_table02 p {
	line-height: 1.8;
}

.m_table02_box_ttl:before {
	content: "｜";
	display: block;
	position: absolute;
	top: 0;
	left: -0.3rem;
	z-index: 1;
}

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

.m_table02_box_ttl:not(:first-child):after {
	content: "";
	display: block;
	position: absolute;
	top: -4rem;
	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: 8rem;
	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 {
	margin-left: var(--over-margin01);
	width: calc(100% - var(--over-margin01) * 2);
	padding: 7rem 0 0;
}

.l_under_breadcrumb:before {
	left: 50%;
	transform: translateX(-50%);
	width: max(100%, 100vw);
}

.breadcrumbs {
	padding: 0 var(--inner-padding);
	margin: 0 auto;
	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.4rem;
	position: relative;
}

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

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

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
l_fixed_pc
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.l_fixed_pc_web {
	position: fixed;
background: linear-gradient(180deg, #FFBE8F 0%, #EE8989 100%);
z-index: 50;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 6.4rem;
	height: 20rem;
	border-radius: 0.8rem 0 0 0.8rem;
	isolation: isolate;
	overflow: hidden;
	text-decoration: none;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: var(--default-transition);
}

.l_fixed_pc_web span {
	color: #fff;
	font-size: 1.7rem;
	font-weight: 500;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	text-orientation: upright;
	letter-spacing: 0.1em;
	padding-top: 3.3rem;
	padding-bottom: 0.7rem;
	position: relative;
	line-height: 1.4;
}

.l_fixed_pc_web span:before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 2.4rem;
	aspect-ratio: 1/1;
	z-index: 1;
	-webkit-mask: url(../images/icon_web.svg) center / 100% no-repeat;
	mask: url(../images/icon_web.svg) center / 100% no-repeat;
	background: #fff;
}

.l_fixed_pc_web:before {
	background: linear-gradient(180deg, #EE8989 0%, #FFBE8F 100%);
	transition: var(--default-transition);
	content: '';
display: block;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: -1;
opacity: 0;
}
.l_fixed_pc_web:hover {
	opacity: 1;
}
.l_fixed_pc_web:hover:before {
	opacity: 1;
}

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

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

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

.l_pagetop:hover {
	/* opacity: 0;
	pointer-events: none; */
	opacity: 1;
	background: #7BA76A;
}


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

.m_slider .slick-arrow {
	position: absolute;
	top: 19.6rem;
}

.m_slider .slick-arrow:before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 0.9rem;
	aspect-ratio: 9/18;
	z-index: 10;
	cursor: pointer;
	background: url(../images/icon_arrow06.svg) center / 100% no-repeat;
}

.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;
	margin: 0 1rem;
}

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


.m_slider_desc {
	padding: 2.2rem 3rem;
	margin: 0;
}

.m_slider_desc_ttl {
	font-size: 2rem;
}

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

.m_slider .slick-dots {
	margin-top: 5rem;
}

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

.m_slider .slick-dots {
	gap: 2.5rem;
	margin-top: 6rem;
}


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

.m_imgslider figure {
	width: 54rem;
}

/*++++++++++++++++++++++++++++
lu_clinic
++++++++++++++++++++++++++++*/


.lu_clinic_block {
	margin-top: 4.5rem;
	padding: 0;
	display: flex;
	gap: 10.5rem;
}

.lu_clinic_head {
	width: 56.5rem;
}

.lu_clinic_data {
	border: 0;
}

.lu_clinic_data+.lu_clinic_data {
	margin-top: 2.5rem;
}

.lu_clinic_data dt {
	font-size: 1.7rem;
	width: 11.5rem;
}

.lu_clinic_data dd {
	min-height: 11.2rem;
	padding: 1.5rem 1.2rem 1.5rem 3.5rem;
	flex: 1;
}

.lu_clinic_data_subject {
	font-size: 1.7rem;

}

.lu_clinic_data_subject {}

.lu_clinic_data_tel {
	gap: 0.8rem;
	margin-right: 0;
}

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

.lu_clinic_data_tel em {
	font-size: 3.5rem;
}

.lu_clinic_data_address {
	font-size: 1.6rem;
	margin-top: -0.4rem;
	line-height: calc(25 / 16);
}

.lu_clinic_table {
	margin-top: 5.2rem;
	width: 45rem;
}

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

.lu_clinic_map .m_map {
	height: 39rem;
	margin-top: 0;
}

.lu_clinic_map_link {
	font-size: 2rem;
	gap: 1.6rem;
	margin-top: 2rem;
	padding: 1.1rem 0 0.5rem;
	border: 1px solid transparent;

	&:hover {
		opacity: 1;
		background: rgba(255, 255, 255, 0.3);
		border: 1px solid var(--gold);
	}
}

.lu_clinic_map_link:before {
	width: 2.1rem;
	top: -0.4rem;
}


.lu_clinic_img {
    margin: 12.1rem var(--over-margin02) 0;
}

.lu_clinic_img .oft {
	height: 53rem;
}

/*++++++++++++++++++++++++++++
lu_doctor
++++++++++++++++++++++++++++*/
.lu_doctor:first-of-type {
	padding-top: 9rem;
}

.lu_doctor:last-of-type {
	padding-bottom: 0;
}

.lu_doctor {
	padding: 9rem 0 10rem;
}

.lu_doctor + .lu_doctor {

}

.lu_doctor_block {
	flex-direction: row-reverse;
	display: flex;
	gap: 6.5rem;
	padding: 0 2.2rem;
}

.lu_doctor_head {
	width: 47rem;
	margin: 0;
}

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

.lu_doctor_name {
	gap: 2rem;
}

.lu_doctor_name span {
	font-size: 2rem;
}

.lu_doctor_name em {
	font-size: 2.6rem;
}

.lu_doctor_catch {
	font-size: 2.1rem;
	margin-top: 4rem;
}

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

.lu_profile_cols {
	margin-top: 7rem;
	padding: 0 5rem;
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 3.5rem;
}

.lu_profile_cols .lu_profile + .lu_profile {
	margin-top: 0;
}

.lu_profile {

}

.lu_profile_ttl {
	padding: 2.2rem 1rem;
	font-size: 1.8rem;
}

.lu_profile_body {
	padding: 2rem 3rem 4.5rem;
}

.lu_profile_body *:first-child {
	margin-top: 0;
}

.lu_profile_list {
	gap: 0.5rem;
}

.lu_profile_list li {
	padding-left: 2.2rem;
	font-size: 1.5rem;
	line-height: calc(23/15);
}

.lu_profile_list li:before {
	top: 0.9rem;
	width: 0.9rem;
}

.lu_profile_ttl_sub {
	font-size: 1.6rem;
	margin-top: 2rem;
}
.lu_doctor02 {
	padding-left: 5.5rem;
	padding-right: 5.5rem;
}
.lu_doctor02 .lu_doctor_block {
	padding: 0;
}
.lu_doctor02 .lu_profile {
	margin-top: 3rem;
}

.lu_doctor02 .lu_profile + .lu_profile {
	margin-top: 2rem;
}

.lu_doctor02 .lu_doctor_head {
	width: 40.5rem;
}