@charset "UTF-8";
/*wellnest clinic color*/
/*blue*/
/*red*/
/* ------------------------------
clinic_site
------------------------------ */
#pre-loading {
  position: fixed;
  display: flex;
  top: 0;
  left: 0;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100vh;
  background: #FFF;
  z-index: 9999;
  transition: 0.4s;
}

.load-img {
  display: none;
}

.atten {
  color: #C8102E;
  font-weight: 600;
}

@media screen and (max-width: 1200px) {
  body {
    min-width: auto;
  }
}
@media screen and (max-width: 767px) {
  .load-img {
    width: 70%;
    margin: 0 auto;
  }
}
/* ------------------------------
mv
------------------------------ */
#mv {
  position: relative;
  background: #fff;
  max-height: 900px;
}
#mv .splide {
  overflow: hidden;
  max-height: 900px;
  /* ズーム */
  /* スライドのサイズ調整 */
}
#mv .splide .splide__track .splide__slide {
  position: relative;
}
#mv .splide .splide__track .splide__slide picture {
  display: block;
}
#mv .splide .splide__track .splide__slide picture img {
  width: 100%;
  height: 90vh;
  max-height: 900px;
}
#mv .splide .splide__track .splide__slide .main_copy {
  position: absolute;
  transform: translateY(-50%);
  top: 44%;
  left: 8%;
  z-index: 1;
}
#mv .splide .splide__track .splide__slide .main_copy hgroup h1 {
  position: relative;
  font-size: 5.4rem;
  color: #041E42;
  letter-spacing: 0.04em;
  line-height: 1.5;
  /*text-shadow: #fff 1px 0 10px;*/
}
#mv .splide .splide__track .splide__slide .main_copy hgroup h1 span {
  font-size: 4rem;
}
#mv .splide .splide__track .splide__slide .main_copy hgroup p {
  font-size: 2.4rem;
  color: #041E42;
  /*text-shadow: #fff 1px 0 10px;*/
}
#mv .splide .splide__track .splide__slide .main_copy .line_txt {
  position: absolute;
  font-size: clamp(2rem, 4vw, 2.2rem);
  color: #041E42;
  font-weight: 600;
  margin: 24px 12px;
  padding: 8px 16px;
}
#mv .splide .splide__track .splide__slide .main_copy .line_txt::before, #mv .splide .splide__track .splide__slide .main_copy .line_txt::after {
  content: "";
  position: absolute;
  background: #041E42;
  width: 100%;
  height: 1px;
  top: 0;
  left: 0;
}
#mv .splide .splide__track .splide__slide .main_copy .line_txt::after {
  top: auto;
  bottom: 0;
  width: 100%;
}
#mv .splide .splide__track .splide__slide .main_copy .sub_txt {
  position: absolute;
  font-size: 1.6rem;
  color: #fff;
  background: #CD2742;
  line-height: 2;
  font-weight: 600;
  bottom: -90px;
  left: 340px;
  padding: 0 24px;
  text-align: center;
  border-radius: 50%;
  padding: 24px 40px 28px;
  line-height: 1.5;
  white-space: nowrap;
}
#mv .splide .splide__track .splide__slide .main_copy .sub_txt span {
  font-size: 2.6rem;
}
#mv .splide .splide__track .splide__slide .main_copy .main_banner {
  position: absolute;
  top: 140px;
  right: 40px;
  width: 28%;
}
#mv .splide .splide__track .splide__slide .main_copy .main_banner img {
  width: 100%;
  height: 100%;
  transform: none;
}
#mv .splide .splide__slide img {
  transition: 10s ease-out;
}
#mv .splide .splide__slide.is-active img {
  transform: scale(1.1);
  transition-delay: 0s;
}
#mv .splide .splide__slide img {
  height: auto;
  width: 100%;
}

/*page-clinic*/
/*page-mental*/
/*.page-clinic,
.page-mental {
    #mv {
        .splide {
            .splide__track {
                .splide__slide {
                    picture {
                        img {
                            filter: brightness(0.8);
                        }
                    }

                    .main_copy {

                        hgroup {

                            h1 {
                                color: #fff;
                            }

                            p {
                                color: #fff;
                            }
                        }
                    }
                }
            }
        }
    }
}*/
@media screen and (orientation: landscape) and (max-width: 960px) and (max-height: 480px) {
  #mv {
    padding: 0 0 4vw;
  }
  #mv .splide {
    height: 700px !important;
    width: 100%;
  }
  #mv .splide .splide__track .splide__slide picture img {
    height: 700px !important;
  }
  #mv .splide .splide__track .splide__slide .main_copy hgroup h1 {
    font-size: 4.8vw;
  }
  #mv .splide .splide__track .splide__slide .main_copy hgroup h1 span {
    font-size: 3.2vw;
  }
  #mv .splide .splide__track .splide__slide .main_copy hgroup p {
    font-size: 3.2vw;
  }
  #mv .splide .splide__track .splide__slide .main_copy .line_txt {
    font-size: 2.67vw;
    height: 4vw;
    line-height: 1.5;
    margin: 2vw 4vw;
  }
  #mv .splide .splide__track .splide__slide .main_copy .line_txt::before, #mv .splide .splide__track .splide__slide .main_copy .line_txt::after {
    width: 4vw;
    height: 4vw;
    left: -3vw;
  }
  #mv .splide .splide__track .splide__slide .main_copy .line_txt::after {
    left: auto;
    left: -3vw;
  }
}
@media screen and (orientation: portrait) and (max-width: 1024px) {
  #mv .splide {
    height: 100%;
  }
  #mv .splide .splide__track .splide__slide picture img {
    width: 100%;
    height: 100%;
  }
  #mv .splide .splide__track .splide__slide .main_copy {
    position: absolute;
    transform: translateY(-50%);
    top: 44%;
    left: 8%;
    z-index: 1;
  }
  #mv .splide .splide__track .splide__slide .main_copy hgroup h1 {
    font-size: 3.8rem;
  }
  #mv .splide .splide__track .splide__slide .main_copy hgroup h1 span {
    font-size: 2.4rem;
  }
  #mv .splide .splide__track .splide__slide .main_copy hgroup p {
    font-size: 2rem;
  }
  #mv .splide .splide__track .splide__slide .main_copy .line_txt {
    font-size: clamp(1.2rem, 2.8vw, 1.6rem);
    color: #041E42;
  }
  #mv .splide .splide__track .splide__slide .main_copy .sub_txt {
    font-size: clamp(1.4rem, 2.8vw, 1.6rem);
    bottom: -90px;
    left: 270px;
    padding: 16px 24px 18px;
  }
  #mv .splide .splide__track .splide__slide .main_copy .sub_txt span {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  #mv {
    height: 100vh;
    max-height: -webkit-fit-content;
    max-height: -moz-fit-content;
    max-height: fit-content;
  }
  #mv .splide {
    height: 24vh;
    width: 92%;
    margin: 0 auto;
    border-radius: 16px;
  }
  #mv .splide .splide__track {
    border-radius: 16px;
  }
  #mv .splide .splide__track .splide__slide picture img {
    height: 60vh;
    border-radius: 16px;
  }
  #mv .splide .splide__track .splide__slide .main_copy {
    position: absolute;
    transform: translateY(-50%);
    top: 64%;
    left: 6%;
    width: 100%;
  }
  #mv .splide .splide__track .splide__slide .main_copy hgroup h1 {
    font-size: 7.47vw;
  }
  #mv .splide .splide__track .splide__slide .main_copy hgroup h1 span {
    font-size: 4.27vw;
  }
  #mv .splide .splide__track .splide__slide .main_copy hgroup p {
    font-size: 3.73vw;
    text-shadow: #fff 1px 0 10px;
  }
  #mv .splide .splide__track .splide__slide .main_copy .line_txt {
    position: absolute;
    line-height: 2;
    font-weight: 600;
    margin: 2vw 0;
    padding: 2vw;
  }
  #mv .splide .splide__track .splide__slide .main_copy .sub_txt {
    font-size: 2.13vw;
    bottom: -12vw;
    left: 48vw;
    padding: 3vw;
  }
  #mv .splide .splide__track .splide__slide .main_copy .sub_txt span {
    font-size: 3.2vw;
  }
  #mv .splide .splide__track .splide__slide .main_copy .main_banner {
    position: absolute;
    top: 18vw;
    right: 10vw;
  }
  #mv .splide .splide__track .splide__slide .main_copy .main_banner img {
    width: 26vw;
    height: 26vw;
  }
  #mv .fv_btn_wrap .flex-box {
    display: flex;
    justify-content: space-around;
  }
  #mv .fv_btn_wrap .flex-box .box {
    width: calc((100% - 4vw) / 2);
    font-size: 3.2vw;
    font-weight: 600;
    color: #041E42;
    padding: 4vh 2vw;
    text-align: center;
  }
  #mv .fv_btn_wrap .flex-box .box img {
    display: block;
    margin: 0 auto 4vw;
    width: 12vw;
  }
  /*page-clinic*/
  /*page-mental*/
  .page-clinicl #mv .splide .splide__track .splide__slide .main_copy,
.page-mental #mv .splide .splide__track .splide__slide .main_copy {
    top: 60%;
  }
  .page-clinicl #mv .splide .splide__track .splide__slide .main_copy .line_txt,
.page-mental #mv .splide .splide__track .splide__slide .main_copy .line_txt {
    font-size: 2.93vw;
    line-height: 2.6;
    margin: 2vw;
  }
  .page-clinicl #mv .splide .splide__track .splide__slide .main_copy .line_txt::before, .page-clinicl #mv .splide .splide__track .splide__slide .main_copy .line_txt::after,
.page-mental #mv .splide .splide__track .splide__slide .main_copy .line_txt::before,
.page-mental #mv .splide .splide__track .splide__slide .main_copy .line_txt::after {
    width: 6vw;
    height: 8vw;
    left: -3vw;
  }
  .page-clinicl #mv .splide .splide__track .splide__slide .main_copy .line_txt::after,
