@charset "UTF-8";
html {
  font-size: 62.5%;
}

@media screen and (max-width: 768px) {
  html {
    font-size: 2.65vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1366px) {
  html {
    font-size: 0.732vw;
  }
}
@media screen and (min-width: 1367px) {
  html {
    font-size: 62.5%;
  }
}
body {
  font-size: 1.6rem;
  letter-spacing: 0;
  color: #1A1311;
  margin: 0 !important;
  line-height: 150%;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  body {
    font-size: 1.4rem;
  }
}

* {
  box-sizing: border-box;
}

h1, h2, h3, h4, h5, h6, p {
  margin-top: 0;
  line-height: 1.5;
}

p {
  font-family: "Noto Sans JP";
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 2;
  color: #1A1311;
}
@media screen and (max-width: 768px) {
  p {
    font-size: 1.4rem;
  }
}

img {
  max-width: 100%;
}

ul {
  padding: 0;
  margin: 0;
  margin-left: 0 !important;
}

li {
  list-style: none;
  font-family: "Noto Sans JP";
  font-weight: 500;
  font-size: 1.6rem;
  letter-spacing: 0.03em;
  line-height: 2;
  color: #1d1d1e;
}

a {
  text-decoration: unset;
  color: #1A1311 !important;
}

a:focus,
a:active {
  outline: none;
  box-shadow: none;
}

img {
  vertical-align: bottom;
}

.sp {
  display: none !important;
}
@media screen and (max-width: 768px) {
  .sp {
    display: block !important;
  }
}

@media screen and (max-width: 768px) {
  .pc {
    display: none !important;
  }
}

[id^=menu-] {
  scroll-margin-top: 5rem;
}

.c-btn {
  display: inline-block;
  border-radius: 0.5rem;
  text-align: center;
  position: relative;
  transition: all 0.5s;
}
.c-btn-view-all {
  padding: 2.5rem 9rem 2.5rem 9rem;
  color: #fff !important;
  font-size: 1.8rem;
  font-weight: 500;
  font-family: "Prompt", sans-serif;
  background: #1A1311;
  position: relative;
  border: 0.1rem solid #1A1311;
}
@media screen and (max-width: 768px) {
  .c-btn-view-all {
    padding: 1.5rem 4rem 1.5rem 4rem;
    font-size: 1.6rem;
    width: 100%;
  }
}
.c-btn-view-all::after {
  content: "";
  width: 1.6rem;
  height: 1.6rem;
  position: absolute;
  top: 50%;
  right: 2rem;
  transform: translate(0, -50%);
  background: url(../img/front/icon-plus-white@2x.png) no-repeat center;
  background-size: contain;
}
@media screen and (max-width: 768px) {
  .c-btn-view-all::after {
    right: 1.5rem;
    width: 1rem;
    height: 1rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-btn-view-all:hover {
    background: unset;
    border-color: #fff;
  }
}
.c-btn-orange {
  display: block;
  width: 100%;
  background: #E22F00;
  color: #fff !important;
  padding: 2rem 3.5rem;
  font-size: 1.8rem;
  position: relative;
  text-align: start;
  border: 0.1rem solid #E22F00;
}
.c-btn-orange::after {
  content: "";
  width: 1.2rem;
  height: 2rem;
  background: url(../img/base/icon-arrow@2x.png) no-repeat center;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 3rem;
  transform: translate(0, -50%);
}
@media (hover: hover) and (pointer: fine) {
  .c-btn-orange:hover {
    color: #E22F00 !important;
    background: #fff;
  }
  .c-btn-orange:hover::after {
    background: url(../img/base/icon-arrow-hover@2x.png) no-repeat center;
    background-size: contain;
  }
}
.c-btn-map {
  width: 36rem;
  padding: 3.5rem 4.5rem;
  text-align: center;
  border: 0.1rem solid #1A1311;
  background: #FFF;
  border-radius: unset;
  position: relative;
}
@media screen and (max-width: 768px) {
  .c-btn-map {
    width: 100%;
    padding: 2rem;
  }
}
.c-btn-map::after {
  content: "";
  width: 2.5rem;
  height: 2.5rem;
  background: url(../img/about/icon-map@2x.png) no-repeat center;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 9rem;
  transform: translate(0, -50%);
}
@media (hover: hover) and (pointer: fine) {
  .c-btn-map:hover {
    opacity: 0.5;
  }
}
.c-btn-entry {
  position: relative;
  z-index: 1;
  width: 44rem;
  color: #fff !important;
  background: linear-gradient(90deg, #FF8A37 2.28%, #E22F00 97.72%), #E22F00;
  padding: 3rem;
  display: block;
  margin: 0 auto;
  border: 0.1rem solid linear-gradient(90deg, #FF8A37 2.28%, #E22F00 97.72%);
  font-size: 1.8rem;
  transition: all 0.5s;
}
@media screen and (max-width: 768px) {
  .c-btn-entry {
    width: 80%;
    padding: 2rem;
  }
}
.c-btn-entry::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  z-index: -1;
  opacity: 0;
  transition: all 0.5s;
  border-radius: 0.5rem;
  border: 0.1rem solid #E22F00;
}
.c-btn-entry::after {
  content: "";
  width: 1.2rem;
  height: 2rem;
  background: url(../img/base/icon-arrow@2x.png) no-repeat center;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 3rem;
  transform: translate(0, -50%);
}
@media (hover: hover) and (pointer: fine) {
  .c-btn-entry:hover {
    color: #E22F00 !important;
  }
  .c-btn-entry:hover::before {
    opacity: 1;
  }
  .c-btn-entry:hover::after {
    background: url(../img/base/icon-arrow-hover@2x.png) no-repeat center;
    background-size: contain;
  }
}
.c-btn-to_top {
  background: #E22F00;
  color: #fff !important;
  width: 41rem;
  height: 8rem;
  line-height: 8rem;
  display: block;
  margin: 0 auto;
  font-size: 1.8rem;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .c-btn-to_top {
    width: 80%;
    height: 6rem;
    line-height: 6rem;
    font-size: 1.6rem;
  }
}
.c-btn-to_top::after {
  content: "";
  background: url(../img/base/icon-arrow@2x.png) no-repeat center;
  width: 1.2em;
  height: 2rem;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 1rem;
  transform: translate(0, -50%);
}
.c-btn-header {
  position: relative;
  z-index: 1;
  height: 5.6rem;
  line-height: 5.6rem;
  color: #fff !important;
  font-family: "Prompt", sans-serif;
  width: 18rem;
  margin-right: 1.5rem;
  border: 0.1rem solid linear-gradient(90deg, #FF8A37 2.28%, #E22F00 97.72%);
  transition: all 0.5s;
  background: linear-gradient(90deg, #FF8A37 2.28%, #E22F00 97.72%);
}
@media screen and (max-width: 768px) {
  .c-btn-header {
    width: 11.7rem;
    height: 5.6rem;
    line-height: 5.6rem;
    font-size: 1.8rem;
    font-weight: 500;
    letter-spacing: 1.8px;
  }
}
.c-btn-header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  z-index: -1;
  opacity: 0;
  transition: opacity 0.5s;
  border-radius: 0.5rem;
  border: 0.1rem solid #E22F00;
}
@media (hover: hover) and (pointer: fine) {
  .c-btn-header:hover {
    color: #E22F00 !important;
  }
  .c-btn-header:hover::before {
    opacity: 1;
  }
}
.c-btn-ham {
  width: 70rem;
  background: #fff;
  color: #E22F00 !important;
  border-radius: 0.5rem;
  padding: 3rem 3.5rem;
  font-size: 1.8rem;
  font-weight: 600;
  display: block;
  margin: 0 auto;
  font-size: 2.4rem;
  letter-spacing: 2.4px;
  border: 0.1rem solid #fff;
}
@media screen and (max-width: 768px) {
  .c-btn-ham {
    width: 100%;
    padding: 2.5rem 1.5rem;
    font-size: 2.4rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-btn-ham:hover {
    background: unset;
    color: #fff !important;
  }
}
.c-btn-footer-recruit, .c-btn-footer-entry {
  background: #1A1311;
  color: #fff !important;
  width: 45.5rem;
  font-size: 3.2rem;
  letter-spacing: 3.2px;
  line-height: 1;
  padding: 4rem 4.5rem;
  margin-bottom: 2.5rem;
  font-family: "Prompt", sans-serif;
  position: relative;
  text-align: start;
  border: 0.1rem solid #E22F00;
}
@media screen and (max-width: 768px) {
  .c-btn-footer-recruit, .c-btn-footer-entry {
    font-size: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .c-btn-footer-recruit, .c-btn-footer-entry {
    width: 100%;
    padding: 2rem;
  }
}
.c-btn-footer-recruit span, .c-btn-footer-entry span {
  font-size: 1.3rem;
  display: block;
  line-height: 1;
  margin-bottom: 0.2rem;
  font-family: "Noto Sans JP";
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .c-btn-footer-recruit span, .c-btn-footer-entry span {
    font-size: 1rem;
  }
}
.c-btn-footer-recruit::after, .c-btn-footer-entry::after {
  content: "";
  width: 1.2rem;
  height: 2rem;
  background: url(../img/base/icon-arrow@2x.png) no-repeat center;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 3rem;
  transform: translate(0, -50%);
}
@media (hover: hover) and (pointer: fine) {
  .c-btn-footer-recruit:hover, .c-btn-footer-entry:hover {
    background: unset;
    color: #fff !important;
    border: 0.1rem solid #fff;
  }
}
.c-btn-footer-entry {
  background: #fff;
  color: #E22F00 !important;
  padding: 6rem 4.5rem;
}
@media screen and (max-width: 768px) {
  .c-btn-footer-entry {
    padding: 2rem;
  }
}
.c-btn-footer-entry::after {
  background: url(../img/base/icon-arrow-hover@2x.png) no-repeat center;
  background-size: contain;
}
@media (hover: hover) and (pointer: fine) {
  .c-btn-footer-entry:hover::after {
    background: url(../img/base/icon-arrow@2x.png) no-repeat center;
    background-size: contain;
  }
}

.c-front-title {
  display: inline-block;
}
@media (hover: hover) and (pointer: fine) {
  .c-front-title:hover h2::after {
    background: url(../img/front/icon-arrow-hover@2x.png) no-repeat center;
    background-size: contain;
  }
}
.c-front-title h2 {
  font-size: 8rem;
  font-weight: 600;
  line-height: 100%;
  letter-spacing: 2.4px;
  font-family: "Prompt", sans-serif;
  margin-bottom: 1.3rem;
  position: relative;
  padding-right: 8.2rem;
}
@media screen and (max-width: 768px) {
  .c-front-title h2 {
    font-size: 4rem;
    padding-right: 4rem;
  }
}
.c-front-title h2::after {
  content: "";
  display: block;
  width: 6rem;
  height: 6rem;
  border-radius: 50%;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(0, -50%);
  background: url(../img/front/icon-arrow@2x.png) no-repeat center;
  background-size: contain;
  transition: all 0.5s;
}
@media screen and (max-width: 768px) {
  .c-front-title h2::after {
    width: 4rem;
    height: 4rem;
    right: -1rem;
  }
}
.c-front-title p {
  display: inline-block;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 1.8px;
  padding-left: 3rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .c-front-title p {
    font-size: 1.6rem;
  }
}
.c-front-title p::before {
  content: "";
  display: block;
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 50%;
  background: #E22F00;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(0, -50%);
}
@media (hover: hover) and (pointer: fine) {
  .c-front-title-white:hover h2::after {
    background: url(../img/front/icon-arrow-white-hover@2x.png) no-repeat center;
    background-size: contain;
  }
}
.c-front-title-white h2 {
  color: #fff;
  position: relative;
}
.c-front-title-white h2::after {
  background: url(../img/front/icon-arrow-white@2x.png) no-repeat center;
  background-size: contain;
}
.c-front-title-white p {
  color: #fff;
}
.c-front-title-white p::before {
  background: #fff;
}

.c-page-title p {
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 1.6px;
  margin-bottom: 0.5rem;
}
.c-page-title h2 {
  font-size: 4.8rem;
  font-weight: 600;
  font-family: "Prompt", sans-serif;
  letter-spacing: 4.8px;
  text-transform: uppercase;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .c-page-title h2 {
    font-size: 3rem;
    letter-spacing: 3px;
  }
}

.c-page-top {
  background: url(../img/base/bg-page-top.png) no-repeat center;
  background-size: cover;
  height: 42.3rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .c-page-top {
    height: 30rem;
  }
}
.c-page-top-title {
  position: absolute;
  top: 19rem;
  left: 8rem;
}
@media screen and (max-width: 768px) {
  .c-page-top-title {
    top: 12rem;
    left: 2rem;
  }
}
.c-page-top-title p {
  margin-bottom: 1rem;
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: 1.8px;
}
@media screen and (max-width: 768px) {
  .c-page-top-title p {
    font-size: 1.6rem;
    margin-bottom: 0;
  }
}
.c-page-top-title h1 {
  font-size: 8rem;
  font-weight: 600;
  font-family: "Prompt", sans-serif;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .c-page-top-title h1 {
    font-size: 4rem;
  }
}

.c-page-top-interview {
  background: #F5F5F5;
}
.c-page-top-interview-wrap {
  display: flex;
  justify-content: space-between;
  position: relative;
}
@media screen and (max-width: 768px) {
  .c-page-top-interview-wrap {
    flex-direction: column;
    padding-bottom: 4rem;
  }
}
.c-page-top-interview-left {
  padding-top: 14rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .c-page-top-interview-left {
    padding-top: 11rem;
  }
}
.c-page-top-interview-title {
  position: unset;
  margin-bottom: 35rem;
}
@media screen and (max-width: 768px) {
  .c-page-top-interview-title {
    margin-bottom: 2rem;
  }
}
.c-page-top-interview-title h1 {
  margin-bottom: 0;
}
.c-page-top-interview-font {
  position: absolute;
  left: 0;
  top: 27rem;
  height: 24rem;
  margin: 5rem 0 6rem;
}
@media screen and (max-width: 768px) {
  .c-page-top-interview-font {
    position: unset;
    top: unset;
    left: unset;
    margin: unset;
    height: 10rem;
  }
}
.c-page-top-interview-font img {
  height: 100%;
}
.c-page-top-interview-name {
  font-size: 2.4rem;
  font-weight: bold;
  margin-bottom: 0;
  letter-spacing: 1.2px;
}
@media screen and (max-width: 768px) {
  .c-page-top-interview-name {
    font-size: 2rem;
  }
}
.c-page-top-interview-job {
  font-size: 1.8rem;
  margin-bottom: 0;
  letter-spacing: 0.9px;
}
@media screen and (max-width: 768px) {
  .c-page-top-interview-job {
    font-size: 1.4rem;
  }
}
.c-page-top-interview-his {
  font-size: 1.4rem;
  margin-bottom: 0;
  letter-spacing: 0.7px;
}
@media screen and (max-width: 768px) {
  .c-page-top-interview-his {
    font-size: 1.2rem;
  }
}
.c-page-top-interview-right {
  width: 55rem;
}
@media screen and (max-width: 768px) {
  .c-page-top-interview-right {
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .c-page-top-interview-wrap .p-front__interview--card--person {
    width: 90%;
    margin-left: auto;
    display: block;
  }
}
.c-slider-about img {
  width: 41rem;
}
@media screen and (max-width: 768px) {
  .c-slider-about img {
    width: 18rem;
  }
}
@media screen and (min-width: 1367px) {
  .c-slider-about img {
    width: 32vw;
  }
}

/* 下段だけ右→左に流す */
/* 初期状態（共通） */
.c-slidein-right,
.c-slidein-left,
.c-slidein-up,
.c-slidein-down,
.c-slidein {
  opacity: 0;
  transition: all 0.8s ease-out;
  will-change: transform, opacity;
}

/* 方向別の初期位置 */
.c-slidein-right {
  transform: translateX(50px);
}

.c-slidein-left {
  transform: translateX(-50px);
}

.c-slidein-up {
  transform: translateY(50px);
}

.c-slidein-down {
  transform: translateY(-50px);
}

/* 表示されたとき */
.is-visible {
  opacity: 1;
  transform: translate(0, 0);
}

.l-footer {
  background: #eee;
  padding-top: 8rem;
  background: url(../img/base/bg-footer.png) no-repeat center;
  background-size: cover;
}
.l-footer__top {
  display: flex;
  justify-content: space-between;
  padding-bottom: 8rem;
  border-bottom: 0.1rem solid rgba(255, 255, 255, 0.4);
}
@media screen and (max-width: 768px) {
  .l-footer__top {
    flex-direction: column;
    padding-bottom: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .l-footer__top--left {
    margin-bottom: 5rem;
  }
}
.l-footer__top--left img {
  width: 65.5rem;
}
.l-footer__top--recruit {
  background: url(../img/base/bg-footer-top.png) no-repeat center;
  background-size: cover;
  padding-top: 8rem;
}
.l-footer__top--recruit .l-footer__top {
  padding-bottom: 5rem;
}
.l-footer__btm--inner {
  padding-top: 8rem;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .l-footer__btm--inner {
    padding-top: 4rem;
    flex-direction: column;
  }
}
@media screen and (max-width: 768px) {
  .l-footer__btm--left {
    text-align: center;
    margin-bottom: 5rem;
  }
}
.l-footer__btm--left img {
  width: 9rem;
}
.l-footer__btm--right {
  display: flex;
  justify-content: space-between;
  width: 76.5rem;
}
@media screen and (max-width: 768px) {
  .l-footer__btm--right {
    flex-direction: column;
    width: 100%;
  }
}
.l-footer__btm--right li {
  font-size: 2.4rem;
  font-family: "Prompt", sans-serif;
  font-weight: 600;
  letter-spacing: 1.2px;
  line-height: 1;
  margin-bottom: 5rem;
}
@media screen and (max-width: 768px) {
  .l-footer__btm--right li {
    margin-bottom: 3rem;
  }
}
.l-footer__btm--right li span {
  display: block;
  font-size: 1.2rem;
  font-weight: 500;
  font-family: "Noto Sans JP";
  margin-top: 0.8rem;
  letter-spacing: 0;
}
.l-footer__btm--right li a {
  color: #fff !important;
  transition: all 0.5s;
}
@media (hover: hover) and (pointer: fine) {
  .l-footer__btm--right li a:hover {
    opacity: 0.5;
  }
}
.l-footer__btm--copy {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8rem 0 4rem;
}
@media screen and (max-width: 768px) {
  .l-footer__btm--copy {
    padding: 4rem 0 2rem;
  }
}
.l-footer__btm--copy--left p {
  font-family: "Outfit", sans-serif;
  font-size: 1.4rem;
  color: #fff;
  opacity: 0.5;
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .l-footer__btm--copy--left p {
    font-size: 1rem;
  }
}
.l-footer__btm--copy--right {
  display: flex;
  align-items: center;
}
.l-footer__btm--copy--right a {
  transition: all 0.5s;
}
@media (hover: hover) and (pointer: fine) {
  .l-footer__btm--copy--right a:hover {
    opacity: 0.5;
  }
}
.l-footer__btm--copy--right p {
  font-size: 1.4rem;
  font-weight: bold;
  color: #fff;
  margin-right: 5rem;
  margin-bottom: 0;
  position: relative;
}
@media screen and (max-width: 768px) {
  .l-footer__btm--copy--right p {
    margin-right: 3rem;
    font-size: 1rem;
  }
}
.l-footer__btm--copy--right p::after {
  content: "";
  background: url(../img/base/icon-site@2x.png) no-repeat center;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: -2rem;
  transform: translate(0, -50%);
  width: 1.4rem;
  height: 1.4rem;
}
.l-footer__btm--copy--sns img {
  position: relative;
  bottom: 0.5rem;
}
.l-footer__bread {
  margin-top: 15rem;
  margin-bottom: 6rem;
  color: rgba(26, 19, 17, 0.5);
}
@media screen and (max-width: 768px) {
  .l-footer__bread {
    margin-top: 7rem;
    margin-bottom: 3rem;
  }
}
.l-footer__bread .breadcrumbs > span {
  padding: 0 1rem;
}
.l-footer__bread .breadcrumbs > span:first-of-type {
  padding-left: 0;
}
.l-footer__bread .breadcrumbs > span:last-of-type {
  text-decoration: underline;
  color: #1A1311;
}
.l-footer__bread a {
  color: rgba(26, 19, 17, 0.5) !important;
}
.l-footer__page {
  padding: 5rem 0 4.5rem;
  background: url(../img/base/bg-footer-2.png) no-repeat center;
  background-size: cover;
}
@media screen and (max-width: 768px) {
  .l-footer__page {
    margin-top: 3rem;
    padding: 4rem 0;
  }
}
.l-footer__page--list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.l-footer__page--list-item {
  border-radius: 0.5rem;
  font-size: 3.2rem;
  font-weight: bold;
  width: 59rem;
  margin-bottom: 2rem;
  background: rgba(255, 255, 255, 0.67);
  backdrop-filter: blur(15px);
  transition: all 0.5s;
}
@media screen and (max-width: 768px) {
  .l-footer__page--list-item {
    font-size: 2.4rem;
    margin-bottom: 1rem;
  }
  .l-footer__page--list-item::after {
    content: "";
    display: block;
    width: 1.4rem;
    height: 1.4rem;
    background: url(../img/base/icon-arrow-hover@2x.png) no-repeat center;
    background-size: contain;
    position: absolute;
    top: 50%;
    right: 3rem;
  }
}
.l-footer__page--list-item:nth-child(3), .l-footer__page--list-item:nth-child(4) {
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .l-footer__page--list-item:nth-child(3), .l-footer__page--list-item:nth-child(4) {
    margin-bottom: 1rem;
  }
}
.l-footer__page--list-item span {
  display: block;
  letter-spacing: 0;
  font-size: 1.6rem;
  font-weight: 500;
  color: #E22F00;
  font-family: "Shippori Antique", sans-serif;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .l-footer__page--list-item span {
    font-size: 1.2rem;
    margin-bottom: 1rem;
  }
}
.l-footer__page--list-item a {
  padding: 6rem;
  display: block;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .l-footer__page--list-item a {
    padding: 3rem 3.5rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .l-footer__page--list-item:hover {
    background: #fff;
  }
}

.l-header {
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 10;
}
.l-header__inner {
  display: flex;
  justify-content: space-between;
  padding: 2rem;
}
@media screen and (max-width: 768px) {
  .l-header__inner {
    padding: 1rem;
  }
}
.l-header__left img {
  width: 5rem;
}
@media screen and (max-width: 768px) {
  .l-header__left img {
    width: 4rem;
  }
}
.l-header__right {
  display: flex;
  align-items: center;
}
.l-header__ham {
  width: 2rem;
  height: 1.7rem;
  position: relative;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.l-header__ham--area {
  width: 5.6rem;
  height: 5.6rem;
  background: #fff;
  border-radius: 0.5rem;
  border: 0.2rem solid #E22F00;
  position: relative;
  z-index: 5;
  transition: all 0.5s;
}
@media (hover: hover) and (pointer: fine) {
  .l-header__ham--area:hover {
    cursor: pointer;
  }
}
.l-header__ham--area.active {
  transition: all 0.5s;
  background: unset;
  border: 0.2rem solid #fff;
}
.l-header__ham--area span {
  width: 100%;
  height: 0.3rem;
  background: #E22F00;
  margin: 0 auto;
  display: block;
  position: absolute;
  transition: all 0.5s;
}
.l-header__ham--area span:first-of-type {
  top: 0;
}
.l-header__ham--area span:nth-of-type(2) {
  top: 0.7rem;
}
.l-header__ham--area span:last-of-type {
  bottom: 0;
}
.l-header__ham--area span.active {
  transition: all 0.5s;
}
.l-header__ham--area span.active:first-of-type {
  top: 0.7rem;
  transform: rotate(45deg);
  background: #fff;
}
.l-header__ham--area span.active:nth-of-type(2) {
  display: none;
}
.l-header__ham--area span.active:last-of-type {
  bottom: 0.7rem;
  transform: rotate(135deg);
  background: #fff;
}
.l-header__ham--inner {
  display: none;
  background: linear-gradient(90deg, #E22F00 2.28%, #FF8A37 97.72%);
  padding: 12rem 3rem 3rem;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  width: 100%;
  height: 100vh;
  z-index: 1;
  overflow-y: scroll;
}
@media screen and (max-width: 768px) {
  .l-header__ham--inner {
    padding: 8.5rem 2rem 10rem;
  }
}
.l-header__ham--inner li {
  font-size: 3.2rem;
  font-family: "Prompt", sans-serif;
  font-weight: 600;
  letter-spacing: 1.2px;
  line-height: 1;
  margin-bottom: 5.5rem;
  position: relative;
  padding-left: 6rem;
  transition: all 0.5s;
}
@media screen and (max-width: 768px) {
  .l-header__ham--inner li {
    font-size: 2.2rem;
    margin-bottom: 3.8rem;
    padding-left: 5.5rem;
  }
}
.l-header__ham--inner li::before {
  content: "";
  display: block;
  width: 4.2rem;
  height: 4.2rem;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(0, -50%);
  background: url(../img/front/icon-arrow-white@2x.png) no-repeat center;
  background-size: contain;
}
@media screen and (max-width: 768px) {
  .l-header__ham--inner li::before {
    width: 3.5rem;
    height: 3.5rem;
  }
}
.l-header__ham--inner li span {
  display: block;
  font-size: 1.2rem;
  font-weight: 500;
  font-family: "Noto Sans JP";
  margin-top: 0.8rem;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  .l-header__ham--inner li span {
    margin-top: 0.2rem;
  }
}
.l-header__ham--inner li a {
  color: #fff !important;
}
@media (hover: hover) and (pointer: fine) {
  .l-header__ham--inner li:hover {
    opacity: 0.5;
  }
}
.l-header__ham--list--wrap {
  display: flex;
  justify-content: space-between;
  width: 70rem;
  margin: 0 auto 3rem;
}
@media screen and (max-width: 768px) {
  .l-header__ham--list--wrap {
    flex-direction: column;
    width: 100%;
    margin-bottom: 1rem;
  }
}

.l-section__inner {
  max-width: 120rem;
  width: 90%;
  margin: 0 auto;
}
.l-section__inner--m {
  max-width: 104rem;
  width: 90%;
  margin: 0 auto;
}
.l-section__inner--s {
  max-width: 92rem;
  width: 90%;
  margin: 0 auto;
}

.p-recruit__req {
  margin-top: 12rem;
}
@media screen and (max-width: 768px) {
  .p-recruit__req {
    margin-top: 6rem;
  }
}
.p-recruit__req--title {
  text-align: center;
}
.p-recruit__req--title h2 {
  font-size: 4rem;
}
@media screen and (max-width: 768px) {
  .p-recruit__req--title h2 {
    font-size: 2.5rem;
  }
}
.p-recruit__req--subtitle {
  text-align: start;
}
.p-recruit__req--subtitle h2 {
  font-size: 4rem;
}
@media screen and (max-width: 768px) {
  .p-recruit__req--subtitle h2 {
    font-size: 2.5rem;
  }
}
.p-recruit__req--btns {
  display: flex;
  margin-top: 7.5rem;
  margin-bottom: 4rem;
}
@media screen and (max-width: 768px) {
  .p-recruit__req--btns {
    margin-top: 3rem;
    margin-bottom: 2rem;
    justify-content: space-between;
  }
}
.p-recruit__req--btn {
  border-radius: 0.5rem;
  width: 28rem;
  text-align: center;
  font-size: 1.8rem;
  font-weight: bold;
  margin-right: 2.5rem;
  background: #F5F5F5;
  padding: 1.5rem 0;
  display: block;
  border-radius: 0.5rem;
}
@media screen and (max-width: 768px) {
  .p-recruit__req--btn {
    width: 32%;
    font-size: 1.4rem;
    margin-right: 0;
  }
}
.p-recruit__req--btn:hover {
  cursor: pointer;
}
.p-recruit__req--area {
  border-bottom: 0.1rem solid rgba(26, 19, 17, 0.32);
}
.p-recruit__req--top {
  display: flex;
  align-items: center;
  padding: 4rem 0;
  border-top: 0.1rem solid rgba(26, 19, 17, 0.32);
}
@media screen and (max-width: 768px) {
  .p-recruit__req--top {
    padding: 2rem 0 8rem;
    flex-direction: column;
  }
}
.p-recruit__req--top:hover {
  cursor: pointer;
}
.p-recruit__req--top--left {
  width: 28rem;
  height: 16rem;
  margin-right: 4rem;
}
@media screen and (max-width: 768px) {
  .p-recruit__req--top--left {
    width: 100%;
    height: unset;
    margin-right: 0;
    text-align: center;
    margin-bottom: 2rem;
  }
}
.p-recruit__req--top--left img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 768px) {
  .p-recruit__req--top--left img {
    width: 100%;
  }
}
.p-recruit__req--top--right {
  padding: 2rem 0;
}
@media screen and (max-width: 768px) {
  .p-recruit__req--top--right {
    padding: 1rem 0;
  }
}
.p-recruit__req--top--right span {
  background: #E22F00;
  border-radius: 2rem;
  color: #fff;
  text-align: center;
  padding: 0.5rem;
  width: 9.5rem;
  display: inline-block;
  font-size: 1.4rem;
  margin-right: 3rem;
}
@media screen and (max-width: 768px) {
  .p-recruit__req--top--right span {
    width: 5rem;
    font-size: 1.2rem;
  }
}
.p-recruit__req--top--right h3 {
  font-size: 2.4rem;
  margin-bottom: 0;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .p-recruit__req--top--right h3 {
    font-size: 1.8rem;
  }
}
.p-recruit__req--top--right p {
  margin-top: 1.5rem;
  margin-bottom: 0;
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  .p-recruit__req--top--right p {
    margin-top: 0.5rem;
    font-size: 1.4rem;
  }
}
.p-recruit__req--top {
  position: relative;
}
.p-recruit__req--top::after {
  content: "";
  display: block;
  width: 5.5rem;
  height: 5.5rem;
  background: url(../img/faq/icon-arrow@2x.png) no-repeat center;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(0, -50%);
  transition: all 0.5s;
}
@media screen and (max-width: 768px) {
  .p-recruit__req--top::after {
    width: 4rem;
    height: 4rem;
    right: unset;
    left: 50%;
    top: unset;
    bottom: 4rem;
    transform: translate(-50%, 0);
  }
}
.p-recruit__req--top.active::after {
  transform: translate(0, -50%) rotate(180deg);
  transform-origin: center;
}
@media screen and (max-width: 768px) {
  .p-recruit__req--top.active::after {
    transform: translate(-50%, 0) rotate(180deg);
  }
}
.p-recruit__req--btm {
  padding: 1rem 0 8rem;
}
@media screen and (max-width: 768px) {
  .p-recruit__req--btm {
    padding: 0 0 4rem;
  }
}
.p-recruit__req--btm table {
  width: 104rem;
  margin: 0 auto 8rem;
  border-collapse: collapse;
}
@media screen and (max-width: 768px) {
  .p-recruit__req--btm table {
    width: 100%;
    margin-bottom: 4rem;
  }
}
.p-recruit__req--btm table th {
  background: #F5F5F5;
  border: 0.1rem solid #C2C2C2;
  font-weight: bold;
  padding: 3rem 2.5rem;
  text-align: start;
  width: 24rem;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .p-recruit__req--btm table th {
    width: 12rem;
    padding: 1rem;
  }
}
.p-recruit__req--btm table td {
  border: 0.1rem solid #C2C2C2;
  padding: 3rem 3rem;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .p-recruit__req--btm table td {
    padding: 1rem;
  }
}
.p-recruit__flow {
  margin-top: 11rem;
  margin-bottom: 12rem;
}
@media screen and (max-width: 768px) {
  .p-recruit__flow {
    margin: 6rem 0;
  }
}
.p-recruit__flow--area {
  background: #F5F5F5;
  padding: 8rem 10.7rem 3rem;
}
@media screen and (max-width: 768px) {
  .p-recruit__flow--area {
    padding: 4rem 2rem;
  }
}
.p-recruit__flow--list {
  display: flex;
  justify-content: space-between;
  margin-bottom: 8rem;
}
@media screen and (max-width: 768px) {
  .p-recruit__flow--list {
    margin-bottom: 4rem;
    flex-direction: column;
  }
}
.p-recruit__flow--list-item {
  border-radius: 0.5rem;
  background: #FF9274;
  padding: 2.5rem 4rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-recruit__flow--list-item {
    padding: 2rem 5rem;
    margin-bottom: 3rem;
  }
}
.p-recruit__flow--list-item:nth-of-type(2) {
  background: #FF724C;
}
.p-recruit__flow--list-item:nth-of-type(3) {
  background: #FF5326;
}
.p-recruit__flow--list-item:nth-of-type(4) {
  background: #E22F00;
}
.p-recruit__flow--list-item span {
  display: block;
  background: #fff;
  color: #E22F00;
  border-radius: 4.5rem;
  padding: 0rem 2.5rem;
  text-align: center;
  margin-bottom: 1rem;
}
.p-recruit__flow--list-item p {
  color: #fff;
  font-size: 2.4rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .p-recruit__flow--list-item p {
    font-size: 1.4rem;
  }
}
.p-recruit__flow--list-item::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 1.5rem solid transparent;
  border-bottom: 1.5rem solid transparent;
  border-left: 2rem solid #FF724C;
  border-right: 0;
  position: absolute;
  top: 50%;
  right: -4.7rem;
  transform: translate(0, -50%);
}
@media screen and (max-width: 768px) {
  .p-recruit__flow--list-item::after {
    bottom: -2rem;
    top: unset;
    right: unset;
    left: 50%;
    transform: translate(-50%, 0) rotate(90deg);
    border-top: 0.7rem solid transparent;
    border-bottom: 0.7rem solid transparent;
    border-left: 1rem solid #FF724C;
  }
}
.p-recruit__flow--list-item:nth-child(2)::after {
  border-left: 2rem solid #FF5326;
}
@media screen and (max-width: 768px) {
  .p-recruit__flow--list-item:nth-child(2)::after {
    border-left: 1rem solid #FF5326;
  }
}
.p-recruit__flow--list-item:nth-child(3)::after {
  border-left: 2rem solid #E22F00;
}
@media screen and (max-width: 768px) {
  .p-recruit__flow--list-item:nth-child(3)::after {
    border-left: 1rem solid #FF5326;
  }
}
.p-recruit__flow--list-item:last-of-type::after {
  display: none;
}
.p-recruit__flow--block {
  margin-bottom: 5rem;
  display: flex;
}
.p-recruit__flow--block :last-of-type {
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .p-recruit__flow--block {
    display: block;
  }
}
.p-recruit__flow--block--left {
  margin-right: 4.5rem;
}
@media screen and (max-width: 768px) {
  .p-recruit__flow--block--left {
    margin-right: 2rem;
    display: flex;
    align-items: center;
    width: 100%;
    margin-right: unset;
  }
}
.p-recruit__flow--block--left p {
  color: #E22F00;
  font-family: "Prompt", sans-serif;
  font-size: 4.8rem;
  letter-spacing: 4.8px;
  line-height: 1;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .p-recruit__flow--block--left p {
    font-size: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .p-recruit__flow--block--left h3 {
    font-size: 2rem;
    margin-left: 1rem;
  }
}
.p-recruit__flow--block--right h3 {
  font-size: 3.2rem;
}
.p-recruit__flow--block--right p {
  margin-top: 2rem;
  line-height: 2.25;
}
@media screen and (max-width: 768px) {
  .p-recruit__flow--block--right p {
    margin-top: 1.5rem;
    font-size: 1.4rem;
  }
}
.p-recruit__msg {
  margin-top: 12rem;
}
@media screen and (max-width: 768px) {
  .p-recruit__msg {
    margin-top: 6rem;
  }
}
.p-recruit__msg--area {
  margin-top: 7rem;
}
@media screen and (max-width: 768px) {
  .p-recruit__msg--area {
    margin-top: 3rem;
  }
}
.p-recruit__msg--block {
  margin-bottom: 8rem;
}
@media screen and (max-width: 768px) {
  .p-recruit__msg--block {
    margin-bottom: 4rem;
  }
}
.p-recruit__msg--block h3 {
  font-size: 3.2rem;
  margin-bottom: 6.5rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-recruit__msg--block h3 {
    font-size: 2rem;
    margin-bottom: 3rem;
  }
}
.p-recruit__msg--block h3::after {
  content: "";
  width: 4rem;
  height: 0.5rem;
  background: #E22F00;
  position: absolute;
  bottom: -1.8rem;
  left: 0;
}
@media screen and (max-width: 768px) {
  .p-recruit__msg--block h3::after {
    bottom: -1.6rem;
  }
}
.p-recruit__msg--block p {
  line-height: 2.25;
}

.js-recruit-tab-content {
  display: none; /* 基本は非表示 */
}

.js-recruit-tab-content.is-active {
  display: block; /* activeの時だけ表示 */
}

@keyframes fadeIn {}
.p-recruit__req--btn.active {
  background: #FF6841; /* アクティブなボタンの色 */
  color: #fff !important;
}

.p-contact {
  margin-bottom: 22rem;
}
@media screen and (max-width: 768px) {
  .p-contact {
    margin-bottom: 11rem;
  }
}
.p-contact__top {
  margin-top: 10rem;
  margin-bottom: 5rem;
}
@media screen and (max-width: 768px) {
  .p-contact__top {
    margin-top: 5rem;
    margin-bottom: 3rem;
  }
}
.p-contact__top ul {
  display: flex;
  justify-content: space-between;
  width: 49rem;
  position: relative;
  left: 50%;
  transform: translate(-50%, 0);
}
@media screen and (max-width: 768px) {
  .p-contact__top ul {
    width: 100%;
  }
}
.p-contact__top ul li {
  width: 10rem;
  text-align: center;
  background: #fff;
  border-radius: 0.5rem;
}
@media screen and (max-width: 768px) {
  .p-contact__top ul li {
    width: 7rem;
  }
}
.p-contact__top ul li p:first-of-type {
  font-size: 3.2rem;
  letter-spacing: 3.2px;
  font-weight: 600;
  background: #F3F3F3;
  border-radius: 50%;
  width: 10.4rem;
  height: 10.4rem;
  line-height: 10.4rem;
  font-family: "Prompt", sans-serif;
  margin-bottom: 1rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-contact__top ul li p:first-of-type {
    font-size: 2rem;
    width: 7rem;
    height: 7rem;
    line-height: 7rem;
  }
}
.p-contact__top ul li p:first-of-type::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 1.6rem solid transparent;
  border-bottom: 1.6rem solid transparent;
  border-left: 2.4rem solid #F3F3F3;
  border-right: 0;
  position: absolute;
  top: 50%;
  right: -5.5rem;
  transform: translate(0, -50%);
}
@media screen and (max-width: 768px) {
  .p-contact__top ul li p:first-of-type::after {
    right: -2.5rem;
    border-top: 1rem solid transparent;
    border-bottom: 1rem solid transparent;
    border-left: 1.5rem solid #F3F3F3;
    right: -3.6rem;
  }
}
.p-contact__top ul li p:last-of-type {
  font-size: 1.8rem;
  font-weight: 500;
  color: #000;
}
@media screen and (max-width: 768px) {
  .p-contact__top ul li p:last-of-type {
    font-size: 1.4rem;
  }
}
.p-contact__top ul li.active p:first-of-type {
  background: #E22F00;
  color: #fff;
}
.p-contact__top ul li.active p:first-of-type::after {
  border-left: 1.5rem solid #E22F00;
}
.p-contact__top ul li:last-of-type p:first-of-type::after {
  display: none;
}
.p-contact__area {
  border-top: 0.1rem solid rgba(26, 19, 17, 0.32);
  padding-top: 6rem;
}
@media screen and (max-width: 768px) {
  .p-contact__area {
    padding-top: 3rem;
  }
}
.p-contact__dl {
  width: 100%;
}
.p-contact__dl--row {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 4rem;
}
@media screen and (max-width: 768px) {
  .p-contact__dl--row {
    flex-direction: column;
    align-items: start;
  }
}
.p-contact__dl--row dd {
  margin: 0;
  font-weight: bold;
  width: 26rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .p-contact__dl--row dd {
    width: unset;
  }
}
.p-contact__dl--row dt {
  display: flex;
  align-items: center;
  width: 64rem;
}
@media screen and (max-width: 768px) {
  .p-contact__dl--row dt {
    width: 100%;
    margin-top: 1rem;
    align-items: start;
  }
}
.p-contact__dl--row .wpcf7-form-control-wrap {
  width: 100%;
}
.p-contact__dl--row input, .p-contact__dl--row textarea, .p-contact__dl--row select {
  width: 100%;
  background: #F3F3F3;
  height: 6.7rem;
  border-radius: 0.5rem;
  border: unset;
  padding: 1.5rem;
}
.p-contact__dl--row input::-moz-placeholder, .p-contact__dl--row textarea::-moz-placeholder, .p-contact__dl--row select::-moz-placeholder {
  color: #C2C2C2;
}
.p-contact__dl--row input::placeholder, .p-contact__dl--row textarea::placeholder, .p-contact__dl--row select::placeholder {
  color: #C2C2C2;
}
.p-contact__dl--row textarea {
  height: 15.7rem;
  width: 64rem;
}
@media screen and (max-width: 768px) {
  .p-contact__dl--row textarea {
    width: 100%;
  }
}
.p-contact__dl--row select option:first-of-type {
  color: #C2C2C2;
}
.p-contact__dl--row--date dt {
  width: 64rem;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .p-contact__dl--row--date dt {
    width: 100%;
    flex-direction: column;
    margin-top: 0rem;
  }
}
.p-contact__dl--row--date .p-contact__date--block {
  position: relative;
  display: flex;
}
@media screen and (max-width: 768px) {
  .p-contact__dl--row--date .p-contact__date--block {
    margin-top: 4rem;
  }
}
.p-contact__dl--row--date .p-contact__date--block--inner:last-of-type {
  margin-left: 2rem;
}
.p-contact__dl--row--date .p-contact__date--block select {
  width: 10rem;
  margin-right: 1rem;
}
.p-contact__dl--row--date .p-contact__date--block--time select {
  width: 14rem;
}
.p-contact__dl--row--date .p-contact__date--block--time .p-contact__date--block--inner:last-of-type {
  margin-left: 1rem;
}
.p-contact__dl--row--date--text {
  position: absolute;
  top: -2.6rem;
  left: 0;
  font-weight: 500;
  color: #C2C2C2;
}
.p-contact__dl--require, .p-contact__dl--any {
  font-size: 1.2rem;
  color: #fff;
  background: #E22F00;
  padding: 0 0.8rem;
}
@media screen and (max-width: 768px) {
  .p-contact__dl--require, .p-contact__dl--any {
    margin-left: 1rem;
  }
}
.p-contact__dl--any {
  background: #A7A2A2;
}
.p-contact__dl:last-child .p-contact__dl--row {
  align-items: start;
}
.p-contact__dl:last-child .p-contact__dl--row dd {
  margin-top: 2rem;
}
.p-contact__privacy {
  text-align: center;
  margin-bottom: 7rem;
}
@media screen and (max-width: 768px) {
  .p-contact__privacy {
    margin-bottom: 3rem;
  }
}
.p-contact__privacy input[type=checkbox] {
  /* デフォルトのチェックを消す */
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 2.5rem;
  height: 2.5rem;
  border: none;
  margin: 0 0.5em 0 0;
  background: url("../img/base/checkbox-off.png") no-repeat center/contain;
  cursor: pointer;
  transition: background 0.1s;
  position: relative;
  top: 0.7rem;
}
.p-contact__privacy input[type=checkbox]:checked {
  background: url("../img/base/checkbox-on.png") no-repeat center/contain;
}
.p-contact__privacy .wpcf7-list-item {
  margin-left: 0;
}
.p-contact__privacy a {
  text-decoration: underline;
  font-weight: bold;
}
.p-contact__submit {
  text-align: center;
  width: 44rem;
  height: 8rem;
  line-height: 8rem;
  margin: 0 auto;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-contact__submit {
    width: 80%;
  }
}
.p-contact__submit:hover {
  cursor: pointer;
}
.p-contact__submit::after {
  content: "";
  width: 1.2rem;
  height: 4rem;
  background: url(../img/base/icon-arrow@2x.png) no-repeat center;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 2rem;
  transform: translate(0, -50%);
}
.p-contact__submit input {
  text-align: center;
  background: #E22F00;
  color: #fff !important;
  width: 44rem;
  height: 8rem;
  line-height: 8rem;
  border-radius: 0.5rem;
  font-size: 1.8rem;
  font-weight: bold;
  padding: 0;
}
@media screen and (max-width: 768px) {
  .p-contact__submit input {
    width: 100%;
    font-size: 1.6rem;
    height: 6rem;
    line-height: 6rem;
  }
}
.p-contact .wpcf7-spinner {
  display: none;
}
.p-contact__confirm dt {
  position: relative;
  padding-left: 1.5rem;
}
.p-contact__confirm dt::after {
  content: "";
  width: 100%;
  height: 0.1rem;
  background: #1A1311;
  position: absolute;
  bottom: -1.5rem;
  left: 0;
  opacity: 0.32;
}
.p-contact__confirm .p-contact__dl--row--date--text,
.p-contact__confirm .p-contact__date--block--inner::after {
  display: none;
}
.p-contact__confirm .p-contact__dl--row--date .p-contact__date--block--inner:last-of-type {
  margin-left: 0;
}
.p-contact__confirm .p-contact__dl--row--date dt {
  justify-content: start;
}
.p-contact__confirm .p-contact__date--block {
  margin-right: 2rem;
}
.p-contact__confirm .p-contact__dl:last-child .p-contact__dl--row dd {
  margin-top: 0;
}
.p-contact__confirm .p-contact__confirm--submit {
  display: flex;
  justify-content: space-between;
  width: 50rem;
  margin: 8rem auto 0;
}
@media screen and (max-width: 768px) {
  .p-contact__confirm .p-contact__confirm--submit {
    width: 100%;
  }
}
.p-contact__confirm .p-contact__confirm--submit .p-contact__confirm--prev,
.p-contact__confirm .p-contact__confirm--submit .p-contact__confirm--next {
  width: 24rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-contact__confirm .p-contact__confirm--submit .p-contact__confirm--prev,
  .p-contact__confirm .p-contact__confirm--submit .p-contact__confirm--next {
    width: 48%;
  }
}
.p-contact__confirm .p-contact__confirm--submit .p-contact__confirm--prev:hover,
.p-contact__confirm .p-contact__confirm--submit .p-contact__confirm--next:hover {
  cursor: pointer;
}
.p-contact__confirm .p-contact__confirm--submit .p-contact__confirm--prev input,
.p-contact__confirm .p-contact__confirm--submit .p-contact__confirm--next input {
  border: unset;
  display: block;
  width: 100%;
  height: 8rem;
  line-height: 8rem;
  text-align: center;
  border-radius: 0.5rem;
  background: #E3E3E3;
  padding: 0;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .p-contact__confirm .p-contact__confirm--submit .p-contact__confirm--prev input,
  .p-contact__confirm .p-contact__confirm--submit .p-contact__confirm--next input {
    height: 6rem;
    line-height: 6rem;
  }
}
.p-contact__confirm .p-contact__confirm--submit .p-contact__confirm--prev::after,
.p-contact__confirm .p-contact__confirm--submit .p-contact__confirm--next::after {
  content: "";
  width: 1.2rem;
  height: 2rem;
  background: url(../img/base/icon-arrow-black@2x.png) no-repeat center;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 2rem;
  transform: translate(0, -50%);
}
.p-contact__confirm .p-contact__confirm--submit .p-contact__confirm--next input {
  color: #fff;
  background: #E22F00;
}
.p-contact__confirm .p-contact__confirm--submit .p-contact__confirm--next::after {
  background: url(../img/base/icon-arrow@2x.png) no-repeat center;
  background-size: contain;
}
.p-contact__thanks {
  text-align: center;
}
.p-contact__thanks img {
  width: 12rem;
  margin-bottom: 8rem;
}
@media screen and (max-width: 768px) {
  .p-contact__thanks img {
    width: 6rem;
    margin-bottom: 4rem;
  }
}
.p-contact__thanks h3 {
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 2.4px;
  margin-bottom: 3.5rem;
}
@media screen and (max-width: 768px) {
  .p-contact__thanks h3 {
    font-size: 1.8rem;
    margin-bottom: 2rem;
  }
}
.p-contact__thanks p {
  font-size: 1.8rem;
  line-height: 2;
  letter-spacing: 1.8px;
  margin-bottom: 12rem;
}
@media screen and (max-width: 768px) {
  .p-contact__thanks p {
    font-size: 1.4rem;
    margin-bottom: 6rem;
  }
}

/* 日付のセレクトボックスの外枠 */
dt.select-wrap,
.p-contact__date--block--inner {
  position: relative;
}

/* 擬似要素で矢印を作成している場合 */
dt.select-wrap::after,
.p-contact__date--block--inner::after {
  content: "";
  position: absolute;
  right: 4rem;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 0.8rem solid transparent;
  border-left: 0.8rem solid transparent;
  border-top: 1rem solid #E22F00;
  border-bottom: 0;
}
dt.select-wrap.is-disabled::after,
.p-contact__date--block--inner.is-disabled::after {
  border-top: 1rem solid #A7A2A2;
}

dt.select-wrap::after {
  right: 2rem;
}

/* 【重要】月を選択した後の日の矢印をオレンジにする */
#js-day-container.is-active::after {
  border-top: 1rem solid #C2C2C2;
}

.p-contact__date--block--time .p-contact__date--block--inner:last-of-type:after {
  right: 2.5rem;
}

/* ブラウザ標準の矢印を消す（これをしないと矢印が重なります） */
dt.select-wrap select,
.p-contact__date--block--inner select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
}

.p-front__mv {
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-front__mv {
    margin-top: 8rem;
  }
}
.p-front__mv--img {
  width: 100%;
}
.p-front__mv--img img {
  width: 100%;
}
.p-front__mv--title {
  position: absolute;
  top: 54%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 77rem;
}
@media screen and (max-width: 768px) {
  .p-front__mv--title {
    top: 42%;
    width: 35rem;
  }
}
.p-front__top {
  padding: 20rem 0 10rem;
  background-size: contain;
  width: 124rem;
  margin: 0 auto;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-front__top {
    padding: 10rem 0 5rem;
    width: 90%;
  }
}
.p-front__top--bg--1 {
  width: 70rem;
  height: 44rem;
  position: absolute;
  top: 13rem;
  left: 0.5rem;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .p-front__top--bg--1 {
    width: 80%;
    height: unset;
    top: 6rem;
    left: 0;
  }
}
.p-front__top--bg--2 {
  width: 60rem;
  height: 39rem;
  position: absolute;
  bottom: 4rem;
  right: 8rem;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .p-front__top--bg--2 {
    width: 80%;
    height: unset;
    right: 0;
    bottom: 2rem;
  }
}
.p-front__top--content {
  max-width: 63rem;
  width: 100%;
  margin: 0 auto;
}
.p-front__top--content p {
  font-size: 2.4rem;
  line-height: 2;
  font-family: "Shippori Antique", sans-serif;
  margin-bottom: 4.8rem;
}
@media screen and (max-width: 768px) {
  .p-front__top--content p {
    font-size: 1.8rem;
  }
}
.p-front__top--content span {
  background: #1A1311;
  color: #fff;
  padding: 0 1.2rem;
  border-radius: 0.5rem;
  margin: 0 1.2rem;
}
.p-front__about {
  margin: 5rem 0;
}
.p-front__about--inner {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .p-front__about--inner {
    flex-direction: column;
  }
}
.p-front__about--right {
  width: 70.5rem;
}
@media screen and (max-width: 768px) {
  .p-front__about--right {
    width: 100%;
  }
}
.p-front__about--right p {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 200%;
  margin-bottom: 3.8rem;
}
@media screen and (max-width: 768px) {
  .p-front__about--right p {
    font-size: 1.4rem;
    margin-bottom: 2rem;
  }
}
.p-front__about--slider {
  margin: 2rem 0 12rem;
}
@media screen and (max-width: 768px) {
  .p-front__about--slider {
    margin: 2rem 0 6rem;
  }
}
.p-front__work--area {
  position: relative;
}
.p-front__work--item {
  position: sticky;
  top: 0;
  height: calc(100vh + 30rem);
  background: linear-gradient(108deg, #F80 0%, #E22F00 100%);
}
@media screen and (max-width: 768px) {
  .p-front__work--item {
    height: auto;
    position: unset;
  }
}
.p-front__work--item:nth-of-type(2) {
  background: linear-gradient(108deg, #FAC022 0%, #CF8000 100%);
}
.p-front__work--item:nth-of-type(3) {
  background: linear-gradient(108deg, #5B5D61 0%, #231B19 100%);
}
@media screen and (max-width: 768px) {
  .p-front__work--item:last-child {
    height: auto;
  }
}
.p-front__work--block {
  position: sticky;
  top: 0;
  height: 100vh;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 6rem 8rem;
  padding-right: 0;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .p-front__work--block {
    position: unset;
    height: auto;
    padding: 6rem 2rem;
    flex-direction: column;
  }
}
.p-front__work--inner {
  display: flex;
  justify-content: space-between;
  width: 128.5rem;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .p-front__work--inner {
    width: 100%;
    flex-direction: column;
  }
}
.p-front__work--left {
  width: 52.5rem;
}
@media screen and (max-width: 768px) {
  .p-front__work--left {
    width: 100%;
  }
}
.p-front__work--right {
  width: 57rem;
}
.p-front__work--right img {
  width: 100%;
  height: auto;
  display: block;
}
@media screen and (max-width: 768px) {
  .p-front__work--right {
    width: 100%;
    margin-top: 3rem;
  }
}
.p-front__work--content {
  margin-top: 9rem;
}
@media screen and (max-width: 768px) {
  .p-front__work--content {
    margin-top: 0rem;
  }
}
.p-front__work--content h3 {
  color: #fff;
  font-size: 2.8rem;
  margin-bottom: 2rem;
}
@media screen and (max-width: 768px) {
  .p-front__work--content h3 {
    font-size: 2.2rem;
    margin-bottom: 1rem;
  }
}
.p-front__work--content p {
  color: #fff;
  line-height: 2.25;
  margin-bottom: 3rem;
}
.p-front__work--btn {
  margin-top: 3rem;
  text-align: end;
}
.p-front__interview {
  margin-top: 11.5rem;
  margin-bottom: 6rem;
}
@media screen and (max-width: 768px) {
  .p-front__interview {
    margin-top: 6rem;
    margin-bottom: 3rem;
  }
}
.p-front__interview .c-front-title {
  position: relative;
  left: 50%;
  transform: translate(-50%, 0);
}
@media screen and (max-width: 768px) {
  .p-front__interview .c-front-title {
    text-align: start;
    left: unset;
    transform: unset;
  }
}
.p-front__interview .c-front-title h2::after {
  top: 72%;
}
@media screen and (max-width: 768px) {
  .p-front__interview .c-front-title h2::after {
    top: 50%;
  }
}
.p-front__interview--cards {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 100rem;
  margin: 5rem auto;
}
@media screen and (max-width: 768px) {
  .p-front__interview--cards {
    width: 100%;
    margin: 3rem auto !important;
  }
}
.p-front__interview--card {
  width: 44rem;
  margin-bottom: 3rem;
}
@media screen and (max-width: 768px) {
  .p-front__interview--card {
    width: 100%;
  }
}
.p-front__interview--card:nth-of-type(2n) {
  margin-top: 8rem;
}
@media screen and (max-width: 768px) {
  .p-front__interview--card:nth-of-type(2n) {
    margin-top: 0;
  }
}
.p-front__interview--card:nth-of-type(n+3) {
  position: relative;
  left: 4rem;
}
@media screen and (max-width: 768px) {
  .p-front__interview--card:nth-of-type(n+3) {
    left: unset;
  }
}
.p-front__interview--card--img {
  position: relative;
}
.p-front__interview--card--person--wrap {
  width: 40rem;
  display: block;
  margin-left: auto;
  margin-bottom: 1rem;
  border-radius: 0.5rem;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .p-front__interview--card--person--wrap {
    width: 90%;
  }
}
.p-front__interview--card--person--wrap img {
  -o-object-fit: contain;
     object-fit: contain;
  transition: all 0.5s;
}
.p-front__interview--card--font {
  position: absolute;
  bottom: 4rem;
  left: 0;
  height: 13.5rem;
}
@media screen and (max-width: 768px) {
  .p-front__interview--card--font {
    height: 11rem;
    -o-object-fit: contain;
       object-fit: contain;
  }
}
.p-front__interview--card--content {
  padding-left: 4rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-front__interview--card--content {
    padding-left: 1rem;
  }
}
.p-front__interview--card--content::after {
  content: "";
  width: 4rem;
  height: 4rem;
  background: url(../img/front/icon-plus@2x.png) no-repeat center;
  background-size: contain;
  position: absolute;
  top: 0.5rem;
  right: 0;
  transition: all 0.5s;
}
.p-front__interview--card--content h3 {
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 1.2px;
  margin-bottom: 0rem;
}
@media screen and (max-width: 768px) {
  .p-front__interview--card--content h3 {
    font-size: 2rem;
  }
}
.p-front__interview--card--content h4 {
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.9px;
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .p-front__interview--card--content h4 {
    font-size: 1.4rem;
  }
}
.p-front__interview--card--content p {
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.7px;
}
@media screen and (max-width: 768px) {
  .p-front__interview--card--content p {
    font-size: 1.2rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-front__interview--card a:hover .p-front__interview--card--content::after {
    background: url(../img/front/icon-plus-hover@2x.png) no-repeat center;
    background-size: contain;
  }
  .p-front__interview--card a:hover .p-front__interview--card--person--wrap img {
    transform: scale(1.1);
  }
}
.p-front__env {
  background: linear-gradient(270deg, #F0F0F0 0%, #E9E9E9 100%);
  padding: 9rem 0 8rem;
}
@media screen and (max-width: 768px) {
  .p-front__env {
    padding: 4rem 0;
  }
}
.p-front__env .c-front-title {
  position: relative;
  left: 50%;
  transform: translate(-50%, 0);
}
@media screen and (max-width: 768px) {
  .p-front__env .c-front-title {
    text-align: start;
    left: unset;
    transform: unset;
  }
}
.p-front__env--list {
  display: flex;
  justify-content: space-between;
  margin-top: 5rem;
}
@media screen and (max-width: 768px) {
  .p-front__env--list {
    flex-direction: column;
  }
}
.p-front__env--list-item {
  width: 32rem;
}
@media screen and (max-width: 768px) {
  .p-front__env--list-item {
    width: 100%;
    margin-bottom: 3rem;
  }
}
.p-front__env--list-item a {
  display: block;
}
.p-front__env--list-item p {
  margin: 1.5rem 0;
  font-size: 1.8rem;
  font-weight: 700;
  position: relative;
}
.p-front__env--list-item p::after {
  content: "";
  display: block;
  height: 0.1rem;
  width: 100%;
  background: rgba(26, 19, 17, 0.25);
  position: absolute;
  bottom: -1rem;
  left: 0;
}
.p-front__env--list-item p::before {
  content: "";
  display: block;
  width: 2.8rem;
  height: 2.8rem;
  border-radius: 50%;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(0, -50%);
  background: url(../img/front/icon-arrow@2x.png) no-repeat center;
  background-size: contain;
  transition: all 0.5s;
}
.p-front__env--list-item--img {
  overflow: hidden;
  border-radius: 0.5rem;
}
.p-front__env--list-item--img img {
  transition: all 0.5s;
}
@media (hover: hover) and (pointer: fine) {
  .p-front__env--list-item:hover p::before {
    background: url(../img/front/icon-arrow-hover@2x.png) no-repeat center;
    background-size: contain;
  }
  .p-front__env--list-item:hover .p-front__env--list-item--img img {
    transform: scale(1.1);
  }
}
.p-front__recruit {
  padding: 12rem 0;
  padding-left: 8rem;
}
@media screen and (max-width: 768px) {
  .p-front__recruit {
    padding: 6rem 0;
  }
}
.p-front__recruit--inner {
  display: flex;
  justify-content: space-between;
  width: 128.5rem;
}
@media screen and (max-width: 768px) {
  .p-front__recruit--inner {
    flex-direction: column;
    width: 90%;
    margin: 0 auto;
  }
}
@media screen and (min-width: 1367px) {
  .p-front__recruit--inner {
    margin: 0 auto;
  }
}
.p-front__recruit--left {
  padding-top: 4rem;
}
.p-front__recruit--btns {
  padding-top: 5rem;
}
.p-front__recruit--btn {
  margin-bottom: 3rem;
  width: 45rem;
}
@media screen and (max-width: 768px) {
  .p-front__recruit--btn {
    width: 100%;
    margin: 0 auto 2rem;
  }
}
.p-front__recruit--btn:last-of-type {
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .p-front__recruit--right {
    margin-top: 2rem;
  }
}
.p-front__recruit--right img {
  width: 75.6rem;
}
@media screen and (max-width: 768px) {
  .p-front__recruit--right img {
    width: 100%;
  }
}

.p-interview__wrap {
  display: flex;
  justify-content: space-between;
  margin: 12rem auto 10rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-interview__wrap {
    margin: 6rem auto;
  }
}
.p-interview__main {
  width: 76rem;
  margin-left: auto;
}
@media screen and (max-width: 768px) {
  .p-interview__main {
    width: 100%;
  }
}
.p-interview__side {
  width: 36rem;
  margin-top: -1rem;
  padding-left: 2rem;
  position: absolute;
}
@media screen and (max-width: 768px) {
  .p-interview__side {
    display: none;
  }
}
.p-interview__side h2 {
  font-size: 2.4rem;
  font-weight: 600;
  font-family: "Prompt", sans-serif;
  margin-bottom: 3rem;
  letter-spacing: 2.4px;
}
.p-interview__side li {
  margin-bottom: 2.6rem;
  line-height: 1.5;
  letter-spacing: 1.4px;
  opacity: 0.3;
  position: relative;
}
.p-interview__side li::before {
  content: "";
  width: 0.8rem;
  height: 0.8rem;
  background: #1A1311;
  position: absolute;
  left: -2rem;
  top: 0.6em;
  vertical-align: baseline;
  border-radius: 50%;
}
.p-interview__side li a {
  font-size: 1.4rem;
  font-weight: 700;
}
.p-interview__side li.active {
  opacity: 1;
}
.p-interview__side li.active::before {
  background: #E22F00;
}
.p-interview__side li:last-of-type {
  margin-bottom: 0;
}
.p-interview__block {
  margin-bottom: 8.5rem;
}
.p-interview__block:last-of-type {
  margin-bottom: 0;
}
.p-interview__block:last-of-type .p-interview__block--content, .p-interview__block:last-of-type p {
  margin-bottom: 0;
}
.p-interview__block--title {
  margin-bottom: 3rem;
  display: flex;
  align-items: baseline;
}
.p-interview__block--title span {
  color: #fff;
  background: #E22F00;
  border-radius: 50%;
  font-size: 2.4rem;
  font-weight: bold;
  font-family: "Montserrat", sans-serif;
  width: 4rem;
  height: 4rem;
  line-height: 3.8rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-interview__block--title span {
    font-size: 1.8rem;
    width: 3rem;
    height: 3rem;
    line-height: 2.8rem;
  }
}
.p-interview__block--title h2 {
  width: calc(100% - 6rem);
  margin-left: auto;
  margin-bottom: 0;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .p-interview__block--title h2 {
    font-size: 1.6rem;
    width: calc(100% - 4rem);
  }
}
.p-interview__block--content {
  margin-bottom: 6rem;
}
.p-interview__block--content p {
  font-weight: 500;
  line-height: 2;
  margin-bottom: 3rem;
}
@media screen and (max-width: 768px) {
  .p-interview__block--content p {
    line-height: 1.75;
  }
}
.p-interview__block--img {
  margin-bottom: 3rem;
}
.p-interview__block--img img {
  width: 100%;
}
.p-interview__btm {
  width: 100rem;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .p-interview__btm {
    width: 100%;
  }
}
.p-interview__btm h2 {
  font-size: 3.2rem;
  letter-spacing: 1.6px;
  text-align: center;
}
.p-interview__btm li {
  margin-top: 0 !important;
}

.p-people {
  margin-top: 8rem;
}
@media screen and (max-width: 768px) {
  .p-people {
    margin-top: 4rem;
  }
}
.p-people__area {
  width: 100rem;
  margin: 12rem auto;
}
@media screen and (max-width: 768px) {
  .p-people__area {
    width: 90%;
    margin: 6rem auto;
  }
}
@media screen and (max-width: 768px) {
  .p-people .c-page-title {
    text-align: start;
    left: unset;
    transform: unset;
    width: 90%;
    margin: 0 auto;
  }
}

.p-about__wrap {
  display: flex;
  justify-content: space-between;
  margin: 7rem auto 0;
  position: relative;
  width: 136.6rem;
}
@media screen and (max-width: 768px) {
  .p-about__wrap {
    width: 100%;
  }
}
.p-about__main {
  position: relative;
  width: 108.6rem;
}
@media screen and (max-width: 768px) {
  .p-about__main {
    width: 100%;
  }
}
.p-about__main::after {
  content: "";
  width: 0.1rem;
  height: 100%;
  opacity: 0.32;
  background: #000;
  position: absolute;
  top: 0;
  right: -0.5rem;
}
@media screen and (max-width: 768px) {
  .p-about__main::after {
    display: none;
  }
}
.p-about__main--inner {
  margin-left: 8.3rem;
  width: 92.3rem;
}
@media screen and (max-width: 768px) {
  .p-about__main--inner {
    width: 90%;
    margin: 0 auto;
  }
}
.p-about__side {
  width: calc(100% - 108.6rem);
  padding: 0.5rem;
  padding-left: 6rem;
  position: absolute;
  right: 0;
}
@media screen and (max-width: 768px) {
  .p-about__side {
    display: none;
  }
}
.p-about__side--list-item {
  position: relative;
}
.p-about__side--list-item::before {
  content: "";
  display: block;
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 50%;
  background: #CDCDCD;
  position: absolute;
  top: 50%;
  left: -2rem;
  transform: translate(0, -50%);
}
.p-about__side--list-item:not(:first-of-type) {
  margin-bottom: 1.5rem;
}
.p-about__side--list-item.active a {
  color: #E22F00 !important;
}
.p-about__side--list-item.active::before {
  background: #E22F00;
}
.p-about__side--sub_list {
  padding: 1rem;
}
.p-about__side--sub_list li {
  font-family: "Shippori Antique", sans-serif;
  font-size: 1.4rem;
  margin-bottom: 0.2rem;
}
.p-about__side--sub_list li.active a {
  color: #E22F00 !important;
}
.p-about__side.active {
  opacity: 1;
}
.p-about__side.active::before {
  content: "";
  display: block;
  background: url(../img/company/icon-fukidashi.png) no-repeat center;
  background-size: contain;
  width: 1.2rem;
  height: 1.2rem;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
}
.p-about__phi {
  width: 92rem;
}
@media screen and (max-width: 768px) {
  .p-about__phi {
    width: 100%;
  }
}
.p-about__phi--block--area {
  margin-top: 7rem;
}
@media screen and (max-width: 768px) {
  .p-about__phi--block--area {
    margin-top: 3rem;
  }
}
.p-about__phi--block {
  margin-bottom: 11rem;
}
@media screen and (max-width: 768px) {
  .p-about__phi--block {
    margin-bottom: 5rem;
  }
}
.p-about__phi--block:nth-of-type(2) .p-about__phi--block--title {
  margin-bottom: 3rem;
}
@media screen and (max-width: 768px) {
  .p-about__phi--block:nth-of-type(2) .p-about__phi--block--title {
    margin-bottom: 1rem;
  }
}
.p-about__phi--block:nth-of-type(2) .p-about__phi--block--content p {
  line-height: 2;
}
.p-about__phi--block:nth-of-type(3) img {
  width: 79rem;
  display: block;
  margin: 9rem auto;
}
@media screen and (max-width: 768px) {
  .p-about__phi--block:nth-of-type(3) img {
    margin: 1rem auto;
  }
}
.p-about__phi--block--title {
  margin-bottom: 4rem;
}
@media screen and (max-width: 768px) {
  .p-about__phi--block--title {
    margin-bottom: 2rem;
  }
}
.p-about__phi--block--title p {
  color: #E22F00;
  font-family: "Prompt", sans-serif;
  font-weight: 600;
  font-size: 2.4rem;
  letter-spacing: 2.4px;
  margin-bottom: 1rem;
}
@media screen and (max-width: 768px) {
  .p-about__phi--block--title p {
    font-size: 1.8rem;
    margin-bottom: 0;
  }
}
.p-about__phi--block--title h3 {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .p-about__phi--block--title h3 {
    font-size: 2rem;
    line-height: 1.5;
  }
}
.p-about__phi--block--content {
  font-weight: 500;
}
.p-about__phi--block--content p {
  line-height: 2.25;
}
.p-about__phi--block--content img {
  margin-top: 1.5rem;
}
.p-about__phi--block--btm {
  margin-top: 3rem;
  padding: 2.5rem 4.5rem;
  background: #FFF0E8;
  font-weight: 500;
  line-height: 2;
  border-radius: 0.5rem;
  border: 0.2rem solid #E22F00;
  background: #FFF0E8;
}
@media screen and (max-width: 768px) {
  .p-about__phi--block--btm {
    padding: 1.5rem;
  }
}
.p-about__msg {
  background: linear-gradient(108deg, #F80 0%, #E22F00 100%);
  padding: 7rem 0 6rem;
  color: #fff;
  position: relative;
  border-radius: 0.5rem;
}
@media screen and (max-width: 768px) {
  .p-about__msg {
    padding: 5rem 0;
  }
}
.p-about__msg::after {
  content: "";
  width: 0.3rem;
  height: calc(100% + 16rem);
  position: absolute;
  top: -8rem;
  right: -0.6rem;
  background: #fff;
  z-index: 5;
}
@media screen and (max-width: 768px) {
  .p-about__msg::after {
    display: none;
  }
}
.p-about__msg p {
  color: #fff;
}
.p-about__msg--block--area {
  margin-top: 8rem;
}
@media screen and (max-width: 768px) {
  .p-about__msg--block--area {
    margin-top: 4rem;
  }
}
.p-about__msg--block {
  margin-bottom: 9rem;
}
@media screen and (max-width: 768px) {
  .p-about__msg--block {
    margin-bottom: 5rem;
  }
  .p-about__msg--block:last-of-type {
    margin-bottom: 0;
  }
}
.p-about__msg--block--title {
  margin-bottom: 3rem;
}
@media screen and (max-width: 768px) {
  .p-about__msg--block--title {
    margin-bottom: 1.5rem;
  }
}
.p-about__msg--block--title p {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.33;
  margin-bottom: 3rem;
}
@media screen and (max-width: 768px) {
  .p-about__msg--block--title p {
    margin-bottom: 1rem;
    font-size: 1.8rem;
  }
}
.p-about__msg--block--title h3 {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .p-about__msg--block--title h3 {
    font-size: 2rem;
  }
}
.p-about__msg--block--inner {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .p-about__msg--block--inner {
    flex-direction: column;
  }
}
.p-about__msg--block--inner--rev {
  flex-direction: row-reverse;
  margin-top: 5rem;
}
@media screen and (max-width: 768px) {
  .p-about__msg--block--inner--rev {
    flex-direction: column;
    margin-top: 0;
  }
}
.p-about__msg--block--left {
  width: 30.5rem;
}
@media screen and (max-width: 768px) {
  .p-about__msg--block--left {
    width: 100%;
  }
}
.p-about__msg--block--left img {
  width: 100%;
}
.p-about__msg--block--right {
  padding-top: 4rem;
  width: 56rem;
}
@media screen and (max-width: 768px) {
  .p-about__msg--block--right {
    width: 100%;
    padding-top: 2rem;
  }
}
.p-about__msg--block--right p {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 2;
  margin-bottom: 3.5rem;
}
@media screen and (max-width: 768px) {
  .p-about__msg--block--right p {
    font-size: 1.4rem;
    margin-bottom: 1rem;
  }
}
.p-about__msg--block--right p:last-of-type {
  margin-bottom: 0;
}
.p-about__us {
  padding: 12.5rem 0 7rem;
}
@media screen and (max-width: 768px) {
  .p-about__us {
    padding: 6rem 0;
  }
}
.p-about__us--table th, .p-about__us--table td {
  padding: 3rem 1.5rem;
  letter-spacing: 1.6px;
  text-align: start;
  vertical-align: top;
}
@media screen and (max-width: 768px) {
  .p-about__us--table th, .p-about__us--table td {
    padding: 1rem 0;
  }
}
.p-about__us--table th {
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-about__us--table th {
    width: 10rem;
  }
}
.p-about__us--table th::before {
  content: "";
  display: block;
  width: 90%;
  height: 0.1rem;
  background: #E22F00;
  position: absolute;
  top: 0;
  left: 0;
}
.p-about__us--table td {
  padding-left: 3rem;
  border-color: #1A1311;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-about__us--table td {
    padding-left: 1rem;
  }
}
.p-about__us--table td::before {
  content: "";
  display: block;
  width: 95%;
  height: 0.1rem;
  background: #1A1311;
  position: absolute;
  top: 0;
  left: 1rem;
}
.p-about__us--table td p {
  margin-bottom: 2rem;
}
.p-about__us--table td p:last-of-type {
  margin-bottom: 0;
}
.p-about__us--table tr:last-of-type th, .p-about__us--table tr:last-of-type td {
  border-bottom: unset;
}
.p-about__acs {
  margin-bottom: 13rem;
}
.p-about__acs--block--area {
  margin-top: -1rem;
}
.p-about__acs--block {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2rem;
}
@media screen and (max-width: 768px) {
  .p-about__acs--block {
    flex-direction: column;
    margin-bottom: 4rem;
  }
}
.p-about__acs--block--left {
  width: 52rem;
  height: 24rem;
}
@media screen and (max-width: 768px) {
  .p-about__acs--block--left {
    width: 100%;
    margin-bottom: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .p-about__acs--block--right {
    width: 100%;
  }
}
.p-about__acs--block--right h3 {
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 1.8px;
  margin-bottom: 0.5rem;
  line-height: 1;
}
.p-about__acs--block--right p {
  font-weight: 500;
  margin-bottom: 0;
}
.p-about__acs--block--content {
  margin-bottom: 3rem;
}
@media screen and (max-width: 768px) {
  .p-about__acs--block--content {
    margin-bottom: 1rem;
  }
}
.p-about__his--area {
  margin-top: 7rem;
  margin-bottom: 0;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-about__his--area {
    margin-top: 3rem;
  }
}
.p-about__his--area dt {
  font-size: 3.6rem;
  font-family: "Prompt", sans-serif;
  font-weight: 600;
  position: relative;
  padding-right: 6.5rem;
  position: relative;
  width: 15rem;
}
@media screen and (max-width: 768px) {
  .p-about__his--area dt {
    width: 100%;
    padding: 1rem;
    font-size: 2.8rem;
  }
}
.p-about__his--area dt::after {
  content: "";
  display: block;
  width: 2.3rem;
  height: 2.3rem;
  border-radius: 50%;
  background: #E22F00;
  position: absolute;
  top: 0%;
  right: 0;
  transform: translate(0, 0);
}
@media screen and (max-width: 768px) {
  .p-about__his--area dt::after {
    left: 0;
    right: unset;
    top: 50%;
    transform: translate(0, -50%);
  }
}
.p-about__his--area dt span {
  width: 8rem;
  display: inline-block;
}
@media screen and (max-width: 768px) {
  .p-about__his--area dt span {
    padding-left: 2rem;
  }
}
.p-about__his--area dt::before {
  content: "";
  width: 0.1rem;
  height: 100%;
  background: #B29FC3;
  position: absolute;
  top: 0;
  right: 1.1rem;
}
@media screen and (max-width: 768px) {
  .p-about__his--area dt::before {
    display: none;
  }
}
.p-about__his--area dd {
  border-top: 0.1rem solid #1A1311;
  padding: 4.5rem 3.5rem;
  position: relative;
  width: 100%;
  margin-top: 1rem;
  margin-bottom: 0;
  margin-left: 7rem;
}
@media screen and (max-width: 768px) {
  .p-about__his--area dd {
    margin: 0;
    padding: 1rem 0;
  }
}
.p-about__his--area dd::before {
  content: "";
  display: block;
  width: 0.1rem;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
.p-about__his--area dd li {
  font-size: 2rem;
  font-weight: 700;
  margin-top: 3rem;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .p-about__his--area dd li {
    flex-direction: column;
    align-items: start;
    padding-left: 1rem;
    font-size: 1.6rem;
    margin-top: 0;
  }
}
.p-about__his--area dd li:first-of-type {
  margin-top: 0;
}
.p-about__his--area dd li p {
  margin-left: 7rem;
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .p-about__his--area dd li p {
    margin-left: 0;
  }
}
.p-about__his--row {
  display: flex;
}
@media screen and (max-width: 768px) {
  .p-about__his--row {
    margin-bottom: 2rem;
    flex-direction: column;
  }
}
.p-about__his--row:last-of-type dt::before {
  display: none;
}

.p-work__anchor {
  display: block;
  height: 0;
  visibility: hidden;
}
.p-work .c-page-title {
  padding: 12rem 0 4rem;
}
@media screen and (max-width: 768px) {
  .p-work .c-page-title {
    padding: 6rem 0 2rem;
  }
}
.p-work__block--area {
  position: relative;
}
.p-work__item {
  position: sticky;
  top: 0;
  height: calc(100vh + 30rem);
  background: linear-gradient(108deg, #F80 0%, #E22F00 100%);
}
@media screen and (max-width: 768px) {
  .p-work__item {
    height: auto;
    position: unset;
  }
}
.p-work__item:nth-of-type(2) {
  background: linear-gradient(108deg, #FAC022 0%, #CF8000 100%);
}
.p-work__item:nth-of-type(3) {
  background: linear-gradient(108deg, #5B5D61 0%, #231B19 100%);
}
.p-work__block {
  position: sticky;
  top: 0;
  height: 100vh;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 6rem 8rem;
  padding-right: 0;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .p-work__block {
    padding: 6rem 2rem;
    flex-direction: column;
    height: auto;
    position: unset;
  }
}
.p-work__block {
  z-index: 1;
}
.p-work__block--inner {
  display: flex;
  justify-content: space-between;
  width: 128.5rem;
}
@media screen and (min-width: 1367px) {
  .p-work__block--inner {
    margin: 0 auto;
  }
}
@media screen and (max-width: 768px) {
  .p-work__block--inner {
    flex-direction: column;
    width: 100%;
  }
}
.p-work__block--title p {
  color: #fff;
  font-family: "Montserrat", sans-serif;
  font-size: 2.4rem;
  letter-spacing: 2.4px;
  font-weight: bold;
  line-height: 1;
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .p-work__block--title p {
    font-size: 1.6rem;
  }
}
.p-work__block--title h3 {
  color: #FE8400;
  font-size: 4.8rem;
  letter-spacing: 4.8px;
}
@media screen and (max-width: 768px) {
  .p-work__block--title h3 {
    font-size: 3rem;
  }
}
.p-work__block--title h3 span {
  background: #fff;
  display: inline-block;
  padding: 0.5rem 1.5rem;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .p-work__block--title h3 span {
    padding: 0.5rem 1rem;
  }
}
.p-work__block--content {
  border-radius: 0.5rem;
}
.p-work__block--content p {
  color: #fff;
  line-height: 2.25;
  margin-bottom: 0;
}
.p-work__block--left {
  width: 57.3rem;
}
@media screen and (max-width: 768px) {
  .p-work__block--left {
    width: 100%;
  }
}
.p-work__block--right {
  width: 61rem;
}
@media screen and (max-width: 768px) {
  .p-work__block--right {
    width: 100%;
    margin-top: 3rem;
  }
}
.p-work__block--right img {
  width: 100%;
}
.p-work__item:nth-of-type(2) .p-work__block {
  z-index: 2;
}
.p-work__item:nth-of-type(2) .p-work__block h3 {
  color: #F9BF21;
}
.p-work__item:nth-of-type(3) .p-work__block {
  z-index: 3;
}
.p-work__item:nth-of-type(3) .p-work__block h3 {
  color: #595A5E;
}

.p-env__wrap {
  display: flex;
  justify-content: space-between;
  margin: 12rem auto 0;
  position: relative;
  width: 136.6rem;
}
@media screen and (max-width: 768px) {
  .p-env__wrap {
    margin-top: 6rem;
    width: 100%;
  }
}
.p-env__main {
  width: 108.6rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-env__main {
    width: 100%;
  }
}
.p-env__main::after {
  content: "";
  width: 0.1rem;
  height: 100%;
  opacity: 0.32;
  background: #000;
  position: absolute;
  top: 0;
  right: -0.5rem;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .p-env__main::after {
    display: none;
  }
}
.p-env__main--inner {
  margin-left: 8.3rem;
  width: 92.3rem;
}
@media screen and (max-width: 768px) {
  .p-env__main--inner {
    width: 90%;
    margin: 0 auto;
  }
}
.p-env__side {
  width: calc(100% - 108.6rem);
  padding: 0.5rem 6rem;
  position: absolute;
  right: 0;
}
@media screen and (max-width: 768px) {
  .p-env__side {
    display: none;
  }
}
.p-env__side--list-item {
  position: relative;
}
.p-env__side--list-item::before {
  content: "";
  display: block;
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 50%;
  background: #CDCDCD;
  position: absolute;
  top: 50%;
  left: -2rem;
  transform: translate(0, -50%);
  transition: all 0.5s;
}
.p-env__side--list-item:not(:first-of-type) {
  margin-bottom: 1.5rem;
}
.p-env__side--list-item a {
  transition: all 0.5s;
}
.p-env__side--list-item:hover a {
  color: #E22F00 !important;
}
.p-env__side--list-item:hover::before {
  background: #E22F00;
}
.p-env__side--list-item.active a {
  color: #E22F00 !important;
}
.p-env__side--list-item.active::before {
  background: #E22F00;
}
.p-env__welfare {
  margin-bottom: 10rem;
}
@media screen and (max-width: 768px) {
  .p-env__welfare {
    margin-bottom: 5rem;
  }
}
.p-env__welfare--list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 3rem;
  position: relative;
}
.p-env__welfare--list::after {
  content: "";
  display: block;
  width: 30rem;
}
@media screen and (max-width: 768px) {
  .p-env__welfare--list::after {
    width: 15rem;
  }
}
.p-env__welfare--list-item {
  border-radius: 1rem;
  background: #EFEFEF;
  width: 30rem;
  height: 30rem;
  padding-top: 4rem;
  margin-bottom: 1.2rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-env__welfare--list-item {
    padding-top: 2rem;
    width: 16.5rem;
    height: 16.5rem;
    margin-bottom: 1rem;
  }
}
.p-env__welfare--list-item img {
  margin-bottom: 3rem;
  width: 11.5rem;
}
@media screen and (max-width: 768px) {
  .p-env__welfare--list-item img {
    margin-bottom: 1rem;
    width: 6rem;
  }
}
.p-env__welfare--list-item h3 {
  margin-bottom: 1.5rem;
}
@media screen and (max-width: 768px) {
  .p-env__welfare--list-item h3 {
    margin-bottom: 0.5rem;
    font-size: 1.6rem;
  }
}
.p-env__welfare--list-item p {
  font-size: 1.4rem;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .p-env__welfare--list-item p {
    font-size: 1.1rem;
  }
}
.p-env__welfare--btm h3 {
  font-size: 2.4rem;
  letter-spacing: 2.4px;
  margin-bottom: 1.5rem;
}
@media screen and (max-width: 768px) {
  .p-env__welfare--btm h3 {
    font-size: 1.8rem;
  }
}
.p-env__welfare--btm ul {
  display: flex;
  flex-wrap: wrap;
}
.p-env__welfare--btm li {
  background: #EFEFEF;
  padding: 0.8rem 4rem;
  margin-right: 1.5rem;
  margin-bottom: 1.5rem;
  position: relative;
  border-radius: 0.5rem;
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  .p-env__welfare--btm li {
    font-size: 1.4rem;
    padding: 0.5rem 2rem;
  }
}
.p-env__welfare--btm li::before {
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  background: #E22F00;
  position: absolute;
  left: 2.5rem;
  top: 50%;
  transform: translate(0, -50%);
}
@media screen and (max-width: 768px) {
  .p-env__welfare--btm li::before {
    left: 0.8rem;
    width: 0.8rem;
    height: 0.8rem;
  }
}
.p-env__training {
  background: linear-gradient(108deg, #F80 0%, #E22F00 100%), #E63C00;
  margin-left: -8.3rem;
  margin-bottom: 12rem;
  padding: 8rem 0;
  border-radius: 0.5rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-env__training {
    margin-left: unset;
    margin-bottom: 6rem;
    padding: 4rem 2rem;
  }
}
.p-env__training::after {
  content: "";
  width: 0.3rem;
  height: calc(100% + 16rem);
  position: absolute;
  top: -8rem;
  right: -0.6rem;
  background: #fff;
  z-index: 5;
}
.p-env__training .p-env__main--inner {
  padding-left: 8.3rem;
  width: calc(100% - 8.3rem);
  padding-right: 8.3rem;
}
@media screen and (max-width: 768px) {
  .p-env__training .p-env__main--inner {
    padding: 0;
    width: 100%;
  }
}
.p-env__training .c-page-title p, .p-env__training .c-page-title h2 {
  color: #fff;
}
.p-env__training--cards {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .p-env__training--cards {
    flex-direction: column;
  }
}
.p-env__training--card {
  border-radius: 0.5rem;
  background: rgba(255, 255, 255, 0.3);
  width: 44rem;
}
@media screen and (max-width: 768px) {
  .p-env__training--card {
    width: 100%;
    margin-bottom: 3rem;
  }
}
.p-env__training--card img {
  border-radius: 0.5rem 0.5rem 0 0;
}
.p-env__training--card h3 {
  font-size: 2.4rem;
  color: #fff;
  margin-bottom: 2rem;
}
@media screen and (max-width: 768px) {
  .p-env__training--card h3 {
    font-size: 2rem;
    margin-bottom: 1rem;
  }
}
.p-env__training--card--content {
  padding: 2.5rem 3rem;
}
@media screen and (max-width: 768px) {
  .p-env__training--card--content {
    padding: 2rem;
  }
}
.p-env__training--card--content p {
  color: #fff;
  letter-spacing: 0;
  margin-bottom: 0;
}
.p-env__career img {
  margin-top: 7rem;
}
@media screen and (max-width: 768px) {
  .p-env__career img {
    margin-top: 3rem;
  }
}

.p-vision__wrap {
  display: flex;
  justify-content: space-between;
  margin: 12rem auto 0;
  position: relative;
  width: 136.6rem;
}
@media screen and (max-width: 768px) {
  .p-vision__wrap {
    margin-top: 6rem;
    width: 100%;
  }
}
.p-vision__main {
  width: 108.6rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-vision__main {
    width: 100%;
  }
}
.p-vision__main::after {
  content: "";
  width: 0.1rem;
  height: 100%;
  opacity: 0.32;
  background: #000;
  position: absolute;
  top: 0;
  right: -0.5rem;
}
@media screen and (max-width: 768px) {
  .p-vision__main::after {
    display: none;
  }
}
.p-vision__main--inner {
  margin-left: 8.3rem;
  width: 92.3rem;
}
@media screen and (max-width: 768px) {
  .p-vision__main--inner {
    width: 90%;
    margin: 0 auto;
  }
}
.p-vision__side {
  width: calc(100% - 108.6rem);
  padding: 0.5rem;
  padding-left: 6rem;
  position: absolute;
  right: 0;
}
@media screen and (max-width: 768px) {
  .p-vision__side {
    display: none;
  }
}
.p-vision__side--list-item {
  position: relative;
  margin-bottom: 3rem;
  line-height: 1.7;
}
.p-vision__side--list-item::before {
  content: "";
  display: block;
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 50%;
  background: #CDCDCD;
  position: absolute;
  top: 50%;
  left: -2rem;
  transform: translate(0, -50%);
  transition: all 0.5s;
}
.p-vision__side--list-item:last-of-type {
  margin-bottom: 0;
}
.p-vision__side--list-item a {
  transition: all 0.5s;
}
.p-vision__side--list-item:hover a {
  color: #E22F00 !important;
}
.p-vision__side--list-item:hover::before {
  background: #E22F00;
}
.p-vision__side--list-item.active a {
  color: #E22F00 !important;
}
.p-vision__side--list-item.active::before {
  background: #E22F00;
}
.p-vision__title {
  font-size: 4rem;
  font-weight: bold;
  margin-bottom: 3rem;
}
@media screen and (max-width: 768px) {
  .p-vision__title {
    font-size: 2.4rem;
    margin-bottom: 1.5rem;
  }
}
.p-vision__gdn {
  position: relative;
}
.p-vision__gdn::after {
  content: "";
  width: 0.3rem;
  height: 80rem;
  position: absolute;
  top: 15rem;
  right: -8.6rem;
  background: #fff;
  z-index: 5;
}
@media screen and (max-width: 768px) {
  .p-vision__gdn::after {
    display: none;
  }
}
.p-vision__gdn--top p {
  line-height: 2.25;
}
.p-vision__gdn--about {
  background: #F5F5F5;
  padding: 3rem 8rem;
  margin: 4rem -8.15rem 8rem;
  position: relative;
  border-radius: 0.5rem;
}
@media screen and (max-width: 768px) {
  .p-vision__gdn--about {
    margin: 2rem 0 4rem;
    padding: 4rem 2rem;
  }
}
.p-vision__gdn--about h3 {
  font-size: 2.4rem;
  font-weight: bold;
  margin-bottom: 1.5rem;
}
@media screen and (max-width: 768px) {
  .p-vision__gdn--about h3 {
    font-size: 1.8rem;
  }
}
.p-vision__gdn--about p {
  margin-bottom: 4rem;
  line-height: 2.25;
}
.p-vision__gdn--about img {
  width: 84rem;
}
.p-vision__gdn--area {
  margin-bottom: 11rem;
}
.p-vision__gdn--block {
  margin-bottom: 8rem;
}
@media screen and (max-width: 768px) {
  .p-vision__gdn--block {
    margin-bottom: 4rem;
  }
}
.p-vision__gdn--block h3 {
  font-size: 2.4rem;
  font-family: "Prompt", sans-serif;
  letter-spacing: 2.4px;
  color: #E22F00;
  margin-bottom: 4rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-vision__gdn--block h3 {
    font-size: 1.8rem;
    margin-bottom: 2rem;
  }
}
.p-vision__gdn--block h3::after {
  content: "";
  display: block;
  width: 34rem;
  height: 0.1rem;
  background: #E22F00;
  position: absolute;
  bottom: -0.5rem;
  left: 0;
}
@media screen and (max-width: 768px) {
  .p-vision__gdn--block h3::after {
    width: 100%;
  }
}
.p-vision__gdn--block h4 {
  font-size: 2.4rem;
  font-weight: bold;
  margin-bottom: 3rem;
}
@media screen and (max-width: 768px) {
  .p-vision__gdn--block h4 {
    font-size: 1.6rem;
  }
}
.p-vision__gdn--block ul {
  margin-top: 6rem;
}
.p-vision__gdn--block li {
  border-radius: 0.5rem;
  margin-bottom: 1rem;
  position: relative;
  margin-bottom: 4.8rem;
}
.p-vision__gdn--block li h5 {
  position: absolute;
  top: -3rem;
  left: 0;
  color: #fff;
  font-size: 1.8rem;
  font-weight: bold;
  display: inline-block;
  background: #E22F00;
  padding: 1rem 2rem;
  margin-bottom: 0;
  border-radius: 0.5rem;
  width: 32rem;
}
@media screen and (max-width: 768px) {
  .p-vision__gdn--block li h5 {
    font-size: 1.6rem;
    width: 80%;
  }
}
.p-vision__gdn--block li p {
  background: #F5F5F5;
  border-radius: 0.5rem;
  padding: 4rem 2.5rem 3rem;
  width: 89rem;
  line-height: 2;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  .p-vision__gdn--block li p {
    width: 100%;
    padding: 2rem;
  }
}
.p-vision__gdn--block:nth-of-type(2) h3 {
  color: #FF6841;
}
.p-vision__gdn--block:nth-of-type(2) h3::after {
  background: #FF6841;
}
.p-vision__gdn--block:nth-of-type(2) h5 {
  background: #FF6841;
}
.p-vision__gdn--block:nth-of-type(3) h3 {
  color: #FF9579;
}
.p-vision__gdn--block:nth-of-type(3) h3::after {
  background: #FF9579;
}
.p-vision__gdn--block:nth-of-type(3) h5 {
  background: #FF9579;
}
.p-vision__ideal {
  margin-bottom: 13rem;
}
@media screen and (max-width: 768px) {
  .p-vision__ideal {
    margin-bottom: 7rem;
  }
}
.p-vision__ideal h3 {
  font-size: 3.2rem;
  margin-bottom: 5rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-vision__ideal h3 {
    font-size: 2rem;
  }
}
.p-vision__ideal h3::after {
  content: "";
  width: 4rem;
  height: 0.5rem;
  background: #E22F00;
  position: absolute;
  bottom: -1.8rem;
  left: 0;
}
.p-vision__ideal--wrap {
  margin-bottom: 7rem;
}
@media screen and (max-width: 768px) {
  .p-vision__ideal--wrap {
    margin-bottom: 4rem;
  }
}
.p-vision__ideal--area {
  margin-top: 7.5rem;
}
@media screen and (max-width: 768px) {
  .p-vision__ideal--area {
    margin-top: 4rem;
  }
}
.p-vision__ideal--block {
  margin-bottom: 3.5rem;
}
@media screen and (max-width: 768px) {
  .p-vision__ideal--block {
    margin-bottom: 2rem;
  }
}
.p-vision__ideal--block--title {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .p-vision__ideal--block--title {
    flex-direction: column;
  }
}
.p-vision__ideal--block--title--wrap {
  display: inline-block;
  position: relative;
  margin-bottom: 3rem;
}
.p-vision__ideal--block--title--wrap::after {
  content: "";
  width: calc(100% - 2rem);
  height: 0.2rem;
  position: absolute;
  bottom: 0;
  left: 2rem;
  background: #E22F00;
}
@media screen and (max-width: 768px) {
  .p-vision__ideal--block--title--wrap::after {
    left: 0;
    bottom: -0.8rem;
  }
}
.p-vision__ideal--block--title--num {
  display: block;
  width: 4rem;
  height: 4rem;
  line-height: 4rem;
  border-radius: 50%;
  text-align: center;
  color: #fff;
  background: #E22F00;
  font-family: "Montserrat", sans-serif;
}
@media screen and (max-width: 768px) {
  .p-vision__ideal--block--title--num {
    font-size: 1.8rem;
    margin-bottom: 1rem;
  }
}
.p-vision__ideal--block--title h4 {
  color: #E22F00;
  font-size: 2.4rem;
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .p-vision__ideal--block--title h4 {
    font-size: 1.8rem;
  }
}
.p-vision__ideal--block--title--s {
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  .p-vision__ideal--block--title--s {
    font-size: 1.4rem;
  }
}
.p-vision__ideal--block--inner {
  display: flex;
  justify-content: space-between;
  width: 91rem;
  position: relative;
}
.p-vision__ideal--block--inner::after {
  content: "";
  display: block;
  width: 0.1rem;
  height: 8rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: rgba(26, 19, 17, 0.32);
}
@media screen and (max-width: 768px) {
  .p-vision__ideal--block--inner::after {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .p-vision__ideal--block--inner {
    width: 100%;
    flex-direction: column;
  }
}
.p-vision__ideal--block--left, .p-vision__ideal--block--right {
  width: 40rem;
}
@media screen and (max-width: 768px) {
  .p-vision__ideal--block--left, .p-vision__ideal--block--right {
    width: 100%;
  }
}
.p-vision__ideal--block--left h5, .p-vision__ideal--block--right h5 {
  font-weight: bold;
  margin-bottom: 2rem;
  font-size: 1.6rem;
}
.p-vision__ideal--block:last-of-type h4 {
  padding-left: 1.4rem;
}
@media screen and (max-width: 768px) {
  .p-vision__ideal--block:last-of-type h4 {
    padding-left: 0;
  }
}
.p-vision__goal {
  color: #fff;
  padding: 6.5rem 8rem;
  background: linear-gradient(108deg, #F80 0%, #E22F00 100%), #D9D9D9;
}
@media screen and (max-width: 768px) {
  .p-vision__goal {
    padding: 4rem 2rem;
  }
}
.p-vision__goal h2 {
  font-size: 3.6rem;
  margin-bottom: 8rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-vision__goal h2 {
    font-size: 2rem;
    margin-bottom: 4rem;
  }
}
.p-vision__goal h2::after {
  content: "";
  display: block;
  width: 8rem;
  height: 0.1rem;
  background: #fff;
  position: absolute;
  bottom: -4rem;
  left: 0;
}
@media screen and (max-width: 768px) {
  .p-vision__goal h2::after {
    bottom: -2rem;
  }
}
.p-vision__goal h3 {
  font-size: 2.4rem;
  margin-bottom: 3rem;
}
@media screen and (max-width: 768px) {
  .p-vision__goal h3 {
    font-size: 1.8rem;
  }
}
.p-vision__goal--content p {
  color: #fff;
  margin-bottom: 3rem;
}
.p-vision__goal--content p:last-of-type {
  margin-bottom: 0;
}

.p-faq__wrap {
  display: flex;
  justify-content: space-between;
  margin: 12rem auto 0;
  position: relative;
  width: 136.6rem;
}
@media screen and (max-width: 768px) {
  .p-faq__wrap {
    margin-top: 6rem;
    width: 100%;
  }
}
.p-faq__main {
  width: 108.6rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-faq__main {
    width: 100%;
  }
}
.p-faq__main::after {
  content: "";
  width: 0.1rem;
  height: 100%;
  opacity: 0.32;
  background: #1A1311;
  position: absolute;
  top: 0;
  right: -0.5rem;
}
@media screen and (max-width: 768px) {
  .p-faq__main::after {
    display: none;
  }
}
.p-faq__main--inner {
  margin-left: 8.3rem;
  width: 92.3rem;
}
@media screen and (max-width: 768px) {
  .p-faq__main--inner {
    width: 90%;
    margin: 0 auto;
  }
}
.p-faq__side {
  width: calc(100% - 108.6rem);
  padding: 0.5rem 6rem;
  position: absolute;
  right: 0;
}
@media screen and (max-width: 768px) {
  .p-faq__side {
    display: none;
  }
}
.p-faq__side--list-item {
  position: relative;
}
.p-faq__side--list-item::before {
  content: "";
  display: block;
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 50%;
  background: #CDCDCD;
  position: absolute;
  top: 50%;
  left: -2rem;
  transform: translate(0, -50%);
  transition: all 0.5s;
}
.p-faq__side--list-item:not(:first-of-type) {
  margin-bottom: 1.5rem;
}
.p-faq__side--list-item a {
  transition: all 0.5s;
}
.p-faq__side--list-item:hover a {
  color: #E22F00 !important;
}
.p-faq__side--list-item:hover::before {
  background: #E22F00;
}
.p-faq__side--list-item.active a {
  color: #E22F00 !important;
}
.p-faq__side--list-item.active::before {
  background: #E22F00;
}
.p-faq__title h2 {
  font-size: 3.6rem;
  letter-spacing: 3.6px;
  margin-bottom: 2rem;
  padding-left: 4rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-faq__title h2 {
    font-size: 2rem;
    padding-left: 2rem;
  }
}
.p-faq__title h2::after {
  content: "";
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  background: #E22F00;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
}
@media screen and (max-width: 768px) {
  .p-faq__title h2::after {
    width: 1rem;
    height: 1rem;
  }
}
.p-faq__block--wrap {
  margin-bottom: 8rem;
  padding-bottom: 8rem;
  border-bottom: 0.1rem solid rgba(26, 19, 17, 0.32);
}
@media screen and (max-width: 768px) {
  .p-faq__block--wrap {
    margin-bottom: 4rem;
    padding-bottom: 4rem;
  }
}
.p-faq__block--wrap:last-of-type {
  border-bottom: unset;
  margin-bottom: 0;
  padding-bottom: 0;
}
.p-faq__block {
  background: #F3F3F3;
  margin-bottom: 2rem;
}
@media screen and (max-width: 768px) {
  .p-faq__block {
    margin-bottom: 1rem;
  }
}
.p-faq__block:last-of-type {
  margin-bottom: 0;
}
.p-faq__q, .p-faq__a {
  display: flex;
  align-items: center;
  padding: 4rem 5rem;
}
@media screen and (max-width: 768px) {
  .p-faq__q, .p-faq__a {
    padding: 2rem 1rem;
  }
}
.p-faq__q p, .p-faq__a p {
  margin-bottom: 0;
  font-size: 1.8rem;
  letter-spacing: 1.8px;
  font-weight: bold;
  width: calc(100% - 6rem);
}
@media screen and (max-width: 768px) {
  .p-faq__q p, .p-faq__a p {
    font-size: 1.4rem;
    width: calc(100% - 9.5rem);
    line-height: 1.5;
  }
}
.p-faq__q--icon, .p-faq__a--icon {
  font-family: "Outfit", sans-serif;
  color: #E22F00;
  background: #fff;
  width: 4rem;
  height: 4rem;
  line-height: 4rem;
  text-align: center;
  border-radius: 50%;
  font-size: 2.4rem;
  margin-right: 2rem;
}
@media screen and (max-width: 768px) {
  .p-faq__q--icon, .p-faq__a--icon {
    font-size: 2.4rem;
    width: 4rem;
    height: 4rem;
    line-height: 4rem;
    margin-right: 1rem;
  }
}
.p-faq__q {
  position: relative;
}
.p-faq__q::after {
  content: "";
  display: block;
  width: 5.5rem;
  height: 5.5rem;
  background: url(../img/faq/icon-arrow@2x.png) no-repeat center;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 3rem;
  transform: translate(0, -50%);
  transition: all 0.5s;
}
@media screen and (max-width: 768px) {
  .p-faq__q::after {
    width: 4rem;
    height: 4rem;
    right: 1rem;
  }
}
.p-faq__q.active::after {
  transform: translate(0, -50%) rotate(180deg);
  transform-origin: center;
}
.p-faq__q:hover {
  cursor: pointer;
}
.p-faq__a--icon {
  background: #E22F00;
  color: #fff;
}
.p-faq__a {
  position: relative;
}
.p-faq__a::before {
  content: "";
  display: block;
  width: calc(100% - 10rem);
  height: 0.1rem;
  background: #1A1311;
  position: absolute;
  top: 0;
  left: 5rem;
}
@media screen and (max-width: 768px) {
  .p-faq__a p {
    width: calc(100% - 3rem);
  }
}

.p-privacy {
  margin-top: 10rem;
}
@media screen and (max-width: 768px) {
  .p-privacy {
    margin-top: 6rem;
  }
}
.p-privacy__top {
  margin-bottom: 8rem;
}
@media screen and (max-width: 768px) {
  .p-privacy__top {
    margin-bottom: 4rem;
  }
}
.p-privacy h2 {
  display: flex;
  align-items: flex-end;
  font-size: 3.2rem;
  letter-spacing: 0.96px;
  font-weight: bold;
  line-height: 1;
  margin-bottom: 3rem;
}
@media screen and (max-width: 768px) {
  .p-privacy h2 {
    font-size: 1.8rem;
    margin-bottom: 1.5rem;
    line-height: 1.5;
  }
}
.p-privacy h2 span {
  position: relative;
  padding-bottom: 2.5rem;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .p-privacy h2 span {
    padding-bottom: 1rem;
    white-space: unset;
  }
}
.p-privacy h2 span::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.3rem;
  background: #E22F00;
}
@media screen and (max-width: 768px) {
  .p-privacy h2 span::before {
    height: 0.2rem;
  }
}
.p-privacy h2::after {
  content: "";
  flex-grow: 1;
  height: 0.1rem;
  background: #1A1311;
  margin-left: 2rem;
  transform: translateY(0);
}
.p-privacy__block {
  margin-bottom: 10rem;
}
@media screen and (max-width: 768px) {
  .p-privacy__block {
    margin-bottom: 5rem;
  }
}
.p-privacy__block--indent {
  text-indent: -4.2rem;
  padding-left: 4rem;
}
@media screen and (max-width: 768px) {
  .p-privacy__block--indent {
    text-indent: unset;
    padding-left: unset;
  }
}
.p-privacy li {
  padding-left: 1.5rem;
  text-indent: -1.8rem;
}
@media screen and (max-width: 768px) {
  .p-privacy li {
    padding-left: unset;
    text-indent: unset;
  }
}
.p-privacy p {
  margin-bottom: 0;
  letter-spacing: 0.5px;
  line-height: 1.5;
  margin-bottom: 2rem;
}

.p-404 {
  margin-bottom: 20rem;
}
@media screen and (max-width: 768px) {
  .p-404 {
    margin-bottom: 10rem;
  }
}
.p-404__area {
  text-align: center;
  margin-top: 13rem;
}
@media screen and (max-width: 768px) {
  .p-404__area {
    margin-top: 6rem;
  }
}
.p-404__area h3 {
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 2.4px;
  margin-bottom: 3.5rem;
}
@media screen and (max-width: 768px) {
  .p-404__area h3 {
    font-size: 1.8rem;
    margin-bottom: 2rem;
  }
}
.p-404__area p {
  font-size: 1.8rem;
  line-height: 2;
  letter-spacing: 1.8px;
  margin-bottom: 12rem;
}
@media screen and (max-width: 768px) {
  .p-404__area p {
    font-size: 1.4rem;
    margin-bottom: 6rem;
  }
}

.u-bold {
  font-weight: bold;
}

.u-txt-ctr {
  text-align: center;
}

@media screen and (max-width: 768px) {
  .u-right-text-sp {
    display: block;
    text-align: end;
  }
}

.u-w100 {
  width: 100%;
}

.u-pb-0 {
  padding-bottom: 0rem !important;
}

.u-pb-5 {
  padding-bottom: 5rem;
}

.u-pb-10 {
  padding-bottom: 10rem;
}

.u-pb-15 {
  padding-bottom: 15rem !important;
}

.u-mb-0 {
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .u-mb-0-sp {
    margin-bottom: 0;
  }
}/*# sourceMappingURL=style.css.map */