@font-face {
  font-family: Noto Sans Japanese;
  font-weight: 100;
  src: url(../font/NotoSans_thin.woff2) format("woff2"),url(../font/NotoSans_thin.woff) format("woff");
}

@font-face {
  font-family: Noto Sans Japanese;
  font-weight: 300;
  src: url(../font/NotoSans_light.woff2) format("woff2"),url(../font/NotoSans_light.woff) format("woff");
}

@font-face {
  font-family: Noto Sans Japanese;
  font-weight: 400;
  src: url(../font/NotoSans_regular.woff2) format("woff2"),url(../font/NotoSans_regular.woff) format("woff");
}

@font-face {
  font-family: Noto Sans Japanese;
  font-weight: 500;
  src: url(../font/NotoSans_medium.woff2) format("woff2"),url(../font/NotoSans_medium.woff) format("woff");
}

@font-face {
  font-family: Noto Sans Japanese;
  font-weight: 700;
  src: url(../font/NotoSans_bold.woff2) format("woff2"),url(../font/NotoSans_bold.woff) format("woff");
}

@font-face {
  font-family: Rubik;
  font-weight: 400;
  src: url(../font/Rubik-Regular.ttf) format("truetype");
}

@font-face {
  font-family: Rubik;
  font-weight: 500;
  src: url(../font/Rubik-Medium.ttf) format("truetype");
}

@font-face {
  font-family: Rubik;
  font-weight: 700;
  src: url(../font/Rubik-Bold.ttf) format("truetype");
}

:root {
  --color--red: #e60000;
  --color--brown: #7a4d21;
  --color--white: #fff;
  --color--environment: #97bc3e;
  --color--environment--light: #e1e678;
  --color--products: #ff8d7e;
  --color--products--light: #ffe1d7;
  --color--ip: #57a4c5;
  --color--ip--light: #bee6e6;
  --color--workplace: #75cdb3;
  --color--workplace--light: #bee6be;
  --color--community: #f7c94f;
  --color--community--light: #ffe6aa;
  --color--333: #333;
  --color--666: #666;
  --color--bbb: #bbb;
  --color--ccc: #ccc;
  --color--eee: #eee;
}

:focus-visible {
  position: relative;
  outline: 3px solid var(--color--red) !important;
  outline-offset: 3px !important;
  z-index: 10000;
}

html {
  height: 100%;
  font-size: .625em;
}

html:lang(ja) .hide_if_ja {
  display: none;
}

html:lang(en) .hide_if_en {
  display: none;
}

.p-body {
  color: var(--color--333);
  font-family: Noto Sans Japanese;
  font-weight: 400;
  font-size: 1.6em;
  -webkit-font-smoothing: antialiased;
  position: relative;
  width: 100%;
}

.main-en em {
  font-style: italic;
}

a {
  background-color: transparent;
  color: var(--color--333);
  cursor: pointer;
  text-decoration: none;
  -webkit-text-decoration-skip: objects;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

button {
  cursor: pointer;
}

figcaption,
.c-figcaption {
  line-height: 1.4 !important;
}

form label {
  display: inline-block;
  margin: 8px 16px 8px 0;
  position: relative;
}

form input[type=checkbox] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  clip-path: polygon(0 0, 0 0, 0 0, 0 0);
  border: 0;
}

form input[type=checkbox] + span {
  display: inline-block;
  font-size: 1.5rem;
  min-height: 18px;
  padding-left: 24px;
  background: url(../img/checkbox.svg) no-repeat left top 4px/18px;
  line-height: 1.6;
}

form input[type=checkbox]:checked + span {
  background-image: url(../img/checkbox-checked.svg);
}

form input[type=radio] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  clip-path: polygon(0 0, 0 0, 0 0, 0 0);
  border: 0;
}

form input[type=radio] + span {
  display: inline-block;
  font-size: 1.5rem;
  min-height: 18px;
  padding-left: 24px;
  background: url(../img/radio.svg) no-repeat left top 4px/18px;
  line-height: 1.6;
}

form input[type=radio]:checked + span {
  background-image: url(../img/radio-checked.svg);
}

form input[type=text],
form input[type=tel],
form input[type=email],
form textarea {
  border: #aaa solid 1px;
  border-radius: 2px;
  line-height: 1.4;
  padding: .25em;
  width: 100%;
}

form input[type=text]:focus-visible,
form input[type=tel]:focus-visible,
form input[type=email]:focus-visible,
form textarea:focus-visible {
  outline: var(--color--red) solid 2px;
  z-index: 1;
}

form input[type=text].is-error,
form input[type=tel].is-error,
form input[type=email].is-error,
form textarea.is-error {
  background: rgba(230,0,0,.1);
  border: var(--color--red) solid 2px;
}

form textarea {
  size-adjust: none;
}

form dl {
  line-height: 1.4;
}

form dl dt {
  font-weight: 500;
  margin-bottom: 1em;
}

form dl dd {
  margin-top: 1em;
}

form .c-required {
  background-color: var(--color--red);
  border-radius: 2px;
  color: var(--color--white);
  font-size: 1.3rem;
  font-weight: 700;
  margin-left: .5em;
  padding: 0 .5em;
}

.c-errorMessage {
  color: var(--color--red);
  font-weight: 600;
}

.u-visually-hidden {
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  height: 1px !important;
  overflow: hidden !important;
  position: absolute !important;
  white-space: nowrap !important;
  width: 1px !important;
}

col.w-1em {
  width: 1em;
}

col.w-65 {
  width: 65px;
}

col.w-80 {
  width: 80px;
}

col.w-90 {
  width: 90px;
}

col.w-100 {
  width: 100px;
}

col.w-110 {
  width: 110px;
}

col.w-120 {
  width: 120px;
}

col.w-140 {
  width: 140px;
}

col.w-160 {
  width: 160px;
}

col.w-200 {
  width: 200px;
}

col.w-22em {
  width: 22em;
}

col.w-200-100 {
  width: 200px;
}

col.w-240 {
  width: 240px;
}

col.w-300 {
  width: 300px;
}

col.w-360 {
  width: 360px;
}

col.w-20per {
  width: 20%;
}

col.w-25per {
  width: 25%;
}

col.w-30per {
  width: 30%;
}

col.w-40per {
  width: 40%;
}


@media screen and (max-width: 1199px) {
  col.w-tbsp_thin{
    width: 2.5em !important;
  }
  col:not([class*="w-"]) {
    width: 200px;
  }
}

.c-contentsInner {
  width: 90%;
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
}

.c-contentsInner.narrow {
  max-width: 900px;
}

