@charset "utf-8";
/* CSS Document */
/* IE11表示用のCSS　*/
_:-ms-fullscreen, :root .selector {
  property: value;
}

img {
  height: auto;
}

/*----------------------------------------------------
 header
------------------------------------------------------*/
/* カルーセルjsオフ */
.mv_wrap {
  width: calc(100% + 10vw);
  margin: 0 -5vw;
}

#mv .carousel__item {
  height: 88.5vw;
  max-height: 600px;
  overflow: hidden;
  /* border-radius: 60px; */
  width: 100%;
}

#mv li:not(:last-child) {
  margin-bottom: 1em;
}

#mv figure,
#mv a {
  height: 100%;
}

#mv img {
  max-width: none;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* カルーセルjsオン */
.js_on #mv {
  position: relative;
  margin-bottom: 2em;
}

.js_on #mv li:not(:last-child) {
  margin-bottom: 0;
}

#mv .carousel__control {
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: visible;
  margin-top: -3.5em;
  position: relative;
  z-index: 1;
}

/* #mv .carousel__pager {
  display: flex;
  flex-direction: column;
  align-items: center;
} */

.js_on #mv .carousel__pager li {
  height: auto;
  margin-bottom: .8em;
}

#mv .carousel__pager button {
  /* display: block; */
  width: 1em;
  height: 1em;
  border-radius: 50%;
  border: 2px solid #f8f4e7;
  background-color: #38a3a5;
  opacity: 1;
  overflow: hidden;
  white-space: nowrap;
  text-indent: 200%;
}

#mv .carousel__pager button:disabled {
  background-color: #003477;
}

#mv .carousel__control__right {
  display: flex;
  flex-direction: row-reverse;
  margin-left: 0;
}

#mv .carousel__autoPlayOnButton {
  background: url(../png/mv_play_basic.png) no-repeat center;
}

#mv .carousel__autoPlayOffButton {
  background: url(../png/mv_stop_basic.png) no-repeat center;
  margin-bottom: 1em;
}

#mv .carousel__control__right button {
  /* display: block; */
  width: 2em;
  height: 2em;
  overflow: hidden;
  white-space: nowrap;
  text-indent: 200%;
  border: none;
  background-size: 100%;
}

#mv .carousel__prevButton,
#mv .carousel__nextButton {
  width: 2em;
  height: 2em;
  border: none;
  overflow: hidden;
  text-indent: 4em;
  white-space: nowrap;
  background: url(../png/ico_link03_blue01.png) no-repeat center/100% transparent;
}

#mv .carousel__prevButton {
  left: .7em;
  transform: translateY(-50%) scale(-1, 1);
}

#mv .carousel__nextButton {
  right: .7em;
}

.top_head_hr {
  background: linear-gradient(90deg, rgba(222,222,222,0.1) 0%, rgba(230,230,230,0.6) 50%, rgba(222,222,222,0.1) 100%);
  height: 3px;
  border: none;
}

/*----------------------------------------------------
 メインコンテンツ
------------------------------------------------------*/
/* 汎用 */
.link_btn {
  background-color: #003477;
  color: #fff;
  text-decoration: none;
  width: 15em;
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto;
  align-items: center;
  justify-content: center;
  padding: .8em 0;
  border-radius: 1.8em;
  max-width: 100%;
  outline-offset: -4px;
}

.link_btn::before {
  content: "";
  background: url(../png/ico_link_white.png) no-repeat top left;
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-right: .5em;
  background-size: 1em;
}

/* 病院一覧 */
.hospitals_wrap {
  overflow: hidden;
  background-color: #fff;
  background: url(../png/bg_dot_blue.png) 0 3.5em;
  background-size: 6em;
}

.hospital_h2 {
  font-size: 165%;
  background: url(../png/ico_nav_01_03.png) no-repeat center 3em #c0e9ea;
  background-size: 2.5em;
  width: 9.1em;
  height: 9.1em;
  border-radius: 50%;
  text-align: center;
  padding-top: 5.5em;
  color: #003477;
  margin: -1.5em auto 0;
  font-weight: bold;
  max-width: 100%;
}

#hospitals_list {
  margin: -2em 2em 0;
}

#hospitals_list li {
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  overflow: hidden;
  margin-bottom: 1.5em;
  width: 100%;
}

#hospitals_list div {
  display: flex;
  flex-wrap: wrap;
  white-space: normal;
  line-height: 1.8em;
}

#hospitals_list img {
  width: 100%;
  height: 35%;
  object-fit: cover;
}

