html {
scroll-behavior: auto;
}

body {
margin: 0;
min-height: 100dvh;
font-family: "Oxygen", sans-serif;
-webkit-text-size-adjust: 100%;
text-size-adjust: 100%;
}

.pg-box {
box-sizing: border-box;
max-width: 1440px;
margin-left: auto;
margin-right: auto;
padding-left: 32px;
padding-right: 32px;
}

.hd {
position: relative;
background: linear-gradient(135deg, #BDDDD6 0%, #E9F1EF 60%, #fff 100%);
border-bottom: 2px solid #45A464;
box-shadow: -1px 6px 20px -2px rgba(69, 164, 100, 0.10);
z-index: 100;
}

.hd-bar {
box-sizing: border-box;
max-width: 1440px;
margin-left: auto;
margin-right: auto;
padding-left: 32px;
padding-right: 32px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 32px;
padding-top: 16px;
padding-bottom: 16px;
min-height: 96px;
}

.hd-brand {
flex-shrink: 0;
display: flex;
align-items: center;
}

.hd-brand__ring {
display: flex;
align-items: center;
justify-content: center;
width: 88px;
height: 88px;
border-radius: 50%;
background: #fff;
border: 2px solid #BDDDD6;
box-shadow: -1px 3px 3px -2px rgba(69, 164, 100, 0.06), -1px 6px 20px -2px rgba(69, 164, 100, 0.10);
overflow: hidden;
}

.hd-brand__ring img {
width: 80px;
height: 80px;
object-fit: contain;
display: block;
}

.hd-menu {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 8px;
list-style: none;
margin: 0;
padding: 0;
flex: 1;
justify-content: center;
}

.hd-menu__item {
position: relative;
}

.hd-menu__lnk {
display: inline-block;
font-family: "Oxygen", sans-serif;
font-size: 15px;
font-weight: 700;
line-height: 1.4;
letter-spacing: 0.06em;
color: #1b4232;
text-decoration: none;
padding: 8px 16px;
border-radius: 6px;
transition: background 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), color 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
position: relative;
}