.c-buttonArea {
  margin-top: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.c-buttonArea.justify--end {
  justify-content: flex-end;
}

.c-button--more {
  border-radius: 100px;
  transition: .3s;
  background: var(--color--brown) url(../img/icon-arrowR.svg) no-repeat left 20px center/20px 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  min-width: 220px;
  padding: 20px;
  position: relative;
}

.c-button--more.--large {
  padding-left: 48px;
}

.c-button--more span {
  color: var(--color--white);
  font-size: 1.6rem;
  font-weight: 500;
}

.c-button--prev * {
  transform: translateX(-1.5px);
}

.c-button--next * {
  transform: translateX(1.5px);
}

.c-button--back {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  font-weight: 700;
  line-height: 32px;
}

.c-button--back span.icon {
  background-color: var(--color--brown);
  border-radius: 100px;
  transition: .3s;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
}

.c-button--close {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  font-weight: 700;
  line-height: 32px;
  gap: 8px;
}

.c-button--close span.icon {
  background-color: var(--color--brown);
  border-radius: 100px;
  transition: .3s;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
}

.c-button--reset {
  background: var(--color--666);
  color: var(--color--white);
  margin-top: 32px;
  min-width: 130px;
  padding: 8px;
  text-align: center;
}

.c-arrowLink {
  background: url(../img/icon-arrowR-red.svg) no-repeat left top 6px/18px 14px;
  font-weight: 700;
  line-height: 1.6;
  padding-left: 1.5em;
  text-decoration: underline;
}

.c-arrowLink.is-current {
  background-image: url(../img/icon-arrowR-darkGray.svg);
  color: var(--color--666);
  text-decoration: none;
}

a.c-arrowLink {
  display: inline-block;
}

.c-arrowLink-down {
  background: url(../img/icon-arrowR-red-down.svg) no-repeat left top 6px/20px 16px;
  font-weight: 700;
  line-height: 1.6;
  padding-left: 1.5em;
  text-decoration: underline;
}

.c-brownIconLink {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  font-weight: 700;
  line-height: 32px;
}

.c-brownIconLink span.icon {
  background-color: var(--color--brown);
  border-radius: 100px;
  transition: .3s;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
}

.c-externalLink::after {
  content: "";
  background: url(../img/icon-blank.svg) no-repeat right center/14px;
  display: inline-block;
  width: 20px;
  height: 14px;
}

.c-externalLink.c-brownIconLink {
  gap: 0;
}

.c-externalLink.c-brownIconLink span.icon {
  margin-right: 16px;
}

.c-externalLink.c-brownIconLink::after {
  height: 32px;
}

.c-textLink {
  text-decoration: underline;
}

.c-textLink.--rev {
  text-decoration: none;
}

.c-iconPdf {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 400;
  margin-left: 8px;
  text-decoration: none !important;
}

.c-iconPdf::before {
  content: url(../img/icon-pdf.svg);
  margin-right: 4px;
  vertical-align: middle;
}

.c-brownIconLink .c-iconPdf {
  margin-left: -8px;
}

.c-color--red {
  color: var(--color--red);
}

.c-color--environment {
  color: var(--color--environment);
}

.c-color--products {
  color: var(--color--products);
}

.c-color--ip {
  color: var(--color--ip);
}

.c-color--workplace {
  color: var(--color--workplace);
}

.c-color--community {
  color: var(--color--community);
}

.c-color--ayame {
  color: #c179af;
}

.c-color--wakaba {
  color: #89c022;
}

.c-indent--1em {
  padding-left: 1em!important;
}

.c-indent--2em {
  padding-left: 2em!important;
}

.c-imgLink {
  display: block;
}

.c-imgLink figure,
.c-linkThumb {
  display: block;
  overflow: hidden;
  position: relative;
  z-index: 1;
  border-radius: 24px;
  margin-bottom: 1em;
  aspect-ratio: 378/229;
}

article:has(.c-articleContents) .c-linkThumb {
  margin-bottom: 0;
  border-radius: 16px 16px 0 0;
}

.c-imgLink figure img,
.c-imgLink .c-linkThumb img {
  transition: .3s;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  max-width: none;
}

.c-imgBox {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 32px;
}

.c-imgBox figure img {
  border-radius: 24px;
  width: 100%;
}

.c-imgBox figure img.right-angled {
  border-radius: 0;
}

.c-imgBox figure img.border {
  border: #ddd solid 1px;
}

.c-imgBox figure img.width-auto {
  width: auto;
}

.c-imgBox figure img.max-200 {
  max-width: 200px;
}

.c-imgBox .c-figcaption,
.c-imgBox figcaption,
figcaption.tx-figcaption {
  font-size: 1.4rem;
  margin-top: .5em;
  text-align: left;
}

.c-imgBox .c-figcaption:first-child,
.c-imgBox figcaption:first-child,
figcaption.tx-figcaption:first-child {
  margin-top: 0;
}

.c-imgBoxInner {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}

.c-imgBoxInner.wide {
  gap: 32px;
}

.c-imgBoxInner > * {
  flex: 0 1 calc(50% - 8px);
  width: calc(50% - 8px) !important;
  min-width: 0;
}


.c-imgBoxInner.free > * {
  flex-basis: auto;
  width: auto !important;
}

.c-imgBoxInner.align-center {
  align-items: center;
}

.c-imgBoxInner.align-end {
  align-items: end;
}

.c-imgBoxInner.jc-center {
  justify-content: center;
}

.c-flexBox {
  display: flex;
  align-items: flex-start;
  gap: 32px;
}

.c-flexBox.flex-ai-center {
  align-items: center;
}

.c-flexBox.flex-ai-stretch {
  align-items: stretch;
}

.c-flexBox.flex-jc-center {
  justify-content: center;
}

.c-flexBox.flex-jc-end {
  justify-content: flex-end;
}

.c-flexBox.flex-d-column {
  flex-direction: column;
}

.c-flexBox.gap-narrow {
  gap: 24px;
}

.c-flexBox.gap-narrower {
  gap: 16px;
}

.c-flexBox.gap-wide {
  gap: 32px!important;
}

.c-flexBox.wrap {
  flex-wrap: wrap;
}

.c-flexBox > div {
  flex: 0 1 50%;
}

.c-flexBox.free > * {
  flex-basis: auto;
}

.c-flexBox .c-flexBox {
  gap: 16px;
}

@media screen and (max-width: 768px) {
  .c-imgBoxInner .sp_100 {
    flex: auto;
    width:  100% !important;
  }
}


.c-arrow-down {
  width: 24px;
  aspect-ratio: 1/cos(60deg);
  clip-path: polygon(50% 100%, 100% 0, 0 0);
  background: var(--color--brown);
}

.c-gridBox {
  display: grid;
  gap: 40px;
  grid-template-columns: 1fr;
}

.c-gridBox.gap-32 {
  gap: 32px;
}

.c-gridBox.gap-0 {
  gap: 0;
}

.c-gridBox.col-2 {
  grid-template-columns: 1fr 1fr;
}

@media screen and (max-width: 768px) {
  .c-gridBox.col-2 {
    grid-template-columns: 1fr;
  }
}

.c-gridBox.col-2 > .wide {
  grid-column: 1/3;
}

.c-ul > li {
  line-height: 1.6;
  padding-left: 1.75em;
  position: relative;
}

.c-ul > li:not(:first-child) {
  margin-top: 1em;
}

.c-ul > li.narrow:not(:first-child) {
  margin-top: .5em;
}

.c-ul > li.narrower:not(:first-child) {
  margin-top: .25em;
}

.c-ul > li::before {
  content: "";
  display: block;
  width: .5em;
  height: .5em;
  background: var(--color--brown);
  border-radius: 50%;
  position: absolute;
  left: .375em;
  top: .6em;
}

.c-ul > li.markColor-environment::before {
  background-color: var(--color--environment);
}

.c-ul > li.markColor-products::before {
  background-color: var(--color--products);
}

.c-ul > li.markColor-ip::before {
  background-color: var(--color--ip);
}

.c-ul > li.markColor-workplace::before {
  background-color: var(--color--workplace);
}

.c-ul > li.markColor-community::before {
  background-color: var(--color--community);
}

.c-ul > li.markColor-red::before {
  background-color: var(--color--red);
}

.c-ol {
  counter-reset: item;
}

.c-ol > li {
  line-height: 1.6;
  padding-left: 1.75em;
  position: relative;
}

.c-ol > li:not(:first-child) {
  margin-top: 1em;
}

.c-ol > li.narrow:not(:first-child) {
  margin-top: .5em;
}

.c-ol > li.narrower:not(:first-child) {
  margin-top: .25em;
}

.c-ol > li::before {
  counter-increment: item;
  content: counter(item);
  display: block;
  width: 21px;
  height: 21px;
  background: var(--color--brown);
  border-radius: 21px;
  text-align: center;
  color: var(--color--white);
  font-size: 13px;
  font-weight: bold;
  position: absolute;
  left: 0;
  top: .2em;
}

.c-ol.onlyNum li::before {
  background: transparent;
  color: var(--color--red);
  font-size: inherit;
  top: 0;
}

.c-table {
  border-bottom: var(--color--bbb) solid 1px;
  width: 100%;
}

.c-table.thick {
  border-bottom-width: 2px;
}

.c-table th,
.c-table td {
  border-top: var(--color--bbb) solid 1px;
  border-right: var(--color--bbb) solid 1px;
  line-height: 1.4;
  padding: 16px;
  vertical-align: top;
}

table th.border-t,
table td.border-t {
  border-top: var(--color--bbb) solid 1px !important;
}

table th.border-dot-t,
table td.border-dot-t {
  border-top: var(--color--bbb) dotted 1px !important;
}

table th.border-b,
table td.border-b {
  border-bottom: var(--color--bbb) solid 1px !important;
}

table th.border-r,
table td.border-r {
  border-right: var(--color--bbb) solid 1px !important;
}

table th.border-l,
table td.border-l {
  border-left: var(--color--bbb) solid 1px !important;
}

table th.border-none-t,
table td.border-none-t {
  border-top-color: transparent !important;
}

table th.border-none-b,
table td.border-none-b {
  border-bottom-color: transparent !important;
}

table th.border-none-r,
table td.border-none-r {
  border-right-color: transparent !important;
}

table th.border-none-l,
table td.border-none-l {
  border-left-color: transparent !important;
}

.c-table th:last-child,
.c-table td:last-child {
  border-right: none;
}

.c-table th:last-child.not-end,
.c-table td:last-child.not-end {
  border-right: var(--color--bbb) solid 1px;
}

.c-table th.thick,
.c-table td.thick {
  border-top-width: 2px;
}

.c-table th:not([class*=bg-],[class*=mimic]),
.c-table td.mimic {
  background: #f0ebdc;
  text-align: center;
}

.c-table th:not([class*=bg-],[class*=mimic]).bg-gray,
.c-table td.mimic.bg-gray {
  background: var(--color--eee);
  border-bottom: var(--color--bbb) solid 1px;
}

.main-en .c-table th:not([class*=bg-],[class*=mimic]),
.main-en .c-table td.mimic {
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
}

.c-table th.mimic {
  text-align: left;
}

.c-table thead tr:first-child th,
.c-table thead tr:first-child td {
  border-top: none;
}

.c-table thead + tbody:not(.border-top) tr:first-child th,
.c-table thead + tbody:not(.border-top) tr:first-child td {
  border-top: none;
}

.c-table tr:not(:first-child) th,
.c-table tr:not(:first-child) td.mimic {
  border-top: var(--color--bbb) solid 1px;
}

.c-table tr:not(:first-child) th.thick,
.c-table tr:not(:first-child) td.mimic.thick {
  border-top-width: 2px;
}

.c-tableWrap table {
  border-bottom: var(--color--bbb) solid 1px;
  table-layout: fixed;
  width: 100%;
}

.c-tableWrap table.thick {
  border-bottom-width: 2px;
}

.c-tableWrap table th,
.c-tableWrap table td {
  border-top: var(--color--bbb) solid 1px;
  border-right: var(--color--bbb) solid 1px;
  line-height: 1.4;
  padding: 16px;
  vertical-align: top;
}

.c-tableWrap table th:last-child,
.c-tableWrap table td:last-child {
  border-right: none;
}

.c-tableWrap table th:last-child.not-end,
.c-tableWrap table td:last-child.not-end {
  border-right: var(--color--bbb) solid 1px;
}

.c-tableWrap table th.thick,
.c-tableWrap table td.thick {
  border-top-width: 2px;
}

.c-tableWrap table th:not([class*=bg-],[class*=mimic]),
.c-tableWrap table td.mimic {
  background: #f0ebdc;
  text-align: center;
}

.c-tableWrap table th:not([class*=bg-],[class*=mimic]).bg-gray,
.c-tableWrap table td.mimic.bg-gray {
  background: var(--color--eee);
  border-bottom: var(--color--bbb) solid 1px;
}

.main-en .c-tableWrap table th:not([class*=bg-],[class*=mimic]),
.main-en .c-tableWrap table td.mimic {
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
}

.c-tableWrap table th.mimic {
  text-align: left;
}

.c-tableWrap table thead tr:first-child th,
.c-tableWrap table thead tr:first-child td {
  border-top: none;
}

.c-tableWrap table thead + tbody:not(.border-top) tr:first-child th,
.c-tableWrap table thead + tbody:not(.border-top) tr:first-child td {
  border-top: none;
}

.c-tableWrap table tr:not(:first-child) th,
.c-tableWrap table tr:not(:first-child) td.mimic {
  border-top: var(--color--bbb) solid 1px;
}

.c-tableWrap table tr:not(:first-child) th.thick,
.c-tableWrap table tr:not(:first-child) td.mimic.thick {
  border-top-width: 2px;
}

.c-tableCaption.top {
  caption-side: top;
  margin-bottom: 1em;
}

.c-tableCaption.bottom {
  caption-side: bottom;
  margin-top: 1em;
}

.c-pc {
  display: inline;
}
.c-sp {
  display: none;
}

.c-articleList:not(.slick-slider) {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px;
}

.c-articleList:not(.slick-slider) article {
  height: 100%;
}

.c-articleList-search > article {
  border-bottom: var(--color--bbb) solid 1px;
  padding: 32px 0;
}

.c-articleList-search > article .c-arrowLink {
  display: block;
}

.c-articleLink {
  filter: drop-shadow(0 0 10px rgba(51, 51, 51, 0.15));
  transform: translateZ(0);
  background: var(--color--white);
  border-radius: 24px;
  overflow: hidden;
  display: block;
  height: 100%;
  overflow: hidden;
}

.c-articleLink.action.environment {
  border: var(--color--environment) solid 4px;
}

.c-articleLink.action.products {
  border: var(--color--products) solid 4px;
}

.c-articleLink.action.ip {
  border: var(--color--ip) solid 4px;
}

.c-articleLink.action.workplace {
  border: var(--color--workplace) solid 4px;
}

.c-articleLink.action.community {
  border: var(--color--community) solid 4px;
}

.c-articleLink .c-linkThumb {
  overflow: hidden;
  position: relative;
  z-index: 1;
}

.c-articleLink .c-linkThumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: top;
  object-position: top;
  transition: .3s;
  max-width: none;
}

