[pc] {
  display: block;
}

[mb] {
  display: none !important;
}

/* ─── Section 1: KV Banner ─── */
.kv-section {
  position: relative;
  width: 100%;
  margin-top: 100px;
}

.kv-section img {
  width: 100%;
  object-fit: cover;
}

.section {
  width: 67.7085vw;
  max-width: 1300px;
  margin: auto;
}

.fixbtn-container {
  position: absolute;
  top: 42vw;
  right: 1.5vw;
  z-index: 999;
  display: flex;
  flex-direction: column;
}

.fixbtn-container a {
  width: 150px;
  margin-bottom: 30px;
  border-radius: 30px;
  cursor: pointer;
}

.fixbtn-container img {
  cursor: pointer;
}

.fixbtn {
  transition: all 0.5s ease-in-out;
}

.fixbtn:hover {
  transform: scale(1.02);
}

.fixbtn-container.is-fixed {
  position: fixed;
  top: 8vw;
}

.fixbtn1 {
  top: 35vw;
}

.fixbtn2 {
  top: 45vw;
}

.fixbtn3 {
  top: 55vw;
}

/* ─── Section 2: News ─── */
.news-section {
  background: #ffffff;
  padding: 48px 24px;
  border-radius: 20px 20px 0 0;
  margin-top: 50px;
}

.news-section .container {
  max-width: var(--container-max);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
}

.news-images {
  width: 100%;
  display: flex;
  flex-direction: row;
  gap: 20px;
  justify-content: center;
}

.news-images img {
  flex: 1;
  min-width: 0;
  object-fit: contain;
}

.news-images a {
  transition: all 0.5s ease-in-out;
}

.news-hover:hover {
  transform: scale(1.02);
}

.news-title {
  display: flex;
  justify-content: center;
}

