*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
dl,
dd,
figure,
fieldset,
legend {
  margin: 0;
  padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}

ul,
ol {
  list-style: none;
  padding: 0;
  margin: 0;
}

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
  height: auto;
}

img {
  vertical-align: bottom;
}

input,
button,
textarea,
select {
  font: inherit;
  color: inherit;
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
  margin: 0;
  -webkit-appearance: none;
  appearance: none;
}

button {
  cursor: pointer;
  outline: none;
}

textarea {
  resize: vertical;
}

a {
  color: inherit;
  text-decoration: none;
  outline: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

address,
cite {
  font-style: normal;
}

fieldset {
  border: none;
}

hr {
  border: none;
  border-top: 1px solid currentColor;
  margin: 0;
}

p,
li,
dt,
dd,
th,
td,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word;
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
  scroll-padding-top: calc(calc(115.2 / 16 * 1rem) + calc(20 / 16 * 1rem));
}
@media (max-width: 1024px) {
  html {
    font-size: calc(16 / 1024 * 100vw);
  }
}
@media (max-width: 767px) {
  html {
    font-size: calc(16 / 428 * 100vw);
  }
}

body {
  overflow-x: clip;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: calc(16 / 16 * 1rem);
  line-height: 1.6;
  color: #333;
  background-color: #fefff5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

a {
  color: inherit;
  transition: opacity 0.4s ease;
}
@media (any-hover: hover) {
  a:hover {
    opacity: 0.7;
  }
}

::selection {
  background-color: rgba(17, 25, 82, 0.15);
  color: #111952;
}

img,
svg {
  vertical-align: bottom;
}

img {
  width: 100%;
  height: auto;
}

.l-inner {
  width: calc(100% - calc(80 / 16 * 1rem));
  max-width: calc(1100 / 16 * 1rem);
  margin-inline: auto;
  position: relative;
}
@media (max-width: 767px) {
  .l-inner {
    width: calc(100% - calc(40 / 16 * 1rem));
  }
}
.l-inner--narrow {
  max-width: calc(930 / 16 * 1rem);
}
@media (max-width: 767px) {
  .l-inner--narrow {
    width: calc(100% - calc(40 / 16 * 1rem));
  }
}
.l-inner--wide {
  max-width: calc(1440 / 16 * 1rem);
}
@media (max-width: 767px) {
  .l-inner--wide {
    width: calc(100% - calc(40 / 16 * 1rem));
  }
}

.l-outer {
  width: calc(100% - calc(100 / 16 * 1rem));
  max-width: calc(1340 / 16 * 1rem);
  margin-inline: auto;
  position: relative;
}
@media (max-width: 767px) {
  .l-outer {
    width: calc(100% - calc(40 / 16 * 1rem));
  }
}

@media (max-width: 767px) {
  .l-main--offset {
    margin-top: calc(25 / 16 * 1rem);
  }
}
@media (max-width: 767px) {
  .l-main--offset-sm {
    margin-top: calc(20.4 / 16 * 1rem);
  }
}

.l-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  background-color: transparent;
}

body {
  padding-top: calc(115.2 / 16 * 1rem);
}
@media (max-width: 767px) {
  body {
    padding-top: calc(70 / 16 * 1rem);
  }
}

.is-drawer-open .l-header {
  z-index: 901;
  pointer-events: none;
}
.is-drawer-open .l-header .l-header__logo,
.is-drawer-open .l-header .l-header__utils-group {
  visibility: hidden;
}
.is-drawer-open .l-header .l-header__drawer-btn {
  pointer-events: auto;
}

.admin-bar .l-header {
  top: 32px;
}
@media (max-width: 782px) {
  .admin-bar .l-header {
    top: 46px;
  }
}

.l-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: calc(100% - calc(100 / 16 * 1rem));
  max-width: calc(1340 / 16 * 1rem);
  margin-inline: auto;
  padding: calc(33 / 16 * 1rem) calc(0 / 16 * 1rem);
}
@media (max-width: 767px) {
  .l-header__inner {
    padding: calc(13.4 / 16 * 1rem) 0;
    width: calc(100% - calc(40 / 16 * 1rem));
  }
}
.l-header__logo {
  flex-shrink: 0;
  width: calc(170 / 16 * 1rem);
}
@media (max-width: 767px) {
  .l-header__logo {
    width: calc(150 / 16 * 1rem);
  }
}
.l-header__utils {
  display: flex;
  align-items: center;
  gap: calc(31 / 16 * 1rem);
}
.l-header__utils-group {
  display: flex;
  align-items: center;
  gap: calc(20 / 16 * 1rem);
}
@media (max-width: 767px) {
  .l-header__utils .l-header__line-btn {
    display: none;
  }
}
.l-header__drawer-btn {
  flex-direction: column;
  justify-content: center;
  gap: calc(8 / 16 * 1rem);
  width: calc(40 / 16 * 1rem);
  height: calc(42 / 16 * 1rem);
  border: none;
  background: none;
  cursor: pointer;
  color: #111952;
}
.l-header__drawer-btn.is-active {
  position: fixed;
  z-index: 1000;
  color: #ffffff;
  right: calc((100vw - calc(1340 / 16 * 1rem)) / 2);
}
@media (max-width: 1440px) {
  .l-header__drawer-btn.is-active {
    right: calc(40 / 16 * 1rem);
  }
}
@media (max-width: 767px) {
  .l-header__drawer-btn.is-active {
    right: calc(25 / 16 * 1rem);
  }
}
.l-header__drawer-btn.is-active .l-header__drawer-btn-line:nth-child(1) {
  transform: translateY(calc(9 / 16 * 1rem)) rotate(27.34deg);
}
.l-header__drawer-btn.is-active .l-header__drawer-btn-line:nth-child(2) {
  opacity: 0;
}
.l-header__drawer-btn.is-active .l-header__drawer-btn-line:nth-child(3) {
  transform: translateY(calc(-9 / 16 * 1rem)) rotate(-27.34deg);
}
.l-header__drawer-btn.is-active .l-header__drawer-btn-txt-menu {
  display: none;
}
.l-header__drawer-btn.is-active .l-header__drawer-btn-txt-close {
  display: inline;
}
.l-header__drawer-btn-lines {
  display: flex;
  flex-direction: column;
  gap: calc(8 / 16 * 1rem);
  width: 100%;
}
.l-header__drawer-btn-line {
  display: block;
  width: 100%;
  height: 1px;
  background-color: currentColor;
  transition: opacity 0.4s ease, transform 0.4s ease;
}
.l-header__drawer-btn-line:nth-child(2) {
  width: calc(28 / 16 * 1rem);
}
.l-header__drawer-btn-txt {
  font-family: "Cormorant Garamond", serif;
  font-weight: 500;
  font-size: calc(12 / 16 * 1rem);
  letter-spacing: 0.1em;
  line-height: 1;
  text-align: center;
}
.l-header__drawer-btn-txt-close {
  display: none;
}

.l-footer {
  padding: calc(20 / 16 * 1rem) 0;
  background-color: #111952;
  color: #ffffff;
}
@media (max-width: 767px) {
  .l-footer {
    padding: calc(40 / 16 * 1rem) 0;
  }
}
.l-footer__inner {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  max-width: calc(1440 / 16 * 1rem);
}
@media (max-width: 767px) {
  .l-footer__inner {
    flex-direction: column;
    align-items: center;
    gap: calc(46 / 16 * 1rem);
  }
}
.l-footer__info {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(19 / 16 * 1rem);
}
.l-footer__logo {
  width: calc(207 / 16 * 1rem);
}
.l-footer__hours {
  display: flex;
  align-items: center;
  gap: calc(12 / 16 * 1rem);
  font-size: calc(14 / 16 * 1rem);
}
.l-footer__hours-label {
  padding: calc(2 / 16 * 1rem) calc(6 / 16 * 1rem);
  border: 1px solid #707598;
  line-height: 1.5;
}
.l-footer__hours-txt {
  line-height: 1;
}
.l-footer__nav {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .l-footer__nav {
    align-items: center;
    gap: calc(44 / 16 * 1rem);
    width: 100%;
  }
}
.l-footer__menu {
  display: flex;
  align-items: center;
  gap: calc(40 / 16 * 1rem);
  padding-top: calc(20 / 16 * 1rem);
  font-size: calc(16 / 16 * 1rem);
}
@media (max-width: 767px) {
  .l-footer__menu {
    display: grid;
    grid-auto-flow: column;
    grid-template-rows: repeat(2, auto);
    justify-content: center;
    column-gap: calc(50 / 16 * 1rem);
    row-gap: calc(24 / 16 * 1rem);
    padding-top: 0;
  }
}
.l-footer__menu-link {
  line-height: 1.5;
  text-decoration: none;
}
.l-footer__sub {
  display: flex;
  align-items: center;
  gap: calc(50 / 16 * 1rem);
  font-size: calc(14 / 16 * 1rem);
}
@media (max-width: 767px) {
  .l-footer__sub {
    justify-content: space-between;
    gap: 0;
    width: 100%;
  }
}
.l-footer__privacy {
  line-height: 1.5;
  text-decoration: underline;
  font-size: calc(14 / 16 * 1rem);
}
.l-footer__copy {
  line-height: 1.5;
  font-size: calc(14 / 16 * 1rem);
}
@media (max-width: 767px) {
  .l-footer__copy {
    font-size: calc(12 / 16 * 1rem);
  }
}

.c-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: calc(6 / 16 * 1rem);
  padding: calc(9 / 16 * 1rem) calc(29 / 16 * 1rem);
  border: 1px solid #1e8c63;
  border-radius: calc(4 / 16 * 1rem);
  background-color: #1e8c63;
  color: #ffffff;
  font-family: "Noto Serif JP", serif;
  font-size: calc(16 / 16 * 1rem);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.06em;
  white-space: nowrap;
  text-decoration: none;
  transition: background-color 0.4s ease, color 0.4s ease, border-color 0.4s ease;
}
@media (any-hover: hover) {
  .c-btn:hover, .c-btn:focus-visible {
    opacity: 1;
    background-color: #ffffff;
    color: #1e8c63;
  }
}
.c-btn--lg {
  gap: calc(10 / 16 * 1rem);
  padding: calc(10 / 16 * 1rem) calc(27 / 16 * 1rem);
  font-size: calc(24 / 16 * 1rem);
  letter-spacing: 0.06em;
}
.c-btn__icon {
  flex-shrink: 0;
}

.c-pill-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: calc(20 / 16 * 1rem);
  height: calc(36 / 16 * 1rem);
  padding-inline: calc(28 / 16 * 1rem);
  border: 1px solid #111952;
  border-radius: calc(65 / 16 * 1rem);
  background-color: #111952;
  color: #ffffff;
  font-size: calc(13 / 16 * 1rem);
  line-height: 1.7;
  white-space: nowrap;
  text-decoration: none;
  transition: background-color 0.4s ease, color 0.4s ease, border-color 0.4s ease;
}
@media (any-hover: hover) {
  .c-pill-btn:hover, .c-pill-btn:focus-visible {
    opacity: 1;
    background-color: #ffffff;
    color: #111952;
  }
}
.c-pill-btn--white {
  gap: calc(6 / 16 * 1rem);
  height: calc(44 / 16 * 1rem);
  padding-inline: calc(20 / 16 * 1rem);
  border-color: #ffffff;
  background-color: #ffffff;
  color: #111952;
}
@media (any-hover: hover) {
  .c-pill-btn--white:hover, .c-pill-btn--white:focus-visible {
    background-color: #111952;
    color: #ffffff;
  }
}
.c-pill-btn__icon {
  flex-shrink: 0;
}

.c-arrow-link {
  display: inline-flex;
  align-items: center;
  gap: calc(20 / 16 * 1rem);
  color: #333;
  font-size: calc(16 / 16 * 1rem);
  line-height: 1.8;
  text-decoration: none;
}
.c-arrow-link__txt {
  display: flex;
  line-height: 1;
}
.c-arrow-link__letter {
  overflow: hidden;
  color: transparent;
  text-shadow: 0 calc(-24 / 16 * 1rem) 0 #333, 0 0 0 #333;
  transition: text-shadow 0.25s;
  transition-delay: calc(var(--index) * 0.04s);
}
.c-arrow-link__icon {
  color: #111952;
}
.c-arrow-link__icon rect {
  fill: transparent;
  transition: fill 0.4s ease;
}
.c-arrow-link__icon path {
  transition: stroke 0.4s ease;
}
@media (any-hover: hover) {
  .c-arrow-link:hover, .c-arrow-link:focus-visible {
    opacity: 1;
  }
  .c-arrow-link:hover .c-arrow-link__letter, .c-arrow-link:focus-visible .c-arrow-link__letter {
    text-shadow: 0 0 0 #333, 0 calc(24 / 16 * 1rem) 0 #333;
  }
}

.c-heading {
  text-align: center;
}
.c-heading__en {
  color: #111952;
  font-family: "Cormorant Garamond", serif;
  font-weight: 300;
  font-size: calc(18 / 16 * 1rem);
  line-height: 1;
}
.c-heading__ttl {
  margin-top: calc(10 / 16 * 1rem);
  font-family: "Noto Serif JP", serif;
  font-size: calc(36 / 16 * 1rem);
  font-weight: 400;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .c-heading__ttl {
    font-size: calc(20 / 16 * 1rem);
  }
}

.c-line-heading {
  display: flex;
  flex-direction: column;
  gap: calc(14 / 16 * 1rem);
}
@media (max-width: 767px) {
  .c-line-heading {
    gap: calc(24 / 16 * 1rem);
  }
}
.c-line-heading__ttl {
  color: #111952;
  font-family: "Noto Serif JP", serif;
  font-size: calc(26 / 16 * 1rem);
  font-weight: 500;
  line-height: 1;
  margin-bottom: calc(10 / 16 * 1rem);
}
@media (max-width: 767px) {
  .c-line-heading__ttl {
    font-size: calc(24 / 16 * 1rem);
    margin: 0;
  }
}
.c-line-heading__line {
  display: flex;
  height: 1px;
}
.c-line-heading__line::before {
  content: "";
  width: calc(50 / 16 * 1rem);
  background-color: #111952;
}
.c-line-heading__line::after {
  content: "";
  flex: 1;
  background-color: #cad3e2;
}
.c-line-heading--white {
  gap: calc(10 / 16 * 1rem);
}
@media (max-width: 767px) {
  .c-line-heading--white {
    gap: calc(10 / 16 * 1rem);
  }
}
.c-line-heading--white .c-line-heading__ttl {
  color: #ffffff;
  font-size: calc(20 / 16 * 1rem);
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .c-line-heading--white .c-line-heading__ttl {
    font-size: calc(20 / 16 * 1rem);
  }
}
.c-line-heading--white .c-line-heading__line {
  height: 2px;
}
.c-line-heading--white .c-line-heading__line::before {
  background-color: #ffffff;
}

.c-medicine-heading {
  color: #111952;
  font-family: "Noto Serif JP", serif;
  font-size: calc(24 / 16 * 1rem);
  font-weight: 500;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .c-medicine-heading {
    font-size: calc(20 / 16 * 1rem);
  }
}

.c-num-heading {
  display: flex;
  align-items: baseline;
  gap: calc(8 / 16 * 1rem);
  color: #111952;
  font-family: "Noto Sans JP", sans-serif;
  font-size: calc(22 / 16 * 1rem);
  font-weight: 500;
  line-height: 1.35;
}
@media (max-width: 767px) {
  .c-num-heading {
    font-size: calc(20 / 16 * 1rem);
    line-height: 1.4;
  }
}
.c-num-heading__num {
  flex-shrink: 0;
}
.c-num-heading__text {
  flex: 1;
  min-width: 0;
}

.c-medicine-card {
  padding-bottom: calc(10 / 16 * 1rem);
  color: #111952;
}
.c-medicine-card__link {
  display: block;
  color: inherit;
  text-decoration: none;
}
.c-medicine-card__img {
  aspect-ratio: 1/1;
  overflow: hidden;
  border-radius: calc(2 / 16 * 1rem);
}
.c-medicine-card__photo, .c-medicine-card__placeholder {
  transition: scale 0.3s ease;
}
@media (any-hover: hover) and (pointer: fine) {
  .c-medicine-card__link:hover .c-medicine-card__photo, .c-medicine-card__link:hover .c-medicine-card__placeholder {
    scale: 1.05;
  }
}
.c-medicine-card__placeholder {
  display: block;
  width: 100%;
  height: 100%;
  background-color: #e0e4eb;
}
.c-medicine-card__name {
  margin-top: calc(8 / 16 * 1rem);
  font-size: calc(14 / 16 * 1rem);
  line-height: 1.5;
}
.c-medicine-card__price {
  font-size: calc(14 / 16 * 1rem);
  line-height: 1.5;
}

