@charset "utf-8";

:root {
	--vw: 1vw;
	--main-font-color: #000;
	--main-color: #f6ab00;
	--main-color-middle: #f6dfac;
	--main-color-light: #abd241;
	--main-color-green: #81e9cd;
	--main-color-super-light: #fffbeb;
	--default-letter-spacing: 0.05em;
	--max-width: 1200px;
	--inner-padding: 40px;
	--inner-width: calc(var(--max-width) + var(--inner-padding) * 2);
	--over-margin: min(calc((-1 * var(--vw) * 100 + var(--max-width)) / 2),
			calc(-1 * var(--inner-padding)));
	/* noto入れるの忘れない */
	--font-main: YakuHanJPs, "Noto Sans JP", "メイリオ", "Meiryo", "Hiragino Kaku Gothic ProN",
		"ヒラギノ角ゴ ProN W3", Hiragino Sans, "Osaka", "MS PGothic", -apple-system,
		BlinkMacSystemFont, arial, helvetica, sans-serif;
	--font-min: YakuHanMPs, "Noto Serif JP", serif;
	--font-en: YakuHanMPs, "Aleo", serif;
}

/*共通*/
.catch_copy,
.flow_arrow_box .tl,
.flow_arrow_box .tl_block .step p,
#under .catch,
.m_col_ttl,
.reason_line_text_ttl,
h2,
h3,
h4,
h5,
h6 {
	/* font-family: var(--font-min); */
}

/*その他の追加変更 ここから*/
.m_mv_txt {
	position: absolute;
	bottom: 1vw;
	left: 4vw;
	width: 64vw;
	z-index: 10;
}

.m_mv_main {
	height: 125vw;
	overflow: hidden;
	position: relative;
	z-index: 1;

	&:before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		z-index: 2;
		opacity: 0.25;
		background: #000;
	}
}

.m_mv_main video {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 110%;
	height: 55.5vw;
	z-index: 1;
	-webkit-transform: rotate3d(1, 1, 1, 0.001deg) translate(-50%, -50%);
	transform: rotate3d(1, 1, 1, 0.001deg) translate(-50%, -50%);
}

.m_mv_inner {
	position: relative;
	/* height: 100vh; */
}

.m_mv_news {
	padding: 5vw;
	display: grid;
	grid-template-columns: 19vw 1fr;
	gap: 6vw;
}

.m_mv_news_head {
	font-family: var(--font-min);
	color: #fff;
	text-align: center;
	font-size: 2.3rem;
	letter-spacing: 0.16em;
}

.m_mv_news_head a {
	text-decoration: none;
	display: block;
	border: 1px solid #fff;
	font-size: 1.1rem;
	margin-top: 2vw;
	padding: 1.5vw 0 2vw 0;
	text-align: center;
}

.m_mv_news_body a {
	text-decoration: none;
	color: #fff;
	line-height: 1.4;
	display: block;
}

.m_mv_news_body a em {
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	display: block;
	width: calc(63vw - 10px);
}

.m_mv_news_body a .date {
	display: block;
	letter-spacing: 0.3em;
	font-size: 1.2rem;
	margin-bottom: 1vw;
}

.m_newslist_item+li.m_newslist_item {
	margin-top: 4vw;
}

.mCSB_inside>.mCSB_container {
	margin-right: 14px;
}

.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
	background: #fda100 !important;
	height: 12px;
	width: 12px;
}

.mCSB_draggerContainer:before {
	background: #fff0b8;
}

.mCS-rounded.mCSB_scrollTools .mCSB_dragger,
.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger,
.mCS-rounded-dots.mCSB_scrollTools .mCSB_dragger,
.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger {
	height: 12px !important;
	min-height: 12px !important;
}

.mCSB_scrollTools,
.mCS-rounded.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-rounded-dots.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
	width: 12px;
}

.m_scroll_list {
	height: 40vw;
}

.mv_pick {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2px;
	padding: 2px 0;
}

.m_mv_wrap {
	background: #846829;
	z-index: 10;
	position: relative;
}

#top_message {
	background: #d6e3fb url(../images/top/message_bg_sp.png) no-repeat center bottom / 100% auto;
	padding-bottom: 36vw;
}

