@charset "UTF-8";
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

svg {
  display: block;
  width: 100%;
  height: 100%;
}

html {
  font-size: 16px;
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
  overflow-x: hidden;
}

body {
  min-height: 100vh;
  line-height: 1.2;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img,
video {
  max-width: 100%;
  height: auto;
  display: block;
}

img {
  vertical-align: top;
}

input,
button,
textarea,
select {
  font: inherit;
}

a {
  color: inherit;
  text-decoration: none;
}

ul,
ol {
  list-style: none;
}

button {
  cursor: pointer;
  background: none;
  border: none;
}

input {
  border: 0;
  background: transparent;
}

[hidden],
.is-hidden {
  display: none !important;
}

.visually-hidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

body {
  font-family: "Pretendard", "Pretendard Variable", Pretendard, sans-serif;
  font-size: 16px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 700;
  line-height: 1.2;
}

h1 {
  font-size: clamp(24px, 1.8461538462vw + 17.0769230769px, 36px);
}

h2 {
  font-size: clamp(20px, 0.6153846154vw + 17.6923076923px, 24px);
}

h3 {
  font-size: clamp(16px, 0.3076923077vw + 14.8461538462px, 18px);
}

h4 {
  font-size: clamp(14px, 0.3076923077vw + 12.8461538462px, 16px);
}

body {
  color: #fff;
  background-color: #000;
  word-break: keep-all;
}

body[data-mode=white] {
  color: #000;
  background-color: #fff;
}

body.modal-open {
  overflow: hidden;
  position: fixed;
  width: 100%;
  top: var(--scroll-top, 0px);
}

.content {
  min-height: 100vh;
  padding-top: clamp(62px, 5.8461538462vw + 40.0769230769px, 100px);
}
.content__inner {
  padding-inline: clamp(16px, 2.1538461538vw + 7.9230769231px, 30px);
}
.content__inner_fit {
  padding-inline: 0;
}
.content__title {
  font-size: clamp(36px, 6.7692307692vw + 10.6153846154px, 80px);
  letter-spacing: -0.02em;
}

.content-section {
  max-width: 1620px;
  margin-inline: auto;
  padding-bottom: var(--content-section-padding-bottom);
}
.content-section_fit {
  max-width: none;
}

.content-row {
  width: 100%;
  max-width: 1620px;
  margin-inline: auto;
  padding-inline: clamp(16px, 2.1538461538vw + 7.9230769231px, 30px);
}

.view-detail {
  padding-bottom: 100px;
}
.view-detail__content {
  margin-block: 80px;
  font-size: clamp(14px, 0.6153846154vw + 11.6923076923px, 18px);
  line-height: 1.5;
}
.view-detail__preview {
  margin-block: 80px;
  padding-bottom: 80px;
  border-bottom: 1px solid #ccc;
}
.view-detail__thumbnail {
  margin-bottom: 80px;
}
.view-detail__description {
  font-size: clamp(15px, 1.3846153846vw + 9.8076923077px, 24px);
  line-height: 1.5;
  letter-spacing: -0.02em;
}
.view-detail__meta {
  display: flex;
  align-items: center;
  margin-bottom: 40px;
}

.pc-br {
  display: block;
}

.mo-br {
  display: none;
}

@media screen and (max-width: 767px) {
  .pc-br {
    display: none;
  }
  .mo-br {
    display: block;
  }
  .view-detail {
    padding-bottom: 60px;
  }
  .view-detail__content {
    margin-block: 40px;
  }
  .view-detail__thumbnail {
    margin-bottom: 40px;
  }
  .view-detail__preview {
    margin-top: 40px;
    margin-bottom: 40px;
    padding-bottom: 40px;
  }
  .view-detail__description {
    line-height: 1.8;
  }
  .view-detail__meta {
    flex-wrap: wrap;
    row-gap: 10px;
    margin-bottom: 20px;
  }
}
[data-motion]:not([data-motion-done]) {
  opacity: 0;
}

@keyframes arrow-fly-up {
  0% {
    transform: translate(0, 0);
  }
  45% {
    transform: translate(120%, -120%);
  }
  46% {
    transform: translate(-120%, 120%);
  }
  100% {
    transform: translate(0, 0);
  }
}
@keyframes arrow-fly-down {
  0% {
    transform: translate(0, 0);
  }
  45% {
    transform: translate(120%, 120%);
  }
  46% {
    transform: translate(-120%, -120%);
  }
  100% {
    transform: translate(0, 0);
  }
}
.pagination__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 52px;
}
.pagination__button {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  color: inherit;
  font-size: 24px;
  line-height: 1;
  letter-spacing: -0.02em;
  transition: color 0.2s cubic-bezier(0.22, 1, 0.36, 1);
}
.pagination__button::before, .pagination__button::after {
  content: "";
  position: absolute;
  bottom: -4px;
  left: 0;
  height: 2px;
}
.pagination__button::before {
  width: calc(100% + 2px);
  background-color: #fff;
}
.pagination__button::after {
  width: 0;
  background-color: #e72528;
}
body[data-mode=white] .pagination__button::before {
  background-color: #000;
}
.pagination__button:hover {
  color: #e72528;
}
.pagination__button:hover::after {
  width: calc(100% + 2px);
  transition: width 0.3s ease;
}
.pagination__button.is-disabled, .pagination__button[aria-disabled=true] {
  color: #aaa;
  cursor: not-allowed;
}
.pagination__button.is-disabled::before, .pagination__button.is-disabled::after, .pagination__button[aria-disabled=true]::before, .pagination__button[aria-disabled=true]::after {
  background-color: #aaa;
}
body[data-mode=white] .pagination__button.is-disabled::before, body[data-mode=white] .pagination__button.is-disabled::after, body[data-mode=white] .pagination__button[aria-disabled=true]::before, body[data-mode=white] .pagination__button[aria-disabled=true]::after {
  color: #888;
  background-color: #888;
}
body[data-mode=white] .pagination__button.is-disabled, body[data-mode=white] .pagination__button[aria-disabled=true] {
  color: #888;
}
.pagination__indicator {
  display: inline-flex;
  gap: 4px;
  align-items: center;
  color: inherit;
  font-size: 24px;
  letter-spacing: -0.02em;
}
.pagination__separator {
  color: #fff;
}
body[data-mode=white] .pagination__separator {
  color: #000;
}
.pagination__separator svg {
  width: 11px;
  height: auto;
}

@media screen and (max-width: 767px) {
  .pagination__inner {
    gap: 40px;
  }
  .pagination__button {
    font-size: 16px;
  }
  .pagination__button::before, .pagination__button::after {
    left: 0;
    height: 1px;
  }
  .pagination__button::before {
    width: calc(100% + 1px);
  }
  .pagination__button:hover::after {
    width: calc(100% + 1px);
  }
  .pagination__indicator {
    font-size: 16px;
  }
  .pagination__separator svg {
    width: 7px;
  }
}
.text-link {
  display: inline-flex;
  align-items: center;
  gap: var(--text-link-gap, 6px);
  color: inherit;
}
.text-link__icon-wrap {
  display: inline-flex;
  flex-shrink: 0;
  overflow: hidden;
  width: var(--text-link-icon-size, 24px);
  height: var(--text-link-icon-size, 24px);
}
.text-link__icon {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
}
.text-link:hover .text-link__icon {
  animation: arrow-fly-up 0.4s ease forwards;
}

.keyword-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.keyword-item {
  display: inline-flex;
  align-items: center;
  height: 44px;
  padding-inline: 20px;
  border: 1px solid #999;
  font-size: var(--keyword-item-font-size, clamp(12px, 0.6153846154vw + 9.6923076923px, 16px));
}

@media screen and (max-width: 767px) {
  .keyword-item {
    height: 28px;
    padding-inline: 12px;
  }
}
/**
 * PC 중앙형 모달 셸 — 모바일은 mobileMode modifier로 구분
 * - auto: 짧은 컨텐츠는 화면 중앙·min-height 30dvh, 길면 max-height 100dvh까지 확장(내부 스크롤)
 * - fullscreen: 항상 뷰포트 전체(개인정보 동의 등)
 */
.modal-shell {
  display: none;
  position: fixed;
  inset: 0;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: rgba(0, 0, 0, 0.4);
  overflow: hidden;
  z-index: 200;
}
.modal-shell.is-open {
  display: flex;
}
.modal-shell {
  /** 모바일: 항상 전체 화면 */
}
@media (max-width: 767px) {
  .modal-shell_mobile-fullscreen {
    min-height: 100dvh;
    padding: 0;
    background-color: #fff;
  }
}
.modal-shell__dialog {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 800px;
  max-height: 80vh;
  color: #000;
  background-color: #fff;
  overflow: hidden;
  z-index: 1;
}
@media (max-width: 767px) {
  .modal-shell_mobile_auto .modal-shell__dialog {
    flex: 0 1 auto;
    width: 100%;
    min-height: 30dvh;
    max-width: 800px;
    max-height: 100dvh;
    overflow: hidden;
  }
}
@media (max-width: 767px) {
  .modal-shell_mobile_fullscreen .modal-shell__dialog {
    flex: 1 1 auto;
    width: 100%;
    max-width: none;
    height: 100%;
    max-height: none;
    min-height: 0;
  }
}
.modal-shell__close {
  position: absolute;
  top: clamp(16px, 2.1538461538vw + 7.9230769231px, 30px);
  right: clamp(16px, 2.1538461538vw + 7.9230769231px, 30px);
  width: clamp(32px, 1.2307692308vw + 27.3846153846px, 40px);
  height: clamp(32px, 1.2307692308vw + 27.3846153846px, 40px);
  color: #000;
  cursor: pointer;
}
.modal-shell__body {
  display: flex;
  flex-direction: column;
  padding-top: 80px;
  padding-bottom: 40px;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}
.modal-shell__footer {
  display: flex;
  flex-shrink: 0;
  justify-content: center;
  padding-block: 20px 40px;
}
.modal-shell__btn_primary {
  width: 260px;
  min-height: 60px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  background-color: #000;
  letter-spacing: -0.02em;
  cursor: pointer;
}
.modal-shell__btn_primary.is-disabled, .modal-shell__btn_primary:disabled {
  cursor: not-allowed;
  opacity: 0.35;
}

@media screen and (max-width: 767px) {
  .modal-shell__dialog {
    width: 100%;
  }
  .modal-shell__close {
    top: 15px;
    right: 16px;
    width: 32px;
    height: 32px;
  }
  .modal-shell_mobile-auto {
    padding-inline: 16px;
  }
  .modal-shell_mobile-fullscreen {
    justify-content: stretch;
  }
  .modal-shell_mobile-fullscreen .modal-shell__dialog {
    max-height: unset;
  }
  .modal-shell__footer {
    padding-inline: 16px;
  }
  .modal-shell__btn_primary {
    width: 100%;
    min-height: 44px;
    font-size: 13px;
    letter-spacing: 0;
  }
}
.alert-modal {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-inline: 40px;
}
.alert-modal__text {
  min-height: 110px;
  align-content: center;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  color: #000;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .alert-modal {
    padding-inline: 16px;
  }
}
.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  padding-block: 28px;
  padding-inline: 30px;
  background-color: transparent;
  z-index: 100;
}
body.modal-open .header {
  background-color: transparent;
}
.header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.header__back {
  display: none;
  color: #fff;
}
body[data-mode=white] .header__back {
  color: #000;
}
body.header-dark .header__back {
  color: #000;
}
body.header-light .header__back {
  color: #fff;
}
.header__breadcrumb {
  flex: 1;
  display: flex;
  justify-content: center;
  min-width: 0;
  color: #fff;
  transition: color 0.3s ease;
}
body[data-mode=white] .header__breadcrumb {
  color: #000;
}
body.header-dark .header__breadcrumb {
  color: #000;
}
body.header-light .header__breadcrumb {
  color: #fff;
}
body.site-map-open .header__breadcrumb {
  display: none;
}

.logo__image {
  width: auto;
  height: 44px;
}

.menu-button {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 40px;
  padding-block: 12px;
}
.menu-button__line {
  height: 3px;
  background-color: #fff;
  transform-origin: center;
  transition: transform 0.3s ease, width 0.3s ease, opacity 0.3s ease, background-color 0.3s ease;
}
body[data-mode=white] .menu-button:not(.is-active) .menu-button__line {
  background-color: #000;
}
body.header-dark .menu-button:not(.is-active) .menu-button__line {
  background-color: #000;
}
body.header-light .menu-button:not(.is-active) .menu-button__line {
  background-color: #fff;
}
.menu-button__line_top {
  width: 100%;
}
.menu-button__line_bottom {
  width: 28px;
}
.menu-button.is-active {
  gap: 0;
}
.menu-button.is-active .menu-button__line_top {
  width: 100%;
  transform: translateY(1.5px) rotate(45deg);
}
.menu-button.is-active .menu-button__line_bottom {
  width: 100%;
  transform: translateY(-1.5px) rotate(-45deg);
}

@media screen and (max-width: 767px) {
  .header {
    height: 62px;
    align-content: center;
    padding-block: 4px;
    padding-inline: 16px;
  }
  .header_sub .logo {
    display: none;
  }
  body.modal-open .header_sub .logo {
    display: block;
  }
  body.modal-open .header_sub .header__back {
    display: none;
  }
  .header_main .header__back {
    display: none;
  }
  .header__back {
    display: flex;
  }
  .logo__image {
    height: 54px;
  }
  .menu-button {
    gap: 8px;
    width: 32px;
    padding-block: 10px;
  }
  .menu-button__line {
    height: 2px;
  }
  .menu-button__line_bottom {
    width: 22px;
  }
}
.breadcrumb__list {
  display: flex;
  align-items: center;
  gap: 24px;
}
.breadcrumb__item {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}
.breadcrumb__item:not(:first-child)::before {
  content: "";
  display: inline-block;
  width: 9px;
  height: 14px;
  background-color: currentColor;
  mask: url("/assets/images/icon-arrow.svg") no-repeat center/contain;
}
.breadcrumb__link, .breadcrumb__current {
  font-size: 16px;
  font-weight: 700;
  color: inherit;
  transition: color 0.2s cubic-bezier(0.22, 1, 0.36, 1);
}
.breadcrumb__link:hover {
  color: #e72528;
}
.breadcrumb__current {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.breadcrumb__icon-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.breadcrumb__icon {
  display: inline-block;
  width: 16px;
  height: 16px;
  background-color: currentColor;
  mask: url("/assets/images/icon-arrow-diagonal.svg") no-repeat center/contain;
}
.breadcrumb__close-btn {
  display: none;
}
.breadcrumb__current_btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: none;
  height: 48px;
  padding: 0 16px;
  border: 1px solid transparent;
  cursor: pointer;
  color: inherit;
  white-space: nowrap;
}
.breadcrumb__dropdown.is-active .breadcrumb__current_btn {
  visibility: hidden;
}
.breadcrumb__dropdown {
  position: relative;
}
.breadcrumb__dropdown-list {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  flex-direction: column;
  gap: 8px;
  z-index: 100;
}
.breadcrumb__dropdown.is-active .breadcrumb__dropdown-list {
  display: flex;
}
.breadcrumb__dropdown-icon {
  width: 16px;
  height: 16px;
}
.breadcrumb__dropdown-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 48px;
  padding-inline: 16px;
  font-size: 16px;
  font-weight: 700;
  color: inherit;
  text-decoration: none;
  border: 1px solid currentColor;
  background: transparent;
  white-space: nowrap;
  transition: color 0.2s cubic-bezier(0.22, 1, 0.36, 1);
  overflow: hidden;
  text-transform: uppercase;
}
body[data-mode=white] .breadcrumb__dropdown-link {
  background: #fff;
}
body[data-mode=white].header-light .breadcrumb__dropdown-link {
  background-color: #000;
}
.breadcrumb__dropdown-link:hover {
  color: #e72528;
}
.breadcrumb__dropdown-link:hover svg {
  animation: arrow-fly-up 0.4s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

@media (max-width: 767px) {
  .breadcrumb__item:first-child:not(:last-child) {
    display: none;
  }
  .breadcrumb__item:not(:first-child)::before {
    display: none;
  }
  .breadcrumb__dropdown.is-active::before {
    content: "";
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    z-index: 100;
  }
  .breadcrumb__dropdown.is-active .breadcrumb__dropdown-list-wrap {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 101;
    background: #fff;
    padding-top: 62px;
  }
  .breadcrumb__dropdown.is-active .breadcrumb__close-btn {
    position: absolute;
    top: 16px;
    right: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    color: #000;
  }
  .breadcrumb__dropdown-list {
    position: static;
    align-items: center;
    gap: 24px;
    padding-inline: 16px;
    padding-block: 30px 60px;
  }
  .breadcrumb__dropdown-link {
    gap: 8px;
    height: auto;
    color: #000;
    background-color: transparent;
    font-size: 26px;
    line-height: 1.4;
    border: 0;
  }
  .breadcrumb__dropdown-icon {
    width: 24px;
    height: 24px;
  }
  body[data-mode=white].header-light .breadcrumb__dropdown-link {
    background-color: transparent;
  }
}
.site-map {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  background-color: #000;
  z-index: 99;
  overflow: auto;
}
.site-map.is-active {
  display: flex;
  align-items: center;
}
.site-map__inner {
  flex: 1 0 0;
  padding-inline: 30px;
}
.site-map__list > li {
  text-align: center;
}
.site-map__list > li ~ li {
  margin-top: 2.5925925926vh;
  padding-top: 2.5925925926vh;
  border-top: 1px solid #444;
}
.site-map__link {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: 6.6666666667vh;
  line-height: 1;
  font-weight: 700;
  letter-spacing: -0.02em;
  transition: color 0.3s ease;
}
.site-map__link::after {
  content: "";
  display: inline-block;
  height: 60px;
  padding-left: 0;
  flex-shrink: 0;
  background: url("/assets/images/icon-link-arrow.svg") no-repeat 100% center/contain;
  opacity: 0;
  transition: padding-left 0.3s ease;
}
@media screen and (any-hover: hover) {
  .site-map__link:not(.is-dimmed):hover::after {
    padding-left: 72px;
    opacity: 1;
  }
}
.site-map__link.is-dimmed {
  color: #444;
}

@media screen and (max-width: 1024px) {
  .site-map__inner {
    padding-block: 62px 0;
    padding-inline: 16px;
  }
  .site-map__link {
    font-size: 5.4187192118vh;
    line-height: 1;
  }
  .site-map__link::after {
    height: 40px;
  }
}
@media screen and (max-width: 1024px) and (any-hover: hover) {
  .site-map__link:not(.is-dimmed):hover::after {
    padding-left: 42px;
  }
}
@media screen and (max-width: 1024px) {
  .site-map__list > li ~ li {
    margin-top: 2.2167487685vh;
    padding-top: 2.2167487685vh;
  }
}
.footer {
  padding-inline: 30px;
  padding-bottom: 60px;
}
.footer__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto auto;
  gap: 0 30px;
}

.footer-item_contact {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 24px;
  grid-column: 1/-1;
  padding-block: 100px;
}

.footer-item_subscribe {
  position: relative;
  grid-column: 1;
  align-content: flex-end;
}
.footer-item_subscribe::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: var(--line-width, 100%);
  height: 1px;
  background-color: #fff;
}
body[data-mode=white] .footer-item_subscribe::before {
  background-color: #000;
}

