/* ESG 2025 */
.esgHeading {
  max-width: 1030px;
  margin-left: auto;
  margin-right: auto;
}
.esgHeading * {
  box-sizing: border-box;
}
.esgHeading .mv {
  position: relative;
  max-width: 990px;
  margin-left: auto;
  margin-right: auto;
}
.esgHeading .mv .en,
.esgHeading .mv .ja,
.esgHeading .mv .indexCopy,
.esgHeading .mv .title {
  position: absolute;
}
.esgHeading .mv .en {
  color: #fff;
  font-size: 64px;
  font-weight: 700;
  padding: .25em .35em;
  line-height: 1;
}
.esgHeading .mv .en._topleft {
  left: 0;
  top: 0;
}
.esgHeading .mv .en._btmright {
  right: 0;
  bottom: 0;
  padding-bottom: .5em;
  padding-right: .5em;
  text-shadow: 0 4px 4px rgba(0,0,0,0.251);
}
.esgHeading .mv .ja {
  left: 0;
  top: 0;
  margin-top: 3%;
  padding: .3em 1em;
  font-weight: 700;
  font-size: 32px;
  color: #1e2973;
  background: linear-gradient(270deg, rgba(255, 255, 255, 0.6) 0%, #fff 100%);
  line-height: 1.2;
}
.esgHeading .mv .indexCopy {
  right: 0;
  bottom: 0;
  padding: .75em 1em;
  color: #fff;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
  text-align: right;
}
.esgHeading .breadcrumbs {
  margin: 15px auto 0;
}
.esgHeading .mv + .breadcrumbs {
  max-width: 1030px;
}
.breadcrumbs .cr {
  display: inline-block;
}
/** smartphone **/
@media screen and (max-width: 800px) {
  .esgHeading {
    display: flex;
    flex-direction: column-reverse;
  }
  .esgHeading .mv .en {
    font-size: 10vw;
    font-size: min(10vw, 64px);
  }
  .esgHeading .mv .ja {
    margin-top: 4%;
    font-size: 5.33vw;
    font-size: min(5.33vw, 20px);
  }
  .esgHeading .mv .indexCopy {
    font-size: 4.26vw;
    font-size: min(4.26vw, 24px);
  }
  .esgHeading .mv .ph {
    aspect-ratio: 2 / 1;
  }
  .esgHeading .mv .ph img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .esgHeading .breadcrumbs {
    width: 100%;
    margin: 40px 0 0;
  }
  .esgHeading .mv + .breadcrumbs {
    margin: 40px 0 15px;
  }
}

.esgNav .ico-pdf {
  display: inline-block;
  width: 1em;
  height: 1.2em;
  background: url("../img/esg2025/ico_pdf.svg") no-repeat center center;
  background-size: auto 100%;
  margin: 0 0 .1em .4em;
  vertical-align: middle;
}
/** pc & tablet **/
@media print,screen and (min-width: 801px) {
  .esgNav .sNav ul {
    padding: 40px 0;
  }
  .esgNav .sNav ul li a {
    font-size: 13px;
  }
}
/** smartphone **/
@media screen and (max-width: 800px) {
  .esgNav .sNav ul {
    padding: 20px 0;
  }
}

.esgContents {
  padding-bottom: 80px;
  color: #484848;
  font-size: 15px;
}
.esgContents.noPD {
  padding-bottom: 0;
}
.esgContents * {
  box-sizing: border-box;
}
.esgContents img {
  vertical-align: bottom;
}
.esgContents img[src*=".svg"] {
  width: 100%;
}
.esgContents sup {
  display: inline-block;
  font-size: 60%;
  vertical-align: super;
}
.esgContents sub {
  display: inline-block;
  font-size: 65%;
  vertical-align: baseline;
}
.esgContents .mb1 {
  margin-bottom: 1em;
}
.esgMax {
  width: 92%;
  max-width: 960px;
  margin: 0 auto;
  padding-bottom: 80px;
}
.innerMax {
  width: 92%;
  max-width: 960px;
  margin: 0 auto;
}
button.moreBtn {
  padding: 0;
  border: none;
  outline: none;
  font: inherit;
  color: inherit;
  background: none;
  cursor: pointer;
}
.moreBtn,
button.moreBtn {
  display: inline-block;
  padding: .5em .8em;
  min-width: 12.5em;
  color: #fff;
  line-height: 1.2;
  font-size: 15px;
  font-weight: 700;
  background: linear-gradient(90deg, #1d51ff 0%, #1d2087 100%);
  border-radius: 5em;
  text-align: center;
  text-decoration: none;
}
.moreBtn.wide,
button.moreBtn.wide {
  min-width: 15.7em;
}
.moreBtn.dblock,
button.moreBtn.dblock {
  display: block;
}
.txtBlue {
  color: #1d2087;
}
.topTtl {
  padding-bottom: .8em;
  font-size: 40px;
  font-weight: 1000;
}
.bgGray {
  background-color: #e9e9e9;
}

.js-scrtarget {
  transition: opacity .4s linear, transform .6s ease;
}
.js-scrtarget.is-hidden {
  opacity: 0;
  transform: translateY(2rem);
}
/** pc & tablet **/
@media print,screen and (min-width: 801px) {
  .onlySP {
    display: none;
  }
  .pageBack {
    padding: 40px 0 70px;
  }
}
/** smartphone **/
@media screen and (max-width: 800px) {
  .onlyPC {
    display: none;
  }
  .esgContents {
    padding-bottom: 12%;
  }
  .esgContents,
  .moreBtn,
  button.moreBtn {
    font-size: 14px;
    font-size: min(3.59vw, 14px);
  }
  .esgMax {
    padding-bottom: 12%;
  }
  .topTtl {
    font-size: min(5.86vw, 40px);
  }
  .pageBack {
    padding: 6% 0 12%;
  }
}
@media(hover:hover) {
  a:hover .moreBtn,
  a.moreBtn:hover,
  button.moreBtn:hover {
    color: #fff;
    text-decoration: underline;
  }
}

/* index, news list */
.indexNewsTtl {
  margin: 0 auto;
  width: 26%;
  max-width: 125px;
  margin-bottom: 5px;
}
.indexNewsList {
  display: flex;
  flex-wrap: wrap;
  text-align: left;
}
.indexNewsList .item,
.indexNewsList .item .news {
  display: flex;
}
.indexNewsList .item .news {
  border-radius: 10px;
  text-decoration: none;
  color: #484848;
  background-color: #e8e8e8;
  border: 1px solid #e8e8e8;
  flex-direction: column;
  transition: background-color .3s ease;
}
.indexNewsList .item .thumb {
  overflow: hidden;
  border-radius: 10px 10px 0 0;
  background-color: #ffffff;
}
.indexNewsList .item .thumb img {
  display: block;
  width: 100%;
  max-width: none;
  border-radius: 10px 10px 0 0;
  transition: transform .3s ease;
  aspect-ratio: 40 / 21;
  object-fit: contain;
}
.indexNewsList .info {
  font-size: 93.3%;
  padding: 1em 1em 2em;
  line-height: 1.75;
}
.indexNewsList .date {
  padding: 0 0 0 .5em;
}
.indexNewsList .item .cat {
  display: none;
}
.indexNewsList .text {
  font-weight: 700;
}
#newsLimit.indexNewsList {
  display: inline-block;
  margin-top: 20px;
}
#newsLimit.indexNewsList .item,
#newsLimit.indexNewsList .item .news {
  display: table;
}
#newsLimit.indexNewsList .item {
  width: 100%;
}
#newsLimit.indexNewsList .item .news {
  background: none;
  border: none;
}
/* PDF page start */
#newsLimit.indexNewsList .item .news[href$="_pdffile/"] .text::after {
  content: "";
  display: inline-block;
  min-height: 1.3em;
  padding-left: 1rem;
  margin-left: .5rem;
  background: url("../img/ir/icon_pdf.png")no-repeat left center;
  vertical-align: middle;
}
/* PDF page end */
#newsLimit.indexNewsList .item .thumb {
  display: none;
}
#newsLimit.indexNewsList .info {
  padding: 0;
}
#newsLimit.indexNewsList .item p {
  display: table-cell;
  padding: 4px 10px;
}
#newsLimit.indexNewsList .item .cat {
  font-size: 14px;
  padding: 0 10px;
  text-align: center;
  vertical-align: middle;
}
#newsLimit.indexNewsList .item .cat span {
  display: inline-block;
  background: #999;
  color: #fff;
  width: 6.5em;
}
#newsLimit.indexNewsList .item .date {
  font-size: 12px;
  vertical-align: middle;
  color: #999;
}
#newsLimit.indexNewsList .item .text {
  font-size: 14px;
  line-height: 1.6;
  font-weight: normal;
}
/** pc & tablet **/
@media print,screen and (min-width: 801px) {
  .indexNewsList {
    margin: 0 0 0 -15px;
  }
  .indexNewsList .item {
    width: calc(33.33% - 15px);
    margin: 25px 0 0 15px;
  }
  .indexNewsList .item a:hover {
    background-color: #d9d9d9;
  }
  .indexNewsList .item a:hover .thumb img {
    transform: scale(1.1);
    opacity: 1;
  }
  .indexNewsList + .more {
    padding-top: 40px;
  }
  .indexNewsList + .moreBtn {
    margin-top: 40px;
  }
}
/** smartphone **/
@media screen and (max-width: 800px) {
  .indexNewsList {
    margin: 0 0 0 -10px;
  }
  .indexNewsList .item {
    width: calc(50% - 10px);
    margin: 15px 0 0 10px;
  }
  .indexNewsList + .more {
    padding-top: 8%;
  }
  .indexNewsList + .moreBtn {
    margin-top: 8%;
  }
  #newsLimit.indexNewsList .item .date,
  #newsLimit.indexNewsList .item .cat {
    display: inline-block;
    padding: 0 20px 0 0;
  }
  #newsLimit.indexNewsList .item .cat {
    font-size: 12px;
  }
  #newsLimit.indexNewsList .item .cat span {
    text-align: center;
  }
  #newsLimit.indexNewsList .item .text {
    display: block;
    padding: 5px 0 10px;
    font-size: 12px;
  }
}

