@charset "utf-8";
/*
****************************************
----------------------------------------
------- component
----------------------------------------
****************************************
*/
:where(.c_flex) {
	--gap-col: 5vw;
	--gap-row: 5vw;
	--col: 2;

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

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

/*
****************************************
----------------------------------------
------- common
----------------------------------------
****************************************
*/
a {
	transition: 0.7s;
}
.has_padding {
	padding-top: 49px;
}

.breadcrumbs br {
	display: none !important;
}
#wrapper {
	overflow-x: clip;
}

.under_page_wrap #wrapper {
	padding-top: 52px;
}
main {
	position: relative;
	z-index: 10;
}
.img_radius img {
	border-radius: 4px;
}

.inner2 {
	width: 100%;
	padding: 0 15px;
}
.inner3 {
	max-width: 1000px;
	width: 100%;
	padding: 0 3%;
	margin: 0 auto;
}
.img_bg_block .inner_full {
	position: relative;
	z-index: 11;
	width: 100%;
}
sup {
	font-size: 0.65em;
	vertical-align: top;
}
.img_border {
	border: 1px solid #bcbcbc;
}
.tac_box p {
	text-align: center;
}
textarea {
	resize: vertical;
}
.ttl_no_style *:before,
.ttl_no_style *:after {
	display: none !important;
}
.hosoku {
	font-size: 80%;
	text-indent: -1em;
	padding-left: 1em;
	display: block;
	line-height: 1.7;
}
.hosoku * {
	text-indent: 0;
}
.txts {
	font-size: 80%;
}
.basic_layout .hosoku + .hosoku {
	margin-top: 0;
}
.js_dispnone_start {
	display: none;
}
.slick-track img:focus {
	outline: none;
}
.slick-slider img {
	vertical-align: bottom;
}
.oft {
	position: relative;
	display: block;
	overflow: hidden;
}

.oft img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	-webkit-backface-visibility: visible;
	backface-visibility: visible;
}


img[src*="wp-emoji-one"],
img[data-mce-src*="wp-emoji-one"] {
	display: inline;
}
img[src*="wp-emoji-one"][width="16"],
img[data-mce-src*="wp-emoji-one"][width="16"] {
	width: 16px;
}
img[src*="wp-emoji-one"][width="18"],
img[data-mce-src*="wp-emoji-one"][width="18"] {
	width: 18px;
}
img[src*="wp-emoji-one"][width="24"],
img[data-mce-src*="wp-emoji-one"][width="24"] {
	width: 24px;
}
img[src*="wp-emoji-one"][width="32"],
img[data-mce-src*="wp-emoji-one"][width="32"] {
	width: 32px;
}
img[src*="wp-emoji-one"][width="64"],
img[data-mce-src*="wp-emoji-one"][width="64"] {
	width: 64px;
}
/*****************************
------------------------------
ふわっとフェードイン
------------------------------
*****************************/
.sa {
	opacity: 0;
	transition: all 0.9s ease;
}

.sa.show {
	opacity: 1;
	transform: none;
}

.sa--lr {
	transform: translate(-25px, 0);
}

.sa--rl {
	transform: translate(25px, 0);
}

.sa--up {
	transform: translate(0, 25px);
}

.sa--down {
	transform: translate(0, -25px);
}

.sa--scaleUp {
	transform: scale(0.5);
}

.sa--scaleDown {
	transform: scale(1.5);
}

.sa--rotateL {
	transform: rotate(180deg);
}

.sa--rotateR {
	transform: rotate(-180deg);
}
/*****************************
------------------------------
component
------------------------------
*****************************/
.kakomi {
	border: 1.3vw solid #f9f2e1;
	padding: 4vw;
	background: #fff;
}

.kakomi .rowbox {
	margin-top: 0 !important;
}

.kakomi *:first-child {
	margin-top: 0 !important;
}

.beta {
	background: #fff7e0;
	padding: 4vw;
}

.beta .rowbox {
	margin-top: 0 !important;
}

.beta *:first-child {
	margin-top: 0 !important;
}

.rowbox {
	display: flex;
	flex-direction: column;
	gap: 5vw;
}

.catch_copy {
	color: var(--main-color);
	font-size: 2.2rem;
	margin-bottom: 5vw;
	line-height: 1.6;
	font-weight: 500;
}


.name {
	font-size: 115%;
	font-weight: bold;
}

.basic_layout .catch {
	font-size: 2.2rem;
	margin: 11vw 0 5vw;
	color: var(--main-color);
	letter-spacing: 0.08em;
	font-weight: 500;
}

/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
下層MV
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.post_ttl .h2box {
	position: relative;
	min-height: 47vw;
	display: flex;
	align-items: center;
}

.post_ttl .h2box:before {
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 100;
}

.post_ttl .h2box .h2_image {
	position: absolute;
	z-index: 9;
	padding-top: 0;
	width: 100%;
	height: 100%;
	margin: 0 !important;
}

.post_ttl .h2box .h2_image img {
	border-radius: 0;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	font-family: "object-fit: cover;";
	-webkit-backface-visibility: visible;
	backface-visibility: visible;
}

.post_ttl .h2box .h2_text {
	position: relative;
	width: 100%;
	height: 100%;
	bottom: 0;
	left: 0;
	z-index: 1000;
	color: #fff;
	padding: 6vw 0;
	display: flex;
	align-items: center;
	text-align: center;
}

#under .post_ttl .h2box h2 span {
	color: #fff;
	padding: 0.35em 1em 0.41em 1.2em;
	display: inline-block;
	font-size: 2.3rem;
	letter-spacing: 0.12em;
	line-height: 1.4;
	position: relative;
	isolation: isolate;
}

#under .post_ttl .h2box h2 span:before  {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
	opacity: 0.8;
	background: var(--main-color);
}


#under .post_ttl .h2box h2 {
	margin: 0;
	color: #fff;
}

.h2box .post_ttl .inner {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
特殊FLOW
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.flow_arrow_box {
	background: var(--main-color-super-light);
	padding: 5vw;
	position: relative;
}

.flow_arrow_box .tl_block {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: space-between;
	margin-bottom: 2vw;
}

.flow_arrow_box .tl_block .step {
	border-right: 1px solid var(--main-color);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	width: 17vw;
	margin-right: 5vw;
}

.flow_arrow_box .tl_block .step span {
	display: block;
	font-size: 1.4rem;
	letter-spacing: 0.2em;
}

.flow_arrow_box .tl_block .step p {
	color: var(--main-color);
	text-align: center;
	font-size: 4rem;
	line-height: 1.2;
}

.flow_arrow_box .tl {
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
	letter-spacing: 0.1em !important;
	text-align: left !important;
	flex: 1;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	background: none !important;
	color: var(--main-color) !important;
	justify-content: flex-start;
	font-size: 2rem !important;
	line-height: 1.4 !important;
}

.flow_arrow_box .tl:before,
.flow_arrow_box .tl:after {
	display: none !important;
}

.flow_arrow_box + .flow_arrow_box {
	margin-top: 8vw;
}

.flow_arrow_box + .flow_arrow_box:before {
	content: "";
	position: absolute;
	top: -8vw;
	left: 50%;
	
	transform: translateX(-50%);
	width: 12vw;
	aspect-ratio: 100/31;
	background: var(--main-color);
	-webkit-clip-path: polygon(50% 100%, 100% 0, 0 0);
	clip-path: polygon(50% 100%, 100% 0, 0 0);
}

.flow_arrow_box .rowbox {
	flex-direction: column-reverse;

}

.flow_arrow_box .textbox {
	width: 100%;
}

.img_bg_block .inner {
	overflow: visible;
}

/*****************************
------------------------------
singlepage
------------------------------
*****************************/

.singlepage p {
	display: block;
	margin: 1em 0;
}
.singlepage nav p {
	margin-top: 0;
	margin-bottom: 0;
}
.singlepage strong {
	font-weight: bold;
}
.singlepage em {
	font-style: italic;
}
.singlepage blockquote {
	display: block;
	-webkit-margin-before: 1em;
	-webkit-margin-after: 1em;
	-webkit-margin-start: 40px;
	-webkit-margin-end: 40px;
}

/* img */

.singlepage .aligncenter {
	display: block;
	margin: 0 auto;
}
.singlepage img[class*="wp-image-"],
.singlepage img[class*="attachment-"] {
	height: auto;
	max-width: 100%;
}

.singlepage table th,
.singlepage table td,
.singlepage table {
	border-width: 1px;
}

.singlepage table th,
.singlepage table td,
.singlepage table {
	border-color: #999;
}

.singlepage table th,
.singlepage table td,
.singlepage table {
	border-style: solid;
}

#under {
	overflow: hidden;
	margin-bottom: 20vw;
}

#under .alignright {
	width: auto;
	padding: 10px 0 10px 0;
	margin: 0 auto;
}

