@charset "UTF-8";

:root {
  --NotoSans-font: "Noto Sans JP", sans-serif;
  --Montserrat-font: "Montserrat", sans-serif;
  --Roboto-font: "Roboto", sans-serif;
  --box01-color: #24A8E2;
  --box01-line: rgba(76, 190, 232, 0.5);
  --box02-color: #F7CC1C;
  --box02-line: rgba(255, 255, 8, 0.5);
  --box03-color: #83C44B;
  --box03-line: rgba(131, 196, 75, 0.5);
  --box04-color: #337FCD;
  --box04-line: rgba(72, 149, 229, 0.5);
  --box05-color: #F586A4;
  --box05-line: rgba(250, 162, 186, 0.5);
  --box06-color: #1EAC51;
  --box06-line: rgba(30, 172, 81, 0.5);
  --box07-color: #EDD41B;
  --box07-line: rgba(255, 233, 67, 0.5);
  --box08-color: #FF8900;
  --box08-line: rgba(255, 167, 0, 0.5);
  --box09-color: #D34152;
  --box09-line: rgba(229, 94, 110, 0.5);
  --box10-color: #BA83BA;
  --box10-line: rgba(213, 153, 213, 0.5);
  --box11-color: #E791BB;
  --box11-line: rgba(245, 176, 210, 0.5);
}

.u-only-sp {
  display: none;
}
@media print, screen and (max-width:768px) {
  .u-only-sp {
    display: block;
  }
}

@media print, screen and (max-width:768px) {
  .u-only-pc {
    display: none;
  }
}

/*==============================
# keyframes
==============================*/
@keyframes upDawn {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(10px);
  }
  100% {
    transform: translateY(0);
  }
}

/*==============================
# jsトリガー
==============================*/
.js-fade_up {
  opacity: 0;
  transform: translateY(15px);
  transition: 1s;
}
.js-fade_up.is-show {
  opacity: 1;
  transform: translateY(0);
}

/*==============================
# component
==============================*/
.c-sec-title {
  text-align: center;
  color: #333333;
}

.c-sec-title__wrap {
  display: inline-block;
  position: relative;
}

.c-sec-title__en {
  font-family: var(--Montserrat-font);
  font-size: 70px;
  font-weight: 700;
}
@media print, screen and (max-width:768px) {
  .c-sec-title__en {
    font-size: 36px;
  }
}

.c-sec-title__ja {
  font-size: 20px;
  font-weight: 700;
  margin-top: 6px;
}
@media print, screen and (max-width:768px) {
  .c-sec-title__ja {
    font-size: 14px;
    margin-top: 4px;
  }
}

.c-btn-white {
  display: inline-block;
  width: 100%;
  max-width: 360px;
  background-color: #fff;
  border-radius: 100px;
  padding: 24px 0;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-align: center;
  color: #FF8900;
  text-decoration: none;
  position: relative;
}
@media print, screen and (max-width:768px) {
  .c-btn-white {
    max-width: 320px;
    padding: 20px 0;
    font-size: 20px;
  }
}

.c-btn-white::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 30px;
  width: 14px;
  height: 14px;
  background-color: #FF8900;
  border-radius: 50%;
}
@media print, screen and (max-width:768px) {
  .c-btn-white::before {
    width: 12px;
    height: 12px;
  }
}

.c-btn-orange {
  display: inline-block;
  width: 100%;
  max-width: 360px;
  background: linear-gradient(to left, #FFB948, #FF8900);
  border-radius: 100px;
  padding: 24px 0;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-align: center;
  color: #fff;
  text-decoration: none;
  position: relative;
}
@media print, screen and (max-width:768px) {
  .c-btn-orange {
    max-width: 320px;
    padding: 20px 0;
    font-size: 20px;
  }
}

.c-btn-orange::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 30px;
  width: 14px;
  height: 14px;
  background-color: #fff;
  border-radius: 50%;
}
@media print, screen and (max-width:768px) {
  .c-btn-orange::before {
    width: 12px;
    height: 12px;
  }
}

.c-environment-tag {
  display: inline-block;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #fff;
  padding: 11px 46px 11px 20px;
  clip-path: polygon(0 0, 90% 0%, 100% 100%, 0% 100%);
  position: absolute;
  top: -30px;
  left: -20px;
}
@media print, screen and (max-width:768px) {
  .c-environment-tag {
    font-size: 16px;
    padding: 8px 28px 8px 16px;
    top: -20px;
    left: -10px;
  }
}

.c-environment-tag.society {
  background-color: #FF8900;
}

.c-environment-tag.protection {
  background-color: #83C44B;
}

.c-environment-tag.health {
  background-color: #337FCD;
}

/*==============================
# layout
==============================*/
.l-accordion {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
@media print, screen and (max-width:768px) {
  .l-accordion {
    gap: 12px;
  }
}

.l-accordion__item {
  background-color: #fff;
  border-radius: 10px;
}

.l-accordion__title {
  padding: 24px 50px 24px 30px;
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
@media print, screen and (max-width:768px) {
  .l-accordion__title {
    padding: 16px 40px 16px 16px;
  }
}

.l-accordion__title::before,
.l-accordion__title::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-color: #333333;
  transition: 0.3s;
}

.l-accordion__title::before {
  width: 14px;
  height: 2px;
  right: 30px;
}
@media print, screen and (max-width:768px) {
  .l-accordion__title::before {
    right: 16px;
  }
}

.l-accordion__title::after {
  width: 2px;
  height: 14px;
  right: 36px;
}
@media print, screen and (max-width:768px) {
  .l-accordion__title::after {
    right: 23px;
  }
}

.l-accordion__title.open::after {
  opacity: 0;
}

.l-accordion__title p {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.5;
  padding-top: 0.1em;
}
@media print, screen and (max-width:768px) {
  .l-accordion__title p {
    font-size: 16px;
  }
}

.l-accordion__title span {
  font-family: var(--Montserrat-font);
  font-size: 24px;
  font-weight: 700;
  color: #FF8900;
}
@media print, screen and (max-width:768px) {
  .l-accordion__title span {
    font-size: 20px;
  }
}

.l-accordion__body {
  padding: 0 60px 30px 60px;
  display: none;
}
@media print, screen and (max-width:768px) {
  .l-accordion__body {
    padding: 0 34px 32px 16px;
  }
}

.l-accordion__body p {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.75;
}
@media print, screen and (max-width:768px) {
  .l-accordion__body p {
    font-size: 14px;
    line-height: 1.71;
  }
}

.l-accordion__body p a {
  color: #333;
}

p.l-accordion-entry__sub {
  font-size: 18px;
  font-weight: 700;
  margin: 1.5em 0 0.5em;
}

/*==============================
# 採用情報
==============================*/
.recruit.recruit-info {
  background-color: transparent;
}

.p-recruit {
  font-family: var(--Montserrat-font);
  font-size: 40px;
}

.p-recruit-mv {
  position: relative;
  width: 100%;
  z-index: 1;
  /* background-color: #FCFBF0; */
}
@media print, screen and (max-width:768px) {
  .p-recruit-mv {
    /* height: 100vh; */
  }
}

.p-recruit-mv::before {
  content: "";
  display: block;
  padding-top: 56.25%;
}
@media print, screen and (max-width:768px) {
  .p-recruit-mv::before {
    padding-top: 178%;
  }
}

.p-recruit-mv video {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -1;
}

.p-recruit-mv #mv {
  width: 60%;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  z-index: 0;
}
@media print, screen and (max-width:768px) {
  .p-recruit-mv #mv {
    width: 90%;
  }
}

.p-recruit-mv #base path {
  fill:url(#g); /* 塗りの色 */
}

.p-recruit-mv #mask path {
  fill:none; /* 塗りの色 */
  fill-opacity: 1;
  stroke:#FF6B3E; /* 線の色 */
  stroke-width:20px; /* 線幅 */
  stroke-linecap:round; /* 線端の形状 */
  stroke-linejoin:round; /* 角の形状 */
}

.p-recruit-contents {
  font-family: var(--NotoSans-font);
}

.p-recruit-menu {
  position: relative;
  z-index: 1;
}

.p-recruit-menu__inner {
  padding: 50px 20px 60px;
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
}
@media print, screen and (max-width:768px) {
  .p-recruit-menu__inner {
    padding: 40px 20px 75px;
  }
}

.p-recruit-menu-heading {
  display: flex;
  align-items: center;
  gap: 20px;
}
@media print, screen and (max-width:768px) {
  .p-recruit-menu-heading {
    gap: 10px;
    padding: 18px 30px 0 20px;
    background-color: #FCFBF0;
    position: absolute;
    bottom: 99%;
    left: 0;
    clip-path: polygon(0 0, 90% 0%, 100% 100%, 0% 100%);
  }
}

.p-recruit-menu-heading__en {
  display: inline-block;
  font-family: var(--Montserrat-font);
  font-size: 40px;
  font-weight: 700;
  padding-right: 20px;
  position: relative;
}
@media print, screen and (max-width:768px) {
  .p-recruit-menu-heading__en {
    font-size: 24px;
    padding-right: 13px;
  }
}

