.main {
  padding-bottom: 14.69vw;
}

@media screen and (max-width: 767px) {
  .main {
    padding-bottom: clamp(96px * var(--sp-scale-min), calc(96 * 100vw / 390), 96px * var(--sp-scale-max));
  }
}

/* ========================
kv
======================== */
.kv {
  height: 100svh;
  position: relative;
}

.ball-main {
  bottom: -5vw;
  left: 40vw;
  position: absolute;
  z-index: -1;
}

.ball-main-inner::after {
  background: url(../../images/top/bg-kv.webp);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 67vw;
  transition: all 0.3s;
  width: 70vw;
}

@keyframes ballMain {
  0% {
    translate: 0 2rem;
  }
  50% {
    translate: 0 -1rem;
  }
  100% {
    translate: 0 2rem;
  }
}

.kv__title {
  padding-left: 8%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
}

.kv__title-main img {
  width: 46%;
}

.kv__title-sub {
  font-size: 1.56vw;
  font-weight: 700;
  line-height: 2;
  margin-top: 2rem;
}

.ball-red1 {
  left: 1.875vw;
  position: absolute;
  top: -6vw;
}

.ball-red1::after {
  animation: movingBall3 6s ease-in-out infinite;
  aspect-ratio: 1;
  background: url(../../images/common/ball-red.webp);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  position: relative;
  width: 12.34vw;
  z-index: -1;
}

.ball-red2 {
  bottom: 7vw;
  left: 14.92vw;
  position: absolute;
}

.ball-red2::after {
  animation: movingBall 6s ease-in-out infinite;
  aspect-ratio: 1;
  background: url(../../images/common/ball-red.webp);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  position: relative;
  width: 3.125vw;
  z-index: -1;
}

.ball-blue1 {
  left: 31.09vw;
  position: absolute;
  top: 5vw;
}

.ball-blue1::after {
  animation: movingBall2 7s ease-in-out infinite;
  aspect-ratio: 1;
  background: url(../../images/common/ball-blue.webp);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  position: relative;
  width: 3.85vw;
  z-index: -1;
}

.ball-blue2 {
  bottom: -5vw;
  left: -2.73vw;
  position: absolute;
}

.ball-blue2::after {
  animation: movingBall3 8s ease-in-out infinite;
  aspect-ratio: 1;
  background: url(../../images/common/ball-blue.webp);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  width: 14.84vw;
  z-index: -1;
}

@keyframes movingBall {
  0% {
    translate: 0 1vw;
  }
  50% {
    translate: 0 -0.5vw;
  }
  100% {
    translate: 0 1vw;
  }
}

@keyframes movingBall2 {
  0% {
    translate: 0 -1vw;
  }
  50% {
    translate: 0 0.5vw;
  }
  100% {
    translate: 0 -1vw;
  }
}

@keyframes movingBall3 {
  0% {
    translate: 0 0.8vw;
  }
  50% {
    translate: 0 -0.8vw;
  }
  100% {
    translate: 0 0.8vw;
  }
}

.kv__recruit {
  background-color: var(--colorWhite);
  bottom: 3.125vw;
  filter: drop-shadow(8px 8px 24px rgba(0, 0, 0, 0.15));
  overflow: hidden;
  position: absolute;
  right: 3.125vw;
  transition: 0.3s;
}

.kv__recruit-link {
  aspect-ratio: 175/121;
  display: block;
  transition: all 0.3s;
  width: 20.5rem;
}

@media (hover: hover) {
  .kv__recruit:hover {
    transform: scale(1.05);
  }
}

