@charset "UTF-8";
/** -------------------------------- **
	@mixin
*** ----------------------------------------------------------------- ***/
:root {
  --breakpoint-md: 768px;
  --breakpoint-lg: 1024px;
  --font-default: "GenJyuuGothicX", sans-serif;
  --header-height: 80px;
  --color-black: #000;
  --color-white: #fff;
  --color-gray1: #101010;
  --color-gray2: #AFAFAF;
  --color-gray3: #D0D0D0;
  --color-gray4: #8B8B8B;
  --color-red1: #EA2222;
  --color-blue1: #1D80D6;
  --color-blue2: #1A63A2;
  --color-blue3: #009BDD;
  --color-cyan1: #D0E0EF;
  --color-cyan2: #EFF6FA;
  --color-orange1: #EA5A2B;
  --color-green1: #3CB9B4;
  --color-green2: #77C688;
  --color-yellow: #F8FF3D;
  --color-txtbase: var(--color-gray1);
  --color-link: var(--color-gray1);
  --color-shiseikai: var(--color-black);
  --color-heiwa: var(--color-blue3);
  --color-youkoukan: var(--color-orange1);
  --color-welfare: var(--color-green2);
  --color-recruit: var(--color-green1);
  --nav-color: var(--color-blue1);
  --btn-color: var(--color-blue1);
  --pdflink-color: var(--color-cyan2);
  --morelink-color: var(--color-blue1);
  --arrow-color: var(--color-blue1);
  --page-ttl-color: var(--color-blue2);
  --contents-ttl-color: var(--color-blue1);
  --dotlist-color: var(--color-blue2);
  --circlelist-color: var(--color-blue2);
  --aside-nav: var(--color-cyan1);
  --nav-heiwa-color: var(--color-heiwa);
  --btn-heiwa-color: var(--color-heiwa);
  --pdflink-heiwa-color: var(--color-cyan2);
  --morelink-heiwa-color: var(--color-heiwa);
  --arrow-heiwa-color: var(--color-heiwa);
  --page-heiwa-ttl-color: var(--color-heiwa);
  --contents-heiwa-ttl-color: var(--color-heiwa);
  --dotlist-heiwa-color: var(--color-heiwa);
  --circlelist-heiwa-color: var(--color-heiwa);
  --aside-heiwa-nav: #CEEFFD;
  --nav-welfare-color: var(--color-welfare);
  --btn-welfare-color: var(--color-welfare);
  --pdflink-welfare-color: #E5EFE8;
  --morelink-welfare-color: var(--color-welfare);
  --arrow-welfare-color: var(--color-welfare);
  --page-welfare-ttl-color: var(--color-welfare);
  --contents-welfare-ttl-color: var(--color-welfare);
  --dotlist-welfare-color: var(--color-welfare);
  --circlelist-welfare-color: var(--color-welfare);
  --aside-welfare-nav: #D0EAD6;
  --nav-youkoukan-color: var(--color-youkoukan);
  --btn-youkoukan-color: var(--color-youkoukan);
  --pdflink-youkoukan-color: #FCEBE5;
  --morelink-youkoukan-color: var(--color-youkoukan);
  --arrow-youkoukan-color: var(--color-youkoukan);
  --page-youkoukan-ttl-color: var(--color-youkoukan);
  --contents-youkoukan-ttl-color: var(--color-youkoukan);
  --dotlist-youkoukan-color: var(--color-youkoukan);
  --circlelist-youkoukan-color: var(--color-youkoukan);
  --aside-youkoukan-nav: #FFDACE;
  --nav-recruit-color: var(--color-recruit);
  --btn-recruit-color: var(--color-recruit);
  --pdflink-recruit-color: #F7FAFA;
  --morelink-recruit-color: var(--color-recruit);
  --arrow-recruit-color: var(--color-recruit);
  --page-recruit-ttl-color: var(--color-recruit);
  --contents-recruit-ttl-color: var(--color-recruit);
  --dotlist-recruit-color: var(--color-recruit);
  --circlelist-recruit-color: var(--color-recruit);
  --aside-recruit-nav: #F7FAFA;
  --border-radius: 10px;
  --border-radius-large: 50px;
  --border-halfcircle: 60px;
  --border-circle: 50%;
  --shadow-default: 0 3px 6px rgba(0, 0, 0, 0.16);
  --easing-cubic1: cubic-bezier(0, 0, 0, 1);
}
/*
  Made by Elly Loel - https://ellyloel.com/
  With inspiration from:
    - Josh W Comeau - https://courses.joshwcomeau.com/css-for-js/treasure-trove/010-global-styles/
    - Andy Bell - https://piccalil.li/blog/a-modern-css-reset/
    - Adam Argyle - https://unpkg.com/open-props@1.3.16/normalize.min.css / https://codepen.io/argyleink/pen/KKvRORE

  Notes:
    - `:where()` is used to lower specificity for easy overriding.
*/
* {
  /* Remove default margin on everything */
  margin: 0;
  /* Remove default padding on everything */
  padding: 0;
  /* Calc `em` based line height, bigger line height for smaller font size and smaller line height for bigger font size: https://kittygiraudel.com/2020/05/18/using-calc-to-figure-out-optimal-line-height/ */
  line-height: calc(0.25rem + 1em + 0.25rem);
}

/* Use a more-intuitive box-sizing model on everything */
*,
::before,
::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* Remove border and set sensible defaults for backgrounds, on all elements except fieldset progress and meter */
*:where(:not(fieldset, progress, meter)) {
  border-width: 0;
  border-style: solid;
  background-repeat: no-repeat;
  background-origin: border-box;
}

html {
  /* Allow percentage-based heights in the application */
  block-size: 100%;
  /* Making sure text size is only controlled by font-size */
  -webkit-text-size-adjust: none;
}

/* Smooth scrolling for users that don't prefer reduced motion */
body {
  /* Allow percentage-based heights in the application */
  min-block-size: 100%;
  /* https://marco.org/2012/11/15/text-rendering-optimize-legibility */
  text-rendering: optimizespeed;
  /* https://developer.mozilla.org/en-US/docs/Web/CSS/scrollbar-gutter#example_2 */
  /* scrollbar-gutter: stable both-edges; Removed until this bug is fixed: https://bugs.chromium.org/p/chromium/issues/detail?id=1318404#c2 */
}

/* Improve media defaults */
:where(img, svg, video, canvas, audio, iframe, embed, object, hgroup) {
  display: block;
}

:where(img, svg, video) {
  max-inline-size: 100%;
  block-size: auto;
}

/* Remove stroke and set fill colour to the inherited font colour */
:where(svg) {
  fill: currentcolor;
  stroke: none;
}

/* SVG's without a fill attribute */
:where(svg):where(:not([fill])) {
  fill: none;
  /* Remove fill and set stroke colour to the inherited font colour */
  stroke: currentcolor;
  /* Rounded stroke */
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Set a size for SVG's without a width attribute */
:where(svg):where(:not([width])) {
  inline-size: 5rem;
}

/* Remove built-in form typography styles */
:where(input, button, textarea, select),
:where(input[type=file])::-webkit-file-upload-button {
  color: inherit;
  font: inherit;
  font-size: inherit;
  letter-spacing: inherit;
  word-spacing: inherit;
}

:where(button, [type=button], [type=reset], [type=submit]) {
  -ms-touch-action: manipulation;
      touch-action: manipulation;
}

/* Change textarea resize to vertical only and block only if the browser supports that */
:where(textarea) {
  resize: vertical;
}

@supports (resize: block) {
  :where(textarea) {
    resize: block;
  }
}
/* Avoid text overflows */
:where(p, h1, h2, h3, h4, h5, h6) {
  overflow-wrap: break-word;
}

/* Fix h1 font size inside article, aside, nav, and section */
h1 {
  font-size: 2em;
}

/* Position list marker inside */
:where(ul, ol) {
  list-style-position: inside;
  list-style-type: "";
}

/* More readable underline style for anchor tags without a class. This could be set on anchor tags globally, but it can cause conflicts. */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

/* Make it clear that interactive elements are interactive */
:where(a[href], area, button, input, label[for], select, summary, textarea, [tabindex]:not([tabindex*="-"])) {
  -ms-touch-action: manipulation;
  cursor: pointer;
      touch-action: manipulation;
}

:where(input[type=file]) {
  cursor: auto;
}

:where(input[type=file])::-webkit-file-upload-button {
  cursor: pointer;
}

:where(input[type=file])::-webkit-file-upload-button,
:where(input[type=file])::file-selector-button {
  cursor: pointer;
}

/* Animate focus outline */
:where(:not(:active)):focus-visible {
  outline-offset: 5px;
}

/* Make sure users can't select button text */
:where(input[type=file])::-webkit-file-upload-button {
  text-align: center;
  -webkit-user-select: none;
          user-select: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
}
:where(button, button[type], input[type=button], input[type=submit], input[type=reset]),
:where(input[type=file])::-webkit-file-upload-button,
:where(input[type=file])::file-selector-button {
  text-align: center;
  -webkit-user-select: none;
          user-select: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
}

/* Disabled cursor for disabled buttons */
:where(button, button[type], input[type=button], input[type=submit], input[type=reset])[disabled] {
  cursor: not-allowed;
}

html {
  font-weight: 400;
  font-size: 16px;
  line-height: 1.875;
  font-family: var(--font-default);
  scroll-padding-top: 100px;
}

body {
  overflow-x: clip;
  color: var(--color-txtbase);
}
.is-spnav body {
  overflow: hidden;
}
.is-modal body {
  overflow: hidden;
}

/* a link
--------------------------------------------- */
a {
  color: var(--color-link);
  text-decoration: none;
}

.header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  z-index: 10;
  position: sticky;
  top: 0;
  left: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  height: var(--header-height);
  -webkit-padding-start: 16px;
          padding-inline-start: 16px;
  background-color: var(--color-white);
}
.header__logo--link {
  -webkit-transition: opacity 0.4s var(--easing-cubic1);
  transition: opacity 0.4s var(--easing-cubic1);
}
.header__logo--link:focus-visible {
  opacity: 0.6;
}
.header__toggle {
  display: grid;
  position: relative;
  place-items: center;
  width: 80px;
  height: 80px;
  background-color: var(--nav-welfare-color);
  cursor: pointer;
  -webkit-transition: background-color 0.4s var(--easing-cubic1);
  transition: background-color 0.4s var(--easing-cubic1);
}
.header__toggle .is-label {
  position: absolute;
  bottom: 10px;
  left: 50%;
  translate: -50% 0;
  color: var(--color-white);
  font-weight: 500;
  font-size: calc(13 / 16 * 1rem);
  line-height: 1;
  pointer-events: none;
  -webkit-transition: opacity 0.4s var(--easing-cubic1);
  transition: opacity 0.4s var(--easing-cubic1);
}
.header__toggle::before, .header__toggle::after {
  display: block;
  position: absolute;
  left: 50%;
  width: 30px;
  height: 2px;
  background-color: var(--color-white);
  content: "";
  pointer-events: none;
  -webkit-transition: translate 0.4s 0.5s var(--easing-cubic1), rotate 0.4s var(--easing-cubic1), background-color 0.4s 0.5s var(--easing-cubic1);
  transition: translate 0.4s 0.5s var(--easing-cubic1), rotate 0.4s var(--easing-cubic1), background-color 0.4s 0.5s var(--easing-cubic1);
}
.header__toggle::before {
  top: calc(50% - 9px);
  translate: -50% -50%;
}
.header__toggle::after {
  top: calc(50% + 1px);
  translate: -50% -50%;
}
.is-spnav .header__toggle {
  background-color: transparent;
}
.is-spnav .header__toggle .is-label {
  opacity: 0;
}
.is-spnav .header__toggle::before, .is-spnav .header__toggle::after {
  background-color: var(--nav-welfare-color);
  -webkit-transition: translate 0.4s var(--easing-cubic1), rotate 0.4s 0.5s var(--easing-cubic1), background-color 0.4s var(--easing-cubic1);
  transition: translate 0.4s var(--easing-cubic1), rotate 0.4s 0.5s var(--easing-cubic1), background-color 0.4s var(--easing-cubic1);
}
.is-spnav .header__toggle::before {
  translate: -50% calc(-50% + 9px);
  rotate: 45deg;
}
.is-spnav .header__toggle::after {
  translate: -50% calc(-50% - 1px);
  rotate: -45deg;
}

