@charset "utf-8";

.hamburger.side_hamburger {
	display: none;
}

#wrapper {
	margin-top: 104px;
}

header .h_info {
	background: var(--main-color-heavy);
	color: #fff;
	position: absolute;
	top: 0px;
	right: 0;
	width: 260px;
	height: 80px;
	text-align: center;
	border-radius: 0 0 0 24px;
}

header .h_info .h_tel {
	font-size: 2.5rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	position: relative;
	line-height: 1.3;
	margin-top: 2px;
	padding-left: 27px;
}

header .h_info .h_ad {
	color: var(--main-color-heavy);
	background: #fff;
	font-weight: 500;
	font-size: 1.5rem;
	letter-spacing: 0.025em;
	padding: 1px;
	width: 240px;
	margin: 4px auto 0;
	border-radius: 40px;
}

header .h_info .h_tel:before {
	position: absolute;
	content: "";
	background: url(../images/top/h_tel.webp) no-repeat center center /contain;
	width: 24px;
	aspect-ratio: 1/1;
	top: 7px;
	left: 18px;
}

.m_mv_inner:before {
	display:none;
}

.m_mv_txt {
	position: absolute;
	width: 34.1%;
	left: 80px;
	bottom: 220px;
}

.m_mv_txt>* {
	position: relative;
	z-index: 10;
}
.m_mv_txt:before {
	position: absolute;
	content:"";
	backdrop-filter: blur(5px);
	background: rgba(25, 129, 209, 0.28);
	top: -120px;
	width: calc(100% + 300px);
	height: calc(100% + 240px);
	left: -160px;
	-webkit-mask-image: linear-gradient(to right, transparent, black 100px),
                               linear-gradient(to left, transparent, black 100px),
                               linear-gradient(to bottom, transparent, black 100px),
                               linear-gradient(to top, transparent, black 100px);
	mask-image: linear-gradient(to right, transparent, black 100px),
                        linear-gradient(to left, transparent, black 100px),
                        linear-gradient(to bottom, transparent, black 100px),
                        linear-gradient(to top, transparent, black 100px);
	-webkit-mask-composite: source-in; /* マスクを重ねるために必要 */
	mask-composite: intersect; /* Firefoxなどで使用 */
}


.m_mv_news {
	position: absolute;
	bottom: 0;
	width: 50%;
	height: 150px;
	padding: 0;
	z-index: 20;
}

.m_mv_inner {
	padding-bottom: 0;
}

.m_mv {
	position: relative;
	margin: 0 40px;
	border-radius: 10px;
	overflow: hidden;
}

.m_mv_news:before {position: absolute;content: "";width: 100%;height: 100%;background: rgb(255 255 255 / 60%);backdrop-filter: blur(5px);}

.m_mv_news .inner {
	position: relative;
	z-index: 10;
	padding: 20px 10px 20px 0;
	display: grid;
	grid-template-columns: 159px 1fr;
	gap: 0;
			max-width: inherit;
}

.m_mv_news_head span {
	font-size: 1.8rem;
	line-height: 1;
}

.m_mv_news_head a {
	display: flex;
	justify-content: flex-start;
	line-height: 1.4;
	letter-spacing: 0.2em;
}

.m_mv_news_head a:after {
	font-size: 1.6rem;
	padding-bottom: 6px;
}

.m_mv_news_head {
	width: auto;
	flex-direction: column;
	align-content: center;
	justify-content: center;
}

.m_mv_news_head em {
	font-size: 1.1rem;
}


.m_mv_news_body::-webkit-scrollbar {
  width:8px; /* スクロールバーの幅 */
}

.m_mv_news_body {
	height: 110px;
	border-left: 1px solid var(--main-color-heavy);
	padding-left: 15px;
}

.m_mv_news_body a .date {
	margin-right: 10px;
	font-size: 1.2rem;
	padding-top: 5px;
}

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

.m_mv_news_body a {
	padding: 5px 30px 5px 0;
	flex-direction: row;
	display: flex;
	align-content: center;
	align-items: center;
}

.m_mv_news_body a:before {
	font-size: 1.4rem;
	width: 24px;
	right: 0;
}

.m_newslist {
	margin-right: 15px;
}

