@charset "UTF-8";
:root {
  --black: #000000;
  --gray: #CBCBCB;
  --white: #ffffff;
  --yellow: #FFB710;
  --yellow-02: #FAF284;
  --blue: #0154A3;
  --blue-02: #BCD0FB;
  --blue-light: #EAF7FF;
  --jr-blue: #004FB2;
  --ms-blue: #B3F5F9;
  --ff-noto-sans: "Noto Sans JP", sans-serif;
  --ff-zenkaku: "Zen Kaku Gothic New", sans-serif;
  --ff-montserrat: "Montserrat", sans-serif;
  --ff-alata: "Alata", sans-serif;
}

html:has(.lpContents) {
  overflow-x: hidden;
  touch-action: manipulation;
}

#main_rn:has(.lpContents) {
  padding-top: calc(var(--variable-headerHeight) * 1px);
  padding-bottom: 0;
}
@media (max-width: 767px) {
  #main_rn:has(.lpContents) {
    /* padding-top: 5.4rem; */
    padding-top: 0;
  }
}
#main_rn:has(.lpContents)::before {
  content: unset;
}

#main_rn:has(.lpContents[data-page=top]) {
  background-image: linear-gradient(to right, var(--yellow) 50%, var(--blue) 50%);
}
#main_rn:has(.lpContents[data-page=top]) .lpContents > *:not(.splash, .deco) {
  opacity: 0;
}

html:has(.lpContents[data-page=top]) {
  overflow: clip;
}
html:has(.lpContents[data-page=top]).is-splashed {
  overflow: auto;
}

.lpContents {
  display: flex;
  flex-direction: column;
  position: relative;
}
.lpContents img:not([src*=".svg"]) {
  width: 100%;
  height: auto;
}
.lpContents img[src*=".svg"] {
  width: auto;
  height: auto;
}
.lpContents source {
  width: 0;
}
.lpContents::before {
  content: "";
  width: 100%;
  height: calc((var(--variable-headerHeight) + var(--variable-topicHeight)) * 1px);
  position: fixed;
  top: 0;
  background-color: var(--white);
}

.lpContents * {
  font-family: var(--ff-zenkaku);
  line-height: 1.65;
  letter-spacing: 0.01em;
  box-sizing: border-box;
  font-feature-settings: initial;
}

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

@media (max-width: 767px) {
  .hidden-sp {
    display: none;
  }
}

.bottom__wrap {
  position: relative;
  z-index: 0;
}

.hidden-visually {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
}

.nav {
  position: fixed;
  top: calc((var(--variable-headerHeight) + var(--variable-topicHeight)) * 1px);
  left: 0;
  z-index: 100;
  width: 100%;
}
@media (max-width: 767px) {
  .nav {
    height: 5.4rem;
  }
}
.nav picture {
  display: flex;
}

.lpContents[data-page=top] .nav {
  transform: translateY(calc(-100% - (var(--variable-topicHeight)) * 1px));
}
@media (max-width: 767px) {
  .lpContents[data-page=top] .nav {
    transform: translateY(0);
  }
}

.nav_inner {
  width: 100%;
  padding: 1rem 0.8rem;
  background-color: var(--white);
}

.nav_main {
  width: fit-content;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 11.6rem 1fr 11.6rem;
  justify-content: center;
  align-items: center;
  column-gap: 3.8rem;
}
@media (max-width: 767px) {
  .nav_main {
    grid-template-columns: 6.4rem 12rem 6.4rem;
    column-gap: 1.4rem;
  }
}

.nav_icon img {
  width: 100% !important;
}

.nav_label {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  row-gap: 1.2rem;
}
@media (max-width: 767px) {
  .nav_label {
    row-gap: 0.8rem;
  }
}
.nav_label img {
  width: 100% !important;
}

@media (max-width: 767px) {
  .nav_name {
    width: 10rem;
  }
}

.nav_toggle {
  position: absolute;
  top: 1rem;
  right: 0.8rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  column-gap: 2.6rem;
  width: 15rem;
  height: 6rem;
  padding: 1.4rem 2rem 1.4rem 1.4rem;
  background-color: var(--jr-blue);
  border-radius: 0.3rem;
}
@media (max-width: 900px) {
  .nav_toggle {
    width: 6rem;
    padding: 1.6rem;
  }
}
@media (max-width: 767px) {
  .nav_toggle {
    top: 0.6rem;
    right: 0.6rem;
    width: 3.6rem;
    height: 4.2rem;
    padding: 0.8rem;
  }
}
@media (any-hover: hover) {
  .nav_toggle:hover .nav_toggleLabel {
    opacity: 0.8;
  }
  .nav_toggle:hover .nav_toggleBar {
    opacity: 0.8;
  }
  .nav_toggle:hover .nav_toggleBar::before {
    transform: translateY(0.45rem);
  }
  .nav_toggle:hover .nav_toggleBar::after {
    transform: translateY(-0.45rem);
  }
}

.nav_toggleLabel {
  font-family: var(--ff-montserrat);
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
  color: var(--white);
  text-transform: uppercase;
  transition: opacity 0.3s ease-out;
}
@media (max-width: 900px) {
  .nav_toggleLabel {
    display: none;
  }
}

.nav_toggleBar {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  row-gap: 0.7rem;
  width: 4.4rem;
  transition: opacity 0.3s ease-out;
}
@media (max-width: 767px) {
  .nav_toggleBar {
    width: 2rem;
  }
}
.nav_toggleBar::before, .nav_toggleBar::after {
  content: "";
  display: block;
  width: 100%;
  height: 0.2rem;
  background-color: var(--white);
  transition: transform 0.3s ease-out;
}

.nav_menu {
  position: absolute;
  top: 1rem;
  right: 0.8rem;
  width: 26.4rem;
  padding-bottom: 0.8rem;
  background-color: #0078c9;
  border-radius: 0.3rem;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s ease-out, visibility 0.3s ease-out;
}
@media (max-width: 767px) {
  .nav_menu {
    top: 0.6rem;
    right: 0.6rem;
  }
}
.nav_menu.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.nav_close {
  width: fit-content;
  height: 6rem;
  display: grid;
  place-items: center;
  position: absolute;
  top: 0;
  right: 2rem;
  z-index: 2;
  transition: opacity 0.3s ease-out;
}
@media (max-width: 900px) {
  .nav_close {
    right: 1.6rem;
  }
}
@media (max-width: 767px) {
  .nav_close {
    right: 0.8rem;
    height: 4.2rem;
  }
}
@media (any-hover: hover) {
  .nav_close:hover {
    opacity: 0.8;
  }
}
.nav_close i {
  width: 4.4rem;
  height: 0.2rem;
  background-color: var(--white);
}
@media (max-width: 900px) {
  .nav_close i {
    width: 2.8rem;
  }
}
@media (max-width: 767px) {
  .nav_close i {
    width: 2rem;
  }
}

.nav_list {
  padding-top: 0.4rem;
  padding-left: 2.4rem;
  padding-right: 0.8rem;
}
.nav_list a {
  display: flex;
  text-decoration: none;
  position: relative;
}
.nav_list a > span {
  font-family: var(--ff-zenkaku);
  transition: opacity 0.3s ease-out;
}
@media (any-hover: hover) {
  .nav_list a:hover > span {
    opacity: 0.8;
  }
}

