html {
  box-sizing: border-box;
  scroll-behavior: smooth
}

body {
  margin: 0
}

.top_bar {
  background: linear-gradient(135deg, #EDEEF1 0%, #fff 100%);
  border-bottom: 2px solid #D81F66;
  padding: 24px 0;
  position: relative
}

.top_bar::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, #D81F66 0%, #097B80 100%)
}

.top_inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 36px;
  flex-wrap: wrap
}

.brand_zone {
  display: flex;
  align-items: center;
  gap: 24px;
  position: relative
}

.brand_zone::after {
  content: '';
  position: absolute;
  right: -18px;
  top: 50%;
  transform: translateY(-50%);
  width: 2px;
  height: 48px;
  background: linear-gradient(180deg, transparent 0%, #097B80 50%, transparent 100%)
}

.logo_frame {
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #097B80;
  background: #fff;
  box-shadow: 0 3px 5px 0 #d81f660d 0 6px 22px 0 #d81f6617;
  border-radius: 2px;
  transition: transform .28s ease-out, box-shadow .28s ease-out
}

.logo_frame:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 22px 0 #d81f6617 0 9px 52px 0 #d81f661f
}

.logo_frame img {
  width: 56px;
  height: 56px;
  object-fit: contain
}

.nav_links {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  flex: 1;
  justify-content: center
}

.nav_links a {
  font-family: 'Ubuntu Mono', monospace;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: .015em;
  color: #097B80;
  text-decoration: none;
  padding: 12px 24px;
  border-radius: 20px;
  background: transparent;
  transition: background .22s ease-out, color .22s ease-out, transform .18s ease-out;
  position: relative;
  overflow: hidden
}

.nav_links a::before {
  content: '';
  position: absolute;
  top: 0;
  right: 100%;
  width: 100%;
  height: 100%;
  background: #D81F66;
  transition: right .35s ease-out;
  z-index: -1
}

.nav_links a:hover::before,
.nav_links a:focus::before {
  right: 0
}

.nav_links a:hover,
.nav_links a:focus {
  color: #fff;
  transform: translateY(-1px)
}

.nav_links a:focus {
  outline: none;
  border: 2px solid #097B80;
  background: #D81F66
}

.location_display {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: 'Ubuntu Mono', monospace;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: .012em;
  color: #097B80;
  padding: 12px 24px;
  background: #fff;
  border: 2px solid #EDEEF1;
  border-radius: 20px;
  box-shadow: 0 3px 5px 0 #097b800d;
  transition: box-shadow .25s ease-out, border-color .25s ease-out
}

.location_display:hover {
  border-color: #097B80;
  box-shadow: 0 6px 22px 0 #097b8017
}

.location_display i {
  font-size: 16px;
  color: #D81F66
}

@media (max-width: 768px) {
  .top_bar {
    padding: 24px 0
  }

  .top_inner {
    flex-direction: column;
    align-items: stretch;
    gap: 24px
  }

  .brand_zone {
    justify-content: center
  }

  .brand_zone::after {
    display: none
  }

  .nav_links {
    flex-direction: column;
    align-items: stretch;
    gap: 12px
  }

  .nav_links a {
    text-align: center;
    padding: 12px 24px
  }

  .location_display {
    justify-content: center;
    text-align: center
  }
}

@media (min-width: 769px) and (max-width: 1024px) {
  .nav_links {
    gap: 4px
  }

  .nav_links a {
    padding: 12px;
    font-size: 13px
  }
}

.base_floor {
  background: linear-gradient(180deg, #097B80 0%, #075d61 100%);
  padding: 72px 0 36px;
  position: relative;
  overflow: hidden
}

.base_floor::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, #D81F66 0%, #097B80 50%, #D81F66 100%)
}

.base_floor::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 280px;
  height: 280px;
  background: radial-gradient(circle at top right, #d81f6614 0%, transparent 70%);
  pointer-events: none
}

.base_inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 72px;
  position: relative
}

.brand_col {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.ftr_logo_frame {
  width: 58px;
  height: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #EDEEF1;
  background: #fff;
  border-radius: 2px;
  box-shadow: 0 3px 5px 0 #d81f660d 0 6px 22px 0 #d81f6617
}

.ftr_logo_frame img {
  width: 54px;
  height: 54px;
  object-fit: contain
}

.brand_name {
  font-family: 'Ubuntu Mono', monospace;
  font-size: 37px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: .018em;
  color: #fff;
  margin: 0
}

.brand_desc {
  font-family: 'Ubuntu Mono', monospace;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: .015em;
  color: #EDEEF1;
  max-width: 420px
}

.links_col {
  display: flex;
  flex-direction: column;
  gap: 36px;
  align-items: flex-end
}

.ftr_nav {
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: flex-end
}

.ftr_nav a {
  font-family: 'Ubuntu Mono', monospace;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: .015em;
  color: #EDEEF1;
  text-decoration: none;
  padding: 8px 24px;
  border-radius: 20px;
  background: #edeef114;
  transition: background .27s ease-out, color .27s ease-out, transform .19s ease-out;
  position: relative;
  overflow: hidden
}

.ftr_nav a::before {
  content: '';
  position: absolute;
  top: 0;
  right: 100%;
  width: 100%;
  height: 100%;
  background: #D81F66;
  transition: right .38s ease-out;
  z-index: 0
}

.ftr_nav a:hover::before,
.ftr_nav a:focus::before {
  right: 0
}

.ftr_nav a:hover,
.ftr_nav a:focus {
  color: #fff;
  background: #edeef11f;
  transform: translateX(-4px)
}

.ftr_nav a:focus {
  outline: none;
  border: 2px solid #EDEEF1
}

.contact_grid {
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: flex-end
}

.contact_item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: 'Ubuntu Mono', monospace;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: .012em;
  color: #EDEEF1;
  text-decoration: none;
  padding: 8px 12px;
  border-radius: 20px;
  background: #edeef10f;
  transition: background .24s ease-out, transform .17s ease-out
}

.contact_item i {
  font-size: 14px;
  color: #D81F66
}

.contact_item:hover,
.contact_item:focus {
  background: #edeef11f;
  transform: translateX(-3px)
}

.contact_item:focus {
  outline: none;
  border: 2px solid #D81F66
}

.copyright_bar {
  margin-top: 36px;
  padding-top: 24px;
  border-top: 2px solid #edeef126;
  text-align: center;
  font-family: 'Ubuntu Mono', monospace;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: .012em;
  color: #edeef1b3
}

@media (max-width: 768px) {
  .base_floor {
    padding: 48px 0 24px
  }

  .base_inner {
    grid-template-columns: 1fr;
    gap: 48px
  }

  .brand_col {
    align-items: center;
    text-align: center
  }

  .brand_desc {
    max-width: 100%
  }

  .links_col {
    align-items: center
  }

  .ftr_nav {
    align-items: center
  }

  .contact_grid {
    align-items: center
  }

  .contact_item:hover,
  .contact_item:focus {
    transform: translateX(0) translateY(-2px)
  }

  .ftr_nav a:hover,
  .ftr_nav a:focus {
    transform: translateX(0) translateY(-2px)
  }
}

@media (min-width: 769px) and (max-width: 1024px) {
  .base_inner {
    gap: 48px
  }
}

.consent_bar {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background: #fff;
  border-top: 2px solid #D81F66;
  box-shadow: 0 -6px 22px 0 #097b8017 0 -9px 52px 0 #097b801f;
  z-index: 8000;
  padding: 24px;
  opacity: 0;
  transform: translateY(100%);
  transition: opacity .26s ease-out, transform .26s ease-out;
  display: none
}

.consent_bar.show_consent {
  opacity: 1;
  transform: translateY(0);
  display: block
}

.consent_wrap {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 24px
}

.consent_top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap
}

.consent_text {
  flex: 1;
  min-width: 280px
}

.consent_headline {
  font-family: 'Ubuntu Mono', monospace;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: .016em;
  color: #097B80;
  margin: 0 0 8px
}

.consent_desc {
  font-family: 'Ubuntu Mono', monospace;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: .012em;
  color: #097B80;
  margin: 0
}

.consent_actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap
}

.consent_btn {
  font-family: 'Ubuntu Mono', monospace;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: .015em;
  padding: 12px 36px;
  border: 2px solid #D81F66;
  background: transparent;
  color: #D81F66;
  border-radius: 20px;
  cursor: pointer;
  transition: background .31s ease-out, color .31s ease-out, border-color .31s ease-out, transform .21s ease-out;
  position: relative;
  overflow: hidden
}

.consent_btn::before {
  content: '';
  position: absolute;
  top: 0;
  right: 100%;
  width: 100%;
  height: 100%;
  background: #D81F66;
  transition: right .39s ease-out;
  z-index: -1
}

.consent_btn:hover::before,
.consent_btn:focus::before {
  right: 0
}

.consent_btn:hover,
.consent_btn:focus {
  color: #fff;
  transform: translateY(-2px)
}

.consent_btn:focus {
  outline: none;
  border-color: #097B80
}

.consent_btn.alt_style {
  border-color: #097B80;
  color: #097B80
}

.consent_btn.alt_style::before {
  background: #097B80
}

.consent_btn.alt_style:hover,
.consent_btn.alt_style:focus {
  color: #fff
}

.consent_expand_trigger {
  font-family: 'Ubuntu Mono', monospace;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: .012em;
  color: #097B80;
  background: transparent;
  border: none;
  cursor: pointer;
  text-decoration: underline;
  padding: 8px 12px;
  transition: color .23s ease-out
}

.consent_expand_trigger:hover,
.consent_expand_trigger:focus {
  color: #D81F66
}

.consent_expand_trigger:focus {
  outline: 2px solid #D81F66;
  outline-offset: 2px
}

.consent_details {
  display: none;
  padding: 24px;
  background: #EDEEF1;
  border-radius: 2px;
  border: 2px solid #097B80
}

.consent_details.expanded_view {
  display: block
}

.consent_category {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px
}

.consent_category:last-child {
  margin-bottom: 0
}

.consent_checkbox {
  width: 20px;
  height: 20px;
  cursor: pointer;
  accent-color: #D81F66
}

.consent_checkbox:disabled {
  cursor: not-allowed;
  opacity: .5
}

.consent_label {
  font-family: 'Ubuntu Mono', monospace;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: .015em;
  color: #097B80;
  cursor: pointer
}

.consent_label.disabled_label {
  cursor: not-allowed;
  opacity: .5
}

.consent_policy_link {
  font-family: 'Ubuntu Mono', monospace;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: .012em;
  color: #097B80;
  text-decoration: underline;
  margin-top: 12px;
  display: inline-block;
  transition: color .23s ease-out
}

.consent_policy_link:hover,
.consent_policy_link:focus {
  color: #D81F66
}

@media (max-width: 768px) {
  .consent_bar {
    padding: 24px 12px
  }

  .consent_top {
    flex-direction: column;
    align-items: stretch
  }

  .consent_actions {
    flex-direction: column;
    align-items: stretch
  }

  .consent_btn {
    width: 100%;
    text-align: center
  }
}

.policy-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 72px 24px;
  background: #fff
}

@media (max-width: 768px) {
  .policy-inner {
    padding: 36px 12px
  }
}

