@charset "UTF-8";
/* Document
 * ========================================================================== */
/**
 * Add border box sizing in all browsers (opinionated).
 */
*,
::before,
::after {
  box-sizing: border-box;
}

/**
  * 1. Add text decoration inheritance in all browsers (opinionated).
  * 2. Add vertical alignment inheritance in all browsers (opinionated).
  */
::before,
::after {
  text-decoration: inherit; /* 1 */
  vertical-align: inherit; /* 2 */
}

/**
  * 1. Use the default cursor in all browsers (opinionated).
  * 2. Change the line height in all browsers (opinionated).
  * 3. Use a 4-space tab width in all browsers (opinionated).
  * 4. Remove the grey highlight on links in iOS (opinionated).
  * 5. Prevent adjustments of font size after orientation changes in
  *    IE on Windows Phone and in iOS.
  * 6. Breaks words to prevent overflow in all browsers (opinionated).
  */
html {
  cursor: default; /* 1 */
  line-height: 1.5; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  -webkit-tap-highlight-color: transparent;
  -ms-text-size-adjust: 100%; /* 5 */
  -webkit-text-size-adjust: 100%; /* 5 */
  word-break: break-word; /* 6 */
}

/* Sections
  * ========================================================================== */
/**
  * Remove the margin in all browsers (opinionated).
  */
body {
  margin: 0;
}

/**
  * Correct the font size and margin on `h1` elements within `section` and
  * `article` contexts in Chrome, Edge, Firefox, and Safari.
  */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
  * ========================================================================== */
/**
  * Remove the margin on nested lists in Chrome, Edge, IE, and Safari.
  */
dl dl,
dl ol,
dl ul,
ol dl,
ul dl {
  margin: 0;
}

/**
  * Remove the margin on nested lists in Edge 18- and IE.
  */
ol ol,
ol ul,
ul ol,
ul ul {
  margin: 0;
}

/**
  * 1. Add the correct sizing in Firefox.
  * 2. Show the overflow in Edge 18- and IE.
  */
hr {
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
  * Add the correct display in IE.
  */
main {
  display: block;
}

/**
  * Remove the list style on navigation lists in all browsers (opinionated).
  */
nav ol,
nav ul {
  list-style: none;
  padding: 0;
}

/**
  * 1. Correct the inheritance and scaling of font size in all browsers.
  * 2. Correct the odd `em` font sizing in all browsers.
  */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
  * ========================================================================== */
/**
  * Remove the gray background on active links in IE 10.
  */
a {
  background-color: transparent;
}

/**
  * Add the correct text decoration in Edge 18-, IE, and Safari.
  */
abbr[title] {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/**
  * Add the correct font weight in Chrome, Edge, and Safari.
  */
b,
strong {
  font-weight: bolder;
}

/**
  * 1. Correct the inheritance and scaling of font size in all browsers.
  * 2. Correct the odd `em` font sizing in all browsers.
  */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
  * Add the correct font size in all browsers.
  */
small {
  font-size: 80%;
}

/* Embedded content
  * ========================================================================== */
/*
  * Change the alignment on media elements in all browsers (opinionated).
  */
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

/**
  * Add the correct display in IE 9-.
  */
audio,
video {
  display: inline-block;
}

/**
  * Add the correct display in iOS 4-7.
  */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
  * Remove the border on iframes in all browsers (opinionated).
  */
iframe {
  border-style: none;
}

/**
  * Remove the border on images within links in IE 10-.
  */
img {
  border-style: none;
}

/**
  * Change the fill color to match the text color in all browsers (opinionated).
  */
svg:not([fill]) {
  fill: currentColor;
}

/**
  * Hide the overflow in IE.
  */
svg:not(:root) {
  overflow: hidden;
}

/* Tabular data
  * ========================================================================== */
/**
  * Collapse border spacing in all browsers (opinionated).
  */
table {
  border-collapse: collapse;
}

/* Forms
  * ========================================================================== */
/**
  * Remove the margin on controls in Safari.
  */
button,
input,
select {
  margin: 0;
}

/**
  * 1. Show the overflow in IE.
  * 2. Remove the inheritance of text transform in Edge 18-, Firefox, and IE.
  */
button {
  overflow: visible; /* 1 */
  text-transform: none; /* 2 */
}

/**
  * Correct the inability to style buttons in iOS and Safari.
  */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
  * 1. Change the inconsistent appearance in all browsers (opinionated).
  * 2. Correct the padding in Firefox.
  */
fieldset {
  border: 1px solid #a0a0a0; /* 1 */
  padding: 0.35em 0.75em 0.625em; /* 2 */
}

/**
  * Show the overflow in Edge 18- and IE.
  */
input {
  overflow: visible;
}

/**
  * 1. Correct the text wrapping in Edge 18- and IE.
  * 2. Correct the color inheritance from `fieldset` elements in IE.
  */
legend {
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  white-space: normal; /* 1 */
}

/**
  * 1. Add the correct display in Edge 18- and IE.
  * 2. Add the correct vertical alignment in Chrome, Edge, and Firefox.
  */
progress {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

/**
  * Remove the inheritance of text transform in Firefox.
  */
select {
  text-transform: none;
}

/**
  * 1. Remove the margin in Firefox and Safari.
  * 2. Remove the default vertical scrollbar in IE.
  * 3. Change the resize direction in all browsers (opinionated).
  */
textarea {
  margin: 0; /* 1 */
  overflow: auto; /* 2 */
  resize: vertical; /* 3 */
}

/**
  * Remove the padding in IE 10-.
  */
[type=checkbox],
[type=radio] {
  padding: 0;
}

/**
  * 1. Correct the odd appearance in Chrome, Edge, and Safari.
  * 2. Correct the outline style in Safari.
  */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
  * Correct the cursor style of increment and decrement buttons in Safari.
  */
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/**
  * Correct the text style of placeholders in Chrome, Edge, and Safari.
  */
::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54;
}

/**
  * Remove the inner padding in Chrome, Edge, and Safari on macOS.
  */
::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
  * 1. Correct the inability to style upload buttons in iOS and Safari.
  * 2. Change font properties to `inherit` in Safari.
  */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/**
  * Remove the inner border and padding of focus outlines in Firefox.
  */
::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
  * Restore the focus outline styles unset by the previous rule in Firefox.
  */
:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
  * Remove the additional :invalid styles in Firefox.
  */
:-moz-ui-invalid {
  box-shadow: none;
}

/* Interactive
  * ========================================================================== */
/*
  * Add the correct display in Edge 18- and IE.
  */
details {
  display: block;
}

/*
  * Add the correct styles in Edge 18-, IE, and Safari.
  */
dialog {
  background-color: white;
  border: solid;
  color: black;
  display: block;
  height: -moz-fit-content;
  height: fit-content;
  left: 0;
  margin: auto;
  padding: 1em;
  position: absolute;
  right: 0;
  width: -moz-fit-content;
  width: fit-content;
}

dialog:not([open]) {
  display: none;
}

/*
  * Add the correct display in all browsers.
  */
summary {
  display: list-item;
}

/* Scripting
  * ========================================================================== */
/**
  * Add the correct display in IE 9-.
  */
canvas {
  display: inline-block;
}

/**
  * Add the correct display in IE.
  */
template {
  display: none;
}

/* User interaction
  * ========================================================================== */
/*
  * 1. Remove the tapping delay in IE 10.
  * 2. Remove the tapping delay on clickable elements
       in all browsers (opinionated).
  */
a,
area,
button,
input,
label,
select,
summary,
textarea,
[tabindex] { /* 1 */
  touch-action: manipulation; /* 2 */
}

/**
  * Add the correct display in IE 10-.
  */
[hidden] {
  display: none;
}

/* Accessibility
  * ========================================================================== */
/**
  * Change the cursor on busy elements in all browsers (opinionated).
  */
[aria-busy=true] {
  cursor: progress;
}

/*
  * Change the cursor on control elements in all browsers (opinionated).
  */
[aria-controls] {
  cursor: pointer;
}

/*
  * Change the cursor on disabled, not-editable, or otherwise
  * inoperable elements in all browsers (opinionated).
  */
[aria-disabled=true],
[disabled] {
  cursor: not-allowed;
}

/*
  * Change the display on visually hidden accessible elements
  * in all browsers (opinionated).
  */
[aria-hidden=false][hidden] {
  display: initial;
}

[aria-hidden=false][hidden]:not(:focus) {
  clip: rect(0, 0, 0, 0);
  position: absolute;
}

html {
  font-size: 16px;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  box-sizing: border-box;
  color: #444;
  overflow-x: hidden;
}
body.active {
  overflow: hidden;
}

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

a {
  text-decoration: none;
}

.oswald {
  font-family: "Oswald", sans-serif;
}

.inner {
  max-width: 1320px;
  margin: auto;
  padding: 0 60px;
}
@media (max-width: 1024px) {
  .inner {
    padding: 0 20px;
  }
}

:root {
  /* Color (汎用) */
  --color-primary: #2f5c98;
  --color-secondary: #ede9e5;
  --color-tertiary: #a6947f;
  --color-quaternary: #53b6ca;
  --color-line: #2f984b;
  --color-accent: #d97219;
  --color-gray: #707070;
  --color-white: #ffffff;
  --color-logo-base: #ffffff;
  /* Text */
  --text: #142a46;
  --text-sub: #a0a7af;
  --text-white: #fff;
}

.l-header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  display: grid;
  grid-template-columns: clamp(8.75rem, 2.596rem + 9.62vw, 11.25rem) auto;
  justify-content: space-between;
  align-items: start;
  -moz-column-gap: clamp(1rem, -16.188rem + 22.92vw, 4.438rem);
       column-gap: clamp(1rem, -16.188rem + 22.92vw, 4.438rem);
  padding: 20px 60px clamp(1rem, -12.75rem + 18.33vw, 3.75rem) clamp(1rem, -4.25rem + 7vw, 2.05rem);
  background: linear-gradient(#001f46 0%, rgba(11, 64, 132, 0.35) 68.43%, rgba(11, 64, 132, 0) 100%);
  color: var(--text-white);
  z-index: 10;
}
@media (max-width: 599px) {
  .l-header {
    grid-template-columns: 124px;
    padding: 24px 20px 21px;
  }
}
.l-header__content {
  display: grid;
  row-gap: 31px;
}
@media (max-width: 1024px) {
  .l-header__content {
    align-content: start;
    row-gap: 41px;
    opacity: 0;
    visibility: hidden;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: min(100%, 335px);
    height: -moz-fit-content;
    height: fit-content;
    max-height: 100dvh;
    padding: 88px 20px 56px 24px;
    background-color: var(--text);
    transition: opacity 0.3s, visibility 0.3s;
    overflow: auto;
    z-index: 99;
  }
}
@media (max-width: 1024px) {
  .l-header__content.active {
    opacity: 1;
    visibility: visible;
    scrollbar-gutter: stable;
  }
  .l-header__content.active + .l-header__overlay {
    opacity: 1;
    visibility: visible;
  }
}
.l-header__site-title {
  margin-top: 17px;
}
@media (max-width: 1024px) {
  .l-header__site-title {
    margin-top: 0;
  }
}
.l-header__site-title .c-site-title__image {
  width: 100%;
  aspect-ratio: 179.96/112;
}
.l-header__site-title .c-site-title__image--lower {
  display: none;
}
.l-header__utilities {
  display: grid;
  grid-template-columns: auto auto;
  justify-content: end;
  -moz-column-gap: 18px;
       column-gap: 18px;
}
@media (max-width: 1024px) {
  .l-header__utilities {
    grid-template-columns: auto;
    justify-content: start;
    order: 2;
  }
}
.l-header__info {
  display: grid;
  grid-template-rows: auto auto;
  grid-template-columns: auto auto;
  justify-content: end;
  justify-items: end;
  align-items: center;
  row-gap: 7px;
  -moz-column-gap: 16px;
       column-gap: 16px;
}
@media (max-width: 1024px) {
  .l-header__info {
    display: none;
  }
}
.l-header__tel {
  margin-top: 1px;
}
.l-header__tel-link {
  display: flex;
  justify-content: end;
  align-items: center;
  gap: 3px;
  text-decoration: none;
  transition: opacity 0.3s;
  color: currentColor;
}
.l-header__tel-link:hover {
  opacity: 0.7;
}
.l-header__tel-image {
  width: 27.432px;
  aspect-ratio: 1;
  color: currentColor;
}
.l-header__tel-num {
  font-size: 1.625rem;
  line-height: 1.4642857143;
  letter-spacing: 0.09em;
}
.l-header__address {
  display: flex;
  align-items: center;
  gap: 6.3px;
  margin-top: 5px;
  margin-right: 7px;
  font-style: normal;
}
.l-header__address-image {
  width: 11.717px;
  height: 15.64px;
}
.l-header__address-text {
  font-weight: 500;
  line-height: 1.5;
}
.l-header__opening-hours {
  grid-column: span 2;
  margin-left: 10px;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.4;
  color: currentColor;
}
.l-header__buttons {
  display: grid;
  grid-template-columns: repeat(2, auto);
  justify-content: center;
  align-items: start;
  gap: 16px;
  margin-top: 1px;
}
@media (max-width: 1024px) {
  .l-header__buttons {
    grid-template-columns: auto;
    order: 1;
    padding-left: 31px;
    gap: 18px;
  }
}
.l-header__button {
  display: inline-grid;
  justify-items: center;
  align-items: center;
  padding: 8.2px 16px;
  min-width: 198px;
  min-height: 64px;
  letter-spacing: 0.05em;
  line-height: 1.5;
  background-color: var(--color-primary);
  color: var(--text-white);
  border: 2px solid var(--color-primary);
  transition: 0.3s;
}
.l-header__button:hover {
  background-color: var(--text-white);
  color: var(--color-primary);
}
.l-header__button:hover .l-header__button-icon-image {
  color: var(--text-white);
}
.l-header__button--accent {
  background-color: var(--color-accent);
  border-color: var(--color-accent);
}
.l-header__button--accent .l-header__button-icon-image {
  color: var(--color-accent);
}
.l-header__button--accent:hover {
  color: var(--color-accent);
}
.l-header__button-icon {
  display: none;
  width: 28px;
  background-color: currentColor;
  aspect-ratio: 1;
  border-radius: 50px;
  transition: 0.3s;
}
.l-header__button-icon-image {
  width: 18px;
  aspect-ratio: 2/1;
  color: var(--color-primary);
  transition: 0.3s;
}
.l-header__button-text {
  font-weight: bold;
}
.l-header__button-tel {
  display: inline-block;
  margin-top: -4.2px;
  font-weight: normal;
  line-height: 1.5;
}
.l-header__nav {
  order: 1;
}
.l-header__menu {
  display: flex;
  margin: 0;
}
@media (max-width: 1024px) {
  .l-header__menu {
    flex-direction: column;
  }
}
.l-header__item {
  position: relative;
  border-left: 1px solid rgba(255, 255, 255, 0.4);
}
@media (max-width: 1024px) {
  .l-header__item {
    border-top: 0.6px solid rgba(255, 255, 255, 0.4);
    border-left: none;
  }
}
.l-header__item:last-child {
  border-right: 1px solid rgba(255, 255, 255, 0.4);
}
@media (max-width: 1024px) {
  .l-header__item:last-child {
    border-right: none;
    border-bottom: 0.6px solid rgba(255, 255, 255, 0.4);
  }
}
.l-header__item-has-children {
  position: relative;
}
.l-header__item-has-children .l-header__menu-link {
  display: flex;
  align-items: center;
  gap: 7px;
}
.l-header__item-has-children .l-header__menu-link::after {
  content: "";
  display: inline-block;
  transform: translateY(-2px) rotate(-45deg);
  width: 9px;
  aspect-ratio: 1;
  border-bottom: solid currentColor;
  border-left: solid currentColor;
  border-width: 2px;
  transition: transform 0.3s;
}
@media (max-width: 1024px) {
  .l-header__item-has-children .l-header__menu-link::after {
    width: 12px;
    margin-bottom: 7px;
    transform: rotate(-45deg);
  }
}
.l-header__item-has-children:last-child .l-header__submenu-wrapper {
  left: auto;
  right: 0;
}
.l-header__item-has-children:hover .l-header__submenu-wrapper {
  opacity: 1;
  visibility: visible;
}
.l-header__item-has-children:has(:hover) .l-header__menu-link::before {
  opacity: 1;
}
@media (max-width: 1024px) {
  .l-header__item-has-children.open .l-header__submenu-wrapper {
    max-height: 500px;
  }
  .l-header__item-has-children.open .l-header__menu-link::after {
    transform: rotate(135deg);
  }
}
.l-header__menu-link {
  position: relative;
  display: block;
  padding: 4px calc(clamp(1rem, -2.692rem + 5.77vw, 2.5rem) + 1px) 4px calc(clamp(1rem, -2.692rem + 5.77vw, 2.5rem) - 1px);
  font-weight: bold;
  line-height: 1.5;
  white-space: nowrap;
  text-decoration: none;
  color: currentColor;
}
@media (max-width: 1024px) {
  .l-header__menu-link {
    justify-content: space-between;
    padding: 28px 30px 11px 31px;
  }
}
.l-header__menu-link::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 88px;
  height: 1px;
  background-color: var(--color-white);
  opacity: 0;
}
@media (max-width: 1024px) {
  .l-header__menu-link::before {
    display: none;
  }
}
.l-header__menu-link:hover::before {
  opacity: 1;
}
.l-header__submenu-wrapper {
  position: absolute;
  top: 100%;
  left: 0;
  padding-top: 12px;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
}
@media (max-width: 1024px) {
  .l-header__submenu-wrapper {
    position: static;
    max-height: 0;
    overflow: hidden;
    padding-top: 0;
    opacity: 1;
    visibility: visible;
    transition: max-height 0.35s ease;
  }
}
.l-header__submenu {
  padding: 4px 8px 0;
  background-color: var(--color-white);
  border-radius: 2px;
  box-shadow: -3px 3px 8px 0 rgba(60, 60, 60, 0.48);
}
@media (max-width: 1024px) {
  .l-header__submenu {
    padding: 5px 8px 5px;
    border-radius: 0;
    box-shadow: none;
  }
}
.l-header__submenu-item {
  border-bottom: 0.5px solid var(--text-sub);
}
.l-header__submenu-item:last-child {
  border: none;
}
.l-header__submenu-link {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-width: 223px;
  padding: 10px 16px 9px 14px;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.024em;
  color: var(--text);
}
@media (max-width: 1024px) {
  .l-header__submenu-link {
    min-width: auto;
    padding: 10px 9px 9px 16px;
  }
}
.l-header__submenu-link::after {
  content: "";
  display: inline-block;
  width: 16px;
  aspect-ratio: 2/1;
  background: url(./../images/arrow.png) no-repeat center center/contain;
}
@media (max-width: 1024px) {
  .l-header__submenu-link::after {
    width: 22px;
  }
}
.l-header__burger {
  display: none;
  position: fixed;
  top: 16px;
  right: 16px;
  width: 40px;
  aspect-ratio: 1;
  border: none;
  border-radius: 8px;
  background-color: var(--color-tertiary);
  cursor: pointer;
  z-index: 100;
}
@media (max-width: 1024px) {
  .l-header__burger {
    display: block;
  }
}
.l-header__burger.active .l-header__burger-bar:nth-of-type(1) {
  top: 50%;
  transform: rotate(45deg);
}
.l-header__burger.active .l-header__burger-bar:nth-of-type(2) {
  opacity: 0;
}
.l-header__burger.active .l-header__burger-bar:nth-of-type(3) {
  top: 50%;
  transform: rotate(-45deg);
}
.l-header__burger-bar {
  position: absolute;
  left: 50%;
  translate: -50%;
  width: 18px;
  height: 1px;
  background-color: var(--color-white);
  transition: all 0.3s;
}
.l-header__burger-bar:nth-of-type(1) {
  top: calc(50% - 6px);
}
.l-header__burger-bar:nth-of-type(2) {
  top: 50%;
}
.l-header__burger-bar:nth-of-type(3) {
  top: calc(50% + 6px);
}
.l-header__overlay {
  display: none;
  position: fixed;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.5);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
  z-index: 98;
}
@media (max-width: 1024px) {
  .l-header__overlay {
    display: block;
  }
}

