@charset "UTF-8";
/* ---------------------------
  A Modern CSS Reset
----------------------------- */
*,
*::before,
*::after {
  box-sizing: border-box;
}

* {
  min-inline-size: 0;
}

:where(body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd,
ul,
ol) {
  margin: 0;
}

:where(html) {
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}

:where(body) {
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

:where(ol, ul) {
  padding: 0;
}

:where(ul) {
  list-style: none;
}

:where(a:not([class])) {
  text-decoration-skip-ink: auto;
}

:where(a) {
  word-break: break-all;
  text-decoration: none;
}

:where(img, picture) {
  max-width: 100%;
  height: auto;
  display: block;
}

:where(input, button, textarea, select) {
  font: inherit;
}

:where(button) {
  appearance: none;
  -webkit-appearance: none;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background-color: transparent;
}

:where(address) {
  font-style: normal;
}

:focus:not(:focus-visible) {
  outline: 0;
}

[tabindex="-1"]:focus-visible {
  outline: 0 !important;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
/* ---------------------------
  variable
----------------------------- */
:root {
  --orange: #FF9933;
  --orange-light: #FFB655;
  --blue: #61A3A0;
  --green: #7BA06D;
  --pink: #ED9BA5;
  --red: #C1272D;
  --black: #1A1A1A;
  --gray-dark: #666666;
  --gray: #949495;
  --gray-light: #F2F2F2;
  --white: #FFFFFF;
  --beige: #FDF5E9;
  --radius-full: calc(1px / 0);
  --font-color-primary: var(--black);
  --font-family-primary: "M PLUS 1", sans-serif;
  --font-family-secondary: "Noto Sans JP", sans-serif;
  --font-family-tertiary: "Noto Serif JP", serif;
}

/* ---------------------------
  icon
----------------------------- */
:root {
  --icon-chevron: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="22.121" height="13.182" viewBox="0 0 22.121 13.182"><path d="M11.061,13.182,0,2.121,2.121,0l8.939,8.939L20,0l2.121,2.121Z" transform="translate(0 0)"/></svg>');
  --icon-notice: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40"><path d="M-62-29a19.875,19.875,0,0,1-7.785-1.572,19.933,19.933,0,0,1-6.357-4.286,19.933,19.933,0,0,1-4.286-6.357A19.875,19.875,0,0,1-82-49a19.877,19.877,0,0,1,1.572-7.785,19.933,19.933,0,0,1,4.286-6.357,19.933,19.933,0,0,1,6.357-4.286A19.875,19.875,0,0,1-62-69a19.875,19.875,0,0,1,7.785,1.572,19.933,19.933,0,0,1,6.357,4.286,19.933,19.933,0,0,1,4.286,6.357A19.877,19.877,0,0,1-42-49a19.875,19.875,0,0,1-1.572,7.785,19.933,19.933,0,0,1-4.286,6.357,19.933,19.933,0,0,1-6.357,4.286A19.875,19.875,0,0,1-62-29Zm-1.9-13.793v3.481h3.609v-3.481ZM-64-58l.461,13.082h2.892L-60.211-58Z" transform="translate(82 69)" fill="black"/></svg>');
  --icon-instagram: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="23.993" height="23.993" viewBox="0 0 23.993 23.993"><path d="M7.03.08A8.709,8.709,0,0,0,4.12.64,5.819,5.819,0,0,0,2,2.03,5.779,5.779,0,0,0,.62,4.16,8.541,8.541,0,0,0,.07,7.07C0,8.36,0,8.76,0,12.02s.02,3.67.08,4.95a8.709,8.709,0,0,0,.56,2.91A5.819,5.819,0,0,0,2.03,22a5.909,5.909,0,0,0,2.13,1.38,8.541,8.541,0,0,0,2.91.55c1.28.06,1.69.07,4.95.06s3.67-.02,4.95-.08a8.968,8.968,0,0,0,2.91-.56A5.819,5.819,0,0,0,22,21.96a5.909,5.909,0,0,0,1.38-2.13,8.541,8.541,0,0,0,.55-2.91c.06-1.28.07-1.69.06-4.95s-.02-3.67-.08-4.95a8.968,8.968,0,0,0-.56-2.91,5.819,5.819,0,0,0-1.39-2.12A5.779,5.779,0,0,0,19.83.61,8.541,8.541,0,0,0,16.92.06C15.64,0,15.24,0,11.98,0S8.31.02,7.03.08m.14,21.7a6.684,6.684,0,0,1-2.23-.41,3.754,3.754,0,0,1-1.38-.9,3.754,3.754,0,0,1-.9-1.38,6.881,6.881,0,0,1-.42-2.23c-.06-1.26-.07-1.64-.08-4.85s0-3.58.06-4.85a6.684,6.684,0,0,1,.41-2.23,3.754,3.754,0,0,1,.9-1.38,3.754,3.754,0,0,1,1.38-.9,6.613,6.613,0,0,1,2.23-.42c1.27-.06,1.64-.07,4.85-.08s3.58,0,4.85.06a6.431,6.431,0,0,1,2.23.41,3.754,3.754,0,0,1,1.38.9,3.754,3.754,0,0,1,.9,1.38,6.613,6.613,0,0,1,.42,2.23c.06,1.27.07,1.65.08,4.85s0,3.58-.06,4.85a6.431,6.431,0,0,1-.41,2.23,4,4,0,0,1-2.28,2.28,6.881,6.881,0,0,1-2.23.42c-1.27.06-1.64.07-4.85.08s-3.58,0-4.85-.06M16.95,5.59a1.44,1.44,0,1,0,1.44-1.44,1.447,1.447,0,0,0-1.44,1.44M5.84,12.01a6.16,6.16,0,1,0,6.15-6.17,6.156,6.156,0,0,0-6.15,6.17m2.16,0A4,4,0,1,1,12.01,16,4.005,4.005,0,0,1,8,12.01" fill="black"/></svg>');
  --icon-newtab: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="27" height="27" viewBox="0 0 27 27"><path d="M0,27V5.06H2.11V24.89H21.94V27Zm5.06-5.06V0H27V21.94ZM7.17,19.83H24.89V2.11H7.17Zm3.62-4.819L17,8.79H12.53V6.68H20.6v8.07H18.49V10.28L12.28,16.5Z" fill="black"/></svg>');
  --icon-pdf: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="26.83" height="32" viewBox="0 0 26.83 32"><path d="M6.16,32A5.378,5.378,0,0,1,.79,26.63V12.2H0V5.78H.79V5.37A5.378,5.378,0,0,1,6.16,0H19.52l.58.58L26.25,6.73l.58.58V26.63A5.378,5.378,0,0,1,21.46,32ZM2.78,26.63a3.375,3.375,0,0,0,3.38,3.38h15.3l.011.011a3.376,3.376,0,0,0,3.38-3.38V8.62H21.04A2.817,2.817,0,0,1,18.22,5.8V1.99H6.16A3.376,3.376,0,0,0,2.78,5.37V5.78h9.83V12.2H2.78ZM2.92,7.41v2.97l-.01.01a.1.1,0,0,0,.1.1h.45a.1.1,0,0,0,.1-.1V9.31h.4a1.189,1.189,0,0,0,.43-.069A.941.941,0,0,0,4.72,9.03,1,1,0,0,0,4.93,8.71,1.306,1.306,0,0,0,5,8.31a1.01,1.01,0,0,0-.07-.39A.86.86,0,0,0,4.72,7.6a.939.939,0,0,0-.329-.21,1.189,1.189,0,0,0-.43-.08H3.02A.1.1,0,0,0,2.92,7.41Zm6.1,0v2.97a.1.1,0,0,0,.1.1h.45a.1.1,0,0,0,.1-.1V9.22h1.14a.1.1,0,0,0,.1-.1v-.4a.1.1,0,0,0-.1-.1v.01H9.67V7.91H10.85a.1.1,0,0,0,.1-.1v-.4a.1.1,0,0,0-.1-.1H9.12A.1.1,0,0,0,9.02,7.41ZM5.93,10.46H6.97a1.366,1.366,0,0,0,.52-.1,1.071,1.071,0,0,0,.4-.31.729.729,0,0,0,.14-.24,1.68,1.68,0,0,0,.07-.27,1.564,1.564,0,0,0,.03-.31V8.55a1.564,1.564,0,0,0-.03-.31,1.234,1.234,0,0,0-.07-.281.853.853,0,0,0-.14-.239,1.175,1.175,0,0,0-.4-.31,1.215,1.215,0,0,0-.52-.1H5.93a.1.1,0,0,0-.1.1v2.95A.1.1,0,0,0,5.93,10.46ZM7.55,27.03c-.5-.63-.3-2.12,2.1-3.24a14.875,14.875,0,0,1,1.94-.73,34.137,34.137,0,0,0,1.72-3.89,11.346,11.346,0,0,1-1.17-3.01c-.11-1.181.39-2.24,1.4-2.24,1.281,0,2.23,1.229.731,5.559A13.757,13.757,0,0,0,16.1,21.92a15.055,15.055,0,0,1,3.05-.281v-.01c1.81.111,2.18.96,2.24,1.6A1.752,1.752,0,0,1,19.21,24.71c-.99-.131-2.19-1.16-3.2-2.05a.136.136,0,0,0-.08-.02c-.16,0-1.99.519-3.38.92-1.5,2.677-2.989,3.945-4.05,3.945A1.172,1.172,0,0,1,7.55,27.03Zm3.3-3.09a6.175,6.175,0,0,0-2.21,1.17c-.75.72-.7,1.37-.36,1.59s1.28-.45,1.87-1.15v.01a5.562,5.562,0,0,0,.98-1.51c0-.079-.031-.142-.13-.142A.453.453,0,0,0,10.85,23.94ZM20.19,23c0-.36-.3-.72-1.17-.78a6.876,6.876,0,0,0-2.24.28,7.343,7.343,0,0,0,2.261,1.12v-.01C19.88,23.73,20.19,23.36,20.19,23Zm-7.24-.27c.56-.22,2.569-.67,2.569-.67s-1.309-1.56-1.48-1.87C14.04,20.19,13.26,22.23,12.95,22.73Zm.44-8.021c-.59.08-.73.751-.671,1.451a5.781,5.781,0,0,0,.64,1.93s.111.28.22.2a8.672,8.672,0,0,0,.45-1.9c.217-1.032-.022-1.687-.548-1.687A.691.691,0,0,0,13.39,14.71ZM6.47,9.88V7.9h.45a.664.664,0,0,1,.25.04.51.51,0,0,1,.19.13.449.449,0,0,1,.11.28,4.229,4.229,0,0,1,.02.54,4.243,4.243,0,0,1-.02.54.48.48,0,0,1-.11.28.586.586,0,0,1-.19.13.647.647,0,0,1-.25.04ZM3.56,8.71v-.8h.37a.454.454,0,0,1,.32.1.407.407,0,0,1,.11.3.372.372,0,0,1-.11.3.458.458,0,0,1-.32.1Z" fill="black"/></svg>');
  --icon-calendar: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="44.65" height="48" viewBox="0 0 44.65 48"><path d="M0,48V4.21H6.54V6.76a2.9,2.9,0,1,0,5.8,0V4.21h7.08V6.76a2.9,2.9,0,1,0,5.8,0V4.21H32.3V6.76a2.9,2.9,0,1,0,5.8,0V4.21h6.55V48ZM2.58,45.43H42.07V23.96h.011V11.94H2.58Zm29.6-6.02A2.59,2.59,0,1,1,34.77,42,2.59,2.59,0,0,1,32.18,39.41Zm-12.451,0A2.59,2.59,0,1,1,22.32,42,2.591,2.591,0,0,1,19.73,39.41Zm-12.45,0A2.59,2.59,0,1,1,9.87,42,2.591,2.591,0,0,1,7.28,39.41Zm24.9-10.3A2.59,2.59,0,1,1,34.77,31.7,2.59,2.59,0,0,1,32.18,29.11Zm-12.451,0a2.59,2.59,0,1,1,2.59,2.59A2.591,2.591,0,0,1,19.73,29.11Zm-12.45,0A2.59,2.59,0,1,1,9.87,31.7,2.591,2.591,0,0,1,7.28,29.11Zm24.9-10.3A2.59,2.59,0,1,1,34.77,21.4,2.59,2.59,0,0,1,32.18,18.81Zm-12.451,0a2.59,2.59,0,1,1,2.59,2.59A2.591,2.591,0,0,1,19.73,18.81Zm-12.45,0A2.59,2.59,0,1,1,9.87,21.4,2.591,2.591,0,0,1,7.28,18.81ZM33.59,6.76V1.61a1.61,1.61,0,1,1,3.22,0V6.76a1.61,1.61,0,0,1-3.22,0Zm-12.88,0V1.61a1.61,1.61,0,0,1,3.22,0V6.76a1.61,1.61,0,0,1-3.22,0Zm-12.88,0V1.61a1.61,1.61,0,1,1,3.22,0V6.76a1.61,1.61,0,0,1-3.22,0Z" fill="black"/></svg>');
  --icon-tel: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24.531" height="32.005" viewBox="0 0 24.531 32.005"><path d="M2.19,1.36C0,2.78-.44,7.24.39,10.87a32.915,32.915,0,0,0,4.34,10.2,34.011,34.011,0,0,0,7.54,8.12c2.98,2.24,7.22,3.66,9.42,2.24a11.281,11.281,0,0,0,2.84-3.04s-.97-1.49-1.18-1.82L20.1,21.56c-.24-.37-1.76-.03-2.52.4a7.29,7.29,0,0,0-1.99,2.16c-.71.41-1.31,0-2.55-.57-1.53-.7-3.25-2.89-4.62-4.87-1.25-2.06-2.55-4.52-2.56-6.2-.02-1.37-.15-2.08.52-2.56a7.307,7.307,0,0,0,2.79-.94c.71-.52,1.64-1.77,1.4-2.14L7.31,1.83C7.1,1.5,6.13,0,6.13,0A11.077,11.077,0,0,0,2.19,1.35Z" transform="translate(0.001 0.006)" fill="black"/></svg>');
  --icon-time: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 48 48"><path d="M0,24A24,24,0,1,1,24,48,24.032,24.032,0,0,1,0,24Zm5.71,0A18.29,18.29,0,1,0,24,5.71,18.311,18.311,0,0,0,5.71,24ZM23.32,39.92a.743.743,0,0,1,.74-.761.75.75,0,1,1,.01,1.5A.747.747,0,0,1,23.32,39.92Zm-9.05-2.39a.762.762,0,0,1-.17-1.05v-.01a.752.752,0,1,1,1.219.88.727.727,0,0,1-.61.31A.756.756,0,0,1,14.27,37.53Zm18.54-.25a.741.741,0,0,1,.159-1.049l.021.01a.731.731,0,0,1,1.039.159.741.741,0,0,1-.17,1.04.731.731,0,0,1-.44.15A.781.781,0,0,1,32.81,37.28ZM8.19,29.22a.731.731,0,0,1,.47-.941.751.751,0,0,1,.95.481.734.734,0,0,1-.47.94.493.493,0,0,1-.23.04A.762.762,0,0,1,8.19,29.22Zm30.74.36a.75.75,0,1,1,.45-1.43.76.76,0,0,1,.49.95.746.746,0,0,1-.71.52A.587.587,0,0,1,38.93,29.58ZM22.03,27.21V12.25h3.92V23.29h9.08v3.92ZM8.61,19.88H8.6a.738.738,0,0,1-.49-.941.769.769,0,0,1,.95-.49.74.74,0,0,1,.48.94.726.726,0,0,1-.71.53A.848.848,0,0,1,8.61,19.88Zm29.8-.62c0-.01-.02-.03-.02-.04a.748.748,0,1,1,1.419-.471c0,.01.021.031.021.041a.762.762,0,0,1-.481.949.98.98,0,0,1-.229.041A.76.76,0,0,1,38.41,19.26ZM13.97,11.63a.741.741,0,0,1,.16-1.049.753.753,0,0,1,1.05.159.731.731,0,0,1-.16,1.04.74.74,0,0,1-.45.15v.01A.75.75,0,0,1,13.97,11.63Zm19.3.19h.01Zm-.43-.139a.748.748,0,0,1-.17-1.04.732.732,0,0,1,1.04-.17.74.74,0,0,1,.169,1.04.752.752,0,0,1-.606.31A.7.7,0,0,1,32.84,11.68ZM23.89,8.83a.747.747,0,0,1-.75-.74.758.758,0,0,1,.75-.76.75.75,0,0,1,.751.751.741.741,0,0,1-.74.75Z" fill="black"/></svg>');
}

/* ---------------------------
  mixin
----------------------------- */
/* ---------------------------
  base
----------------------------- */
html {
  touch-action: manipulation;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
  hyphens: auto;
}

body {
  line-height: 1.75;
  font-weight: 500;
  color: var(--font-color-primary);
  font-family: var(--font-family-primary);
  overflow-x: clip;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}

.body-inner {
  background-color: var(--beige);
  background-image: url(../img/common/header_bg_left.png), url(../img/common/header_bg_right.png);
  background-size: clamp(180px, 70.85px + 29.108vw, 490px);
  background-position: left top, right top;
  background-repeat: no-repeat;
}
@media screen and (max-width: 896px) {
  .body-inner {
    background-image: url(../img/common/header_bg_left.png);
    background-position: left top;
  }
}

a {
  color: var(--font-color-primary);
}

/* ---------------------------
  component
----------------------------- */
.c-hgroup {
  display: flex;
  align-items: center;
  font-size: clamp(10px, 5.77px + 1.127vw, 22px);
  gap: 1em;
  margin-bottom: 0.5em;
}
.c-hgroup h2, .c-hgroup h3 {
  font-size: clamp(22px, 18.48px + 0.939vw, 32px);
  font-weight: 600;
}
.c-hgroup p {
  font-size: clamp(10px, 9.3px + 0.188vw, 12px);
  font-weight: 400;
  line-height: 1;
  color: var(--white);
  background-color: var(--orange);
  text-align: center;
  padding: 0.5em 1.2em 0.6em;
  border-radius: var(--radius-full);
  translate: 0 0.2em;
}

.c-lead {
  font-size: clamp(14px, 12.59px + 0.376vw, 18px);
  margin-bottom: 1em;
}

.c-hgroup + .c-lead {
  margin-bottom: 2.5em;
}
@media screen and (max-width: 640px) {
  .c-hgroup + .c-lead {
    margin-bottom: 1.8em;
  }
}

.c-btn {
  display: block;
  width: fit-content;
  text-align: center;
  font-size: clamp(14px, 13.65px + 0.094vw, 15px);
  font-weight: 600;
  color: var(--white);
  background-color: var(--orange);
  padding: 0.8em 2.2em;
  border-radius: var(--radius-full);
  transition: opacity 0.2s ease-in-out;
}
@media (hover: hover) {
  .c-btn:hover {
    opacity: 0.7;
  }
}

.c-btn-gray {
  display: block;
  width: fit-content;
  text-align: center;
  font-size: clamp(12px, 11.65px + 0.094vw, 13px);
  font-weight: 600;
  color: var(--white);
  background-color: var(--gray);
  padding: 0.5em 1.6em;
  border-radius: var(--radius-full);
  transition: opacity 0.2s ease-in-out;
}
@media (hover: hover) {
  .c-btn-gray:hover {
    opacity: 0.7;
  }
}

.c-btn-gray-lg {
  display: block;
  width: fit-content;
  text-align: center;
  font-size: clamp(13px, 12.65px + 0.094vw, 14px);
  font-weight: 600;
  color: var(--white);
  background-color: var(--gray);
  padding: 0.7em 2.2em;
  border-radius: var(--radius-full);
  transition: opacity 0.2s ease-in-out;
}
@media (hover: hover) {
  .c-btn-gray-lg:hover {
    opacity: 0.7;
  }
}

.c-headline-lg {
  width: 100%;
  max-width: 480px;
  font-size: clamp(18px, 13.07px + 1.315vw, 32px);
  font-weight: 600;
  text-align: center;
  border-radius: var(--radius-full);
  padding: 0.6em 1em 0.7em;
  color: var(--white);
  background-color: var(--green);
}
@media screen and (max-width: 640px) {
  .c-headline-lg {
    border-radius: 6px;
    max-width: 100%;
  }
}
.c-headline-lg--pink {
  background-color: var(--pink);
}
.c-headline-lg--blue {
  background-color: var(--blue);
}

.c-headline-round {
  font-size: clamp(18px, 15.89px + 0.563vw, 24px);
  font-weight: 500;
  text-align: center;
  border-radius: var(--radius-full);
  padding: 0.3em 1em 0.4em;
  color: var(--white);
  background-color: var(--green);
}
.c-headline-round--pink {
  background-color: var(--pink);
}
.c-headline-round--blue {
  background-color: var(--blue);
}

.c-headline-bar {
  font-size: clamp(17px, 14.54px + 0.657vw, 24px);
  font-weight: 600;
  padding-left: 1em;
  position: relative;
}
.c-headline-bar::before {
  content: "";
  display: block;
  width: clamp(4px, 2.59px + 0.376vw, 8px);
  height: 1.8em;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  background-color: var(--green);
}

.c-headline-bar-sm {
  font-size: clamp(16px, 15.3px + 0.188vw, 18px);
  font-weight: 600;
  padding-left: 0.8em;
  position: relative;
}
.c-headline-bar-sm::before {
  content: "";
  display: block;
  width: 3px;
  height: 1.8em;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  background-color: var(--green);
}

.u-wrapper {
  max-width: 1400px;
  margin-inline: auto;
  padding: 0 40px;
}
@media screen and (max-width: 640px) {
  .u-wrapper {
    padding: 0 clamp(10px, -0.56px + 2.817vw, 40px);
  }
}

.u-wrapper-1000 {
  max-width: 1080px;
  margin-inline: auto;
  padding: 0 40px;
}
@media screen and (max-width: 640px) {
  .u-wrapper-1000 {
    padding: 0 clamp(10px, -0.56px + 2.817vw, 40px);
  }
}

.u-container {
  container-type: inline-size;
}

.u-br-sp {
  display: none;
}
@media screen and (max-width: 640px) {
  .u-br-sp {
    display: inline;
  }
}

.u-br-sp-none {
  display: inline;
}
@media screen and (max-width: 640px) {
  .u-br-sp-none {
    display: none;
  }
}

.u-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

/* ---------------------------
  header
----------------------------- */
.header {
  width: 100%;
}

.header-head {
  max-width: 1400px;
  margin-inline: auto;
  padding: 0 40px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 40px;
  height: 100px;
}
@media screen and (max-width: 896px) {
  .header-head {
    padding-left: 20px;
    padding-right: 64px;
    height: 50px;
  }
}
@media screen and (max-width: 640px) {
  .header-head {
    padding-left: 10px;
  }
}

.header-head__logo a {
  display: block;
  transition: opacity 0.2s ease-in-out;
}
@media (hover: hover) {
  .header-head__logo a:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 1280px) {
  .header-head__logo img {
    width: 340px;
  }
}
@media screen and (max-width: 1024px) {
  .header-head__logo img {
    width: 265px;
  }
}
@media screen and (max-width: 896px) {
  .header-head__logo img {
    width: 204px;
  }
}

.header-head__nav {
  height: 100%;
  display: flex;
  align-items: center;
  gap: 14px;
}

.h-nav {
  display: flex;
  align-items: center;
  height: 100%;
  gap: 40px;
}
@media screen and (max-width: 1024px) {
  .h-nav {
    gap: 24px;
  }
}
@media screen and (max-width: 896px) {
  .h-nav {
    gap: 12px;
  }
}

.h-nav__item a {
  display: flex;
  align-items: center;
  gap: 0.7em;
  font-size: 16px;
  transition: opacity 0.2s ease-in-out;
}
@media (hover: hover) {
  .h-nav__item a:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 1280px) {
  .h-nav__item a {
    font-size: 14px;
  }
}
@media screen and (max-width: 1024px) {
  .h-nav__item a {
    font-size: 13px;
  }
}
@media screen and (max-width: 896px) {
  .h-nav__item a {
    flex-direction: column;
    gap: 0.4em;
    font-size: 10px;
    line-height: 1;
    scale: 0.8;
    white-space: nowrap;
  }
}
@media screen and (max-width: 896px) {
  .h-nav__item img {
    width: 24px;
    height: 24px;
    min-width: 24px;
    min-height: 24px;
  }
}

.h-nav__item--tel {
  padding-left: 20px;
}
@media screen and (max-width: 896px) {
  .h-nav__item--tel {
    display: none;
  }
}
.h-nav__item--tel p {
  font-size: 12px;
  margin-bottom: 0.8em;
}

.header-nav {
  max-width: 1400px;
  margin-inline: auto;
  padding: 0 40px;
}
@media screen and (max-width: 896px) {
  .header-nav {
    display: none;
    height: 100vh;
    height: 100dvh;
    overflow-y: auto;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999;
    width: 100%;
    padding: 0;
    padding-top: 50px;
    background-color: var(--beige);
  }
}

.g-nav {
  width: 100%;
  border-radius: 10px;
  overflow: hidden;
  background-color: var(--white);
}
@media screen and (max-width: 896px) {
  .g-nav {
    border-radius: 0;
    background-color: transparent;
    padding-bottom: 80px;
  }
}

.g-nav-list {
  display: grid;
  grid-template-columns: max-content 1fr 1fr 1fr 1fr 1fr 1fr;
  align-items: center;
  justify-content: center;
  height: 60px;
  gap: 1px;
}
@media screen and (max-width: 896px) {
  .g-nav-list {
    display: block;
    height: auto;
    padding: 0 20px;
  }
}

.g-nav-list__item {
  background-color: var(--orange-light);
  height: 100%;
}
@media screen and (max-width: 896px) {
  .g-nav-list__item {
    display: block;
    border-bottom: 1px solid var(--gray);
    background-color: transparent;
  }
}
.g-nav-list__item a {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(16px, 15.3px + 0.188vw, 18px);
  font-weight: 600;
  height: 100%;
  padding: 0.5em;
  color: var(--white);
  transition: background-color 0.3s ease-in;
}
@media (hover: hover) {
  .g-nav-list__item a:hover {
    background-color: var(--orange);
  }
}
@media screen and (max-width: 1024px) {
  .g-nav-list__item a {
    font-size: 14px;
  }
}
@media screen and (max-width: 896px) {
  .g-nav-list__item a {
    padding: 16px;
    display: block;
    color: var(--black);
  }
}
.g-nav-list__item--current {
  background-color: var(--orange);
}
@media screen and (max-width: 896px) {
  .g-nav-list__item--current {
    background-color: transparent;
  }
}
@media screen and (max-width: 896px) {
  .g-nav-list__item--home {
    display: none;
  }
}
.g-nav-list__item--home a {
  padding: 0.5em 1.2em;
}
.g-nav-list__item--sp {
  display: none;
}
@media screen and (max-width: 896px) {
  .g-nav-list__item--sp {
    display: block;
  }
}

/* ---------------------------
  hamb
----------------------------- */
.hamburger {
  display: none;
  width: 50px;
  height: 50px;
  padding: 17px 12px;
  background-color: var(--orange);
  cursor: pointer;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 10000;
}
@media screen and (max-width: 896px) {
  .hamburger {
    display: block;
  }
}
.hamburger.is_active .hamburger__inner span:nth-of-type(1) {
  transform: rotate(36deg);
}
.hamburger.is_active .hamburger__inner span:nth-of-type(2) {
  opacity: 0;
}
.hamburger.is_active .hamburger__inner span:nth-of-type(3) {
  transform: rotate(-36deg);
}

.hamburger__inner {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  transition: 0.3s ease-in-out;
}
.hamburger__inner span {
  display: block;
  width: 100%;
  height: 1px;
  opacity: 1;
  background-color: var(--white);
  transform-origin: left;
  transition: 0.3s ease-in-out;
}

/* ---------------------------
  sp bottom menu
----------------------------- */
.sp-bottom-menu {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 998;
  background-color: var(--white);
}
@media screen and (max-width: 896px) {
  .sp-bottom-menu {
    display: block;
  }
}

.sp-bottom-menu__list {
  display: grid;
  grid-template-columns: 70px 1fr 70px;
  gap: 1px;
}
.sp-bottom-menu__list a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 50px;
  padding: 0.2em;
  background-color: var(--green);
  color: var(--white);
  font-family: var(--font-family-secondary);
  font-weight: 700;
  font-size: 14px;
  text-align: center;
}
.sp-bottom-menu__list span {
  display: block;
  font-size: 10px;
  font-weight: bold;
  margin-top: 0.4em;
  white-space: nowrap;
  line-height: 1.2;
}

/* ---------------------------
  aside
----------------------------- */
.aside-contact {
  border-bottom: 1px solid var(--orange-light);
  border-top: 1px solid var(--orange-light);
  background-color: var(--white);
  padding: clamp(40px, 32.96px + 1.878vw, 60px) 0;
}
.aside-contact .u-wrapper {
  position: relative;
}

.aside-contact__main {
  width: fit-content;
  margin-inline: auto;
  position: relative;
  z-index: 10;
}
.aside-contact__main h2 {
  font-size: clamp(18px, 14.48px + 0.939vw, 28px);
  font-weight: 500;
  margin-bottom: 1em;
}
@media screen and (max-width: 640px) {
  .aside-contact__main h2 {
    width: fit-content;
    margin-inline: auto;
  }
}
.aside-contact__main p {
  font-size: clamp(13px, 12.3px + 0.188vw, 15px);
  font-weight: 400;
  line-height: 2;
}
@media screen and (max-width: 640px) {
  .aside-contact__main p {
    text-align: center;
    line-height: 1.75;
  }
}
.aside-contact__main .c-btn {
  margin-inline: auto;
  margin-top: 2em;
}

.aside-contact__image {
  position: absolute;
  bottom: 0;
  right: clamp(10px, -21.69px + 8.451vw, 100px);
  z-index: 1;
}
@media screen and (max-width: 1280px) {
  .aside-contact__image {
    position: static;
    width: fit-content;
    margin-inline: auto;
    margin-bottom: 24px;
  }
}
.aside-contact__image img {
  width: clamp(240px, 218.87px + 5.634vw, 300px);
}

/* ---------------------------
  footer
----------------------------- */
.footer {
  padding-top: clamp(40px, 25.92px + 3.756vw, 80px);
}
@media screen and (max-width: 896px) {
  .footer {
    padding-bottom: 50px;
  }
}

.footer-head {
  padding-bottom: clamp(40px, 25.92px + 3.756vw, 80px);
}
.footer-head .u-wrapper {
  display: flex;
  justify-content: space-between;
  gap: 40px;
}
@media screen and (max-width: 1024px) {
  .footer-head .u-wrapper {
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 640px) {
  .footer-head .u-wrapper {
    padding: 0 24px;
  }
}

@media screen and (max-width: 1024px) {
  .footer-head__meta {
    width: 100%;
  }
}
@media screen and (max-width: 1024px) {
  .footer-head__meta img {
    margin-inline: auto;
  }
}
.footer-head__meta address {
  font-size: clamp(13px, 12.3px + 0.188vw, 15px);
  font-family: var(--font-family-secondary);
  font-weight: 500;
  margin-top: 2em;
  margin-bottom: 0.8em;
}
@media screen and (max-width: 1024px) {
  .footer-head__meta address {
    text-align: center;
    margin-bottom: 0.5em;
  }
}
.footer-head__meta dl {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 0 0.8em;
  font-size: clamp(13px, 12.3px + 0.188vw, 15px);
  font-family: var(--font-family-secondary);
  font-weight: 500;
}
@media screen and (max-width: 1024px) {
  .footer-head__meta dl {
    grid-template-columns: auto auto auto auto;
    gap: 0.3em;
    width: fit-content;
    margin-inline: auto;
  }
}
@media screen and (max-width: 1024px) {
  .footer-head__meta dt:not(:first-child) {
    margin-left: 0.8em;
  }
}

.footer-head__nav li {
  font-size: 15px;
}
.footer-head__nav li + li {
  margin-top: 1.2em;
}
.footer-head__nav a {
  display: inline-block;
  font-size: 15px;
  font-family: var(--font-family-secondary);
  font-weight: 700;
  transition: opacity 0.2s ease-in-out;
}
@media (hover: hover) {
  .footer-head__nav a:hover {
    opacity: 0.7;
  }
}
.footer-head__nav ul {
  margin-top: 1em;
}
.footer-head__nav ul li {
  font-size: 13px;
}
.footer-head__nav ul li + li {
  margin-top: 1em;
}
.footer-head__nav ul a {
  font-weight: 500;
  font-size: 13px;
}

.footer-foot {
  padding: 5px 0;
  background-color: var(--white);
  border-top: 1px solid var(--orange-light);
}
@media screen and (max-width: 640px) {
  .footer-foot {
    padding: 20px 0;
  }
}
.footer-foot .u-wrapper {
  display: flex;
  justify-content: space-between;
  gap: 10px 40px;
}
@media screen and (max-width: 640px) {
  .footer-foot .u-wrapper {
    flex-direction: column;
    align-items: center;
  }
}

.footer-foot__copyright {
  font-size: 12px;
  place-self: center;
}
.footer-foot__copyright small {
  font-size: 1em;
  font-family: var(--font-family-secondary);
  font-weight: 400;
}

.footer-foot__bnr {
  display: flex;
  gap: 10px;
}
.footer-foot__bnr a {
  display: block;
  transition: opacity 0.2s ease-in-out;
}
@media (hover: hover) {
  .footer-foot__bnr a:hover {
    opacity: 0.7;
  }
}

/* ---------------------------
  post
----------------------------- */
.post > *,
.wp-editor > * {
  margin-top: 1em;
  margin-bottom: 1em;
  max-width: 100%;
}
.post > *:first-child,
.wp-editor > *:first-child {
  margin-top: 0 !important;
}
.post > *:last-child,
.wp-editor > *:last-child {
  margin-bottom: 0 !important;
}
.post h1:not([class]),
.wp-editor h1:not([class]) {
  font-size: clamp(24px, 21.18px + 0.751vw, 32px);
  font-weight: 600;
}
.post h2:not([class]),
.wp-editor h2:not([class]) {
  font-size: clamp(18px, 15.89px + 0.563vw, 24px);
  font-weight: 600;
  margin-top: 2em;
  margin-bottom: 1.2em;
  padding-left: 1em;
  position: relative;
}
@media screen and (max-width: 640px) {
  .post h2:not([class]),
  .wp-editor h2:not([class]) {
    margin-top: 2em;
    margin-bottom: 1em;
  }
}
.post h2:not([class])::before,
.wp-editor h2:not([class])::before {
  content: "";
  display: block;
  width: clamp(4px, 2.59px + 0.376vw, 8px);
  height: 1.8em;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  background-color: var(--green);
}
.post h3:not([class]),
.wp-editor h3:not([class]) {
  font-size: clamp(16px, 15.3px + 0.188vw, 18px);
  font-weight: 600;
  margin-top: 1.5em;
}
.post h4:not([class]),
.wp-editor h4:not([class]) {
  margin-top: 1.5em;
  font-size: 16px;
  font-weight: 500;
  color: var(--green);
}
.post h5:not([class]),
.wp-editor h5:not([class]) {
  font-size: 16px;
  font-weight: 500;
}
.post h6:not([class]),
.wp-editor h6:not([class]) {
  font-size: 14px;
  font-weight: 500;
}
.post p:not([class]),
.wp-editor p:not([class]) {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
}
.post strong, .post strong > *,
.wp-editor strong,
.wp-editor strong > * {
  font-weight: bold;
}
.post em, .post em > *,
.wp-editor em,
.wp-editor em > * {
  font-style: italic;
}
.post blockquote,
.wp-editor blockquote {
  padding: 0.5em;
  background-color: #f2f2f2;
}
.post small,
.wp-editor small {
  display: inline-block;
  font-size: clamp(12px, 11.3px + 0.188vw, 14px);
}
.post a:not([class]),
.wp-editor a:not([class]) {
  text-decoration: underline;
  text-decoration-color: var(--green);
  text-underline-offset: 0.3em;
  transition: color 0.2s ease-in;
}
@media (hover: hover) {
  .post a:not([class]):hover,
  .wp-editor a:not([class]):hover {
    color: var(--green);
  }
}
.post ul:not([class]),
.wp-editor ul:not([class]) {
  list-style: disc;
  margin: 2em 0;
  padding-left: 1.5em;
}
.post ul:not([class]) li,
.wp-editor ul:not([class]) li {
  font-size: 14px;
  font-weight: 400;
  margin: 1em 0;
}
.post ul:not([class]) li::marker,
.wp-editor ul:not([class]) li::marker {
  color: #ccc;
  font-size: 1em;
}
.post ol:not([class]),
.wp-editor ol:not([class]) {
  list-style: decimal;
  margin: 2em 0;
  padding-left: 1.5em;
}
.post ol:not([class]) li,
.wp-editor ol:not([class]) li {
  font-size: 14px;
  font-weight: 400;
  margin: 1em 0;
}
.post table,
.wp-editor table {
  border-collapse: collapse;
  width: 100%;
  margin-top: 1.5em;
  margin-bottom: 1.5em;
}
.post table tbody th, .post table tbody td,
.wp-editor table tbody th,
.wp-editor table tbody td {
  font-size: clamp(13px, 12.65px + 0.094vw, 14px);
  padding: 1em 1.5em;
  border: 1px solid var(--gray);
  vertical-align: middle;
}
@media screen and (max-width: 640px) {
  .post table tbody th, .post table tbody td,
  .wp-editor table tbody th,
  .wp-editor table tbody td {
    padding: 0.8em 1em;
  }
}
.post table tbody th,
.wp-editor table tbody th {
  background-color: var(--gray-light);
  font-weight: 500;
}
.post table tbody td,
.wp-editor table tbody td {
  font-weight: 400;
}
.post .table-overflow table,
.wp-editor .table-overflow table {
  margin-top: 0;
  margin-bottom: 0;
}
@media screen and (max-width: 896px) {
  .post .table-overflow table,
  .wp-editor .table-overflow table {
    width: max-content;
  }
}
@media screen and (max-width: 896px) {
  .post .table-overflow,
  .wp-editor .table-overflow {
    overflow-x: auto;
    position: relative;
    margin-top: 1.5em;
    margin-bottom: 1.5em;
  }
}
@media screen and (max-width: 896px) {
  .post .table-overflow::before,
  .wp-editor .table-overflow::before {
    content: "↔︎スクロールできます";
    display: block;
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 0.5em;
    position: sticky;
    top: 0;
    left: 0;
  }
}
.post .aligncenter,
.wp-editor .aligncenter {
  text-align: center;
}
.post .alignleft,
.wp-editor .alignleft {
  text-align: left;
}
.post .alignright,
.wp-editor .alignright {
  text-align: right;
}
.post img,
.wp-editor img {
  max-width: 460px;
  width: 100%;
  display: block;
  margin-top: 2em;
  margin-bottom: 2em;
}
.post img.aligncenter,
.wp-editor img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.post img.alignleft,
.wp-editor img.alignleft {
  display: block;
  margin-right: auto;
  margin-left: 0;
}
.post img.alignright,
.wp-editor img.alignright {
  display: block;
  margin-left: auto;
  margin-right: 0;
}
.post figure,
.wp-editor figure {
  margin-top: 2em;
  margin-bottom: 2em;
  width: fit-content !important;
}
.post figure figcaption,
.wp-editor figure figcaption {
  display: block;
  max-width: 460px;
  margin-inline: auto;
  font-size: clamp(12px, 11.3px + 0.188vw, 14px);
  text-align: center;
  margin-top: 0.5em;
}
.post figure img,
.wp-editor figure img {
  margin-top: 0;
  margin-bottom: 0;
}
.post .wp-caption,
.wp-editor .wp-caption {
  width: fit-content !important;
}
.post .wp-caption-dt,
.wp-editor .wp-caption-dt {
  width: fit-content !important;
}
.post .wp-caption-dt img,
.wp-editor .wp-caption-dt img {
  margin: 0;
}
.post .wp-caption-dd,
.wp-editor .wp-caption-dd {
  text-align: center;
}
.post .image-2cols,
.wp-editor .image-2cols {
  max-width: 980px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px 60px;
  margin-top: 40px;
  margin-bottom: 40px;
}
@media screen and (max-width: 640px) {
  .post .image-2cols,
  .wp-editor .image-2cols {
    grid-template-columns: 1fr;
    margin-top: 30px;
    margin-bottom: 30px;
  }
}
.post .image-2cols > br,
.wp-editor .image-2cols > br {
  display: none;
}
.post .image-2cols img, .post .image-2cols figure,
.wp-editor .image-2cols img,
.wp-editor .image-2cols figure {
  margin: 0;
}

/* ---------------------------
  hero
----------------------------- */
.hero {
  margin-top: 40px;
}
@media screen and (max-width: 896px) {
  .hero {
    margin-top: 0;
  }
}
.hero .u-wrapper {
  position: relative;
}
@media screen and (max-width: 896px) {
  .hero .u-wrapper {
    padding: 0;
  }
}
.hero .swiper-slide {
  position: relative;
}
.hero .swiper-slide img, .hero .swiper-slide video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 1980/1114;
}
.hero .swiper-slide p {
  position: absolute;
  top: clamp(20px, 5.92px + 3.756vw, 60px);
  left: clamp(20px, -36.34px + 15.023vw, 180px);
  z-index: 10;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 5px 10px;
}
@media screen and (max-width: 896px) {
  .hero .swiper-slide p {
    grid-template-columns: 1fr;
  }
}
.hero .swiper-slide p span {
  display: inline-block;
  padding: 0.4em 0.2em;
  background-color: var(--white);
  font-size: clamp(13px, 4.2px + 2.347vw, 38px);
  font-weight: 400;
  writing-mode: vertical-rl;
  text-orientation: upright;
}
@media screen and (max-width: 896px) {
  .hero .swiper-slide p span {
    writing-mode: inherit;
    text-orientation: inherit;
    padding: 0.3em 0.8em;
    order: inherit !important;
  }
}
.hero .swiper-slide p span:nth-child(1) {
  order: 3;
}
.hero .swiper-slide p span:nth-child(2) {
  order: 2;
}
.hero .swiper-slide p span:nth-child(3) {
  order: 1;
}

.hero__img {
  z-index: 1;
  border-radius: 30px;
  overflow: hidden;
}
@media screen and (max-width: 896px) {
  .hero__img {
    border-radius: 0;
  }
}
.hero__img picture, .hero__img img {
  width: 100%;
}

/* ---------------------------
  notice
----------------------------- */
.top-notice-section {
  padding-top: clamp(30px, 19.44px + 2.817vw, 60px);
  padding-bottom: 20px;
}
@media screen and (max-width: 640px) {
  .top-notice-section {
    padding-bottom: 0;
  }
}

.top-notice {
  padding: 10px clamp(10px, -0.56px + 2.817vw, 40px);
  border-radius: 15px;
  background-color: var(--white);
  border: 4px solid var(--red);
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 0 40px;
}
@media screen and (max-width: 896px) {
  .top-notice {
    padding-top: 16px;
    padding-bottom: 0;
    grid-template-columns: 1fr;
  }
}

.top-notice__headline {
  width: fit-content;
  margin-inline: auto;
  font-size: clamp(18px, 15.89px + 0.563vw, 24px);
  font-weight: 600;
  place-content: center;
  padding-left: 1.8em;
  background-image: url(../img/top/notice.svg);
  background-size: 1.3em;
  background-position: left center;
  background-repeat: no-repeat;
  color: var(--red);
}

.top-notice__list li + li {
  border-top: 1px solid #ddd;
}
.top-notice__list a {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 4px 40px;
  padding: 16px 20px;
  transition: opacity 0.2s ease-in-out;
}
@media (hover: hover) {
  .top-notice__list a:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 640px) {
  .top-notice__list a {
    grid-template-columns: 1fr;
    padding: 12px 10px;
  }
}
.top-notice__list time {
  display: block;
  white-space: nowrap;
  font-size: clamp(12px, 10.94px + 0.282vw, 15px);
}
@media screen and (max-width: 640px) {
  .top-notice__list time {
    font-weight: 400;
  }
}
.top-notice__list h3 {
  font-size: clamp(14px, 13.65px + 0.094vw, 15px);
  font-weight: 500;
}

/* ---------------------------
  info
----------------------------- */
.top-info-section {
  padding: clamp(30px, 19.44px + 2.817vw, 60px) 0 clamp(40px, 32.96px + 1.878vw, 60px);
}

.top-info {
  display: grid;
  grid-template-columns: 3.7fr 1fr;
  gap: 50px;
}
@media screen and (max-width: 1280px) {
  .top-info {
    grid-template-columns: 1fr;
  }
}

.top-info__main {
  background-color: var(--white);
  border-radius: 15px;
  padding: 30px 20px 44px;
}
@media screen and (max-width: 640px) {
  .top-info__main {
    padding-bottom: 30px;
    padding-top: 20px;
  }
}

.top-info__image {
  width: calc(100% + 50vw - 660px);
  border-top-left-radius: 15px;
  border-bottom-left-radius: 15px;
  overflow: hidden;
}
@media screen and (max-width: 1400px) {
  .top-info__image {
    width: calc(100% + 40px);
  }
}
@media screen and (max-width: 1280px) {
  .top-info__image {
    display: none;
  }
}
.top-info__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.top-info-list {
  padding-left: 20px;
  padding-right: 50px;
  height: 338px;
  overflow-y: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.top-info-list::-webkit-scrollbar {
  display: none;
}
@media screen and (max-width: 896px) {
  .top-info-list {
    padding-left: 0;
    padding-right: 0;
    height: auto;
  }
}
.top-info-list .simplebar-scrollbar:before {
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}
.top-info-list .simplebar-scrollbar.simplebar-visible:before {
  background: var(--orange);
  border-radius: var(--radius-full);
  width: 10px;
  opacity: 1;
}
.top-info-list .simplebar-track.simplebar-vertical {
  width: 10px;
  background-color: var(--gray-light);
  border-radius: var(--radius-full);
}
.top-info-list .info-list__item:first-child {
  padding-top: 8px;
}
@media screen and (max-width: 896px) {
  .top-info-list .info-list__item:nth-child(n+6) {
    display: none;
  }
}

.top-info-more {
  margin-inline: auto;
  margin-top: 20px;
}

/* ---------------------------
  blog
----------------------------- */
.top-blog-section {
  padding: clamp(40px, 25.92px + 3.756vw, 80px) 0 clamp(40px, 32.96px + 1.878vw, 60px);
  background-color: var(--white);
}

.top-blog-head {
  display: flex;
  justify-content: space-between;
  gap: 40px;
}

.top-blog-head__btn {
  display: grid;
  grid-template-columns: max-content 1fr;
  align-items: center;
  height: fit-content;
  gap: 0.6em;
}
@media screen and (max-width: 896px) {
  .top-blog-head__btn {
    display: none;
  }
}
.top-blog-head__btn::before {
  content: "";
  display: inline-block;
  mask: var(--icon-instagram) no-repeat center/contain;
  aspect-ratio: 1/1;
  inline-size: 1.5em;
  background-color: var(--white);
  translate: 0 0.05em;
}

.top-blog-btn-sp {
  display: none;
  grid-template-columns: max-content 1fr;
  align-items: center;
  margin-inline: auto;
  gap: 0.6em;
  margin-top: 40px;
}
@media screen and (max-width: 896px) {
  .top-blog-btn-sp {
    display: grid;
  }
}
.top-blog-btn-sp::before {
  content: "";
  display: inline-block;
  mask: var(--icon-instagram) no-repeat center/contain;
  aspect-ratio: 1/1;
  inline-size: 1.5em;
  background-color: var(--white);
  translate: 0 0.05em;
}

.top-blog-wrapper {
  max-width: 1780px;
  margin-inline: auto;
}

.top-blog-list {
  padding: 0 clamp(30px, 26.48px + 0.939vw, 40px);
}
@media screen and (max-width: 640px) {
  .top-blog-list {
    width: 100%;
    overflow-x: auto;
    padding-bottom: 20px;
    padding-left: 0;
    padding-right: 0;
  }
}

.top-blog-more {
  margin-top: clamp(20px, 9.44px + 2.817vw, 50px);
  margin-inline: auto;
}

/* ---------------------------
  service
----------------------------- */
.top-service-section {
  padding: clamp(40px, 25.92px + 3.756vw, 80px) 0 clamp(40px, 32.96px + 1.878vw, 60px);
}

.top-service {
  max-width: 1200px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}
@media screen and (max-width: 640px) {
  .top-service {
    grid-template-columns: 1fr;
    padding: 0 10px;
  }
}

.top-service__item {
  max-width: 300px;
  margin-inline: auto;
}
.top-service__item a {
  margin-inline: auto;
  margin-top: 2em;
}
.top-service__item h3 {
  font-size: 18px;
  font-weight: 600;
  text-align: center;
  color: var(--white);
  border-radius: 0.4em;
  margin-top: 1.8em;
  padding: 0.5em;
}
@media screen and (max-width: 640px) {
  .top-service__item h3 {
    margin-top: 1.2em;
  }
}
.top-service__item p {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  margin-top: 1.5em;
}
@media screen and (max-width: 640px) {
  .top-service__item p {
    margin-top: 1em;
  }
}
.top-service__item img {
  width: clamp(200px, 178.87px + 5.634vw, 260px);
  margin-inline: auto;
}
.top-service__item--primary h3 {
  background-color: var(--green);
}
.top-service__item--secondary h3 {
  background-color: var(--blue);
}
.top-service__item--tertiary h3 {
  background-color: var(--pink);
}

/* ---------------------------
  facility
----------------------------- */
.top-facility-section {
  padding: clamp(40px, 25.92px + 3.756vw, 80px) 0 clamp(40px, 32.96px + 1.878vw, 60px);
  border-top: 1px solid var(--orange-light);
}

.top-facility-container {
  padding: clamp(40px, 18.87px + 5.634vw, 100px) 0;
  background-color: var(--gray-light);
}

.top-facility {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(30px, 19.44px + 2.817vw, 60px) clamp(15px, 6.2px + 2.347vw, 40px);
}
@media screen and (max-width: 1024px) {
  .top-facility {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 896px) {
  .top-facility {
    grid-template-columns: repeat(2, 1fr);
  }
}

.top-facility__item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  gap: clamp(10px, 7.89px + 0.563vw, 16px);
  position: relative;
}
@media screen and (max-width: 640px) {
  .top-facility__item {
    grid-row: span 4;
  }
}
.top-facility__item img {
  border-radius: 15px;
  width: 100%;
}
@media screen and (max-width: 640px) {
  .top-facility__item img {
    border-radius: 8px;
  }
}
.top-facility__item .c-btn-gray {
  margin-inline: auto;
  margin-top: 0.2em;
}
.top-facility__item h3 {
  font-size: clamp(13px, 12.3px + 0.188vw, 15px);
  font-weight: 500;
  padding-left: 0.5em;
}
@media screen and (max-width: 480px) {
  .top-facility__item h3 {
    padding-left: 0;
  }
}
.top-facility__item p {
  position: absolute;
  top: 0;
  left: 0;
  width: fit-content;
  min-width: clamp(120px, 105.92px + 3.756vw, 160px);
  color: var(--white);
  padding: 0.6em;
  text-align: center;
  font-size: clamp(10px, 9.3px + 0.188vw, 12px);
  border-radius: 3px;
}
@media screen and (max-width: 640px) {
  .top-facility__item p {
    position: static;
  }
}
.top-facility__item--primary p {
  background-color: var(--green);
}
.top-facility__item--secondary p {
  background-color: var(--blue);
}
.top-facility__item--tertiary p {
  background-color: var(--pink);
}

/* ---------------------------
  info
----------------------------- */
.info-list__item {
  border-bottom: 1px solid var(--orange-light);
  display: flex;
  align-items: center;
  gap: 12px 30px;
  padding: 20px;
}
@media screen and (max-width: 1024px) {
  .info-list__item {
    flex-wrap: wrap;
    gap: 10px;
  }
}
@media screen and (max-width: 640px) {
  .info-list__item {
    padding: 16px 0;
  }
}
.info-list__item time {
  min-width: 8em;
  width: fit-content;
  white-space: nowrap;
  font-size: clamp(12px, 10.94px + 0.282vw, 15px);
}
@media screen and (max-width: 1024px) {
  .info-list__item time {
    min-width: inherit;
  }
}
.info-list__item a.cat {
  display: block;
  transition: opacity 0.2s ease-in-out;
}
@media (hover: hover) {
  .info-list__item a.cat:hover {
    opacity: 0.7;
  }
}
.info-list__item .cat {
  white-space: nowrap;
  font-size: clamp(10px, 8.94px + 0.282vw, 13px);
  padding: 0.2em 0.5em;
  text-align: center;
  border: 1px solid var(--black);
  border-radius: var(--radius-full);
  color: var(--black);
  background-color: var(--gray-light);
  width: fit-content;
  min-width: clamp(150px, 142.25px + 2.066vw, 172px);
}
.info-list__item .cat--important {
  color: var(--white);
  border-color: var(--red);
  background-color: var(--red);
}
.info-list__item .title {
  font-weight: normal;
  font-size: clamp(14px, 13.3px + 0.188vw, 16px);
}
@media screen and (max-width: 1024px) {
  .info-list__item .title {
    width: 100%;
  }
}
.info-list__item .title a {
  transition: opacity 0.2s ease-in-out;
}
@media (hover: hover) {
  .info-list__item .title a:hover {
    opacity: 0.7;
  }
}
.info-list__item .new {
  display: inline-block;
  font-size: 10px;
  color: var(--white);
  background-color: var(--pink);
  text-align: center;
  text-transform: uppercase;
  padding: 0.1em 0.8em 0.2em;
  border-radius: 0.2em;
  margin-left: 0.8em;
  font-weight: 500;
  translate: 0 -0.2em;
}

.info-list-nopost {
  text-align: center;
  padding-top: 2em;
  font-size: clamp(12px, 10.59px + 0.376vw, 16px);
}

.wp-pagenavi {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin-top: clamp(40px, 36.48px + 0.939vw, 50px);
}
.wp-pagenavi span, .wp-pagenavi a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid var(--gray);
  font-size: 14px;
  border-radius: 50%;
}
.wp-pagenavi .current {
  background-color: var(--orange);
  border-color: var(--orange);
  color: var(--white);
}
.wp-pagenavi .nextpostslink,
.wp-pagenavi .previouspostslink {
  color: transparent;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 6px;
}
.wp-pagenavi .nextpostslink {
  background-image: url(../img/common/post_next.svg);
}
.wp-pagenavi .previouspostslink {
  background-image: url(../img/common/post_prev.svg);
}

.info-layout {
  display: grid;
  grid-template-columns: auto 300px;
  gap: 40px 80px;
  padding-left: 40px;
  padding-right: 40px;
}
@media screen and (max-width: 1280px) {
  .info-layout {
    gap: 40px;
    padding-left: 0;
    padding-right: 0;
  }
}
@media screen and (max-width: 896px) {
  .info-layout {
    grid-template-columns: 1fr;
  }
}

.sidebar-info {
  background-color: #fff;
  border-radius: 15px;
  overflow: hidden;
  padding-bottom: 30px;
}

.sidebar-info + .sidebar-info {
  margin-top: 30px;
}
@media screen and (max-width: 896px) {
  .sidebar-info + .sidebar-info {
    margin-top: 20px;
  }
}

.sidebar-info__headline {
  background-color: var(--orange);
  color: #ffffff;
  font-weight: 700;
  font-size: 16px;
  padding: 11px 20px;
}
.sidebar-info__headline--secondary {
  background-color: var(--green);
}

.sidebar-info__list {
  padding: 0 20px;
}
.sidebar-info__list li {
  border-bottom: 1px solid var(--gray);
}
.sidebar-info__list a {
  display: block;
  padding: 18px 0;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.5;
  transition: opacity 0.2s ease-in-out;
}
@media (hover: hover) {
  .sidebar-info__list a:hover {
    opacity: 0.7;
  }
}

.sidebar-info__selectbox {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  display: block;
  width: calc(100% - 40px);
  margin-inline: auto;
  padding: 16px 0;
  font-size: 15px;
  font-weight: 400;
  color: var(--black);
  border: none;
  border-bottom: 1px solid var(--gray);
  border-radius: 0;
  background-color: #fff;
  background-image: url(../img/common/select.svg);
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 12px;
  cursor: pointer;
}

.single-info-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 20px;
  padding-bottom: clamp(20px, 16.48px + 0.939vw, 30px);
  border-bottom: 1px solid var(--gray);
}
.single-info-head time {
  white-space: nowrap;
  font-size: clamp(14px, 13.3px + 0.188vw, 16px);
}
.single-info-head .cat {
  white-space: nowrap;
  font-size: clamp(10px, 8.94px + 0.282vw, 13px);
  padding: 0.2em 0.5em;
  text-align: center;
  border: 1px solid var(--black);
  border-radius: var(--radius-full);
  color: var(--black);
  background-color: var(--gray-light);
  width: fit-content;
  min-width: clamp(150px, 142.25px + 2.066vw, 172px);
}
.single-info-head .cat--important,
.single-info-head .cat--emergency {
  color: var(--white);
  border-color: var(--red);
  background-color: var(--red);
}
.single-info-head h1 {
  width: 100%;
  font-size: clamp(18px, 16.59px + 0.376vw, 22px);
  font-weight: bold;
}