/* ─── Section 3: Apply ─── */
.apply-section {
  background: linear-gradient(to bottom, #ffffff, #e8f5f0);
  padding: var(--section-padding);
}

.apply-section .container {
  max-width: var(--container-max);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
}

.apply-title-content {
  display: flex;
  justify-content: center;
}

.apply-title-right {
  width: 11.5vw;
  height: 3.9vw;
}

.apply-title {
  width: 33.62vw;
}

.apply-subtitle {
  width: 11.5vw;
  height: 3.9vw;
}

.apply-steps {
  width: 100%;
  display: flex;
  flex-direction: row;
  gap: 16px;
  justify-content: center;
}

.apply-steps-mb {
  display: none;
}

.apply-steps img {
  flex: 1;
  min-width: 0;
  margin: 0.3vw;
  object-fit: contain;
}

.apply-steps a {
  transition: all 0.5s ease-in-out;
}

.setting-steps img {
  margin: 0.3vw;
}

.apply-btn {
  display: flex;
  justify-content: center;
  transition: all 0.5s ease-in-out;
}

.apply-btn img {
  width: 16vw;
}

.apply-btn:hover {
  transform: scale(1.02);
}

.setting-btn img {
  width: 25vw;
}

/* ─── Section 4: Bottom Banner ─── */
.banner-section {
  position: relative;
}

.banner-section img {
  width: 100%;
  object-fit: cover;
}

.banner-btn {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 2.8vw;
  width: 325px;
  border-radius: 35px;
  margin: auto;
  overflow: hidden;
  transition: all 0.5s ease-in-out;
}

.banner-btn:hover {
  transform: scale(1.02);
}

.activity-section {
  background-color: #ffffff;
  border-radius: 0 0 20px 20px;
  padding: 2.5vw 2.5vw 1.5vw;
}

.activity-section p {
  font-size: var(--font-size);
  font-weight: var(--font-weight-medium);
  line-height: 1.3;
  margin: auto;
}

.sec-list {
  margin-top: 1em;
}

.sec-list dl {
  display: flex;
  margin-top: -1em;
  margin-bottom: 1em;
}

.sec-list dl dt {
  font-size: var(--font-size);
  margin-right: 0.3vw;
}

.sec-list dl .dot {
  margin-left: 2vw;
  margin-right: 0.8vw;
}

.sec-list dl dd {
  font-size: var(--font-size);
  font-weight: var(--font-weight-medium);
  line-height: 1.3;
  flex: 1;
  min-width: 0;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

.sec-list dl dd a {
  color: blue;
}

.footer-img {
  max-width: var(--container-max);
  margin: 3.55vw auto;
}

/* ─── Responsive: Mobile ─── */
@media (max-width: 767px) {
  [pc] {
    display: none !important;
  }
  [mb] {
    display: block !important;
  }

  :root {
    --section-padding: 32px 16px;
  }

  .kv-section {
    margin-top: 70px;
  }

  .section {
    width: 92%;
  }

  .news-section {
    padding: 30px 24px;
    margin-top: 20px;
  }

  .news-section .container {
    gap: initial;
  }

  .news-images {
    flex-direction: column;
    align-items: center;
    gap: 16px;
  }

  .news-images img {
    width: 90%;
    margin: auto;
  }

  .news-title img {
    width: 70%;
  }

  .apply-section .container {
    gap: initial;
  }

  .apply-title-right,
  .apply-subtitle {
    display: none;
  }

  .apply-title {
    width: 70vw;
  }

  .apply-steps {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px;
    margin-top: 5vw;
  }

  .apply-steps img,
  .apply-steps a {
    width: calc(50% - 8px);
    flex: none;
  }

  .apply-steps-mb img,
  .apply-steps-mb a {
    width: calc(49% - 8px);
  }

  .apply-steps a img {
    width: 100%;
  }

  .apply-steps-mb {
    display: flex;
  }

  .banner-btn {
    width: 35vw;
    bottom: 6vw;
  }

  .activity-section p {
    font-size: 1rem;
  }

  .activity-section {
    padding: 4vw 5vw 1.5vw;
  }

  .fixbtn-container {
    top: 114vw;
  }

  .fixbtn-container.is-fixed {
    top: 23vw;
  }

  .fixbtn-container a {
    width: 15.375vw;
    height: 23vw;
    margin-bottom: 2.5vw;
    border-radius: 20px;
  }

  .apply-section {
    margin-top: -1vw;
  }

  .apply-btn {
    margin-top: 8vw;
  }

  .apply-btn img {
    width: 50vw;
  }

  .setting-btn img {
    width: 70vw;
  }

  .sec-list dl dt,
  .sec-list dl dd {
    font-size: 1rem;
  }

  .footer-img {
    width: 93%;
    margin: 5vw auto 8vw;
  }

  .footer-box .top-box span {
    display: flex;
  }

  .footer-box .top-box .title-line {
    margin: initial;
  }

  .footer-box .top-box span {
    width: initial;
  }
}

/* ─── Responsive: Tablet ─── */
@media (min-width: 768px) and (max-width: 1023px) {
  .kv-section {
    margin-top: 70px;
  }

  .news-images {
    gap: 16px;
  }

  .apply-steps {
    gap: 12px;
  }

  .fixbtn-container {
    right: 1vw;
  }

  .fixbtn-container a {
    width: 7.375vw;
    margin-bottom: 1.5vw;
  }
  .footer-img {
    width: 75vw;
  }
}

@media (min-width: 1023px) and (max-width: 1260px) {
  .kv-section {
    margin-top: 70px;
  }

  .fixbtn-container {
    right: 1vw;
  }

  .fixbtn-container a {
    width: 7.375vw;
    margin-bottom: 1.5vw;
  }

  .footer-img {
    width: 75vw;
  }
}

@media (min-width: 1260px) and (max-width: 1700px) {
  .section,
  .footer-img {
    width: 75vw;
    max-width: var(--container-max);
  }

  .fixbtn-container a {
    width: 7.375vw;
    margin-bottom: 1.5vw;
  }

  .activity-section p,
  .sec-list dl dt,
  .sec-list dl dd {
    font-size: 25px;
  }
}

@media (min-width: 1700px) {
  .fixbtn-container.is-fixed {
    top: 6.2vw;
  }

  .fixbtn-container.is-fixed a {
    margin-bottom: 1vw;
  }

  .activity-section p,
  .sec-list dl dt,
  .sec-list dl dd {
    font-size: 25px;
  }

  .footer-box .bottom-box span {
    font-size: 34px;
    white-space: nowrap;
  }
}
