.p-top_mv {
  position: relative;
}
.p-mv_box01 {
  background: url(../img/top_mv01.webp) no-repeat center;
  aspect-ratio: 1440/801;
  background-size: cover;
}
.p-mv_box02 {
  background: url(../img/top_mv02.webp) no-repeat center;
  aspect-ratio: 1440/801;
  background-size: cover;
}
.p-mv_box03 {
  background: url(../img/top_mv03.webp) no-repeat center;
  aspect-ratio: 1440/801;
  background-size: cover;
}
.p-top__ttl {
  position: absolute;
  top: calc(264 / 1920 * 100vw);
  right: calc(74 / 1920 * 100vw);
  color: #fff;
  line-height: 2;
}
.p-top__ttl h1 {
  font-size: min(calc(53 / 1440 * 100vw), 5.3rem);
  white-space: nowrap;
  text-shadow: 0px 2px 2px rgba(0, 0, 0, 0.4);
  font-weight: 700;
}
.p-top__subttl {
  position: absolute;
  bottom: calc(36 / 1920 * 100vw);
  left: calc(80 / 1920 * 100vw);
  color: #fff;
  line-height: 2;
}
.p-top__subttl h2 {
  font-size: min(calc(32 / 1440 * 100vw), 3.2rem);
  white-space: nowrap;
  text-shadow: 0px 2px 2px rgba(0, 0, 0, 0.4);
  font-weight: 700;
}
.p-about {
  padding: calc(94 / 1440 * 100vw) 0 calc(197 / 1440 * 100vw);
}
.p-about__inner {
  display: flex;
  justify-content: center;
  gap: calc(16 / 1440 * 100vw);
}
.p-about__lead {
  margin-top: calc(21 / 1440 * 100vw);
}
.p-about__lead h1 {
  font-size: min(calc(32 / 1440 * 100vw), 3.2rem);
  margin-bottom: calc(47 / 1440 * 100vw);
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
}
.p-about__lead p {
  width: calc(656 / 1440 * 100vw);
}
.p-about__img {
  background: url(../img/top_bg.webp) no-repeat;
  background-size: contain;
  width: calc(644 / 1440 * 100vw);
  aspect-ratio: 644/645;
  position: relative;
}
.p-about__img img {
  width: calc(164 / 1440 * 100vw);
  position: absolute;
}
.p-about__img img:first-child {
  top: calc(72 / 1440 * 100vw);
  right: calc(97 / 1440 * 100vw);
}
.p-about__img img:last-child {
  width: calc(315 / 1440 * 100vw);
  bottom: calc(-55 / 1440 * 100vw);
  left: calc(168 / 1440 * 100vw);
}
.p-about__img img:nth-of-type(2) {
  top: calc(160 / 1440 * 100vw);
  left: calc(77 / 1440 * 100vw);
  width: calc(181 / 1440 * 100vw);
}
.p-about__btn {
  margin: calc(86 / 1440 * 100vw) auto 0;
}
.p-about__btn a {
  display: flex;
  justify-content: center;
  gap: calc(16 / 1440 * 100vw);
  align-items: center;
}
.p-about__btn a img {
  width: calc(37 / 1440 * 100vw);
}
.p-top__concept--inner {
  background: url(../img/concept_bg.webp) no-repeat;
  background-size: contain;
  aspect-ratio: 1440/363;
  padding-top: calc(349 / 1440 * 100vw);
}
.p-top__concept .p-top__ttl {
  color: #fff;
  font-size: min(calc(40 / 1440 * 100vw), 4rem);
  font-weight: 700;
  position: relative;
}
.p-top__concept .p-top__ttl h1 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: "Noto Serif JP", serif;
}

