@charset "utf-8";

header .h_sns {
	display: grid;
	grid-template-columns: 20px 20px 20px;
	gap: 16px;
	background: #fcc800;
	width: 133px;
	justify-content: center;
	align-items: center;
}

header .h_sns>li:last-child a {
	width: 90%;
}

header .h_sns>li a {
	display: block;
}

header .h_info_wrap {display: flex;flex-wrap: wrap;align-items: stretch;justify-content: flex-end;height: 50px;}

header .h_info {
	color: #fff;
	text-align: right;
	line-height: 1.3;
	background: linear-gradient(to right,  rgba(223,155,0,0) 0%,rgba(223,155,0,1) 31%,rgba(223,155,0,1) 100%);
	padding: 6px 15px 0 150px;
}

header .h_clinic_name {
	font-size: 1.5rem;
	letter-spacing: 0.08em;
}

header .h_ad {
	font-size: 1.3rem;
	letter-spacing: 0.08em;
}

header .h_link_block {
	display: grid;
	grid-template-columns: 250px 1fr;
}

header .tel_box {
	background: #f6ab00;
	color: #fff;
	font-family: var(--font-en);
	text-align: center;
	padding: 4px 0 0 0;
}

header .tel_link {
	font-size: 2.3rem;
	letter-spacing: 0.06em;
}

header .tel_tl {
	letter-spacing: 0.18em;
	font-size: 1.4rem;
	vertical-align: text-bottom;
	}

.m_mv_txt {
	width: 363px;
	bottom: 150px;
	left: 2vw;
}

.m_mv {
	position: relative;
}

.m_mv_main {
	height: 100vh;
}

.m_mv_wrap {
	background: none;
	position: absolute;
	bottom: 0;
	right: 120px;
	width: calc(100% - 120px);
	height: 120px;
	display: grid;
	grid-template-columns: 1fr 934px;
}

.m_mv_news {
	background: rgb(122 91 21 / 75%);
	padding: 20px 10px 0px 20px;
	display: grid;
	grid-template-columns: 70px 1fr;
	gap: 40px;
	height: 120px;
}

.mv_pick {
	grid-template-columns: repeat(6, 1fr);
	padding: 0;
	position: relative;
	width: 934px;
}

.mv_pick >li {
	position: relative;
	z-index: 2;
}

.mv_pick >li::after {
	position: absolute;
	content: "";
	width: 2px;
	background: #fff0b8;
	height: 100%;
	top: 0;
	right: -2px;
}

.fix_ai {
	display: block;
	position: fixed;
	right: 0;
	bottom: 0;
	z-index: 1000;
	background:#fff;
}

.m_mv_news_head {
	font-size: 2.1rem;
	position: relative;
}

.m_mv_news_head::after {
	position: absolute;
	content: "";
	right: -20px;
	top: 0;
	width: 1px;
	height: 80px;
	background: #fff;
}

.m_mv_news_head a {
	font-size: 1rem;
	padding: 3px;
	margin-top: 2px;
}

.m_scroll_list {
	height: 80px;
}

.m_newslist {
	padding-right: 10px;
}

.m_newslist_item a {
	position: relative;
	display: grid;
	grid-template-columns: 80px 1fr;
}

.m_newslist_itema::after {
	position: absolute;
	content: "→";
	height: 100%;
	width: 20px;
	text-align: end;
	top: 0;
	right: 0;
}

.m_mv_news_body a .date {
	font-size: 1.1rem;
	letter-spacing: 0.15em;
	margin-bottom: 0;
	padding-top: 2px;
}

.m_mv_news_body a em {
	font-size: 1.4rem;
	letter-spacing: 0.05em;
	width: 100%;
}

.m_newslist_item+li.m_newslist_item {
	margin-top: 9px;
}

.mv_pick::after {
	position: absolute;
	content: "";
	width: 120px;
	height: 120px;
	background: rgb(246 171 0 / 75%);
	right: -120px;
	top: 0;
	z-index: 1;
}

.m_mv_item img {
	object-fit: cover;
	height: 100vh;
	object-position: 100% 50%;
}
.entlbig_block .tl {
	font-size: 13.5rem;
	top: -180px;
	right: -12px;
}

.entlbig_block {
	padding-top: 170px;
}

.entlbig_block .txt_block {
	margin-left: 520px;
}

.entlbig_block .ja_tl::after {
	top: 14px;
	left: 100px;
	width: 580px;
}

.entlbig_block .ja_tl {
	margin-bottom: 15px;
}

.entlbig_block .top_copy {
	font-size: 2.5rem;
	letter-spacing: 0.12em;
	margin-bottom: 20px;
}

.btn_li {
	margin-top: 40px;
}

.btn01 {
	width: auto;
	min-width: 330px;
	padding: 12px 43px 14px 43px;
	border-radius: 7px;
	display: inline-block;
}