.single-info-body {
  padding: clamp(30px, 19.44px + 2.817vw, 60px) 10px;
}

.single-info-foot {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding-top: clamp(20px, 16.48px + 0.939vw, 30px);
  border-top: 1px solid var(--gray);
}
.single-info-foot a {
  transition: opacity 0.2s ease-in-out;
}
@media (hover: hover) {
  .single-info-foot a:hover {
    opacity: 0.7;
  }
}
.single-info-foot .archive {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  background-color: var(--orange);
  color: #ffffff;
  font-weight: bold;
  text-align: center;
  font-size: 13px;
  padding: 0.5em 2em;
  border-radius: var(--radius-full);
}
.single-info-foot .prev, .single-info-foot .next {
  border: 1px solid var(--gray);
  color: transparent;
  text-indent: -9999px;
  overflow: hidden;
  width: 40px;
  height: 40px;
  display: block;
  background-repeat: no-repeat;
  background-size: 5px;
  background-position: center;
  border-radius: 50%;
}
.single-info-foot .prev {
  background-image: url(../img/common/post_prev.svg);
}
.single-info-foot .next {
  background-image: url(../img/common/post_next.svg);
}

/* ---------------------------
  blog
----------------------------- */
.blog-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: clamp(36px, 31.07px + 1.315vw, 50px) clamp(15px, 2.68px + 3.286vw, 50px);
}