.footer-item_info {
  position: relative;
  grid-column: 2;
}
.footer-item_info::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: var(--line-width, 100%);
  height: 1px;
  background-color: #fff;
}
body[data-mode=white] .footer-item_info::before {
  background-color: #000;
}

.footer-item_brand {
  grid-column: 1/-1;
  display: flex;
  flex-direction: row;
  gap: 30px;
  justify-content: space-between;
  align-items: flex-end;
  padding-top: 80px;
}

.motion-line {
  position: absolute;
  left: 50%;
  top: 0;
  width: 1px;
  height: 150px;
  background-color: #e72528;
  transform: translateX(-50%) scaleY(0);
  transform-origin: top center;
  pointer-events: none;
}

.footer-contact-banner {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  height: 150px;
  padding-inline: 60px;
}
.footer-contact-banner_contact {
  color: #fff;
  background-color: #e72528;
}
.footer-contact-banner_contact .footer-contact-banner__desc {
  opacity: 0.8;
}
.footer-contact-banner_kakao {
  color: #000;
  background-color: #fff;
}
body[data-mode=white] .footer-contact-banner_kakao {
  color: #fff;
  background-color: #000;
}
.footer-contact-banner__link {
  --text-link-icon-size: 16px;
}
.footer-contact-banner:hover .footer-contact-banner__link .text-link__icon {
  animation: arrow-fly-up 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
.footer-contact-banner__lead {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.footer-contact-banner__icon {
  width: 36px;
  height: 36px;
}
.footer-contact-banner__text {
  display: flex;
  align-items: center;
  gap: 30px;
}
.footer-contact-banner__title {
  font-size: 32px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.footer-contact-banner__desc {
  font-size: 18px;
  font-weight: 500;
  opacity: 0.6;
}

.footer-form-description {
  color: #666;
  font-size: 18px;
  font-weight: 700;
}

.footer-form-item {
  position: relative;
  display: flex;
  align-items: center;
  width: 450px;
  margin-top: 24px;
  padding-bottom: 14px;
  border-bottom: none;
}
.footer-form-item::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: var(--form-line-width, 100%);
  height: 1px;
  background-color: currentColor;
}
body[data-mode=white] .footer-form-item {
  border-bottom-color: inherit;
}
.footer-form-item__inner {
  width: 100%;
  display: flex;
  justify-content: space-between;
  gap: 16px;
}

.footer-form-input {
  flex: 1;
  min-width: 0;
  border: 0;
  color: inherit;
  background: transparent;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.footer-form-input:focus {
  outline: none;
}
.footer-form-input:focus::placeholder {
  color: transparent;
}
.footer-form-input::placeholder {
  color: inherit;
}

.icon-link-arrow {
  display: block;
  width: 24px;
  height: 24px;
  background-color: #fff;
  mask: url("/assets/images/icon-link-arrow.svg") no-repeat center/contain;
}
body[data-mode=white] .icon-link-arrow {
  background-color: #000;
}

.footer-form-submit {
  flex-shrink: 0;
  padding: 0;
  border: 0;
  background: none;
  line-height: 0;
  overflow: hidden;
  cursor: pointer;
}
.footer-form-submit:hover .icon-link-arrow {
  animation: arrow-fly-up 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.footer-info {
  display: flex;
  flex-direction: column;
}
.footer-info__item {
  position: relative;
  display: flex;
}
.footer-info__item::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: var(--item-line-width, 100%);
  height: 1px;
  background-color: #444;
}
body[data-mode=white] .footer-info__item::after {
  background-color: #888;
}
.footer-info__item dt,
.footer-info__item dd {
  padding-block: 10px;
  font-size: 14px;
}
.footer-info__item dt {
  width: 21.875vw;
  color: #888;
}
body[data-mode=white] .footer-info__item dt {
  color: #666;
}
.footer-info__item dd {
  flex: 1;
}
.footer-info__item.has-2depth dt {
  width: 10.9375vw;
}
.footer-info__item.has-2depth > dd {
  padding-block: 0;
}
.footer-info__links {
  display: flex;
  gap: 60px;
}
.footer-info__links a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: inherit;
  text-decoration: none;
  overflow: hidden;
}
.footer-info__links a::after {
  content: "";
  flex-shrink: 0;
  display: block;
  width: 12px;
  height: 12px;
  background-color: #fff;
  mask: url("/assets/images/icon-link-arrow.svg") no-repeat center/contain;
}
body[data-mode=white] .footer-info__links a::after {
  background-color: #000;
}
.footer-info__links a:hover::after {
  animation: arrow-fly-up 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.footer-info-2depth__item {
  position: relative;
  display: flex;
  align-items: center;
}
.footer-info-2depth__item:not(:last-child)::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: var(--item-line-width, 100%);
  height: 1px;
  background-color: #444;
}
body[data-mode=white] .footer-info-2depth__item:not(:last-child)::after {
  background-color: #888;
}

.footer-brand__logo {
  flex-shrink: 0;
  width: 70.9375%;
  max-width: 100%;
}

.footer-brand__logo-image {
  display: block;
  width: 100%;
  aspect-ratio: 681/85;
  background-color: #fff;
  mask: url("/assets/images/footer-logo-ttl.svg") no-repeat left center/contain;
}
body[data-mode=white] .footer-brand__logo-image {
  background-color: #000;
}

.footer-legal {
  min-width: 303px;
  color: #888;
  font-size: 14px;
  text-align: right;
}
body[data-mode=white] .footer-legal {
  color: #666;
}
.footer-legal__links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.footer-legal__links > li {
  position: relative;
  padding-right: 24px;
}
.footer-legal__links > li::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 12px;
  width: 1px;
  height: 12px;
  margin-top: -6px;
  background-color: #444;
}
.footer-legal__links > li:last-child {
  padding-right: 0;
}
.footer-legal__links > li:last-child::after {
  content: none;
}
body[data-mode=white] .footer-legal__links > li::after {
  background-color: #000;
  opacity: 0.2;
}
.footer-legal__copy {
  margin-top: 10px;
  text-align: right;
}

.footer[data-motion] .footer-item_subscribe,
.footer[data-motion] .footer-item_info {
  --line-width: 0%;
}
.footer[data-motion] .footer-info__item,
.footer[data-motion] .footer-info__item.has-2depth > dt,
.footer[data-motion] .footer-info-2depth__item,
.footer[data-motion] .footer-form-item {
  --item-line-width: 0%;
}
.footer[data-motion] .footer-form-item {
  --form-line-width: 0%;
}
.footer[data-motion] .footer-legal,
.footer[data-motion] .footer-form-description,
.footer[data-motion] .footer-form-item__inner,
.footer[data-motion] .footer-info__item.has-2depth > dt > span,
.footer[data-motion] .footer-info__item:not(.has-2depth) > dt,
.footer[data-motion] .footer-info__item:not(.has-2depth) > dd,
.footer[data-motion] .footer-info-2depth__item dt,
.footer[data-motion] .footer-info-2depth__item dd {
  opacity: 0;
}

@media screen and (max-width: 1280px) {
  .footer__inner {
    display: flex;
    flex-direction: column;
    gap: 80px;
  }
  .footer-item_contact {
    padding-block: 0;
  }
  .footer-item_subscribe {
    border-top: 0;
  }
  .footer-item_subscribe::before {
    display: none;
  }
  .footer-item_brand {
    flex-direction: column;
    align-items: flex-start;
    padding-top: 0;
  }
  .footer-legal {
    text-align: left;
  }
  .footer-legal__copy {
    text-align: left;
  }
  .footer-info__item dt {
    width: 32.8125vw;
  }
  .footer-info__item.has-2depth dt {
    width: 16.40625vw;
  }
}
@media screen and (max-width: 1024px) {
  .footer-contact-banner__lead {
    gap: 20px;
  }
  .footer-contact-banner__text {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }
}
@media screen and (max-width: 767px) {
  .footer {
    padding-inline: 16px;
  }
  .footer-item_subscribe,
  .footer-item_info {
    grid-column: unset;
  }
  .footer-item_contact {
    gap: 8px;
  }
  .motion-line {
    height: 94px;
  }
  .footer-contact-banner {
    gap: 16px;
    height: 94px;
    padding: 24px;
  }
  .footer-contact-banner__icon {
    width: 24px;
    height: 24px;
  }
  .footer-contact-banner__text {
    flex: 1 0 0;
    gap: 12px;
  }
  .footer-contact-banner__title {
    font-size: 18px;
    letter-spacing: 0;
  }
  .footer-contact-banner__desc {
    font-size: 13px;
  }
  .footer-contact-banner__link {
    display: none;
  }
  .footer-form-description {
    font-size: 14px;
  }
  .footer-form-item {
    width: 100%;
    margin-top: 12px;
    padding-block: 20px;
  }
  .footer-form-input {
    font-size: 18px;
  }
  .icon-link-arrow {
    width: 16px;
    height: 16px;
  }
  .footer-item_info {
    align-self: stretch;
  }
  .footer-info__item {
    display: flex;
    gap: 20px;
  }
  .footer-info__item dt,
  .footer-info__item dd {
    padding-block: 16px;
    font-size: 13px;
  }
  .footer-info__item dt {
    width: 80px;
  }
  .footer-info__item dd {
    flex: 1;
  }
  .footer-info__item.has-2depth {
    flex-direction: column;
    gap: 0;
  }
  .footer-info__item.has-2depth dt {
    width: 80px;
  }
  .footer-info__item.has-2depth > dt {
    position: relative;
    width: auto;
  }
  .footer-info__item.has-2depth > dt::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: var(--item-line-width, 100%);
    height: 1px;
    background-color: #444;
  }
  body[data-mode=white] .footer-info__item.has-2depth > dt::after {
    background-color: #888;
  }
  .footer-info__item.has-2depth > dd {
    padding-block: 0;
  }
  .footer-info-2depth {
    display: flex;
    flex-direction: column;
  }
  .footer-info-2depth__item {
    gap: 20px;
  }
  .footer-info-2depth__item dt {
    width: 80px;
  }
  .footer-info__links {
    gap: 20px;
  }
  .footer-item_brand {
    flex-direction: column;
    gap: 40px;
    align-items: flex-start;
  }
  .footer-brand__logo {
    width: 100%;
    max-width: 528.071942446px;
  }
  .footer-brand__logo-image {
    aspect-ratio: 343/139;
    background-color: transparent;
    background-image: url("/assets/images/footer-logo-ttl-white.svg");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: left center;
    mask: none;
  }
  body[data-mode=white] .footer-brand__logo-image {
    background-image: url("/assets/images/footer-logo-ttl-black.svg");
    background-color: transparent;
  }
  .footer-legal {
    width: auto;
    font-size: 13px;
    text-align: left;
  }
  .footer-legal__links {
    gap: 12px;
  }
  .footer-legal__links > li {
    padding-right: 12px;
  }
  .footer-legal__links > li::after {
    right: 0;
  }
  .footer-legal__copy {
    text-align: left;
  }
}
.content-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 60px;
  padding-bottom: clamp(44px, 5.5384615385vw + 23.2307692308px, 80px);
}
.content-header__item {
  flex-shrink: 0;
  padding-inline: clamp(16px, 2.1538461538vw + 7.9230769231px, 30px);
}
.content-header__item_fit {
  min-width: 0;
  padding-inline: 0 !important;
}
.content-header__title {
  font-size: clamp(44px, 5.5384615385vw + 23.2307692308px, 80px);
  letter-spacing: -0.02em;
  white-space: nowrap;
}

.content-tab {
  display: flex;
  flex-direction: column;
  gap: 20px;
  overflow: hidden;
}
.content-tab__row {
  display: flex;
  gap: clamp(20px, 2.4615384615vw + 10.7692307692px, 36px);
  justify-content: flex-end;
  padding-inline: clamp(16px, 2.1538461538vw + 7.9230769231px, 30px);
  overflow-x: auto;
  overflow-y: hidden;
}
.content-tab__row_sub {
  gap: clamp(20px, 1.5384615385vw + 14.2307692308px, 30px);
}
.content-tab__menu {
  display: inline-flex;
  gap: 2px;
  color: #888;
}
.content-tab__menu.is-active {
  color: #fff !important;
}
body[data-mode=white] .content-tab__menu.is-active {
  color: #000 !important;
}
.content-tab__menu.is-active .content-tab__label {
  font-weight: 700;
}
.content-tab__menu:hover {
  color: #e72528;
}
.content-tab__label {
  font-size: clamp(24px, 1.2307692308vw + 19.3846153846px, 32px);
  letter-spacing: -0.02em;
  white-space: nowrap;
}
.content-tab__label_sub {
  font-size: clamp(16px, 0.6153846154vw + 13.6923076923px, 20px);
}
.content-tab__count {
  font-size: clamp(12px, 0.3076923077vw + 10.8461538462px, 14px);
}

@media screen and (max-width: 1280px) {
  .content-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 40px;
  }
  .content-header__item_fit {
    width: 100%;
  }
  .content-tab {
    gap: 24px;
  }
  .content-tab__row {
    justify-content: flex-start;
  }
  .content-tab__label_sub {
    line-height: 1;
  }
}
.content-navigator {
  padding-bottom: var(--content-navigator-padding-bottom, 100px);
}
.content-navigator_fit {
  padding-bottom: 0;
}
.content-navigator {
  text-align: center;
}
.content-navigator__link {
  --text-link-gap: 6px;
  position: relative;
  padding-bottom: 8px;
  box-shadow: 0 1px 0 0 currentColor;
  transition: color 0.4s ease;
}
.content-navigator__link::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 0;
  height: 1px;
  background-color: #e72528;
  transition: width 0.4s ease;
}
.content-navigator__link:hover {
  color: #e72528;
}
.content-navigator__link:hover::after {
  width: 100%;
}
.content-navigator .text-link__label {
  font-size: clamp(18px, 0.9230769231vw + 14.5384615385px, 24px);
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: -0.02em;
}

@media screen and (max-width: 767px) {
  .content-navigator__link {
    --text-link-gap: 12px;
    --text-link-icon-size: 16px;
    padding-bottom: 3px;
  }
}
.gallery-item {
  display: flex;
  flex-direction: column;
  gap: var(--gallery-item-gap, 24px);
  color: inherit;
}
.gallery-item__thumbnail {
  position: relative;
  width: 100%;
  background-color: #666;
  transition: box-shadow 0.3s ease;
  overflow: hidden;
}
.gallery-item__thumbnail img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.gallery-item__info {
  display: flex;
  flex-direction: column;
}
.gallery-item__title {
  font-size: var(--gallery-title-size, clamp(20px, 1.2307692308vw + 15.3846153846px, 28px));
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: -0.02em;
  transition: color 0.3s ease;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.gallery-item:hover .gallery-item__thumbnail {
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.2);
}
.gallery-item:hover .gallery-item__thumbnail img {
  transform: scale(1.1);
}