.entlbig_block {
	position: relative;
	overflow: hidden;
	padding-top: 18vw;
}

.entlbig_block .tl {
	font-family: var(--font-en);
	color: #fff;
	opacity: 0.6;
	font-size: 16vw;
	line-height: 1;
	text-align: right;
	position: absolute;
	top: -19.2vw;
	right: -1.4vw;
	z-index: 10;
	width: 100%;
}

.entlbig_block .ja_tl {
	color: #795b15;
	font-family: var(--font-min);
	position: relative;
	margin-bottom: 2vw;
}

.entlbig_block .ja_tl::after {
	width: 77vw;
	height: 1px;
	background: #795b15;
	top: 3.4vw;
	content: "";
	left: 23vw;
	position: absolute;
}

.entlbig_block .top_copy {
	font-family: var(--font-min);
	font-size: 2.3rem;
	line-height: 1.5;
	margin-bottom: 5vw;
}

.btn01 {
	background: linear-gradient(to right, rgba(252, 211, 119, 1) 0%, rgba(255, 245, 221, 1) 100%);
	border: 1px solid #f6ab00;
	border-radius: 1vw;
	font-size: 1.7rem;
	display: block;
	width: 95%;
	margin: 0 auto;
	padding: 3vw 8vw;
	position: relative;
}

.btn01::before {
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	border: 2px solid #ffffff;
	top: 0;
	left: 0;
	border-radius: 1vw;
}

.btn01::after {
	position: absolute;
	content: "";
	background: url(../images/top/btn.png) no-repeat center center /contain;
	width: 5vw;
	height: 10vw;
	top: 50%;
	right: 2vw;
	transform: translate(0%, -50%);
	margin-top: -0.4vw;
}

.btn_li {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2vw;
	margin-top: 5vw;
}

#top_concerns {
	position: relative;
	padding: 12vw 0 20vw;
}

#top_concerns::before {
	position: absolute;
	content: "";
	clip-path: polygon(100% 0, 0% 100%, 0 0);
	background: #fcc800;
	opacity: 0.15;
	top: 0;
	left: 0;
	width: 100%;
	height: 22vw;
}

#top_concerns::after {
	position: absolute;
	content: "";
	clip-path: polygon(100% 0, 100% 100%, 0 0);
	background: #c88d05;
	opacity: 0.1;
	top: 0;
	right: 0;
	width: 40%;
	height: 30vw;
}

#top_concerns .tl {
	width: 100%;
	margin: 0 auto 8vw;
}

#top_concerns .top_concerns_block {
	position: relative;
	z-index: 10;
}

#top_concerns .top_concerns_block::before {
	position: absolute;
	content: "";
	background: url(../images/top/concerns_bg.png) repeat right bottom;
	width: 100%;
	height: 100%;
	top: 3vw;
	left: 3vw;
	z-index: 2;
}

#top_concerns .top_concerns_block .top_box {
	border: 1px solid #f6ab00;
	position: relative;
	border-radius: 1vw;
	overflow: hidden;
	background: #fff8e9;
	z-index: 10;
	width: 100%;
}

#top_concerns .top_concerns_block .top_box dt {
	background: #cead68 url(../images/top/concerns_img01.jpg) no-repeat center center / cover;
	color: #ffff;
	height: 28vw;
	padding: 7vw 0 0 8vw;
	position: relative;
}

#top_concerns .top_concerns_block .top_box dt .ja {
	font-family: var(--font-min);
	letter-spacing: 0.12em;
	font-size: 2.5rem;
	line-height: 1.5;
}

#top_concerns .top_concerns_block .top_box dt .en {
	font-family: var(--font-en);
	letter-spacing: 0.28em;
	font-size: 1.1rem;
}

#top_concerns .top_concerns_block .top_box dt>div {
	position: relative;
}

#top_concerns .top_concerns_block .top_box dt>div::before {
	position: absolute;
	content: "";
	background: url(../images/top/concerns_stl.png) no-repeat left top / contain;
	width: 15vw;
	aspect-ratio: 1/1;
	top: -7vw;
	left: -8vw;
}

#top_concerns .top_concerns_block .top_box dd {
	padding: 2vw 0;
	position: relative;
}

