@charset "UTF-8";
:root {
  --PC: 1;
  --SP: 0;
  --color-primary: #02a951;
  --color-secondary1: #033323;
  --color-secondary1-light: #044d34;
  --color-secondary2: #067345;
  --color-secondary3: #26d367;
  --color-secondary4: #e8faee;
  --color-secondary4d: #cfedd8;
  --color-accent: #caf345;
  --color-black: #252626;
  --color-gray: #9ea6a4;
  --color-gray-dark: #616665;
  --color-gray-light: #dae5e3;
  --color-gray-light2: #edf2f1;
  --color-gray-light3: #f0f7f7;
  --color-danger: #d90000;
  --color-white: #fff;
  --font-family-base: "Noto Sans JP", sans-serif;
  --font-family-english: "Be Vietnam Pro";
  --font-h1: bold 48px/1.5 var(--font-family-base);
  --font-h2: bold 40px/1.5 var(--font-family-base);
  --font-h3: bold 32px/1.6 var(--font-family-base);
  --font-h4: bold 24px/1.6 var(--font-family-base);
  --font-h5: bold 18px/1.7 var(--font-family-base);
  --font-h6: bold 16px/1.7 var(--font-family-base);
  --font-h7: bold 14px/1.7 var(--font-family-base);
  --font-p: normal 16px/1.8 var(--font-family-base);
  --font-p2: normal 14px/1.8 var(--font-family-base);
  --font-label: bold 13px/1.5 var(--font-family-base);
  --font-label2: normal 12px/1.5 var(--font-family-base);
  --font-english: italic 700 100%/1.5 var(--font-family-english);
  --font-english-xlg: italic 800 max(80px * var(--PC), 60px * var(--SP)) / 1.5 var(--font-family-english);
  --font-english-lg: italic 700 48px/1.6 var(--font-family-english);
  --font-english-md: italic 800 32px/1.6 var(--font-family-english);
  --font-english-sm: italic 800 16px/1.7 var(--font-family-english);
  --font-english-xs: italic 800 13px/1.7 var(--font-family-english);
  --size-4000: 160px;
  --size-3000: 120px;
  --size-2500: 100px;
  --size-2400: 96px;
  --size-2200: 88px;
  --size-2000: 80px;
  --size-1600: 64px;
  --size-1500: 60px;
  --size-1200: 48px;
  --size-1100: 44px;
  --size-1000: 40px;
  --size-900: 36px;
  --size-800: 32px;
  --size-700: 28px;
  --size-600: 24px;
  --size-500: 20px;
  --size-400: 16px;
  --size-300: 12px;
  --size-200: 8px;
  --size-100: 4px;
  --size-0: 0;
  --site-gutter: min(100vw * 48 / 1200, 48px);
  --content-max-width: 1200px;
  --header-px: clamp(0.72px, 100vw / 1440, 1px);
  --header-height: calc(100 * var(--header-px));
}
@media (width < 768px) {
  :root {
    --PC: 0;
    --SP: 1;
    --font-english-xlg: italic 800 60px/1.5 var(--font-family-english);
    --site-gutter: 24px;
    --content-max-width: 390px;
  }
}

.mt-160px,
.mt-4000 {
  margin-top: var(--size-4000) !important;
}

.mt-120px,
.mt-3000 {
  margin-top: var(--size-3000) !important;
}

.mt-100px,
.mt-2500 {
  margin-top: var(--size-2500) !important;
}

.mt-96px,
.mt-2400 {
  margin-top: var(--size-2400) !important;
}

.mt-88px,
.mt-2200 {
  margin-top: var(--size-2200) !important;
}

.mt-80px,
.mt-2000 {
  margin-top: var(--size-2000) !important;
}

.mt-64px,
.mt-1600 {
  margin-top: var(--size-1600) !important;
}

.mt-60px,
.mt-1500 {
  margin-top: var(--size-1500) !important;
}

.mt-48px,
.mt-1200 {
  margin-top: var(--size-1200) !important;
}

.mt-44px,
.mt-1100 {
  margin-top: var(--size-1100) !important;
}

.mt-40px,
.mt-1000 {
  margin-top: var(--size-1000) !important;
}

.mt-36px,
.mt-900 {
  margin-top: var(--size-900) !important;
}

.mt-32px,
.mt-800 {
  margin-top: var(--size-800) !important;
}

.mt-28px,
.mt-700 {
  margin-top: var(--size-700) !important;
}

.mt-24px,
.mt-600 {
  margin-top: var(--size-600) !important;
}

.mt-20px,
.mt-500 {
  margin-top: var(--size-500) !important;
}

.mt-16px,
.mt-400 {
  margin-top: var(--size-400) !important;
}

.mt-12px,
.mt-300 {
  margin-top: var(--size-300) !important;
}

.mt-8px,
.mt-200 {
  margin-top: var(--size-200) !important;
}

.mt-4px,
.mt-100 {
  margin-top: var(--size-100) !important;
}

.mt-0,
.mt-0 {
  margin-top: var(--size-0) !important;
}

@media (width >= 768px) {
  .pc-mt-160px,
  .pc-mt-4000 {
    margin-top: var(--size-4000) !important;
  }
  .pc-mt-120px,
  .pc-mt-3000 {
    margin-top: var(--size-3000) !important;
  }
  .pc-mt-100px,
  .pc-mt-2500 {
    margin-top: var(--size-2500) !important;
  }
  .pc-mt-96px,
  .pc-mt-2400 {
    margin-top: var(--size-2400) !important;
  }
  .pc-mt-88px,
  .pc-mt-2200 {
    margin-top: var(--size-2200) !important;
  }
  .pc-mt-80px,
  .pc-mt-2000 {
    margin-top: var(--size-2000) !important;
  }
  .pc-mt-64px,
  .pc-mt-1600 {
    margin-top: var(--size-1600) !important;
  }
  .pc-mt-60px,
  .pc-mt-1500 {
    margin-top: var(--size-1500) !important;
  }
  .pc-mt-48px,
  .pc-mt-1200 {
    margin-top: var(--size-1200) !important;
  }
  .pc-mt-44px,
  .pc-mt-1100 {
    margin-top: var(--size-1100) !important;
  }
  .pc-mt-40px,
  .pc-mt-1000 {
    margin-top: var(--size-1000) !important;
  }
  .pc-mt-36px,
  .pc-mt-900 {
    margin-top: var(--size-900) !important;
  }
  .pc-mt-32px,
  .pc-mt-800 {
    margin-top: var(--size-800) !important;
  }
  .pc-mt-28px,
  .pc-mt-700 {
    margin-top: var(--size-700) !important;
  }
  .pc-mt-24px,
  .pc-mt-600 {
    margin-top: var(--size-600) !important;
  }
  .pc-mt-20px,
  .pc-mt-500 {
    margin-top: var(--size-500) !important;
  }
  .pc-mt-16px,
  .pc-mt-400 {
    margin-top: var(--size-400) !important;
  }
  .pc-mt-12px,
  .pc-mt-300 {
    margin-top: var(--size-300) !important;
  }
  .pc-mt-8px,
  .pc-mt-200 {
    margin-top: var(--size-200) !important;
  }
  .pc-mt-4px,
  .pc-mt-100 {
    margin-top: var(--size-100) !important;
  }
  .pc-mt-0,
  .pc-mt-0 {
    margin-top: var(--size-0) !important;
  }
}
@media (width < 768px) {
  .sp-mt-160px,
  .sp-mt-4000 {
    margin-top: var(--size-4000) !important;
  }
  .sp-mt-120px,
  .sp-mt-3000 {
    margin-top: var(--size-3000) !important;
  }
  .sp-mt-100px,
  .sp-mt-2500 {
    margin-top: var(--size-2500) !important;
  }
  .sp-mt-96px,
  .sp-mt-2400 {
    margin-top: var(--size-2400) !important;
  }
  .sp-mt-88px,
  .sp-mt-2200 {
    margin-top: var(--size-2200) !important;
  }
  .sp-mt-80px,
  .sp-mt-2000 {
    margin-top: var(--size-2000) !important;
  }
  .sp-mt-64px,
  .sp-mt-1600 {
    margin-top: var(--size-1600) !important;
  }
  .sp-mt-60px,
  .sp-mt-1500 {
    margin-top: var(--size-1500) !important;
  }
  .sp-mt-48px,
  .sp-mt-1200 {
    margin-top: var(--size-1200) !important;
  }
  .sp-mt-44px,
  .sp-mt-1100 {
    margin-top: var(--size-1100) !important;
  }
  .sp-mt-40px,
  .sp-mt-1000 {
    margin-top: var(--size-1000) !important;
  }
  .sp-mt-36px,
  .sp-mt-900 {
    margin-top: var(--size-900) !important;
  }
  .sp-mt-32px,
  .sp-mt-800 {
    margin-top: var(--size-800) !important;
  }
  .sp-mt-28px,
  .sp-mt-700 {
    margin-top: var(--size-700) !important;
  }
  .sp-mt-24px,
  .sp-mt-600 {
    margin-top: var(--size-600) !important;
  }
  .sp-mt-20px,
  .sp-mt-500 {
    margin-top: var(--size-500) !important;
  }
  .sp-mt-16px,
  .sp-mt-400 {
    margin-top: var(--size-400) !important;
  }
  .sp-mt-12px,
  .sp-mt-300 {
    margin-top: var(--size-300) !important;
  }
  .sp-mt-8px,
  .sp-mt-200 {
    margin-top: var(--size-200) !important;
  }
  .sp-mt-4px,
  .sp-mt-100 {
    margin-top: var(--size-100) !important;
  }
  .sp-mt-0,
  .sp-mt-0 {
    margin-top: var(--size-0) !important;
  }
}
.mb-160px,
.mb-4000 {
  margin-bottom: var(--size-4000) !important;
}

.mb-120px,
.mb-3000 {
  margin-bottom: var(--size-3000) !important;
}

.mb-100px,
.mb-2500 {
  margin-bottom: var(--size-2500) !important;
}

.mb-96px,
.mb-2400 {
  margin-bottom: var(--size-2400) !important;
}

.mb-88px,
.mb-2200 {
  margin-bottom: var(--size-2200) !important;
}

.mb-80px,
.mb-2000 {
  margin-bottom: var(--size-2000) !important;
}

.mb-64px,
.mb-1600 {
  margin-bottom: var(--size-1600) !important;
}

.mb-60px,
.mb-1500 {
  margin-bottom: var(--size-1500) !important;
}

.mb-48px,
.mb-1200 {
  margin-bottom: var(--size-1200) !important;
}

.mb-44px,
.mb-1100 {
  margin-bottom: var(--size-1100) !important;
}

.mb-40px,
.mb-1000 {
  margin-bottom: var(--size-1000) !important;
}

.mb-36px,
.mb-900 {
  margin-bottom: var(--size-900) !important;
}

.mb-32px,
.mb-800 {
  margin-bottom: var(--size-800) !important;
}

.mb-28px,
.mb-700 {
  margin-bottom: var(--size-700) !important;
}

.mb-24px,
.mb-600 {
  margin-bottom: var(--size-600) !important;
}

.mb-20px,
.mb-500 {
  margin-bottom: var(--size-500) !important;
}

.mb-16px,
.mb-400 {
  margin-bottom: var(--size-400) !important;
}

.mb-12px,
.mb-300 {
  margin-bottom: var(--size-300) !important;
}

.mb-8px,
.mb-200 {
  margin-bottom: var(--size-200) !important;
}

.mb-4px,
.mb-100 {
  margin-bottom: var(--size-100) !important;
}

.mb-0,
.mb-0 {
  margin-bottom: var(--size-0) !important;
}

@media (width >= 768px) {
  .pc-mb-160px,
  .pc-mb-4000 {
    margin-bottom: var(--size-4000) !important;
  }
  .pc-mb-120px,
  .pc-mb-3000 {
    margin-bottom: var(--size-3000) !important;
  }
  .pc-mb-100px,
  .pc-mb-2500 {
    margin-bottom: var(--size-2500) !important;
  }
  .pc-mb-96px,
  .pc-mb-2400 {
    margin-bottom: var(--size-2400) !important;
  }
  .pc-mb-88px,
  .pc-mb-2200 {
    margin-bottom: var(--size-2200) !important;
  }
  .pc-mb-80px,
  .pc-mb-2000 {
    margin-bottom: var(--size-2000) !important;
  }
  .pc-mb-64px,
  .pc-mb-1600 {
    margin-bottom: var(--size-1600) !important;
  }
  .pc-mb-60px,
  .pc-mb-1500 {
    margin-bottom: var(--size-1500) !important;
  }
  .pc-mb-48px,
  .pc-mb-1200 {
    margin-bottom: var(--size-1200) !important;
  }
  .pc-mb-44px,
  .pc-mb-1100 {
    margin-bottom: var(--size-1100) !important;
  }
  .pc-mb-40px,
  .pc-mb-1000 {
    margin-bottom: var(--size-1000) !important;
  }
  .pc-mb-36px,
  .pc-mb-900 {
    margin-bottom: var(--size-900) !important;
  }
  .pc-mb-32px,
  .pc-mb-800 {
    margin-bottom: var(--size-800) !important;
  }
  .pc-mb-28px,
  .pc-mb-700 {
    margin-bottom: var(--size-700) !important;
  }
  .pc-mb-24px,
  .pc-mb-600 {
    margin-bottom: var(--size-600) !important;
  }
  .pc-mb-20px,
  .pc-mb-500 {
    margin-bottom: var(--size-500) !important;
  }
  .pc-mb-16px,
  .pc-mb-400 {
    margin-bottom: var(--size-400) !important;
  }
  .pc-mb-12px,
  .pc-mb-300 {
    margin-bottom: var(--size-300) !important;
  }
  .pc-mb-8px,
  .pc-mb-200 {
    margin-bottom: var(--size-200) !important;
  }
  .pc-mb-4px,
  .pc-mb-100 {
    margin-bottom: var(--size-100) !important;
  }
  .pc-mb-0,
  .pc-mb-0 {
    margin-bottom: var(--size-0) !important;
  }
}
@media (width < 768px) {
  .sp-mb-160px,
  .sp-mb-4000 {
    margin-bottom: var(--size-4000) !important;
  }
  .sp-mb-120px,
  .sp-mb-3000 {
    margin-bottom: var(--size-3000) !important;
  }
  .sp-mb-100px,
  .sp-mb-2500 {
    margin-bottom: var(--size-2500) !important;
  }
  .sp-mb-96px,
  .sp-mb-2400 {
    margin-bottom: var(--size-2400) !important;
  }
  .sp-mb-88px,
  .sp-mb-2200 {
    margin-bottom: var(--size-2200) !important;
  }
  .sp-mb-80px,
  .sp-mb-2000 {
    margin-bottom: var(--size-2000) !important;
  }
  .sp-mb-64px,
  .sp-mb-1600 {
    margin-bottom: var(--size-1600) !important;
  }
  .sp-mb-60px,
  .sp-mb-1500 {
    margin-bottom: var(--size-1500) !important;
  }
  .sp-mb-48px,
  .sp-mb-1200 {
    margin-bottom: var(--size-1200) !important;
  }
  .sp-mb-44px,
  .sp-mb-1100 {
    margin-bottom: var(--size-1100) !important;
  }
  .sp-mb-40px,
  .sp-mb-1000 {
    margin-bottom: var(--size-1000) !important;
  }
  .sp-mb-36px,
  .sp-mb-900 {
    margin-bottom: var(--size-900) !important;
  }
  .sp-mb-32px,
  .sp-mb-800 {
    margin-bottom: var(--size-800) !important;
  }
  .sp-mb-28px,
  .sp-mb-700 {
    margin-bottom: var(--size-700) !important;
  }
  .sp-mb-24px,
  .sp-mb-600 {
    margin-bottom: var(--size-600) !important;
  }
  .sp-mb-20px,
  .sp-mb-500 {
    margin-bottom: var(--size-500) !important;
  }
  .sp-mb-16px,
  .sp-mb-400 {
    margin-bottom: var(--size-400) !important;
  }
  .sp-mb-12px,
  .sp-mb-300 {
    margin-bottom: var(--size-300) !important;
  }
  .sp-mb-8px,
  .sp-mb-200 {
    margin-bottom: var(--size-200) !important;
  }
  .sp-mb-4px,
  .sp-mb-100 {
    margin-bottom: var(--size-100) !important;
  }
  .sp-mb-0,
  .sp-mb-0 {
    margin-bottom: var(--size-0) !important;
  }
}
.my-160px,
.my-4000 {
  margin-block: var(--size-4000) !important;
}

.my-120px,
.my-3000 {
  margin-block: var(--size-3000) !important;
}

.my-100px,
.my-2500 {
  margin-block: var(--size-2500) !important;
}

.my-96px,
.my-2400 {
  margin-block: var(--size-2400) !important;
}

.my-88px,
.my-2200 {
  margin-block: var(--size-2200) !important;
}

.my-80px,
.my-2000 {
  margin-block: var(--size-2000) !important;
}

.my-64px,
.my-1600 {
  margin-block: var(--size-1600) !important;
}

.my-60px,
.my-1500 {
  margin-block: var(--size-1500) !important;
}

.my-48px,
.my-1200 {
  margin-block: var(--size-1200) !important;
}

.my-44px,
.my-1100 {
  margin-block: var(--size-1100) !important;
}

.my-40px,
.my-1000 {
  margin-block: var(--size-1000) !important;
}

.my-36px,
.my-900 {
  margin-block: var(--size-900) !important;
}

.my-32px,
.my-800 {
  margin-block: var(--size-800) !important;
}

.my-28px,
.my-700 {
  margin-block: var(--size-700) !important;
}

.my-24px,
.my-600 {
  margin-block: var(--size-600) !important;
}

.my-20px,
.my-500 {
  margin-block: var(--size-500) !important;
}

.my-16px,
.my-400 {
  margin-block: var(--size-400) !important;
}

.my-12px,
.my-300 {
  margin-block: var(--size-300) !important;
}

.my-8px,
.my-200 {
  margin-block: var(--size-200) !important;
}

.my-4px,
.my-100 {
  margin-block: var(--size-100) !important;
}

.my-0,
.my-0 {
  margin-block: var(--size-0) !important;
}

@media (width >= 768px) {
  .pc-my-160px,
  .pc-my-4000 {
    margin-block: var(--size-4000) !important;
  }
  .pc-my-120px,
  .pc-my-3000 {
    margin-block: var(--size-3000) !important;
  }
  .pc-my-100px,
  .pc-my-2500 {
    margin-block: var(--size-2500) !important;
  }
  .pc-my-96px,
  .pc-my-2400 {
    margin-block: var(--size-2400) !important;
  }
  .pc-my-88px,
  .pc-my-2200 {
    margin-block: var(--size-2200) !important;
  }
  .pc-my-80px,
  .pc-my-2000 {
    margin-block: var(--size-2000) !important;
  }
  .pc-my-64px,
  .pc-my-1600 {
    margin-block: var(--size-1600) !important;
  }
  .pc-my-60px,
  .pc-my-1500 {
    margin-block: var(--size-1500) !important;
  }
  .pc-my-48px,
  .pc-my-1200 {
    margin-block: var(--size-1200) !important;
  }
  .pc-my-44px,
  .pc-my-1100 {
    margin-block: var(--size-1100) !important;
  }
  .pc-my-40px,
  .pc-my-1000 {
    margin-block: var(--size-1000) !important;
  }
  .pc-my-36px,
  .pc-my-900 {
    margin-block: var(--size-900) !important;
  }
  .pc-my-32px,
  .pc-my-800 {
    margin-block: var(--size-800) !important;
  }
  .pc-my-28px,
  .pc-my-700 {
    margin-block: var(--size-700) !important;
  }
  .pc-my-24px,
  .pc-my-600 {
    margin-block: var(--size-600) !important;
  }
  .pc-my-20px,
  .pc-my-500 {
    margin-block: var(--size-500) !important;
  }
  .pc-my-16px,
  .pc-my-400 {
    margin-block: var(--size-400) !important;
  }
  .pc-my-12px,
  .pc-my-300 {
    margin-block: var(--size-300) !important;
  }
  .pc-my-8px,
  .pc-my-200 {
    margin-block: var(--size-200) !important;
  }
  .pc-my-4px,
  .pc-my-100 {
    margin-block: var(--size-100) !important;
  }
  .pc-my-0,
  .pc-my-0 {
    margin-block: var(--size-0) !important;
  }
}
@media (width < 768px) {
  .sp-my-160px,
  .sp-my-4000 {
    margin-block: var(--size-4000) !important;
  }
  .sp-my-120px,
  .sp-my-3000 {
    margin-block: var(--size-3000) !important;
  }
  .sp-my-100px,
  .sp-my-2500 {
    margin-block: var(--size-2500) !important;
  }
  .sp-my-96px,
  .sp-my-2400 {
    margin-block: var(--size-2400) !important;
  }
  .sp-my-88px,
  .sp-my-2200 {
    margin-block: var(--size-2200) !important;
  }
  .sp-my-80px,
  .sp-my-2000 {
    margin-block: var(--size-2000) !important;
  }
  .sp-my-64px,
  .sp-my-1600 {
    margin-block: var(--size-1600) !important;
  }
  .sp-my-60px,
  .sp-my-1500 {
    margin-block: var(--size-1500) !important;
  }
  .sp-my-48px,
  .sp-my-1200 {
    margin-block: var(--size-1200) !important;
  }
  .sp-my-44px,
  .sp-my-1100 {
    margin-block: var(--size-1100) !important;
  }
  .sp-my-40px,
  .sp-my-1000 {
    margin-block: var(--size-1000) !important;
  }
  .sp-my-36px,
  .sp-my-900 {
    margin-block: var(--size-900) !important;
  }
  .sp-my-32px,
  .sp-my-800 {
    margin-block: var(--size-800) !important;
  }
  .sp-my-28px,
  .sp-my-700 {
    margin-block: var(--size-700) !important;
  }
  .sp-my-24px,
  .sp-my-600 {
    margin-block: var(--size-600) !important;
  }
  .sp-my-20px,
  .sp-my-500 {
    margin-block: var(--size-500) !important;
  }
  .sp-my-16px,
  .sp-my-400 {
    margin-block: var(--size-400) !important;
  }
  .sp-my-12px,
  .sp-my-300 {
    margin-block: var(--size-300) !important;
  }
  .sp-my-8px,
  .sp-my-200 {
    margin-block: var(--size-200) !important;
  }
  .sp-my-4px,
  .sp-my-100 {
    margin-block: var(--size-100) !important;
  }
  .sp-my-0,
  .sp-my-0 {
    margin-block: var(--size-0) !important;
  }
}
.pt-160px,
.pt-4000 {
  padding-top: var(--size-4000) !important;
}

.pt-120px,
.pt-3000 {
  padding-top: var(--size-3000) !important;
}

.pt-100px,
.pt-2500 {
  padding-top: var(--size-2500) !important;
}

.pt-96px,
.pt-2400 {
  padding-top: var(--size-2400) !important;
}

.pt-88px,
.pt-2200 {
  padding-top: var(--size-2200) !important;
}

.pt-80px,
.pt-2000 {
  padding-top: var(--size-2000) !important;
}

.pt-64px,
.pt-1600 {
  padding-top: var(--size-1600) !important;
}

.pt-60px,
.pt-1500 {
  padding-top: var(--size-1500) !important;
}

.pt-48px,
.pt-1200 {
  padding-top: var(--size-1200) !important;
}

.pt-44px,
.pt-1100 {
  padding-top: var(--size-1100) !important;
}

.pt-40px,
.pt-1000 {
  padding-top: var(--size-1000) !important;
}

.pt-36px,
.pt-900 {
  padding-top: var(--size-900) !important;
}

.pt-32px,
.pt-800 {
  padding-top: var(--size-800) !important;
}

.pt-28px,
.pt-700 {
  padding-top: var(--size-700) !important;
}

.pt-24px,
.pt-600 {
  padding-top: var(--size-600) !important;
}

.pt-20px,
.pt-500 {
  padding-top: var(--size-500) !important;
}

.pt-16px,
.pt-400 {
  padding-top: var(--size-400) !important;
}

.pt-12px,
.pt-300 {
  padding-top: var(--size-300) !important;
}

.pt-8px,
.pt-200 {
  padding-top: var(--size-200) !important;
}

.pt-4px,
.pt-100 {
  padding-top: var(--size-100) !important;
}

.pt-0,
.pt-0 {
  padding-top: var(--size-0) !important;
}

@media (width >= 768px) {
  .pc-pt-160px,
  .pc-pt-4000 {
    padding-top: var(--size-4000) !important;
  }
  .pc-pt-120px,
  .pc-pt-3000 {
    padding-top: var(--size-3000) !important;
  }
  .pc-pt-100px,
  .pc-pt-2500 {
    padding-top: var(--size-2500) !important;
  }
  .pc-pt-96px,
  .pc-pt-2400 {
    padding-top: var(--size-2400) !important;
  }
  .pc-pt-88px,
  .pc-pt-2200 {
    padding-top: var(--size-2200) !important;
  }
  .pc-pt-80px,
  .pc-pt-2000 {
    padding-top: var(--size-2000) !important;
  }
  .pc-pt-64px,
  .pc-pt-1600 {
    padding-top: var(--size-1600) !important;
  }
  .pc-pt-60px,
  .pc-pt-1500 {
    padding-top: var(--size-1500) !important;
  }
  .pc-pt-48px,
  .pc-pt-1200 {
    padding-top: var(--size-1200) !important;
  }
  .pc-pt-44px,
  .pc-pt-1100 {
    padding-top: var(--size-1100) !important;
  }
  .pc-pt-40px,
  .pc-pt-1000 {
    padding-top: var(--size-1000) !important;
  }
  .pc-pt-36px,
  .pc-pt-900 {
    padding-top: var(--size-900) !important;
  }
  .pc-pt-32px,
  .pc-pt-800 {
    padding-top: var(--size-800) !important;
  }
  .pc-pt-28px,
  .pc-pt-700 {
    padding-top: var(--size-700) !important;
  }
  .pc-pt-24px,
  .pc-pt-600 {
    padding-top: var(--size-600) !important;
  }
  .pc-pt-20px,
  .pc-pt-500 {
    padding-top: var(--size-500) !important;
  }
  .pc-pt-16px,
  .pc-pt-400 {
    padding-top: var(--size-400) !important;
  }
  .pc-pt-12px,
  .pc-pt-300 {
    padding-top: var(--size-300) !important;
  }
  .pc-pt-8px,
  .pc-pt-200 {
    padding-top: var(--size-200) !important;
  }
  .pc-pt-4px,
  .pc-pt-100 {
    padding-top: var(--size-100) !important;
  }
  .pc-pt-0,
  .pc-pt-0 {
    padding-top: var(--size-0) !important;
  }
}
@media (width < 768px) {
  .sp-pt-160px,
  .sp-pt-4000 {
    padding-top: var(--size-4000) !important;
  }
  .sp-pt-120px,
  .sp-pt-3000 {
    padding-top: var(--size-3000) !important;
  }
  .sp-pt-100px,
  .sp-pt-2500 {
    padding-top: var(--size-2500) !important;
  }
  .sp-pt-96px,
  .sp-pt-2400 {
    padding-top: var(--size-2400) !important;
  }
  .sp-pt-88px,
  .sp-pt-2200 {
    padding-top: var(--size-2200) !important;
  }
  .sp-pt-80px,
  .sp-pt-2000 {
    padding-top: var(--size-2000) !important;
  }
  .sp-pt-64px,
  .sp-pt-1600 {
    padding-top: var(--size-1600) !important;
  }
  .sp-pt-60px,
  .sp-pt-1500 {
    padding-top: var(--size-1500) !important;
  }
  .sp-pt-48px,
  .sp-pt-1200 {
    padding-top: var(--size-1200) !important;
  }
  .sp-pt-44px,
  .sp-pt-1100 {
    padding-top: var(--size-1100) !important;
  }
  .sp-pt-40px,
  .sp-pt-1000 {
    padding-top: var(--size-1000) !important;
  }
  .sp-pt-36px,
  .sp-pt-900 {
    padding-top: var(--size-900) !important;
  }
  .sp-pt-32px,
  .sp-pt-800 {
    padding-top: var(--size-800) !important;
  }
  .sp-pt-28px,
  .sp-pt-700 {
    padding-top: var(--size-700) !important;
  }
  .sp-pt-24px,
  .sp-pt-600 {
    padding-top: var(--size-600) !important;
  }
  .sp-pt-20px,
  .sp-pt-500 {
    padding-top: var(--size-500) !important;
  }
  .sp-pt-16px,
  .sp-pt-400 {
    padding-top: var(--size-400) !important;
  }
  .sp-pt-12px,
  .sp-pt-300 {
    padding-top: var(--size-300) !important;
  }
  .sp-pt-8px,
  .sp-pt-200 {
    padding-top: var(--size-200) !important;
  }
  .sp-pt-4px,
  .sp-pt-100 {
    padding-top: var(--size-100) !important;
  }
  .sp-pt-0,
  .sp-pt-0 {
    padding-top: var(--size-0) !important;
  }
}
.pb-160px,
.pb-4000 {
  padding-bottom: var(--size-4000) !important;
}

.pb-120px,
.pb-3000 {
  padding-bottom: var(--size-3000) !important;
}

.pb-100px,
.pb-2500 {
  padding-bottom: var(--size-2500) !important;
}

.pb-96px,
.pb-2400 {
  padding-bottom: var(--size-2400) !important;
}

.pb-88px,
.pb-2200 {
  padding-bottom: var(--size-2200) !important;
}

.pb-80px,
.pb-2000 {
  padding-bottom: var(--size-2000) !important;
}

.pb-64px,
.pb-1600 {
  padding-bottom: var(--size-1600) !important;
}

.pb-60px,
.pb-1500 {
  padding-bottom: var(--size-1500) !important;
}

.pb-48px,
.pb-1200 {
  padding-bottom: var(--size-1200) !important;
}

.pb-44px,
.pb-1100 {
  padding-bottom: var(--size-1100) !important;
}

.pb-40px,
.pb-1000 {
  padding-bottom: var(--size-1000) !important;
}

.pb-36px,
.pb-900 {
  padding-bottom: var(--size-900) !important;
}

.pb-32px,
.pb-800 {
  padding-bottom: var(--size-800) !important;
}

.pb-28px,
.pb-700 {
  padding-bottom: var(--size-700) !important;
}

.pb-24px,
.pb-600 {
  padding-bottom: var(--size-600) !important;
}

.pb-20px,
.pb-500 {
  padding-bottom: var(--size-500) !important;
}

.pb-16px,
.pb-400 {
  padding-bottom: var(--size-400) !important;
}

.pb-12px,
.pb-300 {
  padding-bottom: var(--size-300) !important;
}

.pb-8px,
.pb-200 {
  padding-bottom: var(--size-200) !important;
}

.pb-4px,
.pb-100 {
  padding-bottom: var(--size-100) !important;
}

.pb-0,
.pb-0 {
  padding-bottom: var(--size-0) !important;
}

