@-webkit-keyframes splide-loading {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }

  to {
    -webkit-transform: rotate(1turn);
    transform: rotate(1turn);
  }
}

@keyframes splide-loading {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }

  to {
    -webkit-transform: rotate(1turn);
    transform: rotate(1turn);
  }
}

.splide__track--draggable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.splide__track--fade > .splide__list > .splide__slide {
  z-index: 0;
  margin: 0 !important;
  opacity: 0;
}

.splide__track--fade > .splide__list > .splide__slide.is-active {
  z-index: 1;
  opacity: 1;
}

.splide--rtl {
  direction: rtl;
}

.splide__track--ttb > .splide__list {
  display: block;
}

.splide__container {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
}

.splide__list {
  -webkit-backface-visibility: hidden;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
  backface-visibility: hidden;
}

.splide.is-initialized:not(.is-active) .splide__list {
  display: block;
}

.splide__pagination {
  -ms-flex-align: center;
  -webkit-box-align: center;
  -ms-flex-wrap: wrap;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin: 0;
  pointer-events: none;
}

.splide__pagination li {
  display: inline-block;
  margin: 0;
  line-height: 1;
  list-style-type: none;
  pointer-events: auto;
}

.splide:not(.is-overflow) .splide__pagination {
  display: none;
}

.splide__progress__bar {
  width: 0;
}

.splide {
  visibility: hidden;
  position: relative;
}

.splide.is-initialized,
.splide.is-rendered {
  visibility: visible;
}

.splide__slide {
  -webkit-backface-visibility: hidden;
  -webkit-box-sizing: border-box;
  -ms-flex-negative: 0;
  box-sizing: border-box;
  position: relative;
  flex-shrink: 0;
  margin: 0;
  backface-visibility: hidden;
  list-style-type: none !important;
}

.splide__slide img {
  vertical-align: bottom;
}

.splide__spinner {
  -webkit-animation: splide-loading 1s linear infinite;
  contain: strict;
  display: inline-block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 20px;
  height: 20px;
  margin: auto;
  border: 2px solid #999;
  border-radius: 50%;
  border-left-color: transparent;
  animation: splide-loading 1s linear infinite;
}

.splide__sr {
  clip: rect(0 0 0 0);
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  border: 0;
}

.splide__toggle.is-active .splide__toggle__play,
.splide__toggle__pause {
  display: none;
}

.splide__toggle.is-active .splide__toggle__pause {
  display: inline;
}

.splide__track {
  z-index: 0;
  position: relative;
  overflow: hidden;
}

@-webkit-keyframes scroll-hint-appear {
  0% {
    -webkit-transform: translateX(40px);
    transform: translateX(40px);
    opacity: 0;
  }

  10% {
    opacity: 1;
  }

  50%, 100% {
    -webkit-transform: translateX(-40px);
    transform: translateX(-40px);
    opacity: 0;
  }
}

@keyframes scroll-hint-appear {
  0% {
    -webkit-transform: translateX(40px);
    transform: translateX(40px);
    opacity: 0;
  }

  10% {
    opacity: 1;
  }

  50%, 100% {
    -webkit-transform: translateX(-40px);
    transform: translateX(-40px);
    opacity: 0;
  }
}

.scroll-hint-icon {
  -webkit-box-sizing: border-box;
  -webkit-transition: opacity 0.3s;
  box-sizing: border-box;
  position: absolute;
  top: calc(50% - 25px);
  left: calc(50% - 60px);
  width: 120px;
  height: auto;
  padding: 20px 10px 10px 10px;
  border-radius: 5px;
  background: rgba(0, 0, 0, 0.7);
  text-align: center;
  opacity: 0;
  transition: opacity 0.3s;
}

.scroll-hint-icon-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-height: 100%;
  pointer-events: none;
}

.scroll-hint-text {
  margin-top: 5px;
  color: #FFF;
  font-size: 10px;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon {
  opacity: 0.8;
}

.scroll-hint-icon:before {
  display: inline-block;
  width: 40px;
  height: 40px;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDM8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIiBmaWxsPSIjZmZmIi8+PC9nPjwvZz48L3N2Zz4=);
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
  color: #FFF;
  text-align: center;
  vertical-align: middle;
}

.scroll-hint-icon:after {
  -webkit-transition-delay: 2.4s;
  display: block;
  position: absolute;
  top: 10px;
  left: 50%;
  width: 34px;
  height: 14px;
  margin-left: -20px;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDE8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIgZmlsbD0iI2ZmZiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiIGZpbGw9IiNmZmYiLz48L2c+PC9nPjwvc3ZnPg==);
  background-repeat: no-repeat;
  content: "";
  opacity: 0;
  transition-delay: 2.4s;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:after {
  opacity: 1;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:before {
  -webkit-animation: scroll-hint-appear 1.2s linear;
  -webkit-animation-iteration-count: 2;
  animation: scroll-hint-appear 1.2s linear;
  animation-iteration-count: 2;
}

.scroll-hint-icon-white {
  -webkit-box-shadow: 0 4px 5px rgba(0, 0, 0, 0.4);
  background-color: #FFF;
  box-shadow: 0 4px 5px rgba(0, 0, 0, 0.4);
}

.scroll-hint-icon-white:before {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDQ8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIi8+PC9nPjwvZz48L3N2Zz4=);
}

.scroll-hint-icon-white:after {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDI8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiLz48L2c+PC9nPjwvc3ZnPg==);
}

.scroll-hint-icon-white .scroll-hint-text {
  color: #000;
}

.scroll-hint-shadow-wrap {
  position: relative;
}

.scroll-hint-shadow-wrap::after {
  visibility: hidden;
  z-index: 1;
  position: absolute;
  top: 0;
  right: 0;
  width: 20px;
  height: 100%;
  background: linear-gradient(270deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
  content: "";
  opacity: 0;
  pointer-events: none;
}

.scroll-hint-shadow-wrap::before {
  visibility: hidden;
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 100%;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
  content: "";
  opacity: 0;
  pointer-events: none;
}

.scroll-hint-shadow-wrap:has(.scroll-hint.is-right-scrollable)::after,
.scroll-hint-shadow-wrap.is-right-scrollable::after {
  visibility: visible;
  opacity: 1;
}

.scroll-hint-shadow-wrap:has(.scroll-hint.is-left-scrollable)::before,
.scroll-hint-shadow-wrap.is-left-scrollable::before {
  visibility: visible;
  opacity: 1;
}

:root {
  --c-base: #fff;
  --c-main: #fe6400;
  --c-accent: #fe6400;
  --text-main: #000;
  --bg-main: #f5f5f5;
  --border-main: #ddd;
  --f-jp: "Noto Sans JP", sans-serif;
  --f-en: "Montserrat", sans-serif;
  --index-burger: 22;
  --index-menu: 21;
  --index-header: 20;
  --leading-trim: calc((1em - 1lh) / 2);
  --round: calc(1px / 0);
  --transi-bg: background-color 0.3s;
  --transi-color: color 0.3s;
  --transi-fill: fill 0.3s;
  --transi-opc: opacity 0.3s;
}

@-webkit-keyframes mv_circle {
  100% {
    stroke-dashoffset: 0;
  }
}

@keyframes mv_circle {
  100% {
    stroke-dashoffset: 0;
  }
}

@-webkit-keyframes flowing-anim {
  0% {
    -webkit-clip-path: inset(0 100% 0 0);
    clip-path: inset(0 100% 0 0);
  }

  100% {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
  }
}

@keyframes flowing-anim {
  0% {
    -webkit-clip-path: inset(0 100% 0 0);
    clip-path: inset(0 100% 0 0);
  }

  100% {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
  }
}

@-webkit-keyframes infinity-scroll-left {
  from {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  to {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}

@keyframes infinity-scroll-left {
  from {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  to {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  font-size: 62.5%;
}

body {
  width: 100%;
  color: var(--text-main);
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  font-family: var(--f-jp);
}

body.fixed {
  position: fixed;
  width: 100%;
  height: 100%;
}

#CookiebotWidget,
#CybotCookiebotDialog {
  display: none !important;
}

main {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  position: relative;
  flex: 1;
  padding-top: 60px;
}

img {
  max-width: 100%;
}

p {
  letter-spacing: 0.7px;
}

a {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}

button {
  -ms-touch-action: manipulation;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  color: var(--text-main);
  cursor: pointer;
  touch-action: manipulation;
}

svg {
  width: 100%;
  height: 100%;
}

/* ------------------------------------- */

/* component breadcrumb
/* ------------------------------------- */

.c-breadcrumb {
  padding: 20px 0 5px;
}

.c-breadcrumb__list {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-column-gap: 1rem;
  -moz-column-gap: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  column-gap: 1rem;
  align-items: center;
  padding: 0 10px 10px max(40px, (100vw - 1240px) / 2 + 20px);
  overflow-x: auto;
}

.c-breadcrumb__list::-webkit-scrollbar {
  height: 5px;
  background-color: #d9d9d9;
}

.c-breadcrumb__list::-webkit-scrollbar-track {
  height: 5px;
  background-color: #d9d9d9;
}

.c-breadcrumb__list::-webkit-scrollbar-thumb {
  height: 5px;
  background-color: #767676;
}

.c-breadcrumb__list::before {
  position: absolute;
  top: 40%;
  left: 0;
  width: max(30px, (100vw - 1240px) / 2);
  height: 1px;
  translate: 0 -50%;
  background-color: #ccc;
  content: "";
}

.c-breadcrumb__item {
  color: #555;
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: 0.5px;
  white-space: nowrap;
}

.c-breadcrumb__item:not(:last-child) {
  position: relative;
  padding-right: 1.5em;
}

.c-breadcrumb__item:not(:last-child)::after {
  position: absolute;
  top: 0;
  right: 0;
  content: "/";
  font-size: 1rem;
}

/* ------------------------------------- */

/* component business-modal
/* ------------------------------------- */

.c-business-button {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-column-gap: 10px;
  -moz-column-gap: 10px;
  -webkit-box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
  display: grid;
  position: absolute;
  right: 0;
  bottom: -30px;
  grid-template-columns: auto 40px;
  column-gap: 10px;
  align-items: center;
  width: 100%;
  max-width: 300px;
  padding: 10px 10px 10px 25px;
  border: none;
  border-radius: var(--round);
  border-radius: 100px 0 0 100px;
  background-color: var(--c-main);
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
  color: var(--c-base);
}

.c-business-button__text {
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.8px;
  text-align: center;
}

.c-business-button__arrow {
  -webkit-transition: var(--transi-bg);
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border: solid 1px var(--c-base);
  border-radius: var(--round);
  background-color: var(---c-main);
  transition: var(--transi-bg);
}

.c-business-button:focus-visible .c-business-button__arrow {
  background-color: var(--c-base);
}

.c-business-button__arrow-wrapper {
  width: 6px;
  height: 9px;
  overflow: hidden;
}

.c-business-button__arrows {
  -ms-flex-wrap: nowrap;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  -webkit-transition: -webkit-transform 0.3s;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: nowrap;
  justify-content: end;
  width: 6px;
  height: 9px;
  gap: 8px;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.c-business-button:focus-visible .c-business-button__arrows {
  -webkit-transform: translate(42px, 0px);
  -webkit-transition-delay: 100ms;
  -webkit-transition-duration: 1000ms;
  transform: translate(42px, 0px);
  transition-delay: 100ms;
  transition-duration: 1000ms;
}

.c-business-button__icon {
  width: 6px;
  min-width: 6px;
  min-height: 9px;
}

.c-business-button__icon--white {
  fill: var(--c-base);
}

.c-business-button__icon--orange {
  fill: var(--c-main);
}

.c-business-modal {
  -webkit-transition: var(--transi-opc);
  display: none;
  position: absolute;
  width: 100%;
  max-width: 100%;
  height: 100svh;
  max-height: 100%;
  margin: 0;
  padding: 0;
  border: none;
  background-color: rgba(0, 0, 0, 0.6);
  transition: var(--transi-opc);
}

.c-business-modal[open] {
  display: block flow;
}

.c-business-modal:not([data-active=true]) {
  opacity: 0;
}

.c-business-modal:-internal-dialog-in-top-layer {
  -webkit-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
  visibility: visible;
  position: fixed;
  width: 100%;
  max-width: 100%;
  height: 100dvh;
  max-height: 100%;
  overflow: auto;
  user-select: text;
}

.c-business-modal__container {
  position: fixed;
  top: 50%;
  left: 50%;
  aspect-ratio: 1000/820;
  width: calc(100% - 40px);
  max-width: 1000px;
  height: calc(100dvh - 60px);
  max-height: 820px;
  translate: -50% -50%;
  background-color: var(--c-base);
}

.c-business-modal__wrapper {
  height: 100%;
  padding: 60px;
  overflow-y: auto;
}

.c-business-modal__wrapper::-webkit-scrollbar {
  width: 4px;
  background-color: transparent;
}

.c-business-modal__wrapper::-webkit-scrollbar-track {
  width: 4px;
  background-color: transparent;
}

.c-business-modal__wrapper::-webkit-scrollbar-thumb {
  width: 4px;
  background-color: rgba(118, 118, 118, 0.5);
}

.c-business-modal__heading {
  padding-left: 20px;
  border-left: solid 5px var(--c-main);
  font-weight: 600;
  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: 1.2px;
}

.c-business-modal__heading .small {
  font-size: 1.6rem;
}

.c-business-modal__image {
  display: block;
  margin-top: 50px;
}

.c-business-modal__image img {
  width: 100%;
}

.c-business-modal__close {
  position: absolute;
  top: -20px;
  right: -20px;
  width: 45px;
  height: 45px;
  padding: 0;
  border: none;
  border-radius: var(--round);
  background-color: var(--bg-main);
}

.c-business-modal__close::before,
.c-business-modal__close::after {
  position: absolute;
  top: 22px;
  left: 50%;
  width: 20px;
  height: 1px;
  translate: -50% 0;
  background-color: #000;
  content: "";
}

.c-business-modal__close::before {
  rotate: -45deg;
}

.c-business-modal__close::after {
  rotate: 45deg;
}

.c-business-button__close {
  margin: 40px auto 0;
  border: none;
}

/* ------------------------------------- */

/* component button
/* ------------------------------------- */

.c-button-primary {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-column-gap: 10px;
  -moz-column-gap: 10px;
  -webkit-box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
  display: grid;
  grid-template-columns: auto 40px;
  column-gap: 10px;
  align-items: center;
  width: 100%;
  max-width: 300px;
  padding: 10px 10px 10px 25px;
  border-radius: var(--round);
  background-color: var(--c-main);
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
  color: var(--c-base);
}

.c-button-primary--reverse {
  grid-template-columns: 40px auto;
  padding: 10px 25px 10px 10px;
}

.c-button-primary__text {
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.8px;
  text-align: center;
}

.c-button-primary__arrow {
  -webkit-transition: var(--transi-bg);
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border: solid 1px var(--c-base);
  border-radius: var(--round);
  background-color: var(---c-main);
  transition: var(--transi-bg);
}

.c-button-primary:focus-visible .c-button-primary__arrow {
  background-color: var(--c-base);
}

.c-button-primary__arrow-wrapper {
  width: 6px;
  height: 9px;
  overflow: hidden;
}

.c-button-primary__arrows {
  -ms-flex-wrap: nowrap;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  -webkit-transition: -webkit-transform 0.3s;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: nowrap;
  justify-content: end;
  width: 6px;
  height: 9px;
  gap: 8px;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.c-button-primary:focus-visible .c-button-primary__arrows {
  -webkit-transform: translate(42px, 0px);
  -webkit-transition-delay: 100ms;
  -webkit-transition-duration: 1000ms;
  transform: translate(42px, 0px);
  transition-delay: 100ms;
  transition-duration: 1000ms;
}

.c-button-primary__arrow-wrapper--reverse {
  rotate: 180deg;
}

.c-button-primary__icon {
  width: 6px;
  min-width: 6px;
  min-height: 9px;
}

.c-button-primary__icon--white {
  fill: var(--c-base);
}

.c-button-primary__icon--orange {
  fill: var(--c-main);
}

.c-button-secondary {
  -webkit-transition: var(--transi-bg);
  display: grid;
  place-items: center;
  width: 60px;
  height: 60px;
  border: solid 1px var(--c-main);
  border-radius: var(--round);
  background-color: var(--c-main);
  transition: var(--transi-bg);
}

.c-button-secondary:focus-visible {
  background-color: var(--c-base);
}

.c-button-secondary--transparent {
  border: solid 1px var(--c-base);
  background-color: transparent;
}

.c-button-secondary--transparent:focus-visible {
  border-color: var(--c-main);
  background-color: var(--c-main);
}

.c-button-secondary__arrow-wrapper {
  width: 6px;
  height: 9px;
  overflow: hidden;
}

.c-button-secondary__arrows {
  -ms-flex-wrap: nowrap;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  -webkit-transition: -webkit-transform 0.3s;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: nowrap;
  justify-content: end;
  width: 6px;
  height: 9px;
  gap: 8px;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.c-button-secondary:focus-visible .c-button-secondary__arrows {
  -webkit-transform: translate(42px, 0px);
  -webkit-transition-delay: 100ms;
  -webkit-transition-duration: 1000ms;
  transform: translate(42px, 0px);
  transition-delay: 100ms;
  transition-duration: 1000ms;
}

.c-button-secondary__icon {
  width: 6px;
  min-width: 6px;
  min-height: 9px;
}

.c-button-secondary__icon--white {
  fill: var(--c-base);
}

.c-button-secondary__icon--orange {
  fill: var(--c-main);
}

.c-button__wrapper {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -ms-flex-wrap: wrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin-top: 100px;
  gap: 12px 30px;
}

/* ------------------------------------- */

/* component column
/* ------------------------------------- */

.c-column-container {
  display: grid;
  row-gap: 100px;
  margin-top: 160px;
}

.c-column {
  -webkit-column-gap: 80px;
  -moz-column-gap: 80px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 80px;
  align-items: center;
}

.c-column--bg {
  -o-border-image: linear-gradient(var(--bg-main) 0 0) 0//0 100vi;
  margin-top: -10px;
  padding: 80px 0;
  border-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, var(--bg-main))) fill 0//0 100vi;
  border-image: linear-gradient(var(--bg-main) 0 0) fill 0//0 100vi;
}

.c-column__info {
  grid-row: 1/2;
  grid-column: 1/2;
}

.c-column__number {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  color: var(--c-main);
  font-weight: 700;
  font-size: 1.6rem;
  font-family: var(--f-en);
}

.c-column__number .num {
  display: block;
  margin-top: 5px;
  font-size: 6.4rem;
  text-align: center;
}

.c-column__heading {
  margin-top: 30px;
  font-weight: 700;
  font-size: 2.8rem;
  line-height: 1.5;
  letter-spacing: 1.4px;
}

.c-column__subheading {
  margin-top: 15px;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.5;
}

.p-column__text {
  margin-top: 30px;
  line-height: 2;
}

.c-column__tags {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -ms-flex-wrap: wrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 15px;
  gap: 10px;
}

.c-column__tag {
  padding: 8px 10px;
  border: solid 1px #ddd;
  border-radius: var(--round);
  font-size: 1.2rem;
  letter-spacing: 0.6px;
}

.c-column__tag--industrial {
  border-color: #378dcd;
  color: #378dcd;
}

.c-column__tag--wood {
  border-color: #BA8F00;
  color: #BA8F00;
}

.c-column__tag--machine {
  border-color: #1ca462;
  color: #1ca462;
}

.c-column__tag--other {
  border-color: #555;
  color: #555;
}

.c-column__image {
  grid-row: 1/3;
  grid-column: 2/3;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}

.c-column__button {
  margin-top: 30px;
}

.c-column__link-text {
  margin-top: 40px;
  font-weight: 700;
  line-height: 1.5;
}

.c-column__link {
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 2;
  word-break: break-all;
}

/* ------------------------------------- */

/* component form
/* ------------------------------------- */

.c-form {
  margin-top: 20px;
}

.c-form__container {
  padding: 50px;
  border-radius: 10px;
  background-color: var(--bg-main);
}

.c-form__list {
  border-bottom: solid 1px var(--border-main);
}

.c-form__item {
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  align-items: center;
  border-top: solid 1px var(--border-main);
}

.c-form__title {
  padding: 20px 10px;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.8px;
}

.c-form__title .caution {
  color: var(--c-main);
}

.c-form__title .small {
  display: block;
  font-weight: 400;
  font-size: 1.2rem;
}

.c-form__data {
  padding: 20px 44px 20px 10px;
  line-height: 1.5;
}

.c-form [class^=is-error] span {
  color: red;
  font-size: 1.4rem;
  line-height: 1.75;
  letter-spacing: 0.6px;
}

.c-form input[type=text],
.c-form input[type=email],
.c-form textarea {
  width: 100%;
  padding: 12px 20px;
  border: solid 1px #ccc;
  border-radius: 5px;
  color: var(--text-main);
  font-size: 1.6rem;
  line-height: 1.5;
  font-family: var(--f-jp);
}

.c-form input[type=text]::-webkit-input-placeholder,
.c-form input[type=email]::-webkit-input-placeholder,
.c-form textarea::-webkit-input-placeholder {
  color: #ccc;
  font-size: 1.6rem;
  font-family: var(--f-jp);
}

.c-form input[type=text]::-moz-placeholder,
.c-form input[type=email]::-moz-placeholder,
.c-form textarea::-moz-placeholder {
  color: #ccc;
  font-size: 1.6rem;
  font-family: var(--f-jp);
}

.c-form input[type=text]:-ms-input-placeholder,
.c-form input[type=email]:-ms-input-placeholder,
.c-form textarea:-ms-input-placeholder {
  color: #ccc;
  font-size: 1.6rem;
  font-family: var(--f-jp);
}

.c-form input[type=text]::-ms-input-placeholder,
.c-form input[type=email]::-ms-input-placeholder,
.c-form textarea::-ms-input-placeholder {
  color: #ccc;
  font-size: 1.6rem;
  font-family: var(--f-jp);
}

.c-form input[type=text]::placeholder,
.c-form input[type=email]::placeholder,
.c-form textarea::placeholder {
  color: #ccc;
  font-size: 1.6rem;
  font-family: var(--f-jp);
}

.c-form input[type=radio] {
  -webkit-appearance: none;
  -moz-appearance: none;
  display: grid;
  appearance: none;
  place-items: center;
  width: 17px;
  height: 17px;
  margin: 0;
  padding: 0;
  border: solid 1px var(--border-main);
  border-radius: var(--round);
  background-color: var(--c-base);
  cursor: pointer;
}

.c-form input[type=radio]::after {
  width: 11px;
  height: 11px;
  border-radius: var(--round);
  background-color: var(--c-main);
  content: "";
  opacity: 0;
}

.c-form input[type=radio]:checked::after {
  opacity: 1;
}

.c-form input[type=checkbox] {
  -webkit-appearance: none;
  -moz-appearance: none;
  display: grid;
  appearance: none;
  place-items: center;
  width: 16px;
  height: 16px;
  margin: 0;
  padding: 0;
  border: solid 1px var(--border-main);
  border-radius: 0px;
  background-color: var(--c-base);
  cursor: pointer;
}

.c-form input[type=checkbox]::after {
  width: 6px;
  height: 9px;
  margin-top: -3px;
  rotate: 45deg;
  border-right: solid 2px var(--c-main);
  border-bottom: solid 2px var(--c-main);
  content: "";
  opacity: 0;
}

.c-form input[type=checkbox]:checked::after {
  opacity: 1;
}

.c-form textarea {
  height: 120px;
  resize: none;
}

.c-form__radio-label,
.c-form__checkbox-label {
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  gap: 5px;
  cursor: pointer;
}

.c-form__radio-wrap {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -ms-flex-wrap: wrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 15px 30px;
}

.c-form__button {
  -webkit-appearance: none;
  -moz-appearance: none;
  -webkit-transition: var(--transi-opc);
  display: block;
  appearance: none;
  width: 100%;
  max-width: 270px;
  padding: 22px 20px;
  border: none;
  border-radius: 0px;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1;
  font-family: var(--f-jp);
  letter-spacing: 0.8px;
  text-align: center;
  cursor: pointer;
  transition: var(--transi-opc);
}

.c-form__button:focus-visible {
  opacity: 0.8;
}

.c-form__button-form {
  width: 100%;
  max-width: 270px;
}

.c-form__button--submit {
  background-color: var(--c-main);
  color: var(--c-base);
}

.c-form__button--return {
  background-color: #ddd;
  color: #000;
}

.c-form__button-wrap {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
  margin-top: 50px;
  gap: 10px 15px;
}

.c-form__address-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 5px;
  gap: 5px 22px;
}

.c-form__address-number {
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  gap: 10px;
}

.c-form__address-number01,
.c-form__address-number02 {
  max-width: 170px;
}

.c-form__address-prefecture {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-grow: 1;
  align-items: center;
  gap: 13px;
}

.c-form__address-prefecture .head {
  font-size: 1.6rem;
  line-height: 1.5;
  white-space: nowrap;
}

.c-form__address-select-wrap {
  position: relative;
  width: 100%;
  max-width: 170px;
}

.c-form__address-select-wrap::after {
  -webkit-clip-path: polygon(0 0, 50% 100%, 100% 0);
  position: absolute;
  top: 50%;
  right: 20px;
  width: 10px;
  height: 10px;
  translate: 0 -50%;
  background-color: #000;
  content: "";
  clip-path: polygon(0 0, 50% 100%, 100% 0);
}

.c-form__address-select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  padding: 13px 40px 13px 20px;
  border: solid 1px #ccc;
  border-radius: 5px;
  background-color: var(--c-base);
  color: var(--text-main);
  font-size: 1.6rem;
  line-height: 1.5;
  font-family: var(--f-jp);
}

.c-form__notice {
  margin-top: 5px;
  font-size: 1.2rem;
  line-height: 1.5;
  letter-spacing: 0.6px;
}

/* ------------------------------------- */

/* component heading
/* ------------------------------------- */

.c-heading {
  font-weight: 700;
  font-size: 3.6rem;
  line-height: 1.5;
  letter-spacing: 1.6px;
}

.c-heading .sub,
.c-heading .sub-jp {
  display: block;
  margin-bottom: 10px;
  color: var(--c-main);
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.0625;
  letter-spacing: 0.8px;
}

.c-heading .sub {
  font-family: var(--f-en);
}

/* ------------------------------------- */

/* component inquiry-form
/* ------------------------------------- */

.c-inquiry-form {
  padding: 80px 0 100px;
}

.c-inquiry-form__inner {
  max-width: 1040px;
}

.c-inquiry-form__text {
  line-height: 2;
}

.c-inquiry-form__text .caution {
  color: var(--c-main);
}

.c-inquiry-form__text .link {
  text-decoration: underline;
}

.c-inquiry-form__text--thanks {
  margin-top: 50px;
  line-height: 2;
}

.c-inquiry-form__button {
  margin: 50px auto 0;
}

/* ------------------------------------- */

/* component library-menu
/* ------------------------------------- */

.c-library-menu {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(190px, 100%), 1fr));
  justify-content: center;
  max-width: 1140px;
  margin: 100px auto 0;
  gap: 20px 40px;
}

.c-library-menu__link {
  -webkit-transition: var(--transi-bg), var(--transi-color);
  display: grid;
  place-items: center;
  padding: 23px 10px;
  border: solid 1px var(--c-main);
  color: var(--c-main);
  font-weight: 600;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.8px;
  text-align: center;
  transition: var(--transi-bg), var(--transi-color);
}

.c-library-menu__link:focus-visible {
  background-color: var(--c-main);
  color: var(--c-base);
}

/* ------------------------------------- */

/* component link
/* ------------------------------------- */

.c-link-primary {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-column-gap: 15px;
  -moz-column-gap: 15px;
  display: grid;
  grid-template-columns: auto 6px;
  column-gap: 15px;
  align-items: center;
  padding: 10px 20px 10px 16px;
  border-radius: var(--round);
  background-color: var(--c-base);
  color: var(--text-main);
  line-height: 1.5;
  letter-spacing: 0.8px;
}

.c-link-primary--has-icon {
  grid-template-columns: 15px auto 6px;
  gap: 11px;
}

.c-link-primary--has-icon::before {
  width: 15px;
  height: 19px;
  background: url(../img/common/icon-pdf.svg) no-repeat center center/contain;
  content: "";
}

.c-link-primary__arrow-wrapper {
  width: 6px;
  height: 9px;
  overflow: hidden;
}

.c-link-primary__arrow {
  -ms-flex-wrap: nowrap;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  -webkit-transition: -webkit-transform 0.5s;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: nowrap;
  justify-content: end;
  width: 6px;
  height: 9px;
  gap: 8px;
  transition: -webkit-transform 0.5s;
  transition: transform 0.5s;
  transition: transform 0.5s, -webkit-transform 0.5s;
}

.c-link-primary__arrow-icon {
  fill: var(--c-main);
  width: 6px;
  min-width: 6px;
  height: 9px;
}

/* ------------------------------------- */

/* component lower
/* ------------------------------------- */

.c-lower-mv {
  width: 100%;
  height: 388px;
  margin-bottom: 28px;
  background: url(../img/common/mv-lower.png) no-repeat center center/cover;
}

.c-lower-mv__inner {
  display: grid;
  place-items: center start;
  max-width: 1240px;
  height: 100%;
}

.c-lower-mv__title {
  color: var(--c-main);
  font-weight: 700;
  font-size: 6.4rem;
  line-height: 1.09375;
  font-family: var(--f-en);
  letter-spacing: 1.8px;
}

.c-lower-mv__title .sub {
  display: block;
  margin-top: 30px;
  color: var(--text-main);
  font-weight: 700;
  font-size: 2.4rem;
  font-family: var(--f-jp);
  letter-spacing: 0.8px;
}

/* ------------------------------------- */

/* component more-contents
/* ------------------------------------- */

.c-more-contents {
  background-color: var(--bg-main);
}

.c-more-contents__inner {
  padding-left: max(20px, (100vw - 1200px) / 2);
}

.c-more-contents__container {
  display: grid;
  grid-template-columns: 340px minmax(0, 1fr);
}

.c-more-contents__head {
  display: grid;
  grid-template-rows: 1fr -webkit-max-content;
  grid-template-rows: 1fr max-content;
  padding: 80px 0;
  border-right: solid 1px var(--border-main);
}

.c-more-contents__heading {
  color: var(--c-main);
  font-weight: 700;
  font-size: 4.2rem;
  line-height: 1.0952380952;
  font-family: var(--f-en);
  letter-spacing: 2.1px;
}

.c-more-contents__heading .sub {
  display: block;
  color: var(--text-main);
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 2;
  font-family: var(--f-jp);
  letter-spacing: 0.8px;
}

.c-more-contents__list {
  display: grid;
}

.c-more-contents__list::-webkit-scrollbar {
  height: 4px;
  background-color: #d9d9d9;
}

.c-more-contents__list::-webkit-scrollbar-track {
  height: 4px;
  background-color: #d9d9d9;
}

.c-more-contents__list::-webkit-scrollbar-thumb {
  height: 4px;
  background-color: rgba(118, 118, 118, 0.5);
}

.c-more-contents__list--col01 {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  grid-template-columns: repeat(1, min(440px, 100%));
  justify-content: center;
}

.c-more-contents__list--col02 {
  grid-template-columns: repeat(2, min(440px, 100%));
  overflow-x: auto;
  overflow-y: hidden;
}

.c-more-contents__list--col03 {
  grid-template-columns: repeat(3, min(440px, 100%));
  overflow-x: auto;
  overflow-y: hidden;
}

.c-more-contents__item {
  position: relative;
  min-height: 601px;
  padding: 80px 40px;
  overflow: hidden;
}

.c-more-contents__item.is-active::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 440px;
  height: 100%;
  background-color: #c8c8c8;
  content: "";
}

.c-more-contents__item.is-active .c-more-contents__title,
.c-more-contents__item.is-active .c-more-contents__text {
  color: var(--c-base);
}

.c-more-contents__item.is-active .c-more-contents__button {
  display: none;
}

.c-more-contents__slide-thumb {
  position: relative;
  aspect-ratio: 360/240;
}

.c-more-contents__slide-thumb img {
  -o-object-fit: cover;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c-more-contents__title {
  position: relative;
  margin-top: 30px;
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: 1.2px;
}

.c-more-contents__text {
  position: relative;
  margin-top: 5px;
  line-height: 2;
}

.c-more-contents__button {
  position: relative;
  margin-top: 10px;
}

.c-more-contents__button-wrapper {
  display: grid;
  row-gap: 15px;
}

.c-more-contents__button--reverse {
  background-color: var(--c-base);
  color: var(--c-main);
}

.c-more-contents__button--reverse .c-button-primary__arrow {
  border-color: var(--c-main);
}

.c-more-contents__button--reverse:focus-visible .c-button-primary__arrow {
  background-color: var(--c-main);
}

.c-more-contents__button--sustainability {
  min-height: 60px;
  padding: 6px 25px 6px 10px;
}

/* ------------------------------------- */

/* component pager
/* ------------------------------------- */

.c-pager__list {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.c-pager__item {
  aspect-ratio: 1;
  width: 35px;
}

.c-pager__item.--prev {
  margin-right: 15px;
}

.c-pager__item.--next {
  margin-left: 15px;
}

.c-pager__dot,
.c-pager__number,
.c-pager__arrow {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
}

.c-pager__number {
  border-radius: var(--round);
}

.c-pager__number:not(.--current) {
  -webkit-transition: var(--transi-bg);
  transition: var(--transi-bg);
}

.c-pager__number:not(.--current):focus-visible {
  background-color: #ddd;
}

.c-pager__number.--current {
  background-color: var(--c-main);
  color: var(--c-base);
}

.c-pager__arrow .icon {
  width: 7px;
  height: 13px;
}

.c-pager__arrow.--prev {
  rotate: 180deg;
}

.c-pager__arrow.--disabled {
  opacity: 0.3;
  pointer-events: none;
}

.c-post {
  --wp--preset--color--black: #000000;
  --wp--preset--color--cyan-bluish-gray: #abb8c3;
  --wp--preset--color--white: #ffffff;
  --wp--preset--color--pale-pink: #f78da7;
  --wp--preset--color--vivid-red: #cf2e2e;
  --wp--preset--color--luminous-vivid-orange: #ff6900;
  --wp--preset--color--luminous-vivid-amber: #fcb900;
  --wp--preset--color--light-green-cyan: #7bdcb5;
  --wp--preset--color--vivid-green-cyan: #00d084;
  --wp--preset--color--pale-cyan-blue: #8ed1fc;
  --wp--preset--color--vivid-cyan-blue: #0693e3;
  --wp--preset--color--vivid-purple: #9b51e0;
  --wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(
  	135deg,
  	rgba(6, 147, 227, 1) 0%,
  	rgb(155, 81, 224) 100%
  );
  --wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(
  	135deg,
  	rgb(122, 220, 180) 0%,
  	rgb(0, 208, 130) 100%
  );
  --wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(
  	135deg,
  	rgba(252, 185, 0, 1) 0%,
  	rgba(255, 105, 0, 1) 100%
  );
  --wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(
  	135deg,
  	rgba(255, 105, 0, 1) 0%,
  	rgb(207, 46, 46) 100%
  );
  --wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(
  	135deg,
  	rgb(238, 238, 238) 0%,
  	rgb(169, 184, 195) 100%
  );
  --wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(
  	135deg,
  	rgb(74, 234, 220) 0%,
  	rgb(151, 120, 209) 20%,
  	rgb(207, 42, 186) 40%,
  	rgb(238, 44, 130) 60%,
  	rgb(251, 105, 98) 80%,
  	rgb(254, 248, 76) 100%
  );
  --wp--preset--gradient--blush-light-purple: linear-gradient(135deg, rgb(255, 206, 236) 0%, rgb(152, 150, 240) 100%);
  --wp--preset--gradient--blush-bordeaux: linear-gradient(
  	135deg,
  	rgb(254, 205, 165) 0%,
  	rgb(254, 45, 45) 50%,
  	rgb(107, 0, 62) 100%
  );
  --wp--preset--gradient--luminous-dusk: linear-gradient(
  	135deg,
  	rgb(255, 203, 112) 0%,
  	rgb(199, 81, 192) 50%,
  	rgb(65, 88, 208) 100%
  );
  --wp--preset--gradient--pale-ocean: linear-gradient(
  	135deg,
  	rgb(255, 245, 203) 0%,
  	rgb(182, 227, 212) 50%,
  	rgb(51, 167, 181) 100%
  );
  --wp--preset--gradient--electric-grass: linear-gradient(135deg, rgb(202, 248, 128) 0%, rgb(113, 206, 126) 100%);
  --wp--preset--gradient--midnight: linear-gradient(135deg, rgb(2, 3, 129) 0%, rgb(40, 116, 252) 100%);
  --wp--preset--font-size--small: 13px;
  --wp--preset--font-size--medium: 20px;
  --wp--preset--font-size--large: 36px;
  --wp--preset--font-size--x-large: 42px;
  --wp--preset--spacing--20: 0.44rem;
  --wp--preset--spacing--30: 0.67rem;
  --wp--preset--spacing--40: 1rem;
  --wp--preset--spacing--50: 1.5rem;
  --wp--preset--spacing--60: 2.25rem;
  --wp--preset--spacing--70: 3.38rem;
  --wp--preset--spacing--80: 5.06rem;
  --wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);
  --wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);
  --wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);
  --wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);
  --wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);
}

.has-black-color {
  color: var(--wp--preset--color--black) !important;
}

.has-cyan-bluish-gray-color {
  color: var(--wp--preset--color--cyan-bluish-gray) !important;
}

.has-white-color {
  color: var(--wp--preset--color--white) !important;
}

.has-pale-pink-color {
  color: var(--wp--preset--color--pale-pink) !important;
}

.has-vivid-red-color {
  color: var(--wp--preset--color--vivid-red) !important;
}

.has-luminous-vivid-orange-color {
  color: var(--wp--preset--color--luminous-vivid-orange) !important;
}

.has-luminous-vivid-amber-color {
  color: var(--wp--preset--color--luminous-vivid-amber) !important;
}

.has-light-green-cyan-color {
  color: var(--wp--preset--color--light-green-cyan) !important;
}

.has-vivid-green-cyan-color {
  color: var(--wp--preset--color--vivid-green-cyan) !important;
}

.has-pale-cyan-blue-color {
  color: var(--wp--preset--color--pale-cyan-blue) !important;
}

.has-vivid-cyan-blue-color {
  color: var(--wp--preset--color--vivid-cyan-blue) !important;
}

.has-vivid-purple-color {
  color: var(--wp--preset--color--vivid-purple) !important;
}

.has-black-background-color {
  background-color: var(--wp--preset--color--black) !important;
}

.has-cyan-bluish-gray-background-color {
  background-color: var(--wp--preset--color--cyan-bluish-gray) !important;
}

.has-white-background-color {
  background-color: var(--wp--preset--color--white) !important;
}

.has-pale-pink-background-color {
  background-color: var(--wp--preset--color--pale-pink) !important;
}

.has-vivid-red-background-color {
  background-color: var(--wp--preset--color--vivid-red) !important;
}

.has-luminous-vivid-orange-background-color {
  background-color: var(--wp--preset--color--luminous-vivid-orange) !important;
}

.has-luminous-vivid-amber-background-color {
  background-color: var(--wp--preset--color--luminous-vivid-amber) !important;
}

.has-light-green-cyan-background-color {
  background-color: var(--wp--preset--color--light-green-cyan) !important;
}

.has-vivid-green-cyan-background-color {
  background-color: var(--wp--preset--color--vivid-green-cyan) !important;
}

.has-pale-cyan-blue-background-color {
  background-color: var(--wp--preset--color--pale-cyan-blue) !important;
}

.has-vivid-cyan-blue-background-color {
  background-color: var(--wp--preset--color--vivid-cyan-blue) !important;
}

.has-vivid-purple-background-color {
  background-color: var(--wp--preset--color--vivid-purple) !important;
}

.has-black-border-color {
  border-color: var(--wp--preset--color--black) !important;
}

.has-cyan-bluish-gray-border-color {
  border-color: var(--wp--preset--color--cyan-bluish-gray) !important;
}

.has-white-border-color {
  border-color: var(--wp--preset--color--white) !important;
}

.has-pale-pink-border-color {
  border-color: var(--wp--preset--color--pale-pink) !important;
}

.has-vivid-red-border-color {
  border-color: var(--wp--preset--color--vivid-red) !important;
}

.has-luminous-vivid-orange-border-color {
  border-color: var(--wp--preset--color--luminous-vivid-orange) !important;
}

.has-luminous-vivid-amber-border-color {
  border-color: var(--wp--preset--color--luminous-vivid-amber) !important;
}

.has-light-green-cyan-border-color {
  border-color: var(--wp--preset--color--light-green-cyan) !important;
}

.has-vivid-green-cyan-border-color {
  border-color: var(--wp--preset--color--vivid-green-cyan) !important;
}

.has-pale-cyan-blue-border-color {
  border-color: var(--wp--preset--color--pale-cyan-blue) !important;
}

.has-vivid-cyan-blue-border-color {
  border-color: var(--wp--preset--color--vivid-cyan-blue) !important;
}

.has-vivid-purple-border-color {
  border-color: var(--wp--preset--color--vivid-purple) !important;
}

.has-vivid-cyan-blue-to-vivid-purple-gradient-background {
  background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;
}

.has-light-green-cyan-to-vivid-green-cyan-gradient-background {
  background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;
}

.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background {
  background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;
}

.has-luminous-vivid-orange-to-vivid-red-gradient-background {
  background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;
}

.has-very-light-gray-to-cyan-bluish-gray-gradient-background {
  background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;
}

.has-cool-to-warm-spectrum-gradient-background {
  background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;
}

.has-blush-light-purple-gradient-background {
  background: var(--wp--preset--gradient--blush-light-purple) !important;
}

.has-blush-bordeaux-gradient-background {
  background: var(--wp--preset--gradient--blush-bordeaux) !important;
}

.has-luminous-dusk-gradient-background {
  background: var(--wp--preset--gradient--luminous-dusk) !important;
}

.has-pale-ocean-gradient-background {
  background: var(--wp--preset--gradient--pale-ocean) !important;
}

.has-electric-grass-gradient-background {
  background: var(--wp--preset--gradient--electric-grass) !important;
}

.has-midnight-gradient-background {
  background: var(--wp--preset--gradient--midnight) !important;
}

.is-layout-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.5em;
}

.is-content-justification-center {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.is-content-justification-right {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.wp-block-table table {
  width: 100%;
  border-collapse: collapse;
}

.aligncenter {
  text-align: center;
}

.alignright {
  text-align: right;
}

.alignleft {
  text-align: left;
}

.c-post p {
  margin: 40px 0;
  font-size: 1.6rem;
  line-height: 2;
}

.c-post p strong {
  font-weight: 700;
}

.c-post a {
  text-decoration: underline;
}

.c-post h1 {
  margin-top: 20px;
  padding-bottom: 10px;
  border-bottom: solid 1px #ddd;
  font-size: 2.8rem;
  line-height: 1.5;
  letter-spacing: 1.4px;
}

.c-post h2 {
  margin: 40px 0;
  padding-left: 20px;
  border-left: solid 4px var(--c-main);
  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: 1.2px;
}

.c-post h3 {
  margin: 40px 0;
  padding: 10px 20px;
  background-color: var(--bg-main);
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 1px;
}

.c-post h4 {
  -webkit-column-gap: 10px;
  -moz-column-gap: 10px;
  display: grid;
  grid-template-columns: 15px 1fr;
  column-gap: 10px;
  margin: 40px 0;
  font-size: 1.8rem;
  line-height: 1.5;
  letter-spacing: 0.9px;
}

.c-post h4::before {
  aspect-ratio: 1;
  width: 15px;
  block-size: 15px;
  margin-block: calc((1lh - 15px) / 2);
  background-color: var(--c-main);
  content: "";
}

.c-post h5 {
  -webkit-column-gap: 10px;
  -moz-column-gap: 10px;
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 10px;
  margin: 40px 0;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.8px;
}

.c-post h5::before {
  width: 15px;
  height: 1px;
  margin-block: calc((1lh - 1px) / 2);
  background-color: var(--c-main);
  content: "";
}

.c-post h6 {
  -webkit-column-gap: 10px;
  -moz-column-gap: 10px;
  display: grid;
  grid-template-columns: 15px 1fr;
  column-gap: 10px;
  margin: 40px 0;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.8px;
}

.c-post h6::before {
  aspect-ratio: 1;
  width: 15px;
  block-size: 15px;
  margin-block: calc((1lh - 15px) / 2);
  border-radius: 100px;
  background-color: #ddd;
  content: "";
}

.c-post .wp-block-table {
  margin: 30px 0;
}

.c-post .wp-block-table::-webkit-scrollbar {
  height: 5px;
  background-color: #d9d9d9;
}

.c-post .wp-block-table::-webkit-scrollbar-thumb {
  height: 5px;
  background-color: rgba(118, 118, 118, 0.5);
}

.c-post ul li,
.c-post ol li {
  line-height: 2;
}

.wp-block-embed__wrapper {
  position: relative;
  margin-top: 30px;
}

.wp-embed-aspect-16-9 .wp-block-embed__wrapper {
  aspect-ratio: 16/9;
}

.wp-block-embed__wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.c-post p.has-background {
  padding: 1.25em 2.375em;
}

.c-post ul,
.c-post ol {
  margin: 30px 0;
  list-style-position: inside;
}

.c-post ul {
  list-style-type: disc;
}

.c-post ol {
  list-style-type: decimal;
}

.c-post table {
  border-collapse: collapse;
}

.c-post table.has-fixed-layout {
  width: 100%;
  table-layout: fixed;
}

.c-post .wp-block-flexible-table-block-table {
  margin: 30px 0;
}

.c-post .wp-block-flexible-table-block-table::-webkit-scrollbar {
  height: 5px;
  background-color: #d9d9d9;
}

.c-post .wp-block-flexible-table-block-table::-webkit-scrollbar-thumb {
  height: 5px;
  background-color: rgba(118, 118, 118, 0.5);
}

.c-post .wp-block-flexible-table-block-table th {
  background-color: var(--bg-main);
  font-weight: 700;
  letter-spacing: 0.8px;
  vertical-align: middle;
}

.c-post .wp-block-table td:first-child {
  width: 180px;
  background-color: var(--bg-main);
  font-weight: 700;
  letter-spacing: 0.8px;
  vertical-align: middle;
}

.c-post th,
.c-post td {
  padding: 20px;
  border: solid 1px var(--border-main);
  line-height: 1.75;
  letter-spacing: 0.8px;
}

.c-post .wp-block-table td:first-child {
  width: 180px;
  background-color: var(--bg-main);
  font-weight: 700;
  letter-spacing: 0.8px;
  vertical-align: middle;
}

.c-post .wp-block-gallery {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2em;
}

.c-post .wp-block-gallery img {
  height: auto;
}

.c-post .wp-element-caption {
  margin-top: 8px;
  font-size: 1.4rem;
  line-height: 1.5;
}

.c-post .wp-block-image {
  margin: 30px 0;
}

.c-post .wp-block-image img {
  width: 100%;
  height: auto;
}

.c-post .wp-block-columns img {
  display: block;
  width: 100%;
  height: 100%;
}

.c-post .wp-block-media-text {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: grid;
  grid-template-rows: auto;
  grid-template-columns: 50% 1fr;
  margin: 30px 0;
  direction: ltr;
}

.c-post .wp-block-media-text__media img {
  width: 100%;
  max-width: unset;
  height: auto;
  vertical-align: middle;
}

.c-post .wp-block-columns.is-layout-flex {
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
}

.c-post .wp-block-columns.is-layout-flex > .wp-block-column {
  -ms-flex-preferred-size: 0;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  flex-basis: 0;
}

.c-post .wp-block-columns.is-layout-flex img {
  height: auto;
}

.c-post .wp-block-columns.is-layout-flex p {
  margin: 30px 0;
}

.c-post .wp-block-media-text .wp-block-media-text__content {
  grid-row: 1;
  grid-column: 2;
  padding: 0 8%;
  direction: ltr;
  word-break: break-word;
}

.c-post .wp-block-buttons {
  margin-top: 30px;
}

.c-post .wp-block-button {
  width: 280px;
}

.c-post .wp-block-buttons > .wp-block-button {
  display: inline-block;
}

.c-post .wp-block-button.has-custom-width.wp-block-button__width-100 {
  width: 100%;
}

.c-post .wp-block-button.has-custom-width.wp-block-button__width-75 {
  width: 75%;
}

.c-post .wp-block-button.has-custom-width.wp-block-button__width-50 {
  width: 50%;
}

.c-post .wp-block-button.has-custom-width.wp-block-button__width-25 {
  width: 25%;
}

.c-post .wp-block-button .wp-block-button__link {
  text-decoration: none;
  cursor: pointer;
}

.c-post .wp-block-buttons > .wp-block-button.has-custom-width .wp-block-button__link {
  width: 100%;
}

.c-post .wp-block-button__link {
  -webkit-column-gap: 1em;
  -moz-column-gap: 1em;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-transition: var(--transi-bg);
  -webkit-transition: var(--transi-bg), var(--transi-color), border-color 0.3s;
  display: inline grid;
  position: relative;
  grid-template-columns: 1fr auto 1fr;
  column-gap: 1em;
  align-items: center;
  width: 100%;
  padding: 22px 25px;
  border: solid 1px var(--c-main);
  background-color: var(--c-main);
  color: var(--c-main);
  color: var(--c-base);
  font-weight: 700;
  font-size: 1.4rem;
  letter-spacing: 0.7px;
  text-align: center;
  transition: var(--transi-bg);
  transition: var(--transi-bg), var(--transi-color), border-color 0.3s;
}

.c-post .wp-block-button__link:focus-visible {
  background-color: var(--c-base);
  color: var(--c-main);
}

.c-post .wp-block-button__link::before {
  content: "";
}

.c-post .wp-block-button__link::after {
  -webkit-border-before: 1px solid;
  -webkit-border-end: 1px solid;
  justify-self: end;
  aspect-ratio: 1;
  inline-size: 0.5em;
  rotate: 45deg;
  border-inline-end: 1px solid;
  border-block-start: 1px solid;
  content: "";
}

.c-post .has-text-align-center {
  text-align: center;
}

.has-text-align-left {
  text-align: left;
}

.has-text-align-right {
  text-align: right;
}

/* ------------------------------------- */

/* component side-anchor
/* ------------------------------------- */

.c-side-anchor {
  position: sticky;
  top: 140px;
  left: 0;
}

.c-side-anchor__list {
  display: grid;
  row-gap: 30px;
}

.c-side-anchor__item {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-column-gap: 10px;
  -moz-column-gap: 10px;
  -webkit-transition: grid-template-columns 0.3s;
  display: grid;
  grid-template-columns: 6px 1fr;
  column-gap: 10px;
  align-items: center;
  transition: grid-template-columns 0.3s;
  transition: grid-template-columns 0.3s, -ms-grid-columns 0.3s;
}

.c-side-anchor__item::before {
  -webkit-transition: var(--transi-bg);
  width: 6px;
  height: 6px;
  border-radius: var(--round);
  background-color: #ddd;
  content: "";
  transition: var(--transi-bg);
}

.c-side-anchor__item.is-active {
  grid-template-columns: 10px 1fr;
}

.c-side-anchor__item.is-active::before {
  width: 10px;
  height: 10px;
  background-color: var(--c-main);
}

.c-side-anchor__item.is-active .c-side-anchor__link {
  color: var(--c-main);
}

.c-side-anchor__link {
  -webkit-transition: var(--transi-color);
  display: block;
  color: #555;
  font-weight: 700;
  line-height: 1.3;
  transition: var(--transi-color);
}

.c-side-anchor__link:focus-visible {
  color: var(--c-main);
}

.c-side-anchor__link:focus-visible .p-faq__side-chapter {
  border-color: var(--c-main);
}

/* ------------------------------------- */

/* component totop
/* ------------------------------------- */

.c-totop {
  display: none;
  z-index: 2;
  position: fixed;
  right: 20px;
  bottom: 66px;
  place-items: center;
  aspect-ratio: 1;
  width: 60px;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: var(--round);
  background-color: var(--c-main);
}

.c-totop svg {
  fill: var(--c-base);
  width: 9px;
  height: 9px;
  rotate: -90deg;
}

/* ------------------------------------- */

/* layout bottom-menu
/* ------------------------------------- */

.l-bottom-menu {
  z-index: 1;
  position: relative;
  padding: 100px 0;
  background-color: var(--c-base);
}

.l-bottom-menu__inner {
  max-width: 1160px;
  margin-inline: auto;
  padding: 0 0 0 20px;
}

.l-bottom-menu__list {
  -ms-flex-wrap: nowrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: nowrap;
  padding-bottom: 20px;
  overflow-x: auto;
  overflow-y: hidden;
  gap: 24px;
}

.l-bottom-menu__list::-webkit-scrollbar {
  height: 4px;
  background-color: #D9D9D9;
}

.l-bottom-menu__list::-webkit-scrollbar-track {
  height: 4px;
  background-color: #D9D9D9;
}

.l-bottom-menu__list::-webkit-scrollbar-thumb {
  height: 4px;
  background-color: #767676;
}

.l-bottom-menu__item {
  position: relative;
  width: 170px;
  min-width: 170px;
  overflow: hidden;
  border-radius: 10px;
}

.l-bottom-menu__link {
  display: block;
  border-radius: 10px;
}

.l-bottom-menu__link img {
  border-radius: 10px;
}

.l-bottom-menu__link {
  overflow: hidden;
}

.l-bottom-menu__link img {
  -webkit-transition: -webkit-transform 0.3s;
  height: auto;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.l-bottom-menu__link:focus-visible img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

.l-bottom-menu__text {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 7px 10px;
  border-radius: 0 10px 0 0;
  background-color: var(--c-base);
  font-size: 1.6rem;
  letter-spacing: 0.8px;
}

/* ------------------------------------- */

/* layout footer-alert
/* ------------------------------------- */

.l-footer-alert {
  display: none;
  z-index: 100;
  position: fixed;
  bottom: 0;
  width: 100%;
  background: rgba(255, 255, 255, 0.95);
}

.l-footer-alert__inner {
  -webkit-column-gap: 20px;
  -moz-column-gap: 20px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 160px;
  column-gap: 20px;
  align-items: center;
  width: 100%;
  max-width: 1040px;
  margin-inline: auto;
  padding: 30px 20px;
}

.l-footer-alert__text p {
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 1.7857142857;
}

.l-footer-alert__text a {
  display: inline-block;
  color: var(--c-main);
  font-weight: 700;
  font-size: 1.4rem;
}

.l-footer-alert__button {
  width: 100%;
  max-width: 160px;
  text-align: center;
}

.l-footer-alert__button span {
  -webkit-transition: var(--transi-bg), var(--transi-color);
  display: inline-block;
  width: 100%;
  padding: 16px 40px;
  border-radius: var(--round);
  background: var(--c-main);
  color: #fff;
  font-size: 1.4rem;
  cursor: pointer;
  transition: var(--transi-bg), var(--transi-color);
}

.l-footer-alert__close {
  -webkit-transition: 0.5s;
  position: absolute;
  top: 20px;
  right: 20px;
  width: 20px;
  height: 20px;
  cursor: pointer;
  transition: 0.5s;
}

.l-footer-alert__close::before {
  -webkit-transform: rotate(45deg);
  display: block;
  position: absolute;
  top: 1px;
  left: 9px;
  width: 2px;
  height: 20px;
  padding: 0;
  transform: rotate(45deg);
  background: #000;
  content: "";
}

.l-footer-alert__close::after {
  -webkit-transform: rotate(45deg);
  display: block;
  position: absolute;
  top: 10px;
  left: 0px;
  width: 20px;
  height: 2px;
  margin-top: 0x;
  transform: rotate(45deg);
  background: #000;
  content: "";
}

/* ------------------------------------- */

/* layout footer
/* ------------------------------------- */

.l-footer {
  z-index: 1;
  position: relative;
  padding: 80px 0 60px;
  background-color: var(--bg-main);
}

.l-footer__inner {
  max-width: 1180px;
}

.l-footer__logo {
  display: block;
  width: 100%;
  max-width: 200px;
}

.l-footer__container {
  display: grid;
  grid-template-rows: -webkit-max-content 1fr;
  grid-template-rows: max-content 1fr;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-top: 37px;
  gap: 60px 20px;
}

.l-footer__box--top {
  display: none;
}

.l-footer__box--about {
  grid-row: 1/2;
  grid-column: 1/2;
}

.l-footer__box--business {
  grid-row: 1/3;
  grid-column: 2/3;
}

.l-footer__box--company {
  grid-row: 1/3;
  grid-column: 3/4;
}

.l-footer__box--ir {
  grid-row: 1/3;
  grid-column: 4/5;
}

.l-footer__box--sustainability {
  grid-row: 1/3;
  grid-column: 5/6;
}

.l-footer__box--other {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  row-gap: 20px;
  grid-row: 2/3;
  grid-column: 1/2;
  flex-direction: column;
}

.l-footer__main-link {
  -webkit-transition: var(--transi-opc);
  color: var(--c-main);
  font-weight: 700;
  font-size: 1.4rem;
  line-height: normal;
  letter-spacing: 0.7px;
  transition: var(--transi-opc);
}

.l-footer__main-link:focus-visible {
  opacity: 0.5;
}

.l-footer__main-link .arrow {
  display: none;
}

.l-footer__list {
  display: grid;
  row-gap: 10px;
  margin-top: 30px;
}

.l-footer__item {
  font-size: 1.4rem;
  line-height: normal;
  letter-spacing: 0.7px;
}

.l-footer__item--child {
  padding-left: 1em;
}

.l-footer__item-link {
  -webkit-transition: var(--transi-color);
  transition: var(--transi-color);
}

.l-footer__item-link:focus-visible {
  color: var(--c-main);
}

.l-footer__item-link .arrow {
  display: none;
}

.l-footer__bottom-list {
  -ms-flex-wrap: wrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  margin-top: 108px;
  gap: 10px 24px;
}

.l-footer__bottom-item {
  color: #666;
  font-size: 1.2rem;
  line-height: normal;
  letter-spacing: 0.6px;
}

.l-footer__bottom-link {
  -webkit-transition: var(--transi-opc);
  transition: var(--transi-opc);
}

.l-footer__bottom-link:focus-visible {
  opacity: 0.5;
}

.l-footer__bottom-link .arrow {
  display: none;
}

.l-footer__copyright {
  margin-top: 42px;
  color: #999;
  font-size: 1rem;
  line-height: normal;
  letter-spacing: 0.5px;
}

/* ------------------------------------- */

/* layout header
/* ------------------------------------- */

.l-header {
  z-index: var(--index-header);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 60px;
}

.l-header__logo {
  -webkit-box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
  -webkit-transition: width 0.3s;
  display: grid;
  position: absolute;
  top: 0;
  left: 0;
  place-items: center;
  aspect-ratio: 1;
  width: 120px;
  border-radius: 0 0 10px 0;
  background-color: var(--c-base);
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
  transition: width 0.3s;
}

.l-header__logo.is-scroll {
  width: 80px;
}

.l-header__logo.is-scroll img {
  width: 40px;
}

.l-header__logo img {
  -webkit-transition: width 0.3s;
  width: 60px;
  transition: width 0.3s;
}

.l-header__inner {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: end;
  height: 60px;
  background-color: var(--c-base);
}

.l-header__nav {
  height: inherit;
}

.l-header__nav-list {
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  height: inherit;
  gap: 30px;
}

.l-header__nav-button {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-column-gap: 7px;
  -moz-column-gap: 7px;
  display: grid;
  grid-template-columns: auto 9px;
  column-gap: 7px;
  align-items: center;
  margin: 0;
  padding: 0;
  border: none;
  background-color: transparent;
  font-weight: 700;
  font-size: 1.4rem;
  font-family: var(--f-jp);
}

.l-header__nav-button-arrow {
  fill: #999;
  -webkit-transition: var(--transi-fill);
  width: 9px;
  height: 9px;
  rotate: 90deg;
  transition: var(--transi-fill);
}

:focus-visible > .l-header__nav-button-arrow {
  fill: var(--c-main);
}

.l-header__drawer {
  -webkit-box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
  -webkit-transition: var(--transi-opc), visibility 0.3s;
  visibility: hidden;
  position: fixed;
  top: 90px;
  left: 50%;
  width: 100%;
  max-width: 940px;
  padding: 30px;
  translate: -50% 0;
  border-radius: 20px;
  background-color: var(--c-base);
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
  opacity: 0;
  transition: var(--transi-opc), visibility 0.3s;
}

.is-open > .l-header__drawer {
  visibility: visible;
  opacity: 1;
}

.l-header__drawer::before {
  position: absolute;
  top: -50px;
  left: 0;
  width: 100vw;
  height: 55px;
  content: "";
}

.l-header__drawer--about {
  max-width: 490px;
}

.l-header__drawer--ir {
  -webkit-column-gap: 40px;
  -moz-column-gap: 40px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: grid;
  grid-template-columns: 1fr 150px;
  column-gap: 40px;
  align-items: center;
  max-width: 1140px;
}

.l-header__drawer-document-thumb {
  text-align: center;
}

.l-header__drawer-document-thumb img {
  -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
  height: 150px;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
}

.l-header__drawer-document-thumb figcaption {
  margin-top: 18px;
  font-weight: 400;
  font-size: 1.2rem;
  letter-spacing: 0.6px;
  text-align: center;
}

.l-header__drawer--main-link {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-column-gap: 10px;
  -moz-column-gap: 10px;
  display: grid;
  grid-template-columns: -webkit-max-content 22px;
  grid-template-columns: max-content 22px;
  column-gap: 10px;
  align-items: center;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  color: var(--c-main);
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: 1.2px;
}

.l-header__drawer--main-link .arrow {
  -webkit-transition: var(--transi-bg);
  display: grid;
  place-items: center;
  aspect-ratio: 1;
  width: 22px;
  border: solid 1px var(--c-main);
  border-radius: var(--round);
  transition: var(--transi-bg);
}

.l-header__drawer--main-link .arrow svg {
  fill: var(--c-main);
  -webkit-transition: var(--transi-fill);
  width: 7px;
  height: 7px;
  transition: var(--transi-fill);
}

.l-header__drawer--main-link:focus-visible .arrow {
  background-color: var(--c-main);
}

.l-header__drawer--main-link:focus-visible .arrow svg {
  fill: var(--c-base);
}

.l-header__drawer-list {
  -ms-flex-wrap: wrap;
  -webkit-box-align: start;
  -ms-flex-align: start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  align-items: start;
  margin-top: 38px;
  gap: 35px 26px;
}

.l-header__drawer-item {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  width: calc(25% - 19.5px);
}

.l-header__drawer-item--about {
  width: calc(50% - 13px);
}

.l-header__drawer-link {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-transition: border-color 0.3s;
  display: grid;
  grid-template-columns: auto 9px;
  align-items: center;
  height: 100%;
  padding-bottom: 20px;
  border-bottom: solid 1px var(--border-main);
  font-size: 1.4rem;
  line-height: normal;
  letter-spacing: 0.7px;
  transition: border-color 0.3s;
}

.l-header__drawer-link .arrow {
  fill: #999;
  -webkit-transition: var(--transi-fill);
  width: 9px;
  height: 9px;
  transition: var(--transi-fill);
}

.l-header__drawer-link:focus-visible {
  border-color: var(--c-main);
}

.l-header__drawer-link:focus-visible .arrow {
  fill: var(--c-main);
}

.l-header__drawer-sub-list {
  display: grid;
  row-gap: 20px;
  margin-top: 20px;
}

.l-header__drawer-sub-list--sustainability {
  row-gap: 10px;
}

.l-header__drawer-sub-item {
  width: 100%;
}

.l-header-sub-link {
  -webkit-column-gap: 10px;
  -moz-column-gap: 10px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: grid;
  grid-template-columns: 9px auto;
  column-gap: 10px;
  align-items: center;
  font-size: 1.4rem;
  line-height: normal;
  letter-spacing: 0.7px;
}

.l-header-sub-link .arrow {
  fill: #999;
  -webkit-transition: var(--transi-fill);
  width: 9px;
  height: 9px;
  transition: var(--transi-fill);
}

.l-header-sub-link:focus-visible .arrow {
  fill: var(--c-main);
}

.l-header__sub-list {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-column-gap: 24px;
  -moz-column-gap: 24px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  column-gap: 24px;
  align-items: center;
  margin: 0 16px 0 22px;
  padding: 0 21px;
  border-right: solid 1px var(--border-main);
  border-left: solid 1px var(--border-main);
}

.l-header__search {
  -webkit-transition: var(--transi-opc);
  display: block;
  aspect-ratio: 1;
  width: 20px;
  transition: var(--transi-opc);
}

.l-header__search:focus-visible {
  opacity: 0.8;
}

.l-header__lang {
  -webkit-column-gap: 6px;
  -moz-column-gap: 6px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-transition: var(--transi-opc);
  display: grid;
  grid-template-columns: 20px auto;
  column-gap: 6px;
  align-items: center;
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 1;
  letter-spacing: 0.7px;
  transition: var(--transi-opc);
}

.l-header__lang:focus-visible {
  opacity: 0.8;
}

.l-header__lang::before {
  aspect-ratio: 1;
  width: 20px;
  background: url(../img/common/icon-globe.svg) no-repeat center center/contain;
  content: "";
}

.l-header__inquiry {
  -webkit-transition: var(--transi-opc);
  padding-right: 17px;
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 1;
  letter-spacing: 0.7px;
  transition: var(--transi-opc);
}

.l-header__inquiry:focus-visible {
  opacity: 0.8;
}

.l-header__burger {
  display: none;
  z-index: var(--index-burger);
  place-items: center;
  aspect-ratio: 1;
  width: 25px;
  margin: 0;
  padding: 0;
  border: none;
  background-color: transparent;
}

.l-header__burger-line {
  position: relative;
  width: 25px;
  height: 2px;
  background-color: #000;
}

.l-header__burger-line::before,
.l-header__burger-line::after {
  -webkit-transition: rotate 0.3s;
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #000;
  content: "";
  transition: rotate 0.3s;
}

.l-header__burger-line::before {
  top: -7px;
}

.l-header__burger-line::after {
  top: 7px;
}

.l-header__burger.is-open .l-header__burger-line {
  background-color: transparent;
}

.l-header__burger.is-open .l-header__burger-line::before {
  top: 0;
  rotate: 45deg;
}

.l-header__burger.is-open .l-header__burger-line::after {
  top: 0;
  rotate: -45deg;
}

.l-header__menu {
  -webkit-transition: var(--transi-opc), visibility 0.3s;
  display: none;
  display: none;
  visibility: hidden;
  z-index: var(--index-menu);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100dvh;
  background-color: var(--c-base);
  opacity: 0;
  transition: var(--transi-opc), visibility 0.3s;
}

.l-header__menu.is-open {
  visibility: visible;
  opacity: 1;
}

.l-header__menu-inner {
  height: 100%;
  padding: 16px 0 40px;
  overflow-y: auto;
}

.l-header__menu-lang {
  -webkit-column-gap: 6px;
  -moz-column-gap: 6px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: grid;
  grid-template-columns: 20px -webkit-max-content;
  grid-template-columns: 20px max-content;
  column-gap: 6px;
  align-items: center;
  padding-left: 18px;
}

.l-header__menu-lang::before {
  aspect-ratio: 1;
  width: 20px;
  background: url(../img/common/icon-globe.svg) no-repeat center center/contain;
  content: "";
}

.l-header__menu-logo {
  max-width: 150px;
  margin: 9px auto 0;
}

.l-header__menu-search {
  position: relative;
  max-width: 275px;
  margin: 20px auto 0;
}

.l-header__menu-search #___gcse_0,
.l-header__menu-search .gsc-control-cse.gsc-control-cse-ja {
  padding: 0;
}

.l-header__menu-search form.gsc-search-box {
  margin-bottom: 0;
}

.l-header__menu-search table.gsc-search-box td.gsc-input {
  padding-right: 0;
}

.l-header__menu-search .gsib_a {
  padding: 0 20px;
  border-radius: var(--round);
  border-color: var(--bg-main);
  background-color: var(--bg-main);
}

.l-header__menu-search .gsst_b {
  display: none;
}

.l-header__menu-search input.gsc-input {
  height: 50px !important;
  background-color: var(--bg-main);
}

.l-header__menu-search .gsc-input-box {
  border: none;
  border-radius: 100px;
}

.l-header__menu-search .gsc-results-wrapper-visible {
  margin-top: 0;
}

.l-header__menu-search .gcsc-find-more-on-google-magnifier {
  width: auto;
}

.l-header__menu-search .gsc-search-button-v2 svg {
  display: none;
}

.l-header__menu-search .gsc-search-button-v2 {
  display: grid;
  position: absolute;
  top: 50%;
  right: 20px;
  place-items: center;
  width: 20px;
  height: 20px;
  margin-left: 0;
  padding: 0;
  translate: 0 -50%;
  border: none;
  background-color: transparent;
}

.l-header__menu-search .gsc-search-button-v2::before {
  position: absolute;
  width: 20px;
  height: 20px;
  background: url(../svg/icon-search.svg) no-repeat center center/contain;
  content: "";
}

.l-header__menu-search .gsc-search-button-v2,
.l-header__menu-search .gsc-search-button-v2:hover,
.l-header__menu-search .gsc-search-button-v2:focus {
  background-color: transparent;
}

.l-header__menu-list {
  margin-top: 55px;
}

.l-header__menu-item {
  color: var(--c-main);
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 1.3;
}

.l-header__menu-link {
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: grid;
  grid-template-columns: auto 9px;
  align-items: center;
  padding: 16px 20px;
  border-top: solid 1px #999;
}

.l-header__menu-link .arrow {
  fill: #999;
  width: 9px;
  height: 9px;
}

.l-header__menu-item--drawer {
  border-top: solid 1px #999;
}

.l-header__menu-item__head {
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: grid;
  grid-template-columns: auto 20px;
  align-items: center;
  padding: 15px 20px;
  cursor: pointer;
}

.l-header__menu-item__head .toggle {
  position: relative;
  aspect-ratio: 1;
  width: 20px;
  border-radius: var(--round);
  background-color: var(--c-main);
}

.l-header__menu-item__head .toggle::before,
.l-header__menu-item__head .toggle::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 2px;
  translate: -50% -50%;
  background-color: var(--c-base);
  content: "";
}

.l-header__menu-item__head .toggle::after {
  -webkit-transition: rotate 0.3s;
  rotate: 90deg;
  transition: rotate 0.3s;
}

.l-header__menu-item__head.is-open .toggle::after {
  rotate: 0deg;
}

.l-header__menu-list--child {
  display: none;
  border-top: solid 1px #999;
}

.l-header__menu-item--child:not(:first-of-type) {
  border-top: solid 1px #999;
}

.l-header__menu-link--child {
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: grid;
  grid-template-columns: auto 9px;
  align-items: center;
  padding: 18px 20px 17px 40px;
  background-color: #f7f7f7;
  color: var(--text-main);
  font-weight: 400;
  font-size: 1.2rem;
}

.l-header__menu-link--child .arrow {
  fill: #999;
  width: 9px;
  height: 9px;
}

.l-header__menu-list--sub {
  -ms-flex-wrap: wrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  border-top: solid 1px #999;
}

.l-header__menu-item--sub {
  width: calc(50% - 0.5px);
  border-bottom: solid 1px #999;
}

.l-header__menu-item--sub:nth-last-of-type(even) {
  border-right: solid 1px #999;
}

.l-header__menu-link--sub {
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: grid;
  grid-template-columns: auto 9px;
  align-items: center;
  height: 100%;
  padding: 20px;
  font-size: 1rem;
}

.l-header__menu-link--sub .arrow {
  fill: #999;
  width: 9px;
  height: 9px;
}

.l-header__menu-button {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  margin: 55px auto 0;
  padding: 0;
  gap: 10px;
  border: none;
  background-color: transparent;
}

.l-header__menu-button .icon {
  aspect-ratio: 1;
  width: 19px;
}

.l-header__menu-button .text {
  font-size: 1rem;
  line-height: 1;
}

/* ------------------------------------- */

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

.l-wrapper {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  min-height: 100dvh;
}

.l-inner {
  margin-inline: auto;
  padding: 0 20px;
}

/* ------------------------------------- */

/* page about
/* ------------------------------------- */

.p-about-main {
  overflow: hidden;
}

.p-about-mv {
  position: relative;
  width: 100%;
  height: 430px;
  margin-bottom: 20px;
}

.p-about-mv__inner {
  display: grid;
  place-items: center start;
  max-width: 1240px;
  height: 100%;
}

.p-about-mv__title {
  color: var(--c-main);
  font-weight: 700;
  font-size: 6.4rem;
  line-height: 1.09375;
  font-family: var(--f-en);
  letter-spacing: 3.2px;
}

.p-about-mv__title .sub {
  display: block;
  margin-top: 30px;
  color: var(--text-main);
  font-size: 2.4rem;
  line-height: 2;
  font-family: var(--f-jp);
  letter-spacing: 1.2px;
}

.p-about__bg {
  -webkit-transform: scale(1.025);
  -webkit-transition: all 1.8s ease;
  display: block;
  visibility: hidden;
  z-index: 0;
  position: absolute;
  top: -50px;
  right: 0;
  width: 69.4444444444vw;
  min-width: 600px;
  max-width: 1000px;
  transform: scale(1.025);
  opacity: 0;
  transition: all 1.8s ease;
}

.p-about__bg.is-animation {
  -webkit-transform: scale(1);
  -webkit-transform: translate3d(0px, 31.7215px, 0px);
  visibility: visible;
  transform: scale(1);
  transform: translate3d(0px, 31.7215px, 0px);
  opacity: 1;
}

.p-about {
  padding-top: 80px;
  overflow: hidden;
}

.p-about-intro {
  position: relative;
  padding-top: 60px;
}

.p-about-intro__bg {
  -webkit-transform: scale(1.025);
  -webkit-transition: all 1.8s ease;
  visibility: hidden;
  z-index: -1;
  position: absolute;
  bottom: 60px;
  left: 50%;
  width: 1440px;
  height: 620px;
  transform: scale(1.025);
  translate: -50% 0;
  content: "";
  opacity: 0;
  transition: all 1.8s ease;
}

.p-about-intro__bg.is-animation {
  -webkit-transform: scale(1);
  -webkit-transform: translate3d(0px, 31.7215px, 0px);
  visibility: visible;
  transform: scale(1);
  transform: translate3d(0px, 31.7215px, 0px);
  opacity: 1;
}

.p-about-intro__inner {
  max-width: 1240px;
}

.p-about-intro__box {
  width: 100%;
  max-width: 750px;
  margin: 55px 0 0 auto;
}

.p-about-intro__copy {
  -webkit-filter: blur(15px);
  -webkit-transition: all 0.8s linear;
  font-weight: 700;
  font-size: 5.6rem;
  line-height: 1.2857142857;
  line-height: 1.5;
  font-family: var(--f-en);
  filter: blur(15px);
  opacity: 0;
  transition: all 0.8s linear;
}

.p-about-intro__copy.is-animation {
  -webkit-filter: blur(0);
  filter: blur(0);
  opacity: 1;
}

.p-about-intro__lead {
  margin-top: 40px;
  line-height: 2;
}

.p-about-model {
  position: relative;
  margin-top: 100px;
  padding-bottom: 47px;
}

.p-about-model__inner {
  max-width: 1240px;
}

.p-about-model__container {
  position: relative;
  padding: 90px 180px 0;
}

.p-about-model__container::before {
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
  aspect-ratio: 1200/560;
  width: 100%;
  height: auto;
  border-radius: 30px;
  background-color: var(--bg-main);
  content: "";
}

.p-about-model__heading {
  -webkit-filter: blur(15px);
  -webkit-transition: all 0.8s linear;
  font-weight: 700;
  font-size: 2.8rem;
  line-height: 1.5;
  letter-spacing: 1.4px;
  filter: blur(15px);
  opacity: 0;
  transition: all 0.8s linear;
}

.p-about-model__heading.is-animation {
  -webkit-filter: blur(0);
  filter: blur(0);
  opacity: 1;
}

.p-about-model__image {
  -webkit-filter: blur(15px);
  -webkit-transition: all 0.8s linear;
  display: block;
  width: 100%;
  max-width: 840px;
  margin-top: 40px;
  filter: blur(15px);
  opacity: 0;
  transition: all 0.8s linear;
}

.p-about-model__image.is-animation {
  -webkit-filter: blur(0);
  filter: blur(0);
  opacity: 1;
}

.p-about-value,
.p-about-sub,
.p-about-cvp {
  position: relative;
  height: calc(100dvh - 60px);
}

.p-about-value__inner,
.p-about-sub__inner,
.p-about-cvp__inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.p-about-value {
  border-top: solid 1px #ddd;
}

.p-about-value__inner {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.p-about-value__head {
  display: grid;
  place-items: center start;
  padding: 0 60px;
  background: url(../img/about/bg-values.webp) no-repeat center center/cover;
}

.p-about-value__heading {
  color: var(--c-base);
  font-weight: 700;
  font-size: 6.4rem;
  line-height: 1;
  font-family: var(--f-en);
  letter-spacing: 3.2px;
}

.p-about-value__heading .sub {
  display: block;
  margin-top: 15px;
  font-size: 2.4rem;
  line-height: 1.6666666667;
  font-family: var(--f-jp);
  letter-spacing: 1.2px;
}

.p-about-value__lead {
  margin-top: 55px;
  color: var(--c-base);
  font-weight: 700;
  font-size: 3.6rem;
  line-height: 1.6666666667;
  letter-spacing: 1.8px;
}

.p-about-value__body {
  display: grid;
  place-items: center start;
  padding: 0 55px;
  background-color: var(--c-base);
}

.p-about-value__text {
  line-height: 2;
}

.p-about-sub__container {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  height: 100%;
}

.p-about-sub__box {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
}

.p-about-sub__head {
  display: grid;
  place-items: center start;
  min-height: 400px;
  padding: 0 60px;
}

.p-about-sub__head--resource {
  background: url(../img/about/bg-resource.webp) no-repeat center center/cover;
}

.p-about-sub__head--process {
  background: url(../img/about/bg-process.webp) no-repeat center center/cover;
}

.p-about-sub__heading {
  color: var(--c-base);
  font-weight: 700;
  font-size: 6.4rem;
  line-height: 1;
  font-family: var(--f-en);
  letter-spacing: 3.2px;
}

.p-about-sub__heading .sub {
  display: block;
  margin-top: 5px;
  font-size: 2.4rem;
  line-height: 1.6666666667;
  font-family: var(--f-jp);
  letter-spacing: 1.2px;
}

.p-about-sub__lead {
  margin-top: 35px;
  color: var(--c-base);
  font-weight: 700;
  font-size: 3.6rem;
  line-height: 1.6666666667;
  letter-spacing: 1.8px;
}

.p-about-sub__body {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  padding: 55px 60px;
  background-color: var(--c-base);
}

.p-about-sub__body--process {
  border-left: solid 1px #ddd;
}

.p-about-sub__list {
  min-height: 148px;
}

.p-about-sub__item {
  line-height: 2.3125;
  letter-spacing: 0.8px;
}

.p-about-sub__button-wrapper {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -ms-flex-wrap: wrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 20px;
  gap: 12px 30px;
}

.p-about-sub__button {
  max-width: 290px;
}

.p-about-cvp {
  margin-top: 200px;
  border-top: solid 1px #ddd;
}

.p-about-cvp {
  border-top: solid 1px #ddd;
  border-bottom: solid 1px #ddd;
}

.p-about-cvp__inner {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.p-about-cvp__head {
  display: grid;
  place-items: center start;
  padding: 0 60px;
  background: url(../img/about/bg-cvp.webp) no-repeat center center/cover;
}

.p-about-cvp__heading {
  color: var(--c-base);
  font-weight: 700;
  font-size: 6.4rem;
  line-height: 1;
  font-family: var(--f-en);
  letter-spacing: 3.2px;
}

.p-about-cvp__heading .sub {
  display: block;
  margin-top: 15px;
  font-size: 2.4rem;
  line-height: 1.6666666667;
  font-family: var(--f-jp);
  letter-spacing: 1.2px;
}

.p-about-cvp__lead {
  margin-top: 55px;
  color: var(--c-base);
  font-weight: 700;
  font-size: 3.6rem;
  line-height: 1.6666666667;
  letter-spacing: 1.8px;
}

.p-about-cvp__body {
  display: grid;
  place-items: center start;
  padding: 0 55px;
  background-color: var(--c-base);
}

.p-about-cvp__text {
  line-height: 2;
}

/* ------------------------------------- */

/* page accounts
/* ------------------------------------- */

.p-accounts {
  padding: 80px 0 100px;
}

.p-accounts__inner {
  max-width: 1240px;
}

.p-accounts__container--archive {
  padding-top: 100px;
}

.p-accounts__wrapper {
  max-width: 1140px;
  margin: 60px auto 0;
}

.p-accounts__subheading {
  padding-left: 20px;
  border-left: solid 5px var(--c-main);
  font-weight: 600;
  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: 1.2px;
}

.p-accounts__subheading .sub {
  display: inline-block;
  margin-left: 3px;
  font-weight: 400;
  font-size: 1.6rem;
  letter-spacing: 0.8px;
}

.p-accounts__head {
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: grid;
  grid-template-columns: 1fr 24px;
  align-items: center;
  cursor: pointer;
}

.p-accounts__head::before,
.p-accounts__head::after {
  -webkit-transition: rotate 0.3s;
  display: inline-block;
  grid-row: 1/2;
  grid-column: 2/3;
  width: 24px;
  height: 2px;
  background-color: #868686;
  content: "";
  transition: rotate 0.3s;
}

.p-accounts__head::after {
  rotate: 90deg;
}

.p-accounts__details.is-opened .p-accounts__head::after {
  rotate: 0deg;
}

.p-accounts__head::-webkit-details-marker {
  display: none;
}

.p-accounts__body {
  overflow: hidden;
}

.p-accounts__list {
  margin-top: 40px;
  border-bottom: solid 1px #ddd;
}

.p-accounts__item {
  -webkit-column-gap: 20px;
  -moz-column-gap: 20px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: grid;
  grid-template-columns: 190px 230px minmax(0, 1fr);
  column-gap: 20px;
  align-items: center;
  padding: 30px 20px 30px 10px;
  border-top: solid 1px #ddd;
}

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

.p-accounts__term {
  width: 100%;
  max-width: 150px;
  margin-inline: auto;
  padding: 6px;
  background-color: var(--bg-main);
  line-height: 1.5;
  text-align: center;
}

.p-accounts__title {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-column-gap: 10px;
  -moz-column-gap: 10px;
  -webkit-transition: var(--transi-opc);
  display: grid;
  grid-template-columns: 1fr 16px;
  column-gap: 10px;
  align-items: center;
  line-height: 1.5;
  transition: var(--transi-opc);
}

.p-accounts__title::after {
  width: 16px;
  height: 20px;
  background: url(../img/common/icon-pdf.svg) no-repeat center center/contain;
  content: "";
}

.p-accounts__title:focus-visible {
  opacity: 0.7;
}

.p-accounts__button {
  margin: 120px auto 0;
}

/* ------------------------------------- */

/* page business
/* ------------------------------------- */

.p-business-mv {
  position: relative;
}

.p-business {
  padding: 80px 0 100px;
}

.p-business__inner {
  max-width: 1240px;
}

.p-business__intro-text {
  font-size: 2rem;
  line-height: 2;
}

.p-business__container {
  display: grid;
  row-gap: 100px;
  margin-top: 160px;
}

.p-business__wrapper {
  display: grid;
  grid-template-rows: -webkit-max-content 1fr;
  grid-template-rows: max-content 1fr;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 30px 40px;
}

.p-business__wrapper--global {
  -o-border-image: linear-gradient(var(--bg-main) 0 0) 0//0 100vi;
  margin-top: -20px;
  padding: 80px 0;
  border-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, var(--bg-main))) fill 0//0 100vi;
  border-image: linear-gradient(var(--bg-main) 0 0) fill 0//0 100vi;
}

.p-business__info {
  grid-row: 1/2;
  grid-column: 1/2;
}

.p-business__link-wrapper {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -ms-flex-wrap: wrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 20px;
  gap: 10px;
}

.p-business__link {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-column-gap: 10px;
  -moz-column-gap: 10px;
  -webkit-transition: var(--transi-bg), var(--transi-color);
  display: grid;
  grid-template-columns: auto 6px;
  column-gap: 10px;
  align-items: center;
  padding: 11px 20px;
  border: solid 1px var(--c-main);
  border-radius: var(--round);
  color: var(--c-main);
  font-weight: 700;
  font-size: 1.4rem;
  letter-spacing: 0.7px;
  transition: var(--transi-bg), var(--transi-color);
}

.p-business__link .arrow {
  fill: var(--c-main);
  -webkit-transition: var(--transi-fill);
  display: block;
  width: 6px;
  height: 10px;
  transition: var(--transi-fill);
}

.p-business__link:focus-visible {
  background-color: var(--c-main);
  color: var(--c-base);
}

.p-business__link:focus-visible .arrow {
  fill: var(--c-base);
}

.p-business__text {
  margin-top: 30px;
  line-height: 2;
}

.p-business__image {
  grid-row: 1/3;
  grid-column: 2/3;
}

.p-business__button {
  grid-row: 2/3;
  grid-column: 1/2;
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
}

/* ------------------------------------- */

/* page businessreport
/* ------------------------------------- */

.p-businessreport {
  padding: 80px 0 100px;
}

.p-businessreport__inner {
  max-width: 1240px;
}

.p-businessreport__container--archive {
  padding-top: 100px;
}

.p-businessreport__wrapper {
  max-width: 1140px;
  margin: 60px auto 0;
}

.p-businessreport__subheading {
  padding-left: 20px;
  border-left: solid 5px var(--c-main);
  font-weight: 600;
  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: 1.2px;
}

.p-businessreport__subheading .sub {
  display: inline-block;
  margin-left: 3px;
  font-weight: 400;
  font-size: 1.6rem;
  letter-spacing: 0.8px;
}

.p-businessreport__head {
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: grid;
  grid-template-columns: 1fr 24px;
  align-items: center;
  cursor: pointer;
}

.p-businessreport__head::before,
.p-businessreport__head::after {
  -webkit-transition: rotate 0.3s;
  display: inline-block;
  grid-row: 1/2;
  grid-column: 2/3;
  width: 24px;
  height: 2px;
  background-color: #868686;
  content: "";
  transition: rotate 0.3s;
}

.p-businessreport__head::after {
  rotate: 90deg;
}

.p-businessreport__details.is-opened .p-businessreport__head::after {
  rotate: 0deg;
}

.p-businessreport__head::-webkit-details-marker {
  display: none;
}

.p-businessreport__body {
  overflow: hidden;
}

.p-businessreport__list {
  margin-top: 40px;
  border-bottom: solid 1px #ddd;
}

.p-businessreport__item {
  -webkit-column-gap: 20px;
  -moz-column-gap: 20px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  column-gap: 20px;
  align-items: center;
  padding: 30px 20px 30px 10px;
  border-top: solid 1px #ddd;
}

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

.p-businessreport__title {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-column-gap: 10px;
  -moz-column-gap: 10px;
  -webkit-transition: var(--transi-opc);
  display: grid;
  grid-template-columns: 1fr 16px;
  column-gap: 10px;
  align-items: center;
  line-height: 1.5;
  transition: var(--transi-opc);
}

.p-businessreport__title::after {
  width: 16px;
  height: 20px;
  background: url(../img/common/icon-pdf.svg) no-repeat center center/contain;
  content: "";
}

.p-businessreport__title:focus-visible {
  opacity: 0.7;
}

.p-businessreport__button {
  margin: 120px auto 0;
}

/* ------------------------------------- */

/* page calendar
/* ------------------------------------- */

.p-calendar {
  padding: 80px 0 100px;
}

.p-calendar__inner {
  max-width: 1240px;
}

.p-calendar__image {
  display: block;
  max-width: 900px;
  margin-top: 40px;
  margin-inline: auto;
}

.p-calendar__container--archive {
  padding-top: 100px;
}

.p-calendar__wrapper {
  max-width: 1140px;
  margin: 60px auto 0;
}

.p-calendar__subheading {
  padding-left: 20px;
  border-left: solid 5px var(--c-main);
  font-weight: 600;
  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: 1.2px;
}

.p-calendar__subheading .sub {
  display: inline-block;
  margin-left: 3px;
  font-weight: 400;
  font-size: 1.6rem;
  letter-spacing: 0.8px;
}

.p-calendar__head {
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: grid;
  grid-template-columns: 1fr 24px;
  align-items: center;
  cursor: pointer;
}

.p-calendar__head::before,
.p-calendar__head::after {
  -webkit-transition: rotate 0.3s;
  display: inline-block;
  grid-row: 1/2;
  grid-column: 2/3;
  width: 24px;
  height: 2px;
  background-color: #868686;
  content: "";
  transition: rotate 0.3s;
}

.p-calendar__head::after {
  rotate: 90deg;
}

.p-calendar__details.is-opened .p-calendar__head::after {
  rotate: 0deg;
}

.p-calendar__head::-webkit-details-marker {
  display: none;
}

.p-calendar__body {
  overflow: hidden;
}

.p-calendar__list {
  margin-top: 40px;
  border-bottom: solid 1px #ddd;
}

.p-calendar__item {
  -webkit-column-gap: 20px;
  -moz-column-gap: 20px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  column-gap: 20px;
  align-items: center;
  padding: 30px 20px 30px 10px;
  border-top: solid 1px #ddd;
}

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

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

.p-calendar__text a {
  text-decoration: underline;
}

.p-calendar__button {
  margin: 120px auto 0;
}

/* ------------------------------------- */

/* page chukei
/* ------------------------------------- */

.p-chukei {
  padding: 100px 0;
  overflow: hidden;
}

.p-chukei__inner {
  max-width: 1240px;
}

.p-chukei-intro {
  position: relative;
}

.p-chukei-intro::before {
  z-index: -1;
  position: absolute;
  bottom: -120px;
  left: 50%;
  width: 1440px;
  height: 432px;
  translate: -50% 0;
  background: url(../img/ir/chukei/bg-chukei.webp) no-repeat center center/cover;
  content: "";
}

.p-chukei-intro__heading {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -ms-flex-wrap: wrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin-bottom: 90px;
  gap: 10px 20px;
  font-weight: 700;
  font-size: 4.5rem;
  line-height: 1.5555555556;
  letter-spacing: 2.25px;
  text-align: center;
}

.p-chukei-intro__heading .logo {
  width: 100%;
  max-width: 470px;
}

.p-chukei-intro__lead {
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 2;
  letter-spacing: 0.9px;
  text-align: center;
}

.p-chukei-intro__lead:not(:first-of-type) {
  margin-top: 30px;
}

.p-chukei-overview {
  padding-top: 120px;
}

.p-chukei-overview__intro-text {
  margin-top: 50px;
  padding: 0 30px;
  line-height: 2;
}

.p-chukei-overview__container {
  margin-top: 80px;
}

.p-chukei-overview__subheading {
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.6;
  letter-spacing: 1px;
}

.p-chukei-overview__text {
  margin-top: 30px;
  padding: 0 30px;
  line-height: 2;
}

.p-chukei-overview__list {
  margin: 30px 0 0 1.5em;
  padding: 0 30px;
}

.p-chukei-overview__item {
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0.8px;
  list-style: number;
}

.p-chukei-overview__image {
  display: block;
  margin-inline: auto;
}

.p-chukei-overview__image--first {
  width: 66.6666666667%;
  max-width: 800px;
  margin-top: 60px;
}

.p-chukei-overview__image--second,
.p-chukei-overview__image--third {
  width: 66.6666666667%;
  max-width: 800px;
}

.p-chukei-overview__image--second {
  margin-top: 60px;
}

.p-chukei-overview__image--third {
  margin-top: 60px;
}

.p-chukei-overview__group {
  margin-top: 60px;
  text-align: center;
}

.p-chukei-overview__group-heading {
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.6;
}

.p-chukei-overview__group-text {
  font-size: 2rem;
  line-height: 1.6;
}

.p-chukei-overview__table-wrapper {
  margin-top: 40px;
  padding: 0 30px;
}

.p-chukei-overview__table-wrapper::-webkit-scrollbar {
  height: 4px;
}

.p-chukei-overview__table-wrapper::-webkit-scrollbar-track {
  height: 4px;
  background-color: #d9d9d9;
}

.p-chukei-overview__table-wrapper::-webkit-scrollbar-thumb {
  height: 4px;
  background-color: rgba(118, 118, 118, 0.5);
}

.p-chukei-overview__table {
  width: 100%;
  min-width: 780px;
  border-collapse: collapse;
  table-layout: fixed;
}

.p-chukei-overview__table th,
.p-chukei-overview__table td {
  padding: 24px 10px;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.8px;
}

.p-chukei-overview__table th.head {
  border-right: solid 1px var(--c-base);
  background-color: #ddd;
  text-align: center;
}

.p-chukei-overview__table th:not(.head) {
  border: solid 1px #ddd;
  background-color: var(--bg-main);
  text-align: left;
}

.p-chukei-overview__table td {
  border: solid 1px #ddd;
  text-align: right;
}

.p-chukei__button {
  margin: 60px auto 0;
}

/* ------------------------------------- */

/* page company message
/* ------------------------------------- */

.p-company-message {
  padding: 80px 0 100px;
}

.p-company-message__inner {
  max-width: 1040px;
}

.p-company-message__heading {
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  font-weight: 700;
  font-size: 3.6rem;
  line-height: 1.6666666667;
  letter-spacing: 1.8px;
  text-align: center;
}

.p-company-message__heading .logo {
  display: inline-block;
  width: 100%;
  max-width: 660px;
}

.p-company-message__heading .sub {
  display: block;
  margin-bottom: 30px;
  color: var(--c-main);
  font-size: 1.6rem;
  line-height: 1;
  letter-spacing: 0.8px;
}

.p-company-message__heading .english {
  font-family: var(--f-en);
}

.p-company-message__heading .strong {
  color: var(--c-main);
}

.p-company-message__container {
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: grid;
  position: relative;
  grid-template-columns: 54% 540px;
  align-items: center;
  margin-top: 120px;
}

.p-company-message__title {
  position: absolute;
  top: 50%;
  right: 0;
  width: 55%;
  translate: 0 -50%;
  font-weight: 700;
  font-size: 3.2rem;
  line-height: 1.5;
  letter-spacing: 1.6px;
  white-space: nowrap;
}

.p-company-message__text {
  margin-top: 90px;
  line-height: 2;
}

.p-company-message__text .logo {
  display: inline-block;
  width: 100%;
  max-width: 180px;
  height: 20px;
  margin: 0 3px;
  vertical-align: sub;
}

.p-company-message__name {
  margin-top: 70px;
  line-height: 2;
  text-align: right;
}

/* ------------------------------------- */

/* page company
/* ------------------------------------- */

.p-company {
  padding: 80px 0 100px;
}

.p-company__inner {
  max-width: 1240px;
}

.p-company__container {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 80px;
}

.p-company__box {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  gap: 0;
}

.p-company__box:not(:nth-of-type(1)):not(:nth-of-type(2)) {
  margin-top: 180px;
}

.p-company__box-thumbnail {
  aspect-ratio: 560/374;
}

.p-company__box-thumbnail img {
  -o-object-fit: cover;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-company__box-title {
  margin-top: 20px;
  font-weight: 700;
  font-size: 2.8rem;
  line-height: 1.0714285714;
  letter-spacing: 1.4px;
}

.p-company__box-title .sub {
  display: block;
  margin-bottom: 10px;
  color: var(--c-main);
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.0625;
  font-family: var(--f-en);
  letter-spacing: 0.8px;
}

.p-company__box-text {
  margin-top: 30px;
  line-height: 2;
}

.p-company__button {
  max-width: 300px;
  margin-top: 30px;
}

/* ------------------------------------- */

/* page compliance
/* ------------------------------------- */

.p-compliance {
  padding: 80px 0 100px;
}

.p-compliance__inner {
  max-width: 1240px;
}

.p-compliance-policy__subheading {
  margin-top: 50px;
  padding-left: 20px;
  border-left: solid 5px var(--c-main);
  font-weight: 600;
  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: 1.2px;
}

.p-compliance__container {
  -webkit-column-gap: 80px;
  -moz-column-gap: 80px;
  -webkit-box-align: start;
  -ms-flex-align: start;
  display: grid;
  grid-template-columns: 272px 1fr;
  column-gap: 80px;
  align-items: start;
}

.p-compliance-policy__text {
  margin-top: 50px;
  line-height: 2;
}

.p-compliance-policy__figure {
  margin-top: 40px;
}

.p-compliance-policy__link {
  text-decoration: underline;
}

.p-compliance-risk {
  padding-top: 120px;
}

.p-compliance-policy__subheading,
.p-compliance-risk__subheading {
  margin: 50px 0 30px;
  padding-left: 20px;
  border-left: solid 5px var(--c-main);
  font-weight: 600;
  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: 1.2px;
}

.p-compliance-policy__text,
.p-compliance-risk__text {
  line-height: 1.75;
}

.p-compliance-policy__box,
.p-compliance-risk__box {
  margin-top: 50px;
}

.p-compliance-policy__box-heading,
.p-compliance-risk__box-heading {
  font-weight: 600;
  line-height: 1.75;
}

.p-compliance-policy__box-text,
.p-compliance-risk__box-text {
  margin-top: 5px;
  line-height: 1.75;
}

.p-compliance-policy__box-text a,
.p-compliance-risk__box-text a {
  text-decoration: underline;
}

.p-compliance-risk-table-wrapper {
  margin-top: 30px;
}

.p-compliance-risk-table-wrapper::-webkit-scrollbar {
  height: 4px;
  background-color: #d9d9d9;
}

.p-compliance-risk-table-wrapper::-webkit-scrollbar-track {
  height: 4px;
  background-color: #d9d9d9;
}

.p-compliance-risk-table-wrapper::-webkit-scrollbar-thumb {
  height: 4px;
  background-color: rgba(118, 118, 118, 0.5);
}

.p-compliance-risk-table {
  width: 100%;
  border-collapse: collapse;
}

.p-compliance-risk-table th {
  padding: 24px 10px;
  border-right: solid 1px var(--c-base);
  background-color: #ddd;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.7px;
  text-align: center;
}

.p-compliance-risk-table td {
  padding: 24px 10px;
  border: solid 1px var(--border-main);
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.7px;
  vertical-align: middle;
}

.p-compliance-risk-table td:not(:has(.list)) {
  width: 39.0243902439%;
}

.p-compliance-risk-table td .list {
  margin-left: 1.5em;
}

.p-compliance-risk-table td .item {
  list-style: disc;
}

.p-compliance-risk__plan {
  margin-top: 40px;
  padding: 40px 60px;
  background-color: var(--bg-main);
}

.p-compliance-risk__plan-heading {
  padding-bottom: 10px;
  border-bottom: solid 1px var(--border-main);
  font-weight: 600;
  font-size: 1.8rem;
  line-height: 1.7777777778;
  letter-spacing: 0.9px;
  text-align: center;
}

.p-compliance-risk__plan-list {
  display: grid;
  row-gap: 30px;
  margin-top: 30px;
}

.p-compliance-risk__plan-item {
  display: grid;
  grid-template-columns: 60px minmax(0, 1fr);
  gap: 0 30px;
}

.p-compliance-risk__plan-title {
  color: var(--c-main);
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 2.5;
  letter-spacing: 0.7px;
}

.p-compliance-risk__plan-data-text,
.p-compliance-risk__plan-data-text--mark {
  font-size: 1.4rem;
  line-height: 1.7857142857;
}

.p-compliance-risk__plan-data-text--mark::first-letter {
  color: var(--c-main);
}

.p-compliance-risk__plan-data-text + .p-compliance-risk__plan-data-text--mark {
  margin-top: 5px;
}

.p-compliance-risk__policy {
  margin-top: 40px;
  padding: 40px 60px;
  background-color: var(--bg-main);
}

.p-compliance-risk__policy-heading {
  padding-bottom: 10px;
  border-bottom: solid 1px var(--border-main);
  font-weight: 600;
  font-size: 1.8rem;
  line-height: 1.7777777778;
  letter-spacing: 0.9px;
  text-align: center;
}

.p-compliance-risk__policy-list {
  display: grid;
  row-gap: 30px;
  margin-top: 30px;
}

.p-compliance-risk__policy-item-title {
  font-weight: 600;
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0.7px;
}

.p-compliance-risk__policy-item-text {
  font-size: 1.4rem;
  line-height: 2;
}

.p-compliance-risk__policy-item-text--mark {
  font-size: 1.4rem;
  line-height: 2;
}

.p-compliance-risk__policy-item-text--mark::first-letter {
  color: var(--c-main);
}

/* ------------------------------------- */

/* page cookie
/* ------------------------------------- */

.p-cookie {
  padding: 80px 0 100px;
}

.p-cookie__inner {
  max-width: 1240px;
}

.p-cookie__text {
  line-height: 2;
  word-break: break-all;
}

.p-cookie__link {
  text-decoration: underline;
}

.p-cookie-container {
  padding-top: 100px;
}

.p-cookie-container:nth-of-type(2) {
  padding-top: 120px;
}

.p-cookie-container__heading {
  padding-left: 13px;
  border-left: solid 3px var(--c-main);
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 1px;
}

.p-cookie-container__text {
  margin-top: 30px;
  padding: 0 30px;
  line-height: 2;
}

.p-cookie-container__link {
  text-decoration: underline;
}

.p-cookie-container__wrapper {
  margin-top: 30px;
  padding: 0 30px 10px;
}

.p-cookie-container__wrapper::-webkit-scrollbar {
  height: 4px;
}

.p-cookie-container__wrapper::-webkit-scrollbar-track {
  height: 4px;
  background-color: #d9d9d9;
}

.p-cookie-container__wrapper::-webkit-scrollbar-thumb {
  height: 4px;
  background-color: rgba(118, 118, 118, 0.5);
}

.p-cookie-container__table {
  width: 100%;
  min-width: 1020px;
  border-bottom: solid 1px var(--border-main);
  border-collapse: collapse;
  table-layout: fixed;
}

.p-cookie-container__head {
  padding: 20px 10px;
  border-top: solid 1px var(--border-main);
  font-weight: 600;
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0.8px;
  text-align: center;
  vertical-align: middle;
}

.p-cookie-container__head:nth-of-type(3) {
  width: 38.5964912281%;
}

.p-cookie-container__head:nth-of-type(4) {
  width: 14.0350877193%;
}

.p-cookie-container__data {
  padding: 30px 10px;
  border-top: solid 1px var(--border-main);
  font-size: 1.6rem;
  line-height: 1.25;
  vertical-align: middle;
  word-break: break-word;
}

/* ------------------------------------- */

/* page coordination
/* ------------------------------------- */

.p-coordination {
  padding: 80px 0 100px;
}

.p-coordination__inner {
  max-width: 1240px;
}

.p-coordination__intro-text {
  font-size: 2rem;
  line-height: 2;
  letter-spacing: 1px;
}

/* ------------------------------------- */

/* page governance
/* ------------------------------------- */

.p-corporategovernance {
  padding: 80px 0 100px;
}

.p-corporategovernance__inner {
  max-width: 1240px;
}

.p-corporategovernance__intro-text {
  margin-top: 50px;
  line-height: 1.75;
}

.p-corporategovernance__intro-link {
  display: block;
  text-decoration: underline;
}

.p-corporategovernance__container:not(:first-of-type) {
  padding-top: 80px;
}

.p-corporategovernance__container:first-of-type {
  padding-top: 60px;
}

.p-corporategovernance__subheading {
  margin-bottom: 30px;
  padding-left: 20px;
  border-left: solid 5px var(--c-main);
  font-weight: 600;
  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: 1.2px;
}

.p-corporategovernance__contents {
  padding: 0 30px;
}

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

.p-corporategovernance__figure {
  margin: 30px 0;
}

.p-corporategovernance__figure::-webkit-scrollbar {
  height: 4px;
  background-color: #d9d9d9;
}

.p-corporategovernance__figure::-webkit-scrollbar-track {
  height: 4px;
  background-color: #d9d9d9;
}

.p-corporategovernance__figure::-webkit-scrollbar-thumb {
  height: 4px;
  background-color: rgba(118, 118, 118, 0.5);
}

.p-corporategovernance__box:not(:first-child) {
  margin-top: 50px;
}

.p-corporategovernance__box-heading {
  font-weight: 600;
  font-size: 1.6rem;
  line-height: 1.75;
  letter-spacing: 0.8px;
}

.p-corporategovernance__box-text {
  margin-top: 10px;
  line-height: 1.75;
}

.p-corporategovernance__box-text strong {
  font-weight: 600;
}

.p-corporategovernance__wrapper {
  max-width: 800px;
  margin: 50px auto;
  padding: 40px 60px;
  background-color: var(--bg-main);
}

.p-corporategovernance__wrapper-heading {
  padding-bottom: 10px;
  border-bottom: solid 1px var(--border-main);
  font-weight: 600;
  font-size: 1.8rem;
  line-height: 1.7777777778;
  letter-spacing: 0.9px;
  text-align: center;
}

.p-corporategovernance__list {
  max-width: 576px;
  margin: 40px auto 0;
}

.p-corporategovernance__item {
  margin-left: 1.5em;
  line-height: 1.75;
  list-style: number;
}

.p-corporategovernance__item:not(:first-child) {
  margin-top: 20px;
}

.p-corporategovernance__table-wrapper::-webkit-scrollbar {
  height: 4px;
  background-color: #d9d9d9;
}

.p-corporategovernance__table-wrapper::-webkit-scrollbar-track {
  height: 4px;
  background-color: #d9d9d9;
}

.p-corporategovernance__table-wrapper::-webkit-scrollbar-thumb {
  height: 4px;
  background-color: rgba(118, 118, 118, 0.5);
}

.p-corporategovernance__table {
  width: 100%;
  min-width: 1200px;
  border-collapse: collapse;
  table-layout: fixed;
}

.p-corporategovernance__table th,
.p-corporategovernance__table td {
  padding: 24px 10px;
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0.7px;
  text-align: center;
  vertical-align: middle;
}

.p-corporategovernance__table th.head {
  border-right: solid 1px var(--c-base);
  background-color: #ddd;
}

.p-corporategovernance__table td {
  border: solid 1px var(--border-main);
}

.p-corporategovernance__table .gender {
  width: 80px;
}

.p-corporategovernance__link {
  text-decoration: underline;
}

/* ------------------------------------- */

/* page customer
/* ------------------------------------- */

.p-customer {
  padding: 80px 0 100px;
}

.p-customer__inner {
  max-width: 1240px;
}

.p-customer-philosophy__wrapper {
  -webkit-box-align: start;
  -ms-flex-align: start;
  display: grid;
  grid-template-columns: auto 250px;
  align-items: start;
  margin-top: 50px;
  gap: 30px 40px;
}

.p-customer-philosophy__text {
  line-height: 2;
}

.p-customer__container {
  -webkit-column-gap: 80px;
  -moz-column-gap: 80px;
  -webkit-box-align: start;
  -ms-flex-align: start;
  display: grid;
  grid-template-columns: 272px 1fr;
  column-gap: 80px;
  align-items: start;
  padding-top: 120px;
}

.p-customer-policy__text {
  margin-top: 50px;
  line-height: 2;
}

.p-customer-policy__list {
  display: grid;
  margin-top: 30px;
  padding: 40px;
  gap: 15px;
  background-color: var(--bg-main);
}

.p-customer-policy__item {
  margin-left: 1.5em;
  font-weight: 600;
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0.8px;
  list-style: number;
}

.p-customer-management,
.p-customer-satisfaction,
.p-customer-communication {
  padding-top: 120px;
}

.p-custom-management__text {
  margin-top: 50px;
  line-height: 2;
}

.p-customer-management__image {
  width: 100%;
  margin-top: 50px;
}

.p-customer-satisfaction__subheading,
.p-customer-communication__subheading {
  margin-top: 50px;
  padding-left: 20px;
  border-left: solid 5px var(--c-main);
  font-weight: 600;
  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: 1.2px;
}

.p-customer-satisfaction__text {
  margin-top: 30px;
  line-height: 2;
}

.p-customer-satisfaction__wrapper,
.p-customer-communication__wrapper--col03 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 30px;
  margin-bottom: 40px;
  gap: 30px 20px;
}

.p-customer-satisfaction__image img,
.p-customer-communication__image img {
  width: 100%;
}

.p-customer-satisfaction__image figcaption,
.p-customer-communication__image figcaption {
  margin-top: 5px;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.7857142857;
  letter-spacing: 0.7px;
}

.p-customer-communication__wrapper--col02 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 30px;
  gap: 20px 40px;
}

.p-customer-communication__text {
  line-height: 2;
}

.p-customer-communication__subheading + .p-customer-communication__text {
  margin-top: 30px;
}

.p-customer__button {
  max-width: 300px;
  margin: 100px auto 0;
}

.p-customer__button .c-button-primary__text {
  font-size: 1.4rem;
}

/* ------------------------------------- */

/* page delivery
/* ------------------------------------- */

.p-delivery {
  padding: 80px 0 100px;
}

.p-delivery__inner {
  max-width: 1240px;
}

.p-delivery__intro-text {
  font-size: 2rem;
  line-height: 2;
  letter-spacing: 1px;
}

/* ------------------------------------- */

/* page disclosure
/* ------------------------------------- */

.p-disclosure {
  padding: 80px 0 100px;
}

.p-disclosure__inner {
  max-width: 1240px;
}

.p-disclosure__heading {
  font-weight: 700;
  font-size: 3.6rem;
  line-height: 1.3888888889;
  letter-spacing: 1.8px;
}

.p-disclosure__text {
  margin-top: 50px;
  padding: 0 30px;
  line-height: 2;
}

.p-disclosure__text + .p-disclosure__heading {
  margin-top: 120px;
}

/* ------------------------------------- */

/* page documents
/* ------------------------------------- */

.p-documents {
  padding: 80px 0 100px;
}

.p-documents__inner {
  max-width: 1240px;
}

.p-documents__container--archive {
  padding-top: 100px;
}

.p-documents__wrapper {
  max-width: 1140px;
  margin: 60px auto 0;
}

.p-documents__subheading {
  padding-left: 20px;
  border-left: solid 5px var(--c-main);
  font-weight: 600;
  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: 1.2px;
}

.p-documents__subheading .sub {
  display: inline-block;
  margin-left: 3px;
  font-weight: 400;
  font-size: 1.6rem;
  letter-spacing: 0.8px;
}

.p-documents__head {
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: grid;
  grid-template-columns: 1fr 24px;
  align-items: center;
  cursor: pointer;
}

.p-documents__head::before,
.p-documents__head::after {
  -webkit-transition: rotate 0.3s;
  display: inline-block;
  grid-row: 1/2;
  grid-column: 2/3;
  width: 24px;
  height: 2px;
  background-color: #868686;
  content: "";
  transition: rotate 0.3s;
}

.p-documents__head::after {
  rotate: 90deg;
}

.p-documents__details.is-opened .p-documents__head::after {
  rotate: 0deg;
}

.p-documents__head::-webkit-details-marker {
  display: none;
}

.p-documents__body {
  overflow: hidden;
}

.p-documents__list {
  margin-top: 40px;
  border-bottom: solid 1px #ddd;
}

.p-documents__item {
  -webkit-column-gap: 20px;
  -moz-column-gap: 20px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  column-gap: 20px;
  align-items: center;
  padding: 30px 20px 30px 10px;
  border-top: solid 1px #ddd;
}

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

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

.p-documents__data-link {
  display: block;
  text-decoration: underline;
}

.p-documents__button {
  margin: 120px auto 0;
}

/* ------------------------------------- */

/* page dx
/* ------------------------------------- */

.p-dx {
  padding-top: 80px;
  overflow-x: hidden;
}

.p-dx__inner {
  max-width: 1240px;
}

.p-dx__intro-text {
  font-size: 2rem;
  line-height: 2;
}

.p-dx__intro-image {
  width: 100%;
  max-width: 560px;
  margin: 70px auto 0;
}

.p-dx__wrapper {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: 100vw;
  margin: 140px calc(50% - 50vw) 0;
  border-top: solid 1px var(--border-main);
  border-bottom: solid 1px var(--border-main);
}

.p-dx__image img {
  -o-object-fit: cover;
  -o-object-position: left center;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left center;
}

.p-dx__info {
  display: grid;
  place-items: center start;
  padding: 0 60px;
  background-color: var(--c-base);
}

.p-dx__info-title {
  font-weight: 700;
  font-size: 2.8rem;
  line-height: 1.5;
  letter-spacing: 1.4px;
}

.p-dx__info-subtitle {
  margin-top: 15px;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.8px;
}

.p-dx__info-text {
  margin-top: 20px;
  line-height: 1.5;
  letter-spacing: 0.8px;
}

.p-dx__info-button {
  margin-top: 20px;
  padding: 6px 10px 6px 25px;
}

/* ------------------------------------- */

/* page electron
/* ------------------------------------- */

.p-electron {
  padding: 80px 0 100px;
}

.p-electron__inner {
  max-width: 1240px;
}

.p-electron__wrapper {
  margin-top: 50px;
  padding: 0 30px;
}

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

.p-electron__list {
  margin-top: 40px;
  border-bottom: solid 1px #ddd;
}

.p-electron__item {
  -webkit-column-gap: 20px;
  -moz-column-gap: 20px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  column-gap: 20px;
  align-items: center;
  padding: 30px 20px 30px 10px;
  border-top: solid 1px #ddd;
}

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

.p-electron__title {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-column-gap: 10px;
  -moz-column-gap: 10px;
  -webkit-transition: var(--transi-opc);
  display: grid;
  grid-template-columns: 1fr 16px;
  column-gap: 10px;
  align-items: center;
  line-height: 1.5;
  transition: var(--transi-opc);
}

.p-electron__title::after {
  width: 16px;
  height: 20px;
  background: url(../img/common/icon-pdf.svg) no-repeat center center/contain;
  content: "";
}

.p-electron__title:focus-visible {
  opacity: 0.7;
}

.p-electron__heading {
  margin-top: 110px;
  font-weight: 700;
  font-size: 3.6rem;
  line-height: 1.3888888889;
  letter-spacing: 1.8px;
}

.p-electron__text {
  margin-top: 50px;
  padding: 0 30px;
  line-height: 2;
}

.p-electron__button {
  margin: 100px auto 0;
}

/* ------------------------------------- */

/* page employee
/* ------------------------------------- */

.p-employee {
  padding: 80px 0 100px;
}

.p-employee__inner {
  max-width: 1240px;
}

.p-employee-philosophy__wrapper {
  max-width: 1140px;
  margin: 60px auto 0;
}

.p-employee-philosophy__text {
  line-height: 2;
}

.p-employee__container {
  -webkit-column-gap: 80px;
  -moz-column-gap: 80px;
  -webkit-box-align: start;
  -ms-flex-align: start;
  display: grid;
  grid-template-columns: 272px 1fr;
  column-gap: 80px;
  align-items: start;
  padding-top: 120px;
}

.p-employee-policy__text {
  margin-top: 50px;
  line-height: 2;
}

.p-employee-policy__link {
  text-decoration: underline;
}

.p-employee-management,
.p-employee-wellbeing,
.p-employee-initiatives,
.p-employee-benefits,
.p-employee-training,
.p-employee-reports {
  padding-top: 120px;
}

.p-employee-management__subheading,
.p-employee-wellbeing__subheading,
.p-employee-initiatives__subheading,
.p-employee-benefits__subheading,
.p-employee-training__subheading,
.p-employee-reports__subheading {
  margin: 50px 0 30px;
  padding-left: 20px;
  border-left: solid 5px var(--c-main);
  font-weight: 600;
  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: 1.2px;
}

.p-employee-management__text,
.p-employee-wellbeing__text,
.p-employee-initiatives__text,
.p-employee-benefits__text,
.p-employee-training__text,
.p-employee-reports__text {
  line-height: 1.75;
}

.c-heading + .p-employee-management__text,
.c-heading + .p-employee-wellbeing__text {
  margin-top: 60px;
}

.p-employee-management__box,
.p-employee-wellbeing__box {
  margin-top: 60px;
}

.p-employee-management__box-head,
.p-employee-wellbeing__box-head {
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: grid;
  grid-template-columns: -webkit-max-content minmax(0, 1fr);
  grid-template-columns: max-content minmax(0, 1fr);
  align-items: center;
  padding: 9px 40px;
  gap: 10px 40px;
  background-color: #ddd;
  font-weight: 600;
  font-size: 3rem;
  line-height: 1.8;
  letter-spacing: 1.5px;
}

.p-employee-management__box-head .text,
.p-employee-wellbeing__box-head .text {
  display: block;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0.7px;
}

.p-employee-management__text {
  line-height: 1.75;
}

.p-employee-management__group {
  margin-top: 50px;
}

.p-employee-management__group-title {
  font-weight: 600;
  line-height: 1.75;
}

.p-employee-management__group-text {
  margin-top: 5px;
  line-height: 1.75;
}

.p-employee-management__group-wrapper {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 20px;
  gap: 20px;
}

.p-employee-wellbeing__text {
  line-height: 1.75;
}

.p-employee-wellbeing__text .head {
  display: block;
  margin-bottom: 10px;
  font-weight: 600;
}

.p-employee-wellbeing__container {
  margin-top: 60px;
  padding: 40px;
  background-color: var(--bg-main);
}

.p-employee-wellbeing__container-heading {
  padding-bottom: 10px;
  border-bottom: solid 1px var(--border-main);
  font-weight: 600;
  font-size: 1.8rem;
  line-height: 1.7777777778;
  letter-spacing: 0.9px;
  text-align: center;
}

.p-employee-wellbeing__container-lead {
  margin-top: 30px;
  line-height: 1.75;
}

.p-employee-wellbeing__box-heading {
  color: var(--c-main);
  font-weight: 700;
  font-size: 3.2rem;
  line-height: 1.25;
  font-family: var(--f-en);
  letter-spacing: 1.6px;
}

.p-employee-wellbeing__box-body {
  padding: 40px;
  background-color: var(--c-base);
}

.p-employee-wellbeing__box-list {
  display: grid;
  row-gap: 18px;
  margin-top: 20px;
}

.p-employee-wellbeing__box-item {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-column-gap: 70px;
  -moz-column-gap: 70px;
  display: grid;
  grid-template-columns: 200px minmax(0, 1fr);
  column-gap: 70px;
  align-items: center;
  padding-bottom: 5px;
  border-bottom: solid 1px var(--border-main);
}

.p-employee-wellbeing__box-title {
  color: rgba(0, 0, 0, 0.4);
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.6666666667;
  font-family: var(--f-en);
  letter-spacing: 1.2px;
  text-transform: uppercase;
}

.p-employee-wellbeing__box-title::first-letter {
  color: var(--c-main);
}

.p-employee-wellbeing__box-data {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-column-gap: 20px;
  -moz-column-gap: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  column-gap: 20px;
  justify-content: space-between;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0.7px;
}

.p-employee-wellbeing__container-text {
  margin-top: 50px;
  line-height: 1.75;
}

.p-employee-wellbeing__container-text strong {
  font-weight: 600;
}

.p-employee-wellbeing__container-bottom {
  margin-top: 50px;
  line-height: 1.75;
  text-align: right;
}

.p-employee-wellbeing__figure {
  margin-top: 40px;
}

.p-employee-wellbeing__button {
  margin: 40px auto 0;
}

.p-employee-wellbeing__wrapper {
  display: grid;
  grid-template-columns: 53.6585365854% 41.4634146341%;
  margin-top: 30px;
  gap: 10px 40px;
}

.p-employee-wellbeing__group-table-wrapper {
  margin-top: 10px;
}

.p-employee-wellbeing__group-table-wrapper::-webkit-scrollbar {
  height: 4px;
  background-color: #d9d9d9;
}

.p-employee-wellbeing__group-table-wrapper::-webkit-scrollbar-track {
  height: 4px;
  background-color: #d9d9d9;
}

.p-employee-wellbeing__group-table-wrapper::-webkit-scrollbar-thumb {
  height: 4px;
  background-color: rgba(118, 118, 118, 0.5);
}

.p-employee-wellbeing__group-table {
  width: 100%;
  border-collapse: collapse;
}

.p-employee-wellbeing__group-table th {
  padding: 24px 10px;
  border-right: solid 1px var(--c-base);
  background-color: #ddd;
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0.7px;
  text-align: center;
}

.p-employee-wellbeing__group-table td {
  padding: 24px 10px;
  border: solid 1px var(--border-main);
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0.7px;
}

.p-employee-wellbeing__group-table td sup {
  font-size: 0.8rem;
  vertical-align: text-top;
}

.p-employee-wellbeing__group-table td:not(.title) {
  width: 92px;
  text-align: right;
}

.p-employee-wellbeing__table-notice {
  margin-top: 10px;
  font-size: 1.2rem;
  line-height: 1.75;
  letter-spacing: 0.6px;
}

.p-employee-wellbeing-plan {
  margin-top: 40px;
  padding: 40px;
  background-color: var(--bg-main);
}

.p-employee-wellbeing-plan__heading {
  padding-bottom: 10px;
  border-bottom: solid 1px var(--border-main);
  font-weight: 600;
  font-size: 1.8rem;
  line-height: 1.7777777778;
  letter-spacing: 0.9px;
}

.p-employee-wellbeing-plan__wrapper + .p-employee-wellbeing-plan__heading {
  margin-top: 70px;
}

.p-employee-wellbeing-plan__def-list {
  margin-top: 30px;
}

.p-employee-wellbeing-plan__def-item {
  -webkit-column-gap: 20px;
  -moz-column-gap: 20px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: grid;
  grid-template-columns: -webkit-max-content minmax(0, 1fr);
  grid-template-columns: max-content minmax(0, 1fr);
  column-gap: 20px;
  align-items: center;
}

.p-employee-wellbeing-plan__def-item:not(:first-child) {
  margin-top: 15px;
}

.p-employee-wellbeing-plan__def-title {
  padding: 8px 10px;
  border-radius: var(--round);
  background-color: var(--c-main);
  color: var(--c-base);
  font-weight: 500;
  font-size: 1.2rem;
  letter-spacing: 0.6px;
}

.p-employee-wellbeing-plan__def-data {
  line-height: 1.75;
}

.p-employee-wellbeing-plan__subheading {
  -webkit-column-gap: 7px;
  -moz-column-gap: 7px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: grid;
  grid-template-columns: 14px auto;
  column-gap: 7px;
  align-items: center;
  margin-top: 30px;
  font-weight: 600;
  font-size: 1.6rem;
  line-height: 1.75;
  letter-spacing: 0.8pxx;
}

.p-employee-wellbeing-plan__subheading::before {
  width: 14px;
  height: 2px;
  background-color: var(--c-main);
  content: "";
}

.p-employee-wellbeing-plan__wrapper {
  margin-top: 20px;
}

.p-employee-wellbeing-plan__wrapper .head {
  display: block;
  font-weight: 600;
  line-height: 1.75;
  letter-spacing: 0.8px;
}

.p-employee-wellbeing-plan__item {
  margin-left: 1.5em;
  line-height: 1.75;
  letter-spacing: 0.8px;
  list-style: disc;
}

.p-employee-training__policy-image {
  width: 100%;
  margin-top: 60px;
}

.p-employee-training__image {
  margin-top: 30px;
}

.p-employee-training__image::-webkit-scrollbar {
  height: 4px;
  background-color: #d9d9d9;
}

.p-employee-training__image::-webkit-scrollbar-track {
  height: 4px;
  background-color: #d9d9d9;
}

.p-employee-training__image::-webkit-scrollbar-thumb {
  height: 4px;
  background-color: rgba(118, 118, 118, 0.5);
}

.p-employee-wellbeing__group {
  margin-top: 50px;
}

.p-employee-wellbeing__group-title {
  font-weight: 600;
  line-height: 1.75;
}

.p-employee-wellbeing__group-text {
  margin-top: 5px;
  line-height: 1.75;
}

.p-employee-wellbeing__group-flyer {
  max-width: 600px;
  margin-top: 50px;
  margin-inline: auto;
}

.p-employee-wellbeing__group-flyer img {
  width: 100%;
}

.p-employee-training__box {
  margin-top: 30px;
}

.p-employee-training__box-title {
  font-weight: 600;
  line-height: 1.75;
}

.p-employee-training__box-text {
  margin-top: 10px;
  line-height: 1.75;
}

.p-employee-reports__box {
  margin-top: 30px;
}

.p-employee-reports__box-title {
  font-weight: 600;
  line-height: 1.75;
}

.p-employee-reports__box-text {
  margin-top: 10px;
  line-height: 1.75;
}

.p-employee-reports__box-list {
  margin-top: 1.6em;
}

.p-employee-reports__box-item {
  margin-left: 1.5em;
  line-height: 1.75;
  letter-spacing: 0.8px;
  list-style: disc;
}

.p-employee-reports__box-picture {
  display: block;
  width: 100%;
}

.p-employee-reports__table-wrapper {
  margin-top: 30px;
}

.p-employee-reports__table-wrapper::-webkit-scrollbar {
  height: 4px;
  background-color: #d9d9d9;
}

.p-employee-reports__table-wrapper::-webkit-scrollbar-track {
  height: 4px;
  background-color: #d9d9d9;
}

.p-employee-reports__table-wrapper::-webkit-scrollbar-thumb {
  height: 4px;
  background-color: rgba(118, 118, 118, 0.5);
}

.p-employee-reports__table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.p-employee-reports__table th {
  padding: 24px 10px;
  border-right: solid 1px var(--c-base);
  background-color: #ddd;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.8px;
  text-align: center;
}

.p-employee-reports__table td {
  padding: 22px 10px;
  border: solid 1px var(--border-main);
  font-size: 1.6rem;
  line-height: 1.75;
  letter-spacing: 0.8px;
}

.p-employee-reports__table td:not(.title) {
  text-align: center;
}

.p-employee-reports__table td.title sub {
  font-size: 0.8rem;
  vertical-align: text-bottom;
}

.p-employee-reports__table-notice {
  margin-top: 10px;
  font-size: 1.2rem;
  line-height: 1.75;
  letter-spacing: 0.6px;
}

.p-employee__button {
  max-width: 300px;
  margin: 100px auto 0;
}

.p-employee__button .c-button-primary__text {
  font-size: 1.4rem;
}

/* ------------------------------------- */

/* page entry
/* ------------------------------------- */

.p-entry {
  padding: 80px 0 100px;
}

.p-entry__inner {
  max-width: 1240px;
}

.p-entry__link {
  -webkit-transition: var(--transi-opc);
  display: block;
  width: 100%;
  max-width: 400px;
  margin: 80px 0 0 100px;
  transition: var(--transi-opc);
}

.p-entry__link:focus-visible {
  opacity: 0.6;
}

/* ------------------------------------- */

/* page environment
/* ------------------------------------- */

.p-environment {
  padding: 80px 0 100px;
}

.p-environment__inner {
  max-width: 1240px;
}

.p-environment__container {
  -webkit-column-gap: 80px;
  -moz-column-gap: 80px;
  -webkit-box-align: start;
  -ms-flex-align: start;
  display: grid;
  grid-template-columns: 272px 1fr;
  column-gap: 80px;
  align-items: start;
}

.p-environment-policy__text {
  margin-top: 50px;
  line-height: 2;
}

.p-environment-policy__link {
  text-decoration: underline;
}

.p-environment-disclosure,
.p-environment-management,
.p-environment-initiatives,
.p-environment-contributing {
  padding-top: 120px;
}

.p-environment-disclosure__subheading,
.p-environment-disclosure__subheading,
.p-environment-management__subheading,
.p-environment-contributing__subheading {
  margin: 80px 0 30px;
  padding-left: 20px;
  border-left: solid 5px var(--c-main);
  font-weight: 600;
  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: 1.2px;
}

.p-environment-management__subheading {
  margin-top: 60px;
}

.p-environment-disclosure__text {
  line-height: 2;
}

.p-environment-disclosure__table-title {
  margin-top: 40px;
  font-weight: 700;
  line-height: 1.75;
}

.p-environment-disclosure__table-wrapper {
  margin-top: 15px;
  overflow-y: hidden !important;
}

.p-environment-disclosure__table-wrapper::-webkit-scrollbar {
  height: 4px;
  background-color: #d9d9d9;
}

.p-environment-disclosure__table-wrapper::-webkit-scrollbar-track {
  height: 4px;
  background-color: #d9d9d9;
}

.p-environment-disclosure__table-wrapper::-webkit-scrollbar-thumb {
  height: 4px;
  background-color: rgba(118, 118, 118, 0.5);
}

.p-environment-disclosure__table {
  width: 100%;
  border-collapse: collapse;
}

.p-environment-disclosure__table th.head {
  padding: 23px 10px 24px;
  border-right: solid 1px var(--c-base);
  background-color: #ddd;
  font-size: 1.6rem;
  line-height: 1.5;
  text-align: center;
}

.p-environment-disclosure__table th {
  min-width: 105px;
  padding: 30px 8px;
  border-top: solid 1px var(--border-main);
  border-right: solid 1px var(--border-main);
  background-color: var(--bg-main);
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0.7px;
  vertical-align: middle;
}

.p-environment-disclosure__table td {
  padding: 30px 8px;
  border: solid 1px var(--border-main);
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0.8px;
  vertical-align: middle;
}

.p-environment-disclosure__table td.term,
.p-environment-disclosure__table td.type {
  width: 100px;
  text-align: center;
}

.p-environment-disclosure__table td.center {
  text-align: center;
}

.p-environment-disclosure__table td.bottom {
  background-color: var(--bg-main);
}

.p-environment-disclosure__table td.scope {
  width: 130px;
}

.p-environment-disclosure__table td.number {
  width: 200px;
}

.p-environment-disclosure__table--scope.-fixed {
  table-layout: fixed;
}

.p-environment-disclosure__table--scope td {
  padding: 23px 10px 24px;
  font-size: 1.6rem;
}

.p-environment-disclosure__table-notice {
  margin-top: 15px;
  font-size: 1.4rem;
  line-height: 1.7857142857;
  letter-spacing: 0.7px;
}

.p-environment-management__box {
  padding: 40px;
  background-color: var(--bg-main);
}

.p-environment-management__text {
  line-height: 1.75;
}

.p-environment-management__list {
  margin-top: 50px;
}

.p-environment-management__item {
  margin-left: 1.5em;
  font-weight: 600;
  line-height: 2.5;
  letter-spacing: 0.8px;
  list-style: number;
}

.p-environment-management__wrapper {
  display: grid;
  grid-template-columns: auto 250px;
  gap: 30px 40px;
}

.p-environment-management__text {
  line-height: 1.75;
}

.p-environment-management__figure-title {
  margin-top: 30px;
  font-weight: 700;
  line-height: 1.75;
}

.p-environment-management__figure {
  margin-top: 30px;
}

.p-environment-management__figure img {
  width: 100%;
}

.p-environment-initiatives__text {
  margin-top: 50px;
  line-height: 1.75;
}

.p-environment-initiatives__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 80px;
  gap: 40px 10px;
}

.p-environment-initiatives__column {
  -webkit-box-shadow: 0px 4px 10px 0 rgba(0, 0, 0, 0.1);
  padding: 30px;
  background-color: var(--bg-main);
  box-shadow: 0px 4px 10px 0 rgba(0, 0, 0, 0.1);
}

.p-environment-initiatives__column--philosophy {
  grid-row: 1/2;
  grid-column: 1/2;
}

.p-environment-initiatives__column--vision {
  grid-row: 1/2;
  grid-column: 2/3;
}

.p-environment-initiatives__column--themes {
  grid-row: 2/3;
  grid-column: 1/3;
}

.p-environment-initiatives__column--aim {
  grid-row: 3/4;
  grid-column: 1/3;
}

.p-environment-initiatives__column--topics {
  margin-top: 60px;
}

.p-environment-initiatives__column-heading {
  padding-bottom: 20px;
  border-bottom: solid 1px var(--border-main);
  font-weight: 700;
  font-size: 2rem;
  letter-spacing: 1px;
  text-align: center;
}

.p-environment-initiatives__column-text {
  margin-top: 15px;
  line-height: 1.5;
}

.p-environment-initiatives__column-wrapper {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.p-environment-initiatives__column-box {
  padding: 30px 20px;
}

.p-environment-initiatives__column-subheading {
  font-weight: 600;
  font-size: 1.6rem;
  line-height: 1.75;
  text-align: center;
}

.p-environment-initiatives__column-list {
  -ms-flex-wrap: wrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  margin-top: 15px;
  gap: 5px;
}

.p-environment-initiatives__column-item {
  -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
  padding: 6px 10px;
  border-radius: var(--round);
  background-color: var(--c-base);
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
  font-weight: 500;
  font-size: 1.2rem;
  line-height: normal;
  letter-spacing: 0.6px;
  text-align: center;
}

.p-environment-initiatives__column-item:not(.u-w100p) {
  width: calc(50% - 2.5px);
}

.p-environment-initiatives__column-logos {
  -ms-flex-wrap: wrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  margin-top: 20px;
  gap: 6px;
}

.p-environment-initiatives__column-logo {
  aspect-ratio: 1;
  width: calc(25% - 4.5px);
}

.p-environment-initiatives__column-logo img {
  width: 100%;
}

.p-environment-initiatives__column-heading--topics {
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.6666666667;
  letter-spacing: 1.2px;
}

.p-environment-initiatives__column-heading--topics .sub {
  display: block;
  margin-bottom: 10px;
  color: var(--c-main);
  font-size: 1.4rem;
  line-height: 1;
  font-family: var(--f-en);
  letter-spacing: 0.7px;
}

.p-environment-initiatives__column-text {
  margin-top: 30px;
  line-height: 1.75;
}

.p-environment-initiatives__column-wrapper--topics {
  display: grid;
  grid-template-columns: 59.4594594595% 35.1351351351%;
  margin-top: 40px;
  gap: 20px 40px;
}

.p-environment-initiatives__column-image--second img {
  width: 100%;
}

.p-environment-contributing__text {
  line-height: 1.75;
}

.p-environment-contributing__text--intro {
  margin-top: 50px;
}

.p-environment-contributing__wrapper {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 40px;
  gap: 20px;
}

.p-environment-contributing__image img {
  width: 100%;
}

.p-environment__button {
  max-width: 300px;
  margin: 80px auto 0;
}

.p-environment__button .c-button-primary__text {
  font-size: 1.4rem;
}

/* ------------------------------------- */

/* page equipmentproject
/* ------------------------------------- */

.p-equipment-project {
  padding: 80px 0 100px;
}

.p-equipment-project__inner {
  max-width: 1240px;
}

.p-equipment-project__intro-text {
  font-size: 2rem;
  line-height: 2;
  letter-spacing: 1px;
}

.p-equipment-project__button {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-column-gap: 10px;
  -moz-column-gap: 10px;
  -webkit-box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
  display: grid;
  grid-template-columns: auto 40px;
  column-gap: 10px;
  align-items: center;
  width: 100%;
  max-width: 300px;
  padding: 10px 10px 10px 25px;
  border-radius: var(--round);
  background-color: var(--c-main);
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
  color: var(--c-base);
}

.p-equipment-project__button-text {
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.8px;
  text-align: center;
}

.p-equipment-project__button-icon {
  -webkit-transition: var(--transi-bg);
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border: solid 1px var(--c-base);
  border-radius: var(--round);
  background-color: var(---c-main);
  transition: var(--transi-bg);
}

.p-equipment-project__button-icon svg {
  fill: var(--c-base);
  -webkit-transition: var(--transi-fill);
  width: 15px;
  height: 15px;
  transition: var(--transi-fill);
}

.p-equipment-project__button:focus-visible .p-equipment-project__button-icon {
  background-color: var(--c-base);
}

.p-equipment-project__button:focus-visible .p-equipment-project__button-icon svg {
  fill: var(--c-main);
}

/* ------------------------------------- */

/* page faq
/* ------------------------------------- */

.p-faq {
  padding: 80px 0 100px;
}

.p-faq__inner {
  -webkit-column-gap: 80px;
  -moz-column-gap: 80px;
  -webkit-box-align: start;
  -ms-flex-align: start;
  display: grid;
  grid-template-columns: 272px 1fr;
  column-gap: 80px;
  align-items: start;
  max-width: 1240px;
}

.p-faq__section:not(:first-of-type) {
  padding-top: 80px;
}

.p-faq__section-heading {
  padding-left: 20px;
  border-left: solid 5px var(--c-main);
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: 1.2px;
}

.p-faq__container {
  margin-top: 40px;
  border-bottom: solid 1px var(--border-main);
}

.p-faq__head {
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: grid;
  grid-template-columns: 24px -webkit-max-content 1fr;
  grid-template-columns: 24px max-content 1fr;
  align-items: center;
  padding: 17px 20px 16px;
  border-top: solid 1px var(--border-main);
  list-style-type: none;
  cursor: pointer;
}

.p-faq__head::before,
.p-faq__head::after {
  -webkit-transition: rotate 0.3s;
  display: inline-block;
  grid-row: 1/2;
  grid-column: 1/2;
  width: 24px;
  height: 2px;
  background-color: var(--c-main);
  content: "";
  transition: rotate 0.3s;
}

.p-faq__head::after {
  rotate: 90deg;
}

.p-faq__details.is-opened .p-faq__head::after {
  rotate: 0deg;
}

.p-faq__head::-webkit-details-marker {
  display: none;
}

.p-faq__head-num {
  margin: 0 20px 0 60px;
  color: var(--c-main);
  font-weight: 700;
  font-size: 1rem;
  line-height: 1;
  font-family: var(--f-en);
  letter-spacing: 0.5px;
}

.p-faq__head-num .num {
  display: block;
  font-size: 3.6rem;
  letter-spacing: 1.8px;
  text-align: center;
}

.p-faq__title {
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.5;
  letter-spacing: 0.9px;
}

.p-faq__body {
  overflow: hidden;
}

.p-faq__body-wrap {
  -webkit-column-gap: 20px;
  -moz-column-gap: 20px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: grid;
  grid-template-columns: -webkit-max-content 1fr;
  grid-template-columns: max-content 1fr;
  column-gap: 20px;
  align-items: center;
  padding: 16px 20px 17px 102px;
  border-top: dashed 1px var(--border-main);
}

.p-faq__body-num {
  min-width: 57.55px;
  color: #ddd;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1;
  font-family: var(--f-en);
  letter-spacing: 0.5px;
  text-align: center;
}

.p-faq__body-num .num {
  display: block;
  font-size: 3.6rem;
  letter-spacing: 1.8px;
  text-align: center;
}

.p-faq__text {
  font-size: 1.6rem;
  line-height: 1.75;
  letter-spacing: 0.8px;
}

.p-faq__text a {
  text-decoration: underline;
}

.p-faq__text strong {
  font-weight: 700;
}

.p-faq__button {
  margin: 100px auto 0;
}

/* ------------------------------------- */

/* page global
/* ------------------------------------- */

.p-global {
  padding: 80px 0 100px;
  overflow-x: hidden;
}

.p-global__inner {
  max-width: 1240px;
}

.p-global-intro {
  position: relative;
  padding-bottom: 200px;
}

.p-global-intro::before {
  z-index: -1;
  position: absolute;
  bottom: -185px;
  left: 50%;
  width: 1440px;
  height: 630px;
  translate: -50% 0;
  background: url(../img/business/global/bg-resource.webp) no-repeat center center/cover;
  content: "";
}

.p-global-intro__text {
  margin-top: 50px;
  line-height: 2;
  text-align: center;
}

.p-global__intro-text {
  font-size: 2rem;
  line-height: 2;
  letter-spacing: 1px;
}

.p-global__column-container {
  margin-top: -35px;
  padding-bottom: 100px;
}

.p-global-history {
  padding: 100px 0;
}

.p-global-history__list {
  max-width: 1000px;
  margin: 80px auto 0;
  border-bottom: solid 1px var(--border-main);
}

.p-global-history__item {
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  align-items: center;
  border-top: solid 1px var(--border-main);
}

.p-global-history__year {
  color: var(--c-main);
  font-weight: 700;
  font-size: 3rem;
  line-height: 2;
  font-family: var(--f-en);
  letter-spacing: 1.5px;
}

.p-global-history__data-item {
  -webkit-column-gap: 20px;
  -moz-column-gap: 20px;
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr);
  column-gap: 20px;
  padding: 24px 10px;
  line-height: 2;
}

.p-global-history__data-item:not(:first-child) {
  border-top: solid 1px var(--border-main);
}

.p-global-bases {
  padding-top: 100px;
}

.p-global-bases__map {
  display: block;
  width: 100%;
  margin-top: 70px;
}

.p-global-bases__container {
  padding-top: 80px;
}

.p-global-bases__head {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.p-global-bases__heading {
  font-weight: 700;
  font-size: 3.6rem;
  line-height: 1.3888888889;
  letter-spacing: 1.8px;
}

.p-global-bases__wrapper {
  margin-top: 30px;
  padding: 0 30px;
}

.p-global-bases__wrapper:has(.p-global-bases__image) {
  -webkit-box-align: start;
  -ms-flex-align: start;
  display: grid;
  grid-template-columns: min(440px, 50%) 1fr;
  align-items: start;
  gap: 30px 40px;
}

.p-global-bases__image:not(:has(.p-global-bases__image)) P {
  display: block;
}

.p-global-bases__map-link {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-column-gap: 5px;
  -moz-column-gap: 5px;
  display: inline grid;
  grid-template-columns: auto 15px;
  column-gap: 5px;
  align-items: center;
  padding-bottom: 4px;
  border-bottom: solid 1px #555;
  color: #555;
}

.p-global-bases__map-link .icon {
  fill: #000;
  width: 15px;
  height: 15px;
}

.p-global-bases__address--head {
  margin-top: 30px;
  font-size: 1.8rem;
  line-height: 1.6666666667;
  letter-spacing: 0.9px;
}

.p-global-bases__tel--head {
  font-size: 1.8rem;
  line-height: 1.6666666667;
  letter-spacing: 0.9px;
}

.p-global-bases__child {
  display: grid;
  row-gap: 20px;
}

.p-global-bases__child-item {
  display: grid;
}

.p-global-bases__child--head {
  margin-top: 40px;
  padding: 0 30px;
}

.p-global-bases__child-head {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -ms-flex-wrap: wrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 10px;
  gap: 10px;
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.6666666667;
  letter-spacing: 0.9px;
}

.p-global-bases__child-link {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-column-gap: 4px;
  -moz-column-gap: 4px;
  -webkit-transition: border-color 0.3s;
  display: inline grid;
  grid-template-columns: auto 13px;
  column-gap: 4px;
  align-items: center;
  border-bottom: solid 1px transparent;
  line-height: 1.7142857143;
  letter-spacing: 0.8px;
  transition: border-color 0.3s;
}

.p-global-bases__child-link::after {
  width: 13px;
  height: 13px;
  background: url(../img/common/icon-expand.svg) no-repeat center center/contain;
  content: "";
}

.p-global-bases__child-link:focus-visible {
  border-color: #000;
}

.p-global-bases__child-address {
  margin-top: 10px;
  line-height: 1.5;
  letter-spacing: 0.8px;
}

.p-global-bases__child-tel {
  line-height: 1.5;
  letter-spacing: 0.8px;
}

.p-global-bases__list {
  display: grid;
  row-gap: 30px;
}

.p-global-bases__item-head {
  -ms-flex-wrap: wrap;
  -webkit-box-align: start;
  -ms-flex-align: start;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  align-items: start;
  justify-content: space-between;
  gap: 10px;
}

.p-global-bases__subheading {
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.6666666667;
  letter-spacing: 0.9px;
}

.p-global-bases__map-link,
.p-global-bases__child-map-link {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-column-gap: 5px;
  -moz-column-gap: 5px;
  display: inline grid;
  grid-template-columns: auto 15px;
  column-gap: 5px;
  align-items: center;
  margin-left: auto;
  padding-bottom: 4px;
  border-bottom: solid 1px #555;
  color: #555;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1;
  letter-spacing: 0.8px;
}

.p-global-bases__map-link .icon,
.p-global-bases__child-map-link .icon {
  fill: #000;
  width: 15px;
  height: 15px;
}

.p-global-bases__address {
  margin-top: 10px;
  line-height: 1.5;
  letter-spacing: 0.8px;
}

.p-global-bases__tel {
  line-height: 1.5;
  letter-spacing: 0.8px;
}

.p-global-bases__link {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-column-gap: 5px;
  -moz-column-gap: 5px;
  display: inline grid;
  grid-template-columns: auto 13px;
  column-gap: 5px;
  align-items: center;
  margin-top: 15px;
  padding-bottom: 3px;
  border-bottom: solid 1px #000;
  letter-spacing: 0.7px;
}

.p-global-bases__link::after {
  width: 13px;
  height: 13px;
  background: url(../img/common/icon-expand.svg) no-repeat center center/contain;
  content: "";
}

.p-global__button {
  margin-inline: auto;
}

/* ------------------------------------- */

/* page governance
/* ------------------------------------- */

.p-governance {
  padding: 80px 0 100px;
}

.p-governance__inner {
  max-width: 1240px;
}

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

.p-governance__wrapper {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 840px;
  margin: 80px auto 0;
  gap: 40px 80px;
}

.p-governance__box-image {
  overflow: hidden;
}

.p-governance__box-image img {
  -webkit-transition: -webkit-transform 0.3s;
  height: auto;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.p-governance__box:focus-visible .p-governance__box-image img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

.p-governance__box-title {
  margin-top: 20px;
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.6666666667;
  letter-spacing: 1.2px;
}

.p-governance__button {
  max-width: 300px;
  margin: 100px auto 0;
}

.p-governance__button .c-button-primary__text {
  font-size: 1.4rem;
}

/* ------------------------------------- */

/* page group
/* ------------------------------------- */

.p-group {
  padding: 80px 0 100px;
}

.p-group__inner {
  max-width: 1240px;
}

.p-group__container {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 80px;
}

.p-group__box {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 6;
  gap: 0;
}

.p-group__box:not(:nth-of-type(1)):not(:nth-of-type(2)) {
  margin-top: 160px;
}

.p-group__image-link {
  display: block;
}

.p-group__title {
  margin-top: 20px;
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: 1.2px;
}

.p-group__link {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-column-gap: 4px;
  -moz-column-gap: 4px;
  display: inline grid;
  grid-template-columns: -webkit-max-content 11px;
  grid-template-columns: max-content 11px;
  column-gap: 4px;
  align-items: center;
  width: auto;
  margin-top: 10px;
  font-size: 1.2rem;
  text-decoration: underline;
  text-decoration: none;
}

.p-group__link::after {
  width: 11px;
  height: 11px;
  background: url(../img/common/icon-expand.svg) no-repeat center center/contain;
  content: "";
}

.p-group__link:focus-visible {
  text-decoration: underline;
}

.p-group__text {
  margin-top: 30px;
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0.7px;
}

.p-group__address {
  margin-top: 30px;
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0.7px;
}

.p-group-tel {
  font-size: 1.4rem;
  line-height: 2;
}

/* ------------------------------------- */

/* page highlight
/* ------------------------------------- */

.p-highlight {
  padding: 80px 0 100px;
}

.p-highlight__inner {
  max-width: 1240px;
}

.p-highlight__container--management {
  padding-top: 120px;
}

.p-highlight__subheading {
  margin: 50px 0 0 30px;
  padding-left: 20px;
  border-left: solid 5px var(--c-main);
  font-weight: 600;
  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: 1.2px;
}

.p-highlight__table-wrapper {
  margin-top: 40px;
  padding: 0 30px;
}

.p-highlight__table-wrapper::-webkit-scrollbar {
  height: 5px;
  background-color: #d9d9d9;
}

.p-highlight__table-wrapper::-webkit-scrollbar-track {
  height: 5px;
  background-color: #d9d9d9;
}

.p-highlight__table-wrapper::-webkit-scrollbar-thumb {
  height: 5px;
  background-color: rgba(118, 118, 118, 0.5);
}

.p-highlight__table {
  width: 100%;
  min-width: 780px;
  border-bottom: solid 1px #ddd;
  border-collapse: collapse;
}

.p-highlight__table th.head {
  padding: 24px 10px;
  border-right: solid 1px var(--c-base);
  background-color: #ddd;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.8px;
  text-align: center;
}

.p-highlight__table th.head .year {
  display: block;
  font-size: 1.4rem;
}

.p-highlight__table th.head:first-child {
  width: 260px;
}

.p-highlight__table th:not(.head) {
  padding: 24px 19px;
  border-top: solid 1px #ddd;
  background-color: var(--bg-main);
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.75;
  letter-spacing: 0.8px;
  text-align: left;
}

.p-highlight__table td {
  padding: 24px 20px;
  border-top: solid 1px #ddd;
  border-right: solid 1px #ddd;
  text-align: right;
}

.p-highlight__graph {
  -ms-flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 80px;
  padding: 0 30px;
  gap: 60px;
}

.p-highlight__graph-column {
  aspect-ratio: 540/407;
  width: 100%;
  max-width: 540px;
}

.p-highlight__graph-head {
  -webkit-box-align: end;
  -ms-flex-align: end;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -ms-flex-wrap: wrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: space-between;
  gap: 5px 10px;
}

.p-highlight__graph-heading {
  font-weight: 600;
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 1px;
}

.p-highlight__graph-notice {
  margin-left: auto;
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 1.5;
  letter-spacing: 0.6px;
}

.p-highlight__graph-wrapper {
  -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
  margin-top: 20px;
  padding: 50px 10px 0;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
}

.p-highlight__button {
  margin: 100px auto 0;
}

/* ------------------------------------- */

/* page history
/* ------------------------------------- */

.p-history {
  padding: 80px 0 100px;
}

.p-history__inner {
  max-width: 1250px;
}

.p-history__list {
  max-width: 1000px;
  margin: 80px auto 0;
}

.p-history__list {
  max-width: 1000px;
  margin: 80px auto 0;
  border-bottom: solid 1px var(--border-main);
}

.p-history__item {
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  align-items: center;
  border-top: solid 1px var(--border-main);
}

.p-history__year {
  color: var(--c-main);
  font-weight: 700;
  font-size: 3rem;
  line-height: 2;
  font-family: var(--f-en);
  letter-spacing: 1.5px;
}

.p-history__data-item {
  -webkit-column-gap: 20px;
  -moz-column-gap: 20px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr);
  column-gap: 20px;
  align-items: center;
  padding: 24px 10px;
  line-height: 2;
}

.p-history__data-item:not(:first-child) {
  border-top: solid 1px var(--border-main);
}

/* ------------------------------------- */

/* page information-detail
/* ------------------------------------- */

.p-information-detail {
  padding: 100px 0;
}

.p-information-detail__inner {
  max-width: 840px;
}

.p-information-detail__head {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-column-gap: 15px;
  -moz-column-gap: 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  column-gap: 15px;
  align-items: center;
}

.p-information-detail__category {
  padding: 5px 10px;
  border: solid 1px transparent;
  border-radius: var(--round);
  font-size: 1.2rem;
  line-height: normal;
  letter-spacing: 0.6px;
}

.p-information-detail__category--news {
  border-color: #8b4dbd;
  color: #8b4dbd;
}

.p-information-detail__category--ir {
  border-color: #ba8f00;
  color: #ba8f00;
}

.p-information-detail__category--release {
  border-color: #378dcd;
  color: #378dcd;
}

.p-information-detail__category--recruit {
  border-color: #1ca462;
  color: #1ca462;
}

.p-information-detail__category--other {
  border-color: #555555;
  color: #555555;
}

.p-information-detail__category--category4 {
  border-color: #FE6400;
  color: #FE6400;
}

.p-information-detail__category--category5 {
  border-color: #1CA462;
  color: #1CA462;
}

.p-information-detail__category--category6 {
  border-color: #EA472E;
  color: #EA472E;
}

.p-information-detail__category--category7 {
  border-color: #67A41C;
  color: #67A41C;
}

.p-information-detail__category--category8 {
  border-color: #4154C2;
  color: #4154C2;
}

.p-information-detail__category--category9 {
  border-color: #E150C0;
  color: #E150C0;
}

.p-information-detail__category--category10 {
  border-color: #7C5E5E;
  color: #7C5E5E;
}

.p-information-detail__date {
  color: #a8a8a8;
  font-weight: 600;
  font-size: 1.4rem;
  letter-spacing: 0.14px;
}

.p-information-detail__title {
  margin-top: 20px;
  padding-bottom: 10px;
  border-bottom: solid 1px #ddd;
  font-size: 2.8rem;
  line-height: 1.5;
  letter-spacing: 1.4px;
}

.p-information-detail__contents {
  margin-top: 30px;
}

.p-information-detail__control {
  margin-top: 40px;
}

.p-information-detail__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
}

.p-information-detail__wrap::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1px;
  height: 100%;
  translate: -50% -50%;
  background-color: #ddd;
  content: "";
}

.p-information-detail__nav {
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  width: 50%;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  gap: 30px;
}

.p-information-detail__nav--next {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: end;
  margin-left: auto;
}

.p-information-detail__nav-arrow {
  -webkit-transition: var(--transi-bg);
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border: solid 1px var(--c-main);
  border-radius: var(--round);
  background-color: transparent;
  transition: var(--transi-bg);
}

.p-information-detail__nav-arrow--prev {
  rotate: 180deg;
}

.p-information-detail__nav:focus-visible .p-information-detail__nav-arrow {
  background-color: var(--c-main);
}

.p-information-detail__nav-arrow-wrapper {
  width: 6px;
  height: 9px;
  overflow: hidden;
}

.p-information-detail__nav-arrows {
  -ms-flex-wrap: nowrap;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  -webkit-transition: -webkit-transform 0.3s;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: nowrap;
  justify-content: end;
  width: 6px;
  height: 9px;
  gap: 8px;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.p-information-detail__nav:focus-visible .p-information-detail__nav-arrows {
  -webkit-transform: translate(42px, 0px);
  -webkit-transition-delay: 100ms;
  -webkit-transition-duration: 1000ms;
  transform: translate(42px, 0px);
  transition-delay: 100ms;
  transition-duration: 1000ms;
}

.p-information-detail__nav-arrow-icon {
  width: 6px;
  min-width: 6px;
  min-height: 9px;
}

.p-information-detail__nav-arrow-icon--white {
  fill: var(--c-base);
}

.p-information-detail__nav-arrow-icon--orange {
  fill: var(--c-main);
}

.p-information-detail__button {
  margin: 60px auto 0;
}

/* ------------------------------------- */

/* page information
/* ------------------------------------- */

.p-information {
  padding: 150px 0 100px;
}

.p-information__inner {
  -webkit-box-align: start;
  -ms-flex-align: start;
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  align-items: start;
  max-width: 1180px;
  gap: 30px 50px;
}

.p-information__aside {
  position: sticky;
  top: 60px;
  left: 0;
}

.p-information__head {
  -webkit-column-gap: 20px;
  -moz-column-gap: 20px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: grid;
  grid-template-columns: -webkit-max-content 60px;
  grid-template-columns: max-content 60px;
  column-gap: 20px;
  align-items: center;
}

.p-information__wrapper {
  -webkit-column-gap: 40px;
  -moz-column-gap: 40px;
  display: grid;
  grid-template-columns: 250px 1fr;
  column-gap: 40px;
  margin-top: 40px;
}

.p-information__category-button {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-column-gap: 10px;
  -moz-column-gap: 10px;
  -webkit-transition: var(--transi-bg), var(--transi-color);
  display: grid;
  grid-template-columns: 15px auto;
  column-gap: 10px;
  align-items: center;
  width: 100%;
  padding: 21px 23px;
  border: none;
  border-radius: 10px;
  background-color: var(--c-base);
  font-weight: 700;
  font-size: 1.6rem;
  font-family: var(--f-jp);
  letter-spacing: 0.8px;
  text-align: left;
  transition: var(--transi-bg), var(--transi-color);
}

.p-information__category-button::before {
  -webkit-transition: var(--transi-bg);
  aspect-ratio: 1;
  width: 15px;
  border-radius: var(--round);
  background-color: var(--bg-main);
  content: "";
  transition: var(--transi-bg);
}

.p-information__category-button.is-active {
  background-color: var(--bg-main);
  color: var(--c-main);
  pointer-events: none;
}

.p-information__category-button.is-active::before {
  background-color: var(--c-main);
}

.p-information__category-button:focus-visible {
  background-color: var(--bg-main);
  color: var(--c-main);
}

.p-information__category-button:focus-visible::before {
  background-color: var(--c-main);
}

.p-information__link {
  display: block;
  position: relative;
  padding: 20px 40px 20px 0;
  border-bottom: solid 1px var(--border-main);
}

.p-information__link:focus-visible .p-information__arrow {
  border-color: var(--c-main);
}

.p-information__arrow {
  -webkit-transition: border-color 0.3s;
  display: grid;
  position: absolute;
  top: 50%;
  right: 0;
  place-items: center;
  width: 40px;
  height: 40px;
  translate: 0 -50%;
  border: solid 1px transparent;
  border-radius: var(--round);
  transition: border-color 0.3s;
}

.p-information__arrow svg {
  fill: var(--c-main);
  display: block;
  width: 9px;
  height: 9px;
}

.p-information__head {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-column-gap: 10px;
  -moz-column-gap: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  column-gap: 10px;
  align-items: center;
}

.p-information__date {
  color: #a8a8a8;
  font-size: 1.2rem;
  line-height: normal;
  letter-spacing: 0.6px;
}

.p-information__item-category {
  padding: 5px 10px;
  border: solid 1px transparent;
  border-radius: var(--round);
  font-size: 1.2rem;
  line-height: normal;
  letter-spacing: 0.6px;
}

.p-information__item-category--news {
  border-color: #8b4dbd;
  color: #8b4dbd;
}

.p-information__item-category--ir {
  border-color: #ba8f00;
  color: #ba8f00;
}

.p-information__item-category--release {
  border-color: #378dcd;
  color: #378dcd;
}

.p-information__item-category--recruit {
  border-color: #1ca462;
  color: #1ca462;
}

.p-information__item-category--other {
  border-color: #555555;
  color: #555555;
}

.p-information__item-category--category4 {
  border-color: #FE6400;
  color: #FE6400;
}

.p-information__item-category--category5 {
  border-color: #1CA462;
  color: #1CA462;
}

.p-information__item-category--category6 {
  border-color: #EA472E;
  color: #EA472E;
}

.p-information__item-category--category7 {
  border-color: #67A41C;
  color: #67A41C;
}

.p-information__item-category--category8 {
  border-color: #4154C2;
  color: #4154C2;
}

.p-information__item-category--category9 {
  border-color: #E150C0;
  color: #E150C0;
}

.p-information__item-category--category10 {
  border-color: #7C5E5E;
  color: #7C5E5E;
}

.p-information__title {
  margin-top: 5px;
  line-height: normal;
}

.p-information__title--has-icon {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-column-gap: 8px;
  -moz-column-gap: 8px;
  display: grid;
  grid-template-columns: auto 16px;
  column-gap: 8px;
  align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.p-information__title--has-icon::after {
  display: block;
  width: 16px;
  height: 16px;
  background: url(../img/common/icon-pdf.svg) no-repeat center center/contain;
  content: "";
}

.p-information__pager {
  margin-top: 70px;
}

/* ------------------------------------- */

/* page inquiry
/* ------------------------------------- */

.p-inquiry {
  padding: 80px 0 100px;
}

.p-inquiry__inner {
  max-width: 1240px;
}

.p-inquiry__container {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 160px 80px;
}

.p-inquiry__title {
  margin-top: 30px;
  font-weight: 700;
  font-size: 2.8rem;
  line-height: 1.0714285714;
  letter-spacing: 1.4px;
}

.p-inquiry__title .sub {
  display: block;
  margin-bottom: 10px;
  color: var(--c-main);
  font-weight: 700;
  font-size: 1.6rem;
  font-family: var(--f-en);
  letter-spacing: 0.8px;
}

.p-inquiry__text {
  margin-top: 30px;
  line-height: 2;
}

.p-inquiry__button {
  margin-top: 30px;
}

.p-inquiry__button-wrap {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 15px 20px;
}

/* ------------------------------------- */

/* page integrated-reports
/* ------------------------------------- */

.p-integrated-reports {
  padding: 80px 0 100px;
}

.p-integrated-reports__inner {
  max-width: 1240px;
}

.p-integrated-reports__container--archive {
  padding-top: 100px;
}

.p-integrated-reports__wrapper {
  max-width: 1140px;
  margin: 60px auto 0;
}

.p-integrated-reports__subheading {
  padding-left: 20px;
  border-left: solid 5px var(--c-main);
  font-weight: 600;
  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: 1.2px;
}

.p-integrated-reports__subheading .sub {
  display: inline-block;
  margin-left: 3px;
  font-weight: 400;
  font-size: 1.6rem;
  letter-spacing: 0.8px;
}

.p-integrated-reports__head {
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: grid;
  grid-template-columns: 1fr 24px;
  align-items: center;
  cursor: pointer;
}

.p-integrated-reports__head::before,
.p-integrated-reports__head::after {
  -webkit-transition: rotate 0.3s;
  display: inline-block;
  grid-row: 1/2;
  grid-column: 2/3;
  width: 24px;
  height: 2px;
  background-color: #868686;
  content: "";
  transition: rotate 0.3s;
}

.p-integrated-reports__head::after {
  rotate: 90deg;
}

.p-integrated-reports__details.is-opened .p-integrated-reports__head::after {
  rotate: 0deg;
}

.p-integrated-reports__head::-webkit-details-marker {
  display: none;
}

.p-integrated-reports__body {
  overflow: hidden;
}

.p-integrated-reports__list {
  margin-top: 40px;
}

.p-integrated-reports__item-image.has-thumb {
  display: grid;
  place-items: center;
  aspect-ratio: 298/223;
  padding: 20px 0;
}

.p-integrated-reports__item-image.has-thumb img {
  -o-object-fit: contain;
  -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
  aspect-ratio: 127/180;
  width: 127px;
  object-fit: contain;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
}

.p-integrated-reports__item-link {
  -webkit-column-gap: 40px;
  -moz-column-gap: 40px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-transition: var(--transi-opc);
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  column-gap: 40px;
  align-items: center;
  transition: var(--transi-opc);
}

.p-integrated-reports__item-link:focus-visible {
  opacity: 0.7;
}

.p-integrated-reports__item-date {
  line-height: 2;
}

.p-integrated-reports__item-title {
  line-height: 2;
}

.p-integrated-reports__button-wrapper {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: end;
  margin-top: 30px;
  gap: 10px 20px;
}

.p-integrated-reports__body-button {
  max-width: 250px;
}

.p-integrated-reports__button {
  margin: 120px auto 0;
}

/* ------------------------------------- */

/* page investor
/* ------------------------------------- */

.p-investor {
  padding: 80px 0 100px;
}

.p-investor__inner {
  max-width: 1040px;
  overflow: hidden;
}

.p-investor__lead {
  font-weight: 600;
  font-size: 2rem;
  line-height: 1.3;
  letter-spacing: 1px;
  text-align: center;
}

.p-investor__heading {
  margin-top: 10px;
  font-weight: 700;
  font-size: 3.6rem;
  line-height: 1.6666666667;
  letter-spacing: 1.8px;
  text-align: center;
}

.p-investor__notice {
  margin-top: 10px;
  font-size: 1.6rem;
  line-height: 1.3;
  letter-spacing: 0.8px;
  text-align: center;
}

.p-investor__image {
  max-width: 840px;
  margin: 80px auto 0;
}

.p-investor__text {
  margin-top: 70px;
  line-height: 2;
}

.p-investor__text .logo {
  display: inline-block;
  width: 100%;
  max-width: 180px;
  height: 20px;
  margin: 0 3px;
  vertical-align: sub;
}

.p-investor__name {
  margin-top: 70px;
  line-height: 2;
  text-align: right;
}

.p-meeting__button {
  margin: 80px auto 0;
}

/* ------------------------------------- */

/* page ir
/* ------------------------------------- */

.p-ir-mv {
  position: relative;
}

.p-ir-mv__inner {
  position: relative;
}

.p-ir__chart #tcs_mini {
  position: absolute;
  right: 20px;
  bottom: 20px;
  aspect-ratio: 340/230;
  width: 100%;
  max-width: 400px;
}

.p-ir {
  padding: 80px 0 100px;
}

.p-ir__inner {
  max-width: 1240px;
}

.p-ir__container {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 160px 30px;
}

.p-ir__container--bg {
  -o-border-image: linear-gradient(var(--bg-main) 0 0) 0//0 100vi;
  margin: 100px 0 80px;
  padding: 100px 0;
  border-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, var(--bg-main))) fill 0//0 100vi;
  border-image: linear-gradient(var(--bg-main) 0 0) fill 0//0 100vi;
}

.p-ir__container--col03 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.p-ir__latest-heading,
.p-ir__news-heading,
.p-ir__report-heading,
.p-ir__column-title {
  font-weight: 700;
  font-size: 2.8rem;
  line-height: 1.0714285714;
  letter-spacing: 1.4px;
}

.p-ir__latest-heading .sub,
.p-ir__news-heading .sub,
.p-ir__report-heading .sub,
.p-ir__column-title .sub {
  display: block;
  margin-bottom: 10px;
  color: var(--c-main);
  font-size: 1.6rem;
  line-height: 1.0625;
  font-family: var(--f-en);
  letter-spacing: 0.8px;
}

.p-ir__report-heading,
.p-ir__column-title {
  margin-top: 20px;
}

.p-ir__column-text {
  margin-top: 30px;
  line-height: 2;
}

.p-ir__column-button {
  margin-top: 30px;
}

.p-ir__latest {
  -webkit-box-align: end;
  -ms-flex-align: end;
  -ms-flex-wrap: wrap;
  -webkit-box-align: start;
  -ms-flex-align: start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  align-items: start;
  margin-bottom: 97px;
  padding: 40px 50px;
  gap: 20px 40px;
  border-radius: 10px;
  background-color: var(--bg-main);
}

.p-ir__latest-text {
  line-height: 2;
}

.p-ir__latest-list {
  -ms-flex-wrap: wrap;
  -webkit-box-align: start;
  -ms-flex-align: start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  align-items: start;
  margin-top: 20px;
}

.p-ir__latest-item {
  width: calc(50% - 5px);
  line-height: 2;
}

.p-ir-latest-link {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-column-gap: 10px;
  -moz-column-gap: 10px;
  -webkit-transition: var(--transi-bg), var(--transi-color);
  -webkit-box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
  display: grid;
  grid-template-columns: 20px auto;
  column-gap: 10px;
  align-items: center;
  margin-left: auto;
  padding: 20px;
  border-radius: 10px;
  background-color: var(--c-main);
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
  color: var(--c-base);
  font-weight: 700;
  transition: var(--transi-bg), var(--transi-color);
}

.p-ir-latest-link .icon {
  fill: var(--c-base);
  -webkit-transition: var(--transi-fill);
  display: block;
  width: 20px;
  height: 20px;
  transition: var(--transi-fill);
}

.p-ir-latest-link:focus-visible {
  background-color: var(--c-base);
  color: var(--c-main);
}

.p-ir-latest-link:focus-visible .icon {
  fill: var(--c-main);
}

.p-ir__news-list {
  margin-top: 30px;
}

.p-ir__news-item {
  border-bottom: solid 1px #ddd;
}

.p-ir__news-link {
  -webkit-transition: var(--transi-opc);
  display: block;
  padding: 20px 10px;
  transition: var(--transi-opc);
}

.p-ir__news-link:focus-visible {
  opacity: 0.6;
}

.p-ir__news-head {
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  gap: 15px;
}

.p-ir__news-date {
  color: #a8a8a8;
  font-weight: 700;
  font-size: 1.2rem;
  line-height: 1;
  letter-spacing: 0.12px;
}

.p-ir__news-category {
  padding: 5px 10px;
  border: solid 1px #555;
  border-radius: var(--round);
  color: #555;
  font-size: 1.2rem;
  line-height: normal;
  letter-spacing: 0.6px;
}

.p-ir__news-title {
  margin-top: 5px;
  line-height: 1.75;
  letter-spacing: 0.8px;
}

.p-ir__news-title .title {
  -webkit-box-orient: vertical;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  overflow: hidden;
  font-size: 1.6rem;
}

.p-ir__news-title:not(.p-ir__news-title--has-icon) {
  padding-right: 26px;
}

.p-ir__news-title--has-icon {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-column-gap: 10px;
  -moz-column-gap: 10px;
  display: grid;
  grid-template-columns: 1fr 16px;
  column-gap: 10px;
  align-items: center;
}

.p-ir__news-title--has-icon::after {
  width: 16px;
  height: 20px;
  background: url(../img/common/icon-pdf.svg) no-repeat center center/contain;
  content: "";
}

.p-ir__news-button {
  -webkit-column-gap: 15px;
  -moz-column-gap: 15px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: grid;
  grid-template-columns: -webkit-max-content 22px;
  grid-template-columns: max-content 22px;
  column-gap: 15px;
  align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 30px;
  padding: 0 0 6px 0;
  border: none;
  border-bottom: solid 1px var(--border-main);
  background-color: transparent;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: normal;
  font-family: var(--f-jp);
  letter-spacing: 0.8px;
}

.p-ir__news-button-wrapper {
  -webkit-transition: var(--transi-bg);
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border: solid 1px var(--c-main);
  border-radius: var(--round);
  background-color: var(--c-main);
  transition: var(--transi-bg);
}

.p-ir__news-button__arrow-wrapper {
  width: 4px;
  height: 7px;
  overflow: hidden;
}

.p-ir__news-button__arrows {
  -ms-flex-wrap: nowrap;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  -webkit-transition: -webkit-transform 0.3s;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: nowrap;
  justify-content: end;
  width: 4px;
  height: 7px;
  gap: 6px;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.p-ir__news-button__icon {
  width: 4px;
  min-width: 4px;
  min-height: 7px;
}

.p-ir__news-button__icon--white {
  fill: var(--c-base);
}

.p-ir__news-button:focus-visible .p-ir__news-button__arrows {
  -webkit-transform: translate(30px, 0px);
  -webkit-transition-delay: 100ms;
  -webkit-transition-duration: 1000ms;
  transform: translate(30px, 0px);
  transition-delay: 100ms;
  transition-duration: 1000ms;
}

.p-ir__report-image {
  margin-top: 30px;
}

.p-ir__column-heading {
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: grid;
  grid-template-columns: auto 40px;
  align-items: center;
  margin-top: 30px;
}

.p-ir__column-heading .title {
  font-weight: 700;
  font-size: 2.8rem;
  line-height: 1.0714285714;
  letter-spacing: 1.4px;
}

.p-ir__column-heading .sub {
  display: block;
  margin-bottom: 10px;
  color: var(--c-main);
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.0625;
  font-family: var(--f-en);
}

.p-ir__column-arrow {
  -webkit-transition: var(--transi-bg);
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border: solid 1px var(--c-main);
  border-radius: var(--round);
  background-color: var(--c-main);
  transition: var(--transi-bg);
}

.p-ir__column-heading:focus-visible .p-ir__column-arrow {
  background-color: var(--c-base);
}

.p-ir__column-arrow-wrapper {
  width: 6px;
  height: 9px;
  overflow: hidden;
}

.p-ir__column-icons {
  -ms-flex-wrap: nowrap;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  -webkit-transition: -webkit-transform 0.3s;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: nowrap;
  justify-content: end;
  width: 6px;
  height: 9px;
  gap: 8px;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.p-ir__column-heading:focus-visible .p-ir__column-icons {
  -webkit-transform: translate(42px, 0px);
  -webkit-transition-delay: 100ms;
  -webkit-transition-duration: 1000ms;
  transform: translate(42px, 0px);
  transition-delay: 100ms;
  transition-duration: 1000ms;
}

.p-ir__column-icon {
  width: 6px;
  min-width: 6px;
  min-height: 9px;
}

.p-ir__column-icon--white {
  fill: var(--c-base);
}

.p-ir__column-icon--orange {
  fill: var(--c-main);
}

.p-ir__column-list {
  margin-top: 30px;
  border-bottom: solid 1px #ddd;
}

.p-ir__column-item {
  border-top: solid 1px #ddd;
}

.p-ir__column-link {
  -webkit-column-gap: 10px;
  -moz-column-gap: 10px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: grid;
  grid-template-columns: 1fr 6px;
  column-gap: 10px;
  align-items: center;
  padding: 15px 10px 15px 20px;
  font-size: 1.6rem;
  line-height: 1;
  line-height: 1.75;
  letter-spacing: 1px;
}

.p-ir__column-link:focus-visible .p-ir__column-link-arrow {
  -webkit-transform: translate(14px, 0px);
  -webkit-transition-delay: 100ms;
  -webkit-transition-duration: 500ms;
  transform: translate(14px, 0px);
  transition-delay: 100ms;
  transition-duration: 500ms;
}

.p-ir__column-link-arrow-wrapper {
  width: 6px;
  height: 12px;
  overflow: hidden;
}

.p-ir__column-link-arrow {
  -ms-flex-wrap: nowrap;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  -webkit-transition: -webkit-transform 0.5s;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: nowrap;
  justify-content: end;
  width: 6px;
  height: 12px;
  gap: 8px;
  transition: -webkit-transform 0.5s;
  transition: transform 0.5s;
  transition: transform 0.5s, -webkit-transform 0.5s;
}

.p-ir__column-link-icon {
  fill: var(--c-main);
  width: 6px;
  min-width: 6px;
  height: 12px;
}

.p-ir__menu {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: grid;
  grid-template-columns: repeat(4, minmax(min(224px, 100%), 270px));
  justify-content: center;
  margin-top: 70px;
  gap: 20px 40px;
}

.p-ir__menu-link {
  -webkit-transition: var(--transi-bg), var(--transi-color);
  display: grid;
  place-items: center;
  padding: 23px 10px;
  border: solid 1px var(--c-main);
  color: var(--c-main);
  font-weight: 600;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.8px;
  text-align: center;
  transition: var(--transi-bg), var(--transi-color);
}

.p-ir__menu-link:focus-visible {
  background-color: var(--c-main);
  color: var(--c-base);
}

/* ------------------------------------- */

/* page library-documents
/* ------------------------------------- */

.p-library-documents {
  padding: 80px 0 100px;
}

.p-library-documents__inner {
  max-width: 1240px;
}

.p-library-documents__container--archive {
  padding-top: 100px;
}

.p-library-documents__wrapper {
  max-width: 1140px;
  margin: 60px auto 0;
}

.p-library-documents__subheading {
  padding-left: 20px;
  border-left: solid 5px var(--c-main);
  font-weight: 600;
  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: 1.2px;
}

.p-library-documents__subheading .sub {
  display: inline-block;
  margin-left: 3px;
  font-weight: 400;
  font-size: 1.6rem;
  letter-spacing: 0.8px;
}

.p-library-documents__head {
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: grid;
  grid-template-columns: 1fr 24px;
  align-items: center;
  cursor: pointer;
}

.p-library-documents__head::before,
.p-library-documents__head::after {
  -webkit-transition: rotate 0.3s;
  display: inline-block;
  grid-row: 1/2;
  grid-column: 2/3;
  width: 24px;
  height: 2px;
  background-color: #868686;
  content: "";
  transition: rotate 0.3s;
}

.p-library-documents__head::after {
  rotate: 90deg;
}

.p-library-documents__details.is-opened .p-library-documents__head::after {
  rotate: 0deg;
}

.p-library-documents__head::-webkit-details-marker {
  display: none;
}

.p-library-documents__body {
  overflow: hidden;
}

.p-library-documents__list {
  margin-top: 40px;
  border-bottom: solid 1px #ddd;
}

.p-library-documents__item {
  -webkit-column-gap: 20px;
  -moz-column-gap: 20px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  column-gap: 20px;
  align-items: center;
  padding: 30px 20px 30px 10px;
  border-top: solid 1px #ddd;
}

.p-library-documents__date {
  line-height: 1.5;
}

.p-library-documents__term {
  width: 100%;
  max-width: 150px;
  margin-inline: auto;
  padding: 6px;
  background-color: var(--bg-main);
  line-height: 1.5;
  text-align: center;
}

.p-library-documents__title {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-column-gap: 10px;
  -moz-column-gap: 10px;
  -webkit-transition: var(--transi-opc);
  display: grid;
  grid-template-columns: 1fr 16px;
  column-gap: 10px;
  align-items: center;
  line-height: 1.5;
  transition: var(--transi-opc);
}

.p-library-documents__title::after {
  width: 16px;
  height: 20px;
  background: url(../img/common/icon-pdf.svg) no-repeat center center/contain;
  content: "";
}

.p-library-documents__title:focus-visible {
  opacity: 0.7;
}

.p-library-documents__button {
  margin: 120px auto 0;
}

/* ------------------------------------- */

/* page library
/* ------------------------------------- */

.p-library {
  padding: 80px 0 100px;
}

.p-library__inner {
  max-width: 1240px;
}

.p-library__latest {
  -webkit-box-align: end;
  -ms-flex-align: end;
  -ms-flex-wrap: wrap;
  -webkit-box-align: start;
  -ms-flex-align: start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  align-items: start;
  margin-top: 80px;
  padding: 40px 50px;
  gap: 20px 40px;
  border-radius: 10px;
  background-color: var(--bg-main);
}

.p-library__latest-heading {
  font-weight: 700;
  font-size: 2.8rem;
  line-height: 1.0714285714;
  letter-spacing: 1.4px;
}

.p-library__latest-heading .sub {
  display: block;
  margin-bottom: 10px;
  color: var(--c-main);
  font-size: 1.6rem;
  line-height: 1.0625;
  font-family: var(--f-en);
  letter-spacing: 0.8px;
}

.p-library__latest-text {
  line-height: 2;
}

.p-ir-latest-link {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-column-gap: 10px;
  -moz-column-gap: 10px;
  -webkit-transition: var(--transi-bg), var(--transi-color);
  -webkit-box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
  display: grid;
  grid-template-columns: 20px auto;
  column-gap: 10px;
  align-items: center;
  margin-left: auto;
  padding: 20px;
  border-radius: 10px;
  background-color: var(--c-main);
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
  color: var(--c-base);
  font-weight: 700;
  transition: var(--transi-bg), var(--transi-color);
}

.p-ir-latest-link .icon {
  fill: var(--c-base);
  -webkit-transition: var(--transi-fill);
  display: block;
  width: 20px;
  height: 20px;
  transition: var(--transi-fill);
}

.p-ir-latest-link:focus-visible {
  background-color: var(--c-base);
  color: var(--c-main);
}

.p-ir-latest-link:focus-visible .icon {
  fill: var(--c-main);
}

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

.p-library__latest-list {
  -ms-flex-wrap: wrap;
  -webkit-box-align: start;
  -ms-flex-align: start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  align-items: start;
  margin-top: 20px;
}

.p-library__latest-item {
  width: calc(50% - 5px);
  line-height: 2;
}

.p-library__container {
  padding-top: 80px;
}

.p-library__container-inner {
  max-width: 1140px;
  margin: 60px auto 0;
}

.p-library__list {
  border-bottom: solid 1px #ddd;
}

.p-library__item {
  -webkit-column-gap: 20px;
  -moz-column-gap: 20px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: grid;
  column-gap: 20px;
  align-items: center;
  padding: 30px 20px 30px 10px;
  border-top: solid 1px #ddd;
}

.p-library__item:not(.p-library__item--col02) {
  grid-template-columns: 190px 230px minmax(0, 1fr);
}

.p-library__item.p-library__item--col02 {
  grid-template-columns: 190px minmax(0, 1fr);
}

.p-library__date,
.p-library__term,
.p-library__title {
  line-height: 1.5;
}

.p-library__title {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-column-gap: 10px;
  -moz-column-gap: 10px;
  -webkit-transition: var(--transi-opc);
  display: grid;
  grid-template-columns: minmax(0, 1fr) 16px;
  column-gap: 10px;
  align-items: center;
  transition: var(--transi-opc);
}

.p-library__title::after {
  width: 16px;
  height: 20px;
  background: url(../img/common/icon-pdf.svg) no-repeat center center/contain;
  content: "";
}

.p-library__title:focus-visible {
  opacity: 0.7;
}

.p-library__button {
  max-width: 250px;
  margin: 30px 0 0 auto;
}

.p-library__button--back {
  margin: 120px auto 0;
}

/* ------------------------------------- */

/* page logisticscenter
/* ------------------------------------- */

.p-logistics-center {
  padding: 80px 0 100px;
}

.p-logistics-center__inner {
  max-width: 1240px;
}

.p-logistics-center__intro-text {
  font-size: 2rem;
  line-height: 2;
  letter-spacing: 1px;
}

.p-p-logistics-center__intro-image {
  display: block;
  max-width: 1000px;
  margin: 70px auto 0;
}

/* ------------------------------------- */

/* page technocenter
/* ------------------------------------- */

.p-technocenter {
  padding: 80px 0 100px;
}

.p-technocenter__inner {
  max-width: 1240px;
}

.p-technocenter__intro-text {
  font-size: 2rem;
  line-height: 2;
  letter-spacing: 1px;
}

.p-technocenter__intro-image {
  width: 100%;
  max-width: 700px;
  margin: 70px auto 0;
}

.p-technocenter__box {
  margin-top: 30px;
  padding: 15px 20px;
  background-color: var(--bg-main);
}

.p-technocenter__box-text {
  font-size: 1.4rem;
  line-height: 1.7857142857;
}

.p-technocenter__box-text strong {
  font-weight: 700;
}

.p-technocenter__box-text:not(:first-child) {
  margin-top: 15px;
}

/* ------------------------------------- */

/* page marketing
/* ------------------------------------- */

.p-marketing {
  padding: 80px 0 100px;
  overflow: hidden;
}

.p-marketing__inner {
  max-width: 1240px;
}

.p-marketing__intro-text {
  font-size: 2rem;
  line-height: 2;
  letter-spacing: 1px;
}

.p-marketing__image {
  display: block;
}

.p-marketing__image-wrapper {
  -ms-flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 20px;
}

.p-marketing__image-link {
  display: grid;
  place-items: center;
  aspect-ratio: 1;
  width: 100%;
  max-width: 170px;
  padding: 30px 10px 10px;
  background-color: var(--bg-main);
}

.p-marketing__image-icon img {
  display: block;
  width: 100%;
  max-width: 60px;
  margin-inline: auto;
}

.p-marketing__image-icon figcaption {
  margin-top: 15px;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.8px;
  text-align: center;
}

.p-marketing__image-icon figcaption .bottom {
  display: inline-block;
  position: relative;
  padding-right: 17px;
}

.p-marketing__image-icon figcaption .bottom::after {
  position: absolute;
  top: 50%;
  right: 0;
  width: 14px;
  height: 14px;
  translate: 0 -50%;
  background: url(../svg/icon-expand.svg) no-repeat center center/contain;
  content: "";
}

.p-marketing__button-wrapper {
  -ms-flex-wrap: wrap;
  -webkit-box-align: end;
  -ms-flex-align: end;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 10px;
}

.p-marketing__modal-button {
  border: none;
}

.p-marketing__button {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-column-gap: 10px;
  -moz-column-gap: 10px;
  -webkit-box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
  display: grid;
  grid-template-columns: auto 40px;
  column-gap: 10px;
  align-items: center;
  width: 100%;
  max-width: 300px;
  padding: 10px 10px 10px 25px;
  border-radius: var(--round);
  background-color: var(--c-main);
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
  color: var(--c-base);
}

.p-marketing__button-text {
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.8px;
  text-align: center;
}

.p-marketing__button-icon {
  -webkit-transition: var(--transi-bg);
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border: solid 1px var(--c-base);
  border-radius: var(--round);
  background-color: var(---c-main);
  transition: var(--transi-bg);
}

.p-marketing__button-icon svg {
  fill: var(--c-base);
  -webkit-transition: var(--transi-fill);
  width: 15px;
  height: 15px;
  transition: var(--transi-fill);
}

.p-marketing__button:focus-visible .p-marketing__button-icon {
  background-color: var(--c-base);
}

.p-marketing__button:focus-visible .p-marketing__button-icon svg {
  fill: var(--c-main);
}

.p-marketing__wrapper {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: 100vw;
  margin: 68px calc(50% - 50vw) 0;
}

.p-marketing__info {
  display: grid;
  place-items: center start;
  padding: 0 60px;
  background-color: var(--bg-main);
}

.p-marketing__info-tags {
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  gap: 10px;
}

.p-marketing__info-tag {
  padding: 4px 20px;
  border: solid 1px var(--c-main);
  border-radius: var(--round);
  color: var(--c-main);
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.8px;
}

.p-marketing__info-title {
  margin-top: 10px;
  font-weight: 700;
  font-size: 2.8rem;
  line-height: 1.5;
  letter-spacing: 1.4px;
}

.p-marketing__info-text {
  margin-top: 20px;
  line-height: 1.5;
  letter-spacing: 0.8px;
}

.p-marketing__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 40px;
  gap: 50px 30px;
}

.p-marketing__column {
  -webkit-column-gap: 30px;
  -moz-column-gap: 30px;
  grid-template-columns: 50.8333333333% 46.6666666667%;
  column-gap: 30px;
}

.p-marketing__column__title {
  margin-top: 10px;
  font-weight: 700;
  line-height: 1.5;
}

.p-marketing__column-text {
  margin-top: 5px;
  line-height: 1.5;
}

.p-marketing__modal-lead {
  margin-top: 50px;
  line-height: 2;
}

.p-marketing__modal-head {
  -webkit-box-align: end;
  -ms-flex-align: end;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: end;
  margin-top: 20px;
  padding-bottom: 20px;
  gap: 30px 20px;
  border-bottom: solid 1px var(--border-main);
}

.p-marketing__modal-date {
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.8px;
}

.p-marketing__modal-button-wrapper {
  -ms-flex-wrap: wrap;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  -webkit-box-align: end;
  -ms-flex-align: end;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-grow: 1;
  flex-wrap: wrap;
  align-items: end;
  justify-content: end;
  gap: 10px;
}

.p-marketing__modal-button-wrapper .p-marketing__button {
  margin: 0;
}

.p-marketing__modal-body {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 40px;
  gap: 0 35px;
}

.p-marketing__modal-item {
  -webkit-column-gap: 5px;
  -moz-column-gap: 5px;
  display: grid;
  grid-template-columns: 10px auto;
  column-gap: 5px;
  line-height: 1.5;
}

.p-marketing__modal-item:not(:first-child) {
  margin-top: 12px;
}

.p-marketing__modal-item::before {
  width: 10px;
  height: 10px;
  margin-block: calc((1lh - 10px) / 2);
  border-radius: var(--round);
  background-color: #ddd;
  content: "";
}

.p-marketing__modal-bottom {
  line-height: 2;
  text-align: right;
}

.p-marketing__modal-button-text {
  font-size: 1.4rem;
}

/* ------------------------------------- */

/* page network
/* ------------------------------------- */

.p-network {
  padding: 80px 0 100px;
}

.p-network__inner {
  max-width: 1240px;
}

.p-network__lead {
  font-size: 2rem;
  line-height: 2;
  letter-spacing: 1px;
}

.p-network__tabs {
  -webkit-column-gap: 20px;
  -moz-column-gap: 20px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 20px;
  margin: 120px 0 20px;
}

.p-network__tab {
  -webkit-appearance: none;
  -moz-appearance: none;
  -webkit-transition: var(--transi-bg), var(--transi-color);
  appearance: none;
  position: relative;
  margin: 0;
  padding: 28px 10px;
  border: none;
  background-color: var(--bg-main);
  font-weight: 600;
  font-size: 2.4rem;
  line-height: 1.75;
  font-family: var(--f-jp);
  letter-spacing: 1.2px;
  text-align: center;
  transition: var(--transi-bg), var(--transi-color);
}

.p-network__tab[aria-selected=true] {
  background-color: var(--c-main);
  color: var(--c-base);
}

.p-network__tab[aria-selected=true]::after {
  opacity: 1;
}

.p-network__tab:focus-visible {
  background-color: var(--c-main);
  color: var(--c-base);
}

.p-network__tab::after {
  -webkit-clip-path: polygon(0 0, 50% 100%, 100% 0);
  -webkit-transition: var(--transi-opc);
  position: absolute;
  bottom: -20px;
  left: 50%;
  width: 28px;
  height: 28px;
  translate: -50% 0;
  background-color: var(--c-main);
  content: "";
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  opacity: 0;
  transition: var(--transi-opc);
}

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

.p-network__anchors {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(218px, 1fr));
  margin-top: 60px;
  gap: 20px 10px;
}

.p-network__anchor {
  -webkit-transition: var(--transi-bg), var(--transi-color);
  display: block;
  padding: 20px 10px;
  border: solid 1px var(--c-main);
  color: var(--c-main);
  font-weight: 600;
  font-size: 1.8rem;
  line-height: 1.5;
  letter-spacing: 0.9px;
  text-align: center;
  transition: var(--transi-bg), var(--transi-color);
}

.p-network__anchor:focus-visible {
  background-color: var(--c-main);
  color: var(--c-base);
}

.p-network-domestic,
.p-network-overseas {
  padding-top: 80px;
}

.p-network-domestic__head,
.p-network-overseas__head {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.p-network-domestic__heading,
.p-network-overseas__heading {
  font-weight: 700;
  font-size: 3.6rem;
  line-height: 1.3888888889;
  letter-spacing: 1.8px;
}

.p-network-domestic__map-link {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-column-gap: 5px;
  -moz-column-gap: 5px;
  display: inline grid;
  grid-template-columns: auto 15px;
  column-gap: 5px;
  align-items: center;
  padding-bottom: 4px;
  border-bottom: solid 1px #555;
  color: #555;
}

.p-network-domestic__map-link .icon {
  fill: #000;
  width: 15px;
  height: 15px;
}

.p-network-domestic__address--head {
  margin-top: 30px;
  font-size: 1.8rem;
  line-height: 1.6666666667;
  letter-spacing: 0.9px;
}

.p-network-domestic__tel--head {
  font-size: 1.8rem;
  line-height: 1.6666666667;
  letter-spacing: 0.9px;
}

.p-network-domestic__def {
  display: grid;
  row-gap: 20px;
}

.p-network-domestic__def-item {
  display: grid;
  row-gap: 10px;
}

.p-network-domestic__def--head {
  margin-top: 40px;
  padding: 0 30px;
}

.p-network-domestic__def-title {
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.6666666667;
  letter-spacing: 0.9px;
}

.p-network-domestic__def-link {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-column-gap: 4px;
  -moz-column-gap: 4px;
  -webkit-transition: border-color 0.3s;
  display: inline grid;
  grid-template-columns: auto 13px;
  column-gap: 4px;
  align-items: center;
  border-bottom: solid 1px transparent;
  line-height: 1.7142857143;
  letter-spacing: 0.8px;
  transition: border-color 0.3s;
}

.p-network-domestic__def-link::after {
  width: 13px;
  height: 13px;
  background: url(../img/common/icon-expand.svg) no-repeat center center/contain;
  content: "";
}

.p-network-domestic__def-link:focus-visible {
  border-color: #000;
}

.p-network-domestic__def-address {
  margin-top: 10px;
  line-height: 1.5;
  letter-spacing: 0.8px;
}

.p-network-domestic__def-tel {
  line-height: 1.5;
  letter-spacing: 0.8px;
}

.p-network-domestic__list {
  display: grid;
  row-gap: 30px;
  margin-top: 30px;
  padding: 0 30px;
}

.p-network-domestic__item {
  padding-bottom: 20px;
  border-bottom: solid 1px var(--border-main);
}

.p-network-domestic__item-head {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-column-gap: 10px;
  -moz-column-gap: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  column-gap: 10px;
  align-items: center;
  justify-content: space-between;
}

.p-network__subheading {
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.6666666667;
  letter-spacing: 0.9px;
}

.p-network-domestic__address {
  margin-top: 15px;
  line-height: 1.5;
  letter-spacing: 0.8px;
}

.p-network-domestic__tel {
  line-height: 1.5;
  letter-spacing: 0.8px;
}

.p-network-overseas__wrapper {
  margin-top: 30px;
  padding: 0 30px;
}

.p-network-overseas__wrapper:has(.p-network-overseas__image) {
  -webkit-box-align: start;
  -ms-flex-align: start;
  display: grid;
  grid-template-columns: min(440px, 50%) 1fr;
  align-items: start;
  gap: 30px 40px;
}

.p-network-overseas__image:not(:has(.p-network-overseas__image)) P {
  display: block;
}

.p-network-overseas__map-link {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-column-gap: 5px;
  -moz-column-gap: 5px;
  display: inline grid;
  grid-template-columns: auto 15px;
  column-gap: 5px;
  align-items: center;
  padding-bottom: 4px;
  border-bottom: solid 1px #555;
  color: #555;
}

.p-network-overseas__map-link .icon {
  fill: #000;
  width: 15px;
  height: 15px;
}

.p-network-overseas__address--head {
  margin-top: 30px;
  font-size: 1.8rem;
  line-height: 1.6666666667;
  letter-spacing: 0.9px;
}

.p-network-overseas__tel--head {
  font-size: 1.8rem;
  line-height: 1.6666666667;
  letter-spacing: 0.9px;
}

.p-network-overseas__child {
  display: grid;
  row-gap: 20px;
}

.p-network-overseas__child-item {
  display: grid;
}

.p-network-overseas__child--head {
  margin-top: 40px;
  padding: 0 30px;
}

.p-network-overseas__child-head {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -ms-flex-wrap: wrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 10px;
  gap: 10px;
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.6666666667;
  letter-spacing: 0.9px;
}

.p-network-overseas__child-link {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-column-gap: 4px;
  -moz-column-gap: 4px;
  -webkit-transition: border-color 0.3s;
  display: inline grid;
  grid-template-columns: auto 13px;
  column-gap: 4px;
  align-items: center;
  border-bottom: solid 1px transparent;
  line-height: 1.7142857143;
  letter-spacing: 0.8px;
  transition: border-color 0.3s;
}

.p-network-overseas__child-link::after {
  width: 13px;
  height: 13px;
  background: url(../img/common/icon-expand.svg) no-repeat center center/contain;
  content: "";
}

.p-network-overseas__child-link:focus-visible {
  border-color: #000;
}

.p-network-overseas__child-address {
  margin-top: 10px;
  line-height: 1.5;
  letter-spacing: 0.8px;
}

.p-network-overseas__child-tel {
  line-height: 1.5;
  letter-spacing: 0.8px;
}

.p-network-overseas__list {
  display: grid;
  row-gap: 30px;
}

.p-network-overseas__item-head {
  -ms-flex-wrap: wrap;
  -webkit-box-align: start;
  -ms-flex-align: start;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  align-items: start;
  justify-content: space-between;
  gap: 10px;
}

.p-network-overseas__subheading {
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.6666666667;
  letter-spacing: 0.9px;
}

.p-network-overseas__map-link,
.p-network-overseas__child-map-link {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-column-gap: 5px;
  -moz-column-gap: 5px;
  display: inline grid;
  grid-template-columns: auto 15px;
  column-gap: 5px;
  align-items: center;
  margin-left: auto;
  padding-bottom: 4px;
  border-bottom: solid 1px #555;
  color: #555;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1;
  letter-spacing: 0.8px;
}

.p-network-overseas__map-link .icon,
.p-network-overseas__child-map-link .icon {
  fill: #000;
  width: 15px;
  height: 15px;
}

.p-network-overseas__address {
  margin-top: 10px;
  line-height: 1.5;
  letter-spacing: 0.8px;
}

.p-network-overseas__tel {
  line-height: 1.5;
  letter-spacing: 0.8px;
}

.p-network-overseas__link {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-column-gap: 5px;
  -moz-column-gap: 5px;
  display: inline grid;
  grid-template-columns: auto 13px;
  column-gap: 5px;
  align-items: center;
  margin-top: 15px;
  padding-bottom: 3px;
  border-bottom: solid 1px #000;
  letter-spacing: 0.7px;
}

.p-network-overseas__link::after {
  width: 13px;
  height: 13px;
  background: url(../img/common/icon-expand.svg) no-repeat center center/contain;
  content: "";
}

/* ------------------------------------- */

/* page notfound
/* ------------------------------------- */

.p-notfound {
  padding: 80px 0 100px;
}

.p-notfound__inner {
  max-width: 940px;
}

.p-notfound__heading {
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.7916666667;
  letter-spacing: 1.2px;
  text-align: center;
}

.p-notfound__text {
  margin-top: 40px;
  line-height: 2;
  text-align: center;
}

.p-notfound__button {
  margin: 40px auto 0;
}

/* ------------------------------------- */

/* page officer
/* ------------------------------------- */

.p-officer {
  padding: 80px 0 100px;
}

.p-officer__inner {
  max-width: 1040px;
}

.p-officer__heading {
  -webkit-box-align: end;
  -ms-flex-align: end;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: end;
  justify-content: space-between;
}

.p-officer__heading-text {
  font-size: 1.4rem;
}

.p-officer-member__container {
  padding-top: 80px;
}

.p-officer-member__heading {
  -webkit-column-gap: 5px;
  -moz-column-gap: 5px;
  display: grid;
  grid-template-columns: 16px -webkit-max-content;
  grid-template-columns: 16px max-content;
  column-gap: 5px;
  font-weight: 600;
  font-size: 2rem;
  line-height: 2;
  letter-spacing: 1px;
}

.p-officer-member__heading::before {
  aspect-ratio: 1;
  width: 16px;
  height: 16px;
  margin-block: calc((1lh - 16px) / 2);
  background-color: #000;
  content: "";
}

.p-officer-member__wrapper--top {
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: grid;
  grid-template-columns: 46% -webkit-max-content;
  grid-template-columns: 46% max-content;
  align-items: center;
  margin-top: 20px;
  gap: 20px 50px;
}

.p-officer-member__position {
  line-height: 1.5;
}

.p-officer-member__name {
  -ms-flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-column-gap: 10px;
  -moz-column-gap: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  column-gap: 10px;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 10px;
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: 1.2px;
}

.p-officer-member__name .kana {
  font-weight: 400;
  font-size: 1.4rem;
  letter-spacing: 0.7px;
}

.p-officer-member__button {
  -webkit-column-gap: 15px;
  -moz-column-gap: 15px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: grid;
  grid-template-columns: -webkit-max-content 22px;
  grid-template-columns: max-content 22px;
  column-gap: 15px;
  align-items: center;
  margin: 0;
  padding: 0 0 6px 0;
  border: none;
  border-bottom: solid 1px var(--border-main);
  background-color: transparent;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: normal;
  font-family: var(--f-jp);
  letter-spacing: 0.8px;
}

.p-officer-member__button--top {
  margin-top: 50px;
}

.p-officer-member__button--eo {
  margin-top: 20px;
}

.p-officer-member__button-wrapper {
  -webkit-transition: var(--transi-bg);
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border: solid 1px var(--c-main);
  border-radius: var(--round);
  background-color: var(--c-main);
  transition: var(--transi-bg);
}

.p-officer-member__button__arrow-wrapper {
  width: 4px;
  height: 7px;
  overflow: hidden;
}

.p-officer-member__button__arrows {
  -ms-flex-wrap: nowrap;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  -webkit-transition: -webkit-transform 0.3s;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: nowrap;
  justify-content: end;
  width: 4px;
  height: 7px;
  gap: 6px;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.p-officer-member__button__icon {
  width: 4px;
  min-width: 4px;
  min-height: 7px;
}

.p-officer-member__button__icon--white {
  fill: var(--c-base);
}

.p-officer-member__button:focus-visible .p-officer-member__button__arrows {
  -webkit-transform: translate(30px, 0px);
  -webkit-transition-delay: 100ms;
  -webkit-transition-duration: 1000ms;
  transform: translate(30px, 0px);
  transition-delay: 100ms;
  transition-duration: 1000ms;
}

.p-officer-member__wrapper {
  display: grid;
}

.p-officer-member__wrapper--col02 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 80px;
  gap: 80px;
}

.p-officer-member__wrapper--col03 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 20px;
  gap: 60px 80px;
}

.p-officer-member__wrapper--col04 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 20px;
  gap: 60px 50px;
}

.p-officer-member__box--col02 {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  gap: 0;
}

.p-officer-member__body--director {
  -webkit-box-align: end;
  -ms-flex-align: end;
  display: grid;
  grid-template-columns: 1fr -webkit-max-content;
  grid-template-columns: 1fr max-content;
  align-items: end;
  margin-top: 20px;
  gap: 20px 10px;
}

.p-officer-member__body--eo {
  margin-top: 10px;
}

.p-officer-member__notice {
  margin-top: 50px;
  font-size: 1.4rem;
  line-height: 2;
}

.p-officer-modal {
  -webkit-transition: var(--transi-opc);
  display: none;
  position: absolute;
  width: 100%;
  max-width: 100%;
  height: 100svh;
  max-height: 100%;
  margin: 0;
  padding: 0;
  border: none;
  background-color: rgba(0, 0, 0, 0.6);
  transition: var(--transi-opc);
}

.p-officer-modal[open] {
  display: block flow;
}

.p-officer-modal:not([data-active=true]) {
  opacity: 0;
}

.p-officer-modal:-internal-dialog-in-top-layer {
  -webkit-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
  visibility: visible;
  position: fixed;
  width: 100%;
  max-width: 100%;
  height: 100dvh;
  max-height: 100%;
  overflow: auto;
  user-select: text;
}

.p-officer-modal__container {
  position: fixed;
  top: 50%;
  left: 50%;
  aspect-ratio: 900/660;
  width: calc(100% - 55px);
  max-width: 900px;
  height: calc(100dvh - 100px);
  max-height: 660px;
  translate: -50% -50%;
}

.p-officer-modal__wrapper {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  height: 100%;
  background-color: var(--c-base);
}

.p-officer-modal__head {
  background-color: var(--bg-main);
}

.p-officer-modal__info {
  margin-top: 40px;
  padding: 0 20px;
}

.p-officer-modal__position {
  line-height: 1.5;
}

.p-officer-modal__name {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-column-gap: 10px;
  -moz-column-gap: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  column-gap: 10px;
  align-items: center;
  margin-top: 10px;
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: 1.2px;
}

.p-officer-modal__name .kana {
  -webkit-column-gap: 10px;
  -moz-column-gap: 10px;
  column-gap: 10px;
  font-weight: 400;
  font-size: 1.4rem;
}

.p-officer-modal__body {
  height: 100%;
  padding: 40px 30px;
  overflow-y: auto;
}

.p-officer-modal__body::-webkit-scrollbar {
  width: 4px;
}

.p-officer-modal__body::-webkit-scrollbar-track {
  background-color: transparent;
}

.p-officer-modal__body::-webkit-scrollbar-thumb {
  width: 4px;
  background-color: rgba(118, 118, 118, 0.5);
}

.p-officer-modal__heading {
  -webkit-column-gap: 5px;
  -moz-column-gap: 5px;
  display: inline grid;
  grid-template-columns: 13px auto;
  column-gap: 5px;
  font-weight: 600;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.8px;
}

.p-officer-modal__heading::before {
  width: 13px;
  height: 13px;
  margin-block: calc((1lh - 13px) / 2);
  background-color: #000;
  content: "";
}

.p-officer-modal__list {
  display: grid;
  row-gap: 10px;
  margin-top: 20px;
}

.p-officer-modal__item {
  -webkit-column-gap: 20px;
  -moz-column-gap: 20px;
  display: grid;
  grid-template-columns: -webkit-max-content 1fr;
  grid-template-columns: max-content 1fr;
  column-gap: 20px;
}

.p-officer-modal__year,
.p-officer-modal__desc {
  font-size: 1.4rem;
  line-height: 1.5;
}

.p-officer-modal__comment {
  margin-top: 30px;
}

.p-officer-modal__text {
  margin-top: 10px;
  font-size: 1.4rem;
  line-height: 2;
}

.p-officer-modal__close {
  position: absolute;
  top: -20px;
  right: -20px;
  width: 45px;
  height: 45px;
  padding: 0;
  border: none;
  border-radius: var(--round);
  background-color: var(--bg-main);
}

.p-officer-modal__close::before,
.p-officer-modal__close::after {
  position: absolute;
  top: 22px;
  left: 50%;
  width: 20px;
  height: 1px;
  translate: -50% 0;
  background-color: #000;
  content: "";
}

.p-officer-modal__close::before {
  rotate: -45deg;
}

.p-officer-modal__close::after {
  rotate: 45deg;
}

.p-officer-modal__button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  margin: 30px auto 0;
  border: none;
}

.p-officer-organization {
  padding-top: 80px;
}

.p-officer-organization__heading {
  -webkit-box-align: end;
  -ms-flex-align: end;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: end;
  justify-content: space-between;
}

.p-officer-organization__heading-text {
  font-size: 1.4rem;
  line-height: 2;
}

.p-officer-organization__image {
  width: 100%;
  margin-top: 80px;
  padding-bottom: 10px;
}

.p-officer-organization__image::-webkit-scrollbar {
  height: 4px;
  background-color: var(--bg-main);
}

.p-officer-organization__image::-webkit-scrollbar-track {
  height: 4px;
  background-color: var(--bg-main);
}

.p-officer-organization__image::-webkit-scrollbar-thumb {
  height: 4px;
  background-color: rgba(118, 118, 118, 0.5);
}

/* ------------------------------------- */

/* page partner
/* ------------------------------------- */

.p-partner {
  padding: 80px 0 100px;
}

.p-partner__inner {
  max-width: 1240px;
}

.p-partner-philosophy__wrapper {
  max-width: 1140px;
  margin: 60px auto 0;
}

.p-partner-philosophy__text {
  line-height: 2;
}

.p-partner__container {
  -webkit-column-gap: 80px;
  -moz-column-gap: 80px;
  -webkit-box-align: start;
  -ms-flex-align: start;
  display: grid;
  grid-template-columns: 272px 1fr;
  column-gap: 80px;
  align-items: start;
  padding-top: 120px;
}

.p-partner-policy__text {
  margin-top: 50px;
  line-height: 2;
}

.p-partner-policy__link {
  text-decoration: underline;
}

.p-partner-declaration,
.p-partner-communication {
  padding-top: 120px;
}

.p-partner-declaration__container {
  margin-top: 60px;
  padding: 60px 40px;
  background-color: var(--bg-main);
}

.p-partner-declaration__heading {
  position: relative;
  max-width: 670px;
  margin-inline: auto;
  padding-bottom: 30px;
  font-weight: 600;
  font-size: 1.8rem;
  line-height: 1.7777777778;
  letter-spacing: 0.9px;
  text-align: center;
}

.p-partner-declaration__heading::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 50px;
  height: 2px;
  translate: -50% 0;
  background-color: var(--c-main);
  content: "";
}

.p-partner-declaration__box {
  margin-top: 30px;
}

.p-partner-declaration__box-heading {
  font-weight: 600;
  font-size: 1.8rem;
  line-height: 1.5555555556;
  letter-spacing: 0.9px;
}

.p-partner-declaration__box-subheading {
  font-weight: 600;
  font-size: 1.6rem;
  line-height: 1.75;
  letter-spacing: 0.8px;
}

.p-partner-declaration__box-text {
  line-height: 1.875;
}

.p-partner-declaration__bottom {
  margin-top: 30px;
  line-height: 1.75;
  text-align: right;
}

.p-partner-communication__subheading {
  margin-top: 50px;
  padding-left: 20px;
  border-left: solid 5px var(--c-main);
  font-weight: 600;
  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: 1.2px;
}

.p-partner-satisfaction__text {
  margin-top: 30px;
  line-height: 2;
}

.p-partner-communication__wrapper {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 30px;
  gap: 20px 40px;
}

.p-partner-communication__text {
  line-height: 2;
}

.p-partner__button {
  max-width: 300px;
  margin: 100px auto 0;
}

.p-partner__button .c-button-primary__text {
  font-size: 1.4rem;
}

/* ------------------------------------- */

/* page personal
/* ------------------------------------- */

.p-personal {
  padding: 80px 0 100px;
}

.p-personal__inner {
  max-width: 1240px;
}

.p-personal__heading {
  font-weight: 700;
  font-size: 3.6rem;
  line-height: 1.3888888889;
  letter-spacing: 1.8px;
}

.p-personal__heading:not(.--top) {
  margin-top: 120px;
}

.p-personal__text {
  margin-top: 50px;
  padding: 0 30px;
  line-height: 2;
}

.p-personal__subheading {
  margin: 50px 0 0 30px;
  padding-left: 13px;
  border-left: solid 3px var(--c-main);
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 1px;
}

.p-personal__text--sub {
  margin-top: 30px;
  padding: 0 50px;
  line-height: 2;
}

.p-personal__list {
  display: grid;
  row-gap: 30px;
  margin-top: 30px;
  margin-left: 1em;
  padding: 0 30px;
}

.p-personal__item {
  margin-left: 0.5em;
  font-weight: 700;
  line-height: 2;
  list-style: number;
}

.p-personal__list--child {
  margin-top: 5px;
  padding-left: 20px;
}

.p-personal__item--child {
  font-weight: 400;
  line-height: 2;
}

/* ------------------------------------- */

/* page philosophy
/* ------------------------------------- */

.p-philosophy {
  padding: 80px 0 100px;
  overflow: hidden;
}

.p-philosophy__inner {
  max-width: 1240px;
}

.p-philosophy__text {
  font-size: 2rem;
  line-height: 2;
}

.p-philosophy-mng,
.p-philosophy-purpose,
.p-philosophy-guideline {
  padding-top: 120px;
}

.p-philosophy-corp {
  padding-top: 120px;
}

.p-philosophy-corp__image {
  width: 100%;
  max-width: 640px;
  margin: 80px auto 0;
}

.p-philosophy-mng__list {
  display: grid;
  row-gap: 20px;
  width: 100%;
  max-width: 1000px;
  margin: 80px auto 0;
}

.p-philosophy-mng__item {
  font-weight: 500;
  font-size: 1.8rem;
}

.p-philosophy-mng__num {
  padding-right: 20px;
  color: var(--c-main);
  font-weight: 700;
  font-size: 3rem;
  line-height: 40/30;
  font-family: var(--f-en);
  letter-spacing: 1.5px;
}

.p-philosophy-mng__text {
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1.7777777778;
  letter-spacing: 0.9px;
}

.p-philosophy-purpose {
  position: relative;
}

.p-philosophy-purpose::before {
  z-index: -1;
  position: absolute;
  bottom: -250px;
  left: 50%;
  width: 1782px;
  height: 890px;
  translate: -50% 0;
  background: url(../img/company/philosiphy/bg-philosophy.webp) no-repeat center center/cover;
  content: "";
}

.p-philosophy-purpose__title {
  margin-top: 80px;
  color: var(--c-main);
  font-weight: 700;
  font-size: 3.6rem;
  line-height: 1.7777777778;
  letter-spacing: 1.8px;
  text-align: center;
}

.p-philosophy-purpose__text {
  margin-top: 60px;
  line-height: 2;
  text-align: center;
}

.p-philosophy-guideline__wrapper {
  max-width: 1000px;
  margin: 80px auto 0;
  padding: 55px 20px 65px;
  background-color: var(--bg-main);
}

.p-philosophy-guideline__title {
  color: var(--c-main);
  font-weight: 700;
  font-size: 4.5rem;
  line-height: 1;
  font-family: var(--f-en);
  letter-spacing: 2.25px;
  text-align: center;
  text-transform: uppercase;
}

.p-philosophy-guideline__list {
  display: grid;
  row-gap: 30px;
  width: 100%;
  max-width: 574px;
  margin: 50px auto 0;
}

.p-philosophy-guideline__item {
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: grid;
  grid-template-columns: 200px -webkit-max-content;
  grid-template-columns: 200px max-content;
  align-items: center;
  gap: 10px 40px;
}

.p-philosophy-guideline__head {
  color: rgba(0, 0, 0, 0.4);
  font-weight: 700;
  font-size: 2.8rem;
  font-family: var(--f-en);
  letter-spacing: 1.4px;
  text-transform: uppercase;
}

.p-philosophy-guideline__head::first-letter {
  color: var(--c-main);
}

.p-philosophy-guideline__body {
  line-height: 2;
}

/* ------------------------------------- */

/* page presentation
/* ------------------------------------- */

.p-presentation {
  padding: 80px 0 100px;
}

.p-presentation__inner {
  max-width: 1240px;
}

.p-presentation__container--archive {
  padding-top: 100px;
}

.p-presentation__wrapper {
  max-width: 1140px;
  margin: 60px auto 0;
}

.p-presentation__subheading {
  padding-left: 20px;
  border-left: solid 5px var(--c-main);
  font-weight: 600;
  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: 1.2px;
}

.p-presentation__subheading .sub {
  display: inline-block;
  margin-left: 3px;
  font-weight: 400;
  font-size: 1.6rem;
  letter-spacing: 0.8px;
}

.p-presentation__head {
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: grid;
  grid-template-columns: 1fr 24px;
  align-items: center;
  cursor: pointer;
}

.p-presentation__head::before,
.p-presentation__head::after {
  -webkit-transition: rotate 0.3s;
  display: inline-block;
  grid-row: 1/2;
  grid-column: 2/3;
  width: 24px;
  height: 2px;
  background-color: #868686;
  content: "";
  transition: rotate 0.3s;
}

.p-presentation__head::after {
  rotate: 90deg;
}

.p-presentation__details.is-opened .p-presentation__head::after {
  rotate: 0deg;
}

.p-presentation__head::-webkit-details-marker {
  display: none;
}

.p-presentation__body {
  overflow: hidden;
}

.p-presentation__list {
  margin-top: 40px;
  border-bottom: solid 1px #ddd;
}

.p-presentation__item {
  -webkit-column-gap: 20px;
  -moz-column-gap: 20px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: grid;
  grid-template-columns: 190px 230px minmax(0, 1fr);
  column-gap: 20px;
  align-items: center;
  padding: 30px 20px 30px 10px;
  border-top: solid 1px #ddd;
}

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

.p-presentation__term {
  width: 100%;
  max-width: 150px;
  margin-inline: auto;
  padding: 6px;
  background-color: var(--bg-main);
  line-height: 1.5;
  text-align: center;
}

.p-presentation__title {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-column-gap: 10px;
  -moz-column-gap: 10px;
  -webkit-transition: var(--transi-opc);
  display: grid;
  grid-template-columns: 1fr 16px;
  column-gap: 10px;
  align-items: center;
  line-height: 1.5;
  transition: var(--transi-opc);
}

.p-presentation__title::after {
  width: 16px;
  height: 20px;
  background: url(../img/common/icon-pdf.svg) no-repeat center center/contain;
  content: "";
}

.p-presentation__title:focus-visible {
  opacity: 0.7;
}

.p-presentation__button {
  margin: 120px auto 0;
}

/* ------------------------------------- */

/* page privacypolicy
/* ------------------------------------- */

.p-privacypolicy {
  padding: 80px 0 100px;
}

.p-privacypolicy__inner {
  max-width: 1240px;
}

.p-privacypolicy__text--intro {
  line-height: 2;
}

.p-privacypolicy__heading {
  margin-top: 120px;
  font-weight: 700;
  font-size: 3.6rem;
  line-height: 1.3888888889;
  letter-spacing: 1.8px;
}

.p-privacypolicy__text {
  margin-top: 50px;
  padding: 0 30px;
  line-height: 2;
}

.p-privacypolicy__list {
  display: grid;
  row-gap: 30px;
  margin-top: 30px;
  padding: 0 30px;
}

.p-privacypolicy__item-head {
  font-weight: 700;
  line-height: 2;
}

.p-privacypolicy__item-text {
  margin-left: 20px;
  line-height: 2;
}

.p-privacypolicy__item-link {
  text-decoration: underline;
}

.p-privacypolicy__text--bottom {
  margin-top: 70px;
  line-height: 2;
}

/* ------------------------------------- */

/* page process
/* ------------------------------------- */

.p-process {
  padding: 80px 0 100px;
  overflow: hidden;
}

.p-process__inner {
  max-width: 1240px;
}

.p-process-intro {
  position: relative;
  padding-bottom: 200px;
}

.p-process-intro::before {
  z-index: -1;
  position: absolute;
  bottom: -150px;
  left: 50%;
  width: 1440px;
  height: 432px;
  translate: -50% 0;
  background: url(../img/about/process/bg-process.webp) no-repeat center center/cover;
  content: "";
}

.p-process-intro__text {
  margin-top: 50px;
  line-height: 2;
  text-align: center;
}

.p-process__container {
  z-index: 1;
  position: relative;
  margin-top: 0;
  padding-top: 80px;
  background-color: #fff;
}

.p-process__button-wrapper {
  margin-top: 180px;
}

.p-process__button {
  max-width: 310px;
}

/* ------------------------------------- */

/* page profile
/* ------------------------------------- */

.p-profile {
  padding: 80px 0 100px;
}

.p-profile__inner {
  max-width: 1040px;
}

.p-profile__list {
  border-bottom: solid 1px var(--border-main);
}

.p-profile__item {
  display: grid;
  grid-template-columns: 240px 1fr;
  border-top: solid 1px var(--border-main);
}

.p-profile__head {
  padding: 30px 10px;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0.8px;
}

.p-profile__body {
  padding: 30px 10px;
  line-height: 2;
  letter-spacing: 0.8px;
}

.p-profile__body a:not(.p-profile__link--pdf) {
  text-decoration: underline;
}

.p-profile__body:has(.p-profile__child-list) {
  padding: 0;
}

.p-profile__child-item {
  display: grid;
  grid-template-columns: 290px 1fr;
}

.p-profile__child-item:not(.p-profile__child-item--first) {
  border-top: solid 1px var(--border-main);
}

.p-profile__child-head {
  padding: 20px 15px;
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0.8px;
}

.p-profile__child-body {
  padding: 20px 15px;
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0.8px;
}

.p-profile__link--underline {
  text-decoration: underline;
}

.p-profile__link--pdf {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-column-gap: 10px;
  -moz-column-gap: 10px;
  display: grid;
  grid-template-columns: -webkit-max-content 16px;
  grid-template-columns: max-content 16px;
  column-gap: 10px;
  align-items: center;
}

.p-profile__link--pdf::after {
  width: 16px;
  height: 20px;
  background: url(../img/common/icon-pdf.svg) no-repeat center center/contain;
  content: "";
}

/* ------------------------------------- */

/* page qualification
/* ------------------------------------- */

.p-qualification {
  padding: 80px 0 100px;
}

.p-qualification__inner {
  max-width: 1040px;
}

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

.p-qualification__button {
  margin: 100px auto 0;
}

/* ------------------------------------- */

/* page recruit-about
/* ------------------------------------- */

.p-recruit-about {
  padding: 80px 0 100px;
  overflow: hidden;
}

.p-recruit-about__inner {
  max-width: 1240px;
}

.p-recruit-about-intro {
  position: relative;
  padding-bottom: 100px;
}

.p-recruit-about-intro::before {
  display: block;
  z-index: -1;
  position: absolute;
  bottom: 10px;
  left: 50%;
  width: 1440px;
  height: 432px;
  overflow: hidden;
  translate: -50% 0;
  background: url(../img/recruit/about/bg-intro.webp) no-repeat center center/cover;
  content: "";
}

.p-recruit-about-intro__container {
  margin-top: 90px;
}

.p-recruit-about-intro__heading {
  font-weight: 700;
  font-size: 5.4rem;
  line-height: 2;
  letter-spacing: 2.7px;
  text-align: center;
}

.p-recruit-about-intro__heading .strong {
  color: var(--c-main);
}

.p-recruit-about-intro__text {
  margin-top: 50px;
  line-height: 2;
  text-align: center;
}

.p-recruit-about-message {
  position: relative;
  padding: 100px 0;
}

.p-recruit-about-message::before {
  display: block;
  z-index: -1;
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 100vw;
  height: 500px;
  overflow: hidden;
  translate: -50% 0;
  background: url(../img/recruit/about/bg-message.webp) no-repeat center center/cover;
  content: "";
}

.p-recruit-about-message__heading {
  margin-top: 90px;
  font-weight: 700;
  font-size: 3.6rem;
  line-height: 2;
  letter-spacing: 1.8px;
  text-align: center;
}

.p-recruit-about-message__text {
  margin-top: 50px;
  line-height: 2;
  text-align: center;
}

.p-recruit-about-message__wrapper {
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-areas: "image lead";
  align-items: center;
  margin-top: 80px;
  gap: 30px 80px;
}

.p-recruit-about-message__wrapper--reverse {
  grid-template-areas: "lead image";
  margin-top: 100px;
}

.p-recruit-about-message__image {
  grid-area: image;
}

.p-recruit-about-message__lead {
  grid-area: lead;
  line-height: 2;
}

.p-recruit-about-message__point {
  display: grid;
  grid-template-columns: -webkit-max-content 1fr;
  grid-template-columns: max-content 1fr;
}

.p-recruit-about-message__point .head {
  color: var(--c-main);
  font-weight: 700;
}

.p-recruit-about-message__point strong {
  font-weight: 700;
}

.p-recruit-about-message__text--bottom {
  margin-top: 160px;
  line-height: 2;
  text-align: center;
}

.p-recruit-about-culture {
  padding-top: 100px;
}

.p-recruit-about-culture__heading {
  margin-top: 150px;
  font-weight: 700;
  font-size: 3.6rem;
  line-height: 2;
  letter-spacing: 1.8px;
  text-align: center;
}

.p-recruit-about-culture__container {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  max-width: 1000px;
  margin: 70px auto 0;
  gap: 40px 50px;
}

.p-recruit-about-culture__box {
  min-height: 400px;
  padding: 40px 10px;
  border-radius: 10px;
  background-color: var(--bg-main);
}

.p-recruit-about-culture__image {
  aspect-ratio: 1;
  width: 200px;
  margin-inline: auto;
}

.p-recruit-about-culture__text {
  margin-top: 10px;
  line-height: 1.5;
  text-align: center;
}

/* ------------------------------------- */

/* page recruit-faq
/* ------------------------------------- */

.p-recruit-faq {
  padding: 100px 0;
}

.p-recruit-faq__inner {
  max-width: 1240px;
}

.p-recruit-faq__container {
  max-width: 1000px;
  margin: 64px auto 0;
  border-bottom: solid 1px var(--border-main);
}

.p-recruit-faq__head {
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: grid;
  grid-template-columns: 24px -webkit-max-content 1fr;
  grid-template-columns: 24px max-content 1fr;
  align-items: center;
  padding: 17px 20px 16px;
  border-top: solid 1px var(--border-main);
  list-style-type: none;
  cursor: pointer;
}

.p-recruit-faq__head::before,
.p-recruit-faq__head::after {
  -webkit-transition: rotate 0.3s;
  display: inline-block;
  grid-row: 1/2;
  grid-column: 1/2;
  width: 24px;
  height: 2px;
  background-color: var(--c-main);
  content: "";
  transition: rotate 0.3s;
}

.p-recruit-faq__head::after {
  rotate: 90deg;
}

.p-recruit-faq__details.is-opened .p-recruit-faq__head::after {
  rotate: 0deg;
}

.p-recruit-faq__head::-webkit-details-marker {
  display: none;
}

.p-recruit-faq__head-num {
  margin: 0 20px 0 60px;
  color: var(--c-main);
  font-weight: 700;
  font-size: 1rem;
  line-height: 1;
  font-family: var(--f-en);
  letter-spacing: 0.5px;
}

.p-recruit-faq__head-num .num {
  display: block;
  font-size: 3.6rem;
  letter-spacing: 1.8px;
  text-align: center;
}

.p-recruit-faq__title {
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.5;
  letter-spacing: 0.9px;
}

.p-recruit-faq__body {
  overflow: hidden;
}

.p-recruit-faq__body-wrap {
  -webkit-column-gap: 20px;
  -moz-column-gap: 20px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: grid;
  grid-template-columns: -webkit-max-content 1fr;
  grid-template-columns: max-content 1fr;
  column-gap: 20px;
  align-items: center;
  padding: 16px 20px 17px 110px;
  border-top: dashed 1px var(--border-main);
}

.p-recruit-faq__body-num {
  color: #ddd;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1;
  font-family: var(--f-en);
  letter-spacing: 0.5px;
}

.p-recruit-faq__body-num .num {
  display: block;
  font-size: 3.6rem;
  letter-spacing: 1.8px;
  text-align: center;
}

.p-recruit-faq__text {
  font-size: 1.6rem;
  line-height: 1.75;
  letter-spacing: 0.8px;
}

/* ------------------------------------- */

/* page recruit
/* ------------------------------------- */

.p-recruit {
  padding: 80px 0 100px;
}

.p-recruit__inner {
  max-width: 1240px;
}

.p-recruit__container {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 80px;
}

.p-recruit__box {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  gap: 0;
}

.p-recruit__box:not(:nth-child(1)):not(:nth-of-type(2)) {
  margin-top: 160px;
}

.p-recruit__heading {
  margin-top: 20px;
  font-weight: 700;
  font-size: 2.8rem;
  line-height: 1.3;
  letter-spacing: 1.4px;
}

.p-recruit__heading .sub {
  display: block;
  margin-bottom: 10px;
  color: var(--c-main);
  font-weight: 700;
  font-size: 1.6rem;
  letter-spacing: 0.8px;
}

.p-recruit__text {
  margin-top: 30px;
  line-height: 2;
}

.p-recruit__button {
  max-width: 300px;
  margin-top: 30px;
}

/* ------------------------------------- */

/* page report
/* ------------------------------------- */

.p-report {
  padding: 80px 0 100px;
}

.p-report__inner {
  max-width: 1240px;
}

.p-report__container--archive {
  padding-top: 100px;
}

.p-report__wrapper {
  max-width: 1140px;
  margin: 60px auto 0;
}

.p-report__subheading {
  padding-left: 20px;
  border-left: solid 5px var(--c-main);
  font-weight: 600;
  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: 1.2px;
}

.p-report__subheading .sub {
  display: inline-block;
  margin-left: 3px;
  font-weight: 400;
  font-size: 1.6rem;
  letter-spacing: 0.8px;
}

.p-report__head {
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: grid;
  grid-template-columns: 1fr 24px;
  align-items: center;
  cursor: pointer;
}

.p-report__head::before,
.p-report__head::after {
  -webkit-transition: rotate 0.3s;
  display: inline-block;
  grid-row: 1/2;
  grid-column: 2/3;
  width: 24px;
  height: 2px;
  background-color: #868686;
  content: "";
  transition: rotate 0.3s;
}

.p-report__head::after {
  rotate: 90deg;
}

.p-report__details.is-opened .p-report__head::after {
  rotate: 0deg;
}

.p-report__head::-webkit-details-marker {
  display: none;
}

.p-report__body {
  overflow: hidden;
}

.p-report__list {
  margin-top: 40px;
  border-bottom: solid 1px #ddd;
}

.p-report__item {
  -webkit-column-gap: 20px;
  -moz-column-gap: 20px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: grid;
  grid-template-columns: 190px 230px minmax(0, 1fr);
  column-gap: 20px;
  align-items: center;
  padding: 30px 20px 30px 10px;
  border-top: solid 1px #ddd;
}

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

.p-report__term {
  width: 100%;
  max-width: 150px;
  margin-inline: auto;
  padding: 6px;
  background-color: var(--bg-main);
  line-height: 1.5;
  text-align: center;
}

.p-report__title {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-column-gap: 10px;
  -moz-column-gap: 10px;
  -webkit-transition: var(--transi-opc);
  display: grid;
  grid-template-columns: 1fr 16px;
  column-gap: 10px;
  align-items: center;
  line-height: 1.5;
  transition: var(--transi-opc);
}

.p-report__title::after {
  width: 16px;
  height: 20px;
  background: url(../img/common/icon-pdf.svg) no-repeat center center/contain;
  content: "";
}

.p-report__title:focus-visible {
  opacity: 0.7;
}

.p-report__button {
  margin: 120px auto 0;
}

/* ------------------------------------- */

/* page requirements
/* ------------------------------------- */

.p-requirements {
  padding: 80px 0 100px;
}

.p-requirements__inner {
  max-width: 1040px;
}

.p-requirements__def {
  border-bottom: solid 1px var(--border-main);
}

.p-requirements__def-text--indent {
  padding-left: 2em;
}

.p-requirements__def-item {
  display: grid;
  grid-template-columns: 220px 1fr;
  border-top: solid 1px var(--border-main);
}

.p-requirements__def-title {
  display: grid;
  place-items: center start;
  padding: 30px 10px;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0.8px;
}

.p-requirements__def-data {
  padding: 30px 10px;
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0.8px;
}

.p-requirements__def-data:has(.p-requirements__def--child) {
  padding: 0;
}

.p-requirements__def-head {
  font-weight: 700;
}

.p-requirements__def-data-list {
  padding-left: 1em;
}

.p-requirements__def-item--child {
  display: grid;
  grid-template-columns: 180px 1fr;
}

.p-requirements__def-title--child {
  display: grid;
  place-content: center start;
  padding: 10px;
  font-size: 1.6rem;
  line-height: 2;
}

.p-requirements__def-data--child {
  padding: 10px;
  font-size: 1.6rem;
  line-height: 2;
}

.p-requirements__def-item--child:not(:first-of-type) {
  border-top: solid 1px var(--border-main);
}

.p-requirements-flow {
  padding-top: 100px;
}

.p-requirements-flow__inner {
  max-width: 1240px;
}

.p-requirements-flow__image {
  display: block;
  width: 100%;
  max-width: 1140px;
  margin: 80px auto 0;
}

/* ------------------------------------- */

/* page resource
/* ------------------------------------- */

.p-resource {
  padding: 80px 0 100px;
  overflow: hidden;
}

.p-resource__inner {
  max-width: 1240px;
}

.p-resource-intro {
  position: relative;
  padding-bottom: 200px;
}

.p-resource-intro::before {
  z-index: -1;
  position: absolute;
  bottom: -150px;
  left: 50%;
  width: 1440px;
  height: 432px;
  translate: -50% 0;
  background: url(../img/about/resource/bg-resource.webp) no-repeat center center/cover;
  content: "";
}

.p-resource-intro__text {
  margin-top: 50px;
  line-height: 2;
  text-align: center;
}

.p-resource__container {
  z-index: 1;
  position: relative;
  margin-top: 0;
  padding-top: 80px;
  background-color: #fff;
}

.p-resource__button-wrapper {
  margin-top: 180px;
}

/* ------------------------------------- */

/* page search
/* ------------------------------------- */

.p-search {
  padding: 100px 0;
}

.p-search #___gcse_0,
.p-search .gsc-control-cse.gsc-control-cse-ja {
  padding: 0;
}

.p-search form.gsc-search-box {
  margin-bottom: 0;
}

.p-search table.gsc-search-box td.gsc-input {
  padding-right: 0;
}

.p-search .gsib_a {
  padding: 0 20px;
  border-radius: 5px 0 0 5px;
  border-color: var(--bg-main);
  background-color: var(--bg-main);
}

.p-search .gsst_b {
  display: none;
}

.p-search input.gsc-input {
  height: 50px !important;
  background-color: var(--bg-main);
}

.p-search .gsc-input-box {
  padding: 0;
  border: none;
  border-radius: 5px 0 0 5px;
}

.p-search .gsc-results-wrapper-visible {
  margin-top: 0;
}

.p-search .gcsc-find-more-on-google-magnifier {
  width: auto;
}

.p-search .gsc-search-button-v2 svg {
  display: none;
}

.p-search .gsc-search-button-v2 {
  display: grid;
  position: relative;
  place-items: center;
  width: 52px;
  height: 50px;
  margin-left: 0;
  padding: 0;
  border-radius: 0 3px 3px 0;
}

.p-search .gsc-search-button-v2::before {
  position: absolute;
  width: 20px;
  height: 20px;
  background: url(../svg/icon-search_wh.svg) no-repeat center center/contain;
  content: "";
}

.p-search__inner {
  max-width: 1180px;
}

.p-search__heading {
  margin: 80px 0 50px;
  font-weight: 700;
  font-size: 3.2rem;
  line-height: normal;
  letter-spacing: 1.6px;
}

/* ------------------------------------- */

/* page security
/* ------------------------------------- */

.p-security {
  padding: 80px 0 100px;
}

.p-security__inner {
  max-width: 1240px;
}

.p-security__text--intro {
  line-height: 2;
}

.p-security__heading {
  margin-top: 120px;
  font-weight: 700;
  font-size: 3.6rem;
  line-height: 1.3888888889;
  letter-spacing: 1.8px;
}

.p-security__text {
  margin-top: 50px;
  padding: 0 30px;
  line-height: 2;
}

.p-security__list {
  display: grid;
  row-gap: 30px;
  margin-top: 30px;
  padding: 0 30px;
}

.p-security__item-head {
  font-weight: 700;
  line-height: 2;
}

.p-security__item-text {
  margin-left: 20px;
  line-height: 2;
}

.p-security__item-link {
  text-decoration: underline;
}

.p-security__text--bottom {
  margin-top: 70px;
  line-height: 2;
}

/* ------------------------------------- */

/* page selection
/* ------------------------------------- */

.p-selection {
  padding: 80px 0 100px;
}

.p-selection__inner {
  max-width: 1240px;
}

.p-selection__intro-text {
  font-size: 2rem;
  line-height: 2;
  letter-spacing: 1px;
}

/* ------------------------------------- */

/* page sitemap
/* ------------------------------------- */

.p-sitemap {
  padding: 100px 0;
}

.p-sitemap__inner {
  max-width: 1040px;
}

.p-sitemap__container {
  -webkit-column-gap: 70px;
  -moz-column-gap: 70px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 70px;
}

.p-sitemap__container--bottom,
.p-sitemap__container:not(:first-of-type) {
  margin-top: 80px;
}

.p-sitemap__link {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-column-gap: 10px;
  -moz-column-gap: 10px;
  display: grid;
  grid-template-columns: 1fr 6px;
  column-gap: 10px;
  align-items: center;
  padding-bottom: 12px;
  border-bottom: solid 1px #ddd;
  font-weight: 700;
  font-size: 2rem;
  line-height: 1;
  letter-spacing: 1px;
}

.p-sitemap__link:focus-visible .p-sitemap__link-arrow {
  -webkit-transform: translate(14px, 0px);
  -webkit-transition-delay: 100ms;
  -webkit-transition-duration: 500ms;
  transform: translate(14px, 0px);
  transition-delay: 100ms;
  transition-duration: 500ms;
}

.p-sitemap__link-arrow-wrapper {
  width: 6px;
  height: 12px;
  overflow: hidden;
}

.p-sitemap__link-arrow {
  -ms-flex-wrap: nowrap;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  -webkit-transition: -webkit-transform 0.5s;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: nowrap;
  justify-content: end;
  width: 6px;
  height: 12px;
  gap: 8px;
  transition: -webkit-transform 0.5s;
  transition: transform 0.5s;
  transition: transform 0.5s, -webkit-transform 0.5s;
}

.p-sitemap__link-arrow-icon {
  fill: var(--c-main);
  width: 6px;
  min-width: 6px;
  height: 12px;
}

.p-sitemap__list {
  display: grid;
  row-gap: 12px;
  margin-top: 20px;
}

.p-sitemap__item {
  font-size: 1.4rem;
  line-height: 1.4285714286;
  letter-spacing: 0.7px;
}

.p-sitemap__item--child {
  margin-left: 20px;
}

.p-sitemap__box-heading {
  padding-bottom: 12px;
  border-bottom: solid 1px #ddd;
  font-weight: 700;
  font-size: 2rem;
  line-height: 1;
  letter-spacing: 1px;
}

.p-sitemap__list--sub {
  -ms-flex-wrap: wrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  margin-top: 20px;
  gap: 20px 70px;
}

.p-sitemap__item--sub {
  width: calc(33.3333333333% - 46.6666666667px);
  font-size: 1.4rem;
  line-height: 1.4285714286;
  letter-spacing: 0.7px;
}

.p-sitemap__item-link {
  -webkit-transition: var(--transi-opc);
  transition: var(--transi-opc);
}

.p-sitemap__item-link:focus-visible {
  opacity: 0.5;
}

/* ------------------------------------- */

/* page social
/* ------------------------------------- */

.p-social {
  padding: 80px 0 100px;
}

.p-social__inner {
  max-width: 1240px;
}

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

.p-social__wrapper {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 80px;
  gap: 40px 30px;
}

.p-social__box-image {
  overflow: hidden;
}

.p-social__box-image img {
  -webkit-transition: -webkit-transform 0.3s;
  height: auto;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.p-social__box:focus-visible .p-social__box-image img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

.p-social__box-title {
  margin-top: 20px;
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.6666666667;
  letter-spacing: 1.2px;
}

.p-social__button {
  max-width: 300px;
  margin: 100px auto 0;
}

.p-social__button .c-button-primary__text {
  font-size: 1.4rem;
}

/* ------------------------------------- */

/* page socialmedia
/* ------------------------------------- */

.p-socialmedia {
  padding: 80px 0 100px;
}

.p-socialmedia__inner {
  max-width: 1240px;
}

.p-socialmedia__text--intro {
  line-height: 2;
}

.p-socialmedia__heading {
  margin-top: 120px;
  font-weight: 700;
  font-size: 3.6rem;
  line-height: 1.3888888889;
  letter-spacing: 1.8px;
}

.p-socialmedia__text {
  margin-top: 50px;
  padding: 0 30px;
  line-height: 2;
}

.p-socialmedia__list {
  display: grid;
  row-gap: 5px;
  margin-top: 60px;
  padding: 0 30px;
}

.p-socialmedia__item {
  margin-left: 1.5em;
  line-height: 2;
  list-style: decimal;
}

.p-socialmedia__item-link {
  text-decoration: underline;
}

.p-socialmedia__text--bottom {
  margin-top: 70px;
  line-height: 2;
}

/* ------------------------------------- */

/* page stock-information
/* ------------------------------------- */

.p-stock-information {
  padding: 80px 0 100px;
}

.p-stock-information__inner {
  -webkit-column-gap: 80px;
  -moz-column-gap: 80px;
  -webkit-box-align: start;
  -ms-flex-align: start;
  display: grid;
  grid-template-columns: 270px 1fr;
  column-gap: 80px;
  align-items: start;
  max-width: 1240px;
}

.p-stock-information__section:not(:first-of-type) {
  padding-top: 80px;
}

.p-stock-information__list {
  margin-top: 30px;
  border-bottom: solid 1px #ddd;
}

.p-stock-information__item {
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr);
  align-items: center;
  border-top: solid 1px #ddd;
}

.p-stock-information__item-title {
  padding: 24px 10px;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.8px;
}

.p-stock-information__item-data {
  padding: 24px 10px;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.8px;
}

.p-stock-information__container {
  padding-top: 80px;
}

.c-heading + .p-stock-information__container {
  padding-top: 60px;
}

.p-stock-information__subheading {
  margin-bottom: 30px;
  padding-left: 20px;
  border-left: solid 5px var(--c-main);
  font-weight: 600;
  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: 1.2px;
}

.p-stock-information__table-wrapper {
  margin-top: 30px;
}

.p-stock-information__table-wrapper::-webkit-scrollbar {
  height: 4px;
  background-color: #d9d9d9;
}

.p-stock-information__table-wrapper::-webkit-scrollbar-track {
  height: 4px;
  background-color: #d9d9d9;
}

.p-stock-information__table-wrapper::-webkit-scrollbar-thumb {
  height: 4px;
  background-color: rgba(118, 118, 118, 0.5);
}

.p-stock-information__table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.p-stock-information__table .head {
  padding: 24px 10px;
  border-right: solid 1px var(--c-base);
  border-bottom: solid 1px #ddd;
  background-color: #ddd;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.8px;
}

.p-stock-information__table .head:first-child {
  width: 210px;
  min-width: 210px;
}

.p-stock-information__table .head:not(:first-child) {
  width: 36.1275088548%;
}

.p-stock-information__table th:not(.head) {
  padding: 24px 10px;
  border-top: solid 1px #ddd;
  border-right: solid 1px #ddd;
  background-color: var(--bg-main);
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.8px;
  text-align: left;
  vertical-align: middle;
}

.p-stock-information__table th.strong {
  font-weight: 700;
}

.p-stock-information__table td {
  padding: 24px 10px;
  border-right: solid 1px #ddd;
  border-bottom: solid 1px #ddd;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.8px;
  vertical-align: middle;
}

.p-stock-information__table .small {
  font-size: 1.2rem;
  letter-spacing: 0.6px;
}

.p-stock-information__table .link {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  line-height: 1.5;
  text-decoration: underline;
  word-break: break-all;
}

.p-stock-information__table--status td,
.p-stock-information__table--returns td {
  text-align: right;
}

.p-stock-information__table-notice {
  margin-top: 18px;
  font-size: 1.4rem;
  line-height: 1.5;
}

.p-stock-information__link {
  text-decoration: underline;
}

.p-stock-information__text {
  line-height: 2;
}

.p-stock-information__notice {
  margin-top: 18px;
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0.7px;
}

.p-stock-information__chart {
  display: block;
  width: 100%;
  background-color: var(--bg-main);
}

.p-stock-information__wrapper {
  margin-top: 50px;
}

.p-stock-information__wrapper-heading {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 16px;
  border-bottom: solid 1px #ddd;
  font-weight: 600;
  font-size: 2rem;
  line-height: 1.8;
  letter-spacing: 1px;
}

.p-stock-information__wrapper-heading .term {
  padding: 0 20px;
  border-radius: var(--round);
  background-color: var(--c-main);
  color: var(--c-base);
  font-weight: 600;
  font-size: 1.8rem;
  line-height: 1.7777777778;
  letter-spacing: 0.9px;
}

.p-stock-information__box:first-of-type {
  margin-top: 40px;
}

.p-stock-information__box:not(:first-of-type) {
  margin-top: 60px;
}

.p-stock-information__box-heading {
  font-weight: 600;
  font-size: 2.4rem;
  line-height: 1.7916666667;
}

.p-stock-information__box-heading .sub {
  display: block;
  font-weight: 600;
  font-size: 1.8rem;
  line-height: 1.7777777778;
}

.p-stock-information__box-image {
  width: 100%;
  max-width: 250px;
}

.p-stock-information__box-link {
  font-size: 1.2rem;
  line-height: 1.75;
  letter-spacing: 0.6px;
  text-decoration: underline;
}

.p-stock-information__box-notice {
  margin-top: 30px;
  font-size: 1.2rem;
  line-height: 2;
  letter-spacing: 0.6px;
}

.p-stock-information__button {
  margin: 45px auto 0;
}

.p-stock-information__grid {
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: grid;
  grid-template-columns: 108px minmax(0, 1fr);
  align-items: center;
  gap: 20px 40px;
}

.p-stock-information__column--thumb {
  width: 100%;
  max-width: 108px;
}

.p-stock-information__column-text {
  line-height: 2;
}

.p-stock-information__column-button {
  margin-top: 20px;
}

/* ------------------------------------- */

/* page stock-price
/* ------------------------------------- */

.p-stock-price {
  padding: 80px 0 100px;
}

.p-stock-price__inner {
  max-width: 1040px;
}

.p-stock-price__text {
  margin-top: 40px;
  line-height: 2;
}

.p-stock-price__button {
  margin: 30px auto 0;
}

.p-stock-price__iframe {
  width: 100%;
  height: 1015px;
}

/* ------------------------------------- */

/* page sustainability
/* ------------------------------------- */

.p-sustainability {
  padding: 100px 0;
}

.p-sustainability__inner {
  max-width: 1240px;
}

.p-sustainability-commitment__inner,
.p-sustainability-approach__inner,
.p-sustainability-policy__inner,
.p-sustainability-materiality__inner,
.p-sustainability-stakeholder__inner {
  max-width: 1140px;
  margin-top: 60px;
  margin-inline: auto;
}

.p-sustainability-commitment__container {
  display: grid;
  position: relative;
  grid-template-columns: 71.1538461538% -webkit-max-content;
  grid-template-columns: 71.1538461538% max-content;
  padding-left: 100px;
}

.p-sustainability-commitment__image {
  -webkit-box-shadow: 20px 20px #ddd;
  box-shadow: 20px 20px #ddd;
}

.p-sustainability-commitment__image img {
  -o-object-fit: cover;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-sustainability-commitment__title {
  position: absolute;
  top: 50%;
  right: 30px;
  translate: 0 -50%;
  font-weight: 700;
  font-size: 3.2rem;
  line-height: 1.5;
  letter-spacing: 1.6px;
}

.p-sustainability-commitment__text {
  margin-top: 70px;
  line-height: 2;
}

.p-sustainability-commitment__name {
  margin-top: 30px;
  line-height: 2;
  text-align: right;
}

.p-sustainability-approach,
.p-sustainability-policy,
.p-sustainability-materiality,
.p-sustainability-stakeholder {
  padding-top: 120px;
}

.p-sustainability-approach__text,
.p-sustainability-policy__text,
.p-sustainability-materiality__text,
.p-sustainability-stakeholder__text {
  line-height: 2;
}

.p-sustainability-approach__figure {
  width: 100%;
  max-width: 800px;
  margin: 60px auto 0;
}

.p-sustainability-materiality__container {
  margin-top: 60px;
  padding: 30px 20px 60px;
  background-color: var(--bg-main);
}

.p-sustainability-materiality__box {
  padding: 40px;
  border: solid 1px var(--border-main);
  background-color: var(--c-base);
}

.p-sustainability-materiality__box:not(:first-child) {
  margin-top: 30px;
}

.p-sustainability-materiality__box-label {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 2px 10px;
  background-color: var(--c-main);
  color: var(--c-base);
  font-size: 1.6rem;
  line-height: 1.75;
  letter-spacing: 0.8px;
}

.p-sustainability-materiality__box-title {
  margin-top: 10px;
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1.7777777778;
  letter-spacing: 0.9px;
}

.p-sustainability-materiality__box-text {
  margin-top: 30px;
  line-height: 1.75;
}

.p-sustainability-materiality__def {
  margin-top: 30px;
}

.p-sustainability-materiality__def-item {
  -webkit-box-align: start;
  -ms-flex-align: start;
  display: grid;
  grid-template-columns: -webkit-max-content minmax(0, 1fr);
  grid-template-columns: max-content minmax(0, 1fr);
  align-items: start;
  gap: 10px 20px;
}

.p-sustainability-materiality__def-title {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 2px 10px 3px;
  background-color: #ddd;
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 1.7857142857;
  letter-spacing: 0.7px;
}

.p-sustainability-materiality__list {
  -ms-flex-wrap: wrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.p-sustainability-materiality__item {
  padding: 2px 20px;
  border: solid 1px var(--c-main);
  border-radius: var(--round);
  color: var(--c-main);
  font-size: 1.4rem;
  line-height: 1.7857142857;
  letter-spacing: 0.7px;
}

.p-sustainability-materiality__subheading {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-column-gap: 15px;
  -moz-column-gap: 15px;
  display: grid;
  grid-template-columns: 16px auto;
  column-gap: 15px;
  align-items: center;
  margin-top: 40px;
  padding: 0 20px;
  font-weight: 600;
  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: 1.2px;
}

.p-sustainability-materiality__subheading::before {
  width: 16px;
  height: 2px;
  background-color: var(--c-main);
  content: "";
}

.p-sustainability-materiality__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 30px;
  padding: 0 20px;
  gap: 40px 50px;
}

.p-sustainability-materiality__column {
  -webkit-column-gap: 20px;
  -moz-column-gap: 20px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: grid;
  grid-template-columns: 80px minmax(0, 1fr);
  column-gap: 20px;
  align-items: center;
}

.p-sustainability-materiality__step {
  display: grid;
  place-content: center;
  aspect-ratio: 1;
  width: 80px;
  border: solid 1px var(--c-main);
  background-color: var(--c-base);
  color: var(--c-main);
  font-weight: 700;
  font-size: 1.4rem;
  font-family: var(--f-en);
  letter-spacing: 0.7px;
  text-transform: uppercase;
}

.p-sustainability-materiality__step .num {
  display: block;
  margin-top: 5px;
  font-size: 2.8rem;
  letter-spacing: 1.4px;
  text-align: center;
}

.p-sustainability-materiality__column-text {
  font-weight: 500;
  line-height: 1.5;
}

.p-sustainability-stakeholder__container {
  margin-top: 50px;
  padding: 40px;
  background-color: var(--bg-main);
}

.p-sustainability-stakeholder__subheading {
  font-weight: 600;
  font-size: 1.8rem;
  line-height: 1.7777777778;
  letter-spacing: 0.9px;
}

.p-sustainability-stakeholder__container-text + .p-sustainability-stakeholder__subheading {
  margin-top: 30px;
}

.p-sustainability-stakeholder__container-text {
  margin-top: 10px;
  line-height: 1.75;
}

.p-sustainability-stakeholder__container-text .link {
  text-decoration: underline;
}

.p-sustainability-stakeholder__bottom-text {
  margin-top: 30px;
  line-height: 1.75;
  text-align: right;
}

/* ------------------------------------- */

/* page top
/* ------------------------------------- */

.p-top-mv {
  position: relative;
  width: 100%;
  height: calc(100dvh - 60px);
}

.p-top-mv__slide {
  height: 100%;
}

.p-top-mv__slide .splide__slide,
.p-top-mv__slide .splide__track,
.p-top-mv__slide .splide__list {
  height: 100%;
}

.p-top-mv__slide .splide__slide {
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}

.p-top-mv__slide01 {
  display: grid;
  place-items: center;
  background-image: url(../img/top/mv01.webp?251215);
}

.p-top-mv__slide02 {
  display: grid;
  place-items: center;
  background-image: url(../img/top/mv02.webp?251215);
}

.p-top-mv__slide03 {
  display: grid;
  place-items: center;
  background-image: url(../img/top/mv03.webp?251215);
}

.p-top-mv__fraction {
  position: absolute;
  bottom: 20px;
  left: 20px;
  width: 50px;
  height: 50px;
}

.p-top-mv__fraction svg {
  fill: none;
}

.p-top-mv__fraction .circle-01 {
  stroke: var(--c-base);
  stroke-width: 3.6px;
  stroke-dasharray: 201.056px;
  stroke-dashoffset: 201.056px;
}

.p-top-mv__fraction .current {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  color: var(--c-base);
  font-size: 1.2rem;
  font-family: var(--f-en);
}

.p-top-mv__fraction--slide03 .circle-01 {
  stroke: #000;
}

.p-top-mv__fraction--slide03 .current {
  color: #000;
}

.p-top-mv__slide .splide__slide[class*=-active] .p-top-mv__fraction .circle-01 {
  -webkit-animation: mv_circle linear both;
  animation: mv_circle linear both;
}

.p-top-mv__wrapper--slide01 {
  display: grid;
  place-items: end;
  width: 100%;
  max-width: 1480px;
  margin-inline: auto;
  padding: 0 20px;
}

.p-top-mv__title {
  -webkit-clip-path: inset(0 100% 0 0);
  color: var(--c-base);
  font-weight: 600;
  font-size: 6.2rem;
  line-height: 1.5;
  letter-spacing: 3px;
  clip-path: inset(0 100% 0 0);
}

.p-top-mv__title.is-show {
  -webkit-animation: flowing-anim 0.5s ease forwards;
  -webkit-animation-delay: 0.5s;
  animation: flowing-anim 0.5s ease forwards;
  animation-delay: 0.5s;
}

.p-top-mv__wrapper--slide02 {
  display: grid;
  grid-template-rows: 130px 60px;
  grid-template-columns: -webkit-max-content 1fr;
  grid-template-columns: max-content 1fr;
  max-width: 1060px;
  margin-inline: auto;
  padding: 0 20px;
  gap: 60px 30px;
}

.p-top-mv__heading--slide02 {
  grid-row: 1/2;
  grid-column: 1/2;
  color: var(--c-base);
  font-weight: 600;
  font-size: 6rem;
  line-height: 1.5;
  letter-spacing: 3px;
}

.p-top-mv__subheading {
  display: block;
  margin-bottom: 30px;
  color: var(--c-base);
  font-weight: 600;
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 1px;
}

.p-top-mv__text {
  grid-row: 1/3;
  grid-column: 2/3;
  color: var(--c-base);
  font-weight: 500;
  font-size: 1.3rem;
  line-height: 2;
  letter-spacing: 0.8px;
}

.p-top-mv__button--slide02 {
  grid-row: 2/3;
  grid-column: 1/2;
  max-width: 272px;
  background-color: var(--c-base);
}

.p-top-mv__button--slide02 .c-button-primary__text {
  color: var(--c-main);
}

.p-top-mv__button--slide02 .c-button-primary__arrow {
  border-color: var(--c-main);
}

.p-top-mv__button--slide02:focus-visible .c-button-primary__arrow {
  background-color: var(--c-main);
}

.p-top-mv__wrapper--slide03 {
  display: grid;
  place-items: center start;
  width: 100%;
  max-width: 1040px;
  margin-inline: auto;
  padding: 0 20px;
}

.p-top-mv__heading--slide03 {
  font-weight: 600;
  font-size: 6rem;
  line-height: 1.1666666667;
  font-family: var(--f-en);
}

.p-top-mv__heading--slide03 .sub {
  display: block;
  margin-top: 20px;
  font-weight: 600;
  font-size: 2.8rem;
  line-height: 1.5;
  letter-spacing: 0.8px;
}

.p-top-mv__text--slide03 {
  margin-top: 40px;
  line-height: 2;
}

.p-top-mv__button--slide03 {
  max-width: 272px;
  margin-top: 80px;
}

.p-top-mv__wrapper--slide04,
.p-top-mv__wrapper--slide05 {
  width: 100%;
  max-width: 1280px;
  margin-inline: auto;
  padding: 0 20px;
}

.p-top-mv__heading--slide04,
.p-top-mv__heading--slide05 {
  font-weight: 600;
  font-size: 4.6rem;
  line-height: 1.3;
  letter-spacing: 0.8px;
}

.p-top-mv__heading--slide04 .sub,
.p-top-mv__heading--slide05 .sub {
  display: block;
  margin-bottom: 10px;
  padding-left: 10px;
  color: var(--c-main);
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1;
  font-family: var(--f-en);
  letter-spacing: 0.8px;
}

.p-top-mv__button--slide04,
.p-top-mv__button--slide05 {
  max-width: 272px;
  margin-top: 50px;
}

.p-top-mv__topic {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-column-gap: 15px;
  -moz-column-gap: 15px;
  display: grid;
  position: absolute;
  right: 0;
  bottom: 0;
  grid-template-columns: 1fr 10px;
  column-gap: 15px;
  align-items: center;
  width: 100%;
  max-width: 565px;
  margin-left: auto;
  padding: 16px 13px 16px 25px;
  border-radius: 10px 0 0 0;
  background-color: var(--c-base);
}

.p-top-mv__topic .splide__arrows {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  row-gap: 18px;
  flex-direction: column;
}

.p-top-mv__topic .splide__arrow {
  width: 10px;
  height: 10px;
  margin: 0;
  padding: 0;
  border: none;
  background-color: transparent;
}

.p-top-mv__topic .splide__arrow svg {
  fill: var(--c-main);
  display: block;
}

.p-top-mv__topic .splide__arrow--prev {
  rotate: -90deg;
}

.p-top-mv__topic .splide__arrow--next {
  rotate: 90deg;
}

.p-top-mv__topic-link {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-column-gap: 15px;
  -moz-column-gap: 15px;
  display: grid;
  grid-template-columns: -webkit-max-content 1fr;
  grid-template-columns: max-content 1fr;
  column-gap: 15px;
  align-items: center;
}

.p-top-mv__topic-date {
  color: #a8a8a8;
  font-size: 1.2rem;
  line-height: normal;
  letter-spacing: 0.12px;
}

.p-top-mv__topic__title {
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0.14px;
}

.p-top-mv__topic__title span {
  -webkit-box-orient: vertical;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  overflow: hidden;
}

.p-top-mv__topic__title.is-pdf {
  -webkit-column-gap: 10px;
  -moz-column-gap: 10px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: grid;
  grid-template-columns: auto 16px;
  column-gap: 10px;
  align-items: center;
}

.p-top-mv__topic__title.is-pdf::after {
  width: 16px;
  height: 20px;
  background: url(../img/common/icon-pdf.svg) no-repeat center center/contain;
  content: "";
}

.p-top-banner {
  margin-top: 50px;
}

.p-top-banner__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
}

.p-top-banner__list {
  -webkit-animation: infinity-scroll-left 30s infinite linear 0.5s both;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  animation: infinity-scroll-left 30s infinite linear 0.5s both;
}

.p-top-banner__item {
  width: 14.2857142857vw;
  min-width: 150px;
  margin-left: 20px;
}

.p-top-banner__item img {
  width: 100%;
}

.p-top-about {
  position: relative;
  margin-top: 67px;
  padding-top: 60px;
}

.p-top-about-bg {
  display: block;
  z-index: -1;
  position: absolute;
  bottom: -180px;
  left: 50%;
  width: 100%;
  height: 610px;
  overflow: hidden;
  translate: -50% 0;
}

.p-top-about-bg img {
  display: block;
  position: relative;
  left: 50%;
  width: auto;
  width: 1400px;
  min-width: 1400px;
  translate: -50% 0;
}

.p-top-about__inner {
  max-width: 1440px;
}

.p-top-about__container {
  -webkit-column-gap: 10px;
  -moz-column-gap: 10px;
  display: grid;
  z-index: 1;
  position: relative;
  grid-template-rows: -webkit-max-content -webkit-max-content 1fr;
  grid-template-rows: max-content max-content 1fr;
  grid-template-columns: 50% 50%;
  column-gap: 10px;
}

.p-top-about__heading {
  grid-row: 1/2;
  grid-column: 2/3;
  margin-top: 60px;
}

.p-top-about__image {
  grid-row: 1/4;
  grid-column: 1/2;
}

.p-top-about__text {
  grid-row: 2/3;
  grid-column: 2/3;
  max-width: 527px;
  margin-top: 50px;
  line-height: 2;
}

.p-top-about__button {
  grid-row: 3/4;
  grid-column: 2/3;
  max-width: 272px;
  height: 60px;
  margin-top: 30px;
}

.p-top-business {
  padding-top: 150px;
}

.p-top-business__inner {
  max-width: 1180px;
}

.p-top-business__text {
  margin-top: 40px;
  line-height: 2;
}

.p-top-business__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 50px;
}

.p-top-business__item {
  position: relative;
  width: 100%;
  min-height: 480px;
  padding: 40px;
  overflow: hidden;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}

.p-top-business__item::before {
  -webkit-transition: -webkit-transform 0.3s;
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  content: "";
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.p-top-business__item:has(.p-top-business__link:focus-visible)::before,
.p-top-business__item:has(.p-top-business__link:hover)::before {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

.p-top-business__item--global {
  padding: 15px;
}

.p-top-business__item--selection::before {
  background-image: url(../img/top/img-business01.webp);
}

.p-top-business__item--coordination::before {
  background-image: url(../img/top/img-business02.webp);
}

.p-top-business__item--delivery::before {
  background-image: url(../img/top/img-business03.webp);
}

.p-top-business__item--global::before {
  padding: 15px;
  background-image: url(../img/top/img-business04.webp);
}

.p-top-business__link {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
}

.p-top-business__link:focus-visible .p-top-business__button {
  border-color: var(--c-main);
  background-color: var(--c-main);
}

.p-top-business__link:focus-visible .c-button-secondary__arrows {
  -webkit-transform: translate(42px, 0px);
  -webkit-transition-delay: 100ms;
  -webkit-transition-duration: 1000ms;
  transform: translate(42px, 0px);
  transition-delay: 100ms;
  transition-duration: 1000ms;
}

.p-top-business__link--global {
  padding: 25px 36px;
  border: solid 1px var(--c-base);
}

.p-top-business__item-title--global {
  margin-top: 50px;
}

.p-top-business__item-title {
  color: var(--c-base);
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.4583333333;
  letter-spacing: 1.2px;
}

.p-top-business__item-title .sub {
  display: block;
  position: relative;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  margin-bottom: 10px;
  padding-bottom: 25px;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1;
  letter-spacing: 0.8px;
}

.p-top-business__item-title .sub::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 15px;
  background: url(../img/top/img-business_line.webp) no-repeat center center/contain;
  content: "";
}

.p-top-business__item-text {
  margin-top: 30px;
  color: var(--c-base);
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0.7px;
}

.p-top-business__button {
  margin: auto 0 0 auto;
}

.p-top-business__button {
  pointer-events: none;
}

.p-top-ir {
  padding-top: 100px;
}

.p-top-ir__inner {
  max-width: 1180px;
}

.p-top-ir__wrapper {
  -webkit-column-gap: 50px;
  -moz-column-gap: 50px;
  -webkit-box-align: end;
  -ms-flex-align: end;
  display: grid;
  grid-template-columns: 45.6140350877% 50%;
  column-gap: 50px;
  align-items: end;
}

.p-top-ir__head {
  -webkit-column-gap: 20px;
  -moz-column-gap: 20px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: grid;
  grid-template-columns: -webkit-max-content 60px;
  grid-template-columns: max-content 60px;
  column-gap: 20px;
  grid-row: 1/2;
  grid-column: 1/2;
  align-items: center;
}

.p-top-ir__text {
  grid-row: 2/3;
  grid-column: 1/2;
  margin-top: 40px;
  line-height: 2;
  letter-spacing: 0.8px;
}

.p-top-ir__box {
  grid-row: 1/3;
  grid-column: 2/3;
}

.p-top-ir__box {
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
  padding: 26px 30px 30px;
  border-radius: 10px;
  background-color: rgba(245, 245, 245, 0.8);
}

.p-top-ir__box-title {
  color: var(--c-main);
  font-weight: 700;
  font-family: var(--f-en);
}

.p-top-ir__box-list {
  -ms-flex-wrap: wrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  margin-top: 10px;
  gap: 10px;
}

.p-top-ir__box-link {
  -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
}

.p-top-ir__container {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 57px;
}

.p-top-ir__image-wrapper {
  position: relative;
}

.p-top-ir__image--second {
  display: block;
  position: relative;
}

.p-top-ir__link {
  -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
  position: absolute;
  bottom: 48px;
  left: 50%;
  width: 100%;
  max-width: 253px;
  translate: -50% 0;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
}

.p-top-information {
  padding: 110px 0 90px;
}

.p-top-information__inner {
  max-width: 1180px;
}

.p-top-information__head {
  -webkit-column-gap: 20px;
  -moz-column-gap: 20px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: grid;
  grid-template-columns: -webkit-max-content 60px;
  grid-template-columns: max-content 60px;
  column-gap: 20px;
  align-items: center;
}

.p-top-information__wrapper {
  -webkit-column-gap: 40px;
  -moz-column-gap: 40px;
  display: grid;
  grid-template-columns: 250px 1fr;
  column-gap: 40px;
  margin-top: 40px;
}

.p-top-information__category-button {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-column-gap: 10px;
  -moz-column-gap: 10px;
  -webkit-transition: var(--transi-bg), var(--transi-color);
  display: grid;
  grid-template-columns: 15px auto;
  column-gap: 10px;
  align-items: center;
  width: 100%;
  padding: 18px 23px;
  border: none;
  border-radius: 10px;
  background-color: var(--c-base);
  font-weight: 700;
  font-size: 1.6rem;
  font-family: var(--f-jp);
  letter-spacing: 0.8px;
  text-align: left;
  transition: var(--transi-bg), var(--transi-color);
}

.p-top-information__category-button::before {
  -webkit-transition: var(--transi-bg);
  aspect-ratio: 1;
  width: 15px;
  border-radius: var(--round);
  background-color: var(--bg-main);
  content: "";
  transition: var(--transi-bg);
}

.p-top-information__category-button.is-active {
  background-color: var(--bg-main);
  color: var(--c-main);
  pointer-events: none;
}

.p-top-information__category-button.is-active::before {
  background-color: var(--c-main);
}

.p-top-information__category-button:focus-visible {
  background-color: var(--bg-main);
  color: var(--c-main);
}

.p-top-information__category-button:focus-visible::before {
  background-color: var(--c-main);
}

.p-top-information__list {
  display: none;
}

.p-top-information__list.is-show {
  display: block;
}

.p-top-information__link {
  display: block;
  position: relative;
  padding: 20px 40px 20px 0;
  border-bottom: solid 1px var(--border-main);
}

.p-top-information__link:focus-visible .p-top-information__arrow {
  border-color: var(--c-main);
}

.p-top-information__arrow {
  -webkit-transition: border-color 0.3s;
  display: grid;
  position: absolute;
  top: 50%;
  right: 0;
  place-items: center;
  width: 40px;
  height: 40px;
  translate: 0 -50%;
  border: solid 1px transparent;
  border-radius: var(--round);
  transition: border-color 0.3s;
}

.p-top-information__arrow svg {
  fill: var(--c-main);
  display: block;
  width: 9px;
  height: 9px;
}

.p-top-information__item-head {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-column-gap: 10px;
  -moz-column-gap: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  column-gap: 10px;
  align-items: center;
}

.p-top-information__item-date {
  color: #a8a8a8;
  font-size: 1.2rem;
  line-height: normal;
  letter-spacing: 0.6px;
}

.p-top-information__item-category {
  padding: 5px 10px;
  border: solid 1px transparent;
  border-radius: var(--round);
  font-size: 1.2rem;
  line-height: normal;
  letter-spacing: 0.6px;
}

.p-top-information__item-category--news {
  border-color: #8b4dbd;
  color: #8b4dbd;
}

.p-top-information__item-category--ir {
  border-color: #ba8f00;
  color: #ba8f00;
}

.p-top-information__item-category--release {
  border-color: #378dcd;
  color: #378dcd;
}

.p-top-information__item-category--recruit {
  border-color: #1ca462;
  color: #1ca462;
}

.p-top-information__item-category--other {
  border-color: #555555;
  color: #555555;
}

.p-top-information__item-category--category4 {
  border-color: #fe6400;
  color: #fe6400;
}

.p-top-information__item-category--category5 {
  border-color: #1ca462;
  color: #1ca462;
}

.p-top-information__item-category--category6 {
  border-color: #ea472e;
  color: #ea472e;
}

.p-top-information__item-category--category7 {
  border-color: #67a41c;
  color: #67a41c;
}

.p-top-information__item-category--category8 {
  border-color: #4154c2;
  color: #4154c2;
}

.p-top-information__item-category--category9 {
  border-color: #e150c0;
  color: #e150c0;
}

.p-top-information__item-category--category10 {
  border-color: #7c5e5e;
  color: #7c5e5e;
}

.p-top-information__item-title {
  margin-top: 5px;
  line-height: normal;
}

.p-top-information__item-title--has-icon {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-column-gap: 8px;
  -moz-column-gap: 8px;
  display: grid;
  grid-template-columns: auto 16px;
  column-gap: 8px;
  align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.p-top-information__item-title--has-icon::after {
  display: block;
  width: 16px;
  height: 16px;
  background: url(../img/common/icon-pdf.svg) no-repeat center center/contain;
  content: "";
}

.p-top-menu__container {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.p-top-menu__box {
  position: relative;
  aspect-ratio: 720/800;
  width: 100%;
  height: 800px;
  padding: 88px 100px;
}

.p-top-menu__box::before {
  -webkit-clip-path: inset(50% 0 0 0);
  -webkit-transition: -webkit-clip-path 0.5s ease, -webkit-filter 0.5s ease;
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  content: "";
  clip-path: inset(50% 0 0 0);
  transition: -webkit-clip-path 0.5s ease, -webkit-filter 0.5s ease;
  transition: clip-path 0.5s ease, filter 0.5s ease;
  transition: clip-path 0.5s ease, filter 0.5s ease, -webkit-clip-path 0.5s ease, -webkit-filter 0.5s ease;
}

.p-top-menu__box:focus-visible::before {
  -webkit-clip-path: inset(0 0 0 0);
  -webkit-filter: brightness(0.5);
  clip-path: inset(0 0 0 0);
  filter: brightness(0.5);
}

.p-top-menu__box:focus-visible .p-top-menu__wrapper {
  opacity: 1;
}

.p-top-menu__box--company::before {
  background-image: url(../img/top/img-company01.webp);
}

.p-top-menu__box:focus-visible .p-top-menu__head,
.p-top-menu__box:focus-visible .p-top-menu__text {
  color: var(--c-base);
}

.p-top-menu__box--sustainability::before {
  background-image: url(../img/top/img-sustainability01.webp);
}

.p-top-menu__head {
  -webkit-column-gap: 30px;
  -moz-column-gap: 30px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-transition: var(--transi-color);
  display: grid;
  grid-template-columns: -webkit-max-content 60px;
  grid-template-columns: max-content 60px;
  column-gap: 30px;
  align-items: center;
  transition: var(--transi-color);
}

.p-top-menu__link {
  position: absolute;
  width: 100%;
  height: 100%;
  inset: 0px;
}

.p-top-menu__item-link {
  z-index: 1;
  position: relative;
}

.p-top-menu__text {
  -webkit-transition: var(--transi-color);
  margin-top: 40px;
  line-height: 2;
  transition: var(--transi-color);
}

.p-top__menu-button {
  display: grid;
  display: none;
  z-index: 1;
  position: relative;
  place-items: center;
  aspect-ratio: 1;
  width: 60px;
  margin: 20px auto 30px;
  border: solid 1px var(--c-base);
  border-radius: var(--round);
  background-color: transparent;
}

.p-top__menu-button.is-open svg {
  rotate: -90deg;
}

.p-top__menu-button svg {
  fill: var(--c-base);
  -webkit-transition: rotate 0.3s;
  display: block;
  width: 9px;
  height: 9px;
  rotate: 90deg;
  transition: rotate 0.3s;
}

.p-top-menu__wrapper {
  -webkit-transition: var(--transi-opc);
  margin-top: 90px;
  opacity: 0;
  transition: var(--transi-opc);
}

.p-top-menu__list {
  -ms-flex-wrap: wrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.p-top-recruit {
  position: relative;
  padding: 106px 0;
  background-color: #effbfd;
}

.p-top-recruit__inner {
  max-width: 1180px;
}

.p-top-recruit__wrapper {
  z-index: 1;
  position: relative;
}

.p-top-recruit__text {
  max-width: 415px;
  margin-top: 40px;
  line-height: 2;
}

.p-top-recruit__button {
  max-width: 400px;
  padding: 15px 10px 15px 25px;
}

.p-top-recruit__button:nth-of-type(1) {
  margin-top: 40px;
}

.p-top-recruit__button:nth-of-type(2) {
  margin-top: 20px;
}

.p-top-recruit__image {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 60%;
  max-width: 785px;
  height: 100%;
}

.p-top-recruit__image img {
  -o-object-fit: cover;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ------------------------------------- */

/* page welfare
/* ------------------------------------- */

.p-welfare {
  padding: 80px 0 100px;
}

.p-welfare__inner {
  max-width: 1240px;
}

.p-welfare__text {
  font-size: 2rem;
  line-height: 2;
  letter-spacing: 1px;
}

.p-welfare-benefits {
  padding-top: 80px;
}

.p-welfare-training {
  padding-top: 100px;
}

.p-welfare-benefits__container,
.p-welfare-training__container {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  max-width: 1000px;
  margin: 80px auto 0;
  gap: 40px 50px;
}

.p-welfare-benefits__box,
.p-welfare-training__box {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  min-height: 437px;
  padding: 40px 20px;
  gap: 0;
  border-radius: 10px;
  background-color: var(--bg-main);
}

.p-welfare-benefits__image,
.p-welfare-training__image {
  width: 100%;
  max-width: 200px;
  margin-inline: auto;
}

.p-welfare-benefits__title,
.p-welfare-training__title {
  place-self: center;
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 1px;
  text-align: center;
}

.p-welfare-benefits__text,
.p-welfare-training__text {
  margin-top: 10px;
  font-size: 1.4rem;
  line-height: 1.5;
}

/* ------------------------------------- */

/* utility
/* ------------------------------------- */

.u-ib {
  display: inline-block;
}

.u-db-lg-max {
  display: none;
}

.u-db-md-max {
  display: none;
}

.u-db-sm-max {
  display: none;
}

.u-mt20 {
  margin-top: 20px;
}

.u-fw600 {
  font-weight: 600;
}

.u-w100p {
  width: 100%;
}

.u-tacenter {
  text-align: center;
}

@media screen and (max-width: 1280px) {
  .c-library-menu {
    gap: 20px;
  }

  .l-header__logo {
    width: 100px;
  }

  .l-header__logo img {
    width: 50px;
  }

  .l-header__nav-list {
    gap: 20px;
  }

  .l-header__drawer--ir {
    -webkit-column-gap: 30px;
    -moz-column-gap: 30px;
    grid-template-columns: 1fr 120px;
    column-gap: 30px;
  }

  .l-header__drawer-list {
    gap: 30px 20px;
  }

  .l-header__drawer-item {
    width: calc(25% - 15px);
  }

  .l-header__drawer-item--about {
    width: calc(50% - 13px);
  }

  .l-header__sub-list {
    -webkit-column-gap: 20px;
    -moz-column-gap: 20px;
    column-gap: 20px;
    margin: 0 15px 0 18px;
    padding: 0 18px;
  }

  .l-header__inquiry {
    position: relative;
    margin-right: 17px;
  }

  .l-header__inquiry::after {
    position: absolute;
    top: 50%;
    right: 0;
    width: 1px;
    height: 30px;
    translate: 0 -50%;
    background-color: var(--border-main);
    content: "";
  }

  .p-about-value__head {
    padding: 0 40px;
  }

  .p-about-value__lead {
    font-size: 3.2rem;
  }

  .p-about-value__body {
    padding: 0 44px;
  }

  .p-about-sub__head {
    min-height: 0;
    padding: 40px 40px;
  }

  .p-about-sub__heading {
    font-size: 5rem;
  }

  .p-about-sub__heading .sub {
    font-size: 2rem;
  }

  .p-about-sub__lead {
    margin-top: 25px;
    font-size: 2.8rem;
  }

  .p-about-sub__body {
    padding: 55px 40px;
  }

  .p-about-cvp {
    margin-top: 120px;
  }

  .p-about-cvp__head {
    padding: 0 40px;
  }

  .p-about-cvp__lead {
    font-size: 3.2rem;
  }

  .p-about-cvp__body {
    padding: 0 44px;
  }

  .p-compliance__container {
    -webkit-column-gap: 40px;
    -moz-column-gap: 40px;
    column-gap: 40px;
  }

  .p-dx__info {
    padding: 30px;
  }

  .p-dx__info-title {
    font-size: 2.4rem;
  }

  .p-employee__container {
    -webkit-column-gap: 40px;
    -moz-column-gap: 40px;
    column-gap: 40px;
  }

  .p-employee-wellbeing__box-item {
    -webkit-column-gap: 20px;
    -moz-column-gap: 20px;
    grid-template-columns: 180px minmax(0, 1fr);
    column-gap: 20px;
  }

  .p-environment__container {
    -webkit-column-gap: 30px;
    -moz-column-gap: 30px;
    column-gap: 30px;
  }

  .p-ir__menu {
    gap: 20px;
  }

  .p-marketing__info {
    padding: 0 30px;
  }

  .p-marketing__info-title {
    font-size: 2.4rem;
  }

  .p-marketing__column {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .p-stock-information__inner {
    -webkit-column-gap: 40px;
    -moz-column-gap: 40px;
    grid-template-columns: 230px 1fr;
    column-gap: 40px;
  }

  .p-top-business__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .p-top-menu__box {
    padding: 60px 80px;
  }
}

@media screen and (max-width: 1024px) {
  .c-column {
    -webkit-column-gap: 30px;
    -moz-column-gap: 30px;
    column-gap: 30px;
  }

  .c-form__address-top {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .c-heading {
    font-size: 3.2rem;
  }

  .c-more-contents__container {
    grid-template-columns: 320px minmax(0, 1fr);
  }

  .c-side-anchor {
    display: none;
  }

  .l-footer {
    padding: 50px 0 20px;
  }

  .l-footer__inner {
    padding: 0;
  }

  .l-footer__logo {
    margin-inline: auto;
  }

  .l-footer__container {
    grid-template-columns: 1fr;
    margin-top: 97px;
    gap: 0;
  }

  .l-footer__box--top {
    display: block;
    grid-row: 1/2;
    grid-column: 1/2;
  }

  .l-footer__box--about {
    grid-row: 2/3;
    grid-column: 1/2;
  }

  .l-footer__box--business {
    grid-row: 3/4;
    grid-column: 1/2;
  }

  .l-footer__box--company {
    grid-row: 4/5;
    grid-column: 1/2;
  }

  .l-footer__box--ir {
    grid-row: 5/6;
    grid-column: 1/2;
  }

  .l-footer__box--sustainability {
    grid-row: 6/7;
    grid-column: 1/2;
  }

  .l-footer__box--other {
    grid-row: 7/8;
    grid-column: 1/2;
    gap: 0;
  }

  .l-footer__main-link {
    border-top: solid 1px #999;
  }

  .l-footer__main-link:not(.js-menu-drawer) {
    -webkit-box-align: center;
    -ms-flex-align: center;
    display: grid;
    grid-template-columns: auto 9px;
    align-items: center;
    padding: 15px 20px;
    border-top: solid 1px #999;
  }

  .l-footer__main-link:not(.js-menu-drawer) .arrow {
    fill: #999;
    display: block;
    width: 9px;
    height: 9px;
  }

  .l-footer__main-link.js-menu-drawer {
    -webkit-box-align: center;
    -ms-flex-align: center;
    display: grid;
    grid-template-columns: auto 20px;
    align-items: center;
    padding: 15px 20px;
  }

  .l-footer__main-link.js-menu-drawer .toggle {
    position: relative;
    aspect-ratio: 1;
    width: 20px;
    border-radius: var(--round);
    background-color: var(--c-main);
  }

  .l-footer__main-link.js-menu-drawer .toggle::before,
  .l-footer__main-link.js-menu-drawer .toggle::after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 8px;
    height: 2px;
    translate: -50% -50%;
    background-color: var(--c-base);
    content: "";
  }

  .l-footer__main-link.js-menu-drawer .toggle::after {
    -webkit-transition: rotate 0.3s;
    rotate: 90deg;
    transition: rotate 0.3s;
  }

  .l-footer__main-link.js-menu-drawer.is-open .toggle::after {
    rotate: 0deg;
  }

  .l-footer__list {
    display: none;
    margin-top: 0;
    gap: 0;
    border-top: solid 1px #999;
  }

  .l-footer__item:not(:first-of-type) {
    border-top: solid 1px #999;
  }

  .l-footer__item-link {
    -webkit-box-align: center;
    -ms-flex-align: center;
    display: grid;
    grid-template-columns: auto 9px;
    align-items: center;
    padding: 17px 20px 17px 40px;
    background-color: #f7f7f7;
    color: var(--text-main);
    font-weight: 400;
    font-size: 1.2rem;
  }

  .l-footer__item-link .arrow {
    fill: #999;
    display: block;
    width: 9px;
    height: 9px;
  }

  .l-footer__bottom-list {
    margin-top: 0;
    gap: 0;
    border-bottom: solid 1px #999;
  }

  .l-footer__bottom-item {
    width: calc(50% - 0.5px);
    border-top: solid 1px #999;
  }

  .l-footer__bottom-item:nth-child(even) {
    border-left: solid 1px #999;
  }

  .l-footer__bottom-link {
    -webkit-box-align: center;
    -ms-flex-align: center;
    display: grid;
    grid-template-columns: auto 9px;
    align-items: center;
    height: 100%;
    padding: 18px 20px;
    font-size: 1rem;
  }

  .l-footer__bottom-link .arrow {
    fill: #999;
    display: block;
    width: 9px;
    height: 9px;
  }

  .l-footer__copyright {
    margin-top: 122px;
    padding: 0 20px;
  }

  .l-header {
    height: 50px;
  }

  .l-header__logo.is-scroll {
    width: 60px;
  }

  .l-header__logo.is-scroll img {
    width: 32px;
  }

  .l-header__inner {
    height: 50px;
    padding: 0 17px;
  }

  .l-header__nav {
    display: none;
  }

  .l-header__sub-list {
    display: none;
  }

  .l-header__burger {
    display: grid;
  }

  .l-header__menu {
    display: block;
  }

  .p-about__bg {
    top: 0;
  }

  .p-about-intro__copy {
    font-size: 5rem;
  }

  .p-about-model__container {
    padding: 60px 80px 0;
  }

  .p-about-model__container::before {
    aspect-ratio: 1200/650;
  }

  .p-about-model__heading {
    font-size: 2.4rem;
  }

  .p-about-value,
  .p-about-sub,
  .p-about-cvp {
    height: auto;
  }

  .p-about-value__inner,
  .p-about-sub__inner,
  .p-about-cvp__inner {
    position: static;
  }

  .p-about-value {
    border: none;
  }

  .p-about-value__inner {
    grid-template-columns: minmax(0, 1fr);
  }

  .p-about-value__head {
    aspect-ratio: 4/3;
    background-image: url(../img/about/sp/bg-values.webp);
  }

  .p-about-value__heading {
    font-size: 6rem;
  }

  .p-about-value__body {
    padding: 40px;
  }

  .p-about-sub__container {
    grid-template-columns: minmax(0, 1fr);
  }

  .p-about-sub__head {
    aspect-ratio: 4/3;
    padding: 0 60px;
  }

  .p-about-sub__head--resource {
    background-image: url(../img/about/sp/bg-resource.webp);
  }

  .p-about-sub__head--process {
    background-image: url(../img/about/sp/bg-process.webp);
  }

  .p-about-sub__heading {
    font-size: 4.8rem;
  }

  .p-about-sub__list {
    min-height: 0;
  }

  .p-about-cvp {
    margin-top: 0;
    border: none;
  }

  .p-about-cvp__inner {
    grid-template-columns: minmax(0, 1fr);
  }

  .p-about-cvp__head {
    aspect-ratio: 4/3;
    background-image: url(../img/about/sp/bg-cvp.webp);
  }

  .p-about-cvp__heading {
    font-size: 6rem;
  }

  .p-about-cvp__body {
    padding: 40px;
  }

  .p-accounts__item {
    grid-template-columns: 140px 160px minmax(0, 1fr);
  }

  .p-business__intro-text {
    font-size: 1.8rem;
  }

  .p-business__container {
    margin-top: 120px;
  }

  .p-business__wrapper {
    gap: 20px 40px;
  }

  .p-businessreport__item {
    grid-template-columns: 140px minmax(0, 1fr);
  }

  .p-calendar__item {
    grid-template-columns: 140px minmax(0, 1fr);
  }

  .p-company-message__heading {
    font-size: 3.2rem;
  }

  .p-company-message__title {
    font-size: 2.6rem;
    white-space: wrap;
  }

  .p-company__container {
    gap: 0 40px;
  }

  .p-company__box:not(:nth-of-type(1)):not(:nth-of-type(2)) {
    margin-top: 120px;
  }

  .p-compliance__container {
    display: block;
  }

  .p-customer__container {
    grid-template-columns: 1fr;
  }

  .p-disclosure__heading {
    font-size: 3rem;
  }

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

  .p-documents__item {
    grid-template-columns: 140px minmax(0, 1fr);
  }

  .p-dx__intro-text {
    font-size: 1.8rem;
  }

  .p-dx__wrapper {
    grid-template-columns: minmax(0, 1fr);
  }

  .p-dx__info {
    padding: 40px 20px 60px;
  }

  .p-dx__info-button {
    margin-inline: auto;
  }

  .p-electron__item {
    grid-template-columns: 140px minmax(0, 1fr);
  }

  .p-employee__container {
    display: block;
  }

  .p-employee-wellbeing__box-item {
    -webkit-column-gap: 58px;
    -moz-column-gap: 58px;
    column-gap: 58px;
  }

  .p-environment__container {
    display: block;
  }

  .p-faq__inner {
    grid-template-columns: 1fr;
  }

  .p-global-bases__heading {
    font-size: 3.2rem;
  }

  .p-global-bases__wrapper {
    padding: 0 20px;
  }

  .p-governance__wrapper {
    gap: 40px 20px;
  }

  .p-governance__box-title {
    margin-top: 15px;
    font-size: 1.8rem;
  }

  .p-group__container {
    gap: 0 40px;
  }

  .p-highlight__subheading {
    margin-left: 0;
  }

  .p-highlight__table-wrapper {
    padding: 0;
  }

  .p-highlight__table th.head:first-child {
    width: 240px;
  }

  .p-highlight__graph {
    grid-template-columns: minmax(0, 1fr);
    padding: 0;
  }

  .p-information__inner {
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 30px 20px;
  }

  .p-information__wrapper {
    -webkit-column-gap: 20px;
    -moz-column-gap: 20px;
    grid-template-columns: 220px 1fr;
    column-gap: 20px;
  }

  .p-inquiry__container {
    gap: 120px 50px;
  }

  .p-inquiry__title {
    font-size: 2.4rem;
  }

  .p-inquiry__button-wrap {
    grid-template-columns: minmax(0, 1fr);
    margin-top: 30px;
  }

  .p-inquiry__button-wrap .p-inquiry__button {
    margin-top: 0;
  }

  .p-integrated-reports__item-link {
    -webkit-column-gap: 20px;
    -moz-column-gap: 20px;
    column-gap: 20px;
  }

  .p-ir-mv__inner {
    place-items: start;
  }

  .p-ir-mv__title {
    margin-top: 55px;
  }

  .p-ir__chart #tcs_mini {
    max-width: 320px;
  }

  .p-ir__container {
    gap: 120px 30px;
  }

  .p-ir__latest-heading,
  .p-ir__news-heading,
  .p-ir__report-heading,
  .p-ir__column-title {
    font-size: 2.6rem;
  }

  .p-ir__latest {
    padding: 30px 40px;
  }

  .p-ir__column-heading .title {
    font-size: 2.6rem;
  }

  .p-ir__menu {
    grid-template-columns: repeat(2, minmax(min(224px, 100%), 270px));
  }

  .p-library-documents__item {
    grid-template-columns: 140px minmax(0, 1fr);
  }

  .p-library__latest {
    padding: 30px 40px;
  }

  .p-library__latest-heading {
    font-size: 2.6rem;
  }

  .p-library__item:not(.p-library__item--col02) {
    grid-template-columns: 140px 180px minmax(0, 1fr);
  }

  .p-marketing__intro-text {
    font-size: 1.8rem;
  }

  .p-marketing__image-link {
    max-width: 158px;
  }

  .p-marketing__image-icon img {
    max-width: 50px;
  }

  .p-marketing__image-icon figcaption {
    font-size: 1.4rem;
  }

  .p-marketing__wrapper {
    grid-template-columns: minmax(0, 1fr);
  }

  .p-marketing__info {
    padding: 50px 20px 60px;
  }

  .p-network__lead {
    font-size: 1.8rem;
  }

  .p-network__tabs {
    margin-top: 100px;
  }

  .p-network__tab {
    padding: 22px 10px;
    font-size: 2rem;
  }

  .p-network-domestic__heading,
  .p-network-overseas__heading {
    font-size: 3.2rem;
  }

  .p-network-overseas__wrapper {
    padding: 0 20px;
  }

  .p-officer-member__position {
    font-size: 1.4rem;
  }

  .p-officer-member__button {
    margin-top: 20px;
  }

  .p-officer-member__wrapper--col02 {
    margin-top: 60px;
    gap: 60px;
  }

  .p-officer-member__wrapper--col03 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 60px;
  }

  .p-officer-member__wrapper--col04 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 60px;
  }

  .p-officer-member__body--director {
    display: block;
  }

  .p-partner__container {
    grid-template-columns: 1fr;
  }

  .p-personal__heading {
    font-size: 3rem;
  }

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

  .p-presentation__item {
    grid-template-columns: 140px 160px minmax(0, 1fr);
  }

  .p-privacypolicy__heading {
    margin-top: 80px;
    font-size: 3rem;
  }

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

  .p-profile__item {
    grid-template-columns: 200px 1fr;
  }

  .p-profile__child-item {
    grid-template-columns: 200px 1fr;
  }

  .p-recruit-about-intro__heading {
    font-size: 4.6rem;
  }

  .p-recruit-about-message__heading {
    font-size: 3rem;
  }

  .p-recruit-about-message__wrapper {
    gap: 30px;
  }

  .p-recruit-about-culture__heading {
    font-size: 3rem;
  }

  .p-recruit__container {
    gap: 0 60px;
  }

  .p-recruit__box:not(:nth-child(1)):not(:nth-of-type(2)) {
    margin-top: 120px;
  }

  .p-recruit__heading {
    font-size: 2.4rem;
  }

  .p-recruit__heading .sub {
    font-size: 1.4rem;
  }

  .p-report-mv__title {
    font-size: 5rem;
  }

  .p-report__item {
    grid-template-columns: 140px 160px minmax(0, 1fr);
  }

  .p-security__heading {
    margin-top: 80px;
    font-size: 3rem;
  }

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

  .p-selection__intro-text {
    font-size: 1.8rem;
  }

  .p-sitemap__container {
    -webkit-column-gap: 50px;
    -moz-column-gap: 50px;
    column-gap: 50px;
  }

  .p-sitemap__list--sub {
    gap: 20px 50px;
  }

  .p-social__wrapper {
    gap: 40px 20px;
  }

  .p-social__box-title {
    margin-top: 15px;
    font-size: 1.8rem;
  }

  .p-socialmedia__heading {
    margin-top: 80px;
    font-size: 3rem;
  }

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

  .p-stock-information__inner {
    display: block;
  }

  .p-sustainability-commitment__container {
    padding-left: 50px;
  }

  .p-sustainability-commitment__title {
    right: 0;
    font-size: 2.6rem;
  }

  .p-sustainability-materiality__subheading {
    -webkit-column-gap: 10px;
    -moz-column-gap: 10px;
    column-gap: 10px;
    margin-top: 30px;
    padding: 0;
    font-size: 1.8rem;
  }

  .p-sustainability-materiality__grid {
    padding: 0;
    gap: 30px;
  }

  .p-top-mv__slide01 {
    background-image: url(../img/top/mv01_lg.webp);
  }

  .p-top-mv__slide02 {
    background-image: url(../img/top/mv02_lg.webp);
  }

  .p-top-mv__wrapper--slide01 {
    position: absolute;
    top: 170px;
    right: 20px;
    padding: 0;
  }

  .p-top-mv__title {
    font-size: 5.6rem;
  }

  .p-top-mv__wrapper--slide02 {
    grid-template-rows: repeat(4, -webkit-max-content);
    grid-template-rows: repeat(4, max-content);
    grid-template-columns: 1fr;
    place-items: start;
    width: 100%;
    gap: 0;
  }

  .p-top-mv__subheading {
    line-height: 1.5;
    letter-spacing: 1.6px;
  }

  .p-top-mv__text {
    grid-row: 2/3;
    grid-column: 1/2;
    margin-top: 60px;
  }

  .p-top-mv__button--slide02 {
    grid-row: 3/4;
    grid-column: 1/2;
    margin-top: 40px;
  }

  .p-top-mv__heading--slide04,
  .p-top-mv__heading--slide05 {
    font-size: 4rem;
  }

  .p-top-about {
    margin-top: 0;
    padding: 80px 0 0;
  }

  .p-top-about__container {
    grid-template-rows: -webkit-max-content -webkit-max-content -webkit-max-content -webkit-max-content;
    grid-template-rows: max-content max-content max-content max-content;
    grid-template-columns: 1fr;
    gap: 0;
  }

  .p-top-about__heading {
    grid-row: 1/2;
    grid-column: 1/2;
    margin-top: 0;
  }

  .p-top-about__image {
    grid-row: 2/3;
    width: 100%;
    max-width: 700px;
    margin: 10px auto 0;
  }

  .p-top-about__text {
    grid-row: 3/4;
    grid-column: 1/2;
    max-width: 100%;
    margin-top: 0;
  }

  .p-top-about__button {
    grid-row: 4/5;
    grid-column: 1/2;
    margin: 60px auto 0;
  }

  .p-top-ir__wrapper {
    display: block;
  }

  .p-top-ir__box {
    position: absolute;
    left: 50%;
    width: 100%;
    max-width: 570px;
    margin-top: 30px;
    translate: -50% 0;
  }

  .p-top-ir__container {
    grid-template-columns: minmax(0, 1fr);
    margin-top: 145px;
  }

  .p-top-information__wrapper {
    -webkit-column-gap: 20px;
    -moz-column-gap: 20px;
    grid-template-columns: 220px 1fr;
    column-gap: 20px;
  }

  .p-top-menu__container {
    grid-template-columns: minmax(0, 1fr);
  }

  .p-top-menu__box {
    aspect-ratio: initial;
    height: auto;
    padding: 70px 80px 80px;
  }

  .p-top-menu__box::before {
    -webkit-clip-path: inset(0 0 0 0);
    -webkit-filter: brightness(0.5);
    clip-path: inset(0 0 0 0);
    filter: brightness(0.5);
  }

  .p-top-menu__head {
    color: var(--c-base);
  }

  .p-top-menu__text {
    color: var(--c-base);
  }

  .p-top__menu-button {
    display: grid;
  }

  .p-top-menu__wrapper {
    display: none;
    margin-top: 0px;
    opacity: 1;
  }

  .p-top-recruit {
    padding-bottom: 0;
    overflow: hidden;
    background-color: var(--c-base);
  }

  .p-top-recruit__text {
    max-width: 100%;
    margin-top: 30px;
  }

  .p-top-recruit__button {
    margin-inline: auto;
  }

  .p-top-recruit__image {
    position: static;
    aspect-ratio: 380/300;
    width: 100vw;
    max-width: 100vw;
    height: auto;
    margin-top: -23px;
    margin-top: -23px;
    margin-inline: calc(50% - 50vw);
  }

  .u-db-lg-max {
    display: block;
  }

  .u-dn-lg-max {
    display: none;
  }
}

@media screen and (max-width: 900px) {
  .p-global-bases__wrapper:has(.p-global-bases__image) {
    grid-template-columns: auto;
  }

  .p-global-bases__child-head {
    display: contents;
  }

  .p-global-bases__child-name {
    grid-row: 1/2;
    margin-bottom: 10px;
  }

  .p-global-bases__child-address {
    grid-row: 2/3;
    margin-top: 0;
    margin-bottom: 5px;
  }

  .p-global-bases__child-tel {
    grid-row: auto;
  }

  .p-global-bases__item {
    display: grid;
  }

  .p-global-bases__item-head {
    display: contents;
  }

  .p-global-bases__subheading {
    grid-row: 1/2;
  }

  .p-global-bases__map-link {
    grid-row: 5/6;
    margin: 10px auto 0 0;
    margin-top: 10px;
  }

  .p-global-bases__child-map-link {
    grid-row: 4/5;
    margin: 10px auto 0 0;
  }

  .p-global-bases__address {
    grid-row: 3/4;
  }

  .p-global-bases__tel {
    grid-row: 4/5;
    margin-top: 5px;
  }

  .p-global-bases__link {
    grid-row: 2/3;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }

  .p-network-overseas__wrapper:has(.p-network-overseas__image) {
    grid-template-columns: auto;
  }

  .p-network-overseas__child-head {
    display: contents;
  }

  .p-network-overseas__child-name {
    grid-row: 1/2;
    margin-bottom: 10px;
  }

  .p-network-overseas__child-address {
    grid-row: 2/3;
    margin-top: 0;
    margin-bottom: 5px;
  }

  .p-network-overseas__child-tel {
    grid-row: auto;
  }

  .p-network-overseas__item {
    display: grid;
  }

  .p-network-overseas__item-head {
    display: contents;
  }

  .p-network-overseas__subheading {
    grid-row: 1/2;
  }

  .p-network-overseas__map-link {
    grid-row: 5/6;
    margin: 10px auto 0 0;
    margin-top: 10px;
  }

  .p-network-overseas__child-map-link {
    grid-row: 4/5;
    margin: 10px auto 0 0;
  }

  .p-network-overseas__address {
    grid-row: 3/4;
  }

  .p-network-overseas__tel {
    grid-row: 4/5;
    margin-top: 5px;
  }

  .p-network-overseas__link {
    grid-row: 2/3;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}

@media screen and (max-width: 830px) {
  .p-stock-price__iframe {
    height: 1340px;
  }
}

@media screen and (max-width: 768px) {
  p {
    font-size: 1.4rem;
  }

  .c-business-button {
    z-index: 2;
    position: fixed;
    right: 0;
    bottom: 110px;
    grid-template-columns: 1fr 9px;
    max-width: 190px;
  }

  .c-business-button.c-business-button:focus-visible .c-business-button__arrow {
    background-color: var(--c-main);
  }

  .c-business-button.c-business-button:focus-visible .c-business-button__arrows {
    -webkit-transform: initial;
    transform: initial;
  }

  .c-business-button__text {
    font-size: 1.4rem;
    text-align: left;
  }

  .c-business-button__arrow {
    width: 9px;
    border: none;
  }

  .c-business-modal__container {
    aspect-ratio: 1/2;
    width: calc(100% - 40px);
    height: calc(100dvh - 90px);
  }

  .c-business-modal__wrapper {
    padding: 40px 20px;
  }

  .c-business-modal__heading {
    padding-left: 13px;
    border-width: 3px;
    font-size: 1.6rem;
  }

  .c-business-modal__heading .small {
    font-size: 1.2rem;
  }

  .c-business-modal__image {
    margin-top: 30px;
  }

  .c-button-primary {
    max-width: 270px;
  }

  .c-button__wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-top: 60px;
  }

  .c-column-container {
    row-gap: 120px;
    margin-top: 80px;
  }

  .c-column {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 20px;
  }

  .c-column--bg {
    margin-top: -60px;
    padding: 60px 0;
  }

  .c-column__number {
    font-size: 1.2rem;
  }

  .c-column__number .num {
    font-size: 4.8rem;
  }

  .c-column__heading {
    margin-top: 20px;
    font-size: 2.4rem;
    letter-spacing: 1.2px;
  }

  .p-column__text {
    margin-top: 20px;
  }

  .c-column__tags {
    margin-top: 20px;
  }

  .c-column__image {
    grid-row: 2/3;
    grid-column: 1/2;
  }

  .c-column__button {
    grid-row: 3/4;
    max-width: 300px;
    margin-top: 10px;
    margin-inline: auto;
  }

  .c-column__link-text {
    margin-top: 20px;
  }

  .c-form__container {
    padding: 0;
    border-radius: 0px;
    background-color: transparent;
  }

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

  .c-form__title {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px 10px;
    border-bottom: solid 1px #ddd;
    background-color: var(--bg-main);
    font-size: 1.4rem;
  }

  .c-form__title br {
    display: none;
  }

  .c-form__title .small {
    font-size: 1rem;
  }

  .c-form__data {
    padding: 20px;
  }

  .c-form input[type=text],
  .c-form input[type=email],
  .c-form textarea {
    padding: 9px 10px;
    font-size: 1.4rem;
  }

  .c-form input[type=text]::-webkit-input-placeholder,
  .c-form input[type=email]::-webkit-input-placeholder,
  .c-form textarea::-webkit-input-placeholder {
    font-size: 1.4rem;
  }

  .c-form input[type=text]::-moz-placeholder,
  .c-form input[type=email]::-moz-placeholder,
  .c-form textarea::-moz-placeholder {
    font-size: 1.4rem;
  }

  .c-form input[type=text]:-ms-input-placeholder,
  .c-form input[type=email]:-ms-input-placeholder,
  .c-form textarea:-ms-input-placeholder {
    font-size: 1.4rem;
  }

  .c-form input[type=text]::-ms-input-placeholder,
  .c-form input[type=email]::-ms-input-placeholder,
  .c-form textarea::-ms-input-placeholder {
    font-size: 1.4rem;
  }

  .c-form input[type=text]::placeholder,
  .c-form input[type=email]::placeholder,
  .c-form textarea::placeholder {
    font-size: 1.4rem;
  }

  .c-form textarea {
    height: 140px;
  }

  .c-form__radio-label,
  .c-form__checkbox-label {
    font-size: 1.4rem;
    line-height: 1.7857142857;
  }

  .c-form__radio-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    flex-direction: column;
    align-items: start;
    gap: 10px 30px;
  }

  .c-form__button-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    flex-direction: column;
    align-items: center;
    margin-top: 30px;
  }

  .c-form__address-prefecture .head {
    font-size: 1.4rem;
  }

  .c-form__address-select-wrap::after {
    right: 10px;
  }

  .c-form__address-select {
    padding: 9px 20px 9px 10px;
    font-size: 1.4rem;
  }

  .c-heading {
    font-size: 2.8rem;
  }

  .c-inquiry-form {
    padding: 60px 0 80px;
  }

  .c-inquiry-form__text--thanks {
    margin-top: 30px;
  }

  .c-inquiry-form__button {
    margin: 20px auto 0;
  }

  .c-library-menu {
    grid-template-columns: 295px;
    margin: 50px auto 0;
    gap: 15px;
  }

  .c-library-menu__link {
    padding: 18px 10px;
  }

  .c-lower-mv {
    height: 240px;
    margin-bottom: 10px;
    background-image: url(../img/common/sp/mv-lower.webp);
  }

  .c-lower-mv__title {
    font-size: 3.6rem;
  }

  .c-lower-mv__title .sub {
    margin-top: 15px;
    font-size: 1.6rem;
  }

  .c-more-contents {
    padding: 60px 0;
  }

  .c-more-contents__inner {
    padding-left: 0;
  }

  .c-more-contents__container {
    grid-template-columns: minmax(0, 1fr);
  }

  .c-more-contents__head {
    display: contents;
  }

  .c-more-contents__heading {
    grid-row: 1/2;
    grid-column: 1/2;
    padding: 0 20px;
    font-size: 3.2rem;
  }

  .c-more-contents__heading .sub {
    margin-top: 5px;
    font-size: 1.4rem;
  }

  .c-more-contents__body {
    grid-row: 2/3;
    grid-column: 1/2;
    margin-top: 40px;
    border-top: solid 1px var(--border-main);
    border-bottom: solid 1px var(--border-main);
  }

  .c-more-contents__list--col01 {
    grid-template-columns: repeat(1, min(340px, 100%));
  }

  .c-more-contents__list--col02 {
    grid-template-columns: repeat(2, min(340px, 100%));
  }

  .c-more-contents__list--col03 {
    grid-template-columns: repeat(3, min(340px, 100%));
  }

  .c-more-contents__item {
    min-height: 462px;
    padding: 40px 20px;
    border-right: solid 1px var(--border-main);
    border-left: solid 1px var(--border-main);
  }

  .c-more-contents__item.is-active::before {
    width: 340px;
  }

  .c-more-contents__title {
    margin-top: 20px;
    font-size: 2rem;
    line-height: 1.5;
  }

  .c-more-contents__button {
    max-width: 300px;
  }

  .c-more-contents__button-wrapper {
    grid-row: 3/4;
    grid-column: 1/2;
    margin-top: 40px;
  }

  .c-more-contents__button--reverse {
    max-width: 300px;
    margin-inline: auto;
  }

  .c-post p {
    margin: 30px 0;
    font-size: 1.4rem;
  }

  .c-post h1 {
    font-size: 2.4rem;
  }

  .c-post h2 {
    margin: 30px 0;
    font-size: 2rem;
    line-height: 1.5;
  }

  .c-post h3 {
    margin: 30px 0;
    font-size: 1.8rem;
    line-height: 1.5;
  }

  .c-post h4 {
    margin: 30px 0;
  }

  .c-post h5 {
    margin: 30px 0;
  }

  .c-post h6 {
    margin: 30px 0;
    font-size: 1.4rem;
  }

  .c-post table {
    min-width: 800px;
  }

  .c-post th,
  .c-post td {
    font-size: 1.4rem;
  }

  .c-post .wp-block-media-text {
    grid-template-columns: 100%;
  }

  .c-post .wp-block-gallery {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 0;
  }

  .c-post .wp-block-image {
    margin: 15px 0;
  }

  .c-post .wp-block-columns.is-layout-flex {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .c-post .wp-block-columns.is-layout-flex > .wp-block-column {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
  }

  .c-post .wp-block-media-text .wp-block-media-text__content {
    grid-row: 2;
    grid-column: 1;
  }

  .c-post .wp-block-media-text {
    grid-template-columns: 100% !important;
  }

  .c-post th,
  .c-post td {
    font-size: 1.4rem;
  }

  .c-post .wp-block-button.has-custom-width.wp-block-button__width-75,
  .c-post .wp-block-button.has-custom-width.wp-block-button__width-50,
  .c-post .wp-block-button.has-custom-width.wp-block-button__width-25 {
    width: auto;
  }

  .c-totop {
    bottom: 30px;
  }

  .l-bottom-menu {
    padding: 50px 0;
  }

  .l-bottom-menu__list {
    gap: 20px;
  }

  .l-bottom-menu__item {
    width: 150px;
    min-width: 150px;
  }

  .l-bottom-menu__text {
    font-size: 1.4rem;
  }

  .l-footer-alert__inner {
    display: block;
    padding: 50px 20px 30px;
  }

  .l-footer-alert__button {
    display: block;
    margin: 15px auto 0;
    text-align: center;
  }

  .p-about-mv {
    margin-bottom: 0;
  }

  .p-about-mv__title {
    font-size: 4.6rem;
  }

  .p-about-mv__title .sub {
    margin-top: 20px;
    font-size: 1.8rem;
    line-height: 1;
  }

  .p-about__bg {
    width: 100.2666666667vw;
    min-width: 0;
    max-width: 400px;
  }

  .p-about {
    padding-top: 60px;
  }

  .p-about-intro {
    padding-top: 0;
  }

  .p-about-intro__bg {
    bottom: 0;
    width: 700px;
    height: auto;
  }

  .p-about-intro__copy {
    font-size: 3.2rem;
    line-height: 1.28125;
  }

  .p-about-intro__lead {
    margin-top: 30px;
  }

  .p-about-model {
    margin-top: 80px;
    padding-bottom: 75px;
  }

  .p-about-model__container {
    padding: 60px 0 0;
  }

  .p-about-model__container::before {
    aspect-ratio: initial;
    height: 400px;
  }

  .p-about-model__heading {
    font-size: 2.2rem;
    text-align: center;
  }

  .p-about-model__image {
    max-width: 400px;
    margin-top: 20px;
    margin-inline: auto;
  }

  .p-about-value__head {
    padding: 0 20px;
  }

  .p-about-value__head {
    padding: 0 20px;
  }

  .p-about-value__heading {
    font-size: 4.2rem;
  }

  .p-about-value__heading .sub {
    margin-top: 10px;
    font-size: 1.8rem;
  }

  .p-about-value__lead {
    font-size: 2rem;
  }

  .p-about-value__body {
    padding: 40px 20px;
  }

  .p-about-sub__head {
    padding: 0 20px;
  }

  .p-about-sub__heading {
    font-size: 4.2rem;
  }

  .p-about-sub__heading .sub {
    font-size: 1.8rem;
  }

  .p-about-sub__lead {
    margin-top: 30px;
    font-size: 2rem;
  }

  .p-about-sub__body {
    padding: 50px 20px;
  }

  .p-about-sub__item {
    font-size: 1.4rem;
  }

  .p-about-sub__button-wrapper {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    justify-content: center;
    margin-top: 30px;
  }

  .p-about-sub__button {
    max-width: 300px;
  }

  .p-about-cvp__head {
    padding: 0 20px;
  }

  .p-about-cvp__heading {
    font-size: 4.2rem;
  }

  .p-about-cvp__heading .sub {
    margin-top: 10px;
    font-size: 1.8rem;
  }

  .p-about-cvp__lead {
    margin-top: 30px;
    font-size: 2rem;
  }

  .p-about-cvp__body {
    padding: 40px 20px;
  }

  .p-accounts {
    padding: 60px 0 80px;
  }

  .p-accounts__container--archive {
    padding-top: 120px;
  }

  .p-accounts__wrapper:first-of-type {
    margin-top: 30px;
  }

  .p-accounts__subheading {
    padding-left: 13px;
    border-width: 3px;
    font-size: 1.6rem;
  }

  .p-accounts__subheading .sub {
    font-size: 1.2rem;
  }

  .p-accounts__head {
    grid-template-columns: 1fr 18px;
  }

  .p-accounts__head::before,
  .p-accounts__head::after {
    width: 18px;
  }

  .p-accounts__list {
    margin-top: 30px;
  }

  .p-accounts__item {
    grid-template-columns: -webkit-max-content -webkit-max-content 1fr;
    grid-template-columns: max-content max-content 1fr;
    row-gap: 20px;
    padding: 18px 25px 18px 20px;
  }

  .p-accounts__date {
    grid-row: 1/2;
    grid-column: 1/2;
    font-size: 1.2rem;
  }

  .p-accounts__term {
    grid-row: 1/2;
    grid-column: 2/3;
    min-width: 100px;
    font-size: 1.2rem;
  }

  .p-accounts__title {
    grid-row: 2/3;
    grid-column: 1/4;
    font-size: 1.4rem;
  }

  .p-accounts__button {
    margin: 60px auto 0;
  }

  .p-business {
    padding: 60px 0 80px;
  }

  .p-business__intro-text {
    font-size: 1.4rem;
  }

  .p-business__container {
    margin-top: 80px;
  }

  .p-business__wrapper {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 20px;
  }

  .p-business__wrapper--global {
    margin-top: -40px;
    padding: 60px 0;
  }

  .p-business__link {
    padding: 9px 15px;
  }

  .p-business__text {
    margin-top: 20px;
  }

  .p-business__image {
    grid-row: 2/3;
    grid-column: 1/2;
  }

  .p-business__button {
    grid-row: 3/4;
    margin-top: 10px;
    margin-inline: auto;
  }

  .p-businessreport {
    padding: 60px 0 80px;
  }

  .p-businessreport__container--archive {
    padding-top: 120px;
  }

  .p-businessreport__wrapper:first-of-type {
    margin-top: 30px;
  }

  .p-businessreport__subheading {
    padding-left: 13px;
    border-width: 3px;
    font-size: 1.6rem;
  }

  .p-businessreport__subheading .sub {
    font-size: 1.2rem;
  }

  .p-businessreport__head {
    grid-template-columns: 1fr 18px;
  }

  .p-businessreport__head::before,
  .p-businessreport__head::after {
    width: 18px;
  }

  .p-businessreport__list {
    margin-top: 30px;
  }

  .p-businessreport__item {
    grid-template-columns: -webkit-max-content 1fr;
    grid-template-columns: max-content 1fr;
    row-gap: 20px;
    padding: 18px 25px 18px 20px;
  }

  .p-businessreport__date {
    grid-row: 1/2;
    grid-column: 1/2;
    font-size: 1.2rem;
  }

  .p-businessreport__title {
    grid-row: 2/3;
    grid-column: 1/4;
    font-size: 1.4rem;
  }

  .p-businessreport__button {
    margin: 60px auto 0;
  }

  .p-calendar {
    padding: 60px 0 80px;
  }

  .p-calendar__container--archive {
    padding-top: 120px;
  }

  .p-calendar__wrapper:first-of-type {
    margin-top: 30px;
  }

  .p-calendar__subheading {
    padding-left: 13px;
    border-width: 3px;
    font-size: 1.6rem;
  }

  .p-calendar__subheading .sub {
    font-size: 1.2rem;
  }

  .p-calendar__head {
    grid-template-columns: 1fr 18px;
  }

  .p-calendar__head::before,
  .p-calendar__head::after {
    width: 18px;
  }

  .p-calendar__list {
    margin-top: 30px;
  }

  .p-calendar__item {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 10px;
    padding: 18px 25px 18px 20px;
  }

  .p-calendar__date {
    grid-row: 1/2;
    grid-column: 1/2;
    font-size: 1.2rem;
  }

  .p-calendar__button {
    margin: 60px auto 0;
  }

  .p-chukei {
    padding: 60px 0 80px;
  }

  .p-chukei-intro::before {
    bottom: -140px;
    width: 100%;
    height: 100%;
    background-image: url(../img/ir/chukei/sp/bg-chukei.webp);
  }

  .p-chukei-intro__heading {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-bottom: 40px;
    font-size: 2.4rem;
    line-height: 1.5;
    letter-spacing: 1.2px;
  }

  .p-chukei-intro__heading .logo {
    max-width: 335px;
  }

  .p-chukei-intro__lead {
    font-size: 1.4rem;
  }

  .p-chukei-overview {
    padding-top: 60px;
  }

  .p-chukei-overview__intro-text {
    margin-top: 30px;
    padding: 0;
  }

  .p-chukei-overview__container {
    margin-top: 60px;
  }

  .p-chukei-overview__subheading {
    font-size: 1.6rem;
    letter-spacing: 0.8px;
  }

  .p-chukei-overview__text {
    margin-top: 20px;
    padding: 0 20px;
  }

  .p-chukei-overview__list {
    margin: 10px 0 0 1.5em;
    padding: 0 20px;
  }

  .p-chukei-overview__item {
    font-size: 1.4rem;
  }

  .p-chukei-overview__image--first {
    width: 100%;
    max-width: 100%;
    margin-top: 50px;
  }

  .p-chukei-overview__image--second,
  .p-chukei-overview__image--third {
    width: 100%;
    max-width: 100%;
  }

  .p-chukei-overview__image--second {
    margin-top: 40px;
  }

  .p-chukei-overview__image--third {
    margin-top: 80px;
  }

  .p-chukei-overview__group {
    margin-top: 40px;
  }

  .p-chukei-overview__group-heading {
    font-size: 1.4rem;
    line-height: 2;
  }

  .p-chukei-overview__group-text {
    font-size: 1.4rem;
    line-height: 2;
  }

  .p-chukei-overview__table-wrapper {
    margin-top: 10px;
    padding: 0 0 0 20px;
  }

  .p-chukei-overview__table th,
  .p-chukei-overview__table td {
    padding: 14px 10px;
    font-size: 1.4rem;
  }

  .p-company-message {
    padding: 60px 0 80px;
  }

  .p-company-message__heading {
    font-size: 2.8rem;
  }

  .p-company-message__heading .logo {
    max-width: 480px;
  }

  .p-company-message__heading .sub {
    margin-bottom: 20px;
  }

  .p-company-message__container {
    grid-template-columns: 1fr;
    margin-top: 80px;
  }

  .p-company-message__title {
    position: static;
    width: 100%;
    margin-top: 30px;
    translate: 0 0;
  }

  .p-company-message__text {
    margin-top: 50px;
  }

  .p-company-message__name {
    margin-top: 60px;
  }

  .p-company {
    padding: 60px 0 80px;
  }

  .p-company__container {
    grid-template-columns: 1fr;
    gap: 80px 0;
  }

  .p-company__box {
    grid-template-rows: auto;
  }

  .p-company__box:not(:nth-of-type(1)):not(:nth-of-type(2)) {
    margin-top: 0;
  }

  .p-company__box-title {
    margin-top: 25px;
    font-size: 2.4rem;
  }

  .p-company__box-title .sub {
    font-size: 1.4rem;
  }

  .p-company__box-text {
    margin-top: 20px;
  }

  .p-company__button {
    max-width: 272px;
    margin: 20px auto 0;
  }

  .p-compliance {
    padding: 60px 0 80px;
  }

  .p-compliance-policy__subheading {
    margin-top: 40px;
    padding-left: 13px;
    border-width: 3px;
    font-size: 1.6rem;
    line-height: 1.5;
    letter-spacing: 0.8px;
  }

  .p-compliance-policy__text {
    margin-top: 30px;
  }

  .p-compliance-policy__figure {
    margin-top: 20px;
  }

  .p-compliance-policy__figure.js-scrollable::-webkit-scrollbar {
    height: 4px;
    background-color: #d9d9d9;
  }

  .p-compliance-policy__figure.js-scrollable::-webkit-scrollbar-track {
    height: 4px;
    background-color: #d9d9d9;
  }

  .p-compliance-policy__figure.js-scrollable::-webkit-scrollbar-thumb {
    height: 4px;
    background-color: rgba(118, 118, 118, 0.5);
  }

  .p-compliance-policy__figure.js-scrollable img {
    min-width: 820px;
  }

  .p-compliance-policy__subheading,
  .p-compliance-risk__subheading {
    margin: 40px 0 20px;
    padding-left: 13px;
    border-width: 3px;
    font-size: 1.6rem;
    line-height: 1.5;
    letter-spacing: 0.8px;
  }

  .p-compliance-policy__box-heading,
  .p-compliance-risk__box-heading {
    font-size: 1.4rem;
  }

  .p-compliance-risk-table-wrapper {
    margin-top: 20px;
  }

  .p-compliance-risk-table {
    min-width: 820px;
  }

  .p-compliance-risk-table th {
    padding: 14px 10px;
    font-size: 1.4rem;
  }

  .p-compliance-risk-table td {
    padding: 14px 10px;
    font-size: 1.4rem;
  }

  .p-compliance-risk__plan {
    margin-top: 20px;
    padding: 40px 20px;
  }

  .p-compliance-risk__plan-heading {
    font-size: 1.8rem;
  }

  .p-compliance-risk__plan-list {
    row-gap: 20px;
    margin-top: 20px;
  }

  .p-compliance-risk__plan-item {
    grid-template-columns: minmax(0, 1fr);
  }

  .p-compliance-risk__policy {
    margin-top: 20px;
    padding: 40px 20px;
  }

  .p-compliance-risk__policy-heading {
    font-size: 1.8rem;
  }

  .p-compliance-risk__policy-list {
    row-gap: 20px;
    margin-top: 20px;
  }

  .p-cookie {
    padding: 60px 0 80px;
  }

  .p-cookie-container {
    padding-top: 80px;
  }

  .p-cookie-container:nth-of-type(2) {
    padding-top: 80px;
  }

  .p-cookie-container__heading {
    font-size: 1.6rem;
  }

  .p-cookie-container__text {
    margin-top: 20px;
    padding: 0;
  }

  .p-cookie-container__wrapper {
    margin-top: 20px;
    padding: 0 0 10px;
  }

  .p-cookie-container__head {
    padding: 6px 10px;
    font-size: 1.4rem;
  }

  .p-cookie-container__data {
    padding: 17px 10px;
    font-size: 1.4rem;
  }

  .p-coordination {
    padding: 60px 0 80px;
  }

  .p-coordination__intro-text {
    font-size: 1.4rem;
  }

  .p-corporategovernance {
    padding: 60px 0 80px;
  }

  .p-corporategovernance__container:not(:first-of-type) {
    padding-top: 60px;
  }

  .p-corporategovernance__container:first-of-type {
    padding-top: 30px;
  }

  .p-corporategovernance__subheading {
    margin-bottom: 20px;
    padding-left: 10px;
    border-width: 3px;
    font-size: 1.6rem;
    letter-spacing: 0.8px;
  }

  .p-corporategovernance__contents {
    padding: 0;
  }

  .p-corporategovernance__figure img {
    min-width: 820px;
  }

  .p-corporategovernance__box:not(:first-child) {
    margin-top: 30px;
  }

  .p-corporategovernance__box-heading {
    font-size: 1.4rem;
  }

  .p-corporategovernance__wrapper {
    margin: 40px auto;
    padding: 40px 20px;
  }

  .p-corporategovernance__list {
    margin: 20px auto 0;
  }

  .p-corporategovernance__item {
    font-size: 1.4rem;
  }

  .p-corporategovernance__item:not(:first-child) {
    margin-top: 15px;
  }

  .p-corporategovernance__table th,
  .p-corporategovernance__table td {
    padding: 14px 10px;
  }

  .p-customer {
    padding: 60px 0 80px;
  }

  .p-customer-philosophy__wrapper {
    grid-template-columns: minmax(0, 1fr);
    margin-top: 30px;
  }

  .p-customer-philosophy__image {
    width: 100%;
    max-width: 250px;
    margin-inline: auto;
  }

  .p-customer-policy__text {
    margin-top: 30px;
  }

  .p-customer-policy__list {
    padding: 40px 20px;
  }

  .p-customer-policy__item {
    font-size: 1.4rem;
  }

  .p-custom-management__text {
    margin-top: 30px;
  }

  .p-customer-management__image {
    margin-top: 30px;
  }

  .p-customer-satisfaction__subheading,
  .p-customer-communication__subheading {
    margin-top: 40px;
    padding-left: 13px;
    border-width: 3px;
    font-size: 1.6rem;
    line-height: 1.5;
    letter-spacing: 0.8px;
  }

  .p-customer-satisfaction__text {
    margin-top: 20px;
  }

  .p-customer-satisfaction__wrapper,
  .p-customer-communication__wrapper--col03 {
    margin-top: 20px;
  }

  .p-customer-communication__wrapper--col02 {
    grid-template-columns: minmax(0, 1fr);
    margin-top: 20px;
  }

  .p-customer-communication__subheading + .p-customer-communication__text {
    margin-top: 20px;
  }

  .p-customer__button {
    max-width: 300px;
    margin-top: 80px;
  }

  .p-delivery {
    padding: 60px 0 80px;
  }

  .p-delivery__intro-text {
    font-size: 1.4rem;
  }

  .p-disclosure {
    padding: 60px 0 80px;
  }

  .p-disclosure__heading {
    font-size: 2.4rem;
  }

  .p-disclosure__text {
    margin-top: 30px;
    padding: 0;
  }

  .p-disclosure__text + .p-disclosure__heading {
    margin-top: 80px;
  }

  .p-documents {
    padding: 60px 0 80px;
  }

  .p-documents__container--archive {
    padding-top: 120px;
  }

  .p-documents__wrapper:first-of-type {
    margin-top: 30px;
  }

  .p-documents__subheading {
    padding-left: 13px;
    border-width: 3px;
    font-size: 1.6rem;
  }

  .p-documents__subheading .sub {
    font-size: 1.2rem;
  }

  .p-documents__head {
    grid-template-columns: 1fr 18px;
  }

  .p-documents__head::before,
  .p-documents__head::after {
    width: 18px;
  }

  .p-documents__list {
    margin-top: 30px;
  }

  .p-documents__item {
    grid-template-columns: -webkit-max-content 1fr;
    grid-template-columns: max-content 1fr;
    row-gap: 10px;
    padding: 18px 25px 18px 20px;
  }

  .p-documents__title {
    grid-row: 1/2;
    grid-column: 1/2;
    font-size: 1.4rem;
  }

  .p-documents__data {
    grid-row: 2/3;
    grid-column: 1/4;
    font-size: 1.4rem;
  }

  .p-documents__button {
    margin: 60px auto 0;
  }

  .p-dx {
    padding-top: 60px;
  }

  .p-dx__intro-text {
    font-size: 1.4rem;
  }

  .p-dx__intro-image {
    max-width: 375px;
    margin-top: 40px;
  }

  .p-dx__wrapper {
    margin: 80px calc(50% - 50vw) 0;
  }

  .p-dx__info-title {
    font-size: 2.3rem;
  }

  .p-dx__info-subtitle {
    margin-top: 10px;
    font-size: 1.4rem;
  }

  .p-dx__info-button {
    max-width: 300px;
  }

  .p-electron {
    padding: 60px 0 80px;
  }

  .p-electron__wrapper {
    margin-top: 30px;
    padding: 0;
  }

  .p-electron__list {
    margin-top: 30px;
  }

  .p-electron__item {
    grid-template-columns: -webkit-max-content 1fr;
    grid-template-columns: max-content 1fr;
    row-gap: 20px;
    padding: 18px 25px 18px 20px;
  }

  .p-electron__date {
    grid-row: 1/2;
    grid-column: 1/2;
    font-size: 1.2rem;
  }

  .p-electron__title {
    grid-row: 2/3;
    grid-column: 1/4;
    font-size: 1.4rem;
  }

  .p-electron__heading {
    margin-top: 70px;
    font-size: 2.4rem;
    line-height: 2;
    letter-spacing: 1.2px;
  }

  .p-electron__text {
    margin-top: 30px;
    padding: 0;
    line-height: 2;
  }

  .p-electron__button {
    margin: 60px auto 0;
  }

  .p-employee {
    padding: 60px 0 80px;
  }

  .p-employee-philosophy__wrapper {
    margin: 30px auto 0;
  }

  .p-employee-policy__text {
    margin-top: 30px;
  }

  .p-employee-management__subheading,
  .p-employee-wellbeing__subheading,
  .p-employee-initiatives__subheading,
  .p-employee-benefits__subheading,
  .p-employee-training__subheading,
  .p-employee-reports__subheading {
    margin: 40px 0 20px;
    padding-left: 13px;
    border-width: 3px;
    font-size: 1.6rem;
    line-height: 1.5;
    letter-spacing: 0.8px;
  }

  .p-employee-management__box,
  .p-employee-wellbeing__box {
    margin-top: 40px;
  }

  .p-employee-management__box-head,
  .p-employee-wellbeing__box-head {
    display: block;
    padding: 10px 20px;
    font-size: 2rem;
    letter-spacing: 1px;
  }

  .p-employee-management__box-head .text,
  .p-employee-wellbeing__box-head .text {
    margin-top: 5px;
    font-size: 1.2rem;
  }

  .p-employee-management__group-title {
    font-size: 1.4rem;
  }

  .p-employee-wellbeing__container {
    margin-top: 40px;
    padding: 40px 20px;
  }

  .p-employee-wellbeing__container-heading {
    font-size: 1.6rem;
  }

  .p-employee-wellbeing__container-lead {
    margin-top: 20px;
  }

  .p-employee-wellbeing__box-heading {
    font-size: 2.4rem;
    letter-spacing: 1.2px;
  }

  .p-employee-wellbeing__box-body {
    padding: 20px 16px 30px;
  }

  .p-employee-wellbeing__box-list {
    row-gap: 10px;
    margin-top: 10px;
  }

  .p-employee-wellbeing__box-title {
    font-size: 1.4rem;
  }

  .p-employee-wellbeing__box-data {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    font-size: 1.2rem;
  }

  .p-employee-wellbeing__box-data .sub {
    line-height: 1.5;
  }

  .p-employee-wellbeing__container-text {
    margin-top: 30px;
  }

  .p-employee-wellbeing__container-bottom {
    margin-top: 30px;
  }

  .p-employee-wellbeing__figure {
    margin-top: 20px;
  }

  .p-employee-wellbeing__figure.js-scrollable::-webkit-scrollbar {
    height: 4px;
    background-color: #d9d9d9;
  }

  .p-employee-wellbeing__figure.js-scrollable::-webkit-scrollbar-track {
    height: 4px;
    background-color: #d9d9d9;
  }

  .p-employee-wellbeing__figure.js-scrollable::-webkit-scrollbar-thumb {
    height: 4px;
    background-color: rgba(118, 118, 118, 0.5);
  }

  .p-employee-wellbeing__figure.js-scrollable img {
    min-width: 820px;
  }

  .p-employee-wellbeing__button {
    max-width: 290px;
  }

  .p-employee-wellbeing__wrapper {
    grid-template-columns: minmax(0, 1fr);
    margin-top: 20px;
  }

  .p-employee-wellbeing__group-table {
    min-width: 820px;
  }

  .p-employee-wellbeing__group-table th {
    padding: 14px 10px;
    font-size: 1.4rem;
  }

  .p-employee-wellbeing__group-table td {
    padding: 14px 10px;
    font-size: 1.4rem;
  }

  .p-employee-wellbeing-plan {
    margin-top: 30px;
    padding: 40px 20px;
  }

  .p-employee-wellbeing-plan__heading {
    font-size: 1.6rem;
  }

  .p-employee-wellbeing-plan__wrapper + .p-employee-wellbeing-plan__heading {
    margin-top: 50px;
  }

  .p-employee-wellbeing-plan__def-list {
    margin-top: 20px;
  }

  .p-employee-wellbeing-plan__def-data {
    font-size: 1.4rem;
  }

  .p-employee-wellbeing-plan__item {
    font-size: 1.4rem;
  }

  .p-employee-training__policy-image {
    margin-top: 30px;
  }

  .p-employee-training__image {
    margin-top: 20px;
  }

  .p-employee-training__image img {
    min-width: 720px;
  }

  .p-employee-wellbeing__group-title {
    font-size: 1.4rem;
  }

  .p-employee-training__box-title {
    font-size: 1.4rem;
  }

  .p-employee-reports__box-title {
    font-size: 1.4rem;
  }

  .p-employee-reports__box-item {
    font-size: 1.4rem;
  }

  .p-employee-reports__box-picture {
    margin-top: 20px;
  }

  .p-employee-reports__table {
    min-width: 820px;
  }

  .p-employee-reports__table th {
    padding: 14px 10px;
    font-size: 1.4rem;
  }

  .p-employee-reports__table td {
    padding: 14px 10px;
    font-size: 1.4rem;
  }

  .p-employee__button {
    max-width: 300px;
    margin-top: 80px;
  }

  .p-entry {
    padding: 60px 0 80px;
  }

  .p-entry__link {
    max-width: 255px;
    margin: 30px auto 0;
  }

  .p-environment {
    padding: 60px 0 80px;
  }

  .p-environment-policy__text {
    margin-top: 30px;
  }

  .p-environment-disclosure,
  .p-environment-management,
  .p-environment-initiatives,
  .p-environment-contributing {
    padding-top: 80px;
  }

  .p-environment-disclosure__subheading,
  .p-environment-disclosure__subheading,
  .p-environment-management__subheading,
  .p-environment-contributing__subheading {
    margin: 40px 0 20px;
    padding-left: 10px;
    border-width: 3px;
    font-size: 1.6rem;
  }

  .p-environment-disclosure__table-title {
    margin-top: 20px;
    font-size: 1.4rem;
  }

  .p-environment-disclosure__table {
    min-width: 760px;
  }

  .p-environment-disclosure__table th.head {
    padding: 14px 10px;
    font-size: 1.4rem;
  }

  .p-environment-disclosure__table th {
    padding: 14px 10px;
    font-size: 1.4rem;
  }

  .p-environment-disclosure__table--scope td {
    padding: 14px 10px;
    font-size: 1.4rem;
  }

  .p-environment-disclosure__table-notice {
    font-size: 1.2rem;
  }

  .p-environment-management__box {
    padding: 40px 20px;
  }

  .p-environment-management__list {
    margin-top: 30px;
  }

  .p-environment-management__item {
    font-size: 1.4rem;
    line-height: 2.5;
  }

  .p-environment-management__wrapper {
    grid-template-columns: auto;
  }

  .p-p-environment-management__image {
    width: 100%;
    max-width: 200px;
    margin-inline: auto;
  }

  .p-environment-management__figure-title {
    margin-top: 20px;
  }

  .p-environment-initiatives__grid {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 20px;
    margin-top: 60px;
  }

  .p-environment-initiatives__column {
    padding: 30px 20px;
  }

  .p-environment-initiatives__column--vision {
    grid-row: 2/3;
    grid-column: 1/2;
  }

  .p-environment-initiatives__column--themes {
    grid-row: 3/4;
    grid-column: 1/2;
    padding-bottom: 0;
  }

  .p-environment-initiatives__column--aim {
    grid-row: 4/5;
    grid-column: 1/2;
  }

  .p-environment-initiatives__column-heading {
    font-size: 1.6rem;
  }

  .p-environment-initiatives__column-wrapper {
    grid-template-columns: minmax(0, 1fr);
  }

  .p-environment-initiatives__column-box {
    padding: 20px 0;
  }

  .p-environment-initiatives__column-heading--topics {
    font-size: 1.8rem;
  }

  .p-environment-initiatives__column-heading--topics .sub {
    margin-bottom: 5px;
    font-size: 1.2rem;
  }

  .p-environment-initiatives__column-wrapper--topics {
    grid-template-columns: minmax(0, 1fr);
  }

  .p-environment-contributing__text--intro {
    margin-top: 40px;
  }

  .p-environment__button {
    max-width: 300px;
  }

  .p-equipment-project {
    padding: 60px 0 80px;
  }

  .p-equipment-project__intro-text {
    font-size: 1.4rem;
  }

  .p-faq {
    padding: 60px 0 80px;
  }

  .p-faq__section-heading {
    padding-left: 13px;
    border-width: 3px;
    font-size: 1.6rem;
    line-height: 1.5;
    letter-spacing: 0.8px;
  }

  .p-faq__container {
    margin-top: 30px;
  }

  .p-faq__head {
    grid-template-columns: 20px -webkit-max-content 1fr;
    grid-template-columns: 20px max-content 1fr;
    padding: 17px 0 16px;
  }

  .p-faq__head::before,
  .p-faq__head::after {
    width: 20px;
  }

  .p-faq__head-num {
    margin: 0 20px 0 10px;
    font-size: 0.8rem;
  }

  .p-faq__head-num .num {
    font-size: 2.8rem;
  }

  .p-faq__title {
    font-size: 1.4rem;
  }

  .p-faq__body-wrap {
    padding: 16px 0 17px 35px;
  }

  .p-faq__body-num {
    font-size: 0.8rem;
  }

  .p-faq__body-num .num {
    font-size: 2.8rem;
  }

  .p-faq__text {
    font-size: 1.4rem;
  }

  .p-faq__button {
    margin: 60px auto 0;
  }

  .p-global {
    padding: 60px 0 80px;
  }

  .p-global-intro {
    padding-bottom: 0;
  }

  .p-global-intro::before {
    bottom: 0;
    width: 100%;
    height: 215px;
    background-image: url(../img/business/global/sp/bg-resource.webp);
  }

  .p-global__intro-text {
    font-size: 1.4rem;
  }

  .p-global__column-container {
    padding-bottom: 80px;
  }

  .p-global-history {
    padding: 80px 0;
  }

  .p-global-history__list {
    margin-top: 60px;
  }

  .p-global-history__item {
    grid-template-columns: auto;
  }

  .p-global-history__year {
    padding: 12px 20px 0;
    font-size: 2.8rem;
    line-height: 1;
  }

  .p-global-history__data-item {
    grid-template-columns: auto;
    padding: 12px 20px;
    font-size: 1.4rem;
  }

  .p-global-bases {
    padding-top: 80px;
  }

  .p-global-bases__map {
    margin-top: 50px;
  }

  .p-global-bases__heading {
    font-size: 2.4rem;
  }

  .p-global-bases__map-link {
    font-size: 1.2rem;
  }

  .p-global-bases__address--head {
    margin-top: 20px;
    font-size: 1.4rem;
  }

  .p-global-bases__tel--head {
    font-size: 1.4rem;
  }

  .p-global-bases__child--head {
    margin-top: 30px;
    padding: 0 20px;
  }

  .p-global-bases__child-head {
    font-size: 1.6rem;
  }

  .p-global-bases__child-link {
    font-size: 1.4rem;
  }

  .p-global-bases__child-address {
    font-size: 1.4rem;
  }

  .p-global-bases__item-head {
    -ms-flex-wrap: wrap;
    row-gap: 10px;
    flex-wrap: wrap;
  }

  .p-global-bases__subheading {
    font-size: 1.6rem;
  }

  .p-global-bases__map-link,
  .p-global-bases__child-map-link {
    font-size: 1.2rem;
    letter-spacing: 0.6px;
  }

  .p-global-bases__address {
    margin-top: 5px;
    font-size: 1.4rem;
  }

  .p-global-bases__link {
    margin-top: 15px;
    font-size: 1.4rem;
  }

  .p-global__button {
    max-width: 300px;
  }

  .p-governance {
    padding: 60px 0 80px;
  }

  .p-governance__wrapper {
    grid-template-columns: minmax(0, 1fr);
  }

  .p-governance__box-title {
    margin-top: 10px;
    font-size: 2.2rem;
  }

  .p-governance__button {
    max-width: 300px;
    margin: 80px auto 0;
  }

  .p-group {
    padding: 60px 0 80px;
  }

  .p-group__container {
    grid-template-columns: minmax(0, 1fr);
    gap: 80px 0;
  }

  .p-group__box {
    display: block;
  }

  .p-group__box:not(:nth-of-type(1)):not(:nth-of-type(2)) {
    margin-top: 0;
  }

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

  .p-group__link {
    grid-template-columns: auto 11px;
    line-height: 1.3;
    word-break: break-all;
  }

  .p-group__text {
    margin-top: 20px;
    font-size: 1.2rem;
  }

  .p-group__address {
    margin-top: 20px;
    font-size: 1.2rem;
  }

  .p-group-tel {
    font-size: 1.2rem;
  }

  .p-highlight {
    padding: 60px 0 80px;
  }

  .p-highlight__subheading {
    margin-top: 40px;
    padding-left: 13px;
    border-width: 3px;
    font-size: 1.6rem;
    letter-spacing: 0.8px;
  }

  .p-highlight__table-wrapper {
    margin-top: 30px;
  }

  .p-highlight__table th.head {
    padding: 10px;
    font-size: 1.4rem;
  }

  .p-highlight__table th.head .year {
    font-size: 1.2rem;
  }

  .p-highlight__table th.head:first-child {
    width: 200px;
  }

  .p-highlight__table th:not(.head) {
    padding: 12px 10px;
    font-size: 1.4rem;
  }

  .p-highlight__table td {
    padding: 12px 10px;
    font-size: 1.4rem;
  }

  .p-highlight__graph-heading {
    font-size: 1.6rem;
  }

  .p-highlight__graph-wrapper {
    padding: 20px 0 0;
  }

  .p-highlight__button {
    margin: 60px auto 0;
  }

  .p-history {
    padding: 60px 0 80px;
  }

  .p-history__list {
    margin-top: 60px;
  }

  .p-history__item {
    grid-template-columns: auto;
  }

  .p-history__year {
    padding: 12px 20px 0;
    font-size: 2.8rem;
    line-height: 1;
  }

  .p-history__data-item {
    grid-template-columns: auto;
    padding: 12px 20px;
    font-size: 1.4rem;
  }

  .p-information-detail {
    padding: 60px 0 80px;
  }

  .p-information-detail__category {
    padding: 4px 10px;
    font-size: 1rem;
  }

  .p-information-detail__title {
    font-size: 2.4rem;
  }

  .p-information-detail__button {
    margin: 40px auto 0;
  }

  .p-information {
    padding: 60px 0 80px;
  }

  .p-information__inner {
    grid-template-columns: 1fr;
  }

  .p-information__aside {
    position: static;
    overflow-x: auto;
  }

  .p-information__wrapper {
    grid-template-columns: 1fr;
  }

  .p-information__categories {
    -ms-flex-wrap: nowrap;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: nowrap;
    padding-bottom: 10px;
    overflow-x: auto;
    gap: 10px;
  }

  .p-information__categories::-webkit-scrollbar {
    height: 4px;
    background-color: #d9d9d9;
  }

  .p-information__categories::-webkit-scrollbar-track {
    height: 4px;
    background-color: #d9d9d9;
  }

  .p-information__categories::-webkit-scrollbar-thumb {
    height: 4px;
    background-color: #767676;
  }

  .p-information__category {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
  }

  .p-information__category-button {
    display: block;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    padding: 5px 10px;
    border: solid 1px transparent;
    border-radius: var(--round);
    font-weight: 400;
    font-size: 1.2rem;
  }

  .p-information__category-button::before {
    display: none;
  }

  .p-information__category-button.is-active {
    color: var(--c-base);
  }

  .p-information__category-button.is-active::before {
    display: none;
  }

  .p-information__category-button:focus-visible::before {
    display: none;
  }

  .p-information__category-button--all {
    border-color: var(--c-main);
    color: var(--c-main);
  }

  .p-information__category-button--all.is-active {
    background-color: var(--c-main);
    color: var(--c-base);
  }

  .p-information__category-button--all:focus-visible {
    background-color: var(--c-main);
    color: var(--c-base);
  }

  .p-information__category-button--news {
    border-color: #8b4dbd;
    color: #8b4dbd;
  }

  .p-information__category-button--news.is-active {
    background-color: #8b4dbd;
    color: var(--c-base);
  }

  .p-information__category-button--news:focus-visible {
    background-color: #8b4dbd !important;
    color: var(--c-base) !important;
  }

  .p-information__category-button--ir {
    border-color: #ba8f00;
    color: #ba8f00;
  }

  .p-information__category-button--ir.is-active {
    background-color: #ba8f00;
    color: var(--c-base);
  }

  .p-information__category-button--ir:focus-visible {
    background-color: #ba8f00 !important;
    color: var(--c-base) !important;
  }

  .p-information__category-button--release {
    border-color: #378dcd;
    color: #378dcd;
  }

  .p-information__category-button--release.is-active {
    background-color: #378dcd;
    color: var(--c-base);
  }

  .p-information__category-button--release:focus-visible {
    background-color: #378dcd !important;
    color: var(--c-base) !important;
  }

  .p-information__category-button--recruit {
    border-color: #1ca462;
    color: #1ca462;
  }

  .p-information__category-button--recruit.is-active {
    background-color: #1ca462;
    color: var(--c-base);
  }

  .p-information__category-button--recruit:focus-visible {
    background-color: #1ca462 !important;
    color: var(--c-base) !important;
  }

  .p-information__category-button--other {
    border-color: #555555;
    color: #555555;
  }

  .p-information__category-button--other.is-active {
    background-color: #555555;
    color: var(--c-base);
  }

  .p-information__category-button--other:focus-visible {
    background-color: #555555 !important;
    color: var(--c-base) !important;
  }

  .p-information__category-button--category4 {
    border-color: #FE6400;
    color: #FE6400;
  }

  .p-information__category-button--category4.is-active {
    background-color: #FE6400;
    color: var(--c-base);
  }

  .p-information__category-button--category4:focus-visible {
    background-color: #FE6400 !important;
    color: var(--c-base) !important;
  }

  .p-information__category-button--category5 {
    border-color: #1CA462;
    color: #1CA462;
  }

  .p-information__category-button--category5.is-active {
    background-color: #1CA462;
    color: var(--c-base);
  }

  .p-information__category-button--category5:focus-visible {
    background-color: #1CA462 !important;
    color: var(--c-base) !important;
  }

  .p-information__category-button--category6 {
    border-color: #EA472E;
    color: #EA472E;
  }

  .p-information__category-button--category6.is-active {
    background-color: #EA472E;
    color: var(--c-base);
  }

  .p-information__category-button--category6:focus-visible {
    background-color: #EA472E !important;
    color: var(--c-base) !important;
  }

  .p-information__category-button--category7 {
    border-color: #67A41C;
    color: #67A41C;
  }

  .p-information__category-button--category7.is-active {
    background-color: #67A41C;
    color: var(--c-base);
  }

  .p-information__category-button--category7:focus-visible {
    background-color: #67A41C !important;
    color: var(--c-base) !important;
  }

  .p-information__category-button--category8 {
    border-color: #4154C2;
    color: #4154C2;
  }

  .p-information__category-button--category8.is-active {
    background-color: #4154C2;
    color: var(--c-base);
  }

  .p-information__category-button--category8:focus-visible {
    background-color: #4154C2 !important;
    color: var(--c-base) !important;
  }

  .p-information__category-button--category9 {
    border-color: #E150C0;
    color: #E150C0;
  }

  .p-information__category-button--category9.is-active {
    background-color: #E150C0;
    color: var(--c-base);
  }

  .p-information__category-button--category9:focus-visible {
    background-color: #E150C0 !important;
    color: var(--c-base) !important;
  }

  .p-information__category-button--category10 {
    border-color: #7C5E5E;
    color: #7C5E5E;
  }

  .p-information__category-button--category10.is-active {
    background-color: #7C5E5E;
    color: var(--c-base);
  }

  .p-information__category-button--category10:focus-visible {
    background-color: #7C5E5E !important;
    color: var(--c-base) !important;
  }

  .p-information__link {
    padding: 20px 0;
  }

  .p-information__arrow {
    display: none;
  }

  .p-information__item-category {
    padding: 4px 10px;
  }

  .p-information__title {
    margin-top: 10px;
    font-size: 1.4rem;
  }

  .p-information__title--has-icon {
    grid-template-columns: 1fr 16px;
    width: 100%;
  }

  .p-information__pager {
    margin-top: 50px;
  }

  .p-inquiry {
    padding: 60px 0 80px;
  }

  .p-inquiry__container {
    grid-template-columns: minmax(0, 1fr);
    gap: 80px;
  }

  .p-inquiry__title {
    margin-top: 25px;
    font-size: 2rem;
  }

  .p-inquiry__title .sub {
    font-size: 1.2rem;
  }

  .p-inquiry__text {
    margin-top: 20px;
  }

  .p-inquiry__button {
    max-width: 272px;
    margin-top: 20px;
    margin-inline: auto;
  }

  .p-inquiry__button-wrap {
    margin-top: 20px;
  }

  .p-integrated-reports {
    padding: 60px 0 80px;
  }

  .p-integrated-reports__container--archive {
    padding-top: 120px;
  }

  .p-integrated-reports__wrapper:first-of-type {
    margin-top: 30px;
  }

  .p-integrated-reports__subheading {
    padding-left: 13px;
    border-width: 3px;
    font-size: 1.6rem;
  }

  .p-integrated-reports__subheading .sub {
    font-size: 1.2rem;
  }

  .p-integrated-reports__head {
    grid-template-columns: 1fr 18px;
  }

  .p-integrated-reports__head::before,
  .p-integrated-reports__head::after {
    width: 18px;
  }

  .p-integrated-reports__list {
    margin-top: 30px;
  }

  .p-integrated-reports__item-image.has-thumb img {
    width: 98px;
  }

  .p-integrated-reports__item-link {
    -webkit-column-gap: 10px;
    -moz-column-gap: 10px;
    grid-template-columns: 187px minmax(0, 1fr);
    column-gap: 10px;
  }

  .p-integrated-reports__item-date {
    grid-row: 1/2;
    grid-column: 1/2;
    font-size: 1.2rem;
  }

  .p-integrated-reports__button-wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }

  .p-integrated-reports__body-button {
    max-width: 270px;
  }

  .p-integrated-reports__button {
    margin: 60px auto 0;
  }

  .p-investor {
    padding: 60px 0 80px;
  }

  .p-investor__lead {
    font-size: 1.3rem;
    line-height: 2;
    letter-spacing: 0.8px;
    text-align: left;
  }

  .p-investor__heading {
    font-size: 2rem;
    line-height: 1.8;
    letter-spacing: 1px;
    text-align: left;
  }

  .p-investor__notice {
    font-size: 1.3rem;
    line-height: 2;
    text-align: left;
  }

  .p-investor__image {
    width: 100vw;
    margin: 30px calc(50% - 50vw) 0;
  }

  .p-investor__text {
    margin-top: 30px;
  }

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

  .p-meeting__button {
    margin: 60px auto 0;
  }

  .p-ir-mv {
    height: 440px;
  }

  .p-ir__chart #tcs_mini {
    position: static;
    max-width: 340px;
    margin-left: auto;
  }

  .p-ir {
    padding: 60px 0 80px;
  }

  .p-ir__container {
    grid-template-columns: minmax(0, 1fr);
    gap: 80px 30px;
  }

  .p-ir__container--bg {
    margin: 80px 0 60px;
    padding: 80px 0;
  }

  .p-ir__latest-heading,
  .p-ir__news-heading,
  .p-ir__report-heading,
  .p-ir__column-title {
    font-size: 2rem;
  }

  .p-ir__latest-heading .sub,
  .p-ir__news-heading .sub,
  .p-ir__report-heading .sub,
  .p-ir__column-title .sub {
    font-size: 1.2rem;
  }

  .p-ir__column-text {
    margin-top: 20px;
  }

  .p-ir__column-button {
    margin: 20px auto 0;
  }

  .p-ir__latest {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    flex-direction: column;
    align-items: start;
    margin-bottom: 80px;
    padding: 40px 20px;
  }

  .p-ir__latest-item {
    font-size: 1.4rem;
  }

  .p-ir-latest-link {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    grid-template-columns: 18px auto;
    justify-content: center;
    width: 100%;
    max-width: 295px;
    margin-inline: auto;
    font-size: 1.4rem;
  }

  .p-ir-latest-link .icon {
    width: 18px;
    height: 18px;
  }

  .p-ir__news-link {
    padding: 16px 0;
  }

  .p-ir__news-head {
    gap: 10px;
  }

  .p-ir__news-category {
    padding: 3px 10px;
  }

  .p-ir__news-title .title {
    font-size: 1.4rem;
  }

  .p-ir__news-button {
    grid-template-columns: -webkit-max-content 20px;
    grid-template-columns: max-content 20px;
    font-size: 1.4rem;
  }

  .p-ir__news-button-wrapper {
    width: 20px;
    height: 20px;
  }

  .p-ir__column-heading .title {
    font-size: 2rem;
  }

  .p-ir__column-heading .sub {
    font-size: 1.2rem;
  }

  .p-ir__column-link {
    padding: 15px 10px;
  }

  .p-ir__menu {
    grid-template-columns: 295px;
    margin: 50px auto 0;
    gap: 15px;
  }

  .p-ir__menu-link {
    padding: 18px 10px;
  }

  .p-library-documents {
    padding: 60px 0 80px;
  }

  .p-library-documents__container--archive {
    padding-top: 120px;
  }

  .p-library-documents__wrapper:first-of-type {
    margin-top: 30px;
  }

  .p-library-documents__subheading {
    padding-left: 13px;
    border-width: 3px;
    font-size: 1.6rem;
  }

  .p-library-documents__subheading .sub {
    font-size: 1.2rem;
  }

  .p-library-documents__head {
    grid-template-columns: 1fr 18px;
  }

  .p-library-documents__head::before,
  .p-library-documents__head::after {
    width: 18px;
  }

  .p-library-documents__list {
    margin-top: 30px;
  }

  .p-library-documents__item {
    grid-template-columns: -webkit-max-content 1fr;
    grid-template-columns: max-content 1fr;
    row-gap: 20px;
    padding: 18px 25px 18px 20px;
  }

  .p-library-documents__date {
    grid-row: 1/2;
    grid-column: 1/2;
    font-size: 1.2rem;
  }

  .p-library-documents__term {
    grid-row: 1/2;
    grid-column: 2/3;
    min-width: 100px;
    font-size: 1.2rem;
  }

  .p-library-documents__title {
    grid-row: 2/3;
    grid-column: 1/4;
    font-size: 1.4rem;
  }

  .p-library-documents__button {
    margin: 60px auto 0;
  }

  .p-library {
    padding: 60px 0 80px;
  }

  .p-library__latest {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    flex-direction: column;
    align-items: start;
    margin-top: 60px;
    padding: 40px 20px;
  }

  .p-library__latest-heading {
    font-size: 2rem;
  }

  .p-library__latest-heading .sub {
    font-size: 1.2rem;
  }

  .p-ir-latest-link {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    grid-template-columns: 18px auto;
    justify-content: center;
    width: 100%;
    max-width: 295px;
    margin-inline: auto;
    font-size: 1.4rem;
  }

  .p-ir-latest-link .icon {
    width: 18px;
    height: 18px;
  }

  .p-library__latest-item {
    font-size: 1.4rem;
  }

  .p-library__container {
    padding-top: 120px;
  }

  .p-library__container:first-of-type {
    padding-top: 60px;
  }

  .p-library__container-inner {
    margin: 30px auto 0;
  }

  .p-library__item {
    padding: 18px 25px 18px 20px;
  }

  .p-library__item:not(.p-library__item--col02) {
    grid-template-columns: minmax(0, 1fr);
  }

  .p-library__item.p-library__item--col02 {
    grid-template-columns: minmax(0, 1fr);
  }

  .p-library__date {
    font-size: 1.2rem;
  }

  .p-library__term {
    margin-top: 11px;
  }

  .p-library__title {
    margin-top: 11px;
    font-size: 1.4rem;
  }

  .p-library__button {
    max-width: 270px;
    margin: 40px auto 0;
  }

  .p-logistics-center {
    padding: 60px 0 80px;
  }

  .p-logistics-center__intro-text {
    font-size: 1.4rem;
  }

  .p-p-logistics-center__intro-image {
    margin: 50px auto 0;
  }

  .p-technocenter {
    padding: 60px 0 80px;
  }

  .p-technocenter__intro-text {
    font-size: 1.4rem;
  }

  .p-technocenter__intro-image {
    margin-top: 50px;
  }

  .p-technocenter__box {
    margin-top: 20px;
  }

  .p-technocenter__box-text {
    font-size: 1.2rem;
    line-height: 1.75;
    letter-spacing: 0.6px;
  }

  .p-marketing {
    padding: 60px 0 80px;
  }

  .p-marketing__intro-text {
    font-size: 1.4rem;
  }

  .p-marketing__image-wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .p-marketing__image-link {
    place-items: start;
    aspect-ratio: initial;
    width: 100%;
    max-width: 295px;
    margin-inline: auto;
    padding: 15px 20px;
  }

  .p-marketing__image-icon {
    -webkit-column-gap: 12px;
    -moz-column-gap: 12px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    display: grid;
    grid-template-columns: 30px auto;
    column-gap: 12px;
    align-items: center;
  }

  .p-marketing__image-icon figcaption {
    -webkit-box-align: center;
    -ms-flex-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    margin-top: 0;
  }

  .p-marketing__button-wrapper {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }

  .p-marketing__button-wrapper .c-button-primary {
    max-width: 300px;
  }

  .p-marketing__info-tag {
    font-size: 1.4rem;
  }

  .p-marketing__info-title {
    font-size: 2.3rem;
  }

  .p-marketing__info-text {
    margin-top: 14px;
  }

  .p-marketing__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .p-marketing__modal-lead {
    margin-top: 30px;
  }

  .p-marketing__modal-head {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    flex-direction: column;
    align-items: start;
    padding-bottom: 30px;
  }

  .p-marketing__modal-date {
    font-size: 1.4rem;
  }

  .p-marketing__modal-button-wrapper {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    align-items: center;
    justify-content: center;
    width: 100%;
  }

  .p-marketing__modal-button-wrapper .p-marketing__button {
    max-width: 270px;
  }

  .p-marketing__modal-body {
    grid-template-columns: minmax(0, 1fr);
  }

  .p-marketing__modal-item {
    font-size: 1.4rem;
  }

  .p-marketing__modal-item:not(:first-child) {
    margin-top: 10px;
  }

  .p-network {
    padding: 60px 0 80px;
  }

  .p-network__lead {
    font-size: 1.4rem;
  }

  .p-network__tabs {
    -webkit-column-gap: 10px;
    -moz-column-gap: 10px;
    column-gap: 10px;
    margin: 80px 0 10px;
  }

  .p-network__tab {
    padding: 18px 10px;
    font-size: 1.8rem;
  }

  .p-network__tab::after {
    bottom: -10px;
    width: 14px;
    height: 14px;
  }

  .p-network__anchors {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px;
  }

  .p-network__anchor {
    padding: 14px 4px;
    font-size: 1.4rem;
  }

  .p-network-domestic__heading,
  .p-network-overseas__heading {
    font-size: 2.4rem;
  }

  .p-network-domestic__map-link {
    font-size: 1.2rem;
  }

  .p-network-domestic__address--head {
    margin-top: 20px;
    font-size: 1.4rem;
  }

  .p-network-domestic__tel--head {
    font-size: 1.4rem;
  }

  .p-network-domestic__def-item {
    row-gap: 5px;
  }

  .p-network-domestic__def--head {
    margin-top: 30px;
    padding: 0 20px;
  }

  .p-network-domestic__def-title {
    font-size: 1.6rem;
  }

  .p-network-domestic__def-link {
    font-size: 1.4rem;
  }

  .p-network-domestic__def-address {
    margin-top: 5px;
    font-size: 1.4rem;
  }

  .p-network-domestic__list {
    row-gap: 20px;
    padding: 0 20px;
  }

  .p-network-domestic__item-head {
    -ms-flex-wrap: wrap;
    row-gap: 10px;
    flex-wrap: wrap;
  }

  .p-network__subheading {
    font-size: 1.6rem;
  }

  .p-network-domestic__address {
    margin-top: 5px;
    font-size: 1.4rem;
  }

  .p-network-overseas__map-link {
    font-size: 1.2rem;
  }

  .p-network-overseas__address--head {
    margin-top: 20px;
    font-size: 1.4rem;
  }

  .p-network-overseas__tel--head {
    font-size: 1.4rem;
  }

  .p-network-overseas__child--head {
    margin-top: 30px;
    padding: 0 20px;
  }

  .p-network-overseas__child-head {
    font-size: 1.6rem;
  }

  .p-network-overseas__child-link {
    font-size: 1.4rem;
  }

  .p-network-overseas__child-address {
    font-size: 1.4rem;
  }

  .p-network-overseas__item-head {
    -ms-flex-wrap: wrap;
    row-gap: 10px;
    flex-wrap: wrap;
  }

  .p-network-overseas__subheading {
    font-size: 1.6rem;
  }

  .p-network-overseas__map-link,
  .p-network-overseas__child-map-link {
    font-size: 1.2rem;
    letter-spacing: 0.6px;
  }

  .p-network-overseas__address {
    margin-top: 5px;
    font-size: 1.4rem;
  }

  .p-network-overseas__link {
    margin-top: 15px;
    font-size: 1.4rem;
  }

  .p-notfound {
    padding: 60px 0 80px;
  }

  .p-notfound__heading {
    font-size: 2.2rem;
    line-height: 1.7727272727;
    letter-spacing: 1.1px;
    text-align: left;
  }

  .p-notfound__text {
    margin-top: 20px;
    text-align: left;
  }

  .p-notfound__button {
    margin: 20px auto 0;
  }

  .p-officer {
    padding: 60px 0 80px;
  }

  .p-officer-member__heading {
    font-size: 1.6rem;
  }

  .p-officer-member__heading::before {
    width: 13px;
    height: 13px;
    margin-block: calc((1lh - 12px) / 2);
  }

  .p-officer-member__wrapper--top {
    grid-template-columns: minmax(0, 1fr);
  }

  .p-officer-member__name {
    font-size: 2.2rem;
  }

  .p-officer-member__name .kana {
    font-size: 1.2rem;
  }

  .p-officer-member__button {
    grid-template-columns: -webkit-max-content 20px;
    grid-template-columns: max-content 20px;
    margin-left: auto;
    font-size: 1.4rem;
  }

  .p-officer-member__button-wrapper {
    width: 20px;
    height: 20px;
  }

  .p-officer-member__wrapper--col02 {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 80px;
    margin-top: 80px;
  }

  .p-officer-member__wrapper--col03 {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 80px;
  }

  .p-officer-member__wrapper--col04 {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 80px;
  }

  .p-officer-member__notice {
    margin-top: 40px;
  }

  .p-officer-modal__container {
    aspect-ratio: 335/700;
    width: calc(100% - 40px);
  }

  .p-officer-modal__wrapper {
    grid-template-columns: minmax(0, 1fr);
    overflow-y: auto;
  }

  .p-officer-modal__wrapper::-webkit-scrollbar {
    width: 4px;
  }

  .p-officer-modal__wrapper::-webkit-scrollbar-track {
    background-color: transparent;
  }

  .p-officer-modal__wrapper::-webkit-scrollbar-thumb {
    width: 4px;
    background-color: rgba(118, 118, 118, 0.5);
  }

  .p-officer-modal__info {
    min-height: 115px;
    margin-top: 20px;
    padding: 0 20px;
  }

  .p-officer-modal__position {
    font-size: 1.2rem;
  }

  .p-officer-modal__name {
    font-size: 1.8rem;
  }

  .p-officer-modal__name .kana {
    font-size: 1rem;
  }

  .p-officer-modal__body {
    padding: 20px 20px 40px;
    overflow-y: initial;
  }

  .p-officer-modal__heading {
    grid-template-columns: 10px auto;
    font-size: 1.4rem;
  }

  .p-officer-modal__heading::before {
    width: 11px;
    height: 11px;
    margin-block: calc((1lh - 10px) / 2);
  }

  .p-officer-modal__list {
    margin-top: 10px;
  }

  .p-officer-modal__year,
  .p-officer-modal__desc {
    font-size: 1.3rem;
  }

  .p-officer-modal__text {
    font-size: 1.3rem;
  }

  .p-officer-modal__close {
    bottom: -50px;
  }

  .p-officer-modal__button {
    margin: 20px auto 0;
  }

  .p-officer-organization__heading-text {
    font-size: 1.2rem;
  }

  .p-officer-organization__image {
    margin-top: 60px;
  }

  .p-officer-organization__image img {
    min-width: 670px;
  }

  .p-partner {
    padding: 60px 0 80px;
  }

  .p-partner-philosophy__wrapper {
    margin: 30px auto 0;
  }

  .p-partner-policy__text {
    margin-top: 30px;
  }

  .p-partner-declaration__container {
    margin-top: 40px;
    padding: 40px 20px;
  }

  .p-partner-declaration__box-heading {
    font-size: 1.6rem;
  }

  .p-partner-declaration__box-subheading {
    font-size: 1.4rem;
  }

  .p-partner-communication__subheading {
    margin-top: 40px;
    padding-left: 13px;
    border-width: 3px;
    font-size: 1.6rem;
    line-height: 1.5;
    letter-spacing: 0.8px;
  }

  .p-partner-satisfaction__text {
    margin-top: 20px;
  }

  .p-partner-communication__wrapper {
    grid-template-columns: minmax(0, 1fr);
    margin-top: 20px;
  }

  .p-partner__button {
    max-width: 300px;
    margin-top: 80px;
  }

  .p-personal {
    padding: 60px 0 80px;
  }

  .p-personal__heading {
    font-size: 2.4rem;
  }

  .p-personal__heading:not(.--top) {
    margin-top: 80px;
  }

  .p-personal__text {
    margin-top: 30px;
    padding: 0;
  }

  .p-personal__subheading {
    margin-left: 0;
    font-size: 1.6rem;
    letter-spacing: 0.8px;
  }

  .p-personal__text--sub {
    margin-top: 20px;
    padding: 0;
  }

  .p-personal__list {
    row-gap: 20px;
    margin-top: 20px;
    padding: 0;
  }

  .p-personal__item {
    font-size: 1.4rem;
  }

  .p-personal__list--child {
    padding-left: 0;
  }

  .p-personal__item--child {
    font-size: 1.4rem;
  }

  .p-philosophy {
    padding: 60px 0 80px;
  }

  .p-philosophy__text {
    font-size: 1.4rem;
  }

  .p-philosophy-corp {
    padding-top: 80px;
  }

  .p-philosophy-corp__image {
    width: 88.0597014925%;
    max-width: 100%;
    margin: 60px auto 0;
  }

  .p-philosophy-mng__list {
    row-gap: 10px;
    margin-top: 60px;
  }

  .p-philosophy-mng__item {
    font-size: 1.4rem;
    line-height: 1.7857142857;
  }

  .p-philosophy-mng__num {
    padding-right: 15px;
    font-size: 2.2rem;
  }

  .p-philosophy-mng__text {
    font-size: 1.4rem;
  }

  .p-philosophy-mng__text br {
    display: none;
  }

  .p-philosophy-purpose::before {
    bottom: -230px;
    width: 100%;
    height: 100%;
  }

  .p-philosophy-purpose__title {
    margin-top: 50px;
    font-size: 2.4rem;
    line-height: 1.5;
    letter-spacing: 1.2px;
  }

  .p-philosophy-purpose__text {
    margin-top: 30px;
  }

  .p-philosophy-guideline__wrapper {
    margin: 50px auto 0;
    padding: 50px 20px;
  }

  .p-philosophy-guideline__title {
    font-size: 2.8rem;
    line-height: 1.4285714286;
    letter-spacing: 1.4px;
  }

  .p-philosophy-guideline__list {
    margin-top: 40px;
  }

  .p-philosophy-guideline__item {
    grid-template-columns: 1fr;
  }

  .p-philosophy-guideline__head {
    font-size: 2.4rem;
  }

  .p-philosophy-guideline__body {
    font-size: 1.4rem;
  }

  .p-presentation {
    padding: 60px 0 80px;
  }

  .p-presentation__container--archive {
    padding-top: 120px;
  }

  .p-presentation__wrapper:first-of-type {
    margin-top: 30px;
  }

  .p-presentation__subheading {
    padding-left: 13px;
    border-width: 3px;
    font-size: 1.6rem;
  }

  .p-presentation__subheading .sub {
    font-size: 1.2rem;
  }

  .p-presentation__head {
    grid-template-columns: 1fr 18px;
  }

  .p-presentation__head::before,
  .p-presentation__head::after {
    width: 18px;
  }

  .p-presentation__list {
    margin-top: 30px;
  }

  .p-presentation__item {
    grid-template-columns: -webkit-max-content -webkit-max-content 1fr;
    grid-template-columns: max-content max-content 1fr;
    row-gap: 20px;
    padding: 18px 25px 18px 20px;
  }

  .p-presentation__date {
    grid-row: 1/2;
    grid-column: 1/2;
    font-size: 1.2rem;
  }

  .p-presentation__term {
    grid-row: 1/2;
    grid-column: 2/3;
    min-width: 100px;
    font-size: 1.2rem;
  }

  .p-presentation__title {
    grid-row: 2/3;
    grid-column: 1/4;
    font-size: 1.4rem;
  }

  .p-presentation__button {
    margin: 60px auto 0;
  }

  .p-privacypolicy {
    padding: 60px 0 80px;
  }

  .p-privacypolicy__heading {
    font-size: 2.4rem;
  }

  .p-privacypolicy__text {
    margin-top: 30px;
    padding: 0;
  }

  .p-privacypolicy__list {
    padding: 0;
  }

  .p-privacypolicy__item-text {
    margin-left: 0;
  }

  .p-process {
    padding: 60px 0 80px;
  }

  .p-process-intro {
    padding-bottom: 80px;
  }

  .p-process-intro::before {
    bottom: -30px;
    width: 100vw;
    height: 315px;
    background-image: url(../img/about/process/sp/bg-process.webp);
  }

  .p-process-intro__text {
    text-align: left;
  }

  .p-process__container {
    margin-top: 0;
    padding-top: 0;
  }

  .p-process__button {
    max-width: 310px;
  }

  .p-profile {
    padding: 60px 0 80px;
  }

  .p-profile__item {
    grid-template-columns: 1fr;
  }

  .p-profile__head {
    padding: 10px 20px;
    font-size: 1.4rem;
  }

  .p-profile__body {
    padding: 0 20px 10px;
    font-size: 1.4rem;
  }

  .p-profile__child-list {
    padding: 0 20px;
  }

  .p-profile__child-item {
    grid-template-columns: 1fr;
  }

  .p-profile__child-head {
    padding: 10px 0 0;
    font-size: 1.4rem;
  }

  .p-profile__child-body {
    padding: 0 0 10px;
    font-size: 1.4rem;
  }

  .p-profile__link--pdf {
    grid-template-columns: -webkit-max-content 14px;
    grid-template-columns: max-content 14px;
  }

  .p-profile__link--pdf::after {
    width: 14px;
    height: 18px;
  }

  .p-qualification {
    padding: 60px 0 80px;
  }

  .p-qualification__button {
    margin: 60px auto 0;
  }

  .p-recruit-about {
    padding: 60px 0 80px;
  }

  .p-recruit-about-intro {
    padding-bottom: 80px;
  }

  .p-recruit-about-intro::before {
    width: 100%;
    height: 270px;
    background-image: url(../img/recruit/about/sp/bg-intro.webp);
  }

  .p-recruit-about-intro__container {
    margin-top: 70px;
  }

  .p-recruit-about-intro__heading {
    font-size: 3.6rem;
    line-height: 1.5;
  }

  .p-recruit-about-message {
    padding: 80px 0;
  }

  .p-recruit-about-message::before {
    height: 385px;
    background-image: url(../img/recruit/about/sp/bg-message.webp);
  }

  .p-recruit-about-message__heading {
    margin-top: 70px;
    font-size: 2.4rem;
    line-height: 1.7916666667;
  }

  .p-recruit-about-message__wrapper {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "image" "lead";
    margin-top: 50px;
  }

  .p-recruit-about-message__wrapper--reverse {
    grid-template-areas: "image" "lead";
    margin-top: 70px;
  }

  .p-recruit-about-message__text--bottom {
    margin-top: 90px;
  }

  .p-recruit-about-culture {
    padding-top: 80px;
  }

  .p-recruit-about-culture__heading {
    margin-top: 70px;
    font-size: 2.4rem;
    line-height: 1.7916666667;
  }

  .p-recruit-about-culture__container {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 30px;
    gap: 10px;
  }

  .p-recruit-about-culture__box {
    min-height: 220px;
    padding: 10px 5px;
    border-radius: 5px;
  }

  .p-recruit-about-culture__image {
    width: 106px;
  }

  .p-recruit-about-culture__text {
    margin-top: 5px;
  }

  .p-recruit-faq {
    padding: 60px 0 80px;
  }

  .p-recruit-faq__container {
    margin-top: 100px;
  }

  .p-recruit-faq__head {
    grid-template-columns: 20px -webkit-max-content 1fr;
    grid-template-columns: 20px max-content 1fr;
    padding: 17px 0 16px;
  }

  .p-recruit-faq__head::before,
  .p-recruit-faq__head::after {
    width: 20px;
  }

  .p-recruit-faq__head-num {
    margin: 0 20px 0 10px;
    font-size: 0.8rem;
  }

  .p-recruit-faq__head-num .num {
    font-size: 2.8rem;
  }

  .p-recruit-faq__title {
    font-size: 1.4rem;
  }

  .p-recruit-faq__body-wrap {
    padding: 16px 0 17px 35px;
  }

  .p-recruit-faq__body-num {
    font-size: 0.8rem;
  }

  .p-recruit-faq__body-num .num {
    font-size: 2.8rem;
  }

  .p-recruit-faq__text {
    font-size: 1.4rem;
  }

  .p-recruit {
    padding: 60px 0 80px;
  }

  .p-recruit__container {
    grid-template-columns: minmax(0, 1fr);
    gap: 80px 0;
  }

  .p-recruit__box {
    display: block;
  }

  .p-recruit__box:not(:nth-child(1)):not(:nth-of-type(2)) {
    margin-top: 0;
  }

  .p-recruit__heading {
    font-size: 2rem;
  }

  .p-recruit__heading .sub {
    font-size: 1.2rem;
  }

  .p-recruit__text {
    margin-top: 20px;
  }

  .p-recruit__button {
    max-width: 272px;
    margin: 20px auto 0;
  }

  .p-report-mv__title {
    font-size: 3rem;
  }

  .p-report {
    padding: 60px 0 80px;
  }

  .p-report__container--archive {
    padding-top: 120px;
  }

  .p-report__wrapper:first-of-type {
    margin-top: 30px;
  }

  .p-report__subheading {
    padding-left: 13px;
    border-width: 3px;
    font-size: 1.6rem;
  }

  .p-report__subheading .sub {
    font-size: 1.2rem;
  }

  .p-report__head {
    grid-template-columns: 1fr 18px;
  }

  .p-report__head::before,
  .p-report__head::after {
    width: 18px;
  }

  .p-report__list {
    margin-top: 30px;
  }

  .p-report__item {
    grid-template-columns: -webkit-max-content -webkit-max-content 1fr;
    grid-template-columns: max-content max-content 1fr;
    row-gap: 20px;
    padding: 18px 25px 18px 20px;
  }

  .p-report__date {
    grid-row: 1/2;
    grid-column: 1/2;
    font-size: 1.2rem;
  }

  .p-report__term {
    grid-row: 1/2;
    grid-column: 2/3;
    min-width: 100px;
    font-size: 1.2rem;
  }

  .p-report__title {
    grid-row: 2/3;
    grid-column: 1/4;
    font-size: 1.4rem;
  }

  .p-report__button {
    margin: 60px auto 0;
  }

  .p-requirements {
    padding: 60px 0 80px;
  }

  .p-requirements__def-text--indent {
    padding-left: 0;
  }

  .p-requirements__def-item {
    grid-template-columns: minmax(0, 1fr);
  }

  .p-requirements__def-title {
    padding: 10px 20px 0;
    font-size: 1.4rem;
  }

  .p-requirements__def-data {
    padding: 10px 20px;
    font-size: 1.4rem;
  }

  .p-requirements__def--child {
    padding: 0 20px;
  }

  .p-requirements__def-item--child {
    grid-template-columns: minmax(0, 1fr);
  }

  .p-requirements__def-title--child {
    padding: 10px 0 0;
    font-size: 1.4rem;
  }

  .p-requirements__def-data--child {
    padding: 0 0 10px 0;
    font-size: 1.4rem;
  }

  .p-requirements-flow {
    padding-top: 80px;
  }

  .p-requirements-flow__image {
    max-width: 335px;
    margin: 40px auto 0;
  }

  .p-resource {
    padding: 60px 0 80px;
  }

  .p-resource-intro {
    padding-bottom: 80px;
  }

  .p-resource-intro::before {
    bottom: -30px;
    width: 100vw;
    height: 315px;
    background-image: url(../img/about/resource/sp/bg-resource.webp);
  }

  .p-resource-intro__text {
    text-align: left;
  }

  .p-resource__container {
    margin-top: 0;
    padding-top: 0;
  }

  .p-resource__button {
    max-width: 300px;
  }

  .p-search {
    padding: 80px 0;
  }

  .p-search__heading {
    margin: 40px 0 30px;
    font-size: 2.4rem;
    letter-spacing: 1.2px;
  }

  .p-security {
    padding: 60px 0 80px;
  }

  .p-security__heading {
    font-size: 2.4rem;
  }

  .p-security__text {
    margin-top: 30px;
    padding: 0;
  }

  .p-security__list {
    padding: 0;
  }

  .p-security__item-text {
    margin-left: 0;
  }

  .p-selection {
    padding: 60px 0 80px;
  }

  .p-selection__intro-text {
    font-size: 1.4rem;
  }

  .p-sitemap {
    padding: 60px 0 80px;
  }

  .p-sitemap__container {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 40px;
  }

  .p-sitemap__container--bottom,
  .p-sitemap__container:not(:first-of-type) {
    margin-top: 40px;
  }

  .p-sitemap__link {
    font-size: 1.6rem;
  }

  .p-sitemap__list {
    row-gap: 20px;
  }

  .p-sitemap__box-heading {
    font-size: 1.6rem;
  }

  .p-sitemap__list--sub {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-top: 20px;
  }

  .p-sitemap__item--sub {
    width: auto;
  }

  .p-social {
    padding: 60px 0 80px;
  }

  .p-social__wrapper {
    grid-template-columns: minmax(0, 1fr);
  }

  .p-social__box-title {
    margin-top: 10px;
    font-size: 2.2rem;
  }

  .p-social__button {
    max-width: 300px;
    margin: 80px auto 0;
  }

  .p-socialmedia {
    padding: 60px 0 80px;
  }

  .p-socialmedia__heading {
    font-size: 2.4rem;
  }

  .p-socialmedia__text {
    margin-top: 30px;
    padding: 0;
  }

  .p-socialmedia__list {
    padding: 0;
  }

  .p-socialmedia__item {
    margin-left: 1em;
    font-size: 1.4rem;
  }

  .p-stock-information {
    padding: 60px 0 80px;
  }

  .p-stock-information__list {
    margin-top: 20px;
  }

  .p-stock-information__item {
    grid-template-columns: minmax(0, 1fr);
  }

  .p-stock-information__item-title {
    padding: 12px 20px 0;
    font-size: 1.4rem;
  }

  .p-stock-information__item-data {
    padding: 12px 20px;
    font-size: 1.4rem;
  }

  .c-heading + .p-stock-information__container {
    padding-top: 30px;
  }

  .p-stock-information__subheading {
    margin-bottom: 20px;
    padding-left: 13px;
    border-width: 3px;
    font-size: 1.6rem;
  }

  .p-stock-information__table {
    min-width: 720px;
  }

  .p-stock-information__table .head {
    padding: 10px;
    font-size: 1.4rem;
  }

  .p-stock-information__table .head:first-child {
    width: 160px;
    min-width: 160px;
  }

  .p-stock-information__table th:not(.head) {
    padding: 18px 10px;
    font-size: 1.4rem;
  }

  .p-stock-information__table td {
    padding: 18px 10px;
    font-size: 1.4rem;
  }

  .p-stock-information__wrapper-heading {
    font-size: 1.6rem;
  }

  .p-stock-information__wrapper-heading .term {
    padding: 4px 20px;
    font-size: 1.2rem;
  }

  .p-stock-information__box:first-of-type {
    margin-top: 30px;
  }

  .p-stock-information__box-heading {
    font-size: 1.8rem;
  }

  .p-stock-information__box-heading .sub {
    font-size: 1.4rem;
  }

  .p-stock-information__box-image {
    margin: 30px auto 0;
  }

  .p-stock-information__box-link {
    display: block;
    text-align: center;
  }

  .p-stock-information__button {
    margin: 90px auto 0;
  }

  .p-stock-information__grid {
    grid-template-columns: auto;
  }

  .p-stock-information__column--thumb {
    margin-inline: auto;
  }

  .p-stock-information__column--info {
    place-items: center;
  }

  .p-stock-price {
    padding: 60px 0 80px;
  }

  .p-stock-price__text {
    margin-top: 20px;
  }

  .p-stock-price__button {
    margin: 20px auto 0;
  }

  .p-sustainability {
    padding: 60px 0 80px;
  }

  .p-sustainability-commitment__inner,
  .p-sustainability-approach__inner,
  .p-sustainability-policy__inner,
  .p-sustainability-materiality__inner,
  .p-sustainability-stakeholder__inner {
    margin-top: 30px;
  }

  .p-sustainability-commitment__container {
    grid-template-columns: auto;
    margin-right: 8px;
    padding-left: 0;
  }

  .p-sustainability-commitment__image {
    -webkit-box-shadow: 8px 8px #ddd;
    box-shadow: 8px 8px #ddd;
  }

  .p-sustainability-commitment__title {
    position: static;
    margin-top: 48px;
    translate: 0 0;
    font-size: 2.2rem;
  }

  .p-sustainability-commitment__text {
    margin-top: 30px;
  }

  .p-sustainability-approach__figure {
    margin-top: 40px;
  }

  .p-sustainability-materiality__container {
    margin-top: 40px;
    padding: 20px 20px 40px;
  }

  .p-sustainability-materiality__box {
    padding: 20px;
  }

  .p-sustainability-materiality__box-label {
    padding: 3px 10px;
    font-size: 1.4rem;
  }

  .p-sustainability-materiality__box-title {
    font-size: 1.6rem;
  }

  .p-sustainability-materiality__box-text {
    margin-top: 20px;
  }

  .p-sustainability-materiality__def-item {
    grid-template-columns: auto;
  }

  .p-sustainability-materiality__def-title {
    padding: 4px 10px;
    font-size: 1.2rem;
  }

  .p-sustainability-materiality__item {
    padding: 3px 20px;
    font-size: 1.2rem;
  }

  .p-sustainability-materiality__grid {
    grid-template-columns: minmax(0, 1fr);
    margin-top: 20px;
  }

  .p-sustainability-materiality__column {
    -webkit-column-gap: 15px;
    -moz-column-gap: 15px;
    grid-template-columns: 60px minmax(0, 1fr);
    column-gap: 15px;
  }

  .p-sustainability-materiality__step {
    width: 60px;
    font-size: 1.2rem;
  }

  .p-sustainability-materiality__step .num {
    margin-top: 3px;
    font-size: 2rem;
  }

  .p-sustainability-materiality__column-text {
    font-size: 1.2rem;
  }

  .p-sustainability-stakeholder__container {
    margin-top: 40px;
    padding: 40px 20px;
  }

  .p-sustainability-stakeholder__subheading {
    font-size: 1.6rem;
  }

  .p-top-mv__slide01 {
    background-image: url(../img/top/sp/mv01.webp?251215_2);
  }

  .p-top-mv__slide02 {
    background-image: url(../img/top/sp/mv02.webp?251215);
  }

  .p-top-mv__slide03 {
    place-items: end start;
    background-image: url(../img/top/sp/mv03.webp?251215);
  }

  .p-top-mv__wrapper--slide01 {
    top: 90px;
  }

  .p-top-mv__title {
    font-size: 5rem;
  }

  .p-top-mv__heading--slide02 {
    font-size: 3.6rem;
  }

  .p-top-mv__wrapper--slide03 {
    margin-bottom: 40px;
  }

  .p-top-mv__heading--slide03 {
    position: relative;
    font-size: 4rem;
  }

  .p-top-mv__heading--slide03 .sub {
    position: absolute;
    right: -20px;
    bottom: 5px;
    margin-top: 0;
    font-size: 1.6rem;
  }

  .p-top-mv__text--slide03 {
    margin-top: 30px;
    font-size: 1.4rem;
  }

  .p-top-mv__button--slide03 {
    margin: 30px 0 0 auto;
  }

  .p-top-mv__wrapper--slide04,
  .p-top-mv__wrapper--slide05 {
    display: grid;
    place-items: center;
    padding: 0 15px;
  }

  .p-top-mv__heading--slide04,
  .p-top-mv__heading--slide05 {
    font-size: 3.4rem;
  }

  .p-top-mv__button--slide04,
  .p-top-mv__button--slide05 {
    margin-top: 40px;
  }

  .p-top-mv__topic {
    position: static;
    max-width: 100%;
    padding: 16px 20px 16px 15px;
  }

  .p-top-mv__topic .splide__arrow {
    width: 15px;
    height: 15px;
  }

  .p-top-mv__topic-link {
    display: block;
    gap: 5px 0;
  }

  .p-top-banner {
    margin-top: 120px;
  }

  .p-top-banner__item {
    margin-left: 5px;
  }

  .p-top-about-bg {
    height: auto;
  }

  .p-top-about-bg img {
    width: 750px;
    min-width: 750px;
    height: auto;
  }

  .p-top-business {
    padding-top: 90px;
  }

  .p-top-ir {
    padding-top: 73px;
  }

  .p-top-information {
    padding: 70px 0;
  }

  .p-top-information__wrapper {
    grid-template-columns: 1fr;
  }

  .p-top-information__categories {
    -ms-flex-wrap: nowrap;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: nowrap;
    padding-bottom: 10px;
    overflow-x: auto;
    gap: 10px;
  }

  .p-top-information__categories::-webkit-scrollbar {
    height: 4px;
    background-color: #d9d9d9;
  }

  .p-top-information__categories::-webkit-scrollbar-track {
    height: 4px;
    background-color: #d9d9d9;
  }

  .p-top-information__categories::-webkit-scrollbar-thumb {
    height: 4px;
    background-color: #767676;
  }

  .p-top-information__category {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
  }

  .p-top-information__category-button {
    display: block;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    padding: 4px 10px;
    border: solid 1px transparent;
    border-radius: var(--round);
    font-weight: 400;
    font-size: 1.4rem;
  }

  .p-top-information__category-button::before {
    display: none;
  }

  .p-top-information__category-button.is-active {
    color: var(--c-base);
  }

  .p-top-information__category-button.is-active::before {
    display: none;
  }

  .p-top-information__category-button:focus-visible::before {
    display: none;
  }

  .p-top-information__category-button--all {
    border-color: var(--c-main);
    color: var(--c-main);
  }

  .p-top-information__category-button--all.is-active {
    background-color: var(--c-main);
    color: var(--c-base);
  }

  .p-top-information__category-button--all:focus-visible {
    background-color: var(--c-main);
    color: var(--c-base);
  }

  .p-top-information__category-button--news {
    border-color: #8b4dbd;
    color: #8b4dbd;
  }

  .p-top-information__category-button--news.is-active {
    background-color: #8b4dbd;
    color: var(--c-base);
  }

  .p-top-information__category-button--news:focus-visible {
    background-color: #8b4dbd !important;
    color: var(--c-base) !important;
  }

  .p-top-information__category-button--ir {
    border-color: #ba8f00;
    color: #ba8f00;
  }

  .p-top-information__category-button--ir.is-active {
    background-color: #ba8f00;
    color: var(--c-base);
  }

  .p-top-information__category-button--ir:focus-visible {
    background-color: #ba8f00 !important;
    color: var(--c-base) !important;
  }

  .p-top-information__category-button--release {
    border-color: #378dcd;
    color: #378dcd;
  }

  .p-top-information__category-button--release.is-active {
    background-color: #378dcd;
    color: var(--c-base);
  }

  .p-top-information__category-button--release:focus-visible {
    background-color: #378dcd !important;
    color: var(--c-base) !important;
  }

  .p-top-information__category-button--recruit {
    border-color: #1ca462;
    color: #1ca462;
  }

  .p-top-information__category-button--recruit.is-active {
    background-color: #1ca462;
    color: var(--c-base);
  }

  .p-top-information__category-button--recruit:focus-visible {
    background-color: #1ca462 !important;
    color: var(--c-base) !important;
  }

  .p-top-information__category-button--other {
    border-color: #555555;
    color: #555555;
  }

  .p-top-information__category-button--other.is-active {
    background-color: #555555;
    color: var(--c-base);
  }

  .p-top-information__category-button--other:focus-visible {
    background-color: #555555 !important;
    color: var(--c-base) !important;
  }

  .p-top-information__category-button--category4 {
    border-color: #fe6400;
    color: #fe6400;
  }

  .p-top-information__category-button--category4.is-active {
    background-color: #fe6400;
    color: var(--c-base);
  }

  .p-top-information__category-button--category4:focus-visible {
    background-color: #fe6400 !important;
    color: var(--c-base) !important;
  }

  .p-top-information__category-button--category5 {
    border-color: #1ca462;
    color: #1ca462;
  }

  .p-top-information__category-button--category5.is-active {
    background-color: #1ca462;
    color: var(--c-base);
  }

  .p-top-information__category-button--category5:focus-visible {
    background-color: #1ca462 !important;
    color: var(--c-base) !important;
  }

  .p-top-information__category-button--category6 {
    border-color: #ea472e;
    color: #ea472e;
  }

  .p-top-information__category-button--category6.is-active {
    background-color: #ea472e;
    color: var(--c-base);
  }

  .p-top-information__category-button--category6:focus-visible {
    background-color: #ea472e !important;
    color: var(--c-base) !important;
  }

  .p-top-information__category-button--category7 {
    border-color: #67a41c;
    color: #67a41c;
  }

  .p-top-information__category-button--category7.is-active {
    background-color: #67a41c;
    color: var(--c-base);
  }

  .p-top-information__category-button--category7:focus-visible {
    background-color: #67a41c !important;
    color: var(--c-base) !important;
  }

  .p-top-information__category-button--category8 {
    border-color: #4154c2;
    color: #4154c2;
  }

  .p-top-information__category-button--category8.is-active {
    background-color: #4154c2;
    color: var(--c-base);
  }

  .p-top-information__category-button--category8:focus-visible {
    background-color: #4154c2 !important;
    color: var(--c-base) !important;
  }

  .p-top-information__category-button--category9 {
    border-color: #e150c0;
    color: #e150c0;
  }

  .p-top-information__category-button--category9.is-active {
    background-color: #e150c0;
    color: var(--c-base);
  }

  .p-top-information__category-button--category9:focus-visible {
    background-color: #e150c0 !important;
    color: var(--c-base) !important;
  }

  .p-top-information__category-button--category10 {
    border-color: #7c5e5e;
    color: #7c5e5e;
  }

  .p-top-information__category-button--category10.is-active {
    background-color: #7c5e5e;
    color: var(--c-base);
  }

  .p-top-information__category-button--category10:focus-visible {
    background-color: #7c5e5e !important;
    color: var(--c-base) !important;
  }

  .p-top-information__list {
    margin-top: 30px;
  }

  .p-top-information__link {
    padding: 20px 0;
  }

  .p-top-information__arrow {
    display: none;
  }

  .p-top-information__item-title {
    margin-top: 10px;
    font-size: 1.4rem;
  }

  .p-top-information__item-title--has-icon {
    grid-template-columns: 1fr 16px;
    width: 100%;
  }

  .p-top-menu__box {
    padding: 70px 18px 50px;
  }

  .p-top-recruit {
    padding: 70px 0 0;
  }

  .p-top-recruit__button {
    max-width: 335px;
    padding: 10px 10px 10px 25px;
  }

  .p-welfare {
    padding: 60px 0 80px;
  }

  .p-welfare__text {
    font-size: 1.4rem;
  }

  .p-welfare-training {
    padding-top: 80px;
  }

  .p-welfare-benefits__container,
  .p-welfare-training__container {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 40px;
    gap: 10px;
  }

  .p-welfare-benefits__box,
  .p-welfare-training__box {
    min-height: 280px;
    padding: 10px;
    border-radius: 5px;
  }

  .p-welfare-benefits__image,
  .p-welfare-training__image {
    max-width: 106px;
  }

  .p-welfare-benefits__title,
  .p-welfare-training__title {
    font-size: 1.6rem;
    letter-spacing: 0.6px;
  }

  .p-welfare-benefits__text,
  .p-welfare-training__text {
    font-size: 1.2rem;
  }

  .u-db-md-max {
    display: block;
  }

  .u-dn-md-max {
    display: none;
  }
}

@media screen and (max-width: 768px) and (any-hover: hover) {
  .c-business-button.c-business-button:hover .c-business-button__arrow {
    background-color: var(--c-main);
  }

  .c-business-button.c-business-button:hover .c-business-button__arrows {
    -webkit-transform: initial;
    transform: initial;
  }

  .p-information__category-button--all:hover {
    background-color: var(--c-main);
    color: var(--c-base);
  }

  .p-information__category-button--news:hover {
    background-color: #8b4dbd !important;
    color: var(--c-base) !important;
  }

  .p-information__category-button--ir:hover {
    background-color: #ba8f00 !important;
    color: var(--c-base) !important;
  }

  .p-information__category-button--release:hover {
    background-color: #378dcd !important;
    color: var(--c-base) !important;
  }

  .p-information__category-button--recruit:hover {
    background-color: #1ca462 !important;
    color: var(--c-base) !important;
  }

  .p-information__category-button--other:hover {
    background-color: #555555 !important;
    color: var(--c-base) !important;
  }

  .p-information__category-button--category4:hover {
    background-color: #FE6400 !important;
    color: var(--c-base) !important;
  }

  .p-information__category-button--category5:hover {
    background-color: #1CA462 !important;
    color: var(--c-base) !important;
  }

  .p-information__category-button--category6:hover {
    background-color: #EA472E !important;
    color: var(--c-base) !important;
  }

  .p-information__category-button--category7:hover {
    background-color: #67A41C !important;
    color: var(--c-base) !important;
  }

  .p-information__category-button--category8:hover {
    background-color: #4154C2 !important;
    color: var(--c-base) !important;
  }

  .p-information__category-button--category9:hover {
    background-color: #E150C0 !important;
    color: var(--c-base) !important;
  }

  .p-information__category-button--category10:hover {
    background-color: #7C5E5E !important;
    color: var(--c-base) !important;
  }

  .p-top-information__category-button--all:hover {
    background-color: var(--c-main);
    color: var(--c-base);
  }

  .p-top-information__category-button--news:hover {
    background-color: #8b4dbd !important;
    color: var(--c-base) !important;
  }

  .p-top-information__category-button--ir:hover {
    background-color: #ba8f00 !important;
    color: var(--c-base) !important;
  }

  .p-top-information__category-button--release:hover {
    background-color: #378dcd !important;
    color: var(--c-base) !important;
  }

  .p-top-information__category-button--recruit:hover {
    background-color: #1ca462 !important;
    color: var(--c-base) !important;
  }

  .p-top-information__category-button--other:hover {
    background-color: #555555 !important;
    color: var(--c-base) !important;
  }

  .p-top-information__category-button--category4:hover {
    background-color: #fe6400 !important;
    color: var(--c-base) !important;
  }

  .p-top-information__category-button--category5:hover {
    background-color: #1ca462 !important;
    color: var(--c-base) !important;
  }

  .p-top-information__category-button--category6:hover {
    background-color: #ea472e !important;
    color: var(--c-base) !important;
  }

  .p-top-information__category-button--category7:hover {
    background-color: #67a41c !important;
    color: var(--c-base) !important;
  }

  .p-top-information__category-button--category8:hover {
    background-color: #4154c2 !important;
    color: var(--c-base) !important;
  }

  .p-top-information__category-button--category9:hover {
    background-color: #e150c0 !important;
    color: var(--c-base) !important;
  }

  .p-top-information__category-button--category10:hover {
    background-color: #7c5e5e !important;
    color: var(--c-base) !important;
  }
}

@media screen and (any-hover: hover) and (max-width: 768px) {
  .p-information__category-button:hover::before {
    display: none;
  }

  .p-top-information__category-button:hover::before {
    display: none;
  }
}

@media screen and (max-width: 640px) {
  .c-heading {
    font-size: 2.4rem;
  }

  .c-heading .sub,
  .c-heading .sub-jp {
    font-size: 1.4rem;
  }

  .c-pager__list {
    gap: 6px;
  }

  .c-pager__item {
    width: 29px;
  }

  .c-pager__item.--prev {
    margin-right: 0;
  }

  .c-pager__item.--next {
    margin-left: 0;
  }

  .c-pager__dot,
  .c-pager__number,
  .c-pager__arrow {
    font-size: 1.4rem;
  }

  .p-about-mv {
    height: 300px;
  }

  .p-about-mv__inner {
    place-items: start;
  }

  .p-about-mv__title {
    margin-top: 90px;
    font-size: 3.6rem;
  }

  .p-about-mv__title .sub {
    font-size: 1.6rem;
  }

  .p-about__bg {
    max-width: 300px;
  }

  .p-about-intro__heading {
    font-size: 2.3rem;
  }

  .p-about-model__container::before {
    aspect-ratio: 335/343;
    height: auto;
    min-height: 343px;
  }

  .p-about-value__head {
    aspect-ratio: 1;
  }

  .p-about-sub__head {
    aspect-ratio: 1;
  }

  .p-about-cvp__head {
    aspect-ratio: 1;
  }

  .p-company-message__heading {
    font-size: 2.3rem;
  }

  .p-company-message__heading .logo {
    max-width: 300px;
  }

  .p-company-message__heading .sub {
    font-size: 1.4rem;
  }

  .p-company-message__title {
    font-size: 2.2rem;
  }

  .p-company__box-title {
    font-size: 2rem;
  }

  .p-company__box-title .sub {
    font-size: 1.2rem;
  }

  .p-customer-satisfaction__wrapper,
  .p-customer-communication__wrapper--col03 {
    grid-template-columns: minmax(0, 1fr);
  }

  .p-dx__intro-image {
    max-width: 300px;
  }

  .p-employee-management__group-wrapper {
    grid-template-columns: minmax(0, 1fr);
  }

  .p-employee-wellbeing__box-item {
    -webkit-column-gap: 7px;
    -moz-column-gap: 7px;
    grid-template-columns: 100px minmax(0, 1fr);
    column-gap: 7px;
  }

  .p-employee-wellbeing-plan__heading {
    text-align: center;
  }

  .p-environment-contributing__wrapper {
    grid-template-columns: minmax(0, 1fr);
    margin-top: 30px;
  }

  .p-global-intro__heading {
    font-size: 2.3rem;
    letter-spacing: 1.2px;
  }

  .p-highlight__graph-column {
    aspect-ratio: 335/250;
    max-width: 335px;
  }

  .p-network__tab {
    font-size: 1.4rem;
  }

  .p-recruit-about-culture__text {
    font-size: 1.2rem;
  }

  .p-report-mv__title {
    font-size: 2.7rem;
  }

  .p-stock-price__iframe {
    height: 1470px;
  }

  .p-top-mv {
    min-height: 610px;
  }

  .p-top-mv__slide02 {
    place-items: start end;
    padding-top: 50px;
  }

  .p-top-mv__fraction {
    bottom: 15px;
    left: 15px;
  }

  .p-top-mv__title {
    font-size: 3.2rem;
  }

  .p-top-mv__heading--slide02 {
    margin-left: auto;
    font-size: 2.6rem;
  }

  .p-top-mv__subheading {
    margin-bottom: 10px;
    font-size: 1.6rem;
  }

  .p-top-mv__text {
    margin-top: 40px;
    font-size: 1.2rem;
  }

  .p-top-mv__button--slide02 {
    max-width: 250px;
    margin-left: auto;
    padding: 10px 10px 10px 20px;
  }

  .p-top-mv__heading--slide04,
  .p-top-mv__heading--slide05 {
    font-size: 2.3rem;
  }

  .p-top-mv__topic__title {
    margin-top: 5px;
    line-height: 1.5;
  }

  .p-top-mv__topic__title span {
    -webkit-line-clamp: 2;
  }

  .p-top-about-bg {
    bottom: -70px;
  }

  .p-top-about-bg img {
    width: 640px;
    min-width: 375px;
    height: auto;
  }

  .p-top-business__list {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }

  .p-top-business__item {
    min-height: 37px;
    padding: 30px 20px 20px 30px;
  }

  .p-top-business__item--global {
    padding: 15px;
  }

  .p-top-business__item--global::before {
    padding: 15px;
  }

  .p-top-business__button {
    margin: 20px 0 0 auto;
  }

  .p-top-ir__box {
    max-width: 335px;
    padding: 16px 20px 20px;
  }

  .u-db-sm-max {
    display: block;
  }

  .u-dn-sm-max {
    display: none;
  }
}

@media screen and (max-width: 450px) {
  .p-stock-price__iframe {
    height: 1510px;
  }
}

@media (any-hover: hover) {
  .c-business-button:hover .c-business-button__arrow {
    background-color: var(--c-base);
  }

  .c-business-button:hover .c-business-button__arrows {
    -webkit-transform: translate(42px, 0px);
    -webkit-transition-delay: 100ms;
    -webkit-transition-duration: 1000ms;
    transform: translate(42px, 0px);
    transition-delay: 100ms;
    transition-duration: 1000ms;
  }

  .c-button-primary:hover .c-button-primary__arrow {
    background-color: var(--c-base);
  }

  .c-button-primary:hover .c-button-primary__arrows {
    -webkit-transform: translate(42px, 0px);
    -webkit-transition-delay: 100ms;
    -webkit-transition-duration: 1000ms;
    transform: translate(42px, 0px);
    transition-delay: 100ms;
    transition-duration: 1000ms;
  }

  .c-button-secondary:hover {
    background-color: var(--c-base);
  }

  .c-button-secondary--transparent:hover {
    border-color: var(--c-main);
    background-color: var(--c-main);
  }

  .c-button-secondary:hover .c-button-secondary__arrows {
    -webkit-transform: translate(42px, 0px);
    -webkit-transition-delay: 100ms;
    -webkit-transition-duration: 1000ms;
    transform: translate(42px, 0px);
    transition-delay: 100ms;
    transition-duration: 1000ms;
  }

  .c-form__button:hover {
    opacity: 0.8;
  }

  .c-library-menu__link:hover {
    background-color: var(--c-main);
    color: var(--c-base);
  }

  .c-link-primary:hover .c-link-primary__arrow {
    -webkit-transform: translate(14px, 0px);
    -webkit-transition-delay: 100ms;
    -webkit-transition-duration: 500ms;
    transform: translate(14px, 0px);
    transition-delay: 100ms;
    transition-duration: 500ms;
  }

  .c-more-contents__button--reverse:hover .c-button-primary__arrow {
    background-color: var(--c-main);
  }

  .c-pager__number:not(.--current):hover {
    background-color: #ddd;
  }

  .c-post .wp-block-button__link:hover {
    background-color: var(--c-base);
    color: var(--c-main);
  }

  .c-side-anchor__link:hover {
    color: var(--c-main);
  }

  .c-side-anchor__link:hover .p-faq__side-chapter {
    border-color: var(--c-main);
  }

  .l-bottom-menu__link:hover img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }

  .l-footer-alert__button span:hover {
    background-color: var(--c-base);
    color: var(--c-main);
  }

  .l-footer__main-link:hover {
    opacity: 0.5;
  }

  .l-footer__item-link:hover {
    color: var(--c-main);
  }

  .l-footer__bottom-link:hover {
    opacity: 0.5;
  }

  :hover > .l-header__nav-button-arrow {
    fill: var(--c-main);
  }

  .l-header__drawer--main-link:hover .arrow {
    background-color: var(--c-main);
  }

  .l-header__drawer--main-link:hover .arrow svg {
    fill: var(--c-base);
  }

  .l-header__drawer-link:hover {
    border-color: var(--c-main);
  }

  .l-header__drawer-link:hover .arrow {
    fill: var(--c-main);
  }

  .l-header-sub-link:hover .arrow {
    fill: var(--c-main);
  }

  .l-header__search:hover {
    opacity: 0.8;
  }

  .l-header__lang:hover {
    opacity: 0.8;
  }

  .l-header__inquiry:hover {
    opacity: 0.8;
  }

  .p-accounts__title:hover {
    opacity: 0.7;
  }

  .p-business__link:hover {
    background-color: var(--c-main);
    color: var(--c-base);
  }

  .p-business__link:hover .arrow {
    fill: var(--c-base);
  }

  .p-businessreport__title:hover {
    opacity: 0.7;
  }

  .p-electron__title:hover {
    opacity: 0.7;
  }

  .p-entry__link:hover {
    opacity: 0.6;
  }

  .p-equipment-project__button:hover .p-equipment-project__button-icon {
    background-color: var(--c-base);
  }

  .p-equipment-project__button:hover .p-equipment-project__button-icon svg {
    fill: var(--c-main);
  }

  .p-global-bases__child-link:hover {
    border-color: #000;
  }

  .p-governance__box:hover .p-governance__box-image img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }

  .p-group__link:hover {
    text-decoration: underline;
  }

  .p-information-detail__nav:hover .p-information-detail__nav-arrow {
    background-color: var(--c-main);
  }

  .p-information-detail__nav:hover .p-information-detail__nav-arrows {
    -webkit-transform: translate(42px, 0px);
    -webkit-transition-delay: 100ms;
    -webkit-transition-duration: 1000ms;
    transform: translate(42px, 0px);
    transition-delay: 100ms;
    transition-duration: 1000ms;
  }

  .p-information__category-button:hover {
    background-color: var(--bg-main);
    color: var(--c-main);
  }

  .p-information__category-button:hover::before {
    background-color: var(--c-main);
  }

  .p-information__link:hover .p-information__arrow {
    border-color: var(--c-main);
  }

  .p-integrated-reports__item-link:hover {
    opacity: 0.7;
  }

  .p-ir-latest-link:hover {
    background-color: var(--c-base);
    color: var(--c-main);
  }

  .p-ir-latest-link:hover .icon {
    fill: var(--c-main);
  }

  .p-ir__news-link:hover {
    opacity: 0.6;
  }

  .p-ir__news-button:hover .p-ir__news-button__arrows {
    -webkit-transform: translate(30px, 0px);
    -webkit-transition-delay: 100ms;
    -webkit-transition-duration: 1000ms;
    transform: translate(30px, 0px);
    transition-delay: 100ms;
    transition-duration: 1000ms;
  }

  .p-ir__column-heading:hover .p-ir__column-arrow {
    background-color: var(--c-base);
  }

  .p-ir__column-heading:hover .p-ir__column-icons {
    -webkit-transform: translate(42px, 0px);
    -webkit-transition-delay: 100ms;
    -webkit-transition-duration: 1000ms;
    transform: translate(42px, 0px);
    transition-delay: 100ms;
    transition-duration: 1000ms;
  }

  .p-ir__column-link:hover .p-ir__column-link-arrow {
    -webkit-transform: translate(14px, 0px);
    -webkit-transition-delay: 100ms;
    -webkit-transition-duration: 500ms;
    transform: translate(14px, 0px);
    transition-delay: 100ms;
    transition-duration: 500ms;
  }

  .p-ir__menu-link:hover {
    background-color: var(--c-main);
    color: var(--c-base);
  }

  .p-library-documents__title:hover {
    opacity: 0.7;
  }

  .p-ir-latest-link:hover {
    background-color: var(--c-base);
    color: var(--c-main);
  }

  .p-ir-latest-link:hover .icon {
    fill: var(--c-main);
  }

  .p-library__title:hover {
    opacity: 0.7;
  }

  .p-marketing__button:hover .p-marketing__button-icon {
    background-color: var(--c-base);
  }

  .p-marketing__button:hover .p-marketing__button-icon svg {
    fill: var(--c-main);
  }

  .p-network__tab:hover {
    background-color: var(--c-main);
    color: var(--c-base);
  }

  .p-network__anchor:hover {
    background-color: var(--c-main);
    color: var(--c-base);
  }

  .p-network-domestic__def-link:hover {
    border-color: #000;
  }

  .p-network-overseas__child-link:hover {
    border-color: #000;
  }

  .p-officer-member__button:hover .p-officer-member__button__arrows {
    -webkit-transform: translate(30px, 0px);
    -webkit-transition-delay: 100ms;
    -webkit-transition-duration: 1000ms;
    transform: translate(30px, 0px);
    transition-delay: 100ms;
    transition-duration: 1000ms;
  }

  .p-presentation__title:hover {
    opacity: 0.7;
  }

  .p-report__title:hover {
    opacity: 0.7;
  }

  .p-sitemap__link:hover .p-sitemap__link-arrow {
    -webkit-transform: translate(14px, 0px);
    -webkit-transition-delay: 100ms;
    -webkit-transition-duration: 500ms;
    transform: translate(14px, 0px);
    transition-delay: 100ms;
    transition-duration: 500ms;
  }

  .p-sitemap__item-link:hover {
    opacity: 0.5;
  }

  .p-social__box:hover .p-social__box-image img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }

  .p-top-mv__button--slide02:hover .c-button-primary__arrow {
    background-color: var(--c-main);
  }

  .p-top-business__link:hover .p-top-business__button {
    border-color: var(--c-main);
    background-color: var(--c-main);
  }

  .p-top-business__link:hover .c-button-secondary__arrows {
    -webkit-transform: translate(42px, 0px);
    -webkit-transition-delay: 100ms;
    -webkit-transition-duration: 1000ms;
    transform: translate(42px, 0px);
    transition-delay: 100ms;
    transition-duration: 1000ms;
  }

  .p-top-information__category-button:hover {
    background-color: var(--bg-main);
    color: var(--c-main);
  }

  .p-top-information__category-button:hover::before {
    background-color: var(--c-main);
  }

  .p-top-information__link:hover .p-top-information__arrow {
    border-color: var(--c-main);
  }

  .p-top-menu__box:hover::before {
    -webkit-clip-path: inset(0 0 0 0);
    -webkit-filter: brightness(0.5);
    clip-path: inset(0 0 0 0);
    filter: brightness(0.5);
  }

  .p-top-menu__box:hover .p-top-menu__wrapper {
    opacity: 1;
  }

  .p-top-menu__box:hover .p-top-menu__head,
  .p-top-menu__box:hover .p-top-menu__text {
    color: var(--c-base);
  }
}
/*# sourceMappingURL=style.css.map */