.l-header.l-header--lower {
  position: relative;
  grid-template-columns: clamp(8.75rem, 4.442rem + 6.73vw, 10.5rem) auto;
  -moz-column-gap: clamp(1rem, -11.625rem + 16.83vw, 3.525rem);
       column-gap: clamp(1rem, -11.625rem + 16.83vw, 3.525rem);
  padding: 22px 4.1666666667% 16px;
  background: var(--color-white);
  color: var(--text);
}
@media (max-width: 1024px) {
  .l-header.l-header--lower {
    grid-template-columns: 80px auto;
    min-height: 70px;
    padding: 10px 16px 4px 20px;
    color: var(--text-white);
  }
}
.l-header.l-header--lower .l-header__site-title {
  margin-top: 6.4px;
}
@media (max-width: 1024px) {
  .l-header.l-header--lower .l-header__site-title {
    margin-top: 0;
  }
}
.l-header.l-header--lower .c-site-title__image {
  aspect-ratio: 167.99/104.55;
}
.l-header.l-header--lower .c-site-title__image--top {
  display: none;
}
.l-header.l-header--lower .c-site-title__image--lower {
  display: block;
}
.l-header.l-header--lower .l-header__content {
  row-gap: 20px;
}
.l-header.l-header--lower .l-header__utilities {
  -moz-column-gap: 16px;
       column-gap: 16px;
}
.l-header.l-header--lower .l-header__info {
  align-content: start;
  row-gap: 2px;
  -moz-column-gap: 0;
       column-gap: 0;
}
.l-header.l-header--lower .l-header__tel {
  margin-top: 0;
}
.l-header.l-header--lower .l-header__tel-image {
  width: 24px;
  height: 28px;
  margin-top: 3px;
}
.l-header.l-header--lower .l-header__tel-link {
  gap: 2.6px;
}
.l-header.l-header--lower .l-header__tel-num {
  font-size: 1.5rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.l-header.l-header--lower .l-header__address {
  margin: 3px 23px 0 0;
}
.l-header.l-header--lower .l-header__buttons {
  -moz-column-gap: 12px;
       column-gap: 12px;
  margin-top: 9px;
}
.l-header.l-header--lower .l-header__button {
  grid-template-columns: auto auto;
  -moz-column-gap: 8px;
       column-gap: 8px;
  min-width: auto;
  min-height: auto;
  padding: 4px 16px 4px 9.5px;
}
.l-header.l-header--lower .l-header__button-icon {
  display: grid;
  place-items: center;
}
.l-header.l-header--lower .l-header__button-icon-image {
  width: 20px;
}
.l-header.l-header--lower .l-header__button-tel {
  display: none;
}
.l-header.l-header--lower .l-header__item {
  border-color: var(--text-sub);
}

.l-footer {
  padding: 80px 0;
  background-color: var(--text);
  color: var(--text-white);
}
@media (max-width: 1024px) {
  .l-footer {
    padding: 64px 0 115px;
  }
}
@media (max-width: 599px) {
  .l-footer__inner {
    padding: 0 8px;
  }
}
.l-footer__content {
  display: grid;
  grid-template-columns: 53.3333333333% auto;
  grid-template-rows: min-content;
  align-content: start;
  align-items: start;
  gap: 8.8333333333%;
}
@media (max-width: 1024px) {
  .l-footer__content {
    grid-template-columns: auto;
  }
}
.l-footer__info-header {
  display: grid;
  grid-template-columns: auto auto;
  justify-content: start;
  align-items: end;
  gap: 40px;
}
@media (max-width: 1024px) {
  .l-footer__info-header {
    grid-template-columns: auto;
    justify-content: center;
    justify-items: center;
    gap: 36px;
  }
}
.l-footer__site-title {
  width: -moz-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
.l-footer__access {
  display: grid;
  gap: 6px;
  padding-bottom: 5px;
}
@media (max-width: 1024px) {
  .l-footer__access {
    gap: 12px;
  }
}
.l-footer__tel-link {
  display: grid;
  grid-template-columns: auto auto;
  justify-content: start;
  align-items: center;
  -moz-column-gap: 2.6px;
       column-gap: 2.6px;
  color: var(--text-white);
}
@media (max-width: 1024px) {
  .l-footer__tel-link {
    justify-content: center;
  }
}
.l-footer__tel-link img {
  display: inline-block;
  width: 28px;
}
.l-footer__tel-num {
  font-size: 1.75rem;
  line-height: 1.4642857143;
  letter-spacing: 0.05em;
}
.l-footer__address {
  display: flex;
  align-items: center;
  gap: 1em;
}
@media (max-width: 1024px) {
  .l-footer__address {
    gap: 0.25em;
  }
}
.l-footer__address-text {
  font-weight: 500;
  font-style: normal;
  line-height: 1.5;
}
.l-footer__timetable {
  margin: 35px 0 0 0;
}
@media (max-width: 1024px) {
  .l-footer__timetable {
    margin: 32px 0 0 0;
  }
}
.l-footer__timetable .c-timetable__data {
  display: grid;
  place-items: center;
}
.l-footer__opening-hours {
  margin: 15px 0 0 0;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.4;
}
@media (max-width: 1024px) {
  .l-footer__opening-hours {
    margin-top: 17px;
    padding-left: 12px;
  }
}
.l-footer__button-wrapper {
  display: grid;
  justify-content: start;
  grid-template-columns: min(100%, 198px);
}
@media (max-width: 1024px) {
  .l-footer__button-wrapper {
    justify-content: center;
  }
}
.l-footer__button {
  margin-top: 40px;
  display: grid;
  justify-items: center;
  align-items: center;
  padding: 9px 16px 8.5px;
  min-height: 64px;
  letter-spacing: 0.05em;
  line-height: 1.5;
  background-color: var(--color-primary);
  color: var(--text-white);
  border: 1px solid var(--text-white);
  transition: 0.3s;
}
.l-footer__button:hover {
  background-color: var(--text-white);
  color: var(--color-primary);
}
.l-footer__button--accent {
  background-color: var(--color-accent);
  border-color: var(--color-accent);
}
.l-footer__button--accent:hover {
  color: var(--color-accent);
}
.l-footer__button-text {
  font-weight: bold;
}
.l-footer__button-tel {
  display: inline-block;
  margin-top: -5px;
  font-weight: normal;
  line-height: 1.5;
}
.l-footer__info-footer {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin: 24px 0 0 0;
}
@media (max-width: 1024px) {
  .l-footer__info-footer {
    grid-template-columns: auto;
    justify-content: center;
    justify-items: center;
  }
}
@media (max-width: 1024px) {
  .l-footer__menu {
    display: none;
  }
}
.l-footer__list {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-content: space-between;
  gap: 40px;
  max-height: 525px;
  margin: 0;
  list-style: none;
}
.l-footer__list-link {
  position: relative;
  display: grid;
  padding-left: 16px;
  line-height: 1.5;
  letter-spacing: 0.024em;
  color: #fff;
}
.l-footer__list-link::before {
  content: "";
  display: block;
  position: absolute;
  top: 0.5lh;
  left: 0;
  transform: translateY(-50%);
  width: 8px;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: var(--color-accent);
}
.l-footer__submenu {
  display: grid;
  row-gap: 12px;
  margin-top: 18px;
  padding-left: 16px;
}
.l-footer__submenu-link {
  display: block;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.024em;
  color: #fff;
}

.l-page-header {
  padding: 60px 0 48px;
  background: linear-gradient(90deg, var(--text) 0%, var(--color-primary) 100%);
  color: var(--text-white);
}
@media (max-width: 1024px) {
  .l-page-header {
    padding: 48px 0 40px;
  }
}
.l-page-header__title {
  display: grid;
  grid-template-columns: auto auto;
  justify-content: start;
  align-items: center;
  gap: 24px;
}
.l-page-header__title-text {
  display: grid;
  gap: 2px;
}
@media (max-width: 1024px) {
  .l-page-header__title-text {
    gap: 5px;
  }
}
.l-page-header__title-main {
  margin: 0;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.45;
  letter-spacing: 0.04em;
}
@media (max-width: 1024px) {
  .l-page-header__title-main {
    font-size: 1.8rem;
    line-height: 1.4473684211;
  }
}
.l-page-header__title-sub {
  margin: 0;
  font-size: 1.125rem;
  line-height: 1.4444444444;
  letter-spacing: 0.04em;
}
@media (max-width: 1024px) {
  .l-page-header__title-sub {
    font-size: 1rem;
    line-height: 1.5;
  }
}
.l-page-header__image {
  max-width: 50px;
}
.l-page-header__breadcrumb {
  width: 100%;
  max-width: 1440px;
  margin: 10px auto 0;
  padding: 0 80px 27px;
}
@media (max-width: 1024px) {
  .l-page-header__breadcrumb {
    padding: 0 60px 20px 20px;
  }
}
@media (max-width: 599px) {
  .l-page-header__breadcrumb {
    display: none;
  }
}
.l-page-header__list {
  display: grid;
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 1024px) {
  .l-page-header__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start !important;
    margin-top: 12px;
  }
}
.l-page-header__list-item {
  padding: 0;
}
.l-page-header__list-link {
  display: grid;
  grid-template-columns: 24px auto;
  align-items: center;
  gap: 16px;
  color: var(--text-white);
}
.l-page-header__list-image {
  width: 13.4px;
  height: 6.87px;
  color: var(--color-primary);
  transform: rotate(90deg);
  transform-origin: center;
}
.l-page-header__list-icon {
  display: inline-grid;
  place-items: center;
  width: 24px;
  height: 24px;
  background-color: var(--text-white);
  border-radius: 50%;
}
.l-page-header__list .l-page-header__list-text {
  line-height: 1.5;
  letter-spacing: 0.024em;
}
.l-page-header--has-list .l-page-header__content {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media (max-width: 599px) {
  .l-page-header--has-list .l-page-header__content {
    gap: 40px;
  }
}
.l-page-header--has-list .l-page-header__list {
  justify-content: end;
}

.l-2column {
  display: grid;
  grid-template-columns: auto 293px;
  gap: 52px;
}
@media (max-width: 1024px) {
  .l-2column {
    grid-template-columns: auto;
  }
}
.c-alert {
  display: grid;
  grid-auto-flow: column;
  justify-content: center;
  align-items: center;
  gap: 16px;
  padding: 0 20px;
  color: var(--color-accent);
}
.c-alert__icon {
  display: grid;
  place-items: center;
  width: 24px;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: var(--color-accent);
  color: var(--text-white);
}
.c-alert__text {
  margin: 0;
  font-size: 1.125rem;
  font-weight: bold;
  line-height: 1.4444444444;
  letter-spacing: 0.024em;
}

.c-accordion {
  background-color: var(--color-white);
}
.c-accordion__summary {
  position: relative;
  display: grid;
  list-style: none;
}
.c-accordion__summary::-webkit-details-marker {
  display: none;
}
.c-accordion__summary {
  grid-template-columns: auto auto;
  justify-content: start;
  align-items: center;
  gap: 35px;
  padding: 25px 39.5px 23px 40.5px;
}
@media (max-width: 1024px) {
  .c-accordion__summary {
    padding: 24px clamp(1rem, -1.123rem + 5.66vw, 2.5rem) 22px clamp(1rem, -1.123rem + 5.66vw, 2.5rem);
  }
}
@media (max-width: 599px) {
  .c-accordion__summary {
    gap: 15px;
  }
}
.c-accordion__summary::before, .c-accordion__summary::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 56px;
  width: 20px;
  height: 2px;
  background-color: var(--color-accent);
}
@media (max-width: 1024px) {
  .c-accordion__summary::before, .c-accordion__summary::after {
    right: clamp(1rem, -1.123rem + 5.66vw, 2.5rem);
  }
}
.c-accordion__summary::after {
  transform: rotate(90deg);
  transition: transform 0.3s;
}
.c-accordion__summary-icon {
  margin: 0;
  padding-left: 16px;
  font-size: 1.5rem;
  line-height: 1.5;
  letter-spacing: 0.04em;
  color: var(--color-primary);
}
@media (max-width: 599px) {
  .c-accordion__summary-icon {
    padding-left: 0;
  }
}
.c-accordion__summary-title {
  margin: 0;
  padding-right: 60px;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.024em;
}
@media (max-width: 1024px) {
  .c-accordion__summary-title {
    padding-right: calc(clamp(1rem, -1.123rem + 5.66vw, 2.5rem) + 24px);
  }
}
.c-accordion__content {
  position: relative;
  display: grid;
  grid-template-columns: auto auto;
  justify-content: start;
  gap: 30px;
  padding: 22px 39.5px 24px 40.5px;
}
@media (max-width: 1024px) {
  .c-accordion__content {
    padding: 22px clamp(1rem, -1.123rem + 5.66vw, 2.5rem) 24px clamp(1rem, -1.123rem + 5.66vw, 2.5rem);
  }
}
@media (max-width: 599px) {
  .c-accordion__content {
    gap: 16px;
  }
}
.c-accordion__content::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% - 39.5px - 40.5px);
  height: 1px;
  background-color: var(--text-sub);
}
.c-accordion__content-icon {
  margin: 0;
  padding-left: 16px;
  font-size: 1.5rem;
  line-height: 1.5;
  letter-spacing: 0.04em;
  color: var(--color-accent);
}
@media (max-width: 599px) {
  .c-accordion__content-icon {
    padding-left: 0;
  }
}
.c-accordion__body {
  padding: 6px 0 0;
}
.c-accordion__text {
  margin: 0;
  line-height: 1.625;
  letter-spacing: 0.024em;
}
.c-accordion__tel-link {
  display: inline-block;
  margin-left: 0.5em;
  text-decoration: underline;
  text-decoration-color: var(--color-primary);
  text-underline-offset: 3px;
  color: var(--text);
}
.c-accordion[open] .c-accordion__summary::after {
  transform: rotate(0);
}

.c-cta__content {
  display: grid;
  justify-content: center;
  padding: 82px clamp(1.5rem, -5.577rem + 11.06vw, 4.375rem) 80px;
  background: linear-gradient(rgba(20, 42, 70, 0.8), rgba(20, 42, 70, 0.8)), url(../images/cta-img2.jpg) no-repeat center center/cover;
  color: var(--text-white);
}
@media (max-width: 599px) {
  .c-cta__content {
    align-content: start;
    min-height: auto;
    padding: 56px 20px;
  }
}
.c-cta__text {
  margin: 60px 0 0;
  line-height: 1.75;
  letter-spacing: 0.024em;
  text-align: center;
}
@media (max-width: 1024px) {
  .c-cta__text {
    max-width: 580px;
  }
}
@media (max-width: 599px) {
  .c-cta__text {
    margin: 38px 0 0;
    text-align: left;
  }
}
.c-cta__button {
  margin-top: 54px;
  text-align: center;
}
@media (max-width: 1024px) {
  .c-cta__button {
    margin: 40px 0 0;
  }
}
@media (max-width: 599px) {
  .c-cta__button {
    margin: 38px 0 0;
  }
}
@media (max-width: 599px) {
  .c-cta__button .c-button__link {
    width: min(100%, 295px);
  }
}
.c-cta--mri .c-cta__content {
  background-image: linear-gradient(rgba(20, 42, 70, 0.8), rgba(20, 42, 70, 0.8)), url(../images/mri-cta.jpg);
}
.c-cta--ct .c-cta__content {
  background-image: linear-gradient(rgba(20, 42, 70, 0.8), rgba(20, 42, 70, 0.8)), url(../images/ct-cta.jpg);
}
.c-cta--eeg .c-cta__content {
  background-image: linear-gradient(rgba(20, 42, 70, 0.8), rgba(20, 42, 70, 0.8)), url(../images/eeg-cta.jpg);
}

.c-image-popup {
  opacity: 0;
  visibility: hidden;
  position: fixed;
  inset: 0;
  z-index: 10;
  display: grid;
  place-items: center;
  padding: 20px;
  background-color: rgba(0, 0, 0, 0.6);
  transition: opacity 0.3s, visibility 0.3s;
}
.c-image-popup.is-visible {
  opacity: 1;
  visibility: visible;
}
.c-image-popup__image {
  max-width: 600px;
  border-radius: 16px;
  overflow: hidden;
}
.c-image-popup__image img {
  display: block;
  width: 100%;
}

.c-site-title {
  margin: 0;
  display: inline-block;
}
.c-site-title__link {
  display: inline-block;
  transition: opacity 0.3s;
}
.c-site-title__link:hover {
  opacity: 0.7;
}
.c-site-title__link img {
  display: block;
}

.c-fixed-reserve {
  position: fixed;
  right: 0;
  bottom: 16px;
  display: grid;
  gap: 12px;
  z-index: 2;
}
@media (max-width: 599px) {
  .c-fixed-reserve {
    bottom: 0;
    width: 100%;
    grid-template-columns: repeat(2, 50%);
    gap: 0;
  }
}
.c-fixed-reserve__button {
  display: grid;
  justify-items: center;
  gap: 6px;
  min-width: 160px;
  padding: 20px;
  background-color: var(--color-primary);
  color: var(--text-white);
  box-shadow: -3px 3px 8px rgba(60, 60, 60, 0.48);
  transition: 0.3s;
}
@media (max-width: 599px) {
  .c-fixed-reserve__button {
    grid-template-columns: auto auto;
    justify-content: center;
    justify-items: start;
    align-items: center;
    gap: 8px;
  }
}
.c-fixed-reserve__button:hover {
  filter: brightness(85%);
}
.c-fixed-reserve__button--theme-line {
  gap: 7px;
  padding: 12px 12px 12px 16px;
  background-color: var(--color-line);
}
@media (max-width: 599px) {
  .c-fixed-reserve__button--theme-line {
    gap: 10px;
    padding: 4px 8px 4px 9px;
  }
}
.c-fixed-reserve__button--theme-line .c-fixed-reserve__button-icon {
  width: 24.38px;
  aspect-ratio: 24.38/45;
}
@media (max-width: 599px) {
  .c-fixed-reserve__button--theme-line .c-fixed-reserve__button-icon {
    width: 17px;
  }
}
.c-fixed-reserve__button--theme-line .c-fixed-reserve__button-text {
  padding-left: 2px;
}
.c-fixed-reserve__button-icon {
  display: block;
  width: 47px;
  aspect-ratio: 47/45;
}
@media (max-width: 599px) {
  .c-fixed-reserve__button-icon {
    width: 34px;
  }
}
.c-fixed-reserve__button-image {
  width: 100%;
  height: 100%;
}
.c-fixed-reserve__button-text {
  padding-left: 5px;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.c-title {
  display: grid;
  gap: 6px;
  text-align: center;
}
.c-title__main {
  margin: 0;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.4375;
  letter-spacing: 0.04em;
}
.c-title__sub {
  margin: 0;
  line-height: 1.5;
  letter-spacing: 0.04em;
  color: var(--text-sub);
}
@media (max-width: 599px) {
  .c-title:has(.u-br__sp) .c-title__main {
    line-height: 1.27;
  }
}
.c-title--tertiary .c-title__main {
  position: relative;
  padding: 0 0 0 20px;
  font-size: 1.125rem;
  line-height: 1.4444444444;
  text-align: left;
}
.c-title--tertiary .c-title__main::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0.5lh;
  left: 0;
  transform: translateY(-50%);
  width: 12px;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: var(--color-accent);
}

.c-title.c-title--align-left {
  text-align: left;
}

.c-title.c-title--ls-small {
  letter-spacing: 0.032em;
}

.c-title--color-reverse {
  color: var(--text-reverse);
}
.c-title--color-reverse .c-title__sub {
  color: var(--text-reverse);
}

.c-title.c-title--secondary {
  padding: 0 0 0 10px;
  border-left: 3px solid var(--color-accent);
  text-align: left;
}
.c-title.c-title--secondary .c-title__main {
  font-size: 1.5rem;
  line-height: 1.4583333333;
  letter-spacing: 0.024em;
}
.c-title.c-title--secondary .c-title__sub {
  padding: 0 0 0 2px;
}

.c-button__link {
  display: inline-grid;
  align-items: center;
  grid-template-columns: 28px auto;
  -moz-column-gap: 16px;
       column-gap: 16px;
  width: min(100%, 315px);
  padding: 20px 32px 20px 22px;
  background-color: var(--color-primary);
  color: var(--text-white);
  line-height: 1.5;
  letter-spacing: 0.04em;
  text-align: center;
  border: 2px solid var(--color-primary);
  border-radius: 2.25rem;
  transition: 0.3s;
}
@media (max-width: 1024px) {
  .c-button__link {
    padding: 17px 22px 17px 22px;
  }
}
.c-button__link:hover {
  background-color: var(--text-white);
  color: var(--color-primary);
}
.c-button__link:hover .c-button__icon-image {
  color: var(--text-white);
}
.c-button__icon {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  background-color: currentColor;
  border-radius: 50%;
  transition: 0.3s;
}
.c-button__icon-image {
  width: 18.052px;
  height: 10.842px;
  color: var(--color-primary);
  transition: 0.3s;
}
.c-button__text {
  text-align: center;
}

.c-button.c-button--reverse .c-button__link {
  padding: 20px 44px 20px 22px;
  background-color: var(--text-white);
  border-color: var(--text-white);
  color: var(--color-primary);
}
@media (max-width: 599px) {
  .c-button.c-button--reverse .c-button__link {
    padding: 16.8px 47px 16px 22px;
  }
}
.c-button.c-button--reverse .c-button__icon-image {
  color: var(--text-white);
}
.c-button.c-button--reverse:hover .c-button__link {
  background-color: var(--color-primary);
  color: var(--text-white);
}
.c-button.c-button--reverse:hover .c-button__icon-image {
  color: var(--color-primary);
}

.c-button.c-button--theme-line .c-button__link {
  background-color: var(--color-line);
  border-color: var(--color-line);
}
.c-button.c-button--theme-line .c-button__link:hover {
  background-color: var(--text-white);
  color: var(--color-line);
}
.c-button.c-button--theme-line .c-button__link:hover .c-button__icon {
  background-color: var(--color-line);
}
.c-button.c-button--theme-line .c-button__link:hover .c-button__icon-image {
  color: var(--text-white);
}
.c-button.c-button--theme-line .c-button__icon svg {
  color: var(--color-line);
}

.c-button.c-button--theme-accent .c-button__link {
  background-color: var(--color-accent);
  border-color: var(--color-accent);
}
.c-button.c-button--theme-accent .c-button__link:hover {
  background-color: var(--text-white);
  color: var(--color-accent);
}
.c-button.c-button--theme-accent .c-button__link:hover .c-button__icon {
  color: var(--text-white);
}
.c-button.c-button--theme-accent .c-button__icon-image {
  color: var(--color-accent);
}

