:root {
  --bgRed: #FEECEA;
  --borderRed: #9E0036;
  --txtRed: #9E0036;
}
body {
  overflow-x: clip;
}
.mb20 {
  margin-bottom: 20px!important;
}
.txtLeft {
  text-align: left!important;
}
.txtCenter {
  text-align: center!important;
}
.txtRight {
  text-align: right!important;
}
.c-txtBase {
  font-weight: 500;
  line-height: 2.0;
  font-size: 15px;
}

.bold{font-weight: 700;}
  .c-heading-2--ribbon + .c-heading-2__subtitle{
    margin-top: 20px;
  }
  .c-heading-2__subtitle {
    background: #FEECEA;
  }
  .f-container.flex.pt40{
    padding-top: 40px;
  }
  .flex + .p-sustainability__message__text{
    margin-top: 20px;
  }
  .list-wrap-table01{
    width: fit-content;
    margin: 20px auto;
  }
  .list-wrap-table01 th{
    min-width: auto;
    text-align: center;
    padding: 5px 20px;
    vertical-align: middle;
  }
  .list-wrap-table01 td{
    padding: 5px 15px;
    vertical-align: middle;
  }
  .list-wrap-table01 th:first-of-type{
    width: 20%;
  }
  .list-wrap-table01 td:first-of-type{
    text-align: center;
    font-weight: 700;
  }
  .p-sustainability-list-txt{
    padding-top: 40px;
  }
  .p-sustainability-list-txt.p-governance-txt {
    @media print, screen and (max-width: 768px) {
    padding-top: 0!important;
    }
  }
  .p-sustainability-list-txt dt{
    font-weight: 700;
    display: block;
    margin-bottom: 5px;
    font-size: 16px;
    color:#9E0036;
  }
  .p-sustainability-list-txt dd{
    margin-bottom: 30px;
    font-size: 14px;
    padding-left:1.2em;
  }
  .p-sustainability-list-txt.p-governance-txt dd {
    @media print, screen and (max-width: 768px) {
    margin-bottom: 0!important;
    }
  }
  .flex-title-text{
    color:#9E0036;
  }
  .pdt10{
    padding-top: 10px;
  }
  .pdt20{
    padding-top: 20px;
  }
  ol.num-list{
    list-style-type: decimal;
    padding-left: 1.4em;
  }
  ol.num-list-i{
    list-style-type: lower-roman;
    padding: 10px 0 0 1.4em;
  }
  ol.num-list-i li{
    padding-top: 5px;
    padding-left: 1%;
  }
  ol.num-list-i li::marker {
    content: counter(list-item, lower-roman) ". )";
  }
  .flex-inner.flex-text.half,
  .flex-inner.flex-img.half {
      width: 100%;
  }
  .flex-img img:nth-child(2){
    margin-top: 10px;
  }
  .box-line{
    padding: 15px;
    margin-top: 60px;
    border: 4px solid #E3A7A4;
    background: #FEECEA;
  }
  .box-line .flex-title-text{
    margin-bottom: 10px;
    font-size: 16px;
    color:#9E0036;
    font-weight: 700;
  }
  .box-line .flex-inner.flex-img{
    max-width: 320px;
    width: 100%;
    display: block;
    margin-inline: auto;
    padding-top: 10px;
  }
  .flex-inner.flex-img{
    display: block;
    margin: 15px auto 0;
  }

  @media print, screen and (min-width: 1025px) {
    .c-heading-2--ribbon + .c-heading-2__subtitle{
      margin-top: 30px;
    }
    .half {
        width: 48% !important;
    }

    .flex-inner.flex-img{
      /* margin-block: 0; */
      margin: 0;
    }
    .p-sustainability-list-txt dt{
      font-size: 18px;
    }
    .p-sustainability-list-txt dd{
      margin-bottom: 40px;
      font-size: 15px;
    }
    .list-wrap-table01{
      margin-block: 0;
      width: 100%;
    }
    .box-line{
      padding: 25px;
    }
    .box-line .flex-inner.flex-title-text{
      font-size: 18px;
    }
    .box-line .flex-inner.flex-text{
      width: 70.5%;
    }
    .box-line .flex-inner.flex-img{
      width: 23.5%;
      padding-top: 0;
      margin-inline:0;
    }
    .p-sustainability-list-wrap{
      display: grid;
      grid-template-columns:1fr 1fr;
      gap: 40px;
    }
  }

  /* 表03 */
  .p-sustainability.governance-list_03 {
    border-top: solid 1px #bb003b;
    border-bottom: solid 1px #bb003b;
  }
  .p-sustainability.governance-list_03 th {
    padding: 0px 13px;
    background: #E3A7A4;
    color: #bb003b;
    font-weight: 400;
    text-align: left;
    font-size: clamp(14px, 1.08vw, 16px);
    border-right: solid 1px #bb003b;
  }
  .p-sustainability.governance-list_03 td {
    padding: 0px 13px;
    font-weight: 400;
    text-align: left;
    font-size: clamp(14px, 1.08vw, 16px);
  }
  .p-sustainability.u-bb {
    border-bottom: solid 1px #bb003b;
  }
  @media screen and (min-width: 1200px) {
    .p-sustainability.governance-list_03 th,
    .p-sustainability.governance-list_03 td {
      font-size: 16px;
    }
  }
  @media screen and (max-width: 550px) {
    .p-sustainability.governance-list_03 th,
    .p-sustainability.governance-list_03 td {
      font-size: clamp(8px, 2.6vw, 14px);
      padding: 0 7px;
    }
  }

  /* 表04 */
  .p-sustainability.governance-list_04 {
    border: solid 1px #bb003b;
    margin: 0 auto;
    /* width: 980px; */
    width: 100%;
    max-width: 980px;
  }
  .p-sustainability.governance-list_04 th:nth-of-type(-n+2) {
    background: #E3A7A4;
    color: #bb003b;
    font-weight: 400;
  }
  .p-sustainability.governance-list_04 th:nth-of-type(n+3),
  .p-sustainability.governance-list_04 td:nth-of-type(-n+2) {
    background: #f2d5d1;
    color: #bb003b;
    font-weight: 400;
  }
  .p-sustainability.governance-list_04 th,
  .p-sustainability.governance-list_04 td {
    border-right: solid 1px #bb003b;
    border-bottom: solid 1px #bb003b;
    padding-bottom: 0;
    word-break: normal;
    vertical-align: middle;
  }
  .p-sustainability.u-w19 {
    width: 19%;
  }
  .p-sustainability.u-w31 {
    width: 31%;
  }
  .p-sustainability.u-w14 {
    width: 14%;
  }
  .p-sustainability.u-w21 {
    width: 21%;
  }
  .p-sustainability.u-w15 {
    width: 15%;
  }
  .p-sustainability.governance-list_04 td {
    padding-left: 10px;
  }
  @media screen and (max-width: 900px) {
    .p-sustainability.governance-list_04 {
      max-width: 800px;
      width: 800px;
    }
  }