.p-recruit-menu-heading__en::after {
  content: "";
  width: 1px;
  height: 24px;
  background-color: #FF8900;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
@media print, screen and (max-width:768px) {
  .p-recruit-menu-heading__en::after {
    height: 18px;
  }
}

.p-recruit-menu-heading__ja {
  font-size: 16px;
  font-weight: 700;
}
@media print, screen and (max-width:768px) {
  .p-recruit-menu-heading__ja {
    font-size: 14px;
  }
}

.p-recruit-menu__list {
  display: flex;
  flex-wrap: wrap;
  margin-top: 68px;
}
@media print, screen and (max-width:768px) {
  .p-recruit-menu__list {
    margin-top: 0;
  }
}

.p-recruit-menu__item {
  width: 19.84%;
  transition: 0.3s;
}
@media print, screen and (max-width:768px) {
  .p-recruit-menu__item {
    width: calc(50% - 23px / 2);
  }
}

.p-recruit-menu__item:not(:last-child) {
  margin-right: 3%;
}
@media print, screen and (max-width:768px) {
  .p-recruit-menu__item:not(:last-child) {
    margin-right: 0;
  }
}

.p-recruit-menu__item:nth-child(5) {
  margin-left: auto;
}
@media print, screen and (max-width:768px) {
  .p-recruit-menu__item:nth-child(5) {
    margin-left: 0;
  }
}

.p-recruit-menu__item:nth-child(n+5) {
  margin-top: -20px;
}
@media print, screen and (max-width:768px) {
  .p-recruit-menu__item:nth-child(n+5) {
    margin-top: 0;
  }
}

@media print, screen and (max-width:768px) {
  .p-recruit-menu__item:nth-child(odd) {
    margin-right: 23px;
  }
}

@media print, screen and (max-width:768px) {
  .p-recruit-menu__item:not(:first-child) {
    margin-top: 20px;
  }
}

@media print, screen and (max-width:768px) {
  .p-recruit-menu__item:nth-child(2) {
    margin-top: 60px;
  }
}

@media print, screen and (max-width:768px) {
  .p-recruit-menu__item:nth-child(3),
  .p-recruit-menu__item:nth-child(5),
  .p-recruit-menu__item:nth-child(7) {
    margin-top: -40px;
  }
}

.p-recruit-menu__item:hover {
  transform: translateY(-10px);
}

.p-recruit-menu__text {
  display: inline-block;
  font-family: var(--Montserrat-font);
  font-size: 5.7vw;
  font-weight: 700;
  color: #F5F4EA;
  position: absolute;
  top: -20px;
  right: 20px;
  z-index: -1;
}
@media print, screen and (max-width:768px) {
  .p-recruit-menu__text {
    font-size: 13.9vw;
    top: auto;
    bottom: 20px;
    right: auto;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
  }
}

.p-recruit-about {
  background: linear-gradient(180deg, #FFFFFF, #FFEBBF 40%, #FFA740);
  position: relative;
  padding-bottom: 38px;
}
@media print, screen and (max-width:768px) {
  .p-recruit-about {
    padding-bottom: 60px;
  }
}

.p-recruit-about__inner {
  padding: 200px 20px 186px;
  position: relative;
  z-index: 1;
}
@media print, screen and (max-width:768px) {
  .p-recruit-about__inner {
    padding: 140px 20px 142px;
  }
}

.p-recruit-about__lead {
  font-size: 35px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-align: center;
  margin-top: 100px;
}
@media print, screen and (max-width:768px) {
  .p-recruit-about__lead {
    font-size: 24px;
    line-height: 1.9;
    margin-top: 80px;
  }
}

.p-recruit-about__text {
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 3;
  text-align: center;
  margin-top: 100px;
}
@media print, screen and (max-width:768px) {
  .p-recruit-about__text {
    font-size: 16px;
    line-height: 2.75;
    margin-top: 60px;
  }
}

.p-recruit-about__bottom {
  font-family: var(--Montserrat-font);
  font-size: 146px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #FCFBF0;
  white-space: nowrap;
  position: relative;
  z-index: 1;
}
@media print, screen and (max-width:768px) {
  .p-recruit-about__bottom {
    font-size: 50px;
  }
}

.p-recruit-about__bg {
  position: absolute;
  top: 15%;
  left: 50%;
  transform: translateX(-50%);
  width: 105vw;
  z-index: 0;
}
@media print, screen and (max-width:768px) {
  .p-recruit-about__bg {
    width: 245vw;
    top: 16%;
  }
}

.p-recruit-about__bg img {
  width: 100%;
}

.p-recruit-about__deco {
  position: absolute;
  animation: upDawn 3s linear infinite;
}

.p-recruit-about__deco img {
  width: 100%;
}

.p-recruit-about__deco--01 {
  width: 180px;
  top: 90px;
  left: 13.5%;
}
@media print, screen and (max-width:768px) {
  .p-recruit-about__deco--01 {
    width: 90px;
    top: 40px;
    left: -6.4%;
  }
}

.p-recruit-about__deco--02 {
  width: 120px;
  top: 220px;
  right: 30%;
}
@media print, screen and (max-width:768px) {
  .p-recruit-about__deco--02 {
    width: 60px;
    top: 197px;
    right: 5%;
  }
}

.p-recruit-about__deco--03 {
  width: 120px;
  bottom: 327px;
  right: 15%;
}
@media print, screen and (max-width:768px) {
  .p-recruit-about__deco--03 {
    width: 70px;
    bottom: 100px;
    right: 17.8%;
  }
}

.p-recruit-environment {
  position: relative;
  margin-top: 166px;
}
@media print, screen and (max-width:768px) {
  .p-recruit-environment {
    margin-top: 70px;
  }
}

.p-recruit-environment::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: #F5F4EA;
  z-index: -1;
  clip-path: polygon(50% 30%, 75% 0, 100% 30%, 100% 100%, 0 100%, 0 30%, 25% 0);
}
@media print, screen and (max-width:768px) {
  .p-recruit-environment::before {
    height: 90%;
    clip-path: polygon(50% 15%, 85% 0, 100% 8%, 100% 100%, 0 100%, 0 8%, 15% 0);
  }
}

.p-recruit-environment__inner {
  padding-bottom: 160px;
}
@media print, screen and (max-width:768px) {
  .p-recruit-environment__inner {
    padding-bottom: 90px;
  }
}

.p-recruit-environment__list {
  margin-top: 60px;
}
@media print, screen and (max-width:768px) {
  .p-recruit-environment__list {
    margin-top: 140px;
  }
}

.p-recruit-environment .slick-track {
  padding: 60px 0 100px;
}
@media print, screen and (max-width:768px) {
  .p-recruit-environment .slick-track {
    padding: 40px 0 70px;
  }
}

.p-recruit-environment__item {
  margin: 0 50px;
  transition: 0.3s;
}

.p-recruit-environment__item a {
  text-decoration: none;
}

.p-recruit-environment__item.slick-current {
  transform: scale(1.2);
}

.p-recruit-environment__img img {
  width: 100%;
}

.p-recruit-environment__text {
  font-size: 20px;
  text-align: center;
  letter-spacing: 0.02em;
  margin-top: 16px;
}
@media print, screen and (max-width:768px) {
  .p-recruit-environment__text {
    font-size: 14px;
    margin-top: 10px;
  }
}

.p-recruit-environment .slick-dots {
  bottom: 0;
  height: auto;
}

.p-recruit-environment .slick-dots li {
  width: 12px;
  height: 12px;
  margin: 0 10px;
}
@media print, screen and (max-width:768px) {
  .p-recruit-environment .slick-dots li {
    width: 10px;
    height: 10px;
    margin: 0 6px;
  }
}

.p-recruit-environment .slick-dots li button {
  width: 12px;
  height: 12px;
}
@media print, screen and (max-width:768px) {
  .p-recruit-environment .slick-dots li button {
    width: 10px;
    height: 10px;
  }
}

.p-recruit-environment .slick-dots li button:before {
  width: 12px;
  height: 12px;
  border: none;
  background-color: #D8CBBB;
}
@media print, screen and (max-width:768px) {
  .p-recruit-environment .slick-dots li button:before {
    width: 10px;
    height: 10px;
  }
}

.p-recruit-environment .slick-dots li.slick-active button:before {
  background-color: #FF8900;
}

.p-recruit-environment__chara {
  width: 12.65vw;
  max-width: 243px;
  position: absolute;
  top: 0;
  left: calc(100% + 5vw);
  z-index: 1;
}
@media print, screen and (max-width:768px) {
  .p-recruit-environment__chara {
    width: 72.8vw;
    max-width: 273px;
    top: calc(100% + 46px);
    left: 16px;
  }
}

.p-recruit-work {
  position: relative;
}

.p-recruit-work::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #F5F4EA;
  z-index: -1;
  clip-path: polygon(0 0, 100% 0, 100% 35%, 50% 0, 0 35%);
}
@media print, screen and (max-width:768px) {
  .p-recruit-work::before {
    clip-path: polygon(0 0, 100% 0, 100% 10%, 50% 0, 0 10%);
  }
}

.p-recruit-work__inner {
  width: 100%;
  max-width: 1150px;
  padding: 212px 20px 140px;
  margin: 0 auto;
}
@media print, screen and (max-width:768px) {
  .p-recruit-work__inner {
    padding: 80px 20px 90px;
  }
}

.p-recruit-work__contents {
  margin-top: 60px;
}
@media print, screen and (max-width:768px) {
  .p-recruit-work__contents {
    margin-top: 100px;
    display: flex;
    gap: 23px;
  }
}

.p-recruit-work__top {
  display: flex;
  gap: 50px;
  justify-content: center;
}

.p-recruit-work__bottom {
  display: flex;
  gap: 50px;
  justify-content: center;
  margin-top: 40px;
}

.p-recruit-work__left {
  width: calc(50% - 23px / 2);
  display: flex;
  flex-direction: column;
  gap: 34px;
}

.p-recruit-work__right {
  width: calc(50% - 23px / 2);
  margin-top: 100px;
  display: flex;
  flex-direction: column;
  gap: 34px;
}

.p-recruit-work-item {
  width: calc(25% - 50px * 3 / 4);
}
@media print, screen and (max-width:768px) {
  .p-recruit-work-item {
    width: 100%;
  }
}

.p-recruit-work-item a {
  text-decoration: none;
}

.p-recruit-work-item a:hover {
  opacity: 1;
}

.p-recruit-work-item__img {
  position: relative;
  width: 100%;
}

.p-recruit-work-item__img::before {
  content: "";
  display: block;
  padding-top: 100%;
}

.p-recruit-work-item__img img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 0.3s;
}

.p-recruit-work-item a:hover .p-recruit-work-item__img .off {
  opacity: 0;
}

.p-recruit-work-item__img .on {
  opacity: 0;
}