#hospitals_list h3 {
  order: 1;
  font-size: 133%;
  font-weight: normal;
  color: #003477;
  display: inline-flex;
  background-color: #fff;
  margin-top: -1.5em;
  padding: 1em 1.5em 1em 0;
  z-index: 1;
  border-top-right-radius: 5px;
  max-width: 80%;
}

#hospitals_list p {
  order: 2;
  margin-bottom: 1em;
}

.hospitals_detail {
  margin-bottom: 1em;
}

.top .hospitals_detail,
.nursing .hospitals_detail {
  width: 100%;
}

#hospitals_list span {
  width: 100%;
  order: 4;
  text-align: center;
  margin-top: auto;
}

.hospitals_link {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  height: 100%;
  text-decoration: none;
}

/* 新着情報 */
.news_wrap {
  margin: 0 0 3.5em;
}

.news {
  background-color: #fff;
  padding: 1em .5em 2em;
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
}

.news_h2 {
  background-color: #f1e9d1;
  text-align: center;
  font-size: 165%;
  font-weight: bold;
  color: #003477;
  padding: 1em 0;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
}

.news_category {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}

.news_category li {
  width: 50%;
  padding: 0 .5em 1em;
  min-width: 6em;
}

.news_category a {
  display: flex;
  width: 100%;
  height: 100%;
  border: 1px solid #b8b8b8;
  border-radius: 5px;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  min-height: 4em;
  font-weight: bold;
}

.news_category .current a {
  background-color: #003477;
  color: #fff;
  border: none;
  text-decoration: none;
  outline-offset: -4px;
}

.news_category span {
  display: inline-block;
  text-align: center;
  line-height: 1.5;
}

.news_cont {
  padding: 0 .5em 2em;
}

.news_cont li {
  padding: 1em 0;
  border-bottom: 1px dashed #707070;
}

.news_cont a {
  display: block;
  text-decoration: none;
  padding-right: 1.5em;
  background: url(../png/ico_link_blue01.png) no-repeat calc(100% - 1px) center;
  background-size: 1em;
}

.press .news_cont_cate {
  background-image: url(../png/ico_news_press.png);
}
.event_news .news_cont_cate {
  background-image: url(../png/ico_news_event.png);
}
.recruit .news_cont_cate {
  background-image: url(../png/ico_news_recruit.png);
}
.contract .news_cont_cate {
  background-image: url(../png/ico_news_contract.png);
}

.news_cont_cate {
  display: block;
  padding-left: 1.5em;
  background-position: left center;
  background-size: 1em;
  background-repeat: no-repeat;
  font-weight: bold;
}

.news_dl {
  display: flex;
  flex-wrap: wrap;
}

.news_date {
  width: 10em;
}

.new .news_date {
  width: 13em;
}

.new .news_date::after {
  content: "new";
  display: inline-block;
  background-color: #9b1a1a;
  color: #fff;
  padding: 0 .5em;
  border-radius: 5px;
  font-size: 80%;
  margin-left: .5em;
}

.news_spot {
  color: #003477;
  border: 1px solid;
  border-radius: 1em;
  padding: 0 .7em;
}

.news_detail {
  text-decoration: underline;
  width: 100%;
}

/* タイルリンク */
.tile_links {
  margin: 3em auto;
}

.tile_links li {
  margin-bottom: 2.5em;
}

.tile_links a {
  display: block;
  width: 100%;
  background-color: #fff;
  /* border-radius: 30px; */
  overflow: hidden;
  color: #003477;
  text-decoration: none;
  outline-offset: -4px;
}

.tile_links span {
  display: block;
  padding: 1.5em 1.5em 1.5em 3em;
  background: url(../png/ico_link_blue01.png) no-repeat 1.5em center;
  background-size: 1em;
  font-weight: bold;
}

/* スペシャルリンク */
.special_links {
  width: 19.5em;
  margin: 0 auto 3em;
  max-width: calc(100% - 10vw);
}

.special_links li {
  background-color: #fff;
  border-radius: 5px;
  overflow: hidden;
  margin-bottom: 1em;
}

.special_links a {
  display: flex;
  width: 100%;
  font-weight: bold;
  justify-content: center;
  align-items: center;
  padding: 1em .3em;
  outline-offset: -4px;
}

.special_links img {
  width: 3.7em;
  margin-right: .5em;
}

/* バナーリンク */
#links_wrap {
  margin-bottom: 5em;
  background-color: #fff;
  border-radius: 5px;
}

.links_wrap > li {
  padding: 2.5em 3.5em 5em;
  background-color: #fff;
  border-radius: 5px;
  width: 100%;
}

.links_wrap .carousel__item {
  vertical-align: top;
}