.c-button.c-button--theme-accent.c-button--reverse .c-button__link {
  background-color: var(--text-white);
  border-color: var(--text-white);
  color: var(--color-accent);
}
.c-button.c-button--theme-accent.c-button--reverse .c-button__icon-image {
  color: var(--text-white);
}
.c-button.c-button--theme-accent.c-button--reverse:hover .c-button__link {
  background-color: var(--color-accent);
  color: var(--text-white);
}
.c-button.c-button--theme-accent.c-button--reverse:hover .c-button__icon {
  background-color: var(--text-white);
}
.c-button.c-button--theme-accent.c-button--reverse:hover .c-button__icon-image {
  color: var(--color-accent);
}

.c-button.c-button--sharp .c-button__link {
  gap: 16px;
  padding: 21px 30px 19px 23px;
  border-radius: 0;
}
@media (max-width: 1024px) {
  .c-button.c-button--sharp .c-button__link {
    padding: 21px 30px 20px 22.5px;
  }
}

.c-button.c-button--small .c-button__link {
  padding: 14px 40px 12px 24px;
}

.c-timetable {
  display: grid;
  grid-template-columns: 2.13fr 1fr 1fr 1fr 1fr 1fr 1fr 1.31fr;
  width: 100%;
  border-collapse: collapse;
  line-height: 1.5;
  text-align: center;
  color: var(--text);
}
@media (max-width: 599px) {
  .c-timetable {
    grid-template-columns: 1.81fr 1fr 1fr 1fr 1fr 1fr 1fr 1.5fr;
  }
}
.c-timetable__header {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: span 8;
  background-color: var(--color-secondary);
}
.c-timetable__row {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: span 8;
  min-height: 48px;
}
.c-timetable__column-title {
  display: grid;
  place-items: center;
  min-height: 48px;
  padding: 8px;
  text-align: center;
  border: 1px solid var(--text-sub);
}
.c-timetable__body {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: span 8;
}
.c-timetable__row-title {
  display: grid;
  place-items: center;
  padding: 8px;
  font-weight: normal;
  line-height: 1.5;
  letter-spacing: 0.04em;
  border: 1px solid var(--text-sub);
}
@media (max-width: 599px) {
  .c-timetable__row-title {
    padding: 0 0 0 12px;
    line-height: 1.25;
    text-align: left;
  }
}
.c-timetable__data {
  display: grid;
  place-items: center;
  padding: 8px;
  font-size: 1.25rem;
  line-height: 1;
  border: 1px solid var(--text-sub);
}
@media (max-width: 599px) {
  .c-timetable__data {
    padding: 0;
    font-size: 1.125rem;
  }
}

@media (max-width: 599px) {
  .c-timetable.c-timetable--overflow-sp {
    grid-template-columns: 145px 67.5px 67.5px 67.5px 67.5px 67.5px 67.5px 67.5px;
    width: -moz-fit-content;
    width: fit-content;
    padding-right: 20px;
  }
  .c-timetable.c-timetable--overflow-sp .c-timetable__row-title {
    padding-left: 0;
  }
  .c-timetable.c-timetable--overflow-sp .c-timetable__data {
    padding: 12.5px 4px 17px;
  }
}

.c-timetable.c-timetable--color-reverse .c-timetable__header {
  color: var(--text);
}
.c-timetable.c-timetable--color-reverse .c-timetable__body {
  color: var(--text-white);
}

.c-precaution {
  display: grid;
  grid-template-columns: auto 68.3333333333%;
  justify-content: space-between;
  align-items: start;
  gap: 50px;
}
@media (max-width: 1024px) {
  .c-precaution {
    grid-template-columns: auto;
  }
}
.c-precaution__title .c-title__main {
  color: var(--color-accent);
}
.c-precaution__list {
  display: grid;
  gap: 36px;
  margin: 0;
  padding: 0;
}
.c-precaution__list + .c-precaution__list {
  border-top: 1px solid var(--text-sub);
}
.c-precaution__item {
  display: grid;
  grid-template-columns: auto auto;
  justify-content: start;
  align-items: start;
  gap: 16px;
}
.c-precaution__item:has(.c-precaution__item-title) .c-precaution__item-icon {
  margin: 6px 0 0;
}
.c-precaution__item-icon {
  display: grid;
  place-items: center;
  width: 24px;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: var(--color-accent);
  color: var(--text-white);
}
.c-precaution__item-body {
  display: grid;
  gap: 16px;
}
.c-precaution__item-text {
  margin: 0;
  line-height: 1.5;
  letter-spacing: 0.024em;
}
.c-precaution__item-alert-text {
  color: var(--color-accent);
}
.c-precaution__item-title {
  margin: 0;
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.4583333333;
  letter-spacing: 0.024em;
}
.c-precaution__separator {
  margin: 36px -60px 36px 0;
  color: var(--text-sub);
}
@media (max-width: 1024px) {
  .c-precaution__separator {
    margin-right: 0;
  }
}

.c-reserve {
  display: grid;
  grid-template-columns: repeat(2, 50%);
  align-items: center;
  padding: 28px 0 27px 0;
  background-color: var(--color-secondary);
}
@media (max-width: 1024px) {
  .c-reserve {
    grid-template-rows: auto auto;
    grid-template-columns: auto;
    gap: 40px;
    margin-top: 31px;
    padding: 56px 20px 56px 20px;
  }
}
@media (max-width: 599px) {
  .c-reserve {
    row-gap: 37.5px;
    margin-top: 28px;
    padding: 57px 20px 56px 20px;
  }
}
.c-reserve__content {
  padding: 3px 16px 0 40px;
}
@media (max-width: 1024px) {
  .c-reserve__content {
    padding: 0;
  }
}
.c-reserve__title {
  position: relative;
  margin: 0;
  padding-left: 20px;
  font-size: 1.5em;
  font-weight: bold;
  line-height: 1.4583333333;
  letter-spacing: 0.024em;
}
@media (max-width: 1024px) {
  .c-reserve__title {
    line-height: 1.36;
  }
}
.c-reserve__title::before {
  content: "";
  display: block;
  position: absolute;
  top: 0.5lh;
  left: 0;
  transform: translateY(-50%);
  width: 12px;
  aspect-ratio: 1;
  background-color: var(--color-accent);
  border-radius: 50%;
}
.c-reserve__text {
  margin: 13px 0 0 0;
  line-height: 1.8125;
  letter-spacing: 0.024em;
}
@media (max-width: 1024px) {
  .c-reserve__text {
    margin-top: 16px;
  }
}
@media (max-width: 599px) {
  .c-reserve__text {
    margin-top: 14px;
    line-height: 1.75;
  }
}
.c-reserve__buttons {
  display: grid;
  grid-template-columns: min(100%, 285px);
  justify-content: center;
  gap: 17px;
}
@media (max-width: 1024px) {
  .c-reserve__buttons {
    grid-template-columns: repeat(auto-fit, 285px);
    gap: 16px;
  }
}
.c-service__items {
  display: grid;
  grid-template-columns: repeat(auto-fit, min(100%, 220px));
  margin: 40px 0 0 0;
  padding: 0;
  row-gap: 40px;
  -moz-column-gap: 56px;
       column-gap: 56px;
  list-style: none;
}
@media (max-width: 599px) {
  .c-service__items {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 32px;
    -moz-column-gap: 35px;
         column-gap: 35px;
  }
}

.c-image-box {
  position: relative;
  border-radius: 8px;
  background-color: rgba(47, 92, 152, 0.65);
  overflow: hidden;
  color: var(--text-white);
  transition: 0.3s;
}
.c-image-box:hover {
  background-color: rgba(47, 92, 152, 0.8);
}
.c-image-box--bg-warm {
  background-color: rgba(92, 44, 23, 0.65);
}
.c-image-box--bg-warm:hover {
  background-color: rgba(92, 44, 23, 0.8);
}
.c-image-box--bg-warm .c-image-box__icon {
  color: var(--color-accent);
}
.c-image-box__link {
  display: grid;
  justify-items: center;
  align-content: end;
  gap: 24px;
  padding: 16px 16px 44px;
  aspect-ratio: 1;
  color: var(--text-white);
  transition: 0.3s;
}
@media (max-width: 599px) {
  .c-image-box__link {
    padding: 24px 8px 12px;
    align-content: space-between;
  }
}
@media (max-width: 599px) {
  .c-image-box__link:has(br) {
    padding: 8px;
  }
}
@media (max-width: 1024px) {
  .c-image-box__link:has(br) .c-image-box__title-sub {
    margin-top: 4px;
  }
}
.c-image-box__link:has(br:not([class])) {
  gap: 10px;
}
.c-image-box__link:has(br:not([class])) .c-image-box__title-main {
  line-height: 1.1666666667;
}
.c-image-box__link:has(br:not([class])) .c-image-box__title-sub {
  margin-top: 9px;
}
@media (max-width: 599px) {
  .c-image-box__link:has(.u-br__sp) {
    gap: 4px;
  }
}
@media (max-width: 599px) {
  .c-image-box__link:has(.u-br__sp) .c-image-box__title-main {
    line-height: 1.3888888889;
  }
}
@media (max-width: 599px) {
  .c-image-box__link:has(.u-br__sp) .c-image-box__title-sub {
    margin-top: 4px;
    line-height: 1.3;
  }
}
.c-image-box__img {
  position: absolute;
  inset: 0;
  margin: 0;
  z-index: -1;
}
.c-image-box__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-image-box__title {
  text-align: center;
}
.c-image-box__title-main {
  margin: 0;
  font-size: 1.5rem;
  line-height: 1.4583333333;
  letter-spacing: 0.024em;
}
@media (max-width: 1024px) {
  .c-image-box__title-main {
    font-size: 1.125rem;
    line-height: 1.4444444444;
  }
}
.c-image-box__title-sub {
  margin: 6px 0 0;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
@media (max-width: 1024px) {
  .c-image-box__title-sub {
    margin-top: 4px;
  }
}
.c-image-box__icon {
  display: grid;
  place-items: center;
  width: 28px;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: var(--text-white);
  color: var(--color-primary);
}
.c-image-box__icon svg {
  width: 20px;
  aspect-ratio: 2/1;
}

.c-breadcrumb__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 29px;
}
.c-breadcrumb__item {
  position: relative;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.4;
  color: var(--text-accent);
}
.c-breadcrumb__item::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -17px;
  width: 5.83px;
  height: 11.67px;
  clip-path: polygon(0 0, 100% 50%, 0 100%, 0 0);
  background-color: var(--color-primary);
  transform: translateY(-50%);
}
.c-breadcrumb__item:last-child::after {
  display: none;
}
.c-breadcrumb__link {
  font-size: 15px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.1em;
  color: var(--text);
  text-decoration: none;
  transition: 0.3s;
}
.c-breadcrumb__link:hover {
  color: var(--text-accent);
}

.c-medical-guide {
  display: grid;
  gap: 61px;
}
@media (max-width: 599px) {
  .c-medical-guide {
    gap: 32px;
  }
}
.c-medical-guide__row {
  display: grid;
  gap: 24px;
}
.c-medical-guide__header {
  display: grid;
  grid-template-columns: auto auto;
  justify-content: start;
  align-items: center;
  gap: 12px;
}
.c-medical-guide__icon {
  display: grid;
  place-items: center;
  width: 36px;
  aspect-ratio: 1;
  padding: 8px;
  border-radius: 50%;
  background-color: var(--color-quaternary);
}
.c-medical-guide__title {
  margin: 0;
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.4583333333;
  letter-spacing: 0.024em;
  color: var(--color-quaternary);
}
.c-medical-guide__data {
  margin: 0;
}
.c-medical-guide__text {
  margin: 0;
  line-height: 1.7375;
  letter-spacing: 0.024em;
}
.c-medical-guide__content {
  margin: 56px 0 0;
}
.c-medical-guide--gap-l {
  gap: 80px;
}

.c-grade-list {
  display: grid;
  grid-template-columns: max-content auto;
  gap: 31px;
  margin: 0;
  padding: 56px 30px 56px 32px;
  background-color: var(--color-secondary);
  list-style: none;
}
@media (max-width: 599px) {
  .c-grade-list {
    grid-template-columns: auto;
    padding: 24px;
    gap: 36px;
  }
}
.c-grade-list__item {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: span 2;
  justify-content: start;
  align-items: center;
  gap: 32px;
}
@media (max-width: 599px) {
  .c-grade-list__item {
    grid-template-columns: auto;
    grid-column: auto;
    gap: 16px;
  }
}
.c-grade-list__title {
  display: grid;
  grid-template-columns: auto auto;
  justify-content: start;
  align-items: center;
  gap: 16px;
  width: -moz-fit-content;
  width: fit-content;
  padding: 6px 16px;
  background-color: var(--color-white);
}
@media (max-width: 599px) {
  .c-grade-list__title {
    gap: 8px;
    padding: 4px 12px;
  }
}
.c-grade-list__title-text {
  margin: 0;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.024em;
}
.c-grade-list__order {
  font-size: 1.5rem;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
.c-grade-list__text {
  margin: 0;
  line-height: 1.7375;
  letter-spacing: 0.024em;
}

.c-case {
  display: grid;
  gap: 80px;
}
.c-case__content {
  display: grid;
  gap: 32px;
}
.c-case__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, min(100%, 280px));
  gap: 56px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.c-case__item-link {
  display: grid;
  gap: 8px;
  cursor: pointer;
  transition: opacity 0.3s;
}
.c-case__item-link:hover {
  opacity: 0.7;
}
.c-case__item-link img {
  max-width: 100%;
}
.c-case__item-text {
  line-height: 1.7375;
  letter-spacing: 0.024em;
  color: var(--color-primary);
}
.c-case--size-l .c-case__list {
  grid-template-columns: repeat(auto-fit, min(100%, 400px));
}
.c-case--column {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 257px), 1fr));
  justify-content: space-between;
}

.c-slider__swiper-slide {
  width: 544px;
}
.c-slider__slide-image {
  position: relative;
  margin: 0;
}
.c-slider__slide-label {
  position: absolute;
  right: 0;
  bottom: 0;
  padding: 16px 54px;
  line-height: 1.5;
  background: transparent;
  backdrop-filter: blur(12.2378997803px);
  background-color: rgba(0, 0, 0, 0.3);
  color: var(--text-white);
}
.c-slider--facility .c-slider__swiper-wrapper {
  transition-timing-function: linear;
}
.c-slider--facilityContent {
  margin: 64px auto;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 40px;
  justify-content: space-between;
}
@media (max-width: 1024px) {
  .c-slider--facilityContent {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 599px) {
  .c-slider--facilityContent {
    grid-template-columns: 1fr;
  }
}

.c-gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: auto auto;
  row-gap: 16px;
  -moz-column-gap: 14px;
       column-gap: 14px;
}
.c-gallery__main-image {
  grid-column: span 3;
  position: relative;
  width: 100%;
  max-width: 100%;
  margin: 0;
  aspect-ratio: 400/280;
  background-color: var(--color-secondary);
}
.c-gallery__main-image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  margin: 0 auto;
}
.c-gallery__main-image-label {
  position: absolute;
  right: 0;
  bottom: 0;
  padding: clamp(0.75rem, 0.135rem + 0.96vw, 1rem) clamp(1.5rem, -3.115rem + 7.21vw, 3.375rem);
  font-size: clamp(0.875rem, 0.567rem + 0.48vw, 1rem);
  line-height: 1.5;
  background: transparent;
  backdrop-filter: blur(12.2378997803px);
  background-color: rgba(0, 0, 0, 0.3);
  color: var(--text-white);
}
.c-gallery__thumb-list {
  display: grid;
  grid-template-columns: subgrid;
  align-content: start;
  grid-column: span 3;
  row-gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.c-gallery__thumb-image {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  aspect-ratio: 123/86;
  border: none;
}
.c-gallery__thumb-image img {
  display: block;
  width: auto;
  height: 100%;
  margin: 0 auto;
}
.c-gallery--vertical {
  grid-template-rows: repeat(3, 1fr);
}
.c-gallery--vertical .c-gallery__main-image {
  grid-row: span 3;
  grid-column: span 2;
  aspect-ratio: 261/360;
}
.c-gallery--vertical .c-gallery__thumb-list {
  grid-column: span 1;
}
.c-gallery--vertical .c-gallery__thumb-image img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center top;
     object-position: center top;
}

.c-results-table {
  display: grid;
  grid-template-columns: 19.04166% 22.416666% 12.958333% 15.958333% 29.625%;
}
.c-results-table__thead {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: span 5;
  background-color: var(--color-secondary);
}
.c-results-table__thead .c-results-table__row {
  min-height: 82px;
}
.c-results-table__row {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: span 5;
  min-height: 64px;
  border-top: 1px solid var(--text);
}
.c-results-table__column-title {
  display: grid;
  place-items: center;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.024em;
  text-align: center;
  border-left: 1px solid var(--text);
}
.c-results-table__column-title:last-child {
  border-right: 1px solid var(--text);
}
.c-results-table__tbody {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: span 5;
}
.c-results-table__tbody > .c-results-table__row:last-child {
  border-bottom: 1px solid var(--text);
}
.c-results-table__row-title {
  display: grid;
  place-items: center;
  font-weight: normal;
  line-height: 1.5;
  letter-spacing: 0.04em;
  border-left: 1px solid var(--text);
}
.c-results-table__data {
  display: grid;
  align-items: center;
  padding: 0 28px;
  line-height: 1.5;
  letter-spacing: 0.024em;
  border-left: 1px solid var(--text);
}
.c-results-table__data:last-child {
  border-right: 1px solid var(--text);
}

.c-profile {
  display: grid;
  grid-template-columns: auto auto;
  gap: clamp(1.5rem, -17.25rem + 25vw, 5.25rem);
}
@media (max-width: 1024px) {
  .c-profile {
    grid-template-columns: auto;
    gap: 16px;
  }
}
.c-profile__header {
  display: grid;
  align-content: start;
  gap: 16px;
}
@media (max-width: 1024px) {
  .c-profile__header {
    justify-content: center;
  }
}
.c-profile__image {
  max-width: 180px;
  margin: 0 auto;
  border-radius: 50%;
  overflow: hidden;
}
@media (max-width: 1024px) {
  .c-profile__image {
    max-width: 240px;
  }
}
.c-profile__info {
  display: grid;
  grid-template-columns: auto auto;
  align-items: center;
  gap: 20px;
}
.c-profile__name {
  margin: 0;
  font-size: clamp(1.25rem, 1.67vw, 1.5rem);
  font-weight: bold;
  line-height: 1.4583333333;
  letter-spacing: 0.024em;
  color: var(--color-primary);
}
@media (max-width: 1024px) {
  .c-profile__name {
    font-size: 1.5rem;
  }
}
.c-profile__position {
  margin: 0;
  line-height: 1.5;
  letter-spacing: 0.024em;
}
.c-profile__list {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  row-gap: 40px;
  max-height: 312px;
  margin: 0;
  padding: 0;
}
@media (max-width: 1024px) {
  .c-profile__list {
    display: grid;
    justify-content: center;
    row-gap: 0;
    max-width: 500px;
    max-height: none;
    margin: 0 auto;
  }
}
.c-profile__list-row {
  max-width: 50%;
  min-width: 0;
  padding: 0 clamp(1rem, -9rem + 13.33vw, 3rem);
}
@media (max-width: 1024px) {
  .c-profile__list-row {
    display: grid;
    justify-content: start;
    max-width: none;
    padding: 36px 0;
  }
  .c-profile__list-row:not(:last-child) {
    position: relative;
  }
  .c-profile__list-row:not(:last-child)::before {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background-image: repeating-linear-gradient(90deg, var(--text), var(--text) 2px, transparent 2px, transparent 7px), repeating-linear-gradient(180deg, var(--text), var(--text) 2px, transparent 2px, transparent 7px), repeating-linear-gradient(90deg, var(--text), var(--text) 2px, transparent 2px, transparent 7px), repeating-linear-gradient(180deg, var(--text), var(--text) 2px, transparent 2px, transparent 7px);
    background-position: left top, right top, left bottom, left top;
    background-repeat: repeat-x, repeat-y, repeat-x, repeat-y;
    background-size: 100% 2px, 2px 100%, 100% 2px, 2px 100%;
  }
}
.c-profile__list-row--has-en {
  max-width: 45.9295261239%;
}
@media (max-width: 1024px) {
  .c-profile__list-row--has-en {
    max-width: none;
  }
}
.c-profile__list-row:first-child {
  position: relative;
}
.c-profile__list-row:first-child::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 2px;
  height: 100%;
  background-image: repeating-linear-gradient(90deg, var(--text), var(--text) 2px, transparent 2px, transparent 7px), repeating-linear-gradient(180deg, var(--text), var(--text) 2px, transparent 2px, transparent 7px), repeating-linear-gradient(90deg, var(--text), var(--text) 2px, transparent 2px, transparent 7px), repeating-linear-gradient(180deg, var(--text), var(--text) 2px, transparent 2px, transparent 7px);
  background-position: left top, right top, left bottom, left top;
  background-repeat: repeat-x, repeat-y, repeat-x, repeat-y;
  background-size: 100% 2px, 2px 100%, 100% 2px, 2px 100%;
}
@media (max-width: 1024px) {
  .c-profile__list-row:first-child::before {
    width: 100%;
    height: 2px;
    top: auto;
    bottom: 0;
  }
}
@media (max-width: 1024px) {
  .c-profile__list-row:last-child {
    padding-bottom: 0;
  }
}
.c-profile__list-title {
  margin: 0;
  font-weight: 900;
  line-height: 1.5;
  letter-spacing: 0.024em;
}
.c-profile__list-data {
  margin: 12px 0 0;
  line-height: 1.725;
  letter-spacing: 0.024em;
  overflow-wrap: break-word;
}
.c-profile__list-data--history {
  display: grid;
  grid-template-columns: auto auto;
  -moz-column-gap: 1em;
       column-gap: 1em;
}
@media (max-width: 1024px) {
  .c-profile__list-data--history {
    justify-content: center;
  }
}
.c-profile__list-data-year {
  margin: 0;
}
.c-profile__list-data-text {
  margin: 0;
  overflow-wrap: break-word;
}

