@charset "UTF-8";
#news .inner .head .btn a, #buy .btn a, #strengths .contents .txbox .btn a {
  text-decoration: none;
  display: flex;
  justify-content: center;
  align-items: center;
  -webkit-transition: all 0.5s ease-out;
  -moz-transition: all 0.5s ease-out;
  -ms-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
  width: 340px;
  max-width: 100%;
  height: 50px;
  background: linear-gradient(90deg, #00479d 0%, #3d61b4 100%);
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", system-ui, sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 1.6;
  letter-spacing: 0.1em;
  color: #fff;
  border-top-left-radius: 10px;
  border-bottom-right-radius: 10px;
  padding-left: 6px;
  column-gap: 16px;
}
#news .inner .head .btn a:hover, #buy .btn a:hover, #strengths .contents .txbox .btn a:hover {
  opacity: 0.6;
}
#news .inner .head .btn a::after, #buy .btn a::after, #strengths .contents .txbox .btn a::after {
  content: "";
  width: 70px;
  aspect-ratio: 70/12;
  background: url(../images/arow.webp) no-repeat center/cover;
}
@media (max-width: 999px) {
  #news .inner .head .btn a, #buy .btn a, #strengths .contents .txbox .btn a {
    column-gap: 10px;
    padding-left: 0;
    width: 280px;
    height: 40px;
    font-size: 18px;
  }
}
@media (max-width: 767px) {
  #news .inner .head .btn a, #buy .btn a, #strengths .contents .txbox .btn a {
    width: 240px;
    height: 30px;
    font-size: 16px;
  }
  #news .inner .head .btn a::after, #buy .btn a::after, #strengths .contents .txbox .btn a::after {
    width: 40px;
  }
}

#selecter .map .HTMLBlock {
  height: 100%;
}

