@charset "UTF-8";
/* ========== ========== ==========
個別部
========== ========== ========== */
.pAbout_whiteCompany_inner {
  max-width: max(48.3333333333vw, 696px);
  margin-inline: auto;
}
.pAbout_whiteCompany_title {
  font-size: clamp(20px, calc(28 / var(--base-width-pc) * 100vw), 28px);
  font-weight: bold;
  line-height: 1.5714285714;
  margin-bottom: 40px;
  text-align: center;
  letter-spacing: 0.03rem;
}
.pAbout_whiteCompany_texts {
  display: flex;
  gap: 20px clamp(15px, calc(28 / var(--base-width-pc) * 100vw), 28px);
  margin-bottom: clamp(20px, calc(40 / var(--base-width-pc) * 100vw), 40px);
}
@media screen and (max-width: 768px) {
  .pAbout_whiteCompany_texts {
    flex-direction: column;
  }
}
.pAbout_whiteCompany_text {
  font-size: clamp(14px, calc(16 / var(--base-width-pc) * 100vw), 16px);
  line-height: 2;
}
.pAbout_whiteCompany_image {
  -o-object-fit: contain;
     object-fit: contain;
  width: clamp(100px, 11.1111111111vw, 250px);
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .pAbout_whiteCompany_image {
    width: 250px;
    margin-inline: auto;
  }
}
.pAbout_whiteCompany iframe {
  aspect-ratio: 648/364;
}

.missionVision {
  padding-top: calc(var(--margin-bottom1));
  padding-bottom: calc(var(--margin-bottom1));
}
@media screen and (max-width: 768px) {
  .missionVision {
    overflow: hidden;
  }
}
.missionVision .sectionWrap {
  display: flex;
  align-items: center;
  gap: 70px clamp(32.67px, calc(98 / var(--base-width-pc) * 100vw), 98px);
  justify-content: flex-start;
}
@media screen and (max-width: 768px) {
  .missionVision .sectionWrap {
    flex-direction: column-reverse;
  }
}
.missionVision_image {
  width: clamp(180px, calc(338 / var(--base-width-pc) * 100vw), 338px);
  padding: clamp(60px, calc(86.5 / var(--base-width-pc) * 100vw), 86.5px);
}
.missionVision_images {
  position: relative;
}
.missionVision_images::before, .missionVision_images::after {
  content: "";
  position: absolute;
  inset: 0;
  display: block;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  height: 50%;
  width: 50%;
  border: solid 1px black;
  border-radius: 50%;
}
.missionVision_images.-active1::before {
  -webkit-animation: pulsate 4s linear infinite;
          animation: pulsate 4s linear infinite;
}
.missionVision_images.-active2::after {
  -webkit-animation: pulsate 4s linear infinite;
          animation: pulsate 4s linear infinite;
  -webkit-animation-delay: 2s;
          animation-delay: 2s;
}
@media screen and (max-width: 768px) {
  .missionVision_image {
    width: 100%;
    max-width: clamp(240px, 45.5729166667vw, 350px);
  }
}
.missionVision_image_arrow {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -57%);
  width: clamp(100px, calc(165 / var(--base-width-pc) * 100vw), 165px);
  transform-origin: 50% 57%;
  -webkit-animation: pulsate-arrow 2s linear infinite;
          animation: pulsate-arrow 2s linear infinite;
  -webkit-animation-delay: -0.3s;
          animation-delay: -0.3s;
}
@media screen and (max-width: 768px) {
  .missionVision_image_arrow {
    width: clamp(120px, 21.484375vw, 165px);
  }
}
.missionVision_image_satellite {
  position: absolute;
  z-index: 1;
  width: clamp(100px, calc(180 / var(--base-width-pc) * 100vw), 180px);
  top: 50%;
  left: 50%;
}
@media screen and (max-width: 768px) {
  .missionVision_image_satellite {
    width: 180px;
  }
}
.missionVision_image_satellite.-top {
  transform: translate(-50%, -50%) rotate(-90deg) translate(clamp(100px, calc(170 / var(--base-width-pc) * 100vw), 170px)) rotate(90deg);
}
@media screen and (max-width: 768px) {
  .missionVision_image_satellite.-top {
    transform: translate(-50%, -50%) rotate(-90deg) translate(clamp(135px, 22.1354166667vw, 170px)) rotate(90deg);
  }
}
.missionVision_image_satellite.-right {
  transform: translate(-50%, -50%) rotate(45deg) translate(clamp(100px, calc(170 / var(--base-width-pc) * 100vw), 170px)) rotate(-45deg);
}
@media screen and (max-width: 768px) {
  .missionVision_image_satellite.-right {
    transform: translate(-50%, -50%) rotate(45deg) translate(clamp(135px, 22.1354166667vw, 170px)) rotate(-45deg);
  }
}
.missionVision_image_satellite.-left {
  transform: translate(-50%, -50%) rotate(135deg) translate(clamp(100px, calc(170 / var(--base-width-pc) * 100vw), 170px)) rotate(-135deg);
}
@media screen and (max-width: 768px) {
  .missionVision_image_satellite.-left {
    transform: translate(-50%, -50%) rotate(135deg) translate(clamp(135px, 22.1354166667vw, 170px)) rotate(-135deg);
  }
}
.missionVision_texts:not(:last-of-type) {
  margin-bottom: min(calc(100 / var(--base-width-pc) * 100vw), 100px);
}
@media screen and (max-width: 768px) {
  .missionVision_textsWrap {
    align-self: flex-start;
  }
}
.missionVision_title {
  font-size: clamp(20px, calc(28 / var(--base-width-pc) * 100vw), 28px);
  font-family: var(--font-sub1);
  color: #CCC;
  display: flex;
  align-items: center;
  margin-bottom: clamp(10px, calc(15 / var(--base-width-pc) * 100vw), 15px);
}
.missionVision_title::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 12px;
  background-color: #AAA;
}
.missionVision_text {
  font-size: clamp(20px, calc(28 / var(--base-width-pc) * 100vw), 28px);
  font-weight: bold;
  line-height: 1.9285714286;
}

