@charset "UTF-8";
/* ----------------------------------------
  Emergency Message
---------------------------------------- */
.emergency {
  position: absolute;
  top: 0;
  left: 4vw;
  width: calc(100% - 8vw);
  height: calc(100% - 3vw);
  background: url(../images/top/main_visual02.jpg) center center/cover no-repeat;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .emergency {
    background: url(../images/top/main_visual02__sp.jpg) center center/cover no-repeat;
  }
}
.emergency_inner {
  width: 80%;
  max-width: 980px;
  margin: 0 auto;
  padding: 2em;
  border: solid 3px #ff0000;
  background-color: #fff;
  text-align: center;
  font-size: 2em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .emergency_inner {
    font-size: 1em;
  }
}
.emergency_inner h2 {
  margin-bottom: 0.25em;
  color: #f00;
}

/* ----------------------------------------
  Main Visual
---------------------------------------- */
.mainvisual {
  position: relative;
  width: 100%;
  height: calc(100vh - 120px);
  margin-bottom: 50px;
}
@media screen and (max-width: 1279px) {
  .mainvisual {
    height: calc(100vh - 60px);
  }
}
@media screen and (max-width: 768px) {
  .mainvisual {
    height: calc(88vh - 60px);
  }
}
.mainvisual__inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 0 4vw 3vw;
}
.mainvisual__slides {
  background-color: #fff;
}
.mainvisual__slide-item a {
  display: block;
  height: calc(100vh - 120px - 3vw);
  background-color: #fff;
}
@media screen and (max-width: 1279px) {
  .mainvisual__slide-item a {
    height: calc(100vh - 60px - 3vw);
  }
}
@media screen and (max-width: 768px) {
  .mainvisual__slide-item a {
    height: calc(88vh - 60px - 3vw);
  }
}
.mainvisual__slide-item a img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
.mainvisual__slide-item a img:last-child {
  display: none;
}
@media screen and (max-width: 768px) {
  .mainvisual__slide-item a img:first-child {
    display: none;
  }
  .mainvisual__slide-item a img:last-child {
    display: block;
  }
}
.mainvisual__slide-item--slide01 a img {
  -o-object-fit: contain;
     object-fit: contain;
}
.mainvisual__slide-item--slide00 a img {
  -o-object-fit: contain;
     object-fit: contain;
}

/* ----------------------------------------
  MV Information
---------------------------------------- */
.mv-info {
  position: absolute;
  bottom: calc(3vw - 1px);
  right: calc(4% - 1px);
  width: 50%;
  min-width: 700px;
  max-width: 870px;
  padding: 1em 0 1em 2em;
  border-radius: 1.5em 0 0 0;
  background: #FFF5D7;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 1.06em;
}
@media screen and (max-width: 1679px) {
  .mv-info {
    font-size: 1em;
  }
}
@media screen and (max-width: 768px) {
  .mv-info {
    width: 86%;
    min-width: initial;
  }
}
@media screen and (max-width: 579px) {
  .mv-info {
    padding: 1em;
  }
}
.mv-info__logo {
  width: 2em;
}
.mv-info__body {
  width: calc(100% - 3em);
}
.mv-info__list-item a {
  position: relative;
  display: block;
  padding-right: 2em;
  line-height: 1.4;
  font-weight: 300;
  transition: color 0.3s;
}
@media screen and (max-width: 1279px) {
  .mv-info__list-item a {
    display: flex;
    align-items: center;
    min-height: 2.8em;
  }
}
@media screen and (max-width: 579px) {
  .mv-info__list-item a {
    min-height: 4.2em;
  }
}
.mv-info__list-item a::after {
  content: "";
  position: absolute;
  display: inline-block;
  top: calc(50% - 0.6em);
  right: 1em;
  width: 1.2em;
  height: 1.2em;
  border-radius: 50%;
  background: url("/resource/images/common/arrow__white02a.svg") center center/contain no-repeat #6B5D48;
  transition: background-color 0.3s;
}
@media screen and (min-width: 1280px) {
  .mv-info__list-item a:hover {
    color: #368bcb;
  }
  .mv-info__list-item a:hover::after {
    background-color: #368bcb;
  }
}