.p-compliance {
    @media screen and (max-width: 768px) {
      padding-top: 20px!important;
    }
  }
  .p-compliance.pb20 {
    @media screen and (max-width: 768px) {
      padding-bottom: 20px;
    }
  }
.p-sustainability-management_img {
    display: grid;
    gap: 0px;
    font-size: 15px;
    font-size: min(2.8cqw, 13px);
    grid-template-columns: 0.7fr 0.2fr 0.3fr;
    /* grid-template-rows: 2rem 3rem; */
    grid-template-rows: 2rem 3rem 2rem 3rem 4rem 4rem 1rem;
    text-align: center;
    align-items: center;
    white-space: nowrap;
    justify-content: center;
    position: relative;
    z-index: 1;
}
@media screen and (min-width: 1025px) {
  .p-sustainability-management_img {
      font-size: 15px;
  }
}

.p-sustainability-management_img .fz94{
  font-size: min(2.5cqw, 12px);
}
@media screen and (min-width: 1025px) {
  .p-sustainability-management_img .fz94{
    font-size: 13px;
  }
}

.p-sustainability-management_img::before {
    content: "";
    display: block;
    position: absolute;
    width: 78%;
    width: 77%;
    height: 153px;
    background-color: #ebd0ce;
    top: -10px;
    left: -7%;
    left: -5%;
    z-index: -1;
}
.p-sustainability-management_img::after {
    content: "";
    display: block;
    position: absolute;
    width: 78%;
    width: 77%;
    height: 78px;
    height: 86px;
    background-color: #ebd0ce;
    top: 187px;
    left: -7%;
    left: -5%;
    z-index: -1;
}
.p-sustainability-management_img img {
  width: 77px;
  margin-top: 0 !important;
}
.p-sustainability-management_img .lh11 {
  line-height: 1.1;
}

@media screen and (max-width:768px) {
  .sustainability-management.w-39p {
    position: relative;
    left: 4%;
  }
}