.p-top__concept--lead {
  background-color: #fff;
  border-radius: calc(20 / 1440 * 100vw);
  padding: calc(50 / 1440 * 100vw) 0;
  max-width: calc(1280 / 1440 * 100vw);
  margin: 0 auto;
  border: solid 1px #ccc;
}
.p-top__concept--lead h3 {
  text-align: center;
  font-size: min(calc(26 / 1440 * 100vw), 2.6rem);
}
.p-top__concept--lead p {
  width: calc(870 / 1440 * 100vw);
  margin: calc(36 / 1440 * 100vw) auto 0;
}
.p-top__flex {
  display: flex;
  justify-content: center;
}
.p-top__recruit {
}
.p-top__recruit {
  background: url(../img/top_recruit.webp) no-repeat;
  background-size: contain;
  aspect-ratio: 640/400;
  width: calc(640 / 1440 * 100vw);
  border-radius: calc(16 / 1440 * 100vw) 0 0 0;
  position: relative;
}
.p-top__recruit::before,
.p-top__company::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(255, 255, 255, 0.5);
}
.p-top__recruit--lead,
.p-top__company--lead {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
}
.p-top__recruit--lead h3,
.p-top__company--lead h3 {
  font-size: min(calc(18 / 1440 * 100vw), 1.8rem);
  font-weight: 400;
}
.p-top__recruit--lead h1,
.p-top__company--lead h1 {
  font-size: min(calc(60 / 1440 * 100vw), 6rem);
  color: #3a75bb;
  font-family: "Almarai", sans-serif;
  margin: calc(20 / 1440 * 100vw) 0;
}
.p-top__recruit--lead a,
.p-top__company--lead a {
  font-size: min(calc(20 / 1440 * 100vw), 2rem);
  color: #fff;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(16 / 1440 * 100vw);
  margin: 0 auto;
}
.p-top__recruit--lead a img,
.p-top__company--lead a img {
  width: calc(37 / 1440 * 100vw);
}
.p-top__company {
  background: url(../img/top_company.webp) no-repeat;
  background-size: contain;
  aspect-ratio: 640/400;
  width: calc(640 / 1440 * 100vw);
  border-radius: 0 calc(16 / 1440 * 100vw) 0 0;
  position: relative;
}