.gnav {
  z-index: 5;
  position: fixed;
  top: var(--header-height);
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--color-white);
  -webkit-transition: opacity 0.4s var(--easing-cubic1);
  transition: opacity 0.4s var(--easing-cubic1);
}
.gnav[aria-hidden=true] {
  opacity: 0;
  pointer-events: none;
}
.gnav[aria-hidden=false] {
  opacity: 1;
  pointer-events: all;
}
.gnav__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: calc(100% - var(--header-height));
  -webkit-padding-after: 64px;
  padding-inline: 16px;
          padding-block-end: 64px;
  overflow: clip auto;
}
.gnav__menu--item {
  display: block;
  height: auto;
  border-bottom: 1px solid var(--color-gray3);
}
.gnav__menu--link {
  display: block;
  position: relative;
  padding: 12px 10px;
  font-weight: 500;
  line-height: 1.5;
  -webkit-transition: color 0.4s var(--easing-cubic1);
  font-size: calc(18 / 16 * 1rem);
  transition: color 0.4s var(--easing-cubic1);
}
.gnav__menu--link:focus-visible {
  color: var(--nav-welfare-color);
}
.gnav__menu--link::after {
  position: absolute;
  top: 50%;
  right: 10px;
  width: 14px;
  height: 14px;
  background-color: var(--nav-welfare-color);
  content: "";
  -webkit-mask: url("../images/common/arrow-bold.svg") center no-repeat;
          mask: url("../images/common/arrow-bold.svg") center no-repeat;
  -webkit-mask-size: contain;
  translate: 0 -50%;
          mask-size: contain;
}
.gnav__menu--item:hover .gnav__submenu {
  display: block;
}
.gnav__submenu {
  display: none;
  position: absolute;
  top: 100%;
  min-width: 150px;
  margin-left: -12px;
  background: #fff;
  list-style: none;
}
.gnav__submenu--item {
  padding: 8px 12px;
  border: 0 solid var(--contents-welfare-ttl-color);
  border-width: 0 1px 1px 1px;
}
.gnav__submenu--link {
  display: inline-block;
  -webkit-transition: color 0.4s var(--easing-cubic1);
  width: 100%;
  height: 100%;
  transition: color 0.4s var(--easing-cubic1);
}
.gnav__submenu--link:hover {
  color: var(--nav-welfare-color);
}
.gnav__ctalist {
  display: none;
}

.recruit-gnav {
  display: block;
}

.footer {
  position: relative;
  padding-inline: 16px;
  -webkit-margin-before: 120px;
          margin-block-start: 120px;
}
.footer__container {
  max-width: 1000px;
  margin-inline: auto;
}
.footer__inner {
  padding: 7px 10px;
  text-align: center;
}
.footer__copyright {
  color: var(--color-gray4);
  font-weight: 400;
  font-size: calc(13 / 16 * 1rem);
}
.footer__nav {
  display: none;
}
.footer__nav--link {
  font-weight: 500;
  line-height: 1.5;
  -webkit-transition: color 0.4s var(--easing-cubic1);
  font-size: calc(18 / 16 * 1rem);
  transition: color 0.4s var(--easing-cubic1);
}
.footer__nav--link:focus-visible {
  color: var(--nav-welfare-color);
}
.footer__submenu {
  display: none;
}
.footer__submenu--link:focus-visible {
  color: var(--nav-welfare-color);
}

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

/*
 * [note] セクション部分のフレーム（下層用）
 * ------------------------------------------------ */
.main__contents .section-wrap {
  margin-top: 80px;
}
.main__contents .section-wrap:first-of-type {
  margin-top: 0;
}

/*
 * [note] コンテンツ部分のフレーム（下層用）
 * ------------------------------------------------ */
.main__kv {
  position: relative;
  aspect-ratio: 335/160;
  max-width: 100%;
  height: 100%;
}
.main__kv img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.main__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  z-index: 1;
  position: relative;
  max-width: calc(100% - 32px);
  gap: clamp(40px, 4.39453125vw, 50px);
  -webkit-margin-before: 40px;
  margin-inline: auto;
          margin-block-start: 40px;
}
.main__contents {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 100%;
          flex: 0 1 100%;
}
.error404 .main__contents {
  max-width: 100%;
}
.main__aside {
  display: none;
}

.next-in-content {
  margin-top: 60px;
}

.content-inner-blok {
  margin-top: 30px;
}

/*
 * [note] パンくずリスト
 * ------------------------------------------------ */
.breadcrumbs {
  padding-inline: 20px;
  -webkit-margin-before: clamp(10px, 1.3671875vw, 15px);
          margin-block-start: clamp(10px, 1.3671875vw, 15px);
}
.breadcrumbs .is-label {
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  line-height: 1.4285714286;
  letter-spacing: calc(100 / 1000 * 1em);
}
.breadcrumbs__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.25em clamp(10px, 1.171875vw, 14px);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 1000px;
  margin-inline: auto;
}
.breadcrumbs__item {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: clamp(10px, 1.171875vw, 14px);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.breadcrumbs__item:not(:last-child)::after {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 12px;
  height: 12px;
  background-color: var(--color-txtbase);
  content: "";
  -webkit-mask: url("../images/common/arrow-medium.svg") center no-repeat;
          mask: url("../images/common/arrow-medium.svg") center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.breadcrumbs__link {
  color: var(--color-txtbase);
  -webkit-transition: color 0.4s var(--easing-cubic1);
  transition: color 0.4s var(--easing-cubic1);
}
.breadcrumbs__link:focus-visible {
  color: var(--nav-welfare-color);
}

/*
 * [note] PC用　下層ローカルナビゲーション
 * ------------------------------------------------ */
.localnav {
  position: sticky;
  top: calc(var(--header-height) + 20px);
  left: 0;
  max-width: 270px;
  padding-inline: 20px 0;
  padding-block: 16px;
  border-left: 3px solid var(--aside-welfare-nav);
}
.localnav__title {
  -webkit-padding-after: 16px;
          padding-block-end: 16px;
  border-bottom: 1px solid var(--color-gray3);
}
.localnav__title--link {
  font-weight: 300;
  font-size: calc(22 / 16 * 1rem);
  letter-spacing: calc(100 / 1000 * 1em);
}
.localnav__list {
  -webkit-margin-before: 26px;
          margin-block-start: 26px;
}
.localnav__item .is-welfare {
  color: var(--color-welfare) !important;
}
.localnav__item .is-welfare:hover {
  opacity: 0.5;
}
.localnav__item .is-youkoukan {
  color: var(--color-youkoukan) !important;
}
.localnav__item .is-youkoukan:hover {
  opacity: 0.5;
}
.localnav__item .is-prf {
  color: var(--color-welfare) !important;
}
.localnav__item .is-prf:hover {
  opacity: 0.5;
}
.localnav__link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: 10px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-block: 10px;
  font-weight: 400;
  -webkit-transition: color 0.4s var(--easing-cubic1);
  font-size: calc(16 / 16 * 1rem);
  letter-spacing: calc(100 / 1000 * 1em);
  transition: color 0.4s var(--easing-cubic1);
}
.localnav__link::before {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 14px;
  height: 14px;
  background-color: var(--btn-welfare-color);
  content: "";
  -webkit-mask: url("../images/common/arrow-bold.svg") center no-repeat;
          mask: url("../images/common/arrow-bold.svg") center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-transition: background-color 0.4s var(--easing-cubic1);
  transition: background-color 0.4s var(--easing-cubic1);
}
.localnav__link:focus-visible {
  color: var(--btn-welfare-color);
}
.localnav__link:focus-visible::before {
  background-color: var(--btn-welfare-color);
}
.localnav__link:not([aria-current=true]) {
  color: var(--color-gray2);
}
.localnav__link:not([aria-current=true])::before {
  background-color: var(--color-gray2);
}
.localnav__link:not([href*="#"]) {
  color: var(--color-base);
}
.localnav__link:not([href*="#"])::before {
  background-color: var(--btn-welfare-color);
}
.localnav__link[aria-current=page] {
  color: var(--btn-welfare-color);
}
.localnav__link[aria-current=page]::before {
  background-color: var(--btn-welfare-color);
}
.localnav__link[target=_blank] {
  color: var(--color-base);
}
.localnav__link[target=_blank]::after {
  width: 8px;
  height: 8px;
  background-color: currentcolor;
  content: "";
  -webkit-mask: url("../images/common/icon-blank2.svg") center no-repeat;
          mask: url("../images/common/icon-blank2.svg") center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-transition: background-color 0.4s var(--easing-cubic1);
  transition: background-color 0.4s var(--easing-cubic1);
}
.localnav__link[target=_blank]::before {
  background-color: var(--btn-welfare-color);
}
.localnav__link.is-shiseikai {
  color: var(--color-shiseikai);
}
.localnav__link.is-welfare {
  color: var(--color-welfare);
}
.localnav__link.is-welfare:focus-visible {
  color: var(--color-gray2);
}
.localnav__link.is-youkoukan {
  color: var(--color-youkoukan);
}
.localnav__link.is-youkoukan:focus-visible {
  color: var(--color-gray2);
}
.localnav__link.is-prf {
  color: var(--color-welfare);
}
.localnav__link.is-prf:focus-visible {
  color: var(--color-gray2);
}
.localnav__link.is-recruit {
  color: var(--color-recruit);
}
.localnav__link.is-recruit:focus-visible {
  color: var(--color-gray2);
}

/*
 * [note] タイトル、テキスト系パーツ
 * ------------------------------------------------ */
.title {
  position: relative;
}
.title b {
  font-weight: 500;
}
.error404 .title__hgroup {
  -webkit-margin-after: clamp(32px, 4.6875vw, 48px);
          margin-block-end: clamp(32px, 4.6875vw, 48px);
}
.title.is-xxlsize {
  -webkit-padding-start: clamp(32px, 3.90625vw, 48px);
          padding-inline-start: clamp(32px, 3.90625vw, 48px);
  -webkit-margin-after: clamp(20px, 2.44140625vw, 30px);
          margin-block-end: clamp(20px, 2.44140625vw, 30px);
  color: var(--page-welfare-ttl-color);
  font-weight: 300;
  font-size: clamp(24px, 2.9296875vw, 34px);
  letter-spacing: calc(200 / 1000 * 1em);
}
.title.is-xxlsize::before {
  position: absolute;
  top: clamp(12px, 1.7578125vw, 20px);
  left: 0;
  width: clamp(20px, 2.34375vw, 28px);
  height: 2px;
  background-color: var(--page-welfare-ttl-color);
  content: "";
}
.title.is-xlsize {
  -webkit-padding-after: 10px;
          padding-block-end: 10px;
  -webkit-margin-after: clamp(20px, 2.44140625vw, 30px);
          margin-block-end: clamp(20px, 2.44140625vw, 30px);
  border-bottom: 1px solid var(--contents-welfare-ttl-color);
  font-weight: 300;
  font-size: clamp(22px, 2.34375vw, 26px);
  letter-spacing: calc(140 / 1000 * 1em);
}
.title.is-lsize {
  -webkit-padding-after: 12px;
          padding-block-end: 12px;
  -webkit-margin-after: clamp(20px, 2.44140625vw, 30px);
          margin-block-end: clamp(20px, 2.44140625vw, 30px);
  border-bottom: 1px solid var(--color-gray3);
  font-weight: 400;
  font-size: calc(20 / 16 * 1rem);
  letter-spacing: calc(100 / 1000 * 1em);
}
.title.is-lsize::before {
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 50px;
  height: 1px;
  background-color: var(--page-welfare-ttl-color);
  content: "";
}
.title.is-msize {
  -webkit-padding-start: clamp(26px, 2.734375vw, 28px);
          padding-inline-start: clamp(26px, 2.734375vw, 28px);
  -webkit-margin-after: clamp(18px, 2.34375vw, 24px);
          margin-block-end: clamp(18px, 2.34375vw, 24px);
  font-weight: 400;
  font-size: clamp(18px, 1.953125vw, 20px);
  letter-spacing: calc(140 / 1000 * 1em);
}
.title.is-msize::before {
  position: absolute;
  top: clamp(12px, 1.3671875vw, 14px);
  left: 0;
  width: clamp(18px, 1.953125vw, 20px);
  height: 2px;
  background-color: var(--contents-welfare-ttl-color);
  content: "";
}
.title.is-msize-color {
  -webkit-margin-after: 14px;
          margin-block-end: 14px;
  color: var(--page-welfare-ttl-color);
  font-weight: 500;
  font-size: calc(22 / 16 * 1rem);
  line-height: 1.4444444444;
}
.title.is-ssize {
  -webkit-margin-after: 14px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
          margin-block-end: 14px;
  border-bottom: 1px solid var(--contents-welfare-ttl-color);
  color: var(--page-welfare-ttl-color);
  font-weight: 400;
  font-size: calc(18 / 16 * 1rem);
  line-height: 1.4444444444;
}

.text {
  font-weight: 400;
  font-size: calc(16 / 16 * 1rem);
  line-height: 1.875;
}
.text + .text {
  -webkit-margin-before: 1.8em;
          margin-block-start: 1.8em;
}
.text.is-xxlsize {
  font-size: calc(24 / 16 * 1rem);
}
.text.is-xlsize {
  font-size: calc(22 / 16 * 1rem);
}
.text.is-lsize {
  font-size: calc(18 / 16 * 1rem);
}
.text.is-ssize {
  font-size: calc(14 / 16 * 1rem);
  line-height: 1.7142857143;
}

.text-onlybox-mgt {
  margin-top: 30px;
}

.text-onlybox-mgb {
  margin-bottom: 20px;
}

.text-red {
  color: #EF3626;
}

.text-orange {
  color: #EA5A2B;
}

.text-blue {
  color: #009BDD;
}

.text-green {
  color: #77C688;
}

/*
 * [note] リスト系パーツ
 * ------------------------------------------------ */
.dotlist__item {
  position: relative;
  -webkit-padding-start: 18px;
          padding-inline-start: 18px;
}
.dotlist__item::before {
  display: block;
  position: absolute;
  top: 12px;
  left: 0;
  width: 12px;
  height: 2px;
  translate: 0 -50%;
  border-radius: var(--border-halfcircle);
  background-color: var(--dotlist-welfare-color);
  content: "";
}

.circlelist__item {
  position: relative;
  -webkit-padding-start: 16px;
          padding-inline-start: 16px;
}
.circlelist__item.square::before {
  position: absolute;
  top: 3px;
  left: -3px;
  background-color: transparent;
  content: "♦";
  color: #009BDD;
  font-size: 13px;
}
.circlelist__item::before {
  display: block;
  position: absolute;
  top: 12px;
  left: 0;
  width: 6px;
  height: 6px;
  translate: 0 -50%;
  border-radius: var(--border-circle);
  background-color: var(--circlelist-welfare-color);
  content: "";
}
.circlelist-red__item {
  position: relative;
  -webkit-padding-start: 16px;
          padding-inline-start: 16px;
}
.circlelist-red__item::before {
  display: block;
  position: absolute;
  top: 12px;
  left: 0;
  width: 6px;
  height: 6px;
  translate: 0 -50%;
  border-radius: var(--border-circle);
  background-color: #EF3626;
  content: "";
}
.circlelist-orange__item {
  position: relative;
  -webkit-padding-start: 16px;
          padding-inline-start: 16px;
}
.circlelist-orange__item::before {
  display: block;
  position: absolute;
  top: 12px;
  left: 0;
  width: 6px;
  height: 6px;
  translate: 0 -50%;
  border-radius: var(--border-circle);
  background-color: #EA5A2B;
  content: "";
}
.circlelist-green__item {
  position: relative;
  -webkit-padding-start: 16px;
          padding-inline-start: 16px;
}
.circlelist-green__item::before {
  display: block;
  position: absolute;
  top: 12px;
  left: 0;
  width: 6px;
  height: 6px;
  translate: 0 -50%;
  border-radius: var(--border-circle);
  background-color: #77C688;
  content: "";
}

.numlist {
  -webkit-margin-start: 18px;
          margin-inline-start: 18px;
}
.numlist__item {
  position: relative;
  list-style: decimal outside;
}
.numlist__item::marker {
  color: var(--circlelist-welfare-color);
}
.numlist-big {
  width: 85%;
  margin: 0 auto;
  padding: 0;
  list-style: none;
}
.numlist-big__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 10px 0;
  gap: 20px;
  font-size: 18px;
}
.numlist-big__marker {
  color: var(--circlelist-welfare-color);
  font-size: 26px;
}