.page-mental #mv .splide .splide__track .splide__slide .main_copy .line_txt::after {
    left: auto;
    right: -3vw;
  }
}
/* ------------------------------
index-news
------------------------------ */
#index-news {
  background: #C8102E;
  box-sizing: border-box;
}
#index-news .post-news {
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding: 24px 0;
  box-sizing: border-box;
}
#index-news .post-news .post-date {
  width: 86px;
  font-size: 1.6rem;
  color: #FFF;
}
#index-news .post-news .post-cat {
  width: 160px;
  display: inline-block;
  vertical-align: middle;
  text-align: center;
  font-size: 1.3rem;
  font-weight: 500;
  margin: 0 14px;
  padding: 2px 30px 3px 30px;
  color: #C8102E;
  background: #FFF;
  border-radius: 30px;
  box-sizing: border-box;
}
#index-news .post-news .post-ttl {
  width: calc(100% - 246px);
  display: block;
  font-size: 1.5rem;
  line-height: 2.1;
  color: #FFF;
  word-break: break-all;
  padding-right: 25px;
  box-sizing: border-box;
}
#index-news .post-news:after {
  position: absolute;
  top: 50%;
  margin-top: -7px;
  right: 0;
  display: block;
  content: "";
  background: url("../img/common/ico-arrow_white.svg") no-repeat center center;
  background-size: 100% auto;
  width: 14px;
  height: 14px;
}

@media screen and (max-width: 767px) {
  #index-news .post-news {
    flex-wrap: wrap;
    padding: 12px 0 18px 0;
  }
  #index-news .post-news .post-date {
    width: auto;
    font-size: 3.733vw;
  }
  #index-news .post-news .post-cat {
    width: auto;
    font-size: 3.2vw;
    margin: 0 0 0 10px;
    padding: 0 12px 2px 12px;
  }
  #index-news .post-news .post-ttl {
    width: 100%;
    display: block;
    font-size: 3.733vw;
    margin-top: 8px;
  }
  #index-news .post-news:after {
    margin-top: -7px;
    right: 2%;
  }
}
/* ------------------------------
news_wrapper
------------------------------ */
.news_wrapper {
  padding: 0 0 85px 0;
  box-sizing: border-box;
}

.news_wrap {
  width: 92%;
  max-width: 1000px;
  margin: 0 auto;
}
.news_wrap:before {
  background: #041E42;
  content: "";
  width: 100%;
  height: 100px;
  position: absolute;
  left: 0;
  z-index: -1;
}
.news_wrap .sec-ttl {
  color: #fff;
  padding: 32px 0 0 0;
  height: 100px;
  margin-bottom: 24px;
}
.news_wrap .sec-ttl:after {
  background: #fff;
}
.news_wrap .post-news .post {
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  border-bottom: 1px solid #4d4d4d;
  padding: 20px 40px 16px 0;
  box-sizing: border-box;
}
.news_wrap .post-news .post:after {
  position: absolute;
  right: 17px;
  top: 50%;
  margin-top: -7px;
  display: block;
  content: "";
  background: url("../img/common/ico-arrow.svg") no-repeat center center;
  background-size: 100% auto;
  width: 14px;
  height: 14px;
}
.news_wrap .post-news .post .post-date {
  position: relative;
  top: -5px;
  width: 100px;
  font-size: 1.6rem;
  color: #041E42;
}
.news_wrap .post-news .post .post-cat {
  width: 100%;
  max-width: 150px;
  display: inline-block;
  vertical-align: middle;
  font-size: 1.3rem;
  font-weight: 500;
  color: #FFF;
  text-align: center;
  padding: 5px 10px 6px 10px;
  margin: 0 14px;
  border-radius: 30px;
  background: #cacaca;
  box-sizing: border-box;
}
.news_wrap .post-news .post .post-cat.cat-info {
  background: #C8102E;
}
.news_wrap .post-news .post .post-cat.cat-general {
  background: #99a5b7;
}
.news_wrap .post-news .post .post-cat.cat-enterprises {
  background: #041E42;
}
.news_wrap .post-news .post .post-ttl {
  position: relative;
  top: 2px;
  width: calc(100% - 236px);
  font-size: 1.5rem;
  line-height: 1.45;
  word-break: break-all;
}

.news_wrapper .btn_wrap {
  margin: 65px auto 0 auto;
}
.news_wrapper .btn_wrap .btn {
  max-width: 320px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .news_wrapper {
    padding: 0 0 14% 0;
    box-sizing: border-box;
  }
  .news_wrap:before {
    height: 16vw;
  }
  .news_wrap .sec-ttl {
    height: 16vw;
    padding: 4vw 0 0;
    margin-bottom: 0;
  }
  .news_wrap .post-news .post {
    flex-wrap: wrap;
    padding: 3% 0;
  }
  .news_wrap .post-news .post:after {
    display: none;
  }
  .news_wrap .post-news .post .post-date {
    top: -2px;
    width: auto;
    font-size: 3.73vw;
  }
  .news_wrap .post-news .post .post-cat {
    width: 100%;
    max-width: 29vw;
    font-size: 3.2vw;
    padding: 1vw 2vw;
    margin: 0 0 0 10px;
  }
  .news_wrap .post-news .post .post-ttl {
    top: 0;
    width: 100%;
    font-size: 3.733vw;
  }
  .news_wrapper .btn_wrap {
    margin: 12% auto 0 auto;
    width: 92%;
  }
  .news_wrapper .btn_wrap .btn {
    max-width: inherit;
    margin: 0 auto;
  }
}
/* ------------------------------
sec01
------------------------------ */
.sec01 {
  max-width: 1280px;
  margin: 0 auto 80px;
}
.sec01 .splide__pagination__page.is-active {
  background: #68788E;
}
.sec01 .splide__list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  -moz-column-gap: 8px;
       column-gap: 8px;
}
.sec01 .splide__list .splide__slide img {
  border-radius: 24px;
}

