@charset "utf-8";

:root {
  --font-ja: "Zen Kaku Gothic New", sans-serif;
  --font-en: "Lexend", sans-serif;
  --color-text-blue: #213D61;
  --color-arrow: #1F64B9;
  --section-inner-padding: 30px;
  --color-bg: #81A2CC;
  --mv-anime-ease: cubic-bezier(0.215, 0.61, 0.355, 1);
  --mv-anime-duration: 0.55s;

  @media screen and (max-width: 767px) {
    --section-inner-padding: 17.5px;
  }
}
body,html {
  background: var(--color-bg);
  overscroll-behavior: none;
}
body {
  font-family: "Lexend", "Zen Kaku Gothic New", sans-serif;
  font-size: 18px;
  line-height: 1;
  letter-spacing: 0;
  color: #fff;
}
body.is-fixed {
  overflow: hidden;
  position: fixed;
  width: 100%;
  top: var(--scroll-y);
  left: 0;
}
img {
  max-width: 100%;
  height: auto;
}
.only-sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .only-sp {
    display: block;
  }
}
@media screen and (min-width: 768px) {
  .only-pc {
    display: block;
  }  
}

.l-inner {
  max-width: 1500px;
  padding-inline: 30px;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .l-inner {
    padding-inline: 17.5px;
  }
}
.c-logo {
  width: min(100%, 1440px);
  position: absolute;
  top: 22px;
  left: 0;
  right: 0;
  margin-inline: auto;
  padding-left: 24px;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .c-logo {
    top: 20px;
    padding-left: 10px;
  }
}
.c-logo__link {
  display: block;
  /* width: 261px; */
  width: 320px;
}
@media screen and (max-width: 1299px) {
  .c-logo__link {
    width: 280px;
  }
}
@media screen and (max-width: 1199px) {
  .c-logo__link {
    width: 240px;
  }
}
@media screen and (max-width: 1099px) {
  .c-logo__link {
    width: 210px;
  }
}
@media screen and (max-width: 999px) {
  .c-logo__link {
    width: 180px;
  }
}
@media screen and (max-width: 767px) {
  .c-logo__link {
    width: 219px;
  }
}
.c-logo__link img {
  width: 100%;
}
.c-btn {
  display: inline-flex;
  padding: 12px 12px 12px 24px;
  gap: 0 12px;
  align-items: center;
  border-radius: 4px;
  border: 1px solid #fff;
  font-weight: 500;
  font-size: 16px;
  transition: background 0.3s, color 0.3s;
}
@media screen and (max-width: 767px) {
  .c-btn {
    font-size: 12px;
  }
}
@media (any-hover: hover) {
  .c-btn:hover {
    background: #fff;
    color: var(--color-text-blue);
  }
}

.c-btn.--reverse {
  border-color: var(--color-arrow);
  color: var(--color-text-blue);
}
@media (any-hover: hover) {
  .c-btn.--reverse:hover {
    border-color: #fff;
    background: var(--color-arrow);
    color: #fff;
  }
}

.c-btn .c-btn-icon__arrow {
  width: 32.8%;
}
.c-btn-icon {
  display: flex;
  width: 48px;
  height: 32px;
  justify-content: center;
  align-items: center;
  background: #fff;
  border-radius: 2px;
  transition: background 0.3s;
}
@media (any-hover: hover) {
  .c-btn:hover .c-btn-icon {
    background: var(--color-arrow);
  }
  .c-btn.--reverse:hover .c-btn-icon {
    background: #fff;
  }
}
.c-btn.--reverse .c-btn-icon {
  background: var(--color-arrow);
}
@media screen and (max-width: 767px) {
  .c-btn-icon {
    width: 42px;
    height: 28px;
  }
}
.c-btn-icon__arrow {
  width: 30%;
  height: fit-content;
  overflow: hidden;
}
.c-btn-icon__arrow::before {
  content: "";
  display: block;
  width: 100%;
  aspect-ratio: 15 / 11;
  background: var(--color-arrow);
  mask: url("../img/common/icon-arrow_right.svg") no-repeat center center / contain;
  transition: background 0.3s;
}
.c-btn.--reverse .c-btn-icon__arrow::before {
  background: #fff;
}
@media (any-hover: hover) {
  .c-btn:hover .c-btn-icon__arrow::before {
    background: #fff;
  }
  .c-btn.--reverse:hover .c-btn-icon__arrow::before {
    background: var(--color-arrow);
  }
  a:hover .c-btn-icon__arrow::before {
    animation: btnArrow 0.7s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  }
}
@keyframes btnArrow {
  0% {
    transform: translateX(0);
  }
  30% {
    transform: translateX(110%);
  }
  30.1% {
    transform: translateX(-110%);
  }
  100% {
    transform: translateX(0);
  }
}
.c-num-ttl {
  display: grid;
  grid-template-columns: repeat(2, max-content);
  justify-content: center;
  align-items: center;
  gap: 0 32px;
}
@media screen and (max-width: 767px) {
  .c-num-ttl {
    gap: 0 20px;
  }
}
.c-num {
  display: inline-grid;
  grid-template-columns: auto max-content auto;
  gap: 0 8px;
  align-items: center;
  font-family: var(--font-en);
  font-weight: 400;
}
.c-num::before {
  content: "[";
}
.c-num::after {
  content: "]";
}

.l-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  max-width: 1440px;
  padding-top: 20px;
  padding-right: 36px;
  margin-inline: auto;
  z-index: 500;
}

.l-header__inner {
  display: flex;
  justify-content: flex-end;
}
.l-header__nav {}
@media screen and (min-width: 768px) {
  .p-front .l-header__nav {
    opacity: 0;
    transform: translateY(-20px);
    transition: 
      transform  var(--mv-anime-duration) var(--mv-anime-ease) 0.25s,
      opacity  var(--mv-anime-duration) var(--mv-anime-ease) 0.25s;
  } 
  .p-front:has(.p-front-mv.is-load) .l-header__nav{
    opacity: 1;
    transform: translateY(0);
  }
}
@media screen and (max-width: 767px) {
  .l-header__nav {
    position: fixed;
    inset: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--color-bg);
    visibility: hidden;
    opacity: 0;
    transition: visibility 0.3s, opacity 0.3s;
    pointer-events: none;
  } 
  .l-header__nav.is-active {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
  } 
}