@media screen and (max-width: 767px) {
  .gallery-item {
    --gallery-item-gap: 20px;
  }
  .gallery-item__title {
    line-height: 1;
  }
}
.view-header {
  padding-block: clamp(30px, 4.6153846154vw + 12.6923076923px, 60px);
  border-top: 1px solid #000;
  border-bottom: 1px solid #ccc;
}
.view-header__title {
  font-size: clamp(24px, 1.8461538462vw + 17.0769230769px, 36px);
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.view-header__meta {
  margin-top: clamp(12px, 1.8461538462vw + 5.0769230769px, 24px);
  font-size: clamp(13px, 0.4615384615vw + 11.2692307692px, 16px);
}
.view-header__category {
  position: relative;
  color: #444;
  margin-right: 10px;
  padding-right: 11px;
}
.view-header__category::before {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 1px;
  height: 10px;
  margin-top: -5px;
  background-color: #999;
}
.view-header__date {
  color: #888;
}

@media screen and (max-width: 767px) {
  .view-header__title {
    line-height: 1.4;
  }
}
.view-nav {
  padding-bottom: clamp(40px, 6.1538461538vw + 16.9230769231px, 80px);
  border-top: 1px solid #ccc;
}
.view-nav__item {
  position: relative;
  display: flex;
  align-items: center;
  gap: 60px;
  width: 100%;
  padding-inline: 0 4px;
  box-shadow: inset 0 -1px 0 #ccc;
}
.view-nav__item::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 1px;
  background-color: #e72528;
}
.view-nav__item.is-disabled .view-nav__title {
  color: #999;
}
.view-nav__label {
  flex-shrink: 0;
  width: 50px;
  color: #999;
  font-size: 16px;
  font-weight: 700;
}
.view-nav__link {
  flex: 1;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 60px;
  min-width: 0;
  padding-block: clamp(32px, 1.2307692308vw + 27.3846153846px, 40px);
  color: inherit;
}
.view-nav__title {
  flex: 1;
  min-width: 0;
  font-size: clamp(16px, 1.2307692308vw + 11.3846153846px, 24px);
  font-weight: 700;
  letter-spacing: -0.02em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.view-nav__icon {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: clamp(16px, 1.2307692308vw + 11.3846153846px, 24px);
  height: clamp(16px, 1.2307692308vw + 11.3846153846px, 24px);
  color: #fff;
  overflow: hidden;
}
.view-nav__icon svg {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
}
body[data-mode=white] .view-nav__icon {
  color: #000;
}
.view-nav__item:not(.is-disabled):hover::before {
  width: 100%;
  transition: width 0.5s ease;
}
.view-nav__item:not(.is-disabled):hover .view-nav__icon svg {
  animation: arrow-fly-up 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

@media screen and (max-width: 767px) {
  .view-nav__item {
    gap: 16px;
  }
  .view-nav__label {
    width: 32px;
    font-size: 12px;
    font-weight: 400;
  }
  .view-nav__link {
    gap: 16px;
  }
}
.content_about .content-header {
  max-width: 1620px;
  margin-inline: auto;
}
.content_about .about-item {
  padding-block: 160px 200px;
}
.content_about .about-item_white {
  background-color: #fff;
  color: #000;
}
.content_about .about-item_white .about-item__content::before {
  background-color: #000;
}
.content_about .about-item__content {
  position: relative;
  margin-top: 60px;
  padding-top: 80px;
}
.content_about .about-item__content::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #fff;
  transform-origin: left;
  transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}
.content_about .about-item__content.is-visible::before {
  transform: scaleX(1);
}
.content_about .about-item__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.content_about .about-item__sub-content {
  padding-top: 60px;
  padding-bottom: 200px;
}
.content_about .about-item__slogan {
  font-size: clamp(24px, 2.4615384615vw + 14.7692307692px, 40px);
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.content_about .about-hero {
  position: relative;
  aspect-ratio: 1920/780;
  color: #fff;
  overflow: hidden;
}
.content_about .about-hero__bg {
  position: absolute;
  inset: 0;
  background: url("/assets/images/about/about-hero.jpg") no-repeat center top/cover;
  z-index: 0;
}
.content_about .about-hero__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}
.content_about .about-hero__content {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  min-height: 100%;
  padding-bottom: 100px;
  z-index: 1;
}
.content_about .about-hero__frame {
  flex-shrink: 0;
  font-size: 18.5185185185vh;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
}
.content_about .about-hero__frame-text {
  display: block;
  position: relative;
  padding-right: 34px;
}
.content_about .about-hero__frame-text::after {
  content: "";
  position: absolute;
  bottom: 2.5925925926vh;
  right: 0;
  height: 2.2222222222vh;
  aspect-ratio: 1/1;
  background-color: #fff;
}
.content_about .about-hero__text-block {
  flex: 1;
  max-width: 760px;
  padding-bottom: 28px;
}
.content_about .about-hero__text-row {
  --line-top-scale: 0;
  --line-bottom-scale: 0;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 11px 0;
}
.content_about .about-hero__text-row::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: rgba(255, 255, 255, 0.3);
  transform: scaleX(var(--line-top-scale));
  transform-origin: left center;
}
.content_about .about-hero__text-row_last::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #666;
  transform: scaleX(var(--line-bottom-scale));
  transform-origin: left center;
}
.content_about .about-hero__text {
  color: #fff;
  font-size: 18px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.02em;
}
.content_about .about-hero__text_emphasis {
  flex-shrink: 0;
}
.content_about .about-identity {
  padding-bottom: 200px;
}
.content_about .about-identity__stack {
  height: 307.037037037vh;
  height: 307.037037037lvh;
}
.content_about .about-identity__stack .sticky {
  position: sticky;
  top: var(--about-identity-sticky-top, 48px);
  left: 0;
  width: 100%;
  height: 100vh;
  height: 100lvh;
  transition: top 0.4s ease, transform 0.8s ease;
  z-index: 1;
}
.content_about .about-identity__tag {
  position: relative;
  display: inline-block;
  padding-left: 18px;
  line-height: 1;
}
.content_about .about-identity__tag::before {
  content: "";
  position: absolute;
  top: 3px;
  left: 0;
  width: 10px;
  height: 10px;
  background-color: #fff;
}
.content_about .identity-card {
  position: relative;
  padding-top: 60px;
  transition: height 0.8s ease;
  background-color: #000;
}
.content_about .identity-card_first {
  padding-top: 48px;
  height: calc(54.3518518519vh + 96px);
  height: calc(54.3518518519lvh + 96px);
}
.content_about .identity-card_first.hide {
  height: 132px;
}
.content_about .identity-card_second {
  height: calc(54.3518518519vh + 108px);
  height: calc(54.3518518519lvh + 108px);
}
.content_about .identity-card_second.hide {
  height: 144px;
}
.content_about .identity-card_last {
  height: calc(54.3518518519vh + 108px);
  height: calc(54.3518518519lvh + 108px);
}
.content_about .identity-card__inner {
  position: relative;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  width: 100%;
  padding-top: 48px;
  border-top: 1px solid #fff;
  background-color: #000;
}
.content_about .identity-card__text-area {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex: 1;
  min-width: 0;
}
.content_about .identity-card__header {
  display: flex;
}
.content_about .identity-card__title {
  position: relative;
  padding-right: 0.7407407407vh;
  font-size: clamp(24px, 1.8461538462vw + 17.0769230769px, 36px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
}
.content_about .identity-card__title::after {
  content: "";
  position: absolute;
  bottom: 0.462962963vh;
  right: 0;
  width: 0.5555555556vh;
  height: 0.5555555556vh;
  background-color: #fff;
}
.content_about .identity-card__marker {
  flex-shrink: 0;
  width: 0.5555555556vh;
  height: 1.0185185185vh;
  background-color: #fff;
}
.content_about .identity-card__body {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.content_about .identity-card__paragraph {
  color: #fff;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: -0.02em;
}
.content_about .identity-card__sup {
  font-size: 0.645em; /* ~11.61px */
  vertical-align: super;
}
.content_about .identity-card__visual {
  flex-shrink: 0;
  height: 54.3518518519vh;
  aspect-ratio: 440/587;
  overflow: hidden;
}
.content_about .identity-card__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.content_about .identity-card__bg {
  position: absolute;
  width: 12.5vw;
  aspect-ratio: 240/135;
  pointer-events: none;
}
.content_about .identity-card__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.content_about .identity-card__bg_01 {
  top: 34.1812400636%;
  left: 10.987654321%;
}
.content_about .identity-card__bg_02 {
  top: 22.7866473149%;
  left: 33.3950617284%;
}
.content_about .identity-card__bg_02-shadow {
  top: 26.4150943396%;
  left: 39.9382716049%;
}
.content_about .identity-card__bg_03 {
  top: 45.2830188679%;
  left: 2.962962963%;
}
.content_about .about-diagram {
  display: flex;
  justify-content: center;
  margin-top: 64px;
}
.content_about .about-diagram picture,
.content_about .about-diagram img {
  display: block;
  max-width: 100%;
}
.content_about .about-funnel {
  display: flex;
  max-width: 1420px;
  margin-top: 103px;
  margin-inline: auto;
  padding-inline: 17px;
}
.content_about .about-funnel__label {
  flex-shrink: 0;
  width: 200px;
  font-size: 28px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
  text-align: center;
}
.content_about .about-funnel__track {
  position: relative;
  display: flex;
  flex: 1;
  justify-content: center;
  padding-top: 8px;
  background-image: repeating-linear-gradient(to right, #fff 0, #fff 2px, transparent 2px, transparent 10px);
  background-position: 0 14px;
  background-size: 100% 1px;
  background-repeat: repeat-x;
}
.content_about .about-funnel__track::after {
  content: "";
  position: absolute;
  top: 8px;
  right: 0;
  width: 12px;
  height: 12px;
  border-right: 1.5px solid #fff;
  border-bottom: 1.5px solid #fff;
  transform: rotate(-45deg);
}
.content_about .about-funnel__step {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1 1 0;
  min-width: 0;
  max-width: 240px;
}
.content_about .about-funnel__marker {
  flex-shrink: 0;
  width: 10px;
  height: 10px;
  background-color: #fff;
}
.content_about .about-funnel__text {
  margin-top: 20px;
  color: #999;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  text-align: center;
}
.content_about .about-marquee {
  overflow: hidden;
  margin-top: 80px;
  padding-inline: clamp(16px, 2.1538461538vw + 7.9230769231px, 30px);
  white-space: nowrap;
}
.content_about .about-marquee__inner {
  display: inline-flex;
  align-items: center;
  gap: 80px;
  animation: about-marquee 15s linear infinite;
}
.content_about .about-marquee__text {
  color: #fff;
  flex-shrink: 0;
  font-size: clamp(44px, 8.6153846154vw + 11.6923076923px, 100px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
}
.content_about .about-view-more {
  margin-top: 60px;
  padding-top: 55px;
  border-top: 1px solid #666;
}
.content_about .about-view-more__label {
  display: block;
  margin-bottom: 28px;
  font-size: clamp(13px, 0.7692307692vw + 10.1153846154px, 18px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.02em;
}
.content_about .about-view-more__link-wrap {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}
.content_about .about-view-more__link {
  --text-link-gap: 6px;
  --text-link-icon-size: 40px;
  position: relative;
  align-self: flex-start;
  padding-bottom: 8px;
  font-size: clamp(24px, 2.4615384615vw + 14.7692307692px, 40px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
}
.content_about .about-view-more__link::before, .content_about .about-view-more__link::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 1px;
}
.content_about .about-view-more__link::before {
  width: 100%;
  background-color: #fff;
}
.content_about .about-view-more__link::after {
  width: 0;
  background-color: #e72528;
}
.content_about .about-view-more__link:hover {
  color: #e72528;
  transition: color 0.4s ease;
}
.content_about .about-view-more__link:hover::after {
  width: 100%;
  transition: width 0.4s ease;
}
.content_about .about-view-more__link:hover .text-link__icon {
  animation: arrow-fly-down 0.4s ease forwards;
}
.content_about .about-history {
  margin-top: 60px;
  padding-top: 40px;
}
.content_about .about-history__item {
  position: relative;
  display: flex;
  gap: 40px;
  align-items: flex-start;
  padding-block: 40px 100px;
}
.content_about .about-history__item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #000;
  transform-origin: left;
  transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}
.content_about .about-history__item.is-visible::before {
  transform: scaleX(1);
}
.content_about .about-history__item_last {
  padding-bottom: 0;
}
.content_about .about-history__header {
  flex-shrink: 0;
  width: 27.1604938272%;
  min-height: 100%;
}
.content_about .about-history__tag {
  position: relative;
  display: inline-block;
  padding-left: 18px;
  font-size: 16px;
  line-height: 1;
}
.content_about .about-history__tag::before {
  content: "";
  position: absolute;
  top: 3px;
  left: 0;
  width: 10px;
  height: 10px;
  background-color: #000;
}
.content_about .about-history__slogan {
  margin-top: 16px;
  font-size: 36px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
}
.content_about .about-history__content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 60px;
  min-width: 0;
}
.content_about .about-history__phase-heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
}
.content_about .about-history__phase-desc {
  font-size: 36px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.02em;
}
.content_about .about-history__phase-desc .about-history__brand {
  font-size: 0.645em; /* 23.22px */
  vertical-align: text-top;
}
.content_about .about-history__phase-date {
  flex-shrink: 0;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
}
.content_about .about-history__timeline {
  display: flex;
  flex-direction: column;
  font-size: 18px;
  line-height: 1;
}
.content_about .about-history__timeline-item {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-block: 24px;
  border-top: 1px solid #e5e5e5;
  cursor: pointer;
}
.content_about .about-history__timeline-text {
  font-weight: 500;
}
.content_about .about-history__timeline-year {
  flex-shrink: 0;
  font-weight: 700;
}
.content_about .partners-section {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.content_about .partners-section__header {
  display: flex;
  justify-content: space-between;
  gap: 20px;
}
.content_about .partners-section__title {
  font-size: clamp(24px, 0.6153846154vw + 21.6923076923px, 28px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
}
.content_about .partners-section__description {
  color: #999;
  font-size: 14px;
  font-weight: 400;
}
.content_about .partners-section__grid {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.content_about .partners-section__item {
  flex-shrink: 0;
  width: 177px;
  height: 93px;
  cursor: pointer;
  border: 1px solid #444;
}
.content_about .partners-section__item:hover {
  border-color: #e72528;
}
.content_about .partners-section__item-inner {
  display: block;
  width: 100%;
  height: 100%;
}
.content_about .partners-section__item-inner img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.content_about .partners-section ~ .partners-section {
  margin-top: 80px;
}
.content_about .logo-section {
  display: flex;
  gap: 40px;
  align-items: flex-start;
}
.content_about .logo-section__description {
  flex: 1 0 0;
  font-size: clamp(14px, 0.6153846154vw + 11.6923076923px, 18px);
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: -0.02em;
}
.content_about .logo-section__visual {
  flex-shrink: 0;
  width: 66.6666666667%;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.content_about .logo-section__visual_row {
  flex-direction: row;
}
.content_about .logo-section ~ .logo-section {
  margin-top: 80px;
}
.content_about .logo-card {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  aspect-ratio: 1080/400;
}
.content_about .logo-card_light {
  background-color: #f7f7f7;
}
.content_about .logo-card_dark {
  background-color: #000;
}
.content_about .logo-card__label {
  position: absolute;
  left: 2.7777777778%;
  top: 7.5%;
  font-size: 18px;
  font-weight: 500;
  line-height: 1;
  color: #888;
}
.content_about .logo-card_dark .content_about .logo-card__label {
  color: #fff;
}
.content_about .logo-card__img {
  width: 59.2592592593%;
  height: auto;
}
.content_about .logo-section__visual_row .logo-card {
  flex: 1 0 0;
  min-width: 0;
  aspect-ratio: 520/320;
}
.content_about .logo-section__visual_row .logo-card__img {
  width: 69.2307692308%;
}

@media screen and (max-width: 1280px) {
  .content_about {
    padding-bottom: 100px;
  }
  .content_about .about-hero__content {
    gap: 30px;
  }
  .content_about .identity-card__inner {
    gap: 30px;
  }
  .content_about .about-history__item {
    gap: 30px;
  }
  .content_about .logo-section {
    gap: 30px;
  }
}
@media screen and (max-width: 1024px) {
  .content_about {
    padding-bottom: 40px;
  }
  .content_about .about-hero {
    aspect-ratio: 375/480;
    align-content: flex-end;
  }
  .content_about .about-hero__content {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    min-height: unset;
    padding-bottom: 38px;
  }
  .content_about .about-hero__text-block {
    width: 100%;
    padding-bottom: 0;
  }
  .content_about .about-history__item {
    flex-direction: column;
    gap: 60px;
  }
  .content_about .about-history__header {
    width: 100%;
    min-height: unset;
  }
  .content_about .about-history__content {
    width: 100%;
  }
  .content_about .about-history__phase-heading {
    flex-direction: column;
  }
  .content_about .about-history__timeline-item {
    gap: 20px;
  }
  .content_about .about-history__timeline-text {
    flex: 1;
    min-width: 0;
  }
  .content_about .about-funnel {
    flex-direction: column;
    align-items: center;
    gap: 40px;
    max-width: 375px;
    padding-inline: 0;
  }
  .content_about .about-funnel__track {
    flex-direction: column;
    align-items: center;
    gap: 30px;
    flex: none;
    min-height: 440px;
    padding-top: 0;
    padding-bottom: 17px;
    background-image: none;
  }
  .content_about .about-funnel__track::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 1px;
    background-image: repeating-linear-gradient(to bottom, #fff 0, #fff 2px, transparent 2px, transparent 10px);
    transform: translateX(-50%);
    pointer-events: none;
  }
  .content_about .about-funnel__track::after {
    top: auto;
    bottom: 8px;
    right: auto;
    transform: rotate(45deg);
  }
  .content_about .about-funnel__step {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 20px;
    width: 100%;
    max-width: 100%;
    position: relative;
    z-index: 1;
  }
  .content_about .about-funnel__marker {
    grid-column: 2;
  }
  .content_about .about-funnel__text {
    position: absolute;
    top: 50%;
    width: 120px;
    margin-top: 0;
    font-size: 14px;
    line-height: 1.8;
    color: #fff;
    transform: translateY(-50%);
  }
  .content_about .about-funnel__step:nth-child(odd) .about-funnel__text {
    grid-column: 3;
    text-align: left;
    left: 0;
  }
  .content_about .about-funnel__step:nth-child(even) .about-funnel__text {
    grid-column: 1;
    text-align: right;
    left: calc(-200% - 20px);
  }
  .content_about .partners-section__item {
    width: calc((100% - 80px) / 5);
    height: auto;
    aspect-ratio: 59/31;
  }
  .content_about .logo-section {
    flex-direction: column;
    gap: 40px;
  }
  .content_about .logo-section__visual {
    width: 100%;
    gap: 20px;
  }
}
@media screen and (max-width: 767px) {
  .content_about .about-item {
    padding-block: 80px 120px;
  }
  .content_about .about-item_last {
    padding-bottom: 100px;
  }
  .content_about .about-item__content {
    margin-top: 16px;
    padding-top: 40px;
  }
  .content_about .about-item__sub-content {
    padding-block: 40px;
  }
  .content_about .about-item__slogan {
    line-height: 1.4;
  }
  .content_about .about-hero__content {
    gap: 20px;
  }
  .content_about .about-hero__frame {
    font-size: 64px;
  }
  .content_about .about-hero__frame-text {
    padding-right: 14px;
  }
  .content_about .about-hero__frame-text::after {
    bottom: 8px;
    height: 10px;
  }
  .content_about .about-hero__text-row {
    padding: 9px 0;
  }
  .content_about .about-hero__text-row_last {
    flex-wrap: wrap;
    gap: 0;
  }
  .content_about .about-hero__text {
    font-size: 13px;
    font-weight: 400;
    color: rgba(255, 255, 255, 0.7);
  }
  .content_about .about-hero__text_emphasis {
    font-weight: 500;
    color: #fff;
  }
  .content_about .about-identity {
    padding-bottom: 80px;
  }
  .content_about .about-identity__stack {
    height: 400vh;
    height: 400lvh;
  }
  .content_about .about-identity__stack .sticky {
    height: 118.1034482759vh;
    height: 118.1034482759lvh;
  }
  .content_about .identity-card {
    gap: 4.9261083744vh;
    padding-top: 40px;
  }
  .content_about .identity-card_first {
    height: 101.354679803vh;
    padding-top: 32px;
  }
  .content_about .identity-card_first.hide {
    height: 96px;
  }
  .content_about .identity-card_second {
    height: 96.3054187192vh;
  }
  .content_about .identity-card_second.hide {
    height: 104px;
  }
  .content_about .identity-card_last {
    height: 93.2266009852vh;
  }
  .content_about .identity-card__inner {
    flex-direction: column;
    padding-top: 40px;
    gap: 40px;
  }
  .content_about .identity-card__bg {
    display: none;
  }
  .content_about .identity-card__header {
    margin-bottom: 30px;
  }
  .content_about .identity-card__title {
    font-size: 24px;
  }
  .content_about .identity-card__paragraph {
    font-size: 14px;
    letter-spacing: 0;
  }
  .content_about .identity-card__visual {
    width: 100%;
    max-height: 56.4039408867lvh;
    margin-inline: auto;
    aspect-ratio: 343/458;
  }
  .content_about .about-funnel {
    margin-top: 80px;
  }
  .content_about .about-funnel__label {
    width: auto;
    font-size: 24px;
  }
  .content_about .about-marquee {
    margin-top: 80px;
  }
  .content_about .about-marquee__inner {
    gap: 20px;
  }
  .content_about .about-view-more {
    margin-top: 40px;
    padding-top: 40px;
  }
  .content_about .about-view-more__label {
    margin-bottom: 20px;
    font-weight: 400;
    letter-spacing: 0;
  }
  .content_about .about-view-more__link {
    --text-link-gap: 12px;
    --text-link-icon-size: 16px;
    padding-bottom: 2px;
  }
  .content_about .about-item__header-description {
    display: none;
  }
  .content_about .about-history {
    margin-top: 16px;
    padding-top: 0;
  }
  .content_about .about-history__item {
    padding-block: 40px 60px;
  }
  .content_about .about-history__item_last {
    padding-bottom: 0;
  }
  .content_about .about-history__tag {
    padding-left: 14px;
    font-size: 13px;
  }
  .content_about .about-history__tag::before {
    top: 2px;
    width: 8px;
    height: 8px;
  }
  .content_about .about-history__slogan {
    margin-top: 12px;
    font-size: 20px;
  }
  .content_about .about-history__timeline-thumbnail {
    display: none;
  }
  .content_about .about-history__phase-desc {
    font-size: 20px;
  }
  .content_about .about-history__phase-desc .about-history__brand {
    font-size: 0.645em;
  }
  .content_about .about-history__phase-date {
    font-size: 14px;
  }
  .content_about .about-history__content {
    gap: 40px;
  }
  .content_about .about-history__timeline {
    font-size: 14px;
  }
  .content_about .about-history__timeline-item {
    padding-block: 13px;
  }
  .content_about .about-history__timeline-text {
    font-weight: 400;
    line-height: 1.5;
  }
  .content_about .partners-section {
    gap: 24px;
  }
  .content_about .partners-section__header {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }
  .content_about .partners-section__description {
    color: #666;
    line-height: 1.8;
  }
  .content_about .partners-section__grid {
    gap: 6px;
  }
  .content_about .partners-section__item {
    width: calc((100% - 12px) / 3);
    height: auto;
    aspect-ratio: 110/57;
  }
  .content_about .partners-section ~ .partners-section {
    margin-top: 60px;
  }
  .content_about .logo-section ~ .logo-section {
    margin-top: 60px;
  }
  .content_about .logo-section__description {
    letter-spacing: 0;
  }
  .content_about .logo-card {
    aspect-ratio: 343/180;
  }
  .content_about .logo-card__label {
    left: 5.8309037901%;
    top: 11.1111111111%;
    font-size: 12px;
  }
  .content_about .logo-card__img {
    width: 64.139941691%;
  }
  .content_about .logo-section__visual_row {
    flex-direction: column;
  }
  .content_about .logo-section__visual_row .logo-card {
    flex: none;
    aspect-ratio: 343/180;
  }
  .content_about .logo-section__visual_row .logo-card__img {
    width: 64.139941691%;
  }
}
@keyframes about-marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
.about-history__timeline-thumbnail {
  position: fixed;
  z-index: 30;
  width: 186px;
  height: 105px;
  pointer-events: none;
  visibility: hidden;
  opacity: 0;
  transition: visibility 0.15s, opacity 0.15s ease-out;
  box-shadow: 0 20px 30px rgba(0, 0, 0, 0.25);
}
.about-history__timeline-thumbnail.is-visible {
  visibility: visible;
  opacity: 1;
}
.about-history__timeline-thumbnail img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.content_work {
  min-height: 0;
}
.content_work .content-header {
  max-width: 1620px;
  margin-inline: auto;
}
.content_work .magazine-content,
.content_work .gallery-content {
  padding-bottom: 100px;
}
.content_work .magazine-content {
  position: relative;
}
.content_work .work-list {
  display: flex;
  padding-bottom: var(--work-list-padding-bottom, 0px);
  gap: var(--work-list-gap);
}
.content_work .work-list__empty {
  padding: 60px 0;
  text-align: center;
  color: #666;
}
.content_work .work-list > li {
  flex: var(--work-list-item-flex, none);
  min-width: 0;
}
.content_work .work-list:has(.work-list__empty) {
  --work-list-gap: 0 !important;
  --work-list-item-flex: none !important;
  box-sizing: content-box;
  height: var(--work-list-empty-height, 400px);
  align-items: center;
  justify-content: center;
  font-size: 18px;
  line-height: 1.8;
  letter-spacing: -0.02em;
}
.content_work .work-list_magazine {
  --work-list-gap: calc(270 / 1920 * 100vw);
  flex-direction: column;
  max-width: 1620px;
  margin-inline: auto;
  padding-inline: 30px;
}
.content_work .magazine-row {
  display: flex;
  width: 100%;
}
.content_work .magazine-row_left {
  justify-content: flex-start;
}
.content_work .magazine-row_right {
  justify-content: flex-end;
}
.content_work .magazine-item_wide {
  width: 59.375vw;
  max-width: 100%;
}
.content_work .magazine-item_narrow {
  width: 39.5833333333vw;
  max-width: 100%;
}
.content_work .work-list_gallery {
  --work-list-gap: 120px 40px;
  --work-list-item-flex: 0 1 calc(50% - 20px);
  flex-wrap: wrap;
}
.content_work .work-list_gallery > li {
  margin-bottom: var(--work-list-item-margin-bottom, 0px);
}
.content_work .work-item__client {
  margin-bottom: 10px;
  font-size: clamp(14px, 0.9230769231vw + 10.5384615385px, 20px);
  line-height: 1;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.content_work .work-item__meta {
  display: flex;
  gap: 16px;
  margin-top: 18px;
  color: #888;
  font-size: clamp(13px, 0.4615384615vw + 11.2692307692px, 16px);
  line-height: 1;
}
.content_work .work-item__tag {
  display: inline-flex;
  position: relative;
  padding-left: 18px;
}
.content_work .work-item__tag::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 10px;
  height: 10px;
  background-color: #666;
  margin-top: -5px;
}
.content_work .work-view {
  padding-bottom: 160px;
}
.content_work .work-view-header {
  display: flex;
  gap: 100px;
  padding-block: 100px 120px;
  max-width: 1620px;
  margin-inline: auto;
  padding-inline: clamp(16px, 2.1538461538vw + 7.9230769231px, 30px);
}
.content_work .work-view-header__item_info {
  flex: 1;
  max-width: 700px;
}
.content_work .work-view-header__item_overview {
  flex: 1;
}
.content_work .work-view-header__client {
  display: inline-block;
  font-size: clamp(14px, 0.9230769231vw + 10.5384615385px, 20px);
  line-height: 1;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.content_work .work-view-header__title {
  margin-block: 14px;
  font-size: clamp(26px, 1.5384615385vw + 20.2307692308px, 36px);
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: -0.02em;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.content_work .work-view-header__date {
  display: inline-block;
  color: #666;
  font-size: clamp(14px, 0.3076923077vw + 12.8461538462px, 16px);
  line-height: 1;
}
.content_work .work-view-header .keyword-list {
  margin-top: 32px;
  gap: clamp(10px, 0.3076923077vw + 8.8461538462px, 12px);
}
.content_work .work-view-header .keyword-item {
  --keyword-item-font-size: clamp(13px, 0.4615384615vw + 11.2692307692px, 16px);
  border-color: #666;
  font-weight: 700;
}
body[data-mode=white] .content_work .work-view-header .keyword-item {
  border-color: #666;
}
.content_work .work-overview__title {
  margin-bottom: 20px;
  font-size: 18px;
  line-height: 1;
  font-weight: 700;
}
.content_work .work-overview__description {
  font-size: clamp(14px, 0.6153846154vw + 11.6923076923px, 18px);
  line-height: 1.8;
  letter-spacing: -0.02em;
}
.content_work .work-view-hero {
  margin-bottom: 100px;
  margin-inline: auto;
  aspect-ratio: 16/9;
  overflow: hidden;
}
.content_work .work-view-hero picture,
.content_work .work-view-hero img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.content_work .work-view-detail {
  max-width: 1620px;
  margin-inline: auto;
  padding-inline: clamp(16px, 2.1538461538vw + 7.9230769231px, 30px);
}
.content_work .work-view-detail__editor img {
  max-width: 100% !important;
  width: 100% !important;
  height: auto !important;
}
.content_work .work-view-detail__editor iframe,
.content_work .work-view-detail__editor video,
.content_work .work-view-detail__editor embed,
.content_work .work-view-detail__editor object {
  max-width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}
.content_work .work-view-footer {
  max-width: 1920px;
  margin-inline: auto;
  padding-inline: clamp(16px, 2.1538461538vw + 7.9230769231px, 30px);
}

@media screen and (max-width: 1280px) {
  .content_work .work-list_gallery {
    --work-list-gap: 60px 30px;
    --work-list-item-flex: 0 1 calc(50% - 15px);
  }
  .content_work .work-view-header {
    gap: 30px;
  }
}
@media screen and (max-width: 1024px) {
  .content_work .work-view-header {
    flex-direction: column;
    gap: 60px;
  }
}
@media screen and (max-width: 767px) {
  .content_work {
    --work-list-empty-height: 300px;
  }
  .content_work .work-list_magazine {
    --work-list-gap: 60px;
    max-width: 1620px;
    margin-inline: auto;
    padding-inline: 16px;
  }
  .content_work .magazine-row {
    display: flex;
    width: 100%;
  }
  .content_work .magazine-row_left {
    justify-content: center;
  }
  .content_work .magazine-row_right {
    justify-content: center;
  }
  .content_work .magazine-item_wide {
    width: 100%;
    max-width: 100%;
  }
  .content_work .magazine-item_narrow {
    width: 100%;
    max-width: 100%;
  }
  .content_work .work-list_gallery {
    --work-list-gap: 0px;
    --work-list-item-flex: 0 1 100% !important;
    --work-list-item-margin-bottom: 60px;
  }
  .content_work .work-item__client {
    margin-bottom: 12px;
  }
  .content_work .work-item__meta {
    gap: 14px;
    margin-top: 20px;
  }
  .content_work .work-item__tag {
    display: inline-flex;
    position: relative;
    padding-left: 14px;
  }
  .content_work .work-item__tag::before {
    width: 8px;
    height: 8px;
    margin-top: -4px;
  }
  .content_work .work-view {
    padding-bottom: 60px;
  }
  .content_work .work-view-header {
    padding-block: 40px 60px;
    padding-inline: 16px;
  }
  .content_work .work-view-header__title {
    margin-block: 12px 16px;
    line-height: 1.4;
  }
  .content_work .work-view-header .keyword-list {
    margin-top: 28px;
  }
  .content_work .work-view-header .keyword-item {
    height: 37px;
  }
  .content_work .work-overview__description {
    letter-spacing: 0;
  }
  .content_work .work-view-hero {
    margin-bottom: 60px;
    aspect-ratio: auto;
  }
}
.floating-menu {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 50;
}
@media (max-width: 767px) {
  .floating-menu {
    display: none;
  }
}
.floating-menu {
  transition: opacity 0.3s cubic-bezier(0.22, 1, 0.36, 1), visibility 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}
.floating-menu.is-hidden {
  opacity: 0;
  visibility: hidden;
}

.floating-menu__bar {
  display: flex;
  align-items: center;
  gap: 9px;
  padding-inline: 10px;
  border: 1px solid #3d3d3d;
  border-radius: 100px;
  background: rgba(0, 0, 0, 0.4);
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.1);
}
@supports (backdrop-filter: blur(11px)) {
  .floating-menu__bar {
    backdrop-filter: blur(11.15px);
  }
}

.floating-menu__button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  padding: 0;
  cursor: pointer;
  transition: color 0.2s cubic-bezier(0.22, 1, 0.36, 1);
}
.floating-menu__button::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -5px;
  width: 1px;
  height: 20px;
  margin-top: -10px;
  background: #444;
}
.floating-menu__button:last-child::after {
  content: none;
}

.floating-menu__icon {
  display: flex;
  gap: 4px;
  width: 28px;
}

.icon-magazine {
  flex-direction: column;
  align-items: center;
}

.icon-gallery {
  flex-wrap: wrap;
  justify-content: center;
}

.icon-magazine__part,
.icon-gallery__part {
  background: rgba(255, 255, 255, 0.3);
}

.icon-magazine__part {
  width: 22px;
}
.icon-magazine__part--top {
  height: 14px;
}
.icon-magazine__part--bottom {
  height: 4px;
}

.icon-gallery__part {
  width: 10px;
  height: 10px;
}

.floating-menu__button.is-active .icon-magazine__part,
.floating-menu__button.is-active .icon-gallery__part {
  background-color: #fff;
}

.work-view-nav {
  display: flex;
  flex-direction: column;
  padding-bottom: clamp(40px, 6.1538461538vw + 16.9230769231px, 80px);
  border-top: 1px solid currentColor;
}
.work-view-nav__link {
  position: relative;
  display: flex;
  align-items: center;
  gap: clamp(16px, 3.6923076923vw + 2.1538461538px, 40px);
  height: clamp(82px, 10.4615384615vw + 42.7692307692px, 150px);
  padding-inline: 20px;
  color: inherit;
  box-shadow: inset 0 -1px 0 currentColor;
  transition: background-color 0.4s cubic-bezier(0.22, 1, 0.36, 1), color 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}
.work-view-nav__link::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 1px;
  background-color: #e72528;
}
.work-view-nav__link.is-disabled .work-view-nav__title {
  color: #999;
}
.work-view-nav__link_prev .work-view-nav__thumbnail {
  left: 9.6153846154vw;
  right: auto;
}
.work-view-nav__link_next .work-view-nav__thumbnail {
  left: auto;
  right: 9.6153846154vw;
}
.work-view-nav__thumbnail {
  position: absolute;
  bottom: 40px;
  width: 20.8333333333vw;
  background-color: #000;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.25);
  opacity: 0;
  aspect-ratio: 16/9;
  overflow: hidden;
  visibility: hidden;
  pointer-events: none;
  z-index: 1;
  transition: opacity 0.4s cubic-bezier(0.22, 1, 0.36, 1), visibility 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}
.work-view-nav__thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.work-view-nav__title {
  flex: 1 1 0;
  min-width: 0;
  font-size: clamp(16px, 4.3076923077vw + -0.1538461538px, 44px);
  font-weight: 700;
  letter-spacing: -0.02em;
  text-align: center;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.work-view-nav__label {
  flex-shrink: 0;
  font-size: clamp(12px, 1.8461538462vw + 5.0769230769px, 24px);
  font-weight: 500;
  letter-spacing: -0.02em;
}
.work-view-nav__label_mobile {
  display: none;
}
.work-view-nav__icon {
  display: none;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  color: #fff;
  overflow: hidden;
}
.work-view-nav__icon svg {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
}
body[data-mode=white] .work-view-nav__icon {
  color: #000;
}
.work-view-nav__link:not(.is-disabled):hover .work-view-nav__thumbnail {
  opacity: 1;
  visibility: visible;
}
.work-view-nav__link:not(.is-disabled):hover::after {
  width: 100%;
  transition: width 0.5s ease;
}

@media screen and (max-width: 767px) {
  .work-view-nav {
    border-color: #ccc;
  }
  .work-view-nav__link {
    gap: 16px;
    height: auto;
    padding-inline: 0;
    padding-block: 32px;
    box-shadow: inset 0 -1px 0 #ccc;
  }
  .work-view-nav__thumbnail {
    display: none;
  }
  .work-view-nav__title {
    font-size: 16px;
    text-align: left;
  }
  .work-view-nav__label {
    font-size: 12px;
    font-weight: 400;
    color: #888;
  }
  .work-view-nav__label_direction {
    width: 32px;
  }
  .work-view-nav__label_pc {
    display: none;
  }
  .work-view-nav__label_mobile {
    display: block;
  }
  .work-view-nav__label:not(.work-view-nav__label_direction) {
    display: none;
  }
  .work-view-nav__icon {
    display: inline-flex;
  }
  .work-view-nav__link:hover .work-view-nav__icon svg {
    animation: arrow-fly-up 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  }
}
/**
 * magazine-deco — 매거진 페이지 배경 데코 요소
 * Figma 기준 좌표로 절대 배치 (PC 1920px 기준)
 * 좌표는 매거진 섹션 기준으로 조정 필요 시 변수 수정
 */
.magazine-deco {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  max-height: 100%;
  overflow: hidden;
}

.magazine-deco__bg {
  position: absolute;
  overflow: hidden;
  pointer-events: none;
}
.magazine-deco__bg_01 {
  top: 23.3854166667vw;
  left: 29.4270833333vw;
  width: 30.46875vw;
  aspect-ratio: 585/879;
}
.magazine-deco__bg_02 {
  top: 92.4479166667vw;
  right: 0;
  width: 16.9270833333vw;
  aspect-ratio: 325/217;
}
.magazine-deco__bg_03 {
  top: 185.0520833333vw;
  left: 9.375vw;
  width: 16.0416666667vw;
  aspect-ratio: 308/322;
}
.magazine-deco__bg_04 {
  top: 314.2708333333vw;
  left: 15.625vw;
  width: 16.9270833333vw;
  aspect-ratio: 325/217;
}
.magazine-deco__bg_05 {
  top: 361.6666666667vw;
  right: 0;
  width: 30.5208333333vw;
  aspect-ratio: 586/879;
}
.magazine-deco__bg_06 {
  top: 455.1041666667vw;
  left: 9.375vw;
  width: 16.0416666667vw;
  aspect-ratio: 308/322;
}

.magazine-deco__bg-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}

.magazine-deco__text {
  position: absolute;
  color: #fff;
  font-size: 2.7083333333vw;
  line-height: 1.2;
  font-weight: 400;
  opacity: 0.2;
  /* Figma 좌표 — 매거진 섹션 기준으로 top 조정 필요할 수 있음 */
}
.magazine-deco__text_01 {
  width: 51.7708333333vw;
  top: 110.625vw;
  right: 3.9583333333vw;
}
.magazine-deco__text_02 {
  width: 55.0520833333vw;
  top: 286.9791666667vw;
  left: 15.625vw;
}
.magazine-deco__text_03 {
  width: 34.53125vw;
  top: 427.5520833333vw;
  left: 2.03125vw;
}

/* tablet/mobile: 데코 비표시 */
@media (max-width: 767px) {
  .magazine-deco__bg,
  .magazine-deco__text {
    display: none;
  }
}
.content_news {
  --content-section-padding-bottom: 0;
}
.content_news .news-list {
  padding-bottom: 80px;
}
.content_news .news-list > li:first-child:has(.news-list-item) {
  border-top: 1px solid #000;
}
.content_news .monthly-main {
  position: relative;
  display: flex;
  justify-content: space-between;
  gap: 120px;
  padding-block: 60px;
  border-top: 1px solid #000;
  box-shadow: inset 0 -1px 0 #ccc;
}
.content_news .monthly-main::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 1px;
  background-color: #e72528;
}
.content_news .monthly-main__text {
  display: flex;
  flex-direction: column;
  flex: 0 0 42.3076923077%;
  min-width: 0;
}
.content_news .monthly-main__title {
  font-size: clamp(20px, 1.2307692308vw + 15.3846153846px, 28px);
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: -0.02em;
  transition: color 0.3s ease;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.content_news .monthly-main__thumbnail {
  flex: 0 0 50%;
  aspect-ratio: 16/9;
  background: #222;
  transition: box-shadow 0.3s ease;
  overflow: hidden;
}
.content_news .monthly-main__thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.content_news .monthly-main:hover::after {
  width: 100%;
  transition: width 0.5s ease;
}
.content_news .monthly-main:hover .monthly-main__thumbnail {
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.2);
}
.content_news .monthly-main:hover .monthly-main__thumbnail img {
  transform: scale(1.1);
}
.content_news .monthly-main .monthly-volume {
  margin-bottom: 10px;
}
.content_news .monthly-main .monthly-category {
  margin-top: 34px;
}
.content_news .monthly-volume {
  color: #888;
  font-size: clamp(13px, 0.4615384615vw + 11.2692307692px, 16px);
  line-height: 1.2;
}
.content_news .monthly-description {
  margin-top: 6px;
  color: #444;
  font-size: clamp(14px, 0.6153846154vw + 11.6923076923px, 18px);
  line-height: 1.5;
}
.content_news .monthly-category {
  position: relative;
  padding-left: 18px;
  color: #000;
  font-size: clamp(13px, 0.4615384615vw + 11.2692307692px, 16px);
}
.content_news .monthly-category::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 10px;
  height: 10px;
  margin-top: -5px;
  background-color: #000;
}
.content_news .monthly-list {
  --gallery-title-size: clamp(20px, 0.6153846154vw + 17.6923076923px, 24px);
  display: flex;
  flex-wrap: wrap;
  gap: 60px 80px;
  padding-block: 60px 80px;
}
.content_news .monthly-list > li {
  flex: 0 1 calc((100% - 160px) / 3);
  min-width: 0;
}
.content_news .monthly-list .monthly-volume {
  margin-bottom: 8px;
}
.content_news .monthly-list .monthly-description {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.content_news .monthly-list .monthly-category {
  margin-top: 28px;
}

@media screen and (max-width: 1280px) {
  .content_news .monthly-main {
    gap: 4.6875vw;
  }
  .content_news .monthly-list {
    gap: 40px 30px;
  }
  .content_news .monthly-list > li {
    flex: 0 1 calc((100% - 60px) / 3);
  }
}
@media screen and (max-width: 767px) {
  .content_news .news-list {
    padding-bottom: 60px;
  }
  .content_news .monthly-volume {
    margin-bottom: 10px;
  }
  .content_news .monthly-main {
    flex-direction: column;
    gap: 20px;
    padding-block: 0;
    box-shadow: none;
  }
  .content_news .monthly-main::after {
    content: none;
  }
  .content_news .monthly-main__text {
    flex: none;
  }
  .content_news .monthly-main__title {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .content_news .monthly-main__thumbnail {
    flex: none;
    order: -1;
  }
  .content_news .monthly-main .monthly-description {
    margin-top: 12px;
  }
  .content_news .monthly-main .monthly-category {
    margin-top: 24px;
  }
  .content_news .monthly-list {
    gap: 60px;
    padding-block: 60px 80px;
  }
  .content_news .monthly-list > li {
    flex: 0 1 100%;
  }
  .content_news .monthly-list .monthly-volume {
    margin-bottom: 10px;
  }
  .content_news .monthly-list .monthly-description {
    margin-top: 12px;
  }
  .content_news .monthly-list .monthly-category {
    margin-top: 24px;
  }
}
.news-list-item {
  position: relative;
  display: block;
  min-height: clamp(170px, 4.6875vw + 110px, 200px);
  box-shadow: inset 0 -1px 0 #ccc;
  color: inherit;
}
.news-list-item::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 1px;
  background-color: #e72528;
}
.news-list-item__inner {
  display: flex;
  align-items: center;
  gap: clamp(60px, 15.625vw + -140px, 160px);
  padding-block: 27px;
}
.news-list-item__info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  padding-top: 12px;
}
.news-list-item__tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: clamp(13px, 0.4615384615vw + 11.2692307692px, 16px);
}
.news-list-item__tag::before {
  content: "";
  flex-shrink: 0;
  width: clamp(8px, 0.3076923077vw + 6.8461538462px, 10px);
  height: clamp(8px, 0.3076923077vw + 6.8461538462px, 10px);
  background-color: #000;
}
.news-list-item__title {
  margin-block: 8px 24px;
  font-size: clamp(20px, 1.2307692308vw + 15.3846153846px, 28px);
  font-weight: 700;
  letter-spacing: -0.02em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  transition: color 0.3s ease;
}
.news-list-item__date {
  display: inline-block;
  font-size: clamp(13px, 0.4615384615vw + 11.2692307692px, 16px);
  color: #888;
}
.news-list-item__thumbnail {
  flex-shrink: 0;
  width: clamp(200px, 9.375vw + 80px, 260px);
  aspect-ratio: 16/9;
  overflow: hidden;
  background-color: #666;
  transition: box-shadow 0.3s ease;
}
.news-list-item__thumbnail img {
  width: 100%;
  transition: transform 0.3s ease;
}
.news-list-item:hover::before {
  width: 100%;
  transition: width 0.5s ease;
}
.news-list-item:hover .news-list-item__thumbnail {
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.2);
}
.news-list-item:hover .news-list-item__thumbnail img {
  transform: scale(1.1);
}