.p-top__contact {
  background-color: #3a75bb;
  padding: calc(20 / 1440 * 100vw) 0 calc(60 / 1440 * 100vw);
  max-width: calc(1280 / 1440 * 100vw);
  margin: 0 auto calc(70 / 1440 * 100vw);
  border-radius: 0 0 calc(16 / 1440 * 100vw) calc(16 / 1440 * 100vw);
}
.p-top__contact--ttl {
  color: #fff;
  text-align: center;
}
.p-top__contact--ttl h3 {
  font-size: min(calc(16 / 1440 * 100vw), 1.6rem);
}
.p-top__contact--ttl h1 {
  font-size: min(calc(40 / 1440 * 100vw), 4rem);
  font-family: "Almarai", sans-serif;
}
.p-top__contact--ttl p {
  margin: calc(20 / 1440 * 100vw) 0;
}
.p-top__contact--box ul {
  display: flex;
  justify-content: center;
  gap: calc(146 / 1440 * 100vw);
}
.p-top__contact--box li {
  background-color: #fff;
  width: calc(215 / 1440 * 100vw);
  border-radius: 50px;
  padding: calc(20 / 1440 * 100vw);
}
.p-top__contact--box li a {
  color: #1d7ccc;
  font-size: min(calc(22 / 1440 * 100vw), 2.2rem);
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(16 / 1440 * 100vw);
}
.p-top__contact--box li a img {
  width: calc(27 / 1440 * 100vw);
}
@media screen and (max-width: 768px) {
  .p-mv_box01 {
    background: url(../img/top_mv01_sp.webp) no-repeat center;
    aspect-ratio: 480/820;
    background-size: cover;
  }
  .p-mv_box02 {
    background: url(../img/top_mv02_sp.webp) no-repeat center;
    aspect-ratio: 480/820;
    background-size: cover;
  }
  .p-mv_box03 {
    background: url(../img/top_mv03_sp.webp) no-repeat center;
    aspect-ratio: 480/820;
    background-size: cover;
  }
  .p-top__ttl h1 {
    font-size: 2.4rem;
  }
  .p-top__subttl h2 {
    font-size: 2rem;
  }
  .p-top__ttl {
    top: calc(210 / 375 * 100vw);
    right: 20px;
  }
  .p-top__subttl {
    bottom: calc(20 / 375 * 100vw);
    left: 15px;
  }
  .p-about {
    padding: 60px 4% 135px;
  }
  .p-about__inner {
    display: block;
  }
  .p-about__lead h1 {
    font-size: 2.4rem;
  }
  .p-about__lead p {
    width: auto;
  }
  .p-about__btn {
    margin: 76px auto 80px;
  }
  .p-about__btn a {
    gap: 16px;
  }

  .p-about__btn a img {
    width: 37px;
  }
  .p-about__img {
    width: 100%;
  }
  .p-about__img img {
    width: calc(89 / 375 * 100vw);
  }
  .p-about__img img:first-child {
    top: calc(30 / 375 * 100vw);
    right: calc(60 / 375 * 100vw);
  }
  .p-about__img img:nth-of-type(2) {
    width: calc(98 / 375 * 100vw);
    top: calc(85 / 375 * 100vw);
    left: calc(42 / 375 * 100vw);
  }
  .p-about__img img:last-child {
    width: calc(163 / 375 * 100vw);
    left: 50%;
    transform: translate(-50%, 0);
    bottom: calc(-26 / 375 * 100vw);
  }
  .p-top__concept {
    position: relative;
  }
  .p-top__concept .p-top__ttl {
    position: absolute;
    top: calc(50 / 375 * 100vw);
    left: 50%;
    transform: translate(-50%, 0);
  }
  .p-top__concept--inner {
    aspect-ratio: 480/146;
    padding: calc(86 / 375 * 100vw) 4%;
  }
  .p-top__concept--lead h3 {
    font-size: 2.2rem;
    font-weight: 500;
    line-height: 1.6;
  }
  .p-top__concept--lead {
    padding: 35px 4%;
    border-radius: 16px;
  }
  .p-top__concept--lead p {
    margin: 20px 0 0;
    width: auto;
  }
  .p-top__flex {
    display: block;
  }
  .p-top__recruit,
  .p-top__company {
    width: auto;
    border-radius: 0;
  }
  .p-top__recruit--lead h3,
  .p-top__company--lead h3,
  .p-top__contact--ttl h3 {
    font-size: 1.6rem;
  }
  .p-top__recruit--lead h1,
  .p-top__company--lead h1 {
    font-size: 4rem;
    margin: 10px 0 20px;
  }
  .p-top__recruit--lead a,
  .p-top__company--lead a {
    font-size: 2rem;
    gap: 16px;
  }
  .p-top__contact {
    max-width: unset;
    border-radius: 0;
    padding: 40px 4%;
    margin: 0;
  }
  .p-top__contact--ttl h1 {
    font-size: 4rem;
    margin: 15px 0;
  }
  .p-top__contact--box ul {
    display: block;
  }
  .p-top__contact--box li {
    width: 215px;
    padding: 24px 0;
    margin: 20px auto;
  }
  .p-top__contact--ttl p {
    line-height: 1.6;
  }
  .p-top__contact--box li a {
    font-size: 2rem;
    gap: 10px;
  }
  .p-top__recruit--lead a img,
  .p-top__company--lead a img {
    width: 37px;
  }
  .p-top__contact--box li a img {
    width: 27px;
  }
}
/* -------------
business
---------------*/
.p-mv {
  position: relative;
}
.mv {
  aspect-ratio: 1440/536;
  background: url(../img/mv.webp) no-repeat center;
  background-size: cover;
}
.p-mv_ttl {
  position: absolute;
  top: 60%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.p-mv_ttl h1 {
  color: #fff;
  font-size: min(calc(53 / 1440 * 100vw), 5.3rem);
  white-space: nowrap;
  font-weight: 700;
  text-shadow: 0px 0px 8px rgba(86, 56, 56, 0.8);
}
.p-business__lead {
  background: url(../img/business_bg.webp) no-repeat;
  background-size: contain;
  aspect-ratio: 1440/374;
  padding: calc(75 / 1440 * 100vw) calc(121 / 1440 * 100vw) 0;
}
.p-business__lead h3 {
  font-size: min(calc(32 / 1440 * 100vw), 3.2rem);
  font-weight: 700;
  font-family: "Noto Serif JP", serif;
  margin-bottom: calc(60 / 1440 * 100vw);
}
.p-business__lead p {
}

.p-business__ex {
  padding: calc(46 / 1440 * 100vw) 0;
}
.p-business__ex li {
  display: flex;
  justify-content: center;
  gap: calc(110 / 1440 * 100vw);
  margin: calc(90 / 1440 * 100vw) 0;
}
.p-business__ex li:nth-of-type(even) {
  flex-direction: row-reverse;
}
.p-business__ex--txt h3 {
  font-size: min(calc(32 / 1440 * 100vw), 3.2rem);
  font-weight: 700;
  font-family: "Noto Serif JP", serif;
  margin-bottom: calc(46 / 1440 * 100vw);
}
.p-business__ex--txt p {
  width: min(calc(600 / 1440 * 100vw), 600px);
}
.p-business__ex img {
  width: calc(528 / 1440 * 100vw);
}

.p-business__area {
  align-items: center;
  gap: calc(68 / 1440 * 100vw);
}
.p-business__area h3 {
  font-size: min(calc(48 / 1440 * 100vw), 4.8rem);
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  color: #1d7ccc;
}
.p-business__area p {
  width: min(calc(580 / 1440 * 100vw), 580px);
}
.p-business__area img {
  width: calc(451 / 1440 * 100vw);
}
.p-business__flow .num {
  background-color: #1d7ccc;
  color: #fff;
  font-size: min(calc(50 / 1440 * 100vw), 5rem);
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  width: min(calc(100 / 1440 * 100vw), 100px);
  height: min(calc(100 / 1440 * 100vw), 100px);
  border-radius: 100px;
  text-align: center;
  line-height: 1.9;
}
.p-business__flow li {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: calc(67 / 1440 * 100vw);
  margin: calc(80 / 1440 * 100vw);
}
.p-business__flow--txt {
  margin-top: calc(30 / 1440 * 100vw);
}
.p-business__flow--txt h3 {
  font-size: min(calc(32 / 1440 * 100vw), 3.2rem);
  font-weight: 700;
  margin-bottom: calc(38 / 1440 * 100vw);
}
.p-business__flow--txt p {
  width: min(calc(470 / 1440 * 100vw), 470px);
}
.p-business__flow img {
  width: calc(480 / 1440 * 100vw);
}

@media screen and (max-width: 768px) {
  .mv {
    aspect-ratio: 480 / 804;
    background: url(../img/mv_sp.webp) no-repeat center;
    background-size: cover;
  }
  .p-mv_ttl {
    top: 50%;
  }
  .p-mv_ttl h1 {
    font-size: 3.2rem;
  }
  .p-business__lead {
    padding: 60px 4%;
    background-size: cover;
    background-position: center;
    aspect-ratio: unset;
  }
  .p-business__lead h3 {
    font-size: 2rem;
  }
  .p-business__ex {
    padding: 60px 4%;
  }
  .p-business__ex li {
    display: block;
    margin: 40px 0;
  }
  .p-business__ex--txt h3 {
    font-size: 2.4rem;
  }
  .p-business__ex--txt p {
    width: auto;
  }
  .p-business__ex img {
    width: auto;
    margin-top: 20px;
  }
  .p-business__flow li {
    display: block;
    margin: 40px 4%;
    position: relative;
  }
  .p-business__flow .num {
    position: absolute;
    width: 33px;
    height: 33px;
    font-size: 1.6rem;
  }
  .p-business__flow--txt h3 {
    font-size: 2.4rem;
    padding-left: calc(40 / 375 * 100vw);
  }
  .p-business__flow--txt {
    margin-top: 20px;
  }
  .p-business__flow--txt p {
    width: auto;
  }
  .p-business__flow img {
    width: auto;
    margin-top: 20px;
  }
}
/* -------------
greet
-----------------*/
#company .mv {
  aspect-ratio: 1440/536;
  background: url(../img/company_mv.webp) no-repeat center;
  background-size: cover;
}