.c-media-box {
  border-radius: 8px;
  overflow: hidden;
}
.c-media-box__link {
  display: grid;
  grid-template-columns: 39.2857142857% auto;
  color: var(--text-white);
}
@media (max-width: 599px) {
  .c-media-box__link {
    grid-template-columns: auto;
  }
}
.c-media-box__link:hover .c-media-box__header {
  background-color: rgba(47, 92, 152, 0.8);
}
.c-media-box__header {
  position: relative;
  display: grid;
  place-items: center;
  aspect-ratio: 11/12;
  padding: 24px 12px;
  background-color: rgba(47, 92, 152, 0.65);
  transition: background-color 0.3s;
}
@media (max-width: 1024px) {
  .c-media-box__header {
    padding: 36px 12px;
  }
}
@media (max-width: 599px) {
  .c-media-box__header {
    aspect-ratio: 5/3;
    padding: 56px 12px;
  }
}
.c-media-box.c-media-box--theme-brown .c-media-box__header {
  background-color: rgba(92, 44, 23, 0.65);
}
.c-media-box.c-media-box--theme-brown .c-media-box__body {
  background-color: #a6947f;
}
.c-media-box.c-media-box--theme-brown .c-media-box__icon-image {
  color: #c65927;
}
.c-media-box__bg-image {
  position: absolute;
  inset: 0;
  z-index: -1;
}
.c-media-box__bg-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-media-box__title .c-title__main {
  font-size: 1.5rem;
  line-height: 1.4583333333;
}
@media (max-width: 1024px) {
  .c-media-box__title .c-title__main {
    font-size: clamp(1.25rem, 1.106rem + 0.62vw, 1.5rem);
  }
}
.c-media-box__title .c-title__sub {
  color: var(--text-white);
}
.c-media-box__body {
  display: grid;
  align-items: center;
  position: relative;
  padding: 40px;
  background-color: var(--text);
}
@media (max-width: 1024px) {
  .c-media-box__body {
    padding: 24px 18px 48px 18px;
  }
}
.c-media-box__text {
  margin: 0;
  line-height: 1.6875;
  letter-spacing: 0.024em;
}
.c-media-box__icon {
  position: absolute;
  right: 24px;
  bottom: 24px;
  display: grid;
  place-items: center;
  width: 28px;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: var(--color-white);
}
@media (max-width: 599px) {
  .c-media-box__icon {
    right: 16px;
    bottom: 16px;
  }
}
.c-media-box__icon-image {
  width: 17px;
  height: 10px;
  color: var(--color-primary);
}

.c-info-box {
  max-width: 980px;
  margin: 0 auto;
  padding: 40px;
  background-color: var(--color-tertiary);
  color: var(--text-white);
}
@media (max-width: 1024px) {
  .c-info-box {
    padding: clamp(1.5rem, 0.922rem + 2.47vw, 2.5rem);
  }
}
.c-info-box__text {
  margin: 0;
  line-height: 1.64;
  letter-spacing: 0.024em;
  text-align: center;
}
@media (max-width: 599px) {
  .c-info-box__text {
    text-align: left;
  }
}