@media screen and (max-width: 767px) {
  .kv {
    display: grid;
    grid-template-rows: 1fr auto auto;
    height: 100svh;
    min-height: 25rem;
  }

  .kv__ball {
    position: relative;
  }

  .ball-main {
    bottom: 10svh;
    left: unset;
    right: -55vw;
  }

  .ball-main-inner::after {
    height: 113vw;
    width: 118vw;
  }

  .ball-red1 {
    left: 6.67vw;
    top: -15.38vw;
  }

  .ball-red1::after {
    width: 15.38vw;
  }

  .ball-red2 {
    left: 2.05vw;
    top: 55.13vw;
  }

  .ball-red2::after {
    width: 5.13vw;
  }

  .ball-blue1 {
    left: 18.97vw;
    top: 0;
  }

  .ball-blue1::after {
    width: 6.15vw;
  }

  .ball-blue2 {
    left: 10.26vw;
    top: 65.13vw;
  }

  .ball-blue2::after {
    width: 20.51vw;
  }

  .kv__title {
    margin-top: 5svh;
    padding-left: 7.18vw;
    position: relative;
    top: unset;
    transform: unset;
    width: 100%;
  }

  .kv__title-main {
    width: 75.13vw;
  }

  .kv__title-main img {
    width: 100%;
  }

  .kv__title-sub {
    font-size: 3.59vw;
    margin-top: 6.15vw;
  }

  .kv__recruit {
    bottom: unset;
    margin: 7.5svh 4.1vw 5.13vw;
    position: relative;
    right: unset;
    border-radius: var(--size4);
    filter: drop-shadow(8px 8px 24px rgba(0, 0, 0, 0.25));
  }

  .kv__recruit-link {
    aspect-ratio: unset;
    width: 100%;
  }
}

/* ========================
banner
======================== */
.banner {
  margin-top: 5rem;
}

.banner__swiper {
  overflow: visible;
}