.c-column-card {
  color: #111952;
}
.c-column-card__link {
  display: block;
  color: inherit;
  text-decoration: none;
}
.c-column-card__img {
  aspect-ratio: 185/139;
  border-radius: calc(4 / 16 * 1rem);
  overflow: hidden;
}
.c-column-card__photo {
  transition: scale 0.3s ease;
}
@media (any-hover: hover) and (pointer: fine) {
  .c-column-card__link:hover .c-column-card__photo {
    scale: 1.05;
  }
}
.c-column-card__cat {
  margin-top: calc(12 / 16 * 1rem);
}
.c-column-card__ttl {
  margin-top: calc(8 / 16 * 1rem);
  font-size: calc(15 / 16 * 1rem);
  font-weight: 500;
  line-height: 1.6;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
.c-column-card__date {
  margin-top: calc(8 / 16 * 1rem);
  color: #707598;
  font-size: calc(13 / 16 * 1rem);
  line-height: 1;
}

.c-column-item {
  border-bottom: 1px solid #cad3e2;
  color: #333;
}
@media (max-width: 767px) and (max-width: 767px) {
  .c-column-item {
    width: 100vw;
    margin-left: calc(50% - 50vw);
  }
}
.c-column-item__link {
  display: flex;
  gap: calc(30 / 16 * 1rem);
  align-items: flex-start;
  padding-block: calc(24 / 16 * 1rem);
  padding-inline: calc(20 / 16 * 1rem);
  color: inherit;
  text-decoration: none;
}
@media (max-width: 767px) {
  .c-column-item__link {
    flex-direction: column;
  }
}
.c-column-item__img {
  flex-shrink: 0;
  width: 39%;
  aspect-ratio: 599/395;
  overflow: hidden;
}
@media (max-width: 767px) {
  .c-column-item__img {
    width: 100%;
    aspect-ratio: 388/256;
  }
}
.c-column-item__photo {
  transition: scale 0.3s ease;
}
@media (any-hover: hover) and (pointer: fine) {
  .c-column-item__link:hover .c-column-item__photo {
    scale: 1.05;
  }
}
.c-column-item__body {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: calc(22 / 16 * 1rem);
}
@media (max-width: 767px) {
  .c-column-item__body {
    width: 100%;
  }
}
.c-column-item__head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: calc(10 / 16 * 1rem);
}
.c-column-item__ttl {
  color: #333;
  font-size: calc(14 / 16 * 1rem);
  font-weight: 400;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.c-column-item__date {
  color: #707598;
  font-size: calc(12 / 16 * 1rem);
  line-height: 1.5;
}
.c-column-item__sup {
  display: flex;
  align-items: center;
  gap: calc(6 / 16 * 1rem);
}
.c-column-item__sup-avatar {
  flex-shrink: 0;
  width: calc(24 / 16 * 1rem);
  height: calc(24 / 16 * 1rem);
  border-radius: 50%;
  overflow: hidden;
  background-color: #e0e4eb;
}
.c-column-item__sup-meta {
  display: flex;
  align-items: center;
  gap: calc(3 / 16 * 1rem);
  color: #333;
}
.c-column-item__sup-name {
  font-family: "Noto Serif JP", serif;
  font-size: calc(13 / 16 * 1rem);
  line-height: 1.7;
}
.c-column-item__sup-role {
  font-size: calc(10 / 16 * 1rem);
  line-height: 1.7;
}

.c-faq-list {
  display: grid;
  gap: calc(20 / 16 * 1rem);
}
@media (max-width: 767px) {
  .c-faq-list {
    gap: calc(20 / 16 * 1rem);
  }
}
.c-faq-list__item {
  border: 1px solid #cad3e2;
  border-radius: calc(2 / 16 * 1rem);
  background-color: #fff;
}
.c-faq-list__question {
  display: grid;
  grid-template-columns: calc(35 / 16 * 1rem) 1fr calc(20 / 16 * 1rem);
  align-items: center;
  gap: calc(15 / 16 * 1rem);
  min-height: calc(74 / 16 * 1rem);
  padding: calc(20 / 16 * 1rem);
  color: #111952;
  cursor: pointer;
  list-style: none;
}
.c-faq-list__question::-webkit-details-marker {
  display: none;
}
@media (max-width: 767px) {
  .c-faq-list__question {
    grid-template-columns: calc(36 / 16 * 1rem) 1fr calc(20 / 16 * 1rem);
    gap: calc(12 / 16 * 1rem);
    min-height: calc(72 / 16 * 1rem);
    padding: calc(18 / 16 * 1rem) calc(20 / 16 * 1rem);
  }
}
.c-faq-list__mark {
  display: grid;
  place-items: center;
  width: calc(35 / 16 * 1rem);
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: #111952;
  color: #fff;
  font-family: "Cormorant Garamond", serif;
  font-size: calc(14 / 16 * 1rem);
  font-weight: 500;
  line-height: 1;
}
@media (max-width: 767px) {
  .c-faq-list__mark {
    width: calc(36 / 16 * 1rem);
    font-size: calc(16 / 16 * 1rem);
  }
}
.c-faq-list__question-txt {
  font-size: calc(16 / 16 * 1rem);
  font-weight: 400;
  line-height: 1.6;
}
@media (max-width: 767px) {
  .c-faq-list__question-txt {
    font-size: calc(15 / 16 * 1rem);
    line-height: 1.5;
  }
}
.c-faq-list__toggle {
  position: relative;
  width: calc(20 / 16 * 1rem);
  aspect-ratio: 1;
}
.c-faq-list__toggle::before, .c-faq-list__toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: calc(20 / 16 * 1rem);
  height: 1px;
  background-color: #111952;
  transform: translate(-50%, -50%);
  transition: transform 0.3s ease;
}
.c-faq-list__toggle::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.c-faq-list__item[open] .c-faq-list__toggle::after {
  transform: translate(-50%, -50%) rotate(0deg);
}
.c-faq-list__answer {
  margin: 0;
  padding: 0 calc(68 / 16 * 1rem) calc(20 / 16 * 1rem);
  color: #333;
  font-size: calc(14 / 16 * 1rem);
  line-height: 1.6;
}
@media (max-width: 767px) {
  .c-faq-list__answer {
    padding: 0 calc(20 / 16 * 1rem) calc(17 / 16 * 1rem) calc(63 / 16 * 1rem);
    font-size: calc(14 / 16 * 1rem);
    line-height: 1.7;
  }
}

.c-page-hero {
  position: relative;
  overflow-x: clip;
  padding-block: calc(20 / 16 * 1rem) calc(80 / 16 * 1rem);
  border-bottom: 1px solid #707598;
}
@media (max-width: 767px) {
  .c-page-hero {
    height: calc(178 / 16 * 1rem);
  }
}
@media (max-width: 767px) {
  .c-page-hero--sp-pd {
    padding-block: calc(40 / 16 * 1rem) calc(60 / 16 * 1rem);
  }
}
.c-page-hero__deco {
  position: absolute;
  z-index: 0;
  pointer-events: none;
}
.c-page-hero__deco--left {
  top: calc(24 / 16 * 1rem);
  left: 0;
  width: calc(220 / 16 * 1rem);
}
@media (max-width: 767px) {
  .c-page-hero__deco--left {
    top: auto;
    bottom: calc(-70 / 16 * 1rem);
    left: 0;
    width: calc(122 / 16 * 1rem);
  }
}
.c-page-hero__deco--right {
  top: calc(-16 / 16 * 1rem);
  right: 0;
  width: calc(260 / 16 * 1rem);
}
@media (max-width: 767px) {
  .c-page-hero__deco--right {
    top: auto;
    bottom: calc(-55 / 16 * 1rem);
    right: 0;
    width: calc(155 / 16 * 1rem);
  }
}
.c-page-hero__deco-img {
  display: block;
  width: 100%;
  height: auto;
}
.c-page-hero__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: calc(10 / 16 * 1rem);
  text-align: center;
}
.c-page-hero__en {
  color: #111952;
  font-family: "Cormorant Garamond", serif;
  font-size: calc(18 / 16 * 1rem);
  font-weight: 300;
  line-height: 1;
}
@media (max-width: 767px) {
  .c-page-hero__en {
    font-size: calc(14 / 16 * 1rem);
  }
}
.c-page-hero__ttl {
  color: #111952;
  font-family: "Noto Serif JP", serif;
  font-size: calc(50 / 16 * 1rem);
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1;
}
@media (max-width: 767px) {
  .c-page-hero__ttl {
    font-size: calc(38 / 16 * 1rem);
    letter-spacing: 0.04em;
  }
}
@media (max-width: 767px) {
  .c-page-hero__ttl--sm {
    font-size: calc(28 / 16 * 1rem);
  }
}
@media (max-width: 767px) {
  .c-page-hero__ttl--sp-md {
    font-size: calc(34 / 16 * 1rem);
  }
}
@media (max-width: 767px) {
  .c-page-hero__ttl--sp-lg {
    font-size: calc(40 / 16 * 1rem);
  }
}
@media (max-width: 767px) {
  .c-page-hero.deco-pt02-sp .c-page-hero__deco--left {
    bottom: calc(-100 / 16 * 1rem);
    width: calc(190 / 16 * 1rem);
  }
}
@media (max-width: 767px) {
  .c-page-hero.deco-pt02-sp .c-page-hero__deco--right {
    bottom: calc(-90 / 16 * 1rem);
    width: calc(126 / 16 * 1rem);
  }
}

@media (max-width: 767px) {
  .c-breadcrumb {
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  .c-breadcrumb::-webkit-scrollbar {
    display: none;
  }
}
.c-breadcrumb__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: calc(4 / 16 * 1rem) calc(16 / 16 * 1rem);
}
@media (max-width: 767px) {
  .c-breadcrumb__list {
    flex-wrap: nowrap;
    width: max-content;
    min-width: 100%;
  }
}
.c-breadcrumb__item {
  display: flex;
  align-items: center;
  color: #111952;
  font-family: "Noto Serif JP", serif;
  font-size: calc(14 / 16 * 1rem);
  letter-spacing: 0.04em;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .c-breadcrumb__item {
    flex-shrink: 0;
    white-space: nowrap;
  }
}
.c-breadcrumb__item:not(:first-child)::before {
  content: "";
  display: block;
  width: calc(5 / 16 * 1rem);
  height: calc(5 / 16 * 1rem);
  margin-right: calc(16 / 16 * 1rem);
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  transform: rotate(45deg);
}
.c-breadcrumb__link {
  color: inherit;
  text-decoration: underline;
  text-underline-position: from-font;
  transition: text-decoration-color 0.4s ease;
}
@media (any-hover: hover) {
  .c-breadcrumb__link:hover {
    text-decoration: none;
  }
}
.c-breadcrumb__current {
  color: #111952;
  text-decoration: none;
}

.c-pagination__list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(20 / 16 * 1rem);
}
.c-pagination__label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.c-pagination__arrow {
  display: block;
  width: calc(37 / 16 * 1rem);
  height: calc(36 / 16 * 1rem);
  color: #111952;
}
.c-pagination__arrow-icon {
  display: block;
  width: 100%;
  height: 100%;
}
.c-pagination__arrow--prev {
  transform: rotate(180deg);
}
.c-pagination .page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: calc(10 / 16 * 1rem);
  height: calc(36 / 16 * 1rem);
  padding-inline: calc(5 / 16 * 1rem);
  color: #111952;
  font-size: calc(18 / 16 * 1rem);
  font-weight: 400;
  line-height: 1;
  text-decoration: none;
  transition: color 0.4s ease, opacity 0.4s ease;
}
@media (any-hover: hover) {
  .c-pagination .page-numbers:hover {
    opacity: 0.6;
  }
}
.c-pagination .page-numbers.current {
  color: #b99576;
  pointer-events: none;
}
.c-pagination .page-numbers.dots {
  min-width: calc(18 / 16 * 1rem);
  padding-inline: calc(5 / 16 * 1rem);
  pointer-events: none;
}
.c-pagination .page-numbers.prev, .c-pagination .page-numbers.next {
  min-width: calc(37 / 16 * 1rem);
  padding: 0;
  color: #111952;
}
.c-pagination .page-numbers.prev {
  margin-right: calc(15 / 16 * 1rem);
}
.c-pagination .page-numbers.next {
  margin-left: calc(15 / 16 * 1rem);
}

.c-cat-label {
  display: inline-block;
  padding: calc(5 / 16 * 1rem) calc(10 / 16 * 1rem);
  border: 1px solid #cad3e2;
  background-color: transparent;
  color: #707598;
  font-size: calc(12 / 16 * 1rem);
  line-height: 1.5;
}

a.c-cat-label {
  text-decoration: none;
  transition: opacity 0.4s ease;
}
@media (any-hover: hover) {
  a.c-cat-label:hover {
    opacity: 0.6;
  }
}

.c-icon {
  display: inline-block;
  flex-shrink: 0;
}

.c-entry {
  color: #333;
  font-size: calc(16 / 16 * 1rem);
  line-height: 1.8;
}
.c-entry > * + * {
  margin-top: calc(24 / 16 * 1rem);
}
.c-entry p {
  line-height: 1.8;
}
.c-entry .wp-block-paragraph {
  margin-top: calc(24 / 16 * 1rem);
}
.c-entry h2 {
  position: relative;
  margin-top: calc(40 / 16 * 1rem);
  padding-left: calc(12 / 16 * 1rem);
  color: #111952;
  font-family: "Noto Serif JP", serif;
  font-size: calc(24 / 16 * 1rem);
  font-weight: 500;
  line-height: 1.5;
}
.c-entry h2::before {
  content: "";
  position: absolute;
  top: 0.2em;
  bottom: 0.2em;
  left: 0;
  width: 2px;
  background-color: #111952;
}
.c-entry h3 {
  margin-top: calc(40 / 16 * 1rem);
  padding-bottom: calc(10 / 16 * 1rem);
  border-bottom: 1px solid #a7acd0;
  color: #111952;
  font-family: "Noto Serif JP", serif;
  font-size: calc(22 / 16 * 1rem);
  font-weight: 500;
  line-height: 1.5;
}
.c-entry h4 {
  margin-top: calc(40 / 16 * 1rem);
  color: #111952;
  font-family: "Noto Serif JP", serif;
  font-size: calc(20 / 16 * 1rem);
  font-weight: 700;
  line-height: 1.5;
}
.c-entry ul {
  list-style: none;
}
.c-entry ul li {
  position: relative;
  padding-left: calc(13 / 16 * 1rem);
  line-height: 1.6;
}
.c-entry ul li::before {
  content: "";
  position: absolute;
  top: 0.7em;
  left: 0;
  width: calc(5 / 16 * 1rem);
  height: calc(5 / 16 * 1rem);
  border-radius: 50%;
  background-color: #111952;
}
.c-entry ol {
  list-style: none;
  counter-reset: li;
}
.c-entry ol li {
  position: relative;
  padding-left: calc(18 / 16 * 1rem);
  line-height: 1.6;
  counter-increment: li;
}
.c-entry ol li::before {
  content: counter(li) ".";
  position: absolute;
  left: 0;
  color: #111952;
}
.c-entry li + li {
  margin-top: calc(8 / 16 * 1rem);
}
.c-entry img {
  border-radius: calc(4 / 16 * 1rem);
}
.c-entry figure img {
  width: 100%;
}
.c-entry .wp-block-table table {
  width: 100%;
  border-collapse: collapse;
}
.c-entry .wp-block-table table th,
.c-entry .wp-block-table table td {
  padding: calc(10 / 16 * 1rem);
  border: 1px solid #cad3e2;
  background-color: #ffffff;
  text-align: left;
  vertical-align: top;
  font-weight: 400;
  line-height: 1.4;
}
.c-entry .wp-block-table table th:first-child,
.c-entry .wp-block-table table td:first-child {
  width: calc(168 / 16 * 1rem);
  background-color: #e0e4eb;
  color: #111952;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-entry .wp-block-table table {
    display: block;
    border-top: 1px solid #cad3e2;
  }
  .c-entry .wp-block-table table tbody,
  .c-entry .wp-block-table table tr,
  .c-entry .wp-block-table table th,
  .c-entry .wp-block-table table td {
    display: block;
  }
  .c-entry .wp-block-table table th,
  .c-entry .wp-block-table table td {
    border-top: 0;
  }
  .c-entry .wp-block-table table th:first-child,
  .c-entry .wp-block-table table td:first-child {
    width: 100%;
  }
}
.c-entry .p-reserve-cta {
  margin-block: calc(40 / 16 * 1rem);
}
.c-entry a:not([class]) {
  color: #111952;
  text-decoration: underline;
}
@media (any-hover: hover) {
  .c-entry a:not([class]):hover {
    text-decoration: none;
  }
}

