/* ==========================================================================
  common
========================================================================== */
.case {
  background-color: #FDF9F2;
}

@media screen and (min-width: 769px) {
  #headerCare .headMain {
    align-items: center;
  }

  #headerCare .headLogo {
    padding-top: 2rem;
  }

  #headerCare #headNav {
    padding-top: 2rem;
  }

  .case {
    padding-bottom: 100px;
  }

  .case-sp {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .case {
    padding-bottom: 13.333vw;
  }

  .case-pc {
    display: none;
  }
}

/* ==========================================================================
  case__head
========================================================================== */

@media screen and (min-width: 769px) {
  .case__head {
    display: flex;
    padding: 70px 0 50px;
    flex-direction: column;
    align-items: center;
    align-self: stretch;
    max-width: 1200px;
    width: 90%;
    margin: 0 auto;
  }

  .case__ttl {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
  }

  .case__ttl-sub {
    color: #113D79;
    text-align: center;
    font-family: "Cormorant Infant";
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 150%;
    /* 21px */
    letter-spacing: 2.8px;
  }

  .case__ttl-main {
    color: #454140;
    text-align: center;
    font-family: "Noto Serif JP";
    font-size: 34px;
    font-style: normal;
    font-weight: 600;
    line-height: 117.64%;
    /* 117.647% */
    letter-spacing: 6.8px;
  }
}

@media screen and (max-width: 768px) {
  .case__head {
    display: flex;
    padding: 18.667vw 4.267vw 13.333vw;
    flex-direction: column;
    align-items: center;
    align-self: stretch;
    width: 100%;
    margin: 0 auto;
  }

  .case__ttl {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .case__ttl-sub {
    color: #113D79;
    text-align: center;
    font-family: "Cormorant Infant";
    font-size: 3.733vw;
    font-style: normal;
    font-weight: 700;
    line-height: 150%;
    letter-spacing: 0.747vw;
  }

  .case__ttl-main {
    color: #454140;
    text-align: center;
    font-family: "Noto Serif JP";
    font-size: 8.533vw;
    font-style: normal;
    font-weight: 600;
    line-height: 150%;
    /* 12.8vw */
    letter-spacing: 1.707vw;
  }
}


/* ==========================================================================
  case__wrapper,case__body
========================================================================== */

@media screen and (min-width: 769px) {
  .case__wrapper {
    max-width: 1000px;
    width: 90%;
    margin: 0 auto;
    background-color: #FFF;
    display: flex;
    padding: 70px 90px;
    flex-direction: column;
    align-items: center;
    gap: 40px;
  }

  .case__wrapper-ttl {
    color: #454140;
    text-align: center;
    font-family: "Noto Serif JP";
    font-size: 30px;
    font-style: normal;
    font-weight: 600;
    line-height: 150%;
    letter-spacing: 6px;
    width: 100%;
  }

  .case__body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 80px;
    align-self: stretch;
  }
}

@media screen and (max-width: 768px) {
  .case__wrapper {
    width: 92vw;
    margin: 0 auto;
    background-color: #FFF;
    display: flex;
    padding: 16vw 5.333vw;
    flex-direction: column;
    align-items: center;
    gap: 10.667vw;
  }

  .case__wrapper-ttl {
    color: #454140;
    text-align: center;
    font-family: "Noto Serif JP";
    font-size: 6.933vw;
    font-style: normal;
    font-weight: 600;
    line-height: 150%;
    letter-spacing: 1.387vw;
    width: 100%;
  }

  .case__body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16vw;
    align-self: stretch;
  }
}


/* ==========================================================================
  case-detail
========================================================================== */

