@charset "UTF-8";
@import url("./reset.css");
@font-face {
  font-family: "Pretendard";
  font-weight: 700;
  font-display: swap;
  src: local("Pretendard Bold"), url("../font/Pretendard-Bold.woff") format("woff");
}
@font-face {
  font-family: "Pretendard";
  font-weight: 600;
  font-display: swap;
  src: local("Pretendard SemiBold"), url("../font/Pretendard-SemiBold.woff") format("woff");
}
@font-face {
  font-family: "Pretendard";
  font-weight: 500;
  font-display: swap;
  src: local("Pretendard Medium"), url("../font/Pretendard-Medium.woff") format("woff");
}
@font-face {
  font-family: "Pretendard";
  font-weight: 400;
  font-display: swap;
  src: local("Pretendard Regular"), url("../font/Pretendard-Regular.woff") format("woff");
}
body.pc.main {
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
  position: relative;
}

.sr-only {
  overflow: hidden;
  border: 0;
  position: absolute !important;
  left: -1000% !important;
  top: auto !important;
  bottom: auto !important;
  z-index: -1;
  padding: 0;
  margin: -1px;
  width: 1px !important;
  height: 1px;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  font-size: 1px;
  line-height: 0;
}

.flex-v {
  display: flex;
  flex-direction: column;
  align-items: flex-start !important;
}

body.mobile {
  width: 100%;
  margin: 0 auto;
  position: relative;
}

