@charset "UTF-8";
@font-face {
  font-family: "NotoSansKR";
  font-style: light;
  font-weight: 300;
  src: url("../fonts/NotoSansKR-Light.woff") format("woff"), url("../fonts/NotoSansKR-Light.otf") format("openType");
}
@font-face {
  font-family: "NotoSansKR";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/NotoSansKR-Regular.woff") format("woff"), url("../fonts/NotoSansKR-Regular.otf") format("openType");
}
@font-face {
  font-family: "NotoSansKR";
  font-style: medium;
  font-weight: 500;
  src: url("../fonts/NotoSansKR-Medium.woff") format("woff"), url("../fonts/NotoSansKR-Medium.otf") format("openType");
}
@font-face {
  font-family: "NotoSansKR";
  font-style: bold;
  font-weight: 700;
  src: url("../fonts/NotoSansKR-Bold.woff") format("woff"), url("../fonts/NotoSansKR-Bold.otf") format("openType");
}
@font-face {
  font-family: "SCDream";
  font-weight: 100;
  src: url("../fonts/SCDream1.woff") format("woff"), url("../fonts/SCDream1.otf") format("openType");
}
@font-face {
  font-family: "SCDream";
  font-weight: 200;
  src: url("../fonts/SCDream2.woff") format("woff"), url("../fonts/SCDream2.otf") format("openType");
}
@font-face {
  font-family: "SCDream";
  font-weight: 300;
  src: url("../fonts/SCDream3.woff") format("woff"), url("../fonts/SCDream3.otf") format("openType");
}
@font-face {
  font-family: "SCDream";
  font-weight: 400;
  src: url("../fonts/SCDream4.woff") format("woff"), url("../fonts/SCDream4.otf") format("openType");
}
@font-face {
  font-family: "SCDream";
  font-weight: 500;
  src: url("../fonts/SCDream5.woff") format("woff"), url("../fonts/SCDream5.otf") format("openType");
}
@font-face {
  font-family: "SCDream";
  font-weight: 600;
  src: url("../fonts/SCDream6.woff") format("woff"), url("../fonts/SCDream6.otf") format("openType");
}
@font-face {
  font-family: "SCDream";
  font-weight: 700;
  src: url("../fonts/SCDream7.woff") format("woff"), url("../fonts/SCDream7.otf") format("openType");
}
@font-face {
  font-family: "SCDream";
  font-weight: 800;
  src: url("../fonts/SCDream8.woff") format("woff"), url("../fonts/SCDream8.otf") format("openType");
}
@font-face {
  font-family: "SCDream";
  font-weight: 900;
  src: url("../fonts/SCDream9.woff") format("woff"), url("../fonts/SCDream9.otf") format("openType");
}
@font-face {
  font-family: "Pretendard";
  font-style: normal;
  font-weight: 300;
  src: url("../fonts/Pretendard-Light.woff") format("woff");
}
@font-face {
  font-family: "Pretendard";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/Pretendard-Regular.woff") format("woff");
}
@font-face {
  font-family: "Pretendard";
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/Pretendard-Medium.woff") format("woff");
}
@font-face {
  font-family: "Pretendard";
  font-style: normal;
  font-weight: 600;
  src: url("../fonts/Pretendard-SemiBold.woff") format("woff");
}
@font-face {
  font-family: "Pretendard";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/Pretendard-Bold.woff") format("woff");
}
@font-face {
  font-family: "HDharmony";
  font-weight: 400;
  src: url("../fonts/HDharmony-L.woff") format("woff");
}
@font-face {
  font-family: "HDharmony";
  font-weight: 500;
  src: url("../fonts/HDharmony-M.woff") format("woff");
}
@font-face {
  font-family: "HDharmony";
  font-weight: 700;
  src: url("../fonts/HDharmony-B.woff") format("woff");
}
/* reset */
/* 최대 화면 크기 설정 */
/* 전역 스위치: 딱 1번만 선언 */
/* 
모바일에서만 vw를 사용할 경우 vw함수만 사용해도 무방
pc와 모바일 둘다 vw를 사용할경우 pc에서는 vw함수를
모바일에서는 vw-mo함수를 사용
*/
/* rem 설정을 위한 폰트 */
html {
  font-size: calc(100vw / 1440 * 20);
}
@media (min-width: 1441px) {
  html {
    font-size: 20px;
  }
}
@media (max-width: 768px) {
  html {
    font-size: calc(100vw / 360 * 20);
  }
}

body,
p,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
li,
dl,
dt,
dd,
table,
th,
td,
form,
fieldset,
legend,
input,
textarea,
button,
select,
pre {
  -webkit-text-size-adjust: none;
  line-height: 1.4;
  font-weight: 400;
  color: #000;
  font-family: "HDharmony", arial, sans-serif, Arial, dotum, "돋움";
  font-size: 20px;
  letter-spacing: -0.02em;
}

/*-webkit-text-size-adjust: none(글자크기 자동조정 방지) , auto (화면의 폭에 맞추어서 텍스트의 크기를 자동으로 조절 , 100%(폰트크기를 지정된사이즈로 변경);*/
html,
body,
div,
p,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
li,
table,
tr,
td,
dl,
dt,
dd,
a,
img,
input,
button,
select,
textarea {
  margin: 0px;
  padding: 0px;
  list-style: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

input {
  -webkit-border-radius: 0;
}

header,
hgroup,
article,
nav,
footer,
figure,
figcaption,
canvas,
section,
main,
menu {
  display: block;
  margin: 0;
  padding: 0;
}

a {
  text-decoration: none;
  color: #000;
}

img,
fieldset,
iframe {
  border: 0 none;
}

fieldset {
  width: auto;
  min-width: 0;
  max-width: none;
  border: 0;
  margin: 0;
  padding: 0;
}

legend {
  position: absolute !important;
  display: block;
  width: 0 !important;
  height: 0 !important;
  padding: 0 !important;
  margin: -1px !important;
  border: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
}
legend.focusable:active, legend.focusable:focus {
  position: static;
  height: auto;
  width: auto;
  margin: 0;
  clip: auto;
  overflow: visible;
}

img {
  max-width: 100%;
  border: 0px;
  vertical-align: top;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption {
  display: none;
}

button {
  cursor: pointer;
  border: 0;
  background-color: transparent;
}

/* reset */
.btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border: 1px solid #ddd;
  text-align: center;
  cursor: pointer;
}
.btn.small {
  height: 1.75rem;
  padding: 0 0.5rem;
  font-size: 0.65rem;
}
.btn.medium {
  height: 2.8rem;
  padding: 0 0.65rem;
  font-size: 0.75rem;
}
.btn.large {
  height: 3.4rem;
  padding: 0 0.8rem;
  font-weight: 400;
  font-size: 1rem;
}
.btn.xlarge {
  height: 4.4rem;
  padding: 0 1rem;
  font-weight: 700;
  font-size: 1.1rem;
}
.btn.primary {
  background-color: #0b428a;
  border-color: #0b428a;
  color: #fff;
}
.btn.slightly {
  background-color: #666;
  border-color: #666;
  color: #fff;
}
.btn.lightSlightly {
  background-color: #989898;
  border-color: #989898;
  color: #fff;
}
.btn.dark {
  background-color: #222;
  border-color: #222;
  color: #fff;
}
.btn.danger {
  background-color: #ff5a5f;
  border-color: #ff5a5f;
  color: #fff;
}
.btn.warning {
  background-color: #ff9582;
  border-color: #ff9582;
  color: #fff;
}
.btn.round.small {
  border-radius: 50px;
}
.btn.round.medium {
  border-radius: 40px;
}
.btn.round.large {
  border-radius: 30px;
}
.btn.round.xlarge {
  border-radius: 30px;
}
.btn.border {
  border: 1px solid #222;
}
.btn.border.primary {
  color: #0b428a;
  border-color: #0b428a;
  background-color: transparent;
}
.btn.border.slightly {
  border-color: #888;
  color: #888;
  background-color: transparent;
}
.btn.border.lightSlightly {
  border-color: #a1a1a1;
  color: #a1a1a1;
  background-color: transparent;
}
.btn.border.dark {
  border-color: #222;
  color: #222;
  background-color: transparent;
}
.btn.border.warning {
  border-color: #ff9582;
  color: #ff9582;
  background-color: transparent;
}
.btn.border.danger {
  border-color: #ff5a5f;
  color: #ff5a5f;
  background-color: transparent;
}

.data-table table {
  table-layout: fixed;
  width: 100%;
  border-top: 1px solid #ddd;
}
.data-table th,
.data-table td {
  padding: 0.5rem 0.75rem;
  text-align: left;
  font-size: 14px;
}
@media (max-width: 768px) {
  .data-table th,
  .data-table td {
    padding: 10px 8px;
    font-size: 12px;
  }
}
.data-table th.left,
.data-table td.left {
  text-align: left;
}
.data-table th.center,
.data-table td.center {
  text-align: center;
}
.data-table th {
  background-color: #f1f1f1;
  border-bottom: 1px solid #ddd;
}
.data-table td {
  border-bottom: 1px solid #ddd;
}

.pagination {
  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;
  gap: 0.6rem;
  overflow: hidden;
  margin-top: 2rem;
}
.pagination button {
  display: block;
}
.pagination .paging {
  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;
  width: 1.2rem;
  height: 1.2rem;
}
.pagination .paging.current .page-link {
  font-weight: 900;
  color: #0b428a;
}
.pagination .page-link {
  display: block;
  width: 100%;
  height: 100%;
  font-size: 0.75rem;
  font-weight: 700;
  color: #666666;
  letter-spacing: -0.02em;
  text-align: center;
}
.pagination .controller {
  width: 1.2rem;
  height: 1.2rem;
}
.pagination .controller .page-link {
  display: block;
  width: 100%;
  height: 100%;
  text-indent: -9999px;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
}
.pagination .controller.prev .page-link {
  background-image: url("../images/components/icon-pagination-prev.png");
}
.pagination .controller.next .page-link {
  background-image: url("../images/components/icon-pagination-next.png");
}
.pagination .controller.first .page-link {
  background-image: url("../images/components/icon-pagination-first.png");
}
.pagination .controller.last .page-link {
  background-image: url("../images/components/icon-pagination-last.png");
}
.pagination .controller.disabled {
  opacity: 0.4;
}
.pagination .controller.disabled .page-link {
  pointer-events: none;
}

.input-cover {
  position: relative;
}
.input-cover.float {
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.input-cover.float.active .form-label {
  padding: 0 0.2rem;
  left: 0.8rem;
  -webkit-transform: translate3d(0, -26px, 0) scale(0.75);
          transform: translate3d(0, -26px, 0) scale(0.75);
  color: #000;
  background-color: #fff;
}
.input-cover.float.active .required {
  color: #000;
}
.input-cover.float.active .form-input[type=date] {
  color: #000;
}
.input-cover.float.active .form-input::-webkit-input-placeholder {
  color: #999;
  opacity: 1;
}
.input-cover.float.active .form-input::-moz-placeholder {
  color: #999;
  opacity: 1;
}
.input-cover.float.active .form-input:-ms-input-placeholder {
  color: #999;
  opacity: 1;
}
.input-cover.float.active .form-input:-moz-placeholder {
  color: #999;
  opacity: 1;
}
.input-cover.float.active .form-input::-ms-input-placeholder {
  color: #999;
  opacity: 1;
}
.input-cover.float.active .form-input::placeholder {
  color: #999;
  opacity: 1;
}
.input-cover.float .form-label {
  position: absolute;
  top: 0.85rem;
  left: 1rem;
  z-index: 2;
  width: auto;
  margin-bottom: 0;
  -webkit-transform: translate3d(0, 0, 0) scale(1);
          transform: translate3d(0, 0, 0) scale(1);
  -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  transition: -webkit-transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), -webkit-transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  -webkit-transform-origin: left top;
          transform-origin: left top;
  overflow: hidden;
  white-space: nowrap;
  -ms-text-overflow: ellipsis;
  text-overflow: ellipsis;
  background-color: #fff;
}
.input-cover.float .etc-right {
  top: 50%;
  bottom: auto;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.input-cover.focus, .input-cover.open-datepicker {
  border-color: #2c599d;
}
.input-cover.focus .form-label,
.input-cover.focus .required, .input-cover.open-datepicker .form-label,
.input-cover.open-datepicker .required {
  color: #2c599d !important;
}
.input-cover.focus .form-input, .input-cover.open-datepicker .form-input {
  border-color: #2c599d;
}
.input-cover.right-space.small .form-input {
  padding-right: 2.8rem;
}
.input-cover.right-space .form-input {
  padding-right: 4.6rem;
}
.input-cover.error .icon-error {
  display: block;
}
.input-cover.error .form-input {
  padding-right: 2.5rem;
  border-color: #ff5a5f;
}
.input-cover .cover-inner {
  position: relative;
}
.input-cover .form-input {
  display: block;
  position: relative;
  z-index: 1;
  width: 100%;
  min-height: 2.8rem;
  line-height: 2.7rem;
  padding: 0 1rem;
  border: 1px solid #e0e0e3;
  border-radius: 0.2rem;
  font-size: 0.8rem;
  background-color: #fff;
}
.input-cover .form-input::-webkit-input-placeholder {
  color: #999;
  opacity: 1;
}
.input-cover .form-input::-moz-placeholder {
  color: #999;
  opacity: 1;
}
.input-cover .form-input:-ms-input-placeholder {
  color: #999;
  opacity: 1;
}
.input-cover .form-input:-moz-placeholder {
  color: #999;
  opacity: 1;
}
.input-cover .form-input::-ms-input-placeholder {
  color: #999;
  opacity: 1;
}
.input-cover .form-input::placeholder {
  color: #999;
  opacity: 1;
}
.input-cover .form-input:-moz-read-only, .input-cover .form-input:disabled {
  color: #999 !important;
  background-color: #fafafa;
}
.input-cover .form-input:read-only, .input-cover .form-input:disabled {
  color: #999 !important;
  background-color: #fafafa;
}
.input-cover .form-input:-moz-read-only.datepicker-input, .input-cover .form-input:disabled.datepicker-input {
  color: #000 !important;
  background-color: transparent;
}
.input-cover .form-input:read-only.datepicker-input, .input-cover .form-input:disabled.datepicker-input {
  color: #000 !important;
  background-color: transparent;
}
.input-cover .form-input:-moz-read-only.result-file-input, .input-cover .form-input:disabled.result-file-input {
  color: #000 !important;
  background-color: transparent;
}
.input-cover .form-input:read-only.result-file-input, .input-cover .form-input:disabled.result-file-input {
  color: #000 !important;
  background-color: transparent;
}
.input-cover .form-label {
  display: block;
  font-size: 0.8rem;
  margin-bottom: 0.3rem;
  color: #999;
}
.input-cover .required {
  display: inline-block;
  vertical-align: middle;
  font-size: 0.8rem;
  color: #999;
}
.input-cover .etc-right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.4rem;
  position: absolute;
  z-index: 2;
  bottom: 0.75rem;
  right: 1rem;
}
.input-cover .mode-text {
  font-size: 0.8rem;
}
.input-cover .btn-type-change {
  width: 1.2rem;
  height: 1.2rem;
  background-image: url("../images/icon/icon-eye-off.png");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 0 0;
  text-indent: -9999px;
  color: transparent;
}
.input-cover .btn-type-change.type-text {
  background-image: url("../images/icon/icon-eye-on.png");
}
.input-cover .file-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.4rem;
  position: relative;
}
.input-cover .file-wrapper .file-input {
  position: absolute !important;
  display: block;
  width: 0 !important;
  height: 0 !important;
  padding: 0 !important;
  margin: -1px !important;
  border: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  top: 0;
  right: 0;
  z-index: 1;
}
.input-cover .file-wrapper .file-input.focusable:active, .input-cover .file-wrapper .file-input.focusable:focus {
  position: static;
  height: auto;
  width: auto;
  margin: 0;
  clip: auto;
  overflow: visible;
}
.input-cover .file-wrapper .file-input:focus-visible + .btn {
  outline: 2px solid #000;
}
.input-cover .file-wrapper .btn {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 100%;
  max-width: 6rem;
  font-size: 0.8rem;
}
.input-cover.disable-active.float .form-label {
  padding: 0 0.2rem;
  left: 0.8rem;
  -webkit-transform: translate3d(0, -26px, 0) scale(0.75);
          transform: translate3d(0, -26px, 0) scale(0.75);
  color: #999;
}
.input-cover.disable-active .required {
  color: #999;
}