.numbg-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
}
.numbg-list__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 20px;
  gap: 40px;
  border-radius: 10px;
  background-color: #F5F8FA;
}
.numbg-list__item-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
}
.numbg-list__item-number {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 70px;
  font-size: 18px;
}
.numbg-list__item-number::after {
  position: absolute;
  right: -20px;
  height: 100%;
  border-right: 1px solid #D8D8D8;
  content: "";
}
.numbg-list__img {
  width: 100px;
  height: auto;
}

.num-nobg-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
}
.num-nobg-list__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 15px;
  gap: 40px;
}
.num-nobg-list__item-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.num-nobg-list__item-text-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5px;
}
.num-nobg-list__item-number {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-bottom: 3px;
  border-bottom: 2px solid #77C688;
  color: #30BC4E;
  font-size: 18px;
}
.num-nobg-list__img {
  width: 100px;
  height: auto;
}

.schedule-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
}
.schedule-list::before {
  position: absolute;
  top: 22px;
  bottom: 0;
  left: -1px;
  width: 1px;
  background-color: var(--btn-welfare-color);
  content: "";
}
.schedule-list__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.schedule-list__item::after {
  position: absolute;
  top: 22px;
  left: 0;
  width: 16px;
  height: 1px;
  background-color: var(--btn-welfare-color);
  content: "";
}
.schedule-list__item:last-child::before {
  position: absolute;
  top: 24px;
  bottom: 0;
  left: -1px;
  width: 1px;
  background-color: #fff;
  content: "";
}
.schedule-list__item:nth-child(even) .schedule-list__info {
  background-color: var(--aside-welfare-nav);
}
.schedule-list__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  max-width: 380px;
  padding: 10px 0 10px 25px;
  gap: 20px;
}
.schedule-list__time {
  width: 60px;
  color: #30BC4E;
  font-weight: 500;
  font-size: 18px;
}
.schedule-list__content {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  font-weight: 500;
  font-size: 16px;
}
.schedule-list-color-text {
  color: #30BC4E;
}

.start-procedure-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 20px 0;
  gap: 70px;
}
.start-procedure-list__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  max-width: 120px;
  height: 120px;
  padding: 10px;
  border: 1px solid #009BDD;
  font-weight: 500;
  font-size: 16px;
  text-align: center;
}
.start-procedure-list__item::after {
  position: absolute;
  right: -55px;
  width: 36px;
  height: 18px;
  background-image: url("../images/common/arrow-icon.svg");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  content: "";
}
.start-procedure-list__item:last-child::after {
  display: none;
}

.start-usingflow-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  max-width: 670px;
  margin: 50px auto 0;
  gap: 20px;
}
.start-usingflow-img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.start-usingflow-img::after {
  position: absolute;
  right: -10px;
  border-top: 2px solid #333;
  border-right: 2px solid #333;
  content: "";
  -webkit-transform: rotate(45deg);
  width: 8px;
  height: 8px;
          transform: rotate(45deg);
}
.start-usingflow-flag {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.start-usingflow-flag::before {
  position: absolute;
  top: -15px;
  right: 16px;
  width: 30px;
  height: 34px;
  background-image: url("../images/welfare/facility-guide/flag.png");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  content: "";
}
.start-usingflow-text {
  padding-top: 15px;
  color: #30BC4E;
  font-weight: 500;
  font-size: 15px;
  text-align: center;
}
.start-usingflow-subtext {
  width: 90px;
  padding-top: 5px;
  font-weight: 500;
  font-size: 13px;
  text-align: center;
}

/*
 * [note] 画像パーツ
 * ------------------------------------------------ */
.image {
  display: inline-grid;
  margin-inline: auto;
  gap: 5px;
}

.facility-introduction__main-img img {
  border-radius: 6px;
}
.facility-introduction__indoor--list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 30px;
  gap: 10px;
}
.facility-introduction__indoor--img img {
  border-radius: 6px;
}

.facility-infobox {
  width: 100%;
  margin-top: 30px;
  margin-bottom: 30px;
  padding-bottom: 30px;
  border-bottom: 1px solid #D3D3D3;
}

/*
 * [note] テキストリンク、ボタン用パーツ
 * ------------------------------------------------ */
.btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: 6px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border: 1px solid var(--btn-welfare-color);
  border-radius: var(--border-halfcircle);
  -webkit-transition: background-color 0.4s var(--easing-cubic1), color 0.4s var(--easing-cubic1);
  transition: background-color 0.4s var(--easing-cubic1), color 0.4s var(--easing-cubic1);
}
.btn.is-primary {
  min-width: 260px;
  padding: 11px 24px;
  gap: 8px;
  background-color: var(--btn-welfare-color);
  color: var(--color-white);
}
.btn.is-primary .is-label {
  font-weight: 400;
  font-size: calc(20 / 16 * 1rem);
  letter-spacing: calc(100 / 1000 * 1em);
}
.btn.is-primary::before {
  width: 14px;
  height: 14px;
  background-color: currentcolor;
  content: "";
  -webkit-mask: url("../images/common/arrow-light.svg") center no-repeat;
          mask: url("../images/common/arrow-light.svg") center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.btn.is-primary:focus-visible {
  background-color: var(--color-white);
  color: var(--btn-welfare-color);
}
.btn.is-secondary {
  width: 100%;
  padding: 8px 16px;
  gap: 6px;
  background-color: var(--color-white);
  color: var(--btn-welfare-color);
  font-weight: 500;
  font-size: calc(13 / 16 * 1rem);
}
.btn.is-secondary:focus-visible {
  background-color: var(--btn-welfare-color);
  color: var(--color-white);
}
.btn.is-mail::before {
  width: 20px;
  height: 20px;
  background-color: currentcolor;
  content: "";
  -webkit-mask: url("../images/common/icon-mail.svg") center no-repeat;
          mask: url("../images/common/icon-mail.svg") center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}

.link.is-arrow {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: 6px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: color 0.4s var(--easing-cubic1);
  transition: color 0.4s var(--easing-cubic1);
}
.link.is-arrow::before {
  width: 14px;
  height: 14px;
  background-color: var(--btn-welfare-color);
  content: "";
  -webkit-mask: url("../images/common/arrow-bold.svg") center no-repeat;
          mask: url("../images/common/arrow-bold.svg") center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-transition: background-color 0.4s var(--easing-cubic1);
  transition: background-color 0.4s var(--easing-cubic1);
}
.link.is-arrow:focus-visible {
  color: var(--btn-welfare-color);
}
.link.is-pdf {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: 8px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 8px;
  background-color: var(--pdflink-welfare-color);
  -webkit-transition: color 0.4s var(--easing-cubic1), background-color 0.4s var(--easing-cubic1);
  transition: color 0.4s var(--easing-cubic1), background-color 0.4s var(--easing-cubic1);
}
.link.is-pdf .is-label {
  font-weight: 500;
  font-size: clamp(14px, 1.46484375vw, 15px);
}
.link.is-pdf::after {
  width: 26px;
  height: 26px;
  background: url("../images/common/icon-pdf.svg") center no-repeat;
  background-size: contain;
  content: "";
}
.link.is-pdf:focus-visible {
  color: var(--btn-welfare-color);
  text-decoration-line: underline;
  text-decoration-color: var(--btn-welfare-color);
  text-decoration-thickness: 1px;
  text-underline-offset: 6px;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
}
.link.is-blank {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: 2px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-margin-end: 4px;
          margin-inline-end: 4px;
  -webkit-transition: color 0.4s var(--easing-cubic1);
  transition: color 0.4s var(--easing-cubic1);
}
.link.is-blank::after {
  width: 14px;
  height: 14px;
  background-color: var(--btn-welfare-color);
  content: "";
  -webkit-mask: url("../images/common/icon-blank.svg") center no-repeat;
          mask: url("../images/common/icon-blank.svg") center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-transition: background-color 0.4s var(--easing-cubic1);
  transition: background-color 0.4s var(--easing-cubic1);
}
.link.is-blank:focus-visible {
  color: var(--btn-welfare-color);
}
.link.is-more {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  position: relative;
  gap: 6px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-width: 200px;
  -webkit-padding-after: 10px;
          padding-block-end: 10px;
  color: var(--morelink-welfare-color);
  -webkit-transition: color 0.4s var(--easing-cubic1);
  transition: color 0.4s var(--easing-cubic1);
}
.link.is-more .is-label {
  font-weight: 500;
  font-size: clamp(16px, 1.7578125vw, 18px);
}
.link.is-more::after {
  width: 14px;
  height: 14px;
  margin-left: auto;
  background-color: var(--morelink-welfare-color);
  content: "";
  -webkit-mask: url("../images/common/arrow-bold.svg") center no-repeat;
          mask: url("../images/common/arrow-bold.svg") center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.link.is-more::before {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: var(--morelink-welfare-color);
  content: "";
  -webkit-transform-origin: left;
          transform-origin: left;
}
.link.is-more:focus-visible::before {
  -webkit-animation: morelink 0.4s var(--easing-cubic1) forwards;
          animation: morelink 0.4s var(--easing-cubic1) forwards;
}

.pagetop {
  display: none;
}
.pagetop__link {
  display: grid;
  position: relative;
  place-items: center;
  width: 100%;
  height: 100%;
  border: 2px solid var(--btn-welfare-color);
  border-radius: var(--border-circle);
  background-color: var(--color-white);
  -webkit-transition: background-color 0.4s var(--easing-cubic1);
  transition: background-color 0.4s var(--easing-cubic1);
}
.pagetop__link::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 20px;
  background-color: var(--btn-welfare-color);
  content: "";
  -webkit-mask: url("../images/common/arrow-large.svg") center no-repeat;
          mask: url("../images/common/arrow-large.svg") center no-repeat;
  -webkit-mask-size: contain;
  translate: -50% -50%;
  rotate: -90deg;
          mask-size: contain;
  -webkit-transition: background-color 0.4s var(--easing-cubic1);
  transition: background-color 0.4s var(--easing-cubic1);
}
.pagetop__link .is-label {
  color: var(--color-white);
  font-size: 0;
}
.pagetop__link:focus-visible {
  background-color: var(--btn-welfare-color);
}
.pagetop__link:focus-visible::before {
  background-color: var(--color-white);
}

/*
 * MARK:アンカーリンク
 * ------------------------------------------------ */
.anchor {
  display: grid;
  grid-template-columns: repeat(2, minmax(min(138px, 100%), 1fr));
  gap: 24px 10px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.anchor__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-padding-after: 16px;
          padding-block-end: 16px;
  color: var(--color-welfare);
  font-weight: 400;
  font-size: clamp(14px, 1.5625vw, 18px);
  -webkit-transition: color 0.4s var(--easing-cubic1);
  transition: color 0.4s var(--easing-cubic1);
}
.anchor__link::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: var(--color-welfare);
  content: "";
  -webkit-transition: background-color 0.4s var(--easing-cubic1);
  transition: background-color 0.4s var(--easing-cubic1);
}
.anchor__link:focus-visible {
  color: var(--color-gray2);
}
.anchor__link:focus-visible::after {
  background-color: var(--color-gray2);
}
.anchor__link[aria-current=page] {
  color: var(--color-gray2);
}
.anchor__link[aria-current=page]::after {
  background-color: var(--color-gray2);
}
.anchor__link[aria-current=page]::before {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 2px;
  height: 18px;
  translate: calc(-50% - 5px) calc(100% - 2px);
  rotate: -30deg;
  background-color: var(--color-gray2);
  content: "";
}