.c-toc {
  padding: 32px 30px;
  background-color: var(--color-secondary);
}
.c-toc__list {
  display: grid;
  gap: 13px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.c-toc__link {
  display: grid;
  grid-template-columns: auto auto;
  justify-content: start;
  align-items: center;
  gap: 6px;
  cursor: pointer;
}
.c-toc__link.is-current .c-toc__icon {
  display: grid;
}
.c-toc__link.is-current .c-toc__text {
  color: var(--text);
}
.c-toc__icon {
  display: none;
  place-items: center;
  width: 24px;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: var(--color-white);
}
.c-toc__icon img {
  width: 14px;
  height: auto;
}
.c-toc__text {
  line-height: 1.5;
  letter-spacing: 0.024em;
  color: var(--text-sub);
}

.c-large-profile {
  display: grid;
  padding: 0 58px;
}
@media (max-width: 1024px) {
  .c-large-profile {
    gap: 32px;
    padding: 0;
  }
}
.c-large-profile__content {
  display: grid;
  grid-template-columns: 35.4243542435% auto;
  gap: 5.9040590406%;
}
@media (max-width: 1024px) {
  .c-large-profile__content {
    grid-template-columns: auto;
  }
}
.c-large-profile__image {
  margin: 0;
}
@media (max-width: 1024px) {
  .c-large-profile__image {
    justify-self: center;
    max-width: 384px;
  }
}
.c-large-profile__position {
  margin: 0;
  line-height: 1.5;
  letter-spacing: 0.024em;
  color: var(--color-primary);
}
.c-large-profile__name {
  display: grid;
  grid-template-columns: auto auto;
  justify-content: start;
  align-items: center;
  gap: 13px;
}
@media (max-width: 599px) {
  .c-large-profile__name {
    grid-template-columns: auto;
    gap: 0;
  }
}
.c-large-profile__name-text {
  margin: 0;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.4375;
  letter-spacing: 0.1em;
}
.c-large-profile__roman {
  margin: 0;
  line-height: 1.5;
  letter-spacing: 0.04em;
  color: var(--text-sub);
}
.c-large-profile__text {
  margin: 24px 0 0;
  line-height: 1.5;
  letter-spacing: 0.024em;
}
.c-large-profile__personality {
  margin: 0;
}
.c-large-profile__personality-title {
  margin-top: 24px;
  font-weight: 900;
  line-height: 1.5;
  letter-spacing: 0.024em;
}
.c-large-profile__personality-data {
  margin: 6px 0 0;
  line-height: 1.5;
  letter-spacing: 0.024em;
}
.c-large-profile__career {
  display: grid;
  grid-template-columns: 53.3210332103% 41.5129151292%;
  justify-content: space-between;
  gap: 56px;
  margin: 40px 0 0;
}
@media (max-width: 1024px) {
  .c-large-profile__career {
    justify-content: stretch;
    grid-template-columns: auto;
    gap: 48px;
    margin: 48px 0 0;
  }
}
.c-large-profile__career-list {
  margin: 0;
  line-height: 1.725;
  letter-spacing: 0.024em;
}
.c-large-profile__career-title {
  display: grid;
  grid-template-columns: auto 1fr;
  justify-content: start;
  align-items: center;
  gap: 16px;
  font-weight: 900;
  text-align: left;
}
.c-large-profile__career-title::after {
  content: "";
  display: block;
  width: 100%;
  max-width: 385px;
  height: 1px;
  background-color: var(--color-primary);
}
@media (max-width: 1024px) {
  .c-large-profile__career-title::after {
    max-width: none;
  }
}
.c-large-profile__career-data {
  margin: 8px 0 0;
}
.c-large-profile__career-sub-list {
  display: grid;
  grid-template-columns: max-content auto;
}
.c-large-profile__career-sub-row {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: span 2;
  gap: 1em;
}
.c-large-profile__career-sub-title {
  margin: 0;
}
.c-large-profile__career-sub-data {
  margin: 0;
}

.c-back-to-top {
  position: fixed;
  left: 20px;
  bottom: 20px;
  z-index: 100;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
}
@media (max-width: 599px) {
  .c-back-to-top {
    bottom: 71px;
  }
}
.c-back-to-top.is-visible {
  opacity: 1;
  visibility: visible;
}
.c-back-to-top__button {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  background-color: var(--color-primary);
  color: var(--text-white);
  border-radius: 50%;
  cursor: pointer;
  border: none;
  box-shadow: 0 2px 8px rgba(60, 60, 60, 0.3);
  transition: 0.3s;
}
.c-back-to-top__button:hover {
  filter: brightness(85%);
}
.c-back-to-top__icon {
  width: 16px;
  aspect-ratio: 1;
}

.c-tel-box {
  padding: 56px 78px 56px 80px;
  background-color: var(--text);
  color: var(--text-white);
}
@media (max-width: 1024px) {
  .c-tel-box {
    padding: clamp(2.25rem, 0.481rem + 4.72vw, 3.5rem) clamp(1.5rem, 0.085rem + 3.77vw, 2.5rem);
  }
}
.c-tel-box__title {
  margin: 0;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.4375;
  letter-spacing: 0.04em;
}
@media (max-width: 1024px) {
  .c-tel-box__title {
    font-size: clamp(1.5rem, 0.792rem + 1.89vw, 2rem);
  }
}
.c-tel-box__text {
  margin: 10px 0 0;
  line-height: 1.5;
  letter-spacing: 0.024em;
}
@media (max-width: 1024px) {
  .c-tel-box__text {
    margin: 24px 0 0;
  }
}
.c-tel-box__tel {
  margin: 24px 0 0;
}
.c-tel-box__tel-link {
  display: inline-grid;
  grid-template-columns: repeat(2, auto);
  justify-content: start;
  align-items: baseline;
  gap: 12px;
  color: var(--text-white);
}
.c-tel-box__tel-text {
  font-size: 1.5rem;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
.c-tel-box__tel-num {
  font-size: 3rem;
  line-height: 1.4791666667;
  letter-spacing: 0.05em;
}
@media (max-width: 1024px) {
  .c-tel-box__tel-num {
    font-size: clamp(1.5rem, -0.623rem + 5.66vw, 3rem);
  }
}
.c-tel-box--bg-image {
  padding: 40px 80px;
  background: linear-gradient(rgba(20, 42, 70, 0.65), rgba(20, 42, 70, 0.65)), url(../images/reserve-img.jpg) no-repeat center center/cover;
}
@media (max-width: 1024px) {
  .c-tel-box--bg-image {
    padding: clamp(2.25rem, 0.481rem + 4.72vw, 3.5rem) clamp(1.5rem, 0.085rem + 3.77vw, 2.5rem);
  }
}

.c-option-table {
  width: 100%;
  background-color: var(--text);
  color: var(--text-white);
  text-align: center;
}
.c-option-table__thead {
  background-color: var(--text);
  color: var(--text-white);
}
.c-option-table__row {
  overflow: hidden;
}
.c-option-table__row:not(:first-child) .c-option-table__data {
  padding-top: 19px;
  border-top: 1px solid var(--text);
}
.c-option-table__column-title {
  padding: 28px 16px 28px 46px;
  font-size: 1.125rem;
  line-height: 1.4444444444;
  letter-spacing: 0.024em;
}
@media (max-width: 1024px) {
  .c-option-table__column-title {
    padding: 28px 16px;
  }
}
@media (max-width: 599px) {
  .c-option-table__column-title {
    padding: 20px 16px;
  }
}
.c-option-table__tbody {
  background-color: var(--text-white);
  color: var(--text);
}
.c-option-table__tbody:nth-of-type(even) {
  background-color: var(--text);
  color: var(--text-white);
}
.c-option-table__tbody:nth-of-type(even) .c-option-table__row:not(:first-child) .c-option-table__data {
  border-top: 1px solid var(--text-white);
}
.c-option-table__tbody:nth-of-type(even) .c-option-table__data:first-of-type {
  box-shadow: 1px 0 0 0 var(--text);
}
.c-option-table__row-title {
  width: 50%;
  padding: 20px 16px 20px 16px;
  font-weight: normal;
  line-height: 1.5;
  letter-spacing: 0.024em;
}
@media (max-width: 1024px) {
  .c-option-table__row-title {
    padding: 20px 16px;
  }
}
.c-option-table__data {
  width: 50%;
  padding: 20px 16px 20px 16px;
  line-height: 1.5;
  letter-spacing: 0.024em;
}
@media (max-width: 1024px) {
  .c-option-table__data {
    padding: 20px 16px;
  }
}
@media (max-width: 599px) {
  .c-option-table--3column .c-option-table__row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
}
.c-option-table--3column .c-option-table__tbody:nth-of-type(even) .c-option-table__row-title {
  border-color: var(--text-white);
}
.c-option-table--3column .c-option-table__row-title {
  width: 30%;
  padding: 20px 16px 20px 76px;
}
@media (max-width: 1024px) {
  .c-option-table--3column .c-option-table__row-title {
    padding: 20px 16px 20px;
  }
}
@media (max-width: 599px) {
  .c-option-table--3column .c-option-table__row-title {
    display: block;
    width: 100%;
    border-bottom: 1px solid var(--text);
  }
}
.c-option-table--3column .c-option-table__data {
  width: 35%;
  padding: 20px 16px 20px 46px;
}
@media (max-width: 1024px) {
  .c-option-table--3column .c-option-table__data {
    padding: 20px 16px;
  }
}
@media (max-width: 599px) {
  .c-option-table--3column .c-option-table__data {
    width: 50%;
  }
}
.c-option-table--3column .c-option-table__data:first-of-type {
  padding: 20px 16px 20px 106px;
  box-shadow: 1px 0 0 0 var(--text-white);
}
@media (max-width: 1024px) {
  .c-option-table--3column .c-option-table__data:first-of-type {
    padding: 19px 16px 20px 16px;
  }
}

.c-option-accordion {
  background-color: var(--color-secondary);
}
.c-option-accordion__summary {
  position: relative;
  display: block;
  list-style: none;
}
.c-option-accordion__summary::-webkit-details-marker {
  display: none;
}
.c-option-accordion__summary {
  padding: 28px 60px;
  background-color: var(--color-tertiary);
  color: var(--text-white);
  cursor: pointer;
}
.c-option-accordion__summary::before, .c-option-accordion__summary::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 56px;
  width: 20px;
  height: 2px;
  background-color: var(--text-white);
}
@media (max-width: 1024px) {
  .c-option-accordion__summary::before, .c-option-accordion__summary::after {
    right: clamp(1rem, -1.123rem + 5.66vw, 2.5rem);
  }
}
.c-option-accordion__summary::after {
  transform: rotate(90deg);
  transition: transform 0.3s;
}
.c-option-accordion__summary-title {
  margin: 0;
  font-size: 1.125rem;
  font-weight: bold;
  line-height: 1.4444444444;
  letter-spacing: 0.024em;
}
.c-option-accordion__content {
  display: grid;
  gap: 80px;
  padding: 80px clamp(1.25rem, -2.288rem + 9.43vw, 3.75rem);
}
@media (max-width: 599px) {
  .c-option-accordion__content {
    padding: 40px 20px;
  }
}
.c-option-accordion__section--2column {
  display: grid;
  grid-template-columns: 31.9166666667% auto;
  align-items: start;
  gap: 6.6666666667%;
}
@media (max-width: 1024px) {
  .c-option-accordion__section--2column {
    grid-template-columns: auto;
  }
}
@media (max-width: 599px) {
  .c-option-accordion__section--2column {
    gap: 64px;
  }
}
.c-option-accordion__section--1item .c-option-accordion__target {
  margin: 24px 0 0;
}
.c-option-accordion__section--1item .c-option-accordion__body {
  padding-top: 18px;
}
.c-option-accordion__header {
  display: grid;
  justify-content: center;
  justify-items: center;
}
.c-option-accordion__image {
  max-width: 383px;
  margin: 0 auto;
  border-radius: 8px;
  overflow: hidden;
}
.c-option-accordion__target {
  margin: 38px 0 0;
}
.c-option-accordion__target .c-title {
  justify-content: center;
}
.c-option-accordion__target-text {
  margin: 12px 0 0;
  padding: 18px 30px 14px 30px;
  line-height: 1.7375;
  border-radius: 44px;
  text-align: center;
  background-color: var(--text);
  color: var(--text-white);
}
.c-option-accordion__body {
  display: grid;
  gap: 80px;
}
@media (max-width: 1024px) {
  .c-option-accordion__body {
    gap: clamp(2.5rem, -1.038rem + 9.43vw, 5rem);
  }
}
.c-option-accordion__body-text {
  margin: 29px 0 0;
  line-height: 1.7375;
  letter-spacing: 0.024em;
}
.c-option-accordion__note {
  margin: 0;
  line-height: 1.5;
  letter-spacing: 0.024em;
}
.c-option-accordion__note-asterisk {
  color: #c56927;
}
.c-option-accordion__link-text {
  font-weight: bold;
  text-decoration: underline;
  text-underline-offset: 4px;
  color: var(--color-quaternary);
}
.c-option-accordion__table {
  margin: 50px 0 0;
}
.c-option-accordion[open] .c-option-accordion__summary::after {
  transform: rotate(0);
}

.c-price-table {
  display: grid;
  grid-template-columns: 35% 32.5% 32.5%;
  line-height: 1.5;
  letter-spacing: 0.024em;
}
.c-price-table__thead {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: span 3;
}
.c-price-table__thead .c-price-table__row {
  min-height: 82px;
  background-color: var(--color-tertiary);
}
.c-price-table__row {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: span 3;
  min-height: 64px;
}
.c-price-table__column-title {
  display: grid;
  place-items: center;
  padding: 28px 8px;
  font-size: 1.125rem;
  line-height: 1.4444444444;
  color: var(--text-white);
  border-right: 1px solid var(--color-white);
  border-left: 1px solid var(--color-white);
}
@media (max-width: 599px) {
  .c-price-table__column-title {
    padding: 20px 8px;
    font-size: 1rem;
  }
}
.c-price-table__column-title:first-child {
  border-left: none;
}
.c-price-table__column-title:last-child {
  border-right: none;
}
.c-price-table__tbody {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: span 3;
}
.c-price-table__tbody .c-price-table__row:nth-child(2n) {
  background-color: var(--color-secondary);
}
.c-price-table__row-title {
  display: grid;
  align-items: center;
  text-align: center;
  padding: 20px 8px;
  font-weight: normal;
}
.c-price-table__data {
  display: grid;
  align-items: center;
  padding: 20px 8px;
  text-align: center;
  border-right: 1px solid var(--color-white);
  border-left: 1px solid var(--color-white);
}
.c-price-table__data:first-child {
  border-left: none;
}
.c-price-table__data:last-child {
  border-right: none;
}
.c-price-table__data--colspan-2 {
  grid-column: span 2;
}
.c-price-table__tfoot {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: span 3;
}
.c-price-table__tfoot .c-price-table__row {
  background-color: var(--text);
  color: var(--text-white);
}
.c-price-table__tfoot .c-price-table__data {
  padding: 20px 56px;
  text-align: left;
  border: none;
}
@media (max-width: 599px) {
  .c-price-table__tfoot .c-price-table__data {
    padding: 20px 20px;
  }
}
.c-price-table__data {
  display: grid;
  text-align: center;
}
.c-price-table--pet-hotel {
  grid-template-columns: repeat(2, 50%);
}
.c-price-table--pet-hotel .c-price-table__thead {
  grid-column: span 2;
}
.c-price-table--pet-hotel .c-price-table__tbody {
  grid-column: span 2;
}
.c-price-table--pet-hotel .c-price-table__row {
  grid-template-columns: repeat(2, 50%);
  grid-column: span 2;
}
.c-price-table--pet-hotel .c-price-table__tfoot {
  grid-column: span 2;
  margin: 32px 0 0;
}
.c-price-table--pet-hotel .c-price-table__tfoot .c-price-table__data {
  text-align: center;
}

@keyframes charFadeIn {
  from {
    opacity: 0;
    transform: translateY(24px);
    filter: blur(4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}
.p-main-visual {
  position: relative;
  padding: 0 40px 32px 40px;
  height: 900px;
  z-index: 1;
}
@media (max-width: 1024px) {
  .p-main-visual {
    height: clamp(667px, 100dvh, 900px);
    padding: 0 0 32px;
  }
}
@media (max-width: 599px) {
  .p-main-visual {
    height: min(100dvh - 59px, 932px);
    padding: 0 0 32px 0;
  }
}
.p-main-visual__content {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: end;
  align-items: start;
  height: 100%;
  z-index: 1;
}
.p-main-visual__heading {
  margin: 0;
  padding-left: 40px;
  font-size: clamp(1.625rem, 1.097rem + 2.25vw, 3.125rem);
  font-weight: 900;
  line-height: 1.44;
  letter-spacing: 0.052em;
  color: var(--text-white);
  text-shadow: 0 3px 6px #000000;
}
@media (max-width: 1024px) {
  .p-main-visual__heading {
    padding-left: 24px;
  }
}
@media (max-width: 599px) {
  .p-main-visual__heading {
    font-size: 23px;
    padding: 8px;
  }
}
.p-main-visual__heading .char {
  display: inline-block;
  opacity: 0;
}
.p-main-visual__news {
  position: absolute;
  bottom: 32px;
  left: 40px;
  z-index: 2;
}
@media (max-width: 1024px) {
  .p-main-visual__news {
    left: 0;
    width: 90%;
  }
}
.p-main-visual__news-link {
  display: grid;
  grid-template-columns: auto auto;
  justify-content: start;
  gap: 32px;
  min-width: 660px;
  padding: 16px 60px 16px 60px;
  background-color: rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(12px);
  color: var(--text-white);
  backdrop-filter: blur(12px);
  transition: 0.3s;
}
@media (max-width: 1024px) {
  .p-main-visual__news-link {
    grid-template-columns: auto;
    grid-template-rows: auto auto;
    gap: 0;
    min-width: auto;
    padding: 16px 29px 16px 40px;
  }
}
.p-main-visual__news-link:hover {
  background-color: rgba(0, 0, 0, 0.6);
}
.p-main-visual__time {
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.p-main-visual__news-title {
  font-weight: 500;
  line-height: 1.5;
}
.p-main-visual__list {
  position: absolute;
  inset: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
.p-main-visual__item {
  position: absolute;
  inset: 0;
  overflow: hidden;
  transition: 1s linear;
}
.p-main-visual__item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transform: scale(1.1);
  transition: 6s;
}
.p-main-visual__item.active img {
  transform: scale(1);
}
.p-main-visual__slide-content {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  padding: 0 40px 112px;
  z-index: 1;
}
@media (max-width: 1024px) {
  .p-main-visual__slide-content {
    padding: 0 0 144px;
  }
}
.p-main-visual__slide-content--center {
  justify-content: center;
  align-items: center;
}
.p-main-visual__slide-content--center .p-main-visual__heading {
  padding-left: 0;
  text-align: center;
}

.p-top-schedule {
  padding: 121px 0 60px 0;
}
@media (max-width: 1024px) {
  .p-top-schedule {
    padding: 80px 0 60px;
  }
}
@media (max-width: 599px) {
  .p-top-schedule {
    margin-top: 59px;
  }
}
.p-top-schedule__content {
  margin-top: 64px;
  display: grid;
  grid-template-columns: 63.4166666667% auto;
  gap: 3.3333333333%;
}
@media (max-width: 1024px) {
  .p-top-schedule__content {
    grid-template-columns: auto;
    grid-template-rows: auto auto;
    gap: 24px;
  }
}
@media (max-width: 599px) {
  .p-top-schedule__content {
    gap: 21px;
    margin-top: 38px;
  }
}
@media (max-width: 599px) {
  .p-top-schedule__table-container {
    display: grid;
    gap: 6px;
  }
}
.p-top-schedule__guide-text {
  display: none;
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.4285714286;
  text-align: right;
  color: var(--text-sub);
}
@media (max-width: 599px) {
  .p-top-schedule__guide-text {
    display: block;
  }
}
@media (max-width: 599px) {
  .p-top-schedule__table-wrapper {
    width: 100%;
  }
}
.p-top-schedule__timetable {
  display: grid;
  grid-template-columns: clamp(8.5rem, -1.5rem + 15.63vw, 12.563rem) 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  width: 100%;
  border-collapse: collapse;
  line-height: 1.5;
  text-align: center;
}
@media (max-width: 1024px) {
  .p-top-schedule__timetable {
    grid-template-columns: 26.41261% 10.51248% 10.51248% 10.51248% 10.51248% 10.51248% 10.51248% 10.51248%;
    width: 100%;
  }
}
@media (max-width: 599px) {
  .p-top-schedule__timetable {
    grid-template-columns: 1.81fr 1fr 1fr 1fr 1fr 1fr 1fr 1.5fr;
    width: -moz-fit-content;
    width: fit-content;
    padding-right: 0;
  }
}
.p-top-schedule__table-header {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: span 8;
  background-color: var(--color-secondary);
}
.p-top-schedule__table-header .p-top-schedule__table-title {
  padding: 10px 0 13px 0;
}
@media (max-width: 1024px) {
  .p-top-schedule__table-header .p-top-schedule__table-title {
    padding: 11px;
    white-space: nowrap;
  }
}
.p-top-schedule__table-row {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: span 8;
}
.p-top-schedule__table-data {
  display: grid;
  justify-content: center;
  padding: 11.5px 0 14.5px;
  border: 1px solid var(--text-sub);
}
@media (max-width: 1024px) {
  .p-top-schedule__table-data {
    padding: 14px 0;
  }
}
.p-top-schedule__table-body {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: span 8;
}
.p-top-schedule__table-body .p-top-schedule__table-title {
  padding: 10px 16px 10px;
  letter-spacing: 0.04em;
}
@media (max-width: 1024px) {
  .p-top-schedule__table-body .p-top-schedule__table-title {
    padding: 10.5px 16px 11.5px;
  }
}
.p-top-schedule__table-body .p-top-schedule__table-data::before {
  content: "";
  display: block;
  width: 20px;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: var(--text);
}
@media (max-width: 1024px) {
  .p-top-schedule__table-body .p-top-schedule__table-data::before {
    width: 18px;
  }
}
.p-top-schedule__table-title {
  font-weight: normal;
  line-height: 1.5;
  border: 1px solid var(--text-sub);
}
.p-top-schedule__note {
  margin: 17px 0 0 0;
}
@media (max-width: 1024px) {
  .p-top-schedule__note {
    padding-right: 20px;
  }
}
@media (max-width: 599px) {
  .p-top-schedule__note {
    margin-top: 18px;
  }
}
.p-top-schedule__note-text {
  position: relative;
  display: inline-block;
  padding-left: 1em;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.024em;
}
.p-top-schedule__note-text::before {
  content: "※";
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
}
.p-top-schedule__reserve {
  margin-top: 79px;
}
@media (max-width: 1024px) {
  .p-top-schedule__reserve {
    margin-top: 31px;
  }
}
@media (max-width: 599px) {
  .p-top-schedule__reserve {
    margin-top: 28px;
  }
}

.p-top-message {
  padding: 120px 0 180px 0;
}
.p-top-message__content {
  display: grid;
  grid-template-columns: 50% 45.3333333333%;
  gap: 4.6666666667%;
  margin-top: 64px;
}
@media (max-width: 1024px) {
  .p-top-message__content {
    grid-template-columns: auto;
    justify-content: center;
    margin: 64px auto 0 auto;
    padding: 0 40px 0 40px;
  }
}
@media (max-width: 599px) {
  .p-top-message__content {
    gap: 22px;
    padding: 0;
  }
}
.p-top-message__img {
  order: 2;
  margin: 0;
  border-radius: 8px;
  overflow: hidden;
}
@media (max-width: 1024px) {
  .p-top-message__img {
    order: 0;
  }
}
.p-top-message__text {
  margin: 0;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.024em;
}
.p-top-message__sign {
  margin: 29px 9px 0 0;
  letter-spacing: 0.024em;
  text-align: right;
}
@media (max-width: 1024px) {
  .p-top-message__sign {
    margin: 30px 0 0 0;
    text-align: left;
  }
}
.p-top-message__name {
  font-size: 1.375rem;
  line-height: 1.4545454545;
}

.p-top-about {
  padding: 80px 0 100px;
  background-color: var(--color-secondary);
}
@media (max-width: 599px) {
  .p-top-about {
    padding: 59px 0 56px;
  }
}
@media (max-width: 1024px) {
  .p-top-about__title {
    gap: 8px;
  }
}
@media (max-width: 1024px) {
  .p-top-about__title .c-title__main {
    line-height: 1.25;
  }
}
.p-top-about__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 80px;
  max-width: 880px;
  margin: 64px auto 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 599px) {
  .p-top-about__list {
    gap: 40px;
    margin: 65px auto 0;
  }
}
.p-top-about__item {
  width: min(100%, 240px);
  flex-shrink: 0;
  display: grid;
  justify-content: center;
  justify-items: center;
  align-content: start;
  gap: 22.9px;
  padding: 39px 24px 0;
  background-color: var(--color-white);
  aspect-ratio: 1;
}
.p-top-about__item:nth-child(3) {
  gap: 29px;
  padding-top: 35px;
}
.p-top-about__item:nth-child(3) .p-top-about__item-title {
  line-height: 1.75;
}
.p-top-about__item:nth-child(3) .p-top-about__item-img {
  max-width: 144px;
  height: auto;
}
.p-top-about__item-title {
  margin: 0;
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0.024em;
  text-align: center;
}
.p-top-about__item-img {
  max-width: 113px;
  margin: 0;
}
.p-top-cta {
  padding: 80px 0;
  background: no-repeat center center/cover;
  background-image: linear-gradient(rgba(20, 42, 70, 0.8), rgba(20, 42, 70, 0.8)), url(../images/cta-img1.jpg);
  color: var(--text-white);
}
@media (max-width: 599px) {
  .p-top-cta {
    padding: 56px 0;
    background-image: linear-gradient(rgba(20, 42, 70, 0.8), rgba(20, 42, 70, 0.8)), url(../images/cta-img1-sp.jpg);
  }
}
.p-top-cta__title .c-title__sub {
  color: var(--text-white);
}
.p-top-cta__text {
  margin: 62px 0 0;
  line-height: 1.75;
  letter-spacing: 0.024em;
  text-align: center;
}
@media (max-width: 599px) {
  .p-top-cta__text {
    margin: 38px 0 0;
    text-align: left;
  }
}
.p-top-cta__button {
  margin: 54px 0 0;
  text-align: center;
}
@media (max-width: 599px) {
  .p-top-cta__button {
    margin: 38px 0 0;
  }
}
.p-top-cta__button .c-button__link {
  padding-right: 30px;
}
@media (max-width: 1024px) {
  .p-top-cta__button .c-button__link {
    width: min(100%, 295px);
  }
}

.p-top-ad {
  padding: 180px 0 90px;
}
@media (max-width: 1024px) {
  .p-top-ad {
    padding: 64px 0 40px;
  }
}
.p-top-ad__banner {
  display: block;
  max-width: 800px;
  margin: 0 auto;
}
.p-top-service {
  padding: 90px 0 180px;
}
@media (max-width: 599px) {
  .p-top-service {
    padding: 40px 0 180px;
  }
}
.p-top-service__items {
  display: grid;
  row-gap: 80px;
}
.p-top-service__title {
  display: grid;
  gap: 6px;
  padding: 0 0 0 10px;
  border-left: 3px solid var(--color-accent);
}
.p-top-service__title-main {
  margin: 0;
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.4583333333;
  letter-spacing: 0.024em;
}
.p-top-service__title-sub {
  margin: 0;
  padding: 0 0 0 2px;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
.p-top-service__item-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, min(100%, 220px));
  margin-top: 40px;
  row-gap: 40px;
  -moz-column-gap: 56px;
       column-gap: 56px;
}
@media (max-width: 599px) {
  .p-top-service__item-list {
    grid-template-columns: repeat(auto-fit, min(100%, 150px));
    row-gap: 32px;
    -moz-column-gap: 35px;
         column-gap: 35px;
  }
}

.p-top-instagram {
  padding: 80px 0 88px;
  background-color: var(--color-secondary);
}
@media (max-width: 599px) {
  .p-top-instagram {
    padding: 56px 0 48px;
  }
}
.p-top-instagram__title {
  margin: 0;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.46875;
  letter-spacing: 0.04em;
  text-align: center;
}
.p-top-instagram__images {
  margin-top: 60px;
}
.p-top-instagram__images-list {
  display: grid;
  grid-template-columns: repeat(4, 200px);
  -moz-column-gap: 40px;
       column-gap: 40px;
  width: -moz-fit-content;
  width: fit-content;
  margin: 64px auto 0;
  padding: 0;
  list-style: none;
}
.p-top-instagram__button {
  margin-top: 48px;
  text-align: center;
}
@media (max-width: 599px) {
  .p-top-instagram__button {
    margin-top: 38px;
  }
}

.p-medical-info__philosophy {
  padding: 120px 0 60px 0;
}
@media (max-width: 599px) {
  .p-medical-info__philosophy {
    padding: 83px 0 100px;
  }
}
.p-medical-info__philosophy-text {
  margin: 64px 0 0 0;
  line-height: 1.73;
  letter-spacing: 0.024em;
}
@media (max-width: 599px) {
  .p-medical-info__philosophy-text {
    margin: 56px 0 0 0;
    line-height: 1.75;
  }
}
.p-medical-info__overview {
  padding: 118px 0 180px 0;
}
@media (max-width: 599px) {
  .p-medical-info__overview {
    padding: 81px 0 120px;
  }
}
.p-medical-info__overview-inner {
  max-width: 1440px;
}
.p-medical-info__overview-content {
  display: grid;
  grid-template-columns: 45.7575757576% 51.2121212121%;
  gap: 3.0303030303%;
  margin-top: 63px;
}
@media (max-width: 1024px) {
  .p-medical-info__overview-content {
    grid-template-columns: auto;
    gap: 77px;
    margin-top: 65px;
  }
}
.p-medical-info__overview-image {
  margin: 0;
  padding: 0 0 0 clamp(0rem, -9.231rem + 14.42vw, 3.75rem);
  border-radius: 8px;
  overflow: hidden;
}
@media (max-width: 599px) {
  .p-medical-info__overview-image {
    padding: 0;
  }
}
.p-medical-info__overview-list {
  margin: 0;
  display: grid;
  grid-template-columns: auto 1fr;
  -moz-column-gap: 11.8343195266%;
       column-gap: 11.8343195266%;
}
@media (max-width: 1024px) {
  .p-medical-info__overview-list {
    grid-template-columns: auto;
    margin: 0 -20px 0 -20px;
  }
}
.p-medical-info__overview-list-row {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: span 2;
  padding: 15px 16px 15.5px 30px;
  border-top: 1px solid #d5d5d5;
}
@media (max-width: 1024px) {
  .p-medical-info__overview-list-row {
    grid-template-columns: auto;
    grid-column: auto;
    gap: 15.2px;
    padding: 16px 16px 16px 21px;
  }
}
.p-medical-info__overview-list-row:last-child {
  padding-bottom: 15px;
  border-bottom: 1px solid #d5d5d5;
}
.p-medical-info__overview-list-title {
  line-height: 1.5;
  letter-spacing: 0.024em;
}
@media (max-width: 1024px) {
  .p-medical-info__overview-list-title {
    font-weight: bold;
  }
}
.p-medical-info__overview-list-item {
  margin: 0;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.024em;
}
@media (max-width: 1024px) {
  .p-medical-info__overview-list-item {
    padding-left: 18px;
  }
}
.p-medical-info__overview-list-item:has(.u-br__sp) {
  line-height: 1.625;
}
.p-medical-info__overview-list-item:has(.p-medical-info__overview-list-image) {
  display: flex;
  flex-wrap: wrap;
  row-gap: 12px;
  -moz-column-gap: 16px;
       column-gap: 16px;
}
.p-medical-info__overview-list-image {
  display: inline-block;
}
@media (max-width: 1024px) {
  .p-medical-info__overview-list-image {
    display: block;
  }
}
.p-medical-info__overview-list-image img {
  width: 100%;
}
.p-medical-info__overview-list-image--payment {
  width: 231.36px;
  aspect-ratio: 231.36/105;
}
.p-medical-info__overview-list-image--ipet {
  width: 203px;
  aspect-ratio: 406/52;
}
.p-medical-info__overview-list-image--anicom {
  width: 204px;
  aspect-ratio: 408/52;
}
.p-medical-info__reserve {
  margin: 120px 60px 0;
}
@media (max-width: 1024px) {
  .p-medical-info__reserve {
    margin: 120px 0 0;
  }
}
.p-medical-info__cta {
  display: grid;
  grid-template-columns: repeat(2, 50%);
}
@media (max-width: 1024px) {
  .p-medical-info__cta {
    grid-template-columns: auto;
  }
}
.p-medical-info__cta-content {
  display: grid;
  justify-content: center;
  align-content: space-between;
  row-gap: 39px;
  min-height: 508px;
  padding: 82px clamp(1.5rem, -5.577rem + 11.06vw, 4.375rem) 80px;
  background: linear-gradient(rgba(20, 42, 70, 0.8), rgba(20, 42, 70, 0.8)), url(../images/cta-img2.jpg) no-repeat center center/cover;
  color: var(--text-white);
}
@media (max-width: 599px) {
  .p-medical-info__cta-content {
    align-content: start;
    gap: 38px;
    min-height: auto;
    padding: 56px 20px;
  }
}
.p-medical-info__cta-text {
  margin: 8px 0 0;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.024em;
  text-align: center;
}
@media (max-width: 1024px) {
  .p-medical-info__cta-text {
    max-width: 580px;
  }
}
@media (max-width: 599px) {
  .p-medical-info__cta-text {
    margin: 0;
    text-align: left;
  }
}
.p-medical-info__cta-button {
  text-align: center;
}
@media (max-width: 599px) {
  .p-medical-info__cta-button .c-button__link {
    width: min(100%, 295px);
  }
}
.p-medical-info__cta-content--theme-bright {
  background-image: linear-gradient(rgba(188, 164, 134, 0.8), rgba(188, 164, 134, 0.8)), url(../images/medical-info-cta-img1.jpg);
}
.p-medical-info__ad {
  padding: 180px 0 80px;
}
@media (max-width: 599px) {
  .p-medical-info__ad {
    padding: 64px 0 20px;
  }
}
.p-medical-info__ad-banner {
  display: block;
  max-width: 800px;
  margin: 0 auto;
  transition: 0.3s;
}
.p-medical-info__ad-banner:hover {
  opacity: 0.7;
}
.p-medical-info__service {
  padding: 101px 0 180px;
}
@media (max-width: 599px) {
  .p-medical-info__service {
    padding: 60px 0 180px 0;
  }
}

.p-news-archive {
  padding: 80px 0 160px;
}
@media (max-width: 599px) {
  .p-news-archive {
    padding: 60px 0 120px;
  }
}
.p-news-archive__layout {
  display: grid;
  grid-template-columns: 1fr 300px;
  -moz-column-gap: 60px;
       column-gap: 60px;
  align-items: start;
}
@media (max-width: 1024px) {
  .p-news-archive__layout {
    grid-template-columns: 1fr;
    gap: 80px;
  }
}
.p-news-archive__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.p-news-archive__item {
  border-bottom: 1px solid var(--color-secondary);
}
.p-news-archive__item:first-child {
  border-top: 1px solid var(--color-secondary);
}
.p-news-archive__link {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 20px;
  padding: 20px 0;
  color: var(--text);
  transition: opacity 0.3s;
}
@media (max-width: 599px) {
  .p-news-archive__link {
    grid-template-columns: 80px 1fr;
    gap: 12px;
    padding: 16px 0;
  }
}
.p-news-archive__link:hover {
  opacity: 0.7;
}
.p-news-archive__img {
  margin: 0;
  border-radius: 4px;
  border: 1px solid var(--color-primary);
  overflow: hidden;
  aspect-ratio: 1;
}
.p-news-archive__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-news-archive__body {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 4px 0;
}
.p-news-archive__date {
  font-size: 0.875rem;
  color: var(--text-sub);
  letter-spacing: 0.05em;
}
.p-news-archive__title {
  margin: 0;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.024em;
}
.p-news-archive__pagination {
  margin-top: 48px;
}
.p-news-archive__pagination .pagination {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
.p-news-archive__pagination .pagination li a,
.p-news-archive__pagination .pagination li .current {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid var(--color-primary);
  color: var(--color-primary);
  font-weight: bold;
  transition: 0.3s;
}
.p-news-archive__pagination .pagination li a:hover {
  background-color: var(--color-primary);
  color: var(--text-white);
}
.p-news-archive__pagination .pagination li .current {
  background-color: var(--color-primary);
  color: var(--text-white);
}
.p-news-archive__pagination .page-numbers.prev,
.p-news-archive__pagination .page-numbers.next {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 16px;
  height: 40px;
  border: 1px solid var(--color-primary);
  color: var(--color-primary);
  font-weight: bold;
  transition: 0.3s;
}
.p-news-archive__pagination .page-numbers.prev:hover,
.p-news-archive__pagination .page-numbers.next:hover {
  background-color: var(--color-primary);
  color: var(--text-white);
}

.p-news-single {
  padding: 80px 0 160px;
}
@media (max-width: 599px) {
  .p-news-single {
    padding: 60px 0 120px;
  }
}
.p-news-single__layout {
  display: grid;
  grid-template-columns: 1fr 300px;
  -moz-column-gap: 60px;
       column-gap: 60px;
  align-items: start;
}
@media (max-width: 1024px) {
  .p-news-single__layout {
    grid-template-columns: 1fr;
    gap: 80px;
  }
}
.p-news-single__date {
  display: block;
  font-size: 0.875rem;
  color: var(--text-sub);
  letter-spacing: 0.05em;
}
.p-news-single__title {
  margin: 12px 0 32px;
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.024em;
}
@media (max-width: 599px) {
  .p-news-single__title {
    font-size: 1.25rem;
    margin: 10px 0 24px;
  }
}
.p-news-single__thumbnail {
  margin: 0 0 40px;
  border-radius: 8px;
  overflow: hidden;
}
.p-news-single__thumbnail img {
  width: 100%;
}
.p-news-single__body {
  line-height: 1.75;
  letter-spacing: 0.024em;
}
.p-news-single__body h2, .p-news-single__body h3, .p-news-single__body h4 {
  font-weight: bold;
  margin: 32px 0 16px;
}
.p-news-single__body p {
  margin: 0 0 16px;
}
.p-news-single__pagination {
  list-style: none;
  margin: 48px 0 0;
  padding: 24px 0 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid var(--color-secondary);
}
.p-news-single__pagination li a {
  color: var(--color-primary);
  font-weight: bold;
  transition: opacity 0.3s;
}
.p-news-single__pagination li a:hover {
  opacity: 0.7;
}

.p-news-sidebar {
  display: flex;
  flex-direction: column;
  gap: 48px;
}
@media (max-width: 1024px) {
  .p-news-sidebar {
    gap: 40px;
  }
}
.p-news-sidebar__block {
  border-top: 2px solid var(--color-primary);
  padding-top: 20px;
}
.p-news-sidebar__block-title {
  margin: 0 0 16px;
  font-size: 1rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  color: var(--color-primary);
}
.p-news-sidebar__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.p-news-sidebar__item {
  border-bottom: 1px solid var(--color-secondary);
}
.p-news-sidebar__item:first-child {
  border-top: 1px solid var(--color-secondary);
}
.p-news-sidebar__link {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 12px 4px;
  color: var(--text);
  font-size: 0.875rem;
  line-height: 1.5714285714;
  letter-spacing: 0.024em;
  transition: opacity 0.3s;
}
.p-news-sidebar__link:hover {
  opacity: 0.7;
}
.p-news-sidebar__date {
  font-size: 0.8125rem;
  color: var(--text-sub);
  letter-spacing: 0.05em;
}
.p-news-sidebar__text {
  font-weight: 500;
}

.p-pet-care__intro {
  padding: 180px 0 90px;
}
@media (max-width: 599px) {
  .p-pet-care__intro {
    padding: 80px 0 90px;
  }
}
.p-pet-care__department {
  padding: 90px 0 180px;
}
.p-pet-care__text {
  text-align: center;
}
@media (max-width: 599px) {
  .p-pet-care__text {
    text-align: left;
  }
}
.p-pet-care__content {
  margin: 64px 0 0;
}
.p-pet-care__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, min(100%, 560px));
  justify-content: center;
  row-gap: 80px;
  -moz-column-gap: 6.5833333333%;
       column-gap: 6.5833333333%;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 599px) {
  .p-pet-care__list {
    grid-template-columns: min(100%, 400px);
    row-gap: 36px;
  }
}
.p-pet-hotel__cta {
  padding: 180px 0 90px;
}
@media (max-width: 599px) {
  .p-pet-hotel__cta {
    padding: 80px 0 90px;
  }
}
.p-pet-hotel__content {
  margin: 64px 0 0;
}
.p-pet-hotel__cta-content {
  margin: 0;
}
.p-pet-hotel__text {
  margin: 0;
  line-height: 1.5;
  letter-spacing: 0.024em;
}
.p-pet-hotel__tel-box {
  width: min(100%, 980px);
  margin: 80px auto 0;
}
.p-pet-hotel__feature {
  padding: 90px 0 90px;
}
.p-pet-hotel__list {
  max-width: min(100%, 980px);
  display: grid;
  gap: 53px;
  margin: 0 auto;
  padding: 0;
  list-style: none;
}
.p-pet-hotel__item {
  display: grid;
  grid-template-columns: repeat(2, auto);
  justify-content: start;
  align-items: center;
  gap: 16px;
}
.p-pet-hotel__item-icon {
  display: grid;
  place-items: center;
  width: 48px;
  aspect-ratio: 1;
  font-size: 1.5rem;
  line-height: 1.5;
  border-radius: 50%;
  background-color: var(--text);
  color: var(--text-white);
}
.p-pet-hotel__item-text {
  margin: 0;
  font-size: 1.125rem;
  line-height: 1.5555555556;
  letter-spacing: 0.024em;
}
.p-pet-hotel__slider {
  margin: 120px 0 0;
}
.p-pet-hotel__precaution {
  padding: 90px 0 90px;
}
.p-pet-hotel__price {
  padding: 90px 0 180px;
}

.p-puppy-training__intro {
  padding: 180px 0 160px;
}
@media (max-width: 599px) {
  .p-puppy-training__intro {
    padding: 80px 0 160px;
  }
}
.p-puppy-training__content {
  margin: 64px 0 0;
}
.p-puppy-training__text {
  margin: 0;
  line-height: 1.7375;
  letter-spacing: 0.024em;
}
.p-puppy-training__puppy {
  background: linear-gradient(rgba(188, 164, 134, 0.8), rgba(188, 164, 134, 0.8)), url(../images/puppy-bg-img.jpg) no-repeat center center/cover;
  color: var(--text-white);
  padding: 80px 0;
}
.p-puppy-training__puppy-inner {
  width: min(100%, 1440px);
}
.p-puppy-training__puppy-title .c-title__sub {
  color: var(--text-white);
}
.p-puppy-training__list {
  display: grid;
  gap: 80px;
  margin: 0;
  padding: 0;
  color: var(--text);
}
@media (max-width: 599px) {
  .p-puppy-training__list {
    gap: 64px;
  }
}
.p-puppy-training__item {
  display: flex;
  align-items: center;
  gap: 3.3333333333%;
  padding: 56px 60px;
  background-color: var(--color-white);
}
@media (max-width: 1024px) {
  .p-puppy-training__item {
    flex-direction: column;
    gap: 24px;
    padding: clamp(2.25rem, 1.189rem + 2.83vw, 3rem) clamp(1.25rem, -2.288rem + 9.43vw, 3.75rem);
  }
}
.p-puppy-training__item:nth-child(even) {
  flex-direction: row-reverse;
}
@media (max-width: 1024px) {
  .p-puppy-training__item:nth-child(even) {
    flex-direction: column;
  }
}
.p-puppy-training__item:nth-child(even).p-puppy-training__item--row {
  flex-direction: column;
}
.p-puppy-training__item--row {
  flex-direction: column;
  align-items: start;
  gap: 64px;
}
.p-puppy-training__item-image {
  flex-shrink: 0;
  width: 33.3333333333%;
  margin: 0;
  border-radius: 8px;
  overflow: hidden;
}
@media (max-width: 1024px) {
  .p-puppy-training__item-image {
    width: min(100%, 400px);
  }
}
.p-puppy-training__item-image--large {
  width: 50%;
}
@media (max-width: 1024px) {
  .p-puppy-training__item-image--large {
    width: min(100%, 600px);
  }
}
.p-puppy-training__item-title .c-title__main {
  font-size: 1.5rem;
  line-height: 1.4583333333;
  letter-spacing: 0.024em;
}
@media (max-width: 599px) {
  .p-puppy-training__item-title .c-title__main {
    font-size: 1.25rem;
    line-height: 1.5;
  }
}
.p-puppy-training__item-text {
  margin: 24px 0 0;
  line-height: 1.7375;
  letter-spacing: 0.024em;
}
.p-puppy-training__data-list {
  display: grid;
  grid-template-columns: max-content auto;
  align-items: center;
  -moz-column-gap: 10.3191489362%;
       column-gap: 10.3191489362%;
  width: min(100%, 940px);
  margin: 0;
  padding: 0;
  list-style: none;
  line-height: 1.5;
  letter-spacing: 0.024em;
}
@media (max-width: 1024px) {
  .p-puppy-training__data-list {
    grid-template-columns: auto;
  }
}
.p-puppy-training__data-list--training {
  -moz-column-gap: 15.5319148936%;
       column-gap: 15.5319148936%;
}
.p-puppy-training__data-list-row {
  display: grid;
  grid-template-columns: 1fr 5fr;
  gap: 15px;
  grid-column: span 2;
  padding: 16px 30px 15.5px 30px;
  border-top: 1px solid #d5d5d5;
}
@media (max-width: 1024px) {
  .p-puppy-training__data-list-row {
    grid-template-columns: auto;
    grid-column: auto;
  }
}
@media (max-width: 599px) {
  .p-puppy-training__data-list-row {
    grid-column: 1;
    gap: 18px;
    padding: 16px 8px;
  }
}
.p-puppy-training__data-list-row:last-child {
  padding-bottom: 15px;
  border-bottom: 1px solid #d5d5d5;
}
.p-puppy-training__data-list-data {
  margin: 0;
}
.p-puppy-training__cta {
  padding: 180px 0 180px;
}
@media (max-width: 599px) {
  .p-puppy-training__cta {
    padding: 120px 0 180px;
  }
}
.p-puppy-training__cta-content {
  margin: 0;
}
.p-puppy-training__tel-box {
  max-width: 980px;
  margin: 0 auto;
}
.p-puppy-training__training {
  padding: 80px 0;
  background: linear-gradient(rgba(188, 164, 134, 0.8), rgba(188, 164, 134, 0.8)), url(../images/puppy-bg-img.jpg) no-repeat center center/cover;
  color: var(--text-white);
}
.p-puppy-training__training-inner {
  width: min(100%, 1440px);
}

.p-first__intro {
  padding: 180px 0 90px;
}
@media (max-width: 1024px) {
  .p-first__intro {
    padding: 120px 0 60px;
  }
}
.p-first__intro-text {
  margin: 0;
  line-height: 1.74;
  letter-spacing: 0.024em;
}
.p-first__precaution {
  padding: 90px 0 90px;
}
@media (max-width: 1024px) {
  .p-first__precaution {
    padding: 60px 0 60px;
  }
}
.p-first__target {
  padding: 90px 0 140px;
}
@media (max-width: 1024px) {
  .p-first__target {
    padding: 60px 0 60px;
  }
}
.p-first__target-content {
  display: grid;
  grid-template-columns: auto 68.3333333333%;
  justify-content: space-between;
  align-items: start;
}
@media (max-width: 1024px) {
  .p-first__target-content {
    grid-template-columns: auto;
    gap: 40px;
  }
}
.p-first__target-body {
  display: flex;
  gap: 40px;
}
@media (max-width: 599px) {
  .p-first__target-body {
    flex-direction: column;
  }
}
.p-first__target-icons {
  flex-shrink: 0;
  display: flex;
  justify-content: space-between;
  gap: 40px;
}
@media (max-width: 1024px) {
  .p-first__target-icons {
    justify-content: start;
  }
}
.p-first__target-icon {
  display: grid;
  justify-content: center;
  align-content: start;
  gap: 6.1px;
  width: 120px;
  aspect-ratio: 1;
  padding: 16px 18px 7px;
  border-radius: 8px;
  background-color: var(--color-primary);
  overflow: hidden;
}
.p-first__target-icon-image {
  margin: 0;
}
.p-first__target-icon-image img {
  height: 66.91px;
}
.p-first__target-icon-text {
  margin: 0;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.24em;
  text-align: center;
  color: var(--text-white);
}
.p-first__target-text {
  margin: 0;
  line-height: 1.5;
  letter-spacing: 0.024em;
}
.p-first__reserve-inner {
  max-width: 1440px;
}
.p-first__flow {
  padding: 134px 0 256px;
}
@media (max-width: 1024px) {
  .p-first__flow {
    padding: 90px 0 120px;
  }
}
.p-first__flow-lead-text {
  margin: 62px 0 0;
  line-height: 1.75;
  letter-spacing: 0.024em;
  text-align: center;
}
.p-first__flow-list {
  display: grid;
  gap: 120px;
  margin: 92px 0 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 1024px) {
  .p-first__flow-list {
    gap: 90px;
  }
}
@media (max-width: 599px) {
  .p-first__flow-list {
    gap: 60px;
  }
}
.p-first__flow-item {
  display: grid;
  grid-template-columns: 15.4166666667% auto;
}
@media (max-width: 599px) {
  .p-first__flow-item {
    grid-template-columns: 32px auto;
    gap: 16px;
  }
}
.p-first__flow-item:nth-last-child(2) .p-first__flow-number-icon::before {
  display: none;
}
.p-first__flow-item:last-child .p-first__flow-number-icon:before {
  top: auto;
  bottom: 0;
}
.p-first__flow-number {
  display: grid;
  justify-content: center;
  align-items: start;
  padding: 76px 0 0 10px;
}
@media (max-width: 1024px) {
  .p-first__flow-number {
    padding: 90px 0 0 0;
  }
}
.p-first__flow-number-icon {
  position: relative;
  display: grid;
  place-items: center;
  width: 48px;
  aspect-ratio: 1;
  background-color: var(--text);
  color: var(--text-white);
  font-size: 1.5rem;
  line-height: 1.5;
  letter-spacing: 0.04em;
  border-radius: 50%;
}
@media (max-width: 599px) {
  .p-first__flow-number-icon {
    width: 32px;
    font-size: 1.25rem;
  }
}
.p-first__flow-number-icon::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, 0);
  width: 1px;
  height: 500px;
  background-color: var(--text-sub);
}
@media (max-width: 1024px) {
  .p-first__flow-number-icon::before {
    height: 1000px;
  }
}
.p-first__flow-content {
  display: grid;
  grid-template-columns: 27.5862068966% auto;
  align-items: start;
  gap: 6.3054187192%;
}
@media (max-width: 1024px) {
  .p-first__flow-content {
    grid-template-columns: auto;
    justify-content: center;
    gap: 24px;
  }
}
.p-first__flow-image {
  margin: 0;
}
@media (max-width: 1024px) {
  .p-first__flow-image {
    margin: 0 auto;
  }
}
.p-first__flow-image img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
}
.p-first__flow-title {
  margin: 0;
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.4583333333;
  letter-spacing: 0.024em;
  color: var(--color-primary);
}
.p-first__flow-text {
  margin: 14px 0 0;
  line-height: 1.75;
  letter-spacing: 0.024em;
}
.p-first__flow-buttons {
  display: grid;
  grid-template-columns: repeat(auto-fit, min(100%, 285px));
  gap: 40px;
  margin: 30px 0 0;
}
.p-first__flow-footer {
  margin-top: 22px;
}
.p-first__flow-footer-title {
  margin: 0;
  line-height: 1.5;
  letter-spacing: 0.024em;
  color: var(--color-primary);
}
.p-first__flow-footer-banners {
  display: grid;
  grid-template-columns: min(100%, 214px) min(100%, 215.42px);
  gap: 11.4px;
  margin: 16px 0 0;
}
@media (max-width: 1024px) {
  .p-first__flow-footer-banners {
    grid-template-columns: min(100%, 230px);
  }
}
.p-first__flow-banner {
  display: grid;
  gap: 16px;
}
.p-first__flow-footer-note {
  margin: 16px 0 0;
  line-height: 1.5;
  letter-spacing: 0.024em;
}
.p-first__flow-footer-image {
  margin: 16px 0 0;
  width: min(100%, 310px);
}
.p-first__faq {
  padding: 120px 0 120px;
  background-color: var(--color-secondary);
}
@media (max-width: 599px) {
  .p-first__faq {
    padding: 90px 0 120px;
  }
}
.p-first__faq-content {
  margin: 64px 0 0;
}
.p-first__faq-body {
  margin: 80px 0 0;
}
.p-first__faq-body:first-child {
  margin: 0;
}
.p-first__faq-accordions {
  display: grid;
  gap: 40px;
  margin: 40px 0 0;
}
@media (max-width: 599px) {
  .p-first__faq-accordions {
    gap: 24px;
  }
}