.form-btn-with-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.4rem;
}
.form-btn-with-container .input-cover,
.form-btn-with-container .selectric-container {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.form-btn-with-container .btn {
  width: 100%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.form-btn-with-container.medium .btn {
  max-width: 6rem;
}

.selector-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  row-gap: 0.5rem;
}
.selector-wrapper.horizontal {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-column-gap: 1rem;
     -moz-column-gap: 1rem;
          column-gap: 1rem;
}

.selector-cover {
  line-height: 1;
  font-size: 0;
}
.selector-cover input {
  position: absolute;
  position: absolute !important;
  display: block;
  width: 0 !important;
  height: 0 !important;
  padding: 0 !important;
  margin: -1px !important;
  border: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
}
.selector-cover input.focusable:active, .selector-cover input.focusable:focus {
  position: static;
  height: auto;
  width: auto;
  margin: 0;
  clip: auto;
  overflow: visible;
}
.selector-cover input:focus-visible + .selector-text {
  outline: auto;
  outline-color: -webkit-focus-ring-color;
}
.selector-cover .label {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  position: relative;
  cursor: pointer;
}
.selector-cover .selector-text {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  position: relative;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 0.8rem;
  word-break: keep-all;
}
.selector-cover .selector {
  position: absolute;
  top: 0;
  left: 0;
  border: 1px solid #e0e0e3;
  background-color: transparent;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.selector-cover .selector:after {
  display: block;
  content: "";
  position: absolute;
}
.selector-cover.checkbox .selector {
  border-radius: 0.2rem;
}
.selector-cover.checkbox .selector:after {
  display: none;
  left: calc(50% - 0.25rem);
  top: 50%;
  width: 0.25rem;
  height: 0.5rem;
  border: solid #000;
  border-width: 0 2px 2px 0;
  -webkit-transform: rotate(45deg) translate(-50%, -50%);
          transform: rotate(45deg) translate(-50%, -50%);
}
.selector-cover.checkbox.round .selector-text {
  padding-left: 1.6rem;
  min-height: 1.2rem;
}
.selector-cover.checkbox.round .selector {
  width: 1.2rem;
  height: 1.2rem;
  border: 0;
  border-radius: 0;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  background-image: url("../images/components/icon-checkbox-round-off.png");
}
.selector-cover.checkbox.round input:checked + .selector-text .selector {
  background-image: url("../images/components/icon-checkbox-round-on.png");
}
.selector-cover.checkbox.round input:checked + .selector-text .selector:after {
  display: none;
}
.selector-cover.checkbox.square .selector-text {
  padding-left: 1.6rem;
  min-height: 1.2rem;
}
.selector-cover.checkbox.square .selector {
  width: 1.2rem;
  height: 1.2rem;
  border: 0;
  border-radius: 0;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  background-image: url("../images/components/icon-checkbox-square-off.png");
}
.selector-cover.checkbox.square input:checked + .selector-text .selector {
  background-image: url("../images/components/icon-checkbox-square-on.png");
}
.selector-cover.checkbox.square input:checked + .selector-text .selector:after {
  display: none;
}
.selector-cover.checkbox.solo .selector-text {
  padding-left: 1.2rem;
}
.selector-cover.radio input:checked + .selector-text .selector {
  background-color: #fff;
  border-color: #000;
}
.selector-cover.radio input:checked + .selector-text .selector:after {
  background-color: #000;
}
.selector-cover.radio .selector-text {
  padding-left: 1.4rem;
  min-height: 1rem;
}
.selector-cover.radio .selector {
  height: 1rem;
  width: 1rem;
  border-radius: 50%;
}
.selector-cover.radio .selector:after {
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.4rem;
  height: 0.4rem;
  border-radius: 50%;
  background-color: #fff;
}
.selector-cover.radio.solo .selector-text {
  padding-left: 1.6rem;
}

.form-guide-text {
  display: block;
  font-weight: 300;
  margin-top: 0.6rem;
  font-size: 0.75rem;
}
.form-guide-text + .form-guide-text {
  margin-top: 0.2rem;
}

.form-textarea {
  display: block;
  height: 6rem;
  padding: 0.6rem 1rem;
  border: 1px solid #ddd;
  border-radius: 0.4rem;
  font-size: 0.8rem;
  resize: none;
  overflow: auto;
}
.form-textarea::-webkit-input-placeholder {
  color: #999;
  opacity: 1;
}
.form-textarea::-moz-placeholder {
  color: #999;
  opacity: 1;
}
.form-textarea:-ms-input-placeholder {
  color: #999;
  opacity: 1;
}
.form-textarea:-moz-placeholder {
  color: #999;
  opacity: 1;
}
.form-textarea::-ms-input-placeholder {
  color: #999;
  opacity: 1;
}
.form-textarea::placeholder {
  color: #999;
  opacity: 1;
}
.form-textarea.error {
  border-color: #0b428a;
}
.form-textarea.sm {
  height: 4rem;
  font-size: 0.7rem;
}
.form-textarea.md {
  height: 6rem;
}
.form-textarea.lg {
  height: 10rem;
}
.form-textarea.xl {
  height: 15rem;
}
.form-textarea.full {
  width: 100% !important;
}
.form-textarea:-moz-read-only, .form-textarea:disabled {
  background-color: #f1f1f1;
}
.form-textarea:read-only, .form-textarea:disabled {
  background-color: #f1f1f1;
}

.length-check-cover .count {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-top: 0.6rem;
  font-size: 0.7rem;
  color: #999;
}

.selectric-container {
  position: relative;
}
.selectric-container.active.init-before .selectric .label {
  color: #999;
}
.selectric-container.active.open .select-label {
  z-index: 5;
  color: #2c599d;
}
.selectric-container.active.open .select-label .required {
  color: #2c599d;
}
.selectric-container.active .select-label {
  z-index: 3;
  left: 0.8rem;
  -webkit-transform: translate3d(0, -8px, 0) scale(0.75);
          transform: translate3d(0, -8px, 0) scale(0.75);
  padding: 0 0.2rem;
  background-color: #fff;
}
.selectric-container.active .selectric .label {
  color: #000;
}
.selectric-container.disabled .select-label {
  color: #999;
  background-color: transparent;
}
.selectric-container.disabled .select-label .required {
  color: #999;
}
.selectric-container.error .selectric {
  border-color: #ff5a5f;
}
.selectric-container .selectric-wrapper {
  position: relative;
  z-index: 2;
}
.selectric-container .selectric {
  border: 1px solid #e0e0e3;
  padding-left: 1rem;
  padding-right: 2.6rem;
  border-radius: 0.2rem;
  background-color: #fff;
}
.selectric-container .selectric .button {
  position: absolute;
  top: 50%;
  right: 1rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1rem;
  height: 1rem;
  text-indent: -9999px;
  background-color: transparent;
}
.selectric-container .selectric .button:after {
  width: 1rem;
  height: 1rem;
  border: 0;
  background: url("../images/components/icon-selectbox-arrow.png") no-repeat 0 0;
  background-size: cover;
}
.selectric-container .selectric .label {
  margin: 0;
  color: #999;
}
.selectric-container .selectric .icon-error {
  display: none;
  width: 1.2rem;
  height: 1.2rem;
  position: absolute;
  top: 50%;
  right: 2.6rem;
  z-index: 2;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url("../images/icon/icon-alert-triangle-red-24x24.png") no-repeat 0 0;
  background-size: cover;
}
.selectric-container .selectric-above .selectric-items {
  margin-bottom: 0.35rem;
}
.selectric-container .required {
  display: inline-block;
  font-size: 0.8rem;
  vertical-align: middle;
  color: #999;
}
.selectric-container .selectric-open {
  z-index: 4;
}
.selectric-container .selectric-open .selectric {
  border-color: #2c599d;
}
.selectric-container .selectric-open .selectric .label,
.selectric-container .selectric-open .selectric .required {
  color: #2c599d;
}
.selectric-container .selectric-open .button {
  overflow: hidden;
}
.selectric-container .selectric-open .button:after {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.selectric-container .selectric-disabled {
  opacity: 1;
}
.selectric-container .selectric-disabled .selectric {
  background-color: #fafafa;
}
.selectric-container .selectric-disabled .selectric .label {
  color: #999;
}
.selectric-container .selectric-first-show .selectric-scroll li:first-child {
  display: block;
}
.selectric-container .selectric-scroll li:first-child {
  display: none;
}
.selectric-container .select-label {
  position: absolute;
  top: 0;
  left: 1rem;
  z-index: 1;
  -webkit-transform: translate3d(0, 0, 0) scale(1);
          transform: translate3d(0, 0, 0) scale(1);
  -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  transition: -webkit-transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), -webkit-transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  -webkit-transform-origin: left top;
          transform-origin: left top;
  font-size: 0.8rem;
  color: #000;
  overflow: hidden;
  white-space: nowrap;
  -ms-text-overflow: ellipsis;
  text-overflow: ellipsis;
}
.selectric-container .select-label .required {
  color: #000;
}
.selectric-container .selectric-items {
  max-height: 11.25rem;
  overflow: auto;
  border-radius: 5px;
  border: 0;
  background-color: #fff;
  -webkit-box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.1607843137);
          box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.1607843137);
}
.selectric-container .selectric-items li.selected {
  background-color: #2c599d !important;
  color: #fff !important;
}
.selectric-container .selectric-items li:hover {
  background-color: #fafafa;
}
.selectric-container .selectric-small .label {
  height: 1.5rem;
  line-height: 1.5rem;
  font-size: 0.7rem;
}
.selectric-container .selectric-small .selectric-items li {
  padding: 0.6rem;
  font-weight: 300;
  font-size: 0.7rem;
}
.selectric-container .selectric-medium .label {
  height: 2.7rem;
  line-height: 2.7rem;
  font-size: 0.8rem;
}
.selectric-container .selectric-medium .selectric-items li {
  padding: 0.85rem 1rem;
  font-size: 0.8rem;
}
.selectric-container .selectric-large .label {
  height: 2.6rem;
  line-height: 2.6rem;
  font-size: 0.9rem;
}
.selectric-container .selectric-large .selectric-items li {
  padding: 0.8rem 0.9rem;
  font-weight: 300;
  font-size: 0.9rem;
}