#top_concerns .top_concerns_block .top_box dd li+li {
	border-top: 1px solid #dcdcdc;
}

#top_concerns .top_concerns_block .top_box dd a {
	display: block;
	text-decoration: none;
	padding: 2.3vw 8.3vw 2.3vw 10.3vw;
	line-height: 1.45;
	position: relative;
}

#top_concerns .top_concerns_block .top_box dd .big a {
	font-size: 1.9rem;
	padding: 1.5vw 8.3vw 2.3vw 10.3vw;
}

#top_concerns .top_concerns_block .top_box dd a::before {
	position: absolute;
	content: "";
	background: url(../images/top/check.png) no-repeat left top / contain;
	width: 5vw;
	height: 10vw;
	top: 3vw;
	left: 4vw;
}

#top_concerns .top_concerns_block .top_box dd a::after {
	position: absolute;
	content: "";
	background: url(../images/top/link.png) no-repeat right center / contain;
	width: 3vw;
	height: 10vw;
	right: 3vw;
	top: 50%;
	transform: translate(0%, -50%);
}

#top_concerns .top_concerns_block+.top_concerns_block {
	margin-top: 5vw;
}

#top_concerns .top_concerns_block+.top_concerns_block .top_box dt {
	background-image: url(../images/top/concerns_img02.jpg);
	position: relative;
}

#top_concerns .img_bg_block .inner::before {
	position: absolute;
	content: "";
	background: url(../images/top/concerns_kazari01.png) no-repeat center center /contain;
	width: 30vw;
	aspect-ratio: 1/1;
	top: 14vw;
	left: -7vw;
}

#top_concerns .img_bg_block .inner::after {
	position: absolute;
	content: "";
	background: url(../images/top/concerns_kazari02.png) no-repeat center center /contain;
	width: 20vw;
	aspect-ratio: 1/1;
	top: 11vw;
	right: 0vw;
}

#top_concerns .top_concerns_block::after {
	position: absolute;
	content: "";
	background: url(../images/top/concerns_kazari03.png) no-repeat center center /contain;
	width: 10vw;
	aspect-ratio: 1/1;
	bottom: -4vw;
	left: -4vw;
	z-index: 1;
}

#top_concerns .top_concerns_block+.top_concerns_block::after {
	position: absolute;
	content: "";
	background: url(../images/top/concerns_kazari04.png) no-repeat center center / contain;
	width: 24vw;
	aspect-ratio: 1 / 1;
	bottom: -11vw;
	left: -2vw;
	z-index: 1;
}

#top_concerns .img_bg_block::after {
	position: absolute;
	content: "";
	background: url(../images/top/concerns_kazari05.png) no-repeat center center / contain;
	width: 20vw;
	aspect-ratio: 1 / 1;
	bottom: 0vw;
	right: -5vw;
}

.site_tl {
	font-family: var(--font-en);
	text-align: center;
	letter-spacing: 0.12em;
	font-size: 4.8rem;
	line-height: 1.3;
	margin-bottom: 8vw;
}

.site_tl .ja {
	font-family: var(--font-min);
	letter-spacing: 0.24em;
	display: block;
	font-size: 1.7rem;
}

#top_medical {
	position: relative;
	background: linear-gradient(45deg, rgba(252, 211, 119, 1) 0%, rgba(149, 231, 211, 1) 100%);
}

#top_medical::before {
	position: absolute;
	content: "";
	pointer-events: none;
	width: 140vw;
	height: calc(100% + 8px);
	border: 1px solid #000;
	top: -4px;
	left: 50%;
	transform: translate(-50%, 0%);
}

#top_medical .site_tl {
	position: absolute;
	top: -8vw;
	left: 50%;
	transform: translate(-50%, 0%);
	z-index: 10;
}

#top_medical .img_bg_block {
	position: relative;
	padding: 18vw 0 0;
}

#top_medical .img_bg_block::before {
	position: absolute;
	content: "";
	clip-path: polygon(100% 0, 0% 100%, 0 0);
	background: #ffffff;
	opacity: 0.2;
	top: 0;
	left: 0;
	width: 54%;
	height: 45vw;
}

#top_medical .img_bg_block::after {
	position: absolute;
	content: "";
	clip-path: polygon(100% 0, 100% 100%, 0 0);
	background: #fcc800;
	opacity: 0.15;
	top: 0;
	right: 0;
	width: 90%;
	height: 20vw;
}

