@charset "UTF-8";
@property --zoom-factor {
  syntax: "<length>";
  inherits: false;
  initial-value: 0;
}
.zoom-wrapper {
  --_min-viewport-width: 480px; /* viewportの最小値を下回ったら縮小をやめる */
  --_max-viewport-width: 1920px; /* viewportの最大値を上回ったら拡大をやめる */
  --_zoom-value: clamp(
    tan(atan2(var(--_min-viewport-width), var(--_max-viewport-width))),
    tan(atan2(var(--zoom-factor), var(--_max-viewport-width))),
    1
  );
  --zoom-factor: clamp(
    var(--_min-viewport-width),
    100dvi,
    var(--_max-viewport-width)
  );
  zoom: var(--_zoom-value);
  -webkit-text-size-adjust: initial; /* iOS Safariのバグを修正 */
  /* 768px以下では100%のズーム値を適用 */
}
@media (max-width: 480px) {
  .zoom-wrapper {
    zoom: 1;
  }
}

/*============================================================================
	common
=============================================================================*/
.accordionBox {
  width: 100%;
}
.accordionBox .targetBtn {
  cursor: pointer;
}
.accordionBox .acdInner {
  padding: 0;
  width: 100%;
  height: 0;
  overflow: hidden;
  transition: 0.5s;
}
.accordionBox.active {
  overflow-y: auto;
}

/*============================================================================
	cheader
=============================================================================*/
.cheader {
  margin-top: 80px;
  padding: clamp(58px, 12.0828vw, 145px) 0 90px;
  position: relative;
}
@media (max-width: 480px) {
  .cheader {
    margin-top: 65px;
    padding: 80px 0 80px;
  }
}
.cheader .ziguzagu {
  position: absolute;
  bottom: 0;
  left: -6.8055555556vw;
  width: 44.1666666667vw;
  height: 3.125vw;
  z-index: 1;
}
@media (max-width: 480px) {
  .cheader .ziguzagu {
    width: 500px;
    left: -193px;
    height: 35px;
  }
}
.cheader .container hgroup {
  text-align: left;
}
.cheader.cheaderSub {
  padding-bottom: 100px;
}
@media (max-width: 480px) {
  .cheader.cheaderSub {
    padding-bottom: 80px;
  }
}
.cheader.cheaderSub .ttlInner {
  border-bottom: 1px solid #659DC6;
  padding-bottom: 12px;
}
.cheader.cheaderSub .ttlInner hgroup {
  text-align: left;
  display: flex;
  align-items: center;
  gap: 16px;
}
.cheader.cheaderSub .ttlInner hgroup h2 {
  font-size: clamp(16px, 2vw, 24px);
}
@media (max-width: 480px) {
  .cheader.cheaderSub .ttlInner hgroup h2 {
    font-size: 2rem;
  }
}
.cheader.cheaderSub .ttlInner hgroup p {
  font-size: clamp(14px, 2vw, 16px);
  margin-top: 0;
}
.cheader.contact {
  margin-top: 0;
  background: rgba(101, 157, 198, 0.15);
  padding: clamp(90px, 18.75vw, 225px) 0 100px;
}
@media (max-width: 480px) {
  .cheader.contact {
    padding: 145px 0 80px;
  }
}
.cheader.contact .ttlInner hgroup {
  text-align: left;
}
.cheader.member {
  margin-top: 0;
  background: rgba(178, 0, 96, 0.15);
  padding: clamp(90px, 18.75vw, 225px) 0 100px;
}
@media (max-width: 480px) {
  .cheader.member {
    padding: 145px 0 80px;
  }
}
.cheader.member .ttlInner hgroup {
  text-align: left;
}

@keyframes overAnime {
  from {
    transform: translateY(-50%);
  }
  to {
    transform: translateY(100%);
  }
}
/*============================================================================
	Challenge
=============================================================================*/
.challengeLinkWrap {
  width: 75.52%;
  margin: clamp(80px, 16.6668vw, 200px) auto clamp(60px, 12.5004vw, 150px);
  max-width: 1450px;
}
@media (max-width: 480px) {
  .challengeLinkWrap {
    width: 100%;
    margin: 100px auto;
  }
}
.challengeLinkWrap .challengeLinkInner .challengeLinkSwiper .swiper .swiper-wrapper .swiper-slide a {
  display: block;
  width: 100%;
  filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.15));
}
.challengeLinkWrap .challengeLinkInner .challengeLinkSwiper .swiper .swiper-wrapper .swiper-slide a .imgBox {
  width: 100%;
}
.challengeLinkWrap .challengeLinkInner .challengeLinkSwiper .swiper .swiper-wrapper .swiper-slide a .imgBox picture {
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
}
.challengeLinkWrap .challengeLinkInner .challengeLinkSwiper .swiper .swiper-wrapper .swiper-slide a .imgBox picture::before {
  content: "";
  display: block;
  padding-top: 43.56%;
}
@media (max-width: 480px) {
  .challengeLinkWrap .challengeLinkInner .challengeLinkSwiper .swiper .swiper-wrapper .swiper-slide a .imgBox picture::before {
    padding-top: 81.67%;
  }
}
.challengeLinkWrap .challengeLinkInner .challengeLinkSwiper .swiper .swiper-wrapper .swiper-slide a .imgBox picture source, .challengeLinkWrap .challengeLinkInner .challengeLinkSwiper .swiper .swiper-wrapper .swiper-slide a .imgBox picture img {
  margin: auto;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 0;
  border-radius: 25px 25px 0 0;
  overflow: hidden;
}
.challengeLinkWrap .challengeLinkInner .challengeLinkSwiper .swiper .swiper-wrapper .swiper-slide a .txtBox {
  background: #EBE8E1;
  border-radius: 0 0 25px 25px;
  padding: 7px 10px 18px;
}
@media (max-width: 480px) {
  .challengeLinkWrap .challengeLinkInner .challengeLinkSwiper .swiper .swiper-wrapper .swiper-slide a .txtBox {
    padding: 10px 10px 18px;
  }
}
.challengeLinkWrap .challengeLinkInner .challengeLinkSwiper .swiper .swiper-wrapper .swiper-slide a .txtBox p.read {
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: 500;
  letter-spacing: 0.05em;
}
.challengeLinkWrap .challengeLinkInner .challengeLinkSwiper .swiper .swiper-wrapper .swiper-slide a .txtBox .ttl {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
@media (max-width: 480px) {
  .challengeLinkWrap .challengeLinkInner .challengeLinkSwiper .swiper .swiper-wrapper .swiper-slide a .txtBox .ttl {
    font-size: 2.2rem;
    margin-top: 3px;
  }
}
.challengeLinkWrap .challengeLinkInner .challengeLinkSwiper .swiper .swiper-pagination {
  position: relative;
  margin-top: 50px;
}
.challengeLinkWrap .challengeLinkInner .challengeLinkSwiper .swiper .swiper-pagination .swiper-pagination-bullet {
  background: none;
  border: 1.5px solid #161616;
  opacity: 1;
  width: 10px;
  height: 10px;
  border-radius: 50%;
}
.challengeLinkWrap .challengeLinkInner .challengeLinkSwiper .swiper .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: #161616;
}

.challengeFvWrap {
  overflow-x: clip;
}
.challengeFvWrap .challengeFvInner {
  display: flex;
}
@media (max-width: 480px) {
  .challengeFvWrap .challengeFvInner {
    flex-direction: column;
  }
}
.challengeFvWrap .challengeFvInner .challengeFvTxtBox {
  width: 72.92%;
  position: relative;
}
@media (max-width: 480px) {
  .challengeFvWrap .challengeFvInner .challengeFvTxtBox {
    width: 100%;
  }
}
.challengeFvWrap .challengeFvInner .challengeFvTxtBox .fvMainTtl {
  position: absolute;
  bottom: 10vw;
  left: clamp(60px, 10.416vw, 100px);
  width: calc(100% - 6.944444vw);
  z-index: 3;
}
@media (max-width: 480px) {
  .challengeFvWrap .challengeFvInner .challengeFvTxtBox .fvMainTtl {
    bottom: auto;
    top: 25%;
    left: 15px;
    width: calc(100% - 15px);
  }
}
.challengeFvWrap .challengeFvInner .challengeFvTxtBox .fvMainTtl h2 span {
  display: block;
}
.challengeFvWrap .challengeFvInner .challengeFvTxtBox .fvMainTtl h2 span.en {
  font-size: clamp(16px, 16vw, 165px);
  font-weight: 200;
  line-height: 1.2303030303;
  font-family: "Outfit", sans-serif;
  color: #FF5B19;
  position: relative;
}
.challengeFvWrap .challengeFvInner .challengeFvTxtBox .fvMainTtl h2 span.en::before {
  content: "";
  position: absolute;
  bottom: 0.25em;
  left: 0;
  width: 120%;
  height: 6px;
  background: #FF5B19;
  transform: scaleX(var(--kv-line-scale, 1));
  transform-origin: left center;
  will-change: transform;
}
.challengeFvWrap .challengeFvInner .challengeFvTxtBox .fvMainTtl h2 span.en.line-animate::before {
  transform: scaleX(0);
  animation: challengeLineReveal 1s forwards ease-out;
}
@media (max-width: 480px) {
  .challengeFvWrap .challengeFvInner .challengeFvTxtBox .fvMainTtl h2 span.en {
    font-size: 6rem;
  }
  .challengeFvWrap .challengeFvInner .challengeFvTxtBox .fvMainTtl h2 span.en::before {
    height: 2.5px;
  }
}
.challengeFvWrap .challengeFvInner .challengeFvTxtBox .fvMainTtl h2 span.jp {
  margin-top: 20px;
  font-size: clamp(22px, 3vw, 32px);
  font-weight: 500;
  line-height: 1;
  color: #FAF9F5;
  background: #FF5B19;
  padding: 4px 40px 4px 10px;
  position: relative;
  overflow: hidden;
  width: fit-content;
}
.challengeFvWrap .challengeFvInner .challengeFvTxtBox .fvMainTtl h2 span.jp::after {
  content: "";
  position: absolute;
  top: 0;
  right: -3px;
  width: 43px;
  height: 100%;
  background: url(../img/challenge/fv_subTtl_line.svg) no-repeat center center/contain;
}
@media (max-width: 480px) {
  .challengeFvWrap .challengeFvInner .challengeFvTxtBox .fvMainTtl h2 span.jp {
    font-size: 1.6rem;
    height: 28px;
    line-height: 28px;
    padding-top: 0;
    padding-bottom: 0;
    margin-top: 50px;
  }
  .challengeFvWrap .challengeFvInner .challengeFvTxtBox .fvMainTtl h2 span.jp::after {
    width: 28px;
    height: 28px;
  }
}
.challengeFvWrap .challengeFvInner .challengeFvTxtBox .bg {
  width: 100%;
  position: relative;
}
.challengeFvWrap .challengeFvInner .challengeFvTxtBox .bg::before {
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(59, 59, 59, 0.45);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
.challengeFvWrap .challengeFvInner .challengeFvTxtBox .bg picture {
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
}
.challengeFvWrap .challengeFvInner .challengeFvTxtBox .bg picture::before {
  content: "";
  display: block;
  padding-top: 77.14%;
}
@media (max-width: 480px) {
  .challengeFvWrap .challengeFvInner .challengeFvTxtBox .bg picture::before {
    padding-top: 150%;
  }
}
.challengeFvWrap .challengeFvInner .challengeFvTxtBox .bg picture source, .challengeFvWrap .challengeFvInner .challengeFvTxtBox .bg picture img {
  margin: auto;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 0;
}
.challengeFvWrap .challengeFvInner .challengeFvImg {
  width: 27.08%;
  position: relative;
  z-index: 3;
}
@media (max-width: 480px) {
  .challengeFvWrap .challengeFvInner .challengeFvImg {
    width: 100%;
    margin-top: -1px;
  }
}
.challengeFvWrap .challengeFvInner .challengeFvImg picture {
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
  margin-left: -1px;
}
@media (max-width: 480px) {
  .challengeFvWrap .challengeFvInner .challengeFvImg picture {
    margin-left: 0;
  }
}
.challengeFvWrap .challengeFvInner .challengeFvImg picture::before {
  content: "";
  display: block;
  padding-top: 207.69%;
}
@media (max-width: 480px) {
  .challengeFvWrap .challengeFvInner .challengeFvImg picture::before {
    padding-top: 46.41%;
  }
}
.challengeFvWrap .challengeFvInner .challengeFvImg picture source, .challengeFvWrap .challengeFvInner .challengeFvImg picture img {
  margin: auto;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 0;
}
@media (max-width: 480px) {
  .challengeFvWrap.messageFvWrap .challengeFvInner .challengeFvTxtBox .fvMainTtl, .challengeFvWrap.dataFvWrap .challengeFvInner .challengeFvTxtBox .fvMainTtl {
    top: 45%;
  }
}

@keyframes challengeLineReveal {
  0% {
    transform: scaleX(0);
  }
  100% {
    transform: scaleX(1);
  }
}
/* ----------------------------------
Challenge Vision
---------------------------------- */
#visionIntroWrap {
  margin-top: 70px;
  overflow-x: clip;
}
#visionIntroWrap h2.cmnTtl01 {
  position: relative;
  width: fit-content;
}
#visionIntroWrap h2.cmnTtl01::before {
  content: "";
  position: absolute;
  top: 6.25vw;
  left: 100%;
  width: 229px;
  height: 342px;
  background: url(../img/challenge/vision/fig_illustration01.png) no-repeat center center/contain;
}
@media (max-width: 480px) {
  #visionIntroWrap h2.cmnTtl01::before {
    width: 129px;
    height: 193px;
    top: 40px;
  }
}
@media (max-width: 480px) {
  #visionIntroWrap h2.cmnTtl01 {
    line-height: 1.71875;
    white-space: nowrap;
  }
}
#visionIntroWrap .txtBox {
  margin-top: 50px;
}
@media (max-width: 480px) {
  #visionIntroWrap .txtBox {
    margin-top: 100px;
  }
}
#visionIntroWrap .txtBox p.read {
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
@media (max-width: 480px) {
  #visionIntroWrap .txtBox p.read {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 2;
  }
}

#visionDetailWrap {
  margin-top: clamp(42px, 7.2915vw, 70px);
  padding-top: clamp(74.4px, 12.9165vw, 124px);
  padding-bottom: clamp(80px, 16.6668vw, 200px);
  position: relative;
}
@media (max-width: 480px) {
  #visionDetailWrap {
    overflow-x: clip;
  }
}
#visionDetailWrap::before {
  width: 100%; /* 可変幅OK */
  height: 150px;
  /* ▼ SVGで線を描画 */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Cline x1='0' y1='100%25' x2='100%25' y2='0' stroke='%23FF5B19' stroke-width='2.5' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
@media (max-width: 480px) {
  #visionDetailWrap::before {
    display: none;
  }
}
#visionDetailWrap .visionDetailInner {
  padding-left: calc((100% - 1720px) / 2);
  container-type: inline-size;
  position: relative;
}
#visionDetailWrap::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#visionDetailWrap .visionDetailBox {
  --_template:
  "title"
  "image"
  "text";
  display: block grid;
  reading-flow: grid-rows;
  grid-template: var(--_template);
}
#visionDetailWrap .visionDetailBox + .visionDetailBox {
  margin-top: clamp(64px, 13.3332vw, 160px);
}
@media (max-width: 480px) {
  #visionDetailWrap .visionDetailBox + .visionDetailBox {
    margin-top: 100px;
  }
}
@container (480px <= inline-size) {
  #visionDetailWrap .visionDetailBox {
    --_template:
      "title image"
      "text image"
      1fr ". image"
      / 1fr 1fr;
  }
}
#visionDetailWrap .visionDetailBox [style*="--grid-area:"] {
  grid-area: var(--grid-area);
}
#visionDetailWrap .visionDetailBox .visionDetailTtl {
  margin-right: -100px;
  position: relative;
  z-index: 3;
}
@media (max-width: 480px) {
  #visionDetailWrap .visionDetailBox .visionDetailTtl {
    width: 91.79%;
    margin: 0 auto;
    position: relative;
  }
  #visionDetailWrap .visionDetailBox .visionDetailTtl::before {
    content: "";
    position: absolute;
    bottom: -100px;
    left: -10%;
    width: 120%;
    aspect-ratio: 390/335;
    background: url(../img/challenge/vision/visionDetail_line.svg) no-repeat center center/contain;
    z-index: 1;
  }
}
#visionDetailWrap .visionDetailBox .visionDetailTtl p {
  white-space: nowrap;
  font-size: clamp(16px, 5vw, 52px);
}
@media (max-width: 480px) {
  #visionDetailWrap .visionDetailBox .visionDetailTtl p {
    font-size: 2rem;
    white-space: normal;
    position: relative;
    z-index: 2;
  }
}
#visionDetailWrap .visionDetailBox .visionDetailTtl p span {
  background: #FF5B19;
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: 0.075em;
  padding: 0 10px;
}
#visionDetailWrap .visionDetailBox .visionDetailTtl p span + span {
  margin-left: -11px;
}
@media (max-width: 480px) {
  #visionDetailWrap .visionDetailBox .visionDetailTtl p span {
    display: block;
    width: fit-content;
    padding-right: 15px;
  }
  #visionDetailWrap .visionDetailBox .visionDetailTtl p span + span {
    margin-left: -1px;
    margin-top: 10px;
  }
}
#visionDetailWrap .visionDetailBox .visionDetailTtl p + p {
  margin-top: 10px;
}
#visionDetailWrap .visionDetailBox .visionDetailTxt {
  margin-top: clamp(30px, 5.208vw, 50px);
}
@media (max-width: 480px) {
  #visionDetailWrap .visionDetailBox .visionDetailTxt {
    width: 91.79%;
    margin: 100px auto 0;
    background: rgba(250, 249, 245, 0.7);
    z-index: 4;
    position: relative;
  }
}
#visionDetailWrap .visionDetailBox .visionDetailTxt p {
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
#visionDetailWrap .visionDetailBox .visionDetailTxt p em {
  font-style: normal;
}
@media (max-width: 480px) {
  #visionDetailWrap .visionDetailBox .visionDetailTxt p {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 2;
  }
  #visionDetailWrap .visionDetailBox .visionDetailTxt p em {
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
  }
}
#visionDetailWrap .visionDetailBox .visionDetailImg {
  max-width: 712px;
  width: 100%;
  max-height: 420px;
  margin-left: auto;
}
#visionDetailWrap .visionDetailBox .visionDetailImg picture {
  width: 100%;
  display: block;
  position: relative;
}
#visionDetailWrap .visionDetailBox .visionDetailImg picture::before {
  content: "";
  display: block;
  padding-top: 58.99%;
}
@media (max-width: 480px) {
  #visionDetailWrap .visionDetailBox .visionDetailImg picture::before {
    padding-top: 175%;
  }
}
#visionDetailWrap .visionDetailBox .visionDetailImg picture source, #visionDetailWrap .visionDetailBox .visionDetailImg picture img {
  margin: auto;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 0;
}
@media (max-width: 480px) {
  #visionDetailWrap .visionDetailBox .visionDetailImg {
    width: 100%;
  }
  #visionDetailWrap .visionDetailBox .visionDetailImg picture {
    max-width: 240px;
    margin: 0 0 0 auto;
  }
}
#visionDetailWrap .visionDetailBox:nth-of-type(1) .visionDetailImg {
  position: relative;
}
@media (max-width: 480px) {
  #visionDetailWrap .visionDetailBox:nth-of-type(1) .visionDetailImg {
    margin-top: -50px;
  }
}
#visionDetailWrap .visionDetailBox:nth-of-type(1) .visionDetailImg::before {
  content: "";
  position: absolute;
  bottom: -6.25vw;
  left: -9.2361111111vw;
  width: 100%;
  max-width: 223px;
  height: 100%;
  background: url(../img/challenge/vision/fig_illustration02.svg) no-repeat center center/contain;
  z-index: 2;
}
@media (max-width: 480px) {
  #visionDetailWrap .visionDetailBox:nth-of-type(1) .visionDetailImg::before {
    bottom: -80px;
    left: -5px;
    width: 186px;
    height: 242px;
  }
}
#visionDetailWrap .visionDetailBox:nth-of-type(2) .visionDetailImg {
  position: relative;
}
@media (max-width: 480px) {
  #visionDetailWrap .visionDetailBox:nth-of-type(2) .visionDetailImg {
    margin-top: -15px;
  }
}
#visionDetailWrap .visionDetailBox:nth-of-type(2) .visionDetailImg::before {
  content: "";
  position: absolute;
  bottom: -4.1666666667vw;
  left: -5.2083333333vw;
  width: 100%;
  max-width: 97px;
  height: 100%;
  background: url(../img/challenge/vision/fig_illustration03.svg) no-repeat center center/contain;
  z-index: 2;
}
@media (max-width: 480px) {
  #visionDetailWrap .visionDetailBox:nth-of-type(2) .visionDetailImg::before {
    background: url(../img/challenge/vision/fig_illustration03_sp.svg) no-repeat center center/contain;
    bottom: -80px;
    left: 15px;
    max-width: 156px;
    width: 156px;
    height: 258px;
  }
}

@property --grid-area {
  syntax: "*";
  inherits: false;
  initial-value: auto;
}
#visionChoicesWrap {
  margin-top: clamp(42px, 7.2915vw, 70px);
}
#visionChoicesWrap h2.cmnTtl01 {
  padding-left: calc((100% - 1720px) / 2);
  position: relative;
}
#visionChoicesWrap h2.cmnTtl01::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 100%;
  max-width: 940px;
  height: 120%;
  translate: 0 -50%;
  background: url(../img/challenge/vision/visionChoicesMainTtlBg.png) no-repeat center right/cover;
  z-index: -1;
}
@media (max-width: 480px) {
  #visionChoicesWrap h2.cmnTtl01 {
    padding-left: 15px;
  }
  #visionChoicesWrap h2.cmnTtl01::before {
    width: 67.95%;
    height: 135%;
    background: url(../img/challenge/vision/visionChoicesMainTtlBg_sp.png) no-repeat center right/cover;
  }
}
#visionChoicesWrap ul {
  margin-top: clamp(69px, 11.979vw, 115px);
  max-width: 1626px;
  width: 90%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 126px;
  margin-left: 26px;
}
@media (max-width: 480px) {
  #visionChoicesWrap ul {
    grid-template-columns: 1fr;
    gap: 40px;
    margin-left: 0;
    width: 100%;
    margin-top: 100px;
  }
}
#visionChoicesWrap ul li .choiceImg {
  width: 100%;
}
@media (max-width: 480px) {
  #visionChoicesWrap ul li .choiceImg {
    padding-left: 5px;
  }
}
#visionChoicesWrap ul li .choiceImg p.choiceTtl {
  height: 76px;
  padding-left: 1.75em;
  font-size: clamp(16px, 6vw, 60px);
  font-family: "Outfit", sans-serif;
  font-weight: 200;
  line-height: 76px;
  color: #FF5B19;
  position: relative;
  margin-bottom: -0.5em;
  margin-left: -0.5em;
  z-index: 2;
}
#visionChoicesWrap ul li .choiceImg p.choiceTtl::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 76px;
  height: 76px;
  background: linear-gradient(45deg, #FDC54C, #FDB243, #FEA13B, #FE9033, #FE882F, #FE7E2A, #FE7425, #FE6920, #FF5B19);
}
@media (max-width: 480px) {
  #visionChoicesWrap ul li .choiceImg p.choiceTtl {
    height: 47px;
    line-height: 47px;
    padding-left: 2em;
    font-size: 3.2rem;
    margin-bottom: -0.6em;
  }
  #visionChoicesWrap ul li .choiceImg p.choiceTtl::before {
    width: 47px;
    height: 47px;
  }
}
#visionChoicesWrap ul li .choiceImg picture {
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
}
#visionChoicesWrap ul li .choiceImg picture::before {
  content: "";
  display: block;
  padding-top: 56%;
}
@media (max-width: 480px) {
  #visionChoicesWrap ul li .choiceImg picture::before {
    padding-top: 71.43%;
  }
}
#visionChoicesWrap ul li .choiceImg picture source, #visionChoicesWrap ul li .choiceImg picture img {
  margin: auto;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 0;
}
#visionChoicesWrap ul li .choiceTxt {
  margin-top: clamp(30px, 5.208vw, 50px);
}
#visionChoicesWrap ul li .choiceTxt .ttl {
  font-size: clamp(22px, 3vw, 32px);
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.05em;
  padding-right: 1em;
  padding-left: 0.5em;
  width: fit-content;
  background: url(../img/challenge/vision/visionChoicesTtlBg.png) no-repeat center right/cover;
}
@media (max-width: 480px) {
  #visionChoicesWrap ul li .choiceTxt .ttl {
    font-size: 2rem;
  }
}
#visionChoicesWrap ul li .choiceTxt p.cource {
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.05em;
  padding-left: 2em;
  position: relative;
  margin-top: 0.6em;
}
#visionChoicesWrap ul li .choiceTxt p.cource::before {
  content: "";
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  left: 0;
  background: #161616;
  width: 1.75em;
  height: 1.25px;
}
@media (max-width: 480px) {
  #visionChoicesWrap ul li .choiceTxt p.cource {
    font-size: 1.6rem;
    font-weight: 200;
    padding-left: 1.5em;
  }
  #visionChoicesWrap ul li .choiceTxt p.cource::before {
    width: 1.25em;
    height: 0.75px;
  }
}
#visionChoicesWrap ul li .choiceTxt p.txt {
  margin-top: 1.25em;
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
@media (max-width: 480px) {
  #visionChoicesWrap ul li .choiceTxt p.txt {
    font-size: 1.6rem;
    line-height: 2;
    margin-top: 0.75em;
  }
}

#visionFlowWrap {
  margin-top: clamp(60px, 12.5004vw, 150px);
}
@media (max-width: 480px) {
  #visionFlowWrap {
    margin-top: 100px;
  }
}
#visionFlowWrap .visionFlowTtl {
  position: relative;
  z-index: 3;
}
#visionFlowWrap .visionFlowTtl p {
  margin-top: 0.1em;
  white-space: nowrap;
  font-size: clamp(16px, 5vw, 52px);
}
#visionFlowWrap .visionFlowTtl p span {
  background: #FF5B19;
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: 0.075em;
  padding: 0 10px;
}
#visionFlowWrap .visionFlowTtl p span + span {
  margin-left: -11px;
}
#visionFlowWrap .flowBox {
  display: flex;
  justify-content: center;
  gap: 12.5%;
  margin-top: clamp(60px, 10.416vw, 100px);
  overflow-y: hidden;
}
@media (max-width: 480px) {
  #visionFlowWrap .flowBox {
    flex-direction: column;
    gap: 50px;
  }
}
#visionFlowWrap .flowBox .flowItem {
  max-width: 829px;
  width: 48.2%;
}
@media (max-width: 480px) {
  #visionFlowWrap .flowBox .flowItem {
    width: 100%;
  }
}
#visionFlowWrap .flowBox .flowList {
  width: 39.3%;
  max-width: 676px;
}
@media (max-width: 480px) {
  #visionFlowWrap .flowBox .flowList {
    width: 100%;
  }
}
#visionFlowWrap .flowBox .flowList dl.flowRow {
  display: flex;
  position: relative;
  padding-bottom: 60px;
}
@media (max-width: 480px) {
  #visionFlowWrap .flowBox .flowList dl.flowRow {
    gap: 20px;
    padding-bottom: 40px;
  }
}
#visionFlowWrap .flowBox .flowList dl.flowRow:last-child {
  padding-bottom: 0;
}
#visionFlowWrap .flowBox .flowList dl.flowRow dt {
  width: 305px;
  flex-shrink: 0;
  position: relative;
}
@media (max-width: 480px) {
  #visionFlowWrap .flowBox .flowList dl.flowRow dt {
    width: 46%;
  }
}
#visionFlowWrap .flowBox .flowList dl.flowRow dt span {
  display: block;
  color: #FF5B19;
}
#visionFlowWrap .flowBox .flowList dl.flowRow dt span.en {
  font-size: clamp(16px, 4vw, 46px);
  font-weight: 500;
  line-height: 1;
  font-family: "Outfit", sans-serif;
}
@media (max-width: 480px) {
  #visionFlowWrap .flowBox .flowList dl.flowRow dt span.en {
    font-size: 2.6rem;
  }
}
#visionFlowWrap .flowBox .flowList dl.flowRow dt span.jp {
  font-size: clamp(16px, 2vw, 20px);
  margin-top: -5px;
  font-weight: 400;
}
@media (max-width: 480px) {
  #visionFlowWrap .flowBox .flowList dl.flowRow dt span.jp {
    font-size: 1.6rem;
    margin-top: 0;
  }
}
#visionFlowWrap .flowBox .flowList dl.flowRow dt::after {
  content: "";
  position: absolute;
  top: 100px;
  left: 30px;
  width: 1px;
  height: 100%;
  background: #FF5B19;
}
@media (max-width: 480px) {
  #visionFlowWrap .flowBox .flowList dl.flowRow dt::after {
    top: 60px;
  }
}
#visionFlowWrap .flowBox .flowList dl.flowRow dd {
  flex-grow: 1;
  padding-top: 20px;
  width: calc(100% - 305px);
}
@media (max-width: 480px) {
  #visionFlowWrap .flowBox .flowList dl.flowRow dd {
    width: 60%;
  }
}
#visionFlowWrap .flowBox .flowList dl.flowRow dd ul {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
#visionFlowWrap .flowBox .flowList dl.flowRow dd ul li span.label {
  display: inline-block;
  font-size: clamp(16px, 2vw, 24px);
  margin-bottom: 8px;
  font-weight: 400;
}
#visionFlowWrap .flowBox .flowList dl.flowRow dd ul li span.label em {
  background: #FF5B19;
  padding: 0px 5px;
  font-style: normal;
}
#visionFlowWrap .flowBox .flowList dl.flowRow dd ul li span.label em.fix {
  padding-right: 0;
  background: linear-gradient(to right, #FF5B19 80%, transparent 80%);
}
@media (max-width: 480px) {
  #visionFlowWrap .flowBox .flowList dl.flowRow dd ul li span.label em.fix {
    background: linear-gradient(to right, #FF5B19 30%, transparent 30%);
  }
}
@media (max-width: 480px) {
  #visionFlowWrap .flowBox .flowList dl.flowRow dd ul li span.label {
    font-size: 2rem;
    font-weight: 500;
    margin-bottom: 3px;
  }
}
#visionFlowWrap .flowBox .flowList dl.flowRow dd ul li span.txt {
  display: block;
  font-size: clamp(16px, 2vw, 20px);
  line-height: 1.6;
}
#visionFlowWrap .flowBox .flowList dl.flowRow dd ul li span.txt em {
  background: #FF5B19;
  padding: 0px 5px;
  font-style: normal;
}
#visionFlowWrap .flowBox .flowList dl.flowRow dd ul li span.txt em.fix {
  padding-right: 0;
  background: linear-gradient(to right, #FF5B19 80%, transparent 80%);
}
@media (max-width: 480px) {
  #visionFlowWrap .flowBox .flowList dl.flowRow dd ul li span.txt em.fix {
    background: linear-gradient(to right, #FF5B19 30%, transparent 30%);
  }
}
@media (max-width: 480px) {
  #visionFlowWrap .flowBox .flowList dl.flowRow dd ul li span.txt {
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 2;
  }
}
#visionFlowWrap .flowBox .flowList dl.flowRow + dl.flowRow {
  margin-top: clamp(30px, 5.208vw, 50px);
}