.select-box-container .form-label {
  display: block;
  padding-bottom: 0.15rem;
  font-size: 0.8rem;
}
.select-box-container .form-label .required {
  display: inline-block;
  margin-left: 0.15rem;
  font-weight: 700;
  font-size: 0.8rem;
  color: #0b428a;
  vertical-align: middle;
}
.select-box-container .form-select {
  width: 100%;
  padding-right: 1rem;
  border: 0;
  border-bottom: 1px solid #dbdee5;
  color: #000;
  background: url("../images/components/icon-selectbox-arrow.svg") no-repeat 0 0;
  background-position: center right;
  background-size: 0.5rem 0.5rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.select-box-container.small .form-select {
  height: 1.6rem;
  line-height: 1.6rem;
  font-size: 0.65rem;
}
.select-box-container.small .form-select option {
  font-size: 0.65rem;
}
.select-box-container.medium .form-select {
  height: 2.1rem;
  line-height: 2.1rem;
  font-size: 0.8rem;
}
.select-box-container.medium .form-select option {
  font-size: 0.8rem;
}
.select-box-container.large .form-select {
  height: 2.6rem;
  line-height: 2.6rem;
  font-size: 0.9rem;
}
.select-box-container.large .form-select option {
  font-size: 0.9rem;
}
.select-box-container.active.float .form-label {
  -webkit-transform: translate3d(0, -20px, 0) scale(0.8);
          transform: translate3d(0, -20px, 0) scale(0.8);
}
.select-box-container.float {
  position: relative;
}
.select-box-container.float .form-label {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1;
  width: 100%;
  -webkit-transform: translate3d(0, 0, 0) scale(1);
          transform: translate3d(0, 0, 0) scale(1);
  -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  transition: -webkit-transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), -webkit-transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  -webkit-transform-origin: left top;
          transform-origin: left top;
  font-size: 0.9rem;
  color: #000;
  overflow: hidden;
  white-space: nowrap;
  -ms-text-overflow: ellipsis;
  text-overflow: ellipsis;
}
.select-box-container.float .form-select {
  position: relative;
  z-index: 2;
  background-color: #fff;
}
.select-box-container.float .form-select option:first-child {
  display: none;
}

.font.warning {
  color: #ff9582 !important;
}
.font.slightly {
  color: #888 !important;
}
.font.primary {
  color: #0b428a !important;
}
.font.lightPrimary {
  color: #2979ff !important;
}
.font.danger {
  color: #ff5a5f !important;
}
.font.dark {
  color: #222 !important;
}
.font.lightSlightly {
  color: #a1a1a1 !important;
}
.font.fw700 {
  font-weight: 700 !important;
}

.switch-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.switch-container .switch-icon {
  position: relative;
}
.switch-container .switch-input {
  position: absolute !important;
  display: block;
  width: 0 !important;
  height: 0 !important;
  padding: 0 !important;
  margin: -1px !important;
  border: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
}
.switch-container .switch-input.focusable:active, .switch-container .switch-input.focusable:focus {
  position: static;
  height: auto;
  width: auto;
  margin: 0;
  clip: auto;
  overflow: visible;
}
.switch-container .switch-input:focus-visible + .switch-label {
  outline: auto;
  outline-color: -webkit-focus-ring-color;
}
.switch-container .switch-input:checked + .switch-label .switch-button {
  background: #0b428a;
}
.switch-container .switch-input:checked + .switch-label .btn-on-off {
  left: 0.85rem;
}
.switch-container .switch-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.switch-container .switch-button {
  -webkit-transition: 0.2s;
  transition: 0.2s;
  display: block;
  width: 1.6rem;
  height: 0.9rem;
  position: relative;
  cursor: pointer;
  background: #999;
  border-radius: 50px;
}
.switch-container .btn-on-off {
  -webkit-transition: 0.2s;
  transition: 0.2s;
  position: absolute;
  top: 50%;
  left: 0.15rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: inline-block;
  width: 0.6rem;
  height: 0.6rem;
  border-radius: 50%;
  background: #fff;
  text-indent: -9999px;
}
.switch-container .switch-text {
  margin-left: 0.4rem;
  font-size: 0.75rem;
  cursor: pointer;
}

.rating-select-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.rating-select-container input {
  position: absolute !important;
  display: block;
  width: 0 !important;
  height: 0 !important;
  padding: 0 !important;
  margin: -1px !important;
  border: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
}
.rating-select-container input.focusable:active, .rating-select-container input.focusable:focus {
  position: static;
  height: auto;
  width: auto;
  margin: 0;
  clip: auto;
  overflow: visible;
}
.rating-select-container label {
  -webkit-transition: 0.1s;
  transition: 0.1s;
  display: block;
  position: relative;
  width: 2.3rem;
  height: 2.2rem;
  margin-left: 0.4rem;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: cover;
  background-image: url("../images/components/icon-star-empty.svg");
  text-indent: -9999px;
  cursor: pointer;
}
.rating-select-container label.checked {
  background-image: url("../images/components/icon-star-full.svg");
}
.rating-select-container label:nth-of-type(1) {
  margin-left: 0;
}