#under .alignleft {
	margin: 0 auto;
	width: auto;
	padding: 10px 0 10px 0;
}

#under .aligncenter {
	margin: auto;
	width: auto;
}

.singlepage .alignnone {
	width: auto;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
toc_list
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
#toc_container {
	margin-bottom: 7vw;
	background: #fff7e0;
	padding: 5vw;
}

.toc_list {
	margin-top: 0 !important;

	li:before {
		background: #eab422;
	}
}

.toc_title {
	font-weight: 500;
	margin-bottom: 2vw;
	font-size: 1.7rem;
}
.basic_layout .toc_title {
	font-weight: 700;
}
.basic_layout .toc_title .toc_toggle {
    font-weight: 400;
    font-size: 80%;
    margin-left: 0.6em;
    line-height: 2.2em;
}



/*****************************
------------------------------
qa
------------------------------
*****************************/
.qa_box {
	--q-color: var(--main-color);
	--a-color: #eab422;
}

.qa_box + .qa_box {
	margin-top: 6vw;
	padding-top: 6vw;
	border-top: 1px solid var(--q-color);
}

:is(.a_box,.q_box) {
	padding: 1vw 0 0 8vw;
	position: relative;
}
.q_box {
	font-size: 2.1rem;
	color: var(--q-color);
}

.a_box {
	margin-top: 2vw;
}

.a_box:before,
.q_box:before {
	position: absolute;
	top: 0;
	left: 0;
	font-size: 3rem;
	display: block;
	line-height: 1;
}

.a_box:before {
	content: "A.";
	color: var(--a-color);
	left: 0.05em;
}

.q_box:before {
	content: "Q.";
	color: var(--q-color);
	top: 0.1em;
}

.q_box,
.a_box:before {
	font-family: var(--font-main);
}

/*****************************
------------------------------
#under
------------------------------
*****************************/
#under .meritbox {
	display: flex;
	flex-direction: column;
	gap: 4vw;
}

#under .meritbox > div {
	border: 1px solid #4c4c4c;
	--merit-color: #e48282;
	--demerit-color: #77b4cf;
}

#under .meritbox > div > p:first-of-type {
	padding: 5px 10px;
	text-align: center;
}

#under .meritbox > div:nth-of-type(1) {
	border: 1px solid var(--merit-color);
}

#under .meritbox > div:nth-of-type(2) {
	border: 1px solid var(--demerit-color);
}

#under .meritbox > div:nth-of-type(1) > p:first-of-type {
	background: var(--merit-color);
	color: #fff;
}

#under .meritbox > div:nth-of-type(2) > p:first-of-type {
	background: var(--demerit-color);
	color: #fff;
}

#under .meritbox > div:nth-of-type(1) li:before {
	background: var(--merit-color);
}

#under .meritbox > div:nth-of-type(2) li:before {
	background: var(--demerit-color);
}
#under .meritbox .meritbox_inner {
	padding: 2vw 3vw;
}
#under .meritbox .merit_etc {
	margin-top: 0.7em;
	display: block;
}
#under .meritbox ul {
	margin-top: 0;
}

#under .table_border th,
#under .table_border td {
	vertical-align: middle;
}

/*投稿ページのタイトルマージン*/
#under.basic_layout .post-meta + h2,
#under.basic_layout .post-meta + h3,
#under.basic_layout .post-meta + h4 {
	margin-top: 1em;
}

#under .table_border thead {
	background: #eab422;
	color: #fff;
}

/*______________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
メインカラー01
________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
*/
.color01 {
	color: var(--main-color);
}


/*****************************
------------------------------
layout
------------------------------
*****************************/

/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
sent
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.sent p + p {
	margin-top: 1em;
}

/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
basic_layout
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.basic_layout p {
	position: relative;
}

:where(.basic_layout) :is(p,ul,ol,table,.gmap,.flow_box,.rowbox) {
	margin-top: 1em;
}

:where(.basic_layout) *:first-child {
	margin-top: 0;
}

.breadcrumbs + * {
	margin-top: 0 !important;
}

.basic_layout img {
	width: auto;
	max-width: 100%;
}


/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
btn
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.btn_wrap {
	position: relative;
	text-align: center;
}

.btn {
	position: relative;
	text-align: center;
	text-decoration: none;
	min-width: auto;
	width: 85%;
	display: inline-block;
}

:where(.btn) + .btn {
	margin-top: 3vw;
}

.btn02 {
	color: #fff;
	background: var(--main-color);
	padding: 2vw 7vw;
	border-radius: 3px;
	border: 1px solid #1b5570;
}

.btn03 {
	background: var(--main-color);
	color: #fff;
	border-radius: 4px;
	padding: 2vw 7vw 2vw;
}

.btn03:before {
	content: "";
	top: 50%;
	
	transform: translateY(-50%);
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
	border-color: transparent transparent transparent #fff;
	right: 2.2vw;
	border-width: 1.3vw 0 1.3vw 1.6vw;
}

.btn04 {
	background-color: var(--main-color);
	color: #fff;
	padding: 2vw 7vw 2.3vw;
}

.btn04:before {
	content: "";
	position: absolute;
	border-right: 1px solid;
	border-top: 1px solid;
	border-color: #fff;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
	right: 2.3vw;
	width: 1.3vw;
	aspect-ratio: 1/1;
}

.btn04.backbtn:before {
	transform: translateY(-50%) rotate(225deg);
	left: 2.2vw;
	right: auto;
}

.post_btn_archive {
	width: auto;
	max-width: none;
	flex: 1;
}

.post_single_links {
	display: flex;
	justify-content: space-between;
	margin-top: 6rem;
}

.post_single_links .btn {
	min-width: auto;
	margin-top: 0;
}

.post_single_links .post_btn_mini {
	width: 22%;
}

.post_single_links .post_btn_prev {
	margin-right: 2%;
}

.post_single_links .post_btn_next {
	margin-left: 2%;
}

.post_btn_mini {
	padding-left: 5vw;
	padding-right: 5vw;
}

.post_btn_archive:before {
	display: none;
}

.btn_tel::after,
.btn_tel::before {
	display: block;
}
/*
****************************************
----------------------------------------
------- list
----------------------------------------
****************************************
*/
.basic_layout ol {
	counter-reset: number;
}

.basic_layout ol li {
	text-indent: -2em;
	padding-left: 2em;
}

.basic_layout ol li:before {
	counter-increment: number;
	content: counter(number) ".";
	display: inline-block;
	width: 2em;
	text-indent: 0;
	text-align: left;
	font-weight: bold;
}

.basic_layout .no_list_style li {
	padding-left: 0;
}

.basic_layout .no_list_style li:before {
	display: none;
}


:where(.basic_layout ul, .dotlist) {
	--gap-row: 1.3vw;
	--gap-col: 0px;
	--col: 1;
	display: grid;
	grid-template-columns: repeat(var(--col),minmax(0,1fr));
	gap: var(--gap-row) var(--gap-col);
}

:where(.basic_layout ul, .dotlist) li {
	position: relative;
	padding-left: 1em;
}

:where(.basic_layout ul, .dotlist) li:before {
	content: "";
	position: absolute;
	display: block;
	border-radius: 50%;
	top: 2.9vw;
	left: 0;
	width: 1.2vw;
	aspect-ratio: 1/1;
	background: var(--main-color);
}

:where(.basic_layout ul, .dotlist) ul {
	margin: 0.8vw 0 1vw;
	gap: 1.3vw 0;
}

:where(.basic_layout ul, .dotlist) ul li {
	padding-left: 1em;
}

:where(.basic_layout ul, .dotlist) ul li:before {
	background: var(--main-color);
	width: 2.1vw;
	height: 2px;
	aspect-ratio: auto;
	border-radius: 0;
	top: 3vw;
	left: 0;
}

.checklist li {
	padding-left: 1.8em;
}

.checklist li:before,
.checklist li:after {
	content: "";
	position: absolute;
}

.checklist li:before {
	width: 1em;
	aspect-ratio: 1/1;
	border: 1px solid #838383;
	background: #fff;
	left: 0;
	top: 0.5em;
	z-index: 10;
	border-radius: 0;
}

.checklist li:after {
	width: 0.9em;
	height: 0.6em;
	border-left: 2px solid #eab422;
	border-bottom: 2px solid #eab422;
	left: 0.23em;
	top: 0.4em;
	transform: rotate(-45deg);
	z-index: 11;
}

/*
****************************************
----------------------------------------
------- table
----------------------------------------
****************************************
*/
th,
td {
	padding: 2vw;
	line-height: 1.5;
}

.tdc td {
	text-align: center !important;
}

.thc th {
	text-align: center !important;
}

.thead_thc thead th {
	text-align: center !important;
}

.tbody_thc tbody th {
	text-align: center !important;
}