.p-greet {
  padding: calc(76 / 1440 * 100vw) 0 0;
  background: url(../img/company_bg.webp) no-repeat;
  background-size: contain;
  aspect-ratio: 1440/640;
}
.p-greet__lead {
  max-width: min(calc(1200 / 1440 * 100vw), 1200px);
  margin: calc(60 / 1440 * 100vw) auto 0;
}
.p-greet__lead p {
  line-height: 2.8;
}
.p-company {
  padding: 0 0 calc(90 / 1440 * 100vw);
}
.p-company__flex {
  display: flex;
  justify-content: center;
  gap: calc(38 / 1440 * 100vw);
  align-items: flex-end;
}
.p-company__box h1 {
  font-size: min(calc(48 / 1440 * 100vw), 4.8rem);
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  color: #1d7ccc;
  margin-bottom: calc(66 / 1440 * 100vw);
}

.p-company__box dl {
  display: flex;
  align-items: center;
  font-size: min(calc(20 / 1440 * 100vw), 2rem);
  padding-bottom: calc(40 / 1440 * 100vw);
  border-bottom: solid 1px #1d7ccc;
  margin-top: calc(30 / 1440 * 100vw);
}
.p-company__box dt {
  color: #1d7ccc;
  width: calc(135 / 1440 * 100vw);
}
.map {
  width: calc(587 / 1440 * 100vw);
  aspect-ratio: 587/587;
}
.bnr {
  width: min(calc(427 / 1440 * 100vw), 427px);
  margin: calc(102 / 1440 * 100vw) auto calc(80 / 1440 * 100vw);
}
@media screen and (max-width: 768px) {
  #company .mv {
    aspect-ratio: 480 / 804;
    background: url(../img/company_mv_sp.webp) no-repeat center;
    background-size: cover;
  }

  .p-greet {
    padding: 60px 4%;
    background-size: cover;
    background-position: center;
    aspect-ratio: unset;
  }

  .p-greet__lead {
    max-width: unset;
  }
  .p-company {
    padding: 60px 4% 60px;
  }
  .p-company__flex {
    display: block;
  }
  .p-company__box h1 {
    font-size: 2.4rem;
  }
  .p-company__box dl {
    font-size: 1.6rem;
    margin-top: 20px;
    padding-bottom: 20px;
  }
  .p-company__box dt {
    width: 100px;
  }
  .map {
    width: auto;
    margin-top: 40px;
  }
  .bnr {
    width: auto;
  }
}
/* ------------
recruit
-----------------*/
#recruit .mv {
  aspect-ratio: 1440/536;
  background: url(../img/recruit_mv.webp) no-repeat center;
  background-size: cover;
}

