@charset "utf-8";

/*
****************************************
----------------------------------------
------- common
----------------------------------------
****************************************
*/
a:not([href]):hover {
	opacity: 1;
}

a.sa:hover,
a:hover {
	opacity: 0.6;
}

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

body {
	min-width: 1280px;
	overflow-x: auto;
}

body#tinymce {
	min-width: auto;
}

.sp_only {
	display: none !important;
}

.inner {
	padding: 0 50px;
	width: 100%;
	max-width: 1300px;
	margin: 0 auto;
}

.mini_inner {
	max-width: 1000px;
	margin: 0 auto;
}
.under_page_wrap #wrapper {
	padding-top: 125px;
}

.full+.full,
.inner_sp+.full,
.inner+.full {
	margin-top: 60px;
}

.bg_block {
	padding: 90px 0;
	margin: 90px 0;
}

.bg_block+.bg_block {
	margin-top: 0;
}


/*****************************
------------------------------
component
------------------------------
*****************************/
.kakomi {
	border-width: 10px;
	padding: 40px;
}

.beta {
	padding: 40px;
}

.basic_layout .catch {
	margin: 110px 0 70px;
	font-size: 2.7rem;
}

.catch_copy {
	font-size: 2.6rem;
	margin-bottom: 40px;
}

/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
下層MV(パララックスしない)
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.post_ttl .h2box {
	min-height: 280px;

}

.post_ttl .h2box .h2_text {
	padding: 20px;
}

#under .post_ttl .h2box h2 span {
	font-size: 3.1rem;

}

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

.singlepage .alignright {
	float: right;
	max-width: 400px !important;
}

.singlepage .alignleft {
	float: left;
	max-width: 400px !important;
}

/*****************************
------------------------------
list
------------------------------
*****************************/
:is(.list_col02, .list_col03, .list_col04, .list_col05) {
	display: grid;
}

.list_col02 {
	--gap-col: 40px;
	--col: 2;
}

.list_col03 {
	--gap-col: 24px;
	--col: 3;
}

.list_col04 {
	--gap-col: 18px;
	--col: 4;
}

.list_col05 {
	--gap-col: 12px;
	--col: 5;
}

.list_line {
	display: flex;
	gap: 5px 45px;
	flex-wrap: wrap;
}

:where(.basic_layout ul, .dotlist) {
	--gap-row: 5px;
}

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

:where(.basic_layout ul, .dotlist)>li:before {
	top: 13px;
	width: 6px;
}

:where(.basic_layout ul, .dotlist) ul {
	gap: 3px 0;
}

:is(.basic_layout ul, .dotlist) ul {
	margin: 5px 0 4px;
}

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

:where(.basic_layout ul, .dotlist) ul li:before {
	width: 8px;
	height: 2px;
	top: 15px;
}

.checklist li {
	padding-left: 26px;
}

.checklist li:before {
	top: 0.5em;
}

.checklist li:after {
	top: 0.43em;
}

/*****************************
------------------------------
top
------------------------------
*****************************/

/*****************************
------------------------------
under
------------------------------
*****************************/
/*リストを横並びにする*/

#under {
	margin-bottom: 160px;
}

#under .meritbox {
	flex-direction: row;
	gap: 0;
	justify-content: space-between;
}

#under .meritbox>div {
	width: 48%;
}

#under .meritbox>div:nth-of-type(2n) {
	margin-left: 4%;
}

#under .meritbox .meritbox_inner {
	padding: 15px 15px;
}

.flow_next {
	position: relative;
	margin-top: 100px;
}

.flow_next:before {
	top: -60px;
	width: 64px;
}

#under .alignright {
	max-width: 400px;
	float: right;
	margin-left: 20px;
	margin-right: auto;
	padding: 0;
}

#under .alignleft {
	max-width: 400px;
	float: left;
	margin-right: 20px;
	margin-left: auto;
	padding: 0;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
l_faq
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.l_faq_item+.l_faq_item {
	margin-top: 30px;
}

.l_faq_item_ttl {
	font-size: 2rem;
	line-height: 2.3;
	padding: 20px 35px 20px 60px;
}

.l_faq_item_ttl:before {
	width: 10px;
}

.l_faq_item_ttl em {
	top: 13px;
	left: 7px;
	font-size: 3.2rem;
}

.l_faq_txt {
	padding: 30px 35px 25px 60px;
}


