@charset "UTF-8";
body {
  color: var(--color-text);
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  line-height: 1.8;
}

button {
  font: inherit;
}

.c-sectionLabel {
  color: var(--color-green-bright);
  font-family: "Urbanist", "Arial", sans-serif;
  font-size: 58px;
  font-weight: 500;
  line-height: 1;
}

.c-sectionLabel--white {
  color: #ffffff;
}

.c-sectionTitle h2 {
  color: #505050;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
}

.c-sectionTitle--white h2 {
  color: #ffffff;
}

.c-moreLink {
  color: var(--color-green);
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1.8;
}

.c-moreLink--white {
  color: #ffffff;
}

.p-servicePage__plusLinks .c-moreLink,
.p-servicePage__consultLinks .c-moreLink {
  color: #009c77;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
}

.c-ribbonLabel,
.c-ribbonLabel p {
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 28px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08em;
}

.c-sectionNav__heading .c-lowerEyebrow {
  color: var(--section-nav-eyebrow-color, #20bcb0);
  font-family: "Urbanist", "Arial", sans-serif;
  font-size: var(--section-nav-eyebrow-size, 26px);
  font-weight: var(--section-nav-eyebrow-weight, 700);
  line-height: var(--section-nav-eyebrow-line-height, 1);
  letter-spacing: var(--section-nav-eyebrow-letter-spacing, 0);
}

.c-sectionNav__heading h2 {
  color: var(--section-nav-title-color, #3c3c3c);
  font-size: var(--section-nav-title-size, 16px);
  font-weight: 700;
  line-height: var(--section-nav-title-line-height, 1.25);
  letter-spacing: var(--section-nav-title-letter-spacing, 0);
}

.c-sectionNav__link,
.c-sectionNav__link p {
  color: var(--section-nav-link-color, #00a49d);
  font-size: var(--section-nav-link-size, 14px);
  font-weight: 700;
  line-height: var(--section-nav-link-line-height, 1);
  letter-spacing: var(--section-nav-link-letter-spacing, 0);
}

.c-sideVisualLead__headlineText,
.c-sideVisualLead__headlineAccent,
.c-sideVisualLead__title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.42;
  letter-spacing: 2.3px;
}

.c-sideVisualLead__headlineText,
.c-sideVisualLead__title {
  color: #333333;
}

.c-sideVisualLead__headlineAccent {
  color: #ffffff;
}

.c-sideVisualLead__lead p {
  color: #3c3c3c;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 2.3;
  letter-spacing: 0.6px;
}

.p-medicalPage__panel .c-sideVisualLead__heading p,
.p-medicalPage__panel .c-sideVisualLead__heading h2 {
  letter-spacing: 2.3px !important;
}

@media screen and (max-width: 768px) {
  .c-sectionLabel {
    font-size: 42px;
  }
  .c-ribbonLabel,
  .c-ribbonLabel p {
    font-size: 24px;
  }
  .c-sideVisualLead__headlineText,
  .c-sideVisualLead__headlineAccent,
  .c-sideVisualLead__title {
    font-size: 24px;
  }
  .c-sideVisualLead__lead p {
    font-size: 15px;
  }
}
@media screen and (max-width: 600px) {
  .c-sectionNav__heading .c-lowerEyebrow {
    font-size: var(--section-nav-eyebrow-size-sp, 22px);
    line-height: var(--section-nav-eyebrow-line-height-sp, 1);
  }
  .c-sectionNav__heading h2 {
    font-size: var(--section-nav-title-size-sp, 14px);
  }
  .p-servicePage__plusLinks .c-moreLink,
  .p-servicePage__consultLinks .c-moreLink {
    font-size: 13px;
  }
}
.p-contact .row label,
.p-entry .row label {
  color: #5a5a5a;
  font-size: 14px;
  line-height: 1.43;
  letter-spacing: 0;
}

.p-contact .row > .formTh > .requiredText,
.p-contact .row > .formTh > .anyText,
.p-entry .row > .formTh > .requiredText,
.p-entry .row > .formTh > .anyText {
  color: #ffffff;
  font-size: 12px;
  line-height: 1;
}

.p-contact .row > .formTd > input,
.p-contact .row > .formTd > textarea,
.p-contact .row > .formTd > div > div > select,
.p-entry .row > .formTd > input,
.p-entry .row > .formTd > textarea,
.p-entry .row > .formTd > div > div > select {
  color: #555555;
  font-size: 14px;
  line-height: 1.7;
  letter-spacing: 0.5px;
}

.p-contact .row > .formTd > input::placeholder,
.p-contact .row > .formTd > textarea::placeholder,
.p-entry .row > .formTd > input::placeholder,
.p-entry .row > .formTd > textarea::placeholder {
  color: #9a9a9a;
  font-size: 14px;
  line-height: 1;
  letter-spacing: 0.5px;
  opacity: 1;
}

.p-entry__dateRowLabel {
  color: #333333;
  font-size: 13px;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0;
}

.p-entry__dateUnit {
  color: #333333;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: normal !important;
  letter-spacing: 0 !important;
}

.p-entry__dateField select,
.p-entry__dateInput {
  color: #333333;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: normal !important;
  letter-spacing: 0 !important;
}

.p-entry__uploadText {
  color: #555555;
  font-size: 14px;
  line-height: 1.43;
  letter-spacing: 0;
}

.p-entry__uploadNotes p,
.fileCaution {
  color: #555555;
  font-size: 13px;
  line-height: 1.54;
  letter-spacing: 0;
}

.privacy-policy__title {
  color: #464646;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 1.08px;
}

.privacy-policy__text p {
  color: #464646;
  font-size: 14px;
  font-weight: 500;
  line-height: 2.2;
  letter-spacing: 0;
}

.formBtn {
  color: #ffffff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 1px;
  text-align: center;
  transition: color 0.3s ease;
}

.formBtn:hover,
.formBtn:focus-visible,
.formBtn:active {
  color: #07a383;
}

.privacyLabel,
.privacyLabel p {
  color: #424d58;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0;
}

.p-complete__fin p,
.p-complete__fin h2 {
  color: #3c3c3c;
  font-size: 40px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.65px;
}

.p-complete__desc p {
  color: #3c3c3c;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.65px;
}

.p-page__btn .c-link p {
  color: #ffffff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.06em;
  transition: color 0.3s ease;
}

@media (any-hover: hover) {
  .p-page__btn .c-link:hover p {
    color: var(--color-green);
  }
}
@media screen and (max-width: 1365px) {
  .p-complete__fin p,
  .p-complete__fin h2 {
    font-size: clamp(20px, 2.5622254758vw, 35px);
  }
  .p-complete__desc p {
    font-size: clamp(12px, 1.317715959vw, 18px);
  }
}
@media screen and (max-width: 768px) {
  .p-contact .row label,
  .p-contact .row > .formTd > input,
  .p-contact .row > .formTd > textarea,
  .p-contact .row > .formTd > div > div > select,
  .p-contact .row > .formTd > input::placeholder,
  .p-contact .row > .formTd > textarea::placeholder,
  .p-entry .row label,
  .p-entry .row > .formTd > input,
  .p-entry .row > .formTd > textarea,
  .p-entry .row > .formTd > div > div > select,
  .p-entry .row > .formTd > input::placeholder,
  .p-entry .row > .formTd > textarea::placeholder,
  .privacy-policy__text p,
  .privacyLabel,
  .privacyLabel p,
  .formBtn {
    font-size: 12px;
  }
  .p-entry__uploadText,
  .p-entry__uploadNotes p,
  .fileCaution {
    font-size: 12px;
  }
}
@media screen and (max-width: 600px) {
  .p-complete__fin p,
  .p-complete__fin h2 {
    line-height: 1.2;
  }
  .p-complete__desc p {
    line-height: 2;
  }
}
.p-header__nav {
  color: #151515;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.45;
}

.p-header__nav a {
  line-height: 1.45;
}

.p-header__contact p {
  color: #fff;
  font-size: 13px;
  font-weight: 700;
}

/* Contact / Entry 直前フッターパーツ */
.p-contact .c-sectionLabel {
  font-size: 47px;
}

.p-contact__card {
  color: #ffffff;
}

.p-contact__card > p:not(.p-contact__cta) {
  font-size: 14px;
  font-weight: 500;
  line-height: 2.25;
}

/* CMSではボタン文言が <p> で入るため、文字色と太さは実テキスト側へ集約する。 */
.p-contact__cta p {
  color: var(--color-green);
  font-size: 14px;
  font-weight: 600;
}

.p-footer__info p {
  color: #003c36;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: -0.2px;
}

/* CMSの電話・メールリンクは本文と同じ見え方にそろえる。 */
.p-footer__info a {
  color: inherit;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.2px;
}

.p-footer__info a p {
  color: inherit;
  letter-spacing: 0.2px;
}

.p-footer__info a:hover,
.p-footer__info a:focus-visible {
  color: var(--color-green);
}

.p-footer__nav p {
  color: #003c36;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.5px;
}

.p-footer__copy {
  color: #003c36;
  font-size: 11px;
}

.p-to-top {
  color: #444444;
}

.p-to-top__text p {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
}

@media screen and (max-width: 900px) {
  .p-to-top__text p {
    font-size: 11px;
  }
}
.p-breadcrumb {
  color: rgba(255, 255, 255, 0.82);
  font-size: 12px;
  font-weight: 500;
}

.p-breadcrumb a {
  color: inherit;
}

.c-lowerFv__heading h1 {
  color: #ffffff;
}

.c-lowerFv__subTitle,
.p-aboutFv__subTitle,
.c-lowerFv__heading h1:not(.c-sectionLabel) {
  color: #ffffff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.03em;
}

.c-lowerFv__subTitle,
.p-aboutFv__subTitle {
  --lower-fv-sub-line-width: clamp(15px, calc(23 / 1366 * 100vw), 23px);
  --lower-fv-sub-line-gap: clamp(10px, calc(15 / 1366 * 100vw), 15px);
  position: relative;
  display: inline-block;
  margin-left: 0;
  padding-left: calc(var(--lower-fv-sub-line-width) + var(--lower-fv-sub-line-gap));
}

.c-lowerFv__subTitle::before,
.p-aboutFv__subTitle::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: var(--lower-fv-sub-line-width);
  border-top: 4px solid #ffffff;
  transform: translateY(-50%);
}

.c-lowerFv__heading .c-sectionLabel {
  font-size: clamp(35px, 4.2459736457vw, 58px);
}

@media screen and (max-width: 1024px) {
  .c-lowerFv__heading .c-sectionLabel {
    font-size: clamp(50px, 5.6640625vw, 58px);
  }
}
.c-lowerFv__subTitle {
  font-size: clamp(12px, 1.1713030747vw, 16px);
}

@media screen and (max-width: 1024px) {
  .c-lowerFv__subTitle {
    font-size: clamp(12px, 1.5625vw, 16px);
  }
}
.p-about__lead,
.p-about__introList,
.p-servicePage__lead,
.p-medicalManage__lead,
.p-medicalManage__intro,
.p-medicalManage__body,
.p-medicalManage__areaBody,
.p-medicalManage__note {
  color: #3c3c3c;
}

.p-about__lead p,
.p-about__introItem > p,
.p-about__valueText p,
.p-servicePage__lead p,
.p-medicalManage__lead p,
.p-medicalManage__intro p,
.p-medicalManage__body p,
.p-medicalManage__areaBody p,
.p-medicalManage__note p {
  font-size: 16px;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.4px;
}

.p-servicePage__lead p {
  line-height: 2.2;
}

.p-medicalManage__note p {
  line-height: 1.9;
}

.c-lowerHeading.p-about__introHeading h2 {
  color: #ffffff;
  font-size: 34px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.08em;
}

@media screen and (max-width: 1366px) {
  .c-lowerHeading.p-about__introHeading h2 {
    font-size: max(2.4890190337vw, 23px);
  }
}
.c-lowerMarquee {
  color: rgba(255, 255, 255, 0.8);
  font-family: "Urbanist", "Arial", sans-serif;
  font-size: 131px;
  font-weight: 700;
  line-height: 1;
}

@media screen and (max-width: 1366px) {
  .c-lowerMarquee {
    font-size: max(9.5900439239vw, 55px);
  }
}
.c-lowerEyebrow {
  color: #62c36f;
  font-family: "Urbanist", "Arial", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.6px;
}

.c-lowerHeading h2 {
  color: #00a49d;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.4;
}

.p-newsDetailArticle__back {
  color: #ffffff;
}

.p-newsDetailArticle__back p {
  font-size: 15px;
  font-weight: 600;
}

.c-lowerHeading--inline .c-lowerEyebrow {
  color: #20bcb0;
  font-family: "Urbanist", "Arial", sans-serif;
  font-size: 44px;
  font-weight: 700;
  line-height: 1;
}

.c-lowerHeading--inline h2 {
  color: #3c3c3c;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
}

.p-servicePage__introHeading .c-lowerEyebrow {
  color: #20bcb0;
  font-family: "Urbanist", "Arial", sans-serif;
  font-size: 44px;
  font-weight: 700;
  line-height: 40px;
  letter-spacing: 0;
}

.p-servicePage__introHeading h2 {
  color: #505050;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.25;
}

.c-lowerHeading--center h2 {
  line-height: 1.5;
}

.c-problemCard,
.c-featureCard,
.c-flowStep,
.c-faq__item,
.c-infoTable,
.p-servicePage__feature,
.p-recruitPage__interviewCard,
.p-recruitPage__timelineItem {
  color: #3c3c3c;
}

.c-problemCard p,
.c-featureCard__body p,
.c-faq__answer p,
.p-servicePage__feature p,
.p-recruitPage__interviewCard p,
.p-recruitPage__timelineBody p {
  font-size: 14px;
  font-weight: 500;
  line-height: 2.15;
  letter-spacing: 0.35px;
}

.c-plusPage__problems .c-problemCard p {
  font-size: 16px;
  font-weight: 500;
  line-height: 2.3;
  letter-spacing: 0.7px;
}

.c-plusPage__introAction p {
  color: #ffffff;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.02em;
  text-align: center;
}

.c-featureCard__index,
.c-flowStep__marker .c-flowStep__step {
  color: #ffffff;
  font-family: "Urbanist", "Arial", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  margin-top: 13px;
}

.c-featureCard__title,
.c-flowStep__title,
.c-faq__questionText,
.p-servicePage__featureTitle,
.p-recruitPage__tab p,
.p-recruitPage__roleName,
.p-recruitPage__interviewName,
.p-recruitPage__timelineTitle {
  color: #009c77;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.55;
}

.p-servicePage__featureTitle {
  font-size: 18px;
}

.c-featureCard__title {
  letter-spacing: 1px;
}

.c-featureCard__text,
.c-flowStep__text,
.c-faq__answerText,
.c-infoTable__value,
.p-about__messageColumn p,
.p-servicePage__featureText,
.p-recruitPage__overviewBody > p,
.p-recruitPage__catchSub,
.p-recruitPage__interviewText,
.p-recruitPage__timelineText {
  font-size: 14px;
  font-weight: 500;
  line-height: 2.15;
  letter-spacing: 0.35px;
}

.p-servicePage__featureText {
  letter-spacing: 0;
}

.c-faq--static .c-faq__answerText {
  line-height: 2.45;
}

.c-featureCard__text {
  letter-spacing: 0.55px;
}

.p-medicalManage__lead--top p {
  font-size: 16px;
  font-weight: 500;
  line-height: 2.4;
  letter-spacing: 0.3px;
}

.p-about__messageColumn p {
  line-height: 2.3;
  letter-spacing: 0.2px;
}

.c-plusPage__flow .c-flowStep__title {
  font-size: 18px;
  line-height: 1.45;
}

.c-plusPage__flow .c-flowStep__text {
  font-size: 14px;
  line-height: 2.15;
  letter-spacing: 0.35px;
}

.p-servicePage__featureSectionLead {
  color: #3c3c3c;
  font-size: 14px;
  font-weight: 500;
  line-height: 2.15;
  letter-spacing: 0.35px;
}

.c-flowStep__marker .c-flowStep__number {
  color: #ffffff;
  font-family: "Urbanist", "Arial", sans-serif;
  font-size: 40px;
  font-weight: 500;
  line-height: 1;
}

.c-faq__question {
  color: #3c3c3c;
}

.c-faq__questionSymbol {
  color: #62c36f;
  font-family: "Urbanist", "Arial", sans-serif;
  font-size: 16px;
  font-weight: 500;
}

.c-faq__answerSymbol {
  color: #00a49d;
  font-family: "Urbanist", "Arial", sans-serif;
  font-size: 16px;
  font-weight: 500;
}

.c-faq__questionText {
  color: #3c3c3c;
  font-size: 14px;
  font-weight: 600;
  line-height: 2;
  letter-spacing: 0.5px;
}

.c-infoTable__key {
  color: #20bcb0;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.8;
}

.c-infoTable__value {
  color: #454545;
}

.p-about__signature p {
  color: #3c3c3c;
}

.p-about__signatureCompany p {
  font-size: 10px;
  font-weight: 500;
  line-height: 1.9;
  letter-spacing: 1.5px;
}

.p-about__signaturePeople p {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.9;
  letter-spacing: 0.3px;
}

.p-servicePage__nav p {
  color: #00a49d;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
}

.p-servicePage__label {
  color: #62c36f;
  font-family: "Urbanist", "Arial", sans-serif;
  font-size: 16px;
  font-weight: 500;
}

.p-servicePage__groupTitle {
  color: #00a49d;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.4;
}

.p-servicePage__featureSectionTitle {
  color: #00a49d;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
}

.p-servicePage__catch {
  color: #0c7470;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.3px;
}

.p-medicalManage__title {
  color: #00a49d;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.65;
}

.p-medicalManage__quote {
  color: #3c3c3c;
  font-size: 14px;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.35px;
}

.p-medicalManage__areaTitle {
  color: #00a49d;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.8;
}

.p-medicalManage__areaBody p {
  font-size: 16px;
  font-weight: 500;
}

.p-medicalManage__highlight {
  color: #20bcb0;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.85;
  letter-spacing: 2px;
}

.p-medicalIntro__action p {
  grid-column: 2;
  width: 100%;
  color: #ffffff;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.02em;
  text-align: center;
}

.p-servicePage__featureNo {
  color: #ffffff;
  font-family: "Urbanist", "Arial", sans-serif;
  font-size: 16px;
  font-weight: 500;
}

@media screen and (max-width: 450px) {
  .p-shopDetailArticle__article .post-ttl {
    font-size: 20px;
    line-height: 1.65;
  }
  .p-shopDetail__serviceLabel {
    line-height: 1.8;
    letter-spacing: 0;
  }
}
.p-recruitPage__tab p {
  color: #00a49d;
  font-size: 14px;
  text-align: center;
}

.p-recruitPage__label {
  color: #62c36f;
  font-family: "Urbanist", "Arial", sans-serif;
  font-size: 16px;
  font-weight: 500;
}

.p-recruitPage__roleName {
  font-size: 28px;
}

.p-recruitPage__catch {
  color: #0c7470;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.6;
}

.p-recruitPage__overviewBody > p,
.p-recruitPage__catchSub {
  font-size: 16px;
  line-height: 2.05;
}

.p-recruitPage__interviewYear {
  color: #62c36f;
  font-size: 14px;
  font-weight: 500;
}

.p-recruitPage__interviewName {
  font-size: 22px;
}

.p-recruitPage__timelineTime {
  color: #b0e0b9;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
}

.p-recruitPage__timelineTitle {
  color: #3c3c3c;
}

/* ===== 採用情報ページ（fig実測 2026-06-08 / Urbanist・Noto Sans JP） ===== */
/* S3 職種一覧ナビ */
/* S4-8 職種詳細ブロック */
.p-recruitJob__catch {
  color: #0c7470;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.75;
}

.p-recruitJob__lead p {
  color: #3c3c3c;
  font-size: 16px;
  font-weight: 500;
  line-height: 2.375;
  letter-spacing: 0.48px;
}

.p-recruitJob__subHeading h3 {
  color: #00a49d;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
}

.p-recruitJob__interviewName {
  color: #00a49d;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.4;
}

.p-recruitJob__interviewYear {
  color: #62c36f;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
}

.p-recruitJob__interviewText p {
  color: #3c3c3c;
  font-size: 14px;
  font-weight: 500;
  line-height: 2.357;
  letter-spacing: 0.1px;
}

.p-recruitJob__flowTime p {
  color: var(--flow-accent, #b0e0b9);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.6px;
}

.p-recruitJob__flowTitle {
  color: #00a49d;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 1.2px;
}

.p-recruitJob__flowBody > p:last-child {
  color: #3c3c3c;
  font-size: 14px;
  font-weight: 500;
  line-height: 2.357;
  letter-spacing: 0.42px;
}

@media screen and (max-width: 1100px) {
  .p-recruitJob__catch {
    font-size: 22px;
    line-height: 1.65;
  }
}
@media screen and (max-width: 768px) {
  .p-medicalManage__title {
    font-size: 24px;
    line-height: 1.55;
  }
  .p-medicalManage__highlight {
    letter-spacing: 0.8px;
  }
  .p-recruitJob__catch {
    font-size: 20px;
    line-height: 1.6;
  }
  .p-recruitJob__lead p {
    font-size: 15px;
    line-height: 2.15;
    letter-spacing: 0.24px;
  }
  .p-recruitJob__subHeading h3 {
    font-size: 22px;
  }
  .p-recruitJob__interviewName {
    font-size: 20px;
  }
  .p-recruitJob__interviewText p {
    line-height: 2.15;
  }
  .p-recruitJob__flowTime p {
    font-size: 18px;
  }
  .p-recruitJob__flowTitle {
    font-size: 18px;
    letter-spacing: 0.6px;
  }
  .p-recruitJob__flowBody > p:last-child {
    line-height: 2.15;
    letter-spacing: 0.24px;
  }
}
@media screen and (max-width: 600px) {
  .p-medicalManage__title {
    font-size: 21px;
    line-height: 1.5;
  }
  .p-medicalManage__lead--top p {
    font-size: 15px;
    line-height: 2.2;
  }
  .p-medicalManage__lead p,
  .p-medicalManage__intro p,
  .p-medicalManage__body p,
  .p-medicalManage__areaBody p,
  .p-medicalManage__note p {
    font-size: 14px;
    line-height: 2.15;
  }
  .p-medicalManage__highlight {
    font-size: 15px;
    line-height: 1.75;
    letter-spacing: 0.2px;
  }
  .p-recruitJob__catch {
    font-size: 18px;
    line-height: 1.55;
  }
  .p-recruitJob__lead p {
    font-size: 14px;
    line-height: 2;
    letter-spacing: 0.14px;
  }
  .p-recruitJob__subHeading h3 {
    font-size: 20px;
  }
  .p-recruitJob__interviewName {
    font-size: 18px;
  }
  .p-recruitJob__interviewYear {
    font-size: 13px;
  }
  .p-recruitJob__interviewText p {
    font-size: 13px;
    line-height: 2;
  }
  .p-recruitJob__flowTime p {
    font-size: 16px;
  }
  .p-recruitJob__flowTitle {
    font-size: 17px;
    letter-spacing: 0.3px;
  }
  .p-recruitJob__flowBody > p:last-child {
    font-size: 13px;
    line-height: 2;
    letter-spacing: 0.14px;
  }
}
@media screen and (max-width: 520px) {
  .c-plusPage--patient .c-plusPage__introAction p {
    font-size: 13px;
    line-height: 1.4;
  }
  .p-medicalIntro__action p {
    font-size: 12px;
    line-height: 1.4;
  }
}
@media screen and (max-width: 765px) and (min-width: 601px) {
  .c-plusPage__flow .c-flowStep__marker .c-flowStep__step {
    font-size: 2.091503268vw;
    margin-top: 1.6993464052vw;
  }
  .c-plusPage__flow .c-flowStep__marker .c-flowStep__number {
    font-size: 5.2287581699vw;
  }
}
@media screen and (max-width: 414px) {
  .p-medicalIntro__action p {
    font-size: 14px;
    line-height: 1.5;
  }
  .p-medicalManage__title {
    font-size: 19px;
  }
  .p-medicalManage__highlight {
    letter-spacing: 0;
  }
}
@media screen and (max-width: 1100px) {
  .c-lowerMarquee {
    font-size: max(8.3636363636vw, 50px);
  }
  .p-servicePage__introHeading .c-lowerEyebrow {
    font-size: 38px;
    line-height: 1;
  }
}
@media screen and (max-width: 1024px) {
  .p-medicalManage__title {
    font-size: 26px;
  }
}
@media screen and (max-width: 700px) {
  .p-about__lead p,
  .p-about__introItem > p,
  .p-about__valueText p,
  .p-servicePage__lead p,
  .c-plusPage__introAction p,
  .p-medicalIntro__action p,
  .p-medicalManage__lead p,
  .p-medicalManage__intro p,
  .p-medicalManage__body p,
  .p-medicalManage__areaBody p,
  .p-medicalManage__note p,
  .p-recruitPage__overviewBody > p,
  .p-recruitPage__catchSub {
    font-size: 15px;
  }
  .c-lowerHeading--inline .c-lowerEyebrow {
    font-size: 28px;
  }
  .c-lowerHeading--inline h2 {
    font-size: 14px;
  }
  .p-servicePage__introHeading .c-lowerEyebrow {
    font-size: 26px;
    line-height: 1.14;
  }
  .p-servicePage__introHeading h2 {
    font-size: 14px;
  }
  .p-medicalIntro__action p {
    font-size: 14px;
    line-height: 1.5;
  }
  .c-plusPage__introAction p {
    font-size: 14px;
  }
  .p-about__introHeading h2 {
    font-size: 22px;
  }
  .p-about__introLabel p {
    font-size: 18px;
  }
  .p-servicePage__catch,
  .p-recruitPage__catch {
    font-size: 21px;
  }
}
.c-detailPage__metaDate {
  color: #5a6a62;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.6;
}

.detail-day {
  color: #5a6a62;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
}

.detail-catBtn {
  color: var(--color-green);
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
}

.p-blog__cat {
  color: var(--color-green);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.3px;
}

.webgene-pagination .number a,
.webgene-pagination .prev a,
.webgene-pagination .next a,
.webgene-pagination .dots {
  color: #5a5a5a;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.3px;
}

.p-blog__item-day,
.c-postArchive__itemDate {
  color: #8f9994;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.5;
}

.p-newsArchive .c-postArchive__itemDate {
  color: #9b9b9b;
  font-size: 13px;
  line-height: 1.4;
}

.c-postArchive__itemMore p {
  color: #009c77;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
}

.p-shopDetail__kana {
  color: #8f9994;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.18em;
}

.c-detailPage__metaTag,
.p-contactPage__badge,
.p-blog__item-tag,
.c-postArchive__itemTag {
  color: #ffffff;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.3px;
}

.p-newsArchive .c-postArchive__itemTag {
  font-size: 14px;
  line-height: 1;
}

.c-detailPage__articleTitle,
.p-shopDetail__name,
.p-contactPage__completeTitle {
  color: var(--color-green);
  font-size: 34px;
  font-weight: 700;
  line-height: 1.45;
}

.post-ttl {
  color: var(--color-text);
  font-size: clamp(16px, 1.6105417277vw, 22px);
  font-weight: 500;
  line-height: 1.8;
}

.c-detailPage__content h2,
.p-contactPage__supportTitle {
  color: var(--color-green);
  font-size: 24px;
  font-weight: 700;
  line-height: 1.55;
}

.detail-text {
  width: 924px;
  margin-inline: auto;
}

.detail-text,
.post-detail__content,
.post-detail__content p {
  color: var(--color-text);
  font-size: 14px;
  font-weight: 500;
  line-height: 2.05;
  letter-spacing: 0.3px;
}

.c-detailPage__content h3,
.p-shopDetail__featureTitle {
  color: #00132b;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.55;
}

.post-detail__content h3 {
  color: #00132b;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.7;
}

.post-detail__content h4 {
  color: var(--color-green);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.7;
}

.post-detail__content h5 {
  color: var(--color-green);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.7;
}

.post-detail__content h6 {
  color: var(--color-green);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.7;
}

.c-detailPage__content p,
.c-detailPage__note p,
.p-shopDetail__lead,
.p-shopDetail__featureText,
.c-detailPage__cardText,
.p-contactPage__lead p,
.p-contactPage__supportCard p,
.p-contactPage__fieldLabel p,
.p-contactPage__fieldNote,
.p-contactPage__privacy p,
.p-contactPage__completeText p {
  color: var(--color-text);
  font-size: 15px;
  font-weight: 500;
  line-height: 2.05;
  letter-spacing: 0.3px;
}

.c-detailPage__note p:first-child,
.c-detailPage__listItemTag,
.c-detailPage__cardLabel,
.p-contactPage__privacyTitle,
.p-shopDetail__infoLabel {
  color: var(--color-green-bright);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.7;
}

.p-shopDetail__infoValue {
  color: #454545;
  font-size: 14px;
  font-weight: 500;
  line-height: 2.2857142857;
}

.p-shopDetail__infoValue a {
  color: inherit;
}

.p-shopDetail__serviceLabel {
  color: #454545;
  font-size: 14px;
  font-weight: 500;
  line-height: 2.25;
  letter-spacing: -0.9px;
}

.c-infoTable__value p {
  font-weight: 500;
}

.p-shopDetail__lineLink p {
  color: #ffffff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08em;
}

.c-detailPage__cardTitle,
.c-detailPage__listItemTitle,
.p-contactPage__fieldInput input,
.p-contactPage__fieldInput select,
.p-contactPage__fieldInput textarea,
.p-contactPage__submit,
.p-contactPage__completeAction p {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.9;
}

.c-detailPage__cardTitle,
.c-detailPage__listItemTitle {
  color: var(--color-green);
  font-weight: 700;
  line-height: 1.6;
}

.p-blog__item-title,
.c-postArchive__itemTitle {
  color: var(--color-text);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.95;
  letter-spacing: 0.3px;
}

.p-newsArchive .c-postArchive__itemTitle {
  font-size: 14px;
  line-height: 1.9;
}

.c-postArchive__itemMore {
  color: var(--color-green);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.2px;
}

.p-newsArchive .c-postArchive__itemMore {
  font-size: 18px;
  line-height: 1.7;
}

.p-newsArchive__sectionNav .search-contents-wrapper label,
.p-shopArchive__sectionNav .search-contents-wrapper label {
  color: #00a49d;
}

.c-sectionNav .p-cms__cat.is-selected,
.c-sectionNav .c-sectionNav__link.is-selected,
.p-newsArchive__sectionNav .search-contents-wrapper label:has(input:checked),
.p-shopArchive__sectionNav .search-contents-wrapper label:has(input:checked),
.webgene-pagination .number.selected a {
  color: #ffffff;
}

.c-sectionNav .p-cms__cat.is-selected p,
.c-sectionNav .c-sectionNav__link.is-selected p {
  color: #ffffff;
}

.p-contactPage__fieldInput input,
.p-contactPage__fieldInput select,
.p-contactPage__fieldInput textarea {
  color: var(--color-text);
}

.p-contactPage__fieldInput input::placeholder,
.p-contactPage__fieldInput textarea::placeholder {
  color: #98aaa1;
}

.p-contactPage__submit {
  color: #ffffff;
  font-weight: 700;
}

.p-contactPage__completeAction p {
  color: var(--color-green);
  font-weight: 700;
}

.p-shopDetail__actions .c-detailPage__back p {
  color: #ffffff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.06em;
}

@media screen and (max-width: 700px) {
  .c-detailPage__articleTitle,
  .p-shopDetail__name,
  .p-contactPage__completeTitle {
    font-size: 27px;
  }
  .c-detailPage__content h2,
  .p-contactPage__supportTitle {
    font-size: 21px;
  }
  .c-detailPage__content h3,
  .p-shopDetail__featureTitle {
    font-size: 18px;
  }
  .post-detail__content h3 {
    font-size: 20px;
  }
  .post-detail__content h4 {
    font-size: 18px;
  }
  .post-detail__content h5 {
    font-size: 17px;
  }
  .post-detail__content h6 {
    font-size: 16px;
  }
  .c-detailPage__content p,
  .c-detailPage__note p,
  .p-shopDetail__lead,
  .p-shopDetail__featureText,
  .c-detailPage__cardText,
  .p-contactPage__lead p,
  .p-contactPage__supportCard p,
  .p-contactPage__fieldLabel p,
  .p-contactPage__fieldNote,
  .p-contactPage__privacy p,
  .p-contactPage__completeText p,
  .c-detailPage__cardTitle,
  .c-detailPage__listItemTitle,
  .p-blog__cat,
  .webgene-pagination .number a,
  .webgene-pagination .prev a,
  .webgene-pagination .next a,
  .webgene-pagination .dots,
  .p-contactPage__fieldInput input,
  .p-contactPage__fieldInput select,
  .p-contactPage__fieldInput textarea,
  .p-contactPage__submit,
  .p-contactPage__completeAction p,
  .p-shopDetail__actions .c-detailPage__back p,
  .detail-text,
  .post-detail__content,
  .post-detail__content p {
    font-size: 14px;
  }
  .p-blog__item-title,
  .c-postArchive__itemTitle {
    font-size: 14px;
  }
  .p-newsArchive .c-postArchive__itemDate {
    font-size: 14px;
  }
  .p-newsArchive .c-postArchive__itemTag {
    font-size: 12px;
  }
  .p-newsArchive .c-postArchive__itemTitle {
    font-size: 16px;
  }
  .c-postArchive__itemMore {
    font-size: 12px;
  }
  .p-newsArchive .c-postArchive__itemMore {
    font-size: 15px;
  }
  .p-shopDetail__kana {
    font-size: 12px;
    letter-spacing: 0.14em;
  }
}
.p-topFV__copyLine {
  color: #333333;
  font-size: 38px;
  font-weight: 700;
  line-height: 1.35;
}

.p-topFV__title {
  color: #333333;
  font-size: 38px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 3.8px;
}

.p-topFV__copyEm {
  color: #ffffff;
}

.p-topFV__copyEm--lime {
  line-height: 1;
}

.p-topFV__copyText,
.p-topFV__copyText2 {
  color: #333333;
  font-size: 38px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 4.2px;
}

.p-topFV__copyEm--mint {
  color: #1cae9c;
  font-size: 38px;
  font-weight: 700;
  line-height: 1.35;
}

.p-topFV__copyEm--grass {
  color: var(--color-grass);
  font-size: 38px;
  font-weight: 700;
  line-height: 1.35;
}

.p-topFV__text {
  color: #3c3c3c;
  font-size: 14px;
  font-weight: 600;
  line-height: 2.1;
  letter-spacing: 0.6px;
}

.p-topFV__en {
  color: rgba(255, 255, 255, 0.8);
  font-family: "Noto Sans JP", sans-serif;
  font-size: 131px;
  font-weight: 700;
  line-height: 1;
}

.l-top .c-sectionLabel {
  font-family: "Noto Sans JP", sans-serif;
}

.p-topNews {
  color: #ffffff;
}

.p-topNews .c-sectionLabel {
  font-size: 40px;
}

.p-topNews__heading h2 {
  font-size: 14px;
}

.p-topNews__tag {
  color: var(--color-green);
  font-size: 13px;
  line-height: 26px;
}

.p-topNews__date {
  font-size: 13px;
  font-weight: 600;
}

.p-topNews__item h3 {
  font-size: 14px;
  font-weight: 500;
  line-height: 2.25;
}

.p-topNews__link {
  font-size: 14px;
  line-height: 1.8;
}

.p-topAbout__text p {
  font-size: 16px;
  font-weight: 500;
  line-height: 2.4;
  letter-spacing: 0.5px;
}

.p-topService .c-sectionLabel {
  font-size: 58px;
  line-height: 0.95;
}

.p-topService .c-sectionTitle h2 {
  color: #333333;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 2px;
}

.p-topService__more {
  color: var(--color-green);
  font-size: 14px;
  font-weight: 700;
  line-height: 42px;
}

.p-topService__card h3 {
  color: var(--color-green);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 3px;
}

.p-topService__card p {
  color: #333333;
  font-size: 13px;
  font-weight: 500;
  line-height: 2.3;
  letter-spacing: 1.7px;
}

.p-topMedical {
  color: #ffffff;
}

.p-topMedical__body p {
  font-size: 14px;
  font-weight: 500;
  line-height: 32px;
  letter-spacing: 0.03em;
}

.p-topShop .c-sectionTitle h2 {
  font-size: 13px;
  line-height: 1.5;
}

.p-topShop__item h3 {
  color: var(--color-green);
  font-size: 18px;
  line-height: 1.5;
  letter-spacing: 0.5px;
}

@media screen and (max-width: 700px) {
  .p-topShop__item h3 {
    font-size: 15px;
  }
}
@media screen and (max-width: 600px) {
  .p-topShop__item h3 {
    font-size: 18px;
  }
}
.p-topShop__address p {
  font-size: 14px;
  font-weight: 400;
  line-height: 2.2;
  letter-spacing: 0.5px;
}

@media screen and (max-width: 700px) {
  .p-topShop__address p {
    font-size: 12px;
  }
}
@media screen and (max-width: 600px) {
  .p-topShop__address p {
    font-size: 14px;
  }
}
.p-topShop__more p {
  color: #ffffff;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0px;
}

.p-topInstagram .c-sectionLabel {
  font-size: 58px;
}

.p-topInstagram .c-sectionTitle h2 {
  font-size: 13px;
  line-height: 1.5;
}

.p-topInstagram__caption {
  color: #3c3c3c;
  font-size: 10px;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.35px;
}

.p-recruit__body {
  color: #ffffff;
}

.p-recruit__lead,
.p-recruit__text {
  font-size: 14px;
  font-weight: 500;
  line-height: 2.25;
  letter-spacing: 0.5px;
}

@media screen and (max-width: 1100px) {
  .p-topFV__copyLine,
  .p-topFV__title {
    font-size: 32px;
  }
  .p-topFV__en {
    font-size: 76px;
  }
}
@media screen and (max-width: 700px) {
  .p-topFV__copyLine,
  .p-topFV__title {
    font-size: 28px;
  }
}
@media screen and (max-width: 600px) {
  .p-topService .c-sectionLabel {
    font-size: 42px;
  }
}
