@charset "UTF-8";

:root {
  --base-size: 1512; /* デザインの基準幅に応じて調整してください */
}

body,
p,
h1,
h2,
h3,
h4, 
h5{
    margin: 0;
    padding: 0;
}

html {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ",
    Meiryo, "游ゴシック", YuGothic, sans-serif;
  font-weight: 400;
  letter-spacing: 0.05em;
}

*,
*:before,
*:after {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
}

img,
video {
  width: 100%;
  vertical-align: bottom;
  height: auto;
}

a {
  display: inline-block;
  text-decoration: none;
}

li {
  list-style: none;
}

.main h2{
  text-align: left;
}

.fv{
    position: relative;
    margin-top: 80px;
}

.fv__deco {
  display: none;
}

.fv__img{
  position: absolute;
  left: calc(630 / var(--base-size) * 100vw);
  width: min(971.19px, calc(971.19 / var(--base-size) * 100vw));
  top: 0;
  z-index: -1;
}

.fv__wrap {
  width: 90%;
  max-width: min(1160px, calc(1160 / var(--base-size) * 100vw));
  margin: auto;
  padding: min(106px, calc(106 / var(--base-size) * 100vw)) 0 min(63px, calc(63 / var(--base-size) * 100vw));
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: min(53px, calc(53 / var(--base-size) * 100vw));
}

.fv__left {
  margin-top: min(88px, calc(88 / var(--base-size) * 100vw));
}

.fv__right {
  width: 56.8%;
}

.fv__left__label {
  font-size: min(26px, calc(26 / var(--base-size) * 100vw));
  margin-bottom: min(7px, calc(7 / var(--base-size) * 100vw));
  color: #012554;
  font-weight: bold;
}

.fv__left__content {
  display: inline-block;
  font-size: min(32px, calc(32 / var(--base-size) * 100vw));
  font-weight: bold;
  background: linear-gradient(to bottom right, #715eff 0%, #286cff 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  line-height: 1.5em;
}

.fv__left__content__highlight{
  display: block;
}

#index{
    margin-top: calc(-100vh + 70px);
}

.index__wrap {
  width: 90%;
  max-width: min(720px, calc(720 / var(--base-size) * 100vw));
  margin: auto;
  padding: min(24px, calc(24 / var(--base-size) * 100vw)) min(40px, calc(40 / var(--base-size) * 100vw));
  background-color: rgba(244, 247, 252, 0.6);
  border-radius: min(8px, calc(8 / var(--base-size) * 100vw));
}

.index__top {
  display: flex;
  align-items: flex-end;
  gap: min(10px, calc(10 / var(--base-size) * 100vw));
  padding: min(9px, calc(9 / var(--base-size) * 100vw)) min(12px, calc(12 / var(--base-size) * 100vw));
  border-bottom: min(1px, calc(1 / var(--base-size) * 100vw)) solid #d8dde4;
}

.index__ttl {
  font-size: min(28px, calc(28 / var(--base-size) * 100vw));
  font-weight: 300;
}

.index__label {
  font-weight: 600;
  font-size: min(16px, calc(16 / var(--base-size) * 100vw));
  color: #bdc7ce;
}

.index__link {
  font-size: min(16px, calc(16 / var(--base-size) * 100vw));
  font-weight: 600;
  line-height: 1.5em;
  color: #222222;
}

.index__item__link,
.index__item__item__link {
  font-size: min(14px, calc(14 / var(--base-size) * 100vw));
  font-weight: 300;
  color: #222222;
}

.index__item__item {
  padding-left: 0.75em;
}

.index__item__item__item {
  padding-left: 1.25em;
}

.index__content {
  margin-top: min(21px, calc(21 / var(--base-size) * 100vw));
  padding: 0 min(16px, calc(16 / var(--base-size) * 100vw));
}

.index__item {
  margin-bottom: min(4px, calc(4 / var(--base-size) * 100vw));
}

.index__item:last-child {
  margin-bottom: 0;
}

.about {
  margin-top: min(50px, calc(50 / var(--base-size) * 100vw));
}

.about__wrap {
  width: 90%;
  max-width: min(720px, calc(720 / var(--base-size) * 100vw));
  margin: auto;
}

.about__detail {
  line-height: 1.8em;
}