.hd-menu__lnk::after {
content: "";
position: absolute;
left: 16px;
bottom: 4px;
width: 0;
height: 2px;
background: #45A464;
border-radius: 0px;
transition: width 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.hd-menu__lnk:hover::after,
.hd-menu__lnk:focus::after {
width: calc(100% - 32px);
}

.hd-menu__lnk:hover,
.hd-menu__lnk:focus {
background: rgba(189, 221, 214, 0.35);
color: #45A464;
outline: none;
}

.hd-menu__lnk:focus-visible {
outline: 2px solid #45A464;
outline-offset: 2px;
}

.hd-act {
flex-shrink: 0;
display: flex;
align-items: center;
}

.hd-act__btn {
display: inline-flex;
align-items: center;
gap: 8px;
font-family: "Oxygen", sans-serif;
font-size: 15px;
font-weight: 700;
line-height: 1.4;
letter-spacing: 0.04em;
color: #fff;
background: #45A464;
border: none;
border-radius: 10px;
padding: 12px 32px;
cursor: pointer;
text-decoration: none;
min-height: 48px;
box-shadow: -1px 6px 20px -2px rgba(69, 164, 100, 0.10);
transition: background 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.hd-act__btn:hover,
.hd-act__btn:focus {
background: #38895a;
box-shadow: -1px 10px 60px -2px rgba(69, 164, 100, 0.14);
outline: none;
}

.hd-act__btn:focus-visible {
outline: 2px solid #1b4232;
outline-offset: 2px;
}

.hd-stripe {
background: #45A464;
padding-top: 8px;
padding-bottom: 8px;
}

.hd-stripe__inner {
box-sizing: border-box;
max-width: 1440px;
margin-left: auto;
margin-right: auto;
padding-left: 32px;
padding-right: 32px;
display: flex;
align-items: center;
justify-content: flex-end;
gap: 32px;
}

.hd-stripe__item {
font-family: "Oxygen", sans-serif;
font-size: 15px;
font-weight: 400;
line-height: 1.4;
color: #fff;
letter-spacing: 0.03em;
}

.hd-stripe__lnk {
color: #fff;
text-decoration: none;
transition: opacity 0.48s ease-in-out;
}

.hd-stripe__lnk:hover,
.hd-stripe__lnk:focus {
opacity: 0.8;
text-decoration: underline;
outline: none;
}

.hd-stripe__lnk:focus-visible {
outline: 2px solid #E9F1EF;
outline-offset: 2px;
border-radius: 6px;
}

.ft {
background: #1b4232;
position: relative;
overflow: hidden;
}

.ft-depth {
position: absolute;
right: -32px;
bottom: -32px;
font-family: "Oxygen", sans-serif;
font-size: 220px;
font-weight: 700;
line-height: 1;
color: rgba(69, 164, 100, 0.08);
pointer-events: none;
user-select: none;
white-space: nowrap;
letter-spacing: -8px;
}

.ft-grid {
box-sizing: border-box;
max-width: 1440px;
margin-left: auto;
margin-right: auto;
padding-left: 32px;
padding-right: 32px;
padding-top: 32px;
padding-bottom: 32px;
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 32px;
position: relative;
z-index: 1;
}

.ft-brand-col {
display: flex;
flex-direction: column;
gap: 16px;
}

.ft-brand__ring {
display: flex;
align-items: center;
justify-content: center;
width: 80px;
height: 80px;
border-radius: 50%;
background: #fff;
border: 2px solid #45A464;
box-shadow: -1px 3px 3px -2px rgba(69, 164, 100, 0.06), -1px 6px 20px -2px rgba(69, 164, 100, 0.10);
overflow: hidden;
flex-shrink: 0;
}

.ft-brand__ring img {
width: 68px;
height: 68px;
object-fit: contain;
display: block;
}

.ft-brand__name {
font-family: "Oxygen", sans-serif;
font-size: 19px;
font-weight: 700;
line-height: 1.4;
color: #E9F1EF;
letter-spacing: 0.03em;
}

.ft-brand__tagline {
font-family: "Oxygen", sans-serif;
font-size: 15px;
font-weight: 300;
line-height: 1.6;
color: #BDDDD6;
}

.ft-contact-col {
display: flex;
flex-direction: column;
gap: 16px;
}

.ft-col__label {
font-family: "Oxygen", sans-serif;
font-size: 15px;
font-weight: 700;
line-height: 1.4;
letter-spacing: 0.08em;
color: #45A464;
text-transform: uppercase;
}

.ft-contact__item {
display: flex;
flex-direction: column;
gap: 4px;
}

.ft-contact__type {
font-family: "Oxygen", sans-serif;
font-size: 15px;
font-weight: 300;
line-height: 1.4;
color: #BDDDD6;
letter-spacing: 0.04em;
}

.ft-contact__val {
font-family: "Oxygen", sans-serif;
font-size: 15px;
font-weight: 400;
line-height: 1.6;
color: #E9F1EF;
}

.ft-contact__lnk {
color: #E9F1EF;
text-decoration: none;
transition: color 0.48s ease-in-out;
}

.ft-contact__lnk:hover,
.ft-contact__lnk:focus {
color: #45A464;
text-decoration: underline;
outline: none;
}

.ft-contact__lnk:focus-visible {
outline: 2px solid #45A464;
outline-offset: 2px;
border-radius: 6px;
}

.ft-legal-col {
display: flex;
flex-direction: column;
gap: 16px;
}

.ft-legal__list {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 8px;
}

.ft-legal__lnk {
font-family: "Oxygen", sans-serif;
font-size: 15px;
font-weight: 400;
line-height: 1.6;
color: #BDDDD6;
text-decoration: none;
position: relative;
transition: color 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.ft-legal__lnk::after {
content: "";
position: absolute;
left: 0;
bottom: -2px;
width: 0;
height: 1px;
background: #45A464;
transition: width 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.ft-legal__lnk:hover,
.ft-legal__lnk:focus {
color: #45A464;
outline: none;
}

.ft-legal__lnk:hover::after,
.ft-legal__lnk:focus::after {
width: 100%;
}

.ft-legal__lnk:focus-visible {
outline: 2px solid #45A464;
outline-offset: 2px;
border-radius: 6px;
}

.ft-bottom {
border-top: 1px solid rgba(69, 164, 100, 0.18);
position: relative;
z-index: 1;
}

.ft-bottom__inner {
box-sizing: border-box;
max-width: 1440px;
margin-left: auto;
margin-right: auto;
padding-left: 32px;
padding-right: 32px;
padding-top: 16px;
padding-bottom: 16px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
flex-wrap: wrap;
}

.ft-copy {
font-family: "Oxygen", sans-serif;
font-size: 15px;
font-weight: 300;
line-height: 1.4;
color: #BDDDD6;
}

.ft-policy-note {
font-family: "Oxygen", sans-serif;
font-size: 15px;
font-weight: 300;
line-height: 1.4;
color: #BDDDD6;
}

.ft-policy-note__lnk {
color: #BDDDD6;
text-decoration: underline;
transition: color 0.48s ease-in-out;
}

.ft-policy-note__lnk:hover,
.ft-policy-note__lnk:focus {
color: #45A464;
outline: none;
}

.ft-policy-note__lnk:focus-visible {
outline: 2px solid #45A464;
outline-offset: 2px;
border-radius: 6px;
}

.ck-bar {
display: none;
position: fixed;
bottom: 0;
left: 0;
width: 100%;
background: #1b4232;
border-top: 2px solid #45A464;
box-shadow: -1px 10px 60px -2px rgba(69, 164, 100, 0.14);
z-index: 1500;
box-sizing: border-box;
}

.ck-bar__inner {
box-sizing: border-box;
max-width: 1440px;
margin-left: auto;
margin-right: auto;
padding: 16px 32px;
display: flex;
align-items: center;
gap: 32px;
flex-wrap: wrap;
}

.ck-bar__text {
font-family: "Oxygen", sans-serif;
font-size: 15px;
font-weight: 400;
line-height: 1.6;
color: #E9F1EF;
flex: 1;
min-width: 200px;
}

.ck-bar__text a {
color: #BDDDD6;
text-decoration: underline;
transition: color 0.48s ease-in-out;
}

.ck-bar__text a:hover,
.ck-bar__text a:focus {
color: #45A464;
outline: none;
}

.ck-bar__btns {
display: flex;
gap: 16px;
flex-shrink: 0;
}

.ck-bar__btn {
font-family: "Oxygen", sans-serif;
font-size: 15px;
font-weight: 700;
line-height: 1.4;
padding: 12px 32px;
border-radius: 10px;
border: 2px solid #45A464;
cursor: pointer;
min-height: 48px;
min-width: 120px;
transition: background 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), color 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.ck-bar__btn--accept {
background: #45A464;
color: #fff;
}

.ck-bar__btn--accept:hover,
.ck-bar__btn--accept:focus {
background: #38895a;
outline: none;
}

.ck-bar__btn--accept:focus-visible {
outline: 2px solid #E9F1EF;
outline-offset: 2px;
}

.ck-bar__btn--decline {
background: transparent;
color: #E9F1EF;
}

.ck-bar__btn--decline:hover,
.ck-bar__btn--decline:focus {
background: rgba(69, 164, 100, 0.15);
outline: none;
}

.ck-bar__btn--decline:focus-visible {
outline: 2px solid #45A464;
outline-offset: 2px;
}

@media (max-width: 1024px) {
.ft-grid {
grid-template-columns: 1fr 1fr;
}

.ft-brand-col {
grid-column: 1 / -1;
}

.hd-bar {
min-height: 80px;
}

.hd-brand__ring {
width: 72px;
height: 72px;
}

.hd-brand__ring img {
width: 64px;
height: 64px;
}
}

@media (max-width: 640px) {
.hd-bar {
flex-wrap: wrap;
gap: 16px;
padding-top: 16px;
padding-bottom: 16px;
}

.hd-menu {
order: 3;
width: 100%;
justify-content: flex-start;
}

.hd-act {
margin-left: auto;
}

.hd-stripe__inner {
flex-direction: column;
align-items: flex-start;
gap: 4px;
}

.ft-grid {
grid-template-columns: 1fr;
}

.ft-brand-col {
grid-column: auto;
}

.ft-depth {
font-size: 120px;
}

.ft-bottom__inner {
flex-direction: column;
align-items: flex-start;
}

.ck-bar__inner {
flex-direction: column;
align-items: flex-start;
}

.ck-bar__btns {
width: 100%;
}

.ck-bar__btn {
flex: 1;
}
}

.policy-content-hn {
max-width: 1440px;
margin: 0 auto;
padding: 32px;
color: #2d3a35;
}

.policy-content-hn p {
font-size: 15px;
line-height: 1.9;
margin-bottom: 16px;
max-width: 72ch;
}

.policy-content-hn ul,
.policy-content-hn ol {
margin: 16px 0 16px 32px;
padding: 0;
}

.policy-content-hn li {
font-size: 15px;
line-height: 1.6;
margin-bottom: 8px;
max-width: 72ch;
}

.policy-content-hn ul li {
list-style-type: disc;
}

.policy-content-hn ol li {
list-style-type: decimal;
}

.policy-content-hn ul ul,
.policy-content-hn ol ol,
.policy-content-hn ul ol,
.policy-content-hn ol ul {
margin-top: 8px;
margin-bottom: 8px;
}

.policy-content-hn strong,
.policy-content-hn b {
font-weight: 700;
color: #1e2e28;
}

.policy-content-hn em,
.policy-content-hn i {
font-style: italic;
color: #3a4f47;
}

.policy-content-hn a {
color: #45A464;
text-decoration: none;
background-image: linear-gradient(currentColor, currentColor);
background-repeat: no-repeat;
background-size: 0% 1px;
background-position: left bottom;
transition: background-size 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94), color 0.45s ease-in-out;
}

.policy-content-hn a:hover {
color: #2e7a47;
background-size: 100% 1px;
}

.policy-content-hn table {
width: 100%;
border-collapse: collapse;
margin: 32px 0;
font-size: 15px;
line-height: 1.6;
box-shadow: -1px 6px 20px -2px rgba(69, 164, 100, 0.10);
border-radius: 10px;
overflow: hidden;
}

.policy-content-hn thead {
background-color: #45A464;
color: #ffffff;
}

.policy-content-hn thead th {
padding: 16px;
font-size: 15px;
font-weight: 700;
letter-spacing: 0.04em;
text-align: left;
border: none;
}

.policy-content-hn tbody tr {
border-bottom: 1px solid #BDDDD6;
transition: background-color 0.5s ease-in-out;
}

.policy-content-hn tbody tr:last-child {
border-bottom: none;
}

.policy-content-hn tbody tr:nth-child(even) {
background-color: #E9F1EF;
}

.policy-content-hn tbody tr:hover {
background-color: #BDDDD6;
}

.policy-content-hn td {
padding: 16px;
font-size: 15px;
line-height: 1.6;
color: #2d3a35;
vertical-align: top;
}

.policy-content-hn th {
padding: 16px;
}

@media (max-width: 1024px) {
.policy-content-hn {
padding: 32px 16px;
}
}

@media (max-width: 640px) {
.policy-content-hn {
padding: 16px 8px;
}

.policy-content-hn p,
.policy-content-hn li {
font-size: 15px;
max-width: 100%;
}

.policy-content-hn table {
display: block;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}

.policy-content-hn ul,
.policy-content-hn ol {
margin-left: 16px;
}
}

.abt-pg {
max-width: 1440px;
margin: 0 auto;
overflow-x: clip;
}

.abt-pg .divider {
width: 100%;
height: 2px;
background: radial-gradient(ellipse at center, #45A464 0%, transparent 70%);
border: none;
}

.abt-pg .split-hero {
display: grid;
grid-template-columns: 1fr 1fr;
min-height: 560px;
position: relative;
}

.abt-pg .split-hero__left {
background: #45A464;
padding: 32px 32px 64px 32px;
display: flex;
flex-direction: column;
justify-content: flex-end;
position: relative;
overflow: hidden;
}

.abt-pg .split-hero__left::before {
content: "";
position: absolute;
top: 16px;
left: 16px;
width: 80px;
height: 80px;
border-top: 1px dashed rgba(255, 255, 255, 0.4);
border-left: 1px dashed rgba(255, 255, 255, 0.4);
pointer-events: none;
}

.abt-pg .split-hero__left::after {
content: "";
position: absolute;
bottom: 32px;
right: 32px;
width: 48px;
height: 48px;
border-bottom: 1px dashed rgba(255, 255, 255, 0.3);
border-right: 1px dashed rgba(255, 255, 255, 0.3);
pointer-events: none;
}

.abt-pg .split-hero__right {
background: #BDDDD6;
position: relative;
overflow: hidden;
}

.abt-pg .split-hero__right img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
filter: saturate(0.7) brightness(0.95);
aspect-ratio: 1/1;
}

.abt-pg .hero-label {
font-size: 15px;
letter-spacing: 0.12em;
color: rgba(255, 255, 255, 0.75);
margin-bottom: 16px;
line-height: 1.4;
}

.abt-pg .hero-h1 {
font-size: 56px;
line-height: 1.2;
color: #fff;
font-weight: 700;
margin-bottom: 32px;
-webkit-text-stroke: 0px;
}

.abt-pg .hero-h1 span {
display: block;
-webkit-text-stroke: 1.5px #fff;
color: transparent;
}

.abt-pg .hero-desc {
font-size: 19px;
line-height: 1.6;
color: rgba(255, 255, 255, 0.9);
max-width: 420px;
}

.abt-pg .abt-body {
background: #E9F1EF;
padding: 64px 32px;
}

.abt-pg .abt-body__grid {
display: grid;
grid-template-columns: 1fr 2fr;
gap: 32px;
max-width: 1200px;
margin: 0 auto;
}

.abt-pg .abt-body__aside {
display: flex;
flex-direction: column;
gap: 32px;
}

.abt-pg .aside-card {
background: #fff;
border-radius: 10px;
padding: 32px;
box-shadow: -1px 6px 20px -2px rgba(69, 164, 100, 0.10);
position: relative;
}

.abt-pg .aside-card__badge {
position: absolute;
top: -12px;
right: 16px;
background: #45A464;
color: #fff;
font-size: 15px;
font-weight: 700;
border-radius: 6px;
width: 36px;
height: 36px;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
box-shadow: -1px 3px 3px -2px rgba(69, 164, 100, 0.06);
}

.abt-pg .aside-card__h {
font-size: 15px;
letter-spacing: 0.08em;
color: #45A464;
margin-bottom: 8px;
line-height: 1.4;
font-weight: 600;
}

.abt-pg .aside-card__p {
font-size: 15px;
line-height: 1.6;
color: #2d4a38;
}

.abt-pg .abt-body__main {
display: flex;
flex-direction: column;
gap: 32px;
}

.abt-pg .main-heading {
font-size: 24px;
line-height: 1.4;
font-weight: 700;
-webkit-text-stroke: 1px #2d4a38;
color: transparent;
text-align: center;
margin-bottom: 8px;
}

.abt-pg .main-p {
font-size: 15px;
line-height: 1.9;
color: #2d4a38;
}

.abt-pg .img-row {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 16px;
}

.abt-pg .img-row__item {
border-radius: 10px;
overflow: hidden;
aspect-ratio: 1/1;
box-shadow: -1px 3px 3px -2px rgba(69, 164, 100, 0.06);
}

.abt-pg .img-row__item img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
transition: transform 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.abt-pg .img-row__item:hover img {
transform: scale(1.04);
}

.abt-pg .accent-block {
border: 1px dashed #45A464;
border-radius: 10px;
padding: 32px;
background: #fff;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 32px;
align-items: center;
animation: bg-cycle 8s ease-in-out infinite;
}

@keyframes bg-cycle {
0% {
background: #fff;
}

50% {
background: #E9F1EF;
}

100% {
background: #fff;
}
}

.abt-pg .accent-block__q {
font-size: 19px;
line-height: 1.6;
color: #2d4a38;
font-style: italic;
}

.abt-pg .accent-block__person {
display: flex;
flex-direction: row;
align-items: center;
gap: 16px;
}

.abt-pg .accent-block__portrait {
width: 80px;
height: 80px;
border-radius: 50%;
overflow: hidden;
flex-shrink: 0;
box-shadow: -1px 6px 20px -2px rgba(69, 164, 100, 0.10);
}

.abt-pg .accent-block__portrait img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
}

.abt-pg .accent-block__name {
font-size: 15px;
line-height: 1.4;
font-weight: 600;
color: #2d4a38;
}

.abt-pg .accent-block__role {
font-size: 15px;
line-height: 1.4;
color: #45A464;
}

.abt-pg .num-list {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 16px;
}

.abt-pg .num-list__item {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
}

.abt-pg .num-list__n {
font-size: 56px;
line-height: 1.2;
color: rgba(69, 164, 100, 0.12);
font-weight: 700;
flex-shrink: 0;
width: 48px;
text-align: right;
}

.abt-pg .num-list__text {
font-size: 15px;
line-height: 1.9;
color: #2d4a38;
padding-top: 8px;
}

.abt-pg .img-wide {
border-radius: 10px;
overflow: hidden;
box-shadow: -1px 10px 60px -2px rgba(69, 164, 100, 0.14);
}

.abt-pg .img-wide img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
aspect-ratio: 1/1;
}

@media (max-width: 1024px) {
.abt-pg .split-hero {
grid-template-columns: 1fr;
}

.abt-pg .split-hero__right {
height: 360px;
}

.abt-pg .split-hero__right img {
height: 360px;
}

.abt-pg .abt-body__grid {
grid-template-columns: 1fr;
}

.abt-pg .accent-block {
grid-template-columns: 1fr;
}

.abt-pg .hero-h1 {
font-size: 40px;
}
}

@media (max-width: 640px) {
.abt-pg .img-row {
grid-template-columns: 1fr 1fr;
}

.abt-pg .hero-h1 {
font-size: 32px;
}

.abt-pg .split-hero__left {
padding: 32px 16px 48px 16px;
}

.abt-pg .abt-body {
padding: 32px 16px;
}

.abt-pg .aside-card {
padding: 16px;
}

.abt-pg .accent-block {
padding: 16px;
}
}

.ctus {
max-width: 1440px;
margin: 0 auto;
overflow-x: clip;
}

.ctus .strip {
position: relative;
padding: 32px 32px 32px 32px;
background: linear-gradient(263deg, #45A464, #BDDDD6);
display: flex;
flex-direction: row;
align-items: center;
gap: 32px;
}

.ctus .strip__circles {
position: absolute;
inset: 0;
pointer-events: none;
overflow: hidden;
}

.ctus .strip__circles::before {
content: "";
position: absolute;
width: 220px;
height: 220px;
border-radius: 50%;
background: rgba(255, 255, 255, 0.07);
top: -60px;
right: 120px;
}

.ctus .strip__circles::after {
content: "";
position: absolute;
width: 120px;
height: 120px;
border-radius: 50%;
background: rgba(255, 255, 255, 0.05);
bottom: -30px;
right: 60px;
}

.ctus .strip__img-wrap {
flex: 0 0 auto;
width: 180px;
height: 180px;
border-radius: 10px;
overflow: hidden;
position: relative;
box-shadow: -1px 6px 20px -2px rgba(69, 164, 100, 0.10);
}

.ctus .strip__img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
filter: blur(0px) saturate(0.9);
display: block;
}

.ctus .strip__img-wrap::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(263deg, transparent 40%, rgba(69, 164, 100, 0.35) 100%);
}