.c-articleLink .c-linkThumb img.fitcenter {
  -o-object-position: center;
  object-position: center;
}

.c-articleLink .c-linkThumb img.fitbottom {
  -o-object-position: bottom;
  object-position: bottom;
}

.c-articleLink .c-linkThumb img.contain {
  -o-object-fit: contain;
  object-fit: contain;
}

.c-articleLink time {
  color: var(--color--brown);
  display: block;
  font-size: 1.4rem;
  margin-top: 1em;
}

.c-articleCatWrap {
  display: block;
}

.c-articleCatWrap:has(.c-articleCat.environment) {
  background: url(../img/materiality/icon-environment.svg) no-repeat left top /24px;
  min-height: 24px;
  padding-left: 32px;
}

.c-articleCatWrap:has(.c-articleCat.products) {
  background: url(../img/materiality/icon-product.svg) no-repeat left top /24px;
  min-height: 24px;
  padding-left: 32px;
}

.c-articleCatWrap:has(.c-articleCat.ip) {
  background: url(../img/materiality/icon-ip.svg) no-repeat left top /24px;
  min-height: 24px;
  padding-left: 32px;
}

.c-articleCatWrap:has(.c-articleCat.workplace) {
  background: url(../img/materiality/icon-workplace.svg) no-repeat left top /24px;
  min-height: 24px;
  padding-left: 32px;
}

.c-articleCatWrap:has(.c-articleCat.community) {
  background: url(../img/materiality/icon-community.svg) no-repeat left top /24px;
  min-height: 24px;
  padding-left: 32px;
}

.c-articleCat {
  background-color: var(--color--red);
  border-radius: 2px;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.4;
}

.c-articleCat.environment {
  background: linear-gradient(transparent 0%, var(--color--environment--light) 0%, var(--color--environment--light) 100%);
}

.c-articleCat.products {
  background: linear-gradient(transparent 0%, var(--color--products--light) 0%, var(--color--products--light) 100%);
}

.c-articleCat.ip {
  background: linear-gradient(transparent 0%, var(--color--ip--light) 0%, var(--color--ip--light) 100%);
}

.c-articleCat.workplace {
  background: linear-gradient(transparent 0%, var(--color--workplace--light) 0%, var(--color--workplace--light) 100%);
}

.c-articleCat.community {
  background: linear-gradient(transparent 0%, var(--color--community--light) 0%, var(--color--community--light) 100%);
}

.c-articleTitle {
  display: block;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
  margin-top: 1em;
}

.main-en.case .c-articleTitle,
.main-en.materiality .c-articleTitle {
  font-size: 1.6rem;
  line-height: 1.3;
  margin-top: .8em;
}

.c-articleContents {
  display: block;
  padding: 24px;
}

.c-articleSummary {
  margin-top: 1em;
}

.c-text:not(:first-child) {
  margin-top: 32px;
}

