@charset "UTF-8";
/* ---------------------
  - *共通
  - *メインビジュアル
  - *お知らせ
  - *医院概要
  - *ご挨拶
  - *当院の特徴
  - *診療案内
  - *医療コラム
  - *スライダー
--------------------- */

h1 {
  background: none;
}

/*==================================================================================================================================

  *共通

==================================================================================================================================*/
/* inner */
.home_inner {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 640px) {
  .home_inner {
    padding-left: 5%;
    padding-right: 5%;
  }
}

/* タイトル */
.home_tit {
  text-align: center;
  margin-bottom: 30px;
}
.home_tit_illust {
  margin-inline: auto;
}
.home_tit_en {
  color: #00a750;
  font-size: 20px;
  font-family: "new-zen", sans-serif;
  font-weight: 600;
  font-style: normal;
  letter-spacing: 0.02em;
  line-height: 1.3;
}
.home_tit_jp {
  color: #a87638;
  font-size: 28px;
  font-family: "fot-tsukubrdgothic-std", sans-serif;
  font-weight: 700;
  font-style: normal;
  letter-spacing: 0.02em;
  line-height: 1.5;
}

/* ボタン */
main .btn01 a {
  margin: 0;
}

/*==================================================================================================================================

  *メインビジュアル

==================================================================================================================================*/
.home_mv {
  position: relative;
  overflow: hidden;
}

