@import "kiso.css";
:root {
  /* inner */
  --inner: min(1200px, 100%);
  --inner-sp: min(768px, 100%);
  --padding-inner: 20px;
  /* z-index */
  --z-index-header: 900;
  /* color */
  --color-white: #fff;
  --color-text: #0d2936;
  --color-black: #0f0e0d;
  --color-gray: #f0f0f0;
  --color-gray2: #959595;
  --color-gray3: #fafafa;
  --color-border-gray: #aaaaaf;
  --color-accent: #408f95;
  --color-primary: #234f5e;
  --color-secondary: #00f;
  --color-orange: #de8430;
  --color-orange2: #ea7d0e;
  --color-green-light: #aee638;
  --color-green-dark: #4d8000;
  /* font-weight */
  --fw-light: 300;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-bold: 700;
  /* font-family */
  --base-font-family: "Noto Sans JP", sans-serif;
  --base-font-family-en: "Roboto", sans-serif;
  --title-font-family: "Roboto", sans-serif;
  --to-rem: 0.0625rem;
  /* transition duration */
  --duration: 0.3s;
  /* header height */
  --header-height: 77px;
}
@media screen and (max-width: 767px) {
  :root {
    --header-height: 64px;
  }
}

@font-face {
  font-family: "Local Noto Sans JP";
  src: local("Noto Sans JP");
}
html {
  height: 100%;
  background: var(--color-black);
  scroll-padding-top: var(--header-height);
  scroll-behavior: smooth;
}

a[href^=tel] {
  text-decoration: none;
}

a {
  display: inline-block;
  color: inherit;
  cursor: pointer;
  transition: 0.3s;
  -webkit-tap-highlight-color: transparent;
}

a:hover {
  text-decoration: none;
}

img,
svg {
  vertical-align: middle;
}

img {
  width: 100%;
  height: 100%;
  overflow: clip;
  object-fit: cover;
}

:where(:any-link, button, [type=button], [type=reset], [type=submit], label[for], select, summary, [role=tab], [role=button]) {
  cursor: pointer;
}

:where(button, [type=button], [type=reset], [type=submit]) {
  touch-action: manipulation;
}

:focus:not(:focus-visible) {
  outline: none;
}

input[type=text] {
  font-size: 1rem;
  /* = 16px */
}

textarea {
  field-sizing: content;
}

body {
  font-family: var(--base-font-family);
  font-weight: var(--fw-regular);
  color: var(--color-text);
}

html {
  box-sizing: border-box;
  font-size: clamp(10px, 1.481vw, 16px);
  /* Prevent adjustments of font size after orientation changes in iOS */
  word-break: normal;
  tab-size: 4;
  text-size-adjust: 100%;
}

*,
::before,
::after {
  /* Set `background-repeat: no-repeat` to all elements and pseudo elements */
  box-sizing: inherit;
  box-sizing: border-box;
  background-repeat: no-repeat;
}

::before,
::after {
  text-decoration: inherit;
  /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
  vertical-align: inherit;
}

* {
  padding: 0;
  /* Reset `padding` and `margin` of all elements */
  margin: 0;
}

/* # =================================================================
     # General elements
     # ================================================================= */
hr {
  /* Show the overflow in Edge and IE */
  height: 0;
  overflow: visible;
  /* Add the correct box sizing in Firefox */
  color: inherit;
  /* Correct border color in Firefox. */
}

details,
main {
  display: block;
  /* Render the `main` element consistently in IE. */
}

summary {
  display: list-item;
  /* Add the correct display in all browsers */
}

small {
  font-size: 80%;
  /* Set font-size to 80% in `small` elements */
}

[hidden] {
  display: none;
  /* Add the correct display in IE */
}

abbr[title] {
  /* Remove the bottom border in Chrome 57 */
  /* Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari */
  text-decoration: underline;
  text-decoration: underline dotted;
  border-bottom: none;
}

a {
  background-color: transparent;
  /* Remove the gray background on active links in IE 10 */
}

a:active,
a:hover {
  outline-width: 0;
  /* Remove the outline when hovering in all browsers */
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  /* Specify the font family of code elements */
}

pre {
  font-size: 1em;
  /* Correct the odd `em` font sizing in all browsers */
}

b,
strong {
  font-weight: bolder;
  /* Add the correct font weight in Chrome, Edge, and Safari */
}

/* https://gist.github.com/unruthless/413930 */
sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

table {
  /* Correct border color in all Chrome, Edge, and Safari. */
  text-indent: 0;
  border-color: inherit;
  /* Remove text indentation in Chrome, Edge, and Safari */
}

iframe {
  border-style: none;
}

/* # =================================================================
     # Forms
     # ================================================================= */
input {
  border-radius: 0;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
  /* Correct the cursor style of increment and decrement buttons in Chrome */
}

[type=search] {
  appearance: textfield;
  appearance: none;
  /* Correct the odd appearance in Chrome and Safari */
  outline-offset: -2px;
  /* Correct the outline style in Safari */
}

[type=search]::-webkit-search-decoration {
  appearance: none;
  /* Remove the inner padding in Chrome and Safari on macOS */
}

textarea {
  overflow: auto;
  resize: vertical;
}

button,
input,
optgroup,
select,
textarea {
  font: inherit;
  /* Specify font inheritance of form elements */
}

optgroup {
  font-weight: bold;
  /* Restore the font weight unset by the previous rule */
}

button {
  overflow: visible;
  /* Address `overflow` set to `hidden` in IE 8/9/10/11 */
}

button,
select {
  text-transform: none;
  /* Firefox 40+, Internet Explorer 11- */
}

/* Apply cursor pointer to button elements */
button,
[type=button],
[type=reset],
[type=submit],
[role=button] {
  cursor: pointer;
}

/* Remove inner padding and border in Firefox 4+ */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

/* Replace focus style removed in the border reset above */
button:-moz-focusring,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  outline: 1px dotted ButtonText;
}

button,
html [type=button],
[type=reset],
[type=submit] {
  appearance: button;
  /* Correct the inability to style clickable types in iOS */
}

button,
input,
select,
textarea {
  appearance: none;
  background-color: transparent;
  border-style: none;
}

a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
  outline-width: 0;
}

/* Style select like a standard input */
select {
  appearance: none;
}

select::-ms-expand {
  display: none;
  /* Internet Explorer 11+ */
}

select::-ms-value {
  color: currentcolor;
  /* Internet Explorer 11+ */
}

legend {
  /* Correct the color inheritance from `fieldset` elements in IE */
  display: table;
  /* Correct the text wrapping in Edge and IE */
  /* Correct the text wrapping in Edge and IE */
  max-width: 100%;
  /* Correct `color` not being inherited in IE 8/9/10/11 */
  color: inherit;
  /* Correct the text wrapping in Edge and IE */
  white-space: normal;
  border: 0;
  /* Correct the text wrapping in Edge 18- and IE */
}

::-webkit-file-upload-button {
  font: inherit;
  color: inherit;
  /* Correct the inability to style clickable types in iOS and Safari */
  appearance: button;
  /* Change font properties to `inherit` in Chrome and Safari */
}

/* Replace pointer cursor in disabled elements */
[disabled] {
  cursor: default;
}

/* # =================================================================
     # Specify media element style
     # ================================================================= */
img {
  border-style: none;
  /* Remove border when inside `a` element in IE 8/9/10 */
}

/* Add the correct vertical alignment in Chrome, Firefox, and Opera */
progress {
  vertical-align: baseline;
}

/* # =================================================================
     # Accessibility
     # ================================================================= */
/* Specify the progress cursor of updating elements */
[aria-busy=true] {
  cursor: progress;
}