/* ----------------------------------------------
mainimg
------------------------------------------------- */
@keyframes rotate {
  0% {
    rotate: 0deg;
  }
  100% {
    rotate: 1turn;
  }
}
#mainimg {
  position: relative;
  background: url(../images/sora.jpg) no-repeat center/cover;
  background-attachment: fixed;
  overflow-x: clip;
  /* #mainslider {
    display: flex;
    & > *{
      //width: calc(1600/3*1px);
      width: calc(1/3*100%);
    }
    & > .slide{
      img{
        height: calc(100vh - var(--hsize,0px));
        min-height: var(--slideminsize,0px);
      }
    }
    .center{
      .slide{
        img{
          height: calc((100vh - var(--hsize,0px))/2);
          min-height: calc(var(--slideminsize,0px)/2);
        }
      }
    }
    img,video{
      display: block;
      width: 100%;
      @include object-fit(cover);
    }
    &:not(:has(.slick-list)){
      img{
        &:not(:first-child){
          display: none;
        }
      }
    }
    &:has(video){
      position: relative;
      &::before{
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: url(../images/dotimage.png)repeat rgba(#000,0.5);
      }
      img{
        display: none;
      }
    }
  } */
}
#mainimg #mainslider {
  container-type: inline-size;
  --img-reduction-ratio: 1.2;
  --css3d-layer-margin: calc(1px * var(--img-reduction-ratio));
  --circle-diameter: calc(min(calc(1000/16*1cqw),1000px) * var(--img-reduction-ratio)); /* 円の直径 */
  --circle-horizontal-angle: 10deg; /* 円の横方向の傾き */
  --circle-vertical-angle: calc(-105deg + var(--circle-vertical-angle-chenge,0deg)); /* 円の縦方向の傾き */
  --circle-img-num: 8; /* 画像の枚数 */
  --circle-img-angle: calc(360deg / var(--circle-img-num)); /* 隣り合う画像間の角度（360度 ÷ 画像の枚数）*/
  --circle-img-width: calc(var(--circle-diameter) * 3.14 / (var(--circle-img-num) * 1.2) - 30px); /* 画像の横幅（円周 ÷ (画像の枚数 * 余白の比率)）*/
  --circle-img-height: calc(var(--circle-img-width) / 3 * 2); /* 画像の縦幅（円の直径 ÷ 3 × 2）*/
  /* ----- Circle ----- */
}
@media (max-width: 767px) {
  #mainimg #mainslider {
    --img-reduction-ratio: 1;
    --circle-diameter: calc(min(calc(1300/16*1cqw),1300px) * var(--img-reduction-ratio));
    --circle-img-width: calc(var(--circle-diameter) * 3.14 / (var(--circle-img-num) * 1.2) - 10px);
  }
}
#mainimg #mainslider .css3d-stage {
  perspective: calc(2000px * var(--img-reduction-ratio));
  will-change: transform;
  transform: translate3d(0, 0, 0);
}
#mainimg #mainslider .stage {
  padding-left: 3.125%;
}
#mainimg #mainslider .shape {
  display: block;
  margin: 0 auto;
  width: min(77.4193548387%, 1200px);
  min-height: calc(var(--circle-diameter) * 0.75);
  aspect-ratio: 5376/3757;
  overflow-y: clip;
  position: relative;
}
#mainimg #mainslider .shape span {
  display: block;
  width: 100%;
  height: 100%;
  background: url(../images/main.png) no-repeat bottom left/contain;
  background: url(../images/main.webp) no-repeat bottom left/contain;
  transform: rotate(40deg) translateY(20%);
}
#mainimg #mainslider .css3d-container {
  transform-style: preserve-3d;
}
#mainimg #mainslider .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
#mainimg #mainslider .css3d-circle {
  position: absolute;
  width: var(--circle-diameter);
  height: var(--circle-diameter);
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  transform-style: preserve-3d;
  will-change: transform;
  transform: translate3d(0, 0, 0) rotateX(var(--circle-vertical-angle)) rotateY(var(--circle-horizontal-angle));
  transition: transform 1.2s cubic-bezier(0.7, 0, 0.3, 1);
}
#mainimg #mainslider .css3d-circle__inner {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  transform-style: preserve-3d;
  will-change: transform;
  animation: rotate 30s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  #mainimg #mainslider .css3d-circle__inner {
    animation: none;
  }
}
#mainimg #mainslider .css3d-circle__item {
  position: absolute;
  width: var(--circle-img-width);
  height: var(--circle-diameter);
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  transform-style: preserve-3d;
}
#mainimg #mainslider .css3d-circle__item:nth-child(1) {
  transform: rotateZ(calc(var(--circle-img-angle) * 0));
}
#mainimg #mainslider .css3d-circle__item:nth-child(2) {
  transform: rotateZ(calc(var(--circle-img-angle) * 1));
}
#mainimg #mainslider .css3d-circle__item:nth-child(3) {
  transform: rotateZ(calc(var(--circle-img-angle) * 2));
}
#mainimg #mainslider .css3d-circle__item:nth-child(4) {
  transform: rotateZ(calc(var(--circle-img-angle) * 3));
}
#mainimg #mainslider .css3d-circle__item:nth-child(5) {
  transform: rotateZ(calc(var(--circle-img-angle) * 4));
}
#mainimg #mainslider .css3d-circle__item:nth-child(6) {
  transform: rotateZ(calc(var(--circle-img-angle) * 5));
}
#mainimg #mainslider .css3d-circle__item:nth-child(7) {
  transform: rotateZ(calc(var(--circle-img-angle) * 6));
}
#mainimg #mainslider .css3d-circle__item:nth-child(8) {
  transform: rotateZ(calc(var(--circle-img-angle) * 7));
}
#mainimg #mainslider .css3d-circle__img {
  position: absolute;
  width: 100%;
  height: var(--circle-img-height);
  left: 0;
  top: 100%;
  transform-style: preserve-3d;
  translate: 0 -34%;
  transform: rotateX(90deg) rotateY(calc(180deg - var(--circle-img-angle) / 2));
}
#mainimg #mainslider .css3d-circle__img div {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 95%;
  transform-style: preserve-3d;
  transform: rotateY(calc(var(--circle-img-angle) / 5.6));
  transform-origin: center left;
  background-size: cover;
  background-repeat: no-repeat;
}
#mainimg #mainslider .css3d-circle__img > div {
  width: 21%;
  left: 0;
  border-radius: calc(10px * var(--img-reduction-ratio)) 0 0 calc(10px * var(--img-reduction-ratio));
}
#mainimg #mainslider .css3d-circle__img > div > div > div > div > div {
  border-radius: 0 calc(10px * var(--img-reduction-ratio)) calc(10px * var(--img-reduction-ratio)) 0;
}
#mainimg #mainslider .css3d-circle__img > div {
  background-position-x: 0%;
}
#mainimg #mainslider .css3d-circle__img > div > div {
  background-position-x: 25%;
}
#mainimg #mainslider .css3d-circle__img > div > div > div {
  background-position-x: 50%;
}
#mainimg #mainslider .css3d-circle__img > div > div > div > div {
  background-position-x: 75%;
}
#mainimg #mainslider .css3d-circle__img > div > div > div > div > div {
  background-position-x: 100%;
}
#mainimg .catch {
  font-family: "Montserrat", sans-serif;
  font-weight: 300;
  font-size: 84px;
  color: #00479d;
  line-height: 1;
  text-align: center;
  padding: 80px 10px 0;
  margin-bottom: 60px;
  /* position: absolute;
  bottom: 0;
  display: flex;
  flex-direction: column;
  align-items: start;
  padding: var(--hbottomsize,0px) 50px 29px perCalc(30,1600);
  .head{
    display: flex;
    align-items: end;
    flex-wrap: wrap;
    margin-bottom: 30px;
    gap: 30px 27px;
    .title{
      @include fontyu(700);
      font-size: 73.87px;
      @include lh(73.87,76);
      color: #00479d;
      text-align: center;
      .box{
        display: flex;
        align-items: end;
        justify-content: center;
        margin-bottom: -24px;
        .center{
          display: flex;
          flex-direction: column;
          align-items: center;
          &::before{
            content: "";
            width: min(110px,calc(100% - 20px));
            aspect-ratio: 110/48;
            background: url(../images/mainshape1.png)no-repeat center/cover;
          }
        }
        .tx{
          background-color: rgba(#fff,0.8);
          padding: 18.5px 58px;
          margin: 0 -17px 0 -27px;
          border-radius: 90px;
        }
        &::before,
        &::after{
          content: "";
          height: max(181px,var(--minsize,0px));
          aspect-ratio: 67/181;
          margin-bottom: 15px;
        }
        &::before{
          background: url(../images/mainshape2-l.png)no-repeat center/cover;
        }
        &::after{
          background: url(../images/mainshape2-r.png)no-repeat center/cover;
        }
      }
      small{
        @include fontjo(700);
        font-size: 16.81px;
        line-height: 1.6;
        color: #fff;
        display: flex;
        justify-content: center;
        .tx{
          position: relative;
          z-index: 1;
          background: linear-gradient(90deg, #c7000b 0%, #ea5547 50%, #c7000b 100%);
          padding: 8px 13px;
          margin: 0 -34px;
        }
        .shape{
          margin: 13px 0 -13px;
          width: 70px;
          position: relative;
          &::before,
          &::after{
            content: "";
            position: absolute;
          }
          &::before{
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, #c7000b 0%, #e83836 39.5239%, #a40000 100%);
            clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 17% 50%);
          }
          &::after{
            width: 34px;
            bottom: 0;
            height: 15px;
            background-color: #730000;
            clip-path: polygon(0 0, 100% 0, 100% 100%);
          }
          &:first-child{
            &::before,
            &::after{
              right: 0;
            }
          }
          &:last-child{
            &::before,
            &::after{
              left: 0;
              transform: rotateY(180deg);
            }
          }
        }
      }
    }
    .area{
      @include fontmon(600);
      font-size: 51.77px;
      line-height: 1;
      color: #fff;
      margin-bottom: 9px;
      small{
        display: block;
        font-size: 19px;
        line-height: 1.6;
        margin-top: 7px;
      }
    }
  }
  .bottom{
    padding-left: 32px;
    .title{
      @include fontyu(700);
      font-size: 48.19px;
      line-height: 1;
      color: #fff;
      background-color: #00215b;
      padding: 19px 10px 16px 23px;
    }
    .center{
      @include fontyu(700);
      font-size: 32.6px;
      line-height: 1;
      color: #fff;
      background-color: #00479d;
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 0 11px;
      padding: 11px 10px 11px 28px;
      span{
        font-size: 59.72px;
      }
    }
    .coment{
      @include fontyu(700);
      font-size: 48.19px;
      line-height: 1.6;
      color: #fff;
      background-color: #00a599;
      padding: 4px 41px 4px 44px;
    }
  } */
}
#mainimg .catch small {
  display: block;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", system-ui, sans-serif;
  font-weight: 700;
  font-size: 40px;
  line-height: 1.6;
  margin-top: 10px;
}
@media (max-width: 999px) {
  #mainimg {
    /* #mainslider {
      & > .slide,
      .center .slide{
        img {
          height: auto;
        }
      }
    } */
  }
  #mainimg #mainslider .stage {
    padding-left: 0;
  }
  #mainimg .catch {
    font-size: 70px;
    /* .head{
      margin-bottom: 20px;
      .title{
        font-size: 60px;
        .box{
          margin-bottom: -15px;
          &::before,
          &::after{
            height: max(152px,var(--minsize,0px));
          }
          .tx{
            padding: 15px 40px;
          }
        }
        small{
          font-size: 15px;
          .tx{
            margin: 0 -30px;
          }
          .shape{
            width: 60px;
            &::after{
              width: 30px;
            }
          }
        }
      }
      .area{
        font-size: 40px;
        small{
          font-size: 17px;
        }
      }
    }
    .bottom{
      padding-left: 0;
      .title,
      .center,
      .coment{
        padding: 10px;
        line-height: 1.2;
      }
      .title{
        font-size: 40px;
      }
      .center{
        font-size: 26px;
        span{
          font-size: 50px;
        }
      }
      .coment{
        font-size: 40px;
      }
    } */
  }
  #mainimg .catch small {
    font-size: 30px;
  }
}
@media (max-width: 767px) {
  #mainimg .catch {
    font-size: 40px;
    padding-top: 60px;
    /* padding-left: 10px;
    padding-right: 40px;
    padding-bottom: 20px;
    .head{
      margin-bottom: 10px;
      .title{
        font-size: 40px;
        .box{
          &::before,
          &::after{
            height: max(111px,var(--minsize,0px));
          }
          .tx{
            margin: 0 -10px;
            padding: 15px 30px;
          }
        }
        small{
          font-size: 10px;
          .tx{
            margin: 0 -20px;
          }
          .shape{
            width: 40px;
            &::after{
              width: 20px;
            }
          }
        }
      }
      .area{
        font-size: 28px;
        small{
          font-size: 13px;
        }
      }
    }
    .bottom{
      .title{
        font-size: 26px;
      }
      .center{
        font-size: 18px;
        span{
          font-size: 36px;
        }
      }
      .coment{
        font-size: 26px;
      }
    } */
  }
  #mainimg .catch small {
    font-size: 20px;
  }
}
@media (max-width: 500px) {
  #mainimg .catch {
    font-size: 30px;
    /* .head{
      row-gap: 20px;
      .title{
        font-size: 26px;
        .box{
          &::before,
          &::after{
            height: max(75px,var(--minsize,0px));
          }
        }
        small{
          font-size: 8px;
          .tx{
            margin: 0 -10px;
          }
          .shape{
            width: 30px;
            margin: 8px 0 -8px;
            &::after{
              width: 10px;
            }
          }
        }
      }
      .area{
        font-size: 16px;
        small{
          font-size: 7px;
        }
      }
    }
    .bottom{
      .title{
        font-size: 15px;
      }
      .center{
        font-size: 10px;
        span{
          font-size: 18px;
        }
      }
      .coment{
        font-size: 15px;
      }
    } */
  }
  #mainimg .catch small {
    font-size: 14px;
  }
}