/* ----------------------------------------
  Important
---------------------------------------- */
.important__inner {
  display: flex;
  align-items: stretch;
  border-radius: 1.4rem;
  background: #fff;
}
@media screen and (max-width: 768px) {
  .important__inner {
    display: block;
    border-radius: 0.4em;
  }
}
.important__title {
  width: 27.5%;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 1.4rem 0 0 1.4rem;
  background: #EF8C62;
  font-size: 1.2em;
  letter-spacing: 0.1em;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .important__title {
    width: 100%;
    padding: 0.25em;
    border-radius: 0.4em 0.4em 0 0;
    font-size: 1.13em;
  }
}
.important__list {
  width: 72.5%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 2em;
}
@media screen and (max-width: 768px) {
  .important__list {
    width: 100%;
    padding: 1em 1.5em 1.25em;
  }
}
@media screen and (max-width: 579px) {
  .important__list {
    padding: 1em 1em 1.25em 0.5em;
  }
}
.important__list-item a {
  display: flex;
  position: relative;
  padding: 0.5em 2em 0.5em 1em;
  transition: background-color 0.3s;
}
@media screen and (max-width: 579px) {
  .important__list-item a {
    display: block;
  }
}
.important__list-item a::after {
  content: "";
  position: absolute;
  display: inline-block;
  top: calc(50% - 0.6em);
  right: 0.5em;
  width: 1.2em;
  height: 1.2em;
  border-radius: 50%;
  background: url("/resource/images/common/arrow__white02a.svg") center center/contain no-repeat #6B5D48;
  transition: background-color 0.3s;
}
@media screen and (max-width: 579px) {
  .important__list-item a::after {
    top: calc(50% - 0.6em);
    width: 1.2em;
    height: 1.2em;
  }
}
.important__list-item a dt {
  width: 6em;
  font-weight: 400;
}
@media screen and (max-width: 579px) {
  .important__list-item a dt {
    width: 100%;
  }
}
.important__list-item a dd {
  width: calc(100% - 6em);
}
@media screen and (max-width: 579px) {
  .important__list-item a dd {
    width: 100%;
    line-height: 1.6;
  }
}
@media screen and (min-width: 1280px) {
  .important__list-item a:hover {
    background-color: rgba(239, 140, 98, 0.1);
  }
  .important__list-item a:hover::after {
    background-color: rgb(239, 140, 98);
  }
}

/* ----------------------------------------
  Guide
---------------------------------------- */
.guide__inner {
  width: 90%;
  max-width: 670px;
  margin: 100px auto;
}
@media screen and (max-width: 579px) {
  .guide__inner {
    margin: 10vw auto;
  }
}
.guide__inner a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 140px;
  padding-left: 140px;
  border-radius: 1.2em;
  background: url("/resource/images/top/img_doctor.png") left bottom/140px 120px no-repeat #fff;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
  transition: background-color 0.3s;
}
@media screen and (max-width: 579px) {
  .guide__inner a {
    padding: 0 1em 110px;
    background-position: calc(50% - 60px) bottom;
  }
}
@media screen and (min-width: 1280px) {
  .guide__inner a:hover {
    background-color: #dbf0fa;
  }
}
.guide__text {
  padding: 1.5em 0;
  text-align: center;
}
.guide__text dt {
  margin-bottom: 0.5em;
  font-size: 1.6em;
  font-weight: 700;
  letter-spacing: 0.2em;
  color: #4DB6E8;
  transition: color 0.3s;
}
@media screen and (max-width: 768px) {
  .guide__text dt {
    font-size: 1.3em;
    letter-spacing: 0;
  }
}
.guide__text dd {
  font-weight: 400;
  transition: color 0.3s;
}
.guide__text dd span {
  display: inline-block;
}
.guide__mark {
  position: absolute;
  top: calc(50% - 50px);
  right: 20px;
}
@media screen and (max-width: 579px) {
  .guide__mark {
    top: auto;
    bottom: 20px;
    right: calc(50% - 110px);
  }
}
.guide__mark span {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: #4DB6E8;
  line-height: 1.4;
  text-align: center;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #fff;
}

/* ----------------------------------------
  Section Common
---------------------------------------- */
.top-section {
  position: relative;
  margin-top: 100px;
}
@media screen and (max-width: 579px) {
  .top-section {
    margin-top: 15vw;
  }
}
.top-section__title {
  position: relative;
  margin-bottom: 2em;
  padding: 0 0 0.5em 0.3em;
  text-align: center;
  font-size: 1.73em;
  letter-spacing: 0.3em;
}
@media screen and (max-width: 768px) {
  .top-section__title {
    margin-bottom: 1.25em;
  }
}
@media screen and (max-width: 579px) {
  .top-section__title {
    font-size: 1.5em;
  }
}
.top-section__title::after {
  content: "";
  position: absolute;
  display: block;
  bottom: 0;
  left: calc(50% - 1.2em);
  width: 2.4em;
  height: 0;
  border-top: solid 1px #6B5D48;
}