.c-sdgsList {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.c-breakAll {
  word-break: break-all;
}

.bold {
  font-weight: 700;
}

.brown {
  color: var(--color--brown);
}

.rubik {
  font-family: Rubik;
}

.white {
  color: var(--color--white);
}

.al-center {
  text-align: center !important;
}

.al-left {
  text-align: left !important;
}

.al-right {
  text-align: right !important;
}

.bg-gray {
  background-color: var(--color--eee);
}

.bg-ivory {
  background-color: #f0ebdc;
}

.bg-lime {
  background-color: #f3f7e8;
}

.bg-orange {
  background-color: #ffefe1;
}

.bg-red {
  background-color: #ffe6e6;
}

.bg-blue {
  background-color: #dbe9f7;
}

.bg-yellow {
  background-color: #fef3d7;
}

.bg-darkGray {
  background-color: #1d1d1d;
}

.bg-white {
  background-color: var(--color--white);
}

.fs-12 {
  font-size: 1.2rem;
}

.fs-14 {
  font-size: 1.4rem;
}

.fs-15 {
  font-size: 1.5rem;
}

.fs-16 {
  font-size: 1.6rem!important;
}

.fs-17 {
  font-size: 1.7rem;
}

.fs-16-14 {
  font-size: 1.6rem!important;
}

.fs-18 {
  font-size: 1.8rem!important;
}

.fs-20 {
  font-size: 2rem;
}

.fs-22 {
  font-size: 2.2rem;
}

.fs-24 {
  font-size: 2.4rem;
}

.fs-24-18 {
  font-size: 2.4rem;
}

.fs-26 {
  font-size: 2.6rem;
}

.fs-26-20 {
  font-size: 2.6rem;
}

.fs-32 {
  font-size: 3.2rem;
}

.fs-36 {
  font-size: 3.6rem;
}

.fs-40 {
  font-size: 4rem;
}

.fs-48 {
  font-size: 4.8rem;
}

hr {
  display: block;
  height: 1px;
  border-top: var(--color--bbb) dotted 1px;
  margin: 40px 0;
}

.archive hr {
  margin-bottom: 24px;
}

.mt-2 {
  margin-top: 2px;
}

.mt-4 {
  margin-top: 4px;
}

.mt-8 {
  margin-top: 8px;
}

.mt-16 {
  margin-top: 16px;
}

.mt-16-8 {
  margin-top: 16px;
}

.mt-24 {
  margin-top: 24px;
}

.mt-24-16 {
  margin-top: 24px;
}

.mt-32 {
  margin-top: 32px;
}

.mt-32-16 {
  margin-top: 32px;
}

.mt-32-24 {
  margin-top: 32px;
}

.mt-40 {
  margin-top: 40px;
}

.mt-40-24 {
  margin-top: 40px;
}

.mt-48 {
  margin-top: 48px;
}

.mt-48-24 {
  margin-top: 48px;
}

.mt-56 {
  margin-top: 56px;
}

.mt-56-32 {
  margin-top: 56px;
}

.mt-72 {
  margin-top: 72px;
}

.mt-72-40 {
  margin-top: 72px;
}

.mt-80 {
  margin-top: 80px;
}

.mt-80-40 {
  margin-top: 80px;
}

.c-note {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  line-height: 1.4 !important;
}

.c-note > *:first-child {
  flex: 0 0 auto;
}

.c-note > *:nth-child(n + 2) {
  flex: 1 1 auto;
}

.c-note.al-right {
  justify-content: flex-end;
}

.c-note.al-right > * {
  text-align: left;
}

.c-note.al-right > *:nth-child(n + 2) {
  flex-grow: 0;
}

.c-note.--half > *:first-child {
  flex-basis: 0.75em;
}

.c-note.--1em > *:first-child {
  flex-basis: 1.5em;
}

.main-en .c-note.--1em > *:first-child {
  flex-basis: 1em;
}

.c-note.--1em-half > *:first-child {
  flex-basis: 1.5em;
}

.c-note.--2em > *:first-child {
  flex-basis: 2em;
}

.c-note.--3em > *:first-child {
  flex-basis: 3em;
}

.c-note.--4em > *:first-child {
  flex-basis: 4em;
}

.c-note.--6em > *:first-child {
  flex-basis: 6em;
}

.c-note.--6em-half > *:first-child {
  flex-basis: 6.5em;
}

.c-note.--7em > *:first-child {
  flex-basis: 7em;
}

.c-note.--7_5em > *:first-child {
  flex-basis: 7.5em;
}

.c-note.--8em > *:first-child {
  flex-basis: 8em;
}

.p-noteTable {
  line-height: 1.5;
}

.p-noteTable th {
  word-break: keep-all;
  width: max-content;
  text-align: left;
  white-space: nowrap;
  padding-right: 0.25em;
}

@media screen and (max-width: 768px) {
  .p-noteTable th {
    white-space: inherit;
  }
}

.small {
  font-size: 1.3rem;
}

.slick-prev,
.slick-next {
  background-color: var(--color--brown);
  background-color: var(--color--brown);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 8px 14px;
  border-radius: 100px;
  transition: .3s;
  width: 56px;
  height: 56px;
  z-index: 1;
}

@media (hover: hover) {
  .slick-prev:hover,
  .slick-next:hover {
    background-color: var(--color--red);
  }
}

.slick-prev {
  background-image: url(../img/icon-prev.svg);
}

.slick-next {
  background-image: url(../img/icon-next.svg);
}

.slick-prev::before,
.slick-next::before {
  content: none;
}

.slick-prev.slick-disabled,
.slick-next.slick-disabled {
  opacity: .7;
}

.slick-dots li {
  height: 10px;
  width: 10px;
  margin-right: 4px;
  margin-left: 4px;
}

.slick-dots li button {
  height: 10px;
  width: 10px;
  padding: 0;
  border: #333 solid 1px;
  border-radius: 100%;
}

.slick-dots li button::before {
  content: none;
}

.slick-dots li.slick-active button {
  border-color: var(--color--red);
  background-color: var(--color--red);
}

.v-middle {
  vertical-align: middle!important;
}

.tb-rl {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
}



/* loading
----------------------------------*/
.p-loading {
  width: 100vw;
  height: 100vh;
  background: var(--color--white);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 80px;
}



/* skip
----------------------------------*/
.p-skipLink {
  background: var(--color--white);
  display: none;
  padding: .5em 0;
  text-align: center;
  letter-spacing: .05em;
  text-decoration: underline;
  position: relative;
  z-index: 9999;
}

.p-skipLink a {
  color: var(--color--red);
}



/* groupHeader
----------------------------------*/
.p-groupHeader-01 {
  position: sticky;
  top: 0;
  z-index: 100;
  width: 100%;
}

.p-groupHeader__companyLogo {
  line-height: 1.5;
  margin-left: auto;
}

.p-groupHeader__spMenuBtn {
  width: 28px;
  height: 28px;
}

.p-groupHeader__spMenuBtn > span {
  background: var(--color--333);
  bottom: auto;
  top: 50%;
  transform: translateY(-50%);
}

.p-groupHeader__spMenuBtn > span::before,
.p-groupHeader__spMenuBtn > span::after {
  background: var(--color--333);
}

.p-groupHeader__spMenuBtn > span::before {
  top: -10px;
}

.p-groupHeader__spMenuBtn > span::after {
  bottom: -10px;
}



/* sideHeader
----------------------------------*/
.p-siteHeader {
  background: var(--color--white);
  border-top: 2px solid var(--color--red);
  border-bottom: 1px solid var(--color--eee);
  width: 100%;
  position: sticky;
  top: 74px;
  z-index: 100;
}

.p-siteHeader__sp {
  display: none;
  height: 44px;
  padding: 0 16px;
}

.p-siteHeader__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}

.p-gNav {
  display: flex;
  align-items: center;
  margin-left: 4px;
}

.p-gNav__item {
  padding: 0 8px;
}

.p-gNav__item.is-current .p-gNav__transition::after {
  transform: scale(1, 1);
}

.p-gNav__transition {
  position: relative;
  display: inline-block;
  padding: 20px 0;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
  transition: all .3s;
}

.p-gNav__transition::after {
  position: absolute;
  bottom: 8px;
  content: "";
  display: block;
  width: 100%;
  height: 4px;
  background: var(--color--red);
  transform: scale(0, 1);
  transform-origin: center top;
  transition: transform .3s;
}

.p-gNav__btn {
  display: none;
  width: 24px;
  height: 24px;
  position: absolute;
  top: 12px;
  right: 1em;
  background: var(--color--brown);
  border-radius: 100px;
}

.p-gNav__btn::before,
.p-gNav__btn::after {
  position: absolute;
  top: 50%;
  left: 50%;
  content: "";
  display: block;
  width: 12px;
  height: 2px;
  background: var(--color--white);
  border-radius: 1px;
}

.p-gNav__btn::before {
  transform: translate(-50%, -50%);
}

.p-gNav__btn::after {
  transform: translate(-50%, -50%) rotate(90deg);
  animation: cross-back .3s forwards;
}

.p-gNav__btn.is-open::after {
  animation: cross .3s forwards;
}

.p-gNav__inner {
  position: absolute;
  left: 8px;
  transform: scaleY(0);
  transform-origin: top center;
  width: calc(100vw - 32px);
  opacity: 0;
  z-index: 100;
}

.p-gNav__inner.is-open {
  opacity: 1;
  animation: menu-open .3s linear forwards;
}

.p-gNav__child {
  background: var(--color--white);
  border-radius: 16px;
  margin-top: 16px;
  padding: 32px 0;
}

.p-gNav__child ul {
  width: 90%;
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 32px;
}

.p-gNav__child ul li {
  flex: 0 1 100%;
  max-width: 378px;
}

.p-gNav__child ul li.group {
  display: flex;
  gap: 24px;
  max-width: inherit;
}

.p-gNav__child ul li.group > a,
.p-gNav__child ul li.group > figure,
.p-gNav__child ul li.group > div {
  flex: 0 1 50%;
}

.p-gNav__child ul li.group > a img,
.p-gNav__child ul li.group > figure img {
  border-radius: 16px;
  width: 100%;
}

.p-gNav__child ul li.group .parent {
  color: var(--color--brown);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.6;
}

.p-gNav__child figure,
.p-gNav__child .c-linkThumb {
  border-radius: 16px;
  margin-bottom: 0;
  aspect-ratio: 38/23;
}

.p-gNav__child figure.border-gray,
.p-gNav__child .c-linkThumb.border-gray {
  border: var(--color--ccc) solid 1px;
}

.p-gNav__child figure img,
.p-gNav__child .c-linkThumb img {
  width: 100%;
}

.p-gNav__child figure + .c-arrowLink,
.p-gNav__child .c-linkThumb + .c-arrowLink {
  margin-top: 1em;
}

.p-gNav__child .c-arrowLink {
  display: block;
  text-decoration: none !important;
  line-height: 1.3;
}

.p-gNav__grandChild {
  margin-top: 12px;
}

.p-gNav__grandChild a {
  margin-top: 12px;
}

@keyframes menu-open {
  0% {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    transform: translateY(-1em);
  }

  100% {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    transform: translateY(0);
  }
}

@keyframes cross {
  0% {
    transform: translate(-50%, -50%) rotate(90deg);
  }

  100% {
    transform: translate(-50%, -50%);
  }
}

@keyframes cross-back {
  0% {
    transform: translate(-50%, -50%);
  }

  100% {
    transform: translate(-50%, -50%) rotate(90deg);
  }
}

.p-headerUtil {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin-right: 6px;
}

.p-langNav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.p-langNav__item {
  padding: 0 .5em;
}

.p-langNav__item.is-current {
  font-weight: 700;
}

.p-langNav__item:first-child {
  position: relative;
}

.p-langNav__item:first-child::after {
  position: absolute;
  right: -0.1em;
  content: "/";
  font-weight: 400;
  color: var(--color--bbb);
}

.p-searchOpenTrigger {
  border-left: 1px solid var(--color--bbb);
}

.p-searchOpenTrigger .c-iconSearch {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 24px;
}

.p-searchOpenForm {
  display: none;
  position: absolute;
  top: calc(100% + 16px);
  left: 50%;
  transform: translateX(-50%);
  z-index: 100;
  width: calc(100vw - 32px);
  background: var(--color--white);
  border-radius: 16px;
  padding: 20px 0;
}

.p-gNavOverlay {
  display: none;
  width: 100%;
  height: 100vh;
  position: absolute;
  top: 100%;
  left: 0;
  background: rgba(51,51,51,.4);
  z-index: 99;
}



/* footer
----------------------------------*/
.p-share {
  border-bottom: var(--color--red) solid 2px;
  margin-top: 120px;
  padding: 30px 0;
}

.p-main.feature + .p-share {
  margin-top: 0;
}

.p-share .c-contentsInner {
  display: flex;
  align-items: center;
}

.p-share__title {
  display: flex;
  align-items: center;
  background: url(../img/shareIcon.svg) no-repeat left top/contain;
  height: 24px;
  padding-left: 40px;
  margin-right: 30px;
}

.p-shareList {
  display: flex;
  align-items: center;
  gap: 20px;
}

.p-shareList a {
  transition: .3s;
}