.m_newslist>li:first-child >a {
	padding-top: 0;
}

.m_newslist>li:last-child >a {
	padding-bottom: 0;
}

.m_newslist>li:first-child >a:before {
	top: -4px;
}

.m_newslist>li:last-child >a:before {
	top: 4px;
}

.m_mv_main {
	height: calc(100vh - 144px);
	min-height: 1000px;
}

.m_mv_item {
	max-width: 100%;
	margin-left: 0;
	margin-right: 0;
}


#t_message {
	padding: 30px 0 0;
	position: relative;
}

#t_message .txt_block:before {
	top: 0%;
	left: 50%;
	transform: translate(-50%, 0%);
	background: url(../images/top/message_pc.webp) no-repeat center top / contain;
	width: 2140px;
	height: 774px;
}

#t_message .t_message_tl .en {
	font-size: 5.9rem;
}

#t_message .t_message_tl:before {height: 20px;20px:;width: 4px;top: 9px;}

#t_message .t_message_tl:after {
	width: 4px;
	height: 40px;
	top: 9px;
}

#t_message .t_message_tl {
	padding-left: 30px;
	margin-bottom: 30px;
}

#t_message .txt_block {
	padding: 125px 0 180px 185px;
}

#t_message .txt_block .txt_box {
	width: 600px;
}

#t_message .t_copy {
	font-size: 3rem;
	letter-spacing: 0.12em;
	margin-bottom: 35px;
}

#t_message .btn_area {
	margin-top: 50px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

#t_message .btn_area .btn {
	min-width: inherit;
	width: 100%;
}

#t_medical {
	background-image: url(../images/top/medical_bg_pc.png);
	padding: 140px 0 150px;
}

.site_tl .en {
	font-size: 8.9rem;
}

.site_tl .ja {
	font-size: 1.8rem;
	padding-top: 15px;
}

.site_tl {
	margin-bottom: 70px;
}

#t_medical .t_medical_li{
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  list-style: none; /* リストの黒点を非表示にする */
  padding: 0; /* paddingをリセット */
  margin: 0; /* marginをリセット */
  justify-content: center;
}

#t_medical .t_medical_li>li {
  width: 285px;
  height: 230px;
}


#t_medical .t_medical_li> li:nth-child(1) {
  /* 1行目の左余白を調整 */
  margin-left: 20px;
}

#t_medical .t_medical_li> li:nth-child(3) {
  /* 1行目の右余白を調整 */
  margin-right: 20px;
}

#t_medical .t_medical_li>li>a {
	padding: 0px 10px 10px 10px;
	border-radius: 10px;
	overflow: hidden;
}

#t_medical .t_medical_li .icon {
	width: 80px;
	margin-bottom: 10px;
}

#t_medical .t_medical_li>li>a:before {
	width: 20px;
	right: 15px;
	bottom: 15px;
}

#t_medical .t_medical_li .ja {
	font-size: 2.3rem;
	letter-spacing: 0.15em;
}

#t_medical .t_medical_li .en {
	margin-top: 10px;
}

#t_medical .t_medical_li .ja .txts {
	font-size: 1.6rem;
}

#t_medical .t_medical_li>li:nth-child(10) .icon {
	margin-bottom: -5px;
	margin-top: -10px;
}

#t_medical .t_medical_li>li>a:hover {
	opacity: 1;
}

#t_medical .t_medical_li>li>a:after  {
	position: absolute;
	content: "";
	background: rgb(25 129 209 / 80%);
	backdrop-filter: blur(5px);
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	opacity:0;
	transition: 0.5s ease;
}

#t_medical .t_medical_li>li>a .txt {
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	opacity:0;
	transition: 0.5s ease;
	display:block;
	z-index: 10;
	color: #fff;
	display: grid;
	align-items: center;
	justify-content: center;
	padding: 0 37px;
}

#t_medical .t_medical_li>li>a:hover:after ,
#t_medical .t_medical_li>li>a:hover .txt {
	opacity:1;
	transition: 0.5s ease;
}

#t_medical .t_medical_pick {
	margin-top: 80px;
}

#t_medical .t_medical_pick .pick {
	font-size: 2.3rem;
	padding: 18px 97px 18px 15px;
	left: -15px;
	top: 50px;
}