.ctus .strip__text {
flex: 1 1 auto;
position: relative;
z-index: 1;
}

.ctus .strip__label {
font-size: 15px;
letter-spacing: 0.12em;
color: rgba(255, 255, 255, 0.82);
line-height: 1.4;
margin-bottom: 8px;
text-transform: uppercase;
}

.ctus .strip__decl {
font-size: 24px;
line-height: 1.2;
color: #fff;
-webkit-text-stroke: 1px rgba(255, 255, 255, 0.6);
color: transparent;
margin-bottom: 8px;
}

.ctus .strip__sub {
font-size: 15px;
line-height: 1.6;
color: rgba(255, 255, 255, 0.9);
max-width: 560px;
}

.ctus .div-arrows {
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
gap: 8px;
padding: 8px 0;
background: #E9F1EF;
}

.ctus .div-arrows__arr {
width: 0;
height: 0;
border-top: 6px solid transparent;
border-bottom: 6px solid transparent;
border-left: 8px solid #BDDDD6;
}

.ctus .form-area {
padding: 32px;
background: #fff;
position: relative;
}

.ctus .form-area::before {
content: "";
position: absolute;
inset: 0;
background-image: url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='1' cy='1' r='1' fill='%2345A464' fill-opacity='0.04'/%3E%3C/svg%3E");
background-size: 40px 40px;
pointer-events: none;
z-index: 0;
}