.p-recruit-work-item a:hover .p-recruit-work-item__img .on {
  opacity: 1;
}

.p-recruit-work-item__text {
  margin-top: 12px;
  text-align: center;
}
@media print, screen and (max-width:768px) {
  .p-recruit-work-item__text {
    margin-top: 8px;
  }
}

.p-recruit-work-item__text span {
  display: inline-block;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-align: center;
  width: 150px;
  padding: 5px 0;
  border-width: 2px;
  border-style: solid;
  border-radius: 20px;
  background-color: #fff;
  transition: 0.3s;
}
@media print, screen and (max-width:768px) {
  .p-recruit-work-item__text span {
    width: 120px;
    font-size: 14px;
    padding: 5px 0;
    border-width: 1px;
  }
}

.p-recruit-work-item__text span.sal {
  color: #337FCD;
  border-color: #337FCD;
}

.p-recruit-work-item a:hover .p-recruit-work-item__text span.sal {
  color: #fff;
  background-color: #337FCD;
}

.p-recruit-work-item__text span.cs {
  color: #BB93D8;
  border-color: #BB93D8;
}

.p-recruit-work-item a:hover .p-recruit-work-item__text span.cs {
  color: #fff;
  background-color: #BB93D8;
}

.p-recruit-work-item__text span.des {
  color: #F586A4;
  border-color: #F586A4;
}

.p-recruit-work-item a:hover .p-recruit-work-item__text span.des {
  color: #fff;
  background-color: #F586A4;
}

.p-recruit-work-item__text span.pla {
  color: #FFA700;
  border-color: #FFA700;
}

.p-recruit-work-item a:hover .p-recruit-work-item__text span.pla {
  color: #fff;
  background-color: #FFA700;
}

.p-recruit-work-item__text span.mat {
  color: #E8C534;
  border-color: #E8C534;
}

.p-recruit-work-item a:hover .p-recruit-work-item__text span.mat {
  color: #fff;
  background-color: #E8C534;
}

.p-recruit-work-item__text span.log {
  color: #83C44B;
  border-color: #83C44B;
}

.p-recruit-work-item a:hover .p-recruit-work-item__text span.log {
  color: #fff;
  background-color: #83C44B;
}

.p-recruit-work-item__text span.gen {
  color: #38BFBA;
  border-color: #38BFBA;
}

.p-recruit-work-item a:hover .p-recruit-work-item__text span.gen {
  color: #fff;
  background-color: #38BFBA;
}

.p-recruit-work__bg {
  width: 119vw;
  position: absolute;
  top: 210px;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}
@media print, screen and (max-width:768px) {
  .p-recruit-work__bg {
    width: 214vw;
    top: auto;
    bottom: 64px;
    left: 50%;
    transform: translateX(-50%);
  }
}

.p-recruit-work__chara {
  width: 15.26vw;
  max-width: 293px;
  position: absolute;
  right: calc(100% + 114px);
  top: -192px;
}
@media print, screen and (max-width:768px) {
  .p-recruit-work__chara {
    width: 60.5vw;
    max-width: 227px;
    right: -80px;
    top: calc(100% + 35px);
  }
}

.p-recruit-work__deco {
  position: absolute;
  width: 287px;
  top: -86px;
  right: 23.8%;
  animation: upDawn 3s linear infinite;
}
@media print, screen and (max-width:768px) {
  .p-recruit-work__deco {
    width: 291px;
    top: -48px;
    right: 10.6%;
  }
}

.p-recruit__img {
  width: 100%;
}

.p-recruit-faq {
  background-color: #F5F4EA;
}

.p-recruit-faq__inner {
  width: 100%;
  max-width: 1320px;
  padding: 140px 20px 0;
  margin: 0 auto;
}
@media print, screen and (max-width:768px) {
  .p-recruit-faq__inner {
    padding: 70px 20px 0;
  }
}

.p-recruit-faq__contents {
  padding: 0 60px 100px;
  border-bottom: 1px solid #DDDCD7;
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
@media print, screen and (max-width:768px) {
  .p-recruit-faq__contents {
    padding: 0;
    border-bottom: none;
    flex-direction: column;
    gap: 34px;
  }
}

.p-recruit-faq__title {
  text-align: left;
  flex: 0 1 100%;
}
@media print, screen and (max-width:768px) {
  .p-recruit-faq__title {
    flex: auto;
    width: 100%;
  }
}

.p-recruit-faq__items {
  flex: 0 0 70%;
}
@media print, screen and (max-width:768px) {
  .p-recruit-faq__items {
    flex: auto;
    width: 100%;
  }
}

.p-recruit-faq__chara {
  width: 14.3vw;
  max-width: 275px;
  position: absolute;
  top: calc(100% + 23px);
  left: 0;
}
@media print, screen and (max-width:768px) {
  .p-recruit-faq__chara {
    width: 54.85vw;
    max-width: 205px;
    top: -30px;
    left: calc(100% + 44px);
  }
}

.p-recruit-entry {
  background-color: #F5F4EA;
}

.p-recruit-entry__inner {
  width: 100%;
  max-width: 1320px;
  padding: 100px 20px 140px;
  margin: 0 auto;
}
@media print, screen and (max-width:768px) {
  .p-recruit-entry__inner {
    padding: 60px 20px 60px;
  }
}

.p-recruit-entry__contents {
  padding: 0 60px;
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
@media print, screen and (max-width:768px) {
  .p-recruit-entry__contents {
    padding: 0;
    flex-direction: column;
    gap: 34px;
  }
}

.p-recruit-entry__title {
  text-align: left;
  flex: 0 1 100%;
}
@media print, screen and (max-width:768px) {
  .p-recruit-entry__title {
    flex: auto;
    width: 100%;
  }
}

.p-recruit-entry__items {
  flex: 0 0 70%;
}
@media print, screen and (max-width:768px) {
  .p-recruit-entry__items {
    flex: auto;
    width: 100%;
  }
}

.p-recruit-event {
  position: relative;
}

.p-recruit-event__inner {
  width: 100%;
  max-width: 1320px;
  padding: 120px 20px 100px;
  margin: 0 auto;
}
@media print, screen and (max-width:768px) {
  .p-recruit-event__inner {
    width: 100%;
    max-width: 1320px;
    padding: 50px 20px;
    margin: 0 auto;
  }
}

.p-recruit-event__list {
  margin-top: 90px;
}
@media print, screen and (max-width:768px) {
  .p-recruit-event__list {
    margin-top: 150px;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }
}

.p-recruit-event-item {
  flex-direction: column;
  gap: 12px;
  margin: 0 20px;
  transition: 0.3s;
}
@media print, screen and (max-width:768px) {
  .p-recruit-event-item {
    gap: 8px;
  }
}

.p-recruit-event-item__img {
  width: 100%;
  position: relative;
}

.p-recruit-event-item__img::before {
  content: "";
  display: block;
  padding-top: 65%;
}

.p-recruit-event-item__img img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 10px;
}

.p-recruit-event-item__text {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-align: center;
}
@media print, screen and (max-width:768px) {
  .p-recruit-event-item__text {
    font-size: 14px;
  }
}

.p-recruit-event .slick-track {
  padding: 40px 0 60px;
}
@media print, screen and (max-width:768px) {
  .p-recruit-event .slick-track {
    padding: 20px 0 55px;
  }
}

.p-recruit-event-item.slick-current {
  transform: scale(1.1);
}

.p-recruit-event .slick-dots {
  bottom: 0;
  height: auto;
}

.p-recruit-event .slick-dots li {
  width: 12px;
  height: 12px;
  margin: 0 10px;
}
@media print, screen and (max-width:768px) {
  .p-recruit-event .slick-dots li {
    width: 10px;
    height: 10px;
    margin: 0 6px;
  }
}

.p-recruit-event .slick-dots li button {
  width: 12px;
  height: 12px;
}
@media print, screen and (max-width:768px) {
  .p-recruit-event .slick-dots li button {
    width: 10px;
    height: 10px;
  }
}

.p-recruit-event .slick-dots li button:before {
  width: 12px;
  height: 12px;
  border: none;
  background-color: #D8CBBB;
}
@media print, screen and (max-width:768px) {
  .p-recruit-event .slick-dots li button:before {
    width: 10px;
    height: 10px;
  }
}

.p-recruit-event .slick-dots li.slick-active button:before {
  background-color: #FF8900;
}

.p-recruit-event__chara {
  width: 16vw;
  max-width: 310px;
  position: absolute;
  top: -40px;
  left: calc(100% + 185px);
}
@media print, screen and (max-width:768px) {
  .p-recruit-event__chara {
    width: 76.26vw;
    max-width: 285px;
    top: calc(100% + 20px);
    left: -89px;
  }
}

.p-recruit-line {
  width: 100%;
  max-width: 1320px;
  padding: 0 20px;
  margin: 0 auto;
}

.p-recruit-line span {
  display: block;
  height: 1px;
  width: 100%;
  background-color: #DDDCD7;
}

.p-recruit-youtube {
  position: relative;
}

.p-recruit-youtube__inner {
  width: 100%;
  max-width: 1320px;
  padding: 100px 20px 120px;
  margin: 0 auto;
}
@media print, screen and (max-width:768px) {
  .p-recruit-youtube__inner {
    width: 100%;
    max-width: 1320px;
    padding: 50px 20px;
    margin: 0 auto;
  }
}

.p-recruit-youtube__list {
  margin-top: 90px;
}
@media print, screen and (max-width:768px) {
  .p-recruit-youtube__list {
    margin-top: 150px;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }
}

.p-recruit-youtube-item {
  flex-direction: column;
  gap: 12px;
  margin: 0 20px;
  transition: 0.3s;
}
@media print, screen and (max-width:768px) {
  .p-recruit-youtube-item {
    gap: 8px;
  }
}

.p-recruit-youtube-item a {
  width: 100%;
  display: block;
  position: relative;
}

.p-recruit-youtube-item a::before {
  content: "";
  display: block;
  padding-top: 55%;
}

.p-recruit-youtube-item a img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 10px;
}