@media screen and (max-width: 767px) {
  .sec01 {
    margin: 0 auto 8vw;
  }
  .sec01 .wrap {
    width: 100%;
    padding-top: 7%;
    padding-bottom: 7%;
  }
  .sec01 .splide__list {
    overflow: hidden;
  }
}
/* ------------------------------
sec02
------------------------------ */
.sec02 {
  position: relative;
  padding: 80px 0;
  background: #F2F4F5 url("../img/index/bg-contents_pc.png") no-repeat top/contain;
  /*.appointment_wrap {
      margin: 75px auto 0 auto;

      h4 {
          position: relative;
          text-align: center;
          margin-bottom: 30px;

          &:before,
          &:after {
              position: absolute;
              top: 50%;
              display: block;
              content: "";
              width: 40%;
              height: 1px;
              background: $blue-1000;
              box-sizing: border-box;
          }
      }
  }*/
}
.sec02 .wrap {
  background: none;
}
.sec02 .department_wrap {
  margin: 0 auto;
  /*.accordion-section {
      margin-bottom: 2vw;
      display: none;
  }

  .accordion-btn {
      background: white;
      color: $blue-1000;
      font-weight: 600;
      font-size: 4.27vw;
      padding: 4vw 16vw;
      cursor: pointer;
      border: none;
      width: 100%;
      text-align: left;
      position: relative;

      &::before {
          content: '';
          position: absolute;
          background: url(../img/index/ico_naika.svg) no-repeat center/cover;
          transform: translate(-50%, -50%);
          top: 50%;
          left: 8vw;
          width: 8vw;
          height: 8vw;
      }

      &.ttl_og {
          &::before {
              background: url(../img/index/ico_og.svg) no-repeat center/cover;
          }
      }

      &.ttl_mental {
          &::before {
              background: url(../img/index/ico_mental.svg) no-repeat center/cover;
          }
      }

      &.ttl_medicine {
          &::before {
              background: url(../img/index/ico_medicine.svg) no-repeat center/cover;
          }
      }

      &.ttl_healthcheck {
          &::before {
              background: url(../img/index/ico_health_check.svg) no-repeat center/cover;
          }
      }

      .accordion-icon {
          position: absolute;
          right: 15px;
          top: 50%;
          transform: translateY(-50%) rotate(0deg);
          transition: transform 0.3s ease;
          display: inline-block;

          &::before {
              content: "▶";
              font-size: 3.2vw;
          }
      }

      &.open .accordion-icon {
          transform: translateY(-50%) rotate(90deg);
      }
  }

  .accordion-content {
      display: block; // PCでは表示

      .list {
          list-style: none;
          padding: 0;
          margin: 0;

          li {
              padding: 10px;
              border-bottom: 1px solid #ccc;

              a {
                  font-size: 3.77vw;
                  display: block;
              }
          }
      }
  }*/
}
.sec02 .department_wrap h3 {
  margin-bottom: 40px;
}
.sec02 .department_wrap .flex-box {
  display: flex;
  flex-wrap: wrap;
}
.sec02 .department_wrap .flex-box + .flex-box {
  margin-top: 80px;
}
.sec02 .department_wrap .flex-box .box {
  position: relative;
  width: calc((100% - 80px) / 3);
  border-radius: 4px;
  padding: 20px 40px 20px 16px;
  margin: 0 8px 24px;
  box-sizing: border-box;
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: 600;
  color: #041E42;
  background-color: #fff;
  box-shadow: 4px 4px 8px 2px rgba(114, 114, 114, 0.1);
}
.sec02 .department_wrap .flex-box .box::after {
  content: "";
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
  right: 16px;
  width: 14px;
  height: 13px;
  background: url(../img/common/ico-arrow.svg) no-repeat center center/contain;
}
.sec02 .department_wrap .no-hover {
  pointer-events: none;
}
.sec02 .department_wrap .box.no-link {
  text-align: center;
}
.sec02 .department_wrap .box.no-link::after {
  content: none;
}
.sec02 .department_wrap .desktop-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-auto-rows: minmax(100px, auto);
  -moz-column-gap: 1em;
       column-gap: 1em;
  row-gap: 1em;
}
.sec02 .department_wrap .desktop-list .list_box01 {
  grid-column-start: 1;
  grid-column-end: 3;
}
.sec02 .department_wrap .desktop-list .box_wrap {
  background-color: #fff;
  padding: 40px;
}
.sec02 .department_wrap .desktop-list .box_wrap h3 {
  padding-left: 64px;
  position: relative;
  margin-bottom: 3rem;
}
.sec02 .department_wrap .desktop-list .box_wrap h3::before {
  content: "";
  background: url(../img/index/ico_naika.svg) no-repeat center/cover;
  position: absolute;
  width: 40px;
  height: 40px;
  transform: translate(-50%, -50%);
  top: 50%;
  left: 24px;
}
.sec02 .department_wrap .desktop-list .box_wrap h3.ttl_og::before {
  background: url(../img/index/ico_og.svg) no-repeat center/cover;
}
.sec02 .department_wrap .desktop-list .box_wrap h3.ttl_mental::before {
  background: url(../img/index/ico_mental.svg) no-repeat center/cover;
}
.sec02 .department_wrap .desktop-list .box_wrap h3.ttl_medicine::before {
  background: url(../img/index/ico_medicine.svg) no-repeat center/cover;
}
.sec02 .department_wrap .desktop-list .box_wrap h3.ttl_healthcheck::before {
  background: url(../img/index/ico_health_check.svg) no-repeat center/cover;
}
.sec02 .department_wrap .desktop-list .box_wrap .flex-box {
  display: flex;
  flex-wrap: nowrap;
}
.sec02 .department_wrap .desktop-list .box_wrap .list {
  width: 100%;
  margin: 24px 0;
}
.sec02 .department_wrap .desktop-list .box_wrap .list + .list {
  margin-left: 24px;
}
.sec02 .department_wrap .list {
  background: #fff;
}
.sec02 .department_wrap .list li {
  position: relative;
  padding: 12px 0;
  border-bottom: #CDD2D9 1px solid;
}
.sec02 .department_wrap .list li a {
  font-size: 1.6rem;
  color: #041E42;
  display: block;
}
.sec02 .department_wrap .list li::after {
  content: "";
  position: absolute;
  background: url(../img/common/ico-arrow.svg) no-repeat center center;
  transform: translate(-50%, -50%);
  top: 50%;
  right: 0;
  width: 12px;
  height: 12px;
}
.sec02 .department_wrap .dermatology_accordion {
  width: 100%;
}
.sec02 .department_wrap .dermatology_accordion .accordion_item {
  border-bottom: 1px solid #d7dce3;
}
.sec02 .department_wrap .dermatology_accordion .accordion_item:first-child {
  border-top: 1px solid #d7dce3;
}
.sec02 .department_wrap .dermatology_accordion .accordion_item.is-open .accordion_content {
  grid-template-rows: 1fr;
  visibility: visible;
}
.sec02 .department_wrap .dermatology_accordion .accordion_item.is-open .accordion_icon::after {
  opacity: 0;
}
.sec02 .department_wrap .dermatology_accordion .accordion_trigger {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 80px;
  margin: 0;
  padding: 20px 55px 20px 0;
  background: #fff;
  border: 0;
  color: #001f4b;
  font-family: inherit;
  text-align: left;
  cursor: pointer;
  box-sizing: border-box;
}
.sec02 .department_wrap .dermatology_accordion .accordion_trigger .accordion_title {
  color: #001f4b;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
}
.sec02 .department_wrap .dermatology_accordion .accordion_trigger .accordion_icon {
  position: absolute;
  top: 50%;
  right: 8px;
  width: 24px;
  height: 24px;
  transform: translateY(-50%);
}
.sec02 .department_wrap .dermatology_accordion .accordion_trigger .accordion_icon::before, .sec02 .department_wrap .dermatology_accordion .accordion_trigger .accordion_icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 2px;
  background: #001f4b;
  transform: translate(-50%, -50%);
  transition: opacity 0.25s ease;
}
.sec02 .department_wrap .dermatology_accordion .accordion_trigger .accordion_icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.sec02 .department_wrap .dermatology_accordion .accordion_content {
  display: grid;
  grid-template-rows: 0fr;
  visibility: hidden;
  transition: grid-template-rows 0.35s ease, visibility 0.35s ease;
}
.sec02 .department_wrap .dermatology_accordion .accordion_content .accordion_content_inner {
  overflow: hidden;
}
.sec02 .department_wrap .dermatology_accordion .accordion_list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  -moz-column-gap: 42px;
       column-gap: 42px;
  row-gap: 0;
  margin: 0;
  padding: 5px 0 34px;
  list-style: none;
}
.sec02 .department_wrap .dermatology_accordion .accordion_list li {
  margin: 0;
  padding: 18px 32px 18px 0;
  font-size: 1.55rem;
  font-weight: 500;
  line-height: 1.5;
  border-bottom: 1px dotted #c8ccd2;
}
.sec02 .department_wrap .dermatology_accordion .accordion_list li a {
  position: relative;
  display: block;
  padding: 18px 32px 18px 0;
  color: #222;
  font-size: 1.55rem;
  font-weight: 500;
  line-height: 1.5;
  text-decoration: none;
}
.sec02 .department_wrap .dermatology_accordion .accordion_list li a::after {
  content: "›";
  position: absolute;
  top: 50%;
  right: 4px;
  color: #222;
  font-size: 2rem;
  line-height: 1;
  transform: translateY(-50%);
}
.sec02 .department_wrap .dermatology_accordion .accordion_list li a:hover {
  opacity: 0.65;
}
@media screen and (max-width: 1024px) {
  .sec02 .department_wrap .desktop-list {
    display: grid;
    grid-template-columns: 1fr;
    grid-auto-rows: minmax(100px, auto);
    -moz-column-gap: 1em;
         column-gap: 1em;
    row-gap: 1em;
  }
  .sec02 .department_wrap .desktop-list .list_box01 {
    grid-column-start: 1;
    grid-column-end: 3;
  }
}
@media screen and (max-width: 768px) {
  .sec02 .department_wrap .accordion-section {
    display: block;
  }
  .sec02 .department_wrap .accordion-content {
    display: none;
  }
  .sec02 .department_wrap .accordion-content.open {
    display: block;
  }
  .sec02 .department_wrap .accordion-content .list {
    padding: 0 4vw;
  }
}
.sec02 .comingsoon_txt {
  position: relative;
  top: -10px;
  text-align: center;
  font-size: 1.5rem;
  color: #C8102E;
}