.contsanchor-wrap {
  margin-bottom: 30px;
}

.contsanchor {
  display: grid;
  grid-template-columns: repeat(2, minmax(min(114px, 100%), 1fr));
  gap: 14px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-inline: 20px;
  padding-block: 20px;
  border-radius: var(--border-radius);
  background-color: var(--color-cyan2);
}
.contsanchor__link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: 10px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: var(--color-base);
  font-weight: 400;
  -webkit-transition: color 0.4s var(--easing-cubic1);
  font-size: calc(16 / 16 * 1rem);
  letter-spacing: calc(100 / 1000 * 1em);
  transition: color 0.4s var(--easing-cubic1);
}
.contsanchor__link::before {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 14px;
  height: 14px;
  background-color: var(--arrow-welfare-color);
  content: "";
  -webkit-mask: url("../images/common/arrow-bold.svg") center no-repeat;
          mask: url("../images/common/arrow-bold.svg") center no-repeat;
  -webkit-mask-size: contain;
  rotate: 90deg;
          mask-size: contain;
  -webkit-transition: background-color 0.4s var(--easing-cubic1);
  transition: background-color 0.4s var(--easing-cubic1);
}
.contsanchor__link:focus-visible {
  color: var(--btn-welfare-color);
}
.contsanchor__link:focus-visible::before {
  background-color: var(--btn-welfare-color);
}

/*
 * [note] スマホ固定 CTAボタン
 * ------------------------------------------------ */
.fixedcta {
  display: grid;
  grid-template-columns: 1fr 38.6666%;
  width: 100dvw;
  height: 64px;
  margin-inline: -16px;
}
.fixedcta.is-fixed {
  z-index: 10;
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  margin-inline: 0;
}
.is-spnav .fixedcta {
  z-index: 10;
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  margin-inline: 0;
}
.fixedcta__wrap {
  height: 64px;
}
.fixedcta__tel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
  border: 1px solid var(--btn-welfare-color);
  background-color: var(--btn-welfare-color);
  color: var(--color-white);
}
.fixedcta__tel::before {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 38px;
  height: 38px;
  background-color: currentcolor;
  content: "";
  -webkit-mask: url("../images/common/icon-tel.svg") center no-repeat;
          mask: url("../images/common/icon-tel.svg") center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.fixedcta__tel .is-unit {
  display: block;
  color: currentcolor;
  font-weight: 500;
  font-size: calc(13 / 16 * 1rem);
  line-height: 1;
}
.fixedcta__tel .is-number {
  display: block;
  color: currentcolor;
  font-weight: 900;
  font-size: calc(21 / 16 * 1rem);
  line-height: 1;
}
.fixedcta__contact {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 6px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
  border: 1px solid var(--btn-welfare-color);
  background-color: var(--color-white);
  color: var(--btn-welfare-color);
}
.fixedcta__contact::before {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 26px;
  height: 26px;
  background-color: currentcolor;
  content: "";
  -webkit-mask: url("../images/common/icon-mail.svg") center no-repeat;
          mask: url("../images/common/icon-mail.svg") center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.fixedcta__contact .is-label {
  display: block;
  color: currentcolor;
  font-weight: 500;
  font-size: calc(13 / 16 * 1rem);
  line-height: 1;
}

/*
 * [note] 表組み系パーツ
 * ------------------------------------------------ */
.table {
  width: 100%;
  border-collapse: collapse;
}
.table.is-fixed {
  table-layout: fixed;
}
.table__celttl {
  width: 110px;
  padding-inline: 0 10px;
  padding-block: 12px;
  font-weight: 500;
  text-align: left;
  vertical-align: top;
}
.table__celbody {
  padding-inline: 10px 0;
  padding-block: 12px;
  font-weight: 400;
}
.table__wrap {
  width: 100%;
  overflow-x: auto;
}
.table__wrap .table {
  width: 200%;
  max-width: 670px;
}
.table__wrap .table__celttl {
  width: 100px;
}
.table__row .table__celttl,
.table__row .table__celbody {
  border-bottom: 1px solid var(--color-gray3);
}

.table-wrapper {
  width: 100%;
  overflow-x: auto;
}

.table-days {
  font-weight: 500;
  font-size: 14px;
  text-align: end;
}

.table-col3 {
  width: 100%;
  margin: 10px auto 20px;
  border-collapse: collapse;
}
.table-col3__celttl {
  width: 100px;
  padding-inline: 10px 15px;
  padding-block: 12px;
  font-weight: 500;
  text-align: left;
  vertical-align: top;
}
.table-col3__celbody {
  padding-inline: 5px 10px;
  padding-block: 12px;
  font-weight: 400;
}
.table-col3__row2 .table-col3__celttl,
.table-col3__row2 .table-col3__celbody {
  border-bottom: 1px solid var(--color-gray3);
}
.table-col3__row2:first-child .table-col3__celttl,
.table-col3__row2:first-child .table-col3__celbody {
  border-top: 1px solid var(--color-gray3);
}

.welfare-table-color {
  color: #30BC4E;
  font-weight: 700;
  font-size: 18px;
}

/*
 * [note] 表組み系パーツ
 * ------------------------------------------------ */
.column {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(20px, 2.44140625vw, 30px);
}
.column__image {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px clamp(20px, 2.44140625vw, 30px);
}
.column__block {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 100%;
          flex: 0 1 100%;
}
.column__block:has(.image) {
  text-align: center;
}
.column__block.is-card {
  display: grid;
  gap: 12px;
}
.column__block.is-card:has(.image) {
  text-align: left;
}
.column__block.is-card .table__celttl {
  width: 90px;
  padding-inline: 0 30px;
  padding-block: 10px;
  font-size: calc(14 / 16 * 1rem);
}
.column__block.is-card .table__celbody {
  padding-inline: 0 20px;
  padding-block: 10px;
  font-size: calc(14 / 16 * 1rem);
}
.payment-img-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 20px;
  margin-bottom: 10px;
  gap: 20px;
}

/*
 * [note] フォーム用パーツ
 * ------------------------------------------------ */
.forms__item {
  display: grid;
  padding-block: 16px;
  gap: 10px;
}
.forms__label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
  font-weight: 400;
  font-size: clamp(16px, 1.7578125vw, 18px);
}
.forms__label .is-most {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 4px 12px;
  border: 1px solid var(--color-red1);
  border-radius: var(--border-halfcircle);
  color: var(--color-red1);
  font-weight: 500;
  font-size: calc(12 / 16 * 1rem);
  line-height: 1;
}
.forms__label .is-any {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 4px 12px;
  border: 1px solid var(--btn-welfare-color);
  border-radius: var(--border-halfcircle);
  color: var(--btn-welfare-color);
  font-weight: 500;
  font-size: calc(12 / 16 * 1rem);
  line-height: 1;
}
.forms__inputarea {
  display: grid;
  gap: 10px;
}
.forms__notice {
  -webkit-margin-before: clamp(24px, 3.90625vw, 56px);
          margin-block-start: clamp(24px, 3.90625vw, 56px);
  font-size: calc(14 / 16 * 1rem);
}
.forms__notice .link {
  position: relative;
  color: var(--btn-welfare-color);
}
.forms__notice .link::before {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: var(--morelink-welfare-color);
  content: "";
  -webkit-transform-origin: left;
          transform-origin: left;
}
.forms__notice .link:focus-visible::before {
  -webkit-animation: morelink 0.4s var(--easing-cubic1) forwards;
          animation: morelink 0.4s var(--easing-cubic1) forwards;
}
.forms__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
.forms__list.is-horizon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column wrap;
          flex-flow: column wrap;
  gap: 20px;
}
.forms__list--item {
  display: inline-block;
}
.forms__btnarea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 24px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-margin-before: clamp(24px, 3.90625vw, 56px);
          margin-block-start: clamp(24px, 3.90625vw, 56px);
}
.forms__btnarea .is-secondary {
  min-width: 260px;
  padding: 11px 24px;
  gap: 8px;
}
.forms__btnarea .is-secondary .is-label {
  font-size: calc(20 / 16 * 1rem);
  letter-spacing: calc(100 / 1000 * 1em);
}
.forms__input {
  height: 48px;
  padding: 4px 12px;
  border: 1px solid #E2E2E2;
  background-color: var(--color-white);
  font-size: calc(16 / 16 * 1rem);
}
.forms__input.is-small {
  max-width: 120px;
}
.forms__input.is-medium {
  max-width: 300px;
}
.forms__input.is-large {
  max-width: 100%;
}
.forms__input::-webkit-input-placeholder {
  color: var(--color-gray4);
}
.forms__input::-moz-placeholder {
  color: var(--color-gray4);
}
.forms__input:-ms-input-placeholder {
  color: var(--color-gray4);
}
.forms__input::-ms-input-placeholder {
  color: var(--color-gray4);
}
.forms__input::placeholder {
  color: var(--color-gray4);
}
.forms__textarea {
  min-height: 150px;
  padding: 4px 12px;
  border: 1px solid #E2E2E2;
  background-color: var(--color-white);
  font-size: calc(16 / 16 * 1rem);
}
.forms__textarea::-webkit-input-placeholder {
  color: var(--color-gray4);
}
.forms__textarea::-moz-placeholder {
  color: var(--color-gray4);
}
.forms__textarea:-ms-input-placeholder {
  color: var(--color-gray4);
}
.forms__textarea::-ms-input-placeholder {
  color: var(--color-gray4);
}
.forms__textarea::placeholder {
  color: var(--color-gray4);
}
.forms__select {
  height: 48px;
  padding: 4px 12px;
  border: 1px solid #E2E2E2;
  background-color: var(--color-white);
  font-size: calc(16 / 16 * 1rem);
}
.forms__select.is-small {
  max-width: 120px;
}
.forms__select.is-medium {
  max-width: 300px;
}
.forms__select.is-large {
  max-width: 100%;
}
.forms__select::-webkit-input-placeholder {
  color: var(--color-gray4);
}
.forms__select::-moz-placeholder {
  color: var(--color-gray4);
}
.forms__select:-ms-input-placeholder {
  color: var(--color-gray4);
}
.forms__select::-ms-input-placeholder {
  color: var(--color-gray4);
}
.forms__select::placeholder {
  color: var(--color-gray4);
}
.forms__radio {
  -webkit-margin-end: 2px;
          margin-inline-end: 2px;
  accent-color: var(--color-blue1);
}
.forms__radio--label {
  font-size: calc(16 / 16 * 1rem);
}
.forms__checkbox {
  -webkit-margin-end: 2px;
          margin-inline-end: 2px;
  accent-color: var(--color-blue1);
}
.forms__checkbox--label {
  font-size: calc(16 / 16 * 1rem);
}