/* index */
.indexSec {
  width: 92%;
  max-width: 670px;
  margin: 0 auto 70px;
  text-align: left;
  color: #666;
}
.indexSecTtl {
  color: #666;
  font-size: 24px;
  font-size: min(5.33vw, 24px);
  font-weight: 900;
  margin-bottom: 1em;
  text-align: center;
}
.indexSec._msg .indexSecTtl {
  letter-spacing: 0.15em;
}
.indexSec .msg {
  line-height: 1.75;
}
.indexSec .msg p + p {
  margin-top: 1.5em;
}
.indexSec .lead {
  line-height: 1.4;
}
.indexSec._topMsg .more {
  margin-top: 2em;
}
.indexOtherLinks,
.indexOtherLargeLinks {
  display: flex;
  justify-content: center;
}
.indexOtherLinks .linkBtn,
.indexOtherLargeLinks .linkBtn {
  display: flex;
  color: #666;
  font-weight: 900;
  border: 2px solid #999;
  background-color: #fff;
  text-decoration: none;
  transition: background-color .3s ease-in-out;
}
.indexOtherLinks .linkBtn {
  width: calc(50% - 2em);
  max-width: 350px;
  margin: 0 1em;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-size: min(3.2vw, 16px);
  height: 4.6875em;
}
.indexOtherLinks .linkBtn > span {
  display: block;
  min-width: 6em;
  margin-right: 1em;
}
.indexOtherLinks .linkBtn .ico,
.indexOtherLargeLinks .linkBtn .ico {
  display: block;
  position: relative;
  width: 4.26vw;
  height: 4.26vw;
  max-width: 24px;
  max-height: 24px;
  border: 1px solid #666;
  border-radius: 50%;
  box-sizing: border-box;
  transition: transform .3s ease-in-out;
}
.indexOtherLinks .linkBtn .ico::before,
.indexOtherLargeLinks .linkBtn .ico::before {
  content: "";
  display: block;
  position: absolute;
  width: 40%;
  height: 40%;
  left: 20%;
  top: 30%;
  box-sizing: border-box;
  border-top: 1px solid #666;
  border-right: 1px solid #666;
  transform: rotate(45deg);
}
.indexEsgLinks {
  padding: 60px 4%;
  background-color: #eee;
}
.indexEsgLinks sub {
  display: inline-block;
  font-size: 65%;
  vertical-align: baseline;
}
.indexEsgLinks .list {
  max-width: 980px;
  margin: 0 auto;
  text-align: left;
  display: flex;
  flex-wrap: wrap;
}
.indexEsgLinks .list > .item {
  box-sizing: border-box;
}
.indexEsgLinks .list a {
  text-decoration: none;
}
.indexEsgLinks .thumb {
  margin-bottom: 10px;
  border: 1px solid #666;
  overflow: hidden;
}
.indexEsgLinks .thumb img {
  display: block;
  transition: transform .3s linear;
}
.indexEsgLinks .listTtl {
  margin-bottom: 1em;
  font-weight: 700;
  font-size: 16px;
  font-size: min(3.73vw, 16px);
  color: #262d71;
}
.indexEsgLinks .contents {
  line-height: 1.3;
  color: #666;
}
.indexEsgLinks .contents sub {
  display: inline;
}
.indexEsgLinks .contents > li {
  padding-left: 1em;
  text-indent: -1em;
}
.indexEsgLinks .contents > li + li {
  margin-top: .3em;
}
.indexOtherLargeLinks {
  padding: 80px 4%;
}
.indexOtherLargeLinks .linkBtn {
  width: calc(50% - 2em);
  max-width: 400px;
  margin: 0 1em;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  padding: 20px;
}
.indexOtherLargeLinks .main {
  font-size: 24px;
  font-size: min(4.26vw, 24px);
}
.indexOtherLargeLinks .sub {
  font-size: 14px;
  font-size: min(2.93vw, 14px);
  margin: 1.25em 0 .75em;
  line-height: 1.2;
}
.indexOtherLargeLinks .sub {
  font-weight: 400;
}
.indexOtherLargeLinks .ico {
  margin: auto 0 0 auto;
}
/** pc & tablet **/
@media print,screen and (min-width: 801px) {
  .indexSec._topMsg {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .indexSec._topMsg::before {
    content: "";
    display: block;
    width: 33%;
    padding-top: 27.5%;
  }
  .indexSec._topMsg .inner {
    width: 58%;
  }
  .indexSec._topMsg .ph {
    position: absolute;
    left: 0;
    top: 0;
    width: 33%;
  }
  .indexSec._topMsg .indexSecTtl {
    text-align: left;
  }
  .indexEsgLinks .list {
    display: flex;
    padding-top: 10px;
  }
  .indexEsgLinks .list > .item {
    width: 33.33%;
    padding: 0 1.5625%;
  }
  .indexEsgLinks .list > .item + .item {
    border-left: 1px solid #cbcbcb;
  }
}
/** smartphone **/
@media screen and (max-width: 800px) {
  .indexSec {
    margin-bottom: 12%;
  }
  .indexSec._topMsg {
    text-align: center;
  }
  .indexSec._topMsg .ph {
    width: 80%;
    margin: 0 auto 4%;
  }
  .indexSec._topMsg .more {
    margin-top: 1.5rem;
  }
  .indexOtherLinks {
    width: calc(92% + 10px);
    margin: 0 auto;
  }
  .indexOtherLinks .linkBtn {
    width: 100%;
  }
  .indexEsgLinks {
    margin-top: 4%;
    padding: 8% 4%;
  }
  .indexEsgLinks .list {
    margin-left: -10px;
    margin-right: -10px;
  }
  .indexEsgLinks .list > .item {
    position: relative;
    width: calc(50% - 20px);
    margin: 0 10px;
  }
  .indexEsgLinks .list > .item:nth-of-type(n+3) {
    margin-top: 8%;
  }
  .indexEsgLinks .list > .item:nth-of-type(even)::before {
    content: "";
    display: block;
    position: absolute;
    left: -10px;
    top: 0;
    width: 1px;
    height: 100%;
    background-color: #cbcbcb;
  }
  .indexEsgLinks .contents {
    font-size: 90%;
  }
  .indexOtherLinks .linkBtn,
  .indexOtherLargeLinks .linkBtn {
    width: calc(50% - 10px);
    margin: 0 5px;
  }
  .indexOtherLargeLinks {
    padding: 8% 4% 12%;
    margin-left: -5px;
    margin-right: -5px;
  }
  .indexOtherLargeLinks .linkBtn {
    padding: 12px;
  }
  .indexOtherLargeLinks .sub {
    margin: 1em 0;
  }
}
@media (hover:hover) {
  .indexOtherLinks a.linkBtn:hover,
  .indexOtherLargeLinks a.linkBtn:hover {
    background-color: #f2f2f2;
  }
  .indexOtherLinks a.linkBtn:hover .ico,
  .indexOtherLargeLinks a.linkBtn:hover .ico {
    transform: translateX(5px);
  }
  .indexEsgLinks a:hover .thumb img {
    transform: scale(1.08);
    opacity: 1;
  }
  .indexEsgLinks a:hover .listTtl {
    text-decoration: underline;
  }
}

/* 2nd level */
.esg2ndLvLead {
  width: 92%;
  margin: 0 auto;
  padding-bottom: 20px;
  line-height: 1.85;
  color: #484848;
}
.esg2ndLvSec {
  width: 92%;
  max-width: 960px;
  text-align: left;
  padding-bottom: 20px;
  margin: 60px auto 0;
}
.esg2ndLvSec._mgnTopS {
  margin-top: 20px;
}
.esg2ndLvSec._narrow {
  max-width: 700px;
}
.esg2ndLvTtl {
  padding-bottom: .5em;
  margin-bottom: .75em;
  color: #1d2087;
  font-weight: 900;
  font-size: 28px;
  font-size: min(4.8vw,28px);
  line-height: 1.3;
  border-bottom: 3px solid currentColor;
}
.esg2ndLvTtl._noBdr {
  border-bottom: none;
  padding-bottom: 0;
}
.esg2ndLvSec._mgnTopS .esg2ndLvTtl._noBdr {
  text-align: center;
}
.esg2ndLvBody,
.esg2ndLvNote {
  line-height: 1.75;
}
.esg2ndLvRelatedLinks {
  display: flex;
  flex-wrap: wrap;
  gap: .75em 1em;
  margin-top: 1.75em;
  line-height: 1.4;
}
.esg2ndLvRelatedLinks > li {
  min-width: calc(50% - 0.5em);
}
.esg2ndLvRelatedLinks._narrow {
  max-width: 40em;
}
.esg2ndLvNote {
  margin-top: 1.75em;
}
.esg2ndLvNote._small {
  font-size: 85%;
}
.esg2ndLvSec .more {
  margin-top: 1.75em;
  text-align: center;
}
/** smartphone **/
@media screen and (max-width: 800px) {
  .esg2ndLvLead {
    padding-bottom: 4%;
  }
  .esg2ndLvSec {
    margin-top: 8%;
    padding-bottom: 4%;
  }
  .esg2ndLvSec._mgnTopS {
    margin-top: 3%;
  }
  .esg2ndLvRelatedLinks,
  .esg2ndLvNote {
    font-size: 85%;
  }
}

/* governance */
.esg2ndLvSec .xj-list_gove {
  margin-top: 1rem;
  line-height: 1.6;
}
.esg2ndLvSec .xj-list_gove li.no-date {
  display: none;
}
.esg2ndLvSec .xj-list_gove li + li {
  margin-top: 1em;
}
.esg2ndLvSec .xj-list_gove a {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5em;
}
.esg2ndLvSec .xj-list_gove .icon_pdf {
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
}
.esg2ndLvSec .xj-list_gove .icon_pdf::before {
  content: "";
  display: block;
  width: 1em;
  height: 1.25em;
  background: url("../img/esg2025/ico_pdf.svg") no-repeat center center;
  background-size: contain;
}

/* environment */
.environmentRow .logo .logoImg {
  display: block;
  max-width: 240px;
  margin: 0 auto;
}
/** pc & tablet **/
@media print,screen and (min-width: 801px) {
  .environmentRow {
    display: flex;
    justify-content: space-between;
  }
  .environmentRow .text {
    width: 60%;
  }
  .environmentRow .logo {
    width: 36%;
  }
  .environmentRow .logo .logoImg {
    margin-right: 0;
  }
}
/** smartphone **/
@media screen and (max-width: 800px) {
  .environmentRow .logo {
    width: 70%;
    margin: 6% auto 0;
  }
}

/* message */
.topMessage .msg {
  line-height: 1.75;
}
.topMessage .msg p + p {
  margin-top: 1.375em;
}
.topMessage .msg .sign {
  margin-top: 2em;
  text-align: right;
}
.topMessage .msg .sign > span {
  display: block;
}
.topMessage .msg .sign .main {
  font-size: 157%;
  letter-spacing: 0.5em;
  margin-right: -0.5em;
}
/** pc & tablet **/
@media print,screen and (min-width: 801px) {
  .topMessage {
    display: flex;
    justify-content: space-between;
  }
  .topMessage .ph {
    width: 48%;
  }
  .topMessage .msg {
    width: 50%;
    font-size: 14px;
  }
}
/** smartphone **/
@media screen and (max-width: 800px) {
  .topMessage .msg {
    margin-top: 1em;
  }
  .topMessage .msg .sign .main {
    font-size: 140%;
  }
}

/* SDGs */
.figSDGs {
  display: block;
  margin-top: 2rem;
}

/* materiality */
.materialityWrapper {
  overflow: hidden;
  margin: 40px auto 0;
  padding: 0 4% 20px;
}
/** smartphone **/
@media screen and (max-width: 800px) {
  .materialityWrapper {
    margin-top: 8%;
    padding-bottom: 4%;
  }
}
.materialityWrapper .esg2ndLvTtl {
  max-width: 700px;
  margin: 0 auto 0.25em;
  text-align: left;
}
#ffjImportant {
  max-width: 700px;
  margin: 0 auto;
}
#ffjImportant img {
  display: block;
  margin: 0 auto;
}
#ffjImportant .materialityBlock {
  padding-top: 2.7%;
}
.materialityBlock .materiality {
  position: relative;
}
.materialityBlock .materiality.is-hidden {
  transform: translateY(0);
}
.materialityBlock .materiality .bg01,
.materialityBlock .materiality .bg02,
.materialityBlock .materiality .link03,
.materialityBlock .materiality .link11,
.materialityBlock .materiality .place,
.materialityBlock .materiality .title03,
.materialityBlock .materiality .title11 {
  position: absolute;
} 
.materialityBlock .materiality.is-hidden .link03,
.materialityBlock .materiality.is-hidden .link11,
.materialityBlock .materiality.is-hidden .place,
.materialityBlock .materiality.is-hidden .title03,
.materialityBlock .materiality.is-hidden .title11 {
  opacity: 0;
}
.materialityBlock .materiality .bg {
  position: relative;
  padding-bottom: 45.9375%;
}
.materialityBlock .materiality .bg .bg01,
.materialityBlock .materiality .bg .bg02 {
  left: 0;
  top: 0;
  width: 100%;
  transition: top 1s ease;
}
.materialityBlock .materiality.is-hidden .bg01 {
  top: -10%;
}
.materialityBlock .materiality.is-hidden .bg02 {
  top: 10%;
}
.materialityBlock .materiality .place {
  width: 76.458%;
  top: 35.4875%;
  left: 11.77%;
  opacity: 1;
  transform: scale(1);
  transition: opacity .4s 2.7s ease, transform .4s 2.7s cubic-bezier(1,.65,.8,1.6);
}
.materialityBlock .materiality.is-hidden .place {
  opacity: 0;
  transform: scale(2);
  transition: opacity 0s 0s linear, transform 0s 0s linear;
}
.materialityBlock .materiality .title03,
.materialityBlock .materiality .title11 {
  width: 100%;
  left: 0;
  opacity: 1;
}
.materialityBlock .materiality .title03 {
  top: 0;
  transition: opacity .7s 1.2s ease, top .7s 1.2s ease;
}
.materialityBlock .materiality .title11 {
  bottom: 0;
  transition: opacity .7s 1.2s ease, bottom .7s 1.2s ease;
}
.materialityBlock .materiality.is-hidden .title03 {
  top: -10%;
  transition: opacity 0s 0s linear, top 0s 0s linear;
}
.materialityBlock .materiality.is-hidden .title11 {
  bottom: -10%;
  transition: opacity 0s 0s linear, bottom 0s 0s linear;
}
.materialityBlock .materiality .link03,
.materialityBlock .materiality .link11 {
  position: absolute;
  width: 84.375%;
  left: 7.8125%;
  display: flex;
  justify-content: center;
}
.materialityBlock .materiality .link03 {
  top: 0;
  margin-top: 9.16%;
}
.materialityBlock .materiality .link11 {
  bottom: 0;
  margin-bottom: 9.16%;
}
.materialityBlock .materiality .materialityBtn {
  width: 30.9%;
  margin: 0 1.2%;
  opacity: 1;
}
.materialityBlock .materiality .materialityBtn a {
  position: relative;
  display: block;
  border-radius: 10em;
  overflow: hidden;
  box-shadow : 5px 5px 3px rgba(0, 0, 0, 0.6);
}
.materialityBlock .materiality .materialityBtn a::before {
  content: "";
  display: block;
  position: absolute;
  right: 5.95%;
  top: 0;
  width: 9.12%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% auto;
  z-index: 5;
}
.materialityBlock .materiality .materialityBtn:nth-of-type(1) {
  transition: opacity .5s 1.8s ease, transform .5s 1.8s ease;
}
.materialityBlock .materiality .materialityBtn:nth-of-type(2) {
  transition: opacity .5s 2.0s ease, transform .5s 2.0s ease;
}
.materialityBlock .materiality .materialityBtn:nth-of-type(3) {
  transition: opacity .5s 2.2s ease, transform .5s 2.2s ease;
}
.materialityBlock .materiality.is-hidden .link03 .materialityBtn {
  transform: translateX(3rem);
}
.materialityBlock .materiality.is-hidden .link11 .materialityBtn {
  transform: translateX(-3rem);
}
.materialityBlock .materiality.is-hidden .materialityBtn {
  opacity: 0;
  transition: opacity 0s 0s linear, transform 0s 0s linear;
}