.nav_listItem:first-child > a {
  transform: translateX(-0.4rem);
}
.nav_listItem > a > span {
  display: flex;
  align-items: center;
  column-gap: 0.4rem;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.6;
  color: var(--white);
  padding-block: 1.6rem;
}
.nav_listItem > a > i {
  display: flex;
  justify-content: flex-end;
  width: 6.1rem;
  height: 0.9rem;
  overflow: hidden;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.nav_listItem > a > i::before {
  content: "";
  display: block;
  width: 4.1rem;
  height: 100%;
  background-image: url("../img/nav/arrow.svg");
  background-size: contain;
  background-repeat: no-repeat;
  transition: transform 0.3s ease-out, opacity 0.3s ease-out;
}
.nav_listItem > a > i::after {
  content: "";
  display: block;
  width: 4.1rem;
  height: 100%;
  background-image: url("../img/nav/arrow.svg");
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  transform: translateX(-6.1rem);
  opacity: 0;
  transition: transform 0.3s ease-out, opacity 0.3s ease-out;
}
.nav_listItem > a[target=_blank] > span::after {
  content: "";
  display: inline-block;
  width: 1.2rem;
  height: 1.2rem;
  background-image: url("../img/nav/icon_blank.svg");
  background-size: cover;
  background-repeat: no-repeat;
}
@media (any-hover: hover) {
  .nav_listItem > a:hover > i::before {
    transform: translateX(6.1rem);
    opacity: 0;
  }
  .nav_listItem > a:hover > i::after {
    transform: translateX(0);
    opacity: 1;
  }
}

.nav_listParent {
  margin-top: 0.8rem;
}

.nav_listLabel {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.6;
  color: var(--white);
  padding-block: 0.8rem;
}

.nav_listChildItem > a > span {
  display: flex;
  align-items: center;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.6;
  color: var(--white);
  padding-block: 0.8rem;
}
.nav_listChildItem > a > i {
  display: flex;
  justify-content: flex-end;
  width: 5rem;
  height: 0.9rem;
  overflow: hidden;
  position: absolute;
  top: 50%;
  right: 0.4rem;
  transform: translateY(-50%);
}
.nav_listChildItem > a > i::before {
  content: "";
  display: block;
  width: 3rem;
  height: 100%;
  background-image: url("../img/nav/arrow_short.svg");
  background-size: contain;
  background-repeat: no-repeat;
  transition: transform 0.3s ease-out, opacity 0.3s ease-out;
}
.nav_listChildItem > a > i::after {
  content: "";
  display: block;
  width: 3rem;
  height: 100%;
  background-image: url("../img/nav/arrow_short.svg");
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  transform: translateX(-5rem);
  opacity: 0;
  transition: transform 0.3s ease-out, opacity 0.3s ease-out;
}
@media (any-hover: hover) {
  .nav_listChildItem > a:hover > i::before {
    transform: translateX(5rem);
    opacity: 0;
  }
  .nav_listChildItem > a:hover > i::after {
    transform: translateX(0);
    opacity: 1;
  }
}

.end {
  position: relative;
  z-index: 1;
  display: grid;
  justify-content: center;
  align-content: center;
  aspect-ratio: 1440/420;
}
@media (max-width: 767px) {
  .end {
    aspect-ratio: 390/480;
  }
}

.end_title {
  display: flex;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
}
@media (max-width: 767px) {
  .end_title {
    width: 26.8rem;
  }
}

.end_deco {
  display: flex;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media (max-width: 767px) {
  .end_deco {
    flex-direction: column;
    opacity: 0;
  }
}

.end_decoItem {
  width: 50%;
  overflow: hidden;
  aspect-ratio: 720/500;
}
@media (max-width: 767px) {
  .end_decoItem {
    width: 100%;
    aspect-ratio: unset;
  }
}
.end_decoImage {
  display: flex;
}

.end_decoLabel {
  display: flex;
  align-items: flex-start;
  width: 5.1rem;
  position: absolute;
  bottom: 1.6rem;
  left: 2rem;
}
@media (max-width: 767px) {
  .end_decoLabel {
    width: 3.1rem;
    top: 1.2rem;
    right: 1rem;
    left: unset;
    transform-origin: right top;
  }
}
.end_decoLabel img {
  width: 100% !important;
}
.end_decoLabel.--right {
  top: 2.4rem;
  bottom: unset;
  left: unset;
  right: 2rem;
}
@media (max-width: 767px) {
  .end_decoLabel.--right {
    width: 2.5rem;
    top: unset;
    right: unset;
    left: 1rem;
    bottom: 1.2rem;
    transform-origin: left top;
  }
}

.stickyMenu {
  position: fixed;
  right: 8.6rem;
  bottom: 2.4rem;
  z-index: 1000;
  transition: opacity 0.2s ease-out, visibility 0.2s ease-out;
}
@media (max-width: 1400px) {
  .stickyMenu {
    right: 4.4rem;
  }
}
@media (max-width: 1300px) {
  .stickyMenu {
    display: none;
  }
}
.stickyMenu.is-hidden {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.stickyMenu_list {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
.stickyMenu_list > li a {
  display: flex;
  align-items: center;
  column-gap: 1.2rem;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.6;
  color: var(--white);
  text-decoration: none;
}
.stickyMenu_list > li a::before {
  content: "";
  display: block;
  width: 0.2rem;
  height: 1rem;
  background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.4) 30%, var(--white) 30%, var(--white) 50%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0.4) 80%, var(--white) 80%);
  background-size: 100% 200%;
  transition: background-position 0.3s ease-out;
}
@media (any-hover: hover) {
  .stickyMenu_list > li a:hover::before {
    background-position: 0 -100%;
  }
}

.splash {
  width: 100vw;
  height: calc(100vh - var(--variable-headerHeight) * 1px - var(--variable-spFixNaviHeight) * 1px);
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: calc(var(--variable-headerHeight) * 1px);
  left: 0;
  z-index: 9999;
}
@media screen and (min-width: 768px), print {
  .splash {
    min-width: 1180px;
  }
}

.splash_logo {
  --obi-position: 0%;
}
.splash_logo img {
  width: 100% !important;
}

.splash_name {
  display: flex;
  width: 23.2rem;
}
@media (max-width: 767px) {
  .splash_name {
    width: 16rem;
  }
}
.splash_name img {
  width: 100% !important;
}

.splash_main {
  display: grid;
  grid-template-columns: 13rem 1fr 13rem;
  justify-content: center;
  align-items: end;
  column-gap: 2.8rem;
}
@media (max-width: 767px) {
  .splash_main {
    grid-template-columns: 8rem 20rem 8rem;
    column-gap: 1.4rem;
  }
}

.splash_img {
  display: flex;
}
.splash_img:first-child {
  transform: translateX(100%);
  opacity: 0;
}
.splash_img:last-child {
  transform: translateX(-100%);
  opacity: 0;
}

.splash_head {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  row-gap: 2.4rem;
  overflow-x: clip;
  position: relative;
}
@media (max-width: 767px) {
  .splash_head {
    row-gap: 1.2rem;
  }
}
.splash_head::before {
  content: "";
  width: 150%;
  height: 150%;
  position: absolute;
  top: -25%;
  left: -25%;
  background-color: var(--white);
  clip-path: polygon(12.5% 0%, 100% 0%, 87.5% 100%, 0% 100%);
  transform: translateX(var(--obi-position));
  z-index: 10;
}

.splash_title {
  display: flex;
  width: 40.6rem;
  position: relative;
  --left-alpha: 1;
  --right-alpha: 1;
  --left-path: inset(0% 50% 0% 0%);
  --right-path: inset(0% 0% 0% 50%);
}
@media (max-width: 767px) {
  .splash_title {
    width: 100%;
  }
}
.splash_title::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-image: url("../img/fv/title.svg");
  background-size: contain;
  background-repeat: no-repeat;
  clip-path: var(--left-path);
  opacity: var(--left-alpha);
  z-index: 1;
}
.splash_title::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-image: url("../img/fv/title.svg");
  background-size: contain;
  background-repeat: no-repeat;
  clip-path: var(--right-path);
  opacity: var(--right-alpha);
  z-index: 1;
}

.splash_overlay {
  --left-path: inset(0% 0% 0% 0%);
  --right-path: inset(0% 0% 0% 0%);
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
}
@media screen and (min-width: 768px), print {
  .splash_overlay {
    min-width: 1180px;
  }
}
.splash_overlay::before {
  content: "";
  width: calc(50% + 1px);
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: var(--white);
  clip-path: var(--left-path);
  z-index: 1;
}
.splash_overlay::after {
  content: "";
  width: calc(50% + 1px);
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  background-color: var(--white);
  clip-path: var(--right-path);
  z-index: 1;
}

.fv {
  width: 100%;
  margin-top: 8rem;
  position: relative;
  z-index: 10;
}
@media (max-width: 767px) {
  .fv {
    margin-top: 0;
  }
}
.fv picture {
  display: flex;
}

.fv_lead.sp {
  display: none;
}
@media (max-width: 767px) {
  .fv_lead.sp {
    display: block;
    margin-top: var(--variable-decoElmHeight);
  }
}
@media (max-width: 767px) {
  .fv_lead.pc {
    display: none;
  }
}

.fv_leadTitle {
  margin-top: 6.4rem;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
  color: var(--white);
}

.fv_leadCont {
  margin-top: 2.4rem;
}

.fv_leadtext {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 1px;
  text-align: center;
  color: var(--white);
}

.fv_title {
  display: flex;
  width: 62.6rem;
  opacity: 0;
}
@media (max-width: 767px) {
  .fv_title {
    display: none !important;
  }
}
.fv_title img {
  width: 100% !important;
}

