@charset "UTF-8";

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

.caution {
  display: block;
  line-height: 1.5;
  font-size: 14px;
}

.anchor {
  display: flex;
  justify-content: center;
  gap: min(50px, calc(50 / 1400 * 100vw));
  font-size: 21px;
}

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

.anchor a {
  position: relative;
  transition: all 0.3s;
  display: flex;
  align-items: center;
  font-weight: 700;
  transition: all 0.3s;
  gap: min(12px, calc(12 / 1400 * 100vw));
}

.anchor a::before {
  transition: all 0.3s;
  content: "＞";
  position: relative;
  z-index: 1;
  font-weight: 400;
  transform: scaleX(1.2) translateY(0.05em) rotate(90deg);
  font-size: 90%;
  color: var(--color-white);
}

.anchor a::after {
  transition: all 0.3s;
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 50%;
  background: var(--color-beige-text);
  aspect-ratio: 1;
  width: min(28px, calc(28 / 1400 * 100vw));
  left: max(-3px, calc(-3 / 1400 * 100vw));
}

.item-wrap {
  display: flex;
  flex-direction: column;
  margin: 0 auto;
  width: min(780px, calc(780 / 1400 * 100vw));
  gap: min(50px, calc(50 / 1400 * 100vw));
}

.item-wrap .item-inner {
  display: flex;
  flex-direction: column;
  gap: 1.77em;
}

.sec-hiroba h2 {
  margin: 0 auto min(50px, calc(50 / 1400 * 100vw)) auto;
  width: min(432px, calc(432 / 1400 * 100vw));
}

.sec-hiroba .lead {
  position: relative;
  margin: 0 auto min(70px, calc(70 / 1400 * 100vw)) auto;
  text-align: center;
  width: min(500px, calc(500 / 1400 * 100vw));
}

.sec-hiroba .lead .cmn-h3 {
  text-align: center;
}

.sec-hiroba .ill {
  pointer-events: none;
  position: absolute;
  bottom: 0;
  left: 52%;
  transform: translateX(-50%);
  width: min(778px, calc(778 / 1400 * 100vw));
}

.sec-hiroba .ill-l,
.sec-hiroba .ill-r {
  position: absolute;
}

.sec-hiroba .ill-l {
  width: min(127px, calc(127 / 1400 * 100vw));
  bottom: 0;
  left: 0;
}

.sec-hiroba .ill-r {
  width: min(152px, calc(152 / 1400 * 100vw));
  bottom: 0;
  right: 0;
}

.sec-hiroba .text {
  display: flex;
  flex-direction: column;
  gap: 1em;
}

.button-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: min(30px, calc(30 / 1400 * 100vw));
}

.button-wrap.pos-center {
  justify-content: center;
}

.button-wrap .button {
  display: flex;
  flex-direction: column;
  width: min(240px, calc(240 / 1400 * 100vw));
  gap: min(12px, calc(12 / 1400 * 100vw));
}

.button-wrap .button a {
  text-align: center;
  font-weight: 700;
  border: 1px solid var(--color-beige-text);
  transition: all 0.3s;
  background: var(--color-beige-text);
  color: var(--color-white);
  border-radius: min(10px, calc(10 / 1400 * 100vw));
  padding: min(3px, calc(3 / 1400 * 100vw)) 0;
  font-size: 21px;
}

.button-wrap .button a.font-s {
  padding: min(9px, calc(9 / 1400 * 100vw)) 0;
  font-size: 13px;
}

.sec-download .detail {
  display: flex;
  align-items: center;
  margin-bottom: min(25px, calc(25 / 1400 * 100vw));
  gap: 0.5em;
}

.sec-download .detail .cmn-text-link {
  font-weight: 700;
  color: var(--color-beige-text);
  font-size: 18px;
}

@media print and (hover: hover), screen and (min-width: 769px) and (hover: hover) {
  .anchor a:hover {
    color: #7f7f7f;
  }

  .anchor a:hover::before {
    color: var(--color-beige-text);
  }

  .anchor a:hover::after {
    background: var(--color-beige-bg-light);
  }

  .button-wrap .button a:hover {
    background: var(--color-white);
    color: var(--color-beige-text);
  }
}

@media screen and (min-width: 769px) and (-ms-high-contrast: active), screen and (min-width: 769px) and (-ms-high-contrast: none) {
  .anchor a:hover {
    color: #7f7f7f;
  }

  .anchor a:hover::before {
    color: var(--color-beige-text);
  }

  .anchor a:hover::after {
    background: var(--color-beige-bg-light);
  }

  .button-wrap .button a:hover {
    background: var(--color-white);
    color: var(--color-beige-text);
  }
}

@media only screen and (max-width: 768.8px) {
  .text {
    font-size: 1.8rem;
  }

  .caution {
    font-size: 1.4rem;
  }

  .anchor {
    font-size: 1.8rem;
  }

  .anchor {
    flex-direction: column;
    align-items: center;
    gap: 2.6666666667vw;
  }

  .anchor:not(:last-child) {
    margin-bottom: 6.6666666667vw;
  }

  .anchor a {
    gap: 3.2vw;
  }

  .anchor a::after {
    width: 6.72vw;
    left: -0.8vw;
  }

  .item-wrap {
    width: 89.3333333333vw;
    gap: 16vw;
  }

  .sec-hiroba h2 {
    width: 76vw;
    margin-bottom: 5.3333333333vw;
  }

  .sec-hiroba .lead {
    display: flex;
    flex-direction: column;
    text-align: left;
    margin-bottom: 16vw;
    width: 89.3333333333vw;
  }

  .sec-hiroba .lead .cmn-h3 {
    order: 2;
  }

  .sec-hiroba .lead .text {
    order: 3;
    text-align: center;
    letter-spacing: 0;
    margin-left: -2.6666666667vw;
    margin-right: -2.6666666667vw;
  }

  .sec-hiroba .ill {
    display: flex;
    justify-content: center;
    gap: 2.6666666667vw;
    position: static;
    transform: translateX(0);
    width: 89.3333333333vw;
    margin-bottom: 8vw;
  }

  .sec-hiroba .ill-l,
  .sec-hiroba .ill-r {
    display: flex;
    position: static;
  }

  .sec-hiroba .ill-l {
    width: 21.44vw;
  }

  .sec-hiroba .ill-r {
    width: 25.7866666667vw;
  }

  .button-wrap {
    flex-direction: column;
    gap: 10.6666666667vw;
  }

  .button-wrap .button {
    width: auto;
    gap: 4vw;
  }

  .button-wrap .button a {
    font-size: 2.1rem;
  }

  .button-wrap .button a {
    margin: 0 auto;
    width: 64vw;
    border-radius: 2.6666666667vw;
    padding: 0.8vw 0;
  }

  .button-wrap .button a.font-s {
    font-size: 1.3rem;
  }

  .button-wrap .button a.font-s {
    padding: 2.4vw 0;
  }

  .sec-download .detail {
    margin-bottom: 5.3333333333vw;
  }

  .sec-download .detail .cmn-text-link {
    font-size: 1.8rem;
  }
}

@media screen and (min-width: 769px) and (max-width: 1399.8px) {
  .text {
    font-size: 1.8rem;
  }

  .caution {
    font-size: 1.4rem;
  }

  .anchor {
    font-size: 2.1rem;
  }

  .button-wrap .button a {
    font-size: 2.1rem;
  }

  .button-wrap .button a.font-s {
    font-size: 1.3rem;
  }

  .sec-download .detail .cmn-text-link {
    font-size: 1.8rem;
  }
}