.main-contents > .container {
  display: grid;
  grid-template-columns: 1fr;
  gap: 70px;
}
@media (max-width: 819.98px) {
  .main-contents > .container {
    gap: 50px;
  }
}

.section {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
}
.section__title {
  margin-bottom: 30px;
  text-align: center;
  color: #fff;
  font-size: 34px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -1px;
}
@media (max-width: 819.98px) {
  .section__title {
    font-size: 28px;
  }
}

.compare-tbl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.compare-cell {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 calc((100% - 20px) / 2);
          flex: 1 1 calc((100% - 20px) / 2);
  padding: 40px;
  border-radius: 16px;
  background: #1d1d1f;
}
.compare-cell--a {
  background-color: #111;
}

@media (max-width: 639.98px) {
  .compare-cell {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%;
  }
}
.banner-compare {
  max-width: 900px;
  margin: 0 auto;
}

.section--vs {
  border-bottom: 5px solid #ddd;
  padding-bottom: 50px;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.section--vs .img-bx {
  aspect-ratio: 300/350;
  overflow: hidden;
  position: relative;
}
.section--vs .img-bx img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 0;
     object-position: 50% 0;
}
.section--vs .txt-bx {
  margin: 20px auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  line-height: 1.2;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.section--vs .txt-bx .num {
  color: #86868b;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: -1px;
}
.section--vs .txt-bx .name {
  width: 100%;
  color: #fff;
  font-family: "Merriweather", "Pretendard", sans-serif;
  font-size: 24px;
  font-weight: 400;
  letter-spacing: -0.5px;
}
.section--vs .txt-bx .nickname {
  color: #999;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: -1px;
}
.section--vs select {
  border-radius: 8px;
  background: #1d1d1f;
  border: 0;
  margin: 0 auto;
  width: calc(100% - 30px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 47px;
  padding: 0 20px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 16px;
  font-weight: 500;
  background-image: url("data:image/svg+xml,%3Csvg width='11' height='9' viewBox='0 0 11 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.96511 7.75192C5.56929 8.34566 4.69683 8.34566 4.30101 7.75193L0.169524 1.5547C-0.273514 0.890146 0.202878 9.55546e-07 1.00157 8.85722e-07L9.26454 1.63351e-07C10.0632 9.35268e-08 10.5396 0.890145 10.0966 1.5547L5.96511 7.75192Z' fill='%23A4A4A4'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: calc(100% - 20px) 50%;
}
.section--vs .vs-box {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 33.33%;
          flex: 0 0 33.33%;
}
.section--vs .vs-box--vs {
  font-size: 40px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -1px;
}
@media (max-width: 819.98px) {
  .section--vs {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .section--vs .vs-box {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc((100% - 100px) / 2);
            flex: 0 0 calc((100% - 100px) / 2);
  }
  .section--vs .vs-box--vs {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100px;
            flex: 0 0 100px;
  }
  .section--vs .txt-bx .num {
    font-size: 16px;
  }
}
@media (max-width: 639.98px) {
  .section--vs {
    gap: 20px;
  }
  .section--vs .vs-box {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
  }
}
.section--dna .compare-cell--b .bar span:before {
  background-color: rgb(var(--b-color));
}
.section--dna .bar:not(:first-child) {
  margin-top: 16px;
}
.section--dna .bar span {
  height: 30px;
  border-radius: 30px;
  background: #333;
  padding: 0 16px;
  position: relative;
  color: #ddd;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: -0.5px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  z-index: 2;
  overflow: hidden;
}
.section--dna .bar span:before {
  background-color: rgb(var(--a-color));
  z-index: -1;
  height: 100%;
  content: "";
  position: absolute;
  left: 0;
  border-radius: 30px;
  top: 0;
}
.section--dna .bar span[data-bar="1"]:before {
  width: 20%;
}
.section--dna .bar span[data-bar="2"]:before {
  width: 40%;
}
.section--dna .bar span[data-bar="3"]:before {
  width: 60%;
}
.section--dna .bar span[data-bar="4"]:before {
  width: 80%;
}
.section--dna .bar span[data-bar="5"]:before {
  width: 100%;
}
.section--dna .txt {
  color: #fff;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.37;
  letter-spacing: -0.5px;
}
@media (max-width: 819.98px) {
  .section--dna .txt {
    font-size: 14px;
    line-height: 1.5;
    padding: 30px 40px;
  }
}
.section--approch .compare-cell {
  word-break: keep-all;
  padding: 30px;
}
.section--approch .compare-cell--a .list dl {
  background: #1d1d1f;
}
.section--approch .compare-cell--b .list dl {
  background: #2f2f32;
}
.section--approch .list {
  display: grid;
  gap: 10px;
  grid-template-columns: 1fr 1fr;
}
.section--approch .list dl {
  border-radius: 30px;
  padding: 10px;
  line-height: 1;
  min-height: 130px;
  -ms-flex-line-pack: center;
      align-content: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}
.section--approch .list dt {
  width: 100%;
  color: #999;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: -0.5px;
}
.section--approch .list dd {
  margin-top: 6px;
  color: #fff;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: -1px;
}
@media (max-width: 819.98px) {
  .section--approch .compare-cell {
    padding: 20px;
  }
}
.section--scenario .tab-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 0;
}
@media (max-width: 819.98px) {
  .section--scenario {
    overflow: hidden;
  }
  .section--scenario .tab-header {
    font-size: 0;
    width: 100dvw;
    padding: 0 24px;
    margin-left: -24px;
  }
  .section--scenario .tab-header .wrap {
    position: relative;
    cursor: default;
    overflow: scroll hidden;
    -ms-scroll-snap-type: x mandatory;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    scroll-behavior: smooth;
    white-space: nowrap;
    margin: 0 auto;
  }
}
.section--scenario .list {
  letter-spacing: -1px;
}
.section--scenario .list dt {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.25;
}
.section--scenario .list dd {
  margin-top: 12px;
  color: #999;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.42;
}
.section--philosophy .wrap {
  max-width: 340px;
  margin: 0 auto;
}
.section--philosophy dl:not(:first-child) {
  margin-top: 20px;
}
.section--philosophy dl {
  padding-bottom: 10px;
  border-bottom: 1px solid #565656;
  letter-spacing: -1px;
}
.section--philosophy dt {
  color: #fff;
  font-size: 21px;
  font-weight: 700;
  line-height: 1;
}
.section--philosophy dd {
  margin-top: 10px;
  color: #999;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.42;
}
.section--philosophy .link {
  margin-top: 30px;
  color: #168af8;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
}
.section--philosophy .link:after {
  content: "";
  width: 8px;
  aspect-ratio: 8/12;
  display: block;
  background-image: url("data:image/svg+xml,%3Csvg width='8' height='12' viewBox='0 0 8 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.292893 0.292893C0.683417 -0.0976311 1.31643 -0.0976311 1.70696 0.292893L7.41399 5.99992L1.70696 11.707C1.31643 12.0975 0.683417 12.0975 0.292893 11.707C-0.0976311 11.3164 -0.0976311 10.6834 0.292893 10.2929L4.58586 5.99992L0.292893 1.70696C-0.0976311 1.31643 -0.0976311 0.683417 0.292893 0.292893Z' fill='%23168AF8' /%3E%3C/svg%3E");
}
.section--diff .wrap {
  max-width: 340px;
  margin: 0 auto;
}
.section--diff .wrap .desc {
  color: #999;
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
}
.section--diff .wrap dl {
  letter-spacing: -1px;
}
.section--diff .wrap dt {
  margin: 12px 0;
  color: #fff;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
}
.section--diff .wrap dd {
  color: #999;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.42;
}
.section--recommand .list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
}
@media (max-width: 819.98px) {
  .section--recommand .list {
    grid-template-columns: 1fr;
  }
}
.section--recommand .list {
  gap: 20px;
  border-radius: 16px;
  background: #111;
  padding: 40px;
}
.section--recommand .list .item {
  border-radius: 16px;
  background: #e4e4e4;
}
.section--recommand .list .link {
  padding: 30px 40px;
  display: block;
  margin: 0 auto;
}
.section--recommand .list .tit {
  color: #111;
  font-family: "Merriweather", "Pretendard", sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.33;
  letter-spacing: -0.5px;
}
.section--recommand .list .txt {
  margin-top: 12px;
  color: #666;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.42;
  letter-spacing: -1px;
}