.fv_inner {
  padding-top: 4.4rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
@media (max-width: 767px) {
  .fv_inner {
    padding-top: 0;
  }
}

.fv_main {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  align-items: start;
  column-gap: 3.2rem;
  width: 100%;
  max-width: 88rem;
  margin-inline: auto;
  margin-top: 0.2rem;
}
@media (max-width: 767px) {
  .fv_main {
    display: block;
  }
}

.fv_news {
  padding: 3rem 4rem 3rem 3.6rem;
  background-color: var(--blue-light);
  border: 6px solid var(--white);
  border-radius: 2px;
}
@media (max-width: 767px) {
  .fv_news {
    padding: 4.8rem 3.2rem 0.4rem;
    margin-top: 12rem;
    border: none;
    border-radius: unset;
  }
}

.fv_newsFrame {
  max-height: 22.8rem;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
@media (max-width: 767px) {
  .fv_newsFrame {
    min-height: 10rem;
    max-height: 36rem;
  }
}
.fv_newsFrame::-webkit-scrollbar {
  display: none;
}
.fv_newsFrame .simplebar-scrollbar::before {
  background: var(--jr-blue);
  width: 0.5rem;
  border-radius: 0.5rem;
  opacity: 1;
  inset: 0;
}
.fv_newsFrame .simplebar-scrollbar.simplebar-visible::before {
  opacity: 1;
}
.fv_newsFrame .simplebar-track.simplebar-vertical {
  right: -3.2rem;
}
@media (max-width: 767px) {
  .fv_newsFrame .simplebar-track.simplebar-vertical {
    right: -1.2rem;
  }
}
.fv_newsFrame .simplebar-track {
  width: 0.5rem !important;
}

.fv_newsContainer {
  position: relative;
  display: flex;
  flex-direction: column-reverse;
  row-gap: 0.8rem;
}
.fv_newsContainer + .fv_newsContainer {
  margin-top: 2.8rem;
}
@media (max-width: 767px) {
  .fv_newsContainer + .fv_newsContainer {
    margin-top: 4rem;
  }
}

.fv_newsLink {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}
@media (any-hover: hover) {
  .fv_newsLink:hover + .fv_newsTitle {
    text-decoration-color: transparent;
  }
}
.fv_newsLink + .fv_newsTitle {
  color: #0078C9;
  text-decoration: underline;
  text-underline-position: under;
  transition: text-decoration-color 0.25s ease-out;
}
.fv_newsLink[target=_blank] + .fv_newsTitle {
  text-decoration-color: transparent;
}
.fv_newsLink[target=_blank] + .fv_newsTitle::after {
  content: "";
  display: inline-block;
  width: 1.2rem;
  height: 1.2rem;
  margin-left: 0.6rem;
  background-image: url("../img/fv/icon_brank.svg");
  background-repeat: no-repeat;
  background-size: contain;
}

.fv_newsTitle {
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.65;
  letter-spacing: 0.01em;
}

.fv_newsInfo {
  display: flex;
  align-items: center;
  column-gap: 1.4rem;
}

.fv_newsDate {
  font-family: var(--ff-montserrat);
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.65;
}

.fv_newsCat {
  min-width: 11.4rem;
  font-family: var(--ff-zenkaku);
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  text-align: center;
  letter-spacing: 0.02em;
  color: var(--white);
  background-color: #08538C;
  border-radius: 999px;
  padding: 0.55rem;
}

@media (max-width: 767px) {
  .fv_banner {
    padding: 8rem 4.8rem;
    background-color: var(--white);
  }
}

@media (max-width: 767px) {
  .fv_bannerSlider {
    padding-bottom: 0;
  }
}
.fv_bannerSlider.splide.is-single .splide__toggle {
  display: none;
}
.fv_bannerSlider .splide__track {
  background-color: var(--white);
  border: 6px solid var(--white);
  border-radius: 2px;
}
@media (max-width: 767px) {
  .fv_bannerSlider .splide__track {
    border-width: 4px;
  }
}
.fv_bannerLink {
  transition: opacity 0.25s ease-out;
}
@media (any-hover: hover) {
  .fv_bannerLink:hover {
    opacity: 0.8;
  }
}

.fv_bannerTools {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  column-gap: 1.6rem;
  margin-top: 1.2rem;
  padding-right: 0.5rem;
  padding-left: 0.8rem;
}
.fv_bannerTools .splide__pagination {
  position: static;
  width: fit-content;
  display: flex;
  flex-wrap: wrap;
  column-gap: 1.6rem;
  row-gap: 0.8rem;
}
.fv_bannerTools .splide__pagination > li {
  display: flex;
}
.fv_bannerTools .splide__pagination__page {
  width: 1rem;
  height: 1rem;
  margin: 0;
  border-radius: 50%;
  border: 1px solid var(--gray);
  background-color: var(--white);
  transition: background-color 0.25s ease-out;
}
@media (any-hover: hover) {
  .fv_bannerTools .splide__pagination__page:hover {
    background-color: var(--gray);
  }
}
.fv_bannerTools .splide__pagination__page.is-active {
  border-color: var(--black);
  background-color: var(--black);
}

.fv_bannerToggle {
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background-color: var(--black);
}
.fv_bannerToggle .splide__toggle__pause i {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 0.6rem;
  height: 0.7rem;
  position: relative;
}
.fv_bannerToggle .splide__toggle__pause i::before, .fv_bannerToggle .splide__toggle__pause i::after {
  content: "";
  display: block;
  width: 0.2rem;
  height: 0.7rem;
  background-color: var(--white);
}
.fv_bannerToggle .splide__toggle__play i {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 0.6rem;
  height: 0.7rem;
  position: relative;
  transform: translateX(1px);
}
.fv_bannerToggle .splide__toggle__play i::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: var(--white);
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
}

.deco {
  --deco-top-offset: 8rem;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  position: fixed;
  top: calc((var(--variable-headerHeight) + var(--variable-topicHeight)) * 1px + var(--deco-top-offset));
  left: 0;
  z-index: -1;
}
@media screen and (min-width: 768px), print {
  .deco {
    min-width: 1180px;
  }
}
@media (max-width: 767px) {
  .deco {
    --deco-top-offset: 5.4rem;
    flex-direction: column;
  }
}
.deco.is-end {
  position: absolute;
  top: unset;
  bottom: 0;
}

.deco_item {
  width: 50%;
  position: relative;
}
@media (max-width: 767px) {
  .deco_item {
    width: 100%;
  }
}
.deco_item.--right .deco_image {
  transform-origin: right top;
}
@media (max-width: 767px) {
  .deco_item.--right .deco_image {
    transform-origin: center top;
  }
}
.deco_item.--right .deco_label {
  width: 6.3rem;
  top: 3.6rem;
  right: 2rem;
  left: unset;
  transform-origin: right top;
  transform: translateY(-40px);
}
@media (max-width: 767px) {
  .deco_item.--right .deco_label {
    width: 2.5rem;
    top: unset;
    right: unset;
    left: 1rem;
    bottom: 1.2rem;
    transform-origin: left top;
  }
}

.deco_image {
  display: flex;
  width: 100%;
  transform-origin: left top;
}
@media (max-width: 767px) {
  .deco_image {
    transform-origin: center bottom;
  }
}

.deco_label {
  display: flex;
  width: 5.1rem;
  position: absolute;
  top: 40%;
  left: 2rem;
  transform-origin: left top;
  opacity: 0;
  transform: translateY(4rem);
}
@media (max-width: 767px) {
  .deco_label {
    width: 3.1rem;
    top: 1.2rem;
    right: 1rem;
    left: unset;
    transform-origin: right top;
  }
}
.deco_label img {
  width: 100% !important;
}

.deco_title {
  display: none;
}
@media (max-width: 767px) {
  .deco_title {
    display: flex;
    width: 26.8rem;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: 0;
    visibility: visible;
  }
}
.deco_title img {
  width: 100% !important;
}

.mainContents {
  width: 100%;
  position: relative;
  z-index: 10;
  margin-top: 16rem;
}
@media (max-width: 767px) {
  .mainContents {
    margin-top: 0;
    padding-inline: 1.8rem;
    padding-bottom: 8rem;
    background-color: var(--white);
  }
}

.mainContents_inner {
  display: grid;
  row-gap: 8rem;
  width: 100%;
  max-width: 87.2rem;
  margin-inline: auto;
}
@media (max-width: 767px) {
  .mainContents_inner {
    width: 100%;
  }
}

.mainContents_frame {
  padding: 4rem;
  background-color: var(--white);
  overflow: hidden;
  position: relative;
  border-radius: 2px;
}
@media (max-width: 767px) {
  .mainContents_frame {
    padding: 0;
    border-radius: 0;
    display: flex;
    flex-direction: column;
    row-gap: 1.6rem;
  }
}

.mainContents_rows {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

.mainContents_label.--project {
  display: flex;
  width: 12.6rem;
  position: absolute;
  top: 1rem;
  left: 0.9rem;
  z-index: 10;
}
@media (max-width: 767px) {
  .mainContents_label.--project {
    position: static;
    width: 8.4rem;
    margin-inline: auto;
  }
}
.mainContents_label.--interview {
  display: flex;
  width: 18rem;
  position: absolute;
  top: 3rem;
  left: 2.4rem;
  z-index: 10;
}
@media (max-width: 767px) {
  .mainContents_label.--interview {
    position: static;
    width: 12rem;
    margin-inline: auto;
  }
}
.mainContents_label.--column {
  display: none;
}
@media (max-width: 767px) {
  .mainContents_label.--column {
    display: block;
    width: 29.5rem;
    margin-inline: auto;
    margin-top: 2rem;
    margin-bottom: 3rem;
  }
  .mainContents_label.--column img {
    width: 100%;
  }
}

.mainContents_lead {
  display: contents;
}
@media (max-width: 767px) {
  .mainContents_lead {
    display: block;
    order: 2;
  }
}

.mainContents_leadItem {
  font-family: var(--ff-zenkaku);
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  background-color: var(--blue-light);
  position: absolute;
  z-index: 10;
}
@media (max-width: 767px) {
  .mainContents_leadItem {
    position: static;
    font-family: var(--ff-zenkaku);
    font-size: 1.4rem;
    line-height: 1.6;
    letter-spacing: 0.01em;
    text-align: center;
    color: var(--black);
    background-color: unset;
  }
}
@media (min-width: 768px) {
  .mainContents_leadItem.--horizontal {
    padding: 0.8rem 4.2rem 0.8rem 2.8rem;
    border-radius: 0 0 0 13.8px;
    top: 2rem;
    right: 1.6rem;
  }
}
@media (min-width: 768px) {
  .mainContents_leadItem.--vertical {
    writing-mode: vertical-rl;
    line-height: 1.25;
    letter-spacing: 3.75px;
    padding: 1.4rem 0.8rem 4rem 0.8rem;
    border-radius: 0 0 0 13.8px;
    top: 2rem;
    right: 1.6rem;
  }
}

.mainContents_link {
  text-decoration: none;
}
.mainContents_link.--bgYellow {
  background-color: var(--yellow-02);
}
.mainContents_link.--bgBlue {
  background-color: var(--blue-02);
}
.mainContents_link:has(.mainContents_head) {
  padding: 5.6rem 6.8rem 7rem;
  position: relative;
}
@media (max-width: 767px) {
  .mainContents_link:has(.mainContents_head) {
    padding: 2.5rem 2.2rem 1.4rem;
  }
}
.mainContents_link.--interview {
  display: flex;
  position: relative;
}
.mainContents_link.--interview::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 8.4rem;
  height: 17.4rem;
  background-color: #B6FBFF;
}
@media (max-width: 767px) {
  .mainContents_link.--interview::before {
    display: none;
  }
}
@media (any-hover: hover) {
  .mainContents_link.--interview:hover .mainContents_img img {
    transform: scale(1.1);
  }
}
.mainContents_link.--column {
  display: flex;
  position: relative;
}
@media (any-hover: hover) {
  .mainContents_link.--column:hover .mainContents_img img {
    transform: scale(1.1);
  }
}
.mainContents_link i {
  display: flex;
  justify-content: flex-end;
  width: 10rem;
  height: 5.5rem;
  padding-top: 1.4rem;
  overflow: hidden;
  background-color: var(--jr-blue);
  position: absolute;
  bottom: 1.4rem;
  right: 0;
}
@media (max-width: 767px) {
  .mainContents_link i {
    width: 5rem;
    height: 2.75rem;
    padding-top: 0.68rem;
  }
}
.mainContents_link i::before {
  content: "";
  display: block;
  width: 8.1rem;
  height: 1.8rem;
  background-image: url("../img/mainContents/arrow.svg");
  background-size: contain;
  background-position-y: center;
  background-repeat: no-repeat;
  transition: transform 0.3s ease-out, opacity 0.3s ease-out;
}
@media (max-width: 767px) {
  .mainContents_link i::before {
    width: 4.1rem;
    height: 0.9rem;
  }
}
.mainContents_link i::after {
  content: "";
  display: block;
  width: 8.1rem;
  height: 1.8rem;
  background-image: url("../img/mainContents/arrow.svg");
  background-size: contain;
  background-position-y: center;
  background-repeat: no-repeat;
  position: absolute;
  transform: translateX(-10rem);
  opacity: 0;
  transition: transform 0.3s ease-out, opacity 0.3s ease-out;
}
@media (max-width: 767px) {
  .mainContents_link i::after {
    width: 4.1rem;
    height: 0.9rem;
    transform: translateX(-5rem);
  }
}
.mainContents_link i.--out::before, .mainContents_link i.--out::after {
  rotate: -45deg;
  position: absolute;
  top: 2.8rem;
  right: 1.6rem;
}
@media (max-width: 767px) {
  .mainContents_link i.--out::before, .mainContents_link i.--out::after {
    top: 1.8rem;
    right: -0.4rem;
  }
}
@media (any-hover: hover) {
  .mainContents_link:hover .mainContents_img.--square {
    transform: scale(1.1);
  }
  .mainContents_link:hover.--bgYellow .mainContents_img.--square {
    transform: scale(1.2);
  }
  .mainContents_link:hover i::before {
    transform: translateX(5rem);
    opacity: 0;
  }
  .mainContents_link:hover i::after {
    transform: translateX(0);
    opacity: 1;
  }
}

.mainContents_img {
  overflow: hidden;
}
.mainContents_img.--square {
  margin-top: 1.76rem;
  display: flex;
  max-width: 24.5rem;
  margin-inline: auto;
  aspect-ratio: 1/1;
  overflow: hidden;
  transform-origin: center;
  transition: transform 0.3s ease-out;
}
@media (max-width: 767px) {
  .mainContents_img.--square {
    margin-top: 0.9rem;
    max-width: 12.25rem;
  }
}
.mainContents_img img {
  transition: transform 0.3s ease-out;
}

.mainContents_head {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  row-gap: 0.6rem;
}
@media (max-width: 767px) {
  .mainContents_head {
    row-gap: 0.25rem;
  }
}

.mainContents_headLead {
  font-size: 1.4rem;
  letter-spacing: 0.02em;
  color: var(--black);
}
@media (max-width: 767px) {
  .mainContents_headLead {
    font-size: 0.7rem;
  }
}

.mainContents_headName {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.6;
  color: var(--black);
}
@media (max-width: 767px) {
  .mainContents_headName {
    font-size: 0.9rem;
  }
}

.mainContents_columnHeading {
  display: none;
}
@media (max-width: 767px) {
  .mainContents_columnHeading {
    display: block;
    font-family: var(--ff-zenkaku);
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.6;
    text-align: center;
    color: var(--black);
    margin-top: 6.5rem;
    margin-bottom: 3.6rem;
  }
}

.mainContents_columnTtl {
  display: none;
}
@media (max-width: 767px) {
  .mainContents_columnTtl {
    display: block;
    font-family: var(--ff-zenkaku);
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.6;
    text-align: center;
    color: var(--black);
    margin-top: 1.6rem;
  }
}

.mainContents__wrap {
  width: 100%;
  max-width: 72rem;
  margin-top: 12rem;
  margin-inline: auto;
  padding-top: 11rem;
  aspect-ratio: 1/1;
  background-image: url("../img/wrapping/bg.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
@media (max-width: 767px) {
  .mainContents__wrap {
    margin-top: 8rem;
    padding-top: 4.8rem;
    padding-bottom: 4.8rem;
    background-image: unset;
    background-color: var(--white);
    border-radius: 1.6rem;
  }
}

.mainContents__wrapHead {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  row-gap: 1.6rem;
}

.mainContents__wrapHeadLabel {
  font-family: var(--ff-alata);
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.01em;
}

.mainContents__wrapHeadMain {
  width: fit-content;
  font-size: 2rem;
  font-weight: 700;
  line-height: 2.1;
  letter-spacing: 1px;
  color: var(--jr-blue);
  position: relative;
}
.mainContents__wrapHeadMain::before, .mainContents__wrapHeadMain::after {
  content: "";
  width: 2.7rem;
  height: 3.9rem;
  background-image: url("../img/wrapping/heading_border.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  bottom: 0.1rem;
}
.mainContents__wrapHeadMain::before {
  left: -4.4rem;
}
.mainContents__wrapHeadMain::after {
  right: -4.4rem;
  transform: scaleX(-1);
}

.mainContents__wrapCont {
  margin-top: 2.5rem;
  font-size: 1.6rem;
  line-height: 1.65;
  letter-spacing: 1px;
  text-align: center;
}
@media (max-width: 767px) {
  .mainContents__wrapCont {
    max-width: 32.4rem;
    margin-top: 1.6rem;
    margin-inline: auto;
    font-size: 1.4rem;
    text-align: left;
  }
}

.mainContents__wrapImage {
  display: flex;
  max-width: 52.4rem;
  margin-top: 1.2rem;
  margin-inline: auto;
}
@media (max-width: 767px) {
  .mainContents__wrapImage {
    max-width: 35.4rem;
    margin-top: 1.6rem;
  }
}

.mainContents__wrapNote {
  font-size: 1.2rem;
  text-align: center;
}
@media (max-width: 767px) {
  .mainContents__wrapNote {
    margin-top: 1.6rem;
  }
}

.message {
  width: fit-content;
  margin-inline: auto;
  margin-top: 16rem;
  margin-bottom: 19rem;
  padding-inline: 1.8rem;
}
@media (max-width: 767px) {
  .message {
    margin-top: 12rem;
    margin-bottom: 16rem;
  }
}

.message_content {
  font-family: var(--ff-zenkaku);
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 2.3;
  letter-spacing: 1px;
  text-align: center;
  color: var(--white);
}
@media (max-width: 767px) {
  .message_content {
    font-size: 1.6rem;
    line-height: 2;
    letter-spacing: 0.01em;
  }
}
.message_content + .message_content {
  margin-top: 4.2rem;
}
@media (max-width: 767px) {
  .message_content + .message_content {
    margin-top: 3.2rem;
  }
}

[data-page=project-500k] {
  background-color: #BCD0FB;
}

[data-page=project-t5] {
  background-color: rgba(250, 242, 132, 0.95);
}
[data-page=project-t5] .pNav_current {
  background-color: var(--yellow);
}
[data-page=project-t5] .pNav_current .pNav_text {
  color: var(--black);
}
[data-page=project-t5] .pFrame_note {
  margin-top: 6.8rem;
}
@media (max-width: 767px) {
  [data-page=project-t5] .pFrame_note {
    margin-top: 3.2rem;
  }
}

.pFrame {
  width: 100%;
  max-width: 136rem;
  margin-top: 8rem;
  margin-bottom: 16rem;
  margin-inline: auto;
  padding-inline: 2rem;
}
@media (max-width: 767px) {
  .pFrame {
    margin-top: 3.5rem;
    margin-bottom: 12rem;
    padding-inline: 0;
  }
}

.pFrame_inner {
  width: 100%;
  display: grid;
  grid-template-columns: max-content 104.8rem 6.4rem;
}
@media (max-width: 1360px) {
  .pFrame_inner {
    grid-template-columns: max-content minmax(0, 1fr) 6.4rem;
  }
}
@media (max-width: 767px) {
  .pFrame_inner {
    grid-template-columns: minmax(0, 1fr);
    padding-top: 5.4rem;
  }
}

.pFrame_heading {
  padding-top: 5.6rem;
  padding-inline: 5.4rem 6.6rem;
}
@media (max-width: 1360px) {
  .pFrame_heading {
    padding-left: 3.6rem;
  }
}
@media (max-width: 767px) {
  .pFrame_heading {
    grid-area: 1/1/2/2;
    padding-top: 0;
    padding-inline: 0;
  }
}

.pFrame_headingImage {
  position: sticky;
  top: calc(var(--variable-headerHeight) * 1px + 8rem + 5.6rem);
  left: 0;
  display: flex;
  width: 9.3rem;
}
@media (max-width: 767px) {
  .pFrame_headingImage {
    width: 23.6rem;
    margin-inline: auto;
    position: static;
  }
}

.pFrame_main {
  border-width: 0 4px 4px 4px;
  border-style: solid;
  border-color: var(--black);
  background-color: var(--white);
  padding-inline: 5.8rem;
  padding-bottom: 1.6rem;
}
@media (max-width: 767px) {
  .pFrame_main {
    grid-area: 3/1/4/2;
    border-width: 4px 0 4px 0;
    margin-top: -4px;
    padding-inline: 0;
  }
}

@media (max-width: 767px) {
  .pFrame_nav {
    grid-area: 2/1/3/2;
    position: relative;
    z-index: 1;
  }
}

.pFrame_sec {
  margin-top: 8rem;
}
@media (max-width: 767px) {
  .pFrame_sec {
    padding-inline: 1.8rem;
  }
}

.pFrame_copy {
  width: 7.5rem;
  position: absolute;
  left: 1.2rem;
  bottom: 1.2rem;
  z-index: 1;
}

.pFrame_note {
  margin-top: 5rem;
  font-family: var(--ff-noto-sans);
  font-size: 1.2rem;
  text-align: right;
}
@media (max-width: 767px) {
  .pFrame_note {
    margin-top: 3.2rem;
  }
}

.pNav {
  position: sticky;
  top: calc(var(--variable-headerHeight) * 1px + 8rem + 2rem);
  left: 0;
}
@media (max-width: 767px) {
  .pNav {
    margin-top: 1.5rem;
    position: static;
  }
}

.pNav_frame {
  display: grid;
  grid-template-rows: repeat(2, 24rem);
}
@media (max-width: 767px) {
  .pNav_frame {
    grid-template-rows: 1fr;
    grid-template-columns: repeat(2, 18rem);
    justify-content: center;
  }
}

.pNav_link {
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  border-width: 4px 4px 4px 0;
  border-style: solid;
  border-color: var(--black);
  background-color: var(--white);
  transition: background-color 0.3s ease-out;
}
@media (max-width: 767px) {
  .pNav_link {
    min-height: 6rem;
    border-width: 4px 4px 4px 4px;
  }
}
@media (any-hover: hover) {
  .pNav_link:hover {
    background-color: var(--blue-light);
  }
  .pNav_link:hover .pNav_text {
    color: var(--jr-blue);
  }
}

.pNav_current {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--blue);
}
@media (max-width: 767px) {
  .pNav_current {
    min-height: 6rem;
  }
}
.pNav_current .pNav_text {
  color: var(--white);
}

.pNav_text {
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 3px;
  writing-mode: vertical-rl;
  text-align: center;
  color: var(--black);
  transition: color 0.3s ease-out;
}
@media (max-width: 767px) {
  .pNav_text {
    font-size: 1.4rem;
    letter-spacing: 0.01em;
    writing-mode: horizontal-tb;
  }
}

.pInfo_mv {
  width: 100%;
  max-width: 92.4rem;
}

.pInfo_mvSlider {
  padding-bottom: 0;
}
.pInfo_mvSlider .splide__slide {
  display: flex;
  position: relative;
}

.pInfo_mvTools {
  display: none;
  column-gap: 1.6rem;
  margin-top: 1.6rem;
  padding-right: 3.4rem;
  padding-left: 3.4rem;
}
@media (max-width: 767px) {
  .pInfo_mvTools {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-right: 1.8rem;
    padding-left: 1.8rem;
  }
}
.pInfo_mvTools .splide__pagination {
  position: static;
  width: fit-content;
  display: flex;
  flex-wrap: wrap;
  column-gap: 1.6rem;
  row-gap: 0.8rem;
}
.pInfo_mvTools .splide__pagination > li {
  display: flex;
}
.pInfo_mvTools .splide__pagination__page {
  width: 1rem;
  height: 1rem;
  margin: 0;
  border-radius: 50%;
  border: 1px solid var(--gray);
  background-color: var(--white);
  transition: background-color 0.25s ease-out;
}
@media (any-hover: hover) {
  .pInfo_mvTools .splide__pagination__page:hover {
    background-color: var(--gray);
  }
}
.pInfo_mvTools .splide__pagination__page.is-active {
  border-color: var(--black);
  background-color: var(--black);
}

.pInfo_mvToggle {
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background-color: var(--black);
}
.pInfo_mvToggle .splide__toggle__pause i {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 0.6rem;
  height: 0.7rem;
  position: relative;
}
.pInfo_mvToggle .splide__toggle__pause i::before, .pInfo_mvToggle .splide__toggle__pause i::after {
  content: "";
  display: block;
  width: 0.2rem;
  height: 0.7rem;
  background-color: var(--white);
}
.pInfo_mvToggle .splide__toggle__play i {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 0.6rem;
  height: 0.7rem;
  position: relative;
  transform: translateX(1px);
}
.pInfo_mvToggle .splide__toggle__play i::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: var(--white);
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
}

.pInfo_mvThumb {
  margin-top: 0.8rem;
  padding-bottom: 0;
}
@media (max-width: 767px) {
  .pInfo_mvThumb {
    display: none;
  }
}
.pInfo_mvThumb .splide__list {
  justify-content: flex-end;
}
.pInfo_mvThumb .splide__slide {
  cursor: pointer;
  position: relative;
}
.pInfo_mvThumb .splide__slide:last-child {
  margin-right: 0 !important;
}
.pInfo_mvThumb .splide__slide::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 2px solid var(--jr-blue);
  box-sizing: border-box;
  opacity: 0;
  transition: opacity 0.25s ease-out;
}
@media (any-hover: hover) {
  .pInfo_mvThumb .splide__slide:hover::after {
    opacity: 1;
  }
}
.pInfo_mvThumb .splide__slide.is-active::after {
  opacity: 1;
}

.pInfo_mvProgress {
  width: 100%;
  height: 1rem;
  position: absolute;
  bottom: 0;
  left: 0;
}
.pInfo_mvProgress .splide__progress__bar {
  height: 1rem;
  background-color: var(--jr-blue);
}

.pInfo_sec {
  display: flex;
  column-gap: 6.6rem;
  margin-top: 4.8rem;
}
@media (max-width: 767px) {
  .pInfo_sec {
    flex-direction: column;
    row-gap: 4rem;
    margin-top: 4rem;
    padding-inline: 1.8rem;
  }
}

.pInfo_main {
  width: 57.1428571429%;
  max-width: 52.8rem;
  display: flex;
  flex-direction: column;
  row-gap: 1.6rem;
}
@media (max-width: 767px) {
  .pInfo_main {
    width: 100%;
    max-width: none;
  }
}

.pInfo_mainHeading {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.6;
}
@media (max-width: 767px) {
  .pInfo_mainHeading {
    font-size: 2.3rem;
  }
}

.pInfo_mainBody {
  display: flex;
  flex-direction: column;
  row-gap: 2.64rem;
}

.pInfo_mainText {
  font-family: "Noto Sans JP", sans-serif;
}

.pInfo_info {
  max-width: 33rem;
}
@media (max-width: 767px) {
  .pInfo_info {
    max-width: unset;
    padding-inline: 3rem;
  }
}

.pInfo_lead {
  font-size: 1.6rem;
  font-weight: 700;
  padding-bottom: 1.6rem;
  position: relative;
}
.pInfo_lead::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 4rem;
  height: 1px;
  background-color: var(--black);
}

