@charset "UTF-8";

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

@keyframes vertical-animation {
  from {
    transform: translateY(0);
  }

  to {
    transform: translateY(-100%);
  }
}

@keyframes scroll-left {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-100%);
  }
}

@keyframes rotation {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

@keyframes fadeIn {
  0% {
    opacity: 0;
    transform: translateY(-10px);
  }

  100% {
    opacity: 1;
    transform: none;
  }
}

main {
  background: #f9f5e9;
}

.slick-track {
  display: flex;
}

.slick-slide {
  height: auto !important;
}

/* ========================================
   @media screen and (min-width: 768px),print
======================================== */
@media screen and (min-width: 768px), print {
  /* 共通
-------------------------------------*/
  .c-btn a {
    border-radius: 200px;
    border: 2px solid #181c62;
    border-bottom: none;
    box-shadow: 0 4px 0 0 #181c62;
    background: #fff;
    color: #040404;
    font-size: 14px;
    font-size: clamp(0.75rem, 0.667rem + 0.17vw, 0.875rem);
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1.8571428571;
    padding-block: 14px;
    padding-inline: 31px 54px;
    position: relative;
    transition: all 0.3s ease-in-out;
    top: 0;
    background-clip: padding-box;
  }

  .c-btn a::after {
    background: url(../images/index/btn_arrow.svg) no-repeat center
      center/contain;
    content: "";
    height: 15px;
    position: absolute;
    right: 27px;
    top: 50%;
    transform: translateY(-50%);
    width: 15px;
  }

  @media (any-hover: hover) {
    .p-contact .p-contact__item a:hover .img img {
      animation: spin 4s linear infinite;
      opacity: 1;
      transition: all 0.3s ease-in-out;
    }

    .p-contact .p-contact__item a span img {
      opacity: 1;
    }

    .p-movie .p-movie__con-right-item a img:hover {
      opacity: 1;
    }

    .c-btn a:hover {
      box-shadow: 0 0 0 0 #181c62;
      border-bottom: 2px solid #181c62;
      text-decoration: none;
      position: relative;
      top: 4px;
    }

    .p-reason .p-reason__item:hover {
      background: #ffffff;
      color: #181c62;
    }

    .p-reason .p-reason__item:hover a {
      text-decoration: none;
    }

    .p-reason .p-reason__item:hover .p-reason__item-ttl {
      color: #181c62;
    }

    .p-reason .p-reason__item:hover .p-reason__item-txt-img .en svg g path {
      fill: #181c62;
    }

    .p-reason
      .p-reason__item:hover
      .p-reason__item-txt-img
      .en
      svg
      path[stroke] {
      stroke: #181c62;
    }

    .p-reason .p-reason__item:hover .p-reason__item-txt-img .img img {
      opacity: 1;
    }

    .p-reason .p-reason__item:hover .p-reason__item-txt {
      color: #181c62;
    }

    .p-reason .p-reason__item:hover .p-reason__item-en svg path {
      fill: #181c62;
    }

    .p-make .p-make__con.--make01 .p-make__con-left .btn a:hover::after {
      background: url(../images/index/make_btn_icon_hover.png) no-repeat center
        center/contain;
      bottom: -27px;
      height: 250px;
      right: -20.5px;
      width: 173px;
    }

    .p-link__item a:hover img.hover {
      opacity: 1;
    }

    .p-faq .p-faq__qu:hover {
      cursor: pointer;
    }
  }

  /* mv
-------------------------------------*/
  .p-mv {
    overflow: hidden;
  }

  .p-mv .l-inner.l-mv {
    padding-block: 63px 0px;
  }

  .p-mv .p-mv__loop {
    left: 50%;
    transform: translateX(-50%);
    position: absolute;
    top: 0;
    margin-inline: auto;
    width: min(100%, 1920px);
  }

  .p-mv .l-mv__loop {
    height: 795px;
    overflow: hidden;
  }

  .p-mv .p-mv__loop-wrap {
    animation: vertical-animation 240s linear infinite;
    display: grid; /* slideのmargin-bottom値を全て内包させる為 */
  }

  .p-mv .p-mv__slider img {
    height: auto;
    width: 100%;
  }

  .p-mv .p-mv__box {
    border: 3px solid #181c62;
    border-radius: 20px;
    height: 732px;
    margin-bottom: 15px;
    margin-inline: auto;
    position: relative;
    width: min(95%, 1802px);
  }

  .p-mv .p-mv__box .en {
    left: 34px;
    position: absolute;
    top: 34px;
  }

  .p-mv .p-mv__box .en img {
    height: auto;
    width: 321px;
  }

  .p-mv .p-mv__box .ja {
    position: absolute;
  }

  .p-mv .p-mv__box .ja.--ttl01 {
    right: -28px;
    top: -40px;
    z-index: 1;
  }

  .p-mv .p-mv__box .ja.--ttl01 img {
    width: 246px;
    height: auto;
  }

  .p-mv .p-mv__box .ja.--ttl02 {
    bottom: -23px;
    left: -31px;
    z-index: 1;
  }

  .p-mv .p-mv__box .ja.--ttl02 img {
    width: 246px;
    height: auto;
  }

  .p-mv .p-mv__box .logo {
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
  }

  .p-mv .p-mv__box .logo img {
    height: auto;
    width: 483px;
  }

  .p-mv .p-mv__box .img {
    position: absolute;
  }

  .p-mv .p-mv__box .img.--img01 {
    bottom: 0;
    left: 0;
  }

  .p-mv .p-mv__box .img.--img01 img {
    height: auto;
    width: 369px;
  }

  .p-mv .p-mv__box .img.--img02 {
    bottom: -25px;
    right: -17px;
  }

  .p-mv .p-mv__box .img.--img02 img {
    height: auto;
    width: 398px;
  }

  .p-mv .p-mv__box .img.--img03 {
    right: -36px;
    top: 92px;
  }

  .p-mv .p-mv__box .img.--img03 img {
    height: auto;
    width: 229px;
  }

  .p-mv .p-mv__box .img.--img04 {
    left: calc(50% + 347px);
    top: 156px;
  }

  .p-mv .p-mv__box .img.--img04 img {
    height: auto;
    width: 125px;
  }

  .p-mv .p-mv__ttl {
    color: #181c62;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 2;
    text-align: center;
  }

  /* movie
-------------------------------------*/
  .p-movie {
    margin-inline: auto;
    overflow: hidden;
    padding-block: 96px 0;
    width: min(100%, 1920px);
  }

  .p-movie .l-inner.l-movie {
    background: #181c62;
    height: 469px;
    padding-block: 0 20px;
  }

  .p-movie .p-movie__con {
    margin-left: auto;
    position: relative;
    top: -60px;
    width: min(95%, 1580px);
  }

  .p-movie .p-movie__con-left {
    background: #fff;
    border: 2px solid #181c62;
    border-radius: 200px;
    color: #181c62;
    left: 0;
    padding-inline: 0px;
    position: absolute;
    top: 0;
    width: 242px;
  }

  .p-movie .p-movie__con-left .en {
    position: relative;
    text-align: center;
    top: -31px;
    margin-bottom: -31px;
  }

  .p-movie .p-movie__con-left h2 {
    text-align: center;
    margin-bottom: 10px;
  }

  .p-movie .p-movie__con-left h2 span.top {
    font-size: 36px;
    font-weight: 700;
    line-height: 1.3888888889;
    margin-bottom: 8px;
  }

  .p-movie .p-movie__con-left h2 span.top span {
    font-size: 62px;
    font-weight: 700;
    letter-spacing: -0.09em;
    line-height: 1;
    margin-inline: 0 2px;
  }

  .p-movie .p-movie__con-left h2 span.bottom {
    display: block;
    font-size: 18px;
    font-weight: 900;
    letter-spacing: 0.04em;
    line-height: 1.5;
  }

  .p-movie .p-movie__con-left .img {
    left: -23px;
    position: relative;
    text-align: center;
    margin-bottom: -17px;
  }

  .p-movie .p-movie__con-left .img img {
    height: auto;
    width: 275px;
  }

  .p-movie .p-movie__con-right {
    left: calc(50% - 536px);
    position: absolute;
    top: 39px;
    width: 100%;
  }

  .p-movie .p-movie__con-right-item a {
    display: block;
    margin-inline: 0px;
    text-align: center;
  }

  .p-movie .p-movie__con-right-item a img {
    height: auto;
    margin-inline: auto;
    width: 249px;
  }

  .p-movie .prev-arrow {
    position: absolute;
    right: calc(50% + 833px);
    top: 76%;
    z-index: 11;
  }

  .p-movie .next-arrow {
    position: absolute;
    right: calc(50% + 771px);
    top: 76%;
    z-index: 11;
  }

  /* モーダル表示
  -------------------------------------*/
  .p-movie-modal {
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
  }

  .p-movie-modal[open] {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .p-movie-modal::backdrop {
    background: rgba(4, 4, 4, 0.8);
  }

  .p-movie-modal__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
  }

  .p-movie-modal__video {
  }

  .p-movie-modal__video video {
    display: block;
    width: auto;
    height: auto;
    max-width: min(360px, calc(100% - 54px));
    max-height: 70vh;
    background: #000;
    border-radius: 8px;
    margin-inline: auto;
  }

  .p-movie-modal__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-width: 260px;
    padding: 13px 24px;
    border: 1px solid #fff;
    border-radius: 30px;
    background: transparent;
    color: #fff;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.08em;
    line-height: 1;
    cursor: pointer;
    transition: opacity 0.2s;
  }

  .p-movie-modal__close:hover {
    opacity: 0.7;
  }

  /* event
-------------------------------------*/
  .p-event {
    background: #efe8d8;
  }

  .p-event .p-event__loop {
    border-bottom: 2px solid #181c62;
    margin-bottom: 12px;
    padding-block: 0px;
  }

  .p-event .l-inner.l-loop {
    overflow: hidden;
  }

  .p-event .p-event__loop-wrap {
    align-items: center;
    display: flex;
    gap: 0 7px;
    width: 200%;
  }

  .p-event .p-event__slider {
    animation: scroll-left 60s linear infinite;
  }

  .p-event .p-event__slider img {
    height: auto;
    width: 100%;
  }

  .p-event .l-event {
    margin-inline: auto;
    width: min(95%, 1020px);
  }

  .p-event .p-event__con {
    align-items: center;
    display: flex;
    justify-content: space-between;
  }

  .p-event .p-event__con02 .system-list {
    color: #040404;
    display: grid;
    gap: 0 3.6%;
    grid-template-columns: repeat(5, 1fr);
    grid-template-rows: repeat(6, 1fr);
    position: relative;
    top: -55px;
    left: 0px;
    margin-bottom: -191px;
  }

  .p-event .p-event__con02 .system-list li:first-child {
    grid-area: 2/1/6/3;
    position: relative;
    top: -107px;
    width: 325px;
  }

  .p-event .p-event__con02 .system-list li:first-child a .icon {
    color: #181c62;
    display: grid;
    font-size: 16px;
    font-weight: 700;
    line-height: 2;
    margin-bottom: -40px;
    place-items: center;
    position: relative;
  }

  .p-event .p-event__con02 .system-list li:first-child a .icon.icon01 {
    background: url(../images/index/event_icon01_bg.svg) no-repeat center
      center/contain;
    height: 106px;
    width: 106px;
    margin-bottom: -36px;
  }

  .p-event .p-event__con02 .system-list li:first-child a .icon.icon02 {
    background: url(../images/index/event_icon02_bg.svg) no-repeat center
      center/contain;
    height: 106px;
    width: 106px;
  }

  .p-event .p-event__con02 .system-list li:first-child a .system-pic {
    background: #fff;
    border: 2px solid #181c62;
    margin-bottom: 8px;
    padding: 18px;
  }

  .p-event .p-event__con02 .system-list li:first-child a .system-pic img {
    height: 289px;
    width: 100%;
  }

  .p-event .p-event__con02 .system-list li:nth-of-type(2) {
    grid-area: 1/3/3/6;
  }

  .p-event .p-event__con02 .system-list li:nth-of-type(2) a {
    border-bottom: 1px solid #181c62;
    padding-block: 0 22px;
  }

  .p-event .p-event__con02 .system-list li:nth-of-type(3) {
    grid-area: 3/3/5/6;
    position: relative;
    top: -72px;
    top: clamp(-72px, -2.778vw - 18.667px, -40px);
  }

  .p-event .p-event__con02 .system-list li:nth-of-type(3) a {
    border-bottom: 1px solid #181c62;
    padding-block: 0 24px;
  }

  .p-event .p-event__con02 .system-list li:nth-of-type(4) {
    grid-area: 5/3/7/6;
    position: relative;
    top: -111px;
  }

  .p-event .p-event__con02 .system-list li:nth-of-type(4) a {
    border-bottom: none;
  }

  .p-event .p-event__con02 .system-list li:nth-of-type(2) a,
  .p-event .p-event__con02 .system-list li:nth-of-type(3) a,
  .p-event .p-event__con02 .system-list li:nth-of-type(4) a {
    align-items: flex-end;
    display: grid;
    gap: 0 3.2%;
    grid-template-columns: 24.3% minmax(0, 1fr);
  }

  .p-event .p-event__con02 .system-list li:nth-of-type(2) .icon,
  .p-event .p-event__con02 .system-list li:nth-of-type(3) .icon,
  .p-event .p-event__con02 .system-list li:nth-of-type(4) .icon {
    color: #181c62;
    display: grid;
    font-size: 14px;
    font-size: clamp(0.625rem, 0.458rem + 0.35vw, 0.875rem);
    font-weight: 700;
    left: -38px;
    line-height: 1;
    margin-bottom: -43px;
    place-items: center;
    position: relative;
    top: 0;
    z-index: 1;
  }

  .p-event .p-event__con02 .system-list li:nth-of-type(2) .icon.icon01,
  .p-event .p-event__con02 .system-list li:nth-of-type(3) .icon.icon01,
  .p-event .p-event__con02 .system-list li:nth-of-type(4) .icon.icon01 {
    background: url(../images/index/event_icon01_bg.svg) no-repeat center
      center/contain;
    height: 90px;
    height: clamp(4rem, 2.917rem + 2.26vw, 5.625rem);
    width: 90px;
    width: clamp(4rem, 2.917rem + 2.26vw, 5.625rem);
  }

  .p-event .p-event__con02 .system-list li:nth-of-type(2) .icon.icon02,
  .p-event .p-event__con02 .system-list li:nth-of-type(3) .icon.icon02,
  .p-event .p-event__con02 .system-list li:nth-of-type(4) .icon.icon02 {
    background: url(../images/index/event_icon02_bg.svg) no-repeat center
      center/contain;
    left: -19px;
    color: #ffffff;
    height: 68px;
    width: 68px;
    margin-bottom: -37px;
  }

  .p-event .p-event__con02 .system-list li:nth-of-type(2) .system-pic,
  .p-event .p-event__con02 .system-list li:nth-of-type(3) .system-pic,
  .p-event .p-event__con02 .system-list li:nth-of-type(4) .system-pic {
    background: #fff;
    border: 2px solid #181c62;
    padding: 8px;
    height: 145px;
    height: clamp(6.25rem, 4.375rem + 3.91vw, 9.063rem);
    margin-bottom: 0;
  }

  .p-event .p-event__con02 .system-list li:nth-of-type(2) .system-pic img,
  .p-event .p-event__con02 .system-list li:nth-of-type(3) .system-pic img,
  .p-event .p-event__con02 .system-list li:nth-of-type(4) .system-pic img {
    height: 100%;
    width: 100%;
  }

  .p-event .p-event__con02 .system-list li .system-pic.is-ended {
    position: relative;
  }

  .p-event .p-event__con02 .system-list li .system-pic.is-ended img {
    filter: grayscale(100%);
  }

  .p-event .p-event__con02 .system-list li .system-pic.is-ended::after {
    background: #d9d9d9;
    content: "";
    inset: 0;
    opacity: 0.5;
    pointer-events: none;
    position: absolute;
  }

  .p-event .p-event__con02 .system-list li .system-ttl {
    border-bottom: 2px solid #bdb8ad;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1.625;
    margin-bottom: 10px;
    padding-block: 0 11px;
  }

  .p-event .p-event__con02 .system-list li:nth-child(2) .system-ttl,
  .p-event .p-event__con02 .system-list li:nth-child(3) .system-ttl,
  .p-event .p-event__con02 .system-list li:nth-child(4) .system-ttl {
    font-size: 14px;
    font-size: clamp(0.75rem, 0.667rem + 0.17vw, 0.875rem);
    padding-inline: 0 30px;
    margin-bottom: 3px;
  }

  .p-event .p-event__con02 .system-list li .system-date {
    display: grid;
    gap: 0 15px;
    grid-template-columns: 60px minmax(0, 1fr);
  }

  .p-event .p-event__con02 .system-list li .date-ttl {
    color: #181c62;
    font-size: 14px;
    font-size: clamp(0.625rem, 0.458rem + 0.35vw, 0.875rem);
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 2.1428571429;
  }

  .p-event .p-event__con02 .system-list li .start_text {
    font-size: 14px;
    font-size: clamp(0.625rem, 0.458rem + 0.35vw, 0.875rem);
    font-weight: 400;
    letter-spacing: 0.04em;
    line-height: 2.1428571429;
  }

  /* イベントが無いときの崩れ防止 */
  .p-event .p-event__con02 .system-list.is-empty {
    display: block; /* グリッド解除 */
    top: 0; /* ズレをリセット */
    margin-bottom: 0; /* マイナスマージンをリセット */
    min-height: 80px; /* ← 通常時の高さに合わせて調整 */
  }

  /* know
-------------------------------------*/
  .p-know {
    background: #ffffff;
    border-bottom: 1px solid #181c62;
    border-top: 1px solid #181c62;
    margin-bottom: 50px;
    /* overflow: hidden; */
  }

  .p-know .p-know__box {
    margin-inline: auto;
    position: relative;
    width: min(95%, 1261px);
    padding-block: 0 11px;
  }

  .p-know .p-know__con {
    display: grid;
    gap: 0 4%;
    grid-template-columns: 52.7% 43.4%;
    margin-inline: auto;
    position: relative;
    top: -20px;
    width: min(95%, 1113px);
  }

  .p-know .p-know__con-left {
    position: relative;
  }

  .p-know .p-know__con-left .img img {
    height: auto;
    width: 100%;
  }

  .p-know .p-know__con-left .img02 {
    bottom: -18px;
    left: -89px;
    position: absolute;
    text-align: center;
  }

  .p-know .p-know__con-left .img02 .top {
    height: auto;
    margin-bottom: -32px;
    width: 189px;
  }

  .p-know .p-know__con-left .img02 .bottom {
    background: #181c62;
    border-radius: 50%;
    height: 154px;
    margin-inline: auto;
    padding: 8px;
    position: relative;
    width: 154px;
  }

  .p-know .p-know__con-left .img02 .bottom .logo {
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: clamp(3.5rem, 2.292rem + 2.52vw, 5.313rem);
  }

  .p-know .p-know__con-left .img02 .bottom .txt {
    animation: rotation 12s linear infinite;
  }

  .p-know .p-know__con-right {
    position: relative;
    top: 23px;
  }

  .p-know .p-know__con-right .ttl {
    align-items: center;
    display: flex;
    margin-bottom: -22px;
  }

  .p-know .p-know__con-right .ttl h2 {
    color: #181c62;
    font-size: 36px;
    font-weight: 700;
    line-height: 1.5;
  }

  .p-know .p-know__con-right .ttl .img img {
    height: auto;
    width: 174px;
  }

  .p-know .p-know__con-right .txt {
    color: #040404;
    font-size: 15px;
    font-size: clamp(0.813rem, 0.729rem + 0.17vw, 0.938rem);
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 2;
    margin-bottom: 57px;
  }

  .p-know .p-know__con-right .txt p {
    margin-bottom: 30px;
  }

  .p-know .p-know__con-right .txt p span.bold {
    font-size: 15px;
    font-size: clamp(0.813rem, 0.729rem + 0.17vw, 0.938rem);
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 2;
  }

  .p-know .p-know__con-right .txt p span {
    font-size: 19px;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.5789473684;
  }

  .p-know .p-know__con-right .txt p.bottom {
    margin-bottom: 0;
  }

  .p-know .p-know__loop {
    border-left: 1px solid #181c62;
    border-right: 1px solid #181c62;
    position: absolute;
    right: 0;
    top: 0;
  }

  .p-know .l-know__loop {
    overflow: hidden;
  }

  .p-know .p-know__loop-wrap {
    animation: vertical-animation 60s linear infinite;
    display: grid; /* slideのmargin-bottom値を全て内包させる為 */
  }

  .p-know .p-know__slider img {
    height: auto;
    width: 100%;
  }

  .p-know .p-know__loop {
    position: absolute;
    right: -8px;
    top: 0;
    height: 100%;
    overflow: hidden;
  }

  .p-know .l-know__loop {
    height: 100%;
    overflow: hidden;
  }

  .p-know .p-know__loop-wrap {
    animation: vertical-animation 60s linear infinite;
  }

  .p-know .p-know__slider {
    display: grid; /* slideのmargin-bottom値を全て内包させる為 */
  }

  .p-know .p-know__slider img {
    height: auto;
    width: 82px;
  }

  /* reason
-------------------------------------*/
  .p-reason {
    padding-block: 0 78px;
  }

  .p-reason .c-reason__ttl {
    margin-bottom: 19px;
    text-align: center;
  }

  .p-reason .p-reason__items {
    display: grid;
    gap: 0 3px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 28px;
  }

  .p-reason .p-reason__item {
    background: #181c62;
    display: block grid;
    grid-row: span 3;
    /* grid-template-rows: subgrid; */
    position: relative;
    transition: all 0.3s ease-in-out;
  }

  .p-reason .p-reason__item a {
    display: inherit;
    grid-row: inherit;
    grid-template-rows: inherit;
  }

  .p-reason .p-reason__item-ttl {
    color: #ffffff;
    font-size: 42px;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 2;
    margin-bottom: 3px;
    padding-block: 42px 0;
    text-align: center;
  }

  .p-reason .p-reason__item-ttl.--reason01 span:before {
    background: url(../images/index/reason01_ten.svg) no-repeat center
      center/contain;
    height: 19px;
    width: 153px;
  }

  .p-reason .p-reason__item-ttl.--reason02 span:before {
    background: url(../images/index/reason02_ten.svg) no-repeat center
      center/contain;
    height: 19px;
    width: 349px;
  }

  .p-reason .p-reason__item-ttl.--reason02 span.top:before {
    content: none;
  }

  .p-reason .p-reason__item-ttl.--reason03 span:before {
    background: url(../images/index/reason03_ten.svg) no-repeat center
      center/contain;
    height: 19px;
    width: 349px;
  }

  .p-reason .p-reason__item-ttl span {
    font-size: 64px;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.453125;
    position: relative;
  }

  .p-reason .p-reason__item-ttl span:before {
    content: "";
    left: 20px;
    position: absolute;
    top: -8px;
  }

  .p-reason .p-reason__item-txt-img {
    margin-bottom: -13px;
    margin-inline: auto;
    width: min(95%, 500px);
  }

  .p-reason .p-reason__item-txt-img.--reason03 {
    margin-bottom: 27px;
  }

  .p-reason .p-reason__item-txt-img .en {
    position: relative;
    left: 24px;
    margin-bottom: -93px;
  }

  .p-reason .p-reason__item-txt-img.--reason03 .en {
    left: -6px;
    margin-bottom: -105px;
    top: 23px;
  }

  .p-reason .p-reason__item-txt-img.--reason03 .en svg {
    transform: rotate(0deg);
  }

  .p-reason .p-reason__item-txt-img.--reason02 .en {
    margin-bottom: -106px;
  }

  .p-reason .p-reason__item-txt-img .img img {
    height: auto;
    width: 100%;
  }

  .p-reason .p-reason__item-txt {
    color: #ffffff;
    font-size: 22px;
    font-size: clamp(0.625rem, 0.125rem + 1.04vw, 1.375rem);
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.7727272727;
    padding-block: 0 34px;
    text-align: center;
  }

  .p-reason .p-reason__item-en {
    bottom: 11px;
    padding-inline: 8px;
    position: absolute;
    right: 6px;
  }

  .p-reason .c-reason__btn {
    text-align: center;
  }

  .p-reason .c-reason__btn a {
    border-bottom: 1px solid #181c62;
    color: #040404;
    display: block;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1.625;
    margin-inline: auto;
    padding-block: 0 17px;
    position: relative;
    width: min(95%, 400px);
    text-align: left;
    padding-inline: 75px 0px;
  }

  .p-reason .c-reason__btn a::after {
    background: url(../images/index/btn_arrow.svg) no-repeat center
      center/contain;
    content: "";
    height: 15px;
    position: absolute;
    right: 98px;
    top: 8px;
    width: 15px;
  }

  /* make
-------------------------------------*/
  .p-make {
    background: #ffffff;
    border-bottom: 2px solid #181c62;
    margin-bottom: 120px;
  }

  .p-make .p-make__loop {
    border-bottom: 1px solid #181c62;
    border-top: 1px solid #181c62;
    overflow: hidden;
  }

  .p-make .p-make__loop-wrap {
    align-items: center;
    display: flex;
    /* gap: 0 24px; */
    width: 3697px;
  }

  .p-make .p-make__slider {
    animation: scroll-left 60s linear infinite;
  }

  .p-make .p-make__slider img {
    height: auto;
    width: 100%;
  }

  .p-make .p-make__ttl-box {
    border-bottom: 2px solid #181c62;
  }

  .p-make .p-make__ttl-box-inner {
    align-items: center;
    border-left: 2px solid #181c62;
    border-right: 2px solid #181c62;
    color: #181c62;
    display: flex;
    gap: 0 5px;
    margin-inline: auto;
    padding-inline: 47px 0;
    width: min(95%, 1200px);
  }

  .p-make .p-make__ttl-box-inner h2 {
    font-size: 42px;
    font-weight: 700;
    line-height: 1;
    position: relative;
    top: -16px;
  }

  .p-make .p-make__ttl-box-inner h2 span {
    font-size: 86px;
    font-weight: 900;
    letter-spacing: -0.15em;
    line-height: 1;
    position: relative;
    top: 8px;
  }

  .p-make .p-make__ttl-box-inner .icon {
    position: relative;
    top: 13px;
    left: 11px;
  }

  .p-make .p-make__ttl-box-inner .icon img {
    height: auto;
    width: 107px;
  }

  .p-make .p-make__con-box {
    border-left: 2px solid #181c62;
    border-right: 2px solid #181c62;
    margin-inline: auto;
    width: min(95%, 1200px);
  }

  .p-make .p-make__con {
    display: grid;
    gap: 0 8.5%;
    grid-template-columns: 37.5% 50%;
    justify-content: flex-end;
  }

  .p-make .p-make__con.--make01 .p-make__con-left .btn a {
    position: relative;
    transition: all 0.3s ease-in-out;
  }

  .p-make .p-make__con.--make01 .p-make__con-left .btn a::after {
    background: url(../images/index/make_btn_icon.png) no-repeat center
      center/contain;
    bottom: -27px;
    content: "";
    height: 250px;
    position: absolute;
    right: -20.5px;
    width: 173px;
  }

  .p-make .p-make__con.--make02 {
    display: grid;
    gap: 0 5.5%;
    grid-template-columns: 50% 37.5%;
    justify-content: flex-start;
  }

  .p-make .p-make__con.--make02 .p-make__con-left {
    order: 2;
  }

  .p-make .p-make__con.--make02 .p-make__con-right {
    order: 1;
  }

  .p-make .p-make__con-left {
    position: relative;
    top: 40px;
  }

  .p-make .p-make__con-left .top {
    color: #181c62;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.4545454545;
    margin-bottom: 10px;
  }

  .p-make .p-make__con-left h3 {
    color: #181c62;
    font-size: 52px;
    font-weight: 700;
    line-height: 1.2307692308;
    margin-bottom: 29px;
  }

  .p-make .p-make__con-left h3 {
    /* マーカーのスタイル */
  }

  .p-make .p-make__con-left h3.marker {
    background-image: linear-gradient(90deg, #fff100, #fff100); /* 線の色 */
    background-position: left bottom; /* 線の起点を左・下に設定 */
    background-repeat: no-repeat;
    background-size: 0 0.5em; /* 線の横幅を0、縦幅を0.5emに */
    display: inline-block;
    padding-bottom: 3px; /* 下線を下にズラす */
    transition: background-size 1.5s; /* 線を伸ばすアニメーション実行時間を指定 */
  }

  .p-make .p-make__con-left h3 {
    /* マーカーが表示された時のスタイル */
  }

  .p-make .p-make__con-left h3.marker.active {
    background-size: 100% 0.3em; /* 線の横幅を100%にする */
  }

  .p-make .p-make__con-left h3 .marker {
    transition: background-size 0.6s ease;
  }

  .p-make .p-make__con-left h3 .marker:nth-of-type(2) {
    transition-delay: 0.3s;
  }

  .p-make .p-make__con-left h3 span {
    /* マーカーのスタイル */
  }

  .p-make .p-make__con-left h3 span.marker {
    background-image: linear-gradient(90deg, #fff100, #fff100); /* 線の色 */
    background-position: left bottom; /* 線の起点を左・下に設定 */
    background-repeat: no-repeat;
    background-size: 0 0.3em; /* 線の横幅を0、縦幅を0.5emに */
    display: inline-block;
    padding-bottom: 3px; /* 下線を下にズラす */
    transition: background-size 1.5s; /* 線を伸ばすアニメーション実行時間を指定 */
  }

  .p-make .p-make__con-left h3 span {
    /* マーカーが表示された時のスタイル */
  }

  .p-make .p-make__con-left h3 span.marker.active {
    background-size: 100% 0.3em; /* 線の横幅を100%にする */
  }

  .p-make .p-make__con-left .txt {
    color: #040404;
    font-size: 15px;
    font-size: clamp(0.75rem, 0.625rem + 0.26vw, 0.938rem);
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.9333333333;
    margin-bottom: 33px;
  }

  .p-make .p-make__con-left .btn a {
    border-bottom: 2px solid #181c62;
    display: block;
  }

  .p-make .p-make__con.--make03 .p-make__con-left .btn a {
    width: 270px;
  }

  .p-make .p-make__con-left .btn a span {
    color: #040404;
    display: inline-block;
    font-size: 14px;
    font-size: clamp(0.75rem, 0.667rem + 0.17vw, 0.875rem);
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1.8571428571;
    padding-block: 0 17px;
    position: relative;
  }

  .p-make .p-make__con-left .btn a span::before {
    background: url(../images/index/btn_arrow.svg) no-repeat center
      center/contain;
    content: "";
    height: 12px;
    position: absolute;
    right: -16px;
    top: 8px;
    top: clamp(0.313rem, 0.188rem + 0.26vw, 0.5rem);
    width: 12px;
  }

  .p-make .p-make__con-right img {
    height: auto;
    width: 100%;
  }

  /* link
-------------------------------------*/
  .p-link {
    margin-bottom: 117px;
  }

  .p-link .c-link__ttl {
    color: #181c62;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1;
    margin-bottom: 17px;
    margin-inline: auto;
    padding-inline: 14px;
    position: relative;
    text-align: center;
    width: -moz-fit-content;
    width: fit-content;
  }

  .p-link .c-link__ttl:before {
    background: url(../images/index/link_line.svg) no-repeat center
      center/contain;
    bottom: -8px;
    content: "";
    height: 38px;
    left: -20px;
    position: absolute;
    width: 21px;
  }

  .p-link .c-link__ttl::after {
    background: url(../images/index/link_line.svg) no-repeat center
      center/contain;
    bottom: -6px;
    content: "";
    height: 38px;
    position: absolute;
    right: -21px;
    transform: scale(-1, 1);
    width: 21px;
  }

  .p-link .p-link__bnr {
    margin-bottom: 98px;
    text-align: center;
    width: min(100%, 1280px);
    margin-inline: auto;
  }

  .p-link .p-link__bnr a {
    display: block;
  }

  .p-link .p-link__bnr a p {
    color: #040404;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.9333333333;
    margin-inline: auto;
    width: min(95%, 215.7004830918vw);
  }

  .p-link .p-link__bnr a img {
    height: auto;
    width: 100%;
    margin-bottom: -14px;
  }

  .p-link__items {
    display: grid;
    gap: 0 3px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding-inline: 8px;
  }

  .p-link__item a {
    display: block;
    position: relative;
    transition: all 0.3s ease-in-out;
  }

  .p-link__item a img {
    height: auto;
    width: 100%;
  }

  .p-link__item a img.hover {
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    transition: opacity 0.7s;
  }

  /* modelhouse
-------------------------------------*/
  .p-modelhouse {
    margin-bottom: 95px;
  }

  .p-modelhouse .l-inner.l-modelhouse {
  }

  .p-modelhouse .p-modelhouse__ttl-wrap {
    display: flex;
    justify-content: space-between;
    margin-bottom: -68px;
    margin-inline: auto;
    width: min(95%, 1041px);
  }

  .p-modelhouse .p-modelhouse__ttl-wrap .left img {
    height: auto;
    width: 128px;
  }

  .p-modelhouse .p-modelhouse__ttl-wrap h2 {
    color: #181c62;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1;
    position: relative;
    text-align: center;
    top: 45px;
	  left: 0;
	  right: 0;
	  margin: 0 auto;
  }

  .p-modelhouse .p-modelhouse__ttl-wrap h2 span {
    font-size: 40px;
    font-size: clamp(1.625rem, 1.042rem + 1.22vw, 2.5rem);
    font-weight: 700;
    line-height: 2;
  }

  .p-modelhouse .p-modelhouse__ttl-wrap .right {
    position: relative;
    top: -11px;
    left: -16px;
  }

  .p-modelhouse .p-modelhouse__ttl-wrap .right img {
    height: auto;
    width: 141px;
  }

  .p-modelhouse .p-modelhouse__box {
    background: #181c62;
    /* No.39で人物イラストを削除。カード下の紺帯54pxを復元（.p-modelhouse__items の -47px を加味して 54+47=101px）*/
    padding-block: 55px 101px;
  }

  .p-modelhouse .p-modelhouse__items {
    margin-bottom: -47px;
  }

  .p-modelhouse .p-modelhouse__item a {
    background: #ffffff;
    display: grid;
    gap: 0 4.9%;
    grid-template-columns: 46.6% minmax(0, 1fr);
    margin-inline: auto;
    padding-block: 40px 26px;
    width: min(95%, 1100px);
    padding-inline: 30px;
    align-items: center;
  }

  .p-modelhouse .p-modelhouse__item a .pic-frame .system-pic img {
    height: 326px;
    width: 100%;
  }

  .p-modelhouse .p-modelhouse__item a .system-ttl-01 {
    color: #181c62;
    font-size: 33px;
    font-size: clamp(1.625rem, 1.333rem + 0.61vw, 2.063rem);
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.6;
    margin-bottom: 0;
  }

  .p-modelhouse .p-modelhouse__item a .model-spec {
    color: #181c62;
    font-size: 18px;
    font-size: clamp(1rem, 0.917rem + 0.17vw, 1.125rem);
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.6;
    margin-bottom: 8px;
  }

  .p-modelhouse .p-modelhouse__item a .model-area {
    color: #181c62;
    font-size: 18px;
    font-size: clamp(1rem, 0.917rem + 0.17vw, 1.125rem);
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.6;
    margin-bottom: 25px;
  }

  .p-modelhouse .p-modelhouse__item a .model-lead {
    margin-bottom: 39px;
    padding-inline: 0 32px;
    color: #040404;
    font-size: 15px;
    font-size: clamp(0.813rem, 0.729rem + 0.17vw, 0.938rem);
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.9333333333;
    text-align: justify;
  }

  .p-modelhouse .p-modelhouse__item a .link {
    border-bottom: 1px solid #181c62;
    color: #040404;
    display: inline-block;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1.8571428571;
    padding-bottom: 10px;
    padding-inline: 8px 40px;
    position: relative;
  }

  .p-modelhouse .p-modelhouse__item a .link::after {
    background: url(../images/index/btn_arrow.svg) no-repeat center
      center/contain;
    content: "";
    height: 12px;
    position: absolute;
    right: 8px;
    top: 8px;
    width: 12px;
  }

  .p-modelhouse .p-modelhouse__human {
    left: calc(50% + 34px);
    position: relative;
    width: 134px;
  }

  .p-modelhouse .p-modelhouse__human img {
    height: auto;
    width: 134px;
  }

  /* consultation
-------------------------------------*/
  .p-consultation {
    margin-bottom: 140px;
  }

  .p-consultation .l-inner.l-consultation {
  }

  .p-consultation .p-consultation__box {
    border: 3px solid #181c62;
    border-radius: 20px;
    margin-bottom: -8px;
    margin-inline: auto;
    padding-block: 30px 0px;
    position: relative;
    width: min(95%, 1160px);
  }

  .p-consultation .p-consultation__box:before {
    background: url(../images/index/consultation_ttl_left.svg) no-repeat center
      center/contain;
    content: "";
    height: 257px;
    left: -15px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
  }

  .p-consultation .p-consultation__box:after {
    background: url(../images/index/consultation_ttl_right.svg) no-repeat center
      center/contain;
    content: "";
    height: 257px;
    position: absolute;
    right: -15px;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
  }

  .p-consultation .p-consultation__con {
    display: grid;
    grid-template-columns: 52% 48%;
    margin-bottom: -67px;
    margin-inline: auto;
    width: min(95%, 1130px);
  }

  .p-consultation .p-consultation__con-left img {
    height: 100%;
    width: 100%;
    object-fit: cover;
  }

  .p-consultation .p-consultation__con-right {
    background: #ffffff;
    padding-block: 52px 77px;
    padding-inline: 40px 0;
  }

  .p-consultation .p-consultation__con-right h2 {
    color: #181c62;
    font-size: 40px;
    font-size: clamp(1.625rem, 1.042rem + 1.22vw, 2.5rem);
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1;
    margin-bottom: 27px;
  }

  .p-consultation .p-consultation__con-right p {
    color: #040404;
    font-size: 15px;
    font-size: clamp(0.813rem, 0.729rem + 0.17vw, 0.938rem);
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.9333333333;
  }

  .p-consultation .p-consultation__icon {
    left: calc(50% + 216px);
    position: relative;
    width: 138px;
  }

  .p-consultation .p-consultation__icon img {
    height: auto;
    width: 138px;
  }

  .p-consultation .c-btn.consultation {
    text-align: center;
  }

  .p-consultation .c-btn.consultation a {
    padding-inline: 79px 103px;
    position: relative;
  }

  .p-consultation .c-btn.consultation a::after {
    right: 72px;
  }

  /* meet
-------------------------------------*/
  .p-meet {
    margin-bottom: 26px;
  }

  .p-meet .c-meet__ttl {
    margin-bottom: 33px;
    text-align: center;
  }

  .p-meet .p-meet__loop {
    background: #ffffff;
    border-bottom: 2px solid #181c62;
    border-top: 2px solid #181c62;
    padding-block: 5px;
  }

  .p-meet .l-inner.l-loop {
    overflow: hidden;
  }

  .p-meet .p-meet__loop-wrap {
    align-items: center;
    display: flex;
    gap: 0 8px;
    width: 200%;
  }

  .p-meet .p-meet__slider {
    animation: scroll-left 75s linear infinite;
  }

  .p-meet .p-meet__slider img {
    height: auto;
    width: 100%;
  }

  .p-meet .p-meet__loop02 {
    border-bottom: 2px solid #181c62;
    margin-bottom: -273px;
  }

  .p-meet .l-inner.l-loop02 {
    overflow: hidden;
  }

  .p-meet .p-meet__loop02-wrap {
    align-items: center;
    display: flex;
    width: 200%;
  }

  .p-meet .p-meet__slider02 {
    animation: scroll-left 75s linear infinite;
  }

  .p-meet .p-meet__slider02 img {
    height: auto;
    width: 100%;
  }

  .p-meet .p-meet__icon {
    position: relative;
    text-align: center;
  }

  .p-meet .p-meet__icon img {
    height: auto;
    width: 382px;
  }

  /* works
-------------------------------------*/
  .p-works {
    background: url(../images/index/works_bg.png) no-repeat top center/contain
      #fff;
    margin-inline: auto;
    max-width: 1920px;
    width: 100%;
    border-bottom: 1px solid #181c62;
    position: relative;
  }

  /* .p-works::before {
    position: absolute;
    content: "";
    background: url(../images/index/works_bg.png) no-repeat bottom -5px center/contain;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: 286px;
  } */

  .p-works .l-inner.l-works {
    padding-block: 80px 0px;
  }

  .p-works .c-works__ttl {
    color: #181c62;
    font-size: 42px;
    font-size: clamp(1.875rem, 1.375rem + 1.04vw, 2.625rem);
    font-weight: 700;
    line-height: 1;
    margin-bottom: 40px;
    text-align: center;
    width: fit-content;
    margin-inline: auto;
    position: relative;
    z-index: 1;
  }

  .p-works .c-works__ttl span {
    font-size: 86px;
    font-size: clamp(4rem, 3.083rem + 1.91vw, 5.375rem);
    font-weight: 900;
    letter-spacing: -0.15em;
    line-height: 1;
    position: relative;
    left: -13px;
    top: 9px;
  }

  .p-works .c-works__en {
    text-align: center;
    position: relative;
    z-index: 1;
  }

  .p-works .c-works__subttl {
    color: #181c62;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1;
    text-align: center;
    position: relative;
    z-index: 1;
    padding-block: 21px 0;
  }

  .p-works .p-works__bg {
    background: #fff;
    padding-block: 27px 74px;
  }

  .p-works .system-list {
    display: grid;
    gap: 28px 40px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 83px;
    margin-inline: auto;
    width: min(95%, 1100px);
  }

  .p-works .system-pic img {
    height: 240px;
    height: clamp(10rem, 6.667rem + 6.94vw, 15rem);
    width: 100%;
  }

  .p-works .system-category {
    display: flex;
    flex-wrap: wrap;
    gap: 0 4px;
    margin-bottom: 0;
  }

  .p-works .system-category span {
    color: #ffffff;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.5714285714;
    padding: 0px 8px;
    width: -moz-fit-content;
    width: fit-content;
  }

  .p-works .system-category span.cate01 {
    background: #181c62;
  }

  .p-works .system-category span.cate02 {
    background: #186253;
  }

  .p-works .system-category span.cate03 {
    background: #34979c;
  }

  .p-works .works-area {
    color: #707070;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0.02em;
    line-height: 2.1428571429;
    margin-bottom: 0;
  }

  .p-works .system-ttl-01 {
    color: #040404;
    font-size: 15px;
    font-size: clamp(0.813rem, 0.729rem + 0.17vw, 0.938rem);
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.9333333333;
  }

  .p-works .c-btn.works {
    text-align: center;
  }

  .p-works .c-btn.works a {
    padding-inline: 43px 64px;
    position: relative;
  }

  .p-works .c-btn.works a::after {
    right: 39px;
  }

  /* interview
-------------------------------------*/
  .p-interview {
    background: #efe8d8;
  }

  .p-interview .l-inner.l-interview {
    padding-block: 73px 0;
  }

  .p-interview .c-interview__en {
    margin-bottom: 16px;
    text-align: center;
  }

  .p-interview .c-interview__ttl {
    color: #181c62;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.625;
    margin-bottom: -103px;
    text-align: center;
  }

  .p-interview .p-interview__icon01 {
    left: calc(50% - 292px);
    position: relative;
    width: 103px;
  }

  .p-interview .p-interview__icon01 img {
    height: auto;
    width: 126px;
  }

  .p-interview .system-list {
    margin-bottom: 48px;
  }

  .p-interview .system-list li a {
    display: block;
    padding-block: 27px 11px;
    position: relative;
  }

  .p-interview .voice_loop {
    border-bottom: 2px solid #181c62;
    border-top: 2px solid #181c62;
    margin-bottom: 17px;
    padding-block: 8px;
  }

  .p-interview .inner.loop {
    overflow: hidden;
  }

  .p-interview .voice_loop_wrap {
    align-items: center;
    display: flex;
    width: 200%;
  }

  .p-interview .voice_slider {
    animation: scroll-left 40s linear infinite;
  }

  .p-interview .voice_slider {
    width: 100%;
  }

  .p-interview .voice-txt {
    color: #181c62;
    font-size: 16px;
    font-size: clamp(0.75rem, 0.583rem + 0.35vw, 1rem);
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.625;
    white-space: nowrap;
  }

  .p-interview .slick-track {
    display: flex;
  }

  .p-interview .slick-slide {
    height: auto !important;
    background: #fff;
    border: 2px solid #181c62;
    border-radius: 20px;
    margin-inline: 23px;
  }

  .p-interview .voice-con {
    display: grid;
    gap: 0 4.4%;
    grid-template-columns: 50.5% 44.8%;
    margin-inline: auto;
    width: min(95%, 640px);
  }

  .p-interview .system-pic img {
    height: 220px;
    height: clamp(6.875rem, 2.292rem + 9.55vw, 13.75rem);
    width: 100%;
  }

  .p-interview .voice-con-right {
    position: relative;
    top: 40px;
  }

  .p-interview .voice-area {
    background: #181c62;
    color: #ffffff;
    font-size: 14px;
    font-size: clamp(0.625rem, 0.458rem + 0.35vw, 0.875rem);
    font-weight: 400;
    letter-spacing: 0.02em;
    line-height: 1.1428571429;
    margin-bottom: 10px;
    padding: 4px 8px;
    width: -moz-fit-content;
    width: fit-content;
  }

  .p-interview .system-ttl-01 {
    font-size: 15px;
    font-size: clamp(0.625rem, 0.417rem + 0.43vw, 0.938rem);
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.9333333333;
  }

  .p-interview .p-voice__bottom-en {
    bottom: 30px;
    position: absolute;
    right: 33px;
  }

  .p-interview .c-btn.interview {
    margin-bottom: -60px;
    text-align: center;
  }

  .p-interview .p-interview__icon02 {
    margin-bottom: 0px;
    margin-inline: auto;
    text-align: right;
    width: min(95%, 952px);
  }

  .p-interview .p-interview__icon02 img {
    height: auto;
    width: 252px;
  }

  .p-interview .prev-arrow {
    position: absolute;
    right: calc(50% + 332px);
    top: 50%;
    transform: translateY(-50%);
    z-index: 11;
  }

  .p-interview .prev-arrow img {
    height: auto;
    width: 80px;
  }

  .p-interview .next-arrow {
    left: calc(50% + 335px);
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 11;
  }

  .p-interview .next-arrow img {
    height: auto;
    width: 80px;
  }

  /* faq
-------------------------------------*/
  .p-faq {
    background: #f9f5e9;
    margin-inline: auto;
    max-width: 1920px;
    padding-block: 81px 89px;
    width: 100%;
  }

  .p-faq .l-inner.l-faq {
    margin-inline: auto;
    position: relative;
    width: min(95%, 1100px);
  }

  .p-faq .p-faq__en {
    margin-bottom: 10px;
    width: min(95%, 204px);
    margin-inline: auto;
  }

  .p-faq .p-faq__ttl {
    color: #181c62;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.625;
    margin-bottom: -89px;
    width: min(95%, 212px);
    margin-inline: auto;
	  text-align: left;
  }

  .p-faq .p-faq__icon {
    left: calc(50% + -269px);
    margin-bottom: -18px;
    position: relative;
    width: 137px;
  }

  .p-faq .p-faq__icon img {
    height: auto;
    width: 137px;
  }
	
  .p-faq .p-faq__icon02 {
    left: calc(50% + 21px);
    margin-bottom: -136px;
    position: relative;
    width: 137px;
	  top: -117px;
  }

  .p-faq .p-faq__icon02 img {
    height: auto;
    width: 137px;
  }

  .p-faq .p-faq__box {
    background: #ffffff;
    padding-block: 29px 55px;
  }

  .p-faq summary {
    border-bottom: 2px solid #181c62;
    display: block;
    margin-inline: auto;
    padding-block: 27px;
    width: min(95%, 1000px);
  }

  .p-faq summary::-webkit-details-marker {
    display: none;
  }

  .p-faq .p-faq__qu {
    position: relative;
    display: block;
  }

  .p-faq .p-faq__qu::before,
  .p-faq .p-faq__qu::after {
    content: "";
    position: absolute;
    top: 50%;
    translate: 0 -50%;
  }

  .p-faq .p-faq__qu::before {
    height: 10px;
    right: 12px;
    width: 21px;
  }

  .p-faq .p-faq__qu::after {
    background: url(../images/index/faq_arrow.svg) no-repeat center
      center/contain;
    height: 14px;
    right: 29px;
    transition: rotate 0.3s ease;
    width: 24px;
    rotate: 180deg;
  }

  .p-faq details[open] .p-faq__qu::after {
    rotate: 0deg;
  }

  .p-faq .p-faq__item[open] .p-faq__an {
    animation: fadeIn 0.5s ease;
  }

  .p-faq .p-faq__qu-txt {
    color: #040404;
    display: block;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1.7777777778;
    padding-inline: 77px 0;
  }

  .p-faq .p-faq__qu-txt::before {
    background: #181c62;
    border-radius: 4px;
    color: #fff;
    content: "Q";
    font-size: 20px;
    font-weight: 500;
    height: 38px;
    left: 24px;
    letter-spacing: 0.02em;
    line-height: 1.7;
    position: absolute;
    text-align: center;
    top: 50%;
    translate: 0 -50%;
    width: 38px;
    padding-block: 0px;
  }

  .p-faq .js-content {
    margin-inline: auto;
    width: min(95%, 1000px);
  }

  .p-faq .p-faq__an-txt {
    background: #f5f5f5;
    color: #040404;
    display: block;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.9333333333;
    padding-block: 25px 24px;
    padding-inline: 80px 0;
    position: relative;
    margin: 0;
  }

  .p-faq .p-faq__an-txt.wysiwyg p {
    color: #040404;
    display: block;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.9333333333;
  }

  .p-faq .p-faq__an-txt::before {
    background: #181c62;
    background: #fff;
    border-radius: 4px;
    color: #181c62;
    content: "A";
    font-size: 20px;
    font-weight: 500;
    height: 38px;
    left: 24px;
    letter-spacing: 0.02em;
    line-height: 1.7;
    position: absolute;
    text-align: center;
    top: 22px;
    width: 38px;
  }

  .p-faq .c-btn.faq {
    position: absolute;
    right: 48px;
    top: 29px;
  }

  /* access
-------------------------------------*/
  .p-access {
    margin-bottom: 58px;
  }

  .p-access .l-inner.l-access {
    margin-inline: auto;
    width: min(95%, 1200px);
  }

  .p-access .p-access__logo-wrap {
    margin-bottom: -59px;
    margin-inline: auto;
    padding-inline: 0 54px;
    text-align: right;
    width: min(95%, 1200px);
  }

  .p-access .p-accsess__logo {
    background: #181c62;
    border-radius: 50%;
    height: 120px;
    margin-left: auto;
    padding: 8px;
    position: relative;
    width: 120px;
    left: 31px;
  }

  .p-access .p-accsess__logo .logo {
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
  }

  .p-access .p-accsess__logo .txt {
    animation: rotation 12s linear infinite;
    height: 113px;
    left: 3px;
    position: absolute;
    top: 3px;
    width: 113px;
  }

  .p-access .p-access__con {
    display: grid;
    grid-template-columns: 65% 35%;
  }

  .p-access .p-access__con-left iframe {
    height: 520px;
    width: 100%;
    margin: 0;
  }

  .p-access .p-access__con-right {
    background: #ffffff;
    padding-block: 73px 0px;
    padding-inline: 55px 0;
  }

  .p-access .p-access__con-right h2 {
    color: #181c62;
    font-size: 34px;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1;
    margin-bottom: 27px;
  }

  /* No.19 欧文は同じpxでも小さく見えるため拡大（/company/ のNo.103と同じ1.25em）*/
  .p-access .p-access__con-right h2 .name-en {
    font-size: 1.25em;
  }

  .p-access .p-access__con-right .img {
    margin-bottom: 15px;
  }

  .p-access .p-access__con-right .img img {
    height: auto;
    width: 283px;
  }

  .p-access .p-access__con-right .address {
    color: #040404;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1.7333333333;
    margin-bottom: 31px;
  }

  .p-access .p-access__con-right .link a {
    border-bottom: 1px solid #181c62;
    color: #040404;
    display: inline-block;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1.8571428571;
    padding-bottom: 10px;
    padding-inline: 1px 102px;
    position: relative;
  }

  .p-access .p-access__con-right .link a::after {
    background: url(../images/index/btn_arrow.svg) no-repeat center
      center/contain;
    content: "";
    height: 14px;
    position: absolute;
    right: 10px;
    top: 8px;
    width: 14px;
  }

  /* staff
-------------------------------------*/
  .p-staff .p-staff__con {
    align-items: flex-end;
    display: flex;
    justify-content: space-between;
    margin-inline: auto;
    position: relative;
    width: min(95%, 1100px);
    z-index: 1;
  }

  .p-staff .p-staff__con-left {
    color: #181c62;
    font-size: 42px;
    font-weight: 700;
    line-height: 1;
    padding-block: 0 33px;
  }

  .p-staff .p-staff__con-left span {
    font-size: 86px;
    font-weight: 900;
    letter-spacing: -0.15em;
    line-height: 1;
  }

  .p-staff .p-staff__con-center {
    position: relative;
    top: 32px;
    left: -26px;
  }

  .p-staff .p-staff__con-center img {
    height: auto;
    width: 416px;
  }

  .p-staff .p-staff__con-right {
    padding-block: 0 35px;
  }

  .p-staff .p-staff__con-right a {
    padding-inline: 38px 65px;
  }

  .p-staff .p-staff__con-right a::after {
    right: 39px;
  }

  .p-staff .system-list {
    display: flex;
  }

  .p-staff .system-list li:nth-child(even) {
    position: relative;
    top: 118px;
  }

  /* カード幅を写真の直径に固定する。
     固定しないと、役職の文字数だけカードが横に伸びて幅がバラバラになる。 */
  .p-staff .system-list > li {
    flex: 0 0 220px;
    width: 220px;
  }

  .p-staff .system-list li a {
    display: block;
  }

  .p-staff .system-pic {
    background: #ffffff;
    border-radius: 50%;
    height: 220px;
    margin-inline: auto;
    padding: 4px;
    position: relative;
    width: 220px;
    margin-bottom: 0px;
  }

  .p-staff .system-pic:before {
    background: url(../images/index/staff_slider_en.svg) no-repeat center
      center/contain;
    content: "";
    height: 200px;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 200px;
  }

  .p-staff .system-pic img {
    border-radius: 50%;
    height: 170px;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 170px;
  }

  .p-staff .system-ttl {
    color: #ffffff;
    font-size: 14px;
    font-size: clamp(0.625rem, 0.458rem + 0.35vw, 0.875rem);
    font-weight: 400;
    letter-spacing: 0.02em;
    line-height: 2.1428571429;
    margin-bottom: 0;
    text-align: center;
  }

  .p-staff .system-job {
    /* 折り返しで「ー」や小書き文字が行頭に来ないようにする（日本語の禁則） */
    line-break: strict;
    color: #ffffff;
    font-size: 15px;
    font-size: clamp(0.75rem, 0.625rem + 0.26vw, 0.938rem);
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 2;
    text-align: center;
  }

  .p-staff__loop {
  }

  .p-staff .l-inner {
    overflow: hidden;
  }

  .p-staff .p-staff__loop-wrap {
    display: flex;
    align-items: center;
    background: #181c62;
    padding-block: 45px 140px;
    padding-inline: 40px;
    width: 400%;
  }

  .p-staff .p-staff__slider {
    animation: scroll-left 120s linear infinite;
    display: flex;
  }

  .p-staff .p-staff__loop-wrap:hover .p-staff__slider {
    animation-play-state: paused;
  }

  /* blog
-------------------------------------*/
  .p-blog {
    background: #f9f5e9;
  }

  .p-blog .l-inner.l-blog {
    margin-inline: auto;
    padding-block: 76px 36px;
    width: min(95%, 1100px);
  }

  .p-blog .c-blog__ttl {
    color: #181c62;
    font-size: 32px;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1;
    margin-bottom: 24px;
  }

  .p-blog .p-blog__box {
    background: #ffffff;
    margin-bottom: 50px;
    padding-block: 30px 32px;
  }

  .p-blog .p-blog__con {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 34px;
    margin-inline: auto;
    width: min(95%, 1012px);
  }

  .p-blog .p-blog__subttl-wrap {
    align-items: flex-end;
    display: flex;
    gap: 0 26px;
  }

  .p-blog .p-blog__subttl-wrap h3 {
    color: #181c62;
    font-size: 16px;
    font-size: clamp(0.813rem, 0.688rem + 0.26vw, 1rem);
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1;
  }

  .p-blog .c-btn02 a {
    border-bottom: 2px solid #181c62;
    color: #040404;
    display: inline-block;
    display: inline-block;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1.8571428571;
    padding-bottom: 10px;
    padding-inline: 8px 40px;
    position: relative;
  }

  .p-blog .c-btn02 a::after {
    background: url(../images/index/btn_arrow.svg) no-repeat center
      center/contain;
    content: "";
    height: 15px;
    position: absolute;
    right: 14px;
    top: 8px;
    width: 15px;
  }

  .p-blog .system-list {
    display: grid;
    gap: 0 35px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-inline: auto;
    width: min(95%, 1012px);
  }

  .p-blog .system-list li a {
    display: block;
  }

  .p-blog .system-pic {
    margin-bottom: 10px;
  }

  .p-blog .system-pic img {
    height: 230px;
    height: clamp(10rem, 7.083rem + 6.08vw, 14.375rem);
    width: 100%;
  }

  .p-blog .system-date {
    color: #040404;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0.04em;
    line-height: 1.5714285714;
    margin-bottom: 0;
  }

  .p-blog .system-ttl {
    color: #040404;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1.7333333333;
  }

  /* seo
-------------------------------------*/
  .p-seo {
    color: #ffffff;
    margin-bottom: -225px;
    padding-block: 36px 46px;
    position: relative;
    z-index: 1;
  }

  .p-seo .l-inner.l-seo {
    margin-inline: auto;
    width: min(95%, 1100px);
  }

  .p-seo p {
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0.04em;
    line-height: 1.7142857143;
  }
}

/* ========================================
@media screen and (min-width: 768px) and (max-width: 1919px) {
======================================== */
@media screen and (min-width: 768px) and (max-width: 1919px) {
  .p-meet .p-meet__loop02 {
    border-bottom: 2px solid #181c62;
    margin-bottom: -14.226vw;
  }

  .p-meet .p-meet__icon img {
    height: auto;
    width: 19.906vw;
  }

  .p-staff .p-staff__loop-wrap {
    display: flex;
    align-items: center;
    background: #181c62;
    padding-block: 2.345vw 7.295vw;
    padding-inline: 2.084vw;
    width: 400%;
  }

  .p-staff .system-list li:nth-child(even) {
    position: relative;
    top: 6.149vw;
  }

  /* カード幅を写真の直径に固定する（上に同じ） */
  .p-staff .system-list > li {
    flex: 0 0 11.464vw;
    width: 11.464vw;
  }

  .p-staff .system-list li a {
    display: block;
  }

  .p-staff .system-pic {
    background: #ffffff;
    border-radius: 50%;
    height: 11.464vw;
    margin-inline: auto;
    padding: 0.208vw;
    position: relative;
    width: 11.464vw;
    margin-bottom: 0px;
  }

  .p-staff .system-pic:before {
    background: url(../images/index/staff_slider_en.svg) no-repeat center
      center/contain;
    content: "";
    height: 10.422vw;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 10.422vw;
  }

  .p-staff .system-pic img {
    border-radius: 50%;
    height: 8.859vw;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 8.859vw;
  }

  .p-interview .prev-arrow {
    position: absolute;
    right: calc(50% + 17.301vw);
    top: 50%;
    transform: translateY(-50%);
    z-index: 11;
  }

  .p-interview .prev-arrow img {
    height: auto;
    width: 4.169vw;
  }

  .p-interview .next-arrow {
    left: calc(50% + 17.457vw);
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 11;
  }

  .p-interview .next-arrow img {
    height: auto;
    width: 4.169vw;
  }

  .p-interview .voice-con-right {
    position: relative;
    top: 1.084vw;
  }

  .p-event .p-event__con02 .system-list {
    color: #040404;
    display: grid;
    gap: 0 3.6%;
    grid-template-columns: repeat(5, 1fr);
    grid-template-rows: repeat(6, 1fr);
    position: relative;
    top: -2.866vw;
    left: 0px;
    margin-bottom: -9.953vw;
  }

  .p-interview .p-voice__bottom-en {
    bottom: 1.563vw;
    position: absolute;
    right: 1.72vw;
  }

  .p-interview .p-voice__bottom-en img {
    width: 7.993vw;
    height: auto;
  }
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1600px) {
======================================== */
@media screen and (min-width: 768px) and (max-width: 1600px) {
  /* movie
-------------------------------------*/
  .p-movie {
    margin-inline: auto;
    overflow: hidden;
    padding-block: 6vw 0;
    width: min(100%, 1920px);
  }

  .p-movie .l-inner.l-movie {
    background: #181c62;
    height: 29.313vw;
    padding-block: 0 1.25vw;
  }

  .p-movie .p-movie__con {
    margin-left: auto;
    position: relative;
    top: -3.75vw;
    width: min(90%, 1580px);
  }

  .p-movie .p-movie__con-left {
    background: #fff;
    border: 2px solid #181c62;
    border-radius: 12.5vw;
    color: #181c62;
    left: 0;
    padding-inline: 0px;
    position: absolute;
    top: 0;
    width: 15.125vw;
  }

  .p-movie .p-movie__con-left .en {
    position: relative;
    text-align: center;
    top: -1.937vw;
    margin-bottom: -1.937vw;
  }

  .p-movie .p-movie__con-left h2 {
    text-align: center;
    margin-bottom: 0.625vw;
  }

  .p-movie .p-movie__con-left h2 span.top {
    font-size: 2.25vw;
    font-weight: 700;
    line-height: 1.3888888889;
    margin-bottom: 0.5vw;
  }

  .p-movie .p-movie__con-left h2 span.top span {
    font-size: 3.875vw;
    font-weight: 700;
    letter-spacing: -0.09em;
    line-height: 1;
    margin-inline: 0 0.125vw;
  }

  .p-movie .p-movie__con-left h2 span.bottom {
    display: block;
    font-size: 1.125vw;
    font-weight: 900;
    letter-spacing: 0.04em;
    line-height: 1.5;
  }

  .p-movie .p-movie__con-left .img {
    left: -1.437vw;
    position: relative;
    text-align: center;
    margin-bottom: -1.062vw;
  }

  .p-movie .p-movie__con-left .img img {
    height: auto;
    width: 17.188vw;
  }

  .p-movie .p-movie__con-right {
    left: calc(50% - 29.5vw);
    position: absolute;
    top: 2.438vw;
    width: 100%;
  }

  .p-movie .p-movie__con-right-item a {
    display: block;
    margin-inline: 0px;
    text-align: center;
  }

  .p-movie .p-movie__con-right-item a img {
    height: auto;
    margin-inline: auto;
    width: 15.563vw;
  }

  .p-movie .prev-arrow {
    position: absolute;
    right: calc(50% + 52.063vw);
    top: 76%;
    z-index: 11;
    width: 3.25vw;
  }

  .p-movie .next-arrow {
    position: absolute;
    right: calc(50% + 48.188vw);
    top: 76%;
    z-index: 11;
    width: 3.25vw;
  }

  .p-reason .p-reason__items {
    display: grid;
    gap: 0 0.2vw;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 1.867vw;
  }

  .p-reason .p-reason__item {
    background: #181c62;
    display: block grid;
    grid-row: span 3;
    /* grid-template-rows: subgrid; */
    position: relative;
    transition: all 0.3s ease-in-out;
  }

  .p-reason .p-reason__item-ttl {
    color: #ffffff;
    font-size: 2.8vw;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 2;
    margin-bottom: 0.2vw;
    padding-block: 2.8vw 0;
    text-align: center;
  }

  .p-reason .p-reason__item-ttl.--reason01 span:before {
    background: url(../images/index/reason01_ten.svg) no-repeat center
      center/contain;
    height: 1.267vw;
    width: 10.2vw;
  }

  .p-reason .p-reason__item-ttl.--reason02 span:before {
    background: url(../images/index/reason02_ten.svg) no-repeat center
      center/contain;
    height: 1.267vw;
    width: 23.267vw;
  }

  .p-reason .p-reason__item-ttl.--reason02 span.top:before {
    content: none;
  }

  .p-reason .p-reason__item-ttl.--reason03 span:before {
    background: url(../images/index/reason03_ten.svg) no-repeat center
      center/contain;
    height: 1.267vw;
    width: 23.267vw;
  }

  .p-reason .p-reason__item-ttl span {
    font-size: 4.267vw;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.453125;
    position: relative;
  }

  .p-reason .p-reason__item-ttl span:before {
    content: "";
    left: 1.333vw;
    position: absolute;
    top: -0.533vw;
  }

  .p-reason .p-reason__item-txt-img {
    margin-bottom: -0.867vw;
    margin-inline: auto;
    width: 27.3vw;
  }

  .p-reason .p-reason__item-txt-img.--reason03 {
    margin-bottom: 1.8vw;
  }

  .p-reason .p-reason__item-txt-img .en {
    position: relative;
    left: 1.6vw;
    margin-bottom: -6.2vw;
  }

  .p-reason .p-reason__item-txt-img.--reason03 .en {
    left: -0.4vw;
    margin-bottom: -7vw;
    top: 1.533vw;
  }

  .p-reason .p-reason__item-txt-img.--reason03 .en svg {
    transform: rotate(0deg);
  }

  .p-reason .p-reason__item-txt-img.--reason02 .en {
    margin-bottom: -7.067vw;
  }

  .p-reason .p-reason__item-txt-img .img img {
    height: auto;
    width: 100%;
  }

  .p-reason .p-reason__item-txt {
    color: #ffffff;
    font-size: 1.467vw;
    font-size: clamp(0.625rem, 0.125rem + 1.04vw, 1.375rem);
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.7727272727;
    padding-block: 0 2.267vw;
    text-align: center;
  }

  .p-reason .p-reason__item-en {
    bottom: 0.733vw;
    padding-inline: 0.533vw;
    position: absolute;
    right: 0.4vw;
  }

  .p-reason .p-reason__item-txt-img.--reason03 .en svg {
    transform: rotate(5deg);
  }
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1400px) {
======================================== */
@media screen and (min-width: 768px) and (max-width: 1400px) {
  /* mv
-------------------------------------*/
  .p-mv {
    overflow: hidden;
  }

  .p-mv .l-inner.l-mv {
    padding-block: 4.5vw 0px;
  }

  .p-mv .p-mv__loop {
    left: 50%;
    transform: translateX(-50%);
    position: absolute;
    top: 0;
    margin-inline: auto;
    width: min(100%, 1920px);
  }

  .p-mv .l-mv__loop {
    height: 56.786vw;
    overflow: hidden;
  }

  .p-mv .p-mv__loop-wrap {
    animation: vertical-animation 200s linear infinite;
    display: grid; /* slideのmargin-bottom値を全て内包させる為 */
  }

  .p-mv .p-mv__slider img {
    height: auto;
    width: 100%;
  }

  .p-mv .p-mv__box {
    border: 3px solid #181c62;
    border-radius: 1.429vw;
    height: 52.286vw;
    margin-bottom: 1.071vw;
    margin-inline: auto;
    position: relative;
    width: min(95%, 1802px);
  }

  .p-mv .p-mv__box .en {
    left: 2.429vw;
    position: absolute;
    top: 2.429vw;
  }

  .p-mv .p-mv__box .en img {
    height: auto;
    width: 22.929vw;
  }

  .p-mv .p-mv__box .ja {
    position: absolute;
  }

  .p-mv .p-mv__box .ja.--ttl01 {
    right: -2vw;
    top: -2.857vw;
    z-index: 1;
  }

  .p-mv .p-mv__box .ja.--ttl01 img {
    width: 17.571vw;
    height: auto;
  }

  .p-mv .p-mv__box .ja.--ttl02 {
    bottom: -1.643vw;
    left: -2.214vw;
    z-index: 1;
  }

  .p-mv .p-mv__box .ja.--ttl02 img {
    width: 17.571vw;
    height: auto;
  }

  .p-mv .p-mv__box .logo {
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
  }

  .p-mv .p-mv__box .logo img {
    height: auto;
    width: 34.5vw;
  }

  .p-mv .p-mv__box .img {
    position: absolute;
  }

  .p-mv .p-mv__box .img.--img01 {
    bottom: 0;
    left: 0;
  }

  .p-mv .p-mv__box .img.--img01 img {
    height: auto;
    width: 26.357vw;
  }

  .p-mv .p-mv__box .img.--img02 {
    bottom: -1.786vw;
    right: -1.214vw;
  }

  .p-mv .p-mv__box .img.--img02 img {
    height: auto;
    width: 28.429vw;
  }

  .p-mv .p-mv__box .img.--img03 {
    right: -2.571vw;
    top: 6.571vw;
  }

  .p-mv .p-mv__box .img.--img03 img {
    height: auto;
    width: 16.357vw;
  }

  .p-mv .p-mv__box .img.--img04 {
    left: calc(50% + 24.786vw);
    top: 11.143vw;
  }

  .p-mv .p-mv__box .img.--img04 img {
    height: auto;
    width: 8.929vw;
  }

  .p-mv .p-mv__ttl {
    color: #181c62;
    font-size: 1.143vw;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 2;
    text-align: center;
  }
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1300px) {
======================================== */
@media screen and (min-width: 768px) and (max-width: 1300px) {
  .p-movie .p-movie__con-right {
    left: calc(50% - 23.5vw);
  }

  .p-movie .prev-arrow {
    position: absolute;
    right: calc(50% + 53.063vw);
    top: 76%;
    z-index: 11;
    width: 3.25vw;
  }

  .p-movie .next-arrow {
    position: absolute;
    right: calc(50% + 49.188vw);
    top: 76%;
    z-index: 11;
    width: 3.25vw;
  }

  .p-know .p-know__con-left .img img {
    height: auto;
    width: 100%;
  }

  .p-know .p-know__con-left .img02 {
    bottom: -1.385vw;
    left: -5.846vw;
    position: absolute;
    text-align: center;
  }

  .p-know .p-know__con-left .img02 .top {
    height: auto;
    margin-bottom: -2.462vw;
    width: 14.538vw;
  }

  .p-know .p-know__con-left .img02 .bottom {
    background: #181c62;
    border-radius: 50%;
    height: 11.846vw;
    margin-inline: auto;
    padding: 0.615vw;
    position: relative;
    width: 11.846vw;
  }

  .p-know .p-know__con-left .img02 .bottom .txt {
    width: 10.769vw;
    height: 10.692vw;
  }

  .p-know .p-know__loop {
    position: absolute;
    right: -2.5vw;
    top: 0;
    height: 100%;
    overflow: hidden;
  }

  .p-know .p-know__slider img {
    height: auto;
    width: 5.308vw;
  }

  .p-know .p-know__con-right .ttl h2 {
    color: #181c62;
    font-size: 2.769vw;
    font-weight: 700;
    line-height: 1.5;
  }

  .p-know .p-know__con-right .ttl .img img {
    height: auto;
    width: 13.385vw;
  }

  .p-know .p-know__box {
    padding-block: 0 4.308vw;
  }

  .p-know .p-know__con {
    grid-template-columns: 52.7% 41.4%;
  }
}

/* ========================================

======================================== */
@media screen and (min-width: 768px) and (max-width: 1204px) {
  .p-works .c-works__ttl {
    margin-bottom: 1.3vw;
  }

  .p-works .c-works__en {
    padding-block: 2vw 0;
  }
}

/* ========================================
@media screen and (min-width: 768px) and (max-width: 1200px) {
======================================== */
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-make .p-make__con-left .top {
    color: #181c62;
    font-size: 1.833vw;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.4545454545;
    margin-bottom: 0.833vw;
  }

  .p-make .p-make__con-left h3 {
    color: #181c62;
    font-size: 4.333vw;
    font-weight: 700;
    line-height: 1.2307692308;
    margin-bottom: 2.417vw;
  }

  .p-make .p-make__con-left h3.marker {
    background-image: linear-gradient(90deg, #fff100, #fff100); /* 線の色 */
    background-position: left bottom; /* 線の起点を左・下に設定 */
    background-repeat: no-repeat;
    background-size: 0 0.3em; /* 線の横幅を0、縦幅を0.5emに */
    display: inline-block;
    padding-bottom: 0.25vw; /* 下線を下にズラす */
    transition: background-size 1.5s; /* 線を伸ばすアニメーション実行時間を指定 */
  }

  .p-make .p-make__con-left h3 {
    /* マーカーが表示された時のスタイル */
  }

  .p-make .p-make__con-left h3.marker.active {
    background-size: 100% 0.3em; /* 線の横幅を100%にする */
  }

  .p-make .p-make__con-left h3 .marker {
    transition: background-size 0.6s ease;
  }

  .p-make .p-make__con-left h3 .marker:nth-of-type(2) {
    transition-delay: 0.3s;
  }

  .p-make .p-make__con-left h3 span.marker {
    background-image: linear-gradient(90deg, #fff100, #fff100); /* 線の色 */
    background-position: left bottom; /* 線の起点を左・下に設定 */
    background-repeat: no-repeat;
    background-size: 0 0.3em; /* 線の横幅を0、縦幅を0.5emに */
    display: inline-block;
    padding-bottom: 0.25vw; /* 下線を下にズラす */
    transition: background-size 1.5s; /* 線を伸ばすアニメーション実行時間を指定 */
  }

  .p-make .p-make__con-left h3 span.marker.active {
    background-size: 100% 0.3em; /* 線の横幅を100%にする */
  }

  .p-make .p-make__con.--make01 .p-make__con-left .btn a::after {
    background: url(../images/index/make_btn_icon.png) no-repeat center
      center/contain;
    bottom: 0;
    content: "";
    height: 14vw;
    position: absolute;
    right: 0.667vw;
    width: 9.75vw;
  }

  .p-make .p-make__con.--make01 .p-make__con-left .btn a:hover::after {
    background: url(../images/index/make_btn_icon_hover.png) no-repeat center
      center/contain;
    bottom: -2.25vw;
    height: 20.833vw;
    right: -1.708vw;
    width: 14.417vw;
  }

  .p-make .p-make__con {
    display: grid;
    gap: 0 4.5%;
    grid-template-columns: 40.5% 50%;
    justify-content: flex-end;
  }

  .p-make .p-make__con.--make02 {
    display: grid;
    gap: 0 4.5%;
    grid-template-columns: 50% 44.5%;
    justify-content: flex-start;
  }

  .p-make .p-make__con-left {
    position: relative;
    top: 3.333vw;
    padding-block: 0 5vw;
  }

  .p-make .p-make__con-right img {
    height: 100%;
    width: 100%;
    object-fit: cover;
  }

  .p-event .p-event__con02 .system-list li:nth-of-type(2) {
    grid-area: 1/3/3/6;
    top: 26px;
    position: relative;
  }
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1100px) {
======================================== */
@media screen and (min-width: 768px) and (max-width: 1100px) {
  .p-access .p-access__con-right .img img {
    height: auto;
    width: 25.727vw;
  }

  .p-access .p-access__con-right {
    background: #ffffff;
    padding-block: 6.636vw 0px;
    padding-inline: 2.5vw;
  }

  .p-seo {
    color: #ffffff;
    margin-bottom: -39vw;
    padding-block: 3.273vw 4.182vw;
    position: relative;
    z-index: 1;
  }

  .p-staff .p-staff__con {
    align-items: flex-end;
    display: flex;
    justify-content: space-between;
    margin-inline: auto;
    position: relative;
    width: min(95%, 1100px);
    z-index: 1;
  }

  .p-staff .p-staff__con-left {
    color: #181c62;
    font-size: 2.727vw;
    font-weight: 700;
    line-height: 1;
    padding-block: 0 3vw;
  }

  .p-staff .p-staff__con-left span {
    font-size: 5.818vw;
    font-weight: 900;
    letter-spacing: -0.15em;
    line-height: 1;
  }

  .p-staff .p-staff__con-center {
    position: relative;
    top: 2.909vw;
    left: auto;
  }

  .p-staff .p-staff__con-center img {
    height: auto;
    width: 37.818vw;
  }

  .p-staff .p-staff__con-right {
    padding-block: 0 3.182vw;
  }

  .p-staff .p-staff__con-right a {
    padding-inline: 3.455vw 5.909vw;
  }

  .p-staff .p-staff__con-right a::after {
    right: 3.545vw;
  }
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1050px) {
======================================== */
@media screen and (min-width: 768px) and (max-width: 1050px) {
  .p-know .p-know__con-left .img02 {
    bottom: clamp(-14.543px, -79.7373vw + 822.7px, 210.317px);
  }
}

/* ========================================
@media screen and (min-width: 768px) and (max-width: 950px) {
======================================== */
@media screen and (min-width: 768px) and (max-width: 950px) {
  .p-access .p-accsess__logo {
    background: #181c62;
    border-radius: 50%;
    height: 12.632vw;
    margin-left: auto;
    padding: 0.842vw;
    position: relative;
    width: 12.632vw;
    left: 3.263vw;
  }

  .p-access .p-accsess__logo .txt {
    animation: rotation 12s linear infinite;
    height: 11.895vw;
    left: 0.316vw;
    position: absolute;
    top: 0.316vw;
    width: 11.895vw;
  }

  .p-access .p-access__logo-wrap {
    margin-bottom: -6.211vw;
    margin-inline: auto;
    padding-inline: 0 5.684vw;
    text-align: right;
    width: min(95%, 1200px);
  }

  .p-know .p-know__con-left .img02 {
  }
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:900px) {
======================================== */
@media screen and (min-width: 768px) and (max-width: 900px) {
  .p-faq .p-faq__icon {
    left: calc(50% + -3.333vw);
    margin-bottom: -2vw;
    position: relative;
    width: 15.222vw;
  }

  .p-faq .p-faq__icon img {
    height: auto;
    width: 15.222vw;
  }
	
  .p-faq .p-faq__icon02 {
    left: calc(50% + -3.333vw);
    margin-bottom: -2vw;
    position: relative;
    width: 15.222vw;
  }

  .p-faq .p-faq__icon02 img {
    height: auto;
    width: 15.222vw;
  }

  .p-faq .c-btn.faq {
    position: absolute;
    right: 0vw;
    top: 3.222vw;
  }
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:850px) {
======================================== */
@media screen and (min-width: 768px) and (max-width: 850px) {
  .p-meet .c-meet__ttl img {
    width: 90%;
  }
}

/* ========================================
   @media screen and (max-width: 767px)
======================================== */
@media screen and (max-width: 767px) {
  /* mv
-------------------------------------*/
  .p-mv .l-inner.l-mv {
    padding-block: 7.729vw 0;
  }

  .p-mv .p-mv__loop {
    left: 0;
    position: absolute;
    top: 0;
  }

  .p-mv .l-mv__loop {
    height: 123.671vw;
    overflow: hidden;
  }

  .p-mv .p-mv__loop-wrap {
    animation: vertical-animation 120s linear infinite;
    display: grid;
  }

  .p-mv .p-mv__slider img {
    height: auto;
    width: 100%;
  }

  .p-mv .p-mv__box {
    border: 2px solid #181c62;
    border-radius: 4.831vw;
    height: 120.773vw;
    margin-bottom: 7.14vw;
    margin-inline: auto;
    position: relative;
    width: min(95%, 89.3vw);
  }

  .p-mv .p-mv__box .en {
    left: 3.14vw;
    position: absolute;
    top: 3.382vw;
  }

  .p-mv .p-mv__box .en img {
    height: auto;
    width: 23.913vw;
  }

  .p-mv .p-mv__box .ja {
    position: absolute;
  }

  .p-mv .p-mv__box .ja.--ttl01 {
    right: -2.623vw;
    top: -4.623vw;
  }

  .p-mv .p-mv__box .ja.--ttl01 img {
    height: auto;
    width: 30.676vw;
  }

  .p-mv .p-mv__box .ja.--ttl02 {
    bottom: -3vw;
    left: -4vw;
    z-index: 1;
  }

  .p-mv .p-mv__box .ja.--ttl02 img {
    height: auto;
    width: 30.676vw;
  }

  .p-mv .p-mv__box .logo {
    left: 50%;
    position: absolute;
    top: 48%;
    transform: translate(-50%, -50%);
  }

  .p-mv .p-mv__box .logo img {
    height: auto;
    width: 44.928vw;
  }

  .p-mv .p-mv__box .img {
    position: absolute;
  }

  .p-mv .p-mv__box .img.--img01 {
    bottom: 0;
    left: 0;
  }

  .p-mv .p-mv__box .img.--img01 img {
    height: auto;
    width: 42.754vw;
  }

  .p-mv .p-mv__box .img.--img02 {
    bottom: -2vw;
    right: -4vw;
  }

  .p-mv .p-mv__box .img.--img02 img {
    height: auto;
    width: 30.676vw;
  }

  .p-mv .p-mv__box .img.--img03 {
    right: -4.696vw;
    top: 14.947vw;
  }

  .p-mv .p-mv__box .img.--img03 img {
    height: auto;
    width: 18.841vw;
  }

  .p-mv .p-mv__box .img.--img04 {
    left: calc(50% - 24.155vw);
    top: 11.111vw;
  }

  .p-mv .p-mv__box .img.--img04 img {
    height: auto;
    width: 9.903vw;
  }

  .p-mv .p-mv__ttl {
    color: #181c62;
    font-size: 3.14vw;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.7692307692;
    margin-inline: auto;
    text-align: left;
    width: min(95%, 89.3vw);
  }

  /* movie
-------------------------------------*/
  .p-movie {
    padding-block: 20.155vw 0;
    width: 100%;
  }

  .p-movie .l-inner.l-movie {
    background: #181c62;
    padding-block: 0 1vw;
  }

  .p-movie .p-movie__con {
    margin: 0;
    position: relative;
    top: -14.324vw;
    width: 100%;
  }

  .p-movie .p-movie__con-left {
    background: transparent;
    border: none;
    border-radius: 0;
    color: #181c62;
    margin-bottom: -27.986vw;
    position: relative;
    width: 100%;
  }

  .p-movie .p-movie__con-left .en {
    position: absolute;
    right: 5vw;
    top: 4vw;
  }

  .p-movie .p-movie__con-left .en img {
    height: auto;
    width: 21.739vw;
  }

  .p-movie .p-movie__con-left h2 {
    background: #fff;
    border: 2px solid #181c62;
    border-radius: 24.155vw;
    margin-inline: auto;
    order: 2;
    padding-block: 3.382vw 4.106vw;
    text-align: center;
    width: min(95%, 72.4637681159vw);
  }

  .p-movie .p-movie__con-left h2 span.top {
    font-size: 5.797vw;
    font-weight: 900;
    line-height: 1;
    text-align: center;
  }

  .p-movie .p-movie__con-left h2 span.top span {
    font-size: 9.662vw;
    font-weight: 700;
    letter-spacing: -0.09em;
    line-height: 1;
    margin-inline: 0 0.483vw;
  }

  .p-movie .p-movie__con-left h2 span.bottom {
    font-size: 3.382vw;
    font-weight: 900;
    letter-spacing: 0.04em;
    line-height: 1.5;
    text-align: center;
    display: block;
  }

  .p-movie .p-movie__con-left .img {
    left: 0px;
    position: relative;
    text-align: left;
    top: -33.816vw;
  }

  .p-movie .p-movie__con-left .img img {
    height: auto;
    width: 27.295vw;
  }

  .p-movie .p-movie__con-right {
    position: static;
  }

  .p-movie .p-movie__con-right-item a {
    display: block;
    margin-inline: 0;
    text-align: center;
  }

  .p-movie .p-movie__con-right-item a img {
    height: auto;
    margin-inline: auto;
    width: 37.198vw;
  }

  .p-movie .prev-arrow {
    bottom: -12.908vw;
    position: absolute;
    right: calc(50% - -1.343vw);
    top: auto;
  }

  .p-movie .next-arrow {
    bottom: -12.908vw;
    left: calc(50% + 1.657vw);
    position: absolute;
    right: auto;
    top: auto;
  }

  /* モーダル表示
-------------------------------------*/
  .p-movie-modal {
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
  }

  .p-movie-modal[open] {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .p-movie-modal::backdrop {
    background: rgba(4, 4, 4, 0.8);
  }

  .p-movie-modal__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4.831vw;
  }

  .p-movie-modal__video video {
    display: block;
    width: auto;
    height: auto;
    width: min(95%, 86.9vw);
    max-height: 70vh;
    background: #000;
    border-radius: 1.932vw;
    margin-inline: auto;
  }

  .p-movie-modal__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 2.899vw;
    min-width: 62.802vw;
    padding: 3.14vw 5.797vw;
    border: 1px solid #fff;
    border-radius: 7.246vw;
    background: transparent;
    color: #fff;
    font-size: 4.348vw;
    font-weight: 500;
    letter-spacing: 0.08em;
    line-height: 1;
    cursor: pointer;
    transition: opacity 0.2s;
  }

  .p-movie-modal__close:hover {
    opacity: 0.7;
  }

  .c-btn.event {
    order: 3;
    text-align: center;
	  position: absolute;
	  bottom: 10vw;
	  left: 0;
	  right: 0;
  }

  .c-btn a {
    background: #fff;
    border: 2px solid #181c62;
    border-radius: 48.309vw;
    box-shadow: 0 4px 0 0 #181c62;
    padding-block: 3.382vw;
    padding-inline: 7.488vw 12.043vw;
    font-size: 3.382vw;
    font-weight: 500;
    line-height: 6.28vw; /* 185.714% */
    letter-spacing: 0.135vw;
    display: block;
    width: 62.8vw;
    margin-inline: auto;
    position: relative;
  }

  .c-btn a::after {
    background: url(../images/index/btn_arrow.svg) no-repeat center
      center/contain;
    content: "";
    height: 3.899vw;
    position: absolute;
    right: 5.831vw;
    top: 4.5vw;
    width: 4.899vw;
  }

  /* event
-------------------------------------*/
  .p-event {
    background: #efe8d8;
  }

  .p-event .p-event__loop {
    border-bottom: 2px solid #181c62;
    margin-bottom: 2.899vw;
    padding-block: 0.5vw;
  }

  .p-event .p-event__loop-wrap {
    align-items: center;
    display: flex;
    gap: 0 1.691vw;
    width: 691.304vw;
  }

  .p-event .p-event__slider {
    animation: scroll-left 60s linear infinite;
  }

  .p-event .p-event__slider img {
    height: auto;
    width: 100%;
  }

  .p-event .l-event {
    width: 100%;
    padding-block: 0 14vw;
    display: grid;
	  position: relative;
  }

  .p-event .p-event__con {
    /*display: contents;*/
  }

  .p-event .p-event__con-ttl {
    margin-bottom: -6.338vw;
    order: 1;
    text-align: center;
  }

  .p-event .p-event__con-ttl img {
    height: auto;
    width: 71.464vw;
  }

  .p-event .p-event__con02 {
    width: 100% !important;
    order: 2;
    margin-bottom: 7.488vw;
  }

  .p-event .p-event__con02 .system-list {
    color: #040404;
    width: 100vw !important;
    margin-bottom: -1vw;
  }

  .p-event .p-event__con02 .system-list li {
    width: 256px !important;
    margin-inline: 3vw;
  }

  .p-event .p-event__con02 .system-list li a {
    border-bottom: 1px solid #181c62;
    padding-block: 0 5.797vw;
  }

  .p-event .p-event__con02 .system-list li a .icon {
    color: #181c62;
    display: grid;
    font-size: 3.864vw;
    font-weight: 700;
    left: -6.246vw;
    line-height: 1;
    margin-bottom: -9.729vw;
    place-items: center;
    position: relative;
    top: 1vw;
    z-index: 1;
  }

  .p-event .p-event__con02 .system-list .icon.icon01 {
    background: url(../images/index/event_icon01_bg.svg) no-repeat center
      center/contain;
    height: 25.6vw;
    width: 25.6vw;
  }

  .p-event .p-event__con02 .system-list .icon.icon02 {
    background: url(../images/index/event_icon02_bg.svg) no-repeat center
      center/contain;
    color: #ffffff;
    height: 25.6vw;
    width: 25.6vw;
  }

  .p-event .p-event__con02 .system-list .system-pic {
    background: #fff;
    border: 2px solid #181c62;
    margin-bottom: 1.932vw;
    padding: 3vw;
  }

  .p-event .p-event__con02 .system-list li a .system-pic img {
    height: 55vw;
    width: 100%;
  }

  .p-event .p-event__con02 .system-list li .system-pic.is-ended {
    position: relative;
  }

  .p-event .p-event__con02 .system-list li .system-pic.is-ended img {
    filter: grayscale(100%);
  }

  .p-event .p-event__con02 .system-list li .system-pic.is-ended::after {
    background: #d9d9d9;
    content: "";
    inset: 0;
    opacity: 0.5;
    pointer-events: none;
    position: absolute;
  }

  .p-event .p-event__con02 .system-list li .system-ttl {
    border-bottom: 2px solid #bdb8ad;
    font-size: 3.865vw;
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1.625;
    margin-bottom: 2.415vw;
    padding-block: 0 3.14vw;
  }

  .p-event .p-event__con02 .system-list li .system-date {
    display: grid;
    gap: 0 3.623vw;
    grid-template-columns: 14.4vw minmax(0, 1fr);
    margin-bottom: -1vw;
  }

  .p-event .p-event__con02 .system-list li .date-ttl {
    color: #181c62;
    font-size: 3.382vw;
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 2.1428571429;
  }

  .p-event .p-event__con02 .system-list li .start_text {
    font-size: 3.382vw;
    font-weight: 400;
    letter-spacing: 0.04em;
    line-height: 1.8;
  }

  .prev-arrow {
    position: absolute;
    right: calc(50% + 28.918vw);
    top: 30%;
    z-index: 11;
  }

  .prev-arrow img {
    width: 12.077vw;
    height: auto;
  }

  .next-arrow {
    position: absolute;
    left: calc(50% + 28.845vw);
    top: 30%;
    z-index: 11;
  }

  .next-arrow img {
    width: 12.077vw;
    height: auto;
  }

  /* know
-------------------------------------*/
  .p-know {
    background: #ffffff;
    border-bottom: 2px solid #181c62;
    border-top: 2px solid #181c62;
    margin-bottom: 12.077vw;
    /* padding-block: 0 5vw; */
  }

  .p-know .p-know__box {
    margin-inline: auto;
    overflow: hidden;
    position: relative;
    width: 100%;
    padding-block: 0 1vw;
  }

  .p-know .p-know__con {
    display: grid;
    gap: 0;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    margin: 0;
    margin-left: auto;
    padding-block: 3.415vw 9.662vw;
    position: static;
    width: min(95%, 79.879227vw);
  }

  .p-know .p-know__con-left {
    margin-bottom: 4.348vw;
    order: 2;
    position: static;
  }

  .p-know .p-know__con-left .img {
  }

  .p-know .p-know__con-left .img img {
    height: auto;
    width: 74.638vw;
  }

  .p-know .p-know__con-left .img02 {
    bottom: auto;
    left: 15.662vw;
    position: absolute;
    text-align: center;
    top: 30.662vw;
  }

  .p-know .p-know__con-left .img02 .top {
    height: auto;
    margin-bottom: -3.797vw;
    width: 22.705vw;
  }

  .p-know .p-know__con-left .img02 .bottom {
    background: #181c62;
    border-radius: 50%;
    height: 18.908vw;
    margin-inline: auto;
    padding: 0.966vw;
    position: relative;
    width: 18.908vw;
  }

  .p-know .p-know__con-left .img02 .bottom .logo {
    height: auto;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 10.145vw;
  }

  .p-know .p-know__con-left .img02 .bottom .txt {
    animation: rotation 12s linear infinite;
  }

  .p-know .p-know__con-right {
    display: contents;
    position: static;
  }

  .p-know .p-know__con-right .ttl {
    align-items: center;
    display: flex;
    margin-bottom: -3vw;
    order: 1;
    position: relative;
    top: -2vw;
  }

  .p-know .p-know__con-right .ttl h2 {
    color: #181c62;
    font-size: 6.763vw;
    font-weight: 700;
    line-height: 1.4642857143;
    text-align: center;
    white-space: nowrap;
  }

  .p-know .p-know__con-right .ttl .img {
    position: relative;
    top: 1vw;
    left: -1vw;
  }

  .p-know .p-know__con-right .ttl .img img {
    height: auto;
    width: 25.121vw;
  }

  .p-know .p-know__con-right .txt {
    color: #040404;
    font-size: 3.623vw;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 2;
    margin-bottom: 6.386vw;
    order: 3;
    padding-inline: 0 5vw;
  }

  .p-know .p-know__con-right .txt p {
    margin-bottom: 6.5vw;
  }

  .p-know .p-know__con-right .txt p span.bold {
    font-weight: 700;
    font-size: 3.623vw;
    letter-spacing: 0.02em;
    line-height: 2;
  }

  .p-know .p-know__con-right .txt p span {
    font-size: 4.589vw;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.5789473684;
  }

  .p-know .p-know__con-right .txt p.bottom {
    margin-bottom: 0;
  }

  .p-know .p-know__con-right .c-btn.know {
    order: 4;
  }

  .p-know .p-know__con-right .c-btn.know a {
    width: 70vw;
    margin: 0;
  }

  .p-know .p-know__loop {
    left: 0;
    position: absolute;
    right: auto;
    top: 0;
  }

  .p-know .l-know__loop {
    height: 100%;
    overflow: hidden;
  }

  .p-know .p-know__loop-wrap {
    animation: vertical-animation 60s linear infinite;
    display: grid;
  }

  .p-know .p-know__slider img {
    height: auto;
    width: 100%;
  }

  .p-know .p-know__loop {
    left: 0;
    position: absolute;
    right: auto;
    top: 0;
    border-left: 2px solid #181c62;
    border-right: 2px solid #181c62;
    padding-inline: 0 1vw;
  }

  .p-know .l-know__loop {
    overflow: hidden;
  }

  .p-know .p-know__loop-wrap {
    animation: vertical-animation 90s linear infinite;
    height: 200%;
  }

  .p-know .p-know__slider {
    display: grid;
  }

  .p-know .p-know__slider img {
    height: auto;
    width: 12.116vw;
  }

  /* reason
-------------------------------------*/
  .p-reason {
    padding-block: 0 12vw;
  }

  .p-reason .c-reason__ttl {
    margin-bottom: 2.899vw;
    text-align: center;
  }

  .p-reason .c-reason__ttl img {
    height: auto;
    width: 60.145vw;
  }

  .p-reason .p-reason__items {
    display: grid;
    gap: 0.725vw 0px;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    margin-bottom: 6.039vw;
  }

  .p-reason .p-reason__item {
    background: #181c62;
    position: relative;
  }

  .p-reason .p-reason__item-ttl {
    color: #ffffff;
    font-size: 7.729vw;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 2.1875;
    margin-bottom: 0.5vw;
    padding-block: 4.831vw 0;
    text-align: center;
  }

  .p-reason .p-reason__item-ttl.--reason02 {
    padding-block: 6.831vw 0;
  }

  .p-reason .p-reason__item-ttl.--reason01 span:before {
    background: url(../images/index/reason01_ten.svg) no-repeat center
      center/contain;
    height: 3.623vw;
    width: 29.227vw;
  }

  .p-reason .p-reason__item-ttl.--reason02 span.top:before {
    content: none;
  }

  .p-reason .p-reason__item-ttl.--reason02 span.top {
    position: static;
  }

  .p-reason .p-reason__item-ttl.--reason02 span:before {
    background: url(../images/index/reason02_ten.svg) no-repeat center
      center/contain;
    height: 3.623vw;
    width: 61.594vw;
    left: 4vw;
  }

  .p-reason .p-reason__item-ttl.--reason03 span:before {
    background: url(../images/index/reason03_ten.svg) no-repeat center
      center/contain;
    height: 3.623vw;
    width: 64.367vw;
  }

  .p-reason .p-reason__item-ttl span {
    font-size: 11.111vw;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.5217391304;
    position: relative;
    top: -2vw;
  }

  .p-reason .p-reason__item-ttl span:before {
    content: "";
    left: 2.5vw;
    position: absolute;
    top: -1.5vw;
  }

  .p-reason .p-reason__item-txt-img {
    margin-bottom: 3.14vw;
    margin-inline: auto;
    width: min(95%, 72.4637681159vw);
  }

  .p-reason .p-reason__item-txt-img .en {
    left: -1.865vw;
    margin-bottom: -16.459vw;
    position: relative;
  }

  .p-reason .p-reason__item-txt-img.--reason02 .en {
    margin-bottom: -17.899vw;
  }

  .p-reason .p-reason__item-txt-img.--reason03 .en {
    margin-bottom: -25.899vw;
    left: -9.865vw;
    top: 0vw;
  }

  .p-reason .p-reason__item-txt-img .img img {
    height: auto;
    width: 100%;
  }

  .p-reason .p-reason__item-txt {
    color: #ffffff;
    font-size: 4.106vw;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.7647058824;
    padding-block: 0 9.763vw;
    text-align: center;
  }

  .p-reason .p-reason__item-en {
    bottom: 2vw;
    position: absolute;
    right: 2vw;
  }

  .p-reason .p-reason__item-en svg {
    height: 143vw;
    width: 5.3vw;
  }

  .p-reason .c-reason__btn {
    text-align: center;
  }

  .p-reason .c-reason__btn a {
    border-bottom: 1px solid #181c62;
    color: #040404;
    display: block;
    font-size: 3.865vw;
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1.625;
    margin-inline: auto;
    padding-block: 0 4.106vw;
    position: relative;
    width: min(95%, 72.4637681159vw);
    text-align: left;
    padding-inline: 9vw 0;
  }

  .p-reason .c-reason__btn a::after {
    background: url(../images/index/btn_arrow.svg) no-repeat center
      center/contain;
    content: "";
    height: 3.899vw;
    position: absolute;
    right: 8.797vw;
    top: 1.932vw;
    width: 3.899vw;
  }

  .p-reason .p-reason__item:hover {
    background: #ffffff;
    color: #181c62;
  }

  .p-reason .p-reason__item:hover a {
    text-decoration: none;
  }

  .p-reason .p-reason__item:hover .p-reason__item-ttl {
    color: #181c62;
  }

  .p-reason .p-reason__item:hover .p-reason__item-txt-img .en svg g path {
    fill: #181c62;
  }

  .p-reason .p-reason__item:hover .p-reason__item-txt-img .en svg path[stroke] {
    stroke: #181c62;
  }

  .p-reason .p-reason__item:hover .p-reason__item-txt-img .img img {
    opacity: 1;
  }

  .p-reason .p-reason__item:hover .p-reason__item-txt {
    color: #181c62;
  }

  .p-reason .p-reason__item:hover .p-reason__item-en svg path {
    fill: #181c62;
  }

  /* make
-------------------------------------*/
  .p-make {
    background: #ffffff;
    border-bottom: 2px solid #181c62;
    padding-block: 0 14vw;
    margin-bottom: 15vw;
  }

  .p-make .p-make__loop {
    border-bottom: 1px solid #181c62;
    border-top: 1px solid #181c62;
    padding-block: 1vw;
  }

  .p-make .p-make__loop-wrap {
    align-items: center;
    display: flex;
    gap: 0 5.797vw;
    width: 691.304vw;
  }

  .p-make .p-make__slider {
    animation: scroll-left 60s linear infinite;
  }

  .p-make .p-make__slider img {
    height: auto;
    width: 100%;
  }

  .p-make .p-make__ttl-box {
    border-bottom: 2px solid #181c62;
    margin-bottom: 7.246vw;
  }

  .p-make .p-make__ttl-box-inner {
    align-items: center;
    border: none;
    color: #181c62;
    display: flex;
    justify-content: space-between;
    margin-bottom: -5.797vw;
    margin-inline: auto;
    padding-inline: 1.932vw 4.831vw;
    width: 100%;
  }

  .p-make .p-make__ttl-box-inner h2 {
    font-size: 7.246vw;
    font-weight: 700;
    line-height: 1;
    position: relative;
    top: -5.865vw;
  }

  .p-make .p-make__ttl-box-inner h2 span {
    font-size: 15.459vw;
    font-weight: 900;
    letter-spacing: -0.15em;
    line-height: 1;
    position: relative;
    top: 1.932vw;
  }

  .p-make .p-make__ttl-box-inner .icon {
    position: relative;
    top: -1.865vw;
    left: -2vw;
  }

  .p-make .p-make__ttl-box-inner .icon img {
    height: auto;
    width: 17.391vw;
  }

  .p-make .p-make__con-box {
    border: none;
    margin-inline: auto;
    width: 100%;
  }

  .p-make .p-make__con {
    display: grid;
    gap: 0;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    margin-bottom: 16.908vw;
  }

  .p-make .p-make__con.--make01 .p-make__con-left .btn a {
    position: relative;
    transition: all 0.3s ease-in-out;
    padding-inline: 2vw 0;
  }

  .p-make .p-make__con.--make01 .p-make__con-left .btn a::after {
    background: url(../images/index/make_btn_icon_sp.png) no-repeat center
      center/contain;
    bottom: 0;
    content: "";
    height: 26.087vw;
    position: absolute;
    right: 7vw;
    width: 18.357vw;
  }

  .p-make .p-make__con.--make03 {
    margin-bottom: 0;
  }

  .p-make .p-make__con-left {
    display: contents;
    position: static;
  }

  .p-make .p-make__con-left .top {
    color: #181c62;
    font-size: 4.348vw;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.5555555556;
    margin-bottom: 1.488vw;
    margin-inline: auto;
    order: 1;
    width: min(95%, 88.541063vw);
  }

  .p-make .p-make__con-left h3 {
    font-size: 10.145vw;
    font-weight: 700;
    line-height: 1.3095238095;
    margin-bottom: 6.797vw;
    order: 2;
    width: min(95%, 87.541063vw);
    width: fit-content;
    color: #181c62;
    position: relative;
    left: 6vw;
  }

  .p-make .p-make__con-left h3.marker {
    background-image: linear-gradient(90deg, #fff100, #fff100); /* 線の色 */
    background-position: left bottom; /* 線の起点を左・下に設定 */
    background-repeat: no-repeat;
    background-size: 0 0.5em; /* 線の横幅を0、縦幅を0.5emに */
    /* display: inline-block; */
    padding-bottom: 0.725vw; /* 下線を下にズラす */
    transition: background-size 1.5s; /* 線を伸ばすアニメーション実行時間を指定 */
  }

  .p-make .p-make__con-left h3.marker.active {
    background-size: 100% 0.3em; /* 線の横幅を100%にする */
  }

  .p-make .p-make__con-left h3 .marker {
    transition: background-size 0.6s ease;
  }

  .p-make .p-make__con-left h3 .marker:nth-of-type(2) {
    transition-delay: 0.3s;
  }

  .p-make .p-make__con-left h3 span.marker {
    background-image: linear-gradient(90deg, #fff100, #fff100); /* 線の色 */
    background-position: left bottom; /* 線の起点を左・下に設定 */
    background-repeat: no-repeat;
    background-size: 0 0.3em; /* 線の横幅を0、縦幅を0.5emに */
    display: inline-block;
    padding-bottom: 0.725vw; /* 下線を下にズラす */
    transition: background-size 1.5s; /* 線を伸ばすアニメーション実行時間を指定 */
  }

  .p-make .p-make__con-left h3 span.marker.active {
    background-size: 100% 0.3em; /* 線の横幅を100%にする */
  }

  .p-make .p-make__con-left .txt {
    color: #040404;
    font-size: 3.623vw;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.9333333333;
    margin-bottom: 8.662vw;
    margin-inline: auto;
    order: 4;
    width: min(95%, 89.541063vw);
  }

  .p-make .p-make__con-left .btn {
    margin-inline: auto;
    order: 5;
    width: min(95%, 84.541063vw);
    position: relative;
    left: -2vw;
  }

  .p-make .p-make__con.--make02 .p-make__con-left .btn {
    position: relative;
    left: -3vw;
  }

  .p-make .p-make__con.--make02 .p-make__con-left .btn a {
    padding-inline: 2.5vw 0;
  }

  .p-make .p-make__con.--make03 .p-make__con-left .btn {
    position: relative;
    left: 6vw;
    width: min(95%, 67.6vw);
    margin: 0;
  }

  .p-make .p-make__con.--make03 .p-make__con-left .btn a {
    padding-inline: 1.5vw 0;
  }

  .p-make .p-make__con-left .btn a {
    border-bottom: 2px solid #181c62;
    display: block;
    transition: all 0.3s ease-in-out;
  }

  .p-make .p-make__con-left .btn a span {
    color: #040404;
    display: inline-block;
    font-size: 3.382vw;
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1.8571428571;
    padding-block: 0 4.106vw;
    position: relative;
    padding-inline: 0.5vw 0;
  }

  .p-make .p-make__con-left .btn a span::before {
    background: url(../images/index/btn_arrow.svg) no-repeat center
      center/contain;
    content: "";
    height: 3.899vw;
    position: absolute;
    right: -5.865vw;
    top: 1.932vw;
    width: 3.899vw;
  }

  .p-make .p-make__con.--make01 .p-make__con-left .btn a:hover::after {
    background: url(../images/index/make_btn_icon_hover.png) no-repeat center
      center/contain;
    bottom: -4.1vw;
    height: 37.87vw;
    right: -5vw;
    width: 41.787vw;
  }

  .p-make .p-make__con-right {
    margin-bottom: 4.831vw;
    order: 3;
  }

  .p-make .p-make__con-right img {
    height: auto;
    width: 100%;
  }

  /* link
-------------------------------------*/
  .p-link {
    margin-bottom: 16.184vw;
  }

  .p-link .c-link__ttl {
    font-size: 4.831vw;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1;
    margin-bottom: 6.382vw;
    margin-inline: auto;
    padding-inline: 3.382vw;
    position: relative;
    text-align: center;
    width: -moz-fit-content;
    width: fit-content;
    color: #181c62;
  }

  .p-link .c-link__ttl:before {
    background: url(../images/index/link_line.svg) no-repeat center
      center/contain;
    content: "";
    height: 7.589vw;
    position: absolute;
    width: 5.865vw;
    left: -3vw;
    bottom: -2vw;
  }

  .p-link .c-link__ttl::after {
    background: url(../images/index/link_line.svg) no-repeat center
      center/contain;
    content: "";
    height: 7.589vw;
    position: absolute;
    transform: scale(-1, 1);
    width: 5.865vw;
    right: -3vw;
    bottom: -2vw;
  }

  .p-link .p-link__bnr {
    margin-bottom: 12.072vw;
    text-align: center;
  }

  .p-link .p-link__bnr a {
    display: block;
  }

  .p-link .p-link__bnr a p {
    color: #040404;
    font-size: 3.623vw;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.9333333333;
    margin-inline: auto;
    width: min(95%, 89.3vw);
    text-align: left;
  }

  .p-link .p-link__bnr a img {
    height: auto;
    width: 89.3vw;
    margin-bottom: 3vw;
  }

  .p-link__items {
    display: grid;
    gap: 6.005vw 0vw;
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }

  .p-link__item a {
    display: block;
    margin-inline: auto;
    position: relative;
    width: min(95%, 89.3vw);
  }

  .p-link__item a img {
    height: auto;
    width: 100%;
  }

  .p-link__item a img.top {
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center -4px;
    object-position: center -4px;
  }

  /* modelhouse
-------------------------------------*/
  .p-modelhouse {
    margin-bottom: 14.184vw;
  }

  .p-modelhouse .p-modelhouse__ttl-wrap {
    display: flex;
    justify-content: space-between;
    margin-bottom: -3vw;
    width: 100%;
    color: #181c62;
  }

  .p-modelhouse .p-modelhouse__ttl-wrap .left {
    width: 14.493vw;
    position: relative;
    top: 0vw;
  }

  .p-modelhouse .p-modelhouse__ttl-wrap h2 {
    font-size: 4.348vw;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1;
    position: relative;
    text-align: center;
    top: 0.966vw;
    white-space: nowrap;
	  left: 0;
	  right: 0;
	  margin: 0 auto;
  }

  .p-modelhouse .p-modelhouse__ttl-wrap h2 span {
    font-size: 6.88vw;
    font-weight: 700;
    line-height: 1.5;
  }

  .p-modelhouse .p-modelhouse__ttl-wrap .right {
    width: 15.459vw;
    position: relative;
    top: -2vw;
    left: -1vw;
  }

  .p-modelhouse .p-modelhouse__box {
    /* No.39で人物イラストを削除。カード下の紺帯を上と同じ9.662vwに（.p-modelhouse__items の -8.662vw を加味）*/
    padding-block: 9.662vw 18.324vw;
    background: #181c62;
  }

  .p-modelhouse .p-modelhouse__items {
    margin-bottom: -8.662vw;
  }

  .p-modelhouse .p-modelhouse__item a {
    background: #ffffff;
    display: grid;
    gap: 0;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    margin-inline: auto;
    padding-block: 4.831vw 14.493vw;
    width: min(95%, 89.3vw);
  }

  .p-modelhouse .p-modelhouse__item a .pic-frame {
    margin-bottom: 2.831vw;
    margin-inline: auto;
    order: 3;
    width: min(95%, 81.710145vw);
  }

  .p-modelhouse .p-modelhouse__item a .pic-frame .system-pic img {
    height: 54.106vw;
    width: 100%;
  }

  .p-modelhouse .p-modelhouse__item a .con {
    display: contents;
  }

  .p-modelhouse .p-modelhouse__item a .system-ttl-01 {
    color: #181c62;
    font-size: 6.28vw;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.6;
    margin-bottom: 0;
    margin-inline: auto;
    order: 1;
    width: min(95%, 81.710145vw);
  }

  .p-modelhouse .p-modelhouse__item a .model-spec {
    color: #181c62;
    font-size: 3.865vw;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.8;
    margin-bottom: 1vw;
    margin-inline: auto;
    order: 2;
    width: min(95%, 81.710145vw);
  }

  .p-modelhouse .p-modelhouse__item a .model-area {
    color: #181c62;
    font-size: 3.865vw;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.8;
    margin-bottom: 4vw;
    margin-inline: auto;
    order: 2;
    width: min(95%, 81.710145vw);
  }

  .p-modelhouse .p-modelhouse__item a .model-lead {
    margin-bottom: 4.831vw;
    margin-inline: auto;
    order: 4;
    width: min(95%, 81.710145vw);
    color: #040404;
    font-size: 3.623vw;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.9;
  }

  .p-modelhouse .p-modelhouse__item a .link {
    border-bottom: 1px solid #181c62;
    color: #040404;
    font-size: 3.382vw;
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1.8571428571;
    margin-inline: 4.831vw 0;
    order: 5;
    padding-bottom: 2.415vw;
    padding-inline: 1.932vw 9.662vw;
    position: relative;
    width: -moz-fit-content;
    width: fit-content;
  }

  .p-modelhouse .p-modelhouse__item a .link::after {
    background: url(../images/index/btn_arrow.svg) no-repeat center
      center/contain;
    content: "";
    height: 3.899vw;
    position: absolute;
    right: 2.932vw;
    top: 1.932vw;
    width: 4.899vw;
  }

  .p-modelhouse .p-modelhouse__human {
    position: static;
    text-align: center;
  }

  .p-modelhouse .p-modelhouse__human img {
    height: auto;
    width: 32.367vw;
  }

  /* consultation
-------------------------------------*/
  .p-consultation {
    margin-bottom: 26.493vw;
  }

  .p-consultation .p-consultation__box {
    border: 3px solid #181c62;
    border-radius: 4.831vw;
    margin-inline: auto;
    padding-block: 7.246vw 27.087vw;
    position: relative;
    width: min(95%, 89.3vw);
    margin-bottom: -22vw;
  }

  .p-consultation .p-consultation__box:before {
    background: url(../images/index/consultation_ttl_left.svg) no-repeat center
      center/contain;
    content: "";
    height: 50.551vw;
    left: -4.415vw;
    position: absolute;
    top: 21vw;
    width: 6.556vw;
  }

  .p-consultation .p-consultation__box:after {
    background: url(../images/index/consultation_ttl_right.svg) no-repeat center
      center/contain;
    content: "";
    height: 50.551vw;
    position: absolute;
    right: -4.415vw;
    top: 21vw;
    width: 7.556vw;
  }

  .p-consultation .p-consultation__con {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    margin-bottom: 0;
    margin-inline: auto;
    width: min(95%, 72.4637681159vw);
  }

  .p-consultation .p-consultation__con-left {
    order: 2;
  }

  .p-consultation .p-consultation__con-left img {
    height: auto;
    width: 100%;
  }

  .p-consultation .p-consultation__con-right {
    background: transparent;
    display: contents;
    padding-block: 6.763vw 26.087vw;
    padding-inline: 0px 0;
  }

  .p-consultation .p-consultation__con-right h2 {
    color: #181c62;
    font-size: 7.729vw;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1;
    margin-bottom: 7.106vw;
    order: 1;
  }

  .p-consultation .p-consultation__con-right p {
    background: #ffffff;
    color: #040404;
    font-size: 3.623vw;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.9333333333;
    margin-bottom: -21.5vw;
    order: 3;
    padding-block: 4.831vw 23.155vw;
    padding-inline: 5.314vw 4.106vw;
  }

  .p-consultation .p-consultation__icon {
    position: static;
    text-align: center;
  }

  .p-consultation .p-consultation__icon img {
    height: auto;
    width: 27.575vw;
  }

  .p-consultation .c-btn.consultation {
    text-align: center;
  }

  .p-consultation .c-btn.consultation a {
    padding-inline: 5.005vw 12.802vw;
    position: relative;
    width: 72.4vw;
  }

  .p-consultation .c-btn.consultation a::after {
    right: 8.213vw;
  }

  /* meet
-------------------------------------*/
  .p-meet {
    margin-bottom: 5vw;
  }

  .p-meet .c-meet__ttl {
    margin-bottom: 4.831vw;
    text-align: center;
  }

  .p-meet .c-meet__ttl img {
    height: auto;
    width: 88.647vw;
  }

  .p-meet .p-meet__loop {
    background: #ffffff;
    border-bottom: 2px solid #181c62;
    border-top: 2px solid #181c62;
    padding-block: 1.691vw;
  }

  .p-meet .p-meet__loop-wrap {
    align-items: center;
    display: flex;
    gap: 0 0.966vw;
    width: 604.092vw;
  }

  .p-meet .p-meet__slider {
    animation: scroll-left 75s linear infinite;
  }

  .p-meet .p-meet__slider img {
    height: auto;
    width: 100%;
  }

  .p-meet .p-meet__loop02 {
    border-bottom: 2px solid #181c62;
    margin-bottom: -30.155vw;
  }

  .p-meet .p-meet__loop02-wrap {
    align-items: center;
    display: flex;
    width: 851.145vw;
  }

  .p-meet .p-meet__slider02 {
    animation: scroll-left 75s linear infinite;
  }

  .p-meet .p-meet__slider02 img {
    height: auto;
    width: 100%;
  }

  .p-meet .p-meet__icon {
    position: relative;
    text-align: center;
  }

  .p-meet .p-meet__icon img {
    height: auto;
    width: 53.382vw;
  }

  /* works
-------------------------------------*/
  .p-works {
    background: url(../images/index/works_bg_sp.png) no-repeat top
      center/contain #fff;
    margin-inline: auto;
    width: 100%;
    border-bottom: 1px solid #181c62;
  }

  .p-works .l-inner.l-works {
    padding-block: 12.353vw 11.077vw;
  }

  .p-works .c-works__ttl {
    color: #181c62;
    font-size: 7.246vw;
    font-weight: 700;
    line-height: 1;
    margin-bottom: 9.899vw;
    text-align: center;
  }

  .p-works .c-works__ttl span {
    font-size: 13.043vw;
    font-weight: 900;
    letter-spacing: -0.15em;
    line-height: 1;
    position: relative;
    top: 2vw;
  }

  .p-works .c-works__en {
    margin-bottom: 3.865vw;
    text-align: center;
  }

  .p-works .c-works__en img {
    height: auto;
    width: 26.812vw;
  }

  .p-works .c-works__subttl {
    color: #181c62;
    font-size: 3.865vw;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1;
    margin-bottom: 6.797vw;
    text-align: center;
  }

  .p-works .system-list {
    display: grid;
    gap: 8.039vw 5.314vw;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 11.145vw;
    margin-inline: auto;
    width: min(95%, 89.3vw);
  }

  .p-works .system-pic img {
    height: 29.952vw;
    width: 100%;
  }

  .p-works .system-category {
    display: flex;
    flex-wrap: wrap;
    gap: 0 0.966vw;
    margin-bottom: 0;
  }

  .p-works .system-category span {
    color: #ffffff;
    font-size: 3.382vw;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.5714285714;
    padding: 0px 1.449vw;
    width: -moz-fit-content;
    width: fit-content;
  }

  .p-works .system-category span.cate01 {
    background: #181c62;
  }

  .p-works .system-category span.cate02 {
    background: #186253;
  }

  .p-works .system-category span.cate03 {
    background: #34979c;
  }

  .p-works .c-btn {
    text-align: center;
  }

  /* interview
-------------------------------------*/
  .p-interview {
    background: #efe8d8;
  }

  .p-interview .l-inner.l-interview {
    padding-block: 18.527vw 7.662vw;
  }

  .p-interview .c-interview__en {
    margin-bottom: 3.865vw;
    text-align: center;
  }

  .p-interview .c-interview__en img {
    height: auto;
    width: 39.855vw;
  }

  .p-interview .c-interview__ttl {
    color: #181c62;
    font-size: 3.865vw;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.625;
    margin-bottom: 7.246vw;
    text-align: center;
  }

  .p-interview .p-interview__icon01 {
    left: auto;
    margin-inline: auto;
    position: relative;
    top: -45.478vw;
    width: min(95%, 83.777778vw);
    margin-bottom: -24.4vw;
  }

  .p-interview .p-interview__icon01 img {
    height: auto;
    width: 22.942vw;
  }

  .p-interview .system-list {
    margin-bottom: -4.068vw;
  }

  .p-interview .system-list li a {
    background: #fff;
    border: 2px solid #181c62;
    border-radius: 4.831vw;
    display: block;
    margin-inline: 3.623vw;
    padding-block: 7.903vw 10.87vw;
    position: static;
  }

  .p-interview .voice_loop {
    border-bottom: 2px solid #181c62;
    border-top: 2px solid #181c62;
    margin-bottom: 4.831vw;
    padding-block: 0.966vw;
  }

  .p-interview .inner.loop {
    overflow: hidden;
  }

  .p-interview .voice_loop_wrap {
    align-items: center;
    display: flex;
    gap: 0 2vw;
    width: 100vh;
  }

  .p-interview .voice_slider {
    animation: scroll-left 40s linear infinite;
  }

  .p-interview .voice_slider {
    width: fit-content;
  }

  .p-interview .voice-txt {
    color: #181c62;
    font-size: 3.865vw;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.625;
    white-space: nowrap;
  }

  .p-interview .slick-track {
    display: flex;
  }

  .p-interview .slick-slide {
    height: auto !important;
  }

  .p-interview .voice-con {
    display: grid;
    gap: 3.865vw 0;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    margin-inline: auto;
    width: 67.633vw;
  }

  .p-interview .system-pic img {
    height: 46.377vw;
    width: 100%;
  }

  .p-interview .voice-con-right {
    position: static;
  }

  .p-interview .voice-area {
    color: #ffffff;
    font-size: 3.382vw;
    font-weight: 400;
    letter-spacing: 0.02em;
    line-height: 1.1428571429;
    margin-bottom: 1.449vw;
    padding: 0.5vw 0.966vw;
    width: -moz-fit-content;
    width: fit-content;
    background: #181c62;
  }

  .p-interview .system-ttl-01 {
    font-size: 3.623vw;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.9333333333;
  }

  .p-interview .p-voice__bottom-en {
    margin-bottom: 6.522vw;
    margin-inline: auto;
    position: static;
    text-align: right;
    width: min(95%, 77.2vw);
  }

  .p-interview .c-btn.interview {
    margin-bottom: 2.662vw;
    text-align: center;
  }

  .p-interview .p-interview__icon02 {
    text-align: right;
    width: 100%;
    padding-inline: 0 4vw;
	  margin-bottom: -8vw;
  }

  .p-interview .p-interview__icon02 img {
    height: auto;
    width: 39.13vw;
  }

  .p-interview .prev-arrow {
    position: absolute;
    right: calc(50% + 33.816vw);
    top: 50%;
    transform: translateY(-50%);
    z-index: 11;
  }

  .p-interview .prev-arrow img {
    height: auto;
    width: 12.077vw;
  }

  .p-interview .next-arrow {
    left: calc(50% + 33.816vw);
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 11;
  }

  .p-interview .next-arrow img {
    height: auto;
    width: 12.077vw;
  }

  .p-interview .c-btn a::after {
    right: 7.831vw;
  }

  /* faq
-------------------------------------*/
  .p-faq {
    background: #f9f5e9;
    padding-block: 16.768vw 13.986vw;
  }

  .p-faq .l-inner.l-faq {
    margin-inline: auto;
    width: 100%;
  }

  .p-faq .p-faq__en {
    margin-inline: auto;
    text-align: center;
    width: min(95%, 52.6570048309vw);
    margin-bottom: 1vw;
  }

  .p-faq .p-faq__en img {
    height: auto;
    width: 14.251vw;
  }

  .p-faq .p-faq__ttl {
    color: #181c62;
    font-size: 3.865vw;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.625;
    margin-bottom: -18.459vw;
    margin-inline: auto;
    text-align: center;
    width: min(95%, 52.6570048309vw);
  }

  .p-faq .p-faq__icon {
    left: calc(50% + -42.23vw);
    margin-bottom: -3.382vw;
    position: relative;
  }

  .p-faq .p-faq__icon img {
    height: auto;
    width: 25.604vw;
  }

  .p-faq .p-faq__icon02 {
    left: calc(50% + 17.77vw);
    margin-bottom: -25.382vw;
    position: relative;
	  top: -22vw;
  }

  .p-faq .p-faq__icon02 img {
    height: auto;
    width: 25.604vw;
  }
	
  .p-faq .p-faq__box {
    background: #ffffff;
    margin-bottom: 6.039vw;
    padding-block: 3.5vw 7.285vw;
  }

  .p-faq summary {
    border-bottom: 2px solid #181c62;
    display: block;
    margin-inline: auto;
    padding-block: 6vw;
    width: min(95%, 89.3vw);
  }

  .p-faq summary::-webkit-details-marker {
    display: none;
  }

  .p-faq .p-faq__qu {
    position: relative;
    display: block;
  }

  .p-faq .p-faq__qu::before,
  .p-faq .p-faq__qu::after {
    content: "";
    position: absolute;
    top: 3vw;
    /* translate: 0 -50%; */
  }

  .p-faq .p-faq__qu::before {
    height: 1.691vw;
    right: 2.899vw;
    width: 3.382vw;
  }

  .p-faq .p-faq__qu::after {
    background: url(../images/index/faq_arrow_sp.svg) no-repeat center
      center/contain;
    height: 2.691vw;
    right: 0.5vw;
    transition: rotate 0.3s ease;
    width: 4.382vw;
    rotate: 180deg;
  }

  .p-faq details[open] .p-faq__qu::after {
    rotate: 0deg;
  }

  .p-faq .p-faq__item[open] .p-faq__an {
    animation: fadeIn 0.5s ease;
  }

  .p-faq .p-faq__qu-txt {
    color: #040404;
    display: block;
    font-size: 3.623vw;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.9333333333;
    padding-inline: 13.527vw 9vw;
  }

  .p-faq .p-faq__qu-txt::before {
    background: #181c62;
    border-radius: 0.966vw;
    color: #fff;
    content: "Q";
    font-size: 4.831vw;
    font-weight: 500;
    height: 8.213vw;
    left: 3vw;
    letter-spacing: 0.02em;
    line-height: 1.5;
    position: absolute;
    text-align: center;
    top: 0vw;
    /* translate: 0 -50%; */
    width: 8.213vw;
  }

  .p-faq .js-content {
    margin-inline: auto;
    width: min(95%, 89.3vw);
  }

  .p-faq .p-faq__an-txt {
    background: #f5f5f5;
    display: block;
    padding-block: 5.3vw 5vw;
    padding-inline: 14.5vw 5vw;
    position: relative;
    margin: 0;
  }

  .p-faq .wysiwyg p {
    color: #040404;
    font-size: 3.623vw;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.9333333333;
    margin-bottom: 0;
  }

  .p-faq .p-faq__an-txt::before {
    background: #181c62;
    background: #fff;
    border-radius: 0.966vw;
    color: #181c62;
    content: "A";
    font-size: 4.831vw;
    font-weight: 500;
    height: 8.213vw;
    left: 3vw;
    letter-spacing: 0.02em;
    line-height: 1.5;
    position: absolute;
    text-align: center;
    top: 5.522vw;
    width: 8.213vw;
  }

  .p-faq .c-btn.faq {
    position: static;
    text-align: center;
  }

  .p-faq .c-btn a {
    padding-inline: 6vw 13vw;
  }

  .p-faq .c-btn a::after {
    right: 7vw;
  }

  /* access
-------------------------------------*/
  .p-access {
    margin-bottom: 24.188vw;
  }

  .p-access .p-access__logo-wrap {
    margin-bottom: -15.246vw;
    margin-inline: auto;
    padding-inline: 0;
    text-align: right;
    width: min(95%, 89.439614vw);
  }

  .p-access .p-accsess__logo {
    background: #181c62;
    border-radius: 50%;
    height: 25.845vw;
    padding: 1.449vw;
    position: relative;
    width: 25.845vw;
    margin-left: auto;
  }

  .p-access .p-accsess__logo .logo {
    height: auto;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 13.768vw;
  }

  .p-access .p-accsess__logo .txt {
    animation: rotation 12s linear infinite;
    height: 24.155vw;
    left: 1.449vw;
    top: 1.449vw;
    width: 24.155vw;
  }

  .p-access .p-access__con {
    background: #ffffff;
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    padding-block: 11.42vw 12.077vw;
  }

  .p-access .p-access__con-left {
    margin-bottom: -0.86vw;
    margin-inline: auto;
    order: 3;
    width: min(95%, 79.7101449275vw);
  }

  .p-access .p-access__con-left iframe {
    height: 53.14vw;
    width: 100%;
  }

  .p-access .p-access__con-right {
    background: transparent;
    display: contents;
    padding-block: 0;
  }

  .p-access .p-access__con-right h2 {
    font-size: 6.763vw;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1;
    margin-bottom: 5.106vw;
    margin-inline: auto;
    order: 1;
    width: min(95%, 79.7101449275vw);
    color: #181c62;
  }

  /* No.19 欧文は同じpxでも小さく見えるため拡大 */
  .p-access .p-access__con-right h2 .name-en {
    font-size: 1.25em;
  }

  .p-access .p-access__con-right .img {
    margin-bottom: 6.623vw;
    order: 2;
    text-align: center;
  }

  .p-access .p-access__con-right .img img {
    height: auto;
    width: 79.71vw;
  }

  .p-access .p-access__con-right .address {
    color: #040404;
    font-size: 3.623vw;
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1.7333333333;
    margin-bottom: 7vw;
    margin-inline: auto;
    order: 4;
    width: min(95%, 79.7101449275vw);
  }

  .p-access .p-access__con-right .link {
    margin-inline: 10.145vw 0;
    order: 5;
  }

  .p-access .p-access__con-right .link a {
    border-bottom: 1px solid #181c62;
    color: #040404;
    display: inline-block;
    font-size: 3.382vw;
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1.8571428571;
    padding-bottom: 2.415vw;
    padding-inline: 0vw 24.662vw;
    width: fit-content;
    position: relative;
  }

  .p-access .p-access__con-right .link a::after {
    background: url(../images/index/btn_arrow.svg) no-repeat center
      center/contain;
    content: "";
    height: 3.899vw;
    position: absolute;
    right: 1.932vw;
    top: 1.932vw;
    width: 4.899vw;
  }

  /* staff
-------------------------------------*/
  .p-staff .l-inner.l-staff {
    display: grid;
  }

  .p-staff .p-staff__con {
    display: contents;
  }

  .p-staff .p-staff__con-left span {
    font-size: 15.459vw;
    font-weight: 900;
    letter-spacing: -0.15em;
    line-height: 1;
    position: relative;
    top: 2vw;
  }

  .p-staff .p-staff__con-left {
    color: #181c62;
    font-size: 7.246vw;
    font-weight: 700;
    line-height: 1;
    order: 1;
    text-align: center;
    margin-bottom: 3vw;
    width: 100vw;
  }

  .p-staff .p-staff__con-center {
    order: 2;
    position: relative;
    text-align: center;
    margin-bottom: -6vw;
    z-index: 1;
    width: 100vw;
  }

  .p-staff .p-staff__con-center img {
    height: auto;
    width: 82.85vw;
  }

  .p-staff .p-staff__con-right {
    order: 4;
    padding-block: 0;
    width: 100vw;
  }

  .p-staff__loop {
    order: 3;
    margin-bottom: 6vw;
  }

  .p-staff .l-inner.l-loop {
    overflow: hidden;
  }

  .p-staff .p-staff__loop-wrap {
    background: #181c62;
    padding-block: 11.353vw 28vw;
  }

  .p-staff .p-staff__slider {
    animation: scroll-left 160s linear infinite;
    display: flex;
  }

  .p-staff .system-list {
    display: flex;
  }

  .p-staff .system-list li:nth-child(even) {
    position: relative;
    top: 28.077vw;
  }

  /* カード幅を写真の直径に固定する（上に同じ） */
  .p-staff .system-list > li {
    flex: 0 0 53.14vw;
    width: 53.14vw;
  }

  .p-staff .system-list li a {
    display: block;
  }

  .p-staff .system-pic {
    background: #ffffff;
    border-radius: 50%;
    height: 53.14vw;
    margin-inline: auto;
    padding: 0.966vw;
    position: relative;
    width: 53.14vw;
    margin-bottom: 1vw;
  }

  .p-staff .system-pic:before {
    background: url(../images/index/staff_slider_en.svg) no-repeat center
      center/contain;
    content: "";
    height: 48.309vw;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 48.309vw;
  }

  .p-staff .system-pic img {
    border-radius: 50%;
    height: 41.063vw;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 41.063vw;
  }

  .p-staff .system-ttl {
    color: #ffffff;
    font-size: 3.382vw;
    font-weight: 400;
    letter-spacing: 0.02em;
    line-height: 2;
    margin-bottom: 0;
    text-align: center;
  }

  .p-staff .system-job {
    /* 折り返しで「ー」や小書き文字が行頭に来ないようにする（日本語の禁則） */
    line-break: strict;
    color: #ffffff;
    font-size: 3.623vw;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 2;
    text-align: center;
  }

  .p-staff .c-btn.staff a {
    padding-inline: 11vw 13vw;
    width: 56.9vw;
  }

  .p-staff .c-btn.staff a::after {
    right: 6vw;
  }

  .p-staff .p-staff__loop-wrap:hover .p-staff__slider {
    animation-play-state: paused;
  }

  /* blog
-------------------------------------*/
  .p-blog {
    background: #f9f5e9;
  }

  .p-blog .l-inner.l-blog {
    margin-inline: auto;
    padding-block: 18.116vw 13.043vw;
    width: 100%;
  }

  .p-blog .c-blog__ttl {
    color: #181c62;
    font-size: 7.246vw;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1;
    margin-bottom: 3.623vw;
    margin-inline: auto;
    width: min(95%, 89.3vw);
  }

  .p-blog .p-blog__box {
    background: #ffffff;
    display: grid;
    margin-bottom: 0px;
    padding-block: 8.865vw 7.488vw;
  }

  .p-blog .p-blog__con {
    display: contents;
  }

  .p-blog .p-blog__subttl-wrap {
    display: grid;
    gap: 0 6.522vw;
    grid-template-columns: 19.3vw minmax(0, 1fr);
    margin-bottom: 4.382vw;
    margin-inline: auto;
    order: 1;
    width: min(95%, 89.3vw);
  }

  .p-blog .p-blog__subttl-wrap .en {
    width: 19.324vw;
  }

  .p-blog .p-blog__subttl-wrap .en img {
    height: auto;
    width: 100%;
  }

  .p-blog .p-blog__subttl-wrap h3 {
    color: #181c62;
    font-size: 3.623vw;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.7333333333;
  }

  .p-blog .c-btn02 {
    margin-inline: auto;
    order: 4;
    text-align: right;
    width: min(95%, 89.3vw);
  }

  .p-blog .c-btn02 a {
    border-bottom: 2px solid #181c62;
    color: #040404;
    display: inline-block;
    font-size: 3.382vw;
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1.8571428571;
    padding-bottom: 2.415vw;
    padding-inline: 2.932vw 7.662vw;
    position: relative;
  }

  .p-blog .c-btn02 a::after {
    background: url(../images/index/btn_arrow.svg) no-repeat center
      center/contain;
    content: "";
    height: 3.899vw;
    position: absolute;
    right: 1.932vw;
    top: 1.932vw;
    width: 3.899vw;
  }

  .p-blog .system-list {
    display: grid;
    gap: 2vw 5.314vw;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 4.213vw;
    margin-inline: auto;
    order: 3;
    width: min(95%, 89.3vw);
  }

  .p-blog .system-list li a {
    display: block;
  }

  .p-blog .system-pic {
    margin-bottom: 0.415vw;
  }

  .p-blog .system-pic img {
    height: 31.401vw;
    width: 100%;
  }

  .p-blog .system-date {
    color: #040404;
    font-size: 3.382vw;
    font-weight: 400;
    letter-spacing: 0.02em;
    line-height: 2.1428571429;
    margin-bottom: 0;
  }

  .p-blog .system-ttl {
    color: #040404;
    font-size: 3.623vw;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.8;
  }

  /* seo
-------------------------------------*/
  .p-seo {
    color: #ffffff;
    margin-bottom: -102.28vw;
    padding-block: 0vw 0px;
    position: relative;
    z-index: 1;
  }

  .p-seo .l-inner.l-seo {
    margin-inline: auto;
    width: min(95%, 89.3vw);
  }

  .p-seo p {
    font-size: 3.382vw;
    font-weight: 400;
    letter-spacing: 0.04em;
    line-height: 1.7142857143;
  }


.l-footer .sp-page-top{

}
#index .l-footer .l-inner.l-footer{
  padding-top: 115.217vw;
}

}
