@media (max-width: 1200px) {
  .fp-section.fp-hero {
    padding-top: var(--header-height);
  }
}

@media (min-width: 0px) and (max-width: 900px) {
  .con-head {
    margin-bottom: min(40px, 6vw);
  }

  .con-head p {
    font-size: min(80px, 10vw);
    line-height: min(200px, 15vw);
    padding-top: 50px;
  }

  #con4 .con-head p {
  bottom: 0;
  top: 0;
  line-height: 1.4;
  }
  .con-head h2 {
    font-size: min(36px, 7.2vw);
    margin-bottom: 34px;
  }

  .con-head h2::before {
    font-size: min(14px, 3.2vw);
  }

  .con3-nav {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: min(10px, 2vw);
  }

  .con3-nav li {
    display: flex;
    flex: none;
    min-width: 0;
    grid-column: span 2;
  }

  .con3-nav li:nth-child(1) {
    grid-column: 2 / span 2;
  }

  .con3-nav li:nth-child(2) {
    grid-column: 4 / span 2;
  }

  .con3-nav button {
    width: 100%;
    height: auto;
    align-self: stretch;
    justify-content: flex-start;
    padding: min(6px, 1.6vw) min(14px, 3vw) min(6px, 1.6vw) min(6px, 1.6vw);
    font-size: min(18px, 4.2vw);
    gap: 0.8rem;
    white-space: nowrap;
  }

  .con3-nav button img {
    width: min(56px, 8vw);
    height: min(56px, 8vw);
  }

  .con3-indicator {
    justify-content: start;
  }

  .con3-indicator li {
    flex: 1 1 100%;
    padding: min(12px, 1vw) 0;
    font-size: min(18px, 4.4vw);
    border-bottom-width: 4px;
  }

  .con3-indicator li:not(.is-active) {
    display: none;
  }

  .con3-indicator li.is-active {
    margin-bottom: -4px;
  }

  .con3-indicator li.is-active {
    color: var(--gray);
}
  .con3-indicator::after {
    content: none;
  }

  .con3-panel.is-active {
    display: flex;
    flex-direction: column;
    grid-template-columns: none;
    grid-template-rows: none;
    row-gap: min(30px, 4vw);
  }

  .con3-cards {
    display: flex;
    flex-direction: column;
  }

  .con3-feature__copy,
  .con3-card {
    grid-column: auto;
    grid-row: auto;
  }

  .con3-feature__media {
    position: relative;
    grid-column: auto;
    grid-row: auto;
    flex: none;
    width: 100%;
    height: auto;
    aspect-ratio: 5 / 3;
    overflow: hidden;
    border-radius: min(24px, 5vw);
    box-shadow: none;
  }

  .con3-feature__media > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: min(24px, 5vw);
    box-shadow: none;
  }

  #con3-panel-0 .con3-feature__media > img {
    object-position: 0 25%;
  }

  .con3-feature__copy {
    padding: min(20px, 3vw) min(25px, 3vw);
    border-radius: min(16px, 5vw);
  }

  .con3-feature__copy h3 {
    font-size: min(30px, 6vw);
    border-bottom-width: min(4px, 0.8vw);
  }

  .con3-feature__copy::after {
    content: none;
  }
  
  .con3-card {
    margin-top: min(30px, 4vw);
  }

  .con3-card-inner {
    padding: 0;
  }

  .con3-card::before {
    content: none;
  }

  .con3-card::after {
    content: none;
  }

  .con3-card {
    padding: min(30px, 5vw) min(25px, 3vw) min(35px, 6vw) min(25px, 3vw);
    gap: min(16px, 3.2vw);
    border-radius: min(16px, 5vw);
  }

  .con3-card h4 {
    font-size: min(24px, 5.6vw);
  }
  
  .con3-card h4::before {
    width: min(4px, 1vw);
    }

  .con3-card ul {
    padding-left: 0;
    gap: min(46px, 6vw) 0.2rem;
  }

  .con3-card li {
    font-size: min(16px, 3.6vw);
    line-height: 1.5;
    gap: min(30px, 4vw);
  }

  .con3-card li .con3-card-icon {
    width: min(80px, 8vw);
    height: min(80px, 8vw);
  }

  .con1-intro-wrap {
    width: 92%;
    margin: 30px auto;
  }

  .con1-intro {
    flex-direction: column;
    border-radius: min(60px, 10vw);
  }

  .con1-intro,
  .con1-profile {
    gap: min(32px, 5vw);
  }

  .con1-profile {
    padding-top: 4rem;
  }

  .con1-profile__info {
    padding-top: min(14px, 2.8vw);
    padding-bottom: 0;
    grid-template-columns: 1fr;
  }

  .con1-intro::before {
    height: calc(100% + 4rem);
    background-position: right bottom;
  }

  .con1-profile__photo {
    width: 100%;
    border-radius: min(18px, 4vw);
  }

  .con1-intro__copy {
    padding-top: 0;
    padding-bottom: 0;
  }

  .con1-intro__visual {
    aspect-ratio: 1 / 1;
    height: auto;
  }

  .con1-intro__copy h2 {
    font-size: min(26px, 4.4vw);
  }

  .con1-intro__copy p {
    font-size: min(18px, 4vw);
  }

  .con1-intro__copy p:last-child {
    font-size: min(20px, 4vw);
  }

  .con1-profile__cols {
    grid-template-columns: 1fr;
    gap: min(24px, 5vw);
  }

  .con1-profile h3 {
    font-size: min(24px, 4.8vw);
  }

  .con1-profile h4 {
    font-size: min(18px, 4vw);
  }

  .con1-profile h4::before {
    height: 1em;
  }

  .con1-profile li {
    font-size: min(16px, 4vw);
  }

  .con1-profile__photo {
    position: relative;
    aspect-ratio: 5 / 3;
    order: -1;
    display: flex;
    justify-content: center;
    align-items: start;
  }

  .con1-profile__photo .con1-profile__photo-text {
    justify-content: start;
    padding: min(20px, 4vw) min(20px, 4vw) min(10px, 2vw) min(20px, 4vw);
  }

  .con1-profile__photo-text h2 {
    font-size: min(24px, 4vw);
  }

  .con1-profile__photo-text p {
    font-size: min(18px, 4vw);
    padding-bottom: 0;
  }

  .con1-profile__photo img {
    width: 50vw;
    height: auto;
    object-fit: contain;
  }
}

