@charset "UTF-8";
.anchor {
  position: relative;
  top: -90px; }

.esg-container {
  max-width: 1000px;
  margin: 50px auto;
  padding: 0 24px; }

.esg-section {
  margin-bottom: 60px; }

.section-title {
  font-size: 1.75rem;
  color: #cb3900;
  font-weight: 700;
  padding: 0;
  margin-bottom: 20px;
  line-height: 1.3; }
  .section-title.dark {
    color: #4c2f27; }

.section-subtitle {
  font-size: 1.05rem;
  color: #2b2b2b;
  margin-bottom: 30px;
  padding: 0; }

.esg-intro p,
.path-text p,
.engagement-text-block p {
  margin-bottom: 20px;
  text-align: justify; }

.esg-intro .note,
.path-text .note,
.engagement-text-block .note {
  color: #999;
  margin-bottom: 20px; }

.esg-intro .right,
.path-text .right,
.engagement-text-block .right {
  text-align: right; }

.chart-container {
  margin: 30px 0;
  padding: 30px;
  text-align: center;
  background: #f8f4ef;
  border-radius: 24px; }
  .chart-container .chart-img {
    max-width: 100%;
    height: auto;
    margin-bottom: 15px; }
  .chart-container .chart-notes {
    text-align: left;
    font-size: 0.9rem;
    color: #999;
    line-height: 1.6;
    padding-left: 5px; }
    .chart-container .chart-notes p {
      padding: 0; }

.strategy-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 24px; }

