@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap");
html, body {
  font-family: "Pretendard", sans-serif;
  font-size: 16px;
  background: #F7F5F2;
  color: #222222;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: normal;
  overflow-x: clip;
  scroll-behavior: auto; /* Lenis와 충돌 방지 — smooth 금지 */
  letter-spacing: 0;
  cursor: none;
}

/* 커스텀 커서(#mouseTrail) — 초기·호버 포함 OS 커서 숨김 */
*, *::before, *::after {
  cursor: none !important;
}

/* 네이티브 confirm/alert 등 — OS 커서 일시 표시 */
html.is-os-cursor,
html.is-os-cursor body,
html.is-os-cursor *,
html.is-os-cursor *::before,
html.is-os-cursor *::after {
  cursor: default !important;
}

html.is-os-cursor #mouseTrail {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Lenis (smooth scroll) */
html.lenis, html.lenis body {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  -ms-scroll-chaining: none;
      overscroll-behavior: contain;
}

.lenis.lenis-stopped {
  overflow: clip;
}

/* 팝업 중 overflow:clip/hidden 이 스크롤 위치를 0으로 리셋하지 않도록 */
html.lenis.lenis-stopped.is-popup-open,
html.lenis.lenis-stopped.is-popup-open body {
  overflow: visible !important;
}

.lenis.lenis-scrolling iframe {
  pointer-events: none;
}

.pre {
  font-family: "Pretendard", sans-serif;
}

.mont {
  font-family: "Montserrat", sans-serif;
  letter-spacing: 0;
}

