@charset "UTF-8";
:root {
  --base-color: #fff;
  --main-color: #000;
  --blue: #0c68ab;
  --blue-light: #3473b8;
  --purple: #772f85;
  --purple-deep: #733d8f;
  --navy: #1a2e6e;
  --line: #93c0e1;
  --blue-hover: #3068a6;
  --panel: #eaf5fa;
  --panel-gray: #f5f5f5;
  --panel-blue: #f2faff;
  --jfn-blue: #003e92;
  --blue-band: #b0e0f7;
  --blue-mid2: #378cbf;
  --blue-pale: #63bbf1;
}

html {
  font-size: 0.6944444444vw;
}
@media (min-width: 1440px) {
  html {
    font-size: 62.5%;
  }
}
@media (max-width: 768px) {
  html {
    font-size: 1.3333333333vw;
  }
}
html {
  scroll-behavior: smooth;
}
html.is-drawer-open {
  overflow: hidden;
}

:where(section, [id]) {
  scroll-margin-top: 2rem;
}
@media (max-width: 768px) {
  :where(section, [id]) {
    scroll-margin-top: 4rem;
  }
}

body {
  font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.8;
  color: var(--main-color);
  background: var(--base-color);
}
@media (max-width: 768px) {
  body {
    font-size: 2.8rem;
  }
}

a {
  transition: opacity 0.2s ease;
}
@media (min-width: 769px) {
  a:hover {
    opacity: 0.7;
  }
}

:focus-visible {
  outline: 2px solid var(--blue);
  outline-offset: 2px;
}

.l-inner {
  width: 100%;
  max-width: 144rem;
  margin-inline: auto;
  padding-inline: 4.5rem;
}
@media (max-width: 768px) {
  .l-inner {
    padding-inline: 2.6rem;
  }
}

.l-header {
  position: relative;
  z-index: 10;
  height: 15.3rem;
  background: var(--base-color);
}
@media (max-width: 768px) {
  .l-header {
    height: 14.9rem;
  }
}
.l-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 144rem;
  height: 100%;
  margin-inline: auto;
  padding-inline: 4.5rem;
}
@media (max-width: 768px) {
  .l-header__inner {
    padding-inline: 2.6rem 2.3rem;
  }
}
@media (max-width: 768px) {
  .is-drawer-open .l-header__inner::before {
    content: "";
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1;
    height: 14.9rem;
    background: var(--base-color);
  }
}
.l-header__brand {
  display: flex;
  align-items: center;
  gap: 1.1rem;
  flex-shrink: 0;
}
@media (max-width: 768px) {
  .l-header__brand {
    position: relative;
    z-index: 2;
    gap: 1.5rem;
  }
}
@media (max-width: 768px) {
  .is-drawer-open .l-header__brand {
    position: fixed;
    top: 3.85rem;
    left: 2.6rem;
  }
}
.l-header__logo {
  display: block;
  width: 17.7rem;
}
.l-header__logo img {
  width: 100%;
}
@media (max-width: 768px) {
  .l-header__logo {
    width: 23.6rem;
  }
}
.l-header__sitename {
  font-size: 2.5rem;
  font-weight: 600;
  line-height: 1;
}