/*****************************
------------------------------
パンくず
------------------------------
*****************************/
.breadcrumbs {
	margin-top: 15px;
	margin-bottom: 50px;
}

.breadcrumbs>span {
	padding-right: 20px;
}

.breadcrumbs>span:before {
	right: 8px;
	width: 6px;
	margin: 0;
}

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

/*****************************
------------------------------
qp
------------------------------
*****************************/
.qa_box+.qa_box {
	margin-top: 40px;
	padding-top: 40px;
}

.a_box {
	margin-top: 20px;
}

:is(.a_box, .q_box) {
	padding: 3px 0 0 42px;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
custom_wrap
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.custom_wrap {
	display: flex;
}

.custom_side {
	width: 230px;
	margin-left: 30px;
	margin-top: 0;
}

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

.blog_article_single:first-of-type .blog_article_ttl {
	margin-top: 0;
}

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

/*****************************
------------------------------
wp-pagenavi
------------------------------
*****************************/
.wp-pagenavi {
	margin-top: 60px;
	clear: both;
	text-align: center;
	width: 100%;
	justify-content: center;
	align-items: center;
}

main .wp-pagenavi a,
main .wp-pagenavi span {
	padding: 8px 14px;
	border: none;
	margin: 0 2px;
	white-space: nowrap;
	border-radius: 3px;
	text-align: center;
	text-decoration: none;
	margin-top: 5px;
	font-size: 1.5rem;
}

.wp-pagenavi .page {
	display: block;
}

.wp-pagenavi .current,
.wp-pagenavi .extend,
.wp-pagenavi .pages {
	font-weight: normal;
	line-height: 1.8;
	display: block;
}

.wp-pagenavi .pages {
	padding-left: 0;
	position: relative;
	left: 0;
	top: 0;
	transform: none;
	margin-right: 10px;
}

.wp-pagenavi .last,
.wp-pagenavi .first {
	padding: 7px 15px 9px;
}

.wp-pagenavi .current {
	background: var(--main-color);
	color: #fff;
	border: 1px solid var(--main-color);
}

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

main .wp-pagenavi a:hover,
main .wp-pagenavi .current {
	border-color: var(--main-color);
}

/*
****************************************
----------------------------------------
------- title common
----------------------------------------
****************************************
*/
.has_parallax h3 {
	margin-top: 90px;
	margin-bottom: 50px;
	font-size: 3.2rem;
}

.has_parallax h4 {
	margin-top: 80px;
	margin-bottom: 45px;
	font-size: 2.4rem;
}

.has_parallax h5 {
	margin-top: 55px;
	margin-bottom: 26px;
	font-size: 2.1rem;
}

.has_parallax h6 {
	margin-bottom: 17px;
	font-size: 1.8rem;
}

/*
****************************************
----------------------------------------
------- table
----------------------------------------
****************************************
*/
th,
td {
	padding: 10px 20px;
}

.eigyou01 {
	--th-size: 11%;
	--th-last-size: 11%;
}

.eigyou01 :is(th, td) {
	padding: 10px 5px;
	font-size: 1.6rem;
}

.table_mini td,
.table_mini th {
	font-size: 1.1rem;
}

.table_price_td03 th,
.table_price_td03 td {
	font-size: 1.6rem;
	padding: 10px 20px;
}

.table_border.table_1_2_2 th,
.table_border.table_1_2_2 td {
	font-size: 1.6rem;
	padding: 10px 20px;
}

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

/*++++++++++++++++++++++++++++++++++++++
rowbox
++++++++++++++++++++++++++++++++++++++++
*/
.rowbox {
	overflow: hidden;
	margin-bottom: -10px;
	display: block;
}

.rowbox .imgbox {
	float: right;
	width: 33.4%;
	margin-left: 3%;
	margin-bottom: 10px;
	position: relative;
	z-index: 11;
	max-width: 400px;
}

.rowbox .textbox {
	z-index: 10;
	position: relative;
	margin-bottom: 10px;
}

.rowbox.left .imgbox {
	float: left;
	margin-left: 0;
	margin-right: 3%;
}

.rowbox.not_around .textbox {
	float: left;
	width: 63%;
}

.rowbox.left.not_around .imgbox+.textbox {
	float: right;
	width: 63%;
}

.rowbox_mini_imglb.rowbox.not_around .imgbox {
	float: left;
	margin: 0;
	width: 23%;
}

.rowbox_mini_imglb.rowbox.not_around .textbox {
	float: right;
	width: 74%;
}

/*______________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
col
________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
*/
.col02,
.col03,
.col04,
.m_col {
	--gap-col: 30px;
	--gap-row: 30px;
	--col: 2;
}

.m_col_mbl {
	--gap-row: 60px;
}

.m_col_center {
	justify-content: center;
}

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

:is(.col02, .m_col02) {
	--col: 2;
}

:is(.col03, .m_col03) {
	--col: 3;
}

:is(.col04, .m_col04) {
	--col: 4;
}

:is(.col05, .m_col05) {
	--col: 5;
}

.m_col_reverse {
	flex-direction: row-reverse
}

.m_col_mbl .catch_copy {
	margin-top: 15px;
	font-size: 2.1rem;
}

.m_col_mbl .catch_copy+p {
	margin-top: 10px;
}

/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
fixed_side
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
#fixed_side {
	overflow: hidden;
	position: fixed;
	top: 43%;
	transform: translateY(-50%);
	right: 0;
	width: 84px;
	z-index: 100;
}