.vam td,
.vam th {
	vertical-align: middle !important;
}


.table25 th,
.table25 td {
	width: 25% !important;
}

.table33 th,
.table33 td {
	width: 33.333333% !important;
}

.table50 th,
.table50 td {
	width: 50% !important;
}

.th33 th:first-of-type {
	width: 33.333333%;
}

.th33 td {
	width: 33.333333%;
}

.th40 th:first-of-type {
	width: 40%;
}

.td_align_l {
	text-align: left !important;
}

.td_align_r td {
	text-align: right !important;
}

.th_align_l th  {
	text-align: left !important;
}

.th_align_r th{
	text-align: right !important;
}

.td_vertical_t {
	vertical-align: top !important;
}


/* table_underline */
.table_underline th:first-of-type {
	width: 30%;
}
.table_underline tr:first-of-type th,
.table_underline tr:first-of-type td {
	padding-top: 0;
}
.table_underline th {
	padding-left: 0;
}

.table_underline th {
	border-bottom: 1px solid var(--main-color);
	vertical-align: middle;
}

.table_underline td {
	border-bottom: 1px solid #c3c3c3;
	vertical-align: middle;
}

/* table_border */
.table_border td {
	border: solid 1px #c3c3c3;
	background: #fff;
}

.table_border td {
	text-align: left;
}

.table_border th:first-of-type {
	width: 30%;
}

.table_border thead {
	color: #fff;
	border: 1px solid #c3c3c3;
	background: var(--main-color);
}

.table_border thead th:first-of-type {
	border-left: 1px solid;
}

.table_border tbody th {
	border: 1px solid #c3c3c3;
	background: #fcf6e8;
}

.table_border thead th {
	border-left: 1px solid #c3c3c3;
}

.table_border thead th:first-of-type {
	border-color: #c3c3c3;
}
.table_border_col03 tr>* {
    width: calc(100% / 3);
}
/* eigyou01 */
.eigyou01 {
	--th-size: 9.2%;
	--th-last-size:  14.8%;
}

.eigyou01 thead th {
	width: var(--th-size);
}

.eigyou01 thead th:last-of-type {
	width: var(--th-last-size);
}

.eigyou01 thead th:first-of-type {
	width: calc(100% - var(--th-size) * 6 - var(--th-last-size));
	letter-spacing: 0.1em;
}

.eigyou01 tbody th:first-of-type {
	width: auto;
}


.eigyou01 th,
.eigyou01 td {
	vertical-align: middle;
	text-align: center;
	padding: 2vw 1vw;
	font-size: 1.2rem;
}


/* table_scroll */
.table_scroll {
	overflow-x: auto;
}

.table_scroll table {
	width: 1200px;
	table-layout: fixed;
}

.table_scroll td,
.table_scroll th {
	/* font-size: 85%; */
}
.table_price th {
	width: 50% !important;
}

.table_price th,
.table_price td {
	text-align: center !important;
}

.table_price_td03 th,
.table_price_td03 td {
	width: 23% !important;
	font-size: 1.3rem;
	padding: 1vw;
}

.table_price_td03 thead th:first-child, 
.table_price_td03 tbody th {
	width: 31% !important;
}

.table_border.table_1_2_2 th:first-of-type {
	width: 20%;
}

.table_border.table_1_2_2 th:not(:first-of-type) {
	width: 40%;
}

.table_border.table_1_2_2 th,
.table_border.table_1_2_2 td {
	font-size: 1.3rem;
	padding: 1.2vw;
}

.table_price_2_1_1_1 tr>* {
	font-size: 80%;
}

.table_price_2_1_1_1 tr>* {
	padding-left: 0;
	padding-right: 0;
}

.table_price_2_1_1_1 thead th:first-child,
.table_price_2_1_1_1 tbody th {
	width: 30% !important;
}

.table_price_2_1_1_1 thead th:not(:first-child),
.table_price_2_1_1_1 tbody td {
	width: calc(70% / 3) !important;
}
/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
img_bg_block
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.img_bg_block {
	position: relative;
}

.img_bg_block .inner3,
.img_bg_block .inner2,
.img_bg_block .inner {
	position: relative;
	z-index: 11;
}

/*****************************
------------------------------
news_box(news アーカイブ　)
------------------------------
*****************************/
.news_box {
	margin-top: 6vw;
}


.news_box li {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	margin-bottom: 0;
	display: flex;
	padding: 3vw 0;
}

.basic_layout .news_box li + li {
	margin-top: 0;
}

.basic_layout .news_box li:before {
	display: none;
}

.news_box li:before {
	display: none;
}

.news_box a {
	text-decoration: underline;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	flex: 1;
}

.news_box li span {
	display: inline-block;
	margin-right: 1em;
}


/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
通常flow
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.flow_next {
	position: relative;
	margin-top: 20vw;
}

.flow_next:before {
	content: "";
	position: absolute;
	background: var(--main-color);
	width: 8vw;
    aspect-ratio: 3/1;
	-webkit-clip-path: polygon(50% 100%, 100% 0, 0 0);
	clip-path: polygon(50% 100%, 100% 0, 0 0);
	top: -12vw;
	left: 50%;
	transform: translateX(-50%);
}





/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
gmap
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.gmap {
	position: relative;
	overflow: hidden;
	height: 80vw;
}
.gmap iframe,
.gmap object,
.gmap embed {
	width: 100%;
	height: 100%;
}
.gray_scale iframe {
	filter: grayscale(100%);
}
.gmap + .inner_sp,
.gmap + .full,
.gmap + .inner {
	margin-top: 11vw;
}

/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
top_button
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
#top_button {
	position: fixed;
	z-index: 999;
	right: 0;
	bottom: 0;
}

#top_button a {
	background: #87d4f6;
	position: relative;
	display: block;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	width: 60px;
	height: 60px;
}

#top_button a:before {
	position: absolute;
	content: "";
	display: block;
	border-right: 1px solid;
	border-top: 1px solid;
	border-color: #fff;
	width: 11px;
	aspect-ratio: 1/1;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -25%) rotate(-45deg);
}



/*
****************************************
----------------------------------------
------- title
----------------------------------------
****************************************
*/

:root .has_parallax h3 + h4,
:root .has_parallax h4 + h5,
:root .has_parallax h5 + h6 {
	margin-top: 0;
}

.has_parallax h3,
.has_parallax h4 {
	margin-top: 10.5vw;
}

.has_parallax h5,
.has_parallax h6 {
	margin-top: 7.5vw;
}

.has_parallax h3 {
	margin-bottom: 6vw;
	font-size: 2.1rem;
	    font-weight: 500;
}
.has_parallax h4 {
	margin-bottom: 6vw;
	font-size: 2rem;
	font-weight: 500;
}
.has_parallax h5 {
	margin-bottom: 5.5vw;
	font-size: 1.8rem;
	    font-weight: 500;
}
.has_parallax h6 {
	margin-bottom: 2.8vw;
	font-size: 1.8rem;
	    font-weight: 500;
}

.has_parallax .breadcrumbs + h3,
.has_parallax .breadcrumbs + h4,
.has_parallax .breadcrumbs + h5 {
	margin-top: 20px;
}

.basic_layout h2,
.basic_layout h3,
.basic_layout h4,
.basic_layout h5,
.basic_layout h6 {
	position: relative;
	line-height: 1.4;
}
.basic_layout h2 {
	font-size: 3.2rem;
	letter-spacing: 0.1em;
}
.basic_layout h3 {
	font-size: 2.4rem;
	letter-spacing: 0.1em;
}
.basic_layout h4 {
	font-size: 2rem;
	letter-spacing: 0.1em;
}
.basic_layout h5 {
	font-size: 1.8rem;
	letter-spacing: 0.1em;
}
.basic_layout h6 {
	margin-top: 2.3em;
	letter-spacing: 0.1em;
}

.ttl_lv7 {
	margin-bottom: -0.5em;
	font-weight: bold;
}

.has_parallax:is(.title_set01,.title_set02,.title_set03,.title_set04,.title_set05,.title_set06) h6 {
	padding: 0 0 0 5vw;
	position: relative;
}

.has_parallax:is(.title_set01,.title_set02,.title_set03,.title_set04,.title_set05,.title_set06) h6:before {
	content: "";
	position: absolute;
	background: var(--main-color);
	width: 2.8vw;
	height: 0.8vw;
	top: 0.6em;
	left: 0;
}

/*
****************************************
----------------------------------------
------- title_set01
----------------------------------------
****************************************
*/
.has_parallax.title_set01 h3 + h4 {
	margin-top: 10vw;
}

.has_parallax.title_set01 h3 {
	text-align: center;
	margin-bottom: 12vw;
}

.has_parallax.title_set01 h3:before {
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: -4vw;
	width: 12vw;
	height: 2px;
	background: var(--main-color);
}