.p-toTop {
  display: none;
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 1;
}

.p-toTop a {
  background-color: var(--color--brown);
  border-radius: 100px;
  transition: .3s;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
}

.p-footer {
  color: var(--color--666);
  padding-bottom: 20px;
}

.p-footer a {
  color: var(--color--666);
}

.p-gSitemap {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 24px;
  margin-top: 40px;
}

.p-gSitemap__siteName {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 700;
  margin-top: 14px;
}

.p-gSitemap__logo a {
  display: inline-block;
  transition: .3s;
}

.p-gSitemap__logo a:hover {
  opacity: .6;
}

.p-gSitemap__movie {
  display: block;
  margin-top: 24px;
}

.p-gSitemap__movie img,
.p-gSitemap__movie span {
  display: block;
}

.p-gSitemap__movie span {
  font-size: 1.3rem;
  margin-top: .5em;
}

.p-gSitemapList * {
  color: var(--color--666);
  line-height: 1.3;
}

.p-gSitemapList > li {
  font-size: 1.4rem;
  font-weight: 500;
}

.p-gSitemapList > li.small {
  font-size: 1.3rem;
}

.p-gSitemapList > li:nth-of-type(n + 2) {
  margin-top: 40px;
}

.p-gSitemapList > li .c-arrowLink {
  background-size: 12px 10px;
  background-position-y: top 4px;
  font-weight: 500;
  padding-left: 1.3em;
  text-decoration: none;
}

.p-gSitemapList ul {
  margin-top: 14px;
}

.p-gSitemapList ul > li {
  font-size: 1.3rem;
}

.p-gSitemapList ul > li:nth-of-type(n + 2) {
  margin-top: 16px;
}

.p-gSitemapList ul > li .c-arrowLink {
  font-weight: 400;
}

.p-gLinkList {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 32px;
  margin-top: 40px;
}

.p-gLinkList li {
  font-size: 1.3rem;
  line-height: 1.4;
}

.p-gLinkList .c-externalLink::after {
  height: 12px;
  background-size: 12px;
}

.p-copyright {
  color: #666;
  font-size: 1.3rem;
  margin-top: 40px;
  text-align: center;
}



/* main
----------------------------------*/

.p-main h2:not(.p-sectionTitle) {
  line-height: 1.6;
}

.p-main h4,
.p-main h5,
.p-main h6 {
  line-height: 1.6;
}

.p-main p {
  line-height: 2;
}

.p-breadNav {
  background-color: var(--color--white);
  padding: .8em 40px;
}

.p-breadNav ol {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: .2em .6em;
}

.p-breadNav ol li {
  color: var(--color--666);
  font-size: 1.3rem;
  line-height: 1.4;
}

.p-breadNav ol li:not([class]) {
  background: url(../img/icon-next-black.svg) no-repeat right top .3em/6px 12px;
  padding-right: 1em;
}

.p-pageTitle {
  background: url(../img/pageTitle.jpg) no-repeat center top/cover;
  height: 200px;
}

.p-pageTitle.right {
  background-position: right top;
}

.case .p-pageTitle {
  background-image: url(../img/case/pageTitle.jpg);
}

.climate .p-pageTitle {
  background-image: url(../img/climate/pageTitle.jpg);
}

.data.esg .p-pageTitle {
  background-image: url(../img/data/esg/pageTitle.jpg);
}

.data.gri .p-pageTitle {
  background-image: url(../img/data/gri/pageTitle.jpg);
}

.data.policy .p-pageTitle {
  background-image: url(../img/data/policy/pageTitle.jpg);
}

.data.evaluations .p-pageTitle {
  background-image: url(../img/data/evaluations/pageTitle.jpg);
}

.governance.corporate_governance .p-pageTitle {
  background-image: url(../img/governance/corporate_governance/pageTitle.jpg);
}

.governance.risk .p-pageTitle {
  background-image: url(../img/governance/risk/pageTitle.jpg);
}

.governance.compliance .p-pageTitle {
  background-image: url(../img/governance/compliance/pageTitle.jpg);
}

.human-rights .p-pageTitle {
  background-image: url(../img/human-rights/pageTitle.jpg);
}

.sustainability_news .p-pageTitle {
  background-image: url(../img/sustainability_news/pageTitle.jpg);
}

.management .p-pageTitle {
  background-image: url(../img/management/pageTitle-index.jpg);
}

.management.supply-chain .p-pageTitle {
  background-image: url(../img/management/supply-chain/pageTitle.jpg);
}

.management.raising-awareness .p-pageTitle {
  background-image: url(../img/management/pageTitle-awareness.jpg);
}

.message .p-pageTitle {
  background-image: url(../img/message/pageTitle.jpg);
}

.plastic .p-pageTitle {
  background-image: url(../img/plastic/pageTitle.jpg);
}

.materiality .p-pageTitle {
  background-image: url(../img/materiality/pageTitle-index.jpg);
}

.environment .p-pageTitle {
  background-image: url(../img/materiality/environment/pageTitle-index.jpg);
}

.environment.climate .p-pageTitle {
  background-image: url(../img/materiality/environment/pageTitle-climate.jpg);
}

.environment.resources .p-pageTitle {
  background-image: url(../img/materiality/environment/pageTitle-resources.jpg);
}

.environment.supply-chain .p-pageTitle {
  background-image: url(../img/materiality/environment/pageTitle-supplychain.jpg);
}

.environment.climate .p-pageTitle h1,
.environment.resources .p-pageTitle h1,
.environment.supply-chain .p-pageTitle h1 {
  background-color: var(--color--environment--light);
}

.products .p-pageTitle {
  background-image: url(../img/materiality/products/pageTitle-index.jpg);
}

.products.representation .p-pageTitle {
  background-image: url(../img/materiality/products/pageTitle-representation.jpg);
}

.products.safety .p-pageTitle {
  background-image: url(../img/materiality/products/pageTitle-safety.jpg);
}

.products.customer_satisfaction .p-pageTitle {
  background-image: url(../img/materiality/products/pageTitle-cs.jpg);
}

.products.supply-chain .p-pageTitle {
  background-image: url(../img/materiality/products/pageTitle-supplychain.jpg);
}

.products.representation .p-pageTitle h1,
.products.safety .p-pageTitle h1,
.products.customer_satisfaction .p-pageTitle h1,
.products.supply-chain .p-pageTitle h1 {
  background-color: var(--color--products--light);
}

.ip .p-pageTitle {
  background-image: url(../img/materiality/ip/pageTitle-index.jpg);
}

.ip.use .p-pageTitle {
  background-image: url(../img/materiality/ip/pageTitle-use.jpg);
}

.ip.protection .p-pageTitle {
  background-image: url(../img/materiality/ip/pageTitle-protection.jpg);
}

.ip.use .p-pageTitle h1,
.ip.protection .p-pageTitle h1 {
  background-color: var(--color--ip--light);
}

.workplace .p-pageTitle {
  background-image: url(../img/materiality/workplace/pageTitle-index.jpg);
}

.workplace.environment .p-pageTitle {
  background-image: url(../img/materiality/workplace/pageTitle-environment.jpg);
}

.workplace.human-resource .p-pageTitle {
  background-image: url(../img/materiality/workplace/pageTitle-humanresource.jpg);
}

.workplace.diversity .p-pageTitle {
  background-image: url(../img/materiality/workplace/pageTitle-diversity.jpg);
}

.workplace.supply-chain .p-pageTitle {
  background-image: url(../img/materiality/workplace/pageTitle-supplychain.jpg);
}

.workplace.environment .p-pageTitle h1 ,
.workplace.human-resource .p-pageTitle h1,
.workplace.diversity .p-pageTitle h1,
.workplace.supply-chain .p-pageTitle h1 {
  background-color: var(--color--workplace--light);
}

.community .p-pageTitle {
  background-image: url(../img/materiality/community/pageTitle-index.jpg);
}

.community.local .p-pageTitle {
  background-image: url(../img/materiality/community/pageTitle-local.jpg);
}

.community.education .p-pageTitle {
  background-image: url(../img/materiality/community/pageTitle-education.jpg);
}

.community.fan .p-pageTitle {
  background-image: url(../img/materiality/community/pageTitle-fan.jpg);
}

.community.local .p-pageTitle h1,
.community.education .p-pageTitle h1,
.community.fan .p-pageTitle h1 {
  background-color: var(--color--community--light);
}

.p-pageTitle .c-contentsInner {
  height: 100%;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  justify-content: center;
}

.p-pageTitle h1 {
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.4;
}

.main-en .p-pageTitle h1 {
  font-size: 3rem;
  line-height: 1.2;
}

.p-pageTitle h1.white {
  color: var(--color--white);
}

.p-pageTitle h1:has(img) {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 16px;
}

.p-pageTitle h1:has(img) img {
  flex: 0 0 64px;
}

.p-pageTitle h1:has(img) img + span {
  flex: 0 1 auto;
  min-width: 0;
}

.p-pageTitle h1.bg {
  border-radius: 8px;
  padding: 8px 16px;
}

.p-lead {
  margin-top: 72px;
}

.p-breadNav + .p-lead {
  margin-top: 48px;
}

.p-lowerContents {
  border-top: var(--color--brown) solid 4px;
  border-bottom: var(--color--brown) solid 4px;
  padding: 48px 0 72px;
}

.p-lowerContents__title {
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 1em;
  text-align: center;
}

.p-sectionTitle {
  border-bottom: var(--color--bbb) solid 3px;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.4;
  padding-bottom: .7em;
  position: relative;
}

