@charset "UTF-8";
/*---------------------------------------
  TOP用CSS
---------------------------------------*/
/*---------------------------------------
  リスト系
---------------------------------------*/
/* ホバー時設定 */
.hover-underline-item a {
  position: relative;
  display: block;
  height: 100%;
  border-bottom: 1px solid rgba(0, 90, 224, .2);
}
.hover-underline-img {
  width: 100%;
  border-radius: 8px;
  text-align: center;
  overflow: hidden;
}
.hover-underline-img img {
  width: 100%;
}

@media screen and (min-width: 737px) {
  .hover-underline-item a:hover,
  .entryList01__item:hover,
  .hover-underline-item a:focus,
  .entryList01__item:focus {
    background: var(--main-clr-lgr);
  }
  .hover-underline-img img {
    transition: transform .6s ease; /* ゆっくり変化させる */
  }
  .hover-underline-item a:hover .hover-underline-img img,
  .hover-underline-item a:focus .hover-underline-img img {
    transform: scale(1.1); /* 拡大 */
  }
  
  .hover-underline-item a::after,
  .entryList01__item::after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: '';
    width: 100%;
    height: 1px;
    background: var(--main-clr-bl);
    transform: scale(0, 1);
    transform-origin: left top;
    transition: transform .3s;
  }
  .hover-underline-item a:hover::after,
  .entryList01__item:hover::after,
  .hover-underline-item a:focus::after,
  .entryList01__item:focus::after {
    transform: scale(1, 1);
  }
}

.list-col {
  display: flex;
  gap: 1.6vw;
  margin: 4.166vw 0 0;
}
#aboutus .list-col {
  margin-top: 3.125vw;
}

.list-col-ttl {
  color: var(--main-clr-bl);
  font-size: max(var(--main-pc-20px), 12px);
  font-weight: 900;
  line-height: 160%;
}
.list-col-txt {
  font-size: max(var(--main-pc-18px), 12px);
  font-weight: 400;
  line-height: 180%;
}
@media screen and (max-width: 736px) {
  .list-col {
    margin-top: 10.25vw;
  }
}


/* 独自設定 */
.list-col--3 .list-col-item {
  width: 33%;
}
.list-col--3 .list-col-detail {
  padding: 1.1vw 0 1.6vw;
}
.list-col--3 .list-col-txt {
  margin: .625vw 0 0;
}

.list-col--4 .list-col-txt {
  margin: .833vw 0 0;
}
.list-col--4 .list-col-item {
  width: 25%;
}
.list-col--4 .list-col-detail {
  padding: .833vw 1.1vw 1.25vw;
}

.list-col--aboutus .item-category {
  padding-left: 1.1vw;
  font-size: max(var(--main-pc-18px), 12px);
}
.list-col--aboutus .item-category::before {
  width: .5vw;
  height: .5vw;
}
.list-col--aboutus .item-category + .list-col-ttl {
  margin-top: 1.35vw;
}
.list-col--aboutus .list-col-ttl {
  font-size: max(var(--main-pc-26px), 12px);
}
.list-col--aboutus.list-col--4 .list-col-detail {
  padding: 1.6vw .5vw 1.8vw;
}
.list-col--aboutus.list-col--4 .list-col-ttl {
  line-height: 140%;
}

