@charset "UTF-8";
body .keyvisual {
  position: relative;
  overflow: hidden;
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: left bottom;
}
body .keyvisual .keyvisual-inner {
  position: relative;
}
@media screen and (min-width: 791px) {
  body .keyvisual .keyvisual-inner {
    height: clamp(0px, 44.2708333333vw, 850px);
  }
}
@media screen and (max-width: 790px) {
  body .keyvisual .keyvisual-inner {
    width: 100%;
    height: 153.8461538462vw;
  }
}
body .keyvisual .keyvisual-slider {
  height: 100%;
  overflow: hidden;
}
@media screen and (max-width: 790px) {
  body .keyvisual .keyvisual-slider {
    height: 153.8461538462vw;
  }
}
body .keyvisual .keyvisual-slider .swiper-slide {
  position: relative;
  /* active のとき最終スケールにする（JS でも制御する） */
}
body .keyvisual .keyvisual-slider .swiper-slide .keyvisual-place {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
@media screen and (max-width: 790px) {
  body .keyvisual .keyvisual-slider .swiper-slide .keyvisual-place {
    top: auto;
    bottom: 0;
  }
}
body .keyvisual .keyvisual-slider .swiper-slide .keyvisual-place img {
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 790px) {
  body .keyvisual .keyvisual-slider .swiper-slide .keyvisual-place img {
    bottom: 0;
    height: 115.3846153846vw;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: right bottom;
    object-position: right bottom;
  }
}
body .keyvisual .keyvisual-slider .swiper-slide .keyvisual-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  transform: scale(1); /* 初期スケール */
  /* transform の duration は JS の ZOOM_DURATION と合わせる */
  transition: transform 6000ms linear, opacity 1200ms ease;
  opacity: 0.8;
}
@media screen and (min-width: 791px) {
  body .keyvisual .keyvisual-slider .swiper-slide .keyvisual-image img {
    height: clamp(0px, 44.2708333333vw, 850px);
  }
}
@media screen and (max-width: 790px) {
  body .keyvisual .keyvisual-slider .swiper-slide .keyvisual-image img {
    height: 153.8461538462vw;
    -o-object-fit: cover;
    object-fit: cover;
  }
}
body .keyvisual .keyvisual-slider .swiper-slide .swiper-slide-active .keyvisual-image img {
  opacity: 1;
  transform: scale(1.1);
  transition: transform 6000ms linear, opacity 1200ms ease;
}
body .keyvisual .keyvisual-slider .swiper-slide .swiper-slide-prev .keyvisual-image img {
  opacity: 0;
  transform: scale(1.1);
  transition: transform 6000ms linear, opacity 1200ms ease;
}
@media screen and (min-width: 791px) {
  body .keyvisual .keyvisual-slider .swiper-pagination {
    bottom: clamp(0px, 1.1979166667vw, 23px);
  }
}
@media screen and (max-width: 790px) {
  body .keyvisual .keyvisual-slider .swiper-pagination {
    bottom: 6.4102564103vw;
  }
}
body .keyvisual .keyvisual-slider .swiper-pagination-bullet {
  background: rgba(255, 255, 255, 0.6);
}
@media screen and (min-width: 791px) {
  body .keyvisual .keyvisual-slider .swiper-pagination-bullet {
    margin-inline: clamp(0px, 0.3125vw, 6px);
  }
}
body .keyvisual .keyvisual-slider .swiper-pagination-bullet-active {
  background: #fff;
}
body .keyvisual .keyvisual-cover {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  mix-blend-mode: color-dodge;
}
@media screen and (min-width: 791px) {
  body .keyvisual .keyvisual-cover {
    width: clamp(0px, 44.7395833333vw, 859px);
    height: clamp(0px, 40.4166666667vw, 776px);
  }
}
@media screen and (max-width: 790px) {
  body .keyvisual .keyvisual-cover {
    width: 100vw;
    height: 91.5384615385vw;
  }
}
body .keyvisual .keyvisual-title {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
}
@media screen and (min-width: 791px) {
  body .keyvisual .keyvisual-title {
    width: clamp(0px, 72.578125vw, 1393.5px);
    height: clamp(0px, 12.5vw, 240px);
    bottom: clamp(0px, 4.6875vw, 90px);
    left: clamp(0px, 3.6458333333vw, 70px);
  }
}
@media screen and (max-width: 790px) {
  body .keyvisual .keyvisual-title {
    width: 94.8717948718vw;
    height: 51.6666666667vw;
    top: 15.1282051282vw;
  }
}
body .intro {
  background-repeat: no-repeat;
  background-position: left bottom, left top;
}
@media screen and (min-width: 791px) {
  body .intro {
    padding-top: clamp(0px, 10vw, 192px);
    padding-bottom: clamp(0px, 4.4791666667vw, 86px);
    background-image: url("/assets/images/index/intro-bg_bottom.png"), url("/assets/images/index/intro-bg_top.png");
    background-size: clamp(0px, 100vw, 1920px), clamp(0px, 100vw, 1920px);
  }
}
@media screen and (max-width: 790px) {
  body .intro {
    padding-top: 30.7692307692vw;
    padding-bottom: 6.9230769231vw;
    background-image: url("/assets/images/index/intro-bg_bottom.sp.png"), url("/assets/images/index/intro-bg_top.sp.png");
    background-size: 100vw, 100vw;
  }
}
body .intro .intro-inner {
  margin: 0 auto;
}
@media screen and (min-width: 791px) {
  body .intro .intro-inner {
    margin-inline: clamp(0px, 4.6875vw, 90px);
    width: auto;
    display: flex;
    justify-content: space-between;
    position: relative;
    align-items: flex-start;
  }
}
body .intro h2 {
  text-align: left;
}
@media screen and (min-width: 791px) {
  body .intro .intro-image {
    position: relative;
  }
}
@media screen and (max-width: 790px) {
  body .intro .intro-image {
    position: relative;
    width: 89.7435897436vw;
  }
}
@media screen and (min-width: 791px) {
  body .intro .intro-image.intro-image--01 {
    width: clamp(0px, 35.6770833333vw, 685px);
  }
}
@media screen and (min-width: 791px) {
  body .intro .intro-image.intro-image--02 {
    width: clamp(0px, 29.1666666667vw, 560px);
  }
}
body .intro .intro-detail {
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 791px) {
  body .intro .intro-detail {
    width: clamp(0px, 46.875vw, 900px);
    margin-top: clamp(0px, 8.8541666667vw, 170px);
  }
}
@media screen and (max-width: 790px) {
  body .intro .intro-detail {
    width: 89.7435897436vw;
    margin-top: -4.1025641026vw;
    margin-inline: auto;
    padding: 7.6923076923vw 5.1282051282vw;
    box-shadow: 0px 1.0256410256vw 6.1538461538vw rgba(22, 100, 87, 0.05);
  }
}
@media screen and (min-width: 791px) {
  body .intro .intro-text {
    margin-top: clamp(0px, 1.5625vw, 30px);
  }
}
body .intro .intro-text > dt {
  font-weight: 700;
}
@media screen and (min-width: 791px) {
  body .intro .intro-text > dt {
    font-size: clamp(0px, 2.0833333333vw, 40px);
    line-height: 160%;
    letter-spacing: 0.07em;
    margin-bottom: clamp(0px, 1.5625vw, 30px);
  }
}
@media screen and (max-width: 790px) {
  body .intro .intro-text > dt {
    font-size: 5.1282051282vw;
    line-height: 150%;
    margin-block: 5.1282051282vw;
  }
}
@media screen and (min-width: 791px) {
  body .intro .intro-inner--reverse {
    flex-direction: row-reverse;
    padding-left: clamp(0px, 6.5104166667vw, 125px);
  }
}
@media screen and (max-width: 790px) {
  body .intro .intro-inner--reverse .intro-image {
    margin-left: auto;
    margin-right: 0;
  }
}
@media screen and (min-width: 791px) {
  body .intro .intro-inner--reverse .intro-detail {
    margin-top: 0;
    margin-left: 0;
  }
}
@media screen and (min-width: 791px) {
  body .message {
    padding-top: clamp(0px, 8.4375vw, 162px);
  }
}
@media screen and (max-width: 790px) {
  body .message {
    padding-top: 25.641025641vw;
    margin-bottom: 25.641025641vw;
  }
}
@media screen and (min-width: 791px) {
  body .message .intro-text > dt {
    font-size: clamp(0px, 2.5vw, 48px);
  }
}
@media screen and (min-width: 791px) {
  body .message .message-sub {
    margin-top: clamp(0px, 2.1875vw, 42px);
  }
}
body .message .message-sub .sub-inner {
  display: flex;
}
@media screen and (min-width: 791px) {
  body .message .message-sub .sub-inner {
    align-items: center;
    width: -moz-fit-content;
    width: fit-content;
    margin-right: 0;
    margin-left: auto;
    gap: clamp(0px, 2.0833333333vw, 40px);
  }
}
@media screen and (max-width: 790px) {
  body .message .message-sub .sub-inner {
    justify-content: space-between;
  }
}
@media screen and (max-width: 790px) {
  body .message .message-sub .sub-detail {
    margin-top: 2.5641025641vw;
  }
}
@media screen and (min-width: 791px) {
  body .message .message-sub .sub-detail p {
    line-height: 150%;
  }
}
@media screen and (min-width: 791px) {
  body .message .message-sub .sub-detail .text-01 {
    font-size: clamp(0px, 0.8333333333vw, 16px);
  }
}
body .message .message-sub .sub-detail .text-02 {
  font-weight: 700;
}
@media screen and (min-width: 791px) {
  body .message .message-sub .sub-detail .text-02 {
    font-size: clamp(0px, 0.9375vw, 18px);
    margin-block: clamp(0px, 0.5208333333vw, 10px);
  }
}
body .message .message-sub .sub-detail .text-03 {
  color: #166457;
}
@media screen and (min-width: 791px) {
  body .message .message-sub .sub-detail .text-03 {
    font-size: clamp(0px, 0.7291666667vw, 14px);
  }
}
@media screen and (max-width: 790px) {
  body .message .message-sub .sub-detail .text-03 {
    font-size: 3.0769230769vw;
  }
}
@media screen and (min-width: 791px) {
  body .message .message-sub .sub-image {
    width: clamp(0px, 6.25vw, 120px);
  }
}
@media screen and (max-width: 790px) {
  body .message .message-sub .sub-image {
    width: 23.0769230769vw;
  }
}
@media screen and (min-width: 791px) {
  body .SSFM {
    width: clamp(0px, 62.5vw, 1200px);
    margin-top: clamp(0px, 7.2916666667vw, 140px);
    margin-inline: auto;
  }
}
@media screen and (max-width: 790px) {
  body .SSFM {
    padding-top: 25.641025641vw;
  }
}
@media screen and (min-width: 791px) {
  body .SSFM .SSFM-inner {
    display: flex;
    gap: clamp(0px, 1.6666666667vw, 32px);
  }
}
@media screen and (max-width: 790px) {
  body .SSFM .SSFM-inner {
    padding-inline: 5.1282051282vw;
  }
}
@media screen and (min-width: 791px) {
  body .SSFM .SSFM-image {
    width: clamp(0px, 15.625vw, 300px);
  }
}
@media screen and (min-width: 791px) {
  body .SSFM .SSFM-detail {
    flex: 1;
  }
}
body .SSFM .SSFM-title {
  color: #166457;
  font-weight: 700;
}
@media screen and (min-width: 791px) {
  body .SSFM .SSFM-title {
    font-size: clamp(0px, 1.25vw, 24px);
    line-height: 160%;
    margin-bottom: clamp(0px, 0.9375vw, 18px);
  }
}
@media screen and (max-width: 790px) {
  body .SSFM .SSFM-title {
    font-size: 5.1282051282vw;
    line-height: 150%;
    margin-block: 5.1282051282vw;
  }
}
body .markets {
  background: #fff;
  margin-inline: auto;
}
@media screen and (min-width: 791px) {
  body .markets {
    width: clamp(0px, 85vw, 1632px);
    margin-top: clamp(0px, 8.3333333333vw, 160px);
    padding-block: clamp(0px, 4.1666666667vw, 80px);
  }
}
@media screen and (max-width: 790px) {
  body .markets {
    width: 89.7435897436vw;
    margin-top: 15.3846153846vw;
    padding: 15.3846153846vw 6.4102564103vw 7.6923076923vw;
  }
}
body .markets h2 {
  text-align: center;
}
@media screen and (min-width: 791px) {
  body .markets .markets-list {
    display: flex;
    margin-block: clamp(0px, 3.125vw, 60px);
    justify-content: center;
    gap: clamp(0px, 1.3020833333vw, 25px);
  }
}
@media screen and (max-width: 790px) {
  body .markets .markets-list {
    margin-top: 6.4102564103vw;
    margin-bottom: 7.6923076923vw;
  }
}
@media screen and (min-width: 791px) {
  body .markets .markets-item {
    width: clamp(0px, 20vw, 384px);
    box-shadow: 0px clamp(0px, 0.2083333333vw, 4px) clamp(0px, 1.25vw, 24px) rgba(22, 100, 87, 0.05);
  }
}
@media screen and (max-width: 790px) {
  body .markets .markets-item {
    box-shadow: 0px 1.0256410256vw 6.1538461538vw rgba(22, 100, 87, 0.05);
  }
}
body .markets .markets-item a {
  display: block;
  width: 100%;
  height: 100%;
}
body .markets .markets-image {
  width: 100%;
  overflow: hidden;
  background: #fff;
}
@media screen and (min-width: 791px) {
  body .markets .markets-image {
    height: clamp(0px, 12.6041666667vw, 242px);
  }
}
body .markets .markets-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  display: block;
}
@media screen and (min-width: 791px) {
  body .markets .markets-detail {
    padding: clamp(0px, 1.0416666667vw, 20px) clamp(0px, 1.0416666667vw, 20px) clamp(0px, 1.5625vw, 30px);
  }
}
@media screen and (max-width: 790px) {
  body .markets .markets-detail {
    padding: 5.1282051282vw 5.1282051282vw 7.6923076923vw;
  }
}
@media screen and (min-width: 791px) {
  body .markets .markets-title {
    font-size: clamp(0px, 1.0416666667vw, 20px);
    line-height: 160%;
    margin-bottom: clamp(0px, 0.5208333333vw, 10px);
  }
}
@media screen and (max-width: 790px) {
  body .markets .markets-title {
    margin-bottom: 2.5641025641vw;
  }
}
@media screen and (min-width: 791px) {
  body .markets .markets-text {
    font-size: clamp(0px, 0.8333333333vw, 16px);
    line-height: 188%;
  }
}
@media screen and (max-width: 790px) {
  body .markets .markets-text {
    font-size: 3.5897435897vw;
    line-height: 186%;
  }
}
body .services {
  background-repeat: no-repeat;
}
@media screen and (min-width: 791px) {
  body .services {
    padding-block: clamp(0px, 8.3333333333vw, 160px);
    background-image: url("/assets/images/index/services-bg.png");
    background-size: clamp(0px, 100vw, 1920px);
    background-position: right top clamp(0px, 8.3333333333vw, 160px);
  }
}
@media screen and (max-width: 790px) {
  body .services {
    padding-block: 25.641025641vw;
    padding-inline: 5.1282051282vw;
    background-image: url("/assets/images/index/services-bg.sp.png");
    background-size: 100vw;
  }
}
body .services .services-inner {
  margin: 0 auto;
}
@media screen and (min-width: 791px) {
  body .services .services-inner {
    width: clamp(0px, 62.5vw, 1200px);
  }
}
body .services .services-list {
  display: flex;
}
@media screen and (min-width: 791px) {
  body .services .services-list {
    flex-flow: column nowrap;
    gap: clamp(0px, 3.125vw, 60px);
    margin-top: clamp(0px, 3.125vw, 60px);
  }
}
@media screen and (max-width: 790px) {
  body .services .services-list {
    margin-top: 6.4102564103vw;
    flex-flow: column nowrap;
    gap: 15.3846153846vw;
  }
}
@media screen and (min-width: 791px) {
  body .services .services-item {
    display: flex;
    align-items: center;
    -moz-column-gap: clamp(0px, 1.0416666667vw, 20px);
    column-gap: clamp(0px, 1.0416666667vw, 20px);
  }
}
@media screen and (min-width: 791px) {
  body .services .services-item:nth-child(odd) {
    flex-direction: row-reverse;
  }
}
@media screen and (min-width: 791px) {
  body .services .services-image {
    width: 50%;
  }
}
@media screen and (min-width: 791px) {
  body .services .services-detail {
    flex: 1;
    width: 50%;
    padding-inline: clamp(0px, 2.0833333333vw, 40px);
  }
}
body .services .services-detail > dt {
  font-weight: 700;
  color: #166457;
}
@media screen and (min-width: 791px) {
  body .services .services-detail > dt {
    font-size: clamp(0px, 1.25vw, 24px);
    line-height: 1.3333333333;
    margin-bottom: clamp(0px, 1.3541666667vw, 26px);
  }
}
@media screen and (max-width: 790px) {
  body .services .services-detail > dt {
    font-size: 5.1282051282vw;
    line-height: 150%;
    margin-block: 5.1282051282vw;
  }
}
@media screen and (min-width: 791px) {
  body .services .services-detail > dd + dt {
    margin-top: clamp(0px, 2.0833333333vw, 40px);
  }
}
@media screen and (max-width: 790px) {
  body .services .services-detail > dd + dt {
    margin-top: 10.2564102564vw;
  }
}
@media screen and (min-width: 791px) {
  body .services .services-item--first {
    flex-flow: column nowrap !important;
    margin-bottom: clamp(0px, 3.125vw, 60px);
  }
}
@media screen and (min-width: 791px) {
  body .services .services-item--first .services-image {
    width: 100%;
  }
}
@media screen and (min-width: 791px) {
  body .services .services-item--first .services-detail {
    width: 100%;
    margin-top: clamp(0px, 3.125vw, 60px);
    padding-inline: clamp(0px, 9.6354166667vw, 185px);
  }
}
@media screen and (min-width: 791px) {
  body .services .services-item--first .services-detail > dt {
    line-height: 160%;
    margin-bottom: clamp(0px, 0.8333333333vw, 16px);
  }
}
body .price {
  margin: 0 auto;
  background-position: left top;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 791px) {
  body .price {
    width: clamp(0px, 62.5vw, 1200px);
    height: clamp(0px, 13.3854166667vw, 257px);
    margin-top: clamp(0px, 6.25vw, 120px);
    background-image: url("/assets/images/index/price-bg.png");
    background-size: clamp(0px, 62.5vw, 1200px);
  }
}
@media screen and (max-width: 790px) {
  body .price {
    width: 89.7435897436vw;
    height: 68.2051282051vw;
    margin-top: 15.3846153846vw;
    background-image: url("/assets/images/index/price-bg.sp.png");
    background-size: 89.7435897436vw;
    padding-inline: 5.1282051282vw;
  }
}
@media screen and (min-width: 791px) {
  body .price .price-inner {
    text-align: center;
  }
}
body .price .price-title {
  color: #166457;
}
@media screen and (min-width: 791px) {
  body .price .price-title {
    font-size: clamp(0px, 1.25vw, 24px);
    line-height: 160%;
    margin-bottom: clamp(0px, 1.0416666667vw, 20px);
  }
}
@media screen and (max-width: 790px) {
  body .price .price-title {
    font-size: 5.1282051282vw;
    line-height: 150%;
    margin-bottom: 5.1282051282vw;
  }
}
@media screen and (max-width: 790px) {
  body .price strong {
    color: #166457;
  }
}
body .news {
  background-color: #F7FBFA;
}
@media screen and (min-width: 791px) {
  body .news {
    padding-block: clamp(0px, 5.2083333333vw, 100px);
  }
}
@media screen and (max-width: 790px) {
  body .news {
    padding-block: 15.3846153846vw;
    padding-inline: 5.1282051282vw;
  }
}
body .news .news-inner {
  margin: 0 auto;
}
@media screen and (min-width: 791px) {
  body .news .news-inner {
    width: clamp(0px, 62.5vw, 1200px);
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (min-width: 791px) {
  body .news h2 {
    text-align: left;
  }
}
@media screen and (min-width: 791px) {
  body .news .news-title {
    margin-top: clamp(0px, 2.6041666667vw, 50px);
  }
}
@media screen and (min-width: 791px) {
  body .news .title-sub {
    margin-bottom: clamp(0px, 1.8229166667vw, 35px);
  }
}
@media screen and (min-width: 791px) {
  body .news .link-more {
    margin-left: 0;
  }
}
@media screen and (min-width: 791px) {
  body .news .news-list {
    width: clamp(0px, 45.8333333333vw, 880px);
  }
}
@media screen and (max-width: 790px) {
  body .news .news-list {
    margin-top: 6.4102564103vw;
    margin-bottom: 10.2564102564vw;
  }
}
body .news .news-item {
  border-bottom: 1px solid #166457;
}
@media screen and (min-width: 791px) {
  body .news .news-item {
    display: flex;
    gap: clamp(0px, 2.0833333333vw, 40px);
    padding: clamp(0px, 1.5625vw, 30px) clamp(0px, 0.4166666667vw, 8px);
  }
}
@media screen and (max-width: 790px) {
  body .news .news-item {
    padding: 2.5641025641vw 1.0256410256vw 2.5641025641vw;
  }
}
body .news .news-date {
  color: #166457;
  font-family: Roboto;
  font-weight: 400;
}
@media screen and (max-width: 790px) {
  body .news .news-date {
    display: block;
    font-size: 3.0769230769vw;
  }
}
body .news .news-text > * {
  position: relative;
  display: inline-block;
  /* PDFアイコン */
  /* 外部リンクアイコン */
}
@media screen and (min-width: 791px) {
  body .news .news-text > *.icon-pdf {
    padding-left: clamp(0px, 2.0833333333vw, 40px);
  }
}
@media screen and (max-width: 790px) {
  body .news .news-text > *.icon-pdf {
    padding-left: 8.7179487179vw;
  }
}
body .news .news-text > *.icon-pdf::before {
  content: "";
  position: absolute;
  left: 0;
  background: url("/assets/images/common/icon-pdf.svg") no-repeat center/100%;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (min-width: 791px) {
  body .news .news-text > *.icon-pdf::before {
    width: clamp(0px, 1.875vw, 36px);
    height: clamp(0px, 1.875vw, 36px);
  }
}
@media screen and (max-width: 790px) {
  body .news .news-text > *.icon-pdf::before {
    width: 6.1538461538vw;
    height: 6.1538461538vw;
    left: 0;
  }
}
@media screen and (min-width: 791px) {
  body .news .news-text > *.icon-ExternalLink {
    padding-right: clamp(0px, 2.2916666667vw, 44px);
  }
}
@media screen and (max-width: 790px) {
  body .news .news-text > *.icon-ExternalLink {
    padding-right: 6.1538461538vw;
  }
}
body .news .news-text > *.icon-ExternalLink::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  background: url("/assets/images/common/icon-ExternalLink.svg") no-repeat center/100%;
}
@media screen and (min-width: 791px) {
  body .news .news-text > *.icon-ExternalLink::after {
    width: clamp(0px, 2.0833333333vw, 40px);
    height: clamp(0px, 2.0833333333vw, 40px);
  }
}
@media screen and (max-width: 790px) {
  body .news .news-text > *.icon-ExternalLink::after {
    width: 6.1538461538vw;
    height: 6.1538461538vw;
  }
}
body .interview {
  background-color: #F4F6F5;
}
@media screen and (min-width: 791px) {
  body .interview {
    padding-block: clamp(0px, 5.2083333333vw, 100px);
  }
}
@media screen and (max-width: 790px) {
  body .interview {
    padding: 14.8717948718vw 5.1282051282vw;
  }
}
@media screen and (min-width: 791px) {
  body .interview .interview-inner {
    width: clamp(0px, 62.5vw, 1200px);
    margin: 0 auto;
  }
}
body .interview .interview-content {
  background: #fff;
}
@media screen and (min-width: 791px) {
  body .interview .interview-content {
    margin-top: clamp(0px, 3.125vw, 60px);
    padding: clamp(0px, 2.0833333333vw, 40px) clamp(0px, 3.125vw, 60px);
    box-shadow: 0px clamp(0px, 0.2083333333vw, 4px) clamp(0px, 1.25vw, 24px) rgba(22, 100, 87, 0.05);
    display: flex;
    align-items: center;
    gap: clamp(0px, 1.5625vw, 30px);
  }
}
@media screen and (max-width: 790px) {
  body .interview .interview-content {
    margin-top: 7.6923076923vw;
    padding: 10.2564102564vw 5.1282051282vw;
  }
}
@media screen and (min-width: 791px) {
  body .interview .interview-image {
    width: clamp(0px, 5.2083333333vw, 100px);
  }
}
@media screen and (max-width: 790px) {
  body .interview .interview-image {
    width: 25.641025641vw;
    margin-inline: auto;
  }
}
@media screen and (min-width: 791px) {
  body .interview .interview-detail {
    flex: 1;
  }
}
body .interview .interview-title {
  font-weight: 700;
}
@media screen and (min-width: 791px) {
  body .interview .interview-title {
    font-size: clamp(0px, 1.0416666667vw, 20px);
    line-height: 1.6;
    margin-bottom: clamp(0px, 1.0416666667vw, 20px);
  }
}
@media screen and (max-width: 790px) {
  body .interview .interview-title {
    font-size: 5.1282051282vw;
    line-height: 150%;
    margin-block: 5.1282051282vw;
  }
}
@media screen and (min-width: 791px) {
  body .interview .interview-info {
    margin-top: clamp(0px, 1.0416666667vw, 20px);
  }
}
@media screen and (max-width: 790px) {
  body .interview .interview-info {
    margin-top: 2.5641025641vw;
  }
}
body .company {
  margin: 0 auto;
  background-position: left top;
  background-repeat: no-repeat;
  background-size: 100%;
}
@media screen and (min-width: 791px) {
  body .company {
    background-image: url("/assets/images/index/company-bg.png");
  }
}
@media screen and (max-width: 790px) {
  body .company {
    background-image: url("/assets/images/index/company-bg.sp.png");
  }
}
body .company .company-inner {
  margin: 0 auto;
}
@media screen and (min-width: 791px) {
  body .company .company-inner {
    padding-top: clamp(0px, 8.3333333333vw, 160px);
    width: clamp(0px, 62.5vw, 1200px);
  }
}
@media screen and (max-width: 790px) {
  body .company .company-inner {
    padding: 15.3846153846vw 5.1282051282vw;
  }
}
body .company .company-info {
  display: grid;
}
@media screen and (min-width: 791px) {
  body .company .company-info {
    margin-top: clamp(0px, 3.125vw, 60px);
  }
}
@media screen and (max-width: 790px) {
  body .company .company-info {
    margin-top: 6.4102564103vw;
  }
}
body .company .company-item {
  display: grid;
  background-color: #F7FBFA;
  border-bottom: 4px solid #fff;
}
@media screen and (min-width: 791px) {
  body .company .company-item {
    padding: clamp(0px, 1.0416666667vw, 20px) clamp(0px, 8.3333333333vw, 160px);
    grid-template-columns: clamp(0px, 8.3333333333vw, 160px) 1fr;
  }
}
@media screen and (max-width: 790px) {
  body .company .company-item {
    padding: 4.1025641026vw;
    grid-template-columns: 25.641025641vw 1fr;
  }
}
@media screen and (max-width: 790px) {
  body .company .company-item:last-child {
    padding-bottom: 0;
  }
}
@media screen and (min-width: 791px) {
  body .company .company-item--wide {
    padding-right: clamp(0px, 4.1666666667vw, 80px);
  }
}
@media screen and (min-width: 791px) {
  body .company .company-item--wide > dd > p {
    padding-right: clamp(0px, 4.1666666667vw, 80px);
  }
}
@media screen and (max-width: 790px) {
  body .company .company-item--wide > dd > p {
    line-height: 1.6428571429;
  }
}
body .company .company-list {
  list-style: decimal;
}
@media screen and (min-width: 791px) {
  body .company .company-list {
    margin-left: 1.5em;
  }
}
@media screen and (max-width: 790px) {
  body .company .company-list {
    margin-left: 1em;
  }
}
@media screen and (min-width: 791px) {
  body .company .company-list > li + li {
    margin-top: clamp(0px, 0.4166666667vw, 8px);
  }
}
@media screen and (max-width: 790px) {
  body .company .company-list > li + li {
    margin-top: 1.5384615385vw;
  }
}
@media screen and (min-width: 791px) {
  body .company .history-item {
    display: flex;
  }
}
@media screen and (max-width: 790px) {
  body .company .history-item > dt, body .company .history-item dd {
    display: inline;
  }
}
@media screen and (min-width: 791px) {
  body .company .history-item > dt {
    padding-right: 0.3em;
  }
}
@media screen and (min-width: 791px) {
  body .company .history-item > dd {
    flex: 1;
    line-height: 1.75;
  }
}
@media screen and (min-width: 791px) {
  body .company .history-item + .history-item {
    margin-top: clamp(0px, 0.4166666667vw, 8px);
  }
}
@media screen and (max-width: 790px) {
  body .company .history-item + .history-item {
    margin-top: 1.5384615385vw;
  }
}
body .company .partners-list {
  background: #fff;
  border: 1px solid #E6E6E6;
  width: 100%;
}
@media screen and (min-width: 791px) {
  body .company .partners-list {
    margin-top: clamp(0px, 2.0833333333vw, 40px);
  }
}
@media screen and (max-width: 790px) {
  body .company .partners-list {
    margin-top: 5.1282051282vw;
    margin-bottom: 3.0769230769vw;
    box-sizing: border-box;
    /* SP: partners-list を dt の直下（グリッドの左端）から始めて
        2カラム分の幅を取るようにする（dt列幅分を左に伸ばす） */
    width: calc(100% + 25.641025641vw); /* 右カラム幅 + dt幅 */
    margin-left: calc(-1 * 25.641025641vw); /* dt 分を左に引き出す */
  }
}
body .company .partners-item {
  display: grid;
  align-items: center;
  border-bottom: 1px solid #E6E6E6;
}
@media screen and (min-width: 791px) {
  body .company .partners-item {
    grid-template-columns: clamp(0px, 8.75vw, 168px) 1fr;
  }
}
@media screen and (max-width: 790px) {
  body .company .partners-item {
    grid-template-columns: 20.7692307692vw 1fr;
    font-size: 3.0769230769vw;
    line-height: 1.6666666667;
  }
}
body .company .partners-item > dt {
  background: #F5F5F5;
  border-right: 1px solid #E6E6E6;
  display: flex;
  align-items: center;
  height: 100%;
}
@media screen and (min-width: 791px) {
  body .company .partners-item > dt {
    padding-left: clamp(0px, 1.4583333333vw, 28px);
  }
}
@media screen and (max-width: 790px) {
  body .company .partners-item > dt {
    padding-block: 3.8461538462vw;
    padding-left: 4.1025641026vw;
    line-height: 1.5;
  }
}
body .company .partners-item > dd {
  margin: 0;
}
@media screen and (min-width: 791px) {
  body .company .partners-item > dd {
    padding: clamp(0px, 1.015625vw, 19.5px) clamp(0px, 2.7083333333vw, 52px);
    line-height: 1.75;
  }
}
@media screen and (max-width: 790px) {
  body .company .partners-item > dd {
    padding: 4.1025641026vw;
  }
}
body .company .partners-item:last-child {
  border-bottom: none;
}
@media screen and (min-width: 791px) {
  body .company .company-map {
    margin-top: clamp(0px, 1.0416666667vw, 20px);
  }
}
@media screen and (max-width: 790px) {
  body .company .company-map {
    margin-top: 5.1282051282vw;
    margin-bottom: 4.1025641026vw;
    box-sizing: border-box;
    width: calc(100% + 25.641025641vw); /* 右カラム幅 + dt幅 */
    margin-left: calc(-1 * 25.641025641vw); /* dt 分を左に引き出す */
  }
}
body .contact {
  margin: 0 auto;
  background-position: left top;
  background-repeat: no-repeat;
  width: 100%;
  background-size: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: #fff;
}
@media screen and (min-width: 791px) {
  body .contact {
    margin-top: clamp(0px, 5.2083333333vw, 100px);
    height: clamp(0px, 26.875vw, 516px);
    background-image: url("/assets/images/index/contact-bg.png");
    background-size: clamp(0px, 100vw, 1920px);
  }
}
@media screen and (max-width: 790px) {
  body .contact {
    height: 91.0256410256vw;
    background-image: url("/assets/images/index/contact-bg.sp.png");
    background-size: 100vw;
  }
}
body .contact .title-main {
  background: unset;
  -webkit-background-clip: unset;
  -webkit-text-fill-color: unset;
  color: #fff;
}
body .contact .contact-text {
  font-weight: 700;
}
@media screen and (min-width: 791px) {
  body .contact .contact-text {
    margin-top: clamp(0px, 1.8229166667vw, 35px);
    line-height: 1.75;
  }
}
@media screen and (max-width: 790px) {
  body .contact .contact-text {
    margin-top: 5.1282051282vw;
  }
}
@media screen and (min-width: 791px) {
  body .contact .link-contact {
    margin-top: clamp(0px, 1.71875vw, 33px);
  }
}
@media screen and (max-width: 790px) {
  body .contact .link-contact {
    margin-top: 7.6923076923vw;
  }
}