:root {
  --profile-text: #575757;
  --profile-pink: #ff97ab;
  --profile-pink-dark: #da6b80;
  --profile-blue: #69c1cf;
  --profile-green: #619d6a;
}

.d2c-site-stage { height: calc(100vw * 5226 / 1440); }
.d2c-artboard { height: 5226px; }
.profile-page { position: absolute; inset: 0; width: 1440px; height: 4649px; overflow: hidden; isolation: isolate; color: var(--profile-text); font-family: 'Noto Sans JP', sans-serif; pointer-events: none; }
.profile-page *, .profile-page *::before, .profile-page *::after { box-sizing: border-box; }
.profile-page img { max-width: none; }
.profile-page section, .profile-page header { position: absolute; z-index: 1; }
.profile-page :where(a, button, input, select, textarea, summary, [tabindex], h1, h2, h3, h4, h5, h6, p, li, dt, dd, th, td, label, figcaption),
.profile-page .profile-guidelines__links > span,
.profile-page .profile-managers__photo { pointer-events: auto; }

.profile-hero { position: absolute; left: 0; top: 100px; width: 1440px; height: 285px; overflow: hidden; z-index: 1; color: #fff; font-family: 'Zen Maru Gothic', sans-serif; }
.profile-hero__visual { position: absolute; inset: 0; overflow: hidden; }
.profile-hero__visual img { position: absolute; left: 0; top: -336.5px; width: 1440px; height: 960.12px; max-width: none; object-fit: fill; transform: scale(-1, -1); }
.profile-hero__shade { position: absolute; inset: 0 0 1px; background: rgba(0, 0, 0, .29); }
.profile-hero__title { position: absolute; left: 594px; top: 103px; width: 252px; height: 69px; margin: 0; text-align: center; font-weight: 700; }
.profile-hero__title span { position: absolute; left: 50%; transform: translateX(-50%); white-space: nowrap; }
.profile-hero__title-ja { top: 0; font-size: 28px; line-height: 41px; }
.profile-hero__title-en { top: 46px; font-size: 16px; line-height: 23px; }

@media (min-width: 1440px) {
  .profile-hero { top: var(--misaki-page-hero-top, 100px); height: calc(285px + var(--misaki-page-hero-extension, 0px)); }
  .profile-hero__visual img { top: calc(-336.5px + var(--misaki-page-hero-extension, 0px)); }
  .profile-hero__title { top: calc(103px + var(--misaki-page-hero-extension, 0px)); }
}

.profile-pagehead { left: 100px; top: 505px; width: 357px; height: 80px; }
.profile-pagehead__icon { position: absolute; left: 0; top: 0; width: 93px; height: 80px; overflow: hidden; }
.profile-pagehead__icon img { position: absolute; left: -433.69%; top: -93.02%; width: 710.38%; height: 619.77%; object-fit: fill; }
.profile-pagehead h2 { position: absolute; left: 105px; top: 0; width: 252px; height: 41px; margin: 0; font: 700 28px/41px 'Zen Maru Gothic', sans-serif; white-space: nowrap; }
.profile-pagehead p { position: absolute; left: 105px; top: 51px; width: 66px; height: 23px; margin: 0; color: #b7b7b7; font: 700 16px/23px 'Zen Maru Gothic', sans-serif; white-space: nowrap; }

.profile-section-title { position: absolute; height: 41px; margin: 0; font: 700 28px/41px 'Zen Maru Gothic', sans-serif; white-space: nowrap; }
.profile-section-title > img { position: absolute; left: 0; top: 3px; width: 35px; height: 35px; object-fit: fill; }
.profile-section-title > span { position: absolute; left: 54px; top: 0; }

.profile-director { inset: 0; }
.profile-director__title { left: 117px; top: 625px; width: 166px; }
.profile-director__catch { position: absolute; left: 0; top: 0; width: 575px; height: 839px; }
.profile-director__catch-green { position: absolute; left: 301px; top: 663px; width: 127px; height: 127px; object-fit: fill; }
.profile-director__catch-yellow { position: absolute; left: 220px; top: 712px; width: 127px; height: 127px; object-fit: fill; }
.profile-director__catch p { position: absolute; left: 135px; top: 727px; display: flex; align-items: center; margin: 0; color: var(--profile-green); font-size: 28px; line-height: 50px; font-weight: 700; letter-spacing: 5.6px; white-space: nowrap; }
.profile-director__catch em { color: #fe9db0; font-style: normal; }
.profile-director__catch-tail--sp { display: none; }
.profile-director__copy { position: absolute; inset: 0; font-size: 16px; line-height: 34px; }
.profile-director__copy p { position: absolute; left: 135px; width: 959px; margin: 0; }
.profile-director__copy-1 { top: 839px; height: 26px; }
.profile-director__copy-2 { top: 893px; height: 102px; }
.profile-director__copy-3 { top: 1023px; height: 340px; }
.profile-director__copy-4 { top: 1391px; height: 69px; }
.profile-director__copy--sp { display: none; }
.profile-director__signature { position: absolute; left: 1123px; top: 1474px; width: 182px; height: 100px; font-weight: 700; letter-spacing: .2em; }
.profile-director__signature span, .profile-director__signature strong { display: block; height: 50px; line-height: 50px; white-space: nowrap; }
.profile-director__signature span { font-size: 20px; }
.profile-director__signature strong { padding-left: 51px; font-size: 26px; }

.profile-principles { inset: 0; }
.profile-principles__decor { position: absolute; left: 814px; top: 2018px; z-index: 0; width: 710px; height: 721px; object-fit: fill; }
.profile-managers { inset: 0; }
.profile-managers__title { left: 117px; top: 1664px; width: 174px; }
.profile-managers__title-sp { display: none; }
.profile-managers__card { position: absolute; left: 135px; top: 1711px; width: 369px; height: 176px; padding: 28px 40px; background: #fff; font-size: 18px; line-height: 28px; }
.profile-managers__card p { position: relative; display: flex; align-items: center; height: 40px; margin: 0; }
.profile-managers__card img { flex: 0 0 auto; width: 16px; height: 16px; margin-right: 10px; object-fit: fill; }
.profile-managers__role { width: 90px; font-weight: 400; }
.profile-managers__name { font-weight: 400; }
.profile-managers__role--sp { display: none; }
.profile-managers__photo { position: absolute; object-fit: cover; border-radius: 50%; }
.profile-managers__photo--hospital { object-position: 53% center; }
.profile-managers__photo--interior { overflow: hidden; }
.profile-managers__photo--interior img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: right center; transform: scale(1.7); transform-origin: right center; }
.profile-managers__photo--hospital { left: 800px; top: 1664px; z-index: 2; width: 328px; height: 328px; }
.profile-managers__photo--interior { left: 1075px; top: 1844px; z-index: 1; width: 220px; height: 220px; }
.profile-round-title { position: absolute; width: 165px; height: 169px; }
.profile-round-title img { position: absolute; left: -2px; top: 0; width: 169px; height: 169px; object-fit: fill; }
.profile-round-title h2 { position: absolute; left: 18px; top: 62px; width: 129px; height: 40px; margin: 0; font: 700 28px/40px 'Zen Maru Gothic', sans-serif; letter-spacing: 5.6px; white-space: nowrap; }
.profile-round-title--principle { left: 136px; top: 2024px; }
.profile-round-title--principle h2 { color: var(--profile-pink); }
.profile-round-title--policy { left: 136px; top: 2398px; }
.profile-round-title--policy h2 { left: 19px; color: var(--profile-blue); }
.profile-principle { inset: 0; }
.profile-principle > p { position: absolute; left: 333px; top: 2051px; width: 432px; height: 111px; margin: 0; font-size: 18px; line-height: 34px; font-weight: 500; }
.profile-principle > p span { display: block; white-space: nowrap; }
.profile-policy { inset: 0; }
.profile-policy ol { position: absolute; inset: 0; margin: 0; padding: 0; list-style: none; font-size: 18px; line-height: 34px; }
.profile-policy li { position: absolute; left: 333px; display: flex; align-items: flex-start; width: 672px; min-height: 44px; }
.profile-policy li:nth-child(1) { top: 2305px; }
.profile-policy li:nth-child(2) { top: 2401px; }
.profile-policy li:nth-child(3) { top: 2469px; }
.profile-policy li:nth-child(4) { top: 2537px; }
.profile-policy li:nth-child(5) { top: 2605px; }
.profile-policy__number { display: flex; flex: 0 0 44px; align-items: center; justify-content: center; width: 44px; height: 44px; margin-right: 19px; border-radius: 50%; background: var(--profile-pink); color: #fff; font: 700 16px/44px 'Zen Maru Gothic', sans-serif; }

.profile-rights { inset: 0; }
.profile-rights__title { left: 117px; top: 2878px; width: 250px; }
.profile-rights__lead { position: absolute; left: 135px; top: 2947px; width: 1170px; height: 136px; margin: 0; font-size: 16px; line-height: 34px; }
.profile-rights__panel { position: absolute; left: 135px; top: 3123px; width: 1170px; height: 1127px; background: #fff; }
.profile-rights__panel > ol { position: absolute; inset: 0; margin: 0; padding: 0; list-style: none; }
.profile-rights__item { position: absolute; left: 52px; width: 1066px; }
.profile-rights__item:nth-child(1) { top: 51px; height: 108px; }
.profile-rights__item:nth-child(2) { top: 191px; height: 74px; }
.profile-rights__item:nth-child(3) { top: 297px; height: 108px; }
.profile-rights__item:nth-child(4) { top: 437px; height: 74px; }
.profile-rights__item:nth-child(5) { top: 543px; height: 108px; }
.profile-rights__item:nth-child(6) { top: 683px; height: 74px; }
.profile-rights__item:nth-child(7) { top: 790px; height: 74px; }
.profile-rights__item:nth-child(8) { top: 897px; height: 74px; }
.profile-rights__item h3 { display: flex; align-items: flex-start; height: 35px; margin: 0; color: var(--profile-pink-dark); font-weight: 500; }
.profile-rights__number { flex: 0 0 auto; margin-right: 12px; font: 700 24px/35px 'Zen Maru Gothic', sans-serif; letter-spacing: .2em; }
.profile-rights__item h3 span:last-child { font-size: 18px; line-height: 28px; padding-top: 5px; }
.profile-rights__item p { margin: 0; font-size: 16px; line-height: 34px; }
.profile-rights__body-sp { display: none; }
.profile-rights__date { position: absolute; right: 52px; top: 997px; width: 188px; height: 68px; margin: 0; font-size: 18px; line-height: 34px; text-align: right; }

.profile-guidelines { inset: 0; }
.profile-guidelines__title { left: 117px; top: 4350px; width: 278px; }
.profile-guidelines__links { position: absolute; left: 135px; top: 4431px; display: grid; grid-template-columns: 265px 229px 302px 1fr; align-items: center; width: 1170px; height: 98px; padding: 0 52px; border-radius: 14px; background: #f2f2f2; }
.profile-guidelines__links > a, .profile-guidelines__links > span { display: flex; align-items: center; gap: 8px; height: 28px; border-radius: 7px; color: var(--profile-text); font: 700 18px/26px 'Zen Maru Gothic', sans-serif; text-decoration: none; white-space: nowrap; }
.profile-guidelines__links > a { width: fit-content; height: auto; margin-left: -1em; padding: 1em; background: rgba(255, 255, 255, .01); pointer-events: auto; transition: transform .28s ease, background-color .28s ease, box-shadow .28s ease; }
.profile-guidelines__links > a:focus-visible { outline: 3px solid var(--profile-pink); outline-offset: 4px; }
.profile-guidelines__links img { width: 28px; height: 28px; object-fit: fill; }

@media (hover: hover) and (pointer: fine) {
  .profile-guidelines__links > a:hover { transform: translateY(-7px); background: rgba(255, 255, 255, .82); box-shadow: 0 12px 22px rgba(70, 70, 70, .17); }
}

@media (prefers-reduced-motion: reduce) {
  .profile-guidelines__links > a { transition: none; }
}

.profile-decor { position: absolute; z-index: 0; pointer-events: none; object-fit: fill; }
.profile-decor--pink { left: 974px; top: 727px; width: 562px; height: 570px; }
.profile-decor--green { left: 901px; top: 1211px; width: 354px; height: 359px; }

@media (min-width: 700px) {
  .site-footer { top: 4649px; height: 579px; }
}

@media (max-width: 699.98px) {
  .d2c-site-stage { width: 100vw; height: calc(100vw * 7263 / 375); }
  .d2c-artboard { width: 375px; height: 7263px; }
  .profile-page { width: 375px; height: 6074px; }

  .profile-hero { top: 84px; width: 375px; height: 268px; }
  .profile-hero__visual img { left: -277px; top: -190px; width: 929px; height: 619.32px; transform: scale(-1, -1); }
  .profile-hero__shade { inset: 0; }
  .profile-hero__title { left: 79px; top: 84px; width: 216px; height: 55px; }
  .profile-hero__title-ja { top: 0; font-size: 24px; line-height: 35px; }
  .profile-hero__title-en { top: 35px; font-size: 14px; line-height: 20px; }

  .profile-pagehead { left: 12px; top: 392px; width: 298px; height: 64px; }
  .profile-pagehead__icon { width: 74px; height: 64px; }
  .profile-pagehead h2 { left: 82px; top: 0; width: 216px; height: 35px; font-size: 24px; line-height: 35px; }
  .profile-pagehead p { left: 82px; top: 40px; width: 57px; height: 20px; font-size: 14px; line-height: 20px; }

  .profile-section-title { height: 32px; font-size: 22px; line-height: 32px; }
  .profile-section-title > img { top: 2px; width: 28px; height: 28px; }
  .profile-section-title > span { left: 40px; }

  .profile-director__title { left: 12px; top: 480px; width: 128px; }
  .profile-director__catch { width: 375px; height: 646px; }
  .profile-director__catch-green { left: 161px; top: 530px; width: 85px; height: 85px; }
  .profile-director__catch-yellow { left: 105px; top: 561px; width: 85px; height: 85px; }
  .profile-director__catch p { left: 30px; top: 571px; font-size: 22px; line-height: 34px; letter-spacing: 4.4px; }
  .profile-director__catch-tail--pc { display: none; }
  .profile-director__catch-tail--sp { display: inline; }
  .profile-director__copy--pc { display: none; }
  .profile-director__copy--sp { display: block; font-size: 16px; line-height: 34px; }
  .profile-director__copy p { left: 12px; width: 351px; }
  .profile-director__copy-1 { top: 670px; height: 68px; }
  .profile-director__copy-2 { top: 758px; height: 238px; }
  .profile-director__copy-3 { top: 1016px; height: 816px; }
  .profile-director__copy-4 { top: 1852px; height: 170px; }
  .profile-director__signature { left: 200px; top: 2042px; width: 163px; height: 66px; letter-spacing: .2em; }
  .profile-director__signature span, .profile-director__signature strong { height: auto; line-height: 1; }
  .profile-director__signature span { font-size: 16px; line-height: 20px; }
  .profile-director__signature strong { margin-top: 16px; padding-left: 42px; font-size: 20px; line-height: 30px; }

  .profile-principles__decor { left: 56px; top: 2791px; width: 613px; height: 622px; }
  .profile-managers__title { left: 12px; top: 2188px; width: 128px; }
  .profile-managers__title-pc { display: none; }
  .profile-managers__title-sp { display: inline; }
  .profile-managers__card { left: 12px; top: 2228px; width: 351px; height: 152px; padding: 18px 40px; font-size: 18px; line-height: 28px; }
  .profile-managers__card p { height: 38px; }
  .profile-managers__card img { margin-right: 10px; }
  .profile-managers__role--pc, .profile-managers__name--pc { display: none; }
  .profile-managers__role--sp { display: inline; width: auto; white-space: nowrap; }
  .profile-managers__photo--hospital { left: 9px; top: 2400px; width: 249px; height: 249px; }
  .profile-managers__photo--interior { left: 196.11px; top: 2555.11px; width: 166.89px; height: 166.89px; }

  .profile-round-title { width: 137px; height: 141px; }
  .profile-round-title img { left: -2px; top: 0; width: 141px; height: 141px; }
  .profile-round-title h2 { left: 18px; top: 52px; width: 102px; height: 32px; font-size: 22px; line-height: 32px; letter-spacing: 4.4px; }
  .profile-round-title--principle { left: 119px; top: 2740px; }
  .profile-round-title--policy { left: 119px; top: 3049px; }
  .profile-round-title--policy h2 { left: 18px; }
  .profile-principle > p { left: 9px; top: 2885px; width: 354px; height: 136px; font-size: 16px; line-height: 34px; }
  .profile-principle > p span:first-child { display: block; }
  .profile-principle > p span:nth-child(n + 2) { display: inline; white-space: normal; }
  .profile-policy ol { font-size: 16px; line-height: 28px; }
  .profile-policy li { left: 12px; align-items: center; width: 351px; min-height: 36px; }
  .profile-policy li:nth-child(1) { top: 3194px; }
  .profile-policy li:nth-child(2) { top: 3290px; }
  .profile-policy li:nth-child(3) { top: 3338px; }
  .profile-policy li:nth-child(4) { top: 3406px; }
  .profile-policy li:nth-child(5) { top: 3474px; }
  .profile-policy__number { flex-basis: 36px; width: 36px; height: 36px; margin-right: 8px; font-size: 14px; line-height: 36px; }
  .profile-policy__pc-break { display: none; }

  .profile-rights__title { left: 12px; top: 3610px; width: 194px; }
  .profile-rights__lead { left: 12px; top: 3656px; width: 351px; height: 374px; font-size: 16px; line-height: 34px; }
  .profile-rights__panel { left: 12px; top: 4044px; width: 351px; height: 1612px; }
  .profile-rights__item { left: 12px; width: 327px; }
  .profile-rights__item:nth-child(1) { top: 32px; height: 229px; }
  .profile-rights__item:nth-child(2) { top: 279px; height: 139px; }
  .profile-rights__item:nth-child(3) { top: 436px; height: 275px; }
  .profile-rights__item:nth-child(4) { top: 729px; height: 105px; }
  .profile-rights__item:nth-child(5) { top: 852px; height: 207px; }
  .profile-rights__item:nth-child(6) { top: 1077px; height: 139px; }
  .profile-rights__item:nth-child(7) { top: 1234px; height: 139px; }
  .profile-rights__item:nth-child(8) { top: 1391px; height: 105px; }
  .profile-rights__item h3 { height: auto; min-height: 35px; }
  .profile-rights__item:first-child .profile-rights__body-pc { display: none; }
  .profile-rights__item:first-child .profile-rights__body-sp { display: block; }
  .profile-rights__number { margin-right: 10px; }
  .profile-rights__item p { font-size: 16px; line-height: 34px; }
  .profile-rights__date { right: 12px; top: 1510px; width: 188px; font-size: 16px; line-height: 28px; }

  .profile-guidelines__title { left: 12px; top: 5736px; width: 216px; }
  .profile-guidelines__links { left: 12px; top: 5782px; grid-template-columns: 178px 161px; grid-template-rows: repeat(3, 40px); align-content: center; row-gap: 8px; width: 351px; height: 212px; padding: 14px 12px; border-radius: 0; background: #fff; }
  .profile-guidelines__links > a, .profile-guidelines__links > span { gap: 8px; height: 28px; font-size: 18px; line-height: 26px; }
  .profile-guidelines__links > a { height: auto; margin-left: -12px; }
  .profile-guidelines__links > :nth-child(3) { grid-column: 1 / -1; grid-row: 2; align-self: center; }
  .profile-guidelines__links > :nth-child(4) { grid-column: 1 / -1; grid-row: 3; align-self: center; }

  .profile-decor--pink { left: 156px; top: 1605px; width: 339px; height: 344px; }
  .profile-decor--green { left: 99px; top: 1881px; width: 214px; height: 217px; }

  .site-footer { top: 6074px; height: 1189px; }
}

/* Keep the replacement key visual upright and preserve its proportions. */
.profile-hero__visual { background: #8bc5ef; }
.profile-hero__visual img { left: 0; top: 16px; width: 100%; height: calc(100% - 16px); object-fit: cover; object-position: center top; transform: none; }