.l-header__nav-list {
  display: flex;
  align-items: center;
  gap: 0 16px;
}
@media screen and (max-width: 767px) {
  .l-header__nav-list {
    flex-direction: column;
    gap: 60px 0;
    text-align: center;
  }
}
.l-header__nav-link {
  display: block;
  position: relative;
  font-size: 12px;
  letter-spacing: -0.02em;
  padding-bottom: 2px;
}
@media screen and (max-width: 767px) {
  .l-header__nav-link {
    font-size: 16px;
  }
}
.l-header__nav-link::before {
  content: "";
  width: 100%;
  height: 1px;
  background: #fff;
  position: absolute;
  left: 0;
  bottom: 0;
  scale: 0 1;
  transition: scale 0.3s;
  transform-origin: left center;
}
@media (any-hover: hover) {
  .l-header__nav-link:hover::before {
    scale: 1 1;
  }
}
.l-header__sp-content {
  display: none;
}
@media screen and (max-width: 767px) {
  .l-header__sp-content {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    padding: 20px 18px 0 10px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 2;
    visibility: hidden;
  }
  .l-header__sp-content.is-active {
    visibility: visible;
  }
}
.l-header__sp-logo {
  width: 203px;
}
@media screen and (max-width: 767px) {
  .l-header__sp-logo {
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s;
  }
  .l-header__sp-content.is-active .l-header__sp-logo {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
  }
}

.l-header__burger {
  width: 30px;
  height: 11px;
  position: relative;
  visibility: visible;
}
.l-header__burger .line {
  position: absolute;
  width: 100%;
  height: 2px;
  background: #fff;
  transition: transform 0.3s;
}
.l-header__burger .line:first-child {
  top: 0;
  left: 0;
}
.l-header__burger .line:last-child {
  bottom: 0;
  left: 0;
}
.l-header__burger.is-open {
  .line:first-child {
    top: 50%;
    transform: translateY(-50%) rotate(30deg);
  }
  .line:last-child {
    bottom: auto;
    top: 50%;
    transform: translateY(-50%) rotate(-30deg);
  }
}
.main {

}

:where(.main > *) {
  position: relative;
  z-index: 1;
  background: var(--color-bg);
}

.p-front-mv {
  position: sticky;
  top: 0;
  width: 100%;
  height: 100svh;
  padding-top: calc(112 / 810 * 100vh);
}
@media screen and (max-width: 1023px) {
  .p-front-mv {
    padding-top: calc(217 / 810 * 100vh);
  }
}
.p-front-mv__img-wrap {
  position: absolute;
  inset: 0;
}
.p-front-mv__img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 1023px) {
  .p-front-mv__img-wrap img {
    object-position: bottom 21% left 50%;
  }
}
.p-front-mv .c-logo__link {
  transform: translateY(-22px);
  opacity: 0;
  transition: 
   transform var(--mv-anime-duration) var(--mv-anime-ease) 0.25s,
   opacity var(--mv-anime-duration) var(--mv-anime-ease) 0.25s;
}
.p-front-mv.is-load .c-logo__link {
  transform: translateY(0);
  opacity: 1;
}
.p-front-mv__ttl {
  display: flex;
  flex-direction: column;
  gap: 16px 0;
  position: relative;
  z-index: 2;
}
.p-front-mv__ttl span {
  display: block;
  line-height: normal;
}
.p-front-mv__ttl-jp,
.p-front-mv__ttl-en {
  overflow: hidden;
}
.p-front-mv__ttl-jp {
  font-weight: 500;
  font-size: 26px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-front-mv__ttl-jp {
    font-size: 16px;
  }
}
.p-front-mv__ttl-en {
  font-size: 64px;
  letter-spacing: -0.02em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-front-mv__ttl-en {
    font-size: 50px;
  }
}
.p-front-mv__ttl-jp > span,
.p-front-mv__ttl-en > span {
  opacity: 0;
  transition: 
    transform  var(--mv-anime-duration) var(--mv-anime-ease) 0.25s,
    opacity var(--mv-anime-duration) var(--mv-anime-ease) 0.25s;
}
.p-front-mv__ttl-jp > span {
  transform: translateY(37px);
}
.p-front-mv__ttl-en > span {
  transform: translateY(50px);
}
.p-front-mv.is-load .p-front-mv__ttl-jp > span,
.p-front-mv.is-load .p-front-mv__ttl-en > span {
  transform: translateY(0);
  opacity: 1;
}