/*
.links {
  padding: 2.5em 3.5em 3.5em;
}
*/
.links li {
  /* border-radius: 10px; */
  overflow: hidden;
  width: 100%;
  aspect-ratio: 3 / 1;
}

.links li:not(:last-child) {
  margin-bottom: 1.5em;
}

.links a {
  display: block;
  width: 100%;
/*  height: 100%; */
}

.links a:focus {
  opacity: .7;
}

.links li img {
  width: 100%;
  /* border-radius: 10px; */
}

#links_wrap .carousel__prevButton,
#links_wrap .carousel__nextButton {
  display: block;
  width: 2em;
  height: 2em;
  background: url(../png/ico_link03_blue01.png) no-repeat center;
  background-size: 100%;
  border: none;
  white-space: nowrap;
  overflow: hidden;
  text-indent: 4em;
}

#links_wrap .carousel__prevButton {
  left: .7em;
  transform: scale(-1 , 1);
  top: calc(50% - .8em);
}

#links_wrap .carousel__nextButton {
  right: .7em;
}

#links_wrap .carousel__control {
  margin-top: -3em;
}

#links_wrap .carousel__control button {
  background-color: #38a3a5;
  border-radius: 50%;
  width: 1em;
  height: 1em;
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-indent: -500%;
  border: none;
}

#links_wrap .carousel__control button:disabled {
  background-color: #003477;
  opacity: 0.9;
}

#links_wrap .carousel__control button:not(:disabled) {
  opacity: 0.9;
}

.twitter {
  /* background-color: #fff;
  border-radius: 30px; */
/*  padding-top: 1em; */
  /* overflow: hidden; */
  height: 25em;
}

.twitter iframe {
  width: 100% !important;
  max-height: 100% !important;
}

.twitter > div {
  width: calc(100% + 2px) !important;
  height: calc(100% + 2px) !important;
  max-width: none !important;
  margin-top: -1px !important;
  margin-left: -1px;
}

/*----------------------------------------------------
 タブレット表示
------------------------------------------------------*/
@media screen and (min-width:671px), print {
  /*
   header
  ------------------------------------------------------*/
  .search_form input[type="submit"] {
    padding: 0 2.5em 0 3.1em;
    background-position-x: 1.5em;
  }

  .head_search p {
    padding-left: 1.5em;
  }

  .links_twitter {
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    align-items: stretch;
  }

  #links_wrap .carousel__navLayer,
  #links_wrap .carousel__stage,
  #links_wrap .links_wrap,
  #links_wrap .carousel__item,
  .links {
    height: 100%;
  }

  .tile_links {
    margin-bottom: 2em;
  }

  #links_wrap,
  .twitter {
    width: calc(50% - 20px);
  }

  #links_wrap {
    margin-bottom: 0;
  }
}

@media screen and (min-width:780px), print {
  .head_search {
    width: 35em;
    margin: 2em auto;
    max-width: 100%;
  }

  #hospitals_list ul {
    display: flex;
    flex-wrap: wrap;
  }

  #hospitals_list li {
    width: calc(50% - 50px);
    margin: 0 25px 2em;
  }

  .tile_links {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
  }

  .tile_links li {
    width: calc(50% - 40px);
    border-radius: 5px;
    overflow: hidden;
  }

  .tile_links li:nth-child(2n + 1) {
    margin-right: 80px;
  }

  .tile_links a {
    display: flex;
    height: 12em;
    height: 100%;
  }

  .tile_links img {
    width: 50%;
    object-fit: cover;
    object-position: center;
    display: block;
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
  }

  .tile_links span {
    display: flex;
    align-items: center;
    padding: 1em 1em 1em 3em;
    width: 50%
  }
}

@media screen and (min-width:1024px), print {
  #links_wrap,
  .twitter {
    width: calc(50% - 40px);
  }
}