/* ----------------------------------
Challenge About
---------------------------------- */
#aboutIntroWrap {
  margin-top: 70px;
  overflow-x: clip;
}
#aboutIntroWrap h2.cmnTtl01 {
  position: relative;
  width: fit-content;
}
#aboutIntroWrap h2.cmnTtl01::before {
  content: "";
  position: absolute;
  top: 2.0833333333vw;
  left: 100%;
  width: 234px;
  height: 341px;
  background: url(../img/challenge/about/fig_illustration01.svg) no-repeat center center/contain;
}
@media (max-width: 480px) {
  #aboutIntroWrap h2.cmnTtl01::before {
    width: 129px;
    height: 193px;
    top: 40px;
  }
}
@media (max-width: 480px) {
  #aboutIntroWrap h2.cmnTtl01 {
    line-height: 1.71875;
    white-space: nowrap;
  }
}
#aboutIntroWrap .txtBox {
  margin-top: 50px;
}
#aboutIntroWrap .txtBox p.read {
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
@media (max-width: 480px) {
  #aboutIntroWrap .txtBox p.read {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 2;
  }
}

#aboutBusinessWrap {
  margin-top: clamp(102px, 21.2496vw, 255px);
  background: url(../img/challenge/about/aboutBusinessBg.svg) no-repeat top left/contain;
  position: relative;
}
@media (max-width: 480px) {
  #aboutBusinessWrap {
    background: none;
    margin-top: 80px;
  }
}
#aboutBusinessWrap h2.cmnTtl02 {
  position: absolute;
  top: 32px;
  padding-left: calc((100% - 1720px) / 2);
}
@media (max-width: 480px) {
  #aboutBusinessWrap h2.cmnTtl02 {
    padding-left: 15px;
    position: relative;
    top: auto;
    left: auto;
    z-index: 2;
  }
}
#aboutBusinessWrap .aboutBusinessInner .aboutBusinessItem {
  max-width: 960px;
  width: 100%;
  margin: 0 0 0 auto;
}
@media (max-width: 480px) {
  #aboutBusinessWrap .aboutBusinessInner .aboutBusinessItem {
    width: 91.79%;
    margin: 50px auto 0;
    position: relative;
    z-index: 4;
  }
}
#aboutBusinessWrap .aboutBusinessInner .aboutBusinessItem picture {
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
}
#aboutBusinessWrap .aboutBusinessInner .aboutBusinessItem picture::before {
  content: "";
  display: block;
  padding-top: 57.64%;
}
@media (max-width: 480px) {
  #aboutBusinessWrap .aboutBusinessInner .aboutBusinessItem picture::before {
    padding-top: 154.3%;
  }
}
#aboutBusinessWrap .aboutBusinessInner .aboutBusinessItem picture source, #aboutBusinessWrap .aboutBusinessInner .aboutBusinessItem picture img {
  margin: auto;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 0;
}

@media (max-width: 480px) {
  #aboutDetailWrap {
    margin-top: 132px;
  }
}
#aboutDetailWrap .aboutDetailItem {
  padding: 100px 0 0;
  position: relative;
}
@media (max-width: 480px) {
  #aboutDetailWrap .aboutDetailItem {
    overflow-x: clip;
    padding: 0;
  }
}
#aboutDetailWrap .aboutDetailItem::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /* ▼ SVGで線を描画 */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Cline x1='0' y1='100%25' x2='100%25' y2='0' stroke='%23FF5B19' stroke-width='2.5' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
@media (max-width: 480px) {
  #aboutDetailWrap .aboutDetailItem::before {
    display: none;
  }
}
#aboutDetailWrap .aboutDetailItem .head {
  margin-left: calc((100% - 1720px) / 2);
  position: relative;
}
@media (max-width: 480px) {
  #aboutDetailWrap .aboutDetailItem .head {
    margin-left: 0;
    position: relative;
  }
  #aboutDetailWrap .aboutDetailItem .head::before {
    content: "";
    position: absolute;
    bottom: 70px;
    left: -10%;
    width: 120%;
    aspect-ratio: 390/335;
    background: url(../img/challenge/vision/visionDetail_line.svg) no-repeat center center/contain;
    z-index: 3;
  }
}
#aboutDetailWrap .aboutDetailItem .head .ttlBox {
  white-space: nowrap;
  font-size: clamp(16px, 5vw, 52px);
  position: absolute;
  top: 48px;
  left: 0;
  z-index: 3;
}
@media (max-width: 480px) {
  #aboutDetailWrap .aboutDetailItem .head .ttlBox {
    font-size: 2rem;
    white-space: normal;
    top: 25px;
  }
}
#aboutDetailWrap .aboutDetailItem .head .ttlBox span {
  background: #FF5B19;
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: 0.075em;
  padding: 0 10px;
}
#aboutDetailWrap .aboutDetailItem .head .ttlBox span + span {
  margin-left: -21px;
}
@media (max-width: 480px) {
  #aboutDetailWrap .aboutDetailItem .head .ttlBox span {
    display: block;
    width: fit-content;
    padding-right: 15px;
  }
  #aboutDetailWrap .aboutDetailItem .head .ttlBox span + span {
    margin-left: -1px;
    margin-top: 10px;
  }
}
#aboutDetailWrap .aboutDetailItem .head .imgBox {
  max-width: 1200px;
  width: 100%;
  margin: 0 0 0 auto;
  position: relative;
}
@media (max-width: 480px) {
  #aboutDetailWrap .aboutDetailItem .head .imgBox {
    width: 100%;
    margin-left: 15px;
  }
}
#aboutDetailWrap .aboutDetailItem .head .imgBox::before {
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(59, 59, 59, 0.45);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
#aboutDetailWrap .aboutDetailItem .head .imgBox picture {
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
}
#aboutDetailWrap .aboutDetailItem .head .imgBox picture::before {
  content: "";
  display: block;
  padding-top: 35%;
}
@media (max-width: 480px) {
  #aboutDetailWrap .aboutDetailItem .head .imgBox picture::before {
    padding-top: 66.84%;
  }
}
#aboutDetailWrap .aboutDetailItem .head .imgBox picture source, #aboutDetailWrap .aboutDetailItem .head .imgBox picture img {
  margin: auto;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 0;
}
#aboutDetailWrap .aboutDetailItem ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 55px;
  margin-top: 100px;
  position: relative;
  z-index: 4;
}
@media (max-width: 480px) {
  #aboutDetailWrap .aboutDetailItem ul {
    grid-template-columns: 1fr;
    gap: 50px;
    margin-top: 50px;
  }
}
#aboutDetailWrap .aboutDetailItem ul li hgroup span {
  display: block;
}
#aboutDetailWrap .aboutDetailItem ul li hgroup span.en {
  font-size: clamp(16px, 6vw, 60px);
  font-weight: 200;
  line-height: 1;
  font-family: "Outfit", sans-serif;
  display: block;
  position: relative;
  padding-bottom: 35px;
  margin-bottom: 35px;
  letter-spacing: 0;
  white-space: nowrap;
}
#aboutDetailWrap .aboutDetailItem ul li hgroup span.en::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100px;
  height: 1px;
  background: #161616;
}
@media (max-width: 480px) {
  #aboutDetailWrap .aboutDetailItem ul li hgroup span.en {
    padding-bottom: 15px;
    margin-bottom: 15px;
    font-size: 3.2rem;
  }
}
#aboutDetailWrap .aboutDetailItem ul li hgroup span.jp {
  font-size: clamp(22px, 3vw, 32px);
  font-weight: 500;
  line-height: 1;
}
@media (max-width: 480px) {
  #aboutDetailWrap .aboutDetailItem ul li hgroup span.jp {
    font-size: 1.8rem;
  }
}
#aboutDetailWrap .aboutDetailItem ul li .imgBox {
  margin-top: 50px;
}
@media (max-width: 480px) {
  #aboutDetailWrap .aboutDetailItem ul li .imgBox {
    margin-top: 25px;
  }
}
#aboutDetailWrap .aboutDetailItem ul li .imgBox picture {
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
  min-height: 300px;
  max-height: 300px;
}
#aboutDetailWrap .aboutDetailItem ul li .imgBox picture::before {
  content: "";
  display: block;
  padding-top: 55.87%;
}
#aboutDetailWrap .aboutDetailItem ul li .imgBox picture source, #aboutDetailWrap .aboutDetailItem ul li .imgBox picture img {
  margin: auto;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 0;
}
#aboutDetailWrap .aboutDetailItem ul li p.txt {
  margin-top: 50px;
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
@media (max-width: 480px) {
  #aboutDetailWrap .aboutDetailItem ul li p.txt {
    margin-top: 25px;
    font-size: 1.6rem;
    line-height: 2;
    background: rgba(250, 249, 245, 0.7);
  }
}
#aboutDetailWrap .aboutDetailItem + .aboutDetailItem {
  margin-top: 100px;
}

/* ----------------------------------
Challenge Message
---------------------------------- */
#messageDetailWrap {
  overflow-x: clip;
  /* レイアウトコンテナ */
}
#messageDetailWrap h2.cmnTtl01 {
  position: relative;
  width: fit-content;
}
@media (max-width: 480px) {
  #messageDetailWrap h2.cmnTtl01 {
    margin-left: 15px;
  }
}
#messageDetailWrap h2.cmnTtl01::before {
  content: "";
  position: absolute;
  top: 350px;
  right: -5.5555555556vw;
  width: 497px;
  height: 316px;
  background: url(../img/challenge/message/fig_illustration01.svg) no-repeat center center/contain;
}
@media (max-width: 480px) {
  #messageDetailWrap h2.cmnTtl01::before {
    width: 247px;
    height: 157px;
    top: auto;
    bottom: -30px;
    right: -200px;
    z-index: -1;
  }
}
@media (max-width: 480px) {
  #messageDetailWrap h2.cmnTtl01 {
    line-height: 1.71875;
    white-space: nowrap;
  }
}
#messageDetailWrap .l-sticky-layout {
  display: flex;
  align-items: flex-start; /* これが重要：親要素の高さいっぱいにならないようにする */
}
@media (max-width: 480px) {
  #messageDetailWrap .l-sticky-layout {
    display: block;
  }
}
#messageDetailWrap .l-sticky-layout .l-sticky-side {
  width: 48.54%; /* 画面幅の40% */
  height: 100vh; /* ビューポートの高さ */
  position: sticky;
  top: 0;
  /* 必要なら以下で中央配置 */
  margin-left: calc((100% - 1720px) / 2);
  box-sizing: border-box;
}
#messageDetailWrap .l-sticky-layout .l-sticky-side h2.cmnTtl01 {
  margin-bottom: 60px;
  padding-top: 120px;
}
@media (max-width: 480px) {
  #messageDetailWrap .l-sticky-layout .l-sticky-side {
    width: 100%;
    height: auto;
    position: static;
    margin-left: 0;
  }
  #messageDetailWrap .l-sticky-layout .l-sticky-side h2.cmnTtl01 {
    margin-top: 60px;
    padding-top: 0;
    margin-bottom: 50px;
  }
}
#messageDetailWrap .l-sticky-layout .l-scroll-side {
  width: 46.25%;
  background-color: #EBE8E1; /* 画像のような薄いベージュ */
  box-sizing: border-box;
  margin-top: 0 0 0 auto;
  padding-top: clamp(240px, 50.0004vw, 600px);
}
@media (max-width: 480px) {
  #messageDetailWrap .l-sticky-layout .l-scroll-side {
    width: 100%;
    padding-top: 0;
    background: none;
  }
}
#messageDetailWrap .l-sticky-layout .l-scroll-side .content-wrap .introBox .imgBox {
  position: relative;
}
#messageDetailWrap .l-sticky-layout .l-scroll-side .content-wrap .introBox .imgBox picture {
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
}
#messageDetailWrap .l-sticky-layout .l-scroll-side .content-wrap .introBox .imgBox picture::before {
  content: "";
  display: block;
  padding-top: 55.87%;
}
@media (max-width: 480px) {
  #messageDetailWrap .l-sticky-layout .l-scroll-side .content-wrap .introBox .imgBox picture::before {
    padding-top: 64.1%;
  }
}
#messageDetailWrap .l-sticky-layout .l-scroll-side .content-wrap .introBox .imgBox picture source, #messageDetailWrap .l-sticky-layout .l-scroll-side .content-wrap .introBox .imgBox picture img {
  margin: auto;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 0;
}
#messageDetailWrap .l-sticky-layout .l-scroll-side .content-wrap .introBox .imgBox p.caption {
  position: absolute;
  bottom: 46px;
  right: 0;
  padding-right: 40px;
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.05em;
  text-align: right;
  color: #FAF9F5;
}
#messageDetailWrap .l-sticky-layout .l-scroll-side .content-wrap .introBox .imgBox p.caption::before {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 121px;
  height: 17px;
  background: #FF5B19;
}
@media (max-width: 480px) {
  #messageDetailWrap .l-sticky-layout .l-scroll-side .content-wrap .introBox .imgBox p.caption::before {
    width: 90px;
  }
}
#messageDetailWrap .l-sticky-layout .l-scroll-side .content-wrap .introBox .imgBox p.caption span {
  display: block;
  position: relative;
  z-index: 2;
}
@media (max-width: 480px) {
  #messageDetailWrap .l-sticky-layout .l-scroll-side .content-wrap .introBox .imgBox p.caption {
    font-size: 1.6rem;
    font-weight: 500;
    padding-right: 15px;
    bottom: 17px;
  }
  #messageDetailWrap .l-sticky-layout .l-scroll-side .content-wrap .introBox .imgBox p.caption span {
    font-size: 2rem;
  }
}
#messageDetailWrap .l-sticky-layout .l-scroll-side .content-wrap .introBox p.txt {
  max-width: 760px;
  margin-right: clamp(60px, 10.416vw, 100px);
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.05em;
  width: 90%;
  margin-top: 50px;
  margin-left: 28px;
}
@media (max-width: 480px) {
  #messageDetailWrap .l-sticky-layout .l-scroll-side .content-wrap .introBox p.txt {
    font-size: 1.6rem;
    line-height: 2;
    width: 91.79%;
    margin: 50px auto 0;
  }
}
#messageDetailWrap .l-sticky-layout .l-scroll-side .content-wrap .mainMessgeBox {
  margin: clamp(80px, 16.6668vw, 200px) 0 0;
  margin-left: 28px;
  container-type: inline-size;
  position: relative;
}
@media (max-width: 480px) {
  #messageDetailWrap .l-sticky-layout .l-scroll-side .content-wrap .mainMessgeBox {
    margin-left: 0;
    margin-top: 150px;
  }
}
#messageDetailWrap .l-sticky-layout .l-scroll-side .content-wrap .mainMessgeBox .mainMessageInner {
  --_template:
  "title image"
  "text text";
  display: block grid;
  reading-flow: grid-rows;
  grid-template: var(--_template);
}
@container (480px <= inline-size) {
  #messageDetailWrap .l-sticky-layout .l-scroll-side .content-wrap .mainMessgeBox .mainMessageInner {
    --_template:
    "title image"
    "text image"
    1fr ". image"
    / 1fr 1fr;
  }
}
#messageDetailWrap .l-sticky-layout .l-scroll-side .content-wrap .mainMessgeBox .mainMessageInner [style*="--grid-area:"] {
  grid-area: var(--grid-area);
}
#messageDetailWrap .l-sticky-layout .l-scroll-side .content-wrap .mainMessgeBox .ttl {
  font-size: clamp(16px, 5vw, 55px);
  font-weight: 300;
  line-height: 1.5;
  letter-spacing: 0.05em;
  width: fit-content;
  white-space: nowrap;
  margin-right: -160px;
  position: relative;
  z-index: 3;
}
@media (max-width: 480px) {
  #messageDetailWrap .l-sticky-layout .l-scroll-side .content-wrap .mainMessgeBox .ttl {
    font-size: 3.2rem;
    margin-right: -140px;
    font-weight: 500;
    white-space: normal;
    margin-left: 15px;
  }
  #messageDetailWrap .l-sticky-layout .l-scroll-side .content-wrap .mainMessgeBox .ttl span {
    display: inline;
  }
}
#messageDetailWrap .l-sticky-layout .l-scroll-side .content-wrap .mainMessgeBox .txtBox {
  max-width: 494px;
  width: 100%;
  margin-top: 60px;
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
@media (max-width: 480px) {
  #messageDetailWrap .l-sticky-layout .l-scroll-side .content-wrap .mainMessgeBox .txtBox {
    font-size: 1.6rem;
    line-height: 2;
    width: 91.79%;
    margin: 50px auto 0;
  }
}
#messageDetailWrap .l-sticky-layout .l-scroll-side .content-wrap .mainMessgeBox .imgBox {
  max-width: 340px;
  width: 100%;
  max-height: 515px;
  margin-left: auto;
}
@media (max-width: 480px) {
  #messageDetailWrap .l-sticky-layout .l-scroll-side .content-wrap .mainMessgeBox .imgBox {
    max-width: 202px;
    width: 125%;
    max-height: 250px;
    margin-left: auto;
  }
}
#messageDetailWrap .l-sticky-layout .l-scroll-side .content-wrap .mainMessgeBox .imgBox picture {
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
}
#messageDetailWrap .l-sticky-layout .l-scroll-side .content-wrap .mainMessgeBox .imgBox picture::before {
  content: "";
  display: block;
  padding-top: 151.92%;
}
@media (max-width: 480px) {
  #messageDetailWrap .l-sticky-layout .l-scroll-side .content-wrap .mainMessgeBox .imgBox picture::before {
    padding-top: 123.76%;
  }
}
#messageDetailWrap .l-sticky-layout .l-scroll-side .content-wrap .mainMessgeBox .imgBox picture source, #messageDetailWrap .l-sticky-layout .l-scroll-side .content-wrap .mainMessgeBox .imgBox picture img {
  margin: auto;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 0;
}
#messageDetailWrap .l-sticky-layout .l-scroll-side .content-wrap .subMessgeBox {
  margin: clamp(60px, 10.416vw, 100px) 0 0;
  margin-left: 28px;
  container-type: inline-size;
  position: relative;
}
@media (max-width: 480px) {
  #messageDetailWrap .l-sticky-layout .l-scroll-side .content-wrap .subMessgeBox {
    margin-left: 0;
    margin-top: 50px;
  }
}
#messageDetailWrap .l-sticky-layout .l-scroll-side .content-wrap .subMessgeBox .subMessageInner {
  --_template:
  "title image"
  "text text";
  display: block grid;
  reading-flow: grid-rows;
  grid-template: var(--_template);
}
@container (480px <= inline-size) {
  #messageDetailWrap .l-sticky-layout .l-scroll-side .content-wrap .subMessgeBox .subMessageInner {
    --_template:
    "title"
    "text";
  }
}
#messageDetailWrap .l-sticky-layout .l-scroll-side .content-wrap .subMessgeBox .subMessageInner [style*="--grid-area:"] {
  grid-area: var(--grid-area);
}
#messageDetailWrap .l-sticky-layout .l-scroll-side .content-wrap .subMessgeBox .ttl {
  font-size: clamp(22px, 3vw, 32px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  width: fit-content;
  position: relative;
  z-index: 3;
  color: #FF5B19;
}
@media (max-width: 480px) {
  #messageDetailWrap .l-sticky-layout .l-scroll-side .content-wrap .subMessgeBox .ttl {
    font-size: 3.2rem;
    margin-right: -140px;
    font-weight: 500;
    white-space: normal;
    margin-left: 15px;
  }
  #messageDetailWrap .l-sticky-layout .l-scroll-side .content-wrap .subMessgeBox .ttl span {
    display: inline;
  }
}
#messageDetailWrap .l-sticky-layout .l-scroll-side .content-wrap .subMessgeBox .txtBox {
  max-width: 760px;
  margin-right: clamp(60px, 10.416vw, 100px);
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.05em;
  margin-top: 50px;
}
@media (max-width: 480px) {
  #messageDetailWrap .l-sticky-layout .l-scroll-side .content-wrap .subMessgeBox .txtBox {
    font-size: 1.6rem;
    line-height: 2;
    width: 91.79%;
    margin: 50px auto 0;
  }
}
#messageDetailWrap .l-sticky-layout .l-scroll-side .content-wrap .subMessgeBox .imgBox {
  max-width: 340px;
  width: 100%;
  max-height: 515px;
  margin-left: auto;
}
@media (max-width: 480px) {
  #messageDetailWrap .l-sticky-layout .l-scroll-side .content-wrap .subMessgeBox .imgBox {
    max-width: 202px;
    width: 125%;
    max-height: 250px;
    margin-left: auto;
  }
}
#messageDetailWrap .l-sticky-layout .l-scroll-side .content-wrap .subMessgeBox .imgBox picture {
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
}
#messageDetailWrap .l-sticky-layout .l-scroll-side .content-wrap .subMessgeBox .imgBox picture::before {
  content: "";
  display: block;
  padding-top: 151.92%;
}
@media (max-width: 480px) {
  #messageDetailWrap .l-sticky-layout .l-scroll-side .content-wrap .subMessgeBox .imgBox picture::before {
    padding-top: 123.76%;
  }
}
#messageDetailWrap .l-sticky-layout .l-scroll-side .content-wrap .subMessgeBox .imgBox picture source, #messageDetailWrap .l-sticky-layout .l-scroll-side .content-wrap .subMessgeBox .imgBox picture img {
  margin: auto;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 0;
}
#messageDetailWrap .l-sticky-layout .l-scroll-side .content-wrap .bottom-images {
  display: flex;
  margin-top: 100px;
}
#messageDetailWrap .l-sticky-layout .l-scroll-side .content-wrap .bottom-images picture {
  width: 50%;
  display: block;
  position: relative;
}
#messageDetailWrap .l-sticky-layout .l-scroll-side .content-wrap .bottom-images picture::before {
  content: "";
  display: block;
  padding-top: 56.31%;
}
#messageDetailWrap .l-sticky-layout .l-scroll-side .content-wrap .bottom-images picture source, #messageDetailWrap .l-sticky-layout .l-scroll-side .content-wrap .bottom-images picture img {
  margin: auto;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 0;
}

#dataDetailWrap {
  margin-top: clamp(104px, 21.6672vw, 260px);
  overflow-x: clip;
  /*============================================================================
  	contentsWrap
  =============================================================================*/
  /* database block */
}
#dataDetailWrap section {
  background: rgba(235, 232, 225, 0.65);
  position: relative;
  padding: 120px 35px 200px;
}
@media (max-width: 480px) {
  #dataDetailWrap section.container {
    width: 100%;
  }
}
#dataDetailWrap section + section {
  margin-top: 150px;
}
@media (max-width: 480px) {
  #dataDetailWrap section + section {
    margin-top: 100px;
  }
}
@media (max-width: 480px) {
  #dataDetailWrap section {
    padding: 80px 15px 80px;
  }
}
#dataDetailWrap section .sectionTtl {
  background: url(../img/challenge/data/ttlBg.png) no-repeat center center/cover;
  width: 600px;
  height: 121px;
  display: flex;
  align-items: center;
  padding-left: 35px;
  position: absolute;
  top: -60px;
  left: 0;
}
@media (max-width: 480px) {
  #dataDetailWrap section .sectionTtl {
    width: 260px;
    height: 60px;
    padding-inline: 20px;
    top: -30px;
  }
}
#dataDetailWrap section .ttlBox {
  display: flex;
  align-items: center;
  margin-bottom: 50px;
  gap: 20px;
}
@media (max-width: 480px) {
  #dataDetailWrap section .ttlBox {
    margin-bottom: 40px;
    gap: 15px;
  }
}
#dataDetailWrap section .ttlBox span {
  display: block;
}
#dataDetailWrap section .ttlBox span.num {
  font-size: clamp(16px, 8vw, 80px);
  font-family: "Outfit", sans-serif;
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #FF5B19;
}
@media (max-width: 480px) {
  #dataDetailWrap section .ttlBox span.num {
    font-size: 4.4rem;
  }
}
@media (max-width: 480px) {
  #dataDetailWrap section .ttlBox .ttl {
    width: calc(100% - 75px);
  }
}
#dataDetailWrap section .ttlBox .ttl span.jp {
  font-size: clamp(22px, 3vw, 32px);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.05em;
}
@media (max-width: 480px) {
  #dataDetailWrap section .ttlBox .ttl span.jp {
    font-size: 2rem;
  }
}
#dataDetailWrap section .ttlBox .ttl span.en {
  font-size: 3.2rem;
  font-weight: 300;
  font-family: "Outfit", sans-serif;
  line-height: 1.2;
  letter-spacing: 0.05em;
  color: rgba(255, 91, 25, 0.6);
}
@media (max-width: 480px) {
  #dataDetailWrap section .ttlBox .ttl span.en {
    font-size: 2rem;
    line-height: 1.1;
    margin-top: 5px;
  }
}
#dataDetailWrap section .philosophyBox .twoColumn {
  display: flex;
  justify-content: space-between;
  padding-bottom: 100px;
  position: relative;
}
@media (max-width: 480px) {
  #dataDetailWrap section .philosophyBox .twoColumn {
    flex-direction: column;
    column-gap: 0;
    row-gap: 80px;
    padding-bottom: 80px;
  }
}
#dataDetailWrap section .philosophyBox .twoColumn::before {
  content: "";
  display: block;
  width: 95%;
  height: 2px;
  background: #161616;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