.p-header-lang {
  position: relative;
  color: #111952;
}
@media (any-hover: hover) {
  .p-header-lang:hover .p-header-lang__list {
    opacity: 1;
    visibility: visible;
  }
}
.p-header-lang:focus-within .p-header-lang__list {
  opacity: 1;
  visibility: visible;
}
.p-header-lang__label {
  display: flex;
  align-items: center;
  gap: calc(2 / 16 * 1rem);
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
  color: inherit;
  font-family: "Cormorant Garamond", serif;
  font-size: calc(18 / 16 * 1rem);
  line-height: 1;
}
.p-header-lang__icon {
  margin-top: calc(2 / 16 * 1rem);
}
.p-header-lang__list {
  position: absolute;
  top: calc(100% + calc(8 / 16 * 1rem));
  right: 0;
  min-width: 100%;
  padding: calc(8 / 16 * 1rem) calc(12 / 16 * 1rem);
  border: 1px solid #e0e4eb;
  border-radius: calc(4 / 16 * 1rem);
  background-color: #ffffff;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}
.p-header-lang__link {
  display: block;
  font-family: "Cormorant Garamond", serif;
  font-size: calc(16 / 16 * 1rem);
  line-height: 1.4;
  text-decoration: none;
  white-space: nowrap;
}

.p-drawer {
  position: fixed;
  inset: 0;
  z-index: 900;
  overflow: hidden auto;
  overscroll-behavior: contain;
  background-color: #707598;
  color: #ffffff;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}
.p-drawer.is-active {
  opacity: 1;
  visibility: visible;
}
.p-drawer__deco {
  position: absolute;
  z-index: 0;
  pointer-events: none;
}
.p-drawer__deco--left {
  top: 0;
  left: calc(40 / 16 * 1rem);
  width: calc(500 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-drawer__deco--left {
    left: 0;
    width: calc(290 / 16 * 1rem);
  }
}
.p-drawer__deco--right {
  right: 0;
  bottom: calc(10 / 16 * 1rem);
  width: calc(300 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-drawer__deco--right {
    top: calc(552 / 16 * 1rem);
    bottom: auto;
    width: calc(190 / 16 * 1rem);
  }
}
.p-drawer__inner {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  min-height: 100%;
  width: calc(1180 / 16 * 1rem);
  max-width: 90%;
  margin-inline: auto;
  padding-top: calc(100 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-drawer__inner {
    flex-direction: column;
    padding: calc(100 / 16 * 1rem) 0;
  }
}
.p-drawer__main {
  flex: 0 0 calc(357 / 16 * 1rem);
  align-self: stretch;
  display: flex;
  flex-direction: column;
  gap: calc(60 / 16 * 1rem);
  margin-right: calc(120 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-drawer__main {
    display: contents;
  }
}
.p-drawer__search {
  flex: 1;
}
@media (max-width: 767px) {
  .p-drawer__search {
    order: 2;
    width: 100%;
    margin-top: calc(80 / 16 * 1rem);
    padding: 0;
  }
}
@media (max-width: 767px) {
  .p-drawer__nav {
    order: 1;
    width: 100%;
  }
}
.p-drawer__nav-list {
  display: flex;
  flex-direction: column;
  gap: calc(40 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-drawer__nav-list {
    gap: calc(13 / 16 * 1rem);
  }
}
.p-drawer__nav-link {
  display: block;
  width: fit-content;
  color: #ffffff;
  font-family: "Noto Serif JP", serif;
  font-size: calc(30 / 16 * 1rem);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.05em;
  white-space: nowrap;
  text-decoration: none;
  transition: opacity 0.4s ease;
}
@media (max-width: 767px) {
  .p-drawer__nav-link {
    font-size: calc(26 / 16 * 1rem);
    line-height: 1.5;
  }
}
@media (any-hover: hover) {
  .p-drawer__nav-link:hover {
    opacity: 0.7;
  }
}
.p-drawer__cta {
  display: flex;
  flex-direction: column;
  gap: calc(20 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-drawer__cta {
    order: 3;
    width: 100%;
    gap: calc(30 / 16 * 1rem);
    margin-top: calc(70 / 16 * 1rem);
  }
}
.p-drawer__line-btn {
  width: 100%;
}
.p-drawer__online {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(4 / 16 * 1rem);
}
.p-drawer__online-lead {
  display: flex;
  align-items: center;
  gap: calc(4 / 16 * 1rem);
  color: #ffffff;
  font-size: calc(14 / 16 * 1rem);
  line-height: 1.7;
}
.p-drawer__online-lead::before, .p-drawer__online-lead::after {
  content: "";
  width: 1px;
  height: calc(13 / 16 * 1rem);
  background-color: currentColor;
}
.p-drawer__online-lead::before {
  transform: rotate(-27deg);
}
.p-drawer__online-lead::after {
  transform: rotate(27deg);
}
.p-drawer__online-btn {
  width: 100%;
}
.p-drawer__sns {
  display: flex;
  align-items: center;
  gap: calc(20 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-drawer__sns {
    order: 4;
    justify-content: center;
    gap: calc(30 / 16 * 1rem);
    width: 100%;
    margin-top: calc(30 / 16 * 1rem);
  }
}
.p-drawer__sns-link {
  display: block;
  color: #ffffff;
  transition: opacity 0.4s ease;
}
@media (any-hover: hover) {
  .p-drawer__sns-link:hover {
    opacity: 0.7;
  }
}
.p-drawer__sns-icon {
  width: calc(24 / 16 * 1rem);
  height: calc(24 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-drawer__sns-icon {
    width: calc(41 / 16 * 1rem);
    height: calc(41 / 16 * 1rem);
  }
}
.p-drawer__sns-icon--line {
  width: calc(26 / 16 * 1rem);
  height: calc(24 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-drawer__sns-icon--line {
    width: calc(43 / 16 * 1rem);
    height: calc(41 / 16 * 1rem);
  }
}
.p-drawer__search-ttl {
  color: #ffffff;
  font-family: "Noto Serif JP", serif;
  font-size: calc(28 / 16 * 1rem);
  font-weight: 500;
  line-height: 1;
  margin-bottom: calc(50 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-drawer__search-ttl {
    font-size: calc(26 / 16 * 1rem);
    margin-bottom: calc(30 / 16 * 1rem);
  }
}
.p-drawer__search-groups {
  display: flex;
  flex-direction: column;
  gap: calc(40 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-drawer__search-groups {
    gap: calc(50 / 16 * 1rem);
  }
}
.p-drawer__search-head {
  margin-bottom: calc(20 / 16 * 1rem);
}
.p-drawer__cat-list {
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(4, auto);
  grid-auto-columns: calc(168 / 16 * 1rem);
  justify-content: start;
  gap: calc(14 / 16 * 1rem) calc(55 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-drawer__cat-list {
    grid-auto-flow: row;
    grid-template-rows: none;
    grid-auto-columns: auto;
  }
}
.p-drawer__cat-link {
  display: flex;
  align-items: center;
  gap: calc(8 / 16 * 1rem);
  color: #ffffff;
  font-size: calc(16 / 16 * 1rem);
  line-height: 1.5;
  letter-spacing: 0.05em;
  white-space: nowrap;
  text-decoration: none;
  transition: opacity 0.4s ease;
}
.p-drawer__cat-link::before {
  content: "";
  flex-shrink: 0;
  width: calc(10 / 16 * 1rem);
  height: 1px;
  background-color: currentColor;
}
@media (any-hover: hover) {
  .p-drawer__cat-link:hover {
    opacity: 0.7;
  }
}

body.is-drawer-open {
  overflow: hidden;
}

.p-card-slider {
  position: relative;
  container-type: inline-size;
  margin-top: calc(24 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-card-slider {
    order: 2;
    margin-top: calc(16 / 16 * 1rem);
  }
}
.p-card-slider.is-static .p-card-slider__nav {
  display: none;
}
@media (max-width: 767px) {
  .p-card-slider.is-static .p-card-slider__list {
    overflow-x: visible;
    scroll-snap-type: none;
  }
}
@media (max-width: 767px) {
  .p-card-slider.is-static .p-card-slider__item {
    width: auto;
    flex: 0 0 calc(50% - calc(6 / 16 * 1rem));
    scroll-snap-align: none;
  }
}
.p-card-slider__list {
  display: flex;
  gap: calc(20 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-card-slider__list {
    gap: calc(12 / 16 * 1rem);
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }
}
.p-card-slider__list.slick-initialized {
  display: block;
  overflow: visible;
}
.p-card-slider__list.slick-initialized .slick-list {
  margin-inline: calc(-10 / 16 * 1rem);
  overflow: hidden;
}
@media (max-width: 767px) {
  .p-card-slider__list.slick-initialized .slick-list {
    margin-inline: calc(-6 / 16 * 1rem);
  }
}
.p-card-slider__list.slick-initialized .slick-track {
  display: flex;
  margin-left: 0;
}
.p-card-slider__list.slick-initialized .slick-slide {
  height: auto;
  padding-inline: calc(10 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-card-slider__list.slick-initialized .slick-slide {
    padding-inline: calc(6 / 16 * 1rem);
  }
}
.p-card-slider__list.slick-initialized .slick-slide > div {
  height: 100%;
}
.p-card-slider__item {
  width: calc((100% - calc(60 / 16 * 1rem)) / 4);
  flex-shrink: 0;
}
@media (max-width: 767px) {
  .p-card-slider__item {
    width: calc(200 / 16 * 1rem);
    scroll-snap-align: start;
  }
}
.p-card-slider__nav {
  position: absolute;
  top: calc(12.5cqw - calc(10 / 16 * 1rem));
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(40 / 16 * 1rem);
  height: calc(40 / 16 * 1rem);
  padding: 0;
  border: 1px solid #e0e4eb;
  border-radius: 50%;
  background-color: #ffffff;
  cursor: pointer;
  color: #111952;
  transform: translateY(-50%);
  transition: background-color 0.4s ease, color 0.4s ease, border-color 0.4s ease, opacity 0.4s ease;
  z-index: 10;
}
@media (any-hover: hover) {
  .p-card-slider__nav:hover {
    border-color: #111952;
    background-color: #111952;
    color: #ffffff;
  }
}
.p-card-slider__nav.slick-disabled, .p-card-slider__nav:disabled {
  border-color: #c5cbd8;
  color: #c5cbd8;
  opacity: 0.75;
  pointer-events: none;
}
.p-card-slider__nav--prev {
  left: calc(-20 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-card-slider__nav--prev {
    left: calc(-11.3 / 16 * 1rem);
  }
}
.p-card-slider__nav--next {
  right: calc(-20 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-card-slider__nav--next {
    right: calc(-11.3 / 16 * 1rem);
  }
}
@media (max-width: 767px) {
  .p-card-slider__nav {
    top: calc(25cqw - calc(6 / 16 * 1rem));
  }
}
.p-card-slider__nav-icon--prev {
  transform: rotate(90deg);
}
.p-card-slider__nav-icon--next {
  transform: rotate(-90deg);
}
.p-card-slider--column .p-card-slider__nav {
  top: calc(9.392cqw - calc(10 / 16 * 1rem));
}
@media (max-width: 767px) {
  .p-card-slider--column .p-card-slider__nav {
    top: calc(18.784cqw - calc(6 / 16 * 1rem));
  }
}

.p-fixed-cta {
  display: none;
}
@media (max-width: 767px) {
  .p-fixed-cta {
    position: fixed;
    left: 0;
    bottom: calc(20 / 16 * 1rem);
    z-index: 100;
    display: flex;
    width: 100%;
    padding-inline: calc(20 / 16 * 1rem);
    transition: opacity 0.4s ease, transform 0.4s ease;
  }
}
.p-fixed-cta.is-hidden {
  opacity: 0;
  transform: translateY(calc(100% + calc(20 / 16 * 1rem)));
  pointer-events: none;
}
.p-fixed-cta__btn {
  width: 100%;
}

.is-drawer-open .p-fixed-cta {
  visibility: hidden;
}

.p-footer-cta {
  position: relative;
  overflow: hidden;
  background-color: #e0e4eb;
  padding: calc(162 / 16 * 1rem) 0;
}
@media (max-width: 767px) {
  .p-footer-cta {
    padding: 0 0 calc(30 / 16 * 1rem);
  }
}
.p-footer-cta__photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
@media (max-width: 767px) {
  .p-footer-cta__photo {
    position: static;
    height: auto;
    aspect-ratio: 642/720;
  }
}
.p-footer-cta__body {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  text-align: center;
}
@media (max-width: 767px) {
  .p-footer-cta__body {
    width: 100%;
    margin-top: calc(-125 / 16 * 1rem);
    position: relative;
    z-index: 1;
  }
}
.p-footer-cta__ctas {
  width: calc(588 / 16 * 1rem);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(10 / 16 * 1rem);
}
@media (max-width: 1024px) {
  .p-footer-cta__ctas {
    width: calc(555 / 16 * 1rem);
  }
}
.p-footer-cta__lead {
  display: flex;
  align-items: center;
  gap: calc(14 / 16 * 1rem);
  padding-bottom: calc(4 / 16 * 1rem);
  color: #111952;
  font-size: calc(20 / 16 * 1rem);
  line-height: 1.5;
}
.p-footer-cta__lead::before, .p-footer-cta__lead::after {
  content: "";
  width: 1px;
  height: calc(22 / 16 * 1rem);
  background-color: #111952;
}
.p-footer-cta__lead::before {
  transform: rotate(-25deg);
}
.p-footer-cta__lead::after {
  transform: rotate(25deg);
}
@media (max-width: 767px) {
  .p-footer-cta__lead {
    font-size: calc(16 / 16 * 1rem);
  }
}
.p-footer-cta__btn {
  display: flex;
  align-items: center;
  width: 100%;
  padding: calc(18 / 16 * 1rem) calc(20 / 16 * 1rem);
  border: 1px solid #1e8c63;
  border-radius: calc(90 / 16 * 1rem);
  background-color: #1e8c63;
  color: #ffffff;
  text-decoration: none;
  transition: background-color 0.4s ease, color 0.4s ease;
}
@media (any-hover: hover) {
  .p-footer-cta__btn:hover, .p-footer-cta__btn:focus-visible {
    opacity: 1;
    background-color: #ffffff;
    color: #1e8c63;
  }
}
.p-footer-cta__btn-icon {
  flex-shrink: 0;
}
@media (max-width: 767px) {
  .p-footer-cta__btn-icon {
    width: calc(64 / 16 * 1rem);
    height: calc(64 / 16 * 1rem);
  }
}
.p-footer-cta__btn-body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(16 / 16 * 1rem);
  flex: 1;
}
@media (max-width: 767px) {
  .p-footer-cta__btn-body {
    gap: calc(10 / 16 * 1rem);
  }
}
.p-footer-cta__btn-ttl {
  font-size: calc(48 / 16 * 1rem);
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1;
}
@media (max-width: 767px) {
  .p-footer-cta__btn-ttl {
    font-size: calc(26 / 16 * 1rem);
  }
}
.p-footer-cta__btn-sub {
  font-size: calc(24 / 16 * 1rem);
  letter-spacing: 0.06em;
  line-height: 1;
}
@media (max-width: 767px) {
  .p-footer-cta__btn-sub {
    font-size: calc(15 / 16 * 1rem);
  }
}

.p-medicine-list__groups {
  display: flex;
  flex-direction: column;
  gap: calc(60 / 16 * 1rem);
  margin-top: calc(40 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-medicine-list__groups {
    gap: calc(40 / 16 * 1rem);
    margin-top: calc(30 / 16 * 1rem);
  }
}
@media (max-width: 767px) {
  .p-medicine-list__group {
    display: flex;
    flex-direction: column;
    padding-block: calc(30 / 16 * 1rem);
    border-bottom: 1px solid #c5cbd8;
  }
  .p-medicine-list__group:first-of-type {
    padding-top: 0;
  }
}
.p-medicine-list__group-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(20 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-medicine-list__group-head {
    display: contents;
  }
}
@media (max-width: 767px) {
  .p-medicine-list__group-ttl {
    order: 1;
  }
}
.p-medicine-list__more {
  width: calc(147 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-medicine-list__more {
    order: 3;
    align-self: center;
    margin-top: calc(24 / 16 * 1rem);
  }
}

.p-medicine-archive {
  padding-block: calc(0 / 16 * 1rem) calc(140 / 16 * 1rem);
}
.p-medicine-archive__body {
  display: flex;
  align-items: flex-start;
  gap: calc(80 / 16 * 1rem);
  margin-top: calc(80 / 16 * 1rem);
}
@media (max-width: 1024px) {
  .p-medicine-archive__body {
    gap: calc(40 / 16 * 1rem);
  }
}
@media (max-width: 767px) {
  .p-medicine-archive__body {
    flex-direction: column;
    align-items: stretch;
    gap: calc(60 / 16 * 1rem);
    margin-top: calc(40 / 16 * 1rem);
  }
}
.p-medicine-archive__main {
  flex: 1 1 auto;
  min-width: 0;
}
@media (max-width: 767px) {
  .p-medicine-archive__main {
    width: 100%;
  }
}
.p-medicine-archive__side {
  position: sticky;
  top: calc(110 / 16 * 1rem);
  flex-shrink: 0;
  width: calc(240 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-medicine-archive__side {
    position: static;
    top: auto;
    width: 100%;
  }
}
.p-medicine-archive__section + .p-medicine-archive__section {
  margin-top: calc(80 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-medicine-archive__section + .p-medicine-archive__section {
    margin-top: calc(56 / 16 * 1rem);
  }
}

.p-medicine-tax {
  padding-block: calc(0 / 16 * 1rem) calc(140 / 16 * 1rem);
}
.p-medicine-tax__breadcrumb {
  margin-bottom: calc(20 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-medicine-tax__breadcrumb {
    margin-bottom: calc(16 / 16 * 1rem);
  }
}
.p-medicine-tax__body {
  display: flex;
  align-items: flex-start;
  gap: calc(80 / 16 * 1rem);
  margin-top: calc(80 / 16 * 1rem);
}
@media (max-width: 1024px) {
  .p-medicine-tax__body {
    gap: calc(40 / 16 * 1rem);
  }
}
@media (max-width: 767px) {
  .p-medicine-tax__body {
    flex-direction: column;
    align-items: stretch;
    gap: calc(40 / 16 * 1rem);
    margin-top: calc(40 / 16 * 1rem);
  }
}
.p-medicine-tax__main {
  flex: 1 1 auto;
  min-width: 0;
}
@media (max-width: 767px) {
  .p-medicine-tax__main {
    width: 100%;
  }
}
.p-medicine-tax__side {
  position: sticky;
  top: calc(110 / 16 * 1rem);
  flex-shrink: 0;
  width: calc(240 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-medicine-tax__side {
    position: static;
    top: auto;
    width: 100%;
  }
}
.p-medicine-tax__desc {
  margin-top: calc(24 / 16 * 1rem);
  font-size: calc(14 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-medicine-tax__desc {
    margin-top: calc(20 / 16 * 1rem);
  }
}
.p-medicine-tax__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: calc(20 / 16 * 1rem);
  margin-top: calc(40 / 16 * 1rem);
}
@media (max-width: 1024px) {
  .p-medicine-tax__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 767px) {
  .p-medicine-tax__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: calc(20 / 16 * 1rem);
    margin-top: calc(24 / 16 * 1rem);
  }
}
.p-medicine-tax__pager {
  margin-top: calc(60 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-medicine-tax__pager {
    margin-top: calc(40 / 16 * 1rem);
  }
}
.p-medicine-tax__empty {
  margin-top: calc(40 / 16 * 1rem);
  text-align: center;
}

.p-medicine-side__group + .p-medicine-side__group {
  margin-top: calc(40 / 16 * 1rem);
}
.p-medicine-side__head {
  padding: calc(8 / 16 * 1rem) calc(10 / 16 * 1rem) calc(12 / 16 * 1rem);
  border-left: 2px solid #707598;
  background-color: #e0e4eb;
  backdrop-filter: blur(calc(6 / 16 * 1rem));
  -webkit-backdrop-filter: blur(calc(6 / 16 * 1rem));
}
.p-medicine-side__ttl {
  color: #111952;
  font-family: "Noto Serif JP", serif;
  font-size: calc(18 / 16 * 1rem);
  font-weight: 500;
  line-height: 1;
}
.p-medicine-side__nav {
  margin-top: calc(20 / 16 * 1rem);
  padding-inline: calc(10 / 16 * 1rem);
}
.p-medicine-side__list {
  display: flex;
  flex-direction: column;
  gap: calc(15 / 16 * 1rem);
}
.p-medicine-side__link {
  display: inline-block;
  color: #111952;
  font-size: calc(14 / 16 * 1rem);
  line-height: 1.2;
  transition: opacity 0.4s ease;
}
@media (any-hover: hover) {
  .p-medicine-side__link:hover {
    opacity: 0.6;
  }
}

.p-medicine-detail {
  padding-block: calc(0 / 16 * 1rem) calc(80 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-medicine-detail {
    padding-block: calc(0 / 16 * 1rem) calc(140 / 16 * 1rem);
  }
}
.p-medicine-detail__body {
  display: flex;
  align-items: flex-start;
  gap: calc(40 / 16 * 1rem);
  margin-top: calc(80 / 16 * 1rem);
}
@media (max-width: 1024px) {
  .p-medicine-detail__body {
    flex-direction: column;
    gap: calc(32 / 16 * 1rem);
    margin-top: calc(40 / 16 * 1rem);
  }
}
.p-medicine-detail__gallery {
  flex-shrink: 0;
  width: calc(450 / 16 * 1rem);
  top: calc(132 / 16 * 1rem);
  align-self: flex-start;
}
@media (max-width: 1024px) {
  .p-medicine-detail__gallery {
    width: calc(360 / 16 * 1rem);
    position: static;
    top: auto;
    margin-inline: auto;
    width: 90%;
  }
}
@media (max-width: 767px) {
  .p-medicine-detail__gallery {
    width: 100%;
  }
}
.p-medicine-detail__main {
  flex: 1 1 auto;
  min-width: 0;
}
.p-medicine-detail__ttl {
  padding: calc(12 / 16 * 1rem) calc(8 / 16 * 1rem);
  background-color: #111952;
  color: #ffffff;
  font-family: "Noto Serif JP", serif;
  font-size: calc(26 / 16 * 1rem);
  font-weight: 500;
  line-height: 1.2;
}
.p-medicine-detail__cat {
  display: flex;
  flex-wrap: wrap;
  gap: calc(8 / 16 * 1rem);
  margin-top: calc(24 / 16 * 1rem);
}
.p-medicine-detail__entry {
  margin-top: calc(24 / 16 * 1rem);
}
.p-medicine-detail__related {
  margin-top: calc(100 / 16 * 1rem);
  padding: calc(60 / 16 * 1rem);
  background-color: #e0e4eb;
}
@media (max-width: 767px) {
  .p-medicine-detail__related {
    margin-top: calc(64 / 16 * 1rem);
    padding: calc(32 / 16 * 1rem) calc(20 / 16 * 1rem);
  }
}
.p-medicine-detail__related > * + * {
  margin-top: calc(60 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-medicine-detail__related > * + * {
    margin-top: calc(48 / 16 * 1rem);
  }
}

.p-gallery {
  width: calc(100% - calc(50 / 16 * 1rem));
  margin-inline: auto;
}
.p-gallery__main-wrap {
  position: relative;
}
.p-gallery__main {
  border: 1px solid #bfcbf3;
  border-radius: calc(4 / 16 * 1rem);
  overflow: hidden;
}
.p-gallery__main:not(.slick-initialized) .p-gallery__slide + .p-gallery__slide {
  display: none;
}
.p-gallery__slide {
  aspect-ratio: 1/1;
}
.p-gallery__nav {
  position: absolute;
  top: 50%;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(50 / 16 * 1rem);
  height: calc(50 / 16 * 1rem);
  padding: 0;
  border: 1px solid #707598;
  border-radius: 50%;
  background-color: #ffffff;
  color: #707598;
  cursor: pointer;
  box-shadow: 0 calc(4 / 16 * 1rem) calc(5 / 16 * 1rem) rgba(0, 0, 0, 0.15);
  transform: translateY(-50%);
  transition: background-color 0.4s ease, color 0.4s ease, border-color 0.4s ease;
}
@media (any-hover: hover) {
  .p-gallery__nav:hover {
    border-color: #111952;
    background-color: #111952;
    color: #ffffff;
  }
}
.p-gallery__nav--prev {
  left: calc(-25 / 16 * 1rem);
}
.p-gallery__nav--next {
  right: calc(-25 / 16 * 1rem);
}
.p-gallery__nav-icon--prev {
  transform: rotate(90deg);
}
.p-gallery__nav-icon--next {
  transform: rotate(-90deg);
}
.p-gallery__thumbs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: calc(10.67 / 16 * 1rem);
  margin-top: calc(20 / 16 * 1rem);
}
.p-gallery__thumbs.slick-initialized {
  display: block;
}
.p-gallery__thumbs.slick-initialized .slick-track {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: calc(10 / 16 * 1rem);
  transform: none !important;
  width: 100% !important;
}
@media (max-width: sm) {
  .p-gallery__thumbs.slick-initialized .slick-track {
    gap: calc(9 / 16 * 1rem);
  }
}
.p-gallery__thumbs.slick-initialized .slick-track::before, .p-gallery__thumbs.slick-initialized .slick-track::after {
  display: none;
}
.p-gallery__thumb {
  aspect-ratio: 1/1;
  border: 1px solid transparent;
  border-radius: calc(2 / 16 * 1rem);
  overflow: hidden;
  cursor: pointer;
  opacity: 0.45;
  transition: opacity 0.4s ease, border-color 0.4s ease;
}
@media (min-width: 1025px) {
  .p-gallery__thumb {
    width: calc(92 / 16 * 1rem);
  }
}
@media (any-hover: hover) {
  .p-gallery__thumb:hover {
    opacity: 1;
  }
}
.p-gallery__thumb.slick-current {
  opacity: 1;
  border-color: #bfcbf3;
}
.p-gallery__thumbs:not(.slick-initialized) .p-gallery__thumb:first-child {
  opacity: 1;
  border-color: #bfcbf3;
}
.p-gallery__thumb-img {
  display: block;
  width: 100%;
  height: 100%;
}

.p-related__head-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(20 / 16 * 1rem);
}
.p-related__slider {
  margin-top: calc(40 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-related__slider {
    margin-top: calc(24 / 16 * 1rem);
  }
}
@media (max-width: 767px) {
  .p-related__more {
    width: calc(132 / 16 * 1rem);
    gap: calc(14 / 16 * 1rem);
  }
}

.p-column-archive {
  padding-block: calc(0 / 16 * 1rem) calc(140 / 16 * 1rem);
}
.p-column-archive__body {
  display: flex;
  align-items: flex-start;
  gap: calc(80 / 16 * 1rem);
  margin-top: calc(80 / 16 * 1rem);
}
@media (max-width: 1024px) {
  .p-column-archive__body {
    gap: calc(40 / 16 * 1rem);
  }
}
@media (max-width: 767px) {
  .p-column-archive__body {
    flex-direction: column;
    align-items: stretch;
    gap: calc(80 / 16 * 1rem);
  }
}
.p-column-archive__main {
  flex: 1 1 auto;
  min-width: 0;
}
@media (max-width: 767px) {
  .p-column-archive__main {
    width: 100%;
  }
}
.p-column-archive__side {
  position: sticky;
  top: calc(110 / 16 * 1rem);
  flex-shrink: 0;
  width: calc(240 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-column-archive__side {
    position: static;
    top: auto;
    width: 100%;
  }
}
.p-column-archive__list .c-column-item:first-child .c-column-item__link {
  padding-top: 0;
}
.p-column-archive__desc {
  margin-bottom: calc(40 / 16 * 1rem);
  color: #111952;
  font-size: calc(15 / 16 * 1rem);
  line-height: 1.8;
}
@media (max-width: 767px) {
  .p-column-archive__desc {
    margin-bottom: calc(32 / 16 * 1rem);
    font-size: calc(14 / 16 * 1rem);
  }
}
.p-column-archive__pager {
  margin-top: calc(80 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-column-archive__pager {
    margin-top: calc(56 / 16 * 1rem);
  }
}
.p-column-archive__empty {
  text-align: center;
}

.p-column-detail {
  padding-block: calc(0 / 16 * 1rem) calc(120 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-column-detail {
    padding-block: calc(0 / 16 * 1rem) calc(72 / 16 * 1rem);
  }
}
.p-column-detail__body {
  display: flex;
  align-items: flex-start;
  gap: calc(80 / 16 * 1rem);
  margin-top: calc(80 / 16 * 1rem);
}
@media (max-width: 1024px) {
  .p-column-detail__body {
    gap: calc(40 / 16 * 1rem);
    margin-top: calc(40 / 16 * 1rem);
  }
}
@media (max-width: 767px) {
  .p-column-detail__body {
    flex-direction: column;
    align-items: stretch;
    gap: calc(80 / 16 * 1rem);
  }
}
.p-column-detail__main {
  flex: 1 1 auto;
  min-width: 0;
}
@media (max-width: 767px) {
  .p-column-detail__main {
    width: 100%;
  }
}
.p-column-detail__side {
  position: sticky;
  top: calc(110 / 16 * 1rem);
  flex-shrink: 0;
  width: calc(240 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-column-detail__side {
    position: static;
    top: auto;
    width: 100%;
  }
}
.p-column-detail__header {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: calc(12 / 16 * 1rem);
  padding-bottom: calc(24 / 16 * 1rem);
}
.p-column-detail__header::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background-image: linear-gradient(to right, #111952 0 calc(50 / 16 * 1rem), #cad3e2 calc(50 / 16 * 1rem) 100%);
}
.p-column-detail__meta {
  display: flex;
  align-items: center;
  gap: calc(24 / 16 * 1rem);
}
.p-column-detail__date {
  color: #707598;
  font-size: calc(12 / 16 * 1rem);
  line-height: 1.5;
}
.p-column-detail__ttl {
  color: #111952;
  font-family: "Noto Serif JP", serif;
  font-size: calc(32 / 16 * 1rem);
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.6;
}
@media (max-width: 767px) {
  .p-column-detail__ttl {
    font-size: calc(28 / 16 * 1rem);
  }
}
.p-column-detail__hero {
  margin-top: calc(40 / 16 * 1rem);
  aspect-ratio: 599/395;
  border-radius: calc(4 / 16 * 1rem);
  overflow: hidden;
}
.p-column-detail__entry {
  margin-top: calc(40 / 16 * 1rem);
}
.p-column-detail__entry h2 {
  margin-top: calc(54 / 16 * 1rem);
  padding-left: 0;
  color: #111952;
  font-family: "Noto Serif JP", serif;
  font-size: calc(28 / 16 * 1rem);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
}
@media (max-width: 767px) {
  .p-column-detail__entry h2 {
    font-size: calc(24 / 16 * 1rem);
  }
}
.p-column-detail__entry h2::before {
  content: none;
}
.p-column-detail__entry h3 {
  position: relative;
  margin-top: calc(32 / 16 * 1rem);
  padding-bottom: 0;
  padding-left: calc(12 / 16 * 1rem);
  border-bottom: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: calc(22 / 16 * 1rem);
  font-weight: 500;
  line-height: 1.4545454545;
}
.p-column-detail__entry h3::before {
  content: "";
  position: absolute;
  top: calc(5 / 16 * 1rem);
  bottom: calc(5 / 16 * 1rem);
  left: 0;
  width: 4px;
  background-color: #111952;
}
.p-column-detail__cta {
  margin-top: calc(40 / 16 * 1rem);
  text-align: left;
}
.p-column-detail__cta-link {
  color: #111952;
  font-size: calc(16 / 16 * 1rem);
  line-height: 1.5;
  text-decoration: underline;
  text-underline-offset: calc(3 / 16 * 1rem);
}
@media (any-hover: hover) {
  .p-column-detail__cta-link:hover {
    text-decoration: none;
  }
}
.p-column-detail__supervisor {
  margin-top: calc(40 / 16 * 1rem);
  padding: calc(40 / 16 * 1rem);
  border-radius: calc(8 / 16 * 1rem);
  background-color: #ffffff;
}
@media (max-width: 767px) {
  .p-column-detail__supervisor {
    padding: calc(30 / 16 * 1rem);
  }
}
.p-column-detail__sv-head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: calc(16 / 16 * 1rem);
}
.p-column-detail__sv-ttl {
  color: #111952;
  font-family: "Noto Serif JP", serif;
  font-size: calc(20 / 16 * 1rem);
  font-weight: 500;
  line-height: 1;
}
.p-column-detail__sv-line {
  position: relative;
  display: block;
  width: 100%;
  height: 1px;
  background-color: #cad3e2;
}
.p-column-detail__sv-line::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: calc(50 / 16 * 1rem);
  height: 1px;
  background-color: #111952;
}
.p-column-detail__sv-body {
  display: flex;
  flex-direction: column;
  gap: calc(16 / 16 * 1rem);
  margin-top: calc(24 / 16 * 1rem);
}
.p-column-detail__sv-person {
  display: flex;
  align-items: center;
  gap: calc(20 / 16 * 1rem);
}
.p-column-detail__sv-avatar {
  flex-shrink: 0;
  width: calc(80 / 16 * 1rem);
  height: calc(80 / 16 * 1rem);
  border-radius: 50%;
  overflow: hidden;
  background-color: #e0e4eb;
}
.p-column-detail__sv-name {
  display: flex;
  align-items: baseline;
  gap: calc(10 / 16 * 1rem);
  color: #111952;
  letter-spacing: calc(1.2 / 16 * 1rem);
}
.p-column-detail__sv-role {
  font-family: "Noto Sans JP", sans-serif;
  font-size: calc(16 / 16 * 1rem);
  font-weight: 400;
  line-height: 2.4;
}
.p-column-detail__sv-fullname {
  font-family: "Noto Serif JP", serif;
  font-size: calc(24 / 16 * 1rem);
  font-weight: 400;
  line-height: 1.6;
}
.p-column-detail__sv-bio {
  color: #333;
  font-size: calc(16 / 16 * 1rem);
  line-height: 1.8;
}
.p-column-detail__sv-bio > * + * {
  margin-top: calc(16 / 16 * 1rem);
}
.p-column-detail__share {
  margin-top: calc(80 / 16 * 1rem);
  padding-bottom: calc(40 / 16 * 1rem);
  border-bottom: 1px solid #cad3e2;
}
@media (max-width: 767px) {
  .p-column-detail__share {
    margin-top: calc(30 / 16 * 1rem);
  }
}
.p-column-detail__share-head {
  display: flex;
  align-items: center;
  gap: calc(16 / 16 * 1rem);
}
.p-column-detail__share-line {
  flex: 1 1 0;
  height: 1px;
  background-color: #cad3e2;
}
.p-column-detail__share-label {
  color: #111952;
  font-family: "Noto Serif JP", serif;
  font-size: calc(20 / 16 * 1rem);
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1;
}
.p-column-detail__share-list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(16 / 16 * 1rem);
  margin-top: calc(30 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-column-detail__share-list {
    gap: calc(16 / 16 * 1rem);
  }
}
.p-column-detail__share-item:nth-child(4) {
  margin-left: calc(8 / 16 * 1rem);
}
.p-column-detail__share-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(30 / 16 * 1rem);
  height: calc(30 / 16 * 1rem);
  padding: 0;
  border: 0;
  background-color: transparent;
  transition: opacity 0.4s ease;
}
@media (any-hover: hover) {
  .p-column-detail__share-link:hover {
    opacity: 0.72;
  }
}
.p-column-detail__share-link--x {
  width: calc(24 / 16 * 1rem);
  height: calc(24 / 16 * 1rem);
}
.p-column-detail__share-icon {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.p-column-detail__share-copy {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: calc(8 / 16 * 1rem);
  padding: calc(3.5 / 16 * 1rem) calc(16 / 16 * 1rem);
  border: 0;
  border-radius: calc(100 / 16 * 1rem);
  background-color: #707598;
  color: #ffffff;
  cursor: pointer;
  transition: opacity 0.4s ease;
}
@media (any-hover: hover) {
  .p-column-detail__share-copy:hover {
    opacity: 0.72;
  }
}
.p-column-detail__share-copy.is-copied {
  opacity: 1;
}
.p-column-detail__share-copy-icon {
  flex-shrink: 0;
  width: calc(16 / 16 * 1rem);
  height: calc(16 / 16 * 1rem);
}
.p-column-detail__share-copy-txt {
  font-size: calc(14 / 16 * 1rem);
  line-height: 1.8;
  white-space: nowrap;
}
.p-column-detail__share-copy-msg {
  position: absolute;
  bottom: calc(100% + calc(8 / 16 * 1rem));
  left: 50%;
  min-width: calc(112 / 16 * 1rem);
  padding: calc(6 / 16 * 1rem) calc(10 / 16 * 1rem);
  background-color: #111952;
  color: #ffffff;
  font-size: calc(12 / 16 * 1rem);
  line-height: 1.4;
  text-align: center;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  transform: translateX(-50%) translateY(calc(4 / 16 * 1rem));
  transition: opacity 0.4s ease, transform 0.4s ease, visibility 0s linear 0.4s;
  pointer-events: none;
}
.p-column-detail__share-copy-msg::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  border-top: calc(6 / 16 * 1rem) solid #111952;
  border-right: calc(5 / 16 * 1rem) solid transparent;
  border-left: calc(5 / 16 * 1rem) solid transparent;
  transform: translateX(-50%);
}
.p-column-detail__share-copy.is-copied .p-column-detail__share-copy-msg {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%);
  transition: opacity 0.4s ease, transform 0.4s ease, visibility 0s;
}
.p-column-detail__pager {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(24 / 16 * 1rem);
  max-width: calc(416 / 16 * 1rem);
  margin: calc(80 / 16 * 1rem) auto 0;
  padding-block: calc(10 / 16 * 1rem);
  font-family: "Noto Serif JP", serif;
  font-size: calc(18 / 16 * 1rem);
  line-height: 1.5;
}
@media (max-width: 767px) {
  .p-column-detail__pager {
    gap: calc(16 / 16 * 1rem);
  }
}
.p-column-detail__pager-side {
  flex: 0 0 calc(83 / 16 * 1rem);
}
.p-column-detail__pager-side--prev {
  text-align: left;
}
.p-column-detail__pager-side--next {
  text-align: right;
}
.p-column-detail__pager-link {
  display: inline-flex;
  align-items: center;
  gap: calc(8 / 16 * 1rem);
  color: #111952;
  font-weight: 400;
  letter-spacing: 0.02em;
  transition: opacity 0.4s ease;
}
@media (any-hover: hover) {
  .p-column-detail__pager-link:hover {
    opacity: 0.6;
  }
}
.p-column-detail__pager-arrow {
  color: #59503f;
}
.p-column-detail__pager-list {
  flex-shrink: 0;
  color: #111952;
  font-weight: 400;
  letter-spacing: 0.02em;
  transition: opacity 0.4s ease;
  text-decoration: underline;
}
@media (any-hover: hover) {
  .p-column-detail__pager-list:hover {
    opacity: 0.6;
    text-decoration: none;
  }
}

.p-column-side {
  display: flex;
  flex-direction: column;
  gap: calc(80 / 16 * 1rem);
}
.p-column-side__head {
  padding: calc(8 / 16 * 1rem) calc(10 / 16 * 1rem) calc(12 / 16 * 1rem);
  border-left: 2px solid #707598;
  background-color: #e0e4eb;
}
.p-column-side__ttl {
  color: #111952;
  font-family: "Noto Serif JP", serif;
  font-size: calc(18 / 16 * 1rem);
  font-weight: 500;
  line-height: 1;
}
.p-column-side__nav {
  margin-top: calc(20 / 16 * 1rem);
  padding-inline: calc(10 / 16 * 1rem);
}
.p-column-side__list {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: calc(23 / 16 * 1rem);
}
.p-column-side__link {
  display: inline-block;
  color: #111952;
  font-size: calc(14 / 16 * 1rem);
  line-height: 1.5;
  transition: opacity 0.4s ease;
}
.p-column-side__link.is-current {
  color: #707598;
  font-weight: 700;
}
.p-column-side__link.is-current .p-column-side__sup-meta {
  color: #707598;
}
@media (any-hover: hover) {
  .p-column-side__link:hover {
    opacity: 0.6;
  }
}
.p-column-side__children {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: calc(13 / 16 * 1rem);
  margin-top: calc(13 / 16 * 1rem);
  padding-left: calc(20 / 16 * 1rem);
}
.p-column-side__child-link {
  display: inline-flex;
  align-items: center;
  gap: calc(4 / 16 * 1rem);
  color: #111952;
  font-size: calc(14 / 16 * 1rem);
  line-height: 1.5;
  transition: opacity 0.4s ease;
}
.p-column-side__child-link::before {
  content: "-";
  flex-shrink: 0;
  font-size: calc(16 / 16 * 1rem);
  line-height: 1.5;
}
.p-column-side__child-link.is-current {
  color: #707598;
  font-weight: 700;
}
@media (any-hover: hover) {
  .p-column-side__child-link:hover {
    opacity: 0.6;
  }
}
.p-column-side__sups {
  margin-top: calc(20 / 16 * 1rem);
  display: flex;
  flex-direction: column;
  gap: calc(14 / 16 * 1rem);
}
.p-column-side__sup-link {
  display: flex;
  align-items: center;
  gap: calc(6 / 16 * 1rem);
  color: inherit;
  text-decoration: none;
  transition: opacity 0.4s ease;
}
.p-column-side__sup-link.is-current {
  color: #707598;
  font-weight: 700;
}
@media (any-hover: hover) {
  .p-column-side__sup-link:hover {
    opacity: 0.6;
  }
}
.p-column-side__sup-avatar {
  flex-shrink: 0;
  width: calc(44 / 16 * 1rem);
  height: calc(44 / 16 * 1rem);
  border-radius: 50%;
  overflow: hidden;
  background-color: #e0e4eb;
}
.p-column-side__sup-meta {
  display: flex;
  align-items: center;
  gap: calc(4 / 16 * 1rem);
  color: #111952;
}
.p-column-side__sup-name {
  font-family: "Noto Serif JP", serif;
  font-size: calc(16 / 16 * 1rem);
  line-height: 1.7;
}
.p-column-side__sup-role {
  font-size: calc(12 / 16 * 1rem);
  line-height: 1.7;
}

.p-site-about {
  position: relative;
  overflow-x: clip;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-block: calc(100 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-site-about {
    padding-block: calc(60 / 16 * 1rem);
  }
}
.p-site-about__deco {
  position: absolute;
  z-index: 0;
  pointer-events: none;
}
.p-site-about__deco--left {
  top: calc(51 / 16 * 1rem);
  left: 0;
  max-width: calc(522 / 16 * 1rem);
  width: 36.25%;
}
@media (max-width: 767px) {
  .p-site-about__deco--left {
    top: auto;
    bottom: calc(10 / 16 * 1rem);
    left: 0;
    width: calc(100 / 16 * 1rem);
  }
}
.p-site-about__deco--right {
  top: calc(302 / 16 * 1rem);
  right: 0;
  max-width: calc(460 / 16 * 1rem);
  width: 31.9444444444%;
}
@media (max-width: 767px) {
  .p-site-about__deco--right {
    top: calc(-60 / 16 * 1rem);
    right: 0;
    width: calc(145 / 16 * 1rem);
  }
}
.p-site-about__head {
  position: relative;
  z-index: 1;
}
.p-site-about__ttl {
  font-size: min(calc(36 / 16 * 1rem), calc(36 / 1440 * 100vw));
  white-space: nowrap;
}
@media (max-width: 767px) {
  .p-site-about__ttl {
    font-size: calc(20 / 16 * 1rem);
    white-space: normal;
  }
}
.p-site-about__txt {
  position: relative;
  z-index: 1;
  margin-top: calc(30 / 16 * 1rem);
  font-size: calc(16 / 16 * 1rem);
  line-height: 1.8;
  text-align: center;
}
@media (max-width: 767px) {
  .p-site-about__txt {
    text-align: left;
  }
}
.p-site-about__card {
  position: relative;
  z-index: 1;
  margin-top: calc(80 / 16 * 1rem);
  padding: calc(20 / 16 * 1rem);
  border: 1px solid rgba(17, 25, 82, 0.1);
  border-radius: calc(8 / 16 * 1rem);
  background-color: #ffffff;
}
@media (max-width: 767px) {
  .p-site-about__card {
    margin-top: calc(30 / 16 * 1rem);
  }
}
.p-site-about__card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #111952;
  font-family: "Cormorant Garamond", serif;
  font-weight: 300;
  font-size: calc(14 / 16 * 1rem);
  line-height: 1;
  text-transform: uppercase;
}
.p-site-about__card-body {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: calc(20 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-site-about__card-body {
    flex-direction: column;
  }
}
.p-site-about__photo {
  flex-shrink: 0;
  width: calc(400 / 16 * 1rem);
  aspect-ratio: 4/3;
  border-radius: calc(4 / 16 * 1rem);
  overflow: hidden;
}
@media (max-width: 767px) {
  .p-site-about__photo {
    width: 100%;
    aspect-ratio: 352/264;
  }
}
.p-site-about__profile {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
  padding-left: calc(20 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-site-about__profile {
    width: 100%;
    margin-top: calc(20 / 16 * 1rem);
    padding-left: 0;
  }
}
.p-site-about__name {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: calc(14 / 16 * 1rem);
  font-family: "Noto Serif JP", serif;
  line-height: 1;
}
.p-site-about__role {
  font-size: calc(16 / 16 * 1rem);
}
.p-site-about__doctor {
  font-size: calc(24 / 16 * 1rem);
}
.p-site-about__badge {
  margin-top: calc(10 / 16 * 1rem);
  padding-block: calc(4 / 16 * 1rem);
  background-color: #111952;
}
.p-site-about__badge-inner {
  display: block;
  padding: calc(6 / 16 * 1rem) calc(30 / 16 * 1rem) calc(8 / 16 * 1rem);
  border-top: 1px solid #ffffff;
  border-bottom: 1px solid #ffffff;
  color: #ffffff;
  font-family: "Noto Serif JP", serif;
  font-size: calc(16 / 16 * 1rem);
  line-height: 1.2;
  text-align: center;
}
@media (max-width: 767px) {
  .p-site-about__badge-inner {
    line-height: 1;
    padding-block: calc(8 / 16 * 1rem);
  }
}
.p-site-about__desc {
  margin-top: calc(28 / 16 * 1rem);
  font-size: calc(16 / 16 * 1rem);
  line-height: 1.8;
}
@media (max-width: 767px) {
  .p-site-about__desc {
    margin-top: calc(20 / 16 * 1rem);
  }
}
.p-site-about__desc-txt + .p-site-about__desc-txt {
  margin-top: calc(20 / 16 * 1rem);
}
.p-site-about__more {
  position: relative;
  z-index: 1;
  margin-top: calc(50 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-site-about__more {
    margin-top: calc(24 / 16 * 1rem);
  }
}

.p-about {
  padding-top: calc(0 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-about {
    padding-top: calc(0 / 16 * 1rem);
  }
}
.p-about__site-about {
  padding-block: calc(80 / 16 * 1rem) calc(40 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-about__site-about {
    padding-block: calc(80 / 16 * 1rem);
  }
}
.p-about__site-about .p-site-about__deco--left {
  top: calc(200 / 16 * 1rem);
  left: 0;
}
@media (max-width: 767px) {
  .p-about__site-about .p-site-about__deco--left {
    top: auto;
    bottom: calc(-15 / 16 * 1rem);
    left: 0;
    width: calc(80 / 16 * 1rem);
  }
}
.p-about__site-about .p-site-about__deco--right {
  top: auto;
  bottom: calc(-15 / 16 * 1rem);
  right: 0;
  max-width: calc(350 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-about__site-about .p-site-about__deco--right {
    display: none;
  }
}
.p-about__site-about .p-site-about__card {
  max-width: calc(900 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-about__site-about .p-site-about__card {
    margin-top: calc(30 / 16 * 1rem);
  }
}
@media (max-width: 767px) {
  .p-about__site-about .p-site-about__photo {
    aspect-ratio: 400/300;
  }
}
.p-about__site-about .p-site-about__more {
  display: none;
}

.p-lab-feature {
  position: relative;
  overflow: hidden;
  padding-block: calc(100 / 16 * 1rem);
  background-color: #707598;
}
@media (max-width: 767px) {
  .p-lab-feature {
    padding-block: calc(80 / 16 * 1rem);
  }
}
.p-lab-feature__bg {
  position: absolute;
  right: 0;
  bottom: 0;
  width: calc(504 / 16 * 1rem);
  height: calc(752 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-lab-feature__bg {
    top: calc(145 / 16 * 1rem);
    right: 0;
    bottom: auto;
    width: calc(178 / 16 * 1rem);
    height: auto;
  }
}
.p-lab-feature__bg-img {
  display: block;
}
.p-lab-feature__inner {
  position: relative;
  z-index: 1;
}
@media (max-width: 767px) {
  .p-lab-feature__inner {
    width: calc(100% - 20 / 16 * 1rem);
  }
}
.p-lab-feature__head {
  display: grid;
  grid-template-columns: calc(420 / 16 * 1rem) 1fr;
  gap: calc(70 / 16 * 1rem);
  color: #fff;
}
@media (max-width: 767px) {
  .p-lab-feature__head {
    display: block;
  }
}
.p-lab-feature__en {
  font-family: "Cormorant Garamond", serif;
  font-size: calc(18 / 16 * 1rem);
  font-weight: 300;
  line-height: 1;
}
@media (max-width: 767px) {
  .p-lab-feature__en {
    text-align: center;
    font-size: calc(16 / 16 * 1rem);
  }
}
.p-lab-feature__ttl {
  margin-top: calc(21 / 16 * 1rem);
  font-family: "Noto Serif JP", serif;
  font-size: calc(40 / 16 * 1rem);
  font-weight: 400;
  line-height: 1.35;
}
@media (max-width: 767px) {
  .p-lab-feature__ttl {
    margin-top: calc(12 / 16 * 1rem);
    text-align: center;
    font-size: calc(30 / 16 * 1rem);
  }
}
.p-lab-feature__lead {
  display: grid;
  gap: calc(20 / 16 * 1rem);
  font-size: calc(16 / 16 * 1rem);
  font-weight: 400;
  line-height: 1.9;
}
@media (max-width: 767px) {
  .p-lab-feature__lead {
    gap: calc(15 / 16 * 1rem);
    margin-top: calc(34 / 16 * 1rem);
    line-height: 1.8;
    width: 72%;
    font-size: calc(14 / 16 * 1rem);
  }
}
.p-lab-feature__list {
  display: grid;
  gap: calc(30 / 16 * 1rem);
  max-width: calc(930 / 16 * 1rem);
  margin: calc(79 / 16 * 1rem) auto 0;
}
@media (max-width: 767px) {
  .p-lab-feature__list {
    gap: calc(24 / 16 * 1rem);
    margin-top: calc(50 / 16 * 1rem);
  }
}
.p-lab-feature__item {
  position: relative;
  padding-right: calc(40 / 16 * 1rem);
  border-radius: calc(4 / 16 * 1rem) calc(4 / 16 * 1rem) 0 0;
  background-color: #fff;
}
@media (max-width: 767px) {
  .p-lab-feature__item {
    padding-right: 0;
  }
}
.p-lab-feature__label {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(14 / 16 * 1rem);
  width: calc(40 / 16 * 1rem);
  height: 100%;
  padding: calc(14 / 16 * 1rem) 0;
  border-radius: 0 calc(4 / 16 * 1rem) 0 0;
  background-color: #cad3e2;
  color: #111952;
  font-family: "Cormorant Garamond", serif;
}
@media (max-width: 767px) {
  .p-lab-feature__label {
    position: static;
    width: 100%;
    height: calc(30 / 16 * 1rem);
    padding: calc(8 / 16 * 1rem) calc(13 / 16 * 1rem);
    gap: calc(12 / 16 * 1rem);
    flex-direction: row;
    align-items: center;
    border-radius: calc(4 / 16 * 1rem) calc(4 / 16 * 1rem) 0 0;
  }
}
.p-lab-feature__label-num {
  font-size: calc(14 / 16 * 1rem);
  letter-spacing: 0.03em;
  line-height: 1;
}
.p-lab-feature__label-txt {
  writing-mode: vertical-rl;
  font-size: calc(12 / 16 * 1rem);
  line-height: 1;
}
@media (max-width: 767px) {
  .p-lab-feature__label-txt {
    writing-mode: horizontal-tb;
  }
}
.p-lab-feature__item-ttl-wrap {
  margin-top: calc(14 / 16 * 1rem);
  padding-block: calc(4 / 16 * 1rem);
  border-top: 1px solid #707598;
  border-bottom: 1px solid #707598;
}
@media (max-width: 767px) {
  .p-lab-feature__item-ttl-wrap {
    margin-top: calc(14 / 16 * 1rem);
    padding-block: calc(3 / 16 * 1rem);
  }
}
.p-lab-feature__item-ttl {
  padding: calc(10 / 16 * 1rem) calc(14 / 16 * 1rem);
  border-top: 1px solid #707598;
  border-bottom: 1px solid #707598;
  color: #333;
  font-family: "Noto Serif JP", serif;
  font-size: calc(24 / 16 * 1rem);
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
}
@media (max-width: 767px) {
  .p-lab-feature__item-ttl {
    padding: calc(8 / 16 * 1rem) calc(14 / 16 * 1rem);
    font-size: calc(18 / 16 * 1rem);
  }
}
.p-lab-feature__body {
  display: grid;
  grid-template-columns: calc(200 / 16 * 1rem) 1fr;
  align-items: center;
  gap: calc(31 / 16 * 1rem);
  padding: calc(24 / 16 * 1rem) calc(30 / 16 * 1rem) calc(19 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-lab-feature__body {
    display: block;
    padding: calc(16 / 16 * 1rem) calc(20 / 16 * 1rem) calc(24 / 16 * 1rem);
  }
}
.p-lab-feature__img {
  width: calc(200 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-lab-feature__img {
    width: 100%;
  }
}
.p-lab-feature__picture {
  display: block;
  aspect-ratio: 4/3;
}
.p-lab-feature__photo {
  display: block;
}
.p-lab-feature__txt {
  font-size: calc(16 / 16 * 1rem);
  font-weight: 400;
  line-height: 1.8;
}
@media (max-width: 767px) {
  .p-lab-feature__txt {
    margin-top: calc(17 / 16 * 1rem);
    font-size: calc(13 / 16 * 1rem);
    font-weight: 400;
    line-height: 1.85;
  }
}

.p-supervision {
  padding-block: calc(100 / 16 * 1rem);
  background-color: #707598;
}
@media (max-width: 767px) {
  .p-supervision {
    padding-block: calc(80 / 16 * 1rem);
  }
}
.p-supervision__head {
  position: relative;
  z-index: 1;
  color: #ffffff;
}
.p-supervision__head .c-heading__en,
.p-supervision__head .c-heading__ttl {
  color: inherit;
}
.p-supervision__ttl {
  font-size: calc(40 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-supervision__ttl {
    font-size: calc(28 / 16 * 1rem);
  }
}
.p-supervision__inner {
  position: relative;
  z-index: 1;
  margin-top: calc(50 / 16 * 1rem);
}
.p-supervision__clinic {
  display: flex;
  align-items: center;
  gap: calc(16 / 16 * 1rem);
  color: #ffffff;
  font-family: "Noto Serif JP", serif;
  font-size: calc(30 / 16 * 1rem);
  font-weight: 500;
  line-height: 1.17;
  text-align: center;
}
@media (max-width: 767px) {
  .p-supervision__clinic {
    flex-direction: column;
    gap: calc(16 / 16 * 1rem);
    font-size: calc(22 / 16 * 1rem);
    line-height: 1.5;
  }
}
.p-supervision__clinic-line {
  flex: 1;
  height: calc(6 / 16 * 1rem);
  border-top: 1px solid #ffffff;
  border-bottom: 1px solid #ffffff;
}
@media (max-width: 767px) {
  .p-supervision__clinic-line {
    flex: none;
    width: 100%;
  }
}
.p-supervision__clinic-txt {
  flex-shrink: 0;
}
@media (max-width: 767px) {
  .p-supervision__clinic-txt {
    flex-shrink: 1;
    padding-bottom: calc(5 / 16 * 1rem);
  }
}
.p-supervision__card {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: 50% 1fr;
  margin-top: calc(30 / 16 * 1rem);
  padding: calc(10 / 16 * 1rem);
  overflow: hidden;
}
.p-supervision__card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: url("../images/common/clinic_box_bg.jpg?222");
  background-position: center;
  background-size: cover;
}
@media (max-width: 767px) {
  .p-supervision__card {
    display: block;
  }
  .p-supervision__card::before {
    background-image: url("../images/common/clinic_box_bg_sp.jpg?222");
  }
}
.p-supervision__card::after {
  /*   content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background-color: #e0e4eb80; */
}
.p-supervision__photo, .p-supervision__info {
  position: relative;
  z-index: 2;
}
.p-supervision__picture {
  display: block;
}
@media (max-width: 767px) {
  .p-supervision__picture {
    aspect-ratio: 388/220;
  }
}
.p-supervision__photo-img {
  display: block;
}
.p-supervision__info {
  padding: calc(30 / 16 * 1rem);
  background-color: #ffffff;
}
@media (max-width: 767px) {
  .p-supervision__info {
    padding: calc(24 / 16 * 1rem) calc(20 / 16 * 1rem);
  }
}
.p-supervision__logo {
  width: calc(200 / 16 * 1rem);
  margin-inline: auto;
}
@media (max-width: 767px) {
  .p-supervision__logo {
    width: calc(140 / 16 * 1rem);
  }
}
.p-supervision__logo-img {
  display: block;
}
.p-supervision__data {
  margin-top: calc(30 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-supervision__data {
    margin-top: calc(27 / 16 * 1rem);
  }
}
.p-supervision__data-row {
  display: grid;
  grid-template-columns: calc(104 / 16 * 1rem) 1fr;
  gap: calc(16 / 16 * 1rem);
  padding-block: calc(20 / 16 * 1rem);
  border-bottom: 1px solid #cad3e2;
}
.p-supervision__data-row:first-child {
  border-top: 1px solid #cad3e2;
}
@media (max-width: 767px) {
  .p-supervision__data-row {
    grid-template-columns: 1fr;
    gap: calc(5 / 16 * 1rem);
  }
}
.p-supervision__data-term {
  color: #707598;
  font-size: calc(16 / 16 * 1rem);
  line-height: 1.5;
}
.p-supervision__data-desc {
  color: #333;
  font-size: calc(16 / 16 * 1rem);
  line-height: 1.5;
}
.p-supervision__map {
  margin-top: calc(12 / 16 * 1rem);
}
.p-supervision__map-link {
  display: inline-flex;
  align-items: center;
  gap: calc(8 / 16 * 1rem);
  min-height: calc(38 / 16 * 1rem);
  padding: calc(9 / 16 * 1rem) calc(30 / 16 * 1rem);
  border: 1px solid #111952;
  border-radius: calc(100 / 16 * 1rem);
  color: #111952;
  font-size: calc(14 / 16 * 1rem);
  line-height: 1.4;
  text-decoration: none;
  transition: background-color 0.4s ease, color 0.4s ease, border-color 0.4s ease;
}
@media (any-hover: hover) {
  .p-supervision__map-link:hover, .p-supervision__map-link:focus-visible {
    opacity: 1;
    background-color: #111952;
    color: #ffffff;
  }
}
.p-supervision__map-icon {
  flex-shrink: 0;
}
.p-supervision__station {
  position: relative;
  padding-left: calc(9 / 16 * 1rem);
}
.p-supervision__station::before {
  content: "";
  position: absolute;
  top: calc(0.75em - calc(1.5 / 16 * 1rem));
  left: 0;
  width: calc(3 / 16 * 1rem);
  height: calc(3 / 16 * 1rem);
  border-radius: 50%;
  background-color: #111952;
}
.p-supervision__station + .p-supervision__station {
  margin-top: calc(4 / 16 * 1rem);
}
.p-supervision__sns-list {
  display: flex;
  align-items: center;
  gap: calc(18 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-supervision__sns-list {
    gap: calc(10 / 16 * 1rem);
  }
}
.p-supervision__sns-link {
  display: grid;
  place-items: center;
  width: calc(24 / 16 * 1rem);
  aspect-ratio: 1;
  transition: opacity 0.4s ease;
}
@media (any-hover: hover) {
  .p-supervision__sns-link:hover, .p-supervision__sns-link:focus-visible {
    opacity: 0.55;
  }
}
.p-supervision__sns-icon {
  display: block;
  width: calc(20 / 16 * 1rem);
  height: calc(20 / 16 * 1rem);
}
.p-supervision__sns-icon--youtube {
  width: calc(22 / 16 * 1rem);
  height: calc(22 / 16 * 1rem);
}
.p-supervision__visit {
  display: grid;
  justify-items: center;
  gap: calc(5 / 16 * 1rem);
  min-height: calc(78 / 16 * 1rem);
  margin-top: calc(30 / 16 * 1rem);
  color: #ffffff;
  text-align: center;
}
@media (max-width: 767px) {
  .p-supervision__visit {
    min-height: 0;
  }
}
.p-supervision__visit-txt {
  color: #e0e4eb;
  font-size: calc(20 / 16 * 1rem);
  line-height: 1.5;
}
.p-supervision__visit-txt span {
  color: #ffffff;
  font-size: calc(26 / 16 * 1rem);
  font-weight: 500;
}
@media (max-width: 767px) {
  .p-supervision__visit-txt {
    font-size: calc(16 / 16 * 1rem);
  }
  .p-supervision__visit-txt span {
    font-size: calc(22 / 16 * 1rem);
  }
}
.p-supervision__visit-link {
  display: inline-flex;
  align-items: center;
  gap: calc(6 / 16 * 1rem);
  color: #ffffff;
  font-size: calc(16 / 16 * 1rem);
  line-height: 1.5;
  text-decoration: none;
  transition: opacity 0.4s ease;
  border-bottom: 1px solid #ffffff;
}
@media (any-hover: hover) {
  .p-supervision__visit-link:hover, .p-supervision__visit-link:focus-visible {
    opacity: 0.7;
  }
}
.p-supervision__visit-arrow {
  flex-shrink: 0;
}
.p-supervision__deco {
  position: absolute;
  z-index: 0;
  pointer-events: none;
}
@media (max-width: 767px) {
  .p-supervision__deco {
    display: none;
  }
}
.p-supervision__deco--left {
  top: calc(240 / 16 * 1rem);
  left: 0;
  max-width: calc(300 / 16 * 1rem);
  width: 20.8333333333%;
}
.p-supervision__deco--right {
  bottom: calc(20 / 16 * 1rem);
  right: 0;
  max-width: calc(320 / 16 * 1rem);
  width: 22.2222222222%;
}
.p-supervision__deco-img {
  display: block;
  width: 100%;
}
.p-supervision--about {
  position: relative;
  overflow: hidden;
  padding-block: calc(100 / 16 * 1rem) calc(140 / 16 * 1rem);
  background-color: #fefff5;
}
@media (max-width: 767px) {
  .p-supervision--about {
    padding-block: calc(80 / 16 * 1rem) calc(140 / 16 * 1rem);
  }
}
.p-supervision--about .p-supervision__head {
  color: #111952;
}
.p-supervision--about .p-supervision__clinic {
  color: #111952;
}
.p-supervision--about .p-supervision__clinic-line {
  border-color: #111952;
}
.p-supervision--about .p-supervision__card::before {
  background-image: url(../images/common/clinic_box_about_bg.jpg);
}
@media (max-width: 767px) {
  .p-supervision--about .p-supervision__card::before {
    background-image: url(../images/common/clinic_box_bg_about_sp.jpg);
  }
}
.p-supervision--about .p-supervision__visit {
  color: #111952;
}
.p-supervision--about .p-supervision__visit-txt {
  color: #111952;
}
.p-supervision--about .p-supervision__visit-txt span {
  color: #111952;
}
.p-supervision--about .p-supervision__visit-link {
  color: #707598;
  border-color: currentColor;
}

.p-faq {
  padding-top: calc(0 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-faq {
    padding-top: calc(0 / 16 * 1rem);
  }
}
.p-faq__section {
  position: relative;
  overflow: hidden;
  padding-block: calc(80 / 16 * 1rem) calc(140 / 16 * 1rem);
}
.p-faq__inner {
  max-width: calc(1120 / 16 * 1rem);
}
.p-faq__nav-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: calc(20 / 16 * 1rem);
  padding-bottom: calc(80 / 16 * 1rem);
  border-bottom: 1px solid #cad3e2;
}
@media (max-width: 767px) {
  .p-faq__nav-list {
    grid-template-columns: repeat(2, 1fr);
    align-content: start;
    gap: calc(10 / 16 * 1rem) calc(15 / 16 * 1rem);
    min-height: calc(240 / 16 * 1rem);
  }
}
@media (max-width: 767px) {
  .p-faq__nav-item:nth-child(n+5) .p-faq__nav-link {
    min-height: calc(80 / 16 * 1rem);
  }
}
.p-faq__nav-link {
  display: flex;
  align-items: center;
  gap: calc(10 / 16 * 1rem);
  min-height: calc(69 / 16 * 1rem);
  padding: calc(10 / 16 * 1rem) calc(20 / 16 * 1rem);
  background-color: #cad3e2;
  color: #111952;
  text-decoration: none;
  transition: opacity 0.4s ease;
}
@media (any-hover: hover) {
  .p-faq__nav-link:hover {
    opacity: 0.72;
  }
}
@media (max-width: 767px) {
  .p-faq__nav-link {
    min-height: calc(45 / 16 * 1rem);
    padding: calc(10 / 16 * 1rem) calc(20 / 16 * 1rem);
  }
}
.p-faq__nav-txt {
  flex: 1 1 auto;
  min-width: 0;
  font-size: calc(16 / 16 * 1rem);
  line-height: 1.4;
}
@media (max-width: 767px) {
  .p-faq__nav-txt {
    font-size: calc(14 / 16 * 1rem);
  }
}
.p-faq__nav-icon {
  position: relative;
  flex-shrink: 0;
  display: grid;
  place-items: center;
  width: calc(25 / 16 * 1rem);
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: #111952;
}
.p-faq__nav-icon::before {
  content: "";
  width: calc(8 / 16 * 1rem);
  height: calc(8 / 16 * 1rem);
  border-right: 1px solid #ffffff;
  border-bottom: 1px solid #ffffff;
  transform: translateY(calc(-2 / 16 * 1rem)) rotate(45deg);
}
@media (max-width: 767px) {
  .p-faq__nav-icon {
    width: calc(25 / 16 * 1rem);
  }
}
.p-faq__groups {
  display: grid;
  gap: calc(80 / 16 * 1rem);
  margin-top: calc(80 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-faq__groups {
    gap: calc(50 / 16 * 1rem);
    margin-top: calc(50 / 16 * 1rem);
  }
}
.p-faq__heading {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #111952;
  font-family: "Noto Serif JP", serif;
  font-size: calc(28 / 16 * 1rem);
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.3;
  text-align: center;
}
.p-faq__heading::before, .p-faq__heading::after {
  content: none;
}
@media (max-width: 767px) {
  .p-faq__heading {
    font-size: calc(24 / 16 * 1rem);
  }
}
.p-faq__list {
  max-width: calc(930 / 16 * 1rem);
  margin: calc(50 / 16 * 1rem) auto 0;
}
@media (max-width: 767px) {
  .p-faq__list {
    margin-top: calc(50 / 16 * 1rem);
  }
}
.p-faq__empty {
  text-align: center;
}
.p-faq .c-faq-list__item {
  border-color: #cad3e2;
}
.p-faq .c-faq-list__question {
  gap: calc(15 / 16 * 1rem);
  min-height: calc(74 / 16 * 1rem);
  border-bottom: 0;
}
@media (max-width: 767px) {
  .p-faq .c-faq-list__question {
    align-items: start;
    grid-template-columns: calc(35 / 16 * 1rem) 1fr calc(35 / 16 * 1rem);
    gap: calc(15 / 16 * 1rem);
    min-height: calc(92 / 16 * 1rem);
    padding: calc(20 / 16 * 1rem);
  }
}
@media (max-width: 767px) {
  .p-faq .c-faq-list__mark {
    width: calc(35 / 16 * 1rem);
    font-size: calc(14 / 16 * 1rem);
  }
}
@media (max-width: 767px) {
  .p-faq .c-faq-list__question-txt {
    font-size: calc(16 / 16 * 1rem);
    line-height: 1.6;
  }
}
@media (max-width: 767px) {
  .p-faq .c-faq-list__toggle {
    justify-self: end;
    height: calc(16 / 16 * 1rem);
    aspect-ratio: auto;
  }
}
.p-faq .c-faq-list__item[open] .c-faq-list__toggle::after {
  opacity: 0;
}
.p-faq .c-faq-list__answer {
  padding: 0 calc(68 / 16 * 1rem) calc(20 / 16 * 1rem);
  font-weight: 350;
}
@media (max-width: 767px) {
  .p-faq .c-faq-list__answer {
    padding: 0 calc(20 / 16 * 1rem) calc(20 / 16 * 1rem);
    line-height: 1.6;
  }
}

.p-privacy {
  padding-top: calc(0 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-privacy {
    padding-top: calc(0 / 16 * 1rem);
  }
}
.p-privacy__section {
  padding-block: calc(80 / 16 * 1rem) calc(140 / 16 * 1rem);
  background-color: #fefff5;
}
.p-privacy__inner {
  max-width: calc(800 / 16 * 1rem);
}
.p-privacy__entry {
  font-size: calc(16 / 16 * 1rem);
  letter-spacing: 0;
  line-height: 1.8;
}
@media (max-width: 767px) {
  .p-privacy__entry {
    letter-spacing: 0;
    line-height: 180%;
  }
}
.p-privacy__entry > * + * {
  margin-top: calc(24 / 16 * 1rem);
}
.p-privacy__entry h2 {
  margin-top: calc(80 / 16 * 1rem);
  padding-left: 0;
  color: #111952;
  font-family: "Noto Serif JP", serif;
  font-size: calc(28 / 16 * 1rem);
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.3;
}
.p-privacy__entry h2::before {
  content: none;
}
.p-privacy__entry h2:first-child {
  margin-top: 0;
}
@media (max-width: 767px) {
  .p-privacy__entry h2 {
    font-size: calc(24 / 16 * 1rem);
    line-height: 1.4;
  }
}
.p-privacy__entry h3 {
  margin-top: calc(32 / 16 * 1rem);
  padding-bottom: 0;
  padding-left: 1.5em;
  border-bottom: 0;
  color: #111952;
  font-family: "Noto Sans JP", sans-serif;
  font-size: calc(22 / 16 * 1rem);
  font-weight: 500;
  line-height: 1.35;
  text-indent: -1.5em;
}
@media (max-width: 767px) {
  .p-privacy__entry h3 {
    font-size: calc(20 / 16 * 1rem);
    line-height: 1.4;
  }
}
.p-privacy__entry h3.c-num-heading {
  padding-left: 0;
  text-indent: 0;
}
.p-privacy__entry p {
  line-height: 1.8;
}
.p-privacy__entry h2 + p {
  margin-top: calc(32 / 16 * 1rem);
}
.p-privacy__entry h3 + p,
.p-privacy__entry h3 + ol,
.p-privacy__entry h3 + ul {
  margin-top: calc(24 / 16 * 1rem);
}
.p-privacy__entry p + p {
  margin-top: calc(10 / 16 * 1rem);
}
.p-privacy__entry strong {
  font-weight: 700;
}
.p-privacy__entry strong.p-privacy-em {
  color: #707598;
}
.p-privacy__entry ol,
.p-privacy__entry ul {
  display: grid;
  gap: calc(8 / 16 * 1rem);
  margin-top: calc(24 / 16 * 1rem);
}
.p-privacy__entry ol {
  counter-reset: privacy-list;
}
.p-privacy__entry ol > li {
  position: relative;
  padding-left: calc(42 / 16 * 1rem);
  line-height: 1.8;
  counter-increment: privacy-list;
}
.p-privacy__entry ol > li + li {
  margin-top: 0;
}
.p-privacy__entry ol > li::before {
  content: "(" counter(privacy-list) ")";
  position: absolute;
  top: calc(2 / 16 * 1rem);
  left: 0;
  color: #333;
  font-size: calc(14 / 16 * 1rem);
  line-height: 1.8;
}
.p-privacy__entry ul li {
  display: grid;
  grid-template-columns: calc(6 / 16 * 1rem) 1fr;
  column-gap: calc(16 / 16 * 1rem);
  padding-left: 0;
  line-height: 1.8;
}
.p-privacy__entry ul li + li {
  margin-top: 0;
}
.p-privacy__entry ul li::before {
  position: static;
  align-self: start;
  margin-top: calc(5 / 16 * 1rem);
  width: calc(6 / 16 * 1rem);
  height: calc(18 / 16 * 1rem);
  border-radius: 0;
  background-image: radial-gradient(circle, #cad3e2 0 calc(3 / 16 * 1rem), transparent calc(3 / 16 * 1rem));
  background-position: center;
  background-repeat: no-repeat;
  background-color: transparent;
}
.p-privacy__entry li {
  line-height: 1.8;
}
.p-privacy__entry a:not([class]) {
  color: #111952;
  overflow-wrap: anywhere;
  text-decoration: underline;
  text-underline-position: from-font;
}

.p-privacy-request {
  align-items: start;
  width: 100%;
  color: #333;
  font-size: calc(16 / 16 * 1rem);
  line-height: 1.8;
  margin-top: calc(8 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-privacy-request {
    margin-top: calc(20 / 16 * 1rem);
    font-size: calc(14 / 16 * 1rem);
  }
}
.p-privacy-request__head {
  display: flex;
  align-items: center;
  gap: 1rem;
}
@media (max-width: 767px) {
  .p-privacy-request__head {
    gap: calc(6 / 16 * 1rem);
    margin-bottom: calc(8 / 16 * 1rem);
  }
}
.p-privacy-request__num {
  font-size: calc(14 / 16 * 1rem);
  letter-spacing: 0.028em;
  white-space: nowrap;
}
.p-privacy-request__ttl {
  margin: 0;
  font-weight: 500;
}
.p-privacy-request__body {
  min-width: 0;
}
@media (min-width: 768px) {
  .p-privacy-request__body {
    margin-left: calc(31 / 16 * 1rem);
  }
}
.p-privacy-request__body p + p {
  margin-top: 0;
}
.p-privacy-request__desc {
  line-height: 1.8;
}
.p-privacy-request__desc > p {
  margin: 0;
}
.p-privacy-request__desc > p + ul,
.p-privacy-request__desc > ul {
  margin-top: calc(8 / 16 * 1rem);
}
.p-privacy-request__group {
  margin-top: 0;
}
.p-privacy-request__label {
  margin: 0;
  color: #707598;
  font-weight: 500;
  line-height: 1.8;
}
.p-privacy-request__check {
  display: grid;
  grid-template-columns: max-content 1fr;
  column-gap: calc(16 / 16 * 1rem);
  margin: 0;
  color: #333;
  font-weight: 400;
  line-height: 1.8;
}
@media (max-width: 767px) {
  .p-privacy-request__check {
    column-gap: calc(12 / 16 * 1rem);
  }
}
.p-privacy-request__mark {
  font-size: calc(14 / 16 * 1rem);
  line-height: 1.8;
  white-space: nowrap;
}

.p-404 {
  position: relative;
  overflow-x: clip;
  background-color: #fefff5;
}
.p-404__deco {
  position: absolute;
  z-index: 0;
  pointer-events: none;
}
.p-404__deco--left {
  top: calc(50 / 16 * 1rem);
  left: 0;
  max-width: calc(280 / 16 * 1rem);
  width: 19.4444444444%;
}
@media (max-width: 767px) {
  .p-404__deco--left {
    top: calc(40 / 16 * 1rem);
    left: 0;
    width: calc(160 / 16 * 1rem);
  }
}
.p-404__deco--right {
  top: calc(10 / 16 * 1rem);
  right: 0;
  max-width: calc(280 / 16 * 1rem);
  width: 19.4444444444%;
}
@media (max-width: 767px) {
  .p-404__deco--right {
    top: calc(16 / 16 * 1rem);
    right: calc(-140 / 16 * 1rem);
    width: calc(230 / 16 * 1rem);
  }
}
.p-404__deco-img {
  display: block;
  width: 100%;
  height: auto;
}
.p-404__section {
  position: relative;
  z-index: 1;
  min-height: calc(442 / 16 * 1rem);
  padding-block: calc(80 / 16 * 1rem) calc(100 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-404__section {
    min-height: calc(455 / 16 * 1rem);
    padding-block: calc(80 / 16 * 1rem) calc(120 / 16 * 1rem);
  }
}
.p-404__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: calc(1120 / 16 * 1rem);
  text-align: center;
}
@media (max-width: 767px) {
  .p-404__inner {
    width: calc(100vw - calc(40 / 16 * 1rem));
  }
}
.p-404__ttl {
  color: #111952;
  font-family: "Noto Serif JP", serif;
  font-size: calc(28 / 16 * 1rem);
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
}
@media (max-width: 767px) {
  .p-404__ttl {
    font-size: calc(24 / 16 * 1rem);
    line-height: 1;
  }
}
.p-404__txt {
  margin-top: calc(32 / 16 * 1rem);
  color: #333;
  font-size: calc(16 / 16 * 1rem);
  font-weight: 400;
  line-height: 1.8;
}
@media (max-width: 767px) {
  .p-404__txt {
    margin-top: calc(32 / 16 * 1rem);
    font-size: calc(14 / 16 * 1rem);
  }
}
.p-404__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: calc(20 / 16 * 1rem);
  min-width: calc(180 / 16 * 1rem);
  min-height: calc(44 / 16 * 1rem);
  margin-top: calc(60 / 16 * 1rem);
  padding: calc(10 / 16 * 1rem) calc(30 / 16 * 1rem);
  border: 1px solid #707598;
  border-radius: calc(999 / 16 * 1rem);
  background-color: #707598;
  color: #ffffff;
  font-size: calc(13 / 16 * 1rem);
  line-height: 1.7;
  text-decoration: none;
  transition: background-color 0.4s ease, color 0.4s ease;
}
@media (any-hover: hover) {
  .p-404__btn:hover, .p-404__btn:focus-visible {
    opacity: 1;
    background-color: #ffffff;
    color: #707598;
  }
}
@media (max-width: 767px) {
  .p-404__btn {
    margin-top: calc(60 / 16 * 1rem);
  }
}
.p-404__btn-icon {
  position: relative;
  flex-shrink: 0;
  width: calc(20 / 16 * 1rem);
  height: calc(20 / 16 * 1rem);
}
.p-404__btn-icon::after, .p-404__btn-icon::before {
  content: "";
  position: absolute;
  left: calc(2 / 16 * 1rem);
  background-color: currentColor;
}
.p-404__btn-icon::before {
  top: 50%;
  width: calc(16 / 16 * 1rem);
  height: 1px;
  transform: translateY(-50%);
}
.p-404__btn-icon::after {
  top: 50%;
  width: calc(7 / 16 * 1rem);
  height: 1px;
  transform: translateY(-50%) rotate(-45deg);
  transform-origin: left center;
}
.p-404__btn-txt {
  white-space: nowrap;
}

.p-price__group + .p-price__group {
  margin-top: calc(40 / 16 * 1rem);
}
.p-price__wrap {
  padding: calc(20 / 16 * 1rem);
  border: 1px solid #707598;
  background-color: #ffffff;
}
.p-price__group > .c-entry {
  margin-bottom: calc(16 / 16 * 1rem);
}
.p-price__tables {
  width: 100%;
  border-collapse: collapse;
}
@media (max-width: 767px) {
  .p-price__tables {
    display: block;
  }
}
.p-price__table {
  border-bottom: 1px solid #a7acd0;
}
@media (max-width: 767px) {
  .p-price__table {
    display: block;
    padding-block: calc(16 / 16 * 1rem);
  }
}
@media (max-width: 767px) {
  .p-price__row {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: flex-end;
    gap: calc(6 / 16 * 1rem) calc(16 / 16 * 1rem);
  }
}
.p-price__ttl {
  width: 100%;
  padding: calc(20 / 16 * 1rem) calc(30 / 16 * 1rem) calc(20 / 16 * 1rem) 0;
  font-size: calc(16 / 16 * 1rem);
  font-weight: 400;
  line-height: 1.6;
  text-align: left;
  vertical-align: top;
}
@media (max-width: 767px) {
  .p-price__ttl {
    display: block;
    width: 100%;
    padding: 0 0 calc(10 / 16 * 1rem);
  }
}
.p-price__label {
  padding-block: calc(4 / 16 * 1rem);
  padding-right: calc(16 / 16 * 1rem);
  font-size: calc(16 / 16 * 1rem);
  line-height: 1.4;
  text-align: left;
  vertical-align: baseline;
  white-space: nowrap;
}
@media (max-width: 767px) {
  .p-price__label {
    width: calc(100 / 16 * 1rem);
    padding: calc(2 / 16 * 1rem) 0;
  }
}
.p-price__note {
  margin-left: calc(6 / 16 * 1rem);
  color: #707598;
  font-size: calc(13 / 16 * 1rem);
}
.p-price__num {
  width: calc(80 / 16 * 1rem);
  padding-block: calc(4 / 16 * 1rem);
  font-size: calc(16 / 16 * 1rem);
  line-height: 1.4;
  text-align: right;
  vertical-align: baseline;
  white-space: nowrap;
}
@media (max-width: 767px) {
  .p-price__num {
    padding: calc(2 / 16 * 1rem) 0;
  }
}
@media (min-width: 768px) {
  .p-price__table > tr:first-child > .p-price__label, .p-price__table > tr:first-child > .p-price__num {
    padding-top: calc(20 / 16 * 1rem);
  }
  .p-price__table > tr:last-child > .p-price__label, .p-price__table > tr:last-child > .p-price__num, .p-price__table > tr:last-child > .p-price__table-note {
    padding-bottom: calc(20 / 16 * 1rem);
  }
}
.p-price__table-note {
  padding-top: calc(8 / 16 * 1rem);
  color: #707598;
  font-size: calc(13 / 16 * 1rem);
  line-height: 1.7;
}
@media (max-width: 767px) {
  .p-price__table-note {
    width: 100%;
  }
}
.p-price__caption {
  margin-top: calc(10 / 16 * 1rem);
  font-size: calc(14 / 16 * 1rem);
  line-height: 1.6;
}
.p-price__empty {
  color: #707598;
  font-size: calc(14 / 16 * 1rem);
}

.p-reserve-cta {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(10 / 16 * 1rem);
}
.p-reserve-cta__lead {
  display: flex;
  align-items: center;
  gap: calc(6 / 16 * 1rem);
  font-size: calc(13 / 16 * 1rem);
  line-height: 1.7;
}
.p-reserve-cta__slash {
  flex-shrink: 0;
  width: calc(10 / 16 * 1rem);
  height: calc(11 / 16 * 1rem);
}
.p-reserve-cta__slash--left {
  transform: scale(-1, 1);
}
.p-reserve-cta__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: calc(200 / 16 * 1rem);
  height: calc(44 / 16 * 1rem);
  border: 1px solid #1e8c63;
  border-radius: calc(65 / 16 * 1rem);
  background-color: #1e8c63;
  color: #ffffff;
  font-size: calc(13 / 16 * 1rem);
  line-height: 1.7;
  text-decoration: none;
  transition: background-color 0.4s ease, color 0.4s ease;
}
@media (any-hover: hover) {
  .p-reserve-cta__btn:hover, .p-reserve-cta__btn:focus-visible {
    background-color: #ffffff;
    color: #1e8c63;
  }
}

.p-top-mv {
  position: relative;
  overflow-x: clip;
  padding-top: calc(5 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-top-mv {
    padding-top: 0;
  }
}
.p-top-mv__deco {
  position: absolute;
  z-index: 0;
  pointer-events: none;
}
.p-top-mv__deco--left {
  top: calc(48 / 16 * 1rem);
  left: 0;
  max-width: calc(280 / 16 * 1rem);
  width: 19.4444444444%;
}
@media (max-width: 767px) {
  .p-top-mv__deco--left {
    top: calc(88 / 16 * 1rem);
    left: 0;
    width: calc(130 / 16 * 1rem);
  }
}
.p-top-mv__deco--right {
  top: calc(10 / 16 * 1rem);
  right: 0;
  max-width: calc(300 / 16 * 1rem);
  width: 20.8333333333%;
}
@media (max-width: 767px) {
  .p-top-mv__deco--right {
    top: calc(40 / 16 * 1rem);
    right: 0;
    width: calc(140 / 16 * 1rem);
  }
}
.p-top-mv__copy {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(24 / 16 * 1rem);
  color: #111952;
  font-feature-settings: "halt" 1;
  text-align: center;
}
@media (max-width: 767px) {
  .p-top-mv__copy {
    gap: calc(14 / 16 * 1rem);
  }
}
.p-top-mv__lead {
  font-family: "Noto Serif JP", serif;
  font-size: calc(20 / 16 * 1rem);
  font-weight: 400;
  letter-spacing: 0.12em;
  line-height: 1;
}
@media (max-width: 767px) {
  .p-top-mv__lead {
    font-size: calc(14.4 / 16 * 1rem);
  }
}
.p-top-mv__ttl {
  font-family: "Noto Serif JP", serif;
  font-size: calc(50 / 16 * 1rem);
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1;
  text-align: center;
}
@media (max-width: 767px) {
  .p-top-mv__ttl {
    font-size: calc(34 / 16 * 1rem);
    line-height: 1.5;
  }
}
.p-top-mv__imgs {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 9fr 5fr;
  grid-template-rows: 1fr 1fr;
  aspect-ratio: 1400/530;
  margin-top: calc(50 / 16 * 1rem);
  border-radius: calc(8 / 16 * 1rem);
  overflow: hidden;
}
@media (max-width: 767px) {
  .p-top-mv__imgs {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 239fr 174fr;
    aspect-ratio: 408/413;
    margin-top: calc(24 / 16 * 1rem);
  }
}
.p-top-mv__img {
  overflow: hidden;
}
.p-top-mv__img--main {
  grid-column: 1;
  grid-row: 1/3;
}
@media (max-width: 767px) {
  .p-top-mv__img--main {
    grid-column: 1/3;
    grid-row: 1;
  }
}
.p-top-mv__img--sub01 {
  grid-column: 2;
  grid-row: 1;
}
@media (max-width: 767px) {
  .p-top-mv__img--sub01 {
    grid-column: 1;
    grid-row: 2;
  }
}
.p-top-mv__img--sub02 {
  grid-column: 2;
  grid-row: 2;
}
@media (max-width: 767px) {
  .p-top-mv__img--sub02 {
    grid-column: 2;
    grid-row: 2;
  }
}

@keyframes page-fadein {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
body.home::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 1000;
  background-color: #fefff5;
  opacity: 0;
  pointer-events: none;
  animation: page-fadein 1.6s ease;
}

@keyframes mv-imgfade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.p-top-mv__photo {
  animation: mv-imgfade 1.2s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity;
}

.p-top-medicine {
  padding-bottom: calc(100 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-top-medicine {
    padding-bottom: calc(60 / 16 * 1rem);
  }
}
.p-top-medicine__ttl {
  font-size: calc(40 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-top-medicine__ttl {
    font-size: calc(24 / 16 * 1rem);
  }
}
.p-top-medicine__inner {
  display: flex;
  flex-direction: column;
  gap: calc(60 / 16 * 1rem);
  margin-top: calc(50 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-top-medicine__inner {
    gap: calc(40 / 16 * 1rem);
  }
}

.p-nexus-bnr {
  display: flex;
  gap: calc(20 / 16 * 1rem);
  padding: calc(20 / 16 * 1rem);
  border-radius: calc(2 / 16 * 1rem);
  background-color: #707598;
}
@media (min-width: 768px) {
  .p-nexus-bnr {
    align-items: center;
  }
}
@media (max-width: 767px) {
  .p-nexus-bnr {
    flex-direction: column;
    padding: calc(12 / 16 * 1rem) calc(12 / 16 * 1rem) calc(24 / 16 * 1rem);
    gap: calc(17 / 16 * 1rem);
  }
}
.p-nexus-bnr__img {
  flex-shrink: 0;
  width: calc(300 / 16 * 1rem);
  height: calc(225 / 16 * 1rem);
  border-radius: calc(4 / 16 * 1rem);
  overflow: hidden;
}
@media (max-width: 767px) {
  .p-nexus-bnr__img {
    width: 100%;
    height: calc(230 / 16 * 1rem);
  }
}
.p-nexus-bnr__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding-inline: calc(10 / 16 * 1rem);
  color: #ffffff;
  text-align: center;
}
@media (max-width: 767px) {
  .p-nexus-bnr__body {
    padding-inline: 0;
  }
}
.p-nexus-bnr__ttl {
  font-family: "Noto Serif JP", serif;
  font-size: calc(22 / 16 * 1rem);
  font-weight: 500;
  line-height: 1.8;
}
@media (max-width: 767px) {
  .p-nexus-bnr__ttl {
    line-height: 1.6;
  }
}
.p-nexus-bnr__txt {
  margin-top: calc(16 / 16 * 1rem);
  font-size: calc(16 / 16 * 1rem);
  line-height: 1.8;
}
@media (max-width: 767px) {
  .p-nexus-bnr__txt {
    margin-top: calc(12 / 16 * 1rem);
    font-size: calc(14 / 16 * 1rem);
    text-align: left;
  }
}
.p-nexus-bnr__btn {
  display: flex;
  justify-content: center;
  margin-top: auto;
  padding-top: calc(22 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-nexus-bnr__btn {
    padding-top: calc(14 / 16 * 1rem);
  }
}

.p-top-flow {
  padding-block: 0 calc(100 / 16 * 1rem);
  background-color: #fefff5;
}
@media (max-width: 767px) {
  .p-top-flow {
    padding-block: 0 calc(80 / 16 * 1rem);
  }
}
.p-top-flow__ttl {
  font-size: calc(40 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-top-flow__ttl {
    font-size: calc(28 / 16 * 1rem);
  }
}
.p-top-flow__inner {
  margin-top: calc(50 / 16 * 1rem);
  padding-bottom: calc(40 / 16 * 1rem);
  background-image: linear-gradient(to bottom, transparent 0 calc(40 / 16 * 1rem), #e0e4eb calc(40 / 16 * 1rem) 100%);
}
@media (max-width: 767px) {
  .p-top-flow__inner {
    margin-top: calc(42 / 16 * 1rem);
    padding: 0 calc(10 / 16 * 1rem) calc(30 / 16 * 1rem);
    background-image: linear-gradient(to bottom, transparent 0 calc(32 / 16 * 1rem), #e0e4eb calc(32 / 16 * 1rem) 100%);
  }
}
.p-top-flow__lead {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: calc(8 / 16 * 1rem);
  width: 100%;
  max-width: calc(508 / 16 * 1rem);
  min-height: calc(78 / 16 * 1rem);
  margin-inline: auto;
  padding: calc(19 / 16 * 1rem) calc(40 / 16 * 1rem);
  border: 1px solid #cad3e2;
  border-radius: calc(999 / 16 * 1rem);
  background-color: #fff;
  color: #333;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  line-height: 1;
}
@media (max-width: 767px) {
  .p-top-flow__lead {
    position: relative;
    z-index: 1;
    gap: calc(8 / 16 * 1rem);
    width: 100%;
    max-width: calc(475 / 16 * 1rem);
    min-height: calc(64 / 16 * 1rem);
    margin-inline: auto;
    padding: calc(15 / 16 * 1rem) calc(24 / 16 * 1rem);
    border: 1px solid #cad3e2;
    border-radius: calc(999 / 16 * 1rem);
    background-color: #fff;
  }
}
.p-top-flow__lead-txt {
  font-size: calc(24 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-top-flow__lead-txt {
    font-size: calc(20 / 16 * 1rem);
  }
}
.p-top-flow__lead-num {
  position: relative;
  display: inline-block;
  color: #111952;
  font-size: calc(34 / 16 * 1rem);
  font-weight: 600;
  bottom: calc(-4 / 16 * 1rem);
}
.p-top-flow__lead-num::after {
  content: "";
  position: absolute;
  top: calc(-7 / 16 * 1rem);
  left: 50%;
  width: calc(165 / 16 * 1rem);
  height: calc(5 / 16 * 1rem);
  background-image: radial-gradient(circle, #111952 calc(2.5 / 16 * 1rem), transparent calc(2.5 / 16 * 1rem));
  background-size: calc(33 / 16 * 1rem) calc(5 / 16 * 1rem);
  background-repeat: repeat-x;
  transform: translateX(-50%);
}
@media (max-width: 767px) {
  .p-top-flow__lead-num {
    padding-top: calc(6 / 16 * 1rem);
    font-size: calc(28 / 16 * 1rem);
  }
  .p-top-flow__lead-num::after {
    width: calc(135 / 16 * 1rem);
    height: calc(4 / 16 * 1rem);
    background-image: radial-gradient(circle, #111952 calc(2 / 16 * 1rem), transparent calc(2 / 16 * 1rem));
    background-size: calc(27 / 16 * 1rem) calc(4 / 16 * 1rem);
  }
}
.p-top-flow__list {
  display: flex;
  flex-direction: column;
  gap: calc(30 / 16 * 1rem);
  width: 100%;
  max-width: calc(616 / 16 * 1rem);
  margin: calc(40 / 16 * 1rem) auto 0;
}
@media (max-width: 767px) {
  .p-top-flow__list {
    gap: calc(35 / 16 * 1rem);
    margin-top: calc(28 / 16 * 1rem);
  }
}
.p-top-flow__item {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: calc(50 / 16 * 1rem);
}
.p-top-flow__item:not(:last-child)::after {
  content: "";
  position: absolute;
  top: calc(130 / 16 * 1rem);
  bottom: calc(-1 * calc(30 / 16 * 1rem));
  left: calc(65 / 16 * 1rem);
  width: 2px;
  background-color: rgba(255, 255, 255, 0.5);
  transform: translateX(-50%);
}
@media (max-width: 767px) {
  .p-top-flow__item {
    gap: calc(20 / 16 * 1rem);
  }
  .p-top-flow__item:not(:last-child)::after {
    top: calc(130 / 16 * 1rem);
    bottom: calc(-1 * calc(35 / 16 * 1rem));
    left: calc(65 / 16 * 1rem);
    background-color: #fff;
  }
}
.p-top-flow__icon {
  flex-shrink: 0;
  width: calc(130 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-top-flow__icon {
    width: calc(130 / 16 * 1rem);
  }
}
.p-top-flow__icon-img {
  display: block;
}
.p-top-flow__body {
  flex: 1;
  min-width: 0;
}
.p-top-flow__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: calc(80 / 16 * 1rem);
  min-height: calc(34 / 16 * 1rem);
  padding: calc(10 / 16 * 1rem) calc(12 / 16 * 1rem);
  border: 1px solid #111952;
  border-radius: calc(2 / 16 * 1rem);
  background-color: #111952;
  color: #fff;
  font-family: "Noto Serif JP", serif;
  font-size: calc(14 / 16 * 1rem);
  font-weight: 400;
  letter-spacing: 0.06em;
  line-height: 1;
}
@media (max-width: 767px) {
  .p-top-flow__num {
    min-width: calc(64 / 16 * 1rem);
    min-height: calc(28 / 16 * 1rem);
    padding: calc(7 / 16 * 1rem) calc(10 / 16 * 1rem);
    border-radius: calc(2 / 16 * 1rem);
    background-color: #111952;
    color: #fff;
    font-size: calc(14 / 16 * 1rem);
  }
}
.p-top-flow__item-ttl {
  margin-top: calc(10 / 16 * 1rem);
  padding-bottom: calc(10 / 16 * 1rem);
  border-bottom: 1px dashed rgba(255, 255, 255, 0.85);
  color: #333;
  font-family: "Noto Serif JP", serif;
  font-size: calc(20 / 16 * 1rem);
  font-weight: 400;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .p-top-flow__item-ttl {
    margin-top: calc(8 / 16 * 1rem);
    padding-bottom: calc(8 / 16 * 1rem);
    font-size: calc(18 / 16 * 1rem);
    line-height: 1.5;
  }
}
.p-top-flow__txt {
  margin-top: calc(10 / 16 * 1rem);
  color: #333;
  font-size: calc(16 / 16 * 1rem);
  line-height: 1.8;
}
@media (max-width: 767px) {
  .p-top-flow__txt {
    margin-top: calc(8 / 16 * 1rem);
    font-size: calc(14 / 16 * 1rem);
    line-height: 1.65;
  }
}
.p-top-flow__nots {
  width: 100%;
  max-width: calc(616 / 16 * 1rem);
  margin: calc(40 / 16 * 1rem) auto 0;
}
@media (max-width: 767px) {
  .p-top-flow__nots {
    margin-top: calc(20 / 16 * 1rem);
  }
}
.p-top-flow__nots-item {
  font-size: calc(12 / 16 * 1rem);
  text-indent: -1.6em;
  padding-left: 1.6em;
}

.p-top-faq {
  padding-block: calc(100 / 16 * 1rem);
  background-color: #fefff5;
}
@media (max-width: 767px) {
  .p-top-faq {
    padding-block: calc(80 / 16 * 1rem);
  }
}
.p-top-faq__ttl {
  font-size: calc(40 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-top-faq__ttl {
    font-size: calc(28 / 16 * 1rem);
  }
}
.p-top-faq__inner {
  margin-top: calc(50 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-top-faq__inner {
    margin-top: calc(50 / 16 * 1rem);
  }
}
.p-top-faq__coming {
  text-align: center;
}
.p-top-faq__more {
  display: flex;
  justify-content: center;
  width: fit-content;
  margin: calc(50 / 16 * 1rem) auto 0;
}
@media (max-width: 767px) {
  .p-top-faq__more {
    margin-top: calc(55 / 16 * 1rem);
  }
}

.u-only-sp {
  display: none !important;
}
@media (max-width: 767px) {
  .u-only-sp {
    display: inline !important;
  }
}

@media (max-width: 767px) {
  .u-only-pc {
    display: none !important;
  }
}

.u-hidden {
  display: none !important;
}

.u-img-cover,
.u-img-cover img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.js-fadein,
.js-fadein-parent > * {
  opacity: 0;
  transform: translateY(72px);
  transition: transform 1.8s cubic-bezier(0.22, 1, 0.36, 1), opacity 1.8s cubic-bezier(0.22, 1, 0.36, 1);
}
@media (max-width: 767px) {
  .js-fadein,
  .js-fadein-parent > * {
    transform: translateY(24px);
  }
}

.js-fade {
  opacity: 0;
  transition: opacity 1.8s cubic-bezier(0.22, 1, 0.36, 1);
}

.is-font-loaded .js-fadein.is-shown,
.is-font-loaded .js-fadein-parent > .is-shown,
.is-font-loaded .js-fade.is-shown {
  opacity: 1;
  transform: translateY(0);
}/*# sourceMappingURL=style.css.map */