@media screen and (max-width: 767px) {
  .sec02 {
    padding: 8vw 0;
  }
  .sec02 .wrap .ttl_wrap .sec-ttl {
    padding: 0;
    line-height: 1.5;
    padding-left: 2vw;
    margin-bottom: 4vw;
  }
  .sec02 .wrap .ttl_wrap .sec-ttl span {
    display: block;
  }
  .sec02 .wrap .department_wrap {
    /*.desktop-list {
                                    display: none;
                                }*/
  }
  .sec02 .wrap .department_wrap .subttl {
    font-size: 5.33vw;
    text-align: center;
    margin: 8vw 0 4vw;
  }
  .sec02 .wrap .department_wrap .flex-box {
    margin-bottom: 0;
  }
  .sec02 .wrap .department_wrap .flex-box .box {
    position: relative;
    width: calc((100% - 4vw) / 2);
    max-width: inherit;
    padding: 4vw 6vw 4vw 2vw;
    font-size: 3.73vw;
    margin: 1vw;
  }
  .sec02 .wrap .department_wrap .flex-box .box::after {
    right: 2vw;
    width: 3vw;
    height: 2vw;
  }
  .sec02 .wrap .department_wrap .flex-box .box .subttl {
    width: 44vw;
    max-width: inherit;
    margin: 0 auto 8vw;
    font-size: 4.8vw;
  }
  .sec02 .wrap .department_wrap .flex-box .box .subttl span {
    font-size: 5.333vw;
    padding-bottom: 15px;
    margin-bottom: 11px;
  }
  .sec02 .wrap .department_wrap .acc_wrap {
    position: relative;
    padding-bottom: 2vw;
  }
  .sec02 .wrap .department_wrap .acc_wrap .acc_btn {
    position: relative;
    background-color: white;
  }
  .sec02 .wrap .department_wrap .acc_wrap .acc_btn p {
    color: #041E42;
    font-weight: 600;
    font-size: 4.27vw;
    padding: 4vw 16vw;
    cursor: pointer;
    border: none;
    text-align: left;
    position: relative;
  }
  .sec02 .wrap .department_wrap .acc_wrap .acc_btn p::before {
    content: "";
    position: absolute;
    background: url(../img/index/ico_naika.svg) no-repeat center/cover;
    transform: translate(-50%, -50%);
    top: 50%;
    left: 8vw;
    width: 8vw;
    height: 8vw;
  }
  .sec02 .wrap .department_wrap .acc_wrap .acc_btn p.ttl_og::before {
    background: url(../img/index/ico_og.svg) no-repeat center/cover;
  }
  .sec02 .wrap .department_wrap .acc_wrap .acc_btn p.ttl_mental::before {
    background: url(../img/index/ico_mental.svg) no-repeat center/cover;
  }
  .sec02 .wrap .department_wrap .acc_wrap .acc_btn p.ttl_medicine::before {
    background: url(../img/index/ico_medicine.svg) no-repeat center/cover;
  }
  .sec02 .wrap .department_wrap .acc_wrap .acc_btn p.ttl_healthcheck::before {
    background: url(../img/index/ico_health_check.svg) no-repeat center/cover;
  }
  .sec02 .wrap .department_wrap .acc_wrap .acc_btn::before, .sec02 .wrap .department_wrap .acc_wrap .acc_btn::after {
    position: absolute;
    right: 4vw;
    top: 50%;
    display: block;
    content: "";
    border-radius: 12px;
    background: #041E42;
  }
  .sec02 .wrap .department_wrap .acc_wrap .acc_btn:before {
    width: 16px;
    height: 2px;
  }
  .sec02 .wrap .department_wrap .acc_wrap .acc_btn:after {
    width: 2px;
    height: 16px;
    margin-top: -7px;
    margin-right: 7px;
    transition: 0.4s;
  }
  .sec02 .wrap .department_wrap .acc_wrap .acc_btn.on:after {
    transform: rotate(-90deg);
  }
  .sec02 .wrap .department_wrap .acc_wrap .acc_cnts {
    display: none;
  }
  .sec02 .wrap .department_wrap .acc_wrap .acc_cnts .list {
    background: #fff;
  }
  .sec02 .wrap .department_wrap .acc_wrap .acc_cnts .list li {
    position: relative;
    padding: 4vw;
    border-bottom: #CDD2D9 1px solid;
  }
  .sec02 .wrap .department_wrap .acc_wrap .acc_cnts .list li a {
    font-size: 4.27vw;
    color: #041E42;
    display: block;
  }
  .sec02 .wrap .department_wrap .acc_wrap .acc_cnts .list li::after {
    content: "";
    position: absolute;
    background: url(../img/common/ico-arrow.svg) no-repeat center center;
    transform: translate(-50%, -50%);
    right: 4vw;
    width: 3vw;
    height: 3vw;
  }
  .sec02 .wrap .department_wrap .acc_wrap .acc_close_btn {
    margin: 8vw auto 0 auto;
    width: 24vw;
    height: 4px;
    cursor: pointer;
    border-radius: 15px;
    background: #041E42;
  }
  .sec02 .wrap .department_wrap .desktop-list {
    display: block;
  }
  .sec02 .wrap .department_wrap .desktop-list .list_box01 {
    grid-column-start: 1;
    grid-column-end: 3;
  }
  .sec02 .wrap .department_wrap .desktop-list .box_wrap {
    padding: 8vw;
  }
  .sec02 .wrap .department_wrap .desktop-list .box_wrap h3 {
    padding-left: 12vw;
  }
  .sec02 .wrap .department_wrap .desktop-list .box_wrap h3::before {
    width: 8vw;
    height: 8vw;
    left: 4vw;
  }
  .sec02 .wrap .department_wrap .desktop-list .box_wrap .flex-box {
    display: block;
  }
  .sec02 .wrap .department_wrap .desktop-list .box_wrap .list {
    width: 100%;
    margin: 4vw 0 0;
  }
  .sec02 .wrap .department_wrap .desktop-list .box_wrap .list + .list {
    margin: 0;
  }
  .sec02 .wrap .comingsoon_txt {
    top: 0;
    font-size: 3.733vw;
  }
  .sec02 .wrap .appointment_wrap {
    margin: 16% auto 0 auto;
  }
  .sec02 .wrap .appointment_wrap h4 {
    margin-bottom: 6%;
  }
  .sec02 .wrap .appointment_wrap h4:before, .sec02 .wrap .appointment_wrap h4:after {
    width: 26%;
  }
  /* page-menta */
  .page-mental .sec02 .department_wrap {
    margin-bottom: 8%;
  }
  .page-mental .sec02 .department_wrap .box {
    display: flex;
    width: 100%;
    max-width: inherit;
    padding-top: 5%;
    padding-bottom: 5%;
  }
  .page-mental .sec02 .department_wrap .box .img {
    width: 23%;
    margin: 0;
  }
  .page-mental .sec02 .department_wrap .box h4 {
    position: relative;
    display: block;
    left: auto;
    bottom: auto;
    height: auto;
    text-align: left;
  }
  .page-mental .sec02 .department_wrap .box h4 span {
    display: inline;
    font-size: 3.2vw;
  }
  .page-mental .sec02 .department_wrap .box.no-link {
    display: block;
  }
  .page-mental .sec02 .appointment_wrap h4:before, .page-mental .sec02 .appointment_wrap h4:after {
    width: 23%;
  }
  .dermatology_accordion .accordion_trigger {
    min-height: 64px;
    padding: 16px 42px 16px 0;
  }
  .dermatology_accordion .accordion_trigger .accordion_title {
    font-size: 1.6rem;
  }
  .dermatology_accordion .accordion_trigger .accordion_icon {
    right: 2px;
    width: 22px;
    height: 22px;
  }
  .dermatology_accordion .accordion_trigger .accordion_icon::before, .dermatology_accordion .accordion_trigger .accordion_icon::after {
    width: 15px;
  }
  .dermatology_accordion .accordion_list {
    grid-template-columns: 1fr;
    -moz-column-gap: 0;
         column-gap: 0;
    padding: 0 0 22px;
  }
  .dermatology_accordion .accordion_list li a {
    padding: 14px 28px 14px 0;
    font-size: 1.35rem;
  }
  .dermatology_accordion .accordion_list li a::after {
    right: 2px;
    font-size: 1.8rem;
  }
}
/* ------------------------------
sec03
------------------------------ */
.sec03 {
  position: relative;
  padding: 80px;
  background: #fff;
  /* スライダー */
}
.sec03 .wrap .box + .box {
  margin-top: 80px;
}
.sec03 .wrap .box .flex-box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.sec03 .wrap .box .flex-box.reverse {
  flex-direction: row-reverse;
}
.sec03 .wrap .box .flex-box + .flex-box {
  margin-top: 80px;
}
.sec03 .wrap .box .flex-box .txt {
  width: 48%;
  max-width: 480px;
  box-sizing: border-box;
}
.sec03 .wrap .box .flex-box .txt .subttl h3 {
  font-size: clamp(2rem, 4vw, 2.8rem);
  line-height: 1.5;
  color: #041E42;
  margin-bottom: 24px;
  font-family: "Noto Serif JP", serif;
}
.sec03 .wrap .box .flex-box .txt p {
  text-align: justify;
  text-justify: inter-ideograph;
}
.sec03 .wrap .box .flex-box .txt .btn_wrap .btn + .btn {
  margin-top: 20px;
}
.sec03 .wrap .box .flex-box .img {
  width: 48%;
  text-align: center;
}
.sec03 .wrap .box .flex-box .img img {
  max-width: 100%;
  border-radius: 16px;
}
.sec03 .wrap .box .flex-box .img img:nth-of-type(2) {
  border-radius: 0;
}
.sec03 .wrap .box .flex-box:nth-of-type(2) {
  align-items: flex-start;
}
.sec03 .wrap .box .flex-box:nth-of-type(2) .txt {
  padding-top: 30px;
}
.sec03 .wrap .box .check_list {
  margin-bottom: 24px;
}
.sec03 .wrap .box .check_list li {
  position: relative;
  font-size: 1.8rem;
  font-weight: 500;
  color: #041E42;
}
.sec03 .wrap .box .check_list li + li {
  margin-top: 5px;
}
.sec03 .wrap .box .check_list li:before {
  position: relative;
  top: -2px;
  margin-right: 10px;
  display: inline-block;
  vertical-align: middle;
  content: "";
  background: url("../img/index/ico_check.svg") no-repeat center center;
  background-size: 100% auto;
  width: 19px;
  height: 15px;
}
.sec03 .wrap .box .btn_wrap .btn {
  max-width: 320px;
  margin: 40px auto 0;
}
.sec03 #main-carousel {
  width: 100%;
  margin: 0 auto 10px;
}
.sec03 #main-carousel .splide__slide {
  padding: 6px;
  box-sizing: border-box;
}
.sec03 #main-carousel .splide__slide figure {
  width: 100%;
  margin: 0;
  overflow: hidden;
}
.sec03 #main-carousel .splide__slide figure img {
  display: block;
  width: 60%;
  height: auto;
  margin: 50px auto 10px;
}
.sec03 #main-carousel .splide__slide .slide_txt {
  padding: 30px 24px 30px 24px;
}
.sec03 #main-carousel .splide__slide .slide_txt .name {
  font-size: 1.2rem;
  font-weight: 500;
  color: #041E42;
}
.sec03 #main-carousel .splide__slide .slide_txt .name span {
  display: block;
  margin-top: 4px;
  line-height: 1;
  font-size: 2.4rem;
}
.sec03 #main-carousel .splide__slide .slide_txt .potision {
  border-bottom: 1px solid #041E42;
  margin-bottom: 12px;
  padding-bottom: 5px;
  margin-top: 20px;
}
.sec03 #main-carousel .splide__slide .slide_txt .list_ttl {
  margin-bottom: 3px;
}
.sec03 #main-carousel .splide__slide .slide_txt .potision,
.sec03 #main-carousel .splide__slide .slide_txt .list_ttl,
.sec03 #main-carousel .splide__slide .slide_txt dt,
.sec03 #main-carousel .splide__slide .slide_txt dd,
.sec03 #main-carousel .splide__slide .slide_txt ul li {
  font-size: 1.2rem;
  font-weight: 500;
  color: #041E42;
  line-height: 1.85;
}
.sec03 #main-carousel .splide__slide .slide_txt dl {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}
.sec03 #main-carousel .splide__slide .slide_txt dt {
  width: 50px;
}
.sec03 #main-carousel .splide__slide .slide_txt dd {
  width: calc(100% - 50px);
}
.sec03 #main-carousel .splide__slide .slide_txt .flex-box {
  margin-top: 17px;
  display: flex;
  justify-content: space-between;
}
.sec03 #main-carousel .splide__slide .slide_txt .qualification_wrap {
  width: 48%;
  font-size: 1.2rem;
  font-weight: 500;
  color: #041E42;
  line-height: 1.85;
}
.sec03 #main-carousel .splide__slide .slide_txt .specialized {
  width: 48%;
}
.sec03 #main-carousel .splide__slide .slide_txt .specialized ul {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.sec03 #main-carousel .splide__slide .slide_txt .specialized li {
  display: inline-block;
  text-align: center;
  vertical-align: middle;
  margin-right: 5px;
  margin-bottom: 7px;
  color: #FFF;
  font-size: 1.1rem;
  background: rgba(0, 31, 75, 0.5);
  padding: 0 13px 2px 13px;
  border-radius: 16px;
  box-sizing: border-box;
}
.sec03 #main-carousel .box-shadow {
  background: #FFF;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 2px 2px 10px -2px rgba(114, 114, 114, 0.3);
  box-sizing: border-box;
}
.sec03 #thumbnail-carousel {
  position: relative;
  width: 100%;
  max-width: 480px;
  margin: 40px auto;
}
.sec03 #thumbnail-carousel .splide__list {
  justify-content: center;
}
.sec03 #thumbnail-carousel .splide__list .splide__slide {
  opacity: 0.6;
}
.sec03 #thumbnail-carousel .splide__list .splide__slide.is-active {
  opacity: 1;
  border: none;
}