body.pc {
  font-family: "Pretendard";
  letter-spacing: -1px;
}
body.pc.main #promotion img {
  display: block;
  width: 100%;
}
body.pc.main #promotion .btnWrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}
body.pc.main #promotion .btnWrap.apply {
  position: absolute;
  bottom: 3px;
}
body.pc.main #promotion .trailers {
  background: url("../../img/bg_event.jpg") no-repeat center top;
  height: 885px;
}
body.pc.main #promotion .trailers .videoBox {
  width: 592px;
  height: 334px;
  margin: 38px auto 26px;
  background-color: #000;
  border-radius: 10px;
  overflow: hidden;
}
body.pc.main #promotion .trailers .videoBox iframe {
  width: 592px;
  height: 334px;
}
body.pc.main #promotion .trailers .descBox {
  width: 592px;
  height: 172px;
  box-sizing: border-box;
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
  background-color: rgba(255, 255, 255, 0.6);
  margin: 0 auto;
  border: 2px solid #fff;
  border-radius: 10px;
  box-shadow: 10px 10px 35px rgb(197, 149, 207);
  padding: 30px 0;
  overflow: hidden;
}
body.pc.main #promotion .trailers .descBox p {
  font-size: 20px;
  line-height: 1.4;
  overflow-y: scroll;
  word-break: break-all;
  height: 113px;
  box-sizing: border-box;
  padding: 0 50px;
}
body.pc.main #promotion article {
  position: relative;
  text-align: center;
  color: #121212;
}
body.pc.main #promotion article img {
  display: block;
}
body.pc.main #promotion article .shortVideo {
  position: absolute;
  width: 399px;
  height: 258px;
  border-radius: 6px;
  background-color: #000;
  top: 486px;
  right: 166px;
  overflow: hidden;
}
body.pc.apply {
  width: 640px;
  overflow-x: hidden;
}
body.pc.apply #promotion {
  width: 100%;
}
body.pc.apply #promotion h1 {
  text-align: center;
  padding: 100px 0 0;
  text-align: center;
  line-height: 1;
}
body.pc.apply #promotion h1 > img {
  width: 210px;
}
body.pc.apply #promotion h1 span:not(.age) {
  display: block;
  margin: 24px 0 20px;
}
body.pc.apply #promotion h1 .age {
  font-size: 24px;
  font-weight: 500;
}
body.pc.apply #promotion h1 span img {
  width: 258px;
}
body.pc.apply #promotion .inner {
  padding: 46px;
}
body.pc.apply #promotion article img {
  display: block;
  width: 100%;
}
body.pc.apply #promotion article .applyForm {
  display: flex;
  flex-direction: column;
  gap: 30px;
}
body.pc.apply #promotion article .applyForm li label, body.pc.apply #promotion article .applyForm li .label {
  font-size: 20px;
  font-weight: 700;
  color: #000;
  margin-bottom: 14px;
  display: block;
  line-height: 1.2;
}
body.pc.apply #promotion article .applyForm li input {
  width: 100%;
  height: 60px;
  border: 2px solid #d3d3d3;
  border-radius: 16px;
  padding: 0 15px;
  box-sizing: border-box;
  font-size: 20px;
}
body.pc.apply #promotion article .applyForm li input[readonly] {
  background-color: #f5f5f5;
  color: #666;
}
body.pc.apply #promotion article .textInfo {
  padding-top: 20px;
}
body.pc.apply #promotion article .textInfo li {
  padding-left: 15px;
  font-size: 18px;
  font-weight: 500;
  color: #5f5f5f;
  line-height: 1.5;
  position: relative;
  word-break: keep-all;
}
body.pc.apply #promotion article .textInfo li:before {
  content: "*";
  position: absolute;
  left: 0;
  top: 0;
}
body.pc.apply #promotion .btnWrap {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 30px 0 0;
  gap: 20px;
}
body.pc.apply #promotion .btnWrap a {
  display: block;
  width: 588px;
}
body.pc.apply.check .radioGroup {
  display: flex;
  flex-direction: column;
  gap: 13px;
  margin-bottom: 33px;
}
body.pc.apply.check .radioGroup fieldset {
  display: flex;
  align-items: center;
}
body.pc.apply.check .radioGroup fieldset input {
  margin: 0;
  padding: 0;
  width: 33px;
  height: 33px;
}
body.pc.apply.check .radioGroup fieldset input + label {
  margin-left: 15px;
  font-size: 28px;
  font-weight: 700;
}
body.pc.apply.check .btnWrap {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  bottom: 70px;
  left: 0;
  width: 100%;
}
body.pc.apply.check .btnWrap a {
  width: 588px;
}
body.pc.apply.entry .layerPop {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  z-index: 1000;
}
body.pc.apply.entry .layerPop.on {
  display: block;
}
body.pc.apply.entry .layerPop .layerCont {
  background-color: #fff;
  width: 577px;
  box-sizing: border-box;
  border-radius: 30px;
  padding: 105px 40px 50px;
  position: absolute;
  top: 209px;
  left: 28px;
  text-align: center;
}
body.pc.apply.entry .layerPop .layerCont > p {
  margin-bottom: 55px;
  padding: 0 149px;
}
body.pc.apply.entry .layerPop .layerCont article {
  font-size: 25px;
  line-height: 1.3;
  margin-bottom: 20px;
}
body.pc.apply.entry .layerPop .layerCont .btnWrap {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 45px;
}
body.pc.apply.entry .layerPop .layerCont .btnWrap a {
  width: 494px;
}
body.pc.apply.entry #promotion h1 span img {
  width: 327px;
}
body.pc.apply.entry #promotion article {
  /* 컨테이너 */
  /* 파일명 표시 영역 (왼쪽 흰색 박스) */
  /* 실제 input[type=file]은 화면에서 숨기되, 포커스는 label에서 보이도록 처리 */
  /* 오른쪽 빨간 버튼 */
  /* 키보드 포커스 시 뚜렷한 윤곽선 제공 (접근성) */
  /* 포커스 표시: 키보드 탭 시 명확한 테두리 */
  /* 부모 컨테이너에도 포커스 표시 (보강) */
}
body.pc.apply.entry #promotion article .applyForm {
  display: flex;
  flex-direction: column;
  gap: 30px;
}
body.pc.apply.entry #promotion article .applyForm li > label, body.pc.apply.entry #promotion article .applyForm li > .label {
  font-size: 24px;
  font-weight: 700;
  letter-spacing: -1.5px;
}
body.pc.apply.entry #promotion article .applyForm li > label, body.pc.apply.entry #promotion article .applyForm li > .label {
  position: relative;
  padding-left: 60px;
}
body.pc.apply.entry #promotion article .applyForm li > label span, body.pc.apply.entry #promotion article .applyForm li > .label span {
  position: absolute;
  left: 0;
  top: 0;
}
body.pc.apply.entry #promotion article .applyForm li textarea {
  width: 100%;
  height: 223px;
  border: 2px solid #d6d6d6;
  border-radius: 16px;
  padding: 15px;
  box-sizing: border-box;
  font-size: 20px;
  resize: none;
  font-family: "pretendard";
  margin-bottom: 14px;
}
body.pc.apply.entry #promotion article .applyForm li textarea + span {
  padding-left: 15px;
  font-size: 16px;
  font-weight: 500;
  display: block;
  color: #5f5f5f;
  line-height: 1.5;
  position: relative;
  word-break: keep-all;
}
body.pc.apply.entry #promotion article .applyForm li textarea + span:before {
  content: "*";
  position: absolute;
  left: 0;
  top: calc(50% - 10px);
}
body.pc.apply.entry #promotion article .applyForm li .textInfo li {
  font-size: 16px !important;
}
body.pc.apply.entry #promotion article .upload-wrapper {
  width: 100%;
  display: inline-flex;
  align-items: center;
  font-size: 17px;
}
body.pc.apply.entry #promotion article .upload-filename {
  width: 390px;
  height: 45px;
  box-sizing: border-box;
  padding: 6px 8px;
  border: 1px solid #d3d3d3;
  border-radius: 0;
  overflow: hidden;
  font-family: "pretendard";
  background-color: #ffffff;
  color: #333333;
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.pc.apply.entry #promotion article .upload-input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  border: 0;
  clip: rect(0 0 0 0);
}
body.pc.apply.entry #promotion article .upload-button {
  background-color: #ec2c49;
  color: #ffffff;
  width: 147px;
  height: 45px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  white-space: nowrap;
  margin-bottom: 0;
  margin-left: 5px;
  border-radius: 10px;
}
body.pc.apply.entry #promotion article .upload-button:focus {
  outline: 2px solid #000000;
  outline-offset: -2px;
}
body.pc.apply.entry #promotion article .upload-button:focus-visible,
body.pc.apply.entry #promotion article .upload-button.focus-visible {
  outline: 3px solid #000000;
  outline-offset: -3px;
}
body.pc.apply.entry #promotion article .upload-wrapper:focus-within .upload-button {
  box-shadow: inset 0 0 0 2px #000000;
}
body.pc.apply.entry #promotion article .uploadInput {
  border: 1px solid #ddd;
  border-radius: 16px;
  padding: 8px;
  height: auto;
}
body.pc.apply.entry #promotion article .uploadInput::file-selector-button {
  border: none;
  background: #ec2c49;
  color: white;
  padding: 8px 16px;
  border-radius: 6px;
  cursor: pointer;
  margin-right: 8px;
}
body.pc.apply.entry #promotion article .reset {
  background-color: #555;
  color: #fff;
  display: none;
  width: 100%;
  height: 40px;
  border-radius: 6px;
  padding: 0;
  border: none;
  margin-top: 10px;
  font-size: 16px;
  cursor: pointer;
}
body.pc.apply.entry #promotion article .reset.visible {
  display: block;
}
body.pc.apply.entry #promotion .agreeWrap {
  margin: 50px 0 0;
}
body.pc.apply.entry #promotion .agreeWrap .accordions > li {
  display: block;
  overflow: hidden;
  position: relative;
  border-bottom: 2px solid #f0f0f0;
}
body.pc.apply.entry #promotion .agreeWrap .accordions > li:last-child {
  border-bottom: 0;
}
body.pc.apply.entry #promotion .agreeWrap .accordions > li input {
  width: 26px;
  height: 26px;
  box-sizing: border-box;
  margin: 0 8px 0 3px;
  border-radius: 0;
}
body.pc.apply.entry #promotion .agreeWrap .accordions > li label {
  font-size: 22px;
  color: #000;
  font-weight: 400;
}
body.pc.apply.entry #promotion .agreeWrap .accordions > li .accordion-trigger {
  display: block;
  padding: 0;
  position: absolute;
  right: 3px;
  top: 12px;
  width: 35px;
  height: 35px;
}
body.pc.apply.entry #promotion .agreeWrap .accordions > li .accordion-trigger.active {
  transform: rotate(180deg);
}
body.pc.apply.entry #promotion .agreeWrap .accordions > li .accordion-trigger.active + .accordion-contents {
  border-bottom: 0;
}
body.pc.apply.entry #promotion .agreeWrap .accordions > li label {
  padding: 19px 0;
  box-sizing: border-box;
  width: 80%;
  display: inline-block;
  vertical-align: middle;
}
body.pc.apply.entry #promotion .agreeWrap .accordions .accordion-contents {
  display: none;
  padding: 0;
}
body.pc.apply.entry #promotion .agreeWrap .accordions .accordion-contents .table {
  border: 1px solid #9b9b9b;
  width: 100%;
  margin: 10px auto 20px;
  border-collapse: collapse;
  background-color: #fff;
  box-sizing: border-box;
}
body.pc.apply.entry #promotion .agreeWrap .accordions .accordion-contents .table tr:first-of-type th, body.pc.apply.entry #promotion .agreeWrap .accordions .accordion-contents .table tr:first-of-type td {
  border-top: 0;
}
body.pc.apply.entry #promotion .agreeWrap .accordions .accordion-contents .table th, body.pc.apply.entry #promotion .agreeWrap .accordions .accordion-contents .table td {
  border: 1px solid #a3a1a1;
  font-size: 18px;
  padding: 10px;
  line-height: 1.3;
  word-break: keep-all;
  color: #666;
  vertical-align: middle;
}
body.pc.apply.entry #promotion .agreeWrap .accordions .accordion-contents .table th {
  text-align: center;
}
body.pc.apply.entry #promotion .agreeWrap .accordions .accordion-contents article {
  font-size: 15px;
  line-height: 1.3;
  color: #666;
  margin-bottom: 20px;
}
body.pc.apply.entry #promotion .agreeWrap .accordions .accordion-contents article p {
  font-weight: 700;
}
body.mobile {
  letter-spacing: -0.15625vw;
  font-family: "Pretendard";
}
body.mobile img {
  display: block;
  width: 100%;
}
body.mobile .event {
  max-width: 100%;
  margin: 0 auto;
}
body.mobile article {
  display: block;
  position: relative;
}
body.mobile article img {
  display: block;
  width: 100%;
}
body.mobile.main #promotion h1 {
  margin: 0;
}
body.mobile.main #promotion img {
  display: block;
  width: 100%;
}
body.mobile.main #promotion .btnWrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}
body.mobile.main #promotion .btnWrap.apply {
  position: absolute;
  bottom: 3px;
}
body.mobile.main #promotion .btnWrap.apply a {
  width: 53.125vw;
}
body.mobile.main #promotion .trailers {
  background: url("../../img/m/bg_event.png") no-repeat center top;
  height: 151.25vw;
  background-size: cover;
}
body.mobile.main #promotion .trailers .videoBox {
  width: 87.5vw;
  height: 49.375vw;
  margin: 7.8125vw auto 2.5vw;
  background-color: #000;
  border-radius: 1.5625vw;
  overflow: hidden;
}
body.mobile.main #promotion .trailers .videoBox iframe {
  width: 87.5vw;
  height: 49.375vw;
}
body.mobile.main #promotion .trailers .descBox {
  width: 87.5vw;
  height: 32.8125vw;
  box-sizing: border-box;
  -webkit-backdrop-filter: blur(1.5625vw);
          backdrop-filter: blur(1.5625vw);
  background-color: rgba(255, 255, 255, 0.6);
  margin: 0 auto;
  border: 0.3125vw solid #fff;
  border-radius: 1.5625vw;
  padding: 6.71875vw 0;
  overflow: hidden;
}
body.mobile.main #promotion .trailers .descBox p {
  font-size: 3.4375vw;
  line-height: 1.4;
  overflow-y: scroll;
  word-break: break-all;
  height: 18.28125vw;
  box-sizing: border-box;
  padding: 0 5.9375vw;
}
body.mobile.main #promotion article {
  position: relative;
  text-align: center;
  color: #121212;
}
body.mobile.main #promotion article img {
  display: block;
}
body.mobile.main #promotion article .shortVideo {
  position: absolute;
  width: 62.34375vw;
  height: 40.3125vw;
  border-radius: 0.9375vw;
  background-color: #000;
  top: 142.5vw;
  right: 9.375vw;
  overflow: hidden;
}
body.mobile.main #promotion article .shortVideo iframe {
  width: 62.34375vw;
  height: 40.3125vw;
  border-radius: 0.9375vw;
}
body.mobile.apply {
  width: 100%;
  overflow-x: hidden;
}
body.mobile.apply #promotion {
  width: 100%;
}
body.mobile.apply #promotion h1 {
  text-align: center;
  padding: 15.625vw 0 0;
  text-align: center;
  line-height: 1;
}
body.mobile.apply #promotion h1 > img {
  width: 32.8125vw;
  margin: 0 auto;
}
body.mobile.apply #promotion h1 span:not(.age) {
  display: block;
  margin: 3.75vw 0 3.125vw;
}
body.mobile.apply #promotion h1 .age {
  font-size: 3.75vw;
  font-weight: 500;
}
body.mobile.apply #promotion h1 span img {
  width: 40.3125vw;
  margin: 0 auto;
}
body.mobile.apply #promotion .inner {
  padding: 7.1875vw;
}
body.mobile.apply #promotion article img {
  display: block;
  width: 100%;
}
body.mobile.apply #promotion article .applyForm {
  display: flex;
  flex-direction: column;
  gap: 4.6875vw;
}
body.mobile.apply #promotion article .applyForm li label, body.mobile.apply #promotion article .applyForm li .label {
  font-size: 3.75vw;
  font-weight: 700;
  color: #000;
  margin-bottom: 2.1875vw;
  display: block;
  line-height: 1.2;
}
body.mobile.apply #promotion article .applyForm li input {
  width: 100%;
  height: 9.375vw;
  border: 2px solid #d3d3d3;
  border-radius: 2.5vw;
  padding: 0 2.34375vw;
  box-sizing: border-box;
  font-size: 3.75vw;
}
body.mobile.apply #promotion article .applyForm li input[readonly] {
  background-color: #f5f5f5;
  color: #666;
}
body.mobile.apply #promotion article .textInfo {
  padding-top: 3.125vw;
  box-sizing: border-box;
}
body.mobile.apply #promotion article .textInfo li {
  padding-left: 2.34375vw;
  font-size: 2.8125vw;
  font-weight: 500;
  color: #5f5f5f;
  line-height: 1.5;
  position: relative;
  word-break: keep-all;
}
body.mobile.apply #promotion article .textInfo li:before {
  content: "*";
  position: absolute;
  left: 0;
  top: 0;
}
body.mobile.apply #promotion .btnWrap {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4.6875vw 0 0;
  gap: 3.125vw;
}
body.mobile.apply #promotion .btnWrap a {
  display: block;
  width: 91.875vw;
}
body.mobile.apply.check .radioGroup {
  display: flex;
  flex-direction: column;
  gap: 2.03125vw;
  margin-bottom: 5.15625vw;
}
body.mobile.apply.check .radioGroup fieldset {
  display: flex;
  align-items: center;
}
body.mobile.apply.check .radioGroup fieldset input {
  margin: 0;
  padding: 0;
  width: 5.15625vw;
  height: 5.15625vw;
}
body.mobile.apply.check .radioGroup fieldset input + label {
  margin-left: 2.34375vw;
  font-size: 4.375vw;
  font-weight: 700;
}
body.mobile.apply.check .btnWrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}
body.mobile.apply.check .btnWrap a {
  width: 91.875vw;
}
body.mobile.apply.entry .layerPop {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  z-index: 1000;
}
body.mobile.apply.entry .layerPop.on {
  display: block;
}
body.mobile.apply.entry .layerPop .layerCont {
  background-color: #fff;
  width: 90.15625vw;
  box-sizing: border-box;
  border-radius: 4.6875vw;
  padding: 16.40625vw 6.25vw 7.8125vw;
  position: absolute;
  top: 32.65625vw;
  left: 4.375vw;
  text-align: center;
}
body.mobile.apply.entry .layerPop .layerCont > p {
  margin-bottom: 8.59375vw;
  padding: 0 23.28125vw;
}
body.mobile.apply.entry .layerPop .layerCont article {
  font-size: 3.90625vw;
  line-height: 1.3;
  margin-bottom: 3.125vw;
}
body.mobile.apply.entry .layerPop .layerCont .btnWrap {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 7.03125vw;
}
body.mobile.apply.entry .layerPop .layerCont .btnWrap a {
  width: 77.1875vw;
}
body.mobile.apply.entry #promotion h1 span img {
  width: 51.09375vw;
}
body.mobile.apply.entry #promotion article {
  /* 컨테이너 */
  /* 파일명 표시 영역 (왼쪽 흰색 박스) */
  /* 실제 input[type=file]은 화면에서 숨기되, 포커스는 label에서 보이도록 처리 */
  /* 오른쪽 빨간 버튼 */
  /* 키보드 포커스 시 뚜렷한 윤곽선 제공 (접근성) */
  /* 포커스 표시: 키보드 탭 시 명확한 테두리 */
  /* 부모 컨테이너에도 포커스 표시 (보강) */
}
body.mobile.apply.entry #promotion article .applyForm {
  display: flex;
  flex-direction: column;
  gap: 4.6875vw;
}
body.mobile.apply.entry #promotion article .applyForm li > label, body.mobile.apply.entry #promotion article .applyForm li > .label {
  font-size: 3.75vw;
  font-weight: 700;
  letter-spacing: -0.234375vw;
}
body.mobile.apply.entry #promotion article .applyForm li > label, body.mobile.apply.entry #promotion article .applyForm li > .label {
  position: relative;
  padding-left: 9.375vw;
}
body.mobile.apply.entry #promotion article .applyForm li > label span, body.mobile.apply.entry #promotion article .applyForm li > .label span {
  position: absolute;
  left: 0;
  top: 0;
}
body.mobile.apply.entry #promotion article .applyForm li textarea {
  width: 100%;
  height: 34.84375vw;
  border: 2px solid #d6d6d6;
  border-radius: 2.5vw;
  padding: 2.34375vw;
  box-sizing: border-box;
  font-size: 3.75vw;
  resize: none;
  font-family: "pretendard";
  margin-bottom: 2.1875vw;
}
body.mobile.apply.entry #promotion article .applyForm li textarea + span {
  padding-left: 2.34375vw;
  font-size: 2.5vw;
  font-weight: 500;
  display: block;
  color: #5f5f5f;
  line-height: 1.5;
  position: relative;
  word-break: keep-all;
}
body.mobile.apply.entry #promotion article .applyForm li textarea + span:before {
  content: "*";
  position: absolute;
  left: 0;
  top: calc(50% - 1.5625vw);
}
body.mobile.apply.entry #promotion article .applyForm li .textInfo li {
  font-size: 2.5vw !important;
}
body.mobile.apply.entry #promotion article .upload-wrapper {
  width: 100%;
  display: inline-flex;
  align-items: center;
  font-size: 2.65625vw;
}
body.mobile.apply.entry #promotion article .upload-filename {
  width: 60.9375vw;
  height: 7.03125vw;
  box-sizing: border-box;
  padding: 0.9375vw 1.25vw;
  border: 1px solid #d3d3d3;
  border-radius: 0;
  overflow: hidden;
  font-family: "pretendard";
  background-color: #ffffff;
  color: #333333;
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.mobile.apply.entry #promotion article .upload-input {
  position: absolute;
  width: 0.15625vw;
  height: 0.15625vw;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  border: 0;
  clip: rect(0 0 0 0);
}
body.mobile.apply.entry #promotion article .upload-button {
  background-color: #ec2c49;
  color: #ffffff;
  width: 22.96875vw;
  height: 7.03125vw;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  white-space: nowrap;
  margin-bottom: 0;
  margin-left: 0.78125vw;
  border-radius: 1.5625vw;
}
body.mobile.apply.entry #promotion article .upload-button:focus {
  outline: 0.3125vw solid #000000;
  outline-offset: -0.3125vw;
}
body.mobile.apply.entry #promotion article .upload-button:focus-visible,
body.mobile.apply.entry #promotion article .upload-button.focus-visible {
  outline: 0.46875vw solid #000000;
  outline-offset: -0.46875vw;
}
body.mobile.apply.entry #promotion article .upload-wrapper:focus-within .upload-button {
  box-shadow: inset 0 0 0 0.3125vw #000000;
}
body.mobile.apply.entry #promotion article .uploadInput {
  border: 0.3125vw solid #ddd;
  border-radius: 1.25vw;
  padding: 1.25vw;
  height: auto;
}
body.mobile.apply.entry #promotion article .uploadInput::file-selector-button {
  border: none;
  background: #ec2c49;
  color: white;
  padding: 1.25vw 2.5vw;
  border-radius: 0.9375vw;
  cursor: pointer;
  margin-right: 1.25vw;
}
body.mobile.apply.entry #promotion article .reset {
  background-color: #555;
  color: #fff;
  display: none;
  width: 100%;
  height: 10.9375vw;
  border-radius: 1.25vw;
  padding: 0;
  border: none;
  margin-top: 1.5625vw;
  font-size: 3.75vw;
  cursor: pointer;
}
body.mobile.apply.entry #promotion article .reset.visible {
  display: block;
}
body.mobile.apply.entry #promotion .agreeWrap {
  margin: 7.8125vw 0 0;
}
body.mobile.apply.entry #promotion .agreeWrap .accordions > li {
  display: block;
  overflow: hidden;
  position: relative;
  border-bottom: 2px solid #f0f0f0;
}
body.mobile.apply.entry #promotion .agreeWrap .accordions > li:last-child {
  border-bottom: 0;
}
body.mobile.apply.entry #promotion .agreeWrap .accordions > li input {
  width: 4.0625vw;
  height: 4.0625vw;
  box-sizing: border-box;
  margin: 0 1.25vw 0 0.46875vw;
  border-radius: 0;
}
body.mobile.apply.entry #promotion .agreeWrap .accordions > li label {
  font-size: 3.4375vw;
  color: #000;
  font-weight: 400;
}
body.mobile.apply.entry #promotion .agreeWrap .accordions > li .essential {
  color: #ff0000;
  font-weight: 700;
}
body.mobile.apply.entry #promotion .agreeWrap .accordions > li .optional {
  color: #000;
  font-weight: 700;
}
body.mobile.apply.entry #promotion .agreeWrap .accordions > li .accordion-trigger {
  display: block;
  padding: 0;
  position: absolute;
  right: 0.46875vw;
  top: 1.875vw;
  width: 5.46875vw;
  height: 5.46875vw;
}
body.mobile.apply.entry #promotion .agreeWrap .accordions > li .accordion-trigger.active {
  transform: rotate(180deg);
}
body.mobile.apply.entry #promotion .agreeWrap .accordions > li .accordion-trigger.active + .accordion-contents {
  border-bottom: 0;
}
body.mobile.apply.entry #promotion .agreeWrap .accordions > li label {
  padding: 2.96875vw 0;
  box-sizing: border-box;
  width: 80%;
  display: inline-block;
  vertical-align: middle;
}
body.mobile.apply.entry #promotion .agreeWrap .accordions .accordion-contents {
  display: none;
  padding: 0;
}
body.mobile.apply.entry #promotion .agreeWrap .accordions .accordion-contents .table {
  border: 1px solid #9b9b9b;
  border-top: 0;
  width: 100%;
  margin: 10px auto 20px;
  border-collapse: collapse;
  background-color: #fff;
  box-sizing: border-box;
}
body.mobile.apply.entry #promotion .agreeWrap .accordions .accordion-contents .table th, body.mobile.apply.entry #promotion .agreeWrap .accordions .accordion-contents .table td {
  border: 1px solid #9b9b9b;
  font-size: 2.8125vw;
  padding: 1.5625vw;
  line-height: 1.3;
  word-break: keep-all;
  color: #666;
  vertical-align: middle;
}
body.mobile.apply.entry #promotion .agreeWrap .accordions .accordion-contents .table th {
  text-align: center;
}
body.mobile.apply.entry #promotion .agreeWrap .accordions .accordion-contents article {
  font-size: 2.34375vw;
  line-height: 1.3;
  color: #666;
  margin-bottom: 3.125vw;
}
body.mobile.apply.entry #promotion .agreeWrap .accordions .accordion-contents article p {
  font-weight: 700;
}