@media screen and (max-width: 767px) {
  .news-list-item {
    min-height: auto;
  }
  .news-list-item__inner {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding-block: 30px;
  }
  .news-list-item__info {
    padding-top: 0;
  }
  .news-list-item__tag {
    gap: 6px;
  }
  .news-list-item__title {
    margin-block: 10px 16px;
  }
  .news-list-item__thumbnail {
    display: none;
  }
}
.content_service .content-header {
  padding-top: 5.5555555556vh;
  padding-bottom: 7.4074074074vh;
}
.content_service .content-section {
  position: sticky;
  top: 0;
  z-index: 0;
}
.content_service .service-intro {
  display: flex;
  flex-direction: column;
  gap: 5.5555555556vh;
  padding-top: 5.5555555556vh;
  padding-bottom: 12.962962963vh;
  padding-inline: clamp(16px, 2.1538461538vw + 7.9230769231px, 30px);
  color: #fff;
}
.content_service .service-intro__title {
  font-size: 11.1111111111vh;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
}
.content_service .service-intro__tagline-label {
  font-size: clamp(18px, 1.5384615385vw + 12.2307692308px, 28px);
  line-height: 1;
  font-weight: 500;
  letter-spacing: -0.02em;
}
.content_service .service-intro__tagline-text {
  font-size: clamp(20px, 1.2307692308vw + 15.3846153846px, 28px);
  line-height: 1;
  font-weight: 500;
}
.content_service .service-intro__desc {
  font-size: clamp(14px, 0.6153846154vw + 11.6923076923px, 18px);
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: -0.02em;
}