/*----------------------------------------------------
 pc表示
------------------------------------------------------*/
@media screen and (min-width:1230px), print {
  .site_ttl a {
    width: 21.5em;
  }

  .hospitals.container,
  .tile_links.container,
  .links_twitter.container {
    width: 80vw;
  }

  .mv_wrap {
    position: relative;
    clear: both;
    width: calc(100vw - 15px);
    margin: 0 -55px;
  }

  .head_contact {
    float: right;
    flex-direction: row;
    justify-content: flex-end;
    width: calc(100% - 35em);
    min-width: 20em;
  }

  .head_contact li:not(:first-child)::before {
    content: "/";
    display: inline-block;
    /* padding-right: .5em; */
    color: #070707;
    position: absolute;
    left: 0;
    transform: translateX(calc(-50% - 1rem));
  }

  .js_on .nav {
    margin-top: -5em;
  }
  /*
   メインコンテンツ
  ------------------------------------------------------*/
  .hospital_h2 {
    font-size: 245%;
    width: 10.2em;
    height: 10.2em;
    margin-top: -1em;
  }

  #hospitals_list {
    margin-top: -5em;
  }

  #hospitals_list li {
    width: 30%;
    margin: 0 0 3em;
  }

  #hospitals_list li:not(:nth-child(3n)) {
    margin-right: 5%;
  }

  .news_wrap {
    margin: 0 auto 3.5em;
    display: flex;
    border-radius: 5px;
    overflow: hidden;
  }

  .news_h2 {
    border-radius: 0;
    width: 9.15em;
    padding: 4em 4em;
    line-height: 1.5em;
  }

  .news {
    border-radius: 0;
    width: calc(100% - 9.15em);
    padding: 2.5em;
  }

  .news_category {
    margin-bottom: 1em;
  }

  .news_category li {
    width: auto;
    padding: 0;
  }

  .news_category .current {
    position: relative;
  }

  .news_category a {
    padding: 0 1.5em;
    min-height: auto;
    display: inline-block;
    border: none;
    border-radius: 1.5em;
  }

  .news_category .current::after {
    border: solid transparent;
    content: '';
    height: 0;
    width: 0;
    position: absolute;
    border-top-width: 15px;
    border-bottom-width: 15px;
    border-left-width: 15px;
    border-right-width: 15px;
    margin-left: -15px;
    border-top-color: #003477;
    top: 100%;
    left: 50%;
  }

  .news_category .current a::before,
  .news_category .current a::after {
    content: "";
    height: 15px;
    width: 30px;
    position: absolute;
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
    top: 100%;
    background-color: #fff;
    z-index: 1;
  }

  .news_category .current a::before{
    left: 50%;
  }
  .news_category .current a::after {
    right: 50%;
  }

  .news_category span {
    display: inline;
    line-height: inherit;
  }

  .news_event {
    width: auto;
  }

  .news_cont a {
    display: flex;
    align-items: center;
  }

  .news_cont_cate {
    background-position: center top;
    font-size: 81%;
    padding: 1.5em 0 0;
    letter-spacing: 0;
    width: 11em;
    text-align: center;
    background-size: 1.2em;
  }

  .news_dl {
    width: calc(100% - 11em);
  }

  .news_date {
    line-height: 1.2em;
  }

  .news_spot {
    font-size: 81%;
    line-height: 1.4em;
  }

  .news_detail {
    width: 100%;
  }

  #links_wrap {
    padding: 0 2em;
    background-color: #fff;
}

  #links_wrap .carousel__stage {
/*    margin: 2.5em 2em 3.5em;
    height: calc(100% - 6em); */
    border-radius: 30px;
  }

  #links_wrap .carousel__prevButton {
    top: calc(50% - 2.6em);
    left: -1.7em;
  }

  #links_wrap .carousel__nextButton {
    top: calc(50% - 1.8em);
    right: -1.7em;
  }

  .links_wrap > li {
    width: 50% !important;
    padding: 2.5em 0 5em;
    border-radius: 0;
  }

  .links {
    padding: 0 .5em;
  }

  .twitter {
    height: 25em;
  }

  .special_links {
    width: auto;
    display: flex;
    justify-content: center;
  }

  .special_links li {
    width: 19.5em;
    margin: 0 1em;
  }

  .special_links a {
    padding: 1em 2em;
  }
}

/*----------------------------------------------------
 カラーバリエーション
------------------------------------------------------*/
/*
 ナチュラル
------------------------------------------------------*/
.natural #mv .carousel__pager button {
  background-color: #b7781a;
  border-color: #faf6de;
}
.natural #mv .carousel__autoPlayOffButton {
  background-image: url(../png/mv_stop_natural.png);
}
.natural #mv .carousel__autoPlayOnButton {
  background-image: url(../png/mv_play_natural.png);
}
.natural .hospitals_wrap {
  background-image: url(../png/bg_dot_brown.png);
}
.natural .hospital_h2 {
  background-image: url(../png/ico_nav_02_03.png);
}
.natural .hospital_h2,
.natural .news_h2 {
  background-color: #dfeb84;
}
.natural #mv .carousel__pager button:disabled,
.natural .link_btn,
.natural .news_category .current a,
.natural #links_wrap .carousel__control button:disabled {
  background-color: #064002;
}
.natural .hospital_h2,
.natural #hospitals_list h3,
.natural .news_h2,
.natural .news_spot,
.natural .tile_links a {
  color: #064002;
}
.natural .news_cont a,
.natural .tile_links span {
  background-image: url(../png/ico_link_green.png);
}
.natural #links_wrap .carousel__prevButton,
.natural #links_wrap .carousel__nextButton {
  background-image: url(../png/ico_link03_green.png);
}
@media screen and (min-width:1230px), print {
  .natural .head_contact {
    background-color: #faf6de;
  }
  .natural .news_category .current::after {
    border-top-color: #064002;
  }
}

