#headline .txt_box { padding: 4rem 3rem 2rem; background-color: rgba(255, 255, 255, 0.9); }
#headline .headline_txt { font-size: 2.2rem; }
#headline .headline_ttl .label { display: inline-block; color: #0b7631; font-size: 60%; margin-bottom: .5em; padding: .3em 1em; background-color: #fff; border-radius: 40px; }

.sec_img_list { margin-top: 6rem; justify-content: space-around; }

.bnn_area { margin: 6rem 0 8rem; }
.bnn_area .bnn_list { display: flex; justify-content: space-between; }
.bnn_area .bnn_list li { width: 23%; }
.bnn_area .bnn_list a:hover { opacity: .7; }

#movie { padding-bottom: 8rem; background: url(../img/movie_bg.jpg) no-repeat center bottom/100%; }
#movie .movie_img { max-width: 962px; margin: 8rem auto 0; overflow: hidden; cursor: pointer; }
#movie .movie_img img { transition-duration: .5s; }
#movie .movie_img:hover img { transform: scale(1.05); }
#movie .movie_btn { width: fit-content; margin: 4rem auto 0; padding: 1rem 7rem; font-size: 1.8rem; font-weight: 600; background: #eff4f0 url(/common/img/icon_arrow_cgr01.png) no-repeat center right 1.5rem/3rem; border: 2px solid #07a33e; border-radius: 40px; transition-duration: .3s; cursor: pointer; }
#movie .movie_btn:hover { color: #fff; background-color: #07a33e; }

.modal_area .modal_content { max-width: 590px; }
.modal_area .movie_area { width: 100%; height: auto; aspect-ratio: 16 / 9; }
.modal_area .movie_area iframe { width: 100%; height: 100%; }

.area_intro { margin-top: 6rem; }
.area_intro .area_txt { font-size: 2rem; font-weight: 600; text-align: center; line-height: 1.8; }
.area_intro .area_table { margin-top: 6rem; width: 100%; border-left: 1px solid #cececd; border-top: 1px solid #cececd; }
.area_intro .area_table th, .area_intro .area_table td { padding: 1em 1.5em; border-right: 1px solid #cececd; border-bottom: 1px solid #cececd; }
.area_intro .area_table thead th { padding: .3em 1em; font-size: 1.8rem; font-weight: 600; text-align: center; background-color: #b5d595; }
.area_intro .area_table tbody th { font-size: 2rem; font-weight: 600; text-align: left; background-color: #f3f3f3; vertical-align: middle; white-space: nowrap; }
.area_intro .area_table tbody td { font-size: 1.8rem; }
.area_intro .area_table tbody td span { font-size: 80%; }
.area_intro .btn_area { margin-top: 3rem; text-align: center; position: relative; }
.area_intro .btn_area a { display: inline-block; font-size: 1.8rem; font-weight: 600; text-align: center; padding: .8em 3.5em .8em 1.5em; border: 2px solid #07a33e; border-radius: 40px; }
.area_intro .btn_inquiry { color: #fff; background: #07a33e url(/common/img/icon_arrow_cwr01.png) no-repeat center right 1em/1.5em; }
.area_intro .btn_inquiry:hover { background-color: #42ac96; border-color: #42ac96; }
.area_intro .btn_product { background: #eff4f0 url(/common/img/icon_arrow_cgr01.png) no-repeat center right 1em/1.5em; position: absolute; right: 0; bottom: 0; }
.area_intro .btn_product:hover { color: #fff; background-color: #07a33e; }

.service_area { margin-top: 8rem; padding: 6rem 0; background-color: #f4f5f4; }

.service_list { margin-top: 4rem; display: flex; justify-content: space-between; flex-wrap: wrap; }
.service_list li { width: 32%; margin-bottom: 2%; }
.service_list a:hover { opacity: .7; }

.service_ttl { font-size: 3rem; font-weight: 600; text-align: center; margin: .8em 0; }
.service_ttl span { display: inline-block; position: relative; padding: 0 0 0 5rem; }
.service_ttl span span { padding: 0 5rem 0 0; }
.service_ttl span::before, .service_ttl span::after, .service_ttl span span::before, .service_ttl span span::after { content: ''; width: 2.6rem; height: .8rem; background-color: #07a33e; position: absolute; top: calc(50% - 0.2rem); left: 0; }
.service_ttl span span::before, .service_ttl span span::after { left: auto; right: 0; }
.service_ttl span::before, .service_ttl span span::before { background-color: #fb505d; transform: rotate(90deg); }

@media screen and (min-width: 1600px) { #headline .ttl_box { transform: translateX(-30%); } }
@media screen and (min-width: 768px) and (max-width: 1240px) { #headline .headline_txt { font-size: 1.7vw; }
  #movie .movie_btn { font-size: 1.4vw; }
  .area_intro .area_txt { font-size: 1.6vw; }
  .area_intro .area_table tbody th { font-size: 1.6vw; }
  .area_intro .area_table tbody td { font-size: 1.4vw; }
  .area_intro .btn_area a { font-size: 1.4vw; }
  .service_ttl { font-size: 2.4vw; } }
@media screen and (max-width: 767px) { #headline { margin-bottom: 14vw; }
  #headline .txt_box { width: 90%; padding: 5vw; bottom: -20vw; }
  #headline .headline_txt { font-size: 3.7vw; }
  #headline .headline_ttl span { max-width: 69px; }
  #headline .headline_ttl .label { max-width: 100%; }
  .sec_img_list { margin-top: 2rem; }
  .bnn_area { margin: 3rem 0 4rem; }
  .bnn_area .bnn_list { flex-wrap: wrap; }
  .bnn_area .bnn_list li { width: 48.5%; margin-top: 3%; }
  .bnn_area .bnn_list a:hover { opacity: 1; }
  #movie { background-image: url(../img/movie_bg_sp.jpg); }
  #movie .movie_img { margin-top: 3rem; }
  #movie .movie_btn { margin: 3rem auto 0; padding: 1rem 4.5rem; font-size: 3.7vw; background-size: 1.5rem auto; background-position: center right 1rem; border-width: 1px; }
  .area_intro { margin-top: -6vw; }
  .area_intro .area_txt { font-size: 3.7vw; text-align: left; }
  .area_intro .area_table { margin-top: 2rem; }
  .area_intro .area_table th, .area_intro .area_table td { padding: 1em; }
  .area_intro .area_table thead th { padding: .5em 1em; font-size: 4vw; }
  .area_intro .area_table tbody th { font-size: 3.7vw; white-space: normal; }
  .area_intro .area_table tbody td { font-size: 3.7vw; }
  .area_intro .btn_area { margin-top: 2rem; text-align: right; }
  .area_intro .btn_area a { font-size: 3.7vw; border-width: 1px; }
  .area_intro .btn_inquiry { width: 100%; }
  .area_intro .btn_product { margin-top: 3rem; position: static; }
  .service_area { margin-top: 4rem; padding: 3rem 0; }
  .service_list { margin-top: 3rem; display: block; }
  .service_list li { width: 100%; margin-bottom: 5%; }
  .service_list a:hover { opacity: 1; }
  .service_ttl { font-size: 5vw; }
  .service_ttl span { padding: 0 0 0 8vw; }
  .service_ttl span span { padding: 0 8vw 0 0; }
  .service_ttl span::before, .service_ttl span::after, .service_ttl span span::before, .service_ttl span span::after { width: 4.2vw; height: 1.2vw; top: calc(50% - 0.6vw); } }

/*# sourceMappingURL=healthcare.css.map */