@media screen and (orientation: portrait) and (max-width: 1024px) {
  .sec03 {
    padding: 80px 40px;
  }
}
@media screen and (max-width: 767px) {
  .sec03 {
    padding: 8vw 0;
    /* スライダー */
  }
  .sec03 .wrap .ttl_wrap .sec-ttl {
    padding: 0 0 0 4vw;
  }
  .sec03 .wrap .ttl_wrap .sec-ttl .min {
    display: block;
    margin-bottom: 2vw;
  }
  .sec03 .wrap .ttl_wrap .sec-ttl .min span {
    display: block;
  }
  .sec03 .wrap .box {
    /*.acc_wrap {
        position: relative;
        padding-bottom: 4vw;

        .acc_btn {
            width: 32vw;
            position: absolute;
            right: 0;
            top: -4vw;

            p {
                font-size: 4.27vw;
            }

            &::before,
            &::after {
                position: absolute;
                right: 4vw;
                top: 50%;
                display: block;
                content: '';
                border-radius: 12px;
                background: $blue-1000;
            }

            &:before {
                width: 16px;
                height: 2px;
            }

            &:after {
                width: 2px;
                height: 16px;
                margin-top: -7px;
                margin-right: 7px;
                transition: .4s;
            }

            &.on:after {
                transform: rotate(-90deg);
            }
        }

        .acc_cnts {
            display: none;

            p {
                padding-top: 8vw;
                font-size: 4.27vw;
            }
        }

        .acc_close_btn {
            margin: 8vw auto 0 auto;
            width: 24vw;
            height: 4px;
            cursor: pointer;
            border-radius: 15px;
            background: $blue-1000;
        }
    }*/
  }
  .sec03 .wrap .box + .box {
    margin-top: 8vw;
  }
  .sec03 .wrap .box .flex-box {
    flex-direction: column-reverse;
    padding: 0;
  }
  .sec03 .wrap .box .flex-box + .flex-box {
    margin-top: 0;
  }
  .sec03 .wrap .box .flex-box.reverse {
    flex-direction: column-reverse;
  }
  .sec03 .wrap .box .flex-box .txt {
    width: 100%;
    max-width: none;
  }
  .sec03 .wrap .box .flex-box .txt .subttl h3 {
    margin: 4vw 0 2vw;
  }
  .sec03 .wrap .box .flex-box .txt .btn_wrap {
    max-width: 92%;
    margin: 8vw auto;
  }
  .sec03 .wrap .box .flex-box .txt .btn_wrap .btn + .btn {
    margin-top: 8vw;
  }
  .sec03 .wrap .box .flex-box .img {
    width: 100%;
    margin: 0 auto;
  }
  .sec03 .wrap .box .flex-box .img p {
    width: 94%;
    margin: 0 auto;
  }
  .sec03 .wrap .box .flex-box .img img {
    max-width: 100%;
    border-radius: 4px;
  }
  .sec03 .wrap .box .flex-box .img img:nth-of-type(2) {
    border-radius: 0;
  }
  .sec03 .wrap .box .flex-box:nth-of-type(2) .txt {
    padding-top: 0;
  }
  .sec03 .wrap .box .check_list {
    padding: 8vw 0 0;
    margin: 0;
  }
  .sec03 .wrap .box .check_list li {
    font-size: 3.733vw;
  }
  .sec03 .wrap .box .check_list li:before {
    top: -0.4vw;
    margin-right: 8px;
    width: 4vw;
    height: 4vw;
  }
  .sec03 .wrap .box .btn_wrap .btn {
    max-width: none;
    width: 92%;
    margin: 8vw auto 0;
  }
  .sec03 .sec-ttl .min {
    text-indent: 1.5vw;
    margin-left: -1.5vw;
  }
  .sec03 #main-carousel {
    width: 100%;
    margin: 0 auto;
  }
  .sec03 #main-carousel .splide__slide {
    padding: 6px;
    box-sizing: border-box;
  }
  .sec03 #main-carousel .box-shadow {
    position: relative;
    background: #FFF;
    border-radius: 16px;
    overflow: hidden;
    height: 100%;
    box-shadow: 2px 2px 10px -2px rgba(114, 114, 114, 0.3);
    box-sizing: border-box;
  }
  .sec03 #main-carousel .splide__slide figure {
    width: 100%;
    height: 70vw;
  }
  .sec03 #main-carousel .splide__slide .slide_txt {
    padding: 4vw;
  }
  .sec03 #main-carousel .splide__slide .slide_txt .name {
    font-size: 3.2vw;
    padding: 0;
    margin: 0;
  }
  .sec03 #main-carousel .splide__slide .slide_txt .name span {
    font-size: 5.6vw;
  }
  .sec03 #main-carousel .splide__slide .slide_txt .potision {
    border-bottom: 1px solid #041E42;
    padding: 0 0 5px 0;
    margin-top: 20px;
    margin: 2vw 0;
  }
  .sec03 #main-carousel .splide__slide .slide_txt .list_ttl {
    margin-bottom: 3px;
    margin: 0;
  }
  .sec03 #main-carousel .splide__slide .slide_txt .potision {
    font-size: 3.2vw;
  }
  .sec03 #main-carousel .splide__slide .slide_txt .list_ttl {
    font-size: 3.467vw;
  }
  .sec03 #main-carousel .splide__slide .slide_txt dt,
.sec03 #main-carousel .splide__slide .slide_txt dd,
.sec03 #main-carousel .splide__slide .slide_txt ul li {
    font-size: 2.4vw;
  }
  .sec03 #main-carousel .splide__slide .slide_txt .list_ttl {
    font-size: 3.467vw;
    padding-left: 0;
  }
  .sec03 #main-carousel .splide__slide .slide_txt dt {
    width: 10vw;
  }
  .sec03 #main-carousel .splide__slide .slide_txt dd {
    width: calc(100% - 10vw);
  }
  .sec03 #main-carousel .splide__slide .slide_txt .flex-box {
    margin-top: 17px;
    padding: 0;
    display: block;
  }
  .sec03 #main-carousel .splide__slide .slide_txt .qualification_wrap {
    width: 100%;
    margin-bottom: 17px;
    font-size: 2.4vw;
  }
  .sec03 #main-carousel .splide__slide .slide_txt .qualification_wrap.mb50 {
    margin-bottom: 14vw;
  }
  .sec03 #main-carousel .splide__slide .slide_txt .specialized {
    width: 100%;
    box-sizing: border-box;
  }
  .sec03 #main-carousel .splide__slide .slide_txt .specialized li {
    margin-right: 5px;
    margin-bottom: 7px;
    font-size: 2.933vw;
    background: rgba(0, 31, 75, 0.5);
    padding: 0 15px 2px 15px;
    border-radius: 14px;
  }
  .sec03 #thumbnail-carousel {
    display: none;
  }
}
/* ------------------------------
sec04
------------------------------ */
.sec04 {
  position: relative;
  background-color: #F2F4F5;
  padding: 80px 10vw;
}
.sec04 .flex-box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  align-items: baseline;
}
.sec04 .flex-box .box {
  width: calc((100% - 80px) / 2);
}
.sec04 .flex-box .box .img img {
  width: 100%;
  border-radius: 16px;
}
.sec04 .flex-box .box .txt .subttl {
  margin: 24px 0;
  color: #041E42;
  font-size: 2.4rem;
  font-weight: 500;
  text-align: center;
}
.sec04 .flex-box .box .txt p {
  font-size: 1.5rem;
  line-height: 1.7;
  text-align: justify;
  text-justify: inter-ideograph;
}
.sec04 .flex-box .box .txt .btn_wrap .btn {
  max-width: 320px;
  margin: 40px auto 0;
}