.blog-list__item {
  position: relative;
}
.blog-list__item a {
  display: block;
  transition: opacity 0.2s ease-in-out;
}
@media (hover: hover) {
  .blog-list__item a:hover {
    opacity: 0.7;
  }
}
.blog-list__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 4/3;
  border-radius: 15px;
  overflow: hidden;
}
.blog-list__item .cat {
  white-space: nowrap;
  font-size: clamp(10px, 8.94px + 0.282vw, 13px);
  padding: 0.2em 1em;
  text-align: center;
  border: 1px solid var(--black);
  border-radius: var(--radius-full);
  color: var(--black);
  background-color: var(--gray-light);
  width: fit-content;
  min-width: clamp(80px, 72.96px + 1.878vw, 100px);
  margin-top: 1.2em;
}
.blog-list__item .cat--important {
  color: var(--white);
  border-color: var(--red);
  background-color: var(--red);
}
.blog-list__item .title {
  font-weight: 500;
  font-size: clamp(16px, 15.3px + 0.188vw, 18px);
  margin-top: 1em;
}
.blog-list__item .new {
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  font-size: 12px;
  color: var(--white);
  background-color: var(--pink);
  text-align: center;
  text-transform: uppercase;
  padding: 0.4em 1.3em 0.5em;
  border-radius: 0.5em;
  font-weight: 500;
}
.blog-list__item .excerpt {
  margin-top: 0.8em;
  font-size: clamp(13px, 12.65px + 0.094vw, 14px);
  font-weight: 400;
  line-height: 1.6;
}