#dataDetailWrap section .philosophyBox .oneColumn {
  padding-top: 60px;
}
#dataDetailWrap section .philosophyBox .oneColumn .philosophyItem .desBox ul {
  width: 100%;
  margin-left: 20px;
  display: flex;
  flex-wrap: wrap;
  column-gap: 75px;
  row-gap: 50px;
  position: relative;
}
@media (max-width: 480px) {
  #dataDetailWrap section .philosophyBox .oneColumn .philosophyItem .desBox ul {
    margin-left: 0;
    row-gap: 20px;
  }
}
#dataDetailWrap section .philosophyBox .oneColumn .philosophyItem .desBox ul::before {
  content: "";
  display: block;
  width: 319px;
  height: 216px;
  background: url(../img/challenge/data/fig_illustlist03.svg) no-repeat center center/contain;
  position: absolute;
  bottom: 20px;
  right: 20px;
  z-index: 3;
}
@media (max-width: 480px) {
  #dataDetailWrap section .philosophyBox .oneColumn .philosophyItem .desBox ul::before {
    bottom: -170px;
    right: 0;
    width: 250px;
    height: 180px;
  }
}
#dataDetailWrap section .philosophyBox .oneColumn .philosophyItem .desBox ul li {
  position: relative;
  width: fit-content;
  height: fit-content;
  font-size: clamp(22px, 3vw, 32px);
  font-weight: 500;
  color: #fff;
  line-height: 1.5;
  letter-spacing: 0.06em;
  padding: 16px 55px;
  border-radius: 22px;
  background: url(../img/challenge/data/listBg03.png) no-repeat center center/cover;
}
@media (max-width: 480px) {
  #dataDetailWrap section .philosophyBox .oneColumn .philosophyItem .desBox ul li {
    padding: 10px 20px;
    font-size: 1.8rem;
    border-radius: 10px;
  }
}
@media (max-width: 480px) {
  #dataDetailWrap section .philosophyBox .oneColumn .philosophyItem .desBox ul li:nth-of-type(2) {
    margin-left: auto;
  }
}
#dataDetailWrap section .philosophyBox .oneColumn .philosophyItem .desBox ul li:nth-of-type(3) {
  margin-left: 250px;
}
@media (max-width: 480px) {
  #dataDetailWrap section .philosophyBox .oneColumn .philosophyItem .desBox ul li:nth-of-type(3) {
    margin-inline: auto;
  }
}
#dataDetailWrap section .philosophyBox .oneColumn .philosophyItem .desBox ul li:nth-of-type(4) {
  margin-top: -50px;
}
@media (max-width: 480px) {
  #dataDetailWrap section .philosophyBox .oneColumn .philosophyItem .desBox ul li:nth-of-type(4) {
    margin-top: 0;
  }
}
@media (max-width: 480px) {
  #dataDetailWrap section .philosophyBox .oneColumn .philosophyItem .desBox ul li:nth-of-type(5) {
    margin-left: auto;
  }
}
@media (max-width: 480px) {
  #dataDetailWrap section .philosophyBox .oneColumn .philosophyItem .desBox ul li:nth-of-type(6) {
    margin-inline: auto;
  }
}
#dataDetailWrap section .philosophyBox .philosophyItem .descBox {
  padding-left: 40px;
}
@media (max-width: 480px) {
  #dataDetailWrap section .philosophyBox .philosophyItem .descBox {
    padding-left: 0;
  }
}
#dataDetailWrap section .philosophyBox .philosophyItem .descBox .txt {
  width: fit-content;
}
#dataDetailWrap section .philosophyBox .philosophyItem .descBox .txt span {
  background: #FF5B19;
  font-size: clamp(22px, 3vw, 32px);
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.06em;
  display: block;
  width: fit-content;
  padding: 0 20px;
  overflow: hidden;
}
@media (max-width: 480px) {
  #dataDetailWrap section .philosophyBox .philosophyItem .descBox .txt span {
    font-size: 1.8rem;
    padding: 0 15px;
    white-space: nowrap;
  }
}
#dataDetailWrap section .philosophyBox .philosophyItem .descBox .txt span + span {
  margin-top: 15px;
}
#dataDetailWrap section .philosophyBox .philosophyItem .descBox .txt span:first-child {
  padding: 0 70px 0 20px;
  position: relative;
}
@media (max-width: 480px) {
  #dataDetailWrap section .philosophyBox .philosophyItem .descBox .txt span:first-child {
    padding: 0 30px 0 15px;
  }
}
#dataDetailWrap section .philosophyBox .philosophyItem .descBox .txt span:first-child::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 76px;
  height: 46px;
  background: url(../img/recruitment/environment/subTtl_line.svg) no-repeat center center/contain;
  z-index: 1;
}
#dataDetailWrap section .philosophyBox .philosophyItem .descBox .txt.normal {
  font-size: clamp(22px, 3vw, 32px);
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.06em;
  display: block;
}
@media (max-width: 480px) {
  #dataDetailWrap section .philosophyBox .philosophyItem .descBox .txt.normal {
    font-size: 1.8rem;
  }
}
#dataDetailWrap section .philosophyBox .philosophyItem .descBox .txt.normal.normal01 {
  margin-left: 100px;
}
@media (max-width: 480px) {
  #dataDetailWrap section .philosophyBox .philosophyItem .descBox .txt.normal.normal01 {
    margin-left: auto;
  }
}
#dataDetailWrap section .philosophyBox .philosophyItem .descBox .txt.normal.normal02 {
  margin-left: 200px;
}
@media (max-width: 480px) {
  #dataDetailWrap section .philosophyBox .philosophyItem .descBox .txt.normal.normal02 {
    margin-left: auto;
  }
}
#dataDetailWrap section .philosophyBox .philosophyItem .descBox .txt.normal.bold {
  font-weight: 700;
}
#dataDetailWrap section .philosophyBox .philosophyItem .descBox .txt + .txt {
  margin-top: 50px;
}
@media (max-width: 480px) {
  #dataDetailWrap section .philosophyBox .philosophyItem .descBox .txt + .txt {
    margin-top: 20px;
  }
}
@media (max-width: 480px) {
  #dataDetailWrap section.philosophySection {
    padding-bottom: 200px;
  }
}
#dataDetailWrap section.companySection .sectionTtl {
  padding-top: 32px;
  width: 565px;
}
@media (max-width: 480px) {
  #dataDetailWrap section.companySection .sectionTtl {
    width: 290px;
    padding-top: 10px;
  }
}
#dataDetailWrap section.companySection .oneColumn + .oneColumn {
  margin-top: 110px;
}
@media (max-width: 480px) {
  #dataDetailWrap section.companySection .oneColumn + .oneColumn {
    margin-top: 80px;
  }
}
#dataDetailWrap section.companySection .oneColumn.four .companyItem .descBox {
  display: flex;
  gap: 225px;
}
@media (max-width: 480px) {
  #dataDetailWrap section.companySection .oneColumn.four .companyItem .descBox {
    gap: 40px;
    flex-direction: column;
  }
}
#dataDetailWrap section.companySection .oneColumn.four .companyItem .descBox ul {
  width: 600px;
  margin-left: 40px;
}
@media (max-width: 480px) {
  #dataDetailWrap section.companySection .oneColumn.four .companyItem .descBox ul {
    width: 100%;
    margin-left: 0;
  }
}
#dataDetailWrap section.companySection .oneColumn.four .companyItem .descBox ul li {
  display: flex;
  column-gap: 25px;
}
@media (max-width: 480px) {
  #dataDetailWrap section.companySection .oneColumn.four .companyItem .descBox ul li {
    column-gap: 15px;
  }
}
#dataDetailWrap section.companySection .oneColumn.four .companyItem .descBox ul li p.year {
  background: url(../img/challenge/data/listBg04.png) no-repeat center center/cover;
  width: 100px;
  height: 100px;
  display: block grid;
  place-items: center;
  font-size: clamp(22px, 3vw, 32px);
  font-weight: 500;
  color: #fff;
  line-height: 1;
  letter-spacing: 0.05em;
}
@media (max-width: 480px) {
  #dataDetailWrap section.companySection .oneColumn.four .companyItem .descBox ul li p.year {
    width: 65px;
    height: 65px;
    font-size: 2rem;
  }
}
#dataDetailWrap section.companySection .oneColumn.four .companyItem .descBox ul li .sales {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 10px;
  position: relative;
  padding-right: 20px;
}
@media (max-width: 480px) {
  #dataDetailWrap section.companySection .oneColumn.four .companyItem .descBox ul li .sales {
    width: calc(100% - 80px);
    justify-content: flex-start;
    padding-left: 10px;
  }
}
#dataDetailWrap section.companySection .oneColumn.four .companyItem .descBox ul li .sales::before {
  content: "";
  position: absolute;
  bottom: -3px;
  left: 0;
  width: 100%;
  height: 11px;
  background: url(../img/challenge/data/list04_border.png) no-repeat center center/cover;
}
@media (max-width: 480px) {
  #dataDetailWrap section.companySection .oneColumn.four .companyItem .descBox ul li .sales::before {
    height: 6px;
    bottom: 0;
  }
}
#dataDetailWrap section.companySection .oneColumn.four .companyItem .descBox ul li .sales .salesNum {
  font-size: clamp(16px, 8vw, 80px);
  font-weight: 300;
  line-height: 0.8;
  letter-spacing: 0.025em;
  display: flex;
  align-items: flex-end;
  gap: 4px;
}
@media (max-width: 480px) {
  #dataDetailWrap section.companySection .oneColumn.four .companyItem .descBox ul li .sales .salesNum {
    font-size: 4rem;
  }
}
#dataDetailWrap section.companySection .oneColumn.four .companyItem .descBox ul li .sales .salesNum span {
  display: inline-block;
}
#dataDetailWrap section.companySection .oneColumn.four .companyItem .descBox ul li .sales .salesNum span:not(#dataDetailWrap section.companySection .oneColumn.four .companyItem .descBox ul li .sales .salesNum span.unit) {
  font-family: "Outfit", sans-serif;
}
#dataDetailWrap section.companySection .oneColumn.four .companyItem .descBox ul li .sales .salesNum span.unit {
  font-size: clamp(22px, 3vw, 32px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
  margin-bottom: 5px;
}
@media (max-width: 480px) {
  #dataDetailWrap section.companySection .oneColumn.four .companyItem .descBox ul li .sales .salesNum span.unit {
    font-size: 2rem;
    margin-bottom: 3px;
  }
}
#dataDetailWrap section.companySection .oneColumn.four .companyItem .descBox ul li:nth-of-type(2) {
  margin-top: 50px;
}
#dataDetailWrap section.companySection .oneColumn.four .companyItem .descBox ul li:nth-of-type(2) .sales {
  padding-left: 1.75em;
}
@media (max-width: 480px) {
  #dataDetailWrap section.companySection .oneColumn.four .companyItem .descBox ul li:nth-of-type(2) {
    margin-top: 30px;
  }
}
#dataDetailWrap section.companySection .oneColumn.four .companyItem .descBox .graph {
  margin-top: -50px;
}
@media (max-width: 480px) {
  #dataDetailWrap section.companySection .oneColumn.four .companyItem .descBox .graph {
    margin-top: 0px;
  }
}
#dataDetailWrap section.companySection .oneColumn.five .companyItem .descBox {
  margin-top: 70px;
  display: grid;
  place-items: center;
}
#dataDetailWrap section.companySection .oneColumn.five .companyItem .descBox .graph {
  width: fit-content;
}
@media (max-width: 480px) {
  #dataDetailWrap section.companySection .oneColumn.five .companyItem .descBox {
    margin-top: 40px;
  }
  #dataDetailWrap section.companySection .oneColumn.five .companyItem .descBox .graph {
    width: 108%;
  }
}
#dataDetailWrap section.companySection .oneColumn.fiveAdd .companyItem .ttlBox {
  margin-bottom: 40px;
}
#dataDetailWrap section.companySection .oneColumn.fiveAdd .companyItem .descBox ul {
  display: flex;
  gap: 75px;
  margin-left: 120px;
}
@media (max-width: 480px) {
  #dataDetailWrap section.companySection .oneColumn.fiveAdd .companyItem .descBox ul {
    flex-direction: column;
    gap: 40px;
    margin-left: 0;
  }
}
#dataDetailWrap section.companySection .oneColumn.fiveAdd .companyItem .descBox ul li {
  width: 536px;
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  position: relative;
  padding-left: 50px;
}
@media (max-width: 480px) {
  #dataDetailWrap section.companySection .oneColumn.fiveAdd .companyItem .descBox ul li {
    width: 100%;
    padding-left: 30px;
  }
}
#dataDetailWrap section.companySection .oneColumn.fiveAdd .companyItem .descBox ul li::before {
  content: "";
  display: block;
  width: 100%;
  height: 14px;
  position: absolute;
  bottom: -20px;
  left: 0;
  background: url(../img/challenge/data/circle_to_border.svg) no-repeat center center/contain;
}
@media (max-width: 480px) {
  #dataDetailWrap section.companySection .oneColumn.fiveAdd .companyItem .descBox ul li::before {
    bottom: -16px;
    height: 10px;
  }
}
#dataDetailWrap section.companySection .oneColumn.fiveAdd .companyItem .descBox ul li p.ttl {
  font-size: clamp(22px, 3vw, 32px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
}
@media (max-width: 480px) {
  #dataDetailWrap section.companySection .oneColumn.fiveAdd .companyItem .descBox ul li p.ttl {
    font-size: 2rem;
  }
}
#dataDetailWrap section.companySection .oneColumn.fiveAdd .companyItem .descBox ul li .numberBox span.num {
  font-size: clamp(16px, 8vw, 80px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
  font-family: "Outfit", sans-serif;
  font-weight: 300;
  color: #FF5B19;
  width: fit-content;
  display: inline-block;
}
@media (max-width: 480px) {
  #dataDetailWrap section.companySection .oneColumn.fiveAdd .companyItem .descBox ul li .numberBox span.num {
    font-size: 5rem;
  }
}
#dataDetailWrap section.companySection .oneColumn.fiveAdd .companyItem .descBox ul li .numberBox span.day {
  font-size: clamp(22px, 3vw, 32px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
  font-weight: 500;
}
@media (max-width: 480px) {
  #dataDetailWrap section.companySection .oneColumn.fiveAdd .companyItem .descBox ul li .numberBox span.day {
    font-size: 2rem;
  }
}
#dataDetailWrap section.employeesSection .companyBox .twoColumn {
  display: flex;
  gap: 145px;
  position: relative;
}
#dataDetailWrap section.employeesSection .companyBox .twoColumn + .twoColumn {
  margin-top: 215px;
  padding-bottom: 120px;
  position: relative;
}
@media (max-width: 480px) {
  #dataDetailWrap section.employeesSection .companyBox .twoColumn + .twoColumn {
    margin-top: 80px;
    padding-bottom: 80px;
  }
}
#dataDetailWrap section.employeesSection .companyBox .twoColumn + .twoColumn::before {
  content: "";
  display: block;
  width: 95%;
  height: 2px;
  background: #161616;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
@media (max-width: 480px) {
  #dataDetailWrap section.employeesSection .companyBox .twoColumn {
    gap: 80px;
    flex-direction: column;
  }
}
#dataDetailWrap section.employeesSection .companyBox .twoColumn .descBox {
  margin-top: 90px;
}
@media (max-width: 480px) {
  #dataDetailWrap section.employeesSection .companyBox .twoColumn .descBox {
    margin-top: 40px;
  }
}
#dataDetailWrap section.employeesSection .companyBox .twoColumn .six .descBox {
  margin-left: 40px;
}
@media (max-width: 480px) {
  #dataDetailWrap section.employeesSection .companyBox .twoColumn .six .descBox {
    margin-left: 0;
  }
}
#dataDetailWrap section.employeesSection .companyBox .twoColumn .seven .descBox {
  display: block grid;
  place-items: center;
}
@media (max-width: 480px) {
  #dataDetailWrap section.employeesSection .companyBox .twoColumn .seven .descBox {
    max-width: 280px;
    margin: 40px auto 0;
  }
}
#dataDetailWrap section.employeesSection .companyBox .twoColumn .eight .descBox {
  margin-left: 120px;
}
@media (max-width: 480px) {
  #dataDetailWrap section.employeesSection .companyBox .twoColumn .eight .descBox {
    width: 85%;
    margin: 40px auto 0;
  }
}
#dataDetailWrap section.employeesSection .companyBox .twoColumn .nine .descBox {
  margin-left: 40px;
}
@media (max-width: 480px) {
  #dataDetailWrap section.employeesSection .companyBox .twoColumn .nine .descBox {
    margin-left: 0;
  }
}
#dataDetailWrap section.employeesSection .companyBox .oneColumn {
  padding-top: 60px;
}
#dataDetailWrap section.employeesSection .companyBox .oneColumn .ten .descBox {
  margin-top: 100px;
  margin-left: 40px;
  position: relative;
}
@media (max-width: 480px) {
  #dataDetailWrap section.employeesSection .companyBox .oneColumn .ten .descBox {
    margin-top: 60px;
    margin-left: 0;
  }
}
#dataDetailWrap section.employeesSection .companyBox .oneColumn .ten .descBox::before {
  content: "";
  display: block;
  width: 466px;
  height: 326px;
  background: url(../img/challenge/data/fig_illustlist10.svg) no-repeat center center/contain;
  position: absolute;
  z-index: 5;
  top: -180px;
  right: 50px;
  rotate: -11deg;
}
@media (max-width: 480px) {
  #dataDetailWrap section.employeesSection .companyBox .oneColumn .ten .descBox::before {
    width: 200px;
    top: -234px;
    right: -45px;
  }
}
#dataDetailWrap section.employeesSection .companyBox .oneColumn .ten .descBox ul {
  width: 100%;
  margin-left: 20px;
  display: flex;
  flex-wrap: wrap;
  column-gap: 110px;
  row-gap: 50px;
  position: relative;
}
#dataDetailWrap section.employeesSection .companyBox .oneColumn .ten .descBox ul + ul {
  margin-top: 50px;
}
@media (max-width: 480px) {
  #dataDetailWrap section.employeesSection .companyBox .oneColumn .ten .descBox ul + ul {
    margin-top: 20px;
  }
}
@media (max-width: 480px) {
  #dataDetailWrap section.employeesSection .companyBox .oneColumn .ten .descBox ul {
    margin-left: 0;
    row-gap: 20px;
  }
}
#dataDetailWrap section.employeesSection .companyBox .oneColumn .ten .descBox ul li {
  position: relative;
  z-index: 3;
  width: fit-content;
  height: fit-content;
  font-size: clamp(22px, 3vw, 32px);
  font-weight: 500;
  color: #fff;
  line-height: 1.5;
  letter-spacing: 0.06em;
  padding: 16px 55px;
  border-radius: 22px;
  background: #FF5B19;
  min-height: 128px;
  min-width: 410px;
  display: flex;
  align-items: center;
}
@media (max-width: 480px) {
  #dataDetailWrap section.employeesSection .companyBox .oneColumn .ten .descBox ul li {
    min-width: fit-content;
    padding: 10px 20px;
    border-radius: 10px;
    font-size: 1.8rem;
    min-height: 100%;
    width: fit-content;
  }
}
#dataDetailWrap section.employeesSection .companyBox .oneColumn .ten .descBox ul.first li.gradationBg {
  background: url(../img/challenge/data/listBg03.png) no-repeat center center/cover;
}
@media (max-width: 480px) {
  #dataDetailWrap section.employeesSection .companyBox .oneColumn .ten .descBox ul.first li + li {
    margin-left: auto;
  }
}
#dataDetailWrap section.employeesSection .companyBox .oneColumn .ten .descBox ul.second {
  gap: 70px;
}
@media (max-width: 480px) {
  #dataDetailWrap section.employeesSection .companyBox .oneColumn .ten .descBox ul.second {
    gap: 20px;
    align-items: flex-end;
  }
}
#dataDetailWrap section.employeesSection .companyBox .oneColumn .ten .descBox ul.second li.gradationBg {
  background: url(../img/challenge/data/listBg03.png) no-repeat center center/cover;
}
#dataDetailWrap section.employeesSection .companyBox .oneColumn .ten .descBox ul.second li.yellow {
  width: 490px;
  background: #FFC72F;
  text-align: center;
}
@media (max-width: 480px) {
  #dataDetailWrap section.employeesSection .companyBox .oneColumn .ten .descBox ul.second li.yellow {
    width: fit-content;
    margin-inline: auto;
  }
}
#dataDetailWrap section.employeesSection .companyBox .oneColumn .ten .descBox ul.second li:last-child {
  width: 410px;
  display: flex;
  align-items: center;
}
@media (max-width: 480px) {
  #dataDetailWrap section.employeesSection .companyBox .oneColumn .ten .descBox ul.second li:last-child {
    width: fit-content;
  }
}
#dataDetailWrap .contentsWrap {
  margin: 0 auto clamp(60px, 10.416vw, 100px);
  width: 93%;
  max-width: 1340px;
  background: #8E8E8E;
}
@media print {
  #dataDetailWrap .contentsWrap {
    display: none;
  }
}
#dataDetailWrap .contentsWrap .dataContent {
  margin: auto;
  max-width: 1230px;
  width: 92%;
}
#dataDetailWrap .contentsWrap .dataContent + .dataContent {
  margin-top: clamp(60px, 10.416vw, 100px);
}
#dataDetailWrap .contentsWrap .dataContent .bgENtext {
  margin: 0 0 10px -55px;
  color: rgba(255, 255, 255, 0.55);
  font-family: "Roboto", sans-serif;
  font-size: clamp(16px, 12vw, 120px);
  font-style: italic;
  letter-spacing: 0.02em;
  line-height: 0.7;
}
@media (max-width: 1238px) {
  #dataDetailWrap .contentsWrap .dataContent .bgENtext {
    margin-left: -4%;
  }
}
@media (max-width: 480px) {
  #dataDetailWrap .contentsWrap .dataContent .bgENtext {
    font-size: clamp(16px, 9vw, 90px);
  }
}
#dataDetailWrap .contentsWrap .dataContent h2 {
  margin: 0 auto clamp(36px, 6.2505vw, 60px);
  color: #45CF5C;
  font-size: clamp(16px, 3vw, 31px);
  letter-spacing: 0.06em;
}
#dataDetailWrap .contentsWrap .dataContent section {
  margin: 0 3% 35px 0;
  padding: clamp(33px, 5.7285vw, 55px) 0;
  width: 48.5%;
  background: #FFFFFF;
  position: relative;
}
#dataDetailWrap .contentsWrap .dataContent section:nth-of-type(2n) {
  margin-right: 0;
}
@media (max-width: 1024px) {
  #dataDetailWrap .contentsWrap .dataContent section {
    margin: 0 auto 40px;
    width: 95%;
  }
  #dataDetailWrap .contentsWrap .dataContent section:nth-of-type(2n) {
    margin-right: auto;
  }
}
#dataDetailWrap .contentsWrap .dataContent section h3 {
  font-size: clamp(16px, 3vw, 31px);
  text-align: center;
  line-height: 1.55;
  letter-spacing: 0.06em;
  text-indent: -0.06em;
  overflow: hidden;
}
#dataDetailWrap .contentsWrap .dataContent section h3 span {
  display: inline-block;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  transform: translateY(100%);
}
#dataDetailWrap .contentsWrap .dataContent section .dataNum {
  text-align: center;
}
#dataDetailWrap .contentsWrap .dataContent section .dataNum .count,
#dataDetailWrap .contentsWrap .dataContent section .dataNum .js-countUp-target {
  color: #45CF5C;
  font-size: clamp(16px, 10vw, 100px);
  font-weight: 900;
}
#dataDetailWrap .contentsWrap .dataContent section .dataNum .credit {
  font-size: clamp(16px, 7vw, 70px);
  font-weight: 700;
}
#dataDetailWrap .contentsWrap .dataContent section .read {
  font-size: clamp(16px, 2vw, 25px);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.52;
  text-align: center;
}
#dataDetailWrap .contentsWrap .dataContent section.active h3 span {
  transform: translateY(0);
}
#dataDetailWrap #data_founding figure {
  width: 14.5138888889vw;
  height: 10.9722222222vw;
  display: block;
  position: absolute;
  top: -25px;
  left: -10px;
}
@media (max-width: 480px) {
  #dataDetailWrap #data_founding figure {
    width: 27.7333333333vw;
    height: 21.0666666667vw;
  }
}
#dataDetailWrap #data_area .read {
  position: relative;
  z-index: 10;
}
#dataDetailWrap #data_area .arrow_X, #dataDetailWrap #data_area .arrow_Y {
  display: block;
  position: absolute;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
#dataDetailWrap #data_area .arrow_X span, #dataDetailWrap #data_area .arrow_Y span {
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
}
#dataDetailWrap #data_area .arrow_X span::before, #dataDetailWrap #data_area .arrow_X span::after, #dataDetailWrap #data_area .arrow_Y span::before, #dataDetailWrap #data_area .arrow_Y span::after {
  content: "";
  margin: auto;
  display: block;
  position: absolute;
}
#dataDetailWrap #data_area .arrow_X {
  width: 94.3%;
  max-width: 546px;
  height: 15px;
  transform: scaleX(0);
  transform-origin: left;
  left: 5.8%;
  bottom: 18px;
}
#dataDetailWrap #data_area .arrow_X span::before {
  width: 46px;
  height: 40px;
  background: url("../img/data/arrowRight.svg") no-repeat center center/contain;
  transform: translateY(-30%);
  top: 0;
  right: 0;
}
#dataDetailWrap #data_area .arrow_X span::after {
  width: 94%;
  max-width: 505px;
  height: 15px;
  background: #97D91A;
  top: auto;
  left: 0;
  right: auto;
  bottom: 0;
}
@media (max-width: 480px) {
  #dataDetailWrap #data_area .arrow_X {
    height: 5px;
    left: 3%;
    bottom: 10px;
  }
  #dataDetailWrap #data_area .arrow_X span::before {
    width: 23px;
    height: 20px;
    transform: translateY(-35%);
  }
  #dataDetailWrap #data_area .arrow_X span::after {
    height: 5px;
  }
}
#dataDetailWrap #data_area .arrow_Y {
  width: 15px;
  height: 88.57%;
  max-height: 310px;
  transform: scaleY(0);
  transform-origin: bottom;
  left: 5.8%;
  bottom: 18px;
}
#dataDetailWrap #data_area .arrow_Y span::before {
  width: 40px;
  height: 46px;
  background: url("../img/data/arrowTop.svg") no-repeat center center/contain;
  transform: translateX(-30%);
  top: 0;
  left: 0;
}
#dataDetailWrap #data_area .arrow_Y span::after {
  width: 15px;
  height: 90%;
  max-height: 283px;
  background: #97D91A;
  top: auto;
  left: 0;
  right: auto;
  bottom: 0;
}
@media (max-width: 480px) {
  #dataDetailWrap #data_area .arrow_Y {
    width: 5px;
    left: 3%;
    bottom: 10px;
  }
  #dataDetailWrap #data_area .arrow_Y span::before {
    width: 20px;
    height: 23px;
    transform: translateX(-35%);
  }
  #dataDetailWrap #data_area .arrow_Y span::after {
    width: 5px;
  }
}
#dataDetailWrap #data_area.active .arrow_X {
  transform: scaleX(1);
}
#dataDetailWrap #data_area.active .arrow_Y {
  transform: scaleY(1);
}
#dataDetailWrap #data_amount h3 small {
  font-size: clamp(14px, 2vw, 18px);
  display: block;
}
#dataDetailWrap #data_amount figure {
  position: absolute;
}
#dataDetailWrap #data_amount figure.fig01 {
  width: 11.4583333333vw;
  height: 8.4027777778vw;
  top: -1.1805555556vw;
  right: -3.8194444444vw;
  z-index: 10;
}
#dataDetailWrap #data_amount figure.fig02 {
  width: 15.0694444444vw;
  height: 6.7361111111vw;
  left: -2.9861111111vw;
  bottom: 1.6666666667vw;
}
@media (max-width: 480px) {
  #dataDetailWrap #data_amount figure.fig01 {
    width: 21.8666666667vw;
    height: 16vw;
  }
  #dataDetailWrap #data_amount figure.fig02 {
    width: 28.8vw;
    height: 12.5333333333vw;
    bottom: 5.3333333333vw;
  }
}
#dataDetailWrap #data_transition {
  padding: clamp(18px, 3.1245vw, 30px) 0;
}
#dataDetailWrap #data_transition ul {
  margin: 20px auto 0;
  width: 90%;
}
#dataDetailWrap #data_transition ul li {
  width: 50%;
}
@media (max-width: 480px) {
  #dataDetailWrap #data_transition ul li {
    width: 100%;
  }
  #dataDetailWrap #data_transition ul li + li {
    margin-top: 40px;
  }
}
#dataDetailWrap #data_transition ul li p.name {
  margin: 0 auto 20px;
  color: #45CF5C;
  font-size: clamp(16px, 2vw, 25px);
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.06em;
  text-indent: -0.06em;
}
#dataDetailWrap #data_transition ul li figure {
  height: 220px;
  text-align: center;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