.p-recruit__lead {
  padding: calc(41 / 1440 * 100vw) 0 calc(60 / 1440 * 100vw);
}
.p-recruit__lead h1 {
  line-height: 1.6;
}
.p-recruit__lead p {
  width: calc(940 / 1440 * 100vw);
  margin: calc(41 / 1440 * 100vw) auto 0;
}
.p-recruit {
  padding: calc(107 / 1440 * 100vw) 0 calc(161 / 1440 * 100vw);
}
.p-recruit__box {
  max-width: calc(1056 / 1440 * 100vw);
  margin: calc(58 / 1440 * 100vw) auto calc(53 / 1440 * 100vw);
}
.p-recruit__box dl {
  display: flex;
  font-size: min(calc(20 / 1440 * 100vw), 2rem);
  border-bottom: solid 1px #000;
}
.p-recruit__box dt {
  background-color: #d9d9d9;
  padding: calc(39 / 1440 * 100vw) 0;
  width: calc(300 / 1440 * 100vw);
  text-align: center;
  font-weight: 700;
}
.p-recruit__box dd {
  background-color: #f2f2f2;
  padding: calc(21 / 1440 * 100vw) 0 calc(21 / 1440 * 100vw)
    calc(30 / 1440 * 100vw);
  width: 100%;
  font-weight: 700;
  line-height: 2.6;
}
.p-recruit .c-btn {
  width: calc(340 / 1440 * 100vw);
  margin: 0 auto;
}
.p-recruit .c-btn a {
  font-size: min(calc(24 / 1440 * 100vw), 2.4rem);
}