@media screen and (min-width: 769px) {
  .case-detail {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 30px;
    width: 100%;
  }

  .case-detail__img {
    width: 100%;
  }

  .facility-info {
    display: flex;
    padding: 30px 40px;
    flex-direction: column;
    gap: 15px;
    align-self: stretch;
    background-color: #FDF9F2;
  }

  .facility-info__ttl {
    color: #18609D;
    font-family: "Noto Serif JP";
    font-size: 26px;
    font-style: normal;
    font-weight: 700;
    line-height: 150%;
    /* 39px */
  }

  .facility-info__list {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    align-self: stretch;
  }

  .facility-info__item {
    display: flex;
    padding-bottom: 10px;
    align-items: flex-start;
    gap: 24px;
    align-self: stretch;
    border-bottom: 1px dashed #18609D;
  }

  .facility-info__list-ttl {
    color: #18609D;
    font-family: "Noto Serif JP";
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 150%;
    /* 24px */
    max-width: 132px;
    width: 100%;
  }

  .facility-info__list-txt {
    color: #454140;
    font-family: "Noto Serif JP";
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 190%;
    /* 30.4px */
  }

  .facility-info__list-ttl::before {
    content: "・";
  }

  .facility-info__item:last-child {
    border-bottom: none;
    padding-bottom: 0;
  }
}

@media screen and (max-width: 768px) {
  .case-detail {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8vw;
    width: 100%;
  }

  .case-detail__img {
    width: 100%;
  }

  .facility-info {
    display: flex;
    padding: 8vw 5.333vw;
    flex-direction: column;
    gap: 5.333vw;
    align-self: stretch;
    background-color: #FDF9F2;
  }

  .facility-info__ttl {
    color: #18609D;
    font-family: "Noto Serif JP";
    font-size: 6.4vw;
    font-style: normal;
    font-weight: 700;
    line-height: 150%;
    /* 10.4vw */
  }

  .facility-info__list {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4vw;
    align-self: stretch;
  }

  .facility-info__item {
    display: flex;
    flex-direction: column;
    padding-bottom: 4vw;
    align-items: flex-start;
    gap: 1.333vw;
    align-self: stretch;
    border-bottom: 0.267vw dashed #18609D;
  }

  .facility-info__list-ttl {
    color: #18609D;
    font-family: "Noto Serif JP";
    font-size: 4.267vw;
    font-style: normal;
    font-weight: 600;
    line-height: 150%;
    /* 6.4vw */
    width: 100%;
  }

  .facility-info__list-txt {
    color: #454140;
    font-family: "Noto Serif JP";
    font-size: 4.267vw;
    font-style: normal;
    font-weight: 400;
    line-height: 190%;
    /* 8.107vw */
  }

  .facility-info__list-ttl::before {
    content: "・";
  }

  .facility-info__item:last-child {
    border-bottom: none;
    padding-bottom: 0;
  }
}


/* ==========================================================================
  case-interview
========================================================================== */

@media screen and (min-width: 769px) {
  .case-interview {
    display: flex;
    max-width: 820px;
    width: 100%;
    padding: 30px;
    align-items: flex-start;
    gap: 40px;
    background-color: #E9F0F4;
  }

  .case-interview__thumb {
    max-width: 225px;
    width: 100%;
  }

  .case-interview__body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 10px;
    flex: 1 0 0;
    align-self: stretch;
  }

  .case-interview__txt {
    color: #454140;
    font-family: "Noto Serif JP";
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 150%;
  }

  .case-interview__label {
    color: #18609D;
    font-family: "Noto Serif JP";
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 150%;
  }
}

@media screen and (max-width: 768px) {
  .case-interview {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 8vw 5.333vw;
    align-items: flex-start;
    gap: 5.333vw;
    background-color: #E9F0F4;
  }

  .case-interview__thumb {
    width: 100%;
  }

  .case-interview__body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 2.667vw;
    flex: 1 0 0;
    align-self: stretch;
  }

  .case-interview__txt {
    color: #454140;
    font-family: "Noto Serif JP";
    font-size: 5.333vw;
    font-style: normal;
    font-weight: 700;
    line-height: 150%;
  }

  .case-interview__label {
    color: #18609D;
    font-family: "Noto Serif JP";
    font-size: 4.267vw;
    font-style: normal;
    font-weight: 600;
    line-height: 150%;
  }
}


/* ==========================================================================
  case-content
========================================================================== */

