@font-face {
  font-family: "Paperozi";
  src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-1Thin.woff2")
    format("woff2");
  font-weight: 100;
  font-display: swap;
}

@font-face {
  font-family: "Paperozi";
  src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-2ExtraLight.woff2")
    format("woff2");
  font-weight: 200;
  font-display: swap;
}

@font-face {
  font-family: "Paperozi";
  src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-3Light.woff2")
    format("woff2");
  font-weight: 300;
  font-display: swap;
}

@font-face {
  font-family: "Paperozi";
  src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-4Regular.woff2")
    format("woff2");
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Paperozi";
  src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-5Medium.woff2")
    format("woff2");
  font-weight: 500;
  font-display: swap;
}

@font-face {
  font-family: "Paperozi";
  src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-6SemiBold.woff2")
    format("woff2");
  font-weight: 600;
  font-display: swap;
}

@font-face {
  font-family: "Paperozi";
  src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-7Bold.woff2")
    format("woff2");
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: "Paperozi";
  src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-8ExtraBold.woff2")
    format("woff2");
  font-weight: 800;
  font-display: swap;
}

@font-face {
  font-family: "Paperozi";
  src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-9Black.woff2")
    format("woff2");
  font-weight: 900;
  font-display: swap;
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  box-sizing: border-box;
}
/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}
body {
  line-height: 1;
}
ol,
ul {
  list-style: none;
}
blockquote,
q {
  quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
  content: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}

:root {
  --width-container: 120rem;
  --padding-container-lr: 3rem;

  --color-bg: #222222;
  --color-bg-sub: #333333;
  --color-bg-sub-hover: #444444;
  --color-text: #ffffff;
  --color-text-hover: #777777;
  --color-border: #444444;
  --color-border-sub: #555555;
  --color-input-bg: #333333;

  --color-article-bg: #b1b1b1;

  --color-footer-bg: #444444;
  --color-footer-text: #b0b0b0;
  --color-footer-border: #767676;

  --color-primary: #3bafe3;
  --color-secondary: #2ca379;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  border: none;
  background: none;
  cursor: pointer;
}

html,
body {
  font-size: 10px !important;
  font-family: "Paperozi", sans-serif;
}

body {
  background-color: var(--color-bg);
  color: var(--color-text);
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.container {
  max-width: 100%;
  width: var(--width-container);
  margin: 0 auto;
  padding: 3rem var(--padding-container-lr);
}

/* header */
.header-top {
  line-height: 1;
  font-size: 1.2rem;
  display: flex;
  white-space: nowrap;
  align-items: center;
  gap: 10px;

  ul {
    display: flex;
    align-items: center;
    li {
      display: flex;
      align-items: baseline;
      & + li {
        margin-left: 10px;
        &::before {
          content: "";
          padding-left: 10px;
          display: inline-block;
          width: 1px;
          height: 0.8rem;
          border-left: 1px solid var(--color-border);
        }
      }
    }
  }

  .write-link {
    border: 1px solid var(--color-border);
    padding: 0.7em 1em;
    display: none;
    align-items: center;
    justify-content: center;
    color: var(--color-text);

    + .rss-link {
      margin-left: auto;
    }

    &.active {
      display: flex;
      margin-left: auto;
      + .rss-link {
        margin-left: 0;
      }
    }

    &:hover {
      background-color: var(--color-bg-sub-hover);
      color: var(--color-text) !important;
    }
    img {
      width: 1.2rem;
      height: 1.2rem;
      filter: invert(1);
      margin-left: 0.5em;
    }
  }

  a {
    &:hover {
      color: var(--color-text-hover);
    }
  }

  #curr-date {
    display: flex;
    align-items: center;

    &::before {
      content: "";
      display: inline-block;
      width: 1px;
      height: 0.8rem;
      border-left: 1px solid var(--color-border);
      margin-right: 10px;
    }
  }

  .search {
    display: flex;
    align-items: center;

  }
  .search input {
    background-color: var(--color-text);
    color: var(--color-bg);
    border: none;
    outline: none;
    padding: 5px 10px;
    font-size: 14px;
    border-radius: 5px;
    width: 100%;
    
  }
  .submit {
    display: flex;
    align-items: center;
    img {
      width: 2rem;
      height: 2rem;
      opacity: 0.5;
    }
  }
}