#dataDetailWrap #data_transition ul li svg#graph_factory01 .cls-1 {
  isolation: isolate;
}
#dataDetailWrap #data_transition ul li svg#graph_factory01 .cls-2 {
  fill: #b3bab0;
}
#dataDetailWrap #data_transition ul li svg#graph_factory01 .cls-3 {
  fill: #189343;
}
#dataDetailWrap #data_transition ul li svg#graph_factory01 .cls-4 {
  fill: none;
  stroke: #000;
  stroke-width: 2px;
}
#dataDetailWrap #data_transition ul li svg#graph_factory01 #number01 {
  opacity: 0;
}
#dataDetailWrap #data_transition ul li svg#graph_factory01 #graph01 .cls-2, #dataDetailWrap #data_transition ul li svg#graph_factory01 #graph01 .cls-3 {
  stroke-width: 0px;
  transform: scaleY(0);
  transform-origin: bottom;
}
#dataDetailWrap #data_transition ul li svg#graph_factory02 .cls-1 {
  isolation: isolate;
}
#dataDetailWrap #data_transition ul li svg#graph_factory02 .cls-2 {
  fill: #b3bab0;
}
#dataDetailWrap #data_transition ul li svg#graph_factory02 .cls-3 {
  fill: #189343;
}
#dataDetailWrap #data_transition ul li svg#graph_factory02 .cls-4 {
  fill: none;
  stroke: #000;
  stroke-width: 2px;
}
#dataDetailWrap #data_transition ul li svg#graph_factory02 #number02 {
  opacity: 0;
}
#dataDetailWrap #data_transition ul li svg#graph_factory02 #graph02 .cls-2, #dataDetailWrap #data_transition ul li svg#graph_factory02 #graph02 .cls-3 {
  stroke-width: 0px;
  transform: scaleY(0);
  transform-origin: bottom;
}
#dataDetailWrap #data_transition.active ul li svg#graph_factory01 #number01 {
  animation-name: number;
  animation-duration: 0.4s;
  animation-fill-mode: forwards;
  animation-timing-function: ease-out;
  animation-delay: 0.6s;
}
#dataDetailWrap #data_transition.active ul li svg#graph_factory01 #graph01 .cls-2, #dataDetailWrap #data_transition.active ul li svg#graph_factory01 #graph01 .cls-3 {
  animation-name: graph;
  animation-duration: 0.4s;
  animation-fill-mode: forwards;
  animation-timing-function: ease-out;
}
#dataDetailWrap #data_transition.active ul li svg#graph_factory02 #number02 {
  animation-name: number;
  animation-duration: 0.4s;
  animation-fill-mode: forwards;
  animation-timing-function: ease-out;
  animation-delay: 0.6s;
}
#dataDetailWrap #data_transition.active ul li svg#graph_factory02 #graph02 .cls-2, #dataDetailWrap #data_transition.active ul li svg#graph_factory02 #graph02 .cls-3 {
  animation-name: graph;
  animation-duration: 0.4s;
  animation-fill-mode: forwards;
  animation-timing-function: ease-out;
}
@media (max-width: 480px) {
  #dataDetailWrap #data_transition.active ul li svg#graph_factory02 #number {
    animation-delay: 1.6s;
  }
  #dataDetailWrap #data_transition.active ul li svg#graph_factory02 #graph02 .cls-2, #dataDetailWrap #data_transition.active ul li svg#graph_factory02 #graph02 .cls-3 {
    animation-delay: 1s;
  }
}
#dataDetailWrap #factory_transition {
  margin-right: auto;
  width: 100%;
  position: relative;
}
@media (max-width: 1024px) {
  #dataDetailWrap #factory_transition {
    width: 95%;
  }
}
#dataDetailWrap #factory_transition ul {
  margin: 30px auto 0;
  width: 75%;
}
@media (max-width: 1024px) {
  #dataDetailWrap #factory_transition ul {
    width: 90%;
  }
}
#dataDetailWrap #factory_transition ul li {
  width: 45%;
}
#dataDetailWrap #factory_transition ul li:nth-of-type(2) {
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  flex-direction: column;
}
@media (max-width: 480px) {
  #dataDetailWrap #factory_transition ul li {
    margin: auto;
    width: 80%;
  }
  #dataDetailWrap #factory_transition ul li + li {
    margin-top: 40px;
  }
}
#dataDetailWrap #factory_transition ul li p.name {
  margin: 0 0 20px;
  color: #45CF5C;
  font-size: clamp(16px, 2vw, 25px);
  font-weight: 700;
  text-align: left;
  letter-spacing: 0.06em;
  text-indent: -0.06em;
}
#dataDetailWrap #factory_transition .op01, #dataDetailWrap #factory_transition .op02, #dataDetailWrap #factory_transition .op03 {
  margin: auto;
  position: absolute;
  z-index: 10;
}
#dataDetailWrap #factory_transition .op01 {
  width: 11.4583333333vw;
  height: 8.4027777778vw;
  top: -1.5277777778vw;
  left: 3.8194444444vw;
}
@media (max-width: 480px) {
  #dataDetailWrap #factory_transition .op01 {
    width: 21.8666666667vw;
    height: 16vw;
    top: -9.3333333333vw;
  }
}
#dataDetailWrap #factory_transition .op02 {
  width: 15.0694444444vw;
  height: 6.7361111111vw;
  left: -5.5555555556vw;
  bottom: -2.0833333333vw;
}
@media (max-width: 480px) {
  #dataDetailWrap #factory_transition .op02 {
    width: 28.8vw;
    height: 12.5333333333vw;
    left: auto;
    right: 5.3333333333vw;
    bottom: 30%;
  }
}
#dataDetailWrap #factory_transition .op03 {
  width: 16.4583333333vw;
  height: 13.0555555556vw;
  top: 0;
  right: -2.0833333333vw;
}
@media (max-width: 480px) {
  #dataDetailWrap #factory_transition .op03 {
    width: 21.8666666667vw;
    height: 16vw;
    top: 16vw;
  }
}
@keyframes number {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes graph {
  0% {
    transform: scaleY(0);
  }
  100% {
    transform: scaleY(100%);
  }
}
#dataDetailWrap #data_age .dataNum {
  margin-bottom: 10px;
}
#dataDetailWrap #data_age .kome {
  color: #9B9A9A;
  font-size: clamp(16px, 2vw, 21px);
  font-weight: 700;
  text-align: center;
  line-height: 1.5;
}
#dataDetailWrap #data_age .kome + .kome {
  margin-top: 10px;
}
#dataDetailWrap #data_age figure {
  margin: auto;
  width: 7.6388888889vw;
  height: auto;
  position: absolute;
  top: auto;
  left: auto;
  right: -5.0694444444vw;
  bottom: -10px;
  z-index: 10;
}
@media (max-width: 480px) {
  #dataDetailWrap #data_age figure {
    width: 16vw;
    top: 0;
    bottom: auto;
  }
}
#dataDetailWrap #data_era {
  padding: clamp(33px, 5.7285vw, 55px) clamp(15px, 2.604vw, 25px);
}
#dataDetailWrap #data_era .fl .textData {
  width: 40%;
  -webkit-order: 2;
  -moz-order: 2;
  -ms-order: 2;
  order: 2;
}
#dataDetailWrap #data_era .fl .textData h3 {
  text-align: left;
}
#dataDetailWrap #data_era .fl .textData ul {
  margin-top: 15px;
}
#dataDetailWrap #data_era .fl .textData ul li {
  font-size: clamp(16px, 2vw, 25px);
  font-weight: 700;
}
#dataDetailWrap #data_era .fl .textData ul li span {
  padding-left: 30px;
  line-height: 1.5;
  position: relative;
}
#dataDetailWrap #data_era .fl .textData ul li span::before {
  content: "";
  margin: auto;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: auto;
  bottom: 0;
}
#dataDetailWrap #data_era .fl .textData ul li span.maru20::before {
  background: #c4dd95;
}
#dataDetailWrap #data_era .fl .textData ul li span.maru30::before {
  background: #25c725;
}
#dataDetailWrap #data_era .fl .textData ul li span.maru40::before {
  background: #189343;
}
#dataDetailWrap #data_era .fl .textData ul li span.maru50::before {
  background: #97d91a;
}
#dataDetailWrap #data_era .fl .textData ul li span.maru60::before {
  background: #daebac;
}
#dataDetailWrap #data_era .fl .textData ul li.topClass {
  color: #45CF5C;
  font-size: clamp(16px, 3vw, 35px);
  position: relative;
}
#dataDetailWrap #data_era .fl .textData ul li.topClass::after {
  content: "";
  width: 24px;
  height: 33px;
  background: url("../img/data/kirakira.svg") no-repeat center center/contain;
  display: block;
  position: absolute;
  top: -5px;
  left: 85%;
}
#dataDetailWrap #data_era .fl .pieGraph {
  margin: auto auto 0;
  width: 45.23%;
  -webkit-order: -1;
  -moz-order: -1;
  -ms-order: -1;
  order: -1;
}
#dataDetailWrap #data_era .fl .pieGraph svg#graph_era {
  width: 100%;
}
#dataDetailWrap #data_era .fl .pieGraph svg#graph_era .pie {
  fill: transparent;
  cx: 50%;
  cy: 50%;
  r: 16;
  stroke-width: 32;
  stroke-dashoffset: 25;
  stroke-dasharray: 0 100;
  animation-duration: 3s;
  animation-fill-mode: forwards;
  animation-timing-function: ease-out;
}
#dataDetailWrap #data_era .fl .pieGraph svg#graph_era .era20 {
  stroke: #c4dd95;
}
#dataDetailWrap #data_era .fl .pieGraph svg#graph_era .era30 {
  stroke: #25c725;
}
#dataDetailWrap #data_era .fl .pieGraph svg#graph_era .era40 {
  stroke: #189343;
}
#dataDetailWrap #data_era .fl .pieGraph svg#graph_era .era50 {
  stroke: #97d91a;
}
#dataDetailWrap #data_era .fl .pieGraph svg#graph_era .era60 {
  stroke: #daebac;
}
@media (max-width: 1300px) {
  #dataDetailWrap #data_era .fl {
    display: block;
  }
  #dataDetailWrap #data_era .fl .textData {
    margin: auto;
    width: 100%;
  }
  #dataDetailWrap #data_era .fl .textData ul {
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  #dataDetailWrap #data_era .fl .textData ul li:nth-of-type(odd) {
    width: 58%;
  }
  #dataDetailWrap #data_era .fl .textData ul li:nth-of-type(even) {
    width: 40%;
  }
  #dataDetailWrap #data_era .fl .pieGraph {
    margin: 20px auto 0;
    width: 50%;
  }
}
@media (max-width: 1024px) {
  #dataDetailWrap #data_era .fl .textData {
    width: 80%;
  }
  #dataDetailWrap #data_era .fl .pieGraph {
    width: 90%;
  }
}
@media (max-width: 480px) {
  #dataDetailWrap #data_era .fl .textData {
    width: 70%;
  }
  #dataDetailWrap #data_era .fl .textData ul {
    display: block;
  }
  #dataDetailWrap #data_era .fl .textData ul li:nth-of-type(odd) {
    width: 100%;
  }
  #dataDetailWrap #data_era .fl .textData ul li:nth-of-type(even) {
    width: 100%;
  }
}
#dataDetailWrap #data_era.active .fl .pieGraph svg#graph_era .era20 {
  animation-name: era20;
}
#dataDetailWrap #data_era.active .fl .pieGraph svg#graph_era .era30 {
  animation-name: era30;
}
#dataDetailWrap #data_era.active .fl .pieGraph svg#graph_era .era40 {
  animation-name: era40;
}
#dataDetailWrap #data_era.active .fl .pieGraph svg#graph_era .era50 {
  animation-name: era50;
}
#dataDetailWrap #data_era.active .fl .pieGraph svg#graph_era .era60 {
  animation-name: era60;
}
@keyframes era20 {
  50%, 100% {
    stroke-dasharray: 13.6 86.4;
  }
}
@keyframes era30 {
  50%, 100% {
    stroke-dasharray: 0 13.6 23.7 62.7;
  }
}
@keyframes era40 {
  50%, 100% {
    stroke-dasharray: 0 37.3 35.6 27.1;
  }
}
@keyframes era50 {
  50%, 100% {
    stroke-dasharray: 0 72.9 15.2 11.9;
  }
}
@keyframes era60 {
  50%, 100% {
    stroke-dasharray: 0 88.1 11.9 0;
  }
}
#dataDetailWrap #data_commuting .svgGraph {
  margin: auto;
  width: 90%;
  text-align: center;
}
#dataDetailWrap #data_commuting .svgGraph svg#graph_commuting {
  width: 100%;
}
#dataDetailWrap #data_commuting .svgGraph svg#graph_commuting rect {
  transform-origin: bottom;
  transform: scaleY(0);
}
#dataDetailWrap #data_commuting .svgGraph svg#graph_commuting line, #dataDetailWrap #data_commuting .svgGraph svg#graph_commuting .text {
  opacity: 0;
}
#dataDetailWrap #data_commuting .svgGraph svg#graph_commuting .cls-1 {
  fill: none;
  stroke: #fccc02;
  stroke-linecap: round;
  stroke-width: 5px;
}
#dataDetailWrap #data_commuting .svgGraph svg#graph_commuting .cls-2 {
  fill: #c4dd95;
}
#dataDetailWrap #data_commuting .svgGraph svg#graph_commuting .cls-2, #dataDetailWrap #data_commuting .svgGraph svg#graph_commuting .cls-3, #dataDetailWrap #data_commuting .svgGraph svg#graph_commuting .cls-4, #dataDetailWrap #data_commuting .svgGraph svg#graph_commuting .cls-5, #dataDetailWrap #data_commuting .svgGraph svg#graph_commuting .cls-6, #dataDetailWrap #data_commuting .svgGraph svg#graph_commuting .cls-7, #dataDetailWrap #data_commuting .svgGraph svg#graph_commuting .cls-8, #dataDetailWrap #data_commuting .svgGraph svg#graph_commuting .cls-9 {
  stroke-width: 0px;
}
#dataDetailWrap #data_commuting .svgGraph svg#graph_commuting .cls-10 {
  isolation: isolate;
}
#dataDetailWrap #data_commuting .svgGraph svg#graph_commuting .cls-4 {
  fill: #fff;
}
#dataDetailWrap #data_commuting .svgGraph svg#graph_commuting .cls-5 {
  fill: #b3bab0;
}
#dataDetailWrap #data_commuting .svgGraph svg#graph_commuting .cls-6 {
  fill: #daebac;
}
#dataDetailWrap #data_commuting .svgGraph svg#graph_commuting .cls-7 {
  fill: #97d91a;
}
#dataDetailWrap #data_commuting .svgGraph svg#graph_commuting .cls-8 {
  fill: #189343;
}
#dataDetailWrap #data_commuting .svgGraph svg#graph_commuting .cls-9 {
  fill: #25c725;
}
#dataDetailWrap #data_commuting.active .svgGraph svg#graph_commuting rect {
  animation-name: graph;
  animation-duration: 0.4s;
  animation-fill-mode: forwards;
  animation-timing-function: ease-out;
}
#dataDetailWrap #data_commuting.active .svgGraph svg#graph_commuting line, #dataDetailWrap #data_commuting.active .svgGraph svg#graph_commuting .text {
  animation-name: number;
  animation-duration: 0.4s;
  animation-fill-mode: forwards;
  animation-timing-function: ease-out;
  animation-delay: 0.4s;
}
#dataDetailWrap #data_commuting.active .svgGraph svg#graph_commuting #bar01 rect {
  animation-delay: 1.2s;
}
#dataDetailWrap #data_commuting.active .svgGraph svg#graph_commuting #bar01 .text {
  animation-delay: 1.2s;
}
#dataDetailWrap #data_commuting.active .svgGraph svg#graph_commuting #bar01 line {
  animation-delay: 1.6s;
}
#dataDetailWrap #data_commuting.active .svgGraph svg#graph_commuting #bar02 rect {
  animation-delay: 1s;
}
#dataDetailWrap #data_commuting.active .svgGraph svg#graph_commuting #bar02 .text {
  animation-delay: 1s;
}
#dataDetailWrap #data_commuting.active .svgGraph svg#graph_commuting #bar03 rect {
  animation-delay: 0.8s;
}
#dataDetailWrap #data_commuting.active .svgGraph svg#graph_commuting #bar03 .text {
  animation-delay: 0.8s;
}
#dataDetailWrap #data_commuting.active .svgGraph svg#graph_commuting #bar04 rect {
  animation-delay: 0.6s;
}
#dataDetailWrap #data_commuting.active .svgGraph svg#graph_commuting #bar04 .text {
  animation-delay: 0.6s;
}
#dataDetailWrap #data_length p.read {
  position: relative;
  z-index: 5;
}
#dataDetailWrap #data_length figure {
  margin: auto;
  width: 13.3333333333vw;
  height: 22.9166666667vw;
  position: absolute;
  top: 0;
  left: auto;
  right: -5.3472222222vw;
  bottom: 0;
  z-index: 0;
}
@media (max-width: 480px) {
  #dataDetailWrap #data_length figure {
    width: 17.0666666667vw;
    height: 29.3333333333vw;
  }
}
#dataDetailWrap #data_place {
  margin-right: auto;
  padding: clamp(12px, 2.0835vw, 20px) 0;
  width: 100%;
}
@media (max-width: 1024px) {
  #dataDetailWrap #data_place {
    width: 95%;
  }
}
#dataDetailWrap #data_place::after {
  content: "";
  margin: auto;
  width: 28.1944444444vw;
  height: 27.7777777778vw;
  background: url("../img/data/fig_map.svg") no-repeat center center/contain;
  display: block;
  position: absolute;
  top: 0;
  left: auto;
  right: 5vw;
  bottom: 0;
  z-index: 0;
}
@media (max-width: 1300px) {
  #dataDetailWrap #data_place::after {
    top: auto;
    bottom: 2vw;
  }
}
@media (max-width: 480px) {
  #dataDetailWrap #data_place::after {
    top: 5vw;
    bottom: auto;
  }
}
#dataDetailWrap #data_place .fl {
  position: relative;
  z-index: 5;
}
#dataDetailWrap #data_place .fl figure {
  margin: auto 4.2% -2vw 6.2%;
  width: 15.12%;
  -webkit-order: -1;
  -moz-order: -1;
  -ms-order: -1;
  order: -1;
  position: relative;
}
@media (max-width: 480px) {
  #dataDetailWrap #data_place .fl figure {
    margin: auto;
    width: 21.3333333333vw;
    height: 53.3333333333vw;
    position: absolute;
    top: 0;
    left: -5vw;
    right: auto;
    bottom: -10vw;
    z-index: 0;
  }
}
#dataDetailWrap #data_place .fl .textBox {
  margin: auto 0;
  width: 50%;
}
#dataDetailWrap #data_place .fl .textBox h3 {
  text-align: left;
}
#dataDetailWrap #data_place .fl .textBox ul li {
  padding-left: 8.4722222222vw;
  position: relative;
}
#dataDetailWrap #data_place .fl .textBox ul li::before {
  content: "";
  margin: auto;
  width: 6.9444444444vw;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: auto;
  bottom: 0;
}
#dataDetailWrap #data_place .fl .textBox ul li em {
  font-size: clamp(20px, 3vw, 30px);
  font-weight: 700;
}
#dataDetailWrap #data_place .fl .textBox ul li small {
  font-size: clamp(16px, 2vw, 21px);
  font-weight: 700;
  vertical-align: middle;
}
#dataDetailWrap #data_place .fl .textBox ul li + li {
  margin-top: 10px;
}
#dataDetailWrap #data_place .fl .textBox ul li.rank01 em {
  color: #45CF5C;
  font-size: clamp(16px, 9vw, 90px);
}
#dataDetailWrap #data_place .fl .textBox ul li.rank01::before {
  height: 4.0972222222vw;
  background: url("../img/data/icon_rank01.svg") no-repeat center center/contain;
}
#dataDetailWrap #data_place .fl .textBox ul li.rank02::before {
  height: 3.3333333333vw;
  background: url("../img/data/icon_rank02.svg") no-repeat center center/contain;
}
#dataDetailWrap #data_place .fl .textBox ul li.rank03::before {
  height: 3.3333333333vw;
  background: url("../img/data/icon_rank03.svg") no-repeat center center/contain;
}
#dataDetailWrap #data_place .fl .textBox ul li.rank04::before {
  height: 2.3611111111vw;
  background: url("../img/data/icon_rank04.svg") no-repeat center center/contain;
}
@media (max-width: 1300px) {
  #dataDetailWrap #data_place .fl .textBox {
    margin: 0;
    width: 74%;
  }
}
@media (max-width: 480px) {
  #dataDetailWrap #data_place .fl .textBox {
    margin: 0 0 0 20%;
    width: 80%;
    position: relative;
    z-index: 5;
  }
  #dataDetailWrap #data_place .fl .textBox ul li.rank01 em {
    font-size: clamp(16px, 6vw, 60px);
  }
}
#dataDetailWrap #data_holiday {
  margin-right: 3%;
  position: relative;
}
@media (max-width: 1024px) {
  #dataDetailWrap #data_holiday {
    margin-right: auto;
  }
}
#dataDetailWrap #data_holiday .op01 {
  margin: auto;
  width: 8.3333333333vw;
  height: 7.1527777778vw;
  position: absolute;
  top: 3.2638888889vw;
  right: 3.0555555556vw;
  z-index: 10;
}
#dataDetailWrap #data_holiday .op02 {
  width: 27.4305555556vw;
  height: 19.7916666667vw;
  position: absolute;
  left: -15px;
  bottom: -7.9861111111vw;
  z-index: 10;
}
@media (max-width: 480px) {
  #dataDetailWrap #data_holiday .op01 {
    width: 16vw;
    height: 14.6666666667vw;
    top: 3.2638888889vw;
    right: 3.0555555556vw;
  }
  #dataDetailWrap #data_holiday .op02 {
    width: 48vw;
    height: 34.6666666667vw;
    left: -15px;
    bottom: -13.3333333333vw;
  }
}
#dataDetailWrap #data_paid {
  margin-right: auto;
}
#dataDetailWrap #data_paid figure {
  margin: auto;
  width: 84%;
  text-align: center;
}
#dataDetailWrap #data_overtime {
  width: 100%;
}
#dataDetailWrap #data_overtime h3 {
  margin-bottom: clamp(24px, 4.167vw, 40px);
}
#dataDetailWrap #data_overtime .fl-tab {
  margin: auto;
  width: 80%;
}
#dataDetailWrap #data_overtime .fl-tab h4 {
  font-size: clamp(16px, 2vw, 25px);
  font-weight: 700;
}
#dataDetailWrap #data_overtime .fl-tab .text01 {
  width: 55%;
}
#dataDetailWrap #data_overtime .fl-tab .text01 p small {
  color: #9B9A9A;
  font-size: clamp(16px, 2vw, 21px);
  font-weight: 700;
  letter-spacing: 0.06em;
}
#dataDetailWrap #data_overtime .fl-tab .text01 p.dataNum01 {
  text-align: left;
}
#dataDetailWrap #data_overtime .fl-tab .text01 p.dataNum01 .count {
  color: #45CF5C;
  font-size: clamp(16px, 10vw, 100px);
  font-weight: 900;
  line-height: 1;
}
#dataDetailWrap #data_overtime .fl-tab .text01 p.dataNum01 .credit {
  font-size: clamp(16px, 6vw, 60px);
  font-weight: 700;
}
#dataDetailWrap #data_overtime .fl-tab .text02 {
  margin: auto 0;
  width: 38%;
}
#dataDetailWrap #data_overtime .fl-tab .text02 li {
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
#dataDetailWrap #data_overtime .fl-tab .text02 li h4 {
  margin-right: 1em;
}
#dataDetailWrap #data_overtime .fl-tab .text02 li .dataNum02, #dataDetailWrap #data_overtime .fl-tab .text02 li .dataNum03 {
  text-align: left;
}
#dataDetailWrap #data_overtime .fl-tab .text02 li .dataNum02 .count, #dataDetailWrap #data_overtime .fl-tab .text02 li .dataNum03 .count {
  font-size: clamp(16px, 4vw, 40px);
  font-weight: 900;
  line-height: 1;
}
#dataDetailWrap #data_overtime .fl-tab .text02 li .dataNum02 .credit, #dataDetailWrap #data_overtime .fl-tab .text02 li .dataNum03 .credit {
  font-size: clamp(20px, 3vw, 30px);
  font-weight: 700;
}
#dataDetailWrap #data_overtime .fl-tab .text02 li .dataNum02 .count {
  color: #5CBFEB;
}
#dataDetailWrap #data_overtime .fl-tab .text02 li .dataNum03 .count {
  color: #FD8E65;
}
#dataDetailWrap #data_overtime .fl-tab .text02 li + li {
  margin-top: clamp(18px, 3.1245vw, 30px);
}
#dataDetailWrap #data_overtime .op01 {
  width: 9.0277777778vw;
  height: 9.0277777778vw;
  position: absolute;
  top: -1.3888888889vw;
  right: 2.4305555556vw;
}
@media (max-width: 480px) {
  #dataDetailWrap #data_overtime .op01 {
    width: 21.3333333333vw;
    height: 21.3333333333vw;
  }
}
@media (max-width: 1024px) {
  #dataDetailWrap #data_overtime {
    width: 95%;
  }
  #dataDetailWrap #data_overtime .fl-tab .text01 {
    width: 100%;
    text-align: center;
  }
  #dataDetailWrap #data_overtime .fl-tab .text01 p.dataNum01 {
    text-align: center;
  }
  #dataDetailWrap #data_overtime .fl-tab .text02 {
    margin-top: clamp(36px, 6.2505vw, 60px);
    width: 100%;
  }
  #dataDetailWrap #data_overtime .fl-tab .text02 li {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}
#dataDetailWrap #print {
  display: none;
}
@media print {
  #dataDetailWrap #print {
    margin: auto;
    width: 96%;
    display: block;
  }
  #dataDetailWrap #print p {
    margin: 0;
  }
  #dataDetailWrap #print p img {
    width: 100%;
  }
  #dataDetailWrap #print p:first-of-type {
    page-break-before: avoid;
  }
}