.banner__list {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.banner__item {
  background-color: var(--colorWhite);
  overflow: hidden;
  width: calc((100% - 3rem) / 4);
  transition: 0.3s;
}

.banner__item a img {
  transition: all 0.3s;
}

@media (hover: hover) {
  .banner__item:hover {
    transform: scale(1.05);
  }
}

@media screen and (max-width: 767px) {
  .banner {
    margin-top: 24.36vw;
  }

  .banner__list {
    flex-wrap: unset;
    gap: unset;
  }

  .banner__swiper {
    overflow: visible;
  }

  .banner__swiper .swiper-horizontal > .banner__swiper.swiper-pagination-bullets,
  .banner__swiper .swiper-pagination-bullets.swiper-pagination-horizontal,
  .banner__swiper .swiper-pagination-custom,
  .banner__swiper .swiper-pagination-fraction {
    position: relative;
    top: 5.13vw;
  }

  .banner__swiper .swiper-pagination-bullet {
    background-color: #ddd;
    height: 2.05vw;
    opacity: 1;
    width: 2.05vw;
  }

  .banner__swiper .swiper-pagination-bullet-active {
    background-color: var(--colorRed);
  }
}

/* ========================
info
======================== */
.info {
  margin-top: 11.17vw;
}

.info__head {
  align-items: center;
  column-gap: 8.5rem;
  display: flex;
}

@media screen and (max-width: 1040px) {
  .info__head {
    column-gap: 0;
    justify-content: space-between;
  }
}

.info__title {
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-left: 1rem;
  min-width: 5em;
}

.info__list {
  column-gap: 1.5rem;
  display: flex;
  flex-wrap: wrap;
}

.info__item {
  color: var(--colorGray750);
  cursor: pointer;
  font-size: 1rem;
  font-weight: 700;
  transition: all 0.3s;
}

.info__item.current {
  color: var(--colorRed);
}

@media (hover: hover) {
  .info__item:hover {
    color: var(--colorRed);
  }
}

.info__news-list {
  display: flex;
  flex-direction: column;
  margin-top: 1.5rem;
}

.info__news-item {
  display: none;
}

.info__news-item.show {
  animation: 0.8s listFadeIn forwards ease-out;
  display: block;
}

@keyframes listFadeIn {
  0% {
    opacity: 0.2;
  }
  100% {
    opacity: 1;
  }
}

.info__news-item.show:not(:first-child) {
  margin-top: 0.13rem;
}

.info__news-link {
  align-items: center;
  background-color: var(--colorBg);
  color: var(--colorGray);
  column-gap: 1.5rem;
  display: flex;
  padding: 1.5rem;
}

@media (hover: hover) {
  .info__news-link:hover .info__news-head {
    color: var(--colorRed);
  }
}

.info__news-content {
  display: contents;
}

.info__news-time {
  color: var(--colorGray);
  font-family: var(--familyRoboto);
  font-size: 1rem;
  min-width: 5em;
}

.info__news-kind {
  font-size: 0.875rem;
  font-weight: 700;
  min-width: 8em;
}

.info__news-head {
  flex: 1;
  font-size: 1rem;
  overflow: hidden;
  position: relative;
  transition: all 0.3s;
}

.info__news-head.omission::after {
  background: linear-gradient(to right, transparent 0, var(--colorBg) 60%);
  bottom: 0;
  content: "…";
  position: absolute;
  right: 0;
  text-align: right;
  width: 2.5em;
}

.info__detail-link-area {
  text-align: right;
}

.info__detail-link {
  font-weight: 700;
  margin: 1.5rem 0 0 auto;
}

@media screen and (max-width: 767px) {
  .info {
    margin-top: 34.36vw;
  }

  .info__head {
    align-items: flex-start;
    flex-direction: column;
    row-gap: var(--size16);
  }

  .info__title {
    font-size: var(--size28);
    margin-left: 0;
  }

  .info__list {
    column-gap: var(--size24);
    row-gap: var(--size8);
  }

  .info__item {
    font-size: var(--size16);
  }

  .info__news-list {
    margin-top: var(--size24);
  }

  .info__news-link {
    column-gap: var(--size8);
    flex-wrap: wrap;
    padding: var(--size8) var(--size16) var(--size16);
  }

  .info__news-content {
    display: block;
    flex: 1;
  }

  .info__news-time {
    font-size: var(--size16);
    margin-right: var(--size20);
  }

  .info__news-kind {
    display: inline-block;
    font-size: var(--size14);
    min-width: unset;
  }

  .info__news-head {
    font-size: var(--size14);
    margin-top: var(--size8);
  }

  .info__detail-link {
    margin-top: var(--size24);
  }
}

/* ========================
about
======================== */
.top-about {
  margin-top: 14.37vw;
}

.top-about__2columns {
  column-gap: 0.375rem;
  display: grid;
  grid-template-columns: auto 1fr;
}

.top-about__menu {
  display: flex;
  flex-direction: column;
  margin-top: 3.5rem;
  row-gap: calc((1em - 1lh) / 2 + 1.5rem);
}

.top-about__menu-link {
  font-weight: 700;
  min-height: unset;
}

@media (hover: hover) {
  .top-about__menu-link:hover {
    cursor: pointer;
  }
}

.top-about__menu-link .is-iconLink {
  height: 1.5rem;
  width: 1.5rem;
}

.top-about__menu-link .normal-arrow {
  width: 0.75rem;
}

.top-about__left {
  margin: 3.5rem 0 5rem;
}

.top-about__right {
  align-self: center;
  height: fit-content;
  position: relative;
  width: 100%;
}

.top-about__detail-img {
  aspect-ratio: 992 / 609;
  max-width: max-content;
  position: relative;
  width: 124.5%;
}

.top-about__detail-list {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.top-about__detail-item {
  position: absolute;
  width: min(calc(9.375vw * ((100vw - 18.25rem - 7.81%) / 100vw)), 15rem);
}

.speech-bubble {
  left: 0;
  position: absolute;
  top: -2%;
  width: 100%;
}

.speech-bubble img {
  transform: scale(1.1);
  transform-origin: left center;
  width: 100%;
}

.top-about__right--point {
	position: absolute;
	width: 21%;
}

.top-about__right--point--01 {
  left: 10%;
  top: 22%;
}

.top-about__right--point--02 {
	left: 29.5%;
  top: -3%;
}

.top-about__right--point--03 {
	left: 56%;
  top: 15%;
}

.top-about__right--point--04 {
	top: 0;
	right: 4%;
}

.top-about__right--point--05 {
	left: 21.5%;
  bottom: 21%;
}

.top-about__right--point--06 {
	left: 38.5%;
  bottom: 41%;
}

.top-about__right--point--07 {
	left: 52.5%;
  bottom: 17%;
}

.top-about__right--point--08 {
	right: 4.8%;
  bottom: 35%;
}

@keyframes fuwafuwa {
  0% {
    transform: translateY(0.5vw);
  }
  50% {
    transform: translateY(-1.5vw);
  }
  100% {
    transform: translateY(0.5vw);
  }
}

@keyframes fuwafuwa2 {
  0% {
    transform: translateY(1.5vw);
  }
  50% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(1.5vw);
  }
}

@keyframes fuwafuwa3 {
  0% {
    transform: translateY(-1vw);
  }
  50% {
    transform: translateY(1vw);
  }
  100% {
    transform: translateY(-1vw);
  }
}

@keyframes fuwafuwa4 {
  0% {
    transform: translateY(-1.5vw);
  }
  50% {
    transform: translateY(0.5vw);
  }
  100% {
    transform: translateY(-1.5vw);
  }
}

.dec-ball__area {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.dec-ball {
  aspect-ratio: 1;
  display: block;
  position: absolute;
}

.dec-ball1 {
  animation: fuwafuwa 10s infinite;
  background: url(../../images/common/ball-red.webp);
  background-repeat: no-repeat;
  background-size: contain;
  left: 4.9%;
  top: 28.12%;
  width: 1.2vw;
}

.dec-ball2 {
  animation: fuwafuwa3 7s infinite;
  background: url(../../images/common/ball-blue.webp);
  background-repeat: no-repeat;
  background-size: contain;
  left: 27.59%;
  top: 24.4%;
  width: 2.34vw;
}

.dec-ball3 {
  animation: fuwafuwa3 14s infinite;
  background: url(../../images/common/ball-red.webp);
  background-repeat: no-repeat;
  background-size: contain;
  left: 19.46%;
  top: 8.89%;
  width: 2.3vw;
}

.dec-ball4 {
  animation: fuwafuwa2 12s infinite;
  background: url(../../images/common/ball-red.webp);
  background-repeat: no-repeat;
  background-size: contain;
  left: 61.46%;
  top: 6.67%;
  width: 1.77vw;
}

.dec-ball5 {
  animation: fuwafuwa4 8s infinite;
  background: url(../../images/common/ball-red.webp);
  background-repeat: no-repeat;
  background-size: contain;
  left: 60.15%;
  top: 30.65%;
  width: 3.05vw;
}

.dec-ball6 {
  animation: fuwafuwa2 9s infinite;
  background: url(../../images/common/ball-red.webp);
  background-repeat: no-repeat;
  background-size: contain;
  left: 84.29%;
  top: 21.38%;
  width: 2.45vw;
}

.dec-ball7 {
  animation: fuwafuwa3 10s infinite;
  background: url(../../images/common/ball-blue.webp);
  background-repeat: no-repeat;
  background-size: contain;
  left: 88.35%;
  top: 11.8%;
  width: 1.2vw;
}

.dec-ball8 {
  animation: fuwafuwa2 7s infinite;
  background: url(../../images/common/ball-blue.webp);
  background-repeat: no-repeat;
  background-size: contain;
  left: 86.9%;
  top: 35.5%;
  width: 3.54vw;
}

.top-about__info-list {
  background-color: var(--colorWhite);
  display: flex;
  filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.25));
  margin-inline: auto;
  padding-block: 1.8125rem 2.1875rem;
  text-align: center;
}