.header-bottom {
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin-top: 5rem;
  column-gap: 2rem;

  .logo {
    flex: 0 0 50%;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .header-ad {
    flex: 1;
    max-width: 20%;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .header-ad img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

/* Category */
nav {
  margin-top: 4rem;

  .tt_category {
    > li > a {
      display: none;
    }
    .category_list {
      display: flex;
      align-items: center;
      width: 100%;
      height: 4rem;
      font-size: 1.4rem;
      background-color: var(--color-bg-sub);
      li {
        flex: 1;
        position: relative;
        height: 100%;
        & + li {
          > .link_item {
            border-left: 1px solid var(--color-border-sub);
          }
        }
        &:hover {
          .sub_category_list {
            opacity: 1;
            pointer-events: auto;
          }
        }

        > .link_item {
          display: flex;
          align-items: center;
          justify-content: center;
          width: 100%;
          height: 100%;
          cursor: pointer;
          &:hover {
            background-color: var(--color-bg-sub-hover);
          }
        }
        .sub_category_list {
          width: 100%;
          position: absolute;
          opacity: 0;
          top: 100%;
          left: 0;
          background-color: var(--color-bg-sub);
          color: var(--color-text);
          padding: 10px;
          border-radius: 0 0 0.8rem 0.8rem;
          box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
          z-index: 1000;
          pointer-events: none;

          li {
            height: 5rem;
            border-radius: 0.8rem;
            &:hover {
              background-color: var(--color-bg-sub-hover);
            }
            a {
              display: flex;
              align-items: center;
              justify-content: center;
              width: 100%;
              height: 100%;
            }
          }
        }
      }
    }
  }
}

.cover-title {
  font-size: 1.6rem;
  color: var(--color-primary);
  display: flex;
  align-items: baseline;
  column-gap: 0.5rem;
  padding-bottom: 1rem;
  margin-top: 3rem;
  margin-bottom: 2rem;
  border-bottom: 1px solid var(--color-text);
  position: relative;

  i {
    color: var(--color-text);
    font-weight: bold;
    font-size: 1.4rem;
  }

  &::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 5rem;
    height: 2px;
    background-color: var(--color-text);
  }

  span {
    color: var(--color-secondary);
    font-size: 0.7em;
    font-weight: bold;
  }
}

/* Main */

.main {
  .home {
    display: flex;
    column-gap: 3rem;

    .home-left {
      flex: 1;
      overflow: hidden;
      .headline {
        .headline-content {
          border: 1px solid var(--color-border);
          display: flex;

          .swiper {
            flex: 1;
            background-color: var(--color-bg-sub);

            .swiper-slide {
              position: relative;
              &:hover {
                .thumbnail {
                  img {
                    transform: scale(1.05);
                  }
                }
                .headline-text {
                  .title {
                    color: var(--color-primary);
                    text-decoration: underline;
                  }
                }
              }

              &:nth-of-type(1) {
                .simple-date {
                  background-color: #2c7ea3;
                }
              }

              &:nth-of-type(2) {
                .simple-date {
                  background-color: #2ca379;
                }
              }

              &:nth-of-type(3) {
                .simple-date {
                  background-color: #a32c51;
                }
              }

              &:nth-of-type(4) {
                .simple-date {
                  background-color: #a3512c;
                }
              }
              &:nth-of-type(5) {
                .simple-date {
                  background-color: #a32c51;
                }
              }

              &:nth-of-type(6) {
                .simple-date {
                  background-color: #a32c51;
                }
              }

              .simple-date {
                font-size: 1.3rem;
                position: absolute;
                top: 2rem;
                left: 2rem;
                z-index: 2;
                padding: 0.4em 0.7em;
                background-color: rgba(0, 0, 0, 0.8);
              }

              .thumbnail {
                position: absolute;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                overflow: hidden;
                img {
                  width: 100%;
                  height: 100%;
                  object-fit: cover;
                  transition: transform 0.3s ease;
                }
              }
              .headline-text {
                position: absolute;
                left: 0;
                bottom: 0;
                width: 100%;
                background-color: rgba(0, 0, 0, 0.8);
                z-index: 1;
                padding: 1.9rem;
                font-size: 1.2rem;

                .title {
                  font-size: 1.5em;
                  font-weight: bold;
                  text-overflow: ellipsis;
                  overflow: hidden;
                  white-space: nowrap;
                }

                .summary {
                  margin-top: 0.9rem;
                  line-height: 1.6;
                  overflow: hidden;
                  text-overflow: ellipsis;
                  display: -webkit-box;
                  -webkit-line-clamp: 2;
                  -webkit-box-orient: vertical;
                }
              }
            }
          }
          .slide-list {
            flex: 0 0 30%;
            border-left: 1px solid var(--color-border);

            .slide-item {
              display: flex;
              gap: 1.2rem;
              padding: 1.2rem;
              height: 8rem;
              box-sizing: border-box;
              border: 1px solid transparent;
              border-bottom: 1px solid var(--color-border);
              cursor: pointer;

              &:last-child {
                border-bottom-color: transparent;
              }

              &:hover {
                background-color: var(--color-bg-sub);
                border: 1px solid var(--color-primary);
              }

              .thumbnail {
                height: 100%;
                aspect-ratio: 1;
                border: 1px solid var(--color-border);

                img {
                  width: 100%;
                  height: 100%;
                  object-fit: cover;
                }
              }
              .title {
                font-size: 1.2rem;
                line-height: 1.5;
                -webkit-line-clamp: 2;
                -webkit-box-orient: vertical;
                overflow: hidden;
                text-overflow: ellipsis;
                display: -webkit-box;
              }
            }
          }
        }
      }

      .main-ad-content {
        display: flex;
        align-items: center;
        gap: 1.2rem;
        a {
          width: 100%;
          img {
            width: 100%;
            height: 100%;
            object-fit: fill;
          }
        }
      }

      .post-list-group1 {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(2, 1fr);
        gap: 1.2rem;
        width: 100%;
        overflow: hidden;
      }

      .post-list-group2 {
        display: flex;
        gap: 1.2rem;
        width: 100%;
        overflow: hidden;
      }

      .post-list {
        &:first-of-type {
          grid-row: span 2;
        }

        .post-list-link {
          display: flex;
          height: 9.3rem;
          padding: 1.2rem;
          column-gap: 2rem;
          transition: transform 0.3s ease;
          border-radius: 0.8rem;
          border: 1px solid transparent;

          &:hover {
            transform: translateY(-0.5rem);
            background-color: var(--color-bg-sub);
            border: 1px solid var(--color-primary);
          }

          .thumbnail {
            border: 1px solid var(--color-border);
            height: 100%;
            aspect-ratio: 16 / 9;

            img {
              width: 100%;
              height: 100%;
              object-fit: cover;
            }
          }
          .content {
            flex: 1;
            .title {
              font-size: 1.4rem;
              font-weight: bold;
              overflow: hidden;
              text-overflow: ellipsis;
              display: -webkit-box;
              -webkit-line-clamp: 1;
              -webkit-box-orient: vertical;
            }
            .info {
              margin-top: 0.8rem;
              display: flex;
              gap: 1rem;
              color: var(--color-text);
              font-size: 1rem;
            }
            .summary {
              font-size: 1.1rem;
              color: var(--color-text);
              margin-top: 0.6rem;
              line-height: 1.6;
              text-overflow: ellipsis;
              display: -webkit-box;
              -webkit-line-clamp: 2;
              -webkit-box-orient: vertical;
              overflow: hidden;
              max-width: 100%;
              word-break: break-all;
              white-space: normal;
              box-sizing: border-box;
            }
          }
        }
      }
    }

    .home-right {
      flex: 0 0 30rem;
      overflow: hidden;

      .sidebar-ad {
        .sidebar-ad-link {
          .title {
            font-size: 1.3rem;
          }
          .image {
            margin-top: 1rem;
            width: 100%;
            aspect-ratio: 22 / 9;
            object-fit: cover;
          }
        }
      }
      .sidebar-posts {
        .swiper2 {
          .swiper-wrapper {
            .swiper-slide {
              border: 1px solid var(--color-border);
              padding: 1.2rem;

              &:hover {
                background-color: var(--color-bg-sub);
                border: 1px solid var(--color-primary);
                box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);

                color: var(--color-primary);
              }

              .sidebar-post-thumbnail {
                width: 100%;
                aspect-ratio: 16 / 10;
                border: 1px solid var(--color-border);

                img {
                  width: 100%;
                  height: 100%;
                  object-fit: cover;
                }
              }
              .sidebar-post-content {
                margin-top: 2rem;
                .title {
                  font-size: 1.4rem;
                  font-weight: bold;
                  text-align: center;
                  overflow: hidden;
                  text-overflow: ellipsis;
                  display: -webkit-box;
                  -webkit-line-clamp: 1;
                  -webkit-box-orient: vertical;
                }
                .author {
                  margin-top: 1rem;
                  text-align: center;
                  padding: 0.5rem 0;
                  border-top: 1px dashed var(--color-border-sub);
                  border-bottom: 1px dashed var(--color-border-sub);
                  font-size: 1.2rem;
                  color: var(--color-text);

                  display: flex;
                  align-items: center;
                  justify-content: center;
                  gap: 0.2rem;

                  img {
                    filter: invert(1);
                    width: 1.2rem;
                    height: 1.2rem;
                  }
                }
                .summary {
                  font-size: 1.1rem;
                  color: var(--color-text);
                  margin-top: 0.6rem;
                  line-height: 1.8;
                  text-overflow: ellipsis;
                  display: -webkit-box;
                  -webkit-line-clamp: 3;
                  -webkit-box-orient: vertical;
                  overflow: hidden;
                }
              }
            }
          }
        }
      }

      .sidebar-etc {
        margin-top: 2rem;
        .button-group {
          margin-top: 0.5rem;
          display: flex;
          gap: 0.5rem;
          a {
            img {
              width: 100%;
              height: 100%;
              object-fit: fill;
            }
          }
        }

        .info {
          margin-top: 1.5rem;

          img {
            width: 100%;
            margin-top: 0.5rem;
          }
        }
      }
    }

    .home-youtube {
      margin-top: 2rem;
    }

    .home-sns {
      margin-top: 3rem;
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 0 2rem;
      column-gap: 0.5rem;
      a {
        flex: 1;
        img {
          width: 100%;
          aspect-ratio: 1;
          border-radius: 50%;
        }
      }
    }
  }

  .list-ad {
    width: 100%;
    margin-top: 2rem;
    img {
      width: 100%;
      height: 100%;
    }
  }

  .post-list-wrapper {
    display: flex;
    flex-direction: column;

    .list-title {
      font-size: 3rem;
      font-weight: bold;
      line-height: 1.6;
      margin-top: 3rem;
      padding-bottom: 1rem;
      border-bottom: 1px solid var(--color-border);

      strong {
        color: var(--color-primary);
        margin-left: 0.5rem;
        display: inline-block;
      }
    }

    .empty {
      margin-top: 3rem;
      font-size: 1.6rem;
      color: var(--color-text);
    }
    .item {
      display: flex;
      gap: 2.2rem;
      padding: 2.2rem;
      border: 1px solid var(--color-border);
      transition: transform 0.3s ease;
      margin-top: 2rem;
      height: 28rem;

      &:hover {
        transform: translateY(-0.5rem);
        background-color: var(--color-bg-sub);
        border: 1px solid var(--color-primary);
        box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
        color: var(--color-primary);

        .thumbnail {
          img {
            transform: scale(1.05);
          }
        }
        .content {
          .title {
            color: var(--color-primary);
          }
        }
      }

      .thumbnail {
        height: 100%;
        aspect-ratio: 16 / 12;
        border: 1px solid var(--color-border);
        overflow: hidden;
        border-radius: 0.8rem;
        img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          transition: transform 0.3s ease;
        }
      }
      .content {
        flex: 1;
        font-size: 1.2rem;
        .title {
          font-size: 1.8em;
          font-weight: bold;
          overflow: hidden;
          text-overflow: ellipsis;
          display: -webkit-box;
          -webkit-line-clamp: 2;
          -webkit-box-orient: vertical;
          line-height: 1.3;
        }
        .info {
          margin-top: 1.5em;
          display: flex;
          align-items: center;
          gap: 1rem;
          color: var(--color-text);

          .date {
            display: flex;
            align-items: center;
            column-gap: 0.5rem;
            margin-left: 1rem;
            img {
              width: 1.2rem;
              height: 1.2rem;
              filter: invert(1);
              display: inline-block;
            }
          }
        }
        .summary {
          font-size: 1.1em;
          color: var(--color-text);
          margin-top: 1.5em;
          line-height: 1.8;
          text-overflow: ellipsis;
          display: -webkit-box;
          -webkit-line-clamp: 3;
          -webkit-box-orient: vertical;
          overflow: hidden;
        }
      }
    }
  }

  .paging {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin: 3rem auto;
    gap: 0.2rem;

    a {
      font-size: 1.2rem;
      border-radius: 0.2rem;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 0.5rem;
      cursor: pointer;

      min-width: 3.4rem;
      height: 3.4rem;

      &:hover {
        background-color: var(--color-bg-sub);
      }

      &:first-of-type {
        img {
          transform: scaleX(-1);
        }
      }

      &.no-more-prev {
        pointer-events: none;
        opacity: 0.2;
      }
      &.no-more-next {
        pointer-events: none;
        opacity: 0.2;
      }

      &.num {
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: bold;
        min-width: 3.4rem;
        height: 3.4rem;
        padding: 0 0.5rem;
        &:hover {
          border: 1px solid var(--color-border);
        }
        .selected {
          color: var(--color-primary);
          pointer-events: none;
        }
      }

      &.arrow {
        border: 2px solid var(--color-border);
        img {
          width: 80%;
          height: 80%;
          object-fit: contain;
        }
      }
    }
  }

  .article-wrap {
    margin-top: 4rem;
    margin-bottom: 4rem;
    display: flex;
    column-gap: 2rem;

    .article-wrap-left {
      flex: 1;

      .article-ad {
        margin-top: 2rem;
        img {
          width: 100%;
          height: auto;
          object-fit: contain;
          display: block;
        }
      }

      .title-wrap {
        margin-top: 3rem;
        margin-bottom: 3rem;
        border-top: 1px solid var(--color-border);
        border-bottom: 1px solid var(--color-border);
        padding: 5rem 0;
        h1 {
          font-size: 3.5rem;
          font-weight: bold;
          line-height: 1.4;
          text-align: center;
        }
        .category {
          margin-top: 1rem;
          font-size: 2rem;
          text-align: center;
          color: var(--color-primary);
          &:hover {
            text-decoration: underline;
          }
        }
        .date {
          font-size: 1.3rem;
          text-align: center;
          margin-top: 1rem;
          color: var(--color-text);
        }
      }
      .article {
        margin-top: 2rem;
        font-size: 1.6rem;
        line-height: 1.6;

        img {
          width: 100%;
          object-fit: contain;
        }

        h2 {
          font-size: 1.8em;
          font-weight: bold;
          margin-top: 2rem;
          margin-bottom: 1rem;
        }
        h3 {
          font-size: 1.6em;
          font-weight: bold;
          margin-top: 2rem;
          margin-bottom: 1rem;
        }
        h4 {
          font-size: 1.4em;
          font-weight: bold;
          margin-top: 2rem;
          margin-bottom: 1rem;
        }

        strong {
          font-weight: bold;
          color: var(--color-primary);
        }
        em {
          font-style: italic;
        }
        span {
        }

        figure {
          margin-top: 2rem;
          margin-bottom: 2rem;
          img {
            width: 100%;
            object-fit: contain;
          }
        }
        figcaption {
          font-size: 1.2em;
          color: var(--color-text);
          margin-top: 1rem;
          text-align: center;
        }
        blockquote {
          margin-top: 2rem;
          margin-bottom: 2rem;
          padding: 2rem;
          border-left: 4px solid var(--color-primary);
          color: var(--color-text);
        }
        ul {
          margin-top: 2rem;
          margin-bottom: 2rem;
          padding-left: 2rem;
          list-style: disc;
          color: var(--color-text);
        }
        ol {
          margin-top: 2rem;
          margin-bottom: 2rem;
          padding-left: 2rem;
          list-style: decimal;
          color: var(--color-text);
        }
        li {
          margin-top: 1rem;
          margin-bottom: 1rem;
          color: var(--color-text);
        }
        table {
          margin-top: 2rem;
          margin-bottom: 2rem;
          width: 100%;
          border-collapse: collapse;
          border: 1px solid var(--color-border);
          color: var(--color-text);
        }
        th {
          background-color: var(--color-bg-sub);
          color: var(--color-text);
        }
        td {
          border: 1px solid var(--color-border);
          color: var(--color-text);
        }
      }
    }

    .article-wrap-right {
      flex: 0 0 25%;
      overflow: hidden;

      .sidebar-ad {
        .cover-title {
          font-size: 1.6rem;
          font-weight: bold;
          margin-bottom: 1rem;
        }
        .sidebar-ad-link {
          .title {
            font-size: 1.3rem;
            font-weight: bold;
            margin-bottom: 1rem;
          }
        }
        .image {
          width: 100%;
          aspect-ratio: 16 / 9;
          object-fit: cover;
        }
      }

      .sidebar-category {
        margin-top: 2rem;
        .tt_category {
          .link_tit {
            font-size: 1.2rem;
            font-weight: bold;
            margin-bottom: 0.5rem;
            padding: 1rem;
            border-bottom: 1px solid var(--color-border);
            margin-bottom: 0.7rem;
            display: inline-block;
            width: 100%;
            height: 100%;
            text-align: center;
            vertical-align: middle;
            line-height: 1.5;
            box-sizing: border-box;
            overflow: hidden;
            text-overflow: ellipsis;
          }

          li {
            padding: 0.7rem;
            margin-bottom: 0.2rem;
            font-size: 1.2rem;

            a {
              display: inline-block;

              &:hover {
                color: var(--color-primary);
              }
            }

            .link_item {
              border-bottom: 1px solid var(--color-border);
              padding-bottom: 1rem;
              margin-bottom: 0.7rem;
              &:last-child {
                border-bottom: none;
                padding-bottom: 0;
                margin-bottom: 0;
              }
            }
          }
        }
      }

      .sidebar-etc {
        margin-top: 2rem;
        .button-group {
          margin-top: 0.5rem;
          display: flex;
          gap: 0.5rem;
          a {
            img {
              width: 100%;
              height: 100%;
              object-fit: fill;
            }
          }
        }

        .info {
          margin-top: 1.5rem;

          img {
            width: 100%;
            margin-top: 0.5rem;
          }
        }
      }

      .sidebar-youtube {
        margin-top: 2rem;
      }

      .sidebar-sns {
        margin-top: 3rem;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0 2rem;
        column-gap: 0.5rem;
        a {
          flex: 1;
          img {
            width: 100%;
            aspect-ratio: 1;
            border-radius: 50%;
          }
        }
      }
    }
  }
}