.materialityBlock .materiality .materialityBtn:nth-of-type(1) a::before {
  transition: opacity .3s 3.2s ease, transform .3s 3.2s ease;
}
.materialityBlock .materiality .materialityBtn:nth-of-type(2) a::before {
  transition: opacity .3s 3.4s ease, transform .3s 3.4s ease;
}
.materialityBlock .materiality .materialityBtn:nth-of-type(3) a::before {
  transition: opacity .3s 3.6s ease, transform .3s 3.6s ease;
}
.materialityBlock .materiality.is-hidden .materialityBtn a::before {
  opacity: 0;
  transition: opacity 0s 0s linear, transform 0s 0s linear;
  transform: scale(0.2) translateX(-3rem);
}

.materialityBlock .materiality .link03 a::before {
  background-image: url("../img/esg2025/materiality/arrow_green.png");
}
.materialityBlock .materiality .link11 a::before {
  background-image: url("../img/esg2025/materiality/arrow_orange.png");
}
.materialityBlock .materiality .materialityBtn a img {
  display: block;
  border-radius: 10em;
}
.materialityBlock .materialityBtm {
  padding-top: 1.35%;
}

/* policy */
.esgPolicyMore {
  padding-top: 2em;
  max-width: 628px;
  margin: 0 auto;
}
.esgPolicyMore .moreBtn {
  display: block;
}
.esgPolicyMore .ico-pdf {
  display: inline-block;
  width: 1.2em;
  height: 1.4em;
  background: url("../img/esg2025/ico_pdf.svg") no-repeat center center;
  background-size: auto 100%;
  margin: -0.2em .5em 0 0;
  vertical-align: middle;
}
.esgPolicyRow .logo .logoImg {
  display: block;
  max-width: 220px;
  margin: 0 auto;
}
/** pc & tablet **/
@media print,screen and (min-width: 801px) {
  .esgPolicyRow {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
  }
  .esgPolicyRow .text {
    width: 77%;
  }
  .esgPolicyRow .logo {
    width: 20%;
  }
  .esgPolicyRow .logo .logoImg {
    margin-right: 0;
  }
}
/** smartphone **/
@media screen and (max-width: 800px) {
  .esgPolicyRow .logo {
    width: 60%;
    margin: 0 auto 4%;
  }
}