.snow-monkey-form .is-privacypolicy .smf-item__label {
  display: none;
}
.snow-monkey-form[data-screen=confirm] .is-privacypolicy .smf-item__label {
  display: block;
}
.snow-monkey-form[data-screen=confirm] .is-privacypolicy .smf-item__description {
  display: none;
}
.snow-monkey-form .smf-action {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 24px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-margin-before: clamp(24px, 3.90625vw, 56px);
          margin-block-start: clamp(24px, 3.90625vw, 56px);
}
.snow-monkey-form .smf-action .smf-button-control__control {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: 6px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border: 1px solid var(--btn-welfare-color);
  border-radius: var(--border-halfcircle);
  -webkit-transition: background-color 0.4s var(--easing-cubic1), color 0.4s var(--easing-cubic1);
  transition: background-color 0.4s var(--easing-cubic1), color 0.4s var(--easing-cubic1);
}
.snow-monkey-form .smf-action .smf-button-control__control[data-action=confirm], .snow-monkey-form .smf-action .smf-button-control__control[data-action=complete] {
  min-width: 260px;
  padding: 11px 24px;
  gap: 8px;
  background: var(--btn-welfare-color);
  color: var(--color-white);
  font-weight: 400;
  font-size: calc(20 / 16 * 1rem);
  letter-spacing: calc(100 / 1000 * 1em);
}
.snow-monkey-form .smf-action .smf-button-control__control[data-action=confirm]::before, .snow-monkey-form .smf-action .smf-button-control__control[data-action=complete]::before {
  width: 14px;
  height: 14px;
  background: currentcolor;
  content: "";
  -webkit-mask: url("../images/common/arrow-light.svg") center no-repeat;
          mask: url("../images/common/arrow-light.svg") center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.snow-monkey-form .smf-action .smf-button-control__control[data-action=confirm]:focus-visible, .snow-monkey-form .smf-action .smf-button-control__control[data-action=complete]:focus-visible {
  background: var(--color-white);
  color: var(--btn-welfare-color);
}
.snow-monkey-form .smf-action .smf-button-control__control[data-action=back] {
  min-width: 260px;
  padding: 11px 24px;
  gap: 8px;
  background: var(--color-white);
  color: var(--btn-welfare-color);
  font-weight: 400;
  font-size: calc(20 / 16 * 1rem);
  letter-spacing: calc(100 / 1000 * 1em);
}
.snow-monkey-form .smf-action .smf-button-control__control[data-action=back]:focus-visible {
  background: var(--btn-welfare-color);
  color: var(--color-white);
}
.snow-monkey-form .smf-action .smf-button-control + .smf-button-control {
  margin-left: 0;
}

/*
 * [Snow Monkey Forms]
 * ------------------------------------------------ */
.tel-box {
  margin-top: 30px;
}

.tel-destination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  max-width: 420px;
  color: #1A63A2;
  font-weight: 700;
  font-size: 20px;
}

.tel-number {
  font-weight: 700;
  font-size: 38px;
}

.tel-text {
  font-weight: 700;
  font-size: 18px;
}

.form-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 50px;
}

.smf-text-control {
  padding-top: 10px;
}

.smf-textarea-control {
  padding-top: 10px;
}

.wp-block-snow-monkey-forms-item.smf-item {
  margin-top: 30px;
}

.smf-text-control__control {
  width: 100%;
}

.has-vivid-red-color {
  margin-left: 20px;
  padding: 1px 8px;
  border: 1px solid #cf2e2e;
  border-radius: 100px;
  color: #cf2e2e;
}

.smf-item__description a:hover {
  border-bottom: 1px solid var(--color-welfare);
}
.smf-item__description a::after {
  display: inline-block;
  position: relative;
  top: 2px;
  left: 2px;
  width: 20px;
  height: 14px;
  background-color: var(--btn-welfare-color);
  content: "";
  -webkit-mask: url("../images/common/icon-blank.svg") center no-repeat;
          mask: url("../images/common/icon-blank.svg") center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-transition: background-color 0.4s var(--easing-cubic1);
  transition: background-color 0.4s var(--easing-cubic1);
}

.form-welfare-buttom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  max-width: 280px;
  margin: 50px auto 0;
  border: 1px solid var(--color-welfare);
  border-radius: 25px;
  background-color: var(--color-welfare);
  color: var(--color-welfare);
  -webkit-transition: background-color 0.3s ease, color 0.3s ease-out;
  transition: background-color 0.3s ease, color 0.3s ease-out;
}
.form-welfare-buttom:hover {
  background-color: var(--color-white);
}

.form-welfare-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  padding: 10px 20px 10px 30px;
  color: var(--color-white);
  font-weight: 400;
  font-size: 20px;
}
.form-welfare-link:hover {
  color: var(--color-welfare);
}
.form-welfare-link:hover::before {
  border-top: 1px solid var(--color-welfare);
  border-right: 1px solid var(--color-welfare);
}
.form-welfare-link::before {
  position: absolute;
  left: 50px;
  width: 12px;
  height: 12px;
  rotate: 45deg;
  border-top: 1px solid var(--color-white);
  border-right: 1px solid var(--color-white);
  content: "";
  -webkit-transition: border 0.3s ease !important;
  transition: border 0.3s ease !important;
}

/*
 * [note] スマホナビ、フッターで使用する共通の連絡先パーツ
 * ------------------------------------------------ */
.orginfo__name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-margin-after: 5px;
          margin-block-end: 5px;
}
.orginfo__name--link {
  -webkit-transition: opacity 0.4s var(--easing-cubic1);
  transition: opacity 0.4s var(--easing-cubic1);
}
.orginfo__name--link:focus-visible {
  opacity: 0.6;
}
.orginfo__desc {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 20px 1em;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.orginfo__inquiry {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  gap: 0.5em;
}
.orginfo__inquiry .is-unit {
  font-size: calc(14 / 16 * 1rem);
}
.orginfo__inquiry .is-number {
  font-size: calc(14 / 16 * 1rem);
}
.orginfo__inquiry.is-tel {
  grid-area: tel;
}
.orginfo__inquiry.is-tel .is-number {
  color: var(--btn-welfare-color);
  font-weight: 500;
  font-size: calc(28 / 16 * 1rem);
}
.orginfo__address {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
  gap: 0.5em;
  font-style: normal;
}
.orginfo__address .is-zip {
  font-size: calc(16 / 16 * 1rem);
}
.orginfo__address .is-address {
  font-size: calc(16 / 16 * 1rem);
}
.orginfo__contact {
  display: none;
}
.header .orginfo {
  -webkit-padding-before: 32px;
          padding-block-start: 32px;
  -webkit-margin-before: auto;
          margin-block-start: auto;
}
.footer .orginfo {
  -webkit-margin-before: 32px;
          margin-block-start: 32px;
}

.orginfo__welfare {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-margin-before: 30px;
          margin-block-start: 30px;
}
.orginfo__welfare-contact {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  max-width: 230px;
  margin: 0 auto;
}

/*
 * [note] スマホナビ、フッターで使用する共通の施設リストパーツ
 * ------------------------------------------------ */
.facilities-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 20px 20px 0 20px;
  border-top: 1px solid var(--color-gray3);
  -webkit-margin-before: 20px;
          margin-block-start: 20px;
  -webkit-margin-after: 20px;
          margin-block-end: 20px;
}
.facilities-top a {
  -webkit-transition: opacity 0.4s ease-out;
  transition: opacity 0.4s ease-out;
}
.facilities-top a:hover {
  opacity: 0.5;
}

.facilities {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  width: 100dvw;
  margin-inline: -16px;
  padding-block: 12px;
  border-bottom: 1px solid var(--color-gray3);
}
.facilities__item:not(:last-child) {
  border-right: 1px solid var(--color-gray3);
}
.facilities__item:nth-of-type(1) .facilities__link:focus-visible {
  color: var(--color-heiwa);
}
.facilities__item:nth-of-type(2) .facilities__link:focus-visible {
  color: var(--color-youkoukan);
}
.facilities__item:nth-of-type(3) .facilities__link:focus-visible {
  color: var(--color-welfare);
}
.facilities__link {
  display: block;
  height: 100%;
  -webkit-transition: color 0.4s var(--easing-cubic1);
  transition: color 0.4s var(--easing-cubic1);
}
.facilities__logo {
  display: grid;
  grid-template-rows: auto 1fr;
  grid-template-columns: 1fr;
  height: 100%;
  gap: 4px;
}
.facilities__logo img {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  margin-inline: auto;
  -webkit-transition: opacity 0.4s var(--easing-cubic1);
  transition: opacity 0.4s var(--easing-cubic1);
}
.facilities__name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 100%;
  text-align: center;
}
.facilities__name .is-mainlabel {
  font-weight: 500;
  font-size: calc(13 / 16 * 1rem);
  line-height: 1.4285714286;
}
.facilities__name .is-sublabel {
  font-weight: 500;
  font-size: calc(12 / 16 * 1rem);
  line-height: 1.5384615385;
}
/*
 * [note] アコーディオンパーツ
 * ------------------------------------------------ */
.accordion {
  border: 1px solid var(--color-welfare);
}
.accordion[open] .accordion__trigger::after {
  rotate: 180deg;
}
.accordion__trigger {
  display: block;
  position: relative;
  padding: 20px;
}
.accordion__trigger .is-label {
  font-weight: 500;
  font-size: clamp(16px, 1.7578125vw, 18px);
}
.accordion__trigger::before, .accordion__trigger::after {
  position: absolute;
  top: 50%;
  right: 20px;
  width: 14px;
  height: 1px;
  background-color: var(--color-welfare);
  content: "";
  -webkit-transition: rotate 0.4s var(--easing-cubic1), opacity 0.4s var(--easing-cubic1);
  transition: rotate 0.4s var(--easing-cubic1), opacity 0.4s var(--easing-cubic1);
}
.accordion__trigger::before {
  translate: 0 -50%;
}
.accordion__trigger::after {
  translate: 0 -50%;
  rotate: 90deg;
}
.accordion__trigger ::-webkit-details-marker {
  display: none;
}
.accordion + .accordion {
  -webkit-margin-before: clamp(24px, 2.734375vw, 32px);
          margin-block-start: clamp(24px, 2.734375vw, 32px);
}
.accordion__body {
  overflow: hidden;
}
.accordion__body .column {
  padding: 20px;
}