.entlbig_block .btn_li {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}

.btn01::after {
	width: 21px;
	height: 5px;
	margin-top: 0;
	right: 15px;
}

.btn01::before {
	border-radius: 7px;
}

#top_message {
	background: #d6e3fb url(../images/top/message_bg_pc.jpg) no-repeat left center / cover;
	padding-bottom: 150px;
}

#top_concerns::after {
	width: 34vw;
	height: 300px;
}

#top_concerns::before {
	height: 250px;
}

#top_concerns .tl {
	width: 647px;
	margin-bottom: 80px;
}

.top_concerns_wrap {display: grid;grid-template-columns: 1fr 1fr;gap: 60px;}

#top_concerns .top_concerns_block+.top_concerns_block {
	margin-top: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	width: 100%;
}

#top_concerns .top_concerns_block::before {top: 20px;left: 20px;}

#top_concerns .top_concerns_block .top_box {
	border-radius: 7px;
}

#top_concerns .top_concerns_block .top_box dt .ja {
	font-size: 3.2rem;
}

#top_concerns .top_concerns_block .top_box dt .en {
	font-size: 1.3rem;
}

#top_concerns .top_concerns_block .top_box dt>div::before {
	width: 92px;
	top: -44px;
	left: -58px;
}

#top_concerns .top_concerns_block .top_box dt {
	padding: 50px 0 0  60px;
	height: 180px;
}

#top_concerns .top_concerns_block .top_box dd {
	padding: 20px 0;
}

#top_concerns .top_concerns_block .top_box dd a::before {
	width: 25px;
	height: 20px;
	left: 20px;
	top: 15px;
}

#top_concerns .top_concerns_block .top_box dd a::after {
	width: 14px;
	height: 14px;
	right: 10px;
}

#top_concerns .top_concerns_block .top_box dd a {
	font-size: 1.8rem;
	padding: 11px 26px 13px 52px;
	letter-spacing: 0.025em;
}

#top_concerns .top_concerns_block .top_box dd .big a {
	font-size: 2.2rem;
	padding: 13px 26px 15px 52px;
}

#top_concerns .top_concerns_block {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: space-between;
}

#top_concerns .top_concerns_block .top_box dd .big a::before {
	top: 20px;
}

#top_concerns .img_bg_block .inner::before {
	width: 282px;
	top: -30px;
	left: -80px;
}

#top_concerns .top_concerns_block::after {
	width: 124px;
	bottom: 40px;
	left: -164px;
}

#top_concerns .top_concerns_block+.top_concerns_block::after {
	width: 160px;
	bottom: -90px;
	left: -35px;
}

#top_concerns .img_bg_block .inner::after {
	width: 188px;
	top: 60px;
	right: -94px;
}

#top_concerns .img_bg_block::after {
	width: 124px;
	bottom: -140px;
	right: inherit;
	left: calc(50% + 700px);
}

#top_concerns {
	padding: 150px 0 180px;
}

#top_medical .site_tl {
	top: -53px;
}

.site_tl {
	font-size: 7.7rem;
	margin-bottom: 70px;
}

.site_tl .ja {
	font-size: 1.9rem;
}

#top_medical .img_bg_block {
	padding: 150px 0 0;
}

#top_medical .img_bg_blockin {
	padding-bottom: 150px;
}

#top_medical .js_tabs_btn {
	font-size: 2.8rem;
	letter-spacing: 0.12em;
	height: 90px;
	cursor: pointer;
}

#top_medical .js_tabs_btn:not(.on):hover {
	opacity: 0.7;
}

#top_medical .js_tabs_btn::after {
	bottom: -14px;
	width: 20px;
	height: 10px;
}

#top_medical .js_tabs_items {
	padding: 50px;
}

#top_medical .js_tabs {
	border-radius: 7px;
}

#top_medical .top_medical_link {
	grid-template-columns: 1fr 1fr 1fr;
	gap: 25px;
}

#top_medical .top_medical_link>li {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: space-between;
}

#top_medical .top_medical_link a {
	height: 254px;
	border-radius: 7px;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: space-between;
}

#top_medical .top_medical_link dl {
	padding: 14px 25px 45px 25px;
}

#top_medical .top_medical_link dl dt {
	padding-bottom: 10px;
}

#top_medical .top_medical_link dl dd {
	margin-top: 12px;
	line-height: 1.8;
}

#top_medical .top_medical_link>li .top_btn {
	width: 150px;
	padding: 5px 0 3px;
	border-radius: 7px;
	bottom: 22px;
}

#top_medical .img_bg_block::after {
	width: 250px;
	width: 100%;
}

#top_medical .img_bg_block::before {
	width: 47%;
	height: 500px;
}

#top_medical .img_bg_blockin::before {
	background: #fcc800;
	height: 225px;
}