.strategy-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  background-color: #f8f4ef;
  border-radius: 24px;
  padding: 30px;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: start; }
  .strategy-card + .strategy-card {
    margin-top: 30px; }
  @media (min-width: 768px) {
    .strategy-card {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -ms-flex-direction: row;
      flex-direction: row; } }
  .strategy-card .strategy-left {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
    padding-bottom: 24px; }
    @media (min-width: 768px) {
      .strategy-card .strategy-left {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 160px;
        flex: 0 0 160px;
        padding-bottom: 0;
        padding-right: 10px;
        border-bottom: none; } }
    .strategy-card .strategy-left .icon-wrapper {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center; }
      .strategy-card .strategy-left .icon-wrapper img {
        width: 160px;
        height: auto;
        -o-object-fit: contain;
        object-fit: contain; }
    .strategy-card .strategy-left .strategy-title {
      font-size: 1.2rem;
      color: #333333;
      font-weight: 700;
      line-height: 1.4;
      padding: 0; }
  .strategy-card .strategy-right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 20px;
    padding-top: 24px; }
    .strategy-card .strategy-right a, .strategy-card .strategy-right a:visited {
      color: #225bdf; }
      .strategy-card .strategy-right a:hover, .strategy-card .strategy-right a:visited:hover {
        color: #cb3900; }
      .strategy-card .strategy-right a::after, .strategy-card .strategy-right a:visited::after {
        content: '';
        display: inline-block;
        vertical-align: top;
        margin-top: 2px;
        margin-left: 2px;
        width: 18px;
        height: 18px;
        background: url(../upload/content/csr_2026/sp_special/icon_link.svg) center center no-repeat;
        background-size: 100% auto; }
    @media (min-width: 768px) {
      .strategy-card .strategy-right {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
        padding-top: 0; } }

.info-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 6px; }
  .info-group h3 {
    color: #000;
    font-size: 24px;
    margin: 0; }
  .info-group .info-label {
    font-size: 18px;
    color: #a57b5a;
    font-weight: 700;
    padding-left: 0;
    margin-bottom: 0; }
    .info-group .info-label::before {
      display: none; }
  .info-group .info-dots {
    list-style: none;
    padding-left: 0;
    margin: 0; }
    .info-group .info-dots li {
      position: relative;
      padding-left: 15px;
      font-size: 0.98rem;
      color: #444444;
      text-align: justify;
      margin-bottom: 6px; }
      .info-group .info-dots li:last-child {
        margin-bottom: 0; }
      .info-group .info-dots li::before {
        content: "•";
        color: #cb3900;
        font-size: 1.3rem;
        position: absolute;
        left: 0;
        top: -1px; }
      .info-group .info-dots li strong {
        font-weight: 700;
        color: #111111; }

.strategy-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 20px; }
  .strategy-box a, .strategy-box a:visited {
    color: #225bdf; }
    .strategy-box a:hover, .strategy-box a:visited:hover {
      color: #cb3900; }
    .strategy-box a::after, .strategy-box a:visited::after {
      content: '';
      display: inline-block;
      vertical-align: top;
      margin-top: 2px;
      margin-left: 2px;
      width: 18px;
      height: 18px;
      background: url(../upload/content/csr_2026/sp_special/icon_link.svg) center center no-repeat;
      background-size: 100% auto; }
  .strategy-box .info-group {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 6px; }
    .strategy-box .info-group h3 {
      color: #000;
      font-size: 24px;
      margin: 0;
      padding: 0; }
    .strategy-box .info-group .info-label {
      font-size: 18px;
      color: #a57b5a;
      font-weight: 700;
      padding-left: 0;
      margin-bottom: 0; }
      .strategy-box .info-group .info-label::before {
        display: none; }
    .strategy-box .info-group .info-dots {
      list-style: none;
      padding-left: 0;
      margin: 0; }
      .strategy-box .info-group .info-dots li {
        position: relative;
        padding-left: 15px;
        font-size: 0.98rem;
        color: #444444;
        text-align: justify;
        margin-bottom: 6px; }
        .strategy-box .info-group .info-dots li:last-child {
          margin-bottom: 0; }
        .strategy-box .info-group .info-dots li::before {
          content: "•";
          color: #cb3900;
          font-size: 1.3rem;
          position: absolute;
          left: 0;
          top: -1px; }
        .strategy-box .info-group .info-dots li strong {
          font-weight: 700;
          color: #111111; }

.badge-divider {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center;
  margin: 40px 0; }
  .badge-divider::before, .badge-divider::after {
    content: "";
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    border-bottom: 3px dotted #bca488; }
  .badge-divider .badge-text {
    position: relative;
    background-color: #a57b5a;
    color: #ffffff;
    padding: 8px 20px;
    font-size: 24px;
    font-weight: 700;
    border-radius: 10px;
    letter-spacing: 2px; }
    .badge-divider .badge-text::after {
      content: "";
      position: absolute;
      top: 99%;
      left: 50%;
      -webkit-transform: translateX(-49%);
      -ms-transform: translateX(-49%);
      transform: translateX(-49%);
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 10px 8px 0 8px;
      border-color: #a57b5a transparent transparent transparent; }

.photo-container {
  margin: 30px auto;
  text-align: center;
  max-width: 100%; }
  .photo-container .event-photo {
    max-width: 600px;
    height: auto;
    display: block;
    margin: 0 auto;
    border-radius: 24px; }
    .photo-container .event-photo.noMax {
      max-width: 100%; }
    .photo-container .event-photo.noRadius {
      border-radius: 0; }
  .photo-container .photo-caption {
    display: block;
    text-align: center;
    color: #999;
    font-size: 12px;
    margin-top: 5px; }

.rating-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 30px;
  margin-top: 30px; }
  @media (min-width: 768px) {
    .rating-row {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -ms-flex-direction: row;
      flex-direction: row;
      -webkit-box-align: start;
      -ms-flex-align: start;
      align-items: flex-start; } }
  .rating-row .rating-logo-wrapper {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 160px;
    flex: 0 0 160px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
    .rating-row .rating-logo-wrapper .rating-logo {
      max-width: 100%;
      height: auto;
      border-radius: 24px; }
  .rating-row .rating-text {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1; }
    .rating-row .rating-text p {
      font-size: 1.05rem;
      text-align: justify; }

.strategy-area .info-group h4.strategy-label {
  position: relative;
  font-size: 18px;
  color: #a57b5a;
  font-weight: 700;
  padding-left: 15px;
  margin-bottom: 0; }
  .strategy-area .info-group h4.strategy-label::before {
    content: "•";
    color: #a57b5a;
    font-size: 1.3rem;
    position: absolute;
    left: 0;
    top: -1px;
    background: none; }

.strategy-area .info-group p {
  padding: 5px 0 0 20px;
  margin-bottom: 20px; }

.section-desc {
  font-size: 1.05rem;
  color: #2b2b2b;
  margin-bottom: 24px;
  text-align: justify; }

.org-chart-container {
  padding: 30px;
  margin: 10px 0 20px 0; }
  .org-chart-container .event-photo {
    max-width: 100%;
    height: auto;
    display: block; }

h3.sub-title {
  font-size: 24px;
  color: #000;
  font-weight: 700;
  margin-bottom: 15px; }

.defense-block {
  margin-bottom: 40px; }
  .defense-block .defense-sub-title {
    font-size: 24px;
    color: #000;
    font-weight: 700;
    margin-bottom: 15px; }
  .defense-block h4 {
    font-size: 18px;
    color: #a57b5a;
    padding-left: 0; }
    .defense-block h4::before {
      display: none; }
  .defense-block p {
    font-size: 1rem;
    margin-bottom: 25px; }

h4.measures-title {
  font-size: 18px;
  color: #a57b5a;
  font-weight: 700;
  margin-top: 0;
  margin-bottom: 24px;
  letter-spacing: 0.5px;
  padding-left: 0; }
  h4.measures-title::before {
    display: none; }

.measures-box {
  background-color: #f8f4ef;
  border-radius: 30px;
  padding: 40px 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 45px;
  margin: 30px 0;
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  .measures-box .measures-illustration {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 200px;
    flex: 0 0 200px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
    .measures-box .measures-illustration img {
      width: 100%;
      height: auto;
      display: block; }
  .measures-box .measures-content {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1; }
    .measures-box .measures-content .measures-lists-wrapper {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      gap: 40px; }
    .measures-box .measures-content .measures-list {
      -webkit-box-flex: 1;
      -ms-flex: 1;
      flex: 1;
      list-style-type: none;
      padding: 0;
      margin: 0; }
      .measures-box .measures-content .measures-list li {
        color: #222222;
        line-height: 1.4;
        margin-bottom: 5px;
        position: relative;
        padding-left: 18px; }
        .measures-box .measures-content .measures-list li:last-child {
          margin-bottom: 0; }
        .measures-box .measures-content .measures-list li::before {
          content: "•";
          position: absolute;
          left: 0;
          top: -1px;
          color: #000000;
          font-size: 1.2rem; }

.img-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 25px;
  margin: 30px 0; }
  @media (min-width: 768px) {
    .img-row {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -ms-flex-direction: row;
      flex-direction: row;
      -webkit-box-align: start;
      -ms-flex-align: start;
      align-items: flex-start; } }
  .img-row .img-wrapper {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 350px;
    flex: 0 0 350px; }
    .img-row .img-wrapper img {
      max-width: 100%;
      height: auto;
      border-radius: 24px; }
    .img-row .img-wrapper figcaption {
      text-align: center;
      color: #999;
      font-size: 12px; }
  .img-row .img-text {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1; }
    .img-row .img-text .img-caption {
      margin-bottom: 0; }

.care-level-grid {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  gap: 40px;
  margin: 35px 0;
  padding: 0 40px; }
  @media (min-width: 768px) {
    .care-level-grid {
      -ms-grid-columns: (1fr)[3];
      grid-template-columns: repeat(3, 1fr); } }
  .care-level-grid .care-card {
    background-color: #ffffff;
    border-radius: 45px;
    overflow: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column; }
    .care-level-grid .care-card .care-header {
      padding: 20px;
      font-size: 18px;
      text-align: center;
      font-weight: 700;
      color: #fff; }
    .care-level-grid .care-card .care-body {
      -webkit-box-flex: 1;
      -ms-flex-positive: 1;
      flex-grow: 1; }
    .care-level-grid .care-card ul {
      list-style: none;
      padding-left: 0;
      margin: 15px 10px 20px 30px; }
      .care-level-grid .care-card ul li {
        position: relative;
        padding-left: 15px;
        margin-bottom: 4px; }
        .care-level-grid .care-card ul li:last-child {
          margin-bottom: 0; }
        .care-level-grid .care-card ul li::before {
          content: "•";
          font-size: 1.2rem;
          position: absolute;
          left: 0;
          top: -2px; }
    .care-level-grid .care-card.level-highest .care-header {
      background-color: #a57b5a; }
    .care-level-grid .care-card.level-secondary .care-header {
      background-color: #cfb39a; }
    .care-level-grid .care-card.level-normal .care-header {
      background-color: #999; }

@media all and (max-width: 680px) {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  padding: 30px 24px;
  gap: 25px;
  .measures-illustration {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 140px;
    flex: 0 0 140px; }
  .measures-content {
    width: 100%; }
    .measures-content .measures-title {
      text-align: center; }
    .measures-content .measures-lists-wrapper {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      gap: 0; }
    .measures-content .measures-list {
      margin-bottom: 12px; }
  .photo-container .event-photo {
    max-width: 100%; }
  .rating-row .rating-logo-wrapper .rating-logo {
    max-width: 200px; }
  .strategy-card {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
    .strategy-card .strategy-left {
      padding-bottom: 0; }
    .strategy-card .strategy-right {
      padding-top: 10px; } }

.csr-summary-list {
  list-style: none !important;
  padding: 0;
  margin: 0 0 40px 35px !important; }
  .csr-summary-list li {
    position: relative;
    padding-left: 20px !important;
    font-weight: 500;
    color: #b88d67;
    line-height: 1.4; }
    .csr-summary-list li a {
      color: #b88d67; }
      .csr-summary-list li a:visited {
        color: #b88d67; }
      .csr-summary-list li a:hover {
        color: #e00012; }
    .csr-summary-list li::before {
      content: "";
      position: absolute;
      left: 2px;
      top: 50%;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%);
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 4px 0 4px 6px;
      border-color: transparent transparent transparent #b88d67; }

.csr-banner-card {
  position: relative;
  background-color: #f8f4ef;
  border-radius: 24px;
  padding: 48px 40px 40px;
  margin-top: 40px;
  margin-bottom: 30px; }
  @media (max-width: 768px) {
    .csr-banner-card {
      padding: 40px 20px 24px;
      border-radius: 16px; } }
  .csr-banner-card .banner-badge {
    position: absolute;
    top: -22px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: #a57b5a;
    color: #ffffff;
    padding: 8px 50px;
    border-radius: 30px;
    white-space: nowrap;
    -webkit-box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; }
    .csr-banner-card .banner-badge .badge-title {
      font-size: 1.35rem;
      font-weight: bold;
      letter-spacing: 1px; }
      .csr-banner-card .banner-badge .badge-title span {
        position: relative;
        z-index: 3; }
      @media (max-width: 768px) {
        .csr-banner-card .banner-badge .badge-title {
          font-size: 1rem;
          white-space: normal;
          text-align: center; } }
    .csr-banner-card .banner-badge::after {
      position: absolute;
      z-index: 1;
      right: 2px;
      top: 1px;
      content: "";
      display: inline-block;
      width: 100px;
      height: 42px;
      margin-left: 12px;
      background: url(../upload/content/csr_2026/sp_special/sp2026-018.svg) center center no-repeat;
      background-size: 100% auto;
      font-size: 24px; }
    @media (max-width: 768px) {
      .csr-banner-card .banner-badge {
        padding: 8px 20px;
        width: 85%; }
        .csr-banner-card .banner-badge::after {
          top: 0; } }
  .csr-banner-card .banner-body {
    margin-top: 10px; }
    .csr-banner-card .banner-body p {
      color: #222222;
      line-height: 1.6;
      margin: 0 0 20px 0;
      text-align: justify;
      letter-spacing: 0.2px; }
      .csr-banner-card .banner-body p:last-child {
        margin-bottom: 0; }

.card-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 30px; }
  @media (max-width: 992px) {
    .card-content {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      -webkit-box-align: stretch;
      -ms-flex-align: stretch;
      align-items: stretch; } }
  .card-content .text-group {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1; }
  .card-content .image-group {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 280px;
    flex: 0 0 280px;
    width: 280px; }
    .card-content .image-group img {
      border-radius: 24px; }
    @media (max-width: 992px) {
      .card-content .image-group {
        width: 100%;
        -webkit-box-flex: 1;
        -ms-flex: auto;
        flex: auto; }
        .card-content .image-group img {
          width: 100%;
          max-width: 600px;
          margin: 0 auto;
          height: auto;
          display: block;
          -o-object-fit: cover;
          object-fit: cover; } }

.csr-img-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 30px;
  margin-top: 35px;
  margin-bottom: 35px; }
  @media (max-width: 992px) {
    .csr-img-block {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      gap: 24px; } }
  .csr-img-block .image-group {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 260px;
    flex: 0 0 260px;
    width: 260px; }
    @media (max-width: 992px) {
      .csr-img-block .image-group {
        width: 100%;
        -webkit-box-flex: 1;
        -ms-flex: auto;
        flex: auto; } }
    .csr-img-block .image-group img {
      width: 100%;
      max-width: 600px;
      margin: 0 auto;
      height: auto;
      display: block;
      border-radius: 24px;
      -o-object-fit: cover;
      object-fit: cover; }
  .csr-img-block .text-group {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1; }
    .csr-img-block .text-group .block-title {
      font-size: 1.5rem;
      font-weight: bold;
      color: #000000;
      margin: 0 0 10px 0;
      line-height: 1.3; }

.csr-timeline-card {
  background-color: #f8f4ef;
  border-radius: 24px;
  padding: 30px 30px;
  margin-top: 30px;
  margin-bottom: 30px; }
  @media (max-width: 768px) {
    .csr-timeline-card {
      padding: 32px 20px; } }
  .csr-timeline-card .timeline-list {
    list-style: none;
    padding: 0;
    margin: 0;
    position: relative; }
    .csr-timeline-card .timeline-list::before {
      content: "";
      position: absolute;
      left: 30px;
      top: 30px;
      bottom: 30px;
      width: 2px;
      background-color: #000;
      z-index: 1; }
    .csr-timeline-card .timeline-list .timeline-item {
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      margin-bottom: 28px;
      z-index: 2; }
    .csr-timeline-card .timeline-list:last-child {
      margin-bottom: 0; }
    .csr-timeline-card .timeline-list .calendar-box {
      -webkit-box-flex: 0;
      -ms-flex: 0 0 60px;
      flex: 0 0 60px;
      width: 60px;
      height: 60px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      padding-top: 2px;
      font-size: 16px;
      font-weight: bold;
      color: #000;
      background-image: url("../upload/content/csr_2026/sp_special/bg-calendar.svg");
      background-size: contain;
      background-repeat: no-repeat;
      background-position: center; }
      @media (max-width: 768px) {
        .csr-timeline-card .timeline-list .calendar-box {
          -webkit-box-flex: 0;
          -ms-flex: 0 0 58px;
          flex: 0 0 58px;
          width: 58px;
          height: 48px; } }
    .csr-timeline-card .timeline-list .timeline-content {
      -webkit-box-flex: 1;
      -ms-flex: 1;
      flex: 1;
      padding-left: 20px;
      line-height: 1.4; }
      @media (max-width: 768px) {
        .csr-timeline-card .timeline-list .timeline-content {
          padding-left: 16px; } }
      .csr-timeline-card .timeline-list .timeline-content .sub-bullet-list {
        list-style: none;
        padding: 0;
        margin: 0; }
      .csr-timeline-card .timeline-list .timeline-content li {
        position: relative;
        padding-left: 16px;
        margin-bottom: 6px; }
        .csr-timeline-card .timeline-list .timeline-content li:last-child {
          margin-bottom: 0; }
        .csr-timeline-card .timeline-list .timeline-content li::before {
          content: "";
          position: absolute;
          left: 0;
          top: 50%;
          -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
          transform: translateY(-50%);
          width: 6px;
          height: 6px;
          border-radius: 50%;
          background-color: #d97736; }

.csr-kpi-section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 20px;
  margin-top: 30px;
  margin-bottom: 30px; }
  .csr-kpi-section .kpi-row-top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 20px; }
    @media (max-width: 680px) {
      .csr-kpi-section .kpi-row-top {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column; } }
  .csr-kpi-section .kpi-card {
    background-color: #f8f4ef;
    border: 2px solid #a57b5a;
    border-radius: 32px;
    padding: 30px 15px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 10px; }
    .csr-kpi-section .kpi-card.right .card-icon {
      -webkit-box-flex: 0;
      -ms-flex: 0 0 90px;
      flex: 0 0 90px;
      width: 90px; }
    @media (max-width: 768px) {
      .csr-kpi-section .kpi-card {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        padding: 24px;
        border-radius: 20px;
        gap: 20px; } }
    .csr-kpi-section .kpi-card.half {
      -webkit-box-flex: 1;
      -ms-flex: 1;
      flex: 1; }
    .csr-kpi-section .kpi-card.full {
      width: 100%; }
    .csr-kpi-section .kpi-card .card-icon {
      -webkit-box-flex: 0;
      -ms-flex: 0 0 140px;
      flex: 0 0 140px;
      width: 140px; }
    .csr-kpi-section .kpi-card p {
      margin-bottom: 0;
      padding: 4px 0; }
      .csr-kpi-section .kpi-card p .ps {
        font-size: 14px;
        padding: 0;
        margin: 0; }
    .csr-kpi-section .kpi-card img {
      width: 100%;
      height: auto;
      display: block; }
    .csr-kpi-section .kpi-card .card-info {
      -webkit-box-flex: 1;
      -ms-flex: 1;
      flex: 1; }
    .csr-kpi-section .kpi-card .card-title {
      font-size: 24px;
      font-weight: bold;
      color: #000000;
      margin: 0 0 10px 0;
      display: inline-block; }
    .csr-kpi-section .kpi-card .sub-text {
      font-size: 20px;
      font-weight: 500;
      margin-bottom: 0; }
    .csr-kpi-section .kpi-card .highlight-text {
      font-size: 24px;
      font-weight: bold;
      line-height: 1.2; }
      .csr-kpi-section .kpi-card .highlight-text .text-green {
        color: #54a92c;
        margin-right: 10px; }
      .csr-kpi-section .kpi-card .highlight-text .text-orange {
        color: #ff5b00;
        font-size: 36px; }
    .csr-kpi-section .kpi-card .num-green {
      color: #3d9400;
      font-size: 24px;
      padding: 0 4px; }
    .csr-kpi-section .kpi-card .note-text {
      font-size: 0.9rem;
      color: #888888;
      padding: 0; }
    .csr-kpi-section .kpi-card .note-list {
      margin-top: 24px; }
      .csr-kpi-section .kpi-card .note-list p {
        font-size: 0.9rem;
        color: #888888;
        margin: 0 0 4px 0; }
      .csr-kpi-section .kpi-card .note-list ol {
        padding-left: 0px;
        padding-right: 10px;
        margin: 0; }
      .csr-kpi-section .kpi-card .note-list li {
        font-size: 0.9rem;
        color: #888888;
        margin-bottom: 6px;
        text-align: justify;
        line-height: 1.6; }
        .csr-kpi-section .kpi-card .note-list li:last-child {
          margin-bottom: 0; }

.csr-awards-grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: 30px;
  margin-bottom: 30px; }
  .csr-awards-grid .award-item {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    width: 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    padding: 40px 0;
    position: relative; }
    @media (max-width: 680px) {
      .csr-awards-grid .award-item {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        width: 100%;
        padding: 20px 0; } }
    .csr-awards-grid .award-item::after {
      content: "";
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      border-bottom: 3px dotted #dcdcdc; }
    .csr-awards-grid .award-item:last-child::after {
      display: none; }
    .csr-awards-grid .award-item .award-thumb {
      -webkit-box-flex: 0;
      -ms-flex: 0 0 150px;
      flex: 0 0 150px;
      width: 150px;
      height: 120px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      margin-right: 20px; }
      @media (max-width: 768px) {
        .csr-awards-grid .award-item .award-thumb {
          -webkit-box-flex: 0;
          -ms-flex: 0 0 100px;
          flex: 0 0 100px;
          width: 100px;
          height: 100px;
          margin-right: 16px; } }
    .csr-awards-grid .award-item img {
      max-width: 100%;
      max-height: 100%;
      width: auto;
      height: auto;
      display: block;
      -o-object-fit: contain;
      object-fit: contain; }
    .csr-awards-grid .award-item .award-info {
      -webkit-box-flex: 1;
      -ms-flex: 1;
      flex: 1; }
    .csr-awards-grid .award-item .award-title {
      font-size: 20px;
      font-weight: bold;
      color: #000000;
      margin: 0 0 4px 0;
      line-height: 1.3; }
      .csr-awards-grid .award-item .award-title sub {
        font-size: 0.8rem; }
    .csr-awards-grid .award-item .award-subtitle {
      font-size: 18px;
      color: #222222;
      margin: 0 0 4px 0;
      padding: 0;
      line-height: 1.4; }
    .csr-awards-grid .award-item .award-detail {
      font-size: 18px;
      color: #b88d67;
      margin: 0 0 2px 0;
      padding: 0;
      line-height: 1.4; }
      .csr-awards-grid .award-item .award-detail:last-child {
        argin-bottom: 0; }

.csr-cert-section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 20px;
  margin-top: 30px;
  margin-bottom: 80px; }
  .csr-cert-section .cert-card {
    background-color: #f8f4ef;
    border-radius: 34px;
    padding: 20px 20px; }
    .csr-cert-section .cert-card.full {
      width: 100%; }
  .csr-cert-section .cert-row-bottom {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 20px; }
    .csr-cert-section .cert-row-bottom .cert-card.small {
      -webkit-box-flex: 0;
      -ms-flex: 0 0 120px;
      flex: 0 0 120px;
      width: 120px; }
    @media (max-width: 992px) {
      .csr-cert-section .cert-row-bottom {
        width: 100%;
        -webkit-box-flex: 1;
        -ms-flex: auto;
        flex: auto; } }
    @media (max-width: 680px) {
      .csr-cert-section .cert-row-bottom {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column; }
        .csr-cert-section .cert-row-bottom .cert-card.small {
          width: auto;
          -webkit-box-flex: 1;
          -ms-flex: 1;
          flex: 1;
          text-align: left; } }
    .csr-cert-section .cert-row-bottom .cert-card.large {
      -webkit-box-flex: 1;
      -ms-flex: 1;
      flex: 1; }
      @media (max-width: 992px) {
        .csr-cert-section .cert-row-bottom .cert-card.large .logo-group img {
          height: 80px; } }
  .csr-cert-section .cert-title {
    font-size: 18px;
    font-weight: bold;
    color: #a57b5a;
    margin: 0 0 20px 0;
    line-height: 1.2; }
  .csr-cert-section .logo-group {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 10px 10px; }
    .csr-cert-section .logo-group.single {
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center; }
      @media (max-width: 680px) {
        .csr-cert-section .logo-group.single {
          -webkit-box-pack: start;
          -ms-flex-pack: start;
          justify-content: flex-start; } }
    .csr-cert-section .logo-group .logo-item {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center; }
    .csr-cert-section .logo-group img {
      max-height: 54px;
      width: auto;
      max-width: 100%;
      display: block;
      -o-object-fit: contain;
      object-fit: contain; }
    @media (max-width: 992px) {
      .csr-cert-section .logo-group {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start; }
        .csr-cert-section .logo-group img {
          max-height: none;
          height: 78px; } }

.csr-expo-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 30px;
  margin-top: 35px;
  margin-bottom: 35px; }
  .csr-expo-block.imgThin .image-group {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 200px;
    flex: 0 0 200px;
    width: 200px; }
    @media (max-width: 992px) {
      .csr-expo-block.imgThin .image-group {
        width: 100%;
        -webkit-box-flex: 1;
        -ms-flex: auto;
        flex: auto; } }
    .csr-expo-block.imgThin .image-group img {
      max-width: 350px;
      margin: 0 auto; }
  @media (max-width: 992px) {
    .csr-expo-block {
      -webkit-box-orient: vertical;
      -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
      flex-direction: column-reverse;
      gap: 24px; } }
  .csr-expo-block .text-group {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1; }
  .csr-expo-block .image-group {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 260px;
    flex: 0 0 260px;
    width: 260px; }
    @media (max-width: 992px) {
      .csr-expo-block .image-group {
        width: 100%;
        -webkit-box-flex: 1;
        -ms-flex: auto;
        flex: auto; } }
    .csr-expo-block .image-group img {
      width: 100%;
      max-width: 600px;
      margin: 0 auto;
      height: auto;
      display: block;
      border-radius: 24px;
      -o-object-fit: cover;
      object-fit: cover; }
