html body {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.6;
  color: #151b3c;
}

html body th {
  font-weight: inherit;
}

.c-watermark {
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  font-size: clamp(120px, 10.980966325vw, 180px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: clamp(2.4px, 0.2196193265vw, 3.6px);
  color: transparent;
  --outline-color: #fff;
}

.c-button p {
  font-size: clamp(10.4px, 0.9516837482vw, 15.6px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: clamp(0.208px, 0.019033675vw, 0.312px);
}

.c-button--blue,
.c-button--outline {
  color: #fff;
}

.c-button--white {
  color: #0276d9;
}

@media (hover: hover) and (pointer: fine) {
  .c-button--blue:hover,
  .c-button--outline:hover {
    color: #0276d9;
  }
}

@media (hover: hover) and (pointer: fine) {
  .c-button--white:hover {
    color: #fff;
  }
}

.p-contactCta__card * {
  transition: color 0.3s ease;
}

@media (hover: hover) and (pointer: fine) {
  .p-contactCta__card:hover * {
    color: #fff;
  }
}

.p-topCompany__value a,
.p-topCompany__value a p,
.p-topInstagram__captionLink,
.p-topInstagram__captionLink p,
a.p-footer__tel,
a.p-footer__tel p,
.p-footer__tel a,
.p-footer__tel a p {
  text-decoration-line: underline;
  text-decoration-thickness: 1px;
  text-decoration-color: transparent;
  text-underline-offset: 0.3em;
  transition: text-decoration-color 0.3s ease;
}
@media (hover: hover) and (pointer: fine) {
  .p-topCompany__value a:hover,
  .p-topCompany__value a:hover p,
  .p-topInstagram__captionLink:hover,
  .p-topInstagram__captionLink:hover p,
  a.p-footer__tel:hover,
  a.p-footer__tel:hover p,
  .p-footer__tel a:hover,
  .p-footer__tel a:hover p {
    text-decoration-line: underline;
    text-decoration-color: currentColor;
  }
}

.c-sectionTitle {
  color: #0276d9;
}

.c-sectionTitle--white {
  color: #fff;
}

.c-sectionTitle__en p {
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  font-size: clamp(58.4px, 5.3440702782vw, 87.6px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: clamp(1.168px, 0.1068814056vw, 1.752px);
}

.c-sectionTitle__ja {
  font-size: clamp(16px, 1.4641288433vw, 24px);
  font-weight: 700;
  line-height: clamp(25.6px, 2.3426061493vw, 38.4px);
  letter-spacing: clamp(0.32px, 0.0292825769vw, 0.48px);
}

.p-contactCta__title {
  font-size: clamp(56.8px, 5.1976573939vw, 85.2px);
  font-weight: 700;
  line-height: clamp(94px, 8.6017569546vw, 141px);
  color: #fff;
}

.p-contactCta__title::first-line {
  font-size: clamp(50.4px, 4.6120058565vw, 75.6px);
}

.p-contactCta__lead p {
  font-size: clamp(14.4px, 1.317715959vw, 21.6px);
  font-weight: 600;
  line-height: clamp(28.8px, 2.635431918vw, 43.2px);
  letter-spacing: clamp(0.288px, 0.0263543192vw, 0.432px);
  color: #fff;
}

.p-contactCta__cardEn {
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  font-size: clamp(32px, 2.9282576867vw, 48px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: clamp(0.64px, 0.0585651537vw, 0.96px);
  color: #0276d9;
}

.p-contactCta__cardTitle {
  font-size: clamp(12.8px, 1.1713030747vw, 19.2px);
  font-weight: 600;
  line-height: clamp(22.4px, 2.0497803807vw, 33.6px);
  letter-spacing: clamp(0.256px, 0.0234260615vw, 0.384px);
  color: #151b3c;
}

.p-contactCta__cardText {
  font-size: clamp(11.2px, 1.0248901903vw, 16.8px);
  font-weight: 500;
  line-height: clamp(22.4px, 2.0497803807vw, 33.6px);
  letter-spacing: clamp(0.224px, 0.0204978038vw, 0.336px);
  color: #151b3c;
}

.c-telNumber {
  font-size: clamp(24px, 2.196193265vw, 36px);
  font-weight: 600;
  line-height: 1;
  color: #151b3c;
}

.c-telHours {
  font-size: clamp(10px, 0.878477306vw, 14.4px);
  font-weight: 400;
  line-height: 1;
  color: #151b3c;
}

.c-blockTitle {
  font-size: clamp(24px, 2.196193265vw, 36px);
  font-weight: 700;
  line-height: clamp(38.4px, 3.513909224vw, 57.6px);
  color: #151b3c;
}

.c-textBlock--body p {
  font-size: clamp(12.8px, 1.1713030747vw, 19.2px);
  font-weight: 400;
  line-height: clamp(25.6px, 2.3426061493vw, 38.4px);
  letter-spacing: clamp(0.256px, 0.0234260615vw, 0.384px);
  color: #151b3c;
}

@media screen and (max-width: 1093px) {
  .c-button p {
    font-size: 13px;
    letter-spacing: 0.26px;
  }
  .c-sectionTitle__en p {
    font-size: clamp(44.8px, 7.2916666667vw, 67.2px);
    letter-spacing: clamp(0.896px, 0.1458333333vw, 1.344px);
  }
  .c-sectionTitle__ja {
    font-size: clamp(14.4px, 2.34375vw, 21.6px);
    line-height: clamp(23.04px, 3.75vw, 34.56px);
    letter-spacing: clamp(0.288px, 0.046875vw, 0.432px);
  }
  .p-contactCta__title {
    font-size: clamp(40px, 6.5104166667vw, 60px);
    line-height: clamp(65.6px, 10.6770833333vw, 98.4px);
  }
  .p-contactCta__title::first-line {
    font-size: clamp(35.2px, 5.7291666667vw, 52.8px);
  }
  .p-contactCta__lead p {
    font-size: clamp(12px, 1.953125vw, 18px);
    line-height: clamp(24px, 3.90625vw, 36px);
    letter-spacing: clamp(0.24px, 0.0390625vw, 0.36px);
  }
  .p-contactCta__cardEn {
    font-size: clamp(25.6px, 4.1666666667vw, 38.4px);
    letter-spacing: clamp(0.512px, 0.0833333333vw, 0.768px);
  }
  .p-contactCta__cardTitle {
    font-size: clamp(12.8px, 2.0833333333vw, 19.2px);
    line-height: clamp(22.4px, 3.6458333333vw, 33.6px);
    letter-spacing: clamp(0.256px, 0.0416666667vw, 0.384px);
  }
  .p-contactCta__cardText {
    font-size: clamp(11.2px, 1.8229166667vw, 16.8px);
    line-height: clamp(20.8px, 3.3854166667vw, 31.2px);
    letter-spacing: clamp(0.224px, 0.0364583333vw, 0.336px);
  }
  .c-telNumber {
    font-size: clamp(22.4px, 3.6458333333vw, 33.6px);
    white-space: nowrap;
  }
  .c-telHours {
    font-size: clamp(10px, 1.4322916667vw, 13.2px);
    line-height: 1.6;
  }
  .c-blockTitle {
    font-size: clamp(19.2px, 3.125vw, 28.8px);
    line-height: clamp(30.4px, 4.9479166667vw, 45.6px);
  }
  .c-textBlock--body p {
    font-size: clamp(12px, 1.953125vw, 18px);
    line-height: clamp(24px, 3.90625vw, 36px);
    letter-spacing: clamp(0.24px, 0.0390625vw, 0.36px);
  }
}
@media screen and (max-width: 767px) {
  .c-sectionTitle__en p {
    font-size: clamp(32px, 10.6666666667vw, 48px);
    letter-spacing: clamp(0.64px, 0.2133333333vw, 0.96px);
  }
  .c-sectionTitle__ja {
    font-size: clamp(12.8px, 4.2666666667vw, 19.2px);
    line-height: clamp(20.48px, 6.8266666667vw, 30.72px);
    letter-spacing: clamp(0.256px, 0.0853333333vw, 0.384px);
  }
  .p-contactCta__title {
    font-size: clamp(22.4px, 7.4666666667vw, 33.6px);
    line-height: clamp(38.4px, 12.8vw, 57.6px);
  }
  .p-contactCta__title::first-line {
    font-size: clamp(20px, 6.6666666667vw, 30px);
  }
  .p-contactCta__lead p {
    font-size: clamp(11.2px, 3.7333333333vw, 16.8px);
    line-height: clamp(22.4px, 7.4666666667vw, 33.6px);
    letter-spacing: clamp(0.224px, 0.0746666667vw, 0.336px);
  }
  .p-contactCta__cardEn {
    font-size: clamp(22.4px, 7.4666666667vw, 33.6px);
    letter-spacing: clamp(0.448px, 0.1493333333vw, 0.672px);
  }
  .p-contactCta__cardTitle {
    font-size: clamp(12.8px, 4.2666666667vw, 19.2px);
    line-height: clamp(22.4px, 7.4666666667vw, 33.6px);
    letter-spacing: clamp(0.256px, 0.0853333333vw, 0.384px);
  }
  .p-contactCta__cardText {
    font-size: clamp(10.4px, 3.4666666667vw, 15.6px);
    line-height: clamp(19.2px, 6.4vw, 28.8px);
    letter-spacing: clamp(0.208px, 0.0693333333vw, 0.312px);
  }
  .c-telNumber {
    font-size: clamp(20.8px, 6.9333333333vw, 31.2px);
  }
  .c-telHours {
    font-size: clamp(10px, 2.9333333333vw, 13.2px);
  }
  .c-blockTitle {
    font-size: clamp(17.6px, 5.8666666667vw, 26.4px);
    line-height: clamp(27.2px, 9.0666666667vw, 40.8px);
  }
  .c-textBlock--body p {
    font-size: clamp(11.2px, 3.7333333333vw, 16.8px);
    line-height: clamp(22.4px, 7.4666666667vw, 33.6px);
    letter-spacing: clamp(0.224px, 0.0746666667vw, 0.336px);
  }
}
@media screen and (max-width: 320px) {
  .c-button p {
    line-height: 1.3;
  }
  .c-telNumber {
    font-size: clamp(12px, (100vw - 111px) / 6.4, clamp(20.8px, 6.9333333333vw, 31.2px));
  }
}
@media screen and (min-width: 768px) and (max-width: 1093px) {
  .p-contactCta__card--mail .p-contactCta__cardText {
    font-size: clamp(12.4px, 2.0182291667vw, 18.6px);
    letter-spacing: clamp(0.248px, 0.0403645833vw, 0.372px);
  }
}
.p-header__logo p {
  font-size: clamp(14.4px, 1.317715959vw, 21.6px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: clamp(0.288px, 0.0263543192vw, 0.432px);
  color: #151b3c;
}

.p-header__navItem p {
  font-size: clamp(10.4px, 0.9516837482vw, 15.6px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: clamp(0.208px, 0.019033675vw, 0.312px);
  color: #151b3c;
  transition: color 0.3s ease;
}

@media (hover: hover) and (pointer: fine) {
  .p-header__navItem:hover p {
    color: #0276d9;
  }
}

.p-header__telNumber {
  font-size: clamp(16px, 1.4641288433vw, 24px);
  font-weight: 600;
  line-height: 1;
  color: #151b3c;
  transition: color 0.3s ease;
}

@media (hover: hover) and (pointer: fine) {
  .p-header__telNumber:hover {
    color: #0276d9;
  }
}

.p-header__telNumber a,
.p-header__telNumber a:hover {
  color: inherit;
}

.p-header__telHours {
  font-size: clamp(10px, 0.8052708638vw, 13.2px);
  font-weight: 300;
  line-height: 1;
  color: #151b3c;
  white-space: nowrap;
}

@media screen and (max-width: 1093px) {
  .p-header__menuButton,
  .p-header__menuButton:hover {
    color: #151b3c;
  }
  .p-header__logo p {
    font-size: 18px;
    letter-spacing: 0.36px;
  }
  .p-header__navItem p {
    font-size: clamp(12px, 1.953125vw, 18px);
    letter-spacing: clamp(0.24px, 0.0390625vw, 0.36px);
  }
  .p-header__telNumber {
    font-size: clamp(16px, 2.6041666667vw, 24px);
    white-space: nowrap;
  }
  .p-header__telHours {
    font-size: clamp(10px, 1.4322916667vw, 13.2px);
  }
}
@media screen and (max-width: 767px) {
  .p-header__navItem p {
    font-size: clamp(12px, 4vw, 18px);
    letter-spacing: clamp(0.24px, 0.08vw, 0.36px);
  }
  .p-header__telNumber {
    font-size: clamp(16px, 5.3333333333vw, 24px);
  }
  .p-header__telHours {
    font-size: clamp(10px, 2.9333333333vw, 13.2px);
  }
}
@media screen and (max-width: 320px) {
  .p-header__logo p {
    font-size: clamp(10px, (100vw - 82px) / 7.2, 18px);
    letter-spacing: 0;
  }
  .p-header__telNumber {
    font-size: clamp(12px, (100vw - 76px) / 6.6, clamp(16px, 5.3333333333vw, 24px));
  }
  .p-header__telHours {
    white-space: normal;
  }
}
.p-footer__name p {
  font-size: clamp(22.4px, 2.0497803807vw, 33.6px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: clamp(0.448px, 0.0409956076vw, 0.672px);
  color: #fff;
}

.p-footer__address p {
  font-size: clamp(10.4px, 0.9516837482vw, 15.6px);
  font-weight: 400;
  line-height: clamp(21.6px, 1.9765739385vw, 32.4px);
  color: #fff;
}

.p-footer__navItem p {
  font-size: clamp(10.4px, 0.9516837482vw, 15.6px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: clamp(0.208px, 0.019033675vw, 0.312px);
  color: #fff;
}

.p-footer__copyright {
  font-size: clamp(10px, 0.8052708638vw, 13.2px);
  font-weight: 400;
  line-height: 1;
  color: #fff;
}

@media screen and (max-width: 1093px) {
  .p-footer__name p {
    font-size: clamp(19.2px, 3.125vw, 28.8px);
    letter-spacing: clamp(0.384px, 0.0625vw, 0.576px);
  }
  .p-footer__address p {
    font-size: clamp(10px, 1.5625vw, 14.4px);
    line-height: clamp(19.2px, 3.125vw, 28.8px);
  }
  .p-footer__tel,
  .p-footer__tel p {
    white-space: nowrap;
  }
  .p-footer__navItem p {
    font-size: clamp(10px, 1.5625vw, 14.4px);
    letter-spacing: clamp(0.192px, 0.03125vw, 0.288px);
    white-space: nowrap;
  }
  .p-footer__copyright {
    font-size: clamp(10px, 1.3020833333vw, 12px);
  }
  .p-footer__watermark {
    font-size: 10.980966325vw;
    letter-spacing: 0.2196193265vw;
  }
}
@media screen and (max-width: 767px) {
  .p-footer__name p {
    font-size: clamp(17.6px, 5.8666666667vw, 26.4px);
    letter-spacing: clamp(0.352px, 0.1173333333vw, 0.528px);
  }
  .p-footer__address p {
    font-size: clamp(10px, 3.2vw, 14.4px);
    line-height: clamp(17.6px, 5.8666666667vw, 26.4px);
  }
  .p-footer__navItem p {
    font-size: clamp(10px, 2.9333333333vw, 13.2px);
    letter-spacing: clamp(0.176px, 0.0586666667vw, 0.264px);
  }
  .p-footer__copyright {
    font-size: clamp(10px, 2.6666666667vw, 12px);
  }
  .p-footer__watermark {
    font-size: calc(min(clamp(268px, 89.3333333333vw, 402px), 100vw - clamp(16px, 5.3333333333vw, 24px) * 2) / 5.949);
    letter-spacing: calc(min(clamp(268px, 89.3333333333vw, 402px), 100vw - clamp(16px, 5.3333333333vw, 24px) * 2) / 297.45);
  }
}
.p-lowerHero__breadcrumb p {
  font-size: clamp(10px, 0.878477306vw, 14.4px);
  font-weight: 400;
  line-height: clamp(11.52px, 1.0541727672vw, 17.28px);
  letter-spacing: clamp(0.192px, 0.0175695461vw, 0.288px);
  color: #fff;
}

.p-lowerHero__breadcrumb .p-lowerHero__breadcrumbCurrent {
  font-weight: 700;
}

.p-lowerHero__en {
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  font-size: clamp(58.4px, 5.3440702782vw, 87.6px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: clamp(1.168px, 0.1068814056vw, 1.752px);
  color: #fff;
}

.p-lowerHero__title {
  font-size: clamp(16px, 1.4641288433vw, 24px);
  font-weight: 700;
  line-height: clamp(25.6px, 2.3426061493vw, 38.4px);
  letter-spacing: clamp(0.32px, 0.0292825769vw, 0.48px);
  color: #fff;
}

.p-lowerHero__text p {
  font-size: clamp(12.8px, 1.1713030747vw, 19.2px);
  font-weight: 500;
  line-height: clamp(25.6px, 2.3426061493vw, 38.4px);
  letter-spacing: clamp(0.256px, 0.0234260615vw, 0.384px);
  color: #fff;
}

.p-lowerIntro__en {
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  font-size: clamp(32px, 2.9282576867vw, 48px);
  font-weight: 700;
  line-height: clamp(36px, 3.2942898975vw, 54px);
  letter-spacing: clamp(0.64px, 0.0585651537vw, 0.96px);
  color: #0276d9;
}

.p-lowerIntro__title {
  font-size: clamp(16px, 1.4641288433vw, 24px);
  font-weight: 700;
  line-height: clamp(25.6px, 2.3426061493vw, 38.4px);
  letter-spacing: clamp(0.32px, 0.0292825769vw, 0.48px);
  color: #0276d9;
}

.p-lowerIntro__catch {
  font-size: clamp(19.2px, 1.756954612vw, 28.8px);
  font-weight: 600;
  line-height: clamp(28.16px, 2.5768667643vw, 42.24px);
  letter-spacing: clamp(0.384px, 0.0351390922vw, 0.576px);
  color: #151b3c;
}

.p-lowerIntro__text p {
  font-size: clamp(12.8px, 1.1713030747vw, 19.2px);
  font-weight: 400;
  line-height: clamp(28.16px, 2.5768667643vw, 42.24px);
  letter-spacing: clamp(0.256px, 0.0234260615vw, 0.384px);
  color: #151b3c;
}

.p-lowerIntro__tel .c-telNumber {
  transition: color 0.3s ease;
}

@media (hover: hover) and (pointer: fine) {
  .p-lowerIntro__tel:hover .c-telNumber {
    color: #0276d9;
  }
}

.p-anchorNav__item p {
  font-size: clamp(10.4px, 0.9516837482vw, 15.6px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: clamp(0.208px, 0.019033675vw, 0.312px);
  color: #0276d9;
  transition: color 0.3s ease;
}

@media (hover: hover) and (pointer: fine) {
  .p-anchorNav__item:hover p {
    color: #fff;
  }
}

.c-cardNum {
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  font-size: clamp(64px, 5.8565153734vw, 96px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: clamp(-0.96px, -0.0585651537vw, -0.64px);
  color: transparent;
  --outline-color: #0276d9;
}

.c-cardTitle {
  font-size: clamp(20.8px, 1.9033674963vw, 31.2px);
  font-weight: 700;
  line-height: clamp(38.4px, 3.513909224vw, 57.6px);
  color: #151b3c;
}

.p-serviceItem__subTitle {
  font-size: clamp(14.4px, 1.317715959vw, 21.6px);
  font-weight: 600;
  line-height: clamp(37.6px, 3.4407027818vw, 56.4px);
  color: #151b3c;
}

.p-serviceItem__features p,
.p-serviceFaq__a p {
  font-size: clamp(12.8px, 1.1713030747vw, 19.2px);
  font-weight: 400;
  line-height: clamp(19.2px, 1.756954612vw, 28.8px);
  letter-spacing: clamp(0.256px, 0.0234260615vw, 0.384px);
  color: #151b3c;
}

.p-serviceFaq__q p {
  font-size: clamp(12.8px, 1.1713030747vw, 19.2px);
  font-weight: 600;
  line-height: clamp(19.2px, 1.756954612vw, 28.8px);
  letter-spacing: clamp(0.256px, 0.0234260615vw, 0.384px);
  color: #0276d9;
}

.p-serviceFaq__q::before,
.p-serviceFaq__a::before {
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  font-size: clamp(17.6px, 1.6105417277vw, 26.4px);
  font-weight: 700;
  line-height: clamp(19.2px, 1.756954612vw, 28.8px);
  letter-spacing: clamp(-0.264px, -0.0161054173vw, -0.176px);
}

.p-serviceFaq__q::before {
  color: #0276d9;
}

.p-serviceFaq__a::before {
  color: transparent;
  -webkit-text-stroke: 1px #0276d9;
}

.p-companyOutline__key p,
.p-companyOutline__value p {
  font-size: clamp(12.8px, 1.1713030747vw, 19.2px);
  line-height: 1;
  color: #151b3c;
}

.p-companyOutline__key p {
  font-weight: 600;
}

.p-companyOutline__value p {
  font-weight: 400;
}

.p-companyOutline__value a,
.p-companyOutline__value a p {
  transition: color 0.3s ease;
}

@media (hover: hover) and (pointer: fine) {
  .p-companyOutline__value a:hover {
    color: #0276d9;
  }
  .p-companyOutline__value a:hover p {
    color: #0276d9;
  }
}

.p-companyAccess__text p,
.p-companyMessage__text p,
.p-companyMessage__sign {
  font-size: clamp(12.8px, 1.1713030747vw, 19.2px);
  line-height: clamp(23.04px, 2.1083455344vw, 34.56px);
  color: #151b3c;
}

.p-companyAccess__text p,
.p-companyMessage__text p {
  font-weight: 400;
}

.p-companyMessage__sign {
  font-weight: 600;
}

.p-contactForm .labelText01 {
  font-size: clamp(12.8px, 1.1713030747vw, 19.2px);
  font-weight: 600;
  line-height: clamp(25.6px, 2.3426061493vw, 38.4px);
  color: #2c3c3a;
}

.p-contactForm .requiredText {
  font-size: clamp(10px, 0.878477306vw, 14.4px);
  font-weight: 700;
  line-height: clamp(19.2px, 1.756954612vw, 28.8px);
  color: #f9fafc;
}

.p-contactForm .formInput,
.p-contactForm .formTextArea {
  font-size: clamp(12.8px, 1.1713030747vw, 19.2px);
  line-height: 1.6;
  color: #2c3c3a;
}

.p-contactForm .formMemo p {
  font-size: clamp(10.4px, 0.9516837482vw, 15.6px);
  font-weight: 400;
  line-height: clamp(25.6px, 2.3426061493vw, 38.4px);
  color: #2c3c3a;
}

.p-contactForm .privacy-policy p {
  font-size: clamp(11.2px, 1.0248901903vw, 16.8px);
  font-weight: 500;
  line-height: clamp(22.4px, 2.0497803807vw, 33.6px);
  color: #2c3c3a;
}

.p-contactForm .privacy-policy a[href^="tel:"] {
  white-space: nowrap;
  transition: color 0.3s ease;
}
@media (hover: hover) and (pointer: fine) {
  .p-contactForm .privacy-policy a[href^="tel:"]:hover {
    color: #0276d9;
  }
}

.p-contactForm .privacyLabel p {
  font-size: clamp(11.2px, 1.0248901903vw, 16.8px);
  font-weight: 400;
  line-height: clamp(25.6px, 2.3426061493vw, 38.4px);
  color: #2c3c3a;
}

.p-contactForm .formBtn {
  font-size: clamp(10.4px, 0.9516837482vw, 15.6px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: clamp(0.208px, 0.019033675vw, 0.312px);
  color: #fff;
}
@media (hover: hover) and (pointer: fine) {
  .p-contactForm .formBtn:hover {
    color: #0276d9;
  }
}

@media screen and (max-width: 1093px) {
  .p-lowerHero__breadcrumb p {
    font-size: clamp(10px, 1.4322916667vw, 13.2px);
    line-height: clamp(10.56px, 1.71875vw, 15.84px);
    letter-spacing: clamp(0.176px, 0.0286458333vw, 0.264px);
  }
  .p-lowerHero__en {
    font-size: clamp(44.8px, 7.2916666667vw, 67.2px);
    letter-spacing: clamp(0.896px, 0.1458333333vw, 1.344px);
  }
  .p-lowerHero__title {
    font-size: clamp(14.4px, 2.34375vw, 21.6px);
    line-height: clamp(23.04px, 3.75vw, 34.56px);
    letter-spacing: clamp(0.288px, 0.046875vw, 0.432px);
  }
  .p-lowerHero__text p {
    font-size: clamp(11.2px, 1.8229166667vw, 16.8px);
    line-height: clamp(22.4px, 3.6458333333vw, 33.6px);
    letter-spacing: clamp(0.224px, 0.0364583333vw, 0.336px);
  }
  .p-lowerIntro__en {
    font-size: clamp(25.6px, 4.1666666667vw, 38.4px);
    line-height: clamp(30.4px, 4.9479166667vw, 45.6px);
    letter-spacing: clamp(0.512px, 0.0833333333vw, 0.768px);
  }
  .p-lowerIntro__title {
    font-size: clamp(14.4px, 2.34375vw, 21.6px);
    line-height: clamp(23.04px, 3.75vw, 34.56px);
    letter-spacing: clamp(0.288px, 0.046875vw, 0.432px);
  }
  .p-lowerIntro__catch {
    font-size: clamp(16px, 2.6041666667vw, 24px);
    line-height: clamp(24px, 3.90625vw, 36px);
    letter-spacing: clamp(0.32px, 0.0520833333vw, 0.48px);
  }
  .p-lowerIntro__text p {
    font-size: clamp(12px, 1.953125vw, 18px);
    line-height: clamp(24px, 3.90625vw, 36px);
    letter-spacing: clamp(0.24px, 0.0390625vw, 0.36px);
  }
  .p-anchorNav__item p {
    font-size: clamp(10.4px, 1.6927083333vw, 15.6px);
    line-height: 1.4;
    letter-spacing: clamp(0.208px, 0.0338541667vw, 0.312px);
  }
  .c-cardNum {
    font-size: clamp(44.8px, 7.2916666667vw, 67.2px);
    letter-spacing: clamp(-0.672px, -0.0729166667vw, -0.448px);
  }
  .c-cardTitle {
    font-size: clamp(17.6px, 2.8645833333vw, 26.4px);
    line-height: clamp(28.8px, 4.6875vw, 43.2px);
  }
  .p-serviceItem__subTitle {
    font-size: clamp(13.6px, 2.2135416667vw, 20.4px);
    line-height: clamp(35.2px, 5.7291666667vw, 52.8px);
  }
  .p-serviceItem__features p,
  .p-serviceFaq__a p,
  .p-serviceFaq__q p {
    font-size: clamp(12px, 1.953125vw, 18px);
    line-height: clamp(19.2px, 3.125vw, 28.8px);
    letter-spacing: clamp(0.24px, 0.0390625vw, 0.36px);
  }
  .p-serviceFaq__q::before,
  .p-serviceFaq__a::before {
    font-size: clamp(16px, 2.6041666667vw, 24px);
    line-height: clamp(19.2px, 3.125vw, 28.8px);
    letter-spacing: clamp(-0.24px, -0.0260416667vw, -0.16px);
  }
  .p-companyOutline__key p,
  .p-companyOutline__value p {
    font-size: clamp(12px, 1.953125vw, 18px);
    line-height: clamp(19.2px, 3.125vw, 28.8px);
  }
  .p-companyOutline__value a,
  .p-companyOutline__value a p {
    white-space: nowrap;
  }
  .p-companyAccess__text p,
  .p-companyMessage__text p,
  .p-companyMessage__sign {
    font-size: clamp(12px, 1.953125vw, 18px);
    line-height: clamp(21.6px, 3.515625vw, 32.4px);
  }
  .p-contactForm .labelText01 {
    font-size: clamp(12px, 1.953125vw, 18px);
    line-height: clamp(24px, 3.90625vw, 36px);
  }
  .p-contactForm .requiredText {
    font-size: 12px;
    line-height: 24px;
  }
  .p-contactForm .formInput,
  .p-contactForm .formTextArea {
    font-size: max(16px, clamp(12.8px, 2.0833333333vw, 19.2px));
  }
  .p-contactForm .formMemo p {
    font-size: clamp(10px, 1.5625vw, 14.4px);
    line-height: clamp(22.4px, 3.6458333333vw, 33.6px);
  }
  .p-contactForm .privacy-policy p {
    font-size: clamp(10.4px, 1.6927083333vw, 15.6px);
    line-height: clamp(19.2px, 3.125vw, 28.8px);
  }
  .p-contactForm .privacyLabel p {
    font-size: clamp(11.2px, 1.8229166667vw, 16.8px);
    line-height: clamp(20.8px, 3.3854166667vw, 31.2px);
  }
  .p-contactForm .formBtn {
    font-size: 13px;
    letter-spacing: 0.26px;
  }
  .c-cardTitle,
  .p-anchorNav__item p,
  .p-companyOutline__value p {
    text-wrap: balance;
  }
}
@media screen and (max-width: 767px) {
  .p-lowerHero__breadcrumb p {
    font-size: clamp(10px, 2.9333333333vw, 13.2px);
    line-height: clamp(10.56px, 3.52vw, 15.84px);
    letter-spacing: clamp(0.176px, 0.0586666667vw, 0.264px);
  }
  .p-lowerHero__en {
    font-size: clamp(32px, 10.6666666667vw, 48px);
    letter-spacing: clamp(0.64px, 0.2133333333vw, 0.96px);
  }
  .p-lowerHero__title {
    font-size: clamp(12.8px, 4.2666666667vw, 19.2px);
    line-height: clamp(20.48px, 6.8266666667vw, 30.72px);
    letter-spacing: clamp(0.256px, 0.0853333333vw, 0.384px);
  }
  .p-lowerHero__text p {
    font-size: clamp(11.2px, 3.7333333333vw, 16.8px);
    line-height: clamp(22.4px, 7.4666666667vw, 33.6px);
    letter-spacing: clamp(0.224px, 0.0746666667vw, 0.336px);
  }
  .p-lowerIntro__en {
    font-size: clamp(20.8px, 6.9333333333vw, 31.2px);
    line-height: clamp(25.6px, 8.5333333333vw, 38.4px);
    letter-spacing: clamp(0.416px, 0.1386666667vw, 0.624px);
  }
  .p-lowerIntro__title {
    font-size: clamp(12.8px, 4.2666666667vw, 19.2px);
    line-height: clamp(20.48px, 6.8266666667vw, 30.72px);
    letter-spacing: clamp(0.256px, 0.0853333333vw, 0.384px);
  }
  .p-lowerIntro__catch {
    font-size: clamp(14.4px, 4.8vw, 21.6px);
    line-height: clamp(21.6px, 7.2vw, 32.4px);
    letter-spacing: clamp(0.288px, 0.096vw, 0.432px);
  }
  .p-lowerIntro__text p {
    font-size: clamp(10.4px, 3.4666666667vw, 15.6px);
    line-height: clamp(20.8px, 6.9333333333vw, 31.2px);
    letter-spacing: clamp(0.208px, 0.0693333333vw, 0.312px);
  }
  .p-anchorNav__item p {
    font-size: clamp(10px, 3.2vw, 14.4px);
    letter-spacing: clamp(0.192px, 0.064vw, 0.288px);
  }
  .c-cardNum {
    font-size: clamp(38.4px, 12.8vw, 57.6px);
    letter-spacing: clamp(-0.576px, -0.128vw, -0.384px);
  }
  .c-cardTitle {
    font-size: clamp(16px, 5.3333333333vw, 24px);
    line-height: clamp(25.6px, 8.5333333333vw, 38.4px);
  }
  .p-serviceItem__subTitle {
    font-size: clamp(12.8px, 4.2666666667vw, 19.2px);
    line-height: clamp(32px, 10.6666666667vw, 48px);
  }
  .p-serviceItem__features p,
  .p-serviceFaq__a p,
  .p-serviceFaq__q p {
    font-size: clamp(11.2px, 3.7333333333vw, 16.8px);
    line-height: clamp(17.6px, 5.8666666667vw, 26.4px);
    letter-spacing: clamp(0.224px, 0.0746666667vw, 0.336px);
  }
  .p-serviceFaq__q::before,
  .p-serviceFaq__a::before {
    font-size: clamp(14.4px, 4.8vw, 21.6px);
    line-height: clamp(17.6px, 5.8666666667vw, 26.4px);
    letter-spacing: clamp(-0.216px, -0.048vw, -0.144px);
  }
  .p-companyOutline__key p,
  .p-companyOutline__value p {
    font-size: clamp(11.2px, 3.7333333333vw, 16.8px);
    line-height: clamp(17.6px, 5.8666666667vw, 26.4px);
  }
  .p-companyAccess__text p,
  .p-companyMessage__text p,
  .p-companyMessage__sign {
    font-size: clamp(11.2px, 3.7333333333vw, 16.8px);
    line-height: clamp(20.16px, 6.72vw, 30.24px);
  }
  .p-contactForm .labelText01 {
    font-size: clamp(12px, 4vw, 18px);
    line-height: clamp(22.4px, 7.4666666667vw, 33.6px);
  }
  .p-contactForm .formInput,
  .p-contactForm .formTextArea {
    font-size: max(16px, clamp(12.8px, 4.2666666667vw, 19.2px));
  }
  .p-contactForm .formMemo p {
    font-size: clamp(10px, 3.2vw, 14.4px);
    line-height: clamp(20.8px, 6.9333333333vw, 31.2px);
  }
  .p-contactForm .privacy-policy p {
    font-size: clamp(10.4px, 3.4666666667vw, 15.6px);
    line-height: clamp(19.2px, 6.4vw, 28.8px);
  }
  .p-contactForm .privacyLabel p {
    font-size: clamp(10.4px, 3.4666666667vw, 15.6px);
    line-height: clamp(19.2px, 6.4vw, 28.8px);
  }
}
@media screen and (max-width: 1365px) {
  .p-contactForm .privacy-policy p {
    text-wrap: pretty;
  }
}
@media screen and (max-width: 320px) {
  .p-contactForm .privacy-policy a[href^="tel:"] {
    font-size: clamp(10px, (100vw - 84px) / 6.6, 100%);
  }
}
@media screen and (max-width: 767px) {
  #print .p-serviceFaq__a p {
    font-size: clamp(10px, 3.3333333333vw, 15px);
    letter-spacing: clamp(0.2px, 0.0666666667vw, 0.3px);
  }
  #rubber .p-serviceFaq__a p {
    font-size: clamp(10.72px, 3.5733333333vw, 16.08px);
    letter-spacing: clamp(0.2144px, 0.0714666667vw, 0.3216px);
  }
  #maintenance .p-serviceFaq__a p {
    font-size: clamp(11.6px, 3.8666666667vw, 17.4px);
    letter-spacing: clamp(0.232px, 0.0773333333vw, 0.348px);
  }
  #maintenance .p-serviceFaq__item:nth-of-type(1) .p-serviceFaq__a p {
    font-size: clamp(10px, 3.3333333333vw, 15px);
    letter-spacing: clamp(0.2px, 0.0666666667vw, 0.3px);
  }
  #reason03 .p-reasonItem__text p {
    font-size: clamp(12.4px, 4.1333333333vw, 18.6px);
    letter-spacing: clamp(0.248px, 0.0826666667vw, 0.372px);
  }
  #rubber .p-serviceItem__text p,
  #polyurethane .p-serviceItem__text p,
  #message .p-companyMessage__text p {
    font-size: clamp(10.8px, 3.6vw, 16.2px);
    letter-spacing: clamp(0.216px, 0.072vw, 0.324px);
  }
  #message .p-companyMessage__text p:nth-of-type(2) {
    font-size: clamp(10.24px, 3.4133333333vw, 15.36px);
    letter-spacing: clamp(0.2048px, 0.0682666667vw, 0.3072px);
  }
}
@media screen and (min-width: 768px) and (max-width: 1093px) {
  #rubber .p-serviceItem__text p,
  #polyurethane .p-serviceItem__text p {
    font-size: clamp(11.44px, 1.8619791667vw, 17.16px);
    letter-spacing: clamp(0.2288px, 0.0372395833vw, 0.3432px);
  }
  #rubber .p-serviceFaq__a p {
    font-size: clamp(12.64px, 2.0572916667vw, 18.96px);
    letter-spacing: clamp(0.2528px, 0.0411458333vw, 0.3792px);
  }
  #reason02 .p-reasonItem__text p {
    font-size: clamp(12.4px, 2.0182291667vw, 18.6px);
    letter-spacing: clamp(0.248px, 0.0403645833vw, 0.372px);
  }
  #reason03 .p-reasonItem__text p {
    font-size: clamp(11.76px, 1.9140625vw, 17.64px);
    letter-spacing: clamp(0.2352px, 0.03828125vw, 0.3528px);
  }
}
.p-topFv__title {
  font-size: clamp(44px, 4.0263543192vw, 66px);
  font-weight: 700;
  line-height: clamp(61.6px, 5.6368960469vw, 92.4px);
  color: #fff;
}

.p-topFv__text p,
.p-topAbout__text p {
  font-size: clamp(12.8px, 1.1713030747vw, 19.2px);
  font-weight: 700;
  line-height: clamp(25.6px, 2.3426061493vw, 38.4px);
  letter-spacing: clamp(0.256px, 0.0234260615vw, 0.384px);
  color: #fff;
}

.p-topAbout__catch {
  font-size: clamp(25.6px, 2.3426061493vw, 38.4px);
  font-weight: 700;
  line-height: clamp(38.4px, 3.513909224vw, 57.6px);
  color: #fff;
}

.p-topService__num {
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  font-size: clamp(80px, 7.3206442167vw, 120px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: clamp(-1.2px, -0.0732064422vw, -0.8px);
  color: transparent;
  --outline-color: #fff;
}

.p-topService__title {
  font-size: clamp(20.8px, 1.9033674963vw, 31.2px);
  font-weight: 700;
  line-height: clamp(38.4px, 3.513909224vw, 57.6px);
  color: #fff;
}

.p-topService__text p {
  font-size: clamp(11.2px, 1.0248901903vw, 16.8px);
  font-weight: 700;
  line-height: clamp(22.4px, 2.0497803807vw, 33.6px);
  letter-spacing: clamp(0.224px, 0.0204978038vw, 0.336px);
  color: #fff;
}

.p-topCompany__key p,
.p-topCompany__value p {
  font-size: clamp(12.8px, 1.1713030747vw, 19.2px);
  line-height: 1;
  color: #fff;
}

.p-topCompany__key p {
  font-weight: 600;
}

.p-topCompany__value p {
  font-weight: 400;
}

.p-topInstagram__caption {
  font-size: clamp(11.2px, 1.0248901903vw, 16.8px);
  font-weight: 500;
  line-height: clamp(19.2px, 1.756954612vw, 28.8px);
  letter-spacing: clamp(0.224px, 0.0204978038vw, 0.336px);
  color: #fff;
}

@media screen and (min-width: 1367px) {
  .p-topFv__watermark {
    font-size: 10.981vw;
    letter-spacing: 0.2196vw;
  }
}
@media screen and (max-width: 1093px) {
  .p-topInstagram__caption {
    font-size: clamp(11.2px, 1.8229166667vw, 16.8px);
    line-height: clamp(19.2px, 3.125vw, 28.8px);
    letter-spacing: clamp(0.224px, 0.0364583333vw, 0.336px);
    text-wrap: pretty;
  }
  .p-topFv__title {
    font-size: clamp(35.2px, 5.7291666667vw, 52.8px);
    line-height: clamp(49.28px, 8.0208333333vw, 73.92px);
  }
  .p-topFv__text p,
  .p-topAbout__text p {
    font-size: clamp(12px, 1.953125vw, 18px);
    line-height: clamp(24px, 3.90625vw, 36px);
    letter-spacing: clamp(0.24px, 0.0390625vw, 0.36px);
  }
  .p-topFv__watermark {
    font-size: 10.980966325vw;
    letter-spacing: 0.2196193265vw;
  }
  .p-topAbout__catch {
    font-size: clamp(20.8px, 3.3854166667vw, 31.2px);
    line-height: clamp(31.2px, 5.078125vw, 46.8px);
  }
  .p-topService__num {
    font-size: clamp(51.2px, 8.3333333333vw, 76.8px);
    letter-spacing: clamp(-0.768px, -0.0833333333vw, -0.512px);
  }
  .p-topService__title {
    font-size: clamp(15.2px, 2.4739583333vw, 22.8px);
    line-height: clamp(24px, 3.90625vw, 36px);
  }
  .p-topService__text p {
    font-size: clamp(10px, 1.5625vw, 14.4px);
    line-height: clamp(19.2px, 3.125vw, 28.8px);
    letter-spacing: clamp(0.192px, 0.03125vw, 0.288px);
  }
  .p-topCompany__key p,
  .p-topCompany__value p {
    font-size: clamp(12px, 1.953125vw, 18px);
    line-height: clamp(19.2px, 3.125vw, 28.8px);
  }
  .p-topService__title,
  .p-topCompany__value p {
    text-wrap: balance;
  }
  .p-topCompany__value a,
  .p-topCompany__value a p {
    white-space: nowrap;
  }
}
@media screen and (max-width: 767px) {
  .p-topInstagram__caption {
    font-size: clamp(10px, 3.2vw, 14.4px);
    line-height: clamp(16px, 5.3333333333vw, 24px);
    letter-spacing: clamp(0.192px, 0.064vw, 0.288px);
  }
  .p-topFv__title {
    font-size: clamp(24px, 8vw, 36px);
    line-height: clamp(33.6px, 11.2vw, 50.4px);
  }
  .p-topFv__text p {
    font-size: clamp(11.2px, 3.7333333333vw, 16.8px);
    line-height: clamp(22.4px, 7.4666666667vw, 33.6px);
    letter-spacing: clamp(0.224px, 0.0746666667vw, 0.336px);
  }
  .p-topAbout__text p {
    font-size: clamp(10px, 3.3333333333vw, 15px);
    line-height: clamp(20px, 6.6666666667vw, 30px);
    letter-spacing: clamp(0.2px, 0.0666666667vw, 0.3px);
  }
  .p-topFv__watermark {
    font-size: calc(min(clamp(268px, 89.3333333333vw, 402px), 100vw - clamp(16px, 5.3333333333vw, 24px) * 2) / 5.949);
    letter-spacing: calc(min(clamp(268px, 89.3333333333vw, 402px), 100vw - clamp(16px, 5.3333333333vw, 24px) * 2) / 297.45);
  }
  .p-topAbout__catch {
    font-size: clamp(17.6px, 5.8666666667vw, 26.4px);
    line-height: clamp(26.4px, 8.8vw, 39.6px);
  }
  .p-topService__num {
    font-size: clamp(44.8px, 14.9333333333vw, 67.2px);
    letter-spacing: clamp(-0.672px, -0.1493333333vw, -0.448px);
  }
  .p-topService__title {
    font-size: clamp(16px, 5.3333333333vw, 24px);
    line-height: clamp(25.6px, 8.5333333333vw, 38.4px);
  }
  .p-topService__text p {
    font-size: clamp(10px, 3.2vw, 14.4px);
    line-height: clamp(19.2px, 6.4vw, 28.8px);
    letter-spacing: clamp(0.192px, 0.064vw, 0.288px);
  }
  .p-topCompany__key p,
  .p-topCompany__value p {
    font-size: clamp(11.2px, 3.7333333333vw, 16.8px);
    line-height: clamp(17.6px, 5.8666666667vw, 26.4px);
  }
}
@media screen and (max-width: 339px) {
  .p-topAbout__text p {
    letter-spacing: 0;
  }
}