@-webkit-keyframes spin-arrow {
  from {
    transform: translate(-50%, -57%) rotate(0deg);
  }
  to {
    transform: translate(-50%, -57%) rotate(360deg);
  }
}

@keyframes spin-arrow {
  from {
    transform: translate(-50%, -57%) rotate(0deg);
  }
  to {
    transform: translate(-50%, -57%) rotate(360deg);
  }
}
@-webkit-keyframes mv-orbit {
  from {
    transform: translate(-50%, -50%) rotate(0deg) translate(clamp(100px, calc(170 / var(--base-width-pc) * 100vw), 170px)) rotate(0deg);
  }
  to {
    transform: translate(-50%, -50%) rotate(360deg) translate(clamp(100px, calc(170 / var(--base-width-pc) * 100vw), 170px)) rotate(-360deg);
  }
}
@keyframes mv-orbit {
  from {
    transform: translate(-50%, -50%) rotate(0deg) translate(clamp(100px, calc(170 / var(--base-width-pc) * 100vw), 170px)) rotate(0deg);
  }
  to {
    transform: translate(-50%, -50%) rotate(360deg) translate(clamp(100px, calc(170 / var(--base-width-pc) * 100vw), 170px)) rotate(-360deg);
  }
}
@-webkit-keyframes mv-orbit-sp {
  from {
    transform: translate(-50%, -50%) rotate(0deg) translate(clamp(120px, 22.1354166667vw, 170px)) rotate(0deg);
  }
  to {
    transform: translate(-50%, -50%) rotate(360deg) translate(clamp(120px, 22.1354166667vw, 170px)) rotate(-360deg);
  }
}
@keyframes mv-orbit-sp {
  from {
    transform: translate(-50%, -50%) rotate(0deg) translate(clamp(120px, 22.1354166667vw, 170px)) rotate(0deg);
  }
  to {
    transform: translate(-50%, -50%) rotate(360deg) translate(clamp(120px, 22.1354166667vw, 170px)) rotate(-360deg);
  }
}
@-webkit-keyframes pulsate {
  0% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 1;
  }
  100% {
    transform: translate(-50%, -50%) scale(3);
    opacity: 0;
  }
}
@keyframes pulsate {
  0% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 1;
  }
  100% {
    transform: translate(-50%, -50%) scale(3);
    opacity: 0;
  }
}
@-webkit-keyframes pulsate-arrow {
  0%, 100% {
    transform: translate(-50%, -57%) scale(1);
  }
  50% {
    transform: translate(-50%, -57%) scale(1.05);
  }
}
@keyframes pulsate-arrow {
  0%, 100% {
    transform: translate(-50%, -57%) scale(1);
  }
  50% {
    transform: translate(-50%, -57%) scale(1.05);
  }
}
.value {
  margin-bottom: calc(var(--margin-bottom1) + 30px);
}
.value .missionVision_title {
  margin-bottom: clamp(33.33px, calc(50 / var(--base-width-pc) * 100vw), 50px);
}
.value_ul {
  display: flex;
  flex-wrap: wrap;
  gap: 80px 20px;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .value_ul {
    flex-direction: column;
    row-gap: 60px;
  }
}
.value_li {
  width: calc((100% - 20px) / 2);
  display: flex;
  align-items: center;
  gap: 52px 35px;
}
@media screen and (max-width: 768px) {
  .value_li {
    width: 100%;
    margin-left: 10px;
    gap: 30px;
  }
}
.value_li_icon {
  -o-object-fit: contain;
     object-fit: contain;
}
.value_li_iconWrap {
  position: relative;
  width: 80px;
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.value_li_iconWrap::before {
  width: clamp(190px, calc(218 / var(--base-width-pc) * 100vw), 218px);
  aspect-ratio: 1/1;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
  content: "";
  display: block;
  background-image: url("../img/value_icon_back.png");
  background-size: contain;
  background-repeat: no-repeat;
}
.value_li_text {
  font-size: clamp(16px, calc(20 / var(--base-width-pc) * 100vw), 20px);
  font-weight: bold;
  letter-spacing: 0.03rem;
}

.number {
  padding-block: clamp(60px, calc(120 / var(--base-width-pc) * 100vw), 120px) clamp(50px, calc(150 / var(--base-width-pc) * 100vw), 150px);
  margin-bottom: var(--margin-bottom1);
  background-color: #EEE;
}
.number .sectionTitle {
  margin-bottom: clamp(48.5px, calc(97 / var(--base-width-pc) * 100vw), 97px);
}
.number_ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 80px min(calc(98 / var(--base-width-pc) * 100vw), 98px);
}
.number_li {
  width: calc((100% - min(calc(98 / var(--base-width-pc) * 100vw), 98px) * 2) / 3);
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 250px;
}
.number_li:has(.bar1, .bar2) {
  position: relative;
}
.number_li_title {
  background-color: black;
  width: 100%;
  color: white;
  padding-block: 7px;
  text-align: center;
  font-size: clamp(16px, calc(20 / var(--base-width-pc) * 100vw), 20px);
  font-weight: bold;
  margin-bottom: 10px;
  flex-shrink: 0;
}
.number_li_text {
  text-align: center;
  font-size: clamp(35px, calc(70 / var(--base-width-pc) * 100vw), 70px);
  line-height: 1;
  font-family: var(--font-sub3);
  font-weight: bold;
  letter-spacing: 0.03rem;
  margin-bottom: 20px;
  flex-shrink: 0;
}
.number_li_text_small {
  font-size: clamp(25px, calc(50 / var(--base-width-pc) * 100vw), 50px);
}
.number_li_graph {
  width: 100%;
  line-height: 0;
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.number_li_graph:has(.bar1) {
  min-height: 120px;
}
.number_li_graph:has(.slope) {
  position: relative;
}
.number_li_graph svg {
  margin-inline: auto;
  width: 100%;
}
.number_li_graph .bar1 {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}
.number_li_graph .bar1::before {
  content: "";
  display: block;
  height: clamp(100px, calc(130 / var(--base-width-pc) * 100vw), 130px);
  width: 100%;
  background-color: black;
}
.number_li_graph .bar1::after {
  content: "";
  display: block;
  height: clamp(100px, calc(130 / var(--base-width-pc) * 100vw), 130px);
  position: absolute;
  bottom: 20px;
  left: 0;
  width: 0;
  background-color: #1B7290;
  transition: all 2.5s;
}
.number_li_graph .bar1:where(.-active *)::after {
  width: 82%;
}
.number_li_graph .slope::before {
  content: "";
  display: block;
  width: 100%;
  height: 120px;
  background-color: black;
  -webkit-clip-path: polygon(100% 0, 100% 100%, 0 100%);
          clip-path: polygon(100% 0, 100% 100%, 0 100%);
}
.number_li_graph .slope::after {
  content: "";
  position: absolute;
  bottom: 15%;
  left: 0;
  display: block;
  width: 40%;
  aspect-ratio: 1/0.7;
  background-color: #A16758;
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
          clip-path: polygon(0 0, 100% 0, 50% 100%);
  transition: all 3s;
}
.number_li_graph .slope:where(.-active *)::after {
  left: 23%;
  bottom: 33%;
}
@media screen and (max-width: 768px) {
  .number_li_graph .slope:where(.-active *)::after {
    bottom: 43%;
  }
}
.number_li_graph .arrow {
  position: relative;
  width: 100%;
  aspect-ratio: 298/140;
  background: #000;
  -webkit-clip-path: polygon(15% 0, 100% 0, 87% 50%, 100% 100%, 15% 100%, 0% 50%);
          clip-path: polygon(15% 0, 100% 0, 87% 50%, 100% 100%, 15% 100%, 0% 50%);
  overflow: hidden;
}
.number_li_graph .arrow::after {
  content: "";
  position: absolute;
  inset: 0;
  background: #5f7f66;
  transform-origin: bottom center;
  transform: scaleY(0);
  transition: all 2.5s ease-out;
}
.number_li_graph .arrow:where(.-active *)::after {
  transform: scaleY(0.945);
}
.number_li_graph .bar2 {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}
.number_li_graph .bar2::before {
  content: "";
  display: block;
  height: clamp(100px, calc(130 / var(--base-width-pc) * 100vw), 130px);
  width: 0%;
  background-color: #DFCAA7;
  position: relative;
  z-index: 1;
  transition: all 2.5s;
}
.number_li_graph .bar2::after {
  content: "";
  display: block;
  height: clamp(100px, calc(130 / var(--base-width-pc) * 100vw), 130px);
  position: absolute;
  bottom: 20px;
  left: 0;
  width: 100%;
  background-color: black;
}
.number_li_graph .bar2:where(.-active *)::before {
  width: 27%;
}
.number_li_graph .donut-svg {
  width: 100%;
  height: auto;
  display: block;
}
.number_li_graph #donutFg {
  transition: stroke-dasharray 1.5s ease-out;
  /* 可視長の変化をアニメ */
  will-change: stroke-dasharray;
}