.p-equipment__mri {
  position: relative;
  padding: 90px 0 60px;
}
.p-equipment__ct {
  padding: 181px 0 120px;
}
@media (max-width: 599px) {
  .p-equipment__ct {
    padding: 120px 0 120px;
  }
}
.p-equipment__eeg {
  padding: 180px 0 152px;
}
@media (max-width: 599px) {
  .p-equipment__eeg {
    padding: 120px 0 120px;
  }
}
.p-equipment__alert {
  position: absolute;
  top: 83px;
  inset-inline: 0;
  margin: 0 auto;
}
@media (max-width: 1024px) {
  .p-equipment__alert {
    top: 90px;
    transform: translateY(-50%);
  }
}
.p-equipment__title {
  margin: 0;
}
.p-equipment__list {
  margin: 64px 0 0;
  padding: 0;
  list-style: none;
}
.p-equipment__item {
  padding: 0 0 77px;
}
.p-equipment__item:not(:first-child) {
  padding: 80px 0 80px;
  border-top: 1px solid var(--text);
}
.p-equipment__item:last-child {
  padding: 80px 0 0;
}
.p-equipment__item--eeg {
  padding-bottom: 80px;
}
.p-equipment__item--eeg .p-equipment__item-body {
  gap: 64px;
}
.p-equipment__item--eeg .p-equipment__item-text {
  margin: 31px 0 0;
}
.p-equipment__item-content {
  display: grid;
  grid-template-columns: 31.9166666667% auto;
  gap: 6.6666666667%;
}
@media (max-width: 1024px) {
  .p-equipment__item-content {
    grid-template-columns: auto;
  }
}
.p-equipment__item-body {
  display: grid;
  gap: 80px;
}
@media (max-width: 1024px) {
  .p-equipment__item-texts:last-child {
    padding-bottom: 80px;
  }
}
.p-equipment__item-image {
  margin: 0;
}
@media (max-width: 1024px) {
  .p-equipment__item-image {
    max-width: 400px;
    margin: 0 auto;
  }
}
.p-equipment__item-image img {
  display: block;
  width: 100%;
}
.p-equipment__item-text {
  margin: 29px 0 0;
  line-height: 1.75;
  letter-spacing: 0.024em;
}
.p-equipment__item-heading {
  margin: 63px 0 0;
}
.p-equipment__image-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, 180px);
  row-gap: 40px;
  -moz-column-gap: 75px;
       column-gap: 75px;
  margin: 39px 0 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 599px) {
  .p-equipment__image-list {
    justify-content: center;
  }
}
.p-equipment__image-list--small {
  max-width: 690px;
}
.p-equipment__image-list--eeg {
  display: flex;
  margin: 32px 0 0;
}
.p-equipment__image-list--eeg .p-equipment__image-item {
  max-height: 180px;
}
.p-equipment__image-link {
  display: block;
  height: 100%;
}
.p-equipment__image-container {
  margin: 0;
}
.p-equipment__image-container img {
  width: auto;
  max-height: 180px;
}
.p-equipment__image-text {
  display: inline-block;
  margin: 8px 0 0 2px;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.024em;
  color: var(--color-primary);
  white-space: nowrap;
}
@media (max-width: 599px) {
  .p-equipment__image-text {
    white-space: auto;
  }
}
.p-equipment__info {
  display: grid;
  grid-template-columns: 65.6221198157% auto;
  justify-content: space-between;
  align-items: center;
  margin: 80px 0 0;
  padding: 45px 75px 55px 39px;
  border: 1px solid var(--color-accent);
}
@media (max-width: 1024px) {
  .p-equipment__info {
    grid-template-columns: auto;
    justify-content: center;
    padding: 36px 18px;
  }
}
.p-equipment__info-body {
  padding: 10px 0 0;
}
.p-equipment__info-header {
  display: grid;
  grid-template-columns: auto auto;
  justify-content: start;
  align-items: center;
  gap: 8px;
}
@media (max-width: 599px) {
  .p-equipment__info-header {
    grid-template-columns: auto;
  }
}
.p-equipment__info-title .c-title__main {
  font-size: 1.5rem;
  letter-spacing: 0.024em;
}
.p-equipment__info-alert {
  margin: 0;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.024em;
  color: var(--color-accent);
}
.p-equipment__info-text {
  margin: 24px 0 0 0;
  line-height: 1.74;
  letter-spacing: 0.024em;
}
.p-equipment__info-footer {
  display: grid;
  grid-template-columns: auto auto;
  justify-content: start;
  align-items: center;
  gap: 16px;
  margin: 29px 0 0 0;
}
@media (max-width: 599px) {
  .p-equipment__info-footer {
    grid-template-columns: auto;
  }
}
.p-equipment__info-note {
  margin: 0;
  line-height: 1.5;
  letter-spacing: 0.024em;
}
.p-equipment__info-tel {
  display: grid;
  grid-template-columns: auto auto;
  align-items: center;
  gap: 3px;
  padding: 10px 35px;
  border-radius: 29px;
  color: var(--text);
}
.p-equipment__info-tel-icon {
  display: inline-block;
  width: 23px;
  aspect-ratio: 1;
}
.p-equipment__info-tel-text {
  font-size: 1.5rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.p-equipment__info-image {
  margin: 0;
}
@media (max-width: 1024px) {
  .p-equipment__info-image {
    max-width: 400px;
    margin: 0 auto;
  }
}
.p-equipment__mri-image {
  max-width: 544px;
  margin: 0 auto 57px;
}
.p-equipment__mri-image img {
  display: block;
  width: 100%;
}

.p-herniated-disc__about {
  padding: 180px 0 180px;
}
@media (max-width: 599px) {
  .p-herniated-disc__about {
    padding: 120px 0 120px;
  }
}
.p-herniated-disc__about-lead-text {
  margin: 61px 0 0;
  line-height: 1.7375;
  letter-spacing: 0.024em;
}
.p-herniated-disc__lumbar {
  position: relative;
  padding: 120px 0 120px;
}
.p-herniated-disc__lumbar::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% + 120px);
  max-width: calc(100vw - 120px);
  height: 1px;
  background-color: var(--text);
}
.p-herniated-disc__medical-guide {
  margin: 61px 0 0;
}
.p-herniated-disc__lumbar-image {
  display: grid;
  grid-template-columns: 50% auto;
  align-items: end;
  gap: 16px;
  margin: 0;
}
@media (max-width: 1024px) {
  .p-herniated-disc__lumbar-image {
    grid-template-columns: auto;
  }
}
.p-herniated-disc__lumbar-image-inner {
  display: block;
  max-width: 600px;
  cursor: pointer;
}
.p-herniated-disc__lumbar-image-c-cite {
  font-size: 0.9375rem;
  font-weight: 400;
  font-style: normal;
  line-height: 1.4;
  letter-spacing: 0.024em;
}
.p-herniated-disc__case {
  margin: 80px 0 0;
}
.p-herniated-disc__info {
  margin: 56px 0 0;
  padding: 53px 40px;
  border: 1px solid var(--color-accent);
}
@media (max-width: 599px) {
  .p-herniated-disc__info {
    padding: 32px 24px;
  }
}
.p-herniated-disc__info-title .c-title__main {
  font-size: 1.5rem;
  line-height: 1.4583333333;
  letter-spacing: 0.024em;
}
.p-herniated-disc__info-text {
  margin: 24px 0 0;
  line-height: 1.7375;
  letter-spacing: 0.024em;
}
.p-herniated-disc__cervical {
  position: relative;
  padding: 120px 0 120px;
}
.p-herniated-disc__cervical::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% + 120px);
  max-width: calc(100vw - 120px);
  height: 1px;
  background-color: var(--text);
}
.p-herniated-disc__cats {
  position: relative;
  padding: 120px 0 180px;
}
@media (max-width: 599px) {
  .p-herniated-disc__cats {
    padding: 120px 0 120px;
  }
}
.p-herniated-disc__cats::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% + 120px);
  max-width: calc(100vw - 120px);
  height: 1px;
  background-color: var(--text);
}