@media screen and (min-width: 769px) {
  .case-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 40px;
    align-self: stretch;
  }

  .case-content__ttl {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
    align-self: stretch;
  }

  .case-content__ttl-sub {
    color: #18609D;
    font-family: "Noto Serif JP";
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    line-height: 150%;
  }

  .case-content__ttl-main {
    color: #454140;
    font-family: "Noto Serif JP";
    font-size: 26px;
    font-style: normal;
    font-weight: 700;
    line-height: 150%;
    position: relative;
    padding-left: 18px;
  }

  .case-content__ttl-main::before {
    content: "";
    width: 3px;
    height: 100%;
    background-color: #18609D;
    position: absolute;
    left: 0;
    top: 0;
    display: block;
  }

  .case-content__ttl+* {
    margin-top: -20px;
  }

  .case-content__txt {
    color: #454140;
    font-family: "Noto Serif JP";
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 190%;
  }

  .case-interview+.case-content {
    margin-top: -20px;
  }

  .case-content__img {
    display: flex;
    align-items: flex-start;
    align-content: flex-start;
    gap: 24px;
    align-self: stretch;
    flex-wrap: wrap;
  }

  .case-content__img-item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
    flex: 1 0 0;
  }

  .case-content__img-caption {
    color: #454140;
    font-family: "Noto Serif JP";
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
  }
}

@media screen and (max-width: 768px) {
  .case-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10.667vw;
    align-self: stretch;
  }

  .case-content__ttl {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.333vw;
    align-self: stretch;
  }

  .case-content__ttl-sub {
    color: #18609D;
    font-family: "Noto Serif JP";
    font-size: 4.8vw;
    font-style: normal;
    font-weight: 600;
    line-height: 150%;
  }

  .case-content__ttl-main {
    color: #454140;
    font-family: "Noto Serif JP";
    font-size: 6.4vw;
    font-style: normal;
    font-weight: 700;
    line-height: 150%;
    position: relative;
    padding-left: 4.8vw;
  }

  .case-content__ttl-main::before {
    content: "";
    width: 0.8vw;
    height: 100%;
    background-color: #18609D;
    position: absolute;
    left: 0;
    top: 0;
    display: block;
  }

  .case-content__ttl+* {
    margin-top: -5.333vw;
  }

  .case-content__txt {
    color: #454140;
    font-family: "Noto Serif JP";
    font-size: 4.267vw;
    font-style: normal;
    font-weight: 400;
    line-height: 190%;
  }

  .case-interview+.case-content {
    margin-top: -5.333vw;
  }

  .case-content__img {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    align-content: flex-start;
    gap: 6.4vw;
    align-self: stretch;
    flex-wrap: wrap;
  }

  .case-content__img-item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.333vw;
    width: 100%;
  }

  .case-content__img-caption {
    color: #454140;
    font-family: "Noto Serif JP";
    font-size: 3.733vw;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
  }
}


/* ==========================================================================
  case__cta
========================================================================== */

@media screen and (min-width: 769px) {
  .case__cta {
    max-width: 1000px;
    width: 90%;
    padding-top: 18px;
    margin: 40px auto 0;
  }

  .case__cta-list {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    gap: 30px;
  }

  .case__cta-list-item {
    max-width: 300px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
  }

  .case__cta-balloon {
    color: #FD873E;
    text-align: center;
    font-family: "Noto Serif JP";
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 160%;
    /* 160.714% */
    letter-spacing: 2.8px;
  }

  .case__cta-btn {
    display: flex;
    min-height: 60px;
    padding: 17.8px 30px 18.2px 40px;
    justify-content: center;
    align-items: center;
    width: 100%;
    border-radius: 5px;
    background: #113D79;
    color: #fff;
    text-align: center;
    font-family: "Noto Serif JP";
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: 1.3px;
    /* 130% */
    letter-spacing: 2.7px;
    text-decoration: none;
    position: relative;
  }

  .case__cta-list-item:nth-child(2) .case__cta-btn {
    background: #E9F0F4;
    color: #113D79;
  }

  .case__cta-btn::after {
    content: "";
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M8.30005 5.5L12.3 9.5L8.30005 13.5' stroke='%23113D79' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    width: 20px;
    height: 20px;
    opacity: 1;
    filter: brightness(0) saturate(100%) invert(99%) sepia(56%) saturate(2%) hue-rotate(355deg) brightness(112%) contrast(100%);
    position: absolute;
    right: 10px;
    top: 0;
    bottom: 0;
    margin: auto;
  }

  .case__cta-list-item:nth-child(2) .case__cta-btn::after {
    filter: none;
  }
}