.has_parallax.title_set01 h4 {
	margin-top: 10vw;
	background: var(--main-color);
	padding: 2.4vw 2vw 2.6vw 2.6vw;
	color: #fff;
	border-bottom: 4px solid #c3edff;
}

.has_parallax.title_set01 h5 {
	position: relative;
	padding: 0 0 2vw 5vw;
	border-bottom: 1px solid #c3c3c3;
}

.has_parallax.title_set01 h5:before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.4em;
	width: 2.8vw;
	height: 2.8vw;
	border-radius: 50%;
	border: 0.8vw solid var(--main-color);
}


/*
****************************************
----------------------------------------
------- title_set02
----------------------------------------
****************************************
*/
.has_parallax.title_set02 h3 + h4 {
	margin-top: 10vw;
}

.has_parallax.title_set02 h3 {
	position: relative;
    margin-top: 11vw;
    padding: 2vw 2vw 3vw;
    margin-bottom: 8vw;
	background: var(--main-color);
	text-align: center;
	color: #fff;
}

.has_parallax.title_set02 h3:before {
	content: "";
	display: block;
	position: absolute;
	bottom: 1vw;
	left: 0;
	width: 100%;
	height: 2px;
	background-image: linear-gradient(
		to right,
		#fff 40%,
		rgba(255, 255, 255, 0) 0%
	);
	background-position: bottom;
	background-size: 5px 2px;
	background-repeat: repeat-x;
}

.has_parallax.title_set02 h4 {
	margin-top: 8vw;
	padding: 2vw 0 2vw 0;
	position: relative;
	border-top: 3px solid var(--main-color);
	border-bottom: 1px solid #c3c3c3;
}

.has_parallax.title_set02 h5 {
	position: relative;
	padding: 0 0 0 4.5vw;
	margin-bottom: 5vw;
}

.has_parallax.title_set02 h5:before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.4em;
	width: 2.8vw;
	aspect-ratio: 1/1;
	border-radius: 50%;
	border: 0.8vw solid var(--main-color);
}

/*
****************************************
----------------------------------------
------- title_set03
----------------------------------------
****************************************
*/

.has_parallax.title_set03 h3 {
	position: relative;
	background: #abcddd;
	padding: 3vw 2vw 3.3vw 5vw;
	font-size: 2.1rem;
}

.has_parallax.title_set03 h3:before {
	content: "";
	height: 100%;
	width: 6px;
	position: absolute;
	left: 0;
	top: 0;
	background: var(--main-color);
}

.has_parallax.title_set03 h4 {
	padding: 0 0 1.5vw;
}

.has_parallax.title_set03 h4:before,
.has_parallax.title_set03 h4:after {
	position: absolute;
	bottom: -4px;
	left: 0;
	content: "";
	height: 4px;
}

.has_parallax.title_set03 h4:before {
	z-index: 2;
	width: 7%;
	background: var(--main-color);
}

.has_parallax.title_set03 h4:after {
	width: 100%;
	--color: #c3c3c3;
	background: -webkit-repeating-linear-gradient(
		-45deg,
		var(--color),
		var(--color) 10%,
		#fff 10%,
		#fff 30%,
		var(--color) 30%,
		var(--color) 70%,
		#fff 70%,
		#fff 90%,
		var(--color) 90%,
		var(--color) 100%
	);
	background: repeating-linear-gradient(
		-45deg,
		var(--color),
		var(--color) 10%,
		#fff 10%,
		#fff 30%,
		var(--color) 30%,
		var(--color) 70%,
		#fff 70%,
		#fff 90%,
		var(--color) 90%,
		var(--color) 100%
	);
	background-size: 6px 4px;
}

.has_parallax.title_set03 h5 {
	margin-top: 10vw;
	padding: 0 0 1.7vw;
	border-bottom: 1px solid var(--main-color);
}


/*
****************************************
----------------------------------------
------- title_set04
----------------------------------------
****************************************
*/
.has_parallax.title_set04 h4 + h5 {
	margin-top: 8vw;
}

.has_parallax.title_set04 h3 {
	position: relative;
	background: #abcddd;
	padding: calc(3vw + 3px) 3vw 3vw 3vw;
	text-align: center;
}

.has_parallax.title_set04 h3:before {
	content: "";
	height: 3px;
	width: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: var(--main-color);
}

.has_parallax.title_set04 h4 {
	padding: 0 0 2vw;
}

.has_parallax.title_set04 h4:before,
.has_parallax.title_set04 h4:after {
	position: absolute;
	bottom: -2px;
	left: 0;
	content: "";
	height: 2px;
}

.has_parallax.title_set04 h4:before {
	z-index: 2;
	width: 12%;
	background: var(--main-color);
}

.has_parallax.title_set04 h4:after {
	width: 100%;
	background: #abcddd;
}

.has_parallax.title_set04 h5 {
	position: relative;
	background: #f6f6f6;
	margin-top: 8vw;
	padding: 2vw 2vw 2vw 5vw;
}

.has_parallax.title_set04 h5:before {
	content: "";
	height: 100%;
	width: 5px;
	position: absolute;
	left: 0;
	top: 0;
	background: var(--main-color);
}


/*
****************************************
----------------------------------------
------- title_set05
----------------------------------------
****************************************
*/

.has_parallax.title_set05 h3 {
	padding: 2.4vw 3vw 2.4vw 3vw;
	margin-bottom: 8vw;
	border-radius: 3px;
	box-shadow: 0 0 45px var(--main-color-light) inset;
	background: var(--main-color);
	color: #fff;
}

.has_parallax.title_set05 h3:before,
.has_parallax.title_set05 h3:after {
	content: "";
	display: block;
	width: 100%;
	position: absolute;
	border-top: 1px dashed #fff;
}

.has_parallax.title_set05 h3:before {
	top: 3px;
	left: 0;
}

.has_parallax.title_set05 h3:after {
	bottom: 3px;
	left: 0;
}

.has_parallax.title_set05 h4 {
	padding: 0vw 0 2vw 6vw;
	border-bottom: 1px solid var(--main-color);
	color: var(--main-color);
}

.has_parallax.title_set05 h4:before,
.has_parallax.title_set05 h4:after {
	background: var(--main-color);
	opacity: 0.7;
	position: absolute;
	content: "";
	border-radius: 50%;
}

.has_parallax.title_set05 h4:before {
	z-index: 2;
	top: 0.8vw;
	left: 0;
	width: 2.8vw;
aspect-ratio: 1/1;
}

.has_parallax.title_set05 h4:after {
	background: var(--main-color-light);
	opacity: 0.7;
	top: 3.7vw;
	left: 2.4vw;
	width: 1.6vw;
	aspect-ratio: 1/1;
}

.has_parallax.title_set05 h5 {
	padding: 0vw 0 2vw 4vw;
}

.has_parallax.title_set05 h5:after {
	background:  var(--main-color-light);
	opacity: 0.7;
	top: 2.1vw;
	left: 0.4vw;
	width: 2vw;
aspect-ratio: 1/1;
	position: absolute;
	content: "";
	border-radius: 50%;
}

.has_parallax.title_set05 h5:before {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 2px;
	background-image: linear-gradient(
		to right,
		var(--main-color) 40%,
		rgba(255, 255, 255, 0) 0%
	);
	background-position: bottom;
	background-size: 5px 2px;
	background-repeat: repeat-x;
}

/*
****************************************
----------------------------------------
------- title_set06
----------------------------------------
****************************************
*/
.has_parallax.title_set06 h4 + h5 {
	margin-top: 8vw;
}

.has_parallax.title_set06 h3 {
	padding: 0 0 2vw;
}

.has_parallax.title_set06 h3:before,
.has_parallax.title_set06 h3:after {
	position: absolute;
	bottom: -2px;
	left: 0;
	content: "";
	height: 2px;
}

.has_parallax.title_set06 h3:before {
	z-index: 2;
	width: 7%;
	background: var(--main-color);
}

.has_parallax.title_set06 h3:after {
	width: 100%;
	background: var(--main-color-middle);
}

.has_parallax.title_set06 h4 {
	padding: 0vw 0 1.6vw;
	border-bottom: 1px solid var(--main-color);
}

.has_parallax.title_set06 h5 {
	position: relative;
	padding: 0.6vw 0 0.6vw 5vw;
}

.has_parallax.title_set06 h5:before {
	content: "";
	height: 100%;
	width: 5px;
	position: absolute;
	left: 0;
	top: 0;
	background: var(--main-color);
}


/*______________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
col
________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
*/
.m_col {
	display: flex;
	--gap-col: 5vw;
	--gap-row: 5vw;
	--col: 1;
	flex-wrap: wrap;
	gap: var(--gap-row) var(--gap-col);
}

.m_col02_sp {
	--col: 2;
}

.m_col_mbl {
	--gap-row: 8vw;
}

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

