@charset "UTF-8";
/*!
global > color
------------------------------
*/
:root {
  --cl-main: #243D5F;
  --cl-border: #DDE1E5;
  --cl-bg-gray: #F6F6F6;
  --cl-text-dark: #333;
}

/*!
global > content-width
------------------------------
*/
/*!
global > font
------------------------------
*/
:root {
  --base-font-ja: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック",
      "Yu Gothic", "メイリオ", sans-serif;
  --font-en: "Inter", sans-serif;
  --font-en02: "Afacad", sans-serif;
  --font-en03: "Plus Jakarta Sans", sans-serif;
  --font-mplus: "M PLUS 1", sans-serif;
  --base-font-weight: 500;
  --base-color-txt: #243d5f;
  --header-height-pc: 107px;
  --space-component: 24px;
  --space-h1-content: 60px;
  --space-h2-top: 48px;
  --space-title-text: 20px;
  --space-text: 16px;
  --space-title-title: 32px;
  --space-image-text: 12px;
}
@media screen and (min-width: 768px) {
  :root {
    --space-component: 40px;
    --space-h1-content: 100px;
    --space-h2-top: 80px;
    --space-title-text: 32px;
    --space-text: 24px;
    --space-title-title: 48px;
    --space-image-text: 20px;
  }
}

/*!
global > mixin
------------------------------
*/
.p_vision_strengths__context_txt {
  font-size: 0.75rem;
}
@media screen and (min-width: 768px) {
  .p_vision_strengths__context_txt {
    font-size: 0.875rem;
  }
}

.p_vision_strengths__major_list {
  font-size: 1rem;
}
@media screen and (min-width: 768px) {
  .p_vision_strengths__major_list {
    font-size: 1.125rem;
  }
}

.p_vision_goals__intro, .p_vision_goals__info_txt {
  font-size: 1.0625rem;
}
@media screen and (min-width: 768px) {
  .p_vision_goals__intro, .p_vision_goals__info_txt {
    font-size: 1.25rem;
  }
}

.p_vision_goals__list {
  font-size: 1.125rem;
}
@media screen and (min-width: 768px) {
  .p_vision_goals__list {
    font-size: 1.5rem;
  }
}

.p_vision_goals__info_title {
  font-size: 1.3125rem;
}
@media screen and (min-width: 768px) {
  .p_vision_goals__info_title {
    font-size: 1.75rem;
  }
}

.c_hero__leading, .p_vision_goals__intro_tag, .p_vision_strengths__heading {
  font-size: 1.5rem;
}
@media screen and (min-width: 768px) {
  .c_hero__leading, .p_vision_goals__intro_tag, .p_vision_strengths__heading {
    font-size: clamp(1.5rem, 3.125vw + 0rem, 2rem);
  }
}

.p_vision_goals__heading {
  font-size: 1.625rem;
}
@media screen and (min-width: 768px) {
  .p_vision_goals__heading {
    font-size: 2.5rem;
  }
}

.c_hero__leading {
  line-height: 1.6;
  margin-top: 30px;
}
@media screen and (min-width: 768px) {
  .c_hero__leading {
    margin-top: 43px;
  }
}
.c_hero__txt {
  margin-top: 30px;
}