#top_medical .img_bg_blockin::before {
	position: absolute;
	content: "";
	clip-path: polygon(0 100%, 100% 100%, 0 0);
	background: #ffffff;
	opacity: 0.15;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 31vw;
}

#top_medical .img_bg_blockin::after {
	position: absolute;
	content: "";
	clip-path: polygon(0 100%, 100% 100%, 100% 0);
	background: #ffffff;
	opacity: 0.15;
	bottom: 0;
	right: 0;
	width: 50%;
	height: 30vw;
}

#top_medical .img_bg_blockin {
	padding-bottom: 15vw;
}

#top_medical .js_tabs {
	background: #fff;
	box-shadow: 0 0 6px rgba(0, 0, 0, 0.16);
	border-radius: 1vw;
	overflow: hidden;
}

#top_medical .js_tabs_btns {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 3px;
}

#top_medical .js_tabs_btn {
	background: #f6dfac;
	color: #c88d05;
	font-family: var(--font-min);
	text-align: center;
	height: 13vw;
	transition: 0.5s ease;
	position: relative;
}

#top_medical .js_tabs_btn::after {
	position: absolute;
	content: "";
	clip-path: polygon(0 0, 50% 100%, 100% 0);
	background: #f6ab00;
	bottom: calc(-5px - 2vw);
	left: 50%;
	transform: translate(-50%, 0%);
	width: 5vw;
	height: 3vw;
	transition: 0.8s ease;
	opacity: 0;
}

#top_medical .js_tabs_btn.on {
	background: #f6ab00;
	color: #fff;
	transition: 0.5s ease;
}

#top_medical .js_tabs_btn.on::after {
	transition: 0.8s ease;
	opacity: 1;
}

#top_medical .js_tabs_items {
	border-top: 5px solid #f6ab00;
	padding: 4vw;
}

#top_medical .top_medical_link a {
	width: 100%;
	background: linear-gradient(45deg, rgba(171, 210, 65, 1) 0%, rgba(129, 233, 205, 1) 100%);
	text-decoration: none;
	border-radius: 1vw;
	padding: 6px;
}

#top_medical .top_medical_link dl {
	border: 6px solid #fff;
	position: relative;
	background: #fffbec;
	padding: 3vw 4vw calc(13px + 8vw) 4vw;
}

#top_medical .top_medical_link dl::before {
	position: absolute;
	content: "";
	border: 1px solid #81e9cc;
	pointer-events: none;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

#top_medical .top_medical_link dl dt {
	color: #128d69;
	font-family: var(--font-min);
	letter-spacing: 0.075em;
	font-size: 2rem;
	text-align: center;
	border-bottom: 1px solid #5dd3b1;
	padding-bottom: 2vw;
	line-height: 1.3;
}

#top_medical .top_medical_link dl dd {
	margin-top: 2vw;
	line-height: 1.3;
}

#top_medical .top_medical_link>li {
	position: relative;
}

#top_medical .top_medical_link>li .top_btn {
	position: absolute;
	bottom: calc(13px + 2vw);
	left: 50%;
	transform: translate(-50%, 0%);
	background: linear-gradient(to right, rgba(129, 233, 205, 1) 0%, rgba(171, 210, 65, 1) 100%);
	border-radius: 2vw;
	font-family: var(--font-en);
	font-size: 1rem;
	padding: 1.7vw 1.4vw 1.3vw;
	width: 32vw;
	text-align: center;
	letter-spacing: 0.12em;
}

#top_medical .top_medical_link {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2vw;
}

#top_medical .top_medical_link .txts {
	font-size: 1.3rem;
	letter-spacing: 0;
	padding-left: 0.3em;
}

#top_feature {
	position: relative;
	padding: 15vw 0;
	margin-top: 4px;
}

#top_feature::before {
	position: absolute;
	content: "";
	clip-path: polygon(100% 0, 0% 100%, 0 0);
	background: #fcc800;
	opacity: 0.1;
	top: 0;
	left: 0;
	width: 94%;
	height: 22vw;
}

