:root {
  --scale: min(calc(16 / 390 * 100vw), calc(529 * 16px / 390));
}

.noto-serif-jp, main {
  font-family: "Noto Serif JP", serif !important;
  font-optical-sizing: auto;
  font-style: normal;
}

.baskervville-bold, .kv .txt-3 > :nth-child(2) time, .kv .txt-3 > :nth-child(2) span.connect {
  font-family: "Baskerville Bold";
}

main {
  background: url("/meito40thcp/assets/images/bg-page.png") repeat top left/50px 50px;
  position: relative;
  font-size: min(4.1025641026vw, 21.7025641026px);
  font-feature-settings: normal;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
main * {
  pointer-events: none;
}
main.is-show {
  opacity: 1;
  visibility: visible;
}
main.is-show * {
  pointer-events: auto;
}
main .pc {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media (min-width: 1280px) {
  main .pc .bg-pc {
    display: block;
    position: sticky;
    z-index: 0;
    top: 0;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    margin-top: -1px;
    background: url("/meito40thcp/assets/images/bg-page-pc.jpg") no-repeat top center/cover;
  }
}
main .pc2 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding-inline: 7.7083333333vw 6.7708333333vw;
}
@media (hover: hover) and (pointer: fine) {
  main a, main button {
    transition: ease opacity 0.3s;
  }
  main a:hover,
  main button:not(:disabled):hover {
    opacity: 0.7;
  }
  main a:hover *,
  main button:not(:disabled):hover * {
    opacity: 1;
  }
}
main .js-effect-pc,
main .js-effect-stagger,
main .fade-in-up,
main .fade-in {
  opacity: 0;
}

.bg-group {
  position: absolute;
  z-index: 0;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  width: min(100vw, 529px);
}
.bg-group .bg-step,
.bg-group .bg-info {
  position: relative;
}
.bg-group .bg-step {
  margin-top: max(-7.6923076923vw, -40.6923076923px);
  width: 100%;
  height: auto;
  aspect-ratio: 390/871;
  background: url("/meito40thcp/assets/images/bg-step.png") repeat-y top center/100% auto;
}
.bg-group .bg-step::before, .bg-group .bg-step::after {
  content: "";
  position: absolute;
  z-index: 0;
  left: 0;
  width: 100%;
  height: min(17.4358974359vw, 92.2358974359px);
}
.bg-group .bg-step::before {
  top: max(-16.9230769231vw, -89.5230769231px);
  background: url("/meito40thcp/assets/images/bg-step-wave-top.png") no-repeat left bottom/100% auto;
}
.bg-group .bg-step::after {
  bottom: max(-16.9230769231vw, -89.5230769231px);
  background: url("/meito40thcp/assets/images/bg-step-wave-bottom.png") no-repeat left top/100% auto;
}
.bg-group .bg-step .cloud-1-1 {
  position: absolute;
  z-index: 1;
  top: max(-10.2564102564vw, -54.2564102564px);
  left: 0;
  width: 100%;
  aspect-ratio: 1;
  background: url("/meito40thcp/assets/images/s-step-cloud-1-1.png") no-repeat top center/100% auto;
}
.bg-group .bg-step .cloud-1-2 {
  position: absolute;
  z-index: 1;
  top: min(33.8461538462vw, 179.0461538462px);
  left: 0;
  width: 100%;
  aspect-ratio: 1;
  background: url("/meito40thcp/assets/images/s-step-cloud-1-2.png") no-repeat top center/100% auto;
}
.bg-group .bg-step .cloud-2 {
  position: absolute;
  z-index: 1;
  top: max(-10.2564102564vw, -54.2564102564px);
  left: 0;
  width: 100%;
  aspect-ratio: 390/1010;
  background: url("/meito40thcp/assets/images/s-step-cloud-2.png") no-repeat top center/100% auto;
}
.bg-group .bg-step .cloud-3-1 {
  position: absolute;
  z-index: 1;
  top: max(-10.2564102564vw, -54.2564102564px);
  left: 0;
  width: 100%;
  aspect-ratio: 390/1010;
  background: url("/meito40thcp/assets/images/s-step-cloud-3-1.png") no-repeat top center/100% auto;
}
.bg-group .bg-step .cloud-3-2 {
  position: absolute;
  z-index: 1;
  top: max(-10.2564102564vw, -54.2564102564px);
  left: 0;
  width: 100%;
  aspect-ratio: 390/1010;
  background: url("/meito40thcp/assets/images/s-step-cloud-3-2.png") no-repeat top center/100% auto;
}
.bg-group .bg-info {
  margin-top: max(-7.6923076923vw, -40.6923076923px);
  width: 100%;
  height: auto;
  aspect-ratio: 390/1073;
  background-color: #fff;
  z-index: -1;
}

.g-content {
  position: relative;
  z-index: 1;
  width: min(100vw, 529px);
  margin: 0 auto;
  overflow: hidden;
  transform-origin: top center;
  box-shadow: 0px 0px 17.6357px rgba(0, 0, 0, 0.25);
}

.sec-step {
  width: 100%;
  height: auto;
  aspect-ratio: 390/997;
  margin: 0 auto;
  position: relative;
  padding-top: min(18.7179487179vw, 99.0179487179px);
}
.sec-step h2 {
  font-style: normal;
  font-weight: 700;
  font-size: min(6.6666666667vw, 35.2666666667px);
  line-height: 140%;
  /* or size-sp(36) */
  text-align: center;
  letter-spacing: 0.1em;
  color: #000000;
}
.sec-step h3 {
  margin: 0 auto;
  width: min(14.8717948718vw, 78.6717948718px);
  height: min(14.8717948718vw, 78.6717948718px);
  border-radius: 50%;
  margin-top: min(5.641025641vw, 29.841025641px);
  /* Style */
  background: url("/meito40thcp/assets/images/bg-step-number.png") no-repeat center/100% auto;
  /* STEP */
  font-style: normal;
  font-weight: 700;
  font-size: min(2.5641025641vw, 13.5641025641px);
  line-height: 140%;
  /* identical to box height, or size-sp(14) */
  text-align: center;
  letter-spacing: 0.1em;
  color: #FFFFFF;
  padding-top: min(3.0769230769vw, 16.2769230769px);
  padding-left: 1px;
}
.sec-step h3 .num {
  display: block;
  font-style: normal;
  font-weight: 700;
  font-size: min(5.641025641vw, 29.841025641px);
  line-height: 140%;
  text-align: center;
  letter-spacing: 0.1em;
  color: #FFFFFF;
  transform: translate(0, max(-1.5384615385vw, -8.1384615385px));
  padding-left: min(0.2564102564vw, 1.3564102564px);
}
.sec-step h3 + p {
  font-style: normal;
  font-weight: 700;
  font-size: min(4.1025641026vw, 21.7025641026px);
  line-height: 160%;
  /* or size-sp(26) */
  text-align: center;
  letter-spacing: 0.08em;
  color: #000000;
  margin-top: min(4.358974359vw, 23.058974359px);
}
.sec-step h3:nth-of-type(2) {
  margin-top: min(4.358974359vw, 23.058974359px);
}
.sec-step h3:nth-of-type(2) + p {
  margin-top: min(4.1025641026vw, 21.7025641026px);
}
.sec-step .box {
  width: min(82.0512820513vw, 434.0512820513px);
  height: auto;
  aspect-ratio: 320/326;
  background-color: #fff;
  border-radius: min(2.0512820513vw, 10.8512820513px);
  margin-top: min(6.6666666667vw, 35.2666666667px);
  margin: 0 auto;
  margin-top: min(6.6666666667vw, 35.2666666667px);
  padding-top: min(40.2564102564vw, 212.9564102564px);
}
.sec-step .box p {
  font-style: normal;
  font-weight: 700;
  font-size: min(4.6153846154vw, 24.4153846154px);
  line-height: 140%;
  /* or size-sp(25) */
  text-align: center;
  letter-spacing: 0.08em;
  color: #000000;
}
.sec-step .box-preview {
  width: min(85.3846153846vw, 451.6846153846px);
  height: auto;
  aspect-ratio: 320/326;
  border-radius: min(2.0512820513vw, 10.8512820513px);
  margin: 0 auto;
  margin-top: min(4.358974359vw, 23.058974359px);
}

.sec-info {
  width: 100%;
  height: auto;
  min-height: min(207.4358974359vw, 1097.3358974359px);
  margin: 0 auto;
  position: relative;
  background-color: #fff;
  padding: 0 min(4.1025641026vw, 21.7025641026px);
  padding-top: min(15.641025641vw, 82.741025641px);
  padding-bottom: min(20.5128205128vw, 108.5128205128px);
  overflow: hidden;
}
.sec-info h2 {
  font-style: normal;
  font-weight: 700;
  font-size: min(6.6666666667vw, 35.2666666667px);
  line-height: 140%;
  /* or size-sp(36) */
  text-align: center;
  letter-spacing: 0.08em;
  color: #000000;
}
.sec-info dl {
  margin-top: min(7.9487179487vw, 42.0487179487px);
}
.sec-info dl dt {
  font-style: normal;
  font-weight: 700;
  font-size: min(4.1025641026vw, 21.7025641026px);
  line-height: 140%;
  /* or size-sp(22) */
  letter-spacing: 0.08em;
  color: #000000;
  border-bottom: min(0.2564102564vw, 1.3564102564px) solid #9F9F9F;
  padding-bottom: min(1.7948717949vw, 9.4948717949px);
}
.sec-info dl dd {
  font-style: normal;
  font-weight: 500;
  font-size: min(3.5897435897vw, 18.9897435897px);
  line-height: 140%;
  letter-spacing: 0.08em;
  color: #000000;
  padding-top: min(4.1025641026vw, 21.7025641026px);
  padding-bottom: min(4.1025641026vw, 21.7025641026px);
}
.sec-info dl dd p {
  margin: 0;
  margin-top: 0;
  padding-left: min(4.1025641026vw, 21.7025641026px);
  background: url("/meito40thcp/assets/images/ico-list-item-green.png") no-repeat top min(2.0512820513vw, 10.8512820513px) left min(1.0256410256vw, 5.4256410256px)/min(1.5384615385vw, 8.1384615385px) auto;
}
.sec-info dl dd p .pl {
  display: block;
  padding-top: min(0.5128205128vw, 2.7128205128px);
  padding-left: min(3.8461538462vw, 20.3461538462px);
}
.sec-info dl dd p + p {
  margin-top: min(2.3076923077vw, 12.2076923077px);
}
.sec-info .block-2 {
  height: min(71.7948717949vw, 379.7948717949px);
  border: min(0.2564102564vw, 1.3564102564px) solid #9F9F9F;
  border-radius: min(2.0512820513vw, 10.8512820513px);
  margin-top: min(2.0512820513vw, 10.8512820513px);
  font-style: normal;
  font-weight: 500;
  font-size: min(3.5897435897vw, 18.9897435897px);
  line-height: 160%;
  /* or size-sp(22) */
  letter-spacing: 0.08em;
  color: #000000;
  padding: min(5.1282051282vw, 27.1282051282px) min(4.1025641026vw, 21.7025641026px) min(5.1282051282vw, 27.1282051282px) min(3.8461538462vw, 20.3461538462px);
  overflow: hidden;
}
.sec-info .block-2 .inner {
  padding: min(1.0256410256vw, 5.4256410256px) 0 min(1.0256410256vw, 5.4256410256px);
  padding-right: min(5.1282051282vw, 27.1282051282px);
  max-height: 100%;
}
.sec-info .block-2 .inner p {
  margin: 0;
  margin-top: min(5.1282051282vw, 27.1282051282px);
}
.sec-info .block-2 .inner p + ul, .sec-info .block-2 .inner p ol {
  margin-top: min(5.1282051282vw, 27.1282051282px);
}
.sec-info .block-2 .inner ul, .sec-info .block-2 .inner ol {
  margin: 0;
  padding: 0;
}
.sec-info .block-2 .inner ul + ul, .sec-info .block-2 .inner ul ol, .sec-info .block-2 .inner ol + ul, .sec-info .block-2 .inner ol ol {
  margin-top: min(5.1282051282vw, 27.1282051282px);
}
.sec-info .block-3 {
  margin-top: min(5.3846153846vw, 28.4846153846px);
  min-height: min(48.9743589744vw, 259.0743589744px);
  background: url("/meito40thcp/assets/images/bg-block-3.png") repeat top left/25px 25px;
  border-radius: min(2.0512820513vw, 10.8512820513px);
  padding: min(11.0256410256vw, 58.3256410256px) 0 0 0;
}
.sec-info .block-3 h3 {
  font-style: normal;
  font-weight: 700;
  font-size: min(4.6153846154vw, 24.4153846154px);
  line-height: 160%;
  /* identical to box height, or size-sp(29) */
  text-align: center;
  letter-spacing: 0.08em;
  color: #000000;
}
.sec-info .block-3 p {
  font-style: normal;
  font-weight: 500;
  font-size: min(3.5897435897vw, 18.9897435897px);
  line-height: 160%;
  text-align: center;
  letter-spacing: 0.08em;
  color: #000000;
  margin-top: min(4.1025641026vw, 21.7025641026px);
}

.pc-left, .pc-right {
  display: none;
}

@media (min-width: 1280px) {
  .pc-left {
    position: sticky;
    z-index: 1;
    top: 0;
    display: flex;
    align-items: center;
    height: 100vh;
  }
  .pc-left .pc-left-content {
    width: 21.8229166667vw;
    height: 29.4270833333vw;
    margin-top: 0.4166666667vw;
  }
  .pc-left .txt-1 {
    font-style: normal;
    font-weight: 900;
    font-size: 1.6072395833vw;
    line-height: 100%;
    text-align: center;
    letter-spacing: 0.3em;
    color: #000000;
    margin-left: -0.5208333333vw;
  }
  .pc-left .txt-2 {
    width: 21.8229166667vw;
    margin-top: 1.6145833333vw;
    margin-left: -0.78125vw;
  }
  .pc-left .txt-3 {
    margin-top: 1.9791666667vw;
  }
  .pc-left .txt-3 > :first-child {
    margin: 0 auto;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 19.9479166667vw;
    height: 1.5104166667vw;
    background: linear-gradient(270deg, #027549 -3.38%, #61A979 100%), linear-gradient(90deg, #FFF21F 0%, #FCCD00 28%, #F1942E 66%, #EA652D 88%, #E5352B 100%);
    background-blend-mode: normal, hard-light;
    border-radius: 0.6854166667vw;
    font-style: normal;
    font-weight: 900;
    font-size: 0.9140625vw;
    line-height: 100%;
    text-align: center;
    letter-spacing: 0.08em;
    color: #FFFFFF;
    margin-left: 0.4166666667vw;
  }
  .pc-left .txt-3 > :nth-child(2) {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 0.46875vw;
    padding-right: 0.7291666667vw;
  }
  .pc-left .txt-3 > :nth-child(2) time {
    font-family: "Baskerville Bold";
    font-style: normal;
    font-weight: 700;
    font-size: 2.2848958333vw;
    line-height: 100%;
    /* or size-sp(28) */
    text-align: center;
    letter-spacing: 0.07em;
    color: #000;
  }
  .pc-left .txt-3 > :nth-child(2) span.from,
  .pc-left .txt-3 > :nth-child(2) span.to {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    width: 1.4583333333vw;
    height: auto;
    aspect-ratio: 1;
    font-style: normal;
    font-weight: 900;
    font-size: 0.7994791667vw;
    line-height: 100%;
    /* or size-sp(10) */
    text-align: center;
    letter-spacing: 0.08em;
    color: #fff;
    background-color: #000;
    margin-left: 0.5208333333vw;
    transform: translateY(0.0520833333vw);
  }
  .pc-left .txt-3 > :nth-child(2) span.connect {
    font-family: "Baskerville Bold";
    font-style: normal;
    font-weight: 700;
    font-size: 2.2848958333vw;
    line-height: 100%;
    /* or size-sp(28) */
    text-align: center;
    letter-spacing: 0.1em;
    color: #000;
    padding-inline: 0.3125vw;
    margin-left: 0.3645833333vw;
  }
  .pc-right {
    position: sticky;
    z-index: 1;
    top: 0;
    display: flex;
    align-items: center;
    height: 100vh;
  }
  .pc-right .pc-right-content {
    width: 20.8333333333vw;
    height: auto;
    margin-top: -1.8229166667vw;
  }
  .pc-right nav ul li {
    border-bottom: 1px solid #000;
  }
  .pc-right nav ul li a {
    font-style: normal;
    font-weight: 700;
    font-size: 1.0416666667vw;
    line-height: 140%;
    letter-spacing: 0.08em;
    color: #000000;
    display: flex;
    align-items: center;
    min-height: 3.90625vw;
    position: relative;
    padding-left: 0.4166666667vw;
    padding-top: 0.3125vw;
  }
  .pc-right nav ul li a::after {
    content: "";
    width: 0.5729166667vw;
    height: auto;
    aspect-ratio: 11/18;
    position: absolute;
    top: 50%;
    right: 1.0416666667vw;
    transform: rotate(90deg) translate(-50%, -50%);
    background: url("/meito40thcp/assets/images/ico-arrow.png") no-repeat center/contain;
  }
}
.bg-group .bg-kv,
.bg-group .bg-2,
.bg-group .bg-3,
.bg-group .bg-4,
.bg-group .bg-quiz {
  position: relative;
}
.bg-group .bg-kv {
  width: 100%;
  height: auto;
  aspect-ratio: 390/600;
  background: url("/meito40thcp/assets/images/bg-kv.jpg") no-repeat top center/100% auto;
}
.bg-group .bg-kv::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 105%;
  background: url("/meito40thcp/assets/images/kv-cloud.png") no-repeat top max(-5.3846153846vw, -28.4846153846px) center/100% auto;
}
.bg-group .bg-2 {
  width: 100%;
  height: auto;
  aspect-ratio: 390/845;
  background: url("/meito40thcp/assets/images/bg-statement.jpg") no-repeat top center/100% auto;
}
.bg-group .bg-2::before {
  content: "";
  position: absolute;
  top: max(-22.0512820513vw, -116.6512820513px);
  left: 0;
  width: 100%;
  height: 100%;
  background: url("/meito40thcp/assets/images/s2-cloud.png") no-repeat top min(10.2564102564vw, 54.2564102564px) center/100% auto;
}
.bg-group .bg-2 .cloud-1 {
  position: absolute;
  top: min(5.1282051282vw, 27.1282051282px);
  left: 0;
  width: min(42.5641025641vw, 225.1641025641px);
  aspect-ratio: 390/500;
  background: url("/meito40thcp/assets/images/s2-cloud-1.png") no-repeat top center/100% auto;
}
.bg-group .bg-3 {
  margin-top: max(-23.0769230769vw, -122.0769230769px);
  width: 100%;
  height: auto;
  aspect-ratio: 390/1653;
  background: url("/meito40thcp/assets/images/bg-s3.png") no-repeat top min(13.5897435897vw, 71.8897435897px) center/100% auto;
}
.bg-group .bg-3 .cloud-1-1 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 390/500;
  background: url("/meito40thcp/assets/images/s3-cloud-1-1.png") no-repeat top center/100% auto;
}
.bg-group .bg-3 .cloud-1-2 {
  position: absolute;
  top: min(112.5641025641vw, 595.4641025641px);
  left: 0;
  width: 100%;
  aspect-ratio: 390/500;
  background: url("/meito40thcp/assets/images/s3-cloud-1-2.png") no-repeat top center/100% auto;
}
.bg-group .bg-3 .cloud-2 {
  position: absolute;
  top: min(169.2307692308vw, 895.2307692308px);
  left: 0;
  width: 100%;
  aspect-ratio: 390/800;
  background: url("/meito40thcp/assets/images/s3-cloud-2.png") no-repeat top center/100% auto;
}
.bg-group .bg-3 .cloud-2-1 {
  position: absolute;
  top: min(245.8974358974vw, 1300.7974358974px);
  left: 0;
  width: 100%;
  aspect-ratio: 390/100;
  background: url("/meito40thcp/assets/images/s3-cloud-2-1.png") no-repeat top center/100% auto;
}
.bg-group .bg-3 .cloud-3 {
  position: absolute;
  top: min(349.7435897436vw, 1850.1435897436px);
  left: 0;
  width: 100%;
  aspect-ratio: 390/200;
  background: url("/meito40thcp/assets/images/s3-cloud-3.png") no-repeat top center/100% auto;
}
.bg-group .bg-4 {
  margin-top: max(-50vw, -264.5px);
  width: 100%;
  height: auto;
  aspect-ratio: 390/563;
  position: relative;
  overflow: hidden;
}
.bg-group .bg-4::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: min(144.6153846154vw, 765.0153846154px);
  height: auto;
  aspect-ratio: 1;
  background-color: #fff;
  border-radius: 50%;
}
.bg-group .bg-quiz {
  margin-top: max(-56.4102564103vw, -298.4102564103px);
  width: 100%;
  height: auto;
  aspect-ratio: 390/920;
  background: #fff url("/meito40thcp/assets/images/bg-quiz.png") no-repeat top center/100% auto;
}
.bg-group .bg-quiz .cloud-1 {
  position: absolute;
  top: min(194.8717948718vw, 1030.8717948718px);
  right: 0;
  width: min(92.0512820513vw, 486.9512820513px);
  aspect-ratio: 1;
  background: url("/meito40thcp/assets/images/cloud-quiz.png") no-repeat top center/100% auto;
}