/* 文字省略 */
.list-col-detail .txt-omit {
  position: relative;
  overflow: hidden;
  word-break: break-all;
}
.list-col-detail .txt-omit.is-omit::before {
  content: "…";
  position: absolute;
  right: 0;
  bottom: 0;
  background: var(--main-clr-wt);
  line-height: 180%; /* 該当テキストのline-heightを設定してください */
  transition: all .25s;
}
@media screen and (min-width: 737px) {
  .hover-underline-item a:hover .list-col-detail .txt-omit.is-omit::before,
  .hover-underline-item a:focus .list-col-detail .txt-omit.is-omit::before {
    background: var(--main-clr-lgr);
  }
}
@media screen and (min-width: 1920px) {
  .list-col {
    gap: 30px;
  }

  .list-col-ttl {
    font-size: 20px;
  }
  .list-col-txt {
    font-size: 18px;
  }
  .list-col--aboutus .item-category {
    padding-left: 20px;
    font-size: 18px;
  }
  .list-col--aboutus .item-category::before {
    width: 10px;
    height: 10px;
  }
  .list-col--aboutus .item-category + .list-col-ttl {
    margin-top: 26px;
  }

  /* 独自設定 */
  .list-col--3 .list-col-detail {
    padding: 20px 0 30px;
  }
  .list-col--3 .list-col-txt {
    margin: 12px 0 0;
  }

  .list-col--4 .list-col-detail {
    padding: 16px 20px 24px;
  }
  .list-col--4 .list-col-txt {
    margin: 16px 0 0;
  }

  .list-col--aboutus .list-col-ttl {
    font-size: 26px;
  }
  .list-col--aboutus.list-col--4 .list-col-detail {
    padding: 30px 10px 34px;
  }
  .list-col--aboutus.list-col--4 .list-col-ttl {
    line-height: 36.4px;
  }
}
@media screen and (max-width: 736px) {
  .list-col {
    display: block;
  }
  .list-col .list-col-item {
    width: 100%;
  }
  .list-col-img {
    border-radius: 1.3vw;
  }
  .list-col-img img {
    width: 100%;
  }

  .list-col-detail .list-col-ttl {
    font-size: max(var(--main-sp-15px), 12px);
    line-height: 160%;
  }
  .list-col-detail .list-col-txt {
    font-size: max(var(--main-sp-14px), 12px);
    line-height: 160%;
  }
  .list-col--aboutus .item-category {
    padding-left: 16px;
    font-size: max(var(--main-sp-14px), 12px);
  }
  .list-col--aboutus .item-category::before {
    width: 8px;
    height: 8px;
  }
  .list-col--aboutus .item-category + .list-col-ttl {
    margin-top: 5.13vw;
  }


  /* 独自設定 */
  .list-col--3 .list-col-detail {
    padding: 4.102vw 0 5.13vw;
  }
  .list-col--3 .list-col-detail .list-col-txt {
    margin-top: 3.08vw;
  }
  .list-col--3 .list-col-item {
    margin-top: 5.13vw;
  }

  .list-col--4 .list-col-detail .list-col-txt {
    margin-top: 5.13vw;
  }
  .list-col--4 .list-col-item {
    margin-top: 5.7vw;
  }
  .list-col--4 .list-col-detail .txt-omit.is-omit::before {
    line-height: 6.9vw;
  }

  .list-col--both .list-col-item a {
    display: flex;
    align-items: flex-start;
    padding-bottom: 5.7vw;
  }
  .list-col--both .list-col-img {
    width: 42.3vw;
  }
  .list-col--both .list-col-detail {
    width: 55.5vw;
    margin-left: 4.6vw;
  }

  .list-col--aboutus.list-col--4 .list-col-detail {
    padding: 5.13vw 2.56vw 6.15vw;
  }
  .list-col--aboutus.list-col--4 .list-col-item {
    margin-top: 10.25vw;
  }
  .list-col--aboutus .list-col-ttl {
    font-size: max(var(--main-sp-22px), 12px);
  }
  .list-col--aboutus.list-col--4 .list-col-ttl {
    line-height: 130%;
  }

}




/** ============================================================
* スライダー
* ========================================================== */
.kv-slider {
  background: var(--main-clr-lgr);
}
.kv-slider .splide__slide {
  margin-left: 20px!important;
  margin-right: 0!important;
}
.kv-slider-bg {
  width: 100%;
  position: absolute;
  height: 100%;
  left: 20px;
  top: 0;
  border-radius: 9px;
  overflow: hidden;
}
.kv-slider-bg::before {
  content: "";
  position: absolute;
  top: -12.865vw;
  left: -19vw;
  z-index: 5;
  display: inline-block;
  background: url(/common/images/bg_mv-pc.svg) no-repeat top left / contain;
  width: 69.27vw;
  height: 54.48vw;
  mix-blend-mode: screen;
}


.kv-slider .splide__slide img {
  width: auto;
  height: 100%;
  object-fit: cover;
}
.kv-slider .splide__slide--l {
  width: 42.97vw;
}
.kv-slider .splide__slide--s {
  width: 21.88vw;
}
.kv-slider .img-kvSplide {
  height: 28.654vw;
  border-radius: 9px;
  overflow: hidden;
}

.slider-control {
  text-align: right;
}
.slider-control__play {
  width: 2.08vw;
  height: 2.08vw;
  margin: 10px;
  padding: 0;
  border: none;
  background: none;
}

/* 1920px以上 */
@media screen and (min-width: 1920px) {
  .kv-slider .img-kvSplide {
    height: 564px;
  }
  .kv-slider .splide__slide--l {
    width: 825px;
  }
  .kv-slider .splide__slide--s {
    width: 420px;
  }
  .kv-slider-bg::before {
    top: -247px;
    left: -364.8px;
    width: 1330px;
    height: 1046px;
  }
}
@media screen and (max-width: 736px) {
  .kv-slider .splide__slide {
    margin-left: 10px!important;
  }

  .kv-slider-bg {
    left: 10px;
    border-radius: 5px;
  }
  .kv-slider-bg::before {
    top: -34.87vw;/* -136px */
    left: -66.7vw;/* -260px */
    width: 182.82vw;/* 713px */
    height: 146.67vw;/* 572px */
  }

  .kv-slider .img-kvSplide {
    height: 300px;
    border-radius: 5px;
  }

  .kv-slider .splide__slide--l {
    width: 335px;
  }
  .kv-slider .splide__slide--s {
    width: 229px;
  }

  .slider-control__play {
    width: 6.15vw;
    height: 6.15vw;
  }
}