.policy-inner h1 {
  font-size: 52px;
  line-height: 1.1;
  letter-spacing: .01em;
  color: #097B80;
  margin: 0 0 36px
}

@media (max-width: 768px) {
  .policy-inner h1 {
    font-size: 37px
  }
}

.policy-inner h2 {
  font-size: 37px;
  line-height: 1.1;
  letter-spacing: .01em;
  color: #D81F66;
  margin: 72px 0 24px
}

@media (max-width: 768px) {
  .policy-inner h2 {
    font-size: 37px;
    margin: 36px 0 24px
  }
}

.policy-inner h3 {
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: .015em;
  color: #097B80;
  margin: 36px 0 12px;
  font-weight: 600
}

.policy-inner h4 {
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: .015em;
  color: #333;
  margin: 24px 0 12px;
  font-weight: 600
}

.policy-inner h5 {
  font-size: 14px;
  line-height: 1.55;
  letter-spacing: .02em;
  color: #333;
  margin: 24px 0 8px;
  font-weight: 600
}

.policy-inner h6 {
  font-size: 14px;
  line-height: 1.55;
  letter-spacing: .02em;
  color: #666;
  margin: 24px 0 8px;
  font-weight: 600
}

.policy-inner p {
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: .015em;
  color: #333;
  margin: 0 0 24px
}

.policy-inner ul,
.policy-inner ol {
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: .015em;
  color: #333;
  margin: 0 0 24px;
  padding: 0 0 0 24px
}

.policy-inner li {
  margin: 0 0 8px;
  padding: 0 0 0 4px
}

.policy-inner li:last-child {
  margin-bottom: 0
}

.policy-inner ul ul,
.policy-inner ol ol,
.policy-inner ul ol,
.policy-inner ol ul {
  margin: 8px 0
}

.policy-inner strong,
.policy-inner b {
  font-weight: 600;
  color: #097B80
}

.policy-inner em,
.policy-inner i {
  font-style: italic;
  color: #555
}

.policy-inner a {
  color: #D81F66;
  text-decoration: none;
  border-bottom: 1px solid #d81f664d;
  transition: border-color .2s ease-out, color .2s ease-out
}

.policy-inner a:hover {
  color: #097B80;
  border-bottom-color: #097b8080
}

.policy-inner a:focus {
  outline: 2px solid #D81F66;
  outline-offset: 2px
}

@media (max-width: 768px) {

  .policy-inner p,
  .policy-inner ul,
  .policy-inner ol {
    font-size: 14px
  }

  .policy-inner ul,
  .policy-inner ol {
    padding-left: 20px
  }
}

.gds_dtl {
  background: #FFF;
  color: #1d1d1d;
  max-width: 1280px;
  margin: 0 auto
}