@media (min-width: 0px) and (max-width: 500px) {
  .mobile500-only {
    display: block;
  }

  .con1-intro__copy h2 {
    font-size: min(24px, 6vw);
    white-space: normal;
  }

  .con1-intro__copy h2::before {
    line-height: 0;
    font-size: min(24px, 6vw);
  }

  .con1-intro__copy h2::after {
    transform: translateY(10px);
    font-size: min(24px, 6vw);
  }

  .con1-intro__copy p,
  .con1-profile li {
    font-size: min(16px, 3.8vw);
  }

  .con1-intro__copy p:last-child {
    font-size: min(18px, 4.2vw);
  }

  .con1-profile__info {
    padding-top: min(16px, 3.2vw);
  }

  .con1-profile__photo {
    border-radius: min(14px, 4vw);
  }

  .con-head h2 {
    font-size: min(32px, 7.4vw);
    margin-bottom: 20px;
  }

  .con-head h2::before {
    font-size: min(13px, 3.4vw);
  }

  /* .con3-nav li {
    flex: 0 1 calc(50% - 8px);
  } */

  .con3-nav button {
    padding: min(6px, 1.8vw) min(10px, 2.4vw) min(6px, 1.8vw) min(6px, 1.8vw);
    border-width: 2px;
    font-size: min(15px, 4vw);
    line-height: 1.5;
    gap: 0.6rem;
  }

  .con3-feature__copy > p:first-child {
    margin-bottom: 0.6rem;
  }

  .con3-feature__copy p {
    font-size: min(20px, 4vw);
  }

  .con3-card {
    border-radius: min(16px, 5vw);
  }

  .con3-card h4 {
    font-size: min(20px, 5.4vw);
  }
}