.swiper-button-next,
.swiper-button-prev {
  margin-top: 0 !important;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.swiper-button-next::after,
.swiper-button-prev::after {
  display: none;
}

/* 관리자 에디터 */
.editor_content h1, .editor_content h2, .editor_content h3, .editor_content h4, .editor_content h5, .editor_content p, .editor_content span {
  display: block;
  -webkit-margin-start: 0px;
          margin-inline-start: 0px;
  -webkit-margin-end: 0px;
          margin-inline-end: 0px;
}
.editor_content h1 {
  -webkit-margin-before: 0.67em;
          margin-block-start: 0.67em;
  -webkit-margin-after: 0.67em;
          margin-block-end: 0.67em;
}
.editor_content h2 {
  -webkit-margin-before: 0.83em;
          margin-block-start: 0.83em;
  -webkit-margin-after: 0.83em;
          margin-block-end: 0.83em;
}
.editor_content h3 {
  -webkit-margin-before: 1em;
          margin-block-start: 1em;
  -webkit-margin-after: 1em;
          margin-block-end: 1em;
}
.editor_content h4 {
  -webkit-margin-before: 1.33em;
          margin-block-start: 1.33em;
  -webkit-margin-after: 1.33em;
          margin-block-end: 1.33em;
}
.editor_content h5 {
  -webkit-margin-before: 1.67em;
          margin-block-start: 1.67em;
  -webkit-margin-after: 1.67em;
          margin-block-end: 1.67em;
}
.editor_content p {
  -webkit-margin-before: 1em;
          margin-block-start: 1em;
  -webkit-margin-after: 1em;
          margin-block-end: 1em;
}
.editor_content span {
  -webkit-margin-before: 1em;
          margin-block-start: 1em;
  -webkit-margin-after: 1em;
          margin-block-end: 1em;
}
.editor_content ul {
  display: block;
  list-style-type: disc;
  -webkit-padding-start: 40px;
          padding-inline-start: 40px;
  -webkit-margin-before: 1em;
          margin-block-start: 1em;
  -webkit-margin-after: 1em;
          margin-block-end: 1em;
}
.editor_content ul li ::marker {
  unicode-bidi: isolate;
  font-variant-numeric: tabular-nums;
  text-transform: none;
  text-indent: 0px !important;
  text-align: start !important;
  -moz-text-align-last: auto !important;
       text-align-last: auto !important;
}
.editor_content li {
  display: list-item;
  text-align: -webkit-match-parent;
  unicode-bidi: isolate;
}
.editor_content ol {
  display: block;
  list-style-type: decimal;
  -webkit-padding-start: 40px;
          padding-inline-start: 40px;
  -webkit-margin-before: 1em;
          margin-block-start: 1em;
  -webkit-margin-after: 1em;
          margin-block-end: 1em;
}

* {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html, body, h1, h2, h3, h4, h5, h6, p, div, input, nav, textarea, select, header, section, article, aside, footer, form, button, table, thead, tbody, tr, td, th,
ul, li, ol, dl, dt, dd {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

ul, ol {
  list-style: none;
}

a {
  text-decoration: none;
  color: inherit;
  display: block;
}

a, input, button {
  outline: 0;
}

img {
  vertical-align: middle;
  max-width: 100%;
}

figure {
  margin: 0;
}

select {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: #fff url(/img/select_arrow.png) no-repeat center right 15px;
  background-size: 16px;
}

select::-ms-expand {
  display: none;
}

input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input {
  font-family: inherit;
  font-size: inherit;
  border: 0;
  outline: 0;
  color: inherit;
  letter-spacing: inherit;
}

select {
  font-family: inherit;
  font-size: inherit;
  border: 0;
  outline: 0;
  color: inherit;
  letter-spacing: inherit;
}

button {
  font-family: inherit;
  background: none;
  border: 0;
  color: inherit;
  letter-spacing: inherit;
}

/* cursor는 상단 *, html/body 규칙으로 통일 */
input:not([type=checkbox], [type=radio]),
select, textarea {
  color: inherit;
  font-size: inherit;
  border: 0;
  border-radius: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  -ms-border-radius: 0;
  -o-border-radius: 0;
}

textarea {
  width: 100%;
  font-family: inherit;
  font-size: inherit;
  resize: none;
  outline: 0;
  color: inherit;
  line-height: 1.5;
}

textarea::-webkit-scrollbar {
  width: 5px;
}

textarea::-webkit-scrollbar-track {
  background-color: rgba(0, 0, 0, 0.3);
}

textarea::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.5);
}

/* textarea::-webkit-scrollbar-thumb:hover {background: #ccc;} */
/* textarea::-webkit-scrollbar-button:start:decrement,
textarea::-webkit-scrollbar-button:end:increment {width:3px;height:0px; background:transparent;}  */
*::-webkit-input-placeholder {
  font-family: inherit;
  font-size: inherit;
  color: #aaa;
}
*::-moz-placeholder {
  font-family: inherit;
  font-size: inherit;
  color: #aaa;
}
*:-ms-input-placeholder {
  font-family: inherit;
  font-size: inherit;
  color: #aaa;
}
*::-ms-input-placeholder {
  font-family: inherit;
  font-size: inherit;
  color: #aaa;
}
*::placeholder {
  font-family: inherit;
  font-size: inherit;
  color: #aaa;
}

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

[popover] {
  border: none;
  padding: 0;
  margin: 0;
  left: auto;
}

:focus {
  outline: none;
}

.br_1240,
.br_1024,
.br_768,
.br_540 {
  display: none;
}

@media screen and (max-width: 1240px) {
  .br_1240 {
    display: block;
  }
  .br_1240_none {
    display: none;
  }
}
@media screen and (max-width: 1024px) {
  .br_1024 {
    display: block;
  }
  .br_1024_none {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  html, body {
    font-size: 15px;
  }
  .br_768 {
    display: block;
  }
  .br_768_none {
    display: none;
  }
}
@media screen and (max-width: 540px) {
  html, body {
    font-size: 14px;
  }
  .br_540 {
    display: block;
  }
  .br_540_none {
    display: none;
  }
}
.hei100 {
  height: 100vh;
  height: 100dvh;
  overflow: clip;
}

.wrapper {
  width: 100%;
  max-width: 1920px;
  padding: 0 40px;
  margin: 0 auto;
}

.fadeAni {
  -webkit-transform: translateY(60px);
          transform: translateY(60px);
  opacity: 0;
  -webkit-transition: opacity 0.8s cubic-bezier(0.215, 0.61, 0.8, 1), -webkit-transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: opacity 0.8s cubic-bezier(0.215, 0.61, 0.8, 1), -webkit-transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 1s cubic-bezier(0.215, 0.61, 0.355, 1), opacity 0.8s cubic-bezier(0.215, 0.61, 0.8, 1);
  transition: transform 1s cubic-bezier(0.215, 0.61, 0.355, 1), opacity 0.8s cubic-bezier(0.215, 0.61, 0.8, 1), -webkit-transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.fadeAni.active {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
}

.LeftAni {
  -webkit-transform: translateX(-80px);
          transform: translateX(-80px);
  opacity: 0;
  -webkit-transition: opacity 1s cubic-bezier(0.215, 0.61, 0.8, 1), -webkit-transform 1.25s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: opacity 1s cubic-bezier(0.215, 0.61, 0.8, 1), -webkit-transform 1.25s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 1.25s cubic-bezier(0.215, 0.61, 0.355, 1), opacity 1s cubic-bezier(0.215, 0.61, 0.8, 1);
  transition: transform 1.25s cubic-bezier(0.215, 0.61, 0.355, 1), opacity 1s cubic-bezier(0.215, 0.61, 0.8, 1), -webkit-transform 1.25s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.LeftAni.active {
  -webkit-transform: translateX(0);
          transform: translateX(0);
  opacity: 1;
}

.LeftTxt {
  position: relative;
  overflow: hidden;
}
.LeftTxt span {
  clip-path: polygon(0 100%, 0 100%, 0 0, 0 0);
  -webkit-transition: clip-path 1.25s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: clip-path 1.25s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.LeftTxt.active span {
  clip-path: polygon(0 100%, 100% 100%, 100% 0, 0 0);
}

.scroll_motion.active .fadeAni {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
}
.scroll_motion.active .LeftAni {
  -webkit-transform: translateX(0);
          transform: translateX(0);
  opacity: 1;
}

.delay1 {
  -webkit-transition-delay: 0.15s;
          transition-delay: 0.15s;
}

.delay2 {
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}

.delay3 {
  -webkit-transition-delay: 0.45s;
          transition-delay: 0.45s;
}

.delay4 {
  -webkit-transition-delay: 0.6s;
          transition-delay: 0.6s;
}

.delay5 {
  -webkit-transition-delay: 0.75s;
          transition-delay: 0.75s;
}

.delay6 {
  -webkit-transition-delay: 0.9s;
          transition-delay: 0.9s;
}

html.noScroll,
body.noScroll {
  min-height: 100%;
  overflow: hidden !important;
}

html.is-popup-open.lenis-stopped,
html.is-popup-open.lenis-stopped body {
  overflow: visible !important;
}

.popup,
.popup .popup_content {
  -ms-touch-action: pan-y;
      touch-action: pan-y;
  -webkit-overflow-scrolling: touch;
}

#header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
  mix-blend-mode: exclusion;
  color: #F7F5F2;
}
#header .wrapper {
  height: clamp(65px, 65px + (92 - 65) * (100vw - 375px) / (1840 - 375), 92px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#header .logo img {
  max-width: clamp(70px, 70px + (102 - 70) * (100vw - 375px) / (1840 - 375), 102px);
  -webkit-filter: invert(1);
          filter: invert(1);
}
#header .brochure_btn {
  -webkit-column-gap: clamp(5px, 5px + (8 - 5) * (100vw - 375px) / (1840 - 375), 8px);
     -moz-column-gap: clamp(5px, 5px + (8 - 5) * (100vw - 375px) / (1840 - 375), 8px);
          column-gap: clamp(5px, 5px + (8 - 5) * (100vw - 375px) / (1840 - 375), 8px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
#header .brochure_btn .brochure_icon {
  max-width: clamp(17px, 17px + (24 - 17) * (100vw - 375px) / (1840 - 375), 24px);
  -webkit-filter: invert(1);
          filter: invert(1);
  -webkit-animation: spin 10s infinite linear;
          animation: spin 10s infinite linear;
}
#header .brochure_btn p {
  font-size: clamp(12px, 12px + (14 - 12) * (100vw - 375px) / (1840 - 375), 14px);
  font-weight: 500;
  color: #089CC7;
}
#header .brochure_btn .brochure_down {
  max-width: clamp(14px, 14px + (18 - 14) * (100vw - 375px) / (1840 - 375), 18px);
  -webkit-filter: invert(1);
          filter: invert(1);
}
#header nav > ul {
  -webkit-column-gap: clamp(15px, 15px + (40 - 15) * (100vw - 375px) / (1840 - 375), 40px);
     -moz-column-gap: clamp(15px, 15px + (40 - 15) * (100vw - 375px) / (1840 - 375), 40px);
          column-gap: clamp(15px, 15px + (40 - 15) * (100vw - 375px) / (1840 - 375), 40px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#header nav > ul > li > a {
  font-size: clamp(14px, 14px + (16 - 14) * (100vw - 375px) / (1840 - 375), 16px);
  font-weight: 500;
}
#header nav > ul > li > a.mark {
  padding: 1px 3px;
  font-weight: 600;
  color: #000;
}
#header #hamburger {
  display: none;
  width: clamp(24px, 24px + (34 - 24) * (100vw - 375px) / (1840 - 375), 34px);
  padding: clamp(3px, 3px + (6 - 3) * (100vw - 375px) / (1840 - 375), 6px) clamp(2px, 2px + (4 - 2) * (100vw - 375px) / (1840 - 375), 4px);
  aspect-ratio: 1/1;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  position: relative;
}
#header #hamburger span {
  display: block;
  position: absolute;
  left: clamp(2px, 2px + (4 - 2) * (100vw - 375px) / (1840 - 375), 4px);
  right: clamp(2px, 2px + (4 - 2) * (100vw - 375px) / (1840 - 375), 4px);
  height: 2px;
  background: #F7F5F2;
  -webkit-transform-origin: center;
          transform-origin: center;
}
#header #hamburger span:nth-child(1) {
  top: clamp(3px, 3px + (6 - 3) * (100vw - 375px) / (1840 - 375), 6px);
  width: calc(100% - clamp(2px, 2px + (4 - 2) * (100vw - 375px) / (1840 - 375), 4px));
  -webkit-transition: top 0.3s ease, bottom 0.3s ease, -webkit-transform 0.3s ease;
  transition: top 0.3s ease, bottom 0.3s ease, -webkit-transform 0.3s ease;
  transition: transform 0.3s ease, top 0.3s ease, bottom 0.3s ease;
  transition: transform 0.3s ease, top 0.3s ease, bottom 0.3s ease, -webkit-transform 0.3s ease;
}
#header #hamburger span:nth-child(2) {
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: calc(100% - clamp(2px, 2px + (4 - 2) * (100vw - 375px) / (1840 - 375), 4px) - 4px);
  left: auto;
  right: 0;
  -webkit-transition: width 0.2s ease, opacity 0.2s ease, -webkit-transform 0.2s ease;
  transition: width 0.2s ease, opacity 0.2s ease, -webkit-transform 0.2s ease;
  transition: width 0.2s ease, opacity 0.2s ease, transform 0.2s ease;
  transition: width 0.2s ease, opacity 0.2s ease, transform 0.2s ease, -webkit-transform 0.2s ease;
}
#header #hamburger span:nth-child(3) {
  bottom: clamp(3px, 3px + (6 - 3) * (100vw - 375px) / (1840 - 375), 6px);
  width: calc(100% - clamp(2px, 2px + (4 - 2) * (100vw - 375px) / (1840 - 375), 4px));
  -webkit-transition: top 0.3s ease, bottom 0.3s ease, -webkit-transform 0.3s ease;
  transition: top 0.3s ease, bottom 0.3s ease, -webkit-transform 0.3s ease;
  transition: transform 0.3s ease, top 0.3s ease, bottom 0.3s ease;
  transition: transform 0.3s ease, top 0.3s ease, bottom 0.3s ease, -webkit-transform 0.3s ease;
}
#header #hamburger {
  /* 닫힘: X → 줄 (위·아래 먼저, 가운데 나중) */
}
#header #hamburger:not(.active) span:nth-child(1), #header #hamburger:not(.active) span:nth-child(3) {
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}
#header #hamburger:not(.active) span:nth-child(2) {
  -webkit-transition-delay: 0.15s;
          transition-delay: 0.15s;
}
#header #hamburger {
  /* 열림: 가운데 줄 먼저 → X */
}
#header #hamburger.active span:nth-child(2) {
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
  width: 0;
  opacity: 0;
}
#header #hamburger.active span:nth-child(1) {
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}
#header #hamburger.active span:nth-child(3) {
  top: 50%;
  bottom: auto;
  -webkit-transform: translateY(-50%) rotate(-45deg);
          transform: translateY(-50%) rotate(-45deg);
}