/* ----------------------------------------------
strengths
------------------------------------------------- */
#strengths {
  container-type: inline-size;
}
#strengths .contents {
  display: flex;
  align-items: start;
  border-bottom: 1px solid #0e74bc;
  padding-bottom: min(4.6875cqw, 75px);
}
#strengths .contents .left {
  display: flex;
  width: min(48.6875%, 779px);
  column-gap: 17px;
  clip-path: polygon(0 0, 100% 0, 100% 75%, 76% 100%, 0 100%);
}
#strengths .contents .left .image {
  flex: 1;
}
#strengths .contents .left::after {
  content: "";
  width: 28px;
  background: linear-gradient(180deg, #0e74bc 0%, #00f1b5 100%);
}
#strengths .contents .txbox {
  flex: 1;
  text-align: end;
  margin-left: -45px;
  padding: min(4.8125cqw, 77px) 2.875% 0 0;
  position: relative;
}
#strengths .contents .txbox h2 {
  font-family: "Montserrat", sans-serif;
  font-weight: 300;
  font-size: min(5.25cqw, 84px);
  line-height: 1.0952380952;
  color: #00479d;
  margin-bottom: min(2.75cqw, 44px);
}
#strengths .contents .txbox h2 small {
  display: block;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", system-ui, sans-serif;
  font-weight: 700;
  font-size: min(2.375cqw, 84px);
  color: #333;
  letter-spacing: 0.08em;
}
#strengths .contents .txbox h2 small {
  border-top: 1px solid #0e74bc;
  margin: min(1.4375cqw, 23px) -2.875cqw 0 0;
  padding: min(1.625cqw, 26px) calc(2.875cqw + 10px) 0 0;
}
#strengths .contents .txbox .text {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", system-ui, sans-serif;
  font-weight: 500;
  font-size: min(1.125cqw, 18px);
  line-height: 2.1111111111;
  color: #333;
  margin: 0 -6px min(2.5cqw, 40px) 0;
}
#strengths .contents .txbox .btn {
  margin-right: 5px;
}
#strengths .contents .txbox .btn a {
  width: min(21.25cqw, 340px);
  height: min(3.125cqw, 50px);
  font-size: min(1.25cqw, 20px);
  margin-left: auto;
}
#strengths .contents .txbox .btn a::after {
  width: min(4.375cqw, 70px);
}
@media (max-width: 767px) {
  #strengths .contents {
    flex-direction: column;
    align-items: unset;
    row-gap: 30px;
  }
  #strengths .contents .left {
    width: min(100% - 10px, 400px);
  }
  #strengths .contents .txbox {
    padding: 0 10px;
    margin-left: 0;
  }
  #strengths .contents .txbox h2 {
    font-size: 40px;
    margin-bottom: 20px;
  }
  #strengths .contents .txbox h2 small {
    font-size: 18px;
    margin: 10px -10px 0 0;
    padding: 10px 10px 0 0;
  }
  #strengths .contents .txbox .text {
    font-size: 14px;
    margin: 0 0 30px 0;
  }
  #strengths .contents .txbox .text br {
    display: none;
  }
  #strengths .contents .txbox .btn a {
    width: 240px;
    height: 30px;
    font-size: 16px;
  }
  #strengths .contents .txbox .btn a::after {
    width: 40px;
  }
}
@media (max-width: 500px) {
  #strengths .contents .txbox h2 {
    font-size: 30px;
  }
}

