.sec-information .box {
  position: relative;
  margin: 0 auto;
  background: var(--color-white);
  width: min(900px, calc(900 / 1400 * 100vw));
}

.sec-information .box::before,
.sec-information .box::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  background-repeat: no-repeat;
  background-size: 100% auto;
  aspect-ratio: 1800/180;
  background-image: url(../img/guide/bg_information@pc.webp);
}

.sec-information .box::before {
  top: 0;
}

.sec-information .box::after {
  bottom: 0;
  transform: scale(1, -1);
}

.sec-information .inner {
  position: relative;
  z-index: 1;
  margin: 0 auto;
  padding: min(40px, calc(40 / 1400 * 100vw)) 0 min(55px, calc(55 / 1400 * 100vw)) 0;
  width: min(800px, calc(800 / 1400 * 100vw));
}

.sec-information h2 {
  text-align: center;
  margin-bottom: min(20px, calc(20 / 1400 * 100vw));
  font-size: 30px;
}

.sec-information .texts:not(:last-child) {
  margin-bottom: min(50px, calc(50 / 1400 * 100vw));
}

.sec-information .text {
  line-height: 1.77;
  font-size: 18px;
}

.sec-visit .texts {
  margin: 0 auto;
  width: min(800px, calc(800 / 1400 * 100vw));
}

.sec-visit .text {
  line-height: 1.77;
  margin-bottom: min(20px, calc(20 / 1400 * 100vw));
  font-size: 18px;
}

.sec-visit .link {
  text-align: center;
}

.sec-visit .link a {
  color: var(--color-purple-text);
  font-weight: 700;
  text-decoration-thickness: 2px;
  font-size: 24px;
}

.sec-requirements > .texts {
  margin: 0 auto;
  width: min(800px, calc(800 / 1400 * 100vw));
}

.sec-requirements > .texts:not(:last-child) {
  margin-bottom: min(50px, calc(50 / 1400 * 100vw));
}

.sec-requirements > .texts .text {
  line-height: 1.77;
  font-size: 18px;
}

.sec-requirements > .texts .caution {
  line-height: 1.5;
  margin-top: 0.3em;
  font-size: 14px;
}

.sec-requirements .tabs {
  margin: 0 auto min(50px, calc(50 / 1400 * 100vw)) auto;
  width: min(900px, calc(900 / 1400 * 100vw));
}

.sec-requirements .tab-buttons {
  display: flex;
}

.sec-requirements .tab-buttons button {
  transition: opacity 0.3s;
  opacity: 0.5;
  text-align: center;
  border-radius: min(30px, calc(30 / 1400 * 100vw)) min(30px, calc(30 / 1400 * 100vw)) 0 0;
  padding: min(28px, calc(28 / 1400 * 100vw)) 0;
}

.sec-requirements .tab-buttons button.is-active {
  opacity: 1;
}

.sec-requirements .tab-buttons button[data-tab=tab1] {
  background: #efbfd5;
  display: flex;
  flex-direction: column;
  width: min(300px, calc(300 / 1400 * 100vw));
}

.sec-requirements .tab-buttons button[data-tab=tab2] {
  background: #afd3e7;
  display: flex;
  flex-wrap: wrap;
  width: min(600px, calc(600 / 1400 * 100vw));
}

.sec-requirements .tab-buttons button[data-tab=tab2] .item {
  display: flex;
  flex-direction: column;
  width: min(300px, calc(300 / 1400 * 100vw));
}

.sec-requirements .tab-buttons button[data-tab=tab2] .caution {
  background: var(--color-white);
  margin: 0 auto;
  width: max-content;
  border-radius: min(10px, calc(10 / 1400 * 100vw));
  padding: min(2px, calc(2 / 1400 * 100vw)) min(40px, calc(40 / 1400 * 100vw));
  margin-top: min(15px, calc(15 / 1400 * 100vw));
  font-size: 18px;
}

.sec-requirements .tab-buttons button .title {
  font-weight: 700;
  font-size: 30px;
}

.sec-requirements .tab-buttons button .text {
  line-height: 1.77;
  font-weight: 700;
  font-size: 18px;
}

.sec-requirements .tab-content {
  display: none;
  flex-direction: column;
  background: var(--color-white);
  gap: min(40px, calc(40 / 1400 * 100vw));
  border-radius: 0 0 min(30px, calc(30 / 1400 * 100vw)) min(30px, calc(30 / 1400 * 100vw));
  padding: min(50px, calc(50 / 1400 * 100vw)) min(50px, calc(50 / 1400 * 100vw)) min(70px, calc(70 / 1400 * 100vw)) min(50px, calc(50 / 1400 * 100vw));
}

.sec-requirements .tab-content.is-active {
  display: flex;
}

.sec-requirements .tab-content .item {
  display: flex;
  gap: min(40px, calc(40 / 1400 * 100vw));
}

.sec-requirements .tab-content .step {
  line-height: 1;
  text-align: center;
  display: flex;
  flex-direction: column;
}

.sec-requirements .tab-content .step .unit {
  font-weight: 700;
  font-size: 17.5px;
}

.sec-requirements .tab-content .step .no {
  font-weight: 700;
  font-size: 55.5px;
}

.sec-requirements .tab-content .detail {
  flex: 1;
}

.sec-requirements .tab-content .detail .title {
  line-height: 1.77;
  font-weight: 700;
  font-size: 24px;
}

.sec-requirements .tab-content .detail .text {
  line-height: 1.77;
  font-size: 18px;
}

.sec-requirements .tab-content .detail .caution {
  line-height: 1.5;
  margin-top: 0.3em;
  font-size: 14px;
}

