@charset "utf-8";

:root {}

.under_page_wrap #wrapper {
	padding-top: 52px;
}

/*共通*/
.img_bg_block {
	padding: 12vw 0;
}

/*その他の追加変更 ここから*/
.m_ttl01 {
	margin-bottom: 8vw;
	padding-bottom: 5vw;
}

.m_ttl01:before {
	width: 10vw;
	height: 2px;
}

.m_ttl01 span {
	font-size: 6.3rem;
}

.m_ttl01 em {
	font-size: 2.8rem;
	--shadow: drop-shadow(0px 0px 3px rgba(255, 255, 255, 0.4));
	margin-top: -6.3vw;
}

.btn_wrap {
	margin-top: 8vw;
}


.btn01 {
	--btn-height: 13vw;
	--btn-width: 380px;
	--icon-right: 3vw;
	--icon-size: 1.7vw;
	font-size: 1.8rem;
	min-width: auto;
	padding: 2vw 8vw;
	margin: 0 auto;
	width: 100%;
}

.btn01+.btn01 {
	margin-top: 3vw;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
m_mv
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.m_mv {
	padding: 5vw 5vw 0;
	margin-bottom: 14vw;
}

.m_mv img {
	width: 100%;
}

.m_mv_logo {
	width: 32vw;
	top: 8vw;
	left: 8vw;
}

.m_mv_main {
	height: calc(100vh - 28.4vw);
}



.m_mv_txt {
	bottom: 0;
	width: 100%;
}

.m_mv_btn {
	position: relative;
	bottom: 0;
	right: 0;
	margin: 6vw auto 0;
	width: 80vw;
	display: block;
}

.btn05 {
	--height: 14vw;
	--border-width: 2px;
	width: 100%;
	padding-right: 2vw;
	font-size: 1.6rem;
}

.btn05:before {
	right: 5vw;
}

.m_mv_news {
	position: relative;
	left: 0;
	bottom: 0;
	z-index: 10;
	display: block;
	width: 100%;
	margin-top: 6vw;
}

.m_mv_news:before {
	background: #d2af6d;
	opacity: 1;
}

.m_mv_news_head {
	width: 100%;
}

.m_mv_news_head:before {
	width: 30vw;
	height: 1px;
	top: auto;
	left: 50%;
	bottom: 0;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

.m_mv_news_head a {
	padding-bottom: 0px;
	padding: 7vw 0 5vw;
	min-height: auto;
	margin-bottom: 3vw;
	align-items: center;
}

.m_mv_news_head span {
	font-size: 2.4rem;
	letter-spacing: 0.15em;
}

.m_mv_news_head em {
	margin-top: 1vw;
}

.m_mv_news_body {
	max-width: none;
	padding: 0 5vw;
}

.m_mv_news_body .m_newslist_item_in {
	padding: 5vw 0;
}

.m_mv_news_body .m_newslist_item_in .date {
	margin-right: 3vw;
	font-size: 1.5rem;
}

.m_mv_news_body .m_newslist_item_in em {
	padding-right: 10vw;
}


/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
top_concept
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.top_concept {
	background: url(../images/top_concept_bg_sp.jpg) center center / cover no-repeat;
	/* margin-top: 5vw; */
}

.top_concept .img_bg_block {
	padding: 12vw 0;
}

.top_concept_ttl {
	font-size: 4.8rem;
	--shadow: drop-shadow(0px 0px 3px rgba(255, 255, 255, 0.7));
	filter: var(--shadow) var(--shadow) var(--shadow) var(--shadow) var(--shadow) var(--shadow) var(--shadow);
	margin-bottom: 8vw;
}

.top_concept_txt {
	text-align: left;
}

.top_concept_txt p {
	font-size: 1.6rem;
}

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

.top_concept .m_obj01 {
	width: 31vw;
	left: -3vw;
	top: -10vw;
}

.top_concept .m_obj02 {
	width: 35vw;
	right: -6vw;
	bottom: -6vw;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
top_feature
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.top_feature {
	position: relative;
	z-index: 10;
	background: #fff;
}

.top_feature .m_obj00 {
	left: 3vw;
	top: -3vw;
	width: 30vw;
	z-index: 1;
}

.top_feature:before {
	height: 50vw;
}

.top_feature:after {
	top: 0;
	right: 0;
	width: 32vw;
}

.top_feature .img_bg_block {
	padding: 12vw 0 0;
}

.top_feature_ttl {
	max-width: none;
	width: 100%;
	margin: 0 auto 9vw;
	position: relative;
	z-index: 10;
}

.top_feature_en {
	font-size: 6rem;
	top: -1.7vw;
	left: -1vw;
}

.top_feature_block {}

/* feature_ttl */
.m_feature_ttl {
	align-items: center;
}

.m_feature_ttl_en {
	width: 45vw;
	height: 8vw;
	font-size: 1.7rem;
	--shadow: drop-shadow(0px 0px 3px rgba(0, 0, 0, 0.2));
	padding-left: 0.315em;
}

.m_feature_ttl_ja {
	font-size: 2.4rem;
	--shadow: drop-shadow(0px 0px 3px rgba(0, 0, 0, 0.2));
	margin-top: 3vw;
	text-align: center;
}

.m_feature_big_ttl {
	display: block;
}

.m_fbt_head {
	width: 100%;
	height: auto;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding-top: 8vw;
	padding-bottom:15vw;
}

.m_fbt_head:before {
	right: -5vw;
	width: 100vw;
}

.m_fbt_body {
	margin-top: -9vw;
}

.m_fbt_body_img {
	margin-right: 0vw;
	height: 50vw;
	--border-gutter: 2vw;
}


.m_feature_reverse .m_feature_big_ttl {}

.m_feature_reverse .m_fbt_head {
	padding-left: 0;
}

.m_feature_reverse .m_fbt_head:before {
	left: -5vw;
}

.m_feature_reverse .m_fbt_body_img:before {
	left: var(--border-gutter);
}

.m_feature_reverse .m_fbt_body_img {
	margin-left: 0;
	margin-right: 0;
}

.m_feature_reverse .m_fbt_head {}

.m_feature_reverse .m_fbt_body {
    z-index: 10;
}

/* feature_content */
.m_feature_content {
	display: flex;
	gap: 7vw;
	--img-width: 42vw;
	--img01-margin: 0;
	--img02-margin: 0;
	margin-top: 8vw;
	flex-direction: column-reverse;
	z-index: 5;
}

.m_feature_content_head {
	display: flex;
	width: 100%;
	margin-top: 0;
	justify-content: space-between;
}

.m_feature_content_img01 {}

.m_feature_content_img02 {
	margin-top: 5vw;
}

.m_feature_content_body {}

.m_feature_content_txt {}


.m_feature_content_txt_shadow {
	--shadow: drop-shadow(0px 0px 3px rgba(255, 255, 255, 0.5));
}

.m_feature_reverse .m_feature_content {
	flex-direction: column-reverse;
}

/* m_feature_wide */
.m_feature_wide {
	padding: 12vw 0;
}

.m_feature_wide:before {
	width: 100vw;
	background-size: 140%;
	background-position: left -16vw top;
}

.m_feature_wide .m_feature_ttl {
	margin-bottom: 8vw;
	position: relative;
	z-index: 10;
}

.m_feature_wide .m_feature_ttl_en {
	--shadow: drop-shadow(0px 0px 3px rgba(255, 255, 255, 0.5));

}

.m_feature_wide .m_feature_ttl_ja {
	--shadow: drop-shadow(0px 0px 3px rgba(255, 255, 255, 0.5));
	margin-top: 3vw;
}

.m_feature_wide_txt {
	--shadow: drop-shadow(0px 0px 3px rgba(255, 255, 255, 0.5));
	text-align: left;
}

.m_feature_wide_gallery {
	--gap-col: 5vw;
	--gap-row: 20px;
	--col: 3;
	margin-top: 8vw;
	padding-bottom: 3vw;
}



.m_feature_wide_gallery figure:before {
	top: 2vw;
	left: 2vw;
	-webkit-mask: url(../images/top_feature_border.png) center / 14px;
	mask: url(../images/top_feature_border.png) center / 14px;
}


.m_feature_wide_img02 {
	top: 5vw;
}


.m_feature01 .m_feature_content_txt {
	margin-top: 0;
}

.m_feature01 .m_obj01 {
	width: 30vw;
	left: -13vw;
	top: auto;
	bottom: 0;
	z-index: 5;
}

.m_feature01 .m_obj02 {
	right: -5vw;
	bottom: -18vw;
	width: 40vw;
}

.m_feature02 {
	margin-top: 12vw;
}

.m_feature02 .m_feature_content_body {
	margin-top: 0;
}

.m_feature02 .m_obj01 {
	width: 30vw;
	left: -5vw;
	top: auto;
	bottom: 0;
}

.m_feature02 .m_obj02 {
	width: 30vw;
	right: -12vw;
	bottom: 17vw;
	z-index: 5;
}

.m_feature02 .m_feature_content {
	--img-width: 42vw;
	--img01-margin: 0;
	--img02-margin: 0;
}

.m_feature03 {
	margin-top: 12vw;
	--background: url(../images/top_feature03_bg.jpg) center top / 100% no-repeat;
}

.m_feature03 .m_obj01 {
	width: 30vw;
	left: -5vw;
	top: 5vw;
}

.m_feature03 .m_obj02 {
	width: 22vw;
	right: -8vw;
	top: 5vw;
}

.m_feature03 .m_obj03 {
	width: 18vw;
	left: -5vw;
	bottom: -9vw;
}

.m_feature03 .m_obj05 {
	width: 23vw;
	left: 22vw;
	bottom: 2vw;
}

.m_feature03 .m_obj04 {
	width: 22vw;
	right: -5vw;
	bottom: 24vw;
}

.m_feature04 {
	margin-top: 5vw;
}

.m_feature04 .m_feature_content {
	--img-width: 42vw;
	--img01-margin: 0;
	--img02-margin: 0;
}

.m_feature04 .m_feature_content_body {
	margin-top: 0;
}

.m_feature04 .m_obj01 {
	width: 24vw;
	left: -5vw;
	top: auto;
	bottom: 0;
}

.m_feature04 .m_obj02 {
	width: 30vw;
	left: 5vw;
	bottom: 5vw;
}

.m_feature04 .m_obj03 {
	width: 30vw;
	right: -5vw;
	bottom: -5vw;
}

.m_feature05 {
	margin-top: 8vw;
}

.m_feature05 .m_feature_content {
	--img-width: 42vw;
	--img01-margin: 0;
	--img02-margin: 0;
}

.m_feature05 .m_feature_content_body {
	margin-top: 0;
}

.m_feature05 .m_obj01 {
	width: 30vw;
	left: -5vw;
	top: auto;
	bottom: 0;
}

.m_feature05 .m_obj02 {
	width: 30vw;
	right: -12vw;
	bottom: 15vw;
	z-index: 5;
}

.m_feature06 {
	margin-top: 8vw;
}

.m_feature06 .m_obj01 {
	width: 30vw;
	left: -5vw;
	top: 5vw;
}

.m_feature06 .m_obj02 {
	width: 25vw;
	right: -18vw;
	bottom: 4vw;
}

.m_feature06 .m_obj03 {
	width: 30vw;
	left: -12vw;
	bottom: 9vw;
}


/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
top_medical
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.top_medical {}

.top_medical .m_obj01 {
	width: 27vw;
	left: -5vw;
	top: 48vw;
}

.top_medical .m_obj02 {
	width: 30vw;
	right: -5vw;
	top: 18vw;
}

.top_medical .m_obj03 {
	width: 26vw;
	left: -5vw;
	bottom: 1vw;
}

.top_medical .m_obj04 {
	width: 23vw;
	right: -6vw;
	bottom: 69vw;
}

.top_medical .img_bg_block {
	padding: 12vw 0 0;
}

.top_medical .inner {
	padding-bottom: 10vw;
}

.top_medical_ttl {}

.top_medical_block {}

.top_medical_block {
	--gap-col: 3vw;
	--gap-row: 3vw;
	--col: 2;
}

.top_medical_item {
	--shadow: drop-shadow(0px 0px 3px rgba(237, 217, 179, 0.5));
}

.top_medical_item_in {
	width: 100%;
	padding-bottom: 5vw;
	padding-top: 3vw;
}

.top_medical_item_in:before {
	height: 5vw;
}

.top_medical_item_in:after {
	bottom: 1.5vw;
	width: 2.2vw;
}

.top_medical_item_ttl {
	font-size: 1.7rem;
	line-height: 1.4;
	letter-spacing: 0.12em;
}

.top_medical_list {
	margin-top: 10vw;
	border-bottom: 0;
	--shadow: drop-shadow(0px 0px 6px rgba(237, 217, 179, 0.4));
	--gap-col: 0px;
	--gap-row: 0px;
	--col: 1;
	display: flex;
	flex-wrap: wrap;
	gap: var(--gap-row) var(--gap-col);
	background: none;
}

.top_medical_list_item {
	width: calc(100% / var(--col) - var(--gap-col) * (var(--col) - 1) / var(--col));
	flex-basis: auto;
	flex-grow: 0;
	flex-shrink: 1;
	border-left: 1px solid var(--sub-color);
	background: #fff;
	border-bottom: 1px solid var(--sub-color);
}

.top_medical_list_item a {
	padding: 3vw 5vw;
	min-height: auto;
	flex-direction: row;
	gap: 5vw;
}

.top_medical_list_item a:before {
	bottom: auto;
	width: 4.6vw;
	top: 50%;
	transform: translateY(-50%);
	left: auto;
	right: 5vw;
}

.top_medical_list_item a:after {
	bottom: auto;
	width: 2vw;
	left: auto;
	right: 5.9vw;
	top: 50%;
	transform: translate(0, -50%);
}

.top_medical_list_item span {
	height: 10vw;
	margin-bottom: 0;
	/* min-width: 12.8vw; */
	aspect-ratio: 128/100;
	display: flex;
	justify-content: center;
}


.top_medical_list_item em {
	font-size: 1.7rem;
	letter-spacing: 0.15em;
-webkit-writing-mode:horizontal-tb;
-ms-writing-mode:lr-tb;
writing-mode:horizontal-tb;
}



/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
top_greeting
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.top_greeting {}

.top_greeting .m_obj01 {
	width: 30vw;
	left: -19vw;
	top: -17vw;
}

.top_greeting .m_obj02 {
	width: 28vw;
	right: -13vw;
	top: -14vw;
}

.top_greeting .img_bg_block {
	padding: 12vw 0;
}

.top_greeting_ttl {
	margin-bottom: 8vw;
}

.top_greeting_block {
	display: block;
	margin: 0 -5vw;
	border-top: 5px solid #fff;
	border-bottom: 5px solid #fff;
	--shadow: drop-shadow(0px 0px 3px rgba(237, 217, 179, 0.4));
}

.top_greeting_item {
	width: 100%;
	display: block;
	min-height: auto;
}

.top_greeting_item_head {
	width: 100%;
	max-width: none;
	min-height: auto;
	/* overflow: hidden; */
}

.top_greeting_item_head:before {
	--border-gutter: 2vw;
	border: 3px solid #fff;
	--shadow: drop-shadow(0px 0px 2px rgba(237, 217, 179, 0.4));
}

.top_greeting_item_img {
	padding-top: 0;
	height: 42.5vw;
	position: relative;
	z-index: 1;
	width: 50%;
}

.top_greeting_item_img img {
	object-position: center top;
}

.top_greeting_item_name {
	bottom: 0;
	left: auto;
	right: 0;
	width: 50%;
}

.top_greeting_item_body {
	padding: 8vw 5vw;
	display: flex;
}

.top_greeting_item_body p {}

.top_greeting_btn {
	margin-top: 10vw;
}


/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
top_instagram
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.top_instagram {}

.top_instagram .img_bg_block {
	padding: 31px 0 0px;
}

#sb_instagram.sbi_mob_col_3 #sbi_images .sbi_item:nth-of-type(10) {
	display: none;
}



/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
top_post
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.top_post {}

.top_post .img_bg_block {
	padding: 12vw 0 3vw;
}

.top_post_item_head {
	/* display: block; */
	margin-bottom: 6vw;
}

.top_post_ttl {
	gap: 3vw;
}

.top_post_ttl span {
	font-size: 3.9rem;
}

.top_post_ttl em {
	font-size: 1.6rem;
}

.top_post_item_btn {
	width: 25vw;
	height: 10vw;
	border-radius: 5vw;
	font-size: 1.3rem;
	padding-right: 1vw;
	margin: 0;
}

.top_post_item_btn:before {
	right: 3vw;
	width: 1vw;
}

.top_post_block {
	/* display: flex; */
	gap: 12vw;
	flex-direction: column;
}

.top_post_item {
	flex: 1;
}


/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
top_clinic
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.top_clinic {}

.top_clinic .img_bg_block {
	padding-bottom: 0;
}

.top_clinic_head {}

.top_clinic_ttl {
	position: relative;
	top: 0;
	left: 0;
	transform: none;
	transform-origin: left top;
	z-index: 10;
	line-height: 1;
	letter-spacing: 0.095em;
	font-size: 4.8rem;
	--shadow: drop-shadow(0px 0px 3px rgba(255, 255, 255, 0.4));
	margin: 0 auto 8vw;
	text-align: center;
}

.top_clinic_img {
	margin-right: 0;
	padding-top: 32vw;
	/* width: 90%; */
}

.top_clinic_img img {
	object-position: center top;
}

.top_clinic_body {
	padding: 32vw 0 12vw;
	margin-top: -25vw;
}

.top_clinic_body:before {
	width: 100vw;
	background: #f7eedf url(../images/top_clinic_bg_sp.jpg) center center / cover no-repeat;
}

.top_clinic_block {
	display: block;
	gap: 5vw;
}

.top_clinic_item {
	flex: 1;
}

.top_clinic_logo {
	width: 100%;
	margin-left: -2vw;
}

.top_clinic_logo img {}

.top_clinic_data {
	display: flex;
	gap: 3vw;
	align-items: center;
	margin-top: 5vw;
}

.top_clinic_tel {
	width: 46vw;
}

.top_clinic_address {
	letter-spacing: 0.05em;
	font-size: 1.4rem;
}

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

.top_clinic_item .hosoku {
	font-size: 1.6rem;
	margin-top: 3vw;
}

.top_gmap {
	margin-top: 8vw;
	height: 100vw;
}