.volunteer {
    --volunteer-step-notch: 3.9vw;
    color: #000;
}

.volunteer img {
    max-width: 100%;
    height: auto;
}

.volunteer strong {
    font-weight: bold;
    color: #000;
    font-size: 1.125em;
}

.volunteer-hero,
.volunteer-top-cta,
.volunteer-intro,
.volunteer-recommend,
.volunteer-recruit-actions,
.volunteer-about-main,
.volunteer-mind,
.volunteer-list-head,
.volunteer-detail-main,
.volunteer-requirements,
.volunteer-form-block,
.volunteer-confirm-block,
.volunteer-complete {
    margin-right: auto;
    margin-left: auto;
}

.volunteer-hero-img img {
    width: 100%;
}

.volunteer-top-cta {
    display: grid;
}

.volunteer-top-cta-link,
.volunteer-event-card-link {
    display: block;
    color: inherit;
    text-decoration: none;
}

.volunteer-top-cta-link:link,
.volunteer-top-cta-link:visited,
.volunteer-top-cta-link:hover,
.volunteer-top-cta-link:active,
.volunteer-top-cta-link:focus,
.volunteer-event-card-link:link,
.volunteer-event-card-link:visited,
.volunteer-event-card-link:hover,
.volunteer-event-card-link:active,
.volunteer-event-card-link:focus {
    color: inherit;
    text-decoration: none;
}

.volunteer-top-cta-link img {
    display: block;
    width: 100%;
}

.volunteer-intro,
.volunteer-intro-head {
    display: flex;
}

.volunteer-intro {
    flex-direction: column;
    align-items: center;
}

.volunteer-intro-head {
    align-items: flex-end;
    justify-content: center;
}

.volunteer-intro-mark {
    flex: none;
}

.volunteer-intro-mark img {
    display: block;
    width: 100%;
}

.volunteer-intro-copy {
    font-weight: bold;
}

.volunteer-intro-text,
.volunteer-step-text,
.volunteer-section-text,
.volunteer-about-text,
.volunteer-detail-text,
.volunteer-form-lead,
.volunteer-complete p {
    font-size: 1rem;
    line-height: 1.8;
}

.volunteer-intro .volunteer-btn {
    display: flex;
    width: fit-content;
    margin-right: auto;
    margin-left: auto;
}

.volunteer-btn,
.volunteer-card-link,
.volunteer-submit-btn,
.volunteer-back-btn,
.volunteer-outline-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 48px 0 28px;
    overflow: hidden;
    font-size: 1rem;
    font-weight: bold;
    line-height: 1.25;
    text-align: center;
    text-decoration: none;
    border: 1px solid #f50000;
    border-radius: 24px;
}

.volunteer-btn,
.volunteer-card-link,
.volunteer-back-btn {
    color: #fff;
    background: #f50000;
}

.volunteer-btn:link,
.volunteer-btn:visited,
.volunteer-btn:hover,
.volunteer-btn:active,
.volunteer-btn:focus,
.volunteer-card-link:link,
.volunteer-card-link:visited,
.volunteer-card-link:hover,
.volunteer-card-link:active,
.volunteer-card-link:focus,
.volunteer-back-btn:link,
.volunteer-back-btn:visited,
.volunteer-back-btn:hover,
.volunteer-back-btn:active,
.volunteer-back-btn:focus {
    color: #fff;
    text-decoration: none;
}

.volunteer-btn::after,
.volunteer-card-link::after,
.volunteer-back-btn::after,
.volunteer-outline-btn::after {
    position: absolute;
    top: 0;
    right: 18px;
    bottom: 0;
    width: 20px;
    height: 20px;
    margin: auto 0;
    content: "";
    border: 2px solid currentColor;
    border-radius: 50%;
}

.volunteer-btn::before,
.volunteer-card-link::before,
.volunteer-back-btn::before,
.volunteer-outline-btn::before {
    position: absolute;
    top: 0;
    right: 26px;
    bottom: 0;
    z-index: 1;
    width: 7px;
    height: 7px;
    margin: auto 0;
    content: "";
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transform: rotate(45deg);
}

.volunteer-btn.-white {
    color: #000;
    background: #fff;
    border-color: #fff;
}

.volunteer-btn.-white:link,
.volunteer-btn.-white:visited,
.volunteer-btn.-white:hover,
.volunteer-btn.-white:active,
.volunteer-btn.-white:focus {
    color: #000;
}

.volunteer-step.-explore .volunteer-btn.-white::before,
.volunteer-step.-explore .volunteer-btn.-white::after {
    border-color: #f44b1e;
}

.volunteer-step.-recruit .volunteer-btn {
    margin-top: 28px;
    color: #f44b1e;
    background: #fff;
    border-color: #fff;
}

.volunteer-step.-recruit .volunteer-btn:link,
.volunteer-step.-recruit .volunteer-btn:visited,
.volunteer-step.-recruit .volunteer-btn:hover,
.volunteer-step.-recruit .volunteer-btn:active,
.volunteer-step.-recruit .volunteer-btn:focus {
    color: #f44b1e;
}

.volunteer-textlink {
    display: inline-block;
    font-size: 1rem;
    font-weight: bold;
    color: #f44b1e;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.volunteer-textlink:link,
.volunteer-textlink:visited,
.volunteer-textlink:hover,
.volunteer-textlink:active,
.volunteer-textlink:focus {
    color: #f44b1e;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.volunteer-step {
    position: relative;
    margin-right: auto;
    margin-left: auto;
    text-align: center;
    clip-path: polygon(0 0,
        50% var(--volunteer-step-notch),
        100% 0,
        100% calc(100% - var(--volunteer-step-notch)),
        50% 100%,
        0 calc(100% - var(--volunteer-step-notch)));
}

.volunteer-step.-join,
.volunteer-step.-explore,
.volunteer-step.-recruit {
    color: #fff;
    background: #f44b1e;
}

.volunteer-step.-recruit {
    margin-top: 0;
}

.volunteer-step-en {
    font-family: "Roboto", sans-serif;
    font-size: 3rem;
    font-style: italic;
    font-weight: 700;
    line-height: 1;
}

.volunteer-step-en.-image {
    font-size: 0;
}

.volunteer-step-en.-image img {
    display: block;
    width: auto;
    margin: 0 auto;
}

.volunteer-step.-join .volunteer-step-en,
.volunteer-step.-explore .volunteer-step-en,
.volunteer-step.-recruit .volunteer-step-en {
    color: #fff;
}

.volunteer-list-head .volunteer-step-en {
    color: #f44b1e;
}

.volunteer-step-num {
    margin-top: 18px;
    font-family: "Roboto", sans-serif;
    font-size: 2.25rem;
    font-weight: 500;
    line-height: 1;
}

.volunteer-step-num.-image {
    margin-top: 32px;
    font-size: 0;
}

.volunteer-step-num.-image img {
    display: block;
    width: auto;
    margin: 0 auto;
}

.volunteer-step-num.-image+.volunteer-step-title {
    margin-top: 32px;
}

.volunteer-step-num span {
    display: block;
    margin-top: 5px;
    font-size: .75rem;
}

.volunteer-step-kicker {
    margin-top: 10px;
    font-size: .875rem;
    font-weight: bold;
}

.volunteer-step-note {
    margin-top: 22px;
    font-size: .875rem;
    line-height: 1.6;
}

.volunteer-step-title,
.volunteer-list-title {
    font-weight: bold;
}

.volunteer-step-title,
.volunteer-subtitle {
    letter-spacing: .1em;
}

.volunteer-subtitle,
.volunteer-section-title {
    position: relative;
    display: flex;
    align-items: center;
    font-weight: bold;
}

.volunteer-section-title::before {
    display: block;
    flex: none;
    content: "";
    background: #f44b1e;
}

.volunteer-subtitle {
    justify-content: center;
}

.volunteer-subtitle span {
    color: #f44b1e;
}

.volunteer-recommend-list {
    display: flex;
}

.volunteer-recommend-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    color: #f44b1e;
    background: #fff;
    border: 2px solid #f44b1e;
    border-radius: 8px;
    box-shadow: 7px 7px 0 rgba(0, 0, 0, .12);
}