.m_col_ttl {
	font-size: 1.8rem;
	font-weight: 500;
	color: var(--main-color);
	letter-spacing: 0.1em;
}

.m_col_mbl .catch_copy {
	margin-top: 3vw;
	margin-bottom: 0;
	font-size: 1.8rem;
}

.m_col_mbl .catch_copy + p {
	margin-top: 2vw;
}

/*
****************************************
----------------------------------------
------- mod_flow_col
----------------------------------------
****************************************
*/
.mod_flow_col {
	display: flex;
	justify-content: space-between;
	--gap-col: 8vw;
	--gap-row: 8vw;
	--triangle-size: 3vw;
	--col: 2;
	
	display: flex;
	flex-wrap: wrap;
	gap: var(--gap-row) var(--gap-col);
}
.mod_flow_col .flow_box {
	width: calc(100% / var(--col) - var(--gap-col) * (var(--col) - 1) / var(--col));
	position: relative;
	margin-top: 0;
}

.mod_flow_col .flow_box:first-of-type p:first-of-type {
	position: relative
}

.mod_flow_col .flow_box:first-of-type p:first-of-type:before {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: var(--triangle-size) 0 var(--triangle-size) var(--triangle-size);
	border-color: transparent transparent transparent var(--main-color);
	position: absolute;
	top: calc(50%);
	right: calc(var(--gap-col) / 2 * -1);
	
	transform: translate(50%, -50%);
}


/*
****************************************
----------------------------------------
------- news_box
----------------------------------------
****************************************
*/
.news_box li {
	border-top: 1px solid;
	border-color: #c3c3c3;
}

.news_box li:last-of-type {
	border-bottom: 1px solid;
	border-color: #c3c3c3;
}

.news_box li a:hover {
	background: none;
}


/*予約プラグイン用*/
.solidpage .monthly-calendar {
	margin-top: 15px;
}

.solidpage .monthly-calendar td {
	padding: 6px 6px;
	border: 1px solid #cfcfcf;
}

.solidpage .monthly-calendar caption {
	font-size: 1.6rem;
}

.solidpage .day-calendar table {
	width: 100%;
}

.solidpage .day-calendar th,
.day-calendar td {
	font-size: 1.6rem;
	padding: 5px;
	line-height: 1.7;
}

.solidpage .monthly-calendar th:first-of-type {
	width: auto;
}

.solidpage .day-calendar h3 {
	display: none;
}

.solidpage .booking-timelink {
	text-align: center;
}

.solidpage .calendar-mark {
	text-align: center;
}

.solidpage .monthly-calendar table {
	width: 100%;
}

.solidpage .monthly-prev-next {
	margin-top: 15px;
}

.solidpage .monthly-next {
	margin-right: 0;
}

/*予約詳細*/

.solidpage #booking-reservation-fieldset table tr:nth-of-type(2) {
	display: none;
}

.solidpage .content-form #booking-reservation-fieldset th,
.solidpage .content-form #booking-reservation-fieldset td {
	border-bottom: none;
}

.solidpage #booking-confirm-fieldset table tr:nth-of-type(2) {
	display: none;
}

.solidpage .content-form th,
.solidpage .content-form td {
	font-size: 1.7rem;
	border-right: none;
	padding: 10px 2px;
}

.solidpage .content-form th {
	text-align: left;
	width: 150px;
	vertical-align: middle;
}

.solidpage .content-form tr:last-of-type th,
.solidpage .content-form tr:last-of-type td {
	border-bottom: none;
}

.solidpage .content-form table {
	border: none;
	border-collapse: separate;
	border-spacing: 0;
	margin: 0 0 5px 0;
	width: 100%;
}

.solidpage .content-form legend {
	font-size: 1.8rem;
	line-height: 1;
	font-weight: normal;
}

.solidpage .content-form input,
.solidpage .content-form textarea {
	font-size: 1.4rem;
	margin-bottom: 0;
	padding: 3px 5px;
	border: 1px solid #dddddd;
}

.solidpage .content-form fieldset {
	border: 1px solid var(--main-color);
	width: 100%;
	padding: 10px 10px 0 10px;
}

.solidpage #action-button button {
	font-size: 1.6rem;
	background: var(--main-color);
	color: #fff;
	padding: 12px 60px;
	cursor: pointer;
	transition: 0.5s;
	margin-top: 20px;
}

.solidpage #action-button button:hover {
	opacity: 0.7;
}

.solidpage #booking-confirm-fieldset td[colspan="2"] {
	display: none;
}

.solidpage .yoyaku_text {
	margin-top: 50px;
	font-size: 2rem;
}

/*
****************************************
----------------------------------------
------- wp-pagenavi
----------------------------------------
****************************************
*/
.wp-pagenavi {
	margin: 8vw auto 0;
	clear: both;
	width: 60vw;
	position: relative;
	display: flex;
}

.wp-pagenavi :is(a, span) {
	padding: 2vw 3.8vw;
	border-radius: 3px;
	text-decoration: none;
	font-size: 1.5rem;
}

.wp-pagenavi .page,
.wp-pagenavi .current,
.wp-pagenavi .extend,
.wp-pagenavi .first,
.wp-pagenavi .last {
	display: none;
}

.wp-pagenavi .pages {
	padding: 0;
	margin: 0;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}

.wp-pagenavi .nextpostslink,
.wp-pagenavi .previouspostslink,
.wp-pagenavi a.page {
	background: #fff;
	color: #4f4f4f;
	border: 1px solid var(--main-color);
}

.wp-pagenavi .nextpostslink {
	margin-left: auto;
}


/*****************************
------------------------------
パンくず
------------------------------
*****************************/

.breadcrumbs {
	margin-bottom: 4vw;
	margin-top: 3vw;
}

.singlepage .breadcrumbs {
	margin-bottom: 15px;
}

.breadcrumbs + .post-meta {
	margin-top: 0;
}

.breadcrumbs a {
	text-decoration: underline;
}

.breadcrumbs span {
	font-size: 12px;
	font-size: 1.2rem;
}

.breadcrumbs > span {
	padding-right: 4vw;
	display: inline-block;
	position: relative;
}

.breadcrumbs > span:before {
	right: 0.3vw;
	top: calc(50% + 1px);
	margin-top: -0.2vw;
	margin-right: 1.4vw;
	width: 1.2vw;
	aspect-ratio: 1/1;
	transform: translateY(-50%) rotate(45deg);
	position: absolute;
	content: "";
	border-width: 1px 1px 0 0;
	border-style: solid;
}

.breadcrumbs > span:last-of-type {
	padding-right: 0;
}

.breadcrumbs > span:last-of-type:before {
	display: none;
}

.solidpage img {
	border-radius: 5px;
}

/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
サイトマップ
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.menu-sitemap-container {
	margin-top: 40px;
}
.menu-sitemap-container > ul {
	gap: 0 !important;
}

.menu-sitemap-container > ul > li > a {
	width: 100%;
	display: block;
	border: 1px solid var(--main-color);
	text-decoration: none;
	padding: 2vw 3vw 2.5vw;
}
.menu-sitemap-container > ul > li:before {
	display: none !important;
}

.menu-sitemap-container > ul > li {
	padding-left: 0 !important;
}

.menu-sitemap-container > ul > li + li {
	margin-top: 4vw;
}

.menu-sitemap-container > ul > li > a br {
	display: none !important;
}
/*****************************
------------------------------
contactForm
------------------------------
*****************************/

select {
	line-height: 1.7;
	display: block;
	border: 1px solid #a9a9a9;
	padding: 5px;
}


/*****************************
------------------------------
m_form
------------------------------
*****************************/
.m_form {
	border-top: 1px solid #ccc;
	margin: 6vw 0;
	padding: 8vw 0 0;
}

.m_form input[type="radio"],
.m_form input[type="checkbox"] {
	top: 0.06em;
	position: relative;
	vertical-align: baseline;
}

.m_form input[type="text"],
.m_form input[type="number"],
.m_form textarea {
	-webkit-appearance: none;
}

.m_form input[type="number"] {
	width: 90px;
}

.m_form input,
.m_form textarea {
	padding: 5px;
	width: 100%;
	font-size: 16px;
	border: 1px solid #a9a9a9;
}

.m_form input[type="radio"],
.m_form input[type="checkbox"] {
	width: auto;
}


.m_form dl {
	overflow: hidden;
}

.m_form dl + dl {
	margin-top: 5vw;
}

.m_form dt {
	padding: 5px 10px 5px 15px;
	position: relative;
	vertical-align: middle;
	margin-bottom: 1.5vw;
}

.m_form dt:before {
	background: var(--main-color);
	content: "";
	position: absolute;
	left: 0;
	display: block;
	top: 50%;
	
	transform: translateY(-50%);
	width: 4px;
	height: 60%;
}