/* ----------------------------------------------
buy
------------------------------------------------- */
#buy {
  padding-top: 78px;
  position: relative;
}
#buy::before {
  content: "";
  position: absolute;
  width: min(100% - 20px, 1409px);
  height: 100%;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  border-left: 1px solid #0e74bc;
  z-index: -1;
}
#buy .head {
  position: relative;
  text-align: center;
  padding: 87px 10px 79px;
  margin-bottom: 63px;
}
#buy .head::before, #buy .head::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
#buy .head::before {
  width: 100%;
  height: 100%;
  background: url(../images/buy-bg.webp) no-repeat center/cover;
}
#buy .head::after {
  width: calc(100% - 34px);
  height: calc(100% - 34px);
  border: 17px solid rgba(0, 71, 157, 0.63);
  background-color: rgba(0, 71, 157, 0.63);
  mix-blend-mode: multiply;
}
#buy .head h2 {
  font-family: "Montserrat", sans-serif;
  font-weight: 300;
  font-size: 78px;
  line-height: 1.0952380952;
  color: #fff;
}
#buy .head h2 small {
  display: block;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", system-ui, sans-serif;
  font-weight: 700;
  font-size: 38px;
  letter-spacing: 0.08em;
}
@media (max-width: 999px) {
  #buy .head h2 {
    font-size: 56px;
  }
  #buy .head h2 small {
    font-size: 28px;
  }
}
@media (max-width: 767px) {
  #buy .head h2 {
    font-size: 32px;
  }
  #buy .head h2 small {
    font-size: 18px;
  }
}
@media (max-width: 500px) {
  #buy .head h2 {
    font-size: 28px;
  }
}
#buy .head h2 small {
  margin-top: 17px;
}
#buy .contents {
  width: min(100% - 30px, 1380px);
  margin-bottom: 48px;
}
#buy .btn a {
  margin: 0 auto;
}
@media (max-width: 999px) {
  #buy {
    padding-top: 60px;
  }
  #buy .head {
    padding: 60px 10px;
    margin-bottom: 40px;
  }
  #buy .contents {
    margin-bottom: 30px;
  }
}
@media (max-width: 767px) {
  #buy {
    padding-top: 30px;
  }
  #buy .head {
    padding: 40px 10px;
    margin-bottom: 30px;
  }
  #buy .head h2 small {
    margin-top: 10px;
  }
  #buy .contents {
    margin-bottom: 20px;
  }
}

/* ----------------------------------------------
cleanups
------------------------------------------------- */
#cleanups {
  container-type: inline-size;
  background: url(../images/cleanups-bg.webp) no-repeat center/cover;
}
#cleanups .container {
  position: relative;
  margin: 0 5.625% 0 9.375%;
  padding-bottom: 95px;
}
#cleanups .container::before, #cleanups .container::after {
  content: "";
  position: absolute;
  top: 0;
  width: 1px;
  height: 100%;
  background-color: #0e74bc;
}
#cleanups .container::before {
  left: 0;
}
#cleanups .container::after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
#cleanups h2 {
  font-family: "Montserrat", sans-serif;
  font-weight: 300;
  font-size: 78px;
  line-height: 1.0952380952;
  color: #00479d;
  margin: 0 -5.625cqw 107px 0;
  padding: 95px 0 0 2.7205882353%;
}
#cleanups h2 small {
  display: block;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", system-ui, sans-serif;
  font-weight: 700;
  font-size: 38px;
  color: #0e74bc;
  letter-spacing: 0.08em;
}
@media (max-width: 999px) {
  #cleanups h2 {
    font-size: 56px;
  }
  #cleanups h2 small {
    font-size: 28px;
  }
}
@media (max-width: 767px) {
  #cleanups h2 {
    font-size: 32px;
  }
  #cleanups h2 small {
    font-size: 18px;
  }
}
@media (max-width: 500px) {
  #cleanups h2 {
    font-size: 28px;
  }
}
#cleanups h2 .box {
  display: flex;
  column-gap: 10px;
}
#cleanups h2 .box .bds {
  display: flex;
  flex: 1;
  max-width: 748px;
  flex-direction: column;
  align-items: end;
  row-gap: 20px;
  margin: -16px 0 17px auto;
}
#cleanups h2 .box .bds::before, #cleanups h2 .box .bds::after {
  content: "";
  flex: 1;
}
#cleanups h2 .box .bds::before {
  width: 56.6844919786%;
  background-color: #00a599;
}
#cleanups h2 .box .bds::after {
  width: 100%;
  background-color: #00479d;
}
#cleanups h2 small {
  margin: 36px 0 0 29px;
  letter-spacing: 0;
}
#cleanups .contents {
  width: min(100% - 20px, 1225px);
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 76px 9.387755102%;
}
#cleanups .contents .block {
  width: 45.306122449%;
  container-type: inline-size;
}
#cleanups .contents .block a {
  text-decoration: none;
  -webkit-transition: all 0.5s ease-out;
  -moz-transition: all 0.5s ease-out;
  -ms-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}