.service-footer {
  --content-navigator-padding-bottom: 200px;
  --text-link-icon-size: 32px;
  padding-top: 160px;
}
.service-footer__slogan {
  margin-bottom: 40px;
  font-size: clamp(20px, 3.0769230769vw + 8.4615384615px, 40px);
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: -0.02em;
  text-align: center;
}
.service-footer .content-navigator .text-link__label {
  font-size: clamp(18px, 2.1538461538vw + 9.9230769231px, 32px);
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .content_service .content-header {
    padding-top: 60px;
    padding-bottom: 40px;
  }
  .content_service .service-intro {
    gap: 32px;
    padding-top: 40px;
    padding-bottom: 80px;
  }
  .content_service .service-intro__title {
    font-size: 64px;
  }
  .content_service .service-intro__tagline {
    display: flex;
    flex-direction: column;
    gap: 4px;
  }
  .content_service .service-intro__tagline-label {
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: -0.01em;
  }
  .content_service .service-intro__tagline-text {
    font-weight: 700;
    line-height: 1.5;
  }
  .service-footer {
    --content-navigator-padding-bottom: 100px;
    padding-top: 80px;
  }
  .service-footer__slogan {
    font-size: 20px;
    line-height: 1.5;
    letter-spacing: 0;
  }
  .service-footer .content-navigator__link {
    --text-link-icon-size: 18px;
  }
}
.service-item {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 100dvh;
  margin-inline: auto;
  padding-top: 6.4814814815dvh;
  padding-bottom: 7.4074074074dvh;
  color: #fff;
  background-color: #000;
  overflow: hidden;
}
.service-item__video-wrap {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.service-item__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.service-item__video::-webkit-media-controls, .service-item__video::-webkit-media-controls-panel, .service-item__video::-webkit-media-controls-play-button, .service-item__video::-webkit-media-controls-start-playback-button {
  display: none !important;
  appearance: none;
}
.service-item__inner {
  min-height: calc(100dvh - 100px);
  align-content: center;
}
.service-item__content {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 5.5555555556dvh;
  z-index: 1;
}
.service-item__title {
  font-size: 11.1111111111dvh;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
  white-space: pre-wrap;
}
.service-item__title p {
  margin: 0;
}
.service-item__title p:not(:last-child) {
  margin-bottom: 0.1em;
}
.service-item__slogan {
  font-size: 28px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.02em;
}
.service-item__desc {
  font-size: 1.6666666667dvh;
  line-height: 1.8;
  letter-spacing: -0.02em;
}
.service-item .key-solutions {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 920px;
  margin-top: 5.5555555556dvh;
  z-index: 1;
}
.service-item .key-solutions__label {
  position: relative;
  padding-left: 18px;
  font-size: clamp(13px, 0.4615384615vw + 11.2692307692px, 16px);
  line-height: 1;
}
.service-item .key-solutions__label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 10px;
  height: 10px;
  background-color: #fff;
}
.service-item .key-solutions__list {
  display: flex;
  flex-direction: column;
}
.service-item .key-solutions__list > li {
  display: flex;
  gap: 20px;
  padding-block: 16px;
  border-bottom: 1px solid #666;
  font-size: clamp(13px, 0.4615384615vw + 11.2692307692px, 16px);
}
.service-item .key-solutions__list > li:first-child {
  border-top: 1px solid #666;
}
.service-item .key-solutions__index {
  font-weight: 500;
  line-height: 1;
}
.service-item .key-solutions__title {
  font-weight: 500;
  line-height: 1;
}
.service-item .key-solutions__body {
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
  min-width: 0;
}
.service-item .key-solutions__desc {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.7);
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .service-item {
    display: block;
    padding-top: 80px;
    padding-bottom: calc(60px + env(safe-area-inset-bottom));
  }
  .service-item__inner {
    align-content: unset;
  }
  .service-item__title {
    font-size: 48px;
  }
  .service-item__slogan {
    display: flex;
    flex-direction: column;
    gap: 2px;
  }
  .service-item__slogan-label {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: -0.01em;
  }
  .service-item__slogan-text {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5;
  }
  .service-item__content {
    gap: 32px;
  }
  .service-item__desc {
    font-size: 14px;
    letter-spacing: 0;
  }
  .service-item .key-solutions {
    margin-top: 80px;
    gap: 20px;
  }
  .service-item .key-solutions__label {
    padding-left: 14px;
  }
  .service-item .key-solutions__label::before {
    width: 8px;
    height: 8px;
  }
  .service-item .key-solutions__body {
    flex-direction: column;
    align-items: flex-start;
    row-gap: 10px;
  }
  .service-item .key-solutions__list > li {
    gap: 16px;
    padding-block: 16px;
  }
  .service-item .key-solutions__list > li:first-child {
    border-top-color: #d9d9d9;
  }
  .service-item .key-solutions__desc {
    font-size: 13px;
  }
}
.content_careers {
  --content-section-padding-bottom: 100px;
}
.content_careers .blog-list {
  display: flex;
  flex-wrap: wrap;
  gap: 120px 40px;
  padding-bottom: 80px;
}
.content_careers .blog-list > li {
  flex: 0 1 calc(50% - 20px);
  min-width: 0;
}
.content_careers .blog-item__date {
  margin-top: 18px;
  color: #888;
  font-size: clamp(13px, 0.4615384615vw + 11.2692307692px, 16px);
  line-height: 1.2;
}
.content_careers .people-list {
  --gallery-title-size: clamp(20px, 0.6153846154vw + 17.6923076923px, 24px);
  display: flex;
  flex-wrap: wrap;
  gap: 60px;
  padding-bottom: 80px;
}
.content_careers .people-list > li {
  flex: 0 1 calc((100% - 120px) / 3);
  min-width: 0;
}
.content_careers .people-info {
  position: relative;
  margin-right: var(--people-info-spacing, 16px);
  padding-right: var(--people-info-spacing, 16px);
  letter-spacing: -0.02em;
}
.content_careers .people-info_name {
  font-size: clamp(14px, 1.5384615385vw + 8.2307692308px, 24px);
  font-weight: 700;
}
.content_careers .people-info_role {
  font-size: clamp(13px, 1.6923076923vw + 6.6538461538px, 24px);
}
.content_careers .people-info::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 1px;
  height: var(--people-info-separator-height, 16px);
  background-color: var(--people-info-separator-color, #888);
  transform: translateY(-50%);
}
.content_careers .people-info:last-child {
  margin-right: 0;
  padding-right: 0;
}
.content_careers .people-info:last-child::after {
  content: none;
}
.content_careers .people-item__description {
  margin-top: 6px;
  color: #444;
  font-size: clamp(14px, 0.6153846154vw + 11.6923076923px, 18px);
  line-height: 1.5;
}
.content_careers .people-item__meta {
  --people-info-spacing: 12px;
  --people-info-separator-height: 10px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  row-gap: 8px;
  margin-top: 10px;
  color: #444;
}
.content_careers .people-item .people-info_name {
  font-size: clamp(14px, 0.6153846154vw + 11.6923076923px, 18px);
}
.content_careers .people-item .people-info_role {
  font-size: clamp(13px, 0.7692307692vw + 10.1153846154px, 18px);
}