/*============================================================================
	Recruitment
=============================================================================*/
.recruitmentLinkWrap {
  margin: 0 auto clamp(80px, 16.6668vw, 200px);
}
@media (max-width: 480px) {
  .recruitmentLinkWrap {
    width: 100%;
    margin: 100px auto;
  }
}
.recruitmentLinkWrap .container ul.recruitmentLinkBox {
  display: flex;
}
@media (max-width: 480px) {
  .recruitmentLinkWrap .container ul.recruitmentLinkBox {
    flex-direction: column;
    gap: 20px;
  }
}
.recruitmentLinkWrap .container ul.recruitmentLinkBox li.recruitmentLinkItem {
  width: 50%;
}
@media (max-width: 480px) {
  .recruitmentLinkWrap .container ul.recruitmentLinkBox li.recruitmentLinkItem {
    width: 100%;
  }
}
.recruitmentLinkWrap .container ul.recruitmentLinkBox li.recruitmentLinkItem a {
  display: block;
  width: 100%;
  position: relative;
  padding: 50px 24px 0 24px;
  min-height: 360px;
}
@media (max-width: 480px) {
  .recruitmentLinkWrap .container ul.recruitmentLinkBox li.recruitmentLinkItem a {
    min-height: 152px;
    padding: 0;
  }
}
.recruitmentLinkWrap .container ul.recruitmentLinkBox li.recruitmentLinkItem a .txtBox h2 {
  color: #FAF9F5;
  font-size: clamp(16px, 7vw, 76px);
  font-weight: 500;
  letter-spacing: 0;
  font-family: "Outfit", sans-serif;
  line-height: 1.3;
}
@media (max-width: 480px) {
  .recruitmentLinkWrap .container ul.recruitmentLinkBox li.recruitmentLinkItem a .txtBox h2 {
    color: rgba(250, 249, 245, 0.8);
    position: relative;
    font-size: 5.05rem;
    line-height: 0.65;
    margin-left: -4px;
    z-index: 3;
  }
}
@media (max-width: 480px) {
  .recruitmentLinkWrap .container ul.recruitmentLinkBox li.recruitmentLinkItem a .txtBox .subTxt {
    position: absolute;
    bottom: 19px;
    left: 10px;
  }
}
.recruitmentLinkWrap .container ul.recruitmentLinkBox li.recruitmentLinkItem a .txtBox .subTxt span {
  display: block;
  color: #FAF9F5;
}
.recruitmentLinkWrap .container ul.recruitmentLinkBox li.recruitmentLinkItem a .txtBox .subTxt span.subRead {
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.05em;
}
@media (max-width: 480px) {
  .recruitmentLinkWrap .container ul.recruitmentLinkBox li.recruitmentLinkItem a .txtBox .subTxt span.subRead {
    line-height: 1.2;
    max-width: 135px;
  }
}
.recruitmentLinkWrap .container ul.recruitmentLinkBox li.recruitmentLinkItem a .txtBox .subTxt span.read {
  font-size: clamp(16px, 2vw, 24px);
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.15;
}
@media (max-width: 480px) {
  .recruitmentLinkWrap .container ul.recruitmentLinkBox li.recruitmentLinkItem a .txtBox .subTxt span.read {
    line-height: 1.6rem;
    font-weight: 700;
    line-height: 2;
  }
}
.recruitmentLinkWrap .container ul.recruitmentLinkBox li.recruitmentLinkItem.environment a {
  background: #FF5B19;
}
.recruitmentLinkWrap .container ul.recruitmentLinkBox li.recruitmentLinkItem.environment a::before {
  content: "";
  position: absolute;
  top: 76px;
  right: 36px;
  width: 194px;
  height: 264px;
  background: url(../img/recruitment/fig_environment_illust.svg) no-repeat center center/contain;
  z-index: 3;
}
@media (max-width: 480px) {
  .recruitmentLinkWrap .container ul.recruitmentLinkBox li.recruitmentLinkItem.environment a::before {
    top: auto;
    bottom: 14px;
    right: 14px;
    width: 80px;
    height: 109px;
  }
}
.recruitmentLinkWrap .container ul.recruitmentLinkBox li.recruitmentLinkItem.works a {
  background: #FFC72F;
}
.recruitmentLinkWrap .container ul.recruitmentLinkBox li.recruitmentLinkItem.works a::before {
  content: "";
  position: absolute;
  top: 36px;
  right: 16px;
  width: 448px;
  height: 364px;
  background: url(../img/recruitment/fig_works_illust.svg) no-repeat center center/contain;
  z-index: 3;
}
@media (max-width: 480px) {
  .recruitmentLinkWrap .container ul.recruitmentLinkBox li.recruitmentLinkItem.works a::before {
    top: auto;
    bottom: 7px;
    right: 7px;
    width: 186px;
    height: 126px;
  }
}
.recruitmentLinkWrap .container ul.recruitmentLinkBox li.recruitmentLinkItem.careerpass a {
  background: url(../img/recruitment//careerpassLinkBg.png) no-repeat center center/cover;
}
.recruitmentLinkWrap .container ul.recruitmentLinkBox li.recruitmentLinkItem.careerpass a::before {
  content: "";
  position: absolute;
  top: 86px;
  right: 16px;
  width: 350px;
  height: 256px;
  background: url(../img/recruitment/fig_careerpass_illust.svg) no-repeat center center/contain;
  z-index: 3;
}
@media (max-width: 480px) {
  .recruitmentLinkWrap .container ul.recruitmentLinkBox li.recruitmentLinkItem.careerpass a::before {
    top: auto;
    bottom: 7px;
    right: 7px;
    width: 146px;
    height: 106px;
  }
}
.recruitmentLinkWrap.careerpassLinkWrap, .recruitmentLinkWrap.environmentLinkWrap {
  margin-top: clamp(80px, 16.6668vw, 200px);
}
@media (max-width: 480px) {
  .recruitmentLinkWrap.careerpassLinkWrap, .recruitmentLinkWrap.environmentLinkWrap {
    margin-top: 100px;
  }
}
.recruitmentLinkWrap.worksLinkWrap {
  margin-top: clamp(100px, 20.8332vw, 250px);
}
@media (max-width: 480px) {
  .recruitmentLinkWrap.worksLinkWrap {
    margin-top: 100px;
  }
}

.recruitmentFvWrap {
  overflow-x: clip;
}
.recruitmentFvWrap .recruitmentFvInner {
  display: flex;
}
@media (max-width: 480px) {
  .recruitmentFvWrap .recruitmentFvInner {
    flex-direction: column;
  }
}
.recruitmentFvWrap .recruitmentFvInner .recruitmentFvTxtBox {
  width: 100%;
  position: relative;
}
.recruitmentFvWrap .recruitmentFvInner .recruitmentFvTxtBox .fvMainTtl {
  position: absolute;
  bottom: 10vw;
  left: clamp(60px, 10.416vw, 100px);
  width: calc(100% - 6.944444vw);
  z-index: 3;
}
@media (max-width: 480px) {
  .recruitmentFvWrap .recruitmentFvInner .recruitmentFvTxtBox .fvMainTtl {
    bottom: auto;
    top: 45%;
    left: 15px;
    width: calc(100% - 15px);
  }
}
.recruitmentFvWrap .recruitmentFvInner .recruitmentFvTxtBox .fvMainTtl h2 span {
  display: block;
}
.recruitmentFvWrap .recruitmentFvInner .recruitmentFvTxtBox .fvMainTtl h2 span.en {
  font-size: clamp(16px, 16vw, 165px);
  font-weight: 200;
  line-height: 1.2303030303;
  font-family: "Outfit", sans-serif;
  color: #FF5B19;
  position: relative;
}
.recruitmentFvWrap .recruitmentFvInner .recruitmentFvTxtBox .fvMainTtl h2 span.en::before {
  content: "";
  position: absolute;
  bottom: 0.25em;
  left: 0;
  width: 120%;
  height: 6px;
  background: #FF5B19;
  transform: scaleX(var(--kv-line-scale, 1));
  transform-origin: left center;
  will-change: transform;
}
.recruitmentFvWrap .recruitmentFvInner .recruitmentFvTxtBox .fvMainTtl h2 span.en.line-animate::before {
  transform: scaleX(0);
  animation: recruitmentLineReveal 1s forwards ease-out;
}
@media (max-width: 480px) {
  .recruitmentFvWrap .recruitmentFvInner .recruitmentFvTxtBox .fvMainTtl h2 span.en {
    font-size: 5rem;
  }
  .recruitmentFvWrap .recruitmentFvInner .recruitmentFvTxtBox .fvMainTtl h2 span.en::before {
    height: 2.5px;
  }
}
.recruitmentFvWrap .recruitmentFvInner .recruitmentFvTxtBox .fvMainTtl h2 span.jp {
  margin-top: 20px;
  font-size: clamp(22px, 3vw, 32px);
  font-weight: 500;
  line-height: 1;
  color: #FAF9F5;
  background: #FF5B19;
  padding: 4px 40px 4px 10px;
  position: relative;
  overflow: hidden;
  width: fit-content;
}
.recruitmentFvWrap .recruitmentFvInner .recruitmentFvTxtBox .fvMainTtl h2 span.jp::after {
  content: "";
  position: absolute;
  top: 0;
  right: -3px;
  width: 43px;
  height: 100%;
  background: url(../img/challenge/fv_subTtl_line.svg) no-repeat center center/contain;
}
@media (max-width: 480px) {
  .recruitmentFvWrap .recruitmentFvInner .recruitmentFvTxtBox .fvMainTtl h2 span.jp {
    font-size: 1.6rem;
    height: 28px;
    line-height: 28px;
    padding-top: 0;
    padding-bottom: 0;
    margin-top: 50px;
  }
  .recruitmentFvWrap .recruitmentFvInner .recruitmentFvTxtBox .fvMainTtl h2 span.jp::after {
    width: 28px;
    height: 28px;
  }
}
.recruitmentFvWrap .recruitmentFvInner .recruitmentFvTxtBox .bg {
  width: 100%;
  position: relative;
}
.recruitmentFvWrap .recruitmentFvInner .recruitmentFvTxtBox .bg::before {
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(59, 59, 59, 0.45);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
.recruitmentFvWrap .recruitmentFvInner .recruitmentFvTxtBox .bg picture {
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
}
.recruitmentFvWrap .recruitmentFvInner .recruitmentFvTxtBox .bg picture::before {
  content: "";
  display: block;
  padding-top: 56.25%;
}
@media (max-width: 480px) {
  .recruitmentFvWrap .recruitmentFvInner .recruitmentFvTxtBox .bg picture::before {
    padding-top: 175%;
  }
}
.recruitmentFvWrap .recruitmentFvInner .recruitmentFvTxtBox .bg picture source, .recruitmentFvWrap .recruitmentFvInner .recruitmentFvTxtBox .bg picture img {
  margin: auto;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 0;
}

@keyframes recruitmentLineReveal {
  0% {
    transform: scaleX(0);
  }
  100% {
    transform: scaleX(1);
  }
}
#environmentIntroWrap {
  margin-top: 70px;
  overflow-x: clip;
  position: relative;
}
#environmentIntroWrap::before {
  content: "";
  width: 100%; /* 可変幅OK */
  height: 94.76vw;
  position: absolute;
  top: 191px;
  /* ▼ SVGで線を描画 */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Cline x1='0' y1='100%25' x2='100%25' y2='0' stroke='%23FF5B19' stroke-width='2.5' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
@media (max-width: 480px) {
  #environmentIntroWrap::before {
    top: 95%;
  }
}
#environmentIntroWrap h2.cmnTtl01 {
  position: relative;
  width: fit-content;
}
#environmentIntroWrap h2.cmnTtl01::before {
  content: "";
  position: absolute;
  top: 5.5555555556vw;
  right: -660px;
  width: 251px;
  height: 342px;
  background: url(../img/recruitment/environment/fig_illustration01.svg) no-repeat center center/contain;
}
@media (max-width: 480px) {
  #environmentIntroWrap h2.cmnTtl01::before {
    width: 146px;
    height: 193px;
    top: 40px;
    right: -150px;
  }
}
@media (max-width: 480px) {
  #environmentIntroWrap h2.cmnTtl01 {
    line-height: 1.71875;
    white-space: nowrap;
  }
}
#environmentIntroWrap .txtBox {
  margin-top: 50px;
}
@media (max-width: 480px) {
  #environmentIntroWrap .txtBox {
    margin-top: 155px;
  }
}
#environmentIntroWrap .txtBox p.read {
  max-width: 655px;
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
@media (max-width: 480px) {
  #environmentIntroWrap .txtBox p.read {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 2;
  }
}

#environmentDetailWrap {
  margin-top: 248px;
}
@media (max-width: 480px) {
  #environmentDetailWrap {
    margin-top: 100px;
  }
}
#environmentDetailWrap section h2.cmnTtl01 {
  font-size: clamp(16px, 6vw, 60px);
  font-family: "Outfit", sans-serif;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.2;
  background: #FF5B19;
  margin-left: calc((100% - 1720px) / 2);
  padding: 0 10px;
  width: fit-content;
}
@media (max-width: 480px) {
  #environmentDetailWrap section h2.cmnTtl01 {
    font-size: 2rem;
    margin-left: 15px;
    padding: 4px 10px;
  }
}
#environmentDetailWrap section .environmentDetailBox {
  margin: 25px 0 0;
  margin-left: calc((100% - 1720px) / 2);
  container-type: inline-size;
  position: relative;
}
@media (max-width: 480px) {
  #environmentDetailWrap section .environmentDetailBox {
    margin-left: auto;
    margin-top: 8px;
    margin-right: auto;
    width: 91.79%;
  }
}
#environmentDetailWrap section .environmentDetailBox .environmentDetailInner {
  --_template:
  "title"
  "image"
  "text";
  display: block grid;
  reading-flow: grid-rows;
  grid-template: var(--_template);
}
@container (480px <= inline-size) {
  #environmentDetailWrap section .environmentDetailBox .environmentDetailInner {
    --_template:
    "title image"
    "text image"
    1fr ". image"
    / 1fr 1fr;
  }
}
#environmentDetailWrap section .environmentDetailBox .environmentDetailInner [style*="--grid-area:"] {
  grid-area: var(--grid-area);
}
#environmentDetailWrap section .environmentDetailBox .environmentDetailInner .ttl {
  font-size: clamp(16px, 6vw, 60px);
  font-weight: 300;
  line-height: 1.5;
  letter-spacing: 0.05em;
  width: fit-content;
  position: relative;
  white-space: nowrap;
  z-index: 3;
}
@media (max-width: 480px) {
  #environmentDetailWrap section .environmentDetailBox .environmentDetailInner .ttl {
    font-size: 3.2rem;
    white-space: normal;
    background: rgba(250, 249, 245, 0.7);
    line-height: 1.3;
  }
  #environmentDetailWrap section .environmentDetailBox .environmentDetailInner .ttl span {
    display: inline;
  }
}
#environmentDetailWrap section .environmentDetailBox .environmentDetailInner .txtBox {
  margin-top: 100px;
}
@media (max-width: 480px) {
  #environmentDetailWrap section .environmentDetailBox .environmentDetailInner .txtBox {
    margin-top: 50px;
  }
}
#environmentDetailWrap section .environmentDetailBox .environmentDetailInner .txtBox .txtItem .subTtl {
  font-size: clamp(22px, 3vw, 32px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  background: #FF5B19;
  padding: 0 100px 0 20px;
  width: fit-content;
  position: relative;
}
#environmentDetailWrap section .environmentDetailBox .environmentDetailInner .txtBox .txtItem .subTtl span {
  display: block;
  position: relative;
  z-index: 2;
}
#environmentDetailWrap section .environmentDetailBox .environmentDetailInner .txtBox .txtItem .subTtl::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 76px;
  height: 46px;
  background: url(../img/recruitment/environment/subTtl_line.svg) no-repeat center center/contain;
  z-index: 1;
}
@media (max-width: 480px) {
  #environmentDetailWrap section .environmentDetailBox .environmentDetailInner .txtBox .txtItem .subTtl {
    font-size: 2rem;
    padding: 0 30px 0 5px;
  }
}
#environmentDetailWrap section .environmentDetailBox .environmentDetailInner .txtBox .txtItem p {
  margin-left: 50px;
  max-width: 800px;
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.05em;
  margin-top: 50px;
}
@media (max-width: 480px) {
  #environmentDetailWrap section .environmentDetailBox .environmentDetailInner .txtBox .txtItem p {
    font-size: 1.6rem;
    line-height: 2;
    margin: 20px auto 0;
    font-weight: 500;
    letter-spacing: 0;
  }
}
#environmentDetailWrap section .environmentDetailBox .environmentDetailInner .txtBox .txtItem p + p {
  margin-top: 1em;
}
#environmentDetailWrap section .environmentDetailBox .environmentDetailInner .txtBox .txtItem ul {
  margin-top: 2em;
  padding-left: 1em;
}
#environmentDetailWrap section .environmentDetailBox .environmentDetailInner .txtBox .txtItem ul li {
  margin-left: 50px;
  max-width: 600px;
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.05em;
  list-style: disc;
  list-style-position: inside;
}
@media (max-width: 480px) {
  #environmentDetailWrap section .environmentDetailBox .environmentDetailInner .txtBox .txtItem ul li {
    font-size: 1.6rem;
    line-height: 2;
    font-weight: 500;
    letter-spacing: 0;
    margin-left: 0;
  }
}
#environmentDetailWrap section .environmentDetailBox .environmentDetailInner .txtBox .txtItem ul li span {
  text-decoration: underline;
  font-weight: 500;
  text-underline-offset: 6px;
}
#environmentDetailWrap section .environmentDetailBox .environmentDetailInner .txtBox .txtItem ul li + li {
  margin-top: 0.5em;
}
#environmentDetailWrap section .environmentDetailBox .environmentDetailInner .txtBox .txtItem ul + p {
  margin-top: 2em;
}
#environmentDetailWrap section .environmentDetailBox .environmentDetailInner .txtBox .txtItem + .txtItem {
  margin-top: 75px;
}
@media (max-width: 480px) {
  #environmentDetailWrap section .environmentDetailBox .environmentDetailInner .txtBox .txtItem + .txtItem {
    margin-top: 50px;
  }
}
#environmentDetailWrap section .environmentDetailBox .environmentDetailInner .imgBox {
  max-width: 712px;
  width: 100%;
  max-height: 880px;
  margin-left: auto;
}
@media (max-width: 480px) {
  #environmentDetailWrap section .environmentDetailBox .environmentDetailInner .imgBox {
    max-width: 100%;
    width: 100%;
    margin-left: auto;
    margin-top: 50px;
  }
}
#environmentDetailWrap section .environmentDetailBox .environmentDetailInner .imgBox picture {
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
}
#environmentDetailWrap section .environmentDetailBox .environmentDetailInner .imgBox picture::before {
  content: "";
  display: block;
  padding-top: 123.6%;
}
@media (max-width: 480px) {
  #environmentDetailWrap section .environmentDetailBox .environmentDetailInner .imgBox picture::before {
    padding-top: 55.87%;
  }
}
#environmentDetailWrap section .environmentDetailBox .environmentDetailInner .imgBox picture source, #environmentDetailWrap section .environmentDetailBox .environmentDetailInner .imgBox picture img {
  margin: auto;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 0;
}
#environmentDetailWrap section + section {
  margin-top: 200px;
}
@media (max-width: 480px) {
  #environmentDetailWrap section + section {
    margin-top: 100px;
  }
}

@property --grid-area {
  syntax: "*";
  inherits: false;
  initial-value: auto;
}
/* ---------------------------------------- 
works
---------------------------------------- */
#worksIntroWrap {
  margin-top: 70px;
  overflow-x: clip;
  position: relative;
}
#worksIntroWrap::before {
  content: "";
  width: 100%; /* 可変幅OK */
  height: 94.76vw;
  position: absolute;
  top: 191px;
  /* ▼ SVGで線を描画 */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Cline x1='0' y1='100%25' x2='100%25' y2='0' stroke='%23FF5B19' stroke-width='2.5' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
@media (max-width: 480px) {
  #worksIntroWrap::before {
    top: 95%;
  }
}
#worksIntroWrap h2.cmnTtl01 {
  position: relative;
  width: fit-content;
}
#worksIntroWrap h2.cmnTtl01::before {
  content: "";
  position: absolute;
  top: 5.5555555556vw;
  right: -260px;
  width: 249px;
  height: 342px;
  background: url(../img/recruitment/works/fig_illustration01.svg) no-repeat center center/contain;
}
@media (max-width: 480px) {
  #worksIntroWrap h2.cmnTtl01::before {
    width: 137px;
    height: 187px;
    top: 70px;
    right: -125px;
  }
}
@media (max-width: 480px) {
  #worksIntroWrap h2.cmnTtl01 {
    line-height: 1.71875;
    white-space: nowrap;
  }
}
#worksIntroWrap .txtBox {
  margin-top: 50px;
}
@media (max-width: 480px) {
  #worksIntroWrap .txtBox {
    margin-top: 50px;
  }
}
#worksIntroWrap .txtBox p.read {
  max-width: 655px;
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
@media (max-width: 480px) {
  #worksIntroWrap .txtBox p.read {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 2;
  }
}

#worksIntroImgWrap {
  margin-top: 200px;
}
@media (max-width: 480px) {
  #worksIntroImgWrap {
    margin-top: 100px;
  }
}
#worksIntroImgWrap h2.cmnTtl02 {
  font-size: clamp(16px, 6vw, 60px);
  font-family: "Outfit", sans-serif;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.2;
  position: relative;
  z-index: 2;
}
#worksIntroImgWrap .worksIntroImgBox {
  margin-left: auto;
  margin-top: -20px;
}
#worksIntroImgWrap .worksIntroImgBox .worksIntroImgItem {
  width: 55.23%;
  max-width: 957px;
  height: 100%;
  margin-left: auto;
  display: block;
  position: relative;
}
#worksIntroImgWrap .worksIntroImgBox .worksIntroImgItem picture {
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
}
#worksIntroImgWrap .worksIntroImgBox .worksIntroImgItem picture::before {
  content: "";
  display: block;
  padding-top: 67.92%;
}
#worksIntroImgWrap .worksIntroImgBox .worksIntroImgItem picture source, #worksIntroImgWrap .worksIntroImgBox .worksIntroImgItem picture img {
  margin: auto;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 0;
}
@media (max-width: 480px) {
  #worksIntroImgWrap .worksIntroImgBox {
    margin-top: 50px;
  }
  #worksIntroImgWrap .worksIntroImgBox .worksIntroImgItem {
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-top: 0;
  }
}

#worksDetailWrap {
  margin-top: 240px;
}
@media (max-width: 480px) {
  #worksDetailWrap {
    margin-top: 115px;
  }
}
#worksDetailWrap section + section {
  margin-top: clamp(100px, 20.8332vw, 250px);
}
@media (max-width: 480px) {
  #worksDetailWrap section + section {
    margin-top: 100px;
  }
}
#worksDetailWrap section .worksDetailBox {
  display: flex;
}
@media (max-width: 480px) {
  #worksDetailWrap section .worksDetailBox {
    display: block;
  }
}
#worksDetailWrap section .worksDetailBox .worksDetailImgBox {
  width: 50%;
  position: relative;
}
@media (max-width: 480px) {
  #worksDetailWrap section .worksDetailBox .worksDetailImgBox {
    width: 100%;
  }
}
@media (max-width: 480px) {
  #worksDetailWrap section .worksDetailBox .worksDetailImgBox .ttl {
    padding-bottom: 36px;
    position: relative;
  }
}
#worksDetailWrap section .worksDetailBox .worksDetailImgBox .ttl span {
  display: block;
}
#worksDetailWrap section .worksDetailBox .worksDetailImgBox .ttl span.jp {
  font-size: clamp(16px, 7vw, 75px);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.05em;
}
@media (max-width: 480px) {
  #worksDetailWrap section .worksDetailBox .worksDetailImgBox .ttl span.jp {
    font-size: 2rem;
  }
}
#worksDetailWrap section .worksDetailBox .worksDetailImgBox .ttl span.en {
  font-size: clamp(22px, 3vw, 32px);
  font-weight: 300;
  line-height: 1.2;
  letter-spacing: 0.05em;
  color: #FF5B19;
  font-family: "Outfit", sans-serif;
  margin-top: 8px;
}
@media (max-width: 480px) {
  #worksDetailWrap section .worksDetailBox .worksDetailImgBox .ttl span.en {
    font-size: 1.4rem;
    margin-top: 5px;
  }
}
#worksDetailWrap section .worksDetailBox .worksDetailImgBox .imgBox {
  margin-top: 290px;
  max-width: 712px;
}
@media (max-width: 480px) {
  #worksDetailWrap section .worksDetailBox .worksDetailImgBox .imgBox {
    margin-top: 50px;
  }
}
#worksDetailWrap section .worksDetailBox .worksDetailImgBox .imgBox picture {
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
}
#worksDetailWrap section .worksDetailBox .worksDetailImgBox .imgBox picture::before {
  content: "";
  display: block;
  padding-top: 61.66%;
}
@media (max-width: 480px) {
  #worksDetailWrap section .worksDetailBox .worksDetailImgBox .imgBox picture::before {
    padding-top: 55.87%;
  }
}
#worksDetailWrap section .worksDetailBox .worksDetailImgBox .imgBox picture source, #worksDetailWrap section .worksDetailBox .worksDetailImgBox .imgBox picture img {
  margin: auto;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 0;
}
#worksDetailWrap section .worksDetailBox .worksDetailTxtBox {
  width: 50%;
  padding-left: clamp(60px, 10.416vw, 100px);
}
@media (max-width: 480px) {
  #worksDetailWrap section .worksDetailBox .worksDetailTxtBox {
    width: 100%;
    padding-left: 0;
    margin-top: 50px;
  }
}
#worksDetailWrap section .worksDetailBox .worksDetailTxtBox .missionBox {
  width: 100%;
}
#worksDetailWrap section .worksDetailBox .worksDetailTxtBox .missionBox .missionTtl {
  width: 100%;
  position: relative;
}
#worksDetailWrap section .worksDetailBox .worksDetailTxtBox .missionBox .missionTtl::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 2.5px;
  background: #FF5B19;
}
#worksDetailWrap section .worksDetailBox .worksDetailTxtBox .missionBox .missionTtl span.en {
  font-size: clamp(16px, 6vw, 60px);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.05em;
  color: #FF5B19;
  position: relative;
  padding-right: 0.5em;
  background: #FAF9F5;
}
@media (max-width: 480px) {
  #worksDetailWrap section .worksDetailBox .worksDetailTxtBox .missionBox .missionTtl span.en {
    font-size: 3.2rem;
  }
}
#worksDetailWrap section .worksDetailBox .worksDetailTxtBox .missionBox .missionTxt {
  margin-top: 20px;
}
#worksDetailWrap section .worksDetailBox .worksDetailTxtBox .missionBox .missionTxt .read {
  font-size: clamp(16px, 6vw, 60px);
  font-weight: 300;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media (max-width: 480px) {
  #worksDetailWrap section .worksDetailBox .worksDetailTxtBox .missionBox .missionTxt .read {
    font-size: 3.2rem;
  }
}
#worksDetailWrap section .worksDetailBox .worksDetailTxtBox .missionBox .missionTxt p {
  max-width: 600px;
  width: 90%;
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.05em;
  margin-top: 50px;
}
@media (max-width: 480px) {
  #worksDetailWrap section .worksDetailBox .worksDetailTxtBox .missionBox .missionTxt p {
    font-size: 1.6rem;
    line-height: 2;
    font-weight: 300;
    letter-spacing: 0;
    margin-top: 30px;
    width: 100%;
  }
}
#worksDetailWrap section .worksDetailBox .worksDetailTxtBox .skillBox {
  width: 100%;
  margin-top: 50px;
  padding-bottom: 50px;
  border-bottom: 2.5px solid #FF5B19;
}
@media (max-width: 480px) {
  #worksDetailWrap section .worksDetailBox .worksDetailTxtBox .skillBox {
    border-bottom: 1px solid #FF5B19;
  }
}
#worksDetailWrap section .worksDetailBox .worksDetailTxtBox .skillBox .skillTtl {
  width: 100%;
  position: relative;
  display: flex;
  align-items: center;
}
#worksDetailWrap section .worksDetailBox .worksDetailTxtBox .skillBox .skillTtl::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 2.5px;
  background: #FF5B19;
}
@media (max-width: 480px) {
  #worksDetailWrap section .worksDetailBox .worksDetailTxtBox .skillBox .skillTtl::before {
    height: 1px;
  }
}
#worksDetailWrap section .worksDetailBox .worksDetailTxtBox .skillBox .skillTtl span {
  display: block;
  align-items: center;
  background: #FAF9F5;
  position: relative;
  z-index: 2;
}
#worksDetailWrap section .worksDetailBox .worksDetailTxtBox .skillBox .skillTtl span.en {
  font-size: clamp(16px, 6vw, 60px);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.05em;
  color: #FF5B19;
  position: relative;
  background: #FAF9F5;
}
@media (max-width: 480px) {
  #worksDetailWrap section .worksDetailBox .worksDetailTxtBox .skillBox .skillTtl span.en {
    font-size: 3.2rem;
  }
}
#worksDetailWrap section .worksDetailBox .worksDetailTxtBox .skillBox .skillTtl span.jp {
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.05em;
  color: #FF5B19;
  background: #FAF9F5;
  padding: 0 1em;
}
@media (max-width: 480px) {
  #worksDetailWrap section .worksDetailBox .worksDetailTxtBox .skillBox .skillTtl span.jp {
    font-size: 1.6rem;
  }
}
#worksDetailWrap section .worksDetailBox .worksDetailTxtBox .skillBox .skillTxt {
  margin-top: 50px;
}
@media (max-width: 480px) {
  #worksDetailWrap section .worksDetailBox .worksDetailTxtBox .skillBox .skillTxt {
    margin-top: 30px;
  }
}
#worksDetailWrap section .worksDetailBox .worksDetailTxtBox .skillBox .skillTxt p {
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.05em;
  max-width: 600px;
  width: 90%;
}
@media (max-width: 480px) {
  #worksDetailWrap section .worksDetailBox .worksDetailTxtBox .skillBox .skillTxt p {
    font-size: 1.6rem;
    line-height: 2;
    letter-spacing: 0;
    font-weight: 300;
    width: 100%;
  }
}
#worksDetailWrap section:nth-of-type(1) .worksDetailBox .worksDetailImgBox::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  max-width: 370px;
  width: 370px;
  height: 382px;
  background: url(../img/recruitment/works/fig_illustration02.svg) no-repeat center center/contain;
}
@media (max-width: 480px) {
  #worksDetailWrap section:nth-of-type(1) .worksDetailBox .worksDetailImgBox::before {
    max-width: 139px;
    width: 139px;
    height: 144px;
    top: -15px;
    right: -15px;
  }
}
#worksDetailWrap section:nth-of-type(2) .worksDetailBox .worksDetailImgBox::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  max-width: 300px;
  width: 300px;
  height: 382px;
  background: url(../img/recruitment/works/fig_illustration03.svg) no-repeat center center/contain;
}
@media (max-width: 480px) {
  #worksDetailWrap section:nth-of-type(2) .worksDetailBox .worksDetailImgBox::before {
    max-width: 116px;
    width: 116px;
    height: 138px;
    top: -15px;
    right: -15px;
  }
}
#worksDetailWrap section:nth-of-type(3) .worksDetailBox .worksDetailImgBox::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  max-width: 291px;
  width: 291px;
  height: 382px;
  background: url(../img/recruitment/works/fig_illustration04.svg) no-repeat center center/contain;
}
@media (max-width: 480px) {
  #worksDetailWrap section:nth-of-type(3) .worksDetailBox .worksDetailImgBox::before {
    max-width: 113px;
    width: 113px;
    height: 158px;
    top: -15px;
    right: -15px;
  }
}
#worksDetailWrap section:nth-of-type(4) .worksDetailBox .worksDetailImgBox::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  max-width: 335px;
  width: 335px;
  height: 382px;
  background: url(../img/recruitment/works/fig_illustration05.svg) no-repeat center center/contain;
}
@media (max-width: 480px) {
  #worksDetailWrap section:nth-of-type(4) .worksDetailBox .worksDetailImgBox::before {
    max-width: 128px;
    width: 128px;
    height: 149px;
    top: -15px;
    right: -15px;
  }
}

/* ---------------------------------------- 
careerpass
---------------------------------------- */
#careerpassIntroWrap {
  margin-top: 70px;
  overflow-x: clip;
  position: relative;
}
#careerpassIntroWrap::before {
  content: "";
  width: 100%; /* 可変幅OK */
  height: 94.76vw;
  position: absolute;
  top: 191px;
  /* ▼ SVGで線を描画 */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Cline x1='0' y1='100%25' x2='100%25' y2='0' stroke='%23FF5B19' stroke-width='2.5' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
@media (max-width: 480px) {
  #careerpassIntroWrap::before {
    top: 95%;
  }
}
#careerpassIntroWrap h2.cmnTtl01 {
  position: relative;
  width: fit-content;
  z-index: 5;
}
#careerpassIntroWrap h2.cmnTtl01::before {
  content: "";
  position: absolute;
  top: 5.5555555556vw;
  right: -260px;
  width: 310px;
  height: 339px;
  background: url(../img/recruitment/careerpass/fig_illustration01.svg) no-repeat center center/contain;
}
@media (max-width: 480px) {
  #careerpassIntroWrap h2.cmnTtl01::before {
    width: 171px;
    height: 187px;
    top: 40px;
    right: -135px;
  }
}
@media (max-width: 480px) {
  #careerpassIntroWrap h2.cmnTtl01 {
    line-height: 1.71875;
    white-space: nowrap;
  }
}
#careerpassIntroWrap .txtBox {
  margin-top: 50px;
  position: relative;
  z-index: 5;
}
@media (max-width: 480px) {
  #careerpassIntroWrap .txtBox {
    margin-top: 50px;
  }
}
#careerpassIntroWrap .txtBox p.read {
  max-width: 655px;
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
@media (max-width: 480px) {
  #careerpassIntroWrap .txtBox p.read {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 2;
  }
}