/** ============================================================
* コピータイトルエリア
* ========================================================== */
/* ======== コピータイトル ======== */
.copy-title {
  background: var(--main-clr-lgr);
  position: relative;
  padding: 0 1.6vw 1.6vw;
}
.copy-title .contents-inner {
  width: 90.625vw;/* 1740px */
}
.copy-title .catchcopy {
  color: var(--main-clr-bk, #171D1C);
  font-size: max(2.604vw, 12px);
  font-weight: 900;
  line-height: 160%; /* 80px */
  letter-spacing: .052vw;
}
@media screen and (min-width: 1920px) {
  .copy-title {
    padding: 0 30px 30px;
  }
  .copy-title .contents-inner {
    width: 1740px;
  }
  .copy-title .catchcopy {
    color: var(--main-clr-bk, #171D1C);
    font-size: 50px;
    letter-spacing: 1px;
  }
}
@media screen and (max-width: 980px) {
  .copy-title .catchcopy {
    /* 737px時14px相当 */
    font-size: max(1.9vw, 12px);
  }
}
@media screen and (max-width: 736px) {
  .copy-title {
    padding: 0;
  }
  .copy-title .contents-inner {
    width: 95vw;
  }
  .copy-title .catchcopy {
    font-size: max(6.7vw, 12px);
    line-height: 140%;
  }
}
/* ======== 右にあるページ内リンク ======== */
.copy-title .page-anchor {
  position: absolute;
  top: 1.98vw;
  right: 0;
  display: flex;
  background: var(--main-clr-wt);
  box-shadow: .104vw .208vw 3.33vw 0 rgba(0, 90, 224, .1);
  border-radius: .417vw 0 0 .417vw; 
  padding: 1.563vw 0 1.563vw 1.563vw;
}
.copy-title .page-anchor-link {
  display: flex;
  align-items: center;
}

@media screen and (min-width: 1920px) {
  .copy-title .page-anchor {
    top: 38px;
    box-shadow: 2px 4px 64px 0 rgba(0, 90, 224, .1);
    border-radius: 8px 0 0 8px; 
    padding: 30px 0 30px 30px;
  }
}
@media screen and (max-width: 980px) {
  .copy-title .page-anchor {
    top: 50%;
    transform: translateY(-50%);
  }
}
@media screen and (max-width: 736px) {
  .copy-title .page-anchor {
    display: none;
  }
}
/** ============================================================
* 緊急お知らせエリア
* ========================================================== */
.importantNotice {
  background: var(--main-clr-lgr);
  padding: 2.08vw;
}
.importantNotice .contents-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  width: 51.563vw;/*990px*/
  padding: 2.08vw;/*40px*/
  border-top: 1px solid rgba(0, 90, 224, .20);
  border-bottom: 1px solid rgba(0, 90, 224, .20);
  background: var(--main-clr-wt);
}
.importantNotice-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: .625vw;
  border-radius: 4px;
  background: #C94042;
  color: var(--main-clr-wt);
  font-size: max(var(--main-pc-18px), 12px);
  font-weight: 700;
  letter-spacing: .36px;
}
.importantNotice-heading img {
  width: 1.25vw;
  margin-right: 6px;
}
.importantNotice-content {
  flex: 1;
}
.importantNotice-content li {
  color: #303234;
  font-size: max(var(--main-pc-16px), 12px);
}
/*2件目以上があった場合、上に線と余白をつける*/
.importantNotice-content ul li:nth-of-type(n+2) {
  margin-top: 1.1vw;
  padding-top: 1.1vw;
  border-top: 1px solid rgba(0, 90, 224, .20);
}
.importantNotice-content .date {
  margin-bottom: .625vw;
  color: rgba(23, 29, 28, .8);
  font-size: max(var(--main-pc-14px), 12px);
  font-family: 'Inter', 'Noto Sans JP', serif, Helvetica, Neue Haas Grotesk, Arial;
  font-weight: 500;
}
.importantNotice-content li a {
  padding-bottom: .15em;
  background: linear-gradient(#303234, #303234) 0 100%/0 1px no-repeat;
  transition: background .4s;
  text-decoration: none;
  color: #303234;
}
@media screen and (min-width: 737px) {
  .importantNotice-content li a:hover,
  .importantNotice-content li a:focus {
    background-size: 100% 1px;
  }
}
@media screen and (min-width: 1920px) {
  .importantNotice {
    padding: 40px;
  }
  .importantNotice .contents-inner {
    width: 990px;
    padding: 40px;
  }
  .importantNotice-heading {
    border-radius: 4px;
    padding: 12px;
    font-size: 18px;
  }
  .importantNotice-heading img {
    width: 24px;
  }
  .importantNotice-content li {
    font-size: 16px;
  }
  /*2件目以上があった場合、上に余白をつける*/
  .importantNotice-content ul li:nth-of-type(n+2) {
    margin-top:  20px;
  }
  .importantNotice-content .date {
    font-size: 14px;
    margin-bottom: 10px;
  }
}
@media screen and (max-width: 1490px) {
  .importantNotice .contents-inner {
    width: 80%;
  }
}
@media screen and (max-width: 736px) {
  .importantNotice {
    padding: 7.7vw 0 0;
  }
  .importantNotice .contents-inner {
    display: block;
    width: 91.8vw;
    padding: 5.13vw;
  }
  .importantNotice-heading {
    width: 34.36vw;
    padding: 6px 10px;
    font-size: max(3.33vw, 12px);
  }
  .importantNotice-heading img {
    width: max(3.08vw, 12px);
  }
  .importantNotice-content {
    width: 100%;
    margin-top: 4.102vw;
  }
  .importantNotice-content li {
    font-size: max(var(--main-sp-12px), 12px);
  }
  .importantNotice-content ul li:nth-of-type(n+2) {
    margin-top: 4.102vw;
    padding-top: 4.102vw;
  }
  .importantNotice-content .date {
    margin-bottom: 2.56vw;
    font-size: max(var(--main-sp-11px), 11px);
  }

}
/** ============================================================
* メッセージエリア
* ========================================================== */
.top-message-area {
  background: var(--main-clr-lgr);
}
.top-message-area .contents-inner {
  position: relative;
  width: 91.667vw /*1760px*/;
  height: 66.198vw /*1271px*/;
  border-radius: 8px;
  background-image: linear-gradient(180deg, #F3F6FA 0%, rgba(243, 246, 250, 0.00) 100%) ,url(/common/images/img_message-pc.webp);
  background-color: #fff;
  background-position: center top, center bottom;
  background-repeat: no-repeat;
  background-size: 100% 14.58vw, contain;
  text-align: center;
}
.top-message-area .message-title-sub {
  position: absolute;
  top: 5.7vw;
  left: 8.854vw;
  transform: rotate(90deg) translateX(50%);
  color: var(--main-clr-bl);
  font-size: max(var(--main-pc-20px), 12px);
  font-weight: 800;
  line-height: 80%;
}
.top-message-area .message-title-sub span {
  position: relative;
  display: flex;
  align-items: center;
}
.top-message-area .message-title-sub span::after {
  content: "";
  display: inline-block;
  width: 5.21vw;
  height: 1px;
  background: var(--main-clr-bl);
  margin: 0 0 0 20px;
}

.top-message-area .message-title {
  padding-top: 5.7vw;
  color: var(--main-clr-bl);
  font-family: 'Inter', serif;
  font-size: max(5.729vw, 12px);
  font-style: normal;
  font-weight: 800;
  line-height: 128%;
  letter-spacing: -.115vw;
}

.top-message-area .contents-inner .message-title.item-center {
  background: linear-gradient(66deg, rgba(0,90,224,1) 40%, rgba(23,29,28,1) 60%, rgba(0,90,224,1) 60%);
  background-size: 200% 200%;
  animation: gradientAnimation 2s ease-out both;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

@keyframes gradientAnimation {
  0% {
    background-position: 100% 0%;
  }
  100% {
    background-position: 0% 100%;
  }
}

.top-message-area .message-catchcopy {
  margin-top: 4.688vw;
  font-size: max(2.5vw, 12px);
  font-style: normal;
  font-weight: 900;
  line-height: 180%; /* 86.4px */
  letter-spacing: .05vw;
}
.top-message-area .message-text {
  margin-top: 2.604vw;
  font-size: max(var(--main-pc-18px), 12px);
  font-weight: 500;
  line-height: 260%; /* 46.8px */
  letter-spacing: .019vw;
}
@media screen and (min-width: 1920px) {
  .top-message-area .contents-inner {
    width: 1760px;
    height: 1271px;
    background-size: 100% 280px, contain;
  }
  .top-message-area .message-title-sub {
    left: 170px;
    font-size: 20px;
  }
  .top-message-area .message-title-sub span::after {
    width: 100px;
    height: 1px;
    margin: 0 0 0 20px;
  }
  .top-message-area .message-title {
    padding-top: 110px;
    font-size: 110px;
    letter-spacing: -2.2px;
  }
  .top-message-area .message-catchcopy {
    margin-top: 90px;
    font-size: 48px;
    letter-spacing: .96px;
  }
  .top-message-area .message-text {
    margin-top: 50px;
    font-size: 18px;
    letter-spacing: .36px;
  }
}
@media screen and (max-width: 736px) {
  .top-message-area .contents-inner {
    width: 95vw /*370px*/;
    height: 187vw /*1271px*/;
    background-image: linear-gradient(180deg, #F3F6FA 0%, rgba(243, 246, 250, 0.00) 100%) ,url(/common/images/img_message-sp.webp);
    background-size: 100% 51.28vw, contain;
    padding: 18.2vw 7.7vw 33.4vw;
  }

  .top-message-area .message-title-sub {
    top: 20.7vw;
    left: -9vw;
    font-size: max(var(--main-sp-12px), 12px);
  }
  .top-message-area .message-title-sub span::after {
    width: 10.25vw;
    margin-left: 2.56vw;
  }

  .top-message-area .message-title {
    padding-top: 0;
    font-size: max(11.8vw, 12px);
    line-height: 120%;
    letter-spacing: -.92px;
  }
  .top-message-area .contents-inner .message-title.item-center {
    padding: 0;
  }
  .top-message-area .message-catchcopy {
    margin-top: 5.64vw;
    font-size: max(var(--main-sp-22px), 12px);
    line-height: 180%;
    letter-spacing: .44px;
  }
  .top-message-area .message-text {
    margin-top: 7.7vw;
    font-size: max(var(--main-sp-14px), 12px);
    text-align: left;
    line-height: 200%;
  }
}



/** ============================================================
* AboutUs
* ========================================================== */
.heading-block {
  margin: 2.3vw 0 0;
}
.heading-block--col {
  display: flex;
  align-items: flex-end;
  gap: 4.166vw;
}
.heading-block:not(.heading-block--col) .index-conts-txt {
  margin: 3.125vw 0 0;
}

.index-conts-heading {
  color: var(--main-clr-bl);
  font-family: 'Inter', serif;
  font-size: max(5.1vw, 12px);
  font-weight: 800;
  line-height: 100%;
  letter-spacing: -2.94px;
}
.index-conts-txt {
  font-size: max(var(--main-pc-18px), 12px);
  font-weight: 400;
  line-height: 220%;
}

.link-block {
  display: flex;
  justify-content: center;
  margin: 3.125vw 0 0;
  text-align: center;
}
.link-block .btn-squareArrow + .btn-squareArrow {
  margin-top: 1.6vw;
}

#aboutus {
  background: var(--main-clr-lgr);
}

@media screen and (min-width: 1920px) {
  .heading-block--col {
    gap: 80px;
  }
  .index-conts-heading {
    font-size: 98px;
    line-height: 100%;
  }
  .index-conts-txt {
    font-size: 18px;
    line-height: 220%;
  }

  .heading-block {
    margin: 44px 0 0;
  }
  .heading-block--col {
    gap: 80px;
  }
  .heading-block:not(.heading-block--col) .index-conts-txt {
    margin: 60px 0 0;
  }
}
@media screen and (max-width: 736px) {
  .heading-block {
    margin-top: 7.7vw;
  }
  .heading-block--col {
    display: block;
  }

  .index-conts-heading {
    font-size: max(13.85vw, 12px);
    line-height: 100%;
    letter-spacing: -1.62px;
  }
  
  .index-conts-txt {
    margin-top: 10.25vw;
    font-size: max(var(--main-sp-14px), 12px);
    line-height: 200%;
  }
  
  .link-block {
    margin: 10.25vw 0 0;
  }
  .link-block .btn-squareArrow + .btn-squareArrow {
    margin-top: 5.13vw;
  }
  .heading-block:not(.heading-block--col) .index-conts-txt {
    margin-top: 10.25vw;
  }

}


/** ============================================================
* Products
* ========================================================== */
#products .contents-inner {
  width: 91.667vw;
  border-radius: 8px;
  background: var(--main-clr-lgr);
  padding: 6.25vw 3.125vw;
}
@media screen and (min-width: 1920px) {
  #products .contents-inner {
    width: 1760px;
    padding: 120px 60px;
  }
}
@media screen and (max-width: 736px) {
  #products .contents-inner {
    padding: 15.4vw 5.13vw;
    width: 90vw;
  }
}