.p_vision_goals {
  --cl-acc: #5679bd;
  margin-top: 49px;
}
.p_vision_goals + .p_vision_goals {
  margin-top: 57px;
}
.p_vision_goals_02 {
  --cl-acc: #6ea938;
}
.p_vision_goals_03 {
  --cl-acc: #e68a1e;
}
.p_vision_goals__intro {
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.01em;
  color: var(--cl-acc);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 29px;
}
@media screen and (min-width: 768px) {
  .p_vision_goals__intro {
    gap: 80px;
  }
}
.p_vision_goals__intro_tag {
  font-weight: 400;
  letter-spacing: 0em;
  color: #fff;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  background-color: var(--cl-acc);
  position: relative;
  padding: 0px 10px 2px;
}
@media screen and (min-width: 768px) {
  .p_vision_goals__intro_tag {
    padding: 0px 14px 5px;
  }
}
.p_vision_goals__intro_tag::after {
  content: "";
  width: 20px;
  height: 1px;
  background-color: var(--cl-acc);
  position: absolute;
  top: 50%;
  left: calc(100% + 10px);
}
@media screen and (min-width: 768px) {
  .p_vision_goals__intro_tag::after {
    width: 44px;
    left: calc(100% + 24px);
  }
}
.p_vision_goals__heading {
  font-weight: 700;
  line-height: 1.6;
}
.p_vision_goals__info {
  margin-top: -2px;
}
.p_vision_goals__info + .p_vision_goals__info {
  margin-top: 24px;
}
.p_vision_goals__info_title {
  font-weight: 700;
  line-height: 1.6;
}
.p_vision_goals__info_txt {
  line-height: 1.6;
  margin-top: 9px;
}
.p_vision_goals__list {
  font-weight: 400;
  line-height: 1.875;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 6px;
  counter-reset: list-counter;
}
.p_vision_goals__list > li {
  counter-increment: list-counter;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  margin-top: -6px;
  padding-left: 8px;
}
.p_vision_goals__list > li::before {
  content: counter(list-counter) ".";
  width: 18px;
}
.p_vision_strengths .anchor_block__row {
  margin-top: 30px;
  margin-bottom: 30px;
}
@media screen and (min-width: 768px) {
  .p_vision_strengths .anchor_block__row {
    margin-bottom: 60px;
  }
}
.p_vision_strengths__heading {
  font-weight: 400;
  line-height: 1.6;
  margin-top: 24px;
}
@media screen and (min-width: 768px) {
  .p_vision_strengths__heading {
    margin-top: 46px;
  }
}
.p_vision_strengths__intro {
  margin-top: 24px;
}
.p_vision_strengths__grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 24px;
}
@media screen and (min-width: 768px) {
  .p_vision_strengths__grid {
    gap: 30px;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    margin-top: 49px;
  }
}
.p_vision_strengths__photo {
  width: clamp(50% - 10px, (540px - 100vw) * 1000, 100%);
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .p_vision_strengths__photo {
    width: 439px;
    width: clamp(360px, (100vw - 1025px) * 1000, 439px);
  }
}
.p_vision_strengths__context .h6 {
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.01em;
}
.p_vision_strengths__context_txt {
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.7;
  margin-top: 18px;
}
.p_vision_strengths__spacer {
  height: 60px;
}
@media screen and (min-width: 768px) {
  .p_vision_strengths__spacer {
    height: 148px;
  }
}
.p_vision_strengths__gallery {
  margin-top: 24px;
}
.p_vision_strengths__major {
  width: 483px;
  max-width: 100%;
  background-color: #fff;
  border: 1px solid #dde1e5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 37px;
  margin-bottom: 14px;
  padding: 20px;
}
@media screen and (min-width: 768px) {
  .p_vision_strengths__major {
    gap: 10px;
    padding: 30px 20px 21px 35px;
  }
}
.p_vision_strengths__major_list {
  font-weight: 500;
  line-height: 1.7;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p_vision_strengths__major_list {
    width: calc(50% - 5px);
  }
}
.p_vision .p_message_links {
  padding: 30px 0;
}
@media screen and (min-width: 768px) {
  .p_vision .p_message_links {
    padding: 53px 0;
  }
}
.p_vision .p_message_links .link[href$=".pdf"] {
  text-decoration: none;
}
.p_vision .p_message_links .link[href$=".pdf"]:after {
  background-color: #243d5f;
}
.p_vision .c_accordion_block.is_open .c_sec_br__text_open {
  display: block;
}
.p_vision .c_accordion_block.is_open .c_sec_br__text_close {
  display: none;
}
.p_vision .c_accordion_block.is_open .c_accordion_block__head_icon {
  background: none;
}
.p_vision .c_accordion_block.is_open .c_accordion_block__head_icon::after {
  opacity: 0;
}
.p_vision .c_accordion_block__head_in {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.p_vision .c_sec_br__text {
  display: inline-block;
  padding-right: 19px;
}
.p_vision .c_sec_br__text_open {
  display: none;
}
@media screen and (min-width: 768px) {
  .p_vision .c_related_links + .c_related_links {
    margin-top: 22px;
  }
}
@media screen and (min-width: 768px) {
  .p_vision .c_related_links:last-child {
    margin-top: 38px;
  }
}
.p_vision .c_accordion_block__head_icon {
  background: none;
}
.p_vision .c_accordion_block__head_icon::before, .p_vision .c_accordion_block__head_icon::after {
  content: "";
  width: 10px;
  height: 2px;
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  -webkit-transition: 300ms ease;
  transition: 300ms ease;
}
.p_vision .c_accordion_block__head_icon::after {
  rotate: 90deg;
}