/* page-mental */
.page-mental .sec04 .first_guide {
  width: 100%;
  max-width: 750px;
  margin: 0 auto 70px auto;
}
.page-mental .sec04 .first_guide .ico_ttl {
  text-align: center;
  margin-bottom: 25px;
}
.page-mental .sec04 .first_guide .ico_ttl span {
  position: relative;
  font-size: 2.4rem;
  font-weight: 700;
  color: #041E42;
}
.page-mental .sec04 .first_guide .ico_ttl span:before {
  position: relative;
  display: inline-block;
  margin-right: 14px;
  vertical-align: middle;
  content: "";
  background: url("../img/index/ico-guide.svg") no-repeat center center;
  background-size: 100% auto;
  width: 39px;
  height: 57px;
}
.page-mental .sec04 .first_guide .lead {
  padding: 0 40px;
  margin-bottom: 35px;
  box-sizing: border-box;
}
.page-mental .sec04 .first_guide .flow_box {
  position: relative;
  margin: 0 auto;
  box-sizing: border-box;
}
.page-mental .sec04 .first_guide .flow_box:not(.no-arrow):after {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -50px;
  margin: 0 auto;
  display: block;
  content: "";
  background: url("../img/online/ico_arrow.svg") no-repeat center center;
  background-size: 100% auto;
  width: 60px;
  height: 28px;
  box-sizing: border-box;
}
.page-mental .sec04 .first_guide .flow_box + .flow_box {
  margin-top: 70px;
}
.page-mental .sec04 .first_guide .flow_box.no-arrow {
  margin-bottom: 40px;
}
.page-mental .sec04 .first_guide .flow_box h4 {
  position: relative;
  text-align: center;
  font-size: 2.1rem;
  font-weight: 700;
  color: #FFF;
  background: #041E42;
  padding: 17px 25px 18px 25px;
  border-radius: 16px 16px 0 0;
  box-sizing: border-box;
}
.page-mental .sec04 .first_guide .flow_box h4 span {
  position: absolute;
  left: 34px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 2.1rem;
}
.page-mental .sec04 .first_guide .flow_box .boxIn {
  border-radius: 0 0 16px 16px;
  padding: 25px 70px;
  background: rgba(153, 165, 183, 0.2);
  box-sizing: border-box;
}
.page-mental .sec04 .first_guide .flow_box .boxIn .flex {
  display: flex;
  align-items: flex-start;
}
.page-mental .sec04 .first_guide .flow_box .boxIn .flex.alignCenter {
  align-items: center;
}
.page-mental .sec04 .first_guide .flow_box .boxIn .flex .img_wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.page-mental .sec04 .first_guide .flow_box .boxIn .flex .img img {
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}
.page-mental .sec04 .first_guide .flow_box .boxIn .flex .txt {
  width: calc(100% - 97px);
  padding-left: 35px;
  box-sizing: border-box;
}
.page-mental .sec04 .first_guide .flow_box .boxIn .flex .txt p {
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.1rem;
  line-height: 1.64;
  font-feature-settings: "palt";
}

@media screen and (orientation: portrait) and (max-width: 1024px) {
  .sec04 {
    padding: 80px 40px;
  }
}
@media screen and (max-width: 767px) {
  .sec04 {
    padding: 8vw 0 16vw;
  }
  .sec04 .ttl_wrap .sec-ttl {
    padding: 0;
    line-height: 1.5;
    margin-bottom: 6vw;
  }
  .sec04 .ttl_wrap .sec-ttl span {
    padding-left: 2vw;
  }
  .sec04 .flex-box .box {
    width: 100%;
  }
  .sec04 .flex-box .box .img {
    width: 100%;
    margin: 0 0 4vw;
  }
  .sec04 .flex-box .box .txt {
    width: 100%;
    margin-left: 0;
  }
  .sec04 .flex-box .box .txt .subttl {
    margin: 0 0 2vw;
    font-size: 5.33vw;
  }
  .sec04 .flex-box .box .txt p {
    font-size: 4.27vw;
  }
  .sec04 .flex-box .box .txt .btn_wrap .btn {
    max-width: none;
    width: 92%;
    margin: 8vw auto 0;
  }
  .sec04 .flex-box .box + .box {
    margin-top: 16vw;
  }
  /* page-menta */
  .page-mental .sec04 .first_guide {
    width: 90%;
    max-width: inherit;
    margin: 0 auto 10% auto;
  }
  .page-mental .sec04 .first_guide .ico_ttl {
    margin-bottom: 5%;
  }
  .page-mental .sec04 .first_guide .ico_ttl span {
    font-size: 5.867vw;
  }
  .page-mental .sec04 .first_guide .ico_ttl span:before {
    display: block;
    margin: 0 auto 3% auto;
    width: 8vw;
    height: 12vw;
  }
  .page-mental .sec04 .first_guide .lead {
    padding: 0;
    margin-bottom: 6%;
  }
  .page-mental .sec04 .first_guide .flow_box:not(.no-arrow):after {
    bottom: -11vw;
    background-size: 100% auto;
    width: 8vw;
    height: 3.733vw;
  }
  .page-mental .sec04 .first_guide .flow_box + .flow_box {
    margin-top: 20%;
  }
  .page-mental .sec04 .first_guide .flow_box h4 {
    font-size: 5.333vw;
    line-height: 1.5;
    text-align: left;
    padding: 2vw 2vw 2vw 30vw;
    border-radius: 10px 10px 0 0;
  }
  .page-mental .sec04 .first_guide .flow_box h4 span {
    left: 8%;
    font-size: 3.73vw;
  }
  .page-mental .sec04 .first_guide .flow_box p .atten {
    margin-top: 5%;
    font-size: 3.733vw;
    line-height: 1.65;
    font-weight: 500;
    text-align: center;
  }
  .page-mental .sec04 .first_guide .flow_box .boxIn {
    border-radius: 0 0 10px 10px;
    padding: 9% 8%;
  }
  .page-mental .sec04 .first_guide .flow_box .boxIn .flex .img_wrap {
    display: block;
    width: 25.2vw;
    max-width: 189px;
  }
  .page-mental .sec04 .first_guide .flow_box .boxIn .flex .txt {
    width: calc(100% - 25.2vw);
    padding-left: 7%;
  }
  .page-mental .sec04 .first_guide .flow_box .boxIn .flex .txt p {
    font-size: 3.733vw;
    line-height: 1.65;
  }
  .page-mental .sec04 .first_guide .flow_box .boxIn .flex p.atten {
    font-weight: 500;
  }
  .page-mental .sec04 .first_guide .flow_box .boxIn .sp .atten {
    text-align: center;
    margin-top: 4vw;
  }
  .page-mental .sec04 .first_guide .flow_box .boxIn .telWrap {
    text-align: center;
  }
  .page-mental .sec04 .first_guide .flow_box .boxIn .telWrap .ico {
    position: relative;
    display: inline-block;
    margin: 4vw 0 8vw;
    line-height: 1.2;
    padding-left: 4vw;
  }
  .page-mental .sec04 .first_guide .flow_box .boxIn .telWrap .ico::before {
    position: absolute;
    transform: translate(-50%, -50%);
    left: -8%;
    top: 50%;
    display: block;
    content: "";
    background: url(../img/common/ico-tel.svg) no-repeat center center;
    background-size: 100% auto;
    width: 8vw;
    height: 8vw;
  }
  .page-mental .sec04 .first_guide .flow_box .boxIn .telWrap .tel-link {
    font-size: 6.4vw;
    letter-spacing: 0.04em;
    line-height: 1.2;
    font-weight: 700;
    color: #041E42;
  }
}
/* ------------------------------
sec05
------------------------------ */
.sec05 {
  position: relative;
  padding-bottom: 240px;
}
.sec05 .bg_parallax {
  background: #F2F4F5 url("../img/index/bg-clinic_01.jpg") no-repeat center/cover;
}
.sec05.bg .bg_parallax + .wrap {
  position: relative;
  top: 240px;
  padding-top: 105px;
  padding-bottom: 105px;
  z-index: 2;
}
.sec05 .ttl_wrap {
  position: relative;
}
.sec05 .ttl_wrap .sec-ttl {
  color: #FFF;
  padding: 88px 0;
  margin-bottom: 0;
  box-sizing: border-box;
}
.sec05 .logo_box img {
  width: 250px;
  margin-bottom: 30px;
}
.sec05 .flex-box {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.sec05 .flex-box.time_box {
  margin-bottom: 90px;
  display: block;
}
.sec05 .flex-box.time_box .box {
  position: relative;
  width: 48%;
  max-width: 480px;
  margin-bottom: 40px;
}
.sec05 .flex-box.time_box .box img {
  width: 100%;
  height: auto;
  margin-bottom: 10px;
}
.sec05 .flex-box.time_box .box .note {
  font-size: 1.6rem;
}
.sec05 .flex-box.time_box .box .note .bl_900 {
  color: #1D3455;
}
.sec05 .flex-box.time_box .box .note .bl_400 {
  color: #9BA5B3;
}
.sec05 .flex-box.time_box .box .note .rd_900 {
  color: #CD2742;
}
.sec05 .flex-box.time_box .box .note .rd_400 {
  color: #E99FAB;
}
.sec05 .flex-box.time_box .box .note .link {
  color: #041E42;
  border-bottom: 1px solid #041E42;
}
.sec05 .flex-box.time_box .table_wrap table {
  border-collapse: collapse;
  width: 100%;
}
.sec05 .flex-box.time_box .table_wrap table th,
.sec05 .flex-box.time_box .table_wrap table td {
  border: 1px solid #041E42;
  padding: 16px;
  font-weight: 600;
  text-align: center;
}
.sec05 .flex-box.time_box .table_wrap table th.bg_bl900,
.sec05 .flex-box.time_box .table_wrap table td.bg_bl900 {
  background-color: #1D3455;
  color: white;
}
.sec05 .flex-box.time_box .table_wrap table th.bg_bl400,
.sec05 .flex-box.time_box .table_wrap table td.bg_bl400 {
  background-color: #9BA5B3;
  color: white;
}
.sec05 .flex-box.time_box .table_wrap .note {
  margin: 16px 0;
}
.sec05 .flex-box.time_box .table_wrap .note dl {
  align-items: baseline;
}
.sec05 .flex-box.time_box .table_wrap .note dl + dl {
  margin-top: 8px;
}
.sec05 .flex-box.time_box .table_wrap .note dl dt,
.sec05 .flex-box.time_box .table_wrap .note dl dd {
  line-height: 1.5;
}
.sec05 .flex-box.map_box {
  align-items: center;
  flex-direction: row-reverse;
}
.sec05 .flex-box.map_box .box {
  width: 34%;
}
.sec05 .flex-box.map_box .box:nth-of-type(1) {
  width: 60%;
  max-width: 570px;
}
.sec05 .flex-box.map_box .lead {
  position: relative;
  font-size: 2.1rem;
  font-weight: 500;
  color: #041E42;
  border-bottom: 1px solid #041E42;
  margin-bottom: 20px;
  box-sizing: border-box;
}
.sec05 .flex-box.map_box .lead:before {
  position: relative;
  top: -15px;
  display: inline-block;
  vertical-align: middle;
  margin-right: 15px;
  content: "";
  background: url("../img/index/ico_walk.svg") no-repeat center;
  background-size: 100% auto;
  width: 27px;
  height: 52px;
}
.sec05 .flex-box.map_box .info {
  font-size: 1.5rem;
  line-height: 1.86;
  letter-spacing: 0.1rem;
}
.sec05 .flex-box.map_box .gmap {
  max-width: 570px;
  height: 424px;
}
.sec05 .flex-box.map_box .gmap iframe {
  width: 100%;
  height: 100%;
  border: none;
  box-sizing: border-box;
}
.sec05 .flex-box.map_box .btn_wrap {
  margin: 40px 0 0 0;
}
.sec05 .guide_wrap + .guide_wrap {
  margin-top: 80px;
}
.sec05 .guide_wrap h3 {
  position: relative;
  text-align: center;
  margin-bottom: 45px;
}
.sec05 .guide_wrap h3:before, .sec05 .guide_wrap h3:after {
  position: absolute;
  top: 50%;
  display: block;
  content: "";
  width: 100%;
  height: 1px;
  background: #041E42;
}
.sec05 .guide_wrap h3 span {
  position: relative;
  font-size: 2.4rem;
  font-weight: 700;
  color: #041E42;
  background-color: #fff;
  z-index: 1;
  padding: 1px 40px;
}
.sec05 .guide_wrap .telWrap {
  text-align: center;
}
.sec05 .guide_wrap .telWrap .ico {
  position: relative;
  display: inline-block;
  margin-top: 24px;
  line-height: 1.2;
  box-sizing: border-box;
}
.sec05 .guide_wrap .telWrap .tel-link {
  font-size: 2.8rem;
  letter-spacing: 0.15rem;
  line-height: 1.2;
  font-weight: 700;
  color: #041E42;
  padding-left: 45px;
}
.sec05 .guide_wrap .telWrap .tel-link::before {
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -24px;
  display: block;
  content: "";
  background: url(../img/common/ico-tel.svg) no-repeat center center;
  background-size: 100% auto;
  width: 27px;
  height: 26px;
}
.sec05 .guide_wrap .telWrap .txt_tel {
  display: block;
  margin-top: 5px;
  font-size: 1.5rem;
  line-height: 1.2;
  font-weight: 500;
}
.sec05 .guide_wrap .btn_wrap {
  margin: 35px auto 0 auto;
  max-width: 390px;
}
.sec05 .guide_wrap .btn_wrap .btn + .btn {
  margin-top: 20px;
}
.sec05 .guide_wrap .group_box {
  position: relative;
  display: flex;
  align-items: center;
  border-bottom: 1px solid #4d4d4d;
  padding: 30px 0;
  box-sizing: border-box;
}
.sec05 .guide_wrap .group_box ul {
  display: flex;
  margin-left: 30px;
}
.sec05 .guide_wrap .group_box li {
  display: block;
  width: 152px;
  text-align: center;
  font-size: 2.1rem;
  font-weight: 500;
  color: #FFF;
  background: rgba(6, 31, 75, 0.5);
  line-height: 1;
  padding: 11px 10px 13px 10px;
  border-radius: 22px;
}
.sec05 .guide_wrap .group_box li + li {
  margin-left: 17px;
}
.sec05 .guide_wrap .group_box .link {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  line-height: 1;
  padding-right: 26px;
  box-sizing: border-box;
}
.sec05 .guide_wrap .group_box .link a {
  color: #001e4e;
  font-size: 2.1rem;
  font-weight: bold;
  border-bottom: 1px solid #001e4e;
  line-height: 1;
  display: inline-block;
  padding-bottom: 2px;
}
.sec05 .guide_wrap .group_box .link:after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  width: 15px;
  height: 14px;
  background: url(../img/common/ico-arrow.svg) no-repeat center center/contain;
}
.sec05 .guide_wrap .alignment_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.sec05 .guide_wrap .alignment_list li {
  width: 32%;
  max-width: 310px;
  margin: 0 2% 20px 0;
  position: relative;
  padding-bottom: 10px;
  border-bottom: 1px solid #4d4d4d;
  box-sizing: border-box;
}
.sec05 .guide_wrap .alignment_list li:nth-of-type(3n) {
  margin-right: 0;
}
.sec05 .guide_wrap .alignment_list a {
  display: block;
  font-size: 1.6rem;
  font-weight: 500;
  color: #041E42;
}
.sec05 .guide_wrap .alignment_list li:after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  width: 9px;
  height: 8px;
  background: url(../img/common/ico-arrow.svg) no-repeat center center/contain;
}
.sec05 .guide_wrap .specialsite_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.sec05 .guide_wrap .specialsite_list li {
  position: relative;
  width: calc((100% - 200px) / 3);
  box-shadow: 4px 4px 8px 2px rgba(114, 114, 114, 0.1);
  padding: 16px 24px;
  border-radius: 8px;
  margin: 0 16px 16px 0px;
}
.sec05 .guide_wrap .specialsite_list li::before {
  position: absolute;
  right: 0;
  top: 0;
  display: block;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 21px 21px 0;
  border-color: transparent #C8102E transparent transparent;
}
.sec05 .guide_wrap .specialsite_list li p {
  font-size: 1.6rem;
  font-weight: 500;
  color: #041E42;
  line-height: 2;
}
.sec05 .guide_wrap .specialsite_list li p span {
  display: block;
  font-size: 1.2rem;
  line-height: 1.5;
}
.sec05 .guide_wrap .specialsite_list li p span.num {
  color: #C8102E;
}