.p-front-about {
  position: relative;
  padding-block: 127px 174px;
  overflow: hidden;
  z-index: 3;
}
@media screen and (max-width: 1023px) {
  .p-front-about {
    padding-block: 82px 96.5px;
  }
}
.p-front-about__parallax-bg {
  position: absolute;
  width: calc(4288 / 1440 * 100%);
  aspect-ratio: 4288 / 2108;
  background: url("../img/logo-bg.svg") no-repeat center center / 100% auto;
  top: -135px;
  left: calc(1180 / 1440 * -100vw);
  mix-blend-mode: color-burn;
  z-index: 2;
  pointer-events: none;
}
@media screen and (max-width: 1023px) {
  .p-front-about__parallax-bg {
    width: calc(1098 / 375 * 100vw);
    top: 334px;
    left: calc(293 / 375 * -100vw);
  }
}
.p-front-about .l-inner {
  position: relative;
  z-index: 3;
}
.p-front-about__inner {
  padding-top: 171px;
}
@media screen and (max-width: 1023px) {
  .p-front-about__inner {
    padding-top: 290px;
  }
}
@media screen and (max-width: 767px) {
  .p-front-about__inner {
    padding-top: 333px;
  }
}
.p-front-about__text-wrap {
  width: clamp(500px, calc(536 / 1440 * 100vw), 536px);
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 80px 0;
}
@media screen and (max-width: 1023px) {
  .p-front-about__text-wrap {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .p-front-about__text-wrap {
    gap: 72px 0;
  }
}
.p-front-about__ttl {
  font-weight: 500;
  font-size: 32px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-front-about__ttl {
    font-size: 24px;
  }
}
.p-front-about__text {
  display: flex;
  flex-direction: column;
  gap: 32px 0;
  font-size: clamp(16px, calc(18 / 1440 * 100vw), 18px);
  line-height: 2;
  text-align: center;
  letter-spacing: -0.01em;
}
@media screen and (min-width: 1024px) {

}
@media screen and (max-width: 767px) {
  .p-front-about__text {
    font-size: 13px;
  }
}
.p-front-about__btn {

}
.p-front-about__parallax-img-wrap {
  width: min(100%, 1440px);
  margin-inline: auto;
  position: absolute;
  top: 127px;
  left: 0;
  right: 0;
  z-index: 3;
}
.p-front-about__parallax-img {
  position: absolute;
  height: fit-content;
}
.p-front-about__parallax-img.top-left {
  top: 0;
  left: 0;
  width: min(calc(361 / 1440 * 100vw), 361px);
}
.p-front-about__parallax-img.top-right {
  top: 284.5px;
  right: 0;
  width: min(calc(290.5 / 1440 * 100vw), 290.5px);
}
.p-front-about__parallax-img.bottom-left {
  top: 612.5px;
  left: clamp(3.75rem, 0.673rem + 4.81vw, 5rem);
  width: min(calc(270.5 / 1440 * 100vw), 270.5px);
}
.p-front-about__parallax-img.bottom-right {
  top: 648px;
  right: clamp(3.75rem, 0.673rem + 4.81vw, 5rem);
  width: min(calc(271 / 1440 * 100vw), 271px);
}

@media screen and (min-width: 1024px) and (max-width: 1439px) {
  .p-front-about__parallax-img.top-left {
    width: calc(252 / 1024 * 100vw);
  }
  .p-front-about__parallax-img.top-right {
    width: calc(203 / 1024 * 100vw);
  }
  .p-front-about__parallax-img.bottom-left {
    width: calc(189 / 1024 * 100vw);
  }
  .p-front-about__parallax-img.bottom-right {
    width: calc(190 / 1024 * 100vw);
  }   
}

@media screen and (max-width: 1023px) {
  .p-front-about__parallax-img.top-right {
    top: 145px;
  }
  .p-front-about__parallax-img.bottom-left {
    top: auto;
    bottom: clamp(31.25rem, 21.838rem + 19.61vw, 34.375rem);
    left: 29px;
  }
  .p-front-about__parallax-img.bottom-right {
    top: auto;
    right: 30px;
    bottom: 360px;
  }
}
@media screen and (max-width: 767px) {
  .p-front-about__parallax-img.top-left {
    width: min(calc(173 / 375 * 100vw), 200px);
  }
  .p-front-about__parallax-img.top-right {
    width: min(calc(139 / 375 * 100vw), 139px * 1.15);
  }
  .p-front-about__parallax-img.bottom-left {
    bottom: 376.5px;
    left: calc(29 / 375 * 100vw);
    width: min(calc(130 / 375 * 100vw), 130px * 1.15);
  }
  .p-front-about__parallax-img.bottom-right {
    bottom: 234px;
    right: calc(30 / 375 * 100vw);
    width: min(calc(130 / 375 * 100vw), 130px * 1.15);
  }
}
.p-front-about__video-btn {
  display: block;
  width: 100%;
  width: min(calc(976 / 1440 * 100vw), 976px);
  aspect-ratio: 976 / 518;
  margin: 178px auto 0;
  mask: url("../img/movie-btn-mask.svg") no-repeat left center;
  mask-size: 100% 85%;
}
@media screen and (max-width: 767px) {
  .p-front-about__video-btn {
    width: min(calc(340 / 375 * 100vw), 480px);
    margin-top: 360px;
  }
}
.p-front-about__video-btn-bg {
  width: min(calc(976 / 1440 * 100vw), 976px);
  aspect-ratio: 976 / 518;
  display: flex;
  justify-content: center;
  align-items: center;
  background: url("../img/button-bg.webp") no-repeat center center / 100% auto;
}
@media screen and (max-width: 767px) {
  .p-front-about__video-btn-bg {
    width: min(calc(340 / 375 * 100vw), 480px);
  }
}
.p-front-about__video-btn-arrow {
  display: grid;
  justify-items: center;
  gap: 12px 0;
}
@media screen and (max-width: 767px) {
  .p-front-about__video-btn-arrow {
    gap: 6px 0;
  }
}
.p-front-about__video-btn-arrow::before {
  content: "";
  width: 72px;
  aspect-ratio: 1 / 1;
  background: #fff;
  border-radius: 50%;
  background: #fff url("../img/icon-polygon.svg") no-repeat center center / 20px auto;
  transition: scale 0.3s;
}
@media screen and (max-width: 767px) {
  .p-front-about__video-btn-arrow::before {
    width: 30px;
    background-size: 9px auto;
  }
}
@media (any-hover: hover) {
  .p-front-about__video-btn:hover .p-front-about__video-btn-arrow::before {
    scale: 1.1;
  }
}
.p-front-about__video-btn-text {
  font-size: 14px;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-front-about__video-btn-text {
    font-size: 11px;
  }
}
.p-front-about__modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.8);
  z-index: 1000;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s;

  &.is-show {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
  }
}
.p-front-about__modal {
  position: fixed;
  width: min(calc(1118 / 1440 * 100vw), 1118px);
  aspect-ratio: 16 / 9;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  isolation: isolate;
  z-index: 1010;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s;

  &.is-show {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
  }
}
@media screen and (max-width: 767px) {
  .p-front-about__modal {
    width: calc(325 / 375 * 100vw);
  }
}
@media screen and (max-width: 767px) and (orientation: landscape) {
  .p-front-about__modal {
    width: auto;
    height: 75svh;
  }
}
.p-front-about__modal-video {
  display: block;
  width: 100%;
  height: auto;
}
.p-front-about__modal-video iframe {
  display: block;
  width: 100%;
  height: 100%;
}
.p-front-about__modal-close-btn {
  position: absolute;
  bottom: 100%;
  left: min(calc(100% + (81 / 1440 * 100vw)), (100% + 81px));
  width: clamp(1.063rem, 0.556rem + 2.16vw, 2.5rem);
  height: clamp(1.063rem, 0.556rem + 2.16vw, 2.5rem);
  background: url("../img/icon-close.svg") no-repeat center center / contain;
}
@media screen and (max-width: 1439px) {
  .p-front-about__modal-close-btn {
    left: min(calc(100% + (81 / 1440 * 100vw)), (100% + 81px));
  }
}
@media screen and (max-width: 767px) {
  .p-front-about__modal-close-btn {
    bottom: calc(100% + 1vw);
    left: calc(100% + 1vw);
  }
}