.ctus .form-area__inner {
position: relative;
z-index: 1;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 32px;
max-width: 1100px;
margin: 0 auto;
}

.ctus .form-area__left {
display: flex;
flex-direction: column;
gap: 16px;
}

.ctus .form-area__tag {
font-size: 15px;
letter-spacing: 0.1em;
color: #45A464;
text-transform: uppercase;
line-height: 1.4;
}

.ctus .form-area__hdg {
font-size: 24px;
line-height: 1.2;
color: transparent;
-webkit-text-stroke: 1.5px #45A464;
}

.ctus .form-area__desc {
font-size: 15px;
line-height: 1.6;
color: #2d4a38;
}

.ctus .info-list {
display: flex;
flex-direction: column;
gap: 16px;
margin-top: 8px;
}

.ctus .info-item {
display: flex;
flex-direction: column;
gap: 4px;
padding: 16px;
border-radius: 10px;
background: #E9F1EF;
border-top: 2px solid #BDDDD6;
border-right: 1px solid #BDDDD6;
box-shadow: -1px 3px 3px -2px rgba(69, 164, 100, 0.06);
transition: box-shadow 0.5s ease-in-out, border-color 0.5s ease-in-out;
position: relative;
overflow: hidden;
}

.ctus .info-item:hover {
box-shadow: -1px 6px 20px -2px rgba(69, 164, 100, 0.10);
border-color: #45A464;
}

.ctus .info-item__fold {
position: absolute;
top: 0;
right: 0;
width: 0;
height: 0;
border-style: solid;
border-width: 0 0 0 0;
border-color: transparent #BDDDD6 transparent transparent;
transition: border-width 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.ctus .info-item:hover .info-item__fold {
border-width: 0 28px 28px 0;
border-color: transparent #45A464 transparent transparent;
}

.ctus .info-item__lbl {
font-size: 15px;
letter-spacing: 0.08em;
color: #45A464;
text-transform: uppercase;
line-height: 1.4;
}

.ctus .info-item__val {
font-size: 15px;
line-height: 1.6;
color: #1e3328;
}

.ctus .info-item__val a {
color: #1e3328;
text-decoration: none;
border-bottom: 1px solid transparent;
transition: border-color 0.45s ease-in-out;
}

.ctus .info-item__val a:hover {
border-color: #45A464;
}

.ctus .form-area__right {
display: flex;
flex-direction: column;
gap: 0;
}

.ctus .cf {
display: flex;
flex-direction: column;
gap: 16px;
}

.ctus .cf__row {
display: flex;
flex-direction: column;
gap: 4px;
}

.ctus .cf__lbl {
font-size: 15px;
line-height: 1.4;
color: #2d4a38;
letter-spacing: 0.04em;
}

.ctus .cf__inp {
font-size: 15px;
line-height: 1.6;
color: #1e3328;
background: #fff;
border: 1.5px solid #BDDDD6;
border-radius: 6px;
padding: 8px 16px;
outline: none;
box-shadow: inset -1px 3px 3px -2px rgba(69, 164, 100, 0.06);
transition: border-color 0.5s ease-in-out, box-shadow 0.5s ease-in-out;
width: 100%;
box-sizing: border-box;
}

.ctus .cf__inp::placeholder {
color: #7aaa8e;
}

.ctus .cf__inp:focus {
border-color: #45A464;
box-shadow: inset -1px 3px 3px -2px rgba(69, 164, 100, 0.10);
}

.ctus .cf__sel {
font-size: 15px;
line-height: 1.6;
color: #1e3328;
background: #fff;
border: 1.5px solid #BDDDD6;
border-radius: 6px;
padding: 8px 16px;
outline: none;
box-shadow: inset -1px 3px 3px -2px rgba(69, 164, 100, 0.06);
transition: border-color 0.5s ease-in-out;
width: 100%;
box-sizing: border-box;
appearance: none;
-webkit-appearance: none;
cursor: pointer;
background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2345A464' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: right 16px center;
padding-right: 40px;
}

.ctus .cf__sel:focus {
border-color: #45A464;
}

.ctus .cf__bubble {
border-radius: 10px;
background: #E9F1EF;
padding: 16px;
position: relative;
border: 1px solid #BDDDD6;
}

.ctus .cf__bubble::before {
content: "";
position: absolute;
bottom: -10px;
left: 24px;
width: 0;
height: 0;
border-left: 10px solid transparent;
border-right: 0 solid transparent;
border-top: 10px solid #BDDDD6;
}

.ctus .cf__bubble::after {
content: "";
position: absolute;
bottom: -8px;
left: 25px;
width: 0;
height: 0;
border-left: 9px solid transparent;
border-right: 0 solid transparent;
border-top: 9px solid #E9F1EF;
}

.ctus .cf__bubble-txt {
font-size: 15px;
line-height: 1.6;
color: #2d4a38;
}

.ctus .cf__privacy {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 8px;
margin-top: 4px;
}

.ctus .cf__chk {
width: 18px;
height: 18px;
flex-shrink: 0;
margin-top: 2px;
accent-color: #45A464;
cursor: pointer;
}

.ctus .cf__priv-txt {
font-size: 15px;
line-height: 1.6;
color: #2d4a38;
}

.ctus .cf__priv-txt a {
color: #45A464;
text-decoration: none;
border-bottom: 1px solid rgba(69, 164, 100, 0.4);
transition: border-color 0.45s ease-in-out;
}

.ctus .cf__priv-txt a:hover {
border-color: #45A464;
}

.ctus .cf__submit {
display: inline-flex !important;
align-items: center;
justify-content: center;
background: #45A464;
color: #fff;
font-size: 19px;
line-height: 1.4;
padding: 16px 32px;
border-radius: 6px;
border: none;
cursor: pointer;
box-shadow: -1px 6px 20px -2px rgba(69, 164, 100, 0.10);
transition: background 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
align-self: flex-start;
position: relative;
overflow: hidden;
}

.ctus .cf__submit:hover {
background: #388a52;
box-shadow: -1px 10px 60px -2px rgba(69, 164, 100, 0.14);
}

.ctus .cf__submit:focus {
outline: 2px solid #45A464;
outline-offset: 3px;
}

.ctus .cf__submit:active {
background: #2e7343;
}

@media (max-width: 1024px) {
.ctus .form-area__inner {
grid-template-columns: 1fr;
gap: 32px;
}

.ctus .strip {
flex-direction: column;
align-items: flex-start;
}
}

@media (max-width: 640px) {
.ctus .strip {
padding: 16px;
gap: 16px;
}

.ctus .strip__img-wrap {
width: 120px;
height: 120px;
}

.ctus .strip__decl {
font-size: 19px;
}

.ctus .form-area {
padding: 16px;
}

.ctus .cf__submit {
width: 100%;
justify-content: center;
}
}

.bs {
max-width: 1440px;
margin: 0 auto;
overflow-x: clip;
}

.bs .ed-col {
max-width: 780px;
margin-left: auto;
margin-right: auto;
padding-left: 32px;
padding-right: 32px;
}

.bs .ed-col--wide {
max-width: 960px;
margin-left: auto;
margin-right: auto;
padding-left: 32px;
padding-right: 32px;
}

.bs .lbl {
display: inline-block;
font-size: 15px;
line-height: 1.4;
letter-spacing: 0.12em;
text-transform: uppercase;
color: #45A464;
margin-bottom: 16px;
}

.bs .out-h {
-webkit-text-stroke: 1.5px currentColor;
color: transparent;
line-height: 1.2;
}

.bs .scanline-bg {
position: relative;
}

.bs .scanline-bg::before {
content: "";
position: absolute;
inset: 0;
background: repeating-linear-gradient(180deg,
transparent 0px,
transparent 3px,
rgba(69, 164, 100, 0.04) 3px,
rgba(69, 164, 100, 0.04) 4px);
animation: scan-drift 8s linear infinite;
pointer-events: none;
z-index: 0;
}

@keyframes scan-drift {
0% {
background-position: 0 0;
}

100% {
background-position: 0 80px;
}
}

.bs .scanline-bg>* {
position: relative;
z-index: 1;
}

.bs .pg-fold {
position: relative;
transition: box-shadow 0.55s ease-in-out;
}

.bs .pg-fold::after {
content: "";
position: absolute;
bottom: 0;
right: 0;
width: 0;
height: 0;
border-style: solid;
border-width: 0 0 0 0;
border-color: transparent transparent #BDDDD6 transparent;
transition: border-width 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
pointer-events: none;
}

.bs .pg-fold:hover::after {
border-width: 0 0 28px 28px;
}

.bs .pg-fold:hover {
box-shadow: -1px 6px 20px -2px rgba(69, 164, 100, 0.10);
}

.bs .side-acc {
border-right: 2px solid #BDDDD6;
}

.bs .ul-slide {
position: relative;
display: inline-block;
text-decoration: none;
color: inherit;
}

.bs .ul-slide::after {
content: "";
position: absolute;
bottom: -2px;
left: 0;
width: 0;
height: 1px;
background: #45A464;
transition: width 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.bs .ul-slide:hover::after {
width: 100%;
}

.bs .num-pfx {
font-size: 56px;
line-height: 1.2;
color: rgba(69, 164, 100, 0.12);
font-weight: 700;
position: absolute;
top: -8px;
left: 0;
pointer-events: none;
user-select: none;
}

.bs .num-item {
position: relative;
padding-left: 48px;
padding-top: 8px;
padding-bottom: 16px;
}

.bs .btn-pri {
display: inline-block;
padding: 16px 32px;
background: #45A464;
color: #fff;
font-size: 19px;
line-height: 1.4;
border: none;
border-radius: 10px;
cursor: pointer;
text-decoration: none;
transition: background 0.5s ease-in-out, box-shadow 0.55s ease-in-out;
position: relative;
overflow: hidden;
}

.bs .btn-pri:hover {
background: #3a8f56;
box-shadow: -1px 6px 20px -2px rgba(69, 164, 100, 0.10);
}

.bs .btn-sec {
display: inline-block;
padding: 8px 16px;
background: transparent;
color: #45A464;
font-size: 15px;
line-height: 1.4;
border: 1px solid #45A464;
border-radius: 6px;
cursor: pointer;
text-decoration: none;
transition: background 0.48s ease-in-out, color 0.48s ease-in-out;
}

.bs .btn-sec:hover {
background: #45A464;
color: #fff;
}

.bs .img-sq {
aspect-ratio: 1/1;
width: 100%;
object-fit: cover;
object-position: center;
display: block;
}

.bs .img-port {
aspect-ratio: 4/5;
width: 100%;
object-fit: cover;
object-position: center;
display: block;
}

.bs .t1 {
padding: 32px 0;
background: #fff;
}

.bs .t1__grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 32px;
align-items: start;
max-width: 960px;
margin: 0 auto;
padding: 0 32px;
}

.bs .t1__img-col {
position: relative;
}

.bs .t1__img-wrap {
position: relative;
border-radius: 0px;
overflow: hidden;
box-shadow: -1px 10px 60px -2px rgba(69, 164, 100, 0.14);
}

.bs .t1__img-wrap img {
width: 100%;
aspect-ratio: 3/4;
object-fit: cover;
object-position: center;
display: block;
mix-blend-mode: multiply;
}

.bs .t1__img-wrap::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(263deg, rgba(69, 164, 100, 0.18), rgba(189, 221, 214, 0.22));
pointer-events: none;
}