#careerpassDetailWrap {
  margin-top: clamp(80px, 16.6668vw, 200px);
}
@media (max-width: 480px) {
  #careerpassDetailWrap {
    margin-top: 100px;
    overflow-x: clip;
  }
}
#careerpassDetailWrap h2.cmnTtl02 {
  position: relative;
  z-index: 5;
}
#careerpassDetailWrap .careerpassDetailBox {
  margin-top: clamp(60px, 10.416vw, 100px);
}
@media (max-width: 480px) {
  #careerpassDetailWrap .careerpassDetailBox {
    margin-top: 50px;
  }
}
#careerpassDetailWrap .careerpassDetailBox .careerpassDetailItem {
  background: rgba(235, 232, 225, 0.65);
  padding: 50px;
  position: relative;
  z-index: 3;
}
#careerpassDetailWrap .careerpassDetailBox .careerpassDetailItem + .careerpassDetailItem {
  margin-top: clamp(60px, 12.5004vw, 150px);
}
#careerpassDetailWrap .careerpassDetailBox .careerpassDetailItem::before {
  content: "";
  position: absolute;
  top: -50px;
  right: -50px;
  width: 100px;
  height: 100px;
  background: linear-gradient(45deg, #FDC54C, #FDB243, #FEA13B, #FE9033, #FE882F, #FE7E2A, #FE7425, #FE6920, #FF5B19);
}
@media (max-width: 480px) {
  #careerpassDetailWrap .careerpassDetailBox .careerpassDetailItem {
    padding: 20px 20px 53px;
  }
  #careerpassDetailWrap .careerpassDetailBox .careerpassDetailItem::before {
    width: 47px;
    height: 47px;
    top: -28px;
    right: -15px;
  }
}
#careerpassDetailWrap .careerpassDetailBox .careerpassDetailItem .careerpassDetailItemInner {
  display: flex;
  align-items: center;
  gap: 100px;
  position: relative;
  z-index: 3;
}
@media (max-width: 480px) {
  #careerpassDetailWrap .careerpassDetailBox .careerpassDetailItem .careerpassDetailItemInner {
    flex-direction: column;
    align-items: flex-start;
    gap: 25px;
  }
}
#careerpassDetailWrap .careerpassDetailBox .careerpassDetailItem .careerpassDetailItemInner .imgBox {
  width: 100%;
  max-width: 712px;
}
#careerpassDetailWrap .careerpassDetailBox .careerpassDetailItem .careerpassDetailItemInner .imgBox picture {
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
}
#careerpassDetailWrap .careerpassDetailBox .careerpassDetailItem .careerpassDetailItemInner .imgBox picture::before {
  content: "";
  display: block;
  padding-top: 72.33%;
}
#careerpassDetailWrap .careerpassDetailBox .careerpassDetailItem .careerpassDetailItemInner .imgBox picture source, #careerpassDetailWrap .careerpassDetailBox .careerpassDetailItem .careerpassDetailItemInner .imgBox picture img {
  margin: auto;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 0;
}
#careerpassDetailWrap .careerpassDetailBox .careerpassDetailItem .careerpassDetailItemInner .descBox .ttl {
  width: fit-content;
  padding: 4px 10px;
  background: url(../img/recruitment/careerpass/careerDetailTtlBg.png) no-repeat center center/cover;
}
#careerpassDetailWrap .careerpassDetailBox .careerpassDetailItem .careerpassDetailItemInner .descBox .ttl span {
  display: block;
  font-size: clamp(16px, 6vw, 60px);
  font-weight: 300;
  line-height: 1.2;
  letter-spacing: 0.06em;
}
@media (max-width: 480px) {
  #careerpassDetailWrap .careerpassDetailBox .careerpassDetailItem .careerpassDetailItemInner .descBox .ttl {
    padding: 0 22px 0 7px;
  }
  #careerpassDetailWrap .careerpassDetailBox .careerpassDetailItem .careerpassDetailItemInner .descBox .ttl span {
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.8;
  }
}
#careerpassDetailWrap .careerpassDetailBox .careerpassDetailItem .careerpassDetailItemInner .descBox .txtBox {
  margin-top: clamp(30px, 5.208vw, 50px);
}
@media (max-width: 480px) {
  #careerpassDetailWrap .careerpassDetailBox .careerpassDetailItem .careerpassDetailItemInner .descBox .txtBox {
    margin-top: 8px;
    padding-left: 7px;
  }
}
#careerpassDetailWrap .careerpassDetailBox .careerpassDetailItem .careerpassDetailItemInner .descBox .txtBox p.read {
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.05em;
  margin-bottom: 25px;
}
@media (max-width: 480px) {
  #careerpassDetailWrap .careerpassDetailBox .careerpassDetailItem .careerpassDetailItemInner .descBox .txtBox p.read {
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.05em;
    margin-bottom: 15px;
  }
}
#careerpassDetailWrap .careerpassDetailBox .careerpassDetailItem .careerpassDetailItemInner .descBox .txtBox p.txt {
  max-width: 455px;
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
@media (max-width: 480px) {
  #careerpassDetailWrap .careerpassDetailBox .careerpassDetailItem .careerpassDetailItemInner .descBox .txtBox p.txt {
    font-size: 1.6rem;
    line-height: 2;
    font-weight: 500;
    letter-spacing: 0;
  }
}

#careerpassPassPerformanceWrap {
  margin-top: clamp(80px, 16.6668vw, 200px);
}
@media (max-width: 480px) {
  #careerpassPassPerformanceWrap {
    margin-top: 100px;
  }
}
#careerpassPassPerformanceWrap .descBox {
  display: flex;
}
@media (max-width: 480px) {
  #careerpassPassPerformanceWrap .descBox {
    flex-direction: column;
  }
}
#careerpassPassPerformanceWrap .descBox .txtBox p {
  margin-top: clamp(60px, 10.416vw, 100px);
  max-width: 655px;
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
@media (max-width: 480px) {
  #careerpassPassPerformanceWrap .descBox .txtBox p {
    font-size: 1.6rem;
    line-height: 2;
    font-weight: 500;
    margin-top: 50px;
  }
}
#careerpassPassPerformanceWrap .descBox .imgBox {
  width: 35.23%;
  max-width: 606px;
  position: relative;
  margin-left: auto;
}
@media (max-width: 480px) {
  #careerpassPassPerformanceWrap .descBox .imgBox {
    width: 221px;
  }
}
#careerpassPassPerformanceWrap .descBox .imgBox .circle {
  position: absolute;
  bottom: 26px;
  right: 0;
  width: 698px;
  height: 643px;
  background: url(../img/recruitment/careerpass/circle_gradation.png) no-repeat center center/contain;
}
@media (max-width: 480px) {
  #careerpassPassPerformanceWrap .descBox .imgBox .circle {
    width: 255px;
    height: 235px;
    bottom: 15px;
  }
}
#careerpassPassPerformanceWrap .descBox .imgBox picture {
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
  z-index: 3;
}
#careerpassPassPerformanceWrap .descBox .imgBox picture::before {
  content: "";
  display: block;
  padding-top: 124.42%;
}
#careerpassPassPerformanceWrap .descBox .imgBox picture source, #careerpassPassPerformanceWrap .descBox .imgBox picture img {
  margin: auto;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 0;
}

/*============================================================================
	People
=============================================================================*/
.peopleFvWrap {
  overflow-x: clip;
}
.peopleFvWrap .peopleFvInner {
  position: relative;
}
.peopleFvWrap .peopleFvInner::before {
  content: "";
  display: block;
  width: 275px;
  height: 220px;
  background: url(../img/people/fv_triangle.png) no-repeat center center/contain;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 3;
}
@media (max-width: 480px) {
  .peopleFvWrap .peopleFvInner::before {
    width: 195px;
    height: 170px;
    bottom: -1px;
    background: url(../img/people/fv_triangle.png) no-repeat center bottom/contain;
  }
}
.peopleFvWrap .peopleFvInner .peopleFvTxtBox {
  width: 100%;
  position: relative;
}
.peopleFvWrap .peopleFvInner .peopleFvTxtBox .fvMainTtl {
  position: absolute;
  bottom: 10vw;
  left: clamp(60px, 10.416vw, 100px);
  width: calc(100% - 6.944444vw);
  z-index: 3;
}
@media (max-width: 480px) {
  .peopleFvWrap .peopleFvInner .peopleFvTxtBox .fvMainTtl {
    bottom: auto;
    top: 45%;
    left: 15px;
    width: calc(100% - 15px);
  }
}
.peopleFvWrap .peopleFvInner .peopleFvTxtBox .fvMainTtl .fvMainTtlBox span {
  display: block;
}
.peopleFvWrap .peopleFvInner .peopleFvTxtBox .fvMainTtl .fvMainTtlBox span.en {
  font-size: clamp(16px, 16vw, 165px);
  font-weight: 200;
  line-height: 1.2303030303;
  font-family: "Outfit", sans-serif;
  color: #FAF9F5;
  position: relative;
}
.peopleFvWrap .peopleFvInner .peopleFvTxtBox .fvMainTtl .fvMainTtlBox span.en::before {
  content: "";
  position: absolute;
  bottom: 0.25em;
  left: 0;
  width: 120%;
  height: 6px;
  background: #FAF9F5;
  transform: scaleX(var(--kv-line-scale, 1));
  transform-origin: left center;
  will-change: transform;
}
.peopleFvWrap .peopleFvInner .peopleFvTxtBox .fvMainTtl .fvMainTtlBox span.en.line-animate::before {
  transform: scaleX(0);
  animation: interviewLineReveal 1s forwards ease-out;
}
@media (max-width: 480px) {
  .peopleFvWrap .peopleFvInner .peopleFvTxtBox .fvMainTtl .fvMainTtlBox span.en {
    font-size: 6rem;
    font-weight: 300;
  }
  .peopleFvWrap .peopleFvInner .peopleFvTxtBox .fvMainTtl .fvMainTtlBox span.en::before {
    height: 2.5px;
  }
}
.peopleFvWrap .peopleFvInner .peopleFvTxtBox .fvMainTtl .fvMainTtlBox p {
  display: flex;
  align-items: flex-end;
  gap: 25px;
}
@media (max-width: 480px) {
  .peopleFvWrap .peopleFvInner .peopleFvTxtBox .fvMainTtl .fvMainTtlBox p {
    display: block;
    margin-top: 20px;
  }
}
.peopleFvWrap .peopleFvInner .peopleFvTxtBox .fvMainTtl .fvMainTtlBox p .num {
  font-size: clamp(16px, 8vw, 80px);
  font-weight: 500;
  line-height: 1;
  color: #FAF9F5;
  position: relative;
  overflow: hidden;
  font-family: "Outfit", sans-serif;
  width: fit-content;
}
@media (max-width: 480px) {
  .peopleFvWrap .peopleFvInner .peopleFvTxtBox .fvMainTtl .fvMainTtlBox p .num {
    font-size: 6rem;
    font-weight: 300;
  }
}
.peopleFvWrap .peopleFvInner .peopleFvTxtBox .fvMainTtl .fvMainTtlBox p .name {
  font-size: clamp(16px, 6vw, 60px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #FAF9F5;
  font-family: "Outfit", sans-serif;
}
@media (max-width: 480px) {
  .peopleFvWrap .peopleFvInner .peopleFvTxtBox .fvMainTtl .fvMainTtlBox p .name {
    font-size: 3.2rem;
    font-weight: 500;
    margin-top: 10px;
  }
}
.peopleFvWrap .peopleFvInner .peopleFvTxtBox .bg {
  width: 100%;
  position: relative;
}
.peopleFvWrap .peopleFvInner .peopleFvTxtBox .bg::before {
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(59, 59, 59, 0.45);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
.peopleFvWrap .peopleFvInner .peopleFvTxtBox .bg picture {
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
}
.peopleFvWrap .peopleFvInner .peopleFvTxtBox .bg picture::before {
  content: "";
  display: block;
  padding-top: 56.25%;
}
@media (max-width: 480px) {
  .peopleFvWrap .peopleFvInner .peopleFvTxtBox .bg picture::before {
    padding-top: 175%;
  }
}
.peopleFvWrap .peopleFvInner .peopleFvTxtBox .bg picture source, .peopleFvWrap .peopleFvInner .peopleFvTxtBox .bg picture img {
  margin: auto;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 0;
}

@keyframes interviewLineReveal {
  0% {
    transform: scaleX(0);
  }
  100% {
    transform: scaleX(1);
  }
}
.interviewProfileWrap {
  background: #EBE8E1;
  padding: 50px 0 80px;
}
@media (max-width: 480px) {
  .interviewProfileWrap {
    padding: 25px 0 35px;
  }
}
.interviewProfileWrap .interviewProfileInner {
  display: flex;
  gap: 215px;
}
@media (max-width: 480px) {
  .interviewProfileWrap .interviewProfileInner {
    flex-direction: column;
    gap: 55px;
  }
}
.interviewProfileWrap .interviewProfileInner .ttlBox h2.cmnTtl01 {
  font-family: "Outfit", sans-serif;
}
@media (max-width: 480px) {
  .interviewProfileWrap .interviewProfileInner .ttlBox h2.cmnTtl01 {
    font-size: 2rem;
    font-weight: 500;
    letter-spacing: 0.05em;
  }
}
@media (max-width: 480px) {
  .interviewProfileWrap .interviewProfileInner .ttlBox .infoBox {
    margin-top: 10px;
  }
}
.interviewProfileWrap .interviewProfileInner .ttlBox .infoBox .name {
  font-size: clamp(22px, 3vw, 32px);
  font-family: "Outfit", sans-serif;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
  margin-top: 0.5em;
}
@media (max-width: 480px) {
  .interviewProfileWrap .interviewProfileInner .ttlBox .infoBox .name {
    font-size: 2.4rem;
    font-weight: 500;
    margin-top: 1em;
  }
}
.interviewProfileWrap .interviewProfileInner .ttlBox .infoBox .year {
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.05em;
  margin-top: 1em;
}
@media (max-width: 480px) {
  .interviewProfileWrap .interviewProfileInner .ttlBox .infoBox .year {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.5625;
  }
}
.interviewProfileWrap .interviewProfileInner .ttlBox .infoBox .department {
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.05em;
  margin-top: 1em;
}
@media (max-width: 480px) {
  .interviewProfileWrap .interviewProfileInner .ttlBox .infoBox .department {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.5625;
    margin-top: 0.5em;
  }
}
.interviewProfileWrap .interviewProfileInner .txtBox {
  margin-top: 50px;
  max-width: 650px;
  position: relative;
}
@media (max-width: 480px) {
  .interviewProfileWrap .interviewProfileInner .txtBox {
    margin-top: 0;
    width: 100%;
  }
}
.interviewProfileWrap .interviewProfileInner .txtBox::before {
  content: "";
  display: block;
  width: 50px;
  aspect-ratio: 1;
  background: linear-gradient(45deg, #FDAB40, #FE9033, #FE822C, #FF7325, #FF651E);
  position: absolute;
  top: -25px;
  left: -25px;
  border-radius: 50%;
  z-index: 1;
}
@media (max-width: 480px) {
  .interviewProfileWrap .interviewProfileInner .txtBox::before {
    top: -15px;
    left: -35px;
  }
}
.interviewProfileWrap .interviewProfileInner .txtBox p {
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.05em;
  position: relative;
  z-index: 2;
}
@media (max-width: 480px) {
  .interviewProfileWrap .interviewProfileInner .txtBox p {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.05em;
  }
}

#interviewDetailWrap {
  margin-top: clamp(80px, 16.6668vw, 200px);
}
#interviewDetailWrap section + section {
  margin-top: clamp(60px, 12.5004vw, 150px);
}
@media (max-width: 480px) {
  #interviewDetailWrap section + section {
    margin-top: 100px;
  }
}
#interviewDetailWrap section h2 {
  font-size: clamp(16px, 6vw, 60px);
  font-weight: 300;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #FF5B19;
  text-decoration: underline;
  text-underline-offset: 8px;
  margin-bottom: clamp(60px, 10.416vw, 100px);
  text-decoration-thickness: 3px;
}
@media (max-width: 480px) {
  #interviewDetailWrap section h2 {
    font-size: 2.8rem;
    margin-bottom: 50px;
    line-height: 1.6428571429;
    text-decoration-thickness: 2px;
  }
}
#interviewDetailWrap section .contentBox {
  container-type: inline-size;
  position: relative;
}
#interviewDetailWrap section .contentBox + .contentBox {
  margin-top: clamp(60px, 12.5004vw, 150px);
}
@media (max-width: 480px) {
  #interviewDetailWrap section .contentBox + .contentBox {
    margin-top: 100px;
  }
}
#interviewDetailWrap section .contentBox .descBox p.read {
  min-width: 822px;
  font-size: clamp(22px, 3vw, 32px);
  font-weight: 300;
  color: #FF5B19;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-bottom: 55px;
}
#interviewDetailWrap section .contentBox .descBox p.read em {
  font-style: normal;
  text-decoration: underline;
  text-underline-offset: 8px;
  text-decoration-thickness: 2px;
}
@media (max-width: 480px) {
  #interviewDetailWrap section .contentBox .descBox p.read em {
    text-underline-offset: 4px;
  }
}
@media (max-width: 480px) {
  #interviewDetailWrap section .contentBox .descBox p.read {
    min-width: 100%;
    font-size: 1.6rem;
    margin-bottom: 25px;
    line-height: 1.7777777778;
  }
  #interviewDetailWrap section .contentBox .descBox p.read em {
    text-decoration-thickness: 1px;
  }
}
#interviewDetailWrap section .contentBox .descBox p.read.nowrap {
  white-space: nowrap;
}
@media (max-width: 480px) {
  #interviewDetailWrap section .contentBox .descBox p.read.nowrap {
    white-space: normal;
  }
}
#interviewDetailWrap section .contentBox .descBox .qaBoxWrap {
  min-width: 822px;
  max-width: 822px;
}
@media (max-width: 480px) {
  #interviewDetailWrap section .contentBox .descBox .qaBoxWrap {
    min-width: 100%;
  }
}
#interviewDetailWrap section .contentBox .descBox .qaBoxWrap .qaBox + .qaBox {
  margin-top: clamp(60px, 10.416vw, 100px);
}
@media (max-width: 480px) {
  #interviewDetailWrap section .contentBox .descBox .qaBoxWrap .qaBox + .qaBox {
    margin-top: 50px;
  }
}
#interviewDetailWrap section .contentBox .descBox .qaBoxWrap .qaBox .questionBox {
  position: relative;
  padding-bottom: 10px;
  margin-bottom: 25px;
}
@media (max-width: 480px) {
  #interviewDetailWrap section .contentBox .descBox .qaBoxWrap .qaBox .questionBox {
    padding-bottom: 5px;
    margin-bottom: 20px;
  }
}
#interviewDetailWrap section .contentBox .descBox .qaBoxWrap .qaBox .questionBox::after {
  content: "";
  display: block;
  width: 58px;
  height: 8px;
  background: #FF5B19;
  position: absolute;
  bottom: 0;
  left: 0;
}
#interviewDetailWrap section .contentBox .descBox .qaBoxWrap .qaBox .questionBox::before {
  content: "Q";
  display: block;
  color: #FF5B19;
  font-size: clamp(26px, 5vw, 48px);
  font-weight: 400;
  letter-spacing: 0;
  position: absolute;
  font-family: "Outfit", sans-serif;
  top: -22px;
  left: 0;
  line-height: 1;
}
@media (max-width: 480px) {
  #interviewDetailWrap section .contentBox .descBox .qaBoxWrap .qaBox .questionBox::before {
    font-size: 4.8rem;
  }
}
#interviewDetailWrap section .contentBox .descBox .qaBoxWrap .qaBox .questionBox p.question {
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.05em;
  margin-bottom: 25px;
  text-indent: 2.5em;
}
@media (max-width: 480px) {
  #interviewDetailWrap section .contentBox .descBox .qaBoxWrap .qaBox .questionBox p.question {
    text-indent: 3em;
    font-size: 1.6rem;
    letter-spacing: 0;
    line-height: 2;
  }
}
#interviewDetailWrap section .contentBox .descBox .qaBoxWrap .qaBox p.answer {
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  position: relative;
}
@media (max-width: 480px) {
  #interviewDetailWrap section .contentBox .descBox .qaBoxWrap .qaBox p.answer {
    font-size: 1.6rem;
    letter-spacing: 0;
    line-height: 2;
    font-weight: 400;
  }
}
#interviewDetailWrap section .contentBox .descBox .qaBoxWrap .qaBox p.answer + p.answer {
  margin-top: 1em;
}
#interviewDetailWrap section .contentBox.imgRight_high .descBox {
  --_template:
  "title"
  "image"
  "text";
  display: block grid;
  reading-flow: grid-rows;
  grid-template: var(--_template);
}
@container (480px <= inline-size) {
  #interviewDetailWrap section .contentBox.imgRight_high .descBox {
    --_template:
    "title image"
    "text image"
    1fr ". image"
    / 1fr 1fr;
  }
}
#interviewDetailWrap section .contentBox.imgRight_high .descBox [style*="--grid-area:"] {
  grid-area: var(--grid-area);
}
#interviewDetailWrap section .contentBox.imgRight_high .descBox p.read {
  margin-right: 40px;
}
#interviewDetailWrap section .contentBox.imgRight_high .descBox .qaBoxWrap {
  margin-right: 40px;
}
@media (max-width: 480px) {
  #interviewDetailWrap section .contentBox.imgRight_high .descBox .qaBoxWrap {
    margin-top: 50px;
  }
}
#interviewDetailWrap section .contentBox.imgRight_high .descBox .imgBox {
  max-width: 612px;
  width: 100%;
  max-height: 780px;
  margin-left: auto;
}
#interviewDetailWrap section .contentBox.imgRight_low {
  padding-left: calc((100% - 1720px) / 2);
}
#interviewDetailWrap section .contentBox.imgRight_low .descBox {
  --_template:
  "text"
  "image";
  display: block grid;
  reading-flow: grid-rows;
  grid-template: var(--_template);
}
@container (480px <= inline-size) {
  #interviewDetailWrap section .contentBox.imgRight_low .descBox {
    --_template:
    "text image"
    1fr ". image"
    / 1fr 1fr;
  }
}
#interviewDetailWrap section .contentBox.imgRight_low .descBox [style*="--grid-area:"] {
  grid-area: var(--grid-area);
}
#interviewDetailWrap section .contentBox.imgRight_low .descBox p.read {
  margin-right: 40px;
}
@media (max-width: 480px) {
  #interviewDetailWrap section .contentBox.imgRight_low .descBox p.read {
    margin-right: 0;
    width: 91.79%;
    margin: 0 auto 70px;
  }
}
#interviewDetailWrap section .contentBox.imgRight_low .descBox .qaBoxWrap {
  margin-right: 40px;
}
@media (max-width: 480px) {
  #interviewDetailWrap section .contentBox.imgRight_low .descBox .qaBoxWrap {
    margin-right: 0;
    width: 91.79%;
    margin: 0 auto 50px;
    min-width: 91.79%;
  }
}
#interviewDetailWrap section .contentBox.imgRight_low .descBox .imgBox {
  max-width: 712px;
  width: 100%;
  max-height: 420px;
  margin-left: auto;
}
@media (max-width: 480px) {
  #interviewDetailWrap section .contentBox.imgRight_low .descBox .imgBox {
    width: 91.79%;
    margin-right: auto;
  }
}
#interviewDetailWrap section .contentBox.imgRight_low.imgFirst .descBox {
  --_template:
  "image"
  "text";
  display: block grid;
  reading-flow: grid-rows;
  grid-template: var(--_template);
}
@container (480px <= inline-size) {
  #interviewDetailWrap section .contentBox.imgRight_low.imgFirst .descBox {
    --_template:
    "text image"
    1fr ". image"
    / 1fr 1fr;
  }
}
#interviewDetailWrap section .contentBox.imgRight_low.imgFirst .descBox [style*="--grid-area:"] {
  grid-area: var(--grid-area);
}
@media (max-width: 480px) {
  #interviewDetailWrap section .contentBox.imgRight_low.imgFirst .descBox .qaBoxWrap {
    margin: 50px auto 0;
  }
}
#interviewDetailWrap section .contentBox.imgLeft_low .descBox {
  --_template:
  "image"
  "title"
  "text";
  display: block grid;
  reading-flow: grid-rows;
  grid-template: var(--_template);
}
@container (480px <= inline-size) {
  #interviewDetailWrap section .contentBox.imgLeft_low .descBox {
    --_template:
    "image title"
    "image text"
    "image ." 1fr
    / 1fr 1fr;
  }
}
#interviewDetailWrap section .contentBox.imgLeft_low .descBox [style*="--grid-area:"] {
  grid-area: var(--grid-area);
}
#interviewDetailWrap section .contentBox.imgLeft_low .descBox p.read {
  margin-left: 40px;
}
@media (max-width: 480px) {
  #interviewDetailWrap section .contentBox.imgLeft_low .descBox p.read {
    margin-left: 0;
    margin-bottom: 50px;
  }
}
#interviewDetailWrap section .contentBox.imgLeft_low .descBox .qaBoxWrap {
  margin-left: 40px;
}
@media (max-width: 480px) {
  #interviewDetailWrap section .contentBox.imgLeft_low .descBox .qaBoxWrap {
    margin-left: 0;
  }
}
#interviewDetailWrap section .contentBox.imgLeft_low .descBox .imgBox {
  max-width: 712px;
}
@media (max-width: 480px) {
  #interviewDetailWrap section .contentBox.imgLeft_low .descBox .imgBox {
    margin-bottom: 50px;
  }
}
#interviewDetailWrap section .contentBox.imgLeft_high .descBox {
  --_template:
  "title"
  "text"
  "image";
  display: block grid;
  reading-flow: grid-rows;
  grid-template: var(--_template);
}
@container (480px <= inline-size) {
  #interviewDetailWrap section .contentBox.imgLeft_high .descBox {
    --_template:
    "image title"
    "image text"
    "image ." 1fr
    / 1fr 1fr;
  }
}
#interviewDetailWrap section .contentBox.imgLeft_high .descBox [style*="--grid-area:"] {
  grid-area: var(--grid-area);
}
#interviewDetailWrap section .contentBox.imgLeft_high .descBox p.read {
  margin-left: 40px;
}
@media (max-width: 480px) {
  #interviewDetailWrap section .contentBox.imgLeft_high .descBox p.read {
    margin-left: 0;
    margin-bottom: 50px;
  }
}
#interviewDetailWrap section .contentBox.imgLeft_high .descBox .qaBoxWrap {
  margin-left: 40px;
}
@media (max-width: 480px) {
  #interviewDetailWrap section .contentBox.imgLeft_high .descBox .qaBoxWrap {
    margin-left: 0;
  }
}
#interviewDetailWrap section .contentBox.imgLeft_high .descBox .imgBox {
  max-width: 712px;
}
@media (max-width: 480px) {
  #interviewDetailWrap section .contentBox.imgLeft_high .descBox .imgBox {
    margin-top: 50px;
  }
}
#interviewDetailWrap section .contentBox.imgLast .descBox {
  --_template:
  "title"
  "text"
  "image";
  display: block grid;
  reading-flow: grid-rows;
  grid-template: var(--_template);
}
@container (480px <= inline-size) {
  #interviewDetailWrap section .contentBox.imgLast .descBox {
    --_template:
    "image title"
    "image text"
    "image ." 1fr
    / 1fr 1fr;
  }
}
@media (max-width: 480px) {
  #interviewDetailWrap section .contentBox.imgLast .descBox .qaBoxWrap {
    margin-bottom: 50px;
  }
}