.p-front-anchor-sec {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: 810px;
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .p-front-anchor-sec {
    grid-template-rows: auto;
  }
}
@media screen and (max-width: 767px) {
  .p-front-anchor-sec {
    grid-template-columns: 1fr;
    grid-template-rows: 500px 500px;
  }
}
.p-front-anchor-sec__item {
  position: relative;
  background: no-repeat center center / cover;
  overflow: hidden;
}
@media screen and (max-width: 1023px) {
  .p-front-anchor-sec__item {
    padding-block: 100px;
    display: flex;
    justify-content: center;
  }
}
.p-front-anchor-sec__item.material {
  background-image: url("../img/common/material-bg.webp");
}
.p-front-anchor-sec__item.social {
  background-image: url("../img/common/social-bg.webp");
}
.p-front-anchor-sec__item-cont {
  position: absolute;
  inset: 0;
  margin: auto;
  width: min(calc(380 / 720 * 100%), 380px);
  aspect-ratio: 380 / 440;
}
@media screen and (max-width: 1023px) {
  .p-front-anchor-sec__item-cont {
    position: relative;
    width: fit-content;
    aspect-ratio: unset;
    margin: 0 auto;
  }
}
.p-front-anchor-sec__item-white-box {
  display: block;
  width: 100%;
  height: 100%;
  padding: 56px 40px;
  border-radius: 5px;
  background: #fff;

  @media screen and (min-width: 1024px) {
    clip-path: inset(0 0 100% 0);
    transition: clip-path 0.5s cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.1s ;  
  }
  @media (any-hover: hover) and (min-width: 1024px) {
    .p-front-anchor-sec__item:hover & {
      clip-path: inset(0 0 0 0);
    }
  }

  @media screen and (max-width: 1023px) {
    width: 293px;
    height: auto;
    padding: 40px;
  }
}
.p-front-anchor-sec__item-ttl-en {
  position: absolute;
  /* top: 0;
  bottom: 0;
  margin-block: auto; */
  top: 50%;
  transform: translateY(-50%);
  min-width: clamp(6.438rem, 2.284rem + 6.49vw, 8.125rem);
  display: inline-grid;
  grid-template-columns: repeat(3, auto);
  justify-content: space-between;
  align-items: center;
  color: #fff;
  font-size: 14px;
  transition: 
    transform 0.5s cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.1s,
    top 0.5s cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.1s;
}
@media screen and (min-width: 1024px) {
  .material .p-front-anchor-sec__item-ttl-en  {
    left: calc(100% + 7px);
  }
  .social .p-front-anchor-sec__item-ttl-en  {
    right: calc(100% + 7px);
  } 
}
@media (any-hover: hover) and (min-width: 1024px) {
  .p-front-anchor-sec__item:hover .p-front-anchor-sec__item-ttl-en  {
    /* margin: 0;
    bottom: auto; */
    top: 0;
    transform: translateY(-115px);
  }
}
@media screen and (max-width: 1023px) {
  .p-front-anchor-sec__item-ttl-en {
    gap: 0 32px;
    top: unset;
    bottom: calc(100% + 38px);
    right: -30px;
    transform: unset;
  }
}
.p-front-anchor-sec__item-ttl-en::before {
  content: "[";
}
.p-front-anchor-sec__item-ttl-en::after {
  content: "]";
}
.p-front-anchor-sec__item-white-box-txts {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  font-family: var(--font-ja);
  font-weight: 500;
  line-height: 1.5;
  color: var(--color-text-blue);

  @media screen and (max-width: 1023px) {
    gap: 70px 0;
  }
}
.p-front-anchor-sec__item-ttl-jp {
  font-size: 24px;
}
@media screen and (max-width: 767px) {
  .p-front-anchor-sec__item-ttl-jp {
    font-size: 20px;
  }
}
.p-front-anchor-sec__item-txt {
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .p-front-anchor-sec__item-txt {
    font-size: 12px;
  }
}
.p-front-anchor-sec__item-arrow {
  position: absolute;
  top: calc(100% + 97px);
}
@media screen and (min-width: 1024px) {
  .p-front-anchor-sec__item-arrow {
    opacity: 0;
    transform: translateY(100%);
    transition: 
      transform 0.5s cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.1s,
      opacity 0.4s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  }
  .p-front-anchor-sec__item.material .p-front-anchor-sec__item-arrow {
    right: min(calc(100% + (66 / 1440 * 100vw)), calc(100% + 66px));
  }
  .p-front-anchor-sec__item.social .p-front-anchor-sec__item-arrow {
    left: min(calc(100% + (66 / 1440 * 100vw)), calc(100% + 66px));
  }
}
@media (any-hover: hover) and (min-width: 1024px) {
  .p-front-anchor-sec__item:hover .p-front-anchor-sec__item-arrow {
    transform: translateY(0);
    opacity: 1;
  }
}
@media screen and (max-width: 1023px) {
  .p-front-anchor-sec__item-arrow {
    top: calc(100% + 42px);
    left: 0;
    transform: translateX(-50%);
  }
}

/* .l-footer-spacer {
  width: 100%;
  aspect-ratio: 1440 / 810;
}
@media screen and (max-width: 767px) {
  .l-footer-spacer {
    aspect-ratio: unset;
    height: 518px;
  }
} */
.l-footer {
  position: sticky;
  left: 0;
  bottom: 0;
  width: 100vw;
  /* 背景のロゴ画像が見切れないようにアスペクト比を固定 */
  aspect-ratio: 1440 / 810;
  overflow: hidden;
  background: var(--color-bg);
}
@media screen and (max-width: 767px) {
  .l-footer {
    aspect-ratio: unset;
    height: 518px;
  }
}
.p-front .l-footer {
  visibility: hidden;
}
.l-footer.is-show {
  visibility: visible;
}