.about__ttl {
  font-size: min(24px, calc(24 / var(--base-size) * 100vw));
  margin-bottom: min(8px, calc(8 / var(--base-size) * 100vw));
  font-weight: bold;
  background: linear-gradient(to bottom right, #715eff 0%, #286cff 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  margin-top: min(60px, calc(60 / var(--base-size) * 100vw));
  line-height: 1.2em;
}

.about__ttl--first {
  margin-top: 0;
}

.about__img {
  margin-top: min(20px, calc(20 / var(--base-size) * 100vw));
}

.about__label {
  font-size: min(20px, calc(20 / var(--base-size) * 100vw));
  font-weight: bold;
  margin-top: min(33px, calc(33 / var(--base-size) * 100vw));
  color: #012554;
}

.about__company__top {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  background-color: #f4f7fc;
  padding: min(11.5px, calc(11.5 / var(--base-size) * 100vw)) min(20px, calc(20 / var(--base-size) * 100vw));
  gap: min(10px, calc(10 / var(--base-size) * 100vw));
  margin-top: min(20px, calc(20 / var(--base-size) * 100vw));
}

.about__company__ttl {
  display: inline-block;
  font-size: min(16px, calc(16 / var(--base-size) * 100vw));
  font-weight: bold;
  background: linear-gradient(to bottom right, #715eff 0%, #286cff 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.about__company__detail {
  font-size: min(16px, calc(16 / var(--base-size) * 100vw));
}

.about__company__text {
  margin-top: min(12px, calc(12 / var(--base-size) * 100vw));
  line-height: 1.8em;
}

.about__company__img {
  margin-top: min(24px, calc(24 / var(--base-size) * 100vw));
}

.about__company__label {
  font-size: min(16px, calc(16 / var(--base-size) * 100vw));
  font-weight: bold;
  text-align: center;
  margin-top: min(32px, calc(32 / var(--base-size) * 100vw));
}

.about__company__doc {
  display: block;
  max-width: min(450px, calc(450 / var(--base-size) * 100vw));
  width: 100%;
  margin: min(8px, calc(8 / var(--base-size) * 100vw)) auto 0;
}

.about__company__top--second {
  margin-top: min(40px, calc(40 / var(--base-size) * 100vw));
}

.about__label--second {
  margin-top: min(64px, calc(64 / var(--base-size) * 100vw));
}

.about__ttl--second {
  margin-top: min(80px, calc(80 / var(--base-size) * 100vw));
}

.intro {
  padding: min(90px, calc(90 / var(--base-size) * 100vw)) 0 min(116px, calc(116 / var(--base-size) * 100vw));
  overflow: hidden;
}

.intro__wrap {
  display: flex;
  align-items: center;
  justify-content: center;
}

.intro__left {
  width: min(409px, calc(409 / var(--base-size) * 100vw));
  margin-right: min(60px, calc(60 / var(--base-size) * 100vw));
}

.intro {
  text-align: center;
  position: relative;
}

.intro__deco {
  position: absolute;
  left: 17%;
  top: 25%;
  width: min(738.72px, calc(738.72 / var(--base-size) * 100vw));
  z-index: -3;
  overflow: hidden;
}

.intro__ttl {
  font-size: min(24px, calc(24 / var(--base-size) * 100vw));
  text-align: center;
  display: inline-block;
  font-weight: bold;
  background: linear-gradient(to bottom right, #715eff 0%, #286cff 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  margin-bottom: min(4px, calc(4 / var(--base-size) * 100vw));
  line-height: 1.2em;
}

.intro__label {
  font-size: min(16px, calc(16 / var(--base-size) * 100vw));
  color: #222;
  font-weight: bold;
  margin-bottom: min(32px, calc(32 / var(--base-size) * 100vw));
}

.intro__left {
  width: min(409px, calc(409 / var(--base-size) * 100vw));
}

.intro__link {
  padding: min(15px, calc(15 / var(--base-size) * 100vw)) 0;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: min(10px, calc(10 / var(--base-size) * 100vw));
  margin-bottom: min(10px, calc(10 / var(--base-size) * 100vw));
  color: #fff;
  width: min(245px, calc(245 / var(--base-size) * 100vw));
  border-radius: min(4px, calc(4 / var(--base-size) * 100vw));
  position: relative;
  overflow: hidden;
  font-size: min(16px, calc(16 / var(--base-size) * 100vw));
  border: min(2px, calc(2 / var(--base-size) * 100vw)) solid #286cff;
  border: min(2px, calc(2 / var(--base-size) * 100vw)) solid transparent;
}

.intro__link::before{
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    transition: 0.3s ease;
    z-index: -1;
    background: linear-gradient(98.02deg, #715eff 2.16%, #286cff 96.17%);
}

.intro__link::after{
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    transition: 0.3s ease;
    z-index: -2;
    background: #fff;
}

.intro__link:hover{
 color: #286cff;
 border: min(2px, calc(2 / var(--base-size) * 100vw)) solid #286cff;
}

.intro__link:hover::before{
    opacity: 0;
}

.intro__link:hover path{
    stroke: #286cff;
}

.intro__link--white {
  color: #286cff;
  border: min(2px, calc(2 / var(--base-size) * 100vw)) solid #286cff;
  margin-bottom: 0;
}

.intro__link--white::before{
    opacity: 0;
}

.intro__link--white:hover::before{
z-index: -1;
opacity: 1;
}

.intro__link--white:hover{
    color: #fff;
}

.intro__link--white:hover path{
    stroke: #fff;
}

.intro__link--white:hover circle{
    fill: #fff;
}

.intro__icon {
  width: min(18px, calc(18 / var(--base-size) * 100vw));
}

.index__top{
    position: relative;
    cursor: pointer;
}

.index__icon{
    width: min(13px, calc(13 / var(--base-size) * 100vw));
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%) rotateX(180deg);
    transition: transform 0.3s ease;
}
.index__top.open .index__icon{
    transform: translateY(-50%);
}


.sp-hum {
  display: none;
}

.flow__link{
    width: min(140px, calc(140 / var(--base-size) * 100vw));
    position: fixed;
    right: min(47px, calc(47 / var(--base-size) * 100vw));
    bottom: min(80px, calc(80 / var(--base-size) * 100vw));
    z-index: 10;
}

.flow__arrow{
    position: relative;
}

.flow__arrow__upper{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    transition: 0.3s;
}

.flow__arrow__inner{
    position: absolute;
    left: 50%;
    bottom: min(26px, calc(26 / var(--base-size) * 100vw));
    transform: translateX(-50%);
    background-color: #fff;
    width: min(27.12px, calc(27.12 / var(--base-size) * 100vw));
    height: min(27.12px, calc(27.12 / var(--base-size) * 100vw));
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.flow__arrow__inner img{
    width: min(7px, calc(7 / var(--base-size) * 100vw));
    height: min(10px, calc(10 / var(--base-size) * 100vw));
    transition: 0.3s;
}

.flow__link:hover .flow__arrow__inner img{
    transform: translateX(min(2px, calc(2 / var(--base-size) * 100vw)));
}    

.about__company__text {
font-size: min(16px, calc(16 / var(--base-size) * 100vw));
}

.slick-next, .slick-prev{
  width: 30px;
  height: 30px;
}

.slick-next:before,
.slick-prev:before {
  color: #5663ff;
  font-size: 30px;
  opacity: 1;
}

.slick-prev {
    left: -32px;
}

.slick-next {
    right: -32px;
}

.font-bold{
  font-weight: bold;
}

.fix__deco01{
  background-image:  url('../../../img/report/2025/deco01.webp');
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  width: 100%;
  height: 100vh;
  position: sticky;
  top: 0;
  z-index: -1;
}

@media screen and (max-width: 1024px) {
    :root {
      --base-size: 390;
    }

    .fix__deco01{
      display: none;
    }

    #index {
        margin-top: 70px;
    }

    .fv__deco {
      display: block;
    }

    .fv {
      position: relative;
      margin-top: 0;
    }

    .fv__img {
      position: absolute;
      width: 130%;
      left: -13%;
      top: calc(214 / var(--base-size) * 100vw);
      z-index: -1;
    }

    .fv__wrap {
      flex-wrap: wrap;
      width: 100%;
      gap: 0;
      padding-bottom: calc(31 / var(--base-size) * 100vw);
    }

    .fv__right {
      width: 100%;
      order: 1;
    }

    .fv__right__img{
      height: calc(300 / var(--base-size) * 100vw) ;
      object-fit: cover;
      object-position: center;
    }

    .fv__left {
      width: 94%;
      order: 2;
      margin: calc(-55 / var(--base-size) * 100vw) auto 0;
      position: relative;
      z-index: 1;
    }

    .fv__left__label {
      display: inline-block;
      font-size: calc(16 / var(--base-size) * 100vw);
      color: #fff;
      padding: calc(3 / var(--base-size) * 100vw) calc(9 / var(--base-size) * 100vw);
      background: linear-gradient(to right bottom, #715eff, #286cff);
    }

    .fv__left__content {
      font-size: calc(22 / var(--base-size) * 100vw);
      display: block;
    }

    .fv__left__content__highlight {
      display: inline-block;
      background-color: rgba(255, 255, 255, 0.8);
      padding: calc(2 / var(--base-size) * 100vw) calc(3 / var(--base-size) * 100vw);
    }

    .fv__left__content__highlight--first {
    margin-bottom: calc(7 / var(--base-size) * 100vw);
    }

  .fv__left__content__highlight__inner {
    position: relative;
    background: linear-gradient(to bottom right, #715eff 0%, #286cff 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline-block;
    font-weight: bold;
    line-height: 1em;
  }

  .index__wrap {
    width: 92%;
    padding: calc(24 / var(--base-size) * 100vw) calc(22 / var(--base-size) * 100vw);
    max-width: none;
  }

  .index__top {
    padding: 0 calc(7 / var(--base-size) * 100vw) calc(10 / var(--base-size) * 100vw);
  }

  .index__content {
    margin-top: calc(18 / var(--base-size) * 100vw);
    padding: 0 calc(6 / var(--base-size) * 100vw);
  }

  .index__link {
    font-size: calc(16 / var(--base-size) * 100vw);
  }

  .about {
    margin-top: calc(32 / var(--base-size) * 100vw);
  }

  .about__ttl {
    font-size: calc(20 / var(--base-size) * 100vw);
    margin-top: calc(32 / var(--base-size) * 100vw);
    margin-bottom: calc(12 / var(--base-size) * 100vw);
  }

  .about__detail {
    font-size: calc(16 / var(--base-size) * 100vw);
  }

  .about__wrap{
    width: 100%;
    max-width: none;
  }

  .about__ttl,
  .about__detail{
    width: 92%;
    margin-left: auto;
    margin-right: auto;
  }

  .main{
    overflow: hidden;
  }

  .about__label{
    width: 92%;
    margin-left: auto;
    margin-right: auto;
    font-size: calc(18 / var(--base-size) * 100vw);
  }

  .about__company__top{
    width: 92%;
    margin-left: auto;
    margin-right: auto;
    margin-top: calc(20 / var(--base-size) * 100vw);
  }

  .about__company__top{
    flex-wrap: wrap;
    gap: 0 calc(10 / var(--base-size) * 100vw);
  }

  .about__company__detail{
    font-size: calc(16 / var(--base-size) * 100vw);
    font-weight: bold;
  }

  .about__company__text{
    width: 92%;
    margin: calc(20 / var(--base-size) * 100vw) auto 0;
  }

  .about__company__doc{
    width: calc(100% - 75px);
    max-width: none;
  }

  .about__company__label{
    margin-top: calc(40 / var(--base-size) * 100vw);
    font-size: calc(16 / var(--base-size) * 100vw);
  }

  .about__company__text {
    font-size: calc(16 / var(--base-size) * 100vw);
  }

  .about__ttl--second{
    margin-bottom: 0;
  }

  .about__company__text--second{
    margin-top: calc(12 / var(--base-size) * 100vw);
  }

  .intro {
    padding: calc(75 / var(--base-size) * 100vw) 0 calc(79 / var(--base-size) * 100vw);
  }

  .intro__ttl{
    font-size: calc(20 / var(--base-size) * 100vw);
    margin-bottom: calc(8 / var(--base-size) * 100vw);
  }

  .intro__label{
    font-size: calc(16 / var(--base-size) * 100vw);
  }

  .intro__wrap{
    flex-wrap: wrap;
  }

  .intro__left{
    margin: 0 auto calc(26 / var(--base-size) * 100vw);
    width: 92%;
  }

  .flow__link{
    width: calc(120.56 / var(--base-size) * 100vw);
    position: fixed;
    right: calc(15 / var(--base-size) * 100vw);
    bottom: calc(10 / var(--base-size) * 100vw);
    z-index: 10;
  }
  .index__item__link,
  .index__item__item__link {
    font-size: calc(14 / var(--base-size) * 100vw);
  }
  .flow__arrow__inner img {
    width: calc(7 / var(--base-size) * 100vw);
    height: calc(10 / var(--base-size) * 100vw);
    transition: 0.3s;
  }
  .flow__arrow__inner {
    bottom: calc(26 / var(--base-size) * 100vw);
    width: calc(27.12 / var(--base-size) * 100vw);
    height: calc(27.12 / var(--base-size) * 100vw);
  }
  .about__company__ttl {
    font-size: calc(16 / var(--base-size) * 100vw);
  }

  .intro__link {
    padding: calc(15 / var(--base-size) * 100vw) 0;
    gap: calc(10 / var(--base-size) * 100vw);
    margin-bottom: calc(10 / var(--base-size) * 100vw);
    width: calc(245 / var(--base-size) * 100vw);
    border-radius: calc(4 / var(--base-size) * 100vw);
    font-size: calc(16 / var(--base-size) * 100vw);
    border: calc(2 / var(--base-size) * 100vw) solid #286cff;
    border: calc(2 / var(--base-size) * 100vw) solid transparent;
  }
  .intro__link--white {
    color: #286cff;
    border: calc(2 / var(--base-size) * 100vw) solid #286cff;
    margin-bottom: 0;
  }
  .intro__icon {
    width: calc(18 / var(--base-size) * 100vw);
    height: auto;
  }
  .index__ttl{
    font-size: calc(28 / var(--base-size) * 100vw);
  }
  .index__label {
    font-size: calc(16 / var(--base-size) * 100vw);
  }
}