#top_feature::after {
	position: absolute;
	content: "";
	clip-path: polygon(100% 0, 100% 100%, 0 0);
	background: #fcc800;
	opacity: 0.08;
	top: 0;
	right: 0;
	width: 100%;
	height: 60vw;
}

#top_feature .inner::before {
	position: absolute;
	content: "";
	background: url(../images/top/feature_logo.png) no-repeat center center /contain;
	width: 50vw;
	aspect-ratio: 1/1;
	top: -9vw;
	right: -2vw;
}

#top_feature .inner>* {
	position: relative;
}

#top_feature .top_feature_li figure {
	position: relative;
}

#top_feature #feature01 figure::before {
	position: absolute;
	content: "";
	background: url(../images/top/feature_kazari01.png) no-repeat center center / contain;
	width: 28vw;
	aspect-ratio: 1 / 1;
	top: -11vw;
	left: -12vw;
	z-index: 1;
}

#top_feature .top_feature_li figure img {
	position: relative;
	z-index: 10;
}

#top_feature .num_box {
	background: #f6ab00;
	color: #fff;
	width: 20vw;
	font-family: var(--font-en);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	position: relative;
	z-index: 10;
}

#top_feature .num_box .num_tl {
	letter-spacing: 0.06em;
	font-size: 1.2rem;
}

#top_feature .num_box .num {
	padding-left: 0.2em;
}

#top_feature .txt_box {
	margin-top: 5vw;
}

#top_feature dt {
	position: relative;
	border-bottom: 1px solid #f6ab00;
	margin-bottom: 3vw;
}

#top_feature dt::before {
	position: absolute;
	content: "";
	background: #f6ab00;
	width: 100%;
	top: 3.6vw;
	left: 0%;
	height: 1px;
}

#top_feature .dt_tl {
	color: #795b15;
	font-family: var(--font-min);
	line-height: 1.5;
	font-size: 1.8rem;
	letter-spacing: 0.075em;
	padding: 1.7vw 0 2vw;
}

#top_feature #feature01 figure::after {
	position: absolute;
	content: "";
	background: url(../images/top/feature_kazari02.png) no-repeat center center / contain;
	width: 13vw;
	aspect-ratio: 1 / 1;
	bottom: -5vw;
	right: 4vw;
	z-index: 20;
}

#top_feature .top_feature_li {
	display: grid;
	grid-template-columns: 1fr;
	gap: 12vw;
}

#top_feature #feature02 figure {
	margin-left: -5vw;
}

#top_feature .top_feature_li>li {
	position: relative;
}

#top_feature .top_feature_li>li>* {
	position: relative;
	z-index: 1;
}

#top_feature #feature02::before {
	position: absolute;
	content: "";
	background: url(../images/top/feature_kazari03.png) no-repeat center center / contain;
	width: 28vw;
	aspect-ratio: 1 / 1;
	top: 29vw;
	right: -9vw;
	z-index: 1;
}

#top_feature #feature03::before {
	position: absolute;
	content: "";
	background: url(../images/top/feature_kazari05.png) no-repeat center center / contain;
	width: 24vw;
	aspect-ratio: 1 / 1;
	top: -10vw;
	right: -15vw;
	z-index: 1;
}

#top_feature #feature03 figure::before {
	position: absolute;
	content: "";
	background: url(../images/top/feature_kazari04.png) no-repeat center center / contain;
	width: 30vw;
	aspect-ratio: 1 / 1;
	top: -4vw;
	left: -15vw;
	z-index: 1;
}

#top_feature #feature03 figure::after {
	position: absolute;
	content: "";
	background: url(../images/top/feature_kazari06.png) no-repeat center center / contain;
	width: 30vw;
	aspect-ratio: 1 / 1;
	bottom: -6vw;
	right: -15vw;
	z-index: 1;
}

#top_feature #feature04 figure::before {
	position: absolute;
	content: "";
	background: url(../images/top/feature_kazari07.png) no-repeat center center / contain;
	width: 24vw;
	aspect-ratio: 1 / 1;
	top: -6vw;
	left: -7vw;
	z-index: 1;
}

#top_feature #feature04 figure::after {
	position: absolute;
	content: "";
	background: url(../images/top/feature_kazari08.png) no-repeat center center / contain;
	width: 13vw;
	aspect-ratio: 1 / 1;
	bottom: -5vw;
	right: -4vw;
	z-index: 1;
}