@media (max-width: 900px) {
  .copy_menu {
    gap: min(16px, 3vw);
  }

  .copy_menu a {
    font-size: min(14px, 4vw);
    white-space: nowrap;
  }

  .f_copy {
    font-size: min(14px, 4vw);
  }
}

@media (max-width: 500px) {
  .copy_menu {
    gap: min(10px, 3vw);
  }

  .copy_menu a {
    font-size: min(14px, 7vw);
  }

  .f_copy {
    font-size: min(13px, 4vw);
  }
}

@media (max-width: 900px) {
  .con2-marquee {
    width: min(64px, 14vw);
  }

  .con2-marquee__track {
    font-size: min(64px, 14vw);
    letter-spacing: -1px;
  }

  .con2-parts .tit {
    font-size: min(22px, 5vw);
  }

  .con2-parts img {
    width: min(80px, 15vw);
  }

  .con2-subject__head h3 {
    font-size: min(30px, 6vw);
  }

  .con2-lists h4 {
    font-size: min(24px, 5vw);
  }

  .con2-subject__inner,
  .con2-subjects > .con2-subject:nth-child(odd) .con2-subject__inner {
    padding: min(28px, 3vw);
  }

  .con2-subject,
  .con2-subjects > .con2-subject,
  .con2-subjects > .con2-subject:nth-child(even) {
    flex-direction: column;
  }

  .con2-subjects > .con2-subject:nth-child(even) {
    padding: 6vw 6vw 2vw 6vw;
    margin: -4vw -6vw 0vw -6vw;
  }

  .con2-subjects > .con2-subject:nth-child(even)::before {
    border-radius: 0;
  }

  .con2-subject__media,
  .con2-subject__copy {
    flex: none;
    width: 100%;
    height: auto;
  }

  .con2-subject__media {
    position: relative;
    min-height: 0;
    aspect-ratio: 2 / 1;
  }

  .con2-subject__media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }
}

@media (max-width: 600px) {
  .con2-parts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .con2-parts a {
    padding: 14px 12px 12px;
    border-radius: 16px;
  }

  .con2-lists li {
    padding: min(8px, 1.8vw) min(16px, 2vw);
  }

  .con3-card ul {
    padding-left: min(20px, 2vw);
  }
  .con3-card li {
    flex-direction: row;
    justify-content: start;
    text-align: left;
    border: none;
    font-size: min(14px, 3.4vw);
    flex: 1 1 calc((100% - 0.2rem) / 2);
  }

  .con3-card li .con3-card-icon {
    width: min(100px, 10vw);
    height: min(100px, 10vw);
  }
}

@media (max-width: 900px) {
  .schedule-wrap {
    flex-direction: column;
    gap: 0;
  }

  .schedule-map {
    flex: none;
    width: 100%;
    height: min(320px, 72vw);
    margin-right: 0;
  }

  .schedule-map .root_daum_roughmap_landing,
  .schedule-map .os_mac.root_daum_roughmap,
  .schedule-map .root_daum_roughmap .wrap_map {
    height: 100%;
    min-height: 100%;
  }

  .schedule-info {
    padding: min(40px, 6vw) min(30px, 3vw);
  }

  .schedule-info ul li {
    grid-template-columns: min(74px, 15vw) 1fr;
  }

  .schedule-info ul li strong em {
    font-size: min(14px, 3.4vw);
    padding: 0 min(12px, 2vw);
  }

  .schedule-info__tel {
    font-size: min(32px, 8vw);
    margin-bottom: min(20px, 4vw);
  }

  .schedule-info__tel svg {
    width: min(20px, 8vw);
    height: min(20px, 8vw);
  }

  .schedule-info__block h3 {
    font-size: min(24px, 5vw);
  }

  .schedule-info__block h3 svg {
    width: min(20px, 6vw);
    height: min(16px, 6vw);
  }

  .schedule-info__block p,
  .schedule-info ul li {
    font-size: min(20px, 4vw);
  }

  .schedule-info ul li {
    gap: min(20px, 5vw);
  }

  .schedule-info__block p.schedule-info__note,
  .schedule-info__block p.schedule-info__guide {
    font-size: min(18px, 4vw);
  }

  .root_daum_roughmap .wrap_btn_zoom {
    right: 8px !important;
}
}