.p-sectionTitle::after {
  content: "";
  display: block;
  width: 160px;
  height: 3px;
  background: var(--color--red);
  position: absolute;
  bottom: -3px;
}

.p-sectionTitle.p-sectionTitle--note {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}

.p-sectionTitle__note{
  font-size: initial;
  font-weight: normal;
}

.p-sectionSubtitle {
  color: var(--color--red);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.6;
}

.p-subsection {
  background: #f0ebdc;
  border-radius: 16px;
  padding: 32px;
}

.p-subsectionTitle {
  color: var(--color--brown);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.6;
}

.p-subsection.narrow {
  padding: 16px;
}

.p-bordersection {
  border: #f0ebdc solid 4px;
  border-radius: 16px;
  padding: 32px;
}

.p-subsubsection {
  border-radius: 16px;
  padding: 32px;
}

.p-subsection > .p-subsubsection {
  background: var(--color--white);
}

.p-tab {
  width: 90%;
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
  display: flex;
  align-items: stretch;
  gap: 8px;
}

.p-tab__item {
  background: var(--color--eee);
  flex: 0 1 100%;
  border-radius: 16px 16px 0 0;
  transition: .3s;
}

.bottom .p-tab__item {
  border-radius: 0 0 16px 16px;
}

.p-tab__item.current {
  background-color: var(--color--brown);
}

.p-tab__item.current a {
  color: var(--color--white);
}

.p-tab__item a {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  padding: 16px;
}

.p-tab__item span {
  font-weight: 700;
  text-align: center;
}

.p-pager {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin-top: 80px;
}

.p-pager a {
  color: var(--color--brown);
  font-size: 1.8rem;
  font-weight: bold;
  padding: 10px;
}

.p-pager a.current {
  color: var(--color--666);
  font-weight: 400;
}

.p-filter {
  margin-top: 16px;
}

.p-filter .c-contentsInner.bg-gray {
  border-radius: 4px;
  padding: 20px 32px 32px;
}

.p-filterForm label {
  display: inline-block;
}

.p-filterForm input[type=checkbox].materiality + span {
  padding-left: 36px;
  position: relative;
}

.p-filterForm input[type=checkbox].materiality + span::before {
  content: "";
  display: block;
  width: 3px;
  height: 18px;
  position: absolute;
  top: 4px;
  left: 27px;
}

.p-filterForm input[type=checkbox].materiality.environment + span::before {
  background: var(--color--environment);
}

.p-filterForm input[type=checkbox].materiality.products + span::before {
  background: var(--color--products);
}

.p-filterForm input[type=checkbox].materiality.ip + span::before {
  background: var(--color--ip);
}

.p-filterForm input[type=checkbox].materiality.workplace + span::before {
  background: var(--color--workplace);
}

.p-filterForm input[type=checkbox].materiality.community + span::before {
  background: var(--color--community);
}

.p-filterForm select {
  background: url(../img/select.svg) no-repeat right top/contain;
  border: var(--color--bbb) solid 1px;
  border-radius: 3px;
  padding: 10px 48px 10px 8px;
}

.p-filterForm:has(fieldset) {
  display: grid;
  grid-template-columns: 10em 1fr;
}

.p-filterForm fieldset {
  display: contents;
}

.p-filterForm fieldset legend {
  border-bottom: var(--color--bbb) solid 1px;
  font-weight: 500;
  margin-bottom: 0;
  padding: 18px 10px 10px 0;
  text-align: left;
  word-break: keep-all;
}

.p-filterForm fieldset .p-filterForm__item {
  border-bottom: var(--color--bbb) solid 1px;
  margin-top: 0;
  padding: 8px 0;
}

.p-filterForm fieldset:last-of-type legend,
.p-filterForm fieldset:last-of-type .p-filterForm__item {
  border-bottom: none;
}

.p-listTable th,
.p-listTable td {
  border-top: var(--color--bbb) solid 1px;
  border-bottom: var(--color--bbb) solid 1px;
  line-height: 1.4;
  padding: 16px;
  vertical-align: top;
  -webkit-hyphens: none !important;
  -ms-hyphens: none !important;
  hyphens: none !important;
}

.p-listTable th:first-child {
  width: 25%;
}

.p-materiality__list {
  gap: 56px 32px;
}

@media screen and (min-width: 769px) {
  .p-materiality__list li {
    flex-basis: calc(33% - 21.3333333333px);
  }
}

.p-materiality__list .c-imgLink .c-linkThumb {
  margin-bottom: 0;
}

.p-materiality__list li a.c-imgLink {
  height: 100%;
}

.p-materiality__catTitle {
  display: flex;
  align-items: center;
  gap: 12px;
}

.p-materiality__catTitle img {
  flex: 0 0 auto;
}

.p-materiality__catTitle span {
  flex: 0 1 auto;
  min-width: 0;
  line-height: 1.6;
}

.p-modalOverlay,
.p-modalOverlay-pacman {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  background: rgba(122,77,33,.4);
  z-index: 1000;
  visibility: hidden;
}

.p-modalOverlay.is-visible,
.p-modalOverlay-pacman.is-visible {
  visibility: visible;
  animation-duration: .5s;
  animation-name: fade-in;
}

.p-modalWindow {
  position: fixed;
  z-index: 1001;
  width: 90%;
  max-width: 1200px;
  max-height: 95vh;
  background: var(--color--white);
  border-radius: 24px;
  visibility: hidden;
}

.p-modalWindow.is-visible {
  visibility: visible;
  animation-duration: .5s;
  animation-name: fade-in;
}

.p-modalWindow-pacman {
  position: fixed;
  z-index: 1001;
  visibility: hidden;
}

.p-modalWindow-pacman.is-visible {
  visibility: visible;
  animation-duration: .5s;
  animation-name: fade-in;
}

.p-modalClose-pacman {
  position: absolute;
  top: -8px;
  right: -8px;
  opacity: 0;
  visibility: hidden;
}

.is-visible .p-modalClose-pacman {
  opacity: 1;
  visibility: visible;
}

@keyframes fade-in {
  0% {
    visibility: hidden;
    opacity: 0;
  }

  50% {
    visibility: visible;
    opacity: .5;
  }

  100% {
    visibility: visible;
    opacity: 1;
  }
}



/* news
----------------------------------*/
.p-newsArticleHeader {
  border-left: var(--color--red) solid 6px;
  padding-left: 16px;
}



/* search
----------------------------------*/
.p-search {
  background: var(--color--eee);
  border-radius: 4px;
  max-width: 820px;
  margin: 0 auto;
  padding: 5px 10px;
  white-space: nowrap;
  position: relative;
}

.p-search__field {
  background: transparent !important;
  padding: 2px 40px 2px 5px;
  position: relative;
  width: 100%;
}

.p-search__button {
  position: absolute;
  right: 0;
  padding: 5px;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}

.p-search .c-iconSearch {
  position: absolute;
  right: 1em;
  top: 0;
  bottom: 0;
}

.p-search .c-iconSearch::before {
  position: absolute;
  top: 50%;
  left: -1em;
  transform: translateY(-45%);
  content: url(../img/icon-search.svg);
}

.p-searchResult {
  color: var(--color--666);
  margin-top: 32px;
}



/* news
----------------------------------*/
.p-newsList > li {
  border-top: var(--color--ccc) solid 1px;
  padding: 24px 8px;
}

.p-newsList > li:last-of-type {
  border-bottom: var(--color--ccc) solid 1px;
}

.p-newsList .c-articleWrapper:has(figure) {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 32px;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .p-newsList .c-articleWrapper:has(figure) {
    align-items: flex-start;
    gap: 12px;
  }
}

.p-newsList .c-articleWrapper figure {
  flex: 0 0 180px;
  border-radius: 16px;
  overflow: hidden;
  aspect-ratio: 5/3;
}

@media screen and (max-width: 768px) {
  .p-newsList .c-articleWrapper figure {
    flex-basis: 96px;
  }
}

.p-newsList .c-articleWrapper figure img {
  object-fit: cover;
  object-position: center;
  width: 100%;
  height: 100%;
}

.p-newsList .c-articleInner {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 32px;
}

@media screen and (max-width: 768px) {
  .p-newsList .c-articleInner {
    flex-direction: column;
    gap: 12px;
  }
}

.p-newsList .c-articleWrapper figure + .c-articleInner {
  flex: 1 1 auto;
  min-width: 0;
  flex-direction: column;
  gap: 8px;
}

.p-newsList .c-articleInner figure + span {
  flex: 1 1 auto;
  min-width: 0;
}

.p-newsList .c-articleCatWrap {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 16px;
  flex-wrap: wrap;
}

.p-newsList .c-articleCatWrap time {
  flex: 0 0 auto;
  color: var(--color--brown);
  font-size: 1.6rem;
  min-width: 0;
  max-width: 100%;
}

.p-newsList .c-articleCat {
  flex: 0 0 auto;
  color: var(--color--white);
  min-width: 60px;
  text-align: center;
}

.p-newsList .c-articleCat.--news {
  background-color: #B46016;
}

.p-newsList .c-articleCat.--update {
  background-color: var(--color--brown);
}

.p-newsList .c-articleTitle {
  flex: 1 1 auto;
  font-size: 1.6rem;
  font-weight: 400;
  margin-top: 0;
}

.p-newsList a:hover .c-articleTitle,
.p-newsList .c-articleTitle:is(a):hover {
  text-decoration: underline;
}