.environment {
  margin-bottom: var(--margin-bottom1);
}
.environment_body {
  display: flex;
  gap: 20px clamp(20px, calc(60 / var(--base-width-pc) * 100vw), 60px);
}
@media screen and (max-width: 768px) {
  .environment_body {
    flex-direction: column;
  }
}
.environment_text1 {
  font-size: clamp(20px, calc(28 / var(--base-width-pc) * 100vw), 28px);
  font-weight: bold;
  line-height: 1.5714285714;
  margin-bottom: clamp(10px, calc(20 / var(--base-width-pc) * 100vw), 20px);
}
.environment_text2 {
  font-size: clamp(14px, calc(16 / var(--base-width-pc) * 100vw), 16px);
  line-height: 2;
}
.environment_image {
  width: clamp(270px, calc(540 / var(--base-width-pc) * 100vw), 540px);
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .environment_image {
    width: 100%;
    max-width: 400px;
    margin-inline: auto;
  }
}

.history {
  margin-bottom: var(--margin-bottom1);
}
.history_li {
  display: flex;
  align-items: flex-start;
  gap: 30px clamp(12.5px, calc(25 / var(--base-width-pc) * 100vw), 25px);
  width: 100%;
}
.history_li:not(:last-of-type) {
  margin-bottom: 25px;
}
.history_li_dot {
  display: inline-block;
  position: relative;
  overflow: visible;
  align-self: stretch;
  flex-shrink: 0;
}
.history_li_dot::after {
  content: "";
  position: relative;
  display: block;
  margin-top: calc((clamp(18px, calc(24 / var(--base-width-pc) * 100vw), 24px) - 8px) / 2);
  width: 8px;
  left: calc(50% - 11px);
  aspect-ratio: 1/1;
  background-color: #555;
  margin-inline: 7px;
}
.history_li_dot:where(.-first *)::after {
  width: 22px;
  left: calc(50% - 11px);
  margin-inline: 0;
  background-color: black;
  margin-top: 0;
}
.history_li_dot::before {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: calc(clamp(18px, calc(24 / var(--base-width-pc) * 100vw), 24px) / 2 * -1 - 25px);
  left: 50%;
  transform: translate(-50%, 0);
  display: block;
  width: 1px;
  height: calc(100% + 25px);
  background-color: #AAA;
  overflow: visible;
}
.history_li:last-of-type .history_li_dot::before {
  display: none;
}
.history_li_texts {
  width: 100%;
}
.history_li_year {
  font-size: clamp(18px, calc(24 / var(--base-width-pc) * 100vw), 24px);
  font-family: var(--font-sub1);
  line-height: 1;
  display: flex;
  align-items: center;
  margin-bottom: clamp(19.33px, calc(29 / var(--base-width-pc) * 100vw), 29px);
}
.history_li_year::after {
  content: "";
  margin-left: 14px;
  display: inline-block;
  height: 1px;
  width: 100%;
  background-color: #AAA;
}
.history_li_event {
  margin-left: min(calc(191 / var(--base-width-pc) * 100vw), 191px);
  display: flex;
  gap: clamp(12px, calc(24 / var(--base-width-pc) * 100vw), 24px);
}
@media screen and (max-width: 768px) {
  .history_li_event {
    margin-left: 0;
  }
}
.history_li_event:not(:last-of-type) {
  margin-bottom: clamp(21.33px, calc(32 / var(--base-width-pc) * 100vw), 32px);
}
.history_li_event_date {
  font-family: var(--font-sub1);
  font-size: 14px;
  margin-top: 3px;
  flex-shrink: 0;
  width: 66px;
  letter-spacing: 0.03rem;
}
.history_li_event_date:where(.-first *) {
  font-size: 18px;
  padding-top: min(calc(30 / var(--base-width-pc) * 100vw), 30px);
}
.history_li_event_text {
  font-size: 16px;
  letter-spacing: 0.03rem;
}

/* 個別部ここまで
---------- ---------- */