.l-footer .l-inner {
  height: 100%;
}
.l-footer__cont {
  height: 100%;
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.l-footer__bg {
  position: absolute;
  width: calc(3408 / 1440 * 100%);
  aspect-ratio: 3409 / 2924;
  top: calc(1101 / 1440 * -100vw);
  right: calc(293 / 1440 * -100vw);
  background: url("../img/common/ars-logo-footer.svg") no-repeat center center / 100% auto;
  mix-blend-mode: color-burn;
  z-index: 2;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .l-footer__bg {
    width: calc(1243 / 375 * 100vw);
    top: calc(334 / 375 * -100vw);
    right: calc(224 / 375 * -100vw);
  }
}
.l-footer__text {
  position: absolute;
  inset: 0;
  margin: auto;
  width: fit-content;
  height: fit-content;
  font-weight: 500;
  font-size: 26px;
}
@media screen and (max-width: 767px) {
  .l-footer__text {
    top: 153px;
    bottom: auto;
    margin: 0 auto;
    font-size: 22px;
    line-height: 1.5;
    text-align: center;
  }
}
.l-footer__bottom {
  padding-bottom: 35px;
}
@media screen and (max-width: 767px) {
  .l-footer__bottom {
    padding-bottom: 28px;
  }
}
.l-footer__nav {
  display: flex;
  justify-content: center;
}
.l-footer__nav-list {
  display: flex;
  gap: 0 24px;
  align-items: center;
}
.l-footer__nav-link {
  display: inline-flex;
  align-items: center;
  gap: 0 2px;
  font-weight: 500;
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .l-footer__nav-link {
    font-size: 11px;
  }
}
.l-footer__nav-link::after {
  content: "";
  width: 14px;
  aspect-ratio: 1 / 1;
  background: url("../img/common/icon_blank.svg") no-repeat center center / contain;
}
.l-footer__copyright {
  margin-top: 56px;
  text-align: center;
  font-size: 12px;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .l-footer__copyright {
    font-size: 9px;
  }
}

/********************************
  Aboutページ 
********************************/
.p-about {
  background: var(--color-bg);
}
.p-about-mv {
  width: 100%;
  aspect-ratio: 1440 / 983;
  padding-top: calc(207 / 1440 * 100vw);
}
@media screen and (max-width: 767px) {
  .p-about-mv {
    aspect-ratio: 375 / 750;
    padding-top: calc(113 / 375 * 100vw);
  }
}
.p-about-mv .l-inner {
  padding-left: calc(93.25 / 1440 * 100vw);
  padding-right: calc(91 / 1440 * 100vw);
}
@media screen and (max-width: 767px) {
  .p-about-mv .l-inner {
    padding-left: calc(30 / 375 * 100vw);
    padding-right: calc(30 / 375 * 100vw);
  }
}
.p-about-mv__img-wrap {
  position: absolute;
  inset: 0;
}
.p-about-mv__img-wrap img {
  width: 100%;
  max-width: unset;
}
.c-fade-mv {
  overflow: hidden;
}
.c-fade-mv img {
  scale: 1.1;
  opacity: 0;
  transition: 
    /* scale 1.9s cubic-bezier(0.4, 0, 0.2, 1),
    opacity 1.6s cubic-bezier(0.4, 0, 0.2, 1) 0.2s; */
    scale 1.4s cubic-bezier(0.4, 0, 0.2, 1),
    opacity 1.3s cubic-bezier(0.4, 0, 0.2, 1) 0.1s;
}
.js-sub-mv.is-load .c-fade-mv img {
  scale: 1;
  opacity: 1;
}
.p-about-mv__texts {
  display: flex;
  justify-content: space-between;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-about-mv__texts {
    flex-direction: column;
    gap: 83px 0;
  }
}
.u-sub-fade-texts {
  opacity: 0;
  transition: opacity 1.7s 0.8s;
}
.js-sub-mv.is-load .u-sub-fade-texts {
  opacity: 1;
}
.c-sub-mv-ttl {}
@media screen and (max-width: 767px) {
  .c-sub-mv-ttl {
    text-align: center;
  }
}
.c-sub-mv-ttl > span {
  display: block;
}
.c-sub-mv-ttl__en {
  font-size: clamp(2.5rem, 1.84rem + 2.82vw, 4.375rem);
  letter-spacing: -0.02em;
}
.c-sub-mv-ttl__jp {
  font-size: clamp(0.813rem, 0.702rem + 0.47vw, 1.125rem);
  margin-top: 8px;
}
.p-about-mv__text {
  display: flex;
  flex-direction: column;
  gap: 16px 0;
  font-size: clamp(0.875rem, 0.831rem + 0.19vw, 1rem);
  font-weight: 500;
  line-height: 2;
}
.p-about-mv__text > span {
  display: block;
}

.p-about-sec {
}
.p-about-sec .l-inner {
  display: contents;
}
@media screen and (max-width: 1023px) {
  .p-about-sec .l-inner {
    display: block;
  }    
}
.p-about-sec__inner {
  max-width: 2560px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: calc(713 / 1440 * 100%) 1fr;
}
@media screen and (max-width: 1023px) {
  .p-about-sec__inner {
    grid-template-columns: 1fr;
    grid-template-areas: 
      "text1"
      "img1"
      "text2"
      "img2"
      "text3"
      "img3";
  }  
}
.test-img {
  position: relative;
  width: 100%;
  aspect-ratio: 713 / 810;
  position: sticky;
  top: 0;
}
.test-item {
  position: sticky;
  top: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.c-caption-img {
  position: relative;
}
.c-caption-img__overlay {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: max(calc(60 / 810 * 100%), 60px);
  background: linear-gradient(180deg, rgba(74, 103, 141, 0.00) 0%, #4A678D 100%);
  mix-blend-mode: multiply;
}
.c-caption-img__caption {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  font-size: 12px;
  line-height: 1.7;
  bottom: calc(20 / 810 * 100%);
  padding-inline: calc(28 / 713 * 100%);
}
@media screen and (max-width: 767px) {
  .c-caption-img__caption {
    font-size: 10px;
  }
}
.c-caption-img__caption.--color-blue {
  color: var(--color-text-blue) !important;
} 
.c-caption-img__caption.--ta-right {
  text-align: right;
} 

.p-about-sec__img {
  width: 100%;
  aspect-ratio: 713 / 810;
  position: sticky;
  top: 0;
}
@media screen and (max-width: 1023px) {
  .p-about-sec__img {
    position: relative;
    top: unset;
    aspect-ratio: unset;
  }
  .p-about-sec__img:nth-of-type(1) {
    grid-area: img1;
  }
  .p-about-sec__img:nth-of-type(2) {
    grid-area: img2;
  }
  .p-about-sec__img:nth-of-type(3) {
    grid-area: img3;
  }
}
.p-about-sec__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-about-sec__img:nth-of-type(3) img {
  object-position: top 50% right 18%;
}
.p-about-sec__text-box{

}
@media screen and (max-width: 767px) {
  .p-about-sec__text-box:nth-of-type(1) {
    grid-area: text1;
  }
  .p-about-sec__text-box:nth-of-type(2) {
    grid-area: text2;
  }
  .p-about-sec__text-box:nth-of-type(3) {
    grid-area: text3;
  }
}
.p-about-sec__ttl-area {
  aspect-ratio: 727 / 810;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 1023px) {
  .p-about-sec__ttl-area {
    aspect-ratio: unset;
    margin-block: 100px;
  }
}
@media screen and (max-width: 767px) {
  .p-about-sec__ttl-area {
    margin-block: 80px;
  }
}
.p-about-sec__ttl {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px 0;
}

.p-about-sec__ttl-en {
  gap: 0 10px;
  font-size: 14px;
  line-height: 1.4;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-about-sec__ttl-en {
    font-size: 12px;
  }
}
.p-about-sec__ttl-en .c-num {
  gap: 0 4px;
}
.p-about-sec__ttl-jp {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .p-about-sec__ttl-jp {
    font-size: 15px;
  }
}
.p-about-sec__texts {
  padding-left: calc(84 / 727 * 100%);
  padding-right: calc(91 / 727 * 100%);
  display: flex;
  flex-direction: column;
  gap: 80px 0;
  font-weight: 500;
  margin-bottom: min(calc(273 / 1440 * 100vw), 273px);
}
@media screen and (min-width: 1024px) {
  .p-about-sec__text-box:nth-child(1) .p-about-sec__texts {
    margin-top: min(calc(348 / 1440 * 100vw), 348px);
  }
  .p-about-sec__text-box:nth-child(2) .p-about-sec__texts {
    margin-top: min(calc(324 / 1440 * 100vw), 324px);
  }
  .p-about-sec__text-box:nth-child(3) .p-about-sec__texts {
    margin-top: min(calc(200 / 1440 * 100vw), 200px);
    margin-bottom: min(calc(405 / 1440 * 100vw), 405px);
  }
}
@media screen and (max-width: 1023px) {
  .p-about-sec__texts {
    padding-inline: 0;
    margin-bottom: 60px;
    gap: 60px 0;
  }
}
.p-about-sec__ttl-lv3 {
  font-size: clamp(1.25rem, 1.074rem + 0.75vw, 1.75rem);
  line-height: 1.7;
}
.p-about-sec__text-box:nth-of-type(3) .p-about-sec__ttl-lv3 > span {
  letter-spacing: -0.1em;
  font-weight: 300;
}
.p-about-sec__text {
  font-size: 18px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-about-sec__text {
    font-size: 13px;
  }  
}

.c-subp-links {
  padding-block: 150px;
  position: relative;
  z-index: 1;
  background: var(--color-bg);
}
@media screen and (max-width: 767px) {
  .c-subp-links {
    padding-block: 100px;
  }
}
.c-subp-links__inner {
  max-width: 1258px;
  margin-inline: auto;
  padding: 104px 70px 125px;
  background: #87A9D3;
}
.c-subp-links.--link-double .c-subp-links__inner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 min(calc(130 / 1440 * 100vw), 130px);
}
@media screen and (max-width: 1199px) {
  .c-subp-links__inner {
    padding-inline: calc(70 / 1440 * 100vw);
  }
  .c-subp-links.--link-double .c-subp-links__inner {
    grid-template-columns: 1fr;
    gap: 60px 0;
  }
}
@media screen and (max-width: 767px) {
  .c-subp-links__inner {
    padding: 50px 14.5px 62.5px;
  }
}
.c-subp-links__item {
}
.c-subp-links__item-link {
  display: grid;
  grid-template-columns: 141px max-content 1fr;
  grid-template-areas: "img text arrow";
  justify-content: start;
  align-items: center;
  padding-bottom: 29px;
  border-bottom: 1px solid #fff;
}
@media screen and (max-width: 767px) {
  .c-subp-links__item-link {
    grid-template-columns: calc(115 / 311 * 100%) 1fr;
    grid-template-areas: 
      "img text"
      "img arrow";
    gap: 0 calc(20 / 311 * 100%);
    padding-bottom: 25px;
  }
}
.c-subp-links__img {
  grid-area: img;
  aspect-ratio: 1 / 1;
  overflow: hidden;
}
.c-subp-links__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: scale 0.3s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
@media (any-hover: hover) {
  .c-subp-links__item-link:hover .c-subp-links__img img {
    scale: 1.1
  }
}
.c-subp-links__texts {
  grid-area: text;
  margin-left: 35px;
  display: flex;
  flex-direction: column;
  gap: 18px 0;
}
@media screen and (max-width: 767px) {
  .c-subp-links__texts {
    margin-left: 0;
    gap: 16px 0;
  }
}
.c-subp-links__texts .en {
  font-size: 30px;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .c-subp-links__texts .en {
    font-size: 20px;
  }
}
.c-subp-links__texts .ja {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .c-subp-links__texts .ja {
    font-size: 12px;
  }
}
.c-subp-links__item .c-btn-icon {
  grid-area: arrow;
  justify-self: end;
}
/********************************
  Socialページ 
  Materialページ
********************************/
.c-sub-mv {
  aspect-ratio: 1440 / 810;
}
@media screen and (max-width: 767px) {
  .c-sub-mv {
    aspect-ratio: 375 / 327;
  }
}

.c-sub-mv__inner {
  display: flex;
}
@media screen and (max-width: 767px) {
  .c-sub-mv__inner {
    display: block;
    height: 100%;
  }
}
.c-sub-mv__img {
  width: calc(930 / 1440 * 100%);
  aspect-ratio: 930 / 810;
}
@media screen and (max-width: 767px) {
  .c-sub-mv__img {
    width: auto;
    aspect-ratio: unset;
    position: absolute;
    inset: 0;
  }
}
@media screen and (max-width: 767px) {
  .c-sub-mv__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }  
}
.c-sub-mv__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(210 / 327 * 100%);
  background: linear-gradient(180deg, rgba(129, 162, 204, 0.70) 0%, rgba(129, 162, 204, 0.00) 100%);
  display: none;
}
@media screen and (max-width: 767px) {
  .c-sub-mv__overlay {
    display: block;
  }
}
.c-sub-mv__ttl-area {
  flex-grow: 1;
  padding-top: min(calc(381.5 / 1440 * 100vw), 381.5px);
  padding-left: calc(80 / 1440 * 100%);
}
@media screen and (max-width: 767px) {
  .c-sub-mv__ttl-area {
    position: absolute;
    inset: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
  }
}