.layer-popup {
  visibility: hidden;
  opacity: 0;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  width: 100%;
  height: 100%;
  padding: 1rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.layer-popup.open {
  visibility: visible;
  opacity: 1;
}
.layer-popup.all-show {
  opacity: 1;
  visibility: visible;
  width: auto;
  height: auto;
  position: static;
  border-top: 2px solid #000;
}
.layer-popup .popup-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
  width: 100%;
  max-height: 100%;
  border-radius: 1rem;
  overflow: hidden;
  -webkit-box-shadow: 0px 8px 8px 0px rgba(0, 0, 0, 0.2509803922);
          box-shadow: 0px 8px 8px 0px rgba(0, 0, 0, 0.2509803922);
}
.layer-popup .popup-container.medium {
  max-width: 32rem;
}
.layer-popup .popup-container.small {
  max-width: 23rem;
}
.layer-popup .popup-header {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
  background-color: #fff;
}
.layer-popup .popup-header .btn-close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  z-index: 2;
  width: 1.5rem;
  height: 1.5rem;
  text-indent: -9999px;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: 1.15rem 1.15rem;
  background-image: url("../images/icon/icon-close-bk-23x23.png");
}
.layer-popup .popup-title {
  padding: 1rem;
  text-align: center;
}
.layer-popup .popup-title strong {
  font-size: 1rem;
}
.layer-popup .popup-content {
  height: 100%;
  overflow: auto;
  position: relative;
  background-color: #fff;
}
.layer-popup .popup-inner {
  padding: 2rem;
  position: relative;
}
.layer-popup .popup-footer {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  border-radius: 0 0 1rem 1rem;
  overflow: hidden;
}
.layer-popup .popup-footer .btn-area .btn {
  width: 100%;
  height: 3rem;
  line-height: 3rem;
  text-align: center;
  border: 0;
  font-weight: 700;
  font-size: 0.9rem;
  color: #fff;
}
.layer-popup .popup-footer .btn-area .btn-close {
  background-color: #666;
}
.layer-popup .popup-footer .btn-area .btn-ok {
  background-color: #0b428a;
}
.layer-popup .popup-footer .btn-area.half {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.layer-popup .popup-footer .btn-area.half .btn {
  width: 50%;
}
.layer-popup.full-scroll {
  display: block;
  overflow: auto;
  text-align: center;
  font-size: 0;
}
.layer-popup.full-scroll:before {
  display: inline-block;
  content: "";
  height: 100%;
  vertical-align: middle;
}
.layer-popup.full-scroll .popup-container {
  display: inline-block;
  vertical-align: middle;
  position: relative;
  margin: 0 auto;
  max-height: none;
  border-radius: 1rem;
  font-size: initial;
}
.layer-popup.full-scroll .popup-content {
  height: auto;
  position: relative;
  overflow: visible;
  text-align: left;
}

.layer-popup-dim {
  opacity: 0;
  visibility: hidden;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 998;
  background-color: rgba(0, 0, 0, 0.5);
}
.layer-popup-dim.show {
  -webkit-animation: dimShow 0.3s forwards;
          animation: dimShow 0.3s forwards;
}

@-webkit-keyframes dimShow {
  0% {
    opacity: 0;
    visibility: hidden;
  }
  100% {
    opacity: 1;
    visibility: visible;
  }
}

@keyframes dimShow {
  0% {
    opacity: 0;
    visibility: hidden;
  }
  100% {
    opacity: 1;
    visibility: visible;
  }
}
.scroll-animate {
  opacity: 0;
}
.scroll-animate.show {
  opacity: 1;
}

@-webkit-keyframes fade-in-bottom {
  0% {
    -webkit-transform: translateY(50px);
    transform: translateY(50px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes fade-in-bottom {
  0% {
    -webkit-transform: translateY(50px);
    transform: translateY(50px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
}
@-webkit-keyframes fade-in-right {
  0% {
    -webkit-transform: translateX(50px);
    transform: translateX(50px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes fade-in-right {
  0% {
    -webkit-transform: translateX(50px);
    transform: translateX(50px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1;
  }
}
@-webkit-keyframes shake-horizontal {
  0%, 100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  10%, 30%, 50%, 70% {
    -webkit-transform: translateX(-10px);
    transform: translateX(-10px);
  }
  20%, 40%, 60% {
    -webkit-transform: translateX(10px);
    transform: translateX(10px);
  }
  80% {
    -webkit-transform: translateX(8px);
    transform: translateX(8px);
  }
  90% {
    -webkit-transform: translateX(-8px);
    transform: translateX(-8px);
  }
}
@keyframes shake-horizontal {
  0%, 100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  10%, 30%, 50%, 70% {
    -webkit-transform: translateX(-10px);
    transform: translateX(-10px);
  }
  20%, 40%, 60% {
    -webkit-transform: translateX(10px);
    transform: translateX(10px);
  }
  80% {
    -webkit-transform: translateX(8px);
    transform: translateX(8px);
  }
  90% {
    -webkit-transform: translateX(-8px);
    transform: translateX(-8px);
  }
}
@-webkit-keyframes fade-in-left {
  0% {
    -webkit-transform: translateX(-50px);
    transform: translateX(-50px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes fade-in-left {
  0% {
    -webkit-transform: translateX(-50px);
    transform: translateX(-50px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1;
  }
}
.event-scroll-animate {
  opacity: 0;
}
.event-scroll-animate.show {
  opacity: 1;
}

@-webkit-keyframes fade-in-top {
  0% {
    -webkit-transform: translateY(-50px);
    transform: translateY(-50px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes fade-in-top {
  0% {
    -webkit-transform: translateY(-50px);
    transform: translateY(-50px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
}
@-webkit-keyframes float-ani {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  25% {
    -webkit-transform: translateY(-40px);
    transform: translateY(-40px); /* 위로 떠오르는 높이 */
  }
  50% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  75% {
    -webkit-transform: translateY(40px);
    transform: translateY(40px); /* 아래로 내려가는 높이 */
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@keyframes float-ani {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  25% {
    -webkit-transform: translateY(-40px);
    transform: translateY(-40px); /* 위로 떠오르는 높이 */
  }
  50% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  75% {
    -webkit-transform: translateY(40px);
    transform: translateY(40px); /* 아래로 내려가는 높이 */
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@-webkit-keyframes sway-ani {
  0%, 100% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  25% {
    -webkit-transform: rotate(8deg);
    transform: rotate(8deg); /* 왼쪽으로 기울어짐 */
  }
  50% {
    -webkit-transform: rotate(-8deg);
    transform: rotate(-8deg); /* 오른쪽으로 기울어짐 */
  }
  75% {
    -webkit-transform: rotate(8deg);
    transform: rotate(8deg); /* 다시 왼쪽으로 기울어짐 */
  }
}
@keyframes sway-ani {
  0%, 100% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  25% {
    -webkit-transform: rotate(8deg);
    transform: rotate(8deg); /* 왼쪽으로 기울어짐 */
  }
  50% {
    -webkit-transform: rotate(-8deg);
    transform: rotate(-8deg); /* 오른쪽으로 기울어짐 */
  }
  75% {
    -webkit-transform: rotate(8deg);
    transform: rotate(8deg); /* 다시 왼쪽으로 기울어짐 */
  }
}
@-webkit-keyframes sway-ani-reverse {
  0%, 100% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  25% {
    -webkit-transform: rotate(-8deg);
    transform: rotate(-8deg); /* 왼쪽으로 기울어짐 */
  }
  50% {
    -webkit-transform: rotate(8deg);
    transform: rotate(8deg); /* 오른쪽으로 기울어짐 */
  }
  75% {
    -webkit-transform: rotate(-8deg);
    transform: rotate(-8deg); /* 다시 왼쪽으로 기울어짐 */
  }
}
@keyframes sway-ani-reverse {
  0%, 100% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  25% {
    -webkit-transform: rotate(-8deg);
    transform: rotate(-8deg); /* 왼쪽으로 기울어짐 */
  }
  50% {
    -webkit-transform: rotate(8deg);
    transform: rotate(8deg); /* 오른쪽으로 기울어짐 */
  }
  75% {
    -webkit-transform: rotate(-8deg);
    transform: rotate(-8deg); /* 다시 왼쪽으로 기울어짐 */
  }
}
.fade-in-top {
  -webkit-animation: fade-in-top 0.6s cubic-bezier(0.39, 0.575, 0.565, 1) both;
  animation: fade-in-top 0.6s cubic-bezier(0.39, 0.575, 0.565, 1) both;
}

.fade-in-bottom {
  -webkit-animation: fade-in-bottom 0.6s cubic-bezier(0.39, 0.575, 0.565, 1) both;
  animation: fade-in-bottom 0.6s cubic-bezier(0.39, 0.575, 0.565, 1) both;
}

.fade-in-right {
  -webkit-animation: fade-in-right 0.6s cubic-bezier(0.39, 0.575, 0.565, 1) both;
  animation: fade-in-right 0.6s cubic-bezier(0.39, 0.575, 0.565, 1) both;
}

.fade-in-left {
  -webkit-animation: fade-in-left 0.6s cubic-bezier(0.39, 0.575, 0.565, 1) both;
  animation: fade-in-left 0.6s cubic-bezier(0.39, 0.575, 0.565, 1) both;
}

.shake-horizontal {
  -webkit-animation: shake-horizontal 0.6s cubic-bezier(0.455, 0.03, 0.515, 0.955) both;
  animation: shake-horizontal 0.6s cubic-bezier(0.455, 0.03, 0.515, 0.955) both;
}

::-webkit-scrollbar {
  width: 8px;
  height: 4px;
}

::-webkit-scrollbar-thumb {
  border-radius: 10px;
  background-color: rgba(0, 0, 0, 0.1); /*스크롤바의 색상*/
}

::-webkit-scrollbar-track {
  border-radius: 10px;
  background-color: #ddd; /*스크롤바 트랙 색상*/
}

.swiper-container {
  position: relative;
  overflow: hidden;
}
.swiper-container .swiper-button-next,
.swiper-container .swiper-button-prev {
  width: 70px;
  height: 70px;
  text-indent: -9999px;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
}
.swiper-container .swiper-button-next:after,
.swiper-container .swiper-button-prev:after {
  display: none;
}
.swiper-container .swiper-button-next {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  background-image: url("../images/icon/icon-slider-arrow-next-bk-70x70.png");
}
.swiper-container .swiper-button-prev {
  background-image: url("../images/icon/icon-slider-arrow-prev-bk-70x70.png");
}
.swiper-container .swiper-pagination {
  position: relative;
  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;
  bottom: 0 !important;
  margin-top: 20px;
}
.swiper-container .swiper-pagination .swiper-pagination-bullet {
  display: block;
}

html,
body {
  -webkit-overflow-scrolling: touch;
}
html.scroll-disable,
body.scroll-disable {
  overflow: hidden !important;
}
@media (min-width: 961px) {
  html.scroll-disable.responsive-scroll,
  body.scroll-disable.responsive-scroll {
    overflow: visible !important;
  }
}

.accordion-list {
  overflow: hidden;
}
.accordion-list.active .accordion-header:after {
  -webkit-transform: translateY(-50%) rotate(180deg);
          transform: translateY(-50%) rotate(180deg);
}
.accordion-list .accordion-header {
  display: block;
  position: relative;
  width: 100%;
  padding: 1rem 3rem 1rem 1rem;
  text-align: left;
}
.accordion-list .accordion-header:after {
  display: block;
  content: "";
  width: 1rem;
  height: 1rem;
  position: absolute;
  top: 50%;
  right: 1.2rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-image: url("../images/icon/icon-arrow-down-bk-18x18.png");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 50% 50%;
}
.accordion-list .accordion-body {
  display: none;
}

.mobile-show {
  display: none;
}

@media (max-width: 768px) {
  .pc-show {
    display: none;
  }
  .mobile-show {
    display: block;
  }
}
.ui-tab-content {
  display: none;
}
.ui-tab-content:nth-of-type(1) {
  display: block;
}

.tui-datetime-input {
  width: 100%;
  height: auto;
}

.tui-datepicker {
  z-index: 10;
  font-size: 0.7rem;
}
.tui-datepicker.tui-hidden {
  display: none;
}
.tui-datepicker * {
  font-size: inherit;
}
.tui-datepicker .tui-datepicker-footer .tui-timepicker {
  padding: 10px;
}
.tui-datepicker .tui-timepicker-select {
  width: 64px;
  height: 32px;
}
.tui-datepicker .tui-calendar-sat {
  color: #1c74bc;
}
.tui-datepicker .tui-calendar-sun {
  color: #fc2222;
}
.tui-datepicker .tui-is-blocked {
  color: #ddd !important;
}
.tui-datepicker .tui-calendar-today {
  font-weight: bold;
  background-color: transparent;
  border: 1px solid rgba(11, 66, 138, 0.4);
  border-radius: 50%;
  color: #0b428a;
}
.tui-datepicker .tui-calendar-today:hover {
  background-color: #fff;
}
.tui-datepicker .tui-is-selectable.tui-is-selected,
.tui-datepicker .tui-is-selectable.tui-is-selected {
  background-color: #0b428a !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #fff !important;
}

.tui-timepicker-select {
  font-size: 0.7rem !important;
}

.tui-datepicker-input {
  border: 0;
}
.tui-datepicker-input .datepicker-input {
  font-size: 0.75rem;
}
.tui-datepicker-input .tui-ico-date {
  right: 0.6rem;
  bottom: 0.5rem;
  background-position: -17px -14px !important;
}

.tui-datepicker-type-date {
  width: 245px;
}

.tui-calendar {
  width: 100%;
}
.tui-calendar th,
.tui-calendar td {
  height: 35px;
}

.tui-datepicker-body .tui-timepicker,
.tui-datepicker-footer .tui-timepicker {
  width: 100%;
}

#content .fr-view html,
#content .fr-view body,
#content .fr-view p,
#content .fr-view h1,
#content .fr-view h2,
#content .fr-view h3,
#content .fr-view h4,
#content .fr-view h5,
#content .fr-view h6,
#content .fr-view ul,
#content .fr-view ol,
#content .fr-view li,
#content .fr-view table,
#content .fr-view tr,
#content .fr-view td,
#content .fr-view dl,
#content .fr-view dt,
#content .fr-view dd,
#content .fr-view a,
#content .fr-view img,
#content .fr-view input,
#content .fr-view button,
#content .fr-view select,
#content .fr-view textarea {
  list-style: revert-layer;
  font-family: "HDharmony", arial, sans-serif, Arial, dotum, "돋움";
  font-size: revert;
  font-weight: revert;
  line-height: revert;
  -webkit-text-decoration: revert;
          text-decoration: revert;
  letter-spacing: revert;
}
#content .fr-view h1 {
  font-size: 2em;
}
#content .fr-view ol,
#content .fr-view ul {
  -webkit-padding-start: 0.75rem;
          padding-inline-start: 0.75rem;
}

.common-section-heading--wrap {
  margin-bottom: 2rem;
}
@media screen and (max-width: 768px) {
  .common-section-heading--wrap {
    margin-bottom: 1.2rem;
  }
}
.common-section-heading--wrap .common-section-heading {
  font-size: 1.6rem;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .common-section-heading--wrap .common-section-heading {
    font-size: 1.1rem;
  }
}
.common-section-heading--wrap .common-section-desc {
  font-size: 1rem;
  font-weight: 500;
  color: #222;
  text-align: center;
  margin-top: 1.6rem;
}
@media screen and (max-width: 768px) {
  .common-section-heading--wrap .common-section-desc {
    font-size: 0.8rem;
    margin-top: 1.8rem;
  }
}
.common-section-heading--wrap.type-double-title .common-section-heading {
  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: center;
      -ms-flex-align: center;
          align-items: center;
}
.common-section-heading--wrap.type-double-title .common-section-heading big {
  font-size: 1.6rem !important;
}
@media screen and (max-width: 768px) {
  .common-section-heading--wrap.type-double-title .common-section-heading big {
    font-size: 1.2rem !important;
  }
}
.common-section-heading--wrap.type-double-title .common-section-heading small {
  font-size: 1.2rem;
  font-weight: 500;
  margin-bottom: 0.2rem;
}
@media screen and (max-width: 768px) {
  .common-section-heading--wrap.type-double-title .common-section-heading small {
    font-size: 0.9rem;
  }
}
.common-section-heading--wrap.type-icon {
  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: center;
      -ms-flex-align: center;
          align-items: center;
}
.common-section-heading--wrap.type-icon .common-section-heading {
  position: relative;
  display: inline-block;
}
.common-section-heading--wrap.type-icon .common-section-heading::after {
  content: "";
  position: absolute;
  top: -2.85rem;
  left: calc(100% + 0.5rem);
  width: 5.45rem;
  height: 5.2rem;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  background-image: url("../images/icon/icon-sns-title.png");
}
@media screen and (max-width: 768px) {
  .common-section-heading--wrap.type-icon .common-section-heading::after {
    width: 4rem;
    height: 3.8rem;
    top: -2.3rem;
    left: calc(100% + 0.25rem);
  }
}

body {
  /* 프로젝트 마무리후 비밀번호 삽입시 주석 제거 */
}

html,
body {
  height: 100%;
  overscroll-behavior: none;
}

.section-inner {
  width: 100%;
  margin: 0 auto;
  padding: 0px 1rem;
  max-width: 56rem;
}
@media screen and (max-width: 768px) {
  .section-inner {
    padding: 0 0.8rem;
  }
}

#header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  z-index: 20;
  -webkit-transition: background 0.3s;
  transition: background 0.3s;
}
#header.scroll {
  background: #fff;
}
#header .header-con {
  width: 100%;
  max-width: 72rem;
  height: 4rem;
  padding: 0px 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 auto;
  padding-block: 0.85rem;
}
@media screen and (max-width: 768px) {
  #header .header-con {
    max-width: 100%;
    padding-block: 0;
    height: 3rem;
    padding: 0.8rem;
  }
}
#header .logo {
  width: 5.4rem;
  height: 1.7rem;
}
@media screen and (max-width: 768px) {
  #header .logo {
    width: 3.55rem;
    height: 1.1rem;
  }
}
#header .logo a {
  display: block;
  height: 100%;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  background-image: url("../images/icon/icon-header-logo.png");
}
#header .header-menu .header-menu--wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2rem;
}
#header .header-menu .header-menu--btn {
  font-size: 0.9rem;
  font-weight: 500;
  text-align: center;
  color: #222;
}
@media screen and (max-width: 768px) {
  #header .right-menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0.8rem;
  }
}
#header .btn-apply-happymove2026 {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0.525rem 1.275rem;
  font-size: 0.9rem;
  font-weight: 500;
  text-align: center;
  color: #fff;
  background: #0b428a;
  border-radius: 5rem;
}
@media screen and (max-width: 768px) {
  #header .btn-apply-happymove2026 {
    font-size: 0.6rem;
    padding: 0.275rem 0.775rem;
  }
}
#header .btn-apply-happymove2026.type-disabled {
  pointer-events: none;
  background-color: #4e4e4e;
  color: #bcbcbc;
}
#header .btn-apply-happymove2026.type-disabled .text {
  color: #bcbcbc;
}

.mobile-navigation-menu {
  width: 1rem;
  height: 0.8rem;
  position: relative;
  cursor: pointer;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  background-image: url("../images/icon/icon-mobile-menu.png");
}
.mobile-navigation-menu.active .icon {
  background-color: transparent;
}
.mobile-navigation-menu.active .icon:before {
  top: 0;
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
}
.mobile-navigation-menu.active .icon:after {
  top: 0;
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
}

.all-menu-container {
  display: none;
}
@media screen and (max-width: 768px) {
  .all-menu-container {
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 1000;
    width: 100%;
    height: 100vh;
    right: -100%;
    -webkit-transition: right 0.4s;
    transition: right 0.4s;
    background: #fff;
  }
}
.all-menu-container.open {
  right: 0;
}
.all-menu-container .all-menu--header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0.8rem;
  height: 3rem;
}
.all-menu-container .all-menu--header .logo {
  width: 3.55rem;
  height: 1.1rem;
}
.all-menu-container .all-menu--header .btn-close {
  width: 1rem;
  height: 0.8rem;
  position: relative;
  cursor: pointer;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  background-image: url("../images/icon/icon-mobile-menu.png");
}
.all-menu-container .center-menu {
  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: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: calc(100% - 3rem);
}
.all-menu-container .header-menu--wrap {
  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: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2rem;
}
.all-menu-container .header-menu--btn {
  font-size: 1.1rem;
  font-weight: 500;
  color: #222222;
}
.all-menu-container .apply-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.8rem;
  width: 12rem;
  height: 2.8rem;
  background: #0b428a;
  margin: 0 auto;
  border-radius: 5rem;
  margin-top: 2rem;
}
.all-menu-container .apply-btn .text {
  color: #fff;
  font-size: 1.2rem;
  font-weight: 500;
}
.all-menu-container .apply-btn .icon {
  width: 0.6rem;
  height: 0.8rem;
}
.all-menu-container .apply-btn.type-disabled {
  pointer-events: none;
  background-color: #4e4e4e;
}
.all-menu-container .apply-btn.type-disabled .text {
  color: #bcbcbc;
}

#contentWrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 1920px;
  margin: 0 auto;
  min-height: 100dvh;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

#content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  width: 100%;
}

#footer {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  background: #222;
  padding: 2.85rem 0;
}
@media screen and (max-width: 768px) {
  #footer {
    padding: 3.2rem 0;
  }
}
#footer .footer-con {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 12rem;
}
@media screen and (max-width: 768px) {
  #footer .footer-con {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 0;
  }
}
#footer .logo-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.3rem;
}
@media screen and (max-width: 768px) {
  #footer .logo-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1.2rem;
  }
}
#footer .logo-wrap .footer-logo {
  width: 3.5rem;
  height: 1.05rem;
}
#footer .logo-wrap p {
  font-size: 0.65rem;
  font-weight: 500;
  letter-spacing: 0;
  text-align: center;
  color: #646464;
}
@media screen and (max-width: 768px) {
  #footer .logo-wrap p {
    font-size: 0.6rem;
  }
}
#footer .privacy-link-btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0.35rem 0.925rem;
  font-size: 0.65rem;
  font-weight: 500;
  letter-spacing: 0;
  text-align: center;
  color: #646464;
  border: 1px solid #646464;
}
@media screen and (max-width: 768px) {
  #footer .privacy-link-btn {
    margin-top: 1.2rem;
  }
}