@media screen and (max-width: 768px) {
  .case__cta {
    width: 92vw;
    margin: 10.667vw auto 0;
  }

  .case__cta-list {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 8vw;
  }

  .case__cta-list-item {
    width: 80vw;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2.667vw;
  }

  .case__cta-balloon {
    color: #FD873E;
    text-align: center;
    font-family: "Noto Serif JP";
    font-size: 3.733vw;
    font-style: normal;
    font-weight: 600;
    line-height: 160%;
    /* 160.714% */
    letter-spacing: 0.747vw;
  }

  .case__cta-btn {
    display: flex;
    min-height: 16vw;
    padding: 4.747vw 8vw 4.853vw 10.667vw;
    justify-content: center;
    align-items: center;
    width: 100%;
    border-radius: 1.333vw;
    background: #113D79;
    color: #fff;
    text-align: center;
    font-family: "Noto Serif JP";
    font-size: 4.8vw;
    font-style: normal;
    font-weight: 500;
    line-height: 0.347vw;
    /* 130% */
    letter-spacing: 0.72vw;
    text-decoration: none;
    position: relative;
  }

  .case__cta-list-item:nth-child(2) .case__cta-btn {
    background: #E9F0F4;
    color: #113D79;
  }

  .case__cta-btn::after {
    content: "";
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M8.30005 5.5L12.3 9.5L8.30005 13.5' stroke='%23113D79' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    width: 5.333vw;
    height: 5.333vw;
    opacity: 1;
    filter: brightness(0) saturate(100%) invert(99%) sepia(56%) saturate(2%) hue-rotate(355deg) brightness(112%) contrast(100%);
    position: absolute;
    right: 2.667vw;
    top: 0;
    bottom: 0;
    margin: auto;
  }

  .case__cta-list-item:nth-child(2) .case__cta-btn::after {
    filter: none;
  }
}


/* ==========================================================================
  l-footer
========================================================================== */

.u-font-notosans {
  font-family: "Noto Sans JP", sans-serif;
}

.l-footer .l-footer-menu__link {
  color: #454140;
  text-decoration: none;
  -webkit-transition: all .5s;
  transition: all .5s;
}

.l-footer {
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: 400;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  font-family: "Noto Serif JP", serif;
  word-wrap: break-word;
  color: #454140;
}

.c-actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 40px;
}

@media screen and (max-width: 767px) {
  .c-actions {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

.c-actions__item {
  position: relative;
}

.c-actions__txt {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  bottom: 100%;
  color: #005392;
  font-size: 2rem;
  font-weight: 700;
  white-space: nowrap;
  letter-spacing: .08em;
}

.c-actions__link {
  width: 300px;
  height: 75px;
  font-size: 2.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding-inline: 24px;
  border-radius: 4px;
  color: #fff;
  text-decoration: none;
}

.c-actions__link:hover {
  background: transparent;
}

.c-actions__link--sample {
  background: #EC6549;
  border: 1px solid #F39A68;
}

.c-actions__link--sample:hover {
  color: #EC6549;
}

.c-actions__link--contact {
  background: #005392;
  border: 1px solid #005392;
}

.c-actions__link--contact:hover {
  color: #005392;
}

.l-footer {
  padding: 32px min(4.26667vw, 56px);
}

.l-footer__main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 60px;
}

@media screen and (min-width: 768px) {
  .l-footer__main {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
  }
}

@media screen and (max-width: 767px) {
  .l-footer__main {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 80px;
  }
}

.l-footer__logo {
  display: block;
}

.l-footer__menuwrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  font-weight: 700;
}

@media screen and (max-width: 767px) {
  .l-footer__menuwrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 20px;
  }
}

.l-footer-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 16px 0;
}

@media screen and (min-width: 768px) {
  .l-footer-menu {
    gap: 16px;
  }
}

@media screen and (max-width: 767px) {
  .l-footer-menu__item {
    width: 50%;
  }
}

@media screen and (max-width: 767px) {
  .l-footer-menu__link {
    font-size: 1.4rem;
  }
}

.l-footer__copyright {
  font-size: clamp(1.4rem, 1.66667vw, 1.6rem);
}