/*.page-mental*/
.page-mental .sec05 .flex-box.time_box .box {
  position: relative;
  width: 48%;
  max-width: 480px;
}
.page-mental .sec05 .flex-box.time_box .box img {
  width: 100%;
  height: auto;
  margin-bottom: 10px;
}
.page-mental .sec05 .flex-box.time_box .box .note {
  font-size: 1.6rem;
}
.page-mental .sec05 .flex-box.time_box .box .note .black {
  color: #001e4e;
}
.page-mental .sec05 .flex-box.time_box .box .note .red {
  color: #d4001d;
}
.page-mental .sec05 .flex-box.time_box .box .note .pink {
  color: #eaa1a5;
}
.page-mental .sec05 .flex-box.time_box .box .note .blue01 {
  color: #96A4B8;
}
.page-mental .sec05 .flex-box.time_box .box .note .blue02 {
  color: #4870AA;
}
.page-mental .sec05 .flex-box.time_box .box .note .link {
  color: #041E42;
  border-bottom: 1px solid #041E42;
}

@media screen and (orientation: portrait) and (max-width: 1024px) {
  .sec05.bg .wrap {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media screen and (max-width: 767px) {
  .sec05 {
    padding-bottom: 0;
  }
  .sec05 .ttl_wrap {
    top: 0;
  }
  .sec05 .ttl_wrap .sec-ttl {
    padding: 12vw 2vw;
  }
  .sec05 .bg_parallax {
    height: 32vw;
  }
  .sec05 .bg_parallax::before {
    background: url("../img/index/bg-clinic_01_sp.jpg") no-repeat center center/cover, #fff;
  }
  .sec05.bg .bg_parallax + .wrap {
    top: 0;
    padding: 10% 4% 0 4%;
    margin-bottom: 0;
  }
  .sec05 .logo_box img {
    width: 50vw;
    margin-bottom: 5%;
  }
  .sec05 .flex-box {
    display: block;
  }
  .sec05 .flex-box .box + .box {
    margin-top: 0;
  }
  .sec05 .flex-box.time_box {
    margin-bottom: 16vw;
  }
  .sec05 .flex-box.time_box .box {
    width: 100%;
    max-width: inherit;
  }
  .sec05 .flex-box.time_box .box + .box {
    margin-top: 10%;
  }
  .sec05 .flex-box.time_box .box img {
    width: 100%;
    height: auto;
    margin-bottom: 5%;
  }
  .sec05 .flex-box.time_box .box .note {
    font-size: 3.467vw;
    line-height: 1.75;
    margin-left: 4%;
  }
  .sec05 .flex-box.time_box .table_wrap table th,
.sec05 .flex-box.time_box .table_wrap table td {
    padding: 4vw 1vw;
    font-size: 2.93vw;
  }
  .sec05 .flex-box.time_box .table_wrap .note {
    margin: 4vw 0;
  }
  .sec05 .flex-box.time_box .table_wrap .note dl {
    align-items: baseline;
  }
  .sec05 .flex-box.time_box .table_wrap .note dl dt {
    white-space: nowrap;
  }
  .sec05 .flex-box.time_box .table_wrap .note dl dd {
    line-height: 1.7;
    text-align: justify;
  }
  .sec05 .flex-box.map_box {
    display: flex;
    flex-direction: column-reverse;
  }
  .sec05 .flex-box.map_box .box {
    width: 100%;
    text-align: center;
    padding-bottom: 4%;
  }
  .sec05 .flex-box.map_box .box:nth-of-type(1) {
    width: 100%;
    max-width: inherit;
    text-align: left;
  }
  .sec05 .flex-box.map_box .box:nth-of-type(2) {
    display: flex;
    flex-direction: column-reverse;
  }
  .sec05 .flex-box.map_box .gmap {
    width: 100%;
    height: 100vw;
  }
  .sec05 .flex-box.map_box .lead {
    display: inline-block;
    text-align: center;
    margin: 0 auto;
    font-size: 4.8vw;
    border-bottom: 1px solid #041E42;
    margin-top: 7%;
    margin-bottom: 2%;
  }
  .sec05 .flex-box.map_box .lead:before {
    top: -15px;
    width: 6vw;
    height: 13vw;
  }
  .sec05 .flex-box.map_box .info {
    font-size: 4.27vw;
    margin-bottom: 6%;
  }
  .sec05 .flex-box.map_box .btn_wrap {
    margin: 10% 0 0 0;
  }
  .sec05 .guide_wrap .group_box .link {
    top: 6.5vw;
    transform: translateY(0);
    right: 0;
    padding-right: 0;
    background: #001e4e;
    border-radius: 100vh;
    width: 41%;
  }
  .sec05 .guide_wrap .group_box .link a {
    color: #fff;
    font-size: 3.46vw;
    border-bottom: none;
    display: block;
    text-align: center;
    padding: 13px 16px 13px 0;
  }
  .sec05 .guide_wrap .group_box .link:after {
    right: 15px;
    width: 8px;
    height: 7.5px;
    background: url(../img/common/ico-arrow_white.svg) no-repeat center center/contain;
  }
  .sec05 .guide_wrap + .guide_wrap {
    margin-top: 14%;
  }
  .sec05 .guide_wrap h3 {
    margin-bottom: 8vw;
  }
  .sec05 .guide_wrap h3 span {
    font-size: 5.333vw;
    line-height: 1.5;
    padding: 1vw 4vw;
  }
  .sec05 .guide_wrap .telWrap .tel-link {
    display: block;
    font-size: 4.267vw;
    color: #fff;
    padding: 4vw 2vw;
    line-height: 1;
    background: #C8102E;
    position: relative;
    width: 100%;
    text-align: center;
    border-radius: 30px;
    box-sizing: border-box;
  }
  .sec05 .guide_wrap .telWrap .tel-link span {
    font-size: 4.267vw;
    color: #fff;
    line-height: 1;
  }
  .sec05 .guide_wrap .telWrap .ico {
    width: 100%;
    margin-top: 4vw;
    padding-left: 0;
  }
  .sec05 .guide_wrap .telWrap .tel-link::before {
    content: none;
  }
  .sec05 .guide_wrap .telWrap .txt_tel {
    font-size: 4.27vw;
    margin-top: 3%;
    text-align: center;
  }
  .sec05 .guide_wrap .btn_wrap {
    margin: 8% auto 0 auto;
    max-width: inherit;
  }
  .sec05 .guide_wrap .btn_wrap .btn + .btn {
    margin-top: 4%;
  }
  .sec05 .guide_wrap .group_box {
    position: relative;
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    padding: 7% 0 4% 0;
  }
  .sec05 .guide_wrap .group_box .logo {
    width: 40%;
  }
  .sec05 .guide_wrap .group_box ul {
    width: 100%;
    margin: 7% 0 5% 0;
  }
  .sec05 .guide_wrap .group_box li {
    width: 26%;
    font-size: 4vw;
    padding: 5px 10px 8px 10px;
  }
  .sec05 .guide_wrap .group_box li + li {
    margin-left: 10px;
  }
  .sec05 .guide_wrap .group_box .text {
    line-height: 1.75;
    font-size: 4.27vw;
  }
  .sec05 .guide_wrap .alignment_list {
    display: block;
  }
  .sec05 .guide_wrap .alignment_list li {
    width: 100%;
    max-width: inherit;
    margin: 0;
    padding: 3% 0;
  }
  .sec05 .guide_wrap .alignment_list a {
    font-size: 4.27vw;
  }
  .sec05 .guide_wrap .alignment_list li::after {
    right: 1vw;
    width: 2.6vw;
    height: 2.6vw;
    background-size: 100% auto;
  }
  .sec05 .guide_wrap .specialsite_list {
    margin-bottom: 8vw;
  }
  .sec05 .guide_wrap .specialsite_list li {
    width: calc((100% - 24vw) / 2);
    padding: 4vw;
    margin: 2vw;
    box-shadow: 2px 2px 4px 2px rgba(114, 114, 114, 0.2);
  }
  .sec05 .guide_wrap .specialsite_list li::before {
    border-width: 0 4vw 4vw 0;
  }
  .sec05 .guide_wrap .specialsite_list li p {
    font-size: 4.27vw;
    line-height: 1.5;
  }
  .sec05 .guide_wrap .specialsite_list li p span {
    font-size: 3.2vw;
  }
  .sec05 .guide_wrap .specialsite_list li p span.num {
    font-size: 3.2vw;
  }
  /*.page-mental*/
  .page-mental .sec05 .flex-box.time_box .box {
    width: 100%;
    max-width: auto;
  }
}
.test_none {
  display: none;
}

/* ------------------------------
sns
------------------------------ */
.sns_wrapper {
  background: rgba(150, 164, 184, 0.1);
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
}
.sns_wrapper .txt {
  position: relative;
  z-index: 2;
  margin-right: 40px;
  /*&::before {
    position: absolute;
    content: '';
    background: url(../img/index/sns@2x.png) no-repeat center center;
    background-size: cover;
    width: 400px;
    height: 450px;
    transform: translate(-50%, -50%);
    top: 50%;
    right: -140%;
    z-index: -1;
  }*/
}
.sns_wrapper .txt h3 {
  font-size: 1.6rem;
  font-weight: 500;
  color: #041E42;
  text-align: center;
}
.sns_wrapper .txt h3:nth-of-type(2) {
  margin-top: 6%;
}
.sns_wrapper .txt .text {
  margin-bottom: 24px;
}
.sns_wrapper .txt ul {
  display: flex;
  justify-content: space-around;
  max-width: 500px;
  margin: 20px 0;
}
.sns_wrapper .txt ul .btn_wrap {
  line-height: 1.5;
  width: 30%;
  margin: 0 auto;
}
.sns_wrapper .txt ul .btn_wrap a.btn {
  position: relative;
  display: block;
  font-size: 1.4rem;
  font-weight: 700;
  border-radius: 10px;
  box-shadow: 4px 4px 8px 2px rgba(114, 114, 114, 0.3);
  padding: 12px 10px;
  white-space: nowrap;
}
.sns_wrapper .txt ul .btn_wrap a.btn::before {
  position: relative;
  display: block;
  margin: 0 auto;
  content: "";
  background-size: 100% auto !important;
}
.sns_wrapper .txt ul .btn_wrap a.btn::after {
  content: none;
}
.sns_wrapper .txt ul .btn_wrap:nth-of-type(1) a::before {
  margin-bottom: 5px;
  background: url("../img/common/ico-x_white.svg") no-repeat center center;
  width: 20px;
  height: 20px;
}
.sns_wrapper .txt ul .btn_wrap:nth-of-type(2) a::before {
  margin-bottom: 5px;
  background: url("../img/common/ico-voom_white.svg") no-repeat center center;
  width: 18px;
  height: 20px;
}
.sns_wrapper .txt ul .btn_wrap:nth-of-type(3) a::before {
  margin-bottom: 5px;
  background: url("../img/common/ico-insta_white.svg") no-repeat center center;
  width: 20px;
  height: 20px;
}
.sns_wrapper .img {
  width: 400px;
}
.sns_wrapper .img img {
  width: 100%;
}
.sns_wrapper.mental ul .btn_wrap {
  width: 200px;
}

@media screen and (orientation: portrait) and (max-width: 1024px) {
  .sns_wrapper .txt {
    margin: 0 0 0 40px;
  }
}
@media screen and (max-width: 767px) {
  .sns_wrapper {
    padding: 8vw 4vw;
    margin: 0 auto;
    flex-wrap: wrap;
    align-items: flex-start;
    flex-direction: column-reverse;
  }
  .sns_wrapper h3 {
    font-size: 3.733vw;
  }
  .sns_wrapper .txt {
    width: 100%;
    margin: -48vw 0 4vw 0;
  }
  .sns_wrapper .txt .text {
    max-width: 44vw;
    font-size: 3.677vw;
    text-align: left;
  }
  .sns_wrapper .txt h3 {
    white-space: nowrap;
  }
  .sns_wrapper .txt ul {
    max-width: 100%;
    margin: 5% 0 0;
  }
  .sns_wrapper .txt ul .btn_wrap a.btn {
    font-size: 3.2vw;
  }
  .sns_wrapper .txt ul .btn_wrap:nth-of-type(1) a::before {
    margin-bottom: 10px;
    background: url("../img/common/ico-x_white.svg") no-repeat center center;
    width: 5vw;
    height: 5vw;
  }
  .sns_wrapper .txt ul .btn_wrap:nth-of-type(2) a::before {
    margin-bottom: 10px;
    background: url("../img/common/ico-voom_white.svg") no-repeat center center;
    width: 4.5vw;
    height: 5vw;
  }
  .sns_wrapper .txt ul .btn_wrap:nth-of-type(3) a::before {
    margin-bottom: 10px;
    background: url("../img/common/ico-insta_white.svg") no-repeat center center;
    width: 5vw;
    height: 5vw;
  }
  .sns_wrapper .img {
    width: 50vw;
    margin: -8vw 48vw 0;
  }
  .sns_wrapper.naika {
    padding: 12% 5%;
  }
  .sns_wrapper.naika ul .btn_wrap a.btn {
    padding: 8% 5% 10%;
  }
  .sns_wrapper.mental {
    padding: 12% 5%;
  }
  .sns_wrapper.mental ul .btn_wrap {
    width: 50%;
  }
  .sns_wrapper.mental ul .btn_wrap a.btn {
    padding: 8% 5% 10%;
  }
  .sns_wrapper.mental ul .btn_wrap:nth-of-type(1) a::before {
    margin-bottom: 5%;
  }
}
/*# sourceMappingURL=index.css.map */