.block-support {
  display: flex;
  justify-content: space-between;
  margin: 3.125vw 0 0;
}
.hdg-support,
.hdg-client {
  font-size: max(2.5vw, 12px);
  font-weight: 900;
  line-height: 180%; /* 86.4px */
  letter-spacing: .96px;
}
.hdg-client {
  margin: 2.08vw 0 0;
}
@media screen and (min-width: 1920px) {
  .hdg-support,
  .hdg-client {
    font-size: 48px;
  }
  .hdg-client {
    margin: 40px 0 0;
  }
}
@media screen and (max-width: 736px) {
  .hdg-support,
  .hdg-client {
    font-size: max(6.7vw, 12px);
    line-height: 160%;
    letter-spacing: .52px;
  }
  .hdg-client {
    margin-top: 7.7vw;
  }
}





.list-col--support {
  flex-wrap: wrap;
  gap: 0;
  width: 52vw;
  margin: 0;
}
.list-col--support .list-col-item {
  width: calc(50% - .8vw);
  margin-right: 1.6vw;
}
.list-col--support .list-col-item:nth-child(even) {
  margin-right: 0;
}
.list-col--support .list-col-item a {
  display: flex;
  align-items: center;
  gap: 1.6vw;
  height: 100%;
  padding: 1.25vw 0;
}
.list-col--support .list-col-item .list-col-img {
  width: 8.3vw;
}
.list-col--support .list-col-item .list-col-detail {
  width: calc(100% - 8.3vw);
  height: 100%;
}
.list-col--support .list-col-item .list-col-txt {
  margin: .833vw 0 0;
  font-size: max(var(--main-pc-16px), 12px);
}