.top-about__info-item {
  display: flex;
  flex-direction: column;
  width: calc(100% / 4);
}

.top-about__info-item:not(:first-child) {
  border-left: solid 1px #ddd;
}

.top-about__info-title {
  display: flex;
  flex: 1;
  flex-direction: column;
  font-size: 1.125rem;
  font-weight: 700;
  justify-content: center;
  margin-bottom: 0.5625rem;
}

.top-about__info-title--has-small {
  margin-bottom: 0;
}

.top-about__info-title--small {
  font-size: 0.875rem;
  font-weight: 400;
}

.top-about__info-text {
  font-family: var(--familyRobotoCondensed);
  font-size: 3.5rem;
  font-weight: 700;
  line-height: 1.1;
}

.top-about__info-text--small {
  font-family: var(--familyNotoSans);
  font-size: 0.875rem;
  margin-left: 0.25rem;
}

.top-about__notes {
  font-size: .875rem;
  text-align: right;
  margin-top: 1rem;
  color: #44444D;
}

@media screen and (max-width: 900px) {
  .top-about {
    margin-top: var(--size96);
  }

  .container-rightfree {
    margin: 25.64vw var(--size24) 0;
    padding: 0;
  }

  .top-about__2columns {
    display: block;
  }

  .top-about__left {
    margin-block: 0;
  }

  .top-about__menu {
    column-gap: var(--size16);
    flex-direction: row;
    flex-wrap: wrap;
    margin-top: var(--size32);
    row-gap: var(--size8);
  }

  .top-about__menu-item {
    font-size: var(--size14);
    width: calc((100% - var(--size16)) / 2);
  }

  .top-about__menu-link {
    border-bottom: 1px solid #ddd;
    justify-content: space-between;
    min-height: calc(3em + 8px);
    padding-bottom: var(--size8);
    padding-right: unset;
    width: auto;
  }

  .top-about__menu-link .is-iconLink {
    height: var(--size24);
    position: relative;
    top: unset;
    transform: scale(1);
    width: var(--size24);
  }

  .top-about__menu-link .normal-arrow {
    width: var(--size10);
  }

  .top-about__right {
    margin-block: var(--size55) 0;
    transform: unset;
  }

  .top-about__detail-img {
    max-width: unset;
    transform: translateX(-8%);
    width: 136%;
  }

  .speech-bubble img {
    max-width: unset;
    transform: translateX(-8%);
    width: 136%;
  }

  .dec-ball1 {
    left: -4%;
    top: 44%;
    width: 1.91vw;
  }

  .dec-ball2 {
    left: 21%;
    top: 34%;
    width: 3.83vw;
  }

  .dec-ball3 {
    left: 11.5%;
    top: 16%;
    width: 3.85vw;
  }

  .dec-ball4 {
    left: 62.5%;
    top: 10.5%;
    width: 2.87vw;
  }

  .dec-ball5 {
    left: 60%;
    top: 45%;
    width: 4.96vw;
  }

  .dec-ball6 {
    left: 92%;
    top: 28%;
    width: 3.97vw;
  }

  .dec-ball7 {
    left: 96%;
    top: 16%;
    width: 1.92vw;
  }

  .dec-ball8 {
    left: 96%;
    top: 53.5%;
    width: 5.74vw;
  }

  .top-about .container {
    margin-top: -8%;
    padding-inline: var(--size16);
  }

  .top-about__info-list {
    flex-wrap: wrap;
    padding: var(--size24) var(--size32);
  }

  .top-about__info-item {
    padding-block: var(--size21);
    width: calc(100% / 2);
  }

  .top-about__info-item:not(:first-child) {
    border-left: unset;
  }

  .top-about__info-item:nth-child(2n - 1) {
    padding-right: var(--size16);
  }

  .top-about__info-item:nth-child(2n) {
    border-left: 1px solid #ddd;
    padding-left: var(--size16);
  }

  .top-about__info-item:nth-child(-n + 2) {
    padding-top: 0;
  }

  .top-about__info-item:nth-last-child(-n + 2) {
    padding-bottom: 0;
  }

  .top-about__info-item:nth-child(n + 3) {
    border-top: 1px solid #ddd;
  }

  .top-about__info-title {
    font-size: var(--size13);
  }

  .top-about__info-title--small {
    font-size: var(--size11);
  }

  .top-about__info-text {
    font-size: var(--size40);
  }

  .top-about__info-text--small {
    font-size: var(--size12);
    margin-left: var(--size4);
  }

	.top-about__right--point {
		width: 24%;
	}

	.top-about__right--point--01 {
		left: -1%;
	}

	.top-about__right--point--02 {
		left: 20.5%;
    top: -5%;
	}

	.top-about__right--point--03 {
		left: 50%;
    top: 14%;
	}

	.top-about__right--point--04 {
		right: 6.5%;
    top: -1%;
	}

	.top-about__right--point--05 {
		left: 12%;
	}

	.top-about__right--point--06 {
		left: 31%;
	}

	.top-about__right--point--07 {
		left: 45.5%;
	}

	.top-about__right--point--08 {
		right: 6.8%;
	}

  .top-about__notes {
    font-size: var(--size12);
    margin-top: var(--size16);
  }
}