.welfare__title {
  position: relative;
  font-weight: 400;
  font-size: calc(24 / 16 * 1rem);
  text-align: center;
}
.welfare__title::before {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  z-index: -1;
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 1px;
  border-bottom: 1px solid #D8D8D8;
  content: "";
}
.welfare__title::after {
  display: block;
  width: 100px;
  height: 0;
  -webkit-padding-before: 22px;
  margin-inline: auto;
          padding-block-start: 22px;
  border-bottom: 1px solid var(--page-welfare-ttl-color);
  content: "";
}
.welfare__kv .splide__slide {
  position: relative;
  max-width: 100%;
  max-height: 100vw;
}
.welfare__kv--img img {
  width: 100%;
}
.welfare__news {
  padding-inline: 16px;
  -webkit-margin-before: 58px;
          margin-block-start: 58px;
}
.welfare__news .welfare__title {
  -webkit-margin-after: 16px;
          margin-block-end: 16px;
}
.welfare__news--container {
  max-width: 1000px;
  margin-inline: auto;
}
.welfare__news .news__list {
  max-width: 580px;
  margin-inline: auto;
}
.welfare__news--btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-margin-before: 40px;
          margin-block-start: 40px;
}
.welfare__caresystem {
  padding-inline: 16px;
  -webkit-margin-before: 64px;
          margin-block-start: 64px;
}
.welfare__caresystem .welfare__title {
  -webkit-margin-after: 24px;
          margin-block-end: 24px;
}
.welfare__caresystem--container {
  max-width: 1000px;
  margin-inline: auto;
}
.welfare__caresystem--hgroup {
  -webkit-margin-after: 46px;
          margin-block-end: 46px;
}
.welfare__caresystem--read {
  font-weight: 400;
  font-size: calc(16 / 16 * 1rem);
  line-height: 1.875;
}
.welfare__caresystem--img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.welfare__facility {
  padding-inline: 16px;
  -webkit-margin-before: 72px;
          margin-block-start: 72px;
}
.welfare__facility .welfare__title {
  -webkit-margin-after: 24px;
          margin-block-end: 24px;
}
.welfare__facility--container {
  max-width: 1000px;
  margin-inline: auto;
}
.welfare__facility--menu {
  display: grid;
  grid-template-columns: repeat(2, minmax(min(100px, 100%), 1fr));
  gap: 20px 10px;
}
.welfare__facility--link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  height: 100%;
  padding: 8px 6px;
  border-radius: 6px;
  background-color: var(--color-white);
  -webkit-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out;
}
.welfare__facility--link:hover {
  opacity: 0.5;
}
.welfare__facility--textbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
}
.welfare__facility--explanation {
  font-weight: 500;
  font-size: 16px;
}
.welfare__facility--name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-right: 30px;
  color: var(--color-welfare);
  font-weight: 500;
  font-size: 22px;
}
.welfare__facility--name::after {
  position: absolute;
  right: 10px;
  width: 14px;
  height: 14px;
  background-color: var(--arrow-welfare-color);
  content: "";
  -webkit-mask: url("../images/common/arrow-bold.svg") center no-repeat;
          mask: url("../images/common/arrow-bold.svg") center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.welfare__facility--img {
  margin-top: 15px;
}
.welfare__facility--img img {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  margin-inline: auto;
  border-radius: 6px;
}
.welfare__movie {
  position: relative;
  -webkit-padding-after: 20px;
  padding-inline: 20px;
          padding-block-end: 20px;
  -webkit-margin-before: 80px;
          margin-block-start: 80px;
}
.welfare__movie::after {
  z-index: -1;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100px;
  background-color: var(--color-recruit);
  content: "";
}
.welfare__movie--container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  max-width: 1000px;
  margin-inline: auto;
  gap: 48px 30px;
}
.welfare__movie-left-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.welfare__movie-title {
  font-weight: 300;
  font-size: calc(28 / 16 * 1rem);
  letter-spacing: calc(140 / 1000 * 1em);
}
.welfare__movie-text {
  display: inline;
  -webkit-margin-before: 30px;
          margin-block-start: 30px;
  font-weight: 400;
  line-height: 2;
  text-decoration-line: underline;
  text-decoration-color: #707070;
  text-decoration-thickness: 1px;
  text-underline-offset: 12px;
  -webkit-text-decoration-skip-ink: none;
  font-size: calc(20 / 16 * 1rem);
  letter-spacing: calc(160 / 1000 * 1em);
          text-decoration-skip-ink: none;
}
.welfare__movie-recruit-buttom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 1000px;
  -webkit-padding-before: 20px;
  margin-inline: auto;
          padding-block-start: 20px;
}
.welfare__movie-recruit-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  gap: 12px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: var(--color-white);
  font-size: calc(20 / 16 * 1rem);
}
.welfare__movie-recruit-link::before {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 22px;
  height: 22px;
  background-color: var(--color-white);
  content: "";
  -webkit-mask: url("../images/common/arrow-large.svg") center no-repeat;
          mask: url("../images/common/arrow-large.svg") center no-repeat;
  -webkit-mask-size: contain;
  rotate: 0deg;
          mask-size: contain;
  -webkit-transition: background-color 0.4s var(--easing-cubic1);
  transition: background-color 0.4s var(--easing-cubic1);
}
.welfare__movie-recruit-link::after {
  position: absolute;
  bottom: -5px;
  left: 0;
  width: 100%;
  border-bottom: 1px solid #FFF;
  content: "";
  opacity: 0;
  -webkit-transition: opacity 0.4s var(--easing-cubic1);
  transition: opacity 0.4s var(--easing-cubic1);
}
.welfare__movie-recruit-link:focus-visible::after {
  opacity: 1;
}
.welfare__movie .video-wrapper {
  aspect-ratio: 760/427;
  width: 100%;
}
.welfare__movie .video-wrapper iframe {
  width: 100%;
  height: 100%;
}
.welfare__medical-logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 200px auto 0;
  padding: 0 20px;
  gap: 15px;
}
.welfare__medical-logo--text {
  font-weight: 500;
  font-size: 15px;
}