@media screen and (max-width: 1280px) {
  .content_careers .blog-list {
    gap: 60px 30px;
  }
  .content_careers .people-list {
    column-gap: 30px;
  }
  .content_careers .people-list > li {
    flex: 0 1 calc((100% - 60px) / 3);
    min-width: 0;
  }
}
@media screen and (max-width: 767px) {
  .content_careers {
    --content-navigator-padding-bottom: 80px;
  }
  .content_careers .blog-list {
    gap: 60px;
  }
  .content_careers .blog-list > li {
    flex: 0 1 100%;
  }
  .content_careers .blog-item__date {
    margin-top: 16px;
  }
  .content_careers .people-list {
    column-gap: 60px;
  }
  .content_careers .people-list > li {
    flex: 0 1 100%;
  }
  .content_careers .people-item__description {
    margin-top: 12px;
  }
  .content_careers .people-item__meta {
    --people-info-spacing: 10px;
    --people-info-separator-height: 10px;
    row-gap: 4px;
    margin-top: 24px;
    color: #444;
  }
  .content_careers .people-info {
    --people-info-spacing: 10px;
    --people-info-separator-height: 10px;
  }
}
.recruit-banner__inner {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  padding-block: 20px 0;
}
.recruit-banner__sup {
  color: #666;
  font-size: clamp(14px, 0.6153846154vw + 11.6923076923px, 18px);
  line-height: 1.5;
}
.recruit-banner__slogan {
  margin-top: 10px;
  font-size: clamp(24px, 1.2307692308vw + 19.3846153846px, 32px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.02em;
}
.recruit-banner__button {
  align-self: end;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: clamp(58px, 7.0769230769vw + 31.4615384615px, 104px);
  padding-inline: clamp(22px, 5.8461538462vw + 0.0769230769px, 60px);
  border: 1px solid #000;
  font-size: clamp(18px, 2.1538461538vw + 9.9230769231px, 32px);
  font-weight: 700;
  letter-spacing: -0.02em;
  transition: background-color 0.2s cubic-bezier(0.22, 1, 0.36, 1), color 0.2s cubic-bezier(0.22, 1, 0.36, 1);
}
.recruit-banner__button-icon {
  width: clamp(16px, 2.4615384615vw + 6.7692307692px, 32px);
  height: clamp(16px, 2.4615384615vw + 6.7692307692px, 32px);
  color: #000;
  overflow: hidden;
}
.recruit-banner__button:hover {
  color: #fff;
  background-color: #000;
}
.recruit-banner__button:hover .recruit-banner__button-icon {
  color: #fff;
}
.recruit-banner__button:hover .recruit-banner__button-icon svg {
  animation: arrow-fly-up 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

@media screen and (max-width: 1024px) {
  .recruit-banner__inner {
    flex-direction: column;
    align-items: center;
    gap: 40px;
    padding-block: 0;
  }
  .recruit-banner__text {
    text-align: center;
  }
  .recruit-banner__button {
    align-self: unset;
  }
}
@media screen and (max-width: 767px) {
  .recruit-banner__slogan {
    margin-top: 12px;
  }
}
.content_careers .life-at-ttl__hero {
  aspect-ratio: 1920/780;
  background-image: url("/assets/images/life-at-ttl/life-at-ttl-hero.jpg");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
}
.content_careers .life-at-ttl__item {
  padding-block: 160px;
  overflow: hidden;
}
.content_careers .life-at-ttl__item_black {
  color: #fff;
  background-color: #000;
}
.content_careers .life-at-ttl__item_black .life-at-ttl__description {
  color: #ccc;
}
.content_careers .life-at-ttl__item_black.is-active .life-at-ttl__item-header_people {
  position: fixed;
  top: 160px;
  max-width: calc(100% - 570px);
  z-index: 5;
}
.content_careers .life-at-ttl__item_first {
  padding-bottom: 200px;
}
.content_careers .life-at-ttl [data-motion-sticky] {
  will-change: opacity, transform;
}
.content_careers .life-at-ttl__description_people {
  color: #ccc;
}
.content_careers .life-at-ttl__people {
  display: flex;
  gap: 60px;
  align-items: start;
}
.content_careers .life-at-ttl__item-header_people {
  padding-bottom: 0;
}
.content_careers .life-at-ttl__people-cards {
  padding-bottom: 100px;
  width: 480px;
  margin-left: auto;
}
.content_careers .life-at-ttl__swiper {
  overflow: visible;
}
.content_careers .life-at-ttl__swiper .swiper-wrapper {
  gap: 60px;
}
.content_careers .life-at-ttl__swiper .swiper-slide {
  max-width: 480px;
}
.content_careers .life-at-ttl__people-card {
  display: flex;
  flex-direction: column;
}
.content_careers .life-at-ttl__people-card-image {
  max-width: 480px;
  aspect-ratio: 480/341;
  background-color: #363636;
  overflow: hidden;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.content_careers .life-at-ttl__people-card-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.content_careers .life-at-ttl__people-card-body {
  background-color: #fff;
  display: flex;
  flex-direction: column;
  gap: 24px;
  height: 247px;
  padding: 60px 40px;
}
.content_careers .life-at-ttl__people-card-title {
  color: #000;
  font-size: clamp(20px, 1.2307692308vw + 15.3846153846px, 28px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
}
.content_careers .life-at-ttl__people-card-list > li {
  position: relative;
  padding-left: 27px;
  color: #444;
  font-size: clamp(14px, 0.6153846154vw + 11.6923076923px, 18px);
  line-height: 1.4;
}
.content_careers .life-at-ttl__people-card-list > li::before {
  content: "";
  position: absolute;
  top: 11px;
  left: 11px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background-color: #444;
}
.content_careers .life-at-ttl__marquee {
  overflow: hidden;
  padding-inline: clamp(16px, 2.1538461538vw + 7.9230769231px, 30px);
  white-space: nowrap;
}
@media (min-width: 1025px) {
  .content_careers .life-at-ttl__marquee {
    transition: opacity 0.4s ease 0.3s;
  }
}
.content_careers .life-at-ttl__marquee-inner {
  display: inline-flex;
  align-items: center;
  gap: 60px;
  animation: life-at-ttl-marquee 25s linear infinite;
}
.content_careers .life-at-ttl__marquee-unit {
  display: inline-flex;
  align-items: center;
  gap: 60px;
  flex-shrink: 0;
}
.content_careers .life-at-ttl__marquee-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 120px;
}
.content_careers .life-at-ttl__marquee-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.content_careers .life-at-ttl__marquee-text {
  font-size: clamp(50px, 5.5384615385vw + 29.2307692308px, 86px);
  font-weight: 400;
  line-height: 1;
  color: #fff;
}
.content_careers .life-at-ttl__item-header {
  flex: 1;
  padding-bottom: 100px;
  word-break: keep-all;
}
.content_careers .life-at-ttl__description {
  margin-top: 60px;
  color: #444;
  font-size: clamp(14px, 0.9230769231vw + 10.5384615385px, 20px);
  line-height: 1.5;
}
.content_careers .life-at-ttl__motos {
  display: grid;
  grid-template-rows: auto auto;
  row-gap: 120px;
  column-gap: 9.8958333333vw;
  align-items: start;
}
.content_careers .life-at-ttl__block {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.content_careers .life-at-ttl__block_portrait {
  grid-column: 2;
  grid-row: 1/-1;
  align-self: center;
}
.content_careers .life-at-ttl__block_landscape {
  grid-column: 1;
  grid-row: 1;
  padding-right: 40px;
}
.content_careers .life-at-ttl__block_square {
  grid-column: 1;
  grid-row: 2;
  margin-left: auto;
  max-width: 36.1728395062vw;
}
.content_careers .life-at-ttl__block-image {
  overflow: hidden;
  background-color: #e5e5e5;
}
.content_careers .life-at-ttl__block-image img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}
.content_careers .life-at-ttl__block_landscape .content_careers .life-at-ttl__block-image img {
  aspect-ratio: 760/427;
}
.content_careers .life-at-ttl__block_portrait .content_careers .life-at-ttl__block-image img {
  aspect-ratio: 570/760;
}
.content_careers .life-at-ttl__block_square .content_careers .life-at-ttl__block-image img {
  aspect-ratio: 1/1;
}
.content_careers .life-at-ttl__block-text {
  font-size: clamp(20px, 0.6153846154vw + 17.6923076923px, 24px);
  font-weight: 500;
  line-height: 1.4;
}
.content_careers .life-at-ttl__benefits {
  display: flex;
  flex-direction: column;
  gap: 160px;
}
.content_careers .life-at-ttl__benefits-inner {
  display: flex;
  flex-direction: column;
  gap: 160px;
  width: 100%;
  padding-top: 160px;
}
.content_careers .life-at-ttl__benefits-section {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.content_careers .life-at-ttl__benefits-header {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding-left: 22px;
}
.content_careers .life-at-ttl__benefits-header::before {
  content: "";
  position: absolute;
  top: 9px;
  left: 0;
  width: 10px;
  height: 10px;
  background-color: #000;
}
.content_careers .life-at-ttl__benefits-slogan {
  font-size: clamp(20px, 1.2307692308vw + 15.3846153846px, 28px);
  line-height: 1;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.content_careers .life-at-ttl__benefits-slogan-desc {
  font-size: clamp(14px, 0.3076923077vw + 12.8461538462px, 16px);
  line-height: 1;
  font-weight: 400;
}
.content_careers .life-at-ttl__benefits-list {
  display: flex;
  flex-direction: column;
  list-style: none;
  margin: 0;
  padding: 0;
}
.content_careers .life-at-ttl__benefits-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  padding-block: 60px;
  border-bottom: 1px solid #ccc;
}
.content_careers .life-at-ttl__benefits-item:first-of-type {
  border-top: 1px solid #000;
}
.content_careers .life-at-ttl__benefits-item-title {
  flex-shrink: 0;
  font-size: clamp(28px, 4.9230769231vw + 9.5384615385px, 60px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
  color: #000;
  text-transform: uppercase;
}
.content_careers .life-at-ttl__benefits-item-desc {
  flex: 1;
  font-size: clamp(15px, 0.4615384615vw + 13.2692307692px, 18px);
  font-weight: 500;
  line-height: 1.5;
  color: #000;
  text-align: right;
}
.content_careers .life-at-ttl .light-section-wrapper {
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  max-width: 1000% !important;
  width: 100vw !important;
}
.content_careers .life-at-ttl .wrapper-gallery {
  display: inline-flex;
  align-items: flex-end;
}
.content_careers .life-at-ttl .wrapper-gallery > li {
  width: 594px;
  padding-left: 10px;
  padding-right: 10px;
  box-sizing: border-box;
}
.content_careers .life-at-ttl .wrapper-gallery > li img {
  margin: 0;
}
.content_careers .life-at-ttl .wrapper-gallery > li .img-wrapper {
  overflow: hidden;
  width: fit-content;
}

@media screen and (max-width: 1280px) {
  .content_careers .life-at-ttl__block_landscape {
    padding-right: 2.0833333333vw;
  }
  .content_careers .life-at-ttl__motos {
    column-gap: 30px;
  }
  .content_careers .life-at-ttl__people {
    gap: 30px;
  }
}
/* ~1024px: 함께 하고 싶은 사람 카드 - 작은 패딩/폰트 */
@media screen and (max-width: 1024px) {
  .content_careers .life-at-ttl__item_black {
    overflow: clip;
    overflow-clip-margin: 0px;
  }
  .content_careers .life-at-ttl__people {
    flex-direction: column;
    gap: 0;
  }
  .content_careers .life-at-ttl__people-cards {
    width: auto;
    margin-left: 0;
  }
  .content_careers .life-at-ttl__swiper .swiper-wrapper {
    gap: 0;
  }
  .content_careers .life-at-ttl .wrapper-gallery > li {
    width: 280px;
  }
}
@media screen and (max-width: 767px) {
  .content_careers .life-at-ttl__inner {
    padding-inline: 16px;
  }
  .content_careers .life-at-ttl__hero {
    aspect-ratio: 375/480;
    background-image: url("/assets/images/life-at-ttl/life-at-ttl-hero-mo.jpg");
  }
  .content_careers .life-at-ttl__item {
    padding-block: 80px 100px;
  }
  .content_careers .life-at-ttl__item_last {
    padding-bottom: 80px;
  }
  .content_careers .life-at-ttl__description {
    margin-top: 24px;
    line-height: 1.8;
  }
  .content_careers .life-at-ttl__item-header {
    padding-bottom: 60px;
  }
  .content_careers .life-at-ttl__motos {
    display: flex;
    flex-direction: column;
    gap: 80px;
    padding-top: 20px;
  }
  .content_careers .life-at-ttl__block_portrait {
    max-width: calc(100% - 80px);
    margin-left: auto;
  }
  .content_careers .life-at-ttl__block_square {
    max-width: calc(100% - 80px);
    margin-left: 0;
  }
  .content_careers .life-at-ttl__block_landscape {
    padding-right: 0;
  }
  .content_careers .life-at-ttl__block_landscape .life-at-ttl__block-image img {
    aspect-ratio: 343/193;
  }
  .content_careers .life-at-ttl__block_portrait .life-at-ttl__block-image img {
    aspect-ratio: 262/350;
  }
  .content_careers .life-at-ttl__block_square .life-at-ttl__block-image img {
    aspect-ratio: 262/262;
  }
  .content_careers .life-at-ttl__block-text {
    font-size: 20px;
    line-height: 1.5;
    letter-spacing: -0.02em;
  }
  .content_careers .life-at-ttl__people {
    display: block;
    padding-inline: 16px;
  }
  .content_careers .life-at-ttl__description_people {
    font-size: 14px;
    line-height: 1.8;
  }
  .content_careers .life-at-ttl__swiper .swiper-slide {
    max-width: 87.4635568513%;
  }
  .content_careers .life-at-ttl__people-cards {
    padding-bottom: 80px;
  }
  .content_careers .life-at-ttl__people-card-image {
    max-width: none;
    aspect-ratio: 300/213;
  }
  .content_careers .life-at-ttl__people-card-body {
    gap: 16px;
    height: 198px;
    padding: 24px 16px;
  }
  .content_careers .life-at-ttl__people-card-title {
    line-height: 1.5;
    letter-spacing: 0;
  }
  .content_careers .life-at-ttl__people-card-list > li {
    padding-left: 9px;
    line-height: 1.8;
  }
  .content_careers .life-at-ttl__people-card-list > li::before {
    top: 8px;
    left: 0;
    width: 3px;
    height: 3px;
    border-radius: 0;
  }
  .content_careers .life-at-ttl__marquee-inner {
    gap: 20px;
  }
  .content_careers .life-at-ttl__marquee-unit {
    gap: 20px;
  }
  .content_careers .life-at-ttl__marquee-icon {
    width: 70px;
  }
  .content_careers .life-at-ttl__marquee-icon img {
    width: 100%;
    height: 100%;
  }
  .content_careers .life-at-ttl__benefits {
    gap: 60px;
  }
  .content_careers .life-at-ttl__benefits-inner {
    gap: 80px;
    padding-top: 80px;
  }
  .content_careers .life-at-ttl__benefits-section {
    gap: 20px;
  }
  .content_careers .life-at-ttl__benefits-header {
    padding-left: 17px;
  }
  .content_careers .life-at-ttl__benefits-header::before {
    top: 6px;
    width: 6px;
    height: 6px;
  }
  .content_careers .life-at-ttl__benefits-slogan {
    font-size: 20px;
    letter-spacing: 0;
  }
  .content_careers .life-at-ttl__benefits-slogan-desc {
    font-size: 14px;
  }
  .content_careers .life-at-ttl__benefits-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 30px;
    padding-block: 40px;
  }
  .content_careers .life-at-ttl__benefits-item-title {
    width: 100%;
    max-width: none;
    font-size: 28px;
    text-align: left;
  }
  .content_careers .life-at-ttl__benefits-item-desc {
    font-size: 15px;
    font-weight: 400;
    text-align: left;
  }
}
@keyframes life-at-ttl-marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
.content_careers .content-section_fit .content-header {
  max-width: 1620px;
  margin-inline: auto;
}
.content_careers .recruit-journey {
  display: flex;
  justify-content: center;
  align-items: stretch;
  margin-bottom: 100px;
}
.content_careers .recruit-journey__item {
  flex: 1;
}
.content_careers .recruit-journey__step {
  aspect-ratio: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 10px;
  border: 1px solid #000;
  border-radius: 50%;
  text-align: center;
}
.content_careers .recruit-journey__step_last .content_careers .recruit-journey__title {
  margin: 0;
}
.content_careers .recruit-journey__title {
  font-size: clamp(16px, 1.8461538462vw + 9.0769230769px, 28px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.02em;
}
.content_careers .recruit-journey__description {
  font-size: clamp(13px, 0.7692307692vw + 10.1153846154px, 18px);
  font-weight: 500;
  line-height: 1;
}
.content_careers .split-info {
  border-top: 1px solid #000;
}
.content_careers .split-info__row {
  display: flex;
  align-items: center;
  gap: 160px;
  padding-block: 40px;
  border-bottom: 1px solid #ccc;
}
.content_careers .split-info__row_bullet {
  align-items: flex-start;
}
.content_careers .split-info__label {
  flex: 1;
  display: inline-block;
  max-width: 320px;
  font-size: clamp(20px, 2.4615384615vw + 10.7692307692px, 36px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
}
.content_careers .split-info__description {
  flex: 1;
}
.content_careers .split-info__description p {
  font-size: clamp(14px, 0.6153846154vw + 11.6923076923px, 18px);
  line-height: 1.5;
}
.content_careers .split-info__description p ~ p {
  margin-top: 12px;
}
.content_careers .split-info__description_bullet p {
  position: relative;
  padding-left: 16px;
}
.content_careers .split-info__description_bullet p::before {
  content: "";
  position: absolute;
  top: 11px;
  left: 0;
  width: 4px;
  height: 4px;
  background-color: #444;
  border-radius: 50%;
}
.content_careers .careers-recruit__item {
  padding-bottom: 200px;
}
.content_careers .careers-recruit__item_last {
  padding-bottom: 0 !important;
}
.content_careers .careers-recruit .recruit-list {
  display: flex;
  justify-content: space-between;
  gap: 160px;
}
.content_careers .careers-recruit .recruit-list__item_left {
  flex: var(--recruit-list-left-flex, 640 2 0);
  display: flex;
  flex-direction: var(--recruit-list-left-flex-direction, column);
  gap: var(--recruit-list-left-gap, 112px);
}
.content_careers .careers-recruit .recruit-list__item_right {
  flex: 760 1 0;
}
.content_careers .careers-recruit .recruit-list__slogan {
  font-size: clamp(26px, 2.1538461538vw + 17.9230769231px, 40px);
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.content_careers .careers-recruit .recruit-list__visual {
  width: 100%;
}
.content_careers .careers-recruit .recruit-list__content {
  border-top: 1px solid #000;
}
.content_careers .careers-recruit .recruit-list__content:has(.recruit-list__empty) {
  height: 100%;
}
.content_careers .careers-recruit .recruit-list__empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  font-size: 16px;
  line-height: 1.5;
  border-bottom: 1px solid #ccc;
}
.content_careers .careers-recruit .recruit-item {
  position: relative;
  display: block;
  padding-block: 50px;
  box-shadow: inset 0 -1px 0 #ccc;
}
.content_careers .careers-recruit .recruit-item::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 1px;
  background-color: #e72528;
}
.content_careers .careers-recruit .recruit-item__link {
  --text-link-gap: 10px;
  --text-link-icon-size: 32px;
  display: flex;
  justify-content: space-between;
}
.content_careers .careers-recruit .recruit-item__link .text-link__label {
  font-size: clamp(20px, 2.4615384615vw + 10.7692307692px, 36px);
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.content_careers .careers-recruit .recruit-item__meta {
  display: block;
  margin-top: 24px;
}
.content_careers .careers-recruit .recruit-item__meta-info {
  position: relative;
  display: inline-block;
  margin-right: 10px;
  padding-right: 11px;
  font-size: clamp(13px, 0.7692307692vw + 10.1153846154px, 18px);
  font-weight: 500;
  line-height: 1;
}
.content_careers .careers-recruit .recruit-item__meta-info::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 1px;
  height: 10px;
  margin-top: -5px;
  background-color: #999;
}
.content_careers .careers-recruit .recruit-item__meta-info:last-child::after {
  content: none;
}
.content_careers .careers-recruit .recruit-item:hover::after {
  width: 100%;
  transition: width 0.4s ease;
}
.content_careers .careers-recruit .recruit-item:hover .text-link__icon {
  animation: arrow-fly-up 0.4s ease forwards;
}
.content_careers .careers-recruit__banner {
  position: relative;
  aspect-ratio: 1920/484;
  background-color: #ccc;
  background: url("/assets/images/recruit/recruit-banner.jpg") no-repeat center top/cover;
}
.content_careers .careers-recruit__banner::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.4);
}
.content_careers .careers-recruit .recruit-banner__slogan {
  position: absolute;
  inset-inline: 0;
  top: 50%;
  color: #fff;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.3), 0 -3px 24.2px rgba(0, 0, 0, 0.3);
  font-size: clamp(24px, 2.4615384615vw + 14.7692307692px, 40px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.02em;
  text-align: center;
  transform: translateY(-50%);
  z-index: 1;
}
.content_careers .careers-recruit__item_black {
  color: #fff;
  background-color: #000;
}
.content_careers .careers-recruit__item-header {
  padding-top: clamp(80px, 12.3076923077vw + 33.8461538462px, 160px);
  padding-bottom: clamp(40px, 9.2307692308vw + 5.3846153846px, 100px);
}
.content_careers .careers-recruit .recruit-howto__list {
  display: flex;
  gap: 60px;
}
.content_careers .careers-recruit .recruit-howto__list > li {
  flex: 1;
}
.content_careers .careers-recruit .recruit-howto__info {
  margin-top: 40px;
}
.content_careers .careers-recruit .recruit-howto__title {
  font-size: clamp(24px, 1.8461538462vw + 17.0769230769px, 36px);
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.content_careers .careers-recruit .recruit-howto__slogan {
  margin-top: 24px;
  color: #222;
  font-size: clamp(18px, 0.3076923077vw + 16.8461538462px, 20px);
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.content_careers .careers-recruit .recruit-howto__description {
  margin-top: 16px;
  font-size: clamp(15px, 0.4615384615vw + 13.2692307692px, 18px);
  line-height: 1.5;
}
.content_careers .careers-recruit .recruit-benefit__list {
  border-top: 1px solid #fff;
}
.content_careers .careers-recruit .recruit-benefit__row {
  display: flex;
  gap: 80px;
  padding-block: 60px;
  border-bottom: 1px solid #444;
}
.content_careers .careers-recruit .recruit-benefit__item {
  display: flex;
  flex: 1;
  gap: 20px;
  align-items: center;
}
.content_careers .careers-recruit .recruit-benefit__icon {
  flex-shrink: 0;
  width: 100px;
  height: 100px;
}
.content_careers .careers-recruit .recruit-benefit__icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.content_careers .careers-recruit .recruit-benefit__content {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
}
.content_careers .careers-recruit .recruit-benefit__title {
  font-size: clamp(28px, 1.2307692308vw + 23.3846153846px, 36px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.02em;
}
.content_careers .careers-recruit .recruit-benefit__description {
  font-size: clamp(15px, 0.4615384615vw + 13.2692307692px, 18px);
  line-height: 1.5;
  color: #ccc;
}

@media screen and (max-width: 1280px) {
  .content_careers .careers-recruit .recruit-list {
    gap: 30px;
  }
  .content_careers .careers-recruit .recruit-howto__list {
    gap: 30px;
  }
}
@media screen and (max-width: 1024px) {
  .content_careers {
    --recruit-list-left-flex: 1;
    --recruit-list-left-flex-direction: column-reverse;
    --recruit-list-left-gap: 60px;
  }
  .content_careers .recruit-journey {
    position: relative;
    flex-direction: column;
    align-items: center;
    gap: 20px;
  }
  .content_careers .recruit-journey__item {
    position: relative;
    width: 100%;
  }
  .content_careers .recruit-journey__item:not(:last-child)::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -20px;
    width: 0;
    height: 20px;
    margin-left: -1px;
    border-left: 1px dashed #999;
  }
  .content_careers .recruit-journey__step {
    aspect-ratio: 343/90;
    width: 100%;
    max-width: 343px;
    margin-inline: auto;
    border-radius: 1000px;
    gap: 10px;
  }
  .content_careers .recruit-journey__step_last {
    gap: 0;
  }
  .content_careers .recruit-journey__title {
    line-height: 1;
    letter-spacing: 0;
  }
  .content_careers .split-info__row {
    flex-direction: column;
    align-items: flex-start;
    gap: 30px;
  }
  .content_careers .split-info__label {
    max-width: none;
  }
  .content_careers .careers-recruit__banner {
    aspect-ratio: 1/1;
  }
  .content_careers .careers-recruit .recruit-list {
    flex-direction: column;
    gap: 38.5px;
  }
  .content_careers .careers-recruit .recruit-list__item_right {
    flex: 1;
  }
  .content_careers .careers-recruit .recruit-list__content {
    border-top: 0;
  }
  .content_careers .careers-recruit .recruit-list__content:has(.recruit-list__empty) {
    border-top: 1px solid #ccc;
  }
  .content_careers .careers-recruit .recruit-list__content .recruit-list__empty {
    height: 260px;
    font-size: 14px;
    line-height: 1.8;
  }
  .content_careers .careers-recruit .recruit-howto__list {
    flex-direction: column;
    gap: 80px;
  }
}
@media screen and (max-width: 767px) {
  .content_careers .recruit-journey {
    gap: 20px;
    margin-bottom: 60px;
  }
  .content_careers .recruit-journey__step {
    max-width: 343px;
  }
  .content_careers .recruit-journey__title {
    font-size: 16px;
  }
  .content_careers .recruit-journey__description {
    font-size: 13px;
    font-weight: 400;
  }
  .content_careers .split-info__row {
    gap: 12px;
    padding-block: 24px;
  }
  .content_careers .split-info__label {
    line-height: 1.5;
    letter-spacing: 0;
  }
  .content_careers .split-info__description p {
    line-height: 1.8;
  }
  .content_careers .split-info__description p ~ p {
    margin-top: 8px;
  }
  .content_careers .split-info__description_bullet p {
    padding-left: 8px;
  }
  .content_careers .split-info__description_bullet p::before {
    width: 2px;
    height: 2px;
    background-color: #444;
    border-radius: 50%;
  }
  .content_careers .careers-recruit__item {
    padding-bottom: 100px;
  }
  .content_careers .careers-recruit .recruit-item {
    padding-block: 40px;
  }
  .content_careers .careers-recruit .recruit-list__slogan {
    line-height: 1.4;
  }
  .content_careers .careers-recruit .recruit-list__visual img {
    width: 100%;
  }
  .content_careers .careers-recruit .recruit-item__link {
    --text-link-gap: 6px;
    --text-link-icon-size: 24px;
  }
  .content_careers .careers-recruit .recruit-item__meta {
    display: flex;
    flex-wrap: wrap;
    row-gap: 12px;
    margin-top: 16px;
  }
  .content_careers .careers-recruit .recruit-item__meta-info {
    font-weight: 400;
  }
  .content_careers .careers-recruit .recruit-item__meta-info_field {
    flex-basis: 100%;
    font-size: 15px;
    line-height: 1.5;
    font-weight: 500;
  }
  .content_careers .careers-recruit .recruit-item__meta-info_field::after {
    content: none;
  }
  .content_careers .careers-recruit .recruit-howto__info {
    margin-top: 24px;
  }
  .content_careers .careers-recruit .recruit-howto__slogan {
    margin-top: 20px;
  }
  .content_careers .careers-recruit .recruit-howto__description {
    margin-top: 12px;
  }
  .content_careers .careers-recruit .recruit-benefit__row {
    flex-direction: column;
    gap: 0;
    padding-block: 0;
    border-bottom: none;
  }
  .content_careers .careers-recruit .recruit-benefit__item {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    padding-block: 30px 40px;
    border-bottom: 1px solid #444;
  }
  .content_careers .careers-recruit .recruit-benefit__row:last-child .content_careers .careers-recruit .recruit-benefit__item:last-child {
    border-bottom: none;
  }
  .content_careers .careers-recruit .recruit-benefit__icon {
    width: 48px;
    height: 48px;
  }
  .content_careers .careers-recruit .recruit-benefit__content {
    gap: 16px;
  }
  .content_careers .careers-recruit .recruit-benefit__title {
    font-size: 28px;
    line-height: 1;
    letter-spacing: -0.02em;
  }
  .content_careers .careers-recruit .recruit-benefit__description {
    font-size: 15px;
  }
}
.content_careers .recruit-detail__item {
  padding-top: 160px;
  padding-bottom: 200px;
}
.content_careers .recruit-detail__item_fit {
  padding-top: 0 !important;
}
.content_careers .recruit-detail__item_black {
  color: #fff;
  background-color: #000;
  overflow: clip;
}
.content_careers .position-attraction {
  display: flex;
  gap: 160px;
  align-items: flex-start;
}
.content_careers .position-attraction__title {
  flex-shrink: 0;
  width: 320px;
  font-size: clamp(30px, 1.5384615385vw + 24.2307692308px, 40px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.02em;
}
.content_careers .position-attraction__swiper {
  flex: 1;
  min-width: 0;
  overflow: hidden;
}
.content_careers .position-attraction__slide {
  width: calc((100% - 40px) / 2);
  height: auto;
}
.content_careers .position-attraction__card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: clamp(400px, 12.3076923077vw + 353.8461538462px, 480px);
  padding: clamp(36px, 1.2307692308vw + 31.3846153846px, 44px) clamp(30px, 2.1538461538vw + 21.9230769231px, 44px);
  background-color: #1b1b1b;
}
.content_careers .position-attraction__card-title {
  font-size: clamp(24px, 0.6153846154vw + 21.6923076923px, 28px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.02em;
}
.content_careers .position-attraction__card-body {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.content_careers .position-attraction__card-highlight {
  font-size: clamp(48px, 4.9230769231vw + 29.5384615385px, 80px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
}
.content_careers .position-attraction__card-description {
  font-size: clamp(14px, 0.6153846154vw + 11.6923076923px, 18px);
  line-height: 1.5;
  color: #999;
}
.content_careers .recruit-detail__item-header {
  padding-bottom: var(--recruit-detail-header-padding-bottom, 100px);
}
.content_careers .recruit-detail__hero {
  aspect-ratio: 1920/780;
  background-image: url("/assets/images/recruit/recruit-hero.jpg");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
}
.content_careers .recruit-detail__position {
  display: flex;
  flex-wrap: wrap;
  row-gap: 6px;
  align-items: center;
  font-size: clamp(30px, 4.6153846154vw + 12.6923076923px, 60px);
  line-height: 1;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.content_careers .recruit-detail__position-tag {
  position: relative;
  display: inline-block;
  margin-right: 24px;
  padding-right: 28px;
}
.content_careers .recruit-detail__position-tag::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 4px;
  height: 44px;
  margin-top: -22px;
  background-color: #000;
}
.content_careers .recruit-detail__position-entry {
  margin-left: 4px;
}
.content_careers .recruit-detail__description {
  margin-block: 60px 100px;
  color: #444;
  font-size: clamp(14px, 0.9230769231vw + 10.5384615385px, 20px);
  line-height: 1.5;
}
.content_careers .recruit-detail__button-wrap {
  margin-top: 100px;
  text-align: center;
}
.content_careers .recruit-detail__button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: clamp(58px, 7.0769230769vw + 31.4615384615px, 104px);
  padding-inline: clamp(22px, 5.8461538462vw + 0.0769230769px, 60px);
  border: 1px solid #000;
  font-size: clamp(18px, 2.1538461538vw + 9.9230769231px, 32px);
  font-weight: 700;
  letter-spacing: -0.02em;
  transition: background-color 0.2s cubic-bezier(0.22, 1, 0.36, 1), color 0.2s cubic-bezier(0.22, 1, 0.36, 1);
}
.content_careers .recruit-detail__button-icon {
  width: clamp(16px, 2.4615384615vw + 6.7692307692px, 32px);
  height: clamp(16px, 2.4615384615vw + 6.7692307692px, 32px);
  color: #000;
  overflow: hidden;
}
.content_careers .recruit-detail__button:hover {
  color: #fff;
  background-color: #000;
}
.content_careers .recruit-detail__button:hover .recruit-detail__button-icon {
  color: #fff;
}
.content_careers .recruit-detail__button:hover .recruit-detail__button-icon svg {
  animation: arrow-fly-up 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
.content_careers .recruit-faq {
  overflow-anchor: none;
}
.content_careers .recruit-faq__category {
  display: flex;
  gap: 160px;
  border-top: 1px solid #000;
}
.content_careers .recruit-faq__header {
  flex: 1;
  max-width: 320px;
  padding-top: 40px;
}
.content_careers .recruit-faq__title {
  font-size: clamp(24px, 1.8461538462vw + 17.0769230769px, 36px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
}
.content_careers .recruit-faq__description {
  margin-top: 20px;
  font-size: clamp(13px, 0.4615384615vw + 11.2692307692px, 16px);
  line-height: 1.5;
  color: #444;
}
.content_careers .recruit-faq__list {
  flex: 1;
  min-width: 0;
}
.content_careers .recruit-faq__question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  padding-block: 40px;
  border-bottom: 1px solid #ccc;
  font-size: clamp(20px, 0.6153846154vw + 17.6923076923px, 24px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.02em;
  color: #000;
  text-align: left;
}
.content_careers .recruit-faq__question[aria-expanded=true] {
  border-bottom: 0;
}
.content_careers .recruit-faq__question-text {
  display: flex;
  gap: 10px;
  flex: 1;
  min-width: 0;
}
.content_careers .recruit-faq__question-q {
  flex-shrink: 0;
}
.content_careers .recruit-faq__question-icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(16px, 2.4615384615vw + 6.7692307692px, 32px);
  height: clamp(16px, 2.4615384615vw + 6.7692307692px, 32px);
  transform: scaleY(-1);
  transition: transform 0.2s cubic-bezier(0.22, 1, 0.36, 1);
}
.content_careers .recruit-faq__question-icon .recruit-faq__question-icon-svg {
  width: 100%;
  height: 100%;
}
.content_careers .recruit-faq__question[aria-expanded=true] .recruit-faq__question-icon {
  transform: scaleY(1);
}
.content_careers .recruit-faq__answer {
  display: flex;
  gap: 8px;
  padding: clamp(36px, 2.1538461538vw + 27.9230769231px, 50px);
  background-color: #f4f4f4;
  font-size: clamp(14px, 0.6153846154vw + 11.6923076923px, 18px);
  line-height: 1.5;
}
.content_careers .recruit-faq__answer-a {
  flex-shrink: 0;
  font-weight: 700;
}
.content_careers .recruit-faq__answer-text {
  flex: 1;
  min-width: 0;
}
.content_careers .recruit-faq__answer-text p {
  margin: 0;
}
.content_careers .recruit-faq__answer-text p + p {
  margin-top: 12px;
}
.content_careers .recruit-faq .recruit-faq__item:last-child .recruit-faq__question {
  border-bottom: 0;
}
.content_careers .recruit-faq .recruit-faq__item:last-child .recruit-faq__answer {
  margin-bottom: 40px;
}

@media screen and (max-width: 1280px) {
  .content_careers .position-attraction {
    gap: 30px;
  }
}
@media screen and (max-width: 1024px) {
  .content_careers .position-attraction {
    flex-direction: column;
    gap: 60px;
  }
  .content_careers .recruit-faq__category {
    flex-direction: column;
    gap: 28px;
  }
  .content_careers .recruit-faq__header {
    max-width: none;
  }
}
@media screen and (max-width: 767px) {
  .content_careers .position-attraction__swiper {
    overflow: visible;
  }
  .content_careers .position-attraction__slide {
    width: calc(100% - 40px);
  }
  .content_careers .recruit-faq {
    border-bottom: 1px solid #ccc;
  }
  .content_careers .recruit-faq__header {
    padding-top: 60px;
  }
  .content_careers .recruit-faq__question {
    padding-block: 36px;
  }
  .content_careers .recruit-faq__answer {
    padding-block: 36px;
    padding-inline: 30px;
  }
  .content_careers .recruit-faq__title {
    line-height: 1.4;
    letter-spacing: 0;
  }
  .content_careers .recruit-faq__description {
    margin-top: 10px;
    line-height: 1;
  }
  .content_careers .recruit-faq__list {
    border-top: 1px solid #ccc;
  }
  .content_careers .recruit-faq__answer-text p + p {
    margin-top: 8px;
  }
  .content_careers .recruit-detail__button-wrap {
    margin-top: 80px;
  }
  .content_careers .recruit-detail__hero {
    aspect-ratio: 375/480;
    background-image: url("/assets/images/recruit/recruit-hero-mo.jpg");
  }
  .content_careers .recruit-detail__item {
    --recruit-detail-header-padding-bottom: 40px;
    padding-block: 80px 100px;
  }
  .content_careers .recruit-detail__item_info {
    --recruit-detail-header-padding-bottom: 60px;
  }
  .content_careers .recruit-detail__position {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    line-height: 1.2;
  }
  .content_careers .recruit-detail__position-tag {
    margin-right: 0;
    padding-right: 0;
  }
  .content_careers .recruit-detail__position-tag::after {
    content: none;
  }
  .content_careers .recruit-detail__position-entry {
    margin-left: 0;
  }
  .content_careers .recruit-detail__description {
    margin-block: 24px 60px;
    line-height: 1.8;
  }
  .content_careers .recruit-faq__list {
    padding-bottom: 40px;
  }
  .content_careers .recruit-faq__category:last-child .recruit-faq__list {
    padding-bottom: 0;
  }
  .content_careers .recruit-faq .recruit-faq__item:last-child .recruit-faq__answer {
    margin-bottom: 0;
  }
  .content_careers .recruit-faq__category:last-child .recruit-faq__item:last-child .recruit-faq__answer {
    margin-bottom: 40px;
  }
  .content_careers .recruit-faq__answer-text p {
    line-height: 1.8;
  }
}
.content_contact .contact-request {
  padding-bottom: 80px;
}
.content_contact .request-item__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 30px;
  margin-bottom: 60px;
  padding-bottom: 40px;
  border-bottom: 1px solid #000;
}
.content_contact .request-item__title {
  flex: 0 1 auto;
  font-size: clamp(26px, 2.1538461538vw + 17.9230769231px, 40px);
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.content_contact .request-item__description {
  flex: 1 0 auto;
  color: #e72528;
  font-size: clamp(14px, 0.3076923077vw + 12.8461538462px, 16px);
  font-weight: 500;
  text-align: right;
}
.content_contact .request-item ~ .request-item {
  margin-top: 160px;
}
.content_contact .request-item_email .request-item__toggle {
  display: none;
}
.content_contact .request-item_inquiry {
  --request-form-header-margin-bottom: 32px;
}
.content_contact .request-item_client {
  --request-form-header-margin-bottom: 40px;
}
.content_contact .request-item_agree .request-form__header {
  padding-bottom: 40px;
  border-bottom: 1px solid #000;
}
.content_contact .request-item_agree .request-form__title {
  font-size: clamp(26px, 2.1538461538vw + 17.9230769231px, 40px);
}
.content_contact .contact-email-list {
  display: flex;
  flex-wrap: wrap;
  gap: 60px 40px;
  align-items: flex-start;
}
.content_contact .contact-email-item {
  flex: 0 1 calc((100% - 80px) / 3);
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.content_contact .contact-email-item__title {
  font-size: clamp(16px, 0.3076923077vw + 14.8461538462px, 18px);
  line-height: 1;
  font-weight: 700;
}
.content_contact .contact-email-item:nth-child(n+4) .contact-email-item__title {
  color: #444;
}
.content_contact .contact-email-item__description {
  margin-top: 12px;
  color: #888;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.2;
}
.content_contact .contact-email-item__link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  padding-bottom: 14px;
  box-shadow: inset 0 -1px 0 #000;
}
.content_contact .contact-email-item__link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 1px;
  background-color: #e72528;
}
.content_contact .contact-email-item__link:hover::after {
  width: 100%;
  transition: width 0.5s ease;
}
.content_contact .contact-email-item__email {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.02em;
}
.content_contact .contact-email-item__icon {
  display: block;
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  color: #000;
  overflow: hidden;
}
.content_contact .contact-email-item__icon svg {
  display: block;
  width: 100%;
  height: 100%;
}
.content_contact .contact-email-item__link:hover .contact-email-item__icon svg {
  animation: arrow-fly-up 0.35s ease;
}
.content_contact .request-form__header {
  display: flex;
  flex-direction: column;
  gap: 18px;
  margin-bottom: var(--request-form-header-margin-bottom);
}
.content_contact .request-form__title {
  font-size: clamp(20px, 1.2307692308vw + 15.3846153846px, 28px);
  font-weight: 700;
  letter-spacing: -0.02em;
}
.content_contact .request-form__description {
  color: #999;
  font-size: clamp(14px, 0.6153846154vw + 11.6923076923px, 18px);
  font-weight: 500;
}
.content_contact .request-form .is-required {
  color: #e72528;
}
.content_contact .request-form__item ~ .request-form__item {
  margin-top: 80px;
}
.content_contact .form-select-list {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  align-items: flex-start;
}
.content_contact .form-select-item {
  flex-shrink: 0;
  width: 205px;
  height: 50px;
  align-content: center;
  padding-inline: 24px;
  border: 1px solid #ccc;
  color: #000;
  text-align: center;
  cursor: pointer;
  transition: color 0.2s, border-color 0.2s, background-color 0.2s;
}
.content_contact .form-select-label {
  font-size: 16px;
  font-weight: 500;
}
.content_contact .form-select-item:has(input:checked) {
  color: #fff;
  border-color: #000;
  background-color: #000;
}
.content_contact .form-select-item:has(input:checked) .form-select-label {
  font-weight: 700;
}
.content_contact .form-radio-list {
  display: flex;
  flex-wrap: wrap;
  gap: 50px;
  align-items: center;
}
.content_contact .form-radio-item {
  display: flex;
  align-items: center;
  gap: 14px;
  cursor: pointer;
}
.content_contact .form-radio-icon {
  position: relative;
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  border: 1px solid #444;
  border-radius: 50%;
  background-color: #fff;
  transition: border-color 0.2s, background-color 0.2s, box-shadow 0.2s;
}
.content_contact .form-radio-item:has(input:checked) .form-radio-icon::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 14px;
  height: 14px;
  margin-top: -7px;
  margin-left: -7px;
  border-radius: 50%;
  background-color: #000;
}
.content_contact .form-radio-label {
  color: #444;
  font-size: clamp(15px, 0.4615384615vw + 13.2692307692px, 18px);
  font-weight: 500;
  transition: color 0.2s;
}
.content_contact .request-client-form {
  display: flex;
  flex-wrap: wrap;
  gap: 48px;
  align-items: flex-start;
}
.content_contact .form-input-item {
  flex: 0 0 calc(50% - 24px);
  display: flex;
  gap: 32px;
  align-items: center;
  min-width: 280px;
}
.content_contact .form-input-label {
  flex-shrink: 0;
  width: 73px;
  font-size: clamp(15px, 0.7692307692vw + 12.1153846154px, 20px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.02em;
}
.content_contact .form-input {
  --form-input-border-bottom: 0%;
  position: relative;
  flex: 1 1 0;
  min-width: 0;
  height: 70px;
  overflow: hidden;
}
.content_contact .form-input:has(.form-input__field:focus) {
  --form-input-border-bottom: 100%;
}
.content_contact .form-input::before, .content_contact .form-input::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 1px;
}
.content_contact .form-input::before {
  width: 100%;
  background-color: #999;
}
.content_contact .form-input::after {
  width: var(--form-input-border-bottom);
  background-color: #000;
  transition: width 0.4s ease;
}
.content_contact .form-input__field {
  width: 100%;
  height: 100%;
  color: #000;
  background: transparent;
  font-size: clamp(14px, 0.6153846154vw + 11.6923076923px, 18px);
  outline: none;
  transition: border-color 0.2s;
}
.content_contact .form-input__field::placeholder {
  color: #999;
}
.content_contact .form-file-input {
  flex: 1 1 0;
  display: flex;
  gap: 28px;
  align-items: center;
  min-width: 0;
  height: 70px;
}
.content_contact .form-file-input__input {
  position: relative;
  flex: 1 1 0;
}
.content_contact .form-file-input__field {
  width: 100%;
  height: 70px;
  padding-right: 65px;
  border: 0 none;
  border-bottom: 1px solid #999;
  position: relative;
  overflow: hidden;
  align-content: center;
  font-size: clamp(14px, 0.6153846154vw + 11.6923076923px, 18px);
}
.content_contact .form-file-input__field::placeholder {
  color: #999;
}
.content_contact .form-file-input__field:focus {
  outline: none;
}
.content_contact .form-file-input__clear {
  position: absolute;
  right: 0;
  top: 50%;
  margin-top: -9px;
}
.content_contact .form-file-input__btn {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 52px;
  padding-inline: 30px 35px;
  color: #000;
  border: 1px solid #666;
  background-color: #fff;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  transition: border-color 0.2s, background-color 0.2s, color 0.2s;
}
.content_contact .form-file-input__btn:hover {
  border-color: #000;
  background-color: #000;
  color: #fff;
}
.content_contact .form-file-input__btn:hover .form-file-input__icon_pc svg,
.content_contact .form-file-input__btn:hover .form-file-input__icon_mo svg {
  color: inherit;
}
.content_contact .form-file-input__btn-label {
  line-height: 1;
}
.content_contact .form-file-input__icon_pc {
  display: flex;
}
.content_contact .form-file-input__icon_pc svg {
  width: 18px;
  height: 18px;
}
.content_contact .form-file-input__icon_mo {
  display: none;
}
.content_contact .form-file-input__icon_mo svg {
  width: 15px;
  height: 15px;
}
.content_contact .form-captcha {
  flex: 1 1 0;
  display: flex;
  gap: 28px;
}
.content_contact .form-captcha__placeholder {
  width: 150px;
  height: 70px;
  background-color: #e0e0e0;
}
.content_contact .request-privacy-agree__content {
  height: 300px;
  padding: 50px;
  background-color: #f4f4f4;
  overflow-y: auto;
}
.content_contact .privacy-agree-item__title {
  font-size: clamp(16px, 0.6153846154vw + 13.6923076923px, 20px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.02em;
}
.content_contact .privacy-agree-item__content {
  margin-top: 12px;
  color: #666;
  font-size: clamp(12px, 0.9230769231vw + 8.5384615385px, 18px);
  line-height: 1.8;
  letter-spacing: -0.02em;
}
.content_contact .privacy-agree-item ~ .privacy-agree-item {
  margin-top: 40px;
}
.content_contact .form-checkbox {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  margin-top: 40px;
  cursor: pointer;
}
.content_contact .form-checkbox__icon {
  position: relative;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  border: 1px solid #000;
  background-color: #fff;
  transition: border-color 0.2s, background-color 0.2s;
}
.content_contact .form-checkbox:has(input:checked) .form-checkbox__icon {
  border-color: #000;
  background-color: #000;
}
.content_contact .form-checkbox:has(input:checked) .form-checkbox__icon::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #fff;
  mask: url("/assets/images/icon-check.svg") center/13px 9px no-repeat;
}
.content_contact .form-checkbox__label {
  font-size: clamp(15px, 0.7692307692vw + 12.1153846154px, 20px);
  line-height: 1;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.content_contact .inquiry-button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 60px;
  padding-inline: 48px 45px;
  border: 1px solid #666;
  background-color: #fff;
  color: #000;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -0.02em;
  transition: background-color 0.2s cubic-bezier(0.22, 1, 0.36, 1), color 0.2s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.2s cubic-bezier(0.22, 1, 0.36, 1);
}
.content_contact .inquiry-button:hover {
  color: #fff;
  background-color: #000;
  border-color: #000;
}
.content_contact .inquiry-button:hover .inquiry-button__icon {
  color: #fff;
}
.content_contact .inquiry-button:hover .inquiry-button__icon svg {
  animation: arrow-fly-up 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
.content_contact .inquiry-button__icon {
  width: 20px;
  height: 20px;
  color: #000;
  overflow: hidden;
}

@media screen and (max-width: 1280px) {
  .content_contact .contact-email-list {
    gap: 30px;
  }
  .content_contact .contact-email-item {
    flex: 0 1 calc((100% - 60px) / 3);
  }
}
@media screen and (max-width: 1024px) {
  .content_contact .contact-email-item {
    min-height: 120px;
    justify-content: space-between;
    flex: 0 1 calc((100% - 30px) / 2);
  }
  .content_contact .request-client-form {
    flex-wrap: nowrap;
    flex-direction: column;
  }
  .content_contact .form-input-item {
    width: 100%;
    flex-basis: 1 1 100%;
  }
}
@media screen and (max-width: 767px) {
  .content_contact .contact-request {
    padding-bottom: 60px;
  }
  .content_contact .request-item ~ .request-item {
    margin-top: 80px;
  }
  .content_contact .request-item__header {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 40px;
    padding-bottom: 20px;
  }
  .content_contact .request-item_email .request-item__header {
    flex-direction: row;
    align-items: center;
  }
  .content_contact .request-item_email .request-item__toggle {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    cursor: pointer;
  }
  .content_contact .request-item_email .request-item__toggle-icon_plus {
    display: none;
  }
  .content_contact .request-item_email:has(.request-item__toggle[aria-expanded=false]) .request-item__toggle-icon_minus {
    display: none;
  }
  .content_contact .request-item_email:has(.request-item__toggle[aria-expanded=false]) .request-item__toggle-icon_plus {
    display: block;
  }
  .content_contact .request-item__title {
    line-height: 1.4;
  }
  .content_contact .request-item__description {
    text-align: left;
  }
  .content_contact .contact-email-item {
    flex: 0 1 100%;
    width: 100%;
    min-height: auto;
    gap: 2px;
  }
  .content_contact .contact-email-item__description {
    margin-top: 12px;
    font-size: 13px;
    line-height: 1;
    font-weight: 500;
  }
  .content_contact .contact-email-item__link {
    padding-block: 20px;
  }
  .content_contact .contact-email-item__email {
    line-height: 1;
  }
  .content_contact .contact-email-item__icon {
    width: 24px;
    height: 24px;
  }
  .content_contact .request-form__header {
    gap: 10px;
    margin-bottom: 30px;
  }
  .content_contact .request-form__title {
    line-height: 1.5;
  }
  .content_contact .request-form__item ~ .request-form__item {
    margin-top: 70px;
  }
  .content_contact .form-select-list {
    gap: 14px 10px;
  }
  .content_contact .form-select-item {
    width: auto;
    height: 54px;
    flex: 0 1 calc(50% - 5px);
    padding-inline: 0;
  }
  .content_contact .form-select-label {
    font-size: 14px;
  }
  .content_contact .form-select-item:has(input:checked) .form-select-label {
    font-weight: 700;
  }
  .content_contact .form-radio-list {
    gap: 26px 8px;
  }
  .content_contact .form-radio-item {
    flex: 0 1 calc(50% - 4px);
    gap: 10px;
  }
  .content_contact .form-radio-item:has(input:checked) .form-radio-label {
    font-weight: 700;
  }
  .content_contact .request-client-form {
    gap: 20px;
  }
  .content_contact .form-input-item {
    gap: 8px;
  }
  .content_contact .form-input-item:has(.form-file-input), .content_contact .form-input-item:has(.form-captcha) {
    align-items: flex-start;
  }
  .content_contact .form-input {
    height: 58px;
  }
  .content_contact .form-input-label {
    align-content: center;
    height: 58px;
  }
  .content_contact .form-file-input {
    flex-direction: column;
    align-items: flex-start;
    height: auto;
    gap: 16px;
  }
  .content_contact .form-file-input__input {
    width: 100%;
  }
  .content_contact .form-file-input__field {
    height: 58px;
    padding-right: 36px;
  }
  .content_contact .form-file-input__clear span {
    width: 16px;
    height: 16px;
  }
  .content_contact .form-file-input__btn {
    gap: 4px;
    height: 43px;
    padding-inline: 17px 22px;
    font-size: 13px;
  }
  .content_contact .form-file-input__icon_pc {
    display: none;
  }
  .content_contact .form-file-input__icon_mo {
    display: flex;
  }
  .content_contact .form-captcha {
    flex-direction: column-reverse;
    gap: 16px;
  }
  .content_contact .form-captcha .form-input {
    flex: unset;
  }
  .content_contact .form-captcha__placeholder {
    width: 100px;
    height: 58px;
  }
  .content_contact .request-item_agree .request-form__header {
    margin-bottom: 0;
    padding-bottom: 24px;
  }
  .content_contact .request-privacy-agree__content {
    height: 220px;
    padding: 32px 16px;
  }
  .content_contact .privacy-agree-item ~ .privacy-agree-item {
    margin-top: 28px;
  }
  .content_contact .privacy-agree-item__title {
    line-height: 1;
    letter-spacing: 0;
  }
  .content_contact .privacy-agree-item__content {
    margin-top: 16px;
    line-height: 1.4;
    letter-spacing: 0;
  }
  .content_contact .form-checkbox {
    display: flex;
    margin-top: 30px;
    gap: 10px;
  }
  .content_contact .form-checkbox__label {
    letter-spacing: 0;
  }
  .content_contact .inquiry-button {
    gap: 4px;
    height: 52px;
    padding-inline: 34px 31px;
    font-size: 15px;
  }
  .content_contact .inquiry-button__icon {
    width: 16px;
    height: 16px;
  }
}
.content_contact .contact-location {
  padding-bottom: 100px;
}
.content_contact .contact-location .address-info {
  display: flex;
  gap: 48px;
}
.content_contact .contact-location .address-info__item {
  flex: 1;
  border-top: 1px solid #000;
  border-collapse: collapse;
  width: 100%;
}
.content_contact .contact-location .address-info__row th,
.content_contact .contact-location .address-info__row td {
  padding-block: 20px;
  border-bottom: 1px solid #ccc;
  line-height: 1.5;
  letter-spacing: -0.02em;
  text-align: left;
  vertical-align: top;
}
.content_contact .contact-location .address-info__row th {
  width: 7.8125vw;
  font-size: clamp(16px, 0.6153846154vw + 13.6923076923px, 20px);
  font-weight: 700;
}
.content_contact .contact-location .address-info__row td {
  font-size: clamp(14px, 0.9230769231vw + 10.5384615385px, 20px);
}
.content_contact .contact-location .location-item_map {
  margin-block: 80px 100px;
}
.content_contact .contact-location .map-area {
  position: relative;
  width: 100%;
  height: 600px;
  background: #ccc;
}
.content_contact .contact-location .map-area__content {
  position: relative;
  width: 100%;
  height: 100%;
  background: url("/assets/images/map-preview.jpg") no-repeat center top/contain;
}
.content_contact .contact-location .map-area__content.is-disabled::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #000;
  opacity: 0;
  z-index: 1;
  transition: opacity 0.4s ease;
}
.content_contact .contact-location .transport-info {
  display: flex;
  gap: 48px;
  padding-block: 40px;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
}
.content_contact .contact-location .transport-info__item {
  flex: 1;
}
.content_contact .contact-location .transport-info__title {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.02em;
}
.content_contact .contact-location .transport-info__content-row {
  font-size: clamp(14px, 0.6153846154vw + 11.6923076923px, 18px);
  line-height: 1.5;
}
.content_contact .contact-location .transport-info__content-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 20px;
  font-weight: 700;
}
.content_contact .contact-location .transport-info__content-label {
  line-height: 1.5;
}
.content_contact .contact-location .transport-info__content ~ .transport-info__content {
  margin-top: 40px;
  padding-top: 40px;
  border-top: 1px solid #000;
}
.content_contact .contact-location .transport-info__content-row ~ .transport-info__content-row {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #ccc;
}

@media screen and (max-width: 1024px) {
  .content_contact .contact-location .address-info {
    flex-direction: column;
    gap: 0;
  }
  .content_contact .contact-location .address-info__row th {
    width: 21.3333333333vw;
  }
  .content_contact .contact-location .address-info__item ~ .address-info__item {
    border-top: 0;
  }
  .content_contact .contact-location .map-area {
    height: auto;
    aspect-ratio: 343/240;
  }
  .content_contact .contact-location .transport-info {
    flex-direction: column;
    gap: 40px;
  }
}
@media screen and (max-width: 767px) {
  .content_contact .contact-location .address-info__row td {
    padding-left: 24px;
  }
  .content_contact .contact-location .address-info__item_address .address-info__row:first-child .address-info__value {
    padding-bottom: 0;
    border-bottom: 0;
  }
  .content_contact .contact-location .address-info__item_address .address-info__row:last-child .address-info__value {
    padding-top: 0;
  }
  .content_contact .contact-location .location-item_map {
    margin-block: 40px;
  }
  .content_contact .contact-location .transport-info__content-row {
    line-height: 1.8;
  }
  .content_contact .contact-location .transport-info__content-title {
    font-size: 16px;
  }
  .content_contact .contact-location .transport-info-icon {
    width: 16px;
    height: 16px;
  }
  .content_contact .contact-location .transport-info__content-label {
    line-height: 1;
  }
  .content_contact .contact-location .transport-info__content-row_value ~ .transport-info__content-row_value {
    margin-top: 16px;
    padding-top: 16px;
  }
}
.not-found {
  display: flex;
  align-items: center;
  justify-content: stretch;
  min-height: 100svh;
  padding-inline: clamp(16px, 2.1538461538vw + 7.9230769231px, 30px);
}

.not-found__inner {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.not-found__code {
  display: block;
  font-size: 100px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
  text-align: center;
  color: #000;
}

.not-found__text {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  margin-top: 34px;
  text-align: center;
}

.not-found__title {
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
}

.not-found__desc {
  font-size: 18px;
  line-height: 1.5;
  color: #444;
}

.not-found__actions {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: center;
  margin-top: 60px;
}

.not-found__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 186px;
  height: 60px;
  padding-inline: 22px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
  text-align: center;
  cursor: pointer;
  border: 1px solid transparent;
}

.not-found__btn_secondary {
  color: #000;
  background-color: #fff;
  border-color: #000;
}

.not-found__btn_primary {
  color: #fff;
  text-decoration: none;
  background-color: #000;
  border-color: #000;
}

@media screen and (max-width: 767px) {
  .not-found__code {
    font-size: 60px;
  }
  .not-found__text {
    gap: 10px;
    margin-top: 28px;
  }
  .not-found__title {
    font-size: 20px;
    letter-spacing: 0;
  }
  .not-found__desc {
    font-size: 14px;
    line-height: 1.8;
  }
  .not-found__actions {
    flex-direction: column;
    gap: 14px;
    width: 100%;
    margin-top: 40px;
  }
  .not-found__btn {
    width: 100%;
    max-width: 343px;
    height: 44px;
    font-size: 13px;
    letter-spacing: 0;
  }
  .not-found__btn_secondary {
    border-color: #666;
  }
}
.popup-alert-page {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 60vh;
  padding-inline: clamp(16px, 2.1538461538vw + 7.9230769231px, 30px);
}

.popup-alert-page__open {
  padding: 12px 20px;
  border: 1px solid;
}

.popup-alert {
  display: none;
  position: fixed;
  inset: 0;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 20px clamp(16px, 3.6923076923vw + 2.1538461538px, 40px);
  background-color: rgba(0, 0, 0, 0.4);
  overflow-y: auto;
  z-index: 200;
}
.popup-alert.is-open {
  display: flex;
}
.popup-alert {
  /** 2개 이상 카드: Figma gap 30px */
}
.popup-alert__stack {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
  width: 100%;
  max-width: 295px;
}
.popup-alert {
  /** 단일 팝업용 래퍼 (popup_today 등) */
}
.popup-alert__layer {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 295px;
  background-color: #fff;
  overflow: hidden;
}
.popup-alert__card {
  width: 100%;
  max-width: 295px;
  background-color: #fff;
  overflow: hidden;
}
.popup-alert__card.is-dismissed {
  display: none;
}
.popup-alert__content {
  padding: 30px;
  text-align: center;
}
.popup-alert__title {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  color: #000;
}
.popup-alert__description, .popup-alert__desc {
  margin-top: 8px;
  color: #444;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.8;
}
.popup-alert__description_standalone, .popup-alert__desc_standalone {
  margin-top: 0;
}
.popup-alert__actions {
  display: flex;
  gap: 10px;
  padding: 0 16px 24px;
  background-color: #fff;
}
.popup-alert__actions_single .popup-alert__button,
.popup-alert__actions_single .popup-alert__btn {
  flex: 1;
  min-width: 0;
}
.popup-alert__button, .popup-alert__btn {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: center;
  min-width: 127px;
  min-height: 44px;
  margin: 0;
  padding: 0;
  font-family: inherit;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  border: none;
}
.popup-alert__button_cancel, .popup-alert__btn_cancel {
  color: #000;
  background-color: #fff;
  border: 1px solid #666;
}
.popup-alert__button_confirm, .popup-alert__btn_confirm {
  color: #fff;
  background-color: #000;
}

@media screen and (max-width: 767px) {
  .popup-alert__layer,
  .popup-alert__card,
  .popup-alert__stack {
    max-width: none;
  }
  .popup-alert__button,
  .popup-alert__btn {
    min-width: unset;
  }
}
.popup-today-page {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 60vh;
  padding-inline: clamp(16px, 2.1538461538vw + 7.9230769231px, 30px);
}

.popup-today-page__open {
  padding: 12px 20px;
  border: 1px solid;
}

/**
 * 오늘 하루 안 보기 / 닫기 — PC 모달 · 모바일 바텀시트
 */
.popup-today {
  display: none;
  position: fixed;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.4);
  z-index: 200;
}
.popup-today.is-open {
  display: block;
}
.popup-today__sheet {
  position: absolute;
  z-index: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background-color: #fff;
}
.popup-today {
  /** 모바일 바텀시트 상단 여백 (Figma header) */
}
.popup-today__sheet-head {
  display: none;
  flex-shrink: 0;
  height: 20px;
  background-color: #fff;
}
.popup-today__media {
  width: 400px;
  height: 400px;
  background: linear-gradient(0deg, rgba(255, 0, 0, 0.2) 0%, rgba(255, 0, 0, 0.2) 100%), #fff;
}
.popup-today__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.popup-today__footer {
  display: flex;
  flex-shrink: 0;
  justify-content: space-between;
  align-items: stretch;
  width: 100%;
  min-height: 64px;
  background-color: #fff;
}
.popup-today__button {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  padding: 20px 24px;
  font-size: 18px;
  font-weight: 500;
  line-height: 1;
  cursor: pointer;
}
.popup-today__button_muted {
  justify-content: flex-start;
  color: #888;
}
.popup-today__button_close {
  justify-content: flex-end;
  color: #000;
}
.popup-today__sheet {
  left: 50%;
  top: 50%;
  width: 400px;
  transform: translate(-50%, -50%);
}

@media screen and (max-width: 767px) {
  .popup-today__sheet {
    top: auto;
    bottom: 0;
    inset-inline: 0;
    width: 100%;
    min-height: 25.7389162562dvh;
    max-height: 76.8472906404dvh;
    padding-top: 20px;
    border-radius: 20px 20px 0 0;
    transform: none;
    padding-bottom: env(safe-area-inset-bottom, 0);
  }
  .popup-today__media {
    width: 100%;
    flex: 1 1 auto;
    height: auto;
    min-height: 0;
    overflow: hidden;
  }
  .popup-today__media_small {
    flex: 0 0 125px;
  }
  .popup-today__button {
    font-size: 13px;
  }
}
.privacy-consent {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  padding-inline: 40px;
}
.privacy-consent__header {
  padding-bottom: clamp(24px, 2.4615384615vw + 14.7692307692px, 40px);
}
.privacy-consent__title {
  font-size: 28px;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.privacy-consent__content {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  gap: clamp(30px, 1.5384615385vw + 24.2307692308px, 40px);
  min-height: 0;
}
.privacy-consent__scroll {
  flex: 1 1 auto;
  min-height: 120px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.privacy-consent__box {
  padding: 50px;
  background-color: #f4f4f4;
  border-top: 1px solid #000;
}
@media (max-width: 767px) {
  .privacy-consent__box {
    padding: 31px 16px 28px;
  }
}
.privacy-consent .form-checkbox {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  cursor: pointer;
}
.privacy-consent .form-checkbox__icon {
  position: relative;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  border: 1px solid #000;
  background-color: #fff;
  transition: border-color 0.2s, background-color 0.2s;
}
.privacy-consent .form-checkbox:has(input:checked) .form-checkbox__icon {
  border-color: #000;
  background-color: #000;
}
.privacy-consent .form-checkbox:has(input:checked) .form-checkbox__icon::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #fff;
  mask: url("/assets/images/icon-check.svg") center/13px 9px no-repeat;
}
.privacy-consent .form-checkbox__label {
  font-size: clamp(15px, 0.7692307692vw + 12.1153846154px, 20px);
  line-height: 1;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.privacy-consent-item + .privacy-consent-item {
  margin-top: clamp(28px, 1.8461538462vw + 21.0769230769px, 40px);
}
.privacy-consent-item__title {
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
}
.privacy-consent-item__content {
  margin-top: 12px;
  color: #666;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .privacy-consent {
    padding-inline: 16px;
  }
  .privacy-consent__title {
    font-size: 26px;
    line-height: 1.4;
    letter-spacing: 0;
  }
  .privacy-consent__box {
    padding: 30px 16px;
  }
  .form-checkbox {
    display: flex;
    gap: 10px;
  }
  .form-checkbox__label {
    letter-spacing: 0;
  }
}