.div1 {
  color: #9e0036;
  text-align: center;
  font-weight: bold;
}
.div2 {
    grid-row-start: 2;
    background-color: #9E0036;
    color: #FFF;
}
.div3 {
    grid-column-start: 1;
    grid-row-start: 3;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}
.div4 {
    grid-column-start: 1;
    grid-row-start: 4;
}
.div5 {
    grid-column-start: 1;
    grid-row-start: 5;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-left: 22%;
}
.div6 {
    grid-column-start: 1;
    grid-row-start: 6;
    color: #9e0036;
    font-weight: bold;
    padding-top: 10px;
}
.div7 {
    grid-column-start: 1;
    grid-row-start: 7;
    padding: 3px 0;
}
@media screen and (min-width: 768px) {
  .div7 {
    position: relative;
    top: 3px;
  }
}
.div8 {
    grid-column-start: 2;
    grid-row-start: 2;
    display: flex;
    justify-content: center;
    flex-direction: column;
    margin-top: -26px;
    padding: 5px;
}
.div9 {
    grid-column-start: 3;
    grid-row-start: 2;
    padding: 3px;
    line-height: 1.3;
}


.light-pink {
  background-color: #c17174;
  color: #FFF;
}
@media print, screen and (min-width: 1025px) {
  .light-pink {
    /*letter-spacing: -1px;*/
  }
}

.flex-inner.flex-img .div3 img,
.flex-inner.flex-img .div5 img,
.flex-inner.flex-img .div8 img {
  width: 77px;
}

.flex-inner.flex-img.sustainability-management {
  margin: 15px auto 0;
}

@media print, screen and (min-width: 1025px) {
  .p-sustainability-management_img::before {
    left: calc(-1% - 5%);
    width: 72%;
    width: 71%;
  }
  .p-sustainability-management_img::after {
    left: calc(-1% - 5%);
    width: 72%;
    width: 71%;
  }
  /* .div5 {
    padding-left: 17%;
  } */
  .flex-inner.flex-img.sustainability-management {
  margin: 15px 0 0;
}
  .div8{
    padding: 0;
  }
  .div9 {
    padding: 5px 0;
  }
  .lh13 {
    line-height: 1.3;
  }
}
.c-governance-subtitle {
    font-weight: 700;
    display: block;
    margin-bottom: 5px;
    font-size: 16px;
    color: #9E0036;
}

/* ------------------------------------------------------------
  SECTION 方針・基本的な考え方
------------------------------------------------------------ */
.p-basicPrinciplesSec__container {
    display: grid;
    grid-template-columns: 1fr;
    gap: 32px;
    margin-top: 20px;
  }
.p-basicPrinciplesItem {
  background-color: var(--bgRed, #FEECEA);
  padding: 12px;
  display: grid;
  gap: 8px;
}
.p-basicPrinciplesItem__ttl {
    color: var(--txtRed, #9E0036);
    text-align: center;
    padding: 4px;
    line-height: 1.5;
    border: 1px solid var(--borderRed, #9E0036);
    background-color: #fff;
}
.p-basicPrinciplesItem__desc {
  background-color: #fff;
  padding: 4px;
}
.p-basicPrinciplesItem__list {
  list-style-type: decimal;
  padding-left: 15px;
}
.p-basicPrinciplesItem__list li {
  list-style-type: decimal;
}

.p-basicPrinciplesItem__list2 {
  padding-left: 15px;
  text-indent: -15px;
}
@media print, screen and (min-width: 1025px) {
  .p-basicPrinciplesSec__container {
    grid-template-columns: 1fr 1fr;
    gap: 24px;
  }
  .p-basicPrinciplesItem {
    padding: 24px;
    grid-template-rows: subgrid;
    grid-row: span 3;
  }
}


/* ------------------------------------------------------------
  追従アンカーリンク
------------------------------------------------------------ */

.p-sustainability section + section .f-container .c-heading-2.c-heading-2--ribbon:nth-of-type(1),
.p-sustainability .f-container .c-heading-2.c-heading-2--ribbon:nth-of-type(1) {
  margin-top: 0;
}
.p-sustainability #section-01 .f-container .c-heading-2.c-heading-2--ribbon:nth-of-type(1)  {
  margin-top: 0px;
}
  #section-01{
    padding-bottom: 70px;
    padding-top: 100px;
    margin-top: -40px;
  }
  #section-02,
  #section-03,
  #section-04{
    padding-bottom: 70px;
    padding-top: 100px;
    margin-top: -100px;
  }
  #section-02 {
    margin-top: 0;
  }
  #section-03 {
    padding-bottom: 70px!important;;
  }

  /* ターゲットアンカー */
  .section-01-02-03,
  .section-01-08,
  .section-02-03,
  .section-04-02 {
    position: relative;
  }
  #section-01-02-03,
  #section-01-08,
  #section-02-03,
  #section-04-02 {
    position: absolute;
  }