.m_form dd:has(.mwform-radio-field, .mwform-checkbox-field) {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	gap: 2vw;
}

:is(.mwform-radio-field, .mwform-checkbox-field) {
	margin: 0 !important;
}

:is(.mwform-checkbox-field, .mwform-radio-field) label input,
:is(.mwform-checkbox-field, .mwform-radio-field) label {
	cursor: pointer;
}

.m_form .must {
	color: #d03333;
	font-size: 1.2rem;
	vertical-align: middle;
	padding-left: 7px;
}

.m_form .mw_submit {
	display: none;
}



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

.m_form .m_form_mini input {
	width: 4em;
	margin-right: 0.5em;
}

.m_form_row_sp,
.m_form_row {
	display: flex;
	align-items: center;
}

.m_form_col {
	margin-right: 0.5em;
	display: flex;
	align-items: center;
}

.m_form_col em {
	margin-left: 0.5em;
}

.m_form .m_form_col input {
	width: auto;
}

.m_form_hyphen {
	margin-right: 0.5em;
}

.m_form_row + .m_form_row {
	margin-top: 0.75em;
}

.form_hosoku {
	font-size: 85%;
	display: block;
}


.horizontal-item {
	display: block;
}

.m_form_row_sp {
	width: 100%;
}

.m_form_row {
	flex-wrap: wrap;
	gap: 2.2vw;
}

body .ui-datepicker {
	width: 290px;
}

body .ui-datepicker .ui-datepicker-header {
	display: flex;
	justify-content: center;
}

body .ui-datepicker .ui-datepicker-title {
	display: flex;
}

body .ui-datepicker .ui-datepicker-year {
	margin-right: 0.5em !important;
}

body .ui-datepicker .ui-datepicker-month {
	margin-left: 0.7em !important;
}

:root .ui-datepicker .ui-datepicker-title select {
	padding: 0;
	font-size: 16px;
}
:root .ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year {
	width: auto;
}
.u_contact_tel {
	background: var(--main-color-super-light);
	text-align: center;
	padding: 2em 0;
	font-size: 2.4rem;
	letter-spacing: 0.07em;
}
.mw_wp_form #toc_container {
	display: none !important;
}
/*++++++++++++++++++++++++++++
確認画面
++++++++++++++++++++++++++++*/
.mw_wp_form_confirm .mw_confirm {
	display: none;
}
.mw_wp_form_confirm .mw_submit {
	display: block;
}
.mw_wp_form_confirm .example {
	display: none;
}
.mw_wp_form_confirm .m_form_confirm_none {
	display: none !important;
}
.mw_wp_form_complete .m_form_complete_none {
	display: none !important;
}
.mw_wp_form .formbtn {
	display: flex;
	position: relative;
	margin: 20px 0 0;
	justify-content: center;
	gap: 4vw;
}
.m_form input[type="button"] {
	position: absolute;
	top: 0;
	left: 0;
}

.m_form input[type="submit"],
.m_form input[type="button"] {
	max-width: 50%;
	flex: 1;
	height: auto;
    font-size: 2rem;
}
.m_form .mw_btn {
	background: var(--main-color);
	color: #fff;
	border: 0;
}
.m_form .mw_back {
	background: #fff;
	border: 1px solid var(--main-color);
	color: var(--main-color);
}
.mw_wp_form_confirm .m_form_beta {
	width: 100% !important;
	margin: 0 !important;
}

.mw_wp_form_confirm dd {
	padding: 5px 10px 5px 15px;
}

.mw_repactcha_box:has(.error):after {
	content: 'エラーが発生しました、もう一度ボタンを押してください。';
display: block;
position: relative;
z-index: 1;
		color: #d03333;
}

.mw_repactcha_box .error {
	display: none !important;
}

/*****************************
------------------------------
mod_l_square
------------------------------
*****************************/
.square_ttl span {
	font-size: 1.4rem;
	color: #ced0de;
}

/*****************************
------------------------------
add css
------------------------------
*****************************/

.mod_f_bnr p + p {
	margin-top: 1em;
}

.sp_slider.full {
	width: 200%;
	margin-left: -50%;
}

.facebook_box {
	width: 100%;
	max-width: 500px;
}

.facebook_box {
	max-width: 500px;
	margin: 0 auto;
}

.youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}

.youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}

.policy_under {
	-webkit-box-shadow: 0 1px 5px 1px rgba(0, 0, 0, 0.1);
	-moz-box-shadow: 0 1px 5px 1px rgba(0, 0, 0, 0.1);
	box-shadow: 0 1px 5px 1px rgba(0, 0, 0, 0.1);
}

.post_img_box img {
	border-radius: 4px;
}

/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
スライドショー
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.js_dispnone_start {
	display: none;
}
.slick-track img:focus {
	outline: none;
}

.slick_imgbox {
	display: none;
}

.slick-slider .slick_imgbox {
	display: block;
}

.slick .slickimg_first {
	display: block;
}

.slick-slide:focus {
	outline: none;
}

.slick_wrap_pc,
.slick_wrap_sp {
	position: relative;
}

.slick_txt {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 11;
	width: 100%;
}

/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
サイドナビ
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.fixed_gnav {
	position: fixed;
	z-index: 1200;
	width: 100%;
	top: 0;
	left: 0;
}

.fixed_gnav_in {
	width: 50px;
	height: 100vh;
	background: var(--main-color);
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 960;
	padding-top: 60px;
}
.fixed_gnav_in {
	display: none;
}
.fixed_gnav:before {
	display: none;
}

.side_nav_wrap {
	position: absolute;
	top: 0;
	right: 0;
	overflow-y: auto;
	background: rgba(255, 255, 255, 0.9);
	width: 86%;
	padding: 40px 5vw 130px;
	height: 100vh;
	transition: 0.9s transform ease;
	transform: translateX(100%);
	-webkit-overflow-scrolling: touch;
	z-index: 950;
}

.js_side_open .side_nav_wrap {
	transform: translateX(0);
	box-shadow: 0 1px 5px 7px rgba(0, 0, 0, 0.07);
}

.fixed_gnav_logo {
	display: none;
}

.side_scroll {
	position: relative;
	bottom: 0;
	right: 0;
	z-index: 970;
	display: none;
}

.side_scroll a {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	padding: 0 15px;
}

.side_scroll .side_scroll_down,
.side_scroll .side_scroll_up {
	width: 100%;
}

.side_scroll .side_scroll_item {
	display: block;
	order: 1;
	margin-left: auto;
	margin-right: auto;
}

.side_scroll .s_up {
	opacity: 0;
	transition: 0.5s;
	position: relative;
	z-index: 9;
}

.side_scroll .s_down {
	transition: 0.5s;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 10;
	width: 100%;
}

.js_scroll_mv_over .s_down {
	opacity: 0;
}

.js_scroll_mv_over .s_up {
	display: flex;
	opacity: 1;
	z-index: 11;
}

.js_scroll_mv_over .side_scroll_up {
	display: block;
}

.js_scroll_mv_over .side_scroll_text {
	margin-top: 2rem;
	margin-bottom: 0;
	order: 2;
}

#under_page .fixed_gnav_logo,
#under_page .side_scroll {
	display: none;
}
.hm_txt {
	color: var(--main-color);
}

.hamburger {
	--icon-color: #fff;
	--icon-height: 2px;
	position: fixed;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	order: 2;
	cursor: pointer;
	z-index: 1250;
	top: auto;
	right: 0;
	bottom: 0;
	background: var(--main-color);
	width: 11.25vw;
	aspect-ratio: 1/1;
}

.hamburger_txt {
	font-family: var(--font-en);
	color: #fff;
	text-align: center;
	margin-top: 0.6em;
	line-height: 1;
	position: relative;
	width: 100%;
	font-size: 1.4rem;
}

.hamburger_txt span {
	width: 100%;
	transition: 0.3s;
}

.hamburger_txt .hamburger_txt_off {
	display: block;
}

.hamburger_txt .hamburger_txt_on {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
}

.js_side_open .hamburger_txt .hamburger_txt_off {
	opacity: 0;
}

.js_side_open .hamburger_txt .hamburger_txt_on {
	opacity: 1;
}

.hamburger_in {
	position: relative;
	width: 4.8vw;
	height: 3.7vw;
}

.hamburger a {
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
	font-size: 1.8rem;
}

.hamburger a:before,
.hamburger a:after {
	position: absolute;
	content: "";
	width: 100%;
	height: var(--icon-height);
	background: var(--icon-color);
	transition: 0.3s ease;
}

.hamburger a:after {
	bottom: 0;
	top: auto;
}

.hamburger a span:before {
	position: absolute;
	content: "";
	width: 100%;
	height: 2px;
	background:  var(--icon-color);
	transition: 0.3s ease;
	top: 98%;
	top: calc(50% - 1px);
}

