:root {
  --bgDarkGreen: #1EA235;
  --bgGreen: #6FBA2C;
  --bgLightGreen: #DFEDD6;
  --bgLighterGreen: #E7F2E1;
  --bgGray: #aaa;
  --txtGreen: #1EA235;
  --borderGreen: #1EA235;
  --borderGray: #aaa;
}
html {
  scroll-padding-top: 80px;
}
body {
  overflow-x: clip;
}
a {
  word-break: break-all;
}

.mb20 {
  margin-bottom: 20px!important;
}
.mlrAuto {
  margin-inline: auto;
}
.txtGreen {
  color: var(--txtGreen, #1EA235);
}
.txtLeft {
  text-align: left!important;
}
.txtCenter {
  text-align: center!important;
}
.txtRight {
  text-align: right!important;
}
.fw700 {
  font-weight: 700!important;
}
.c-txtBase {
  font-weight: 500;
  line-height: 2.0;
  font-size: 15px;
}

.c-heading-2__subtitle {
  background: #E7F2E1;
}
.flex.type02 {
  border-color:#E7F2E1;
}
.flex-title-text,
.flex.type02 .flex-title-text,
.c-heading-2__catch {
  color: var(--txtGreen, #1EA235);
}
.p-sustainability__message__text > span.bold {
  font-weight: bold;
  display: block;
  width: 100%;
}
br + .bold {
  margin-top: 20px;
}

.c-heading-2__subtitle + .flex.type01 {
  margin-top: 30px;
}

.c-heading-2 + .c-heading-2__subtitle{
  margin-top: 30px;
}

.c-borderwrap {
  margin-top: 30px;
  padding: 25px 20px;
  border: 4px solid #E7F2E1;
}
@media print, screen and (max-width: 768px) {
  .c-borderwrap {
      padding: 30px 15px 15px;
  }
}

.c-borderwrap-title {
  font-weight: bold;
  font-size: 18px;
  color: var(--txtGreen, #1EA235);
  padding-bottom: 8px;
}
.c-borderwrap-title:last-of-type {
  padding-bottom: 0;
}

.c-circle-list__item,
.c-borderwrap-list__item {
  display: flex;
  font-size: 15px;
  line-height: 2.0;
}
.c-circle-list__item:before,
.c-borderwrap-list__item:before {
  content: "・";
}

.c-circle-list {
  margin-top: 10px;
}

.c-borderwrap-list + .c-borderwrap-title{
  border-top: 1px solid #DDDDDD;
  padding-top: 20px;
  margin-top: 20px;
}

.c-borderwrap__attention {
  padding-top: 5px;
  padding-bottom: 30px;
}


.c-borderwrap ~ .c-heading-2__catch {
  margin-top: 60px;
}
.c-borderwrap .c-heading-2__catch {
  margin-top: 0;
  font-size: 15px;
}
.c-borderwrap .c-heading-2__catch + .c-heading-2__catch {
  margin-top: 10px;
}

.width35 img + img {
  margin-top: 20px;
}
.width40 img + img {
  margin-top: 20px;
}

.mt0 {
  margin-top: 0!important;
}

.mt0 + .flex.type01{
  margin-top: 30px;
}
.span[style="color:#1EA235;"] {
  display: block;
  width: 100%;
  padding: 5px;
}

.caption {
  padding-top: 10px;
}
.list-wrap.position-left {
  @media print, screen and (min-width: 768px) {
    margin: 0 0 60px;
  }
}
.list-wrap.position-left img{
  margin: 0;
}
.list-wrap.position-left.pt10 {
  padding-top: 20px!important;
  margin-bottom: 10px!important;
}
.p-sustainability__message__text a{
  text-decoration: underline;
  transition: .4s;
}
.p-sustainability__message__text a:hover{
  opacity: .6;
}
.p-sustainability__message__small {
  margin-bottom: 20px;
  font-weight: bold;
  font-size: 16px;
}

.minus-position {
  display: block;
  padding-top: 60px;
  margin-top: -60px;
}
.tightS {
    max-width: 400px;
    @media print, screen and (max-width: 1024px) {
      width: 100%;
      max-width: 100%;
    }
}
.tightSS {
    max-width: 100%;
}
.tightL {
    max-width: 700px;
}
.tightLL {
    max-width: 100%;
    margin-top: 30px;
}
.width35 {
  max-width: 402px;
}
.width40 {
  max-width: 460px;
}
.tightS:has(.list-wrap),
.tightL:has(.list-wrap),
.width60:has(.list-wrap),
.width55:has(.list-wrap),
.width40:has(.list-wrap),
.width35:has(.list-wrap) {
  overflow: scroll;
}
.flex.type02 .flex-text .p-sustainability__message__text{
  text-align: left;
}
@media print, screen and (max-width: 1024px) {
  .width40,
  .width35,
  .flex.type02 .flex-img {
      width: 100%;
      /* max-width: 100%; */
      margin: 15px auto 0;
  }
  .flex.type02 .flex-text{
      width: 100%;
      max-width: 100%;
  }
  .width40 img,
  .width35 img,
  .flex.type02 .flex-img img{
      display: block;
      margin-left: auto;
      margin-right: auto;
  }
}
@media print, screen and (min-width: 1220px) {
  .tightL {
      width: 64%;
  }
}
@media print, screen and (min-width: 1025px) {
  .flex.type01{
      padding-bottom: 30px;
  }
  .tightS {
      width: 35%;
      max-width: 400px;
  }
  .tightSS {
      width: 32%;
      max-width: 354px;
  }
  .tightL {
      width: 58%;
      max-width: 700px;
  }
  .tightLL {
      width: 67%;
      max-width: 752px;
      margin-top: 0;
}
  .width60 {
      width: 60%;
      max-width: 690px;
  }
  .width55 {
      width: 55%;
      max-width: 620px;
  }
  .width40 {
      width: 40%;
      margin: 0;
  }
  .width35 {
      width: 35%;
      margin: 0;
  }
  .flex.type02 .flex-text {
      width: 72%;
      max-width: 762px;
  }
  .flex.type02 .flex-img {
      max-width: 280px;
      width: 27%;
      margin: 0;
  }

  .c-heading-2__catch  + .flex.type01{
      margin-top: 20px;
  }
  .c-borderwrap + .p-sustainability__message__text{
      margin-top: 30px;
  }

  .mt0 + .flex.type01{
      margin-top: 45px;
  }
}
@media print, screen and (min-width: 1025px) {
  .pc-w48_5p {
    width: 48.5%;
    max-width: 48.5%;
  }
}

.bgLightGreen {
	background: #F0F6EC;
}
.c-chartNote {
  margin-top: 8px;
  font-size: 90%;
  color: #666;
}
@media print, screen and (max-width: 768px) {
    .c-borderwrap {
        padding: 20px 15px 20px;
    }
}
/* アンカーリンク調整 */
.section-efficientEnergyUse {
  margin-top: -40px;
  padding-top: 100px;
}
@media print, screen and (min-width: 1025px) {
  .section-efficientEnergyUse {
      margin-top: -200px;
    padding-top: 260px;
  }
}
/* ------------------------------------------------------------
  体系図共通スタイル
------------------------------------------------------------ */
.c-structureChart .green {
    background-color: var(--txtGreen, #1EA235);
}
.c-structureChart .lightGreen {
    background-color: var(--bgGreen, #6FBA2C);
}
.c-structureChart  div {
  color: #fff;
  text-align: center;
  padding: 4px;
  line-height: 1.5;
}
/* ------------------------------------------------------------
  図：環境マネジメント体制
------------------------------------------------------------ */
.environmentManagementStructure.parent {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(5, 1fr);
    gap: 12px;
}
.environmentManagementStructure > div {
  height: 66px;
  line-height: 130%;
  display: flex;
  align-items: center;
  justify-content: center;
  @media print, screen and (max-width: 440px) {
    font-size: 2.8vw;
  }
}
.environmentManagementStructure .connectorDown,
.environmentManagementStructure .connectorRight,
.environmentManagementStructure .connectorDescendant {
    position: relative;
}
.environmentManagementStructure .connectorDown::after {
    content: "";
    display: block;
    position: absolute;
    width: 1px;
    height: 12px;
    background-color: var(--bgGray, #aaa);
    bottom: -12px;
    left: 30%;
    transform: translateX(-50%);
}
.environmentManagementStructure .connectorRight::after {
    content: "";
    display: block;
    position: absolute;
    width: 12px;
    height: 1px;
    background-color: var(--bgGray, #aaa);
    top: 50%;
    right: -12px;
}
.environmentManagementStructure .connectorDescendant::after {
    content: "";
    display: block;
    position: absolute;
    width: 6px;
    height: calc(100% + 12px);
    border-left: 1px solid var(--borderGray, #aaa);
    border-bottom: 1px solid var(--borderGray, #aaa);
    left: -6px;
    top: calc(-135% + 44px);
}
/* 各要素の配置 */
.environmentManagementStructure .div4 {
    grid-column: span 2 / span 2;
    grid-column-start: 2;
}

.environmentManagementStructure .div6 {
    grid-row-start: 2;
}

.environmentManagementStructure .div7 {
    grid-row-start: 2;
}

.environmentManagementStructure .div8 {
    grid-row-start: 2;
}

.environmentManagementStructure .div9 {
    grid-column-start: 3;
    grid-row-start: 3;
}

.environmentManagementStructure .div10 {
    grid-column-start: 3;
    grid-row-start: 4;
}

.environmentManagementStructure .div11 {
    grid-column-start: 3;
    grid-row-start: 5;
}

/* ------------------------------------------------------------
  図：リスクアセスメントフロー
 ------------------------------------------------------------- */
.riskAssessmentFlow {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.riskAssessmentFlow li {
  text-align: center;
  color: #fff;
  line-height: 1.4;
  padding: 4px;
}
.riskAssessmentFlow li:not(:last-child) {
  position: relative;
}
.riskAssessmentFlow li:not(:last-child)::after {
  content: "↓";
  position: absolute;
  font-size: 16px;
  color: #666;
  bottom: -18px;
  left: 0;
  right: 0;
  margin-inline: auto;
}


/* ------------------------------------------------------------
  環境-テーブル共通スタイル
------------------------------------------------------------ */
.c-environmentTableTitle {
  margin-bottom: 6px;
  color: var(--txtGreen, #1EA235);
  font-size: 15px;
}
.c-environmentTable{
  margin-inline: auto;
  min-width: 800px;
  width: min(900px, 100%);
  border-top: 1px solid var(--borderGreen, #1EA235);
}
.c-environmentTable.max900px {
  max-width: 900px;
}
@media print, screen and (min-width: 768px) {
  .c-environmentTable  {
    width: 100%;
  }
}
.c-environmentTable sup{
  position: relative;
  top: 1px;
}

.table__note  {
    min-width: 800px;
    width: min(900px, 100%);
    margin-block: 8px;
    font-size: 90%;
    color: #666;
}
.table__note-links {
  @media print, screen and (max-width: 666px) {
    display: block;
  }
}
.table__note-links > br {
  display: none;
  @media print, screen and (max-width: 360px) {
    display: block;
  }
}
@media print, screen and (min-width: 768px) {
  .c-environmentTable--half {
      min-width: unset;
  }
  .c-environmentTable--half th,
  .c-environmentTable--half td {
       padding: 8px 8px;
  }
  .table__note--half {
      min-width: unset;
      max-width: 100%;
      text-align: left;
  }
}
@media print, screen and (min-width: 1025px) {
    .c-environmentTable--half {
      min-width: unset;
      max-width: 100%;
      margin-inline: 0;
    }
}
.c-environmentTable td,
.c-environmentTable th {
	border-right: 1px solid var(--borderGreen, #1EA235);
  border-bottom: 1px solid var(--borderGreen, #1EA235);
	border-collapse: collapse;
  line-height: 1.5;
}
.c-environmentTable .dashedUnderline {
  border-bottom: 1px dashed #1EA235;
  border-top: none;
}
.c-environmentTable td, th {
	padding: 10px 10px;
  line-height: 1.5;
  text-align: center;
  word-break: normal;
  vertical-align: middle;
}
.c-environmentTable td{
  vertical-align: top;
}
.c-environmentTable th {
  font-weight: 400;
  color: var(--txtGreen, #1EA235);
  background: var(--bgLightGreen, #DFEDD6);
}
.c-environmentTable th.bgLightGreen {
	background: var(--bgLighterGreen, #F0F6EC);
}
.c-environmentTable th:first-child,
.c-environmentTable td:first-child {
  border-left: none;
}
.c-environmentTable th:last-child,
.c-environmentTable td:last-child {
  border-right: none;
}
.c-environmentTable .borderTop {
  border-top: 1px solid var(--borderGreen, #1EA235);
}
.c-environmentTable .noBorderBottom {
  border-bottom: none;
}
.c-environmentTable .blankCell {
  background: none;
  position: relative;
}
.c-environmentTable .blankCell::before {
  content: "";
  width: 100%;
  height: 2px;
  background: #fff;
  position: absolute;
  top: -2px;
  left: 0;
  display: block;
}
.c-environmentTable .listStyleDisc {
    list-style: '・';
    text-align: left;
    padding-left: 8px;
}
.c-environmentTable .listStyleDisc li{
  list-style: "・";
}
.c-environmentTable .dataVertical {
  width: 16px;
  line-height: 1.2;
}

/* 交互に背景色をつける */
.c-environmentTable--striped th,
.c-environmentTable--striped td {
    border-color: #fff;
}
.c-environmentTable--striped thead th,
.c-environmentTable--striped thead td.green {
    background-color: var(--txtGreen, #1EA235);
    color: #fff;
}
.c-environmentTable--striped tbody tr:nth-child(odd) {
    background-color: var(--bgLightGreen, #DFEDD6);
}
.c-environmentTable--striped tbody tr:nth-child(even) {
    background-color: var(--bgLighterGreen, #F9FDF6);
}
.c-environmentTable--striped .borderTop {
    border-color: #fff;
}
/* ------------------------------------------------------------
  テーブル　環境方針の周知と公表
------------------------------------------------------------ */
.environmentTrainingTable td{
  border-right: 1px dotted var(--borderGreen, #1EA235);
  border-left: 1px dotted var(--borderGreen, #1EA235);
  padding-inline: 56px;
}
.environmentTrainingTable td:first-child {
  border-left: none;
}
.environmentTrainingTable td:last-child {
  border-right: none;
}

/* ------------------------------------------------------------
  テーブル　リスクと機会
------------------------------------------------------------ */
.environmentRiskOpportunityTable td {
  text-align: left;
}

/* ------------------------------------------------------------
  テーブル 自然への依存、自然への影響
------------------------------------------------------------ */
.environmentEvaluationTable .bgDarkestGreen {
  background-color: #00440A;
  color: #fff;
}
.environmentEvaluationTable .bgDarkerGreen {
  background-color: #5E8450;
  color: #fff;
}
.environmentEvaluationTable .bgDarkGreen {
  background-color: #B2D2A0;
}
.environmentEvaluationTable .bgGreen {
  background-color: #DAEAD0;
}
.environmentEvaluationTable .lightGreen {
  background-color: #EBF4E7;
}
.environmentEvaluationTable .bgWhite {
  background-color: #fff;
  color: #000;
}
.environmentEvaluationTable th,
.environmentEvaluationTable td {
  line-height: 1.3;
  font-size: 98%;
  padding-inline: 4px;
  overflow-wrap: break-word;
}
.environmentEvaluationTable tbody th {
  background-color: #fff;
  color: initial;
}
.environmentEvaluationTable tbody td {
  color: var(--txtGreen, #1EA235);
 }
 .environmentEvaluationTable--influence {
  margin-inline: 0;
 }
 @media print, screen and (min-width: 1025px) {
  .environmentEvaluationTable--influence {
        width: 61.5%;
        min-width: unset;
    }
 }



/* ------------------------------------------------------------
  図：環境ガバナンス体制
------------------------------------------------------------ */
.environmentGovernanceStructure.parent {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}
.environmentGovernanceStructure div {
  height: fit-content;
  padding-inline: 2px;
}
.environmentGovernanceStructure .div1 {
    grid-column: span 2 / span 2;
}

.environmentGovernanceStructure .report.div2::before,
.environmentGovernanceStructure .manage.div3::before {
    content: "";
    display: block;
    position: absolute;
    width: 2px;
    height: 100%;
    border-right: 2px dashed #aaa;
    bottom: 0;
    right: 20%;
}
.environmentGovernanceStructure .manage.div3::before {
  left: 20%;
}
.environmentGovernanceStructure .report.div2::after,
.environmentGovernanceStructure .manage.div3::after {
    content: "";
    display: block;
    position: absolute;
    width: 14px;
    height: 7px;
    background-color: var(--bgGray, #aaa);
    clip-path: polygon(50% 0%, 100% 100%, 0 100%);
    top: -1px;
    right: calc(20% - 6px);
}
.environmentGovernanceStructure .manage.div3::after {
  top: unset;
  bottom: -1px;
  rotate: 180deg;
  left: calc(20% - 6px);
}
.environmentGovernanceStructure .report.div2 {
    grid-row-start: 2;
    color: initial;
    position: relative;
    padding-left: 20%;
}

.environmentGovernanceStructure .manage.div3 {
    grid-row-start: 2;
    color: initial;
    position: relative;
    padding-right: 12%;
}

.environmentGovernanceStructure .committee.div4 {
    grid-column: span 2 / span 2;
    color: var(--txtGreen, #1EA235);
    padding-block: 0;
    line-height: 1;
}

.environmentGovernanceStructure .div5 {
    grid-column: span 2 / span 2;
    grid-row-start: 4;
}

.environmentGovernanceStructure .div6 {
    grid-column: span 2 / span 2;
    grid-row-start: 5;
}

.environmentGovernanceStructure .div7 {
    grid-column: span 2 / span 2;
    grid-row-start: 6;
}

.environmentGovernanceStructure .div8 {
    grid-row-start: 7;
    position: relative;
}
.environmentGovernanceStructure .div8::before {
    content: "";
    display: block;
    position: absolute;
    width: 6px;
    height: calc(50% + 12px);
    border-right: 1px solid var(--borderGray, #aaa);
    border-bottom: 1px solid var(--borderGray, #aaa);
    top: -12px;
    right: -6px;
}
.environmentGovernanceStructure .div8::after {
    content: "";
    display: block;
    position: absolute;
    width: 1px;
    height: calc(50% + 6px);
    background-color: var(--bgGray, #aaa);
    top: 50%;
    right: -6px;
}

.environmentGovernanceStructure .div9 {
    grid-row-start: 8;
    position: relative;
}
.environmentGovernanceStructure .div9::before {
    content: "";
    display: block;
    position: absolute;
    width: 105%;
    height: 6px;
    border: 1px solid var(--borderGray, #aaa);
    border-bottom: none;
    top: -6px;
    left: 50%;
}

.environmentGovernanceStructure .div10 {
    grid-row-start: 8;
    position: relative;
}
.environmentGovernanceStructure .div10::after {
    content: "";
    display: block;
    position: absolute;
    width: 1px;
    height: 12px;
    background-color: var(--bgGray, #aaa);
    bottom: -12px;
    left: 50%;
    transform: translateX(-50%);
}
.environmentGovernanceStructure .div11 {
    grid-column-start: 2;
    grid-row-start: 9;
}

.c-environmentTable.th-left tr:nth-of-type(n+2) th{
  text-align: left;
}


/* ------------------------------------------------------------
  図：環境データ表
------------------------------------------------------------ */
.thinkEcologySec__title {
  font-size: 200%;
    color: var(--txtGreen, #1EA235);
    padding-bottom: 8px;
    border-bottom: 2px solid var(--txtGreen, #1EA235);
    line-height: 1.3;
    margin-block: 32px 16px;
    width: fit-content;
}
.thinkEcology__container {
  padding-bottom: 180px;
  position: relative;
  container-type: inline-size;
  min-width: 960px;
}
.thinkEcology__criteria {
  position: absolute;
  width: 50cqw;
  top: 14cqw;
  left: 1cqw;
  font-size: 0.8cqw;
  padding: 1cqw;
  padding-top: 1.5cqw;
  border-radius: 1cqw;
  box-shadow: 5px 5px 15px rgb(15, 76, 26, 0.3);
}
.list-wrap .thinkEcology__container  img {
  width: 100%;
  max-width: unset;
}
.thinkEcology__criteria h5.c-heading-2__catch {
  font-size: 1cqw;
  margin-bottom: 0.5cqw;
  margin-top: 0;
    text-align: center;
    padding-bottom: 4px;
    border-bottom: 0.7px solid var(--txtGreen, #1EA235);
    width: fit-content;
    margin-inline: auto;
}
.thinkEcology__table {
  margin-top: 0.5cqw;
  min-width: unset;
  max-width: unset;
  width: 100%;
}
.thinkEcology__table th,
.thinkEcology__table td {
  padding: 2px;
}

/* ------------------------------------------------------------
  SECTION 方針・基本的な考え方
------------------------------------------------------------ */
.p-basicPrinciplesSec__container {
    display: grid;
    grid-template-columns: 1fr;
    gap: 32px;
    margin-top: 20px;
  }
.p-basicPrinciplesItem {
  background-color: var(--bgLighterGreen, #E7F2E1);
  padding: 12px;
  display: grid;
  gap: 8px;
}
.p-basicPrinciplesItem__ttl {
    color: var(--txtGreen, #1EA235);
    text-align: center;
    padding: 4px;
    line-height: 1.5;
    border: 1px solid var(--borderGreen, #1EA235);
    background-color: #fff;
}
.p-basicPrinciplesItem__desc {
  background-color: #fff;
  padding: 4px;
}
.p-basicPrinciplesItem__list {
  list-style-type: decimal;
  padding-left: 15px;
  counter-reset: item;
}
.p-basicPrinciplesItem__list li {
  counter-increment: item;
  list-style: decimal;
  padding-left: 2em;
  text-indent: -2em;
}
/*
.p-basicPrinciplesItem__list li::before {
  content: counter(item);
}
*/
.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;
  }
}

#section-greenProcurement,
.p-btm{
  padding-bottom: 30px;
}

@media print, screen and (min-width: 1025px) {
  #section-greenProcurement,
  .p-btm{
    padding-bottom: 100px;
  }
}


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

.p-sustainability section + section .f-container .c-heading-2.c-heading-2--ribbon:nth-of-type(1) {
  margin-top: 0;
}
  /* #section-01, */
  #section-02,
  #section-03,
  #section-04,
  #section-05,
  #section-06,
  #section-07,
  #section-climateChangeActions,
  section:has(#section-03sub),
  #section-greenProcurement {
    padding-bottom: 100px;
    padding-top: 100px;
    margin-top: -100px;
  }
  #section-01{
    padding-top: 100px;
    margin-top: -100px;
  }

  #section-07 {
  padding-bottom: 0;
  }

  /* ターゲットアンカー */
  .section-4sub {
    position: relative;
  }
  #section-4sub {
    position: absolute;
  }

@media print, screen and (max-width:640px) {
  .p-sustainability #section-01 .f-container .c-heading-2.c-heading-2--ribbon:nth-of-type(1) {
    margin-top: 0;
  }
  .p-sustainability #section-01 {
    margin-top: -20px;
  }
}

@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),
  .p-sustainability section + section#section-05 .f-container .c-heading-2.c-heading-2--ribbon:nth-of-type(1),
  .p-sustainability section + section#section-06 .f-container .c-heading-2.c-heading-2--ribbon:nth-of-type(1),
  .p-sustainability section + section#section-07 .f-container .c-heading-2.c-heading-2--ribbon:nth-of-type(1),
  /*.p-sustainability section + section#section-climateChangeActions .f-container .c-heading-2.c-heading-2--ribbon:nth-of-type(1),*/
  #section-greenProcurement {
    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:has(#section-01) {
    padding-bottom: 100px;
  }
  #section-01 {
    padding-top: 500px;
    margin-top: -500px;
  }
  #section-02,
  #section-03,
  #section-04,
  #section-05,
  #section-06,
  #section-07  {
    padding-top: 580px;
    margin-top: -580px;
  }

  .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,
  .l-root-container:has(.p-zeroshock-localnavi-section.is-fixed) #section-05,
  .l-root-container:has(.p-zeroshock-localnavi-section.is-fixed) #section-06,
  .l-root-container:has(.p-zeroshock-localnavi-section.is-fixed) #section-07,
  /*.p-sustainability section + section#section-climateChangeActions .f-container .c-heading-2.c-heading-2--ribbon:nth-of-type(1),*/
  #section-greenProcurement  {
    padding-top: 340px;
    margin-top: -340px;
  }
  .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-4sub {
    top: -480px;
  }
}

@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: 200px;
    margin-top: -200px;
  }
  #section-02,
  #section-03,
  #section-04,
  #section-05,
  #section-06,
  #section-07  {
    padding-top: 300px;
    margin-top: -300px;
  }


  .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,
  .l-root-container:has(.p-zeroshock-localnavi-section.is-fixed) #section-05,
  .l-root-container:has(.p-zeroshock-localnavi-section.is-fixed) #section-06,
  .l-root-container:has(.p-zeroshock-localnavi-section.is-fixed) #section-07,
  /*.p-sustainability section + section#section-climateChangeActions .f-container .c-heading-2.c-heading-2--ribbon:nth-of-type(1),*/
  #section-greenProcurement  {
    padding-top: 200px;
    margin-top: -200px;
  }
  .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-4sub {
    top: -210px;
  }
}

@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: 280px;
    margin-top: -280px;
  }
  #section-02,
  #section-03,
  #section-04,
  #section-05,
  #section-06,
  #section-07  {
    padding-top: 360px;
    margin-top: -360px;
    padding-top: 320px;
    margin-top: -320px;
  }

  .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,
  .l-root-container:has(.p-zeroshock-localnavi-section.is-fixed) #section-05,
  .l-root-container:has(.p-zeroshock-localnavi-section.is-fixed) #section-06,
  .l-root-container:has(.p-zeroshock-localnavi-section.is-fixed) #section-07,
  /*.p-sustainability section + section#section-climateChangeActions .f-container .c-heading-2.c-heading-2--ribbon:nth-of-type(1),*/
  #section-greenProcurement {
    padding-top: 240px;
    margin-top: -240px;
    padding-top: 210px;
    margin-top: -210px;
  }
  .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-4sub {
    top: -230px;
  }
}

@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: 300px;
    margin-top: -300px;
  }
  #section-02,
  #section-03,
  #section-04,
  #section-05,
  #section-06,
  #section-07  {
    padding-top: 360px;
    margin-top: -360px;
    padding-top: 320px;
    margin-top: -320px;
  }

  .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,
  .l-root-container:has(.p-zeroshock-localnavi-section.is-fixed) #section-05,
  .l-root-container:has(.p-zeroshock-localnavi-section.is-fixed) #section-06,
  .l-root-container:has(.p-zeroshock-localnavi-section.is-fixed) #section-07,
  /*.p-sustainability section + section#section-climateChangeActions .f-container .c-heading-2.c-heading-2--ribbon:nth-of-type(1),*/
  #section-greenProcurement  {
    padding-top: 200px;
    margin-top: -200px;
  }

  /* ターゲットアンカー */
  #section-4sub {
    top: -220px;
  }
}

/* ------------------------------------------------------------
  sloc-project
------------------------------------------------------------ */
  .flex.type02.sloc-project {
      margin-bottom: 24px;
  }
  @media print, screen and (min-width: 1025px) {
    .flex.type02.sloc-project {
      margin-bottom: 48px;
    }
    .flex.type02.sloc-project .flex-text {
      width: 65%;
    }
  }


  /* ------------------------------------------------------------
  印刷 調整
------------------------------------------------------------ */
@media print {
  @page {
    height: 100%;
    margin-bottom: 0;
    padding-bottom: 0;
  }
  .c-heading-2__subtitle{
    margin-top: 60px;
  }
  .print-top,
  .c-heading-2__subtitl,
  .p-sustainability #section-01 .f-container .c-heading-2.c-heading-2--ribbon:nth-of-type(1) {
    margin-top: 0;
  }
  .p-ir-pagelist{
    margin-top: 20px;
  }
  #section-01{
    padding-bottom: 0;
  }
  .p-sustainability__message__text{
    margin-top: 0;
    padding-bottom: 0;
  }

  .intro.p-sustainability__message__text,
  section:has(#section-01) {
    padding-bottom: 0;
  }
  section:has(#section-01) {
    padding-bottom: 0;
  }
  #section-01 ,
  #section-02,
  #section-03,
  #section-04,
  #section-05,
  #section-06,
  #section-07,
  .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,
  .l-root-container:has(.p-zeroshock-localnavi-section.is-fixed) #section-05,
  .l-root-container:has(.p-zeroshock-localnavi-section.is-fixed) #section-06,
  .l-root-container:has(.p-zeroshock-localnavi-section.is-fixed) #section-07,
  /*.p-sustainability section + section#section-climateChangeActions .f-container .c-heading-2.c-heading-2--ribbon:nth-of-type(1),*/
  #section-greenProcurement  {
    padding-top: 0;
    margin-top: 0;
  }
  .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: 0;
  }
  .p-sustainability {
    margin-bottom: 0;
  }
  .p-btm{
    padding-bottom: 0;
  }
}