@property --grid-area {
  syntax: "*";
  inherits: false;
  initial-value: auto;
}
.interviewScheduleWrap {
  margin-top: clamp(80px, 16.6668vw, 200px);
  background: #FF5B19;
  padding: 80px 0;
  color: #EBE8E1;
}
@media (max-width: 480px) {
  .interviewScheduleWrap {
    padding: 60px 0;
  }
}
.interviewScheduleWrap .scheduleTtl {
  font-size: 2rem;
  font-weight: 500;
  margin-bottom: 50px;
  letter-spacing: 0.05em;
}
@media (max-width: 480px) {
  .interviewScheduleWrap .scheduleTtl {
    margin-bottom: 40px;
    font-size: 1.8rem;
    font-weight: 700;
  }
}
.interviewScheduleWrap .scheduleList {
  display: flex;
  position: relative;
  justify-content: space-between;
  padding-top: 20px; /* 丸のサイズ分確保 */
  /* 横線 */
}
.interviewScheduleWrap .scheduleList::before {
  content: "";
  position: absolute;
  top: 10px; /* 丸の中心に合わせる */
  left: 0;
  width: 100%;
  height: 2px;
  background: #EBE8E1;
}
@media (max-width: 480px) {
  .interviewScheduleWrap .scheduleList::before {
    top: 10px;
    left: 14px;
    width: 2px;
    height: 100%;
  }
}
@media (max-width: 480px) {
  .interviewScheduleWrap .scheduleList {
    flex-direction: column;
    gap: 40px;
    padding-top: 0;
    padding-left: 0;
  }
}
.interviewScheduleWrap .scheduleList .scheduleItem {
  position: relative;
  width: fit-content; /* 4つ等分より少し狭くして余白確保 */
  padding-top: 28px;
  min-width: 83px;
  padding-left: 1.5em;
  /* 丸 */
}
@media (max-width: 480px) {
  .interviewScheduleWrap .scheduleList .scheduleItem {
    width: 100%;
    padding-top: 0;
    padding-left: 40px;
  }
}
.interviewScheduleWrap .scheduleList .scheduleItem::before {
  content: "";
  position: absolute;
  top: -22px;
  left: -5px;
  width: 28px;
  height: 28px;
  background: #EBE8E1;
  border-radius: 50%;
  z-index: 1;
}
@media (max-width: 480px) {
  .interviewScheduleWrap .scheduleList .scheduleItem::before {
    top: -3px;
    left: 1px; /* 線の太さ考慮して調整 */
  }
}
@media (max-width: 480px) {
  .interviewScheduleWrap .scheduleList .scheduleItem .head {
    display: flex;
    align-items: center;
    gap: 50px;
    margin-bottom: 15px;
    margin-top: -5px; /* 丸との位置調整 */
  }
}
.interviewScheduleWrap .scheduleList .scheduleItem .head .time {
  font-family: "Outfit", sans-serif;
  font-size: 3.2rem;
  font-weight: 500;
  line-height: 1;
  margin-bottom: 20px;
  letter-spacing: 0;
}
@media (max-width: 480px) {
  .interviewScheduleWrap .scheduleList .scheduleItem .head .time {
    margin-bottom: 0;
  }
}
.interviewScheduleWrap .scheduleList .scheduleItem .head .scheduleName {
  font-size: 2rem;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-bottom: 0.25em;
}
@media (max-width: 480px) {
  .interviewScheduleWrap .scheduleList .scheduleItem .head .scheduleName {
    font-size: 1.8rem;
    letter-spacing: 0.05em;
  }
}
.interviewScheduleWrap .scheduleList .scheduleItem .txt {
  white-space: nowrap;
  font-size: 2rem;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.05em;
}
@media (max-width: 480px) {
  .interviewScheduleWrap .scheduleList .scheduleItem .txt {
    font-size: 1.6rem;
    line-height: 2;
    letter-spacing: 0.02em;
    white-space: normal;
    font-weight: 300;
    width: 90%;
  }
}
.interviewScheduleWrap .scheduleList .scheduleItem .txt span {
  margin-bottom: 8px;
}
.interviewScheduleWrap .scheduleList .scheduleItem .txt ul li {
  padding-left: 1em;
  position: relative;
}
.interviewScheduleWrap .scheduleList .scheduleItem .txt ul li::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}
@media (max-width: 480px) {
  .interviewScheduleWrap .scheduleList .scheduleItem.heightSP {
    margin-bottom: 80px;
  }
}

.interviewMemberListWrap {
  margin: clamp(80px, 16.6668vw, 200px) 0;
}

/*============================================================================
	Story
=============================================================================*/
.storyFvWrap {
  overflow-x: clip;
}
.storyFvWrap .storyFvInner {
  position: relative;
}
.storyFvWrap .storyFvInner::before {
  content: "";
  display: block;
  width: 275px;
  height: 220px;
  background: url(../img/people/fv_triangle.png) no-repeat center center/contain;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 3;
}
@media (max-width: 480px) {
  .storyFvWrap .storyFvInner::before {
    width: 195px;
    height: 170px;
    bottom: -1px;
    background: url(../img/people/fv_triangle.png) no-repeat center bottom/contain;
  }
}
.storyFvWrap .storyFvInner .storyFvTxtBox {
  width: 100%;
  position: relative;
}
.storyFvWrap .storyFvInner .storyFvTxtBox .fvMainTtl {
  position: absolute;
  bottom: 10vw;
  left: clamp(60px, 10.416vw, 100px);
  width: calc(100% - 6.944444vw);
  z-index: 3;
}
@media (max-width: 480px) {
  .storyFvWrap .storyFvInner .storyFvTxtBox .fvMainTtl {
    bottom: auto;
    top: 45%;
    left: 15px;
    width: calc(100% - 15px);
  }
}
.storyFvWrap .storyFvInner .storyFvTxtBox .fvMainTtl .fvMainTtlBox span {
  display: block;
}
.storyFvWrap .storyFvInner .storyFvTxtBox .fvMainTtl .fvMainTtlBox span.en {
  font-size: clamp(16px, 16vw, 165px);
  font-weight: 200;
  line-height: 1.2303030303;
  font-family: "Outfit", sans-serif;
  color: #FAF9F5;
  position: relative;
}
.storyFvWrap .storyFvInner .storyFvTxtBox .fvMainTtl .fvMainTtlBox span.en::before {
  content: "";
  position: absolute;
  bottom: 0.35em;
  left: 0;
  width: 120%;
  height: 6px;
  background: #FAF9F5;
  transform: scaleX(var(--kv-line-scale, 1));
  transform-origin: left center;
  will-change: transform;
}
.storyFvWrap .storyFvInner .storyFvTxtBox .fvMainTtl .fvMainTtlBox span.en.line-animate::before {
  transform: scaleX(0);
  animation: storyLineReveal 1s forwards ease-out;
}
.storyFvWrap .storyFvInner .storyFvTxtBox .fvMainTtl .fvMainTtlBox span.en::after {
  content: "";
  position: absolute;
  bottom: 20px;
  right: 145px;
  width: 1197px;
  height: 296px;
  background: url(../img/people/story/txt_future.svg) no-repeat center center/contain;
}
@media (max-width: 480px) {
  .storyFvWrap .storyFvInner .storyFvTxtBox .fvMainTtl .fvMainTtlBox span.en {
    font-size: 6rem;
    font-weight: 300;
  }
  .storyFvWrap .storyFvInner .storyFvTxtBox .fvMainTtl .fvMainTtlBox span.en::before {
    height: 2.5px;
  }
  .storyFvWrap .storyFvInner .storyFvTxtBox .fvMainTtl .fvMainTtlBox span.en::after {
    width: 100%;
    right: 50%;
    left: 43%;
    translate: -50% 0;
    bottom: auto;
    top: -60px;
  }
}
.storyFvWrap .storyFvInner .storyFvTxtBox .fvMainTtl .fvMainTtlBox p.read {
  font-size: clamp(16px, 6vw, 60px);
  font-weight: 300;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #FAF9F5;
}
@media (max-width: 480px) {
  .storyFvWrap .storyFvInner .storyFvTxtBox .fvMainTtl .fvMainTtlBox p.read {
    font-size: 2.8rem;
    font-weight: 400;
    line-height: 1.4375;
    letter-spacing: 0.06em;
    margin-top: 70px;
  }
}
.storyFvWrap .storyFvInner .storyFvTxtBox .bg {
  width: 100%;
  position: relative;
}
.storyFvWrap .storyFvInner .storyFvTxtBox .bg::before {
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(59, 59, 59, 0.45);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
.storyFvWrap .storyFvInner .storyFvTxtBox .bg picture {
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
}
.storyFvWrap .storyFvInner .storyFvTxtBox .bg picture::before {
  content: "";
  display: block;
  padding-top: 56.25%;
}
@media (max-width: 480px) {
  .storyFvWrap .storyFvInner .storyFvTxtBox .bg picture::before {
    padding-top: 175%;
  }
}
.storyFvWrap .storyFvInner .storyFvTxtBox .bg picture source, .storyFvWrap .storyFvInner .storyFvTxtBox .bg picture img {
  margin: auto;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 0;
}

@keyframes storyLineReveal {
  0% {
    transform: scaleX(0);
  }
  100% {
    transform: scaleX(1);
  }
}
.storyIntroWrap {
  margin-top: clamp(80px, 16.6668vw, 200px);
}
@media (max-width: 480px) {
  .storyIntroWrap {
    margin-top: 100px;
  }
}
.storyIntroWrap .storyIntroBox {
  padding-left: calc((100% - 1720px) / 2);
  container-type: inline-size;
  position: relative;
}
.storyIntroWrap .storyIntroBox .storyIntroInner {
  --_template:
  "title image"
  "text text";
  display: block grid;
  reading-flow: grid-rows;
  grid-template: var(--_template);
}
@container (480px <= inline-size) {
  .storyIntroWrap .storyIntroBox .storyIntroInner {
    --_template:
    "title image"
    "text image"
    1fr ". image"
    / 1fr 1fr;
  }
}
.storyIntroWrap .storyIntroBox .storyIntroInner [style*="--grid-area:"] {
  grid-area: var(--grid-area);
}
.storyIntroWrap .storyIntroBox .ttl {
  font-size: clamp(16px, 6vw, 60px);
  font-weight: 300;
  line-height: 1.5;
  letter-spacing: 0.05em;
  width: fit-content;
  white-space: nowrap;
  position: relative;
  z-index: 3;
  padding-bottom: 50px;
  margin-bottom: 50px;
  position: relative;
}
.storyIntroWrap .storyIntroBox .ttl::after {
  content: "";
  display: block;
  width: 58px;
  height: 8px;
  background: #FF5B19;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media (max-width: 480px) {
  .storyIntroWrap .storyIntroBox .ttl {
    font-size: 3.2rem;
    margin-right: -140px;
    font-weight: 500;
    white-space: normal;
    margin-left: 15px;
    padding-bottom: 40px;
    margin-bottom: 30px;
    line-height: 1.71875;
  }
  .storyIntroWrap .storyIntroBox .ttl span {
    display: inline;
  }
}
.storyIntroWrap .storyIntroBox .txtBox {
  max-width: 623px;
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media (max-width: 480px) {
  .storyIntroWrap .storyIntroBox .txtBox {
    font-size: 1.6rem;
    line-height: 2;
    font-weight: 300;
    letter-spacing: 0;
    width: 91.79%;
    margin: 0 auto;
  }
}
.storyIntroWrap .storyIntroBox .txtBox p em {
  background: #FF5B19;
  font-style: normal;
}
.storyIntroWrap .storyIntroBox .imgBox {
  max-height: 386px;
  width: 960px;
}
@media (max-width: 480px) {
  .storyIntroWrap .storyIntroBox .imgBox {
    max-width: 135px;
    width: 125%;
    max-height: 200px;
    margin-left: auto;
  }
}
.storyIntroWrap .storyIntroBox .imgBox picture {
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
}
.storyIntroWrap .storyIntroBox .imgBox picture::before {
  content: "";
  display: block;
  padding-top: 40.21%;
}
@media (max-width: 480px) {
  .storyIntroWrap .storyIntroBox .imgBox picture::before {
    padding-top: 148.15%;
  }
}
.storyIntroWrap .storyIntroBox .imgBox picture source, .storyIntroWrap .storyIntroBox .imgBox picture img {
  margin: auto;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 0;
}

#storyDetailWrap {
  margin-top: clamp(80px, 16.6668vw, 200px);
  padding-bottom: 200px;
}
@media (max-width: 480px) {
  #storyDetailWrap {
    margin-top: 100px;
    padding-bottom: 100px;
  }
}
#storyDetailWrap section + section {
  margin-top: 200px;
}
@media (max-width: 480px) {
  #storyDetailWrap section + section {
    margin-top: 100px;
  }
}
#storyDetailWrap section .storyScheduleBox {
  container-type: inline-size;
  position: relative;
}
#storyDetailWrap section .storyScheduleBox .storyScheduleInner {
  --_template:
  "time"
  "title"
  "text"
  "image";
  display: block grid;
  reading-flow: grid-rows;
  grid-template: var(--_template);
}
@container (480px <= inline-size) {
  #storyDetailWrap section .storyScheduleBox .storyScheduleInner {
    --_template:
    "time text"
    "image text" ;
  }
}
#storyDetailWrap section .storyScheduleBox .storyScheduleInner [style*="--grid-area:"] {
  grid-area: var(--grid-area);
}
#storyDetailWrap section .storyScheduleBox .storyScheduleInner.img_Right {
  padding-left: calc((100% - 1720px) / 2);
  --_template:
  "title"
  "text"
  "image";
  display: block grid;
  reading-flow: grid-rows;
  grid-template: var(--_template);
}
@container (480px <= inline-size) {
  #storyDetailWrap section .storyScheduleBox .storyScheduleInner.img_Right {
    --_template:
    "text image" ;
  }
}
#storyDetailWrap section .storyScheduleBox .storyScheduleInner.img_Right [style*="--grid-area:"] {
  grid-area: var(--grid-area);
}
#storyDetailWrap section .storyScheduleBox .storyScheduleInner.img_Right .txtBox {
  margin-left: 0;
}
@media (max-width: 480px) {
  #storyDetailWrap section .storyScheduleBox .storyScheduleInner.img_Right .txtBox {
    width: 91.79%;
    margin: 0 auto;
    min-width: 91.79%;
  }
  #storyDetailWrap section .storyScheduleBox .storyScheduleInner.img_Right .txtBox .ttl {
    font-size: 3.2rem;
    font-weight: 500;
    padding-bottom: 25px;
    margin-bottom: 20px;
  }
  #storyDetailWrap section .storyScheduleBox .storyScheduleInner.img_Right .txtBox .ttl::after {
    display: block;
  }
}
#storyDetailWrap section .storyScheduleBox .storyScheduleInner.img_Right .imgBox {
  margin-left: auto;
  max-height: 386px;
  width: 960px;
  margin-top: 100px;
}
@media (max-width: 480px) {
  #storyDetailWrap section .storyScheduleBox .storyScheduleInner.img_Right .imgBox {
    max-height: 250px;
    width: 100%;
  }
}
#storyDetailWrap section .storyScheduleBox .storyScheduleInner.img_Left {
  padding-right: calc((100% - 1720px) / 2);
  --_template:
  "image"
  "text";
  display: block grid;
  reading-flow: grid-rows;
  grid-template: var(--_template);
}
@container (480px <= inline-size) {
  #storyDetailWrap section .storyScheduleBox .storyScheduleInner.img_Left {
    --_template:
    "image text" ;
  }
}
#storyDetailWrap section .storyScheduleBox .storyScheduleInner.img_Left [style*="--grid-area:"] {
  grid-area: var(--grid-area);
}
#storyDetailWrap section .storyScheduleBox .storyScheduleInner.img_Left .txtBox {
  margin-left: auto;
  min-width: fit-content;
}
@media (max-width: 480px) {
  #storyDetailWrap section .storyScheduleBox .storyScheduleInner.img_Left .txtBox {
    width: 91.79%;
    margin: 0 auto;
    min-width: 91.79%;
  }
  #storyDetailWrap section .storyScheduleBox .storyScheduleInner.img_Left .txtBox .ttl {
    font-size: 3.2rem;
    font-weight: 500;
    padding-bottom: 25px;
    margin-bottom: 20px;
  }
  #storyDetailWrap section .storyScheduleBox .storyScheduleInner.img_Left .txtBox .ttl::after {
    display: block;
  }
}
#storyDetailWrap section .storyScheduleBox .storyScheduleInner.img_Left .imgBox {
  max-height: 386px;
  width: 960px;
}
@media (max-width: 480px) {
  #storyDetailWrap section .storyScheduleBox .storyScheduleInner.img_Left .imgBox {
    max-height: 250px;
    width: 100%;
    margin-bottom: 50px;
  }
}
#storyDetailWrap section .storyScheduleBox .time {
  background: #FF5B19;
  font-size: clamp(16px, 6vw, 58px);
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #FAF9F5;
  width: 240px;
  height: 90px;
  margin-bottom: 60px;
  position: relative;
  padding-left: 20px;
  line-height: 90px;
  font-family: "Outfit", sans-serif;
}
#storyDetailWrap section .storyScheduleBox .time::before {
  content: "";
  display: block;
  width: 80px;
  height: 60px;
  background: url(../img/people/story/time_line.svg) no-repeat center center/contain;
  position: absolute;
  bottom: 0;
  right: -5px;
}
@media (max-width: 480px) {
  #storyDetailWrap section .storyScheduleBox .time {
    width: 160px;
    height: 55px;
    line-height: 55px;
    margin-bottom: 18px;
    font-size: 3.2rem;
    margin-left: -20px;
  }
  #storyDetailWrap section .storyScheduleBox .time::before {
    width: 55px;
    height: 44px;
    bottom: -5px;
    right: -3px;
    background: url(../img/people/story/time_line_sp.svg) no-repeat center center/contain;
  }
}
#storyDetailWrap section .storyScheduleBox .txtBox {
  margin-left: auto;
  min-width: 860px;
}
@media (max-width: 480px) {
  #storyDetailWrap section .storyScheduleBox .txtBox {
    min-width: 100%;
  }
}
#storyDetailWrap section .storyScheduleBox .ttl {
  font-size: clamp(16px, 6vw, 60px);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05em;
  width: fit-content;
  white-space: nowrap;
  position: relative;
  z-index: 3;
  padding-bottom: 50px;
  margin-bottom: 50px;
  position: relative;
}
#storyDetailWrap section .storyScheduleBox .ttl::after {
  content: "";
  display: block;
  width: 58px;
  height: 8px;
  background: #FF5B19;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media (max-width: 480px) {
  #storyDetailWrap section .storyScheduleBox .ttl {
    font-size: 1.8rem;
    font-weight: 500;
    white-space: normal;
    margin-left: 0;
    line-height: 1.7777777778;
    letter-spacing: 0.05em;
    padding-bottom: 0;
    margin-bottom: 18px;
  }
  #storyDetailWrap section .storyScheduleBox .ttl::after {
    display: none;
  }
}
#storyDetailWrap section .storyScheduleBox .txt {
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media (max-width: 480px) {
  #storyDetailWrap section .storyScheduleBox .txt {
    font-size: 1.6rem;
    line-height: 2;
    font-weight: 300;
    letter-spacing: 0;
    margin-bottom: 25px;
  }
}
#storyDetailWrap section .storyScheduleBox .txt p {
  max-width: 613px;
}
#storyDetailWrap section .storyScheduleBox .txt p em {
  background: #FF5B19;
  font-style: normal;
}
#storyDetailWrap section .storyScheduleBox .txt .schedule {
  margin-top: 20px;
}
#storyDetailWrap section .storyScheduleBox .txt .schedule p {
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 500;
  line-height: 1;
}
#storyDetailWrap section .storyScheduleBox .txt .schedule ul {
  margin-top: 12px;
  padding-left: 2em;
}
#storyDetailWrap section .storyScheduleBox .txt .schedule ul li {
  font-size: clamp(16px, 2vw, 20px);
  list-style: disc;
}
#storyDetailWrap section .storyScheduleBox .imgBox {
  width: 623px;
  max-height: 348px;
}
@media (max-width: 480px) {
  #storyDetailWrap section .storyScheduleBox .imgBox {
    max-width: 100%;
    width: 100%;
    max-height: 200px;
    margin-left: auto;
  }
}
#storyDetailWrap section .storyScheduleBox .imgBox picture {
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
}
#storyDetailWrap section .storyScheduleBox .imgBox picture::before {
  content: "";
  display: block;
  padding-top: 55.86%;
}
#storyDetailWrap section .storyScheduleBox .imgBox picture source, #storyDetailWrap section .storyScheduleBox .imgBox picture img {
  margin: auto;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 0;
}
#storyDetailWrap section .storyScheduleTxtBox {
  margin-top: 100px;
  background: #3B3B3B;
  position: relative;
}
@media (max-width: 480px) {
  #storyDetailWrap section .storyScheduleTxtBox {
    margin-top: 50px;
  }
}
#storyDetailWrap section .storyScheduleTxtBox::before {
  content: "";
  display: block;
  width: 951px;
  height: 196px;
  background: url(../img/people/story/txt_myview.svg) no-repeat center center/contain;
  position: absolute;
  top: 0;
  left: 0;
}
@media (max-width: 480px) {
  #storyDetailWrap section .storyScheduleTxtBox::before {
    width: 100%;
    max-width: 365px;
    top: -30px;
  }
}
#storyDetailWrap section .storyScheduleTxtBox::after {
  content: "";
  display: block;
  width: 279px;
  height: 294px;
  background: url(../img/people/story/fig_cross02.svg) no-repeat center center/contain;
  position: absolute;
  bottom: 0;
  right: 0;
}
@media (max-width: 480px) {
  #storyDetailWrap section .storyScheduleTxtBox::after {
    display: none;
  }
}
#storyDetailWrap section .storyScheduleTxtBox .container {
  padding: 141px 0 90px;
  display: flex;
  align-items: flex-start;
  position: relative;
  z-index: 3;
}
@media (max-width: 480px) {
  #storyDetailWrap section .storyScheduleTxtBox .container {
    padding: 90px 0 75px;
    display: block;
  }
}
#storyDetailWrap section .storyScheduleTxtBox .container::before {
  content: "";
  display: block;
  width: 318px;
  height: 338px;
  background: url(../img/people/story/fig_cross01.svg) no-repeat center center/contain;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
@media (max-width: 480px) {
  #storyDetailWrap section .storyScheduleTxtBox .container::before {
    display: none;
  }
}
#storyDetailWrap section .storyScheduleTxtBox .ttl {
  width: 50%;
  font-size: clamp(22px, 3vw, 32px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #FAF9F5;
}
@media (max-width: 480px) {
  #storyDetailWrap section .storyScheduleTxtBox .ttl {
    width: 100%;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.7777777778;
    letter-spacing: 0.05em;
    margin-bottom: 25px;
  }
}
#storyDetailWrap section .storyScheduleTxtBox .txt {
  width: 50%;
  margin-left: 50px;
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  color: #FAF9F5;
}
@media (max-width: 480px) {
  #storyDetailWrap section .storyScheduleTxtBox .txt {
    width: 100%;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2;
    margin-left: 0;
    letter-spacing: 0.05em;
  }
}
#storyDetailWrap section .storyScheduleTxtBox .txt p {
  max-width: 600px;
}

