@charset "UTF-8";
/*=======================================================
共通
=======================================================*/
main {
  background: #FAFAFA;
  font-size: min(16 / 1000 * 100vw, 16px);
  font-weight: 500;
  line-height: calc(30.4/16);
  letter-spacing: 0.08em;
}

.l-common-inner {
  max-width: min(840 / 1000 * 100vw, 840px);
  padding-inline: min(40 / 1000 * 100vw, 40px);
}

@media screen and (max-width: 767px) {
  main {
    font-size: min(26 / 767 * 100vw, 26px);
  }
  .l-common-inner {
    max-width: none;
    padding-inline: min(30 / 767 * 100vw, 30px);
  }
}
/*=======================================================
common
=======================================================*/
.p-common-deco-mTtl {
  padding: min(50 / 1000 * 100vw, 50px) 0 min(28 / 1000 * 100vw, 28px);
}
.p-common-deco-mTtl-txt {
  position: relative;
  z-index: 2;
}
.p-common-deco-mTtl-deco {
  color: #FFFFFF;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .p-common-deco-mTtl {
    padding: min(75 / 767 * 100vw, 75px) 0 min(42 / 767 * 100vw, 42px);
  }
}
/*=======================================================
recruit
=======================================================*/
.p-common_recruit {
  margin-bottom: min(100 / 1000 * 100vw, 100px);
}
.p-common_recruit-box {
  padding: min(51 / 1000 * 100vw, 51px) min(59 / 1000 * 100vw, 59px) min(84 / 1000 * 100vw, 84px);
  background: #FFFFFF;
  border-radius: min(4 / 1000 * 100vw, 4px);
}
.p-common_recruit-ttl {
  font-size: min(28 / 1000 * 100vw, 28px);
  font-weight: 700;
  line-height: calc(34/28);
  margin-bottom: min(40 / 1000 * 100vw, 40px);
}
.p-common_recruit-ttl-deco {
  font-size: min(20 / 1000 * 100vw, 20px);
  color: #FB7554;
  font-weight: 700;
  line-height: calc(23/20);
  display: block;
}
.p-common_recruit-dwrap {
  padding: min(20 / 1000 * 100vw, 20px) 0;
  border-top: 1px solid #D9D9D9;
  display: flex;
}
.p-common_recruit-dwrap:first-of-type {
  padding-top: 0;
  border-top: none;
}
.p-common_recruit-dttl {
  flex: 0 1 min(127 / 1000 * 100vw, 127px);
  font-size: min(18 / 1000 * 100vw, 18px);
  font-weight: 700;
  line-height: calc(22/18);
  padding-top: min(3 / 1000 * 100vw, 3px);
}
.p-common_recruit-ditem {
  flex: 1;
}
.p-common_recruit-ditem .p-ditem-s_txt {
  font-size: min(14 / 1000 * 100vw, 14px);
  margin-top: min(3 / 1000 * 100vw, 3px);
  line-height: calc(26.6/14);
  color: #bfbfbf;
}