#top_medical .img_bg_blockin::after {
	background: #fcc800;
	width: 35vw;
	height: 270px;
}

#top_feature {
	padding: 0;
}

#top_feature::before {
	width: 39%;
	height: 200px;
}

#top_feature::after {height: 500px;}

#top_feature .inner::before {
	width: 810px;
	top: -360px;
	right: -170px;
}

#top_feature .img_bg_block {
	overflow: hidden;
	padding: 130px 0 150px;
}

#top_feature .num_box {
	font-size: 2rem;
	width: 100px;
	height: 30px;
	line-height: 1;
	padding-top: 3px;
}

#top_feature dt::before {
	top: 15px;
}

#top_feature .dt_tl {
	font-size: 2.2rem;
	line-height: 1.6;
	padding: 11px 0px 17px;
}

#top_feature dt {
	margin-bottom: 20px;
}

#top_feature .top_feature_li .btn_li {
	margin-top: 20px;
	text-align: center;
}

#top_feature .top_feature_li .btn_col02 {
	gap: 10px;
	display: grid;
	grid-template-columns: 1fr 1fr;
}

#top_feature .top_feature_li #feature01 {
	display: grid;
	grid-template-columns: 1fr 490px;
	gap: 60px;
	align-items: center;
	grid-column: 1/3;
	grid-row: 1/2;
}

#top_feature .top_feature_li #feature01 .txt_box {
	margin-top: 0;
}

#top_feature .top_feature_li .btn_col02 .btn01 {
	min-width: inherit;
	width: 100%;
}

#top_feature #feature01 figure::before {
	width: 148px;
	top: -60px;
	left: -80px;
}

#top_feature #feature01 figure::after {
	width: 90px;
	bottom: inherit;
	top: -20px;
	right: 95px;
}

#top_feature .top_feature_li>li+li {
}

#top_feature .top_feature_li {
	margin-top: 100px;
	grid-template-columns: 1fr 1fr;
	gap: 100px;
	align-items: start;
}

#top_feature .top_feature_li #feature02 {
	grid-column: 1/2;
	grid-row: 2/3;
}

#top_feature #feature02 figure {
	margin-left: -50px;
}

#top_feature .top_feature_li>li#feature02 .txt_box {
	margin-top: 20px;
}

#top_feature #feature02::before {
	width: 138px;
	top: 225px;
	right: -55px;
}

#top_feature #feature03::before {
	width: 130px;
	top: -70px;
	right: -80px;
}

#top_feature #feature03 figure::before {
	width: 180px;
	top: -23px;
	left: -22px;
}

#top_feature #feature03 figure::after {
	width: 180px;
	bottom: -31px;
	right: -65px;
}

#top_feature .top_feature_li>li#feature03 .txt_box {
	margin-top: 20px;
}

#top_feature .top_feature_li #feature03 {
	margin-top: 70px;
}

#top_feature .top_feature_li #feature04 {
	display: grid;
	grid-template-columns:  490px 1fr;
	gap: 60px;
	align-items: center;
	grid-column: 1 / 3;
	grid-row: 3 / 4;
}

#top_feature .top_feature_li #feature04 figure {
	grid-row: 1 / 2;
}

#top_feature .top_feature_li #feature04 .txt_box {
	grid-column: 1/2;
	grid-row: 1/2;
	margin: 0;
}

#top_feature #feature04 figure::before {
	width: 126px;
	top: -70px;
	left: -85px;
}

#top_feature #feature04 figure::after {
	width: 78px;
	bottom: -80px;
	right: -100px;
}

#top_feature .top_feature_li #feature05 {
	display: grid;
	grid-template-columns: 1fr 490px;
	gap: 60px;
	align-items: start;
	grid-column: 1 / 3;
	grid-row: 4 / 5;
}

#top_feature #feature05 figure.img01::before {
	width: 192px;
	height: 62px;
	top: -25px;
	left: -40px;
}

#top_feature #feature05 figure.img02 {
	top: inherit;
	bottom: 0;
	width: 380px;
	right: 250px;
}

#top_feature #feature05 .txt_box {
	margin-top: 0;
	padding-bottom: 180px;
}

#top_feature #feature05 figure.img02::before {
	width: 160px;
	top: inherit;
	bottom: -40px;
	right: -80px;
}

#top_feature #feature06 figure {
	margin-right: -30px;
	z-index: 10;
}

#top_feature #feature06 figure img {
	position: relative;
	z-index: 100;
}

#top_feature #feature06 figure::before {
	display: none;
	left: -95px;
	bottom: 10px;
}

#top_feature #feature06 .txt_box {
	margin-top: -50px;
}

#top_feature #feature06::before {
	position: absolute;
	content: "";
	background: url(../images/top/feature_kazari11.png) no-repeat center center / contain;
	aspect-ratio: 1 / 1;
	z-index: 1;
	width: 276px;
	left: -95px;
	top: 70px;
}