.pInfo_list {
  margin-top: 1.6rem;
}

.pInfo_listItem {
  display: flex;
}
.pInfo_listItem.--marginTop {
  margin-top: 0.8rem;
}
.pInfo_listItem dt {
  flex-shrink: 0;
  min-width: 6em;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.65;
  position: relative;
}
.pInfo_listItem dt::after {
  content: "：";
  display: inline-block;
  font-weight: 400;
  position: absolute;
  right: 0;
}
.pInfo_listItem dt.--decoNone::after {
  display: none;
}
.pInfo_listItem dd {
  font-size: 1.4rem;
  line-height: 1.65;
}
.pInfo_listItem dd ul {
  width: 100%;
}

.pInfo_note {
  margin-top: 0.8rem;
  font-size: 1.2rem;
  line-height: 1.65;
}

.pInfo_img {
  display: flex;
  width: 100%;
  margin-top: 1.6rem;
}

.pHeading {
  display: flex;
  flex-direction: column-reverse;
  row-gap: 2.4rem;
  padding-bottom: 2.4rem;
  margin-bottom: 2.4rem;
  position: relative;
}
@media (max-width: 767px) {
  .pHeading {
    margin-bottom: 4rem;
  }
  .pHeading:has(+ .pHeading_lead) {
    margin-bottom: 2.4rem;
  }
}
.pHeading::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 4rem;
  height: 1px;
  background-color: var(--black);
}