#top_feature #feature05 figure.img01::before {
	position: absolute;
	content: "";
	background: url(../images/top/feature_kazari10.png) no-repeat center center / contain;
	width: 37vw;
	height: 13vw;
	top: -4vw;
	left: -5vw;
	z-index: 11;
}

#top_feature #feature05 figure.img02::before {
	position: absolute;
	content: "";
	background: url(../images/top/feature_kazari09.png) no-repeat center center / contain;
	width: 29vw;
	aspect-ratio: 1/1;
	top: 9vw;
	right: -8vw;
	z-index: 1;
}

#top_feature #feature05 figure.img02 {
	position: absolute;
	top: 44vw;
	right: -3vw;
	width: 60vw;
}

#top_feature #feature05 .txt_box {
	margin-top: 13vw;
}

#top_feature #feature06 figure {
	margin-right: -5vw;
}

#top_feature #feature06 figure::before {
	position: absolute;
	content: "";
	background: url(../images/top/feature_kazari11.png) no-repeat center center / contain;
	width: 49vw;
	aspect-ratio: 1 / 1;
	bottom: -1vw;
	left: -15vw;
	z-index: 1;
}

#top_feature #feature07 figure {
	margin-left: -5vw;
}

#top_feature #feature07 figure::before {
	position: absolute;
	content: "";
	background: url(../images/top/feature_kazari13.png) no-repeat center center / contain;
	width: 16vw;
	aspect-ratio: 1 / 1;
	top: -6vw;
	left: 14vw;
	z-index: 1;
}

#top_feature #feature07 figure::after {
	position: absolute;
	content: "";
	background: url(../images/top/feature_kazari14.png) no-repeat center center / contain;
	width: 46vw;
	aspect-ratio: 1 / 1;
	bottom: -6vw;
	right: -5vw;
	z-index: 1;
}

#top_greeting {
	background: #f7fbfe url(../images/top/greeting_bg_sp.png) no-repeat center bottom / 100% auto;
	padding-bottom: 68vw;
}

#top_greeting::before {
	position: absolute;
	content: "";
	clip-path: polygon(100% 0, 0% 100%, 0 0);
	background: #64c6d0;
	opacity: 0.1;
	top: 0;
	left: 0;
	width: 54%;
	height: 17vw;
}

#top_greeting::after {
	position: absolute;
	content: "";
	clip-path: polygon(100% 0, 100% 100%, 0 0);
	background: #90caf5;
	opacity: 0.15;
	top: 0;
	right: 0;
	width: 90%;
	height: 40vw;
}

#top_greeting.entlbig_block .tl {
	color: #c88d05;
	opacity: 0.2;
}

#top_column {
	position: relative;
	background: linear-gradient(45deg, rgba(63, 175, 239, 0.25) 0%, rgba(106, 220, 160, 0.25) 100%);
	padding: 13vw 0 15vw;
	margin-top: 4px;
	margin-bottom: 4px;
}

#top_column::before {
	position: absolute;
	content: "";
	pointer-events: none;
	width: 140vw;
	height: calc(100% + 8px);
	border: 1px solid #000;
	top: -4px;
	left: 50%;
	transform: translate(-50%, 0%);
}

#top_column .m_column {
margin-top:8vw;
}

#top_column .m_column a {
	text-decoration: none;
	display: block;
	border-top: 1px solid #dfdfdf;
	border-bottom: 1px solid #dfdfdf;
	padding: 4vw 4vw 2.6vw 0vw;
	position: relative;

	.in {
		margin-top: 3vw;
	}
}

#top_column .m_column .date {
	color: #f6ab00;
	font-family: var(--font-en);
	letter-spacing: 0.16em;
	font-size: 1.4rem;
	display: block;
	line-height: 1.2;
}

#top_column .m_column em {
	display: block;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	width: 100%;
}

#top_column .m_column>li {
	margin-top: -1px;
}

#top_column .m_column_tag {
	display:flex;
	flex-wrap: wrap;
	gap: 2vw;

	span {
		background: var(--main-color);
		color: #fff;
		font-size: 1.2rem;
		line-height: 1.5;
		padding: 1vw 4vw;
		border-radius: 10rem;
	}
}

