@charset "utf-8";
/* mv */
.mv_contents {
  position: relative;
  padding: 40px 0 199px;
  background: #eeeeec;
}
.mv_slide_wrap {
  position: relative;
  width: 100%;
  background: #000;
  aspect-ratio: 390 / 616;
  overflow: hidden;
}
.mv_slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: right bottom;
  opacity: 0;
  transition: opacity 1.5s ease-in-out;
}
.mv_slide:nth-child(1) {
  background: url("../images/top/mv_img_01_sp.jpg") center no-repeat;
}
.mv_slide:nth-child(2) {
  background: url("../images/top/mv_img_02_sp.jpg") center no-repeat;
}
.mv_slide:nth-child(3) {
  background: url("../images/top/mv_img_03_sp.jpg") center no-repeat;
}
.mv_slide:nth-child(4) {
  background: url("../images/top/mv_img_04_sp.jpg") center no-repeat;
}
.mv_slide.active {
  opacity: 1;
}
.logo_mv_wrap {
  position: absolute;
  top: 25%;
  left: 50%;
  transform: translateX(-50%);
  width: 160px;
}
@media only screen and (min-width: 576px) {
  .mv_contents {
    padding: 0;
    height: calc(100vh - 170px);
  }
  .mv_slide_wrap {
    height: 100%;
    padding: 0;
  }
  .mv_slide:nth-child(1) {
    background: url("../images/top/mv_img_01.jpg") right -190px bottom 0 no-repeat;
  }
  .mv_slide:nth-child(2) {
    background: url("../images/top/mv_img_02.jpg") right -190px bottom 0 no-repeat;
  }
  .mv_slide:nth-child(3) {
    background: url("../images/top/mv_img_03.jpg") right -190px bottom 0 no-repeat;
  }
  .mv_slide:nth-child(4) {
    background: url("../images/top/mv_img_04.jpg") right -190px bottom 0 no-repeat;
  }
  .logo_mv_wrap {
    top: 50%;
    transform: translate(-50%, -50%);
    width: 13.1%;
  }
}
@media only screen and (min-width: 768px) {
  .mv_contents {
    height: calc(100vh - 40px);
  }
}
@media only screen and (min-width: 1024px) {
  .mv_contents {
    height: calc(100vh - 115px);
    margin: 70px 0 0;
  }
}
@media only screen and (min-width: 1450px) {
  .mv_slide:nth-child(1) {
    background: url("../images/top/mv_img_01.jpg") right bottom no-repeat;
  }
  .mv_slide:nth-child(2) {
    background: url("../images/top/mv_img_02.jpg") right bottom no-repeat;
  }
  .mv_slide:nth-child(3) {
    background: url("../images/top/mv_img_03.jpg") right bottom no-repeat;
  }
  .mv_slide:nth-child(4) {
    background: url("../images/top/mv_img_04.jpg") right bottom no-repeat;
  }
}
@media only screen and (min-width: 1600px) {
  .mv_contents {
    height: calc(100vh - 200px);
    margin: 140px 0 0;
  }
}
@media only screen and (min-width: 1600px) and (max-height: 980px) {
  .logo_mv_wrap {
    width: 11%;
  }
}
/*
mv 診療時間 */
.mv_medical_hours {
  position: absolute;
  left: 50%;
  bottom: 96px;
  display: grid;
  place-items: center;
  width: 318px;
  height: 204px;
  border-radius: 10px;
  background: #fff;
  transform: translateX(-50%);
}
.mv_medical_hours .info_table {
  margin: 0;
}
.mv_medical_hours .info_table_ttl {
  gap: 0 6px;
  margin: 0 19px 0 4px;
  font-size: 12px;
  font-weight: 500;
}
.mv_medical_hours .sch_icon {
  width: 20px;
}
.mv_medical_hours .table_week {
  font-size: 12px;
  font-weight: 500;
}
.mv_medical_hours .table_time {
  width: 92px;
  margin: 0 3px;
  padding: 2px 0 0;
  font-size: 12px;
}
.mv_medical_hours .table_open {
  width: 11px;
  height: 11px;
}
.mv_medical_hours .info_table_txt_01 {
  margin: 16px 0 0;
  font-size: 12px;
}
.mv_medical_hours .info_table_txt_02 {
  margin: 3px 0 0;
  font-size: 12px;
}
.mv_medical_hours .info_table_txt_02 span {
  margin: 0 3px 0 0;
  font-size: 14px;
}
.mv_medical_hours .info_table tr {
  padding: 9px 3px;
  gap: 0 13px;
}
.mv_medical_hours .info_table tr:first-child {
  padding: 0 3px 3px;
}
.mv_medical_hours .info_table tr:nth-child(2),
.mv_medical_hours .info_table tr:nth-child(3) {
  align-items: center;
  gap: 0 13px;
}
.mv_medical_hours .info_table tr:nth-child(2) td,
.mv_medical_hours .info_table tr:nth-child(3) td {
  display: flex;
  align-items: center;
  height: 14px;
}
.mv_medical_hours .table_close {
  font-size: 11px;
}
.mv_medical_hours .table_txt_orange {
  display: inline-block;
  font-size: 14px;
  line-height: 1;
}
@media only screen and (min-width: 576px) {
  .mv_medical_hours {
    width: 392px;
    aspect-ratio: 620 / 260;
    right: 0;
    left: auto;
    bottom: 0;
    display: grid;
    place-items: center;
    padding: 20px 0 0 20px;
    border-radius: 0;
    background: url("../images/top/mv_medical_hours_bg_tb.png") right
      bottom/contain no-repeat;
    transform: translateX(0);
  }
  .mv_medical_hours .info_table_txt_02 span {
    margin: 0 7px 0 0;
  }
}
/* @media only screen and (min-width: 768px) {
	.mv_medical_hours {
		width: 400px;
	}
	.mv_medical_hours .info_table_ttl {
		font-size: clamp(12px, 1.25vw, 16px);
	}
	.mv_medical_hours .table_week {
		font-size: clamp(12px, 1.25vw, 16px);
	}
	.mv_medical_hours .table_time {
		font-size: clamp(12px, 1.4vw, 18px);
	}
	.mv_medical_hours .info_table_txt_01 {
		font-size: clamp(12px, 1.25vw, 16px);
	}
	.mv_medical_hours .info_table_txt_02 {
		font-size: clamp(12px, 1.25vw, 16px);
	}
	.mv_medical_hours .info_table_txt_02 span {
		font-size: clamp(14px, 1.56vw, 20px);
	}
} */
@media only screen and (min-width: 1440px) {
  .mv_medical_hours {
    width: 620px;
    height: 260px;
    right: 0;
    bottom: 0;
    background: url("../images/top/mv_medical_hours_bg.png") right
      bottom/contain no-repeat;
  }
  .mv_medical_hours .info_table_ttl {
    gap: 0 12px;
    margin: 0 7px;
    font-size: 16px;
  }
  .mv_medical_hours .sch_icon {
    width: 30px;
  }
  .mv_medical_hours .table_week {
    font-size: 16px;
  }
  .mv_medical_hours .table_time {
    width: 121px;
    margin: 0;
    padding: 0;
    font-size: 18px;
  }
  .mv_medical_hours .table_open {
    width: 16px;
    height: 16px;
  }
  .mv_medical_hours .info_table_txt_01 {
    margin: 18px 0 0;
    font-size: 16px;
  }
  .mv_medical_hours .info_table_txt_02 {
    margin: 5px 0 0;
    font-size: 16px;
  }
  .mv_medical_hours .info_table_txt_02 span {
    font-size: 20px;
  }
  .mv_medical_hours .info_table tr:first-child {
    padding: 7px 5.5px;
  }
  .mv_medical_hours .info_table tr {
    gap: 0 32px;
    padding: 7px 5.5px;
  }
  .mv_medical_hours .info_table tr:nth-child(2),
  .mv_medical_hours .info_table tr:nth-child(3) {
    gap: 0 32px;
  }
  .mv_medical_hours .info_table tr:nth-child(2) td,
  .mv_medical_hours .info_table tr:nth-child(3) td {
    height: 20px;
  }
  .mv_medical_hours .table_close {
    font-size: 16px;
  }
  .mv_medical_hours .table_txt_orange {
    font-size: 20px;
  }
}
/* タイトル */
.top_sec_ttl {
  position: relative;
}
.top_sec_ttl::before {
  content: "";
  display: block;
  background-image: url(../images/common/ttl_icon.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 17px;
  height: 17px;
  position: absolute;
  top: -10px;
  left: -24px;
}
.top_sec_ttl_en {
  font-size: 30px;
  line-height: 1.3;
}
.top_sec_ttl_jp {
  font-size: 17px;
  font-weight: 500;
  margin: 5px 0 0;
}
@media only screen and (min-width: 768px) {
  .top_sec_ttl_en {
    font-size: clamp(30px, 3.75vw, 48px);
  }
  .top_sec_ttl_jp {
    font-size: clamp(17px, 2vw, 26px);
  }
}
@media only screen and (min-width: 1280px) {
  .top_sec_ttl_en {
    font-size: 48px;
  }
  .top_sec_ttl_jp {
    font-size: 26px;
    margin: 10px 0 0;
  }
  .top_sec_ttl::before {
    width: 24px;
    height: 24px;
    left: -34px;
  }
}

/* About */
.top_about_ttl::before {
  display: none;
}
.top_sec_ttl_en_about {
  color: #50b6bb;
}
.top_about_contents_wrap {
  display: flex;
  flex-direction: column;
  gap: 31px 0;
}
.top_about_contents {
  position: relative;
  display: block;
  aspect-ratio: 620 / 360;
  border-radius: 10px;
  overflow: hidden;
}
.top_about_contents_01 .top_about_contents {
  margin: 30px 0 0;
}
.top_about_contents_img {
  width: 100%;
  height: 100%;
  transition: all 0.5s ease-out;
}
.top_about_contents_txt {
  position: absolute;
  left: 0;
  bottom: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0 20px;
  width: 214px;
  height: 81px;
  padding: 25px 42px 0 12px;
  background: url("../images/top/about_contents_bg.png") left bottom/contain
    no-repeat;
}
.top_about_contents_txt .__jp {
  margin: 4px 0 0;
  font-size: 16px;
  font-weight: 500;
}
.top_about_contents_txt .__en {
  font-size: 12px;
  font-weight: 700;
  color: #50b6bb;
}
.top_about_arw {
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #50b6bb;
}
.top_about_arw svg {
  width: 5px;
  fill: #fff;
}
@media only screen and (min-width: 768px) {
  .top_about_contents_01 .top_about_contents {
    margin: 72px 0 0;
  }
  .top_about_contents_wrap {
    flex-direction: row;
    gap: 0 39px;
  }
  .top_about_contents_01,
  .top_about_contents_02 {
    width: calc(50% - 39px / 2);
  }
  .top_about_contents_txt .__jp {
    font-size: clamp(16px, 2vw, 26px);
  }
  .top_about_contents_txt .__en {
    font-size: clamp(12px, 1.56vw, 20px);
  }
  .top_about_contents_txt {
    gap: 0 15px;
    width: 250px;
    height: 96px;
    padding: 25px 50px 0 16px;
  }
}
@media only screen and (min-width: 1280px) {
  .top_about_contents:hover .top_about_contents_img {
    transform: scale(1.1);
  }
  .top_about_contents_txt {
    gap: 0 20px;
    width: 304px;
    height: 119px;
    padding: 39px 55px 0 16px;
  }
  .top_about_contents_txt .__jp {
    font-size: 26px;
  }
  .top_about_contents_txt .__en {
    font-size: 20px;
  }
  .top_about_arw {
    width: 28px;
    height: 28px;
  }
  .top_about_arw svg {
    width: 8px;
  }
}
/* 診療スケジュール */
.top_schedule_ttl::before {
  display: none;
}
.top_schedule_ttl .top_sec_ttl_en {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 7px;
  font-size: 13px;
}
.top_schedule_ttl .top_sec_ttl_en img {
  width: 17px;
}
.top_schedule_ttl .top_sec_ttl_jp {
  font-size: 26px;
  margin: 9px 0 0;
  text-align: center;
  line-height: 1.45;
}
@media only screen and (min-width: 768px) {
  #schedule .page_inner {
    padding: 60px 0 300px;
  }
  .top_schedule_ttl .top_sec_ttl_en {
    font-size: clamp(13px, 1.56vw, 20px);
  }
  .top_schedule_ttl .top_sec_ttl_jp {
    font-size: clamp(26px, 3.12vw, 40px);
  }
}
@media only screen and (min-width: 1280px) {
  #schedule .page_inner {
    padding: 120px 0 430px;
  }
  .top_schedule_ttl .top_sec_ttl_en {
    gap: 0 10px;
    font-size: 20px;
  }
  .top_schedule_ttl .top_sec_ttl_en img {
    width: 24px;
  }
  .top_schedule_ttl .top_sec_ttl_jp {
    font-size: 40px;
    margin: 10px 0 0;
  }
}
/* 診療案内 */
.treatment_inner {
  padding: 0 0 80px;
}
@media only screen and (min-width: 576px) {
  .treatment_inner {
    padding: 90px 0 80px;
  }
}
@media only screen and (min-width: 768px) {
  .treatment_inner {
    padding: 120px 0 80px;
  }
}
@media only screen and (min-width: 1280px) {
  .treatment_inner {
    padding: 180px 0 160px;
  }
}
/*
レイアウト */
.top_treatment_btn_wrap {
  margin: 40px 0 0;
}
.top_treatment_list {
  margin: 30px 0 0;
}
@media only screen and (min-width: 768px) {
  .top_treatment_contents {
    display: grid;
    gap: 0 60px;
    grid-template-columns: 290px 1fr;
  }
  .top_treatment_ttl {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
  }
  .top_treatment_btn_wrap {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
  }
  .top_treatment_list {
    grid-column: 2 / 3;
    grid-row: 1 / 3;
    margin: 0;
  }
}
@media only screen and (min-width: 1280px) {
  .top_treatment_contents {
    gap: 0 105px;
  }
  .top_treatment_btn_wrap {
    margin: 46px 0 0;
  }
}
/*
リスト */
.top_treatment_list {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.top_treatment_item {
  width: calc(50% - 4px / 2);
  height: 60px;
}
.top_treatment_link {
  display: flex;
  align-items: center;
  gap: 0 7px;
  width: 100%;
  height: 100%;
  padding: 0 9px;
  border-radius: 5px;
  background: #fff;
}
.top_treatment_list_icon {
  display: grid;
  place-items: center;
  width: 39px;
  height: 30px;
}
.top_treatment_item:nth-child(1) .top_treatment_list_icon img {
  width: 15px;
}
.top_treatment_item:nth-child(2) .top_treatment_list_icon img {
  width: 26px;
}
.top_treatment_item:nth-child(3) .top_treatment_list_icon img {
  width: 23px;
}
.top_treatment_item:nth-child(4) .top_treatment_list_icon img {
  width: 28px;
}
.top_treatment_item:nth-child(5) .top_treatment_list_icon img {
  width: 39px;
}
.top_treatment_item:nth-child(6) .top_treatment_list_icon img {
  width: 23px;
}
.top_treatment_list_name .__en {
  font-size: 9px;
  font-weight: 700;
  color: #50b6bb;
}
.top_treatment_list_name .__jp {
  font-weight: 500;
  font-size: 14px;
}
@media only screen and (min-width: 830px) {
  .top_treatment_list {
    gap: 10px;
  }
  .top_treatment_item {
    width: calc(33.333% - 10px * 2 / 3);
    height: auto;
    max-height: 200px;
    aspect-ratio: 288 / 200;
  }
  .top_treatment_link {
    flex-direction: column;
    justify-content: center;
    padding: 30px 0 20px;
    border-radius: 10px;
  }
  .top_treatment_list_icon {
    width: auto;
    height: 87px;
  }
  .top_treatment_list_name .__jp {
    text-align: center;
  }
}
@media only screen and (min-width: 1024px) {
  .top_treatment_item:nth-child(1) .top_treatment_list_icon img {
    width: 30px;
  }
  .top_treatment_item:nth-child(2) .top_treatment_list_icon img {
    width: 52px;
  }
  .top_treatment_item:nth-child(3) .top_treatment_list_icon img {
    width: 46px;
  }
  .top_treatment_item:nth-child(4) .top_treatment_list_icon img {
    width: 56px;
  }
  .top_treatment_item:nth-child(5) .top_treatment_list_icon img {
    width: 78px;
  }
  .top_treatment_item:nth-child(6) .top_treatment_list_icon img {
    width: 46px;
  }
  .top_treatment_list_name {
    margin: 10px 0 0;
  }
  .top_treatment_list_name .__en {
    font-size: clamp(9px, 1vw, 13px);
    text-align: center;
  }
  .top_treatment_list_name .__jp {
    font-size: clamp(14px, 1.56vw, 20px);
    text-align: center;
  }
}
@media only screen and (min-width: 1600px) {
  .top_treatment_item:nth-child(1) .top_treatment_list_icon img {
    width: auto;
  }
  .top_treatment_item:nth-child(2) .top_treatment_list_icon img {
    width: auto;
  }
  .top_treatment_item:nth-child(3) .top_treatment_list_icon img {
    width: auto;
  }
  .top_treatment_item:nth-child(4) .top_treatment_list_icon img {
    width: auto;
  }
  .top_treatment_item:nth-child(5) .top_treatment_list_icon img {
    width: auto;
  }
  .top_treatment_item:nth-child(6) .top_treatment_list_icon img {
    width: auto;
  }
  .top_treatment_list_name .__en {
    font-size: 13px;
  }
  .top_treatment_list_name .__jp {
    font-size: 20px;
  }
}
/*
ボタン */
.top_treatment_btn {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 203px;
  height: 56px;
  margin: auto;
  padding: 18px 18px 18px 36px;
  border: solid 2px #50b6bb;
  border-radius: 40px;
  background: #50b6bb;
  color: #fff;
  transition: all 0.5s ease-out;
}
.top_treatment_btn_icon {
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #fff;
  transition: all 0.5s ease-out;
}
.top_treatment_btn_icon svg {
  width: 6px;
  fill: #50b6bb;
  transition: all 0.5s ease-out;
}
.top_treatment_btn_txt {
  font-size: 14px;
}
@media screen and (min-width: 768px) {
  .top_treatment_btn_txt {
    font-size: clamp(14px, 1.56vw, 28px);
  }
}
@media screen and (min-width: 1280px) {
  .top_treatment_btn {
    width: 290px;
    height: 80px;
    margin: 0;
    padding: 23px 26px 23px 52px;
  }
  .top_treatment_btn_icon {
    width: 28px;
    height: 28px;
  }
  .top_treatment_btn_txt {
    font-size: 20px;
  }
  .top_treatment_btn_icon svg {
    width: 8px;
  }
  .top_treatment_btn:hover {
    background: #fff;
    color: #50b6bb;
  }
  .top_treatment_btn:hover .top_treatment_btn_icon {
    background: #50b6bb;
  }
  .top_treatment_btn:hover .top_treatment_btn_icon svg {
    fill: #fff;
  }
}
/* Find Us */
.top_findUs_wrap {
  display: flex;
  flex-direction: column;
  gap: 11px 0;
}
.top_findUs_ttl {
  width: 100%;
  padding: 30px 0 0;
  aspect-ratio: 510 / 513;
  background: url("../images/top/find_us_img.png") right top/contain no-repeat;
}
.top_findUs_btn {
  display: flex;
  gap: 0 10px;
  padding: 19px 0;
  border-bottom: solid #bfbfbf 1px;
}
.top_findUs_img {
  width: 154px;
  border-radius: 5px;
  aspect-ratio: 290 / 205;
  overflow: hidden;
}
.top_findUs_img img {
  transition: all 0.5s ease-out;
}
.top_findUs_txt_wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0 12px;
  flex: 1;
}
.top_findUs_txt .__en {
  font-size: 12px;
  font-weight: 700;
  color: #50b6bb;
}
.top_findUs_txt .__jp {
  font-size: 14px;
  font-weight: 500;
}
.top_findUs_arw {
  display: grid;
  place-items: center;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #50b6bb;
  transition: all 0.5s ease-out;
}
.top_findUs_arw svg {
  width: 5px;
  fill: #fff;
  transition: all 0.5s ease-out;
}
@media screen and (min-width: 420px) {
  .top_findUs_txt_br {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .top_findUs_contents {
    flex: 1;
    padding: 10px 0 0;
  }
  .top_findUs_btn {
    gap: 0 30px;
  }
  .top_findUs_ttl {
    width: 39.9%;
    padding: 10px 0 0;
  }
  .top_findUs_wrap {
    flex-direction: row;
    gap: 0 80px;
  }
  .top_findUs_txt .__en {
    font-size: clamp(12px, 1.56vw, 20px);
  }
  .top_findUs_txt .__jp {
    font-size: clamp(14px, 2vw, 26px);
  }
}
@media screen and (min-width: 1280px) {
  .top_findUs_btn {
    padding: 30px 0;
  }
  .top_findUs_img {
    max-width: 290px;
    border-radius: 10px;
  }
  .top_findUs_btn:hover .top_findUs_img img {
    transform: scale(1.1);
  }
  .top_findUs_txt .__en {
    font-size: 20px;
  }
  .top_findUs_txt .__jp {
    font-size: 26px;
  }
  .top_findUs_arw {
    width: 28px;
    height: 28px;
  }
  .top_findUs_arw svg {
    width: 8px;
  }
}
/* お知らせ */
/* レイアウト */
.top_news_contents_wrap {
  display: grid;
  gap: 24px;
  grid-template-columns: 1fr;
  grid-template-areas:
    "ttl"
    "list"
    "btn";
}
.top_news_side {
  display: contents;
}
.top_news_sec_ttl {
  grid-area: ttl;
}
.top_news_list {
  grid-area: list;
}
.top_news_btn_wrap {
  grid-area: btn;
  justify-self: start; /* 必要なら center / end */
}
@media (min-width: 769px) {
  .top_news_contents_wrap {
    grid-template-columns: auto 1fr; /* 左カラム幅は調整可 */
    grid-template-areas: "side list";
    column-gap: 198px;
    align-items: start;
  }
  .top_news_side {
    display: grid;
    grid-area: side;
    gap: 72px;
    align-content: start;
  }
  .top_news_list {
    grid-area: list;
  }
  .top_news_sec_ttl {
    grid-area: auto;
  }
  .top_news_btn_wrap {
    grid-area: auto;
  }
}
/*
パーツ類 */
.top_news_btn_wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0 10px;
  width: 90px;
  margin: 0 0 0 auto;
  padding: 0 0 7px;
  border-bottom: solid #bfbfbf 1px;
}
.top_news_btn_txt {
  color: #50b6bb;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  transition: all 0.5s ease-out;
}
.top_news_btn_arw svg {
  width: 10px;
  fill: #50b6bb;
  transition: all 0.5s ease-out;
}
.top_news_link {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0 10px;
}
.top_news_list {
  display: flex;
  flex-direction: column;
  gap: 19px 0;
}
.top_news_img {
  width: 154px;
  aspect-ratio: 154 / 108;
  border-radius: 5px;
  overflow: hidden;
}
.top_news_img.has-border {
  border: #eeeeec 2px solid;
}
.top_news_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.top_news_ttl_wrap {
  flex: 1;
}
.top_news_date {
  color: #50b6bb;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
}
.top_news_ttl {
  margin: 3px 0 0;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (min-width: 1100px) {
  .top_news_contents_wrap {
    column-gap: 100px;
  }
  .top_news_list {
    flex-direction: row;
    gap: 0 25px;
  }
  .top_news_item {
    width: calc(33.333% - 50px / 3);
  }
  .top_news_btn_wrap {
    width: 110px;
    margin: 0;
  }
  .top_news_btn_txt {
    font-size: clamp(14px, 1.25vw, 16px);
  }
  .top_news_link {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px 0;
  }
  .top_news_img {
    width: auto;
    border-radius: 10px;
  }
  .top_news_img.has-border {
    border: #eeeeec 5px solid;
  }
  .top_news_ttl {
    font-size: clamp(14px, 1.56vw, 20px);
  }
  .top_news_date {
    font-size: 13px;
  }
}
@media screen and (min-width: 1280px) {
  .top_news_btn_txt {
    font-size: 16px;
  }
  .top_news_btn_wrap:hover .top_news_btn_txt {
    color: #222;
  }
  .top_news_btn_arw svg {
    width: 12px;
  }
  .top_news_btn_wrap:hover .top_news_btn_arw svg {
    transform: translateX(4px);
    fill: #222;
  }
  .top_news_ttl {
    margin: 5px 0 0;
    font-size: 20px;
  }
}
@media screen and (min-width: 1440px) {
	.top_news_contents_wrap {
		column-gap: 130px;
	}
  .top_news_list {
    gap: 0 30px;
  }
  .top_news_item {
    width: calc(33.333% - 60px / 3);
  }
}
@media screen and (min-width: 1600px) {
	.top_news_contents_wrap {
		column-gap: 198px;
	}
  .top_news_list {
    gap: 0 40px;
  }
  .top_news_item {
    width: calc(33.333% - 80px / 3);
  }
}
/* 診療スケジュール */
.top_schedule_inner {
  padding: 60px 0 80px;
}
@media screen and (min-width: 768px) {
  .top_schedule_inner {
    padding: 120px 0 290px;
  }
}
@media screen and (min-width: 1280px) {
  .top_schedule_inner {
    padding: 120px 0 410px;
  }
}
.google_calendar {
  width: 100%;
  height: 314px;
  margin: 21px 0 0;
}
@media screen and (min-width: 768px) {
  .google_calendar {
    height: 676px;
    margin: 40px 0 0;
  }
}
