@charset "UTF-8";
/* -------------------------------------------

kv

------------------------------------------- */
.top-kv {
  position: relative;
}
.top-kv .wrap {
  position: absolute;
  left: 0;
  bottom: 4rem;
  color: #fff;
  background: rgba(58, 128, 185, 0.87);
  z-index: 10;
  border-radius: 0 2rem 2rem 0;
  padding: 2rem 3rem 2.2rem 3rem;
  font-size: 1.8rem;
}

@media screen and (max-width: 768px) {
  .top-kv {
    overflow: hidden;
  }
  .top-kv img {
    width: 160%;
    margin-left: -30%;
  }
  .top-kv .wrap {
    left: 0;
    bottom: 2rem;
    padding: 1.5rem 2rem 1.6rem 2rem;
    font-size: 1.4rem;
  }
}
/* -------------------------------------------

news

------------------------------------------- */
.top-news {
  background: #e4f6ff;
  padding: 6rem 0;
}
.top-news .wrap {
  display: flex;
  align-items: center;
}
.top-news .wrap > div:nth-of-type(1) {
  width: 16rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.top-news .wrap > div:nth-of-type(2) {
  width: calc(100% - 16rem);
  padding-left: 4rem;
}

@media screen and (max-width: 768px) {
  .top-news {
    padding: 8rem 3rem;
  }
  .top-news .wrap {
    flex-direction: column;
  }
  .top-news .wrap > div:nth-of-type(1) {
    width: 100%;
    display: contents;
  }
  .top-news .wrap > div:nth-of-type(2) {
    width: 100%;
    padding-left: 0;
  }
  .top-news .wrap .more-wrap {
    margin-top: 4rem;
    order: 3;
  }
}
.top-news .CMS-NEWS-INDEX {
  padding-bottom: 0;
}
.top-news .CMS-NEWS-MORE-READ {
  display: none;
}

/* -------------------------------------------

schedule

------------------------------------------- */
.top-schedule {
  padding: 10rem 0;
}
.top-schedule .wrap {
  width: min(100%, 80rem);
  height: 60rem;
  margin: 0 auto;
}
.top-schedule iframe {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 100%;
}

@media screen and (max-width: 768px) {
  .top-schedule {
    padding: 6rem 3rem;
  }
  .top-schedule .wrap {
    width: 100%;
    height: 46rem;
  }
}
/* -------------------------------------------

about

------------------------------------------- */
.top-about {
  background: #e4f6ff;
  padding: 8rem 0;
  display: flex;
  align-items: center;
}
.top-about > * {
  width: 50%;
}
.top-about > div {
  padding: 0 18rem 0 5rem;
}
.top-about h3 {
  font-size: 1.7rem;
  font-weight: 400;
  margin-bottom: 1.5rem;
}
.top-about p {
  margin-bottom: 4rem;
}
.top-about .more {
  margin-left: auto;
}

@media screen and (max-width: 768px) {
  .top-about {
    padding: 6rem 3rem;
    flex-direction: column;
  }
  .top-about > * {
    width: 100%;
  }
  .top-about > figure {
    margin-bottom: 4rem;
  }
  .top-about > div {
    padding: 0;
  }
  .top-about h3 {
    font-size: 1.9rem;
    font-weight: 400;
    margin-bottom: 2rem;
  }
  .top-about p {
    margin-bottom: 3rem;
  }
  .top-about .more {
    margin-left: auto;
  }
}
/* -------------------------------------------

first

------------------------------------------- */
.top-first {
  padding: 10rem 0;
}
.top-first .wrap {
  display: flex;
  align-items: center;
  margin-bottom: 8rem;
}
.top-first .wrap > span {
  display: block;
  width: 13rem;
}
.top-first .wrap > div {
  width: calc(100% - 26rem);
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 10rem;
}
.top-first .wrap > div p {
  margin-bottom: 4rem;
}
.top-first ul {
  width: 72rem;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
.top-first ul > * {
  width: 47%;
}
.top-first ul a {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  height: 15rem;
  border-radius: 1.5rem;
  letter-spacing: 0.15em;
  font-weight: 500;
  padding-bottom: 0.2rem;
}
.top-first ul li:nth-child(1) a {
  color: #3a80b9;
  background: url(../img/top-bg-1.jpg) no-repeat center/cover;
  border: solid 0.2rem #3a80b9;
}
.top-first ul li:nth-child(2) a {
  color: #3ab1b9;
  background: url(../img/top-bg-2.jpg) no-repeat center/cover;
  border: solid 0.2rem #3ab1b9;
}

@media screen and (max-width: 768px) {
  .top-first {
    padding: 0 3rem 6rem 3rem;
  }
  .top-first .wrap {
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 3rem;
  }
  .top-first .wrap > span {
    display: block;
    width: 13rem;
  }
  .top-first .wrap .deco-1 {
    position: relative;
    top: -4rem;
  }
  .top-first .wrap .deco-2 {
    margin-left: auto;
    margin-top: 3rem;
  }
  .top-first .wrap h2 {
    text-align: center;
    line-height: 1.3;
    margin-bottom: 2rem;
  }
  .top-first .wrap > div {
    width: 100%;
    margin-top: -3rem;
    padding: 0;
  }
  .top-first .wrap > div p {
    margin-bottom: 3rem;
  }
  .top-first ul {
    width: 100%;
    flex-direction: column;
    gap: 2rem;
  }
  .top-first ul > * {
    width: 100%;
  }
}
/* -------------------------------------------

treatment

------------------------------------------- */
.top-treatment {
  background: #e4f6ff;
  padding: 10rem 0;
}
.top-treatment .wrap {
  display: flex;
}
.top-treatment .wrap > figure {
  width: 37%;
}
.top-treatment .wrap > figure img {
  border-radius: 2rem;
}
.top-treatment .wrap > div {
  width: 63%;
  padding-left: 8rem;
  position: relative;
}
.top-treatment .wrap p {
  margin-bottom: 4rem;
}
.top-treatment .wrap .more-wrap {
  position: absolute;
  left: 8rem;
  bottom: 0;
}

@media screen and (max-width: 768px) {
  .top-treatment {
    padding: 8rem 3rem;
  }
  .top-treatment .wrap {
    flex-direction: column;
  }
  .top-treatment .wrap > figure {
    width: 100%;
    margin-bottom: 4rem;
  }
  .top-treatment .wrap h2 {
    margin-bottom: 2.5rem;
  }
  .top-treatment .wrap > div {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-left: 0;
    position: relative;
  }
  .top-treatment .wrap p {
    margin-bottom: 4rem;
  }
  .top-treatment .wrap .more-wrap {
    position: relative;
    left: auto;
    bottom: auto;
  }
}
/* -------------------------------------------

doctor

------------------------------------------- */
.top-doctor {
  padding: 10rem 0;
}
.top-doctor .wrap {
  display: flex;
}
.top-doctor .wrap > figure {
  width: 37%;
}
.top-doctor .wrap > figure img {
  border-radius: 2rem;
}
.top-doctor .wrap > div {
  width: 63%;
  padding-left: 8rem;
  position: relative;
}
.top-doctor .wrap p {
  margin-bottom: 4rem;
}
.top-doctor .wrap .more-wrap {
  position: absolute;
  left: 8rem;
  bottom: 0;
}

@media screen and (max-width: 768px) {
  .top-doctor {
    padding: 8rem 3rem;
  }
  .top-doctor .wrap {
    flex-direction: column;
  }
  .top-doctor .wrap > figure {
    width: 100%;
    margin-bottom: 4rem;
  }
  .top-doctor .wrap h2 {
    margin-bottom: 2.5rem;
  }
  .top-doctor .wrap > div {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-left: 0;
    position: relative;
  }
  .top-doctor .wrap p {
    margin-bottom: 4rem;
  }
  .top-doctor .wrap .more-wrap {
    position: relative;
    left: auto;
    bottom: auto;
  }
}
/* -------------------------------------------

access

------------------------------------------- */
.top-access {
  padding: 15rem 0;
  background: url(../img/top-bg-3.jpg) no-repeat center/cover;
}
.top-access .wrap p {
  margin-bottom: 4rem;
  width: 36rem;
}

@media screen and (max-width: 768px) {
  .top-access {
    padding: 10rem 3rem;
  }
  .top-access .wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .top-access .wrap p {
    width: auto;
  }
}
/* -------------------------------------------

facility

------------------------------------------- */
.top-facility {
  padding: 8rem 0;
  background: url(../img/texture-1.jpg) center top;
  background-size: 100% auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.top-facility ul {
  padding: 0 10rem;
  display: flex;
  margin-bottom: 6rem;
  gap: 2rem;
}
.top-facility ul li {
  flex: 1;
}
.top-facility ul li img {
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 50%;
}

@media screen and (max-width: 768px) {
  .top-facility {
    padding: 8rem 3rem;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .top-facility ul {
    padding: 0;
    flex-wrap: wrap;
    margin-bottom: 4rem;
    justify-content: center;
    gap: 1.5rem;
  }
  .top-facility ul li {
    flex: none;
    width: calc((100% - 3rem) / 3);
  }
}
/* -------------------------------------------

recruit

------------------------------------------- */
.top-recruit {
  background: url(../img/top-bg-4.jpg) no-repeat center/cover;
  padding: 8rem 0;
}
.top-recruit .wrap {
  padding-right: 54rem;
}
.top-recruit .wrap p {
  margin-bottom: 3rem;
}
.top-recruit .wrap .more {
  margin-left: auto;
}

@media screen and (max-width: 768px) {
  .top-recruit {
    background: url(../img/top-bg-4.jpg) no-repeat center right -18rem/cover;
    padding: 8rem 3rem;
  }
  .top-recruit .wrap {
    padding-right: 0;
  }
  .top-recruit .wrap p {
    margin-bottom: 3rem;
  }
}
/* -------------------------------------------

aside

------------------------------------------- */
aside {
  padding: 10rem 0;
}
aside > section:nth-of-type(1) {
  margin-bottom: 5rem;
}
aside > section:nth-of-type(1) .wrap {
  padding: 0 1.5rem;
  display: flex;
  justify-content: space-between;
}
aside > section:nth-of-type(1) .wrap > * {
  width: 47%;
  display: flex;
  flex-direction: column;
  gap: 1.8rem;
}
aside > section:nth-of-type(2) ul {
  padding: 0 1.5rem;
}
aside h2 {
  background: #e4f6ff;
  color: #3a80b9;
  font-weight: 500;
  border-radius: 10rem;
  margin-bottom: 2rem;
  padding: 1.4rem 2.5rem 1.6rem 2.5rem;
  line-height: 1;
  letter-spacing: 0.1em;
}
aside dt a {
  color: #435aa2;
}
aside dt a::before {
  content: "■";
}
aside dt a {
  text-decoration: underline;
}
aside dt a:hover {
  text-decoration: none;
}
aside dt {
  margin-bottom: 0.3rem;
}
aside dd {
  font-weight: 300;
  font-size: 1.3rem;
}

@media screen and (max-width: 768px) {
  aside {
    padding: 8rem 3rem;
  }
  aside > section:nth-of-type(1) {
    margin-bottom: 5rem;
  }
  aside > section:nth-of-type(1) .wrap {
    flex-direction: column;
    gap: 1.8rem;
  }
  aside > section:nth-of-type(1) .wrap > * {
    width: 100%;
  }
}
/* -------------------------------------------

layout

------------------------------------------- */
.container {
  margin: 8rem auto 10rem auto;
  width: 88rem;
}

@media screen and (max-width: 768px) {
  .container {
    margin: 8rem 3rem;
    width: auto;
  }
}
/* -------------------------------------------

page-ttl

------------------------------------------- */
.page-ttl {
  background: url(../img/top-kv-1.jpg) no-repeat center/cover;
}
.page-ttl > div {
  background: rgba(0, 0, 0, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  height: 16rem;
}
.page-ttl h2 {
  color: #fff;
  font-size: 3.6rem;
  line-height: 1;
  display: flex;
  font-weight: 500;
  flex-direction: column;
  align-items: center;
}

@media screen and (max-width: 768px) {
  .page-ttl > div {
    height: 18rem;
  }
  h2.adjust {
    font-size: 2.8rem;
  }
}
/* -------------------------------------------

concept

------------------------------------------- */
.container .wrap {
  display: flex;
  justify-content: space-between;
}
.container .wrap.reverse {
  flex-direction: row-reverse;
}
.container .wrap > figure {
  width: 35%;
}
.container .wrap > figure figcaption {
  text-align: center;
  font-size: 1.2rem;
  margin-top: 0.5rem;
}
.container .wrap > div {
  width: 60%;
}
.container .wrap > div dl dt {
  font-weight: 500;
  color: #3a80b9;
  margin-bottom: 0.3rem;
  line-height: 1.5;
}
.container .wrap > div dl dd:not(:last-of-type) {
  margin-bottom: 2.5rem;
}
.container .wrap .sig {
  display: block;
  margin-top: 2rem;
  text-align: right;
}

@media screen and (max-width: 768px) {
  .container .wrap {
    flex-direction: column;
  }
  .container .wrap.reverse {
    flex-direction: column;
  }
  .container .wrap > figure {
    width: 100%;
    margin-bottom: 2rem;
  }
  .container .wrap > div {
    width: 100%;
  }
}
/* -------------------------------------------

access

------------------------------------------- */
.access-policy > div {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.access-policy > div figure {
  margin-bottom: 2.5rem;
  width: 28rem;
}
.access-policy > div p {
  text-align: center;
  font-size: 1.7rem;
}

@media screen and (max-width: 768px) {
  .access-policy > div figure {
    width: 24rem;
  }
  .access-policy > div p {
    text-align: left;
    font-size: 1.6rem;
  }
}
/* -------------------------------------------

facility

------------------------------------------- */
.tab-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.tab-label {
  background: #e4f6ff;
  color: #3a80b9;
  font-weight: 500;
  order: -1;
  width: 49%;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 5.4rem;
  padding-bottom: 0.15rem;
  transition: all 0.3s;
}

.tab-label:hover {
  cursor: pointer;
  background: var(--prime);
  color: #fff;
}

.tab-content {
  width: 100%;
  display: none;
  margin-top: 2rem;
}

/* active */
.tab-switch:checked + .tab-label {
  background: #3a80b9;
  color: #fff;
}

.tab-switch:checked + .tab-label + .tab-content {
  display: block;
}

/* radio */
.tab-switch {
  display: none;
}

/* -------------------------------------------

treatment

------------------------------------------- */
.treatment .more-wide {
  margin: 0 auto;
}/*# sourceMappingURL=style.css.map */