.bs .t1__circ {
position: absolute;
border-radius: 50%;
pointer-events: none;
z-index: 0;
}

.bs .t1__circ--a {
width: 180px;
height: 180px;
border: 1px solid rgba(69, 164, 100, 0.12);
top: -32px;
right: -32px;
}

.bs .t1__circ--b {
width: 100px;
height: 100px;
background: rgba(189, 221, 214, 0.18);
bottom: 16px;
left: -24px;
}

.bs .t1__text-col {
padding-top: 32px;
}

.bs .t1__num {
font-size: 70px;
line-height: 1.2;
font-weight: 700;
color: rgba(69, 164, 100, 0.14);
display: block;
margin-bottom: 8px;
}

.bs .t1__h {
font-size: 56px;
line-height: 1.2;
font-weight: 700;
margin-bottom: 16px;
-webkit-text-stroke: 1.5px #2d6b42;
color: transparent;
}

.bs .t1__desc {
font-size: 19px;
line-height: 1.6;
color: #2c3e35;
margin-bottom: 32px;
}

.bs .t1__tag {
font-size: 15px;
line-height: 1.4;
color: #45A464;
letter-spacing: 0.1em;
text-transform: uppercase;
}

.bs .sec2 {
padding: 64px 0;
background: #E9F1EF;
border-top: 1px solid #BDDDD6;
border-bottom: 1px solid #BDDDD6;
}

.bs .sec2__grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 32px;
}

.bs .sec2__card {
background: #fff;
border-radius: 10px;
padding: 32px;
box-shadow: -1px 3px 3px -2px rgba(69, 164, 100, 0.06);
border-right: 3px solid #BDDDD6;
border-top: 1px solid rgba(189, 221, 214, 0.4);
position: relative;
}

.bs .sec2__card.pg-fold::after {
border-color: transparent transparent #E9F1EF transparent;
}

.bs .sec2__port-row {
display: flex;
flex-direction: row;
gap: 16px;
align-items: flex-start;
margin-bottom: 16px;
}

.bs .sec2__port-wrap {
width: 72px;
min-width: 72px;
border-radius: 0px;
overflow: hidden;
flex-shrink: 0;
}

.bs .sec2__name {
font-size: 15px;
line-height: 1.4;
font-weight: 600;
color: #1e3328;
margin-bottom: 4px;
}

.bs .sec2__role {
font-size: 15px;
line-height: 1.4;
color: #45A464;
letter-spacing: 0.06em;
}

.bs .sec2__body {
font-size: 15px;
line-height: 1.6;
color: #2c3e35;
}

.bs .sec2__out {
font-size: 19px;
line-height: 1.4;
font-weight: 700;
color: #45A464;
margin-top: 16px;
padding-top: 16px;
border-top: 1px solid #BDDDD6;
}

.bs .sec3 {
padding: 64px 0;
background: #fff;
position: relative;
}

.bs .sec3__mesh {
position: absolute;
inset: 0;
background: linear-gradient(263deg, rgba(69, 164, 100, 0.06) 0%, rgba(189, 221, 214, 0.10) 40%, rgba(233, 241, 239, 0.18) 100%);
pointer-events: none;
}

.bs .sec3__steps {
display: flex;
flex-direction: column;
gap: 32px;
margin-top: 32px;
}

.bs .sec3__step {
display: grid;
grid-template-columns: 80px 1fr;
gap: 16px;
align-items: start;
}

.bs .sec3__step-num {
font-size: 56px;
line-height: 1.2;
font-weight: 700;
color: rgba(69, 164, 100, 0.15);
text-align: right;
}