/*
 ポップ
------------------------------------------------------*/
.pop #mv .carousel__pager button {
  background-color: #ff6f39;
  border-color: #fff5f6;
}
.pop #mv .carousel__autoPlayOffButton {
  background-image: url(../png/mv_stop_pop.png);
}
.pop #mv .carousel__autoPlayOnButton {
  background-image: url(../png/mv_play_pop.png);
}
.pop .hospitals_wrap {
  background-image: url(../png/bg_dot_orange.png);
}
.pop .hospital_h2 {
  background-image: url(../png/ico_nav_03_03.png);
}
.pop .hospital_h2,
.pop .news_h2 {
  background-color: #feef90;
}
.pop #mv .carousel__pager button:disabled,
.pop #links_wrap .carousel__control button:disabled {
  background-color: #1c1f7b;
}
.pop .link_btn,
.pop .news_category .current a {
  background-color: #ffbc1e;
}
.pop .hospital_h2 {
  color: #222;
}
.pop #hospitals_list h3,
.pop .news_spot,
.pop .tile_links a,
.pop .link_btn,
.pop .news_category .current a {
  color: #1c1f7b;
}
.pop .news_h2 {
  color: #222;
}
.pop .link_btn::before {
  background-image: url(../png/ico_link_purple.png)
}
.pop .news_cont a,
.pop .tile_links span {
  background-image: url(../png/ico_link_purple.png);
}
.pop #links_wrap .carousel__prevButton,
.pop #links_wrap .carousel__nextButton {
  background-image: url(../png/ico_link03_purple.png);
}
@media screen and (min-width:1230px), print {
  .pop .head_contact {
    background-color: #fff5f6;
  }
  .pop .news_category .current::after {
    border-top-color: #ffbc1e;
  }
}

/*
 フレッシュ
------------------------------------------------------*/
.fresh #mv .carousel__pager button {
  background-color: #60d96C;
  border-color: #f8f2f2;
}
.fresh #mv .carousel__autoPlayOffButton {
  background-image: url(../png/mv_stop_fresh.png);
}
.fresh #mv .carousel__autoPlayOnButton {
  background-image: url(../png/mv_play_fresh.png);
}
.fresh .hospitals_wrap {
  background-image: url(../png/bg_dot_green.png);
}
.fresh .hospital_h2 {
  background-image: url(../png/ico_nav_04_03.png);
}
.fresh .hospital_h2,
.fresh .news_h2 {
  background-color: #d3f7fB;
}
.fresh #mv .carousel__pager button:disabled,
.fresh #links_wrap .carousel__control button:disabled {
  background-color: #064d94;
}
.fresh .link_btn,
.fresh .news_category .current a {
  background-color: #34c7e5;
}
.fresh .hospital_h2,
.fresh #hospitals_list h3,
.fresh .news_h2,
.fresh .news_spot,
.fresh .tile_links a,
.fresh .link_btn,
.fresh .news_category .current a {
  color: #222;
}
.fresh .link_btn::before {
  background-image: url(../png/ico_link_blue02.png)
}
.fresh .news_cont a,
.fresh .tile_links span {
  background-image: url(../png/ico_link_blue02.png);
}
.fresh #links_wrap .carousel__prevButton,
.fresh #links_wrap .carousel__nextButton {
  background-image: url(../png/ico_link03_blue02.png);
}
@media screen and (min-width:1230px), print {
  .fresh .head_contact {
    background-color: #fcf6f6;
  }
  .fresh .news_category .current::after {
    border-top-color: #34c7e5;
  }
}

@media print {
  body {
    min-width: auto;
    font-size: 65%;
    display: block;
  }
  .tile_links img {
    height: calc(30vw * .5);
  }
  .container,
  .hospitals.container,
  .tile_links.container,
  .links_twitter.container {
    width: 90%;
  }
  #mv .carousel__control {
    display: none;
  }
  #hospitals_list img {
    height: 13vw !important;
  }
  #mv .carousel__item {
    max-height: 30vw;
  }
  #mv .carousel__control {
    displey: none;
  }
  footer {
    padding-top: 3em;
  }
  .links_twitter {
    page-break-before: always;
  }
}

/* プレビュー画面用 */
body:not(.top) .tile_links li {
  height: 12em;
}