.volunteer-recommend-icon {
    display: block;
    object-fit: contain;
}

.volunteer-join-notice {
    width: min(100%, 720px);
    color: #f50000;
    font-weight: bold;
    line-height: 1.8;
    text-align: left;
}

.volunteer-join-notice p {
    position: relative;
    padding-left: 1.15em;
}

.volunteer-join-notice p::before {
    position: absolute;
    top: 0;
    left: 0;
    content: "\30FB";
}

.volunteer-icon {
    position: relative;
    display: block;
    width: 46px;
    height: 46px;
    color: #111;
}

.volunteer-icon.-shoe::before {
    position: absolute;
    right: 4px;
    bottom: 7px;
    width: 34px;
    height: 14px;
    content: "";
    background: currentColor;
    transform: skewX(-28deg);
}

.volunteer-icon.-shoe::after {
    position: absolute;
    right: 3px;
    bottom: 4px;
    width: 38px;
    height: 3px;
    content: "";
    background: currentColor;
}

.volunteer-icon.-flag::before {
    position: absolute;
    bottom: 5px;
    left: 10px;
    width: 4px;
    height: 36px;
    content: "";
    background: currentColor;
}

.volunteer-icon.-flag::after {
    position: absolute;
    top: 5px;
    left: 14px;
    width: 26px;
    height: 20px;
    content: "";
    background: repeating-conic-gradient(#111 0 25%, #fff 0 50%) 0 0 / 13px 10px;
    border: 2px solid #111;
}

.volunteer-icon.-spark::before,
.volunteer-icon.-spark::after {
    position: absolute;
    content: "";
    background: currentColor;
    clip-path: polygon(50% 0, 62% 36%, 100% 50%, 62% 64%, 50% 100%, 38% 64%, 0 50%, 38% 36%);
}

.volunteer-icon.-spark::before {
    top: 6px;
    left: 5px;
    width: 24px;
    height: 24px;
}

.volunteer-icon.-spark::after {
    right: 5px;
    bottom: 6px;
    width: 16px;
    height: 16px;
}

.volunteer-actions {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.volunteer-recommend .volunteer-btn,
.volunteer-recruit-actions .volunteer-btn {
    padding-right: 76px;
    padding-left: 52px;
    border-radius: 0;
}

.volunteer-actions.-center {
    text-align: center;
}

.volunteer-card-list {
    display: grid;
}

.volunteer-explore-events {
    margin-right: auto;
    margin-left: auto;
    text-align: center;
}

.volunteer-card-carousel {
    position: relative;
}

.volunteer-card-viewport {
    overflow: hidden;
}

.volunteer-event-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    color: #fff;
    background: #f44b1e;
}

.volunteer-event-card-link {
    width: 100%;
}

.volunteer-card-thumb {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    aspect-ratio: 5 / 4;
    overflow: hidden;
    color: #999;
    font-family: "Roboto", sans-serif;
    font-size: .875rem;
    font-weight: 700;
    background: #d9edf7;
    border: 10px solid #f44b1e;
}

.volunteer-card-thumb:link,
.volunteer-card-thumb:visited,
.volunteer-card-thumb:hover,
.volunteer-card-thumb:active,
.volunteer-card-thumb:focus {
    color: #999;
    text-decoration: none;
}

.volunteer-card-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.volunteer-card-data {
    width: 100%;
    font-weight: bold;
    text-align: left;
}

.volunteer-card-data div {
    display: flex;
}

.volunteer-card-data dt {
    flex: none;
}

.volunteer-card-data dt::after {
    content: "\ff1a";
}

.volunteer-card-link {
    min-height: 34px;
    color: #f44b1e;
    background: #fff;
    border-color: #fff;
    border-radius: 999px;
}

.volunteer-card-link:link,
.volunteer-card-link:visited,
.volunteer-card-link:hover,
.volunteer-card-link:active,
.volunteer-card-link:focus {
    color: #f44b1e;
}

.volunteer-explore-arrow {
    position: absolute;
    display: none;
    width: 52px;
    height: 52px;
    margin: auto 0;
    color: #f44b1e;
    background: #fff;
    border: 5px solid currentColor;
    border-radius: 50%;
}

.volunteer-explore-arrow[disabled] {
    pointer-events: none;
    opacity: .35;
}

.volunteer-explore-arrow::before {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 14px;
    height: 14px;
    margin: auto 0;
    content: "";
    border-top: 5px solid currentColor;
    border-right: 5px solid currentColor;
}

.volunteer-explore-arrow.-prev::before {
    right: 13px;
    transform: rotate(-135deg);
}

.volunteer-explore-arrow.-next::before {
    left: 13px;
    transform: rotate(45deg);
}

.volunteer-recruit-actions {
    text-align: center;
}

.volunteer-photo {
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    color: #999;
    font-family: "Roboto", sans-serif;
    font-weight: 700;
}

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

.volunteer-photo.-wide {
    aspect-ratio: 1085 / 695;
}

.volunteer-photo.-event {
    aspect-ratio: 8 / 5;
    height: auto;
}

.volunteer-about-content,
.volunteer-about .volunteer-mind,
.volunteer-about .volunteer-actions.-center {
    max-width: 960px;
    margin-right: auto;
    margin-left: auto;
}

.volunteer-about .volunteer-actions.-center,
.volunteer-events .volunteer-actions.-center,
.volunteer-detail .volunteer-actions.-center {
    display: flex;
    justify-content: center;
    width: calc(100% - 30px);
    margin-right: auto;
    margin-left: auto;
}

.volunteer-about .volunteer-actions.-center .volunteer-btn,
.volunteer-events .volunteer-actions.-center .volunteer-btn,
.volunteer-detail .volunteer-actions.-center .volunteer-btn {
    box-sizing: border-box;
    width: 360px;
    max-width: 100%;
    padding-right: 76px;
    padding-left: 52px;
    border-radius: 0;
}

.volunteer-about .volunteer-actions.-center .volunteer-btn+.volunteer-btn {
    margin-top: 28px;
}

.volunteer-about .volunteer-actions.-center p {
    margin-bottom: 28px;
    font-weight: bold;
    line-height: 1.7;
}

.volunteer-empty {
    font-weight: bold;
    line-height: 1.8;
    text-align: center;
}

.volunteer-about-lead {
    font-weight: bold;
}

.volunteer-about-lead strong {
    color: #f44b1e;
}

.volunteer-about-lead,
.volunteer-about-text,
.volunteer-about-note {
    max-width: 960px;
    margin-right: auto;
    margin-left: auto;
}

.volunteer-about-lead p+p,
.volunteer-about-text p+p {
    margin-top: 18px;
}

.volunteer-about-note {
    color: #f44b1e;
    font-size: .875rem;
    line-height: 1.75;
}

.volunteer-mind-img img {
    margin-right: auto;
    margin-left: auto;
}

.volunteer-event-panel {
    background: #fff;
}

.volunteer-event-area {
    background: #fff;
}

.volunteer-events .volunteer-list-head {
    margin-top: 0;
    text-align: center;
}

.volunteer-events .volunteer-step-kicker {
    color: #f44b1e;
}

.volunteer-list-head .volunteer-step-en.-image img {
    width: min(100%, 416px);
}

.volunteer-events .volunteer-list-title {
    color: #f44b1e;
    font-size: 1rem;
    font-weight: bold;
    line-height: 1.8;
}

.volunteer-events .volunteer-card-data {
    margin-bottom: 16px;
}

.volunteer-events .volunteer-card-link {
    margin-top: auto;
}

.volunteer-events .volunteer-event-panel {
    background: transparent;
}

.volunteer-detail-meta div {
    display: flex;
    align-items: center;
}

.volunteer-detail-meta dt {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: none;
    font-size: .875rem;
    border: 1px solid #999;
    border-radius: 2px;
}

.volunteer-detail-meta dd {
    line-height: 1.6;
}

.volunteer-detail-text {
    box-sizing: border-box;
    width: 100%;
    padding: 30px;
    overflow-wrap: anywhere;
    word-break: normal;
}

.volunteer-detail-text p {
    max-width: 100%;
    overflow-wrap: anywhere;
}

.volunteer-detail-gallery {
    position: relative;
}

.volunteer-gallery-arrow {
    position: absolute;
    top: 0;
    bottom: 0;
    display: block;
    width: 42px;
    height: 42px;
    margin: auto 0;
    color: #f44b1e;
    text-decoration: none;
    background: #fff;
    border: 4px solid currentColor;
    border-radius: 50%;
}

.volunteer-detail .volunteer-gallery-arrow,
.volunteer-detail .volunteer-gallery-arrow:link,
.volunteer-detail .volunteer-gallery-arrow:visited,
.volunteer-detail .volunteer-gallery-arrow:hover,
.volunteer-detail .volunteer-gallery-arrow:active,
.volunteer-detail .volunteer-gallery-arrow:focus {
    color: #f44b1e;
    background: #fff;
    border-color: #f44b1e;
}

.volunteer-gallery-arrow::before {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 12px;
    height: 12px;
    margin: auto 0;
    content: "";
    border-top: 4px solid currentColor;
    border-right: 4px solid currentColor;
}

.volunteer-gallery-arrow.-prev {
    left: -72px;
}

.volunteer-gallery-arrow.-prev::before {
    right: 11px;
    transform: rotate(-135deg);
}

.volunteer-gallery-arrow.-next {
    right: -72px;
}

.volunteer-gallery-arrow.-next::before {
    left: 11px;
    transform: rotate(45deg);
}

.volunteer-detail-subphotos {
    display: grid;
}

.volunteer-detail-post-nav {
    display: flex;
    justify-content: space-between;
    width: calc(100% - 30px);
    max-width: 800px;
    margin: 28px auto 0;
}

.volunteer-detail-post-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 132px;
    min-height: 42px;
    padding: 8px 24px;
    color: #f44b1e;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
    text-decoration: none;
    border: 2px solid currentColor;
    border-radius: 999px;
}