/* policy sub */
.esgPolicySubSec {
  width: 92%;
  max-width: 960px;
  margin: 20px auto 0;
  padding-bottom: 80px;
}
.esgPolicySubSec .esgPolicyMore {
  padding-top: 3.75em;
}
.esgPolicySubTtlL {
  padding-bottom: .5em;
  margin-bottom: 1em;
  color: #1d2087;
  font-weight: 900;
  font-size: 28px;
  font-size: min(4.8vw,28px);
  line-height: 1.3;
  border-bottom: 3px solid currentColor;
  text-align: left;
}
.esgPolicySubTtlL._center {
  text-align: center;
}
.esgPolicySubBlock {
  text-align: left;
  line-height: 1.75;
}
.esgPolicySubBlock + .esgPolicySubBlock {
  margin-top: 50px;
}
.esgPolicySubTtlM {
  margin-bottom: .75em;
  font-weight: 700;
  font-size: 20px;
  font-size: min(4.26vw, 20px);
}
.esgPolicyblueTtl {
  padding: .5em 1em;
  text-align: center;
  color: #fff;
  font-weight: 900;
  font-size: 28px;
  font-size: min(4.8vw,28px);
  background-color: #1d2087;
  line-height: 1.3;
}
.esgPolicyBoad {
  padding: 3% 4%;
  text-align: left;
  font-weight: 700;
  line-height: 1.75;
  margin-bottom: 50px;
}
.esgPolicyBoad .inner {
  max-width: 850px;
  margin: 0 auto;
}
.esgPolicyBoad .date {
  margin-top: 1.25em;
  text-align: right;
}
.esgPolicyDotList > li {
  padding-left: 1em;
  text-indent: -1em;
}
/** smartphone **/
@media screen and (max-width: 800px) {
  .esgPolicySubSec {
    margin-top: 4%;
    padding-bottom: 12%;
  }
  .esgPolicySubBlock + .esgPolicySubBlock {
    margin-top: 6%;
  }
  .esgPolicyBoad {
    padding-bottom: 8%;
  }
}