@media screen and (min-width: 1920px) {
  .list-col--support {
    width: 1000px;
    gap: 30px;
  }
  .list-col--support .list-col-item {
    width: calc(50% - 30px);
    margin-right: 30px;
  }
  .list-col--support .list-col-item a {
    gap: 30px;
    padding: 24px 0;
  }
  .list-col--support .list-col-item .list-col-img {
    width: 160px;
  }
  .list-col--support .list-col-item .list-col-detail {
    width: calc(100% - 160px);
  }
  .list-col--support .list-col-item .list-col-txt {
    font-size: 16px;
  }

}
@media screen and (max-width: 736px) {
  .block-support {
    margin: 0;
  }
  .list-col--support {
    width: 100%;
    margin-top: 5.13vw;
  }
  .list-col--support .list-col-item {
    width: 100%;
    margin: 0;
  }
  .list-col--support .list-col-item a {
    gap: 5.13vw;
    padding: 5.13vw 0;
  }

  .list-col--support .list-col-item .list-col-img {
    width: 31vw;
  }
  .list-col--support .list-col-item .list-col-detail {
    width: 69vw;
  }


}


/** ============================================================
* AboutUs
* ========================================================== */
.block-client {
  margin: 5.2vw 0 0;
  display: flex;
  border-radius: 8px;
  overflow: hidden;
}
.box-client-text {
  width: 26vw;
  padding: 4.166vw 2.604vw;
  background: var(--main-clr-lgr);
}
.box-client-detail {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  width: 52.08vw;
  padding: 4.166vw 5.989vw;
  background: linear-gradient(98deg, #257AFF 19.71%, #005AE0 91.39%);
  color: var(--main-clr-wt);
  text-align: center;
}

.list-client {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.1vw;
}
.list-client-item {
  width: calc((100% - 3.3vw) / 4);
}

.txt-client {
  margin: 2.604vw 0 0;
  font-size: max(var(--main-pc-18px), 12px);
  line-height: 220%;
}
.txt-client-point {
  margin: 3.125vw 0 0;
  font-size: max(var(--main-pc-24px), 12px);
  font-weight: 900;
  line-height: 100%;
}
.txt-client-sub--l {
  margin: 0 .729vw;
  font-size: max(3.125vw, 12px);
  font-weight: 800;
  line-height: 100%;
  font-family: 'Inter', serif;
}
.txt-client-sub--s {
  margin-left: 1.1vw;
  font-size: max(var(--main-pc-12px), 12px);
  font-style: normal;
  font-weight: 400;
  line-height: 100%;
}

@media screen and (min-width: 1920px) {
  .block-client {
    margin: 100px 0 0;
  }
  .box-client-text {
    width: 500px;
    padding: 80px 50px;
  }
  .box-client-detail {
    width: 1000px;
    padding: 80px 102px;
  }
  
  .list-client {
    gap: 20px;
  }
  .list-client-item {
    width: calc(25% - 20px);
  }

  .txt-client-point {
    margin: 60px 0 0;
    font-size: 24px;
  }
  .txt-client-sub--l {
    margin: 0 14px;
    font-size: 60px;
  }
  .txt-client-sub--s {
    margin-left: 20px;
    font-size: 12px;
  }
  .txt-client {
    margin: 50px 0 0;
    font-size: 18px;
  }
}

@media screen and (max-width: 1452px) {
  .box-client-text,
  .box-client-detail {
    padding-right: 2.574vw;/* 50px相当 */
    padding-left: 2.574vw;/* 50px相当 */
  }
}

@media screen and (max-width: 736px) {
  .block-client {
    display: block;
    margin-top: 15.4vw;
  }
  .box-client-text {
    width: 100%;
    padding: 15.4vw 5.13vw 50px 5.13vw;
  }
  .box-client-detail {
    width: 100%;
    padding: 15.4vw 5.13vw;
  }
  .list-client {
    padding: 0 2.56vw;
    gap: 2.56vw;
  }
  .list-client-item {
    width: calc(50% - 1.28vw);
  }

  .txt-client {
    margin-top: 10.25vw;
    font-size: max(var(--main-sp-14px), 12px);
    line-height: 200%;
    text-align: left;
  }
  .txt-client-point {
    margin-top: 15.4vw;
    font-size: max(var(--main-sp-18px), 12px);
    line-height: 100%;
    text-align: center;
  }
  .txt-client-sub--l {
    display: inline-block;
    margin: 5.13vw 1.02vw 0 0;
    font-size: max(11.28vw, 12px);
  }
  .txt-client-sub--s {
    display: block;
    margin: 7.7vw 0 0;
    font-size: max(var(--main-sp-12px), 12px);
  }

}


/** ============================================================
* Blog
* ========================================================== */
#blog .contents-inner {
  width: 91.667vw;
  border-radius: 8px;
  background: var(--main-clr-lgr);
  padding: 6.25vw 6.8vw;
}
#blog .list-col-detail .txt-omit.is-omit::before {
  background: var(--main-clr-lgr);
}
#caseStudies .hover-underline-item {
  border-radius: 8px 8px 0 0;
  overflow: hidden;
}
@media screen and (min-width: 1920px) {
  #blog .contents-inner {
    width: 1760px;
    padding: 120px 60px;
  }
}
@media screen and (max-width: 736px) {
  #blog .contents-inner {
    width: 90vw;
    padding: 15.4vw 5.13vw;
  }
  #caseStudies .list-col {
    border-top: 1px solid rgba(0, 90, 224, .2);
  }
  #caseStudies .list-col--4 .list-col-txt {
    margin-top: 2.565vw;
  }
}