.blog-list-nopost {
  text-align: center;
  font-size: clamp(12px, 10.59px + 0.376vw, 16px);
}

.single-blog-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}
@media screen and (max-width: 896px) {
  .single-blog-head {
    padding: 0 10px;
  }
}
.single-blog-head time {
  white-space: nowrap;
  font-size: clamp(14px, 13.3px + 0.188vw, 16px);
}
.single-blog-head .cat {
  white-space: nowrap;
  font-size: 10px;
  padding: 0.2em 1.3em;
  text-align: center;
  border: 1px solid var(--black);
  border-radius: var(--radius-full);
  color: var(--black);
}
.single-blog-head h1 {
  width: 100%;
  font-size: clamp(18px, 16.59px + 0.376vw, 22px);
  font-weight: bold;
}

.single-blog-body {
  padding: clamp(40px, 25.92px + 3.756vw, 80px) 0;
}

.single-blog-foot {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
}
.single-blog-foot a {
  transition: opacity 0.2s ease-in-out;
}
@media (hover: hover) {
  .single-blog-foot a:hover {
    opacity: 0.7;
  }
}
.single-blog-foot .archive {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  background-color: var(--orange);
  color: #ffffff;
  font-weight: bold;
  text-align: center;
  font-size: 13px;
  padding: 0.5em 2em;
  border-radius: var(--radius-full);
}
.single-blog-foot .prev, .single-blog-foot .next {
  border: 1px solid var(--gray);
  color: transparent;
  text-indent: -9999px;
  overflow: hidden;
  width: 40px;
  height: 40px;
  display: block;
  background-repeat: no-repeat;
  background-size: 5px;
  background-position: center;
  border-radius: 50%;
}
.single-blog-foot .prev {
  background-image: url(../img/common/post_prev.svg);
}
.single-blog-foot .next {
  background-image: url(../img/common/post_next.svg);
}