#top_column .m_column a::after {
	position: absolute;
	content: "";
	background: url(../images/top/link.png) no-repeat right center / contain;
	width: 3vw;
	height: 10vw;
	right: 0;
	top: 50%;
	transform: translate(0%, -50%);
}

.top_column_cats {
    display: flex;
    justify-content: center;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    position: relative;
    z-index: 10;
    gap: 2vw;
}

.top_column_cats li {

}

.top_column_cats li a {
    text-decoration: none;
    background: var(--main-color);
    color: #fff;
    padding: 1.3vw 4vw;
    line-height: 1.5;
    letter-spacing: 0.1em;
    border-radius: 10rem;
    font-size: 1.3rem;
}


#top_job {
	background: url(../images/top/job_bg.jpg) no-repeat center center / cover;
	text-align: center;
	padding: 12vw 0 15vw;
}

#top_job .tl {
	font-size: 3rem;
	font-family: var(--font-min);
	letter-spacing: 0.24em;
	position: relative;
	padding-bottom: 4vw;
	margin-bottom: 7vw;
}

#top_job .tl::after {
	position: absolute;
	content: "";
	width: 8vw;
	background: #fcc800;
	height: 2px;
	bottom: 0%;
	left: 50%;
	transform: translate(-50%, 0%);
}

footer.m_footer {
	background: #dfb455;
	padding: 5vw 0 10vw;
}

footer .m_footer_logo {
	width: 84%;
	margin: 0 auto 3vw;
}

footer .f_link_block {
	border: 1px solid #fff;
	display: grid;
	grid-template-columns: 1fr 27vw;
	gap: 6vw;
	padding: 2vw 4vw;
	margin: 4vw 0 6vw;
}

footer .f_sns {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 4vw;
}

footer .tel_box {
	color: #fff;
	font-family: var(--font-en);
}

footer .tel_box a {
	color: #fff;
	text-decoration: none;
}

footer .tel_link {
	font-size: 2.6rem;
}

footer .tel_tl {
	vertical-align: text-bottom;
}

footer .f_sns li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
}

footer .f_sns>li:last-child a {
	width: 85%;
}

.table_border thead {
	background: #fff;
	color: #c88d05;
	border: none;
}

footer .table_border thead th {
	border: none;
}

footer .table_border td,
footer .table_border tbody th {
	border: none;
	border-bottom: 1px solid #fff;
	background: none;
	color: #fff;
}

footer .table_border tr>* {
	font-size: 1.3rem;
	padding: 3vw 0;
}

footer .eigyou01 thead th:first-of-type {
	text-align: left !important;
	padding-left: 2vw;
	border: none;
}

footer .eigyou01 tbody th:first-of-type {
	text-align: left !important;
	padding-left: 2vw;
}

footer .table_border.tdc.thc.eigyou01 {
	border-bottom: 2px solid #FFf;
}

footer .timetable_hosoku {
	color: #fff;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	font-size: 1.4rem;
	margin-top: 3vw;
}

footer .f_clinic_name {
	color: #fff;
	line-height: 1.5;
	font-size: 2.2rem;
	margin-top: 8vw;
	margin-bottom: 4vw;
}

footer .f_ad {
	color: #fff;
	line-height: 1.5;
	margin-bottom: 7vw;
}

footer .m_footer_menus {
	margin-top: 10vw;
}

footer .f_pay {
	margin-top: 10vw;
}

.m_col_tl {
	font-size: 2rem;
	margin-top: 0.5em;
	color: var(--main-color);
	line-height: 1.5;
	letter-spacing: 0.1em;
	font-family: var(--font-min);
}

.min {
	font-family: var(--font-min);
}

.table_hard_level td {
	vertical-align: top !important;
}

.medicine_img_td {
	vertical-align: top !important;
	padding-top: 0.8em !important;
}

.medicine_img_td .medicine_img {
	margin: 0 auto !important;
	max-width: 145px;
}

.medicine_img_td p+p {
	margin-top: 0.5em;
}

.table_hard_level td .txt {
	margin-top: 0;
}

.table_hard_level td .img {
	max-width: 200px;
	margin: 0 auto;
}