/* ========================
our business
======================== */
.our-business {
  margin-top: 14.37vw;
  overflow: hidden;
  padding-top: 6.25vw;
  position: relative;
}
.our-business__bg {
  aspect-ratio: 910/663;
  left: 0;
  overflow: hidden;
  position: absolute;
  top: 0;
  width: 71.09375vw;
  z-index: 0;
}

.our-business__bg img {
  translate: -20% 0;
  width: 100%;
}
.our-business .container {
  position: relative;
  z-index: 1;
}

.our-business .secTitle,
.our-business .secDiscription {
  text-align: right;
}

.our-business__introduce {
  background-color: #fff;
  display: flex;
  filter: drop-shadow(8px 8px 24px rgba(0, 0, 0, 0.15));
  margin-top: 3.5rem;
}

.our-business__list {
  column-gap: 1.5rem;
  display: flex;
  flex-wrap: wrap;
  height: fit-content;
  padding: 2.1rem 2.5rem;
  width: 58.33%;
}

.our-business__item {
  border-bottom: 1px solid #ddd;
  width: calc((100% - 1.5rem) / 2);
}

.our-business__item .has-iconLink {
  padding: 0;
}

.our-business__item .is-iconLink {
  height: 1.5rem;
  width: 1.5rem;
}

.our-business__item .normal-arrow {
  width: 0.75rem;
}

