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

	--max-width01: 120rem;
	--max-width02: 112rem;
	--max-width03: 128rem;
	--max-width04: 130rem;
	--max-width05: 142rem;

	--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.8;

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

	--tb-size: var(--tb-breakpoint);
}

.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-color: #fff;
	--circle-color: transparent;
	--icon-right: 1.4rem;
	width: fit-content;
	min-width: 29.5rem;
	font-size: 1.8rem;

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

.m_btn01_white {
	&:hover {
		opacity: 1;
		background: #fff;
		--icon-color: #fff;
		--circle-color: var(--brown_02);
		color: var(--brown_02);

		&:after {
			border-color: var(--brown_02);
		}
	}
}



/*++++++++++++++++++++++++++++
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;
	--circle-top: 0.3rem;
	margin-top: 5rem;
	margin-bottom: 3rem;
	/* --toc-w: min(var(--max-width02),
			calc(var(--vw) * 100 - var(--inner-padding) * 2)); */
	/* width: max(var(--toc-w), 100%); */
	/* margin-left: calc((var(--over-margin01) - var(--over-margin02))); */
}

.m_toc_list {
	--gap-col: 4rem;
	--gap-row: 3rem;
	--col: 2;
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	justify-content: center;
	gap: var(--gap-row) var(--gap-col);
	padding: 3.6rem 4rem 3.6rem;
	margin: 0;
	border-color: rgba(225, 212, 204, 0.4);
}

.m_toc_list li {
	width: auto;
}