.bs .sec3__step-body {
padding-top: 8px;
border-left: 2px solid #BDDDD6;
padding-left: 16px;
}

.bs .sec3__step-h {
font-size: 19px;
line-height: 1.4;
font-weight: 600;
color: #1e3328;
margin-bottom: 8px;
}

.bs .sec3__step-p {
font-size: 15px;
line-height: 1.6;
color: #2c3e35;
}

.bs .sec3__img-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
margin-top: 32px;
}

.bs .sec3__img-wrap {
border-radius: 6px;
overflow: hidden;
box-shadow: -1px 3px 3px -2px rgba(69, 164, 100, 0.06);
}

.bs .sec4 {
padding: 64px 0;
background: #E9F1EF !important;
}

.bs .sec4__list {
display: flex;
flex-direction: column;
gap: 16px;
margin-top: 32px;
}

.bs .sec4__item {
background: #fff;
border-radius: 10px;
padding: 32px;
display: grid;
grid-template-columns: 56px 1fr;
gap: 16px;
align-items: start;
box-shadow: -1px 3px 3px -2px rgba(69, 164, 100, 0.06);
border-right: 2px solid #BDDDD6;
border-top: 1px solid rgba(189, 221, 214, 0.3);
}

.bs .sec4__item-num {
font-size: 56px;
line-height: 1;
font-weight: 700;
color: rgba(69, 164, 100, 0.13);
}

.bs .sec4__item-h {
font-size: 19px;
line-height: 1.4;
font-weight: 600;
color: #1e3328;
margin-bottom: 8px;
}

.bs .sec4__item-p {
font-size: 15px;
line-height: 1.6;
color: #2c3e35;
}

.bs .sec5 {
padding: 64px 0;
background: #fff;
position: relative;
}

.bs .sec5__inner {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 32px;
align-items: start;
}

.bs .sec5__img-stack {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 8px;
}

.bs .sec5__img-a {
grid-column: 1 / -1;
border-radius: 6px;
overflow: hidden;
}

.bs .sec5__img-b {
border-radius: 6px;
overflow: hidden;
}

.bs .sec5__detail {
background: #E9F1EF;
border-radius: 10px;
padding: 32px;
margin-top: 16px;
border-right: 2px solid #BDDDD6;
border-top: 1px solid rgba(189, 221, 214, 0.4);
}

.bs .sec5__detail-h {
font-size: 15px;
line-height: 1.4;
font-weight: 600;
color: #45A464;
text-transform: uppercase;
letter-spacing: 0.08em;
margin-bottom: 8px;
}

.bs .sec5__detail-p {
font-size: 15px;
line-height: 1.6;
color: #2c3e35;
}

.bs .sec5__text-col {
padding-top: 16px;
}

.bs .sec5__h {
font-size: 24px;
line-height: 1.4;
font-weight: 700;
margin-bottom: 16px;
-webkit-text-stroke: 1px #2d6b42;
color: transparent;
}

.bs .sec5__p {
font-size: 15px;
line-height: 1.6;
color: #2c3e35;
margin-bottom: 16px;
}

.bs .sec5__tag-row {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 8px;
margin-top: 16px;
}

.bs .sec5__tag {
font-size: 15px;
line-height: 1.4;
padding: 4px 16px;
border-radius: 6px;
background: #E9F1EF;
color: #2c3e35;
border: 1px solid #BDDDD6;
}

.bs .sec6 {
padding: 64px 0;
background: linear-gradient(263deg, rgba(69, 164, 100, 0.12), rgba(189, 221, 214, 0.20));
position: relative;
}

.bs .sec6__inner {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 32px;
align-items: center;
}

.bs .sec6__prob {
font-size: 24px;
line-height: 1.4;
font-weight: 700;
color: #1e3328;
margin-bottom: 16px;
}

.bs .sec6__p {
font-size: 15px;
line-height: 1.6;
color: #2c3e35;
margin-bottom: 16px;
}

.bs .sec6__img-wrap {
border-radius: 10px;
overflow: hidden;
box-shadow: -1px 10px 60px -2px rgba(69, 164, 100, 0.14);
}

.bs .sec6__kw-list {
display: flex;
flex-direction: column;
gap: 8px;
margin-top: 16px;
}

.bs .sec6__kw {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
font-size: 15px;
line-height: 1.4;
color: #2c3e35;
}

.bs .sec6__kw-dot {
width: 8px;
height: 8px;
border-radius: 50%;
background: #45A464;
flex-shrink: 0;
}

.bs .sec7 {
padding: 64px 0;
background: #fff;
border-top: 1px solid #BDDDD6;
}

.bs .sec7__grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 16px;
margin-top: 32px;
}

.bs .sec7__item {
border-radius: 10px;
padding: 32px;
background: #E9F1EF;
border-right: 2px solid #BDDDD6;
border-top: 1px solid rgba(189, 221, 214, 0.4);
text-align: center;
transition: box-shadow 0.5s ease-in-out;
}

.bs .sec7__item:hover {
box-shadow: -1px 6px 20px -2px rgba(69, 164, 100, 0.10);
}

.bs .sec7__item-h {
font-size: 19px;
line-height: 1.4;
font-weight: 600;
color: #1e3328;
margin-bottom: 8px;
}

.bs .sec7__item-p {
font-size: 15px;
line-height: 1.6;
color: #2c3e35;
}

.bs .sec7__since {
margin-top: 32px;
text-align: center;
font-size: 15px;
line-height: 1.4;
color: #45A464;
letter-spacing: 0.08em;
text-transform: uppercase;
}

.bs .sec-h-center {
text-align: center;
margin-bottom: 8px;
}

.bs .sec-sub-center {
text-align: center;
font-size: 15px;
line-height: 1.6;
color: #2c3e35;
margin-bottom: 32px;
}

@media (max-width: 1024px) {
.bs .t1__grid {
grid-template-columns: 1fr;
gap: 32px;
}

.bs .t1__img-col {
order: -1;
}

.bs .t1__h {
font-size: 56px;
}

.bs .sec2__grid {
grid-template-columns: 1fr;
}

.bs .sec3__img-row {
grid-template-columns: 1fr;
}

.bs .sec5__inner {
grid-template-columns: 1fr;
}

.bs .sec6__inner {
grid-template-columns: 1fr;
}

.bs .sec7__grid {
grid-template-columns: 1fr 1fr;
}
}

@media (max-width: 640px) {
.bs .t1__h {
font-size: 56px;
}

.bs .t1__num {
font-size: 56px;
}

.bs .sec4__item {
grid-template-columns: 1fr;
}

.bs .sec4__item-num {
font-size: 24px;
}

.bs .sec7__grid {
grid-template-columns: 1fr;
}

.bs .sec3__step {
grid-template-columns: 48px 1fr;
}

.bs .ed-col {
padding-left: 16px;
padding-right: 16px;
}

.bs .ed-col--wide {
padding-left: 16px;
padding-right: 16px;
}

.bs .t1__grid {
padding: 0 16px;
}
}

.lp-prog {
max-width: 1440px;
margin: 0 auto;
overflow-x: clip;
}

.lp-prog .ttl {
display: grid;
grid-template-columns: 1fr 420px;
gap: 32px;
padding: 32px 32px 32px 32px;
align-items: center;
position: relative;
background: #fff;
}

.lp-prog .ttl__blobs {
position: absolute;
inset: 0;
pointer-events: none;
overflow: hidden;
border-radius: 0;
}

.lp-prog .ttl__blob--a {
position: absolute;
width: 340px;
height: 340px;
background: #BDDDD6;
border-radius: 50%;
filter: blur(80px);
opacity: 0.38;
top: -60px;
left: -80px;
}

.lp-prog .ttl__blob--b {
position: absolute;
width: 260px;
height: 260px;
background: #45A464;
border-radius: 50%;
filter: blur(100px);
opacity: 0.18;
bottom: -40px;
right: 360px;
}

.lp-prog .ttl__text {
position: relative;
z-index: 1;
padding: 32px 0;
}