.our-business__item-link {
  align-items: center;
  display: flex;
  gap: 0.5rem;
  justify-content: space-between;
  padding-bottom: 1rem;
  text-align: left;
}

.our-business__item:nth-child(n + 3) .our-business__item-link {
  padding-block: 1rem;
}

.our-business__item-head {
  flex: 1;
}

.our-business__title {
  font-weight: 700;
  transition: all 0.3s;
}

.our-business__desc {
  font-size: 0.75rem;
  margin-top: 0.5rem;
}

.our-business__item .has-iconLink {
  padding: 0;
}

.our-business__item .is-iconLink {
  height: 1.5rem;
  width: 1.5rem;
}

.our-business__item .normal-arrow {
  width: 0.75rem;
}

/* hover images */
.our-business__img-area {
  flex: 0 1 41.67%;
}

.our-business__img-bg {
  display: none;
}

.our-business__img-bg img {
  aspect-ratio: 450 / 400;
  object-fit: cover;
  object-position: center;
}

.our-business__img-bg.is-active {
  animation: fadein 0.8s ease-out;
  display: flex;
}

.our-business__img-bg--big {
  font-size: 7.5rem;
  line-height: 1;
}

.our-business__img-outer {
  aspect-ratio: 45 / 40;
  display: none;
  overflow: hidden;
  position: relative;
  transition: all 0.3s;
}