.p-recruit-youtube .slick-track {
  padding: 40px 0 60px;
}
@media print, screen and (max-width:768px) {
  .p-recruit-youtube .slick-track {
    padding: 20px 0 55px;
  }
}

.p-recruit-youtube-item.slick-current {
  transform: scale(1.1);
}

.p-recruit-youtube .slick-dots {
  bottom: 0;
  height: auto;
}

.p-recruit-youtube .slick-dots li {
  width: 12px;
  height: 12px;
  margin: 0 10px;
}
@media print, screen and (max-width:768px) {
  .p-recruit-youtube .slick-dots li {
    width: 10px;
    height: 10px;
    margin: 0 6px;
  }
}

.p-recruit-youtube .slick-dots li button {
  width: 12px;
  height: 12px;
}
@media print, screen and (max-width:768px) {
  .p-recruit-youtube .slick-dots li button {
    width: 10px;
    height: 10px;
  }
}

.p-recruit-youtube .slick-dots li button:before {
  width: 12px;
  height: 12px;
  border: none;
  background-color: #D8CBBB;
}
@media print, screen and (max-width:768px) {
  .p-recruit-youtube .slick-dots li button:before {
    width: 10px;
    height: 10px;
  }
}

.p-recruit-youtube .slick-dots li.slick-active button:before {
  background-color: #FF8900;
}

.p-recruit-youtube__chara {
  width: 18.18vw;
  max-width: 349px;
  position: absolute;
  top: -25px;
  right: calc(100% + 95px);
}
@media print, screen and (max-width:768px) {
  .p-recruit-youtube__chara {
    width: 76.27vw;
    max-width: 286px;
    top: calc(100% + 24px);
    right: -80px;
  }
}