@media print, screen and (min-width:641px) {
  .p-sustainability section + section#section-02 .f-container .c-heading-2.c-heading-2--ribbon:nth-of-type(1),
  .p-sustainability section + section#section-03 .f-container .c-heading-2.c-heading-2--ribbon:nth-of-type(1),
  .p-sustainability section + section#section-04 .f-container .c-heading-2.c-heading-2--ribbon:nth-of-type(1){
    margin-top: 0;
  }

  .p-sustainability .f-container .c-heading-2.c-heading-2--ribbon:nth-of-type(1),
  .p-sustainability section + section .f-container .c-heading-2.c-heading-2--ribbon:nth-of-type(1) {
    margin-top: 0!important;
  }
  .p-sustainability #section-01 .f-container .c-heading-2.c-heading-2--ribbon:nth-of-type(1) {
    margin-top: 60px!important;
  }
  .intro.p-sustainability__message__text,
  section:has(#section-01) {
    padding-bottom: 60px;
  }
  #section-01 + section .f-wrapper > .f-container:not(#section-02),
  .f-container:has(#section-01),
  section:has(#section-01) {
    padding-bottom: 70px;
  }
  #section-01{
    padding-top: 420px;
    margin-top: -420px;
  }
  #section-02,
  #section-03,
  #section-04{
    padding-top: 580px;
    margin-top: -580px;
    padding-top: 400px;
    margin-top: -400px;
  }
  #section-02 {
    margin-top: -380px;
  }
  #section-03 {
    padding-bottom: 70px!important;;
  }

  .l-root-container:has(.p-zeroshock-localnavi-section.is-fixed) #section-01,
  .l-root-container:has(.p-zeroshock-localnavi-section.is-fixed) #section-02,
  .l-root-container:has(.p-zeroshock-localnavi-section.is-fixed) #section-03,
  .l-root-container:has(.p-zeroshock-localnavi-section.is-fixed) #section-04{
    padding-top: 230px;
    margin-top: -230px;
  }
  .p-sustainability,
  section:has(#section-01),
  .p-sustainability #section-02,
  .p-sustainability #section-03,
  .p-sustainability #section-04,
  .p-sustainability #section-05,
  .p-sustainability #section-06 {
    padding-bottom: 100px;
  }
  .p-sustainability {
    margin-bottom: 0;
  }

  /* ターゲットアンカー */
  #section-01-02-03{
    top: 60px;
  }
  #section-01-08{
    top: -280px;
  }
  #section-02-03{
    top: -300px;
  }
  #section-04-02{
    top: -300px;
  }
}

@media print, screen and (min-width:768px) {
  .intro.p-sustainability__message__text,
  section:has(#section-01) {
    padding-bottom: 60px;
  }
  section:has(#section-01) {
    padding-bottom: 100px;
  }
  #section-01 {
    padding-top: 240px;
    margin-top: -240px;
    padding-top: 140px;
    margin-top: -140px;
  }
  #section-02,
  #section-03,
  #section-04{
    padding-top: 340px;
    margin-top: -340px;
    padding-top: 180px;
    margin-top: -180px;
  }
  /*
  #section-02 {
    margin-top: -220px;
  }
    */
  #section-03 {
    padding-bottom: 70px!important;;
  }


  .l-root-container:has(.p-zeroshock-localnavi-section.is-fixed) #section-01,
  .l-root-container:has(.p-zeroshock-localnavi-section.is-fixed) #section-02,
  .l-root-container:has(.p-zeroshock-localnavi-section.is-fixed) #section-03,
  .l-root-container:has(.p-zeroshock-localnavi-section.is-fixed) #section-04{
    padding-top:120px;
    margin-top: -120px;
  }
  /*
  .l-root-container:has(.p-zeroshock-localnavi-section.is-fixed) #section-02 {
    padding-top: 200px;
    margin-top: -120px;
  }*/
  .p-sustainability,
  section:has(#section-01),
  .p-sustainability #section-02,
  .p-sustainability #section-03,
  .p-sustainability #section-04,
  .p-sustainability #section-05,
  .p-sustainability #section-06 {
    padding-bottom: 100px;
  }
  .p-sustainability {
    margin-bottom: 0;
  }

  /* ターゲットアンカー */
  #section-01-02-03{
    top: 200px;
  }
  #section-01-08{
    top: -90px;
  }
  #section-02-03{
    top: -90px;
  }
  #section-04-02{
    top: -80px;
  }
}