.our-business__img-item img {
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
}

.our-business__bottomLink {
  margin: 2rem 0 0 auto;
}

@media screen and (min-width: 1081px) {
  .our-business__img-outer.is-active {
    animation: fadein 0.8s ease-out;
    display: block;
  }
  .our-business__item.is-active {
    .our-business__title {
      color: var(--colorRed);
    }
    .our-business__desc {
      color: var(--colorBlack);
    }
    /* アイコンの矢印変更を保持 */
    .is-iconLink {
      color: var(--colorRed);
    }
    .is-iconLink::before {
      opacity: 1;
      transform: scale(1.1);
    }
    .normal-arrow {
      animation: arrowMove 0.3s ease forwards;
      background: url(../../images/common/ico-link-arrow-white.svg);
      background-repeat: no-repeat;
      background-size: contain;
      color: var(--colorWhite);
    }
  }
}

@keyframes fadein {
  0% {
    opacity: 0.3;
  }
  100% {
    opacity: 1;
  }
}

.for-tab-sp {
  display: none;
}

@media screen and (max-width: 1080px) {
  .our-business .container:has(.businessSlide__container) {
    padding-inline: 0;
  }
  .our-business .for-pc {
    display: none;
  }
  .for-tab-sp {
    display: block;
  }
  .businessSlide__container {
    margin-top: 3.5rem;
  }
  .businessSlide__container .swiper {
    overflow-x: clip;
    overflow-y: visible;
  }
  .swiper-pagination-bullet-active {
    background-color: var(--colorRed);
  }
  .swiper-horizontal > .swiper-pagination-bullets,
  .swiper-pagination-bullets.swiper-pagination-horizontal,
  .swiper-pagination-custom,
  .swiper-pagination-fraction {
    bottom: calc(var(--size24) * -1 - var(--size8));
  }
  .businessSlide {
    position: relative;
  }
  .businessSlide::before {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 100%);
    bottom: 0;
    content: "";
    height: 52.63158%;
    opacity: 0.35;
    position: absolute;
    width: 100%;
  }
  .businessSlide__link {
    display: block;
  }
  .businessSlide__img {
    width: 100%;
  }
  .businessSlide__head {
    align-items: flex-end;
    bottom: 0;
    display: flex;
    justify-content: space-between;
    left: 0;
    padding: 1rem;
    position: absolute;
    width: 100%;
  }
  .businessSlide__number {
    color: #fff;
    display: inline-block;
    font-family: var(--familyRobotoCondensed);
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1;
  }
  .businessSlide__title {
    color: #fff;
    font-size: 1rem;
    font-weight: 700;
    margin-top: 0.5rem;
  }
  .businessSlide__desc {
    color: #fff;
    font-size: 0.75rem;
    font-weight: 400;
    margin-top: 0.25rem;
  }
  .our-business__bottomLink {
    font-size: var(--size16);
    margin: clamp(72px * var(--sp-scale-min), calc(72 * 100vw / 390), 72px * var(--sp-scale-max)) 0 0 auto;
  }
}

@media screen and (max-width: 767px) {
  .our-business {
    margin-top: var(--size96);
    padding-top: var(--size64);
  }

  .our-business .secTitle {
    text-align: center;
  }
  .our-business .secDiscription {
    text-align: left;
  }
  .businessSlide__container {
    margin-top: 12.3077vw;
  }

  .our-business__bg {
    aspect-ratio: 3/4;
    left: 0;
    overflow: hidden;
    position: absolute;
    top: clamp(-64px * var(--sp-scale-min), calc(-64 * 100vw / 390), -64px * var(--sp-scale-max));
    width: 100vw;
    z-index: 0;
  }

  .our-business__bg::after {
    background: linear-gradient(to top, var(--colorWhite) 0, var(--colorWhite) 50%, transparent);
    bottom: -5%;
    content: "";
    height: 30%;
    position: absolute;
    width: 100%;
  }

  .our-business__bg img {
    max-width: unset;
    position: absolute;
    translate: -40% -10%;
    width: 300%;
  }
}