.sec-requirements .tab-content .detail .cmn-text-link {
  font-weight: 700;
}

.sec-requirements .tab-content#tab1 {
  border: 2px solid #efbfd5;
}

.sec-requirements .tab-content#tab1 .step,
.sec-requirements .tab-content#tab1 .detail .title {
  color: var(--color-pink-text);
}

.sec-requirements .tab-content#tab2 {
  border: 2px solid #afd3e7;
}

.sec-requirements .tab-content#tab2 .step,
.sec-requirements .tab-content#tab2 .detail .title {
  color: var(--color-blue-text);
}

@media print and (hover: hover), screen and (min-width: 769px) and (hover: hover) {
  .sec-requirements .tab-buttons button:hover {
    opacity: 1;
  }
}

@media screen and (min-width: 769px) and (-ms-high-contrast: active), screen and (min-width: 769px) and (-ms-high-contrast: none) {
  .sec-requirements .tab-buttons button:hover {
    opacity: 1;
  }
}

@media only screen and (max-width: 768.8px) {
  .sec-information .box {
    width: 89.3333333333vw;
  }

  .sec-information .box::before,
  .sec-information .box::after {
    aspect-ratio: 670/70;
    background-image: url(../img/guide/bg_information@sp.webp);
  }

  .sec-information .inner {
    padding: 6.6666666667vw 0 18.6666666667vw 0;
    width: 78.6666666667vw;
  }

  .sec-information h2 {
    font-size: 2.5rem;
  }

  .sec-information h2 {
    margin-bottom: 5.3333333333vw;
  }

  .sec-information .texts:not(:last-child) {
    margin-bottom: 10.6666666667vw;
  }

  .sec-information .text {
    font-size: 1.8rem;
  }

  .sec-visit .texts {
    width: 89.3333333333vw;
  }

  .sec-visit .text {
    font-size: 1.8rem;
  }

  .sec-visit .text {
    margin-bottom: 5.3333333333vw;
  }

  .sec-visit .link a {
    font-size: 2.4rem;
  }

  .sec-requirements > .texts {
    width: 89.3333333333vw;
  }

  .sec-requirements > .texts:not(:last-child) {
    margin-bottom: 8vw;
  }

  .sec-requirements > .texts .text {
    font-size: 1.8rem;
  }

  .sec-requirements > .texts .caution {
    font-size: 1.4rem;
  }

  .sec-requirements .tabs {
    width: 89.3333333333vw;
    margin-bottom: 8vw;
  }

  .sec-requirements .tab-buttons button {
    border-radius: 2.6666666667vw 2.6666666667vw 0 0;
    padding: 6.9333333333vw 0 4.2666666667vw 0;
  }

  .sec-requirements .tab-buttons button[data-tab=tab1] {
    gap: 9.3333333333vw;
    width: 29.7776vw;
  }

  .sec-requirements .tab-buttons button[data-tab=tab2] {
    width: 59.5552vw;
  }

  .sec-requirements .tab-buttons button[data-tab=tab2] .item {
    width: 29.7776vw;
  }

  .sec-requirements .tab-buttons button[data-tab=tab2] .caution {
    font-size: 1.4rem;
  }

  .sec-requirements .tab-buttons button[data-tab=tab2] .caution {
    border-radius: 2.6666666667vw;
    padding: 0.5333333333vw 1.3333333333vw;
    margin-top: 2.6666666667vw;
  }

  .sec-requirements .tab-buttons button .title {
    font-size: 2.5rem;
  }

  .sec-requirements .tab-buttons button .text {
    font-size: 1.6rem;
  }

  .sec-requirements .tab-buttons button .text {
    line-height: 1.5;
  }

  .sec-requirements .tab-content {
    gap: 10.6666666667vw;
    border-radius: 0 0 2.6666666667vw 2.6666666667vw;
    padding: 13.3333333333vw 5.3333333333vw;
  }

  .sec-requirements .tab-content .item {
    gap: 5.3333333333vw;
  }

  .sec-requirements .tab-content .step .unit {
    font-size: 1.35rem;
  }

  .sec-requirements .tab-content .step .no {
    font-size: 4.2rem;
  }

  .sec-requirements .tab-content .detail .title {
    font-size: 2.4rem;
  }

  .sec-requirements .tab-content .detail .text {
    font-size: 1.8rem;
  }

  .sec-requirements .tab-content .detail .caution {
    font-size: 1.4rem;
  }
}

@media screen and (min-width: 769px) and (max-width: 1399.8px) {
  .sec-information h2 {
    font-size: 3rem;
  }

  .sec-information .text {
    font-size: 1.8rem;
  }

  .sec-visit .text {
    font-size: 1.8rem;
  }

  .sec-visit .link a {
    font-size: 2.4rem;
  }

  .sec-requirements > .texts .text {
    font-size: 1.8rem;
  }

  .sec-requirements > .texts .caution {
    font-size: 1.4rem;
  }

  .sec-requirements .tab-buttons button[data-tab=tab2] .caution {
    font-size: 1.8rem;
  }

  .sec-requirements .tab-buttons button .title {
    font-size: 3rem;
  }

  .sec-requirements .tab-buttons button .text {
    font-size: 1.8rem;
  }

  .sec-requirements .tab-content .step .unit {
    font-size: 1.75rem;
  }

  .sec-requirements .tab-content .step .no {
    font-size: 5.55rem;
  }

  .sec-requirements .tab-content .detail .title {
    font-size: 2.4rem;
  }

  .sec-requirements .tab-content .detail .text {
    font-size: 1.8rem;
  }

  .sec-requirements .tab-content .detail .caution {
    font-size: 1.4rem;
  }
}