#hamMenu {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  width: 100%;
  height: calc(var(--vh, 1vh) * 100);
  min-height: calc(var(--vh, 1vh) * 100);
  background: #F7F5F2;
  display: none;
}
#hamMenu nav {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#hamMenu nav > ul {
  row-gap: 36px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-size: 25px;
  font-weight: 700;
  text-align: center;
}
#hamMenu .brochure_btn {
  bottom: 43px;
  -webkit-column-gap: 8px;
     -moz-column-gap: 8px;
          column-gap: 8px;
  left: 0;
  position: absolute;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#hamMenu .brochure_btn p {
  font-size: 14px;
  font-weight: 500;
}
#hamMenu .brochure_btn img {
  max-width: 18px;
}

#quickMenu {
  right: 40px;
  row-gap: clamp(8px, 8px + (12 - 8) * (100vw - 375px) / (1840 - 375), 12px);
  position: fixed;
  z-index: 998;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
#quickMenu > a {
  font-size: clamp(13px, 13px + (16 - 13) * (100vw - 375px) / (1840 - 375), 16px);
  padding: clamp(3px, 3px + (5 - 3) * (100vw - 375px) / (1840 - 375), 5px) clamp(5px, 5px + (6 - 5) * (100vw - 375px) / (1840 - 375), 6px);
  -webkit-column-gap: clamp(5px, 5px + (10 - 5) * (100vw - 375px) / (1840 - 375), 10px);
     -moz-column-gap: clamp(5px, 5px + (10 - 5) * (100vw - 375px) / (1840 - 375), 10px);
          column-gap: clamp(5px, 5px + (10 - 5) * (100vw - 375px) / (1840 - 375), 10px);
  background: #FF592B;
  color: #FFFFFF;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 600;
}

