@charset "UTF-8";
:root {
  /* Colors */
  --color-main: #62b0e2;
  --color-white: #fff;
  --color-black: #111;
  --color-light-gray: #F5F5F5;
  --color-dark: #777;
  --color-brand-black: #000;
  --color-font: #111;
  --color-font-sub: #777;
  --color-bg-base: #F5F5F5;
  --color-border-base: rgb(0 0 0 / 0.13);
  --color-border-light: rgb(0 0 0 / 0.08);
  --color-link: #62b0e2;
  --color-error: #CC372F;
  /* Font */
  --font-family: a-otf-ryumin-pr6n, serif;
  --font-family-body: a-otf-ryumin-pr6n, serif;
  --font-family-title: futura-pt, a-otf-ud-shin-go-pr6n, sans-serif;
  --font-family-title-ja: a-otf-ud-shin-go-pr6n, sans-serif;
  --font-family-en: futura-pt;
  --font-family-en-body: "minion-pro-display";
  --font-family-en-title: futura-pt;
  --font-family-en-en: futura-pt;
  --font-family-cn-body: "FZXYSK", serif;
  --font-family-cn-title: futura-pt, "FZXDX_GB18030", sans-serif;
  --font-family-cn-en: futura-pt;
  --font-weight-r: 400;
  --font-weight-m: 500;
  --font-weight-d: 600;
  --font-weight-b: 700;
  --line-height: 1.5;
  --font-size-xs: 1.4rem;
  --font-size-sm: 1.5rem;
  --font-size-md: 1.6rem;
  --font-size-lg: 1.8rem;
  --font-size-xl: 1.9rem;
  /* Breakpoint */
  --breakpoint: 750px;
  --breakpoint-md: 1200px;
  --breakpoint-header: 1250px;
  /* width */
  --width-content: 1360px;
  --gutter-content-sp: 5.33333vw;
  /* height */
  /* Dimensions */
  --padding-top-content: 108px;
  --padding-top-content-sp: 56px;
  --padding-bottom-content: 128px;
  --padding-bottom-content-sp: 72px;
  /* margin, padding */
  --block-2xs: 12px;
  --block-xs: 16px;
  --block-sm: 20px;
  --block-md: 24px;
  --block-lg: 28px;
  --block-xl: 56px;
  --block-2xl: 80px;
  /* Adjust margin */
  --adjust-margin-3xl: 144px;
  --adjust-margin-2xl: 108px;
  --adjust-margin-xl: 80px;
  --adjust-margin-lg: 56px;
  --adjust-margin-md: 48px;
  --adjust-margin-sm: 32px;
  --adjust-margin-xs: 16px;
  /* border-radius */
  --border-radius-pill: calc(infinity * 1px);
  /* Transitions */
  --transition-duration: 0.4s;
  --opacity-cubic-bezier: cubic-bezier(0.165, 0.84, 0.44, 1);
}

@media screen and (width <= 750px) {
  :root {
    /* margin, padding */
    --block-2xs: 8px;
    --block-xs: 12px;
    --block-sm: 16px;
    --block-md: 20px;
    --block-lg: 24px;
    --spacing-xl: 40px;
    --block-2xl: 56px;
    /* Adjust margin */
    --adjust-margin-3xl: 80px;
    --adjust-margin-2xl: 64px;
    --adjust-margin-xl: 56px;
    --adjust-margin-lg: 40px;
    --adjust-margin-md: 32px;
    --adjust-margin-sm: 28px;
    --adjust-margin-xs: 16px;
    /* font */
    --font-size-xs: 1.3rem;
    --font-size-sm: 1.4rem;
    --font-size-md: 1.4rem;
    --font-size-lg: 1.6rem;
    --font-size-xl: 1.7rem;
  }
}
*, *::before, *::after {
  box-sizing: border-box;
}

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, main, nav, section {
  display: block;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote::before, blockquote::after {
  content: "";
  content: none;
}

q::before, q::after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/**
 * Base
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: none;
  padding: 0;
}

button {
  margin: 0;
  border: none;
  padding: 0;
  background-color: transparent;
  font-family: inherit;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
}

img {
  height: auto;
  vertical-align: top;
}

img, picture {
  max-width: 100%;
}

textarea {
  vertical-align: top;
  font-family: inherit;
}

button {
  cursor: pointer;
}

input[type=button], input[type=checkbox], input[type=image], input[type=radio], input[type=reset], input[type=submit] {
  cursor: pointer;
}

label,
select {
  cursor: pointer;
}

input[type=text] {
  font-family: inherit;
}

html,
body {
  height: 100%;
  -ms-overflow-style: -ms-autohiding-scrollbar;
}

html {
  font-size: 62.5%;
  scroll-padding-top: var(--js-height-header);
  scroll-behavior: smooth;
}
html.is-menu-open body, html.is-search-open body {
  overflow-x: visible;
}
html[lang^=en] {
  --font-family: var(--font-family-en-body);
  --font-family-body: var(--font-family-en-body);
  --font-family-title: var(--font-family-en-title);
  --font-family-title-ja: var(--font-family-en-title);
}
html[lang^=zh] {
  --font-family: var(--font-family-cn-body);
  --font-family-body: var(--font-family-cn-body);
  --font-family-title: var(--font-family-cn-title);
  --font-family-title-ja: var(--font-family-cn-title);
}

body {
  color: var(--color-font);
  font-family: var(--font-family);
  line-height: var(--line-height);
  word-wrap: break-word;
  overflow-wrap: break-word;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: unset;
  -webkit-text-size-adjust: 100%;
  transition: opacity var(--transition-duration) var(-opacity-cubic-bezier);
}

a {
  border-bottom: 1px solid var(--color-main);
  color: var(--color-main);
  text-decoration: none;
  transition: color 0.2s, border 0.2s;
}
a:hover {
  color: var(--color-main);
  border-bottom: 0;
}
a.js-link-icon:not(:is(.m-link, .m-linkBtn)) {
  border-bottom: 0;
}
a.js-link-icon:not(:is(.m-link, .m-linkBtn)) > span:first-child {
  border-bottom: 1px solid var(--color-font);
  transition: color 0.2s, border 0.2s;
}
a.js-link-icon:not(:is(.m-link, .m-linkBtn)):hover > span:first-child {
  border-bottom: 0;
}

dialog {
  max-width: calc(100% - 32px);
  max-height: calc(100% - 32px);
  padding: 0;
  border: none;
}
dialog::backdrop {
  background-color: rgba(0, 0, 0, 0.3);
}
html.js-unavailable dialog {
  position: relative;
  display: block;
}

button, details {
  color: var(--color-font);
  -webkit-tap-highlight-color: transparent;
}

/* title */
@font-face {
  font-family: "FZXDX_GB18030";
  src: url("/ja/assets/font/cn/FZXDX_GB18030_V1.10.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
/* body */
@font-face {
  font-family: "FZXYSK";
  src: url("/ja/assets/font/cn/FZXYSK.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "FZXYSK";
  src: url("/ja/assets/font/cn/FZXYSK.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "FZXYSK";
  src: url("/ja/assets/font/cn/FZXYSK.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "FZXYSK";
  src: url("/ja/assets/font/cn/FZXYSK.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
/**
 * keyframes
 */
@keyframes loadingBar {
  0% {
    left: 0;
    width: 0;
  }
  20% {
    left: 0;
    width: 0;
  }
  30% {
    left: 0;
  }
  100% {
    left: 100%;
    width: 100%;
  }
}
@keyframes loadingBar {
  0% {
    left: 0;
    width: 0;
  }
  20% {
    left: 0;
    width: 0;
  }
  30% {
    left: 0;
  }
  100% {
    left: 100%;
    width: 100%;
  }
}
@keyframes scrollBar {
  0% {
    top: 0;
    height: 0;
  }
  15% {
    top: 0;
    height: 0;
  }
  25% {
    top: 0;
  }
  60% {
    top: 100%;
    height: 100%;
  }
  100% {
    top: 100%;
    height: 100%;
  }
}
@keyframes scrollBar {
  0% {
    top: 0;
    height: 0;
  }
  15% {
    top: 0;
    height: 0;
  }
  25% {
    top: 0;
  }
  60% {
    top: 100%;
    height: 100%;
  }
  100% {
    top: 100%;
    height: 100%;
  }
}
/* ----------------------------------------------------------------
    Article (.l-article[-*])
----------------------------------------------------------------- */
/* .l-article-col
----------------------------------------------- */
.l-article-col__inner {
  display: flex;
  gap: 80px;
}
.l-article-col__main {
  flex: 1 1 auto;
  width: 100%;
}
.l-article-col__main > *:first-child {
  margin-top: 0;
}
.l-article-col__main > *:last-child {
  margin-bottom: 0;
}
.l-article-col__sub {
  flex: 1 0 240px;
  max-width: 240px;
  width: 100%;
}
.l-article-col__sub > *:first-child {
  margin-top: 0;
}
.l-article-col__sub > *:last-child {
  margin-bottom: 0;
}
.l-article-col__sub .clamp-wrapper .clamp-toggle {
  margin-top: 16px;
}
.l-article-col__sub .clamp-wrapper .clamp-toggle button {
  position: relative;
  width: 100%;
  text-align: right;
  padding-right: 17px;
  color: var(--color-font-sub);
  font-family: var(--font-family-en);
  line-height: 1.4;
  letter-spacing: 0.01em;
  font-size: 1.3rem;
  transition: color 0.2s;
}
.l-article-col__sub .clamp-wrapper .clamp-toggle button::before, .l-article-col__sub .clamp-wrapper .clamp-toggle button::after {
  display: block;
  content: "";
  position: absolute;
  width: 9px;
  height: 1px;
  background-color: var(--color-font-sub);
  inset: 0 0 0 auto;
  top: 50%;
  transition: background-color 0.2s;
}
.l-article-col__sub .clamp-wrapper .clamp-toggle button::before {
  display: block;
  content: "";
  position: absolute;
}
.l-article-col__sub .clamp-wrapper .clamp-toggle button::after {
  transform: rotate(90deg);
}
.l-article-col__sub .clamp-wrapper .clamp-toggle button[aria-expanded=true]::after {
  opacity: 0;
}
.l-article-col__sub .clamp-wrapper .clamp-toggle button:hover, .l-article-col__sub .clamp-wrapper .clamp-toggle button:active, .l-article-col__sub .clamp-wrapper .clamp-toggle button:focus-visible {
  color: var(--color-main);
}
.l-article-col__sub .clamp-wrapper .clamp-toggle button:hover::before, .l-article-col__sub .clamp-wrapper .clamp-toggle button:hover::after, .l-article-col__sub .clamp-wrapper .clamp-toggle button:active::before, .l-article-col__sub .clamp-wrapper .clamp-toggle button:active::after, .l-article-col__sub .clamp-wrapper .clamp-toggle button:focus-visible::before, .l-article-col__sub .clamp-wrapper .clamp-toggle button:focus-visible::after {
  background-color: var(--color-main);
}
@media only screen and (max-width: 750px) {
  .l-article-col__inner {
    flex-direction: column;
    gap: 48px;
  }
  .l-article-col__main {
    flex: 1 1 100%;
  }
  .l-article-col__sub {
    flex: 1 1 100%;
  }
}
.l-article-col__sub {
  max-width: 100%;
}

/* .l-article-info
----------------------------------------------- */
.l-article-info {
  margin-top: var(--block-md);
}
.l-article-info__title {
  font-size: 1.6rem;
}
.l-article-info__title--en {
  font-family: var(--font-family-en);
  letter-spacing: 0.06em;
}
.l-article-info__labelList {
  margin-top: 12px;
}
.l-article-info__labelList + .clamp-fade + .clamp-toggle {
  position: relative;
}
.l-article-info__labelList + .clamp-fade + .clamp-toggle::before {
  display: block;
  content: "";
  position: absolute;
  width: 148px;
  height: 1px;
  background-color: rgba(0, 0, 0, 0.13);
  top: 50%;
}
.l-article-info__labelListInner {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 4px;
}
.l-article-info__labelListItem {
  display: flex;
}
.l-article-info__labelListItem a {
  display: inline-flex;
  border: 1px solid var(--color-dark);
  border-radius: 99px;
  text-decoration: none;
  padding: 4px 12px 3px;
  background-color: var(--color-white);
  color: var(--color-font-sub);
  font-family: var(--font-family-title);
  line-height: 1.4;
  font-size: 1.2rem;
  letter-spacing: 0;
  transition: color 0.2s, border 0.2s;
}
.l-article-info__labelListItem a:hover, .l-article-info__labelListItem a:active, .l-article-info__labelListItem a:focus-visible {
  color: var(--color-main);
  border: 1px solid var(--color-main);
}
html[lang=en] .l-article-info__labelListItem a {
  font-size: 1.4rem;
}
.l-article-info__list {
  margin-top: 12px;
}
.l-article-info__listInner {
  display: grid;
  row-gap: 6px;
  text-align: left;
}
.l-article-info__listItem {
  position: relative;
  padding-left: 11px;
}
.l-article-info__listItem::before {
  display: block;
  content: "";
  position: absolute;
  top: 0.8em;
  left: 0;
  width: 3px;
  height: 3px;
  background-color: var(--color-dark);
  border-radius: 50%;
}
.l-article-info__listText {
  color: var(--color-font-sub);
  font-family: var(--font-family-title);
  line-height: 1.6;
  font-size: 12px;
  letter-spacing: 0.03em;
}
.l-article-info__listLink {
  border: 0;
  color: var(--color-font-sub);
}
.l-article-info__listLink:hover, .l-article-info__listLink:active, .l-article-info__listLink:focus-visible {
  color: var(--color-main);
}
@media only screen and (max-width: 750px) {
  .l-article-info {
    width: 100%;
  }
  .l-article-info__labelList + .clamp-fade + .clamp-toggle::before {
    width: calc(100% - 84px);
  }
}

/* .l-article-info-sns
----------------------------------------------- */
.l-article-info-sns {
  margin-top: 40px;
}
.l-article-info-sns__inner {
  display: flex;
  flex-wrap: nowrap;
  gap: 24px;
  align-items: center;
  justify-content: space-between;
}
.l-article-info-sns__title {
  font-size: 1.4rem;
}
.l-article-info-sns__title--en {
  font-family: var(--font-family-en);
}
.l-article-info-sns__listInner {
  display: flex;
  flex-wrap: nowrap;
  gap: 16px;
}
.l-article-info-sns__listItem {
  display: flex;
  align-items: center;
}
.l-article-info-sns__listItem a {
  display: block;
  text-decoration: none;
  border: none;
}

/* ----------------------------------------------------------------
    History
----------------------------------------------------------------- */
/* .l-history-col
----------------------------------------------- */
.l-history-col {
  padding: 128px 0;
}
.l-content-area__inner > .l-history-col {
  padding-block: 0;
}
.l-history-col--history .l-history-col__container .m-container,
.l-history-col--history .l-history-col__container .m-container--narrow {
  max-width: unset;
  margin: 0;
  width: 100%;
}
.l-history-col--history table {
  width: 100%;
}
.l-history-col--history table tbody tr {
  border-top: 1px solid #dedede;
}
.l-history-col--history table tbody tr:first-child {
  border-top: none;
}
.l-history-col--history table tbody th {
  width: 200px;
  border-right: 2px solid var(--color-black);
  padding: 12px 20px 12px 0;
  text-align: left;
  font-family: var(--font-family-title);
  font-size: 1.6rem;
  font-weight: 600;
}
html[lang=en] .l-history-col--history table tbody th {
  font-size: 1.8rem;
  font-weight: var(--font-weight-m);
}
.l-history-col--history table tbody td {
  padding: 12px 0 12px 32px;
  font-family: var(--font-family-body);
  font-size: 1.7rem;
  line-height: 2;
}
html[lang=en] .l-history-col--history table tbody td {
  font-size: 1.9rem;
}
.l-history-col--history .c-textWithImage .m-container {
  gap: 56px;
}
.l-history-col--history .c-textWithImage .c-textWithImage__image {
  flex: 1 1 auto;
  max-width: 464px;
  width: 100%;
}
.l-history-col--color-02 {
  background-color: var(--color-bg-base);
}
.l-history-col__container {
  padding-left: 16.9117647059%;
}
.l-history-col__hdg {
  font-family: var(--font-family-title);
  font-size: 3.4rem;
  font-weight: var(--font-weight-d);
  letter-spacing: 0.05em;
}
html[lang=en] .l-history-col__hdg {
  font-size: 3.8rem;
  font-weight: var(--font-weight-r);
}
.l-history-col__subSect {
  margin-top: 24px;
}
.l-history-col__subSect > *:first-child:not(.l-history-col__subSect__hdg) {
  margin-top: 0;
}
.l-history-col__subSect__hdg {
  position: relative;
  margin: 88px 0 24px;
  padding-left: 84px;
  font-family: var(--font-family-title);
  font-size: 2.6rem;
  font-weight: var(--font-weight-d);
  letter-spacing: 0.05em;
}
.l-history-col__subSect__hdg + .l-history-col__subSect__container {
  margin-top: 0;
}
.l-history-col__subSect__hdg::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  border-top: 1px solid currentColor;
  width: 64px;
}
html[lang=en] .l-history-col__subSect__hdg {
  font-size: 3rem;
  font-weight: var(--font-weight-r);
}
.l-history-col__subSect__container {
  margin-top: var(--block-2xl);
  display: flex;
  gap: 64px;
}
#history .l-history-col__subSect__container {
  gap: 56px;
}
.l-history-col__subSect__body {
  flex: 0 1 auto;
  width: 100%;
}
.l-history-col__subSect__body > *:first-child {
  margin-top: 0;
}
.l-history-col__subSect__images {
  flex: 1 1 auto;
  max-width: 464px;
  width: 100%;
}
.l-history-col__subSect__images > *:first-child {
  margin-top: 0;
}
.l-history-col__subSect__images > figure {
  margin-top: 28px;
}
.l-history-col__subSect__images a {
  display: block;
  position: relative;
  border-bottom: none;
}
.l-history-col__subSect__images .imgWrapper > img {
  width: 100%;
  height: auto;
}
.l-history-col__subSect__images .imgWrapper + .imgWrapper {
  margin-top: 20px;
}
.l-history-col__subSect__images .zoomIcon {
  display: none;
  position: absolute;
  right: 10px;
  bottom: 10px;
  width: 20px;
  height: 20px;
  background-color: #FFF;
  transition: background-color 0.2s;
}
.l-history-col__subSect__images .zoomIcon > div {
  position: relative;
  margin: 2px;
  flex-grow: 1;
}
.l-history-col__subSect__images .zoomIcon img {
  position: absolute;
  width: 100%;
  height: 100%;
  transition: opacity 0.2s;
}
.l-history-col__subSect__images .zoomIcon img:nth-child(2) {
  opacity: 0;
  -webkit-filter: brightness(0) saturate(100%) invert(93%) sepia(94%) saturate(0%) hue-rotate(248deg) brightness(106%) contrast(106%);
  filter: brightness(0) saturate(100%) invert(93%) sepia(94%) saturate(0%) hue-rotate(248deg) brightness(106%) contrast(106%);
}
.l-history-col__subSect__images a .zoomIcon {
  display: flex;
}
.l-history-col__subSect__images a:hover .zoomIcon {
  background-color: #62B0E2;
}
.l-history-col__subSect__images a:hover .zoomIcon img {
  opacity: 0;
}
.l-history-col__subSect__images a:hover .zoomIcon img:nth-child(2) {
  opacity: 1;
}
.l-history-col__subSect__images figcaption {
  margin-top: 16px;
  font-size: 1.3rem;
  line-height: 1.6;
}
html[lang=en] .l-history-col__subSect__images figcaption {
  font-size: 1.5rem;
  font-family: var(--font-family-en-title);
  font-weight: var(--font-weight-r);
}
.l-history-col__subSect__images figcaption .title {
  font-size: 1.5rem;
  line-height: 1.6;
}
html[lang=en] .l-history-col__subSect__images figcaption .title {
  font-size: 1.7rem;
}
.l-history-col__subSect__images figcaption p {
  margin-top: 4px;
}
.l-history-col__subSect__images .twoCol {
  display: flex;
  align-items: flex-start;
  gap: 28px;
}
.l-history-col__subSect__images .twoCol .image {
  width: 31.8965517241%;
  flex-shrink: 0;
}
.l-history-col__subSect__images .twoCol .imgWrapper + .imgWrapper {
  margin-top: 1px;
}
.l-history-col__subSect__images .twoCol .zoomIcon {
  right: 5px;
  bottom: 5px;
}
.l-history-col__subSect__images .twoCol figcaption {
  margin-top: 0;
}
.l-history-col__subSect__images .twoCol figcaption .title {
  margin-bottom: -1px;
  -webkit-transform: translateY(-5px);
  transform: translateY(-5px);
}
@media only screen and (max-width: 750px) {
  .l-history-col {
    padding: 72px 0;
  }
  .l-history-col--history .l-history-col__subSect .m-container {
    padding-inline: 0;
  }
  .l-history-col--history .c-textWithImage .m-container {
    gap: 32px;
    flex-direction: column-reverse !important;
  }
  .l-history-col--history .c-textWithImage .c-textWithImage__image {
    max-width: 100%;
  }
  .l-history-col--history .c-textWithImage .c-textWithImage__body {
    flex: 0 1 auto;
  }
  .l-history-col--history table tbody tr {
    border-top: 1px solid #dedede;
  }
  .l-history-col--history table tbody tr:first-child {
    border-top: 2px solid var(--color-black);
  }
  .l-history-col--history table tbody tr:last-child {
    border-bottom: 2px solid var(--color-black);
  }
  .l-history-col--history table tbody th, .l-history-col--history table tbody td {
    display: block;
    font-size: 1.6rem;
  }
  .l-history-col--history table tbody th {
    border-right: none;
    padding: 22px 0 0;
    width: auto;
  }
  .l-history-col--history table tbody td {
    padding: 0 0 18px;
    line-height: 1.8;
    margin-top: 4px;
  }
  html[lang=en] .l-history-col--history table tbody td {
    font-size: 1.8rem;
  }
  .l-history-col__container {
    padding: 0;
    gap: 48px;
  }
  .l-history-col__hdg {
    font-size: 2.3rem;
  }
  html[lang=en] .l-history-col__hdg {
    font-size: 2.5rem;
  }
  .l-history-col__subSect {
    margin-top: 20px;
  }
  .l-history-col__subSect__container {
    flex-direction: column;
    align-items: center;
  }
  .l-history-col__subSect__container.is-fadeIn {
    opacity: 1;
    transform: translateY(0);
  }
  #history .l-history-col__subSect__container {
    gap: 32px;
  }
  .l-history-col__subSect__body.m-wysiwyg {
    font-size: 1.6rem;
    line-height: 2.2;
  }
  .l-history-col__subSect__images {
    padding-top: 0;
    width: auto;
    max-width: 100%;
    flex: 0 1 auto;
  }
  .l-history-col__subSect__images a {
    pointer-events: none;
  }
  .l-history-col__subSect__images .imgWrapper + .imgWrapper {
    margin-top: 12px;
  }
  .l-history-col__subSect__images .zoomIcon {
    display: none !important;
  }
  .l-history-col__subSect__images figcaption {
    margin-top: 10px !important;
    line-height: 1.5;
  }
  html[lang=en] .l-history-col__subSect__images figcaption {
    font-size: 1.5rem;
  }
  .l-history-col__subSect__images figcaption .title {
    font-size: 1.4rem;
  }
  .l-history-col__subSect__images figcaption .title:not(:last-child) {
    margin-bottom: 5px;
  }
  html[lang=en] .l-history-col__subSect__images figcaption .title {
    font-size: 1.5rem;
    font-weight: var(--font-weight-m);
  }
  .l-history-col__subSect__images .twoCol {
    display: block;
  }
  .l-history-col__subSect__images .twoCol .image {
    margin-right: 0;
    width: auto;
  }
  .l-history-col__subSect__images .twoCol figcaption .title {
    -webkit-transform: none;
    transform: none;
  }
  .l-history-col__subSect__hdg {
    margin-top: 48px;
    padding: 0;
    font-size: 1.9rem;
  }
  .l-history-col__subSect__hdg::before {
    display: none;
  }
  html[lang=en] .l-history-col__subSect__hdg {
    font-size: 2.1rem;
  }
}

/* ----------------------------------------------------------------
    Header (.l-header[-*])
----------------------------------------------------------------- */
.l-header {
  position: sticky;
  top: 0;
  left: 0;
  z-index: 1000;
}
.l-header_body {
  background-color: var(--color-white);
  border-bottom: 1px solid var(--color-bg-base);
}
.l-header_inner {
  --padding-top-header: 16px;
  --padding-bottom-header: 18px;
  margin: 0 auto;
  width: 85%;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 48px;
  max-width: var(--width-content);
  min-height: 70px;
  padding: var(--padding-top-header) var(--NKN-gutter-header) var(--padding-bottom-header);
  margin: 0 auto;
  box-sizing: content-box;
}
.l-header_txt {
  display: flex;
  align-items: center;
  margin-bottom: 0;
}
.l-header_txt > b {
  padding-left: 10px;
}
.l-header_row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  flex: 1 1 auto;
}
.l-header_row:only-child {
  row-gap: calc(var(--padding-top-header) + 8px);
}
.l-header_row + .l-header_row {
  margin-top: 4px;
}
.l-header_row > :only-child {
  flex: 1;
}
.l-header_row-group {
  display: flex;
  column-gap: 32px;
}
@media only screen and (max-width: 1250px) {
  .l-header_inner {
    --padding-top-header: 5px;
    --padding-bottom-header: 8px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    column-gap: 12px;
    padding: 0 var(--gutter-content-sp);
    width: auto;
    min-height: 56px;
  }
  .l-header_row {
    flex: 0 1 auto;
    flex-wrap: nowrap;
    align-items: center;
    gap: 20px;
  }
  .l-header_row-group {
    display: contents;
  }
}

/* .l-header-logo
----------------------------------------------- */
.l-header-logo {
  display: flex;
  align-items: center;
  line-height: 1;
  width: 104px;
  flex: 0 0 auto;
}
.l-header-logo_wrap {
  display: flex;
  align-items: center;
  column-gap: 24px;
}
.l-header-logo_text {
  display: flex;
  align-items: center;
  column-gap: 8px;
}
.l-header-logo a {
  display: inline-flex;
  color: inherit;
  text-decoration: none;
  border: 0;
  transition: opacity var(--transition-duration) var(--opacity-cubic-bezier);
}
.l-header-logo a:hover, .l-header-logo a:active, .l-header-logo a:focus-visible {
  color: inherit;
}
@media only screen and (max-width: 1250px) {
  .l-header-logo {
    margin-right: auto;
  }
  .l-header-logo_wrap {
    column-gap: 8px;
  }
  .l-header-logo_faq {
    width: 160px !important;
  }
  .l-header-logo img {
    width: auto;
    max-height: 28px;
  }
}

/* .l-header-logo-02
----------------------------------------------- */
.l-header-logo-02 {
  min-width: 72px;
  width: 72px;
}
@media only screen and (max-width: 1250px) {
  .l-header-logo-02 {
    margin-top: 40px;
  }
}

/* .l-header-recruit
----------------------------------------------- */
.l-header-recruit {
  display: block;
}
.l-header-recruit--spOnly {
  display: none;
}
.l-header-recruit__inner {
  transition: background-color 0.2s;
}
.l-header-recruit__btn {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 70px;
  border: 0;
  text-decoration: none;
}
.l-header-recruit__btn::before {
  display: block;
  content: "";
  position: absolute;
  bottom: 0px;
  left: 0;
  right: 0;
  width: calc(100% - var(--padding-inline) * 2);
  height: 4px;
  margin: auto;
  background-color: var(--color-main);
  opacity: 0;
  transform: translateY(2px);
  transition: all var(--transition-duration) var(--opacity-cubic-bezier);
}
.l-header-recruit__btn:is(:hover, :active, :focus-visible, [aria-expanded=true], [aria-current=true], [aria-current=page], .is-current)::before {
  opacity: 1;
  transform: translateY(0);
}
.l-header-recruit__btn:is(:hover, :active, :focus-visible, [aria-expanded=true], [aria-current=true], [aria-current=page], .is-current) .l-header-recruit__btn-text {
  color: var(--color-main);
  font-weight: var(--font-weight-m);
}
.l-header-recruit__btn-text {
  position: relative;
  display: inline-block;
  color: var(--color-font);
  font-family: var(--font-family-title);
  font-weight: var(--font-weight-r);
  font-size: 1.4rem;
  line-height: 1.4;
  letter-spacing: 0.05em;
  border: 0;
  text-decoration: none;
  transition: color var(--transition-duration) var(--opacity-cubic-bezier);
}
.l-header-recruit__btn-text--en {
  font-family: var(--font-family-en);
}
@media only screen and (max-width: 1250px) {
  .l-header-recruit {
    margin-bottom: 20px;
  }
  .l-header-recruit__btn {
    display: none;
  }
  .l-header-recruit .l-header-nav_content {
    border: 0;
  }
  .l-header-recruit .l-header-nav_content-inner {
    padding: 0;
    border: 0;
  }
  .l-header-recruit .l-header-toggle-content-lyt__inner {
    padding: 0;
  }
  .l-header-recruit .l-header-toggle-content-lyt__category {
    display: none;
  }
  .l-header-recruit .l-header-toggle-content-lyt__linkListInner {
    gap: 20px;
  }
  .l-header-recruit .l-header-toggle-content-lyt__linkListItem {
    padding: 0;
    border: 0;
  }
  .l-header-recruit .l-header-toggle-content-lyt__linkListItem:last-child {
    border: 0;
  }
  .l-header-recruit .l-header-toggle-content-lyt__linkTitle {
    padding: 0;
  }
  .l-header-recruit .l-header-toggle-content-lyt__linkTitle::before {
    display: none;
  }
}

/* .l-header-recruit-content-lyt
----------------------------------------------- */
.l-header-recruit-content-lyt {
  background-color: var(--color-white);
}
.l-header-recruit-content-lyt__inner {
  padding: 48px 0;
  display: flex;
  margin: 0 auto;
  justify-content: center;
}
.l-header-recruit-content-lyt__inner > :first-child {
  margin-top: 0;
}

/* .l-header-search
----------------------------------------------- */
.l-header-search {
  display: block;
}
.l-header-search--spOnly {
  display: none;
}
.l-header-search__inner {
  height: 40px;
  width: 40px;
  background-color: var(--color-bg-base);
  border-radius: 50%;
  transition: background-color 0.2s;
}
.l-header-search__btn {
  position: absolute;
  height: 40px;
  width: 40px;
  background-color: var(--color-black);
  -webkit-mask-image: url("/ja/assets/img/icon/icon-search-01.svg");
  mask-image: url("/ja/assets/img/icon/icon-search-01.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 15px;
  mask-size: 15px;
  transition: background-color 0.2s;
}
.l-header-search__btn > span {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  white-space: nowrap;
  border: 0;
  clip-path: inset(50%);
}
.l-header-search__btn[aria-expanded=true] {
  background-color: var(--color-white);
}
.l-header-search__inner:has(.l-header-search__btn[aria-expanded=true]) {
  background-color: var(--color-main);
}
.l-header-search__btn:hover, .l-header-search__btn:active, .l-header-search__btn:focus-visible {
  background-color: var(--color-white);
}
.l-header-search__inner:has(.l-header-search__btn:hover, .l-header-search__btn:active, .l-header-search__btn:focus-visible) {
  background-color: var(--color-main);
}
@media only screen and (max-width: 1250px) {
  .l-header-search {
    display: none;
  }
  .l-header-search--spOnly {
    display: block;
  }
}

/* .l-header-search-content-lyt
----------------------------------------------- */
.l-header-search-content-lyt {
  background-color: var(--color-white);
}
.l-header-search-content-lyt__inner {
  padding: 48px 0;
  display: flex;
  margin: 0 auto;
  justify-content: center;
}
.l-header-search-content-lyt__inner > :first-child {
  margin-top: 0;
}

/* .l-header-menu
----------------------------------------------- */
.l-header-menu {
  width: 100%;
  background-color: var(--color-white);
}
.l-header-menu_content {
  display: flex;
  justify-content: space-between;
  column-gap: 32px;
}
.l-header-menu_content > :first-child {
  margin-top: 0;
}
.l-header-menu_content-group {
  display: flex;
  column-gap: 20px;
  flex: 1 0 auto;
}
.l-header-menu_content-group--sub {
  flex: 0 1 auto;
  flex-wrap: nowrap;
  align-items: center;
}
.l-header-menu_btn {
  display: none;
}
@media only screen and (max-width: 1250px) {
  .l-header-menu {
    order: 100;
  }
  .l-header-menu_content {
    position: fixed;
    top: var(--js-height-header);
    left: 0;
    display: block;
    width: 100%;
    height: fit-content;
    max-height: calc(100% - var(--js-height-header));
    background-color: var(--color-white);
    overflow-y: auto;
    box-shadow: 0 12px 16px 4px rgba(0, 0, 0, 0.05);
    z-index: -1;
  }
  .l-header-menu_content-group {
    display: block;
    padding: 0 var(--NKN-gutter-header) 24px;
  }
  .l-header-menu_content-group:only-child {
    padding-bottom: 0;
  }
  .l-header-menu_content-group--sub {
    margin-block: 40px;
    padding: 0 var(--gutter-content-sp);
    width: auto;
  }
  .l-header-menu_content--search {
    padding: 40px var(--gutter-content-sp);
  }
  .l-header-menu_btn {
    display: flex;
    justify-self: flex-end;
    position: relative;
    width: 24px;
    height: 40px;
    overflow: hidden;
  }
  .l-header-menu_btn::before {
    top: 14px;
  }
  .l-header-menu_btn::after {
    bottom: 14px;
  }
  .l-header-menu_btn-text {
    color: transparent;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }
  .l-header-menu_btn-text::before {
    top: 0;
    bottom: 0;
  }
  .l-header-menu_btn[aria-expanded=true]::before {
    transform: translateY(6px) rotate(-45deg);
  }
  .l-header-menu_btn[aria-expanded=true]::after {
    transform: translateY(-5px) rotate(45deg);
  }
  .l-header-menu_btn[aria-expanded=true] .l-header-menu_btn-text::before {
    opacity: 0;
  }
  .l-header-menu_btn::before, .l-header-menu_btn::after, .l-header-menu_btn-text::before {
    display: block;
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    width: 20px;
    height: 1px;
    margin: auto;
    background-color: var(--color-font);
    border-radius: 1px;
    transition: transform var(--transition-duration) var(--opacity-cubic-bezier);
  }
  .l-header-menu_backdrop {
    position: fixed;
    top: 0;
    left: 0;
    z-index: -2;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.3);
  }
}

/* .l-header-utility
----------------------------------------------- */
.l-header-utility {
  display: flex;
  gap: 20px;
  margin-bottom: 0;
}
.l-header-utility > li {
  display: flex;
  align-items: center;
}
.l-header-utility__link {
  position: relative;
  display: inline-block;
  color: var(--color-font);
  font-family: var(--font-family-title);
  font-weight: var(--font-weight-r);
  font-size: 1.4rem;
  text-decoration: none;
  border: 0;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
.l-header-utility__link--en {
  font-family: var(--font-family-en);
}
.l-header-utility__link:hover, .l-header-utility__link:active, .l-header-utility__link:focus-visible {
  color: var(--color-main);
}
@media only screen and (max-width: 1250px) {
  .l-header-utility {
    flex-direction: column;
    gap: 20px;
  }
}

/* .l-header-language
----------------------------------------------- */
.l-header-language .wovn-languages {
  display: flex !important;
  flex-wrap: nowrap;
  align-items: center;
  gap: 8px;
}
.l-header-language .wovn-switch {
  position: relative;
  padding-left: 9px;
  font-size: 1.2rem;
  font-family: var(--font-family-title);
  font-weight: var(--font-weight-r);
  color: var(--color-font);
  line-height: 1.4;
  letter-spacing: 0.03em;
  word-break: keep-all;
  transition: color 0.2s;
  cursor: pointer;
}
.l-header-language .wovn-switch:first-child {
  padding-left: 0;
}
.l-header-language .wovn-switch:first-child::before {
  display: none;
}
.l-header-language .wovn-switch::before {
  display: block;
  content: "";
  position: absolute;
  width: 1px;
  height: 14px;
  background-color: var(--color-border-base);
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.l-header-language .wovn-switch.selected {
  display: none;
  font-weight: var(--font-weight-d);
  cursor: initial;
}
.l-header-language .wovn-switch.selected:first-child + .wovn-switch {
  padding-left: 0;
}
.l-header-language .wovn-switch.selected:first-child + .wovn-switch::before {
  display: none;
}
.l-header-language .wovn-switch[data-value=en] {
  font-size: 1.4rem;
  font-family: var(--font-family-en);
  letter-spacing: 0.05em;
}
.l-header-language .wovn-switch:hover, .l-header-language .wovn-switch:active, .l-header-language .wovn-switch:focus-visible {
  color: var(--color-main);
}
@media only screen and (max-width: 1250px) {
  .l-header-language {
    margin-top: 20px;
  }
  .l-header-language .wovn-languages {
    gap: 12px;
  }
  .l-header-language .wovn-switch {
    padding-left: 13px;
  }
}

/* .l-header-nav
----------------------------------------------- */
.l-header-nav {
  display: flex;
}
.l-header-nav_title {
  display: none;
}
.l-header-nav_list {
  display: flex;
  align-items: flex-end;
  align-items: center;
  margin-bottom: 0;
}
.l-header-nav_list > li {
  flex: 0 1 auto;
}
.l-header-nav_btn {
  --padding-inline: 12px;
  padding: 0 var(--padding-inline);
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 70px;
  font-size: 1.6rem;
  font-weight: 450;
  color: var(--color-font);
  text-decoration: none;
  line-height: 1.4;
  transition: color var(--transition-duration) var(--opacity-cubic-bezier);
  border: 0;
  letter-spacing: 0.05em;
}
.l-header-nav_btn::before {
  display: block;
  content: "";
  position: absolute;
  bottom: 0px;
  left: 0;
  right: 0;
  width: calc(100% - var(--padding-inline) * 2);
  height: 4px;
  margin: auto;
  background-color: var(--color-main);
  opacity: 0;
  transform: translateY(2px);
  transition: all var(--transition-duration) var(--opacity-cubic-bezier);
}
:where(.l-header-nav_list > li:first-child) .l-header-nav_btn {
  padding-left: 0;
}
:where(.l-header-nav_list > li:first-child) .l-header-nav_btn::before {
  width: calc(100% - var(--padding-inline));
  right: auto;
}
:where(.l-header-nav_list > li:last-child) .l-header-nav_btn {
  padding-right: 0;
}
:where(.l-header-nav_list > li:last-child) .l-header-nav_btn::before {
  width: calc(100% - var(--padding-inline));
  left: auto;
}
:where(.l-header-nav_list > li:only-child) .l-header-nav_btn::before {
  width: 100%;
}
.l-header-nav_btn:is([aria-current=true], [aria-current=page], .is-current)::before {
  opacity: 1;
  transform: translateY(0);
}
.l-header-nav_btn:is([aria-current=true], [aria-current=page], .is-current)::before {
  background-color: var(--color-main);
}
.l-header-nav_btn:is([aria-current=true], [aria-current=page], .is-current):is([aria-expanded=true]) .l-header-nav_btn-text {
  font-weight: var(--font-weight-d);
  color: var(--color-main);
}
.l-header-nav_btn:is([aria-current=true], [aria-current=page], .is-current) .l-header-nav_btn-text {
  transition: color var(--transition-duration) var(--opacity-cubic-bezier);
  font-weight: var(--font-weight-d);
}
.l-header-nav_btn:is([aria-current=true], [aria-current=page], .is-current):hover, .l-header-nav_btn:is([aria-current=true], [aria-current=page], .is-current):active, .l-header-nav_btn:is([aria-current=true], [aria-current=page], .is-current):focus-visible {
  color: var(--color-main);
}
.l-header-nav_btn:is([aria-current=true], [aria-current=page], .is-current):hover::before, .l-header-nav_btn:is([aria-current=true], [aria-current=page], .is-current):active::before, .l-header-nav_btn:is([aria-current=true], [aria-current=page], .is-current):focus-visible::before {
  background-color: var(--color-main);
}
.l-header-nav_btn:is([aria-expanded=true]) .l-header-nav_btn-text {
  font-weight: var(--font-weight-m);
  color: var(--color-main);
}
.l-header-nav_btn-text {
  position: relative;
  display: inline-block;
  padding: 0;
  font-weight: var(--font-weight-m);
  font-family: var(--font-family-title);
}
.l-header-nav_btn-text--en {
  font-size: 1.6rem;
  font-family: var(--font-family-en);
}
.l-header-nav_btn-icon {
  margin-right: 4px;
}
.l-header-nav_btn:hover, .l-header-nav_btn:active, .l-header-nav_btn:focus-visible {
  color: var(--color-main);
}
.l-header-nav_btn:hover::before, .l-header-nav_btn:active::before, .l-header-nav_btn:focus-visible::before {
  background-color: var(--color-white);
}
.l-header-nav_content {
  z-index: -1;
  position: absolute;
  top: 100%;
  max-width: 100%;
  left: 50%;
  width: 100%;
  max-height: calc(100vh - var(--js-height-header));
  background-color: var(--color-white);
  box-shadow: 0 12px 16px 4px rgba(0, 0, 0, 0.05);
  overflow-y: auto;
  transform: translateX(-50%);
}
.l-header-nav_content-close {
  position: absolute;
  top: 40px;
  right: 40px;
  padding: 8px;
  width: 16px;
  height: 16px;
  border: none;
  background: transparent;
  cursor: pointer;
  font-size: 0;
}
.l-header-nav_content-close:focus-visible {
  outline: 2px solid var(--color-black);
  outline-offset: 2px;
}
.l-header-nav_content-close::before, .l-header-nav_content-close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 18px;
  height: 1px;
  background-color: var(--color-brand-black);
  transform-origin: center;
}
.l-header-nav_content-close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.l-header-nav_content-close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.l-header-nav_content-inner {
  margin: 0 auto;
  width: 85%;
  max-width: var(--width-content);
  box-sizing: content-box;
}
.l-header-nav_backdrop {
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
}
@media only screen and (max-width: 1250px) {
  .l-header-nav {
    display: block;
    margin: 0 calc(-1 * var(--NKN-gutter-header));
    border-top: 1px solid var(--color-bg-base);
  }
  .l-header-nav:first-child {
    border-top: none;
    padding-top: 12px;
  }
  .l-header-nav_title {
    display: block;
    margin-bottom: 0;
    padding: 8px var(--NKN-gutter-header);
    background-color: var(--NKN-color-bg-beige);
    color: var(--NKN-color-bg-beige);
  }
  .l-header-nav_list {
    display: block;
  }
  .l-header-nav_list > li {
    padding: 0 var(--gutter-content-sp);
  }
  .l-header-nav_list > li:has(.l-header-nav_btn:is([aria-current=true], [aria-current=page], .is-current)) {
    position: relative;
  }
  .l-header-nav_list > li:has(.l-header-nav_btn:is([aria-current=true], [aria-current=page], .is-current))::before {
    display: block;
    content: "";
    position: absolute;
    top: 12px;
    left: 0;
    width: 3px;
    height: 38px;
    background-color: var(--color-main);
    opacity: 1;
  }
  .l-header-nav_list > li > a {
    border-bottom: 1px solid var(--color-border-base);
  }
  .l-header-nav_btn {
    display: none;
    padding: 16px var(--NKN-gutter-header);
    bottom: 0;
    text-decoration: none;
  }
  .l-header-nav_btn:any-link {
    display: block;
    padding-block: 20px;
    height: auto;
  }
  .l-header-nav_btn:any-link::before {
    display: none;
  }
  .l-header-nav_btn:hover, .l-header-nav_btn:active, .l-header-nav_btn:focus-visible {
    color: var(--color-main);
  }
  .l-header-nav_list > li[aria-current=true] .l-header-nav_btn {
    color: var(--color-main);
  }
  .l-header-nav_content {
    position: relative;
    max-height: unset;
    box-shadow: unset;
    z-index: 0;
    border-bottom: 1px solid var(--color-border-base);
  }
  .l-header-nav_content-close {
    display: none;
  }
  .l-header-nav_content-inner {
    padding: 0;
    width: auto;
  }
}

/* .l-header-toggle-content-lyt
----------------------------------------------- */
.l-header-toggle-content-lyt {
  background-color: var(--color-white);
}
.l-header-toggle-content-lyt__inner {
  padding: 48px 0;
  display: flex;
  gap: 64px;
  margin: 0 auto;
  font-size: var(--font-size-md);
}
.l-header-toggle-content-lyt__category {
  flex: 1 0 auto;
  max-width: 340px;
  width: 100%;
  padding-right: 64px;
  height: auto;
  font-size: 2.6rem;
  line-height: 1.2;
  letter-spacing: 0.1em;
  border-right: 1px solid var(--color-border-base);
}
.l-header-toggle-content-lyt__category--en {
  font-family: var(--font-family-en);
}
.l-header-toggle-content-lyt__category > a {
  display: inline-block;
  border-bottom: none;
  text-decoration: none;
  color: var(--color-font);
}
.l-header-toggle-content-lyt__category > a:hover, .l-header-toggle-content-lyt__category > a:active, .l-header-toggle-content-lyt__category > a:focus-visible {
  color: var(--color-link);
}
.l-header-toggle-content-lyt__categoryLink > a {
  display: inline-block;
  position: relative;
  border-bottom: none;
  color: var(--color-font);
  font-family: var(--font-family-title);
  font-size: 2.6rem;
  line-height: 1.2;
  letter-spacing: 0.01em;
  transition: background-color 0.4s, color 0.2s, border-radius 0.2s, padding 0.4s;
  padding: 4px 0px 3px 36px;
}
.l-header-toggle-content-lyt__categoryLink > a .icon {
  position: absolute;
  left: 0;
  top: 6px;
  display: inline-block;
  border: 1px solid #62B0E2;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  box-sizing: border-box;
  vertical-align: middle;
  transition: background-color 0.2s;
}
.l-header-toggle-content-lyt__categoryLink > a .icon::before {
  content: "";
  position: absolute;
  left: 9px;
  top: 48%;
  margin-top: -2px;
  border-right: 1px solid #62B0E2;
  border-bottom: 1px solid #62B0E2;
  width: 4px;
  height: 4px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  transition: border-color 0.4s;
}
.l-header-toggle-content-lyt__categoryLink > a .text {
  display: inline;
  letter-spacing: 0.1em;
}
.l-header-toggle-content-lyt__categoryLink > a .text--en {
  font-family: var(--font-family-en);
}
.l-header-toggle-content-lyt__categoryLink > a .text::after {
  display: inline-block;
  margin-left: 6px;
  background-repeat: no-repeat;
  vertical-align: middle;
}
.l-header-toggle-content-lyt__categoryLink > a:hover, .l-header-toggle-content-lyt__categoryLink > a:active, .l-header-toggle-content-lyt__categoryLink > a:focus-visible {
  color: var(--color-main);
}
.l-header-toggle-content-lyt__categoryTitle {
  border-bottom: none;
  color: var(--color-font);
  font-family: var(--font-family-title);
  font-size: 2.6rem;
  line-height: 1.2;
  display: inline;
  letter-spacing: 0.1em;
}
.l-header-toggle-content-lyt__categoryTitle--en {
  font-family: var(--font-family-en);
}
.l-header-toggle-content-lyt__categoryTitle::after {
  display: inline-block;
  margin-left: 6px;
  background-repeat: no-repeat;
  vertical-align: middle;
}
.l-header-toggle-content-lyt__categoryText {
  margin-top: var(--block-sm);
  font-size: 1.4rem;
  font-family: var(--font-family-body);
  line-height: 2;
  letter-spacing: 0;
}
.l-header-toggle-content-lyt__colInner {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}
.l-header-toggle-content-lyt__colTitle {
  margin-bottom: 24px;
}
.l-header-toggle-content-lyt__colTitle .initial {
  color: var(--color-main);
  font-size: 3.2rem;
  font-family: var(--font-family-en);
  font-weight: var(--font-weight-r);
  line-height: 1;
  letter-spacing: 0.05em;
}
.l-header-toggle-content-lyt__colTitle .initial + .title {
  position: relative;
  bottom: 1px;
  margin-left: 12px;
}
.l-header-toggle-content-lyt__colTitle .title {
  display: inline-block;
  padding-bottom: 3px;
  font-size: 1.6rem;
  font-family: var(--font-family-title);
  font-weight: var(--font-weight-d);
  letter-spacing: 0.05em;
  line-height: 1.1;
}
.l-header-toggle-content-lyt__linkList {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
}
.l-header-toggle-content-lyt__linkList.-col1-pc .l-header-toggle-content-lyt__linkListInner {
  grid-template-columns: 1fr;
  gap: 20px;
}
.l-header-toggle-content-lyt__linkListInner {
  flex-basis: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px 32px;
  font-family: var(--font-family-title);
  font-size: var(--font-size-md);
  line-height: 1.8;
  letter-spacing: 0.03em;
}
.l-header-toggle-content-lyt__link {
  text-decoration: none;
  border-bottom: none;
}
.l-header-toggle-content-lyt__link[aria-current=page] .l-header-toggle-content-lyt__linkTitle, .l-header-toggle-content-lyt__link[aria-current=true] .l-header-toggle-content-lyt__linkTitle {
  font-weight: var(--font-weight-d);
}
.l-header-toggle-content-lyt__link[aria-current=page]:hover .l-header-toggle-content-lyt__linkImage::before, .l-header-toggle-content-lyt__link[aria-current=page]:active .l-header-toggle-content-lyt__linkImage::before, .l-header-toggle-content-lyt__link[aria-current=page]:focus-visible .l-header-toggle-content-lyt__linkImage::before, .l-header-toggle-content-lyt__link[aria-current=true]:hover .l-header-toggle-content-lyt__linkImage::before, .l-header-toggle-content-lyt__link[aria-current=true]:active .l-header-toggle-content-lyt__linkImage::before, .l-header-toggle-content-lyt__link[aria-current=true]:focus-visible .l-header-toggle-content-lyt__linkImage::before {
  opacity: 0;
}
.l-header-toggle-content-lyt__link[target=_blank] .l-header-toggle-content-lyt__linkTitle::after {
  position: absolute;
  content: "";
  margin-top: 5px;
  margin-left: 8px;
  width: 10px;
  height: 10px;
  background-image: url(/ja/assets/img/icon/icon-blank.svg);
  background-size: 10px;
}
.l-header-toggle-content-lyt__link:hover .l-header-toggle-content-lyt__linkImage::before, .l-header-toggle-content-lyt__link:active .l-header-toggle-content-lyt__linkImage::before, .l-header-toggle-content-lyt__link:focus-visible .l-header-toggle-content-lyt__linkImage::before {
  opacity: 1;
}
.l-header-toggle-content-lyt__link:hover .l-header-toggle-content-lyt__linkTitle, .l-header-toggle-content-lyt__link:active .l-header-toggle-content-lyt__linkTitle, .l-header-toggle-content-lyt__link:focus-visible .l-header-toggle-content-lyt__linkTitle {
  padding-left: 36px;
  color: var(--color-main);
}
.l-header-toggle-content-lyt__link:hover .l-header-toggle-content-lyt__linkTitle::before, .l-header-toggle-content-lyt__link:active .l-header-toggle-content-lyt__linkTitle::before, .l-header-toggle-content-lyt__link:focus-visible .l-header-toggle-content-lyt__linkTitle::before {
  width: 24px;
}
.l-header-toggle-content-lyt__linkImage {
  display: flex;
  position: relative;
}
.l-header-toggle-content-lyt__linkImage::before {
  display: block;
  content: "";
  position: absolute;
  opacity: 0;
  left: 0;
  top: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background-color: rgba(98, 176, 226, 0.4);
  transition: opacity 0.2s;
}
.l-header-toggle-content-lyt__linkImage > img {
  width: 100%;
  height: auto;
  max-width: 100%;
}
.l-header-toggle-content-lyt__linkTitle {
  position: relative;
  display: inline-block;
  padding-left: 24px;
  margin-top: 16px;
  color: var(--color-font);
  transition: padding 0.4s;
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0.03em;
}
.l-header-toggle-content-lyt__linkTitle--en {
  font-weight: var(--font-family-en);
}
.l-header-toggle-content-lyt__linkTitle:first-child {
  margin-top: 0;
}
.l-header-toggle-content-lyt__linkTitle::before {
  display: block;
  content: "";
  position: absolute;
  background-color: var(--color-main);
  width: 12px;
  height: 1px;
  top: 9px;
  left: 0;
  transition: width 0.4s;
}
@media only screen and (max-width: 1250px) {
  .l-header-toggle-content-lyt__linkListInner {
    grid-template-columns: 1fr;
  }
  .l-header-toggle-content-lyt__inner {
    flex-direction: column;
    gap: 16px;
    padding-block: 20px 0;
    margin: 0;
    width: unset;
  }
  .l-header-toggle-content-lyt__category {
    padding: 0 0 20px;
    max-width: 100%;
    border-right: none;
    border-bottom: 1px solid var(--color-border-light);
    font-size: 2rem;
  }
  .l-header-toggle-content-lyt__categoryLink > a {
    padding-block: 0;
    padding-left: 32px;
  }
  .l-header-toggle-content-lyt__categoryLink > a .icon {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    top: 7px;
  }
  .l-header-toggle-content-lyt__categoryLink > a .icon::before {
    left: 7px;
    margin-top: -1px;
    width: 4px;
    height: 4px;
  }
  .l-header-toggle-content-lyt__categoryLink > a .text {
    font-size: 2rem;
  }
  .l-header-toggle-content-lyt__categoryText {
    display: none;
  }
  .l-header-toggle-content-lyt__colInner {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .l-header-toggle-content-lyt__colItem {
    border-bottom: 1px solid var(--color-border-light);
  }
  .l-header-toggle-content-lyt__colItem:last-child {
    border-bottom: 0;
  }
  .l-header-toggle-content-lyt__colTitle {
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--color-border-light);
  }
  .l-header-toggle-content-lyt__linkList {
    display: block;
  }
  .l-header-toggle-content-lyt__linkList.-col1-pc .l-header-toggle-content-lyt__linkListInner {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .l-header-toggle-content-lyt__linkListInner {
    gap: 0;
  }
  .l-header-toggle-content-lyt__linkListItem {
    padding-block: 16px;
    border-bottom: 1px solid var(--color-border-light);
  }
  .l-header-toggle-content-lyt__linkListItem:first-child {
    padding-top: 0;
  }
  .l-header-toggle-content-lyt__linkListItem:last-child {
    border-bottom: 0;
  }
  .l-header-toggle-content-lyt__link[aria-current=page]:hover .l-header-toggle-content-lyt__linkTitle, .l-header-toggle-content-lyt__link[aria-current=page]:active .l-header-toggle-content-lyt__linkTitle, .l-header-toggle-content-lyt__link[aria-current=page]:focus-visible .l-header-toggle-content-lyt__linkTitle {
    padding-left: 32px;
  }
  .l-header-toggle-content-lyt__link[aria-current=page]:hover .l-header-toggle-content-lyt__linkTitle::before, .l-header-toggle-content-lyt__link[aria-current=page]:active .l-header-toggle-content-lyt__linkTitle::before, .l-header-toggle-content-lyt__link[aria-current=page]:focus-visible .l-header-toggle-content-lyt__linkTitle::before {
    width: 10px;
    left: 5px;
  }
  .l-header-toggle-content-lyt__link:hover .l-header-toggle-content-lyt__linkTitle, .l-header-toggle-content-lyt__link:active .l-header-toggle-content-lyt__linkTitle, .l-header-toggle-content-lyt__link:focus-visible .l-header-toggle-content-lyt__linkTitle {
    padding-left: 42px;
    color: var(--color-link);
  }
  .l-header-toggle-content-lyt__link:hover .l-header-toggle-content-lyt__linkTitle::before, .l-header-toggle-content-lyt__link:active .l-header-toggle-content-lyt__linkTitle::before, .l-header-toggle-content-lyt__link:focus-visible .l-header-toggle-content-lyt__linkTitle::before {
    width: 20px;
  }
  .l-header-toggle-content-lyt__linkTitle {
    padding-left: 32px;
    font-size: 1.4rem;
  }
  .l-header-toggle-content-lyt__linkTitle::before {
    left: 5px;
    width: 10px;
  }
  .l-header-toggle-content-lyt__linkImage {
    display: none;
  }
  .l-header-toggle-content-lyt__linkTitle {
    margin-top: 0;
  }
}

/* .l-header-toggle
----------------------------------------------- */
.l-header-toggle {
  display: contents;
}
.l-header-toggle__wrap {
  display: block;
  width: 100%;
}
.l-header-toggle > summary {
  display: none;
  position: relative;
  padding: 0;
  border-image-slice: fill 0;
  border-image-outset: 0 0 0 100vw;
}
.l-header-toggle > summary > :first-child {
  margin-top: 0;
}
.l-header-toggle > summary > :last-child {
  margin-bottom: 0;
}
.l-header-toggle__btn {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-direction: row-reverse;
  column-gap: 4px;
  margin-bottom: 16px;
  font-size: 1.6rem;
  font-weight: var(--font-weight-m);
}
.l-header-toggle__btn--en {
  font-family: var(--font-family-en);
}
.l-header-toggle__content {
  flex: 1;
}
.l-header-toggle__text {
  display: block;
}
@media only screen and (max-width: 1250px) {
  .l-header-toggle {
    display: block;
  }
  .l-header-toggle.is-animating {
    overflow: hidden;
  }
  .l-header-toggle__wrap {
    display: block;
  }
  .l-header-toggle > summary {
    display: block;
    position: relative;
    background-color: var(--color-white);
    border-image: none;
    cursor: pointer;
  }
  .l-header-toggle__btn {
    justify-content: flex-start;
    flex-direction: row;
    margin-bottom: 0;
    padding: 20px 0;
  }
  .l-header-nav_btn:is([aria-current=true], [aria-current=page]) + .l-header-nav_content .l-header-toggle__btn {
    font-weight: var(--font-weight-d);
  }
  .l-header-toggle__btn::before, .l-header-toggle__btn::after {
    display: block;
    content: "";
    position: absolute;
    inset: 0 8px 0 auto;
    width: 9px;
    height: 1px;
    margin: auto;
    background-color: var(--color-font-sub);
    border-radius: 2px;
  }
  .l-header-toggle__btn::after {
    transform: rotate(90deg);
  }
  .l-header-toggle[open] .l-header-toggle__btn::after {
    opacity: 0;
  }
  .l-header-toggle__content {
    border-top: 1px solid var(--color-border-base);
  }
}

.js-scroll-observer {
  transition: transform 0.3s ease-out;
}
.js-scroll-observer.is-scroll-down {
  transform: translateY(calc(-1 * var(--js-height-header)));
}
.js-scroll-observer.is-scroll-down:has(.l-header-nav_btn[aria-expanded=true]), .js-scroll-observer.is-scroll-down:has(.l-header-search__btn[aria-expanded=true]), .js-scroll-observer.is-scroll-down:has(.l-header-recruit__btn[aria-expanded=true]) {
  transform: none;
}
.js-scroll-observer:has(> .c-toc-sticky) .l-header_body {
  transition: transform 0.3s ease-out;
}
.js-scroll-observer:has(> .c-toc-sticky).is-scroll-down {
  transform: unset;
}
.js-scroll-observer:has(> .c-toc-sticky).is-scroll-down .l-header_body {
  transform: translateY(calc(-1 * var(--js-height-header)));
}
.js-scroll-observer:has(> .c-toc-sticky).is-scroll-up {
  transform: unset;
}
.js-scroll-observer:has(> .c-toc-sticky).is-scroll-up .c-toc-sticky {
  transform: unset;
}

/* ----------------------------------------------------------------
    Footer (.l-footer[-*])
----------------------------------------------------------------- */
/* .l-footer
----------------------------------------------- */
.l-footer {
  position: relative;
  border-top: 1px solid var(--color-border-base);
  padding-block: calc(var(--block-md) * 2);
}
.l-footer__wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px 80px;
}
.l-footer__logo {
  flex-shrink: 0;
  border-bottom: none;
}
.l-footer__detail {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px 32px;
}
.l-footer__detailLink {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px 32px;
}
.l-footer__policy {
  font-family: var(--font-family-title);
  font-size: var(--font-size-xs);
  border-bottom: none;
  color: var(--color-font);
  transition: color var(--transition-duration);
}
.l-footer__policy:hover, .l-footer__policy:active, .l-footer__policy:focus-visible {
  color: var(--color-link);
}
.l-footer__logoList {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
  gap: 24px;
}
.l-footer__logoItem {
  flex-shrink: 0;
}
.l-footer__logoLink {
  display: block;
  border-bottom: none;
}
.l-footer__copyrightText {
  font-family: var(--font-family-en);
  font-size: 1.2rem;
}
@media only screen and (max-width: 750px) {
  .l-footer {
    padding-block: var(--spacing-xl);
  }
  .l-footer__wrap {
    flex-direction: column;
    align-items: start;
    gap: 40px;
  }
  .l-footer__detail {
    flex-direction: column;
    align-items: start;
  }
  .l-footer__detailLink {
    flex-direction: column;
    align-items: start;
    gap: 20px;
  }
  .l-footer__logoList {
    justify-content: flex-start;
    gap: 20px;
  }
}

.l-footer-page-top {
  position: fixed;
  right: 28px;
  bottom: 28px;
  z-index: 100;
  visibility: hidden;
  opacity: 0;
  transition: opacity var(--transition-duration) var(--opacity-cubic-bezier), visibility var(--transition-duration) var(--opacity-cubic-bezier);
}
.l-footer-page-top.is-show {
  opacity: 1;
  visibility: visible;
}
.l-footer-page-top.is-main-bottom {
  position: absolute;
  right: 28px;
  top: -32px;
}
.l-footer-page-top_link {
  position: relative;
  display: block;
  width: 64px;
  height: 64px;
  background-color: var(--color-main);
  border: 1px solid var(--color-main);
  border-radius: 50%;
  color: var(--color-font);
  text-decoration: none;
  transition: background-color var(--transition-duration) var(--opacity-cubic-bezier);
}
.l-footer-page-top_link::before {
  display: block;
  content: "";
  position: absolute;
  left: 26px;
  top: 27px;
  border-right: 2px solid var(--color-white);
  border-bottom: 2px solid var(--color-white);
  margin: auto;
  width: 10px;
  height: 10px;
  backface-visibility: hidden;
  transform: rotate(-135deg);
}
.l-footer-page-top_link:hover, .l-footer-page-top_link:active, .l-footer-page-top_link:focus-visible {
  background-color: rgb(145, 200, 235);
  border-color: transparent;
}
.l-footer-page-top_link > span {
  position: absolute;
  inset: auto 0 16px;
  margin: auto;
  text-align: center;
}
.l-footer-page-top_none {
  opacity: 0;
}
@media only screen and (max-width: 750px) {
  .l-footer-page-top {
    right: 12px;
    bottom: 12px;
  }
  .l-footer-page-top.is-main-bottom {
    position: absolute;
    right: 12px;
    top: -22px;
  }
  body:has(.historyAnchorList.is-sticky) .l-footer-page-top {
    display: none;
  }
  .l-footer-page-top_link {
    width: 44px;
    height: 44px;
  }
  .l-footer-page-top_link::before {
    left: 17px;
    top: 19px;
    width: 7px;
    height: 7px;
  }
}

/* ----------------------------------------------------------------
    Section (.l-section[-*])
----------------------------------------------------------------- */
/* .l-section
----------------------------------------------- */
/* .l-section-area
----------------------------------------------- */
.l-section-area:where(:last-child) .l-section-area__inner, .l-section-area:where(:has(+ .fn-local-nav-root:last-child)):not(:has(+ .fn-local-nav-root .c-local-nav:not([hidden]))) .l-section-area__inner {
  padding-bottom: 0;
}
.l-section-area:not(.l-section-area--bg-color-02) + .l-section-area:not(.l-section-area--bg-color-02):not(.l-section-area--border-top) .l-section-area__inner, .l-section-area:not(.l-section-area--bg-color-02) + .fn-sticky-start + .l-section-area:not(.l-section-area--bg-color-02):not(.l-section-area--border-top) .l-section-area__inner, .l-section-area:not(.l-section-area--bg-color-02) + .fn-sticky-end + .l-section-area:not(.l-section-area--bg-color-02) .l-section-area__inner {
  padding-top: 0;
}
.l-section-area--bg-color-02 {
  background-color: var(--color-bg-base);
}
:not(.l-section-area) + .l-section-area--bg-color-02:not(:first-child) {
  margin-top: var(--padding-bottom-content);
}
.l-section-area--bg-color-02 + .l-section-area--bg-color-02 {
  margin-top: 108px;
}
.l-section-area--bg-color-02 + .c-local-nav {
  margin-top: 108px;
}
.l-section-area--bg-color-02 .l-section-area__inner {
  padding-bottom: var(--padding-bottom-content);
}
.l-section-area--bg-img {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
.l-section-area--narrow {
  max-width: 896px;
  margin: 0 auto;
  width: 85%;
}
.l-section-area--tight .l-section-area__inner {
  padding-block: 80px 88px;
}
.l-section-area--tight-bottom .l-section-area__inner {
  padding-block: 108px 88px;
}
.l-section-area--border-top {
  border-top: 1px solid var(--color-border-base);
}
:not(.l-section-area--bg-color-02) + .l-section-area--border-top:not(:first-child) {
  margin-top: var(--padding-bottom-content);
}
.l-section-area--pt-none .l-section-area__inner {
  padding-top: 0;
}
.c-insights-pageHeader + .l-section-area {
  position: relative;
}
.c-insights-pageHeader + .l-section-area::before {
  display: block;
  content: "";
  background-color: var(--color-border-base);
  max-width: 896px;
  height: 1px;
  bottom: 0;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 85%;
}
.l-section-area--insights-detail > .l-section-area__inner {
  padding-top: 108px !important;
}
.l-section-area--insights-detail > .l-section-area__inner > .articleSet > *:first-child {
  margin-top: 0;
}
.l-section-area--insights-detail > .l-section-area__inner > .articleSet > *:first-child .m-hdgLg {
  margin-top: 0;
}
.l-section-area--insights-detail > .l-section-area__inner > * {
  margin-top: var(--block-2xl);
}
.c-pageHeader:has(.c-pageHeader__mv) + .l-section-area > .l-section-area__inner {
  padding-top: 56px;
}
.l-section-area--contact-detail > .l-section-area__inner > .c-lyt-col.-col3-pc {
  margin-top: 108px;
}
.l-section-area--contact-detail .m-container--narrow {
  max-width: 1360px;
}
.l-section-area--contact-detail .c-textWithImage > .m-container--narrow {
  gap: 64px;
}
.l-section-area.historyHead {
  background-position-y: -254px;
}
.l-section-area.historyHead .l-section-area__inner {
  padding-block: 128px;
}
.l-section-area:has(.l-history-col) .l-section-area__inner {
  padding-block: 128px;
}
.c-pageHeader--news-detail + .l-section-area > .l-section-area__inner {
  padding-top: 0;
}
.l-section-area__inner {
  padding-block: 108px var(--padding-bottom-content);
}
.l-section-area__inner > :first-child {
  margin-top: 0;
}
.l-section-area__inner > :first-child.c-hdg .m-hdgLg,
.l-section-area__inner > :first-child.c-hdg .m-hdgMd,
.l-section-area__inner > :first-child.c-hdg .m-hdgSm {
  margin-top: 0;
}
.l-section-area__inner > :last-child {
  margin-bottom: 0;
}
.l-section-area__inner > .m-container:first-child {
  margin-top: 0;
}
.l-section-area__inner > .m-container:first-child > *:first-child {
  margin-top: 0;
}
.l-section-area__inner > .m-container:last-child {
  margin-bottom: 0;
}
.l-section-area__inner > .m-container:last-child > *:last-child {
  margin-bottom: 0;
}
.l-section-area__inner > .articleSet > *:first-child {
  margin-top: 0;
}
.l-section-area--esg-related:has(.c-carousel-01 .c-carousel-01__inner:empty) {
  display: none;
}
.l-section-area--esg-related:has(.c-carousel-01 .c-carousel-01__inner:empty) + .c-local-nav {
  margin-top: 108px;
}
.l-vision + .l-section-area--bg-color-02 {
  margin-top: 8px !important;
}
.l-vision + .l-section-area--bg-color-02 .l-section-area__inner {
  padding-block: 80px 96px;
}
.l-vision + .l-section-area--bg-color-02 .c-button-lyt {
  margin-top: 40px;
}
@media only screen and (max-width: 750px) {
  .l-section-area--bg-color-02 + .l-section-area--bg-color-02 {
    margin-top: 64px;
  }
  .l-section-area--bg-color-02 + .c-local-nav {
    margin-top: 64px;
  }
  :not(.l-section-area) + .l-section-area--bg-color-02:not(:first-child) {
    margin-top: var(--padding-bottom-content-sp);
  }
  .l-section-area--bg-color-02 .l-section-area__inner {
    padding-bottom: var(--padding-bottom-content-sp);
  }
  .l-section-area--tight .l-section-area__inner {
    padding-block: 48px 56px;
  }
  .l-section-area--border-top-sp {
    border-top: 1px solid var(--color-border-base);
  }
  .l-section-area--border-top-sp .l-section-area__inner {
    padding-block: 64px var(--padding-bottom-content-sp) !important;
  }
  .l-section-area--insights-detail > .l-section-area__inner {
    padding-top: 64px !important;
  }
  .l-section-area:has(.m-container--narrow .c-toc) {
    position: relative;
  }
  .l-section-area:has(.m-container--narrow .c-toc)::before {
    display: block;
    content: "";
    max-width: 100%;
    width: 100%;
    left: unset;
    transform: unset;
  }
  .l-section-area--contact-detail .c-textWithImage > .m-container--narrow {
    gap: 32px;
  }
  .l-section-area.historyHead {
    background-position-y: center;
  }
  .l-section-area.historyHead .l-section-area__inner {
    padding-block: 72px;
  }
  .l-section-area:has(.l-history-col) .l-section-area__inner {
    padding-block: 72px;
  }
  .c-pageHeader--news-detail + .l-section-area > .l-section-area__inner {
    padding-top: 0 !important;
  }
  .l-section-area--contact-detail > .l-section-area__inner > .c-lyt-col.-col3-pc {
    margin-top: 64px !important;
  }
  .l-section-area--contact-detail > .l-section-area__inner > .c-lyt-col.-col3-pc {
    margin-top: 64px !important;
  }
  .l-section-area--esg-related:has(.c-carousel-01 .c-carousel-01__inner:empty) + .c-local-nav {
    margin-top: 64px;
  }
  .l-vision + .l-section-area--bg-color-02 .l-section-area__inner {
    padding-block: 56px 64px;
  }
  .l-vision + .l-section-area--bg-color-02 .c-button-lyt {
    margin-top: 32px;
  }
  .l-section-area__inner {
    padding-block: 64px var(--padding-bottom-content-sp);
  }
  .l-section-area__inner:has(.c-textWithImage-float.c-textWithImage-float--mv) {
    padding-top: 0 !important;
  }
  .l-section-area__inner:has(.c-carousel-02:last-child .c-carousel-01__pagination) {
    padding-bottom: 64px;
  }
  .l-section-area__inner:has(> .c-media-lyt-people:first-child) {
    padding-top: 0;
  }
}

/* ----------------------------------------------------------------
    Top news
----------------------------------------------------------------- */
/* .l-top-new
----------------------------------------------- */
.l-top-news__inner {
  padding: 40px 0;
}
@media only screen and (max-width: 750px) {
  .l-top-news__inner {
    padding: 32px 0;
  }
}

/* ----------------------------------------------------------------
    Vision (.l-vision[-*])
----------------------------------------------------------------- */
/* .l-vision
----------------------------------------------- */
.l-vision {
  width: 100%;
}
.l-vision__inner {
  display: grid;
  gap: 8px;
  grid-template-areas: "first third" "second third";
  grid-template-columns: 50% 1fr;
  max-width: 100%;
  text-align: center;
}
.l-vision__second, .l-vision__first, .l-vision__third {
  background-color: var(--color-bg-base);
}
.l-vision__secondHdg, .l-vision__firstHdg, .l-vision__thirdHdg {
  font-size: 2.3rem;
  font-family: var(--font-family-title);
  font-weight: var(--font-weight-r);
  line-height: 1.5;
  letter-spacing: 0.05em;
}
html[lang=en] .l-vision__secondHdg, html[lang=en] .l-vision__firstHdg, html[lang=en] .l-vision__thirdHdg {
  font-size: 2.6rem;
  font-weight: var(--font-weight-r);
}
.l-vision__first {
  grid-area: first;
}
.l-vision__firstInner {
  padding: 80px 120px 96px;
}
.l-vision__firstContents {
  margin-top: 48px;
}
.l-vision__firstText {
  margin-top: var(--block-md);
  font-size: 1.5rem;
  line-height: 1.6;
}
.l-vision__second {
  grid-area: second;
}
.l-vision__secondInner {
  padding: 132px 120px 152px;
}
.l-vision__secondContents {
  margin-top: 40px;
}
.l-vision__secondText {
  font-family: var(--font-family-body);
  font-size: 1.7rem;
  letter-spacing: normal;
  line-height: 2.2;
}
html[lang=en] .l-vision__secondText {
  font-size: 2rem;
}
.l-vision__third {
  grid-area: third;
}
.l-vision__thirdInner {
  padding: 80px 120px 96px;
}
.l-vision__thirdContents {
  margin-top: 40px;
}
.l-vision__thirdContents > :first-child {
  margin-top: 0;
}
.l-vision__thirdContentsTitle {
  margin-top: 24px;
  font-family: var(--font-family-body);
  font-size: 2.1rem;
  color: var(--color-font);
  font-weight: 550;
  line-height: 2.1;
  letter-spacing: 0.01em;
}
html[lang=en] .l-vision__thirdContentsTitle {
  font-size: 2.4rem;
}
.l-vision__thirdContentsText {
  font-family: var(--font-family-body);
  font-size: 1.7rem;
  color: var(--color-font);
  line-height: 2.1;
}
html[lang=en] .l-vision__thirdContentsText {
  font-size: 2rem;
}
@media only screen and (max-width: 1439px) {
  .l-vision__secondInner {
    padding: 108px clamp(56px, 56px + 64 * (100vw - 751px) / 688, 120px) 128px;
  }
  .l-vision__firstInner {
    padding: 108px clamp(56px, 56px + 64 * (100vw - 751px) / 688, 120px) 124px;
  }
  .l-vision__thirdInner {
    padding: 92px clamp(56px, 56px + 64 * (100vw - 751px) / 688, 120px) 108px;
  }
}
@media only screen and (max-width: 750px) {
  .l-vision__inner {
    grid-template-areas: "first" "second" "third";
    grid-template-columns: 1fr;
  }
  .l-vision__secondHdg, .l-vision__firstHdg, .l-vision__thirdHdg {
    font-size: 1.9rem;
  }
  html[lang=en] .l-vision__secondHdg, html[lang=en] .l-vision__firstHdg, html[lang=en] .l-vision__thirdHdg {
    font-size: 2.8rem;
  }
  .l-vision__firstInner {
    padding: 56px 20px 64px;
  }
  .l-vision__firstContents {
    margin-top: 32px;
  }
  .l-vision__firstText {
    font-size: 1.3rem;
  }
  .l-vision__secondInner {
    padding: 56px 20px 64px;
  }
  .l-vision__secondContents {
    margin-top: 24px;
  }
  .l-vision__secondText {
    font-size: 1.6rem;
    line-height: 1.8;
  }
  html[lang=en] .l-vision__secondText {
    font-size: 1.8rem;
  }
  .l-vision__thirdInner {
    padding: 56px 20px 64px;
  }
  .l-vision__thirdContents {
    margin-top: 20px;
  }
  .l-vision__thirdContentsTitle {
    margin-top: 20px;
    font-size: 1.9rem;
  }
  html[lang=en] .l-vision__thirdContentsTitle {
    font-size: 2.1rem;
  }
  .l-vision__thirdContentsText {
    font-size: 1.6rem;
  }
  html[lang=en] .l-vision__thirdContentsText {
    font-size: 1.8rem;
  }
}

/* ----------------------------------------------------------------
    Content (.l-wrapper[-*])
----------------------------------------------------------------- */
/* .l-wrapper
----------------------------------------------- */
/* ----------------------------------------------------------------
    Local Navigation (.c-local-nav[-*])
----------------------------------------------------------------- */
/* .c-local-nav
----------------------------------------------- */
.c-local-nav {
  background-color: var(--color-bg-base);
}
.c-local-nav__inner {
  padding: 80px 0 88px;
  display: flex;
  gap: 80px;
  margin: 0 auto;
  width: 85%;
  max-width: 1360px;
  font-size: var(--font-size-md);
}
.c-local-nav__category {
  flex: 1 0 auto;
  max-width: 304px;
  padding-right: 80px;
  height: auto;
  font-size: 2.6rem;
  line-height: 1.2;
  letter-spacing: 0.1em;
  border-right: 1px solid var(--color-border-base);
}
.c-local-nav__category--en {
  font-family: var(--font-family-en);
}
.c-local-nav__category > a {
  display: inline-block;
  border-bottom: none;
  text-decoration: none;
  color: var(--color-font);
}
.c-local-nav__category > a:hover, .c-local-nav__category > a:active, .c-local-nav__category > a:focus-visible {
  color: var(--color-link);
}
.c-local-nav__linkList {
  flex: 1 1 auto;
}
.c-local-nav__linkListInner {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px 24px;
  font-family: var(--font-family-title);
  font-size: var(--font-size-md);
  line-height: 1.8;
  letter-spacing: 0.03em;
}
.c-local-nav__link {
  position: relative;
  display: inline-block;
  padding-left: 32px;
  color: var(--color-font);
  text-decoration: none;
  border-bottom: none;
  transition: padding 0.4s;
}
.c-local-nav__link[aria-current=page], .c-local-nav__link[aria-current=true] {
  font-weight: var(--font-weight-b);
}
.c-local-nav__link::before {
  display: block;
  content: "";
  position: absolute;
  background-color: var(--color-main);
  width: 16px;
  height: 1px;
  top: 12px;
  left: 0;
  transition: width 0.4s;
}
.c-local-nav__link[href]:hover, .c-local-nav__link[href]:active, .c-local-nav__link[href]:focus-visible {
  padding-left: 48px;
  color: var(--color-link);
}
.c-local-nav__link[href]:hover::before, .c-local-nav__link[href]:active::before, .c-local-nav__link[href]:focus-visible::before {
  width: 32px;
}
.c-local-nav__link:not([href])::before {
  background-color: #bbbbbb;
}
@media only screen and (max-width: 1439px) {
  .c-local-nav__linkListInner {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (max-width: 1199px) {
  .c-local-nav__linkListInner {
    grid-template-columns: 1fr;
  }
}
@media only screen and (max-width: 750px) {
  .c-local-nav__inner {
    flex-direction: column;
    gap: 32px;
    padding-block: 48px 56px;
    margin: 0 var(--gutter-content-sp);
    width: unset;
  }
  .c-local-nav__category {
    padding: 0 0 16px;
    max-width: 100%;
    border-right: none;
    border-bottom: 1px solid var(--color-border-base);
    font-size: 2rem;
  }
  .c-local-nav__linkListInner {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px 28px;
  }
  .c-local-nav__linkListInner.-col1-sp {
    grid-template-columns: 1fr;
  }
  .c-local-nav__link {
    padding-left: 20px;
  }
  .c-local-nav__link[aria-current=page]:hover, .c-local-nav__link[aria-current=page]:active, .c-local-nav__link[aria-current=page]:focus-visible {
    padding-left: 20px;
  }
  .c-local-nav__link[aria-current=page]:hover::before, .c-local-nav__link[aria-current=page]:active::before, .c-local-nav__link[aria-current=page]:focus-visible::before {
    width: 12px;
  }
  .c-local-nav__link::before {
    width: 12px;
  }
  .c-local-nav__link:hover, .c-local-nav__link:active, .c-local-nav__link:focus-visible {
    padding-left: 32px;
    color: var(--color-link);
  }
  .c-local-nav__link:hover::before, .c-local-nav__link:active::before, .c-local-nav__link:focus-visible::before {
    width: 24px;
  }
}

/* ----------------------------------------------------------------
  Breadscrum (.l-breadscrum-*)
----------------------------------------------------------------- */
/* .l-breadscrum
----------------------------------------------- */
.l-breadscrum {
  position: relative;
}
.l-breadscrum__list {
  padding: 12px 0;
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  margin: 0;
  color: var(--color-font);
  font-size: 1.1rem;
  font-weight: 450;
  font-family: var(--font-family-title);
  line-height: 1.4;
  letter-spacing: 0.05em;
}
.l-breadscrum__list > li {
  position: relative;
  padding-right: 12px;
}
.l-breadscrum__list > li::after {
  display: block;
  content: "";
  position: absolute;
  top: calc(50% - 6px);
  right: 0;
  width: 1px;
  height: 11px;
  background: no-repeat center;
  background-color: rgba(0, 0, 0, 0.13);
  transform: rotate(15deg);
  transform-origin: center;
}
.l-breadscrum__list > li:last-child {
  padding-right: 0;
  font-weight: var(--font-weight-bold);
}
.l-breadscrum__list > li:last-child::after {
  display: none;
}
.l-breadscrum__list > li > a {
  color: var(--color-font-sub);
  text-decoration: none;
  border-bottom: none;
}
@media only screen and (max-width: 750px) {
  .l-breadscrum__list {
    gap: 8px;
    flex-wrap: nowrap;
    overflow-x: scroll;
    white-space: nowrap;
  }
  .l-breadscrum__list > li {
    padding-right: 9px;
  }
  .l-breadscrum__list > li::after {
    top: calc(50% - 5px);
  }
}

/* ----------------------------------------------------------------
    Content (.l-content[-*])
----------------------------------------------------------------- */
/* .l-content
----------------------------------------------- */
.l-content:has(.progressDisp) {
  position: relative;
}
.l-content--wide .m-container--narrow {
  max-width: 1360px !important;
}

/* .l-content-area
----------------------------------------------- */
.l-content-area:not(.l-content-area--bg-color-02) + .l-content-area:not(.l-content-area--bg-color-02):not(.l-content-area--border-top) .l-content-area__inner, .l-content-area:not(.l-content-area--bg-color-02) + .fn-sticky-start + .l-content-area:not(.l-content-area--bg-color-02):not(.l-content-area--border-top) .l-content-area__inner, .l-content-area:not(.l-content-area--bg-color-02) + .fn-sticky-end + .l-content-area:not(.l-content-area--bg-color-02) .l-content-area__inner {
  padding-top: 0;
}
.l-content-area--bg-color-02 {
  background-color: var(--color-bg-base);
}
.l-content-area--bg-color-02 + .l-content-area--bg-color-02 {
  margin-top: 108px;
}
.l-content-area--bg-color-02 + .c-local-nav {
  margin-top: 108px;
}
.l-content-area--bg-img {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
.l-content-area--narrow {
  max-width: 896px;
  margin: 0 auto;
  width: 85%;
}
.l-content-area--tight .l-content-area__inner {
  padding-block: 80px 88px;
}
.l-content-area--tight-bottom .l-content-area__inner {
  padding-block: 108px 88px;
}
.l-content-area--border-top {
  border-top: 1px solid var(--color-border-base);
}
.l-content-area--pt-none .l-content-area__inner {
  padding-top: 0;
}
.c-project-pageHeader ~ *:not(.l-content-area) + .l-content-area.l-content-area--bg-color-02 .l-content-area__inner {
  margin-top: var(--padding-bottom-content);
}
.c-project-pageHeader ~ .l-content-area.l-content-area--bg-color-02 + *:not(:where(.l-content-area, .c-local-nav)) {
  margin-top: var(--padding-top-content);
}
.c-insights-pageHeader + .l-content-area {
  position: relative;
}
.c-insights-pageHeader + .l-content-area::before {
  display: block;
  content: "";
  background-color: var(--color-border-base);
  max-width: 896px;
  height: 1px;
  bottom: 0;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 85%;
}
.l-content-area--insights-detail > .l-content-area__inner {
  padding-top: 108px !important;
}
.l-content-area--insights-detail > .l-content-area__inner > .articleSet > *:first-child {
  margin-top: 0;
}
.l-content-area--insights-detail > .l-content-area__inner > .articleSet > *:first-child .m-hdgLg {
  margin-top: 0;
}
.c-pageHeader:has(.c-pageHeader__mv) + .l-content-area > .l-content-area__inner {
  padding-top: 56px;
}
.l-content-area--contact-detail > .l-content-area__inner > .c-lyt-col.-col3-pc {
  margin-top: 108px;
}
.l-content-area--contact-detail .m-container--narrow {
  max-width: 1360px;
}
.l-content-area--contact-detail .c-textWithImage > .m-container--narrow {
  gap: 64px;
}
.l-content-area.historyHead {
  background-position-y: -254px;
}
.l-content-area.historyHead .l-content-area__inner {
  padding-block: 128px;
}
.l-content-area:has(.l-history-col) .l-content-area__inner {
  padding-block: 128px;
}
.c-pageHeader--news-detail + .l-content-area > .l-content-area__inner {
  padding-top: 0;
}
.l-content-area__inner {
  padding-block: 108px var(--padding-bottom-content);
}
.l-content-area__inner > :first-child {
  margin-top: 0;
}
.l-content-area__inner > :first-child.c-hdg .m-hdgLg,
.l-content-area__inner > :first-child.c-hdg .m-hdgMd,
.l-content-area__inner > :first-child.c-hdg .m-hdgSm {
  margin-top: 0;
}
.l-content-area__inner > :last-child {
  margin-bottom: 0;
}
.l-content-area__inner > .m-container:first-child {
  margin-top: 0;
}
.l-content-area__inner > .m-container:first-child > *:first-child {
  margin-top: 0;
}
.l-content-area__inner > .m-container:last-child {
  margin-bottom: 0;
}
.l-content-area__inner > .m-container:last-child > *:last-child {
  margin-bottom: 0;
}
.l-content-area__inner > .articleSet > *:first-child {
  margin-top: 0;
}
.l-content-area__inner > .l-section-area:first-child:not(.l-section-area--bg-color-02) .l-section-area__inner {
  padding-top: 0;
}
@media only screen and (max-width: 750px) {
  .l-content-area--bg-color-02 + .l-content-area--bg-color-02 {
    margin-top: 64px;
  }
  .l-content-area--bg-color-02 + .c-local-nav {
    margin-top: 64px;
  }
  .l-content-area--tight .l-content-area__inner {
    padding-block: 48px 56px;
  }
  .l-content-area--border-top-sp {
    border-top: 1px solid var(--color-border-base);
  }
  .l-content-area--border-top-sp .l-content-area__inner {
    padding-block: 64px var(--padding-bottom-content-sp) !important;
  }
  .c-project-pageHeader ~ *:not(.l-content-area) + .l-content-area.l-content-area--bg-color-02 .l-content-area__inner {
    margin-top: var(--padding-bottom-content-sp);
  }
  .c-project-pageHeader ~ .l-content-area.l-content-area--bg-color-02 + *:not(:where(.l-content-area, .c-local-nav)) {
    margin-top: var(--padding-top-content-sp);
  }
  .c-insights-pageHeader + .l-content-area::before {
    width: 100%;
  }
  .l-content-area--insights-detail > .l-content-area__inner {
    padding-top: 64px !important;
  }
  .l-content-area:has(.m-container--narrow .c-toc) {
    position: relative;
  }
  .l-content-area:has(.m-container--narrow .c-toc)::before {
    display: block;
    content: "";
    max-width: 100%;
    width: 100%;
    left: unset;
    transform: unset;
  }
  .l-content-area--contact-detail .c-textWithImage > .m-container--narrow {
    gap: 32px;
  }
  .l-content-area.historyHead {
    background-position-y: center;
  }
  .l-content-area.historyHead .l-content-area__inner {
    padding-block: 72px;
  }
  .l-content-area:has(.l-history-col) .l-content-area__inner {
    padding-block: 72px;
  }
  .c-pageHeader--news-detail + .l-content-area > .l-content-area__inner {
    padding-top: 0 !important;
  }
  .l-content-area--contact-detail > .l-content-area__inner > .c-lyt-col.-col3-pc {
    margin-top: 64px !important;
  }
  .l-content-area--contact-detail > .l-content-area__inner > .c-lyt-col.-col3-pc {
    margin-top: 64px !important;
  }
  .l-content-area__inner {
    padding-block: 64px var(--padding-bottom-content-sp);
  }
  .l-content-area__inner:has(.c-textWithImage-float.c-textWithImage-float--mv) {
    padding-top: 0 !important;
  }
  .l-content-area__inner:has(.c-carousel-02:last-child .c-carousel-01__pagination) {
    padding-bottom: 64px;
  }
  .l-content-area__inner:has(> .c-media-lyt-people:first-child) {
    padding-top: 0;
  }
}

/* ----------------------------------------------------------------
  CONTAINER
----------------------------------------------------------------- */
/* .m-container
----------------------------------------------- */
.m-container {
  margin: 0 auto;
  width: 85%;
  max-width: 1360px;
}
.m-container--narrow {
  max-width: 896px;
}
.m-container--right > * {
  text-align: right;
}
@media only screen and (max-width: 750px) {
  .m-container {
    padding: 0 var(--gutter-content-sp);
    width: auto;
  }
}

/* ----------------------------------------------------------------
  Badge
----------------------------------------------------------------- */
/* .c-badge
----------------------------------------------- */
.c-badge {
  display: inline-block;
  padding: 3px 8px 1px;
  border-radius: var(--border-radius-pill);
  border: 1px solid currentcolor;
  font-size: 1.3rem;
  font-family: var(--font-family-title);
  font-weight: 500;
  color: var(--color-main);
  line-height: 1.4;
}
@media only screen and (max-width: 750px) {
  .c-badge {
    font-size: 1.2rem;
  }
}

/* ----------------------------------------------------------------
  Box
----------------------------------------------------------------- */
/* .c-box-01｜e.g. 日建グループ、情報セキュリティ基本方針
----------------------------------------------- */
.c-box-01 {
  margin-top: var(--block-2xl);
}
.c-box-01 .c-hdg-l2 .c-hdg-l2__hdg {
  font-size: 3.8rem;
}
html[lang=en] .c-box-01 .c-hdg-l2 .c-hdg-l2__hdg {
  font-size: 4.3rem;
  font-weight: var(--font-weight-r);
  letter-spacing: 0.05em;
}
.c-box-01--2xl .c-box-01__inner {
  padding: 80px;
}
.c-box-01--2xl .c-box-01__text {
  font-size: 2.1rem;
  line-height: 2.2;
  letter-spacing: 0.05em;
}
html[lang=en] .c-box-01--2xl .c-box-01__text {
  font-size: 2.4rem;
}
.c-box-01--2xl .c-box-01__link {
  margin-top: 40px;
}
.c-box-01--2xl .c-box-01__link .c-button {
  font-size: 1.8rem;
  letter-spacing: 0.06em;
}
.c-box-01--sm .c-box-01__inner {
  padding: 20px 28px;
}
.c-box-01--sm .c-box-01__text {
  font-size: 1.5rem;
  line-height: 1.6;
}
.c-box-01__inner {
  padding: 56px;
  background-color: var(--color-bg-base);
}
.c-box-01__inner > *:first-child {
  margin-top: 0;
}
.c-box-01__content--center {
  text-align: center;
}
.c-box-01__text {
  font-size: 1.7rem;
  line-height: 2.2;
  letter-spacing: 0.05em;
}
html[lang=en] .c-box-01__text {
  font-size: 2rem;
}
.c-box-01__link {
  margin-top: 24px;
}
@media only screen and (max-width: 750px) {
  html[lang=en] .c-box-01 .c-hdg-l2 .c-hdg-l2__hdg {
    font-size: 2.8rem;
  }
  .c-box-01--2xl .c-box-01__inner {
    padding: 56px 20px;
  }
  .c-box-01--2xl .c-box-01__text {
    font-size: 1.6rem;
  }
  html[lang=en] .c-box-01--2xl .c-box-01__text {
    font-size: 1.8rem;
  }
  .c-box-01--2xl .c-box-01__link {
    margin-top: 32px;
  }
  .c-box-01--2xl .c-box-01__link .c-button {
    font-size: 1.6rem;
  }
  .c-box-01--sm .c-box-01__inner {
    padding: 16px 20px;
  }
  .c-box-01--sm .c-box-01__text {
    font-size: 1.4rem;
  }
  .c-box-01 .c-hdg-l2 .c-hdg-l2__hdg {
    font-size: 2.3rem;
  }
  .c-box-01__inner {
    padding: 28px;
  }
  .c-box-01__text {
    font-size: 1.6rem;
  }
  html[lang=en] .c-box-01__text {
    font-size: 1.8rem;
  }
  .c-box-01__link {
    margin-top: 20px;
  }
}

/* .c-box-02（ニュース詳細）
----------------------------------------------- */
.c-box-02 {
  margin-top: 80px;
}
.c-box-02__inner {
  padding: 40px;
  background-color: var(--color-bg-base);
}
.c-box-02__inner > *:first-child {
  margin-top: 0;
}
.c-box-02__content--center {
  text-align: center;
}
@media only screen and (max-width: 750px) {
  .c-box-02__inner {
    padding: 28px;
  }
}

/* .c-box-contact（コンタクトトップ）
----------------------------------------------- */
.c-box-contact {
  margin-top: 80px;
}
.c-box-contact__inner {
  background-color: var(--color-bg-base);
  display: flex;
  flex-wrap: nowrap;
}
.c-box-contact__inner > *:first-child {
  margin-top: 0;
}
.c-box-contact__item {
  width: 100%;
}
.c-box-contact__item + .c-box-contact__item {
  position: relative;
}
.c-box-contact__item + .c-box-contact__item::before {
  display: block;
  content: "";
  position: absolute;
  width: 1px;
  height: calc(100% - 112px);
  top: 56px;
  left: 0;
  background-color: rgba(0, 0, 0, 0.13);
}
.c-box-contact__itemInner {
  padding: var(--block-xl) 56px;
  height: 100%;
  text-align: center;
  display: flex;
  flex-direction: column;
}
.c-box-contact__hdg {
  font-size: 2.3rem;
  line-height: 1.5;
  letter-spacing: 0.03em;
  font-family: var(--font-family-title-ja);
  font-weight: var(--font-weight-d);
}
html[lang=en] .c-box-contact__hdg {
  font-size: 2.8rem;
  font-weight: var(--font-weight-r);
}
.c-box-contact__content {
  margin-top: 20px;
}
.c-box-contact__content--va-m {
  margin-top: 0;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.c-box-contact__text {
  font-size: 1.5rem;
  line-height: 2;
}
.c-box-contact__button {
  margin-top: 24px;
}
.c-box-contact__tel {
  font-family: var(--font-family-en);
  font-size: 3.4rem;
  line-height: 1.5;
  letter-spacing: 0.06em;
  color: var(--color-main);
}
@media only screen and (max-width: 895px) {
  .c-box-contact__inner {
    flex-direction: column;
  }
  .c-box-contact__item + .c-box-contact__item::before {
    width: calc(100% - 56px);
    height: 1px;
    top: 0;
    left: 28px;
  }
}
@media only screen and (max-width: 750px) {
  .c-box-contact__itemInner {
    padding: 40px 28px;
  }
  .c-box-contact__hdg {
    font-size: 1.9rem;
  }
  html[lang=en] .c-box-contact__hdg {
    font-size: 2.3rem;
  }
  .c-box-contact__content {
    margin-top: 16px;
  }
  .c-box-contact__text {
    font-size: 1.4rem;
  }
  .c-box-contact__button {
    margin-top: 16px;
  }
  .c-box-contact__tel {
    font-size: 2.6rem;
  }
}

/* ----------------------------------------------------------------
  Button
----------------------------------------------------------------- */
/* .c-button-lyt（新規コンポーネント）
----------------------------------------------- */
.c-button-lyt {
  margin-top: var(--block-xl);
}
.c-button-lyt--horizontal .c-button-lyt__inner {
  flex-direction: column;
}
.c-button-lyt--left .c-button-lyt__inner {
  justify-content: flex-start;
  align-items: flex-start;
}
.c-button-lyt--right .c-button-lyt__inner {
  justify-content: flex-end;
  align-items: flex-end;
}
.c-button-lyt__inner {
  display: flex;
  justify-content: center;
  gap: 32px 40px;
  flex-wrap: wrap;
}
.c-button-lyt__item {
  text-align: center;
}
@media only screen and (max-width: 750px) {
  .c-button-lyt--left .c-button-lyt__item {
    text-align: left;
  }
  .c-button-lyt--right .c-button-lyt__item {
    text-align: right;
  }
  .c-button-lyt--center-sp .c-button-lyt__inner {
    justify-content: center;
    align-items: center;
  }
  .c-button-lyt__inner {
    flex-direction: column;
    gap: 28px;
  }
}

/* .c-button
----------------------------------------------- */
.c-button {
  display: inline-flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  min-width: 240px;
  padding: 18px 24px;
  border: 1px solid transparent;
  background-color: var(--color-main);
  text-align: center;
  color: var(--color-white);
  font-size: 1.4rem;
  font-family: var(--font-family-title);
  font-weight: var(--font-weight-m);
  cursor: pointer;
  transition: background-color var(--transition-duration), color var(--transition-duration), border-color var(--transition-duration);
}
.c-button::before, .c-button::after {
  content: "";
  display: block;
  aspect-ratio: 1/1;
}
.c-button::before {
  width: 7px;
  height: 7px;
  border-right: 1px solid currentcolor;
  border-bottom: 1px solid currentcolor;
  transform: rotate(-45deg);
}
.c-button[target=_blank]::after {
  display: block;
  content: "";
  width: 10px;
  height: 10px;
  top: 12px;
  background-color: var(--color-white);
  -webkit-mask-image: url("/ja/assets/img/icon/icon-blank.svg");
  mask-image: url("/ja/assets/img/icon/icon-blank.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 10px;
  mask-size: 10px;
  transition: background-color var(--transition-duration);
}
.c-button:hover, .c-button:active, .c-button:focus-visible {
  background-color: var(--color-white);
  color: var(--color-main);
  border: 1px solid currentcolor;
}
.c-button:hover::after, .c-button:active::after, .c-button:focus-visible::after {
  background-color: var(--color-main);
}
html[lang=en] .c-button {
  font-size: 1.6rem;
}
@media only screen and (max-width: 750px) {
  .c-button {
    min-width: 200px;
  }
  html[lang=en] .c-button {
    font-size: 1.5rem;
  }
}

/* .c-button-02｜e.g. お問い合わせボタン
----------------------------------------------- */
.c-button-02 {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-width: 240px;
  width: 100%;
  height: 100%;
  padding: 40px;
  border: 1px solid var(--color-border-base);
  background-color: var(--color-white);
  text-align: center;
  color: var(--color-font);
  font-size: 1.8rem;
  font-weight: 500;
  font-family: var(--font-family-title);
  transition: background-color var(--transition-duration), color var(--transition-duration), border-color var(--transition-duration);
}
html[lang=en] .c-button-02 {
  font-weight: var(--font-weight-r);
}
.c-button-02__text {
  position: relative;
  display: inline-block;
  padding-left: 40px;
}
.c-button-02__text::before, .c-button-02__text::after {
  display: block;
  content: "";
  position: absolute;
  aspect-ratio: 1/1;
  transition: background-color var(--transition-duration), border-color var(--transition-duration);
}
.c-button-02__text::before {
  left: 8px;
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
  width: 6px;
  height: 6px;
  border-right: 1px solid var(--color-main);
  border-bottom: 1px solid var(--color-main);
}
.c-button-02__text::after {
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 1px solid var(--color-main);
}
.c-button-02:hover, .c-button-02:active, .c-button-02:focus-visible {
  color: var(--color-main);
  border: 1px solid var(--color-main);
}
.c-button-02:hover .c-button-02__text::before, .c-button-02:active .c-button-02__text::before, .c-button-02:focus-visible .c-button-02__text::before {
  border-right: 1px solid var(--color-white);
  border-bottom: 1px solid var(--color-white);
  z-index: 1;
}
.c-button-02:hover .c-button-02__text::after, .c-button-02:active .c-button-02__text::after, .c-button-02:focus-visible .c-button-02__text::after {
  background-color: var(--color-main);
}
@media only screen and (max-width: 895px) {
  .c-button-02 {
    max-width: 664px;
  }
}
@media only screen and (max-width: 750px) {
  .c-button-02 {
    min-width: 200px;
    font-size: 1.6rem;
    padding: 20px;
    text-align: left;
  }
  .c-button-02__text {
    padding-left: 36px;
  }
  .c-button-02__text::before {
    left: 7px;
    top: 50%;
    transform: translateY(-50%) rotate(-45deg);
    width: 4px;
    height: 4px;
    border-right: 1px solid var(--color-main);
    border-bottom: 1px solid var(--color-main);
  }
  .c-button-02__text::after {
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 1px solid var(--color-main);
  }
}

/* .m-linkBtn2
----------------------------------------------- */
.m-linkBtn2 {
  display: inline-block;
  border: 1px solid var(--color-main) !important;
  color: var(--color-main);
  padding: 3px 22px;
  border-radius: 100px;
  font-family: var(--font-family-title);
  font-size: 1.56154rem;
  letter-spacing: 0.5px;
  transition-property: background-color, color;
}
.m-linkBtn2__arrow {
  content: "";
  display: inline-block;
  margin-right: 10px;
  border-right: 1px solid var(--color-main);
  border-bottom: 1px solid var(--color-main);
  width: 5px;
  height: 5px;
  vertical-align: 2px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  transition: border-color 0.2s;
}
.m-linkBtn2:hover, .m-linkBtn2:active, .m-linkBtn2:focus-visible {
  background-color: var(--color-main);
  color: #FFF;
}
.m-linkBtn2:hover .m-linkBtn2__arrow, .m-linkBtn2:active .m-linkBtn2__arrow, .m-linkBtn2:focus-visible .m-linkBtn2__arrow {
  border-color: #FFF;
}
@media only screen and (max-width: 750px) {
  .m-linkBtn2 {
    padding: 5px 15px;
    font-size: 1.33846rem;
  }
}

/* .c-modal-costmanagement-button-lyt
----------------------------------------------- */
.c-modal-costmanagement-button-lyt__inner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}
@media only screen and (max-width: 750px) {
  .c-modal-costmanagement-button-lyt__inner {
    grid-template-columns: 1fr;
  }
}

/* .c-modal-costmanagement-button
----------------------------------------------- */
.c-modal-costmanagement-button {
  padding: 16px 20px;
  border: 1px solid var(--color-border-base);
  width: 100%;
  text-align: left;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.03em;
  font-family: var(--font-family-title);
  height: 100%;
  transition: background-color 0.4s, color 0.2s, border-color 0.4s;
}
.c-modal-costmanagement-button--hasSecondGroup {
  position: relative;
  padding-right: 42px;
}
.c-modal-costmanagement-button--hasSecondGroup::before {
  display: block;
  content: "";
  position: absolute;
  right: 20px;
  border-right: 1px solid var(--color-main);
  border-bottom: 1px solid var(--color-main);
  width: 7px;
  height: 7px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
  transition: border-color 0.4s;
}
.c-modal-costmanagement-button--hasSecondGroup:hover::before, .c-modal-costmanagement-button--hasSecondGroup:active::before, .c-modal-costmanagement-button--hasSecondGroup:focus-visible::before {
  border-right: 1px solid var(--color-white);
  border-bottom: 1px solid var(--color-white);
}
.c-modal-costmanagement-button:hover, .c-modal-costmanagement-button:active, .c-modal-costmanagement-button:focus-visible {
  background-color: var(--color-main);
  color: var(--color-white);
  border-color: var(--color-main);
}
.c-modal-costmanagement-button:hover--hasSecondGroup::before, .c-modal-costmanagement-button:active--hasSecondGroup::before, .c-modal-costmanagement-button:focus-visible--hasSecondGroup::before {
  border-right: 1px solid var(--color-white);
  border-bottom: 1px solid var(--color-white);
}
@media only screen and (max-width: 750px) {
  .c-modal-costmanagement-button {
    padding: 12px 16px;
    font-size: 1.4rem;
  }
}

/* ----------------------------------------------------------------
  Card
----------------------------------------------------------------- */
/* .m-card-01（PROJECT一覧、SERVICE紹介一覧、INNOVATION：カラムコンポーネント、一部カルーセルと併用）
----------------------------------------------- */
.m-card-01__link {
  border-bottom: none;
  color: inherit;
}
.m-card-01__link[target=_blank] .m-card-01__hdg::after {
  content: "";
  position: absolute;
  display: inline-block;
  margin-top: 10px;
  margin-left: 8px;
  width: 10px;
  height: 10px;
  background-image: url("/ja/assets/img/icon/icon-blank.svg");
  background-size: 10px;
}
.m-card-01__link[href$=".pdf"] .m-card-01__hdg::after {
  content: "";
  display: inline-block;
  position: absolute;
  margin-top: 8px;
  margin-left: 8px;
  width: 25px;
  height: 15px;
  background-image: url("/ja/assets/img/icon/icon-pdf.png");
  background-size: 25px;
}
.m-card-01__link:hover .m-card-01__image::before, .m-card-01__link:active .m-card-01__image::before, .m-card-01__link:focus-visible .m-card-01__image::before {
  opacity: 1;
}
.m-card-01__image {
  margin-bottom: 16px;
  position: relative;
  border: 1px solid var(--color-border-base);
}
.m-card-01__image::before {
  display: block;
  content: "";
  position: absolute;
  opacity: 0;
  left: 0;
  top: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background-color: rgba(98, 176, 226, 0.4);
  transition: opacity 0.2s;
}
.m-card-01__image > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 16/10;
}
.m-card-01__hdg {
  font-family: var(--font-family-title);
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-d);
  letter-spacing: 0.03em;
  line-height: 1.8;
  color: var(--color-font);
  text-overflow: ellipsis;
}
html[lang=en] .c-lyt-col.c-lyt-col--people .m-card-01__hdg {
  font-size: 2rem;
}
html[lang=en] .m-card-01__hdg {
  font-size: 1.8rem;
  font-weight: var(--font-weight-r);
  line-height: 1.6;
  letter-spacing: 0.015em;
}
html[lang=en] .m-card-01__hdg:has(+ .m-card-01__text) {
  margin-bottom: 4px;
}
.m-card-01__text {
  font-family: var(--font-family-title);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-r);
  color: var(--color-font-sub);
  letter-spacing: 0.03em;
  line-height: 1.8;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
.c-lyt-col.c-lyt-col--people .m-card-01__text {
  font-family: var(--font-family-body);
}
html[lang=en] .m-card-01__text {
  font-size: 1.6rem;
}
.m-card-01__subText {
  margin-top: var(--block-2xs);
  font-family: var(--font-family-body);
  font-size: 1.5rem;
  font-weight: var(--font-weight-r);
  color: var(--color-font-sub);
  line-height: 1.6;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
html[lang=en] .m-card-01__subText {
  font-size: 1.5rem;
}
@media only screen and (max-width: 750px) {
  .m-card-01__image {
    margin-bottom: 12px;
  }
  .m-card-01__image > img {
    width: 100%;
  }
  .c-lyt-col.c-lyt-col--people .m-card-01__text {
    font-size: 1.2rem;
  }
  html[lang=en] .m-card-01__text {
    font-size: 1.5rem;
  }
  .m-card-01__hdg {
    font-size: 1.6rem;
  }
  html[lang=en] .m-card-01__hdg {
    font-size: 1.8rem;
  }
  .c-lyt-col.c-lyt-col--people .m-card-01__hdg {
    font-size: 1.3rem;
  }
  html[lang=en] .c-lyt-col.c-lyt-col--people .m-card-01__hdg {
    font-size: 1.5rem;
  }
}

/* .m-card-02（RELATED 〇〇、ABOUTトップ：カラムコンポーネント、カルーセルと併用）
----------------------------------------------- */
.js-carousel-03 .m-card-02 .m-card-02__category,
.js-carousel-03 .m-card-02 .m-card-02__date,
.js-carousel-03 .m-card-02 .m-card-02__hdg,
.js-carousel-03 .m-card-02 .m-card-02__tag {
  padding-inline: 20px;
}
.m-card-02--about .m-card-02__hdg {
  margin-top: 28px;
}
html[lang=en] .m-card-02--about .m-card-02__hdg {
  font-size: 1.8rem;
}
.m-card-02--about .m-card-02__image {
  display: flex;
  height: 232px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: none;
}
.m-card-02--about .m-card-02__image > img {
  max-height: -webkit-fill-available;
  object-fit: contain;
  object-position: left;
  aspect-ratio: unset;
}
.m-card-02--about .m-card-02__linkListItem a {
  display: inline-block;
  font-size: 1.4rem;
}
.m-card-02--about .m-card-02__linkListItem a::before {
  top: 9px;
}
.m-card-02__link {
  border-bottom: none;
  color: inherit;
}
.m-card-02__link[href]:hover .m-card-02__image::before, .m-card-02__link[href]:active .m-card-02__image::before, .m-card-02__link[href]:focus-visible .m-card-02__image::before {
  opacity: 1;
}
.m-card-02__link[target=_blank] .m-card-02__hdg::after {
  content: "";
  position: absolute;
  display: inline-block;
  margin-top: 8px;
  margin-left: 8px;
  width: 10px;
  height: 10px;
  background-image: url("/ja/assets/img/icon/icon-blank.svg");
  background-size: 10px;
}
.m-card-02__link[href$=".pdf"] .m-card-02__hdg::after {
  content: "";
  display: inline-block;
  position: absolute;
  margin-top: 6px;
  margin-left: 8px;
  width: 25px;
  height: 15px;
  background-image: url("/ja/assets/img/icon/icon-pdf.png");
  background-size: 25px;
}
.m-card-02__image {
  position: relative;
  border: 1px solid var(--color-border-base);
}
.m-card-02__image::before {
  display: block;
  content: "";
  position: absolute;
  opacity: 0;
  left: 0;
  top: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background-color: rgba(98, 176, 226, 0.4);
  transition: opacity 0.2s;
}
.m-card-02__image > img {
  width: 100%;
  max-height: 270px;
  height: auto;
  max-width: 100%;
  object-fit: cover;
  aspect-ratio: 16/10;
}
.m-card-02__category {
  display: flex;
  gap: 16px;
  align-items: center;
  margin-top: var(--block-md);
}
.m-card-02__category:has(> .type > span:empty) {
  display: none;
}
.m-card-02__category > .category {
  display: inline-block;
  padding: 2px 12px 1px;
  border-radius: 12px;
  background-color: var(--color-main);
  font-size: 1.5rem;
  font-weight: var(--font-weight-m);
  line-height: 1.4;
  letter-spacing: 0.05em;
  color: var(--color-white);
}
.m-card-02__category > .category--en {
  font-family: var(--font-family-en);
}
.m-card-02__category > .type {
  font-size: 1.2rem;
  font-family: var(--font-family-title);
  line-height: 1.4;
  letter-spacing: 0.03em;
  color: var(--color-font);
}
html[lang=en] .m-card-02__category > .type {
  font-size: 1.4rem;
}
.m-card-02__category > .type > span {
  display: inline-block;
  position: relative;
  padding-right: 40px;
}
.m-card-02__category > .type > span > .m-card-02__categoryItem {
  display: inline;
  position: relative;
}
.m-card-02__category > .type > span > .m-card-02__categoryItem:last-child {
  padding-right: 0;
}
.m-card-02__category > .type > span > .m-card-02__categoryItem:last-child::after {
  display: none;
}
.m-card-02__category > .type > span > .m-card-02__categoryItem::after {
  content: ",";
  display: inline-block;
  position: relative;
  bottom: 0;
  margin-inline: 3px;
}
.m-card-02__category > .type > span::before {
  display: block;
  content: "";
  position: absolute;
  display: block;
  width: 32px;
  height: 1px;
  background-color: var(--color-main);
  top: 8px;
  right: 0;
}
.m-card-02__date {
  margin-top: var(--block-xs);
  color: var(--color-font-sub);
  font-size: 1.4rem;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
.m-card-02__date--en {
  font-family: var(--font-family-en);
}
.m-card-02__date + .m-card-02__hdg {
  margin-top: 8px;
}
.m-card-02__hdg {
  margin-top: var(--block-xs);
  font-family: var(--font-family-title);
  font-size: var(--font-size-md);
  font-weight: var(--font-weight-d);
  letter-spacing: 0.03em;
  line-height: 1.8;
  color: var(--color-font);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
html[lang=en] .m-card-02__hdg {
  font-size: 1.8rem;
  font-weight: var(--font-weight-r);
  line-height: 1.6;
  letter-spacing: 0.015em;
}
.c-filter[data-category=news] .m-card-02__hdg, .c-filter[data-category=contact] .m-card-02__hdg, .c-filter[data-category=expertise] .m-card-02__hdg {
  -webkit-line-clamp: unset;
  display: block;
}
html[lang=en] .splide.is-active .m-card-02__hdg {
  font-size: 1.8rem;
}
.m-card-02__text {
  margin-top: 8px;
  font-family: var(--font-family-title);
  font-size: 12px;
  font-weight: var(--font-weight-r);
  color: var(--color-font-sub);
  letter-spacing: 0.03em;
  line-height: 1.4;
}
.m-card-02__tag {
  margin-top: var(--block-xs);
}
.m-card-02__tagInner {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.m-card-02__tagItem {
  font-family: var(--font-family-title);
  color: var(--color-font-sub);
  font-size: 1.2rem;
  line-height: 1.4;
  letter-spacing: 0.03em;
}
html[lang=en] .m-card-02__tagItem {
  font-size: 1.4rem;
}
.m-card-02__linkList {
  margin-top: 16px;
}
.m-card-02__linkListInner {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}
.m-card-02__linkListItem a {
  position: relative;
  display: flex;
  padding-left: 18px;
  text-decoration: none;
  border-bottom: none;
  color: var(--color-font);
  font-size: 1.2rem;
  letter-spacing: 0.03em;
  line-height: 1.4;
  font-family: var(--font-family-title);
}
.m-card-02__linkListItem a::before {
  display: block;
  content: "";
  left: 0;
  margin-top: 4px;
  width: 5px;
  height: 5px;
  position: absolute;
  top: 50%;
  margin-top: -2px;
  border-right: 1px solid var(--color-main);
  border-bottom: 1px solid var(--color-main);
  transform: rotate(-45deg);
  transition: border-color 0.4s;
}
.m-card-02__linkListItem a:hover, .m-card-02__linkListItem a:active, .m-card-02__linkListItem a:focus-visible {
  color: var(--color-link);
}
@media only screen and (max-width: 895px) {
  .m-card-02--about .m-card-02__inner {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: var(--block-lg);
  }
  .m-card-02--about .m-card-02__image {
    max-height: unset;
    width: 192px;
    height: 183px;
    flex: 0 1 auto;
    padding-top: 6px;
    justify-content: flex-start;
  }
  .m-card-02--about .m-card-02__image > img {
    object-position: center;
    max-height: 177px;
  }
  .m-card-02--about .m-card-02__hdg {
    margin-top: 0;
  }
  .m-card-02--about .m-card-02__linkListItem a {
    font-size: 1.4rem;
  }
}
@media only screen and (max-width: 750px) {
  .m-card-02--about .m-card-02__image {
    max-height: 82px;
    max-width: 26%;
    flex: 1 1 auto;
  }
  .m-card-02--about .m-card-02__image > img {
    max-height: -webkit-fill-available;
  }
  html[lang=en] .m-card-02--about .m-card-02__hdg {
    font-size: 1.6rem;
  }
  .m-card-02--about .m-card-02__linkListItem a {
    font-size: 1.3rem;
  }
  .m-card-02__image > img {
    width: 100%;
  }
  .m-card-02__hdg {
    font-size: 1.6rem;
    -webkit-line-clamp: 4;
  }
  html[lang=en] .m-card-02__hdg {
    font-size: 1.8rem;
  }
  html[lang=en] .splide.is-active .m-card-02__hdg {
    font-size: 1.6rem;
  }
  .m-card-02__category {
    gap: 12px;
  }
  .m-card-02__category > .category {
    font-size: 1.4rem;
  }
  .m-card-02__category > .type > span {
    padding-right: 32px;
  }
  .m-card-02__category > .type > span::before {
    width: 24px;
  }
}

/* .m-card-03（e.g. PROJECTS詳細、トップ：カルーセルと併用）
----------------------------------------------- */
.m-card-03__link {
  display: block;
  border-bottom: unset;
}
.m-card-03__link .m-card-03__image {
  overflow: hidden;
}
.m-card-03__link .m-card-03__image > img {
  transition: transform 0.3s ease-out;
}
.m-card-03__link:hover .m-card-03__image > img, .m-card-03__link:active .m-card-03__image > img, .m-card-03__link:focus-visible .m-card-03__image > img {
  transition: transform 0.3s ease-out;
  transform: scale(1.08);
}
.m-card-03__link:hover .m-card-03__content--onImage .m-card-03__linkButtonOnImage .m-linkBtn.m-linkBtn--lg.m-linkBtn--white, .m-card-03__link:active .m-card-03__content--onImage .m-card-03__linkButtonOnImage .m-linkBtn.m-linkBtn--lg.m-linkBtn--white, .m-card-03__link:focus-visible .m-card-03__content--onImage .m-card-03__linkButtonOnImage .m-linkBtn.m-linkBtn--lg.m-linkBtn--white {
  background-color: var(--color-link);
  border-radius: 20px;
  padding: 9px 20px 9px 44px;
}
.m-card-03__link:hover .m-card-03__content--onImage .m-card-03__linkButtonOnImage .m-linkBtn.m-linkBtn--lg.m-linkBtn--white .m-linkBtn__icon.m-linkIcon, .m-card-03__link:active .m-card-03__content--onImage .m-card-03__linkButtonOnImage .m-linkBtn.m-linkBtn--lg.m-linkBtn--white .m-linkBtn__icon.m-linkIcon, .m-card-03__link:focus-visible .m-card-03__content--onImage .m-card-03__linkButtonOnImage .m-linkBtn.m-linkBtn--lg.m-linkBtn--white .m-linkBtn__icon.m-linkIcon {
  border-color: var(--color-link);
  background-color: var(--color-main);
  transition: background-color 0.2s;
}
.m-card-03__link:hover .m-card-03__content--onImage .m-card-03__linkButtonOnImage .m-linkBtn.m-linkBtn--lg.m-linkBtn--white .m-linkBtn__icon.m-linkIcon::before, .m-card-03__link:active .m-card-03__content--onImage .m-card-03__linkButtonOnImage .m-linkBtn.m-linkBtn--lg.m-linkBtn--white .m-linkBtn__icon.m-linkIcon::before, .m-card-03__link:focus-visible .m-card-03__content--onImage .m-card-03__linkButtonOnImage .m-linkBtn.m-linkBtn--lg.m-linkBtn--white .m-linkBtn__icon.m-linkIcon::before {
  border-right: 1px solid var(--color-white);
  border-bottom: 1px solid var(--color-white);
}
.m-card-03__link:hover .m-card-03__content--onImage .m-card-03__linkButtonOnImage .m-linkBtn.m-linkBtn--lg.m-linkBtn--white .m-linkBtn__text, .m-card-03__link:active .m-card-03__content--onImage .m-card-03__linkButtonOnImage .m-linkBtn.m-linkBtn--lg.m-linkBtn--white .m-linkBtn__text, .m-card-03__link:focus-visible .m-card-03__content--onImage .m-card-03__linkButtonOnImage .m-linkBtn.m-linkBtn--lg.m-linkBtn--white .m-linkBtn__text {
  color: var(--color-white);
}
.m-card-03__content--onImage {
  position: absolute;
  bottom: 80px;
  left: 80px;
  color: var(--color-white);
  max-width: 1200px;
}
.m-card-03__content--onImage .m-card-03__titleOnImage {
  font-family: var(--font-family-title);
  font-size: 3.8rem;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
html[lang=en] .m-card-03__content--onImage .m-card-03__titleOnImage {
  font-size: 4rem;
  letter-spacing: 0.025em;
}
.m-card-03__content--onImage .m-card-03__subTextOnImage {
  margin-top: var(--block-md);
  font-family: var(--font-family-title);
  font-size: 1.6rem;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
html[lang=en] .m-card-03__content--onImage .m-card-03__subTextOnImage {
  font-size: 1.6rem;
  letter-spacing: 0.025em;
}
.m-card-03__content--onImage .m-card-03__linkButtonOnImage {
  margin-top: 64px;
}
.m-card-03__content--onImage .m-card-03__linkButtonOnImage .m-linkBtn.m-linkBtn--lg.m-linkBtn--white .m-linkBtn__icon.m-linkIcon {
  transition: background-color 0.2s, border-color 0.2s;
}
.m-card-03__image {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--color-border-base);
}
.m-card-03__image:has(~ .m-card-03__content--onImage)::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.48) 100%);
  pointer-events: none; /* クリック阻害しない */
}
.m-card-03__image::before {
  display: block;
  content: "";
  position: absolute;
  opacity: 0;
  left: 0;
  top: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background-color: rgba(98, 176, 226, 0.4);
  transition: opacity 0.2s;
}
.m-card-03__image > img {
  width: 100%;
  max-height: 560px;
  height: 100%;
  max-width: 100%;
  object-fit: cover;
  aspect-ratio: 16/10;
}
.m-card-03__text {
  text-align: right;
  margin-top: 8px;
  font-family: var(--font-family-body);
  font-size: 15px;
  font-weight: var(--font-weight-r);
  color: var(--color-font);
  line-height: 1.6;
}
@media only screen and (max-width: 1439px) {
  .m-card-03__content--onImage {
    left: 0;
    width: 100%;
    max-width: 100%;
  }
  .m-card-03__content--onImage > * {
    margin: 0 auto;
    width: 85%;
  }
}
@media only screen and (max-width: 859px) {
  .m-card-03__content--onImage {
    bottom: 40px;
  }
  html[lang=en] .m-card-03__content--onImage .m-card-03__titleOnImage {
    font-size: 3.4rem;
    line-height: 1.4;
  }
  html[lang=en] .m-card-03__content--onImage .m-card-03__subTextOnImage {
    margin-top: 16px;
  }
  html[lang=en] .m-card-03__content--onImage .m-card-03__linkButtonOnImage {
    margin-top: 32px;
  }
}
@media only screen and (max-width: 750px) {
  .m-card-03__link:hover .m-card-03__content--onImage .m-card-03__linkButtonOnImage .m-linkBtn.m-linkBtn--lg.m-linkBtn--white, .m-card-03__link:active .m-card-03__content--onImage .m-card-03__linkButtonOnImage .m-linkBtn.m-linkBtn--lg.m-linkBtn--white, .m-card-03__link:focus-visible .m-card-03__content--onImage .m-card-03__linkButtonOnImage .m-linkBtn.m-linkBtn--lg.m-linkBtn--white {
    background-color: transparent;
  }
  .m-card-03__image > img {
    width: 100%;
  }
  .m-card-03__text {
    margin-top: 6px;
    font-size: 12px;
  }
  .m-card-03__content--onImage {
    left: 0;
    bottom: 28px;
  }
  .m-card-03__content--onImage > * {
    padding: 0 var(--gutter-content-sp);
    margin: 0;
    width: auto;
  }
  .m-card-03__content--onImage .m-card-03__titleOnImage {
    font-size: 2.6rem;
  }
  html[lang=en] .m-card-03__content--onImage .m-card-03__titleOnImage {
    font-size: 2.6rem;
  }
  .m-card-03__content--onImage .m-card-03__subTextOnImage {
    font-size: 1.3rem;
  }
  html[lang=en] .m-card-03__content--onImage .m-card-03__subTextOnImage {
    font-size: 1.5rem;
  }
  .m-card-03__content--onImage .m-card-03__linkButtonOnImage {
    margin-top: 40px;
  }
  html[lang=en] .m-card-03__content--onImage .m-card-03__linkButtonOnImage {
    margin-top: 32px;
  }
}

/* .m-card-04（e.g. INNOVATION、カラムレイアウトと併用）
----------------------------------------------- */
.m-card-04__link {
  border-bottom: none;
  color: inherit;
}
.m-card-04__link:hover .m-card-04__image::before, .m-card-04__link:active .m-card-04__image::before, .m-card-04__link:focus-visible .m-card-04__image::before {
  opacity: 1;
}
.m-card-04__image {
  margin-bottom: 16px;
  border: 1px solid var(--color-border-base);
  position: relative;
}
.m-card-04__image::before {
  display: block;
  content: "";
  position: absolute;
  opacity: 0;
  left: 0;
  top: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background-color: rgba(98, 176, 226, 0.4);
  transition: opacity 0.2s;
}
.m-card-04__image > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 16/10;
}
.m-card-04__hdg {
  font-family: var(--font-family-title);
  font-size: 1.8rem;
  font-weight: var(--font-weight-d);
  letter-spacing: 0.03em;
  line-height: 1.8;
  color: var(--color-font);
}
html[lang=en] .m-card-04__hdg {
  font-size: 2rem;
  font-weight: var(--font-weight-r);
  line-height: 1.6;
  letter-spacing: 0.015em;
}
.m-card-04__text {
  margin-top: 12px;
  font-family: var(--font-family-body);
  font-size: 1.5rem;
  font-weight: var(--font-weight-r);
  color: var(--color-font-sub);
  letter-spacing: 0.03em;
  line-height: 1.6;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
html[lang=en] .m-card-04__text {
  font-size: 1.5rem;
}
.c-lyt-col.c-lyt-col--people .m-card-04__text {
  font-family: var(--font-family-body);
}
@media only screen and (max-width: 750px) {
  .m-card-04__image {
    margin-bottom: 8px;
  }
  .m-card-04__image > img {
    width: 100%;
  }
  .m-card-04__hdg {
    font-size: 1.6rem;
  }
  html[lang=en] .m-card-04__hdg {
    font-size: 1.8rem;
  }
  .m-card-04__text {
    margin-top: 8px;
    font-size: 1.4rem;
  }
}

/* .m-card-05（e.g. INSIGHTSトップ、INNOVATION：ゴロが入るカード ※カラムレイアウトと併用）
----------------------------------------------- */
.m-card-05__link {
  border-bottom: none;
  color: inherit;
}
.m-card-05__link:hover .m-card-05__image::before, .m-card-05__link:active .m-card-05__image::before, .m-card-05__link:focus-visible .m-card-05__image::before {
  opacity: 1;
}
.m-card-05__image {
  margin-bottom: var(--block-xs);
  padding: 16px 32px;
  position: relative;
  border: 1px solid var(--color-border-base);
  aspect-ratio: 16/10;
}
.m-card-05__image::before {
  display: block;
  content: "";
  position: absolute;
  opacity: 0;
  left: 0;
  top: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background-color: rgba(98, 176, 226, 0.4);
  transition: opacity 0.2s;
}
.m-card-05__image > img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.m-card-05__hdg {
  font-family: var(--font-family-title);
  font-size: 1.8rem;
  font-weight: var(--font-weight-d);
  letter-spacing: 0.03em;
  color: var(--color-font);
  line-height: 1.8;
  position: relative;
}
.m-card-05__hdg img.m-icon-link {
  margin: 0 8px;
  vertical-align: middle;
  display: inline-flex;
}
html[lang=en] .m-card-05__hdg {
  font-weight: var(--font-weight-r);
}
.m-card-05__text {
  margin-top: 8px;
  font-family: var(--font-family-body);
  font-size: 1.5rem;
  line-height: 1.6;
  color: var(--color-font-sub);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
@media only screen and (max-width: 1439px) {
  .m-card-05__image {
    padding: clamp(8px, 8px + 8 * (100vw - 751px) / 688, 16px) clamp(16px, 16px + 16 * (100vw - 751px) / 688, 32px);
  }
}
@media only screen and (max-width: 750px) {
  .m-card-05__image {
    margin-bottom: 8px;
    padding: 8px 16px;
  }
  .m-card-05__image > img {
    width: 100%;
  }
  .m-card-05__hdg {
    font-size: 1.6rem;
  }
  .m-card-05__text {
    font-size: 1.4rem;
    -webkit-line-clamp: 4;
  }
}

/* .m-card-06（e.g. コンタクトトップ（-04の画像サイズ調整版））
----------------------------------------------- */
.m-card-06__link {
  border-bottom: none;
  color: inherit;
}
.m-card-06__link:hover .m-card-06__image::before, .m-card-06__link:active .m-card-06__image::before, .m-card-06__link:focus-visible .m-card-06__image::before {
  opacity: 1;
}
.m-card-06__image {
  margin-bottom: 16px;
  position: relative;
  border: 1px solid var(--color-border-base);
}
.m-card-06__image::before {
  display: block;
  content: "";
  position: absolute;
  opacity: 0;
  left: 0;
  top: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background-color: rgba(98, 176, 226, 0.4);
  transition: opacity 0.2s;
}
.m-card-06__image > img {
  max-height: 270px;
  aspect-ratio: 16/10;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.m-card-06__hdg {
  font-family: var(--font-family-title);
  font-size: 1.8rem;
  font-weight: var(--font-weight-d);
  letter-spacing: 0.03em;
  line-height: 1.8;
  color: var(--color-font);
}
html[lang=en] .m-card-06__hdg {
  font-weight: var(--font-weight-r);
}
.m-card-06__text {
  font-family: var(--font-family-body);
  font-size: 1.5rem;
  font-weight: var(--font-weight-r);
  color: var(--color-font-sub);
  letter-spacing: 0.03em;
  line-height: 1.6;
}
.c-lyt-col.c-lyt-col--people .m-card-06__text {
  font-family: var(--font-family-body);
}
@media only screen and (max-width: 750px) {
  .m-card-06__image {
    margin-bottom: 8px;
  }
  .m-card-06__image > img {
    width: 100%;
  }
}

/* .historyHead（既存）
----------------------------------------------- */
.historyHead {
  position: relative;
  z-index: 2;
  color: var(--color-white);
}
.historyHead:not(:first-child) {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.historyHead .c-pageHeader--withBg::before {
  content: none;
}
.historyHead .m-scrollDown {
  position: absolute;
  left: 50%;
  bottom: 0;
  color: #FFF;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
.historyHead .head {
  font-family: var(--font-family-title);
  font-size: 1.8rem;
  font-weight: var(--font-weight-d);
  letter-spacing: 0.03em;
}
html[lang=en] .historyHead .head {
  font-size: 2rem;
  font-weight: var(--font-weight-r);
}
.historyHead .hdg {
  margin-top: 16px;
  font-family: var(--font-family-title);
  font-size: 3.4rem;
  font-weight: var(--font-weight-d);
  letter-spacing: 0.05em;
}
html[lang=en] .historyHead .hdg {
  font-size: 3.8rem;
  font-weight: var(--font-weight-r);
}
.historyHead .desc {
  margin-top: 24px;
  font-size: 1.7rem;
  font-weight: 550;
  line-height: 2.2;
}
html[lang=en] .historyHead .desc {
  font-size: 2rem;
}
.historyHead .historyAnchorListArea {
  margin-top: 54px;
}
@media only screen and (max-width: 750px) {
  .historyHead:first-child {
    height: calc(100vh - 50px);
  }
  .historyHead:first-child {
    padding-bottom: 30px;
    height: auto;
    min-height: auto;
  }
  .historyHead:first-child .historyHead__body {
    margin-top: 25px;
  }
  .historyHead .c-pageHeader {
    background-color: transparent;
  }
  .historyHead .c-pageHeader__parent {
    margin-bottom: 0;
  }
  .historyHead .c-pageHeader__hdg {
    font-size: 2rem;
  }
  .historyHead .head {
    line-height: 1.8;
  }
  .historyHead .hdg {
    margin-top: 20px;
    font-size: 2.3rem;
  }
  html[lang=en] .historyHead .hdg {
    font-size: 2.5rem;
  }
  .historyHead .desc {
    margin-top: 24px;
    font-size: 1.6rem;
    font-weight: 550;
    line-height: 2.2;
  }
  html[lang=en] .historyHead .desc {
    font-size: 1.8rem;
  }
}

/* .m-cardNews｜e.g. トップ
----------------------------------------------- */
.m-cardNews__link {
  display: block;
  text-decoration: none;
  color: var(--color-font);
  border: 0;
}
.m-cardNews__link:hover, .m-cardNews__link:active, .m-cardNews__link:focus-visible {
  color: var(--color-main);
}
.m-cardNews__link:hover .m-cardNews__category, .m-cardNews__link:active .m-cardNews__category, .m-cardNews__link:focus-visible .m-cardNews__category {
  color: var(--color-font);
}
.m-cardNews__sub {
  display: flex;
  flex-wrap: wrap;
  font-size: 1.4rem;
  line-height: 1.4;
  letter-spacing: 0.05em;
  gap: 4px 0;
}
.m-cardNews__date {
  position: relative;
  font-family: var(--font-family-en);
  color: var(--color-font-sub);
  padding-inline: 0 25px;
}
.m-cardNews__date::before {
  display: block;
  content: "";
  position: absolute;
  width: 1px;
  height: 16px;
  top: 50%;
  transform: translateY(-50%);
  right: 12px;
  background-color: var(--color-border-base);
}
.m-cardNews__category {
  position: relative;
  padding-inline: 0 32px;
  display: inline-block;
  position: relative;
  color: var(--color-font);
}
.m-cardNews__category--en {
  font-family: var(--font-family-en);
}
.m-cardNews__category::after {
  display: block;
  content: "";
  position: absolute;
  display: block;
  width: 24px;
  height: 1px;
  background-color: var(--color-main);
  top: 9px;
  right: 0;
}
.m-cardNews__title {
  margin-top: 16px;
  display: flex;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  line-height: 1.8;
  font-family: var(--font-family-title);
}
html[lang=en] .m-cardNews__title {
  font-size: 1.5rem;
}
@media only screen and (max-width: 750px) {
  .m-cardNews__sub {
    font-size: 1.3rem;
  }
  .m-cardNews__date {
    padding-inline: 0 24px;
  }
  .m-cardNews__date::before {
    height: 14px;
    right: 12px;
  }
  .m-cardNews__category {
    padding-inline: 0 32px;
  }
  .m-cardNews__category::after {
    width: 24px;
  }
  .m-cardNews__title {
    margin-top: 12px;
    font-size: 1.3rem;
  }
  html[lang=en] .m-cardNews__title {
    font-size: 1.4rem;
  }
}

/* .c-card-topics｜e.g. トップ
----------------------------------------------- */
.c-card-topics__inner {
  display: grid;
  grid-template-areas: "item1 item3 item2" "item1 item4 item2";
}
.c-card-topics__item:first-child {
  grid-area: item1;
  padding-right: 40px;
}
.c-card-topics__item:first-child:last-child {
  padding-right: 0;
}
.c-card-topics__item:first-child .m-meta {
  color: var(--color-white);
}
.c-card-topics__item:first-child .c-card-topics__link {
  display: flex;
  flex-direction: column;
}
.c-card-topics__item:first-child .c-card-topics__link .c-card-topics__img {
  overflow: hidden;
}
.c-card-topics__item:first-child .c-card-topics__link .c-card-topics__img > img {
  transition: transform 0.3s ease-out;
}
.c-card-topics__item:first-child .c-card-topics__content {
  color: var(--color-white);
  padding: var(--block-lg);
  gap: 16px;
  background-color: var(--color-main);
}
.c-card-topics__item:first-child .c-card-topics__content .m-label-03__text {
  background: rgba(0, 0, 0, 0.12);
}
.c-card-topics__item:first-child .c-card-topics__sub {
  color: var(--color-font-sub);
}
.c-card-topics__item:first-child .c-card-topics__sub .c-meta__item + .c-meta__item::before {
  background-color: var(--color-white);
}
.c-card-topics__item:nth-child(2) .c-card-topics__link, .c-card-topics__item:nth-child(3) .c-card-topics__link, .c-card-topics__item:nth-child(4) .c-card-topics__link {
  padding: 28px;
  gap: var(--block-md);
  transition: background-color 0.3s ease-out;
}
.c-card-topics__item:nth-child(2) .c-card-topics__link .c-card-topics__img, .c-card-topics__item:nth-child(3) .c-card-topics__link .c-card-topics__img, .c-card-topics__item:nth-child(4) .c-card-topics__link .c-card-topics__img {
  overflow: hidden;
}
.c-card-topics__item:nth-child(2) .c-card-topics__link .c-card-topics__img > img, .c-card-topics__item:nth-child(3) .c-card-topics__link .c-card-topics__img > img, .c-card-topics__item:nth-child(4) .c-card-topics__link .c-card-topics__img > img {
  transition: transform 0.3s ease-out;
}
.c-card-topics__item:nth-child(3), .c-card-topics__item:nth-child(4) {
  max-width: 500px;
  width: 100%;
}
.c-card-topics__item:nth-child(3) .c-card-topics__link, .c-card-topics__item:nth-child(4) .c-card-topics__link {
  display: flex;
  flex-wrap: nowrap;
}
.c-card-topics__item:nth-child(3) .c-card-topics__img, .c-card-topics__item:nth-child(4) .c-card-topics__img {
  max-width: 176px;
  flex: 1 1 0;
  align-self: flex-start;
}
.c-card-topics__item:nth-child(3) .c-card-topics__content, .c-card-topics__item:nth-child(4) .c-card-topics__content {
  flex: 1 1 0;
}
.c-card-topics__item:nth-child(3) .c-card-topics__title, .c-card-topics__item:nth-child(4) .c-card-topics__title {
  font-size: 1.4rem;
}
.c-card-topics__item:nth-child(2) {
  grid-area: item2;
  max-width: 337px;
  width: 100%;
  border-top: 1px solid var(--color-border-base);
  border-right: 1px solid var(--color-border-base);
  border-bottom: 1px solid var(--color-border-base);
}
.c-card-topics__item:nth-child(2) .c-card-topics__link {
  display: flex;
  flex-direction: column;
}
.c-card-topics__item:nth-child(2) .c-card-topics__title {
  font-size: 1.6rem;
}
.c-card-topics__item:nth-child(3) {
  grid-area: item3;
  border: 1px solid var(--color-border-base);
}
.c-card-topics__item:nth-child(4) {
  grid-area: item4;
  border-left: 1px solid var(--color-border-base);
  border-right: 1px solid var(--color-border-base);
  border-bottom: 1px solid var(--color-border-base);
}
.c-card-topics__itemInner {
  height: 100%;
}
.c-card-topics__link {
  display: block;
  border: 0;
  position: relative;
  height: 100%;
}
.c-card-topics__link--reverse {
  flex-direction: row-reverse;
}
.c-card-topics__link:hover::before, .c-card-topics__link:active::before, .c-card-topics__link:focus-visible::before {
  opacity: 1;
}
.c-card-topics__item .c-card-topics__link:hover .c-card-topics__img > img, .c-card-topics__item .c-card-topics__link:active .c-card-topics__img > img, .c-card-topics__item .c-card-topics__link:focus-visible .c-card-topics__img > img {
  transition: transform 0.3s ease-out;
  transform: scale(1.08);
}
.c-card-topics__item:not(:first-child) .c-card-topics__link:hover, .c-card-topics__item:not(:first-child) .c-card-topics__link:active, .c-card-topics__item:not(:first-child) .c-card-topics__link:focus-visible {
  background-color: var(--color-white);
}
.c-card-topics__img {
  overflow: hidden;
  height: fit-content;
  border: 1px solid var(--color-border-base);
}
.c-card-topics__img > img {
  width: 100%;
  height: auto;
  display: block;
}
.c-card-topics__content {
  font-family: var(--font-family-title);
  color: var(--color-font);
  display: flex;
  flex-direction: column;
  gap: var(--block-xs);
}
.c-card-topics__type--en {
  font-family: var(--font-family-en);
}
.c-card-topics__title {
  font-size: 1.8rem;
  line-height: 1.8;
}
.c-card-topics__title img {
  filter: brightness(0) invert(1);
}
.c-card-topics__sub {
  color: var(--color-font-sub);
}
@media only screen and (max-width: 1439px) {
  .c-card-topics__inner {
    grid-template-columns: 400px 1fr 1fr;
  }
}
@media only screen and (max-width: 1199px) {
  .c-card-topics__inner {
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "item1 item2" "item1 item3" "item1 item4";
  }
  .c-card-topics__item:first-child {
    padding-right: clamp(24px, 5.281vw - 23.318px, 40px);
  }
  .c-card-topics__item:first-child .c-card-topics__content {
    padding: clamp(20px, 3.1683vw - 9.578px, 28px);
  }
  .c-card-topics__item:nth-child(2) .c-card-topics__link, .c-card-topics__item:nth-child(3) .c-card-topics__link, .c-card-topics__item:nth-child(4) .c-card-topics__link {
    padding: clamp(20px, 3.1683vw - 9.578px, 28px);
  }
  .c-card-topics__item:nth-child(2) {
    max-width: unset;
    border-bottom: 0;
    border-left: 1px solid var(--color-border-base);
  }
  .c-card-topics__item:nth-child(3), .c-card-topics__item:nth-child(4) {
    max-width: 100%;
  }
  .c-card-topics__itemInner {
    height: auto;
  }
}
@media only screen and (max-width: 895px) {
  .c-card-topics__item:first-child {
    padding-right: 24px;
  }
  .c-card-topics__item:nth-child(2) .c-card-topics__link, .c-card-topics__item:nth-child(3) .c-card-topics__link, .c-card-topics__item:nth-child(4) .c-card-topics__link {
    padding: 20px;
  }
}
@media only screen and (max-width: 750px) {
  .c-card-topics__inner {
    grid-template-areas: "item1" "item2" "item3" "item4";
    grid-template-columns: 1fr;
    max-width: 520px;
    margin: 0 auto;
  }
  .c-card-topics__item {
    width: 100%;
  }
  .c-card-topics__item:first-child {
    padding-right: 0;
    margin-bottom: 28px;
  }
  .c-card-topics__item:first-child .c-card-topics__content {
    padding: 24px;
  }
  .c-card-topics__item:first-child .c-card-topics__content .m-label-03__text--en {
    font-size: 1.3rem;
  }
  .c-card-topics__item:first-child .c-card-topics__title {
    font-size: 1.6rem;
  }
  .c-card-topics__item:nth-child(2), .c-card-topics__item:nth-child(3), .c-card-topics__item:nth-child(4) {
    max-width: 100%;
  }
  .c-card-topics__item:nth-child(2) .c-card-topics__link, .c-card-topics__item:nth-child(3) .c-card-topics__link, .c-card-topics__item:nth-child(4) .c-card-topics__link {
    padding: 24px;
  }
  .c-card-topics__item:nth-child(3) .c-card-topics__img, .c-card-topics__item:nth-child(4) .c-card-topics__img {
    min-width: 104px;
    flex: 1 3 auto;
  }
  .c-card-topics__item:nth-child(3) .c-card-topics__content, .c-card-topics__item:nth-child(4) .c-card-topics__content {
    flex: 1 1 100%;
  }
  .c-card-topics__item:nth-child(2) {
    border-left: 1px solid var(--color-border-base);
    border-bottom: 1px solid var(--color-border-base);
  }
  .c-card-topics__item:nth-child(2) .c-card-topics__link {
    flex-direction: row;
  }
  .c-card-topics__item:nth-child(2) .c-card-topics__img {
    align-self: flex-start;
  }
  .c-card-topics__item:nth-child(2) .c-card-topics__title {
    font-size: 1.4rem;
  }
  .c-card-topics__item:nth-child(3) {
    border-top: 0;
  }
}
@media only screen and (max-width: 1199px) {
  .c-card-topics__item:nth-child(2) .c-card-topics__link {
    flex-direction: column;
  }
}

/* ----------------------------------------------------------------
  Carousel
----------------------------------------------------------------- */
/* .c-carousel-01
----------------------------------------------- */
.c-carousel-01 {
  margin-top: var(--block-2xl);
}
.c-carousel-01.-col2-pc .c-carousel-01__item {
  max-width: 664px;
}
.c-carousel-01:not(.is-active) .c-carousel-01__control {
  display: none;
}
.c-carousel-01.is-noCarousel {
  visibility: visible;
}
.c-carousel-01.is-noCarousel > .c-carousel-01__track {
  margin: 0 auto;
  width: 85%;
  max-width: 1360px;
}
.c-carousel-01.is-noCarousel .c-carousel-01__item {
  flex-shrink: 1;
}
.c-carousel-01.is-noCarousel .c-carousel-01__item:last-child {
  margin-right: 0;
}
.l-content-area__inner > .c-carousel-01:first-child > .m-container:first-child > .c-carousel-01__track:first-child {
  margin-top: 0;
}
.c-carousel-01 .c-hdg-l2 + .c-linkBtn,
.c-carousel-01 .c-hdg-l3 + .c-linkBtn {
  position: absolute;
  right: 0;
  margin-top: 30px;
}
.c-carousel-01 .c-hdg-l2 + .c-linkBtn .c-linkBtn__btn,
.c-carousel-01 .c-hdg-l3 + .c-linkBtn .c-linkBtn__btn {
  text-align: right;
}
.c-carousel-01 .c-hdg-l2 + .c-linkBtn {
  top: -20px;
}
.c-carousel-01 .c-hdg-l3 + .c-linkBtn {
  top: -30px;
}
.l-content-area__inner > .c-carousel-01:first-child > .c-hdg-l2:first-child {
  margin-top: 0;
}
.c-carousel-01 > .m-container:has(> *:is(.c-hdg-l2, .c-hdg-l3):first-child + .c-linkBtn) {
  position: relative;
}
.c-carousel-01 > .m-container:first-child .c-hdg-l2,
.c-carousel-01 > .m-container:first-child .c-hdg-l3 {
  margin-top: 0;
}
.c-carousel-01__inner {
  display: flex;
}
.c-carousel-01.is-noCarousel:not(:has(.is-active))[data-col="4"] .c-carousel-01__inner {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}
.c-carousel-01.is-noCarousel:not(:has(.is-active))[data-col="3"] .c-carousel-01__inner {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}
.c-carousel-01.is-noCarousel:not(:has(.is-active))[data-col="2"] .c-carousel-01__inner {
  display: flex;
}
.c-carousel-01__track {
  margin-top: 28px;
  padding: 1px !important;
  margin-inline: -1px;
}
.c-carousel-01__item {
  margin-right: 32px;
  width: 100%;
  max-width: 432px;
  flex-shrink: 0;
  opacity: 1;
}
.c-carousel-01__item.splide__slide {
  margin-right: 32px;
}
.c-carousel-01__control {
  margin-top: 28px;
  display: flex;
  justify-content: flex-end;
  gap: 18px;
  flex-wrap: wrap;
}
.c-carousel-01__pagination {
  --size-btn: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 12px;
  margin-bottom: 0;
  min-height: var(--size-btn);
}
.c-carousel-01__pagination > li {
  display: flex;
  position: relative;
}
.c-carousel-01__pagination button {
  position: relative;
  margin: 1px;
  padding: 0;
  width: var(--size-btn);
  height: var(--size-btn);
  background-color: var(--color-border-base);
  border: 0;
  border-radius: 50%;
  cursor: pointer;
}
.c-carousel-01__pagination button[aria-selected=true] {
  width: 6px;
  height: 6px;
  background-color: var(--color-main);
}
.c-carousel-01__pagination button > span {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  padding: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  border: 0;
  white-space: nowrap;
  overflow: hidden;
}
.c-carousel-01__arrow {
  display: flex;
  justify-content: center;
  column-gap: 0;
}
.c-carousel-01__arrow-item {
  display: flex;
}
.c-carousel-01__arrow-btn {
  position: relative;
  width: 26px;
  height: 26px;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  transition: transform 0.3s;
  overflow: hidden;
  z-index: 1;
}
.c-carousel-01__arrow-btn::before {
  display: block;
  content: "";
  position: absolute;
  left: 12px;
  top: 54%;
  margin-top: -4px;
  border-right: 1px solid var(--color-font-sub);
  border-bottom: 1px solid var(--color-font-sub);
  width: 7px;
  height: 7px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: rotate(-45deg);
  transition: border-color 0.3s;
}
.js-carousel-04 .c-carousel-01__arrow-btn::before {
  left: 9px;
  top: 50%;
}
.c-carousel-01__arrow-btn.prev::before {
  rotate: 180deg;
}
.c-carousel-01__arrow-btn:disabled {
  background-color: #C7C8C9;
  box-shadow: none;
  cursor: not-allowed;
}
.c-carousel-01__arrow-btn > span {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  padding: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  border: 0;
  white-space: nowrap;
  overflow: hidden;
}
@media only screen and (max-width: 1199px) {
  .c-carousel-01.is-active > .m-container {
    padding-inline: 0;
  }
  .c-carousel-01.is-active > .m-container .c-hdg-l3,
  .c-carousel-01.is-active > .m-container .c-carousel-01__nav {
    padding: 0 var(--gutter-content-sp);
  }
}
@media only screen and (max-width: 750px) {
  .c-carousel-01 {
    margin: 40px 0 0;
  }
  .c-carousel-01.-col2-pc .c-carousel-01__inner {
    display: grid;
    grid-template-columns: 1fr;
    gap: 48px;
  }
  .c-carousel-01.is-active > .m-container {
    padding-inline: 0;
  }
  .c-carousel-01.is-active > .m-container .c-hdg-l2,
  .c-carousel-01.is-active > .m-container .c-hdg-l3,
  .c-carousel-01.is-active > .m-container .c-carousel-01__nav {
    padding: 0 var(--gutter-content-sp);
  }
  .c-carousel-01.splide:not(.is-active) .c-carousel-01__inner {
    display: flex;
    flex-direction: column;
    gap: 48px;
  }
  .c-carousel-01.splide:not(.is-active) .c-carousel-01__inner.splide__list {
    display: flex;
  }
  .c-carousel-01.splide:not(.is-active) .c-carousel-01__item {
    margin-right: 0;
  }
  .c-carousel-01 .c-hdg-l2 + .c-linkBtn,
  .c-carousel-01 .c-hdg-l3 + .c-linkBtn {
    right: var(--gutter-content-sp);
    top: -12px;
    margin-top: 15px;
  }
  .c-carousel-01--border-bottom-sp {
    padding-bottom: var(--padding-bottom-content-sp);
    border-bottom: 1px solid var(--color-border-base);
  }
  .c-carousel-01.is-noCarousel:not(:has(.is-active)) .c-carousel-01__inner {
    grid-template-columns: 1fr !important;
  }
  .c-carousel-01.is-noCarousel:not(:has(.is-active)) .c-carousel-01__inner .c-carousel-01__item {
    margin-right: 0;
  }
  .c-carousel-01__item {
    display: block;
    padding: 0;
    width: auto;
  }
  .c-carousel-01__track {
    margin-top: 24px;
  }
  .c-carousel-01__control {
    column-gap: 16px;
  }
  .c-carousel-01__pagination {
    column-gap: 10px;
  }
  .c-carousel-01__arrow-btn {
    width: 25px;
  }
  .c-carousel-01__arrow-btn::before {
    width: 6px;
    height: 6px;
  }
  .js-carousel-04 .c-carousel-01__arrow-btn::before {
    left: 10px;
  }
}

@media (hover: hover) and (pointer: fine) {
  .c-carousel-01__arrow-btn:hover::before {
    border-right-color: var(--color-main);
    border-bottom-color: var(--color-main);
  }
}
/* .c-carousel-02｜e.g. PROJECTS詳細、トップ
----------------------------------------------- */
.c-carousel-02 {
  margin-top: var(--block-2xl);
}
.c-carousel-02:not(.is-active) .c-carousel-02__control {
  display: none;
}
.c-carousel-02--lg .c-carousel-02__item {
  max-width: var(--width-content);
}
.c-carousel-02--lg .m-card-03__image > img {
  max-height: 765px;
  aspect-ratio: 16/9;
}
.c-carousel-02.is-noCarousel {
  visibility: visible;
}
.c-carousel-02.is-noCarousel .c-carousel-02__inner {
  justify-content: center;
}
.c-carousel-02.is-noCarousel .c-carousel-02__item {
  margin-inline: 0;
  justify-content: center;
}
.c-carousel-02.is-noCarousel .c-carousel-02__nav {
  display: none;
}
.c-carousel-02.is-noCarousel .c-linkBtn--showMore {
  display: none;
}
.c-carousel-02 .c-hdg-l2 + .c-linkBtn,
.c-carousel-02 .c-hdg-l3 + .c-linkBtn {
  position: absolute;
  right: 0;
  margin-top: 30px;
}
.c-carousel-02 .c-hdg-l2 + .c-linkBtn .c-linkBtn__btn,
.c-carousel-02 .c-hdg-l3 + .c-linkBtn .c-linkBtn__btn {
  text-align: right;
}
.c-carousel-02 .c-hdg-l2 + .c-linkBtn {
  top: -20px;
}
.c-carousel-02 .c-hdg-l3 + .c-linkBtn {
  top: -30px;
}
.l-content-area__inner > .c-carousel-02:first-child > .c-hdg-l2:first-child {
  margin-top: 0;
}
.c-carousel-02 > .m-container:has(> *:is(.c-hdg-l2, .c-hdg-l3):first-child + .c-linkBtn) {
  position: relative;
}
.c-carousel-02 > .m-container:first-child .c-hdg-l2,
.c-carousel-02 > .m-container:first-child .c-hdg-l3 {
  margin-top: 0;
}
.c-carousel-02__inner {
  display: flex;
}
.c-carousel-02.is-noCarousel:not(:has(.is-active))[data-col="3"] .c-carousel-02__inner {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}
.c-carousel-02__track {
  margin-top: 28px;
}
.c-carousel-02__item {
  margin-right: 32px;
  width: 100%;
  max-width: 896px;
  flex-shrink: 0;
  opacity: 1;
}
.c-carousel-02__nav > .m-container {
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 28px;
  gap: 32px;
}
.c-carousel-02__nav > .m-container:has(.c-carousel-02__toggle + .c-carousel-01__pagination) {
  justify-content: flex-end;
}
.c-carousel-02__control {
  display: inline-flex;
  justify-content: center;
  flex-wrap: wrap;
  position: relative;
}
.c-carousel-02__control:has(.c-carousel-02__toggle) {
  gap: 68px;
}
.c-carousel-02__control:has(.c-carousel-02__toggle) .c-carousel-02__toggle:has(+ .c-carousel-01__pagination) {
  left: unset;
  right: 64px;
}
.c-carousel-02__toggle {
  width: 12px;
  height: 12px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.c-carousel-02__toggle::before {
  display: block;
  content: "";
  position: absolute;
}
.c-carousel-02__toggle.is-active::before {
  width: 4px;
  height: 12px;
  border-right: 1px solid var(--color-dark);
  border-left: 1px solid var(--color-dark);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.c-carousel-02__toggle:not(.is-active)::before {
  display: block;
  content: "";
  width: 12px;
  height: 12px;
  top: 0;
  left: 2px;
  -webkit-mask-image: url(/ja/assets/img/icon/icon-play.svg);
  mask-image: url(/ja/assets/img/icon/icon-play.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 12px;
  mask-size: 12px;
  background-color: var(--color-font-sub);
}
.c-carousel-02__toggle .splide__toggle__play,
.c-carousel-02__toggle .splide__toggle__pause {
  visibility: hidden;
  display: inline-block !important;
  height: 0;
}
.c-carousel-02__arrow {
  display: flex;
  justify-content: center;
  gap: 60px;
}
.c-carousel-02__arrow-item {
  display: flex;
}
.c-carousel-02__arrow-btn {
  position: relative;
  width: 24px;
  height: 24px;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  transition: transform 0.3s;
  overflow: hidden;
  z-index: 1;
}
.c-carousel-02__arrow-btn:has(+ .carouselProgressRing)::after {
  display: none;
}
.c-carousel-02__arrow-btn::before {
  display: block;
  content: "";
  position: absolute;
  left: 9px;
  top: 60%;
  margin-top: -4px;
  border-right: 1px solid var(--color-font-sub);
  border-bottom: 1px solid var(--color-font-sub);
  width: 4px;
  height: 4px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: rotate(-45deg);
  transition: border-color 0.3s;
}
.c-carousel-02__arrow-btn::after {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  border: 1px solid var(--color-font-sub);
  width: 24px;
  height: 24px;
  border-radius: 50%;
  transition: border-color 0.3s;
}
.c-carousel-02__arrow-btn.prev::before {
  rotate: 180deg;
  left: 11px;
}
.c-carousel-02__arrow-btn:disabled {
  background-color: #C7C8C9;
  box-shadow: none;
  cursor: not-allowed;
}
.c-carousel-02__arrow-btn > span {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  padding: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  border: 0;
  white-space: nowrap;
  overflow: hidden;
}
.c-carousel-02__arrow-btn:hover::after, .c-carousel-02__arrow-btn:active::after, .c-carousel-02__arrow-btn:focus-visible::after {
  border: 1px solid var(--color-main);
}
.c-carousel-02__counter {
  font-family: var(--font-family-en);
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.4;
  letter-spacing: 0.06em;
  color: var(--color-font-sub);
}
.c-carousel-02__counter > .current {
  color: var(--color-font);
}
.c-carousel-02 .splide__pagination {
  display: none;
}
.js-carousel-04 .splide__pagination {
  display: flex;
}

@media only screen and (max-width: 750px) {
  .c-carousel-02 {
    margin: 0 0 54px;
  }
  .c-carousel-02--lg .m-card-03__image > img {
    height: 390px;
  }
  .c-carousel-02.is-active > .m-container {
    padding-inline: 0;
  }
  .c-carousel-02.is-active > .m-container .c-hdg-l2,
  .c-carousel-02.is-active > .m-container .c-hdg-l3,
  .c-carousel-02.is-active > .m-container .c-carousel-02__nav {
    padding: 0 var(--gutter-content-sp);
  }
  .c-carousel-02.is-noCarousel .c-carousel-02__item {
    width: 100%;
  }
  .c-carousel-02 .c-hdg-l2 + .c-linkBtn,
  .c-carousel-02 .c-hdg-l3 + .c-linkBtn {
    right: var(--gutter-content-sp);
    top: -12px;
    margin-top: 15px;
  }
  .c-carousel-02.is-noCarousel:not(:has(.is-active)) .c-carousel-02__inner {
    grid-template-columns: 1fr !important;
  }
  .c-carousel-02.is-noCarousel:not(:has(.is-active)) .c-carousel-02__inner .c-carousel-01__item {
    margin-right: 0;
  }
  .c-carousel-02__item {
    display: block;
    padding: 0;
    width: auto;
  }
  .c-carousel-02__track {
    margin-top: 24px;
  }
  .c-carousel-02__nav {
    position: relative;
  }
  .c-carousel-02__control {
    column-gap: 16px;
  }
  .c-carousel-02__counter {
    position: absolute;
    right: 13%;
    top: 50%;
    transform: translateY(-50%);
  }
  .c-carousel-02__pagination {
    column-gap: 10px;
  }
  .c-carousel-02__arrow-btn {
    width: 20px;
  }
  .c-carousel-02__arrow-btn::before {
    top: calc(60% - 1px);
    left: 7px;
  }
  .c-carousel-02__arrow-btn.prev::before {
    left: 9px;
  }
  .c-carousel-02__arrow-btn::after {
    width: 20px;
    height: 20px;
    top: 50%;
    transform: translateY(-50%);
  }
  .c-carousel-02__toggle.is-active::before {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .c-carousel-02__toggle:not(.is-active) {
    width: 10px;
    height: 10px;
  }
  .c-carousel-02__toggle:not(.is-active)::before {
    width: 10px;
    height: 10px;
    top: 0;
    left: 2px;
    -webkit-mask-size: 10px;
    mask-size: 10px;
  }
  .c-carousel-02 .splide__pagination {
    display: none;
  }
  .js-carousel-04 .splide__pagination {
    display: flex;
  }
}

@media (hover: hover) and (pointer: fine) {
  .c-carousel-02__toggle:hover::before {
    border-right: 1px solid var(--color-main);
    border-left: 1px solid var(--color-main);
  }
  .c-carousel-02__toggle:not(.is-active):hover::before {
    background-color: var(--color-main);
  }
  .c-carousel-02__arrow-btn:hover::before {
    border-right: 1px solid var(--color-main);
    border-bottom: 1px solid var(--color-main);
  }
}
.carouselProgressRing {
  position: absolute;
  top: -1px;
  right: -2px;
  width: 27px;
  height: 27px;
}
.carouselProgressRing__svg {
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}
.carouselProgressRing__track, .carouselProgressRing__bar {
  fill: none;
  stroke-width: 2;
}
.carouselProgressRing__bar {
  stroke: var(--color-font-sub);
  stroke-linecap: round;
  stroke-dasharray: var(--circ);
  stroke-dashoffset: var(--circ);
}
.carouselProgressRing__track {
  stroke: transparent;
}
@media only screen and (max-width: 750px) {
  .carouselProgressRing {
    top: 1px;
    right: -1px;
    width: 22px;
    height: 22px;
  }
  .js-carousel-04 .carouselProgressRing {
    right: 0;
  }
}

/* 再生中だけアニメ */
.carouselProgressRing.is-playing .carouselProgressRing__bar {
  animation: ring-progress var(--dur) linear forwards;
}

/* 一時停止時 */
.carouselProgressRing.is-paused .carouselProgressRing__bar {
  animation-play-state: paused;
}

@keyframes ring-progress {
  to {
    stroke-dashoffset: 0;
  }
}
.js-carousel-topMv {
  --progress-duration: 5000ms;
  margin-top: 0 !important;
  margin-bottom: 0;
}
.js-carousel-topMv.is-single-video .c-carousel-02__nav {
  display: block !important;
}
.js-carousel-topMv.is-single-video .c-carousel-02__control {
  display: block;
}
.js-carousel-topMv.is-single-video .c-carousel-02__control .c-carousel-01__arrow {
  display: none;
}
.js-carousel-topMv .c-carousel-02__track:has(.m-card-03__image) {
  height: 720px;
}
.js-carousel-topMv .c-carousel-02__item {
  max-width: 100% !important;
  margin: 0 !important;
}
.js-carousel-topMv .c-carousel-02__control {
  flex-wrap: nowrap !important;
}
.js-carousel-topMv .c-carousel-02__nav {
  position: absolute;
  bottom: 24px;
  right: 24px;
}
.js-carousel-topMv .c-carousel-01__pagination {
  flex: 1 0 auto;
  gap: 2px !important;
  margin: 0 !important;
  display: flex !important;
}
.js-carousel-topMv .c-carousel-01__pagination button {
  width: 32px;
  height: 2px;
  border-radius: 0;
  transition: width 0.4s;
  background-color: rgba(255, 255, 255, 0.3) !important;
}
.js-carousel-topMv .c-carousel-01__pagination button[aria-selected=true] {
  width: 64px;
  height: 2px;
}
.js-carousel-topMv .splide__pagination {
  display: flex;
  gap: 8px;
  margin-top: 24px;
}
.js-carousel-topMv .splide__pagination li {
  display: flex;
}
.js-carousel-topMv .splide__pagination__page {
  position: relative;
  width: 24px;
  height: 3px;
  overflow: hidden;
  border-radius: 999px;
  background: #ccc;
  opacity: 1;
}
.js-carousel-topMv .splide__pagination__page::before {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  background: #000;
  transform: scaleX(0);
  transform-origin: left center;
  background-color: var(--color-white) !important;
}
.js-carousel-topMv .splide__pagination__page.is-active {
  width: 64px;
  transform: none;
}
.js-carousel-topMv .splide__pagination__page.is-active::before {
  animation: pagination-progress var(--progress-duration) linear forwards;
}
.js-carousel-topMv .c-carousel-02__track {
  margin-top: 0;
  position: relative;
  height: 720px;
  overflow: hidden;
}
.js-carousel-topMv .c-carousel-02__toggle:not(.is-active)::before {
  background-color: var(--color-white);
}
.js-carousel-topMv .c-carousel-02__toggle.is-active::before {
  border-right: 1px solid var(--color-white);
  border-left: 1px solid var(--color-white);
}
.js-carousel-topMv .c-carousel-01__arrow-btn::before {
  border-color: var(--color-white);
}
.js-carousel-topMv .m-card-03__inner::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.2) 100%);
  pointer-events: none;
  z-index: 1;
}
.js-carousel-topMv .m-card-03__inner video {
  z-index: 0;
}
.js-carousel-topMv video {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  transform: translate(-50%, -50%);
}
@media only screen and (max-width: 1300px) {
  .js-carousel-topMv {
    position: relative;
  }
  .js-carousel-topMv .c-carousel-02__track {
    height: 390px;
  }
  .js-carousel-topMv video {
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    object-fit: cover;
    object-position: center;
    position: absolute;
    inset: 0;
    transform: none;
  }
  .js-carousel-topMv .c-carousel-02__nav {
    width: 100%;
    position: absolute;
    left: 50%;
    right: auto;
    bottom: 24px;
    transform: translateX(-50%);
    z-index: 2;
  }
  .js-carousel-topMv .c-carousel-02__control {
    width: 100%;
    justify-content: center;
  }
  .js-carousel-topMv .c-carousel-01__arrow {
    display: none;
  }
  .js-carousel-topMv .c-carousel-02__toggle {
    left: unset;
    right: 0 !important;
  }
}
@media only screen and (max-width: 750px) {
  .js-carousel-topMv .c-carousel-02__track:has(.m-card-03__image) {
    height: 488px;
  }
}

.js-carousel-topMv.is-video-paused .splide__pagination__page.is-active::before {
  animation-play-state: paused;
}

@keyframes pagination-progress {
  from {
    transform: scaleX(0);
  }
  to {
    transform: scaleX(1);
  }
}
/* ----------------------------------------------------------------
  Cookie
----------------------------------------------------------------- */
/* .cookieConfirm
----------------------------------------------- */
.cookieConfirm {
  display: none;
  visibility: hidden;
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 10000;
  padding: 18px 0;
  width: 100%;
  background-color: var(--color-bg-base);
}
.cookieConfirm.is-show {
  display: block;
  visibility: visible;
}
.cookieConfirm__msg {
  color: var(--color-font);
  font-family: var(--font-family-body);
  font-size: 1.2rem;
  font-weight: var(--font-weight-d);
  letter-spacing: 0;
}
.cookieConfirm__msg button {
  padding: 5px;
  vertical-align: middle;
  line-height: 0;
}
.cookieConfirm__msg button > span {
  display: inline-block;
  position: relative;
  border: 1px solid #888;
  width: 16px;
  height: 16px;
  box-sizing: border-box;
  border-radius: 50%;
}
.cookieConfirm__msg button > span span {
  position: absolute;
  left: 50%;
  top: 50%;
  margin: -3px 0 0 -3px;
  border-bottom: 1px solid #888;
  border-left: 1px solid #888;
  width: 5px;
  height: 3px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: rotate(-50deg);
  transform: rotate(-50deg);
}
@media only screen and (max-width: 750px) {
  .cookieConfirm {
    padding: 15px 0 16px;
  }
  .cookieConfirm__msg {
    padding-right: 32px;
  }
  .cookieConfirm__msg button {
    position: absolute;
    right: 5.33333vw;
    top: 50%;
    margin-top: -13px;
  }
}

/* ----------------------------------------------------------------
    Menu (.fn-dropdown[-*])
----------------------------------------------------------------- */
/* .fn-dropdown
----------------------------------------------- */
.fn-dropdown_content {
  visibility: hidden;
  opacity: 0;
  transition: visibility var(--transition-duration) var(--opacity-cubic-bezier), opacity var(--transition-duration) var(--opacity-cubic-bezier);
}
.fn-dropdown_content.is-shown {
  visibility: visible;
  opacity: 1;
}
.fn-dropdown_backdrop {
  visibility: hidden;
  opacity: 0;
  transition: visibility var(--transition-duration) var(--opacity-cubic-bezier), opacity var(--transition-duration) var(--opacity-cubic-bezier);
}
.fn-dropdown_backdrop.is-shown {
  visibility: visible;
  opacity: 1;
}

/* .fn-dropdown-pc
----------------------------------------------- */
@media only screen and (min-width: 1250.1px) {
  .fn-dropdown-pc_content {
    visibility: hidden;
    opacity: 0;
    transition: opacity var(--transition-duration) var(--opacity-cubic-bezier), visibility var(--transition-duration) var(--opacity-cubic-bezier);
  }
  .fn-dropdown-pc_content.is-shown {
    visibility: visible;
    opacity: 1;
  }
  .fn-dropdown-pc_content.is-closing {
    visibility: visible;
    opacity: 0;
    transition: opacity var(--transition-duration) var(--opacity-cubic-bezier);
  }
  .fn-dropdown-pc_backdrop {
    visibility: hidden;
    opacity: 0;
    transition: visibility var(--transition-duration) var(--opacity-cubic-bezier), opacity var(--transition-duration) var(--opacity-cubic-bezier);
  }
  .fn-dropdown-pc_backdrop.is-shown {
    visibility: visible;
    opacity: 1;
  }
}
@media only screen and (max-width: 1250px) {
  .fn-dropdown-pc_backdrop {
    display: none;
  }
}

/* ----------------------------------------------------------------
  Filter
----------------------------------------------------------------- */
/* .c-filter
----------------------------------------------- */
.c-filter[data-category=expertise] .c-filter-keyword {
  max-width: 664px;
}
.c-filter[data-category=expertise] .c-filter-keyword__inner {
  max-width: 664px;
}
.c-filter[data-category=expertise] .c-filter-pulldownGroup {
  flex: 0 1 auto;
}
.c-filter[data-category=people] .c-filter-keyword {
  max-width: 664px;
}
.c-filter[data-category=people] .c-filter-keyword__inner {
  max-width: 664px;
}
.c-filter[data-category=news] .c-filter-keyword, .c-filter[data-category=contacts] .c-filter-keyword {
  max-width: 664px;
}
.c-filter[data-category=news] .c-filter-keyword__inner, .c-filter[data-category=contacts] .c-filter-keyword__inner {
  max-width: 664px;
}
.c-filter-search-area.is-sticky {
  position: sticky;
  top: 0;
  z-index: 1001;
  padding-block: 16px;
  background-color: var(--color-white);
  transition: top 0.3s ease-out;
}
body:has(.l-header_body.is-scroll-down) .c-filter-search-area.is-sticky {
  top: 0;
}
body:has(.l-header_body.is-scroll-up) .c-filter-search-area.is-sticky {
  top: var(--js-height-header);
}
header:has(.l-header-nav_btn[aria-expanded=true]) ~ main .c-filter-search-area.is-sticky, header:has(.l-header-search__btn[aria-expanded=true]) ~ main .c-filter-search-area.is-sticky, header:has(.l-header-recruit__btn[aria-expanded=true]) ~ main .c-filter-search-area.is-sticky {
  z-index: 999;
}
.c-filter-search-area__inner {
  position: relative;
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
}
.c-filter-keyword {
  margin-right: 32px;
  max-width: 432px;
  width: 100%;
  order: 1;
}
.c-filter-keyword__inner {
  position: relative;
  max-width: 432px;
  width: 100%;
}
.c-filter-keyword__inner label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  white-space: nowrap;
  border: 0;
  clip-path: inset(50%);
}
.c-filter-keyword__inner input {
  width: 100%;
  height: 44px;
  padding: 11px 20px;
  border: none;
  border-radius: 22px;
  background-color: var(--color-bg-base);
}
.c-filter-keyword__inner input::placeholder {
  font-family: var(--font-family-en);
  font-size: 1.6rem;
}
.c-filter-keyword__inner button {
  position: absolute;
  right: 0;
  top: 0;
  height: 44px;
  width: 44px;
  border-radius: 22px;
  background-color: var(--color-black);
  -webkit-mask-image: url("/ja/assets/img/icon/icon-search-01.svg");
  mask-image: url("/ja/assets/img/icon/icon-search-01.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 15px;
  mask-size: 15px;
  transition: background-color 0.2s;
}
.c-filter-keyword__inner button > span {
  visibility: hidden;
}
.c-filter-keyword__inner button:hover, .c-filter-keyword__inner button:active, .c-filter-keyword__inner button:focus-visible {
  background-color: var(--color-main);
}
.c-filter-popover-button {
  display: none;
}
.c-filter-pulldownGroup {
  align-items: center;
  display: block;
  max-width: 896px;
  width: 100%;
  order: 2;
  flex: 1 1 auto;
}
.c-filter-pulldownGroup summary {
  display: none;
  list-style: none;
}
.c-filter-pulldownGroup summary::-webkit-details-marker {
  display: none;
}
.c-filter-pulldownGroup summary .c-filter-toggle-button {
  display: none;
}
.c-filter-pulldownGroup__inner {
  display: flex;
  justify-content: flex-end;
  gap: clamp(16px, 2.836vw - 1.986px, 32px);
  width: 100%;
  background-color: var(--color-white);
  z-index: 2;
}
.c-filter-pulldownGroup__item {
  flex: 0 1 auto;
  border-bottom: 1px solid #ccc;
  position: relative;
  max-width: 246px;
  width: 100%;
}
.c-filter-pulldownGroup__item:last-child .c-filter-pulldown__content {
  right: 0;
}
.c-filter-pulldownGroup__block {
  display: none;
  position: absolute;
  top: 100%;
  z-index: 1;
  width: 150%;
  margin-top: 1px;
  background-color: var(--color-white);
}
.c-filter-pulldown__inner {
  font-size: 18px;
  line-height: 1;
  color: #000;
  font-weight: 300;
  letter-spacing: 1px;
  cursor: pointer;
}
.c-filter-pulldown__button {
  position: relative;
  padding: 8px 26px 8px 0;
  width: 100%;
  text-align: left;
  font-size: 1.4rem;
  font-family: var(--font-family-title);
  letter-spacing: 0.06em;
}
.c-filter-pulldown__button:is(:active, :focus-visible) {
  outline: auto;
}
.c-filter-pulldown__button::before {
  display: block;
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 26px;
  height: 100%;
  z-index: 2;
}
.c-filter-pulldown__button::after {
  display: block;
  content: "";
  position: absolute;
  right: 8px;
  top: 50%;
  margin-top: -4px;
  border-right: 1px solid var(--color-font-sub);
  border-bottom: 1px solid var(--color-font-sub);
  width: 6px;
  height: 6px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: rotate(45deg);
  transition: border-color 0.3s;
  z-index: 3;
}
.c-filter-pulldown__button > span.name--en {
  font-size: 1.6rem;
}
.c-filter-pulldown__button > span.is-current {
  position: absolute;
  inset: -2px 0 0;
  z-index: 1;
  margin: 8px 26px 8px 0;
  background-color: #fff;
  overflow: hidden;
  white-space: nowrap;
}
.c-filter-pulldown__button > span.is-current:empty {
  background-color: transparent;
}
.c-filter-pulldown__button > span.is-current.en {
  font-size: 1.6rem;
  inset: 0;
}
.c-filter-pulldown__content {
  display: none;
  position: absolute;
  top: 100%;
  width: 320px;
  margin-top: 1px;
  background-color: var(--color-white);
  box-shadow: 0 12px 16px 4px rgba(0, 0, 0, 0.05);
  z-index: 4;
}
.c-filter-pulldown__list {
  max-height: 320px;
  overflow-y: auto;
}
.c-filter-pulldown__item {
  width: 100%;
  text-align: left;
  position: relative;
  z-index: 2;
  padding: 5px 16px;
  font-size: 1.4rem;
  line-height: 1.4;
  font-family: var(--font-family-title);
}
.c-filter-pulldown__item--checkbox {
  padding-left: 46px;
  cursor: pointer;
}
.c-filter-pulldown__item--checkbox:focus-visible {
  outline: 2px solid var(--color-main);
  outline-offset: -2px;
}
.c-filter-pulldown__item--checkbox:first-child::before {
  top: 22px;
}
.c-filter-pulldown__item--checkbox:first-child::after {
  top: 26px;
}
.c-filter-pulldown__item--checkbox:last-child::before {
  top: 6px;
}
.c-filter-pulldown__item--checkbox:last-child::after {
  top: 10px;
}
.c-filter-pulldown__item--checkbox.is-active::before {
  background-color: var(--color-main);
  border-color: var(--color-main);
}
.c-filter-pulldown__item--checkbox.is-active::after {
  opacity: 1;
}
.c-filter-pulldown__item--checkbox::before, .c-filter-pulldown__item--checkbox::after {
  content: "";
  position: absolute;
}
.c-filter-pulldown__item--checkbox::before {
  top: 7px;
  left: 16px;
  width: 18px;
  height: 18px;
  border: 1px solid var(--color-border-base);
  border-radius: 2px;
  background-color: var(--color-white);
  transition: border-color 0.2s, background-color 0.2s;
}
.c-filter-pulldown__item--checkbox::after {
  top: 11px;
  left: 22px;
  width: 6px;
  height: 8px;
  border-right: 2px solid var(--color-white);
  border-bottom: 2px solid var(--color-white);
  transform: rotate(40deg);
  opacity: 0;
  transition: opacity 0.2s;
}
.c-filter-pulldown__item--en {
  font-size: 1.6rem;
  font-family: var(--font-family-en);
}
.c-filter-pulldown__item:first-child {
  padding-top: 20px;
}
.c-filter-pulldown__item:last-child {
  padding-bottom: 20px;
}
.c-filter-pulldown__item:hover, .c-filter-pulldown__item:active, .c-filter-pulldown__item:focus-visible {
  color: var(--color-main);
}
html[lang=en] .c-filter-pulldown__item {
  font-size: 1.6rem;
}
.c-filter-pulldown__select {
  display: none;
}
.c-filter-search-area-sub {
  margin-top: 40px;
}
.c-filter-search-area-sub__inner {
  position: relative;
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  flex-wrap: nowrap;
}
.c-filter-clear {
  display: flex;
  justify-content: flex-end;
  padding-bottom: 4px;
  flex: 1;
  align-self: flex-end;
}
.c-filter-clear__button {
  position: relative;
  padding-right: 31px;
  font-family: var(--font-family-title);
  color: var(--color-font-sub);
  font-size: 1.4rem;
  font-weight: var(--font-weight-r);
  line-height: 1.2;
  letter-spacing: 0.03em;
}
.c-filter-clear__button.is-hidden {
  display: none;
}
.c-filter-clear__button:is(:active, :focus-visible) {
  outline: auto;
}
.c-filter-clear__button::before, .c-filter-clear__button::after {
  display: block;
  content: "";
  position: absolute;
  width: 14.5px;
  height: 1px;
  background-color: var(--color-font-sub);
  inset: 0 9px 0 auto;
  top: 40%;
  transform: rotate(45deg);
}
.c-filter-clear__button::after {
  transform: rotate(135deg);
}
.c-filter-count {
  font-size: 2rem;
  color: var(--color-font);
  letter-spacing: 0.06em;
  line-height: 1.2;
  font-family: var(--font-family-en);
  font-weight: var(--font-weight-r);
  order: 3;
}
.c-filter-count__count {
  font-size: 4rem;
}
.c-filter-endText {
  display: none;
  margin: 25px 0 0;
  text-align: center;
  font-family: var(--font-family-en);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-r);
  color: var(--color-font-sub);
  letter-spacing: 0.03em;
  line-height: 1.8;
}
.c-filter:not(:has(.fn-ajax-loading.is-active)) .c-filter-endText {
  margin-top: 72px;
}
.c-filter-result-area {
  margin-top: 40px;
}
.c-filter-result-area .c-lyt-col {
  margin-top: 0;
}
.c-filter-result-area .m-card-02 .m-card-02__link[target=_blank] .m-card-02__hdg::after {
  display: block;
  content: "";
  margin-top: 8px;
  margin-left: 8px;
  width: 10px;
  height: 10px;
  background-image: url("/ja/assets/img/icon/icon-blank.svg");
  background-size: 10px;
  position: absolute;
  display: inline-block;
}
.c-filter-result-area .m-card-02 .m-card-02__link[href$=".pdf"] .m-card-02__hdg::after {
  display: block;
  content: "";
  display: inline-block;
  position: absolute;
  margin-top: 6px;
  margin-left: 8px;
  width: 25px;
  height: 15px;
  background-image: url("/ja/assets/img/icon/icon-pdf.png");
  background-size: 25px;
}
.c-filter-result-area .m-card-02 .m-card-02__hdg {
  position: relative;
}
@media only screen and (max-width: 1199px) {
  .c-filter-pulldownGroup__item:has(.c-filter-pulldown__item[data-region]) {
    position: static;
  }
  .c-filter-pulldown__content:has(.c-filter-pulldown__item[data-region]) {
    right: 0;
  }
}
@media only screen and (max-width: 750px) {
  .c-filter-keyword {
    margin-right: 12px;
    min-width: 248px;
    max-width: 100%;
    flex: 1 1 auto;
  }
  .c-filter-keyword__inner {
    max-width: 100%;
  }
  .c-filter-keyword__inner input {
    height: 40px;
  }
  .c-filter-keyword__inner button {
    height: 40px;
    width: 40px;
    border-radius: 20px;
  }
  .c-filter-pulldownGroup[open] .c-filter-toggle-button {
    background-color: var(--color-main);
    color: var(--color-white);
  }
  .c-filter-pulldownGroup[open] .c-filter-toggle-button::before, .c-filter-pulldownGroup[open] .c-filter-toggle-button::after {
    background-color: var(--color-white);
  }
  .c-filter-pulldownGroup[open] .c-filter-toggle-button::after {
    opacity: 0;
  }
  .c-filter-pulldownGroup summary {
    display: block;
  }
  .c-filter-pulldownGroup summary .c-filter-toggle-button {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    anchor-name: --menu-anchor;
    width: 90px;
    min-height: 40px;
    background-color: var(--color-white);
    border-radius: 20px;
    border: 1px solid var(--color-main);
    padding: 4px 32px 4px 16px;
    font-size: 1.6rem;
    color: var(--color-black);
    font-family: var(--font-family-en);
    cursor: pointer;
  }
  .c-filter-pulldownGroup summary .c-filter-toggle-button::before, .c-filter-pulldownGroup summary .c-filter-toggle-button::after {
    display: block;
    content: "";
    position: absolute;
    width: 9px;
    height: 1px;
    background-color: var(--color-main);
    inset: 0 14px 0 auto;
    top: 50%;
  }
  .c-filter-pulldownGroup summary .c-filter-toggle-button::after {
    transform: rotate(90deg);
  }
  .c-filter-pulldownGroup__inner {
    position: absolute;
    flex-direction: column;
    padding: 28px var(--gutter-content-sp) 56px;
    left: 0;
    margin-inline: calc(50% - 50vw);
    box-shadow: 0 12px 16px 4px rgba(0, 0, 0, 0.05);
    width: 100vw;
  }
  .c-filter-pulldownGroup__item {
    max-width: 100%;
  }
  .c-filter-pulldown__button {
    font-size: 1.3rem;
  }
  .c-filter-pulldown__button > span.name--en {
    font-size: 1.6rem;
  }
  .c-filter-pulldown__content {
    position: relative;
    width: 100%;
    border-top: 1px solid var(--color-border-base);
    box-shadow: unset;
  }
  .c-filter-pulldown__item {
    font-size: 1.4rem;
    padding: 8px 16px;
  }
  .c-filter-pulldown__item.c-filter-pulldown__item--checkbox {
    padding: 8px 16px 8px 46px;
  }
  .c-filter-pulldown__item.c-filter-pulldown__item--checkbox:first-child {
    padding-top: 20px;
  }
  .c-filter-pulldown__item.c-filter-pulldown__item--checkbox:first-child::before {
    top: 20px;
  }
  .c-filter-pulldown__item.c-filter-pulldown__item--checkbox:first-child::after {
    top: 24px;
  }
  .c-filter-pulldown__item.c-filter-pulldown__item--checkbox:last-child {
    padding-bottom: 20px;
  }
  .c-filter-pulldown__item.c-filter-pulldown__item--checkbox:last-child::before {
    top: 7px;
  }
  .c-filter-pulldown__item.c-filter-pulldown__item--checkbox:last-child::after {
    top: 11px;
  }
  .c-filter-pulldownGroup {
    flex: 0 1 auto;
    width: auto;
  }
  .c-filter-search-area-sub {
    margin-top: 28px;
  }
  .c-filter-clear {
    bottom: -68px;
  }
  .c-filter-result-area {
    margin-top: 28px;
  }
}

.c-no-projects {
  font-size: 1.7rem;
}
html[lang=en] .c-no-projects {
  font-size: 2rem;
}
@media only screen and (max-width: 750px) {
  .c-no-projects {
    font-size: 1.6rem;
  }
  html[lang=en] .c-no-projects {
    font-size: 1.8rem;
  }
}

.fn-no-projects {
  display: none;
}
.fn-no-projects.is-visible {
  display: block;
}

.c-contributors-block__text {
  font-size: 1.7rem;
  line-height: 2.2;
}
.c-contributors-block__text + .c-lyt-col {
  margin-top: 32px;
}
html[lang=en] .c-contributors-block__text {
  font-size: 2rem;
}
@media only screen and (max-width: 750px) {
  .c-contributors-block__text {
    font-size: 1.6rem;
  }
  .c-contributors-block__text + .c-lyt-col {
    margin-top: 28px;
  }
  html[lang=en] .c-contributors-block__text {
    font-size: 1.8rem;
  }
}

/* ----------------------------------------------------------------
  Form
----------------------------------------------------------------- */
/* .c-form
----------------------------------------------- */
.c-form {
  margin-top: var(--block-2xl);
  border-top: 1px solid var(--color-border-base);
}
.c-form--submit {
  margin-top: 0;
}
.c-form__item {
  display: grid;
  grid-template-columns: 224px 1fr;
  align-items: baseline;
  gap: 16px 40px;
  padding: var(--block-md) 0;
  border-bottom: 1px solid var(--color-border-base);
}
.c-form__item > *:first-child {
  margin-top: 0;
}
.c-form__item > *:last-child {
  margin-bottom: 0;
}
html[lang=en] .c-form__item {
  grid-template-columns: 232px 1fr;
}
.c-form__label {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  font-weight: var(--font-weight-d);
  letter-spacing: 0.48px;
  line-height: 1.8;
  font-family: var(--font-family-title);
  font-size: var(--font-size-lg);
  color: var(--color-font);
}
html[lang=en] .c-form__label {
  letter-spacing: normal;
  font-weight: var(--font-weight-m);
}
.c-form__text {
  line-height: 2;
  font-size: var(--font-size-sm);
}
.c-form__textSubmit {
  line-height: 2;
  font-size: 1.7rem;
}
.c-form__strong {
  color: var(--color-error);
}
.c-form__link:any-link {
  color: var(--color-font);
  border-bottom-color: currentcolor;
}
.c-form__input {
  overflow-wrap: anywhere;
}
.c-form__input > *:first-child {
  margin-top: 0;
}
.c-form__input > *:last-child {
  margin-bottom: 0;
}
.c-form__inputInner {
  margin-top: 12px;
}
.c-form__submit {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 28px;
  margin-top: 56px;
}
.c-form__submit--withModify {
  justify-content: space-between;
  flex-direction: row-reverse;
}
.c-form__submit--withModify::before {
  content: "";
  width: 175px;
}
@media only screen and (max-width: 750px) {
  .c-form__item {
    grid-template-columns: auto;
  }
  html[lang=en] .c-form__item {
    grid-template-columns: auto;
  }
  .c-form__textSubmit {
    font-size: 1.6rem;
  }
  .c-form__submit {
    flex-direction: column;
    margin-top: 40px;
  }
  .c-form__submit--withModify::before {
    display: none;
  }
}

/* ----------------------------------------------------------------
  Heading
----------------------------------------------------------------- */
/* .c-top-pageHeader
----------------------------------------------- */
.c-top-pageHeader {
  position: relative;
  height: 720px;
  background-position: 50%;
  background-size: cover;
  background-repeat: no-repeat;
  color: #FFF;
}
.c-top-pageHeader::before {
  display: block;
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.2);
}
.c-top-pageHeader__inner {
  position: relative;
  height: 100%;
  margin: 0 auto;
  width: 85%;
  max-width: 1360px;
}
.c-top-pageHeader__hdg {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  position: relative;
  width: min(1080px, 100%);
  /* 画像比率を固定：レイアウト崩れ防止 */
  aspect-ratio: 1080/61;
}
.c-top-pageHeader__hdg::before {
  display: block;
  content: "";
  position: absolute;
  inset: 0;
  background-color: var(--color-white);
}
.c-top-pageHeader__hdg img {
  opacity: 0;
  width: 100%;
  height: 100%;
  display: block;
}
.c-top-pageHeader__text {
  margin-top: 20px;
  font-family: var(--font-family-title);
  font-size: 1.6rem;
  font-weight: var(--font-weight-d);
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.12);
  letter-spacing: 0.03em;
  line-height: 1.8;
}
html[lang=en] .c-top-pageHeader__text {
  font-weight: var(--font-weight-r);
}
@media only screen and (max-width: 750px) {
  .c-top-pageHeader {
    padding: 35px 0;
    height: 488px;
  }
  .c-top-pageHeader + .l-content-area > .l-content-area__inner {
    padding-block: var(--padding-top-content-sp) var(--padding-bottom-content-sp);
  }
  .c-top-pageHeader__hdg {
    bottom: 0;
    padding-top: 0;
    font-size: 2.3rem;
  }
}

/* .c-pageHeader
----------------------------------------------- */
.c-pageHeader {
  background-color: var(--color-bg-base);
  position: relative;
}
.c-pageHeader--bg-white {
  background-color: var(--color-white);
}
.c-pageHeader--bg-white:not(:has(.c-pageHeader__mv)) + .l-content-area .l-content-area__inner {
  padding-top: 0;
}
.c-pageHeader--bg-white .c-pageHeader__inner {
  padding-top: 48px;
}
.c-pageHeader--news-detail .c-pageHeader__inner {
  padding-bottom: 108px;
}
.c-pageHeader--news-detail .c-pageHeader__hdg {
  font-size: 3.6rem;
}
html[lang=en] .c-pageHeader--news-detail .c-pageHeader__hdg {
  font-size: 4.2rem;
  letter-spacing: 0.025em;
}
.c-pageHeader__inner {
  padding: 64px 0;
  position: relative;
  height: 100%;
  margin: 0 auto;
  width: 85%;
  max-width: 1360px;
}
.c-pageHeader__inner:has(.c-pageHeader__news) {
  display: flex;
  flex-direction: column;
}
.c-pageHeader__inner:has(.c-pageHeader__news) .c-pageHeader__hdg {
  order: 2;
  margin-top: 16px;
}
.c-pageHeader__hdg {
  padding-top: 6px;
  font-family: var(--font-family-title);
  font-size: 4.8rem;
  font-weight: var(--font-weight-d);
  letter-spacing: 0.1em;
  line-height: 1.5;
}
.c-pageHeader__hdg--en {
  font-family: var(--font-family-en);
  padding-top: 0;
  font-size: 6rem;
  font-weight: var(--font-weight-r);
  letter-spacing: 0.05em;
}
html[lang=en] .c-pageHeader__hdg {
  font-family: var(--font-family-en);
  padding-top: 0;
  font-size: 6rem;
  font-weight: var(--font-weight-r);
  letter-spacing: 0.05em;
}
.c-pageHeader__mvInner {
  height: auto;
  margin: 0 auto;
  width: 85%;
  max-width: 1360px;
}
.c-pageHeader__mvInner img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
  object-fit: cover;
  aspect-ratio: 1360/595;
}
.c-pageHeader__news {
  order: 1;
  display: flex;
  font-family: var(--font-family-en);
  color: var(--color-font-sub);
  font-size: 1.8rem;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
.c-pageHeader__newsDate {
  position: relative;
  padding-left: 25px;
}
.c-pageHeader__newsDate::before {
  display: block;
  content: "";
  position: absolute;
  width: 1px;
  height: 16px;
  top: 50%;
  transform: translateY(-50%);
  left: 12px;
  background-color: var(--color-border-base);
}
@media only screen and (max-width: 750px) {
  .c-pageHeader + .l-content-area > .l-content-area__inner {
    padding-block: var(--padding-top-content-sp) var(--padding-bottom-content-sp);
  }
  .c-pageHeader--bg-white .c-pageHeader__inner {
    padding: 28px var(--gutter-content-sp) 36px;
  }
  .c-pageHeader--news-detail .c-pageHeader__inner {
    padding: 32px var(--gutter-content-sp) 40px;
    width: auto;
  }
  .c-pageHeader--news-detail .c-pageHeader__hdg {
    font-size: 2.4rem;
  }
  html[lang=en] .c-pageHeader--news-detail .c-pageHeader__hdg {
    font-size: 2.8rem;
  }
  .c-pageHeader__inner {
    padding: 36px var(--gutter-content-sp);
    margin: 0;
    width: 100%;
  }
  .c-pageHeader__hdg {
    padding-top: 0;
    font-size: 2.6rem;
    line-height: 1.5;
  }
  .c-pageHeader__hdg--en {
    font-size: 3rem;
  }
  html[lang=en] .c-pageHeader__hdg {
    font-size: 3rem;
  }
  .c-pageHeader__mvInner {
    height: auto;
    width: 100%;
  }
  .c-pageHeader__mvInner img {
    width: 100%;
    height: auto;
    aspect-ratio: unset;
  }
  .c-pageHeader__news {
    font-size: 1.3rem;
  }
  .c-pageHeader__newsDate {
    padding-left: 27px;
  }
  .c-pageHeader__newsDate::before {
    height: 14px;
    left: 8px;
  }
}

/* .c-pageHeader-02（MV画像あり）
----------------------------------------------- */
.c-pageHeader-02 {
  position: relative;
  height: 400px;
  background-position: 50%;
  background-size: cover;
  color: #FFF;
}
.c-pageHeader-02::before {
  display: block;
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.2);
}
.c-pageHeader-02__inner {
  position: relative;
  height: 100%;
  margin: 0 auto;
  width: 85%;
  max-width: 1360px;
}
.c-pageHeader-02__hdg {
  position: absolute;
  bottom: 96px;
  font-family: var(--font-family-title);
  font-size: 4.8rem;
  font-weight: var(--font-weight-d);
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.12);
  letter-spacing: 0.1em;
  line-height: 1.5;
}
html[lang=en] .c-pageHeader-02__hdg {
  font-size: 5.4rem;
  font-weight: var(--font-weight-r);
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 750px) {
  .c-pageHeader-02 {
    padding: 35px 0;
    height: 160px;
  }
  .c-pageHeader-02 + .l-content-area > .l-content-area__inner {
    padding-block: var(--padding-top-content-sp) var(--padding-bottom-content-sp);
  }
  .c-pageHeader-02 + .l-content-area > .l-content-area__inner {
    padding-block: var(--padding-top-content-sp) var(--padding-bottom-content-sp);
  }
  .c-pageHeader-02__hdg {
    bottom: 0;
    padding-top: 0;
    font-size: 2.6rem;
  }
  html[lang=en] .c-pageHeader-02__hdg {
    font-size: 2.9rem;
  }
}

/* .c-project-pageHeader
----------------------------------------------- */
.c-project-pageHeader {
  position: relative;
  height: calc(100vh - var(--js-height-header) - 40px);
  min-height: 500px;
  background-position-x: 50%;
  background-size: cover;
  color: #FFF;
}
.c-project-pageHeader::before {
  display: block;
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.2);
}
.c-project-pageHeader__inner {
  position: relative;
  height: 100%;
  margin: 0 auto;
  padding: 0 0 96px;
  width: 85%;
  max-width: 1360px;
}
.c-project-pageHeader__credit {
  position: absolute;
  right: 24px;
  bottom: 20px;
}
.c-project-pageHeader__creditText {
  font-size: 1.4rem;
  font-family: var(--font-family-body);
  color: var(--color-white);
  font-weight: var(--font-weight-r);
  line-height: 1.6;
}
.c-project-pageHeader__main {
  position: absolute;
  bottom: 96px;
}
.c-project-pageHeader__hdg {
  font-family: var(--font-family-title);
  font-size: 4rem;
  font-weight: var(--font-weight-d);
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.12);
  letter-spacing: 0.05em;
  line-height: 1.5;
}
html[lang=en] .c-project-pageHeader__hdg {
  font-weight: var(--font-weight-r);
  letter-spacing: 0.025em;
}
.c-project-pageHeader__text {
  margin-top: 20px;
  font-family: var(--font-family-title);
  font-size: 1.6rem;
  font-weight: var(--font-weight-d);
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.12);
  letter-spacing: 0.03em;
  line-height: 1.8;
}
html[lang=en] .c-project-pageHeader__text {
  font-size: 1.8rem;
  font-weight: var(--font-weight-r);
}
.c-project-pageHeader__sub .m-scrollDown {
  position: absolute;
  left: 50%;
  bottom: 0;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
@media only screen and (max-width: 1199px) {
  .c-project-pageHeader__hdg {
    font-size: 3.6rem;
  }
}
@media only screen and (max-width: 750px) {
  .c-project-pageHeader {
    padding: 35px 0;
    min-height: auto;
    height: 390px;
    background-position: 50%;
  }
  .c-project-pageHeader + .l-content-area > .l-content-area__inner {
    padding-block: var(--padding-top-content-sp) var(--padding-bottom-content-sp);
  }
  .c-project-pageHeader + .l-content-area > .l-content-area__inner {
    padding-block: var(--padding-top-content-sp) var(--padding-bottom-content-sp);
  }
  .c-project-pageHeader__credit {
    right: 20px;
    bottom: 16px;
  }
  .c-project-pageHeader__creditText {
    font-size: 1.2rem;
  }
  .c-project-pageHeader__main {
    bottom: 0;
  }
  .c-project-pageHeader__hdg {
    bottom: 0;
    padding-top: 0;
    font-size: 2.3rem;
  }
  html[lang=en] .c-project-pageHeader__hdg {
    font-size: 2.8rem;
    font-weight: var(--font-weight-m);
  }
  .c-project-pageHeader__text {
    margin-top: 8px;
    font-size: 1.4rem;
  }
  html[lang=en] .c-project-pageHeader__text {
    font-size: 1.6rem;
  }
  .c-project-pageHeader__sub {
    display: none;
  }
}

/* .p-projectsDet__detail__hdg
----------------------------------------------- */
.p-projectsDet__detail__hdg {
  margin: 108px 0 40px;
  font-family: var(--font-family-title);
  font-size: 3.4rem;
  font-weight: var(--font-weight-d);
  color: var(--color-font);
  line-height: 1.6;
  letter-spacing: 0.05em;
}
.p-projectsDet__detail__hdg + * {
  margin-top: 0;
}
html[lang=en] .p-projectsDet__detail__hdg {
  font-size: 4rem;
  font-weight: var(--font-weight-r);
  letter-spacing: 0.025em;
}
@media only screen and (max-width: 750px) {
  .p-projectsDet__detail__hdg {
    margin-block: 64px var(--block-sm);
    font-size: 2.3rem;
  }
  html[lang=en] .p-projectsDet__detail__hdg {
    font-size: 2.8rem;
  }
}

/* .c-insights-pageHeader
----------------------------------------------- */
.c-insights-pageHeader {
  position: relative;
}
.c-insights-pageHeader--color-02 .c-insights-pageHeader__hdg {
  color: var(--color-black);
}
.c-insights-pageHeader--color-02 .c-insights-pageHeader__text {
  color: var(--color-black);
}
.c-insights-pageHeader--color-02 .c-insights-pageHeader__sub .m-scrollDown {
  color: var(--color-black);
}
.c-insights-pageHeader--color-02 .c-insights-pageHeader__sub .m-scrollDown__bar::before {
  background-color: var(--color-black);
}
.c-insights-pageHeader__mv {
  position: relative;
  height: calc(100vh - var(--js-height-header) - 40px);
  min-height: 500px;
  background-position-x: 50%;
  background-size: cover;
  color: var(--color-white);
}
.c-insights-pageHeader__mv::before {
  display: block;
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.2);
}
.c-insights-pageHeader__inner {
  position: relative;
  display: flex;
  align-items: center;
  height: 100%;
  margin: 0 auto;
  padding: 0 0 108px;
  width: 85%;
  max-width: 896px;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
.c-insights-pageHeader__hdg {
  font-family: var(--font-family-title);
  font-size: 4rem;
  font-weight: var(--font-weight-d);
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.12);
  letter-spacing: 0.05em;
  line-height: 1.5;
  color: var(--color-white);
}
html[lang=en] .c-insights-pageHeader__hdg {
  font-size: 5.8rem;
  font-weight: var(--font-weight-r);
  letter-spacing: 0.025em;
  line-height: 1.2;
}
.c-insights-pageHeader__text {
  margin-top: var(--block-sm);
  font-family: var(--font-family-body);
  font-size: 1.9rem;
  font-weight: 550;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.16);
  letter-spacing: 0.05em;
  line-height: 1.6;
  color: var(--color-white);
}
html[lang=en] .c-insights-pageHeader__text {
  font-size: 2rem;
}
.c-insights-pageHeader__sub .m-scrollDown {
  position: absolute;
  left: 50%;
  bottom: 0;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
@media only screen and (max-width: 750px) {
  .c-insights-pageHeader + .l-content-area > .l-content-area__inner {
    padding-top: 28px;
  }
  .c-insights-pageHeader__mv {
    padding: 0;
    aspect-ratio: 390/260;
    min-height: auto;
    width: 100%;
    height: auto;
    background-repeat: no-repeat;
    background-position: 50%;
    background-size: cover;
  }
  .c-insights-pageHeader__mv::before {
    display: none;
  }
  .c-insights-pageHeader__main {
    bottom: 0;
  }
  .c-insights-pageHeader__inner {
    width: auto;
    padding: 40px var(--gutter-content-sp) 0;
    align-items: flex-end;
    position: relative;
    top: 0;
    left: 0;
    transform: none;
  }
  .c-insights-pageHeader__hdg {
    bottom: 0;
    padding-top: 0;
    font-size: 2rem;
    color: var(--color-font);
  }
  html[lang=en] .c-insights-pageHeader__hdg {
    font-size: 2.3rem;
    line-height: 1.5;
  }
  .c-insights-pageHeader__text {
    font-size: 1.5rem;
    font-weight: 400;
    color: var(--color-font);
    box-shadow: none;
  }
  html[lang=en] .c-insights-pageHeader__text {
    font-size: 1.7rem;
  }
  .c-insights-pageHeader__sub {
    display: none;
  }
}

/* .c-hdg（既存）
----------------------------------------------- */
.c-hdg + * {
  margin-top: 0 !important;
}
.c-hdg + .c-hdg .m-hdgLg,
.c-hdg + .c-hdg .m-hdgMd,
.c-hdg + .c-hdg .m-hdgSm {
  margin-top: 0 !important;
}
.c-hdg + .c-text-tableScroll + *:has(table) {
  margin-top: 0;
}

/* .m-hdgLg（既存）
----------------------------------------------- */
.m-hdgLg {
  margin-block: 108px 24px;
  font-family: var(--font-family-title-ja);
  font-size: 3.4rem;
  font-weight: var(--font-weight-d);
  line-height: 1.6;
  letter-spacing: 0.05em;
}
html[lang=en] .m-hdgLg {
  font-size: 4rem;
  font-weight: var(--font-weight-r);
  letter-spacing: 0.025em;
}
@media only screen and (max-width: 750px) {
  .m-hdgLg {
    margin-block: 64px 16px;
    font-size: 2.3rem;
  }
  html[lang=en] .m-hdgLg {
    font-size: 2.8rem;
  }
}

/* .m-hdgMd（既存）
----------------------------------------------- */
.m-hdgMd {
  margin-block: var(--block-2xl) 24px;
  font-family: var(--font-family-title);
  font-weight: var(--font-weight-d);
  font-size: 2.3rem;
  letter-spacing: 0.05em;
}
html[lang=en] .m-hdgMd {
  font-size: 3.3rem;
  font-weight: var(--font-weight-m);
  letter-spacing: 0.025em;
}
@media only screen and (max-width: 750px) {
  .m-hdgMd {
    margin-block: var(--block-2xl) 16px;
    font-size: 1.9rem;
  }
  html[lang=en] .m-hdgMd {
    font-size: 2.1rem;
  }
}

/* .m-hdgSm（既存）
----------------------------------------------- */
.m-hdgSm {
  margin-block: 64px 16px;
  font-family: var(--font-family-title);
  font-weight: var(--font-weight-d);
  font-size: 2rem;
  line-height: 1.8;
  letter-spacing: 0.03em;
}
html[lang=en] .m-hdgSm {
  font-size: 2.3rem;
  font-weight: var(--font-weight-m);
  letter-spacing: 0.015em;
}
@media only screen and (max-width: 750px) {
  .m-hdgSm {
    margin-block: 48px 12px;
    font-size: 1.8rem;
  }
  html[lang=en] .m-hdgSm {
    font-size: 1.9rem;
  }
}

/* .c-hdg-l2
----------------------------------------------- */
.c-hdg-l2 {
  margin: 108px 0 40px;
}
.c-hdg-l2 + div {
  margin-top: 0;
}
.c-hdg-l2 + .c-hdg-l3 {
  margin-top: 0;
}
.c-hdg-l2 + .c-hdg .m-hdgLg,
.c-hdg-l2 + .c-hdg .m-hdgMd,
.c-hdg-l2 + .c-hdg .m-hdgSm {
  margin-top: 0;
}
.c-hdg-l2--center .c-hdg-l2__hdg {
  text-align: center;
}
.c-hdg-l2--secondary .c-hdg-l2__hdg {
  font-size: 3.4rem;
}
.c-hdg-l2--secondary .c-hdg-l2__hdg--en {
  font-family: var(--font-family-en);
  font-size: 4.2rem;
}
.c-hdg-l2__inner:has(> .c-hdg-l2__hdg + .c-hdg-l2__link) {
  display: flex;
  justify-content: space-between;
}
.c-hdg-l2__hdg {
  font-family: var(--font-family-title-ja);
  font-size: 3.4rem;
  font-weight: var(--font-weight-d);
  color: var(--color-font);
  line-height: 1.2;
  letter-spacing: 0.08em;
}
.c-hdg-l2__hdg--en {
  font-family: var(--font-family-en);
  font-size: 4.8rem;
  font-weight: var(--font-weight-r);
}
html[lang=en] .c-hdg-l2__hdg {
  font-weight: var(--font-weight-r);
  letter-spacing: 0.04em;
}
.c-hdg-l2__link > .c-linkBtn {
  margin-top: 0;
}
@media only screen and (max-width: 1199px) {
  .c-hdg-l2:has(+ .c-carousel-01.is-active) > .m-container {
    margin: 0;
    width: auto;
    padding: 0 var(--gutter-content-sp);
  }
}
@media only screen and (max-width: 750px) {
  .c-hdg-l2 {
    margin-block: 64px 28px;
  }
  .c-hdg-l2--secondary .c-hdg-l2__hdg {
    font-size: 2.3rem;
  }
  .c-hdg-l2--secondary .c-hdg-l2__hdg--en {
    font-size: 2.8rem;
  }
  .c-hdg-l2__hdg {
    font-size: 2.3rem;
  }
  .c-hdg-l2__hdg--en {
    font-size: 2.8rem;
  }
}

/* .c-hdg-l2-esg
----------------------------------------------- */
.c-hdg-l2-esg {
  margin: 108px 0 40px;
}
.c-hdg-l2-esg + * {
  margin-top: 0;
}
.c-hdg-l2-esg__hdg {
  font-family: var(--font-family-title);
  font-size: 3.2rem;
  font-weight: var(--font-weight-r);
  color: var(--color-font);
  line-height: 1.1;
  letter-spacing: 0.05em;
}
.c-hdg-l2-esg__hdg--initial {
  margin-right: 24px;
  font-size: 6rem;
  font-family: var(--font-family-en);
  color: var(--color-main);
}
html[lang=en] .c-hdg-l2-esg__hdg {
  letter-spacing: 0.025em;
}
.c-hdg-l2-esg__link > .c-linkBtn {
  margin-top: 0;
}
@media only screen and (max-width: 750px) {
  .c-hdg-l2-esg {
    margin-block: 64px 28px;
  }
  .c-hdg-l2-esg__hdg {
    font-size: 2.2rem;
  }
  .c-hdg-l2-esg__hdg--initial {
    margin-right: 14px;
    font-size: 4.4rem;
  }
}

/* .c-hdg-l3
----------------------------------------------- */
.c-hdg-l3 {
  margin: var(--block-2xl) 0 32px;
}
.c-hdg-l3 + div {
  margin-top: 0;
}
.c-hdg-l3:has(+ .c-linkBtn.c-linkBtn--lg.c-linkBtn--showMore) .c-hdg-l3__hdg {
  min-height: 40px;
}
.c-hdg-l3:has(+ .c-linkBtn.c-linkBtn--lg.c-linkBtn--showMore) .c-hdg-l3__hdg--en {
  padding-top: 3px;
}
.c-hdg-l3:has(+ .c-linkBtn.c-linkBtn--lg.c-linkBtn--showMore) .c-hdg-l3__inner {
  padding-right: 224px;
}
.c-hdg-l3__hdg {
  font-family: var(--font-family-title);
  font-size: 2.3rem;
  font-weight: var(--font-weight-d);
  color: var(--color-font);
  line-height: 1.4;
  letter-spacing: 0.1em;
}
.c-hdg-l3__hdg--en {
  font-family: var(--font-family-en);
  font-size: 2.6rem;
  font-weight: var(--font-weight-r);
}
.c-hdg-l3__hdg > span {
  position: relative;
  display: inline-block;
  padding-right: 96px;
}
.c-hdg-l3__hdg > span::before {
  display: block;
  content: "";
  position: absolute;
  width: 80px;
  height: 1px;
  background-color: var(--color-main);
  top: 16px;
  right: 0;
}
html[lang=en] .c-hdg-l3__hdg {
  font-size: 2.6rem;
  font-weight: var(--font-weight-r);
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 750px) {
  .c-hdg-l3 {
    margin: 56px 0 24px;
  }
  .c-hdg-l3:has(+ .c-linkBtn.c-linkBtn--lg.c-linkBtn--showMore) .c-hdg-l3__hdg {
    min-height: unset;
  }
  .c-hdg-l3:has(+ .c-linkBtn.c-linkBtn--lg.c-linkBtn--showMore) .c-hdg-l3__inner {
    padding-right: 100px;
  }
  .c-hdg-l3__hdg {
    font-size: 1.9rem;
  }
  .c-hdg-l3__hdg--en {
    font-size: 2.1rem;
  }
  .c-hdg-l3__hdg > span {
    padding-right: 52px;
  }
  .c-hdg-l3__hdg > span::before {
    width: 40px;
    top: 14px;
  }
  html[lang=en] .c-hdg-l3__hdg {
    font-size: 2.1rem;
  }
}

/* .c-hdg-l3-02
----------------------------------------------- */
.c-hdg-l3-02 {
  margin: var(--block-2xl) 0 24px;
}
.c-hdg-l3-02:has(+ .c-linkBtn.c-linkBtn--lg.c-linkBtn--showMore) .c-hdg-l3-02__hdg {
  min-height: 40px;
}
.c-hdg-l3-02:has(+ .c-linkBtn.c-linkBtn--lg.c-linkBtn--showMore) .c-hdg-l3-02__hdg--en {
  padding-top: 3px;
}
.c-hdg-l3-02:has(+ .c-linkBtn.c-linkBtn--lg.c-linkBtn--showMore) .c-hdg-l3-02__inner {
  padding-right: 224px;
}
.c-hdg-l3-02--lg {
  margin: 96px 0 24px;
}
.c-hdg-l3-02--lg:has(+ .c-hdg-l3-02--lg) {
  margin-bottom: 0;
}
.c-hdg-l3-02--lg:has(+ .c-hdg-l3-02--lg) + .c-hdg-l3-02 {
  margin-top: 8px;
}
.c-hdg-l3-02--lg .c-hdg-l3-02__hdg {
  font-size: 2.6rem;
}
.c-hdg-l3-02__hdg {
  font-family: var(--font-family-title);
  font-size: 2.3rem;
  font-weight: var(--font-weight-d);
  color: var(--color-font);
  line-height: 1.8;
  letter-spacing: 0.05em;
}
.c-hdg-l3-02__hdg--en {
  font-family: var(--font-family-en);
  font-size: 2.6rem;
  font-weight: var(--font-weight-r);
}
html[lang=en] .c-hdg-l3-02__hdg {
  font-weight: var(--font-weight-r);
  letter-spacing: 0.025em;
}
@media only screen and (max-width: 750px) {
  .c-hdg-l3-02:has(+ .c-linkBtn.c-linkBtn--lg.c-linkBtn--showMore) .c-hdg-l3-02__hdg {
    min-height: unset;
  }
  .c-hdg-l3-02:has(+ .c-linkBtn.c-linkBtn--lg.c-linkBtn--showMore) .c-hdg-l3-02__inner {
    padding-right: 100px;
  }
  .c-hdg-l3-02--lg {
    margin: 56px 0 16px;
  }
  .c-hdg-l3-02--lg .c-hdg-l3-02__hdg {
    font-size: 1.9rem;
  }
  .c-hdg-l3-02__hdg {
    font-size: 1.9rem;
  }
  .c-hdg-l3-02__hdg--en {
    font-size: 2.1rem;
  }
}

/* .c-hdg-l4
----------------------------------------------- */
.c-hdg-l4 {
  margin-block: 64px var(--block-xs);
}
.c-hdg-l4__hdg {
  font-family: var(--font-family-title);
  font-size: 2rem;
  font-weight: var(--font-weight-d);
  color: var(--color-font);
  line-height: 1.8;
  letter-spacing: 0.05em;
}
html[lang=en] .c-hdg-l4__hdg {
  letter-spacing: 0.025em;
}
@media only screen and (max-width: 750px) {
  .c-hdg-l4 {
    margin: 28px 0 24px;
  }
  .c-hdg-l4__hdg {
    font-size: 1.9rem;
  }
}
html[lang=en] .c-hdg-l4 {
  font-weight: var(--font-weight-r);
}

/* .c-hdg-tag
----------------------------------------------- */
.c-hdg-tag {
  margin-block: var(--block-md) 12px;
  font-size: 1.6rem;
  line-height: 1.4;
  letter-spacing: 0.06em;
  font-family: var(--font-family-title);
}

/* .c-hdg-sm
----------------------------------------------- */
.c-hdg-sm {
  margin-block: var(--block-xl) var(--block-md);
}
.c-hdg-sm + * {
  margin-top: 0;
}
.c-hdg-sm__hdg {
  font-family: var(--font-family-title);
  font-size: 2.1rem;
  font-weight: var(--font-weight-r);
  color: var(--color-font);
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.c-hdg-sm__hdg--subText {
  display: block;
  margin-bottom: 12px;
  color: var(--color-font-sub);
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0.03em;
}
html[lang=en] .c-hdg-sm__hdg {
  letter-spacing: 0.025em;
}
@media only screen and (max-width: 750px) {
  .c-hdg-sm__hdg {
    font-size: 2.3rem;
  }
  .c-hdg-sm__hdg--subText {
    margin-bottom: 8px;
  }
  .c-hdg-sm__hdg--en {
    font-size: 2.8rem;
  }
}

/* ----------------------------------------------------------------
  Icon
----------------------------------------------------------------- */
/* .m-icon-blank
----------------------------------------------- */
.m-icon-blank {
  margin: -3px 8px 0;
  vertical-align: middle;
}

/* .m-icon-pdf
----------------------------------------------- */
.m-icon-pdf {
  margin: -3px 8px 0;
  vertical-align: middle;
}

/* .m-icon-book
----------------------------------------------- */
.m-icon-book {
  margin: -6px 8px 0;
  vertical-align: middle;
}

/* .m-icon-doc
----------------------------------------------- */
.m-icon-doc {
  margin: -3px 8px 0;
  vertical-align: middle;
}

/* .m-icon-xls
----------------------------------------------- */
.m-icon-xls {
  margin: -3px 8px 0;
  vertical-align: middle;
}

/* .m-pseudo-link-icon-text
----------------------------------------------- */
.m-pseudo-link-icon-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

/* ----------------------------------------------------------------
  Input
----------------------------------------------------------------- */
/* .c-input
----------------------------------------------- */
.c-input[class] {
  width: 100%;
  padding: 12px 20px;
  border: 0;
  border-radius: 4px;
  background-color: var(--color-bg-base);
  font-family: var(--font-family-title);
  font-size: 1.6rem;
  overflow-wrap: anywhere;
}
@media only screen and (max-width: 750px) {
  .c-input[class] {
    padding: 12px 16px;
  }
}

textarea.c-input {
  min-height: 280px;
  field-sizing: content;
}

/* ----------------------------------------------------------------
  Layout
----------------------------------------------------------------- */
/* .c-lyt-col
----------------------------------------------- */
.c-lyt-col {
  margin-top: 108px;
}
.c-lyt-col.-col2-pc .c-lyt-col__inner {
  grid-template-columns: repeat(2, 1fr);
  gap: 72px 32px;
}
.c-lyt-col.-col3-pc .c-lyt-col__inner {
  grid-template-columns: repeat(3, 1fr);
  gap: 72px 32px;
}
.c-lyt-col.-col4-pc .c-lyt-col__inner {
  grid-template-columns: repeat(auto-fit, minmax(316px, 1fr));
  gap: 72px 32px;
}
.c-lyt-col.-col5-pc .c-lyt-col__inner {
  grid-template-columns: repeat(auto-fit, minmax(246px, 1fr));
  gap: 32px;
}
.c-lyt-col--people.-col5-pc .c-lyt-col__inner {
  grid-template-columns: repeat(5, 1fr);
  gap: 56px 32px;
}
.c-lyt-col--people.-col5-pc .c-lyt-col__inner .m-card-01__image {
  aspect-ratio: 1/1;
  height: 100%;
}
.c-lyt-col--people.-col5-pc .c-lyt-col__inner .m-card-01__image > img {
  width: auto;
  max-width: 100%;
  height: 100%;
}
.c-lyt-col--innovationProject.-col4-pc .c-lyt-col__inner {
  grid-template-columns: repeat(4, 1fr);
  gap: 48px 32px;
}
.c-lyt-col--about.-col3-pc .c-lyt-col__inner {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
}
.c-lyt-col--about.-col3-pc .c-lyt-col__item {
  margin-right: 128px;
  max-width: 255px;
}
.c-lyt-col--about.-col3-pc .c-lyt-col__item:first-child {
  margin-right: 240px;
  max-width: 200px;
}
.c-lyt-col--adjust-mt {
  margin-top: 108px;
}
.c-filter-result-area .c-lyt-col .c-lyt-col__inner {
  gap: clamp(40px, 7.14vw - 13.6px, 72px) clamp(16px, 3.57vw - 10.8px, 32px);
}
.c-lyt-col--button-02 {
  margin-top: 48px;
}
.c-lyt-col__inner {
  display: grid;
}
.c-lyt-col__inner.fn-filter-result .c-lyt-col__item {
  opacity: 0;
  transform: translateY(-20px);
  transition: transform 0.6s ease, opacity 0.6s ease;
}
.c-lyt-col__inner.fn-filter-result .c-lyt-col__item.is-shown {
  opacity: 1;
  transform: translateY(0);
}
@media only screen and (max-width: 1439px) {
  .c-lyt-col--about.-col3-pc .c-lyt-col__inner {
    justify-content: space-between;
    gap: 0;
  }
  .c-lyt-col--about.-col3-pc .c-lyt-col__item {
    flex: 1 1 auto;
    margin-right: clamp(40px, 40px + 88 * (100vw - 896px) / 543, 128px);
    max-width: clamp(224px, 224px + 31 * (100vw - 896px) / 543, 255px);
  }
  .c-lyt-col--about.-col3-pc .c-lyt-col__item:first-child {
    margin-right: clamp(64px, 64px + 176 * (100vw - 896px) / 543, 240px);
    max-width: clamp(168px, 168px + 48 * (100vw - 896px) / 543, 216px);
  }
}
@media only screen and (max-width: 1199px) {
  .c-lyt-col--people.-col5-pc .c-lyt-col__inner {
    grid-template-columns: repeat(4, 1fr);
    gap: 48px 24px;
  }
  .c-lyt-col--innovationProject.-col4-pc .c-lyt-col__inner {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}
@media only screen and (max-width: 895px) {
  .c-lyt-col--about.-col3-pc .c-lyt-col__inner {
    gap: 0 !important;
    flex-direction: column;
  }
  .c-lyt-col--about.-col3-pc .c-lyt-col__item {
    margin: 40px 0 0;
    padding-top: 40px;
    max-width: 100%;
    border-top: 1px solid var(--color-border-base);
  }
  .c-lyt-col--about.-col3-pc .c-lyt-col__item:first-child {
    max-width: 100%;
    margin: 0;
    padding: 0;
    border: none;
  }
  .c-lyt-col--about.-col3-pc .c-lyt-col__image {
    justify-content: flex-start;
  }
  .c-lyt-col.-col4-pc.-col2-sp .c-lyt-col__inner {
    grid-template-columns: repeat(2, 1fr);
  }
  .c-lyt-col--button-02.-col2-pc .c-lyt-col__inner {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .c-lyt-col--button-02.-col2-pc .c-lyt-col__inner .c-lyt-col__item {
    text-align: center;
  }
}
@media only screen and (max-width: 750px) {
  .c-lyt-col {
    margin: 64px 0 54px;
  }
  .c-lyt-col.-col2-pc .c-lyt-col__inner {
    grid-template-columns: 1fr;
  }
  .c-lyt-col.-col3-pc .c-lyt-col__inner, .c-lyt-col.-col4-pc .c-lyt-col__inner, .c-lyt-col.-col5-pc .c-lyt-col__inner {
    grid-template-columns: repeat(2, 1fr);
    gap: 48px 20px;
  }
  .c-lyt-col.-col2-sp .c-lyt-col__inner {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 24px 20px !important;
  }
  .c-lyt-col.-col2-sp .c-lyt-col__inner .m-card-01 .m-card-01__image > img {
    width: 100%;
    max-height: 330px;
  }
  .c-lyt-col.-col3-sp .c-lyt-col__inner {
    grid-template-columns: repeat(3, 1fr);
    gap: 28px 16px;
  }
  .c-lyt-col--people.-col5-pc .c-lyt-col__inner {
    grid-template-columns: repeat(4, 1fr);
    gap: 28px 16px;
  }
  .c-lyt-col--about.-col3-pc .c-lyt-col__item {
    margin: 28px 0 0;
    padding-top: 28px;
  }
  .c-lyt-col--innovationProject.-col2-sp .c-lyt-col__inner {
    grid-template-columns: repeat(3, 1fr) !important;
  }
  .c-lyt-col--adjust-mt {
    margin-top: 64px;
  }
  .c-lyt-col--button-02.-col2-pc {
    margin-top: 40px;
  }
  .c-lyt-col--button-02.-col2-pc .c-lyt-col__inner {
    gap: 20px;
  }
  .c-lyt-col__inner {
    grid-template-columns: 1fr;
  }
  .c-lyt-col__item {
    display: block;
    padding: 0;
    width: auto;
  }
}
@media only screen and (max-width: 599px) {
  .c-lyt-col.-col3-pc .c-lyt-col__inner, .c-lyt-col.-col4-pc .c-lyt-col__inner, .c-lyt-col.-col5-pc .c-lyt-col__inner {
    grid-template-columns: 1fr;
    gap: 48px;
  }
  .c-lyt-col--people.-col5-pc .c-lyt-col__inner {
    grid-template-columns: repeat(3, 1fr);
    gap: 28px 16px;
  }
  .c-lyt-col--innovationProject.-col2-sp .c-lyt-col__inner {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* ----------------------------------------------------------------
  Label
----------------------------------------------------------------- */
/* .c-labelList ｜e.g. ニュース詳細
----------------------------------------------- */
.c-labelList {
  margin-top: 12px;
}
.c-labelList + .clamp-fade + .clamp-toggle {
  position: relative;
}
.c-labelList + .clamp-fade + .clamp-toggle::before {
  display: block;
  content: "";
  position: absolute;
  width: 148px;
  height: 1px;
  background-color: rgba(0, 0, 0, 0.13);
  top: 50%;
}
.c-labelList__inner {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 4px;
}
.c-labelList__item {
  display: flex;
}
.c-labelList__item a {
  display: inline-flex;
  border: 1px solid var(--color-dark);
  border-radius: 12.5px;
  text-decoration: none;
  padding: 4px 12px 3px;
  background-color: var(--color-white);
  color: var(--color-font-sub);
  font-family: var(--font-family-title);
  line-height: 1.4;
  font-size: 12px;
  letter-spacing: 0;
  transition: color 0.2s, border 0.2s;
}
.c-labelList__item a:hover, .c-labelList__item a:active, .c-labelList__item a:focus-visible {
  color: var(--color-main);
  border: 1px solid var(--color-main);
}
@media only screen and (max-width: 750px) {
  .c-labelList > .m-container {
    padding: 0;
  }
  .c-labelList__list + .clamp-fade + .clamp-toggle::before {
    width: calc(100% - 84px);
  }
}

/* .m-label-01｜ラベル白背景（e.g. PEOPLE詳細）
----------------------------------------------- */
.m-label-01 {
  display: inline-flex;
}
.m-label-01__text {
  display: inline-flex;
  border: 1px solid var(--color-dark);
  border-radius: 12.5px;
  text-decoration: none;
  padding: 4px 12px 3px;
  background-color: var(--color-white);
  color: var(--color-font-sub);
  font-family: var(--font-family-title);
  line-height: 1.4;
  font-size: 12px;
  letter-spacing: 0.03em;
}
.m-label-01__text[href] {
  transition: color 0.2s, border 0.2s;
}
.m-label-01__text[href]:hover, .m-label-01__text[href]:active, .m-label-01__text[href]:focus-visible {
  color: var(--color-main);
  border: 1px solid var(--color-main);
}

/* .m-label-02｜ラベル横線あり（e.g. PEOPLE詳細）
----------------------------------------------- */
.m-label-02 {
  font-size: 12px;
  font-family: var(--font-family-title);
  line-height: 1.4;
  letter-spacing: 0.05em;
}
.m-label-02--en {
  font-size: 14px;
}
.m-label-02 > span {
  display: inline-block;
  position: relative;
  padding-right: 32px;
}
.m-label-02 > span::before {
  display: block;
  content: "";
  position: absolute;
  display: block;
  width: 24px;
  height: 1px;
  background-color: var(--color-main);
  top: 8px;
  right: 0;
}
@media only screen and (max-width: 750px) {
  .m-label-02--en {
    font-size: 13px;
  }
  .m-label-02 > span {
    padding-right: 32px;
  }
  .m-label-02 > span::before {
    width: 24px;
  }
}

/* .m-label-03｜ラベル青背景（e.g. トップ）
----------------------------------------------- */
.m-label-03 {
  display: inline-flex;
}
.m-label-03__text {
  display: inline-flex;
  border-radius: 12.5px;
  text-decoration: none;
  padding: 4px 12px 3px;
  background-color: var(--color-main);
  font-family: var(--font-family-title);
  font-weight: var(--font-weight-m);
  line-height: 1.4;
  font-size: 12px;
  letter-spacing: 0.03em;
  color: var(--color-white);
  border: 1px solid var(--color-main);
}
.m-label-03__text--en {
  font-family: var(--font-family-en);
}
.m-label-03__text[href] {
  transition: color 0.2s, border 0.2s;
}
.m-label-03__text[href]:hover, .m-label-03__text[href]:active, .m-label-03__text[href]:focus-visible {
  color: var(--color-white);
  border: 1px solid var(--color-white);
}

/* ----------------------------------------------------------------
  Link
----------------------------------------------------------------- */
/* .m-link
----------------------------------------------- */
.m-link {
  display: inline-block;
  position: relative;
  border-bottom: none;
  padding-left: 18px;
}
.m-link::before {
  content: "";
  position: absolute;
  left: 0;
  top: 12px;
  margin-top: -2px;
  border-right: 1px solid #62B0E2;
  border-bottom: 1px solid #62B0E2;
  width: 6px;
  height: 6px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.m-link--en {
  font-family: var(--font-family-en);
}
.m-link[target=_blank] .m-link__text::after {
  display: block;
  content: "";
  margin-left: 8px;
  width: 10px;
  height: 10px;
  background-image: url("/ja/assets/img/icon/icon-blank.svg");
  background-size: 10px;
  top: 11px;
  position: relative;
}
.m-link[href$=".pdf"] .m-linkBtn__text::after {
  content: "";
  margin-top: -2px;
  width: 25px;
  height: 15px;
  background-image: url("../images/icon_pdf_blue.png");
  background-size: 25px;
}
.m-link__text {
  position: relative;
  display: inline-flex;
  font-size: 1.6rem;
  letter-spacing: 0.03em;
  line-height: 1.8;
  color: var(--color-font);
  font-family: var(--font-family-title);
  transition: color 0.2s;
}
.m-link__text:has(+ img.m-icon-blank)::after {
  display: none !important;
}
.m-link:hover .m-link__text, .m-link:active .m-link__text, .m-link:focus-visible .m-link__text {
  color: var(--color-main);
}
/* .c-linkBtn
----------------------------------------------- */
.c-linkBtn {
  margin-top: var(--block-md);
}
.c-linkBtn--center {
  text-align: center;
}
.c-linkBtn--right {
  text-align: right;
}
.c-linkBtn--showOnly-ja, .c-linkBtn--showOnly-en, .c-linkBtn--showOnly-cn {
  display: none;
}
html[lang=ja] .c-linkBtn--showOnly-ja {
  display: block;
}
html[lang=en] .c-linkBtn--showOnly-en {
  display: block;
}
html[lang^=zh] .c-linkBtn--showOnly-cn {
  display: block;
}
.c-linkBtn__btn + .c-linkBtn__btn {
  margin-top: 12px;
}
@media only screen and (max-width: 750px) {
  .c-linkBtn__btn + .c-linkBtn__btn {
    margin-top: 8px;
  }
  .c-linkBtn--centerSp {
    text-align: center;
  }
}

/* .c-linkBtn-lyt
----------------------------------------------- */
.c-linkBtn-lyt {
  margin-top: 24px;
}
.c-linkBtn-lyt.-colAuto-pc .c-linkBtn-lyt__inner {
  display: flex;
  flex-wrap: wrap;
}
.c-linkBtn-lyt.-col2-pc .c-linkBtn-lyt__inner {
  grid-template-columns: repeat(2, 1fr);
}
.c-linkBtn-lyt.-col3-pc .c-linkBtn-lyt__inner {
  grid-template-columns: repeat(3, 1fr);
}
.c-linkBtn-lyt.-col4-pc .c-linkBtn-lyt__inner {
  grid-template-columns: repeat(4, 1fr);
}
.c-linkBtn-lyt.-col5-pc .c-linkBtn-lyt__inner {
  grid-template-columns: repeat(5, 1fr);
}
.c-linkBtn-lyt__inner {
  display: grid;
  gap: 16px 32px;
}
.c-linkBtn-lyt__item > .c-linkBtn {
  margin: 0;
}
@media only screen and (max-width: 750px) {
  .c-linkBtn-lyt.-colAuto-pc .c-linkBtn-lyt__inner {
    display: grid;
    grid-template-columns: 1fr;
  }
  .c-linkBtn-lyt.-col2-pc .c-linkBtn-lyt__inner, .c-linkBtn-lyt.-col3-pc .c-linkBtn-lyt__inner, .c-linkBtn-lyt.-col4-pc .c-linkBtn-lyt__inner, .c-linkBtn-lyt.-col5-pc .c-linkBtn-lyt__inner {
    grid-template-columns: 1fr;
  }
  .c-linkBtn-lyt.-col2-sp .c-linkBtn-lyt__inner {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .c-linkBtn-lyt__inner {
    gap: 16px 20px;
  }
}

/* .m-linkIcon
----------------------------------------------- */
.m-linkIcon {
  display: inline-block;
  position: relative;
  border: 1px solid #62B0E2;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  box-sizing: border-box;
  vertical-align: middle;
  transition: background-color 0.2s;
}
.m-linkIcon::before {
  content: "";
  position: absolute;
  left: 9px;
  top: 11px;
  margin-top: -2px;
  border-right: 1px solid #62B0E2;
  border-bottom: 1px solid #62B0E2;
  width: 4px;
  height: 4px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  transition: border-color 0.4s;
}
.c-linkBtn--lg .m-linkIcon, .m-linkBtn--lg .m-linkIcon {
  width: 40px;
  height: 40px;
}
.c-linkBtn--lg .m-linkIcon::before, .m-linkBtn--lg .m-linkIcon::before {
  left: 15px;
  margin-top: -2px;
  width: 6px;
  height: 6px;
  top: 18px;
}
.m-linkBtn--anchor .m-linkIcon::before {
  transform: rotate(45deg);
}
@media only screen and (max-width: 750px) {
  .m-linkIcon {
    width: 20px;
    height: 20px;
    border-radius: 50%;
  }
  .m-linkIcon::before {
    left: 7px;
    margin-top: -1px;
    width: 4px;
    height: 4px;
    top: 8px;
  }
  .c-linkBtn--lg .m-linkIcon::before, .m-linkBtn--lg .m-linkIcon::before {
    left: 10px;
    margin-top: -1px;
    width: 4px;
    height: 4px;
    top: 12px;
  }
  .m-linkBtn--anchor .m-linkIcon::before {
    margin-top: -2px;
  }
}

/* .m-linkBtn
----------------------------------------------- */
.m-linkBtn {
  display: inline-block;
  position: relative;
  border-bottom: none;
  color: var(--color-font);
  font-family: var(--font-family-title);
  font-size: 1.3rem;
  letter-spacing: 0.03em;
  transition: background-color 0.4s, color 0.2s, border-radius 0.2s, padding 0.4s;
  padding: 4px 0px 3px 36px;
}
.m-linkBtn[target=_blank] .m-linkBtn__text::after {
  position: absolute;
  content: "";
  margin-top: 7px;
  margin-left: 8px;
  width: 10px;
  height: 10px;
  background-image: url("/ja/assets/img/icon/icon-blank.svg");
  background-size: 10px;
}
.m-linkBtn[href$=".pdf"] .m-linkBtn__text::after {
  content: "";
  margin-top: 4px;
  width: 25px;
  height: 15px;
  background-image: url("/ja/assets/img/icon/icon-pdf.png");
  background-size: 25px;
}
.m-linkBtn--white {
  color: #FFF;
}
.m-linkBtn--white .m-linkIcon {
  border-color: #FFF;
}
.m-linkBtn--white .m-linkIcon::before {
  border-color: #FFF;
}
.m-linkBtn--white .m-linkBtn__text {
  color: var(--color-white);
}
.m-linkBtn > .m-icon-blank {
  margin-top: -7px;
}
.c-linkBtn--lg .m-linkBtn, .m-linkBtn.m-linkBtn--lg {
  font-size: 1.6rem;
  color: var(--color-font);
  font-weight: 450;
  line-height: 1.4;
  letter-spacing: 0.06em;
  border-radius: 20px;
  padding: 9px 8px 9px 56px;
}
.c-linkBtn--lg .m-linkBtn__text, .m-linkBtn.m-linkBtn--lg__text {
  color: var(--color-font);
  font-weight: var(--font-weight-m);
}
.c-linkBtn--lg .m-linkBtn .m-linkBtn__icon, .m-linkBtn.m-linkBtn--lg .m-linkBtn__icon {
  top: 0;
}
.c-linkBtn--lg .m-linkBtn:hover, .c-linkBtn--lg .m-linkBtn:active, .c-linkBtn--lg .m-linkBtn:focus-visible, .m-linkBtn.m-linkBtn--lg:hover, .m-linkBtn.m-linkBtn--lg:active, .m-linkBtn.m-linkBtn--lg:focus-visible {
  background-color: var(--color-link);
  border-radius: 20px;
  padding: 9px 20px 9px 44px;
}
.c-linkBtn--lg .m-linkBtn:hover .m-linkBtn__text, .c-linkBtn--lg .m-linkBtn:active .m-linkBtn__text, .c-linkBtn--lg .m-linkBtn:focus-visible .m-linkBtn__text, .m-linkBtn.m-linkBtn--lg:hover .m-linkBtn__text, .m-linkBtn.m-linkBtn--lg:active .m-linkBtn__text, .m-linkBtn.m-linkBtn--lg:focus-visible .m-linkBtn__text {
  color: var(--color-white);
}
@media only screen and (max-width: 750px) {
  .c-linkBtn--lg .m-linkBtn, .m-linkBtn.m-linkBtn--lg {
    padding: 3px 0 3px 40px !important;
  }
  .c-linkBtn--lg .m-linkBtn .m-linkBtn__icon, .m-linkBtn.m-linkBtn--lg .m-linkBtn__icon {
    top: 15px;
    width: 28px !important;
    height: 28px !important;
  }
}
.m-linkBtn--anchor .m-linkBtn__text {
  color: var(--color-font);
}
.m-linkBtn--anchor:hover .m-linkIcon, .m-linkBtn--anchor:active .m-linkIcon, .m-linkBtn--anchor:focus-visible .m-linkIcon {
  background-color: var(--color-link);
}
.m-linkBtn--anchor:hover .m-linkBtn__text, .m-linkBtn--anchor:active .m-linkBtn__text, .m-linkBtn--anchor:focus-visible .m-linkBtn__text {
  color: var(--color-link);
}
.m-linkBtn__icon {
  position: absolute;
  left: 0;
  top: 4px;
}
.m-linkBtn__text {
  display: inline;
  min-height: 32px;
  box-sizing: border-box;
  font-size: 1.6rem;
  color: var(--color-main);
  transition: color 0.2s;
  line-height: 1.5;
}
.m-linkBtn__text--en {
  font-family: var(--font-family-en);
  font-size: 1.6rem;
}
.m-linkBtn__text::after {
  display: inline-block;
  margin-left: 6px;
  background-repeat: no-repeat;
  vertical-align: middle;
}
.m-linkBtn__text:has(+ img[class^=m-icon-])::after, .m-linkBtn__text:has(+ img[class*=m-icon-])::after {
  display: none;
}
.m-linkBtn:hover .m-linkIcon, .m-linkBtn:active .m-linkIcon, .m-linkBtn:focus-visible .m-linkIcon {
  background-color: var(--color-main);
}
.m-linkBtn:hover .m-linkIcon::before, .m-linkBtn:active .m-linkIcon::before, .m-linkBtn:focus-visible .m-linkIcon::before {
  border-right: 1px solid var(--color-white);
  border-bottom: 1px solid var(--color-white);
}
@media only screen and (max-width: 750px) {
  .m-linkBtn {
    padding: 0px 0 0 32px;
  }
  .m-linkBtn__icon {
    top: 17px;
    margin-top: -14px;
  }
  .m-linkBtn__text {
    min-height: 24px;
    transition: none;
    font-size: 1.4rem;
    line-height: 1.8;
    letter-spacing: 0.06em;
  }
  .m-linkBtn__text--en {
    font-size: 1.6rem;
  }
  .m-linkBtn__text .is-hidden-sp {
    display: none;
  }
  .m-linkBtn:hover, .m-linkBtn:active, .m-linkBtn:focus-visible {
    background-color: transparent !important;
  }
  .m-linkBtn:hover > .m-linkBtn__text, .m-linkBtn:active > .m-linkBtn__text, .m-linkBtn:focus-visible > .m-linkBtn__text {
    color: var(--color-font) !important;
  }
}

/* .c-link-email
----------------------------------------------- */
.c-link-email {
  color: var(--color-link);
  border-color: currentcolor;
}
.c-link-email:hover, .c-link-email:active, .c-link-email:focus-visible {
  color: var(--color-main);
  border-color: var(--color-main);
}

/* ----------------------------------------------------------------
  List
----------------------------------------------------------------- */
/* .c-list-link-anchor
----------------------------------------------- */
.c-list-link-anchor {
  margin: var(--block-2xl) 0 var(--block-2xl);
}
.c-list-link-anchor + * {
  margin-top: 0 !important;
}
.c-list-link-anchor--horizontal .c-list-link-anchor__inner {
  flex-direction: row;
  border-bottom: 1px solid var(--color-border-base);
  gap: 12px 32px;
  padding-bottom: 24px;
}
.c-toc__hdg + .c-list-link-anchor {
  margin-top: var(--block-md);
}
.c-list-link-anchor__inner {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 12px;
}
.c-list-link-anchor__item .m-linkBtn__icon {
  top: 3px;
}
.c-list-link-anchor__item .m-linkBtn__text {
  letter-spacing: 0.06em;
}
@media only screen and (max-width: 750px) {
  .c-list-link-anchor--horizontal .c-list-link-anchor__inner {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px 20px;
  }
  .c-list-link-anchor--horizontal.-col1-sp .c-list-link-anchor__inner {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .c-list-link-anchor__inner {
    gap: 12px 20px;
  }
  .c-list-link-anchor__item .m-linkBtn__icon {
    top: 17px;
  }
}

/* .c-list-link-menu｜e.g. ABOUTトップ、ESG
----------------------------------------------- */
.c-list-link-menu {
  margin-top: var(--block-2xl);
}
.c-list-link-menu.-col2-pc .c-list-link-menu__inner {
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
}
.c-list-link-menu.-col4-pc .c-list-link-menu__inner {
  grid-template-columns: repeat(4, 1fr);
  gap: 40px;
}
.c-list-link-menu__inner {
  display: grid;
  gap: 40px;
}
.c-list-link-menu__item {
  display: flex;
}
.c-list-link-menu__link {
  padding-bottom: 16px;
  color: var(--color-font);
  border-bottom: 1px solid var(--color-border-base);
  text-decoration: none;
  padding-left: 22px;
  position: relative;
  width: 100%;
  transition: border 0.2s, color 0.2s;
}
.c-list-link-menu__link::before {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  top: 12px;
  margin-top: -2px;
  border-right: 1px solid var(--color-black);
  border-bottom: 1px solid var(--color-black);
  width: 6px;
  height: 6px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.c-list-link-menu__link:hover, .c-list-link-menu__link:active, .c-list-link-menu__link:focus-visible {
  color: var(--color-main);
  border-bottom: 1px solid var(--color-main);
}
.c-list-link-menu__link:hover::before, .c-list-link-menu__link:active::before, .c-list-link-menu__link:focus-visible::before {
  display: block;
  content: "";
  border-right: 1px solid var(--color-main);
  border-bottom: 1px solid var(--color-main);
}
.c-list-link-menu__text {
  font-size: 1.8rem;
  font-weight: var(--font-weight-d);
  font-family: var(--font-family-title);
  line-height: 1.5;
  letter-spacing: 0.03em;
}
html[lang=en] .c-list-link-menu__text {
  font-weight: var(--font-weight-r);
}
@media only screen and (max-width: 1199px) {
  .c-list-link-menu.-col4-pc .c-list-link-menu__inner {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media only screen and (max-width: 895px) {
  .c-list-link-menu.-col4-pc .c-list-link-menu__inner {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
  }
}
@media only screen and (max-width: 750px) {
  .c-list-link-menu.-col2-pc .c-list-link-menu__inner, .c-list-link-menu.-col4-pc .c-list-link-menu__inner {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .c-list-link-menu.-col2-sp .c-list-link-menu__inner {
    grid-template-columns: repeat(2, 1fr);
    gap: 28px;
  }
  .c-list-link-menu__inner {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .c-list-link-menu__text {
    font-size: 1.6rem;
  }
  .c-list-link-menu__link::before {
    top: 10px;
  }
}

/* .c-menuLink（既存モジュール）
----------------------------------------------- */
.c-menuLink {
  margin-top: var(--block-2xl);
}

/* .m-arrowListLg（既存モジュール）
----------------------------------------------- */
.m-arrowListLg {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px 40px;
}
.m-arrowListLg--2col > li, .m-arrowListLg--3col > li {
  display: inline-block;
  vertical-align: top;
}
.m-arrowListLg--2col {
  grid-template-columns: repeat(2, 1fr);
}
.m-arrowListLg--3col {
  grid-template-columns: repeat(3, 1fr);
}
.m-arrowListLg--4col {
  grid-template-columns: repeat(4, 1fr);
}
.m-arrowListLg > li {
  display: flex;
}
.m-arrowListLg a {
  display: flex;
  padding-bottom: 16px;
  color: var(--color-font);
  border-bottom: 1px solid var(--color-border-base);
  text-decoration: none;
  padding-left: 22px;
  position: relative;
  width: 100%;
  transition: border 0.2s, color 0.2s;
}
.m-arrowListLg a[href^="#"] > span::before {
  -webkit-transform: translate(-10px, -3px) rotate(45deg);
  transform: translate(-10px, -3px) rotate(45deg);
}
.m-arrowListLg a[target=_blank] > span {
  display: inline-block;
  position: relative;
  padding-right: 16px;
}
.m-arrowListLg a[target=_blank] > span::after {
  display: block;
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  top: 7px;
  right: 0;
  background-color: var(--color-font);
  -webkit-mask-image: url("/ja/assets/img/icon/icon-blank.svg");
  mask-image: url("/ja/assets/img/icon/icon-blank.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 10px;
  mask-size: 10px;
  transition: background-color var(--transition-duration);
}
.m-arrowListLg a:hover[target=_blank] > span::after, .m-arrowListLg a:active[target=_blank] > span::after, .m-arrowListLg a:focus-visible[target=_blank] > span::after {
  background-color: var(--color-main);
}
.m-arrowListLg a.current, .m-arrowListLg a.is-active, .m-arrowListLg a:hover {
  color: var(--color-main);
  border-color: var(--color-main);
}
.m-arrowListLg a.current > span::before, .m-arrowListLg a.is-active > span::before, .m-arrowListLg a:hover > span::before {
  border-color: var(--color-main);
}
.m-arrowListLg a > span {
  display: table-cell;
  text-align: left;
  vertical-align: middle;
  font-family: var(--font-family-title);
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: 0.5px;
}
.m-arrowListLg a > span::before {
  content: "";
  display: inline-block;
  margin-left: -7px;
  border-right: 1px solid var(--color-black);
  border-bottom: 1px solid var(--color-black);
  width: 6px;
  height: 6px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: translate(-10px, -2px) rotate(-45deg);
  transform: translate(-10px, -2px) rotate(-45deg);
  transition: border-color 0.2s;
}
html[lang=en] .m-arrowListLg a > span {
  font-size: 2rem;
  font-weight: var(--font-weight-r);
}
@media only screen and (max-width: 1199px) {
  .m-arrowListLg--4col {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media only screen and (max-width: 895px) {
  .m-arrowListLg--4col {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (max-width: 750px) {
  .m-arrowListLg {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .m-arrowListLg--2col, .m-arrowListLg--3col, .m-arrowListLg--4col {
    margin: 0;
  }
  .m-arrowListLg--2col > li, .m-arrowListLg--3col > li, .m-arrowListLg--4col > li {
    display: block;
    padding: 0;
    width: auto;
  }
  .m-arrowListLg a > span {
    font-size: 1.6rem;
  }
  html[lang=en] .m-arrowListLg a > span {
    font-size: 1.8rem;
  }
}

/* .c-list-news
----------------------------------------------- */
.c-list-news {
  margin-top: var(--block-xl);
}
.c-list-news__hdgInner {
  position: relative;
  display: inline-flex;
  font-size: 2.6rem;
  font-family: var(--font-family-en);
  font-weight: var(--font-weight-r);
  line-height: 1.4;
  letter-spacing: 0.1em;
}
.c-list-news__hdgInner::before {
  display: block;
  content: "";
  width: 80px;
  height: 1px;
  position: absolute;
  background-color: var(--color-main);
  top: 50%;
  right: -96px;
}
.c-list-news__list {
  margin-top: var(--block-md);
}
.c-list-news__listInner {
  display: grid;
  grid-template-columns: 1fr;
}
.c-list-news__listItem {
  border-top: 1px solid var(--color-border-base);
}
.c-list-news__listItem:first-child {
  border-top: none;
}
.c-list-news__listLink {
  display: flex;
  width: 100%;
  padding: 16px 0;
  gap: 24px;
  flex-wrap: nowrap;
  align-items: flex-start;
}
.c-list-news__listLink[href] {
  border: 0;
  text-decoration: none;
}
.c-list-news__listLink[href][target=_blank] .c-list-news__listText {
  position: relative;
  display: inline-block;
}
.c-list-news__listLink[href][target=_blank] .c-list-news__listText::after {
  content: "";
  display: inline-block;
  margin-top: 0;
  margin-left: 8px;
  width: 10px;
  height: 10px;
  background-image: url(/ja/assets/img/icon/icon-blank.svg);
  background-size: 10px;
}
.c-list-news__listLink[href][href$=".pdf"] .c-list-news__listText {
  position: relative;
  display: inline-block;
}
.c-list-news__listLink[href][href$=".pdf"] .c-list-news__listText::after {
  content: "";
  display: inline-block;
  position: relative;
  margin-top: 0px;
  margin-left: 8px;
  top: 2px;
  width: 25px;
  height: 15px;
  background-image: url("/ja/assets/img/icon/icon-pdf.png");
  background-size: 25px;
}
.c-list-news__listLink[href]:hover .c-list-news__listDate,
.c-list-news__listLink[href]:hover .c-list-news__listText, .c-list-news__listLink[href]:active .c-list-news__listDate,
.c-list-news__listLink[href]:active .c-list-news__listText, .c-list-news__listLink[href]:focus-visible .c-list-news__listDate,
.c-list-news__listLink[href]:focus-visible .c-list-news__listText {
  color: var(--color-link);
}
.c-list-news__listDate {
  padding-top: 4px;
  color: var(--color-font-sub);
  font-size: 1.4rem;
  font-family: var(--font-family-en);
  font-weight: var(--font-weight-r);
  line-height: 1.4;
  letter-spacing: 0.05em;
  transition: color 0.2s;
}
.c-list-news__listText {
  color: var(--color-font);
  font-size: 1.4rem;
  font-family: var(--font-family-title);
  font-weight: var(--font-weight-r);
  line-height: 1.8;
  letter-spacing: 0.03em;
  transition: color 0.2s;
}
html[lang=en] .c-list-news__listText {
  font-size: 1.6rem;
}
@media only screen and (max-width: 750px) {
  .c-list-news__hdgInner {
    font-size: 2.1rem;
  }
  .c-list-news__list {
    margin-top: 4px;
  }
  .c-list-news__listLink {
    flex-direction: column;
    gap: 0;
  }
  .c-list-news__listDate {
    padding-top: 0;
    font-size: 1.3rem;
  }
  .c-list-news__listText {
    margin-top: 4px;
    font-size: 1.3rem;
  }
  html[lang=en] .c-list-news__listText {
    font-size: 1.5rem;
  }
}

/* .c-list-desc
----------------------------------------------- */
.c-list-desc__dl {
  display: grid;
  gap: 16px;
}
.c-list-desc__dl > *:first-child {
  border: none;
}
.c-list-desc__item {
  display: grid;
  grid-template-columns: 108px 1fr;
  border-top: 1px solid var(--color-border-base);
  padding-top: 12px;
  gap: 12px;
}
html[lang=en] .c-list-desc__item {
  grid-template-columns: 128px 1fr;
}
.c-list-desc__title {
  padding-top: 4px;
  min-width: 80px;
  max-width: 108px;
  font-family: var(--font-family-title);
  font-weight: var(--font-weight-d);
  line-height: 1.8;
  letter-spacing: 0.03em;
  font-size: 1.6rem;
}
html[lang=en] .c-list-desc__title {
  max-width: 128px;
  font-size: 1.8rem;
  font-weight: var(--font-weight-m);
}
.c-list-desc__dd {
  font-family: var(--font-family-body);
  font-size: 1.7rem;
  line-height: 2.2;
}
html[lang=en] .c-list-desc__dd {
  font-size: 1.9rem;
}
.c-list-desc__link {
  margin-top: 8px;
}
.c-list-desc__link .m-link__text {
  font-size: 1.7rem;
}
@media only screen and (max-width: 750px) {
  .c-list-desc__item {
    grid-template-columns: 1fr;
    gap: 4px;
    padding-top: 16px;
  }
  html[lang=en] .c-list-desc__item {
    grid-template-columns: 1fr;
  }
  html[lang=en] .c-list-desc__dd {
    font-size: 1.8rem;
  }
  .c-list-desc__text {
    font-size: 1.6rem;
  }
}

/* .c-list-contact
----------------------------------------------- */
.c-list-contact {
  margin-top: 32px;
}
.c-list-contact.-col1-pc .c-list-contact__inner {
  grid-template-columns: 1fr;
}
.c-list-contact.-col1-pc .c-list-contact__item {
  border-bottom: 1px solid var(--color-border-base);
}
.c-list-contact.-col1-pc .c-list-contact__item:first-child {
  padding-top: 0;
  border-top: 0;
}
.c-list-contact.-col1-pc .c-list-contact__item:last-child {
  padding-bottom: 0;
}
.c-list-contact.-col3-pc .c-list-contact__inner {
  grid-template-columns: repeat(3, 1fr);
  column-gap: 40px;
}
.c-list-contact.-col3-pc .c-list-contact__item {
  border-bottom: 1px solid var(--color-border-base);
}
.c-list-contact.-col3-pc .c-list-contact__item:nth-child(-n+3) {
  padding-top: 0;
}
.c-list-contact--02:not(:last-child) .c-list-contact__inner {
  padding-bottom: 32px;
  border-bottom: 1px solid var(--color-border-base);
}
.c-list-contact--02 .c-list-contact__inner {
  margin-top: 16px;
}
.c-list-contact--02 .c-list-contact__hdg {
  padding-top: 32px;
  border-top: 1px solid var(--color-border-base);
}
.c-list-contact--02 .c-list-contact__item {
  padding: 0;
  border: 0 !important;
}
.c-list-contact__inner {
  display: grid;
}
.c-list-contact__item {
  padding-block: 32px;
}
.c-list-contact__dl {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin-top: var(--block-xs);
}
.c-list-contact__dl > *:first-child {
  border: none;
}
.c-list-contact__hdg {
  font-size: 1.8rem;
  line-height: 1.8;
  font-family: var(--font-family-title);
  font-weight: var(--font-weight-d);
  letter-spacing: 0.03em;
}
.c-list-contact__hdg a {
  color: var(--color-link);
  border-bottom-color: var(--color-link);
}
html[lang=en] .c-list-contact__hdg {
  font-size: 2rem;
  font-weight: var(--font-weight-r);
}
.c-list-contact__content {
  display: grid;
  gap: 4px;
}
.c-list-contact__title {
  font-family: var(--font-family-title);
  line-height: 1.4;
  letter-spacing: 0.05em;
  font-size: 1.3rem;
}
html[lang=en] .c-list-contact__title {
  font-size: 1.4rem;
}
.c-list-contact__dd {
  font-family: var(--font-family-body);
  font-size: 1.5rem;
  line-height: 1.6;
  color: var(--color-font-sub);
}
html[lang=en] .c-list-contact__dd {
  font-size: 1.7rem;
}
.c-list-contact__link {
  margin-top: var(--block-xs);
}
.c-list-contact__link > :first-child {
  margin-top: 0;
}
.c-list-contact__link .m-link::before {
  top: 9px;
}
.c-list-contact__link .m-link[target=_blank] .m-link__text::after {
  margin-left: 8px;
  width: 10px;
  height: 10px;
  background-size: 10px;
  top: 6px;
}
.c-list-contact__link .m-link__text {
  font-size: 1.4rem;
  line-height: 1.4;
  letter-spacing: 0.04em;
}
.c-list-contact__free {
  margin-top: 16px;
  font-size: 1.5rem;
  line-height: 1.6;
  color: var(--color-font-sub);
  font-family: var(--font-family-body);
}
.c-list-contact__free > *:first-child {
  margin-top: 0;
}
.c-list-contact__free .c-link {
  margin-top: 16px;
}
.c-list-contact__free .c-link .m-link::before {
  top: 13px;
}
.c-list-contact__free .c-link .m-link__text {
  font-size: 1.2rem;
}
html[lang=en] .c-list-contact__free {
  font-size: 1.7rem;
}
@media only screen and (max-width: 895px) {
  .c-list-contact.-col3-pc .c-list-contact__inner {
    grid-template-columns: repeat(2, 1fr);
    gap: 0 20px;
  }
  .c-list-contact.-col3-pc .c-list-contact__item:last-child {
    border-top: 0;
  }
  .c-list-contact:not(.c-list-contact--02) .c-list-contact__item:nth-child(n+3) {
    padding-top: 28px;
  }
}
@media only screen and (max-width: 750px) {
  .c-list-contact {
    margin: 28px 0 54px;
  }
  .c-list-contact:has(+ .c-list-contact) {
    margin-bottom: 28px;
  }
  .c-list-contact.-col3-pc .c-list-contact__inner {
    grid-template-columns: repeat(2, 1fr);
    gap: 0 20px;
  }
  .c-list-contact.-col3-pc .c-list-contact__item:last-child {
    border-bottom: 1px solid var(--color-border-base);
  }
  .c-list-contact__inner {
    grid-template-columns: 1fr;
  }
  .c-list-contact__item {
    display: block;
    width: auto;
    padding-block: 28px;
  }
  .c-list-contact__dd {
    font-family: var(--font-family-body);
    font-size: 1.5rem;
    line-height: 1.6;
    color: var(--color-font-sub);
  }
  html[lang=en] .c-list-contact__dd {
    font-size: 1.6rem;
  }
  .c-list-contact__text {
    font-size: 1.4rem;
  }
  html[lang=en] .c-list-contact__text {
    font-size: 1.6rem;
  }
  .c-list-contact__free {
    font-size: 1.4rem;
  }
  html[lang=en] .c-list-contact__free {
    font-size: 1.6rem;
  }
}
@media only screen and (max-width: 599px) {
  .c-list-contact.-col3-pc .c-list-contact__inner {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .c-list-contact:not(.c-list-contact--02) .c-list-contact__item:nth-child(n+2) {
    padding-top: 28px;
  }
}

/* ..historyAnchorList
----------------------------------------------- */
.historyAnchorList {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 32px 16px;
}
.historyAnchorList.is-sticky {
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 10;
  padding-bottom: 40px;
  width: 100%;
}
.historyAnchorList li {
  width: 316px;
}
html[lang=en] .historyAnchorList li {
  min-width: 316px;
  width: auto;
}
.historyAnchorList a {
  display: flex;
  position: relative;
  border: 1px solid var(--color-main);
  border-radius: 100px;
  padding: 8px 24px 8px 38px;
  background-color: var(--color-white);
  align-items: center;
  justify-content: center;
  text-align: center;
  color: var(--color-main);
  font-family: var(--font-family-title);
  font-size: 1.6rem;
  white-space: nowrap;
  line-height: 1.5;
  transition-property: background-color, color;
}
.historyAnchorList a.is-current {
  background-color: var(--color-main);
  color: var(--color-white);
}
.historyAnchorList a::before {
  content: "";
  position: absolute;
  left: 18px;
  top: 50%;
  margin-top: -4px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  width: 6px;
  height: 6px;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.historyAnchorList a.current {
  background-color: var(--color-main);
  color: var(--color-white);
}
html[lang=en] .historyAnchorList a {
  font-size: 1.6rem;
}
.historyAnchorList a:hover, .historyAnchorList a:active, .historyAnchorList a:focus-visible {
  background-color: var(--color-main);
  color: var(--color-white);
}
@media only screen and (max-width: 750px) {
  .historyAnchorList {
    box-sizing: border-box;
    gap: 6px;
  }
  .historyAnchorList li {
    width: unset;
    box-sizing: border-box;
  }
  html[lang=en] .historyAnchorList li {
    min-width: unset;
    width: unset;
  }
  .historyAnchorList a {
    padding: 9px 12px 9px 24px;
    font-size: 1.2rem;
  }
  .historyAnchorList a::before {
    left: 12px;
    margin-top: -3px;
    width: 5px;
    height: 5px;
  }
  html[lang=en] .historyAnchorList a {
    font-size: 1.3rem;
  }
}

/* .historyAnchorListArea
----------------------------------------------- */
.historyAnchorListArea {
  margin-block: 80px;
}
.c-pageHeader.c-pageHeader--bg-white + .m-container > .historyAnchorListArea {
  margin-top: 0;
}
.historyAnchorListArea:has(.historyAnchorList.is-sticky) {
  margin-bottom: 122px;
}
@media only screen and (max-width: 750px) {
  .historyAnchorListArea {
    margin-bottom: 48px;
  }
  .historyAnchorListArea:has(.historyAnchorList.is-sticky) {
    margin-bottom: 90px;
  }
}

/* .publication（既存）
----------------------------------------------- */
.publication > *:first-child {
  margin-top: 0;
}

/* .p-aboutPublicationList（既存）
----------------------------------------------- */
.p-aboutPublicationList__listArea .publication__hdg {
  margin-bottom: 25px;
  font-family: a-otf-ud-shin-go-pr6n, sans-serif;
  font-size: 3.4rem;
  font-weight: bold;
  letter-spacing: 1px;
}
.p-aboutPublicationList__listArea .publication__list {
  margin: -40px 0 0 -2.353%;
  font-size: 0;
}
.p-aboutPublicationList__listArea .publication__list__item {
  display: inline-block;
  padding: 40px 0 0 2.299%;
  width: 33.333%;
  box-sizing: border-box;
  vertical-align: top;
}
.p-aboutPublicationList__listArea .publication__list__item::after {
  content: "";
  display: block;
  clear: both;
}
.p-aboutPublicationList__listArea .publication__list__item__image {
  float: left;
  width: 33.333%;
}
.p-aboutPublicationList__listArea .publication__list__item__image img {
  width: 100%;
}
.p-aboutPublicationList__listArea .publication__list__item__body {
  float: right;
  padding-left: 14px;
  width: 66.666%;
  box-sizing: border-box;
}
.p-aboutPublicationList__listArea .publication__list__item__title {
  margin-top: -0.2em;
  font-family: var(--font-family-title-ja);
  font-size: 1.6rem;
  font-weight: var(--font-weight-d);
  letter-spacing: 0.5px;
  color: var(--color-font);
}
html[lang=en] .p-aboutPublicationList__listArea .publication__list__item__title {
  font-size: 1.8rem;
  font-weight: var(--font-weight-r);
}
.p-aboutPublicationList__listArea .publication__list__item__subTitle {
  margin-top: 10px;
  color: var(--color-font-sub);
  font-family: var(--font-family-body);
  font-size: 1.33846rem;
  letter-spacing: 0.5px;
}
html[lang=en] .p-aboutPublicationList__listArea .publication__list__item__subTitle {
  font-size: 1.5rem;
  font-family: var(--font-family-en-title);
}
.p-aboutPublicationList__listArea .publication__list__item__link {
  margin-top: 24px;
}
.p-aboutPublicationList__listArea .publication__archiveLink {
  margin-top: 40px;
  text-align: right;
}
.p-aboutPublicationList__listArea .publication ~ .publication {
  margin-top: 108px;
}

@media screen and (max-width: 1250px) {
  .p-aboutPublicationList__listArea .publication__list__item {
    width: 50%;
  }
}
@media screen and (max-width: 1250px) {
  .p-aboutPublicationList__listArea .publication__list__item__link .m-linkBtn__text {
    white-space: nowrap;
  }
}
@media only screen and (max-width: 750px) {
  .p-aboutPublicationList__leadArea {
    margin: 55px 0 0;
  }
  .p-aboutPublicationList__leadArea__hdg {
    font-size: 2.25rem;
  }
  .p-aboutPublicationList__leadArea__text {
    line-height: 1.8;
  }
  .p-aboutPublicationList__listArea {
    margin-top: 50px;
  }
  .p-aboutPublicationList__listArea .publication__hdg {
    margin-bottom: 20px;
    font-size: 2.25rem;
  }
  .p-aboutPublicationList__listArea .publication__list {
    margin: 0;
  }
  .p-aboutPublicationList__listArea .publication__list__item {
    display: block;
    padding: 0;
    width: auto;
  }
  .p-aboutPublicationList__listArea .publication__list__item__image {
    width: 41%;
  }
  .p-aboutPublicationList__listArea .publication__list__item__body {
    width: 59%;
  }
  .p-aboutPublicationList__listArea .publication__list__item__link {
    margin-top: 14px;
  }
  .p-aboutPublicationList__listArea .publication__list__item__link .m-linkBtn__text {
    padding-top: 2px !important;
    font-size: 1.33846rem;
  }
  .p-aboutPublicationList__listArea .publication__list__item__link .m-linkBtn__text small {
    font-size: 1rem;
  }
  .p-aboutPublicationList__listArea .publication__list__item ~ .publication__list__item {
    margin-top: 28px;
  }
  .p-aboutPublicationList__listArea .publication__archiveLink {
    margin-top: 30px;
  }
  .p-aboutPublicationList__listArea .publication ~ .publication {
    margin-top: 30px;
    border-top: 1px solid #DDD;
    padding-top: 48px;
  }
}
/* .c-newsList
----------------------------------------------- */
.c-newsList + .c-linkBtn {
  margin-top: 16px;
}
.c-newsList__inner {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
}
.c-newsList__item {
  padding: 0 40px;
  position: relative;
}
.c-newsList__item:first-child {
  padding-left: 0;
}
.c-newsList__item:nth-child(3n) {
  padding-right: 0;
}
.c-newsList__item:nth-child(3n)::before {
  display: none;
}
.c-newsList__item::before {
  display: block;
  content: "";
  position: absolute;
  width: 1px;
  height: 100%;
  right: 0;
  background-color: var(--color-border-base);
}
@media only screen and (max-width: 1199px) {
  .c-newsList__item {
    padding: 0 clamp(24px, 3.5714vw - 2.82px, 40px);
  }
}
@media only screen and (max-width: 750px) {
  .c-newsList__inner {
    grid-template-columns: 1fr;
  }
  .c-newsList__item {
    padding: 24px 0;
  }
  .c-newsList__item:first-child {
    padding-top: 0;
  }
  .c-newsList__item:last-child {
    padding-bottom: 0;
  }
  .c-newsList__item::before {
    width: 100%;
    height: 1px;
    right: unset;
    bottom: 0;
  }
}

/* .c-list-note
----------------------------------------------- */
.c-list-note {
  display: grid;
  row-gap: 4px;
  margin: 24px 0;
}
.c-list-note small {
  display: flex;
  column-gap: 4px;
  font-family: var(--font-family-body);
  font-size: 1.5rem;
  line-height: 1.6;
}
.c-list-note__body {
  flex-basis: 0;
  flex-grow: 1;
  flex-shrink: 0;
}

/* .c-list-sns
----------------------------------------------- */
.c-list-sns {
  margin-top: 40px;
}
.c-list-sns__inner {
  display: flex;
  flex-wrap: nowrap;
  gap: 24px;
  align-items: center;
}
.c-list-sns__title {
  font-size: 1.4rem;
}
.c-list-sns__title--en {
  font-family: var(--font-family-en);
}
.c-list-sns__listInner {
  display: flex;
  flex-wrap: nowrap;
  gap: 16px;
}
.c-list-sns__listItem {
  display: flex;
  align-items: center;
}
.c-list-sns__listItem a {
  display: block;
  text-decoration: none;
  border: none;
}

/* .c-list-figure
----------------------------------------------- */
.c-list-figure {
  margin-top: 108px;
}
.c-list-figure.-col2-pc .c-list-figure__inner {
  grid-template-columns: repeat(2, 1fr);
}
.c-list-figure.-col3-pc .c-list-figure__inner {
  grid-template-columns: repeat(3, 1fr);
}
.c-list-figure__inner {
  display: grid;
  gap: 8px;
}
.c-list-figure__item {
  background-color: var(--color-bg-base);
  width: 100%;
  min-width: 0;
}
.c-list-figure__item__inner {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 40px 24px;
}
.c-list-figure__title {
  text-align: center;
  font-size: 1.9rem;
  font-family: var(--font-family-body);
  font-weight: var(--font-weight-r);
  color: var(--color-font);
  line-height: 1.4;
}
.c-list-figure__figure {
  margin-top: 8px;
  text-align: center;
  font-size: 1.9rem;
  font-family: var(--font-family-body);
  font-weight: var(--font-weight-r);
  color: var(--color-font);
  line-height: 1.4;
}
.c-list-figure__figure:has(+ .c-list-figure__figure) em, .c-list-figure__figure + .c-list-figure__figure em {
  font-size: 8.8rem;
  font-family: var(--font-family-en);
  font-weight: var(--font-weight-r);
  font-style: normal;
  color: var(--color-main);
  line-height: 1;
  letter-spacing: 0.02em;
}
.c-list-figure__figure + .c-list-figure__figure {
  margin-top: 4px;
}
.c-list-figure__figure em {
  font-size: 10rem;
  font-family: var(--font-family-en);
  font-weight: var(--font-weight-r);
  font-style: normal;
  color: var(--color-main);
  line-height: 1;
  letter-spacing: 0.02em;
}
.c-list-figure__figure__before {
  font-size: 1.5rem;
  line-height: 1.4;
}
.c-list-figure__image {
  margin-top: var(--block-xs);
  text-align: center;
}
.c-list-figure__image--area-occupy {
  flex: 1 1 auto;
  display: flex;
  justify-content: center;
  align-items: center;
}
.c-list-figure__image--area-occupy + .c-list-figure__text {
  flex: 0 1 auto;
}
.c-list-figure__text {
  margin-top: var(--block-sm);
  text-align: center;
  font-size: 1.5rem;
  font-family: var(--font-family-body);
  font-weight: var(--font-weight-r);
  font-style: normal;
  color: var(--color-font);
  line-height: 1.6;
}
.c-list-figure__text--position-bottom {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: end;
}
.c-list-figure__textSub {
  margin-top: var(--block-xs);
  text-align: center;
  font-size: 1.3rem;
  font-family: var(--font-family-body);
  font-weight: var(--font-weight-r);
  font-style: normal;
  color: var(--color-font);
  line-height: 1.6;
}
@media only screen and (max-width: 1439px) {
  .c-list-figure__figure em {
    font-size: 8.8rem;
  }
}
@media only screen and (max-width: 1199px) {
  .c-list-figure.-col3-pc .c-list-figure__inner {
    grid-template-columns: repeat(2, 1fr);
  }
  .c-list-figure.-col3-pc .c-list-figure__item {
    max-width: 100%;
  }
  .c-list-figure.-col3-pc .c-list-figure__item:last-child:nth-child(odd) {
    grid-column: 1/-1;
  }
  .c-list-figure__figure:has(+ .c-list-figure__figure) em, .c-list-figure__figure + .c-list-figure__figure em {
    font-size: clamp(7.6rem, 5.588rem + 2.679vw, 8.8rem);
  }
  .c-list-figure__figure em {
    font-size: clamp(7.6rem, 5.588rem + 2.679vw, 8.8rem);
  }
}
@media only screen and (max-width: 750px) {
  .c-list-figure {
    margin: 64px 0 54px;
  }
  .c-list-figure.-col2-pc .c-list-figure__item {
    max-width: 100%;
  }
  .c-list-figure.-col3-pc .c-list-figure__inner {
    grid-template-columns: repeat(2, 1fr);
  }
  .c-list-figure.-col3-pc .c-list-figure__item {
    max-width: 100%;
  }
  .c-list-figure.-col3-pc .c-list-figure__item:last-child:nth-child(odd) {
    grid-column: 1/-1;
  }
  .c-list-figure.-col3-pc .c-list-figure__item:last-child:nth-child(odd) .c-list-figure__image img {
    max-width: 280px;
  }
  .c-list-figure.-col3-pc .c-list-figure__image img {
    max-width: 200px;
    width: 100%;
  }
  .c-list-figure__item {
    max-width: 100%;
  }
  .c-list-figure__item__inner {
    padding: 24px 12px;
  }
  .c-list-figure__title {
    font-size: 1.6rem;
  }
  .c-list-figure__figure {
    font-size: 1.5rem;
  }
  html[lang=en] .c-list-figure__figure {
    font-size: 1.3rem;
  }
  .c-list-figure__figure:has(+ .c-list-figure__figure), .c-list-figure__figure + .c-list-figure__figure {
    font-size: 1.2rem;
  }
  html[lang=en] .c-list-figure__figure:has(+ .c-list-figure__figure), html[lang^=zh] .c-list-figure__figure:has(+ .c-list-figure__figure), html[lang=en] .c-list-figure__figure + .c-list-figure__figure, html[lang^=zh] .c-list-figure__figure + .c-list-figure__figure {
    font-size: 1rem;
  }
  html[lang=en] .c-list-figure__figure:has(+ .c-list-figure__figure) .c-list-figure__figure__before, html[lang=en] .c-list-figure__figure + .c-list-figure__figure .c-list-figure__figure__before {
    font-size: 1rem;
  }
  .c-list-figure__figure:has(+ .c-list-figure__figure) em, .c-list-figure__figure + .c-list-figure__figure em {
    font-size: 3.4rem;
    letter-spacing: 0.02em;
  }
  html[lang^=zh] .c-list-figure__figure:has(+ .c-list-figure__figure) em, html[lang^=zh] .c-list-figure__figure + .c-list-figure__figure em {
    font-size: 3rem;
  }
  .c-list-figure__figure:has(+ .c-list-figure__figure) .c-list-figure__figure__before, .c-list-figure__figure + .c-list-figure__figure .c-list-figure__figure__before {
    font-size: 1.1rem;
  }
  .c-list-figure__figure em {
    font-size: 4rem;
  }
  html[lang=en] .c-list-figure__figure em {
    font-size: 3.6rem;
  }
  .c-list-figure__figure__before {
    font-size: 1.1rem;
    margin-right: 2px;
  }
  .c-list-figure__image--area-occupy-spOnly {
    flex: 1 1 auto;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .c-list-figure__image--area-occupy-spOnly + .c-list-figure__text {
    flex: 0 1 auto;
  }
  .c-list-figure__image--witPaddingInline-spOnly {
    padding-inline: 20px;
  }
  .c-list-figure__text {
    font-size: 1.2rem;
  }
  .c-list-figure__textSub {
    font-size: 1.05rem;
    line-height: 1.6;
  }
}

/* ----------------------------------------------------------------
  Loading
----------------------------------------------------------------- */
/* .m-loading（絞り込み一覧で使用）
----------------------------------------------- */
.m-loading {
  margin: 72px 0 0;
  text-align: center;
  line-height: 0;
  display: none;
}
.c-lyt-col:has(.m-loading.is-active) ~ .c-filter-endText {
  display: block;
}
.m-loading__bar {
  display: inline-block;
  width: 140px;
  height: 2px;
  background-color: var(--color-light-gray);
  overflow: hidden;
  vertical-align: top;
}
.m-loading__bar > div {
  display: block;
  position: relative;
  height: 100%;
  background-color: #62B0E2;
  -webkit-animation: loadingbar 1.1s infinite;
  animation: loadingBar 1.1s infinite;
}

.fn-ajax-loading.is-active {
  display: block;
}

/* ----------------------------------------------------------------
  Media
----------------------------------------------------------------- */
/* .c-textWithImage（既存）
----------------------------------------------- */
.c-textWithImage {
  margin-top: 108px;
}
.c-textWithImage--bgColored {
  padding: 108px 0 128px;
  background-color: var(--color-bg-base);
}
.c-textWithImage--noImage .c-textWithImage__body {
  width: 100%;
}
.c-textWithImage--float::after {
  content: "";
  display: block;
  clear: both;
}
.c-textWithImage--float > div.m-container {
  display: block;
  column-gap: 0;
}
.c-textWithImage--float > div.m-container--narrow .c-textWithImage__image {
  margin-bottom: 40px;
}
.c-textWithImage--float > div.m-container--narrow .c-textWithImage__image--left {
  padding-right: 40px;
}
.c-textWithImage--float > div.m-container--narrow .c-textWithImage__image--right {
  padding-left: 40px;
}
.c-textWithImage--float .c-textWithImage__image {
  margin-bottom: 67px;
}
.c-textWithImage--float .c-textWithImage__image--left {
  float: left;
  padding-right: 64px;
}
.c-textWithImage--float .c-textWithImage__image--right {
  float: right;
  padding-left: 64px;
}
.c-textWithImage--insights .c-textWithImage__image {
  flex: 1 1 648px;
}
.c-textWithImage--insights .c-textWithImage__body {
  flex: 1 1 648px;
}
.c-textWithImage--adjustImageSize > .m-container {
  gap: 56px !important;
}
.c-textWithImage--adjustImageSize .c-textWithImage__image {
  text-align: center;
  flex: 0 0 auto;
}
.c-textWithImage--adjustImageSize .c-textWithImage__image > img {
  display: unset;
  max-width: 216px;
}
.c-hdg-l2-esg + .c-textWithImage {
  margin-top: 40px;
}
.l-content.l-content--wide .c-textWithImage > .m-container.m-container--narrow {
  gap: 64px;
}
.l-content.l-content--wide .c-textWithImage--float .c-textWithImage__image {
  margin-bottom: 67px;
}
.l-content.l-content--wide .c-textWithImage--float .c-textWithImage__image--left {
  float: left;
  padding-right: 64px;
}
.l-content.l-content--wide .c-textWithImage--float .c-textWithImage__image--right {
  float: right;
  padding-left: 64px;
}
.l-content.l-content--wide .c-textWithImage__image {
  flex: 0 1 fit-content;
  max-width: calc(50% - 32px);
}
.l-content.l-content--wide .c-textWithImage__body {
  flex: 1 1 648px;
}
.c-textWithImage > .m-container {
  display: flex;
  flex-wrap: nowrap;
  gap: 64px;
}
.c-textWithImage > .m-container--narrow {
  gap: 40px;
}
.c-textWithImage > .m-container:has(.c-textWithImage__image--right) {
  flex-direction: row-reverse;
}
.c-textWithImage__image, .c-textWithImage__body {
  box-sizing: border-box;
  min-width: 0;
}
.c-textWithImage__image {
  max-width: 50%;
  flex: 1 1 fit-content;
}
.m-container--narrow > .c-textWithImage__image {
  max-width: 428px;
}
.c-textWithImage__image__captionTitle {
  display: block;
  margin-top: 12px;
  font-size: 2.3rem;
  font-family: var(--font-family-title);
  line-height: 1.8;
  font-weight: var(--font-weight-d);
  letter-spacing: 0.03em;
}
.c-textWithImage__image__captionTitle + .c-textWithImage__image__caption {
  margin-top: 4px;
}
html[lang=en] .c-textWithImage__image__captionTitle {
  font-size: 2.8rem;
  font-weight: var(--font-weight-r);
}
.c-textWithImage__image__caption {
  margin-top: var(--block-xs);
  text-align: left;
}
.c-textWithImage__image--border img {
  border: 1px solid var(--color-border-base);
}
.c-textWithImage__image img {
  display: block;
  max-width: 100%;
  height: auto;
  margin-inline: auto;
}
.c-textWithImage__body {
  flex: 1 1 648px;
}
.m-container--narrow > .c-textWithImage__body {
  flex: 1 1 428px;
}
.c-textWithImage__body > *:first-child {
  margin-top: 0;
}
.c-textWithImage__body > * {
  margin-top: 24px;
}
.c-textWithImage__body .m-hdgMd:has(+ .c-textWithImage__subTitle) {
  margin-bottom: 0;
}
.c-textWithImage__titleGroup {
  margin-bottom: 24px;
}
.c-textWithImage__titleGroup + div {
  margin-top: 0;
}
.c-textWithImage__title {
  font-family: var(--font-family-title);
  font-size: 2.3rem;
  font-weight: var(--font-weight-d);
  color: var(--color-font);
  letter-spacing: 0.05em;
  line-height: 1.8;
}
.c-textWithImage__title--en {
  font-family: var(--font-family-en);
  font-size: 2.6rem;
}
.c-textWithImage__title + .c-text {
  margin-top: 24px;
}
html[lang=en] .c-textWithImage__title {
  font-weight: var(--font-weight-r);
}
.c-textWithImage__subTitle {
  margin-top: 8px;
  font-family: var(--font-family-title);
  font-size: 1.4rem;
  color: var(--color-font-sub);
  line-height: 1.5;
  letter-spacing: 0.03em;
}
.c-textWithImage__subTitle--en {
  font-family: var(--font-family-en);
  font-size: 2.6rem;
}
html[lang=en] .c-textWithImage__subTitle {
  font-size: 1.6rem;
}
@media only screen and (max-width: 1199px) {
  .c-textWithImage--esg .c-list-link-menu.-col2-pc .c-list-link-menu__inner {
    grid-template-columns: 1fr;
  }
}
@media only screen and (max-width: 896px) {
  .c-textWithImage--insights .c-textWithImage__image, .c-textWithImage--esg .c-textWithImage__image {
    flex: 1 1 auto !important;
    max-width: 100%;
    text-align: center;
    display: flex;
    justify-content: center;
  }
  .c-textWithImage--insights .c-textWithImage__body, .c-textWithImage--esg .c-textWithImage__body {
    flex: 1 1 auto !important;
    width: auto;
  }
  .c-textWithImage--insights > .m-container, .c-textWithImage--esg > .m-container {
    flex-direction: column;
    gap: 32px;
  }
  .c-textWithImage--insights > .m-container:has(.c-textWithImage__image--right), .c-textWithImage--esg > .m-container:has(.c-textWithImage__image--right) {
    flex-direction: column;
  }
}
@media only screen and (max-width: 750px) {
  .c-textWithImage {
    margin-top: 64px;
  }
  .c-textWithImage--bgColored {
    padding: 64px 0 72px;
  }
  .c-textWithImage--float > div.m-container {
    display: flex;
    flex-direction: column;
    gap: 32px;
  }
  .c-textWithImage--float > div.m-container--narrow .c-textWithImage__image {
    margin-bottom: 0;
    max-width: fit-content;
    margin-inline: auto;
  }
  .c-textWithImage--float > div.m-container--narrow .c-textWithImage__image--left {
    padding-right: 0;
  }
  .c-textWithImage--float > div.m-container--narrow .c-textWithImage__image--right {
    padding-left: 0;
  }
  .c-textWithImage--float .c-textWithImage__image {
    margin-bottom: 0;
  }
  .c-textWithImage--float .c-textWithImage__image--left {
    padding-right: 0px;
  }
  .c-textWithImage--float .c-textWithImage__image--right {
    padding-left: 0px;
  }
  .c-textWithImage--adjustImageSize > .m-container {
    gap: 32px !important;
  }
  .c-textWithImage--adjustImageSize .c-textWithImage__image > img {
    max-width: 162px;
  }
  .c-hdg-l2-esg + .c-textWithImage {
    margin-top: 28px;
  }
  .l-content.l-content--wide .c-textWithImage > .m-container.m-container--narrow {
    gap: 32px;
  }
  .l-content.l-content--wide .c-textWithImage--float .c-textWithImage__image {
    margin-bottom: 0;
    max-width: fit-content;
    margin-inline: auto;
  }
  .l-content.l-content--wide .c-textWithImage--float .c-textWithImage__image--left {
    padding-right: 0px;
  }
  .l-content.l-content--wide .c-textWithImage--float .c-textWithImage__image--right {
    padding-left: 0px;
  }
  .l-content.l-content--wide .c-textWithImage__image {
    flex: 0 1 auto;
    max-width: 100%;
  }
  .l-content.l-content--wide .c-textWithImage__body {
    flex: 0 1 auto;
  }
  .c-textWithImage > .m-container {
    flex-direction: column;
    gap: 32px;
  }
  .c-textWithImage > .m-container:has(.c-textWithImage__image--right) {
    flex-direction: column;
  }
  .c-textWithImage > .m-container:has(.c-textWithImage__image--bottom-sp) {
    flex-direction: column-reverse;
  }
  .c-textWithImage__image {
    text-align: center;
    max-width: fit-content;
    margin-inline: auto;
  }
  .c-textWithImage__image--left, .c-textWithImage__image--right, .c-textWithImage__image--left + .c-textWithImage__body, .c-textWithImage__image--right + .c-textWithImage__body {
    float: none;
    padding: 0;
  }
  .c-textWithImage__image__captionTitle {
    font-size: 2rem;
  }
  html[lang=en] .c-textWithImage__image__captionTitle {
    font-size: 2.3rem;
  }
  .c-textWithImage__image .c-textWithImage__body {
    width: auto;
  }
  .c-textWithImage__image__linkBtn {
    margin-top: 15px;
  }
  .c-textWithImage__body {
    flex: 0 1 auto;
  }
  .m-container--narrow > .c-textWithImage__body {
    flex: 0 1 auto;
  }
  .c-textWithImage__body > .c-textWithImage__subTitle {
    margin-top: 8px;
  }
  .c-textWithImage__hdg {
    font-size: 1.9rem;
  }
  .c-textWithImage__hdg--en {
    font-size: 2.1rem;
  }
  .c-textWithImage__body > * {
    margin-top: 16px;
  }
  .c-textWithImage__titleGroup {
    margin-bottom: 16px;
  }
  .c-textWithImage__titleGroup + * {
    margin-top: 0;
  }
  .c-textWithImage__title {
    font-size: 1.9rem;
  }
}

/* .c-textWithImage-float（回り込みあり）
----------------------------------------------- */
.c-textWithImage-float {
  margin-top: 80px;
}
.c-textWithImage-float--bgColored {
  padding: 108px 0 128px;
  background-color: var(--color-bg-base);
}
.c-textWithImage-float--noImage .c-textWithImage__body {
  width: 100%;
}
.c-textWithImage-float--mv .c-textWithImage-float__image {
  max-width: 68.23%;
  margin-bottom: 6px;
  float: left;
  padding-right: 64px;
}
.c-textWithImage-float--mv .c-textWithImage-float__image img {
  width: 100%;
  height: auto;
}
.c-textWithImage-float::after {
  content: "";
  display: block;
  clear: both;
}
.c-textWithImage-float__image, .c-textWithImage-float__body {
  box-sizing: border-box;
}
.c-textWithImage-float__image .m-wysiwyg, .c-textWithImage-float__body .m-wysiwyg {
  font-family: var(--font-family-body);
  font-size: 1.7rem;
  font-style: normal;
  font-weight: var(--font-weight-r);
  line-height: 2.2;
}
html[lang=en] .c-textWithImage-float__image .m-wysiwyg, html[lang=en] .c-textWithImage-float__body .m-wysiwyg {
  font-size: 2rem;
}
.c-textWithImage-float__image {
  max-width: calc(50% + 32px);
  margin-bottom: 67px;
}
.c-textWithImage-float__image--left {
  float: left;
  padding-right: 64px;
}
.c-textWithImage-float__image--right {
  float: right;
  padding-left: 64px;
}
.c-textWithImage-float__image__caption {
  margin-top: var(--block-xs);
  text-align: left;
}
.c-textWithImage-float__image img {
  width: 100%;
  height: auto;
}
.c-textWithImage-float__body > *:first-child {
  margin-top: 0;
}
.c-textWithImage-float__body > * {
  margin-top: 24px;
}
.c-textWithImage-float__titleGroup {
  margin-bottom: 24px;
}
.c-textWithImage-float__titleGroup + * {
  margin-top: 0;
}
.c-textWithImage-float__title {
  font-family: var(--font-family-title);
  font-size: 2.3rem;
  font-weight: var(--font-weight-d);
  line-height: 1.8;
  letter-spacing: 0.05em;
}
.c-textWithImage-float__title > .m-hdgMd,
.c-textWithImage-float__title > .m-hdgSm {
  margin-top: 0;
  margin-bottom: 0;
}
html[lang=en] .c-textWithImage-float__title {
  font-weight: var(--font-weight-r);
}
.c-textWithImage-float__linkBtn {
  margin-top: var(--block-md);
}
@media only screen and (max-width: 750px) {
  .c-textWithImage-float {
    margin-top: 56px;
  }
  .c-textWithImage-float > .m-container {
    display: grid;
    grid-template-areas: "title" "text" "image";
  }
  .c-textWithImage-float > .m-container:has(.c-textWithImage-float__image--top-sp) {
    grid-template-areas: "title" "image" "text";
    gap: 0;
  }
  .c-textWithImage-float > .m-container:has(.c-textWithImage-float__image--top-sp) .c-textWithImage-float__titleGroup {
    margin-bottom: 24px;
  }
  .c-textWithImage-float > .m-container:has(.c-textWithImage-float__image--top-sp) .c-textWithImage-float__image {
    margin-top: 0;
  }
  .c-textWithImage-float > .m-container:has(.c-textWithImage-float__image--top-sp) .m-wysiwyg {
    margin-top: 24px;
  }
  .c-textWithImage-float--bgColored {
    padding: 64px 0 72px;
  }
  .c-textWithImage-float--mv > .m-container {
    grid-template-areas: "image" "text";
  }
  .c-textWithImage-float--mv .c-textWithImage-float__body > .m-wysiwyg:first-child {
    margin-top: 32px;
  }
  .c-textWithImage-float--mv .c-textWithImage-float__image {
    max-width: 100vw;
    margin-block: 0;
    margin-inline: calc(-1 * (var(--gutter-content-sp)));
    padding: 0;
  }
  .c-textWithImage-float--mv .c-textWithImage-float__image img {
    width: 100%;
    height: auto;
  }
  .c-textWithImage-float__image {
    grid-area: image;
    max-width: 100%;
    margin: 0;
  }
  .c-textWithImage-float__image--left, .c-textWithImage-float__image--right, .c-textWithImage-float__image--left + .c-textWithImage__body, .c-textWithImage-float__image--right + .c-textWithImage__body {
    float: none;
    padding: 0;
    margin-top: 32px;
  }
  .c-textWithImage-float__image .c-textWithImage__body {
    width: auto;
  }
  .c-textWithImage-float__image__linkBtn {
    margin-top: 15px;
  }
  .c-textWithImage-float__body {
    display: contents;
  }
  .c-textWithImage-float__body > * {
    margin-top: 16px;
  }
  .c-textWithImage-float__body .m-wysiwyg {
    grid-area: text;
    font-size: 1.6rem;
  }
  html[lang=en] .c-textWithImage-float__body .m-wysiwyg {
    font-size: 1.8rem;
  }
  .c-textWithImage-float__titleGroup {
    margin-bottom: 16px;
  }
  .c-textWithImage-float__titleGroup + * {
    margin-top: 0;
  }
  .c-textWithImage-float__title {
    grid-area: title;
    margin-bottom: 0;
    font-size: 1.9rem;
  }
}

/* c-imageCentered（既存）
----------------------------------------------- */
.c-imageCentered {
  margin-top: var(--block-2xl);
  text-align: center;
}
.c-hdg-l3-02 + .c-imageCentered {
  margin-top: 24px;
}
.c-imageCentered__image {
  display: inline-block;
  max-width: 100%;
  vertical-align: top;
}
.c-imageCentered__image img {
  max-width: 100%;
  height: auto;
}
.c-imageCentered__image__caption {
  margin-top: var(--block-xs);
  text-align: left;
}
@media only screen and (max-width: 750px) {
  .c-hdg-l3-02 + .c-imageCentered {
    margin-top: 16px;
  }
}

/* .c-media-lyt-author ｜e.g. INSIGHTS詳細
----------------------------------------------- */
.c-media-lyt-author + .c-media-lyt-author {
  margin-top: 64px;
}
.c-media-lyt-author__inner {
  display: flex;
  flex-wrap: nowrap;
  flex-direction: row-reverse;
  gap: 48px;
}
.c-media-lyt-author__link {
  display: block;
  border: 0;
}
.c-media-lyt-author__link:hover .c-media-lyt-author__image::before, .c-media-lyt-author__link:active .c-media-lyt-author__image::before, .c-media-lyt-author__link:focus-visible .c-media-lyt-author__image::before {
  opacity: 1;
}
.c-media-lyt-author__link:hover .c-media-lyt-author__hdg,
.c-media-lyt-author__link:hover .c-media-lyt-author__post, .c-media-lyt-author__link:active .c-media-lyt-author__hdg,
.c-media-lyt-author__link:active .c-media-lyt-author__post, .c-media-lyt-author__link:focus-visible .c-media-lyt-author__hdg,
.c-media-lyt-author__link:focus-visible .c-media-lyt-author__post {
  color: var(--color-link);
  transition: color 0.2s;
}
.c-media-lyt-author__link:hover .c-media-lyt-author__desc, .c-media-lyt-author__link:active .c-media-lyt-author__desc, .c-media-lyt-author__link:focus-visible .c-media-lyt-author__desc {
  color: var(--color-font);
}
.c-media-lyt-author__image {
  margin-top: 8px;
  display: inline-block;
  width: 240px;
  position: relative;
}
.c-media-lyt-author__image::before {
  display: block;
  content: "";
  position: absolute;
  opacity: 0;
  left: 0;
  top: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background-color: rgba(98, 176, 226, 0.4);
  transition: opacity 0.2s;
}
.c-media-lyt-author__image img {
  max-width: 100%;
  height: auto;
}
.c-media-lyt-author__image__caption {
  margin-top: var(--block-xs);
  text-align: left;
}
.c-media-lyt-author__content {
  flex: 1 1 auto;
}
.c-media-lyt-author__hdg {
  font-size: 2.6rem;
  font-family: var(--font-family-title);
  line-height: 1.8;
  letter-spacing: 0.03em;
  color: var(--color-font);
}
html[lang=en] .c-media-lyt-author__hdg {
  font-size: 3.3rem;
  font-weight: var(--font-weight-r);
}
.c-media-lyt-author__post {
  font-size: 1.5rem;
  line-height: 1.8;
  color: var(--color-font-sub);
  letter-spacing: 0.06em;
}
.c-media-lyt-author__post--en {
  font-family: var(--font-family-en);
}
html[lang=en] .c-media-lyt-author__post {
  font-size: 1.72rem;
}
.c-media-lyt-author__desc {
  margin-top: 24px;
  font-size: 1.5rem;
  font-family: var(--font-family-body);
  line-height: 2;
  color: var(--color-font);
}
html[lang=en] .c-media-lyt-author__desc {
  font-size: 1.7rem;
}
@media only screen and (max-width: 750px) {
  .c-media-lyt-author + .c-media-lyt-author {
    margin-top: 48px;
  }
  .c-media-lyt-author__inner {
    flex-wrap: wrap;
    flex-direction: column-reverse;
    gap: 28px;
  }
  .c-media-lyt-author__item {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .c-media-lyt-author__image {
    margin-top: 0;
    width: 160px;
  }
  .c-media-lyt-author__hdg {
    font-size: 2.3rem;
  }
  html[lang=en] .c-media-lyt-author__hdg {
    font-size: 2rem;
  }
  .c-media-lyt-author__post {
    font-size: 1.4rem;
  }
  html[lang=en] .c-media-lyt-author__post {
    font-size: 1.6rem;
  }
  .c-media-lyt-author__desc {
    margin-top: 20px;
    font-size: 1.4rem;
  }
  html[lang=en] .c-media-lyt-author__desc {
    font-size: 1.6rem;
  }
}

/* .c-media-lyt-about ｜e.g. ABOUTトップ
----------------------------------------------- */
.c-media-lyt-about__inner {
  display: flex;
  flex-wrap: nowrap;
  flex-direction: row;
  gap: 56px;
}
.c-media-lyt-about__content {
  flex: 1 1 50%;
}
.c-media-lyt-about__content > *:first-child {
  margin-top: 0;
}
.c-media-lyt-about__item {
  max-width: 310px;
  flex: 1 1 50%;
}
.c-media-lyt-about__image {
  margin-top: 8px;
  display: inline-block;
  width: 100%;
}
.c-media-lyt-about__image img {
  max-width: 100%;
  height: auto;
}
.c-media-lyt-about__image__caption {
  margin-top: var(--block-xs);
  text-align: left;
}
.c-media-lyt-about__hdg {
  margin-top: 12px;
  font-size: 2.3rem;
  font-family: var(--font-family-title);
  line-height: 1.8;
  font-weight: var(--font-weight-d);
  letter-spacing: 0.03em;
}
html[lang=en] .c-media-lyt-about__hdg {
  font-weight: var(--font-weight-r);
}
.c-media-lyt-about__post {
  margin-top: 4px;
  font-size: 1.4rem;
  line-height: 1.8;
  color: var(--color-font-sub);
  letter-spacing: 0;
  font-family: var(--font-family-body);
}
.c-media-lyt-about__desc {
  margin-top: 24px;
  font-size: 1.7rem;
  font-family: var(--font-family-body);
  line-height: 2.2;
}
html[lang=en] .c-media-lyt-about__desc {
  font-size: 2rem;
}
@media only screen and (max-width: 750px) {
  .c-media-lyt-about__inner {
    flex-wrap: wrap;
    flex-direction: column;
    gap: 32px;
  }
  .c-media-lyt-about__item {
    display: flex;
    flex-direction: column;
    align-self: center;
  }
  .c-media-lyt-about__image {
    margin: 0 auto;
    max-width: 254px;
    width: 100%;
  }
  .c-media-lyt-about__hdg {
    font-size: 2rem;
  }
  .c-media-lyt-about__post {
    font-size: 1.4rem;
  }
  .c-media-lyt-about__desc {
    margin-top: 20px;
    font-size: 1.6rem;
  }
  html[lang=en] .c-media-lyt-about__desc {
    font-size: 1.8rem;
  }
}

/* .c-media-lyt-box ｜e.g. CONTACT詳細
----------------------------------------------- */
.c-media-lyt-box {
  margin-top: var(--block-2xl);
}
.c-media-lyt-box--float .c-media-lyt-box__inner {
  display: block;
}
.c-media-lyt-box--float .c-media-lyt-box__item {
  float: right;
  margin: 0 0 28px 56px;
}
.c-media-lyt-box__inner {
  border: 1px solid var(--color-border-base);
  display: flex;
  flex-wrap: nowrap;
  flex-direction: row;
  gap: 56px;
  padding: 56px;
}
.c-media-lyt-box__inner::after {
  content: "";
  display: block;
  clear: both;
}
.c-media-lyt-box__content {
  flex: 1 1 auto;
}
.c-media-lyt-box__content > *:first-child {
  margin-top: 0;
}
.c-media-lyt-box__item {
  max-width: 240px;
}
.c-media-lyt-box__image {
  margin-top: 8px;
  display: inline-block;
  width: 240px;
}
.c-media-lyt-box__image img {
  max-width: 100%;
  height: auto;
}
.c-media-lyt-box__image__caption {
  margin-top: var(--block-xs);
  text-align: left;
}
.c-media-lyt-box__hdg {
  margin-top: 12px;
  font-size: 2.3rem;
  font-family: var(--font-family-title);
  line-height: 1.8;
  font-weight: var(--font-weight-d);
  letter-spacing: 0.03em;
}
html[lang=en] .c-media-lyt-box__hdg {
  font-size: 2.3rem;
  font-weight: var(--font-weight-r);
}
.c-media-lyt-box__post {
  margin-top: 4px;
  font-size: 1.4rem;
  line-height: 1.6;
  color: var(--color-font-sub);
  letter-spacing: 0;
  font-family: var(--font-family-body);
}
.c-media-lyt-box__desc {
  margin-top: 24px;
  font-size: 1.7rem;
  font-family: var(--font-family-body);
  line-height: 2;
}
html[lang=en] .c-media-lyt-box__desc {
  font-size: 2rem;
}
@media only screen and (max-width: 750px) {
  .c-media-lyt-box--float .c-media-lyt-box__inner {
    display: flex;
  }
  .c-media-lyt-box--float .c-media-lyt-box__item {
    float: unset;
    margin: 0;
  }
  .c-media-lyt-box__inner {
    flex-wrap: wrap;
    flex-direction: column;
    gap: 32px;
    padding: 28px;
  }
  .c-media-lyt-box__item {
    display: flex;
    flex-direction: column;
    align-self: center;
    max-width: 254px;
  }
  .c-media-lyt-box__image {
    margin: 0 auto;
    width: 100%;
  }
  .c-media-lyt-box__hdg {
    font-size: 2rem;
  }
  .c-media-lyt-box__post {
    font-size: 1.4rem;
  }
  .c-media-lyt-box__desc {
    margin-top: 20px;
    font-size: 1.6rem;
  }
  html[lang=en] .c-media-lyt-box__desc {
    font-size: 1.8rem;
  }
}

/* .c-media-lyt-people ｜e.g. PEOPLE詳細
----------------------------------------------- */
.c-media-lyt-people__inner {
  display: flex;
  flex-wrap: nowrap;
  flex-direction: row-reverse;
  gap: 64px;
}
.c-media-lyt-people__item {
  max-width: 544px;
  width: 100%;
  flex: 1 1 auto;
}
.c-media-lyt-people__image {
  display: inline-block;
}
.c-media-lyt-people__image img {
  max-width: 100%;
  height: auto;
}
.c-media-lyt-people__image__caption {
  margin-top: var(--block-xs);
  text-align: left;
}
.c-media-lyt-people__content {
  flex: 1 1 100%;
}
.c-media-lyt-people__hdg {
  display: flex;
  flex-direction: column;
}
.c-media-lyt-people__hdg > .name {
  order: 2;
  margin-top: 12px;
  font-size: 3.8rem;
  font-family: var(--font-family-title);
  font-weight: var(--font-weight-d);
  line-height: 1.8;
  letter-spacing: 0.03em;
}
html[lang=en] .c-media-lyt-people__hdg > .name {
  font-size: 4rem;
  font-weight: var(--font-weight-r);
}
.c-media-lyt-people__hdg > .job {
  order: 1;
}
.c-media-lyt-people__hdg > .job .m-label-02 > span {
  padding-right: 40px;
}
.c-media-lyt-people__hdg > .job .m-label-02 > span::before {
  width: 32px;
}
.c-media-lyt-people__hdg > .post {
  order: 3;
  margin-top: 8px;
  font-size: 1.7rem;
  line-height: 1.8;
}
html[lang=en] .c-media-lyt-people__hdg > .post {
  color: var(--color-font-sub);
  font-size: 2rem;
}
.c-media-lyt-people__post {
  font-size: 1.9rem;
  line-height: 1.8;
  color: var(--color-font-sub);
  letter-spacing: 0.06em;
}
.c-media-lyt-people__post--en {
  font-family: var(--font-family-en);
}
.c-media-lyt-people__desc {
  margin-top: 40px;
  font-size: 1.7rem;
  font-family: var(--font-family-body);
  line-height: 2.2;
}
html[lang=en] .c-media-lyt-people__desc {
  font-size: 2rem;
}
.c-media-lyt-people__services {
  margin-top: 48px;
}
.c-media-lyt-people__servicesTitle {
  font-size: 1.6rem;
}
.c-media-lyt-people__servicesTitle--en {
  font-family: var(--font-family-en);
}
.c-media-lyt-people__servicesLabelList {
  margin-top: 12px;
}
.c-media-lyt-people__servicesLabelList + .clamp-fade + .clamp-toggle {
  position: relative;
}
.c-media-lyt-people__servicesLabelList + .clamp-fade + .clamp-toggle::before {
  display: block;
  content: "";
  position: absolute;
  width: 148px;
  height: 1px;
  background-color: rgba(0, 0, 0, 0.13);
  top: 50%;
}
.c-media-lyt-people__servicesLabelListInner {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 4px;
}
.c-media-lyt-people__servicesLabelListItem {
  display: flex;
}
.c-media-lyt-people__servicesLabelListItem a {
  display: inline-flex;
  border: 1px solid var(--color-dark);
  border-radius: 12.5px;
  text-decoration: none;
  padding: 4px 12px 3px;
  background-color: var(--color-white);
  color: var(--color-font-sub);
  font-family: var(--font-family-title);
  line-height: 1.4;
  font-size: 12px;
  letter-spacing: 0.03em;
  transition: color 0.2s, border 0.2s;
}
.c-media-lyt-people__servicesLabelListItem a:hover, .c-media-lyt-people__servicesLabelListItem a:active, .c-media-lyt-people__servicesLabelListItem a:focus-visible {
  color: var(--color-main);
  border: 1px solid var(--color-main);
}
.c-media-lyt-people__servicesList {
  margin-top: 12px;
}
.c-media-lyt-people__servicesListInner {
  display: grid;
  row-gap: 6px;
  text-align: left;
}
.c-media-lyt-people__servicesListItem {
  position: relative;
  padding-left: 11px;
}
.c-media-lyt-people__servicesListItem::before {
  display: block;
  content: "";
  position: absolute;
  top: 0.8em;
  left: 0;
  width: 3px;
  height: 3px;
  background-color: var(--color-dark);
  border-radius: 50%;
}
.c-media-lyt-people__servicesListText {
  color: var(--color-font-sub);
  font-family: var(--font-family-title);
  line-height: 1.6;
  font-size: 12px;
  letter-spacing: 0.03em;
}
@media only screen and (max-width: 750px) {
  .c-media-lyt-people > .m-container {
    padding: 0;
  }
  .c-media-lyt-people__inner {
    flex-wrap: wrap;
    flex-direction: column-reverse;
    gap: 32px;
  }
  .c-media-lyt-people__content {
    padding: 0 var(--gutter-content-sp);
  }
  .c-media-lyt-people__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    overflow: hidden;
    max-width: 100%;
  }
  .c-media-lyt-people__image {
    margin: 0 calc(50% - 50vw);
    width: 100vw;
  }
  .c-media-lyt-people__hdg {
    display: flex;
    flex-direction: column;
  }
  .c-media-lyt-people__hdg > .name {
    font-size: 2.6rem;
  }
  html[lang=en] .c-media-lyt-people__hdg > .name {
    font-size: 2.8rem;
  }
  .c-media-lyt-people__hdg > .job {
    font-size: 1.3rem;
  }
  .c-media-lyt-people__hdg > .job .m-label-02 > span {
    padding-right: 32px;
  }
  .c-media-lyt-people__hdg > .job .m-label-02 > span::before {
    width: 24px;
  }
  .c-media-lyt-people__hdg > .post {
    font-size: 1.6rem;
  }
  html[lang=en] .c-media-lyt-people__hdg > .post {
    font-size: 1.8rem;
  }
  .c-media-lyt-people__desc {
    margin-top: 32px;
    font-size: 1.6rem;
  }
  html[lang=en] .c-media-lyt-people__desc {
    font-size: 1.8rem;
  }
  .c-media-lyt-people__services {
    margin-top: 40px;
    width: 100%;
  }
  .c-media-lyt-people__servicesTitle {
    letter-spacing: 0.06em;
  }
  .c-media-lyt-people__servicesLabelList + .clamp-fade + .clamp-toggle::before {
    width: calc(100% - 84px);
  }
}

/* .l-article-info
----------------------------------------------- */
.l-article-info {
  margin-top: var(--block-md);
}
.l-article-infoTitle {
  font-size: 1.6rem;
}
.l-article-infoTitle--en {
  font-family: var(--font-family-en);
}
.l-article-infoLabelList {
  margin-top: 12px;
}
.l-article-infoLabelList + .clamp-fade + .clamp-toggle {
  position: relative;
}
.l-article-infoLabelList + .clamp-fade + .clamp-toggle::before {
  display: block;
  content: "";
  position: absolute;
  width: 148px;
  height: 1px;
  background-color: rgba(0, 0, 0, 0.13);
  top: 50%;
}
.l-article-infoLabelListInner {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 4px;
}
.l-article-infoLabelListItem {
  display: flex;
}
.l-article-infoLabelListItem a {
  display: inline-flex;
  border: 1px solid var(--color-dark);
  border-radius: 12.5px;
  text-decoration: none;
  padding: 4px 12px 3px;
  background-color: var(--color-white);
  color: var(--color-font-sub);
  font-family: var(--font-family-title);
  line-height: 1.4;
  font-size: 12px;
  letter-spacing: 0.03em;
  transition: color 0.2s, border 0.2s;
}
.l-article-infoLabelListItem a:hover, .l-article-infoLabelListItem a:active, .l-article-infoLabelListItem a:focus-visible {
  color: var(--color-main);
  border: 1px solid var(--color-main);
}
.l-article-infoList {
  margin-top: 12px;
}
.l-article-infoListInner {
  display: grid;
  row-gap: 6px;
  text-align: left;
}
.l-article-infoListItem {
  position: relative;
  padding-left: 11px;
}
.l-article-infoListItem::before {
  display: block;
  content: "";
  position: absolute;
  top: 0.8em;
  left: 0;
  width: 3px;
  height: 3px;
  background-color: var(--color-dark);
  border-radius: 50%;
}
.l-article-infoListText {
  color: var(--color-font-sub);
  font-family: var(--font-family-title);
  line-height: 1.6;
  font-size: 12px;
  letter-spacing: 0.03em;
}
@media only screen and (max-width: 750px) {
  .l-article-info {
    width: 100%;
  }
  .l-article-infoLabelList + .clamp-fade + .clamp-toggle::before {
    width: calc(100% - 84px);
  }
}

/* .m-caption（既存）
----------------------------------------------- */
.m-caption {
  display: block;
  color: var(--color-font);
  font-family: var(--font-family-body);
  font-size: 1.5rem;
  line-height: 1.6;
}
@media only screen and (max-width: 750px) {
  .m-caption {
    font-size: 1.4rem;
    line-height: 1.5;
  }
}

/* .c-image2col（既存）｜e.g. ESG 詳細
----------------------------------------------- */
.c-image2col {
  margin-top: var(--block-2xl);
}
.c-image2col + .c-image2col {
  margin-top: 80px;
}
.c-hdg-l3-02 + .c-image2col {
  margin-top: 24px;
}
.c-image2col__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 72px 32px;
}
.c-image2col__list__item {
  display: inline-block;
}
.c-image2col__list__item > .c-hdg-l4 {
  margin-top: 0;
}
.c-image2col__list__item__image img {
  width: 100%;
  height: auto;
}
.c-image2col__list__item__image + .c-text {
  margin-top: var(--block-md);
}
.c-image2col__list__item__image__caption {
  margin-top: var(--block-xs);
  font-size: 1.5rem;
  line-height: 1.6;
}
.c-image2col__list__item__image__caption a {
  color: var(--color-main);
  border-color: var(--color-main);
  transition: color 0.2s, border 0.2s;
}
@media only screen and (max-width: 750px) {
  .c-image2col + .c-image2col {
    margin-top: 48px;
  }
  .c-hdg-l3-02 + .c-image2col {
    margin-top: 16px;
  }
  .c-image2col__list {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .c-image2col__list:has(.c-hdg-l4) {
    gap: 48px;
  }
  .c-image2col__list__item__image__caption {
    margin-top: 1.4rem;
  }
}

/* .c-imageFull（既存モジュール）
----------------------------------------------- */
.c-imageFull {
  margin-top: 108px;
}
.l-content.l-content--wide .c-imageFull .c-imageFull__image__caption {
  max-width: 1360px;
}
.c-imageFull__image {
  text-align: center;
}
.c-imageFull__image > img {
  width: 100%;
}
.c-imageFull__image__caption {
  margin: var(--block-xs) auto 0;
  width: 85%;
  max-width: 896px;
  text-align: left;
  color: var(--color-font);
  font-size: 1.5rem;
}
@media only screen and (max-width: 750px) {
  .c-imageFull {
    margin-top: 64px;
  }
  .c-imageFull__image__caption {
    padding: 0 var(--gutter-content-sp);
    width: auto;
    font-size: 1.4rem;
  }
}

/* .c-imageFull2col（既存モジュール）
----------------------------------------------- */
.c-imageFull2col {
  margin-top: 108px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
}
.l-content.l-content--wide .c-imageFull2col {
  gap: 64px;
}
.l-content.l-content--wide .c-imageFull2col .c-imageFull2col__item__image__caption {
  max-width: 648px;
}
.c-imageFull2col__item--left .c-imageFull2col__item__image__caption, .c-imageFull2col__item--right .c-imageFull2col__item__image__caption {
  width: calc(100% - 7.5vw);
  max-width: 432px;
}
.c-imageFull2col__item--left .c-imageFull2col__item__image__caption {
  display: flex;
  justify-self: flex-end;
  margin-right: 0;
}
.c-imageFull2col__item--right .c-imageFull2col__item__image__caption {
  margin-left: 0;
}
.c-imageFull2col__item__image {
  text-align: center;
}
.c-imageFull2col__item__image > img {
  width: 100%;
}
.c-imageFull2col__item__image__caption {
  margin: var(--block-xs) auto 0;
  text-align: left;
  color: var(--color-font);
  font-size: 1.5rem;
}
@media only screen and (max-width: 750px) {
  .c-imageFull2col {
    margin-top: 64px;
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .l-content.l-content--wide .c-imageFull2col {
    gap: 40px;
  }
  .l-content.l-content--wide .c-imageFull2col .c-imageFull2col__item__image__caption {
    max-width: 100%;
  }
  .c-imageFull2col__item--left .c-imageFull2col__item__image__caption {
    width: 100%;
    max-width: 100%;
  }
  .c-imageFull2col__item--right .c-imageFull2col__item__image__caption {
    width: 100%;
    max-width: 100%;
  }
  .c-imageFull2col__item__image__caption {
    padding: 0 var(--gutter-content-sp);
    width: auto;
    font-size: 1.4rem;
  }
}

/* .c-textWithImageFull
----------------------------------------------- */
.c-textWithImageFull {
  position: relative;
  margin-block: 108px 0;
  display: flex;
  flex-wrap: wrap;
}
.l-content.l-content--wide .c-textWithImageFull .c-textWithImageFull__textArea__inner {
  max-width: 680px;
}
.c-textWithImageFull--imageLeft .c-textWithImageFull__image {
  left: 0;
}
.c-textWithImageFull--imageRight .c-textWithImageFull__image {
  order: 2;
  right: 0;
}
.c-textWithImageFull--imageRight .c-textWithImageFull__textArea {
  order: 1;
  display: flex;
  justify-content: flex-end;
  right: 0;
  padding: 108px 0 108px 108px;
}
.c-textWithImageFull--imageRight .c-textWithImageFull__textArea__inner {
  padding-left: 0;
  padding-right: 108px;
}
.c-textWithImageFull--imageRight .c-textWithImageFull__caption {
  order: 3;
  padding: 0;
  display: flex;
  justify-content: end;
  width: 100%;
}
.c-textWithImageFull--imageRight .c-textWithImageFull__caption > span {
  display: block;
  width: 50%;
  padding-right: 40px;
  text-align: right;
}
.c-textWithImageFull__image {
  width: 50%;
  top: 0;
  background-position: 50%;
  background-size: cover;
  aspect-ratio: 16/9;
}
.c-textWithImageFull__caption {
  margin-top: var(--block-xs);
  position: relative;
  width: 50%;
  padding-left: 40px;
  font-size: 1.5rem;
}
.c-textWithImageFull__textArea {
  width: 50%;
  padding: 108px 108px 108px 0;
  font-size: 1.6rem;
  background-color: var(--color-bg-base);
}
.c-textWithImageFull__textArea::after {
  content: "";
  display: block;
  clear: both;
}
.c-textWithImageFull__textArea__inner {
  max-width: 448px;
  padding-left: 108px;
}
.c-textWithImageFull__textArea__inner > *:first-child {
  margin-top: 0;
}
.c-textWithImageFull__textArea__linkBtn {
  margin-top: var(--block-md);
}
@media only screen and (max-width: 1199px) {
  .c-textWithImageFull__textArea {
    padding-right: clamp(56px, 11.607vw - 31.2px, 108px);
  }
  .c-textWithImageFull__textArea__inner {
    padding-left: clamp(56px, 11.607vw - 31.2px, 108px);
  }
  .c-textWithImageFull--imageRight .c-textWithImageFull__textArea {
    padding-left: clamp(56px, 11.607vw - 31.2px, 108px);
  }
  .c-textWithImageFull--imageRight .c-textWithImageFull__textArea__inner {
    padding-right: clamp(56px, 11.607vw - 31.2px, 108px);
  }
}
@media only screen and (max-width: 750px) {
  .c-textWithImageFull {
    margin-block: 64px 0;
  }
  .l-content.l-content--wide .c-textWithImageFull .c-textWithImageFull__textArea__inner {
    max-width: 100%;
  }
  .c-textWithImageFull--imageLeft .c-textWithImageFull__textArea {
    margin-inline: 0;
  }
  .c-textWithImageFull--imageRight .c-textWithImageFull__image {
    order: 1;
  }
  .c-textWithImageFull--imageRight .c-textWithImageFull__textArea {
    margin-inline: 0;
    order: 3;
    padding: 0 var(--gutter-content-sp);
    width: 100%;
    justify-content: start;
  }
  .c-textWithImageFull--imageRight .c-textWithImageFull__textArea__inner {
    padding-inline: 0;
    width: 100%;
  }
  .c-textWithImageFull--imageRight .c-textWithImageFull__caption {
    order: 2;
    justify-content: start;
    padding: var(--block-xs) var(--gutter-content-sp) 0;
  }
  .c-textWithImageFull--imageRight .c-textWithImageFull__caption > span {
    padding: 0;
    width: 100%;
    text-align: left;
  }
  .c-textWithImageFull__image {
    order: 1;
    width: 100%;
    position: static;
  }
  .c-textWithImageFull__caption {
    order: 2;
    width: 100%;
    margin-top: 0;
    padding: var(--block-xs) var(--gutter-content-sp) 0;
    background-color: var(--color-bg-base);
    font-size: 1.4rem;
  }
  .c-textWithImageFull__textArea {
    order: 3;
    padding: 0 var(--gutter-content-sp);
    width: 100%;
  }
  .c-textWithImageFull__textArea__inner {
    padding: 40px 0;
    max-width: 100%;
  }
}

/* ----------------------------------------------------------------
    Menu (.fn-menu[-*])
----------------------------------------------------------------- */
/* .fn-menu
----------------------------------------------- */
@media only screen and (max-width: 1250px) {
  .fn-menu_content, .fn-menu_contentSearch {
    opacity: 0;
    visibility: hidden;
    transition: opacity var(--transition-duration) var(--opacity-cubic-bezier), visibility var(--transition-duration) var(--opacity-cubic-bezier);
  }
  .fn-menu_content.is-shown, .fn-menu_contentSearch.is-shown {
    opacity: 1;
    visibility: visible;
  }
  .fn-menu_backdrop {
    opacity: 0;
    visibility: hidden;
    transition: opacity var(--transition-duration) var(--opacity-cubic-bezier), visibility var(--transition-duration) var(--opacity-cubic-bezier);
  }
  .fn-menu_backdrop.is-shown {
    opacity: 1;
    visibility: visible;
  }
  html.js-unavailable .fn-menu_btn {
    display: none;
  }
}

@media only screen and (max-width: 1250px) {
  html.is-menu-open,
  html.is-search-open {
    overflow: hidden;
  }
}

.fn-menu-focus-guard {
  position: fixed;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

/* ----------------------------------------------------------------
  Meta
----------------------------------------------------------------- */
/* .c-meta
----------------------------------------------- */
.c-meta__inner {
  display: flex;
  flex-wrap: wrap;
}
.c-meta__item + .c-meta__item {
  position: relative;
  padding-left: 17px;
}
.c-meta__item + .c-meta__item:has(.m-meta.m-meta--sm)::before {
  height: 12px;
}
.c-meta__item + .c-meta__item::before {
  display: block;
  content: "";
  position: absolute;
  width: 1px;
  height: 14px;
  top: 50%;
  transform: translateY(-50%);
  left: 8px;
  background-color: var(--color-border-base);
}

/* .m-meta
----------------------------------------------- */
.m-meta {
  font-size: 1.4rem;
  letter-spacing: 0.05em;
}
.m-meta--en > span {
  font-family: var(--font-family-en);
}
.m-meta--sm > span {
  font-size: 1.2rem;
}
@media only screen and (max-width: 750px) {
  .m-meta {
    font-size: 1.3rem;
  }
}

/* ----------------------------------------------------------------
    Modal (.fn-modal[-*])
----------------------------------------------------------------- */
/* .c-modal
----------------------------------------------- */
.c-modal {
  --close-btn-size: 32px;
  border-radius: 12px;
  border: solid 2px var(--color-border-base);
  background-color: var(--color-white);
  width: min(100% - 32px, 760px);
  max-width: 760px;
  margin: auto !important;
}
.l-history-col .c-modal {
  border-radius: unset;
  background-color: transparent;
}
.l-history-col .c-modal::backdrop {
  opacity: 0.9;
  background-color: #1e1e1e;
}
.l-history-col .c-modal .c-modal_inner {
  padding: 0;
}
.l-history-col .c-modal .c-modal_close-btn {
  position: fixed;
  right: 0;
  top: 0;
  height: 64px;
  width: 64px;
}
.l-history-col .c-modal .c-modal_close-btn::before, .l-history-col .c-modal .c-modal_close-btn::after {
  height: 28px;
  top: 18px;
  background-color: #ccc;
  transition: background-color var(--transition-duration) var(--opacity-cubic-bezier);
}
.l-history-col .c-modal .c-modal_close-btn:hover::before, .l-history-col .c-modal .c-modal_close-btn:hover::after, .l-history-col .c-modal .c-modal_close-btn:active::before, .l-history-col .c-modal .c-modal_close-btn:active::after, .l-history-col .c-modal .c-modal_close-btn:focus-visible::before, .l-history-col .c-modal .c-modal_close-btn:focus-visible::after {
  background-color: var(--color-white);
}
.l-history-col .c-modal .c-modal_content figcaption {
  color: var(--color-white);
}
.c-modal_inner {
  position: relative;
  display: grid;
  grid-template-rows: auto 1fr;
  width: 100%;
  padding: 64px 24px 48px;
}
.c-modal_inner:not(:has(.c-modal_close-btn)) {
  padding: 48px 24px;
}
.c-modal_close-btn {
  position: absolute;
  right: 24px;
  top: 24px;
  height: 32px;
  width: 32px;
}
.c-modal_close-btn::before, .c-modal_close-btn::after {
  display: block;
  content: "";
  position: absolute;
  height: 18px;
  width: 2px;
  top: calc(50% - 9px);
  left: calc(50% - 1px);
  background-color: var(--color-black);
  border-radius: 2px;
}
.c-modal_close-btn::before {
  transform: rotate(45deg);
}
.c-modal_close-btn::after {
  transform: rotate(-45deg);
}
.c-modal_close-btn > span {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  padding: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  border: 0;
  white-space: nowrap;
  overflow: hidden;
}
.c-modal_header {
  padding: 0 32px;
}
.c-modal_header .c-modal_hdg {
  margin-bottom: 0;
}
.c-modal_hdg {
  margin-bottom: 48px;
  text-align: center;
  font-size: 24px;
}
.c-modal_content {
  overflow-x: hidden;
  padding: 0;
}
.c-modal_content > :last-child {
  margin-bottom: 0;
}
.c-modal_scroll-text {
  margin: 8px;
  font-weight: var(--font-weight-d);
  font-size: 12px;
  color: var(--color-black);
  text-align: center;
}
.c-modal_img {
  padding: 8px 0;
}
.c-modal_img > img {
  display: block;
  margin: 0 auto;
}
.c-modal.-align-center .c-modal_content {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media only screen and (max-width: 750px) {
  .c-modal_hdg {
    font-size: 18px;
  }
  .c-modal_inner {
    padding: 32px 20px;
  }
}

/* .fn-modal
----------------------------------------------- */
.fn-modal_scroll-txt.is-hidden {
  visibility: hidden;
  opacity: 0;
  margin: 0;
}
@media only screen and (max-width: 750px) {
  .fn-modal_scroll {
    overflow: auto;
  }
  .fn-modal_scroll > img {
    max-width: none;
    flex-shrink: 0;
  }
}

html.is-modal-open {
  overflow: hidden;
}
@media only screen and (max-width: 750px) {
  html.is-modal-open {
    scrollbar-gutter: auto;
  }
}

/* .c-modal-costmanagement
----------------------------------------------- */
.c-modal-costmanagement__researchArea {
  outline: none;
  margin-top: 32px;
}
.c-modal-costmanagement__second-group-description {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  padding: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  border: 0;
  white-space: nowrap;
  overflow: hidden;
}

.fn-modal-costmanagement_select-first.is-hidden, .fn-modal-costmanagement_select-second.is-hidden {
  display: none;
}
.fn-modal-costmanagement_select-second-group.is-hidden {
  display: none;
}

/* ----------------------------------------------------------------
  ProgressBar
----------------------------------------------------------------- */
/* .historyProgressBar
----------------------------------------------- */
.historyProgressBar {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s;
  /* autoprefixer: off */
  transition-property: opacity, visibility;
  transition-duration: 0.3s;
}
.historyProgressBar.is-active {
  opacity: 1;
  visibility: visible;
}
.historyProgressBar .m-container {
  display: flex;
  height: 100%;
  align-items: center;
}
.historyProgressBar__container {
  position: relative;
  margin-left: 2.2058823529%;
}
.historyProgressBar__bar {
  position: absolute;
  left: 2px;
  top: 0;
  z-index: -1;
  width: 2px;
  height: 100%;
  background-color: #DDD;
}
.historyProgressBar__bar > div {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 0;
  background-color: #BBB;
}
.historyProgressBar__sectList li {
  position: relative;
}
.historyProgressBar__sectList li::before {
  content: "";
  position: absolute;
  inset: 0;
  border: 2px solid #62B0E2;
  border-radius: 50%;
  background-color: #FFF;
  transition: inset 0.3s 0.35s;
}
.historyProgressBar__sectList li.current::before {
  inset: -5px;
}
.historyProgressBar__sectList li.is-gray::before {
  background-color: #F5F5F5;
}
.historyProgressBar__sectList li + li {
  margin-top: 26px;
}
.historyProgressBar__sectList a {
  display: block;
  position: relative;
  z-index: 1;
  border: 1px solid #DDD;
  border-radius: 50%;
  width: 6px;
  height: 6px;
  box-sizing: border-box;
  background-color: #FFF;
  font-size: 0;
  pointer-events: auto;
  transition-property: border-color, background-color;
  transition-duration: 0.3s;
  transition-delay: 0.35s;
}
.historyProgressBar__sectList .current a {
  border-color: #62B0E2;
  background-color: #62B0E2;
}

/* .progressDisp
----------------------------------------------- */
.progressDisp {
  position: fixed;
  left: 0;
  right: 0;
  top: var(--js-height-header);
  background-color: #f1f1f1;
  -webkit-transform: translateY(-100%);
  transform: translateY(-100%);
  transition: transform 0.4s, -webkit-transform 0.4s, top 0.3s ease-out;
  z-index: 10;
}
.l-header.is-scroll-down ~ main .progressDisp {
  top: 0;
}

.progressDisp__bar {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 4px;
  background-color: #eee;
  z-index: 10;
}
.progressDisp__bar div {
  width: 0;
  height: 100%;
  background-color: #62b0e2;
}

.progressDisp__body {
  padding: 20px 0 16px;
}
.progressDisp__body .m-container::after {
  content: "";
  display: block;
  clear: both;
}

.progressDisp__body__meta,
.progressDisp__body__title {
  color: #888;
  letter-spacing: 0.5px;
}

.progressDisp__body__meta {
  float: left;
  padding: 2px 10px 0 0;
  width: 160px;
  font-size: 1.33846rem;
}

.progressDisp__body__title {
  overflow: hidden;
  font-size: 1.6rem;
}

.progressDisp--barOnly {
  height: 3px;
}
.progressDisp--barOnly .progressDisp__bar {
  height: 3px;
}

.progressDisp.is-active {
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

@media only screen and (max-width: 750px) {
  .progressDisp__body {
    padding: 14px 0 10px;
  }
  .progressDisp__body__meta {
    float: none;
    padding: 0;
    width: auto;
    color: #666;
  }
  .progressDisp__body__title {
    font-size: 1.33846rem;
  }
  .progressDisp--year {
    display: none;
  }
}
/* ----------------------------------------------------------------
  Quote
----------------------------------------------------------------- */
/* .c-quote（既存モジュール）
----------------------------------------------- */
.c-quote {
  margin-top: var(--block-2xl);
}
.c-quote__frame {
  position: relative;
  padding: 108px 120px;
  background-color: var(--color-bg-base);
}
.c-quote__frame::before, .c-quote__frame::after {
  content: "";
  position: absolute;
  width: 101px;
  height: 78px;
  background: url(/ja/assets/img/icon/icon_quote_left.svg) no-repeat;
  background-size: 101px;
}
.c-quote__frame::before {
  left: 30px;
  top: 30px;
}
.c-quote__frame::after {
  right: 30px;
  bottom: 30px;
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}
.c-quote__text {
  position: relative;
  z-index: 1;
  font-size: 1.9rem;
  font-style: italic;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
html[lang=en] .c-quote__text {
  font-size: 2.1rem;
}
.c-quote__related {
  position: relative;
  margin-top: 72px;
}
.c-quote__related::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 100%;
  margin-bottom: 40px;
  width: 84px;
  height: 1px;
  background-color: var(--color-border-base);
}
.c-quote__related__hdg {
  font-size: 1.4rem;
}
html[lang=en] .c-quote__related__hdg {
  font-size: 1.6rem;
}
.c-quote__related__title {
  margin-top: 8px;
  font-family: var(--font-family-title);
  font-size: 1.6rem;
  font-weight: var(--font-weight-d);
  line-height: 1.5;
  letter-spacing: 0.03em;
}
html[lang=en] .c-quote__related__title {
  font-size: 1.8rem;
  font-weight: var(--font-weight-m);
}
.c-quote__related__text {
  margin-top: 8px;
  font-size: 1.4rem;
  line-height: 1.6;
  color: var(--color-font-sub);
}
html[lang=en] .c-quote__related__text {
  font-size: 1.6rem;
}
.c-quote__related__link {
  margin-top: var(--block-md);
}
@media only screen and (max-width: 750px) {
  .c-quote__frame {
    padding: 64px 40px;
  }
  .c-quote__frame::before, .c-quote__frame::after {
    width: 50px;
    height: 39px;
    background-size: 50px;
  }
  .c-quote__frame::before {
    left: 20px;
    top: 35px;
  }
  .c-quote__frame::after {
    right: 20px;
    bottom: 35px;
  }
  .c-quote__text {
    font-size: 1.7rem;
  }
  html[lang=en] .c-quote__text {
    font-size: 1.9rem;
  }
}

/* ----------------------------------------------------------------
  ScrollDown
----------------------------------------------------------------- */
/* .m-scrollDown
----------------------------------------------- */
.m-scrollDown {
  position: relative;
  padding-bottom: 84px;
  font-family: var(--font-family-en);
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: var(--color-white);
}
.m-scrollDown__bar {
  position: absolute;
  left: 50%;
  bottom: 0;
  margin-left: -2px;
  width: 4px;
  height: 76px;
  overflow: hidden;
}
.m-scrollDown__bar::before {
  content: "";
  position: absolute;
  left: 1px;
  width: 2px;
  background-color: #FFF;
  -webkit-animation: scrollBar 3s infinite;
  animation: scrollBar 3s infinite;
}

/* .c-search
----------------------------------------------- */
/* 検索結果 */
.c-search {
  --search-box-height: 44px;
  margin-bottom: 120px;
}
.c-search .c-pageHeader {
  margin-bottom: -40px;
}
.c-search .c-pageHeader__hdg {
  letter-spacing: 5px;
}
.c-search #ss-main.css3.blue {
  margin: 0;
  width: auto;
  font-family: inherit;
}
.c-search #ss-main.css3.blue #ss-form {
  margin-bottom: 68px;
}
.c-search #ss-main.css3.blue #ss-form .input-area {
  position: relative;
  margin-bottom: 40px;
  max-width: 100%;
}
.c-search #ss-main.css3.blue #ss-form .input-area .ss-search-input {
  padding: 8px 40px 8px var(--block-sm);
  height: var(--search-box-height);
  width: 100%;
  border: none;
  font-style: normal;
  font-weight: var(--font-weight-r);
  border-radius: 22px;
  background-color: var(--color-bg-base);
  box-shadow: none;
}
.c-search #ss-main.css3.blue #ss-form .input-area .ss-search-input::placeholder {
  letter-spacing: 0.05em;
  font-family: var(--font-family-en);
  font-size: 1.6rem;
  line-height: 1.4;
}
.c-search #ss-main.css3.blue #ss-form .input-area .ss-search-btn {
  position: absolute;
  height: var(--search-box-height);
  width: var(--search-box-height);
  right: 0;
  top: 0;
  background-color: var(--color-black);
  -webkit-mask-image: url("/ja/assets/img/icon/icon-search-01.svg");
  mask-image: url("/ja/assets/img/icon/icon-search-01.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 15px;
  mask-size: 15px;
  transition: background-color 0.2s;
}
.c-search #ss-main.css3.blue #ss-form .input-area .ss-search-btn > span {
  visibility: hidden;
}
.c-search #ss-main.css3.blue #ss-form .input-area .ss-search-btn:hover, .c-search #ss-main.css3.blue #ss-form .input-area .ss-search-btn:active, .c-search #ss-main.css3.blue #ss-form .input-area .ss-search-btn:focus-visible {
  background-color: var(--color-main);
}
.c-search #ss-main.css3.blue #ss-form .input-area .ss-search-btn .fa-search {
  color: var(--color-font-sub);
  font-size: 1.35rem;
}
.c-search #ss-main.css3.blue #ss-form .refine-area .m-accordionBtn {
  padding: 0 15px;
  height: 32px;
}
.c-search #ss-main.css3.blue #ss-form .refine-area .m-accordionBtn__arrow {
  margin-top: -5px;
}
.c-search #ss-main.css3.blue #ss-form .refine-area .m-accordionBtn__arrow::before {
  width: 5px;
  height: 5px;
}
.c-search #ss-main.css3.blue #ss-form .refine-area .m-accordionBtn__text {
  font-size: 1.56154rem;
}
.c-search #ss-main.css3.blue #ss-form .refine-area .m-accordionBtn.is-active .m-accordionBtn__arrow {
  margin-top: 1px;
}
.c-search #ss-main.css3.blue #ss-form .refine-area .accordion-cont {
  display: none;
}
.c-search #ss-main.css3.blue #ss-form .refine-area .accordion-cont-inner {
  padding-top: 35px;
}
.c-search #ss-main.css3.blue #ss-form .ss-categories {
  margin-top: 0;
  display: flex;
  gap: 16px;
}
.c-search #ss-main.css3.blue #ss-form .ss-categories .hdg {
  min-width: 140px;
  font-size: 1.6rem;
  letter-spacing: 0.5px;
  font-family: var(--font-family-title);
  font-weight: var(--font-weight-m);
  letter-spacing: 0.06em;
  color: var(--color-font);
}
.c-search #ss-main.css3.blue #ss-form .ss-categories .hdg--en {
  font-size: 1.8rem;
}
.c-search #ss-main.css3.blue #ss-form .ss-categories .ss-category-field {
  color: var(--color-font);
}
.c-search #ss-main.css3.blue #ss-form .ss-categories .ss-category-field input[type=checkbox] + label,
.c-search #ss-main.css3.blue #ss-form .ss-categories .ss-category-field input[type=radio] + label {
  margin-right: 20px;
  font-family: var(--font-family-title);
  letter-spacing: 0.06em;
}
.c-search #ss-main.css3.blue #ss-form .ss-categories .ss-category-field input[type=checkbox] + label::before,
.c-search #ss-main.css3.blue #ss-form .ss-categories .ss-category-field input[type=radio] + label::before {
  margin-top: -8px;
  width: 16px;
  height: 16px;
  border-width: 1px;
}
.c-search #ss-main.css3.blue #ss-form .ss-categories .ss-category-field input[type=checkbox] + label::before {
  border-radius: 2px;
}
.c-search #ss-main.css3.blue #ss-form .ss-categories .ss-category-field input[type=checkbox]:checked + label::before {
  background-color: var(--color-main);
}
.c-search #ss-main.css3.blue #ss-form .ss-categories .ss-category-field input[type=checkbox]:checked + label::after {
  left: 4px;
  margin-top: -4px;
  border-color: var(--color-white);
  border-width: 2px;
  width: 8px;
  height: 5px;
}
.c-search #ss-main.css3.blue #ss-form .ss-categories .ss-category-field input[type=radio] + label::after {
  left: 4px;
  margin-top: -4px;
  background-color: var(--color-main);
}
.c-search #ss-main.css3.blue #ss-form .ss-categories ~ .ss-categories {
  margin-top: 15px;
  border-top: 1px solid var(--color-border-base);
  padding-top: 15px;
}
.c-search #ss-main.css3.blue #ss-form .ss-category-field {
  margin: 0;
  overflow: hidden;
}
.c-search #ss-main.css3.blue #ss-navi {
  margin-bottom: 32px;
  border: none;
  padding: 0;
  background-color: transparent;
  color: var(--color-font-sub);
  font-family: var(--font-family-body);
  font-size: 1.4rem;
  clear: both;
}
.c-search #ss-main.css3.blue #ss-navi #ss-show-counts {
  padding-left: 0;
  font-family: var(--font-family-body);
  color: var(--color-font);
  font-size: 1.7rem;
  letter-spacing: normal;
  line-height: 2.2;
}
.c-search #ss-main.css3.blue #ss-navi #ss-show-counts .start {
  padding-left: 0.5em;
}
html[lang=en] .c-search #ss-main.css3.blue #ss-navi #ss-show-counts {
  font-size: 2rem;
}
.c-search #ss-main.css3.blue #ss-navi #ss-total-hits {
  padding-left: 0.5em;
  color: var(--color-font);
}
html[lang=en] .c-search #ss-main.css3.blue #ss-navi #ss-total-hits {
  font-size: 2rem;
}
.c-search #ss-main.css3.blue #ss-result {
  padding-left: 0;
}
.c-search #ss-main.css3.blue #ss-result a {
  border-bottom: none;
}
.c-search #ss-main.css3.blue #ss-result .ss-item {
  margin-bottom: 0;
}
.c-search #ss-main.css3.blue #ss-result .ss-item::after {
  content: "";
  display: block;
  clear: both;
}
.c-search #ss-main.css3.blue #ss-result .ss-item ~ .ss-item {
  margin-top: 40px;
}
.c-search #ss-main.css3.blue #ss-result .ss-image {
  margin-right: 15px;
  width: auto;
}
.c-search #ss-main.css3.blue #ss-result .ss-image img {
  width: 194px;
  box-sizing: border-box;
}
.c-search #ss-main.css3.blue #ss-result .ss-page {
  float: none;
  margin: 0;
  padding-top: 0;
  width: auto;
  overflow: hidden;
}
.c-search #ss-main.css3.blue #ss-result .ss-page .ss-last-modified {
  display: inline-block;
  margin: 0 0 10px;
  vertical-align: top;
  color: var(--color-font-sub);
  font-size: 1.56154rem;
  letter-spacing: 0.5px;
  font-family: var(--font-family-title);
}
.c-search #ss-main.css3.blue #ss-result .ss-page .ss-last-modified .date {
  padding-left: 5px;
  letter-spacing: 1px;
}
.c-search #ss-main.css3.blue #ss-result .ss-page .ss-title {
  margin-bottom: 10px;
  line-height: 1.2;
  font-family: var(--font-family-title);
  font-weight: var(--font-weight-d);
}
html[lang=en] .c-search #ss-main.css3.blue #ss-result .ss-page .ss-title {
  font-size: 1.5rem;
  font-weight: var(--font-weight-r);
}
.c-search #ss-main.css3.blue #ss-result .ss-page .ss-title > a {
  color: var(--color-main);
}
.c-search #ss-main.css3.blue #ss-result .ss-page .ss-summary {
  color: var(--color-font-sub);
  font-size: 1.6rem;
  letter-spacing: 0.5px;
  font-family: var(--font-family-body);
}
.c-search #ss-main.css3.blue #ss-result .ss-pagination {
  top: auto;
  margin: 55px 0 0;
}
.c-search #ss-main.css3.blue #ss-result .ss-pagination span {
  margin: 0;
}
.c-search #ss-main.css3.blue #ss-result .ss-pagination > span {
  color: var(--color-main);
}
.c-search #ss-main.css3.blue #ss-result .ss-pagination .ss-page-prev,
.c-search #ss-main.css3.blue #ss-result .ss-pagination .ss-page-next {
  position: absolute;
  top: 0;
}
.c-search #ss-main.css3.blue #ss-result .ss-pagination .ss-page-prev .text,
.c-search #ss-main.css3.blue #ss-result .ss-pagination .ss-page-next .text {
  vertical-align: middle;
  font-size: 1.6rem;
  letter-spacing: 0.5px;
  font-family: var(--font-family-title);
}
.c-search #ss-main.css3.blue #ss-result .ss-pagination .ss-page-prev:hover .m-linkIcon,
.c-search #ss-main.css3.blue #ss-result .ss-pagination .ss-page-next:hover .m-linkIcon {
  background-color: var(--color-main);
}
.c-search #ss-main.css3.blue #ss-result .ss-pagination .ss-page-prev:hover .m-linkIcon::before,
.c-search #ss-main.css3.blue #ss-result .ss-pagination .ss-page-next:hover .m-linkIcon::before {
  border-color: var(--color-white);
}
.c-search #ss-main.css3.blue #ss-result .ss-pagination .ss-page-prev {
  left: 0;
}
.c-search #ss-main.css3.blue #ss-result .ss-pagination .ss-page-prev .m-linkIcon {
  -webkit-transform: scaleX(-1);
  transform: scaleX(-1);
}
.c-search #ss-main.css3.blue #ss-result .ss-pagination .ss-page-prev .text {
  padding-left: 8px;
}
.c-search #ss-main.css3.blue #ss-result .ss-pagination .ss-page-next {
  right: 0;
}
.c-search #ss-main.css3.blue #ss-result .ss-pagination .ss-page-next .text {
  padding-right: 8px;
}
.c-search #ss-main.css3.blue #ss-result .ss-pagination .ss-page {
  display: inline-block;
  margin: 0 3px;
  border: 1px solid var(--color-main);
  padding: 0;
  width: 32px;
  height: 32px;
  font-family: var(--font-family-en);
  box-sizing: border-box;
  border-radius: 50%;
  vertical-align: middle;
  line-height: 32px;
  transition-property: background-color, color;
  transition-duration: 0.2s;
}
.c-search #ss-main.css3.blue #ss-result .ss-pagination .ss-page:hover, .c-search #ss-main.css3.blue #ss-result .ss-pagination .ss-page.ss-select-page {
  background-color: var(--color-main);
  color: var(--color-white);
}
.c-search #ss-main.css3.blue #ss-result #ss-not-found {
  margin: 60px 0 0;
}
.c-search #ss-main.css3.blue #ss-result #ss-not-found .hdg {
  margin-bottom: 20px;
  font-family: var(--font-family-title);
  font-size: 2.6rem;
  font-weight: var(--font-weight-d);
  letter-spacing: 0.05em;
  line-height: 1.2;
}
html[lang=en] .c-search #ss-main.css3.blue #ss-result #ss-not-found .hdg {
  font-size: 2.9rem;
  font-weight: var(--font-weight-m);
}
.c-search #ss-main.css3.blue #ss-result #ss-not-found .desc {
  font-family: var(--font-family-body);
  font-size: 1.7rem;
  letter-spacing: normal;
  line-height: 2.2;
}
html[lang=en] .c-search #ss-main.css3.blue #ss-result #ss-not-found .desc {
  font-size: 2rem;
}
.c-search #ss-main.css3.blue .ss-file-type {
  color: var(--color-font);
  font-family: --font-family-title;
}
.c-search #ss-main.css3.blue .ss-file-type:empty {
  padding: 0;
}
@media only screen and (max-width: 750px) {
  .c-search {
    margin-bottom: 0;
  }
  .c-search .c-pageHeader {
    margin-bottom: 0;
  }
  .c-search .c-pageHeader__hdg {
    letter-spacing: 1px;
  }
  .c-search #ss-main.css3.blue #ss-form {
    margin-bottom: 30px;
  }
  .c-search #ss-main.css3.blue #ss-form .input-area {
    margin-bottom: 20px;
    max-width: none;
  }
  .c-search #ss-main.css3.blue #ss-form .input-area .ss-search-input {
    padding: 0 40px 0 25px;
    height: 40px;
  }
  .c-search #ss-main.css3.blue #ss-form .input-area .ss-search-btn {
    width: 40px;
    height: 40px;
  }
  .c-search #ss-main.css3.blue #ss-form .refine-area {
    text-align: right;
  }
  .c-search #ss-main.css3.blue #ss-form .refine-area .accordion-cont {
    text-align: left;
  }
  .c-search #ss-main.css3.blue #ss-form .refine-area .accordion-cont-inner {
    padding-top: 8px;
  }
  .c-search #ss-main.css3.blue #ss-form .ss-categories {
    flex-direction: column;
    gap: 12px;
  }
  .c-search #ss-main.css3.blue #ss-form .ss-categories .hdg {
    margin-bottom: 0;
    width: auto;
  }
  .c-search #ss-main.css3.blue #ss-form .ss-categories .ss-category-field {
    margin-top: -4px;
  }
  .c-search #ss-main.css3.blue #ss-form .ss-categories .ss-category-field input[type=checkbox] + label,
  .c-search #ss-main.css3.blue #ss-form .ss-categories .ss-category-field input[type=radio] + label {
    margin-top: 4px;
    font-size: 1.56154rem;
  }
  .c-search #ss-main.css3.blue #ss-form .ss-categories .ss-category-field input[type=checkbox] + label::before {
    width: 15px;
    height: 15px;
  }
  .c-search #ss-main.css3.blue #ss-form .ss-categories ~ .ss-categories {
    margin-top: 24px;
    padding-top: 24px;
  }
  .c-search #ss-main.css3.blue #ss-navi {
    margin-bottom: 15px;
    font-weight: var(--font-weight-d);
  }
  .c-search #ss-main.css3.blue #ss-navi #ss-show-counts {
    display: inline;
    font-size: 1.6rem;
  }
  html[lang=en] .c-search #ss-main.css3.blue #ss-navi #ss-show-counts {
    font-size: 1.8rem;
  }
  .c-search #ss-main.css3.blue #ss-result .ss-item ~ .ss-item {
    margin-top: 40px;
  }
  .c-search #ss-main.css3.blue #ss-result .ss-image {
    display: block;
    float: none;
    margin: 0 0 9px;
  }
  .c-search #ss-main.css3.blue #ss-result .ss-image img {
    width: 100%;
  }
  .c-search #ss-main.css3.blue #ss-result .ss-page {
    border: none;
    padding: 0;
  }
  .c-search #ss-main.css3.blue #ss-result .ss-page .ss-last-modified {
    margin: 0 0 8px;
    font-size: 1.33846rem;
  }
  .c-search #ss-main.css3.blue #ss-result .ss-page .ss-summary {
    font-size: 1.3rem;
    line-height: 1.5;
  }
  .c-search #ss-main.css3.blue #ss-result .ss-pagination {
    margin: 40px -5.33333vw 85px;
    padding: 20px 0;
  }
  .c-search #ss-main.css3.blue #ss-result .ss-pagination .ss-page-prev,
  .c-search #ss-main.css3.blue #ss-result .ss-pagination .ss-page-next {
    top: 100%;
    margin-top: 20px;
  }
  .c-search #ss-main.css3.blue #ss-result .ss-pagination .ss-page-prev .text,
  .c-search #ss-main.css3.blue #ss-result .ss-pagination .ss-page-next .text {
    font-size: 1.33846rem;
  }
  .c-search #ss-main.css3.blue #ss-result .ss-pagination .ss-page-prev {
    left: auto;
    right: 50%;
    margin-right: 20px;
  }
  .c-search #ss-main.css3.blue #ss-result .ss-pagination .ss-page-next {
    left: 50%;
    right: auto;
    margin-left: 20px;
  }
  .c-search #ss-main.css3.blue #ss-result .ss-pagination .ss-page {
    margin: 0 8px;
    width: 40px;
    height: 40px;
    font-size: 1.56154rem;
    line-height: 40px;
  }
  .c-search #ss-main.css3.blue #ss-result #ss-not-found {
    margin: 25px 0 50px;
  }
  .c-search #ss-main.css3.blue #ss-result #ss-not-found .hdg {
    font-size: 1.9rem;
    line-height: 1.425;
  }
  html[lang=en] .c-search #ss-main.css3.blue #ss-result #ss-not-found .hdg {
    font-size: 2.1rem;
  }
  .c-search #ss-main.css3.blue #ss-result #ss-not-found .desc {
    font-size: 1.6rem;
  }
  html[lang=en] .c-search #ss-main.css3.blue #ss-result #ss-not-found .desc {
    font-size: 1.8rem;
  }
  .c-search .c-toggle-filter summary {
    display: flex;
    justify-content: flex-end;
  }
}

.ss-navi {
  scroll-margin-top: 200px;
}

/* ----------------------------------------------------------------
  Select
----------------------------------------------------------------- */
/* .c-select
----------------------------------------------- */
.c-select {
  width: 100%;
  position: relative;
  padding: 12px 50px 12px 20px;
  border: 0;
  border-radius: 4px;
  font-family: var(--font-family-title);
  font-size: 1.6rem;
  background-color: var(--color-bg-base);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none'%3E%3Cpath d='M0.355469 0.353516L4.85547 4.85352L9.35547 0.353516' stroke='%23777'/%3E%3C/svg%3E");
  background-position: right 16px center;
  background-repeat: no-repeat;
  background-size: 10px 6px;
  appearance: none;
  color: var(--color-font);
}
.c-select__option {
  color: var(--color-font);
}
.c-select__option--placeholder {
  color: var(--color-font-sub);
}
@media only screen and (max-width: 750px) {
  .c-select {
    padding: 12px 42px 12px 16px;
  }
}

/* .c-search-box
----------------------------------------------- */
.c-search-box {
  --search-box-height: 44px;
  margin-top: var(--block-lg);
  width: 100%;
}
.c-search-box__inner {
  position: relative;
  display: flex;
  justify-content: center;
}
.c-search-box__form {
  flex: 0 1 896px;
  height: var(--search-box-height);
  max-width: 896px;
  position: relative;
}
.c-search-box__btn {
  position: absolute;
  height: var(--search-box-height);
  width: var(--search-box-height);
  right: 0;
  top: 0;
  background-color: var(--color-black);
  -webkit-mask-image: url("/ja/assets/img/icon/icon-search-01.svg");
  mask-image: url("/ja/assets/img/icon/icon-search-01.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 15px;
  mask-size: 15px;
  transition: background-color 0.2s;
}
.c-search-box__btn > span {
  visibility: hidden;
}
.c-search-box__btn:hover, .c-search-box__btn:active, .c-search-box__btn:focus-visible {
  background-color: var(--color-main);
}
.c-search-box__label {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  padding: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  border: 0;
  white-space: nowrap;
  overflow: hidden;
}
.c-search-box__input {
  padding: 8px 40px 8px var(--block-sm);
  height: var(--search-box-height);
  width: 100%;
  border: none;
  font-style: normal;
  font-weight: var(--font-weight-r);
  border-radius: 22px;
  background-color: var(--color-bg-base);
}
.c-search-box__input::placeholder {
  letter-spacing: 0.05em;
  font-family: var(--font-family-en);
  font-size: 1.6rem;
  line-height: 1.4;
}
@media only screen and (max-width: 1250px) {
  .c-search-box {
    --search-box-height: 40px;
  }
}

/* ----------------------------------------------------------------
  Sticky
----------------------------------------------------------------- */
/* .fn-sticky-[*]
----------------------------------------------- */
.fn-sticky-start,
.fn-sticky-end {
  display: block;
  height: 1px;
}

/* ----------------------------------------------------------------
  Table
----------------------------------------------------------------- */
/* table（既存）
----------------------------------------------- */
table {
  margin-top: 24px;
  width: auto;
}
.c-text table td {
  padding-left: 0;
}
body[data-directory=projects] table {
  margin-top: 48px;
  width: 100%;
}
body[data-directory=projects] table tr {
  border-top: 1px solid #dedede;
}
body[data-directory=projects] table tr:first-child {
  border-top: none;
}
body[data-directory=projects] table th {
  width: 144px;
  border-right: 2px solid var(--color-black);
  padding: 12px 20px 12px 0;
  text-align: left;
  font-family: var(--font-family-title);
  font-size: 1.6rem;
  font-weight: var(--font-weight-d);
}
html[lang=en] body[data-directory=projects] table th {
  font-size: 1.8rem;
  font-weight: var(--font-weight-m);
  width: 184px;
}
body[data-directory=projects] table td {
  padding: 12px 0 12px 32px;
  font-family: var(--font-family-body);
  font-size: 1.7rem;
  line-height: 2;
}
html[lang=en] body[data-directory=projects] table td {
  font-size: 1.9rem;
}
table th {
  padding: 0 24px 4px 0;
  text-align: left;
  font-family: var(--font-family-title);
  font-size: 1.6rem;
  font-weight: var(--font-weight-d);
}
table td {
  padding: 0 0 4px 0;
  font-family: var(--font-family-body);
  font-size: 1.7rem;
  line-height: 2;
}
@media only screen and (max-width: 750px) {
  body[data-directory=projects] table {
    margin-top: 48px;
  }
  body[data-directory=projects] table tr {
    border-top: 1px solid #dedede;
  }
  body[data-directory=projects] table tr:first-child {
    border-top: 2px solid var(--color-black);
  }
  body[data-directory=projects] table tr:last-child {
    border-bottom: 2px solid var(--color-black);
  }
  body[data-directory=projects] table th, body[data-directory=projects] table td {
    display: block;
    font-size: 1.6rem;
  }
  body[data-directory=projects] table th {
    border-right: none;
    padding: 22px 0 0;
    width: auto;
  }
  html[lang=en] body[data-directory=projects] table th {
    width: 100%;
  }
  body[data-directory=projects] table td {
    padding: 0 0 18px;
    line-height: 1.8;
    margin-top: 4px;
  }
  html[lang=en] body[data-directory=projects] table td {
    font-size: 1.8rem;
  }
  table th, table td {
    font-size: 1.6rem;
  }
  table th {
    width: auto;
  }
  table td {
    line-height: 1.8;
  }
}

/* .c-table（既存モジュール）
----------------------------------------------- */
.c-table {
  margin-top: var(--block-xl);
}
.c-table__wrapper > div {
  font-size: 1.4rem;
}
.c-table__wrapper table {
  margin-top: 0;
}
.c-table table {
  margin-top: 0;
  width: 100%;
}
.c-table caption {
  color: var(--color-font-sub);
  text-align: left;
  font-size: 1.4rem;
}
.c-table tr {
  border-top: 1px solid #dedede;
}
.c-table tr:first-child {
  border-top: none;
}
.c-table th,
.c-table td {
  display: table-cell;
  padding: 24px 24px 24px 0;
}
html[lang=en] .c-table th {
  font-size: 1.8rem;
}
.c-table td {
  width: auto;
}
html[lang=en] .c-table td {
  font-size: 1.9rem;
}
.c-table tbody th:last-of-type {
  border-right: 0;
}
@media only screen and (max-width: 750px) {
  .c-table__wrapper {
    overflow-x: auto;
    overflow-y: hidden;
  }
  .c-table__wrapper table {
    width: revert-layer !important;
  }
  .c-table tr {
    border-top: 1px solid #dedede;
  }
  .c-table tr:first-child {
    border-top: 0;
  }
  .c-table tr:last-child {
    border-bottom: 0;
  }
  html[lang=en] .c-table td {
    font-size: 1.8rem;
  }
}

/* .c-table-02｜e.g.海外現地法人 採用
----------------------------------------------- */
.c-table-02 {
  margin-top: var(--block-xl);
}
.c-table-02 table {
  width: 100%;
  text-align: left;
  margin: 0;
}
.c-table-02 caption {
  margin-bottom: 8px;
  color: var(--color-font-sub);
  text-align: left;
  font-size: 1.4rem;
}
.c-table-02 thead th,
.c-table-02 thead td {
  text-align: center;
  background-color: #777;
  color: var(--color-white);
  font-family: var(--font-family-title);
  font-weight: var(--font-weight-m);
  line-height: 1.8;
  letter-spacing: 0.03em;
  border: 1px solid #777;
  border-right: 1px solid var(--color-white);
  border-bottom: transparent;
}
.c-table-02 thead th:last-child,
.c-table-02 thead td:last-child {
  border-right: 1px solid #777;
}
.c-table-02 tbody a {
  color: var(--color-link);
}
.c-table-02 tbody a span:first-child {
  border-bottom-color: var(--color-link) !important;
}
.c-table-02 thead + tbody tr:first-child th,
.c-table-02 thead + tbody tr:first-child td {
  border-top: 1px solid #777;
}
.c-table-02 th {
  background-color: var(--color-white);
  font-size: 1.6rem;
}
.c-table-02 th.-main-th {
  padding: 24px 12px;
}
html[lang=en] .c-table-02 th {
  font-size: 1.8rem;
}
.c-table-02 td {
  background-color: var(--color-white);
  font-size: 1.7rem;
}
.c-table-02 td.-sub-header {
  background-color: var(--color-white);
}
html[lang=en] .c-table-02 td {
  font-size: 1.9rem;
}
.c-table-02 th,
.c-table-02 td {
  min-width: unset;
  width: auto;
  padding: 12px;
  vertical-align: top;
}
.c-table-02 th > :first-child,
.c-table-02 td > :first-child {
  margin-top: 0;
}
.c-table-02 th > :last-child,
.c-table-02 td > :last-child {
  margin-bottom: 0;
}
.c-table-02 th.--va-middle,
.c-table-02 td.--va-middle {
  vertical-align: middle;
}
.c-table-02 th.--ta-center,
.c-table-02 td.--ta-center {
  text-align: center;
}
.c-table-02 th.--ta-right,
.c-table-02 td.--ta-right {
  text-align: right;
}
.c-table-02 th.--adjust-pl,
.c-table-02 td.--adjust-pl {
  padding-left: 28px;
}
.c-table-02 th sup,
.c-table-02 td sup {
  font-size: 50%;
  vertical-align: super;
}
.c-table-02 tr,
.c-table-02 th,
.c-table-02 td {
  border: 1px solid #dedede;
}
.c-table-02_icon {
  vertical-align: middle;
}
@media only screen and (max-width: 750px) {
  .c-table-02 tr:first-child, .c-table-02 tr:last-child {
    border: 1px solid #dedede;
  }
  .c-table-02 th, .c-table-02 td {
    display: table-cell;
    padding: 12px;
  }
  html[lang=en] .c-table-02 td {
    font-size: 1.8rem;
  }
  .c-table-02 thead tr:last-child {
    border-bottom: 0;
  }
  .c-table-02 tbody tr:first-child {
    border-top: 0;
  }
  .c-table-02--scroll-sp {
    --gutter: var(--gutter-content-sp);
    margin-right: var(--gutter);
    margin-top: 12px;
    overflow-x: auto;
  }
  .c-table-02--scroll-sp table {
    min-width: var(--width-content);
    margin-right: var(--gutter);
  }
}

/* .c-table03（2カラム専用：本文コンポーネントにソースコード流し込み用）
----------------------------------------------- */
.c-table-03 {
  margin-top: 48px;
}
.c-text .c-table-03 table td {
  padding-left: 32px;
}
.c-table-03 table {
  width: 100%;
}
.c-table-03 tr {
  border-top: 1px solid #dedede;
}
.c-table-03 tr:first-child {
  border-top: none;
}
.c-table-03 th {
  width: 144px;
  border-right: 2px solid var(--color-black);
  padding: 12px 20px 12px 0;
  text-align: left;
  font-family: var(--font-family-title);
  font-size: 1.6rem;
  font-weight: var(--font-weight-d);
}
html[lang=en] .c-table-03 th {
  font-size: 1.8rem;
  font-weight: var(--font-weight-m);
  width: 184px;
}
.c-table-03 td {
  padding: 12px 0 12px 32px;
  font-family: var(--font-family-body);
  font-size: 1.7rem;
  line-height: 2;
}
html[lang=en] .c-table-03 td {
  font-size: 1.9rem;
}
@media only screen and (max-width: 750px) {
  .c-table-03 {
    margin-top: 48px;
  }
  .c-text .c-table-03 table td {
    padding-left: 0;
  }
  .c-table-03 tr {
    border-top: 1px solid #dedede;
  }
  .c-table-03 tr:first-child {
    border-top: 2px solid var(--color-black);
  }
  .c-table-03 tr:last-child {
    border-bottom: 2px solid var(--color-black);
  }
  .c-table-03 th, .c-table-03 td {
    display: block;
    font-size: 1.6rem;
  }
  .c-table-03 th {
    border-right: none;
    padding: 22px 0 0;
    width: auto;
  }
  html[lang=en] .c-table-03 th {
    width: 100%;
  }
  .c-table-03 td {
    padding: 0 0 18px;
    line-height: 1.8;
    margin-top: 4px;
  }
  html[lang=en] .c-table-03 td {
    font-size: 1.8rem;
  }
}

/* ----------------------------------------------------------------
  Text
----------------------------------------------------------------- */
/* .c-text
----------------------------------------------- */
.c-text {
  margin-top: var(--block-2xl);
  font-family: var(--font-family-body);
  font-size: 1.7rem;
  letter-spacing: normal;
  line-height: 2.2;
}
* > .c-text:first-child, :is(.c-hdg:has(:is(.m-hdgLg, .m-hdgMd, .m-hdgSm)), .c-hdg-l2, .c-hdg-l2-esg, .c-hdg-l3, .c-hdg-l3-02, .c-hdg-l4, .c-hdg-sm) + .c-text {
  margin-top: 0 !important;
}
html[lang=en] .c-text {
  font-size: 2rem;
}
@media only screen and (max-width: 750px) {
  .c-text {
    font-size: 1.6rem;
  }
  html[lang=en] .c-text {
    font-size: 1.8rem;
  }
}

/* .c-text-lg
----------------------------------------------- */
.c-text-lg p {
  margin-bottom: 40px;
  color: var(--color-font);
  font-family: var(--font-family-body);
  font-size: var(--font-size-lg);
  line-height: 2.1;
  letter-spacing: 0.01em;
}
.c-text-lg p:last-child {
  margin-bottom: 0;
}
html[lang=en] .c-text-lg p {
  font-size: 2.1rem;
}
@media only screen and (max-width: 750px) {
  .c-text-lg p {
    font-size: 1.6rem;
  }
  html[lang=en] .c-text-lg p {
    font-size: 1.8rem;
  }
}

/* .lead（既存）｜e.g. projects詳細
----------------------------------------------- */
.lead {
  font-family: var(--font-family-body);
  font-size: 2.1rem;
  line-height: 1.9;
}
.l-article-col__main > .lead {
  font-family: var(--font-family-body);
  font-size: 1.7rem;
  letter-spacing: normal;
  line-height: 2.2;
}
html[lang=en] .l-article-col__main > .lead {
  font-size: 2rem;
}
@media only screen and (max-width: 750px) {
  .lead {
    font-size: 1.8rem;
  }
  .l-article-col__main > .lead {
    font-size: 1.6rem;
    line-height: 2.2;
  }
  html[lang=en] .l-article-col__main > .lead {
    font-size: 1.8rem;
  }
}

/* .c-text-tableScroll
----------------------------------------------- */
.c-text-tableScroll {
  display: none;
}
@media only screen and (max-width: 750px) {
  .c-text-tableScroll {
    display: block;
    margin-bottom: 12px;
    font-size: 1.4rem;
  }
  .c-text-tableScroll img {
    position: relative;
    top: 7px;
    margin-right: 8px;
  }
}

.c-text2col {
  margin-top: 80px;
}
.c-text2col + .c-text2col {
  margin-top: 40px;
}
.c-text2col--withLine .c-text2col__item {
  border-top: 1px solid var(--color-border-base);
  padding: 40px 0;
}
.c-text2col--withLine .c-text2col__item:nth-child(-n+2) {
  padding-top: 40px;
}
.c-text2col.-col3-pc .c-text2col__inner {
  grid-template-columns: repeat(3, 1fr);
}
.c-text2col.-col3-pc .c-text2col__item:nth-child(-n+3) {
  padding-top: 0;
}
.c-text2col.-col3-pc .c-text2col__item:nth-child(n+4) {
  border-top: 0;
}
.c-text2col .m-hdgSm {
  font-size: 1.8rem;
}
html[lang=en] .c-text2col .m-hdgSm {
  font-size: 2rem;
}
.c-text2col--withLine.-col3-pc .c-text2col__item:nth-child(-n+3) {
  padding-top: 40px;
}
.c-text2col__inner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 40px;
}
.c-text2col__item {
  display: inline-block;
  padding: 40px 0;
  width: 100%;
  border-bottom: 1px solid var(--color-border-base);
}
.c-text2col__item:nth-child(-n+2) {
  padding-top: 0;
}
.c-text2col__item__inner > .m-hdgSm > a {
  color: var(--color-link);
  border-bottom-color: var(--color-link);
}
.c-text2col__item__linkBtn {
  margin-top: var(--block-xs);
}
html[lang=en] .c-text2col__item__linkBtn .m-linkBtn__text {
  font-size: 1.6rem;
}
.c-text2col .m-hdgSm {
  margin: 0;
}
.c-text2col .m-wysiwyg {
  margin-top: 12px;
  font-size: 1.5rem;
  color: var(--color-font-sub);
  line-height: 1.6;
}
html[lang=en] .c-text2col .m-wysiwyg {
  font-size: 1.7rem;
}
@media only screen and (max-width: 750px) {
  .c-text2col {
    margin: 56px 0 54px;
  }
  .c-text2col + .c-text2col {
    margin: 0 0 48px;
  }
  .c-text2col--withLine:has(+ .c-text2col) {
    margin-bottom: 24px;
  }
  .c-text2col--withLine .c-text2col__inner {
    gap: 0;
  }
  .c-text2col--withLine .c-text2col__item {
    padding: 24px 0;
    border-top: 0;
  }
  .c-text2col--withLine .c-text2col__item:first-child {
    padding-top: 24px;
    border-top: 1px solid var(--color-border-base);
  }
  .c-text2col--withLine .c-text2col__item:nth-child(-n+2) {
    padding-top: 24px;
  }
  .c-text2col.-col3-pc .c-text2col__inner {
    grid-template-columns: 1fr;
  }
  .c-text2col.-col3-pc .c-text2col__item:nth-child(-n+3) {
    padding-top: 24px;
  }
  .c-text2col.-col3-pc .c-text2col__item:first-child {
    padding-top: 0;
  }
  .c-text2col--withLine.-col3-pc .c-text2col__item:nth-child(-n+3) {
    padding-top: 24px;
  }
  .c-text2col .m-hdgSm {
    margin-bottom: 2px;
    font-size: 1.8rem;
    letter-spacing: 1px;
  }
  .c-text2col .m-wysiwyg {
    font-size: 1.4rem;
  }
  html[lang=en] .c-text2col .m-wysiwyg {
    font-size: 1.6rem;
  }
  .c-text2col__inner {
    margin: 0;
    grid-template-columns: 1fr;
    gap: 0;
  }
  .c-text2col__item {
    display: block;
    padding-block: 24px;
    width: auto;
  }
  .c-text2col__item:nth-child(-n+2) {
    padding-top: 24px;
  }
  .c-text2col__item:first-child {
    padding-top: 0;
  }
  .c-text2col__item ~ .c-text2col__item {
    margin-top: 0;
  }
}

/* ----------------------------------------------------------------
  TOC (.c-toc)
----------------------------------------------------------------- */
/* .c-toc
----------------------------------------------- */
.c-toc {
  margin-top: 48px;
  background-color: var(--color-bg-base);
}
.c-toc__inner {
  padding: 40px;
}
.c-toc__inner > *:last-child {
  margin-bottom: 0;
}
.c-toc__hdg {
  font-family: var(--font-family-title);
  font-size: 2.3rem;
  font-weight: var(--font-weight-r);
  color: var(--color-font);
  line-height: 1.4;
  letter-spacing: 0.1em;
}
.c-toc__hdg--en {
  font-family: var(--font-family-en);
  font-size: 2.6rem;
}
.c-toc__hdg > span {
  position: relative;
  display: inline-block;
  padding-right: 96px;
}
.c-toc__hdg > span::before {
  display: block;
  content: "";
  position: absolute;
  width: 80px;
  height: 1px;
  background-color: var(--color-main);
  top: 16px;
  right: 0;
}
@media only screen and (max-width: 750px) {
  .c-toc {
    margin-top: 40px;
  }
  .c-toc .m-linkBtn__icon {
    top: 14px;
  }
  .c-toc .m-linkIcon {
    width: 24px;
    height: 24px;
  }
  .c-toc .m-linkIcon::before {
    left: 9px;
    margin-top: -2px;
    width: 4px;
    height: 4px;
  }
  .c-toc__inner {
    padding: 28px;
  }
  .c-toc__hdg {
    font-size: 1.9rem;
  }
  .c-toc__hdg--en {
    font-size: 2.1rem;
  }
  .c-toc__hdg > span {
    padding-right: 52px;
  }
  .c-toc__hdg > span::before {
    width: 40px;
    top: 14px;
  }
}

/* .c-toc-sticky
----------------------------------------------- */
.c-toc-sticky {
  position: absolute;
  width: 100%;
  transform: translateY(calc(-1 * (var(--js-height-insights-toc) + var(--js-height-header))));
  visibility: hidden;
  transition: visibility 0s linear 0.3s, transform ease-out 0.3s, top 0.3s ease-out;
  box-shadow: 0 12px 16px 4px rgba(0, 0, 0, 0.05);
  z-index: -1;
  border-top: 1px solid var(--color-border-base);
}
.l-header:has(.l-header-nav_content.is-shown) .c-toc-sticky, .l-header:has(.l-header-menu_content.is-shown) .c-toc-sticky {
  display: none;
}
.c-toc-sticky.is-sticky {
  position: relative;
  transform: translateY(calc(-1 * var(--js-height-header) + var(--js-height-insights-toc)));
  visibility: visible;
  transition: transform 0.3s ease-out;
  top: -2px;
}
.l-header_body.is-scroll-up ~ .c-toc-sticky.is-sticky {
  transform: translateY(0);
}
.c-toc-sticky-trigger {
  position: sticky;
  top: 95vh;
}
.l-content-area:has(.c-toc-sticky-trigger) {
  position: relative;
}
.c-toc-sticky__inner {
  background-color: var(--color-white);
}
@media only screen and (max-width: 750px) {
  .c-toc-sticky {
    transform: translateY(calc(-1 * (var(--js-height-insights-toc) + var(--js-height-header))));
    box-shadow: 0 6px 8px 4px rgba(0, 0, 0, 0.05);
  }
  .c-toc-sticky.is-sticky {
    position: relative;
    visibility: visible;
    transition: transform 0.3s;
    top: -2px;
  }
}

/* .c-toc-sticky-toggle
----------------------------------------------- */
.c-toc-sticky-toggle[open] .c-toc-sticky-toggle__buttonText::after {
  opacity: 0;
}
.c-toc-sticky-toggle.is-animating {
  overflow: hidden;
}
.c-toc-sticky-toggle summary {
  list-style: none;
}
.c-toc-sticky-toggle__button {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: 12px 0;
  color: var(--color-black);
  cursor: pointer;
}
.c-toc-sticky-toggle__buttonText {
  position: relative;
  display: inline-flex;
  width: fit-content;
  padding: 0 21px 0 0;
  letter-spacing: 0.06em;
  line-height: 1.4;
}
.c-toc-sticky-toggle__buttonText--en {
  font-size: 1.6rem;
  font-family: var(--font-family-en);
}
.c-toc-sticky-toggle__buttonText::before, .c-toc-sticky-toggle__buttonText::after {
  display: block;
  content: "";
  position: absolute;
  width: 9px;
  height: 1px;
  background-color: var(--color-main);
  inset: 0 0 0 auto;
  top: 50%;
}
.c-toc-sticky-toggle__buttonText::after {
  transform: rotate(90deg);
}
.c-toc-sticky-toggle__content > *:first-child {
  margin-block: 0;
}
.c-toc-sticky-toggle__content {
  padding: 28px 0 32px;
  border-top: 1px solid var(--color-border-light);
}
@media only screen and (max-width: 750px) {
  .c-toc-sticky-toggle__buttonText {
    padding: 0 17px 0 0;
  }
  .c-toc-sticky-toggle__buttonText--en {
    font-size: 1.4rem;
  }
  .c-toc-sticky-toggle__button {
    padding: 10px 0;
  }
  .c-toc-sticky-toggle__content {
    padding: 24px 0 28px;
  }
}

.fn-toc-sticky-toggle-anchorPosition {
  scroll-margin-top: 46px;
}
@media only screen and (max-width: 750px) {
  .fn-toc-sticky-toggle-anchorPosition {
    scroll-margin-top: 40px;
  }
}

/* ----------------------------------------------------------------
  Toggle
----------------------------------------------------------------- */
/* .c-toggle-filter｜e.g.検索結果
----------------------------------------------- */
:root {
  interpolate-size: allow-keywords;
}

.c-toggle-filter[open] .c-toggle-filter__button {
  background-color: var(--color-main);
  color: var(--color-white);
}
.c-toggle-filter[open] .c-toggle-filter__button::before, .c-toggle-filter[open] .c-toggle-filter__button::after {
  background-color: var(--color-white);
}
.c-toggle-filter[open] .c-toggle-filter__button::after {
  opacity: 0;
}
.c-toggle-filter summary {
  list-style: none;
  display: inline-block;
}
.c-toggle-filter summary::-webkit-details-marker {
  display: none;
}
.c-toggle-filter__button {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  anchor-name: --menu-anchor;
  width: 160px;
  min-height: 40px;
  background-color: var(--color-white);
  border-radius: 20px;
  border: 1px solid var(--color-main);
  padding: 4px 32px 4px 16px;
  font-size: 1.6rem;
  color: var(--color-black);
  font-family: var(--font-family-en);
  cursor: pointer;
}
.c-toggle-filter__button::before, .c-toggle-filter__button::after {
  display: block;
  content: "";
  position: absolute;
  width: 9px;
  height: 1px;
  background-color: var(--color-main);
  inset: 0 14px 0 auto;
  top: 50%;
}
.c-toggle-filter__button::after {
  transform: rotate(90deg);
}
.c-toggle-filter__content-inner {
  flex-direction: column;
  padding: 28px 0 0;
  width: auto;
}

.c-toggle-filter::details-content {
  block-size: 0;
  overflow: clip;
  transition: block-size 0.3s ease, content-visibility 0.3s ease allow-discrete;
}

.c-toggle-filter[open]::details-content {
  block-size: auto;
}

@starting-style {
  .c-toggle-filter[open]::details-content {
    block-size: 0;
  }
}
/* ----------------------------------------------------------------
Video
----------------------------------------------------------------- */
/* .c-video（既存）
----------------------------------------------- */
.c-video {
  margin-top: var(--block-2xl);
}
.c-video[hidden] {
  display: none;
}
.c-video__video iframe {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.c-video__video__inner {
  position: relative;
  padding-top: 56.25%;
}
.c-video__caption {
  margin-top: 15px;
}
@media only screen and (max-width: 750px) {
  .c-video > .m-container.m-container--narrow {
    margin: 0 var(--gutter-content-sp);
  }
  .c-video__video {
    margin: 0 -5.33333vw;
  }
}

/* ----------------------------------------------------------------
  wysiwyg
----------------------------------------------------------------- */
/* .m-wysiwyg
----------------------------------------------- */
.m-wysiwyg {
  font-family: var(--font-family-body);
  font-size: 1.7rem;
  letter-spacing: normal;
  line-height: 2.2;
}
html[lang=en] .m-wysiwyg {
  font-size: 2rem;
}
.m-wysiwyg > * ~ * {
  margin-top: 25px;
}
.m-wysiwyg > br {
  margin-top: 0;
}
.m-wysiwyg b {
  font-weight: bold;
}
.m-wysiwyg i {
  font-style: italic;
}
.m-wysiwyg ul li, .m-wysiwyg ol li {
  position: relative;
  padding-left: 20px;
}
.m-wysiwyg ul li ~ li, .m-wysiwyg ol li ~ li {
  margin-top: 14px;
}
.m-wysiwyg ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 12px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background-color: #000;
}
.m-wysiwyg ol {
  counter-reset: olNum;
}
.m-wysiwyg ol li {
  counter-increment: olNum;
}
.m-wysiwyg ol li::before {
  content: counter(olNum) ".";
  position: absolute;
  left: 0;
  top: -2px;
  font-size: 120%;
}
@media only screen and (max-width: 750px) {
  .m-wysiwyg {
    font-size: 1.6rem;
  }
  html[lang=en] .m-wysiwyg {
    font-size: 1.8rem;
  }
  .m-wysiwyg > * ~ * {
    margin-top: 8px;
  }
  .m-wysiwyg ul li ~ li, .m-wysiwyg ol li ~ li {
    margin-top: 15px;
  }
  .m-wysiwyg ul li::before {
    top: 11px;
  }
  .m-wysiwyg ol li::before {
    top: 0;
    font-size: 100%;
  }
}

/* ----------------------------------------------------------------
    Utility (.u[-*])
----------------------------------------------------------------- */
/* .u-pcOnly（br, spanで使用）
----------------------------------------------- */
@media only screen and (max-width: 750px) {
  .u-pcOnly {
    display: none;
  }
}

/* .u-spOnly
----------------------------------------------- */
.u-spOnly {
  display: none;
}
@media only screen and (max-width: 750px) {
  .u-spOnly {
    display: block;
  }
  .u-spOnly br:is(.u-spOnly) {
    display: inline;
  }
}

/* .u-textAlign
----------------------------------------------- */
.u-textAlignC {
  text-align: center;
}

.u-textAlignL {
  text-align: left;
}

.u-textAlignR {
  text-align: right;
}

/* 余白調整クラス（※コンポーネント専用クラス。ユニークパーツなどには原則使用しない）
----------------------------------------------- */
.u-mt-lg.m-hdgLg {
  margin-top: var(--adjust-margin-3xl) !important;
}
.u-mt-lg.m-hdgMd {
  margin-top: var(--adjust-margin-2xl) !important;
}
.u-mt-lg.m-hdgSm {
  margin-top: var(--adjust-margin-xl) !important;
}
.u-mt-lg.c-text {
  margin-top: var(--adjust-margin-2xl) !important;
}
.u-mt-lg.c-imageCentered {
  margin-top: var(--adjust-margin-2xl) !important;
}
.u-mt-lg.c-image2col {
  margin-top: var(--adjust-margin-2xl) !important;
}
.u-mt-lg.c-video {
  margin-top: var(--adjust-margin-2xl) !important;
}
.u-mt-lg.c-table-02 {
  margin-top: var(--adjust-margin-xl) !important;
}
.u-mt-lg.c-table {
  margin-top: var(--adjust-margin-xl) !important;
}
.u-mt-lg.c-button-lyt {
  margin-top: var(--adjust-margin-xl) !important;
}
.u-mt-lg.c-linkBtn {
  margin-top: var(--adjust-margin-md) !important;
}
.u-mt-lg.c-linkBtn-lyt {
  margin-top: var(--adjust-margin-md) !important;
}
.c-hdg + .u-mt-lg {
  margin-top: 0 !important;
}

.u-mt-sm.m-hdgLg {
  margin-top: var(--adjust-margin-xl) !important;
}
.u-mt-sm.m-hdgMd {
  margin-top: var(--adjust-margin-lg) !important;
}
.u-mt-sm.m-hdgSm {
  margin-top: var(--adjust-margin-sm) !important;
}
.u-mt-sm.c-text {
  margin-top: var(--adjust-margin-lg) !important;
}
.u-mt-sm.c-imageCentered {
  margin-top: var(--adjust-margin-lg) !important;
}
.u-mt-sm.c-image2col {
  margin-top: var(--adjust-margin-lg) !important;
}
.u-mt-sm.c-video {
  margin-top: var(--adjust-margin-lg) !important;
}
.u-mt-sm.c-table-02 {
  margin-top: var(--adjust-margin-sm) !important;
}
.u-mt-sm.c-table {
  margin-top: var(--adjust-margin-sm) !important;
}
.u-mt-sm.c-button-lyt {
  margin-top: var(--adjust-margin-sm) !important;
}
.u-mt-sm.c-linkBtn {
  margin-top: var(--adjust-margin-xs) !important;
}
.u-mt-sm.c-linkBtn-lyt {
  margin-top: var(--adjust-margin-xs) !important;
}
.c-hdg + .u-mt-sm {
  margin-top: 0 !important;
}