.gds_dtl .top_band {
  position: relative;
  display: flex;
  flex-direction: column;
  background: linear-gradient(167deg, #EDEEF1 0%, #FFF 68%);
  padding: 24px;
  overflow: hidden;
  min-height: 280px
}

.gds_dtl .top_band::before {
  content: '';
  position: absolute;
  top: 12px;
  right: 12px;
  width: 180px;
  height: 180px;
  background-image: radial-gradient(circle, #D81F66 1px, transparent 1px), radial-gradient(circle, #D81F66 1px, transparent 1px);
  background-size: 12px 12px;
  background-position: 0 0, 6px 6px;
  opacity: .08;
  pointer-events: none
}

.gds_dtl .txt_zone {
  position: relative;
  z-index: 2;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-bottom: 24px
}

.gds_dtl .main_ttl {
  font-size: 52px;
  line-height: 1.1;
  letter-spacing: .01em;
  color: #097B80;
  margin: 0 0 24px;
  max-width: 880px
}

.gds_dtl .brief_list {
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: .015em;
  color: #2d2d2d;
  margin: 0;
  max-width: 720px
}

.gds_dtl .brief_list p {
  margin: 0 0 12px
}

.gds_dtl .brief_list p:last-child {
  margin-bottom: 0
}

.gds_dtl .img_wrap {
  position: relative;
  width: 100%;
  max-width: 420px;
  align-self: flex-end;
  margin-top: 24px
}

.gds_dtl .img_wrap::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at center, transparent 45%, #edeef1b3 85%);
  pointer-events: none
}

.gds_dtl .hero_pic {
  display: block;
  width: 100%;
  height: auto;
  border: 2px solid #EDEEF1;
  border-radius: 2px;
  object-fit: cover
}

.gds_dtl .article_body {
  background: #FFF;
  padding: 72px 24px
}

.gds_dtl .content_flow {
  max-width: 820px;
  margin: 0 auto
}

.gds_dtl .content_flow h2 {
  font-size: 37px;
  line-height: 1.1;
  letter-spacing: .012em;
  color: #D81F66;
  margin: 0 0 24px;
  text-transform: uppercase
}

.gds_dtl .content_flow h3 {
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: .015em;
  color: #097B80;
  margin: 36px 0 12px;
  font-weight: 600
}

.gds_dtl .content_flow h4 {
  font-size: 14px;
  line-height: 1.55;
  letter-spacing: .015em;
  color: #2d2d2d;
  margin: 24px 0 8px;
  font-weight: 600
}

.gds_dtl .content_flow p {
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: .015em;
  color: #2d2d2d;
  margin: 0 0 24px
}

.gds_dtl .content_flow ul {
  margin: 0 0 24px;
  padding-left: 24px
}

.gds_dtl .content_flow li {
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: .015em;
  color: #2d2d2d;
  margin-bottom: 8px
}

.gds_dtl .content_flow code {
  background: #EDEEF1;
  padding: 4px 8px;
  border-radius: 2px;
  font-size: 14px;
  color: #097B80
}

.gds_dtl .content_flow cite {
  display: block;
  font-size: 14px;
  line-height: 1.55;
  letter-spacing: .015em;
  color: #666;
  font-style: italic;
  margin: 12px 0;
  padding-left: 24px;
  border-left: 4px solid #D81F66
}

.gds_dtl .content_flow blockquote {
  background: linear-gradient(118deg, #097b800a 0%, #edeef199 100%);
  padding: 24px;
  margin: 36px 0;
  border-radius: 2px;
  border-left: 4px solid #097B80;
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: .015em;
  color: #2d2d2d
}

.gds_dtl .content_flow time {
  display: inline-block;
  font-size: 13px;
  line-height: 1.55;
  letter-spacing: .02em;
  color: #666;
  background: #EDEEF1;
  padding: 4px 12px;
  border-radius: 20px;
  margin: 8px 0
}

.gds_dtl .poll_sec {
  position: relative;
  background: linear-gradient(0deg, #FFF 0%, #d81f6608 100%);
  padding: 72px 24px;
  overflow: hidden
}

.gds_dtl .poll_sec::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 600px;
  height: 600px;
  transform: translate(-50%, -50%);
  background-image: url("data:image/svg+xml,%3Csvg width='600' height='600' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M 300 300 Q 300 200 400 200 Q 500 200 500 300 Q 500 400 400 400 Q 300 400 300 500 Q 300 600 200 600 Q 100 600 100 500 Q 100 400 0 400' fill='none' stroke='%23097B80' stroke-width='1' opacity='0.06'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  pointer-events: none;
  opacity: .4;
  animation: spiral_drift 45s linear infinite
}

@keyframes spiral_drift {
  0% {
    transform: translate(-50%, -50%) translateY(0)
  }

  100% {
    transform: translate(-50%, -50%) translateY(-72px)
  }
}

.gds_dtl .poll_container {
  max-width: 680px;
  margin: 0 auto;
  position: relative;
  z-index: 2
}

.gds_dtl .poll_hdr {
  font-size: 37px;
  line-height: 1.1;
  letter-spacing: .012em;
  color: #D81F66;
  margin: 0 0 36px;
  text-align: center
}

.gds_dtl .poll_form {
  background: #FFF;
  padding: 36px 24px;
  border-radius: 20px;
  box-shadow: 0 6px 22px 0 #d81f6617
}

.gds_dtl .poll_q {
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: .015em;
  color: #2d2d2d;
  margin: 0 0 24px;
  font-weight: 600
}

.gds_dtl .opt_wrap {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 36px
}

.gds_dtl .opt_item {
  position: relative
}

.gds_dtl .opt_item input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none
}

.gds_dtl .opt_lbl {
  display: flex;
  align-items: center;
  padding: 12px 24px;
  background: #EDEEF1;
  border: 2px solid transparent;
  border-radius: 2px;
  cursor: pointer;
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: .015em;
  color: #2d2d2d;
  transition: background-color .2s ease-out, border-color .25s ease-out, transform .18s ease-out
}

.gds_dtl .opt_lbl::before {
  content: '';
  display: inline-block;
  width: 20px;
  height: 20px;
  border: 2px solid #097B80;
  border-radius: 0;
  margin-right: 12px;
  flex-shrink: 0;
  background: #FFF;
  transition: background-color .22s ease-out, border-color .22s ease-out
}

.gds_dtl .opt_item input[type="radio"]:checked+.opt_lbl {
  background: #097b8014;
  border-color: #097B80;
  transform: translateX(4px)
}

.gds_dtl .opt_item input[type="radio"]:checked+.opt_lbl::before {
  background: #097B80;
  border-color: #097B80
}

.gds_dtl .opt_lbl:hover {
  background: #097b800d;
  border-color: #097b804d
}

.gds_dtl .opt_item input[type="radio"]:focus+.opt_lbl {
  outline: 2px solid #D81F66;
  outline-offset: 2px
}

.gds_dtl .submit_row {
  display: flex;
  justify-content: center
}

.gds_dtl .submit_btn {
  background: linear-gradient(to right, #D81F66 0%, #D81F66 50%, #097B80 50%, #097B80 100%);
  background-size: 200% 100%;
  background-position: left;
  color: #FFF;
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: .015em;
  padding: 12px 36px;
  border: 0;
  border-radius: 2px;
  cursor: pointer;
  transition: background-position .35s ease-out, box-shadow .28s ease-out;
  box-shadow: 0 3px 5px 0 #d81f660d
}

.gds_dtl .submit_btn:hover {
  background-position: right;
  box-shadow: 0 6px 22px 0 #097b8017
}

.gds_dtl .submit_btn:active {
  transform: translateY(1px);
  box-shadow: 0 3px 5px 0 #097b800d
}

.gds_dtl .divider_strip {
  height: 8px;
  background: linear-gradient(90deg, #D81F66 0%, #097B80 100%);
  margin: 0
}

@media (max-width: 768px) {
  .gds_dtl .top_band {
    min-height: auto;
    padding: 24px 12px
  }

  .gds_dtl .main_ttl {
    font-size: 37px
  }

  .gds_dtl .brief_list {
    font-size: 14px
  }

  .gds_dtl .img_wrap {
    max-width: 100%;
    margin-top: 24px
  }

  .gds_dtl .article_body {
    padding: 36px 12px
  }

  .gds_dtl .content_flow h2 {
    font-size: 37px
  }

  .gds_dtl .poll_sec {
    padding: 36px 12px
  }

  .gds_dtl .poll_hdr {
    font-size: 37px
  }

  .gds_dtl .poll_form {
    padding: 24px 12px
  }
}

@media (min-width: 769px) and (max-width: 1024px) {
  .gds_dtl .top_band {
    flex-direction: row;
    align-items: center;
    gap: 36px
  }

  .gds_dtl .txt_zone {
    flex: 1;
    padding-bottom: 0
  }

  .gds_dtl .img_wrap {
    flex-shrink: 0;
    margin-top: 0;
    max-width: 320px
  }
}

@media (min-width: 1025px) {
  .gds_dtl .top_band {
    flex-direction: row;
    align-items: center;
    gap: 72px;
    padding: 36px 72px
  }

  .gds_dtl .txt_zone {
    flex: 1;
    padding-bottom: 0
  }

  .gds_dtl .img_wrap {
    flex-shrink: 0;
    margin-top: 0
  }
}

@media print {

  .gds_dtl .top_band::before,
  .gds_dtl .poll_sec::before {
    display: none
  }

  .gds_dtl .img_wrap::after {
    display: none
  }

  .gds_dtl .poll_sec {
    display: none
  }

  .gds_dtl .divider_strip {
    display: none
  }

  .gds_dtl .top_band {
    background: #FFF;
    border-bottom: 2px solid #2d2d2d;
    padding: 24px
  }

  .gds_dtl .article_body {
    padding: 36px 24px
  }

  .gds_dtl .content_flow blockquote {
    background: #FFF;
    border: 1px solid #2d2d2d
  }

  .gds_dtl .hero_pic {
    border: 1px solid #2d2d2d
  }

  .gds_dtl .submit_btn {
    display: none
  }
}

.gds_dtl ::selection {
  background: #D81F66;
  color: #FFF
}

.gds_dtl input::placeholder {
  color: #7d7d7d
}

.gds_dtl input[type="text"],
.gds_dtl input[type="email"],
.gds_dtl textarea {
  box-shadow: inset 0 2px 4px 0 #097b800f
}

.cmplnc_pg {
  background: #FFF;
  color: #1d1d1d;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0
}

.cmplnc_pg .hdr_bnr {
  position: relative;
  padding: 72px 24px;
  overflow: hidden;
  background: linear-gradient(127deg, #D81F66 0%, #097B80 100%);
  animation: temp_shift 8000ms ease-in-out infinite alternate
}

@keyframes temp_shift {
  0% {
    background: linear-gradient(127deg, #D81F66 0%, #097B80 100%)
  }

  100% {
    background: linear-gradient(127deg, #097B80 0%, #D81F66 100%)
  }
}

.cmplnc_pg .hdr_bnr::before {
  content: '';
  position: absolute;
  top: 24px;
  left: 24px;
  right: 24px;
  bottom: 24px;
  border: 1px solid #ffffff4d;
  pointer-events: none;
  border-radius: 2px
}

.cmplnc_pg .hdr_bnr::after {
  content: '';
  position: absolute;
  top: 28px;
  left: 28px;
  right: 28px;
  bottom: 28px;
  border: 1px solid #ffffff26;
  pointer-events: none;
  border-radius: 2px
}

.cmplnc_pg .hdr_cntnt {
  position: relative;
  z-index: 1;
  max-width: 840px;
  margin: 0 auto;
  text-align: center
}

.cmplnc_pg .hdr_cntnt h1 {
  font-size: 52px;
  line-height: 1.1;
  letter-spacing: .01em;
  color: #FFF;
  margin: 0 0 24px;
  padding: 0
}

.cmplnc_pg .hdr_cntnt .desc_txt {
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: .015em;
  color: #fffffff2;
  margin: 0;
  padding: 0
}

.cmplnc_pg .stndrd_sctn {
  padding: 72px 24px;
  background: #FFF;
  position: relative
}

.cmplnc_pg .stndrd_sctn::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 280px;
  height: 1px;
  background-image: radial-gradient(circle, #EDEEF1 2px, transparent 2px);
  background-size: 12px 12px;
  background-repeat: repeat-x
}

.cmplnc_pg .stndrd_wrp {
  max-width: 920px;
  margin: 0 auto
}

.cmplnc_pg .stndrd_wrp h2 {
  font-size: 37px;
  line-height: 1.1;
  letter-spacing: .012em;
  color: #1d1d1d;
  margin: 0 0 8px;
  padding: 0;
  position: relative;
  display: inline-block
}

.cmplnc_pg .stndrd_wrp h2::before {
  content: '';
  position: absolute;
  top: -12px;
  left: 0;
  width: 72px;
  height: 4px;
  background: #D81F66;
  border-radius: 2px
}

.cmplnc_pg .stndrd_wrp p {
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: .015em;
  color: #2d2d2d;
  margin: 0 0 24px;
  padding: 0
}

.cmplnc_pg .stndrd_wrp p:last-child {
  margin-bottom: 0
}

.cmplnc_pg .crd_grd {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin: 36px 0 0
}

.cmplnc_pg .mtrc_crd {
  background: #EDEEF1;
  padding: 24px;
  border-radius: 2px;
  position: relative;
  overflow: hidden;
  transition: transform .28s ease-out
}

.cmplnc_pg .mtrc_crd::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 4px;
  height: 100%;
  background: #D81F66;
  transition: left .35s ease-out
}

.cmplnc_pg .mtrc_crd:hover::before {
  left: 0
}

.cmplnc_pg .mtrc_crd:hover {
  transform: translateY(-4px)
}

.cmplnc_pg .mtrc_num {
  font-size: 37px;
  line-height: 1.1;
  letter-spacing: .01em;
  color: #097B80;
  margin: 0 0 8px;
  font-weight: 700
}

.cmplnc_pg .mtrc_lbl {
  font-size: 14px;
  line-height: 1.55;
  letter-spacing: .015em;
  color: #3d3d3d;
  margin: 0
}

.cmplnc_pg .vsl_sctn {
  padding: 72px 24px;
  background: #fafbfc;
  position: relative
}

.cmplnc_pg .vsl_sctn::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: linear-gradient(45deg, transparent 48%, #097b8005 48%, #097b8005 52%, transparent 52%);
  background-size: 36px 36px;
  pointer-events: none
}

.cmplnc_pg .vsl_sctn::after {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 280px;
  height: 1px;
  background-image: radial-gradient(circle, #EDEEF1 2px, transparent 2px);
  background-size: 12px 12px;
  background-repeat: repeat-x
}

.cmplnc_pg .vsl_wrp {
  max-width: 1120px;
  margin: 0 auto;
  position: relative;
  z-index: 1
}

.cmplnc_pg .vsl_lyt {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 36px;
  align-items: center
}

.cmplnc_pg .vsl_txt h2 {
  font-size: 37px;
  line-height: 1.1;
  letter-spacing: .012em;
  color: #1d1d1d;
  margin: 0 0 24px;
  padding: 0
}

.cmplnc_pg .vsl_txt p {
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: .015em;
  color: #2d2d2d;
  margin: 0 0 24px;
  padding: 0
}

.cmplnc_pg .vsl_txt p:last-child {
  margin-bottom: 0
}

.cmplnc_pg .img_frm {
  position: relative;
  overflow: hidden;
  border-radius: 20px;
  border: 2px solid #EDEEF1;
  box-shadow: 0 9px 52px 0 #097b801f
}

.cmplnc_pg .img_frm img {
  width: 100%;
  height: 420px;
  object-fit: cover;
  display: block;
  animation: slow_zoom 12000ms ease-in-out infinite alternate
}

@keyframes slow_zoom {
  0% {
    transform: scale(1)
  }

  100% {
    transform: scale(1.08)
  }
}

.cmplnc_pg .img_frm::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 120px;
  height: 120px;
  background: transparent;
  border-top: 3px solid #d81f6666;
  border-right: 3px solid #d81f6666;
  border-radius: 0 20px 0 0;
  pointer-events: none;
  z-index: 1
}

.cmplnc_pg .img_frm::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 120px;
  height: 120px;
  background: transparent;
  border-bottom: 3px solid #097b8066;
  border-left: 3px solid #097b8066;
  border-radius: 0 0 0 20px;
  pointer-events: none;
  z-index: 1
}

.cmplnc_pg .dtl_sctn {
  padding: 72px 24px;
  background: #FFF;
  position: relative
}

.cmplnc_pg .dtl_sctn::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 280px;
  height: 1px;
  background-image: radial-gradient(circle, #EDEEF1 2px, transparent 2px);
  background-size: 12px 12px;
  background-repeat: repeat-x
}

.cmplnc_pg .dtl_wrp {
  max-width: 920px;
  margin: 0 auto
}

.cmplnc_pg .dtl_wrp h2 {
  font-size: 37px;
  line-height: 1.1;
  letter-spacing: .012em;
  color: #1d1d1d;
  margin: 0 0 36px;
  padding: 0;
  text-align: center
}

.cmplnc_pg .lst_blk {
  background: #EDEEF1;
  padding: 36px;
  border-radius: 20px;
  position: relative;
  overflow: hidden
}

.cmplnc_pg .lst_blk::before {
  content: '';
  position: absolute;
  top: 12px;
  left: 12px;
  right: 12px;
  bottom: 12px;
  border: 1px solid #097b8026;
  border-radius: 20px;
  pointer-events: none
}

.cmplnc_pg .lst_blk h3 {
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: .015em;
  color: #097B80;
  text-transform: uppercase;
  margin: 0 0 24px;
  padding: 0
}

.cmplnc_pg .lst_itm {
  display: flex;
  gap: 12px;
  margin: 0 0 24px;
  align-items: flex-start
}

.cmplnc_pg .lst_itm:last-child {
  margin-bottom: 0
}

.cmplnc_pg .lst_icn {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  background: #097B80;
  border-radius: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 2px
}

.cmplnc_pg .lst_icn svg {
  width: 14px;
  height: 14px;
  fill: #FFF
}

.cmplnc_pg .lst_txt {
  flex: 1
}

.cmplnc_pg .lst_txt h4 {
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: .015em;
  color: #1d1d1d;
  margin: 0 0 4px;
  padding: 0
}

.cmplnc_pg .lst_txt p {
  font-size: 14px;
  line-height: 1.55;
  letter-spacing: .015em;
  color: #3d3d3d;
  margin: 0;
  padding: 0
}

@media (max-width: 1024px) {
  .cmplnc_pg .hdr_bnr {
    padding: 72px 24px
  }

  .cmplnc_pg .hdr_cntnt h1 {
    font-size: 37px
  }

  .cmplnc_pg .vsl_lyt {
    grid-template-columns: 1fr;
    gap: 36px
  }

  .cmplnc_pg .img_frm img {
    height: 360px
  }
}

@media (max-width: 768px) {
  .cmplnc_pg .hdr_bnr {
    padding: 36px 24px
  }

  .cmplnc_pg .hdr_cntnt h1 {
    font-size: 37px;
    margin-bottom: 24px
  }

  .cmplnc_pg .stndrd_sctn {
    padding: 36px 24px
  }

  .cmplnc_pg .stndrd_wrp h2 {
    font-size: 37px
  }

  .cmplnc_pg .crd_grd {
    grid-template-columns: 1fr;
    gap: 24px;
    margin-top: 24px
  }

  .cmplnc_pg .vsl_sctn {
    padding: 36px 24px
  }

  .cmplnc_pg .vsl_txt h2 {
    font-size: 37px
  }

  .cmplnc_pg .img_frm img {
    height: 280px
  }

  .cmplnc_pg .dtl_sctn {
    padding: 36px 24px
  }

  .cmplnc_pg .dtl_wrp h2 {
    font-size: 37px
  }

  .cmplnc_pg .lst_blk {
    padding: 24px
  }
}

@media (max-width: 360px) {
  .cmplnc_pg .hdr_bnr {
    padding: 24px 12px
  }

  .cmplnc_pg .hdr_cntnt h1 {
    font-size: 37px
  }

  .cmplnc_pg .stndrd_sctn {
    padding: 24px 12px
  }

  .cmplnc_pg .vsl_sctn {
    padding: 24px 12px
  }

  .cmplnc_pg .dtl_sctn {
    padding: 24px 12px
  }

  .cmplnc_pg .lst_blk {
    padding: 24px 12px
  }
}

.cntct_pg {
  background: #FFF;
  color: #1d1d1d;
  max-width: 1280px;
  margin: 0 auto;
  position: relative;
  overflow-x: clip
}

.cntct_pg .top_intro {
  background: linear-gradient(167deg, #EDEEF1 0%, #FFF 100%), linear-gradient(217deg, #d81f660a 0%, #097b800a 100%);
  padding: 72px 24px;
  position: relative;
  overflow: hidden
}

.cntct_pg .top_intro::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: repeating-linear-gradient(0deg, transparent, transparent 71px, #097b8008 71px, #097b8008 72px), repeating-linear-gradient(90deg, transparent, transparent 71px, #097b8008 71px, #097b8008 72px);
  opacity: .4;
  pointer-events: none
}

.cntct_pg .intro_wrap {
  max-width: 820px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
  text-align: center;
  animation: intro_reveal .42s ease-out forwards;
  transform-origin: center
}

@keyframes intro_reveal {
  0% {
    opacity: 0;
    transform: scale(0.95)
  }

  100% {
    opacity: 1;
    transform: scale(1)
  }
}

.cntct_pg .intro_wrap h1 {
  font-size: 52px;
  line-height: 1.1;
  letter-spacing: .015em;
  margin: 0 0 24px;
  color: #1d1d1d
}

.cntct_pg .intro_wrap h1::after {
  content: '';
  display: block;
  width: 140px;
  height: 3px;
  background: linear-gradient(90deg, #D81F66 0%, #097B80 100%);
  margin: 24px auto 0
}

.cntct_pg .intro_list {
  list-style: none;
  padding: 0;
  margin: 36px 0 0;
  display: flex;
  flex-direction: column;
  gap: 12px
}

.cntct_pg .intro_list li {
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: .012em;
  color: #2d2d2d
}

.cntct_pg .intro_list li::before {
  content: '';
  display: inline-block;
  width: 5px;
  height: 5px;
  background: #D81F66;
  border-radius: 50%;
  margin-right: 12px;
  vertical-align: middle
}

.cntct_pg .form_zone {
  padding: 72px 24px;
  background: #FFF;
  position: relative
}

.cntct_pg .form_container {
  max-width: 680px;
  margin: 0 auto;
  background: #EDEEF1;
  padding: 36px;
  border-radius: 20px;
  box-shadow: 0 6px 22px 0 #d81f6617;
  position: relative;
  animation: form_settle .38s ease-out .15s backwards
}

@keyframes form_settle {
  0% {
    opacity: 0;
    transform: scale(0.95)
  }

  100% {
    opacity: 1;
    transform: scale(1)
  }
}

.cntct_pg .form_container::before {
  content: '';
  position: absolute;
  top: 24px;
  right: 24px;
  width: 120px;
  height: 120px;
  background: radial-gradient(circle at center, #097b8014 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none
}

.cntct_pg .form_container h2 {
  font-size: 37px;
  line-height: 1.1;
  letter-spacing: .014em;
  margin: 0 0 8px;
  color: #1d1d1d;
  text-align: left
}

.cntct_pg .form_subtitle {
  font-size: 14px;
  line-height: 1.55;
  letter-spacing: .011em;
  color: #4d4d4d;
  margin: 0 0 36px
}

.cntct_pg .form_actual {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.cntct_pg .field_row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px
}

.cntct_pg .field_grp {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.cntct_pg .field_grp label {
  font-size: 14px;
  line-height: 1.55;
  letter-spacing: .011em;
  color: #2d2d2d;
  font-weight: 500
}

.cntct_pg .field_grp input[type="text"],
.cntct_pg .field_grp input[type="tel"] {
  width: 100%;
  padding: 12px;
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: .012em;
  border: 2px solid #d0d0d0;
  border-radius: 2px;
  background: #FFF;
  color: #1d1d1d;
  transition: border-color .18s ease-out, box-shadow .18s ease-out;
  box-shadow: inset 0 2px 4px 0 #097b800a
}

.cntct_pg .field_grp input[type="text"]::placeholder,
.cntct_pg .field_grp input[type="tel"]::placeholder {
  color: #8d8d8d
}

.cntct_pg .field_grp input[type="text"]:focus,
.cntct_pg .field_grp input[type="tel"]:focus {
  outline: none;
  border-color: #097B80;
  box-shadow: inset 0 2px 4px 0 #097b8014 0 0 0 3px #097b801f
}

.cntct_pg .field_grp input[type="text"]:hover,
.cntct_pg .field_grp input[type="tel"]:hover {
  border-color: #b0b0b0
}

.cntct_pg .select_wrap {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 8px
}

.cntct_pg .select_wrap label {
  font-size: 14px;
  line-height: 1.55;
  letter-spacing: .011em;
  color: #2d2d2d;
  font-weight: 500
}

.cntct_pg .select_wrap select {
  width: 100%;
  padding: 12px 36px 12px 12px;
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: .012em;
  border: 2px solid #d0d0d0;
  border-radius: 2px;
  background: #FFF;
  color: #1d1d1d;
  cursor: pointer;
  appearance: none;
  transition: border-color .18s ease-out, box-shadow .18s ease-out;
  box-shadow: inset 0 2px 4px 0 #097b800a
}

.cntct_pg .select_wrap::after {
  content: '';
  position: absolute;
  right: 12px;
  bottom: 18px;
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 6px solid #2d2d2d;
  pointer-events: none;
  transition: transform .2s ease-out
}

.cntct_pg .select_wrap select:focus {
  outline: none;
  border-color: #097B80;
  box-shadow: inset 0 2px 4px 0 #097b8014 0 0 0 3px #097b801f
}

.cntct_pg .select_wrap select:hover {
  border-color: #b0b0b0
}

.cntct_pg .consent_box {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-top: 12px
}

.cntct_pg .consent_box input[type="checkbox"] {
  margin-top: 4px;
  width: 18px;
  height: 18px;
  cursor: pointer;
  flex-shrink: 0;
  accent-color: #D81F66
}

.cntct_pg .consent_box label {
  font-size: 13px;
  line-height: 1.55;
  letter-spacing: .011em;
  color: #4d4d4d;
  cursor: pointer
}

.cntct_pg .consent_box a {
  color: #097B80;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color .16s ease-out
}

.cntct_pg .consent_box a:hover {
  border-bottom-color: #097B80
}

.cntct_pg .submit_btn {
  width: 100%;
  padding: 16px 24px;
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: .015em;
  font-weight: 600;
  color: #FFF;
  background: #D81F66;
  border: none;
  border-radius: 2px;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition: transform .2s ease-out;
  box-shadow: 0 3px 5px 0 #d81f660d
}

.cntct_pg .submit_btn::before {
  content: '';
  position: absolute;
  top: 0;
  right: 100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent 0%, #ffffff26 100%);
  transition: right .32s ease-out
}

.cntct_pg .submit_btn:hover::before {
  right: 0
}

.cntct_pg .submit_btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 22px 0 #d81f6617
}

.cntct_pg .submit_btn:active {
  transform: translateY(0)
}

.cntct_pg .submit_btn:focus {
  outline: 3px solid #d81f664d;
  outline-offset: 2px
}

.cntct_pg .details_zone {
  padding: 72px 24px;
  background: radial-gradient(ellipse at center, #EDEEF1 0%, #FFF 100%);
  position: relative
}

.cntct_pg .details_zone::before {
  content: '';
  position: absolute;
  top: -1px;
  left: 0;
  right: 0;
  height: 80px;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 80" preserveAspectRatio="none"><path d="M0,40 Q300,10 600,35 T1200,45 L1200,80 L0,80 Z" fill="%23FFFFFF" opacity="0.6"/><path d="M0,50 Q300,25 600,48 T1200,52 L1200,80 L0,80 Z" fill="%23FFFFFF"/></svg>') no-repeat top center;
  background-size: 100% 80px;
  pointer-events: none
}

.cntct_pg .details_wrap {
  max-width: 980px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 36px;
  position: relative
}

.cntct_pg .detail_card {
  background: #FFF;
  padding: 24px;
  border-radius: 20px;
  box-shadow: 0 3px 5px 0 #097b800d;
  position: relative;
  overflow: hidden;
  transition: transform .25s ease-out, box-shadow .25s ease-out;
  animation: card_appear .35s ease-out backwards
}

.cntct_pg .detail_card:nth-child(1) {
  animation-delay: .1s
}

.cntct_pg .detail_card:nth-child(2) {
  animation-delay: .2s
}

.cntct_pg .detail_card:nth-child(3) {
  animation-delay: .3s
}

@keyframes card_appear {
  0% {
    opacity: 0;
    transform: scale(0.95)
  }

  100% {
    opacity: 1;
    transform: scale(1)
  }
}

.cntct_pg .detail_card::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 100px;
  height: 100px;
  background-image: url("../images/07-17_testimonialhelp.jpg");
  background-size: cover;
  background-position: center;
  opacity: .04;
  pointer-events: none
}

.cntct_pg .detail_card:hover {
  transform: translateY(-4px);
  box-shadow: 0 9px 52px 0 #097b801f
}

.cntct_pg .card_icon {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #d81f6614 0%, #097b8014 100%);
  border-radius: 50%;
  margin-bottom: 12px;
  position: relative
}

.cntct_pg .card_icon i {
  font-size: 24px;
  color: #D81F66
}

.cntct_pg .detail_card h3 {
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: .013em;
  margin: 0 0 8px;
  color: #1d1d1d;
  font-weight: 600
}

.cntct_pg .detail_card p {
  font-size: 14px;
  line-height: 1.55;
  letter-spacing: .011em;
  color: #4d4d4d;
  margin: 0;
  word-break: break-word
}

.cntct_pg .detail_card a {
  color: #097B80;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color .16s ease-out;
  position: relative;
  display: inline-block
}

.cntct_pg .detail_card a::after {
  content: '→';
  opacity: 0;
  margin-left: 4px;
  transition: opacity .2s ease-out, margin-left .2s ease-out
}

.cntct_pg .detail_card a:hover::after {
  opacity: 1;
  margin-left: 8px
}

.cntct_pg .detail_card a:hover {
  border-bottom-color: #097B80
}

.cntct_pg .progress_indicator {
  margin-top: 24px;
  display: flex;
  gap: 8px;
  align-items: center
}

.cntct_pg .progress_segment {
  flex: 1;
  height: 6px;
  background: #d0d0d0;
  border-radius: 0;
  position: relative;
  overflow: hidden
}

.cntct_pg .progress_segment::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background: linear-gradient(90deg, #D81F66 0%, #097B80 100%);
  transition: width .4s ease-out
}

.cntct_pg .progress_segment.filled::before {
  width: 100%
}

.cntct_pg .progress_segment:nth-child(1)::before {
  width: 100%
}

.cntct_pg .progress_segment:nth-child(2)::before {
  width: 100%
}

.cntct_pg .progress_segment:nth-child(3)::before {
  width: 70%
}

.cntct_pg .progress_segment:nth-child(4)::before {
  width: 0
}

@media (max-width: 1024px) {
  .cntct_pg .details_wrap {
    grid-template-columns: 1fr;
    gap: 24px
  }

  .cntct_pg .field_row {
    grid-template-columns: 1fr
  }
}

@media (max-width: 768px) {
  .cntct_pg .top_intro {
    padding: 36px 24px
  }

  .cntct_pg .intro_wrap h1 {
    font-size: 37px
  }

  .cntct_pg .form_zone {
    padding: 36px 24px
  }

  .cntct_pg .form_container {
    padding: 24px
  }

  .cntct_pg .form_container h2 {
    font-size: 24px
  }

  .cntct_pg .details_zone {
    padding: 36px 24px
  }
}

@media (max-width: 360px) {
  .cntct_pg .intro_wrap h1 {
    font-size: 28px
  }

  .cntct_pg .form_container {
    padding: 16px
  }

  .cntct_pg .detail_card {
    padding: 16px
  }
}

.gds_pg {
  background: #fff;
  color: #1a1a1a;
  overflow-x: clip
}

.gds_pg .ttl_blk {
  position: relative;
  display: flex;
  align-items: center;
  max-width: 1280px;
  margin: 0 auto;
  padding: 24px;
  gap: 24px;
  border-bottom: 1px solid #D81F66
}

.gds_pg .ttl_blk .img_strip {
  flex-shrink: 0;
  width: 180px;
  height: 140px;
  opacity: .35;
  overflow: hidden;
  border-radius: 2px
}

.gds_pg .ttl_blk .img_strip img {
  width: 100%;
  height: 100%;
  object-fit: cover
}

.gds_pg .ttl_blk .txt_area {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px
}

.gds_pg .ttl_blk .eyebrow {
  font-size: 13px;
  line-height: 1.55;
  letter-spacing: .02em;
  color: #097B80;
  text-transform: uppercase
}

.gds_pg .ttl_blk .main_hdg {
  font-size: 52px;
  line-height: 1.1;
  letter-spacing: .01em;
  color: #D81F66;
  margin: 0
}

@media (max-width: 768px) {
  .gds_pg .ttl_blk {
    flex-direction: column;
    align-items: stretch;
    padding: 24px 12px
  }

  .gds_pg .ttl_blk .img_strip {
    width: 100%;
    height: 120px
  }

  .gds_pg .ttl_blk .main_hdg {
    font-size: 37px
  }
}

.gds_pg .pst_grid {
  max-width: 1280px;
  margin: 0 auto;
  padding: 72px 24px;
  position: relative
}

.gds_pg .pst_grid::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 600px;
  height: 600px;
  background: radial-gradient(circle at 30% 40%, #d81f6614, transparent 60%);
  pointer-events: none;
  animation: spotlight_move 18s ease-in-out infinite;
  z-index: 0
}

@keyframes spotlight_move {

  0%,
  100% {
    transform: translate(-50%, 0) translateX(-80px)
  }

  50% {
    transform: translate(-50%, 0) translateX(80px)
  }
}

.gds_pg .pst_grid .grid_wrap {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
  gap: 36px
}

@media (max-width: 768px) {
  .gds_pg .pst_grid {
    padding: 36px 12px
  }

  .gds_pg .pst_grid .grid_wrap {
    grid-template-columns: 1fr;
    gap: 24px
  }
}

.gds_pg .pst_card {
  background: linear-gradient(127deg, #edeef166, #fff9);
  border-radius: 20px;
  overflow: hidden;
  border-top: 4px solid #D81F66;
  box-shadow: 0 3px 5px 0 #d81f660d;
  transition: transform .28s ease-out, box-shadow .28s ease-out;
  display: flex;
  flex-direction: column
}

.gds_pg .pst_card:hover {
  transform: translateY(-4px);
  box-shadow: 0 9px 52px 0 #d81f661f
}

.gds_pg .pst_card:hover+.pst_card {
  transform: translateX(2px);
  transition: transform .22s ease-out
}

.gds_pg .pst_card .img_wrap {
  width: 100%;
  height: 200px;
  overflow: hidden;
  border-bottom: 1px solid #d81f6626;
  position: relative
}

.gds_pg .pst_card .img_wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease-out
}

.gds_pg .pst_card:hover .img_wrap img {
  transform: scale(1.05)
}

.gds_pg .pst_card .txt_wrap {
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 1
}

.gds_pg .pst_card .card_ttl {
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: .01em;
  color: #1a1a1a;
  margin: 0;
  font-weight: 600
}

.gds_pg .pst_card .card_desc {
  font-size: 14px;
  line-height: 1.55;
  letter-spacing: .01em;
  color: #4a4a4a;
  margin: 0;
  flex: 1
}

.gds_pg .pst_card .card_lnk {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  line-height: 1.55;
  letter-spacing: .01em;
  color: #097B80;
  text-decoration: none;
  font-weight: 500;
  transition: gap .25s ease-out
}

.gds_pg .pst_card .card_lnk::after {
  content: '→';
  display: inline-block;
  transition: transform .25s ease-out
}

.gds_pg .pst_card:hover .card_lnk {
  gap: 12px
}

.gds_pg .pst_card:hover .card_lnk::after {
  transform: translateX(4px)
}

.gds_pg .stats_sec {
  background: linear-gradient(158deg, #097b800f, #ffffff05);
  padding: 72px 24px;
  position: relative;
  overflow: hidden
}

.gds_pg .stats_sec::before {
  content: '';
  position: absolute;
  top: -100px;
  left: -100px;
  width: 300px;
  height: 300px;
  background: radial-gradient(circle, #d81f661f, transparent 70%);
  border-radius: 50%;
  pointer-events: none
}

.gds_pg .stats_sec::after {
  content: '';
  position: absolute;
  bottom: -150px;
  right: -150px;
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, #097b8014, transparent 70%);
  border-radius: 50%;
  pointer-events: none
}

.gds_pg .stats_sec .stats_inner {
  max-width: 1280px;
  margin: 0 auto;
  position: relative;
  z-index: 1
}

.gds_pg .stats_sec .sec_hdg {
  font-size: 37px;
  line-height: 1.1;
  letter-spacing: .01em;
  color: #097B80;
  margin: 0 0 36px;
  text-align: center
}

.gds_pg .stats_sec .metrics_grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px
}

@media (max-width: 1024px) {
  .gds_pg .stats_sec .metrics_grid {
    grid-template-columns: repeat(2, 1fr)
  }
}

@media (max-width: 768px) {
  .gds_pg .stats_sec {
    padding: 36px 12px
  }

  .gds_pg .stats_sec .sec_hdg {
    font-size: 37px;
    margin: 0 0 24px
  }

  .gds_pg .stats_sec .metrics_grid {
    grid-template-columns: 1fr;
    gap: 12px
  }
}

.gds_pg .metric_blk {
  background: #fffc;
  padding: 24px;
  border-radius: 2px;
  border: 1px solid #097b8033;
  text-align: center;
  transition: background .32s ease-out, border-color .32s ease-out
}

.gds_pg .metric_blk:hover {
  background: #edeef1e6;
  border-color: #d81f664d
}

.gds_pg .metric_blk .metric_val {
  font-size: 37px;
  line-height: 1.1;
  letter-spacing: .01em;
  color: #D81F66;
  margin: 0 0 8px;
  font-weight: 700
}

.gds_pg .metric_blk .metric_lbl {
  font-size: 13px;
  line-height: 1.55;
  letter-spacing: .02em;
  color: #097B80;
  margin: 0;
  text-transform: uppercase
}

.gds_pg .approach_sec {
  max-width: 1280px;
  margin: 0 auto;
  padding: 72px 24px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 72px;
  align-items: start
}

@media (max-width: 1024px) {
  .gds_pg .approach_sec {
    grid-template-columns: 1fr;
    gap: 36px;
    padding: 36px 12px
  }
}

.gds_pg .approach_sec .left_col {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.gds_pg .approach_sec .sec_hdg {
  font-size: 37px;
  line-height: 1.1;
  letter-spacing: .01em;
  color: #1a1a1a;
  margin: 0
}

.gds_pg .approach_sec .desc_txt {
  font-size: 14px;
  line-height: 1.55;
  letter-spacing: .01em;
  color: #4a4a4a;
  margin: 0
}

.gds_pg .approach_sec .right_col {
  display: flex;
  flex-direction: column;
  gap: 12px
}

.gds_pg .step_item {
  background: #edeef180;
  padding: 24px;
  border-radius: 20px;
  border-left: 4px solid #097B80;
  transition: background .27s ease-out, border-left-color .27s ease-out, padding-left .27s ease-out
}

.gds_pg .step_item:hover {
  background: #d81f6614;
  border-left-color: #D81F66;
  padding-left: 28px
}

.gds_pg .step_item .step_hdg {
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: .01em;
  color: #097B80;
  margin: 0 0 8px;
  font-weight: 600
}

.gds_pg .step_item .step_txt {
  font-size: 13px;
  line-height: 1.55;
  letter-spacing: .01em;
  color: #4a4a4a;
  margin: 0
}

.gds_pg .benefits_sec {
  background: linear-gradient(213deg, #d81f660a, #edeef199);
  padding: 72px 24px;
  position: relative
}

.gds_pg .benefits_sec .benefits_inner {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 36px
}

.gds_pg .benefits_sec .sec_hdg {
  font-size: 37px;
  line-height: 1.1;
  letter-spacing: .01em;
  color: #D81F66;
  margin: 0;
  text-align: left
}

.gds_pg .benefits_sec .bnf_grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px
}

@media (max-width: 1024px) {
  .gds_pg .benefits_sec .bnf_grid {
    grid-template-columns: 1fr
  }
}

@media (max-width: 768px) {
  .gds_pg .benefits_sec {
    padding: 36px 12px
  }

  .gds_pg .benefits_sec .benefits_inner {
    gap: 24px
  }
}

.gds_pg .bnf_card {
  background: #fff;
  padding: 24px;
  border-radius: 2px;
  box-shadow: 0 6px 22px 0 #097b8017;
  display: flex;
  flex-direction: column;
  gap: 12px;
  transition: transform .31s ease-out
}

.gds_pg .bnf_card:hover {
  transform: translateY(-6px)
}

.gds_pg .bnf_card .icon_wrap {
  width: 48px;
  height: 48px;
  background: #d81f661a;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #D81F66;
  font-size: 24px;
  transition: background .29s ease-out
}

.gds_pg .bnf_card:hover .icon_wrap {
  background: #097b8026
}

.gds_pg .bnf_card .bnf_hdg {
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: .01em;
  color: #1a1a1a;
  margin: 0;
  font-weight: 600
}

.gds_pg .bnf_card .bnf_txt {
  font-size: 13px;
  line-height: 1.55;
  letter-spacing: .01em;
  color: #4a4a4a;
  margin: 0
}

.gds_pg .cta_sec {
  max-width: 1280px;
  margin: 0 auto;
  padding: 72px 24px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px
}

@media (max-width: 768px) {
  .gds_pg .cta_sec {
    padding: 36px 12px
  }
}

.gds_pg .cta_sec .cta_hdg {
  font-size: 37px;
  line-height: 1.1;
  letter-spacing: .01em;
  color: #097B80;
  margin: 0
}

.gds_pg .cta_sec .cta_txt {
  font-size: 14px;
  line-height: 1.55;
  letter-spacing: .01em;
  color: #4a4a4a;
  margin: 0;
  max-width: 640px
}

.gds_pg .cta_sec .cta_btn {
  display: inline-block;
  padding: 12px 36px;
  background: #D81F66;
  color: #fff;
  font-size: 14px;
  line-height: 1.55;
  letter-spacing: .02em;
  text-decoration: none;
  border-radius: 20px;
  font-weight: 600;
  position: relative;
  overflow: hidden;
  transition: transform .24s ease-out;
  border: none;
  cursor: pointer
}

.gds_pg .cta_sec .cta_btn::before {
  content: '';
  position: absolute;
  top: 0;
  right: 100%;
  width: 100%;
  height: 100%;
  background: #097B80;
  transition: right .38s ease-out;
  z-index: 0
}

.gds_pg .cta_sec .cta_btn:hover::before {
  right: 0
}

.gds_pg .cta_sec .cta_btn span {
  position: relative;
  z-index: 1
}

.gds_pg .cta_sec .cta_btn:hover {
  transform: translateY(-2px)
}

.prim_pg {
  margin: 0;
  padding: 0;
  background: #FFF;
  overflow-x: clip
}

.prim_pg * {
  box-sizing: border-box
}

.prim_pg .bnr_zone {
  position: relative;
  max-width: 1280px;
  margin: 0 auto;
  padding: 72px 24px;
  background: #FFF;
  overflow: hidden
}

.prim_pg .bnr_zone::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: linear-gradient(0deg, #d81f6605 1px, transparent 1px), linear-gradient(90deg, #d81f6605 1px, transparent 1px);
  background-size: 48px 48px;
  opacity: .4;
  pointer-events: none;
  z-index: 1
}

.prim_pg .bnr_img_wrap {
  position: relative;
  width: 100%;
  height: 420px;
  margin-bottom: 36px;
  border: 2px solid #EDEEF1;
  overflow: hidden;
  z-index: 2
}

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

.prim_pg .bnr_img_wrap::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 60%;
  background: linear-gradient(to top, #097b80b8, transparent);
  pointer-events: none
}

.prim_pg .bnr_txt {
  position: relative;
  z-index: 2;
  max-width: 920px;
  margin: 0 auto
}

.prim_pg .bnr_main_hdg {
  font-size: 52px;
  line-height: 1.1;
  letter-spacing: .01em;
  color: #097B80;
  margin: 0 0 24px;
  text-align: center
}

.prim_pg .bnr_sub_hdg {
  font-size: 37px;
  line-height: 1.55;
  letter-spacing: .015em;
  color: #D81F66;
  margin: 0 0 36px;
  text-align: center
}

.prim_pg .bnr_act {
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap
}

.prim_pg .bnr_btn {
  display: inline-block;
  padding: 12px 36px;
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: .02em;
  text-decoration: none !important;
  border: 2px solid #D81F66;
  background: #D81F66;
  color: #FFF;
  border-radius: 2px;
  position: relative;
  overflow: hidden;
  transition: color .28s ease-out;
  cursor: pointer
}

.prim_pg .bnr_btn::before {
  content: '';
  position: absolute;
  top: 0;
  right: 100%;
  width: 100%;
  height: 100%;
  background: #FFF;
  transition: right .35s ease-out;
  z-index: 0
}

.prim_pg .bnr_btn:hover::before {
  right: 0
}

.prim_pg .bnr_btn:hover {
  color: #D81F66
}

.prim_pg .bnr_btn span {
  position: relative;
  z-index: 1
}

.prim_pg .bnr_btn.alt_style {
  background: transparent;
  color: #D81F66
}

.prim_pg .bnr_btn.alt_style::before {
  background: #D81F66
}

.prim_pg .bnr_btn.alt_style:hover {
  color: #FFF
}

.prim_pg .mthd_area {
  max-width: 1280px;
  margin: 0 auto;
  padding: 72px 24px;
  background: #097B80;
  position: relative
}

.prim_pg .mthd_area::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 48px;
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 48"><path fill="%23FFFFFF" d="M0,48 L0,16 Q360,0 720,16 T1440,16 L1440,48 Z"/></svg>') no-repeat center bottom;
  background-size: cover
}

.prim_pg .mthd_hdr {
  text-align: center;
  margin-bottom: 72px
}

.prim_pg .mthd_hdg {
  font-size: 37px;
  line-height: 1.1;
  letter-spacing: .015em;
  color: #FFF;
  margin: 0 0 24px
}

.prim_pg .mthd_intro {
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: .02em;
  color: #ffffffeb;
  margin: 0;
  max-width: 780px;
  margin-left: auto;
  margin-right: auto
}

.prim_pg .mthd_grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-bottom: 72px
}

.prim_pg .mthd_card {
  background: #ffffff14;
  padding: 36px 24px;
  border: 2px solid #ffffff26;
  border-radius: 20px;
  position: relative;
  overflow: hidden;
  transition: transform .32s ease-out, box-shadow .32s ease-out
}

.prim_pg .mthd_card:hover {
  transform: translateY(-8px);
  box-shadow: 0 9px 52px 0 #097b801f
}

.prim_pg .mthd_card_icon {
  width: 56px;
  height: 56px;
  border: 2px solid #D81F66;
  border-radius: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
  background: #d81f661f
}

.prim_pg .mthd_card_icon i {
  font-size: 37px;
  color: #D81F66
}

.prim_pg .mthd_card_ttl {
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: .02em;
  color: #FFF;
  margin: 0 0 12px;
  text-transform: uppercase;
  font-weight: 600
}

.prim_pg .mthd_card_txt {
  font-size: 14px;
  line-height: 1.55;
  letter-spacing: .015em;
  color: #ffffffd6;
  margin: 0
}

.prim_pg .mthd_stat_row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px
}

.prim_pg .stat_box {
  background: #fffffff5;
  padding: 36px 24px;
  text-align: center;
  border-radius: 2px;
  box-shadow: 0 6px 22px 0 #097b8017;
  transition: transform .25s ease-out;
  animation: flip_reveal .42s ease-out backwards
}

.prim_pg .stat_box:nth-child(1) {
  animation-delay: .08s
}

.prim_pg .stat_box:nth-child(2) {
  animation-delay: .16s
}

.prim_pg .stat_box:nth-child(3) {
  animation-delay: .24s
}

.prim_pg .stat_box:nth-child(4) {
  animation-delay: .32s
}

@keyframes flip_reveal {
  0% {
    transform: rotateX(90deg);
    opacity: 0
  }

  100% {
    transform: rotateX(0deg);
    opacity: 1
  }
}

.prim_pg .stat_box:hover {
  transform: translateY(-4px)
}

.prim_pg .stat_num {
  font-size: 52px;
  line-height: 1.1;
  letter-spacing: .01em;
  color: #D81F66;
  margin: 0 0 8px;
  font-weight: 700
}

.prim_pg .stat_lbl {
  font-size: 14px;
  line-height: 1.55;
  letter-spacing: .015em;
  color: #097B80;
  margin: 0
}

.prim_pg .prblm_sect {
  max-width: 1280px;
  margin: 0 auto;
  padding: 72px 24px;
  background: #FFF
}

.prim_pg .prblm_wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 36px;
  align-items: center
}

.prim_pg .prblm_img_side {
  position: relative
}

.prim_pg .prblm_img_frame {
  position: relative;
  border: 2px solid #EDEEF1;
  overflow: hidden;
  border-radius: 20px
}

.prim_pg .prblm_img_frame img {
  width: 100%;
  height: 480px;
  object-fit: cover;
  display: block;
  transition: transform .38s ease-out
}

.prim_pg .prblm_img_frame:hover img {
  transform: scale(1.05)
}

.prim_pg .prblm_txt_side {
  padding-left: 24px
}

.prim_pg .prblm_hdg {
  font-size: 37px;
  line-height: 1.1;
  letter-spacing: .015em;
  color: #097B80;
  margin: 0 0 24px
}

.prim_pg .prblm_para {
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: .02em;
  color: #333;
  margin: 0 0 24px
}

.prim_pg .prblm_para:last-child {
  margin-bottom: 0
}

.prim_pg .prblm_list {
  list-style: none;
  padding: 0;
  margin: 24px 0 0
}

.prim_pg .prblm_list li {
  font-size: 14px;
  line-height: 2;
  letter-spacing: .015em;
  color: #333;
  padding-left: 32px;
  position: relative;
  margin-bottom: 8px
}

.prim_pg .prblm_list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 12px;
  width: 16px;
  height: 16px;
  background: #D81F66;
  border-radius: 2px
}

.prim_pg .adpt_zone {
  background: linear-gradient(127deg, #edeef17a 0%, #d81f6614 100%);
  padding: 72px 24px;
  position: relative
}

.prim_pg .adpt_zone::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, transparent 0%, #D81F66 50%, transparent 100%)
}

.prim_pg .adpt_zone::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: repeating-linear-gradient(90deg, #097B80 0px, #097B80 12px, transparent 12px, transparent 24px);
  opacity: .3
}

.prim_pg .adpt_inner {
  max-width: 1280px;
  margin: 0 auto
}

.prim_pg .adpt_hdr_row {
  text-align: center;
  margin-bottom: 72px
}

.prim_pg .adpt_hdg {
  font-size: 37px;
  line-height: 1.1;
  letter-spacing: .015em;
  color: #097B80;
  margin: 0 0 24px
}

.prim_pg .adpt_sub {
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: .02em;
  color: #333;
  margin: 0;
  max-width: 840px;
  margin-left: auto;
  margin-right: auto
}

.prim_pg .adpt_checker {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 36px 24px;
  position: relative
}

.prim_pg .adpt_item {
  display: flex;
  gap: 24px;
  align-items: flex-start;
  animation: slide_in_cascade .48s ease-out backwards
}

.prim_pg .adpt_item:nth-child(1) {
  animation-delay: .1s
}

.prim_pg .adpt_item:nth-child(2) {
  animation-delay: .2s;
  margin-top: 48px
}

.prim_pg .adpt_item:nth-child(3) {
  animation-delay: .3s
}

.prim_pg .adpt_item:nth-child(4) {
  animation-delay: .4s;
  margin-top: 48px
}

@keyframes slide_in_cascade {
  0% {
    opacity: 0;
    transform: translateX(-36px)
  }

  100% {
    opacity: 1;
    transform: translateX(0)
  }
}

.prim_pg .adpt_img_box {
  flex-shrink: 0;
  width: 180px;
  height: 180px;
  border: 2px solid #EDEEF1;
  border-radius: 2px;
  overflow: hidden;
  background: #FFF
}

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

.prim_pg .adpt_txt_box {
  flex: 1;
  padding-top: 12px
}

.prim_pg .adpt_item_hdg {
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: .02em;
  color: #D81F66;
  margin: 0 0 12px;
  font-weight: 600
}

.prim_pg .adpt_item_txt {
  font-size: 14px;
  line-height: 1.55;
  letter-spacing: .015em;
  color: #333;
  margin: 0
}

.prim_pg .cntxt_sect {
  max-width: 1280px;
  margin: 0 auto;
  padding: 72px 24px;
  background: #FFF
}

.prim_pg .cntxt_layout {
  display: flex;
  gap: 36px;
  align-items: flex-start
}

.prim_pg .cntxt_txt_col {
  flex: 1;
  padding-right: 24px
}

.prim_pg .cntxt_hdg {
  font-size: 37px;
  line-height: 1.1;
  letter-spacing: .015em;
  color: #D81F66;
  margin: 0 0 24px
}

.prim_pg .cntxt_para {
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: .02em;
  color: #333;
  margin: 0 0 24px
}

.prim_pg .cntxt_para:last-child {
  margin-bottom: 0
}

.prim_pg .cntxt_highlight {
  background: #edeef1a3;
  padding: 24px;
  border-left: 4px solid #097B80;
  margin: 24px 0;
  border-radius: 2px
}

.prim_pg .cntxt_highlight_txt {
  font-size: 14px;
  line-height: 1.55;
  letter-spacing: .015em;
  color: #097B80;
  margin: 0;
  font-style: italic
}

.prim_pg .cntxt_img_col {
  flex-shrink: 0;
  width: 420px
}

.prim_pg .cntxt_img_wrap {
  position: relative;
  border: 2px solid #EDEEF1;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 6px 22px 0 #d81f6617
}

.prim_pg .cntxt_img_wrap img {
  width: 100%;
  height: 560px;
  object-fit: cover;
  display: block
}

.prim_pg .cntxt_link {
  color: #097B80;
  text-decoration: none !important;
  position: relative;
  display: inline-block;
  transition: color .22s ease-out
}

.prim_pg .cntxt_link::after {
  content: '→';
  display: inline-block;
  margin-left: 4px;
  opacity: 0;
  transform: translateX(-8px);
  transition: opacity .28s ease-out, transform .28s ease-out
}

.prim_pg .cntxt_link:hover {
  color: #D81F66
}

.prim_pg .cntxt_link:hover::after {
  opacity: 1;
  transform: translateX(0)
}

@media (max-width: 1024px) {
  .prim_pg .bnr_zone {
    padding: 36px 24px
  }

  .prim_pg .bnr_img_wrap {
    height: 320px;
    margin-bottom: 24px
  }

  .prim_pg .bnr_main_hdg {
    font-size: 37px;
    margin-bottom: 12px
  }

  .prim_pg .bnr_sub_hdg {
    font-size: 16px;
    margin-bottom: 24px
  }

  .prim_pg .mthd_area {
    padding: 36px 24px
  }

  .prim_pg .mthd_hdr {
    margin-bottom: 36px
  }

  .prim_pg .mthd_hdg {
    font-size: 16px;
    margin-bottom: 12px
  }

  .prim_pg .mthd_grid {
    grid-template-columns: 1fr;
    gap: 12px;
    margin-bottom: 36px
  }

  .prim_pg .mthd_card {
    padding: 24px
  }

  .prim_pg .mthd_stat_row {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px
  }

  .prim_pg .stat_box {
    padding: 24px 12px
  }

  .prim_pg .stat_num {
    font-size: 37px
  }

  .prim_pg .prblm_sect {
    padding: 36px 24px
  }

  .prim_pg .prblm_wrap {
    grid-template-columns: 1fr;
    gap: 24px
  }

  .prim_pg .prblm_txt_side {
    padding-left: 0
  }

  .prim_pg .prblm_hdg {
    font-size: 16px;
    margin-bottom: 12px
  }

  .prim_pg .prblm_img_frame img {
    height: 320px
  }

  .prim_pg .adpt_zone {
    padding: 36px 24px
  }

  .prim_pg .adpt_hdr_row {
    margin-bottom: 36px
  }

  .prim_pg .adpt_hdg {
    font-size: 16px;
    margin-bottom: 12px
  }

  .prim_pg .adpt_checker {
    grid-template-columns: 1fr;
    gap: 24px
  }

  .prim_pg .adpt_item:nth-child(2),
  .prim_pg .adpt_item:nth-child(4) {
    margin-top: 0
  }

  .prim_pg .adpt_item {
    flex-direction: column
  }

  .prim_pg .adpt_img_box {
    width: 100%;
    height: 240px
  }

  .prim_pg .cntxt_sect {
    padding: 36px 24px
  }

  .prim_pg .cntxt_layout {
    flex-direction: column;
    gap: 24px
  }

  .prim_pg .cntxt_txt_col {
    padding-right: 0
  }

  .prim_pg .cntxt_hdg {
    font-size: 16px;
    margin-bottom: 12px
  }

  .prim_pg .cntxt_img_col {
    width: 100%
  }

  .prim_pg .cntxt_img_wrap img {
    height: 320px
  }
}

@media (max-width: 768px) {
  .prim_pg .bnr_img_wrap {
    height: 240px
  }

  .prim_pg .bnr_main_hdg {
    font-size: 37px
  }

  .prim_pg .bnr_act {
    flex-direction: column;
    align-items: stretch
  }

  .prim_pg .bnr_btn {
    text-align: center
  }

  .prim_pg .mthd_stat_row {
    grid-template-columns: 1fr
  }

  .prim_pg .prblm_img_frame img {
    height: 280px
  }

  .prim_pg .adpt_img_box {
    height: 200px
  }

  .prim_pg .cntxt_img_wrap img {
    height: 280px
  }
}

@media (max-width: 360px) {

  .prim_pg .bnr_zone,
  .prim_pg .mthd_area,
  .prim_pg .prblm_sect,
  .prim_pg .adpt_zone,
  .prim_pg .cntxt_sect {
    padding-left: 12px;
    padding-right: 12px
  }

  .prim_pg .bnr_img_wrap {
    height: 200px
  }

  .prim_pg .stat_box {
    padding: 12px 8px
  }

  .prim_pg .adpt_img_box {
    height: 160px
  }
}

.abt_pg {
  background: #FFF;
  color: #1a1a1a;
  max-width: 1280px;
  margin: 0 auto;
  position: relative
}

.abt_pg .ld_fr {
  padding: 72px 24px;
  display: flex;
  align-items: center;
  gap: 36px;
  position: relative
}

.abt_pg .ld_fr .img_wrp {
  flex: 0 0 480px;
  position: relative
}

.abt_pg .ld_fr .img_wrp::before {
  content: '';
  position: absolute;
  top: -12px;
  left: -12px;
  right: 12px;
  bottom: 12px;
  border: 2px solid #097B80;
  border-radius: 2px;
  pointer-events: none;
  z-index: 1
}

.abt_pg .ld_fr .img_wrp::after {
  content: '';
  position: absolute;
  top: -24px;
  left: -24px;
  right: 24px;
  bottom: 24px;
  border: 1px solid #097b804d;
  border-radius: 2px;
  pointer-events: none;
  z-index: 0
}

.abt_pg .ld_fr .img_wrp img {
  width: 100%;
  height: 520px;
  object-fit: cover;
  display: block;
  border-radius: 2px;
  position: relative;
  filter: sepia(0.15) saturate(1.1);
  border: 1px solid #097b8026
}

.abt_pg .ld_fr .img_wrp::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, #d81f6614 0%, #097b8014 100%);
  border-radius: 2px;
  pointer-events: none;
  z-index: 2
}

.abt_pg .ld_fr .dots_deco {
  position: absolute;
  bottom: -36px;
  right: -36px;
  width: 180px;
  height: 180px;
  pointer-events: none;
  z-index: 3
}

.abt_pg .ld_fr .dots_deco::before,
.abt_pg .ld_fr .dots_deco::after {
  content: '';
  position: absolute;
  width: 8px;
  height: 8px;
  background: #D81F66;
  border-radius: 0
}

.abt_pg .ld_fr .dots_deco::before {
  top: 0;
  left: 0;
  box-shadow: 24px 0 0 #D81F66, 48px 0 0 #D81F66, 72px 0 0 #D81F66, 0 24px 0 #d81f66b3 24px 24px 0 #d81f66b3 0 48px 0 #d81f6680 24px 48px 0 #d81f6680 48px 48px 0 #d81f6680 0 72px 0 #d81f664d 24px 72px 0 #d81f664d
}

.abt_pg .ld_fr .txt_blk {
  flex: 1;
  min-width: 0
}

.abt_pg .ld_fr .num_acc {
  font-size: 52px;
  line-height: 1.1;
  color: #D81F66;
  font-weight: 700;
  letter-spacing: .01em;
  margin: 0 0 12px
}

.abt_pg .ld_fr h1 {
  font-size: 37px;
  line-height: 1.1;
  color: #097B80;
  margin: 0 0 24px;
  letter-spacing: .01em;
  font-weight: 600
}

.abt_pg .ld_fr .exp_txt {
  font-size: 16px;
  line-height: 1.55;
  color: #2a2a2a;
  letter-spacing: .015em;
  margin: 0
}

.abt_pg .miss_blk {
  padding: 72px 24px;
  background: linear-gradient(168deg, #edeef166 0%, #097b800f 100%);
  position: relative;
  overflow: hidden
}

.abt_pg .miss_blk::before {
  content: '';
  position: absolute;
  top: 0;
  left: -50%;
  width: 200%;
  height: 100%;
  background: radial-gradient(ellipse at 30% 40%, #ffffff26 0%, transparent 60%);
  animation: fog_drft 45s ease-in-out infinite;
  pointer-events: none
}

@keyframes fog_drft {

  0%,
  100% {
    transform: translateX(0) translateY(0)
  }

  50% {
    transform: translateX(8%) translateY(-4%)
  }
}

.abt_pg .miss_blk .cntr_col {
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
  position: relative;
  z-index: 1
}

.abt_pg .miss_blk h2 {
  font-size: 37px;
  line-height: 1.1;
  color: #097B80;
  margin: 0 0 36px;
  letter-spacing: .01em;
  font-weight: 600;
  text-transform: uppercase
}

.abt_pg .miss_blk .prg_grp p {
  font-size: 16px;
  line-height: 1.55;
  color: #2a2a2a;
  letter-spacing: .015em;
  margin: 0 0 24px
}

.abt_pg .miss_blk .prg_grp p:last-child {
  margin-bottom: 0
}

.abt_pg .tm_shw {
  padding: 72px 24px;
  background: #FFF;
  position: relative
}

.abt_pg .tm_shw::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 4px;
  height: 100%;
  background: linear-gradient(180deg, #D81F66 0%, #097B80 100%)
}

.abt_pg .tm_shw .grid_tm {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 36px;
  max-width: 960px;
  margin: 0 auto
}

.abt_pg .tm_shw h2 {
  font-size: 37px;
  line-height: 1.1;
  color: #097B80;
  margin: 0 0 48px;
  letter-spacing: .01em;
  font-weight: 600;
  text-align: center
}

.abt_pg .tm_shw .mbr_crd {
  background: #FFF;
  border: 2px solid #EDEEF1;
  border-radius: 2px;
  padding: 24px;
  position: relative;
  transition: transform .28s ease-out, box-shadow .28s ease-out;
  border-left: 4px solid #D81F66
}

.abt_pg .tm_shw .mbr_crd:hover {
  transform: translateY(-4px);
  box-shadow: 0 9px 52px 0 #d81f661f
}

.abt_pg .tm_shw .mbr_crd .img_hld {
  width: 100%;
  height: 240px;
  margin-bottom: 24px;
  overflow: hidden;
  border-radius: 2px;
  border: 1px solid #097b8026
}

.abt_pg .tm_shw .mbr_crd img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .35s ease-out
}

.abt_pg .tm_shw .mbr_crd:hover img {
  transform: scale(1.04)
}

.abt_pg .tm_shw .mbr_crd h4 {
  font-size: 16px;
  line-height: 1.55;
  color: #097B80;
  margin: 0 0 8px;
  letter-spacing: .015em;
  font-weight: 600
}

.abt_pg .tm_shw .mbr_crd .rl {
  font-size: 14px;
  line-height: 1.55;
  color: #D81F66;
  margin: 0 0 12px;
  letter-spacing: .015em;
  font-weight: 500
}

.abt_pg .tm_shw .mbr_crd .bio {
  font-size: 14px;
  line-height: 1.55;
  color: #3a3a3a;
  margin: 0;
  letter-spacing: .015em
}

.abt_pg .val_sec {
  padding: 72px 24px;
  background: #FFF;
  position: relative;
  backdrop-filter: blur(12px)
}

.abt_pg .val_sec::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(223deg, #edeef1b3 0%, #ffffffe6 100%);
  z-index: 0
}

.abt_pg .val_sec .val_wrp {
  position: relative;
  z-index: 1;
  max-width: 960px;
  margin: 0 auto
}

.abt_pg .val_sec h3 {
  font-size: 37px;
  line-height: 1.1;
  color: #097B80;
  margin: 0 0 48px;
  letter-spacing: .01em;
  font-weight: 600;
  text-align: center
}

.abt_pg .val_sec .val_grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px
}

.abt_pg .val_sec .val_itm {
  background: #ffffffd9;
  border: 1px solid #097b8033;
  border-radius: 20px;
  padding: 24px;
  position: relative;
  transition: transform .22s ease-out, background .22s ease-out;
  overflow: hidden
}

.abt_pg .val_sec .val_itm::before {
  content: '';
  position: absolute;
  top: -2px;
  left: -2px;
  right: -2px;
  bottom: -2px;
  border: 2px solid transparent;
  border-radius: 20px;
  background: linear-gradient(135deg, #D81F66, #097B80) border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity: 0;
  transition: opacity .22s ease-out;
  pointer-events: none
}

.abt_pg .val_sec .val_itm:hover {
  transform: translateY(-6px);
  background: #ffff
}

.abt_pg .val_sec .val_itm:hover::before {
  opacity: 1
}

.abt_pg .val_sec .val_itm:hover~.val_itm {
  transform: translateX(8px)
}

.abt_pg .val_sec .val_itm .icn_wrp {
  width: 48px;
  height: 48px;
  margin-bottom: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #d81f661a 0%, #097b801a 100%);
  border-radius: 2px
}

.abt_pg .val_sec .val_itm .icn_wrp i {
  font-size: 24px;
  color: #D81F66
}

.abt_pg .val_sec .val_itm h5 {
  font-size: 16px;
  line-height: 1.55;
  color: #097B80;
  margin: 0 0 12px;
  letter-spacing: .015em;
  font-weight: 600
}

.abt_pg .val_sec .val_itm p {
  font-size: 14px;
  line-height: 1.55;
  color: #3a3a3a;
  margin: 0;
  letter-spacing: .015em
}

.abt_pg .stat_hlt {
  background: #097b800a;
  border: 2px solid #097B80;
  border-radius: 2px;
  padding: 24px;
  margin: 36px 0 0;
  display: flex;
  align-items: center;
  gap: 24px
}

.abt_pg .stat_hlt .num_lrg {
  font-size: 52px;
  line-height: 1.1;
  color: #D81F66;
  font-weight: 700;
  letter-spacing: .01em;
  flex: 0 0 auto
}

.abt_pg .stat_hlt .exp_txt {
  font-size: 14px;
  line-height: 1.55;
  color: #2a2a2a;
  letter-spacing: .015em;
  margin: 0;
  flex: 1
}

.abt_pg .svg_dvdr {
  width: 100%;
  height: 72px;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding-right: 120px
}

.abt_pg .svg_dvdr svg {
  width: 48px;
  height: 48px;
  fill: #D81F66
}

@media (max-width: 1024px) {
  .abt_pg .ld_fr {
    flex-direction: column;
    padding: 48px 24px
  }

  .abt_pg .ld_fr .img_wrp {
    flex: 0 0 auto;
    width: 100%;
    max-width: 480px
  }

  .abt_pg .ld_fr .img_wrp img {
    height: 400px
  }

  .abt_pg .tm_shw .grid_tm {
    grid-template-columns: 1fr;
    gap: 24px
  }

  .abt_pg .val_sec .val_grid {
    grid-template-columns: 1fr;
    gap: 24px
  }

  .abt_pg .val_sec .val_itm:hover~.val_itm {
    transform: none
  }
}

@media (max-width: 768px) {
  .abt_pg .ld_fr {
    padding: 36px 12px
  }

  .abt_pg .ld_fr .num_acc {
    font-size: 37px
  }

  .abt_pg .ld_fr h1 {
    font-size: 37px
  }

  .abt_pg .miss_blk {
    padding: 48px 12px
  }

  .abt_pg .miss_blk h2 {
    font-size: 37px;
    margin-bottom: 24px
  }

  .abt_pg .tm_shw {
    padding: 48px 12px
  }

  .abt_pg .tm_shw h2 {
    font-size: 37px;
    margin-bottom: 36px
  }

  .abt_pg .val_sec {
    padding: 48px 12px
  }

  .abt_pg .val_sec h3 {
    font-size: 37px;
    margin-bottom: 36px
  }

  .abt_pg .stat_hlt {
    flex-direction: column;
    text-align: center;
    gap: 12px
  }

  .abt_pg .stat_hlt .num_lrg {
    font-size: 37px
  }

  .abt_pg .svg_dvdr {
    padding-right: 24px;
    height: 48px
  }
}

@media (max-width: 360px) {
  .abt_pg .ld_fr .num_acc {
    font-size: 37px
  }

  .abt_pg .ld_fr h1 {
    font-size: 37px
  }

  .abt_pg .miss_blk h2 {
    font-size: 37px
  }

  .abt_pg .tm_shw h2 {
    font-size: 37px
  }

  .abt_pg .val_sec h3 {
    font-size: 37px
  }
}

.abt_pg ::selection {
  background: #D81F66;
  color: #FFF
}

.success_confirm {
  background: linear-gradient(167deg, #d71f6608 0%, #edeef199 100%), linear-gradient(289deg, #097b800a 0%, #fffc 100%);
  min-height: 82vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 36px 12px
}

.success_confirm .confirm_wrapper {
  max-width: 640px;
  width: 100%;
  background: #fff;
  border-radius: 20px;
  padding: 72px 24px;
  text-align: center;
  box-shadow: 0 6px 22px 0 #d81f6617
}

.success_confirm .icon_check {
  width: 84px;
  height: 84px;
  margin: 0 auto 36px;
  background: linear-gradient(167deg, #D81F66 0%, #097B80 100%);
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative
}

.success_confirm .icon_check::before {
  content: '';
  position: absolute;
  width: 28px;
  height: 16px;
  border-left: 4px solid #fff;
  border-bottom: 4px solid #fff;
  transform: rotate(-45deg) translateY(-3px)
}

.success_confirm .main_heading {
  font-size: 37px;
  line-height: 1.1;
  color: #097B80;
  margin: 0 0 24px;
  letter-spacing: .01em
}

.success_confirm .message_text {
  font-size: 16px;
  line-height: 1.55;
  color: #2a2a2a;
  margin: 0 0 36px;
  letter-spacing: .02em
}

.success_confirm .details_box {
  background: #EDEEF1;
  border-radius: 2px;
  padding: 24px;
  margin: 0 0 36px;
  text-align: left
}

.success_confirm .details_box .detail_row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 12px 0;
  border-bottom: 1px solid #097b8026;
  font-size: 14px;
  line-height: 1.55;
  letter-spacing: .01em
}

.success_confirm .details_box .detail_row:last-child {
  border-bottom: none;
  padding-bottom: 0
}

.success_confirm .details_box .detail_label {
  color: #5a5a5a;
  flex-shrink: 0;
  margin-right: 24px
}

.success_confirm .details_box .detail_value {
  color: #2a2a2a;
  font-weight: 600;
  text-align: right
}

.success_confirm .action_group {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap
}

.success_confirm .btn_primary {
  background: #D81F66;
  color: #fff;
  border: none;
  border-radius: 2px;
  padding: 12px 36px;
  font-size: 14px;
  line-height: 1.55;
  letter-spacing: .02em;
  cursor: pointer;
  text-decoration: none;
  display: inline-block;
  position: relative;
  overflow: hidden;
  transition: transform .18s ease-out
}

.success_confirm .btn_primary::before {
  content: '';
  position: absolute;
  top: 0;
  right: 100%;
  width: 100%;
  height: 100%;
  background: #097B80;
  transition: right .32s ease-out
}

.success_confirm .btn_primary:hover::before {
  right: 0
}

.success_confirm .btn_primary span {
  position: relative;
  z-index: 1
}

.success_confirm .btn_secondary {
  background: transparent;
  color: #097B80;
  border: 2px solid #097B80;
  border-radius: 2px;
  padding: 10px 36px;
  font-size: 14px;
  line-height: 1.55;
  letter-spacing: .02em;
  cursor: pointer;
  text-decoration: none;
  display: inline-block;
  transition: background .22s ease-out, color .22s ease-out
}

.success_confirm .btn_secondary:hover {
  background: #097B80;
  color: #fff
}

.success_confirm .note_text {
  font-size: 13px;
  line-height: 1.55;
  color: #6a6a6a;
  margin: 24px 0 0;
  letter-spacing: .01em
}

@media (max-width: 768px) {
  .success_confirm .confirm_wrapper {
    padding: 36px 24px
  }

  .success_confirm .main_heading {
    font-size: 37px
  }

  .success_confirm .action_group {
    flex-direction: column
  }

  .success_confirm .btn_primary,
  .success_confirm .btn_secondary {
    width: 100%
  }

  .success_confirm .details_box .detail_row {
    flex-direction: column;
    gap: 4px
  }

  .success_confirm .details_box .detail_value {
    text-align: left
  }
}

h1, h2, h3, h4, h5, h6 {word-break: break-word;}