#top_feature #feature07 figure {
	margin-left: -40px;
}

#top_feature .top_feature_li #feature06 {
	grid-column: 1 / 2;
	grid-row: 5 / 6;
}

#top_feature .top_feature_li #feature07 {
	grid-column: 2 / 3;
	grid-row: 5 / 6;
	margin-top: 70px;
}

#top_feature #feature07 figure::before {
	width: 84px;
	top: -40px;
	left: -30px;
}

#top_feature #feature07 figure::after {
	width: 234px;
	bottom: -30px;
	right: -50px;
}

#top_feature #feature07 .txt_box {
	margin-top: 30px;
}

#top_greeting.entlbig_block .txt_block {position: relative;}

#top_greeting.entlbig_block .top_copy {
	font-size: 2.3rem;
	letter-spacing: 0.075em;
}

#top_greeting {
	padding-bottom: 150px;
	background: #f7fbfe url(../images/top/greeting_bg_pc.jpg) no-repeat center bottom / auto 100%;
}

#top_greeting.entlbig_block .txt_block::before {
	position: absolute;
	content: "";
	background: url(../images/top/greeting_name.png) no-repeat center center / contain;
	width: 226px;
	height: 79px;
	bottom: 0;
	left: -470px;
}

#top_greeting::before {
	width: 48%;
	height: 100px;
}

#top_greeting::after {
	width: 75%;
	height: 330px;
}

#top_column {
	padding: 130px 0 140px;
}

#top_column .m_column {
	gap: 0 60px;
	display: grid;
	grid-template-columns: 570px 570px;
	    margin-top: 60px;
}

#top_column .m_column a::after {
	width: 14px;
	height: 14px;
}

#top_column .m_column a {
	padding: 20px 30px 15px 0;

	.in {
		        margin-top: 15px;
	}
}

#top_column .m_column_tag {
	display:flex;
	flex-wrap: wrap;
	gap: 10px;

	span {
		font-size: 1.4rem;
		padding: 5px 20px;
	}
}

#top_column .btn_li {
	margin-top: 65px;
}

.top_column_cats {
 gap: 15px
}

.top_column_cats li {

}

.top_column_cats li a {
padding: 8px 25px;

    font-size: 1.6rem;
}

#top_job .tl {font-size: 3.8rem;padding-bottom: 20px;margin-bottom: 30px;}

#top_job {
	padding: 130px 0 150px;
}

#top_job .tl::after {
	width: 30px;
}

#top_job .btn_li {
	margin-top: 30px;
}

footer.m_footer {
	background: #dfb455 url(../images/top/f_bg.jpg) center center  /cover;
	padding: 50px 0 0;
}

footer .m_footer_logo {
	width: 476px;
	margin: 0 auto 10px 0;
}

footer .f_link_block {
	margin: 0 0 30px;
	gap: 30px;
	grid-template-columns: inherit;
	padding: 1px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
}

footer.m_footer .m_footer_block {
	display: grid;
	grid-template-columns: 560px 560px;
	gap: 80px;
	align-items: start;
}

footer .tel_box {
	font-size: 1.4rem;
	letter-spacing: 0.18em;
}

footer .tel_link {
	font-size: 2.4rem;
	letter-spacing: 0.06em;
}

footer .f_sns {
	width: 120px;
	gap: 24px;
}

footer .table_border tr>* {
	padding: 4px 0 6px 0;
	font-size: 1.6rem;
}

footer .eigyou01 thead th:first-of-type {
	padding-left: 20px;
}

footer .eigyou01 tbody th:first-of-type {
	padding-left: 20px;
}

footer .table_border.eigyou01 thead th:not(:first-child) {
	width: 8%;
}

footer .table_border.eigyou01 tr>*:last-child {
	width: 10%;
	padding-right: 2%;
}

footer .timetable_hosoku {
	margin-top: 10px;
}

footer .f_clinic_name {
	font-size: 1.9rem;
	letter-spacing: 0.08em;
	margin-top: 20px;
	margin-bottom: 5px;
}

footer .f_ad {
	font-size: 1.4rem;
	letter-spacing: 0.08em;
	margin-bottom: 15px;
}

footer .m_footer_info .gmap {
	height: 290px;
}

footer .m_footer_menus {
	margin-top: 50px;
}

footer .f_pay {
	margin-top: 50px;
}

.m_footer_small {padding-top: 10px;}

.header_logo {
	width: 480px;
	margin-right: 0;
	margin-top: 10px;
	transition: 0.5s ease;
}

.js_header_move .m_header .header_logo, body:not(.home_page) .m_header .header_logo {
	width: 400px;
	margin: auto 0;
	transition: 0.5s ease;
}
.table_hard_level td .img {
	max-width: 110px;
	margin: 0 auto;
}