footer {
  position: relative;
  margin-top: 10rem;
  background-color: var(--color-footer-bg);
  white-space: nowrap;
  margin-top: auto;

  .footer-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 2rem;
    transform: translateY(-100%);
    z-index: 1;
    img {
      width: 100%;
      height: 100%;
      object-fit: fill;
    }
  }

  .footer-container {
    max-width: 100%;
    font-size: 1.1rem;
    width: var(--width-container);
    margin: 0 auto;
    color: var(--color-footer-text);
    padding: 1rem var(--padding-container-lr) 3rem;
    z-index: 2;

    .footer-links {
      display: flex;
      flex-wrap: wrap;
      row-gap: 1rem;
      a {
        &:hover {
          text-decoration: underline;
        }
        & + a {
          border-left: 1px solid var(--color-footer-border);
          padding-left: 1rem;
          margin-left: 1rem;
        }
      }
    }
    .footer-contact {
      display: flex;
      margin-top: 2.5rem;
      row-gap: 1rem;
      display: flex;
      flex-direction: column;
      .top {
        display: flex;
        gap: 3.5rem;
      }

      .middle {
        display: flex;
        gap: 3.5rem;
      }

      .bottom {
        margin-top: 1rem;
        display: flex;
        gap: 0.5rem;
      }
    }
  }
}