.l-menu-toggle {
  display: none;
}
@media (max-width: 768px) {
  .l-menu-toggle {
    position: fixed;
    top: 5.65rem;
    right: 2.3rem;
    z-index: 2;
    display: block;
    width: 7.4rem;
    height: 3.6rem;
  }
}
.l-menu-toggle__bar {
  position: absolute;
  left: 0;
  width: 100%;
  height: 0.4rem;
  background: var(--blue);
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.l-menu-toggle__bar:nth-child(1) {
  top: 0;
}
.l-menu-toggle__bar:nth-child(2) {
  top: 1.6rem;
}
.l-menu-toggle__bar:nth-child(3) {
  top: 3.2rem;
}
.is-drawer-open .l-menu-toggle__bar:nth-child(1) {
  transform: translateY(1.6rem) rotate(45deg);
}
.is-drawer-open .l-menu-toggle__bar:nth-child(2) {
  opacity: 0;
}
.is-drawer-open .l-menu-toggle__bar:nth-child(3) {
  transform: translateY(-1.6rem) rotate(-45deg);
}

@media (max-width: 768px) {
  .l-gnav {
    position: fixed;
    inset: 0;
    padding: 20.4rem 1.6rem 28.8rem 3rem;
    overflow-y: auto;
    overscroll-behavior: contain;
    background: var(--base-color);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.3s ease, visibility 0.3s ease;
  }
  .is-drawer-open .l-gnav {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
}
.l-gnav__list {
  display: flex;
  align-items: center;
  gap: 2em;
  font-size: calc(1.4rem * var(--gnav-scale, 1));
}
@media (max-width: 768px) {
  .l-gnav__list {
    display: block;
    font-size: 1.4rem;
  }
}
.l-gnav__item {
  position: relative;
}
@media (max-width: 768px) {
  .l-gnav__item + .l-gnav__item {
    margin-top: 9.2rem;
  }
}
.l-gnav__toggle {
  display: none;
}
@media (max-width: 768px) {
  .l-gnav__toggle {
    position: absolute;
    top: -4.6rem;
    right: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    height: calc(100% + 9.2rem);
  }
  .l-gnav__item.is-open .l-gnav__toggle {
    top: -1.6rem;
    height: 8rem;
  }
  .l-gnav__toggle::before {
    content: "＋";
    font-size: 5rem;
    font-weight: 900;
    line-height: 1;
    color: var(--blue);
  }
  .l-gnav__item.is-open .l-gnav__toggle::before {
    content: "－";
  }
}
.l-gnav__link {
  display: block;
  padding: 0;
  font-size: 1em;
  font-weight: 500;
  line-height: 1;
  text-align: left;
  white-space: nowrap;
}
.l-gnav__link.is-current {
  color: var(--blue);
}
@media (min-width: 769px) {
  .l-gnav__link:hover {
    opacity: 1;
    color: var(--blue);
  }
}
@media (max-width: 768px) {
  .l-gnav__link {
    width: -moz-fit-content;
    width: fit-content;
    max-width: calc(100% - 14rem);
    font-size: 3.2rem;
    font-weight: 800;
    line-height: 1.5;
    white-space: normal;
    color: var(--blue);
  }
}
.l-gnav__flyout {
  position: absolute;
  top: 100%;
  left: 50%;
  z-index: 1;
  padding-top: 1.7857em;
  transform: translateX(-50%) translateX(var(--flyout-shift, 0px));
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease, visibility 0.2s ease;
}
@media (max-width: 768px) {
  .l-gnav__flyout {
    position: static;
    display: none;
    padding: 5rem 0 3.1rem;
    transform: none;
    opacity: 1;
    visibility: inherit;
    transition: none;
  }
  .l-gnav__item.is-open .l-gnav__flyout {
    display: block;
  }
}
.l-gnav__item:hover .l-gnav__flyout, .l-gnav__item:focus-within .l-gnav__flyout {
  opacity: 1;
  visibility: visible;
}
.l-gnav__sub {
  position: relative;
  width: 11.5em;
  padding: 2.06em 1em 2.66em 1.4286em;
  border-radius: 0.7143em;
  background: var(--blue);
}
.l-gnav__sub::before {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 50%;
  border-left: 0.8214em solid transparent;
  border-right: 0.8214em solid transparent;
  border-bottom: 1em solid var(--blue);
  transform: translateX(-50%) translateX(calc(var(--flyout-shift, 0px) * -1));
}
@media (max-width: 768px) {
  .l-gnav__sub {
    width: auto;
    padding: 0 0 0 2.3rem;
    border-radius: 0;
    background: none;
  }
  .l-gnav__sub::before {
    content: none;
  }
}
.l-gnav__sub > li + li {
  margin-top: 1.2857em;
}
@media (max-width: 768px) {
  .l-gnav__sub > li + li {
    margin-top: 5.4rem;
  }
}
.l-gnav__sub a {
  display: block;
  font-size: 1em;
  font-weight: 700;
  line-height: 1.571;
  color: var(--base-color);
}
.l-gnav__sub a.has-child::after {
  content: "";
  display: inline-block;
  margin-left: 0.3336em;
  border-right: 0.3093em solid transparent;
  border-left: 0.3093em solid transparent;
  border-top: 0.5357em solid currentColor;
}
@media (min-width: 769px) {
  .l-gnav__sub a:hover {
    opacity: 0.7;
  }
}
@media (max-width: 768px) {
  .l-gnav__sub a {
    font-size: 2.4rem;
    font-weight: 500;
    line-height: 1.5;
    color: var(--blue);
  }
}
.l-gnav__grandchild {
  margin-top: 0.0714em;
  padding-left: 0.8929em;
  margin-right: -0.1786em;
}
.l-gnav__grandchild li + li {
  margin-top: 0;
}
.l-gnav__grandchild a {
  font-size: 0.9286em;
  line-height: 1.538;
}
@media (max-width: 768px) {
  .l-gnav__grandchild {
    margin-top: 5.4rem;
    padding-left: 2.3rem;
  }
  .l-gnav__grandchild li + li {
    margin-top: 5.4rem;
  }
  .l-gnav__grandchild a {
    font-size: 2.2rem;
  }
}

.l-footer {
  --u: min(.6944vw, 13.19px);
  padding-block: calc(4.1 * var(--u)) calc(4.8 * var(--u));
  background: var(--navy);
  color: var(--base-color);
}
@media (max-width: 768px) {
  .l-footer {
    padding-block: 8.4rem 5.4rem;
  }
}
.l-footer .l-inner {
  max-width: 190rem;
  padding-inline: calc(4.5 * var(--u));
}
@media (max-width: 768px) {
  .l-footer .l-inner {
    padding-inline: 3.1rem;
  }
}
.l-footer__pagetop {
  display: none;
}
@media (max-width: 768px) {
  .l-footer__pagetop {
    display: block;
    margin-top: 7.6rem;
  }
}
.l-footer__bottom {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-top: calc(5.3 * var(--u));
}
@media (max-width: 768px) {
  .l-footer__bottom {
    flex-direction: column;
    align-items: center;
    gap: 5.3rem;
    margin-top: 4.7rem;
  }
}
.l-footer__logo {
  width: calc(12.8 * var(--u));
}
.l-footer__logo img {
  width: 100%;
}
@media (max-width: 768px) {
  .l-footer__logo {
    width: 25.9rem;
  }
}
.l-footer__copy {
  font-family: "Google Sans Flex", "Helvetica Neue", Arial, sans-serif;
  font-size: calc(1.23 * var(--u));
  line-height: 1;
}
@media (max-width: 768px) {
  .l-footer__copy {
    font-size: 2.2rem;
  }
}

.l-fnav {
  display: grid;
  grid-template-columns: repeat(8, auto);
  justify-content: space-between;
  gap: calc(1.6 * var(--u));
}
@media (max-width: 1100px) {
  .l-fnav {
    grid-template-columns: repeat(5, auto);
    grid-template-rows: none;
    grid-auto-flow: row;
    justify-content: space-between;
    -moz-column-gap: calc(7 * var(--u));
         column-gap: calc(7 * var(--u));
    row-gap: calc(4.5 * var(--u));
  }
}
@media (max-width: 768px) {
  .l-fnav {
    display: flex;
    gap: 3.2rem;
  }
}
.l-fnav__group {
  display: contents;
}
@media (max-width: 768px) {
  .l-fnav__group {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 4.9rem;
    min-width: 0;
  }
}
.l-fnav__group:first-child > .l-fnav__col:nth-child(1) {
  order: 1;
}
.l-fnav__group:last-child > .l-fnav__col:nth-child(1) {
  order: 2;
}
.l-fnav__group:first-child > .l-fnav__col:nth-child(2) {
  order: 3;
}
.l-fnav__group:last-child > .l-fnav__col:nth-child(2) {
  order: 4;
}
.l-fnav__group:first-child > .l-fnav__col:nth-child(3) {
  order: 5;
}
.l-fnav__group:last-child > .l-fnav__col:nth-child(3) {
  order: 6;
}
.l-fnav__group:first-child > .l-fnav__col:nth-child(4) {
  order: 7;
}
.l-fnav__group:last-child > .l-fnav__col:nth-child(4) {
  order: 8;
}
.l-fnav__group:first-child > .l-fnav__col:nth-child(5) {
  order: 9;
}
.l-fnav__group:last-child > .l-fnav__col:nth-child(5) {
  order: 10;
}
.l-fnav__group:first-child > .l-fnav__col:nth-child(6) {
  order: 11;
}
.l-fnav__group:last-child > .l-fnav__col:nth-child(6) {
  order: 12;
}
.l-fnav__group:first-child > .l-fnav__col:nth-child(7) {
  order: 13;
}
.l-fnav__group:last-child > .l-fnav__col:nth-child(7) {
  order: 14;
}
.l-fnav__group:first-child > .l-fnav__col:nth-child(8) {
  order: 15;
}
.l-fnav__group:last-child > .l-fnav__col:nth-child(8) {
  order: 16;
}
.l-fnav__group:first-child > .l-fnav__col:nth-child(9) {
  order: 17;
}
.l-fnav__group:last-child > .l-fnav__col:nth-child(9) {
  order: 18;
}
.l-fnav__group:first-child > .l-fnav__col:nth-child(10) {
  order: 19;
}
.l-fnav__group:last-child > .l-fnav__col:nth-child(10) {
  order: 20;
}
.l-fnav__group:first-child > .l-fnav__col:nth-child(11) {
  order: 21;
}
.l-fnav__group:last-child > .l-fnav__col:nth-child(11) {
  order: 22;
}
.l-fnav__group:first-child > .l-fnav__col:nth-child(12) {
  order: 23;
}
.l-fnav__group:last-child > .l-fnav__col:nth-child(12) {
  order: 24;
}
.l-fnav__head {
  font-size: calc(1.23 * var(--u));
  font-weight: 900;
  line-height: 1.6;
}
@media (max-width: 1100px) {
  .l-fnav__head {
    font-size: 1.2727272727vw;
  }
}
@media (max-width: 768px) {
  .l-fnav__head {
    font-size: 2.7rem;
  }
}
.l-fnav__head--sub {
  margin-top: calc(1.9 * var(--u));
}
@media (max-width: 768px) {
  .l-fnav__head--sub {
    margin-top: 4.3rem;
  }
}
@media (max-width: 768px) {
  .l-fnav__head--sub + .l-fnav__head--sub {
    margin-top: 0;
  }
}
.l-fnav__list {
  margin-top: calc(2.4 * var(--u));
}
@media (max-width: 768px) {
  .l-fnav__list {
    margin-top: 0;
  }
}
.l-fnav__list li {
  font-size: calc(1.06 * var(--u));
  font-weight: 500;
  line-height: 1.83;
}
@media (max-width: 1100px) {
  .l-fnav__list li {
    font-size: 1.1818181818vw;
  }
}
@media (max-width: 768px) {
  .l-fnav__list li {
    font-size: 2.3rem;
    line-height: 2.14;
  }
}

.c-heading-en {
  font-family: "Google Sans Flex", "Helvetica Neue", Arial, sans-serif;
  display: inline-block;
  font-size: 3.13rem;
  font-weight: 700;
  line-height: 1.2;
  background-image: linear-gradient(90deg, var(--purple-deep) 0%, var(--blue-light) 100%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}
@media (max-width: 768px) {
  .c-heading-en {
    font-size: 4.5rem;
  }
}

.c-heading-sub {
  font-size: 2.96rem;
  font-weight: 500;
  line-height: 1.4;
  color: var(--blue);
}
@media (max-width: 768px) {
  .c-heading-sub {
    font-size: 4rem;
  }
}

.c-pagetop {
  display: block;
  width: 5.6rem;
  height: 5.6rem;
  background-size: 100% 100%;
}
@media (max-width: 768px) {
  .c-pagetop {
    margin-inline: auto;
    background-image: url("../img/pagetop_sp.svg");
  }
}
@media (min-width: 769px) {
  .c-pagetop {
    background-image: url("../img/pagetop.svg");
  }
  .c-pagetop:hover {
    opacity: 0.7;
  }
}

.l-pagetop {
  display: none;
}
@media (min-width: 769px) {
  .l-pagetop {
    position: sticky;
    bottom: 2.5rem;
    z-index: 5;
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    margin: 2rem 2.5rem 3rem auto;
  }
}

.c-btn {
  position: relative;
  isolation: isolate;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38.9rem;
  max-width: 100%;
  height: 4.1rem;
  border-radius: 999px;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1;
  color: var(--base-color);
}
@media (max-width: 768px) {
  .c-btn {
    width: 58.9rem;
    height: 7.15rem;
    font-size: 3.4rem;
  }
}
.c-btn::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  transition: opacity 0.2s ease;
}
.c-btn--ir {
  background-color: var(--blue);
}
.c-btn--ir::before {
  background-image: linear-gradient(90deg, var(--purple) 0%, var(--blue) 100%);
}
@media (min-width: 769px) {
  .c-btn--ir:hover {
    opacity: 1;
  }
  .c-btn--ir:hover::before {
    opacity: 0;
  }
}
@media (min-width: 769px) {
  .c-btn--pdf:hover, .c-btn--html:hover {
    opacity: 0.7;
  }
}
.c-btn--pdf {
  background-color: var(--purple);
}
.c-btn--html {
  background-color: var(--blue);
  font-size: 1.71rem;
}
@media (max-width: 768px) {
  .c-btn--html {
    font-size: 3.22rem;
  }
}
.c-btn__sub {
  font-size: 0.667em;
}
.c-btn__long {
  display: none;
}
@media (max-width: 768px) {
  .c-btn__long {
    display: inline;
  }
}

.c-doclist__heading + .c-doclist__list {
  margin-top: -0.85rem;
}
@media (max-width: 768px) {
  .c-doclist__heading + .c-doclist__list {
    margin-top: 0.3rem;
  }
}
.c-doclist__lead {
  margin-top: 2rem;
}
@media (max-width: 768px) {
  .c-doclist__lead {
    margin-top: 3rem;
  }
}
.c-doclist__item {
  border-bottom: 1px dashed var(--main-color);
}
.c-doclist__body {
  display: flex;
  align-items: flex-start;
  gap: 2rem;
  padding-block: 3.5rem 3rem;
}
@media (max-width: 768px) {
  .c-doclist__body {
    flex-wrap: wrap;
    gap: 1.4rem;
    padding-block: 3.3rem 2.45rem;
  }
}
.c-doclist__date {
  font-family: "Google Sans Flex", "Helvetica Neue", Arial, sans-serif;
  flex: none;
  width: 10.9rem;
  white-space: nowrap;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.2;
  color: var(--purple);
}
@media (max-width: 768px) {
  .c-doclist__date {
    width: 100%;
    font-size: 3rem;
  }
}
.c-doclist__text {
  flex: 1;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
}
@media (max-width: 768px) {
  .c-doclist__text {
    font-size: 2.4rem;
    line-height: 1.5;
  }
}
@media (min-width: 769px) {
  .c-doclist__title--link:hover {
    text-decoration: underline;
  }
}
.c-doclist__sub {
  display: block;
  margin-top: 0.4rem;
  font-size: 0.8em;
}
@media (max-width: 768px) {
  .c-doclist__sub {
    margin-top: 0.6rem;
  }
}
.c-doclist__file {
  font-family: "Google Sans Flex", "Helvetica Neue", Arial, sans-serif;
  display: flex;
  flex: none;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  min-width: 14.3rem;
  height: 4.3rem;
  padding-inline: 1.2rem;
  border-radius: 0.5rem;
  background-image: linear-gradient(90deg, var(--blue) 0%, var(--purple) 100%);
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1;
  color: var(--base-color);
}
@media (min-width: 769px) {
  .c-doclist__file:hover {
    opacity: 0.7;
  }
}
@media (max-width: 768px) {
  .c-doclist__file {
    gap: 0.5rem;
    min-width: 13.62rem;
    height: 4.1rem;
    padding-inline: 1rem;
    border-radius: 0.48rem;
    font-size: 2.29rem;
  }
}
.c-doclist__file-icon {
  flex: none;
  width: 2.2rem;
}
.c-doclist__file-icon img {
  width: 100%;
}
@media (max-width: 768px) {
  .c-doclist__file-icon {
    width: 2.1rem;
  }
}
.c-doclist__empty {
  padding: 3rem 0;
  font-size: 1.6rem;
}
@media (max-width: 768px) {
  .c-doclist__empty {
    font-size: 2.6rem;
  }
}

.c-link-list__item {
  border-bottom: 1px dashed var(--line);
}
.c-link-list a {
  display: flex;
  align-items: flex-start;
  gap: 1em;
  padding-block: 3.5rem 3rem;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
  color: var(--blue);
}
.c-link-list a::before {
  content: "";
  flex: none;
  margin-top: 0.4407em;
  border-top: 0.3093em solid transparent;
  border-bottom: 0.3093em solid transparent;
  border-left: 0.5357em solid currentColor;
}
@media (min-width: 769px) {
  .c-link-list a:hover {
    text-decoration: underline;
  }
}
@media (max-width: 768px) {
  .c-link-list a {
    padding-block: 3.3rem 2.45rem;
    font-size: 2.4rem;
  }
}

.c-yearselect {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  margin: 8rem auto 0;
  max-width: 100%;
}
@media (max-width: 768px) {
  .c-yearselect {
    margin-top: 9.3rem;
  }
}
.c-yearselect::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 4.15rem;
  width: 2.167rem;
  height: 1.25rem;
  background-image: url("../img/icon_caret.svg");
  background-size: 100% 100%;
  transform: translate(50%, -50%);
  pointer-events: none;
}
@media (max-width: 768px) {
  .c-yearselect::after {
    width: 2.6rem;
    height: 1.5rem;
  }
}
.c-yearselect__select {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  display: block;
  width: 39.6rem;
  max-width: 100%;
  height: 6.65rem;
  padding-inline: 5.4rem;
  border: 0.215rem solid var(--blue);
  border-radius: 3.33rem;
  background-color: var(--base-color);
  font-size: 2.1rem;
  font-weight: 800;
  line-height: 1;
  color: var(--blue);
  text-align: center;
  cursor: pointer;
}
@media (min-width: 769px) {
  .c-yearselect__select:hover {
    background-color: var(--panel);
  }
}
@media (max-width: 768px) {
  .c-yearselect__select {
    padding-left: 3.4rem;
    padding-right: 7.44rem;
    font-size: 2.78rem;
  }
}

.c-pager {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  margin-top: 5rem;
}
.c-pager__num, .c-pager__step {
  display: grid;
  place-items: center;
  min-width: 3.6rem;
  padding: 0.6rem 1.2rem;
  border: 1px solid var(--line);
  border-radius: 0.4rem;
  font-size: 1.5rem;
  line-height: 1.4;
  color: var(--blue);
}
@media (max-width: 768px) {
  .c-pager__num, .c-pager__step {
    min-width: 6rem;
    padding: 1rem 1.6rem;
    font-size: 2.2rem;
  }
}
.c-pager__num.is-current {
  border-color: var(--blue);
  background-color: var(--blue);
  color: var(--base-color);
}
@media (min-width: 769px) {
  .c-pager a:hover {
    background-color: var(--panel);
  }
}

.c-richtext {
  font-size: 1.6rem;
  line-height: 1.9;
}
@media (max-width: 768px) {
  .c-richtext {
    font-size: 2.6rem;
    line-height: 1.8;
  }
}
.c-richtext > * + * {
  margin-top: 2.4rem;
}
.c-richtext > :first-child {
  margin-top: 0;
}
.c-richtext h2 {
  margin-top: 6.4rem;
  padding-bottom: 0.8rem;
  border-bottom: 1px solid var(--line);
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
  color: var(--blue);
}
@media (max-width: 768px) {
  .c-richtext h2 {
    font-size: 3.9rem;
    text-wrap: wrap; /* ★ここを追記（自動バランシングを解除） */
  }
}
.c-richtext h3 {
  margin-top: 4.8rem;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  color: var(--blue);
}
@media (max-width: 768px) {
  .c-richtext h3 {
    font-size: 3.25rem;
    text-wrap: wrap; /* ★追加 */
  }
}
.c-richtext h4,
.c-richtext h5,
.c-richtext h6 {
  margin-top: 3.6rem;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
}
@media (max-width: 768px) {
  .c-richtext h4,
  .c-richtext h5,
  .c-richtext h6 {
    font-size: 2.93rem;
    text-wrap: wrap; /* ★追加：h4〜h6のスマホ表示時の不自然な折り返しを解除 */
  }
}
.c-richtext a {
  color: var(--blue);
  text-decoration: underline;
}
@media (min-width: 769px) {
  .c-richtext a:hover {
    text-decoration: none;
  }
}
.c-richtext img {
  margin-inline: auto;
}
.c-richtext figure {
  margin-top: 3.2rem;
}
.c-richtext figure figcaption {
  margin-top: 1rem;
  font-size: 0.875em;
  text-align: center;
}
.c-richtext ul > li,
.c-richtext ol > li {
  position: relative;
  padding-left: 1.6em;
}
.c-richtext ul > li::before {
  content: "・";
  position: absolute;
  left: 0;
}
.c-richtext ol {
  counter-reset: richtext-item;
}
.c-richtext ol > li {
  padding-left: 2.6em;
}
.c-richtext ol > li::before {
  counter-increment: richtext-item;
  content: "(" counter(richtext-item) ")";
  position: absolute;
  left: 0;
}
.c-richtext li + li {
  margin-top: 0.8rem;
}
.c-richtext ul:has(> li > a[href^="#"]):not(:has(> li > a:not([href^="#"]))) {
  display: block;
  padding: 3rem 3.2rem;
  border: 1px solid var(--line);
  border-radius: 0.8rem;
  background-color: var(--panel);
  -moz-columns: 3;
       columns: 3;
  -moz-column-gap: 3.2rem;
       column-gap: 3.2rem;
}
.c-richtext ul:has(> li > a[href^="#"]):not(:has(> li > a:not([href^="#"]))) > li {
  padding-left: 0;
  line-height: 1.6;
  -moz-column-break-inside: avoid;
       break-inside: avoid;
}
.c-richtext ul:has(> li > a[href^="#"]):not(:has(> li > a:not([href^="#"]))) > li::before {
  content: none;
}
.c-richtext ul:has(> li > a[href^="#"]):not(:has(> li > a:not([href^="#"]))) > li + li {
  margin-top: 0.8rem;
}
.c-richtext ul:has(> li > a[href^="#"]):not(:has(> li > a:not([href^="#"]))) > li > a {
  display: flex;
  align-items: flex-start;
  gap: 0.8em;
  color: var(--blue);
  text-decoration: none;
}
.c-richtext ul:has(> li > a[href^="#"]):not(:has(> li > a:not([href^="#"]))) > li > a::before {
  content: "";
  flex: none;
  margin-top: 0.4907em;
  border-top: 0.3093em solid transparent;
  border-bottom: 0.3093em solid transparent;
  border-left: 0.5357em solid currentColor;
}
@media (min-width: 769px) {
  .c-richtext ul:has(> li > a[href^="#"]):not(:has(> li > a:not([href^="#"]))) > li > a:hover {
    text-decoration: underline;
  }
}
@media (max-width: 768px) {
  .c-richtext ul:has(> li > a[href^="#"]):not(:has(> li > a:not([href^="#"]))) {
    padding: 4rem;
    border-radius: 1.2rem;
    -moz-columns: 1;
         columns: 1;
  }
  .c-richtext ul:has(> li > a[href^="#"]):not(:has(> li > a:not([href^="#"]))) > li + li {
    margin-top: 1.6rem;
  }
}
.c-richtext div[align=center],
.c-richtext p[align=center] {
  text-align: left;
}
.c-richtext table {
  border-collapse: collapse;
  width: auto;
  max-width: 100%;
  margin-inline: auto;
}
.c-richtext table tr:has(> td > img[src*=dotline]) {
  display: none;
}
.c-richtext table th,
.c-richtext table td {
  padding: 1.2rem 1.6rem;
  border: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
}
.c-richtext table td {
  background-color: var(--base-color);
}
.c-richtext table th {
  background-color: var(--panel);
  font-weight: 700;
}
.c-richtext table th[rowspan],
.c-richtext table td[rowspan] {
  vertical-align: middle;
}
.c-richtext table td > * + * {
  margin-top: 0.8rem;
}
.c-richtext table td[bgcolor] {
  background-color: var(--base-color);
}
.c-richtext table td[bgcolor]:first-child {
  background-color: var(--panel);
}
.c-richtext table th[width],
.c-richtext table td[width] {
  width: auto;
}
@media (max-width: 768px) {
  .c-richtext table {
    display: block;
    width: 100%;
    overflow-x: auto;
  }
}
.c-richtext .txt01 {
  padding: 1rem 1.6rem;
  background-color: var(--panel);
  font-weight: 700;
}
.c-richtext .txt07 {
  font-size: 0.875em;
  color: var(--purple);
}
.c-richtext .txt07 a {
  color: var(--purple);
}
.c-richtext .txt12,
.c-richtext .honbun {
  padding-left: 1em;
}
.c-richtext .txt14 {
  padding-left: 1.6em;
}
.c-richtext .honbun2 {
  padding-left: 2.6em;
}
.c-richtext .hyo {
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  padding-left: 2.6em;
  margin-block: 0.8rem;
}
.c-richtext .hyo table {
  margin-inline: 0;
  margin-bottom: 0.8rem;
}
.c-richtext .hyo > p[style] {
  margin-right: 0 !important;
}
.c-richtext .midashi,
.c-richtext .midashi2,
.c-richtext .midashi_01,
.c-richtext .midashi_02 {
  margin-top: 4.8rem;
  margin-bottom: 1.2rem;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  color: var(--blue);
}
@media (max-width: 768px) {
  .c-richtext .midashi,
  .c-richtext .midashi2,
  .c-richtext .midashi_01,
  .c-richtext .midashi_02 {
    font-size: 3.25rem;
  }
}
.c-richtext .midashi,
.c-richtext .midashi_02 {
  padding-top: 1.6rem;
  border-top: 1px dotted var(--line);
}
.c-richtext .midashi3,
.c-richtext .midashi4,
.c-richtext .midashi5 {
  font-weight: 700;
  text-align: center;
}
.c-richtext .midashi4 {
  color: var(--purple);
}
.c-richtext .midashi5 {
  color: var(--blue);
}
.c-richtext .index {
  font-size: 0.875em;
  text-align: right;
}
.c-richtext .center,
.c-richtext .text-center,
.c-richtext .image-center {
  text-align: center;
}
.c-richtext .text-left,
.c-richtext .image-left {
  text-align: left;
}
.c-richtext .text-right,
.c-richtext .image-right {
  text-align: right;
}
.c-richtext .executive-list {
  max-width: 60rem;
  margin-inline: auto;
  padding-left: 0;
}
@media (max-width: 768px) {
  .c-richtext .executive-list {
    max-width: none;
  }
}
.c-richtext .executive-list > li {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 2rem;
  padding: 0 0 0.8rem;
  border-bottom: 1px dotted var(--line);
}
.c-richtext .executive-list > li::before {
  content: none;
}
@media (max-width: 768px) {
  .c-richtext .executive-list > li {
    flex-direction: column;
    gap: 0.2rem;
  }
}
.c-richtext .executive-title {
  white-space: nowrap;
}
.c-richtext .executive-name {
  white-space: nowrap;
}
@media (max-width: 768px) {
  .c-richtext .executive-name {
    align-self: flex-end;
  }
}
.c-richtext .company-info > li + li {
  margin-top: 0.4rem;
}
.c-richtext .inquiries,
.c-richtext .inquiries-box {
  padding: 2rem;
  border: 1px solid var(--line);
  background-color: var(--panel);
  text-align: center;
}
.c-richtext a.link-btn {
  display: block;
  max-width: 44.3rem;
  margin-inline: auto;
  padding: 1.4rem;
  background-color: var(--blue);
  color: var(--base-color);
  font-weight: 700;
  text-align: center;
  text-decoration: none;
}
@media (min-width: 769px) {
  .c-richtext a.link-btn:hover {
    opacity: 0.7;
  }
}
.c-richtext .privacy_index {
  font-weight: 700;
  color: var(--blue);
}
.c-richtext .privacy_menu > li::before {
  content: "▶";
  font-size: 0.7em;
}
.c-richtext .privacy_sec-list {
  font-size: 0.875em;
}
.c-richtext .map {
  position: relative;
  width: 100%;
  max-width: 502px;
  height: auto;
  margin-inline: auto;
  aspect-ratio: 502/500;
  background-image: url("../img/jfn_map.jpg");
  background-size: 100% 100%;
  text-indent: -9999px;
}
.c-richtext .map ul {
  padding-left: 0;
}
.c-richtext .map li {
  position: static;
  padding-left: 0;
}
.c-richtext .map li::before {
  content: none;
}
.c-richtext .map a {
  position: absolute;
  display: block;
}
.c-richtext .map ul.area1 .hokkaido a {
  top: 33.4%;
  left: 80.279%;
  width: 3.984%;
  height: 4.6%;
}
.c-richtext .map ul.area1 .aomori a {
  top: 46.4%;
  left: 72.112%;
  width: 4.183%;
  height: 4%;
}
.c-richtext .map ul.area1 .iwate a {
  top: 52.6%;
  left: 73.705%;
  width: 3.386%;
  height: 4.2%;
}
.c-richtext .map ul.area1 .akita a {
  top: 51.6%;
  left: 67.729%;
  width: 3.984%;
  height: 4.2%;
}
.c-richtext .map ul.area1 .yamagata a {
  top: 58.4%;
  left: 65.538%;
  width: 3.984%;
  height: 4.2%;
}
.c-richtext .map ul.area1 .miyagi a {
  top: 59.8%;
  left: 70.12%;
  width: 3.386%;
  height: 4%;
}
.c-richtext .map ul.area1 .fukushima a {
  top: 65.6%;
  left: 66.932%;
  width: 3.785%;
  height: 3.8%;
}
.c-richtext .map ul.area1 .tokyo a {
  top: 74.6%;
  left: 59.96%;
  width: 2.988%;
  height: 2.8%;
}
.c-richtext .map ul.area1 .tochigi a {
  top: 69.4%;
  left: 62.55%;
  width: 3.785%;
  height: 3.2%;
}
.c-richtext .map ul.area1 .gunma a {
  top: 69.6%;
  left: 57.968%;
  width: 3.785%;
  height: 3.8%;
}
.c-richtext .map ul.area1 .niigata a {
  top: 64.4%;
  left: 58.964%;
  width: 3.785%;
  height: 3.8%;
}
.c-richtext .map ul.area1 .nagano a {
  top: 71%;
  left: 52.789%;
  width: 3.785%;
  height: 3.8%;
}
.c-richtext .map ul.area1 .gifu a {
  top: 71.6%;
  left: 47.012%;
  width: 3.785%;
  height: 3.8%;
}
.c-richtext .map ul.area1 .toyama a {
  top: 67%;
  left: 49.004%;
  width: 3.785%;
  height: 3.8%;
}
.c-richtext .map ul.area1 .ishikawa a {
  top: 66.8%;
  left: 44.622%;
  width: 3.785%;
  height: 3.8%;
}
.c-richtext .map ul.area1 .fukui a {
  top: 69.8%;
  left: 40.239%;
  width: 3.785%;
  height: 3.8%;
}
.c-richtext .map ul.area1 .shizuoka a {
  top: 77.4%;
  left: 52.789%;
  width: 3.785%;
  height: 3.8%;
}
.c-richtext .map ul.area1 .aichi a {
  top: 76.8%;
  left: 45.817%;
  width: 3.785%;
  height: 3.8%;
}
.c-richtext .map ul.area1 .mie a {
  top: 79%;
  left: 42.032%;
  width: 3.785%;
  height: 3.8%;
}
.c-richtext .map ul.area1 .shiga a {
  top: 74.2%;
  left: 41.633%;
  width: 3.785%;
  height: 3.8%;
}
.c-richtext .map ul.area1 .kobe a {
  top: 73.4%;
  left: 33.865%;
  width: 3.785%;
  height: 3.8%;
}
.c-richtext .map ul.area1 .osaka a {
  top: 77.8%;
  left: 37.649%;
  width: 3.785%;
  height: 3.8%;
}
.c-richtext .map ul.area1 .okayama a {
  top: 73.6%;
  left: 28.287%;
  width: 3.785%;
  height: 3%;
}
.c-richtext .map ul.area1 .hiroshima a {
  top: 74.4%;
  left: 22.908%;
  width: 3.785%;
  height: 3.8%;
}
.c-richtext .map ul.area1 .yamaguchi a {
  top: 75.2%;
  left: 14.143%;
  width: 3.785%;
  height: 3.8%;
}
.c-richtext .map ul.area1 .sanin a {
  top: 70.2%;
  left: 24.104%;
  width: 3.785%;
  height: 3.8%;
}
.c-richtext .map ul.area1 .kouchi a {
  top: 82%;
  left: 24.303%;
  width: 3.785%;
  height: 3.8%;
}
.c-richtext .map ul.area1 .tokushima a {
  top: 81%;
  left: 29.084%;
  width: 3.984%;
  height: 3%;
}
.c-richtext .map ul.area1 .kagawa a {
  top: 77.2%;
  left: 28.685%;
  width: 4.781%;
  height: 3.6%;
}
.c-richtext .map ul.area1 .ehime a {
  top: 79.6%;
  left: 20.518%;
  width: 3.785%;
  height: 3.8%;
}
.c-richtext .map ul.area1 .fukuoka a {
  top: 77.2%;
  left: 9.363%;
  width: 3.785%;
  height: 3.8%;
}
.c-richtext .map ul.area1 .saga a {
  top: 76.8%;
  left: 5.378%;
  width: 3.785%;
  height: 3.8%;
}
.c-richtext .map ul.area1 .kumamoto a {
  top: 82.4%;
  left: 8.367%;
  width: 3.785%;
  height: 3.4%;
}
.c-richtext .map ul.area1 .oita a {
  top: 79.8%;
  left: 13.546%;
  width: 3.785%;
  height: 3.8%;
}
.c-richtext .map ul.area1 .nagasaki a {
  top: 81.2%;
  left: 3.187%;
  width: 3.785%;
  height: 3.8%;
}
.c-richtext .map ul.area1 .miyazaki a {
  top: 85.8%;
  left: 11.952%;
  width: 3.785%;
  height: 3.8%;
}
.c-richtext .map ul.area1 .kagoshima a {
  top: 88%;
  left: 5.976%;
  width: 3.785%;
  height: 3.8%;
}
.c-richtext .map ul.area1 .okinawa a {
  top: 67.6%;
  left: 4.382%;
  width: 3.785%;
  height: 3.8%;
}
.c-richtext .map ul.area2 .hokkaido a {
  top: 6.2%;
  left: 2.988%;
  width: 8.964%;
  height: 3.2%;
}
.c-richtext .map ul.area2 .aomori a {
  top: 6%;
  left: 27.888%;
  width: 15.139%;
  height: 3.2%;
}
.c-richtext .map ul.area2 .iwate a {
  top: 6%;
  left: 48.606%;
  width: 15.139%;
  height: 3.2%;
}
.c-richtext .map ul.area2 .akita a {
  top: 9.6%;
  left: 27.888%;
  width: 15.139%;
  height: 3.2%;
}
.c-richtext .map ul.area2 .yamagata a {
  top: 9.6%;
  left: 48.606%;
  width: 15.139%;
  height: 3.4%;
}
.c-richtext .map ul.area2 .miyagi a {
  top: 10.2%;
  left: 3.187%;
  width: 10.757%;
  height: 3%;
}
.c-richtext .map ul.area2 .fukushima a {
  top: 13.8%;
  left: 2.988%;
  width: 13.347%;
  height: 3.2%;
}
.c-richtext .map ul.area2 .tokyo a {
  top: 17.6%;
  left: 2.988%;
  width: 14.94%;
  height: 3%;
}
.c-richtext .map ul.area2 .tochigi a {
  top: 13.6%;
  left: 49.004%;
  width: 19.124%;
  height: 3%;
}
.c-richtext .map ul.area2 .gunma a {
  top: 13.6%;
  left: 27.888%;
  width: 15.139%;
  height: 3%;
}
.c-richtext .map ul.area2 .niigata a {
  top: 17.2%;
  left: 28.287%;
  width: 16.335%;
  height: 3.4%;
}
.c-richtext .map ul.area2 .nagano a {
  top: 17.2%;
  left: 48.606%;
  width: 10.558%;
  height: 3.4%;
}
.c-richtext .map ul.area2 .gifu a {
  top: 25.2%;
  left: 48.805%;
  width: 12.151%;
  height: 3%;
}
.c-richtext .map ul.area2 .toyama a {
  top: 21.2%;
  left: 3.187%;
  width: 11.355%;
  height: 3%;
}
.c-richtext .map ul.area2 .ishikawa a {
  top: 21.4%;
  left: 27.888%;
  width: 15.139%;
  height: 3.2%;
}
.c-richtext .map ul.area2 .fukui a {
  top: 21.4%;
  left: 49.004%;
  width: 9.96%;
  height: 3.2%;
}
.c-richtext .map ul.area2 .shizuoka a {
  top: 25%;
  left: 3.187%;
  width: 7.769%;
  height: 3%;
}
.c-richtext .map ul.area2 .aichi a {
  top: 25.2%;
  left: 28.287%;
  width: 12.948%;
  height: 3.2%;
}
.c-richtext .map ul.area2 .mie a {
  top: 28.8%;
  left: 2.988%;
  width: 9.96%;
  height: 3.2%;
}
.c-richtext .map ul.area2 .shiga a {
  top: 28.8%;
  left: 28.287%;
  width: 9.96%;
  height: 3.2%;
}
.c-richtext .map ul.area2 .kobe a {
  top: 32.4%;
  left: 3.187%;
  width: 18.924%;
  height: 3%;
}
.c-richtext .map ul.area2 .osaka a {
  top: 29.2%;
  left: 49.004%;
  width: 9.96%;
  height: 3%;
}
.c-richtext .map ul.area2 .okayama a {
  top: 32.8%;
  left: 28.287%;
  width: 9.96%;
  height: 3.2%;
}
.c-richtext .map ul.area2 .hiroshima a {
  top: 36.2%;
  left: 2.789%;
  width: 10.159%;
  height: 3.2%;
}
.c-richtext .map ul.area2 .yamaguchi a {
  top: 36.6%;
  left: 27.888%;
  width: 14.94%;
  height: 3.2%;
}
.c-richtext .map ul.area2 .sanin a {
  top: 33%;
  left: 48.805%;
  width: 14.94%;
  height: 3%;
}
.c-richtext .map ul.area2 .kouchi a {
  top: 40.6%;
  left: 48.805%;
  width: 14.94%;
  height: 3.2%;
}
.c-richtext .map ul.area2 .tokushima a {
  top: 39.8%;
  left: 2.988%;
  width: 21.713%;
  height: 3.2%;
}
.c-richtext .map ul.area2 .kagawa a {
  top: 36.8%;
  left: 49.004%;
  width: 9.761%;
  height: 3%;
}
.c-richtext .map ul.area2 .ehime a {
  top: 40.4%;
  left: 28.287%;
  width: 9.96%;
  height: 3.2%;
}
.c-richtext .map ul.area2 .fukuoka a {
  top: 43.8%;
  left: 3.187%;
  width: 18.725%;
  height: 3%;
}
.c-richtext .map ul.area2 .saga a {
  top: 44.4%;
  left: 48.805%;
  width: 14.94%;
  height: 3.4%;
}
.c-richtext .map ul.area2 .kumamoto a {
  top: 47.8%;
  left: 48.805%;
  width: 15.139%;
  height: 3.4%;
}
.c-richtext .map ul.area2 .oita a {
  top: 44.2%;
  left: 28.088%;
  width: 15.139%;
  height: 3%;
}
.c-richtext .map ul.area2 .nagasaki a {
  top: 47.6%;
  left: 2.789%;
  width: 15.139%;
  height: 3.2%;
}
.c-richtext .map ul.area2 .miyazaki a {
  top: 48%;
  left: 27.888%;
  width: 15.139%;
  height: 3.2%;
}
.c-richtext .map ul.area2 .kagoshima a {
  top: 51.6%;
  left: 2.789%;
  width: 17.53%;
  height: 3.2%;
}
.c-richtext .map ul.area2 .okinawa a {
  top: 51.6%;
  left: 28.287%;
  width: 10.159%;
  height: 3.2%;
}

.p-kv {
  position: relative;
  height: 53rem;
  overflow: hidden;
}
@media (max-width: 768px) {
  .p-kv {
    height: 85rem;
  }
}
.p-kv__media {
  position: absolute;
  inset: 0;
}
.p-kv__media picture {
  display: block;
  height: 100%;
}
.p-kv__media img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.p-kv__inner {
  position: relative;
  z-index: 1;
  height: 100%;
}
.p-kv__copy {
  padding-top: 12.4rem;
  font-size: 6.45rem;
  font-weight: 700;
  line-height: 1.21;
  color: var(--base-color);
}
@media (max-width: 768px) {
  .p-kv__copy {
    padding-top: 9rem;
    font-size: 6.63rem;
    line-height: 1.206;
  }
}

.p-info {
  padding-top: 5.1rem;
}
@media (max-width: 768px) {
  .p-info {
    padding-top: 5rem;
  }
}
.p-info__list {
  display: grid;
  gap: 2.8rem;
  margin-top: 2.8rem;
  padding-bottom: 2.8rem;
  border-bottom: 1px dashed var(--main-color);
}
@media (max-width: 768px) {
  .p-info__list {
    gap: 2.8rem;
    margin-top: 3.2rem;
    padding-bottom: 2.4rem;
  }
}
.p-info__item {
  display: grid;
  grid-template-columns: 9.7rem 1fr;
  align-items: baseline;
}
@media (max-width: 768px) {
  .p-info__item {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.3rem;
  }
}
.p-info__date {
  font-family: "Google Sans Flex", "Helvetica Neue", Arial, sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.8;
  color: var(--blue);
}
@media (max-width: 768px) {
  .p-info__date {
    font-size: 2.4rem;
    line-height: 1;
  }
}
.p-info__title {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.5;
}
@media (max-width: 768px) {
  .p-info__title {
    font-size: 2.8rem;
  }
}

.p-news {
  padding-top: 4.3rem;
}
.p-kv + .p-news {
  padding-top: 5.1rem;
}
@media (max-width: 768px) {
  .p-kv + .p-news {
    padding-top: 5rem;
  }
}
@media (max-width: 768px) {
  .p-news {
    padding-top: 3.9rem;
  }
}
.p-news__heading + .p-news__cols {
  margin-top: 3.86rem;
}
@media (max-width: 768px) {
  .p-news__heading + .p-news__cols {
    margin-top: 3.93rem;
  }
}
.p-news__cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto auto auto;
  gap: 3rem;
}
@media (max-width: 768px) {
  .p-news__cols {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: none;
    gap: 7.9rem;
  }
}
.p-news__col {
  display: grid;
  grid-row: span 4;
  grid-template-rows: subgrid;
  grid-template-columns: minmax(0, 1fr);
  row-gap: 0;
  min-width: 0;
}
@media (max-width: 768px) {
  .p-news__col {
    display: block;
  }
}
.p-news__card {
  display: block;
  padding: 3.7rem 2.94rem 3rem;
  color: var(--base-color);
}
.p-news__col--ir .p-news__card {
  background: var(--navy);
}
.p-news__col--press .p-news__card {
  background: var(--purple);
}
@media (max-width: 768px) {
  .p-news__card {
    padding: 4.4rem 2.7rem 3.9rem;
  }
}
.p-news__card-en {
  font-family: "Google Sans Flex", "Helvetica Neue", Arial, sans-serif;
  display: block;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
  opacity: 0.7;
}
@media (max-width: 768px) {
  .p-news__card-en {
    font-size: 1.8rem;
  }
}
.p-news__card-ja {
  display: block;
  margin-top: 1.5rem;
  font-size: 2.72rem;
  font-weight: 600;
  line-height: 1;
}
@media (max-width: 768px) {
  .p-news__card-ja {
    margin-top: 1.4rem;
    font-size: 3.5rem;
  }
}
.p-news__card-desc {
  font-family: "Google Sans Flex", "Helvetica Neue", Arial, sans-serif;
  display: block;
  margin-top: 0.5rem;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.5;
  opacity: 0.7;
}
@media (max-width: 768px) {
  .p-news__card-desc {
    margin-top: 1.3rem;
    font-size: 1.8rem;
  }
}
.p-news__list-wrap {
  position: relative;
  height: 41.4rem;
  margin-top: 4.2rem;
  overflow: hidden;
}
.p-news__list-wrap::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 6.3rem;
  background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.418) 30.5%, #fff 46.8%, #fff 100%);
  pointer-events: none;
}
.p-news__cols.is-open .p-news__list-wrap, .p-news__col.is-open .p-news__list-wrap {
  height: auto;
}
.p-news__cols.is-open .p-news__list-wrap::after, .p-news__col.is-open .p-news__list-wrap::after {
  content: none;
}
@media (max-width: 768px) {
  .p-news__list-wrap {
    height: auto;
    margin-top: 5.2rem;
    overflow: visible;
  }
  .p-news__list-wrap::after {
    content: none;
  }
}
.p-news__list {
  padding-inline: 2rem;
}
@media (max-width: 768px) {
  .p-news__list {
    padding-inline: 2.2rem;
  }
}
.p-news__item {
  margin-bottom: 4.4rem;
}
@media (max-width: 768px) {
  .p-news__item {
    margin-bottom: 4.4rem;
  }
  .p-news__item:nth-child(n+5) {
    display: none;
  }
  .p-news__cols.is-open .p-news__item, .p-news__col.is-open .p-news__item {
    display: block;
  }
}
.p-news__date {
  font-family: "Google Sans Flex", "Helvetica Neue", Arial, sans-serif;
  display: block;
  margin-bottom: 1.25rem;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
}
.p-news__col--ir .p-news__date {
  color: var(--blue);
}
.p-news__col--press .p-news__date {
  color: var(--purple);
}
@media (max-width: 768px) {
  .p-news__date {
    margin-bottom: 1rem;
    font-size: 2.4rem;
  }
}
.p-news__title {
  display: block;
  font-size: 1.6rem;
  line-height: 1.19;
}
@media (max-width: 768px) {
  .p-news__title {
    font-size: 2.8rem;
    line-height: 1.43;
  }
}
.p-news__more {
  margin-top: 0.6rem;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}