@media (width >= 768px) {
  .pc-pb-160px,
  .pc-pb-4000 {
    padding-bottom: var(--size-4000) !important;
  }
  .pc-pb-120px,
  .pc-pb-3000 {
    padding-bottom: var(--size-3000) !important;
  }
  .pc-pb-100px,
  .pc-pb-2500 {
    padding-bottom: var(--size-2500) !important;
  }
  .pc-pb-96px,
  .pc-pb-2400 {
    padding-bottom: var(--size-2400) !important;
  }
  .pc-pb-88px,
  .pc-pb-2200 {
    padding-bottom: var(--size-2200) !important;
  }
  .pc-pb-80px,
  .pc-pb-2000 {
    padding-bottom: var(--size-2000) !important;
  }
  .pc-pb-64px,
  .pc-pb-1600 {
    padding-bottom: var(--size-1600) !important;
  }
  .pc-pb-60px,
  .pc-pb-1500 {
    padding-bottom: var(--size-1500) !important;
  }
  .pc-pb-48px,
  .pc-pb-1200 {
    padding-bottom: var(--size-1200) !important;
  }
  .pc-pb-44px,
  .pc-pb-1100 {
    padding-bottom: var(--size-1100) !important;
  }
  .pc-pb-40px,
  .pc-pb-1000 {
    padding-bottom: var(--size-1000) !important;
  }
  .pc-pb-36px,
  .pc-pb-900 {
    padding-bottom: var(--size-900) !important;
  }
  .pc-pb-32px,
  .pc-pb-800 {
    padding-bottom: var(--size-800) !important;
  }
  .pc-pb-28px,
  .pc-pb-700 {
    padding-bottom: var(--size-700) !important;
  }
  .pc-pb-24px,
  .pc-pb-600 {
    padding-bottom: var(--size-600) !important;
  }
  .pc-pb-20px,
  .pc-pb-500 {
    padding-bottom: var(--size-500) !important;
  }
  .pc-pb-16px,
  .pc-pb-400 {
    padding-bottom: var(--size-400) !important;
  }
  .pc-pb-12px,
  .pc-pb-300 {
    padding-bottom: var(--size-300) !important;
  }
  .pc-pb-8px,
  .pc-pb-200 {
    padding-bottom: var(--size-200) !important;
  }
  .pc-pb-4px,
  .pc-pb-100 {
    padding-bottom: var(--size-100) !important;
  }
  .pc-pb-0,
  .pc-pb-0 {
    padding-bottom: var(--size-0) !important;
  }
}
@media (width < 768px) {
  .sp-pb-160px,
  .sp-pb-4000 {
    padding-bottom: var(--size-4000) !important;
  }
  .sp-pb-120px,
  .sp-pb-3000 {
    padding-bottom: var(--size-3000) !important;
  }
  .sp-pb-100px,
  .sp-pb-2500 {
    padding-bottom: var(--size-2500) !important;
  }
  .sp-pb-96px,
  .sp-pb-2400 {
    padding-bottom: var(--size-2400) !important;
  }
  .sp-pb-88px,
  .sp-pb-2200 {
    padding-bottom: var(--size-2200) !important;
  }
  .sp-pb-80px,
  .sp-pb-2000 {
    padding-bottom: var(--size-2000) !important;
  }
  .sp-pb-64px,
  .sp-pb-1600 {
    padding-bottom: var(--size-1600) !important;
  }
  .sp-pb-60px,
  .sp-pb-1500 {
    padding-bottom: var(--size-1500) !important;
  }
  .sp-pb-48px,
  .sp-pb-1200 {
    padding-bottom: var(--size-1200) !important;
  }
  .sp-pb-44px,
  .sp-pb-1100 {
    padding-bottom: var(--size-1100) !important;
  }
  .sp-pb-40px,
  .sp-pb-1000 {
    padding-bottom: var(--size-1000) !important;
  }
  .sp-pb-36px,
  .sp-pb-900 {
    padding-bottom: var(--size-900) !important;
  }
  .sp-pb-32px,
  .sp-pb-800 {
    padding-bottom: var(--size-800) !important;
  }
  .sp-pb-28px,
  .sp-pb-700 {
    padding-bottom: var(--size-700) !important;
  }
  .sp-pb-24px,
  .sp-pb-600 {
    padding-bottom: var(--size-600) !important;
  }
  .sp-pb-20px,
  .sp-pb-500 {
    padding-bottom: var(--size-500) !important;
  }
  .sp-pb-16px,
  .sp-pb-400 {
    padding-bottom: var(--size-400) !important;
  }
  .sp-pb-12px,
  .sp-pb-300 {
    padding-bottom: var(--size-300) !important;
  }
  .sp-pb-8px,
  .sp-pb-200 {
    padding-bottom: var(--size-200) !important;
  }
  .sp-pb-4px,
  .sp-pb-100 {
    padding-bottom: var(--size-100) !important;
  }
  .sp-pb-0,
  .sp-pb-0 {
    padding-bottom: var(--size-0) !important;
  }
}
.gap-160px,
.gap-4000 {
  gap: var(--size-4000) !important;
}

.gap-120px,
.gap-3000 {
  gap: var(--size-3000) !important;
}

.gap-100px,
.gap-2500 {
  gap: var(--size-2500) !important;
}

.gap-96px,
.gap-2400 {
  gap: var(--size-2400) !important;
}

.gap-88px,
.gap-2200 {
  gap: var(--size-2200) !important;
}

.gap-80px,
.gap-2000 {
  gap: var(--size-2000) !important;
}

.gap-64px,
.gap-1600 {
  gap: var(--size-1600) !important;
}

.gap-60px,
.gap-1500 {
  gap: var(--size-1500) !important;
}

.gap-48px,
.gap-1200 {
  gap: var(--size-1200) !important;
}

.gap-44px,
.gap-1100 {
  gap: var(--size-1100) !important;
}

.gap-40px,
.gap-1000 {
  gap: var(--size-1000) !important;
}

.gap-36px,
.gap-900 {
  gap: var(--size-900) !important;
}

.gap-32px,
.gap-800 {
  gap: var(--size-800) !important;
}

.gap-28px,
.gap-700 {
  gap: var(--size-700) !important;
}

.gap-24px,
.gap-600 {
  gap: var(--size-600) !important;
}

.gap-20px,
.gap-500 {
  gap: var(--size-500) !important;
}

.gap-16px,
.gap-400 {
  gap: var(--size-400) !important;
}

.gap-12px,
.gap-300 {
  gap: var(--size-300) !important;
}

.gap-8px,
.gap-200 {
  gap: var(--size-200) !important;
}

.gap-4px,
.gap-100 {
  gap: var(--size-100) !important;
}

.gap-0,
.gap-0 {
  gap: var(--size-0) !important;
}

.stack {
  display: grid;
  grid-template-columns: 1fr;
}

.color-primary {
  color: var(--color-primary) !important;
}

.bg-primary {
  background-color: var(--color-primary) !important;
}

.color-secondary1 {
  color: var(--color-secondary1) !important;
}

.bg-secondary1 {
  background-color: var(--color-secondary1) !important;
}

.color-secondary1-light {
  color: var(--color-secondary1-light) !important;
}

.bg-secondary1-light {
  background-color: var(--color-secondary1-light) !important;
}

.color-secondary2 {
  color: var(--color-secondary2) !important;
}

.bg-secondary2 {
  background-color: var(--color-secondary2) !important;
}

.color-secondary3 {
  color: var(--color-secondary3) !important;
}

.bg-secondary3 {
  background-color: var(--color-secondary3) !important;
}

.color-secondary4 {
  color: var(--color-secondary4) !important;
}

.bg-secondary4 {
  background-color: var(--color-secondary4) !important;
}

.color-secondary4d {
  color: var(--color-secondary4d) !important;
}

.bg-secondary4d {
  background-color: var(--color-secondary4d) !important;
}

.color-accent {
  color: var(--color-accent) !important;
}

.bg-accent {
  background-color: var(--color-accent) !important;
}

.color-black {
  color: var(--color-black) !important;
}

.bg-black {
  background-color: var(--color-black) !important;
}

.color-gray {
  color: var(--color-gray) !important;
}

.bg-gray {
  background-color: var(--color-gray) !important;
}

.color-gray-dark {
  color: var(--color-gray-dark) !important;
}

.bg-gray-dark {
  background-color: var(--color-gray-dark) !important;
}

.color-gray-light {
  color: var(--color-gray-light) !important;
}

.bg-gray-light {
  background-color: var(--color-gray-light) !important;
}

.color-gray-light2 {
  color: var(--color-gray-light2) !important;
}

.bg-gray-light2 {
  background-color: var(--color-gray-light2) !important;
}

.color-gray-light3 {
  color: var(--color-gray-light3) !important;
}

.bg-gray-light3 {
  background-color: var(--color-gray-light3) !important;
}

.color-danger {
  color: var(--color-danger) !important;
}

.bg-danger {
  background-color: var(--color-danger) !important;
}

.color-white {
  color: var(--color-white) !important;
}

.bg-white {
  background-color: var(--color-white) !important;
}

:root {
  --icon-arrow-right-alt: url("../assets/icons/arrow_right_alt.svg");
  --icon-keyboard-arrow-down: url("../assets/icons/keyboard_arrow_down.svg");
  --icon-keyboard-arrow-right: url("../assets/icons/keyboard_arrow_right.svg");
  --icon-add-circle: url("../assets/icons/add_circle.svg");
  --icon-minus-circle: url("../assets/icons/minus_circle.svg");
  --icon-open-in-new: url("../assets/icons/open_in_new.svg");
  --icon-building: url("../assets/icons/building.svg");
  --icon-search-a: url("../assets/icons/search-a.svg");
  --icon-key: url("../assets/icons/key.svg");
  --icon-mapmarker: url("../assets/icons/mapmarker.svg");
  --icon-twinkle: url("../assets/icons/twinkle.svg");
  --icon-tag: url("../assets/icons/tag.svg");
  --icon-question: url("../assets/icons/question.svg");
  --icon-check-circle: url("../assets/icons/check_circle.svg");
  --icon-error: url("../assets/icons/error.svg");
  --icon-external-link: url("../assets/icons/external-link.svg");
  --icon-quote: url("../assets/icons/quote.svg");
  --icon-person: url("../assets/icons/person.svg");
  --icon-buildings: url("../assets/icons/buildings.svg");
  --icon-badge: url("../assets/icons/badge.svg");
  --icon-book: url("../assets/icons/book.svg");
  --icon-pdf: url("../assets/icons/pdf.svg");
  --icon-search: url("../assets/icons/search.svg");
  --icon-plus: url("../assets/icons/plus.svg");
}

.icon {
  display: inline-block;
  flex-shrink: 0;
  flex-grow: 0;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
}
.icon.--arrow-right-alt {
  -webkit-mask-image: var(--icon-arrow-right-alt);
          mask-image: var(--icon-arrow-right-alt);
}
.icon.--keyboard-arrow-down {
  -webkit-mask-image: var(--icon-keyboard-arrow-down);
          mask-image: var(--icon-keyboard-arrow-down);
}
.icon.--keyboard-arrow-right {
  -webkit-mask-image: var(--icon-keyboard-arrow-right);
          mask-image: var(--icon-keyboard-arrow-right);
}
.icon.--add-circle {
  -webkit-mask-image: var(--icon-add-circle);
          mask-image: var(--icon-add-circle);
}
.icon.--minus-circle {
  -webkit-mask-image: var(--icon-minus-circle);
          mask-image: var(--icon-minus-circle);
}
.icon.--open-in-new {
  -webkit-mask-image: var(--icon-open-in-new);
          mask-image: var(--icon-open-in-new);
}
.icon.--building {
  -webkit-mask-image: var(--icon-building);
          mask-image: var(--icon-building);
}
.icon.--search-a {
  -webkit-mask-image: var(--icon-search-a);
          mask-image: var(--icon-search-a);
}
.icon.--key {
  -webkit-mask-image: var(--icon-key);
          mask-image: var(--icon-key);
}
.icon.--mapmarker {
  -webkit-mask-image: var(--icon-mapmarker);
          mask-image: var(--icon-mapmarker);
}
.icon.--twinkle {
  -webkit-mask-image: var(--icon-twinkle);
          mask-image: var(--icon-twinkle);
}
.icon.--tag {
  -webkit-mask-image: var(--icon-tag);
          mask-image: var(--icon-tag);
}
.icon.--question {
  -webkit-mask-image: var(--icon-question);
          mask-image: var(--icon-question);
}
.icon.--check-circle {
  -webkit-mask-image: var(--icon-check-circle);
          mask-image: var(--icon-check-circle);
}
.icon.--error {
  -webkit-mask-image: var(--icon-error);
          mask-image: var(--icon-error);
}
.icon.--external-link {
  -webkit-mask-image: var(--icon-external-link);
          mask-image: var(--icon-external-link);
}
.icon.--quote {
  -webkit-mask-image: var(--icon-quote);
          mask-image: var(--icon-quote);
}
.icon.--person {
  -webkit-mask-image: var(--icon-person);
          mask-image: var(--icon-person);
}
.icon.--buildings {
  -webkit-mask-image: var(--icon-buildings);
          mask-image: var(--icon-buildings);
}
.icon.--badge {
  -webkit-mask-image: var(--icon-badge);
          mask-image: var(--icon-badge);
}
.icon.--book {
  -webkit-mask-image: var(--icon-book);
          mask-image: var(--icon-book);
}
.icon.--pdf {
  -webkit-mask-image: var(--icon-pdf);
          mask-image: var(--icon-pdf);
}
.icon.--search {
  -webkit-mask-image: var(--icon-search);
          mask-image: var(--icon-search);
}
.icon.--plus {
  -webkit-mask-image: var(--icon-plus);
          mask-image: var(--icon-plus);
}

.icon-accordion {
  --size: var(--icon-accordion-size, 1em);
  flex-shrink: 0;
  display: inline-block;
  overflow: hidden;
  position: relative;
  width: var(--size);
  height: var(--size);
  background-color: var(--icon-accordion-disc-color, var(--color-secondary3));
  border-radius: 50%;
}
.icon-accordion::before, .icon-accordion::after {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 50%;
  height: max(1px, 8.33%);
  background-color: var(--icon-accordion-plusminus-color, var(--color-white));
  border-radius: 2px;
}
.icon-accordion::before {
  rotate: 90deg;
  transition: 0.3s ease;
  transition-property: rotate;
}
details[open] .icon-accordion::before {
  rotate: 0deg;
}

.icon-remove {
  --size: var(--icon-size, 1em);
  --color: var(--icon-color, var(--color-secondary3));
  flex-shrink: 0;
  display: inline-block;
  overflow: hidden;
  position: relative;
  width: var(--size);
  height: var(--size);
  background-color: var(--color);
  border-radius: 50%;
}
.icon-remove::before, .icon-remove::after {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 60%;
  height: max(1px, 8.33%);
  background-color: var(--color-white);
  border-radius: 2px;
  transform-origin: 50% 50%;
}
.icon-remove::before {
  rotate: 45deg;
}
.icon-remove::after {
  rotate: -45deg;
}

.icon-arrow {
  --size: var(--icon-size, 1em);
  --color: var(--icon-color, currentColor);
  flex-shrink: 0;
  flex-grow: 0;
  display: inline-block;
  width: var(--size);
  height: var(--size);
  background-color: var(--color);
  -webkit-mask-image: var(--icon-arrow-right-alt);
          mask-image: var(--icon-arrow-right-alt);
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
  translate: var(--hover-arrow-x) 0%;
  transition: var(--hover-arrow-transition);
}
.icon-arrow.--left {
  scale: -1 1;
  translate: calc(-1 * var(--hover-arrow-x)) 0%;
}