#t_medical .t_medical_pick .pick:before {
	width: calc(100% - 4px);
	height: calc(100% - 8px);
	top: 4px;
	left:0;
}

#t_medical .t_medical_pick .pick:after {
	border-width: 0 15px 15px 0;
	bottom: -15px;
	left:0px;
}

#t_medical .t_medical_pick .tl_block {
	padding-top: 60px;
}

#t_medical .t_medical_pick .tl_box .ja {
	font-size: 2.6rem;
	letter-spacing: 0.25em;
}

#t_medical .t_medical_pick .tl_box {
	text-align: left;
	padding: 5px 50px 10px 215px;
}

#t_medical .t_medical_pick .tl_box .en {
	margin-top: 1px;
}

#t_medical .t_medical_pick>li:before {
	width: calc(50vw - 100px);
	height: 100%;
	left: calc(50% + 100px);
	z-index: 20;
}

#t_medical .t_medical_pick .txt_box {
	width: 700px;
	padding: 40px 50px 50px 50px;
}

#t_medical .t_medical_pick .txt_box .btn_area {
	margin-top: 35px;
	gap: 20px;
}

#t_medical .t_medical_pick>li {
	padding-bottom: 0;
}

#t_medical .t_medical_pick >li+li {
	margin-top: 50px;
}

#t_medical .t_medical_pick>li.t_medical_pick_r:before {
	right: calc(50% + 100px);
	left: inherit;
}

#t_medical .t_medical_pick >li.t_medical_pick_r .tl_box {
	text-align: right;
	padding: 5px 215px 10px 50px;
}




#t_medical .t_medical_pick >li.t_medical_pick_r .pick {
	padding: 18px 15px 18px 97px;
	right: -15px;
	left: inherit;
}

#t_medical .t_medical_pick >li.t_medical_pick_r .pick:before {left: 4px;border-width:1px 0 1px 1px !important;}

#t_medical .t_medical_pick >li.t_medical_pick_r .pick:after {
	border-width: 15px 15px 0 0 ;
	border-color: #097bb4 transparent transparent transparent;
	left:inherit;
	right:0;
}



#t_medical .t_medical_pick >li.t_medical_pick_r .txt_box {
margin-left:auto;
}



#t_feature {
	padding: 140px 0 150px;
}

#t_feature:before, #t_feature:after {
	width: 1020px;
	height: 644px;
}

#t_feature:before {
	right: inherit;
	left: calc(50vw + 65px);
}

#t_feature:after {
	left: inherit;
	right: calc(50vw + 65px);
}

#t_feature .t_feature_li >li .img {
	display: grid;
	grid-template-columns: 570px 570px;
	justify-content: space-between;
	align-items: center;
}

#t_feature .t_feature_li .txt_block {
	margin-top: 0;
}

#t_feature .t_feature_li .num_box {
	width: 120px;
}

#t_feature .t_feature_li .num_tl {
	padding: 4px 0 5px 2px;
}

#t_feature .t_feature_li .num {
	font-size: 4rem;
	padding-left: 4px;
}

#t_feature .t_feature_li .tl_box {
	height: 120px;
	padding-left: 140px;
	margin-bottom: 30px;
}

#t_feature .t_feature_li .tl_txt {
	font-size: 2.6rem;
	letter-spacing: 0.15em;
}

#t_feature .t_feature_li .tl_box:before, #t_feature .t_feature_li .tl_box:after {
	left: 60px;
	width: calc(100% - 60px);
}

#t_feature .t_feature_li .t_feature_lead {
	font-size: 2.2rem;
	letter-spacing: 0.15em;
	margin-bottom: 15px;
}

#t_feature .t_feature_li .btn_area {
	margin-top: 25px;
}

#t_feature .t_feature_li .btn_area .btn {
	margin-left: 0;
}

#t_feature .t_feature_li >li .img picture {
	margin-top: 0;
	margin-bottom: auto;
}

#t_feature .t_feature_li >li+li {
	margin-top: 80px;
}

#t_feature .t_feature_li >li:nth-child(2n) .img picture {order: 2;}

#t_feature .t_feature_li >li:nth-child(2n) .img .txt_block {
	order: 1;
}