/* ========================
column
======================== */
.column {
  margin-top: 11.88vw;
}
.column__content {
  display: grid;
  gap: 4rem;
  grid-template-columns: 48.13% auto;
  margin-top: 3.5rem;
}

.column__topics {
  position: relative;
}

.topics__tag {
  background: var(--colorBlue);
  color: var(--colorWhite);
  font-family: var(--familyRoboto);
  font-size: 0.875rem;
  left: 0;
  padding: 0.24rem 0.5rem;
  position: absolute;
  top: 0;
  width: fit-content;
}

.column__link {
  display: grid;
  gap: 1rem;
  grid-template-columns: 38.93% auto;
  margin-bottom: 2rem;
}

.topics__img {
  overflow: hidden;
}

.topics__img img {
  transition: all 0.3s;
  width: 100%;
}

.column__dateWrap {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
}

.column__topics .column__dateWrap {
  margin-top: 1rem;
}

.column__img {
  overflow: hidden;
}

.column__img img {
  transition: all 0.3s;
}

.column__date {
  color: var(--colorGray);
  font-family: var(--familyRoboto);
}

.column__tag {
  background: var(--colorBg);
  font-size: 0.875rem;
  padding: 0.5rem;
  width: fit-content;
}

.column__title {
  -webkit-box-orient: vertical;
  display: -webkit-box;
  font-weight: 700;
  -webkit-line-clamp: 2;
  margin-top: 0.5rem;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: color 0.3s;
}

.column__topics .column__title {
  font-size: 1.125rem;
}

.column__company {
  color: var(--colorGray);
  font-size: 0.875rem;
  margin-top: 1rem;
}

@media (hover: hover) {
  .column__topics-link:hover .topics__img img {
    transform: scale(1.1);
  }

  .column__topics-link:hover .column__title {
    color: var(--colorRed);
  }

  .column__link:hover .column__img img {
    transform: scale(1.1);
  }

  .column__link:hover .column__title {
    color: var(--colorRed);
  }
}

@media screen and (max-width: 1200px) {
  .column__content {
    gap: 3.3rem;
  }
}

@media screen and (max-width: 768px) {
  .column {
    margin-top: clamp(100px * var(--sp-scale-min), calc(100 * 100vw / 390), 100px * var(--sp-scale-max));
  }

  .column__content {
    gap: var(--size40);
    grid-template-columns: 1fr;
    margin-top: var(--size40);
  }

  .topics__tag {
    font-size: var(--size14);
  }

  .column__dateWrap {
    gap: var(--size8);
  }

  .column__date {
    font-size: var(--size14);
  }

  .column__tag {
    font-size: var(--size14);
  }

  .column__title {
    font-size: var(--size14);
    margin-top: var(--size8);
  }

  .column__company {
    font-size: var(--size12);
    margin-top: var(--size8);
  }

  .column__topics .column__company {
    font-size: var(--size14);
    margin-top: var(--size16);
  }

  .column__topics .column__date {
    font-size: var(--size16);
  }

  .column__topics .column__title {
    font-size: var(--size18);
    margin-top: clamp(9.5px * var(--sp-scale-min), calc(9.5 * 100vw / 390), 9.5px * var(--sp-scale-max));
  }

  .column__item {
    gap: clamp(15.7px * var(--sp-scale-min), calc(15.7 * 100vw / 390), 15.7px * var(--sp-scale-max));
  }

  .column__item {
    margin-bottom: var(--size24);
  }

  .column__item:last-child {
    margin-bottom: var(--size8);
  }
}