/*============================================================================
	Cross Talk
============================================================================*/
.crosstalkFvWrap {
  overflow-x: clip;
}
.crosstalkFvWrap .crosstalkFvInner {
  position: relative;
}
.crosstalkFvWrap .crosstalkFvInner::before {
  content: "";
  display: block;
  width: 275px;
  height: 220px;
  background: url(../img/people/fv_triangle.png) no-repeat center center/contain;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 3;
}
@media (max-width: 480px) {
  .crosstalkFvWrap .crosstalkFvInner::before {
    width: 195px;
    height: 170px;
    bottom: -1px;
    background: url(../img/people/fv_triangle.png) no-repeat center bottom/contain;
  }
}
.crosstalkFvWrap .crosstalkFvInner .crosstalkFvTxtBox {
  width: 100%;
  position: relative;
}
.crosstalkFvWrap .crosstalkFvInner .crosstalkFvTxtBox .fvMainTtl {
  position: absolute;
  bottom: 10vw;
  left: clamp(60px, 10.416vw, 100px);
  width: calc(100% - 6.944444vw);
  z-index: 3;
}
@media (max-width: 480px) {
  .crosstalkFvWrap .crosstalkFvInner .crosstalkFvTxtBox .fvMainTtl {
    bottom: auto;
    top: 50%;
    left: 15px;
    width: calc(100% - 15px);
  }
}
.crosstalkFvWrap .crosstalkFvInner .crosstalkFvTxtBox .fvMainTtl .fvMainTtlBox span {
  display: block;
}
.crosstalkFvWrap .crosstalkFvInner .crosstalkFvTxtBox .fvMainTtl .fvMainTtlBox span.en {
  font-size: clamp(16px, 16vw, 165px);
  font-weight: 200;
  line-height: 1.2303030303;
  font-family: "Outfit", sans-serif;
  color: #FAF9F5;
  position: relative;
}
.crosstalkFvWrap .crosstalkFvInner .crosstalkFvTxtBox .fvMainTtl .fvMainTtlBox span.en::before {
  content: "";
  position: absolute;
  bottom: 0.25em;
  left: 0;
  width: 120%;
  height: 6px;
  background: #FAF9F5;
  transform: scaleX(var(--kv-line-scale, 1));
  transform-origin: left center;
  will-change: transform;
}
.crosstalkFvWrap .crosstalkFvInner .crosstalkFvTxtBox .fvMainTtl .fvMainTtlBox span.en.line-animate::before {
  transform: scaleX(0);
  animation: crosstalkLineReveal 1s forwards ease-out;
}
@media (max-width: 480px) {
  .crosstalkFvWrap .crosstalkFvInner .crosstalkFvTxtBox .fvMainTtl .fvMainTtlBox span.en {
    font-size: 6rem;
    font-weight: 300;
  }
  .crosstalkFvWrap .crosstalkFvInner .crosstalkFvTxtBox .fvMainTtl .fvMainTtlBox span.en::before {
    height: 2.5px;
  }
}
.crosstalkFvWrap .crosstalkFvInner .crosstalkFvTxtBox .fvMainTtl .fvMainTtlBox p {
  display: flex;
  align-items: flex-end;
  gap: 25px;
}
@media (max-width: 480px) {
  .crosstalkFvWrap .crosstalkFvInner .crosstalkFvTxtBox .fvMainTtl .fvMainTtlBox p {
    display: block;
    margin-top: 20px;
  }
}
.crosstalkFvWrap .crosstalkFvInner .crosstalkFvTxtBox .fvMainTtl .fvMainTtlBox p .num {
  font-size: clamp(16px, 8vw, 80px);
  font-weight: 500;
  line-height: 1;
  color: #FAF9F5;
  position: relative;
  overflow: hidden;
  font-family: "Outfit", sans-serif;
  width: fit-content;
}
@media (max-width: 480px) {
  .crosstalkFvWrap .crosstalkFvInner .crosstalkFvTxtBox .fvMainTtl .fvMainTtlBox p .num {
    font-size: 6rem;
    font-weight: 300;
  }
}
.crosstalkFvWrap .crosstalkFvInner .crosstalkFvTxtBox .fvMainTtl .fvMainTtlBox p .name {
  font-size: clamp(16px, 6vw, 60px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #FAF9F5;
  font-family: "Outfit", sans-serif;
}
@media (max-width: 480px) {
  .crosstalkFvWrap .crosstalkFvInner .crosstalkFvTxtBox .fvMainTtl .fvMainTtlBox p .name {
    font-size: 3.2rem;
    font-weight: 500;
    margin-top: 10px;
  }
}
.crosstalkFvWrap .crosstalkFvInner .crosstalkFvTxtBox .bg {
  width: 100%;
  position: relative;
}
.crosstalkFvWrap .crosstalkFvInner .crosstalkFvTxtBox .bg::before {
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(59, 59, 59, 0.45);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
.crosstalkFvWrap .crosstalkFvInner .crosstalkFvTxtBox .bg picture {
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
}
.crosstalkFvWrap .crosstalkFvInner .crosstalkFvTxtBox .bg picture::before {
  content: "";
  display: block;
  padding-top: 56.25%;
}
@media (max-width: 480px) {
  .crosstalkFvWrap .crosstalkFvInner .crosstalkFvTxtBox .bg picture::before {
    padding-top: 175%;
  }
}
.crosstalkFvWrap .crosstalkFvInner .crosstalkFvTxtBox .bg picture source, .crosstalkFvWrap .crosstalkFvInner .crosstalkFvTxtBox .bg picture img {
  margin: auto;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 0;
}

@keyframes crosstalkLineReveal {
  0% {
    transform: scaleX(0);
  }
  100% {
    transform: scaleX(1);
  }
}
.crosstalkMemberWrap {
  background: #EBE8E1;
  padding: 50px 0 100px;
}
.crosstalkMemberWrap .container h2.cmnTtl01 {
  margin-bottom: 30px;
  font-family: "Outfit", sans-serif;
  font-weight: 500;
  letter-spacing: 0;
}
.crosstalkMemberWrap .container ul {
  display: flex;
  flex-wrap: wrap;
  row-gap: 65px;
}
.crosstalkMemberWrap .container ul li {
  width: 50%;
  display: flex;
  gap: 30px;
  align-items: flex-start;
}
@media (max-width: 480px) {
  .crosstalkMemberWrap .container ul li {
    width: 100%;
    gap: 15px;
  }
}
.crosstalkMemberWrap .container ul li .imgBox {
  width: 18.6%;
  position: relative;
  overflow: hidden;
}
@media (max-width: 480px) {
  .crosstalkMemberWrap .container ul li .imgBox {
    width: 100%;
    max-width: 140px;
  }
}
.crosstalkMemberWrap .container ul li .imgBox::before {
  content: "";
  position: absolute;
  right: -1px;
  bottom: -1px;
  width: 80px;
  height: 70px;
  z-index: 2;
}
@media (max-width: 480px) {
  .crosstalkMemberWrap .container ul li .imgBox::before {
    width: 58px;
    height: 50px;
  }
}
.crosstalkMemberWrap .container ul li .imgBox picture {
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
}
.crosstalkMemberWrap .container ul li .imgBox picture::before {
  content: "";
  display: block;
  padding-top: 126.25%;
}
.crosstalkMemberWrap .container ul li .imgBox picture source, .crosstalkMemberWrap .container ul li .imgBox picture img {
  margin: auto;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 0;
}
@media (max-width: 480px) {
  .crosstalkMemberWrap .container ul li .txtBox {
    width: calc(100% - 155px);
  }
}
.crosstalkMemberWrap .container ul li .txtBox p.name {
  font-size: clamp(22px, 3vw, 32px);
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-bottom: 10px;
  font-family: "Outfit", sans-serif;
}
@media (max-width: 480px) {
  .crosstalkMemberWrap .container ul li .txtBox p.name {
    font-size: 2.2rem;
    font-weight: 500;
    letter-spacing: 0.05em;
  }
}
.crosstalkMemberWrap .container ul li .txtBox p.department {
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.05em;
  margin-bottom: 22px;
}
@media (max-width: 480px) {
  .crosstalkMemberWrap .container ul li .txtBox p.department {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: 0.05em;
    margin-bottom: 15px;
  }
}
.crosstalkMemberWrap .container ul li .txtBox p.txt {
  max-width: 545px;
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
@media (max-width: 480px) {
  .crosstalkMemberWrap .container ul li .txtBox p.txt {
    font-size: 1.6rem;
    font-weight: 300;
    line-height: 1.5625;
    letter-spacing: 0;
  }
}
.crosstalkMemberWrap .container ul li:nth-of-type(1) .imgBox::before {
  background: url(../img/people/crosstalk/triangle01.png) no-repeat center center/contain;
}
.crosstalkMemberWrap .container ul li:nth-of-type(2) .imgBox::before {
  background: url(../img/people/crosstalk/triangle02.png) no-repeat center center/contain;
}
.crosstalkMemberWrap .container ul li:nth-of-type(3) .imgBox::before {
  background: url(../img/people/crosstalk/triangle03.png) no-repeat center center/contain;
}
.crosstalkMemberWrap .container ul li:nth-of-type(4) .imgBox::before {
  background: url(../img/people/crosstalk/triangle04.png) no-repeat center center/contain;
}
.crosstalkMemberWrap .container ul li:nth-of-type(5) .imgBox::before {
  background: url(../img/people/crosstalk/triangle05.png) no-repeat center center/contain;
}

.crosstalkIntroWrap {
  margin-top: clamp(80px, 16.6668vw, 200px);
}
.crosstalkIntroWrap h2.cmnTtl01 {
  position: relative;
  width: 100%;
}
.crosstalkIntroWrap h2.cmnTtl01::before {
  content: "";
  display: block;
  background: url(../img/people/crosstalk/fig_illustration.svg) no-repeat center center/contain;
  position: absolute;
  top: 0;
  right: 37px;
  width: 424px;
  height: 528px;
}
@media (max-width: 480px) {
  .crosstalkIntroWrap h2.cmnTtl01::before {
    right: -15px;
    width: 100%;
    max-width: 150px;
    height: 160px;
    top: 70%;
  }
}
@media (max-width: 480px) {
  .crosstalkIntroWrap h2.cmnTtl01 {
    line-height: 1.71875;
    white-space: nowrap;
  }
}
.crosstalkIntroWrap .introBox {
  margin-top: clamp(60px, 10.416vw, 100px);
  max-width: 624px;
}
@media (max-width: 480px) {
  .crosstalkIntroWrap .introBox {
    margin-top: 100px;
  }
}
.crosstalkIntroWrap .introBox p.txt {
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
}
.crosstalkIntroWrap .introBox p.txt em {
  font-style: normal;
  background: #FF5B19;
}
@media (max-width: 480px) {
  .crosstalkIntroWrap .introBox p.txt {
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0.05em;
  }
}
.crosstalkIntroWrap.crosstalkIntroWrap01 h2.cmnTtl01::before {
  content: "";
  display: block;
  background: url(../img/people/crosstalk/crosstalk02/fig_illustration.svg) no-repeat center center/contain;
  position: absolute;
  top: 0;
  right: 0;
  width: 551px;
  height: 529px;
}
@media (max-width: 480px) {
  .crosstalkIntroWrap.crosstalkIntroWrap01 h2.cmnTtl01::before {
    right: -15px;
    width: 100%;
    max-width: 150px;
    height: 160px;
    top: 70%;
  }
}

#crosstalkDetailWrap {
  margin-top: clamp(80px, 16.6668vw, 200px);
  padding-bottom: 200px;
}
@media (max-width: 480px) {
  #crosstalkDetailWrap {
    padding-bottom: 100px;
    margin-top: 100px;
  }
}
#crosstalkDetailWrap section + section {
  margin-top: clamp(80px, 16.6668vw, 200px);
}
@media (max-width: 480px) {
  #crosstalkDetailWrap section + section {
    margin-top: 100px;
  }
}
@media (max-width: 480px) {
  #crosstalkDetailWrap section .container {
    width: 100%;
  }
}
#crosstalkDetailWrap section .ttlBox p.num {
  font-family: "Outfit", sans-serif;
  font-weight: 200;
  font-size: clamp(16px, 6vw, 60px);
  line-height: 1;
  letter-spacing: 0.05em;
  color: #FF5B19;
  margin-bottom: 20px;
}
@media (max-width: 480px) {
  #crosstalkDetailWrap section .ttlBox p.num {
    font-size: 3.2rem;
    font-weight: 200;
    margin-bottom: 15px;
  }
}
#crosstalkDetailWrap section .ttlBox p.num.noTitle {
  margin-bottom: clamp(60px, 10.416vw, 100px);
}
#crosstalkDetailWrap section .ttlBox p.ttl {
  max-width: 860px;
  font-weight: 300;
  font-size: clamp(16px, 6vw, 60px);
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #FF5B19;
  text-decoration: underline;
  text-underline-offset: 8px;
  margin-bottom: clamp(60px, 10.416vw, 100px);
  text-decoration-thickness: 3px;
}
@media (max-width: 480px) {
  #crosstalkDetailWrap section .ttlBox p.ttl {
    font-size: 2.8rem;
    font-weight: 300;
    line-height: 1.6428571429;
    letter-spacing: 0.05em;
    margin-bottom: 50px;
    text-decoration-thickness: 2px;
    text-underline-offset: 6px;
  }
}
@media (max-width: 480px) {
  #crosstalkDetailWrap section .ttlBox {
    width: 91.79%;
    margin: 0 auto;
  }
}
#crosstalkDetailWrap section .descBox .descBoxInner {
  display: flex;
}
@media (max-width: 480px) {
  #crosstalkDetailWrap section .descBox .descBoxInner {
    flex-direction: column;
  }
}
#crosstalkDetailWrap section .descBox .txtBox {
  width: 50%;
}
@media (max-width: 480px) {
  #crosstalkDetailWrap section .descBox .txtBox {
    width: 91.79%;
    margin: 0 auto;
  }
}
#crosstalkDetailWrap section .descBox .txtBox p.read {
  color: #FF5B19;
  font-size: clamp(22px, 3vw, 32px);
  line-height: 1.5;
  font-weight: 300;
  letter-spacing: 0.05em;
  margin-bottom: 50px;
}
@media (max-width: 480px) {
  #crosstalkDetailWrap section .descBox .txtBox p.read {
    font-size: 1.6rem;
    font-weight: 300;
    line-height: 1.6428571429;
    letter-spacing: 0.05em;
    margin-bottom: 50px;
  }
}
#crosstalkDetailWrap section .descBox .txtBox .talkBox .questionBox {
  position: relative;
  margin-bottom: 40px;
}
#crosstalkDetailWrap section .descBox .txtBox .talkBox .questionBox::before {
  content: "Q";
  display: block;
  color: #FF5B19;
  font-size: clamp(26px, 5vw, 48px);
  font-weight: 400;
  letter-spacing: 0;
  position: absolute;
  font-family: "Outfit", sans-serif;
  top: -22px;
  left: 0;
  line-height: 1;
}
@media (max-width: 480px) {
  #crosstalkDetailWrap section .descBox .txtBox .talkBox .questionBox::before {
    font-size: 4.8rem;
  }
}
#crosstalkDetailWrap section .descBox .txtBox .talkBox .questionBox p.question {
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.05em;
  margin-bottom: 35px;
  text-indent: 2.5em;
}
@media (max-width: 480px) {
  #crosstalkDetailWrap section .descBox .txtBox .talkBox .questionBox p.question {
    text-indent: 3em;
    font-size: 1.6rem;
    letter-spacing: 0;
    line-height: 2;
  }
}
#crosstalkDetailWrap section .descBox .txtBox .talkBox ul.answer li {
  position: relative;
}
#crosstalkDetailWrap section .descBox .txtBox .talkBox ul.answer li + li {
  margin-top: clamp(30px, 5.208vw, 50px);
}
@media (max-width: 480px) {
  #crosstalkDetailWrap section .descBox .txtBox .talkBox ul.answer li + li {
    margin-top: 40px;
  }
}
#crosstalkDetailWrap section .descBox .txtBox .talkBox ul.answer li p.name {
  padding-left: 70px;
  font-family: "Outfit", sans-serif;
  font-weight: 300;
  font-size: clamp(22px, 3vw, 32px);
  position: relative;
  margin-bottom: 15px;
  letter-spacing: 0.05em;
}
#crosstalkDetailWrap section .descBox .txtBox .talkBox ul.answer li p.name::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  translate: 0 -50%;
  width: 50px;
  height: 50px;
  background: url(../img/people/crosstalk/circle01.png) no-repeat center center/contain;
}
@media (max-width: 480px) {
  #crosstalkDetailWrap section .descBox .txtBox .talkBox ul.answer li p.name {
    font-size: 2rem;
    font-weight: 300;
    line-height: 1.6428571429;
    letter-spacing: 0;
    margin-bottom: 20px;
  }
}
#crosstalkDetailWrap section .descBox .txtBox .talkBox ul.answer li p.txt {
  margin-left: 70px;
  max-width: 600px;
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
#crosstalkDetailWrap section .descBox .txtBox .talkBox ul.answer li p.txt + p.txt {
  margin-top: 1em;
}
@media (max-width: 480px) {
  #crosstalkDetailWrap section .descBox .txtBox .talkBox ul.answer li p.txt {
    margin-left: 0;
    font-size: 1.6rem;
    letter-spacing: 0;
    line-height: 2;
    font-weight: 300;
  }
}
#crosstalkDetailWrap section .descBox .txtBox .talkBox ul.answer li.circle01 p.name::before {
  background: url(../img/people/crosstalk/circle01.png) no-repeat center center/contain;
}
#crosstalkDetailWrap section .descBox .txtBox .talkBox ul.answer li.circle02 p.name::before {
  background: url(../img/people/crosstalk/circle02.png) no-repeat center center/contain;
}
#crosstalkDetailWrap section .descBox .txtBox .talkBox ul.answer li.circle03 p.name::before {
  background: url(../img/people/crosstalk/circle03.png) no-repeat center center/contain;
}
#crosstalkDetailWrap section .descBox .txtBox .talkBox ul.answer li.circle04 p.name::before {
  background: url(../img/people/crosstalk/circle04.png) no-repeat center center/contain;
}
#crosstalkDetailWrap section .descBox .txtBox .talkBox ul.answer li.circle05 p.name::before {
  background: url(../img/people/crosstalk/circle05.png) no-repeat center center/contain;
}
#crosstalkDetailWrap section .descBox .txtBox .talkBox ul.answer li.summary {
  margin-top: 100px;
}
@media (max-width: 480px) {
  #crosstalkDetailWrap section .descBox .txtBox .talkBox ul.answer li.summary {
    margin-top: 50px;
  }
}
#crosstalkDetailWrap section .descBox .txtBox.mt_minus420 {
  margin-top: -420px;
}
@media (max-width: 480px) {
  #crosstalkDetailWrap section .descBox .txtBox.mt_minus420 {
    margin-top: 0;
  }
}
#crosstalkDetailWrap section .descBox.img_Left .descBoxInner {
  gap: 180px;
}
@media (max-width: 480px) {
  #crosstalkDetailWrap section .descBox.img_Left .descBoxInner {
    gap: 25px;
  }
}
#crosstalkDetailWrap section .descBox.img_Left .descBoxInner .imgBox {
  width: 680px;
  max-width: 680px;
}
#crosstalkDetailWrap section .descBox.img_Left .descBoxInner .imgBox picture::before {
  padding-top: 88.24%;
}
@media (max-width: 480px) {
  #crosstalkDetailWrap section .descBox.img_Left .descBoxInner .imgBox {
    width: 100%;
    max-width: 100%;
  }
}
#crosstalkDetailWrap section .descBox.img_Left .descBoxInner .txtBox {
  margin-left: clamp(45px, 7.812vw, 75px);
}
@media (max-width: 480px) {
  #crosstalkDetailWrap section .descBox.img_Left .descBoxInner .txtBox {
    margin-left: auto;
  }
}
#crosstalkDetailWrap section .descBox.img_Left_over .ttlBox {
  padding-left: calc((100% - 1720px) / 2);
}
#crosstalkDetailWrap section .descBox.img_Left_over .descBoxInner {
  gap: 75px;
}
@media (max-width: 480px) {
  #crosstalkDetailWrap section .descBox.img_Left_over .descBoxInner {
    gap: 25px;
  }
}
#crosstalkDetailWrap section .descBox.img_Left_over .descBoxInner .imgBox {
  width: 100%;
  max-width: 860px;
}
#crosstalkDetailWrap section .descBox.img_Left_over .descBoxInner .imgBox picture::before {
  padding-top: 52.91%;
}
@media (max-width: 480px) {
  #crosstalkDetailWrap section .descBox.img_Left_over .descBoxInner .imgBox {
    width: 100%;
    max-width: 100%;
  }
  #crosstalkDetailWrap section .descBox.img_Left_over .descBoxInner .imgBox picture::before {
    padding-top: 51.28%;
  }
}
#crosstalkDetailWrap section .descBox.img_Left_over .descBoxInner .txtBox {
  margin-left: clamp(45px, 7.812vw, 75px);
}
@media (max-width: 480px) {
  #crosstalkDetailWrap section .descBox.img_Left_over .descBoxInner .txtBox {
    margin-left: auto;
  }
}
#crosstalkDetailWrap section .descBox.img_Right .descBoxInner {
  justify-content: space-between;
}
@media (max-width: 480px) {
  #crosstalkDetailWrap section .descBox.img_Right .descBoxInner {
    gap: 50px;
  }
}
#crosstalkDetailWrap section .descBox.img_Right .descBoxInner .imgBox {
  width: 760px;
  max-width: 760px;
  order: 2;
}
#crosstalkDetailWrap section .descBox.img_Right .descBoxInner .imgBox picture::before {
  padding-top: 57.89%;
}
@media (max-width: 480px) {
  #crosstalkDetailWrap section .descBox.img_Right .descBoxInner .imgBox {
    width: 91.79%;
    max-width: 91.79%;
    margin: 0 auto;
    order: 1;
  }
  #crosstalkDetailWrap section .descBox.img_Right .descBoxInner .imgBox picture::before {
    padding-top: 51.28%;
  }
}
#crosstalkDetailWrap section .descBox.img_Right .descBoxInner .txtBox {
  order: 1;
  padding-left: clamp(54px, 9.375vw, 90px);
  width: 50%;
}
@media (max-width: 480px) {
  #crosstalkDetailWrap section .descBox.img_Right .descBoxInner .txtBox {
    margin-left: auto;
    width: 91.79%;
    padding-left: 0;
    order: 2;
  }
}
#crosstalkDetailWrap section .descBox.img_Right_over {
  padding-left: calc((100% - 1720px) / 2);
}
#crosstalkDetailWrap section .descBox.img_Right_over .descBoxInner {
  justify-content: space-between;
}
@media (max-width: 480px) {
  #crosstalkDetailWrap section .descBox.img_Right_over .descBoxInner {
    gap: 25px;
  }
}
#crosstalkDetailWrap section .descBox.img_Right_over .descBoxInner .imgBox {
  width: 860px;
  max-width: 860px;
  order: 2;
}
#crosstalkDetailWrap section .descBox.img_Right_over .descBoxInner .imgBox picture::before {
  padding-top: 52.91%;
}
@media (max-width: 480px) {
  #crosstalkDetailWrap section .descBox.img_Right_over .descBoxInner .imgBox {
    width: 91.79%;
    max-width: 91.79%;
    margin: 0 auto;
    order: 1;
  }
  #crosstalkDetailWrap section .descBox.img_Right_over .descBoxInner .imgBox picture::before {
    padding-top: 51.28%;
  }
}
#crosstalkDetailWrap section .descBox.img_Right_over .descBoxInner .txtBox {
  order: 1;
  padding-left: clamp(54px, 9.375vw, 90px);
  width: 50%;
}
@media (max-width: 480px) {
  #crosstalkDetailWrap section .descBox.img_Right_over .descBoxInner .txtBox {
    margin-left: auto;
    order: 2;
    width: 91.79%;
    padding-left: 0;
  }
}
#crosstalkDetailWrap section .descBox + .descBox {
  margin-top: clamp(80px, 16.6668vw, 200px);
}
#crosstalkDetailWrap section.fullPic {
  width: 100%;
}
#crosstalkDetailWrap section.fullPic picture {
  width: 100%;
  display: block;
  position: relative;
}
#crosstalkDetailWrap section.fullPic picture::before {
  content: "";
  display: block;
  padding-top: 20.83%;
}
@media (max-width: 480px) {
  #crosstalkDetailWrap section.fullPic picture::before {
    padding-top: 25%;
  }
}
#crosstalkDetailWrap section.fullPic picture source, #crosstalkDetailWrap section.fullPic picture img {
  margin: auto;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 0;
}
#crosstalkDetailWrap section.last .descBox {
  container-type: inline-size;
  position: relative;
}
#crosstalkDetailWrap section.last .descBox .descBoxInner {
  --_template:
  "title"
  "image"
  "text";
  display: block grid;
  reading-flow: grid-rows;
  grid-template: var(--_template);
}
@container (480px <= inline-size) {
  #crosstalkDetailWrap section.last .descBox .descBoxInner {
    --_template:
    "title image"
    "text image" ;
  }
}
#crosstalkDetailWrap section.last .descBox .descBoxInner [style*="--grid-area:"] {
  grid-area: var(--grid-area);
}
#crosstalkDetailWrap section.last .descBox .descBoxInner .txtBox {
  margin-left: clamp(54px, 9.375vw, 90px);
  width: 100%;
}
@media (max-width: 480px) {
  #crosstalkDetailWrap section.last .descBox .descBoxInner .txtBox {
    margin-left: auto;
    width: 91.79%;
  }
}
#crosstalkDetailWrap section.last .descBox .descBoxInner .imgBox {
  margin-top: clamp(60px, 10.416vw, 100px);
  max-width: 523px;
  width: 100%;
  margin-left: auto;
}
#crosstalkDetailWrap section.last .descBox .descBoxInner .imgBox picture::before {
  padding-top: 125.24%;
}
@media (max-width: 480px) {
  #crosstalkDetailWrap section.last .descBox .descBoxInner .imgBox {
    max-width: 100%;
    width: 91.79%;
    margin: 0 auto 50px;
  }
}
@media (max-width: 480px) {
  #crosstalkDetailWrap section.last .descBox.img_Right .descBoxInner.sp_gap0 {
    gap: 0;
  }
}
#crosstalkDetailWrap section.last .descBox.img_Right .descBoxInner .txtBox.pl0 {
  padding-left: 0;
}
#crosstalkDetailWrap section.last .descBox.img_Right .descBoxInner .imgBox.max680 {
  max-width: 680px;
}
@media (max-width: 480px) {
  #crosstalkDetailWrap section.last .descBox.img_Right_over .descBoxInner.sp_gap0 {
    gap: 0;
  }
}
#crosstalkDetailWrap section.last .descBox.img_Right_over .descBoxInner .txtBox {
  margin-left: 0;
}
@media (max-width: 480px) {
  #crosstalkDetailWrap section.last .descBox.img_Right_over .descBoxInner .txtBox {
    margin-left: auto;
  }
}
#crosstalkDetailWrap section.last .descBox.img_Right_over .descBoxInner .txtBox.mt70 {
  margin-top: 70px;
}
@media (max-width: 480px) {
  #crosstalkDetailWrap section.last .descBox.img_Right_over .descBoxInner .txtBox.sp_mt0 {
    margin-top: 0;
  }
}
@media (max-width: 480px) {
  #crosstalkDetailWrap section.last .descBox.img_Right_over .descBoxInner .txtBox .talkBox ul.answer li.summary.sp_mt0 {
    margin-top: 0;
  }
}
#crosstalkDetailWrap section.last .descBox.img_Right_over .descBoxInner .txtBox .talkBox ul.answer li.summary p.txt.max675 {
  max-width: 675px;
}
#crosstalkDetailWrap section.last .descBox.img_Right_over .descBoxInner .txtBox .talkBox ul.answer li.summary p.txt.ml0 {
  margin-left: 0;
}
#crosstalkDetailWrap section.last .descBox.img_Right_over .descBoxInner .imgBox {
  max-width: 885px;
  display: flex;
  flex-direction: column;
  gap: 25px;
}
#crosstalkDetailWrap section.last .descBox.img_Left .descBoxInner .imgBox {
  margin-top: 0;
  max-width: 610px;
}
#crosstalkDetailWrap section.last .descBox.img_Left .descBoxInner.rowGap0 {
  row-gap: 0;
}

/*============================================================================
	Privacy
=============================================================================*/
#privacyPolicyArea {
  margin: clamp(48px, 8.334vw, 80px) auto clamp(72px, 12.4995vw, 120px);
}
#privacyPolicyArea .toptext {
  margin: 0 auto clamp(36px, 6.2505vw, 60px);
  font-size: clamp(14px, 2vw, 18px);
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.9;
}
#privacyPolicyArea section h3 {
  margin: 0 auto 20px;
  font-size: clamp(18px, 3vw, 28px);
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.5;
  color: #659DC6;
}
@media (max-width: 480px) {
  #privacyPolicyArea section h3 {
    font-size: 2rem;
  }
}
#privacyPolicyArea section h4 {
  margin: 40px auto 15px;
  font-size: clamp(16px, 2vw, 22px);
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.5;
  color: #161616;
}
#privacyPolicyArea section p {
  letter-spacing: 0.04em;
  line-height: 1.85;
}
@media (max-width: 480px) {
  #privacyPolicyArea section p {
    line-height: 1.5;
  }
}
#privacyPolicyArea section .dateList {
  margin-top: 20px;
  line-height: 1.8;
  font-size: clamp(14px, 2vw, 16px);
  text-align: right;
}
@media (max-width: 480px) {
  #privacyPolicyArea section .dateList {
    line-height: 1.5;
  }
}
#privacyPolicyArea section .signature {
  margin-top: 30px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-align: right;
}
#privacyPolicyArea section ul {
  margin: clamp(12px, 2.0835vw, 20px);
}
#privacyPolicyArea section ul li {
  padding-left: 1em;
  position: relative;
  line-height: 1.8;
}
@media (max-width: 480px) {
  #privacyPolicyArea section ul li {
    line-height: 1.5;
  }
}
#privacyPolicyArea section ul li::before {
  content: "";
  width: 8px;
  height: 8px;
  background: #659DC6;
  border-radius: 50%;
  display: block;
  position: absolute;
  top: 10px;
  left: 0;
}
@media (max-width: 480px) {
  #privacyPolicyArea section ul li::before {
    width: 6px;
    height: 6px;
  }
}
#privacyPolicyArea section ul li + li {
  margin-top: 8px;
}
#privacyPolicyArea section ol {
  margin: clamp(12px, 2.0835vw, 20px);
  counter-reset: olnum 0;
}
#privacyPolicyArea section ol li {
  padding-left: 2em;
  position: relative;
  line-height: 1.9;
}
@media (max-width: 480px) {
  #privacyPolicyArea section ol li {
    line-height: 1.5;
  }
}
#privacyPolicyArea section ol li::before {
  counter-increment: olnum 1;
  content: counter(olnum) "）";
  position: absolute;
  left: 0;
}
#privacyPolicyArea section ol li + li {
  margin-top: 8px;
}
#privacyPolicyArea section .privacyTableWrap {
  overflow-x: auto;
  margin: 30px auto;
}
#privacyPolicyArea section .privacyTable {
  width: 100%;
  border-collapse: collapse;
}
#privacyPolicyArea section .privacyTable th,
#privacyPolicyArea section .privacyTable td {
  border: 1px solid #D5D8DA;
  padding: 18px;
  vertical-align: top;
  font-size: clamp(14px, 2vw, 16px);
  line-height: 1.75;
}
@media (max-width: 480px) {
  #privacyPolicyArea section .privacyTable th,
  #privacyPolicyArea section .privacyTable td {
    font-size: 1.4rem;
    line-height: 1.5;
  }
}
#privacyPolicyArea section .privacyTable th {
  width: 26%;
  background: #F4F6F8;
  font-weight: 700;
  letter-spacing: 0.06em;
}
#privacyPolicyArea section .privacyTable td ol {
  margin: 0;
}
#privacyPolicyArea section .privacyTable td ol li {
  padding-left: 1.6em;
}
#privacyPolicyArea section .privacyTable td ol li::before {
  left: 0;
}
@media (max-width: 768px) {
  #privacyPolicyArea section .privacyTable thead {
    display: none;
  }
  #privacyPolicyArea section .privacyTable tbody,
  #privacyPolicyArea section .privacyTable tr,
  #privacyPolicyArea section .privacyTable th,
  #privacyPolicyArea section .privacyTable td {
    display: block;
    width: 100%;
  }
  #privacyPolicyArea section .privacyTable tr {
    border: 1px solid #D5D8DA;
    margin-bottom: 16px;
    overflow: hidden;
  }
  #privacyPolicyArea section .privacyTable th {
    background: #F4F6F8;
    padding: 16px;
    width: 100% !important;
  }
  #privacyPolicyArea section .privacyTable td {
    padding: 16px;
    border-top: 1px solid #D5D8DA;
  }
  #privacyPolicyArea section .privacyTable td::before {
    content: attr(data-label);
    display: block;
    font-weight: 700;
    margin-bottom: 8px;
    color: #659DC6;
  }
  #privacyPolicyArea section .privacyTable td ol li {
    padding-left: 1.4em;
    line-height: 1.5;
  }
  #privacyPolicyArea section .privacyTable td ol li + li {
    margin-top: 4px;
  }
}
#privacyPolicyArea section .contactInfo {
  margin: 20px auto;
  padding: 24px;
  background: #F7F8F9;
  border-radius: 12px;
}
#privacyPolicyArea section .contactInfo p {
  line-height: 1.8;
  font-weight: 500;
}
#privacyPolicyArea section .contactInfo p a {
  text-decoration: underline;
  color: #659DC6;
}
@media (max-width: 480px) {
  #privacyPolicyArea section .privacyTable th,
  #privacyPolicyArea section .privacyTable td {
    padding: 14px;
  }
  #privacyPolicyArea section .privacyTable th {
    width: auto;
  }
}
#privacyPolicyArea section.contactBlock {
  margin-left: auto;
  margin-right: auto;
  padding: clamp(36px, 6.2505vw, 60px);
  max-width: 1080px;
  width: 90%;
  background: #EFF0F0;
}
#privacyPolicyArea section.contactBlock h3 {
  margin: 0 auto clamp(36px, 6.2505vw, 60px);
  color: #4880D3;
  font-size: clamp(22px, 3vw, 32px);
  font-weight: 900;
  text-align: center;
}
#privacyPolicyArea section.contactBlock .fl {
  margin: auto;
  max-width: 980px;
}
#privacyPolicyArea section.contactBlock .contactL {
  width: 49%;
}
#privacyPolicyArea section.contactBlock .contactL dl {
  padding: clamp(12px, 2.0835vw, 20px) 0;
  font-size: clamp(16px, 2vw, 20px);
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  border-bottom: 1px solid #AAAAAA;
}
#privacyPolicyArea section.contactBlock .contactL dl dt {
  font-weight: 700;
}
#privacyPolicyArea section.contactBlock .contactL dl dt::after {
  content: "：";
  margin: auto 5px;
  display: inline-block;
}
#privacyPolicyArea section.contactBlock .contactL dl dd {
  font-weight: 500;
}
#privacyPolicyArea section.contactBlock .contactL dl:first-of-type {
  padding-top: 0;
}
#privacyPolicyArea section.contactBlock .contactR {
  margin: auto 0 auto auto;
  width: 42.8%;
}
@media (max-width: 480px) {
  #privacyPolicyArea section.contactBlock .contactL {
    width: 100%;
  }
  #privacyPolicyArea section.contactBlock .contactR {
    margin: 40px auto 0;
    width: 100%;
  }
}
#privacyPolicyArea section + section {
  margin-top: clamp(48px, 8.334vw, 80px);
}

/*============================================================================
	404
=============================================================================*/
.notfoundWrap p + p {
  margin-top: 1.5em;
}