.home_mv_slider .slick-slide img {
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.home_mv_main {
  font-family: "fot-tsukubrdgothic-std", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.home_mv_catch {
  width: 100%;
  color: #b28348;
  font-size: 37px;
  letter-spacing: 0.02em;
  line-height: 1.7;
  text-align: center;
  text-shadow: 0 0 2px #fff, 0 0 2px #fff, 0 0 4px #fff, 0 0 4px #fff, 0 0 6px #fff, 0 0 6px #fff;
  position: absolute;
  left: 0;
  top: 275px;
}
.home_mv_catch span:nth-child(1) {
  color: #90c31f;
}
.home_mv_catch span:nth-child(2) {
  color: #f59e0b;
}
.home_mv_catch span:nth-child(3) {
  color: #29a7e1;
}

.home_mv_open {
  width: 100%;
  max-width: 300px;
}

.home_mv_feature {
  display: flex;
  align-items: flex-end;
  gap: 0 20px;
  position: absolute;
  bottom: 200px;
  left: 315px;
}
.home_mv_feature_fsS {
  font-size: 84%;
}
.home_mv_feature_fsSs {
  font-size: 76%;
}
.home_mv_feature_fsSs span {
  font-size: 163%;
  line-height: 1;
}
.home_mv_feature li {
  width: 214px;
  aspect-ratio: 1;
  font-size: 25px;
  letter-spacing: 0.08em;
  line-height: 1.6;
  text-align: center;
}
.home_mv_feature li,
.home_mv_feature li a {
  color: #fff;
}
.home_mv_feature li > * {
  display: flex;
  flex-flow: column;
  justify-content: center;
  gap: 0.7em 0;
  height: 100%;
  background: url(../images/home/mv_feature_bg2.png) center/100% auto no-repeat;
  padding-bottom: 12%;
}
@media (hover: hover) {
  .home_mv_feature li > a {
    transition: transform 0.3s;
  }
  .home_mv_feature li > a:hover {
    transform: translateY(-8px);
  }
}
.home_mv_feature li img {
  display: block;
  max-width: 40px;
  margin: 0 auto 5px;
}
.home_mv_feature_text a {
  display: inline-block;
  position: relative;
}
.home_mv_feature_text a::after {
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 1.5em;
  aspect-ratio: 1;
  background: #fff;
  border-radius: 50%;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f105";
  color: var(--sub-color);
  font-size: 80%;
  letter-spacing: 0;
  line-height: 1;
  position: absolute;
  right: calc(-1.5em - 5px);
  bottom: 0.2em;
}
@media (hover: hover) {
  .home_mv_feature_text a::after {
    transition: color 0.3s, right 0.3s;
  }
  .home_mv_feature_text a:hover::after {
    color: var(--main-color);
    right: calc(-1.5em - 10px);
  }
}
.home_mv_feature .home_mv_feature_access > * {
  background-image: url(../images/home/mv_feature_bg1.png);
}
.home_mv_feature .home_mv_feature_access .home_mv_feature_fsSs {
  display: inline-block;
}

.home_mv_banner:not(.home_mv_banner-btn) a:hover {
  opacity: 0.8;
}

.home_mv_banner .btn01 a {
  font-size: 120%;
  line-height: 1.7;
  margin-top: 0;
  margin-bottom: 0;
}

@media print, screen and (min-width: 641px) {
  .home_mv,
  .home_mv_slider .slick-slide img {
    height: 935px;
  }
  .home_mv {
    max-width: 1920px;
    margin-inline: auto;
  }
  .home_mv_main {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 100%;
    margin: 0 auto;
    width: 1200px;
  }
  .home_mv_main > * {
    z-index: 1;
  }
  .home_mv_open {
    position: absolute;
    bottom: 210px;
    left: 0;
  }
  .home_mv_ribon {
    position: absolute;
    bottom: 200px;
    left: 0;
  }
  .home_mv_banner {
    position: absolute;
    bottom: 200px;
    right: 0;
  }
  .home_mv_banner:not(.home_mv_banner-btn) {
    max-width: 400px;
    height: 110px;
  }
  .home_mv_banner:not(.home_mv_banner-btn) img {
    max-height: 100%;
    width: auto;
  }
}

@media screen and (max-width: 640px) {
  .home_mv_slider .slick-slide img,
  .home_mv_catch {
    height: 400px;
  }
  .home_mv_slider_item {
    vertical-align: top;
  }
  .home_mv_main {
    background: url(../images/home/feature_bg.jpg) center top/100% auto no-repeat;
    padding: 20px 5% calc(8% + 20px);
  }
  .home_mv_catch {
    display: flex;
    flex-flow: column;
    justify-content: center;
    font-size: clamp(16px, 4.8vw, 20px);
    padding: 0 5% 24%;
    left: 0;
    top: 0;
  }
  .home_mv_open {
    text-align: center;
    margin-inline: auto;
  }
  .home_mv_feature {
    width: 80%;
    justify-content: center;
    gap: 0 5px;
    bottom: auto;
    top: 390px;
    left: 50%;
    transform: translate(-50%, -100%);
  }
  .home_mv_feature li {
    max-width: 160px;
    width: calc((100% - 5px) / 2);
    font-size: clamp(14px, 4.5vw, 18px);
  }
  .home_mv_feature li img {
    max-width: 30px;
  }
  .home_mv_ribon,
  .home_mv_banner {
    text-align: center;
    margin-top: 10px;
  }
}

/*==================================================================================================================================

  *お知らせ

==================================================================================================================================*/
.home_news {
  padding-top: 100px;
  padding-bottom: 148px;
  position: relative;
}
.home_news::before {
  display: block;
  content: "";
  width: 100%;
  height: calc(100% + 352px);
  background: url(../images/home/news_bg.png) center top no-repeat;
  pointer-events: none;
  position: absolute;
  top: -352px;
  left: 0;
}
.home_news .home_inner {
  position: relative;
}
.home_news .btn01 {
  text-align: center;
  margin-top: 20px;
}
.home_news .home_tit {
  margin-bottom: 0;
}
.home_news .home_tit_illust {
  max-width: 142px;
}
.home_news_list > li {
  letter-spacing: 0.14em;
  line-height: 1.6;
}
.home_news_list > li:not(:last-child) {
  margin-bottom: 23px;
}
.home_news_list > li a {
  display: flex;
  align-items: center;
  gap: 10px 15px;
  color: var(--text-color);
  background: #fff;
  border: 2px solid #fff;
  padding: 19px 40px 19px 30px;
  border-radius: 36px;
}
@media (hover: hover) {
  .home_news_list > li a {
    transition: border-color 0.4s;
  }
  .home_news_list > li a:hover {
    border-color: var(--sub-color);
  }
}
.home_news_list > li a > * {
  display: block;
}
.home_news_list > li a > span,
.home_news_list > li a > em {
  flex-shrink: 0;
}
.home_news_list > li a > em {
  padding: 2px 15px;
  border-radius: 12px;
}
.home_news_list > li a > p {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

@media print, screen and (min-width: 641px) {
  .home_news .home_inner {
    display: flex;
    justify-content: space-between;
  }
  .home_news_list {
    width: 960px;
    flex-shrink: 0;
  }
}

@media screen and (max-width: 640px) {
  .home_news {
    padding-top: 30%;
    padding-bottom: calc(4% + 40px);
    background: url(../images/home/news_bg_sp.png) center top/100% auto no-repeat;
    margin-top: -8%;
    overflow: hidden;
  }
  .home_news::before {
    height: 100%;
    background-image: url(../images/home/news_bg_sp.jpg);
    background-size: 100% auto;
    background-repeat: repeat-y;
    top: 0;
    margin-top: 34%;
    z-index: -1;
  }
  .home_news_head {
    margin-bottom: 30px;
  }
  .home_news_list > li:not(:last-child) {
    margin-bottom: 15px;
  }
  .home_news_list > li a {
    flex-wrap: wrap;
    padding: 18px 20px;
  }
  .home_news_list > li a > p {
    width: 100%;
  }
}

/*==================================================================================================================================

  *医院概要

==================================================================================================================================*/
.home_info {
  background: url(../images/home/info_bg_top.png) center top no-repeat, url(../images/home/info_bg.jpg) center top 86px no-repeat;
  padding-top: 235px;
  padding-bottom: 280px;
  margin-top: -88px;
  position: relative;
}

.home_info .home_inner {
  display: flex;
  justify-content: space-between;
  background: #fff;
  border-radius: 20px;
  padding: 60px;
}

/* 左側 */
.home_info_left {
  width: 516px;
}

.home_info_logo {
  max-width: 234px;
  text-align: center;
  margin: 0 auto 25px;
}

.home_info_logo img {
  width: auto;
  max-height: 200px;
}

.home_info address {
  padding-top: 12px;
  background: url(../images/info_dec.png) right top/auto 12px no-repeat;
}

.home_info address dl {
  display: flex;
  align-items: center;
  gap: 0 15px;
  letter-spacing: 0.02em;
  line-height: 1.6;
  padding: 14px 0 26px;
  background: url(../images/info_dec.png) right bottom/auto 12px no-repeat;
}

.home_info address dt {
  width: 120px;
  color: #00a750;
  font-size: 20px;
  font-family: "new-zen", sans-serif;
  font-weight: 600;
  font-style: normal;
  text-align: center;
}

.home_info address dd {
  flex: 1;
	font-size: 14px;
}

.home_info_tel a {
  color: #56a828;
  font-size: 32px;
  font-family: "new-zen", sans-serif;
  font-weight: 600;
  font-style: normal;
  letter-spacing: 0.1em;
  line-height: 1;
}

.home_info_free {
  margin-top: 5px;
}

.home_info_schedule {
  margin-top: 20px;
}

.home_info_schedule .hours:not(:last-child) {
  margin-bottom: 30px;
}

/* 右側 */
.home_info_right {
  width: 502px;
  padding-top: 60px;
}

.home_access_map {
  border-radius: 40px;
  overflow: hidden;
  text-align: center;
}

.home_access_map iframe {
  width: 100%;
  height: 390px;
}

.home_access > .btn01 {
  text-align: center;
  margin-top: 30px;
}

.home_access > .btn01 a {
  font-size: 14px;
  padding: 12px 50px;
}

.home_access_guide {
  margin-top: 30px;
  border-radius: 20px;
  background: #e6f5d6;
  padding: 22px 20px;
}

.home_access_guide li {
  color: #a87638;
  font-family: 106%;
  font-family: "fot-tsukubrdgothic-std", sans-serif;
  font-weight: 700;
  font-style: normal;
  letter-spacing: 0.08em;
  text-align: center;
}

@media screen and (max-width: 640px) {
  .home_info {
    background: url(../images/home/info_bg_top.png) center top/100% auto no-repeat;
    padding: calc(4% + 40px) 5% calc(16% + 30px);
    margin-top: -4%;
    overflow: hidden;
  }
  .home_info::before {
    display: block;
    content: "";
    width: 100%;
    height: 100%;
    background: url(../images/home/info_bg_sp.jpg) center top/100% auto repeat-y;
    margin-top: 4%;
    pointer-events: none;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
  .home_info .home_inner {
    display: block;
    padding: 35px 6%;
  }
  .home_info_left,
  .home_info_right {
    width: 100%;
  }

  /* 左側 */
  .home_info_left {
    margin-bottom: 30px;
  }
  .home_info_logo {
    width: 70%;
  }
  .home_info address {
    background-position: left top;
  }
  .home_info address dl {
    display: block;
    padding: 5px 0 17px;
    background-position: left bottom;
  }
  .home_info address dt {
    width: 100%;
    text-align: center;
  }
  .home_info address dd {
    text-align: left;
  }
  .home_info_tel a {
    font-size: clamp(26px, 8.5vw, 32px);
  }

  /* 右側 */
  .home_info_right {
    padding-top: 0;
  }
  .home_access_map {
    border-radius: 20px;
  }
  .home_access > .btn01 {
    margin-top: 20px;
  }
  .home_access_guide {
    margin-top: 20px;
    padding: 15px 20px;
  }
}

/*==================================================================================================================================

  *ご挨拶

==================================================================================================================================*/
.home_greeting {
  padding-bottom: 78px;
  background: url(../images/home/greeting_bg.png) center top no-repeat;
  position: relative;
  overflow: hidden;
  margin-top: -120px;
}
.home_greeting_wrap {
  padding-top: 75px;
  position: relative;
}
.home_greeting_wrap > * {
  position: relative;
}
.home_greeting .home_tit_illust {
  max-width: 234px;
  margin-bottom: 12px;
}
.home_greeting_img {
  margin-bottom: 20px;
}
.home_greeting_img img {
  -webkit-mask-image: url(../images/home/greeting_img_mask.png);
          mask-image: url(../images/home/greeting_img_mask.png);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: 100%;
          mask-size: 100%;
}
.home_greeting_name {
  color: #a87638;
  font-size: 17px;
  font-family: "fot-tsukubrdgothic-std", sans-serif;
  font-weight: 700;
  font-style: normal;
  letter-spacing: 0.02em;
  line-height: 1.6;
}
.home_greeting_name .name span {
  font-size: 159%;
}
.home_greeting_text {
  text-shadow: #fff 2px 0px, #fff -2px 0px, #fff 0px -2px, #fff 0px 2px, #fff 2px 2px, #fff -2px 2px, #fff 2px -2px, #fff -2px -2px, #fff 1px 2px, #fff -1px 2px, #fff 1px -2px, #fff -1px -2px, #fff 2px 1px, #fff -2px 1px, #fff 2px -1px, #fff -2px -1px;
  letter-spacing: 0.02em;
  line-height: 2.5;
}
.home_greeting_text h3 {
  color: var(--sub-color);
  font-size: 24px;
  font-family: "fot-tsukubrdgothic-std", sans-serif;
  font-weight: 700;
  font-style: normal;
  line-height: 1.7;
  margin-bottom: 1em;
}
.home_greeting .btn01 {
  width: 100%;
  text-align: center;
  margin-top: 30px;
}

@media print, screen and (min-width: 641px) {
  .home_greeting_wrap {
    min-height: 1238px;
  }
  .home_greeting_wrap::before {
    display: block;
    content: "";
    width: 1588px;
    aspect-ratio: 1588/1238;
    background: url(../images/home/greeting_bg2.png) center top/100% auto no-repeat;
    pointer-events: none;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
  }
  .home_greeting .home_tit {
    margin-bottom: -85px;
  }
  .home_greeting_flex {
    display: flex;
    flex-wrap: wrap;
    gap: 0 55px;
    flex-direction: row-reverse;
  }
  .home_greeting_flex_img {
    width: 362px;
  }
  .home_greeting_flex_text {
    flex: 1;
    padding-left: 75px;
    padding-top: 105px;
  }
  .home_greeting_img {
    margin-right: -20px;
  }
  .home_greeting_name {
    padding-left: 45px;
  }
  .home_greeting .btn01 a {
    min-width: 216px;
  }
}

@media screen and (max-width: 640px) {
  .home_greeting {
    padding-top: 30%;
    padding-bottom: calc(16% + 40px);
    background-image: url(../images/home/greeting_bg_sp_top.png);
    background-size: 100% auto;
    margin-top: -16%;
  }
  .home_greeting::before {
    display: block;
    content: "";
    width: 100%;
    height: 100%;
    background: url(../images/home/greeting_bg_sp.jpg) center top/100% auto repeat-y;
    pointer-events: none;
    position: absolute;
    top: 0;
    left: 0;
    margin-top: 22%;
    z-index: -1;
  }
  .home_greeting .home_inner {
    padding: 0;
  }
  .home_greeting_wrap {
    background: #fff;
    padding: 0 5%;
  }
  .home_greeting_wrap::before, .home_greeting_wrap::after {
    display: block;
    content: "";
    width: 100%;
    background-size: 100% auto;
    background-repeat: no-repeat;
    pointer-events: none;
    position: absolute;
    left: 0;
  }
  .home_greeting_wrap::before {
    background-image: url(../images/home/greeting_bg2_sp_top.png);
    aspect-ratio: 768/140;
    top: 0;
    margin-top: -18%;
  }
  .home_greeting_wrap::after {
    background-image: url(../images/home/greeting_bg2_sp_btm.png);
    aspect-ratio: 768/380;
    bottom: 0;
    margin-bottom: -16%;
  }
  .home_greeting_wrap > * {
    z-index: 1;
  }
  .home_greeting .home_tit_illust {
    max-width: 156px;
    margin-bottom: 5px;
  }
  .home_greeting_flex_img {
    text-align: center;
    margin-bottom: 20px;
  }
  .home_greeting_img {
    width: 80%;
    margin: 0 auto 20px;
  }
  .home_greeting_text h3 {
    font-size: 20px;
  }
  .home_greeting .btn01 {
    margin-top: 20px;
  }
}

/*==================================================================================================================================

  *当院の特徴～診療案内　背景

==================================================================================================================================*/
.home_feature_medical {
  max-width: 1920px;
  margin-inline: auto;
  padding-top: 220px;
  background-image: url(../images/home/feature_bg_l.png), url(../images/home/feature_bg_r.png), url(../images/home/feature_bg_top.png);
  background-repeat: no-repeat;
  background-position: left top 700px, right top 810px, center top;
  margin-top: -76px;
  position: relative;
  overflow: hidden;
}
.home_feature_medical::before {
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  background: url(../images/home/feature_bg.jpg) center top repeat-y;
  pointer-events: none;
  position: absolute;
  left: 0;
  top: 100px;
  z-index: -1;
}

@media screen and (max-width: 640px) {
  .home_feature_medical {
    padding-top: calc(4% + 40px);
    background-image: url(../images/home/feature_bg_top.png);
    background-position: center top;
    background-size: 100% auto;
    margin-top: -4%;
  }
  .home_feature_medical::before {
    background-size: 100% auto;
    top: 0;
    margin-top: 5%;
  }
}

/*==================================================================================================================================

  *当院の特徴

==================================================================================================================================*/
.home_feature {
  margin-bottom: 25px;
}
.home_feature .home_tit_illust {
  max-width: 336px;
  margin-bottom: 15px;
}
.home_feature_item_num {
  display: flex;
  flex-flow: column;
  justify-content: center;
  width: 135px;
  aspect-ratio: 270/234;
  background: url(../images/home/feature1_num_bg.png) center top/100% auto no-repeat;
  color: #fff;
  font-size: 14px;
  font-family: "new-zen", sans-serif;
  font-weight: 500;
  font-style: normal;
  line-height: 1;
  text-align: center;
  margin-left: 5px;
  margin-bottom: -46px;
  position: relative;
}
.home_feature_item_num em {
  display: block;
  font-size: 279%;
  font-weight: 600;
  letter-spacing: 0.1em;
}
.home_feature_item_img img {
  border-radius: 40px 40px 0 0;
}
.home_feature_item_box {
  background: url(../images/home/feature1_dec.png) center bottom/100% auto no-repeat, #fff;
  border-radius: 0 0 40px 40px;
  padding-top: 1px;
  padding-bottom: 50px;
  position: relative;
  z-index: 0;
}
.home_feature_item_tit {
  color: #5db650;
  font-size: 24px;
  font-family: "fot-tsukubrdgothic-std", sans-serif;
  font-weight: 700;
  font-style: normal;
  letter-spacing: 0.05em;
  line-height: 1.7;
  text-align: center;
  -webkit-text-stroke: 1px #fff;
  paint-order: stroke fill;
  margin-top: -70px;
  padding-top: 15px;
  background-image: url(../images/home/feature1_tit_bg_short.png), url(../images/home/feature1_tit_bg_long.png);
  background-repeat: no-repeat;
  background-position: center bottom 1.7em, center bottom;
  background-size: auto 1.1em;
  position: relative;
}
.home_feature_item_tit::before {
  display: block;
  content: "";
  width: 330px;
  height: 100%;
  background: #fff;
  border-radius: 20px 20px 0 0;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}
.home_feature_item_text {
  padding-inline: 25px;
  margin-top: 18px;
  padding-top: 20px;
  background: url(../images/home/feature1_tit_dec.png) center top/auto 10px no-repeat;
}
.home_feature_item .btn01 {
  text-align: center;
}
.home_feature_item .btn01 a {
  background: url(../images/home/feature1_btn_bg.jpg) left top/cover;
}
@media (hover: hover) {
  .home_feature_item .btn01 a:hover {
    border-color: #5db650;
  }
}
.home_feature_item:nth-child(2) .home_feature_item_num {
  background-image: url(../images/home/feature2_num_bg.png);
}
.home_feature_item:nth-child(2) .home_feature_item_box {
  background-image: url(../images/home/feature2_dec.png);
}
.home_feature_item:nth-child(2) .home_feature_item_tit {
  color: #f4a45d;
  background-image: url(../images/home/feature2_tit_bg_short.png);
  background-position: center bottom 0.8em;
}
.home_feature_item:nth-child(2) .home_feature_item_text {
  background-image: url(../images/home/feature2_tit_dec.png);
}
.home_feature_item:nth-child(2) .btn01 a {
  background-image: url(../images/home/feature2_btn_bg.jpg);
}
@media (hover: hover) {
  .home_feature_item:nth-child(2) .btn01 a:hover {
    border-color: #f4a45d;
  }
}
.home_feature_item:nth-child(3) .home_feature_item_num {
  background-image: url(../images/home/feature3_num_bg.png);
}
.home_feature_item:nth-child(3) .home_feature_item_box {
  background-image: url(../images/home/feature3_dec.png);
}
.home_feature_item:nth-child(3) .home_feature_item_tit {
  color: #d85c7f;
  background-image: url(../images/home/feature3_tit_bg_long.png), url(../images/home/feature3_tit_bg_short.png);
}
.home_feature_item:nth-child(3) .home_feature_item_text {
  background-image: url(../images/home/feature3_tit_dec.png);
}
.home_feature_item:nth-child(3) .btn01 a {
  background-image: url(../images/home/feature3_btn_bg.jpg);
}
@media (hover: hover) {
  .home_feature_item:nth-child(3) .btn01 a:hover {
    border-color: #d85c7f;
  }
}
.home_feature_item:nth-child(4) .home_feature_item_num {
  background-image: url(../images/home/feature4_num_bg.png);
}
.home_feature_item:nth-child(4) .home_feature_item_box {
  background-image: url(../images/home/feature4_dec.png);
}
.home_feature_item:nth-child(4) .home_feature_item_tit {
  color: #c072c9;
  background-image: url(../images/home/feature4_tit_bg_short.png), url(../images/home/feature4_tit_bg_long.png);
}
.home_feature_item:nth-child(4) .home_feature_item_text {
  background-image: url(../images/home/feature4_tit_dec.png);
}
.home_feature_item:nth-child(4) .btn01 a {
  background-image: url(../images/home/feature4_btn_bg.jpg);
}
@media (hover: hover) {
  .home_feature_item:nth-child(4) .btn01 a:hover {
    border-color: #c072c9;
  }
}
.home_feature_item:nth-child(5) .home_feature_item_num {
  background-image: url(../images/home/feature5_num_bg.png);
}
.home_feature_item:nth-child(5) .home_feature_item_box {
  background-image: url(../images/home/feature5_dec.png);
}
.home_feature_item:nth-child(5) .home_feature_item_tit {
  color: #1c84cd;
  background-image: url(../images/home/feature5_tit_bg_short.png), url(../images/home/feature5_tit_bg_long.png);
}
.home_feature_item:nth-child(5) .home_feature_item_text {
  background-image: url(../images/home/feature5_tit_dec.png);
}
.home_feature_item:nth-child(5) .btn01 a {
  background-image: url(../images/home/feature5_btn_bg.jpg);
}
@media (hover: hover) {
  .home_feature_item:nth-child(5) .btn01 a:hover {
    border-color: #1c84cd;
  }
}
.home_feature_item:nth-child(6) .home_feature_item_num {
  background-image: url(../images/home/feature6_num_bg.png);
}
.home_feature_item:nth-child(6) .home_feature_item_box {
  background-image: url(../images/home/feature6_dec.png);
}
.home_feature_item:nth-child(6) .home_feature_item_tit {
  color: #20c3c6;
  background-image: url(../images/home/feature6_tit_bg_short.png), url(../images/home/feature6_tit_bg_long.png);
}
.home_feature_item:nth-child(6) .home_feature_item_text {
  background-image: url(../images/home/feature6_tit_dec.png);
}
.home_feature_item:nth-child(6) .btn01 a {
  background-image: url(../images/home/feature6_btn_bg.jpg);
}
@media (hover: hover) {
  .home_feature_item:nth-child(6) .btn01 a:hover {
    border-color: #20c3c6;
  }
}

@media print, screen and (min-width: 641px) {
  .home_feature .home_tit {
    margin-bottom: -50px;
  }
  .home_feature_list {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 88px 60px;
  }
  .home_feature_item {
    min-height: 718px;
    display: flex;
    flex-flow: column;
    width: 360px;
  }
  .home_feature_item:nth-child(3n-1) {
    margin-top: 100px;
  }
  .home_feature_item_box {
    flex: 1;
    display: flex;
    flex-flow: column;
  }
  .home_feature_item_tit {
    display: flex;
    flex-flow: column;
    justify-content: center;
    min-height: calc(3.4em + 15px);
  }
  .home_feature_item_text {
    line-height: 2.5;
  }
  .home_feature_item .btn01 {
    margin-top: auto;
  }
  .home_feature_item .btn01 a {
    width: 100%;
    max-width: 216px;
  }
}

@media screen and (max-width: 640px) {
  .home_feature {
    background-image: url(../images/home/feature_bg_l.png), url(../images/home/feature_bg_r.png);
    background-repeat: no-repeat;
    background-position: left top 140px, right top 140px;
    background-size: 30% auto;
  }
  .home_feature .home_tit_illust {
    max-width: 224px;
    margin-bottom: 10px;
  }
  .home_feature_list {
    max-width: 360px;
    margin-inline: auto;
  }
  .home_feature_item:not(:last-child) {
    margin-bottom: 30px;
  }
  .home_feature_item_num {
    margin-bottom: -35px;
  }
  .home_feature_item_box {
    padding-bottom: 30px;
  }
  .home_feature_item_tit {
    font-size: clamp(18px, 5.9vw, 22px);
    margin-top: calc(-15px - 1em);
  }
  .home_feature_item_tit::before {
    width: calc(100% - 20px);
  }
  .home_feature_item_text {
    padding-inline: 6%;
  }
  .home_feature_item .btn01 {
    margin-top: 20px;
  }
}

/*==================================================================================================================================

  *診療案内

==================================================================================================================================*/
.home_medical {
  padding-bottom: 325px;
  background-image: url(../images/home/medical_bg_l.png), url(../images/home/medical_bg_r.png), url(../images/home/medical_bg_b.png);
  background-position: left top 760px, right top 940px, center bottom;
  background-repeat: no-repeat;
}
.home_medical .home_tit_illust {
  margin-bottom: 10px;
}
.home_medical_list {
  display: flex;
  flex-wrap: wrap;
  gap: 60px 116px;
}
.home_medical_item {
  width: 296px;
}
.home_medical_item > a {
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  aspect-ratio: 1;
  background: url(../images/home/medical_bg1.png) center/100% auto no-repeat;
}
@media (hover: hover) {
  .home_medical_item > a {
    transition: transform 0.3s;
  }
  .home_medical_item > a:hover {
    transform: translateY(-8px);
  }
}
.home_medical_item_img {
  width: 152px;
  background: #92d6a5;
  -webkit-mask-image: url(../images/home/medical_icon_mask.png);
          mask-image: url(../images/home/medical_icon_mask.png);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: 100%;
          mask-size: 100%;
  margin-bottom: 6px;
}
.home_medical_item_tit {
  display: flex;
  flex-flow: column;
  justify-content: center;
  width: 100%;
  min-height: 2.2em;
  color: #126629;
  font-size: 20px;
  font-family: "fot-tsukubrdgothic-std", sans-serif;
  font-weight: 700;
  font-style: normal;
  letter-spacing: 0.02em;
  line-height: 1.3;
  text-align: center;
  background: url(../images/home/medical_tit_bg1.png) center top/contain no-repeat;
  padding: 0.3em 0;
}
.home_medical_item:nth-child(2) > a {
  background-image: url(../images/home/medical_bg2.png);
}
.home_medical_item:nth-child(2) .home_medical_item_img {
  background: #f6ad4b;
}
.home_medical_item:nth-child(2) .home_medical_item_tit {
  color: #986015;
  background-image: url(../images/home/medical_tit_bg2.png);
}
.home_medical_item:nth-child(3) > a {
  background-image: url(../images/home/medical_bg3.png);
}
.home_medical_item:nth-child(3) .home_medical_item_img {
  background: #f2a2ba;
}
.home_medical_item:nth-child(3) .home_medical_item_tit {
  color: #d54872;
  background-image: url(../images/home/medical_tit_bg3.png);
}
.home_medical_item:nth-child(4) > a {
  background-image: url(../images/home/medical_bg4.png);
}
.home_medical_item:nth-child(4) .home_medical_item_img {
  background: #db9ec2;
}
.home_medical_item:nth-child(4) .home_medical_item_tit {
  color: #cc69a3;
  background-image: url(../images/home/medical_tit_bg4.png);
}
.home_medical_item:nth-child(5) > a {
  background-image: url(../images/home/medical_bg5.png);
}
.home_medical_item:nth-child(5) .home_medical_item_img {
  background: #1c84cd;
}
.home_medical_item:nth-child(5) .home_medical_item_tit {
  color: #1c84cd;
  background-image: url(../images/home/medical_tit_bg5.png);
}
.home_medical_item:nth-child(6) > a {
  background-image: url(../images/home/medical_bg6.png);
}
.home_medical_item:nth-child(6) .home_medical_item_img {
  background: #20c3c6;
}
.home_medical_item:nth-child(6) .home_medical_item_tit {
  color: #147f81;
  background-image: url(../images/home/medical_tit_bg6.png);
}
.home_medical_item:nth-child(7) > a {
  background-image: url(../images/home/medical_bg7.png);
}
.home_medical_item:nth-child(7) .home_medical_item_img {
  background: #429850;
}
.home_medical_item:nth-child(7) .home_medical_item_tit {
  color: #237430;
  background-image: url(../images/home/medical_tit_bg7.png);
}
.home_medical_item:nth-child(8) > a {
  background-image: url(../images/home/medical_bg8.png);
}
.home_medical_item:nth-child(8) .home_medical_item_img {
  background: #d3c835;
}
.home_medical_item:nth-child(8) .home_medical_item_tit {
  color: #8a812c;
  background-image: url(../images/home/medical_tit_bg8.png);
}
.home_medical_item:nth-child(9) > a {
  background-image: url(../images/home/medical_bg9.png);
}
.home_medical_item:nth-child(9) .home_medical_item_img {
  background: #ee753f;
}
.home_medical_item:nth-child(9) .home_medical_item_tit {
  color: #c94e18;
  background-image: url(../images/home/medical_tit_bg9.png);
}

@media print, screen and (min-width: 641px) {
  .home_medical .home_tit {
    margin-bottom: 55px;
  }
  .home_medical_list {
    padding-inline: 40px;
  }
  .home_medical_item > a {
    padding-top: 5px;
  }
}

@media screen and (max-width: 640px) {
  .home_medical {
    padding-bottom: calc(26% - 20px);
    background: url(../images/home/medical_bg_b.png) center bottom/100% auto no-repeat;
  }
  .home_medical .home_tit_illust {
    margin-bottom: 10px;
  }
  .home_medical_list {
    max-width: 500px;
    margin-inline: auto;
    justify-content: center;
    gap: 10px 20px;
  }
  .home_medical_item {
    max-width: 296px;
    width: calc((100% - 20px) / 2);
  }
  .home_medical_item_img {
    width: 51%;
  }
  .home_medical_item_tit {
    font-size: clamp(12px, 3.7vw, 18px);
  }
  .home_medical_item:nth-child(3) .home_medical_item_tit {
    background-image: url(../images/home/medical_tit_bg4.png);
  }
}

/*==================================================================================================================================

  *医療コラム

==================================================================================================================================*/
/*.sec_top_column {
  padding-top: 80px;
  padding-bottom: 80px;
}
.column_list_flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0 32px;
}
.column_list_flex dl {
  width: 276px;
  margin-bottom: 20px;
}
.column_list_flex dt {
  background: var(--main-color);
  color: #fff;
  font-size: 130%;
  font-weight: bold;
  text-align: center;
}
.column_list_flex dd {
  padding: 10px;
}
.column_list_flex dd ul li {
  position: relative;
  line-height: 2;
  display: flex;
  align-items: baseline;
}
.column_list_flex dd ul li::before {
  content: "\f054";
  color: var(--main-color);
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 90%;
  margin-right: 5px;
}
.column_list_flex dd ul li a {
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  color: var(--text-color);
}
@media (hover: hover) {
  .column_list_flex dd ul li a:hover {
    color: var(--sub-color);
  }
}

@media screen and (max-width: 640px) {
  .column_list_flex{
    gap: 0;
  }
  .column_list_flex dl {
    width: 100%;
  }
}*/

/*==================================================================================================================================

  *スライダー

==================================================================================================================================*/
.home_loopSlider {
  padding-top: 100px;
  padding-bottom: 150px;
  background: url(../images/home/slider_bg.jpg) center top no-repeat;
  position: relative;
}
.home_loopSlider::before {
  display: block;
  content: "";
  width: 100%;
  height: 80px;
  background: url(../images/home/slider_bg_top.png) center top no-repeat;
  pointer-events: none;
  position: absolute;
  top: -78px;
  left: 0;
}
#loop_slider {
  overflow: hidden;
}
.home_loopSlider div {
  vertical-align: top;
}
.home_loopSlider .slick-slide {
  padding-inline: 5px;
}
.home_loopSlider img {
  width: 100%;
}

@media screen and (max-width: 640px) {
  .home_loopSlider {
    padding-top: 40px;
    padding-bottom: calc(13% + 30px);
    background-size: 100% auto;
  }
  .home_loopSlider::before {
    height: auto;
    aspect-ratio: 1920 / 80;
    background-size: 100% auto;
    top: 0;
    margin-top: -4%;
  }
}