/* ----------------------------------------
  Medical Information
---------------------------------------- */
.medical-info__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  margin-bottom: 3em;
}
@media screen and (max-width: 768px) {
  .medical-info__list {
    margin-bottom: 1em;
  }
}
@media screen and (max-width: 579px) {
  .medical-info__list {
    margin-bottom: 0;
  }
}
.medical-info__list-item {
  width: 20%;
  border-left: solid 1px #6B5D48;
}
.medical-info__list-item:last-child {
  border-right: solid 1px #6B5D48;
}
@media screen and (max-width: 768px) {
  .medical-info__list-item {
    width: 33.3333333333%;
    margin-bottom: 2em;
  }
  .medical-info__list-item:nth-child(3n) {
    border-right: solid 1px #6B5D48;
  }
}
@media screen and (max-width: 579px) {
  .medical-info__list-item {
    width: 50%;
  }
  .medical-info__list-item:nth-child(3n) {
    border-right: none;
  }
  .medical-info__list-item:nth-child(even) {
    border-right: solid 1px #6B5D48;
  }
}
.medical-info__list-link {
  position: relative;
  display: block;
  height: 100%;
  padding-bottom: 3em;
  text-align: center;
}
.medical-info__text {
  padding: 0 0.5em;
}
.medical-info__text dt {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 4em;
  padding-left: 0.2em;
  line-height: 1.4;
  text-align: center;
  font-size: 1.2em;
  letter-spacing: 0.2em;
}
.medical-info__text dd {
  line-height: 1.6;
  font-size: 0.86em;
}
.medical-info__more {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}

/* ----------------------------------------
  News
---------------------------------------- */
.news__entries {
  margin-bottom: 40px;
  border-top: solid 1px #6B5D48;
}
.news__entry {
  display: flex;
  align-items: stretch;
  padding-top: 1em;
  border-bottom: solid 1px #6B5D48;
}
.news__entry dt {
  width: 10em;
  padding: 0.5em 1em;
  border-right: solid 1px #6B5D48;
  text-align: center;
  font-weight: 300;
  transition: background-color 0.3s;
}
@media screen and (max-width: 579px) {
  .news__entry dt {
    width: 3.5em;
    padding: 0.5em 0.25em;
    line-height: 1.4;
    text-align: left;
  }
}
.news__entry dt time span {
  display: inline-block;
}
@media screen and (max-width: 579px) {
  .news__entry dt time span:first-child {
    font-size: 0.9em;
  }
}
.news__entry dd {
  position: relative;
  width: calc(100% - 10em);
  padding: 0.5em 4em 0.5em 2em;
  font-weight: 300;
  transition: background-color 0.3s;
}
@media screen and (max-width: 579px) {
  .news__entry dd {
    width: calc(100% - 3.5em);
    padding: 0.5em 2em 0.5em 1em;
  }
}
.news__entry dd::after {
  content: "";
  position: absolute;
  display: inline-block;
  top: calc(50% - 0.6em);
  right: 1em;
  width: 1.2em;
  height: 1.2em;
  background: url("/resource/images/common/arrow__brown02d.svg") center center/contain no-repeat;
}
@media screen and (max-width: 579px) {
  .news__entry dd::after {
    right: 0.5em;
  }
}
@media screen and (min-width: 1280px) {
  .news__entry:hover dt, .news__entry:hover dd {
    background-color: rgba(107, 93, 72, 0.1);
  }
}

/* ----------------------------------------
  Banner
---------------------------------------- */
.banner {
  margin-top: 70px;
}
.banner__item {
  width: 36%;
  min-width: 360px;
  margin: 0 auto;
}
@media screen and (max-width: 579px) {
  .banner__item {
    width: 90%;
    min-width: initial;
    max-width: 500px;
  }
}

/* ----------------------------------------
  Contents
---------------------------------------- */
.contents__section {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 400px;
  margin-bottom: 2em;
  padding: 2em 5%;
  border-radius: 1rem;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 1279px) {
  .contents__section {
    height: 80vw;
    min-height: 260px;
    max-height: 300px;
  }
}
.contents__section--01 {
  background-image: url("/resource/images/top/content_img01.jpg");
}
.contents__section--02 {
  background-image: url("/resource/images/top/content_img02.jpg");
}
.contents__section--03 {
  margin-bottom: 3em;
  background-image: url("/resource/images/top/content_img03.jpg");
}
.contents__section::before {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 1rem;
  background: #6B5D48;
  mix-blend-mode: multiply;
  opacity: 0.6;
  transition: opacity 0.3s;
}
@media screen and (min-width: 1280px) {
  .contents__section:hover::before {
    opacity: 0.8;
  }
}
.contents__section > * {
  position: relative;
  color: #fff;
}
.contents__section-title {
  position: relative;
  margin-bottom: 1em;
  font-size: 1.73em;
  letter-spacing: 0.3em;
}
@media screen and (max-width: 579px) {
  .contents__section-title {
    font-size: 1.5em;
    letter-spacing: 0.1em;
  }
}
.contents__section-title::after {
  content: "";
  position: absolute;
  display: block;
  bottom: 0;
  left: 0;
  width: 3.9em;
  height: 0;
  border-top: solid 1px #fff;
}
.contents__section-text {
  margin-bottom: 2em;
}
@media screen and (max-width: 579px) {
  .contents__section-text br {
    display: none;
  }
}