.m_toc_list a {
	padding: 0 0 0 3.2rem;
	font-size: 1.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 {
	--col-size: 10.3%;
}

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

.m_timetable thead {}

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

.m_timetable tbody th {}

.m_timetable_hosoku {
	margin-top: 1.2rem;
	font-size: 1.8rem;
}


/*++++++++++++++++++++++++++++
m_table
++++++++++++++++++++++++++++*/
.m_table {
	margin-top: 3rem;
}

.m_table :is(td, th) {
	font-size: 1.8rem;
	padding: 1.5rem 2rem 1.4rem;
}

.m_table thead {}

.m_table thead th {
	padding: 1.4rem 0;
}

.m_table .hosoku {
	font-size: 1.5rem;
}

.m_table_scroll .m_table02 {
	width: 100%;
}

.m_table02 thead th:nth-of-type(1) {
	width: calc(300/1200 * 100%);
}

.m_table02 thead th:nth-of-type(2) {
	width: calc(600/1200 * 100%);
}

.m_table02 thead th:nth-of-type(3) {
	width: calc(300/1200 * 100%);
}



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

/*++++++++++++++++++++++++++++
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: 2rem;
}

.m_faq_head {
	--icon-right: 2.3rem;
	--icon-width: 1.7rem;
}

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

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

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

.m_faq_body {
	padding: 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: 4rem;
	margin: 7rem 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 p:not(.no_default) {
	line-height: 1.8;
}

.m_kakomi *:has(+ h5) {
	position: relative;
	padding-bottom: 4rem;
}

.m_kakomi p+h5,
.m_kakomi h5:nth-of-type(n+2) {
	margin-top: 4rem;
}

/*++++++++++++++++++++++++++++
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_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: 33rem;
	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_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: 5rem;
}

.m_btn_wrap {
	--gap-col: 3rem;
	--gap-row: 3rem;
	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_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 {
	--item-gap: 6rem;
	margin-top: 4rem;
}

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

.m_flow_item {
	--padding-side: 6.4rem;
	padding: 4.8rem var(--padding-side) 5.6rem;
	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 {
	font-size: 2.4rem;
	margin-bottom: 4rem;
	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: 10rem;
	font-size: 2rem;
	padding-top: 2.5rem;
	line-height: 1;
	letter-spacing: 0;
}

.m_flow_step:before {
	font-size: 4.8rem;
	line-height: 1;
	margin-bottom: 0;
	padding-top: 3.5rem;
}

.m_flow_item .m_kakomi {
	padding: 3.5rem var(--inner-side) 3.5rem;
}

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

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




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

.l_single_ttl {
	margin-top: 9rem;
}

.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;
}

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

.l_news_item {}

.l_news_item_inner {
	padding: 1.6rem 0 1.6rem;
	flex-direction: row;
	gap: 1.6rem;
	align-items: center;
}

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

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

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

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

.l_under_mv_inner {
	min-height: 54rem;
	padding: 0 var(--inner-padding);
	max-width: calc(120rem + var(--inner-padding) * 2);
	margin: 0 auto;
	position: relative;
}

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

.l_under_mv_img .oft {}

.l_under_mv_img img {
	object-position: center;
}

.l_under_mv_ttl {
	border-radius: 0;
	padding: 18rem 0 4rem;
	margin: 0;
	width: 100%;
	z-index: 5;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}

.l_under_mv_ttl .ja {
	font-size: 4rem;
}

.l_under_mv_ttl .en {
	font-size: 2.4rem;
	margin-top: 0.7rem;
}

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

.l_footer .inner {}

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

.l_footer_head {
	width: 58rem;
}

.l_footer_logo {
	width: 40rem;
}

.l_footer_table {
	margin-top: 3rem;
}

.l_footer_table :is(th, td) {
	font-size: 1.8rem;
	padding: 1rem 0 0.9rem;
}

.l_footer_table th {
	width: 11rem;
	padding-right: 1rem;
}

.l_footer_body {
	flex: 1;
}

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


.l_footer_map {
	margin-top: 5rem;
}

.l_footer_map {
	height: 40rem;
}

.l_footer_youtube {
	margin-top: 5rem;
}

.l_footer_bnr {
	width: 19.2rem;
	font-size: 1.4rem;
	margin: 5rem 0 0;
}

.l_footer_bnr em {
	margin-top: 1rem;
}

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

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

:where(.l_under_content) p:where(:not(.no_default)) {
	line-height: 2.2;
	letter-spacing: 0.04em;
}

: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)>section:where(:not(.no_default)) {
	padding: 10rem 0 10rem;
}

: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-breakpoint), 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: 2.8rem;
	margin-bottom: 9rem;
	margin-top: 12rem;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-left: auto;
	margin-right: auto;
}

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

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

.m_kakomi_ttl {
	margin-bottom: 0.8rem;
}

.m_kakomi_ttl:before,
:where(.l_under_content) h4:where(:not(.no_default)):before {
	top: 0.8rem;
	width: 1.2rem;
	left: 1rem;
	height: auto;
}

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

:where(.l_under_content) h5:where(:not(.no_default)) {
	font-size: 1.8rem;
	padding-bottom: 0;
	margin-bottom: 2rem;
	margin-top: 7rem;
	padding: 0.5rem 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: 1.5rem;
	--col: 1;
}

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

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

: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);
}


/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
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 {
	margin-left: var(--over-margin01);
	width: calc(100% - var(--over-margin01) * 2);
	padding: 2.4rem 0 7rem;
}

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

.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.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: 3rem;
	right: 0;
	width: 5.9rem;
	height: 14.1rem;
	transition: var(--default-transition);
	-webkit-writing-mode: vertical-rl;
-ms-writing-mode: tb-rl;
writing-mode: vertical-rl;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.8rem;
	line-height: 1.4;
	letter-spacing: 0.08em;
	font-family: var(--font-en);
	color: var(--gold_01);
	border-radius: 0.6rem 0 0 0.6rem;
	border: 1px solid var(--brown_00);
	border-right: 0;
	text-decoration: none;
	background: #fff;
}

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

	&:hover {
		background: var(--gold_01);
		color: #fff;
	}
}

.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: 2.2rem 3rem;
	margin: 0;
	/* position: absolute; */
	/* bottom: 3rem; */
}

.m_slider_desc_ttl {
	font-size: 2rem;
}

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

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


/*++++++++++++++++++++++++++++
m_imgslider
++++++++++++++++++++++++++++*/
.m_imgslider {
	width: max(100vw, var(--tb-breakpoint));
}

.m_imgslider figure {
	width: 54rem;
}