.p-policy .header-menu {
  display: none !important;
}
.p-policy .right-menu {
  display: none !important;
}

#content {
  font-size: 2rem;
}

@media (max-width: 768px) {
  #content {
    font-size: 1rem;
  }
}
.visual {
  position: relative;
}
.visual > .bg-line {
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
  height: 105.9rem;
  z-index: 10;
  pointer-events: none;
}
.visual .mobile-bg--wrap {
  position: relative;
}
.visual .mobile-bg--wrap > .bg-line {
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
  height: 62.35rem;
  z-index: 10;
  pointer-events: none;
}
.visual .visual-con {
  position: relative;
  overflow: hidden;
  padding-top: 7.1rem;
  padding-bottom: 6rem;
}
@media screen and (max-width: 768px) {
  .visual .visual-con {
    padding-top: 7.8rem;
    padding-bottom: 5.2rem;
  }
}
.visual .visual-con .bg-line {
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
  height: 28rem;
}
.visual .visual-con .bg-line img {
  width: 100%;
  height: 100%;
}
.visual .visual-con .ani-con {
  position: relative;
  z-index: 10;
}
.visual .visual-con .visual-title {
  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: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 1.7rem;
}
@media screen and (max-width: 768px) {
  .visual .visual-con .visual-title {
    margin-bottom: 1.75rem;
  }
}
.visual .visual-con .visual-title .top-visual--title {
  font-size: 5rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  color: #51ac33;
  margin-bottom: 0.95rem;
}
@media screen and (max-width: 768px) {
  .visual .visual-con .visual-title .top-visual--title {
    font-size: 2.7rem;
    margin-bottom: 0.5rem;
  }
}
.visual .visual-con .visual-title .center-visual--title {
  font-size: 5.5rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  color: #0b428a;
  margin-bottom: 0.65rem;
}
@media screen and (max-width: 768px) {
  .visual .visual-con .visual-title .center-visual--title {
    font-size: 3rem;
    margin-bottom: 0.6rem;
  }
}
.visual .visual-con .visual-title .bottom-visual--title {
  font-size: 2.6rem;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  color: #0b428a;
}
@media screen and (max-width: 768px) {
  .visual .visual-con .visual-title .bottom-visual--title {
    font-size: 1.4rem;
  }
}
.visual .visual-con .visual-desc {
  font-size: 1.3rem;
  font-weight: 700;
  text-align: center;
  color: #222;
}
@media screen and (max-width: 768px) {
  .visual .visual-con .visual-desc {
    font-size: 0.9rem;
  }
}
.visual .visual-con .apply-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.8rem;
  width: 17.2rem;
  height: 4rem;
  background: #0b428a;
  margin: 0 auto;
  margin-top: 3.35rem;
  border-radius: 5rem;
}
@media screen and (max-width: 768px) {
  .visual .visual-con .apply-btn {
    position: relative;
    width: 9.4rem;
    height: 2.8rem;
    margin-top: 1.75rem;
    z-index: 20;
  }
}
.visual .visual-con .apply-btn .text {
  color: #fff;
  font-size: 1.5rem;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .visual .visual-con .apply-btn .text {
    font-size: 1.1rem;
  }
}
.visual .visual-con .apply-btn .icon {
  width: 0.85rem;
  height: 1.2rem;
}
@media screen and (max-width: 768px) {
  .visual .visual-con .apply-btn .icon {
    width: 0.6rem;
    height: 0.8rem;
  }
}
.visual .visual-con .apply-btn.type-disabled {
  pointer-events: none;
  background-color: #4e4e4e;
}
.visual .visual-con .apply-btn.type-disabled .text {
  color: #bcbcbc;
}
.visual .visual-con .ani-con {
  position: relative;
}
.visual .visual-con .ani-con .ani-object {
  position: absolute;
  z-index: 10;
}
.visual .visual-con .ani-con .ani-object.ani-object01 {
  top: 0.95rem;
  left: 2.15rem;
  width: 10.775rem;
  height: 8.825rem;
}
@media screen and (max-width: 768px) {
  .visual .visual-con .ani-con .ani-object.ani-object01 {
    top: -3.85rem;
    left: 0;
    width: 6.35rem;
    height: 5.2rem;
  }
}
.visual .visual-con .ani-con .ani-object.ani-object02 {
  top: -3.2rem;
  right: 8.55rem;
  width: 11.05rem;
  height: 8.3rem;
}
@media screen and (max-width: 768px) {
  .visual .visual-con .ani-con .ani-object.ani-object02 {
    right: 0;
    width: 5.2rem;
    height: 3.9rem;
  }
}
.visual .visual-con .ani-con .ani-object.ani-object03 {
  bottom: -4.65rem;
  left: -0.2rem;
  width: 15.3rem;
  height: 17.35rem;
}
@media screen and (max-width: 768px) {
  .visual .visual-con .ani-con .ani-object.ani-object03 {
    bottom: -3.45rem;
    left: -2rem;
    width: 7.05rem;
    height: 8rem;
  }
}
.visual .visual-con .ani-con .ani-object.ani-object04 {
  bottom: -4.3rem;
  right: -0.9rem;
  width: 15.95rem;
  height: 16.05rem;
}
@media screen and (max-width: 768px) {
  .visual .visual-con .ani-con .ani-object.ani-object04 {
    bottom: 1.95rem;
    right: -3.15rem;
    width: 7.35rem;
    height: 7.45rem;
  }
}
.visual .timer-con {
  position: relative;
  padding-top: 4rem;
  padding-bottom: 8rem;
  background: #51ac33;
  border-top-left-radius: 4rem;
  border-top-right-radius: 4rem;
}
@media screen and (max-width: 768px) {
  .visual .timer-con {
    padding-top: 2rem;
    padding-bottom: 3.8rem;
    border-top-left-radius: 1.6rem;
    border-top-right-radius: 1.6rem;
    margin-top: -2.3rem;
  }
}
.visual .timer-con .bg-line {
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
  height: 8.5rem;
}
.visual .timer-con .bg-line img {
  width: 100%;
  height: 100%;
}
.visual .timer-con .timer-ani-con {
  position: relative;
  z-index: 10;
}
.visual .timer-con .timer-title {
  font-size: 1.5rem;
  font-weight: 500;
  text-align: center;
  color: #fff;
  margin-bottom: 0.8rem;
}
@media screen and (max-width: 768px) {
  .visual .timer-con .timer-title {
    font-size: 0.8rem;
    font-weight: 500;
    text-align: center;
    margin-bottom: 0.4rem;
  }
}
.visual .timer-con .timer-box {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.visual .timer-con .timer-box-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  text-align: center;
}
.visual .timer-con .timer-box-item > div {
  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;
  font-size: 5rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .visual .timer-con .timer-box-item > div {
    font-size: 2.4rem;
  }
}
.visual .timer-con .timer-box-item > div span {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  letter-spacing: 0.04em;
}
.visual .timer-con .line {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 5rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.04em;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .visual .timer-con .line {
    font-size: 2.4rem;
  }
}
.visual .timer-con .desc {
  font-size: 0.9rem;
  font-weight: 400;
  text-align: center;
  color: #b5e0a0;
}
@media screen and (max-width: 768px) {
  .visual .timer-con .desc {
    font-size: 0.55rem;
  }
}
.visual .program-con {
  position: relative;
  background: #eaffe0;
  border-radius: 4rem;
  padding-top: 6rem;
  padding-bottom: 4rem;
  margin-top: -4rem;
}
@media screen and (max-width: 768px) {
  .visual .program-con {
    border-radius: 1.6rem;
    padding-top: 2.8rem;
    padding-bottom: 4rem;
    margin-top: -1.2rem;
  }
}
.visual .program-con .bg-line {
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
  height: 40.8rem;
}
.visual .program-con .bg-line img {
  width: 100%;
  height: 100%;
}
.visual .program-con .program-ani-con {
  position: relative;
  z-index: 10;
}
.visual .program-con .program-con-headgin--wrap h2 {
  font-size: 2.8rem;
  font-weight: 700;
  letter-spacing: -0.04em;
  text-align: center;
  color: #0b428a;
  margin-bottom: 1.2rem;
}
@media screen and (max-width: 768px) {
  .visual .program-con .program-con-headgin--wrap h2 {
    font-size: 1.4rem;
  }
}
.visual .program-con .program-con-headgin--wrap .desc-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.6rem;
}
.visual .program-con .program-con-headgin--wrap .desc-wrap p {
  font-size: 1rem;
  font-weight: 400;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .visual .program-con .program-con-headgin--wrap .desc-wrap p {
    font-size: 0.7rem;
    line-height: 1.6;
  }
}
.visual .program-con .program-con-headgin--wrap .desc-wrap p strong {
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .visual .program-con .program-con-headgin--wrap .desc-wrap p strong {
    font-weight: 500;
  }
}
.visual .program-con .program-box--wrap {
  margin-top: 2.8rem;
}
.visual .program-con .program-box--wrap h6 {
  font-size: 1.3rem;
  font-weight: 700;
  text-align: center;
  color: #0b428a;
  margin-bottom: 1.2rem;
}
@media screen and (max-width: 768px) {
  .visual .program-con .program-box--wrap h6 {
    font-size: 1.1rem;
    margin-bottom: 1.9rem;
  }
}
.visual .program-con .program-box--wrap .program-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background: #fff;
  border-bottom-right-radius: 1.2rem;
  border-bottom-left-radius: 1.2rem;
  -webkit-box-shadow: 0px 8px 0px 0px rgba(0, 0, 0, 0.1490196078);
          box-shadow: 0px 8px 0px 0px rgba(0, 0, 0, 0.1490196078);
}
@media screen and (max-width: 768px) {
  .visual .program-con .program-box--wrap .program-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    border-radius: 0;
    background: none;
    -webkit-box-shadow: none;
            box-shadow: none;
  }
}
.visual .program-con .program-box--wrap .program-list--item {
  position: relative;
  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: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 1.2rem;
  padding-bottom: 1.6rem;
}
@media screen and (max-width: 768px) {
  .visual .program-con .program-box--wrap .program-list--item {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    background: #fff;
    border-radius: 1.2rem;
    padding: 1.2rem;
  }
}
.visual .program-con .program-box--wrap .program-list--item::after {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 0;
  width: 1px;
  height: calc(100% - 2.8rem);
  background: #dee7f3;
}
@media screen and (max-width: 768px) {
  .visual .program-con .program-box--wrap .program-list--item:nth-child(1) {
    margin-bottom: 1.9rem;
  }
  .visual .program-con .program-box--wrap .program-list--item:nth-child(1)::after {
    display: none;
  }
}
.visual .program-con .program-box--wrap .program-list--item:nth-child(2)::after, .visual .program-con .program-box--wrap .program-list--item:nth-child(3)::after {
  height: calc(100% - 6.6rem);
  top: 5rem;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
@media screen and (max-width: 768px) {
  .visual .program-con .program-box--wrap .program-list--item:nth-child(2)::after, .visual .program-con .program-box--wrap .program-list--item:nth-child(3)::after {
    height: 1px;
    width: calc(100% - 2.4rem);
    left: 50%;
    top: auto;
    bottom: 0;
    -webkit-transform: translateX(-50%) translateY(0);
            transform: translateX(-50%) translateY(0);
  }
}
@media screen and (max-width: 768px) {
  .visual .program-con .program-box--wrap .program-list--item:nth-child(2), .visual .program-con .program-box--wrap .program-list--item:nth-child(3), .visual .program-con .program-box--wrap .program-list--item:nth-child(4) {
    border-radius: 0;
  }
}
@media screen and (max-width: 768px) {
  .visual .program-con .program-box--wrap .program-list--item:nth-child(2) {
    border-top-left-radius: 1.2rem;
    border-top-right-radius: 1.2rem;
  }
}
.visual .program-con .program-box--wrap .program-list--item:nth-child(2) .mobile-only-show {
  display: none;
}
@media screen and (max-width: 768px) {
  .visual .program-con .program-box--wrap .program-list--item:nth-child(2) .mobile-only-show {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media screen and (max-width: 768px) {
  .visual .program-con .program-box--wrap .program-list--item:nth-child(3) .num {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .visual .program-con .program-box--wrap .program-list--item:nth-child(4) {
    border-bottom-left-radius: 1.2rem;
    border-bottom-right-radius: 1.2rem;
    margin-bottom: 1.9rem;
  }
  .visual .program-con .program-box--wrap .program-list--item:nth-child(4)::after {
    display: none;
  }
}
.visual .program-con .program-box--wrap .program-list--item:last-child::after {
  display: none;
}
.visual .program-con .program-box--wrap .program-list--item .num {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 6px solid rgba(255, 255, 255, 0.2509803922);
  background: #0b428a;
  font-size: 0.8rem;
  font-weight: 700;
  text-align: center;
  color: #fff;
  border-radius: 5rem;
  width: 2.8rem;
  height: 2.8rem;
  margin-bottom: 1rem;
}
@media screen and (max-width: 768px) {
  .visual .program-con .program-box--wrap .program-list--item .num {
    position: absolute;
    top: -1.1rem;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 2.2rem;
    height: 2.2rem;
    font-size: 0.7rem;
    margin-bottom: 0;
  }
}
.visual .program-con .program-box--wrap .program-list--item .num.transparent {
  background: transparent;
  border-color: transparent;
}
@media screen and (max-width: 768px) {
  .visual .program-con .program-box--wrap .program-list--item .num.transparent {
    display: none;
  }
}
.visual .program-con .program-box--wrap .program-list--item small {
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 0.8rem;
}
@media screen and (max-width: 768px) {
  .visual .program-con .program-box--wrap .program-list--item small {
    font-size: 0.9rem;
  }
}
.visual .program-con .program-box--wrap .program-list--item small .mark {
  position: relative;
  z-index: 10;
}
.visual .program-con .program-box--wrap .program-list--item small .mark::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: calc(100% + 0.2rem);
  height: 0.5rem;
  background: #deff9b;
  z-index: -1;
}
.visual .program-con .program-box--wrap .program-list--item .icon {
  width: 6rem;
  height: 6rem;
  margin-bottom: 0.6rem;
}
@media screen and (max-width: 768px) {
  .visual .program-con .program-box--wrap .program-list--item .icon {
    position: absolute;
    bottom: 1.2rem;
    right: 1.2rem;
    width: 4.5rem;
    height: 4.5rem;
  }
}
.visual .program-con .program-box--wrap .program-list--item .desc-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.4rem;
}
.visual .program-con .program-box--wrap .program-list--item .desc-wrap .date {
  font-size: 0.9rem;
  font-weight: 500;
  color: #0b428a;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .visual .program-con .program-box--wrap .program-list--item .desc-wrap .date {
    font-size: 0.8rem;
    text-align: left;
  }
}
.visual .program-con .program-box--wrap .program-list--item .desc-wrap .detail-desc {
  font-size: 0.8rem;
  font-weight: 400;
  line-height: 1.6;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .visual .program-con .program-box--wrap .program-list--item .desc-wrap .detail-desc {
    font-size: 0.7rem;
    text-align: left;
  }
}
.visual .program-con .info-text--wrap {
  margin-top: 1.2rem;
}
@media screen and (max-width: 768px) {
  .visual .program-con .info-text--wrap {
    margin-top: 0.8rem;
  }
}
.visual .program-con .info-text--wrap p {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.6;
  text-align: center;
  color: #5a5a5a;
}
@media screen and (max-width: 768px) {
  .visual .program-con .info-text--wrap p {
    font-size: 0.55rem;
    word-break: keep-all;
  }
}
@media screen and (max-width: 768px) {
  .visual .program-con .info-text--wrap p.danger {
    letter-spacing: -0.03em;
  }
}
.visual .activity-benefit-con {
  padding-top: 10rem;
  padding-bottom: 6rem;
  background: #51ac33;
  margin-top: -4rem;
}
@media screen and (max-width: 768px) {
  .visual .activity-benefit-con {
    padding-top: 5.6rem;
    padding-bottom: 4rem;
    margin-top: -3.1rem;
  }
}
.visual .activity-benefit-con .benefit-con--title {
  width: 100%;
  max-width: 48rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.8rem;
  margin: 0 auto;
}
.visual .activity-benefit-con .benefit-con--title small {
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .visual .activity-benefit-con .benefit-con--title small {
    font-size: 1.1rem;
  }
}
.visual .activity-benefit-con .benefit-con--title .line {
  width: 100%;
  height: 0.05rem;
  background: rgba(255, 255, 255, 0.5);
}
.visual .activity-benefit-con .benefit-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.2rem;
  margin-top: 1.6rem;
}
@media screen and (max-width: 768px) {
  .visual .activity-benefit-con .benefit-list {
    gap: 0.8rem;
    margin-top: 1.2rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.visual .activity-benefit-con .benefit-list--item {
  position: relative;
  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: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  width: 11rem;
  height: 11rem;
  border: 12px solid #c4f39f;
  background: #f4ffeb;
  border-radius: 10rem;
}
@media screen and (max-width: 768px) {
  .visual .activity-benefit-con .benefit-list--item {
    width: 7.6rem;
    height: 7.6rem;
    border-width: 8px;
  }
}
.visual .activity-benefit-con .benefit-list--item .icon {
  position: absolute;
  top: 0.45rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 6rem;
  height: 6rem;
}
@media screen and (max-width: 768px) {
  .visual .activity-benefit-con .benefit-list--item .icon {
    top: 0.5rem;
    width: 3.6rem;
    height: 3.6rem;
  }
}
.visual .activity-benefit-con .benefit-list--item .text {
  font-size: 0.9rem;
  font-weight: 500;
  color: #0b428a;
  text-align: center;
  margin-bottom: 0.85rem;
}
@media screen and (max-width: 768px) {
  .visual .activity-benefit-con .benefit-list--item .text {
    font-size: 0.7rem;
    margin-bottom: 0.5rem;
  }
}
.visual .activity-benefit-con .selection-box {
  position: relative;
  width: 100%;
  max-width: 48rem;
  margin: 0 auto;
  margin-top: 4rem;
  border-radius: 15rem;
  background: #f4ffeb;
  padding: 2rem;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .visual .activity-benefit-con .selection-box {
    margin-top: 1.6rem;
    border-radius: 0.8rem;
    max-width: 100%;
    padding: 2rem 1rem;
  }
}
.visual .activity-benefit-con .selection-box::before {
  content: "";
  position: absolute;
  width: 11.05rem;
  height: 8.3rem;
  top: 0.2rem;
  right: 3rem;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  background-image: url("../images/icon/icon-airplane.png");
  z-index: 10;
}
@media screen and (max-width: 768px) {
  .visual .activity-benefit-con .selection-box::before {
    top: 0.1rem;
    right: -0.05rem;
    width: 5.55rem;
    height: 4.2rem;
  }
}
.visual .activity-benefit-con .selection-box::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 5.3rem;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  background-image: url("../images/main/bg-selection.png");
}
@media screen and (max-width: 768px) {
  .visual .activity-benefit-con .selection-box::after {
    height: 5.2rem;
    background-image: url("../images/main/bg-selection-mo.png");
  }
}
.visual .activity-benefit-con .selection-box .selection-box-con {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2rem;
}
@media screen and (max-width: 768px) {
  .visual .activity-benefit-con .selection-box .selection-box-con {
    position: relative;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    z-index: 10;
    gap: 1.6rem;
  }
}
.visual .activity-benefit-con .selection-box .left-cate {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 8rem;
  height: 8rem;
  font-size: 1.3rem;
  font-weight: 700;
  background: #c4f39f;
  color: #000;
  border-radius: 10rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .visual .activity-benefit-con .selection-box .left-cate {
    width: auto;
    height: auto;
    padding: 0.4rem 1.2rem;
    font-size: 1rem;
  }
}
.visual .activity-benefit-con .selection-box .right-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.2rem;
}
@media screen and (max-width: 768px) {
  .visual .activity-benefit-con .selection-box .right-text {
    gap: 0.8rem;
  }
}
.visual .activity-benefit-con .selection-box .right-text big {
  font-size: 2rem;
  font-weight: 500;
  color: #0b428a;
}
@media screen and (max-width: 768px) {
  .visual .activity-benefit-con .selection-box .right-text big {
    font-size: 1.6rem;
    text-align: center;
  }
}
.visual .activity-benefit-con .selection-box .right-text .desc-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.visual .activity-benefit-con .selection-box .right-text .desc-wrap p {
  font-size: 0.75rem;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .visual .activity-benefit-con .selection-box .right-text .desc-wrap p {
    font-size: 0.55rem;
    text-align: center;
  }
}