#footer {
  padding: clamp(80px, 80px + (156 - 80) * (100vw - 375px) / (1840 - 375), 156px) 0 clamp(20px, 20px + (40 - 20) * (100vw - 375px) / (1840 - 375), 40px);
  background: #111;
  color: #FFFFFF;
  position: relative;
  z-index: 3;
}
#footer::before, #footer::after {
  --curve: clamp(40px, 40px + (80 - 40) * (100vw - 375px) / (1840 - 375), 80px);
  width: var(--curve);
  top: calc(var(--curve) * -1);
  content: "";
  display: block;
  aspect-ratio: 1/1;
  position: absolute;
}
#footer::before {
  background: url(/img/footer_lt.svg) no-repeat center center/contain;
  left: 0;
}
#footer::after {
  background: url(/img/footer_rt.svg) no-repeat center center/contain;
  right: 0;
}
#footer .footer_title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#footer .footer_title h3 {
  font-size: clamp(60px, 60px + (140 - 60) * (100vw - 375px) / (1840 - 375), 140px);
  line-height: 1;
  font-weight: 600;
}
#footer .footer_title h3 span {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#footer .footer_title h3 .letter {
  width: clamp(50px, 50px + (106 - 50) * (100vw - 375px) / (1840 - 375), 106px);
  margin: 0 clamp(2px, 2px + (6 - 2) * (100vw - 375px) / (1840 - 375), 6px);
  aspect-ratio: 106/118;
  position: relative;
}
#footer .footer_title h3 .letter img {
  position: absolute;
  max-height: 80%;
}
#footer .footer_title h3 .letter img:nth-child(1) {
  -webkit-animation: letter1 1.8s infinite ease;
          animation: letter1 1.8s infinite ease;
}
#footer .footer_title h3 .letter img:nth-child(2) {
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
#footer .footer_title h3 .letter img:nth-child(3) {
  -webkit-animation: letter2 1.8s infinite ease;
          animation: letter2 1.8s infinite ease;
}
@-webkit-keyframes letter1 {
  0%, 100% {
    top: 0;
    left: 0;
  }
  50% {
    top: clamp(2px, 2px + (6 - 2) * (100vw - 375px) / (1840 - 375), 6px);
    left: clamp(2px, 2px + (6 - 2) * (100vw - 375px) / (1840 - 375), 6px);
  }
}
@keyframes letter1 {
  0%, 100% {
    top: 0;
    left: 0;
  }
  50% {
    top: clamp(2px, 2px + (6 - 2) * (100vw - 375px) / (1840 - 375), 6px);
    left: clamp(2px, 2px + (6 - 2) * (100vw - 375px) / (1840 - 375), 6px);
  }
}
@-webkit-keyframes letter2 {
  0%, 100% {
    bottom: 0;
    right: 0;
  }
  50% {
    bottom: clamp(2px, 2px + (6 - 2) * (100vw - 375px) / (1840 - 375), 6px);
    right: clamp(2px, 2px + (6 - 2) * (100vw - 375px) / (1840 - 375), 6px);
  }
}
@keyframes letter2 {
  0%, 100% {
    bottom: 0;
    right: 0;
  }
  50% {
    bottom: clamp(2px, 2px + (6 - 2) * (100vw - 375px) / (1840 - 375), 6px);
    right: clamp(2px, 2px + (6 - 2) * (100vw - 375px) / (1840 - 375), 6px);
  }
}
#footer .footer_title > svg {
  max-width: clamp(40px, 40px + (110 - 40) * (100vw - 375px) / (1840 - 375), 110px);
  aspect-ratio: 1/1;
  height: auto;
}
#footer .footer_title > svg path {
  -webkit-transition: fill 0.3s ease;
  transition: fill 0.3s ease;
}
#footer .footer_title:hover > svg {
  -webkit-animation: spin 7s infinite linear;
          animation: spin 7s infinite linear;
}
#footer .footer_title:hover > svg path {
  fill: #FF592B;
}
#footer .footer_content {
  margin: clamp(50px, 50px + (115 - 50) * (100vw - 375px) / (1840 - 375), 115px) 0 clamp(80px, 80px + (190 - 80) * (100vw - 375px) / (1840 - 375), 190px);
  gap: clamp(27px, 27px + (80 - 27) * (100vw - 375px) / (1840 - 375), 80px) clamp(0px, 0px + (200 - 0) * (100vw - 375px) / (1840 - 375), 200px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
#footer .footer_content article {
  line-height: 2;
}
#footer .footer_content article a {
  display: inline-block;
}
#footer .footer_content article:nth-child(1) {
  font-size: clamp(14px, 14px + (18 - 14) * (100vw - 375px) / (1840 - 375), 18px);
  font-weight: 500;
}
#footer .footer_content article:nth-child(1) .mark {
  font-weight: 600;
}
#footer .footer_content article:nth-child(2), #footer .footer_content article:nth-child(3) {
  font-size: clamp(13px, 13px + (16 - 13) * (100vw - 375px) / (1840 - 375), 16px);
}
#footer .footer_content article:nth-child(2) b, #footer .footer_content article:nth-child(3) b {
  font-weight: 600;
}
#footer .footer_bt {
  font-size: clamp(11px, 11px + (14 - 11) * (100vw - 375px) / (1840 - 375), 14px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#footer .footer_bt .copyright {
  font-weight: 500;
}
#footer .footer_bt .topBtn {
  -webkit-column-gap: 10px;
     -moz-column-gap: 10px;
          column-gap: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#footer .footer_bt .topBtn svg {
  width: 24px;
  height: auto !important;
}
#footer .footer_bt .topBtn span {
  font-weight: 600;
}

#mouseTrail {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 99999;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.2s ease, visibility 0.2s ease;
  transition: opacity 0.2s ease, visibility 0.2s ease;
}
#mouseTrail.is-active {
  opacity: 1;
  visibility: visible;
}

.mark.white {
  -webkit-box-shadow: inset 0 -100px 0 #FFFFFF;
  box-shadow: inset 0 -100px 0 #FFFFFF;
  padding: 0 1px;
  color: #222222;
}
.mark.black {
  -webkit-box-shadow: inset 0 -100px 0 #222222;
  box-shadow: inset 0 -100px 0 #222222;
  padding: 0 1px;
  color: #FFFFFF;
}

