/* visa.css - Visa page template styles */

/* RSOセクション専用CSS */
/* --------------------------------
   Hero
--------------------------------- */
.rso-visa-page .hero {
  height: 600px;
}

.rso-visa-page .hero__content {
  flex: 0 0 calc((100% - var(--space-lg)) * 0.5);
}

.rso-visa-page .hero__image {
  flex: 0 0 calc((100% - var(--space-lg)) * 0.5);
}


.rso-visa-page .hero__title {
  font-size: var(--fz-4xl);
}

/* --------------------------------
   problem
--------------------------------- */
.rso-visa-problem {
  padding: var(--space-xl) 0 var(--space-xxl) 0;
}

.rso-visa-problem .heading {
  margin-bottom: var(--space-lg);
}


/* --------------------------------
   Solution
--------------------------------- */
.rso-visa-solution {
  padding: 0 0 var(--space-xxl) 0;
}

.rso-visa-solution .heading {
  margin-bottom: var(--space-lg);
}


/* --------------------------------
   case-study
--------------------------------- */
.rso-visa-case-study {
  background: var(--color-bg-alt);
  padding: var(--space-xxl) 0;
}


/* --------------------------------
   rso-visa-feature
--------------------------------- */
.rso-visa-feature {
  padding: var(--space-xxl) 0;
}

.rso-visa-feature .feature__item {
  padding: var(--space-lg);
  gap: var(--space-lg);
}


.rso-visa-feature .feature__item:nth-of-type(2) {
  flex-direction: row-reverse;
}

.rso-visa-feature .feature__text {
  flex: 1 1 50%;
  padding: 0;
}



.rso-visa-feature .feature__image {
  flex: 1 1 50%;
}

.rso-visa-feature .feature__image img {
  height: auto;
}

/* --------------------------------
   rso-visa-product
--------------------------------- */
.rso-visa-product {
  padding: var(--space-xxl) 0;
  background-color: var(--color-bg-alt);
}

.rso-visa-product__inner {
  display: flex;
  align-items: center;
  gap: var(--space-xl);
  margin-top: 6rem;
}

.rso-visa-product__image {
  flex: 0 0 calc((100% - var(--space-xl)) * 0.55);
}

.rso-visa-product__text {
  flex: 0 0 calc((100% - var(--space-xl)) * 0.45);
}

.rso-visa-product__text h3 {
  font-size: var(--fz-xl);
  margin: 0 0 2rem;
}

.rso-visa-product__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  padding: 0;
  margin: 3rem 0 0;
}

.rso-visa-product__list li {
  flex: 0 0 calc((100% - var(--space-sm) * 2) / 3);
  list-style: none;
  display: flex;
  align-items: center;
  background: #fff;
  box-shadow: var(--shadow-sm);
  border-radius: var(--radius-sm);
  flex-wrap: wrap;
  gap: var(--space-sm);
  padding: var(--space-sm);
  font-weight: 500;
}

.rso-visa-product__list li img {
  max-width: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.rso-visa-product__list li span {
  flex: 0 0 auto;
  font-size: var(--fz-sm);
  font-weight: 600;
  color: var(--color-text);
}

/* --------------------------------
   faq
--------------------------------- */
.rso-visa-faq {
  padding: 0 0 var(--space-xxl) 0;
  background: var(--color-bg-alt);
}

/* ================================
   Smartphone（~767px）
================================ */
@media (max-width: 767px) {

  .rso-visa-page .hero__title span {
    font-size: var(--fz-md);
  }

  .rso-visa-product__inner {
    flex-direction: column;
    margin: 0;
    gap: 2rem;
  }

  .rso-visa-product__list li {
    flex: 1 1 calc(50% - var(--space-sm));
  }

  .rso-visa-feature .feature__item:nth-of-type(2) {
    flex-direction: column;
  }

}