.volunteer-detail-post-link:link,
.volunteer-detail-post-link:visited,
.volunteer-detail-post-link:hover,
.volunteer-detail-post-link:active,
.volunteer-detail-post-link:focus {
    color: #f44b1e;
    text-decoration: none;
}

.volunteer-detail-post-link.-next {
    margin-left: auto;
}

.volunteer-table-title {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 56px;
    color: #fff;
    font-size: 1.5rem;
    font-weight: bold;
    background: #f44b1e;
}

.volunteer-table {
    width: 100%;
    border: 1px solid #f0b5aa;
}

.volunteer-table th,
.volunteer-table td {
    font-size: 1rem;
    line-height: 1.75;
    vertical-align: middle;
    border-top: 1px solid #f0b5aa;
}

.volunteer-table tr:first-child th,
.volunteer-table tr:first-child td {
    border-top: 0;
}

.volunteer-table th {
    color: #f44b1e;
    font-weight: bold;
    text-align: center;
    background: #f7f7f7;
}

.volunteer-form-lead {
    text-align: center;
}

.volunteer-required-note {
    font-size: .875rem;
}

.volunteer-form-row {
    display: grid;
}

.volunteer-form .wpcf7-form-control-wrap {
    display: block;
    width: 100%;
}

.volunteer-form-label {
    font-weight: bold;
    line-height: 1.5;
}

.volunteer-form-label span,
.volunteer-confirm-row dt span {
    color: #f44b1e;
}

.volunteer-form-label small {
    display: block;
    font-size: .75rem;
    font-weight: normal;
}

.volunteer-form input[type="text"],
.volunteer-form input[type="tel"],
.volunteer-form input[type="url"],
.volunteer-form input[type="email"],
.volunteer-form input[type="password"] {
    width: 100%;
    height: 36px;
    padding: 0 10px;
    border: 1px solid #777;
}

.volunteer-password {
    box-sizing: border-box;
    width: calc(100% - 30px);
    max-width: 640px;
    padding: 34px 0 0;
    margin-right: auto;
    margin-left: auto;
}

.volunteer-password p {
    font-size: 1rem;
    line-height: 1.8;
}