/* media query
----------------------------------*/
@media screen and (min-width: 769px) {
  .c-articleList.col-1 {
    grid-template-columns: minmax(0, 1fr);
  }

  .c-articleList.col-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .c-imgBox.w-180 {
    grid-template-columns: 1fr 180px;
  }

  .c-imgBox.w-180.--rev {
    grid-template-columns: 180px 1fr;
  }

  .c-imgBox.w-200 {
    grid-template-columns: 1fr 200px;
  }

  .c-imgBox.w-200.--rev {
    grid-template-columns: 200px 1fr;
  }

  .c-imgBox.w-240 {
    grid-template-columns: 1fr 240px;
  }

  .c-imgBox.w-240.--rev {
    grid-template-columns: 240px 1fr;
  }

  .c-imgBox.w-380 {
    grid-template-columns: 1fr 380px;
  }

  .c-imgBox.w-380.--rev {
    grid-template-columns: 380px 1fr;
  }

  .c-imgBox.w-single {
    grid-template-columns: minmax(0, 1fr);
  }

  .c-imgBox.w-single .c-imgBoxInner {
    justify-content: center;
  }

  .c-imgBox.w-trio {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .c-imgBox.w-trio .c-imgBox__leftWide {
    grid-column: 1/3;
  }

  .c-imgBox.w-trio .c-imgBox__rightWide {
    grid-column: 2/4;
  }

  .c-imgBox.w-quarter {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .c-imgBox:not([class*=w-]) > div:nth-child(odd),
  .c-imgBox:not([class*=w-]) > figure:nth-child(odd) {
    grid-column: 1/7;
  }

  .c-imgBox:not([class*=w-]) > div:nth-child(odd).c-imgBox__oneThird,
  .c-imgBox:not([class*=w-]) > figure:nth-child(odd).c-imgBox__oneThird {
    grid-column: 1/5;
  }

  .c-imgBox:not([class*=w-]) > div:nth-child(odd).c-imgBox__twoThirds,
  .c-imgBox:not([class*=w-]) > figure:nth-child(odd).c-imgBox__twoThirds {
    grid-column: 1/9;
  }

  .c-imgBox:not([class*=w-]) > div:nth-child(odd).c-imgBox__threeQuarters,
  .c-imgBox:not([class*=w-]) > figure:nth-child(odd).c-imgBox__threeQuarters {
    grid-column: 1/10;
  }

  .c-imgBox:not([class*=w-]) > div:nth-child(even),
  .c-imgBox:not([class*=w-]) > figure:nth-child(even) {
    grid-column: 7/13;
  }

  .c-imgBox:not([class*=w-]) > div:nth-child(even).c-imgBox__twoThirds,
  .c-imgBox:not([class*=w-]) > figure:nth-child(even).c-imgBox__twoThirds {
    grid-column: 5/13;
  }

  .c-imgBox:not([class*=w-]) > div:nth-child(even).c-imgBox__oneThird,
  .c-imgBox:not([class*=w-]) > figure:nth-child(even).c-imgBox__oneThird {
    grid-column: 9/13;
  }

  .c-imgBox:not([class*=w-]) > div:nth-child(even).c-imgBox__quarter,
  .c-imgBox:not([class*=w-]) > figure:nth-child(even).c-imgBox__quarter {
    grid-column: 10/13;
  }

  .c-gridBox.col-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .c-gridBox.col-3 > .c-gridBoxInner__twoThirds:nth-of-type(even) {
    grid-column: 2/4;
  }

  .p-groupHeader__inner {
    justify-content: space-between;
  }

}

@media screen and (max-width: 1024px) {
  .p-gNav__item {
    padding: 0 .8vw;
  }

  .p-gNav__transition {
    font-size: 1.4vw;
  }

  .p-gLinkList {
    gap: 24px;
  }

  .p-pageTitle h1 {
    font-size: 3rem;
  }
}

@media screen and (max-width: 768px) {
  col.w-auto-120 {
    width: 120px;
  }

  col.w-auto-140 {
    width: 140px;
  }

  col.w-200-100 {
    width: 100px;
  }

  .c-button--back {
    gap: 12.8px;
    line-height: 24px;
  }

  .c-button--back span.icon {
    width: 24px;
    height: 24px;
    flex-basis: 24px;
  }

  .c-button--back span.icon img {
    width: 12px;
    height: 10px;
  }

  .c-button--close {
    gap: 12.8px;
    line-height: 24px;
  }

  .c-button--close span.icon {
    width: 24px;
    height: 24px;
    flex-basis: 24px;
  }

  .c-button--close span.icon img {
    width: 12px;
    height: 10px;
  }

  .c-arrowLink-down {
    padding-left: 0;
  }

  .c-brownIconLink {
    gap: 12.8px;
    line-height: 24px;
  }

  .c-brownIconLink span.icon {
    width: 24px;
    height: 24px;
    flex-basis: 24px;
  }

  .c-brownIconLink span.icon img {
    width: 12px;
    height: 10px;
  }

  .c-externalLink.c-brownIconLink span.icon {
    margin-right: 12.4px;
  }

  .c-externalLink.c-brownIconLink::after {
    height: 24px;
  }

  .c-imgLink figure,
  .c-imgLink .c-linkThumb {
    border-radius: 16px;
  }

  .c-imgBox {
    grid-template-columns: 1fr !important;
    gap: 24px;
  }

  .c-imgBox.w-trio:not(:has(.c-imgBox__leftWide, .c-imgBox__rightWide)) {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .c-imgBox.w-trio .c-imgBox {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .c-imgBox.w-trio .c-imgBox__leftWide,
  .c-imgBox.w-trio .c-imgBox__rightWide,
  .c-imgBox.w-trio .c-imgBox__leftWide + div,
  .c-imgBox.w-trio .c-imgBox__leftWide + figure,
  .c-imgBox.w-trio:has(.c-imgBox__rightWide) > figure,
  .c-imgBox.w-trio:has(.c-imgBox__rightWide) > div {
    grid-column: 1/3;
  }

  .c-imgBox[class*=w-]:not(.--rev) > div:last-child,
  .c-imgBox[class*=w-]:not(.--rev) > figure:last-child {
    margin-left: auto;
    margin-right: auto;
  }

  .c-imgBox[class*=w-].--rev > div:first-child,
  .c-imgBox[class*=w-].--rev > figure:first-child {
    margin-left: auto;
    margin-right: auto;
  }

  .c-imgBox.w-180.--rev > div:first-child,
  .c-imgBox.w-180.--rev > figure:first-child {
    max-width: 180px;
  }

  .c-imgBox.w-200.--rev > div:first-child,
  .c-imgBox.w-200.--rev > figure:first-child {
    max-width: 200px;
  }

  .c-imgBox.w-240.--rev > div:first-child,
  .c-imgBox.w-240.--rev > figure:first-child {
    max-width: 240px;
  }

  .c-imgBox.w-380.--rev > div:first-child,
  .c-imgBox.w-380.--rev > figure:first-child {
    max-width: 380px;
  }

  .c-imgBox__oneThird.--small {
    max-width: calc(50% - 8px);
  }

  .c-imgBox__twoThirds.--double + .c-imgBox__oneThird img {
    max-width: calc(50% - 8px);
  }

  .c-imgBox figure img {
    border-radius: 8px;
    text-align: center;
  }

  .c-imgBox .c-figcaption,
  .c-imgBox figcaption,
 figcaption.tx-figcaption {
    font-size: 1.2rem;
  }

  .c-imgBoxInner.wide {
    gap: 16px;
  }

  .c-flexBox {
    flex-direction: column;
    gap: 24px;
  }

  .c-flexBox > div {
    flex-basis: auto;
  }

  .c-ul > li:not(:first-child) {
    margin-top: .7em;
  }

  .c-ul > li.narrow:not(:first-child) {
    margin-top: .25em;
  }

  .c-ol > li:not(:first-child) {
    margin-top: .7em;
  }

  .c-ol > li.narrow:not(:first-child) {
    margin-top: .25em;
  }

  .main-en .c-table th,
  .main-en .c-table td {
    font-size: 14px;
  }

  .c-tableCaption {
    width: 90vw;
    position: sticky;
    top: 0;
    left: 0;
  }

  .c-tableWrap {
    width: 100%;
    overflow-x: scroll;
  }

  .main-en .c-tableWrap table th,
  .main-en .c-tableWrap table td {
    font-size: 14px;
  }

  .c-tableWrap table {
    width: 768px;
  }

  .main-en .c-tableWrap table {
    width: 960px;
  }

  .c-pc {
    display: none;
  }

  .c-sp {
    display: inline;
  }

  .c-articleList,
  .c-articleList:not(.slick-slider) {
    grid-template-columns: 1fr;
    margin-left: auto;
    margin-right: auto;
    max-width: 378px;
  }

  .c-articleLink {
    max-width: 378px;
  }

  .c-articleTitle {
    font-size: 1.6rem;
  }

  .c-articleContents {
    padding: 20px 16px;
  }

  .c-text:not(:first-child) {
    margin-top: 16px;
  }

  .fs-18 {
    font-size: 1.6rem!important;
  }

  .fs-20 {
    font-size: 1.8rem;
  }

  .fs-22 {
    font-size: 2rem;
  }

  .fs-16-14 {
    font-size: 1.4rem!important;
  }

  .fs-24-18 {
    font-size: 1.8rem;
  }

  .fs-26-20 {
    font-size: 2rem;
  }

  .fs-32 {
    font-size: 2.2rem;
  }

  .fs-36 {
    font-size: 2.4rem;
  }

  .fs-40 {
    font-size: 3.2rem;
  }

  .fs-48 {
    font-size: 3.6rem;
  }

  .mt-16-8 {
    margin-top: 8px;
  }

  .mt-24-16 {
    margin-top: 16px;
  }

  .mt-32-16 {
    margin-top: 16px;
  }

  .mt-32-24 {
    margin-top: 24px;
  }

  .mt-40-24 {
    margin-top: 24px;
  }

  .mt-48-24 {
    margin-top: 24px;
  }

  .mt-56-32 {
    margin-top: 32px;
  }

  .mt-72-40 {
    margin-top: 40px;
  }

  .mt-80-40 {
    margin-top: 40px;
  }

  .p-groupHeader-01 {
    position: static;
    height: 48px;
  }

  .p-groupHeader__groupLogo {
    padding-top: 4px;
    padding-bottom: 4px;
  }

  .p-groupHeader__siteLogo {
    display: none;
  }

  .p-siteHeader {
    top: 0;
  }

  .p-siteHeader__sp {
    display: flex;
    align-items: center;
  }

  .p-siteHeader__inner {
    border-top: var(--color--bbb) solid 1px;
    opacity: 0;
    display: block;
    position: absolute;
    left: 0;
    width: 100vw;
    transition: all .3s;
    background: var(--color--white);
    overflow-y: scroll;
    top: 44px;
    height: 0;
    max-height: calc(100vh - 44px);
    z-index: -1;
  }

  .p-siteHeader__inner.is-sp-open {
    z-index: 100;
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    height: auto;
  }

  .p-spNavWrapper {
    display: none;
    background: var(--color--white);
    position: absolute;
    z-index: 100;
    width: 100%;
    height: calc(100vh - 48px - 47px);
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
  }

  .p-gNav {
    display: block;
    margin-left: 0;
  }

  .p-gNav__item {
    position: relative;
    padding: 0;
    width: 100%;
    font-size: 1.5rem;
    border-bottom: var(--color--bbb) solid 1px;
  }

  .p-gNav__item:not(.js-gNav) {
    background: url(../img/icon-arrowR-red.svg) no-repeat right 5% top 18px/18px 14px;
  }

  .p-gNav__transition {
    font-size: 1.5rem;
    padding: 1em;
    position: static;
  }

  .p-gNav__transition::after {
    content: none;
  }

  .p-gNav__btn {
    display: block;
  }

  .p-gNav__inner {
    display: none;
    position: relative;
    left: 0;
    width: 100%;
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    transform: scaleY(1);
  }

  .p-gNav__child {
    background: var(--color--eee);
    border-radius: 0;
    margin-top: 0;
    padding: 0;
  }

  .p-gNav__child ul {
    display: block;
    width: 100%;
  }

  .p-gNav__child ul li {
    max-width: 100%;
  }

  .p-gNav__child ul li.group {
    display: block;
  }

  .p-gNav__child ul li.group .parent {
    color: var(--color--333);
    font-size: 1.5rem;
    padding: 1em 1em 0;
  }

  .p-gNav__child ul a {
    font-size: 1.5rem;
    padding: 1em;
  }

  .p-gNav__child figure,
  .p-gNav__child .c-linkThumb {
    display: none;
  }

  .p-gNav__child figure + .c-arrowLink,
  .p-gNav__child .c-linkThumb + .c-arrowLink {
    margin-top: 0;
  }

  .p-gNav__child .c-arrowLink {
    background-position-x: right;
    font-weight: 400;
    padding-left: 0;
  }

  .p-gNav__grandChild {
    margin-top: 0;
  }

  .p-gNav__grandChild a {
    margin-top: 0;
  }

  .p-headerUtil {
    display: block;
    margin-right: 0;
  }

  .p-langNav {
    justify-content: flex-start;
    padding: 24px 5%;
  }

  .p-langNav__item.current {
    color: var(--color--666);
    font-weight: 400;
  }

  .p-searchOpenTrigger {
    display: none;
  }

  .p-searchOpenForm {
    display: block !important;
    position: static;
    border-radius: 0;
    transform: none;
    width: 100%;
    padding: 0 5% 24px;
  }

  .p-gNavOverlay {
    background: var(--color--white);
    top: 48px;
  }

  .p-share {
    margin-top: 72px;
  }

  .p-share .c-contentsInner {
    justify-content: center;
  }

  .p-share__title {
    margin-right: 16px;
  }

  .p-shareList {
    gap: 12px;
  }

  .p-shareList a img {
    width: 32px;
  }

  .p-shareList a img.-in {
    width: 38px;
  }

  .p-toTop {
    right: 16px;
    bottom: 8px;
  }

  .p-gSitemap {
    display: block;
    margin-top: 30px;
  }

  .p-gSitemap__logo {
    text-align: center;
  }

  .p-gSitemap__movie {
    text-align: center;
  }

  .p-gSitemap__movie img {
    margin: 0 auto;
  }

  .p-gSitemapBlock {
    display: none;
  }

  .p-gLinkList {
    flex-direction: column;
    gap: 20px;
  }

  .p-main p {
    line-height: 1.75;
  }

  .p-breadNav {
    padding-left: 16px;
    padding-right: 16px;
  }

  .p-pageTitle {
    height: 80px;
  }

  .main-en .p-pageTitle {
    height: 100px;
  }

  .main-en .p-pageTitle h1 {
    font-size: 1.6rem;
  }

  .p-pageTitle h1 {
    font-size: 2rem;
  }

  .p-pageTitle h1.bg {
    padding: 4px;
  }

  .p-pageTitle h1:has(img) img {
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
  }

  .p-breadNav + .p-lead {
    margin-top: 24px;
  }

  .p-lead {
    margin-top: 40px;
  }

  .p-lowerContents {
    padding: 32px 0 48px;
  }

  .p-lowerContents__title {
    font-size: 2.2rem;
  }

  .p-sectionTitle {
    font-size: 22px;
    padding-bottom: .5em;
  }

  .p-sectionSubtitle {
    font-size: 20px;
  }

  .p-tab {
    gap: 6px;
  }

  .p-tab__item a {
    padding-right: 8px;
    padding-left: 8px;
  }

  .p-tab__item span {
    font-size: 1.3rem;
  }

  .p-filter .c-contentsInner.bg-gray {
    padding: 8px 16px 16px;
  }

  .p-filterForm:has(fieldset) {
    grid-template-columns: 1fr;
  }

  .p-filterForm fieldset legend {
    border-bottom: none;
    padding-left: 0;
  }

  .p-filterForm .p-filterForm__item {
    display: block;
    width: 100%;
    padding-top: 0;
  }

  .main-en .p-listTable th,
  .main-en .p-listTable td {
    font-size: 14px;
  }

  .p-listTable th,
  .p-listTable td {
    display: block;
  }

  .p-listTable th:first-child {
    border-bottom: none;
    width: 100%;
    padding: 1em .5em 0;
  }

  .p-listTable td {
    border-top: none;
    padding: 1em .5em;
  }

  .p-listTable tr:not(:last-of-type) td {
    border-bottom: none;
  }

  .p-modalWindow {
    max-height: 98vh;
  }

  .p-modalWindow-pacman video {
    width: 320px;
  }

}

@media screen and (max-width: 480px) {
  .p-copyright {
    font-size: 1.2rem;
  }
}

@media (any-hover: hover) {
  a:hover {
    outline-width: 0;
  }

  .c-button--more:hover {
    background-color: var(--color--red);
  }

  .c-button--back span.icon:hover {
    background-color: var(--color--red);
  }

  .c-button--back:hover span.icon {
    background-color: var(--color--red);
  }

  .c-button--close span.icon:hover {
    background-color: var(--color--red);
  }

  .c-button--close:hover span.icon {
    background-color: var(--color--red);
  }

  .c-arrowLink:hover {
    color: var(--color--red);
  }

  .c-arrowLink-down:hover{
    color: var(--color--red);
}

  .c-brownIconLink span.icon:hover {
    background-color: var(--color--red);
  }

  .c-brownIconLink:hover span.icon {
    background-color: var(--color--red);
  }

  .c-externalLink:hover {
    color: var(--color--red);
    text-decoration: underline;
  }

  .c-textLink:hover {
    text-decoration: none;
  }

  .c-textLink.--rev:hover {
    color: var(--color--red);
    text-decoration: underline;
  }

  .c-imgLink:hover figure img,
  a:hover .c-linkThumb img {
    transform: scale(1.1);
  }

  .c-imgLink:hover .c-arrowLink {
    color: var(--color--red);
    text-decoration: underline;
  }

  .c-articleLink:hover figure img {
    transform: scale(1.1);
  }

  .slick-prev:hover,
  .slick-next:hover {
    background-color: var(--color--red);
  }

  .slick-prev.slick-disabled:hover,
  .slick-next.slick-disabled:hover {
    background-color: var(--color--brown);
  }

  .p-gNav__item:hover .p-gNav__transition::after {
    transform: scale(1, 1);
  }

  .p-shareList a:hover {
    opacity: .7;
  }

  .p-toTop a:hover {
    background-color: var(--color--red);
  }

  .p-breadNav nav span a:hover {
    color: var(--color--red);
  }

  .p-tab__item:hover {
    background-color: var(--color--brown);
    cursor: pointer;
  }

  .p-tab__item:hover a {
    color: var(--color--white);
  }

  .p-pager a:hover {
    color: var(--color--666);
    font-weight: 400;
  }

  .p-filterForm label:hover {
    cursor: pointer;
  }
}