/* Swiper JS */
/* 기본 Swiper 아이콘 제거 */
.swiper-navigation-icon {
  display: none;
}

/* 버튼 기본 형태 */
.swiper-button-next,
.swiper-button-prev {
  width: 6rem !important;
  height: 6rem !important;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
}
/* 화살표 이미지 적용 */
.swiper-button-next {
  background-image: url("./images/right-arrow.svg");
  right: 1rem;
  background-color: transparent !important;
  opacity: 0.5;
  &:hover {
    opacity: 1;
  }
}

.swiper-button-prev {
  background-image: url("./images/right-arrow.svg");
  transform: rotate(180deg); /* 왼쪽 방향으로 뒤집기 */
  left: 1rem;
  background-color: transparent !important;
  opacity: 0.5;
  &:hover {
    opacity: 1;
  }
}

/* hover 시 살짝 어두워짐 */
.swiper-button-next:hover,
.swiper-button-prev:hover {
  background-color: rgba(0, 0, 0, 0.5);
}

.kakao-map-embed {
  max-width: 100%;
  width: 100%;
  margin: 3.5rem 0;
  color: #333;
  position: relative;
  box-sizing: border-box;

  .kakao-map-main {
    width: 100%;
    overflow: hidden;
  }
  .kakao-map-main img.map {
    transform: scale(1.4);
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

@media (max-width: 1200px) {
  .container {
    .header-top {
      .hamburger {
        display: flex;
        flex-direction: column;
        gap: 0.5rem;
        width: 2rem;
        cursor: pointer;
        span {
          width: 100%;
          height: 0.2rem;
          background-color: var(--color-text);
        }
      }

      ul {
        display: none;
      }

      #curr-date {
        &:before {
          display: none;
        }
      }
    }

    nav {
      position: fixed;
      top: 0;
      left: 0;
      width: 25rem;
      height: 100%;
      overflow-y: auto;
      background-color: var(--color-bg-sub);
      z-index: 999;
      transform: translateX(-100%);
      transition: transform 0.3s ease-in-out;
      border-right: 1px solid var(--color-border-sub);

      &.active {
        transform: translateX(0);
      }

      .tt_category {
        padding: 1rem;
        margin: 0;

        > li > a {
          display: flex;
          align-items: center;
          justify-content: center;
          width: 100%;
          height: 100%;
          padding: 1rem;
          font-size: 1.4rem;
          color: var(--color-text);
          font-weight: bold;
        }

        .category_list {
          display: block;
          position: relative;
          height: auto;

          .link_item {
            display: block;
            padding: 1rem;
            font-size: 1.4rem;
            color: var(--color-text);
            font-weight: bold;
            border: none;
            border-top: 1px solid var(--color-border-sub);
            border-bottom: 2px solid var(--color-primary);
            transition: background 0.16s, color 0.16s;

            &:hover {
              background-color: transparent;
            }
          }

          li {
            height: auto;
            &:hover {
              background-color: transparent;
              color: var(--color-text);
            }
            /* sub-category */

            .sub_category_list {
              position: relative;
              width: 100%;
              opacity: 1;
              pointer-events: auto;
              display: block;
              background: var(--color-bg-sub);
              margin: 0;
              padding: 0;

              .link_sub_item {
                display: block;
                padding: 1.5rem 2rem;
                height: auto;
                font-size: 1.2rem;
                color: var(--color-text);
                font-weight: 500;
                transition: background 0.16s, color 0.16s;
              }
            }
          }
        }

        /* 접혀있는(서브 없는) 메인 카테고리 스타일 */
        > li:not(:first-child) .link_tit {
          color: #333;
          font-weight: 500;
          background: #fff;
          border-left: none;
        }
        > li:not(:first-child) .category_list {
          display: none;
        }
      }
    }

    .nav-overlay {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.5);
      z-index: 99;
      display: none;
      touch-action: none;
      -webkit-overflow-scrolling: touch;
      &.active {
        display: block;
      }
    }

    .header-bottom {
      margin-top: 2rem;
      .logo {
        max-width: 80%;
        img {
          width: 100%;
          height: 100%;
          object-fit: contain;
        }
      }
    }

    .home-right {
      display: none;
    }
  }

  footer {
    width: 100%;
    .footer-container {
      width: 100%;
      padding: 0.8rem;
      .footer-links {
        justify-content: center;
        flex-wrap: wrap;
      }

      .footer-contact {
        .top {
          flex-wrap: wrap;
          justify-content: center;
          gap: 1rem;
        }
        .middle {
          flex-wrap: wrap;
          justify-content: center;
          gap: 1rem;
          margin-top: 1rem;
        }
        .bottom {
          flex-wrap: wrap;
          justify-content: center;
          line-break: anywhere;
          gap: 1rem;
          margin-top: 1rem;
        }
      }
    }
  }
}