/* ----------------------------------------
  Column
---------------------------------------- */
.column {
  padding-bottom: 100px;
}
@media screen and (max-width: 579px) {
  .column {
    padding-bottom: 15vw;
  }
}
.column__entries {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 102%;
  margin-bottom: 40px;
  margin-left: -1%;
  margin-right: -1%;
}
@media screen and (max-width: 768px) {
  .column__entries {
    margin-bottom: calc(40px - 2em);
  }
}
@media screen and (max-width: 579px) {
  .column__entries {
    margin-bottom: 0;
  }
}
.column__entry {
  width: 20%;
  padding: 0 1%;
  font-size: 0.8em;
}
@media screen and (max-width: 768px) {
  .column__entry {
    width: 33.3333333333%;
    margin-bottom: 2em;
  }
}
@media screen and (max-width: 579px) {
  .column__entry {
    width: 50%;
  }
}
.column__entry--img img {
  width: 100%;
  height: 14em;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 1279px) {
  .column__entry--img img {
    height: 11em;
  }
}
@media screen and (max-width: 1023px) {
  .column__entry--img img {
    height: 10em;
  }
}
@media screen and (max-width: 768px) {
  .column__entry--img img {
    flex-shrink: 8em;
  }
}
.column__entry--date {
  display: flex;
  align-items: center;
  margin: 1.5em 0 0.75em;
  line-height: 1;
  font-weight: 300;
}
.column__entry--new {
  border-radius: 1em;
  margin-right: 0.75em;
  padding: 1px 0.75em;
  background: #4DB6E8;
  font-size: 0.7em;
  font-weight: 400;
  color: #fff;
}
.column__entry--title {
  line-height: 1.6;
  font-weight: 500;
  transition: color 0.3s;
}
@media screen and (min-width: 1280px) {
  .column__entry--img {
    position: relative;
  }
  .column__entry--img::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(107, 93, 72, 0.7);
    mix-blend-mode: multiply;
    opacity: 0;
    transition: opacity 0.3s;
  }
  .column__entry--img::after {
    content: "記事を読む ＞";
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    color: #fff;
    opacity: 0;
    transition: opacity 0.3s;
  }
  a:hover .column__entry--title {
    color: #4DB6E8;
  }
  a:hover .column__entry--img::before, a:hover .column__entry--img::after {
    opacity: 1;
  }
}

/* ----------------------------------------
  Outline
---------------------------------------- */
.outline {
  padding: 100px 0;
  background: #fff;
  font-weight: 300;
}
@media screen and (max-width: 579px) {
  .outline {
    padding: 15vw 0;
  }
}
.outline__inner {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
}
@media screen and (max-width: 768px) {
  .outline__inner {
    display: block;
  }
}
.outline__item-list {
  width: 42%;
}
@media screen and (max-width: 1023px) {
  .outline__item-list {
    width: 50%;
  }
}
@media screen and (max-width: 768px) {
  .outline__item-list {
    width: 100%;
  }
}
.outline__map {
  width: 54%;
  background: #eee;
}
@media screen and (max-width: 1023px) {
  .outline__map {
    width: 48%;
  }
}
@media screen and (max-width: 768px) {
  .outline__map {
    width: 100%;
    height: 80vw;
    max-height: 300px;
    margin-top: 4vw;
  }
}
.outline__item {
  line-height: 1.6;
}
.outline__item:not(:last-child) {
  margin-bottom: 1em;
}
.outline__subttl {
  font-size: 1.2em;
  color: #4DB6E8;
}
.outline__subttl:not(:first-child) {
  margin-top: 1em;
}
.outline__time-table {
  margin-top: 0.5em;
}
.outline__text {
  font-size: 1.2em;
  font-weight: 400;
}
.outline__text + .outline__text {
  margin-top: 0.5em;
}
.outline__sub-text {
  font-size: 0.86em;
}
.outline__sub-text:not(:first-child) {
  margin-top: 0.5em;
}
.outline__tel {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  line-height: 1.4;
}
.outline__tel li {
  font-size: 1.6em;
  font-weight: 700;
  letter-spacing: 0.05em;
}
.outline__button {
  margin-top: 1em;
}
.outline__button .button {
  display: block;
  text-align: center;
}/*# sourceMappingURL=style_top.css.map */