.selection-schedule-section {
  padding: 6rem 0;
  background: #fff;
}
@media screen and (max-width: 768px) {
  .selection-schedule-section {
    padding: 4rem 0;
  }
}
.selection-schedule-section .schedule-list-box {
  background: rgba(76, 152, 252, 0.1019607843);
  padding: 2.8rem;
  border-radius: 1rem;
}
@media screen and (max-width: 768px) {
  .selection-schedule-section .schedule-list-box {
    padding: 2.8rem 0.8rem;
    border-radius: 0.8rem;
  }
}
.selection-schedule-section .schedule-list--wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.8rem;
}
@media screen and (max-width: 768px) {
  .selection-schedule-section .schedule-list--wrap {
    gap: 2.4rem 1.3rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.selection-schedule-section .schedule-list--item {
  position: relative;
  -webkit-box-shadow: 0px 4px 0px 0px rgba(0, 0, 0, 0.2509803922);
          box-shadow: 0px 4px 0px 0px rgba(0, 0, 0, 0.2509803922);
  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: center;
      -ms-flex-align: center;
          align-items: center;
  background: #fff;
  border-radius: 1.2rem;
  padding-top: 2.2rem;
  padding-bottom: 1.6rem;
  gap: 0.6rem;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 768px) {
  .selection-schedule-section .schedule-list--item {
    -webkit-box-flex: 1;
        -ms-flex: auto;
            flex: auto;
    width: calc((100% - 1.3rem) / 2);
    border-radius: 0.8rem;
    padding-top: 1.2rem;
    padding-bottom: 1.45rem;
  }
}
.selection-schedule-section .schedule-list--item::after {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: calc(100% + 1.125rem);
  width: 0.55rem;
  height: 0.8rem;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  background-image: url("../images/icon/icon-right-primary.png");
}
@media screen and (max-width: 768px) {
  .selection-schedule-section .schedule-list--item::after {
    width: 0.45rem;
    height: 0.7rem;
    left: calc(100% + 0.4rem);
  }
}
@media screen and (max-width: 768px) {
  .selection-schedule-section .schedule-list--item:nth-child(2)::after, .selection-schedule-section .schedule-list--item:nth-child(4)::after {
    display: none;
  }
}
.selection-schedule-section .schedule-list--item:last-child::after {
  display: none;
}
.selection-schedule-section .schedule-list--item .step-text {
  position: absolute;
  top: -0.8rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 4rem;
  height: 1.6rem;
  background: #0b428a;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 0.7rem;
  color: #fff;
  border-radius: 5rem;
}
@media screen and (max-width: 768px) {
  .selection-schedule-section .schedule-list--item .step-text {
    font-size: 0.65rem;
    width: 4.1rem;
    height: 1.5rem;
  }
}
.selection-schedule-section .schedule-list--item big {
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  color: #231f20;
}
@media screen and (max-width: 768px) {
  .selection-schedule-section .schedule-list--item big {
    font-size: 0.8rem;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}
.selection-schedule-section .schedule-list--item .icon {
  width: 4rem;
  height: 4rem;
}
@media screen and (max-width: 768px) {
  .selection-schedule-section .schedule-list--item .icon {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}
.selection-schedule-section .schedule-list--item .desc {
  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: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.2rem;
}
@media screen and (max-width: 768px) {
  .selection-schedule-section .schedule-list--item .desc {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
}
.selection-schedule-section .schedule-list--item .desc p {
  font-size: 0.8rem;
  font-weight: 500;
  line-height: 1.6;
  color: #0b428a;
}
@media screen and (max-width: 768px) {
  .selection-schedule-section .schedule-list--item .desc p {
    font-size: 0.7rem;
    text-align: center;
  }
}
.selection-schedule-section .schedule-list--item .desc small {
  font-size: 0.65rem;
  font-weight: 400;
  color: #ff5a5f;
}
@media screen and (max-width: 768px) {
  .selection-schedule-section .schedule-list--item .desc small {
    font-size: 0.55rem;
    text-align: center;
  }
}
.selection-schedule-section .info-text {
  font-size: 0.8rem;
  font-weight: 400;
  text-align: center;
  margin-top: 0.8rem;
}
@media screen and (max-width: 768px) {
  .selection-schedule-section .info-text {
    font-size: 0.6rem;
  }
}

.recommend-post-section {
  padding: 6rem 0;
  background: #edf5ff;
}
@media screen and (max-width: 768px) {
  .recommend-post-section {
    padding: 4rem 0;
  }
}
.recommend-post-section .recommend-view-list--wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.2rem;
}
.recommend-post-section .recommend-view-list--wrap + .recommend-view-list--wrap {
  margin-top: 1.2rem;
}
.recommend-post-section .recommend-item {
  width: 17.2rem;
  height: 20rem;
  padding: 0 1.3rem;
  padding-top: 2.6rem;
  padding-bottom: 1.9rem;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}
@media screen and (max-width: 768px) {
  .recommend-post-section .recommend-item {
    width: 14.8rem;
    height: 17.2rem;
    padding: 0 1rem;
    padding-top: 2rem;
    padding-bottom: 1.2rem;
    margin: 0 auto;
  }
}
.recommend-post-section .recommend-item.green {
  background-image: url("../images/main/bg-memo-green.png");
}
.recommend-post-section .recommend-item.green .text-line-wrap strong {
  color: #51ac33;
}
.recommend-post-section .recommend-item.blue {
  background-image: url("../images/main/bg-memo-blue.png");
}
.recommend-post-section .recommend-item.blue .text-line-wrap strong {
  color: #407afe;
}
.recommend-post-section .recommend-item .recommend-item-text-box {
  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-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  height: 100%;
}
.recommend-post-section .recommend-item .text-line-wrap {
  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: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0.3rem;
}
.recommend-post-section .recommend-item .text-line-wrap p {
  font-size: 0.8rem;
  font-weight: 400;
  word-break: keep-all;
  letter-spacing: -0.04em;
}
@media screen and (max-width: 768px) {
  .recommend-post-section .recommend-item .text-line-wrap p {
    font-size: 0.7rem;
  }
}
.recommend-post-section .recommend-item .text-line-wrap p strong {
  line-height: 1.6;
  text-decoration: underline;
  text-underline-offset: 0.15rem;
}
.recommend-post-section .recommend-item .text-info-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.8rem;
  padding-top: 0.8rem;
  border-top: 1px dashed #e0e0e0;
}
@media screen and (max-width: 768px) {
  .recommend-post-section .recommend-item .text-info-wrap {
    padding-top: 0.6rem;
  }
}
.recommend-post-section .recommend-item .text-info-wrap .profile {
  width: 2.8rem;
  height: 2.8rem;
}
@media screen and (max-width: 768px) {
  .recommend-post-section .recommend-item .text-info-wrap .profile {
    width: 2.3rem;
    height: 2.3rem;
  }
}
.recommend-post-section .recommend-item .text-info-wrap .profile-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.1rem;
}
.recommend-post-section .recommend-item .text-info-wrap .profile-info p {
  font-size: 0.7rem;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .recommend-post-section .recommend-item .text-info-wrap .profile-info p {
    font-size: 0.55rem;
  }
}
.recommend-post-section .recommend-item .text-info-wrap .profile-info p.name {
  color: #666666;
}
.recommend-post-section .swiper-pagination {
  margin-top: 0.8rem;
}
.recommend-post-section .swiper-pagination .swiper-pagination-bullet {
  width: 0.4rem;
  height: 0.4rem;
  background: rgba(11, 66, 138, 0.3);
  opacity: 1;
  margin: 0 0.3rem;
}
.recommend-post-section .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: #0b428a;
}
.recommend-post-section .recommend-view--wrap {
  position: relative;
}
.recommend-post-section .recommend-view--wrap.mobile-show .swiper-button-next,
.recommend-post-section .recommend-view--wrap.mobile-show .swiper-button-prev {
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  margin-top: 0;
  width: 1.5rem;
  height: 1.5rem;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url("../images/icon/icon-swiper-arrow.png");
  margin-top: -5%;
}
.recommend-post-section .recommend-view--wrap.mobile-show .swiper-button-next::after,
.recommend-post-section .recommend-view--wrap.mobile-show .swiper-button-prev::after {
  display: none;
}
.recommend-post-section .recommend-view--wrap.mobile-show .swiper-button-prev {
  left: -0.8rem;
  -webkit-transform: translateY(-50%) rotate(180deg);
          transform: translateY(-50%) rotate(180deg);
}
.recommend-post-section .recommend-view--wrap.mobile-show .swiper-button-next {
  right: -0.8rem;
  -webkit-transform: translateY(-50%) rotate(0);
          transform: translateY(-50%) rotate(0);
}

.faq-and-inquiry-section {
  padding: 6rem 0;
}
@media screen and (max-width: 768px) {
  .faq-and-inquiry-section {
    padding: 4rem 0;
  }
}
@media screen and (max-width: 768px) {
  .faq-and-inquiry-section .faq-con .common-section-heading--wrap {
    margin-bottom: 0.8rem;
  }
}
@media screen and (max-width: 768px) {
  .faq-and-inquiry-section .faq-con .common-section-heading--wrap .common-section-heading {
    text-align: left;
  }
}
.faq-and-inquiry-section .faq-con .accordion-container {
  border-top: 3px solid #000;
}
.faq-and-inquiry-section .faq-con .accordion-list {
  border-bottom: 1px solid rgba(0, 0, 0, 0.3);
}
.faq-and-inquiry-section .faq-con .accordion-list.active .accordion-header .accordion-header--title {
  font-weight: 500;
}
.faq-and-inquiry-section .faq-con .accordion-header {
  padding: 1.225rem 2rem;
}
@media screen and (max-width: 768px) {
  .faq-and-inquiry-section .faq-con .accordion-header {
    padding: 0.8rem 0;
  }
}
.faq-and-inquiry-section .faq-con .accordion-header .accordion-header--title {
  font-size: 1.1rem;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .faq-and-inquiry-section .faq-con .accordion-header .accordion-header--title {
    font-size: 0.8rem;
  }
}
.faq-and-inquiry-section .faq-con .accordion-header::after {
  width: 1.5rem;
  height: 1.5rem;
}
@media screen and (max-width: 768px) {
  .faq-and-inquiry-section .faq-con .accordion-header::after {
    right: 0;
  }
}
.faq-and-inquiry-section .faq-con .accordion-body {
  padding: 0 2rem;
  padding-bottom: 1.2rem;
}
@media screen and (max-width: 768px) {
  .faq-and-inquiry-section .faq-con .accordion-body {
    padding: 0;
    padding-bottom: 0.8rem;
  }
}
.faq-and-inquiry-section .faq-con .accordion-body .accordion-body--text {
  font-size: 0.9rem;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .faq-and-inquiry-section .faq-con .accordion-body .accordion-body--text {
    font-size: 0.7rem;
    line-height: 1.6;
  }
}
.faq-and-inquiry-section .inquiry-con {
  margin-top: 6rem;
}
@media screen and (max-width: 768px) {
  .faq-and-inquiry-section .inquiry-con {
    margin-top: 6.3rem;
  }
}
.faq-and-inquiry-section .inquiry-con .inquiry-text-box--wrap {
  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: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  max-width: 26.4rem;
  margin: 0 auto;
  padding: 2rem 0;
  background: #eaf6fd;
  border-radius: 1rem;
}
.faq-and-inquiry-section .inquiry-con .inquiry-text-box--wrap .text-box--title {
  font-size: 1.1rem;
  font-weight: 500;
  color: #0b428a;
  margin-bottom: 0.2rem;
}
@media screen and (max-width: 768px) {
  .faq-and-inquiry-section .inquiry-con .inquiry-text-box--wrap .text-box--title {
    font-size: 0.8rem;
  }
}
.faq-and-inquiry-section .inquiry-con .inquiry-text-box--wrap .text-box--desc {
  font-size: 1.2rem;
  font-weight: 500;
  color: #2979ff;
}
@media screen and (max-width: 768px) {
  .faq-and-inquiry-section .inquiry-con .inquiry-text-box--wrap .text-box--desc {
    font-size: 1rem;
  }
}
.faq-and-inquiry-section .inquiry-con .inquiry-sns-box--wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.6rem;
  margin-top: 2.8rem;
}
@media screen and (max-width: 768px) {
  .faq-and-inquiry-section .inquiry-con .inquiry-sns-box--wrap {
    margin-top: 4rem;
  }
}
.faq-and-inquiry-section .inquiry-con .inquiry-sns-box--wrap .inquiry-sns--button {
  width: 3.2rem;
  height: 3.2rem;
  text-indent: -9999px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}