.p-subp-intro-sec {
  padding-block: 150px;
}
@media screen and (min-width: 1024px) {
  .p-subp-intro-sec .l-inner {
    padding-inline: calc(161 / 1440 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .p-subp-intro-sec {
    padding-block: 80px;
  }
}
.p-subp-intro-sec__inner {
  display: flex;
  flex-direction: column;
  gap: 40px 0;
  align-items: start;
  font-weight: 500;
}
.p-subp-intro-sec__ttl {
  font-size: 32px;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .p-subp-intro-sec__ttl {
    font-size: 24px;
  }
}
.p-subp-intro-sec__text {
  font-size: 18px;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .p-subp-intro-sec__text {
    font-size: 13px;
  }
}
.p-subp-list {
  display: flex;
  flex-direction: column;
  gap: 60px 0;
}
.p-subp-bg-sec {
  font-family: var(--font-ja);
  font-weight: 500;
  color: var(--color-text-blue);
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  .p-subp-bg-sec .l-inner {
    max-width: 1440px;
    padding-inline: 20px;
  }  
}
.p-subp-bg-sec__bg {
  background: #fff;
  padding: 100px min(calc(70 / 1400 * 100%), 70px);
  border-radius: 5px;
}
@media screen and (max-width: 767px) {
  .p-subp-bg-sec__bg {
    padding: 60px var(--section-inner-padding);
  }    
}
.p-subp-bg-sec__ttl {
  color: var(--color-text-blue);
}
.p-subp-bg-sec__ttl .c-num {
  font-size: 18px;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-subp-bg-sec__ttl .c-num {
    font-size: 13px;
  } 
}
.p-subp-bg-sec__ttl .text {
  font-family: var(--font-ja);
  font-weight: bold;
  font-size: 20px;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .p-subp-bg-sec__ttl .text {
    font-size: 14.5px;
  }
}
.p-subp-bg-sec__img {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .p-subp-bg-sec__img {
    margin-top: 50px;
  }
}
.p-subp-bg-sec__img ~ * {
  margin-top: 56px;
} 
@media screen and (max-width: 767px) {
  .p-subp-bg-sec__img ~ * {
    margin-top: 35px;
  }
}
.p-subp-bg-sec__img .c-caption-img__overlay {
  height: calc(96.5 / 810 * 100%);
}
@media screen and (max-width: 767px) {
  .p-subp-bg-sec__img .c-caption-img__overlay {
    /* height: 3.5em; */
    display: none;
  }  
}
.p-subp-bg-sec__img .c-caption-img__caption {
  padding-inline: calc(22.5 / 1258 * 100%);
}
@media screen and (max-width: 767px) {
  .p-subp-bg-sec__img .c-caption-img__caption {
    /* padding-inline: calc(10 / 305 * 100%);
    bottom: calc(8 / 196 * 100%); */
    position: static;
    margin-top: 8px;
  }
}
.p-subp-bg-sec__small-inner {
  max-width: 976px;
  margin-inline: auto;
}
.p-subp-bg-sec .c-caption-img__caption {
  color: #fff;
}
@media screen and (max-width: 767px) {
  .p-subp-bg-sec .c-caption-img__caption {
    color: var(--color-text-blue);
  }
}
.p-subp-bg-sec__ttl-lv3 {
  font-size: 32px;
}
@media screen and (max-width: 767px) {
  .p-subp-bg-sec__ttl-lv3 {
    font-size: clamp(1.25rem, 0.986rem + 1.13vw, 2rem);
  }
}
.p-subp-bg-sec__txt {
  font-size: 18px;
  margin-top: 24px;
}
@media screen and (max-width: 767px) {
  .p-subp-bg-sec__txt {
    font-size: 13px;
  }
}
.p-subp-bg-sec .line-text {
  display: inline-flex;
  align-items: center;
}
.p-subp-bg-sec .line-text::after {
  content: "";
  display: block;
  width: calc(33 / 18 * 1em);
  height: 1px;
  margin-inline: 2px;
  background: var(--color-text-blue);
}

.p-subp-bg-sec__q-item {
  margin-top: 56px;
  border-radius: 5px;
  overflow: hidden;
  display: grid;
  grid-template-columns: 200px 1fr ;
  gap: 0 8px;
}
@media screen and (max-width: 767px) {
  .p-subp-bg-sec__q-item {
    grid-template-columns: 1fr;
  } 
}
.p-subp-bg-sec__q-item-ttl {
  background: var(--color-arrow);
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-subp-bg-sec__q-item-ttl {
    padding-block: 10px;
  }
}

.p-subp-bg-sec__q-item-ttl > span {
  display: flex;
  flex-direction: column;
  gap: 12px 0;
  align-items: center;
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  .p-subp-bg-sec__q-item-ttl > span {
    flex-direction: row;
    gap: 0 8px;
    font-size: 13px;
  }
}
.p-subp-bg-sec__q-item-ttl > span::before {
  content: "";
  display: block;
  width: 28px;
  aspect-ratio: 28 / 29;
  background: url("../img/common/icon_question.svg") no-repeat center center / contain;
}
@media screen and (max-width: 767px) {
  .p-subp-bg-sec__q-item-ttl > span::before {
    width: 21px;
  }
}
.p-subp-bg-sec__q-item-txt {
  background: #1F64B91A;
  padding: 49px;
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  .p-subp-bg-sec__q-item-txt {
    padding: 20px 15px;
    font-size: 12px;
    text-align: justify;
  }
}
.p-subp-bg-sec__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 18px;
}
@media screen and (max-width: 767px) {
  .p-subp-bg-sec__grid {
    grid-template-columns: 1fr;
    gap: 24px 0;
  }
}
.p-subp-bg-sec__grid * {
  margin-top: 0;
}
.p-subp-bg-sec__grid-img > img {
  width: 100%;
}

.p-social .p-subp-bg-sec:nth-child(1) .p-subp-bg-sec__grid-img {
  aspect-ratio: 620 / 381;
}
.p-subp-bg-sec__caption {
  font-size: 12px;
  margin-top: 8px;
}
@media screen and (max-width: 767px) {
  .p-subp-bg-sec__caption {
    font-size: 10px;
  }
} 
.p-social .p-subp-bg-sec:nth-child(2) .p-subp-bg-sec__grid {
  grid-template-columns: 1fr calc(410 / 1258 * 100%);
  gap: 0 calc(83 / 1258 * 100%);
  margin-top: 24px;
}
@media screen and (max-width: 767px) {
  .p-social .p-subp-bg-sec:nth-child(2) .p-subp-bg-sec__grid {
    grid-template-columns: 1fr;
    gap: 30px 0;
  }
}
.p-subp-bg-sec__marquee-wrap {
  margin-inline: calc(70 / 1260 * -100%);
}

@media screen and (max-width: 767px) {
  .p-subp-bg-sec__marquee-wrap {
    margin-inline: -17.5px;
  }
}
.p-subp-bg-sec__marquee {
  overflow: hidden;
  height: min(calc(550 / 1440 * 100vw), 550px);
  position: relative;
  isolation: isolate;
}
@media screen and (max-width: 767px) {
  .p-subp-bg-sec__marquee {
    height: calc(200 / 375 * 100vw);
  }
}
.p-subp-bg-sec__marquee::before,
.p-subp-bg-sec__marquee::after {
  content: "";
  display: block;
  height: 100%;
  aspect-ratio: 332 / 541;
  position: absolute;
  top: -1px;
  background: url("../img/social/gallery-deco.webp") no-repeat top left / 100% auto;
  z-index: 1;
}
.p-subp-bg-sec__marquee::before {
  left: 0;
}
.p-subp-bg-sec__marquee::after {
  right: 0;
  transform: rotate(180deg);
}
.p-subp-bg-sec__marquee-list {
  width: max-content;
  height: 100%;
  display: flex;
  transform: translateZ(0);
}
.p-subp-bg-sec__marquee-content {
  width: fit-content;
  height: 100%;
  display: flex;
  align-items: start;
  will-change: trsansform;
  transform: translateZ(0);
  backface-visibility: hidden;
  animation: marquee 50s linear infinite;
}
@media screen and (max-width: 767px) {
  .p-subp-bg-sec__marquee-content {
    animation: marquee 40s linear infinite;
  }
}

@keyframes marquee {
  0% {
    transform: translate(0);
  }
  100% {
    transform: translate(-100%);
  }
}
.p-subp-bg-sec__slide {
  position: relative;
  width: fit-content;
  padding-inline: round(down, min(calc(28 / 1440 * 100vw), 28px), 1px);
  padding-bottom: 20px;
}

.p-subp-bg-sec__slide.--middle {
  margin-top: min(calc(56 / 1440 * 100vw), 56px);
}
.p-subp-bg-sec__slide.--bottom {
  align-self: flex-end;
}

.p-subp-bg-sec__slide .img-wrap {
  width: round(down, min(calc(675 / 1440 * 100vw), 675px), 1px);
}
@media screen and (max-width: 767px) {
  .p-subp-bg-sec__slide .img-wrap {
    width: round(down, calc(200 / 375 * 100vw), 1px);
  }
}

.p-subp-bg-sec__slide.--small .img-wrap {
  width: round(down, min(calc(240 / 1440 * 100vw), 240px), 1px);
}
@media screen and (max-width: 767px) {
  .p-subp-bg-sec__slide.--small .img-wrap{
    width: round(down, calc(130 / 375 * 100vw), 1px);
  }
}

.p-subp-bg-sec__slide .img-wrap img {
  display: block;
  width: 100%;
  /*スマホでのちらつき対策のため指定 */
  backface-visibility: hidden;
  transform: translateZ(0);
}
.p-subp-bg-sec__slide .p-subp-bg-sec__caption {
  /*スマホでのちらつき対策のため指定 */
  backface-visibility: hidden;
  transform: translateZ(0);
}

.p-subp-bg-sec__profile {
  padding: 50px calc(50 / 1258 * 100%);
  border: 1px solid var(--color-arrow);
}
@media screen and (max-width: 767px) {
  .p-subp-bg-sec__profile {
    padding: 40px 17.5px;
  }
}
.p-social .p-subp-bg-sec:nth-child(4) .p-subp-bg-sec__grid {
  grid-template-columns: calc(320 / 1158 * 100%) 1fr;
  gap: 0 calc(80 / 1158 * 100%);
}
@media screen and (max-width: 599px) {
  .p-social .p-subp-bg-sec:nth-child(4) .p-subp-bg-sec__grid {
    grid-template-columns: 1fr;
    gap: 30px 0;
  }  
}
.p-subp-bg-sec__btn {
  color: var(--color-text-blue);
}
.p-subp-bg-sec__grid-text-wrap {

}
@media screen and (max-width: 767px) {
    
}
.p-subp-bg-sec__profile-ttl {
  font-size: 24px;
}
@media screen and (max-width: 767px) {
  .p-subp-bg-sec__profile-ttl {
    font-size: 16px;
  }    
}
.p-subp-bg-sec__profile-text {
  margin-top: 12px;
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .p-subp-bg-sec__profile-text {
    font-size: 12px;
    text-align: justify;
  }
}
.p-subp-bg-sec__btn {
  margin-top: 24px;
}
.p-material .p-subp-bg-sec__grid {
  margin-top: 56px;
}
@media screen and (max-width: 767px) {
  .p-material .p-subp-bg-sec__grid {
    margin-top: 35px;
  }
}
@media screen and (min-width: 768px) {
  .p-material .p-subp-bg-sec:nth-child(3) .p-subp-bg-sec__grid {
    gap: 0 calc(56 / 976 * 100%);
  }
}


