.esgPolicyPhilosophy,
.esgPolicyPurpose {
  padding: 1.25em 0;
  font-weight: 700;
  font-size: 20px;
  font-size: min(4.53vw, 20px);
  text-align: center;
  line-height: 1.3;
  color: #1d2087;
  margin-bottom: .5em;
}
.esgPolicyPhilosophy {
  font-style: italic;
}
.esgPolicyStakeholder {
  padding: 24px;
  margin-top: 10px;
}
.esgPolicyStakeholderList {
  max-width: 824px;
  margin: 0 auto;
}
.esgPolicyStakeholderList > li + li {
  margin-top: 1em;
}
.esgPolicyStakeholderTtl {
  margin-bottom: .25em;
  font-weight: 700;
  font-size: 133%;
  color: #1d2087;
}
.esgPolicyStakeholderList p {
  text-align: justify;
}
/** smartphone **/
@media screen and (max-width: 800px) {
  .esgPolicyStakeholder {
    padding: 3%;
  }
}

.esgPolicyHealthOrg {
  display: block;
  max-width: 803px;
  margin: 0 auto;
}
.esgPolicyHealthOrg img {
  display: block;
  width: 100%;
}

.esgPolicyGuidelineBlock {
  padding: 24px;
  margin-top: 40px;
  background-color: #e1ebfe;
}
.esgPolicyGuidelineBlock .ttl {
  color: #1d2087;
  font-weight: 900;
  font-size: 28px;
  font-size: min(4.8vw,28px);
  text-align: center;
}
.esgPolicyGuidelineBlock .ttl > span {
  display: inline-block;
  padding: .125em 0;
  width: 9em;
  background-color: #fff;
  border-radius: 100vh;
}
.esgPolicyGuidelineBlock .text {
  max-width: 850px;
  margin: 24px auto 0;
  font-weight: 700;
  line-height: 1.75;
}
/** smartphone **/
@media screen and (max-width: 800px) {
  .esgPolicyGuidelineBlock {
    margin-top: 6%;
    padding: 3% 4%;
  }
  .esgPolicyGuidelineBlock .text {
    margin-top: 4%;
  }
  .esgPolicyGuidelineBlock .text .note {
    font-size: 90%;
  }
}

