/*---------------------------
info style
----------------------------- */

/* info section */
.info {
  margin-top: min(5vw, 50px);
}

.info__content {
  display: flex;
  flex-direction: column;
}

.info__content--1 {
  margin-top: min(6vw, 60px);
  gap: min(3vw, 30px);
}

.info__content-list {
  counter-reset: info-step;
  display: flex;
  flex-direction: column;
  gap: min(8vw, 80px);
}

.info__content-item {
  counter-increment: info-step;
  position: relative;
  display: flex;
  gap: min(2vw, 20px);
  background: #56b0e5;
  align-items: stretch;
  width: 100%;
}

.info__content-item::before {
  content: counter(info-step, decimal-leading-zero);
  position: absolute;
  top: min(-2.8vw, -28px);
  left: min(-2.8vw, -28px);
  width: min(11.2vw, 112px);
  height: min(11.2vw, 112px);
  border-radius: 50%;
  border: 2px solid #56b0e5;
  background-color: #fff;
  color: #56b0e5;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 500;
  font-size: clamp(1.25rem, 1.714vw, 1.5rem);
  z-index: 1;
}

.info__content-item::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: max(-5vw, -50px);
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: min(1.2vw, 12px) solid transparent;
  border-right: min(1.2vw, 12px) solid transparent;
  border-top: min(1.8vw, 18px) solid #56b0e5;
}

.info__content-item:last-child::after {
  content: none;
}
.info__content-img {
  width: 38%;
  flex-shrink: 0;
  align-self: stretch;
  min-height: 0;
  overflow: hidden;
  object-fit: cover;
}

.info__content-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.info__content-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: min(2vw, 20px);
  color: #fff;
  flex: 1;
}

.info__content-item-title {
  font-size: clamp(1.1rem, 1.857vw, 1.625rem);
}
.info__content-item-exp {
  font-size: clamp(0.7rem, 1.142vw, 1rem);
  line-height: 1.75;
}

.info__wrap:has(.info__content--2) {
  background-color: #ffd000;
  width: 100%;
  margin-top: min(6vw, 70px);
}

.info__content--2 {
  padding: min(4vw, 50px) 0;
}

.info__content-disc {
  font-size: clamp(0.7rem, 1.142vw, 1rem);
  line-height: 1.75;
  text-align: center;
  background-color: #fff;
  padding: min(4vw, 50px) 0;
  margin-top: min(3vw, 30px);
  border-radius: 20px;
}

/*--------------------------------
	TB用
----------------------------------- */
@media all and (max-width: 768px) {
}

/*--------------------------------
	SP用
----------------------------------- */
@media all and (max-width: 530px) {
  .info {
    margin-top: min(5.81vw, 25px);
  }
  .info__content--1 {
    margin-top: min(5.81vw, 25px);
  }
  .info__content-list {
    justify-content: center;
    align-items: center;
    gap: min(13.95vw, 60px);
  }
  .info__content-item {
    flex-direction: column-reverse;
    gap: min(5.81vw, 25px);
    width: min(90%, 340px);
    height: min(100vw, 430px);
    padding: 0;
    border-radius: 20px;
  }
  .info__content-item::before {
    top: min(-4.65vw, -20px);
    left: min(-4.65vw, -20px);
    width: min(20.47vw, 88px);
    height: min(20.47vw, 88px);
    font-size: min(6.98vw, 1.88rem);
  }
  .info__content-item::after {
    bottom: max(-6.98vw, -35px);
    border-left: min(2.33vw, 12px) solid transparent;
    border-right: min(2.33vw, 12px) solid transparent;
    border-top: min(3.49vw, 18px) solid #56b0e5;
  }
  .info__content-img {
    width: 100%;
    height: auto;
    border-radius: 20px 20px 0 0;
  }
  .info__content-text {
    gap: min(3.49vw, 15px);
    justify-content: flex-start;
  }
  .info__content-item-title {
    font-size: min(6.28vw, 1.69rem);
  }
  .info__content-item-exp {
    font-size: min(3.95vw, 1.06rem);
  }
  .info__wrap:has(.info__content--2) {
    margin-top: min(11.63vw, 55px);
  }
  .info__content--2 {
    padding: min(11.63vw, 50px) 0;
  }
  .info__content-disc {
    font-size: min(3.72vw, 1rem);
    padding: min(6.98vw, 30px) min(3.49vw, 15px);
    margin: min(6.98vw, 30px) auto 0;
    text-align: left;
    width: min(90%, 340px);
  }
}