@media (max-width: 768px) {
  .container {
    padding: 1rem;

    .header-top {
      .search {
        flex: 1;
        max-width: 20rem;
      }
    }

    .header-bottom {
      .header-ad {
        display: none;
      }
    }

    .main {
      .home {
        .home-left {
          .headline {
            .headline-content {
              flex-direction: column;
              .swiper {
                flex: 0 0 30rem;
                width: 100%;
              }
            }
          }

          .post-list-group1,
          .post-list-group2 {
            display: flex;
            flex-direction: column;

            .post-list {
              .post-list-link {
                padding: 0;
                margin-bottom: 1rem;
                border-radius: 0;
                border: none;

                &:hover {
                  transform: none;
                  background-color: transparent;
                }

                &:nth-child(n + 5) {
                  display: none;
                }
              }
            }
          }

          .post-list-group1 {
            display: none;
          }
          .main-ad-2 {
            display: none;
          }
        }
      }

      .post-list-wrapper {
        .item {
          height: 35vw;
          min-height: 15rem;

          .content {
            font-size: 1rem;

            .title {
              -webkit-line-clamp: 1;
            }

            .info {
              column-gap: 0.2rem;
              margin-top: 0.8rem;
            }

            .summary {
              -webkit-line-clamp: 2;
              margin-top: 0.8rem;
            }
          }
        }
      }
    }

    .main-ad-content {
      flex-direction: column;
      gap: 1rem;
      a {
        min-width: 100%;
      }
    }

    .article-wrap {
      .title-wrap {
        padding: 3rem 0;
        h1 {
          font-size: 2.5rem;
        }
        .category {
          font-size: 1.8rem;
        }
        .date {
          font-size: 1.2rem;
        }
      }
      .article {
        font-size: 1.4rem;
      }
    }
  }
}

img[alt="N"] {
  display: none;
}
