.p-style__ttl-01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(10px, 0px + 1.3020833333vw, 25px);
  margin-bottom: clamp(26px, 0px + 3.3854166667vw, 65px);
  color: #E6000D;
}
@media screen and (max-width: 768px) {
  .p-style__ttl-01 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 20px;
    margin-bottom: 30px;
  }
}
.p-style__ttl-01__num {
  font-size: clamp(64px, 0px + 8.3333333333vw, 160px);
  line-height: 0.9875;
  letter-spacing: 0em;
  line-height: 0.73;
  position: relative;
  padding-right: clamp(10px, 0px + 1.3020833333vw, 25px);
  font-family: "Outfit", serif;
  font-weight: 300;
}
@media screen and (max-width: 768px) {
  .p-style__ttl-01__num {
    font-size: 80px;
    padding-right: 10px;
  }
}
.p-style__ttl-01__num::after {
  content: "";
  height: clamp(5.2px, 0px + 0.6770833333vw, 13px);
  width: clamp(5.2px, 0px + 0.6770833333vw, 13px);
  background-color: #E6000D;
  position: absolute;
  right: 0;
  bottom: 0;
}
@media screen and (max-width: 768px) {
  .p-style__ttl-01__num::after {
    width: 6px;
    height: 6px;
  }
}
.p-style__ttl-01__txt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.p-style__ttl-01__label {
  font-size: clamp(14px, 12.6666666667px + 0.1736111111vw, 16px);
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-weight: 500;
  color: #fff;
  background-color: #E6000D;
  display: inline-block;
  padding: clamp(4px, 0px + 0.5208333333vw, 10px) clamp(6px, 0px + 0.78125vw, 15px);
}
@media screen and (max-width: 768px) {
  .p-style__ttl-01__label {
    padding: 6px 8px;
    font-size: 14px;
    line-height: 1;
  }
}
.p-style__ttl-01__copy {
  font-size: clamp(28.8px, 0px + 3.75vw, 72px);
  line-height: 1.0694444444;
  letter-spacing: 0.1em;
  font-weight: 300;
  font-family: "Outfit", serif;
}
@media screen and (max-width: 768px) {
  .p-style__ttl-01__copy {
    font-size: 50px;
    line-height: 1.2;
    letter-spacing: 0.1em;
  }
}
.p-style__ttl-02__en {
  font-size: clamp(14px, 12.6666666667px + 0.1736111111vw, 16px);
  line-height: 1.3125;
  letter-spacing: 0.2em;
  color: #FF000F;
  font-family: "Roboto", serif;
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .p-style__ttl-02__en {
    font-size: 14px;
  }
}
.p-style__ttl-02__ja {
  font-size: clamp(24px, 20px + 0.5208333333vw, 30px);
  line-height: 1.4666666667;
  letter-spacing: 0.075em;
  font-family: "Shippori Mincho", serif;
}
@media screen and (max-width: 768px) {
  .p-style__ttl-02__ja {
    font-size: 24px;
  }
}
.p-style__imgarea {
  margin-left: calc(50% - 50vw);
  padding: clamp(80px, 0px + 10.4166666667vw, 200px) clamp(30px, 0px + 3.90625vw, 75px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 768px) {
  .p-style__imgarea {
    padding: 100px 20px;
  }
}
.p-style__imgarea__txt {
  font-size: clamp(22px, 18px + 0.5208333333vw, 28px);
  line-height: 1.9642857143;
  letter-spacing: 0.1em;
  color: #fff;
  font-family: "Shippori Mincho", serif;
  text-align: right;
}
@media screen and (max-width: 768px) {
  .p-style__imgarea__txt {
    font-size: 20px;
    text-align: left;
  }
}
.p-style-01 {
  padding-top: clamp(48px, 0px + 6.25vw, 120px);
}
@media screen and (max-width: 768px) {
  .p-style-01 {
    padding-top: 70px;
  }
}
.p-style-01 .p-style__imgarea {
  background-image: url(../img/recruit/style/style01_bg.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .p-style-01 .p-style__imgarea {
    background-position: right 20% center;
  }
}
.p-style-01__content {
  padding: clamp(42px, 0px + 5.46875vw, 105px) clamp(30px, 0px + 3.90625vw, 75px) clamp(0px, 0px + 0vw, 0px);
}
@media screen and (max-width: 768px) {
  .p-style-01__content {
    padding: 40px 0 0;
  }
}
.p-style-01__case__list {
  margin-top: clamp(28px, 0px + 3.6458333333vw, 70px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}
@media screen and (max-width: 768px) {
  .p-style-01__case__list {
    margin-top: 40px;
  }
}
.p-style-01__case__item {
  background-color: #fff;
  padding: 90px 60px 90px 73px;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-column-gap: clamp(19.2px, 0px + 2.5vw, 48px);
     -moz-column-gap: clamp(19.2px, 0px + 2.5vw, 48px);
          column-gap: clamp(19.2px, 0px + 2.5vw, 48px);
  row-gap: 60px;
}
@media screen and (max-width: 768px) {
  .p-style-01__case__item {
    padding: 80px 20px 60px;
  }
}
.p-style-01__case__label {
  position: absolute;
  background-color: #E6000D;
  color: #fff;
  font-size: 14px;
  line-height: 1;
  letter-spacing: 0.1em;
  font-family: "Roboto", serif;
  padding: 10px 15px;
  top: 20px;
  left: 20px;
}
.p-style-01__case__content--left {
  width: 52%;
  min-width: 500px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .p-style-01__case__content--left {
    width: 100%;
    min-width: auto;
  }
}
.p-style-01__case__content--right {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin: 0 auto;
}
.p-style-01__case__ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(10px, 0px + 1.3020833333vw, 25px);
  margin-bottom: clamp(10px, 0px + 1.3020833333vw, 25px);
}
@media screen and (max-width: 768px) {
  .p-style-01__case__ttl {
    margin-bottom: 20px;
  }
}
.p-style-01__case__ttl__img {
  width: clamp(45.2px, 0px + 5.8854166667vw, 113px);
  height: auto;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  min-width: 100px;
}
@media screen and (max-width: 768px) {
  .p-style-01__case__ttl__img {
    min-width: 85px;
  }
}
.p-style-01__case__ttl__copy {
  font-size: clamp(20px, 17.3333333333px + 0.3472222222vw, 24px);
  line-height: 1.6666666667;
  letter-spacing: 0.05em;
  font-family: "Shippori Mincho", serif;
  color: #E6000D;
}
.p-style-01__case__txt {
  font-size: 16px;
  line-height: 2.125;
  letter-spacing: 0.025em;
}
.p-style-01__case__figure__label {
  font-size: 18px;
  line-height: 1;
  letter-spacing: 0.025em;
  color: #E6000D;
  font-weight: 500;
  padding-left: 23px;
  position: relative;
}
.p-style-01__case__figure__label::before {
  content: "";
  width: 12px;
  height: 12px;
  background-color: #E6000D;
  border-radius: 50%;
  position: absolute;
  top: 0.3em;
  left: 0;
}
.p-style-01__case__figure__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: -20px;
  gap: 16px;
  position: relative;
}
.p-style-01__case__figure__item--before {
  width: clamp(64px, 0px + 8.3333333333vw, 160px);
  height: clamp(64px, 0px + 8.3333333333vw, 160px);
  min-width: 130px;
  min-height: 130px;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #E3E3E3;
  text-align: center;
  gap: 6px;
}
@media screen and (max-width: 768px) {
  .p-style-01__case__figure__item--before {
    min-width: 120px;
    min-height: 120px;
  }
}
.p-style-01__case__figure__item--after {
  width: clamp(80px, 0px + 10.4166666667vw, 200px);
  height: clamp(80px, 0px + 10.4166666667vw, 200px);
  min-width: 180px;
  min-height: 180px;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #E6000D;
  text-align: center;
  color: #fff;
  gap: 6px;
}
@media screen and (max-width: 768px) {
  .p-style-01__case__figure__item--after {
    min-width: 160px;
    min-height: 160px;
  }
}
.p-style-01__case__figure__item__arrow {
  margin-bottom: clamp(60px, 4.5vw, 80px);
}
.p-style-01__case__figure__item__head, .p-style-01__case__figure__item__head--after, .p-style-01__case__figure__item__head--before {
  font-size: clamp(12px, 10.6666666667px + 0.1736111111vw, 14px);
  line-height: 1;
  letter-spacing: 0.15em;
  font-family: "Roboto", serif;
}
.p-style-01__case__figure__item__head--before {
  color: #A5A5A5;
}
.p-style-01__case__figure__item__body, .p-style-01__case__figure__item__body--after, .p-style-01__case__figure__item__body--before {
  font-size: clamp(14px, 12.6666666667px + 0.1736111111vw, 16px);
  line-height: 1.5625;
  letter-spacing: 0.025em;
}
.p-style-01__case__figure__item__body--after {
  font-weight: 500;
}
.p-style-02 {
  padding-top: clamp(41.6px, 0px + 5.4166666667vw, 104px);
}
@media screen and (max-width: 768px) {
  .p-style-02 {
    padding-top: 70px;
  }
}
.p-style-02 .p-style__imgarea {
  background-image: url(../img/recruit/style/style02_bg.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .p-style-02 .p-style__imgarea {
    background-position: right 5% center;
  }
}
.p-style-02__content {
  padding: clamp(44px, 0px + 5.7291666667vw, 110px) clamp(9.6px, 0px + 1.25vw, 24px) clamp(0px, 0px + 0vw, 0px);
}
@media screen and (max-width: 768px) {
  .p-style-02__content {
    padding: 40px 0 0;
  }
}
.p-style-02__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
@media screen and (max-width: 768px) {
  .p-style-02__list {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}
.p-style-02__item {
  position: relative;
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .p-style-02__item {
    max-width: 500px;
    margin: 0 auto;
  }
}
.p-style-02__item__label {
  position: absolute;
  top: clamp(8px, 0px + 1.0416666667vw, 20px);
  left: clamp(8px, 0px + 1.0416666667vw, 20px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 768px) {
  .p-style-02__item__label {
    top: 20px;
    left: 20px;
  }
}
.p-style-02__item__label__en {
  padding: 8px 10px;
  background-color: #BC0D17;
  font-size: clamp(12px, 10.6666666667px + 0.1736111111vw, 14px);
  line-height: 1;
  letter-spacing: 0.05em;
  color: #fff;
  font-weight: 500;
  font-family: "Outfit", serif;
}
.p-style-02__item__label__ja {
  padding: 8px 10px;
  background-color: #E6000D;
  font-size: clamp(12px, 10.6666666667px + 0.1736111111vw, 14px);
  line-height: 1;
  letter-spacing: 0.05em;
  color: #fff;
  font-weight: 500;
}
.p-style-02__item__content {
  padding: clamp(36px, 0px + 4.6875vw, 90px) clamp(16px, 0px + 2.0833333333vw, 40px) clamp(28.4px, 0px + 3.6979166667vw, 71px) clamp(26.4px, 0px + 3.4375vw, 66px);
}
@media screen and (max-width: 768px) {
  .p-style-02__item__content {
    padding: 60px 20px 20px;
  }
}
.p-style-02__item__content .c-list01__item {
  line-height: 2.3;
}
@media screen and (max-width: 768px) {
  .p-style-02__item__content .c-list01__item {
    line-height: 2;
  }
}
.p-style-02__item__ttl {
  font-size: clamp(20px, 17.3333333333px + 0.3472222222vw, 24px);
  line-height: 1.75;
  letter-spacing: 0.05em;
  color: #E6000D;
  font-family: "Shippori Mincho", serif;
  margin-bottom: 30px;
  margin-bottom: clamp(12px, 0px + 1.5625vw, 30px);
}
@media screen and (max-width: 768px) {
  .p-style-02__item__ttl {
    line-height: 1.8;
    margin-bottom: 20px;
  }
}
.p-style-02__item__img {
  width: 100%;
  height: auto;
}
.p-style-02__txt {
  text-align: center;
  font-size: 16px;
  line-height: 2.3125;
  letter-spacing: 0.025em;
  margin-top: clamp(28px, 0px + 3.6458333333vw, 70px);
}
.p-style-03 {
  padding: clamp(44px, 0px + 5.7291666667vw, 110px) clamp(0px, 0px + 0vw, 0px) clamp(53.6px, 0px + 6.9791666667vw, 134px);
}
@media screen and (max-width: 768px) {
  .p-style-03 {
    padding: 70px 0;
  }
}
.p-style-03 .p-style__imgarea {
  background-image: url(../img/recruit/style/style03_bg.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.p-style-03__content {
  padding: clamp(37.2px, 0px + 4.84375vw, 93px) clamp(0px, 0px + 0vw, 0px) clamp(0px, 0px + 0vw, 0px);
}
@media screen and (max-width: 768px) {
  .p-style-03__content {
    padding: 60px 0 0;
  }
}
.p-style-03__table_area {
  overflow: auto;
  margin: clamp(17.2px, 0px + 2.2395833333vw, 43px) clamp(0px, 0px + 0vw, 0px) clamp(23.2px, 0px + 3.0208333333vw, 58px);
}
@media screen and (max-width: 768px) {
  .p-style-03__table_area {
    margin: 40px 0;
  }
}
.p-style-03__table {
  width: 100%;
  border-collapse: collapse;
  min-width: 700px;
}
.p-style-03__table__heading {
  font-size: clamp(14px, 12.6666666667px + 0.1736111111vw, 16px);
  line-height: 1.5;
  letter-spacing: 0em;
  font-weight: 500;
  padding: clamp(10px, 0px + 1.3020833333vw, 25px) clamp(4px, 0px + 0.5208333333vw, 10px) clamp(9.6px, 0px + 1.25vw, 24px);
  background-color: #222222;
  color: #ffffff;
  text-align: center;
  white-space: nowrap;
}
.p-style-03__table__heading:first-of-type {
  width: 11%;
}
.p-style-03__table__heading:not(:first-of-type) {
  width: 14.5%;
}
.p-style-03__table__heading--index {
  background-color: #E3E3E3;
  color: #383232;
}
.p-style-03__table__heading--primary {
  background-color: #E6000D;
}
.p-style-03__table__label {
  font-size: clamp(14px, 12.6666666667px + 0.1736111111vw, 16px);
  line-height: 1.5;
  letter-spacing: 0em;
  padding: clamp(10.4px, 0px + 1.3541666667vw, 26px) clamp(4px, 0px + 0.5208333333vw, 10px) clamp(9.2px, 0px + 1.1979166667vw, 23px);
  background-color: #E3E3E3;
  text-align: center;
  font-weight: 500;
  color: #383232;
  white-space: nowrap;
}
.p-style-03__table__cell {
  font-size: clamp(14px, 12.6666666667px + 0.1736111111vw, 16px);
  line-height: 1.5;
  letter-spacing: 0em;
  padding: clamp(10.4px, 0px + 1.3541666667vw, 26px) clamp(4px, 0px + 0.5208333333vw, 10px) clamp(9.2px, 0px + 1.1979166667vw, 23px);
  text-align: center;
  border: 1px solid #EBEBEB;
  background-color: #ffffff;
}
.p-style-03__txt {
  font-size: 16px;
  line-height: 2.3125;
  letter-spacing: 0.025em;
  text-align: center;
  margin-bottom: clamp(28.4px, 0px + 3.6979166667vw, 71px);
}
@media screen and (max-width: 768px) {
  .p-style-03__txt {
    margin-bottom: 40px;
  }
}
.p-style-03__case {
  background-color: #fff;
  padding: 40px 50px 68px;
}
@media screen and (max-width: 768px) {
  .p-style-03__case {
    padding: 30px 20px;
    max-width: 500px;
    margin: 0 auto;
  }
}
.p-style-03__case__ttl {
  font-size: 18px;
  line-height: 1;
  letter-spacing: 0.025em;
  color: #E6000D;
  font-weight: 500;
  padding-left: 23px;
  position: relative;
}
.p-style-03__case__ttl::before {
  content: "";
  width: 12px;
  height: 12px;
  background-color: #E6000D;
  border-radius: 50%;
  position: absolute;
  top: 0.3em;
  left: 0;
}
.p-style-03__case__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 45px;
}
@media screen and (max-width: 768px) {
  .p-style-03__case__list {
    margin-top: 30px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.p-style-03__case__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.p-style-03__case__item__label {
  background-color: #E6000D;
  color: #fff;
  font-size: 14px;
  line-height: 1;
  letter-spacing: 0.1em;
  font-family: "Roboto", serif;
  padding: 8px 15px;
  margin-bottom: 22px;
}
.p-style-03__case__item__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
}
.p-style-03__case__item__head__txt--small {
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.025em;
}
.p-style-03__case__item__head__txt--large {
  font-size: 19px;
  line-height: 1.4210526316;
  letter-spacing: 0.025em;
}
.p-style-03__case__item__arrow {
  height: 6px;
  width: 12px;
  margin: 15px auto;
}
.p-style-03__case__item__body {
  font-size: 18px;
  line-height: 1;
  letter-spacing: 0.025em;
  color: #E6000D;
  font-weight: 500;
}
.p-style-03__case__item__body--large {
  font-size: 31px;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 400;
  font-family: "Roboto", serif;
  margin: 0 5px;
}