/** ============================================================
* News
* ========================================================== */
.block-news {
  display: flex;
  justify-content: space-between;
}
.block-news-item {
  width: 25vw;
}
.block-news-item .link-block {
  justify-content: flex-start;
  margin: 4.166vw 0 0;
}
.block-news > .link-block {
  display: none;
}
#news .heading-block:not(.heading-block--col) .index-conts-txt {
  margin: 4.166vw 0 0;
}

.block-news-item--tab {
  width: calc(100% - 25vw);
}
.block-news-item--tab .tab__tabList {
  display: flex;
  gap: .5vw;
}
.block-news-item--tab .tab__tabList a {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 240px;
  height: 56px;
  padding: 0 1.1vw;
  border: 1px solid var(--main-clr-gr);
  border-radius: 4px;
  background: var(--main-clr-lgr);
  color: rgba(23, 29, 28, 0.80);
  font-size: max(var(--main-pc-18px), 12px);
  font-weight: 700;
}
.block-news-item--tab .tab__tabList a[aria-selected="true"] {
  border: 1px solid var(--main-clr-bk);
  background: var(--main-clr-bk);
  color: var(--main-clr-wt);
}
@media screen and (min-width: 737px) {
  .block-news-item--tab .tab__tabList a:hover,
  .block-news-item--tab .tab__tabList a:focus {
    border: 1px solid var(--main-clr-bk);
    background: var(--main-clr-bk);
    color: var(--main-clr-wt);
  }
}