@media (max-width: 768px) {
  .p-news__more {
    display: none;
  }
}
.p-news__col--ir .p-news__more {
  color: var(--blue);
}
.p-news__col--press .p-news__more {
  color: var(--purple);
}
.p-news__cols.is-open .p-news__more, .p-news__col.is-open .p-news__more {
  display: none;
}
.p-news__btn {
  margin-top: 2.4rem;
  text-align: center;
}
@media (max-width: 768px) {
  .p-news__btn {
    margin-top: 3.7rem;
  }
}
.p-news__btns {
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin-top: 2.4rem;
}
.p-news__btns .c-btn {
  width: 30.2rem;
}
@media (max-width: 768px) {
  .p-news__btns {
    flex-direction: column;
    align-items: center;
    gap: 3.5rem;
    margin-top: 3.7rem;
  }
  .p-news__btns .c-btn {
    width: 56.9rem;
  }
}

.p-about {
  padding-block: 8rem 5.7rem;
}
@media (max-width: 768px) {
  .p-about {
    padding-block: 9.3rem 1.6rem;
  }
}
.p-about__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 1.3rem;
}
@media (max-width: 768px) {
  .p-about__list {
    grid-template-columns: minmax(0, 1fr);
    margin-top: 0.9rem;
    margin-inline: -2.6rem;
  }
}
.p-about__item {
  border-left: 1px solid var(--line);
}
.p-about__item:nth-child(4n+1) {
  border-left: 0;
}
.p-about__item:nth-child(n+5) {
  border-top: 1px solid var(--line);
}
@media (max-width: 768px) {
  .p-about__item {
    border: 0;
  }
  .p-about__item:nth-child(n+5) {
    border-top: 0;
  }
  .p-about__item + .p-about__item {
    border-top: 1px solid var(--blue);
  }
  .p-about__item:empty {
    display: none;
  }
}
.p-about__link {
  display: block;
  height: 100%;
  padding: 3.1rem 3rem 3.2rem;
  color: var(--blue);
  transition: background-color 0.5s ease, color 0.5s ease;
}
@media (min-width: 769px) {
  .p-about__link:hover {
    opacity: 1;
    background-color: var(--blue-hover);
    color: var(--base-color);
  }
}
@media (max-width: 768px) {
  .p-about__link {
    padding: 4.4rem 5.6rem 6.2rem;
  }
}
.p-about__icon {
  display: block;
  width: 2.4rem;
  margin-bottom: 1.2rem;
}
.p-about__icon img {
  width: 100%;
  transition: filter 0.5s ease;
}
@media (min-width: 769px) {
  .p-about__link:hover .p-about__icon img {
    filter: brightness(0) invert(1);
  }
}
@media (max-width: 768px) {
  .p-about__icon {
    width: 5.2rem;
    margin-bottom: 2.1rem;
  }
}
.p-about__en {
  font-family: "Google Sans Flex", "Helvetica Neue", Arial, sans-serif;
  display: block;
  font-size: 1.47rem;
  line-height: 1;
  opacity: 0.7;
}
@media (max-width: 768px) {
  .p-about__en {
    font-size: 3rem;
  }
}
.p-about__ja {
  display: block;
  margin-top: 2rem;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1;
}
@media (max-width: 768px) {
  .p-about__ja {
    margin-top: 2.9rem;
    font-size: 3.75rem;
  }
}
.p-about__desc {
  display: block;
  margin-top: 1.6rem;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.5;
  opacity: 0.7;
}
@media (max-width: 768px) {
  .p-about__desc {
    margin-top: 2.6rem;
    font-size: 2.92rem;
    line-height: 1.18;
  }
}