.icon-arrow-circle {
  --size: var(--icon-size, 1em);
  --color: var(--icon-color, currentColor);
  flex-shrink: 0;
  overflow: hidden;
  position: relative;
  width: var(--size);
  height: var(--size);
  border-radius: 50%;
  border: 1px solid var(--color);
  display: block;
  transform: var(--hover-disc-arrow-transform);
  transition: var(--hover-disc-arrow-transition);
}
.icon-arrow-circle::before, .icon-arrow-circle::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: var(--color);
  transition: opacity 0.2s;
  transform-origin: center;
}
.icon-arrow-circle::before {
  -webkit-mask-image: var(--icon-arrow-right-alt);
          mask-image: var(--icon-arrow-right-alt);
  -webkit-mask-size: 43% 43%;
          mask-size: 43% 43%;
  opacity: calc(1 - var(--hover-flag));
}
.icon-arrow-circle::after {
  -webkit-mask-image: var(--icon-arrow-right-alt), linear-gradient(#000, #000);
          mask-image: var(--icon-arrow-right-alt), linear-gradient(#000, #000);
  -webkit-mask-size: 43% 43%, 100% 100%;
          mask-size: 43% 43%, 100% 100%;
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  opacity: var(--hover-flag);
}
.icon-arrow-circle.--reverse::before, .icon-arrow-circle.--reverse::after {
  scale: -1 1;
}

.icon-arrow-disc {
  --size: var(--icon-size, 1em);
  flex-shrink: 0;
  width: var(--size);
  height: var(--size);
  border-radius: 50%;
  background-color: var(--icon-color, currentcolor);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.icon-arrow-disc::before {
  content: "";
  display: block;
  width: calc(var(--size) * 2 / 3);
  height: calc(var(--size) * 2 / 3);
  background-color: var(--icon-arrow-color, #fff);
  -webkit-mask-image: var(--icon-arrow-right-alt);
          mask-image: var(--icon-arrow-right-alt);
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
}
.icon-arrow-disc.--left::before {
  scale: -1 1;
}

/* リセット */
*,
*::before,
*::after {
  box-sizing: border-box;
  background-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}

:where(h1, h2, h3, h4, h5, h6, p, ul, ol, li, dl, dt, dd, blockquote, figure, figcaption) {
  margin: 0;
  padding: 0;
  font-size: 100%;
  font-weight: inherit;
}

:where(strong, em, b, i) {
  font-weight: bold;
  font-style: normal;
}

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

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

:where(a) {
  text-decoration: none;
  color: inherit;
}

:where(button) {
  border: none;
  background: none;
  padding: 0;
  cursor: pointer;
  font: inherit;
  color: inherit;
}

:root {
  font-family: var(--font-family-base);
  font-size: 16px;
  line-height: 1.5;
  color: var(--color-black);
  scroll-padding-top: var(--header-height);
  scroll-behavior: smooth;
}

body {
  margin: 0;
}
.js-has-pseudo [csstools-has-2q-33-2s-3d-1m-2w-2p-37-14-1a-37-2x-38-2t-19-31-2t-32-39-2j-2p-36-2x-2p-19-2w-2x-2s-2s-2t-32-1p-2u-2p-30-37-2t-2l-15]:not(.does-not-exist):not(does-not-exist) {
  overflow: hidden;
}
body:has(.site-menu[aria-hidden=false]) {
  overflow: hidden;
}

:where(a, button) {
  --hover-flag: 0;
  --hover-arrow-translate: 0% 0%;
  --hover-arrow-x: 0%;
  --hover-arrow-transition: translate 0.2s;
  --hover-disc-arrow-transform: scale(1);
  --hover-disc-arrow-transition: transform 0.2s;
}
:where(a, button):is(:hover, :focus-visible) {
  --hover-flag: 1;
  --hover-arrow-translate: 20% 0;
  --hover-arrow-x: 20%;
  --hover-disc-arrow-transform: scale(1.1);
}

/* タイポグラフィ */
.font-h1 {
  font: var(--font-h1);
}

.font-h2 {
  font: var(--font-h2);
}

.font-h3 {
  font: var(--font-h3);
}

.font-h4 {
  font: var(--font-h4);
}

.font-h5 {
  font: var(--font-h5);
}

.font-h6 {
  font: var(--font-h6);
}

.font-h7 {
  font: var(--font-h7);
}

.font-p {
  font: var(--font-p);
}

.font-p2 {
  font: var(--font-p2);
}

.font-label {
  font: var(--font-label);
}

.font-label2 {
  font: var(--font-label2);
}

.font-english-xlg {
  font: var(--font-english-xlg);
}

.font-english-lg {
  font: var(--font-english-lg);
}

.font-english-md {
  font: var(--font-english-md);
}

.font-english-sm {
  font: var(--font-english-sm);
}

@media (width >= 768px) {
  .pc-font-h1 {
    font: var(--font-h1);
  }
  .pc-font-h2 {
    font: var(--font-h2);
  }
  .pc-font-h3 {
    font: var(--font-h3);
  }
  .pc-font-h4 {
    font: var(--font-h4);
  }
  .pc-font-h5 {
    font: var(--font-h5);
  }
  .pc-font-h6 {
    font: var(--font-h6);
  }
  .pc-font-h7 {
    font: var(--font-h7);
  }
  .pc-font-p {
    font: var(--font-p);
  }
  .pc-font-p2 {
    font: var(--font-p2);
  }
  .pc-font-label {
    font: var(--font-label);
  }
  .pc-font-label2 {
    font: var(--font-label2);
  }
  .pc-font-english-xlg {
    font: var(--font-english-xlg);
  }
  .pc-font-english-lg {
    font: var(--font-english-lg);
  }
  .pc-font-english-md {
    font: var(--font-english-md);
  }
  .pc-font-english-sm {
    font: var(--font-english-sm);
  }
}
@media (width < 768px) {
  .sp-font-h1 {
    font: var(--font-h1);
  }
  .sp-font-h2 {
    font: var(--font-h2);
  }
  .sp-font-h3 {
    font: var(--font-h3);
  }
  .sp-font-h4 {
    font: var(--font-h4);
  }
  .sp-font-h5 {
    font: var(--font-h5);
  }
  .sp-font-h6 {
    font: var(--font-h6);
  }
  .sp-font-h7 {
    font: var(--font-h7);
  }
  .sp-font-p {
    font: var(--font-p);
  }
  .sp-font-p2 {
    font: var(--font-p2);
  }
  .sp-font-label {
    font: var(--font-label);
  }
  .sp-font-label2 {
    font: var(--font-label2);
  }
  .sp-font-english-xlg {
    font: var(--font-english-xlg);
  }
  .sp-font-english-lg {
    font: var(--font-english-lg);
  }
  .sp-font-english-md {
    font: var(--font-english-md);
  }
  .sp-font-english-sm {
    font: var(--font-english-sm);
  }
}
.bold {
  font-weight: bold;
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

/* 基本のコンテナ */
.container {
  margin-inline: auto;
  padding-inline: var(--site-gutter);
  max-width: var(--content-max-width);
}
.container.--full {
  --content-max-width: none;
}
@media (width < 768px) {
  .container.--sp-full {
    --content-max-width: none;
  }
}

.container-box {
  padding-inline: var(--site-gutter);
}
@media (width < 768px) {
  .container-box {
    padding-inline: 8px;
  }
}
.container-box > .container-box__inner {
  margin-inline: auto;
  padding-block: 160px;
  width: min(1800px, 100%);
  background-color: var(--color-secondary4);
  border-radius: 28px;
}
@media (width < 768px) {
  .container-box > .container-box__inner {
    padding-block: 60px;
    border-radius: 16px;
  }
}
@media (width < 768px) {
  .container-box > .container-box__inner .container {
    padding-inline: 8px;
  }
}

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

.icon-arrow {
  --size: var(--icon-size, 1em);
  --color: var(--icon-color, currentColor);
  flex-shrink: 0;
  flex-grow: 0;
  display: inline-block;
  width: var(--size);
  height: var(--size);
  background-color: var(--color);
  -webkit-mask-image: var(--icon-arrow-right-alt);
          mask-image: var(--icon-arrow-right-alt);
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
  translate: var(--hover-arrow-translate);
  transition: var(--hover-arrow-transition);
}

.icon-arrow-disc {
  --size: var(--icon-size, 1em);
  --color: var(--icon-color, currentColor);
  flex-shrink: 0;
  flex-grow: 0;
  display: inline-grid;
  width: var(--size);
  height: var(--size);
}

@media (width >= 768px) {
  .pc-hidden {
    display: none !important;
  }
}

@media (width < 768px) {
  .sp-hidden {
    display: none !important;
  }
}

.block {
  padding-block: 160px;
}
.block.--gray {
  background-color: var(--color-gray-light3);
}
.block.--green {
  background-color: var(--color-primary);
  color: var(--color-white);
}
.block.--secondary4 {
  background-color: var(--color-secondary4);
}
@media (width < 768px) {
  .block {
    padding-block: 120px;
  }
}

.space-160 {
  height: 160px;
}
@media (width < 768px) {
  .space-160 {
    height: 120px;
  }
}

.space-120 {
  height: 120px;
}
@media (width < 768px) {
  .space-120 {
    height: 80px;
  }
}

.breadcrumb {
  font: var(--font-label2);
  -webkit-mask-image: linear-gradient(to right, transparent, black var(--site-gutter), black calc(100% - var(--site-gutter)), transparent);
          mask-image: linear-gradient(to right, transparent, black var(--site-gutter), black calc(100% - var(--site-gutter)), transparent);
}
.breadcrumb .breadcrumb__scroller {
  overflow-x: auto;
  scrollbar-width: none;
}
.breadcrumb .breadcrumb__scroller::-webkit-scrollbar {
  display: none;
}
.breadcrumb .breadcrumb__list {
  padding: 16px var(--site-gutter);
  display: flex;
  width: -moz-max-content;
  width: max-content;
}
.breadcrumb .breadcrumb__list > .breadcrumb__item {
  display: flex;
  align-items: baseline;
}
.breadcrumb .breadcrumb__list > .breadcrumb__item:not(:first-child)::before {
  content: "";
  flex-shrink: 0;
  margin: 0 0.2em;
  width: 1em;
  height: 1em;
  background-color: #9ea6a4;
  -webkit-mask-image: var(--icon-keyboard-arrow-right);
          mask-image: var(--icon-keyboard-arrow-right);
  -webkit-mask-size: 130% 130%;
          mask-size: 130% 130%;
  -webkit-mask-position: 50% 10%;
          mask-position: 50% 10%;
}
.breadcrumb .breadcrumb__list > .breadcrumb__item a {
  color: var(--color-primary);
}

.button {
  --height: 68px;
  --padding-inline: 32px 20px;
  --gap: 16px;
  --font-size: 16px;
  --arrow-size: 24px;
  --arrow-disc-size: var(--arrow-size);
  --border-color: var(--color-accent);
  --bg: var(--color-secondary1-light);
  --text-color: var(--color-white);
  --arrow-color: var(--color-white);
  --arrow-disc: none;
  --arrow-x-duration: 0.2s;
  --arrow-x-off: 0%;
  --arrow-x-on: 20%;
  --arrow-x: var(--arrow-x-off);
  --disc-arrow-scale-duration: 0.2s;
  --disc-arrow-scale-off: 1;
  --disc-arrow-scale-on: 1.1;
  --twinkle-x-duration-off: 0s;
  --twinkle-x-off: 0%;
  --twinkle-x-duration-on: 0.4s;
  --twinkle-x-on: 350%;
  --twinkle-duration: 0s;
  --disc-arrow-scale: var(--disc-arrow-scale-off);
  --twinkle-x-duration: var(--twinkle-x-duration-off);
  --twinkle-x: var(--twinkle-x-off);
  overflow: hidden;
  position: relative;
  display: inline-flex;
  align-items: center;
  padding-block: 8px;
  padding-inline: var(--padding-inline);
  gap: var(--gap);
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  min-height: var(--height);
  border: 1px solid var(--border-color);
  background: var(--bg);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-clip: border-box;
  border-radius: 1000px;
  font-size: var(--font-size);
  line-height: 1.5;
  font-weight: bold;
  text-align: center;
  color: var(--text-color);
  /* hover時のキラッとエフェクト */
}
.button:hover, :where(a, button):hover .button {
  --arrow-x: var(--arrow-x-on);
  --disc-arrow-scale: var(--disc-arrow-scale-on);
  --twinkle-x-duration: var(--twinkle-x-duration-on);
  --twinkle-x: var(--twinkle-x-on);
}
.button > .button__text {
  flex-grow: 1;
}
.button > .button__arrow {
  flex-shrink: 0;
  width: var(--arrow-disc-size);
  height: var(--arrow-disc-size);
  border-radius: 50%;
  background: var(--arrow-disc);
  display: grid;
  place-content: center;
}
.button > .button__arrow::before {
  content: "";
  display: block;
  width: var(--arrow-size);
  height: var(--arrow-size);
  background-color: var(--arrow-color);
  -webkit-mask-image: var(--icon-arrow-right-alt);
          mask-image: var(--icon-arrow-right-alt);
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
  translate: var(--arrow-x) 0;
  transition: translate var(--arrow-x-duration);
}
.button.--full {
  width: 100%;
}
@media (width < 768px) {
  .button.--sp-full {
    width: 100%;
  }
}
.button.--sm {
  --padding-inline: 20px 16px;
  --gap: 8px;
  --font-size: 14px;
  --arrow-size: 20px;
  --height: 56px;
}
@media (width < 768px) {
  .button.--sp-sm {
    --padding-inline: 20px 16px;
    --gap: 8px;
    --font-size: 14px;
    --arrow-size: 20px;
    --height: 56px;
  }
}
.button.--xs {
  --padding-inline: 16px 12px;
  --gap: 8px;
  --font-size: 12px;
  --arrow-size: 20px;
  --height: 44px;
}
@media (width < 768px) {
  .button.--sp-xs {
    --padding-inline: 16px 12px;
    --gap: 8px;
    --font-size: 12px;
    --arrow-size: 20px;
    --height: 44px;
  }
}
.button.--white {
  --border-color: var(--color-accent);
  --bg: var(--color-white);
  --text-color: var(--color-primary);
  --arrow-color: var(--color-primary);
  --arrow-disc: none;
}
.button.--gradient {
  --border-color: var(--color-accent);
  --bg: linear-gradient(to right, #caf345, #26d367);
  --text-color: var(--color-black);
  --arrow-color: var(--color-black);
  --arrow-disc: none;
}
.button:not(.--white, .--goast, .--goast-white)::after {
  content: "";
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.3) 100%);
  transform: skewX(-25deg);
  translate: var(--twinkle-x) 0;
  transition: translate var(--twinkle-x-duration);
}
.button.--goast, .button.--goast-white {
  --padding-inline: 32px 16px;
  --arrow-disc-size: 40px;
  --arrow-size: 20px;
  --bg: transparent;
  --arrow-color: var(--color-black);
  --arrow-disc: linear-gradient(to right, #caf345, #26d367);
  --arrow-x-on: 0%;
}
.button.--goast:is(.--goast), .button.--goast-white:is(.--goast) {
  --border-color: var(--color-gray);
  --text-color: var(--color-black);
}
.button.--goast:is(.--goast-white), .button.--goast-white:is(.--goast-white) {
  --border-color: var(--color-white);
  --text-color: var(--color-white);
}
.button.--goast > .button__arrow, .button.--goast-white > .button__arrow {
  transition: scale var(--disc-arrow-scale-duration);
  scale: var(--disc-arrow-scale);
}
.button.--goast.--sm, .button.--goast-white.--sm {
  --padding-inline: 24px 8px;
}
@media (width < 768px) {
  .button.--goast.--sp-sm, .button.--goast-white.--sp-sm {
    --padding-inline: 24px 8px;
  }
}
.button.--goast.--xs, .button.--goast-white.--xs {
  --padding-inline: 16px 8px;
  --arrow-disc-size: 28px;
  --arrow-color: var(--color-white);
  --arrow-disc: var(--color-secondary3);
}
@media (width < 768px) {
  .button.--goast.--sp-xs, .button.--goast-white.--sp-xs {
    --padding-inline: 16px 8px;
    --arrow-disc-size: 28px;
    --arrow-color: var(--color-white);
    --arrow-disc: var(--color-secondary3);
  }
}

.cta-banner {
  --image-scale: 1;
  --image-duration: 0.2s;
  --twinkle-x: 0%;
  --twinkle-duration: 0s;
  position: relative;
  z-index: 1;
  overflow: hidden;
  padding-inline: 64px;
  width: min(100%, 1104px);
  height: 300px;
  border-radius: 16px;
  background: var(--bg);
  display: flex;
  align-items: center;
  justify-content: space-between;
  /* 画像 */
  /* hover時のキラッとエフェクト */
}
.cta-banner:hover, .cta-banner:focus {
  --image-scale: 1.1;
  --image-duration: 0.3s;
  --twinkle-x: 350%;
  --twinkle-duration: 0.7s;
}
@container (width < 960px) {
  .cta-banner {
    aspect-ratio: 540/300;
    padding-inline: 40px;
  }
}
@container (width < 768px) {
  .cta-banner {
    zoom: min(100cqw/540px, 1);
    aspect-ratio: 342/190;
    width: 100%;
    height: auto;
  }
}
@container (width < 400px) {
  .cta-banner {
    zoom: min(100cqw/342px, 1);
    padding-inline: 24px;
  }
}
.cta-banner.--contact {
  --bg: linear-gradient(to right, #caf345, #26d367);
  --button-bg: #fff;
  --image-url: url("../assets/images/cta-banner-image-contact.webp");
  --image-ratio: 1134 / 1062;
  --image-height: calc(400 / 300 * 100%);
  --image-left: calc(451 / 1104 * 100%);
  --image-right: auto;
  --image-top: calc(-35 / 300 * 100%);
}
@container (width < 768px) {
  .cta-banner.--contact {
    --image-height: calc(320 / 300 * 100%);
    --image-left: auto;
    --image-right: -11%;
    --image-top: calc(-5 / 300 * 100%);
  }
}
.cta-banner.--download {
  --bg: var(--color-secondary4d);
  --button-bg: linear-gradient(to right, #caf345, #26d367);
  --image-url: url("../assets/images/cta-banner-image-download.webp");
  --image-ratio: 978 / 1106;
  --image-height: calc(407 / 300 * 100%);
  --image-left: calc(490 / 1104 * 100%);
  --image-right: auto;
  --image-top: calc(30 / 300 * 100%);
}
@container (width < 768px) {
  .cta-banner.--download {
    --image-height: calc(400 / 300 * 100%);
    --image-left: auto;
    --image-right: -23%;
    --image-top: calc(10 / 300 * 100%);
  }
}
@container (width < 400px) {
  .cta-banner.--download {
    --image-height: calc(380 / 300 * 100%);
    --image-right: -23%;
  }
}
.cta-banner::before {
  content: "";
  position: absolute;
  z-index: -1;
  aspect-ratio: var(--image-ratio);
  top: var(--image-top);
  left: var(--image-left);
  right: var(--image-right);
  width: auto;
  height: var(--image-height);
  background-image: var(--image-url);
  background-size: 100%;
  scale: var(--image-scale);
  transition: scale var(--image-duration) ease;
}
.cta-banner::after {
  content: "";
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.3) 100%);
  transform: skewX(-25deg);
  translate: var(--twinkle-x) 0;
  transition: translate var(--twinkle-duration) ease;
}
.cta-banner .cta-banner__text1 {
  font: var(--font-h5);
  color: var(--color-secondary2);
}
@container (width < 400px) {
  .cta-banner .cta-banner__text1 {
    font: var(--font-h7);
  }
}
.cta-banner .cta-banner__text2 {
  margin-top: 8px;
  font: var(--font-h2);
}
@container (width < 768px) {
  .cta-banner .cta-banner__text2 {
    font: var(--font-h3);
  }
}
@container (width < 400px) {
  .cta-banner .cta-banner__text2 {
    font: var(--font-h4);
  }
}
.cta-banner .cta-banner__text3 {
  margin-top: 24px;
  font: var(--font-p);
}
@container (width < 400px) {
  .cta-banner .cta-banner__text3 {
    margin-top: 12px;
    font: var(--font-label2);
  }
}
.cta-banner .cta-banner__button {
  display: flex;
}
@container (width >= 768px) {
  .cta-banner .cta-banner__button {
    padding-inline: 32px 20px;
    width: 320px;
    height: 68px;
    border-radius: 34px;
    background: var(--button-bg);
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    font: var(--font-h6);
  }
  @container (width < 960px) {
    .cta-banner .cta-banner__button {
      width: 280px;
    }
  }
}
@container (width < 768px) {
  .cta-banner .cta-banner__button {
    position: absolute;
    right: 16px;
    bottom: 16px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    justify-content: center;
    border: 1px solid currentColor;
    color: var(--color-white);
  }
}
.cta-banner .cta-banner__button > span {
  flex: 1 1 auto;
  text-align: center;
}
@container (width < 768px) {
  .cta-banner .cta-banner__button > span {
    display: none;
  }
}
.cta-banner .cta-banner__button::after {
  content: "";
  aspect-ratio: 1;
  width: 24px;
  background-color: currentColor;
  -webkit-mask-image: var(--icon-arrow-right-alt);
          mask-image: var(--icon-arrow-right-alt);
}
@container (width < 768px) {
  .cta-banner .cta-banner__button::after {
    width: 20px;
  }
}

.cta-banner-estimate {
  --image-scale: 1;
  --image-duration: 0.2s;
  --twinkle-x: 0%;
  --twinkle-duration: 0s;
  margin-inline: auto;
  position: relative;
  z-index: 1;
  overflow: hidden;
  background: linear-gradient(90deg, #caf345 0%, #26d367 100%);
  display: flex;
  /* 画像 */
  /* hover時のキラッとエフェクト */
}
.cta-banner-estimate:hover, .cta-banner-estimate:focus {
  --image-scale: 1.1;
  --image-duration: 0.3s;
  --twinkle-x: 350%;
  --twinkle-duration: 0.7s;
}
@media (width >= 768px) {
  .cta-banner-estimate {
    zoom: min(100cqw/960px, 1);
    width: 960px;
    height: 260px;
    border-radius: 16px;
    align-items: center;
    justify-content: end;
    gap: 64px;
    padding-right: 56px;
  }
}
@media (width < 768px) {
  .cta-banner-estimate {
    zoom: min(100cqw/358px, 1);
    border-radius: 16px;
    padding: 32px 24px 24px;
    flex-direction: column;
    gap: 24px;
  }
}
.cta-banner-estimate::before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 0;
  top: 25px;
  aspect-ratio: 856/931;
  width: 283px;
  height: auto;
  background-image: url("../assets/images/cta-banner-image-estimate.webp");
  background-size: 100% 100%;
  scale: var(--image-scale);
  transition: scale var(--image-duration) ease;
}
@container (width < 768px) {
  .cta-banner-estimate::before {
    left: -25px;
    top: 5px;
    width: 183px;
  }
}
.cta-banner-estimate::after {
  content: "";
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.3) 100%);
  transform: skewX(-25deg);
  translate: var(--twinkle-x) 0;
  transition: translate var(--twinkle-duration) ease;
}
.cta-banner-estimate .cta-banner-estimate__column1 {
  text-align: center;
}
@media (width < 768px) {
  .cta-banner-estimate .cta-banner-estimate__column1 {
    align-self: end;
  }
}
.cta-banner-estimate .cta-banner-estimate__column1 .cta-banner-estimate__text1 {
  font-size: 20px;
  line-height: 1.6;
  font-weight: bold;
  color: var(--color-secondary2);
}
@media (width < 768px) {
  .cta-banner-estimate .cta-banner-estimate__column1 .cta-banner-estimate__text1 {
    font-size: 16px;
  }
}
.cta-banner-estimate .cta-banner-estimate__column1 .cta-banner-estimate__text2 {
  margin-top: 0.42em;
  font-size: 38px;
  line-height: 1.4;
  font-weight: bold;
  color: var(--color-black);
}
@media (width < 768px) {
  .cta-banner-estimate .cta-banner-estimate__column1 .cta-banner-estimate__text2 {
    font-size: 28px;
  }
}
.cta-banner-estimate .cta-banner-estimate__column2 {
  display: grid;
  grid-template-columns: auto auto;
  gap: 24px 16px;
}
@media (width < 768px) {
  .cta-banner-estimate .cta-banner-estimate__column2 {
    gap: 16px 8px;
  }
}
.cta-banner-estimate .cta-banner-estimate__column2 .cta-banner-estimate__text3 {
  padding: 12px;
  font-size: 12px;
  font-weight: bold;
  color: var(--color-secondary1-light);
  border: 1px solid currentColor;
  border-radius: 4px;
}
@media (width < 768px) {
  .cta-banner-estimate .cta-banner-estimate__column2 .cta-banner-estimate__text3 {
    padding: 8px;
  }
}
.cta-banner-estimate .cta-banner-estimate__column2 .cta-banner-estimate__number {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 0.2em;
  color: var(--color-secondary1-light);
  font-size: 32px;
}
@media (width < 768px) {
  .cta-banner-estimate .cta-banner-estimate__column2 .cta-banner-estimate__number {
    font-size: 28px;
    justify-content: center;
  }
}
.cta-banner-estimate .cta-banner-estimate__column2 .cta-banner-estimate__number > span:nth-child(1) {
  line-height: 1;
  font-weight: bold;
}
.cta-banner-estimate .cta-banner-estimate__column2 .cta-banner-estimate__number > span:nth-child(2) {
  font-size: 37.5%;
}
.cta-banner-estimate .cta-banner-estimate__column2 .cta-banner-estimate__button {
  grid-column: span 2;
  padding-inline: 32px 20px;
  height: 68px;
  display: flex;
  align-items: center;
  border-radius: 1000px;
  border: 1px solid var(--color-accent);
  background: var(--color-white);
}
.cta-banner-estimate .cta-banner-estimate__column2 .cta-banner-estimate__button > span {
  flex-grow: 1;
  text-align: center;
  color: var(--color-primary);
  font-size: 16px;
  font-weight: bold;
}
.cta-banner-estimate .cta-banner-estimate__column2 .cta-banner-estimate__button > .icon-arrow {
  color: var(--color-secondary3);
  font-size: 24px;
}

.editor {
  font: var(--font-p);
  overflow-wrap: anywhere;
  word-break: normal;
}
.editor h1 {
  margin-block: 2em 1em;
  font: var(--font-h2);
  color: var(--color-primary);
}
.editor h2 {
  margin-block: 2em 1em;
  font: var(--font-h3);
  color: var(--color-primary);
}
.editor:not(.--voc) h3 {
  margin-block: 2em 1em;
  font: var(--font-h4);
}
.editor.--voc h3 {
  margin-block: 2em 1em;
  font: var(--font-h4);
  color: var(--color-black);
  display: flex;
  align-items: start;
  gap: 0.6em;
}
.editor.--voc h3::before {
  content: "";
  margin-top: 0.8em;
  flex: 0 0 1em;
  height: 3px;
  background-color: var(--color-secondary3);
  border-radius: 2px;
}
.editor h4 {
  margin-block: 2em 1em;
  font: var(--font-h5);
}
.editor h5 {
  margin-block: 2em 1em;
  font: var(--font-h6);
}
.editor h6 {
  margin-block: 2em 1em;
  font: var(--font-h6);
}
.editor p {
  margin-block: 1.5em;
  font: var(--font-p);
}
.editor a {
  color: var(--color-primary);
  text-decoration: underline;
}
.editor a:hover {
  color: #21c770;
}
.editor em {
  padding-inline: 0.2em;
  background-color: var(--color-secondary4d);
  font-weight: normal;
  font-style: normal;
}
.editor strong {
  padding-inline: 0.2em;
  background-color: var(--color-accent);
  font-weight: bold;
}
.editor figcaption {
  margin-top: 0.5em;
  font: var(--font-p2);
}
.editor > ul {
  margin-block: 2em;
  margin-left: 0.4em;
  line-height: 1.5;
}
.editor > ul li {
  position: relative;
}
.editor > ul > li {
  margin-top: 0.8em;
  padding-left: 1.4em;
}
.editor > ul > li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.4em;
  display: inline-block;
  width: 0.75em;
  height: 0.75em;
  border-radius: 50%;
  background-color: var(--color-secondary3);
}
.editor > ul > li > ul {
  margin-left: 0.2em;
}
.editor > ul > li > ul > li {
  margin-top: 0.3em;
  padding-left: 1em;
}
.editor > ul > li > ul > li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6em;
  width: 0.5em;
  height: 0.5em;
  border-radius: 50%;
  background-color: var(--color-gray-dark);
}
.editor > ol {
  margin-block: 2em;
  margin-left: 0.4em;
  line-height: 1.5;
}
.editor > ol > li {
  margin-top: 0.8em;
  position: relative;
  counter-increment: list-counter;
  padding-left: 1.4em;
}
.editor > ol > li::before {
  content: counter(list-counter);
  position: absolute;
  left: 0;
  top: -0.1em;
  font: var(--font-english);
  font-size: 1.3em;
  color: var(--color-secondary3);
}
.editor dl {
  margin-block: 2em;
}
.editor dl dt {
  font-weight: bold;
}
.editor dl dt:not(:first-child) {
  margin-top: 1em;
}
.editor dl dd {
  margin-top: 0.5em;
}
.editor blockquote {
  margin-block: 2em;
  padding: 1.25em 2em;
  background-color: var(--color-gray-light3);
}
@media (width < 768px) {
  .editor blockquote {
    padding: 1em;
  }
}
.editor blockquote::before, .editor blockquote::after {
  content: "";
  display: block;
  width: 1.5em;
  height: 1em;
  background-color: var(--color-gray-light);
  -webkit-mask-image: var(--icon-quote);
          mask-image: var(--icon-quote);
}
.editor blockquote::before {
  margin-bottom: 0.5em;
}
.editor blockquote::after {
  margin-top: 0.5em;
  margin-left: auto;
  scale: -1 -1;
}
.editor .editor-full-image {
  margin-block: 2em;
}
.editor .editor-full-image > img {
  width: 100%;
  height: auto;
}
.editor .editor-two-column {
  margin-block: 2em;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2em;
}
@media (width < 768px) {
  .editor .editor-two-column {
    gap: 1em;
  }
}
.editor .editor-float-image {
  margin-block: 2em;
  display: flow-root;
}
.editor .editor-float-image > img:first-child {
  float: left;
  width: calc(50% - 1em);
  height: auto;
  margin: 0 2em 0.5em 0;
}
@media (width < 768px) {
  .editor .editor-float-image > img:first-child {
    margin: 0 1em 0.5em 0;
  }
}
.editor .editor-float-image > img:first-child + p {
  margin-block-start: 0;
}
.editor .editor-table {
  margin-block: 2em;
}
@media (width < 768px) {
  .editor .editor-table {
    overflow-x: auto;
  }
}
.editor .editor-table table {
  border-collapse: collapse;
}
@media (width >= 768px) {
  .editor .editor-table table {
    width: 100%;
  }
}
@media (width < 768px) {
  .editor .editor-table table {
    width: auto;
  }
}
.editor .editor-table table :is(td, th) {
  vertical-align: top;
  text-align: left;
  border: 1px solid var(--color-gray-light);
}
@media (width >= 768px) {
  .editor .editor-table table :is(td, th) {
    padding: 0.6em 1.2em;
  }
}
@media (width < 768px) {
  .editor .editor-table table :is(td, th) {
    padding: 0.4em 0.8em;
    white-space: nowrap;
  }
}
.editor .editor-table table :is(td, th):is(th) {
  font-weight: bold;
}
.editor .editor-table table thead :is(td, th) {
  background-color: var(--color-secondary4);
}
.editor > :first-child {
  margin-block-start: 0 !important;
}
.editor > :last-child {
  margin-block-end: 0 !important;
}
.editor .wpb_content_element {
  margin-bottom: 24px !important;
}
.editor .vc_single_image-wrapper img {
  -o-object-fit: cover;
     object-fit: cover;
}

.form-container {
  margin-inline: auto;
  max-width: 960px;
}

.form-layout {
  display: grid;
  gap: 32px;
}
.form-layout > .form-layout__item {
  display: grid;
  gap: 12px;
}
.form-layout > .form-layout__item > dt {
  font-weight: bold;
  display: flex;
  align-items: baseline;
  gap: 12px;
}
.form-layout > .form-layout__item > dd {
  display: grid;
  gap: 8px;
}

.form-required {
  flex-shrink: 0;
  padding: 0 0.5em;
  height: 1.83em;
  font-size: 16px;
  border-radius: 4px;
  font-weight: bold;
  background-color: var(--color-secondary3);
  color: #fff;
  display: inline-flex;
  align-items: center;
}
.form-required.--optional {
  background-color: var(--color-gray);
}

.form-download {
  display: grid;
  gap: 8px;
}
@media (width >= 768px) {
  .form-download {
    margin-bottom: 64px;
  }
}
@media (width < 768px) {
  .form-download {
    margin-bottom: 32px;
  }
}
.form-download > dl {
  display: grid;
  border-radius: 8px;
  background-color: var(--color-gray-light3);
}
@media (width >= 768px) {
  .form-download > dl {
    padding: 32px;
    grid-template-columns: max-content 1fr;
    align-items: center;
    gap: 40px;
  }
  .form-download > dl > dd {
    border-left: 1px solid var(--color-white);
    padding-left: 40px;
  }
}
@media (width < 768px) {
  .form-download > dl {
    padding: 24px;
    gap: 8px;
  }
}
.form-download > dl > dt {
  border: none;
  padding: 0;
  font-weight: bold;
}
@media (width < 768px) {
  .form-download > dl > dt:not(:first-child) {
    margin-top: 16px;
  }
}

.form-input,
.form-select,
.form-textarea {
  border: 1px solid var(--color-gray-light);
  padding: 1em 1.5em;
  font-size: 16px;
  line-height: 1.5;
  border-radius: 8px;
  background-color: #fff;
  color: var(--color-black);
}
.form-input:focus-visible,
.form-select:focus-visible,
.form-textarea:focus-visible {
  outline: 1px solid var(--color-secondary3);
  outline-offset: -1px;
}
.form-input.--invalid,
.form-select.--invalid,
.form-textarea.--invalid {
  border-color: var(--color-danger);
}
.form-input.--invalid:focus-visible,
.form-select.--invalid:focus-visible,
.form-textarea.--invalid:focus-visible {
  outline-color: var(--color-danger);
  outline-offset: 0;
}
@media (width < 768px) {
  .form-input,
  .form-select,
  .form-textarea {
    padding: 1em 0.5em;
  }
}
.form-input::-moz-placeholder, .form-select::-moz-placeholder, .form-textarea::-moz-placeholder {
  color: var(--color-gray);
}
.form-input::placeholder,
.form-select::placeholder,
.form-textarea::placeholder {
  color: var(--color-gray);
}
.form-input:is(.form-input, .form-select),
.form-select:is(.form-input, .form-select),
.form-textarea:is(.form-input, .form-select) {
  height: 60px;
}
.form-input:is(.form-select),
.form-select:is(.form-select),
.form-textarea:is(.form-select) {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding-right: 3em;
  background-image: var(--icon-keyboard-arrow-down);
  background-repeat: no-repeat;
  background-position: right 24px top 55%;
  background-size: 24px auto;
}
@media (width < 768px) {
  .form-input:is(.form-select),
  .form-select:is(.form-select),
  .form-textarea:is(.form-select) {
    padding-right: 2.5em;
    background-position: right 12px top 55%;
  }
}
.form-input:is(.form-select):invalid,
.form-select:is(.form-select):invalid,
.form-textarea:is(.form-select):invalid {
  color: var(--color-gray);
}
.form-input:is(.form-textarea),
.form-select:is(.form-textarea),
.form-textarea:is(.form-textarea) {
  height: 12.5em;
  resize: vertical;
}

.form-checkbox {
  flex-shrink: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 16px;
  height: 16px;
  translate: 0 10%;
  border: 1px solid var(--color-gray-light);
  background-color: var(--color-white);
  border-radius: 2px;
}
.form-checkbox:checked {
  background-color: var(--color-secondary3);
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 10"><path fill="none" stroke="white" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" d="M12.8 0.8L4.55 8.8L0.8 5.1"/></svg>');
  background-size: 80% auto;
  background-position: center;
}

.form-checkbox-label {
  display: inline-flex;
  align-items: baseline;
  font-size: 16px;
  gap: 0.5em;
}

.form-checkboxes {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em 3em;
}
.form-checkboxes.--vertical {
  flex-direction: column;
}
@media (width < 768px) {
  .form-checkboxes {
    gap: 0.5em 1.5em;
  }
}

.form-submit {
  display: flex;
  justify-content: center;
}
.form-submit .button {
  width: 100%;
  max-width: 320px;
}

.form-agree .form-agree__header {
  margin-bottom: 20px;
  text-align: center;
}
.form-agree .form-agree__scroll {
  border: 1px solid var(--color-gray-light);
  padding: 32px;
  background-color: var(--color-white);
  height: 200px;
  overflow: auto;
}
.form-agree .form-agree__content {
  display: flow-root;
  font: var(--font-p2);
}
.form-agree .form-agree__content h2 {
  margin-block: 2em 1em;
  font-weight: bold;
}
.form-agree .form-agree__content p {
  margin-block: 1em;
}
.form-agree .form-agree__content ul {
  margin-block: 1em;
  list-style: disc;
  padding-left: 1.5em;
}
.form-agree .form-agree__content > :first-child {
  margin-block-start: 0;
}
.form-agree .form-agree__content > :last-child {
  margin-block-end: 0;
}
.form-agree .form-agree__bottom {
  margin-top: -1px;
  border: 1px solid var(--color-gray-light);
  background-color: var(--color-gray-light3);
  padding: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.form-agree .form-agree__bottom .form-agree__check {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}

.form-invalid {
  font: var(--font-p2);
  color: var(--color-danger);
  display: flex;
  align-items: start;
  gap: 0.3em;
}
.form-invalid::before {
  content: "";
  flex-shrink: 0;
  margin-top: 0.3em;
  width: 1.2em;
  height: 1.2em;
  background-color: var(--color-danger);
  -webkit-mask-image: var(--icon-error);
          mask-image: var(--icon-error);
}

.mobile-nav {
  --text-color: inherit;
  --icon-color: var(--color-secondary3);
  --border-color: var(--color-gray-light);
  --subpannel-color: var(--color-gray-light3);
  --inline-padding: 24px;
}
.site-footer-mobile-nav .mobile-nav {
  --subpannel-color: transparent;
  --inline-padding: 0;
}
.mobile-nav > .mobile-nav__row {
  border-bottom: 1px solid var(--border-color);
}
.site-header .mobile-nav .--header-hidden {
  display: none;
}

.mobile-nav__button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px var(--inline-padding);
  min-height: 56px;
  font-size: 14px;
  font-weight: bold;
  cursor: pointer;
  /* summary のアイコン */
  /* リンクのアイコン */
}
.mobile-nav__button:where(summary) {
  list-style: none;
}
.mobile-nav__button:where(summary)::-webkit-details-marker {
  display: none;
}
.mobile-nav__button:where(summary) .icon-accordion {
  font-size: 20px;
}
.mobile-nav__button:where(a)::after {
  content: "";
  flex: 0 0 20px;
  height: 20px;
  background-color: var(--icon-color);
  -webkit-mask-image: var(--icon-arrow-right-alt);
          mask-image: var(--icon-arrow-right-alt);
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
}

/* 開閉アニメーションは Safariは未対応 */
.mobile-nav__details {
  /* 開閉時の summary のアイコンのmask-imageを定義 */
  --summary-icon-mask-image: var(--icon-add-circle);
  interpolate-size: allow-keywords;
}
.mobile-nav__details[open] {
  --summary-icon-mask-image: var(--icon-minus-circle);
}
.mobile-nav__details:not([open])::details-content {
  block-size: 0;
}
.mobile-nav__details::details-content {
  overflow: clip;
  transition-duration: 300ms;
  transition-property: content-visibility, block-size;
  transition-behavior: allow-discrete;
}

.mobile-nav__details-content {
  border-top: 1px solid var(--border-color);
  padding: 24px var(--inline-padding);
  background-color: var(--subpannel-color);
  display: grid;
  gap: 24px;
}

.mobile-nav__two-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.mobile-nav__links {
  display: grid;
  gap: 24px;
}
.mobile-nav__links a {
  display: inline-flex;
  align-items: start;
}
.mobile-nav__links a::after {
  content: "";
  margin-top: 1px;
  margin-left: 8px;
  width: 20px;
  height: 20px;
  background-color: var(--color-secondary3);
  -webkit-mask-image: var(--icon-arrow-right-alt);
          mask-image: var(--icon-arrow-right-alt);
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
}
.mobile-nav__links > li > a {
  font-size: 14px;
  font-weight: bold;
}
.mobile-nav__links > li > a.--top {
  color: var(--color-secondary3);
}
.mobile-nav__links > li > ul > li {
  margin-top: 16px;
}
.mobile-nav__links > li > ul > li > a {
  font-size: 13px;
}

.news-list {
  display: grid;
}
@media (width >= 768px) {
  .news-list {
    grid-template: "date area title arrow" auto/max-content max-content 1fr max-content;
    gap: 0 32px;
  }
}
@media (width < 768px) {
  .news-list {
    grid-template-columns: 1fr;
  }
}
.news-list .news-list__link {
  --title-color: var(--color-black);
  --border-color: var(--color-gray-light);
  display: grid;
  border-bottom: 1px solid var(--border-color);
  align-items: center;
  transition: border-color 0.3s;
}
.news-list .news-list__link:hover {
  --title-color: var(--color-primary);
  --border-color: var(--color-secondary3);
}
@media (width >= 768px) {
  .news-list .news-list__link {
    padding: 32px;
    grid-template-columns: subgrid;
    grid-column: span 4;
  }
}
@media (width < 768px) {
  .news-list .news-list__link {
    padding: 20px 0;
    grid-template: "date area . arrow" auto "title title title arrow" auto/max-content max-content 1fr max-content;
    gap: 4px 16px;
  }
}
.news-list .news-list__link .news-list__date {
  grid-area: date;
  font: var(--font-label2);
  color: var(--color-gray);
}
.news-list .news-list__link .news-list__area {
  grid-area: area;
  display: grid;
  place-content: center;
}
.news-list .news-list__link .news-list__area > span {
  padding: 4px 8px;
  font: var(--font-label2);
  color: var(--color-secondary2);
  background-color: var(--color-gray-light3);
  border-radius: 100px;
}
.news-list .news-list__link .news-list__title {
  grid-area: title;
  font: var(--font-h6);
  color: var(--title-color);
  transition: color 0.3s;
}
.news-list .news-list__link .news-list__arrow {
  grid-area: arrow;
  display: grid;
  place-content: center;
  color: var(--color-secondary3);
  font-size: 24px;
}

.page-title-a {
  margin-inline: auto;
  padding-inline: var(--site-gutter);
  max-width: var(--content-max-width);
  padding-top: 120px;
  margin-bottom: 100px;
}
@media (width < 768px) {
  .page-title-a {
    --content-max-width: none;
    padding-top: 60px;
    margin-bottom: 60px;
  }
}
.page-title-a > .page-title-a__english {
  font: var(--font-english-xlg);
  color: var(--color-secondary3);
}
.page-title-a > .page-title-a__heading {
  font: var(--font-h2);
}
@media (width < 768px) {
  .page-title-a > .page-title-a__heading {
    font: var(--font-h3);
  }
}

.page-title-b {
  margin-inline: auto;
  padding-inline: var(--site-gutter);
  max-width: var(--content-max-width);
  padding-top: 120px;
  margin-bottom: 100px;
}
@media (width < 768px) {
  .page-title-b {
    --content-max-width: none;
    padding-top: 60px;
    margin-bottom: 60px;
  }
}
.page-title-b > .page-title-b__english {
  font: var(--font-english-md);
  color: var(--color-secondary3);
}
.page-title-b > .page-title-b__heading {
  font: var(--font-h1);
}
@media (width < 768px) {
  .page-title-b > .page-title-b__heading {
    font: var(--font-h3);
  }
}
.page-title-b > .page-title-b__tags {
  margin-top: 1.25em;
  display: flex;
  align-items: start;
  flex-wrap: wrap;
  font-size: 16px;
  gap: 1em;
}
.page-title-b > .page-title-b__tags > span {
  padding: 0 1em;
  height: 2.625em;
  display: flex;
  align-items: center;
  background-color: var(--color-secondary4);
  border-radius: 4px;
  color: var(--color-primary);
  font-weight: bold;
}
@media (width < 768px) {
  .page-title-b > .page-title-b__tags {
    font-size: 14px;
  }
}

.page-title-c {
  margin-inline: auto;
  padding-inline: var(--site-gutter);
  max-width: var(--content-max-width);
  padding-top: 120px;
  margin-bottom: 100px;
}
@media (width < 768px) {
  .page-title-c {
    --content-max-width: none;
    padding-top: 60px;
    margin-bottom: 50px;
  }
}
.page-title-c .page-title-c__heading {
  font: var(--font-h2);
}
@media (width < 768px) {
  .page-title-c .page-title-c__heading {
    font: var(--font-h3);
  }
}

.pagination {
  --base-size: 40px;
  display: grid;
  grid-template: "prev numbers next" auto/var(--base-size) auto var(--base-size);
  justify-content: center;
  gap: var(--base-size);
}
@media (width < 768px) {
  .pagination {
    --base-size: 32px;
    gap: calc(var(--base-size) * 0.5);
  }
}
.pagination .pagination__prev {
  grid-area: prev;
}
.pagination .pagination__numbers {
  grid-area: numbers;
  display: flex;
  flex-wrap: wrap;
  align-items: start;
  justify-content: center;
  gap: calc(var(--base-size) * 0.1);
}
.pagination .pagination__next {
  grid-area: next;
}
.pagination .pagination__arrow {
  width: var(--base-size);
  height: var(--base-size);
  border-radius: 50%;
  background-color: var(--color-secondary3);
  display: grid;
  place-content: center;
  font-size: calc(var(--base-size) * 0.6);
  color: #fff;
}
.pagination .pagination__arrow .icon-arrow {
  --color: currentColor;
}
.pagination .pagination__number {
  width: var(--base-size);
  height: var(--base-size);
  border-radius: 50%;
  border: 1px solid transparent;
  display: grid;
  place-content: center;
  padding-bottom: 0.15em;
  font-size: calc(var(--base-size) * 0.4);
  color: var(--color-primary);
}
.pagination .pagination__number[aria-current=page] {
  color: var(--color-secondary1);
  border-color: currentColor;
  font-size: calc(var(--base-size) * 0.45);
}
.pagination .pagination__dots {
  margin-top: 0.15em;
}

.post-card-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(0, 352px));
  justify-content: center;
  gap: 24px;
}