@media screen and (max-width: 768px) {
  #recruit .mv {
    aspect-ratio: 480 / 804;
    background: url(../img/recruit_mv_sp.webp) no-repeat center;
    background-size: cover;
  }

  .p-recruit__lead {
    padding: 60px 4% 0;
  }
  .p-recruit__lead p {
    max-width: unset;
    margin: 20px 0;
    width: auto;
  }
  .p-recruit__box {
    max-width: unset;
    margin: 20px 4%;
  }
  .p-recruit__box dl {
    font-size: 1.6rem;
  }
  .p-recruit__box dt {
    width: 120px;
    padding: 20px 0;
  }
  .p-recruit__box dd {
    padding: 11px 10px;
  }
  .p-recruit .c-btn {
    width: 210px;
    padding: 20px 0;
  }
  .p-recruit .c-btn a {
    font-size: 1.6rem;
  }
}
/* --------------
contact
-----------------*/
#contact .mv {
  background: url(../img/contact_mv.webp) no-repeat;
  background-size: contain;
}
.p-contact {
  padding: calc(75 / 1440 * 100vw) 0 0;
}
.p-contact__lead {
  background-color: #f2f2f2;
  max-width: calc(1045 / 1440 * 100vw);
  padding: calc(28 / 1440 * 100vw) calc(21 / 1440 * 100vw);
  margin: calc(33 / 1440 * 100vw) auto calc(75 / 1440 * 100vw);
}
.p-contact__form {
  background-color: #fff;
  padding: calc(120 / 1920 * 100vw) 0;
  max-width: calc(1084 / 1920 * 100vw);
  margin: 0 auto;
}
.p-contact__form--box {
  width: 795px;
  margin: 0 auto;
}

.form-group {
  display: flex;
  border-bottom: 1px solid #d9d9d9;
}
.form-group.no-border {
  border-bottom: none;
}
.form-label {
  width: calc(300 / 1920 * 100vw);
  font-weight: 700;
  display: flex;
  font-size: min(calc(20 / 1920 * 100vw), 2rem);
  align-items: flex-start;
  padding-top: calc(30 / 1440 * 100vw);
  font-family: "Noto Serif JP", serif;
  padding: 20px 15px 20px 28px;
}

.form-input {
  flex: 1;
  padding: 20px 15px 20px 28px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1%;
}
.form-input p {
  width: 100%;
}
.form-input input {
  border: solid 2px #d9d9d9;
  height: 30px;
  border-radius: 5px;
}
.form-input.tel-inputs p,
.form-input.fax-inputs p {
  display: flex;
  align-items: center;
  gap: 1%;
}

.form-input.tel-inputs input,
.form-input.fax-inputs input {
  width: 124px;
  text-align: center;
}

.form-input input[type="text"],
.form-input input[type="email"],
.form-input textarea {
  width: 97%;
  border: 2px solid #d9d9d9;
  font-size: 14px;
  border-radius: 4px;
  padding: calc(10 / 1920 * 100vw);
}
.form-input textarea {
  height: 200px;
  width: 100%;
  resize: vertical;
}
.form-input input[type="text"][name^="tel"],
.form-input input[type="text"][name^="fax"] {
  width: 124px;
}

.form-input input[type="image"] {
  cursor: pointer;
  border: unset;
  border-radius: unset;
  margin: 100px auto;
}
.wpcf7 input[type="submit"] {
  background-color: #1d7ccc;
  width: calc(260 / 1440 * 100vw);
  margin: 0 auto;
  padding: calc(26 / 1440 * 100vw) 0;
  border: none;
  cursor: pointer;
  color: #fff;
  margin: calc(64 / 1440 * 100vw) auto 0;
  display: block;
  font-size: min(calc(24 / 1920 * 100vw), 2.4rem);
  border-radius: 100px;
}
.wpcf7-spinner {
  display: none !important;
}
.required {
  background-color: #da1212;
  color: #fff;
  font-size: calc(15 / 1920 * 100vw);
  padding: 3px 10px;
  margin-right: 18px;
}

@media screen and (max-width: 768px) {
  #contact .mv {
    aspect-ratio: 480 / 804;
    background: url(../img/contact_mv_sp.webp) no-repeat center;
    background-size: cover;
  }
  .p-contact {
    padding: 60px 0;
  }
  .p-contact__lead {
    max-width: unset;
    margin: 20px 4% 40px;
  }
  .p-contact__form {
    padding: 20px 4%;
    max-width: unset;
  }
  .form-group {
    display: block;
  }
  .form-label {
    font-size: 1.6rem;
    margin-top: 10px;
    width: auto;
  }
  .required {
    font-size: 1.2rem;
  }
  .form-input {
    padding: 10px 0;
  }
  .form-input input {
    height: 20px;
  }
  .radio label,
  .check label {
    font-size: 1.6rem;
  }
  .form-input input[type="text"],
  .form-input input[type="email"],
  .form-input textarea {
    padding: 5px;
  }
  .form-input textarea {
    width: 97%;
  }
  .wpcf7 input[type="submit"] {
    font-size: 2rem;
    width: 200px;
    height: 52px;
  }
}