#fixed_side a {
	display: block;
}

#fixed_side p {
	background: #fff;
}

/*
****************************************
----------------------------------------
------- 特殊ブロックcommon
----------------------------------------
****************************************
*/



/*
****************************************
----------------------------------------
------- img_bg_block 
----------------------------------------
****************************************
*/

.img_bg_block .inner {
	/* overflow: hidden; */
}

.img_bg_block.img_bg_greeting:before {
	background-position: center top;
}

/*****************************
------------------------------
vertical_img_block
------------------------------
*****************************/
.vertical_img_block {
	display: flex;
	background: #fbf3ec;
}

.vertical_img_box {
	flex: 1 1 0%;
}

.vertical_img_box:nth-of-type(2n) {
	flex-direction: column-reverse;
	display: flex;
	justify-content: space-between;
}

.vertical_icon {
	text-align: center;
}

.vertical_icon img {
	width: 80px;
	display: inline-block;
}

.vertical_detail {
	padding: 60px 30px;
}

.vertical_img {
	position: relative;
	min-height: 0%;
	overflow: hidden;
}

.vertical_img span {
	position: absolute;
	right: -4px;
	bottom: 0;
	color: #fff;
	font-weight: bold;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	display: inline-block;
	padding: 10px 0;
	line-height: 1;
	font-size: 4.8rem;
	letter-spacing: 5px;
	text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.5);
	transform: rotate(180deg);
}

.ie.vertical_img span {
	top: 0px;
	bottom: auto;
}

.vertical_img img {
	width: 100%;
}

.vertical_ttl {
	text-align: center;
	color: var(--main-color);
}

.vertical_yoko .vertical_img span {
	position: absolute;
	right: -4px;
	bottom: -14px;
	color: #fff;
	font-weight: bold;
	-ms-writing-mode: lr-tb;
	writing-mode: horizontal-tb;
	display: inline-block;
	padding: 10px 0;
	line-height: 1;
	font-size: 4.8rem;
	letter-spacing: 5px;
	text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.5);
	transform: rotate(0deg);
}

@media screen and (max-width: 1300px) and (min-width: 1041px) {
	.vertical_yoko .vertical_img span {
		font-size: 3vw;
	}
}




/*
****************************************
----------------------------------------
------- gmap
----------------------------------------
****************************************
*/
.gmap {
	height: 600px;
	overflow: hidden;
}

.gmap+.inner_sp,
.gmap+.full,
.gmap+.inner {
	margin-top: 50px;
}

.gmap_size01 {
	height: 500px;
}

/*
****************************************
----------------------------------------
------- fb
----------------------------------------
****************************************
*/

.fbbox iframe {
	width: 100%;
}

/*
****************************************
----------------------------------------
------- post_single
----------------------------------------
****************************************
*/
.post-meta+h3 {
	margin-top: 15px !important;
}

.post_single_links {
	justify-content: center;
	position: relative;
}

.post_btn_prev {
	position: absolute;
	left: 0;
	top: 0;
}

.post_btn_next {
	position: absolute;
	right: 0;
	top: 0;
}

/*
****************************************
----------------------------------------
------- btn
----------------------------------------
****************************************
*/
.btn_l {
	text-align: left;
}

.btn_r {
	text-align: right;
}

.btn_r_pc {
	text-align: right;
}