#cleanups .contents .block a:hover {
  opacity: 0.6;
}
#cleanups .contents .block .imagebox {
  position: relative;
}
#cleanups .contents .block .imagebox .image {
  aspect-ratio: 555/332;
}
#cleanups .contents .block .imagebox .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#cleanups .contents .block .imagebox .num {
  position: absolute;
  top: 0;
  left: 0;
  width: min(100% - 10px, 92px);
  aspect-ratio: 1/1;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", system-ui, sans-serif;
  font-weight: 700;
  font-size: 36.7px;
  line-height: 1;
  color: #fff;
  background-color: #0e74bc;
  padding: 6.7px 10px 0;
  text-align: center;
  align-content: center;
}
#cleanups .contents .block .imagebox .num::before {
  content: "";
  position: absolute;
  width: 13px;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #0e74bc;
  mix-blend-mode: multiply;
}
#cleanups .contents .block .imagebox .num span {
  font-size: 18px;
  display: block;
  margin-bottom: 8px;
}
#cleanups .contents .block .title {
  display: flex;
  flex-direction: column;
  align-items: start;
  row-gap: 10px;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", system-ui, sans-serif;
  font-weight: 700;
  font-size: 26px;
  line-height: 1.6;
  color: #fff;
  margin: calc(min(var(--msize, 0px) + 5px, 59.8198198198cqw - 92px - 10px) * -1) 10px 0 -28px;
  position: relative;
}
#cleanups .contents .block .title span {
  background: linear-gradient(90deg, #0e74bc 0%, #00f1b5 100%);
  padding: 5px 18px 5px 41px;
}
#cleanups .contents .block .text {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", system-ui, sans-serif;
  font-weight: 500;
  font-size: 18px;
  line-height: 1.4477777778;
  color: #000;
  margin: 11px 0 0 15px;
}
@media (max-width: 999px) {
  #cleanups .container {
    margin: 0 10px;
    padding-bottom: 70px;
  }
  #cleanups .container::after {
    display: none;
  }
  #cleanups h2 {
    margin: 0 -10px 80px 0;
    padding: 70px 0 0 10px;
  }
  #cleanups h2 .box .bds {
    row-gap: 15px;
    margin: -5px 0 5px auto;
  }
  #cleanups h2 small {
    margin: 20px 0 0;
  }
  #cleanups .contents {
    row-gap: 50px;
  }
  #cleanups .contents .block .imagebox .num {
    width: 70px;
    font-size: 28px;
  }
  #cleanups .contents .block .imagebox .num::before {
    width: 10px;
  }
  #cleanups .contents .block .imagebox .num span {
    font-size: 16px;
  }
  #cleanups .contents .block .title {
    margin: calc(min(var(--msize, 0px) + 5px, 59.8198198198cqw - 70px - 10px) * -1) 10px 0 0px;
    font-size: 18px;
  }
  #cleanups .contents .block .title span {
    padding: 5px 10px;
  }
  #cleanups .contents .block .text {
    margin-left: 0;
    font-size: 16px;
  }
}
@media (max-width: 767px) {
  #cleanups .container {
    padding-bottom: 60px;
  }
  #cleanups h2 {
    margin-bottom: 50px;
    padding-top: 50px;
  }
  #cleanups h2 .box .bds {
    row-gap: 10px;
    max-width: min(748px, 49%);
  }
  #cleanups h2 small {
    margin-top: 10px;
  }
  #cleanups .contents {
    gap: 30px 2%;
  }
  #cleanups .contents .block {
    width: 49%;
  }
  #cleanups .contents .block .imagebox .num {
    width: 60px;
    font-size: 22px;
  }
  #cleanups .contents .block .imagebox .num::before {
    width: 7px;
  }
  #cleanups .contents .block .imagebox .num span {
    font-size: 14px;
  }
  #cleanups .contents .block .title {
    margin-top: calc(min(var(--msize, 0px) + 5px, 59.8198198198cqw - 60px - 10px) * -1);
    font-size: 16px;
    row-gap: 5px;
  }
  #cleanups .contents .block .text {
    font-size: 14px;
  }
}
@media (max-width: 500px) {
  #cleanups .contents {
    flex-direction: column;
    align-items: center;
  }
  #cleanups .contents .block {
    width: min(100%, 400px);
  }
}