.p-vision {
  position: relative;
  isolation: isolate;
  max-width: 120rem;
  margin: 4.5rem auto 5.8rem;
  padding-bottom: 6.1rem;
  border-radius: 1rem;
  background-color: var(--panel);
  clip-path: inset(0 round 1rem);
}
.p-vision::before {
  content: "";
  position: fixed;
  top: 0;
  bottom: 0;
  left: 50%;
  z-index: -1;
  width: 120rem;
  max-width: 100%;
  background: url("../img/vision/bg_texture.jpg") center top/cover no-repeat;
  transform: translateX(-50%);
}
@media (max-width: 768px) {
  .p-vision::before {
    background-position: right top;
  }
}
.p-vision picture {
  display: contents;
}
.p-vision source {
  display: none;
}
.p-vision__head {
  position: relative;
  padding-bottom: 2.1rem;
}
.p-vision__head::after {
  content: "";
  position: absolute;
  right: 4.5rem;
  bottom: 0;
  left: 4.5rem;
  border-bottom: 1px solid var(--line);
}
@media (max-width: 768px) {
  .p-vision__head {
    padding: 0 0 2.11rem;
  }
  .p-vision__head::after {
    right: 0;
    left: 0;
  }
}
.p-vision__title {
  background-image: linear-gradient(90deg, var(--blue) 0%, var(--purple) 100%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  display: inline-block;
  padding-top: 2.2rem;
  font-size: 3.2rem;
  font-weight: 900;
  line-height: 1.2;
}
@media (max-width: 768px) {
  .p-vision__title {
    margin-left: 2.4rem;
    padding-top: 3.19rem;
    font-size: 4.64rem;
  }
}
.p-vision__mvv {
  text-align: center;
}
.p-vision__mvv-en {
  font-family: "Google Sans Flex", "Helvetica Neue", Arial, sans-serif;
  background-image: linear-gradient(90deg, var(--blue) 0%, var(--purple) 100%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  padding-top: 9.65rem;
  padding-bottom: 1rem;
  margin-bottom: -1rem;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1;
}
.p-vision__mvv-en:first-child {
  padding-top: 9.96rem;
}
@media (max-width: 768px) {
  .p-vision__mvv-en {
    padding-top: 8.98rem;
    padding-bottom: 1.2rem;
    margin-bottom: -1.2rem;
    font-size: 5.16rem;
  }
  .p-vision__mvv-en:first-child {
    padding-top: 8.8rem;
  }
}
.p-vision__mvv-ja {
  margin-top: 1.57rem;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1;
  color: var(--blue);
}
@media (max-width: 768px) {
  .p-vision__mvv-ja {
    margin-top: 2.65rem;
    font-size: 3.92rem;
  }
}
.p-vision__mvv-text {
  margin-top: 1.96rem;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.583;
}
.p-vision__values + .p-vision__mvv-text {
  margin-top: 4.01rem;
}
@media (max-width: 768px) {
  .p-vision__mvv-text {
    margin-top: 2.6rem;
    font-size: 2.8rem;
    line-height: 1.43;
    text-align: left;
  }
}
.p-vision__values {
  display: grid;
  margin-inline: -2.375rem;
  grid-template-columns: repeat(5, 20.65rem);
  justify-content: center;
  margin-top: 3.39rem;
}
@media (max-width: 768px) {
  .p-vision__values {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 69.9rem;
    max-width: 100%;
    margin-inline: auto;
    margin-top: 2.03rem;
    row-gap: 2.3rem;
  }
}
.p-vision__value {
  display: flex;
  flex-direction: column;
  height: 20.02rem;
  padding: 3.4rem 1rem 0;
  border: 1px solid var(--blue);
  background: var(--base-color);
}
.p-vision__value + .p-vision__value {
  border-left: 0;
}
.p-vision__value:first-child {
  border-radius: 1rem 0 0 1rem;
}
.p-vision__value:last-child {
  border-radius: 0 1rem 1rem 0;
}
@media (max-width: 768px) {
  .p-vision__value {
    width: 33.3333333333%;
    height: 22.7rem;
    padding: 3.2rem 1rem 0;
  }
  .p-vision__value:nth-child(4) {
    border-left: 1px solid var(--blue);
  }
  .p-vision__value:nth-child(1), .p-vision__value:nth-child(4) {
    border-radius: 1rem 0 0 1rem;
  }
  .p-vision__value:nth-child(3), .p-vision__value:nth-child(5) {
    border-radius: 0 1rem 1rem 0;
  }
}
.p-vision__value-label {
  font-size: 2.74rem;
  font-weight: 500;
  line-height: 1.2;
  color: var(--blue);
}
@media (max-width: 768px) {
  .p-vision__value-label {
    font-size: 3.11rem;
  }
}
.p-vision__value-icon {
  display: grid;
  flex: 1;
  place-items: center;
  margin-inline: auto;
}
.p-vision__value-icon img {
  width: 100%;
}
.p-vision__value-icon--care {
  width: 7.84rem;
}
.p-vision__value-icon--fair {
  width: 8.33rem;
}
.p-vision__value-icon--trust {
  width: 10.39rem;
}
.p-vision__value-icon--challenge {
  width: 8.36rem;
}
.p-vision__value-icon--explore {
  width: 7.63rem;
}
@media (max-width: 768px) {
  .p-vision__value-icon--care {
    width: 8.87rem;
  }
  .p-vision__value-icon--fair {
    width: 9.42rem;
  }
  .p-vision__value-icon--trust {
    width: 11.76rem;
  }
  .p-vision__value-icon--challenge {
    width: 9.46rem;
  }
  .p-vision__value-icon--explore {
    width: 8.64rem;
  }
}
.p-vision__strategy {
  text-align: center;
}
.p-vision__circles {
  display: grid;
  margin-inline: -2.4rem;
  grid-template-columns: repeat(3, 31.9rem);
  justify-content: center;
  gap: 3.8rem;
  margin-top: 5.26rem;
}
@media (max-width: 768px) {
  .p-vision__circles {
    grid-template-columns: repeat(3, 22.72rem);
    gap: 1.06rem;
    margin-inline: 0;
    margin-top: 2.77rem;
  }
}
.p-vision__circle-link {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  aspect-ratio: 1;
  padding: 2.3rem 2rem 0;
  overflow: hidden;
  border: 2px solid var(--blue);
  border-radius: 50%;
  background: var(--base-color);
  color: var(--blue);
}
.p-vision__circle-link::before {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 9.6rem;
}
@media (max-width: 768px) {
  .p-vision__circle-link::before {
    height: 6.84rem;
  }
}
.p-vision__circle-link::before {
  background: linear-gradient(90deg, var(--blue) 0%, var(--purple) 100%);
}
@media (max-width: 768px) {
  .p-vision__circle-link {
    padding: 1.86rem 1rem 0;
    border-width: 1px;
  }
}
.p-vision__circle-icon {
  display: grid;
  place-items: center;
  height: 7.44rem;
  margin-inline: auto;
}
.p-vision__circle-icon img {
  width: 100%;
}
.p-vision__circle-icon--sustainable {
  width: 7.12rem;
}
.p-vision__circle-icon--growth {
  width: 6rem;
}
.p-vision__circle-icon--principal {
  width: 8rem;
}
@media (max-width: 768px) {
  .p-vision__circle-icon {
    height: 5.35rem;
  }
  .p-vision__circle-icon--sustainable {
    width: 5.13rem;
  }
  .p-vision__circle-icon--growth {
    width: 4.33rem;
  }
  .p-vision__circle-icon--principal {
    width: 5.75rem;
  }
}
.p-vision__circle-label {
  margin-top: 1.6rem;
  font-size: 1.52rem;
  font-weight: 500;
  line-height: 1.5;
}
@media (max-width: 768px) {
  .p-vision__circle-label {
    margin-top: 0.6rem;
    font-size: 1.07rem;
  }
}
.p-vision__circle-word {
  font-feature-settings: "palt" 1;
  margin-top: 0.24rem;
  font-size: 4.86rem;
  font-weight: 500;
  line-height: 1;
}
@media (max-width: 768px) {
  .p-vision__circle-word {
    margin-top: 0.07rem;
    font-size: 3.43rem;
  }
}
.p-vision__circle-more {
  position: relative;
  display: flex;
  justify-content: center;
  margin-top: 4.51rem;
  color: var(--base-color);
}
@media (max-width: 768px) {
  .p-vision__circle-more {
    margin-top: 4.2rem;
  }
}
.p-vision__circle-arrow {
  position: relative;
  display: block;
  width: 4.94rem;
  height: 4.94rem;
  margin-top: 1.1rem;
  border: 1px solid currentColor;
  border-radius: 50%;
}
.p-vision__circle-arrow::before, .p-vision__circle-arrow::after {
  content: "";
  position: absolute;
  left: 50%;
}
.p-vision__circle-arrow::before {
  top: 1.09rem;
  width: 0.29rem;
  height: 2.33rem;
  border-radius: 0.15rem;
  background: currentColor;
  transform: translateX(-50%);
}
.p-vision__circle-arrow::after {
  top: 2.01rem;
  width: 1.54rem;
  height: 1.54rem;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateX(-50%) rotate(45deg);
}
@media (max-width: 768px) {
  .p-vision__circle-arrow {
    width: 3.53rem;
    height: 3.53rem;
    margin-top: 0;
  }
  .p-vision__circle-arrow::before {
    top: 0.8rem;
    width: 1px;
    height: 2rem;
    border-radius: 0;
  }
  .p-vision__circle-arrow::after {
    top: 1.75rem;
    width: 0.95rem;
    height: 0.95rem;
    border-width: 1px;
  }
}
.p-vision__block {
  padding: 8.12rem 10.75rem 0;
}
.p-vision__block + .p-vision__block {
  padding-top: 6.09rem;
}
.p-vision__block + .p-vision__block + .p-vision__block {
  padding-top: 11.1rem;
}
@media (max-width: 768px) {
  .p-vision__block {
    padding: 10.34rem 2.2rem 0;
  }
  .p-vision__block + .p-vision__block {
    padding-top: 15.63rem;
  }
  .p-vision__block + .p-vision__block + .p-vision__block {
    padding-top: 7.44rem;
  }
}
.p-vision__mvv, .p-vision__strategy {
  padding-inline: 10.75rem;
}
@media (max-width: 768px) {
  .p-vision__mvv, .p-vision__strategy {
    padding-inline: 2.2rem;
  }
}
.p-vision__block-head {
  display: flex;
  align-items: flex-end;
  margin-inline: -2.4rem;
  padding-bottom: 1.9rem;
  border-bottom: 1px solid var(--blue);
}
@media (max-width: 768px) {
  .p-vision__block-head {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: end;
    margin-inline: 0;
    padding-bottom: 2.36rem;
  }
}
.p-vision__block-icon {
  display: block;
  flex-shrink: 0;
  margin: 0 1rem 0 2.4rem;
}
.p-vision__block-icon img {
  width: 100%;
}
.p-vision__block-icon--sustainable {
  width: 8.25rem;
}
.p-vision__block-icon--growth {
  width: 8rem;
}
.p-vision__block-icon--principal {
  width: 8rem;
}
@media (max-width: 768px) {
  .p-vision__block-icon {
    margin: 0 0.7rem 0 0;
  }
  .p-vision__block-icon--sustainable {
    width: 8.5rem;
  }
  .p-vision__block-icon--growth {
    width: 8.25rem;
  }
  .p-vision__block-icon--principal {
    width: 9.34rem;
  }
}
.p-vision__block-title-wrap {
  flex: 1;
}
.p-vision__block-title {
  background-image: linear-gradient(118deg, var(--purple) 0%, var(--blue) 100%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  font-feature-settings: "palt" 1;
  margin-right: 2.4rem;
  padding-bottom: 0.6rem;
  font-weight: 600;
  line-height: 1;
}
.p-vision__block-icon--sustainable + .p-vision__block-title {
  font-size: 5.82rem;
}
.p-vision__block-icon--growth + .p-vision__block-title {
  font-size: 5.37rem;
}
.p-vision__block-icon--principal + .p-vision__block-title {
  font-size: 5.57rem;
}
@media (max-width: 768px) {
  .p-vision__block-icon--sustainable + .p-vision__block-title {
    font-size: 6.3rem;
  }
  .p-vision__block-icon--growth + .p-vision__block-title {
    font-size: 6.3rem;
  }
  .p-vision__block-icon--principal + .p-vision__block-title {
    font-size: 6rem;
  }
}
.p-vision__block-label {
  font-feature-settings: normal;
  display: block;
  margin-bottom: 0.1rem;
  font-size: 1.7rem;
  font-weight: 500;
  line-height: 1.5;
}
@media (max-width: 768px) {
  .p-vision__block-label {
    font-size: 1.75rem;
  }
}
.p-vision__block-sub {
  padding-bottom: 0.8rem;
  font-size: 3rem;
  font-weight: 500;
  line-height: 1;
  color: var(--blue);
}
@media (max-width: 768px) {
  .p-vision__block-sub {
    grid-column: 2;
    margin: 0.94rem 0 0;
    padding-bottom: 0;
    font-size: 3rem;
  }
}
.p-vision__text {
  margin-top: 4.85rem;
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 1.727;
  color: var(--blue);
  text-align: center;
}
@media (max-width: 768px) {
  .p-vision__text {
    margin-top: 4.94rem;
    text-align: left;
    font-size: 3rem;
    line-height: 1.333;
  }
}
.p-vision__note {
  margin-top: 4.75rem;
  font-size: 2.8rem;
  font-weight: 500;
  line-height: 1.4;
  color: var(--blue);
  text-align: center;
}
@media (max-width: 768px) {
  .p-vision__note {
    margin-top: 2rem;
    text-align: left;
    font-size: 3rem;
    line-height: 1.333;
  }
}
.p-vision__figure {
  margin-top: 3rem;
}
.p-vision__figure img {
  margin-inline: auto;
}
.p-vision__figure--cycle {
  margin-top: 4.9rem;
}
.p-vision__figure--cycle img {
  width: 88.4rem;
  margin-inline: 5.01rem auto;
}
.p-vision__figure--layers {
  margin-top: 4.12rem;
}
.p-vision__figure--layers img {
  width: 73.5rem;
}
@media (max-width: 768px) {
  .p-vision__figure {
    margin-top: 3.4rem;
  }
  .p-vision__figure--cycle {
    margin-top: 4rem;
  }
  .p-vision__figure--cycle img {
    width: 70.7rem;
    margin-inline: 0;
  }
  .p-vision__figure--layers {
    margin-top: 8.54rem;
  }
  .p-vision__figure--layers img {
    width: 70.4rem;
  }
}
.p-vision__layers {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-top: 2.79rem;
  padding-inline: 4.5rem;
}
@media (max-width: 768px) {
  .p-vision__layers {
    position: relative;
    margin-top: 4.52rem;
    padding-inline: 0;
  }
}
.p-vision__layer-list {
  display: grid;
  gap: 2.3rem;
}
@media (max-width: 768px) {
  .p-vision__layer-list {
    gap: 3.76rem;
  }
}
.p-vision__layer {
  display: flex;
  align-items: center;
  gap: 2.3rem;
}
@media (max-width: 768px) {
  .p-vision__layer {
    flex-direction: column;
    align-items: flex-start;
    gap: 1.39rem;
  }
}
.p-vision__layer-chip {
  font-family: "Google Sans Flex", "Helvetica Neue", Arial, sans-serif;
  display: grid;
  place-items: center;
  width: 17.9rem;
  height: 3.4rem;
  border-radius: 999px;
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1;
  color: var(--base-color);
}
.p-vision__layer-chip.is-platform {
  background: var(--blue);
}
.p-vision__layer-chip.is-expansion {
  background: var(--purple);
}
.p-vision__layer-chip.is-core {
  background: var(--blue-mid2);
}
@media (max-width: 768px) {
  .p-vision__layer-chip {
    width: 20.92rem;
    height: 3.4rem;
    font-size: 1.86rem;
  }
}
.p-vision__layer-desc {
  font-size: 2rem;
  font-weight: 400;
  line-height: 1;
}
@media (max-width: 768px) {
  .p-vision__layer-desc {
    font-size: 2.6rem;
  }
}
.p-vision__layer-note {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding-top: 0.5rem;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.5;
  color: var(--blue);
}
.p-vision__layer-note img {
  width: 4.57rem;
}
@media (max-width: 768px) {
  .p-vision__layer-note {
    position: absolute;
    top: -1.95rem;
    right: -1.3rem;
    flex-direction: column;
    width: 9.4rem;
    padding-top: 0;
    gap: 0.3rem;
    font-size: 1.86rem;
    line-height: 1.11;
    text-align: center;
  }
  .p-vision__layer-note img {
    width: 4.07rem;
  }
}
.p-vision__band {
  margin-top: 4.08rem;
  padding: 0.9rem 1.8rem 1.1rem;
  background: var(--blue-band);
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1;
  color: var(--blue);
}
@media (max-width: 768px) {
  .p-vision__band {
    margin-top: 5rem;
    padding: 1rem 1.4rem 1.2rem;
    font-size: 4.15rem;
  }
}
.p-vision__talent + .p-vision__band {
  margin-top: 4.59rem;
}
@media (max-width: 768px) {
  .p-vision__talent + .p-vision__band {
    margin-top: 3.46rem;
  }
}
.p-vision__talent {
  display: flex;
  justify-content: space-between;
  margin: 3.69rem 7.05rem 0 6.1rem;
}
@media (max-width: 768px) {
  .p-vision__talent {
    flex-direction: column;
    align-items: center;
    margin: 2.2rem 0 0;
    gap: 1.6rem;
  }
}
.p-vision__talent-col img {
  margin-inline: auto;
}
.p-vision__talent-col:first-child {
  width: 43.38rem;
}
.p-vision__talent-col:last-child {
  width: 31.8rem;
}
.p-vision__talent-col:last-child img {
  width: 20.22rem;
}
@media (max-width: 768px) {
  .p-vision__talent-col:first-child, .p-vision__talent-col:last-child {
    width: 100%;
  }
  .p-vision__talent-col:first-child img {
    width: 64.93rem;
  }
  .p-vision__talent-col:last-child img {
    width: 30.21rem;
    margin-inline: auto;
  }
}
.p-vision__talent-head {
  font-size: 3.2rem;
  font-weight: 400;
  line-height: 1.4;
  text-align: center;
}
.p-vision__talent-head b {
  font-family: "Google Sans Flex", "Helvetica Neue", Arial, sans-serif;
  font-size: 4.09rem;
  font-weight: 700;
  color: var(--blue);
}
@media (max-width: 768px) {
  .p-vision__talent-head {
    font-size: 4.8rem;
    line-height: 1.3;
  }
  .p-vision__talent-head b {
    font-size: 6.13rem;
  }
}
.p-vision__works {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 4.44rem;
}
@media (max-width: 768px) {
  .p-vision__works {
    grid-template-columns: repeat(3, 23.21rem);
    justify-content: center;
    margin-top: 6.9rem;
  }
}
.p-vision__work {
  display: flex;
  flex-direction: column;
  height: 19.56rem;
  padding: 2.85rem 1rem 0;
  border: 1px solid var(--blue);
  background: var(--base-color);
}
.p-vision__work + .p-vision__work {
  border-left: 0;
}
.p-vision__work:first-child {
  border-radius: 1rem 0 0 1rem;
}
.p-vision__work:last-child {
  border-radius: 0 1rem 1rem 0;
}
@media (max-width: 768px) {
  .p-vision__work {
    height: 27.51rem;
    padding: 2.6rem 0.6rem 0;
  }
}
.p-vision__work-label {
  font-size: 2.68rem;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  color: var(--blue);
}
.p-vision__work-label br {
  display: none;
}
@media (max-width: 768px) {
  .p-vision__work-label {
    font-size: 3.2rem;
    line-height: 1.2;
  }
  .p-vision__work-label br {
    display: inline;
  }
}
.p-vision__work-icon {
  display: grid;
  flex: 1;
  place-items: center;
  margin-inline: auto;
}
.p-vision__work-icon img {
  width: 100%;
}
@media (min-width: 769px) {
  .p-vision__work-icon {
    place-items: end center;
    padding-bottom: 2.1rem;
  }
}
.p-vision__work-icon--women {
  width: 20.67rem;
}
.p-vision__work-icon--leave {
  width: 16.28rem;
}
.p-vision__work-icon--overtime {
  width: 8.36rem;
}
@media (max-width: 768px) {
  .p-vision__work-icon--women {
    width: 17.34rem;
  }
  .p-vision__work-icon--leave {
    width: 17.21rem;
  }
  .p-vision__work-icon--overtime {
    width: 9.14rem;
  }
}
.p-vision__btn {
  margin-top: 3.5rem;
  text-align: center;
}
.p-vision__btn .c-btn {
  width: 44.3rem;
  height: 4.9rem;
  background-image: linear-gradient(90deg, var(--blue) 0%, var(--blue) 37%, var(--purple) 66%, var(--purple) 100%);
  font-size: 1.6rem;
  font-weight: 700;
}
.p-vision__btn .c-btn::before {
  content: none;
}
@media (min-width: 769px) {
  .p-vision__btn .c-btn:hover {
    opacity: 0.7;
  }
}
@media (max-width: 768px) {
  .p-vision__btn {
    margin-top: 5.6rem;
  }
  .p-vision__btn .c-btn {
    width: 68.3rem;
    height: 6.5rem;
    font-size: 2.48rem;
  }
}
@media (max-width: 768px) {
  .p-vision {
    max-width: none;
    margin: 3.8rem 0 0;
    padding-bottom: 4.3rem;
    border-radius: 0;
    clip-path: inset(0);
  }
}

.p-entry__head {
  position: relative;
  padding-bottom: 2.1rem;
}
.p-entry__head::after {
  content: "";
  position: absolute;
  right: 4.5rem;
  bottom: 0;
  left: 4.5rem;
  border-bottom: 1px solid var(--line);
}
@media (max-width: 768px) {
  .p-entry__head {
    padding: 0 0 2.11rem;
  }
  .p-entry__head::after {
    right: 0;
    left: 0;
  }
}
.p-entry__title {
  background-image: linear-gradient(90deg, var(--blue) 0%, var(--purple) 100%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  display: inline-block;
  padding-top: 2.2rem;
  font-size: 3.2rem;
  font-weight: 900;
  line-height: 1.2;
}
@media (max-width: 768px) {
  .p-entry__title {
    margin-left: 2.4rem;
    padding-top: 3.19rem;
    font-size: 4.64rem;
  }
}
.p-entry__lead {
  margin-bottom: 5rem;
  font-size: 1.6rem;
  line-height: 1.9;
}
.p-entry__lead p + p {
  margin-top: 1.6rem;
}
@media (max-width: 768px) {
  .p-entry__lead {
    margin-bottom: 6rem;
    font-size: 2.6rem;
    line-height: 1.8;
  }
}
.p-entry__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 2rem;
}
@media (max-width: 768px) {
  .p-entry__head {
    flex-wrap: wrap;
  }
}
.p-entry__head-btn {
  display: block;
  flex: none;
  width: 32rem;
  height: 3.9rem;
  border-radius: 1.95rem;
  background-color: var(--blue);
  font-size: 1.77rem;
  font-weight: 500;
  line-height: 3.9rem;
  color: var(--base-color);
  text-align: center;
}
.p-entry__head-btn small {
  font-size: 1.18rem;
  font-weight: 500;
}
@media (min-width: 769px) {
  .p-entry__head-btn:hover {
    opacity: 0.7;
  }
}
@media (max-width: 768px) {
  .p-entry__head-btn {
    width: 44.9rem;
    height: 5rem;
    margin: 0.4rem 0 1.4rem 2.4rem;
    line-height: 5rem;
    border-radius: 2.5rem;
    font-size: 2.54rem;
  }
  .p-entry__head-btn small {
    font-size: 1.69rem;
  }
}
.p-entry__date {
  font-family: "Google Sans Flex", "Helvetica Neue", Arial, sans-serif;
  margin-bottom: 2rem;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  color: var(--blue);
  text-align: right;
}
@media (max-width: 768px) {
  .p-entry__date {
    margin-bottom: 2.4rem;
    font-size: 2.4rem;
  }
}
.p-entry__group + .p-entry__group {
  margin-top: 6rem;
}
@media (max-width: 768px) {
  .p-entry__group + .p-entry__group {
    margin-top: 7rem;
  }
}
.p-entry__back {
  margin-top: 5rem;
  font-size: 1.6rem;
  text-align: center;
}
.p-entry__back a {
  color: var(--blue);
  text-decoration: underline;
}
@media (min-width: 769px) {
  .p-entry__back a:hover {
    text-decoration: none;
  }
}
@media (max-width: 768px) {
  .p-entry__back {
    margin-top: 6rem;
    font-size: 2.6rem;
  }
}
.p-entry__body {
  max-width: 120rem;
  margin: 4.5rem auto 13.8rem;
  padding: 5.4rem;
  border-radius: 1rem;
  background-color: var(--panel-gray);
}
@media (max-width: 768px) {
  .p-entry__body {
    max-width: none;
    margin: 3.8rem 0 10rem;
    padding: 5.4rem 2.6rem;
    border-radius: 0;
  }
}
.p-entry__body--plain {
  max-width: 100rem;
  padding: 0;
  border-radius: 0;
  background-color: transparent;
}
@media (max-width: 768px) {
  .p-entry__body--plain {
    padding-inline: 2.6rem;
  }
}
.p-entry__body--wide {
  max-width: 144rem;
  padding: 0 6.8rem 0 6.2rem;
  border-radius: 0;
  background-color: transparent;
}
@media (max-width: 768px) {
  .p-entry__body--wide {
    padding-inline: 2.6rem;
  }
}

.p-jfn {
  padding-bottom: 12rem;
}
.p-jfn__lead {
  margin-top: 1.8rem;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
}
.p-jfn__logo {
  width: 19.11rem;
  margin: 6rem auto 0;
}
.p-jfn__logo img {
  width: 100%;
}
.p-jfn__note {
  position: relative;
  margin-top: 3.87rem;
  margin-left: 0.81rem;
  padding-left: 2rem;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
}
.p-jfn__note::before {
  content: "";
  position: absolute;
  top: 0.62em;
  left: 0;
  border-right: 0.35em solid transparent;
  border-left: 0.35em solid transparent;
  border-top: 0.5em solid var(--jfn-blue);
}
.p-jfn__area {
  position: relative;
  margin-top: 5.52rem;
}
.p-jfn__pins {
  position: absolute;
  inset: 0;
}
.p-jfn__pin {
  position: absolute;
  width: 1.937%;
  aspect-ratio: 20/29.7;
  transform: translate(-50%, -100%);
}
.p-jfn__pin a {
  display: block;
  height: 100%;
  background: url("../img/jfn_pin.svg") center/contain no-repeat;
}
@media (max-width: 768px) {
  .p-jfn__pin a {
    position: relative;
  }
  .p-jfn__pin a::after {
    content: "";
    position: absolute;
    inset: -1.4rem;
  }
}
@media (min-width: 769px) {
  .p-jfn__pin a:hover {
    opacity: 0.7;
  }
}
.p-jfn__mapbox {
  position: relative;
  width: 103.25rem;
  max-width: 100%;
  margin-left: 4.2rem;
}
.p-jfn__map {
  display: block;
  width: 100%;
}
.p-jfn__stations {
  position: absolute;
  top: -3.67rem;
  left: 1.9rem;
  width: 70rem;
}
.p-jfn__heading {
  font-size: 2.4rem;
  font-weight: 800;
  line-height: 1.2;
  color: var(--jfn-blue);
}
.p-jfn__cols {
  display: flex;
  margin-top: 0.23rem;
  background-image: repeating-linear-gradient(to bottom, var(--main-color) 0 2px, transparent 2px 4px), repeating-linear-gradient(to bottom, var(--main-color) 0 2px, transparent 2px 4px), repeating-linear-gradient(to bottom, var(--main-color) 0 2px, transparent 2px 4px);
  background-repeat: no-repeat;
  background-size: 1px 100%;
  background-position: 15rem 0, 31.8rem 0, 48.6rem 0;
}
.p-jfn__list {
  width: 17.5rem;
}
.p-jfn__list li {
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 2.8928571429;
}
.p-jfn__list a {
  color: var(--main-color);
}
@media (min-width: 769px) {
  .p-jfn__list a:hover {
    text-decoration: underline;
  }
}
@media (max-width: 768px) {
  .p-jfn__lead {
    font-size: 3rem;
  }
  .p-jfn__logo {
    width: 28rem;
    margin-top: 5rem;
  }
  .p-jfn__note {
    margin-top: 4.6rem;
    padding-left: 3.2rem;
    font-size: 3rem;
  }
  .p-jfn__area {
    margin-top: 4rem;
  }
  .p-jfn__mapbox {
    width: 100%;
    margin-left: 0;
  }
  .p-jfn__stations {
    position: static;
    width: auto;
    margin-top: 4rem;
  }
  .p-jfn__heading {
    font-size: 4rem;
  }
  .p-jfn__cols {
    flex-wrap: wrap;
    margin-top: 2rem;
    background-image: repeating-linear-gradient(to bottom, var(--main-color) 0 2px, transparent 2px 4px);
    background-position: 50% 0;
  }
  .p-jfn__list:nth-child(even) {
    padding-left: 2.4rem;
  }
  .p-jfn__list {
    width: 50%;
  }
  .p-jfn__list li {
    font-size: 2.6rem;
    line-height: 2.2;
  }
}

.p-entry__body[data-page="about/profile/outline"] {
  padding-inline: 0;
  background-color: transparent;
}
@media (max-width: 768px) {
  .p-entry__body[data-page="about/profile/outline"] {
    padding-inline: 2.6rem;
  }
}

[data-page="about/profile/outline"] .c-richtext table {
  width: 100%;
}

.p-entry__body[data-page="about/profile/top-message"] {
  background-color: var(--panel-blue);
}
.p-entry__body[data-page="about/profile/top-message"] .c-richtext {
  display: flow-root;
}
.p-entry__body[data-page="about/profile/top-message"] .c-richtext h2 {
  margin-top: 3.37rem;
  padding-bottom: 0;
  border-bottom: 0;
  font-size: 4.09rem;
}
.p-entry__body[data-page="about/profile/top-message"] .c-richtext h3 {
  margin-top: 0.3rem;
  font-size: 2.8rem;
  font-weight: 400;
}
.p-entry__body[data-page="about/profile/top-message"] .c-richtext > br {
  display: none;
}
.p-entry__body[data-page="about/profile/top-message"] .c-richtext > *:not(figure):not(h2):not(h3) {
  clear: right;
}
.p-entry__body[data-page="about/profile/top-message"] .c-richtext > figure:first-child {
  float: right;
  width: 23.8rem;
  margin: 0.9rem 0 1.8rem 4rem;
}
.p-entry__body[data-page="about/profile/top-message"] .c-richtext > figure:first-child img {
  display: block;
}
@media (max-width: 768px) {
  .p-entry__body[data-page="about/profile/top-message"] .c-richtext > figure:first-child {
    float: none;
    width: 33rem;
    margin: 0 auto 4rem;
  }
}
.p-entry__body[data-page="about/profile/top-message"] .c-richtext table {
  width: 100%;
  table-layout: fixed;
  margin-top: 7rem;
  border: 1px solid #d9d9d9;
  background-color: var(--base-color);
}
.p-entry__body[data-page="about/profile/top-message"] .c-richtext table td {
  padding: 2.7rem 2rem 2.1rem 3.6rem;
  border: 0;
  background-color: transparent;
  vertical-align: top;
  line-height: 2;
}
.p-entry__body[data-page="about/profile/top-message"] .c-richtext table td:first-child {
  width: 39%;
}
.p-entry__body[data-page="about/profile/top-message"] .c-richtext table td strong {
  display: block;
  font-weight: 700;
}
@media (max-width: 768px) {
  .p-entry__body[data-page="about/profile/top-message"] .c-richtext table {
    display: block;
  }
  .p-entry__body[data-page="about/profile/top-message"] .c-richtext table tbody,
  .p-entry__body[data-page="about/profile/top-message"] .c-richtext table tr,
  .p-entry__body[data-page="about/profile/top-message"] .c-richtext table td,
  .p-entry__body[data-page="about/profile/top-message"] .c-richtext table td:first-child {
    display: block;
    width: auto;
  }
  .p-entry__body[data-page="about/profile/top-message"] .c-richtext table td {
    padding: 4rem 3.2rem;
    font-size: 0.9em;
  }
  .p-entry__body[data-page="about/profile/top-message"] .c-richtext table td + td {
    padding-top: 0;
    margin-top: -1rem;
  }
}

[data-page="about/profile/organization"] .c-richtext figure {
  text-align: center;
}
[data-page="about/profile/organization"] .c-richtext figure img {
  width: 100rem;
  max-width: 100%;
}

[data-page="about/governance/system-2"] .c-richtext figure img {
  width: 80rem;
  max-width: 100%;
}

[data-page="about/profile/access"] .c-richtext figure img {
  width: 65rem;
  max-width: 100%;
}
[data-page="about/profile/access"] .c-richtext p {
  font-size: 2rem;
}
@media (max-width: 768px) {
  [data-page="about/profile/access"] .c-richtext p {
    font-size: 2.6rem;
  }
}
[data-page="about/profile/access"] .c-richtext a[href*="goo.gl"],
[data-page="about/profile/access"] .c-richtext a[href*=google] {
  display: block;
  width: 14.6rem;
  margin: 2.2rem auto 0;
  border-radius: 0.5rem;
  background-color: var(--blue);
  font-size: 1.53rem;
  font-weight: 700;
  line-height: 3rem;
  color: var(--base-color);
  text-align: center;
  text-decoration: none;
}
@media (min-width: 769px) {
  [data-page="about/profile/access"] .c-richtext a[href*="goo.gl"]:hover,
  [data-page="about/profile/access"] .c-richtext a[href*=google]:hover {
    opacity: 0.7;
  }
}
@media (max-width: 768px) {
  [data-page="about/profile/access"] .c-richtext a[href*="goo.gl"],
  [data-page="about/profile/access"] .c-richtext a[href*=google] {
    width: 24rem;
    margin-top: 3.4rem;
    font-size: 2.5rem;
    line-height: 5rem;
    border-radius: 0.8rem;
  }
}

.p-entry__body[data-page="about/profile/contact"] {
  border-radius: 0;
  background-color: transparent;
}

[data-page="about/profile/contact"] .c-richtext > ul {
  display: flex;
  flex-wrap: wrap;
  gap: 2.4rem;
}
[data-page="about/profile/contact"] .c-richtext > ul > li {
  flex: 1 1 32rem;
  padding: 3.2rem 3.2rem 3.4rem;
  border-radius: 0.8rem;
  border: 1px solid var(--line);
  background-color: var(--panel);
  line-height: 1.9;
}
[data-page="about/profile/contact"] .c-richtext > ul > li::before {
  content: none;
}
[data-page="about/profile/contact"] .c-richtext > ul > li + li {
  margin-top: 0;
}
[data-page="about/profile/contact"] .c-richtext > ul > li strong {
  display: block;
  margin-bottom: 1.2rem;
  padding-bottom: 1.2rem;
  border-bottom: 1px solid var(--line);
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
  color: var(--blue);
}
[data-page="about/profile/contact"] .c-richtext > ul > li a {
  display: inline-block;
  margin-top: 0.4rem;
  word-break: break-all;
}
@media (max-width: 768px) {
  [data-page="about/profile/contact"] .c-richtext > ul {
    flex-direction: column;
    gap: 3.4rem;
  }
  [data-page="about/profile/contact"] .c-richtext > ul > li {
    padding: 4.2rem 4rem 4.4rem;
    border-radius: 1.2rem;
  }
  [data-page="about/profile/contact"] .c-richtext > ul > li strong {
    margin-bottom: 1.8rem;
    padding-bottom: 1.8rem;
    font-size: 3.25rem;
  }
}

[data-page="about/ir/jba-disclosure"] .c-richtext table {
  width: 100%;
  margin-inline: 0;
}
[data-page="about/ir/jba-disclosure"] .c-richtext ul:has(> li > a[href^="#"]):not(:has(> li > a:not([href^="#"]))) {
  -moz-columns: auto;
       columns: auto; /* 既存の縦並びカラム設定を解除 */
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem 3.2rem;
}
[data-page="about/ir/jba-disclosure"] .c-richtext ul:has(> li > a[href^="#"]):not(:has(> li > a:not([href^="#"]))) > li {
  width: calc((100% - 6.4rem) / 3); /* PCで横並び3列 */
}
[data-page="about/ir/jba-disclosure"] .c-richtext ul:has(> li > a[href^="#"]):not(:has(> li > a:not([href^="#"]))) > li + li {
  margin-top: 0;
}
@media (max-width: 768px) {
  [data-page="about/ir/jba-disclosure"] .c-richtext ul:has(> li > a[href^="#"]):not(:has(> li > a:not([href^="#"]))) {
    gap: 1.6rem 0;
  }
  [data-page="about/ir/jba-disclosure"] .c-richtext ul:has(> li > a[href^="#"]):not(:has(> li > a:not([href^="#"]))) > li {
    width: 100%; /* スマホは1列縦並び */
  }
}

[data-page="about/governance/security"] .c-richtext ul:has(> li > a[href^="#"]):not(:has(> li > a:not([href^="#"]))) {
  -moz-columns: auto;
       columns: auto; /* 既存のカラム(段組み)を解除 */
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem 3.2rem;
}
[data-page="about/governance/security"] .c-richtext ul:has(> li > a[href^="#"]):not(:has(> li > a:not([href^="#"]))) > li {
  width: auto; /* 幅を固定せず、テキストの長さで自然に収める */
  max-width: 100%;
}
[data-page="about/governance/security"] .c-richtext ul:has(> li > a[href^="#"]):not(:has(> li > a:not([href^="#"]))) > li + li {
  margin-top: 0;
}
@media (max-width: 768px) {
  [data-page="about/governance/security"] .c-richtext ul:has(> li > a[href^="#"]):not(:has(> li > a:not([href^="#"]))) {
    gap: 1.6rem 0;
  }
  [data-page="about/governance/security"] .c-richtext ul:has(> li > a[href^="#"]):not(:has(> li > a:not([href^="#"]))) > li {
    width: 100%;
  }
}

[data-page="about/sustainability/一般事業主行動計画"] .c-richtext ul:has(> li > a[href^="#"]):not(:has(> li > a:not([href^="#"]))) {
  -moz-columns: 2;
       columns: 2; /* 3列から2列に変更 */
}

.u-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

.pc {
  display: block;
}
@media (max-width: 768px) {
  .pc {
    display: none;
  }
}

.sp {
  display: none;
}
@media (max-width: 768px) {
  .sp {
    display: block;
  }
}/*# sourceMappingURL=style.css.map */