.btn {
	min-width: 230px;
	width: fit-content;
}

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

.btn02 {
	padding: 5px 10px;
}

.btn03 {
	padding: 8px 30px 8px 30px;
}

.btn03:before {
	right: 10px;
	border-width: 6px 0 6px 8px;
}

.btn04 {
	padding: 8px 30px 10px 30px;
}

.btn04:before {
	right: 10px;
	width: 8px;
}

.btn04.backbtn:before {
	left: 10px;

}

.post_btn_archive {
	max-width: 230px;
}

.post_btn_mini {
	min-width: auto;
	padding-left: 30px;
	padding-right: 30px;
}

.post_btn_mini.backbtn {
	padding-left: 2em;
	padding-right: 1.8em;
}

.post_btn_archive.backbtn {
	padding: 0.5em 1em 0.5em 1em;
}

.post_single_links .post_btn_mini {
	width: auto;
}

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

.under_page_wrap .btn {
	margin: 0 auto 10px;
}

.under_page_wrap .btn_l .btn {
	margin-left: 0;
}

.under_page_wrap .btn_r .btn {
	margin-right: 0;
}

.under_page_wrap .btn_col02 {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

.under_page_wrap .btn_col02 .btn {
	margin: 0 10px 10px;
}

.under_page_wrap .btn_l.btn_col02 {
	justify-content: flex-start;
}

.under_page_wrap .btn_l.btn_col02 .btn {
	margin: 0 10px 10px 0;
}

/*****************************
------------------------------
news_box
------------------------------
*****************************/
.news_box {
	margin-top: 0;
}

.news_box li {
	padding: 15px 0;
}

/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
サイドナビ
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.hamburger {
	width: 125px;
	top: 0;
	bottom: auto;
}

.hamburger_in {
	width: 50px;
	height: 32px;
}

.fixed_gnav_in {
	display: block;
}

.fixed_gnav:before {
	display: block;
}

.side_nav_wrap {
	width: 100%;
	padding: 60px 0 100px;
}

.side_logo {
	width: 270px;
	margin: 0 auto 30px;
}

.f_site_nav,
.f_site_nav a {
	font-size: 1.6rem;
}

/*****************************
------------------------------
contact
------------------------------
*****************************/

input:-webkit-autofill {
	-webkit-box-shadow: 0 0 0px 1000px #fff inset;
}

textarea:-webkit-autofill {
	border: #000 1px solid;
	-webkit-box-shadow: 0 0 0px 1000px #fff inset;
}

textarea {
	border: #a9a9a9 1px solid;
}

.row_max {
	width: 100% !important;
	margin-bottom: 0 !important;
}

input[type="checkbox"]+span {
	font-size: 1.6rem;
}

/*****************************
------------------------------
m_form
------------------------------
*****************************/
.m_form {
	margin: 30px 0;
	padding: 30px 0 0;
}

.m_form dl {
	display: flex;
	justify-content: space-between;
}

.m_form dl+dl {
	margin-top: 20px;
}

.m_form dt,
.m_form dd {}

.m_form dt {
	width: 27%;
	clear: both;
	padding: 5px 10px 5px 15px;
	position: relative;
	vertical-align: middle;
	margin-bottom: 0;
}

.m_form dt:before {
	height: calc(100% - 10px);
}

.m_form dd {
	width: 70%;
	padding: 0;
}


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


.m_form input[type="submit"]:hover,
.m_form input[type="button"]:hover {
	opacity: 0.7;
}

.m_form input[type="submit"],
.m_form input[type="button"] {
	max-width: 180px;
	height: 50px;
	font-size: 2rem;
	letter-spacing: 5px;
	padding: 5px 0 10px 5px;
	transition: 0.5s;
}

.m_form .formbtn {
	position: relative;
	text-align: center;
	margin-top: 20px;
}

.m_form input[type="button"] {
	display: inline-block;
	margin-right: 40px;
}

.m_form span.must {
	font-size: 1.2rem;
	padding-left: 7px;
	vertical-align: baseline;
}

.m_form div.wpcf7-response-output {
	margin: 0 0 1em;
}

.m_form .ajax-loader {
	display: none;
}

.m_form span.example {
	color: #ccc;
	font-size: 1.2rem;
}

.m_form div.wpcf7-validation-errors {
	border: 1px solid #ea4545;
	background: #ffdce1;
	font-size: 16px;
	font-size: 1.6rem;
}

.m_form span.wpcf7-not-valid-tip {
	color: #ea4545;
}

.row_max {
	width: 100% !important;
}

.row_max {
	margin-bottom: 0 !important;
}

.m_form dd {
	float: right;
}

.m_form dd+dd {
	clear: both;
}

.m_form .formbtn {
	margin-top: 30px;
}


.m_form dd:has(.mwform-radio-field, .mwform-checkbox-field) {
	flex-direction: row;
	gap: 10px 25px;
}


.m_form .must {
	font-size: 1.6rem;
	padding-left: 7px;
}

.m_form_row {
	gap: 20px;
}

.m_form_row_sp {
	width: fit-content;
}

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

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
m_slider
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.m_slider {
	min-width: 1280px;
}
.m_slider_item img {
	width: auto;
}



/*
****************************************
----------------------------------------
------- mod_flow_col
----------------------------------------
****************************************
*/

.mod_flow_col {
	--gap-col: 60px;
	--gap-row: 60px;
	--triangle-size: 25px;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
サイトマップ
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.menu-sitemap-container>ul>li>a {
	padding: 6px 20px 8px;
}

.menu-sitemap-container>ul>li+li {
	margin-top: 20px;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
footer
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.m_footer_top {
	padding: 100px 0;
	background: url(../images/footer_bg.jpg) center / cover no-repeat;
}

.m_footer_block {
	display: flex;
	gap: 60px;
}

.m_footer_info {
	width: 380px;
	border-radius: 30px;
	padding: 50px 30px;
	flex-direction: column;
        display: flex;
        justify-content: center;
}

.m_footer_logo {
	width: 290px;
}

.m_footer_tel {
	width: 100%;
	margin-top: 32px;
}

.m_footer .m_table_clinic {
	margin-top: 40px;
}
.m_footer {
	.m_table_hosoku {
		margin-top: 12px;
	}

	.m_table_clinic {
		--col-size: 4%;
}

	.m_table_clinic :is(td, th) {
		padding: 5px 0;
		font-size: 1.5rem;
	}

	.m_table_clinic {}

	.m_table_clinic thead th:first-of-type,
	.m_table_clinic tbody th:first-of-type {

}

	.m_table_clinic thead th {
		padding: 10px 0;
	}

	.m_table_clinic tbody tr:first-of-type th,
	.m_table_clinic tbody tr:first-of-type td {
    padding-top: 12px;
}

	.m_table_clinic tbody tr:last-of-type th,
	.m_table_clinic tbody tr:last-of-type td {
		    padding-bottom: 18px;
	}
}


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

.m_footer_menus {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	margin-top: 0;
	gap: 20px;
}

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

.m_footer_menu+.m_footer_menu {
	margin-left: 0;
	margin-top: 0;
}

.m_footer_menu_ttl {
	font-size: 2.4rem;
	margin-bottom: 18px;
	border-bottom: 1px solid #fff;
	padding-bottom: 15px;
	padding-top: 2px;
}

.m_footer_menu_list ul {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.m_footer_menu_list .sub-menu {
	gap: 2px;
	margin: 5px 0 10px;
}

.m_footer_menu_list li {
	border: 0;
	padding-left: 1em;
}

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

.m_footer_menu_list li a {
	text-decoration: none;
	font-size: 1.5rem;
	line-height: 1.8;
	padding: 0;
}

.m_footer_menu_list li:before {
	background: var(--main-color);
	top: 15px;
	width: 5px;
}

.m_footer_menu_list ul li:before {
	background: #fff;
	border-radius: 50%;
	border: 0;
}

.m_footer_menu_list li .sub-menu li:before {
	border-radius: 0;
	top: 57%;
	transform: translateY(-50%) rotate(0deg);
	width: 8px;
}

.m_footer_bottom {
	padding: 10px 0 10px;
}

.m_footer_small a {
	width: 150px;
}

.m_footer_small small {
	height: 40px;
	font-size: 1.2rem;
	padding-left: 25px;
	margin-left: 25px;
}

/*
****************************************
----------------------------------------
------- m_post
----------------------------------------
****************************************
*/

.m_post {
	--gap-col: 30px;
	--gap-row: 30px;
	--col: 1;

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

.m_post_col02 {
	--col: 2;
}

.m_post_col03 {
	--col: 3;
}

.m_post_col04 {
	--col: 4;
}

.m_post_time {
	font-size: 1.4rem;
	margin-top: 10px;
	margin-bottom: 5px;
}

.m_post_tl {
	font-size: 1.7rem;
}

.m_post_detail {
	margin-top: 11px;
	font-size: 1.4rem;
}

.m_post_item {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
}

.m_post_img {
	width: 100%;
	aspect-ratio: 10/7;
}

.m_post_body {
	width: 100%;
	padding: 0;
}

.m_post_cat {
	margin-top: 12px;
	gap: 6px;
}

.m_post_cat_item {}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
toc_list
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
#toc_container {
	min-width: 550px;
	padding: 40px;
	margin-bottom: 40px;
	width: fit-content;
}
.toc_title {
	margin-bottom: 10px;
	font-size: 1.8rem;
}

.toc_list ul {
	margin: 2px 0 !important;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
m_table_clinic
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.m_table_clinic :is(td, th) {
	padding: 7px 0;
	font-size: 1.6rem;
}

.m_table_clinic {
    --col-size: 4.585%;
    --last-padding: 2%;
}

.m_table_clinic thead th:first-of-type, .m_table_clinic tbody th:first-of-type {
    /* padding-left: 3.8%; */
}

.m_table_clinic thead th {
	padding: 16px 0;
}

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

.m_table_clinic tbody tr:first-of-type th,
.m_table_clinic tbody tr:first-of-type td {
	padding-top: 20px;
}

.m_table_clinic tbody tr:last-of-type th,
.m_table_clinic tbody tr:last-of-type td {
	padding-bottom: 24px;
}
.m_table_hosoku {
    margin-top: 14px;
    font-size: 1.4rem;
}
/*****************************
------------------------------
title
------------------------------
*****************************/
.has_parallax:is(.title_set01, .title_set02, .title_set03, .title_set04, .title_set05, .title_set06) h6 {
	padding: 0 0 0 30px;
}

.has_parallax:is(.title_set01, .title_set02, .title_set03, .title_set04, .title_set05, .title_set06) h6:before {
	width: 16px;
	height: 2px;
	top: 13px;
}

/*****************************
------------------------------
title_set01
------------------------------
*****************************/
.has_parallax.title_set01 h3+h4 {
	margin-top: 45px;
}

.has_parallax.title_set01 h3 {
	margin-bottom: 80px;
}

.has_parallax.title_set01 h3:before {
	width: 80px;
	bottom: -25px;
}

.has_parallax.title_set01 h4 {
	margin-top: 80px;
	padding: 15px 30px 18px 30px;
}

.has_parallax.title_set01 h5 {
	padding: 0 0 14px 30px;
}

.has_parallax.title_set01 h5:before {
	top: 6px;
	width: 18px;
	height: 18px;
	border-width: 4px;
}


/*****************************
------------------------------
title_set02
------------------------------
*****************************/
.has_parallax.title_set02 h3+h4 {
	margin-top: 45px;
}

.has_parallax.title_set02 h3 {
	margin-top: 100px;
	padding: 20px 30px 25px;
	margin-bottom: 50px;
}

.has_parallax.title_set02 h3:before {
	bottom: 5px;
}

.has_parallax.title_set02 h4 {
	margin-top: 80px;
	padding: 15px 0 15px 0;
}

.has_parallax.title_set02 h5 {
	padding: 0 0 0 30px;
	margin-bottom: 26px;
}

.has_parallax.title_set02 h5:before {
	top: 7px;
	width: 18px;
	height: 18px;
	border-width: 4px;
}

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

.has_parallax.title_set03 h3 {
	padding: 20px 30px 22px;
	font-size: 2.7rem;
}

.has_parallax.title_set03 h3:before {
	width: 10px;
}

.has_parallax.title_set03 h4 {
	padding: 0 0 15px;
}


.has_parallax.title_set03 h5 {
	padding: 0 0 10px;
	margin-top: 50px;
}



/*****************************
------------------------------
title_set04
------------------------------
*****************************/

.has_parallax.title_set04 h3 {
	padding: 20px 30px;
}

.has_parallax.title_set04 h4 {
	padding: 0 0 15px;
}

.has_parallax.title_set04 h4:before {
	width: 7%;
}

.has_parallax.title_set04 h5 {
	margin-top: 55px;
	padding: 8px 30px;
}

.has_parallax.title_set04 h3+h4 {
	margin-top: 30px;
}

.has_parallax.title_set04 h4+h5 {
	margin-top: 45px;
}

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


.has_parallax.title_set05 h3 {
	padding: 15px 30px;
	margin-bottom: 50px;
}

.has_parallax.title_set05 h4 {
	padding: 0 0 14px 37px;
}

.has_parallax.title_set05 h4:before {
	top: 2px;
	width: 18px;
}

.has_parallax.title_set05 h4:after {
	top: 22px;
	left: 15px;
	width: 10px;
}

.has_parallax.title_set05 h5 {
	padding: 0 0 10px 30px;
}

.has_parallax.title_set05 h5:after {
	top: 9px;
	left: 3px;
	width: 13px;
}


/*****************************
------------------------------
title_set06
------------------------------
*****************************/
.has_parallax.title_set06 h3 {
	padding: 0 0 15px;
}

.has_parallax.title_set06 h4+h5 {
	margin-top: 45px;
}

.has_parallax.title_set06 h4 {
	padding: 0px 0 14px;
}

.has_parallax.title_set06 h5 {
	padding: 8px 0 8px 30px;

}

/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
サイドナビ
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.side_nav_wrap {
	position: fixed;
	top: 0;
	height: 100%;
	padding: 140px 50px 50px;
	width: 650px;
}


.fixed_gnav_logo {
	position: relative;
	display: block;
	width: 100%;
	z-index: 970;
}

.fixed_gnav_logo_item {
	margin: 0 auto;
	display: block;
}

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

.side_scroll {
	position: absolute;
	bottom: 0;
	left: 0;
	display: block;
	width: 50px;
}

.side_scroll a {
	padding: 0;
}

.js_scroll_mv_over .side_scroll {
	display: block;
	top: auto;
	bottom: 20px;
}

.side_nav .dotlist {}

.side_nav .dotlist li {
	width: 47%;
}

.side_nav dd {
	margin-left: 15px;
}

.side_nav dl+dl {
	margin-top: 30px;
}

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

.m_galleries_wrap {
	margin-top: 100px;
}

.m_galleries_wrap_ttl {
	margin-bottom: 50px;
}

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

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

.m_galleries {
	margin: 0 -10px -40px;
}

.m_galleries_item {
	width: calc(25% - 20px);
	margin: 0 10px 40px;
}

.m_galleries_item .m_galleries_img {
	overflow: hidden;
}

.m_galleries_item .m_galleries_img img {
	transition: 0.5s;
}

.m_galleries_item:hover {
	opacity: 1;
}

.m_galleries_item:hover .m_galleries_img img {
	opacity: 1;
	transform: scale(1.2);
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ギャラリー詳細ページ
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.m_gallery_img {
	width: calc(50% - 20px);
}

.m_gallery_content {
	width: calc(50% - 20px);
	margin: 0;
}

.m_gallery_single_cat span {
	margin-right: 10px;
	margin-bottom: 10px;
}

.m_gallery_slider .slick-dots li {
	transition: 0.3s;
}

.m_gallery_slider .slick-dots li:hover {
	opacity: 0.5;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
特殊FLOW
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.flow_arrow_box {
	padding: 50px;

}

.flow_arrow_box .tl_block {
	margin-bottom: 40px;

}

.flow_arrow_box+.flow_arrow_box {
	margin-top: 70px;
}

.flow_arrow_box+.flow_arrow_box:before {
	width: 100px;
	top: -70px;
}

.flow_arrow_box .tl_block .step {
	width: 90px;
	margin-right: 30px;
}

.flow_arrow_box .tl {
	font-size: 2.7rem !important;
}

.flow_arrow_box .tl_block .step p {
	font-size: 5rem;
}

/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
メディア投稿
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.blog_article_img {
	width: 27%;
}

.blog_article_img+.blog_article_content {
	width: 70%;
	margin-top: 0;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
recaptcha
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.grecaptcha-badge {
	left: 6px !important;
	width: 70px !important;
	bottom: 7px !important;
}

.grecaptcha-badge:hover {
	left: 6px !important;
	width: 256px !important;
}



/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
m_page_links
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.m_page_links {
	--gap-col: 15px;
	--gap-row: 15px;
	margin: 0 0 50px !important;
	justify-content: center;
}

.m_page_links li {
	width: auto;
}

.m_page_links li a {
	padding: 11px 18px 13px;
	font-size: 1.6rem;
}