.js_side_open .hamburger a:before {
	transform: rotate(-45deg);
	top: calc(50% - var(--icon-height) / 2);
}

.js_side_open .hamburger a:after {
	transform: rotate(45deg);
	top: calc(50% - var(--icon-height) / 2);
	bottom: auto;
}

.js_side_open .hamburger a span:before {
	opacity: 0 !important;
}


.f_site_nav,
.f_site_nav a {
	font-size: 1.3rem;
	letter-spacing: 0.1em;
	text-decoration: none;
}

.side_nav dt {
	font-size: 2.6rem;
	color: var(--main-color);
	letter-spacing: 0.1em;
	padding-bottom: 5px;
	font-family: var(--font-en);
}

.side_nav ul {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
}
.side_nav a {
	text-decoration: none;
	font-size: 1.6rem;
}
.side_nav .dotlist li {
	width: 100%;
}
.side_nav .dotlist  li {
	width: 100%;
}
.side_nav ul ul {
	display: block;
}
.side_nav dd {
	margin-left: 2vw;
}
.side_nav dl + dl {
	margin-top: 2.5vw;
}
/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
メディア投稿
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.under_thum img {
	margin: 0 auto;
}

.singlepage .under_thum {
	margin-bottom: 5rem;
}

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

.blog_article_content {
	width: 100%;
}

.blog_article_body {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
}

.blog_article_img {
	width: 100%;
}
.blog_article_img + .blog_article_content {
	width: 100%;
	margin-top: 15px;
}
.blog_article_img .oft {
	aspect-ratio: 800/530;
}
.blog_article_btn {
	margin-top: 2em;
}

.top_blog_main_ttl {
	text-align: center;
	position: relative;
	padding-bottom: 20px;
	font-size: 4.5rem;
	letter-spacing: 8px;
	margin-bottom: 50px;
}

.top_blog_main_ttl:before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	
	transform: translateX(-50%);
	width: 60px;
	height: 1px;
	background: #666666;
}

.top_blog_articles_block {
	display: flex;
	justify-content: center;
	justify-content: space-between;
}

.top_blog_article_item {
	width: 48%;
}

.top_blog_article_item a {
	position: relative;
	display: block;
	text-decoration: none;
}

.top_blog_category {
	position: absolute;
	top: 0;
	left: 50%;
	
	transform: translateX(-50%);
	border: 1px solid #000;
	background: #fff;
	width: 70%;
	text-align: center;
	font-size: 1.4rem;
	z-index: 10;
}

.top_blog_time {
	font-size: 1.4rem;
	color: #a7a7a7;
	margin-top: 8px;
	letter-spacing: 1px;
}

.top_blog_article_item + .top_blog_article_item {
	margin-left: 2%;
}

.top_blog_ttl {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: 1.6rem;
}

.top_blog_txt {
	margin-top: 0px;
	font-size: 1.4rem;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.top_blog_img {
	position: relative;
	padding-top: 65%;
}

.top_blog_img img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	font-family: "object-fit: cover;";
	-webkit-backface-visibility: visible;
	backface-visibility: visible;
	z-index: 9;
}

.top_blog_img.has_no_img {
	position: relative;
}

.top_blog_img.has_no_img:before {
	border: 1px solid #a7a7a7;
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	z-index: 20;
}

.top_blog_img.has_no_img img {
	z-index: 10;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ギャラリー一覧ページ
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.m_galleries_terms {
	display: flex;
	margin: 0 -10px -20px;
	flex-wrap: wrap;
}

.m_galleries_term {
	width: calc(50% - 10px);
	margin: 0 5px 10px;
}

.m_galleries_term a {
	position: relative;
	display: block;
	width: 100%;
	text-decoration: none;
	text-align: center;
	background: var(--main-color);
	color: #fff;
	padding: 10px 25px;
}

.m_galleries_term a:before {
	content: "";
	position: absolute;
	top: 50%;
	right: 10px;
	width: 8px;
	height: 8px;
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
	transform: translateY(-50%) rotate(45deg);
	-webkit-transform-origin: top;
	transform-origin: top;
}

.m_galleries_wrap {
	margin-top: 50px;
}

.m_galleries_wrap + .m_galleries_wrap {
	margin-top: 40px;
}

.m_galleries_wrap_ttl {
	font-size: 3rem;
	border-bottom: 2px solid var(--main-color);
	margin-bottom: 30px;
}

.m_galleries {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -5px -20px;
}

.m_galleries_item {
	width: calc(50% - 10px);
	margin: 0 5px 20px;
	text-decoration: none;
}

.m_galleries_img {
	padding-top: 110%;
}

.m_galleries_ttl {
	text-align: center;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ギャラリー詳細ページ
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.m_gallery_single_head {
	display: block;
	border-bottom: 2px solid var(--main-color);
	margin-bottom: 30px;
	padding: 0 0 5px;
}
.m_gallery_single_cat {
	display: flex;
	flex-wrap: wrap;
}

.m_gallery_single_cat span {
	padding: 3px 15px;
	font-size: 1.9rem;
	margin-right: 8px;
	margin-bottom: 8px;
	line-height: 1.4;
	color: #fff;
	background: var(--main-color);
	display: inline-block;
}

.m_gallery_single_ttl {
	font-size: 2.8rem;
	flex: 1 1 0%;
	margin-top: 0 !important;
}

.m_gallery_head {
	display: flex;
	justify-content: space-between;
}
.m_gallery_content {
	margin: 25px 0 0;
}
.m_gallery_content,
.m_gallery_img {
	width: 100%;
}

.m_gallery_content .table_underline tr:first-of-type td,
.m_gallery_content .table_underline tr:first-of-type th {
	padding-top: 0;
}

.m_gallery_content_bottom {
	margin-top: 1em;
}

.m_gallery_slider_item .oft {
	padding-top: 110%;
}

.m_gallery_slider .slick-dots {
	display: flex;
	flex-wrap: wrap;
	margin: 10px -5px -10px;
}

.m_gallery_slider .slick-dots li {
	width: calc(20% - 10px);
	margin: 0 5px 10px;
	position: relative;
	padding-top: calc(20% - 10px);
	display: block;
	cursor: pointer;
}

.m_gallery_slider .slick-dots li img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	font-family: "object-fit: cover;";
	-webkit-backface-visibility: visible;
	backface-visibility: visible;
}

.m_gallery_slider .slick-dots li:before {
	display: none;
}

.m_gallery_bottom {
	margin-top: 50px;
}


/*++++++++++++++++++++++++++++
m_post
++++++++++++++++++++++++++++*/

.m_post {
	--gap-col: 30px;
	--gap-row: 7vw;
	--col: 1;
	
	display: flex;
	flex-wrap: wrap;
	gap: var(--gap-row) var(--gap-col);
}

.m_post_item {
	width: calc(100% / var(--col) - var(--gap-col) * (var(--col) - 1) / var(--col));
	text-decoration: none;
	display: flex;
	justify-content: space-between;
}


.m_post_img {
	position: relative;
	width: 34%;
	overflow: hidden;
	aspect-ratio: 1/1;
	padding-top: 0;
}

.m_post_img img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	font-family: "object-fit: cover;";
	-webkit-backface-visibility: visible;
	backface-visibility: visible;
	border-radius: 1rem;
}

.m_post_time {
	color: var(--main-color);
	letter-spacing: 0.16em;
	display: block;
	font-size: 1.3rem;
		font-family: var(--font-en);
	
}

.m_post_tl {
    font-weight: 500;
    line-height: 1.5;
    font-size: 1.6rem;
    letter-spacing: 0.05em;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
		font-family: var(--font-maru);
}