.p-recruit-message {
  background: linear-gradient(180deg, #FCEDC5, #FCE3B2 20%, #FBB55F 40%, #FF8900);
}

.p-recruit-message__inner {
  width: 100%;
  max-width: 1200px;
  padding: 130px 20px 160px;
  margin: 0 auto;
}
@media print, screen and (max-width:768px) {
  .p-recruit-message__inner {
    padding: 50px 20px 80px;
  }
}

.p-recruit-message-intro {
  display: flex;
  align-items: flex-start;
  gap: 70px;
  position: relative;
  padding-bottom: 350px;
  z-index: 1;
}
@media print, screen and (max-width:768px) {
  .p-recruit-message-intro {
    flex-direction: column;
    gap: 30px;
    padding-bottom: 193px;
  }
}

.p-recruit-message-intro__images {
  flex: 0 0 35%;
  position: relative;
  padding-top: 75px;
}
@media print, screen and (max-width:768px) {
  .p-recruit-message-intro__images {
    flex: auto;
    width: 220px;
    margin: 0 auto;
    padding-top: 25px;
  }
}

.p-recruit-message-intro__img {
  width: 100%;
}

.p-recruit-message-intro__balloon {
  width: 241px;
  position: absolute;
  top: 0;
  right: -30px;
}
@media print, screen and (max-width:768px) {
  .p-recruit-message-intro__balloon {
    width: 143px;
    top: 0;
    right: -56px;
  }
}

.p-recruit-message-intro__texts {
  flex: 0 1 100%;
}
@media print, screen and (max-width:768px) {
  .p-recruit-message-intro__texts {
    flex: auto;
    width: 100%;
  }
}

.p-recruit-message__title {
  text-align: left;
}
@media print, screen and (max-width:768px) {
  .p-recruit-message__title {
    text-align: center;
  }
}

.p-recruit-message-intro__text {
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 3;
  color: #333;
  margin-top: 60px;
}
@media print, screen and (max-width:768px) {
  .p-recruit-message-intro__text {
    font-size: 14px;
    line-height: 2.42;
    margin-top: 0;
  }
}

.p-recruit-message-intro__name {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 3;
  text-align: right;
  color: #333;
  margin-top: 60px;
}
@media print, screen and (max-width:768px) {
  .p-recruit-message-intro__name {
    font-size: 14px;
    line-height: 2.42;
    margin-top: 30px;
  }
}

.p-recruit-message__bg {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 116.6vw;
  z-index: -1;
}
@media print, screen and (max-width:768px) {
  .p-recruit-message__bg {
    width: 281.3vw;
  }
}

.p-recruit-message-contents {
  margin-top: 123px;
  position: relative;
  z-index: 1;
}
@media print, screen and (max-width:768px) {
  .p-recruit-message-contents {
    margin-top: 85px;
  }
}

.p-recruit-message-contents__text {
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 4.58;
  text-align: center;
  color: #fff;
}
@media print, screen and (max-width:768px) {
  .p-recruit-message-contents__text {
    font-size: 16px;
    line-height: 3.12;
  }
}

.p-recruit-message-contents__bottom {
  position: relative;
  margin-top: 160px;
}
@media print, screen and (max-width:768px) {
  .p-recruit-message-contents__bottom {
    margin-top: 165px;
  }
}

.p-recruit-message-contents__lead {
  font-size: 40px;
  letter-spacing: 0.02em;
  line-height: 1.5;
  text-align: center;
  color: #fff;
}
@media print, screen and (max-width:768px) {
  .p-recruit-message-contents__lead {
    font-size: 24px;
    line-height: 1.92;
  }
}

.p-recruit-message-contents__btn {
  margin-top: 100px;
  text-align: center;
}
@media print, screen and (max-width:768px) {
  .p-recruit-message-contents__btn {
    margin-top: 40px;
  }
}

.p-recruit-message-contents__note {
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.02em;
  text-align: center;
  color: #333;
  margin-top: 12px;
}
@media print, screen and (max-width:768px) {
  .p-recruit-message-contents__note {
    font-size: 14px;
  }
}

.p-recruit-message__deco01 {
  width: 171px;
  position: absolute;
  top: -134px;
  right: -9.5%;
  animation: upDawn 3s linear infinite;
  z-index: -1;
}
@media print, screen and (max-width:768px) {
  .p-recruit-message__deco01 {
    width: 96px;
    position: absolute;
    top: -99px;
    right: 8.9%;
  }
}

.p-recruit-message__deco02 {
  width: 150px;
  position: absolute;
  bottom: calc(100% + 33px);
  left: -7.8%;
  animation: upDawn 3s linear infinite;
  z-index: -1;
}
@media print, screen and (max-width:768px) {
  .p-recruit-message__deco02 {
    width: 69px;
    position: absolute;
    bottom: calc(100% + 39px);
    left: 39.4%;
  }
}

.p-recruit__bg {
  position: fixed;
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: -1;
}

.p-recruit__bg video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/*==============================
# 働く環境
==============================*/
.p-environment {
  color: #333;
  margin-bottom: 100px;
  position: relative;
}
@media print, screen and (max-width:768px) {
  .p-environment {
    margin-bottom: 80px;
  }
}

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

.p-environment-mv__img {
  width: 100%;
}

.p-environment-mv__texts {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 16.66%;
  display: flex;
  align-items: flex-start;
  gap: 30px;
}
@media print, screen and (max-width:768px) {
  .p-environment-mv__texts {
    left: 20px;
    gap: 15px;
  }
}

.p-environment-mv__deco {
  flex: 0 0 70px;
  margin-top: 5px;
}
@media print, screen and (max-width:768px) {
  .p-environment-mv__deco {
    flex: 0 0 35px;
    margin-top: 3px;
  }
}

.p-environment-mv__titles {
  display: flex;
  flex-direction: column;
  flex: 0 1 100%;
}

.p-environment-mv__en {
  font-family: var(--Montserrat-font);
  font-size: 70px;
  font-weight: 700;
  color: #fff;
}
@media print, screen and (max-width:768px) {
  .p-environment-mv__en {
    font-size: 36px;
  }
}

.p-environment-mv__ja {
  font-size: 30px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #fff;
}
@media print, screen and (max-width:768px) {
  .p-environment-mv__ja {
    font-size: 16px;
  }
}

.p-environment-sec__heading {
  text-align: center;
  color: #333;
}

.p-environment-sec__title {
  font-size: 36px;
  font-weight: 700;
  letter-spacing: 0.02em;
}
@media print, screen and (max-width:768px) {
  .p-environment-sec__title {
    font-size: 30px;
  }
}

.p-environment-sec__lead {
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.5;
  margin-top: 10px;
}
@media print, screen and (max-width:768px) {
  .p-environment-sec__lead {
    font-size: 16px;
    margin-top: 18px;
  }
}

.p-environment-sec__lead.education {
  font-weight: 700;
  margin-top: 0;
}

.p-environment-sec__lead span.line {
  font-weight: 700;
  background:linear-gradient(transparent 60%, #FDE55D 60%);
}

.p-environment-benefits {
  /* background: linear-gradient(to bottom, #F5F4EA 0%, #F5F4EA 50%, #fff 50%, #fff 100%); */
}
@media print, screen and (max-width:768px) {
  .p-environment-benefits {
    /* background: linear-gradient(to bottom, #F5F4EA 0%, #F5F4EA 60%, #fff 60%, #fff 100%); */
  }
}

.p-environment-benefits__inner {
  width: 100%;
  max-width: 1120px;
  padding: 100px 20px 0;
  margin: 0 auto;
}
@media print, screen and (max-width:768px) {
  .p-environment-benefits__inner {
    padding: 50px 20px 0;
  }
}

.p-environment-benefits__list {
  margin-top: 50px;
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}
@media print, screen and (max-width:768px) {
  .p-environment-benefits__list {
    margin-top: 40px;
    gap: 10px;
  }
}

.p-environment-benefits-item {
  width: calc(33.33% - 30px * 2 / 3);
  border: 3px solid rgba(255, 167, 0, 0.5);
  border-radius: 20px;
  background-color: #fff;
  padding: 50px 5px 26px;
  min-height: 300px;
  text-align: center;
}
@media print, screen and (max-width:980px) {
  .p-environment-benefits-item {
    min-height: 240px;
  }
}
@media print, screen and (max-width:768px) {
  .p-environment-benefits-item {
    width: calc(50% - 10px / 2);
    border: 2px solid rgba(255, 167, 0, 0.5);
    border-radius: 10px;
    padding: 20px 5px 14px;
    min-height: 145px;
  }
}

.p-environment-benefits-item__title {
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-align: center;
}
@media print, screen and (max-width:980px) {
  .p-environment-benefits-item__title {
    font-size: 18px;
  }
}
@media print, screen and (max-width:768px) {
  .p-environment-benefits-item__title {
    font-size: 14px;
  }
}

.p-environment-benefits-item__contents {
  display: inline-block;
  margin-top: 14px;
  text-align: center;
  position: relative;
}
@media print, screen and (max-width:768px) {
  .p-environment-benefits-item__contents {
    margin-top: 10px;
  }
}

.p-environment-benefits-item__num {
  font-family: var(--Roboto-font);
  font-size: 120px;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #FF8900;
}
@media print, screen and (max-width:980px) {
  .p-environment-benefits-item__num {
    font-size: 70px;
  }
}
@media print, screen and (max-width:768px) {
  .p-environment-benefits-item__num {
    font-size: 56px;
  }
}

.p-environment-benefits-item__unit {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.02em;
}
@media print, screen and (max-width:980px) {
  .p-environment-benefits-item__unit {
    font-size: 16px;
  }
}
@media print, screen and (max-width:768px) {
  .p-environment-benefits-item__unit {
    font-size: 12px;
  }
}

.p-environment-benefits-item__note {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.02em;
  text-align: center;
  color: #6A6A6A;
  margin-top: -18px;
}
@media print, screen and (max-width:980px) {
  .p-environment-benefits-item__note {
    font-size: 12px;
    margin-top: -14px;
  }
}
@media print, screen and (max-width:768px) {
  .p-environment-benefits-item__note {
    font-size: 8px;
    margin-top: -10px;
  }
}

.p-environment-benefits-item__yes {
  position: absolute;
  top: 0;
  left: -4px;
  display: inline-block;
  font-family: var(--Montserrat-font);
  font-size: 20px;
  font-weight: 700;
  text-align: center;
  color: #fff;
  padding: 2px 12px;
  border-radius: 100px;
  background-color: #FF8900;
}
@media print, screen and (max-width:980px) {
  .p-environment-benefits-item__yes {
    top: -3px;
    left: -2px;
    font-size: 12px;
    padding: 0 6px;
  }
}

.p-environment-education {
  margin-top: 160px;
}
@media print, screen and (max-width:768px) {
  .p-environment-education {
    margin-top: 85px;
  }
}

.p-environment-education__inner {
  width: 100%;
  max-width: 1320px;
  padding: 0 20px;
  margin: 0 auto;
}

.p-environment-education__lead {
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.5;
  text-align: center;
  margin-top: 30px;
}
@media print, screen and (max-width:768px) {
  .p-environment-education__lead {
    font-size: 16px;
    margin-top: 20px;
  }
}

.p-environment-education__box {
  background-color: #fff;
  box-shadow: 0 0 30px rgba(114, 80, 40, 0.1);
  margin-top: 50px;
  border-radius: 40px;
  padding: 80px 60px 70px;
}
@media print, screen and (max-width:768px) {
  .p-environment-education__box {
    margin-top: 40px;
    border-radius: 20px;
    padding: 30px 20px 40px;
  }
}

.p-environment-education__list {
  display: flex;
  flex-direction: column;
  gap: 50px;
}
@media print, screen and (max-width:768px) {
  .p-environment-education__list {
    gap: 20px;
  }
}

.p-environment-education-item:not(:last-child) {
  padding-bottom: 50px;
  border-bottom: 1px solid #DDDCD7;
}
@media print, screen and (max-width:768px) {
  .p-environment-education-item:not(:last-child) {
    padding-bottom: 30px;
  }
}

.p-environment-education-item__head {
  display: flex;
  align-items: center;
  gap: 30px;
}
@media print, screen and (max-width:768px) {
  .p-environment-education-item__head {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
}

.p-environment-education-item__title {
  font-size: 30px;
  font-weight: 700;
  letter-spacing: 0.02em;
}
@media print, screen and (max-width:768px) {
  .p-environment-education-item__title {
    font-size: 20px;
  }
}

.p-environment-education-item__title span {
  font-size: 24px;
}
@media print, screen and (max-width:768px) {
  .p-environment-education-item__title span {
    display: block;
    font-size: 16px;
  }
}

.p-environment-education-item__tags {
  display: flex;
  align-items: center;
  gap: 10px;
}
@media print, screen and (max-width:768px) {
  .p-environment-education-item__tags {
    gap: 8px;
  }
}

.p-environment-education-item__new {
  display: inline-block;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #fff;
  text-align: center;
  padding: 1px 23px;
  background-color: #E64155;
}
@media print, screen and (max-width:768px) {
  .p-environment-education-item__new {
    font-size: 16px;
    padding: 3px 16px 2px;
  }
}

.p-environment-education-item__middle {
  display: inline-block;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #fff;
  text-align: center;
  padding: 1px 23px;
  background-color: #337FCD;
}
@media print, screen and (max-width:768px) {
  .p-environment-education-item__middle {
    font-size: 16px;
    padding: 3px 16px 2px;
  }
}

.p-environment-education-item__text {
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0.02em;
  margin-top: 20px;
}
@media print, screen and (max-width:768px) {
  .p-environment-education-item__text {
    font-size: 14px;
    line-height: 1.7;
  }
}

.p-environment-outside {
  margin-top: 160px;
}
@media print, screen and (max-width:768px) {
  .p-environment-outside {
    margin-top: 90px;
  }
}

.p-environment-outside__inner {
  width: 100%;
  max-width: 1320px;
  padding: 0 20px;
  margin: 0 auto;
}

.p-environment-outside-box {
  margin-top: 50px;
  border-radius: 40px;
  box-shadow: 0 0 30px rgba(114, 80, 40, 0.1);
}
@media print, screen and (max-width:768px) {
  .p-environment-outside-box {
    margin-top: 40px;
    border-radius: 30px;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }
}

.p-environment-outside-box + .p-environment-outside-box {
  margin-top: -100px;
}
@media print, screen and (max-width:768px) {
  .p-environment-outside-box + .p-environment-outside-box {
    margin-top: -60px;
  }
}

.p-environment-outside-box__title {
  font-size: 30px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-align: center;
  color: #fff;
  padding: 20px 0;
  border-radius: 40px 40px 0 0;
  background-color: #595757;
}
@media print, screen and (max-width:768px) {
  .p-environment-outside-box__title {
    font-size: 20px;
    border-radius: 30px 30px 0 0;
  }
}

.p-environment-outside-box__body {
  background-color: #fff;
  border-radius: 0 0 40px 40px;
  padding: 60px 60px 200px;
}
@media print, screen and (max-width:768px) {
  .p-environment-outside-box__body {
    border-radius: 0 0 30px 30px;
    padding: 50px 30px 120px;
  }
}

.p-environment-outside-box:last-child .p-environment-outside-box__body {
  padding-bottom: 80px;
}
@media print, screen and (max-width:768px) {
  .p-environment-outside-box:last-child .p-environment-outside-box__body {
    padding-bottom: 40px;
  }
}

.p-environment-outside__items {
  display: flex;
  flex-wrap: wrap;
  gap: 90px 60px;
}
@media print, screen and (max-width:768px) {
  .p-environment-outside__items {
    flex-direction: column;
    gap: 60px;
  }
}

.p-environment-outside-item {
  width: calc(50% - 60px / 2);
  position: relative;
}
@media print, screen and (max-width:768px) {
  .p-environment-outside-item {
    width: 100%;
  }
}

.p-environment-outside-item__img {
  width: 100%;
}

.p-environment-outside-item__text {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.75;
  margin-top: 20px;
}
@media print, screen and (max-width:768px) {
  .p-environment-outside-item__text {
    font-size: 14px;
    line-height: 1.71;
    margin-top: 12px;
  }
}

.p-environment-outside-protection {
  display: flex;
  align-items: center;
  gap: 80px;
}
@media print, screen and (max-width:768px) {
  .p-environment-outside-protection {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
}

.p-environment-outside-protection__img {
  flex: 0 0 45%;
  position: relative;
}
@media print, screen and (max-width:768px) {
  .p-environment-outside-protection__img {
    flex: auto;
    width: 100%;
  }
}

.p-environment-outside-protection__texts {
  flex: 0 1 100%;
}
@media print, screen and (max-width:768px) {
  .p-environment-outside-protection__texts {
    flex: auto;
  }
}

.p-environment-outside-protection__text {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.75;
}
@media print, screen and (max-width:768px) {
  .p-environment-outside-protection__text {
    font-size: 14px;
    line-height: 1.71;
  }
}

.p-environment-outside-protection__text + .p-environment-outside-protection__text {
  margin-top: 30px;
}
@media print, screen and (max-width:768px) {
  .p-environment-outside-protection__text + .p-environment-outside-protection__text {
    margin-top: 24px;
  }
}

.p-environment-outside-protection__list {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.75;
  padding-left: 1em;
}
@media print, screen and (max-width:768px) {
  .p-environment-outside-protection__list {
    font-size: 14px;
  }
}

.p-environment-outside-protection__list li {
  list-style-type: disc;
}

.p-environment-inside {
  margin-top: 160px;
}

.p-environment-inside__inner {
  width: 100%;
  max-width: 1320px;
  padding: 0 20px;
  margin: 0 auto;
}

.p-environment-inside__box {
  border-radius: 40px;
  box-shadow: 0 0 30px rgba(114, 80, 40, 0.1);
  margin-top: 50px;
  padding: 80px 60px;
  background-color: #fff;
}
@media print, screen and (max-width:768px) {
  .p-environment-inside__box {
    margin-top: 60px;
    border-radius: 0;
    box-shadow: none;
    padding: 0;
  }
}

.p-environment-inside__list {
  display: flex;
  flex-wrap: wrap;
  gap: 90px 60px;
}
@media print, screen and (max-width:768px) {
  .p-environment-inside__list {
    flex-direction: column;
    gap: 60px;
  }
}

.p-environment-inside-item {
  width: calc(50% - 60px / 2);
  position: relative;
}
@media print, screen and (max-width:768px) {
  .p-environment-inside-item {
    width: 100%;
  }
}

.p-environment-inside-item__img {
  width: 100%;
}

.p-environment-inside-item__text {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.75;
  margin-top: 20px;
}
@media print, screen and (max-width:768px) {
  .p-environment-inside-item__text {
    font-size: 14px;
    line-height: 1.71;
    margin-top: 12px;
  }
}

.p-environment-gallery {
  margin-top: 160px;
}
@media print, screen and (max-width:768px) {
  .p-environment-gallery {
    margin-top: 90px;
  }
}

.p-environment-gallery__contents {
  margin-top: 130px;
}
@media print, screen and (max-width:768px) {
  .p-environment-gallery__contents {
    margin-top: 90px;
  }
}

.p-environment-gallery__top {

}

.p-environment-gallery__bottom {
  margin-top: 80px;
}
@media print, screen and (max-width:768px) {
  .p-environment-gallery__bottom {
    margin-top: 30px;
  }
}

.p-environment-gallery__item {
  margin: 0 40px;
}
@media print, screen and (max-width:768px) {
  .p-environment-gallery__item {
    margin: 0 12px;
  }
}

.p-environment-gallery__item img {
  object-fit: cover;
  border-radius: 40px;
}

.p-environment-gallery__text {
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.5;
  text-align: center;
  margin-top: 60px;
}
@media print, screen and (max-width:768px) {
  .p-environment-gallery__text {
    font-size: 16px;
    margin-top: 30px;
  }
}

.p-environment-prev {
  margin-top: 220px;
  text-align: center;
}
@media print, screen and (max-width:768px) {
  .p-environment-prev {
    margin-top: 120px;
  }
}

/*==============================
# 仕事内容
==============================*/
.p-works {
  color: #333;
  margin-bottom: 100px;
  position: relative;
}
@media print, screen and (max-width:768px) {
  .p-works {
    margin-bottom: 80px;
  }
}

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

.p-works-mv__img {
  width: 100%;
}

.p-works-mv__texts {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 16.66%;
  display: flex;
  align-items: flex-start;
  gap: 30px;
}
@media print, screen and (max-width:768px) {
  .p-works-mv__texts {
    left: 20px;
    gap: 15px;
  }
}

.p-works-mv__deco {
  flex: 0 0 70px;
  margin-top: 5px;
}
@media print, screen and (max-width:768px) {
  .p-works-mv__deco {
    flex: 0 0 35px;
    margin-top: 3px;
  }
}

.p-works-mv__titles {
  display: flex;
  flex-direction: column;
  flex: 0 1 100%;
}

.p-works-mv__en {
  font-family: var(--Montserrat-font);
  font-size: 70px;
  font-weight: 700;
  color: #fff;
}
@media print, screen and (max-width:768px) {
  .p-works-mv__en {
    font-size: 36px;
  }
}

.p-works-mv__ja {
  font-size: 30px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #fff;
}
@media print, screen and (max-width:768px) {
  .p-works-mv__ja {
    font-size: 16px;
  }
}

.p-works-top {

}

.p-works-top__inner {
  width: 100%;
  max-width: 1200px;
  padding: 60px 20px 115px;
  margin: 0 auto;
}
@media print, screen and (max-width:768px) {
  .p-works-top__inner {
    padding: 30px 20px 40px;
  }
}

.p-works-links {
  display: flex;
  gap: 14px;
  align-items: center;
}
@media print, screen and (max-width:768px) {
  .p-works-links {
    flex-wrap: wrap;
    gap: 8px 5px;
    justify-content: flex-start;
  }
}

.p-works-links__item {
  width: calc(14.28% - 14px * 6 / 7);
}
@media print, screen and (max-width:768px) {
  .p-works-links__item {
    width: calc(25% - 5px * 3 / 4);
  }
}

.p-works-links__item a {
  display: inline-block;
  text-decoration: none;
  width: 100%;
  border: 2px solid #AFAFAF;
  border-radius: 100px;
  padding: 17px 0 16px;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-align: center;
  color: #AFAFAF;
}
@media print, screen and (max-width:768px) {
  .p-works-links__item a {
    padding: 6px 0 5px;
    border: 1px solid #AFAFAF;
    font-size: 12px;
  }
}

.p-works-links__item a.on-cs {
  color: #fff;
  background-color: #BB93D8;
  border-color: #BB93D8;
}

.p-works-links__item a.on-sales {
  color: #fff;
  background-color: #337FCD;
  border-color: #337FCD;
}

.p-works-links__item a.on-design {
  color: #fff;
  background-color: #F586A4;
  border-color: #F586A4;
}

.p-works-links__item a.on-plan {
  color: #fff;
  background-color: #FF8900;
  border-color: #FF8900;
}

.p-works-links__item a.on-materials {
  color: #fff;
  background-color: #FF8900;
  border-color: #FF8900;
}

.p-works-links__item a.on-logi {
  color: #fff;
  background-color: #83C44B;
  border-color: #83C44B;
}

.p-works-links__item a.on-gen {
  color: #fff;
  background-color: #38BFBA;
  border-color: #38BFBA;
}

.p-works__title {
  font-size: 40px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-align: center;
  padding-bottom: 20px;
  position: relative;
  margin-top: 145px;
  z-index: 1;
}
@media print, screen and (max-width:768px) {
  .p-works__title {
    font-size: 24px;
    padding-bottom: 10px;
    margin-top: 60px;
  }
}

.p-works__title::before {
  content: attr(data-en);
  position: absolute;
  top: 30%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: var(--Montserrat-font);
  font-size: 100px;
  font-weight: 700;
  color: #fff;
  text-shadow: 0 0 20px #F5EFE1;
  width: 100vw;
  z-index: -1;
}
@media print, screen and (max-width:768px) {
  .p-works__title::before {
    font-size: 42px;
  }
}

.p-works__title::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 3px;
}
@media print, screen and (max-width:768px) {
  .p-works__title::after {
    width: 30px;
    height: 2px;
  }
}

.p-works__title.cs::after {
  background-color: #BB93D8;
}

.p-works__title.sales::after {
  background-color: #337FCD;
}

.p-works__title.design::after {
  background-color: #F586A4;
}

.p-works__title.plan::after {
  background-color: #FF8900;
}

.p-works__title.materials::after {
  background-color: #E8C534;
}

.p-works__title.logi::after {
  background-color: #83C44B;
}

.p-works__title.gen::after {
  background-color: #38BFBA;
}

.p-works-work.cs {
  background: linear-gradient(to right, rgba(199, 201, 247, 0.66), rgba(187, 147, 216, 0.66));
}

.p-works-work.sales {
  background: linear-gradient(to right, rgba(168, 212, 239, 0.66), rgba(133, 152, 214, 0.66));
}

.p-works-work.design {
  background: linear-gradient(to right, rgba(223, 193, 245, 0.66), rgba(227, 160, 202, 0.66));
}

.p-works-work.plan {
  background: linear-gradient(to right, rgba(247, 195, 207, 0.66), rgba(239, 141, 69, 0.66));
}

.p-works-work.materials {
  background: linear-gradient(to right, rgba(242, 193, 144, 0.66), rgba(242, 198, 51, 0.66));
}

.p-works-work.logi {
  background: linear-gradient(to right, rgba(242, 232, 109, 0.66), rgba(165, 213, 90, 0.66));
}

.p-works-work.gen {
  background: linear-gradient(to right, rgba(183, 232, 153, 0.66), rgba(101, 208, 174, 0.66));
}

.p-works-work__inner {
  width: 100%;
  max-width: 1540px;
  padding: 70px 20px 80px;
  margin: 0 auto;
}
@media print, screen and (max-width:768px) {
  .p-works-work__inner {
    padding: 50px 0 40px;
  }
}

.p-works-work__title {
  font-size: 36px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-align: center;
  color: #fff;
}
@media print, screen and (max-width:768px) {
  .p-works-work__title {
    font-size: 30px;
  }
}

.p-works-work__list {
  margin-top: 40px;
  display: flex;
  justify-content: center;
  gap: 30px;
}
@media print, screen and (max-width:768px) {
  .p-works-work__list {
    margin-top: 20px;
  }
}

.p-works-work-item {
  width: calc(25% - 30px * 3 / 4);
  display: flex;
  flex-direction: column;
  padding: 30px 20px 40px;
  border-radius: 20px;
  background-color: #fff;
}
@media print, screen and (max-width:980px) {
  .p-works-work-item {
    padding: 24px 20px 30px;
  }
}
@media print, screen and (max-width:768px) {
  .p-works-work-item {
    margin: 0 12px;
  }
}

.p-works-work-item__img {
  width: 100%;
  max-width: 200px;
  margin: 0 auto;
}
@media print, screen and (max-width:980px) {
  .p-works-work-item__img {
    max-width: 156px;
  }
}

.p-works-work-item__title {
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-align: center;
  margin-top: 20px;
}
@media print, screen and (max-width:980px) {
  .p-works-work-item__title {
    font-size: 20px;
  }
}

.p-works-work-item_sub {
  font-size: 16px;
}

.gen .p-works-work-item_sub {
  color: #38BFBA;
}

.p-works-work-item__text {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.75;
  margin-top: 16px;
  flex: 1;
}
@media print, screen and (max-width:980px) {
  .p-works-work-item__text {
    font-size: 14px;
  }
}

@media print, screen and (max-width:768px) {
  .p-works-work .slick-track {
    padding-bottom: 40px;
  }
}

.p-works-work .slick-dots {
  bottom: 0;
  height: auto;
}

.p-works-work .slick-dots li {
  width: 12px;
  height: 12px;
  margin: 0 10px;
}
@media print, screen and (max-width:768px) {
  .p-works-work .slick-dots li {
    width: 10px;
    height: 10px;
    margin: 0 6px;
  }
}

.p-works-work .slick-dots li button {
  width: 12px;
  height: 12px;
}
@media print, screen and (max-width:768px) {
  .p-works-work .slick-dots li button {
    width: 10px;
    height: 10px;
  }
}

.p-works-work .slick-dots li button:before {
  width: 12px;
  height: 12px;
  border: none;
  background-color: #FFFFFF;
}
@media print, screen and (max-width:768px) {
  .p-works-work .slick-dots li button:before {
    width: 10px;
    height: 10px;
  }
}

.p-works-work .slick-dots li.slick-active button:before {
  background-color: #FF8900;
}

.p-works-staff {
  margin-top: 160px;
}
@media print, screen and (max-width:768px) {
  .p-works-staff {
    margin-top: 50px;
  }
}

.p-works-staff__inner {
  width: 100%;
  max-width: 1200px;
  padding: 0 20px;
  margin: 0 auto;
}
@media print, screen and (max-width:768px) {
  .p-works-staff__inner {
    padding: 0;
  }
}

.p-works-staff__title {
  font-size: 36px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-align: center;
}
@media print, screen and (max-width:768px) {
  .p-works-staff__title {
    font-size: 24px;
  }
}

.p-works-staff__contents {
  margin-top: 50px;
}
@media print, screen and (max-width:768px) {
  .p-works-staff__contents {
    margin-top: 40px;
  }
}

.p-works-staff-box {
  background-color: #fff;
  border-radius: 40px;
  box-shadow: 0 0 30px rgba(114, 80, 40, 0.1);
  padding: 60px;
}
@media print, screen and (max-width:768px) {
  .p-works-staff-box {
    border-radius: 30px;
    padding: 30px 20px;
  }
}

.p-works-staff-box + .p-works-staff-box {
  margin-top: 100px;
}
@media print, screen and (max-width:768px) {
  .p-works-staff-box + .p-works-staff-box {
    margin-top: 10px;
  }
}

.p-works-staff-box__top {
  display: flex;
  align-items: flex-start;
  gap: 80px;
}
@media print, screen and (max-width:768px) {
  .p-works-staff-box__top {
    flex-direction: column;
    gap: 30px;
  }
}

.p-works-staff-box__images {
  flex: 0 0 38.46%;
}
@media print, screen and (max-width:768px) {
  .p-works-staff-box__images {
    flex: auto;
    width: 100%;
    max-width: 295px;
    margin: 0 auto;
  }
}

.p-works-staff-box__img {
  width: 100%;
  position: relative;
  overflow: hidden;
}

.p-works-staff-box__img::before {
  /* content: "";
  display: block;
  padding-top: 131%; */
}

.p-works-staff-box__img img {
  /* position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); */
  width: 100%;
  /* height: 100%;
  object-fit: cover;
  transition: 0.3s; */
}

/* .p-works-staff-box__img .on {
  opacity: 0;
  visibility: hidden;
}

.p-works-staff-box__img.is-show .on {
  opacity: 1;
  visibility: visible;
}

.p-works-staff-box__img.is-show .off {
  opacity: 0;
  visibility: hidden;
} */

.p-works-staff-box__img::after {
  /* content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transition: 1s; */
}

.p-works-staff-box__img.is-show::after {
  left: -100%;
}

.box-01 .p-works-staff-box__img::after {
  background-color: var(--box01-color);
}

.box-02 .p-works-staff-box__img::after {
  background-color: var(--box02-color);
}

.box-03 .p-works-staff-box__img::after {
  background-color: var(--box03-color);
}

.box-04 .p-works-staff-box__img::after {
  background-color: var(--box04-color);
}

.box-05 .p-works-staff-box__img::after {
  background-color: var(--box05-color);
}

.box-06 .p-works-staff-box__img::after {
  background-color: var(--box06-color);
}

.box-07 .p-works-staff-box__img::after {
  background-color: var(--box07-color);
}

.box-08 .p-works-staff-box__img::after {
  background-color: var(--box08-color);
}

.box-09 .p-works-staff-box__img::after {
  background-color: var(--box09-color);
}

.box-10 .p-works-staff-box__img::after {
  background-color: var(--box10-color);
}

.box-11 .p-works-staff-box__img::after {
  background-color: var(--box11-color);
}

.p-works-staff-box__hash {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.02em;
  margin-top: 8px;
}
@media print, screen and (max-width:768px) {
  .p-works-staff-box__hash {
    font-size: 12px;
  }
}

.p-works-staff-box__info {
  flex: 0 1 100%;
}
@media print, screen and (max-width:768px) {
  .p-works-staff-box__info {
    flex: auto;
  }
}

@media print, screen and (max-width:768px) {
  .p-works-staff-box__tag {
    text-align: center;
  }
}

.p-works-staff-box__tag span {
  display: inline-block;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-align: center;
  color: #fff;
  padding: 2px 14px;
}
@media print, screen and (max-width:768px) {
  .p-works-staff-box__tag span {
    font-size: 16px;
  }
}

.p-works-staff-box__tag span.new {
  background-color: #E64155;
}

.p-works-staff-box__tag span.mid {
  background-color: #337FCD;
}

.p-works-staff-box__name {
  font-size: 40px;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-top: 12px;
}
@media print, screen and (max-width:768px) {
  .p-works-staff-box__name {
    font-size: 30px;
    margin-top: 4px;
    text-align: center;
  }
}

.p-works-staff-box-comment {
  margin-top: 50px;
}
@media print, screen and (max-width:768px) {
  .p-works-staff-box-comment {
    margin-top: 32px;
  }
}

.p-works-staff-box-comment__text {
  font-size: 32px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.56;
  margin-top: 18px;
}
@media print, screen and (max-width:980px) {
  .p-works-staff-box-comment__text {
    font-size: 22px;
  }
}
@media print, screen and (max-width:768px) {
  .p-works-staff-box-comment__text {
    font-size: 24px;
    line-height: 1.8;
    margin-top: 20px;
  }
}

.p-works-staff-box-comment__text span {
  position: relative;
  display: inline-block;
  z-index: 1;
}

.p-works-staff-box-comment__text span::before {
  content: '';
  position: absolute;
  bottom: 0.1em;
  display: inline-block;
  width: 100%;
  height: 0.5em;
  transform:skewX(50deg);
  z-index: -1;
}

.box-01 .p-works-staff-box-comment__text span::before {
  background-color: var(--box01-line);
}

.box-02 .p-works-staff-box-comment__text span::before {
  background-color: var(--box02-line);
}

.box-03 .p-works-staff-box-comment__text span::before {
  background-color: var(--box03-line);
}

.box-04 .p-works-staff-box-comment__text span::before {
  background-color: var(--box04-line);
}

.box-05 .p-works-staff-box-comment__text span::before {
  background-color: var(--box05-line);
}

.box-06 .p-works-staff-box-comment__text span::before {
  background-color: var(--box06-line);
}

.box-07 .p-works-staff-box-comment__text span::before {
  background-color: var(--box07-line);
}

.box-08 .p-works-staff-box-comment__text span::before {
  background-color: var(--box08-line);
}

.box-09 .p-works-staff-box-comment__text span::before {
  background-color: var(--box09-line);
}

.box-10 .p-works-staff-box-comment__text span::before {
  background-color: var(--box10-line);
}

.box-11 .p-works-staff-box-comment__text span::before {
  background-color: var(--box11-line);
}

.p-works-staff-box__role {
  margin-top: 40px;
}

.p-works-staff-box__bottom {
  margin-top: 40px;
  display: flex;
  gap: 40px;
}
@media print, screen and (max-width:768px) {
  .p-works-staff-box__bottom {
    flex-direction: column;
    gap: 16px;
  }
}

.p-works-staff-box__left {
  width: calc(50% - 40px / 2);
  display: flex;
  flex-direction: column;
  gap: 40px;
}
@media print, screen and (max-width:768px) {
  .p-works-staff-box__left {
    width: 100%;
    gap: 16px;
  }
}

.p-works-staff-box__right {
  width: calc(50% - 40px / 2);
}
@media print, screen and (max-width:768px) {
  .p-works-staff-box__right {
    width: 100%;
  }
}

.p-works-staff-box-item {
  padding: 20px 30px 30px;
  border-width: 2px;
  border-style: solid;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
}
@media print, screen and (max-width:768px) {
  .p-works-staff-box-item {
    padding: 20px 10px;
    border-width: 1px;
  }
}

.box-01 .p-works-staff-box-item {
  border-color: var(--box01-color);
}

.box-02 .p-works-staff-box-item {
  border-color: var(--box02-color);
}

.box-03 .p-works-staff-box-item {
  border-color: var(--box03-color);
}

.box-04 .p-works-staff-box-item {
  border-color: var(--box04-color);
}

.box-05 .p-works-staff-box-item {
  border-color: var(--box05-color);
}

.box-06 .p-works-staff-box-item {
  border-color: var(--box06-color);
}

.box-07 .p-works-staff-box-item {
  border-color: var(--box07-color);
}

.box-08 .p-works-staff-box-item {
  border-color: var(--box08-color);
}

.box-09 .p-works-staff-box-item {
  border-color: var(--box09-color);
}

.box-10 .p-works-staff-box-item {
  border-color: var(--box10-color);
}

.box-11 .p-works-staff-box-item {
  border-color: var(--box11-color);
}

.p-works-staff-box-item__lead {
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.78;
  margin-top: 30px;
  margin-bottom: 24px;
}
@media print, screen and (max-width:768px) {
  .p-works-staff-box-item__lead {
    font-size: 20px;
    line-height: 1.5;
    margin-top: 16px;
    margin-bottom: 16px;
  }
}

.p-works-staff-box__lead {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.2;
  padding-left: 1em;
  position: relative;
}
@media print, screen and (max-width:768px) {
  .p-works-staff-box__lead {
    font-size: 16px;
    line-height: 1.5;
  }
}

.p-works-staff-box__lead::before {
  content: "";
  position: absolute;
  top: 0.3em;
  left: 0;
  width: 10px;
  height: 10px;
  border-radius: 50%;
}
@media print, screen and (max-width:768px) {
  .p-works-staff-box__lead::before {
    width: 6px;
    height: 6px;
    top: 0.5em;
  }
}

.box-01 .p-works-staff-box__lead::before {
  background-color: var(--box01-color);
}

.box-02 .p-works-staff-box__lead::before {
  background-color: var(--box02-color);
}

.box-03 .p-works-staff-box__lead::before {
  background-color: var(--box03-color);
}

.box-04 .p-works-staff-box__lead::before {
  background-color: var(--box04-color);
}

.box-05 .p-works-staff-box__lead::before {
  background-color: var(--box05-color);
}

.box-06 .p-works-staff-box__lead::before {
  background-color: var(--box06-color);
}

.box-07 .p-works-staff-box__lead::before {
  background-color: var(--box07-color);
}

.box-08 .p-works-staff-box__lead::before {
  background-color: var(--box08-color);
}

.box-09 .p-works-staff-box__lead::before {
  background-color: var(--box09-color);
}

.box-10 .p-works-staff-box__lead::before {
  background-color: var(--box10-color);
}

.box-11 .p-works-staff-box__lead::before {
  background-color: var(--box11-color);
}

.p-works-staff-box__text {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.75;
  margin-top: 16px;
}
@media print, screen and (max-width:768px) {
  .p-works-staff-box__text {
    font-size: 14px;
    line-height: 1.72;
  }
}

.p-works-staff-box__history {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.75;
  margin-top: 16px;
}
@media print, screen and (max-width:768px) {
  .p-works-staff-box__history {
    font-size: 14px;
    line-height: 1.72;
  }
}

.p-works-staff-box__history li {
  display: flex;
  align-items: flex-start;
  gap: 4px;
}

.p-works-staff-box__history .year {
  flex: 0 0 80px;
  text-align: right;
}
@media print, screen and (max-width:768px) {
  .p-works-staff-box__history .year {
    flex: 0 0 70px;
    text-align: right;
  }
}

.p-works-staff-box__history .content {
  flex: 0 1 100%;
}

.p-works-schedule {
  margin-top: 160px;
}
@media print, screen and (max-width:768px) {
  .p-works-schedule {
    margin-top: 40px;
  }
}

.p-works-schedule__inner {
  width: 100%;
  max-width: 1200px;
  padding: 0 20px;
  margin: 0 auto;
}

.p-works-schedule__item + .p-works-schedule__item {
  margin-top: 100px;
}
@media print, screen and (max-width:768px) {
  .p-works-schedule__item + .p-works-schedule__item {
    margin-top: 50px;
  }
}

.p-works-schedule__box {
  padding: 70px 70px 80px;
  background-color: #fff;
  border-width: 3px;
  border-style: solid;
  border-radius: 40px;
  box-shadow: 0 0 30px rgba(114, 80, 40, 0.1);
}
@media print, screen and (max-width:768px) {
  .p-works-schedule__box {
    padding: 35px 20px 40px;
    border-width: 2px;
    border-radius: 20px;
  }
}

.p-works-schedule__box.is-cs {
  border-color: #BB93D8;
}

.p-works-schedule__box.is-sales {
  border-color: #337FCD;
}

.p-works-schedule__box.is-design {
  border-color: #F586A4;
}

.p-works-schedule__box.is-plan {
  border-color: #FF8900;
}

.p-works-schedule__box.is-logi {
  border-color: #83C44B;
}

.p-works-schedule__box.is-gen{
  border-color: #38BFBA;
}

.p-works-schedule__title {
  font-family: var(--Montserrat-font);
  font-size: 60px;
  font-weight: 600;
  text-align: center;
}
@media print, screen and (max-width:768px) {
  .p-works-schedule__title {
    font-size: 32px;
  }
}

.is-cs .p-works-schedule__title {
  color: #BB93D8;
}

.is-sales .p-works-schedule__title {
  color: #337FCD;
}

.is-design .p-works-schedule__title {
  color: #F586A4;
}

.is-plan .p-works-schedule__title {
  color: #FF8900;
}

.is-logi .p-works-schedule__title {
  color: #83C44B;
}

.is-gen .p-works-schedule__title {
  color: #38BFBA;
}

.p-works-schedule__lead {
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-align: center;
  margin-top: 6px;
}
@media print, screen and (max-width:768px) {
  .p-works-schedule__lead {
    font-size: 16px;
    margin-top: 4px;
  }
}

.p-works-schedule__list {
  width: 100%;
  max-width: 790px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  margin-top: 20px;
}
@media print, screen and (max-width:768px) {
  .p-works-schedule__list {
    margin-top: 20px;
  }
}

.p-works-schedule-item {
  display: flex;
  gap: 55px;
  position: relative;
  padding-top: 30px;
}
@media print, screen and (max-width:768px) {
  .p-works-schedule-item {
    gap: 30px;
    padding-top: 20px;
  }
}

.p-works-schedule-item:not(:last-child)::before {
  content: "";
  width: 2px;
  height: 100%;
  position: absolute;
  top: 58px;
  left: 107px;
}
@media print, screen and (max-width:768px) {
  .p-works-schedule-item:not(:last-child)::before {
    top: 48px;
    left: 60px;
  }
}

.is-cs .p-works-schedule-item:not(:last-child)::before {
  background-color: #BB93D8;
}

.is-sales .p-works-schedule-item:not(:last-child)::before {
  background-color: #337FCD;
}

.is-design .p-works-schedule-item:not(:last-child)::before {
  background-color: #F586A4;
}

.is-plan .p-works-schedule-item:not(:last-child)::before {
  background-color: #FF8900;
}

.is-logi .p-works-schedule-item:not(:last-child)::before {
  background-color: #83C44B;
}

.is-gen .p-works-schedule-item:not(:last-child)::before {
  background-color: #38BFBA;
}

.p-works-schedule-item__time {
  font-family: var(--Roboto-font);
  font-size: 30px;
  font-weight: 700;
  text-align: right;
  position: relative;
  flex: 0 0 80px;
  padding-top: 15px;
}
@media print, screen and (max-width:768px) {
  .p-works-schedule-item__time {
    font-size: 18px;
    flex: 0 0 45px;
    padding-top: 10px;
  }
}

.p-works-schedule-item__time::before {
  content: "";
  position: absolute;
  top: 25px;
  left: calc(100% + 20px);
  width: 16px;
  height: 16px;
  background-color: #fff;
  border-radius: 50%;
  border-width: 4px;
  border-style: solid;
  box-sizing: border-box;
}
@media print, screen and (max-width:768px) {
  .p-works-schedule-item__time::before {
    top: 15px;
    left: calc(100% + 8px);
    width: 14px;
    height: 14px;
  }
}

.is-cs .p-works-schedule-item__time {
  color: #BB93D8;
}

.is-cs .p-works-schedule-item__time::before {
  border-color: #BB93D8;
}

.is-sales .p-works-schedule-item__time {
  color: #337FCD;
}

.is-sales .p-works-schedule-item__time::before {
  border-color: #337FCD;
}

.is-design .p-works-schedule-item__time {
  color: #F586A4;
}

.is-design .p-works-schedule-item__time::before {
  border-color: #F586A4;
}

.is-plan .p-works-schedule-item__time {
  color: #FF8900;
}

.is-plan .p-works-schedule-item__time::before {
  border-color: #FF8900;
}

.is-logi .p-works-schedule-item__time {
  color: #83C44B;
}

.is-logi .p-works-schedule-item__time::before {
  border-color: #83C44B;
}

.is-gen .p-works-schedule-item__time {
  color: #38BFBA;
}

.is-gen .p-works-schedule-item__time::before {
  border-color: #38BFBA;
}

.p-works-schedule-item__contents {
  flex: 0 1 100%;
  padding-top: 6px;
}

.p-works-schedule-item__text {
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.5;
  padding-top: 10px;
}
@media print, screen and (max-width:768px) {
  .p-works-schedule-item__text {
    font-size: 14px;
    padding-top: 7px;
  }
}

.p-works-schedule-item__balloon {
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.5;
  padding: 20px 24px;
  border-radius: 20px;
  position: relative;
  margin-left: 20px;
}
@media print, screen and (max-width:768px) {
  .p-works-schedule-item__balloon {
    font-size: 14px;
    padding: 10px;
    border-radius: 6px;
    margin-left: 10px;
  }
}

.p-works-schedule-item__balloon::before {
  content: "";
  width: 20px;
  height: 20px;
  position: absolute;
  top: 18px;
  right: 100%;
  clip-path: polygon(100% 0, 0 50%, 100% 100%);
}
@media print, screen and (max-width:768px) {
  .p-works-schedule-item__balloon::before {
    width: 10px;
    height: 10px;
    top: 10px;
  }
}

.p-works-schedule-item__balloon.yl {
  background-color: #FDFADA;
}

.p-works-schedule-item__balloon.yl::before {
  background-color: #FDFADA;
}

.p-works-schedule-item__balloon.lb {
  background-color: #E5F7F7;
}

.p-works-schedule-item__balloon.lb::before {
  background-color: #E5F7F7;
}

.p-works-schedule-item__balloon.bl {
  background-color: #E7F2FD;
}

.p-works-schedule-item__balloon.bl::before {
  background-color: #E7F2FD;
}

.p-works-schedule__note {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.02em;
  margin-top: 12px;
}
@media print, screen and (max-width:768px) {
  .p-works-schedule__note {
    font-size: 14px;
    margin-top: 10px;
  }
}

.p-works-schedule__prev {
  margin-top: 100px;
  text-align: center;
}
@media print, screen and (max-width:768px) {
  .p-works-schedule__prev {
    margin-top: 80px;
  }
}