/* ----------------------------------------------
solution
------------------------------------------------- */
#solution h2 {
  font-family: "Montserrat", sans-serif;
  font-weight: 300;
  font-size: 84px;
  line-height: 1.0952380952;
  color: #97acd4;
  text-align: center;
  padding: 12px 10px 68px;
  position: relative;
  margin-bottom: 31px;
}
#solution h2 small {
  display: block;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", system-ui, sans-serif;
  font-weight: 700;
  font-size: 19px;
  color: #fff;
  letter-spacing: 0.08em;
}
@media (max-width: 999px) {
  #solution h2 {
    font-size: 70px;
  }
  #solution h2 small {
    font-size: 17px;
  }
}
@media (max-width: 767px) {
  #solution h2 {
    font-size: 40px;
  }
  #solution h2 small {
    font-size: 14px;
  }
}
@media (max-width: 500px) {
  #solution h2 {
    font-size: 30px;
  }
}
#solution h2 small {
  font-family: "Montserrat", sans-serif;
  font-weight: 300;
  letter-spacing: 0;
  margin: 6px auto 0;
  max-width: 60%;
}
#solution h2::before, #solution h2::after {
  content: "";
  position: absolute;
  background-color: #0e74bc;
  z-index: -1;
}
#solution h2::before {
  width: 100%;
  height: 50px;
  top: 0;
  left: 0;
}
#solution h2::after {
  width: min(100% - 20px, 1055px);
  height: 100%;
  top: 0;
  left: calc(50% + 5px);
  transform: translateX(-50%);
  clip-path: polygon(0 0, 100% 0, 100% 82px, 50% 100%, 0 82px);
}
#solution .catch {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", system-ui, sans-serif;
  font-weight: 700;
  font-size: 38px;
  line-height: 1.6;
  color: #0074bc;
  text-align: center;
  margin-bottom: 17px;
  padding: 0 10px;
}
#solution .text {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", system-ui, sans-serif;
  font-weight: 500;
  font-size: 18px;
  line-height: 1.7222222222;
  color: #333;
  text-align: center;
  margin-bottom: 51px;
  padding: 0 10px;
}
#solution .btns {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px 23px;
  margin-bottom: 84px;
  padding: 0 10px;
}
#solution .btns .btn {
  width: 450px;
  max-width: calc(50% - 11.5px);
  container-type: inline-size;
}
#solution .btns .btn a {
  text-decoration: none;
  display: flex;
  justify-content: center;
  align-items: center;
  -webkit-transition: all 0.5s ease-out;
  -moz-transition: all 0.5s ease-out;
  -ms-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
  width: 100%;
  max-width: 100%;
  height: 73px;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", system-ui, sans-serif;
  font-weight: 700;
  font-size: 6.5777777778cqw;
  line-height: 1.6;
  letter-spacing: 0.1em;
  color: #fff;
  border-top-left-radius: 10px;
  border-bottom-right-radius: 10px;
}
#solution .btns .btn a:hover {
  opacity: 0.6;
}
#solution .btns .btn a::after {
  content: "";
  width: 13.5555555556%;
  aspect-ratio: 61/16;
  background: url(../images/arow2.webp) no-repeat center/cover;
}
#solution .btns .btn.line a {
  background-color: #06c755;
  column-gap: 6%;
}
#solution .btns .btn.mail a {
  background: linear-gradient(90deg, #00479d 0%, #3d61b4 100%);
  column-gap: 3.3333333333%;
}
#solution .bottom {
  position: relative;
  padding: 20px 10px 47px;
}
#solution .bottom::before, #solution .bottom::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
#solution .bottom::before {
  width: 100%;
  height: 100%;
  background: url(../images/process-bg.webp) no-repeat center/cover;
}
#solution .bottom::after {
  width: 100%;
  height: calc(100% - 30px);
  border-top: 15px solid #eee;
  border-bottom: 15px solid #eee;
  background-color: rgba(238, 238, 238, 0.85);
}
#solution .bottom h3 {
  font-family: "Montserrat", sans-serif;
  font-weight: 300;
  font-size: 40px;
  line-height: 1.6;
  color: #0e74bc;
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 3px;
  margin-bottom: 25px;
}
#solution .bottom h3 small {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", system-ui, sans-serif;
  font-weight: 700;
  font-size: 26px;
  line-height: 1.6;
  color: #0074bc;
  background-color: #fff;
  padding: 0 35px;
}
#solution .bottom .contents {
  width: min(100%, 1093px);
  margin: 0 auto 25px;
  display: flex;
  container-type: inline-size;
}
#solution .bottom .contents .block .content {
  padding-top: 3.2021957914cqw;
  padding-bottom: 2.4702653248cqw;
}
#solution .bottom .contents .block .head {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.9149130833cqw;
  padding-bottom: 1.0978956999cqw;
  margin-bottom: 1.8298261665cqw;
}
#solution .bottom .contents .block .head .num {
  width: 4.3000914913cqw;
  aspect-ratio: 1/1;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: 1.6404391583cqw;
  line-height: 1;
  text-align: center;
  align-content: center;
}
#solution .bottom .contents .block .head .num span {
  display: block;
  font-size: 1.0082342177cqw;
}
#solution .bottom .contents .block .head .heading {
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: 2.5617566331cqw;
  line-height: 1.6;
}
#solution .bottom .contents .block .title {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", system-ui, sans-serif;
  font-weight: 700;
  font-size: 2.9277218664cqw;
  line-height: 1.28125;
  letter-spacing: 0.05em;
  text-align: center;
}
#solution .bottom .contents .block:nth-child(1) .content {
  background-color: #fff;
  padding-left: 2.0128087832cqw;
  padding-right: 7.868252516cqw;
}
#solution .bottom .contents .block:nth-child(1) .head {
  border-bottom: 1px solid #9fb1d7;
  padding-right: 2.0128087832cqw;
}
#solution .bottom .contents .block:nth-child(1) .head .num {
  background-color: #9fb1d7;
  color: #fff;
}
#solution .bottom .contents .block:nth-child(1) .head .heading {
  color: #9fb1d7;
}
#solution .bottom .contents .block:nth-child(1) .title {
  color: #0e74bc;
}
#solution .bottom .contents .block:nth-child(2) {
  background-color: rgba(159, 177, 215, 0.5);
}
#solution .bottom .contents .block:nth-child(2) .content {
  background-color: #9fb1d7;
  padding-left: 11.6193961574cqw;
  padding-right: 10.5215004575cqw;
}
#solution .bottom .contents .block:nth-child(2) .head {
  border-bottom: 1px solid #0e74bc;
  padding-right: 2.7447392498cqw;
}
#solution .bottom .contents .block:nth-child(2) .head .num {
  background-color: #0e74bc;
  color: #fff;
}
#solution .bottom .contents .block:nth-child(2) .head .heading {
  color: #0e74bc;
}
#solution .bottom .contents .block:nth-child(2) .title {
  color: #0d5a92;
}
#solution .bottom .contents .block:nth-child(3) {
  background-color: rgba(14, 116, 188, 0.5);
}
#solution .bottom .contents .block:nth-child(3) .content {
  background-color: #0e74bc;
  padding-left: 12.5343092406cqw;
  padding-right: 4.9405306496cqw;
}
#solution .bottom .contents .block:nth-child(3) .head {
  border-bottom: 1px solid #fff;
  padding-right: 4.208600183cqw;
}
#solution .bottom .contents .block:nth-child(3) .head .num {
  color: #0e74bc;
  background-color: #fff;
}
#solution .bottom .contents .block:nth-child(3) .head .heading {
  color: #fff;
}
#solution .bottom .contents .block:nth-child(3) .title {
  color: #fff;
}
#solution .bottom .contents .block:not(:first-child) {
  margin-left: -10.5215004575cqw;
}
#solution .bottom .contents .block:not(:first-child) {
  padding-left: 2.1043000915cqw;
}
#solution .bottom .contents .block:not(:first-child),
#solution .bottom .contents .block:not(:first-child) .content {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 21% 50%);
}
#solution .bottom .bnr {
  width: min(100% - 20px, 833px);
  margin: 0 auto;
  border: 4px solid #fff;
  background-color: #3d61b4;
  border-radius: 10px;
}
#solution .bottom .bnr:not(:has(a)),
#solution .bottom .bnr a {
  display: flex;
  padding: 10px 38px 10px 8px;
}
#solution .bottom .bnr a {
  text-decoration: none;
  -webkit-transition: all 0.5s ease-out;
  -moz-transition: all 0.5s ease-out;
  -ms-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}
#solution .bottom .bnr a:hover {
  opacity: 0.6;
}
#solution .bottom .bnr a::after {
  content: "";
  flex: 1;
  max-width: 78px;
  min-width: 10px;
  aspect-ratio: 78/17;
  background: url(../images/arow3.webp) no-repeat center/cover;
  margin: auto 0 auto auto;
}
#solution .bottom .bnr .image {
  width: 33.2477535302%;
}
#solution .bottom .bnr .image img {
  border-radius: 10px;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#solution .bottom .bnr .txbox {
  margin: 4px 10px 0 4.3645699615%;
  align-content: center;
}
#solution .bottom .bnr .txbox .eg {
  font-family: "Montserrat", sans-serif;
  font-weight: 300;
  font-size: 34px;
  line-height: 1.0882352941;
  color: #97acd4;
}
#solution .bottom .bnr .txbox .jp {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", system-ui, sans-serif;
  font-weight: 700;
  font-size: 40px;
  line-height: 1.6;
  letter-spacing: 0.05em;
  color: #fff;
}
@media (max-width: 999px) {
  #solution h2 {
    padding: 10px 10px 50px;
    margin-bottom: 25px;
  }
  #solution h2::before {
    height: 45px;
  }
  #solution h2::after {
    clip-path: polygon(0 0, 100% 0, 100% 70px, 50% 100%, 0 70px);
  }
  #solution .catch {
    font-size: 26px;
    margin-bottom: 10px;
  }
  #solution .text {
    font-size: 16px;
    margin-bottom: 40px;
  }
  #solution .btns {
    margin-bottom: 70px;
  }
  #solution .btns .btn a {
    height: 60px;
  }
  #solution .bottom {
    padding: 15px 10px 30px;
  }
  #solution .bottom h3 {
    font-size: 30px;
  }
  #solution .bottom h3 small {
    font-size: 22px;
  }
  #solution .bottom .bnr:not(:has(a)),