/* Specify the pointer cursor of trigger elements */
[aria-controls] {
  cursor: pointer;
}

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
[aria-disabled=true] {
  cursor: default;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Remove default padding */
ul,
ol {
  padding: 0;
  list-style: "";
}

a {
  color: inherit;
  text-decoration: none;
  transition: opacity 0.3s;
}

.l-inner {
  max-width: calc(var(--inner) + var(--padding-inner) * 2);
  padding-inline: var(--padding-inner);
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .l-inner {
    max-width: calc(var(--inner-sp) + var(--padding-inner) * 2);
  }
}

.c-title__main {
  position: relative;
  font-family: var(--title-font-family);
  font-size: calc(96 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1;
  color: rgba(130, 185, 0, 0.14);
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .c-title__main {
    font-size: calc(64 * var(--to-rem));
  }
}
@media screen and (max-width: 599px) {
  .c-title__main {
    font-size: calc(48 * var(--to-rem));
  }
}

.c-title__sub {
  position: absolute;
  padding-top: calc(48 * var(--to-rem));
  font-size: calc(40 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.5;
  color: var(--_color-body-text);
  text-align: center;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .c-title__sub {
    font-size: calc(30 * var(--to-rem));
  }
}
@media screen and (max-width: 599px) {
  .c-title__sub {
    top: calc(55 * var(--to-rem));
    padding-top: 0;
    font-size: calc(20 * var(--to-rem));
  }
}

.c-font-color__green {
  color: var(--color-green-dark);
}

.p-awards {
  --_color-bg-green: #eaf3d4;
  --_color-border: rgb(45 106 42 / 14%);
  --_color-body-text: #282828;
  --_color-eyebrow: rgb(130 185 0 / 14%);
  --_color-bullet: #2d6a2a;
  background-color: var(--_color-bg-green);
}
.p-awards__images {
  display: flex;
  width: 100%;
  overflow: hidden;
}
.p-awards__images img {
  width: 33.3333333333%;
  object-fit: cover;
}

.p-awards .l-inner {
  padding-top: calc(96 * var(--to-rem));
  padding-bottom: calc(96 * var(--to-rem));
}
@media screen and (max-width: 1023px) {
  .p-awards .l-inner {
    padding-top: calc(72 * var(--to-rem));
    padding-bottom: calc(72 * var(--to-rem));
  }
}
@media screen and (max-width: 767px) {
  .p-awards .l-inner {
    padding-top: calc(56 * var(--to-rem));
    padding-bottom: calc(56 * var(--to-rem));
  }
}
@media screen and (max-width: 599px) {
  .p-awards .l-inner {
    padding-top: calc(40 * var(--to-rem));
    padding-bottom: calc(40 * var(--to-rem));
  }
}

.p-awards__heading-wrap {
  display: flex;
  flex-direction: column;
  gap: calc(4 * var(--to-rem));
  align-items: center;
  padding-bottom: calc(56 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-awards__heading-wrap {
    padding-top: calc(32 * var(--to-rem));
    padding-bottom: calc(40 * var(--to-rem));
  }
}
@media screen and (max-width: 599px) {
  .p-awards__heading-wrap {
    padding-top: calc(24 * var(--to-rem));
    padding-bottom: calc(32 * var(--to-rem));
  }
}

.p-awards__grid {
  display: flex;
  gap: calc(24 * var(--to-rem));
  align-items: stretch;
  padding-top: calc(10 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-awards__grid {
    flex-direction: column;
  }
}

.p-awards__card {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: calc(16 * var(--to-rem));
  padding: calc(24 * var(--to-rem));
  background-color: var(--color-white);
  border: 1px solid var(--_color-border);
  border-radius: calc(18 * var(--to-rem));
}

.p-awards__card-header {
  display: flex;
  gap: calc(8 * var(--to-rem));
  align-items: center;
}

.p-awards__card-icon {
  flex-shrink: 0;
  width: calc(24 * var(--to-rem));
  height: calc(24 * var(--to-rem));
}

.p-awards__card-label {
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.6;
  color: var(--_color-body-text);
  letter-spacing: 0.05em;
}

.p-awards__card-section {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.p-awards__section-title {
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.6;
  color: var(--_color-body-text);
  letter-spacing: 0.05em;
}

.p-awards__list {
  display: flex;
  flex-direction: column;
  padding: 0;
  margin: 0;
  list-style: none;
}
.p-awards__list--media {
  padding-top: calc(32 * var(--to-rem));
}

.p-awards__item {
  display: flex;
  gap: calc(8 * var(--to-rem));
  align-items: center;
  padding-block: calc(4 * var(--to-rem));
}

.p-awards__bullet {
  flex-shrink: 0;
  font-size: calc(11 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.77;
  color: var(--_color-bullet);
}
.p-awards__bullet--sm {
  font-size: calc(13 * var(--to-rem));
  line-height: 1.5;
}

.p-awards__item-text {
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.6;
  color: var(--_color-body-text);
  letter-spacing: 0.05em;
}

.p-awards__media-names {
  display: flex;
  gap: 0;
  padding-top: calc(2 * var(--to-rem));
}

.p-awards__media-col {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 0 0 0 calc(28 * var(--to-rem));
  margin: 0;
  list-style: disc;
}
.p-awards__media-col li {
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.6;
  color: var(--_color-body-text);
  letter-spacing: 0.05em;
}

.p-awards__list--media {
  padding-top: calc(16 * var(--to-rem));
}

.p-cta-final {
  --_color-green: #82b900;
  padding-block: calc(96 * var(--to-rem));
  background: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-cta-final {
    padding-block: calc(64 * var(--to-rem));
  }
}
@media screen and (max-width: 599px) {
  .p-cta-final {
    padding-block: calc(48 * var(--to-rem));
  }
}

.p-cta-final__box {
  display: flex;
  flex-direction: column;
  gap: calc(42 * var(--to-rem));
  align-items: center;
  padding: calc(80 * var(--to-rem)) calc(120 * var(--to-rem));
  background-color: var(--_color-green);
  border-radius: calc(24 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-cta-final__box {
    gap: calc(40 * var(--to-rem));
    padding: calc(56 * var(--to-rem)) calc(64 * var(--to-rem));
  }
}
@media screen and (max-width: 599px) {
  .p-cta-final__box {
    gap: calc(32 * var(--to-rem));
    padding: calc(40 * var(--to-rem)) calc(24 * var(--to-rem));
  }
}

.p-cta-final__text-wrap {
  display: flex;
  flex-direction: column;
  gap: calc(46 * var(--to-rem));
  align-items: center;
}

.p-cta-final__headline {
  font-size: calc(40 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.6;
  color: var(--color-white);
  text-align: center;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-cta-final__headline {
    font-size: calc(30 * var(--to-rem));
  }
}
@media screen and (max-width: 599px) {
  .p-cta-final__headline {
    font-size: calc(22 * var(--to-rem));
  }
}

.p-cta-final__body {
  font-size: calc(24 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.8;
  color: var(--color-white);
  text-align: center;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-cta-final__body {
    font-size: calc(18 * var(--to-rem));
  }
}
@media screen and (max-width: 599px) {
  .p-cta-final__body {
    font-size: calc(16 * var(--to-rem));
  }
}

.p-cta-final__cta-wrap {
  display: flex;
  flex-direction: column;
  gap: calc(20 * var(--to-rem));
  align-items: center;
}

.p-cta-final__cta {
  display: inline-flex;
  gap: calc(16 * var(--to-rem));
  align-items: center;
  justify-content: center;
  width: calc(640 * var(--to-rem));
  max-width: 100%;
  padding: calc(20 * var(--to-rem)) calc(40 * var(--to-rem));
  font-size: calc(24 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.5;
  color: var(--color-white);
  text-decoration: none;
  letter-spacing: calc(1.2 * var(--to-rem));
  background-color: var(--color-orange);
  border-radius: calc(50 * var(--to-rem));
  box-shadow: 0 0 24px 0 rgba(234, 124, 14, 0.4);
  transition: transform var(--duration), box-shadow var(--duration), filter var(--duration);
}
.p-cta-final__cta .p-cta-final__cta-icon {
  width: calc(34 * var(--to-rem));
  height: calc(34 * var(--to-rem));
}
@media (hover: hover) {
  .p-cta-final__cta:hover {
    filter: brightness(1.1);
    box-shadow: 0 12px 36px rgba(234, 124, 14, 0.65);
    transform: translateY(calc(-4 * var(--to-rem)));
  }
}
@media screen and (max-width: 767px) {
  .p-cta-final__cta {
    width: 100%;
    font-size: calc(20 * var(--to-rem));
  }
}
@media screen and (max-width: 599px) {
  .p-cta-final__cta {
    padding: calc(16 * var(--to-rem)) calc(24 * var(--to-rem));
    font-size: calc(16 * var(--to-rem));
  }
}

.p-cta-final__badges {
  display: flex;
  flex-wrap: wrap;
  gap: calc(16 * var(--to-rem));
  align-items: center;
  justify-content: center;
}

.p-cta-final__badge {
  display: inline-flex;
  gap: calc(4 * var(--to-rem));
  align-items: center;
  justify-content: center;
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 160%;
  color: var(--color-white);
  letter-spacing: calc(0.8 * var(--to-rem));
}
.p-cta-final__badge img {
  width: calc(18 * var(--to-rem));
  height: calc(18 * var(--to-rem));
}

.p-donate {
  --_color-form-bg: #eaf3d4;
  --_color-green: #82b900;
  --_color-green-dark: #4d8000;
  --_color-toggle-active: #91ca1a;
  --_color-lime: #aee638;
  --_color-lime-pale: #dbebb5;
  position: relative;
  padding-block: calc(15 * var(--to-rem)) calc(96 * var(--to-rem));
  background-color: var(--color-white);
}
.p-donate::before {
  position: absolute;
  top: calc(-35 * var(--to-rem));
  left: 50%;
  z-index: 0;
  width: 100%;
  height: calc(130 * var(--to-rem));
  content: "";
  background: #fff;
  border-radius: 50% 50% 0 0/100% 100% 0 0;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .p-donate {
    padding-block: calc(48 * var(--to-rem)) calc(64 * var(--to-rem));
  }
}
@media screen and (max-width: 599px) {
  .p-donate {
    padding-block: calc(40 * var(--to-rem)) calc(48 * var(--to-rem));
  }
}

.p-donate__heading-wrap {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: calc(4 * var(--to-rem));
  align-items: center;
  padding-block: calc(48 * var(--to-rem)) calc(70 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-donate__heading-wrap {
    padding-block: calc(32 * var(--to-rem)) calc(40 * var(--to-rem));
  }
}

.p-donate__form-box {
  display: flex;
  flex-direction: column;
  gap: calc(40 * var(--to-rem));
  align-items: center;
  padding: calc(40 * var(--to-rem));
  background-color: var(--_color-form-bg);
  border-radius: calc(16 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-donate__form-box {
    gap: calc(32 * var(--to-rem));
    padding: calc(32 * var(--to-rem)) calc(24 * var(--to-rem));
  }
}
@media screen and (max-width: 599px) {
  .p-donate__form-box {
    gap: calc(24 * var(--to-rem));
    padding: calc(24 * var(--to-rem)) calc(16 * var(--to-rem));
  }
}

.p-donate__form-heading {
  font-size: calc(24 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.6;
  color: var(--color-black);
  text-align: center;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 599px) {
  .p-donate__form-heading {
    font-size: calc(18 * var(--to-rem));
  }
}

.p-donate__toggle {
  display: flex;
  gap: 0;
  padding: calc(4 * var(--to-rem));
  background-color: rgba(0, 0, 0, 0.07);
  border-radius: calc(50 * var(--to-rem));
}

.p-donate__toggle-btn {
  min-width: calc(280 * var(--to-rem));
  padding: calc(16 * var(--to-rem)) calc(24 * var(--to-rem));
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.3;
  color: rgba(40, 40, 40, 0.5);
  text-align: center;
  letter-spacing: 0.05em;
  cursor: pointer;
  background-color: transparent;
  border: none;
  border-radius: calc(50 * var(--to-rem));
  transition: background-color var(--duration), color var(--duration);
}
.p-donate__toggle-btn--active {
  color: var(--color-white);
  background-color: var(--_color-toggle-active);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 767px) {
  .p-donate__toggle-btn {
    min-width: calc(180 * var(--to-rem));
    padding: calc(12 * var(--to-rem)) calc(20 * var(--to-rem));
    font-size: calc(16 * var(--to-rem));
  }
}
@media screen and (max-width: 599px) {
  .p-donate__toggle-btn {
    min-width: 0;
    padding: calc(10 * var(--to-rem)) calc(16 * var(--to-rem));
    font-size: calc(14 * var(--to-rem));
  }
}

.p-donate__amounts-wrap {
  display: flex;
  flex-direction: column;
  gap: calc(16 * var(--to-rem));
  align-items: center;
  width: 100%;
}

.p-donate__amounts {
  display: flex;
  gap: calc(8 * var(--to-rem));
  width: 100%;
}
@media screen and (max-width: 599px) {
  .p-donate__amounts {
    flex-wrap: wrap;
  }
}

.p-donate__amount-btn {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: calc(4 * var(--to-rem));
  align-items: stretch;
  width: 25%;
  padding: calc(16 * var(--to-rem)) calc(8 * var(--to-rem));
  cursor: pointer;
  background-color: var(--color-white);
  border: 2px solid var(--_color-lime-pale);
  border-radius: calc(9 * var(--to-rem));
  transition: border-color var(--duration), box-shadow var(--duration), background-color var(--duration), transform var(--duration);
}
@media (hover: hover) {
  .p-donate__amount-btn:hover {
    border-color: var(--_color-green-dark);
    box-shadow: 0 calc(6 * var(--to-rem)) calc(16 * var(--to-rem)) rgba(45, 106, 42, 0.15);
    transform: translateY(calc(-4 * var(--to-rem)));
  }
}
.p-donate__amount-btn--selected {
  background-color: #eef7ed;
  border-color: var(--_color-green-dark);
  box-shadow: 0 calc(6 * var(--to-rem)) calc(18 * var(--to-rem)) rgba(45, 106, 42, 0.18);
}
@media screen and (max-width: 599px) {
  .p-donate__amount-btn {
    flex-basis: calc(50% - 4 * var(--to-rem));
    flex-grow: 0;
  }
}

.p-donate__amount-num {
  display: flex;
  gap: 0;
  align-items: baseline;
  justify-content: center;
  font-family: var(--title-font-family);
  font-size: calc(28 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1;
  color: var(--_color-green-dark);
}
@media screen and (max-width: 599px) {
  .p-donate__amount-num {
    font-size: calc(22 * var(--to-rem));
  }
}

.p-donate__amount-yen {
  font-size: calc(24 * var(--to-rem));
}
@media screen and (max-width: 599px) {
  .p-donate__amount-yen {
    font-size: calc(18 * var(--to-rem));
  }
}

.p-donate__amount-desc {
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.5;
  color: var(--color-black);
  text-align: center;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 599px) {
  .p-donate__amount-desc {
    font-size: calc(12 * var(--to-rem));
  }
}

.p-donate__pointer {
  width: calc(40 * var(--to-rem));
  height: calc(20 * var(--to-rem));
}

.p-donate__impact {
  display: flex;
  gap: calc(12 * var(--to-rem));
  align-items: center;
  justify-content: center;
  padding-top: calc(5 * var(--to-rem));
}
@media screen and (max-width: 599px) {
  .p-donate__impact {
    flex-direction: column;
    gap: calc(8 * var(--to-rem));
    text-align: center;
  }
}

.p-donate__impact-icon {
  flex-shrink: 0;
  width: calc(34 * var(--to-rem));
  height: calc(34 * var(--to-rem));
  color: var(--color-black);
}

.p-donate__impact-text {
  font-size: calc(24 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 160%;
  color: var(--color-black);
  letter-spacing: calc(1.2 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-donate__impact-text {
    font-size: calc(20 * var(--to-rem));
  }
}
@media screen and (max-width: 599px) {
  .p-donate__impact-text {
    font-size: calc(16 * var(--to-rem));
  }
}

.p-donate__impact-strong {
  color: var(--_color-green-dark);
}

.p-donate__cta-wrap {
  display: flex;
  flex-direction: column;
  gap: calc(16 * var(--to-rem));
  align-items: center;
}

.p-donate__cta {
  display: flex;
  gap: calc(16 * var(--to-rem));
  align-items: center;
  justify-content: center;
  width: calc(640 * var(--to-rem));
  max-width: 100%;
  padding: calc(16 * var(--to-rem)) calc(40 * var(--to-rem)) calc(16 * var(--to-rem)) calc(64 * var(--to-rem));
  font-size: calc(24 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.5;
  color: var(--color-white);
  text-decoration: none;
  letter-spacing: 0.05em;
  background-color: var(--color-orange);
  border-radius: calc(50 * var(--to-rem));
  box-shadow: 0 0 24px 0 rgba(234, 124, 14, 0.35);
  transition: transform var(--duration), box-shadow var(--duration), filter var(--duration);
}
@media (hover: hover) {
  .p-donate__cta:hover {
    filter: brightness(1.1);
    box-shadow: 0 12px 36px rgba(234, 124, 14, 0.6);
    transform: translateY(calc(-4 * var(--to-rem)));
  }
}
@media screen and (max-width: 767px) {
  .p-donate__cta {
    width: 100%;
    padding: calc(14 * var(--to-rem)) calc(32 * var(--to-rem));
    font-size: calc(18 * var(--to-rem));
  }
}
@media screen and (max-width: 599px) {
  .p-donate__cta {
    padding: calc(14 * var(--to-rem)) calc(24 * var(--to-rem));
    font-size: calc(16 * var(--to-rem));
  }
}

.p-donate__cta-icon {
  flex-shrink: 0;
  width: calc(34 * var(--to-rem));
  height: calc(34 * var(--to-rem));
}

.p-donate__security {
  display: flex;
  gap: calc(16 * var(--to-rem));
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 599px) {
  .p-donate__security {
    flex-direction: column;
    gap: calc(8 * var(--to-rem));
  }
}

.p-donate__security-item {
  display: flex;
  gap: calc(4 * var(--to-rem));
  align-items: center;
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 160%;
  color: #4f4f54;
  letter-spacing: calc(0.8 * var(--to-rem));
}
.p-donate__security-item img {
  flex-shrink: 0;
  width: calc(18 * var(--to-rem));
  height: calc(18 * var(--to-rem));
}
@media screen and (max-width: 599px) {
  .p-donate__security-item {
    font-size: calc(14 * var(--to-rem));
  }
}

.p-donate__voices {
  display: flex;
  gap: calc(24 * var(--to-rem));
  align-items: stretch;
  padding-top: calc(80 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-donate__voices {
    flex-direction: column;
    padding-top: calc(48 * var(--to-rem));
  }
}
@media screen and (max-width: 599px) {
  .p-donate__voices {
    padding-top: calc(40 * var(--to-rem));
  }
}

.p-donate__voice-card {
  position: relative;
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: calc(24 * var(--to-rem));
  padding: calc(23 * var(--to-rem));
  background-color: var(--color-white);
  border: 1px solid var(--_color-lime);
  border-radius: calc(16 * var(--to-rem));
}

.p-donate__voice-header {
  display: flex;
  gap: calc(16 * var(--to-rem));
  align-items: center;
}

.p-donate__voice-avatar {
  flex-shrink: 0;
  width: calc(80 * var(--to-rem));
  height: calc(80 * var(--to-rem));
  border: 1px solid var(--_color-lime-pale);
  border-radius: 50%;
}

.p-donate__voice-meta {
  display: flex;
  flex-direction: column;
  gap: calc(4 * var(--to-rem));
}

.p-donate__voice-name {
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.8;
  color: var(--color-black);
  letter-spacing: 0.05em;
}

.p-donate__voice-info {
  display: flex;
  gap: calc(16 * var(--to-rem));
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.6;
  color: var(--color-black);
  letter-spacing: 0.05em;
}

.p-donate__voice-body {
  display: flex;
  flex-direction: column;
  gap: calc(16 * var(--to-rem));
}

.p-donate__voice-quote-title {
  padding-bottom: calc(12 * var(--to-rem));
  font-size: calc(20 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.6;
  color: var(--color-black);
  letter-spacing: calc(1 * var(--to-rem));
  border-bottom: 1px solid #d6d6d6;
}
@media screen and (max-width: 599px) {
  .p-donate__voice-quote-title {
    font-size: calc(16 * var(--to-rem));
  }
}

.p-donate__voice-text {
  font-size: calc(15 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.8;
  color: var(--color-black);
  letter-spacing: 0.05em;
}

.p-donate__voice-deco {
  position: absolute;
  top: calc(-24 * var(--to-rem));
  right: calc(16 * var(--to-rem));
  z-index: 10;
  font-size: calc(100 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1;
  color: var(--_color-lime-pale);
  pointer-events: none;
  user-select: none;
}

.p-donate__note {
  padding-top: calc(24 * var(--to-rem));
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.6;
  color: #6a6a71;
  text-align: center;
  letter-spacing: 0.05em;
}

.p-donation-use {
  --_color-green: #82b900;
  --_color-report-bg: #eaf3d4;
  --_color-body-text: #272727;
  --_pie-01: #6c9050;
  --_pie-02: #8aad69;
  --_pie-03: #b5c5a1;
  --_pie-04: #d4ddca;
  padding-block: calc(96 * var(--to-rem));
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-donation-use {
    padding-block: calc(64 * var(--to-rem));
  }
}
@media screen and (max-width: 599px) {
  .p-donation-use {
    padding-block: calc(48 * var(--to-rem));
  }
}

.p-donation-use__heading-wrap {
  display: flex;
  flex-direction: column;
  gap: calc(4 * var(--to-rem));
  align-items: center;
  padding-bottom: calc(56 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-donation-use__heading-wrap {
    padding-bottom: calc(40 * var(--to-rem));
  }
}
@media screen and (max-width: 599px) {
  .p-donation-use__heading-wrap .c-title__sub {
    top: calc(25 * var(--to-rem));
  }
}

.p-donation-use__graph-area {
  width: 100%;
  max-width: calc(916 * var(--to-rem));
  margin-inline: auto;
  margin-top: calc(18 * var(--to-rem));
}
.p-donation-use__graph-area img {
  display: block;
  width: 100%;
  height: auto;
}

.p-donation-use__chart {
  position: absolute;
  top: 20.6%;
  left: 24.2%;
  width: 49.1%;
  aspect-ratio: 1;
}
@media screen and (max-width: 767px) {
  .p-donation-use__chart {
    position: static;
    width: calc(280 * var(--to-rem));
    aspect-ratio: 1;
  }
}
@media screen and (max-width: 599px) {
  .p-donation-use__chart {
    width: calc(220 * var(--to-rem));
  }
}

.p-donation-use__pie {
  display: block;
  width: 100%;
  height: 100%;
}

.p-donation-use__pie-slice {
  fill: none;
  stroke-linecap: butt;
}

.p-donation-use__pie-slice--01 {
  stroke: var(--_pie-01);
}

.p-donation-use__pie-slice--02 {
  stroke: var(--_pie-02);
}

.p-donation-use__pie-slice--03 {
  stroke: var(--_pie-03);
}

.p-donation-use__pie-slice--04 {
  stroke: var(--_pie-04);
}

.p-donation-use__chart-label {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: calc(24 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.5;
  color: var(--_color-body-text);
  text-align: center;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-donation-use__chart-label {
    font-size: calc(16 * var(--to-rem));
  }
}
@media screen and (max-width: 599px) {
  .p-donation-use__chart-label {
    font-size: calc(14 * var(--to-rem));
  }
}

.p-donation-use__legend-item {
  position: absolute;
  display: flex;
  flex-direction: column;
  gap: calc(8 * var(--to-rem));
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-donation-use__legend-item {
    position: static;
  }
}

.p-donation-use__legend-item--03 {
  top: 18.9%;
  left: 7.4%;
  width: 25.8%;
}
@media screen and (max-width: 767px) {
  .p-donation-use__legend-item--03 {
    width: auto;
  }
}

.p-donation-use__legend-item--04 {
  top: 0%;
  left: 35.4%;
  width: 21.2%;
}
@media screen and (max-width: 767px) {
  .p-donation-use__legend-item--04 {
    width: auto;
  }
}

.p-donation-use__legend-item--01 {
  top: 44.5%;
  right: 0;
  width: 25.8%;
}
@media screen and (max-width: 767px) {
  .p-donation-use__legend-item--01 {
    width: auto;
  }
}

.p-donation-use__legend-item--02 {
  top: 77.3%;
  left: 3.9%;
  width: 21.2%;
}
@media screen and (max-width: 767px) {
  .p-donation-use__legend-item--02 {
    width: auto;
  }
}

.p-donation-use__legend-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: calc(8 * var(--to-rem)) calc(24 * var(--to-rem)) calc(12 * var(--to-rem));
  font-size: calc(20 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.5;
  color: var(--color-white);
  text-align: center;
  background-color: var(--_color-body-text);
  border-radius: calc(48 * var(--to-rem));
}
@media screen and (max-width: 1023px) {
  .p-donation-use__legend-badge {
    padding: calc(6 * var(--to-rem)) calc(16 * var(--to-rem)) calc(10 * var(--to-rem));
    font-size: calc(16 * var(--to-rem));
  }
}
@media screen and (max-width: 767px) {
  .p-donation-use__legend-badge {
    padding: calc(8 * var(--to-rem)) calc(20 * var(--to-rem)) calc(12 * var(--to-rem));
    font-size: calc(16 * var(--to-rem));
  }
}
@media screen and (max-width: 599px) {
  .p-donation-use__legend-badge {
    font-size: calc(14 * var(--to-rem));
  }
}

.p-donation-use__legend-num {
  display: flex;
  gap: calc(2 * var(--to-rem));
  align-items: baseline;
}

.p-donation-use__legend-val {
  font-family: var(--title-font-family);
  font-size: calc(48 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1;
  color: var(--_color-green);
}
@media screen and (max-width: 1023px) {
  .p-donation-use__legend-val {
    font-size: calc(36 * var(--to-rem));
  }
}
@media screen and (max-width: 767px) {
  .p-donation-use__legend-val {
    font-size: calc(40 * var(--to-rem));
  }
}
@media screen and (max-width: 599px) {
  .p-donation-use__legend-val {
    font-size: calc(32 * var(--to-rem));
  }
}

.p-donation-use__legend-unit {
  font-family: var(--title-font-family);
  font-size: calc(32 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1;
  color: var(--_color-green);
}
@media screen and (max-width: 1023px) {
  .p-donation-use__legend-unit {
    font-size: calc(24 * var(--to-rem));
  }
}
@media screen and (max-width: 767px) {
  .p-donation-use__legend-unit {
    font-size: calc(28 * var(--to-rem));
  }
}
@media screen and (max-width: 599px) {
  .p-donation-use__legend-unit {
    font-size: calc(22 * var(--to-rem));
  }
}

.p-donation-use__reports {
  display: flex;
  flex-direction: column;
  gap: calc(32 * var(--to-rem));
  align-items: center;
  width: calc(840 * var(--to-rem));
  max-width: 100%;
  padding-top: calc(80 * var(--to-rem));
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-donation-use__reports {
    gap: calc(24 * var(--to-rem));
    padding-top: calc(48 * var(--to-rem));
  }
}

.p-donation-use__reports-title {
  font-size: calc(32 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.6;
  color: var(--_color-body-text);
  text-align: center;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 599px) {
  .p-donation-use__reports-title {
    font-size: calc(24 * var(--to-rem));
  }
}

.p-donation-use__reports-desc {
  width: 100%;
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.5;
  color: var(--_color-body-text);
  text-align: center;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 599px) {
  .p-donation-use__reports-desc {
    font-size: calc(16 * var(--to-rem));
  }
}

.p-donation-use__reports-grid {
  display: flex;
  gap: calc(40 * var(--to-rem));
  align-items: stretch;
}
@media screen and (max-width: 767px) {
  .p-donation-use__reports-grid {
    gap: calc(24 * var(--to-rem));
  }
}
@media screen and (max-width: 599px) {
  .p-donation-use__reports-grid {
    flex-direction: column;
    gap: calc(24 * var(--to-rem));
  }
}

.p-donation-use__report-card {
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  padding: calc(40 * var(--to-rem)) calc(24 * var(--to-rem));
  background-color: var(--_color-report-bg);
  border-radius: calc(16 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-donation-use__report-card {
    padding: calc(24 * var(--to-rem));
  }
}

.p-donation-use__report-title {
  width: 100%;
  padding-bottom: calc(24 * var(--to-rem));
  font-size: calc(24 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.5;
  color: var(--_color-body-text);
  text-align: center;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 599px) {
  .p-donation-use__report-title {
    font-size: calc(20 * var(--to-rem));
  }
}

.p-donation-use__report-img--l {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: center;
}
.p-donation-use__report-img--l img {
  display: block;
  width: calc(352 * var(--to-rem));
  max-width: 100%;
  height: auto;
  overflow: hidden;
  border-radius: calc(8 * var(--to-rem));
}

.p-donation-use__report-img--r {
  width: calc(352 * var(--to-rem));
  max-width: 100%;
  aspect-ratio: 1;
  overflow: hidden;
  text-align: center;
  border-radius: calc(8 * var(--to-rem));
}
.p-donation-use__report-img--r img {
  width: auto;
  height: 100%;
}

.p-faq {
  --_color-bg: #f8f8f8;
  --_color-green: #82b900;
  --_color-shadow: rgb(119 120 122 / 10%);
  padding-block: calc(96 * var(--to-rem));
  background-color: var(--_color-bg);
}
@media screen and (max-width: 767px) {
  .p-faq {
    padding-block: calc(64 * var(--to-rem));
  }
}
@media screen and (max-width: 599px) {
  .p-faq {
    padding-block: calc(48 * var(--to-rem));
  }
}

.p-faq__heading-wrap {
  display: flex;
  flex-direction: column;
  gap: calc(4 * var(--to-rem));
  align-items: center;
  padding-bottom: calc(68 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-faq__heading-wrap {
    padding-block: calc(32 * var(--to-rem)) calc(40 * var(--to-rem));
  }
}

.p-faq__list {
  display: flex;
  flex-direction: column;
  gap: calc(17 * var(--to-rem));
  width: 100%;
  max-width: calc(714 * var(--to-rem));
  margin-inline: auto;
}

.p-faq__item {
  overflow: hidden;
  background-color: var(--color-white);
  border-radius: calc(16 * var(--to-rem));
  box-shadow: 8px 8px 16px 1px var(--_color-shadow);
}
.p-faq__item[open] .p-faq__arrow {
  transform: rotate(180deg);
}

.p-faq__question {
  display: flex;
  gap: calc(8 * var(--to-rem));
  align-items: center;
  padding: calc(24 * var(--to-rem));
  list-style: none;
  cursor: pointer;
}
.p-faq__question::-webkit-details-marker {
  display: none;
}

.p-faq__q-label {
  flex-shrink: 0;
  font-family: var(--title-font-family);
  font-size: calc(28 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.1;
  color: var(--_color-green);
  letter-spacing: 0.03em;
}
@media screen and (max-width: 599px) {
  .p-faq__q-label {
    font-size: calc(22 * var(--to-rem));
  }
}

.p-faq__q-text {
  flex: 1;
  font-size: calc(20 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.5;
  color: var(--color-black);
  letter-spacing: 0.03em;
}
@media screen and (max-width: 599px) {
  .p-faq__q-text {
    font-size: calc(16 * var(--to-rem));
  }
}

.p-faq__arrow {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: calc(32 * var(--to-rem));
  height: calc(32 * var(--to-rem));
  margin-left: auto;
  color: var(--color-white);
  background-color: var(--_color-green);
  border-radius: 50%;
  transition: transform var(--duration);
}
.p-faq__arrow svg {
  width: calc(24 * var(--to-rem));
  height: calc(24 * var(--to-rem));
}

.p-faq__answer {
  padding: 0 calc(24 * var(--to-rem)) calc(24 * var(--to-rem));
  padding-left: calc(60 * var(--to-rem));
}
.p-faq__answer p {
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.8;
  color: var(--color-black);
  letter-spacing: 0.05em;
}
@media screen and (max-width: 599px) {
  .p-faq__answer {
    padding-left: calc(24 * var(--to-rem));
  }
}

.p-footer {
  --_bg: #282828;
  background-color: var(--_bg);
}

.p-footer__body {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-block: calc(80 * var(--to-rem));
  border-bottom: 1px solid var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-footer__body {
    gap: calc(48 * var(--to-rem));
    padding-block: calc(56 * var(--to-rem));
  }
}

.p-footer__logo-block {
  display: flex;
  flex-direction: column;
  gap: calc(16 * var(--to-rem));
  align-items: center;
  width: calc(197 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-footer__logo-block {
    align-items: flex-start;
    width: auto;
  }
}

.p-footer__logo {
  display: block;
  width: calc(178 * var(--to-rem));
}
.p-footer__logo img {
  width: 100%;
  height: auto;
  object-fit: contain;
}
@media screen and (max-width: 767px) {
  .p-footer__logo {
    width: calc(140 * var(--to-rem));
  }
}

.p-footer__address {
  font-family: var(--base-font-family);
  font-size: calc(15 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.6;
  color: var(--color-white);
  text-align: center;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-footer__address {
    text-align: left;
  }
}

@media screen and (max-width: 1023px) {
  .p-footer__nav {
    width: auto;
    min-width: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-footer__nav {
    width: 100%;
  }
}

.p-footer__nav-list {
  display: flex;
  flex-wrap: wrap;
  gap: calc(32 * var(--to-rem)) calc(32 * var(--to-rem));
  align-items: flex-end;
  justify-content: flex-end;
}
@media screen and (max-width: 767px) {
  .p-footer__nav-list {
    gap: calc(24 * var(--to-rem)) calc(24 * var(--to-rem));
  }
}
@media screen and (max-width: 599px) {
  .p-footer__nav-list {
    flex-direction: column;
    gap: calc(20 * var(--to-rem));
  }
}

.p-footer__nav-item a {
  font-family: var(--base-font-family);
  font-size: calc(15 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.5;
  color: var(--color-white);
  letter-spacing: calc(0.75 * var(--to-rem));
  transition: opacity var(--duration);
}
@media (any-hover: hover) {
  .p-footer__nav-item a:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 767px) {
  .p-footer__nav-item a {
    font-size: calc(14 * var(--to-rem));
  }
}

.p-footer__copyright-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: calc(24 * var(--to-rem)) calc(8 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-footer__copyright-bar {
    padding: calc(20 * var(--to-rem)) calc(8 * var(--to-rem));
  }
}

.p-footer__copyright {
  font-family: var(--title-font-family);
  font-size: calc(12 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.6;
  color: var(--color-white);
  text-align: center;
  letter-spacing: 0.05em;
}

.p-fv {
  --_color-green: #82b900;
  --_color-green-light: #aee638;
  position: relative;
  display: flex;
  padding-top: calc(120 * var(--to-rem));
  padding-bottom: calc(50 * var(--to-rem));
  overflow: hidden;
  color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-fv {
    min-height: 100svh;
    padding-bottom: calc(40 * var(--to-rem));
  }
}
@media screen and (max-width: 599px) {
  .p-fv {
    padding-bottom: calc(32 * var(--to-rem));
  }
}

.p-fv__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.p-fv__bg-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

.p-fv__bg-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(25, 25, 25, 0.95) 0%, rgba(11, 11, 11, 0.5) 50%, rgba(0, 0, 0, 0) 100%);
}
@media screen and (max-width: 767px) {
  .p-fv__bg-overlay {
    background: rgba(15, 15, 15, 0.7);
  }
}

.p-fv__inner {
  padding-left: 120px;
  margin-right: auto;
  margin-left: 0;
}
@media screen and (max-width: 1023px) {
  .p-fv__inner {
    padding-left: calc(64 * var(--to-rem));
  }
}
@media screen and (max-width: 767px) {
  .p-fv__inner {
    padding-left: var(--padding-inner);
    margin-inline: auto;
  }
}

.p-fv__body {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 0;
}
@media screen and (max-width: 767px) {
  .p-fv__body {
    max-width: 100%;
  }
}

.p-fv__chip {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  padding: calc(8 * var(--to-rem)) calc(12 * var(--to-rem));
  margin-bottom: calc(16 * var(--to-rem));
  background: var(--_color-green);
  border-radius: calc(88 * var(--to-rem));
}

.p-fv__chip-text {
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1;
  color: var(--color-white);
  letter-spacing: 0.02em;
}

.p-fv__headline {
  display: flex;
  flex-direction: column;
  gap: calc(8 * var(--to-rem));
  margin-bottom: calc(24 * var(--to-rem));
}

.p-fv__headline-top {
  font-size: calc(38 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 150%;
  color: var(--color-white);
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-fv__headline-top {
    font-size: calc(36 * var(--to-rem));
  }
}
@media screen and (max-width: 599px) {
  .p-fv__headline-top {
    font-size: calc(28 * var(--to-rem));
  }
}

.p-fv__headline-bottom {
  display: flex;
  gap: calc(3 * var(--to-rem));
  align-items: flex-end;
  line-height: 150%;
}
@media screen and (max-width: 599px) {
  .p-fv__headline-bottom {
    flex-direction: column;
    align-items: flex-start;
  }
}

.p-fv__headline-large {
  font-size: calc(48 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 150%;
  color: var(--color-white);
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-fv__headline-large {
    font-size: calc(56 * var(--to-rem));
  }
}
@media screen and (max-width: 599px) {
  .p-fv__headline-large {
    font-size: calc(44 * var(--to-rem));
  }
}

.p-fv__headline-mid {
  font-size: calc(40 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 150%;
  color: var(--color-white);
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-fv__headline-mid {
    font-size: calc(36 * var(--to-rem));
  }
}
@media screen and (max-width: 599px) {
  .p-fv__headline-mid {
    font-size: calc(28 * var(--to-rem));
  }
}

.p-fv__lead {
  margin-bottom: calc(40 * var(--to-rem));
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.8;
  color: var(--color-white);
  letter-spacing: calc(0.9 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-fv__lead {
    font-size: calc(16 * var(--to-rem));
  }
}
@media screen and (max-width: 599px) {
  .p-fv__lead {
    font-size: calc(14 * var(--to-rem));
  }
}

.p-fv__stats {
  display: flex;
  gap: calc(12 * var(--to-rem));
  align-items: stretch;
  margin-bottom: calc(40 * var(--to-rem));
}
@media screen and (max-width: 599px) {
  .p-fv__stats {
    flex-wrap: wrap;
    gap: calc(8 * var(--to-rem));
  }
}

.p-fv__stat {
  display: flex;
  flex-direction: column;
  gap: calc(4 * var(--to-rem));
  align-items: center;
  min-width: calc(172 * var(--to-rem));
  padding: calc(12 * var(--to-rem));
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid var(--color-white);
  border-radius: 8px;
}
@media screen and (max-width: 599px) {
  .p-fv__stat {
    flex: 1 1 calc(140 * var(--to-rem));
  }
}

.p-fv__stat-label {
  font-size: calc(15 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.5;
  color: var(--color-white);
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.p-fv__stat-value {
  display: flex;
  gap: calc(2 * var(--to-rem));
  align-items: flex-end;
}

.p-fv__stat-num {
  font-size: calc(32 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 100%;
  color: var(--color-green-light);
  letter-spacing: -0.01em;
}
@media screen and (max-width: 599px) {
  .p-fv__stat-num {
    font-size: calc(28 * var(--to-rem));
  }
}

.p-fv__stat-unit {
  padding-bottom: calc(2 * var(--to-rem));
  font-size: calc(20 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1;
  color: var(--_color-green-light);
}

.p-fv__btns {
  display: flex;
  flex-wrap: wrap;
  gap: calc(14 * var(--to-rem));
  align-items: center;
}

.p-fv__btn {
  display: inline-flex;
  gap: calc(12 * var(--to-rem));
  align-items: center;
  font-size: calc(20 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.5;
  letter-spacing: 0.02em;
  transition: opacity var(--duration);
}
@media (hover: hover) {
  .p-fv__btn:hover {
    opacity: 0.8;
  }
}
@media screen and (max-width: 599px) {
  .p-fv__btn {
    justify-content: center;
    font-size: calc(16 * var(--to-rem));
  }
}

.p-fv__btn--primary {
  position: relative;
  padding: calc(16 * var(--to-rem)) calc(40 * var(--to-rem)) calc(16 * var(--to-rem)) calc(64 * var(--to-rem));
  color: var(--color-white);
  background: var(--color-orange);
  border-radius: calc(50 * var(--to-rem));
  box-shadow: 0 0 24px 0 rgba(234, 124, 14, 0.35);
  transition: transform var(--duration), box-shadow var(--duration), filter var(--duration);
}
@media (hover: hover) {
  .p-fv__btn--primary:hover {
    filter: brightness(1.1);
    box-shadow: 0 12px 32px rgba(234, 124, 14, 0.6);
    opacity: 1;
    transform: translateY(calc(-4 * var(--to-rem)));
  }
}

.p-fv__btn-icon {
  position: absolute;
  top: 50%;
  left: calc(24 * var(--to-rem));
  flex-shrink: 0;
  width: calc(24 * var(--to-rem));
  height: auto;
  transform: translateY(-50%);
}
.p-fv__btn-icon img {
  display: block;
}

.p-fv__btn--secondary {
  position: relative;
  padding: calc(16 * var(--to-rem)) calc(64 * var(--to-rem)) calc(16 * var(--to-rem)) calc(48 * var(--to-rem));
  font-size: calc(20 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.5;
  color: var(--_color-green);
  letter-spacing: 0.02em;
  background: var(--color-white);
  border-radius: calc(50 * var(--to-rem));
  transition: opacity var(--duration);
}
@media (hover: hover) {
  .p-fv__btn--secondary:hover {
    opacity: 0.8;
  }
}
@media screen and (max-width: 599px) {
  .p-fv__btn--secondary {
    font-size: calc(16 * var(--to-rem));
  }
}

.p-fv__btn-arrow {
  position: absolute;
  top: 50%;
  right: calc(14 * var(--to-rem));
  flex-shrink: 0;
  width: calc(24 * var(--to-rem));
  height: calc(24 * var(--to-rem));
  transform: translateY(-50%);
}
.p-fv__btn-arrow img {
  display: block;
}

.p-sticky-bar {
  --_color-green: #82b900;
  --_color-green-light: #aee638;
  --_bg: #272727;
  --_cta-bg: var(--color-orange);
  position: sticky;
  bottom: 0;
  z-index: calc(var(--z-index-header) - 1);
  width: 100%;
  padding-block: calc(32 * var(--to-rem));
  background: var(--_bg);
  backdrop-filter: blur(12px);
  box-shadow: 0 -2px 24px rgba(0, 0, 0, 0.3);
}
@media screen and (max-width: 767px) {
  .p-sticky-bar {
    padding-block: calc(20 * var(--to-rem));
  }
}
@media screen and (max-width: 599px) {
  .p-sticky-bar {
    padding-block: calc(16 * var(--to-rem));
  }
}

.p-sticky-bar__inner {
  display: flex;
  gap: calc(16 * var(--to-rem));
  align-items: center;
  justify-content: center;
  max-width: var(--inner);
  padding-inline: var(--padding-inner);
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-sticky-bar__inner {
    flex-direction: column;
    gap: calc(12 * var(--to-rem));
  }
}

.p-sticky-bar__goal {
  display: flex;
  flex-direction: column;
  gap: calc(18 * var(--to-rem));
  align-items: center;
  width: 100%;
  width: fit-content;
}

.p-sticky-bar__goal-text {
  display: flex;
  flex-wrap: wrap;
  gap: 0 calc(2 * var(--to-rem));
  align-items: baseline;
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.6;
  color: var(--color-white);
  letter-spacing: calc(0.9 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-sticky-bar__goal-text {
    font-size: calc(15 * var(--to-rem));
  }
}

.p-sticky-bar__goal-highlight {
  display: inline-flex;
  gap: 0;
  align-items: baseline;
  padding-bottom: calc(2 * var(--to-rem));
  color: var(--_color-green-light);
  border-bottom: 2px solid var(--_color-green);
}

.p-sticky-bar__goal-prefix,
.p-sticky-bar__goal-suffix {
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.6;
  color: var(--_color-green-light);
}
@media screen and (max-width: 767px) {
  .p-sticky-bar__goal-prefix,
  .p-sticky-bar__goal-suffix {
    font-size: calc(15 * var(--to-rem));
  }
}

.p-sticky-bar__goal-num {
  font-family: var(--title-font-family);
  font-size: calc(32 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1;
  color: var(--_color-green-light);
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .p-sticky-bar__goal-num {
    font-size: calc(26 * var(--to-rem));
  }
}

.p-sticky-bar__progress {
  --_progress: 78%;
  position: relative;
  width: calc(400 * var(--to-rem));
  height: calc(8 * var(--to-rem));
  overflow: hidden;
  background: rgba(255, 255, 255, 0.15);
  border-radius: calc(99 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-sticky-bar__progress {
    width: 100%;
  }
}

.p-sticky-bar__progress-fill {
  position: absolute;
  top: 0;
  left: 0;
  width: 50%;
  height: 100%;
  background: linear-gradient(to right, #4a9e46 0%, var(--color-orange) 100%);
  border-radius: calc(99 * var(--to-rem));
  transition: width 0.8s ease;
}
.p-sticky-bar__progress-fill.is-active {
  width: 78%;
}

.p-sticky-bar__cta {
  position: relative;
  display: inline-flex;
  align-items: center;
  padding: calc(12 * var(--to-rem)) calc(56 * var(--to-rem)) calc(12 * var(--to-rem)) calc(24 * var(--to-rem));
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.5;
  color: var(--color-white);
  white-space: nowrap;
  background: var(--_cta-bg);
  border-radius: calc(50 * var(--to-rem));
  box-shadow: 0 0 16px 0 rgba(234, 125, 14, 0.4);
  transition: transform var(--duration), box-shadow var(--duration), filter var(--duration);
}
@media (hover: hover) {
  .p-sticky-bar__cta:hover {
    filter: brightness(1.1);
    box-shadow: 0 12px 32px rgba(234, 125, 14, 0.65);
    transform: translateY(calc(-4 * var(--to-rem)));
  }
}
@media screen and (max-width: 767px) {
  .p-sticky-bar__cta {
    justify-content: center;
    width: 100%;
    padding: calc(12 * var(--to-rem)) calc(52 * var(--to-rem)) calc(12 * var(--to-rem)) calc(20 * var(--to-rem));
    font-size: calc(15 * var(--to-rem));
  }
}

.p-sticky-bar__cta-icon {
  position: absolute;
  top: 50%;
  right: calc(12.5 * var(--to-rem));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: calc(24 * var(--to-rem));
  height: calc(24 * var(--to-rem));
  background: var(--color-white);
  border-radius: 50%;
  transform: translateY(-50%);
}

.p-header {
  position: fixed;
  z-index: var(--z-index-header);
  width: 100%;
  background: transparent;
  transition: background var(--duration);
}
.p-header.is-scrolled {
  background: rgba(0, 0, 0, 0.8);
  backdrop-filter: blur(8px);
}

.p-header__inner {
  position: relative;
  height: var(--header-height);
  padding-inline: calc(40 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-header__inner {
    position: static;
    padding-inline: calc(20 * var(--to-rem));
  }
}

.p-header__logo {
  position: absolute;
  top: 50%;
  z-index: 1;
  flex-shrink: 0;
  transition: opacity var(--duration);
  transform: translateY(-50%);
}
.p-header__logo img {
  display: block;
  width: calc(82 * var(--to-rem));
  height: auto;
}
@media (hover: hover) {
  .p-header__logo:hover {
    opacity: 0.75;
  }
}

.p-narrative {
  --_color-body-text: #272727;
  --_color-quote-bg: #eaf3d4;
  --_color-quote-mark: #aee638;
  --_color-border: #c97a08;
  --_color-cite: #4f4e54;
  --_color-note: #6a6a71;
  padding-block: calc(96 * var(--to-rem));
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-narrative {
    padding-block: calc(64 * var(--to-rem));
  }
}
@media screen and (max-width: 599px) {
  .p-narrative {
    padding-block: calc(48 * var(--to-rem));
  }
}

.p-narrative__body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: calc(56 * var(--to-rem));
  align-items: center;
  margin-bottom: calc(18 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-narrative__body {
    grid-template-columns: 1fr;
    gap: calc(40 * var(--to-rem));
  }
}

.p-narrative__left {
  display: flex;
  flex-direction: column;
  gap: calc(24 * var(--to-rem));
}

.p-narrative__label {
  display: flex;
  align-items: center;
  padding-left: calc(16 * var(--to-rem));
  border-left: 3px solid var(--_color-border);
}

.p-narrative__label-text {
  font-size: calc(20 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.8;
  color: var(--_color-body-text);
  letter-spacing: 0.03em;
}
@media screen and (max-width: 599px) {
  .p-narrative__label-text {
    font-size: calc(16 * var(--to-rem));
  }
}

.p-narrative__heading {
  font-size: calc(28 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.5;
  color: var(--_color-body-text);
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .p-narrative__heading {
    font-size: calc(24 * var(--to-rem));
  }
}
@media screen and (max-width: 599px) {
  .p-narrative__heading {
    font-size: calc(20 * var(--to-rem));
  }
}

.p-narrative__story {
  display: flex;
  flex-direction: column;
  gap: calc(20 * var(--to-rem));
}

.p-narrative__story-text {
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.8;
  color: var(--_color-body-text);
  letter-spacing: 0.05em;
}
@media screen and (max-width: 599px) {
  .p-narrative__story-text {
    font-size: calc(16 * var(--to-rem));
  }
}

.p-narrative__story-text--message {
  padding-left: calc(8 * var(--to-rem));
}

.p-narrative__quote-card {
  display: flex;
  flex-direction: column;
  gap: calc(26 * var(--to-rem));
  padding: calc(32 * var(--to-rem));
  background-color: var(--_color-quote-bg);
  border-radius: calc(16 * var(--to-rem));
}
@media screen and (max-width: 599px) {
  .p-narrative__quote-card {
    gap: calc(20 * var(--to-rem));
    padding: calc(24 * var(--to-rem));
  }
}

.p-narrative__quote-block {
  position: relative;
  width: fit-content;
  padding: calc(8 * var(--to-rem)) calc(40 * var(--to-rem)) 0 calc(40 * var(--to-rem));
}

.p-narrative__quote-mark {
  position: absolute;
  font-family: Georgia, serif;
  font-size: calc(64 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1;
  color: var(--_color-quote-mark);
}
.p-narrative__quote-mark--open {
  top: 0;
  left: 0;
}
.p-narrative__quote-mark--close {
  right: 0;
  bottom: calc(-20 * var(--to-rem));
}

.p-narrative__quote-text {
  font-size: calc(24 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.6;
  color: var(--_color-body-text);
  letter-spacing: calc(1.2 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-narrative__quote-text {
    font-size: calc(20 * var(--to-rem));
  }
}
@media screen and (max-width: 599px) {
  .p-narrative__quote-text {
    font-size: calc(18 * var(--to-rem));
  }
}

.p-narrative__quote-body {
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 200%;
  color: var(--_color-body-text);
  letter-spacing: calc(0.9 * var(--to-rem));
}
@media screen and (max-width: 599px) {
  .p-narrative__quote-body {
    font-size: calc(16 * var(--to-rem));
  }
}

.p-narrative__cite {
  font-size: calc(15 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.6;
  color: var(--_color-cite);
  letter-spacing: 0.05em;
}

.p-narrative__note {
  font-size: calc(13 * var(--to-rem));
  line-height: 1.6;
  color: var(--_color-note);
  text-align: right;
}
@media screen and (max-width: 599px) {
  .p-narrative__note {
    font-size: calc(12 * var(--to-rem));
  }
}

.p-our-impact {
  --_color-bg-cream: #fbf6d4;
  --_color-body-text: #272727;
  --_color-green-impact: #82b900;
  --_color-icon-pale: #dbebb5;
  padding-block: calc(30 * var(--to-rem)) calc(160 * var(--to-rem));
  background: linear-gradient(to bottom, var(--_color-bg-cream) 0%, var(--color-white) 50%, var(--_color-bg-cream) 100%);
}
@media screen and (max-width: 767px) {
  .p-our-impact {
    padding-block: calc(64 * var(--to-rem)) calc(80 * var(--to-rem));
  }
}
@media screen and (max-width: 599px) {
  .p-our-impact {
    padding-block: calc(48 * var(--to-rem)) calc(64 * var(--to-rem));
  }
}

.p-our-impact__heading-wrap {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-block: calc(48 * var(--to-rem)) calc(56 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-our-impact__heading-wrap {
    padding-block: calc(32 * var(--to-rem)) calc(40 * var(--to-rem));
  }
}
@media screen and (max-width: 599px) {
  .p-our-impact__heading-wrap {
    padding-block: calc(24 * var(--to-rem)) calc(32 * var(--to-rem));
  }
}

.p-our-impact__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: calc(24 * var(--to-rem));
  padding: calc(80 * var(--to-rem)) 0 0 0;
  margin: 0;
  list-style: none;
}
@media screen and (max-width: 767px) {
  .p-our-impact__grid {
    grid-template-columns: repeat(2, 1fr);
    padding-top: calc(48 * var(--to-rem));
  }
}
@media screen and (max-width: 599px) {
  .p-our-impact__grid {
    grid-template-columns: repeat(2, 1fr);
    padding-top: calc(32 * var(--to-rem));
  }
}

.p-our-impact__card {
  display: flex;
  flex-direction: column;
  gap: calc(24 * var(--to-rem));
  align-items: center;
  padding: calc(40 * var(--to-rem)) calc(16 * var(--to-rem));
  background-color: var(--color-white);
  border-radius: calc(24 * var(--to-rem));
}
@media screen and (max-width: 599px) {
  .p-our-impact__card {
    gap: calc(16 * var(--to-rem));
    padding: calc(32 * var(--to-rem)) calc(16 * var(--to-rem));
  }
}

.p-our-impact__card-header {
  display: flex;
  flex-direction: column;
  gap: calc(10 * var(--to-rem));
  align-items: center;
}
@media screen and (max-width: 599px) {
  .p-our-impact__card-header {
    gap: calc(16 * var(--to-rem));
  }
}

.p-our-impact__icon {
  display: inline-block;
  width: calc(64 * var(--to-rem));
  height: calc(64 * var(--to-rem));
}

.p-our-impact__card-label {
  font-size: calc(24 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.5;
  color: var(--_color-body-text);
  text-align: center;
}
@media screen and (max-width: 599px) {
  .p-our-impact__card-label {
    font-size: calc(18 * var(--to-rem));
  }
}

.p-our-impact__card-number {
  display: flex;
  gap: calc(2 * var(--to-rem));
  align-items: baseline;
}

.p-our-impact__num {
  font-family: var(--title-font-family);
  font-size: calc(64 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1;
  color: var(--_color-green-impact);
}
@media screen and (max-width: 767px) {
  .p-our-impact__num {
    font-size: calc(48 * var(--to-rem));
  }
}
@media screen and (max-width: 599px) {
  .p-our-impact__num {
    font-size: calc(40 * var(--to-rem));
  }
}

.p-our-impact__unit {
  font-size: calc(32 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1;
  color: var(--_color-green-impact);
}
@media screen and (max-width: 599px) {
  .p-our-impact__unit {
    font-size: calc(24 * var(--to-rem));
  }
}

.p-our-impact__card-note {
  padding-bottom: calc(30 * var(--to-rem));
  font-size: calc(15 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.6;
  color: var(--_color-body-text);
  text-align: center;
}
@media screen and (max-width: 599px) {
  .p-our-impact__card-note {
    font-size: calc(13 * var(--to-rem));
  }
}

.p-our-impact__year-note {
  padding-top: calc(16 * var(--to-rem));
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.8;
  color: var(--_color-body-text);
  text-align: right;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 599px) {
  .p-our-impact__year-note {
    font-size: calc(14 * var(--to-rem));
  }
}

.p-social-proof {
  --_color-bg: #fbf6d4;
  --_color-green: #82b900;
  --_color-avatar-bg: rgb(130 185 0 / 15%);
  padding-block: calc(64 * var(--to-rem));
  background: linear-gradient(180deg, var(--_color-bg) 0%, var(--color-white) 50%, var(--_color-bg) 100%);
}
@media screen and (max-width: 767px) {
  .p-social-proof {
    padding-block: calc(48 * var(--to-rem));
  }
}
@media screen and (max-width: 599px) {
  .p-social-proof {
    padding-block: calc(40 * var(--to-rem));
  }
}

.p-social-proof__count-wrap {
  display: flex;
  justify-content: center;
  margin-bottom: calc(40 * var(--to-rem));
}
@media screen and (max-width: 599px) {
  .p-social-proof__count-wrap {
    margin-bottom: calc(24 * var(--to-rem));
  }
}

.p-social-proof__count-text {
  display: flex;
  flex-direction: column;
  gap: calc(14 * var(--to-rem));
  align-items: center;
  justify-content: center;
}

.p-social-proof__count-lead,
.p-social-proof__count-trail {
  font-size: calc(24 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.5;
  color: var(--color-black);
  letter-spacing: 0.05em;
}
@media screen and (max-width: 599px) {
  .p-social-proof__count-lead,
  .p-social-proof__count-trail {
    font-size: calc(18 * var(--to-rem));
  }
}

.p-social-proof__count-num {
  font-family: var(--title-font-family);
  font-size: calc(80 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1;
  color: var(--_color-green);
}
@media screen and (max-width: 767px) {
  .p-social-proof__count-num {
    font-size: calc(60 * var(--to-rem));
  }
}
@media screen and (max-width: 599px) {
  .p-social-proof__count-num {
    font-size: calc(48 * var(--to-rem));
  }
}

.p-social-proof__count-unit {
  font-size: calc(48 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1;
  color: var(--_color-green);
  letter-spacing: calc(2.4 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-social-proof__count-unit {
    font-size: calc(36 * var(--to-rem));
  }
}
@media screen and (max-width: 599px) {
  .p-social-proof__count-unit {
    font-size: calc(28 * var(--to-rem));
  }
}

.p-social-proof__avatars {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: calc(60 * var(--to-rem));
}
.p-social-proof__avatars > * + * {
  margin-left: calc(-8 * var(--to-rem));
}
@media screen and (max-width: 599px) {
  .p-social-proof__avatars {
    margin-bottom: calc(24 * var(--to-rem));
  }
}

.p-social-proof__avatar {
  display: block;
  flex-shrink: 0;
  width: calc(56 * var(--to-rem));
  height: calc(56 * var(--to-rem));
  background-color: var(--_color-avatar-bg);
  border: 2px solid var(--color-white);
  border-radius: 50%;
}

.p-social-proof__avatar-more {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: calc(56 * var(--to-rem));
  height: calc(56 * var(--to-rem));
  font-family: var(--title-font-family);
  font-size: calc(15 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1;
  color: var(--color-white);
  background-color: var(--_color-green);
  border: 2px solid var(--color-white);
  border-radius: 50%;
}

.p-social-proof__cta-wrap {
  display: flex;
  justify-content: center;
}

.p-social-proof__cta {
  position: relative;
  padding: calc(16 * var(--to-rem)) calc(40 * var(--to-rem)) calc(16 * var(--to-rem)) calc(64 * var(--to-rem));
  font-size: calc(20 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.5;
  color: var(--color-white);
  text-decoration: none;
  letter-spacing: 0.05em;
  background-color: var(--color-orange);
  border-radius: calc(50 * var(--to-rem));
  box-shadow: 0 0 24px 0 rgba(234, 124, 14, 0.35);
  transition: transform var(--duration), box-shadow var(--duration), filter var(--duration);
}
.p-social-proof__cta .p-social-proof__cta-icon {
  position: absolute;
  top: 50%;
  left: 24px;
  width: calc(28 * var(--to-rem));
  height: calc(28 * var(--to-rem));
  transform: translateY(-50%);
}
@media (hover: hover) {
  .p-social-proof__cta:hover {
    filter: brightness(1.1);
    box-shadow: 0 12px 32px rgba(234, 124, 14, 0.6);
    transform: translateY(calc(-4 * var(--to-rem)));
  }
}
@media screen and (max-width: 599px) {
  .p-social-proof__cta {
    padding: calc(14 * var(--to-rem)) calc(28 * var(--to-rem));
    font-size: calc(16 * var(--to-rem));
  }
}

.p-supporter-voice {
  --_color-bg-start: #eaf3d4;
  --_color-quote: #dbebb5;
  --_color-green: #82b900;
  --_color-dark-green: #4d8000;
  padding-block: calc(96 * var(--to-rem));
  background: linear-gradient(180deg, var(--_color-bg-start) 0%, var(--color-white) 100%);
}
@media screen and (max-width: 767px) {
  .p-supporter-voice {
    padding-block: calc(64 * var(--to-rem));
  }
}
@media screen and (max-width: 599px) {
  .p-supporter-voice {
    padding-block: calc(48 * var(--to-rem));
  }
}

.p-supporter-voice__heading-wrap {
  display: flex;
  flex-direction: column;
  gap: calc(4 * var(--to-rem));
  align-items: center;
  padding-bottom: calc(56 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-supporter-voice__heading-wrap {
    padding-bottom: calc(40 * var(--to-rem));
  }
}
@media screen and (max-width: 599px) {
  .p-supporter-voice__heading-wrap .c-title__sub {
    top: calc(25 * var(--to-rem));
  }
}

.p-supporter-voice__title-num {
  font-family: var(--title-font-family);
  color: var(--_color-dark-green);
}

.p-supporter-voice__grid {
  display: flex;
  gap: calc(24 * var(--to-rem));
  align-items: stretch;
  padding-top: calc(10 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-supporter-voice__grid {
    flex-direction: column;
  }
}

.p-supporter-voice__card {
  position: relative;
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: calc(24 * var(--to-rem));
  padding: calc(24 * var(--to-rem));
  background-color: var(--color-white);
  border: 1px solid var(--_color-quote);
  border-radius: calc(16 * var(--to-rem));
}

.p-supporter-voice__quote-mark {
  position: absolute;
  top: calc(-18 * var(--to-rem));
  right: calc(12.3 * var(--to-rem));
  margin-block: 0;
  font-size: calc(72 * var(--to-rem));
  line-height: 100%;
  color: var(--_color-quote);
}

.p-supporter-voice__body {
  font-size: calc(15 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.8;
  color: var(--color-black);
  letter-spacing: 0.05em;
}

.p-supporter-voice__footer {
  display: flex;
  gap: calc(12 * var(--to-rem));
  align-items: center;
}

.p-supporter-voice__avatar {
  flex-shrink: 0;
  width: calc(48 * var(--to-rem));
  height: calc(48 * var(--to-rem));
  background-color: var(--_color-quote);
  border-radius: 50%;
}

.p-supporter-voice__name {
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.8;
  color: var(--color-black);
  letter-spacing: calc(0.7 * var(--to-rem));
}

.p-supporter-voice__name--small {
  font-size: calc(13 * var(--to-rem));
  letter-spacing: calc(0.65 * var(--to-rem));
}

.p-tax-deduction {
  --_color-green: #82b900;
  --_color-card-bg: #eaf3d4;
  --_color-highlight: rgb(130 185 0 / 20%);
  padding-block: calc(96 * var(--to-rem));
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-tax-deduction {
    padding-block: calc(64 * var(--to-rem));
  }
}
@media screen and (max-width: 599px) {
  .p-tax-deduction {
    padding-block: calc(48 * var(--to-rem));
  }
}

.p-tax-deduction__heading-wrap {
  display: flex;
  flex-direction: column;
  gap: calc(16 * var(--to-rem));
  align-items: center;
  padding-bottom: calc(60 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-tax-deduction__heading-wrap {
    padding-bottom: calc(48 * var(--to-rem));
  }
}
@media screen and (max-width: 599px) {
  .p-tax-deduction__heading-wrap {
    padding-bottom: calc(32 * var(--to-rem));
  }
}

.p-tax-deduction__title {
  font-size: calc(40 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.6;
  color: var(--color-black);
  text-align: center;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-tax-deduction__title {
    font-size: calc(30 * var(--to-rem));
  }
}
@media screen and (max-width: 599px) {
  .p-tax-deduction__title {
    font-size: calc(22 * var(--to-rem));
  }
}

.p-tax-deduction__desc-line {
  padding-bottom: calc(3 * var(--to-rem));
  background: linear-gradient(var(--_color-highlight), var(--_color-highlight)) 0 100%/100% calc(12 * var(--to-rem)) no-repeat;
}

.p-tax-deduction__desc {
  padding-top: calc(30 * var(--to-rem));
  font-size: calc(20 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.8;
  color: var(--color-black);
  text-align: center;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 599px) {
  .p-tax-deduction__desc {
    font-size: calc(16 * var(--to-rem));
  }
}

.p-tax-deduction__note {
  display: flex;
  flex-direction: column;
  gap: calc(4 * var(--to-rem));
  align-items: center;
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.8;
  color: var(--color-black);
  text-align: center;
  letter-spacing: 0.05em;
}

.p-tax-deduction__note-link {
  color: var(--_color-green);
  text-decoration: underline;
  transition: opacity var(--duration);
}
@media (hover: hover) {
  .p-tax-deduction__note-link:hover {
    opacity: 0.75;
  }
}

.p-tax-deduction__give-one {
  display: flex;
  flex-direction: column;
  gap: calc(24 * var(--to-rem));
  align-items: center;
}

.p-tax-deduction__give-one-title {
  font-size: calc(28 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.8;
  color: var(--color-black);
  text-align: center;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 599px) {
  .p-tax-deduction__give-one-title {
    font-size: calc(22 * var(--to-rem));
  }
}

.p-tax-deduction__benefits {
  display: flex;
  gap: calc(24 * var(--to-rem));
  justify-content: center;
  padding-bottom: calc(36 * var(--to-rem));
}
@media screen and (max-width: 599px) {
  .p-tax-deduction__benefits {
    flex-direction: column;
    align-items: center;
    width: 100%;
  }
}

.p-tax-deduction__benefit-card {
  display: flex;
  flex-direction: column;
  gap: calc(16 * var(--to-rem));
  align-items: center;
  width: calc(400 * var(--to-rem));
  max-width: 100%;
  padding: calc(24 * var(--to-rem)) calc(24 * var(--to-rem)) calc(40 * var(--to-rem));
  background-color: var(--_color-card-bg);
  border: 1px solid var(--_color-green);
  border-radius: calc(16 * var(--to-rem));
}

.p-tax-deduction__benefit-badge {
  display: block;
  padding: calc(8 * var(--to-rem)) calc(24 * var(--to-rem));
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 180%;
  color: var(--color-white);
  letter-spacing: calc(0.9 * var(--to-rem));
  background-color: var(--_color-green);
  border-radius: calc(56 * var(--to-rem));
}

.p-tax-deduction__benefit-text {
  font-size: calc(22 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.8;
  color: var(--color-black);
  text-align: center;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 599px) {
  .p-tax-deduction__benefit-text {
    font-size: calc(18 * var(--to-rem));
  }
}

.p-tax-deduction__application {
  display: flex;
  flex-direction: column;
  gap: calc(24 * var(--to-rem));
  align-items: center;
  width: 100%;
  max-width: calc(800 * var(--to-rem));
}

.p-tax-deduction__application-desc {
  font-size: calc(20 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.8;
  color: var(--color-black);
  text-align: center;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 599px) {
  .p-tax-deduction__application-desc {
    font-size: calc(16 * var(--to-rem));
  }
}

.p-tax-deduction__application-btn {
  position: relative;
  display: inline-flex;
  gap: calc(8 * var(--to-rem));
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: calc(16 * var(--to-rem)) calc(40 * var(--to-rem));
  font-size: calc(24 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.6;
  color: var(--color-white);
  text-decoration: none;
  letter-spacing: 0.05em;
  background-color: var(--_color-green);
  border-radius: calc(136 * var(--to-rem));
  transition: opacity var(--duration);
}
.p-tax-deduction__application-btn img {
  position: absolute;
  right: calc(30 * var(--to-rem));
  width: calc(32 * var(--to-rem));
  height: calc(32 * var(--to-rem));
}
@media (hover: hover) {
  .p-tax-deduction__application-btn:hover {
    opacity: 0.85;
  }
}
@media screen and (max-width: 767px) {
  .p-tax-deduction__application-btn {
    font-size: calc(18 * var(--to-rem));
  }
}
@media screen and (max-width: 599px) {
  .p-tax-deduction__application-btn {
    padding: calc(14 * var(--to-rem)) calc(24 * var(--to-rem));
    font-size: calc(16 * var(--to-rem));
  }
}
.p-tax-deduction__application-btn svg {
  flex-shrink: 0;
}

.p-tax-deduction__disclaimer {
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.8;
  color: var(--color-black);
  text-align: center;
  letter-spacing: 0.05em;
  opacity: 0.75;
}

.p-top-crisis {
  --_color-body-text: #272727;
  --_color-bg: #f8f8f8;
  --_color-card-border: #d6d6d6;
  --_color-founder-bg: #eaf3d4;
  --_color-stat-num: #82b900;
  --_color-note: #6a6971;
  padding-block: calc(96 * var(--to-rem));
  background-color: var(--_color-bg);
}
@media screen and (max-width: 767px) {
  .p-top-crisis {
    padding-block: calc(64 * var(--to-rem));
  }
}
@media screen and (max-width: 599px) {
  .p-top-crisis {
    padding-block: calc(48 * var(--to-rem));
  }
}

.p-top-crisis__title-wrap {
  display: flex;
  justify-content: center;
  padding-bottom: calc(48 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-top-crisis__title-wrap {
    padding-bottom: calc(36 * var(--to-rem));
  }
}
@media screen and (max-width: 599px) {
  .p-top-crisis__title-wrap {
    padding-bottom: calc(28 * var(--to-rem));
  }
}

.p-top-crisis__title {
  font-size: calc(40 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.6;
  color: var(--_color-body-text);
  text-align: center;
  letter-spacing: calc(2 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-top-crisis__title {
    font-size: calc(28 * var(--to-rem));
    letter-spacing: 0.04em;
  }
}
@media screen and (max-width: 599px) {
  .p-top-crisis__title {
    font-size: calc(22 * var(--to-rem));
    letter-spacing: 0.03em;
  }
}

.p-top-crisis__stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: calc(18 * var(--to-rem));
  margin-bottom: calc(75 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-top-crisis__stats {
    gap: calc(12 * var(--to-rem));
    margin-bottom: calc(56 * var(--to-rem));
  }
}
@media screen and (max-width: 599px) {
  .p-top-crisis__stats {
    grid-template-columns: 1fr;
    margin-bottom: calc(40 * var(--to-rem));
  }
}

.p-top-crisis__stat-card {
  display: flex;
  flex-direction: column;
  padding: calc(24 * var(--to-rem));
  background-color: var(--color-white);
  border: 1px solid var(--_color-card-border);
  border-radius: calc(16 * var(--to-rem));
}

.p-top-crisis__stat-label {
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.6;
  color: var(--_color-body-text);
  letter-spacing: 0.05em;
}
@media screen and (max-width: 599px) {
  .p-top-crisis__stat-label {
    font-size: calc(15 * var(--to-rem));
  }
}

.p-top-crisis__stat-value {
  display: flex;
  gap: calc(2 * var(--to-rem));
  align-items: baseline;
}

.p-top-crisis__stat-prefix,
.p-top-crisis__stat-suffix {
  font-size: calc(28 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.6;
  color: var(--_color-body-text);
  letter-spacing: 0.05em;
}
@media screen and (max-width: 599px) {
  .p-top-crisis__stat-prefix,
  .p-top-crisis__stat-suffix {
    font-size: calc(20 * var(--to-rem));
  }
}

.p-top-crisis__stat-num {
  font-size: calc(48 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1;
  color: var(--_color-stat-num);
}
@media screen and (max-width: 767px) {
  .p-top-crisis__stat-num {
    font-size: calc(40 * var(--to-rem));
  }
}
@media screen and (max-width: 599px) {
  .p-top-crisis__stat-num {
    font-size: calc(32 * var(--to-rem));
  }
}

.p-top-crisis__stat-desc {
  padding-top: calc(24 * var(--to-rem));
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.6;
  color: var(--_color-body-text);
  letter-spacing: 0.05em;
}
@media screen and (max-width: 599px) {
  .p-top-crisis__stat-desc {
    font-size: calc(14 * var(--to-rem));
  }
}

.p-top-crisis__data-section {
  display: flex;
  flex-direction: column;
  gap: calc(48 * var(--to-rem));
  align-items: center;
  padding-bottom: calc(80 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-top-crisis__data-section {
    gap: calc(36 * var(--to-rem));
    padding-block: calc(56 * var(--to-rem));
  }
}
@media screen and (max-width: 599px) {
  .p-top-crisis__data-section {
    gap: calc(28 * var(--to-rem));
    padding-block: calc(40 * var(--to-rem));
  }
}

.p-top-crisis__data-heading {
  font-size: calc(32 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.6;
  color: var(--_color-body-text);
  text-align: center;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-top-crisis__data-heading {
    font-size: calc(26 * var(--to-rem));
  }
}
@media screen and (max-width: 599px) {
  .p-top-crisis__data-heading {
    font-size: calc(20 * var(--to-rem));
  }
}

.p-top-crisis__charts {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: calc(24 * var(--to-rem));
  width: 100%;
}
@media screen and (max-width: 1023px) {
  .p-top-crisis__charts {
    grid-template-columns: 1fr;
    max-width: calc(480 * var(--to-rem));
  }
}

.p-top-crisis__chart-card img {
  display: block;
  width: 100%;
  height: auto;
}

.p-top-crisis__closing {
  font-size: calc(24 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.8;
  color: var(--_color-body-text);
  text-align: center;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-top-crisis__closing {
    font-size: calc(20 * var(--to-rem));
  }
}
@media screen and (max-width: 599px) {
  .p-top-crisis__closing {
    font-size: calc(18 * var(--to-rem));
    text-align: left;
  }
}

.p-top-crisis__founder {
  display: flex;
  gap: calc(40 * var(--to-rem));
  align-items: center;
  padding: calc(40 * var(--to-rem));
  margin-inline: calc(60 * var(--to-rem));
  background-color: var(--_color-founder-bg);
  border-radius: calc(16 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-top-crisis__founder {
    flex-direction: column;
    gap: calc(24 * var(--to-rem));
    align-items: flex-start;
    padding: calc(28 * var(--to-rem));
  }
}
@media screen and (max-width: 599px) {
  .p-top-crisis__founder {
    gap: calc(20 * var(--to-rem));
    padding: calc(20 * var(--to-rem));
  }
}

.p-top-crisis__founder-photo {
  flex-shrink: 0;
  width: calc(136 * var(--to-rem));
  height: calc(136 * var(--to-rem));
  overflow: hidden;
  border-radius: 50%;
}
.p-top-crisis__founder-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 599px) {
  .p-top-crisis__founder-photo {
    width: calc(96 * var(--to-rem));
    height: calc(96 * var(--to-rem));
  }
}

.p-top-crisis__founder-body {
  display: flex;
  flex-direction: column;
  gap: calc(16 * var(--to-rem));
}

.p-top-crisis__founder-quote {
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.6;
  color: var(--_color-body-text);
  letter-spacing: calc(0.9 * var(--to-rem));
}
@media screen and (max-width: 599px) {
  .p-top-crisis__founder-quote {
    font-size: calc(15 * var(--to-rem));
  }
}

.p-top-crisis__founder-name {
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.6;
  color: var(--_color-note);
  letter-spacing: calc(0.65 * var(--to-rem));
}

@keyframes fade-in-up {
  from {
    opacity: 0;
    transform: translateY(calc(24 * var(--to-rem)));
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
[data-fade] {
  opacity: 0;
}
[data-fade].is-visible {
  animation: fade-in-up 0.9s 0.2s ease both;
}

.u-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.u-sp-only {
  display: none;
}
@media screen and (max-width: 767px) {
  .u-sp-only {
    display: block;
  }
}