.lp-prog .ttl__eyebrow {
display: inline-block;
font-size: 15px;
letter-spacing: 0.12em;
color: #45A464;
text-transform: uppercase;
margin-bottom: 16px;
border: 1px solid #BDDDD6;
border-radius: 6px;
padding: 4px 16px;
background: #E9F1EF;
}

.lp-prog .ttl__h1 {
font-size: 56px;
line-height: 1.2;
font-weight: 800;
color: transparent;
-webkit-text-stroke: 2px #2a2a2a;
margin-bottom: 16px;
max-width: 600px;
}

.lp-prog .ttl__sub {
font-size: 19px;
line-height: 1.6;
color: #3a3a3a;
max-width: 520px;
margin-bottom: 32px;
}

.lp-prog .ttl__actions {
display: flex;
flex-direction: row;
gap: 16px;
align-items: center;
}

.lp-prog .btn-pri {
display: inline-block;
padding: 16px 32px;
background: linear-gradient(263deg, #45A464, #BDDDD6);
color: #1b3a28;
font-size: 19px;
font-weight: 700;
border-radius: 10px;
border: none;
cursor: pointer;
text-decoration: none;
box-shadow: -1px 6px 20px -2px rgba(69, 164, 100, 0.10);
transition: box-shadow 0.55s ease-in-out, transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.lp-prog .btn-pri:hover {
box-shadow: -1px 10px 60px -2px rgba(69, 164, 100, 0.14);
transform: translateY(-2px);
}

.lp-prog .btn-sec {
display: inline-block;
padding: 8px 16px;
background: transparent;
color: #45A464;
font-size: 15px;
font-weight: 600;
border-radius: 6px;
border: 1px solid #45A464;
cursor: pointer;
text-decoration: none;
transition: background 0.5s ease-in-out, color 0.5s ease-in-out;
}

.lp-prog .btn-sec:hover {
background: #E9F1EF;
color: #2a6e45;
}

.lp-prog .ttl__card {
position: relative;
z-index: 1;
border-radius: 16px;
overflow: hidden;
box-shadow: -1px 6px 20px -2px rgba(69, 164, 100, 0.10);
aspect-ratio: 1/1;
}

.lp-prog .ttl__card img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
filter: brightness(0.88);
transition: filter 0.55s ease-in-out;
}

.lp-prog .ttl__card:hover img {
filter: brightness(1.05);
}

.lp-prog .ttl__card-grad {
position: absolute;
inset: 0;
background: linear-gradient(263deg, rgba(69, 164, 100, 0.45) 0%, rgba(189, 221, 214, 0.15) 100%);
pointer-events: none;
}

.lp-prog .ttl__card-label {
position: absolute;
bottom: 16px;
left: 16px;
right: 16px;
background: rgba(255, 255, 255, 0.92);
border-radius: 10px;
padding: 8px 16px;
font-size: 15px;
color: #1b3a28;
font-weight: 600;
border: 1px solid #BDDDD6;
box-shadow: -1px 3px 3px -2px rgba(69, 164, 100, 0.06);
}

.lp-prog .struc {
background: #0f2a1a;
padding: 32px;
}

.lp-prog .struc__top {
text-align: center;
margin-bottom: 32px;
}

.lp-prog .struc__label {
display: inline-block;
font-size: 15px;
letter-spacing: 0.1em;
color: #BDDDD6;
text-transform: uppercase;
margin-bottom: 16px;
}

.lp-prog .struc__h2 {
font-size: 56px;
line-height: 1.2;
font-weight: 800;
color: transparent;
-webkit-text-stroke: 2px #BDDDD6;
margin-bottom: 16px;
}

.lp-prog .struc__desc {
font-size: 19px;
line-height: 1.6;
color: #a8cfc4;
max-width: 620px;
margin: 0 auto;
}

.lp-prog .struc__grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 16px;
}

.lp-prog .mod {
background: rgba(255, 255, 255, 0.04);
border: 1px solid rgba(189, 221, 214, 0.18);
border-radius: 16px;
padding: 32px;
position: relative;
transition: background 0.5s ease-in-out, border-color 0.55s ease-in-out;
}

.lp-prog .mod:hover {
background: rgba(69, 164, 100, 0.08);
border-color: rgba(189, 221, 214, 0.4);
}

.lp-prog .mod__num {
font-size: 70px;
line-height: 1.2;
font-weight: 900;
color: transparent;
-webkit-text-stroke: 1px rgba(189, 221, 214, 0.22);
position: absolute;
top: 8px;
right: 16px;
pointer-events: none;
user-select: none;
}

.lp-prog .mod__tag {
display: inline-block;
font-size: 15px;
letter-spacing: 0.08em;
color: #45A464;
text-transform: uppercase;
margin-bottom: 8px;
}

.lp-prog .mod__h3 {
font-size: 24px;
line-height: 1.4;
font-weight: 700;
color: #e8f5f0;
margin-bottom: 16px;
}

.lp-prog .mod__p {
font-size: 15px;
line-height: 1.6;
color: #8ab8ae;
}