#solution .bottom .bnr a {
    padding: 10px;
  }
  #solution .bottom .bnr .txbox .eg {
    font-size: 26px;
  }
  #solution .bottom .bnr .txbox .jp {
    font-size: 30px;
  }
}
@media (max-width: 767px) {
  #solution h2 {
    padding-bottom: 40px;
    margin-bottom: 20px;
  }
  #solution h2::before {
    height: 30px;
  }
  #solution h2::after {
    clip-path: polygon(0 0, 100% 0, 100% 45px, 50% 100%, 0 45px);
  }
  #solution .catch {
    font-size: 22px;
  }
  #solution .text {
    font-size: 14px;
    margin-bottom: 30px;
  }
  #solution .btns {
    margin-bottom: 50px;
    column-gap: 10px;
  }
  #solution .btns .btn {
    max-width: calc(50% - 5px);
  }
  #solution .btns .btn a {
    height: 50px;
  }
  #solution .btns .btn a img {
    max-width: 20px;
  }
  #solution .bottom {
    padding: 10px 10px 20px;
  }
  #solution .bottom h3 {
    font-size: 20px;
    margin-bottom: 15px;
  }
  #solution .bottom h3 small {
    font-size: 14px;
    padding: 0 15px;
  }
  #solution .bottom .contents {
    margin-bottom: 10px;
  }
  #solution .bottom .bnr:not(:has(a)),
#solution .bottom .bnr a {
    flex-wrap: wrap;
    justify-content: center;
    row-gap: 10px;
  }
  #solution .bottom .bnr:not(:has(a))::after,
#solution .bottom .bnr a::after {
    max-width: 40px;
  }
  #solution .bottom .bnr:not(:has(a)) .txbox,
#solution .bottom .bnr a .txbox {
    width: calc(100% - 50px);
  }
  #solution .bottom .bnr .image {
    width: min(100%, 200px);
  }
  #solution .bottom .bnr .txbox {
    margin: 0;
    width: 100%;
  }
  #solution .bottom .bnr .txbox .eg {
    font-size: 16px;
  }
  #solution .bottom .bnr .txbox .jp {
    font-size: 22px;
  }
}

/* ----------------------------------------------
news
------------------------------------------------- */
#news .inner {
  display: flex;
  width: min(100% - 20px, 1409px);
  margin: 0 auto;
  position: relative;
  border-left: 1px solid #0e74bc;
  padding: 95px 2.375% 107px;
  column-gap: 6.3063063063%;
}
#news .inner .head h2 {
  font-family: "Montserrat", sans-serif;
  font-weight: 300;
  font-size: 90px;
  line-height: 1.0952380952;
  color: #00479d;
  line-height: 0.9444444444;
  margin-bottom: 30px;
}
#news .inner .head h2 small {
  display: block;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", system-ui, sans-serif;
  font-weight: 700;
  font-size: 27px;
  color: #0e74bc;
  letter-spacing: 0.08em;
}
@media (max-width: 999px) {
  #news .inner .head h2 {
    font-size: 76px;
  }
  #news .inner .head h2 small {
    font-size: 24px;
  }
}
@media (max-width: 767px) {
  #news .inner .head h2 {
    font-size: 50px;
  }
  #news .inner .head h2 small {
    font-size: 18px;
  }
}
@media (max-width: 500px) {
  #news .inner .head h2 {
    font-size: 40px;
  }
}
#news .inner .head h2 small {
  letter-spacing: 0;
  margin: 30px 0 0 8px;
}
#news .inner .head .btn {
  margin-left: 10px;
}
#news .inner .contents {
  flex: 1;
  margin-top: 8px;
}
@media (max-width: 999px) {
  #news .inner {
    padding: 70px 10px;
  }
  #news .inner .head h2 {
    margin-bottom: 20px;
  }
  #news .inner .head h2 small {
    margin: 20px 0 0;
  }
  #news .inner .head .btn {
    margin-left: 0;
  }
}
@media (max-width: 767px) {
  #news .inner {
    flex-direction: column;
    align-items: center;
    row-gap: 30px;
    padding: 40px 10px;
  }
  #news .inner .head h2 {
    margin-bottom: 10px;
  }
  #news .inner .head h2 small {
    margin-top: 10px;
  }
  #news .inner .contents {
    width: 100%;
  }
}

/* ----------------------------------------------
company
------------------------------------------------- */
#company {
  margin-bottom: 69px;
}
#company .contents {
  display: flex;
  flex-wrap: wrap;
  row-gap: 30px;
}
#company .contents article {
  width: 50%;
}
#company .contents article:not(:has(a)),
#company .contents article a {
  padding-bottom: 31px;
}
#company .contents article a {
  display: block;
  text-decoration: none;
}
#company .contents article .image {
  margin-bottom: 18px;
}
#company .contents article .image img {
  width: 100%;
  object-fit: cover;
}
#company .contents article h2 {
  font-family: "Montserrat", sans-serif;
  font-weight: 300;
  font-size: 74px;
  line-height: 1.0952380952;
  color: #97acd4;
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 14px;
  border-bottom: 1px solid #fff;
  padding-bottom: 24px;
  margin: 0 25px 26px;
}
#company .contents article h2 small {
  display: block;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", system-ui, sans-serif;
  font-weight: 700;
  font-size: 20px;
  color: #0074bc;
  letter-spacing: 0.08em;
}
@media (max-width: 999px) {
  #company .contents article h2 {
    font-size: 50px;
  }
  #company .contents article h2 small {
    font-size: 18px;
  }
}
@media (max-width: 767px) {
  #company .contents article h2 {
    font-size: 30px;
  }
  #company .contents article h2 small {
    font-size: 14px;
  }
}
@media (max-width: 500px) {
  #company .contents article h2 {
    font-size: 24px;
  }
}
#company .contents article h2 small {
  background-color: #fff;
  padding: 5px 48px;
  min-width: 105px;
  text-align: center;
}
#company .contents article .data {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", system-ui, sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: 1.75;
  color: #fff;
  text-align: center;
  padding: 0 10px;
}
#company .contents article:nth-child(odd) {
  background-color: #0e74bc;
}
#company .contents article:nth-child(even) {
  background-color: #00479d;
}
@media (max-width: 999px) {
  #company {
    margin-bottom: 50px;
  }
  #company .contents article:not(:has(a)),
