@charset "UTF-8";
#aboutus {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;


  /* ========================================
    会社概要（aboutus）
    body#aboutus 配下のみ
  ======================================== */
  /* 共通 blob が本文より前面に来ないように（このページのみ） */
  .ais-common-blob,
  .ais-common-blob--01.pc {
    z-index: 0;
  }
  .ais-subpage__content {
    position: relative;
    z-index: 1;
  }


  

  /* ========================================
    @media screen and (min-width: 768px), print
  ======================================== */
  @media screen and (min-width: 768px), print {

    /* blob */
    .has-ais-common-blob .ais-common-blob--01.pc {
      width: clamp(300px, 169.333px + 17.014vw, 496px); /* 768px ~ 1920px */
    }
    .has-ais-common-blob .ais-common-blob--02.pc {
      top: clamp(-34px, 416.000px + -23.438vw, 236px); /* 768px ~ 1920px */
      left: clamp(-161px, 72.333px + -12.153vw, -21px); /* 768px ~ 1920px */
      width: clamp(316px, 136.000px + 23.438vw, 586px); /* 768px ~ 1920px */
    }
    .has-ais-common-blob .ais-common-blob--03.pc {
      top: clamp(820px, 740.667px + 10.33vw, 939px); /* 768px ~ 1920px */
      right: clamp(-110px, -183.333px + 9.549vw, 0px); /* 768px ~ 1920px */
      width: clamp(346px, 204.000px + 18.49vw, 559px); /* 768px ~ 1920px */
    }
    .has-ais-common-blob .ais-common-blob--04.pc {
      top: clamp(1823px, 1783.000px + 5.208vw, 1883px); /* 768px ~ 1920px */
      width: clamp(300px, 117.333px + 23.785vw, 574px); /* 768px ~ 1920px */
    }

    /* mission
    -------------------------------------*/
    .mission {

      .mission__inner {
        padding-top: clamp(46px, -18.615px + 8.413vw, 116px); /* 768px ~ 1600px */
        padding-bottom: 96px;
        background-image: url(../images/aboutus/mission-bg.png);
        background-repeat: no-repeat;
        background-position: center top;
        background-size: cover;
      }

      /* 中央テキスト列。deco の left/right: calc(100% ± n) の基準 */
      .mission__content {
        position: relative;
        width: min(100%, 700px);
        margin-inline: auto;
        z-index: 1;
      }
      .mission__ttl,
      .mission__text-wrap,
      .mission__list-wrap {
        position: relative;
        z-index: 1;
      }

      /* PC deco（コンテンツ幅を基準に外側へ） */
      .mission__deco-item {
        position: absolute;
        margin: 0;
        z-index: 0;
        pointer-events: none;
      }
      .mission__deco-item img {
        display: block;
        width: 100%;
        height: auto;
      }
      /* 左上: コンテンツ左端付近を基準に、外側（左）へ */
      .mission__deco-item--top-left {
        top: 226px;
        right: calc(100% + clamp(-110px, -275.231px + 21.514vw, 69px)); /* 768px ~ 1600px */
        width: clamp(135px, -57.923px + 25.12vw, 344px); /* 768px ~ 1600px */
      }
      /* 右上: コンテンツ右端付近を基準に、外側（右）へ */
      .mission__deco-item--top-right {
        top: 255px;
        left: calc(100% + clamp(-115px, -351.308px + 30.769vw, 141px)); /* 768px ~ 1600px */
        width: clamp(120px, 22.154px + 12.74vw, 226px); /* 768px ~ 1600px */
      }
      /* 左下: ジャンプ男性 */
      .mission__deco-item--bottom-left {
        bottom: clamp(68px, 129.538px + -3.846vw, 100px);
        right: calc(100% + clamp(-106px, -256.462px + 19.591vw, 57px)); /* 768px ~ 1600px */
        width: clamp(128px, 89.231px + 5.048vw, 170px); /* 768px ~ 1600px */
      }
      /* 右下: 会議写真 */
      .mission__deco-item--bottom-right {
        bottom: 142px;
        left: calc(100% + clamp(-116px, -267.385px + 19.712vw, 48px)); /* 768px ~ 1600px */
        width: clamp(138px, 30.000px + 14.063vw, 255px); /* 768px ~ 1600px */
      }

      .mission__ttl {
        font-size: clamp(36px, 10.154px + 3.365vw, 64px); /* 768px ~ 1600px */
        font-weight: 700;
        line-height: calc(88 / 64);
        letter-spacing: 0.1em;
        text-align: center;
        margin-bottom: 50px;
      }
      .mission__ttl span {
        color: #F2486D;
      }
      .mission__text-wrap {
        display: flex;
        flex-direction: column;
        gap: 38px;
        margin-bottom: 50px;
      }
      .mission__text-wrap:last-of-type {
        margin-bottom: 0;
      }
      .mission__text {
        font-size: clamp(14px, 10.308px + 0.481vw, 18px); /* 768px ~ 1600px */
        font-weight: 700;
        line-height: calc(38 / 18);
        letter-spacing: 0;
        text-align: center;
      }
      .mission__text span {
        font-size: clamp(18px, 14.308px + 0.481vw, 22px); /* 768px ~ 1600px */
        line-height: calc(38 / 22);
        letter-spacing: 0;
        color: #ED6C00;
      }
      .mission__list-wrap {
        width: min(100%, clamp(500px, 315.385px + 24.038vw, 700px)); /* 768px ~ 1600px */
        margin-inline: auto;
        margin-bottom: 60px;
        padding-block: clamp(40px, 21.538px + 2.404vw, 60px); /* 768px ~ 1600px */
        padding-inline: clamp(24px, -46.154px + 9.135vw, 100px); /* 768px ~ 1600px */
        background-color: #fff;
      }
      .mission__list {
        display: flex;
        flex-direction: column;
      }
      .mission__item {
        position: relative;
        display: flex;
        align-items: flex-start;
        gap: 32px;
        padding-top: 16px;
        padding-bottom: 10px;
        padding-left: 27px;
        font-size: clamp(13px, 10.231px + 0.361vw, 16px); /* 768px ~ 1600px */
        font-weight: 700;
        line-height: calc(30 / 16);
        letter-spacing: 0;
        border-bottom: 1px dashed #D6D3D3;
      }
      .mission__item:first-child {
        padding-top: 0;
      }
      .mission__item::before {
        content: '';
        flex-shrink: 0;
        width: 24px;
        height: auto;
        aspect-ratio: 1 / 1;
        margin-top: calc((1lh - 24px) / 2);
        background: url(../images/aboutus/mission-list-icon.svg) no-repeat center center / contain;
      }
    }


    /* office
    -------------------------------------*/
    .office {

      .office__inner {
        padding-bottom: 260px;
      }

      .office__content {
        position: relative;
        width: fit-content;
        margin-inline: auto;
        background-color: #fff;
        padding-block: clamp(60px, 33.333px + 3.472vw, 100px);
      }
      .office__content::before {
        content: '';
        position: absolute;
        top: 0;
        right: clamp(60px, -46.000px + 13.802vw, 219px);
        transform: translateY(-100%);
        width: clamp(140px, 120.000px + 2.604vw, 170px);
        height: auto;
        aspect-ratio: 170 / 118;
        background: url(../images/aboutus/office-deco.png) no-repeat center center / contain;
      }

      .office__ttl-wrap {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 10px;
        margin-bottom: 40px;
      }
      .office__ttl-en {
        font-size: 32px;
        font-weight: 500;
        line-height: calc(30 / 32);
        letter-spacing: 0.04em;
        color: #ED6C00;
      }
      .office__ttl {
        font-size: 18px;
        font-weight: 700;
        line-height: calc(32 / 18);
        letter-spacing: 0.1em;
      }

      .office__list {
        padding-left: clamp(24px, -100.667px + 16.233vw, 211px);
        padding-right: clamp(24px, -74.000px + 12.76vw, 171px);
      }
      .office__item {
        display: grid;
        grid-template-columns: 6em 1fr;
        gap: clamp(36px, -68.667px + 13.628vw, 193px);
        padding-block: 20px;
        padding-left: 40px;
        padding-right: 83px;
        border-bottom: 1px solid #D8D8D8;
      }
      .office__term,
      .office__desc {
        font-size: clamp(13px, 11.000px + 0.26vw, 16px);
        font-weight: 500;
        line-height: calc(38 / 16);
        letter-spacing: 0;
      }
      .office__term {
        font-weight: 700;
      }
    }

  } /* /@media screen and (min-width: 768px), print */




  /* ========================================
    @media screen and (max-width: 767px)
  ======================================== */
  @media screen and (max-width: 767px) {

    /* blob */
    .has-ais-common-blob .ais-common-blob--01.sp {
      top: -6vw;
    }
    .has-ais-common-blob .ais-common-blob--03.sp {
      top: 186vw;
    }
    .has-ais-common-blob .ais-common-blob--04.sp {
      top: 556vw;
    }


    /* mission
    -------------------------------------*/
    .mission {
      .mission__inner {
        padding-top: 4.348vw;
        padding-bottom: 10.870vw;
      }

      .mission__text-wrap {
        display: flex;
        flex-direction: column;
        padding-inline: 8.641vw;
        gap: 7.729vw;
      }

      .mission__ttl {
        font-size: 6.280vw;
        font-weight: 700;
        line-height: calc(48 / 26);
        letter-spacing: 0.08em;
        text-align: center;
        margin-bottom: 4.830vw;
      }
      .mission__ttl span {
        color: #F2486D;
      }

      .mission__text {
        font-size: 3.864vw;
        font-weight: 700;
        line-height: calc(32 / 16);
        letter-spacing: 0.1em;
        text-wrap: pretty;
        line-break: strict;
      }
      .mission__text span {
        font-size: 4.348vw;
        line-height: calc(32 / 18);
        letter-spacing: 0.1em;
        color: #ED6C00;
      }
      
      .mission__img {
        margin: 0;
      }
      .mission__img img {
        display: block;
        width: 100%;
        height: auto;
      }
      .mission__img--01 {
        margin-top: 7.246vw;
        margin-bottom: 7.246vw;
      }
      .mission__img--02 {
        width: 75.362vw;
        margin-inline: auto;
        margin-top: 2.657vw;
        margin-bottom: 0;
      }

      .mission__list-wrap {
        margin-inline: 4.106vw;
        margin-bottom: 7.246vw;
        padding: 7.246vw 5.072vw;
        background-color: #fff;
      }
      .mission__list {
        display: flex;
        flex-direction: column;
      }
      .mission__item {
        display: flex;
        align-items: flex-start;
        align-items: center;
        gap: 2.415vw;
        padding-block: 3.140vw;
        font-size: 3.381vw;
        font-weight: 500;
        line-height: calc(22 / 14);
        border-bottom: 1px dashed #D6D3D3;
      }
      .mission__item:first-child {
        padding-top: 0;
      }
      .mission__item::before {
        content: '';
        flex-shrink: 0;
        width: 4.830vw;
        height: auto;
        aspect-ratio: 1 / 1;
        background: url(../images/aboutus/mission-list-icon.svg) no-repeat center center / contain;
      }
    }


    /* office
    -------------------------------------*/
    .office {

      .office__inner {
        padding-inline: 5.314vw;
        padding-bottom: 36.232vw;
      }

      .office__content {
        position: relative;
        width: 100%;
        padding-block: 9.661vw;
        background-color: #fff;
        border: 1px solid #A1A1A1;
      }
      .office__content::before {
        content: '';
        position: absolute;
        top: 0;
        right: 7.246vw;
        transform: translateY(-100%);
        width: 23.671vw;
        height: auto;
        aspect-ratio: 98 / 69;
        background: url(../images/aboutus/office-deco.png) no-repeat center center / contain;
      }

      .office__ttl-wrap {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 1.932vw;
        margin-bottom: 7.246vw;
      }
      .office__ttl-en {
        font-size: 6.763vw;
        font-weight: 400;
        line-height: 1.5;
        letter-spacing: 0.015em;
        color: #ED6C00;
      }
      .office__ttl {
        font-size: 4.830vw;
        font-weight: 700;
        line-height: 1.67;
        letter-spacing: 0.025em;
      }

      .office__list {
        padding-inline: 5.072vw;
      }
      .office__item {
        display: grid;
        grid-template-columns: 6em 1fr;
        align-items: center;
        gap: 3.140vw;
        padding-block: 4.591vw;
        padding-inline: 4.347vw;
        border-bottom: 1px solid #D8D8D8;
      }
      .office__item:first-of-type {
        padding-top: 0;
      }
      .office__term,
      .office__desc {
        font-size: 3.381vw;
        font-weight: 500;
        line-height: calc(38 / 14);
        letter-spacing: 0;
      }
      .office__term {
        font-weight: 700;
      }
      .office__desc--rows {
        line-height: calc(24 / 14)
      }
    }

  } /* /@media screen and (max-width: 767px) */
} /* /body#aboutus */