@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@-webkit-keyframes vtMarquee {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
}
@keyframes vtMarquee {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
}
@-webkit-keyframes hzMarquee {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(calc(-100% / var(--rolling-copies, 4)), 0, 0);
            transform: translate3d(calc(-100% / var(--rolling-copies, 4)), 0, 0);
  }
}
@keyframes hzMarquee {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(calc(-100% / var(--rolling-copies, 4)), 0, 0);
            transform: translate3d(calc(-100% / var(--rolling-copies, 4)), 0, 0);
  }
}
.rolling_wrap {
  --rolling-gap: clamp(15px, 15px + (40 - 15) * (100vw - 375px) / (1840 - 375), 40px);
  --rolling-copies: 4;
  max-width: 100%;
  overflow: hidden;
}
.rolling_wrap .track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  will-change: transform;
  -webkit-animation: hzMarquee 70s linear infinite;
          animation: hzMarquee 70s linear infinite;
}
.rolling_wrap .track .track_group {
  gap: var(--rolling-gap);
  padding-right: var(--rolling-gap);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.rolling_wrap .track .track_group p {
  font-size: clamp(32px, 32px + (96 - 32) * (100vw - 375px) / (1840 - 375), 96px);
  font-weight: 600;
  line-height: 1;
  text-transform: uppercase;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.rolling_wrap .track .track_group img {
  width: clamp(32px, 32px + (100 - 32) * (100vw - 375px) / (1840 - 375), 100px);
  aspect-ratio: 1/1;
  -webkit-animation: spin 11s infinite linear;
          animation: spin 11s infinite linear;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.subPage {
  padding: clamp(125px, 125px + (250 - 125) * (100vw - 375px) / (1840 - 375), 250px) 0 clamp(100px, 100px + (200 - 100) * (100vw - 375px) / (1840 - 375), 200px);
}
.subPage.noPb {
  padding-bottom: 0 !important;
}

.popup_bg {
  position: fixed;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.5);
  width: 100%;
  height: calc(var(--vh, 1vh) * 100);
  min-height: calc(var(--vh, 1vh) * 100);
  display: none;
  z-index: 10002;
}

.popup {
  position: fixed;
  inset: 0;
  margin: auto;
  width: 800px;
  max-width: calc(100% - 40px);
  max-height: min(90vh, var(--vh, 1vh) * 100 - 40px);
  background: #FFFFFF;
  padding: clamp(35px, 35px + (60 - 35) * (100vw - 375px) / (1840 - 375), 60px) clamp(20px, 20px + (60 - 20) * (100vw - 375px) / (1840 - 375), 60px);
  display: none;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  overflow: hidden;
  z-index: 10003;
}
.popup .popup_title {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-size: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / (1840 - 375), 24px);
  margin-bottom: clamp(22px, 22px + (50 - 22) * (100vw - 375px) / (1840 - 375), 50px);
  text-align: center;
  font-weight: 600;
}
.popup .popup_content {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  min-height: 0;
  font-size: clamp(13px, 13px + (16 - 13) * (100vw - 375px) / (1840 - 375), 16px);
  max-height: clamp(360px, 360px + (600 - 360) * (100vw - 375px) / (1840 - 375), 600px);
  line-height: 1.7;
  overflow-y: auto;
  padding-right: 10px;
  -ms-scroll-chaining: none;
      overscroll-behavior: contain;
  -ms-touch-action: pan-y;
      touch-action: pan-y;
  -webkit-overflow-scrolling: touch;
}
.popup .popup_content::-webkit-scrollbar {
  width: 4px;
}
.popup .popup_content::-webkit-scrollbar-track {
  background-color: transparent;
}
.popup .popup_content::-webkit-scrollbar-thumb {
  background-color: #999999;
  border-radius: 10px;
}
.popup .popup_content::-webkit-scrollbar-thumb:hover {
  background: #666666;
}
.popup .popup_content::-webkit-scrollbar-button:start:decrement, .popup .popup_content::-webkit-scrollbar-button:end:increment {
  display: none;
}

@media screen and (min-width: 541px) {
  #quickMenu > a {
    -webkit-transition: -webkit-transform 0.3s ease;
    transition: -webkit-transform 0.3s ease;
    transition: transform 0.3s ease;
    transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  }
  #quickMenu > a:hover {
    -webkit-transform: translateX(-5px);
            transform: translateX(-5px);
  }
}
@media screen and (max-width: 1440px) {
  #header .brochure_btn {
    position: static;
    -webkit-transform: none;
            transform: none;
  }
  #footer .footer_bt {
    font-size: 0.975vw;
  }
  #footer .footer_bt .topBtn {
    -webkit-column-gap: 0.7vw;
       -moz-column-gap: 0.7vw;
            column-gap: 0.7vw;
  }
  #footer .footer_bt .topBtn svg {
    width: 1.675vw;
  }
}
@media screen and (max-width: 1024px) {
  .wrapper {
    padding: 0 30px;
  }
  #quickMenu {
    right: 30px;
  }
  @-webkit-keyframes letter1 {
    0%, 100% {
      top: 0;
      left: 0;
    }
    50% {
      top: 3px;
      left: 3px;
    }
  }
  @keyframes letter1 {
    0%, 100% {
      top: 0;
      left: 0;
    }
    50% {
      top: 3px;
      left: 3px;
    }
  }
  @-webkit-keyframes letter2 {
    0%, 100% {
      bottom: 0;
      right: 0;
    }
    50% {
      bottom: 3px;
      right: 3px;
    }
  }
  @keyframes letter2 {
    0%, 100% {
      bottom: 0;
      right: 0;
    }
    50% {
      bottom: 3px;
      right: 3px;
    }
  }
  #footer .footer_content article:nth-child(1) {
    width: 100%;
  }
  #footer .footer_content article:nth-child(2), #footer .footer_content article:nth-child(3) {
    width: calc((100% - clamp(0px, 0px + (200 - 0) * (100vw - 375px) / (1840 - 375), 200px)) / 2);
  }
  #footer .footer_bt {
    font-size: 1.25vw;
  }
  #footer .footer_bt .topBtn {
    -webkit-column-gap: 1vw;
       -moz-column-gap: 1vw;
            column-gap: 1vw;
  }
  #footer .footer_bt .topBtn svg {
    width: 1.875vw;
  }
}
@media screen and (max-width: 768px) {
  #mouseTrail {
    display: none !important;
  }
  *, *::before, *::after {
    cursor: auto !important;
  }
  .wrapper {
    padding: 0 20px;
  }
  #quickMenu {
    right: 20px;
    top: auto;
    bottom: 50px;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  #header .wrapper {
    padding: 0 20px;
  }
  #header .logo {
    margin-top: -3px;
  }
  #header .brochure_btn {
    position: absolute;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  #header nav {
    display: none;
  }
  #header #hamburger {
    display: block;
  }
  #footer .footer_title {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  #footer .footer_title h3 .letter img {
    max-height: 85%;
  }
  #footer .footer_title > svg {
    max-width: clamp(56px, 56px + (100 - 56) * (100vw - 375px) / (1840 - 375), 100px);
    margin-top: clamp(9px, 9px + (12 - 9) * (100vw - 375px) / (1840 - 375), 12px);
  }
  #footer .footer_bt {
    font-size: 1.625vw;
  }
  #footer .footer_bt .topBtn {
    -webkit-column-gap: 1.325vw;
       -moz-column-gap: 1.325vw;
            column-gap: 1.325vw;
  }
  #footer .footer_bt .topBtn svg {
    width: 2.125vw;
  }
}
@media screen and (max-width: 540px) {
  #header .logo img {
    width: 70px;
  }
  #header .brochure_btn {
    text-align: center;
    display: none;
  }
  #quickMenu > a img {
    width: 8px;
  }
  #footer {
    margin-top: -1px;
  }
  #footer::before, #footer::after {
    --curve: 40px;
    top: -40px;
  }
  @-webkit-keyframes letter1 {
    0%, 100% {
      top: 0;
      left: 0;
    }
    50% {
      top: 2px;
      left: 2px;
    }
  }
  @keyframes letter1 {
    0%, 100% {
      top: 0;
      left: 0;
    }
    50% {
      top: 2px;
      left: 2px;
    }
  }
  @-webkit-keyframes letter2 {
    0%, 100% {
      bottom: 0;
      right: 0;
    }
    50% {
      bottom: 2px;
      right: 2px;
    }
  }
  @keyframes letter2 {
    0%, 100% {
      bottom: 0;
      right: 0;
    }
    50% {
      bottom: 2px;
      right: 2px;
    }
  }
  #footer .footer_title > svg {
    max-width: clamp(42px, 42px + (110 - 42) * (100vw - 375px) / (1840 - 375), 110px);
  }
  #footer .footer_content article {
    line-height: 1.9;
  }
  #footer .footer_content article:nth-child(2), #footer .footer_content article:nth-child(3) {
    width: 100%;
  }
  #footer .footer_bt {
    font-size: 3vw;
  }
  #footer .footer_bt .topBtn {
    -webkit-column-gap: 2.25vw;
       -moz-column-gap: 2.25vw;
            column-gap: 2.25vw;
  }
  #footer .footer_bt .topBtn svg {
    width: 3.75vw;
  }
  .rolling_wrap .track {
    -webkit-animation: hzMarquee 36s linear infinite;
            animation: hzMarquee 36s linear infinite;
  }
  .popup {
    max-height: 70vh;
  }
  .popup .popup_content {
    max-height: none;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
}
section {
  overflow-x: clip;
}