.m_post_detail {
	line-height: 1.5;
	margin-top: 0.6vw;
	font-size: 1.4rem;
	letter-spacing: 0.05em;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;

}
.m_post_body {
	width: 60%;
	padding: 3vw 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.post-date {
	font-size: 1.4rem;
	color: var(--main-font-color);
}

.m_post_cat {
	display: flex;
	flex-wrap: wrap;
	margin-top: 2vw;
	gap: 1vw;
}
.m_post_cat_item {
	font-size: 1.4rem;
	color: #fff;
	background: var(--main-color);
	padding: 0.2em 0.8em;
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
	line-height: 1.4;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
l_faq
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.l_faq_block {
	margin: 0 auto;
}

.l_faq_item + .l_faq_item {
	margin-top: 2vw;
}

.l_faq_head {
	border-bottom: 1px dashed #7f7f7f;
}

.l_faq_item_ttl {
	position: relative;
	letter-spacing: 0.1em;
	font-size: 1.5rem;
	line-height: 2;
	padding: 4vw 10vw 4vw 9vw;
	cursor: pointer;
	transition: 0.3s;
}

.l_faq_item_ttl:before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 0;
	width: 2vw;
	aspect-ratio: 1/1;
	z-index: 1;
	border-bottom: 2px solid var(--main-font-color);
	border-right: 2px solid var(--main-font-color);
	transform: translateY(-50%) rotate(45deg);
	transition: 0.3s;
}

.l_faq_item_ttl em {
	position: absolute;
	top: 3vw;
	left: 0;
	font-size: 2.4rem;
	color: var(--main-font-color);
	letter-spacing: 0.1em;
	line-height: 1.8;
}

.l_faq_body {
	display: none;
}

.l_faq_txt {
	padding: 4vw 0 4vw 0;
	letter-spacing: 0.1em;
}

.on .l_faq_item_ttl:before {
	transform: translateY(-50%) rotate(225deg);
}



/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
m_table_clinic
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.m_table_clinic {
	--col-size: 4.385%;
	--last-padding: 2%;
}

.m_table_clinic :is(td, th) {
	text-align: center;
	vertical-align: middle;
	padding: 1.3vw 0;
	font-size: 1.4rem;
}

.m_table_clinic tr {
}
.m_table_clinic thead {
		border-top: 1px solid #cccccc;
}
.m_table_clinic thead th {
	width: calc(var(--col-size) * 2);
	padding: 2.5vw 0;
	letter-spacing: 0;
}

.m_table_clinic thead th:first-of-type {
	letter-spacing: 0.075em;
	width: calc(100% - var(--col-size) * 16 - var(--last-padding));
	text-align: left;
}

.m_table_clinic thead th:first-of-type,
.m_table_clinic tbody th:first-of-type {
	padding-left:0;
}

.m_table_clinic thead th:last-of-type {
	width: calc(var(--col-size) * 2 + var(--last-padding));
}

.m_table_clinic thead th:last-of-type,
.m_table_clinic tbody td:last-of-type {
}

/* tbody */
.m_table_clinic tbody {
	border-top: 1px solid #cccccc;
	border-bottom: 1px solid #cccccc;
}
.m_table_clinic tbody th {
	letter-spacing: 0.075em;
	text-align: left;
}

.m_table_clinic tbody tr:first-of-type th,
.m_table_clinic tbody tr:first-of-type td {
	padding-top: 4vw;
}
.m_table_clinic tbody tr:last-of-type th,
.m_table_clinic tbody tr:last-of-type td {
	padding-bottom: 4vw;
}
.m_table_hosoku {
	margin-top: 2vw;
	font-size: 1.4rem;
}
/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
fs_block
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.fs_block {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: space-between;
	flex-direction: row-reverse;
}

.fs_block figure {
	width: 38%;
	position: relative;
	overflow: hidden;
}

.fs_block .txt_block {
	width: 58%;
	margin-top: 0;
}

.fs_block figure:before {
	content: "";
	display: block;
	width: 100%;
	position: relative;
}

.fs_block figure img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	font-family: "object-fit: cover;";
	-webkit-backface-visibility: visible;
	backface-visibility: visible;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
m_slider
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.m_slider {
	display: flex;
	width: 100vw;
	max-width: 100%;
	overflow: hidden;
	position: relative;
	z-index: 10;
	margin: 0 auto;
	padding: 0;
}

.m_slider_item:first-child {
	-webkit-animation: loop 300s -150s linear infinite;
	animation: loop 300s -150s linear infinite;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	will-change: transform;
}

.m_slider_item {
	-webkit-animation: loop2 300s linear infinite;
	animation: loop2 300s linear infinite;
	display: flex;
}

.m_slider_item img {
	width: 250vw;
}

@-webkit-keyframes loop {
	0% {
		transform: translateX(100%);
	}

	to {
		transform: translateX(-100%);
	}
}

@keyframes loop {
	0% {
		transform: translateX(100%);
	}

	to {
		transform: translateX(-100%);
	}
}

@-webkit-keyframes loop2 {
	0% {
		transform: translateX(0);
	}

	to {
		transform: translateX(-200%);
	}
}

@keyframes loop2 {
	0% {
		transform: translateX(0);
	}

	to {
		transform: translateX(-200%);
	}
}


/*______________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
footer
________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
*/
.m_footer {
	background: #64b8de;
}

.m_footer_top {
	padding: 12vw 0
}

.m_footer_info {
	background: #fff;
	border-radius: 3vw;
	overflow: hidden;
	padding: 5vw;
}

.m_footer_logo {
	width: 38.7vw;
	display: block;
	margin: 0 auto;
}

.m_footer_tel {
	margin-top: 5vw;
}

.m_footer .m_table_clinic {
	margin-top: 5vw;
}

.m_footer_item {
margin-top:10vw;
}

.m_footer_menu + .m_footer_menu {
	margin-top: 12vw;
}

.m_footer_menu_ttl {
	font-size: 3rem;
	margin-bottom: 2vw;
	color: #fff;
	font-family: var(--font-en);
	font-weight: 500;
	letter-spacing: 0.225em;
	line-height: 1;
	padding-bottom: 3vw;
}

.m_footer_menu_list {
	--list-color: #fff;
}

.m_footer_menu_list li {
	border-top: 1px solid var(--list-color);
	margin-top: 0;
	padding-left: 1.5em;
	margin-bottom: 0;
	position: relative;
}

.m_footer_menu_list li:last-of-type {
	border-bottom: 1px solid var(--list-color);
}

.m_footer_menu_list li:before {
	content: '';
	display: block;
	position: absolute;
	z-index: 1;
	background: none;
	border-top: 0.6vw solid var(--list-color);
	border-right: 0.6vw solid var(--list-color);
	border-radius: 0;
	width: 2vw;
	aspect-ratio: 1/1;
	top: 1.1em;
	left: 0;
	transform: rotate(45deg);
}

.m_footer_menu_list li a {
	text-decoration: none;
	font-size: 1.4rem;
	line-height: 1.8;
	padding: 2.2vw 0 2.2vw;
	color: #fff;
}


.m_footer_menu_list li a br {
	display: none !important;
}

.m_footer_menu_list .sub-menu {
	background: transparent;
	margin: 0;
}

.m_footer_menu_list .sub-menu li {
	padding-left: 1.5em;
	margin-bottom: 0;
}

.m_footer_menu_list .sub-menu li:last-of-type {
	border-bottom: 0;
}

.m_footer_menu_list .sub-menu li:before {
	border: 0;
	background-color: var(--list-color);
	height: 2px;
	top: 50%;
	transform: translateY(-50%) rotate(0deg);
}

.m_footer_bottom {
	padding: 5vw 0 20vw;
	background: #90d5f4;
}

.m_footer_small {
	display: flex;
	align-items: center;
	justify-content: center;
}

.m_footer_small a {
	width: 30vw;
	color: #fff;
}

.m_footer_small small {
	height: 8vw;
	border-left: 1px solid #fff;
	font-size: 1.2rem;
	letter-spacing: 0.25em;
	padding-left: 7vw;
	margin-left: 7vw;
	display: flex;
	align-items: center;
	color: #fff;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
custom_wrap
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.custom_side {
	margin-top: 8vw;
}

.side_ttl {
	font-size: 2rem;
	font-weight: 500;
	border-bottom: 2px solid var(--main-color);
	padding-bottom: 0.5em;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
recaptcha
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.grecaptcha-badge {
	visibility: hidden;
	z-index: 10000;
	bottom: var(--m_fixed-height, 17vw) !important;
}

body:has(.mw_wp_form) .grecaptcha-badge {
	visibility: visible;
}

/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
m_fixed
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.m_fixed {
	display: flex;
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 999;
	background: var(--main-color);
}

.m_fixed_item {
	border-right: 1px solid #fff;
}
.m_fixed_item:last-of-type {
	background: var(--main-color);
	border-right: 0;
}


/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
m_page_links
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.m_page_links {
	--gap-col: 2vw;
	--gap-row: 2vw;
	--col: 2;
	
	display: flex;
	flex-wrap: wrap;
	gap: var(--gap-row) var(--gap-col);
	margin: 0 0 7vw !important;
}

.m_page_links li {
	width: calc(100% / var(--col) - var(--gap-col) * (var(--col) - 1) / var(--col));
	padding: 0 !important;
	margin: 0 !important;
}

.m_page_links li a {
	width: 100%;
	height: 100%;
	display: flex;
	padding: 2.5vw 2.3vw 2.7vw;
	border: 1px solid var(--main-color);
	justify-content: center;
	align-items: center;
	text-align: center;
	text-decoration: none;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.4;
	font-size: 1.4rem;
}

.m_page_links li.cr a {
	background: var(--main-color);
	color: #fff;
}

.m_page_links li::before {
	display: none !important;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
追加
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.interview_position {
    background: #202390;
    color: #fff;
    font-size: 80%;
    width: 10em;
    text-align: center;
    margin-bottom: 1em;
    padding: 0.3em 0px 0.3em 1px;
    border-radius: 50vw;
}