.news__list--item {
  display: grid;
  position: relative;
  grid-template-rows: auto 1fr;
  grid-template-columns: 1fr;
  padding-block: 20px;
  gap: 10px;
  border-bottom: 1px solid var(--color-gray3);
  -webkit-transition: opacity 0.4s var(--easing-cubic1);
  transition: opacity 0.4s var(--easing-cubic1);
}
.news__list--item::after {
  position: absolute;
  top: 50%;
  right: 0;
  width: 14px;
  height: 14px;
  background-color: var(--arrow-welfare-color);
  content: "";
  -webkit-mask: url("../images/common/arrow-bold.svg") center no-repeat;
          mask: url("../images/common/arrow-bold.svg") center no-repeat;
  -webkit-mask-size: contain;
  translate: 0 68%;
          mask-size: contain;
  -webkit-transition: translate 0.4s var(--easing-cubic1);
  transition: translate 0.4s var(--easing-cubic1);
}
.news__list--item:has(.news__list--link):focus-visible {
  opacity: 0.66;
}
.news__list--item:has(.news__list--link):focus-visible::after {
  translate: 10px 68%;
}
.news__list--status {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 15px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.news__list--date {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 15px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 400;
  font-size: calc(16 / 16 * 1rem);
}
.news__list--category {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  color: var(--color-gray1);
  font-weight: 500;
  font-size: calc(16 / 16 * 1rem);
}
.news__list--category.is-shiseikai {
  color: var(--color-shiseikai);
}
.news__list--category.is-welfare {
  color: var(--color-welfare);
}
.news__list--category.is-youkoukan {
  color: var(--color-youkoukan);
}
.news__list--category.is-prf {
  color: var(--color-welfare);
}
.news__list--category.is-recruit {
  color: var(--color-recruit);
}
.news__list--title {
  display: -webkit-box;
  max-width: calc(100% - 74px);
  -webkit-line-clamp: 2;
  overflow: hidden;
  font-weight: 400;
  font-size: calc(16 / 16 * 1rem);
  line-height: 1.875;
  -webkit-box-orient: vertical;
}
.news__list--link {
  font-weight: 400;
  font-size: calc(16 / 16 * 1rem);
  line-height: 1.875;
}
.news__list--link::after {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  content: "";
}
.news__nopost {
  padding-block: 20px;
  font-weight: 400;
  font-size: calc(16 / 16 * 1rem);
  line-height: 1.875;
  text-align: center;
}
.news__detail--box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  top: -15px;
  gap: 20px;
}
.news__detail--date {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 15px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 400;
  font-size: calc(16 / 16 * 1rem);
}
.news__detail--category {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  color: var(--color-gray1);
  font-weight: 500;
  font-size: calc(16 / 16 * 1rem);
}
.news__detail--category.is-shiseikai {
  color: var(--color-shiseikai);
}
.news__detail--category.is-welfare {
  color: var(--color-welfare);
}
.news__detail--category.is-youkoukan {
  color: var(--color-youkoukan);
}
.news__detail--category.is-prf {
  color: var(--color-welfare);
}
.news__detail--content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: 30px auto 0;
  gap: 50px;
}
.news__detail--page-nation {
  margin-top: 80px;
}
.news__detail--pager-lists {
  display: grid;
  grid-template-columns: 38px auto 38px;
  gap: 30px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.news__detail--pager-before a {
  position: relative;
  color: var(--color-welfare);
  font-size: 18px;
}
.news__detail--pager-before a::before {
  position: absolute;
  top: 5px;
  left: -20px;
  width: 15px;
  height: 15px;
  border-top: 2px solid var(--color-welfare);
  border-left: 2px solid var(--color-welfare);
  content: "";
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.news__detail--pager-next a {
  position: relative;
  color: var(--color-welfare);
  font-size: 18px;
}
.news__detail--pager-next a::after {
  position: absolute;
  top: 5px;
  right: -20px;
  width: 15px;
  height: 15px;
  border-top: 2px solid var(--color-welfare);
  border-right: 2px solid var(--color-welfare);
  content: "";
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.c-pager-lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 80px;
}

.c-pager-lists-ac {
  font-size: 26px;
  opacity: 0.5;
}

.c-pager-lists-noac {
  color: var(--color-welfare);
  font-size: 26px;
}

.c-pager-lists-arr-before {
  position: relative;
}
.c-pager-lists-arr-before::before {
  position: absolute;
  top: -6px;
  left: -6px;
  width: 15px;
  height: 15px;
  border-top: 2px solid var(--color-welfare);
  border-left: 2px solid var(--color-welfare);
  content: "";
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.c-pager-lists-arr-next {
  position: relative;
}
.c-pager-lists-arr-next::after {
  position: absolute;
  top: -6px;
  right: -6px;
  width: 15px;
  height: 15px;
  border-top: 2px solid var(--color-welfare);
  border-right: 2px solid var(--color-welfare);
  content: "";
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.back-btn a {
  color: var(--color-welfare);
  font-size: 18px;
}

.nav-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 80px;
}

.page-numbers.current {
  color: #101010;
  font-size: 26px;
  opacity: 0.5;
}

.page-numbers {
  color: var(--color-welfare);
  font-size: 26px;
}

.prev.page-numbers {
  position: relative;
}
.prev.page-numbers::after {
  position: absolute;
  top: -6px;
  right: -6px;
  width: 15px;
  height: 15px;
  border-top: 2px solid var(--color-welfare);
  border-left: 2px solid var(--color-welfare);
  content: "";
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.next.page-numbers {
  position: relative;
}
.next.page-numbers::after {
  position: absolute;
  top: -6px;
  right: -6px;
  width: 15px;
  height: 15px;
  border-top: 2px solid var(--color-welfare);
  border-right: 2px solid var(--color-welfare);
  content: "";
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.mgt-10 {
  margin-top: 10px;
}

.mgt-20 {
  margin-top: 20px;
}

.mgt-30 {
  margin-top: 30px;
}

.mgb-10 {
  margin-bottom: 10px;
}

.mgb-20 {
  margin-bottom: 20px;
}

.mgb-30 {
  margin-bottom: 30px;
}

.d-none {
  display: none;
}

.d-block {
  display: block;
}

.only-sp {
  display: none;
}

.only-pc {
  display: block;
}
.is-align-c {
  text-align: center;
}

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

.is-align-l {
  text-align: left;
}
.is-red {
  color: var(--color-red1);
}

.is-green {
  color: var(--color-green1);
}

.is-marker {
  text-decoration-line: underline;
  text-decoration-color: var(--color-yellow);
  text-decoration-thickness: 0.66em;
  text-underline-offset: -0.33em;
  -webkit-text-decoration-skip-ink: none;
  background: none;
          text-decoration-skip-ink: none;
}

.is-accessibility {
  visibility: hidden;
  position: absolute;
  top: 0;
  left: 0;
  font-size: 0;
}

[data-inview=up] {
  opacity: 0;
}
[data-inview=up].is-show {
  -webkit-animation: inviewup 0.4s var(--easing-cubic1) forwards;
          animation: inviewup 0.4s var(--easing-cubic1) forwards;
}

[data-inview=fade] {
  opacity: 0;
}
[data-inview=fade].is-show {
  -webkit-animation: inviewfadein 0.4s var(--easing-cubic1) forwards;
          animation: inviewfadein 0.4s var(--easing-cubic1) forwards;
}

@-webkit-keyframes inviewfadein {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes inviewfadein {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes inviewfadeout {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes inviewfadeout {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@-webkit-keyframes inviewup {
  from {
    translate: 0 20px;
    opacity: 0;
  }
  to {
    translate: 0 0;
    opacity: 1;
  }
}
@keyframes inviewup {
  from {
    translate: 0 20px;
    opacity: 0;
  }
  to {
    translate: 0 0;
    opacity: 1;
  }
}
@-webkit-keyframes inviewdown {
  from {
    translate: 0 -20px;
    opacity: 0;
  }
  to {
    translate: 0 0;
    opacity: 1;
  }
}
@keyframes inviewdown {
  from {
    translate: 0 -20px;
    opacity: 0;
  }
  to {
    translate: 0 0;
    opacity: 1;
  }
}
@-webkit-keyframes morelink {
  0% {
    scale: 0 1;
  }
  33% {
    scale: 0 1;
  }
  100% {
    scale: 1 1;
  }
}
@keyframes morelink {
  0% {
    scale: 0 1;
  }
  33% {
    scale: 0 1;
  }
  100% {
    scale: 1 1;
  }
}
@-webkit-keyframes fuwafuwa1 {
  0%, 100% {
    opacity: 0.1;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  25% {
    opacity: 0.05;
  }
  50% {
    opacity: 0.1;
    -webkit-transform: translate(0, -20px);
            transform: translate(0, -20px);
  }
  75% {
    opacity: 0.02;
  }
}
@keyframes fuwafuwa1 {
  0%, 100% {
    opacity: 0.1;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  25% {
    opacity: 0.05;
  }
  50% {
    opacity: 0.1;
    -webkit-transform: translate(0, -20px);
            transform: translate(0, -20px);
  }
  75% {
    opacity: 0.02;
  }
}
@-webkit-keyframes fuwafuwa2 {
  0%, 100% {
    opacity: 0.05;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  25% {
    opacity: 0.02;
  }
  50% {
    opacity: 0.05;
    -webkit-transform: translate(0, -20px);
            transform: translate(0, -20px);
  }
  75% {
    opacity: 0.02;
  }
}
@keyframes fuwafuwa2 {
  0%, 100% {
    opacity: 0.05;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  25% {
    opacity: 0.02;
  }
  50% {
    opacity: 0.05;
    -webkit-transform: translate(0, -20px);
            transform: translate(0, -20px);
  }
  75% {
    opacity: 0.02;
  }
}
@-webkit-keyframes fuwafuwa3 {
  0%, 100% {
    opacity: 0.05;
  }
  50% {
    opacity: 0.1;
  }
}
@keyframes fuwafuwa3 {
  0%, 100% {
    opacity: 0.05;
  }
  50% {
    opacity: 0.1;
  }
}
.fs-big {
  font-size: 1.111em !important;
}

.fs-small {
  font-size: 0.889em !important;
}

@media screen and (min-width: 375px){
  .header {
    gap: 30px;
    -webkit-padding-start: clamp(20px, 3.90625vw, 60px);
            padding-inline-start: clamp(20px, 3.90625vw, 60px);
  }
  .gnav__container {
    padding-inline: 20px;
  }
  .footer {
    padding-inline: 20px;
  }
  .main__container {
    max-width: calc(100% - 40px);
  }
  .fixedcta {
    margin-inline: -20px;
  }
  .fixedcta__tel .is-unit {
    font-size: calc(14 / 16 * 1rem);
  }
  .fixedcta__tel .is-number {
    font-size: calc(22 / 16 * 1rem);
  }
  .fixedcta__contact {
    gap: 8px;
  }
  .fixedcta__contact .is-label {
    font-size: calc(14 / 16 * 1rem);
  }
  .facilities {
    margin-inline: -20px;
  }
  .facilities__name .is-mainlabel {
    font-size: calc(14 / 16 * 1rem);
  }
  .facilities__name .is-sublabel {
    font-size: calc(13 / 16 * 1rem);
  }
  .welfare__title {
    font-size: clamp(24px, 3.3854166667vw, 26px);
  }
  .welfare__news {
    padding-inline: clamp(16px, 2.6041666667vw, 20px);
  }
  .welfare__caresystem {
    padding-inline: clamp(16px, 2.6041666667vw, 20px);
    -webkit-margin-before: clamp(64px, 16.6666666667vw, 128px);
            margin-block-start: clamp(64px, 16.6666666667vw, 128px);
  }
  .welfare__caresystem .welfare__title {
    -webkit-margin-after: 50px;
            margin-block-end: 50px;
  }
  .welfare__caresystem--read {
    font-size: clamp(16px, 2.2135416667vw, 18px);
    line-height: 1.7777777778;
  }
  .welfare__facility {
    padding-inline: clamp(16px, 2.6041666667vw, 20px);
    -webkit-margin-before: clamp(72px, 18.75vw, 144px);
            margin-block-start: clamp(72px, 18.75vw, 144px);
  }
  .welfare__movie-title {
    font-size: clamp(28px, 4.9479166667vw, 38px);
  }
  .welfare__movie-text {
    font-size: clamp(20px, 3.125vw, 24px);
  }
  .welfare__movie-recruit-link {
    font-size: clamp(20px, 3.125vw, 24px);
  }
  .d-xs-none {
    display: none;
  }
  .d-xs-block {
    display: block;
  }
  .is-align-xs-c {
    text-align: center;
  }
  .is-align-xs-r {
    text-align: right;
  }
  .is-align-xs-l {
    text-align: left;
  }
}

@media screen and (min-width: 576px){
  .anchor {
    grid-template-columns: repeat(auto-fill, minmax(min(160px, 100%), 1fr));
  }
  .contsanchor {
    grid-template-columns: repeat(auto-fill, minmax(min(114px, 100%), 1fr));
    gap: 14px 24px;
  }
  .d-sm-none {
    display: none;
  }
  .d-sm-block {
    display: block;
  }
  .is-align-sm-c {
    text-align: center;
  }
  .is-align-sm-r {
    text-align: right;
  }
  .is-align-sm-l {
    text-align: left;
  }
}

@media screen and (min-width: 768px){
  .main__kv {
    aspect-ratio: auto;
    height: clamp(250px, 33.203125vw, 340px);
  }
  .fixedcta {
    grid-template-columns: 1fr 1fr;
  }
  .table__wrap {
    overflow-x: auto;
  }
  .table__wrap .table {
    width: 100%;
    max-width: 100%;
  }
  .table__wrap .table__celttl {
    width: 150px;
  }
  .welfare__movie::after {
    bottom: -24px;
    height: 120px;
  }
  .d-md-none {
    display: none;
  }
  .d-md-block {
    display: block;
  }
  .is-align-md-c {
    text-align: center;
  }
  .is-align-md-r {
    text-align: right;
  }
  .is-align-md-l {
    text-align: left;
  }
}

@media screen and (min-width: 1024px){
  :root {
    --header-height: 100px;
  }
  .header {
    -webkit-padding-start: clamp(20px, 2.8571428571vw, 64px);
            padding-inline-start: clamp(20px, 2.8571428571vw, 64px);
  }
  .header__logo {
    max-width: 300px;
  }
  .header__logo img {
    width: 100%;
  }
  .header__toggle {
    display: none;
  }
  .gnav {
    position: static;
    width: auto;
    background-color: transparent;
  }
  .gnav__container {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    height: 100%;
    padding: 0;
    overflow-y: hidden;
    gap: 30px;
  }
  .gnav__menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: clamp(18px, 1.8571428571vw, 36px);
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .gnav__menu--item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 100%;
    border-bottom: none;
  }
  .gnav__menu--link {
    padding: 0;
  }
  .gnav__menu--link::after {
    display: none;
  }
  .gnav__ctalist {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .gnav__ctalist--link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: clamp(100px, 10vw, 140px);
    height: 100%;
    color: var(--color-white);
    font-weight: 700;
    font-size: clamp(15px, 1.1428571429vw, 18px);
    -webkit-transition: background-color 0.4s var(--easing-cubic1), color 0.4s var(--easing-cubic1);
    transition: background-color 0.4s var(--easing-cubic1), color 0.4s var(--easing-cubic1);
  }
  .gnav__ctalist--link.is-recruit {
    border: 2px solid var(--color-recruit);
    background-color: var(--color-recruit);
  }
  .gnav__ctalist--link.is-recruit:focus-visible {
    background-color: var(--color-white);
    color: var(--color-recruit);
  }
  .gnav__ctalist--link.is-contact {
    border: 2px solid var(--color-welfare);
    background-color: var(--color-welfare);
  }
  .gnav__ctalist--link.is-contact:focus-visible {
    background-color: var(--color-white);
    color: var(--color-welfare);
  }
  .recruit-gnav {
    display: none;
  }
  .footer__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 7px 0 7px 10px;
  }
  .footer__nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 2em;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .footer__submenu {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    gap: 8px;
  }
  .footer__submenu--item {
    -webkit-padding-start: 8px;
            padding-inline-start: 8px;
  }
  .footer__submenu--item:not(:first-child) {
    border-left: 1px solid var(--color-gray4);
  }
  .footer__submenu--link {
    font-weight: 500;
    font-size: calc(13 / 16 * 1rem);
    line-height: 1.25;
    -webkit-transition: color 0.4s var(--easing-cubic1);
    transition: color 0.4s var(--easing-cubic1);
  }
  .main__kv {
    height: 340px;
  }
  .main__container {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    max-width: 1000px;
    -webkit-margin-before: 36px;
            margin-block-start: 36px;
  }
  .main__aside {
    display: block;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 280px;
            flex: 0 0 280px;
  }
  .pagetop {
    display: block;
    z-index: 10;
    position: fixed;
    right: clamp(20px, 2.1428571429vw, 40px);
    bottom: 80px;
    width: 77px;
    height: 77px;
    opacity: 0;
    pointer-events: none;
    -webkit-transition: opacity 0.4s var(--easing-cubic1);
    transition: opacity 0.4s var(--easing-cubic1);
  }
  .pagetop.is-show {
    opacity: 1;
    pointer-events: all;
  }
  .fixedcta {
    pointer-events: none;
  }
  .fixedcta__wrap {
    display: none;
  }
  .table__celttl {
    width: 160px;
    padding-inline: 20px 30px;
    padding-block: 14px;
  }
  .table__celbody {
    padding-inline: 30px 20px;
    padding-block: 14px;
  }
  .column.is-col2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .column.is-col3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .column.is-col4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .column__image.is-col2 {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .column__image.is-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .column__block:has(.image) {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    text-align: center;
  }
  .column__block.is-card:has(.image) {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 100%;
            flex: 0 1 100%;
    text-align: left;
  }
  .forms__list.is-horizon {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
  }
  .forms__btnarea {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .snow-monkey-form .smf-action {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .orginfo {
    display: grid;
    grid-template-columns: 230px 1fr 150px;
    width: 100%;
    max-width: 900px;
    gap: 20px;
    -webkit-margin-before: 88px;
    margin-inline: auto;
            margin-block-start: 88px;
  }
  .orginfo__name {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    max-width: 230px;
    -webkit-margin-after: 0;
            margin-block-end: 0;
  }
  .orginfo__name img {
    width: 100%;
  }
  .orginfo__desc {
    display: grid;
    grid-template-rows: auto;
    grid-template-columns: auto 1fr;
    grid-template-areas: "fax address";
    gap: 0 20px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .orginfo__inquiry {
    gap: 1em;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .orginfo__inquiry .is-unit {
    font-size: calc(18 / 16 * 1rem);
  }
  .orginfo__inquiry .is-number {
    font-size: calc(18 / 16 * 1rem);
  }
  .orginfo__inquiry.is-fax {
    grid-area: fax;
  }
  .orginfo__address {
    grid-area: address;
  }
  .orginfo__contact {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .orginfo__contact .btn {
    width: 100%;
  }
  .header .orginfo {
    display: none;
  }
  .footer .orginfo {
    -webkit-margin-before: 88px;
            margin-block-start: 88px;
  }
  .facilities-top {
    padding: 16px 20px 0 20px;
    -webkit-margin-before: 16px;
            margin-block-start: 16px;
    -webkit-margin-after: 0px;
            margin-block-end: 0px;
  }
  .facilities {
    width: 100%;
    max-width: 1000px;
    margin-inline: auto;
    padding-block: 20px;
  }
  .facilities__item:not(:last-child) {
    border-right: none;
  }
  .facilities__logo {
    grid-template-rows: auto;
    grid-template-columns: auto auto;
    gap: 10px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .facilities__logo img {
    width: 100%;
    max-width: 66px;
  }
  .facilities__name {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 1em;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    text-align: left;
  }
  .facilities__name .is-mainlabel {
    font-size: calc(16 / 16 * 1rem);
    line-height: 1.5;
  }
  .facilities__name .is-sublabel {
    font-size: calc(16 / 16 * 1rem);
    line-height: 1.5;
  }
  .header .facilities {
    display: none;
  }
  .welfare__title {
    -webkit-margin-before: 58px;
            margin-block-start: 58px;
  }
  .welfare__title .welfare__title {
    -webkit-margin-after: 50px;
            margin-block-end: 50px;
  }
  .welfare__news {
    -webkit-margin-before: 58px;
            margin-block-start: 58px;
  }
  .welfare__news .welfare__title {
    -webkit-margin-after: 50px;
            margin-block-end: 50px;
  }
  .welfare__news--btn {
    -webkit-margin-before: 48px;
            margin-block-start: 48px;
  }
  .welfare__caresystem .welfare__title {
    -webkit-margin-after: 50px;
            margin-block-end: 50px;
  }
  .welfare__caresystem--read {
    text-align: center;
  }
  .welfare__facility .welfare__title {
    -webkit-margin-after: 50px;
            margin-block-end: 50px;
  }
  .welfare__movie {
    -webkit-margin-before: 138px;
            margin-block-start: 138px;
  }
  .welfare__movie--container {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: clamp(30px, 2.8571428571vw, 60px);
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .welfare__movie-text {
    -webkit-margin-before: 42px;
            margin-block-start: 42px;
  }
  .welfare__movie .video-wrapper {
    max-width: 760px;
    -webkit-margin-end: 0;
            margin-inline-end: 0;
  }
  .news__list--item {
    padding-inline: 30px;
  }
  .news__list--item::after {
    right: 30px;
    translate: 0 -50%;
  }
  .news__list--item:has(.news__list--link):focus-visible {
    opacity: 0.66;
  }
  .news__list--item:has(.news__list--link):focus-visible::after {
    translate: 10px -50% !important;
  }
  .d-lg-none {
    display: none;
  }
  .d-lg-block {
    display: block;
  }
  .is-align-lg-c {
    text-align: center;
  }
  .is-align-lg-r {
    text-align: right;
  }
  .is-align-lg-l {
    text-align: left;
  }
  @-webkit-keyframes inviewup {
    from {
      translate: 0 40px;
      opacity: 0;
    }
    to {
      translate: 0 0;
      opacity: 1;
    }
  }
  @keyframes inviewup {
    from {
      translate: 0 40px;
      opacity: 0;
    }
    to {
      translate: 0 0;
      opacity: 1;
    }
  }
  @-webkit-keyframes inviewdown {
    from {
      translate: 0 -40px;
      opacity: 0;
    }
    to {
      translate: 0 0;
      opacity: 1;
    }
  }
  @keyframes inviewdown {
    from {
      translate: 0 -40px;
      opacity: 0;
    }
    to {
      translate: 0 0;
      opacity: 1;
    }
  }
}

@media screen and (min-width: 1024px) and (any-hover: hover){
  .gnav__ctalist--link.is-recruit:hover {
    background-color: var(--color-white);
    color: var(--color-recruit);
  }
  .gnav__ctalist--link.is-contact:hover {
    background-color: var(--color-white);
    color: var(--color-welfare);
  }
  .news__list--item:has(.news__list--link):hover {
    opacity: 0.66;
  }
  .news__list--item:has(.news__list--link):hover::after {
    translate: 10px -50% !important;
  }
}

@media screen and (min-width: 1024px) and (any-hover: none){
  .gnav__ctalist--link.is-recruit:active {
    background-color: var(--color-white);
    color: var(--color-recruit);
  }
  .gnav__ctalist--link.is-contact:active {
    background-color: var(--color-white);
    color: var(--color-welfare);
  }
  .news__list--item:has(.news__list--link):active {
    opacity: 0.66;
  }
  .news__list--item:has(.news__list--link):active::after {
    translate: 10px -50% !important;
  }
}

@media screen and (min-width: 1240px){
  .welfare__movie .video-wrapper {
    -webkit-margin-end: -9.6774193548vw;
            margin-inline-end: -9.6774193548vw;
  }
}

@media screen and (min-width: 1320px){
  .welfare__movie .video-wrapper {
    -webkit-margin-end: -120px;
            margin-inline-end: -120px;
  }
}

@media screen and (min-width: 1400px){
  .header {
    -webkit-padding-start: 100px;
            padding-inline-start: 100px;
  }
  .gnav__menu {
    gap: 2em;
  }
  .d-xlg-none {
    display: none;
  }
  .d-xlg-block {
    display: block;
  }
  .is-align-xlg-c {
    text-align: center;
  }
  .is-align-xlg-r {
    text-align: right;
  }
  .is-align-xlg-l {
    text-align: left;
  }
}

@media screen and (max-width: 1024px){
  .orginfo__welfare {
    display: none;
  }
}

@media screen and (max-width: 768px){
  .main__container {
    display: block;
  }
  .table-days {
    text-align: start;
  }
  .table-col3 {
    min-width: 720px;
  }
  .welfare-table-color {
    font-size: 16px;
  }
  .payment-img-box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 5px;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .tel-destination {
    max-width: 380px;
    font-size: 18px;
  }
  .tel-number {
    font-size: 34px;
  }
  .tel-text {
    font-size: 16px;
  }
  .welfare__facility--name {
    font-size: 18px;
  }
  .welfare__medical-logo {
    margin: 120px auto 0;
  }
  .only-sp {
    display: block;
  }
  .only-pc {
    display: none;
  }
}

@media screen and (max-width: 576px){
  .numlist-big {
    width: 100%;
  }
  .numbg-list__item-title {
    gap: 10px;
  }
  .numbg-list__img {
    width: 80px;
  }
  .num-nobg-list__item {
    gap: 20px;
  }
  .num-nobg-list__img {
    width: 80px;
  }
  .start-procedure-list {
    gap: 20px;
  }
  .start-procedure-list__item {
    height: 100px;
  }
  .start-procedure-list__item::after {
    right: -15px;
    width: 25px;
    height: 13px;
  }
  .start-procedure-list__item {
    font-size: 13px;
  }
  .start-usingflow-list {
    gap: 30px 20px;
  }
  .tel-number {
    font-size: 30px;
  }
  .welfare__facility--menu {
    grid-template-columns: repeat(1, minmax(min(100px, 100%), 1fr));
  }
  .welfare__medical-logo--text {
    font-size: 13px;
  }
}

@media (any-hover: hover){
  .header__logo--link:hover {
    opacity: 0.6;
  }
  .gnav__menu--link:hover {
    color: var(--nav-welfare-color);
  }
  .footer__nav--link:hover {
    color: var(--nav-welfare-color);
  }
  .footer__submenu--link:hover {
    color: var(--nav-welfare-color);
  }
  .breadcrumbs__link:hover {
    color: var(--nav-welfare-color);
  }
  .localnav__link:hover {
    color: var(--btn-welfare-color);
  }
  .localnav__link:hover::before {
    background-color: var(--btn-welfare-color);
  }
  .localnav__link.is-welfare:hover {
    color: var(--color-gray2);
  }
  .localnav__link.is-youkoukan:hover {
    color: var(--color-gray2);
  }
  .localnav__link.is-prf:hover {
    color: var(--color-gray2);
  }
  .localnav__link.is-recruit:hover {
    color: var(--color-gray2);
  }
  .btn.is-primary:hover {
    background-color: var(--color-white);
    color: var(--btn-welfare-color);
  }
  .btn.is-secondary:hover {
    background-color: var(--btn-welfare-color);
    color: var(--color-white);
  }
  .link.is-arrow:hover {
    color: var(--btn-welfare-color);
  }
  .link.is-pdf:hover {
    color: var(--btn-welfare-color);
    text-decoration-line: underline;
    text-decoration-color: var(--btn-welfare-color);
    text-decoration-thickness: 1px;
    text-underline-offset: 6px;
    -webkit-text-decoration-skip-ink: none;
            text-decoration-skip-ink: none;
  }
  .link.is-blank:hover {
    color: var(--btn-welfare-color);
  }
  .link.is-more:hover::before {
    -webkit-animation: morelink 0.4s var(--easing-cubic1) forwards;
            animation: morelink 0.4s var(--easing-cubic1) forwards;
  }
  .pagetop__link:hover {
    background-color: var(--btn-welfare-color);
  }
  .pagetop__link:hover::before {
    background-color: var(--color-white);
  }
  .anchor__link:hover {
    color: var(--color-gray2);
  }
  .anchor__link:hover::after {
    background-color: var(--color-gray2);
  }
  .contsanchor__link:hover {
    color: var(--btn-welfare-color);
  }
  .contsanchor__link:hover::before {
    background-color: var(--btn-welfare-color);
  }
  .forms__notice .link:hover::before {
    -webkit-animation: morelink 0.4s var(--easing-cubic1) forwards;
            animation: morelink 0.4s var(--easing-cubic1) forwards;
  }
  .snow-monkey-form .smf-action .smf-button-control__control[data-action=confirm]:hover, .snow-monkey-form .smf-action .smf-button-control__control[data-action=complete]:hover {
    background: var(--color-white);
    color: var(--btn-welfare-color);
  }
  .snow-monkey-form .smf-action .smf-button-control__control[data-action=back]:hover {
    background: var(--btn-welfare-color);
    color: var(--color-white);
  }
  .orginfo__name--link:hover {
    opacity: 0.6;
  }
  .facilities__item:nth-of-type(1) .facilities__link:hover {
    color: var(--color-heiwa);
  }
  .facilities__item:nth-of-type(2) .facilities__link:hover {
    color: var(--color-youkoukan);
  }
  .facilities__item:nth-of-type(3) .facilities__link:hover {
    color: var(--color-welfare);
  }
  .welfare__movie-recruit-link:hover::after {
    opacity: 1;
  }
  .news__list--item:has(.news__list--link):hover {
    opacity: 0.66;
  }
  .news__list--item:has(.news__list--link):hover::after {
    translate: 10px 68%;
  }
}

@media (any-hover: none){
  .header__logo--link:active {
    opacity: 0.6;
  }
  .gnav__menu--link:active {
    color: var(--nav-welfare-color);
  }
  .footer__nav--link:active {
    color: var(--nav-welfare-color);
  }
  .footer__submenu--link:active {
    color: var(--nav-welfare-color);
  }
  .breadcrumbs__link:active {
    color: var(--nav-welfare-color);
  }
  .localnav__link:active {
    color: var(--btn-welfare-color);
  }
  .localnav__link:active::before {
    background-color: var(--btn-welfare-color);
  }
  .localnav__link.is-welfare:active {
    color: var(--color-gray2);
  }
  .localnav__link.is-youkoukan:active {
    color: var(--color-gray2);
  }
  .localnav__link.is-prf:active {
    color: var(--color-gray2);
  }
  .localnav__link.is-recruit:active {
    color: var(--color-gray2);
  }
  .btn.is-primary:active {
    background-color: var(--color-white);
    color: var(--btn-welfare-color);
  }
  .btn.is-secondary:active {
    background-color: var(--btn-welfare-color);
    color: var(--color-white);
  }
  .link.is-arrow:active {
    color: var(--btn-welfare-color);
  }
  .link.is-pdf:active {
    color: var(--btn-welfare-color);
    text-decoration-line: underline;
    text-decoration-color: var(--btn-welfare-color);
    text-decoration-thickness: 1px;
    text-underline-offset: 6px;
    -webkit-text-decoration-skip-ink: none;
            text-decoration-skip-ink: none;
  }
  .link.is-blank:active {
    color: var(--btn-welfare-color);
  }
  .link.is-more:active::before {
    -webkit-animation: morelink 0.4s var(--easing-cubic1) forwards;
            animation: morelink 0.4s var(--easing-cubic1) forwards;
  }
  .pagetop__link:active {
    background-color: var(--btn-welfare-color);
  }
  .pagetop__link:active::before {
    background-color: var(--color-white);
  }
  .anchor__link:active {
    color: var(--color-gray2);
  }
  .anchor__link:active::after {
    background-color: var(--color-gray2);
  }
  .contsanchor__link:active {
    color: var(--btn-welfare-color);
  }
  .contsanchor__link:active::before {
    background-color: var(--btn-welfare-color);
  }
  .forms__notice .link:active::before {
    -webkit-animation: morelink 0.4s var(--easing-cubic1) forwards;
            animation: morelink 0.4s var(--easing-cubic1) forwards;
  }
  .snow-monkey-form .smf-action .smf-button-control__control[data-action=confirm]:active, .snow-monkey-form .smf-action .smf-button-control__control[data-action=complete]:active {
    background: var(--color-white);
    color: var(--btn-welfare-color);
  }
  .snow-monkey-form .smf-action .smf-button-control__control[data-action=back]:active {
    background: var(--btn-welfare-color);
    color: var(--color-white);
  }
  .orginfo__name--link:active {
    opacity: 0.6;
  }
  .facilities__item:nth-of-type(1) .facilities__link:active {
    color: var(--color-heiwa);
  }
  .facilities__item:nth-of-type(2) .facilities__link:active {
    color: var(--color-youkoukan);
  }
  .facilities__item:nth-of-type(3) .facilities__link:active {
    color: var(--color-welfare);
  }
  .welfare__movie-recruit-link:active::after {
    opacity: 1;
  }
  .news__list--item:has(.news__list--link):active {
    opacity: 0.66;
  }
  .news__list--item:has(.news__list--link):active::after {
    translate: 10px 68%;
  }
}

@media (prefers-reduced-motion: no-preference){
  html:focus-within {
    scroll-behavior: smooth;
  }
  :focus-visible {
    -webkit-transition: outline-offset 145ms cubic-bezier(0.25, 0, 0.4, 1);
    transition: outline-offset 145ms cubic-bezier(0.25, 0, 0.4, 1);
  }
  :where(:not(:active)):focus-visible {
    -webkit-transition-duration: 0.25s;
            transition-duration: 0.25s;
  }
}
/*# sourceMappingURL=welfare.css.map */