.lp-prog .mod__icon {
width: 40px;
height: 40px;
border-radius: 10px;
background: linear-gradient(263deg, #45A464, #BDDDD6);
margin-bottom: 16px;
display: flex;
align-items: center;
justify-content: center;
transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.lp-prog .mod:hover .mod__icon {
transform: rotate(12deg) scale(1.1);
}

.lp-prog .mod__icon svg {
width: 20px;
height: 20px;
fill: #1b3a28;
}

.lp-prog .proc {
background: #E9F1EF;
padding: 32px;
position: relative;
}

.lp-prog .proc__dash {
position: absolute;
top: 16px;
left: 16px;
right: 16px;
bottom: 16px;
border: 2px dashed rgba(69, 164, 100, 0.22);
border-radius: 16px;
pointer-events: none;
}

.lp-prog .proc__inner {
position: relative;
z-index: 1;
}

.lp-prog .proc__top {
display: grid;
grid-template-columns: 1fr 380px;
gap: 32px;
align-items: start;
margin-bottom: 32px;
}

.lp-prog .proc__h2 {
font-size: 56px;
line-height: 1.2;
font-weight: 800;
color: transparent;
-webkit-text-stroke: 2px #2a6e45;
}

.lp-prog .proc__meta {
padding-top: 8px;
}

.lp-prog .proc__meta-p {
font-size: 15px;
line-height: 1.6;
color: #3a4a40;
margin-bottom: 16px;
}

.lp-prog .proc__img {
border-radius: 16px;
overflow: hidden;
aspect-ratio: 1/1;
box-shadow: -1px 6px 20px -2px rgba(69, 164, 100, 0.10);
}

.lp-prog .proc__img img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
filter: brightness(0.88);
transition: filter 0.6s ease-in-out;
}

.lp-prog .proc__img:hover img {
filter: brightness(1.05);
}

.lp-prog .proc__steps {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 16px;
}

.lp-prog .step {
background: #fff;
border-radius: 10px;
padding: 16px;
border: 1px solid #BDDDD6;
box-shadow: -1px 3px 3px -2px rgba(69, 164, 100, 0.06);
animation: slide-alt 0.55s ease-in-out both;
}

.lp-prog .step:nth-child(odd) {
animation-name: slide-left;
}

.lp-prog .step:nth-child(even) {
animation-name: slide-right;
}

.lp-prog .step:nth-child(1) {
animation-delay: 0.05s;
}

.lp-prog .step:nth-child(2) {
animation-delay: 0.12s;
}

.lp-prog .step:nth-child(3) {
animation-delay: 0.19s;
}

.lp-prog .step:nth-child(4) {
animation-delay: 0.26s;
}

@keyframes slide-left {
from {
opacity: 0;
transform: translateX(-24px);
}

to {
opacity: 1;
transform: translateX(0);
}
}

@keyframes slide-right {
from {
opacity: 0;
transform: translateX(24px);
}

to {
opacity: 1;
transform: translateX(0);
}
}

.lp-prog .step__n {
font-size: 24px;
line-height: 1.2;
font-weight: 900;
color: rgba(69, 164, 100, 0.22);
margin-bottom: 8px;
}

.lp-prog .step__h {
font-size: 19px;
line-height: 1.4;
font-weight: 700;
color: #1b3a28;
margin-bottom: 8px;
}

.lp-prog .step__p {
font-size: 15px;
line-height: 1.6;
color: #3a4a40;
}

.lp-prog .faq {
background: #fff;
padding: 32px;
}

.lp-prog .faq__top {
text-align: center;
margin-bottom: 32px;
}

.lp-prog .faq__h2 {
font-size: 56px;
line-height: 1.2;
font-weight: 800;
color: transparent;
-webkit-text-stroke: 2px #2a2a2a;
margin-bottom: 16px;
}

.lp-prog .faq__sub {
font-size: 19px;
line-height: 1.6;
color: #3a3a3a;
max-width: 560px;
margin: 0 auto;
}

.lp-prog .faq__layout {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 32px;
align-items: start;
}

.lp-prog .faq__list {
display: flex;
flex-direction: column;
gap: 8px;
}

.lp-prog .faq__item {
border: 1px solid #BDDDD6;
border-radius: 10px;
overflow: hidden;
background: #E9F1EF;
box-shadow: -1px 3px 3px -2px rgba(69, 164, 100, 0.06);
}

.lp-prog .faq__item summary {
padding: 16px;
font-size: 15px;
font-weight: 600;
color: #1b3a28;
cursor: pointer;
list-style: none;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
gap: 8px;
transition: background 0.5s ease-in-out;
}

.lp-prog .faq__item summary::-webkit-details-marker {
display: none;
}

.lp-prog .faq__item[open] summary {
background: #BDDDD6;
}

.lp-prog .faq__item summary:hover {
background: rgba(189, 221, 214, 0.5);
}

.lp-prog .faq__chevron {
width: 16px;
height: 16px;
flex-shrink: 0;
transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.lp-prog .faq__item[open] .faq__chevron {
transform: rotate(180deg);
}

.lp-prog .faq__ans {
padding: 16px;
font-size: 15px;
line-height: 1.6;
color: #3a4a40;
border-top: 1px solid rgba(189, 221, 214, 0.5);
}

.lp-prog .faq__aside {
display: flex;
flex-direction: column;
gap: 16px;
}

.lp-prog .faq__team {
background: #E9F1EF;
border-radius: 16px;
padding: 32px;
border: 1px solid #BDDDD6;
box-shadow: -1px 6px 20px -2px rgba(69, 164, 100, 0.10);
}

.lp-prog .faq__team-h {
font-size: 19px;
font-weight: 700;
color: #1b3a28;
margin-bottom: 16px;
}

.lp-prog .faq__team-p {
font-size: 15px;
line-height: 1.6;
color: #3a4a40;
margin-bottom: 16px;
}

.lp-prog .faq__portraits {
display: flex;
flex-direction: row;
gap: 16px;
}

.lp-prog .portrait {
display: flex;
flex-direction: column;
align-items: center;
gap: 8px;
}

.lp-prog .portrait__img {
width: 80px;
height: 100px;
border-radius: 10px;
overflow: hidden;
border: 2px solid #BDDDD6;
flex-shrink: 0;
}

.lp-prog .portrait__img img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
filter: brightness(0.88);
transition: filter 0.6s ease-in-out;
}

.lp-prog .portrait__img:hover img {
filter: brightness(1.05);
}

.lp-prog .portrait__name {
font-size: 15px;
font-weight: 600;
color: #1b3a28;
text-align: center;
}

.lp-prog .portrait__role {
font-size: 15px;
color: #45A464;
text-align: center;
}

.lp-prog .faq__stat-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 8px;
}

.lp-prog .stat-box {
background: #fff;
border-radius: 10px;
padding: 16px;
border: 1px solid #BDDDD6;
text-align: center;
box-shadow: -1px 3px 3px -2px rgba(69, 164, 100, 0.06);
}

.lp-prog .stat-box__n {
font-size: 24px;
font-weight: 900;
color: #45A464;
line-height: 1.2;
}

.lp-prog .stat-box__l {
font-size: 15px;
color: #3a4a40;
line-height: 1.4;
}

@media (max-width: 1024px) {
.lp-prog .ttl {
grid-template-columns: 1fr;
}

.lp-prog .ttl__card {
max-width: 420px;
}

.lp-prog .struc__grid {
grid-template-columns: 1fr 1fr;
}

.lp-prog .proc__top {
grid-template-columns: 1fr;
}

.lp-prog .proc__img {
max-width: 380px;
}

.lp-prog .proc__steps {
grid-template-columns: 1fr 1fr;
}

.lp-prog .faq__layout {
grid-template-columns: 1fr;
}
}

@media (max-width: 640px) {
.lp-prog .ttl__h1 {
font-size: 24px;
}

.lp-prog .struc__h2,
.lp-prog .proc__h2,
.lp-prog .faq__h2 {
font-size: 24px;
}

.lp-prog .struc__grid {
grid-template-columns: 1fr;
}

.lp-prog .proc__steps {
grid-template-columns: 1fr;
}

.lp-prog .ttl,
.lp-prog .struc,
.lp-prog .proc,
.lp-prog .faq {
padding: 16px;
}

.lp-prog .proc__dash {
top: 8px;
left: 8px;
right: 8px;
bottom: 8px;
}

.lp-prog .faq__stat-row {
grid-template-columns: 1fr;
}
}

.succ-pg {
min-height: 60vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 32px 16px;
background: #E9F1EF;
}

.succ-pg .succ-card {
background: #fff;
border-radius: 16px;
padding: 32px;
max-width: 520px;
width: 100%;
box-shadow: -1px 6px 20px -2px rgba(69, 164, 100, 0.10);
text-align: center;
border-top: 4px solid #45A464;
}

.succ-pg .succ-card .icon-wrap {
width: 64px;
height: 64px;
border-radius: 50%;
background: #E9F1EF;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
margin: 0 auto 16px;
}

.succ-pg .succ-card .icon-wrap svg {
width: 32px;
height: 32px;
}

.succ-pg .succ-card .succ-title {
font-size: 24px;
line-height: 1.2;
color: #45A464;
margin: 0 0 8px;
font-weight: 700;
letter-spacing: 0.01em;
}

.succ-pg .succ-card .succ-msg {
font-size: 15px;
line-height: 1.6;
color: #2d4a38;
margin: 0 0 32px;
}

.succ-pg .succ-card .succ-divider {
height: 1px;
background: #BDDDD6;
margin: 0 0 32px;
border: none;
}

.succ-pg .succ-card .succ-meta {
font-size: 15px;
line-height: 1.6;
color: #4a6b58;
margin: 0 0 32px;
}

.succ-pg .succ-card .succ-meta strong {
color: #2d4a38;
}

.succ-pg .succ-card .succ-btn {
display: inline-block;
background: #45A464;
color: #fff;
font-size: 15px;
font-weight: 600;
line-height: 1.4;
padding: 16px 32px;
border-radius: 10px;
text-decoration: none;
border: none;
cursor: pointer;
transition: background 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
box-shadow: -1px 3px 3px -2px rgba(69, 164, 100, 0.06);
letter-spacing: 0.02em;
}

.succ-pg .succ-card .succ-btn:hover {
background: #3a8f56;
box-shadow: -1px 6px 20px -2px rgba(69, 164, 100, 0.14);
}

.succ-pg .succ-card .succ-btn:focus {
outline: 2px solid #45A464;
outline-offset: 4px;
}

.succ-pg .succ-footer-note {
margin: 16px 0 0;
font-size: 15px;
line-height: 1.6;
color: #4a6b58;
text-align: center;
}

.succ-pg .succ-footer-note a {
color: #45A464;
text-decoration: none;
border-bottom: 1px solid transparent;
transition: border-color 0.45s ease-in-out, color 0.45s ease-in-out;
}

.succ-pg .succ-footer-note a:hover {
border-color: #45A464;
color: #2d7a46;
}

@media (max-width: 640px) {
.succ-pg .succ-card {
padding: 32px 16px;
}
}