.post-card {
  position: relative;
  z-index: 1;
  display: grid;
  align-content: start;
  gap: 12px;
  border-radius: 16px;
  padding: 16px;
  background-color: var(--color-white);
  color: var(--color-black);
  min-height: 100%;
  border: 1px solid var(--color-gray-light);
  transition: 0.3s;
  transition-property: border-color, box-shadow;
}
.js-has-pseudo [csstools-has-1a-34-33-37-38-19-2r-2p-36-2s-1m-2w-2p-37-14-1a-34-33-37-38-19-2r-2p-36-2s-2n-2n-30-2x-32-2z-1m-2w-33-3a-2t-36-15]:not(.does-not-exist):not(.does-not-exist) {
  border-color: var(--color-gray);
  box-shadow: 0 20px 80px 0 rgba(178, 178, 178, 0.25);
}
.post-card:has(.post-card__link:hover) {
  border-color: var(--color-gray);
  box-shadow: 0 20px 80px 0 rgba(178, 178, 178, 0.25);
}
.post-card .post-card__link {
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.post-card .post-card__imagewrap {
  position: relative;
  overflow: hidden;
  aspect-ratio: 320/180;
  width: 100%;
  height: auto;
  border-radius: 8px;
}
.post-card .post-card__imagewrap .post-card__image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.post-card .post-card__imagewrap .post-card__category {
  position: relative;
  margin: 8px 0 0 8px;
  padding: 4px 12px;
  width: -moz-fit-content;
  width: fit-content;
  background-color: var(--color-secondary3);
  border-radius: 4px;
  color: #fff;
  font: var(--font-label2);
  font-weight: bold;
}
.post-card .post-card__imagewrap .post-card__category.--proposal {
  background-color: #044d34;
}
.post-card .post-card__imagewrap .post-card__category.--case {
  background-color: #067345;
}
.post-card .post-card__imagewrap .post-card__category.--voc {
  background-color: var(--color-accent);
  color: var(--color-secondary2);
}
.post-card .post-card__imagewrap .post-card__category.--blog {
  background-color: #02a951;
  color: var(--color-white);
}
.post-card .post-card__imagewrap .post-card__category.--column {
  background-color: var(--color-secondary3);
  color: var(--color-white);
}
.post-card .post-card__title {
  font: var(--font-h6);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  height: 2lh;
}
.post-card .post-card__date {
  font: var(--font-label2);
  color: var(--color-gray);
}
.post-card .post-card__tags {
  display: flex;
  align-items: start;
  flex-wrap: wrap;
  gap: 8px;
}
.post-card .post-card__tags > a {
  padding: 6px 12px;
  font: var(--font-label2);
  border-radius: 100px;
  color: var(--color-secondary2);
  position: relative;
  z-index: 2;
  background-color: var(--color-secondary4);
  transition: background-color 0.3s;
}
.post-card .post-card__tags > a:hover {
  background-color: var(--color-secondary4d);
}

.post-card-large {
  position: relative;
  z-index: 1;
  overflow: hidden;
  border: 1px solid var(--color-gray-light);
  background-color: #fff;
  border-radius: 16px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  padding: 32px;
  min-height: 100%;
  transition: 0.3s;
  transition-property: border-color, box-shadow;
  color: var(--color-black);
}
.js-has-pseudo [csstools-has-1a-34-33-37-38-19-2r-2p-36-2s-19-30-2p-36-2v-2t-1m-2w-2p-37-14-1a-34-33-37-38-19-2r-2p-36-2s-19-30-2p-36-2v-2t-2n-2n-30-2x-32-2z-1m-2w-33-3a-2t-36-15]:not(.does-not-exist):not(.does-not-exist) {
  --arrow-scale: 1.1;
  border-color: var(--color-gray);
  box-shadow: 0 20px 80px 0 rgba(178, 178, 178, 0.25);
}
.post-card-large:has(.post-card-large__link:hover) {
  --arrow-scale: 1.1;
  border-color: var(--color-gray);
  box-shadow: 0 20px 80px 0 rgba(178, 178, 178, 0.25);
}
@media (width < 768px) {
  .post-card-large {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 16px;
  }
}
.post-card-large .post-card-large__link {
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.post-card-large .post-card-large__pickup {
  position: absolute;
  left: 0;
  top: 0;
  padding: 17px 30px 0 17px;
  width: 112px;
  height: 112px;
  background-color: var(--color-accent);
  font-family: var(--font-family-english);
  font-style: italic;
  font-weight: bold;
  letter-spacing: 0.04em;
  font-size: 16px;
  line-height: 1.2;
  clip-path: polygon(0 0, 100% 0, 0% 100%);
  color: var(--color-black);
}
.post-card-large .post-card-large__image .post-card-large__image-inner {
  aspect-ratio: 1;
  border-radius: 8px;
  overflow: hidden;
}
@media (width < 768px) {
  .post-card-large .post-card-large__image .post-card-large__image-inner {
    aspect-ratio: 310/174;
  }
}
.post-card-large .post-card-large__image .post-card-large__image-inner > img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.post-card-large .post-card-large__content {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.post-card-large .post-card-large__content .post-card-large__header {
  display: grid;
  align-items: start;
  gap: 8px;
}
.post-card-large .post-card-large__content .post-card-large__header .post-card-large__title {
  font: var(--font-h4);
}
@media (width < 768px) {
  .post-card-large .post-card-large__content .post-card-large__header .post-card-large__title {
    font: var(--font-h5);
  }
}
.post-card-large .post-card-large__content .post-card-large__header .post-card-large__name {
  font: var(--font-label);
  color: var(--color-gray-dark);
}
.post-card-large .post-card-large__content .post-card-large__header .post-card-large__date {
  font: var(--font-label2);
  color: var(--color-gray);
}
.post-card-large .post-card-large__content .post-card-large__tags {
  display: flex;
  align-items: start;
  flex-wrap: wrap;
  gap: 8px;
}
.post-card-large .post-card-large__content .post-card-large__tags > a {
  position: relative;
  z-index: 2;
  padding: 6px 12px;
  font: var(--font-label2);
  border-radius: 100px;
  color: var(--color-secondary2);
  background-color: var(--color-secondary4);
  transition: background-color 0.3s;
}
.post-card-large .post-card-large__content .post-card-large__tags > a:hover {
  background-color: var(--color-secondary4d);
}
.post-card-large .post-card-large__content .post-card-large__button-wrap {
  flex-grow: 1;
  display: flex;
  align-items: end;
  justify-content: end;
}
.post-card-large .post-card-large__content .post-card-large__button-wrap .post-card-large__button {
  font: var(--font-label2);
  font-weight: bold;
  color: var(--color-gray);
  border: 1px solid var(--color-gray-light);
  padding-inline: 8px;
  gap: 8px;
  display: flex;
  align-items: center;
  width: 140px;
  height: 44px;
  border-radius: 44px;
}
.post-card-large .post-card-large__content .post-card-large__button-wrap .post-card-large__button > span {
  flex-grow: 1;
  text-align: center;
}
.post-card-large .post-card-large__content .post-card-large__button-wrap .post-card-large__button > i {
  width: 28px;
  height: 28px;
  border-radius: var(--Corner-Full, 1000px);
  background: var(--color-secondary3);
  display: grid;
  place-content: center;
  scale: var(--arrow-scale, 1);
  transition: scale 0.2s;
}
.post-card-large .post-card-large__content .post-card-large__button-wrap .post-card-large__button > i::before {
  content: "";
  width: 16px;
  height: 16px;
  background-color: var(--color-white);
  -webkit-mask-image: var(--icon-arrow-right-alt);
          mask-image: var(--icon-arrow-right-alt);
}

.post-card-large-embla {
  --slide-width: 720px;
  --slide-gap: 32px;
  position: relative;
}
@media (width < 768px) {
  .post-card-large-embla {
    --slide-width: 342px;
    --slide-gap: 16px;
  }
}
.post-card-large-embla .post-card-large-embla__viewport {
  overflow: hidden;
}
.post-card-large-embla .post-card-large-embla__container {
  display: flex;
  margin-left: calc(var(--slide-gap) * -1);
  touch-action: pan-y pinch-zoom;
}
.post-card-large-embla .post-card-large-embla__slide {
  flex: 0 0 calc(var(--slide-width) + var(--slide-gap));
  min-width: 0;
  padding-left: var(--slide-gap);
}
.post-card-large-embla .post-card-large-embla__button {
  --size: 48px;
  position: absolute;
  top: calc((100% - var(--size)) / 2);
  width: var(--size);
  height: var(--size);
  border-radius: 50%;
  background-color: var(--color-black);
  color: var(--color-white);
  font-size: calc(var(--size) / 2);
  display: grid;
  place-content: center;
}
@media (width < 768px) {
  .post-card-large-embla .post-card-large-embla__button {
    display: none;
  }
}
.post-card-large-embla .post-card-large-embla__button.--prev {
  left: calc((100% - var(--slide-width) - var(--size)) / 2);
}
.post-card-large-embla .post-card-large-embla__button.--next {
  right: calc((100% - var(--slide-width) - var(--size)) / 2);
}

.post-search-details .post-search-details__summary {
  position: relative;
  height: 60px;
  font-weight: bold;
  background-color: var(--color-gray-dark);
  color: var(--color-white);
  cursor: pointer;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  list-style: none;
}
.post-search-details .post-search-details__summary::-webkit-details-marker {
  display: none;
}
.post-search-details .post-search-details__summary .icon-accordion {
  font-size: 24px;
  position: absolute;
  right: 24px;
}

.post-search-box {
  padding: 64px;
  border-radius: 8px;
  background-color: var(--color-white);
}
.post-search-box.--conditions {
  padding: 20px 32px;
}
@media (width < 768px) {
  .post-search-box {
    padding: 32px 24px;
  }
}

.post-search-dl {
  display: grid;
  grid-template-columns: max-content 1fr;
  align-items: center;
  gap: 48px 40px;
}
@media (width < 768px) {
  .post-search-dl {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}
.post-search-dl > dt {
  font-weight: bold;
  display: flex;
  gap: 12px;
}
@media (width < 768px) {
  .post-search-dl > dt:not(:first-child) {
    margin-top: 16px;
  }
}
.post-search-dl > dt.--facility {
  --icon-url: var(--icon-building);
}
.post-search-dl > dt.--service {
  --icon-url: var(--icon-twinkle);
}
.post-search-dl > dt.--location {
  --icon-url: var(--icon-mapmarker);
}
.post-search-dl > dt.--keyword {
  --icon-url: var(--icon-key);
}
.post-search-dl > dt.--freeword {
  --icon-url: var(--icon-search-a);
}
.post-search-dl > dt.--search {
  --icon-url: var(--icon-search);
}
.post-search-dl > dt::before {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  background-color: var(--color-secondary3);
  -webkit-mask-image: var(--icon-url);
          mask-image: var(--icon-url);
}
@media (width >= 768px) {
  .post-search-dl > dd {
    border-left: 1px solid var(--color-gray-light);
    padding-left: 40px;
  }
}

.post-search-radios {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.post-search-radios > label {
  cursor: pointer;
}
.post-search-radios > label > input {
  display: none;
}
.post-search-radios > label > span {
  --bg-color: var(--color-secondary4);
  --text-color: var(--color-secondary2);
  --font-weight: normal;
  padding: 5px 12px;
  font: var(--font-label2);
  border-radius: 100px;
  color: var(--text-color);
  background-color: var(--bg-color);
  font-weight: var(--font-weight);
  transition: 0.2s;
  transition-property: background-color, color, font-weight;
}
.post-search-radios > label > span:hover {
  --bg-color: var(--color-secondary4d);
}
.post-search-radios > label > input:checked + span {
  --bg-color: var(--color-secondary2);
  --text-color: var(--color-white);
  --font-weight: bold;
}

.post-search-input {
  padding: 8px;
  width: 100%;
  max-width: 462px;
  height: 44px;
  font-size: 16px;
  border-radius: 8px;
  border: 1px solid var(--color-gray-light);
  color: var(--color-black);
}
.post-search-input::-moz-placeholder {
  color: var(--color-gray);
}
.post-search-input::placeholder {
  color: var(--color-gray);
}
.post-search-input:focus-visible {
  outline: 1px solid var(--color-secondary3);
  outline-offset: -1px;
}

.post-search-buttons {
  display: grid;
}
@media (width >= 768px) {
  .post-search-buttons {
    margin-top: var(--size-1200);
    grid-template: ". submit reset"/1fr 220px 1fr;
    align-items: center;
  }
}
@media (width < 768px) {
  .post-search-buttons {
    margin-top: var(--size-800);
    grid-template: "submit" auto "reset" auto/1fr;
    gap: 16px;
  }
}
.post-search-buttons .post-search-buttons__submit {
  grid-area: submit;
}
.post-search-buttons .post-search-buttons__reset {
  grid-area: reset;
  justify-self: end;
}
.post-search-buttons .post-search-buttons__reset button {
  font: var(--font-label);
  font-weight: normal;
  color: var(--color-gray-dark);
  display: flex;
  align-items: center;
  gap: 12px;
}
.post-search-buttons .post-search-buttons__reset button .icon-remove {
  font-size: 16px;
}

.post-search-result {
  font: var(--font-h4);
  display: flex;
  align-items: baseline;
  gap: 0.6em;
}
.post-search-result .post-search-result__count {
  color: var(--color-primary);
}
.post-search-result .post-search-result__count b {
  font: var(--font-h3);
}

.post-search-conditions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.post-search-conditions .post-search-conditions__button {
  --bg-color: var(--color-secondary4);
  --text-color: var(--color-secondary2);
  --font-weight: normal;
  padding: 5px 12px;
  font: var(--font-label2);
  border-radius: 100px;
  color: var(--text-color);
  background-color: var(--bg-color);
  font-weight: var(--font-weight);
  display: flex;
  align-items: center;
  gap: 8px;
  transition: background-color 0.2s;
}
.post-search-conditions .post-search-conditions__button:hover {
  --bg-color: var(--color-secondary4d);
}
.post-search-conditions .post-search-conditions__button .icon-remove {
  --color: currentcolor;
  --size: 12px;
}

.service-card {
  --image-scale: 1;
  --icon-scale: 1;
  --icon-fill-color: transparent;
  --icon-text-color: display: flow-root;
  position: relative;
  min-height: 100%;
  background-color: var(--color-primary);
  border-radius: 16px;
  color: #fff;
  display: flex;
  flex-direction: column;
}
.service-card.--dark {
  background-color: var(--color-secondary2);
}
.service-card:hover {
  --image-scale: 1.1;
  --icon-scale: 1.1;
}

.service-card__image {
  display: block;
  margin: 8px;
  overflow: hidden;
  border-radius: 8px 8px 0 0;
  aspect-ratio: 520/200;
}
.service-card__image > img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: scale 0.2s;
  scale: var(--image-scale);
}

.service-card__content {
  flex-grow: 1;
  position: relative;
  margin: 32px;
  gap: 24px;
  display: flex;
  flex-direction: column;
}
@media (width < 768px) {
  .service-card__content {
    margin: 24px;
    gap: 16px;
  }
}

.service-card__row1 {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.service-card__text1 {
  padding: 0.6em 1.7em;
  border-radius: 10em;
  background-color: rgba(0, 0, 0, 0.2);
  font-size: 14px;
  line-height: 1.5;
  font-weight: bold;
}

.service-card__text2 {
  margin-top: 8px;
  font-size: 32px;
  line-height: 1.6;
  font-weight: bold;
}
@media (width < 768px) {
  .service-card__text2 {
    font-size: 28px;
  }
}

.service-card__row2 {
  flex-grow: 1;
  display: flex;
}
@media (width >= 768px) {
  .service-card__row2 {
    justify-content: space-between;
  }
}
@media (width < 768px) {
  .service-card__row2 {
    flex-direction: column;
    gap: 8px;
  }
}

.service-card__text3 {
  align-self: start;
  max-width: 360px;
  font-size: 16px;
  line-height: 1.8;
}

.service-card__arrow {
  --size: 56px;
  margin-left: 28px;
  align-self: end;
  flex-shrink: 0;
  overflow: hidden;
  position: relative;
  width: var(--size);
  height: var(--size);
  border-radius: 50%;
  border: 1px solid var(--color-white);
  display: block;
  transform: var(--hover-disc-arrow-transform);
  transition: var(--hover-disc-arrow-transition);
}
@media (width < 768px) {
  .service-card__arrow {
    --size: 40px;
  }
}
.service-card__arrow::before, .service-card__arrow::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: currentColor;
  transition: opacity 0.2s;
}
.service-card__arrow::before {
  -webkit-mask-image: var(--icon-arrow-right-alt);
          mask-image: var(--icon-arrow-right-alt);
  -webkit-mask-size: 43% 43%;
          mask-size: 43% 43%;
  opacity: calc(1 - var(--hover-flag));
}
.service-card__arrow::after {
  -webkit-mask-image: var(--icon-arrow-right-alt), linear-gradient(#000, #000);
          mask-image: var(--icon-arrow-right-alt), linear-gradient(#000, #000);
  -webkit-mask-size: 43% 43%, 100% 100%;
          mask-size: 43% 43%, 100% 100%;
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  opacity: var(--hover-flag);
}

.service-card-plus {
  --image-scale: 1;
  position: relative;
  overflow: hidden;
  width: 1200px;
  max-width: 100%;
  display: flex;
  border-radius: 16px;
  background-color: #c6d8db;
}
@media (width >= 768px) {
  .service-card-plus {
    align-items: center;
    padding-inline: 64px;
    height: 400px;
  }
  .service-card-plus.--b {
    height: 260px;
  }
}
@media (width < 768px) {
  .service-card-plus {
    align-items: end;
    padding: 0 24px 32px;
    height: 430px;
  }
}
.service-card-plus:hover {
  --image-scale: 1.1;
}
.service-card-plus .service-card-plus__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center bottom;
     object-position: center bottom;
  transition: scale 0.3s ease;
  scale: var(--image-scale);
}
@media (width < 768px) {
  .service-card-plus .service-card-plus__bg {
    height: 50%;
    -o-object-position: 80% center;
       object-position: 80% center;
    -webkit-mask-image: linear-gradient(to top, transparent, #000 60%);
            mask-image: linear-gradient(to top, transparent, #000 60%);
  }
}
.service-card-plus .service-card-plus__content {
  position: relative;
}
.service-card-plus .service-card-plus__content .service-card-plus__text1 {
  font: var(--font-h3);
}
@media (width < 768px) {
  .service-card-plus .service-card-plus__content .service-card-plus__text1 {
    font: var(--font-h4);
  }
}
.service-card-plus .service-card-plus__content .service-card-plus__text2 {
  font: var(--font-h2);
}
@media (width < 768px) {
  .service-card-plus .service-card-plus__content .service-card-plus__text2 {
    font: var(--font-h3);
  }
}
.service-card-plus .service-card-plus__content .service-card-plus__text3 {
  margin-top: 24px;
  font: var(--font-p);
}
@media (width < 768px) {
  .service-card-plus .service-card-plus__content .service-card-plus__text3 {
    margin-top: 16px;
  }
}
.service-card-plus .service-card-plus__content .service-card-plus__button {
  margin-top: 24px;
}
@media (width < 768px) {
  .service-card-plus .service-card-plus__content .service-card-plus__button {
    margin-top: 16px;
  }
}
.service-card-plus .service-card-plus__content .service-card-plus__button .button {
  width: 100%;
  max-width: 320px;
}

.service-card-plus-b {
  --image-scale: 1;
  position: relative;
  overflow: hidden;
  width: min(1104px, 100%);
  display: flex;
  border-radius: 16px;
  background-color: #c6d8db;
}
@media (width >= 768px) {
  .service-card-plus-b {
    zoom: min(100cqw/1000px, 1);
    align-items: center;
    padding-inline: 48px;
    height: 260px;
  }
}
@media (width < 768px) {
  .service-card-plus-b {
    align-items: end;
    padding: 0 24px 32px;
    height: 430px;
  }
}
.service-card-plus-b:hover {
  --image-scale: 1.1;
}
.service-card-plus-b::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("../assets/service/card-plus-bg-original.webp");
  background-size: 160% auto;
  background-position: right 55% bottom 38%;
  transition: scale 0.3s ease;
  scale: var(--image-scale);
}
@media (width < 768px) {
  .service-card-plus-b::before {
    background-size: auto 120%;
    background-position: right 40% bottom -130%;
    -webkit-mask-image: linear-gradient(to top, transparent 30%, #000 100%);
            mask-image: linear-gradient(to top, transparent 30%, #000 100%);
  }
}
.service-card-plus-b .service-card-plus-b__content {
  position: relative;
  display: flex;
}
@media (width >= 768px) {
  .service-card-plus-b .service-card-plus-b__content {
    flex-grow: 1;
    align-items: center;
    justify-content: space-between;
  }
}
@media (width < 768px) {
  .service-card-plus-b .service-card-plus-b__content {
    flex-direction: column;
    gap: 24px;
  }
}
.service-card-plus-b .service-card-plus-b__content .service-card-plus-b__text .service-card-plus-b__title {
  display: flex;
  align-items: center;
}
@media (width < 768px) {
  .service-card-plus-b .service-card-plus-b__content .service-card-plus-b__text .service-card-plus-b__title {
    flex-direction: column;
  }
}
.service-card-plus-b .service-card-plus-b__content .service-card-plus-b__text .service-card-plus-b__title > span:nth-child(1) {
  font: var(--font-h4);
}
.service-card-plus-b .service-card-plus-b__content .service-card-plus-b__text .service-card-plus-b__title > span:nth-child(2) {
  font: var(--font-h3);
}
.service-card-plus-b .service-card-plus-b__content .service-card-plus-b__text .service-card-plus-b__description {
  margin-top: 16px;
  font: var(--font-p);
}
@media (width < 768px) {
  .service-card-plus-b .service-card-plus-b__content .service-card-plus-b__text .service-card-plus-b__description {
    margin-top: 16px;
  }
}
.service-card-plus-b .service-card-plus-b__content .service-card-plus-b__button .button {
  width: 320px;
}
@media (width < 768px) {
  .service-card-plus-b .service-card-plus-b__content .service-card-plus-b__button .button {
    width: 100%;
  }
}

.service-daily-mapnav {
  container-type: inline-size;
  overflow: hidden;
  display: grid;
  justify-content: center;
}
.service-daily-mapnav > ul {
  position: relative;
  z-index: 1;
}
@media (width >= 768px) {
  .service-daily-mapnav > ul {
    zoom: min(100cqw/1000px, 1);
    width: 1400px;
    height: 950px;
  }
}
@media (width < 768px) {
  .service-daily-mapnav > ul {
    zoom: min(100cqw/368px, 1);
    padding: 410px var(--site-gutter) 32px;
    width: 1000px;
    display: grid;
    grid-template-columns: 320px;
    justify-content: center;
    gap: 16px;
  }
}
.service-daily-mapnav > ul::before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 0;
  top: 0;
  aspect-ratio: 1400/950;
  width: 100%;
  height: auto;
  background-image: url("../assets/service/map-illust.webp");
  background-size: 100% 100%;
  background-position: center top;
  -webkit-mask-image: linear-gradient(to bottom, #000 58%, transparent 80%);
          mask-image: linear-gradient(to bottom, #000 58%, transparent 80%);
}
@media (width < 768px) {
  .service-daily-mapnav > ul::before {
    -webkit-mask-image: linear-gradient(to bottom, #000 80%, transparent 100%);
            mask-image: linear-gradient(to bottom, #000 80%, transparent 100%);
  }
}
@media (width >= 768px) {
  .service-daily-mapnav > ul > li {
    position: absolute;
    z-index: 1;
  }
  .service-daily-mapnav > ul > li.--office {
    left: 219px;
    top: 86px;
  }
  .service-daily-mapnav > ul > li.--building {
    left: 931px;
    top: 86px;
  }
  .service-daily-mapnav > ul > li.--mansion {
    left: 549px;
    top: 173px;
  }
  .service-daily-mapnav > ul > li.--hospital {
    left: 843px;
    top: 285px;
  }
  .service-daily-mapnav > ul > li.--store {
    left: 427px;
    top: 328px;
  }
  .service-daily-mapnav > ul > li.--school {
    left: 940px;
    top: 407px;
  }
  .service-daily-mapnav > ul > li.--nursing {
    left: 259px;
    top: 454px;
  }
  .service-daily-mapnav > ul > li.--gym {
    left: 647px;
    top: 486px;
  }
}
@media (width < 768px) {
  .service-daily-mapnav > ul > li {
    position: relative;
    z-index: 1;
  }
}
.service-daily-mapnav > ul > li > .button {
  --text-color: var(--color-black);
  --border-color: var(--color-secondary3);
  --height: 62px;
  transition: 0.2s;
  transition-property: color, scale;
  box-shadow: 0 15px 30px 0 rgba(36, 204, 99, 0.3);
}
.service-daily-mapnav > ul > li > .button:hover {
  --text-color: var(--color-secondary3);
  scale: 1.1;
}
@media (width < 768px) {
  .service-daily-mapnav > ul > li > .button {
    width: 100%;
  }
}

.service-illust-box {
  margin-inline: auto;
  padding-top: 120px;
  width: min(1800px, 100%);
  background-color: var(--color-secondary4);
  border-radius: 28px;
}
@media (width < 768px) {
  .service-illust-box {
    margin-inline: -16px;
    width: auto;
    padding: 60px 16px;
    border-radius: 16px;
  }
}

.service-illust {
  --width: 1104px;
  position: relative;
}
@media (width >= 768px) {
  .service-illust {
    container-type: inline-size;
  }
}
@media (width >= 768px) {
  .service-illust .service-illust__inner {
    zoom: min(1, 100cqw/calc(var(--width) + 56px));
    margin-inline: auto;
    width: var(--width);
  }
}
.service-illust .service-illust__image {
  width: var(--width);
}
@media (width < 768px) {
  .service-illust .service-illust__image {
    overflow: hidden;
    margin-inline: -16px;
    width: auto;
    display: grid;
    justify-items: center;
  }
}
.service-illust .service-illust__image > img {
  display: block;
  width: max(520px, 100%);
  max-width: none;
  height: auto;
}
@media (width >= 768px) {
  .service-illust .service-illust__list {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: var(--width);
  }
}
@media (width < 768px) {
  .service-illust .service-illust__list {
    display: grid;
    grid-template-columns: min(320px, 100%);
    justify-content: center;
    gap: 16px;
  }
}
@media (width >= 768px) {
  .service-illust .service-illust__list .service-illust__item {
    position: absolute;
    left: calc(var(--x) * 1px);
    top: calc(var(--y) * 1px);
  }
}
@media (width < 768px) {
  .service-illust .service-illust__list .service-illust__item {
    position: relative;
  }
}
.service-illust .service-illust__list .service-illust__item .service-illust__button {
  border: 1px solid var(--color-secondary3);
  background-color: #fff;
  padding-inline: 32px 20px;
  width: -moz-max-content;
  width: max-content;
  height: 62px;
  border-radius: 31px;
  font-size: 16px;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  box-shadow: 0 15px 30px 0 rgba(36, 204, 99, 0.3);
}
@media (width < 768px) {
  .service-illust .service-illust__list .service-illust__item .service-illust__button {
    width: 100%;
  }
}
.service-illust .service-illust__list .service-illust__item .service-illust__button::after {
  content: "";
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  background-color: var(--color-primary);
  -webkit-mask-image: var(--icon-arrow-right-alt);
          mask-image: var(--icon-arrow-right-alt);
}

.service-illust__card {
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
  z-index: 999;
  width: 350px;
  padding: 16px;
  border-radius: 16px;
  background-color: #fff;
  border: 1px solid var(--color-secondary3);
  box-shadow: 0 20px 80px 0 rgba(38, 211, 103, 0.25);
  cursor: pointer;
}
.service-illust__card[aria-hidden=true] {
  transition: visibility 0s 0.2s, opacity 0.2s, scale 0.2s;
  visibility: hidden;
  opacity: 0;
  scale: 0;
}
.service-illust__card[aria-hidden=false] {
  transition: visibility 0s, opacity 0.3s, scale 0.3s;
  visibility: visible;
  opacity: 1;
  scale: 1;
}
.service-illust__card img {
  aspect-ratio: 290/216;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
.service-illust__card h3 {
  margin-block: 16px 12px;
  font: var(--font-h5);
}
.service-illust__card ul {
  font: var(--font-p2);
  letter-spacing: -0.02em;
  margin-left: 1.3em;
  list-style: disc;
}
.service-illust__card ul.--columns-2 {
  -moz-columns: 2;
       columns: 2;
  -moz-column-gap: 1.6em;
       column-gap: 1.6em;
}
.service-illust__card p {
  font: var(--font-p2);
}

@media (width >= 768px) {
  .service-illust-overlay {
    display: none;
  }
}
@media (width < 768px) {
  .service-illust-overlay {
    position: fixed;
    z-index: 998;
    left: 0;
    top: var(--header-height);
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
  }
  .service-illust-overlay:hover {
    --icon-opacity: 1;
  }
  .service-illust-overlay::before {
    content: "";
    position: absolute;
    right: 16px;
    top: 16px;
    width: 24px;
    height: 24px;
    background-color: #fff;
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18"><path fill="none" stroke="black" stroke-width="2" stroke-linecap="round" d="M2 2L16 16 M16 2L2 16" /></svg>');
            mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18"><path fill="none" stroke="black" stroke-width="2" stroke-linecap="round" d="M2 2L16 16 M16 2L2 16" /></svg>');
    cursor: pointer;
    opacity: var(--icon-opacity, 0.5);
    transition: opacity 0.2s;
  }
  .service-illust-overlay[aria-hidden=true] {
    transition: visibility 0s 0.2s, opacity 0.2s;
    visibility: hidden;
    opacity: 0;
  }
  .service-illust-overlay[aria-hidden=false] {
    transition: visibility 0s, opacity 0.2s;
    visibility: visible;
    opacity: 1;
  }
}

.service-lead-daily {
  display: grid;
  grid-template: "heading image" auto "text image" auto/1fr 1fr;
  gap: 32px 48px;
}
@media (width < 1000px) {
  .service-lead-daily {
    grid-template: "heading" auto "text" auto "image" auto/1fr;
    gap: 24px;
  }
}
.service-lead-daily .service-lead-daily__heading {
  grid-area: heading;
  font: var(--font-h3);
}
@media (width < 768px) {
  .service-lead-daily .service-lead-daily__heading {
    font: var(--font-h4);
  }
}
.service-lead-daily .service-lead-daily__text {
  grid-area: text;
  font: var(--font-p);
}
.service-lead-daily .service-lead-daily__image {
  grid-area: image;
  border-radius: 8px;
}

.service-lead {
  --pc-columns: 1fr 1fr;
  --pc-image-radius: 8px;
  display: grid;
  grid-template-columns: var(--pc-columns);
  gap: 48px;
}
.service-lead.--daily {
  --pc-columns: 0.82fr 1fr;
  --pc-image-radius: 16px;
}
@media (width < 1000px) {
  .service-lead {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}
.service-lead .service-lead__content {
  display: grid;
  gap: 24px;
}
.service-lead .service-lead__content .service-lead__heading {
  font: var(--font-h3);
}
@media (width < 768px) {
  .service-lead .service-lead__content .service-lead__heading {
    font: var(--font-h4);
  }
}
.service-lead .service-lead__content .service-lead__text {
  font: var(--font-p);
}
.service-lead .service-lead__content .service-lead__text a {
  color: var(--color-primary);
  text-decoration: underline;
}
.service-lead .service-lead__content .service-lead__note {
  margin-top: -16px;
  font: var(--font-p2);
}
.service-lead .service-lead__content .service-lead__nayami .service-lead__nayami-text {
  font: var(--font-h5);
  color: var(--color-primary);
}
.service-lead .service-lead__content .service-lead__nayami .service-lead__nayami-list {
  margin-top: 16px;
  display: grid;
  gap: 8px;
}
.service-lead .service-lead__content .service-lead__nayami .service-lead__nayami-list > li {
  background-color: var(--color-gray-light3);
  border-radius: 4px;
  padding: 16px;
  font-weight: bold;
  display: flex;
  align-items: start;
  gap: 8px;
}
.service-lead .service-lead__content .service-lead__nayami .service-lead__nayami-list > li::before {
  content: "";
  flex-shrink: 0;
  margin-top: 3px;
  width: 20px;
  height: 20px;
  background-color: var(--color-primary);
  -webkit-mask-image: var(--icon-check-circle);
          mask-image: var(--icon-check-circle);
}
.service-lead .service-lead__content .service-lead__hospital-certificate {
  border: 1px solid var(--color-primary);
  padding: 12px;
  display: flex;
  align-items: center;
  gap: 16px;
}
.service-lead .service-lead__content .service-lead__hospital-certificate > img {
  flex-shrink: 0;
  width: 100px;
  border: 1px solid var(--color-gray-light);
}
.service-lead .service-lead__content .service-lead__hospital-certificate > figcaption {
  font: var(--font-label);
}
.service-lead .service-lead__image > img {
  border-radius: var(--pc-image-radius);
}
@media (width < 768px) {
  .service-lead .service-lead__image > img {
    border-radius: 8px;
  }
}

.service-periodic-nav-list {
  --column: 3;
  --item-ratio: 358 / 210;
  display: grid;
  grid-template-columns: repeat(var(--column), minmax(0, 358px));
  justify-content: center;
  gap: 16px;
}
.service-periodic-nav-list.--secondary {
  --item-ratio: 358 / 150;
}
@media (width < 1100px) {
  .service-periodic-nav-list {
    --column: 2;
  }
}
@media (width < 768px) {
  .service-periodic-nav-list {
    --column: 1;
  }
}
.service-periodic-nav-list > li {
  container-type: inline-size;
}

.service-periodic-nav {
  zoom: min(1, 100cqw/358px);
  overflow: hidden;
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  aspect-ratio: var(--item-ratio);
  border-radius: 8px;
  color: #fff;
  padding-inline: 32px;
}
.service-periodic-nav[aria-current=page] {
  --image-opacity: 0.6;
  pointer-events: none;
}
.service-periodic-nav:hover {
  --image-scale: 1.1;
}
.service-periodic-nav .service-periodic-nav__image {
  position: absolute;
  z-index: -1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: var(--image-opacity, 1);
  scale: var(--image-scale, 1);
  transition: scale 0.2s ease;
}
.service-periodic-nav .service-periodic-nav__text {
  font: var(--font-h5);
}
.service-periodic-nav .service-periodic-nav__text small {
  font-size: 66.7%;
  font-weight: normal;
}
.service-periodic-nav .icon-arrow-circle {
  font-size: 56px;
}

.service-regular-menu .service-regular-menu__heading {
  font: var(--font-h4);
  color: var(--color-primary);
}
@media (width < 768px) {
  .service-regular-menu .service-regular-menu__heading {
    font: var(--font-h5);
    text-align: center;
  }
}

.service-start-flow {
  --item-gap: 70px;
  overflow: hidden;
}
.service-start-flow .service-start-flow__inner {
  display: flex;
  margin-left: calc(var(--item-gap) * -1);
}
.service-start-flow .service-start-flow__inner .service-start-flow__slide {
  position: relative;
  padding-left: var(--item-gap);
}
.service-start-flow .service-start-flow__inner .service-start-flow__slide:not(:first-child)::before {
  content: "";
  position: absolute;
  left: 0;
  top: 65px;
  width: var(--item-gap);
  height: 36px;
  background-color: var(--color-primary);
  -webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 23 36"><path d="M21.95 16.18a2 2 0 0 1 0 3.06L3.3 34.94A2 2 0 0 1 0 33.41V2.01A2 2 0 0 1 3.29.46z"/></svg>');
          mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 23 36"><path d="M21.95 16.18a2 2 0 0 1 0 3.06L3.3 34.94A2 2 0 0 1 0 33.41V2.01A2 2 0 0 1 3.29.46z"/></svg>');
  -webkit-mask-size: auto 100%;
          mask-size: auto 100%;
  -webkit-mask-position: center;
          mask-position: center;
}

.service-start-flow-item {
  width: 300px;
}
.service-start-flow-item .service-start-flow-item__image {
  aspect-ratio: 300/169;
  width: 100%;
  height: auto;
  border-radius: 8px;
}
.service-start-flow-item .service-start-flow-item__header {
  margin-top: 24px;
  display: flex;
  align-items: center;
  gap: 16px;
}
.service-start-flow-item .service-start-flow-item__header .service-start-flow-item__number {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  color: var(--color-secondary3);
  border: 1px solid currentcolor;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font: var(--font-english);
  line-height: 1;
  font-size: 24px;
  gap: 0.1em;
}
.service-start-flow-item .service-start-flow-item__header .service-start-flow-item__number span:nth-child(1) {
  font-size: 58%;
}
.service-start-flow-item .service-start-flow-item__header .service-start-flow-item__title {
  font: var(--font-h4);
}
.service-start-flow-item .service-start-flow-item__description {
  margin-top: 16px;
  font: var(--font-p2);
}

.service-start-flow-controls {
  margin-top: 24px;
  padding-bottom: 5px;
  display: flex;
  align-items: center;
  gap: 16px;
}
.service-start-flow-controls .service-start-flow-controls__button {
  font-size: 40px;
  transition: opacity 0.3s;
}
.service-start-flow-controls .service-start-flow-controls__button:disabled {
  opacity: 0.2;
  pointer-events: none;
}

.service-work-process-box {
  margin-inline: auto;
  padding-block: 160px;
  width: min(1800px, 100%);
  background-color: var(--color-gray-light3);
  border-radius: 28px;
}
@media (width < 768px) {
  .service-work-process-box {
    margin-inline: -16px;
    width: auto;
    padding: 60px 0;
    border-radius: 16px;
  }
}

.service-work-process-image {
  overflow: hidden;
  padding-inline: var(--site-gutter);
}
@media (width < 768px) {
  .service-work-process-image {
    padding-inline: 16px;
  }
}
.service-work-process-image .service-work-process-image__inner {
  margin-inline: auto;
  display: grid;
  justify-content: center;
}
@media (width >= 768px) {
  .service-work-process-image .service-work-process-image__inner {
    max-width: 1104px;
    grid-template-columns: 114.6739130435%;
  }
}
@media (width < 768px) {
  .service-work-process-image .service-work-process-image__inner {
    max-width: 342px;
    grid-template-columns: 146.783625731%;
  }
}
@media (width < 768px) {
  .service-work-process-image .service-work-process-image__inner .service-work-process-image__pc {
    display: none;
  }
}
@media (width >= 768px) {
  .service-work-process-image .service-work-process-image__inner .service-work-process-image__sp {
    display: none;
  }
}

/* フッター */
.site-footer {
  margin: 40px 0 0;
}
@media (width < 768px) {
  .site-footer {
    margin: 30px 0 0;
  }
}
.js-has-pseudo .site-footer:not([csstools-has-1m-2w-2p-37-14-1a-37-2x-38-2t-19-2u-33-33-38-2t-36-19-2r-38-2p-15]) {
  margin-top: 160px;
}
.site-footer:not(:has(.site-footer-cta)) {
  margin-top: 160px;
}
@media (width < 768px) {
  .js-has-pseudo .site-footer:not([csstools-has-1m-2w-2p-37-14-1a-37-2x-38-2t-19-2u-33-33-38-2t-36-19-2r-38-2p-15]) {
    margin-top: 120px;
  }
  .site-footer:not(:has(.site-footer-cta)) {
    margin-top: 120px;
  }
}

.site-footer-cta {
  position: relative;
}
.site-footer-cta.--gray {
  margin-top: 160px;
  background-color: var(--color-gray-light3);
}
@media (width < 768px) {
  .site-footer-cta.--gray {
    margin-top: 120px;
  }
}

.site-footer-cta__inner {
  position: relative;
  top: 120px;
}
@media (width < 768px) {
  .site-footer-cta__inner {
    top: 90px;
  }
}

.site-footer-cta__heading {
  text-align: center;
}
.site-footer-cta__heading p {
  font: var(--font-english-xlg);
}
.site-footer-cta__heading h2 {
  font: var(--font-h4);
  color: var(--color-primary);
  white-space: nowrap;
}
@media (width < 768px) {
  .site-footer-cta__heading h2 {
    font-size: 17px;
  }
}

.site-footer-cta__message {
  text-align: center;
}
.site-footer-cta__message .site-footer-cta__message-text1 {
  font: var(--font-h2);
  color: var(--color-primary);
}
@media (width < 768px) {
  .site-footer-cta__message .site-footer-cta__message-text1 {
    font: var(--font-h4);
  }
}
.site-footer-cta__message .site-footer-cta__message-text2 {
  margin-top: 32px;
  font: var(--font-h5);
}
.site-footer-cta__message .site-footer-cta__message-text3 {
  margin-top: 24px;
  font: var(--font-p);
}

.site-footer-cta__small-banners {
  display: grid;
}
@media (width >= 768px) {
  .site-footer-cta__small-banners {
    margin-top: 64px;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
  }
}
@media (width < 768px) {
  .site-footer-cta__small-banners {
    margin-top: 48px;
    gap: 16px;
  }
}

.site-footer-cta__banners {
  margin-top: 64px;
  display: grid;
  gap: 24px;
}
@media (width < 768px) {
  .site-footer-cta__banners {
    margin-top: 48px;
    gap: 16px;
  }
}

.site-footer-black {
  padding-block: 160px 48px;
  background-color: var(--color-black);
  color: var(--color-gray-light);
}
@media (width < 768px) {
  .site-footer-black {
    padding-block: 120px 32px;
  }
}

.site-footer-cta + .site-footer-black {
  padding-top: 276px;
}
@media (width < 768px) {
  .site-footer-cta + .site-footer-black {
    padding-top: 200px;
  }
}

.site-footer-nav {
  display: grid;
  grid-template-columns: repeat(4, auto);
  justify-content: space-between;
  gap: 48px;
  line-height: 1.5;
}
@media (max-width: 767.98px) {
  .site-footer-nav {
    display: none;
  }
}
.site-footer-nav a {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
}
.site-footer-nav a[target=_blank]::after {
  content: "";
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask-image: var(--icon-open-in-new);
          mask-image: var(--icon-open-in-new);
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
}

.site-footer-nav__section + .site-footer-nav__section {
  margin-top: 96px;
}

.site-footer-nav__heading {
  margin-bottom: 16px;
  padding-bottom: 8px;
  border-bottom: 1px solid #606060;
}
.site-footer-nav__heading > a {
  font-size: 14px;
  font-weight: bold;
}

.site-footer-nav__list {
  display: grid;
  gap: 16px;
}
.site-footer-nav__list + .site-footer-nav__list {
  margin-top: 16px;
}
.site-footer-nav__list > li {
  display: grid;
  row-gap: 8px;
}
.site-footer-nav__list > li > a, .site-footer-nav__list > li > div > a {
  font-size: 13px;
  font-weight: bold;
}
.site-footer-nav__list > li > ul {
  padding-left: 20px;
  display: grid;
  row-gap: 8px;
}
.site-footer-nav__list > li > ul > li > a {
  font-size: 12px;
}
@media (min-width: 980px) {
  .site-footer-nav__list {
    grid-template-columns: auto 1fr;
  }
  .site-footer-nav__list > li {
    grid-column: span 2;
    grid-template-columns: subgrid;
  }
}

@media (min-width: 768px) {
  .site-footer-mobile-nav {
    display: none;
  }
}
@media (max-width: 767.98px) {
  .site-footer-mobile-nav {
    display: block;
  }
}

.site-footer-bottom {
  margin-top: 96px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.site-footer-bottom__logo {
  display: block;
  margin-inline: auto;
}
@media (max-width: 767.98px) {
  .site-footer-bottom__logo {
    width: 140px;
  }
}

.site-footer-bottom__links {
  margin-top: 48px;
  font-size: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1em 3em;
}
@media (max-width: 767.98px) {
  .site-footer-bottom__links {
    gap: 1em 2em;
  }
}
.site-footer-bottom__links a {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
}
.site-footer-bottom__links a[target=_blank]::after {
  content: "";
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask-image: var(--icon-open-in-new);
          mask-image: var(--icon-open-in-new);
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
}

.site-footer-bottom__copyright {
  margin-top: 96px;
  font-size: 11px;
  font-family: var(--font-family-english);
  font-weight: 300;
}

/* ヘッダー */
.site-header {
  /* 100 -> 72 */
  --px: var(--header-px);
  --background-opacity: 1;
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  padding-inline: 16px;
  width: 100%;
  height: var(--header-height);
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: rgb(255, 255, 255, var(--background-opacity));
  transition: background-color 0.3s;
  /* ボーダー */
}
.js-has-pseudo .site-header.--home:not(.--scrolled,[csstools-has-w-1m-2w-2p-37-14-1a-37-2x-38-2t-19-31-2t-32-39-2j-2p-36-2x-2p-19-2w-2x-2s-2s-2t-32-1p-2u-2p-30-37-2t-2l-15]:not(.does-not-exist),[csstools-has-w-1m-2w-2p-37-14-1a-37-2x-38-2t-19-2w-2t-2p-2s-2t-36-19-2s-36-33-34-2s-33-3b-32-2j-2p-36-2x-2p-19-2w-2x-2s-2s-2t-32-1p-2u-2p-30-37-2t-2l-15]:not(.does-not-exist)) {
  --background-opacity: 0;
}
.site-header.--home:not(.--scrolled, :has(.site-menu[aria-hidden=false]), :has(.site-header-dropdown[aria-hidden=false])) {
  --background-opacity: 0;
}
.site-header::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  border-bottom: 1px solid var(--color-gray-light);
  opacity: var(--background-opacity);
  transition: opacity 0.3s;
}

.site-header-logo {
  margin-left: calc(11 * var(--px));
  width: calc(197 * var(--px));
}
.site-header-logo img {
  width: 100%;
  height: auto;
}

.site-header-nav {
  font-size: calc(14 * var(--px));
  display: flex;
  align-items: center;
}
@media (width < 1100px) {
  .site-header-nav {
    display: none;
  }
}

.site-header-nav__list {
  display: grid;
  align-items: center;
  grid-auto-flow: column;
  gap: 1.9285714286em;
  /* CTAボタンのgapの調整 */
}
.site-header-nav__list > li.--cta .button {
  zoom: min(calc(var(--px) / 1px));
}
.site-header-nav__list > li.--cta.--download {
  margin-left: -1.2571428571em;
}

.site-header-nav__link,
.site-header-nav__toggle {
  display: flex;
  align-items: center;
  font-weight: bold;
}
.site-header-nav__link:where(.site-header-nav__link),
.site-header-nav__toggle:where(.site-header-nav__link) {
  transition: color 0.2s;
}
.site-header-nav__link:where(.site-header-nav__link):is(:hover, :focus-visible),
.site-header-nav__toggle:where(.site-header-nav__link):is(:hover, :focus-visible) {
  color: var(--color-primary);
}
.site-header-nav__link:where(.site-header-nav__toggle),
.site-header-nav__toggle:where(.site-header-nav__toggle) {
  cursor: default;
  transition: color 0.2s;
}
.site-header-nav__link:where(.site-header-nav__toggle)[aria-expanded=true],
.site-header-nav__toggle:where(.site-header-nav__toggle)[aria-expanded=true] {
  color: var(--color-primary);
}
.site-header-nav__link:where(.site-header-nav__toggle)::after,
.site-header-nav__toggle:where(.site-header-nav__toggle)::after {
  content: "";
  font-size: 1.1428571429em;
  margin-left: 0.5em;
  width: 1em;
  height: 1em;
  background-color: var(--color-primary);
  -webkit-mask-image: var(--icon-keyboard-arrow-down);
          mask-image: var(--icon-keyboard-arrow-down);
  -webkit-mask-size: 1.5em;
          mask-size: 1.5em;
  -webkit-mask-position: 50% 30%;
          mask-position: 50% 30%;
}

.site-header-nav__cta-button {
  border: 1px solid var(--color-accent);
  padding-inline: 1.4285714286em 1.1428571429em;
  width: 12.8571428571em;
  height: 4em;
  border-radius: 2em;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5714285714em;
  font-weight: bold;
}
.site-header-nav__cta-button span {
  flex: 1 1 auto;
  text-align: center;
}
.site-header-nav__cta-button::after {
  content: "";
  flex: 0 0 1.4285714286em;
  aspect-ratio: 1;
  background-color: currentColor;
  -webkit-mask-image: var(--icon-arrow-right-alt);
          mask-image: var(--icon-arrow-right-alt);
  transition: var(--hover-arrow-transition);
  translate: var(--hover-arrow-translate);
}
.site-header-nav__cta-button.--contact {
  background-image: linear-gradient(to right, #caf345 0%, #26d367 100%);
  color: var(--color-secondary1);
}
.site-header-nav__cta-button.--download {
  background-color: var(--color-secondary1-light);
  color: var(--color-white);
}

.site-header-dropdown {
  position: fixed;
  z-index: 2;
  top: var(--header-height);
  left: 0;
  right: 0;
  padding: 48px;
  background-color: var(--color-white);
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 56px;
  transform-origin: top;
  transition-property: scale, display;
  transition-duration: 0.3s;
  transition-behavior: allow-discrete;
}
@starting-style {
  .site-header-dropdown {
    scale: 1 0;
  }
}
.site-header-dropdown[aria-hidden=true] {
  display: none;
  z-index: 1;
  scale: 1 0;
}

.site-header-dropdown__column {
  display: flex;
  flex-direction: column;
  gap: 16px;
  transition: opacity 0.3s 0.2s;
}
.site-header-dropdown[aria-hidden=true] .site-header-dropdown__column {
  transition: opacity 0.1s;
  opacity: 0;
}
@starting-style {
  .site-header-dropdown__column {
    opacity: 0;
  }
}
.site-header-dropdown__column.--header {
  border-right: 1px solid var(--color-gray-light);
  padding-right: 56px;
}
.site-header-dropdown__column.--links {
  padding-block: 8px;
}
.site-header-dropdown__column.--links > a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 14px;
  gap: 16px;
  transition: color 0.2s;
}
.site-header-dropdown__column.--links > a:is(:hover, :focus-visible) {
  color: var(--color-primary);
}
.site-header-dropdown__column.--links > a::after {
  content: "";
  width: 20px;
  height: 20px;
  background-color: var(--color-secondary3);
  -webkit-mask-image: var(--icon-arrow-right-alt);
          mask-image: var(--icon-arrow-right-alt);
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
  transition: var(--hover-arrow-transition);
  translate: var(--hover-arrow-translate);
}

.site-header-dropdown__heading {
  font-size: 24px;
  font-weight: bold;
  color: var(--color-primary);
}

.site-header-dropdown__toplink {
  display: inline-flex;
  align-items: center;
  gap: 0.66em;
  font-size: 12px;
  transition: color 0.2s;
}
.site-header-dropdown__toplink:is(:hover, :focus-visible) {
  color: var(--color-primary);
}
.site-header-dropdown__toplink > i {
  width: 1.66em;
  height: 1.66em;
  border-radius: 50%;
  background-color: var(--color-secondary4);
}
.site-header-dropdown__toplink > i::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: var(--color-primary);
  -webkit-mask-image: var(--icon-arrow-right-alt);
          mask-image: var(--icon-arrow-right-alt);
  -webkit-mask-size: 60% 60%;
          mask-size: 60% 60%;
  border: 1px solid currentColor;
}

.site-header-dropdown-backdrop {
  position: fixed;
  z-index: 999;
  inset: 0;
  top: var(--header-height);
  background-color: var(--color-black);
  opacity: 0.5;
  transition-property: opacity, display;
  transition-duration: 0.3s;
  transition-behavior: allow-discrete;
}
.site-header-dropdown-backdrop[aria-hidden=true] {
  display: none;
  opacity: 0;
}
@starting-style {
  .site-header-dropdown-backdrop {
    opacity: 0;
  }
}

.site-menu-button {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background-image: linear-gradient(to right, #caf345 0%, #26d367 100%);
  display: grid;
  place-content: center;
}
@media (width >= 1100px) {
  .site-menu-button {
    display: none;
  }
}
.site-menu-button svg {
  width: 18px;
  height: 18px;
}
.site-menu-button[aria-expanded=false] path.--close {
  display: none;
}
.site-menu-button[aria-expanded=true] path.--bars {
  display: none;
}

.site-menu {
  position: fixed;
  inset: 0;
  top: var(--header-height);
  background-color: var(--color-white);
  overflow-y: auto;
  transition-property: opacity, display;
  transition-duration: 0.3s;
  transition-behavior: allow-discrete;
}
.site-menu[aria-hidden=true] {
  display: none;
  opacity: 0;
}
@starting-style {
  .site-menu {
    opacity: 0;
  }
}

.site-menu-cta {
  margin: 48px auto;
  padding-inline: 24px;
  width: min(368px, 100%);
  display: grid;
  gap: 16px;
}

.site-main {
  display: flow-root;
}
.site-main:not(.--home) {
  margin-top: var(--header-height);
}

.voice-card {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--color-gray-light);
  background-color: #fff;
  border-radius: 16px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  padding: 32px;
  min-height: 100%;
}
@media (width < 768px) {
  .voice-card {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 16px;
  }
}
.voice-card .voice-card__pickup {
  position: absolute;
  left: 0;
  top: 0;
  padding: 17px 30px 0 17px;
  width: 112px;
  height: 112px;
  background-color: var(--color-accent);
  font-family: var(--font-family-english);
  font-style: italic;
  font-weight: bold;
  letter-spacing: 0.04em;
  font-size: 16px;
  line-height: 1.2;
  clip-path: polygon(0 0, 100% 0, 0% 100%);
}
.voice-card .voice-card__image .voice-card__image-inner {
  aspect-ratio: 1;
  border-radius: 8px;
  overflow: hidden;
}
@media (width < 768px) {
  .voice-card .voice-card__image .voice-card__image-inner {
    aspect-ratio: 310/174;
  }
}
.voice-card .voice-card__image .voice-card__image-inner > img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.voice-card .voice-card__content {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.voice-card .voice-card__content .voice-card__header {
  display: grid;
  align-items: start;
  gap: 8px;
}
.voice-card .voice-card__content .voice-card__header .voice-card__title {
  font: var(--font-h4);
}
@media (width < 768px) {
  .voice-card .voice-card__content .voice-card__header .voice-card__title {
    font: var(--font-h5);
  }
}
.voice-card .voice-card__content .voice-card__header .voice-card__name {
  font: var(--font-label);
}
.voice-card .voice-card__content .voice-card__header .voice-card__date {
  font: var(--font-label2);
  color: var(--color-gray);
}
.voice-card .voice-card__content .voice-card__tags {
  display: flex;
  align-items: start;
  flex-wrap: wrap;
  gap: 8px;
}
.voice-card .voice-card__content .voice-card__tags > span {
  padding: 6px 12px;
  font: var(--font-label2);
  border-radius: 100px;
  color: var(--color-secondary2);
  background-color: var(--color-secondary4);
}
.voice-card .voice-card__content .voice-card__button-wrap {
  flex-grow: 1;
  display: flex;
  align-items: end;
  justify-content: end;
}
.voice-card .voice-card__content .voice-card__button-wrap .voice-card__button {
  font: var(--font-label2);
  font-weight: bold;
  color: var(--color-gray);
  border: 1px solid var(--color-gray-light);
  padding-inline: 8px;
  gap: 8px;
  display: flex;
  align-items: center;
  width: 140px;
  height: 44px;
  border-radius: 44px;
}
.voice-card .voice-card__content .voice-card__button-wrap .voice-card__button > span {
  flex-grow: 1;
  text-align: center;
}
.voice-card .voice-card__content .voice-card__button-wrap .voice-card__button > i {
  width: 28px;
  height: 28px;
  border-radius: var(--Corner-Full, 1000px);
  background: var(--color-secondary3);
  display: grid;
  place-content: center;
  transform: var(--hover-disc-arrow-transform);
  transition: var(--hover-disc-arrow-transition);
}
.voice-card .voice-card__content .voice-card__button-wrap .voice-card__button > i::before {
  content: "";
  width: 16px;
  height: 16px;
  background-color: var(--color-white);
  -webkit-mask-image: var(--icon-arrow-right-alt);
          mask-image: var(--icon-arrow-right-alt);
}

.archive-bg {
  padding-block: 120px;
  background-color: var(--color-gray-light3);
}
@media (width < 768px) {
  .archive-bg {
    padding-block: 60px;
  }
}

.archive-filter {
  --box-bg: var(--color-gray-light3);
  --tag-bg: var(--color-white);
  --tag-hover-bg: var(--color-gray-light2);
  padding: 32px;
  background-color: var(--box-bg);
  border-radius: 8px;
}
.archive-filter.--white {
  --box-bg: var(--color-white);
  --tag-bg: var(--color-secondary4);
  --tag-hover-bg: var(--color-secondary4d);
}
.archive-filter > dl > dt {
  font-weight: bold;
  display: flex;
  align-items: center;
  gap: 12px;
}
.archive-filter > dl > dt .icon {
  font-size: 28px;
  color: var(--color-secondary3);
}
.archive-filter > dl > dd {
  margin-top: 12px;
  display: flex;
  align-items: start;
  flex-wrap: wrap;
  gap: 8px;
}
.archive-filter > dl > dd > a {
  padding: 6px 12px;
  font: var(--font-label2);
  border-radius: 100px;
  color: var(--color-secondary2);
  background-color: var(--tag-bg);
  transition: background-color 0.2s;
}
.archive-filter > dl > dd > a:hover {
  background-color: var(--tag-hover-bg);
}
.archive-filter > dl > dd > a[aria-current=page], .archive-filter > dl > dd > a[aria-current=true] {
  color: var(--color-white);
  background-color: var(--color-secondary2);
}

.case-top-lead {
  margin-top: -36px;
  font: var(--font-p);
}
@media (width < 768px) {
  .case-top-lead {
    margin-top: -24px;
  }
}

.case-top-intro {
  display: grid;
  align-items: start;
}
@media (width >= 768px) {
  .case-top-intro {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: repeat(5, auto);
    -moz-column-gap: clamp(32px, 100vw - 1200px + 100px, 100px);
         column-gap: clamp(32px, 100vw - 1200px + 100px, 100px);
  }
}
@media (width < 768px) {
  .case-top-intro {
    grid-template-columns: 1fr;
    row-gap: 48px;
  }
}
.case-top-intro .case-top-intro__item {
  display: grid;
  row-gap: 8px;
}
@media (width >= 768px) {
  .case-top-intro .case-top-intro__item {
    grid-row: span 5;
    grid-template-rows: subgrid;
  }
}
.case-top-intro .case-top-intro__item .case-top-intro__image {
  aspect-ratio: 502/305;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 8px;
}
.case-top-intro .case-top-intro__item .case-top-intro__heading {
  margin-top: 24px;
  font: var(--font-h3);
  color: var(--color-primary);
}
@media (width < 768px) {
  .case-top-intro .case-top-intro__item .case-top-intro__heading {
    margin-top: 12px;
  }
}
.case-top-intro .case-top-intro__item .case-top-intro__text1 {
  font: var(--font-h4);
}
@media (width < 768px) {
  .case-top-intro .case-top-intro__item .case-top-intro__text1 {
    font-size: 22px;
  }
}
.case-top-intro .case-top-intro__item .case-top-intro__text2 {
  font: var(--font-p);
}
.case-top-intro .case-top-intro__item .case-top-intro__button {
  margin-top: 24px;
  text-align: center;
}
@media (width >= 768px) {
  .case-top-intro .case-top-intro__item .case-top-intro__button .button {
    width: 100%;
    max-width: 300px;
  }
}

.case-top-service-header h2 {
  font: var(--font-h2);
  color: var(--color-primary);
  text-align: center;
}
@media (width < 768px) {
  .case-top-service-header h2 {
    font: var(--font-h3);
  }
}
.case-top-service-header p {
  margin-top: 1em;
  font: var(--font-p);
}
@media (width >= 768px) {
  .case-top-service-header p {
    text-align: center;
  }
}

.case-top-service-cards {
  display: grid;
  gap: 24px;
}
.case-top-service-cards > div {
  container-type: inline-size;
}
@media (width >= 768px) {
  .case-top-service-cards {
    grid-template-columns: 1fr 1fr;
  }
  .case-top-service-cards > div:first-child {
    grid-column: span 2;
  }
}
.case-top-service-cards .service-card__image {
  display: none !important;
}
.case-top-service-cards .service-card__row1 {
  align-items: start;
}

.case-top-service-daily {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 155px;
  gap: 16px;
}
@media (width < 1000px) {
  .case-top-service-daily {
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: 120px;
  }
}
@media (width < 768px) {
  .case-top-service-daily {
    grid-template-columns: 1fr;
    grid-auto-rows: 120px;
  }
}
.case-top-service-daily > li > a {
  height: 100%;
  overflow: hidden;
  position: relative;
  padding-inline: 24px;
  border-radius: 16px;
  background-color: #000;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.case-top-service-daily > li > a:hover {
  --img-scale: 1.1;
}
.case-top-service-daily > li > a > img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  scale: var(--img-scale, 1);
  transition: scale 0.3s ease;
}
.case-top-service-daily > li > a > span {
  position: relative;
  font-size: 18px;
  font-weight: bold;
}
.case-top-service-daily > li > a > .icon-arrow-circle {
  font-size: 40px;
}

.coverall-index-areas {
  display: grid;
  gap: 120px;
}
@media (width < 768px) {
  .coverall-index-areas {
    gap: 60px;
  }
}
.coverall-index-areas .coverall-index-area__header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 16px;
}
.coverall-index-areas .coverall-index-area__header .coverall-index-area__name {
  font: var(--font-h3);
  color: var(--color-primary);
}
@media (width < 768px) {
  .coverall-index-areas .coverall-index-area__header .coverall-index-area__name {
    font: var(--font-h4);
  }
}
.coverall-index-areas .coverall-index-area__header .button {
  margin-left: auto;
}
@media (width < 768px) {
  .coverall-index-areas .coverall-index-area__header .button {
    align-self: end;
  }
}
.coverall-index-areas .coverall-index-areas__branches {
  margin-top: 48px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
@media (width < 768px) {
  .coverall-index-areas .coverall-index-areas__branches {
    margin-top: 24px;
    grid-template-columns: 1fr;
  }
}

.coverall-index-branch {
  padding: 48px;
  background-color: var(--color-gray-light3);
}
@media (width < 768px) {
  .coverall-index-branch {
    padding: 24px;
  }
}
.coverall-index-branch .coverall-index-branch__header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 16px;
}
@media (width < 768px) {
  .coverall-index-branch .coverall-index-branch__header {
    flex-direction: column;
    align-items: start;
  }
}
.coverall-index-branch .coverall-index-branch__header .coverall-index-branch__name {
  font: var(--font-h5);
}
.coverall-index-branch .coverall-index-branch__header .coverall-index-branch__name a {
  display: flex;
  align-items: center;
  gap: 8px;
  transition: color 0.3s;
}
.coverall-index-branch .coverall-index-branch__header .coverall-index-branch__name a:hover {
  color: var(--color-primary);
}
.coverall-index-branch .coverall-index-branch__header .coverall-index-branch__name a .icon-arrow {
  font-size: 24px;
  color: var(--color-primary);
}
.coverall-index-branch .coverall-index-branch__header .coverall-index-branch__map {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding-inline: 16px;
  height: 36px;
  border: 1px solid var(--color-secondary3);
  border-radius: 9999px;
  background-color: var(--color-white);
  font: var(--font-english);
  font-size: 13px;
  color: var(--color-secondary3);
  transition: background-color 0.3s, color 0.3s;
}
.coverall-index-branch .coverall-index-branch__header .coverall-index-branch__map:hover {
  background-color: var(--color-secondary3);
  color: var(--color-white);
}
.coverall-index-branch .coverall-index-branch__info {
  margin-top: 24px;
  font: var(--font-p);
}

.coverall-area-branches {
  margin-top: 48px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
@media (width < 768px) {
  .coverall-area-branches {
    margin-top: 24px;
    grid-template-columns: 1fr;
  }
}

.coverall-area-branch {
  border-radius: 12px;
  padding: 16px;
  border: 1px solid var(--color-gray-light);
  background: var(--color-white);
  display: flex;
  flex-direction: column;
}
.coverall-area-branch .coverall-area-branch__map {
  aspect-ratio: 500/290;
  position: relative;
}
.coverall-area-branch .coverall-area-branch__map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.coverall-area-branch .coverall-area-branch__content {
  flex-grow: 1;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
@media (width < 768px) {
  .coverall-area-branch .coverall-area-branch__content {
    padding: 16px 0 0;
    gap: 16px;
  }
}
.coverall-area-branch .coverall-area-branch__content .coverall-area-branch__name {
  font: var(--font-h4);
}
@media (width < 768px) {
  .coverall-area-branch .coverall-area-branch__content .coverall-area-branch__name {
    font: var(--font-h5);
  }
}
.coverall-area-branch .coverall-area-branch__content .coverall-area-branch__info {
  font: var(--font-p);
}
.coverall-area-branch .coverall-area-branch__content .coverall-area-branch__areas {
  flex-grow: 1;
  background: var(--color-gray-light3);
  padding: 24px;
}
@media (width < 768px) {
  .coverall-area-branch .coverall-area-branch__content .coverall-area-branch__areas {
    padding: 16px;
  }
}
.coverall-area-branch .coverall-area-branch__content .coverall-area-branch__areas h3 {
  font: var(--font-h6);
  display: flex;
  align-items: center;
}
.coverall-area-branch .coverall-area-branch__content .coverall-area-branch__areas h3::before {
  content: "";
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  background-color: var(--color-secondary3);
  -webkit-mask-image: var(--icon-mapmarker);
          mask-image: var(--icon-mapmarker);
}
.coverall-area-branch .coverall-area-branch__content .coverall-area-branch__areas dl dt {
  margin-top: 8px;
  font-weight: bold;
}
.coverall-area-branch .coverall-area-branch__content .coverall-area-branch__button {
  padding-inline: 32px;
}
@media (width < 768px) {
  .coverall-area-branch .coverall-area-branch__content .coverall-area-branch__button {
    padding-inline: 0;
  }
}

.coverall-case {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 100px;
}
@media (width < 1000px) {
  .coverall-case {
    grid-template-columns: 1fr;
    gap: 60px;
  }
}
.coverall-case > .coverall-case__full {
  grid-column: span 2;
}
@media (width < 1000px) {
  .coverall-case > .coverall-case__full {
    grid-column: span 1;
  }
}

.coverall-case-header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
}
@media (width < 768px) {
  .coverall-case-header {
    gap: 8px;
  }
}
.coverall-case-header h2 {
  font: var(--font-h3);
  color: var(--color-primary);
}
@media (width < 768px) {
  .coverall-case-header h2 {
    font: var(--font-h4);
  }
}
.coverall-case-header .button {
  margin-left: auto;
}
@media (width >= 768px) {
  .coverall-case-header .button {
    min-width: 200px;
  }
}

.coverall-case-list {
  display: grid;
}
@media (width >= 768px) {
  .coverall-case-list {
    grid-template: "date title arrow" auto/max-content 1fr max-content;
    gap: 0 32px;
  }
}
@media (width < 768px) {
  .coverall-case-list {
    grid-template-columns: 1fr;
  }
}
.coverall-case-list .coverall-case-list__link {
  display: grid;
  border-bottom: 1px solid var(--color-gray-light);
  align-items: center;
}
@media (width >= 768px) {
  .coverall-case-list .coverall-case-list__link {
    padding: 32px 16px;
    grid-template-columns: subgrid;
    grid-column: span 4;
  }
}
@media (width < 768px) {
  .coverall-case-list .coverall-case-list__link {
    padding: 20px 0;
    grid-template: "date . arrow" auto "title title arrow" auto/max-content 1fr max-content;
    gap: 4px 16px;
  }
}
.coverall-case-list .coverall-case-list__link .coverall-case-list__date {
  grid-area: date;
  font: var(--font-label2);
  color: var(--color-gray);
}
.coverall-case-list .coverall-case-list__link .coverall-case-list__title {
  grid-area: title;
  font: var(--font-h6);
}
.coverall-case-list .coverall-case-list__link .coverall-case-list__arrow {
  grid-area: arrow;
  display: grid;
  place-content: center;
  color: var(--color-secondary3);
  font-size: 24px;
}

.coverall-branch-header-bg {
  background-color: var(--color-gray-light3);
}

.coverall-branch-header {
  padding-block: 120px;
  padding-inline: var(--site-gutter);
  background-color: var(--color-gray-light3);
  text-align: center;
}
@media (width < 768px) {
  .coverall-branch-header {
    padding-block: 60px;
  }
}
.coverall-branch-header .coverall-branch-header__icon {
  font: var(--font-english);
  font-size: 32px;
  color: var(--color-secondary3);
  margin-bottom: 0.25em;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.25em;
}
@media (width < 768px) {
  .coverall-branch-header .coverall-branch-header__icon {
    font-size: 24px;
  }
}
.coverall-branch-header .coverall-branch-header__icon svg {
  width: 1.125em;
  height: 1.125em;
}
.coverall-branch-header .coverall-branch-header__text1 {
  font: var(--font-h3);
}
@media (width < 768px) {
  .coverall-branch-header .coverall-branch-header__text1 {
    font: var(--font-h6);
  }
}
.coverall-branch-header .coverall-branch-header__name {
  font: var(--font-h1);
}
@media (width < 768px) {
  .coverall-branch-header .coverall-branch-header__name {
    font: var(--font-h3);
  }
}
.coverall-branch-header .coverall-branch-header__text2 {
  margin-top: 1.5em;
  font: var(--font-p);
  font-size: 20px;
}
@media (width < 768px) {
  .coverall-branch-header .coverall-branch-header__text2 {
    font-size: 16px;
  }
}

.coverall-branch-data {
  display: grid;
}
@media (width >= 768px) {
  .coverall-branch-data {
    grid-template-columns: 1fr 1fr;
    gap: 50px;
  }
}
@media (width < 768px) {
  .coverall-branch-data {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}
.coverall-branch-data .coverall-branch-data__content {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
@media (width < 768px) {
  .coverall-branch-data .coverall-branch-data__content {
    gap: 16px;
  }
}
.coverall-branch-data .coverall-branch-data__content .coverall-branch-data__name {
  font: var(--font-h4);
}
@media (width < 768px) {
  .coverall-branch-data .coverall-branch-data__content .coverall-branch-data__name {
    font: var(--font-h5);
  }
}
.coverall-branch-data .coverall-branch-data__content .coverall-branch-data__info {
  font: var(--font-p);
}
.coverall-branch-data .coverall-branch-data__content .coverall-branch-data__areas {
  flex-grow: 1;
  background: var(--color-gray-light3);
  padding: 24px;
}
@media (width < 768px) {
  .coverall-branch-data .coverall-branch-data__content .coverall-branch-data__areas {
    padding: 16px;
  }
}
.coverall-branch-data .coverall-branch-data__content .coverall-branch-data__areas h3 {
  font: var(--font-h6);
  display: flex;
  align-items: center;
}
.coverall-branch-data .coverall-branch-data__content .coverall-branch-data__areas h3::before {
  content: "";
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  background-color: var(--color-secondary3);
  -webkit-mask-image: var(--icon-mapmarker);
          mask-image: var(--icon-mapmarker);
}
.coverall-branch-data .coverall-branch-data__content .coverall-branch-data__areas dl dt {
  margin-top: 8px;
  font-weight: bold;
}
.coverall-branch-data .coverall-branch-data__map {
  position: relative;
}
@media (width >= 768px) {
  .coverall-branch-data .coverall-branch-data__map {
    min-height: 500px;
  }
}
@media (width < 768px) {
  .coverall-branch-data .coverall-branch-data__map {
    height: 390px;
  }
}
.coverall-branch-data .coverall-branch-data__map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.coverall-branch-strength {
  margin-top: 100px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
@media (width < 768px) {
  .coverall-branch-strength {
    margin-top: 50px;
    grid-template-columns: 1fr;
  }
}
.coverall-branch-strength .coverall-branch-strength__box {
  border-radius: 16px;
  padding: 24px;
  background: linear-gradient(to bottom, #02a951, #0f9257);
  color: var(--color-white);
}
.coverall-branch-strength .coverall-branch-strength__box h3 {
  font: var(--font-h4);
  text-align: center;
}
.coverall-branch-strength .coverall-branch-strength__box p {
  margin-top: 24px;
  font: var(--font-p);
}

.coverall-service-header-bg {
  background-color: var(--color-secondary4);
  background-image: url("../assets/coverall_branch/service-header-bg.svg");
  background-size: 1590px auto;
  background-position: 50vw -120px;
  background-blend-mode: multiply;
}
@media (width < 768px) {
  .coverall-service-header-bg {
    background-size: 900px auto;
    background-position: 50vw -80px;
  }
}

.coverall-service-header {
  padding-block: 160px;
  padding-inline: var(--site-gutter);
  text-align: center;
}
@media (width < 768px) {
  .coverall-service-header {
    padding-block: 80px;
  }
}
.coverall-service-header .coverall-service-header__title .coverall-service-header__name {
  font: var(--font-h2);
}
.coverall-service-header .coverall-service-header__title .coverall-service-header__name b {
  color: var(--color-primary);
}
@media (width < 768px) {
  .coverall-service-header .coverall-service-header__title .coverall-service-header__name {
    font: var(--font-h4);
  }
}
.coverall-service-header .coverall-service-header__title .coverall-service-header__service {
  font: var(--font-h1);
}
@media (width < 768px) {
  .coverall-service-header .coverall-service-header__title .coverall-service-header__service {
    font: var(--font-h3);
  }
}
.coverall-service-header .coverall-service-header__description {
  margin-top: 48px;
  margin-inline: auto;
  max-width: 850px;
  font: var(--font-p);
  font-size: 20px;
}
@media (width < 768px) {
  .coverall-service-header .coverall-service-header__description {
    margin-top: 32px;
    font-size: 16px;
    text-align: left;
  }
}

.coverall-service-about {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 48px;
}
@media (width < 768px) {
  .coverall-service-about {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}
.coverall-service-about .coverall-service-about__content .coverall-service-about__info {
  font: var(--font-p);
}
.coverall-service-about .coverall-service-about__content .coverall-service-about__number {
  margin-top: 32px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
@media (width < 768px) {
  .coverall-service-about .coverall-service-about__content .coverall-service-about__number {
    margin-top: 24px;
    grid-template-columns: 1fr;
    gap: 16px;
  }
}
.coverall-service-about .coverall-service-about__content .coverall-service-about__number > div {
  background-color: var(--color-gray-light3);
  padding: 24px;
  text-align: center;
}
@media (width < 768px) {
  .coverall-service-about .coverall-service-about__content .coverall-service-about__number > div {
    padding: 16px;
  }
}
.coverall-service-about .coverall-service-about__content .coverall-service-about__number > div > dt {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font: var(--font-h6);
}
.coverall-service-about .coverall-service-about__content .coverall-service-about__number > div > dt .icon {
  font-size: 24px;
  color: var(--color-secondary3);
}
.coverall-service-about .coverall-service-about__content .coverall-service-about__number > div > dd {
  margin-top: 8px;
  font: var(--font-h6);
}
.coverall-service-about .coverall-service-about__content .coverall-service-about__number > div > dd b {
  font-size: 200%;
}
.coverall-service-about .coverall-service-about__content .coverall-service-about__number-notes {
  margin-top: 12px;
  text-align: right;
  font: var(--font-p2);
}
.coverall-service-about .coverall-service-about__map {
  position: relative;
  min-height: 300px;
}
.coverall-service-about .coverall-service-about__map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.download-lead {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 48px;
}
@media (width < 768px) {
  .download-lead {
    flex-direction: column;
    gap: 16px;
  }
}
.download-lead .download-lead__content {
  width: 526px;
}
@media (width < 768px) {
  .download-lead .download-lead__content {
    width: 100%;
  }
}
.download-lead .download-lead__content .download-lead__text1 {
  font: var(--font-h3);
  margin-bottom: 1em;
}
@media (width < 768px) {
  .download-lead .download-lead__content .download-lead__text1 {
    font: var(--font-h4);
  }
}
.download-lead .download-lead__content .download-lead__text2 {
  font: var(--font-p);
}
.download-lead .download-lead__image {
  position: relative;
  aspect-ratio: 494/310;
  width: 100%;
  max-width: 494px;
  height: auto;
}
.download-lead .download-lead__image > img {
  position: absolute;
  height: auto;
  border: 1px solid var(--gray-light);
  box-shadow: 0 20px 80px 0 rgba(178, 178, 178, 0.25);
}
.download-lead .download-lead__image > img:nth-child(1) {
  width: 40.0809716599%;
  right: 0;
  top: 0;
  transform-origin: 0% 0%;
  rotate: 10deg;
}
.download-lead .download-lead__image > img:nth-child(2) {
  width: 65.7894736842%;
  left: 0;
  bottom: 5%;
  transform-origin: 0% 0%;
  rotate: -10deg;
}

.faq-article {
  border-top: 1px solid var(--color-gray-light);
  border-bottom: 1px solid var(--color-gray-light);
  padding: 64px 72px;
}
@media (width < 768px) {
  .faq-article {
    padding: 32px 16px;
  }
}
.faq-article + .faq-article {
  margin-top: -1px;
}
.faq-article .faq-article__question {
  font: var(--font-h4);
  color: var(--color-primary);
  position: relative;
  padding-left: 60px;
}
@media (width < 768px) {
  .faq-article .faq-article__question {
    padding-left: 48px;
    font: var(--font-h5);
  }
}
.faq-article .faq-article__question::before {
  content: "Q.";
  position: absolute;
  left: 0;
  top: -0.3em;
  font-size: 32px;
  font-weight: bold;
}
@media (width < 768px) {
  .faq-article .faq-article__question::before {
    top: -0.4em;
    font-size: 28px;
  }
}
.faq-article .faq-article__answer {
  margin-top: 20px;
  position: relative;
  padding-left: 60px;
}
@media (width < 768px) {
  .faq-article .faq-article__answer {
    padding-left: 48px;
  }
}
.faq-article .faq-article__answer::before {
  content: "A.";
  position: absolute;
  left: 0;
  top: -0.3em;
  font-size: 32px;
  font-weight: bold;
}
@media (width < 768px) {
  .faq-article .faq-article__answer::before {
    font-size: 28px;
  }
}
.faq-article .faq-article__answer .faq-article__answer-text {
  font: var(--font-p);
}
.faq-article .faq-article__answer .faq-article__links {
  margin-top: 24px;
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}
@media (width < 768px) {
  .faq-article .faq-article__answer .faq-article__links {
    gap: 16px;
  }
}
.faq-article .faq-article__answer .faq-article__links > li {
  max-width: 100%;
}
@media (width < 768px) {
  .faq-article .faq-article__answer .faq-article__links > li {
    width: 100%;
  }
}

/* ホーム */
@keyframes homeHeroPhrase {
  from {
    opacity: 0;
    translate: -15% 0;
  }
  to {
    opacity: 1;
    translate: 0 0;
  }
}
@keyframes homeHeroText {
  from {
    opacity: 0;
    translate: 15% 0;
  }
  to {
    opacity: 1;
    translate: 0 0;
  }
}
@keyframes homeHeroPhoto {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.home-hero {
  --phrase-duration: 0.8s;
  --text-delay: 0.4s;
  --text-duration: 0.8s;
  --photo-delay: 1s;
  --photo-duration: 1s;
  --easing: cubic-bezier(0.66, 0, 0.34, 1);
  margin-top: calc(-1 * var(--header-height));
  overflow: hidden;
  padding-block: var(--header-height) 160px;
  display: grid;
  justify-content: center;
  background-color: var(--color-secondary4);
}
.home-hero.--loaded {
  --animation-play-state: running;
}

.home-hero__inner {
  position: relative;
  height: auto;
}
@media (width >= 768px) {
  .home-hero__inner {
    /* 1920px以下はzoomで縮小 */
    zoom: min(100vw/1920px, 1);
    aspect-ratio: 1920/1600;
    width: 1920px;
  }
}
@media (width < 768px) {
  .home-hero__inner {
    /* 450px以上はzoomで拡大、450px以下は両サイドが見切れる */
    zoom: max(1, 100vw/450px);
    aspect-ratio: 450/1240;
    width: 450px;
  }
}
@media (width < 390px) {
  .home-hero__inner {
    /* 390px以下はzoomで縮小 */
    zoom: calc(100vw/390px);
  }
}

.home-hero__phrase {
  position: absolute;
  animation: homeHeroPhrase var(--phrase-duration) var(--easing) 0s both var(--animation-play-state, paused);
}
@media (width >= 768px) {
  .home-hero__phrase {
    left: 433px;
    top: 210px;
    width: 585px;
  }
}
@media (width < 768px) {
  .home-hero__phrase {
    left: 60px;
    top: 310px;
    width: 276px;
  }
}

.home-hero__text {
  position: absolute;
  line-height: 2.2;
  font-weight: bold;
  color: var(--color-primary);
  animation: homeHeroText var(--text-duration) var(--easing) var(--text-delay) both var(--animation-play-state, paused);
}
@media (width >= 768px) {
  .home-hero__text {
    left: 1043px;
    top: 673px;
    font-size: 20px;
  }
}
@media (width < 768px) {
  .home-hero__text {
    left: 52px;
    top: 573px;
    font-size: 16px;
  }
}

.home-hero__photo {
  position: absolute;
  left: var(--left);
  top: var(--top);
  width: var(--width);
  animation: homeHeroPhoto var(--photo-duration) ease calc(var(--photo-delay) + var(--delay, 0s)) both var(--animation-play-state, paused);
}
@media (width >= 768px) {
  .home-hero__photo {
    border-radius: 16px;
  }
}
@media (width < 768px) {
  .home-hero__photo {
    border-radius: 12px;
  }
}
@media (width >= 768px) {
  .home-hero__photo.--01 {
    --delay: 0.2s;
    --left: 1220px;
    --top: 173px;
    --width: 582px;
  }
}
@media (width < 768px) {
  .home-hero__photo.--01 {
    --delay: 0.2s;
    --left: 213px;
    --top: 61px;
    --width: 223px;
  }
}
@media (width >= 768px) {
  .home-hero__photo.--02 {
    --delay: 0.1s;
    --left: 13px;
    --top: 377px;
    --width: 364px;
  }
}
@media (width < 768px) {
  .home-hero__photo.--02 {
    --delay: 0.1s;
    --left: 15px;
    --top: 146px;
    --width: 153px;
  }
}
@media (width >= 768px) {
  .home-hero__photo.--03 {
    --delay: 0.3s;
    --left: 200px;
    --top: 914px;
    --width: 423px;
  }
}
@media (width < 768px) {
  .home-hero__photo.--03 {
    --delay: 0.3s;
    --left: 2px;
    --top: 1026px;
    --width: 202px;
  }
}
@media (width >= 768px) {
  .home-hero__photo.--04 {
    --delay: 0.4s;
    --left: 837px;
    --top: 1257px;
    --width: 298px;
  }
}
@media (width < 768px) {
  .home-hero__photo.--04 {
    --delay: 0.4s;
    --left: 233px;
    --top: 1164px;
    --width: 123px;
  }
}
@media (width >= 768px) {
  .home-hero__photo.--05 {
    --delay: 0.2s;
    --left: 501px;
    --top: 689px;
    --width: 254px;
  }
}
@media (width < 768px) {
  .home-hero__photo.--05 {
    --delay: 0.2s;
    --left: 293px;
    --top: 491px;
    --width: 112px;
  }
}
@media (width >= 768px) {
  .home-hero__photo.--06 {
    --delay: 0.4s;
    --left: 1569px;
    --top: 735px;
    --width: 338px;
  }
}
@media (width < 768px) {
  .home-hero__photo.--06 {
    --delay: 0.4s;
    --left: 270px;
    --top: 965px;
    --width: 170px;
  }
}
@media (width >= 768px) {
  .home-hero__photo.--07 {
    --delay: 0s;
    --left: 276px;
    --top: 29px;
    --width: 200px;
  }
}
@media (width < 768px) {
  .home-hero__photo.--07 {
    --delay: 0s;
    --left: 84px;
    --top: 23px;
    --width: 99px;
  }
}

.home-about-box {
  position: relative;
  z-index: 2;
  margin-top: -120px;
  padding-block: 160px;
  border-radius: 120px;
  background: linear-gradient(to bottom, #007741, #02a951);
  color: var(--color-white);
}
@media (width < 768px) {
  .home-about-box {
    margin-top: -28px;
    padding-block: 96px;
    border-radius: 28px;
  }
}

.home-about-hgroup .home-about-hgroup__english {
  font: var(--font-english-xlg);
}
.home-about-hgroup .home-about-hgroup__heading {
  font: var(--font-h4);
  color: var(--color-secondary3);
}
@media (width < 768px) {
  .home-about-hgroup .home-about-hgroup__heading {
    font-size: 18px;
  }
}

.home-about-lead {
  margin-top: 48px;
  display: flex;
}
@media (width >= 768px) {
  .home-about-lead {
    justify-content: space-between;
    gap: 48px;
  }
}
@media (width < 768px) {
  .home-about-lead {
    flex-direction: column;
    gap: 32px;
  }
}
.home-about-lead .home-about-lead__text {
  max-width: 724px;
  font: var(--font-p);
  font-weight: bold;
}
.home-about-lead .home-about-lead__button {
  flex-shrink: 0;
}
@media (width >= 768px) {
  .home-about-lead .home-about-lead__button {
    width: 240px;
  }
}

.home-about-feature-list {
  margin-top: 64px;
  display: grid;
}
@media (width >= 768px) {
  .home-about-feature-list {
    grid-template-columns: repeat(3, 31%);
    justify-content: space-between;
  }
}
@media (width < 768px) {
  .home-about-feature-list {
    grid-template-columns: minmax(0, 342px);
    justify-content: center;
    row-gap: 48px;
  }
}
.home-about-feature-list > li:nth-child(1) {
  --delay: 0.2s;
}
.home-about-feature-list > li:nth-child(2) {
  --delay: 0.4s;
}
.home-about-feature-list > li:nth-child(3) {
  --delay: 0.6s;
}

.home-about-feature {
  --px: calc(100cqw / 342);
  transition: 0.8s ease;
  transition-property: opacity, translate;
  opacity: 0;
  translate: 0 5%;
}
@media (width >= 768px) {
  .home-about-feature-list.--inview .home-about-feature {
    transition-delay: var(--delay, 0s);
    opacity: 1;
    translate: 0 0;
  }
}
@media (width < 768px) {
  .home-about-feature.--inview {
    transition-delay: 0.2s;
    opacity: 1;
    translate: 0 0;
  }
}

.home-about-feature__image {
  position: relative;
  aspect-ratio: 342/208;
}
.home-about-feature__image > span {
  position: absolute;
  left: 0;
  top: 0;
  aspect-ratio: 1;
  width: 16cqw;
  font-size: 11cqw;
  line-height: 1.2;
  font-family: var(--font-family-english);
  font-weight: 600;
  font-style: italic;
  text-indent: 0.2em;
}
.home-about-feature__image > img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 342 208"><path d="M54 16V38C54 46.84 46.84 54 38 54H16C7.16 54 0 61.16 0 70V192C0 200.84 7.16 208 16 208H326C334.84 208 342 200.84 342 192V16C342 7.16 334.84 0 326 0H70C61.16 0 54 7.16 54 16Z"/></svg>');
          mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 342 208"><path d="M54 16V38C54 46.84 46.84 54 38 54H16C7.16 54 0 61.16 0 70V192C0 200.84 7.16 208 16 208H326C334.84 208 342 200.84 342 192V16C342 7.16 334.84 0 326 0H70C61.16 0 54 7.16 54 16Z"/></svg>');
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
}

.home-about-feature__text1 {
  margin-top: 1.14em;
  font-size: calc(28 * var(--px));
  font-weight: bold;
  line-height: 1.6;
}
@media (width < 768px) {
  .home-about-feature__text1 {
    font-size: calc(24 * var(--px));
  }
}
.home-about-feature__text1 strong {
  color: var(--color-accent);
}

.home-about-feature__text2 {
  margin-top: 1.14em;
  font: var(--font-p2);
  font-size: max(11px, 14 * var(--px));
}
@media (width < 768px) {
  .home-about-feature__text2 {
    margin-top: 1em;
    font-size: calc(15 * var(--px));
  }
}

.home-plus-bg {
  margin-top: -120px;
  padding-top: 120px;
  position: relative;
  z-index: 1;
  height: 1080px;
}
.home-plus-bg::before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 0.6;
  background: #174d4d;
  mix-blend-mode: multiply;
}
.home-plus-bg .home-plus-bg__video {
  position: absolute;
  z-index: -2;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (width < 1200px) {
  .home-plus-bg {
    aspect-ratio: 1200/1080;
    height: auto;
  }
}
@media (width < 768px) {
  .home-plus-bg {
    margin-top: -28px;
    padding-top: 28px;
    aspect-ratio: auto;
    height: 640px;
  }
}

.home-plus-container {
  height: 100%;
  display: grid;
  align-items: center;
  justify-content: end;
}

.home-plus {
  padding-right: 30px;
  color: var(--color-white);
}

.home-plus__heading > div:nth-child(1) {
  font: var(--font-h3);
}
@media (width < 768px) {
  .home-plus__heading > div:nth-child(1) {
    font-size: 24px;
  }
}
.home-plus__heading > div:nth-child(1) > strong {
  margin-right: 0.2em;
  padding-inline: 0.3em;
  background-color: var(--color-secondary3);
}
.home-plus__heading > div:nth-child(2) {
  font: var(--font-h1);
}
@media (width < 768px) {
  .home-plus__heading > div:nth-child(2) {
    font-size: 32px;
  }
}

.home-plus__text {
  margin-top: 24px;
  font: var(--font-p);
}

@media (width >= 768px) {
  .home-plus__button {
    margin-top: 64px;
    width: 320px;
  }
}
@media (width < 768px) {
  .home-plus__button {
    margin-top: 48px;
  }
}

.home-service-bg {
  padding-block: 120px 240px;
  position: relative;
  z-index: 1;
  background-color: var(--color-secondary4);
}
@media (width < 768px) {
  .home-service-bg {
    padding-block: 120px;
  }
}
.home-service-bg::before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 0;
  bottom: 0;
  width: 100%;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff 36%);
  pointer-events: none;
}
@media (width >= 768px) {
  .home-service-bg::before {
    height: 610px;
  }
}
@media (width < 768px) {
  .home-service-bg::before {
    height: 1000px;
  }
}

.home-service-hgroup {
  text-align: center;
}
@media (width < 768px) {
  .home-service-hgroup {
    text-align: left;
  }
}
.home-service-hgroup .home-service-hgroup__english {
  font: var(--font-english-xlg);
}
.home-service-hgroup .home-service-hgroup__heading {
  font: var(--font-h4);
  color: var(--color-primary);
}
@media (width < 768px) {
  .home-service-hgroup .home-service-hgroup__heading {
    font-size: 18px;
  }
}

.home-service-lead {
  margin-top: 48px;
  display: flex;
}
@media (width >= 768px) {
  .home-service-lead {
    justify-content: space-between;
    gap: 48px;
  }
}
@media (width < 768px) {
  .home-service-lead {
    flex-direction: column;
    align-items: center;
    gap: 32px;
  }
}
.home-service-lead .home-service-lead__text {
  max-width: 755px;
  font: var(--font-p);
  font-weight: bold;
}
.home-service-lead .home-service-lead__button {
  flex-shrink: 0;
}
@media (width >= 768px) {
  .home-service-lead .home-service-lead__button {
    width: 240px;
  }
}
@media (width < 768px) {
  .home-service-lead .home-service-lead__button {
    width: 100%;
  }
}

.home-service-card-list {
  margin-top: 64px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
}
@media (width < 768px) {
  .home-service-card-list {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}
.home-service-card-list > li {
  container-type: inline-size;
}

.home-service-daily-mapnav {
  margin-top: 64px;
}

.home-service-cta {
  position: relative;
  display: grid;
  justify-content: center;
  container-type: inline-size;
}
@media (width >= 768px) {
  .home-service-cta {
    margin-top: -220px;
  }
}
@media (width < 768px) {
  .home-service-cta {
    margin-top: 80px;
  }
}

.home-voice-bg {
  padding-block: 160px;
  background-color: var(--color-gray-light3);
}
@media (width < 768px) {
  .home-voice-bg {
    padding-block: 120px;
  }
}

.home-voice-header {
  display: flex;
}
@media (width >= 768px) {
  .home-voice-header {
    align-items: center;
    justify-content: space-between;
    gap: 48px;
  }
}
@media (width < 768px) {
  .home-voice-header {
    flex-direction: column;
    gap: 32px;
  }
}

.home-voice-hgroup .home-voice-hgroup__english {
  font: var(--font-english-xlg);
}
.home-voice-hgroup .home-voice-hgroup__heading {
  font: var(--font-h4);
  color: var(--color-primary);
}
@media (width < 768px) {
  .home-voice-hgroup .home-voice-hgroup__heading {
    font-size: 18px;
  }
}

.home-voice-lead {
  font: var(--font-p);
  font-weight: bold;
}
@media (width >= 768px) {
  .home-voice-lead {
    flex-shrink: 1;
    width: 720px;
  }
}

.home-voice-stats-list {
  margin-top: 48px;
  display: grid;
  justify-content: center;
}
@media (width >= 768px) {
  .home-voice-stats-list {
    grid-template-columns: repeat(3, minmax(0, 312px));
    gap: min(32px, 2.6%);
  }
}
@media (width < 768px) {
  .home-voice-stats-list {
    grid-template-columns: repeat(4, 1fr);
    gap: 16px 4px;
  }
}
.home-voice-stats-list > li {
  container-type: inline-size;
}
@media (width < 768px) {
  .home-voice-stats-list > li:nth-child(1) {
    grid-column: 2/span 2;
  }
  .home-voice-stats-list > li:nth-child(2) {
    grid-row: 2;
    grid-column: 1/span 2;
  }
  .home-voice-stats-list > li:nth-child(3) {
    grid-row: 2;
    grid-column: 3/span 2;
  }
}

.home-voice-stats {
  height: auto;
  background-image: url("../assets/images/leaf-left.svg"), url("../assets/images/leaf-right.svg");
  background-position: left center, right center;
  background-size: auto 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
@media (width >= 768px) {
  .home-voice-stats {
    zoom: min(100cqw/312px, 1);
    width: 312px;
    height: 143px;
  }
}
@media (width < 768px) {
  .home-voice-stats {
    zoom: min(100cqw/179px, 1);
    width: 179px;
    height: 82px;
  }
}
.home-voice-stats .home-voice-stats__title {
  font: var(--font-h6);
}
@media (width < 768px) {
  .home-voice-stats .home-voice-stats__title {
    font-size: 13px;
  }
}
.home-voice-stats .home-voice-stats__number {
  font-weight: bold;
  font-size: 18px;
  line-height: 1.3;
  color: var(--color-secondary3);
}
@media (width < 768px) {
  .home-voice-stats .home-voice-stats__number {
    font-size: 13px;
  }
}
.home-voice-stats .home-voice-stats__number b {
  font-family: var(--font-family-english);
  font-style: italic;
  font-size: 48px;
}
@media (width < 768px) {
  .home-voice-stats .home-voice-stats__number b {
    font-size: 28px;
  }
}
.home-voice-stats .home-voice-stats__text {
  font-size: 16px;
}
.home-voice-stats .home-voice-stats__text small {
  font-size: 12px;
}
@media (width < 768px) {
  .home-voice-stats .home-voice-stats__text {
    font-size: 11px;
  }
  .home-voice-stats .home-voice-stats__text small {
    font-size: 11px;
  }
}

.home-voice-carusel {
  margin-top: 64px;
}

.home-voice-carusel-bottom {
  margin-top: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}
@media (width < 768px) {
  .home-voice-carusel-bottom {
    margin-top: 32px;
    flex-direction: column;
    gap: 48px;
  }
}

.home-voice-carusel-nav {
  display: flex;
  align-items: center;
  gap: 32px;
}
.home-voice-carusel-nav .home-voice-carusel-button {
  font-size: 40px;
  width: 1em;
  height: 1em;
}
.home-voice-carusel-nav .home-voice-carusel-dots {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
}
@media (width < 768px) {
  .home-voice-carusel-nav .home-voice-carusel-dots {
    justify-content: center;
  }
}
.home-voice-carusel-nav .home-voice-carusel-dots > button {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 1px solid var(--color-black);
}
.home-voice-carusel-nav .home-voice-carusel-dots > button[aria-current=true] {
  background-color: var(--color-black);
}

@media (width >= 768px) {
  .home-voice-carusel-bottom-button {
    flex-shrink: 0;
    width: 240px;
  }
}
@media (width < 768px) {
  .home-voice-carusel-bottom-button {
    width: 320px;
    max-width: 100%;
  }
}

.home-column-bg {
  position: relative;
  z-index: 1;
  padding-block: 160px;
  background-image: url("../assets/home/column-bg.webp");
  background-size: cover;
  color: var(--color-white);
}
@media (width < 768px) {
  .home-column-bg {
    padding-block: 120px;
  }
}

.home-column-header {
  display: flex;
  gap: 64px;
}
@media (width < 768px) {
  .home-column-header {
    flex-direction: column;
    gap: 48px;
  }
}
.home-column-header .home-column-header__hgroup .home-column-header__english {
  font: var(--font-english-xlg);
  color: var(--color-secondary3);
}
.home-column-header .home-column-header__hgroup .home-column-header__heading {
  font: var(--font-h4);
}
@media (width < 768px) {
  .home-column-header .home-column-header__hgroup .home-column-header__heading {
    font-size: 18px;
  }
}
.home-column-header .home-column-header__lead {
  font: var(--font-p);
  font-weight: bold;
}
@media (width >= 768px) {
  .home-column-header .home-column-header__lead {
    padding-top: 40px;
  }
}

.home-column-list {
  margin-top: 48px;
}
@media (width >= 768px) {
  .home-column-list {
    --item-size: 352px;
    --item-gap: 24px;
    margin-inline: auto;
    padding-inline: var(--site-gutter);
    max-width: 1200px;
  }
}
@media (width < 768px) {
  .home-column-list {
    --item-size: 342px;
    --item-gap: 24px;
    overflow: hidden;
    padding-left: calc((100vw - var(--item-size)) / 2 - var(--item-gap));
    padding-right: calc((100vw - var(--item-size)) / 2);
    touch-action: pan-y pinch-zoom;
  }
}
@media (width >= 768px) {
  .home-column-list .home-column-list__inner {
    display: grid;
    gap: var(--item-gap);
    grid-template-columns: repeat(3, minmax(0, var(--item-size)));
    justify-content: center;
  }
}
@media (width < 768px) {
  .home-column-list .home-column-list__inner {
    display: flex;
  }
}
@media (width < 768px) {
  .home-column-list .home-column-list__inner .home-column-list__item {
    flex: 0 0 calc(var(--item-size) + var(--item-gap));
    padding-left: var(--item-gap);
  }
}

.home-column-controls {
  margin-top: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
}
@media (width >= 768px) {
  .home-column-controls {
    display: none;
  }
}
.home-column-controls .home-column-controls__button {
  font-size: 40px;
  width: 1em;
  height: 1em;
}
.home-column-controls .home-column-controls__dots {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
}
@media (width < 768px) {
  .home-column-controls .home-column-controls__dots {
    justify-content: center;
  }
}
.home-column-controls .home-column-controls__dots > button {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 1px solid var(--color-white);
}
.home-column-controls .home-column-controls__dots > button[aria-current=true] {
  background-color: var(--color-white);
}

.home-column-button {
  margin-top: 48px;
}
@media (width >= 768px) {
  .home-column-button {
    margin-inline: auto;
    width: 240px;
  }
}

.home-banners {
  margin-top: 48px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 540px));
  gap: 24px;
}
@media (width < 768px) {
  .home-banners {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}
.home-banners .home-banners__link {
  --bg-scale: 1;
  zoom: min(100cqw/540px, 1);
  overflow: hidden;
  position: relative;
  z-index: 1;
  aspect-ratio: 540/300;
  border-radius: 16px;
  display: flex;
  align-items: center;
}
@media (width < 768px) {
  .home-banners .home-banners__link {
    zoom: min(100cqw/342px, 1);
  }
}
.home-banners .home-banners__link:hover {
  --bg-scale: 1.1;
}
.home-banners .home-banners__link .home-banners__bg {
  position: absolute;
  z-index: -1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  scale: var(--bg-scale);
  transition: scale 0.3s ease;
}
.home-banners .home-banners__link .home-banners__text {
  padding: 48px;
  font: var(--font-h3);
}
.home-banners .home-banners__link .home-banners__text.--white {
  color: var(--color-white);
}
@media (width < 768px) {
  .home-banners .home-banners__link .home-banners__text {
    padding: 32px;
    font: var(--font-h4);
  }
}
.home-banners .home-banners__link .home-banners__arrow {
  position: absolute;
  right: 32px;
  bottom: 32px;
  font-size: 56px;
  color: var(--color-white);
}
@media (width < 768px) {
  .home-banners .home-banners__link .home-banners__arrow {
    right: 24px;
    bottom: 24px;
    font-size: 40px;
  }
}

.home-tommorow {
  margin-top: 160px;
  text-align: center;
}
.home-tommorow .home-tommorow__text1 {
  font: var(--font-h2);
  color: var(--color-primary);
}
@media (width < 768px) {
  .home-tommorow .home-tommorow__text1 {
    font: var(--font-h4);
  }
}
.home-tommorow .home-tommorow__text2 {
  margin-top: 32px;
  font: var(--font-h5);
}
.home-tommorow .home-tommorow__text3 {
  margin-top: 24px;
  font: var(--font-p);
}

.policy h2 {
  margin-block: 2em 0.5em;
  font: var(--font-h4);
}
@media (width < 768px) {
  .policy h2 {
    font: var(--font-h5);
  }
}
.policy p {
  margin-block: 1em;
  font: var(--font-p);
}
.policy ul {
  list-style: disc;
  margin-block: 1em;
  padding-left: 1.5em;
}
.policy ul li {
  margin-top: 0.3em;
}

.reason-bg {
  display: flow-root;
  background-color: var(--color-gray-light3);
}

.reason-lead {
  margin-top: -36px;
  max-width: 840px;
  margin-bottom: 120px;
  font: var(--font-p);
}

.reason-index-cards {
  display: grid;
  gap: 48px;
}
@media (width < 768px) {
  .reason-index-cards {
    margin-top: -24px;
    gap: var(--site-gutter);
  }
}

.reason-index-card {
  position: relative;
  background-color: #fff;
  padding: 48px;
  display: grid;
  grid-template-columns: max-content auto max(240px, 37%);
  gap: 48px;
}
@media (width < 768px) {
  .reason-index-card {
    padding: var(--site-gutter);
    grid-template-columns: auto;
    gap: var(--site-gutter);
  }
}
.reason-index-card .reason-index-card__number {
  font: var(--font-english);
  font-size: 96px;
  line-height: 1;
  color: var(--color-secondary3);
}
@media (width < 768px) {
  .reason-index-card .reason-index-card__number {
    position: absolute;
    left: var(--site-gutter);
    top: var(--site-gutter);
    font-size: 50px;
  }
}
.reason-index-card .reason-index-card__content {
  align-self: center;
  display: grid;
  gap: 32px;
}
@media (width < 768px) {
  .reason-index-card .reason-index-card__content {
    gap: var(--site-gutter);
  }
}
.reason-index-card .reason-index-card__content .reason-index-card__heading {
  font: var(--font-h3);
}
@media (width < 768px) {
  .reason-index-card .reason-index-card__content .reason-index-card__heading {
    padding-left: 50px;
    font: var(--font-h4);
  }
}
.reason-index-card .reason-index-card__content .reason-index-card__text {
  font: var(--font-p);
}

.reason-hr {
  margin-block: 160px 96px;
  border: none;
  border-top: 1px solid var(--color-gray-light);
}
@media (width < 768px) {
  .reason-hr {
    margin-block: 80px;
  }
}

.reason-container1 {
  display: grid;
  grid-template-columns: 42% 54%;
  justify-content: space-between;
}
@media (width < 768px) {
  .reason-container1 {
    grid-template-columns: auto;
    gap: 24px;
  }
}

.reason-container2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 24px;
}
.reason-container2 .reason-container2__2 {
  width: 456px;
}

.reason-container3 {
  display: grid;
  grid-template-columns: 48% 48%;
  justify-content: space-between;
}
@media (width < 768px) {
  .reason-container3 {
    grid-template-columns: auto;
    gap: 24px;
  }
}

.reason-hgroup {
  display: grid;
  gap: 16px;
}
@media (width < 768px) {
  .reason-hgroup {
    gap: 8px;
  }
}
.reason-hgroup .reason-hgroup__small {
  display: flex;
  align-items: center;
  gap: 6px;
  font: var(--font-label2);
  font-weight: bold;
  color: var(--color-gray);
}
.reason-hgroup .reason-hgroup__small::before {
  content: "";
  flex-shrink: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: var(--color-secondary3);
}
.reason-hgroup .reason-hgroup__heading {
  font: var(--font-h3);
}
@media (width < 768px) {
  .reason-hgroup .reason-hgroup__heading {
    font: var(--font-h4);
  }
}
.reason-hgroup .reason-hgroup__heading em {
  color: var(--color-primary);
}

.reason-heading {
  font: var(--font-h4);
  color: var(--color-primary);
  margin-bottom: 48px;
}
@media (width < 768px) {
  .reason-heading {
    font: var(--font-h5);
    text-align: center;
    margin-bottom: 24px;
  }
}

.reason-staff-system {
  padding: 48px;
  background-color: var(--color-gray-light3);
  border-radius: 8px;
}
@media (width < 768px) {
  .reason-staff-system {
    padding: 32px var(--site-gutter);
  }
}
.reason-staff-system h3 {
  font: var(--font-h5);
}
.reason-staff-system dl {
  margin-top: 24px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 32px;
}
@media (width < 768px) {
  .reason-staff-system dl {
    margin-top: 16px;
    grid-template-columns: 1fr;
    gap: var(--site-gutter);
  }
}
.reason-staff-system dl > div > dt > img {
  display: block;
  aspect-ratio: 315/236;
  width: 100%;
  height: auto;
}
.reason-staff-system dl > div > dt > span {
  margin-top: 12px;
  display: block;
  font: var(--font-h6);
}
.reason-staff-system dl > div > dd {
  margin-top: 4px;
  font: var(--font-label);
  font-weight: normal;
}

.reason-seven-features {
  margin-top: 48px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 24px;
}
@media (width < 768px) {
  .reason-seven-features {
    margin-top: 24px;
    flex-direction: column;
    gap: 16px;
  }
}
.reason-seven-features > div {
  width: 258px;
  border: 1px solid var(--color-gray-light);
  border-radius: 8px;
  padding: 24px 16px 16px;
}
@media (width < 768px) {
  .reason-seven-features > div {
    width: 100%;
  }
}
.reason-seven-features > div > dt {
  display: flex;
  flex-direction: column;
  align-items: center;
  font: var(--font-h5);
}
.reason-seven-features > div > dt > img {
  width: 32px;
  height: 32px;
}
.reason-seven-features > div > dd {
  margin-top: 16px;
  font: var(--font-p2);
}
@media (width < 768px) {
  .reason-seven-features > div > dd {
    margin-top: 12px;
  }
}

.reason-mechanism {
  --item-gap: min(72px, 7vw);
  margin-top: 48px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--item-gap);
}
@media (width < 768px) {
  .reason-mechanism {
    --item-gap: 60px;
    margin-top: 24px;
    display: grid;
    grid-template-columns: 1fr;
  }
}
.reason-mechanism > div {
  position: relative;
}
.reason-mechanism > div:not(:first-child)::before {
  content: "";
  position: absolute;
  background-color: var(--color-primary);
  -webkit-mask-position: center;
          mask-position: center;
  pointer-events: none;
}
@media (width >= 768px) {
  .reason-mechanism > div:not(:first-child)::before {
    right: 100%;
    top: calc(50% - 18px);
    aspect-ratio: 2/1;
    width: var(--item-gap);
    height: auto;
    -webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 23 36"><path d="M21.95 16.18a2 2 0 0 1 0 3.06L3.3 34.94A2 2 0 0 1 0 33.41V2.01A2 2 0 0 1 3.29.46z"/></svg>');
            mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 23 36"><path d="M21.95 16.18a2 2 0 0 1 0 3.06L3.3 34.94A2 2 0 0 1 0 33.41V2.01A2 2 0 0 1 3.29.46z"/></svg>');
    -webkit-mask-size: auto 100%;
            mask-size: auto 100%;
  }
}
@media (width < 768px) {
  .reason-mechanism > div:not(:first-child)::before {
    bottom: 100%;
    left: 0;
    width: 100%;
    height: var(--item-gap);
    -webkit-mask-size: auto 50%;
            mask-size: auto 50%;
    -webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 23 36"><path d="M21.95 16.18a2 2 0 0 1 0 3.06L3.3 34.94A2 2 0 0 1 0 33.41V2.01A2 2 0 0 1 3.29.46z"/></svg>');
            mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 23 36"><path d="M21.95 16.18a2 2 0 0 1 0 3.06L3.3 34.94A2 2 0 0 1 0 33.41V2.01A2 2 0 0 1 3.29.46z"/></svg>');
    rotate: 90deg;
  }
}
.reason-mechanism > div > dt > img {
  aspect-ratio: 234/131;
  width: 100%;
  height: auto;
}
.reason-mechanism > div > dt > span {
  display: block;
  margin-block: 12px;
  font: var(--font-h5);
}
.reason-mechanism > div > dd {
  font: var(--font-p2);
}

.reason-application {
  background-color: var(--color-secondary4);
  color: #044d34;
  padding: 48px;
  display: grid;
  grid-template-columns: 0.9fr 1fr;
  gap: 32px 24px;
}
@media (width < 768px) {
  .reason-application {
    padding: 32px var(--site-gutter);
    grid-template-columns: auto;
    gap: 24px;
  }
}
.reason-application > header {
  grid-column: 1/-1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.reason-application > header > h2 {
  font: var(--font-h4);
}
@media (width < 768px) {
  .reason-application > header > h2 {
    font: var(--font-h5);
    text-align: center;
  }
}
.reason-application > p {
  font: var(--font-p);
}

.reason-system-custmize-container {
  display: grid;
  grid-template-columns: auto 528px;
  gap: 48px;
}
@media (width < 1050px) {
  .reason-system-custmize-container {
    margin-inline: auto;
    max-width: 528px;
    grid-template-columns: 100%;
    justify-content: center;
    gap: 60px;
  }
}

.reason-system-custmize {
  padding: 48px 32px 32px;
  border-radius: 16px;
  background-color: var(--color-gray-light3);
  position: relative;
}
@media (width < 768px) {
  .reason-system-custmize {
    padding: 48px var(--site-gutter) 24px;
  }
}
.reason-system-custmize .reason-system-custmize__label {
  position: absolute;
  inset: 0 0 auto;
  margin-inline: auto;
  translate: 0 -50%;
  width: -moz-fit-content;
  width: fit-content;
  font: var(--font-p2);
  padding: 8px 16px;
  background-color: var(--color-primary);
  color: #fff;
  border-radius: 100px;
}
@media (width < 768px) {
  .reason-system-custmize .reason-system-custmize__label {
    padding-inline: 32px;
    line-height: 1.5;
    text-align: center;
  }
}
.reason-system-custmize .reason-system-custmize__text1 {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0 8px;
}
@media (width < 768px) {
  .reason-system-custmize .reason-system-custmize__text1 {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
}
.reason-system-custmize .reason-system-custmize__text1 > span:nth-child(1) {
  font: var(--font-h5);
}
.reason-system-custmize .reason-system-custmize__text1 > span:nth-child(2) {
  margin-left: 0.5em;
  font: var(--font-p2);
}
.reason-system-custmize .reason-system-custmize__list {
  margin-top: 24px;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
@media (width < 768px) {
  .reason-system-custmize .reason-system-custmize__list {
    max-width: 224px;
    margin-inline: auto;
  }
}
.reason-system-custmize .reason-system-custmize__list > li {
  width: 104px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.reason-system-custmize .reason-system-custmize__list > li > img {
  aspect-ratio: 104/58;
  width: 100%;
  height: auto;
  border-radius: 8px;
}
.reason-system-custmize .reason-system-custmize__list > li > span:nth-child(2) {
  font: var(--font-p2);
}
.reason-system-custmize .reason-system-custmize__list > li > span:nth-child(3) {
  font: var(--font-p);
  font-weight: bold;
  color: var(--color-primary);
}
.reason-system-custmize .reason-system-custmize__text2 {
  margin-top: 1em;
  font: var(--font-label2);
}

.reason-system-access {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px 24px;
}
@media (width < 768px) {
  .reason-system-access {
    grid-template-columns: auto;
    gap: 24px;
  }
}
@media (width >= 768px) {
  .reason-system-access .reason-system-access__text {
    padding-top: 40px;
  }
}
.reason-system-access .reason-system-access__box {
  --header-color: var(--color-gray-dark);
  --body-color: var(--color-gray-light3);
  overflow: hidden;
  border-radius: 8px;
  background-color: var(--body-color);
}
.reason-system-access .reason-system-access__box.--cover-all {
  --header-color: var(--color-secondary2);
  --body-color: var(--color-secondary4);
}
.reason-system-access .reason-system-access__box > h3 {
  text-align: center;
  background-color: var(--header-color);
  padding: 12px 8px;
  font: var(--font-h5);
  color: #fff;
}
.reason-system-access .reason-system-access__box > div {
  display: grid;
  grid-template-columns: 0.9fr 1fr;
  gap: 16px;
  padding: 24px;
}
@media (width < 1000px) {
  .reason-system-access .reason-system-access__box > div {
    grid-template-columns: 1fr;
  }
}
.reason-system-access .reason-system-access__box > div > img {
  border-radius: 8px;
}
.reason-system-access .reason-system-access__box > div > ul {
  padding-left: 1em;
  font: var(--font-p);
  list-style: disc;
}

.reason-system-cost {
  display: flex;
}
@media (width >= 1080px) {
  .reason-system-cost {
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 48px;
  }
}
@media (width < 1080px) {
  .reason-system-cost {
    flex-direction: column;
    align-items: center;
    gap: 32px;
  }
}
@media (width < 1080px) and (width < 768px) {
  .reason-system-cost {
    align-items: flex-start;
    gap: 24px;
  }
}
.reason-system-cost .reason-system-cost__header {
  width: -moz-max-content;
  width: max-content;
}
@media (width >= 1080px) {
  .reason-system-cost .reason-system-cost__text {
    padding-top: 40px;
    width: 528px;
  }
}
@media (width < 1080px) {
  .reason-system-cost .reason-system-cost__text {
    width: 410px;
    max-width: 100%;
  }
}
.reason-system-cost .reason-system-cost__image {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (width < 768px) {
  .reason-system-cost .reason-system-cost__image {
    margin-left: calc(-50vw + 50%);
    width: 100vw;
    overflow: hidden;
  }
}
.reason-system-cost .reason-system-cost__image img {
  width: 850px;
}
@media (width < 768px) {
  .reason-system-cost .reason-system-cost__image img {
    min-width: 480px;
  }
}
.reason-system-cost .reason-system-cost__image p {
  margin-top: -70px;
  font: var(--font-p);
  font-weight: bold;
  color: var(--color-secondary2);
  text-align: center;
}
@media (width < 768px) {
  .reason-system-cost .reason-system-cost__image p {
    margin-top: -40px;
    font-size: 13px;
  }
}

@media (width < 768px) {
  .reason-virus {
    --width: min(600px, 100vw);
    margin-left: calc(171px - var(--width) / 2);
    padding-inline: var(--site-gutter);
    width: var(--width);
    overflow: hidden;
  }
}

.reason-virus-table {
  margin-top: 24px;
}
@media (width >= 1000px) {
  .reason-virus-table {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: start;
    gap: 8px;
  }
}
@media (width < 768px) {
  .reason-virus-table {
    overflow-x: scroll;
  }
}
.reason-virus-table table {
  border-collapse: collapse;
  border: none;
}
@media (width < 1000px) {
  .reason-virus-table table {
    table-layout: fixed;
  }
}
@media (width < 768px) {
  .reason-virus-table table {
    width: 600px;
  }
}
@media (width < 1000px) {
  .reason-virus-table table:nth-child(2) thead {
    display: none;
  }
}
.reason-virus-table table :is(th, td) {
  padding: 1em;
  border-bottom: 1px solid var(--color-gray-light);
  font-size: 12px;
  line-height: 1.3;
  font-weight: normal;
}
.reason-virus-table table :is(th, td):is(th) {
  text-align: left;
}
.reason-virus-table table :is(th, td):is(td) {
  border-left: 1px solid var(--color-gray-light);
  text-align: center;
}
.reason-virus-table table :is(th, td):nth-child(1) {
  width: 18%;
}
.reason-virus-table table :is(th, td):nth-child(2) {
  width: 5%;
}
.reason-virus-table table :is(th, td):nth-child(3) {
  width: 5%;
}
.reason-virus-table table :is(th, td):nth-child(4) {
  width: 5%;
}
.reason-virus-table table :is(th, td):nth-child(5) {
  width: 5%;
}
.reason-virus-table table :is(th, td):nth-child(6) {
  width: 5%;
}
.reason-virus-table table :is(th, td):nth-child(7) {
  width: 12%;
}
.reason-virus-table table thead :is(th, td) {
  background-color: var(--color-black);
  color: var(--color-white);
  font-weight: bold;
}
.reason-virus-table table tbody th {
  background-color: var(--color-gray-light3);
}

.reason-virus-text1 {
  font: var(--font-p);
}

.reason-virus-text2 {
  margin-top: 8px;
  font: var(--font-label2);
}

.reason-virus-text3 {
  margin-top: 24px;
  font: var(--font-label2);
}

.service-top-lead .service-top-lead__text1 {
  font: var(--font-h3);
}
@media (width < 768px) {
  .service-top-lead .service-top-lead__text1 {
    font: var(--font-h4);
  }
}
.service-top-lead .service-top-lead__text2 {
  margin-top: 1em;
  max-width: 840px;
  font: var(--font-p);
}

.service-top-bg {
  margin-top: 160px;
  padding-block: 160px;
  background-color: var(--color-secondary4);
}
@media (width < 768px) {
  .service-top-bg {
    margin-top: 80px;
    padding-block: 80px;
  }
}

.service-top-dp-header {
  text-align: center;
}
.service-top-dp-header .service-top-dp-header__heading {
  font: var(--font-h2);
  color: var(--color-primary);
}
@media (width < 768px) {
  .service-top-dp-header .service-top-dp-header__heading {
    font: var(--font-h3);
  }
}
.service-top-dp-header .service-top-dp-header__text {
  margin-top: 36px;
  font: var(--font-p);
  font-weight: bold;
}
@media (width < 768px) {
  .service-top-dp-header .service-top-dp-header__text {
    text-align: left;
  }
}

.service-top-dp-cards {
  display: grid;
}
@media (width >= 768px) {
  .service-top-dp-cards {
    grid-template-columns: 1fr 1fr;
    gap: 48px 32px;
  }
}
@media (width < 768px) {
  .service-top-dp-cards {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}
.service-top-dp-cards > .service-top-dp-cards__item {
  container-type: inline-size;
}
@media (width >= 768px) {
  .service-top-dp-cards > .service-top-dp-cards__item.--plus {
    grid-column: span 2;
  }
}

.service-top-boxes {
  padding-inline: var(--site-gutter);
  display: grid;
  gap: 32px;
}

.service-top-box {
  overflow: hidden;
  margin-inline: auto;
  padding-block: 120px;
  padding-inline: var(--site-gutter);
  width: min(1800px, 100%);
  background-color: var(--color-secondary4d);
  border-radius: 28px;
}
@media (width < 768px) {
  .service-top-box {
    margin-inline: -16px;
    padding-inline: 16px;
    width: auto;
    padding-block: 60px;
    border-radius: 16px;
  }
}
.service-top-box.--daily {
  padding-inline: 0;
  padding-bottom: 0;
}
.service-top-box .service-top-box__container {
  margin-inline: auto;
  max-width: 1104px;
}
@media (width < 768px) {
  .service-top-box .service-top-box__container {
    max-width: 342px;
  }
}
.service-top-box .service-top-box__title {
  margin-bottom: 2em;
  text-align: center;
  font: var(--font-h3);
}
@media (width < 768px) {
  .service-top-box .service-top-box__title {
    font: var(--font-h4);
  }
}
.service-top-box .service-top-box__title em {
  color: var(--color-primary);
}
@media (width >= 768px) {
  .service-top-box .service-daily-mapnav > ul {
    height: 750px;
  }
}

.service-top-others {
  --columns: 2;
  --large-span: 2;
  display: grid;
  grid-template-columns: repeat(var(--columns), 1fr);
  gap: 16px;
}
@media (width < 1100px) {
  .service-top-others {
    --columns: 1;
    --large-span: 1;
  }
}
@media (width < 768px) {
  .service-top-others {
    grid-template-columns: repeat(var(--columns), minmax(0, 358px));
    justify-content: center;
  }
}
.service-top-others .service-top-others__link {
  position: relative;
  border: 1px solid var(--color-secondary3);
  padding: 24px;
  display: grid;
  grid-template: "image title arrow" auto "image description arrow" 1fr/clamp(188px, 28%, 295px) 1fr 24px;
  align-items: start;
  gap: 8px 20px;
  background-color: #fff;
  border-radius: 16px;
}
@media (width < 768px) {
  .service-top-others .service-top-others__link {
    padding: 24px;
    gap: 12px;
    grid-template: "image image" auto "title title" auto "description arrow" auto/1fr 24px;
  }
}
.service-top-others .service-top-others__link:hover {
  --image-scale: 1.1;
}
@media (width >= 1000px) {
  .service-top-others .service-top-others__link.--large {
    grid-column: span var(--large-span);
  }
}
.service-top-others .service-top-others__link .service-top-others__image {
  grid-area: image;
  position: relative;
  overflow: hidden;
  border-radius: 8px;
  height: 150px;
}
.service-top-others .service-top-others__link .service-top-others__image img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  scale: var(--image-scale, 1);
  transition: scale 0.2s;
}
.service-top-others .service-top-others__link .service-top-others__title {
  grid-area: title;
  font: var(--font-h5);
}
.service-top-others .service-top-others__link .service-top-others__description {
  grid-area: description;
  font: var(--font-p2);
}
.service-top-others .service-top-others__link .service-top-others__arrow {
  grid-area: arrow;
  align-self: center;
  font-size: 24px;
  color: var(--color-secondary3);
}

.service-top-estimate {
  margin-top: 96px;
}
.service-top-estimate .cta-banner-estimate {
  box-shadow: 0 20px 80px 0 rgba(38, 211, 103, 0.25);
}
@media (width < 768px) {
  .service-top-estimate {
    max-width: 342px;
  }
}

.service-top-area-heading {
  font: var(--font-h2);
  color: var(--color-primary);
  text-align: center;
}
@media (width < 768px) {
  .service-top-area-heading {
    font: var(--font-h3);
  }
}

.service-top-area-map {
  margin-block: 64px;
  margin-inline: auto;
  width: 100%;
  max-width: 827px;
  height: auto;
}
@media (width < 768px) {
  .service-top-area-map {
    margin-block: 32px;
  }
}

.service-top-area-details {
  margin-top: 16px;
}
.service-top-area-details > .service-top-area-details__summary {
  list-style: none;
  border-radius: 8px;
  border: 1px solid var(--color-gray-light);
  background: var(--color-white);
  padding: 24px 24px 24px 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  transition: background-color 0.2s;
}
.service-top-area-details > .service-top-area-details__summary:hover {
  background-color: var(--color-gray-light3);
}
@media (width < 768px) {
  .service-top-area-details > .service-top-area-details__summary {
    padding: 16px 16px 16px 24px;
  }
}
.service-top-area-details > .service-top-area-details__summary::-webkit-details-marker {
  display: none;
}
.service-top-area-details > .service-top-area-details__summary > h3 {
  font: var(--font-h5);
}
.service-top-area-details > .service-top-area-details__summary > .icon-accordion {
  font-size: 24px;
}
.service-top-area-details > .service-top-area-details__content {
  padding: 32px;
}
@media (width < 768px) {
  .service-top-area-details > .service-top-area-details__content {
    padding: 24px;
  }
}
.service-top-area-details > .service-top-area-details__content > :first-child {
  margin-top: 0;
}
.service-top-area-details > .service-top-area-details__content > h4 {
  margin-top: 2em;
  font-size: 16px;
  font-weight: bold;
  color: var(--color-primary);
}
.service-top-area-details > .service-top-area-details__content > ul {
  margin-top: 1em;
  font-size: 16px;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em 1em;
}
.service-top-area-details > .service-top-area-details__content > p {
  font: var(--font-p);
}

.service-hgroup {
  text-align: center;
}
.service-hgroup .service-hgroup__english {
  font: var(--font-english-sm);
  color: var(--color-secondary3);
}
.service-hgroup .service-hgroup__heading {
  font: var(--font-h3);
}
@media (width < 768px) {
  .service-hgroup .service-hgroup__heading {
    font: var(--font-h4);
  }
}

.service-periodic-diff {
  padding: 32px;
  background-color: var(--color-gray-light3);
  border-radius: 8px;
  display: grid;
  grid-template: "heading button" auto "text button" auto/1fr 200px;
  gap: 16px 24px;
}
@media (width < 768px) {
  .service-periodic-diff {
    padding: 32px 24px;
    grid-template: "heading" auto "text" auto "button" auto/1fr;
    gap: 16px;
  }
}
.service-periodic-diff .service-periodic-diff__heading {
  grid-area: heading;
  display: flex;
  align-items: center;
  gap: 16px;
}
.service-periodic-diff .service-periodic-diff__heading > .icon {
  font-size: 24px;
  color: var(--color-secondary3);
}
.service-periodic-diff .service-periodic-diff__heading > span {
  font: var(--font-h5);
}
.service-periodic-diff .service-periodic-diff__text {
  grid-area: text;
  font: var(--font-p);
  color: var(--color-gray-dark);
}
.service-periodic-diff .service-periodic-diff__button {
  grid-area: button;
  align-self: center;
}

.service-features-block {
  border-top: 1px solid var(--color-gray-light);
  padding-top: 96px;
}
@media (width < 768px) {
  .service-features-block {
    padding-top: 48px;
  }
}

.service-features {
  display: grid;
}
@media (width >= 768px) {
  .service-features {
    grid-auto-flow: column;
    grid-auto-columns: 1fr;
    gap: 24px;
  }
}
@media (width < 768px) {
  .service-features {
    gap: 24px;
  }
}
.service-features > div {
  display: grid;
  gap: 16px;
  align-content: start;
  counter-increment: feature;
  padding: 24px;
  border-radius: 16px;
  background: linear-gradient(#02a951, #0f9257);
  color: #fff;
}
.service-features > div::before {
  content: counter(feature);
  font: var(--font-english-lg);
  line-height: 1;
  text-align: center;
}
.service-features > div > dt {
  text-align: center;
  font: var(--font-h4);
}
.service-features > div > dt strong {
  color: var(--color-accent);
}
.service-features > div > dd {
  font: var(--font-p);
}

.service-daily-modal {
  display: grid;
  position: fixed;
  overflow: hidden;
  z-index: 100;
  inset: var(--header-height) 0 0;
  place-content: center;
}
.service-daily-modal[aria-hidden=true] {
  --backdrop-visibility: hidden;
  --backdrop-opacity: 0;
  --backdrop-transition: visibility 0s 0.2s, opacity 0.2s;
  visibility: hidden;
}
.service-daily-modal[aria-hidden=false] {
  --backdrop-visibility: visible;
  --backdrop-opacity: 1;
  --backdrop-transition: visibility 0s, opacity 0.2s;
  visibility: visible;
}
.service-daily-modal .service-daily-modal__backdrop {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.5);
  visibility: var(--backdrop-visibility);
  opacity: var(--backdrop-opacity);
  transition: var(--backdrop-transition);
}
.service-daily-modal .service-daily-modal__box {
  --padding: 48px;
  position: relative;
  background-color: var(--color-white);
  border-radius: calc(var(--padding) / 2);
  padding: var(--padding);
  width: 960px;
  max-width: calc(100vw - var(--padding) * 2);
  max-height: calc(100vh - var(--header-height) - var(--padding) * 2);
  display: grid;
  grid-template-rows: max-content 1fr max-content;
  gap: calc(var(--padding) * 2 / 3);
}
.service-daily-modal .service-daily-modal__box[aria-hidden=true] {
  display: none;
}
@media (width < 768px) {
  .service-daily-modal .service-daily-modal__box {
    --padding: 24px;
  }
}
.service-daily-modal .service-daily-modal__box .service-daily-modal__header .service-daily-modal__close {
  position: absolute;
  right: calc(var(--padding) * 2 / 3);
  top: calc(var(--padding) * 2 / 3);
  width: 24px;
  height: 24px;
  cursor: pointer;
}
.service-daily-modal .service-daily-modal__box .service-daily-modal__header .service-daily-modal__close::before, .service-daily-modal .service-daily-modal__box .service-daily-modal__header .service-daily-modal__close::after {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 80%;
  height: 2px;
  background-color: var(--color-black);
}
.service-daily-modal .service-daily-modal__box .service-daily-modal__header .service-daily-modal__close::before {
  rotate: 45deg;
}
.service-daily-modal .service-daily-modal__box .service-daily-modal__header .service-daily-modal__close::after {
  rotate: -45deg;
}
.service-daily-modal .service-daily-modal__box .service-daily-modal__header .service-daily-modal__title {
  font: var(--font-h4);
}
.service-daily-modal .service-daily-modal__box .service-daily-modal__body {
  display: grid;
  grid-template-columns: 0.7fr 1fr;
  gap: 32px;
  overflow-y: auto;
  scrollbar-width: none;
}
.service-daily-modal .service-daily-modal__box .service-daily-modal__body::-webkit-scrollbar {
  display: none;
}
@media (width < 768px) {
  .service-daily-modal .service-daily-modal__box .service-daily-modal__body {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}
.service-daily-modal .service-daily-modal__box .service-daily-modal__body .service-daily-modal__image {
  display: grid;
  gap: 8px;
}
.service-daily-modal .service-daily-modal__box .service-daily-modal__body .service-daily-modal__image > img {
  width: 100%;
  height: auto;
}
.service-daily-modal .service-daily-modal__box .service-daily-modal__body .service-daily-modal__content {
  display: grid;
  gap: 16px;
  align-content: start;
}
.service-daily-modal .service-daily-modal__box .service-daily-modal__body .service-daily-modal__content > ul {
  list-style: disc;
  margin-left: 1.5em;
}
.service-daily-modal .service-daily-modal__box .service-daily-modal__body .service-daily-modal__content > ul > li {
  line-height: 1.5;
}
.service-daily-modal .service-daily-modal__box .service-daily-modal__body .service-daily-modal__content > ul > li:not(:first-child) {
  margin-top: 0.3em;
}
.service-daily-modal .service-daily-modal__box .service-daily-modal__body .service-daily-modal__content > p {
  font-size: 12px;
}
.service-daily-modal .service-daily-modal__box .service-daily-modal__footer {
  text-align: center;
}

.service-price-table {
  width: 100%;
  border-collapse: collapse;
}
.service-price-table :is(th, td) {
  width: 50%;
  padding: 16px 32px;
  vertical-align: top;
  text-align: left;
  font-size: 16px;
}
@media (width < 768px) {
  .service-price-table :is(th, td) {
    padding: 16px;
  }
}
.service-price-table thead :is(th, td) {
  background-color: var(--color-black);
  color: var(--color-white);
  font-weight: bold;
}
.service-price-table thead :is(th, td):not(:first-child) {
  border-left: 1px solid var(--color-white);
}
.service-price-table tbody :is(th, td) {
  border-bottom: 1px solid var(--color-gray-light);
  font-weight: normal;
}
.service-price-table tbody :is(th, td):is(th) {
  background-color: var(--color-gray-light3);
}
.service-price-table tbody :is(th, td):not(:first-child) {
  border-left: 1px solid var(--color-gray-light);
}
.service-price-table tbody :is(th, td) small {
  font-size: 100%;
}
@media (width < 768px) {
  .service-price-table tbody :is(th, td) small {
    display: block;
  }
}

.service-case-lead {
  margin-inline: auto;
  max-width: 900px;
  font: var(--font-p);
}

.service-relative-header {
  display: flex;
}
@media (width >= 768px) {
  .service-relative-header {
    align-items: center;
    justify-content: space-between;
    gap: 32px;
  }
}
@media (width < 768px) {
  .service-relative-header {
    flex-direction: column;
    gap: 24px;
  }
}
.service-relative-header .service-relative-header__heading {
  font: var(--font-h4);
  color: var(--color-primary);
}
.service-relative-header .button {
  align-self: end;
}

.service-relatives {
  display: grid;
}
.service-relatives .service-relatives__item .service-relatives__link {
  border-bottom: 1px solid var(--color-gray-light);
  display: grid;
}
.service-relatives .service-relatives__item .service-relatives__link:hover {
  --image-scale: 1.1;
}
@media (width >= 768px) {
  .service-relatives .service-relatives__item .service-relatives__link {
    padding: 32px;
    grid-template: "image . title . arrow" auto "image . description . arrow" auto/200px 48px 1fr 6% 24px;
  }
}
@media (width < 768px) {
  .service-relatives .service-relatives__item .service-relatives__link {
    padding: 24px 0;
    grid-template: "image image" auto "title arrow" auto "description arrow" auto/1fr 24px;
    gap: 12px 8px;
  }
}
.service-relatives .service-relatives__item .service-relatives__image {
  grid-area: image;
  aspect-ratio: 16/9;
  border-radius: 8px;
  overflow: hidden;
}
.service-relatives .service-relatives__item .service-relatives__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  scale: var(--image-scale, 1);
  transition: scale 0.3s;
}
.service-relatives .service-relatives__item .service-relatives__title {
  grid-area: title;
  align-content: end;
  font: var(--font-h5);
}
.service-relatives .service-relatives__item .service-relatives__description {
  grid-area: description;
  align-content: start;
  font: var(--font-p);
}
.service-relatives .service-relatives__item .service-relatives__arrow {
  grid-area: arrow;
  align-content: center;
  font-size: 24px;
  color: var(--color-secondary3);
}

.service-detail-box {
  margin-inline: auto;
  padding-top: 120px;
  width: min(1800px, 100%);
  background-color: var(--color-secondary4);
  border-radius: 28px;
}
@media (width < 768px) {
  .service-detail-box {
    padding: 60px var(--site-gutter);
  }
}

.service-detail {
  --width: 1104px;
  container-type: inline-size;
  position: relative;
}
@media (width >= 768px) {
  .service-detail .service-detail__inner {
    zoom: min(1, 100cqw/calc(var(--width) + 56px));
    margin-inline: auto;
    width: var(--width);
  }
}
.service-detail .service-detail-image {
  display: block;
  width: var(--width);
  height: auto;
}
@media (width >= 768px) {
  .service-detail .service-detail__list {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: var(--width);
  }
}
@media (width < 768px) {
  .service-detail .service-detail__list {
    display: grid;
    grid-template-columns: min(320px, 100%);
    justify-content: center;
    gap: 16px;
  }
}
@media (width >= 768px) {
  .service-detail .service-detail__list .service-detail__item {
    position: absolute;
    left: calc(var(--x) * 1px);
    top: calc(var(--y) * 1px);
  }
}
@media (width < 768px) {
  .service-detail .service-detail__list .service-detail__item {
    position: relative;
  }
}
.service-detail .service-detail__list .service-detail__item .service-detail__button {
  border: 1px solid var(--color-secondary3);
  background-color: #fff;
  padding-inline: 32px 20px;
  width: -moz-max-content;
  width: max-content;
  height: 62px;
  border-radius: 31px;
  font-size: 16px;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  box-shadow: 0 15px 30px 0 rgba(36, 204, 99, 0.3);
}
@media (width < 768px) {
  .service-detail .service-detail__list .service-detail__item .service-detail__button {
    width: 100%;
  }
}
.service-detail .service-detail__list .service-detail__item .service-detail__button::after {
  content: "";
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  background-color: var(--color-primary);
  -webkit-mask-image: var(--icon-arrow-right-alt);
          mask-image: var(--icon-arrow-right-alt);
}

.service-detail__card {
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
  z-index: 2;
  width: 290px;
  padding: 16px;
  border-radius: 16px;
  background-color: #fff;
  border: 1px solid var(--color-secondary3);
  box-shadow: 0 20px 80px 0 rgba(38, 211, 103, 0.25);
  cursor: pointer;
}
.service-detail__card[aria-hidden=true] {
  transition: visibility 0s 0.2s, opacity 0.2s, scale 0.2s;
  visibility: hidden;
  opacity: 0;
  scale: 0;
}
.service-detail__card[aria-hidden=false] {
  transition: visibility 0s, opacity 0.3s, scale 0.3s;
  visibility: visible;
  opacity: 1;
  scale: 1;
}
.service-detail__card img {
  aspect-ratio: 290/216;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
.service-detail__card h3 {
  margin-block: 16px 12px;
  font: var(--font-h5);
}
.service-detail__card ul {
  font: var(--font-p2);
  margin-left: 1.4em;
  list-style: disc;
}
.service-detail__card p {
  font: var(--font-p2);
}

.service-sanitize-solution {
  border-top: 1px solid var(--color-gray-light);
  padding-top: 96px;
}
@media (width < 768px) {
  .service-sanitize-solution {
    padding-top: 48px;
  }
}

.service-titan {
  border-top: 1px solid var(--color-gray-light);
  padding-top: 96px;
}
@media (width < 768px) {
  .service-titan {
    padding-top: 48px;
  }
}

.service-plus-youtube iframe {
  display: block;
  aspect-ratio: 16/9;
  width: 100%;
  height: auto;
}

.service-plus-nayami {
  padding-block: 120px;
  background-color: var(--color-gray-light3);
}
@media (width < 768px) {
  .service-plus-nayami {
    padding-block: 60px;
  }
}
.service-plus-nayami .container {
  display: grid;
  grid-template-columns: 100%;
  gap: 48px;
}
@media (width < 768px) {
  .service-plus-nayami .container {
    gap: 24px;
  }
}
.service-plus-nayami h2 {
  font: var(--font-h3);
  color: var(--color-primary);
  text-align: center;
}
@media (width < 768px) {
  .service-plus-nayami h2 {
    font: var(--font-h4);
  }
}
.service-plus-nayami ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (width < 768px) {
  .service-plus-nayami ul {
    grid-template-columns: 100%;
  }
}
.service-plus-nayami ul > li {
  padding: 24px;
  border-radius: 8px;
  background-color: var(--color-gray-light);
  font: var(--font-h5);
  display: flex;
  align-items: center;
  gap: 12px;
}
.service-plus-nayami ul > li::before {
  content: "";
  display: block;
  width: 28px;
  height: 28px;
  background-color: var(--color-primary);
  -webkit-mask-image: var(--icon-check-circle);
          mask-image: var(--icon-check-circle);
}
.service-plus-nayami p {
  font: var(--font-p);
  font-weight: bold;
  text-align: center;
}
@media (width < 768px) {
  .service-plus-nayami p {
    text-align: left;
  }
}

.service-plus-reason {
  margin-top: 48px;
  display: grid;
  gap: 48px;
}
@media (width < 768px) {
  .service-plus-reason {
    margin-top: 24px;
    gap: 24px;
  }
}
.service-plus-reason p {
  font: var(--font-p);
}
.service-plus-reason .service-plus-reason__image1 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
}
@media (width < 768px) {
  .service-plus-reason .service-plus-reason__image1 {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

.service-plus-diff {
  background-color: var(--color-gray-light3);
  padding: 32px;
  border-radius: 8px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
}
@media (width < 768px) {
  .service-plus-diff {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 24px;
  }
}
.service-plus-diff > div > dt {
  font: var(--font-h5);
  display: flex;
  align-items: center;
  gap: 8px;
}
.service-plus-diff > div > dt::before {
  content: "";
  -webkit-mask-image: var(--icon-question);
          mask-image: var(--icon-question);
  width: 24px;
  height: 24px;
  background-color: var(--color-secondary3);
}
.service-plus-diff > div > dd {
  margin-top: 16px;
  font: var(--font-p);
  color: var(--color-gray-dark);
}

.service-plus-servive h3 {
  font: var(--font-h4);
  color: var(--color-primary);
}
@media (width < 768px) {
  .service-plus-servive h3 {
    font: var(--font-h5);
  }
}
.service-plus-servive p {
  margin-top: 16px;
  font: var(--font-p);
}

.service-plus-reason-box {
  border-top: 1px solid var(--color-gray-light);
  padding-top: 96px;
}
@media (width < 768px) {
  .service-plus-reason-box {
    padding-top: 48px;
  }
}

.service-house-menu {
  margin-top: 64px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(0, 346px));
  justify-content: center;
  gap: 48px 32px;
}
@media (width < 768px) {
  .service-house-menu {
    gap: 32px;
  }
}

.service-house-menu-item .service-house-menu-item__image {
  aspect-ratio: 4/3;
  width: 100%;
  height: auto;
  border-radius: 4px;
}
.service-house-menu-item .service-house-menu-item__content {
  margin-top: 24px;
  display: grid;
  gap: 16px;
}
.service-house-menu-item .service-house-menu-item__content .service-house-menu-item__title {
  font: var(--font-h5);
}
.service-house-menu-item .service-house-menu-item__content .service-house-menu-item__points > h4 {
  font: var(--font-label);
  font-weight: bold;
  color: var(--color-primary);
}
.service-house-menu-item .service-house-menu-item__content .service-house-menu-item__points > ul {
  margin-top: 8px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.service-house-menu-item .service-house-menu-item__content .service-house-menu-item__points > ul > li {
  padding: 2px 6px;
  background-color: #fff;
  font: var(--font-label2);
  border-radius: 4px;
}
.service-house-menu-item .service-house-menu-item__content .service-house-menu-item__points > ul::after {
  content: "等";
  padding: 2px 0;
  font: var(--font-label2);
}
.service-house-menu-item .service-house-menu-item__content .service-house-menu-item__yogore {
  padding: 8px 12px;
  background-color: var(--color-secondary4d);
  border-radius: 4px;
}
.service-house-menu-item .service-house-menu-item__content .service-house-menu-item__yogore > h4 {
  font: var(--font-label);
  font-weight: bold;
  color: var(--color-secondary2);
}
.service-house-menu-item .service-house-menu-item__content .service-house-menu-item__yogore > p {
  font: var(--font-label2);
}

.service-sanitize-achievement {
  background-color: var(--color-gray-light3);
  padding: 48px;
  border-radius: 16px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 32px 48px;
}
@media (width < 768px) {
  .service-sanitize-achievement {
    padding: 24px 16px;
    gap: 24px;
  }
}
.service-sanitize-achievement > hgroup {
  flex-shrink: 0;
  position: relative;
  padding-left: 40px;
}
.service-sanitize-achievement > hgroup::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 32px;
  height: 32px;
  background-color: var(--color-secondary3);
  -webkit-mask-image: var(--icon-badge);
          mask-image: var(--icon-badge);
}
.service-sanitize-achievement > hgroup > h3 {
  font: var(--font-h5);
}
.service-sanitize-achievement > hgroup > time {
  font: var(--font-p2);
}
.service-sanitize-achievement > table {
  width: 684px;
  border-collapse: collapse;
}
@media (width < 768px) {
  .service-sanitize-achievement > table {
    width: 100%;
  }
}
.service-sanitize-achievement > table thead {
  --border-color: var(--color-black);
  --vertical-align: bottom;
  font: var(--font-p2);
}
.service-sanitize-achievement > table tbody {
  --border-color: var(--color-gray-light);
  --vertical-align: center;
  font: var(--font-p);
}
@media (width < 768px) {
  .service-sanitize-achievement > table tbody {
    font: var(--font-p2);
  }
}
.service-sanitize-achievement > table :is(th, td) {
  width: 1%;
  text-align: left;
  vertical-align: var(--vertical-align);
  border-bottom: 1px solid var(--border-color);
  padding: 8px 12px;
  line-height: 1.3;
}
@media (width < 768px) {
  .service-sanitize-achievement > table :is(th, td) {
    padding: 8px;
  }
  .service-sanitize-achievement > table :is(th, td):first-child {
    padding-left: 0;
  }
  .service-sanitize-achievement > table :is(th, td):last-child {
    padding-right: 0;
  }
}
.service-sanitize-achievement > table :is(th, td):is(th) {
  font-weight: bold;
}

.service-sanitize-menu {
  display: grid;
}
@media (width >= 768px) {
  .service-sanitize-menu {
    grid-template: auto 1fr/320px 1fr;
    gap: 24px 48px;
  }
}
@media (width < 768px) {
  .service-sanitize-menu {
    gap: 24px;
  }
}
.service-sanitize-menu > img {
  grid-row: span 2;
  border-radius: 8px;
}
.service-sanitize-menu > ul {
  display: grid;
  gap: 8px;
}
.service-sanitize-menu > ul > li {
  border-radius: 4px;
  background-color: #fff;
  padding: 16px;
  font-weight: bold;
  display: flex;
  align-items: baseline;
  gap: 12px;
}
.service-sanitize-menu > ul > li::before {
  content: "";
  flex-shrink: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: currentcolor;
  translate: 0 -2px;
}
.service-sanitize-menu > p {
  font: var(--font-p);
}

.service-sanitize-price {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px 48px;
}
@media (width < 768px) {
  .service-sanitize-price {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}
.service-sanitize-price > div > h3 {
  font: var(--font-h4);
  color: var(--color-primary);
  margin-bottom: 24px;
}
@media (width < 768px) {
  .service-sanitize-price > div > h3 {
    font: var(--font-h5);
    text-align: center;
  }
}
.service-sanitize-price > div > h3[aria-hidden=true] {
  min-height: 1lh;
}
@media (width < 768px) {
  .service-sanitize-price > div > h3[aria-hidden=true] {
    display: none;
  }
}
.service-sanitize-price > div > table {
  --column1-width: auto;
  --column2-width: auto;
  width: 100%;
  border-collapse: collapse;
}
.service-sanitize-price > div > table.--table-type1 {
  --column1-width: 50%;
  --column2-width: 50%;
}
.service-sanitize-price > div > table :is(th, td) {
  padding: 16px 32px;
  text-align: left;
  vertical-align: center;
}
.service-sanitize-price > div > table :is(th, td):first-child {
  width: var(--column1-width);
}
.service-sanitize-price > div > table :is(th, td):last-child {
  width: var(--column2-width);
}
.service-sanitize-price > div > table :is(th, td).--plus {
  --pad-left: 32px;
  padding-left: calc(var(--pad-left) + 1.5em);
  background-image: url('data:image/svg+xml;utf8,<svg fill="%2326D367" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><rect width="2.67" height="16" x="6.66" rx="1.33"/><rect width="2.67" height="16" x="16" y="6.67" rx="1.33" transform="rotate(90 16 6.67)"/></svg>');
  background-size: 1em 1em;
  background-position: left var(--pad-left) center;
}
@media (width < 768px) {
  .service-sanitize-price > div > table :is(th, td) {
    padding: 8px 16px;
  }
  .service-sanitize-price > div > table :is(th, td).--plus {
    --pad-left: 16px;
  }
}
.service-sanitize-price > div > table :is(th, td) span {
  display: inline-block;
}
@media (width < 768px) {
  .service-sanitize-price > div > table :is(th, td) span {
    display: block;
  }
}
.service-sanitize-price > div > table :is(th, td) small {
  display: inline-block;
  font-size: 12px;
}
.service-sanitize-price > div > table thead tr:first-child :is(th, td) {
  background-color: var(--color-black);
  color: var(--color-white);
  font-weight: bold;
}
.service-sanitize-price > div > table thead tr:nth-child(2) :is(th, td) {
  background-color: var(--color-gray-light3);
  border-bottom: 1px solid var(--color-gray-light);
}
.service-sanitize-price > div > table thead tr:nth-child(2) :is(th, td):not(:first-child) {
  border-left: 1px solid var(--color-gray-light);
}
.service-sanitize-price > div > table tbody td {
  border-bottom: 1px solid var(--color-gray-light);
}
.service-sanitize-price > div > table tbody td:not(:first-child) {
  border-left: 1px solid var(--color-gray-light);
}

.service-titan-254 .service-titan-254__heading {
  margin-top: 64px;
  font: var(--font-h4);
  color: var(--color-primary);
}
@media (width < 768px) {
  .service-titan-254 .service-titan-254__heading {
    font: var(--font-h5);
  }
}
.service-titan-254 .service-titan-254__text {
  margin-block: 24px;
  font: var(--font-p);
}
.service-titan-254 .service-titan-254__image {
  margin-block: 24px;
  margin-inline: auto;
}
.service-titan-254 .service-titan-254__image.--image01 {
  width: 680px;
}
.service-titan-254 .service-titan-254__image.--image02 {
  width: 840px;
}
.service-titan-254 .service-titan-254__note {
  margin-top: 48px;
  font: var(--font-p2);
}

.service-titan-mechanism .service-titan-mechanism__heading {
  font: var(--font-h4);
  color: var(--color-primary);
}
@media (width < 768px) {
  .service-titan-mechanism .service-titan-mechanism__heading {
    font: var(--font-h5);
  }
}
.service-titan-mechanism .service-titan-mechanism__image {
  margin-block: 24px;
  margin-inline: auto;
  width: 840px;
}
.service-titan-mechanism .service-titan-mechanism__list {
  margin-top: 48px;
  display: grid;
  gap: 24px;
}
.service-titan-mechanism .service-titan-mechanism__list > div {
  display: grid;
  grid-template-columns: 320px 1fr;
  align-items: center;
  gap: 0 48px;
}
@media (width < 768px) {
  .service-titan-mechanism .service-titan-mechanism__list > div {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
.service-titan-mechanism .service-titan-mechanism__list > div > img {
  aspect-ratio: 320/240;
  grid-row: span 2;
}
.service-titan-mechanism .service-titan-mechanism__list > div > dt {
  align-self: end;
  font: var(--font-p);
  font-weight: bold;
}
.service-titan-mechanism .service-titan-mechanism__list > div > dd {
  align-self: start;
  font: var(--font-p);
}

.service-titan-info {
  border-radius: 16px;
  padding: 48px;
  background-color: var(--color-gray-light3);
}
@media (width >= 1120px) {
  .service-titan-info {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
}
@media (width < 1120px) {
  .service-titan-info {
    display: grid;
    gap: 16px;
  }
}
@media (width < 768px) {
  .service-titan-info {
    padding: 24px;
  }
}
.service-titan-info > h3 {
  flex-shrink: 0;
  font: var(--font-h5);
  display: flex;
  align-items: center;
  gap: 8px;
}
.service-titan-info > h3::before {
  content: "";
  width: 32px;
  height: 32px;
  background-color: var(--color-secondary3);
  -webkit-mask-image: var(--icon-book);
          mask-image: var(--icon-book);
}
.service-titan-info > div > p {
  font: var(--font-p);
}
.service-titan-info > div > ul {
  margin-top: 12px;
  font: var(--font-p);
}
.service-titan-info > div > ul > li {
  margin-top: 4px;
}
.service-titan-info > div > ul > li > a {
  color: var(--color-primary);
}
.service-titan-info > div > ul > li > a.--pdf {
  --icon-size: 20px;
  --icon-image: var(--icon-pdf);
}
.service-titan-info > div > ul > li > a.--external {
  --icon-size: 12px;
  --icon-image: var(--icon-external-link);
}
.service-titan-info > div > ul > li > a::after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  margin-left: 4px;
  width: var(--icon-size);
  height: var(--icon-size);
  background-color: currentcolor;
  -webkit-mask-image: var(--icon-image);
          mask-image: var(--icon-image);
}

.service-titan-scenes {
  border-top: 1px solid var(--color-gray-light);
  padding-top: 96px;
}
.service-titan-scenes h2 {
  font: var(--font-h4);
  text-align: center;
}
@media (width < 768px) {
  .service-titan-scenes h2 {
    font: var(--font-h5);
  }
}
.service-titan-scenes ul {
  margin-top: 48px;
  display: grid;
  grid-template-columns: var(--template-columns, repeat(3, 200px));
  justify-content: center;
  gap: 36px 24px;
}
@media (width > 1200px) {
  .service-titan-scenes ul {
    --template-columns: repeat(10, 88px);
    --column: span 2;
    --first-column: 2 / span 2;
    max-width: 100%;
  }
}
@media (width < 768px) {
  .service-titan-scenes ul {
    grid-template-columns: repeat(2, 160px);
    gap: 24px 16px;
    font-size: 14px;
  }
}
.service-titan-scenes ul > li {
  grid-column: var(--column, auto);
}
.service-titan-scenes ul > li:first-child {
  grid-column: var(--first-column, auto);
}
.service-titan-scenes ul > li img {
  aspect-ratio: 200/133;
}
.service-titan-scenes ul > li span {
  display: block;
  margin-top: 0.5em;
  text-align: center;
}

.single-bg {
  display: flow-root;
  padding-bottom: 120px;
  background-color: var(--color-gray-light3);
}
@media (width < 768px) {
  .single-bg {
    padding-bottom: 60px;
  }
}

.single-box {
  padding: 72px;
  background-color: var(--color-white);
  border-radius: 32px;
}
@media (width < 768px) {
  .single-box {
    padding: 32px 24px;
    border-radius: 24px;
  }
}

.single-article-header {
  display: grid;
  gap: 20px;
}
.single-article-header .single-article-header__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1em;
}
.single-article-header .single-article-header__meta .single-article-header__type {
  padding: 6px 16px;
  border-radius: 4px;
  background-color: var(--color-secondary3);
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  transition: filter 0.3s;
}
.single-article-header .single-article-header__meta .single-article-header__type:link:hover {
  filter: brightness(1.1);
}
.single-article-header .single-article-header__meta .single-article-header__type.--proposal {
  background-color: #044d34;
}
.single-article-header .single-article-header__meta .single-article-header__type.--case {
  background-color: #067345;
}
.single-article-header .single-article-header__meta .single-article-header__type.--voc {
  background-color: var(--color-accent);
  color: var(--color-secondary2);
}
.single-article-header .single-article-header__meta .single-article-header__type.--blog {
  background-color: #02a951;
  color: var(--color-white);
}
.single-article-header .single-article-header__meta .single-article-header__type.--column {
  background-color: var(--color-secondary3);
  color: var(--color-white);
}
.single-article-header .single-article-header__meta .single-article-header__type.--news {
  background-color: #02a9a1;
  color: var(--color-white);
}
.single-article-header .single-article-header__meta .single-article-header__date {
  font: var(--font-label2);
  color: var(--color-gray);
}
.single-article-header .single-article-header__title {
  font: var(--font-h2);
}
@media (width < 768px) {
  .single-article-header .single-article-header__title {
    font: var(--font-h4);
  }
}
.single-article-header .single-article-header__tags {
  display: flex;
  align-items: start;
  flex-wrap: wrap;
  gap: 8px;
}
.single-article-header .single-article-header__tags > a {
  padding: 6px 12px;
  font: var(--font-label2);
  border-radius: 100px;
  color: var(--color-secondary2);
  background-color: var(--color-secondary4);
  transition: background-color 0.3s;
}
.single-article-header .single-article-header__tags > a:hover {
  background-color: var(--color-secondary4d);
}

.single-article-image {
  margin-block: 48px;
}
.single-article-image > img {
  width: 100%;
  height: auto;
}

.single-article-lead {
  margin-block: 48px;
}

.single-article-body {
  margin-top: 48px;
}
@media (width < 768px) {
  .single-article-body {
    margin-top: 60px;
  }
}

.single-prevnext {
  display: grid;
  grid-template: "prev glue next" auto/1fr 1px 1fr;
  gap: 48px;
}
@media (width < 768px) {
  .single-prevnext {
    grid-template: ". next next" auto "glue glue glue" 1px "prev prev ." auto/44px 1fr 44px;
    gap: 12px 0;
  }
}
.js-has-pseudo [csstools-has-1a-37-2x-32-2v-30-2t-19-34-36-2t-3a-32-2t-3c-38-1m-2w-2p-37-14-1a-37-2x-32-2v-30-2t-19-34-36-2t-3a-32-2t-3c-38-2n-2n-30-2x-32-2z-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1e-15-15]:not(.does-not-exist):not(.does-not-exist) {
  --glue: var(--color-gray-light);
}
.single-prevnext:has(.single-prevnext__link:nth-child(2)) {
  --glue: var(--color-gray-light);
}
.single-prevnext::after {
  content: "";
  grid-area: glue;
  background: var(--glue, none);
}
.single-prevnext .single-prevnext__link {
  display: grid;
  gap: 0 20px;
}
.single-prevnext .single-prevnext__link.--prev {
  grid-area: prev;
  grid-template: "arrow label" auto "arrow title" auto/auto 1fr;
}
.single-prevnext .single-prevnext__link.--next {
  grid-area: next;
  grid-template: "label arrow" auto "title arrow" auto/1fr auto;
}
.single-prevnext .single-prevnext__link .single-prevnext__label {
  grid-area: label;
  font: var(--font-p2);
  color: var(--color-gray);
}
.single-prevnext .single-prevnext__link .single-prevnext__title {
  grid-area: title;
  font: var(--font-h6);
}
.single-prevnext .single-prevnext__link .single-prevnext__arrow {
  grid-area: arrow;
  align-content: center;
  color: var(--color-secondary3);
  font-size: 24px;
}

.single-back-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  font: var(--font-h6);
}
.single-back-link:hover {
  --arrow-scale: 1.2;
}
.single-back-link .icon-arrow-disc {
  font-size: 20px;
  color: var(--color-secondary3);
  transition: scale 0.3s;
  scale: var(--arrow-scale, 1);
}

.single-client-box {
  margin-block: 48px;
  padding: 32px;
  border-radius: 16px;
  background-color: var(--color-secondary4);
  overflow: hidden;
}
@media (width < 768px) {
  .single-client-box {
    padding: 24px;
    gap: 16px;
    border-radius: 12px;
  }
}

.single-client-grid {
  display: grid;
  gap: 24px;
  width: 100%;
}
.js-has-pseudo [csstools-has-1a-37-2x-32-2v-30-2t-19-2r-30-2x-2t-32-38-19-2v-36-2x-2s-1m-2w-2p-37-14-1a-37-2x-32-2v-30-2t-19-2r-30-2x-2t-32-38-19-2v-36-2x-2s-2n-2n-2x-31-2p-2v-2t-15]:not(.does-not-exist) {
  --meta-grid-column-span: 1;
}
.single-client-grid:has(.single-client-grid__image) {
  --meta-grid-column-span: 1;
}
.single-client-grid > .single-client-grid__meta {
  display: grid;
  gap: 24px;
}
.single-client-grid > .single-client-grid__image > img {
  margin-inline: auto;
  width: 100%;
  max-width: 480px;
  height: auto;
}
.single-client-grid > .single-client-grid__description p {
  font: var(--font-p2);
}
@media (width >= 1000px) {
  .single-client-grid {
    grid-template-columns: 1fr 300px;
    gap: 24px 32px;
  }
  .single-client-grid > .single-client-grid__meta {
    grid-area: 1/1;
    grid-column: span var(--meta-grid-column-span, 2);
  }
  .single-client-grid > .single-client-grid__image {
    grid-area: 1/2;
  }
  .single-client-grid > .single-client-grid__description {
    grid-area: 2/1;
    grid-column: span 2;
  }
}

.single-client-name {
  display: flex;
  align-items: start;
  gap: 32px;
}
@media (width < 768px) {
  .single-client-name {
    gap: 0 16px;
    flex-wrap: wrap;
  }
}
.single-client-name > .single-client-name__label {
  flex-shrink: 0;
  font: var(--font-label2);
  font-weight: bold;
  color: var(--color-primary);
  padding: 16px;
  border: 1px solid currentcolor;
  border-radius: 4px;
}
@media (width < 768px) {
  .single-client-name > .single-client-name__label {
    padding: 8px;
  }
}
.single-client-name > .single-client-name__value {
  margin-top: 5px;
  font: var(--font-h4);
}
@media (width < 768px) {
  .single-client-name > .single-client-name__value {
    margin-top: 2px;
    font: var(--font-h5);
  }
}

.single-client-info {
  display: grid;
  gap: 0.3em;
  font-size: 16px;
  line-height: 1.5;
}
.single-client-info > div > dt {
  font-weight: bold;
}
.single-client-info > div > dd {
  min-width: 0;
}
@media (width >= 768px) {
  .single-client-info > div {
    display: flex;
    gap: 1em;
  }
  .single-client-info > div > dt {
    flex-shrink: 0;
    font-weight: bold;
    min-width: 4em;
  }
}

.single-client-link {
  color: var(--color-primary);
}
.single-client-link > span {
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}
.single-client-link::after {
  content: "";
  display: inline-block;
  flex-shrink: 0;
  translate: 0 0.1em;
  width: 0.8em;
  height: 0.8em;
  background-color: currentcolor;
  -webkit-mask-image: var(--icon-external-link);
          mask-image: var(--icon-external-link);
}

.single-client-person {
  padding: 12px;
  background-color: var(--color-white);
  border-radius: 4px;
  display: flex;
  align-items: baseline;
  gap: 1em;
  font-size: 16px;
  line-height: 1.5;
}
.single-client-person > dt {
  flex-shrink: 0;
  font-weight: bold;
  display: flex;
  align-items: baseline;
  gap: 0.6em;
}
.single-client-person > dt::before {
  content: "";
  flex-shrink: 0;
  width: 4px;
  height: 1em;
  border-radius: 2px;
  background-color: var(--color-primary);
  translate: 0 2px;
}