.volunteer-password-error {
    color: #f44b1e;
    font-weight: bold;
}

.volunteer-password-form {
    display: grid;
    gap: 12px;
    margin-top: 24px;
}

.volunteer-password-form label {
    font-weight: bold;
}

.volunteer-password-form input[type="password"] {
    width: 100%;
    height: 44px;
    padding: 0 12px;
    border: 1px solid #777;
}

.volunteer-password-form .volunteer-submit-btn {
    justify-self: center;
    width: 220px;
    margin-top: 12px;
    border-radius: 0;
}

.volunteer-form-page.is-confirming .volunteer-form input.wpcf7c-conf:not([type="checkbox"]):not([type="radio"]),
.volunteer-form-page.is-confirming .volunteer-form textarea.wpcf7c-conf,
.volunteer-form-page.is-confirming .volunteer-form select.wpcf7c-conf {
    height: auto;
    min-height: 0;
    padding: 0;
    color: #000;
    -webkit-text-fill-color: #000;
    line-height: 1.5;
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
    opacity: 1;
}

.volunteer-form-page.is-confirming .volunteer-form input.wpcf7c-conf:not([type="checkbox"]):not([type="radio"]):-webkit-autofill,
.volunteer-form-page.is-confirming .volunteer-form input.wpcf7c-conf:not([type="checkbox"]):not([type="radio"]):-webkit-autofill:hover,
.volunteer-form-page.is-confirming .volunteer-form input.wpcf7c-conf:not([type="checkbox"]):not([type="radio"]):-webkit-autofill:focus {
    background-color: transparent !important;
    background-image: none !important;
    -webkit-box-shadow: 0 0 0 1000px #fff inset !important;
    box-shadow: 0 0 0 1000px #fff inset !important;
    -webkit-text-fill-color: #000 !important;
    transition: background-color 9999s ease-out;
}

.volunteer-policy {
    overflow-y: auto;
    border: 1px solid #777;
}

.volunteer-policy h3 {
    font-size: 1.75rem;
    font-weight: normal;
    text-align: center;
}

.volunteer-policy p {
    font-size: .875rem;
    line-height: 1.6;
}

.volunteer-policy ul {
    padding-left: 1.4em;
    font-size: .875rem;
    line-height: 1.6;
    list-style: disc;
}

.volunteer-policy p+p,
.volunteer-policy p+ul,
.volunteer-policy ul+p {
    margin-top: 12px;
}

.volunteer-form-page.is-confirming .volunteer-form-lead,
.volunteer-form-page.is-confirming .volunteer-policy {
    display: none;
}

.volunteer-check {
    display: flex;
    align-items: flex-start;
    font-size: 1.125rem;
    line-height: 1.6;
}

.volunteer-check .wpcf7-form-control-wrap,
.volunteer-check .wpcf7-form-control,
.volunteer-check .wpcf7-list-item {
    display: block;
    margin: 0;
}

.volunteer-check label {
    display: flex;
    align-items: flex-start;
}

.volunteer-check input {
    flex: none;
    width: 24px;
    height: 24px;
    margin-top: 3px;
    border: 2px solid #333;
}