.p-orthopedic__about {
  padding: 180px 0 180px;
}
@media (max-width: 599px) {
  .p-orthopedic__about {
    padding: 120px 0 120px;
  }
}
.p-orthopedic__about-lead-text {
  margin: 64px 0 0;
  line-height: 1.7375;
  letter-spacing: 0.024em;
}
.p-orthopedic__fracture {
  position: relative;
  padding: 120px 0 120px;
}
.p-orthopedic__fracture::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% + 120px);
  max-width: calc(100vw - 120px);
  height: 1px;
  background-color: var(--text);
}
.p-orthopedic__fracture-medical-guide {
  margin: 61px 0 0;
}
.p-orthopedic__case {
  margin: 116px 0 0;
}
.p-orthopedic__case .c-case__list {
  grid-template-columns: repeat(auto-fit, min(100%, 257px));
}
@media (max-width: 599px) {
  .p-orthopedic__case-images {
    justify-content: center;
  }
}
.p-orthopedic__case-images--horizontal {
  grid-template-columns: repeat(2, 1fr);
  gap: 0;
}
@media (max-width: 1024px) {
  .p-orthopedic__case-images--horizontal {
    gap: 4.8333333333%;
  }
}
@media (max-width: 599px) {
  .p-orthopedic__case-images--horizontal {
    grid-template-columns: auto;
    gap: 80px;
  }
}
.p-orthopedic__case-image-link {
  display: block;
}
.p-orthopedic__case-image {
  display: block;
}
.p-orthopedic__case-image img {
  display: block;
  max-width: 100%;
}
.p-orthopedic__patellar {
  position: relative;
  padding: 120px 0 120px;
}
.p-orthopedic__patellar::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% + 120px);
  max-width: calc(100vw - 120px);
  height: 1px;
  background-color: var(--text);
}
.p-orthopedic__patellar-medical-guide {
  margin: 61px 0 0;
}
.p-orthopedic__hip-dislocation {
  position: relative;
  padding: 120px 0 120px;
}
.p-orthopedic__hip-dislocation::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% + 120px);
  max-width: calc(100vw - 120px);
  height: 1px;
  background-color: var(--text);
}
.p-orthopedic__hip-dislocation-medical-guide {
  margin: 61px 0 0;
}
.p-orthopedic__ligament-rupture {
  position: relative;
  padding: 120px 0 180px;
}
@media (max-width: 599px) {
  .p-orthopedic__ligament-rupture {
    padding: 120px 0 120px;
  }
}
.p-orthopedic__ligament-rupture::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% + 120px);
  max-width: calc(100vw - 120px);
  height: 1px;
  background-color: var(--text);
}
.p-orthopedic__ligament-rupture-medical-guide {
  margin: 61px 0 0;
}

.p-introduction__map {
  padding: 180px 0 90px;
}
@media (max-width: 599px) {
  .p-introduction__map {
    padding: 120px 0 60px;
  }
}
.p-introduction__map-image {
  margin: 64px 0 0;
  max-width: 1061px;
}
.p-introduction__facility {
  padding: 90px 0 80px;
}
@media (max-width: 599px) {
  .p-introduction__facility {
    padding: 60px 0 60px;
  }
}
.p-introduction__facility-slider {
  margin: 64px calc(50% - 50vw) 0 calc(50% - 50vw);
  overflow: hidden;
}
@media (max-width: 599px) {
  .p-introduction__facility-slider .c-slider__swiper-slide {
    width: 100vw;
  }
}
.p-introduction__equipment {
  padding: 80px 0 180px;
}
@media (max-width: 599px) {
  .p-introduction__equipment {
    padding: 60px 0 120px;
  }
}
.p-introduction__equipment-content {
  max-width: 1360px;
  margin: 64px auto 0;
  padding: 0 20px 0;
}
@media (max-width: 1024px) {
  .p-introduction__equipment-content {
    margin: 64px 40px 0;
  }
}
@media (max-width: 599px) {
  .p-introduction__equipment-content {
    margin: 64px 0 0;
  }
}
.p-introduction__equipment-2column {
  grid-template-columns: auto clamp(15rem, 6.846rem + 12.74vw, 18.313rem);
  gap: clamp(1.5rem, -2.808rem + 6.73vw, 3.25rem);
}
@media (max-width: 1024px) {
  .p-introduction__equipment-2column {
    grid-template-columns: auto;
  }
}
@media (max-width: 1024px) {
  .p-introduction__equipment-2column .l-2column__sub {
    display: block;
    width: 100%;
    max-width: 60vw;
    position: fixed;
    z-index: 10;
    right: 0;
    bottom: 20px;
    transform: translateX(110%);
    transition: 0.3s;
  }
  .p-introduction__equipment-2column .l-2column__sub.is-open {
    transform: translateX(0);
  }
}
.p-introduction__toc-open {
  display: none;
}
@media (max-width: 1024px) {
  .p-introduction__toc-open {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    bottom: 260px;
    right: 15px;
    width: 72px;
    aspect-ratio: 1;
    border: none;
    border-radius: 50%;
    box-shadow: -1px 2px 10px rgba(0, 0, 0, 0.15);
    background-color: var(--color-quaternary);
    font-size: 0.75rem;
    font-weight: bold;
    line-height: 1.4;
    letter-spacing: 0.05em;
    color: var(--text-white);
    transition: 0.3s;
    z-index: 10;
    cursor: pointer;
  }
  .p-introduction__toc-open:hover {
    opacity: 0.7;
  }
}
@media (max-width: 599px) {
  .p-introduction__toc-open {
    bottom: 80px;
  }
}
.p-introduction__toc-close {
  display: none;
}
@media (max-width: 1024px) {
  .p-introduction__toc-close {
    display: inline-block;
    position: absolute;
    top: -10px;
    left: -10px;
    width: 31px;
    aspect-ratio: 1;
    border-radius: 50%;
    background-color: var(--text);
    border: none;
    z-index: 1;
    cursor: pointer;
  }
}
.p-introduction__toc-close::before, .p-introduction__toc-close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 17px;
  height: 1.7px;
  background-color: var(--color-white);
  border-radius: 1px;
}
.p-introduction__toc-close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.p-introduction__toc-close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.p-introduction__equipment-boxes {
  display: grid;
  gap: 32px;
  margin: 0;
  padding: 0;
}
@media (max-width: 599px) {
  .p-introduction__equipment-boxes {
    gap: 48px;
  }
}
.p-introduction__equipment-box {
  display: grid;
  grid-template-columns: auto 46.565774156%;
  gap: 26px;
  padding: 32px clamp(1.5rem, -3.423rem + 7.69vw, 3.5rem) 32px clamp(1.5rem, -4.038rem + 8.65vw, 3.75rem);
  background-color: var(--text);
  color: var(--text-white);
}
@media (max-width: 1024px) {
  .p-introduction__equipment-box {
    grid-template-columns: auto;
    gap: 48px;
    padding: 40px clamp(1.5rem, 0.344rem + 4.93vw, 3.5rem);
  }
}
.p-introduction__equipment-box-title {
  display: grid;
  grid-template-columns: auto auto;
  justify-content: start;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.4583333333;
  color: var(--text-white);
}
.p-introduction__equipment-box-title::before {
  content: "";
  display: block;
  width: 12px;
  aspect-ratio: 1;
  border-radius: 50px;
  background-color: var(--color-white);
}
.p-introduction__equipment-box-text {
  margin: 13px 0 0;
  padding-left: 2px;
  line-height: 1.75;
  letter-spacing: 0.024em;
}
@media (max-width: 1024px) {
  .p-introduction__equipment-box-gallery {
    justify-self: center;
    max-width: 400px;
  }
}
.p-introduction__equipment-toc {
  position: sticky;
  top: 32px;
  left: 0;
  padding: clamp(1.5rem, 0.269rem + 1.92vw, 2rem) clamp(1.25rem, -0.288rem + 2.4vw, 1.875rem);
}

.p-for-veterinary__intro {
  position: relative;
  padding: 180px 0 90px;
}
@media (max-width: 599px) {
  .p-for-veterinary__intro {
    padding: 180px 0 60px;
  }
}
.p-for-veterinary__intro-alert {
  position: absolute;
  top: 83px;
  inset-inline: 0;
  margin: 0 auto;
}
@media (max-width: 599px) {
  .p-for-veterinary__intro-alert {
    top: 90px;
    transform: translateY(-50%);
  }
}
.p-for-veterinary__about {
  padding: 90px 0 87px;
}
@media (max-width: 599px) {
  .p-for-veterinary__about {
    padding: 60px 0 60px;
  }
}
.p-for-veterinary__about-text {
  margin: 64px 0 0;
  line-height: 1.73;
  letter-spacing: 0.024em;
  text-align: center;
}
@media (max-width: 1024px) {
  .p-for-veterinary__about-text {
    text-align: left;
  }
}
.p-for-veterinary__feature {
  padding: 88px 0 91px;
}
@media (max-width: 599px) {
  .p-for-veterinary__feature {
    padding: 60px 0 60px;
  }
}
.p-for-veterinary__feature-boxes {
  display: grid;
  gap: 81px;
}
.p-for-veterinary__feature-box {
  display: grid;
  grid-template-columns: auto 72.4074074074%;
  justify-content: space-between;
  gap: 4.2592592593%;
  min-height: 380px;
  padding: 82px 40px 60px 80px;
  background: linear-gradient(rgba(20, 42, 70, 0.8), rgba(20, 42, 70, 0.8)), url(../images/mri-cta.jpg) no-repeat center center/cover;
  color: var(--text-white);
}
@media (max-width: 1024px) {
  .p-for-veterinary__feature-box {
    grid-template-columns: auto;
    gap: 56px;
    padding: clamp(2.5rem, 1.055rem + 6.16vw, 5rem) clamp(1.5rem, 0.922rem + 2.47vw, 2.5rem) clamp(2.5rem, 1.055rem + 6.16vw, 5rem) clamp(1.5rem, 0.922rem + 2.47vw, 2.5rem);
  }
}
@media (max-width: 1024px) {
  .p-for-veterinary__feature-box {
    gap: 40px;
  }
}
.p-for-veterinary__feature-box--ct {
  background-image: linear-gradient(rgba(20, 42, 70, 0.8), rgba(20, 42, 70, 0.8)), url(../images/ct-cta.jpg);
}
.p-for-veterinary__feature-box-eeg {
  background-image: linear-gradient(rgba(20, 42, 70, 0.8), rgba(20, 42, 70, 0.8)), url(../images/eeg-cta.jpg);
}
.p-for-veterinary__feature-box-title {
  margin: 0;
}
.p-for-veterinary__feature-box-title .c-title__main {
  font-size: 1.5rem;
  line-height: 1.4583333333;
  letter-spacing: 0.024em;
}
.p-for-veterinary__feature-box-title .c-title__sub {
  color: var(--text-white);
}
.p-for-veterinary__feature-box-body {
  display: grid;
  align-content: space-between;
  gap: 64px;
}
@media (max-width: 1024px) {
  .p-for-veterinary__feature-box-body {
    gap: 40px;
  }
}
.p-for-veterinary__feature-box-text {
  margin: 0 20px 0 0;
  line-height: 1.6875;
  letter-spacing: 0.024em;
}
@media (max-width: 1024px) {
  .p-for-veterinary__feature-box-text {
    margin: 0;
  }
}
.p-for-veterinary__feature-box-button {
  text-align: right;
}
.p-for-veterinary__flow {
  padding: 90px 0 177px;
}
@media (max-width: 1024px) {
  .p-for-veterinary__flow {
    padding: 60px 0 120px;
  }
}
.p-for-veterinary__flow-list {
  display: grid;
  gap: 81px;
  margin: 83px 0 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 599px) {
  .p-for-veterinary__flow-list {
    gap: 48px;
  }
}
.p-for-veterinary__flow-item-header {
  display: grid;
  grid-template-columns: auto auto;
  justify-content: start;
  align-items: center;
  gap: 10.6418918919%;
  width: min(100%, 668px);
  padding: 10px 38px 10px 39px;
  background-color: var(--text);
  color: var(--text-white);
  border-radius: 4px;
}
@media (max-width: 1024px) {
  .p-for-veterinary__flow-item-header {
    padding: 10px clamp(1rem, 0.206rem + 3.39vw, 2.375rem);
    gap: 18px;
  }
}
.p-for-veterinary__flow-number {
  display: grid;
  grid-template-columns: auto auto;
  align-items: baseline;
  gap: 8px;
  font-weight: 500;
  line-height: 1.5;
}
.p-for-veterinary__flow-number-num {
  font-size: 1.5rem;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
.p-for-veterinary__flow-item-title {
  margin: 0;
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.4583333333;
  letter-spacing: 0.024em;
}
.p-for-veterinary__flow-item-text {
  margin: 22px 0 0;
  line-height: 1.6875;
  letter-spacing: 0.024em;
}
.p-for-veterinary__flow-utilities {
  max-width: 884px;
  margin: 37px 0 0;
}
.p-for-veterinary__flow-buttons {
  display: grid;
  grid-template-columns: repeat(auto-fit, min(100%, 430px));
  gap: 24px;
}
.p-for-veterinary__flow-button--theme-pdf .p-for-veterinary__flow-button-link {
  background-color: #98432F;
}
.p-for-veterinary__flow-button-link {
  display: grid;
  grid-template-columns: 87px auto;
  align-items: center;
  gap: 32px;
  padding: 24px 40px;
  background-color: var(--color-primary);
  color: var(--text-white);
  transition: 0.3s;
}
@media (max-width: 1024px) {
  .p-for-veterinary__flow-button-link {
    padding: 24px clamp(1.5rem, 0.922rem + 2.47vw, 2.5rem);
  }
}
.p-for-veterinary__flow-button-link:hover {
  opacity: 0.8;
}
.p-for-veterinary__flow-button-text {
  margin: 0;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.024em;
}
.p-for-veterinary__flow-button-type {
  display: grid;
  grid-template-columns: auto auto;
  justify-content: start;
  align-items: center;
  gap: 8px;
  margin: 6px 0 0;
  font-size: 1.5rem;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
.p-for-veterinary__flow-button-type::before {
  content: "";
  display: block;
  width: 12px;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: var(--color-white);
}
.p-for-veterinary__flow-info {
  margin: 24px 0 0;
  padding: 24px 38px 23px;
  background-color: var(--color-secondary);
}
@media (max-width: 1024px) {
  .p-for-veterinary__flow-info {
    margin: 48px 0 0;
  }
}
.p-for-veterinary__flow-info-title {
  margin: 0;
  font-size: 1.125rem;
  font-weight: bold;
  line-height: 1.4444444444;
  letter-spacing: 0.024em;
}
.p-for-veterinary__flow-info-text {
  margin: 16px 0 0;
  line-height: 1.6875;
  letter-spacing: 0.024em;
}
.p-for-veterinary__flow-info-heading {
  margin: 31px 0 0;
}
.p-for-veterinary__flow-info-address {
  margin: 12px 0 0;
  font-style: normal;
}
.p-for-veterinary__flow-info-address-text {
  margin: 0;
  line-height: 1.75;
  letter-spacing: 0.04em;
}
.p-for-veterinary__flow-info-address-ja {
  font-weight: 500;
  letter-spacing: 0.024em;
}

.p-brain-tumor__about {
  padding: 180px 0 180px;
}
.p-brain-tumor__content {
  margin: 61px 0 0;
}
.p-brain-tumor__text {
  margin: 0;
  line-height: 1.7375;
  letter-spacing: 0.024em;
}
.p-brain-tumor__about-surgeon {
  margin: 120px 0 0;
}
.p-brain-tumor__section {
  position: relative;
}
.p-brain-tumor__section::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% - 120px);
  height: 1px;
  background-color: var(--text);
}
.p-brain-tumor__mri {
  padding: 80px 0;
}
.p-brain-tumor__results {
  padding: 180px 0;
}
.p-brain-tumor__results-items {
  display: grid;
  gap: 120px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.p-brain-tumor__results-table {
  margin: 32px 0 0;
}

.p-neurology__about {
  padding: 180px 0 180px;
}
@media (max-width: 599px) {
  .p-neurology__about {
    padding: 120px 0 120px;
  }
}
.p-neurology__text {
  margin: 0;
  line-height: 1.7375;
  letter-spacing: 0.024em;
}
.p-neurology__2column {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 60px 100px;
}
@media (max-width: 1024px) {
  .p-neurology__2column {
    padding: 0 0 100px;
  }
}
@media (max-width: 599px) {
  .p-neurology__2column {
    padding: 0 0 120px;
  }
}
@media (max-width: 1024px) {
  .p-neurology__2column .l-2column__sub {
    display: none;
  }
}
.p-neurology__section {
  position: relative;
  padding: 80px 0 80px;
}
@media (max-width: 599px) {
  .p-neurology__section {
    padding: 60px 0 60px;
  }
}
.p-neurology__section::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 1px;
  background-color: var(--text);
}
@media (max-width: 1024px) {
  .p-neurology__section::before {
    width: calc(100vw - 40px);
  }
}
.p-neurology__content {
  margin: 61px 0 0;
  display: grid;
  gap: 80px;
}
.p-neurology__more-text {
  margin: 0;
  line-height: 1.7375;
  letter-spacing: 0.024em;
}
.p-neurology__button {
  margin: 32px 0 0;
}
.p-cardiology__intro {
  padding: 180px 0 60px;
}
@media (max-width: 599px) {
  .p-cardiology__intro {
    padding: 120px 0 60px;
  }
}
.p-cardiology__intro-lead-text {
  margin: 64px 0 0;
  line-height: 1.6875;
  letter-spacing: 0.024em;
}
.p-cardiology__surgeon {
  padding: 60px 0 180px;
}
@media (max-width: 599px) {
  .p-cardiology__surgeon {
    padding: 60px 0 120px;
  }
}
.p-cardiology__profile {
  margin: 40px 0 0;
}
.p-cardiology__case {
  padding: 80px 0 80px;
  background: linear-gradient(rgba(20, 42, 70, 0.8), rgba(20, 42, 70, 0.8)), url(../images/case-img1.jpg) no-repeat center center/cover;
}
.p-cardiology__case-title .c-title__main {
  color: var(--text-white);
}
.p-cardiology__case-title .c-title__sub {
  color: var(--text-white);
}
.p-cardiology__case-list {
  display: grid;
  grid-template-columns: min(100%, 800px);
  justify-content: center;
  gap: 40px;
  margin: 93px 0 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 1024px) {
  .p-cardiology__case-list {
    margin: 64px 0 0;
  }
}
.p-cardiology__case-item {
  padding: 55px 10%;
  background-color: var(--color-white);
}
@media (max-width: 1024px) {
  .p-cardiology__case-item {
    padding: clamp(2.25rem, 1.564rem + 2.93vw, 3.438rem) clamp(1.5rem, -0.522rem + 8.63vw, 5rem);
  }
}
.p-cardiology__case-item-header {
  display: grid;
  grid-template-columns: auto auto;
  justify-content: start;
  align-items: center;
  gap: 16px;
}
@media (max-width: 599px) {
  .p-cardiology__case-item-header {
    gap: 12px;
  }
}
.p-cardiology__case-item-icon {
  display: grid;
  place-items: center;
  width: 24px;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: var(--color-accent);
}
.p-cardiology__case-item-icon-image {
  color: var(--text-white);
}
.p-cardiology__case-item-title {
  margin: 0;
  font-size: 1.125rem;
  font-weight: bold;
  line-height: 1.4444444444;
  letter-spacing: 0.024em;
}
.p-cardiology__case-item-text {
  margin: 23px 0 0;
  line-height: 1.6875;
  letter-spacing: 0.024em;
}
.p-cardiology__info {
  padding: 120px 0 180px;
}
@media (max-width: 599px) {
  .p-cardiology__info {
    padding: 90px 0 120px;
  }
}

.p-outpatient__intro {
  padding: 180px 0 87px;
}
@media (max-width: 1024px) {
  .p-outpatient__intro {
    padding: 80px 0 40px;
  }
}
.p-outpatient__intro-lead-text {
  margin: 0;
  line-height: 1.6875;
  letter-spacing: 0.024em;
  text-align: center;
}
.p-outpatient__department {
  padding: 90px 0 180px;
}
@media (max-width: 599px) {
  .p-outpatient__department {
    padding: 40px 0 120px;
  }
}
.p-outpatient__department-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, min(100%, 560px));
  justify-content: center;
  row-gap: 80px;
  -moz-column-gap: 6.5833333333%;
       column-gap: 6.5833333333%;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 599px) {
  .p-outpatient__department-list {
    grid-template-columns: min(100%, 400px);
    row-gap: 36px;
  }
}
.p-404 {
  padding: 80px 0 120px;
  text-align: center;
}
@media (max-width: 1024px) {
  .p-404 {
    padding: 60px 0 80px;
  }
}
.p-404__text {
  font-size: 1rem;
  line-height: 2;
  margin-bottom: 48px;
}
@media (max-width: 599px) {
  .p-404__text {
    margin-bottom: 40px;
  }
}
.p-404__button {
  display: flex;
  justify-content: center;
}