.pHeading_main {
  font-size: 2.4rem;
  font-weight: 700;
}

.pHeading_label {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.2;
}

.pHeading_wrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
@media (max-width: 767px) {
  .pHeading_wrap {
    flex-direction: column;
    align-items: flex-start;
    row-gap: 0.8rem;
  }
}

.pHeading_lead {
  max-width: 26.4rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
}
@media (max-width: 767px) {
  .pHeading_lead {
    max-width: none;
  }
}

.pHistory {
  display: flex;
  column-gap: 2.4rem;
}

.pHistory_list {
  width: 71.4285714286%;
  max-width: 66rem;
  display: flex;
  flex-direction: column;
  row-gap: 2.4rem;
}
@media (max-width: 767px) {
  .pHistory_list {
    width: 100%;
    max-width: none;
  }
}

.pHistory_item {
  display: grid;
  grid-template-columns: 13.2rem 1fr;
}
@media (max-width: 767px) {
  .pHistory_item {
    grid-template-columns: none;
    grid-template-rows: repeat(2, max-content);
    row-gap: 0.8rem;
  }
}
.pHistory_item dt {
  font-weight: 700;
}
.pHistory_item dd .pHistory_detail {
  font-family: "Noto Sans JP", sans-serif;
}

.pHistory_itemWrap {
  display: contents;
}
@media (max-width: 767px) {
  .pHistory_itemWrap {
    display: flex;
    flex-direction: column;
    row-gap: 0.8rem;
  }
}
.pHistory_itemWrap .pHistory_imageItem {
  display: none;
}
@media (max-width: 767px) {
  .pHistory_itemWrap .pHistory_imageItem {
    display: flex;
  }
}

.pHistory_images {
  max-width: 24rem;
  display: flex;
  flex-direction: column;
  row-gap: 2.4rem;
}
@media (max-width: 767px) {
  .pHistory_images {
    display: none;
  }
}

.pHistory_imageItem {
  display: flex;
  flex-direction: column;
  row-gap: 0.8rem;
}
@media (max-width: 767px) {
  .pHistory_imageItem {
    flex-direction: row;
    column-gap: 1.6rem;
  }
}
.pHistory_imageItem picture {
  display: flex;
}

.pHistory_imageWrap {
  position: relative;
}
@media (max-width: 767px) {
  .pHistory_imageWrap {
    flex-shrink: 0;
    width: 20.8rem;
  }
}
.pHistory_imageWrap > img {
  left: 5px;
  bottom: 6px;
}

.pHistory_imageLabel {
  font-size: 1.2rem;
}

.pPoint {
  display: flex;
  column-gap: 2.4rem;
}

.pPoint_list {
  width: 71.4285714286%;
  max-width: 66rem;
  display: flex;
  flex-direction: column;
  row-gap: 2.4rem;
}
@media (max-width: 767px) {
  .pPoint_list {
    width: 100%;
    max-width: none;
    row-gap: 4rem;
  }
}

.pPoint_item {
  display: grid;
  row-gap: 0.8rem;
}
.pPoint_item dt {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.6;
}
.pPoint_item dd .pPoint_detail {
  font-family: "Noto Sans JP", sans-serif;
}

.pPoint_itemWrap {
  display: contents;
}
@media (max-width: 767px) {
  .pPoint_itemWrap {
    display: flex;
    flex-direction: column;
    row-gap: 3.2rem;
  }
}
.pPoint_itemWrap .pPoint_imageItem {
  display: none;
}
@media (max-width: 767px) {
  .pPoint_itemWrap .pPoint_imageItem {
    display: flex;
  }
}

.pPoint_images {
  max-width: 24rem;
  display: flex;
  flex-direction: column;
  row-gap: 2.4rem;
}
@media (max-width: 767px) {
  .pPoint_images {
    display: none;
  }
}

.pPoint_imageItem {
  display: flex;
  flex-direction: column;
  row-gap: 0.8rem;
}
@media (max-width: 767px) {
  .pPoint_imageItem {
    flex-direction: row;
    column-gap: 1.6rem;
  }
}
.pPoint_imageItem picture {
  display: flex;
}

.pPoint_imageWrap {
  position: relative;
}
@media (max-width: 767px) {
  .pPoint_imageWrap {
    flex-shrink: 0;
    width: 20.8rem;
  }
}
.pPoint_imageWrap > img {
  left: 5px;
  bottom: 6px;
}