.esgDataTable {
  width: 100%;
  line-height: 1.2;
  font-size: 13px;
}
.esgDataTable th,
.esgDataTable td {
  padding: .65em;
  border: 1px solid #b3b3b3;
  text-align: center;
  vertical-align: middle;
}
.esgDataTable thead th {
  font-weight: 700;
  color: #fff;
  background-color: #1d2087;
}
.esgDataTable .rowBlue td {
  background-color: #e1ebfe;
}
.esgDataTable .item {
  width: 46%;
}
.esgDataTable .unit,
.esgDataTable .year {
  width: 18%;
}
.eagDataBanner {
  width: 92%;
  max-width: 400px;
  margin: 3.5em auto 0;
  text-align: center;
}
.eagDataBanner a {
  position: relative;
  display: inline-flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: wrap;
  text-align: left;
  padding: 1.25em 1.5em;
  font-size: 16px;
  font-size: min(4vw, 16px);
  line-height: 1.25;
  border: 6px solid #1d2087;
  text-decoration: none;
  transition: background-color .3s ease-in-out;
}
.eagDataBanner .ttl {
  width: 100%;
  margin-bottom: 1.5em;
  font-weight: 900;
  font-size: 150%;
  color: #1d2087;
}
.eagDataBanner .desc {
  max-width: calc(100% - 1em);
  margin-right: -0.5em;
  font-weight: 700;
  letter-spacing: -0.04em;
  color: #666;
}
.eagDataBanner .thumb {
  position: absolute;
  right: 1em;
  top: .5em;
  width: 32.7%;
}
.eagDataBanner .icon_right {
  display: block;
  position: relative;
  width: 1.25em;
  height: 1.25em;
  border: 2px solid #1d2087;
  border-radius: 50%;
  transition: transform .3s ease-in-out;
}
.eagDataBanner .icon_right::before {
  content: "";
  display: block;
  position: absolute;
  width: 50%;
  height: 50%;
  left: 12.5%;
  top: 25%;
  box-sizing: border-box;
  border-top: 1px solid #666;
  border-right: 1px solid #666;
  transform: rotate(45deg);
}
/** smartphone **/
@media screen and (max-width: 800px) {
  .esgDataTable {
    font-size: 80%;
  }
  .esgDataTable .item {
    width: 52%;
  }
  .esgDataTable .unit,
  .esgDataTable .year {
    width: 16%;
  }
  .eagDataBanner {
    margin-top: 6%;
  }
  .eagDataBanner a {
    border: 4px solid #1d2087;
  }
}
@media (hover:hover) {
  .eagDataBanner a:hover {
    background-color: #e1ebfe;
  }
  .eagDataBanner a:hover .icon_right {
    transform: translateX(5px);
  }
}