.pg-content {
  position: relative;
  z-index: 1;
  width: min(100vw, 529px);
  margin: 0 auto;
}
.kv {
  width: 100%;
  height: auto;
  aspect-ratio: 390/600;
  margin: 0 auto;
  position: relative;
}
.kv .txt-1 {
  position: absolute;
  top: min(25.8974358974vw, 136.9974358974px);
  left: 0;
  font-weight: 900;
  text-align: center;
  width: 100%;
  font-style: normal;
  font-weight: 900;
  font-size: min(5.1048461538vw, 27.0046361538px);
  line-height: 100%;
  /* identical to box height, or size-sp(20) */
  text-align: center;
  letter-spacing: 0.3em;
  color: #000000;
  padding-left: min(2.0512820513vw, 10.8512820513px);
}
.kv .txt-2 {
  position: absolute;
  top: min(34.8717948718vw, 184.4717948718px);
  left: 50%;
  transform: translateX(-50%);
  width: min(72.8205128205vw, 385.2205128205px);
  margin-left: min(0.5128205128vw, 2.7128205128px);
}
.kv .txt-3 {
  position: absolute;
  top: min(104.8717948718vw, 554.7717948718px);
  left: 0;
  width: 100%;
  text-align: center;
}
.kv .txt-3 > :first-child {
  margin: 0 auto;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(63.3333333333vw, 335.0333333333px);
  height: min(5.1282051282vw, 27.1282051282px);
  background: linear-gradient(270deg, #027549 -3.38%, #61A979 100%), linear-gradient(90deg, #FFF21F 0%, #FCCD00 28%, #F1942E 66%, #EA652D 88%, #E5352B 100%);
  background-blend-mode: normal, hard-light;
  border-radius: min(2.5641025641vw, 13.5641025641px);
  font-style: normal;
  font-weight: 900;
  font-size: min(2.9026153846vw, 15.3548353846px);
  line-height: 100%;
  /* or size-sp(11) */
  text-align: center;
  letter-spacing: 0.08em;
  color: #FFFFFF;
  padding-bottom: min(0.2564102564vw, 1.3564102564px);
}
.kv .txt-3 > :nth-child(2) {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: min(2.0512820513vw, 10.8512820513px);
  margin-left: min(0.5128205128vw, 2.7128205128px);
}
.kv .txt-3 > :nth-child(2) time {
  font-style: normal;
  font-weight: 700;
  font-size: min(7.2565384615vw, 38.3870884615px);
  line-height: 100%;
  /* or size-sp(28) */
  text-align: center;
  letter-spacing: 0.07em;
  color: #FFFFFF;
}
.kv .txt-3 > :nth-child(2) span.from,
.kv .txt-3 > :nth-child(2) span.to {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  width: min(4.6153846154vw, 24.4153846154px);
  height: auto;
  aspect-ratio: 1;
  font-style: normal;
  font-weight: 900;
  font-size: min(2.5397846154vw, 13.4354606154px);
  line-height: 100%;
  /* or size-sp(10) */
  text-align: center;
  letter-spacing: 0.08em;
  color: #192426;
  background-color: #fff;
  margin-left: min(1.5384615385vw, 8.1384615385px);
  transform: translateY(min(0.2564102564vw, 1.3564102564px));
}
.kv .txt-3 > :nth-child(2) span.connect {
  font-style: normal;
  font-weight: 700;
  font-size: min(7.2565384615vw, 38.3870884615px);
  line-height: 100%;
  /* or size-sp(28) */
  text-align: center;
  letter-spacing: 0.1em;
  color: #FFFFFF;
  padding-inline: min(1.2820512821vw, 6.7820512821px);
  margin-left: min(0.5128205128vw, 2.7128205128px);
}
.kv .anc-quiz {
  position: absolute;
  bottom: min(1.7948717949vw, 9.4948717949px);
  right: min(2.0512820513vw, 10.8512820513px);
  width: min(28.2051282051vw, 149.2051282051px);
  height: auto;
  aspect-ratio: 110/112;
}
.kv a.link-quiz:focus {
  outline: none;
}
.kv a.link-quiz:focus-visible .anc-quiz {
  outline: -webkit-focus-ring-color auto 2px;
  outline-offset: -1px;
  box-shadow: 0 0 0 2px #fff;
  outline-offset: 1px;
  border-radius: 50%;
}

.sec-2 {
  width: 100%;
  height: auto;
  aspect-ratio: 390/842;
  margin: 0 auto;
  position: relative;
  padding-top: min(38.9743589744vw, 206.1743589744px);
}
.sec-2 h2 {
  font-style: normal;
  font-weight: 700;
  font-size: min(6.6666666667vw, 35.2666666667px);
  line-height: 140%;
  text-align: center;
  letter-spacing: 0.4em;
  color: #000000;
  writing-mode: vertical-lr;
  text-orientation: upright;
  margin: 0 auto;
}
.sec-2 p {
  font-style: normal;
  font-weight: 700;
  font-size: min(4.1025641026vw, 21.7025641026px);
  line-height: 240%;
  text-align: center;
  letter-spacing: 0.1em;
  color: #000000;
  margin-top: min(4.1025641026vw, 21.7025641026px);
  padding-left: min(3.5897435897vw, 18.9897435897px);
}
.sec-2 p:nth-of-type(1) {
  margin-top: min(6.1538461538vw, 32.5538461538px);
  padding-left: min(3.5897435897vw, 18.9897435897px);
}
.sec-2 p:nth-of-type(2) {
  margin-top: min(3.5897435897vw, 18.9897435897px);
  padding-left: min(3.5897435897vw, 18.9897435897px);
}

.sec-3 {
  width: 100%;
  height: auto;
  aspect-ratio: 390/1601;
  margin: 0 auto;
  position: relative;
  padding-top: min(15.641025641vw, 82.741025641px);
}
.sec-3 h2 {
  font-style: normal;
  font-weight: 700;
  font-size: min(4.6153846154vw, 24.4153846154px);
  line-height: 160%;
  /* or size-sp(26) */
  text-align: center;
  letter-spacing: 0.1em;
  color: #000000;
}
.sec-3 .lbl {
  margin: 0 auto;
  margin-top: min(4.1025641026vw, 21.7025641026px);
  width: min(37.6923076923vw, 199.3923076923px);
  height: min(6.1538461538vw, 32.5538461538px);
  font-style: normal;
  font-weight: 700;
  font-size: min(3.5897435897vw, 18.9897435897px);
  line-height: 140%;
  /* or size-sp(22) */
  text-align: center;
  letter-spacing: 0.1em;
  color: #FFFFFF;
  background: linear-gradient(270deg, #C89A76 -3.38%, #D6A361 100%), linear-gradient(90deg, #FFF21F 0%, #FCCD00 28%, #F1942E 66%, #EA652D 88%, #E5352B 100%);
  background-blend-mode: normal, hard-light;
  border-radius: min(3.3333333333vw, 17.6333333333px);
  padding-left: min(0.5128205128vw, 2.7128205128px);
  padding-top: min(0.5128205128vw, 2.7128205128px);
  position: relative;
  z-index: 1;
}
.sec-3 > .text-1 {
  font-style: normal;
  font-weight: 700;
  font-size: min(5.1282051282vw, 27.1282051282px);
  line-height: 140%;
  /* identical to box height, or size-sp(28) */
  text-align: center;
  letter-spacing: 0.1em;
  color: #000000;
  margin-top: min(2.0512820513vw, 10.8512820513px);
  background-color: #fff;
  margin: 0 min(4.8717948718vw, 25.7717948718px);
  margin-top: max(-2.8205128205vw, -14.9205128205px);
  border-radius: 2px;
  min-height: min(16.4102564103vw, 86.8102564103px);
  padding-top: min(5.641025641vw, 29.841025641px);
  padding-bottom: min(2.5641025641vw, 13.5641025641px);
  position: relative;
  z-index: 0;
}
.sec-3 > .text-1 .from, .sec-3 > .text-1 .to {
  font-size: min(2.5641025641vw, 13.5641025641px);
  line-height: 1;
  color: #fff;
  background-color: #000000;
  width: min(4.7435897436vw, 25.0935897436px);
  aspect-ratio: 1;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  display: inline-flex;
  transform: translate(0, max(-0.7692307692vw, -4.0692307692px));
  padding-left: min(0.5128205128vw, 2.7128205128px);
}
.sec-3 > .text-1 .from {
  margin-right: min(1.5384615385vw, 8.1384615385px);
}
.sec-3 > .text-3 {
  font-style: normal;
  font-weight: 700;
  font-size: min(3.5897435897vw, 18.9897435897px);
  line-height: 140%;
  text-align: center;
  letter-spacing: 0.1em;
  color: #000000;
  margin-top: min(12.3076923077vw, 65.1076923077px);
}
.sec-3 .card {
  margin: min(0.7692307692vw, 4.0692307692px) auto 0;
  width: min(87.6923076923vw, 463.8923076923px);
  height: auto;
  aspect-ratio: 344/130;
  padding-top: min(8.2051282051vw, 43.4051282051px);
  background: url("/meito40thcp/assets/images/grad-orange.png") no-repeat top center/100% auto;
}
.sec-3 .card p:nth-of-type(1) {
  font-style: normal;
  font-weight: 700;
  font-size: min(3.5897435897vw, 18.9897435897px);
  line-height: 140%;
  text-align: center;
  letter-spacing: 0.1em;
  color: #000000;
  background-color: #fff;
  width: min(65.3846153846vw, 345.8846153846px);
  height: min(6.1538461538vw, 32.5538461538px);
  border-radius: min(3.3333333333vw, 17.6333333333px);
  margin: 0 auto;
  padding-top: min(0.7692307692vw, 4.0692307692px);
  padding-right: 0;
}
.sec-3 .card p:nth-of-type(2) {
  font-style: normal;
  font-weight: 700;
  font-size: min(9.2307692308vw, 48.8307692308px);
  line-height: 140%;
  /* or size-sp(50) */
  text-align: center;
  letter-spacing: 0.08em;
  color: #FFFFFF;
  margin-top: max(-1.0256410256vw, -5.4256410256px);
}
.sec-3 .card p:nth-of-type(2) span {
  display: inline-block;
  font-style: normal;
  font-weight: 700;
  font-size: min(5.1282051282vw, 27.1282051282px);
  line-height: 140%;
  /* identical to box height, or size-sp(28) */
  text-align: center;
  letter-spacing: 0.1em;
  color: #FFFFFF;
  transform: translate(min(0.5128205128vw, 2.7128205128px), max(-0.7692307692vw, -4.0692307692px));
}
.sec-3 .card.--orange p:nth-of-type(2) {
  padding-left: min(1.5384615385vw, 8.1384615385px);
}
.sec-3 .card.--orange p:nth-of-type(2) span {
  margin-right: min(1.5384615385vw, 8.1384615385px);
}
.sec-3 .card.--green {
  margin-top: min(6.4102564103vw, 33.9102564103px);
  background: url("/meito40thcp/assets/images/grad-green.png") no-repeat top center/100% 100%;
}
.sec-3 .card.--green p:nth-of-type(1) {
  width: min(55.1282051282vw, 291.6282051282px);
}
.sec-3 .card.--green p:nth-of-type(2) {
  padding-right: 0;
}
.sec-3 .img {
  margin-top: min(3.0769230769vw, 16.2769230769px);
  margin-left: 0;
  width: min(100vw, 529px);
}
.sec-3 .img figcaption {
  margin-top: max(-2.3076923077vw, -12.2076923077px);
  font-size: min(2.5641025641vw, 13.5641025641px);
  font-weight: 700;
  line-height: 140%;
  text-align: right;
  padding-right: min(14.1025641026vw, 74.6025641026px);
}
.sec-3 > .text-2 {
  font-style: normal;
  font-weight: 700;
  font-size: min(5.1282051282vw, 27.1282051282px);
  line-height: 140%;
  /* identical to box height, or size-sp(28) */
  text-align: center;
  letter-spacing: 0.1em;
  color: #FFFFFF;
  margin: 0 auto;
  margin-top: min(12.3076923077vw, 65.1076923077px);
  width: min(65.8974358974vw, 348.5974358974px);
  height: min(10.2564102564vw, 54.2564102564px);
  background: linear-gradient(270deg, #C89A76 -3.38%, #D6A361 100%), linear-gradient(90deg, #FFF21F 0%, #FCCD00 28%, #F1942E 66%, #EA652D 88%, #E5352B 100%);
  background-blend-mode: normal, hard-light;
  border-radius: min(1.0256410256vw, 5.4256410256px);
  padding-top: min(1.2820512821vw, 6.7820512821px);
  padding-left: min(2.3076923077vw, 12.2076923077px);
}
.sec-3 .img-3 {
  margin-top: min(11.5384615385vw, 61.0384615385px);
  margin-inline: auto;
  width: min(51.2820512821vw, 271.2820512821px);
}
.sec-3 .img-2 {
  margin-top: max(-1.7948717949vw, -9.4948717949px);
  margin-inline: 0;
  width: min(100vw, 529px);
}
.sec-3 .btn {
  width: min(82.0512820513vw, 434.0512820513px);
  height: min(14.358974359vw, 75.958974359px);
  background: #fff;
  display: block;
  margin: 0 auto;
  margin-top: min(3.0769230769vw, 16.2769230769px);
  font-style: normal;
  font-weight: 700;
  font-size: min(4.1025641026vw, 21.7025641026px);
  line-height: 140%;
  text-align: center;
  letter-spacing: 0.1em;
  color: #000000;
  border-radius: min(7.1794871795vw, 37.9794871795px);
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: min(0.5128205128vw, 2.7128205128px);
}
.sec-3 .btn::before {
  content: "";
  position: absolute;
  top: 50%;
  right: min(4.8717948718vw, 25.7717948718px);
  transform: translate(-50%, -50%);
  margin-top: min(0.2564102564vw, 1.3564102564px);
  width: min(3.5897435897vw, 18.9897435897px);
  height: auto;
  aspect-ratio: 1;
  background: url("/meito40thcp/assets/images/ico-triangle.png") no-repeat center/contain;
  pointer-events: none;
}
.sec-3 a.no-focus:focus {
  outline: none;
}
.sec-3 a.no-focus:focus .btn {
  outline: -webkit-focus-ring-color auto 2px;
  outline-offset: -1px;
  box-shadow: 0 0 0 2px #fff;
}

.sec-4 {
  width: 100%;
  height: auto;
  aspect-ratio: 390/568;
  margin: 0 auto;
  position: relative;
  margin-top: max(-59.4871794872vw, -314.6871794872px);
  padding-top: min(27.9487179487vw, 147.8487179487px);
}
.sec-4 > img {
  width: min(54.358974359vw, 287.558974359px);
  height: auto;
  margin: 0 auto;
  display: block;
}
.sec-4 > p {
  font-style: normal;
  font-weight: 700;
  font-size: min(4.1025641026vw, 21.7025641026px);
  line-height: 240%;
  /* or size-sp(38) */
  text-align: center;
  letter-spacing: 0.1em;
  color: #000000;
  margin-top: min(7.1794871795vw, 37.9794871795px);
}

.sec-quiz {
  width: 100%;
  height: auto;
  aspect-ratio: 390/726;
  margin: 0 auto;
  position: relative;
  margin-top: max(-25.641025641vw, -135.641025641px);
}
.sec-quiz .inner {
  margin: 0 auto;
  width: min(91.7948717949vw, 485.5948717949px);
  min-height: min(146.9230769231vw, 777.2230769231px);
  background-color: #F8F0EB;
  border-radius: min(4.1025641026vw, 21.7025641026px);
  padding-top: min(3.5897435897vw, 18.9897435897px);
  padding-bottom: min(8.7179487179vw, 46.1179487179px);
  position: relative;
}
.sec-quiz .inner::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 50%;
  transform: translate(-50%, max(-6.6666666667vw, -35.2666666667px));
  width: min(31.7948717949vw, 168.1948717949px);
  height: auto;
  aspect-ratio: 1;
  background-color: #F8F0EB;
  border-radius: 50%;
}
.sec-quiz .icon-q {
  margin: 0 auto;
  width: min(15.3846153846vw, 81.3846153846px);
  height: min(14.1025641026vw, 74.6025641026px);
  background: url("/meito40thcp/assets/images/ttl-q.png") no-repeat top center/contain;
}
.sec-quiz .q-ttl {
  margin: min(3.5897435897vw, 18.9897435897px) 0 0;
  text-align: center;
  font-style: normal;
  font-weight: 700;
  font-size: min(6.1538461538vw, 32.5538461538px);
  line-height: 140%;
  letter-spacing: 0.1em;
  color: #000000;
}
.sec-quiz .q-content {
  font-style: normal;
  font-weight: 700;
  font-size: min(3.5897435897vw, 18.9897435897px);
  line-height: 160%;
  /* or size-sp(22) */
  text-align: center;
  letter-spacing: 0.1em;
  color: #000000;
  padding: 0 min(2.5641025641vw, 13.5641025641px);
  margin-top: min(2.5641025641vw, 13.5641025641px);
}
.sec-quiz .question-answers {
  display: flex;
  flex-direction: column;
  gap: min(2.0512820513vw, 10.8512820513px);
  margin: min(6.1538461538vw, 32.5538461538px) min(6.9230769231vw, 36.6230769231px) 0;
}
.sec-quiz .question-answers .answer {
  cursor: pointer;
}
.sec-quiz .question-answers .answer > input[type=radio] {
  opacity: 0;
  position: absolute;
}
.sec-quiz .question-answers .answer > span {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  background-color: #fff;
  min-height: min(16.4102564103vw, 86.8102564103px);
  font-style: normal;
  font-weight: 700;
  font-size: min(4.1025641026vw, 21.7025641026px);
  line-height: 140%;
  text-align: center;
  letter-spacing: 0.1em;
  color: #000000;
  border-radius: min(0.5128205128vw, 2.7128205128px);
  padding: min(2.5641025641vw, 13.5641025641px);
}
.sec-quiz .question-answers .answer > span.is-active {
  background: linear-gradient(270deg, #027549 -3.38%, #61A979 100%), linear-gradient(90deg, #FFF21F 0%, #FCCD00 28%, #F1942E 66%, #EA652D 88%, #E5352B 100%);
  background-blend-mode: normal, hard-light;
  border-radius: min(0.5128205128vw, 2.7128205128px);
  color: #fff;
}
.sec-quiz .question-answers .answer input[type=radio]:focus:is(:focus-visible) + span {
  outline: -webkit-focus-ring-color auto 2px;
  outline-offset: -1px;
  box-shadow: 0 0 0 2px #fff;
}
.sec-quiz .question-answers .answer input[type=radio]:checked + span {
  background: linear-gradient(270deg, #027549 -3.38%, #61A979 100%), linear-gradient(90deg, #FFF21F 0%, #FCCD00 28%, #F1942E 66%, #EA652D 88%, #E5352B 100%);
  background-blend-mode: normal, hard-light;
  border-radius: min(0.5128205128vw, 2.7128205128px);
  color: #fff;
  outline: none;
}
.sec-quiz .btn-submit {
  font-style: normal;
  font-weight: 700;
  font-size: min(3.5897435897vw, 18.9897435897px);
  line-height: 140%;
  text-align: center;
  letter-spacing: 0.1em;
  color: #000000;
  background-color: #fff;
  display: block;
  margin: min(8.2051282051vw, 43.4051282051px) auto 0;
  width: min(77.9487179487vw, 412.3487179487px);
  height: min(14.358974359vw, 75.958974359px);
  border-radius: min(7.1794871795vw, 37.9794871795px);
  position: relative;
}
.sec-quiz .btn-submit::before {
  content: "";
  position: absolute;
  top: 50%;
  right: min(4.6153846154vw, 24.4153846154px);
  transform: translate(-50%, -50%);
  width: min(2.8205128205vw, 14.9205128205px);
  height: auto;
  aspect-ratio: 11/18;
  background: url("/meito40thcp/assets/images/ico-arrow.png") no-repeat center/contain;
  pointer-events: none;
}

.floating-quiz {
  position: absolute;
  z-index: 9;
  top: min(123.3333333333vw, 652.4333333333px);
  left: 50%;
  transform: translate(min(19.7435897436vw, 104.4435897436px), 0);
  width: round(min(28.2051282051vw, 149.2051282051px), 1px);
  height: auto;
  aspect-ratio: 110/112;
  transition: opacity ease 0.2s;
}
@media (min-width: 1280px) {
  .floating-quiz {
    top: 33.9809027778vw;
    transform: translate(5.4397702991vw, 0);
    width: round(7.7711004274vw, 1px);
  }
}
.floating-quiz.is-fixed {
  top: auto;
  bottom: min(1.7948717949vw, 9.4948717949px);
  position: fixed;
}
@media (min-width: 1280px) {
  .floating-quiz.is-fixed {
    bottom: 0.4945245726vw;
  }
}
.floating-quiz.is-hidden, .floating-quiz.is-screen-visible {
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
}
.floating-quiz.is-hidden *, .floating-quiz.is-screen-visible * {
  pointer-events: none;
}
.floating-quiz .anc-quiz {
  position: absolute;
  top: 0;
  right: 0;
  width: round(min(28.2051282051vw, 149.2051282051px), 1px);
  height: auto;
  aspect-ratio: 110/112;
}
@media (min-width: 1280px) {
  .floating-quiz .anc-quiz {
    width: round(7.7711004274vw, 1px);
  }
}
.floating-quiz a.link-quiz:focus {
  outline: none;
}
.floating-quiz a.link-quiz:focus-visible .anc-quiz {
  outline: -webkit-focus-ring-color auto 2px;
  outline-offset: -1px;
  box-shadow: 0 0 0 2px #fff;
  outline-offset: 1px;
  border-radius: 50%;
}