/* ---------------------------
  breadcrumbs
----------------------------- */
.breadcrumbs {
  margin-top: 20px;
}
@media screen and (max-width: 896px) {
  .breadcrumbs {
    display: none;
  }
}

.breadcrumbs-inner {
  background-color: var(--white);
  display: flex;
  align-items: center;
  gap: 30px;
  height: 40px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 400;
  color: #424242;
  padding: 0 30px;
}
.breadcrumbs-inner > span:first-child a {
  display: inline-block;
  width: 16px;
  background-image: url(../img/common/home.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  text-indent: -9999px;
  color: transparent;
}
.breadcrumbs-inner > span:not(:first-child) {
  padding-left: 34px;
  background-image: url(../img/common/chevron_right.svg);
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 5px;
}
.breadcrumbs-inner a {
  transition: opacity 0.2s ease-in-out;
}
@media (hover: hover) {
  .breadcrumbs-inner a:hover {
    opacity: 0.7;
  }
}

/* ---------------------------
  page - common
----------------------------- */
.page-section {
  padding-top: clamp(20px, 12.96px + 1.878vw, 40px);
  padding-bottom: clamp(40px, 25.92px + 3.756vw, 80px);
}
.page-section p:not([class]) {
  font-weight: 400;
  font-size: 14px;
  line-height: 1.5;
}

.page-section:has(.service-section) {
  padding-bottom: 0;
}

.page-head-simple {
  margin-bottom: clamp(30px, 19.44px + 2.817vw, 60px);
}
.page-head-simple .page-headline-round {
  margin: 0;
}

.page-head {
  display: grid;
  align-items: center;
  grid-template-columns: 1.2fr 2fr;
  gap: 20px 40px;
  margin-bottom: clamp(40px, 18.87px + 5.634vw, 100px);
}
@media screen and (max-width: 896px) {
  .page-head {
    grid-template-columns: 1fr;
  }
}
.page-head:has(+ .service-anchor) {
  margin-bottom: 0;
}
.page-head--half {
  grid-template-columns: 1fr 1fr;
}
@media screen and (max-width: 896px) {
  .page-head--half {
    grid-template-columns: 1fr;
  }
}
.page-head--center {
  grid-template-columns: 1fr;
  width: fit-content;
  margin-inline: auto;
}
.page-head--center .page-title__slogan {
  text-align: center;
}

.page-title {
  max-width: 560px;
}

@media screen and (max-width: 896px) {
  .page-head__title {
    order: 2;
  }
}

.page-title__main {
  display: flex;
  align-items: center;
  gap: clamp(10px, 6.48px + 0.939vw, 20px);
}
.page-title__main p {
  width: fit-content;
  font-size: clamp(10px, 8.59px + 0.376vw, 14px) !important;
  font-weight: 500 !important;
  line-height: 1.75 !important;
  color: var(--white);
  background-color: var(--orange);
  padding: 0.3em 2.5em;
  border-radius: var(--radius-full);
  translate: 0 0.2em;
}
@media screen and (max-width: 640px) {
  .page-title__main p {
    padding: 0.2em 1em;
  }
}
.page-title__main h1 {
  font-size: clamp(22px, 16.37px + 1.502vw, 38px);
  font-weight: 500;
}

.page-title__cat {
  width: fit-content;
  background-color: var(--green);
  color: var(--white);
  text-align: center;
  padding: 0.3em 2.9em;
  font-size: clamp(12px, 11.3px + 0.188vw, 14px);
  border-radius: var(--radius-full);
  margin-bottom: 0.8em;
}
.page-title__cat--pink {
  background-color: var(--pink);
}
.page-title__cat--blue {
  background-color: var(--blue);
}

.page-title__sub {
  font-size: clamp(20px, 15.77px + 1.127vw, 32px);
  font-weight: 500;
  line-height: 1.5;
}
.page-title__sub span {
  font-size: clamp(16px, 14.24px + 0.469vw, 21px);
  font-weight: 500;
}

.page-title__slogan {
  font-size: clamp(15px, 12.89px + 0.563vw, 21px);
  color: var(--orange);
  margin-top: clamp(20px, 15.77px + 1.127vw, 32px);
}

.page-title__text {
  font-size: clamp(14px, 13.3px + 0.188vw, 16px);
  font-weight: 400;
  line-height: 2;
  margin-top: clamp(20px, 15.77px + 1.127vw, 32px);
}
@media screen and (max-width: 640px) {
  .page-title__text {
    line-height: 1.75;
  }
}

.page-title__slogan + .page-title__text {
  margin-top: 0.8em;
}

.page-title__lead {
  font-size: clamp(14px, 12.59px + 0.376vw, 18px);
  margin-top: 1em;
}
@media screen and (max-width: 640px) {
  .page-title__lead {
    margin-top: 0.5em;
  }
}

.page-head__img {
  border-radius: 30px;
  overflow: hidden;
}
@media screen and (max-width: 896px) {
  .page-head__img {
    order: 1;
  }
}
@media screen and (max-width: 640px) {
  .page-head__img {
    border-radius: 15px;
  }
}
.page-head__img img {
  width: 100%;
}

.page-box {
  background-color: var(--white);
  padding: 20px;
  border-radius: 10px;
}
.page-box > * {
  margin-top: 1em;
  margin-bottom: 1em;
  max-width: 100%;
}
.page-box > *:first-child {
  margin-top: 0 !important;
}
.page-box > *:last-child {
  margin-bottom: 0 !important;
}

.page-box-tight {
  background-color: var(--white);
  padding: 16px;
  border-radius: 10px;
}
.page-box-tight > * {
  margin-top: 1em;
  margin-bottom: 1em;
  max-width: 100%;
}
.page-box-tight > *:first-child {
  margin-top: 0 !important;
}
.page-box-tight > *:last-child {
  margin-bottom: 0 !important;
}

.page-box-spacious {
  background-color: var(--white);
  padding: clamp(20px, 14.37px + 1.502vw, 36px) clamp(20px, 12.96px + 1.878vw, 40px);
  border-radius: 10px;
}
.page-box-spacious > * {
  margin-top: 1em;
  margin-bottom: 1em;
  max-width: 100%;
}
.page-box-spacious > *:first-child {
  margin-top: 0 !important;
}
.page-box-spacious > *:last-child {
  margin-bottom: 0 !important;
}

.page-headline-bar {
  margin-top: 3.2em;
  margin-bottom: 2em;
  font-size: clamp(17px, 14.54px + 0.657vw, 24px);
  font-weight: 600;
  padding-left: 1em;
  position: relative;
}
.page-headline-bar::before {
  content: "";
  display: block;
  width: clamp(4px, 2.59px + 0.376vw, 8px);
  height: 1.8em;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  background-color: var(--green);
}
.page-headline-bar--pink::before {
  background-color: var(--pink);
}
.page-headline-bar--blue::before {
  background-color: var(--blue);
}
@media screen and (max-width: 640px) {
  .page-headline-bar {
    margin-top: 2em;
    margin-bottom: 1em;
  }
}

.page-headline-round {
  font-size: clamp(18px, 15.89px + 0.563vw, 24px);
  font-weight: 500;
  text-align: center;
  border-radius: var(--radius-full);
  padding: 0.3em 1em 0.4em;
  color: var(--white);
  background-color: var(--green);
}
.page-headline-round--pink {
  background-color: var(--pink);
}
.page-headline-round--blue {
  background-color: var(--blue);
}
.page-headline-round:not(:first-child) {
  margin-top: clamp(50px, 39.44px + 2.817vw, 80px);
}

.page-headline-round + .page-headline-bar {
  margin-top: 2.5em;
}
@media screen and (max-width: 640px) {
  .page-headline-round + .page-headline-bar {
    margin-top: 1.5em;
  }
}

.page-headline-bar-sm {
  margin-top: 2em;
  margin-bottom: 1em;
  font-size: clamp(16px, 15.3px + 0.188vw, 18px);
  font-weight: 600;
  padding-left: 0.8em;
  position: relative;
}
.page-headline-bar-sm::before {
  content: "";
  display: block;
  width: 3px;
  height: 1.8em;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  background-color: var(--green);
}

/* ---------------------------
  service
----------------------------- */
.service-anchor {
  display: grid;
  max-width: 1224px;
  margin-inline: auto;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px clamp(10px, -0.56px + 2.817vw, 40px);
  margin-top: clamp(30px, 19.44px + 2.817vw, 60px);
  padding-bottom: clamp(40px, 25.92px + 3.756vw, 80px);
}
@media screen and (max-width: 896px) {
  .service-anchor {
    grid-template-columns: 1fr;
    padding-left: 16px;
    padding-right: 16px;
  }
}

.service-anchor__item {
  max-width: 640px;
  width: 100%;
  margin-inline: auto;
}
.service-anchor__item a {
  display: grid;
  align-items: center;
  grid-template-columns: 1fr max-content;
  text-align: center;
  font-size: clamp(18px, 16.94px + 0.282vw, 21px);
  font-weight: 500;
  padding: 1em 1.2em;
  background-color: var(--white);
  box-shadow: 4px 4px 0 #ccc;
  border-radius: var(--radius-full);
  transition: opacity 0.2s ease-in-out;
}
@media (hover: hover) {
  .service-anchor__item a:hover {
    opacity: 0.7;
  }
}
.service-anchor__item a::after {
  content: "";
  display: inline-block;
  mask: var(--icon-chevron) no-repeat center/contain;
  aspect-ratio: 22/13;
  inline-size: 1em;
  translate: 0 0.05em;
}
.service-anchor__item--primary a {
  border: 4px solid var(--green);
  color: var(--green);
}
.service-anchor__item--primary a::after {
  background-color: var(--green);
}
.service-anchor__item--secondary a {
  border: 4px solid var(--blue);
  color: var(--blue);
}
.service-anchor__item--secondary a::after {
  background-color: var(--blue);
}
.service-anchor__item--tertiary a {
  border: 4px solid var(--pink);
  color: var(--pink);
}
.service-anchor__item--tertiary a::after {
  background-color: var(--pink);
}

.service-section {
  padding: clamp(40px, 25.92px + 3.756vw, 80px) 0;
  border-top: 1px solid var(--orange-light);
}

.service-head {
  display: grid;
  grid-template-columns: 1fr 2.3fr;
  gap: 20px clamp(20px, -1.13px + 5.634vw, 80px);
}
@media screen and (max-width: 640px) {
  .service-head {
    grid-template-columns: 1fr;
  }
}

.service-head__text {
  order: 2;
}
.service-head__text h2 {
  margin-bottom: 1.1em;
}
.service-head__text h3 {
  font-size: clamp(16px, 14.24px + 0.469vw, 21px);
  font-weight: 400;
}
@media screen and (max-width: 640px) {
  .service-head__text h3 {
    padding: 0 10px;
  }
}
.service-head__text p {
  font-size: clamp(14px, 13.3px + 0.188vw, 16px) !important;
  line-height: 1.75 !important;
  margin-top: 1em;
}
@media screen and (max-width: 640px) {
  .service-head__text p {
    padding: 0 10px;
  }
}

.service-head__img {
  order: 1;
}
.service-head__img img {
  margin-inline: auto;
}
@media screen and (max-width: 640px) {
  .service-head__img img {
    width: 200px;
  }
}

.service-body {
  max-width: 1000px;
  margin-inline: auto;
  margin-top: clamp(32px, 15.1px + 4.507vw, 80px);
}

.service-body__headline {
  font-size: clamp(14px, 10.48px + 0.939vw, 24px);
  margin-bottom: 2.5em;
}
@media screen and (max-width: 640px) {
  .service-body__headline {
    margin-bottom: 1.5em;
    padding: 0.6em;
  }
}

.service-body__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(30px, 19.44px + 2.817vw, 60px) clamp(20px, 12.96px + 1.878vw, 40px);
}
@media screen and (max-width: 896px) {
  .service-body__list {
    grid-template-columns: repeat(2, 1fr);
  }
}
.service-body__list li {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 20px clamp(30px, 19.44px + 2.817vw, 60px);
}
@media screen and (max-width: 896px) {
  .service-body__list li {
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width: 640px) {
  .service-body__list li {
    gap: 8px 30px;
  }
}
.service-body__list hgroup p {
  font-size: clamp(11px, 8.54px + 0.657vw, 18px) !important;
  font-weight: 500 !important;
  line-height: 1.75 !important;
  padding: 0 10px;
  margin-bottom: 0.5em;
}
@media screen and (max-width: 640px) {
  .service-body__list hgroup p {
    padding: 0 4px;
    margin-bottom: 0.2em;
  }
}
.service-body__list h4 {
  border-top: 1px solid var(--gray);
  border-bottom: 1px solid var(--gray);
  padding: 0.7em 10px;
  font-size: clamp(14px, 11.54px + 0.657vw, 21px);
  font-weight: 500;
}
@media screen and (max-width: 640px) {
  .service-body__list h4 {
    padding: 0.5em 4px;
  }
}
@media screen and (max-width: 896px) {
  .service-body__list div {
    place-content: end;
  }
}
.service-body__list div > p {
  padding: 0 10px;
  font-size: clamp(12px, 11.3px + 0.188vw, 14px) !important;
  line-height: 1.75 !important;
  margin-top: 1.5em;
}
@media screen and (max-width: 640px) {
  .service-body__list div > p {
    margin-top: 0.5em;
    padding: 0 4px;
  }
}
.service-body__list .c-btn-gray-lg {
  margin-left: auto;
  margin-top: 1.2em;
}
@media screen and (max-width: 896px) {
  .service-body__list .c-btn-gray-lg {
    margin-right: auto;
  }
}
.service-body__list img {
  width: 100%;
  border-radius: 15px;
}

/* ---------------------------
  facility
----------------------------- */
.facility-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(24px, 14.85px + 2.441vw, 50px);
  margin-top: clamp(20px, 12.96px + 1.878vw, 40px);
  margin-bottom: clamp(20px, 12.96px + 1.878vw, 40px);
}
@media screen and (max-width: 896px) {
  .facility-cards {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 640px) {
  .facility-cards {
    grid-template-columns: 1fr;
  }
}
.facility-cards--4 {
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(24px, 21.89px + 0.563vw, 30px);
}
@media screen and (max-width: 1024px) {
  .facility-cards--4 {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 896px) {
  .facility-cards--4 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 640px) {
  .facility-cards--4 {
    grid-template-columns: 1fr;
  }
}
.facility-cards--notext > div {
  grid-row: span 1;
}
.facility-cards > div {
  display: grid;
  grid-row: span 2;
  grid-template-rows: max-content;
  gap: clamp(12px, 9.18px + 0.751vw, 20px);
}
.facility-cards > div > *:first-child {
  margin-top: 0 !important;
}
.facility-cards > div > *:last-child {
  margin-bottom: 0 !important;
}
.facility-cards img {
  width: 100%;
  border-radius: 10px;
  overflow: hidden;
  margin: 0;
}
.facility-cards h4 {
  font-weight: 500;
  font-size: 15px;
  margin-bottom: 0;
}
.facility-cards h4 + p {
  margin-top: 0.5em;
}

.facility-headline-time {
  display: grid;
  width: fit-content;
  margin-inline: auto;
  grid-template-columns: max-content 1fr;
  align-items: center;
  gap: 0.8em;
  font-size: clamp(17px, 15.59px + 0.376vw, 21px);
  font-weight: 500;
  margin-top: clamp(40px, 32.96px + 1.878vw, 60px);
  margin-bottom: 1em;
}
.facility-headline-time::before {
  content: "";
  display: inline-block;
  mask: var(--icon-time) no-repeat center/contain;
  inline-size: 2.1em;
  aspect-ratio: 1/1;
  background-color: var(--green);
}
.facility-headline-time--pink::before {
  background-color: var(--pink);
}

.facility-headline-calendar {
  display: grid;
  width: fit-content;
  margin-inline: auto;
  grid-template-columns: max-content 1fr;
  align-items: center;
  gap: 0.8em;
  font-size: clamp(17px, 15.59px + 0.376vw, 21px);
  font-weight: 500;
  margin-top: clamp(40px, 32.96px + 1.878vw, 60px);
  margin-bottom: 1em;
}
.facility-headline-calendar::before {
  content: "";
  display: inline-block;
  mask: var(--icon-calendar) no-repeat center/contain;
  inline-size: 2.1em;
  aspect-ratio: 45/48;
  background-color: var(--green);
}
.facility-headline-calendar--pink::before {
  background-color: var(--pink);
}

.facility-calendar {
  max-width: 640px;
  width: 100%;
  margin-inline: auto;
}

.facility-calendar-table {
  width: 100%;
  border-collapse: collapse;
}
.facility-calendar-table th, .facility-calendar-table td {
  padding: 0.75em 1em;
  border: 1px solid #998675;
  font-size: clamp(13px, 12.3px + 0.188vw, 15px);
}
.facility-calendar-table th {
  width: 120px;
  font-weight: 500;
  text-align: center;
  padding-left: 0.5em;
  padding-right: 0.5em;
}
.facility-calendar-table td {
  font-weight: 400;
  text-align: left;
  padding-left: 2em;
}
@media screen and (max-width: 640px) {
  .facility-calendar-table td {
    padding-left: 1em;
  }
}

.facility-table {
  width: 100%;
  border-collapse: collapse;
}
.facility-table th, .facility-table td {
  padding: 0.75em 1em;
  border: 1px solid #998675;
  font-size: clamp(13px, 12.3px + 0.188vw, 15px);
}
.facility-table th {
  max-width: 200px;
  min-width: 88px;
  font-weight: 500;
  text-align: center;
  background-color: #C2D3BA;
}
.facility-table td {
  font-weight: 400;
  text-align: left;
  padding-left: 2em;
}
@media screen and (max-width: 640px) {
  .facility-table td {
    padding-left: 1em;
  }
}
.facility-table--pink th {
  background-color: #F9E5E8;
}
.facility-table--blue th {
  background-color: #B6D3D1;
}

.facility-pdf p {
  text-align: center;
  margin-bottom: 1em;
}
.facility-pdf a {
  width: fit-content;
  margin-inline: auto;
  display: grid;
  grid-template-columns: max-content 1fr;
  align-items: center;
  gap: 0.8em;
  font-weight: 500;
  font-size: clamp(16px, 14.24px + 0.469vw, 21px);
}
.facility-pdf a::before {
  content: "";
  display: inline-block;
  mask: var(--icon-pdf) no-repeat center/contain;
  inline-size: 2.5em;
  aspect-ratio: 26/32;
  background-color: #ED1C24;
}

.facility-tel h4 {
  font-weight: 500;
  text-align: center;
  font-size: clamp(16px, 15.3px + 0.188vw, 18px);
}
.facility-tel a {
  display: grid;
  grid-template-columns: max-content 1fr;
  align-items: center;
  gap: 0.2em;
  font-weight: 700;
  font-size: clamp(28px, 26.59px + 0.376vw, 32px);
  font-family: var(--font-family-secondary);
  width: fit-content;
  margin-inline: auto;
  transition: opacity 0.2s ease-in-out;
}
@media (hover: hover) {
  .facility-tel a:hover {
    opacity: 0.7;
  }
}
.facility-tel a::before {
  content: "";
  display: inline-block;
  mask: var(--icon-tel) no-repeat center/contain;
  inline-size: 0.75em;
  aspect-ratio: 24/32;
  background-color: var(--green);
  translate: 0 0.06em;
}

.facility-2cols {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(32px, 18.62px + 3.568vw, 70px);
  margin-top: clamp(30px, 19.44px + 2.817vw, 60px);
}
@media screen and (max-width: 896px) {
  .facility-2cols {
    grid-template-columns: 1fr;
  }
}
.facility-2cols > div {
  display: grid;
  grid-row: span 2;
  grid-template-rows: subgrid;
  gap: 0;
}
.facility-2cols > div > *:first-child {
  margin-top: 0 !important;
}
.facility-2cols > div > *:last-child {
  margin-bottom: 0 !important;
}

.facility-flow {
  list-style: none;
  counter-reset: li;
}
.facility-flow li + li::before {
  content: "";
  display: block;
  background-color: var(--blue);
  font-size: clamp(10px, 6.48px + 0.939vw, 20px);
  width: 5em;
  height: 2em;
  clip-path: polygon(50% 2em, 0% 0%, 5em 0%);
  margin: 1em auto;
}
.facility-flow div {
  background-color: var(--white);
  border-radius: 10px;
  padding: clamp(16px, 13.18px + 0.751vw, 24px) clamp(20px, 16.48px + 0.939vw, 30px) clamp(20px, 16.48px + 0.939vw, 30px);
}
.facility-flow h4 {
  display: grid;
  grid-template-columns: max-content 1fr;
  align-items: center;
  gap: 0.8em;
  font-size: clamp(18px, 15.89px + 0.563vw, 24px);
  font-weight: 500;
}
.facility-flow h4::before {
  counter-increment: li;
  content: counter(li);
  display: grid;
  place-content: center;
  font-weight: 600;
  color: var(--white);
  font-size: clamp(18px, 15.89px + 0.563vw, 24px);
  background-color: var(--blue);
  border-radius: 50%;
  aspect-ratio: 1/1;
  width: 2em;
  height: 2em;
  line-height: 1;
  white-space: nowrap;
}
.facility-flow p {
  margin-top: 0.2em;
  padding-left: clamp(40px, 29.44px + 2.817vw, 70px);
}

/* ---------------------------
  disclosure
----------------------------- */
.disclosure-list li {
  font-size: 14px;
  padding: 0 1.5em 1em;
  border-bottom: 1px solid var(--gray);
}
@media screen and (max-width: 640px) {
  .disclosure-list li {
    padding-left: 0.5em;
    padding-right: 0.5em;
  }
}
.disclosure-list li + li {
  margin-top: 1em;
}
.disclosure-list a {
  display: grid;
  grid-template-columns: max-content 1fr;
  align-items: center;
  gap: 0.8em;
  font-weight: 400;
  transition: color 0.2s ease-in;
}
@media (hover: hover) {
  .disclosure-list a:hover {
    color: var(--green);
  }
}
.disclosure-list a::before {
  content: "";
  display: inline-block;
  mask: var(--icon-newtab) no-repeat center/contain;
  inline-size: 2em;
  aspect-ratio: 1/1;
  background-color: var(--green);
}
.disclosure-list a[href$=".pdf"]::before {
  mask: var(--icon-pdf) no-repeat center/contain;
  inline-size: 2em;
  aspect-ratio: 26/32;
  background-color: #ED1C24;
}

h3:has(+ .disclosure-list) {
  font-size: clamp(16px, 15.3px + 0.188vw, 18px);
  font-weight: 500;
  margin-bottom: 0 !important;
  margin-top: 1.5em;
}

/* ---------------------------
  contact
----------------------------- */
.form {
  max-width: 800px;
  margin-inline: auto;
  padding: 50px 40px;
  background-color: #f7f7f7;
  border-radius: 8px;
  margin-top: clamp(40px, 34.37px + 1.502vw, 56px);
}
@media screen and (max-width: 896px) {
  .form {
    padding: 32px clamp(20px, 12.96px + 1.878vw, 40px);
  }
}
.form dl {
  max-width: 460px;
  margin-inline: auto;
}
.form dt {
  font-size: 14px;
  font-weight: bold;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}
.form dt span {
  display: block;
  width: fit-content;
  text-align: center;
  color: #ffffff;
  font-weight: bold;
  font-size: 10px;
  background-color: #f1181f;
  border-radius: 3px;
  letter-spacing: 0;
  padding: 0.1em 0.5em;
}
.form dd + dt {
  margin-top: 20px;
}
.form .error {
  font-size: 13px !important;
  margin-top: 0.2em;
}
.form input[type=text],
.form input[type=email],
.form input[type=number],
.form textarea,
.form select {
  width: 100%;
  border-radius: 8px;
  border: 3px solid #e5e5e5;
  background-color: #fff;
  font-size: 16px;
  padding: 0.5em 1em;
  color: var(--black);
}
.form input[type=number] {
  padding-left: 0.8em;
  padding-right: 0;
  text-align: center;
}
.form select {
  appearance: none;
  -webkit-appearance: none;
  background-image: url(../img/common/select.svg);
  background-position: right 16px center;
  background-size: 10px;
  background-repeat: no-repeat;
  cursor: pointer;
}
.form .name {
  display: flex;
  align-items: center;
  gap: 10px;
}
.form .horizontal-item + .horizontal-item {
  margin: 0 !important;
}
.form .radio {
  display: flex;
  align-items: center;
  gap: 22px;
}
.form .radio label {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
}
.form .radio input[type=radio] {
  appearance: none;
  -webkit-appearance: none;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  padding: 0;
  margin: 0;
  background-color: #fff;
  border: 3px solid #e5e5e5;
  cursor: pointer;
  margin: 0;
}
.form .radio input[type=radio]::after {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #e5e5e5;
}
.form .radio input[type=radio]:checked::after {
  background-color: var(--orange);
}
.form .radio span {
  font-size: 14px;
}
.form .birthday {
  display: flex;
  align-items: center;
  gap: 10px;
}
.form .birthday span {
  font-size: 14px;
}
.form textarea {
  display: block;
  height: 180px;
  resize: vertical;
}
.form .submit {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: clamp(30px, 26.48px + 0.939vw, 40px);
}
.form .submit button {
  display: block;
  width: 100%;
  max-width: 200px;
  font-size: 13px;
  font-weight: bold;
  text-align: center;
  padding: 1em;
  border-radius: 6px;
  color: #ffffff;
  background-color: #0094e0;
  cursor: pointer;
  transition: opacity 0.2s ease-in-out;
}
@media (hover: hover) {
  .form .submit button:hover {
    opacity: 0.7;
  }
}
.form .large {
  max-width: 200px;
}
.form .medium {
  max-width: 115px;
}
.form .small {
  max-width: 80px;
}
.form .exsmall {
  max-width: 60px;
}

.contact-head {
  max-width: 400px;
  margin-inline: auto;
  text-align: center;
  padding: 0.8em;
  border-radius: var(--radius-full);
  border: 1px solid var(--black);
  font-weight: normal;
  font-size: clamp(14px, 13.3px + 0.188vw, 16px);
}
.contact-head:not(:first-of-type) {
  margin-top: clamp(50px, 32.39px + 4.695vw, 100px);
}

.contact-text {
  width: fit-content;
  margin-inline: auto;
  margin-top: 1.6em;
  margin-bottom: 1.6em;
  font-size: clamp(14px, 13.3px + 0.188vw, 16px);
}

.contact-tel {
  display: block;
  margin-inline: auto;
  width: fit-content;
}
.contact-tel img {
  margin: 0;
}

.contact-complete {
  max-width: 480px;
  margin-inline: auto;
}

/* ---------------------------
  corporate
----------------------------- */
.corporate-slogan p {
  font-size: 14px;
  text-align: center;
  margin-bottom: 2em;
}
@media screen and (max-width: 640px) {
  .corporate-slogan p {
    margin-bottom: 1em;
  }
}
.corporate-slogan img {
  margin-inline: auto;
}
@media screen and (max-width: 640px) {
  .corporate-slogan img {
    width: 60%;
  }
}

.corporate-policy {
  width: fit-content;
  margin-inline: auto;
  list-style: decimal;
  padding-left: 1.5em;
  padding-top: 0.6em;
  padding-bottom: 0.6em;
}
@media screen and (max-width: 640px) {
  .corporate-policy {
    padding-top: 0;
    padding-bottom: 0;
  }
}
.corporate-policy li {
  font-size: clamp(16px, 14.24px + 0.469vw, 21px);
  font-weight: 200;
  font-family: var(--font-family-tertiary);
}

.corporate-table {
  border-collapse: collapse;
  width: 100%;
  margin-top: 1.5em;
  margin-bottom: 1.5em;
}
.corporate-table tbody th, .corporate-table tbody td {
  border-top: 1px solid var(--gray);
  border-bottom: 1px solid var(--gray);
  vertical-align: middle;
  font-weight: 400;
  text-align: left;
  padding: 1em 2em;
  font-size: clamp(12px, 11.3px + 0.188vw, 14px);
}
@media screen and (max-width: 640px) {
  .corporate-table tbody th, .corporate-table tbody td {
    padding: 0.8em 1em;
  }
}
.corporate-table tbody th {
  background-color: var(--gray-light);
  min-width: 190px;
  padding-left: 1.5em;
}
@media screen and (max-width: 640px) {
  .corporate-table tbody th {
    min-width: 96px;
    padding-left: 0.8em;
  }
}

.corporate-map iframe {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 5/3;
}
@media screen and (max-width: 640px) {
  .corporate-map iframe {
    aspect-ratio: 1/1;
  }
}

/* ---------------------------
  sitemap
----------------------------- */
.sitemap-list {
  margin-top: 40px;
}
@media screen and (max-width: 640px) {
  .sitemap-list {
    margin-top: 24px;
  }
}
.sitemap-list > li {
  font-size: 16px;
  font-weight: 700;
  padding-left: 0.8em;
  padding-right: 0.8em;
  padding-bottom: 0.8em;
  margin-bottom: 0.8em;
  border-bottom: 1px solid var(--gray);
}
.sitemap-list ul li {
  padding-left: 1em;
  margin-top: 1em;
  font-size: 15px;
  font-weight: 500;
}
@media screen and (max-width: 640px) {
  .sitemap-list ul li {
    font-size: 14px;
  }
}
.sitemap-list a {
  transition: 0.2s color ease-in;
}
@media (hover: hover) {
  .sitemap-list a:hover {
    color: var(--green);
  }
}