.faq-and-inquiry-section .inquiry-con .inquiry-sns-box--wrap .inquiry-sns--button.inquiry-sns-youtube {
  background-image: url("../images/icon/icon-sns-youtube.png");
}
.faq-and-inquiry-section .inquiry-con .inquiry-sns-box--wrap .inquiry-sns--button.inquiry-sns-insta {
  background-image: url("../images/icon/icon-sns-insta.png");
}
.faq-and-inquiry-section .inquiry-con .inquiry-sns-box--wrap .inquiry-sns--button.inquiry-sns-blog {
  background-image: url("../images/icon/icon-sns-blog.png");
}
.faq-and-inquiry-section .inquiry-con .mobile-icon--wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.faq-and-inquiry-section .inquiry-con .mobile-icon--wrap .logo-icon--wrap + .logo-icon--wrap {
  margin-top: 1.6rem;
}
.faq-and-inquiry-section .inquiry-con .logo-icon--wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3.9rem;
  margin-top: 6rem;
}
@media screen and (max-width: 768px) {
  .faq-and-inquiry-section .inquiry-con .logo-icon--wrap {
    margin-top: 4rem;
    gap: 1.6rem 1.2rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.faq-and-inquiry-section .inquiry-con .logo-icon--wrap .logo-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.faq-and-inquiry-section .inquiry-con .logo-icon--wrap .logo-item.logo-item01 {
  width: 5.4rem;
}
@media screen and (max-width: 768px) {
  .faq-and-inquiry-section .inquiry-con .logo-icon--wrap .logo-item.logo-item01 {
    width: 3.78rem;
  }
}
.faq-and-inquiry-section .inquiry-con .logo-icon--wrap .logo-item.logo-item02 {
  width: 6.15rem;
}
@media screen and (max-width: 768px) {
  .faq-and-inquiry-section .inquiry-con .logo-icon--wrap .logo-item.logo-item02 {
    width: 4.2rem;
  }
}
.faq-and-inquiry-section .inquiry-con .logo-icon--wrap .logo-item.logo-item03 {
  width: 8rem;
}
@media screen and (max-width: 768px) {
  .faq-and-inquiry-section .inquiry-con .logo-icon--wrap .logo-item.logo-item03 {
    width: 5.6rem;
  }
}
.faq-and-inquiry-section .inquiry-con .logo-icon--wrap .logo-item.logo-item04 {
  width: 5rem;
}
@media screen and (max-width: 768px) {
  .faq-and-inquiry-section .inquiry-con .logo-icon--wrap .logo-item.logo-item04 {
    width: 3.5rem;
  }
}

.floating-box {
  opacity: 0;
  -webkit-transform: translateY(50px);
          transform: translateY(50px);
  position: fixed;
  right: 1.6rem;
  bottom: 3.4rem;
  z-index: 99;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.floating-box.show {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.floating-box-top-btn {
  font-size: 0;
}
.floating-box-top-btn .btn {
  display: inline-block;
  width: 2.4rem;
  height: 2.4rem;
  background-image: url("../images/icon/img-top-go-btn.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  border: none;
}
.floating-box-top-btn .btn span {
  position: absolute !important;
  display: block;
  width: 0 !important;
  height: 0 !important;
  padding: 0 !important;
  margin: -1px !important;
  border: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
}
.floating-box-top-btn .btn span.focusable:active, .floating-box-top-btn .btn span.focusable:focus {
  position: static;
  height: auto;
  width: auto;
  margin: 0;
  clip: auto;
  overflow: visible;
}

@media (max-width: 1000px) {
  .floating-box {
    right: 0.8rem;
    bottom: 1.2rem;
  }
  .floating-box-top-btn .btn {
    width: 1.6rem;
    height: 1.6rem;
  }
}
.policy-content {
  padding-top: 6.85rem;
}
@media (max-width: 1320px) {
  .policy-content {
    padding-top: 4rem;
  }
}

.policy-title {
  text-align: center;
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.policy-wrap {
  padding-top: 4rem;
}
.policy-wrap + .policy-wrap {
  padding-top: 2rem;
}
@media (max-width: 1320px) {
  .policy-wrap {
    padding-top: 2rem;
  }
  .policy-wrap + .policy-wrap {
    padding-top: 1rem;
  }
}

.policy-wrap:last-child {
  padding-bottom: 4rem;
}
@media (max-width: 1320px) {
  .policy-wrap:last-child {
    padding-bottom: 2rem;
  }
}

.policy-wrap .policy-hd-tit {
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}
@media (max-width: 1320px) {
  .policy-wrap .policy-hd-tit {
    font-size: 0.8rem;
  }
}

.policy-wrap .policy-txt {
  padding-top: 1rem;
  font-size: 0.7rem;
  letter-spacing: -0.02em;
}
@media (max-width: 1320px) {
  .policy-wrap .policy-txt {
    padding-top: 0.5rem;
    font-size: 0.6rem;
  }
}

.policy-tbl {
  margin-top: 1rem;
  table-layout: fixed;
  width: 100%;
}
@media (max-width: 1320px) {
  .policy-tbl {
    margin-top: 0.5rem;
  }
}

.policy-tbl td,
.policy-tbl th {
  padding: 0.5rem;
  vertical-align: middle;
  font-size: 0.7rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: -0.02em;
  word-break: keep-all;
  border: 1px solid #000;
}
.policy-tbl td small,
.policy-tbl th small {
  font-size: 0.55rem;
}
@media (max-width: 1320px) {
  .policy-tbl td,
  .policy-tbl th {
    padding: 0.25rem;
    font-size: 0.55rem;
  }
  .policy-tbl td small,
  .policy-tbl th small {
    font-size: 0.5rem;
  }
}

.policy-tbl thead th {
  font-weight: 400;
  background-color: #f2f4f6;
}

.policy-tbl tbody td,
.policy-tbl tbody th {
  border-bottom: 1px solid #000;
}

.policy-tbl strong {
  text-decoration: underline;
  font-size: 0.75rem;
}
@media (max-width: 1320px) {
  .policy-tbl strong {
    font-size: 0.6rem;
  }
}

@media (max-width: 1320px) {
  .col-width01 {
    width: 30%;
  }
  .col-width02 {
    width: 45%;
  }
  .col-width03 {
    width: 60%;
  }
  .col-width04 {
    width: 45%;
  }
}