.tab__tabs {
  margin: 2.4vw 0 0;
}
.tab__tabPanel {
  display: none;
}
.tab__tabPanel[aria-hidden="false"] {
  display: block;
}
.entryList01__item {
  position: relative;
  display: flex;
  align-items: center;
  gap: 1.1vw;
  padding: 1.8vw 1.1vw;
  border-bottom: 1px solid rgba(0, 90, 224, .2);
  transition: all .25s;
}
.entryList01__item:first-of-type {
  border-top: 1px solid rgba(0, 90, 224, .2);
}
.entryList01__pubDate {
  display: flex;
  align-items: center;
  min-width: 120px;
  width: 120px;
  height: 14px;
  font-size: max(var(--main-pc-14px), 12px);
  font-family: 'Inter', 'Noto Sans JP', serif, Helvetica, Neue Haas Grotesk, Arial;
  font-weight: 500;
}

.entryList01__category span,
.entryList01__item.finished .entryList01__category::after {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 26px;
  padding: 7px 8px 9px;
  border-radius: 4px;
  background: var(--main-clr-bk);
  color: var(--main-clr-wt);
  font-size: max(var(--main-pc-14px), 12px);
}

.entryList01__anchor {
  flex: 1 0 0;
  font-size: max(var(--main-pc-16px), 12px);
  line-height: 160%;
}