@-webkit-keyframes labelMarquee {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}

@keyframes labelMarquee {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
.contact_title {
  gap: clamp(15px, 15px + (40 - 15) * (100vw - 375px) / (1840 - 375), 40px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: clamp(40px, 40px + (80 - 40) * (100vw - 375px) / (1840 - 375), 80px);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  text-transform: uppercase;
}
.contact_title span {
  font-size: clamp(42px, 42px + (128 - 42) * (100vw - 375px) / (1840 - 375), 128px);
  font-weight: 700;
  line-height: 1;
}
.contact_title .arrow {
  width: clamp(20px, 20px + (42 - 20) * (100vw - 375px) / (1840 - 375), 42px);
  aspect-ratio: 1/1;
  overflow: hidden;
  position: relative;
}
.contact_title .arrow img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  position: absolute;
  inset: 0;
  -webkit-animation: contactArrow 1.1s linear infinite;
          animation: contactArrow 1.1s linear infinite;
}
.contact_title .arrow img:nth-child(2) {
  -webkit-animation-delay: -0.8s;
          animation-delay: -0.8s;
}
@-webkit-keyframes contactArrow {
  0% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  100% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
}
@keyframes contactArrow {
  0% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  100% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
}

.contact_content {
  grid-template-columns: auto 66.85%;
  display: grid;
  position: relative;
}

.sticky_title {
  position: sticky;
  top: 42%;
  left: 0;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
.sticky_title .title {
  font-size: clamp(13px, 13px + (20 - 13) * (100vw - 375px) / (1840 - 375), 20px);
  line-height: 1.6;
}
.sticky_title .title .br_1440 {
  display: none;
}
.sticky_title .title .mark {
  padding: 0 3px;
}
.sticky_title .strength_list {
  padding: clamp(28px, 28px + (40 - 28) * (100vw - 375px) / (1840 - 375), 40px) clamp(26px, 26px + (36 - 26) * (100vw - 375px) / (1840 - 375), 36px);
  margin-top: clamp(15px, 15px + (30 - 15) * (100vw - 375px) / (1840 - 375), 30px);
  background: #222222;
  color: #FFFFFF;
  border-radius: 8px;
  width: clamp(150px, 150px + (393 - 150) * (100vw - 375px) / (1840 - 375), 393px);
  max-width: 100%;
}
.sticky_title .strength_list ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.sticky_title .strength_list ul > li {
  text-align: center;
}
.sticky_title .strength_list ul > li .desc {
  font-size: clamp(11px, 11px + (14 - 11) * (100vw - 375px) / (1840 - 375), 14px);
  margin-bottom: clamp(3px, 3px + (6 - 3) * (100vw - 375px) / (1840 - 375), 6px);
  font-weight: 600;
}
.sticky_title .strength_list ul > li .number {
  font-size: clamp(18px, 18px + (24 - 18) * (100vw - 375px) / (1840 - 375), 24px);
  font-weight: 700;
}
.sticky_title .strength_list ul > li img {
  max-width: clamp(27px, 27px + (32 - 27) * (100vw - 375px) / (1840 - 375), 32px);
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
}
.sticky_title .strength_list ul:not(:last-child)::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: rgba(255, 255, 255, 0.2);
  margin: clamp(18px, 18px + (30 - 18) * (100vw - 375px) / (1840 - 375), 30px) 0;
}

.contact_form form {
  padding-top: clamp(40px, 40px + (120 - 40) * (100vw - 375px) / (1840 - 375), 120px);
}
.contact_form form .form_content + .form_content {
  margin-top: clamp(45px, 45px + (80 - 45) * (100vw - 375px) / (1840 - 375), 80px);
}
.contact_form form .form_content .form_title {
  font-size: clamp(15px, 15px + (24 - 15) * (100vw - 375px) / (1840 - 375), 24px);
  margin-bottom: clamp(16px, 16px + (30 - 16) * (100vw - 375px) / (1840 - 375), 30px);
  display: grid;
  grid-template-columns: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / (1840 - 375), 16px) auto;
}
.contact_form form .form_content .form_title b {
  font-weight: 700;
}
.contact_form form .form_content .form_title::before {
  margin-right: clamp(8px, 8px + (12 - 8) * (100vw - 375px) / (1840 - 375), 12px);
  margin-top: clamp(8px, 8px + (12 - 8) * (100vw - 375px) / (1840 - 375), 12px);
  width: 4px;
  content: "";
  display: inline-block;
  aspect-ratio: 1/1;
  background: #FF592B;
}
.contact_form form .form_content .form_input {
  --inputHei: clamp(45px, 45px + (80 - 45) * (100vw - 375px) / (1840 - 375), 80px);
  --radius: clamp(5px, 5px + (8 - 5) * (100vw - 375px) / (1840 - 375), 8px);
  font-size: clamp(13px, 13px + (18 - 13) * (100vw - 375px) / (1840 - 375), 18px);
  font-weight: 500;
}
.contact_form form .form_content .form_input .input_list {
  gap: clamp(6px, 6px + (12 - 6) * (100vw - 375px) / (1840 - 375), 12px);
  display: grid;
}
.contact_form form .form_content .form_input .input_list.tab6 {
  grid-template-columns: repeat(6, 1fr);
}
.contact_form form .form_content .form_input .input_list.tab4 {
  grid-template-columns: repeat(4, 1fr);
}
.contact_form form .form_content .form_input .input_list > li input[type=radio] {
  display: none;
}
.contact_form form .form_content .form_input .input_list > li input[type=radio] + label {
  height: var(--inputHei);
  background: #FFFFFF;
  border-radius: var(--radius);
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  cursor: pointer;
  overflow: hidden;
  -webkit-transition: background 0.3s ease, color 0.3s ease, -webkit-transform 0.1s;
  transition: background 0.3s ease, color 0.3s ease, -webkit-transform 0.1s;
  transition: background 0.3s ease, color 0.3s ease, transform 0.1s;
  transition: background 0.3s ease, color 0.3s ease, transform 0.1s, -webkit-transform 0.1s;
}
.contact_form form .form_content .form_input .input_list > li input[type=radio]:checked + label {
  background: #222222;
  color: #FF592B;
}
.contact_form form .form_content .form_input .input_list > li input[type=radio]:active + label {
  -webkit-transform: scale(0.95);
          transform: scale(0.95);
}
.contact_form form .form_content .form_input .input_list.marquee_title > li label {
  position: relative;
}
.contact_form form .form_content .form_input .input_list.marquee_title > li label .label_txt {
  white-space: nowrap;
  position: relative;
  z-index: 1;
}
.contact_form form .form_content .form_input .input_list.marquee_title > li label .marquee {
  position: absolute;
  inset: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  opacity: 0;
  pointer-events: none;
  overflow: hidden;
}
.contact_form form .form_content .form_input .input_list.marquee_title > li label .marquee .track {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / (1840 - 375), 24px);
  padding-right: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / (1840 - 375), 24px);
  white-space: nowrap;
  -webkit-animation: labelMarquee 12s linear infinite;
          animation: labelMarquee 12s linear infinite;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.contact_form form .form_content .form_input .input_list.marquee_title > li label .marquee .track p {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.contact_form form .form_content .form_input .input_list.marquee_title > li input:checked + label .label_txt {
  opacity: 0;
}
.contact_form form .form_content .form_input .input_list.marquee_title > li input:checked + label .marquee {
  opacity: 1;
}
.contact_form form .form_content .form_input .input_list.marquee_title > li input:checked + label .marquee .track {
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
.contact_form form .form_content .form_input.column {
  row-gap: clamp(6px, 6px + (12 - 6) * (100vw - 375px) / (1840 - 375), 12px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.contact_form form .form_content .form_input.column textarea {
  height: clamp(140px, 140px + (240 - 140) * (100vw - 375px) / (1840 - 375), 240px);
  padding: clamp(15px, 15px + (36 - 15) * (100vw - 375px) / (1840 - 375), 36px);
  background: #FFFFFF;
  border-radius: var(--radius);
  width: 100%;
}
.contact_form form .form_content .form_input.column *::-webkit-input-placeholder {
  font-weight: 400;
  color: #999999;
}
.contact_form form .form_content .form_input.column *::-moz-placeholder {
  font-weight: 400;
  color: #999999;
}
.contact_form form .form_content .form_input.column *:-ms-input-placeholder {
  font-weight: 400;
  color: #999999;
}
.contact_form form .form_content .form_input.column *::-ms-input-placeholder {
  font-weight: 400;
  color: #999999;
}
.contact_form form .form_content .form_input.column *::placeholder {
  font-weight: 400;
  color: #999999;
}
.contact_form form .form_content .form_input.column .input_grid {
  display: grid;
  grid-template-columns: clamp(90px, 90px + (145 - 90) * (100vw - 375px) / (1840 - 375), 145px) minmax(0, 1fr);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  padding: 0 clamp(15px, 15px + (36 - 15) * (100vw - 375px) / (1840 - 375), 36px);
  height: var(--inputHei);
  background: #FFFFFF;
  border-radius: var(--radius);
}
.contact_form form .form_content .form_input.column .input_grid .title .req {
  color: #FF592B;
}
.contact_form form .form_content .form_input.column .input_grid .content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: clamp(12px, 12px + (20 - 12) * (100vw - 375px) / (1840 - 375), 20px);
  min-width: 0;
  height: 100%;
}
.contact_form form .form_content .form_input.column .input_grid .content input {
  width: 100%;
  min-width: 0;
  height: 100%;
}
.contact_form form .form_content .form_input.column .input_grid .content .file_info {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}
.contact_form form .form_content .form_input.column .input_grid .content .file_info .hint {
  display: block;
  color: #999999;
  font-weight: 400;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.contact_form form .form_content .form_input.column .input_grid .content input[type=file] {
  display: none;
}
.contact_form form .form_content .form_input.column .input_grid .content .fileBtn {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.contact_form form .form_content .form_input.column .input_grid .content .fileBtn img {
  width: clamp(14px, 14px + (24 - 14) * (100vw - 375px) / (1840 - 375), 24px);
  height: auto;
  display: block;
}
.contact_form form .form_content .form_input.column .input_grid + .hint {
  display: none;
}
.contact_form form .form_content .form_input.column .ref_site_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(6px, 6px + (12 - 6) * (100vw - 375px) / (1840 - 375), 12px);
  width: 100%;
}
.contact_form form .form_content .form_input.column .ref_site_list .ref_site_row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--inputHei);
  gap: clamp(8px, 8px + (12 - 8) * (100vw - 375px) / (1840 - 375), 12px);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
}
.contact_form form .form_content .form_input.column .ref_site_list .ref_site_row .row_btn {
  width: var(--inputHei);
  height: var(--inputHei);
  -ms-flex-negative: 0;
      flex-shrink: 0;
  border-radius: 90px;
  background: rgba(255, 255, 255, 0.6);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: background 0.2s ease;
  transition: background 0.2s ease;
  cursor: pointer;
}
.contact_form form .form_content .form_input.column .ref_site_list .ref_site_row .row_btn img {
  width: clamp(14px, 14px + (28 - 14) * (100vw - 375px) / (1840 - 375), 28px);
  height: auto;
  display: block;
  -webkit-filter: grayscale(1) brightness(0.4);
          filter: grayscale(1) brightness(0.4);
  -webkit-transition: -webkit-filter 0.3s ease;
  transition: -webkit-filter 0.3s ease;
  transition: filter 0.3s ease;
  transition: filter 0.3s ease, -webkit-filter 0.3s ease;
}
.contact_form form .form_content .form_input.column .ref_site_list .ref_site_row .row_btn:hover {
  background: #222222;
}
.contact_form form .form_content .form_input.column .ref_site_list .ref_site_row .row_btn:hover img {
  -webkit-filter: grayscale(0) brightness(1);
          filter: grayscale(0) brightness(1);
}
.contact_form form .agree_chk_wrap {
  margin-top: clamp(30px, 30px + (40 - 30) * (100vw - 375px) / (1840 - 375), 40px);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.contact_form form .agree_chk_wrap fieldset input {
  display: none;
}
.contact_form form .agree_chk_wrap fieldset label {
  -webkit-column-gap: clamp(8px, 8px + (12 - 8) * (100vw - 375px) / (1840 - 375), 12px);
     -moz-column-gap: clamp(8px, 8px + (12 - 8) * (100vw - 375px) / (1840 - 375), 12px);
          column-gap: clamp(8px, 8px + (12 - 8) * (100vw - 375px) / (1840 - 375), 12px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: clamp(14px, 14px + (16 - 14) * (100vw - 375px) / (1840 - 375), 16px);
}
.contact_form form .agree_chk_wrap fieldset label button {
  font-weight: 700;
  font-size: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-thickness: 2px;
}
.contact_form form .agree_chk_wrap fieldset label::before {
  content: "";
  display: block;
  aspect-ratio: 1/1;
  width: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / (1840 - 375), 24px);
  background: url(/img/contact/chk_before.png) no-repeat center center/contain;
}
.contact_form form .agree_chk_wrap fieldset input:checked + label::before {
  background-image: url(/img/contact/chk_after.png);
}
.contact_form form .g-recaptcha {
  margin: clamp(30px, 30px + (50 - 30) * (100vw - 375px) / (1840 - 375), 50px) 0;
}
.contact_form form .submitBtn {
  font-size: clamp(18px, 18px + (24 - 18) * (100vw - 375px) / (1840 - 375), 24px);
  font-weight: 700;
  color: #FFFFFF;
  background: #999999;
  width: 100%;
  height: clamp(60px, 60px + (90 - 60) * (100vw - 375px) / (1840 - 375), 90px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 90px;
  -webkit-transition: background 0.3s ease, color 0.3s ease;
  transition: background 0.3s ease, color 0.3s ease;
}
.contact_form form .submitBtn:hover {
  background: #222222;
  color: #FF592B;
}
.contact_form .ngo_wrap {
  margin-top: clamp(30px, 30px + (40 - 30) * (100vw - 375px) / (1840 - 375), 40px);
  padding: clamp(20px, 20px + (40 - 20) * (100vw - 375px) / (1840 - 375), 40px);
  grid-template-columns: clamp(30px, 30px + (60 - 30) * (100vw - 375px) / (1840 - 375), 60px) auto;
  gap: clamp(20px, 20px + (40 - 20) * (100vw - 375px) / (1840 - 375), 40px);
  background: rgba(242, 236, 227, 0.6);
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  word-break: keep-all;
}
.contact_form .ngo_wrap .txt {
  font-size: clamp(12px, 12px + (15 - 12) * (100vw - 375px) / (1840 - 375), 15px);
  line-height: 1.7;
}
.contact_form .ngo_wrap .txt .sm {
  font-size: clamp(10px, 10px + (12 - 10) * (100vw - 375px) / (1840 - 375), 12px);
  margin-top: clamp(8px, 8px + (10 - 8) * (100vw - 375px) / (1840 - 375), 10px);
}

@media screen and (min-width: 768px) {
  .contact_form form .form_content .form_input .input_list > li input[type=radio] + label:hover {
    background: #222222;
    color: #FF592B;
  }
  .contact_form form .form_content .form_input .input_list.marquee_title > li:hover label {
    background: #222222;
    color: #FF592B;
  }
  .contact_form form .form_content .form_input .input_list.marquee_title > li:hover label .label_txt {
    opacity: 0;
  }
  .contact_form form .form_content .form_input .input_list.marquee_title > li:hover label .marquee {
    opacity: 1;
  }
  .contact_form form .form_content .form_input .input_list.marquee_title > li:hover label .marquee .track {
    -webkit-animation-play-state: running;
            animation-play-state: running;
  }
}
@media screen and (max-width: 1440px) {
  .contact_content {
    grid-template-columns: auto 72%;
  }
  .sticky_title {
    top: 42%;
  }
  .sticky_title .title {
    font-size: clamp(13px, 13px + (20 - 13) * (100vw - 375px) / (1840 - 375), 20px);
  }
  .sticky_title .title .br_1440 {
    display: block;
  }
  .contact_form form .form_content .form_input .input_list.tab6 {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 1024px) {
  .contact_content {
    grid-template-columns: 1fr;
  }
  .sticky_title {
    position: static;
    margin-bottom: clamp(50px, 50px + (120 - 50) * (100vw - 375px) / (1840 - 375), 120px);
  }
  .sticky_title .title {
    font-size: clamp(14px, 14px + (20 - 14) * (100vw - 375px) / (1840 - 375), 20px);
  }
  .sticky_title .title .br_1440 {
    display: none;
  }
  .sticky_title .strength_list {
    width: clamp(300px, 300px + (393 - 300) * (100vw - 375px) / (1840 - 375), 393px);
  }
  .contact_form form {
    padding-top: 0;
  }
  .contact_form form .form_content .form_input .input_list.tab6 {
    grid-template-columns: repeat(6, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .contact_form form {
    padding-top: 0;
  }
  .contact_form form .form_content .form_input .input_list.tab6:not(.marquee_title) {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 540px) {
  .contact_title {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .contact_form form {
    padding-top: 0;
  }
  .contact_form form .form_content .form_input {
    font-size: 13px;
  }
  .contact_form form .form_content .form_input .input_list.tab6.marquee_title {
    grid-template-columns: repeat(3, 1fr);
  }
  .contact_form form .form_content .form_input.column .input_grid .content .file_info .hint {
    display: none;
  }
  .contact_form form .form_content .form_input.column .input_grid + .hint {
    display: block;
    font-size: 11px;
    color: #999999;
    margin: 3px 0 6px;
    padding-left: 15px;
    word-break: keep-all;
  }
  .contact_form form .agree_chk_wrap fieldset label {
    font-size: 13px;
  }
  .contact_form form .agree_chk_wrap fieldset label::before {
    width: 15px;
  }
  .contact_form form .agree_chk_wrap fieldset label button {
    text-decoration-thickness: 1px;
  }
  .contact_form .ngo_wrap {
    grid-template-columns: 1fr;
    gap: 15px;
  }
  .contact_form .ngo_wrap img {
    max-width: 35px;
    margin: 0 auto;
  }
  .contact_form .ngo_wrap .txt {
    line-height: 1.6;
  }
  .sticky_title .strength_list {
    width: 100%;
    max-width: 320px;
  }
  .sticky_title .strength_list ul {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
  }
  .sticky_title .strength_list ul:not(:last-child)::after {
    grid-column: 1/-1;
    width: 100%;
    margin: 20px 0;
  }
}