.volunteer-section{padding:90px 0 120px;}
.volunteer-section .inner{max-width:1440px;margin:0 auto;padding:0 20px;}

.volunteer-hero{padding:70px 60px;border-radius:36px;background:url('/theme/basic/img/cms_back1.png');text-align:center;box-shadow:0 24px 70px rgba(24,101,56,.18);}
.volunteer-label{display:inline-block;padding:10px 20px;border-radius:999px;background:rgba(255,255,255,.16);color:#fff;font-size:18px;font-weight:700;letter-spacing:.06em;}
.volunteer-hero h2{margin:24px 0 0;font-size:52px;line-height:1.2;color:#fff;font-weight:800;word-break:keep-all;}
.volunteer-hero-desc{margin:28px 0 0;font-size:36px;line-height:1.55;color:rgba(255,255,255,.94);font-weight:700;word-break:keep-all;}

.volunteer-block{margin-top:90px;}
.volunteer-head{text-align:center;margin-bottom:40px;}
.volunteer-head h3{margin:0;font-size:36px;line-height:1.3;color:#111;font-weight:800;word-break:keep-all;}
.volunteer-head p{margin:16px auto 0;max-width:920px;font-size:23px;line-height:1.7;color:#666;word-break:keep-all;}

.volunteer-field-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;}
.volunteer-field-card{position:relative;padding:34px 28px;border-radius:30px;background:#fff;border:1px solid rgba(24,101,56,.10);box-shadow:0 18px 45px rgba(24,101,56,.06);}
.volunteer-field-num{display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;margin-bottom:22px;border-radius:18px;background:linear-gradient(135deg,var(--color-sub2) 0%,rgba(99,165,50,.28) 100%);color:var(--color-main);font-size:23px;font-weight:800;}
.volunteer-field-card h4{margin:0 0 16px;font-size:23px;line-height:1.4;color:#111;font-weight:800;word-break:keep-all;}
.volunteer-field-card p{margin:0;font-size:18px;line-height:1.8;color:#555;word-break:keep-all;}

.volunteer-note-box{margin-top:22px;padding:24px 28px;border-radius:24px;background:rgba(187,210,96,.14);border:1px solid rgba(24,101,56,.08);}
.volunteer-note-box p{margin:0;font-size:18px;line-height:1.8;color:#555;word-break:keep-all;}

.volunteer-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;}
.volunteer-info-card{padding:36px 32px;border-radius:30px;background:#fff;border:1px solid rgba(24,101,56,.10);box-shadow:0 18px 45px rgba(24,101,56,.06);}
.volunteer-info-card h3{margin:0 0 18px;font-size:36px;line-height:1.3;color:#111;font-weight:800;word-break:keep-all;}
.volunteer-info-desc{margin:0 0 18px;font-size:18px;line-height:1.8;color:#666;word-break:keep-all;}
.volunteer-list{margin:0;padding:0;list-style:none;}
.volunteer-list li{position:relative;padding-left:24px;margin-top:16px;font-size:23px;line-height:1.7;color:#555;word-break:keep-all;}
.volunteer-list li:first-child{margin-top:0;}
.volunteer-list li::before{content:"";position:absolute;top:14px;left:0;width:10px;height:10px;border-radius:50%;background:var(--color-sub1);}

.volunteer-process{display:flex;align-items:stretch;justify-content:center;flex-wrap:wrap;gap:18px;}
.volunteer-step{width:330px;min-height:220px;padding:28px 22px;border-radius:28px;background:#fff;border:1px solid rgba(24,101,56,.10);box-shadow:0 18px 45px rgba(24,101,56,.06);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;}
.volunteer-step span{display:flex;align-items:center;justify-content:center;width:58px;height:58px;margin-bottom:18px;border-radius:18px;}
.volunteer-step span img {width:100%;}
.volunteer-step h4{margin:0;font-size:23px;line-height:1.45;color:#111;font-weight:800;word-break:keep-all;}
.volunteer-step p{margin:12px 0 0;font-size:18px;line-height:1.7;color:#666;word-break:keep-all;}
.volunteer-arrow{display:flex;align-items:center;justify-content:center;font-size:36px;line-height:1;color:var(--color-sub1);font-weight:800;padding:0 4px;}

.volunteer-caution{padding:38px 34px;border-radius:30px;background:linear-gradient(135deg,var(--color-main) 0%,var(--color-sub3) 100%);box-shadow:0 22px 60px rgba(24,101,56,.20);}
.volunteer-caution p{margin:0;font-size:23px;line-height:1.8;color:rgba(255,255,255,.94);word-break:keep-all;}
.volunteer-caution p + p{margin-top:20px;}

.volunteer-contact{margin-top:90px;padding:55px 40px;border-radius:36px;background:#fff;border:1px solid rgba(24,101,56,.10);box-shadow:0 24px 70px rgba(24,101,56,.08);}
.volunteer-contact-head{text-align:center;margin-bottom:36px;}
.volunteer-contact-head span{display:inline-block;padding:10px 18px;border-radius:999px;background:rgba(187,210,96,.18);color:var(--color-main);font-size:18px;font-weight:700;letter-spacing:.06em;}
.volunteer-contact-head h3{margin:20px 0 0;font-size:36px;line-height:1.3;color:#111;font-weight:800;}
.volunteer-contact-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;}
.volunteer-contact-card{padding:30px 24px;border-radius:24px;background:rgba(187,210,96,.10);border:1px solid rgba(24,101,56,.08);text-align:center;}
.volunteer-contact-card h4{margin:0 0 14px;font-size:23px;line-height:1.4;color:#111;font-weight:800;word-break:keep-all;}
.volunteer-contact-card p{margin:0;font-size:18px;line-height:1.8;color:#555;word-break:keep-all;}
.volunteer-contact-card p + p{margin-top:6px;}

@media all and (max-width:1200px){
.volunteer-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.volunteer-info-grid{grid-template-columns:1fr;}
.volunteer-contact-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media all and (max-width:767px){
.volunteer-section{padding:60px 0 90px;}
.volunteer-hero{padding:42px 22px;border-radius:24px;}
.volunteer-label{font-size:18px;}
.volunteer-hero h2{font-size:36px;line-height:1.25;}
.volunteer-hero-desc{margin-top:22px;font-size:23px;line-height:1.6;}
.volunteer-block{margin-top:60px;}
.volunteer-head{margin-bottom:26px;}
.volunteer-head h3{font-size:36px;line-height:1.3;}
.volunteer-head p{font-size:18px;line-height:1.75;}
.volunteer-field-grid{grid-template-columns:1fr;gap:16px;}
.volunteer-field-card{padding:26px 20px;border-radius:22px;}
.volunteer-field-num{width:48px;height:48px;margin-bottom:18px;border-radius:14px;font-size:18px;}
.volunteer-field-card h4{font-size:23px;line-height:1.35;}
.volunteer-field-card p{font-size:18px;line-height:1.75;}
.volunteer-note-box{margin-top:16px;padding:18px 16px;border-radius:18px;}
.volunteer-note-box p{font-size:18px;line-height:1.75;}
.volunteer-info-card{padding:26px 20px;border-radius:22px;}
.volunteer-info-card h3{font-size:23px;line-height:1.4;}
.volunteer-info-desc{font-size:18px;line-height:1.75;}
.volunteer-list li{padding-left:20px;margin-top:12px;font-size:18px;line-height:1.75;}
.volunteer-list li::before{top:12px;width:8px;height:8px;}
.volunteer-process{gap:12px;}
.volunteer-step{width:100%;min-height:auto;padding:24px 18px;border-radius:22px;}
.volunteer-step span{width:48px;height:48px;margin-bottom:14px;border-radius:14px;font-size:18px;}
.volunteer-step h4{font-size:23px;line-height:1.4;}
.volunteer-step p{margin-top:8px;font-size:18px;line-height:1.7;}
.volunteer-arrow{width:100%;font-size:28px;padding:0;transform:rotate(90deg);}
.volunteer-caution{padding:26px 20px;border-radius:24px;}
.volunteer-caution p{font-size:18px;line-height:1.8;}
.volunteer-contact{margin-top:60px;padding:32px 20px;border-radius:24px;}
.volunteer-contact-head{margin-bottom:24px;}
.volunteer-contact-head span{font-size:18px;}
.volunteer-contact-head h3{font-size:36px;}
.volunteer-contact-grid{grid-template-columns:1fr;gap:16px;}
.volunteer-contact-card{padding:22px 18px;border-radius:18px;}
.volunteer-contact-card h4{font-size:23px;line-height:1.4;}
.volunteer-contact-card p{font-size:18px;line-height:1.75;}
}