#t_feature .t_feature_li .btn_area.btn_area_col02 {display: grid;grid-template-columns: 1fr 1fr;gap: 20px;}

#t_feature .t_feature_li .btn_area>li+li {margin-top: 0;}

#t_feature .t_feature_li .btn_area.btn_area_col02 .btn {
	min-width: inherit;
	width: 100%;
}


#t_greeting .t_greeting_tl .en {
	font-size: 13.1rem;
	padding: 0;
	position: absolute;
	right: -20px;
	top: -202px;
}

#t_greeting:before {
	box-shadow: inset 0px 0px 50px 0px rgba(25, 129, 209, 0.2);
	background: #f8f8fa url(../images/top/greeting_pc.webp) no-repeat center top / auto 100%;
}

#t_greeting .tl_ja {
	font-size: 3rem;
	letter-spacing: 0.12em;
	text-align: left;
	margin-bottom: 20px;
}

#t_greeting .txt_block {
	padding-left: 300px;
}

div#t_greeting {
	padding: 140px 0 150px;
}

#t_greeting .btn_area {
	margin-top: 35px;
	display: grid;
	grid-template-columns: repeat(3 , 1fr);
	gap: 20px;
}

#t_greeting .btn_area>li+li {
	margin-top: 0;
}

#t_greeting .btn_area .btn {
	min-width: inherit;
	width: 100%;
	padding: 21px 40px 23px 30px;
}

#t_greeting .btn_area li {
	background: #fff;
	border-radius: 500px;
}

#t_column {
	padding: 140px 0 150px;
}

.m_post_img img {
	border-radius: 10px;
}

#t_column .btn_area {
	margin-top: 60px;
}

#t_recruit:before {
	background: #f7efe8 url(../images/top/recruit_pc.webp) no-repeat right center / cover;
	position: absolute;
	content: "";
	width: 1000px;
	height: 100%;
	top: 0;
	right: 0;
}

#t_recruit {
	background-image: none;
	position: relative;
	padding: 140px 0 150px;
}

#t_recruit .t_recruit_tl .en {
	font-size: 5.87rem;
}

#t_recruit .t_recruit_tl .ja {
	font-size: 1.8rem;
	vertical-align: 8px;
	padding-left: 16px;
}

#t_recruit .t_recruit_tl {
	margin-bottom: 20px;
}

div#t_recruit .txt_block {
	width: 50%;
}

#t_recruit .btn_area {
	margin-top: 30px;
}

#t_recruit .btn_area .btn {
	margin-left: 0;
}

.m_footer_block {
	display: grid;
	grid-template-columns: 570px 570px;
	justify-content: space-between;
}

footer .flogo {
	width: 250px;
	margin: 0;
	display: grid;
	align-items: center;
}

footer .f_clinic_info {
	margin-bottom: 40px;
	display: grid;
	grid-template-columns: 250px 1fr;
	gap: 30px;
	text-align: left;
}

footer .f_info_box>p:before {
	width: 21px;
	margin-right: 10px;
}

footer .f_info_box>p+p {
	margin-top: 0px;
}
footer .f_time_box .stl:after {
	width: 4px;
	height: 24px;
	top: 4px;
}

footer .f_time_box .stl:before {
	width: 4px;
	height: 12px;
	top: 4px;
}

footer .f_time_box .stl {
	font-size: 1.8rem;
	letter-spacing: 0.12em;
	padding-left: 20px;
	margin-bottom: 20px;
}

footer .f_time_box .stl .txts {
	font-size: 1.4rem;
	padding-left: 5px;
}

footer .eigyou_yuusen {
	padding: 0px 3px 0px 2px;
	font-size: 1.3rem;
	margin-left: 5px;
	border-radius: 5px;
	letter-spacing: 0.05em;
	margin-bottom: 1px;
	display: inline-block;
}

footer .eigyou01 tr>*:last-of-type {
	padding-right: 20px;
}

footer .eigyou01 th, footer .eigyou01 td {
	padding: 11px 0 15px 0;
}

footer .table_border tbody tr>* {
	padding: 15px 0 18px 0;
}

footer .table_border.eigyou01+.stl {
	margin-top: 30px;
}

footer .m_footer_item {
	margin-top: 0;
}

#top_button {
	background: #fff;
}