/* 「終了」タグをHTMLで設定する場合 */
.entryList01__finish {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
  border-radius: 4px;
  background: rgba(23, 29, 28, .1);
  font-size: max(var(--main-pc-14px), 12px);
}

/* 「終了」タグをCSSで設定する場合 */
.entryList01__category {
  display: flex;
  gap: 8px;
}
.entryList01__item.finished .entryList01__category::after {
  content: "終了";
  background: rgba(23, 29, 28, .1);
  color: var(--main-clr-bk);
  font-size: max(var(--main-pc-14px), 12px);
}


@media screen and (min-width: 1920px) {
  .block-news-item {
    width: 480px;
  }
  #news .link-block,
  #news .heading-block:not(.heading-block--col) .index-conts-txt {
    margin: 80px 0 0;
  }

  .block-news-item--tab {
    width: calc(100% - 480px);
  }
  .block-news-item--tab .tab__tabList {
    gap: 10px;
  }
  .block-news-item--tab .tab__tabList a {
    max-width: 240px;
    height: 56px;
    padding: 0px 20px;
    font-size: 18px;
  }


  .tab__tabs {
    margin: 46px 0 0;
  }
  .entryList01__item {
    gap: 20px;
    padding: 34px 20px;
  }
  .entryList01__pubDate {
    font-size: 14px;
  }
  .entryList01__category span,
  .entryList01__item.finished .entryList01__category::after {
    padding: 8px;
    font-size: 14px;
  }
  .entryList01__finish {
    padding: 8px;
    font-size: 14px;
  }
  .entryList01__anchor {
    font-size: 16px;
  }

}

@media screen and (max-width: 1500px) {
  .entryList01__item {
    flex-wrap: wrap;
    gap: 0;
  }
  .entryList01__category {
    flex-wrap: wrap;
    flex: 1 0 0;
    margin-left: 1.1vw;
  }
  .entryList01__anchor {
    flex: none;
    display: block;
    width: 100%;
    margin-top: .729vw;
  }
}


@media screen and (max-width: 736px) {

  .block-news {
    display: block;
  }
  .block-news-item {
    width: 100%;
  }
  .block-news-item .link-block {
    display: none;
  }
  .block-news > .link-block {
    display: flex;
    justify-content: center;
  }
  .block-news > .link-block .link-block-inner {
    display: flex;
    align-items: center;
    flex-direction: column;
  }
  #news .heading-block:not(.heading-block--col) .index-conts-txt {
    margin: 10.25vw 0 0;
  }
  .block-news-item--tab {
    margin: 10.25vw 0 0;
  }
  .block-news-item--tab .tab__tabList {
    flex-wrap: wrap;
    gap: 5px;
  }

  .block-news-item--tab .tab__tabList a {
    height: 10.25vw;
    padding: 0 3.59vw;
    font-size: max(var(--main-sp-12px), 12px);
  }
  .tab__tabs {
    margin: 5.13vw 0 0;
  }
  .entryList01__item {
    padding: 5.13vw 2.56vw;
  }
  .entryList01__anchor {
    display: block;
    flex: auto;
    margin-top: 3.08vw;
  }
  .entryList01__pubDate {
    min-width: 100px;
    width: 100px;
  }

  .entryList01__category {
    margin-left: 3.08vw;
  }
  .entryList01__category span,
  .entryList01__item.finished .entryList01__category::after {
    height: 24px;
    font-size: max(var(--main-sp-11px), 11px);
  }

  /* 「終了」タグをHTMLで設定する場合 */
  .entryList01__finish {
    margin-left: 3.08vw;
    font-size: max(var(--main-sp-11px), 11px);
  }
  
  /* 「終了」タグをCSSで設定する場合 */
  .entryList01__item.finished .entryList01__category {
    gap: 6px;
  }

}

/* 追加 20250221 */
/* アスペクト比固定画像 */
.aspect-img {
  display: flex;
  align-items: center;
}
#caseStudies .aspect-img,
#blog .aspect-img {
  aspect-ratio: 352 / 235;
}
.aspect-img img {
  object-fit: cover;
}