.pPoint_imageLabel {
  font-size: 1.2rem;
}

.pView_wrap {
  display: flex;
  align-items: flex-start;
  column-gap: 6.6rem;
}
@media (max-width: 767px) {
  .pView_wrap {
    flex-direction: column;
    row-gap: 4rem;
  }
}
.pView_wrap .pView {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (max-width: 767px) {
  .pView_wrap .pView {
    grid-template-columns: minmax(0, 1fr);
  }
}

.pView {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 6.6rem;
  row-gap: 4rem;
}
@media (max-width: 767px) {
  .pView {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 4rem;
  }
}

.pView_item {
  display: flex;
  flex-direction: column;
  row-gap: 0.8rem;
}

.pView_img {
  display: flex;
}

.pView_label {
  font-size: 1.6rem;
  font-weight: 700;
}
@media (max-width: 767px) {
  .pView_label {
    letter-spacing: 0.02em;
  }
}

.pView_text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 300;
}

.pCollabo {
  padding: 4rem 6rem;
  background-color: #EAF7FF;
}
@media (max-width: 767px) {
  .pCollabo {
    width: 100vw;
    margin-top: 16rem;
    margin-left: -1.8rem;
    padding: 4rem 1.8rem;
  }
}

.pCollabo_heading {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
}

.pCollabo_text {
  font-family: "Noto Sans JP", sans-serif;
}

.pCollabo_images {
  margin-top: 3.4rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 2.4rem;
}
@media (max-width: 767px) {
  .pCollabo_images {
    margin-top: 4.8rem;
    grid-template-columns: minmax(0, 1fr);
    row-gap: 4rem;
  }
}

.pCollabo_imageItem {
  display: flex;
  flex-direction: column;
  row-gap: 0.8rem;
}
.pCollabo_imageItem picture {
  display: flex;
}
.pCollabo_imageItem picture img {
  width: 100%;
}

.pCollabo_imageWrap {
  position: relative;
}
.pCollabo_imageWrap > img {
  position: absolute;
  left: 8px;
  bottom: 12px;
}

.pCollabo_imageLabel {
  font-size: 1.6rem;
  font-weight: 700;
  text-align: center;
}

.pCollabo_imagesButton {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.8rem;
  background-color: var(--jr-blue);
  border-radius: 4px;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
  color: var(--white);
  text-decoration: none;
  transition: background-color 0.3s ease-out;
}
@media (any-hover: hover) {
  .pCollabo_imagesButton:hover {
    background-color: #0078c9;
  }
}

.mIndex {
  padding-top: 8rem;
  background-color: #E3F9FF;
  overflow-x: clip;
  position: relative;
  z-index: 0;
}
@media (max-width: 767px) {
  .mIndex {
    padding-top: 0;
  }
}
.mIndex::before {
  content: "";
  width: 100%;
  height: 100%;
  background-image: url("../img/message/index/bg.png");
  background-size: 96rem 48rem;
  background-position: left top;
  background-repeat: repeat;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
@media (max-width: 767px) {
  .mIndex::before {
    background-size: 72rem 36rem;
  }
}

.mIndex_inner {
  display: grid;
  grid-template-columns: 21.3rem minmax(0, 1fr);
  column-gap: 2.5rem;
  width: 100%;
  max-width: 1356px;
  margin: 0 auto;
  padding-inline: 2.6rem 1.8rem;
  padding-bottom: 13.7rem;
  position: relative;
}
@media (max-width: 767px) {
  .mIndex_inner {
    grid-template-columns: unset;
    row-gap: 5.4rem;
    padding-bottom: 12rem;
    padding-top: 5.4rem;
  }
}

.mIndex_headingTtl {
  display: flex;
  width: 100%;
  margin-inline: auto;
}
@media (max-width: 767px) {
  .mIndex_headingTtl {
    max-width: 35.4rem;
  }
}

.mIndex_headingLead {
  width: 14.8rem;
  position: fixed;
  right: 6rem;
  bottom: 3.2rem;
  z-index: 10;
  transition: opacity 0.3s ease-out;
}
@media (max-width: 767px) {
  .mIndex_headingLead {
    display: none;
  }
}
.mIndex_headingLead.is-hidden {
  opacity: 0;
  pointer-events: none;
}

.mIndex_list {
  max-width: 92rem;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(26rem, 1fr));
  column-gap: 7rem;
  row-gap: 7rem;
  margin-top: 10rem;
}
@media (max-width: 767px) {
  .mIndex_list {
    max-width: 28.8rem;
    grid-template-columns: unset;
    row-gap: 5.6rem;
    margin-top: 0;
    margin-inline: auto;
  }
}

.mIndex_itemFrame {
  all: unset;
  cursor: pointer;
  display: block;
  line-height: 1;
}
@media (any-hover: hover) {
  .mIndex_itemFrame:hover .mIndex_itemMain > i::before {
    transform: translateX(2.4rem) translateY(-2rem);
  }
  .mIndex_itemFrame:hover .mIndex_itemMain > i::after {
    opacity: 1;
    transform: translateX(2.4rem) translateY(-2rem);
  }
  .mIndex_itemFrame:hover .mIndex_itemImg img {
    transform: scale(1);
  }
}

.mIndex_ItemLabel {
  font-family: var(--ff-alata);
  font-size: 1.2rem;
  letter-spacing: 0.02em;
}
@media (max-width: 767px) {
  .mIndex_ItemLabel {
    font-size: 1.34rem;
  }
}
.mIndex_ItemLabel > b {
  font-weight: 600;
}

.mIndex_itemMain {
  position: relative;
  margin-top: 0.4rem;
}
@media (max-width: 767px) {
  .mIndex_itemMain {
    margin-top: 0.6rem;
  }
}
.mIndex_itemMain > i {
  display: flex;
  width: 5rem;
  height: 2.5rem;
  background-color: var(--blue);
  position: absolute;
  right: -0.4rem;
  bottom: -1rem;
  overflow: hidden;
}
.mIndex_itemMain > i::before, .mIndex_itemMain > i::after {
  content: "";
  width: 2.3rem;
  height: 1.7rem;
  background-image: url("../img/message/index/arrow.svg");
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  right: 0;
  bottom: 0;
  transition: transform 0.2s ease-out, opacity 0.2s ease-out;
}
.mIndex_itemMain > i::after {
  right: 2.4rem;
  bottom: -2rem;
  opacity: 0;
}

.mIndex_itemTtl {
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.6;
  display: inline;
  background-image: linear-gradient(to bottom, transparent 2%, var(--white) 2%, var(--white) 98%, transparent 98%);
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
@media (max-width: 767px) {
  .mIndex_itemTtl {
    font-size: 1.56rem;
  }
}

.mIndex_itemImg {
  display: flex;
  aspect-ratio: 260/146;
  border-radius: 0.4rem;
  overflow: hidden;
}
.mIndex_itemImg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform-origin: center;
  transform: scale(1.1);
  transition: transform 0.3s ease-out;
}

.mIndex_itemTag {
  width: fit-content;
  margin-top: 1.2rem;
  margin-bottom: 1.2rem;
  display: flex;
  align-items: center;
  padding-inline: 1.2rem 0.4rem;
  background-color: var(--white);
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0;
  position: relative;
}
@media (max-width: 767px) {
  .mIndex_itemTag {
    font-size: 1.35rem;
  }
}
.mIndex_itemTag > span {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.65;
}
@media (max-width: 767px) {
  .mIndex_itemTag > span {
    font-size: 1rem;
  }
}
.mIndex_itemTag::before {
  content: "";
  display: flex;
  width: 0.4rem;
  height: 0.4rem;
  border-radius: 0.4rem;
  background-color: #00889A;
  position: absolute;
  left: 0.4rem;
  top: 50%;
  transform: translateY(-50%);
}

@media screen and (min-width: 768px), print {
  .mDetail {
    min-width: 1180px;
  }
}
.mDetail img:not([src*=".svg"]) {
  width: 100%;
  height: auto;
}
.mDetail img[src*=".svg"] {
  width: auto;
  height: auto;
}
.mDetail source {
  width: 0;
}

.mDetail * {
  font-family: var(--ff-zenkaku);
  line-height: 1.65;
  letter-spacing: 0.01em;
  box-sizing: border-box;
  font-feature-settings: initial;
}