@media screen and (max-width: 767px) {
  .p-common_recruit {
    margin-bottom: min(120 / 767 * 100vw, 120px);
  }
  .p-common_recruit-box {
    padding: min(64 / 767 * 100vw, 64px) min(64 / 767 * 100vw, 64px) min(80 / 767 * 100vw, 80px);
    border-radius: min(6 / 767 * 100vw, 6px);
  }
  .p-common_recruit-ttl {
    font-size: min(42 / 767 * 100vw, 42px);
    margin-bottom: min(64 / 767 * 100vw, 64px);
  }
  .p-common_recruit-ttl-deco {
    font-size: min(32 / 767 * 100vw, 32px);
  }
  .p-common_recruit-dwrap {
    padding: min(30 / 767 * 100vw, 30px) 0;
    border-width: min(2 / 767 * 100vw, 2px);
    display: block;
  }
  .p-common_recruit-dttl {
    flex: auto;
    font-size: min(30 / 767 * 100vw, 30px);
    padding-top: min(4.5 / 767 * 100vw, 4.5px);
    margin-bottom: min(16 / 767 * 100vw, 16px);
  }
  .p-common_recruit-ditem .p-ditem-s_txt {
    font-size: min(24 / 767 * 100vw, 24px);
    margin-top: min(4.5 / 767 * 100vw, 4.5px);
  }
}
/*=======================================================
message
=======================================================*/
.p-common_message {
  padding-bottom: min(186 / 1104 * 100vw, 186px);
}
.p-common_message .l-common-inner {
  max-width: min(1024 / 1104 * 100vw, 1024px);
  padding-inline: min(40 / 1104 * 100vw, 40px);
}
.p-common_message-box {
  display: grid;
  grid-template-areas: "imgWrapper body" "btn btn";
  row-gap: min(130 / 1104 * 100vw, 130px);
}
.p-common_message-img_wrapper {
  display: flex;
  grid-area: imgWrapper;
  border-radius: min(4 / 1104 * 100vw, 4px);
  overflow: hidden;
  width: min(415 / 1104 * 100vw, 415px);
  align-self: start;
}
.p-common_message-body {
  grid-area: body;
  background: #FFFFFF;
  padding: min(40 / 1104 * 100vw, 40px) 0 min(59 / 1104 * 100vw, 59px);
  border-radius: min(4 / 1104 * 100vw, 4px);
  margin: min(61 / 1104 * 100vw, 61px) 0 0 max(-44 / 1104 * 100vw, -44px);
}
.p-common_message-body .p-body-ttl {
  padding: 0 min(62 / 1104 * 100vw, 62px);
  font-size: min(28 / 1104 * 100vw, 28px);
  font-weight: 700;
  margin-bottom: min(30 / 1104 * 100vw, 30px);
  line-height: calc(34/28);
}
.p-common_message-body .p-body-ttl-deco {
  font-size: min(20 / 1104 * 100vw, 20px);
  color: #FB7554;
  font-weight: 700;
  line-height: calc(23/20);
  margin-bottom: min(10 / 1104 * 100vw, 10px);
  display: block;
}
.p-common_message-body .p-body-txt {
  padding: 0 min(62 / 1104 * 100vw, 62px);
}
.p-common_message-body .p-body-txt + .p-body-txt {
  margin-top: min(10 / 1104 * 100vw, 10px);
}
.p-common_message-body .p-body-name {
  margin-top: min(40 / 1104 * 100vw, 40px);
  padding-right: min(46 / 1104 * 100vw, 46px);
  text-align: right;
  line-height: calc(19/16);
}
.p-common_message-body .p-body-name-deco {
  margin-left: min(24 / 1104 * 100vw, 24px);
  font-size: min(20 / 1104 * 100vw, 20px);
  line-height: calc(24/20);
}
.p-common_message-btn {
  grid-area: btn;
  width: min(500 / 1104 * 100vw, 500px);
  height: min(100 / 1104 * 100vw, 100px);
  border-radius: min(4 / 1104 * 100vw, 4px);
  margin: 0 auto;
  display: grid;
  place-content: center;
  background: #4A4C56;
  color: #FFFFFF;
  font-size: min(24 / 1104 * 100vw, 24px);
  line-height: calc(29/24);
  letter-spacing: 0.03em;
  padding-top: min(1 / 1104 * 100vw, 1px);
}

@media screen and (max-width: 767px) {
  .p-common_message {
    padding-bottom: min(120 / 767 * 100vw, 120px);
  }
  .p-common_message .l-common-inner {
    max-width: none;
    padding-inline: min(40 / 767 * 100vw, 40px);
  }
  .p-common_message-box {
    grid-template-areas: "imgWrapper" "body" "btn";
    row-gap: min(64 / 767 * 100vw, 64px);
  }
  .p-common_message-img_wrapper {
    border-radius: min(6 / 767 * 100vw, 6px);
    max-width: min(400 / 767 * 100vw, 400px);
    margin: 0 auto;
    width: auto;
  }
  .p-common_message-body {
    padding: min(48 / 767 * 100vw, 48px) 0 min(64 / 767 * 100vw, 64px);
    border-radius: min(6 / 767 * 100vw, 6px);
    margin: 0;
  }
  .p-common_message-body .p-body-ttl {
    padding: 0 min(64 / 767 * 100vw, 64px);
    font-size: min(42 / 767 * 100vw, 42px);
    margin-bottom: min(45 / 767 * 100vw, 45px);
  }
  .p-common_message-body .p-body-ttl-deco {
    font-size: min(32 / 767 * 100vw, 32px);
    margin-bottom: min(15 / 767 * 100vw, 15px);
  }
  .p-common_message-body .p-body-txt {
    padding: 0 min(64 / 767 * 100vw, 64px);
  }
  .p-common_message-body .p-body-txt + .p-body-txt {
    margin-top: min(15 / 767 * 100vw, 15px);
  }
  .p-common_message-body .p-body-name {
    margin-top: min(60 / 767 * 100vw, 60px);
    padding-right: min(48 / 767 * 100vw, 48px);
  }
  .p-common_message-body .p-body-name-deco {
    margin-left: min(36 / 767 * 100vw, 36px);
    font-size: min(32 / 767 * 100vw, 32px);
  }
  .p-common_message-btn {
    width: min(600 / 767 * 100vw, 600px);
    height: min(120 / 767 * 100vw, 120px);
    border-radius: min(6 / 767 * 100vw, 6px);
    font-size: min(32 / 767 * 100vw, 32px);
    padding-top: min(2 / 767 * 100vw, 2px);
  }
}