#company .contents article a {
    padding-bottom: 25px;
  }
  #company .contents article h2 {
    margin: 0 10px 15px;
    padding-bottom: 15px;
    row-gap: 10px;
  }
  #company .contents article h2 small {
    min-width: unset;
    padding: 5px 30px;
  }
  #company .contents article .data {
    font-size: 15px;
  }
}
@media (max-width: 767px) {
  #company {
    margin-bottom: 40px;
  }
  #company .contents article:not(:has(a)),
#company .contents article a {
    padding-bottom: 20px;
  }
  #company .contents article h2 {
    margin-bottom: 10px;
    padding-bottom: 10px;
    row-gap: 5px;
  }
  #company .contents article h2 small {
    padding: 5px 20px;
  }
  #company .contents article .data {
    font-size: 12px;
  }
}
@media (max-width: 500px) {
  #company .contents article {
    width: 100%;
  }
}

/* ----------------------------------------------
q-a
------------------------------------------------- */
#q-a {
  margin-bottom: 102px;
}
#q-a h2 {
  font-family: "Montserrat", sans-serif;
  font-weight: 300;
  font-size: 84px;
  line-height: 1.0952380952;
  color: #00479d;
  letter-spacing: 0.2em;
  text-align: center;
  margin-bottom: 49px;
}
#q-a h2 small {
  display: block;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", system-ui, sans-serif;
  font-weight: 700;
  font-size: 32px;
  color: #0e74bc;
  letter-spacing: 0.08em;
}
@media (max-width: 999px) {
  #q-a h2 {
    font-size: 70px;
  }
  #q-a h2 small {
    font-size: 26px;
  }
}
@media (max-width: 767px) {
  #q-a h2 {
    font-size: 40px;
  }
  #q-a h2 small {
    font-size: 18px;
  }
}
@media (max-width: 500px) {
  #q-a h2 {
    font-size: 30px;
  }
}
#q-a h2 span {
  display: flex;
  align-items: center;
  column-gap: 3.125%;
}
#q-a h2 span::before, #q-a h2 span::after {
  content: "";
  flex: 1;
  height: 1px;
  background-color: #0e74bc;
}
#q-a h2 small {
  letter-spacing: 0;
  margin-top: 21px;
}
#q-a .contents {
  width: min(100% - 20px, 1060px);
  margin: 0 auto;
}
#q-a .contents .block .q,
#q-a .contents .block .a {
  position: relative;
  padding-left: 90px;
  padding-right: 35px;
}
#q-a .contents .block .q::before,
#q-a .contents .block .a::before {
  position: absolute;
  width: 64px;
  aspect-ratio: 1/1;
  left: -1px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: "Montserrat", sans-serif;
  font-weight: 300;
  font-size: 47.89px;
  line-height: 1;
}
#q-a .contents .block .q {
  display: flex;
  align-items: center;
  column-gap: 10px;
  border-radius: 25px;
  border: 2px solid #00479d;
  cursor: pointer;
}
#q-a .contents .block .q.over::before {
  top: -15px;
}
#q-a .contents .block .q::before {
  content: "Q";
  background-color: #00479d;
  border-radius: 50%;
  color: #fff;
}
#q-a .contents .block .q .title {
  flex: 1;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", system-ui, sans-serif;
  font-weight: 700;
  font-size: 22px;
  line-height: 1.6;
  color: #0e74bc;
  padding: 8px 0;
}
#q-a .contents .block .q .btn {
  width: 27px;
  aspect-ratio: 27/21;
  background: url(../images/q-a-arow.webp) no-repeat center/cover;
  -webkit-transition: all 0.5s ease-out;
  -moz-transition: all 0.5s ease-out;
  -ms-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}
#q-a .contents .block .q .btn.close {
  transform: rotate(-90deg);
}
#q-a .contents .block .a {
  margin-top: 15px;
}
#q-a .contents .block .a::before {
  content: "A";
  color: #0e74bc;
}
#q-a .contents .block .a .text {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", system-ui, sans-serif;
  font-weight: 500;
  font-size: 18px;
  line-height: 1.7222222222;
  color: #000;
  padding: 2px 0 9px;
  margin-left: -22px;
}
#q-a .contents .block.close .a {
  display: none;
}
#q-a .contents .block:not(:last-child) {
  margin-bottom: 31px;
}
@media (max-width: 999px) {
  #q-a h2 {
    margin-bottom: 30px;
  }
  #q-a h2 small {
    margin-top: 15px;
  }
  #q-a .contents .block .q,
#q-a .contents .block .a {
    padding-left: 70px;
    padding-right: 20px;
  }
  #q-a .contents .block .q::before,
#q-a .contents .block .a::before {
    font-size: 40px;
  }
  #q-a .contents .block .q .title {
    font-size: 18px;
  }
  #q-a .contents .block .q .btn {
    width: 20px;
  }
  #q-a .contents .block .a .text {
    font-size: 16px;
    margin: 0;
  }
}
@media (max-width: 767px) {
  #q-a h2 {
    margin-bottom: 25px;
  }
  #q-a h2 small {
    margin-top: 10px;
  }
  #q-a .contents .block .q, #q-a .contents .block .a {
    padding-left: 60px;
    padding-right: 10px;
  }
  #q-a .contents .block .q::before, #q-a .contents .block .a::before {
    width: 50px;
    font-size: 30px;
  }
  #q-a .contents .block .q .title {
    font-size: 16px;
  }
  #q-a .contents .block .a .text {
    font-size: 14px;
  }
}

/* ----------------------------------------------
contactblock
------------------------------------------------- */
#contact-line {
  width: min(100% - 20px, 1409px);
  margin: 0 auto;
  border-left: 1px solid #0e74bc;
  padding-bottom: 60px;
}
#contact-line .contactblock {
  margin-bottom: 0;
}
@media (max-width: 999px) {
  #contact-line {
    padding-bottom: 40px;
  }
}
@media (max-width: 767px) {
  #contact-line {
    padding-bottom: 30px;
  }
}

/*# sourceMappingURL=index.css.map */