.volunteer-check input:checked {
    background: linear-gradient(135deg, transparent 45%, #111 45% 55%, transparent 55%),
        linear-gradient(45deg, transparent 52%, #111 52% 62%, transparent 62%);
}

.volunteer-check .wpcf7-list-item-label {
    margin-left: 10px;
}

.volunteer-form .wpcf7-not-valid-tip {
    margin-top: 6px;
    font-size: .8125rem;
}

.volunteer-form .wpcf7-response-output {
    margin: 24px 0 0;
    padding: 12px 16px;
    font-size: .875rem;
    line-height: 1.6;
}

.volunteer-form .wpcf7-spinner {
    display: block;
    margin: 12px auto 0;
}

@keyframes volunteer-sending-spin {
    to {
        transform: rotate(360deg);
    }
}

.volunteer-form-submit {
    text-align: center;
}

.volunteer-form-submit .volunteer-btn {
    border-radius: 0;
}

.volunteer-sending-indicator {
    display: none;
    align-items: center;
    justify-content: center;
    width: 100%;
    gap: 10px;
    color: #333;
    font-size: .875rem;
    font-weight: bold;
    line-height: 1.5;
}

.volunteer-sending-indicator::before {
    content: "";
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    border: 3px solid rgba(87, 185, 87, .25);
    border-top-color: #57b957;
    border-radius: 50%;
    animation: volunteer-sending-spin .8s linear infinite;
}

.volunteer-form-page.is-sending .volunteer-sending-indicator {
    display: flex;
}

.volunteer-form-page.is-sending .volunteer-submit-btn,
.volunteer-form-page.is-sending .volunteer-back-btn {
    opacity: .65;
    pointer-events: none;
    cursor: wait;
}

.volunteer-form-page.is-confirming .volunteer-form-submit {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    width: 100%;
    gap: 30px;
}

.volunteer-form-page.is-confirming .volunteer-form-submit .wpcf7c-elm-step1,
.volunteer-form-page.is-confirming .volunteer-form-submit .wpcf7-spinner {
    display: none !important;
}

.volunteer-confirm-list {
    background: #f3f3f3;
}

.volunteer-confirm-row {
    display: grid;
    border-top: 1px solid #ccc;
}

.volunteer-confirm-row:first-child {
    border-top: 0;
}

.volunteer-confirm-row dt {
    font-weight: bold;
    line-height: 1.5;
}

.volunteer-confirm-row dd {
    line-height: 1.5;
}

.volunteer-confirm-actions {
    display: flex;
    justify-content: center;
}

.volunteer-submit-btn {
    color: #fff;
    background: #57b957;
    border-color: #57b957;
}

.volunteer-submit-btn::before,
.volunteer-submit-btn::after {
    display: none;
}

.volunteer-form-page.is-confirming .volunteer-submit-btn,
.volunteer-form-page.is-confirming .volunteer-back-btn {
    border-radius: 0;
}

.volunteer-outline-btn {
    min-width: 360px;
    color: #f50000;
    background: #fff;
}

.volunteer-complete-page .volunteer-outline-btn {
    border-radius: 0;
}

.volunteer-outline-btn:link,
.volunteer-outline-btn:visited,
.volunteer-outline-btn:hover,
.volunteer-outline-btn:active,
.volunteer-outline-btn:focus {
    color: #f50000;
    text-decoration: none;
}

@media (hover: hover) {

    .volunteer-btn,
    .volunteer-top-cta-link,
    .volunteer-event-card-link,
    .volunteer-card-link,
    .volunteer-textlink,
    .volunteer-submit-btn,
    .volunteer-back-btn,
    .volunteer-outline-btn {
        transition: opacity .25s;
    }

    .volunteer-btn:hover,
    .volunteer-top-cta-link:hover,
    .volunteer-event-card-link:hover,
    .volunteer-card-link:hover,
    .volunteer-textlink:hover,
    .volunteer-submit-btn:hover,
    .volunteer-back-btn:hover,
    .volunteer-outline-btn:hover {
        opacity: .78;
    }
}

@media (max-width: 767px) {
    .volunteer {
        padding-bottom: 70px;
    }

    .volunteer-hero,
    .volunteer-top-cta,
    .volunteer-intro,
    .volunteer-recommend,
    .volunteer-explore-events,
    .volunteer-recruit-actions,
    .volunteer-about-main,
    .volunteer-mind,
    .volunteer-list-head,
    .volunteer-detail-main,
    .volunteer-requirements,
    .volunteer-form-block,
    .volunteer-confirm-block,
    .volunteer-complete {
        width: 100%;
        padding-right: 15px;
        padding-left: 15px;
    }

    .volunteer-hero {
        margin-top: 35px;
    }

    .volunteer-top-cta {
        grid-template-columns: 1fr;
        gap: 14px;
        margin-top: 28px;
    }

    .volunteer-intro {
        flex-direction: column;
        align-items: center;
        margin-top: 42px;
    }

    .volunteer-intro-head {
        width: 100%;
        gap: 18px;
    }

    .volunteer-intro-mark {
        width: 136px;
    }

    .volunteer-intro-body {
        margin-top: 20px;
        text-align: center;
    }

    .volunteer-intro-copy {
        font-size: 1rem;
        line-height: 1.75;
        text-align: left;
    }

    .volunteer-intro-text {
        margin-top: 18px;
    }

    .volunteer-intro .volunteer-btn {
        margin-top: 24px;
    }

    .volunteer-step {
        width: calc(100% - 30px);
        margin-top: 48px;
        padding: 70px 20px;
    }

    .volunteer-step-en {
        font-size: 2.625rem;
    }

    .volunteer-step.-join .volunteer-step-en.-image img {
        width: 124px;
    }

    .volunteer-step.-explore .volunteer-step-en.-image img {
        width: 226px;
    }

    .volunteer-step.-recruit .volunteer-step-en.-image img {
        width: 214px;
    }

    .volunteer-step.-join .volunteer-step-num.-image img {
        width: 38px;
    }

    .volunteer-step.-explore .volunteer-step-num.-image img {
        width: 46px;
    }

    .volunteer-step-title,
    .volunteer-list-title {
        margin-top: 18px;
        font-size: 1.375rem;
        line-height: 1.5;
    }

    .volunteer-step-text {
        margin-top: 16px;
    }

    .volunteer-recommend {
        margin-top: 36px;
    }

    .volunteer-subtitle,
    .volunteer-section-title {
        font-size: 1.375rem;
        line-height: 1.5;
    }

    .volunteer-section-title::before {
        width: 6px;
        height: 28px;
        margin-right: 12px;
    }

    .volunteer-recommend-list {
        justify-content: center;
        gap: 10px;
        margin-top: 28px;
    }

    .volunteer-recommend-item {
        width: calc((100% - 20px) / 3);
        min-height: 124px;
        padding: 14px 6px;
        font-size: .75rem;
        line-height: 1.4;
    }

    .volunteer-recommend-icon {
        width: 48px;
        height: 48px;
        margin-bottom: 8px;
    }

    .volunteer-recommend-item+.volunteer-recommend-item {
        margin-top: 0;
    }

    .volunteer-actions {
        margin-top: 40px;
    }

    .volunteer-join-notice {
        font-size: .8125rem;
    }

    .volunteer-join-notice+.volunteer-btn {
        margin-top: 22px;
    }

    .volunteer-textlink {
        margin-top: 12px;
    }

    .volunteer-step.-explore {
        padding-right: 15px;
        padding-left: 15px;
    }

    .volunteer-card-list {
        grid-template-columns: 1fr;
        gap: 22px;
        margin-top: 28px;
    }

    .volunteer-card-carousel .volunteer-event-card:nth-child(n+4) {
        display: none;
    }

    .volunteer-event-card {
        padding: 0 0 22px;
    }

    .volunteer-card-thumb {
        aspect-ratio: 5 / 4;
    }

    .volunteer-card-data {
        padding: 8px 18px 0;
        font-size: .875rem;
        line-height: 1.65;
    }

    .volunteer-card-link {
        width: 160px;
        margin-top: 16px;
        font-size: .875rem;
    }

    .volunteer-explore-events {
        margin-top: 34px;
    }

    .volunteer-explore-events .volunteer-btn {
        margin-top: 34px;
    }

    .volunteer-explore-events+.volunteer-step.-recruit {
        margin-top: 48px;
    }

    .volunteer-recruit-actions {
        margin-top: 14px;
    }

    .volunteer-about-main,
    .volunteer-list-head,
    .volunteer-detail-main,
    .volunteer-form-block,
    .volunteer-confirm-block,
    .volunteer-complete {
        margin-top: 45px;
    }

    .volunteer-photo.-wide {
        height: auto;
    }

    .volunteer-about-lead {
        margin-top: 28px;
        font-size: 1.25rem;
        line-height: 1.8;
    }

    .volunteer-about-text,
    .volunteer-about-note,
    .volunteer-mind,
    .volunteer-section-text,
    .volunteer-mind-img {
        margin-top: 28px;
    }

    .volunteer-mind-img img {
        width: 100%;
    }

    .volunteer-actions.-center .volunteer-btn+.volunteer-btn {
        margin-top: 14px;
    }

    .volunteer-list-head {
        text-align: center;
    }

    .volunteer-events .volunteer-event-area {
        margin-top: 45px;
        padding-top: 42px;
    }

    .volunteer-list-lead {
        margin-top: 10px;
        color: #f44b1e;
        font-weight: bold;
        line-height: 1.8;
    }

    .volunteer-event-panel {
        padding: 17.5px 15px 35px;
        margin-top: 18px;
    }

    .volunteer-detail-meta {
        margin-top: 18px;
    }

    .volunteer-detail-meta div+div {
        margin-top: 8px;
    }

    .volunteer-detail-meta dt {
        width: 80px;
        min-height: 28px;
    }

    .volunteer-detail-meta dd {
        margin-left: 15px;
    }

    .volunteer-detail-gallery {
        margin-top: 22px;
    }

    .volunteer-photo.-event {
        height: auto;
    }

    .volunteer-gallery-arrow {
        display: none;
    }

    .volunteer-detail-subphotos {
        grid-template-columns: 1fr;
        gap: 12px;
        margin-top: 12px;
    }

    .volunteer-detail-subphotos .volunteer-photo {
        height: 110px;
    }

    .volunteer-detail-text {
        margin-top: 28px;
    }

    .volunteer-requirements {
        margin-top: 42px;
    }

    .volunteer-table-title {
        font-size: 1.25rem;
    }

    .volunteer-table,
    .volunteer-table tbody,
    .volunteer-table tr,
    .volunteer-table th,
    .volunteer-table td {
        display: block;
        width: 100%;
    }

    .volunteer-table th {
        padding: 10px 12px;
    }

    .volunteer-table td {
        padding: 14px 15px;
        border-top: 1px solid #f0b5aa;
    }

    .volunteer-form-lead {
        margin-top: 45px;
        padding-right: 15px;
        padding-left: 15px;
    }

    .volunteer-form-block {
        margin-top: 35px;
    }

    .volunteer-required-note {
        margin-top: 20px;
    }

    .volunteer-form {
        margin-top: 28px;
    }

    .volunteer-form-row {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .volunteer-form-row+.volunteer-form-row {
        margin-top: 16px;
    }

    .volunteer-policy {
        height: 220px;
        padding: 18px;
        margin-top: 45px;
    }

    .volunteer-policy p {
        margin-top: 14px;
    }

    .volunteer-check {
        margin-top: 18px;
    }

    .volunteer-check span {
        margin-left: 10px;
    }

    .volunteer-form-submit {
        margin-top: 34px;
    }

    .volunteer-confirm-list {
        padding: 22px 18px;
        margin-top: 28px;
    }

    .volunteer-confirm-row {
        grid-template-columns: 1fr;
        gap: 8px;
        padding: 14px 0;
    }

    .volunteer-confirm-actions {
        flex-direction: column;
        align-items: center;
        gap: 16px;
        margin-top: 34px;
    }

    .volunteer-submit-btn,
    .volunteer-back-btn {
        width: 220px;
    }

    .volunteer-complete {
        text-align: left;
    }

    .volunteer-outline-btn {
        width: 100%;
        min-width: 0;
        margin-top: 42px;
    }

    .volunteer-events .volunteer-actions.-center,
    .volunteer-detail .volunteer-actions.-center {
        width: calc(100% - 30px);
        margin-right: auto;
        margin-left: auto;
    }

    .volunteer-events .volunteer-actions.-center .volunteer-btn,
    .volunteer-detail .volunteer-actions.-center .volunteer-btn {
        width: 100%;
        max-width: 360px;
        padding-right: 50px;
        padding-left: 30px;
    }
}

@media (min-width: 768px) and (max-width: 1279px) {
    .volunteer {
        --volunteer-step-notch: clamp(52px, 7vw, 80px);
        padding-bottom: 90px;
    }

    .volunteer-hero,
    .volunteer-top-cta,
    .volunteer-intro,
    .volunteer-recommend,
    .volunteer-explore-events,
    .volunteer-recruit-actions,
    .volunteer-about-main,
    .volunteer-mind,
    .volunteer-list-head,
    .volunteer-detail-main,
    .volunteer-requirements,
    .volunteer-form-block,
    .volunteer-confirm-block,
    .volunteer-complete {
        width: calc(100% - 80px);
        max-width: 1080px;
    }

    .volunteer-form-block,
    .volunteer-confirm-block,
    .volunteer-complete {
        max-width: 940px;
    }

    .volunteer-detail-main {
        max-width: 800px;
    }

    .volunteer-hero,
    .volunteer-about-main,
    .volunteer-list-head,
    .volunteer-detail-main,
    .volunteer-form-block,
    .volunteer-confirm-block,
    .volunteer-complete {
        margin-top: 58px;
    }

    .volunteer-top-cta {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: clamp(28px, 5vw, 58px);
        align-items: center;
        margin-top: 42px;
    }

    .volunteer-intro {
        align-items: center;
        justify-content: center;
        margin-top: 55px;
    }

    .volunteer-intro-head {
        gap: clamp(34px, 6vw, 70px);
    }

    .volunteer-intro-mark {
        width: clamp(220px, 29vw, 300px);
    }

    .volunteer-intro-body {
        width: min(100%, 720px);
        margin-top: 24px;
        text-align: center;
    }

    .volunteer-intro-copy {
        font-size: 1.25rem;
        line-height: 1.8;
    }

    .volunteer-intro-text {
        margin-top: 18px;
    }

    .volunteer-intro .volunteer-btn {
        margin-top: 24px;
    }

    .volunteer-step {
        width: calc(100% - 80px);
        max-width: 1080px;
        margin-top: 58px;
        padding: clamp(104px, 12vw, 132px) clamp(44px, 7vw, 78px);
    }

    .volunteer-step.-join .volunteer-step-en.-image img {
        width: 160px;
    }

    .volunteer-step.-explore .volunteer-step-en.-image img {
        width: 292px;
    }

    .volunteer-step.-recruit .volunteer-step-en.-image img {
        width: 272px;
    }

    .volunteer-step.-join .volunteer-step-num.-image img {
        width: 44px;
    }

    .volunteer-step.-explore .volunteer-step-num.-image img {
        width: 58px;
    }

    .volunteer-step-title,
    .volunteer-list-title {
        margin-top: 18px;
        font-size: 1.5rem;
        line-height: 1.5;
    }

    .volunteer-step-text {
        margin-top: 16px;
    }

    .volunteer-recommend {
        margin-top: 42px;
    }

    .volunteer-subtitle,
    .volunteer-section-title {
        font-size: 1.5rem;
        line-height: 1.5;
    }

    .volunteer-section-title::before {
        width: 6px;
        height: 32px;
        margin-right: 14px;
    }

    .volunteer-recommend-list {
        justify-content: center;
        gap: clamp(32px, 6vw, 72px);
        margin-top: 30px;
    }

    .volunteer-recommend-item {
        width: clamp(180px, 22vw, 210px);
        min-height: clamp(180px, 22vw, 210px);
        padding: 22px 16px;
        font-size: .9375rem;
        line-height: 1.5;
    }

    .volunteer-recommend-icon {
        width: 82px;
        height: 82px;
        margin-bottom: 14px;
    }

    .volunteer-recommend-item+.volunteer-recommend-item {
        margin-left: 0;
    }

    .volunteer-actions {
        margin-top: 32px;
    }

    .volunteer-join-notice {
        font-size: .9375rem;
    }

    .volunteer-join-notice+.volunteer-btn {
        margin-top: 24px;
    }

    .volunteer-textlink {
        margin-top: 12px;
    }

    .volunteer-card-list {
        grid-template-columns: repeat(3, 1fr);
        gap: 24px;
        margin-top: 32px;
    }

    .volunteer-card-carousel .volunteer-card-list {
        display: flex;
        gap: 24px;
        transition: transform .35s;
        transform: translateX(calc(var(--volunteer-carousel-offset, 0px) * -1));
    }

    .volunteer-card-carousel .volunteer-event-card {
        flex: 0 0 calc((100% - 48px) / 3);
    }

    .volunteer-card-list.-grid {
        width: calc(100% - 80px);
        max-width: 1080px;
        grid-template-columns: repeat(2, 1fr);
        margin-right: auto;
        margin-left: auto;
    }

    .volunteer-event-card {
        padding-bottom: 22px;
    }

    .volunteer-card-thumb {
        aspect-ratio: 5 / 4;
    }

    .volunteer-card-data {
        padding: 8px 15px 0;
        font-size: .75rem;
        line-height: 1.65;
    }

    .volunteer-card-link {
        width: 140px;
        margin-top: 16px;
        font-size: .8125rem;
    }

    .volunteer-explore-events {
        margin-top: 42px;
    }

    .volunteer-explore-events .volunteer-btn {
        margin-top: 36px;
    }

    .volunteer-explore-events+.volunteer-step.-recruit {
        margin-top: 58px;
    }

    .volunteer-recruit-actions {
        margin-top: 17px;
    }

    .volunteer-about-lead {
        margin-top: 34px;
        font-size: 1.375rem;
        line-height: 1.8;
    }

    .volunteer-photo.-wide {
        height: auto;
    }

    .volunteer-about-text,
    .volunteer-about-note,
    .volunteer-mind,
    .volunteer-section-text,
    .volunteer-mind-img {
        margin-top: 30px;
    }

    .volunteer-list-head {
        text-align: center;
    }

    .volunteer-events .volunteer-event-area {
        margin-top: 58px;
        padding-top: 70px;
    }

    .volunteer-list-lead {
        margin-top: 10px;
        color: #f44b1e;
        font-weight: bold;
        line-height: 1.8;
    }

    .volunteer-event-panel {
        width: 100%;
        padding: 35px 0 70px;
        margin-top: 24px;
    }

    .volunteer-detail-meta {
        margin-top: 20px;
    }

    .volunteer-detail-meta div+div {
        margin-top: 8px;
    }

    .volunteer-detail-meta dt {
        width: 82px;
        min-height: 28px;
    }

    .volunteer-detail-meta dd {
        margin-left: 18px;
    }

    .volunteer-detail-gallery {
        margin-top: 22px;
    }

    .volunteer-photo.-event {
        height: auto;
    }

    .volunteer-gallery-arrow {
        display: none;
    }

    .volunteer-detail-subphotos {
        grid-template-columns: repeat(2, 1fr);
        gap: 14px;
        margin-top: 14px;
    }

    .volunteer-detail-subphotos .volunteer-photo {
        height: 120px;
    }

    .volunteer-detail-post-nav {
        width: calc(100% - 80px);
    }

    .volunteer-detail-text {
        margin-top: 32px;
    }

    .volunteer-requirements {
        margin-top: 48px;
    }

    .volunteer-table th {
        width: 185px;
        padding: 14px 16px;
    }

    .volunteer-table td {
        padding: 14px 24px;
    }

    .volunteer-form-lead {
        margin-top: 58px;
    }

    .volunteer-required-note {
        margin-top: 24px;
    }

    .volunteer-form {
        margin-top: 34px;
    }

    .volunteer-form-row {
        grid-template-columns: 210px 1fr;
        gap: 28px;
        align-items: start;
    }

    .volunteer-form-row+.volunteer-form-row {
        margin-top: 14px;
    }

    .volunteer-policy {
        height: 235px;
        padding: 22px 32px;
        margin-top: 55px;
    }

    .volunteer-policy p {
        margin-top: 14px;
    }

    .volunteer-check {
        margin-top: 20px;
    }

    .volunteer-check span {
        margin-left: 12px;
    }

    .volunteer-form-submit {
        margin-top: 36px;
    }

    .volunteer-confirm-list {
        padding: 30px 58px;
        margin-top: 34px;
    }

    .volunteer-confirm-row {
        grid-template-columns: 220px 1fr;
        gap: 30px;
        padding: 14px 0;
    }

    .volunteer-confirm-actions {
        gap: 28px;
        margin-top: 38px;
    }

    .volunteer-submit-btn {
        width: 210px;
    }

    .volunteer-back-btn {
        width: 120px;
        padding-right: 28px;
    }

    .volunteer-complete {
        text-align: center;
    }

    .volunteer-outline-btn {
        margin-top: 45px;
    }
}

@media (min-width: 1280px) {
    .volunteer {
        --volunteer-step-notch: 90px;
        padding-bottom: 110px;
    }

    .volunteer-hero,
    .volunteer-top-cta,
    .volunteer-intro,
    .volunteer-recommend,
    .volunteer-explore-events,
    .volunteer-recruit-actions,
    .volunteer-about-main,
    .volunteer-mind,
    .volunteer-list-head,
    .volunteer-detail-main,
    .volunteer-requirements,
    .volunteer-form-block,
    .volunteer-confirm-block,
    .volunteer-complete {
        width: 1080px;
    }

    .volunteer-hero {
        margin-top: 48px;
    }

    .volunteer-top-cta {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 42px;
        align-items: center;
        margin-top: 54px;
    }

    .volunteer-top-cta-link {
        max-width: 519px;
    }

    .volunteer-top-cta-link:nth-child(1) {
        justify-self: end;
    }

    .volunteer-top-cta-link:nth-child(2) {
        justify-self: start;
    }

    .volunteer-intro {
        align-items: center;
        justify-content: center;
        margin-top: 64px;
    }

    .volunteer-intro-head {
        gap: 70px;
    }

    .volunteer-intro-mark {
        width: 311px;
    }

    .volunteer-intro-body {
        width: 500px;
        margin-top: 28px;
        text-align: left;
    }

    .volunteer-intro-copy {
        font-size: 1.625rem;
        line-height: 1.85;
        letter-spacing: 0.1em;
    }

    .volunteer-intro-text {
        margin-top: 18px;
    }

    .volunteer-intro .volunteer-btn {
        margin-top: 24px;
    }

    .volunteer-step {
        width: 1080px;
        margin-top: 64px;
        padding: 180px 88px 136px;
    }

    .volunteer-step.-join .volunteer-step-en.-image img {
        width: 181px;
    }

    .volunteer-step.-explore .volunteer-step-en.-image img {
        width: 330px;
    }

    .volunteer-step.-recruit .volunteer-step-en.-image img {
        width: 307px;
    }

    .volunteer-step.-join .volunteer-step-num.-image img {
        width: 48px;
    }

    .volunteer-step.-explore .volunteer-step-num.-image img {
        width: 66px;
    }

    .volunteer-step-title,
    .volunteer-list-title {
        margin-top: 30px;
        font-size: 2rem;
        line-height: 1.5;
    }

    .volunteer-step-text {
        margin-top: 16px;
    }

    .volunteer-recommend {
        margin-top: 44px;
    }

    .volunteer-subtitle,
    .volunteer-section-title {
        font-size: 2rem;
        line-height: 1.5;
    }

    .volunteer-section-title::before {
        width: 7px;
        height: 34px;
        margin-right: 16px;
    }

    .volunteer-recommend-list {
        justify-content: center;
        gap: 80px;
        margin-top: 32px;
    }

    .volunteer-recommend-item {
        width: 210px;
        min-height: 210px;
        padding: 26px 20px;
        font-size: 1rem;
        line-height: 1.5;
    }

    .volunteer-recommend-icon {
        width: 92px;
        height: 91px;
        margin-bottom: 16px;
    }

    .volunteer-recommend-item+.volunteer-recommend-item {
        margin-left: 0;
    }

    .volunteer-actions {
        margin-top: 65px;
    }

    .volunteer-join-notice {
        font-size: 1rem;
    }

    .volunteer-join-notice+.volunteer-btn {
        margin-top: 28px;
    }

    .volunteer-textlink {
        margin-top: 12px;
    }

    .volunteer-card-list {
        grid-template-columns: repeat(3, 1fr);
        gap: 36px;
        margin-top: 34px;
    }

    .volunteer-card-carousel .volunteer-card-list {
        display: flex;
        gap: 36px;
        transition: transform .35s;
        transform: translateX(calc(var(--volunteer-carousel-offset, 0px) * -1));
    }

    .volunteer-card-carousel .volunteer-event-card {
        flex: 0 0 calc((100% - 72px) / 3);
    }

    .volunteer-card-list.-grid {
        width: 1080px;
        grid-template-columns: repeat(3, 1fr);
        gap: 42px 36px;
        margin-right: auto;
        margin-left: auto;
    }

    .volunteer-event-card {
        padding-bottom: 30px;
    }

    .volunteer-card-thumb {
        aspect-ratio: 5 / 4;
    }

    .volunteer-card-data {
        padding: 12px 24px 0;
        font-size: .9375rem;
        line-height: 1.7;
    }

    .volunteer-card-link {
        width: 170px;
        margin-top: 22px;
        font-size: .9375rem;
    }

    .volunteer-explore-events {
        margin-top: 54px;
    }

    .volunteer-explore-events .volunteer-btn {
        margin-top: 38px;
    }

    .volunteer-explore-events+.volunteer-step.-recruit {
        margin-top: 84px;
    }

    .volunteer-explore-arrow {
        top: 50%;
        display: block;
        transform: translateY(-50%);
    }

    .volunteer-explore-arrow.-prev {
        left: -72px;
    }

    .volunteer-explore-arrow.-next {
        right: -72px;
    }

    .volunteer-recruit-actions {
        margin-top: 60px;
    }

    .volunteer-about-main,
    .volunteer-list-head,
    .volunteer-detail-main,
    .volunteer-form-block,
    .volunteer-confirm-block,
    .volunteer-complete {
        margin-top: 70px;
    }

    .volunteer-about-main,
    .volunteer-mind {
        width: 1080px;
    }

    .volunteer-form-block,
    .volunteer-confirm-block,
    .volunteer-complete {
        width: 940px;
    }

    .volunteer-photo.-wide {
        height: auto;
    }

    .volunteer-about-lead {
        margin-top: 40px;
        font-size: 1.75rem;
        line-height: 1.8;
    }

    .volunteer-about-text,
    .volunteer-about-note,
    .volunteer-mind,
    .volunteer-section-text,
    .volunteer-mind-img {
        margin-top: 32px;
    }

    .volunteer-list-head {
        text-align: center;
    }

    .volunteer-events .volunteer-event-area {
        margin-top: 70px;
        padding-top: 82px;
    }

    .volunteer-list-lead {
        margin-top: 10px;
        color: #f44b1e;
        font-weight: bold;
        line-height: 1.8;
    }

    .volunteer-event-panel {
        width: 100%;
        padding: 41px 0 82px;
        margin-top: 26px;
    }

    .volunteer-requirements {
        width: 1080px;
    }

    .volunteer-detail-main {
        width: 800px;
    }

    .volunteer-detail-meta {
        margin-top: 20px;
    }

    .volunteer-detail-meta div+div {
        margin-top: 8px;
    }

    .volunteer-detail-meta dt {
        width: 82px;
        min-height: 28px;
    }

    .volunteer-detail-meta dd {
        margin-left: 18px;
    }

    .volunteer-detail-gallery {
        margin-top: 24px;
    }

    .volunteer-photo.-event {
        height: auto;
    }

    .volunteer-detail-subphotos {
        grid-template-columns: repeat(2, 1fr);
        gap: 14px;
        margin-top: 14px;
    }

    .volunteer-detail-subphotos .volunteer-photo {
        height: 180px;
    }

    .volunteer-detail-post-nav {
        display: none;
    }

    .volunteer-detail-text {
        margin-top: 34px;
    }

    .volunteer-requirements {
        margin-top: 60px;
    }

    .volunteer-table th {
        width: 250px;
        padding: 18px 24px;
    }

    .volunteer-table td {
        padding: 18px 34px;
    }

    .volunteer-form-lead {
        margin-top: 64px;
    }

    .volunteer-required-note {
        margin-top: 24px;
    }

    .volunteer-form {
        margin-top: 36px;
    }

    .volunteer-form-row {
        grid-template-columns: 280px 1fr;
        gap: 48px;
        align-items: start;
    }

    .volunteer-form-row+.volunteer-form-row {
        margin-top: 14px;
    }

    .volunteer-policy {
        height: 250px;
        padding: 24px 34px;
        margin-top: 64px;
    }

    .volunteer-policy p {
        margin-top: 14px;
    }

    .volunteer-check {
        margin-top: 20px;
    }

    .volunteer-check span {
        margin-left: 12px;
    }

    .volunteer-form-submit {
        margin-top: 38px;
    }

    .volunteer-confirm-list {
        padding: 40px 92px;
        margin-top: 36px;
    }

    .volunteer-confirm-row {
        grid-template-columns: 280px 1fr;
        gap: 48px;
        padding: 18px 0;
    }

    .volunteer-confirm-actions {
        gap: 34px;
        margin-top: 40px;
    }

    .volunteer-submit-btn {
        width: 220px;
    }

    .volunteer-back-btn {
        width: 120px;
        padding-right: 28px;
    }

    .volunteer-complete {
        text-align: center;
    }

    .volunteer-outline-btn {
        margin-top: 50px;
    }
}

.volunteer-detail .volunteer-photo.-event,
.volunteer-detail-subphotos .volunteer-photo {
    aspect-ratio: auto;
    height: auto;
}

.volunteer-detail .volunteer-photo img,
.volunteer-detail-subphotos .volunteer-photo img {
    height: auto;
    object-fit: contain;
}