.mDetail {
  width: 100vw;
  height: 100vh;
  overflow-y: auto;
  overflow-x: clip;
  overscroll-behavior: none;
  font-feature-settings: initial;
  position: fixed;
  top: 0;
  left: 0;
  background-color: var(--white);
  z-index: 99999;
  transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
}
.mDetail.is-noTransition {
  transition: none;
}
.mDetail[data-status=close] {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.mDetail[data-status=open] {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.mDetail_inner {
  min-width: 100vw;
  min-height: 100vh;
  background-color: #D1F5F8;
}
@media screen and (min-width: 768px), print {
  .mDetail_inner {
    padding: 5.6rem 6rem;
    background-image: url("../img/message/detail/bg.png");
    background-size: 96rem 48rem;
    background-position: left top;
    background-repeat: repeat;
  }
}

.mDetail_close {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 10rem;
  height: 10rem;
  background-color: var(--white);
  cursor: pointer;
  opacity: 0;
}
@media (max-width: 767px) {
  .mDetail_close {
    width: 6rem;
    height: 6rem;
  }
}
.mDetail_close i {
  position: absolute;
  width: 5rem;
  height: 0.2rem;
  background-color: var(--black);
}
@media (max-width: 767px) {
  .mDetail_close i {
    width: 3rem;
    height: 0.1rem;
  }
}
.mDetail_close i:first-child {
  transform: rotate(45deg);
}
.mDetail_close i:last-child {
  transform: rotate(-45deg);
}

.mDetail_nav {
  position: fixed;
  top: 10.4rem;
  right: 0;
  z-index: 10;
  opacity: 1;
  transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
}
@media (max-width: 767px) {
  .mDetail_nav {
    top: 6.2rem;
  }
}
.mDetail_nav.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.mDetail_next {
  display: flex;
  width: 10rem;
  height: 6rem;
}
@media (max-width: 767px) {
  .mDetail_next {
    width: 6rem;
    height: 3.5rem;
  }
}
.mDetail_next i {
  display: flex;
  justify-content: flex-end;
  width: 10rem;
  height: 6rem;
  padding-top: 1.4rem;
  overflow: hidden;
  background-color: var(--jr-blue);
  position: relative;
}
@media (max-width: 767px) {
  .mDetail_next i {
    padding-top: 1.1rem;
    width: 6rem;
    height: 3.5rem;
  }
}
.mDetail_next i::before {
  content: "";
  display: block;
  width: 8.1rem;
  height: 1.8rem;
  background-image: url("../img/mainContents/arrow.svg");
  background-size: contain;
  background-position-y: center;
  background-repeat: no-repeat;
  transition: transform 0.3s ease-out, opacity 0.3s ease-out;
}
@media (max-width: 767px) {
  .mDetail_next i::before {
    width: 4.7rem;
    height: 1.1rem;
  }
}
.mDetail_next i::after {
  content: "";
  display: block;
  width: 8.1rem;
  height: 1.8rem;
  background-image: url("../img/mainContents/arrow.svg");
  background-size: contain;
  background-position-y: center;
  background-repeat: no-repeat;
  position: absolute;
  transform: translateX(-10rem);
  opacity: 0;
  transition: transform 0.3s ease-out, opacity 0.3s ease-out;
}
@media (max-width: 767px) {
  .mDetail_next i::after {
    width: 4.7rem;
    height: 1.1rem;
    transform: translateX(-5rem);
  }
}
@media (any-hover: hover) {
  .mDetail_next:hover i::before {
    transform: translateX(5rem);
    opacity: 0;
  }
  .mDetail_next:hover i::after {
    transform: translateX(0);
    opacity: 1;
  }
}

.mDetail_prev {
  margin-top: 0.35rem;
  display: flex;
  width: 10rem;
  height: 6rem;
}
@media (max-width: 767px) {
  .mDetail_prev {
    margin-top: 0.2rem;
    width: 6rem;
    height: 3.5rem;
  }
}
.mDetail_prev i {
  display: flex;
  justify-content: flex-end;
  width: 10rem;
  height: 6rem;
  padding-top: 1.4rem;
  overflow: hidden;
  background-color: var(--jr-blue);
  transform: scaleX(-1);
  position: relative;
}
@media (max-width: 767px) {
  .mDetail_prev i {
    padding-top: 1.1rem;
    width: 6rem;
    height: 3.5rem;
  }
}
.mDetail_prev i::before {
  content: "";
  display: block;
  width: 8.1rem;
  height: 1.8rem;
  background-image: url("../img/mainContents/arrow.svg");
  background-size: contain;
  background-position-y: center;
  background-repeat: no-repeat;
  transition: transform 0.3s ease-out, opacity 0.3s ease-out;
}
@media (max-width: 767px) {
  .mDetail_prev i::before {
    width: 4.7rem;
    height: 1.1rem;
  }
}
.mDetail_prev i::after {
  content: "";
  display: block;
  width: 8.1rem;
  height: 1.8rem;
  background-image: url("../img/mainContents/arrow.svg");
  background-size: contain;
  background-position-y: center;
  background-repeat: no-repeat;
  position: absolute;
  transform: translateX(-10rem);
  opacity: 0;
  transition: transform 0.3s ease-out, opacity 0.3s ease-out;
}
@media (max-width: 767px) {
  .mDetail_prev i::after {
    width: 4.7rem;
    height: 1.1rem;
    transform: translateX(-5rem);
  }
}
@media (any-hover: hover) {
  .mDetail_prev:hover i::before {
    transform: translateX(5rem);
    opacity: 0;
  }
  .mDetail_prev:hover i::after {
    transform: translateX(0);
    opacity: 1;
  }
}

.mDetail_body {
  width: 100%;
  min-height: calc(100vh - 11.2rem);
  background-color: #E3F9FF;
  padding: 11.8rem 6rem 16rem;
  border-radius: 0.8rem;
  position: relative;
  opacity: 0;
}
@media (max-width: 767px) {
  .mDetail_body {
    min-height: unset;
    padding: 10rem 1.8rem 16rem;
  }
}

.mDetail_ttl {
  display: flex;
  width: 18rem;
  position: absolute;
  left: 0;
  top: -5.6rem;
  opacity: 0;
  transform: translateY(1rem);
}
@media screen and (max-width: 1360px), print {
  .mDetail_ttl {
    display: none;
  }
}
@media (max-width: 767px) {
  .mDetail_ttl {
    display: block;
    width: 15.1rem;
    top: 0;
    transform: translateX(-1rem);
  }
}

.mDetail_container {
  max-width: 105.8rem;
  margin-inline: auto;
  padding-top: 1rem;
  padding-right: 1rem;
  padding-left: 6.4rem;
  overflow: hidden;
}
@media (max-width: 767px) {
  .mDetail_container {
    padding-inline: 0;
    overflow: visible;
  }
}
.mDetail_container.is-slideOut .mDetail_main {
  opacity: 0;
  transform: translateX(calc(var(--slide-dir, 1) * -20%));
}
.mDetail_container.is-slideIn .mDetail_main {
  opacity: 0;
  transform: translateX(calc(var(--slide-dir, 1) * 20%));
  transition: none;
}

.mDetail_main {
  display: grid;
  grid-template-columns: 4fr 3fr;
  column-gap: 6rem;
  transition: transform 0.45s ease, opacity 0.45s ease;
}
@media (max-width: 767px) {
  .mDetail_main {
    display: flex;
    flex-direction: column;
  }
}

@media (max-width: 767px) {
  .mDetail_wrapper {
    display: contents;
  }
}

@media (max-width: 767px) {
  .mDetail_heading {
    order: -2;
  }
}

.mDetail_headingLabel {
  display: flex;
  align-items: center;
  column-gap: 0.1rem;
  height: 4.3rem;
  margin-bottom: 1rem;
}
@media (max-width: 767px) {
  .mDetail_headingLabel {
    margin-bottom: 0.6rem;
  }
}
.mDetail_headingLabel > span {
  font-family: var(--ff-alata);
  font-size: 1.4rem;
  letter-spacing: 0.02em;
}
.mDetail_headingLabel > span:not(:last-child) {
  display: flex;
  align-items: center;
  column-gap: 0.1rem;
  padding-right: 3rem;
  position: relative;
}
.mDetail_headingLabel > span:not(:last-child)::after {
  content: "";
  display: inline-block;
  width: 0.1rem;
  height: 5.18652rem;
  border-radius: 999px;
  background-color: var(--black);
  position: absolute;
  top: 50%;
  right: 1.5rem;
  transform: translateY(-50%) rotate(34deg);
}

.mDetail_headingTtl {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.6;
  display: inline;
  background-image: linear-gradient(to bottom, transparent 20%, #70D9DF 20%, #70D9DF 88%, transparent 88%);
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
@media (max-width: 767px) {
  .mDetail_headingTtl {
    font-size: 2rem;
    line-height: 1.8;
    letter-spacing: 0.02em;
    background-image: linear-gradient(to bottom, transparent 10%, #70D9DF 10%, #70D9DF 95%, transparent 95%);
  }
}

.mDetail_headingTag {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.6;
  padding-top: 1.5rem;
  margin-top: 1.5rem;
  position: relative;
}
@media (max-width: 767px) {
  .mDetail_headingTag {
    margin-top: 2rem;
    padding-top: 1.5rem;
    font-size: 1.4rem;
  }
}
.mDetail_headingTag::before {
  content: "";
  width: 6.4rem;
  height: 0.1rem;
  background-color: var(--black);
  position: absolute;
  top: 0;
  left: 0;
}
.mDetail_headingTag > span {
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.65;
}

.mDetail_sec {
  margin-top: 8rem;
}
.mDetail_sec + .mDetail_sec {
  margin-top: 12rem;
}

.mDetail_secHead {
  margin-bottom: 1.6rem;
  padding-block: 0.8rem;
  border-block: 1px dashed var(--black);
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.6;
}
@media (max-width: 767px) {
  .mDetail_secHead {
    font-size: 1.4rem;
    line-height: 1.65;
    letter-spacing: 0.02em;
  }
}

.mDetail_secTtl {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.6;
  display: inline;
  background-image: linear-gradient(to bottom, transparent 18%, var(--white) 18%, var(--white) 88%, transparent 88%);
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
@media (max-width: 767px) {
  .mDetail_secTtl {
    font-size: 2rem;
    line-height: 1.65;
    letter-spacing: 0.02em;
    background-image: linear-gradient(to bottom, transparent 12%, var(--white) 12%, var(--white) 95%, transparent 95%);
  }
}
.mDetail_secTtl + .mDetail_secText {
  margin-top: 1.6rem;
}

.mDetail_secCont {
  margin-top: 4rem;
}
.mDetail_secCont > * + * {
  margin-top: 1.6rem;
}

.mDetail_secQuestion {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.6;
  padding: 0.4rem 0 0.4rem 4.8rem;
  position: relative;
}
@media (max-width: 767px) {
  .mDetail_secQuestion {
    font-size: 1.6rem;
    line-height: 1.65;
    letter-spacing: 0.02em;
    padding: 5.2rem 0 0;
  }
}
.mDetail_secQuestion::before {
  content: "Q.";
  font-family: var(--ff-alata);
  font-size: 2.4rem;
  line-height: 1;
  letter-spacing: 0.02em;
  position: absolute;
  top: 0;
  left: 0;
}
.mDetail_secQuestion::after {
  content: "";
  width: 2rem;
  height: 0.2rem;
  background-color: var(--black);
  position: absolute;
  top: 3.5rem;
  left: 0;
}

.mDetail_secText {
  font-family: var(--ff-noto-sans);
  font-size: 1.5rem;
  font-weight: 300;
  line-height: 1.8;
}
@media (max-width: 767px) {
  .mDetail_secText {
    font-size: 1.4rem;
  }
}
.mDetail_secText .--note {
  display: block;
  margin-top: 0.4rem;
  font-size: 1.2rem;
  font-weight: 300;
  line-height: 1.5;
  padding-left: 1em;
  text-indent: -1em;
}
.mDetail_secText sup {
  font-size: 1.2rem;
  vertical-align: super;
}

.mDetail_secImg {
  position: relative;
}
.mDetail_secImg picture {
  display: flex;
}

.mDetail_secImgCopy {
  position: absolute;
  left: 0.6rem;
  bottom: 0.6rem;
}

.mDetail_note {
  padding: 3.2rem 2.2rem;
  border: 1px solid #A5E4E6;
  border-radius: 0.4rem 1.6rem 3.2rem 0.4rem;
  background-color: var(--white);
}
@media (max-width: 767px) {
  .mDetail_note {
    padding: 3.2rem 2.8rem 3.2rem 2.2rem;
  }
}

.mDetail_noteFrame {
  display: flex;
  align-items: flex-start;
  column-gap: 1.6rem;
}

.mDetail_noteLabel {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  font-family: var(--ff-alata);
  font-size: 1.6rem;
  line-height: 1.65;
  letter-spacing: 0.02em;
  writing-mode: vertical-rl;
}
.mDetail_noteLabel::before {
  content: "";
  display: flex;
  width: 0.4rem;
  height: 0.4rem;
  border-radius: 0.4rem;
  background-color: #00889A;
  margin-bottom: 0.7rem;
  margin-right: 0.4rem;
}
.mDetail_noteLabel::after {
  content: "";
  display: flex;
  width: 0.1rem;
  height: 5.4rem;
  background-color: var(--black);
  margin-top: 1.4rem;
  margin-right: 0.6rem;
}

.mDetail_noteBody {
  max-width: 42.1rem;
}

.mDetail_noteTtl {
  font-size: 1.6rem;
  font-weight: 700;
}

.mDetail_noteText {
  margin-top: 1.6rem;
  font-family: var(--ff-noto-sans);
  font-size: 1.4rem;
  font-weight: 300;
  line-height: 1.8;
}

@media (max-width: 767px) {
  .mDetail_prof {
    order: -1;
    margin-top: 3rem;
  }
}

.mDetail_profWrap {
  position: relative;
}

.mDetail_name {
  width: 10.6rem;
  height: 11rem;
  position: absolute;
  top: 0;
  left: 0;
}
.mDetail_name::before {
  content: "";
  width: 15.276rem;
  height: 0.2rem;
  background-color: var(--black);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-46deg);
}

.mDetail_nameText {
  font-size: 1.4rem;
  font-weight: 700;
  padding-top: 0.4rem;
}
.mDetail_nameText > span {
  font-size: 2rem;
}
.mDetail_nameText > strong {
  font-size: 2.8rem;
}

.mDetail_image {
  display: flex;
  width: 33rem;
}
@media (max-width: 767px) {
  .mDetail_image {
    width: 84.6153846154vw;
  }
}

.mDetail_bubble {
  display: flex;
  width: 15.3rem;
  position: absolute;
  top: 0;
  right: 0;
}
@media (max-width: 767px) {
  .mDetail_bubble {
    width: 16rem;
    top: 0.8rem;
    right: -3.8rem;
  }
}
.mDetail_bubble img {
  width: 100% !important;
  height: auto !important;
}

.mDetail_position {
  display: flex;
  flex-direction: column;
  row-gap: 0.7rem;
  position: absolute;
  top: calc(50% - 1.6rem);
  left: 0;
  transform: translateY(-50%);
}

.mDetail_positionLabel {
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.6;
}

.mDetail_positionText {
  font-family: var(--ff-noto-sans);
  font-size: 1.2rem;
  font-weight: 300;
}

.mDetail_profCont {
  max-width: 33rem;
  font-family: var(--ff-noto-sans);
  font-size: 1.2rem;
  font-weight: 300;
  line-height: 1.8;
}
@media (max-width: 767px) {
  .mDetail_profCont {
    max-width: 100%;
  }
}

.mDetail_list {
  padding-bottom: 18.3rem;
}
@media (max-width: 767px) {
  .mDetail_list {
    padding-bottom: 16rem;
  }
}

.mDetail_listTtl {
  display: flex;
  width: 36.5rem;
}
@media (max-width: 767px) {
  .mDetail_listTtl {
    width: 23.2rem;
  }
}

.mDetail_listSlider {
  margin-top: 3rem;
}
@media (max-width: 767px) {
  .mDetail_listSlider {
    margin-top: 2.4rem;
  }
}
.mDetail_listSlider .splide__arrows {
  display: flex;
  column-gap: 3rem;
  position: absolute;
  top: -12rem;
  right: 12.4rem;
}
@media (max-width: 767px) {
  .mDetail_listSlider .splide__arrows {
    position: static;
    justify-content: center;
    margin-top: 9.6rem;
  }
}
.mDetail_listSlider .splide__arrows .splide__arrow {
  display: flex;
  width: 5.2rem;
  transition: opacity 0.3s ease-out;
}
@media (any-hover: hover) {
  .mDetail_listSlider .splide__arrows .splide__arrow:hover {
    opacity: 0.8;
  }
}
.mDetail_listSlider .splide__arrows .splide__arrow:nth-child(2) {
  transform: scaleX(-1);
}

.mDetail_listFrame {
  width: 100%;
  display: flex;
  flex-direction: column;
  color: inherit;
  text-decoration: none;
  transform: translateX(6rem);
}
@media (max-width: 767px) {
  .mDetail_listFrame {
    transform: unset;
  }
}
@media (any-hover: hover) {
  .mDetail_listFrame:hover .mDetail_listThumb {
    display: flex;
    position: relative;
  }
  .mDetail_listFrame:hover .mDetail_listThumb picture img {
    transform: scale(1);
  }
  .mDetail_listFrame:hover .mDetail_listThumb i::before {
    transform: translateX(5rem);
    opacity: 0;
  }
  .mDetail_listFrame:hover .mDetail_listThumb i::after {
    transform: translateX(0);
    opacity: 1;
  }
}

.mDetail_listTag {
  width: fit-content;
  margin-left: auto;
  display: flex;
  align-items: center;
  column-gap: 0.4rem;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0;
  white-space: nowrap;
}
.mDetail_listTag > span span {
  font-size: 1.1rem;
  font-weight: 400;
  line-height: 1.65;
}
.mDetail_listTag::before {
  content: "";
  display: flex;
  width: 0.4rem;
  height: 0.4rem;
  border-radius: 0.4rem;
  background-color: #00889A;
}

.mDetail_listMain {
  margin-top: 1.2rem;
  padding-left: 6.4rem;
  position: relative;
  z-index: 0;
}
.mDetail_listMain::before {
  content: "";
  width: 8.2rem;
  height: 0.2rem;
  background-color: var(--black);
  position: absolute;
  top: -1rem;
  left: 3.2rem;
  transform: rotate(-50deg);
  transform-origin: bottom right;
}

.mDetail_listWrap {
  position: absolute;
  top: -1.4rem;
  left: 0;
  z-index: 1;
}

.mDetail_listName {
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.mDetail_listName > span {
  font-size: 2rem;
}
.mDetail_listName > strong {
  font-size: 2.8rem;
}

.mDetail_listThumb {
  display: flex;
  position: relative;
  z-index: -1;
}
.mDetail_listThumb picture {
  display: flex;
  aspect-ratio: 260/133;
  overflow: hidden;
}
.mDetail_listThumb picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1.1111);
  transform-origin: center;
  transition: transform 0.3s ease-out;
}
.mDetail_listThumb i {
  display: flex;
  justify-content: flex-end;
  width: 6.4rem;
  height: 3.8rem;
  padding-top: 0.9rem;
  overflow: hidden;
  background-color: var(--jr-blue);
  position: absolute;
  right: 0;
  bottom: 0;
}
.mDetail_listThumb i::before {
  content: "";
  display: block;
  width: 5rem;
  height: 1.1rem;
  background-image: url("../img/message/detail/list/arrow_w.svg");
  background-size: contain;
  background-position-y: center;
  background-repeat: no-repeat;
  transition: transform 0.3s ease-out, opacity 0.3s ease-out;
}
.mDetail_listThumb i::after {
  content: "";
  display: block;
  width: 5rem;
  height: 1.1rem;
  background-image: url("../img/message/detail/list/arrow_w.svg");
  background-size: contain;
  background-position-y: center;
  background-repeat: no-repeat;
  position: absolute;
  transform: translateX(-10rem);
  opacity: 0;
  transition: transform 0.3s ease-out, opacity 0.3s ease-out;
}

.mDetail_listHeading {
  margin-top: 2rem;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: left;
}

.mDetail_listBack {
  display: flex;
  justify-content: center;
  width: 100%;
  max-width: 52.8rem;
  margin-top: 8.8rem;
  margin-inline: auto;
  padding: 1.6rem;
  background-color: var(--jr-blue);
  position: relative;
}
@media (max-width: 767px) {
  .mDetail_listBack {
    margin-top: 5.6rem;
    max-width: 29.5rem;
  }
}
.mDetail_listBack i {
  display: flex;
  justify-content: flex-end;
  width: 5.4rem;
  padding-top: 2rem;
  padding-right: 0.5rem;
  overflow: hidden;
  background-color: var(--jr-blue);
  transform: scaleX(-1);
  position: absolute;
  top: 0;
  left: 0;
}
.mDetail_listBack i::before {
  content: "";
  display: block;
  width: 5rem;
  height: 1.1rem;
  background-image: url("../img/message/detail/list/arrow_w.svg");
  background-size: contain;
  background-position-y: center;
  background-repeat: no-repeat;
  transition: transform 0.3s ease-out, opacity 0.3s ease-out;
}
.mDetail_listBack i::after {
  content: "";
  display: block;
  width: 5rem;
  height: 1.1rem;
  background-image: url("../img/message/detail/list/arrow_w.svg");
  background-size: contain;
  background-position-y: center;
  background-repeat: no-repeat;
  position: absolute;
  transform: translateX(-10rem);
  opacity: 0;
  transition: transform 0.3s ease-out, opacity 0.3s ease-out;
}
.mDetail_listBack span {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
  color: var(--white);
}
@media (any-hover: hover) {
  .mDetail_listBack:hover i::before {
    transform: translateX(5rem);
    opacity: 0;
  }
  .mDetail_listBack:hover i::after {
    transform: translateX(0);
    opacity: 1;
  }
}

.topicPathWrap {
  background-color: var(--white);
  position: relative;
  z-index: 101;
}