@media print, screen and (min-width:980px) {
  .intro.p-sustainability__message__text,
  section:has(#section-01) {
    padding-bottom: 100px;
  }
  section:has(#section-01) {
    padding-bottom: 100px;
  }
  #section-01 {
    padding-top: 180px;
    margin-top: -180px;
  }
  #section-01,
  #section-02,
  #section-03,
  #section-04{
    padding-top: 400px;
    margin-top: -400px;
    padding-top: 260px;
    margin-top: -260px;
    padding-top: 220px;
    margin-top: -220px;
  }
  /*
  #section-02 {
    margin-top: -260px;
  }*/
  #section-03 {
    padding-bottom: 70px!important;;
  }

  .l-root-container:has(.p-zeroshock-localnavi-section.is-fixed) #section-01,
  .l-root-container:has(.p-zeroshock-localnavi-section.is-fixed) #section-02,
  .l-root-container:has(.p-zeroshock-localnavi-section.is-fixed) #section-03,
  .l-root-container:has(.p-zeroshock-localnavi-section.is-fixed) #section-04{
    padding-top: 240px;
    margin-top: -240px;
    padding-top: 120px;
    margin-top: -120px;
  }

  /*
  .l-root-container:has(.p-zeroshock-localnavi-section.is-fixed) #section-02 {
    padding-top: 240px;
    margin-top: -160px;
  }
    */
  .p-sustainability,
  section:has(#section-01),
  .p-sustainability #section-02,
  .p-sustainability #section-03,
  .p-sustainability #section-04,
  .p-sustainability #section-05,
  .p-sustainability #section-06 {
    padding-bottom: 100px;
  }
  .p-sustainability {
    margin-bottom: 0;
  }

  /* ターゲットアンカー */
  #section-01-02-03{
    top: 240px;
  }
  #section-01-08{
    top: -90px;
  }
  #section-02-03{
    top: -160px;
  }
  #section-04-02{
    top: -90px;
  }
}

@media print, screen and (min-width: 1280px) {
  .intro.p-sustainability__message__text,
  section:has(#section-01) {
    padding-bottom: 60px;
  }
  section:has(#section-01) {
    padding-bottom: 100px;
  }
  #section-01 {
    padding-top: 200px;
    margin-top: -200px;
  }
  #section-02,
  #section-03,
  #section-04{
    padding-top: 120px;
    margin-top: -120px;
  }
  #section-02 {
    margin-top: -160px;
  }
  #section-03 {
    padding-bottom: 70px!important;
  }

  .l-root-container:has(.p-zeroshock-localnavi-section.is-fixed) #section-01,
  .l-root-container:has(.p-zeroshock-localnavi-section.is-fixed) #section-03,
  .l-root-container:has(.p-zeroshock-localnavi-section.is-fixed) #section-04 {
    padding-top: 180px;
    margin-top: -180px;
    padding-top: 140px;
    margin-top: -140px;
  }
  .l-root-container:has(.p-zeroshock-localnavi-section.is-fixed) #section-04 {
    padding-top: 140px;
    margin-top: -80px;
  }
  .l-root-container:has(.p-zeroshock-localnavi-section.is-fixed) #section-02 {
    padding-top: 180px;
    margin-top: -80px;
  }

  /* ターゲットアンカー */
  #section-01-02-03{
    top: 160px;
  }
  #section-01-08{
    top: -140px;
  }
  #section-04-02{
    top: 60px;
  }
}

/* ------------------------------------------------------------
  印刷 調整
------------------------------------------------------------ */
@media print {
  @page {
    height: 100%;
    padding: 10mm 0;
  }
  body{
    margin: 0 auto;
  }
  .l-zeroshock-contents{

  }
  #section-01{
    padding-top: 0;
    margin-top: -20px;
  }
  .c-heading-2.c-heading-2--ribbon{
    margin-top: 30px !important;
  }
  .c-heading-2__subtitle{
    margin-top: 40px;
  }
  .p-sustainability-list-txt{
    padding-top: 20px;
    zoom:0.95;
  }
  .box-line{
    margin-top:25px;
    padding:15px
  }
  .z095{zoom:0.95}
  .z09{zoom:0.9}
  .z085{zoom:0.85}
}