.p-rehabilitation__info {
  padding: 180px 0 120px;
}
@media (max-width: 599px) {
  .p-rehabilitation__info {
    padding: 80px 0 90px;
  }
}
.p-rehabilitation__section {
  position: relative;
}
.p-rehabilitation__section::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: min(100% - 40px, 1200px);
  height: 2px;
  background-image: repeating-linear-gradient(90deg, var(--text), var(--text) 2px, transparent 2px, transparent 7px), repeating-linear-gradient(180deg, var(--text), var(--text) 2px, transparent 2px, transparent 7px), repeating-linear-gradient(90deg, var(--text), var(--text) 2px, transparent 2px, transparent 7px), repeating-linear-gradient(180deg, var(--text), var(--text) 2px, transparent 2px, transparent 7px);
  background-position: left top, right top, left bottom, left top;
  background-repeat: repeat-x, repeat-y, repeat-x, repeat-y;
  background-size: 100% 2px, 2px 100%, 100% 2px, 2px 100%;
}
.p-rehabilitation__content {
  margin: 40px 0 0;
}
.p-rehabilitation__belongings {
  padding: 80px 0 80px;
}
.l-main:has(.p-rehabilitation__situation.u-display__none) .p-rehabilitation__belongings {
  margin-bottom: 180px;
  padding-bottom: 0;
}
.p-rehabilitation__belongings-inner {
  width: min(100%, 1100px);
}
.p-rehabilitation__belongings-list {
  display: grid;
  grid-template-columns: repeat(3, auto);
  justify-content: space-between;
  gap: 6.6666666667%;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 1024px) {
  .p-rehabilitation__belongings-list {
    grid-template-columns: auto;
    gap: 24px;
    padding-left: 40px;
  }
}
@media (max-width: 599px) {
  .p-rehabilitation__belongings-list {
    padding-left: 0;
  }
}
.p-rehabilitation__belongings-item {
  display: grid;
  grid-template-columns: repeat(2, auto);
  justify-content: start;
  align-items: center;
  gap: 16px;
}
.p-rehabilitation__belongings-item-icon {
  display: grid;
  place-items: center;
  width: 24px;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: #C65927;
  color: var(--text-white);
}
.p-rehabilitation__belongings-item-text {
  margin: 0;
  line-height: 1.5;
  letter-spacing: 0.024em;
}
.p-rehabilitation__situation {
  padding: 160px 0 180px;
}
.p-rehabilitation__slider {
  margin: 64px 0 0;
}

.p-access__to-clinic {
  padding: 180px 0 135px;
}
@media (max-width: 599px) {
  .p-access__to-clinic {
    padding: 80px 0 100px;
  }
}
.p-access__content {
  margin: 64px 0 0;
}
.p-access__to-clinic-content {
  display: grid;
  grid-template-columns: 66.1666666667% auto;
  gap: 3.3333333333%;
}
@media (max-width: 1024px) {
  .p-access__to-clinic-content {
    grid-template-columns: auto;
  }
}
.p-access__to-clinic-map iframe {
  max-width: 100%;
  max-height: 100%;
  aspect-ratio: 794/553;
}
@media (max-width: 1024px) {
  .p-access__to-clinic-map iframe {
    width: 100%;
    height: 100%;
    aspect-ratio: 16/9;
  }
}
@media (max-width: 599px) {
  .p-access__to-clinic-map iframe {
    aspect-ratio: 1;
  }
}
.p-access__to-clinic-body {
  display: grid;
  align-content: space-between;
  gap: 48px;
}
.p-access__to-clinic-transports {
  display: grid;
  gap: 56px;
  padding: 12px 0 0;
}
@media (max-width: 1024px) {
  .p-access__to-clinic-transports {
    gap: 36px;
    padding: 0;
  }
}
.p-access__to-clinic-transport-title {
  display: grid;
  grid-template-columns: repeat(2, auto);
  justify-content: start;
  align-items: center;
  gap: 13.8px;
}
.p-access__to-clinic-transport-icon {
  width: 30.63px;
  aspect-ratio: 30.63/35;
}
.p-access__to-clinic-transport-title-text {
  margin: 0;
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.4583333333;
  letter-spacing: 0.024em;
}
.p-access__to-clinic-transport-text {
  margin: 16px 0 0;
  line-height: 1.5;
  letter-spacing: 0.024em;
}
.p-access__transfer {
  padding: 100px 0 90px;
}
.p-access__transfer-tel-box {
  width: min(100%, 1086px);
  margin: 0 auto;
}
.p-access__from-away {
  padding: 90px 0 90px;
}
@media (max-width: 599px) {
  .p-access__from-away {
    padding: 60px 0 90px;
  }
}
.l-main:has(.p-access__parking.u-display__none) .p-access__from-away {
  padding: 100px 0 180px;
}
.p-access__from-away-image {
  max-width: 1000px;
  margin: 0 auto;
}
.p-access__parking {
  padding: 90px 0 180px;
}
@media (max-width: 599px) {
  .p-access__parking {
    padding: 60px 0 180px;
  }
}
.p-access__parking-items {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 599px) {
  .p-access__parking-items {
    grid-template-columns: auto;
    gap: 40px;
  }
}
.p-access__parking-image {
  max-width: 100%;
  height: auto;
  text-align: center;
}
.p-access__parking-image-text {
  margin: 8px 0 0;
  line-height: 1.5;
  letter-spacing: 0.024em;
  text-align: center;
}

.p-obstetrics__about {
  padding: 180px 0 90px;
}
@media (max-width: 599px) {
  .p-obstetrics__about {
    padding: 80px 0 90px;
  }
}
.p-obstetrics__examination {
  padding: 90px 0 180px;
}
@media (max-width: 599px) {
  .p-obstetrics__examination {
    padding: 90px 0 180px;
  }
}
.p-obstetrics__content {
  margin: 64px 0 0;
}
.p-obstetrics__text {
  margin: 0;
  line-height: 1.7375;
  letter-spacing: 0.024em;
}
.p-obstetrics__examination-items {
  display: grid;
  gap: 120px;
  max-width: 980px;
  margin: 0 auto;
  padding: 0;
  list-style: none;
}
@media (max-width: 599px) {
  .p-obstetrics__examination-items {
    gap: 90px;
  }
}
.p-obstetrics__examination-item {
  display: flex;
  align-items: center;
  gap: 4.0816326531%;
}
@media (max-width: 599px) {
  .p-obstetrics__examination-item {
    flex-direction: column;
    gap: 32px;
  }
}
.p-obstetrics__examination-item:nth-child(2n) {
  flex-direction: row-reverse;
}
@media (max-width: 599px) {
  .p-obstetrics__examination-item:nth-child(2n) {
    flex-direction: column;
  }
}
.p-obstetrics__examination-item:nth-child(2) .p-obstetrics__examination-image {
  width: 34.8979591837%;
}
@media (max-width: 599px) {
  .p-obstetrics__examination-item:nth-child(2) .p-obstetrics__examination-image {
    width: 100%;
  }
}
.p-obstetrics__examination-image {
  flex-shrink: 0;
  width: 40.8163265306%;
  margin: 0;
}
@media (max-width: 599px) {
  .p-obstetrics__examination-image {
    width: 100%;
  }
}
.p-obstetrics__examination-header {
  display: grid;
  grid-template-columns: repeat(2, auto);
  justify-content: start;
  align-items: center;
  gap: 12px;
}
.p-obstetrics__examination-icon {
  display: grid;
  place-items: center;
  width: 36px;
  aspect-ratio: 1;
  padding: 8px;
  border-radius: 50%;
  background-color: var(--color-quaternary);
}
.p-obstetrics__examination-title {
  margin: 0;
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.4583333333;
  letter-spacing: 0.024em;
  color: var(--color-quaternary);
}
.p-obstetrics__examination-text {
  margin: 24px 0 0;
  line-height: 1.7375;
  letter-spacing: 0.024em;
}

.p-trimming__about {
  padding: 180px 0 90px;
}
@media (max-width: 599px) {
  .p-trimming__about {
    padding: 80px 0 90px;
  }
}
.p-trimming__content {
  margin: 64px 0 0;
}
.p-trimming__text {
  margin: 0;
  line-height: 1.7375;
  letter-spacing: 0.024em;
}
.p-trimming__request {
  padding: 90px 0 90px;
}
.p-trimming__request-tel-box {
  width: min(100%, 980px);
  margin: 120px auto 0;
}
.p-trimming__price {
  padding: 90px 0 90px;
}
.p-trimming__list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.p-trimming__item {
  padding: 0 0 40px 0;
}
.p-trimming__item + .p-trimming__item {
  position: relative;
  padding: 40px 0px 40px 0;
}
.p-trimming__item + .p-trimming__item::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: min(100%, 934px);
  height: 2px;
  background-image: repeating-linear-gradient(90deg, var(--text), var(--text) 2px, transparent 2px, transparent 7px), repeating-linear-gradient(180deg, var(--text), var(--text) 2px, transparent 2px, transparent 7px), repeating-linear-gradient(90deg, var(--text), var(--text) 2px, transparent 2px, transparent 7px), repeating-linear-gradient(180deg, var(--text), var(--text) 2px, transparent 2px, transparent 7px);
  background-position: left top, right top, left bottom, left top;
  background-repeat: repeat-x, repeat-y, repeat-x, repeat-y;
  background-size: 100% 2px, 2px 100%, 100% 2px, 2px 100%;
}
.p-trimming__item:last-child {
  padding-bottom: 0;
}
.p-trimming__item-header {
  display: grid;
  grid-template-columns: repeat(2, auto);
  justify-content: start;
  align-items: center;
  gap: 24px;
}
.p-trimming__item-icon {
  display: grid;
  place-items: center;
  width: 60px;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: var(--text);
}
.p-trimming__item-title {
  margin: 0;
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.4583333333;
  letter-spacing: 0.024em;
}
.p-trimming__item-body {
  margin: 24px 0 0;
}
.p-trimming__item-list {
  display: flex;
  flex-wrap: wrap;
  row-gap: 1.5em;
  -moz-column-gap: 1em;
       column-gap: 1em;
  max-width: 934px;
  margin: 0;
  padding: 0 40px 0 0;
  list-style: none;
  line-height: 1.5;
  letter-spacing: 0.024em;
}
.p-trimming__item-text {
  margin: 0;
  line-height: 1.5;
  letter-spacing: 0.024em;
}
.p-trimming__item-table {
  margin: 80px 0 0;
}
.p-trimming__option {
  padding: 90px 0 90px;
}
.p-trimming__option-list {
  margin: 120px 0 0;
}
@media (max-width: 599px) {
  .p-trimming__option-list {
    margin-top: 60px;
  }
}
.p-trimming__accordions {
  display: grid;
  gap: 20px;
  max-width: 100vw;
  margin: 120px calc(clamp(0rem, -41.25rem + 50vw, 3.75rem) * -1) 0;
}
@media (max-width: 599px) {
  .p-trimming__accordions {
    gap: 60px;
    margin-top: 60px;
  }
}
.p-trimming__health-check {
  padding: 90px 0 90px;
}
.l-main:has(.p-trimming__certification.u-display__none) .p-trimming__health-check {
  padding: 90px 0 180px;
}
.p-trimming__health-check-content {
  display: grid;
  grid-template-columns: repeat(2, auto);
  align-items: start;
  gap: 11.0192837466%;
  padding: 64px 40px 64px 71px;
  background: linear-gradient(rgba(20, 42, 70, 0.8), rgba(20, 42, 70, 0.8)), url(../images/trimming-cta-img.jpg) no-repeat center center/cover;
  color: var(--text-white);
}
@media (max-width: 1024px) {
  .p-trimming__health-check-content {
    padding: clamp(2rem, -0.83rem + 7.55vw, 4rem) clamp(1.25rem, -0.519rem + 4.72vw, 2.5rem);
  }
}
@media (max-width: 1024px) and (max-width: 599px) {
  .p-trimming__health-check-content {
    grid-template-columns: auto;
    gap: 56px;
  }
}
.p-trimming__health-check-title .c-title__main {
  font-size: 2.5rem;
}
.p-trimming__health-check-title .c-title__sub {
  font-size: 1.125rem;
  line-height: 1.4444444444;
  color: var(--text-white);
}
.p-trimming__health-check-text {
  margin: 0;
  line-height: 1.7375;
  letter-spacing: 0.024em;
}
.p-trimming__health-check-price {
  display: inline-grid;
  grid-template-columns: repeat(2, auto);
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  width: 69.6517412935%;
  margin: 37px 0 0;
  padding: 16px 40px 16px 56px;
  background-color: var(--color-white);
  color: var(--text);
}
@media (max-width: 1024px) {
  .p-trimming__health-check-price {
    width: auto;
    padding: 16px 32px;
  }
}
.p-trimming__certification {
  padding: 90px 0 103px;
}
.p-trimming__certification-list {
  display: grid;
  grid-template-columns: max-content auto;
  justify-content: start;
  align-items: center;
  -moz-column-gap: 11.8343195266%;
       column-gap: 11.8343195266%;
  width: min(100%, 676px);
  margin: 0;
  line-height: 1.5;
  letter-spacing: 0.024em;
}
@media (max-width: 599px) {
  .p-trimming__certification-list {
    -moz-column-gap: 1.5em;
         column-gap: 1.5em;
  }
}
.p-trimming__certification-row {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: span 2;
  padding: 17px 30px 14px 30px;
  border-top: 1px solid var(--text-sub);
}
@media (max-width: 1024px) {
  .p-trimming__certification-row {
    padding: 17px 16px 14px 16px;
  }
}
.p-trimming__certification-row:last-child {
  padding-bottom: 16px;
  border-bottom: 1px solid var(--text-sub);
}
.p-trimming__certification-data {
  margin: 0;
  text-align: left;
}

.p-staff__director {
  padding: 180px 0 90px;
}
@media (max-width: 1024px) {
  .p-staff__director {
    width: min(100%, 600px);
    margin: 0 auto;
  }
}
@media (max-width: 599px) {
  .p-staff__director {
    padding: 120px 0 60px;
  }
}
.p-staff__specialist {
  padding: 90px 0 90px;
}
@media (max-width: 599px) {
  .p-staff__specialist {
    padding: 60px 0 60px;
  }
}
.p-staff__specialist-content {
  display: grid;
  gap: 180px;
  margin: 64px 0 0;
}
@media (max-width: 1024px) {
  .p-staff__specialist-content {
    width: min(100%, 600px);
    margin: 64px auto 0;
  }
}
@media (max-width: 599px) {
  .p-staff__specialist-content {
    gap: 120px;
  }
}
.p-staff__cta {
  padding: 90px 0 180px;
}
@media (max-width: 599px) {
  .p-staff__cta {
    padding: 60px 0 120px;
  }
}
.p-staff__cta-box {
  display: grid;
  grid-template-columns: auto 1fr;
  padding: 64px 40px 56px 71px;
  gap: 80px;
  background: linear-gradient(rgba(20, 42, 70, 0.48), rgba(20, 42, 70, 0.48)), url(../images/staff-cta.jpg) no-repeat center center/cover;
  color: var(--text-white);
}
@media (max-width: 1024px) {
  .p-staff__cta-box {
    grid-template-columns: auto;
    gap: 52px;
    padding: 36px 48px;
  }
}
@media (max-width: 599px) {
  .p-staff__cta-box {
    padding: 36px 24px;
    gap: 32px;
  }
}
.p-staff__cta-title .c-title__main {
  font-size: clamp(2rem, 1.711rem + 1.23vw, 2.5rem);
}
.p-staff__cta-title .c-title__sub {
  color: var(--text-white);
}
.p-staff__cta-body {
  padding: 14px 0 0;
}
.p-staff__cta-text {
  margin: 0;
  line-height: 1.75;
  letter-spacing: 0.024em;
}
.p-staff__cta-button {
  margin: 52px 0 0;
  text-align: right;
}
@media (max-width: 599px) {
  .p-staff__cta-button {
    margin: 48px 0 0;
  }
}

.p-recruit__heading {
  position: relative;
  display: block;
  background-color: #fff;
  color: var(--text);
  padding: 28px;
  width: 100%;
  max-width: 1200px;
  margin: 60px auto 120px;
}
@media (max-width: 599px) {
  .p-recruit__heading {
    margin-bottom: 40px;
  }
}
.p-recruit__heading p {
  margin: 0;
}
.p-recruit__form {
  background-color: #ede9e5;
  max-width: 1200px;
  margin: 2rem auto;
  padding: 80px 0;
}
.p-recruit__form-title {
  text-align: center;
}
.p-recruit__form-area {
  margin-top: 60px;
}
.p-recruit__content {
  max-width: 680px;
  width: 100%;
  margin: auto;
}
.p-recruit__text {
  font-size: 1.125rem;
  text-align: center;
  font-weight: bold;
  letter-spacing: 0.02em;
  color: #695542;
  line-height: 56px;
  margin: 0;
  background-position: 0px -1px;
  background-size: 3px 56px;
  background-repeat: repeat;
  background-image: linear-gradient(90deg, transparent 1px, #f4f0ea 1px), linear-gradient(180deg, transparent 55px, #695542 55px);
}
@media (max-width: 599px) {
  .p-recruit__text {
    font-size: 1rem;
    text-align: start;
  }
}
.p-recruit__description {
  margin: 120px auto;
}
@media (max-width: 599px) {
  .p-recruit__description {
    margin: 60px auto;
  }
}
.p-recruit__description-title {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  background-color: #fff;
  max-width: 400px;
  border-radius: 40px;
  height: 60px;
  margin: 50px auto;
}
.p-recruit__description-title::before {
  content: url("../images/icon-nurse.svg ");
  background-color: #dce24a;
  height: 60px;
  display: inline-block;
  width: 60px;
  border-radius: 40px;
  position: absolute;
  left: 0;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-recruit__description-lists {
  max-width: 1000px;
  margin: auto;
}
.p-recruit__description-list {
  display: grid;
  grid-template-columns: 1fr 5fr;
}
.p-recruit__description-list dt {
  background-color: #859339;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  border-bottom: dashed 1px;
  text-align: center;
}
@media (max-width: 599px) {
  .p-recruit__description-list dt {
    padding: 18px;
  }
}
.p-recruit__description-list dd {
  background-color: #fff;
  color: #695542;
  margin: 0;
  padding: 24px 40px;
  border-bottom: dashed 1px;
  font-weight: bold;
}
@media (max-width: 599px) {
  .p-recruit__description-list dd {
    padding: 18px;
  }
}
.p-recruit__description-list dd p {
  margin: 0;
}
.p-recruit__description-list:first-child dt {
  border-radius: 40px 0 0 0;
}
@media (max-width: 599px) {
  .p-recruit__description-list:first-child dt {
    border-radius: 20px 0 0 0;
  }
}
.p-recruit__description-list:first-child dd {
  border-radius: 0 40px 0 0;
}
@media (max-width: 599px) {
  .p-recruit__description-list:first-child dd {
    border-radius: 0 20px 0 0;
  }
}
.p-recruit__description-list:last-child dt {
  border-radius: 0 0 0 40px;
  border-bottom: none;
}
@media (max-width: 599px) {
  .p-recruit__description-list:last-child dt {
    border-radius: 0 0 0 20px;
  }
}
.p-recruit__description-list:last-child dd {
  border-radius: 0 0 40px 0;
  border-bottom: none;
}
@media (max-width: 599px) {
  .p-recruit__description-list:last-child dd {
    border-radius: 0 0 20px 0;
  }
}
.p-recruit__form-lists {
  max-width: 1160px;
  margin: 64px auto;
  border-radius: 60px;
  padding: 96px;
  background-color: #fffbef;
}
@media (max-width: 599px) {
  .p-recruit__form-lists {
    padding: 36px 24px;
    border-radius: 30px;
  }
}
.p-recruit__form-lists p {
  margin: 0;
}
.p-recruit__form-lists p span {
  color: #fa9432;
  font-size: 14px;
  margin-left: 4px;
}
.p-recruit__form-list {
  display: grid;
  grid-template-columns: 1fr 4fr;
  max-width: 780px;
  margin: 0 auto 24px;
}
@media (max-width: 599px) {
  .p-recruit__form-list {
    grid-template-columns: 1fr;
  }
  .p-recruit__form-list dt {
    margin-bottom: 8px;
  }
  .p-recruit__form-list dd {
    margin-left: 0;
  }
  .p-recruit__form-list dd span {
    margin: 0;
  }
}
.p-recruit__form-list dt {
  font-weight: bold;
}
.p-recruit__form-list dt span {
  color: #fa9432;
  font-size: 14px;
  margin-left: 4px;
}
.p-recruit__form-input {
  border: 2px solid var(--text);
  height: 50px;
  width: 100%;
  padding: 12px 24px;
  line-height: 1.6;
  font-size: 16px;
}
.p-recruit__form-input.small {
  width: 60%;
}
.p-recruit__form-input.textarea {
  height: 200px;
}
.p-recruit__form-radio [type=radio] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
.p-recruit__form-radio label {
  position: relative;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  padding-left: 29px;
  margin-right: 16px;
  cursor: pointer;
}
.p-recruit__form-radio label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  aspect-ratio: 1;
  border: 1px solid #707070;
  border-radius: 50%;
}
.p-recruit__form-radio label::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 4px;
  width: 12px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--text);
  opacity: 0;
}
.p-recruit__form-radio label:has(input[type=radio]:checked)::after {
  opacity: 1;
}
.p-recruit__form-submit {
  display: block;
  background-color: var(--color-primary);
  color: #fff;
  border-radius: 40px;
  padding: 16px;
  max-width: 250px;
  width: 100%;
  border: none;
  margin: 40px auto 0;
  font-size: 16px;
  cursor: pointer;
}

.u-br__sp {
  display: none;
}
@media (max-width: 599px) {
  .u-br__sp {
    display: block;
  }
}

.u-br__pc {
  display: block;
}
@media (max-width: 599px) {
  .u-br__pc {
    display: none;
  }
}

.u-fade__up {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 1s, transform 1s;
}
.u-fade__up.active {
  opacity: 1;
  transform: translateY(0);
}/*# sourceMappingURL=app.css.map */