@charset "UTF-8";

:root {
  --layout-width-max: 1920;
  --layout-width-min: 375;
  --inner-width-max: 1180;
  --header-height-max: 86;
  --header-height-min: 60;
  --spacing-gutter: calc(16 * var(--fluid-ratio-min));
  --fluid-ratio-max: calc(1 / var(--layout-width-max) * 100vw);
  --fluid-ratio-min: calc(1 / var(--layout-width-min) * 100vw);
  --rem: calc(1rem / var(--base-ft));
  --container: min(
    calc(var(--inner-width-max) * var(--rem)),
    calc(100% - var(--spacing-gutter) * 2)
  );
  --header-size: clamp(
    calc(var(--header-height-min) * var(--rem)),
    calc(var(--header-height-max) * var(--fluid-ratio-max)),
    calc(var(--header-height-max) * var(--rem))
  );
  --ft-12_16: clamp(0.75rem, calc(0.689rem + 0.259vw), 1rem);
  --ft-12_14: clamp(0.75rem, calc(0.72rem + 0.129vw), 0.875rem);
  --ft-14_16: clamp(0.875rem, calc(0.845rem + 0.129vw), 1rem);
  --ft-16_18: clamp(1rem, calc(0.97rem + 0.129vw), 1.125rem);
  --ft-16_20: clamp(1rem, calc(0.939rem + 0.259vw), 1.25rem);
  --ft-18_20: clamp(1.125rem, calc(1.095rem + 0.129vw), 1.25rem);
  --ft-14_24: clamp(0.875rem, calc(0.723rem + 0.647vw), 1.5rem);
  --ft-16_24: clamp(1rem, calc(0.879rem + 0.518vw), 1.5rem);
  --ft-18_24: clamp(1.125rem, calc(1.034rem + 0.388vw), 1.5rem);
  --ft-18_21: clamp(1.125rem, calc(1.079rem + 0.194vw), 1.313rem);
  --ft-20_24: clamp(1.25rem, calc(1.189rem + 0.259vw), 1.5rem);
  --ft-20_28: clamp(1.25rem, calc(1.129rem + 0.518vw), 1.75rem);
  --ft-20_32: clamp(1.25rem, calc(1.068rem + 0.777vw), 2rem);
  --ft-24_26: clamp(1.5rem, calc(1.47rem + 0.129vw), 1.625rem);
  --ft-24_32: clamp(1.5rem, calc(1.379rem + 0.518vw), 2rem);
  --ft-24_36: clamp(1.5rem, calc(1.318rem + 0.777vw), 2.25rem);
  --ft-28_40: clamp(1.75rem, calc(1.568rem + 0.777vw), 2.5rem);
  --ft-28_48: clamp(1.75rem, calc(1.447rem + 1.294vw), 3rem);
  --ft-28_52: clamp(1.75rem, calc(1.386rem + 1.553vw), 3.25rem);
  --ft-32_40: clamp(2rem, calc(1.879rem + 0.518vw), 2.5rem);
  --ft-16_64: clamp(1rem, calc(0.272rem + 3.107vw), 4rem);
  --ft-32-64: clamp(2rem, calc(1.515rem + 2.071vw), 4rem);
  --base-ft: 16;
  --ft-10: 10;
  --ft-12: 12;
  --ft-14: 14;
  --ft-15: 15;
  --ft-18: 18;
  --ft-20: 20;
  --ft-21: 21;
  --ft-24: 24;
  --ft-26: 26;
  --ft-32: 32;
  --ft-36: 36;
  --ft-40: 40;
  --ft-42: 42;
  --ft-48: 48;
  --ft-52: 52;
  --ft-64: 64;
  --ft-96: 96;
  --ft-128: 128;
  --base-ft-family: "Noto Sans JP", serif;
  --base-ft-weight: 400;
  --ft-weight-100: 100;
  --ft-weight-700: 700;
  --ft-weight-900: 900;
  --base-line-height: 1.5;
  --line-height-xs: 1;
  --line-height-sm: 1.2;
  --line-height-md: 1.8;
  --line-height-lg: 2.4;
  --base-letter-spacing: 0.05em;
  --letter-spacing-sm: 0.02em;
  --letter-spacing-lg: 0.21em;
  --theme-color-1: #2e59a7;
  --theme-color-2: #007cc3;
  --white-1: #ffffff;
  --white-2: #fff9e6;
  --white-3: #fff3cd;
  --black-1: #333333;
  --black-2: #484848;
  --gray-1: #f8f8f8;
  --gray-2: #eeeff0;
  --gray-3: #b8bcc0;
  --gray-4: #757575;
  --blue-1: #0158b5;
  --blue-2: #d1e3f6;
  --red-1: #bd3a2f;
  --gold-1: #d2aa2d;
  --lavender-1: #9387bf;
  --teal-1: #007b7f;
  --brown-1: #5a4d26;
  --yellow-1: #ffc533;
  --z-index-negative-layer: -1;
  --z-index-0: 0;
  --z-index-1: 1;
  --z-index-header: 10;
  --z-index-modal: 20;
  --z-index-loading: 30;
}
html {
  font-size: calc(var(--base-ft) * var(--rem));
  scroll-padding-block-start: var(--header-size);
}
body {
  font-family: var(--base-ft-family);
  color: var(--black-1);
  letter-spacing: var(--base-letter-spacing);
  font-weight: var(--base-ft-weight);
}
img {
  max-inline-size: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.grecaptcha-badge {
  visibility: hidden;
}
.l-header {
  display: grid;
  grid-template-columns: auto 1fr;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(24 * var(--rem));
  block-size: var(--header-size);
  background-color: var(--white-1);
  position: sticky;
  z-index: var(--z-index-header);
  inset-block-start: 0;
  inset-inline: 0;
}
@media (max-width: 767px) {
  .l-header {
    grid-template-columns: auto auto 1fr;
    -webkit-padding-start: 0;
    padding-inline-start: 0;
    gap: 0;
  }
}
.l-header__drawerButton-wrap {
  display: none;
}
@media (max-width: 767px) {
  .l-header__drawerButton-wrap {
    display: inline-block;
    margin-inline: calc(16 * var(--rem));
  }
}
@media (max-width: 767px) {
  .l-header__drawerButton {
    --distance: calc(8 * var(--rem));
    --expanded: 16px;
    position: relative;
    display: inline-grid;
    grid-template: 1px / calc(24 * var(--rem));
    -ms-flex-line-pack: center;
    align-content: center;
    aspect-ratio: 1;
    border: unset;
  }
  .l-header__drawerButton::after {
    content: "";
    position: absolute;
    inset: calc(var(--expanded) * -1);
  }
  .l-header__drawerButton-icon {
    display: inline-grid;
    grid-template-areas: "stack";
    align-self: stretch;
    background-color: var(--theme-color-1);
  }
  .l-header__drawerButton-icon::before,
  .l-header__drawerButton-icon::after {
    content: "";
    grid-area: stack;
    background-color: inherit;
    -webkit-transition: translate var(--duration-default) var(--ease-out-expo);
    transition: translate var(--duration-default) var(--ease-out-expo);
  }
  .l-header__drawerButton-icon::before {
    translate: 0 calc(var(--distance) * -1);
  }
  .l-header__drawerButton-icon::after {
    translate: 0 var(--distance);
  }
}
@media (max-width: 767px) and (any-hover: hover) {
  .l-header__drawerButton:hover .l-header__drawerButton-icon::before,
  .l-header__drawerButton:hover .l-header__drawerButton-icon::after {
    translate: 0 0;
  }
}
.l-header__logo {
  --logo-height: 50;
  block-size: calc(var(--logo-height) / var(--header-height-max) * 100%);
  -webkit-margin-start: calc(20 * var(--rem));
  margin-inline-start: calc(20 * var(--rem));
  aspect-ratio: 187/50;
}
@media (max-width: 767px) {
  .l-header__logo {
    -webkit-margin-start: 0;
    margin-inline-start: 0;
  }
}
.l-header__logo-img {
  aspect-ratio: 187/50;
}
.l-header__layout-right {
  display: inline-grid;
  grid-template-columns: 1fr auto;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  align-self: stretch;
  gap: var(--spacing-lg);
}
@media (max-width: 767px) {
  .l-header__layout-right {
    grid-template-columns: revert;
    justify-self: end;
  }
}
.l-header__nav-wrap {
  justify-self: end;
}
.l-header__nav-list-item-link {
  position: relative;
  z-index: var(--z-index-0);
}
.l-header__nav-list-item-link::after {
  content: "";
  position: absolute;
  inset-block-end: 0;
  inset-inline: 0;
  display: inline-block;
  inline-size: 100%;
  border-top: 1px solid currentColor;
  opacity: 0;
  -webkit-transition: opacity var(--duration-default) ease;
  transition: opacity var(--duration-default) ease;
}
@media (any-hover: hover) {
  .l-header__nav-list-item-link:hover::after {
    opacity: 1;
  }
}
.l-header__nav-list-item-link[aria-current="page"] {
  color: oklch(from var(--black-1) l calc(c + 0.2) h);
}
.l-header__nav-list-item-link[aria-current="page"]::after {
  opacity: 1;
}
@media (max-width: 767px) {
  .l-header__nav-wrap {
    display: none;
  }
}
.l-header__nav-list {
  inline-size: -webkit-max-content;
  inline-size: -moz-max-content;
  inline-size: max-content;
  font-size: var(--ft-14_16);
  letter-spacing: var(--letter-spacing-sm);
  font-weight: var(--ft-weight-700);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: var(--spacing-md);
}
.l-header__contact-button {
  inline-size: clamp(
    60 * var(--rem),
    86 * var(--fluid-ratio-max),
    86 * var(--rem)
  );
  block-size: 100%;
  aspect-ratio: 1;
  background-color: var(--blue-1);
  position: relative;
  z-index: var(--z-index-0);
  font-size: var(--ft-14_16);
  -webkit-transition: background-color var(--duration-default)
    var(--ease-out-expo);
  transition: background-color var(--duration-default) var(--ease-out-expo);
}
.l-header__contact-button::before {
  content: "";
  position: absolute;
  inset-inline-start: 50%;
  inset-block-start: 50%;
  translate: -50% -50%;
  display: inline-block;
  inline-size: calc(26em / var(--base-ft));
  aspect-ratio: 26/19;
  -webkit-mask-image: url(../image/common/icon-mail.svg);
  mask-image: url(../image/common/icon-mail.svg);
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  background-color: var(--white-1);
}
@media (any-hover: hover) {
  .l-header__contact-button:hover {
    background-color: var(--theme-color-2);
  }
}
.l-header__contact-button-img {
  --button-size: 86;
  --icon-size: 26;
  inline-size: calc(var(--icon-size) / var(--button-size) * 100%);
  aspect-ratio: 26/19;
}
.l-header.front {
  -webkit-margin-after: calc(var(--header-size) * -1);
  margin-block-end: calc(var(--header-size) * -1);
  color: var(--white-1);
  background-color: revert;
  inset-block-start: revert;
  inset-inline: revert;
}
.l-header.front .l-header__drawerButton-icon {
  background-color: var(--white-1);
}
.l-header.fade-in {
  inset-block-start: 0;
  inset-inline: 0;
  -webkit-animation-name: header-fadeIn;
  animation-name: header-fadeIn;
  -webkit-animation-duration: 0.5s;
  animation-duration: 0.5s;
  -webkit-animation-timing-function: var(--ease-out-expo);
  animation-timing-function: var(--ease-out-expo);
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}
@-webkit-keyframes header-fadeIn {
  from {
    translate: 0 -100%;
  }
  to {
    translate: 0 0;
  }
}
@keyframes header-fadeIn {
  from {
    translate: 0 -100%;
  }
  to {
    translate: 0 0;
  }
}
.l-footer {
  background-color: var(--theme-color-1);
  -webkit-border-before: solid 1px var(--white-1);
  border-block-start: solid 1px var(--white-1);
  -webkit-padding-before: clamp(
    var(--spacing-3xl),
    64 * var(--fluid-ratio-max),
    64 * var(--rem)
  );
  padding-block-start: clamp(
    var(--spacing-3xl),
    64 * var(--fluid-ratio-max),
    64 * var(--rem)
  );
  -webkit-padding-after: calc(16 * var(--rem));
  padding-block-end: calc(16 * var(--rem));
}
.l-footer__nav {
  text-align: center;
}
.l-footer__nav-list {
  font-size: var(--ft-14_16);
  color: var(--white-1);
  letter-spacing: var(--letter-spacing-sm);
  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;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: clamp(var(--spacing-md), 24 * var(--fluid-ratio-max), 24 * var(--rem));
}
.l-footer .l-footer__nav-list-item-link {
  position: relative;
  z-index: var(--z-index-0);
}
.l-footer .l-footer__nav-list-item-link::after {
  content: "";
  position: absolute;
  inset-block-end: 0;
  inset-inline: 0;
  display: inline-block;
  inline-size: 100%;
  border-top: 1px solid currentColor;
  opacity: 0;
  -webkit-transition: opacity var(--duration-default) ease;
  transition: opacity var(--duration-default) ease;
}
@media (any-hover: hover) {
  .l-footer .l-footer__nav-list-item-link:hover::after {
    opacity: 1;
  }
}
.l-footer .l-footer__nav-list-item-link[aria-current="page"] {
  color: color-mix(in sRGB, var(--white-1), #000 15%);
}
.l-footer .l-footer__nav-list-item-link[aria-current="page"]::after {
  opacity: 1;
}
.l-footer__copyright {
  font-size: var(--ft-12_14);
  color: var(--white-1);
  letter-spacing: var(--letter-spacing-sm);
  text-align: center;
  -webkit-margin-before: clamp(
    var(--spacing-3xl),
    56 * var(--fluid-ratio-max),
    56 * var(--rem)
  );
  margin-block-start: clamp(
    var(--spacing-3xl),
    56 * var(--fluid-ratio-max),
    56 * var(--rem)
  );
}
.l-footer__scrollTop-button {
  block-size: clamp(
    var(--spacing-3xl),
    56 * var(--fluid-ratio-max),
    56 * var(--rem)
  );
  aspect-ratio: 1;
  position: fixed;
  background-color: var(--theme-color-2);
  inset-inline-end: 0;
  inset-block-end: 0;
  translate: 0 100%;
  -webkit-transition:
    translate 1s var(--ease-out-expo),
    background-color var(--duration-default) var(--ease-out-expo),
    -webkit-box-shadow var(--duration-default) var(--ease-out-expo);
  transition:
    translate 1s var(--ease-out-expo),
    background-color var(--duration-default) var(--ease-out-expo),
    -webkit-box-shadow var(--duration-default) var(--ease-out-expo);
  transition:
    translate 1s var(--ease-out-expo),
    background-color var(--duration-default) var(--ease-out-expo),
    box-shadow var(--duration-default) var(--ease-out-expo);
  transition:
    translate 1s var(--ease-out-expo),
    background-color var(--duration-default) var(--ease-out-expo),
    box-shadow var(--duration-default) var(--ease-out-expo),
    -webkit-box-shadow var(--duration-default) var(--ease-out-expo);
}
@media (any-hover: hover) {
  .l-footer__scrollTop-button:hover {
    background-color: oklch(from var(--theme-color-2) calc(l + 0.1) c h);
    -webkit-box-shadow: -2px 2px 4px 0 rgba(0, 0, 0, 0.2);
    box-shadow: -2px 2px 4px 0 rgba(0, 0, 0, 0.2);
  }
}
.l-footer__scrollTop-button a {
  --button-size: 56;
  --icon-size: 16;
  block-size: inherit;
  aspect-ratio: 1;
  display: inline-grid;
  place-items: center;
}
.l-footer__scrollTop-button a::after {
  content: "";
  display: inline-block;
  -webkit-mask-image: var(--icon-chevron-up);
  mask-image: var(--icon-chevron-up);
  inline-size: calc(var(--icon-size) / var(--button-size) * 100%);
  aspect-ratio: 1;
  background-color: var(--white-1);
}
.l-footer .l-footer__scrollTop-button.fade-in {
  inset-inline-end: 0;
  inset-block-end: 0;
  translate: 0 0;
}
.l-body {
  display: none;
}
@media (scripting: none) {
  .l-body {
    display: block;
  }
}
.l-fullDisplay {
  display: grid;
  grid-template-rows: auto 1fr auto;
  min-block-size: 100vh;
}
.c-inner {
  inline-size: var(--container);
  margin-inline: auto;
}
.c-inner-900 {
  --inner-width-max: 900;
  --container: min(
    calc(var(--inner-width-max) * var(--rem)),
    calc(100% - var(--spacing-gutter) * 2)
  );
  inline-size: var(--container);
  margin-inline: auto;
}
.c-pageTitle {
  font-size: var(--ft-28_52);
  font-weight: var(--ft-weight-700);
  inline-size: -webkit-max-content;
  inline-size: -moz-max-content;
  inline-size: max-content;
  margin-inline: auto;
  -webkit-padding-after: var(--spacing-5xl);
  padding-block-end: var(--spacing-5xl);
}
.c-pageTitle-withImage {
  font-size: var(--ft-32-64);
  font-weight: var(--ft-weight-700);
  padding-block: calc(152em / var(--ft-64));
  inline-size: -webkit-max-content;
  inline-size: -moz-max-content;
  inline-size: max-content;
  margin-inline: auto;
  color: var(--white-1);
}
.c-pageTitle-bg {
  position: relative;
  z-index: var(--z-index-0);
}
.c-pageTitle-bg::before {
  content: "";
  display: block;
  background-color: rgba(0, 0, 0, 0.2);
  position: absolute;
  inset: 0;
  z-index: var(--z-index-negative-layer);
}
.c-circularButton {
  display: inline-grid;
  grid-template-columns: 1fr auto 1fr;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1em;
  color: var(--white-1);
  padding: 1em;
  border-radius: calc(infinity * 1px);
  background-color: var(--theme-color-1);
  -webkit-transition-property: background-color, translate;
  transition-property: background-color, translate;
  -webkit-transition-duration: 0.1s;
  transition-duration: 0.1s;
  -webkit-transition-timing-function: var(--ease-out-back);
  transition-timing-function: var(--ease-out-back);
}
.c-circularButton::before {
  content: "";
}
.c-circularButton::after {
  content: "";
  display: inline-block;
  justify-self: end;
  -webkit-mask-image: var(--icon-chevron-right);
  mask-image: var(--icon-chevron-right);
  -webkit-mask-size: contain;
  mask-size: contain;
  inline-size: 1em;
  aspect-ratio: 1;
  background-color: currentColor;
}
@media (any-hover: hover) {
  .c-circularButton:hover {
    background-color: var(--theme-color-2);
    translate: 0 1px;
  }
}
.c-pagination {
  -webkit-margin-before: clamp(
    var(--spacing-3xl),
    108 * var(--fluid-ratio-max),
    108 * var(--rem)
  );
  margin-block-start: clamp(
    var(--spacing-3xl),
    108 * var(--fluid-ratio-max),
    108 * var(--rem)
  );
}
.c-pagination .c-pagination-nav {
  text-align: center;
}
.c-pagination .c-pagination-list {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: clamp(var(--spacing-sm), 24 * var(--fluid-ratio-max), 24 * var(--rem));
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  inline-size: -webkit-fill-available;
  inline-size: -moz-available;
  inline-size: stretch;
}
.c-pagination .c-pagination-item.current {
  background-color: var(--theme-color-1);
  color: var(--white-1);
}
.c-pagination .c-pagination-link {
  -webkit-transition: border var(--duration-default) var(--ease-out-expo);
  transition: border var(--duration-default) var(--ease-out-expo);
}
@media (any-hover: hover) {
  .c-pagination .c-pagination-link:hover {
    border: 1px solid var(--blue-2);
  }
}
.c-pagination .c-pagination-link,
.c-pagination .c-pagination-item.current {
  font-size: calc(var(--ft-18) * var(--rem));
  inline-size: calc(44 * var(--rem));
  aspect-ratio: 1;
  border-radius: 50%;
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(0, 0, 0, 0);
}
@media (max-width: 767px) {
  .c-pagination .c-pagination-link,
  .c-pagination .c-pagination-item.current {
    inline-size: calc(36 * var(--rem));
  }
}
.c-pagination .c-pagination-link.prev,
.c-pagination .c-pagination-link.next,
.c-pagination .c-pagination-item.current.prev,
.c-pagination .c-pagination-item.current.next {
  border: 1px solid var(--blue-2);
  -webkit-transition: -webkit-box-shadow var(--duration-default)
    var(--ease-out-expo);
  transition: -webkit-box-shadow var(--duration-default) var(--ease-out-expo);
  transition: box-shadow var(--duration-default) var(--ease-out-expo);
  transition:
    box-shadow var(--duration-default) var(--ease-out-expo),
    -webkit-box-shadow var(--duration-default) var(--ease-out-expo);
}
@media (any-hover: hover) {
  .c-pagination .c-pagination-link.prev:hover,
  .c-pagination .c-pagination-link.next:hover,
  .c-pagination .c-pagination-item.current.prev:hover,
  .c-pagination .c-pagination-item.current.next:hover {
    -webkit-box-shadow: 2px 2px 4px 0px rgba(0, 0, 0, 0.2);
    box-shadow: 2px 2px 4px 0px rgba(0, 0, 0, 0.2);
  }
}
.c-shape-fill {
  display: inline-block;
  aspect-ratio: 1;
  background: radial-gradient(
    50% 50% at 50% 50%,
    rgba(209, 227, 246, 0.7) 0%,
    rgba(209, 227, 246, 0.35) 100%
  );
  -webkit-filter: blur(3.5px);
  filter: blur(3.5px);
  border-radius: 50%;
  position: absolute;
}
.c-shape {
  display: inline-block;
  aspect-ratio: 1;
  border-radius: 50%;
  position: absolute;
}
.p-cta {
  background-color: var(--theme-color-1);
  padding-block: var(--spacing-5xl);
  -webkit-margin-before: var(--spacing-13xl);
  margin-block-start: var(--spacing-13xl);
}
.p-cta__layout {
  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;
}
@media (max-width: 767px) {
  .p-cta__layout {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: calc(32 * var(--rem));
  }
}
.p-cta__contents {
  color: var(--white-1);
  text-align: center;
  display: inline-grid;
  gap: calc(8 * var(--rem));
}
.p-cta__contents-title {
  font-size: var(--ft-16_18);
}
.p-cta__contents-hours,
.p-cta__contents-contact {
  font-size: var(--ft-12_14);
}
.p-cta__contents-contact {
  -webkit-transition: translate 0.1s var(--ease-out-back);
  transition: translate 0.1s var(--ease-out-back);
}
@media (any-hover: hover) {
  .p-cta__contents-contact:has(a:hover) {
    translate: 0 1px;
  }
}
.p-cta__contents-contact a {
  color: var(--black-1);
  display: inline-block;
  padding-inline: calc(32em / var(--ft-14));
  padding-block: calc(8em / var(--ft-14));
  background-color: var(--blue-2);
  border-radius: 25px;
  -webkit-transition-property:
    background-color,
    -webkit-box-shadow;
  transition-property:
    background-color,
    -webkit-box-shadow;
  transition-property: background-color, box-shadow;
  transition-property:
    background-color,
    box-shadow,
    -webkit-box-shadow;
  -webkit-transition-duration: 0.1s;
  transition-duration: 0.1s;
  -webkit-transition-timing-function: var(--ease-out-back);
  transition-timing-function: var(--ease-out-back);
}
@media (any-hover: hover) {
  .p-cta__contents-contact a:hover {
    background-color: oklch(from var(--blue-2) calc(l + 0.1) c h);
    -webkit-box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, 0.2);
    box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, 0.2);
  }
}
.p-cta__contents-number {
  font-size: var(--ft-20_24);
  -webkit-transition: translate 0.1s var(--ease-out-back);
  transition: translate 0.1s var(--ease-out-back);
}
@media (any-hover: hover) {
  .p-cta__contents-number:has(a:hover) {
    translate: 0 1px;
  }
}
.p-cta__contents-number a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(8 * var(--rem));
  -webkit-transition-property: text-shadow, color;
  transition-property: text-shadow, color;
  -webkit-transition-duration: 0.1s;
  transition-duration: 0.1s;
  -webkit-transition-timing-function: var(--ease-out-back);
  transition-timing-function: var(--ease-out-back);
}
.p-cta__contents-number a::before {
  content: "";
  display: inline-block;
  -webkit-mask-image: url(../image/common/icon-tel.svg);
  mask-image: url(../image/common/icon-tel.svg);
  inline-size: calc(14 * var(--rem));
  aspect-ratio: 1;
  background-color: var(--white-1);
  -webkit-transition: background-color 0.1s var(--ease-out-back);
  transition: background-color 0.1s var(--ease-out-back);
}
@media (any-hover: hover) {
  .p-cta__contents-number a:hover {
    color: color-mix(in sRGB, var(--white-1), #000 5%);
    text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.2);
  }
}
@media (any-hover: hover) {
  .p-cta__contents-number a:hover::before {
    background-color: color-mix(in sRGB, var(--white-1), #000 5%);
  }
}
.p-cta__logo-img {
  --logo-size-max: 187;
  --logo-size-min: 130;
  inline-size: clamp(
    var(--logo-size-min) * var(--rem),
    var(--logo-size-max) * var(--fluid-ratio-max),
    var(--logo-size-max) * var(--rem)
  );
  aspect-ratio: 187/50;
  fill: var(--white-1);
}
.p-location {
  padding-block: calc(24em / var(--base-ft));
  background-color: var(--gray-1);
  font-size: var(--ft-12_16);
  -webkit-margin-after: var(--spacing-5xl);
  margin-block-end: var(--spacing-5xl);
}
.p-location a {
  position: relative;
  z-index: var(--z-index-0);
}
.p-location a::before {
  content: "";
  display: inline-block;
  position: absolute;
  inset-inline: 0;
  inset-block-end: 0;
  -webkit-border-after: 1px solid currentColor;
  border-block-end: 1px solid currentColor;
  opacity: 0;
  -webkit-transition: opacity var(--duration-default) var(--ease-out-expo);
  transition: opacity var(--duration-default) var(--ease-out-expo);
}
@media (any-hover: hover) {
  .p-location a:hover::before {
    opacity: 1;
  }
}
.p-privacy__container h2,
.p-privacy__container h3 {
  font-weight: var(--ft-weight-700);
}
.p-privacy__container h2 {
  -webkit-margin-after: var(--spacing-lg);
  margin-block-end: var(--spacing-lg);
}
.p-privacy__container h2:not(:nth-child(1)) {
  -webkit-margin-before: var(--spacing-2xl);
  margin-block-start: var(--spacing-2xl);
}
.p-privacy__container h3:not(:nth-child(1)) {
  -webkit-margin-before: var(--spacing-2xl);
  margin-block-start: var(--spacing-2xl);
}
.p-privacy__container h2,
.p-privacy__container h3,
.p-privacy__container p {
  font-size: var(--ft-14_16);
  line-height: var(--line-height-md);
}
.p-privacy__container p:not(:nth-child(1), :where(h3 + p)) {
  margin-block: var(--spacing-lg);
}
.p-privacy__container a:not([class]) {
  opacity: 0.7;
  text-decoration: underline;
  -webkit-transition: opacity var(--duration-default) var(--ease-out-expo);
  transition: opacity var(--duration-default) var(--ease-out-expo);
}
@media (any-hover: hover) {
  .p-privacy__container a:not([class]):hover {
    opacity: 1;
  }
}
.p-corporate__pageTitle-bg {
  background: url(../image/corporate/title-bg_pc_2x.webp) center/cover no-repeat;
}
@media (max-width: 767px) {
  .p-corporate__pageTitle-bg {
    background: url(../image/corporate/title-bg_sp_2x.webp) center/cover
      no-repeat;
  }
}
.p-corporate__boxGray {
  padding: var(--spacing-5xl);
  background-color: var(--gray-1);
}
@media (max-width: 767px) {
  .p-corporate__boxGray {
    padding-inline: var(--spacing-xl);
    padding-block: var(--spacing-3xl);
  }
}
.p-corporate__profile-title {
  inline-size: -webkit-max-content;
  inline-size: -moz-max-content;
  inline-size: max-content;
  margin-inline: auto;
  font-size: var(--ft-24_32);
  font-weight: var(--ft-weight-700);
  position: relative;
  z-index: var(--z-index-0);
}
.p-corporate__profile-title::after {
  content: "";
  display: inline-block;
  inline-size: 100%;
  -webkit-border-before: 1px solid currentColor;
  border-block-start: 1px solid currentColor;
  position: absolute;
  inset-inline-start: 50%;
  inset-block-end: 0;
  translate: -50% calc(24em / var(--ft-32));
}
.p-corporate__logoWrap {
  -webkit-margin-before: var(--spacing-9xl);
  margin-block-start: var(--spacing-9xl);
}
.p-corporate__logoImg {
  margin-inline: auto;
}
.p-corporate__figcaption {
  --max-width: 704;
  -webkit-margin-before: var(--spacing-6xl);
  margin-block-start: var(--spacing-6xl);
  font-size: var(--ft-16_18);
  font-weight: var(--ft-weight-700);
  max-inline-size: calc(var(--max-width) * var(--rem));
  margin-inline: auto;
}
.p-corporate__profile-table {
  --th-size: calc((240 / 1180) * 100%);
  -webkit-margin-before: var(--spacing-13xl);
  margin-block-start: var(--spacing-13xl);
}
.p-corporate__profile-table table {
  font-size: var(--ft-14_16);
  inline-size: 100%;
}
.p-corporate__profile-table tr {
  display: grid;
  grid-template-columns: minmax(calc(110 * var(--rem)), var(--th-size)) 1fr;
}
.p-corporate__profile-table tr + tr {
  position: relative;
  z-index: var(--z-index-0);
}
.p-corporate__profile-table tr + tr::before {
  content: "";
  --border-size: calc((1140 / 1180) * 100%);
  inline-size: var(--border-size);
  block-size: 1px;
  background: -webkit-gradient(
    linear,
    left top,
    right top,
    from(rgb(184, 188, 192)),
    to(rgba(184, 188, 192, 0))
  );
  background: linear-gradient(
    to right,
    rgb(184, 188, 192) 0%,
    rgba(184, 188, 192, 0) 100%
  );
  position: absolute;
  inset-inline-end: 0;
  inset-block-start: 0;
}
.p-corporate__profile-table th {
  background-color: var(--theme-color-1);
  font-weight: var(--ft-weight-700);
  color: var(--white-1);
  padding: var(--spacing-md);
  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: start;
  -ms-flex-pack: start;
  justify-content: start;
}
.p-corporate__profile-table td {
  -webkit-padding-start: var(--spacing-md);
  padding-inline-start: var(--spacing-md);
  padding-block: var(--spacing-lg);
}
.p-message__container .p-message__president {
  -webkit-margin-before: var(--spacing-5xl);
  margin-block-start: var(--spacing-5xl);
  display: grid;
  grid-template-columns: repeat(2, minmax(min(343px, 100%), 397px));
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-margin-after: var(--spacing-7xl);
  margin-block-end: var(--spacing-7xl);
}
@media (max-width: 767px) {
  .p-message__container .p-message__president {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: calc(16 * var(--rem));
  }
}
.p-message__container .p-message__president-img img {
  aspect-ratio: 397/550;
}
.p-message__container .p-message__president-name {
  text-align: center;
}
.p-message__container .p-message__president-name-layout {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: start;
}
@media (max-width: 767px) {
  .p-message__container .p-message__president-name-layout {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: end;
    gap: calc(24 * var(--rem));
  }
}
.p-message__container .p-message__president-name-sm {
  font-size: var(--ft-18_24);
}
.p-message__container .p-message__president-name-lg {
  font-size: var(--ft-28_40);
  font-weight: var(--ft-weight-700);
}
.p-message__container .p-message__contentWrap h2 {
  font-size: var(--ft-24_36);
  font-weight: var(--ft-weight-700);
  -webkit-margin-after: var(--spacing-2xl);
  margin-block-end: var(--spacing-2xl);
}
.p-message__container .p-message__contentWrap h2:not(:nth-child(1)) {
  -webkit-margin-before: var(--spacing-5xl);
  margin-block-start: var(--spacing-5xl);
}
.p-message__container .p-message__contentWrap h3:not(:nth-child(1)) {
  -webkit-margin-before: var(--spacing-2xl);
  margin-block-start: var(--spacing-2xl);
}
.p-message__container .p-message__contentWrap p {
  font-size: var(--ft-16_18);
  line-height: var(--line-height-lg);
  -webkit-margin-after: var(--spacing-lg);
  margin-block-end: var(--spacing-lg);
}
.p-message__container .p-message__contentWrap p:not(:nth-child(1)) {
  -webkit-margin-before: var(--spacing-lg);
  margin-block-start: var(--spacing-lg);
}
.p-message__container .p-message__contentWrap .p-message__underline {
  text-decoration: underline;
}
.p-message__container
  .p-message__contentWrap
  .p-message__underline
  + .p-message__underline {
  -webkit-margin-before: 0;
  margin-block-start: 0;
  -webkit-margin-after: 0;
  margin-block-end: 0;
}
.p-service__pageTitle-bg {
  background: url(../image/service/title-bg_pc_2x.webp) center/cover no-repeat;
}
@media (max-width: 767px) {
  .p-service__pageTitle-bg {
    background: url(../image/service/title-bg_sp_2x.webp) center/cover no-repeat;
  }
}
.p-service__inner {
  -webkit-padding-start: max(0 * var(--rem), 40 * var(--fluid-ratio-max));
  padding-inline-start: max(0 * var(--rem), 40 * var(--fluid-ratio-max));
}
.p-service__container .p-section + .p-section {
  -webkit-margin-before: var(--spacing-13xl);
  margin-block-start: var(--spacing-13xl);
}
.p-service__container .p-section {
  --text-size-max: 480;
}
.p-service__container .p-section__contents {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: clamp(var(--spacing-md), 48 * var(--fluid-ratio-max), 48 * var(--rem));
  -webkit-margin-before: var(--spacing-3xl);
  margin-block-start: var(--spacing-3xl);
}
@media (max-width: 767px) {
  .p-service__container .p-section__contents {
    grid-template-columns: 1fr;
    justify-items: center;
    background-color: var(--gray-1);
    border-radius: 15px;
    padding: max(24 * var(--rem), 24 * var(--fluid-ratio-min));
    position: relative;
    z-index: var(--z-index-0);
  }
}
.p-service__container .p-section__title {
  font-size: var(--ft-28_48);
  font-weight: var(--ft-weight-700);
}
.p-service__container .p-section__subtitle {
  display: inline;
  font-size: var(--ft-20_32);
  font-weight: var(--ft-weight-700);
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(transparent),
    color-stop(70%, transparent),
    color-stop(70%, var(--blue-2)),
    to(var(--blue-2))
  );
  background: linear-gradient(
    transparent 0%,
    transparent 70%,
    var(--blue-2) 70%,
    var(--blue-2) 100%
  );
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
.p-service__container .p-section__layout {
  justify-self: end;
}
@media (max-width: 767px) {
  .p-service__container .p-section__layout {
    justify-self: center;
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }
}
.p-service__container .p-section__text {
  font-size: var(--ft-14_16);
  line-height: var(--line-height-md);
  background-color: var(--gray-1);
  border-radius: 30px;
  max-inline-size: calc(var(--text-size-max) * var(--rem));
  padding-inline: clamp(
    var(--spacing-md),
    34 * var(--fluid-ratio-max),
    34 * var(--rem)
  );
  padding-block: clamp(
    var(--spacing-md),
    68 * var(--fluid-ratio-max),
    68 * var(--rem)
  );
}
@media (max-width: 767px) {
  .p-service__container .p-section__text {
    border-radius: 10px;
    background-color: var(--white-1);
  }
}
.p-service__container .p-section:not(:last-child) .p-section__text {
  -webkit-box-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
}
@media (max-width: 767px) {
  .p-service__container .p-section__imgWrap {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
}
.p-service__container .p-section__linkWrap {
  text-align: right;
  -webkit-margin-before: var(--spacing-xl);
  margin-block-start: var(--spacing-xl);
}
@media (max-width: 767px) {
  .p-service__container .p-section__linkWrap {
    display: none;
  }
}
.p-service__container .p-section__link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(24em / var(--ft-24));
  font-size: var(--ft-16_24);
  font-weight: var(--ft-weight-700);
  -webkit-transition: translate 0.1 var(--ease-out-back);
  transition: translate 0.1 var(--ease-out-back);
}
@media (any-hover: hover) {
  .p-service__container .p-section__link:hover {
    translate: 0 1px;
  }
}
@media (any-hover: hover) {
  .p-service__container .p-section__link:hover .p-section__arrow {
    fill: var(--theme-color-2);
  }
}
.p-service__container .p-section__linkWrap-sp {
  display: none;
}
@media (max-width: 767px) {
  .p-service__container .p-section__linkWrap-sp {
    display: block;
    inline-size: 100%;
    text-align: center;
    -webkit-margin-before: var(--spacing-3xl);
    margin-block-start: var(--spacing-3xl);
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
  }
}
.p-service__container .p-section__link-sp {
  --button-size-max: 287;
  inline-size: 100%;
  max-inline-size: calc(var(--button-size-max) * var(--rem));
  font-size: var(--ft-14_24);
}
.p-service__container .p-section__arrow {
  inline-size: calc(60em / var(--ft-24));
  aspect-ratio: 1;
  fill: var(--theme-color-1);
  -webkit-transition: fill 0.1s var(--ease-out-back);
  transition: fill 0.1s var(--ease-out-back);
}
.p-service__container .p-section__imgWrap img {
  --img-width-min: 343;
  aspect-ratio: 502/424;
}
@media (max-width: 767px) {
  .p-service__container .p-section__imgWrap img {
    inline-size: clamp(
      var(--img-width-min) * var(--rem),
      var(--img-width-min) * var(--fluid-ratio-min),
      var(--text-size-max) * var(--rem)
    );
  }
}
.p-service__container .p-section:nth-child(even) .p-section__titleWrap {
  inline-size: -webkit-max-content;
  inline-size: -moz-max-content;
  inline-size: max-content;
  -webkit-margin-start: auto;
  margin-inline-start: auto;
}
@media (max-width: 767px) {
  .p-service__container .p-section:nth-child(even) .p-section__titleWrap {
    inline-size: revert;
    -webkit-margin-start: revert;
    margin-inline-start: revert;
  }
}
.p-service__container .p-section:nth-child(even) .p-section__layout {
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
  justify-self: start;
}
@media (max-width: 767px) {
  .p-service__container .p-section:nth-child(even) .p-section__layout {
    justify-self: revert;
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }
}
.p-service__container .p-section:nth-child(even) .p-section__imgWrap {
  -webkit-margin-start: auto;
  margin-inline-start: auto;
}
@media (max-width: 767px) {
  .p-service__container .p-section:nth-child(even) .p-section__imgWrap {
    -webkit-margin-start: revert;
    margin-inline-start: revert;
  }
}
.p-service__container .p-section:last-child .p-section__textWrap {
  background-color: var(--gray-1);
  border-radius: 30px;
  max-inline-size: calc(480 * var(--rem));
  padding-inline: clamp(
    var(--spacing-lg),
    34 * var(--fluid-ratio-max),
    34 * var(--rem)
  );
  padding-block: clamp(
    var(--spacing-lg),
    27 * var(--fluid-ratio-max),
    27 * var(--rem)
  );
  -webkit-box-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
}
@media (max-width: 767px) {
  .p-service__container .p-section:last-child .p-section__textWrap {
    border-radius: 10px;
    background-color: var(--white-1);
  }
}
.p-service__container .p-section:last-child .p-section__contentsTitle {
  display: inline-grid;
  grid-template-columns: auto 1fr;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(8em / var(--ft-20));
  font-size: var(--ft-16_20);
  font-weight: var(--ft-weight-700);
}
@media (max-width: 767px) {
  .p-service__container .p-section:last-child .p-section__contentsTitle {
    font-weight: var(--base-ft-weight);
  }
}
.p-service__container .p-section:last-child .p-section__contentsTitle::before {
  content: "";
  display: inline-block;
  -webkit-mask-image: url("../image/common/icon-server.svg");
  mask-image: url("../image/common/icon-server.svg");
  -webkit-mask-size: contain;
  mask-size: contain;
  inline-size: calc(36em / var(--ft-20));
  aspect-ratio: 1;
  background-color: currentColor;
}
.p-service__container .p-section:last-child .p-section__text {
  padding: 0;
  background-color: revert;
  -webkit-margin-before: clamp(
    var(--spacing-sm),
    16 * var(--fluid-ratio-max),
    16 * var(--rem)
  );
  margin-block-start: clamp(
    var(--spacing-sm),
    16 * var(--fluid-ratio-max),
    16 * var(--rem)
  );
}
.p-forte__pageTitle-bg {
  background: -webkit-gradient(
    linear,
    left top,
    right top,
    from(rgb(46, 89, 167)),
    to(rgba(46, 89, 167, 0.5))
  );
  background: linear-gradient(
    to right,
    rgb(46, 89, 167) 0%,
    rgba(46, 89, 167, 0.5) 100%
  );
}
.p-forte__container .p-forte__inner-1064 {
  --inner-width-max: 1064;
  --spacing: 40;
  inline-size: min(
    (var(--inner-width-max) + var(--spacing)) * var(--rem),
    100% - var(--spacing) * var(--rem)
  );
  -webkit-padding-start: min(
    var(--spacing) * var(--rem),
    var(--spacing) * var(--fluid-ratio-max)
  );
  padding-inline-start: min(
    var(--spacing) * var(--rem),
    var(--spacing) * var(--fluid-ratio-max)
  );
}
@media (max-width: 767px) {
  .p-forte__container .p-forte__inner-1064 {
    -webkit-padding-start: 0;
    padding-inline-start: 0;
    inline-size: -webkit-fill-available;
    inline-size: -moz-available;
    inline-size: stretch;
  }
}
.p-forte__container .p-forte__subTitle {
  font-size: var(--ft-24_36);
  color: var(--theme-color-1);
}
.p-forte__container .p-forte__subTitle::after {
  content: "";
  display: block;
  block-size: calc(10em / var(--ft-36));
  background: -webkit-gradient(
    linear,
    left top,
    right top,
    from(rgb(0, 124, 195)),
    to(rgba(0, 124, 195, 0.5))
  );
  background: linear-gradient(
    to right,
    rgb(0, 124, 195) 0%,
    rgba(0, 124, 195, 0.5) 100%
  );
}
.p-forte__container .p-forte__subTitle-en {
  font-size: var(--ft-20_24);
  -webkit-margin-start: calc(24em / var(--ft-24));
  margin-inline-start: calc(24em / var(--ft-24));
}
.p-forte__container .p-forte__textWrap {
  font-size: var(--ft-18_24);
  font-weight: var(--ft-weight-700);
  -webkit-margin-before: var(--spacing-5xl);
  margin-block-start: var(--spacing-5xl);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(24em / var(--ft-24));
}
.p-forte__container .p-forte__textWrap:nth-child(2 of .p-forte__textWrap) {
  -webkit-margin-before: var(--spacing-13xl);
  margin-block-start: var(--spacing-13xl);
}
.p-forte__container .p-forte__text-pc-only {
  display: block;
}
@media (max-width: 830px) {
  .p-forte__container .p-forte__text-pc-only {
    display: none;
  }
}
.p-forte__container .p-forte__textIcon-wrap {
  -ms-flex-negative: 0;
  flex-shrink: 0;
}
.p-forte__container .p-forte__textIcon {
  inline-size: calc(90em / var(--ft-24));
  aspect-ratio: 1;
}
.p-forte__container .p-forte__graph {
  display: grid;
  gap: var(--spacing-4xl);
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-margin-before: var(--spacing-4xl);
  margin-block-start: var(--spacing-4xl);
}
.p-forte__container .p-forte__graph-imgWrap {
  background-color: var(--gray-1);
  padding: clamp(
    var(--spacing-3xl),
    64 * var(--fluid-ratio-max),
    64 * var(--rem)
  );
}
@media (max-width: 767px) {
  .p-forte__container .p-forte__graph-imgWrap {
    padding: var(--spacing-xl);
  }
}
.p-forte__container .p-forte__graph-img {
  --img-size-max: calc(468 * var(--rem));
  inline-size: 50%;
  aspect-ratio: 424/358;
  margin-inline: auto;
}
@media (max-width: 767px) {
  .p-forte__container .p-forte__graph-img {
    max-inline-size: var(--img-size-max);
    inline-size: -webkit-fill-available;
    inline-size: -moz-available;
    inline-size: stretch;
  }
}
.p-forte__container .p-forte__graphList {
  color: var(--white-1);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(var(--spacing-sm), 16 * var(--fluid-ratio-max), 16 * var(--rem));
}
@media (max-width: 767px) {
  .p-forte__container .p-forte__graphList {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(6, 1fr);
    gap: calc(8 * var(--rem));
  }
}
.p-forte__container .p-forte__graphList .p-forte__graphItem {
  --gap: calc(8 * var(--rem));
  padding: calc(16 * var(--rem));
  display: inline-grid;
  gap: var(--gap);
}
.p-forte__container .p-forte__graphList .p-forte__graphItem.research {
  background-color: var(--red-1);
}
.p-forte__container
  .p-forte__graphList
  .p-forte__graphItem.research
  .p-forte__graph-descTitle::before {
  -webkit-mask-image: url("../image/forte/icon-survey.svg");
  mask-image: url("../image/forte/icon-survey.svg");
}
.p-forte__container .p-forte__graphList .p-forte__graphItem.expression {
  background-color: var(--gold-1);
}
.p-forte__container
  .p-forte__graphList
  .p-forte__graphItem.expression
  .p-forte__graph-descTitle::before {
  -webkit-mask-image: url("../image/forte/icon-website.svg");
  mask-image: url("../image/forte/icon-website.svg");
}
.p-forte__container .p-forte__graphList .p-forte__graphItem.marketing {
  background-color: var(--lavender-1);
}
.p-forte__container
  .p-forte__graphList
  .p-forte__graphItem.marketing
  .p-forte__graph-descTitle::before {
  -webkit-mask-image: url("../image/forte/icon-consulting.svg");
  mask-image: url("../image/forte/icon-consulting.svg");
}
.p-forte__container .p-forte__graphList .p-forte__graphItem.strategy {
  background-color: var(--teal-1);
}
.p-forte__container
  .p-forte__graphList
  .p-forte__graphItem.strategy
  .p-forte__graph-descTitle::before {
  -webkit-mask-image: url("../image/forte/icon-marketing.svg");
  mask-image: url("../image/forte/icon-marketing.svg");
}
.p-forte__container .p-forte__graphList .p-forte__graphItem.development {
  background-color: var(--theme-color-2);
}
.p-forte__container
  .p-forte__graphList
  .p-forte__graphItem.development
  .p-forte__graph-descTitle::before {
  -webkit-mask-image: url("../image/forte/icon-development.svg");
  mask-image: url("../image/forte/icon-development.svg");
}
.p-forte__container .p-forte__graphList .p-forte__graphItem.operation {
  background-color: var(--theme-color-1);
}
.p-forte__container
  .p-forte__graphList
  .p-forte__graphItem.operation
  .p-forte__graph-descTitle::before {
  -webkit-mask-image: url("../image/forte/icon-operation.svg");
  mask-image: url("../image/forte/icon-operation.svg");
}
.p-forte__container
  .p-forte__graphList
  .p-forte__graphItem
  .p-forte__graph-descTitle {
  font-size: var(--ft-16_18);
  text-decoration: underline;
  display: inline-grid;
  grid-template-columns: auto 1fr;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5em;
}
.p-forte__container
  .p-forte__graphList
  .p-forte__graphItem
  .p-forte__graph-descTitle::before {
  content: "";
  display: inline-block;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  inline-size: 2em;
  aspect-ratio: 1;
  background-color: currentColor;
}
.p-forte__container
  .p-forte__graphList
  .p-forte__graphItem
  .p-forte__graph-descList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.p-forte__container
  .p-forte__graphList
  .p-forte__graphItem
  .p-forte__graph-descItem {
  font-size: var(--ft-14_16);
  -webkit-padding-start: 1em;
  padding-inline-start: 1em;
}
.p-forte__container
  .p-forte__graphList
  .p-forte__graphItem
  .p-forte__graph-descItem::before {
  content: "・";
  -webkit-margin-start: -1em;
  margin-inline-start: -1em;
}
.p-forte__container .p-forte__trackRecord {
  -webkit-margin-before: var(--spacing-4xl);
  margin-block-start: var(--spacing-4xl);
}
.p-forte__container .p-forte__trackRecord-list {
  display: grid;
  gap: var(--spacing-md);
}
@media (max-width: 767px) {
  .p-forte__container .p-forte__trackRecord-list {
    gap: var(--spacing-lg);
  }
}
.p-forte__container .p-forte__trackRecord-list .p-forte__trackRecord-item {
  display: inline-grid;
  grid-template-columns: auto 1fr;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: clamp(var(--spacing-xl), 40 * var(--fluid-ratio-max), 40 * var(--rem));
  background-color: var(--gray-1);
  padding: var(--spacing-2xl);
}
@media (max-width: 767px) {
  .p-forte__container .p-forte__trackRecord-list .p-forte__trackRecord-item {
    grid-template-columns: 1fr;
    gap: var(--spacing-xl);
    padding: var(--spacing-xl);
  }
}
.p-forte__container .p-forte__trackRecord-list .p-forte__trackRecord-imgWrap {
  display: inline-grid;
  place-items: center;
}
.p-forte__container .p-forte__trackRecord-list .p-forte__trackRecord-img {
  --img-width-max: calc(343 * var(--rem));
  margin-inline: auto;
  inline-size: calc(159 * var(--rem));
  aspect-ratio: 159/205;
  background-color: var(--white-1);
}
@media (max-width: 767px) {
  .p-forte__container .p-forte__trackRecord-list .p-forte__trackRecord-img {
    inline-size: 100%;
    max-inline-size: var(--img-width-max);
  }
}
.p-forte__container .p-forte__trackRecord-list .p-forte__trackRecord-text {
  font-size: var(--ft-14_16);
  line-height: var(--line-height-md);
}
.p-forte__container .p-forte__customerAttraction {
  -webkit-margin-before: clamp(
    var(--spacing-xl),
    56 * var(--fluid-ratio-max),
    56 * var(--rem)
  );
  margin-block-start: clamp(
    var(--spacing-xl),
    56 * var(--fluid-ratio-max),
    56 * var(--rem)
  );
  overflow: auto;
}
.p-forte__container .p-forte__customerAttraction dl {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  border: solid 1px rgba(0, 0, 0, 0.2);
  min-inline-size: calc(1064 * var(--rem));
}
.p-forte__container
  .p-forte__customerAttraction
  dl
  .p-forte__customerAttraction-item:nth-child(odd) {
  background-color: var(--gray-1);
}
.p-forte__container
  .p-forte__customerAttraction
  dl
  .p-forte__customerAttraction-item
  + .p-forte__customerAttraction-item {
  -webkit-border-start: solid 1px rgba(0, 0, 0, 0.2);
  border-inline-start: solid 1px rgba(0, 0, 0, 0.2);
}
.p-forte__container .p-forte__customerAttraction dl dt {
  font-size: var(--ft-16_18);
  font-weight: var(--ft-weight-700);
  padding: calc(20em / var(--ft-18));
  -webkit-border-after: solid 1px rgba(0, 0, 0, 0.2);
  border-block-end: solid 1px rgba(0, 0, 0, 0.2);
}
.p-forte__container .p-forte__customerAttraction dl dd {
  font-size: var(--ft-14_16);
  padding-inline: var(--spacing-sm);
  padding-block: calc(20em / var(--base-ft));
}
.p-forte__container .p-forte__customerAttraction dl li {
  -webkit-padding-start: 1em;
  padding-inline-start: 1em;
}
.p-forte__container .p-forte__customerAttraction dl li::before {
  content: "・";
  -webkit-margin-start: -1em;
  margin-inline-start: -1em;
}
.p-single__container {
  display: grid;
  grid-template-rows: auto 1fr auto;
  block-size: 100%;
}
.p-single__container .p-single__inner-820 {
  --inner-width-max: 820;
  inline-size: min(var(--inner-width-max) * var(--rem), 100%);
  margin-inline: auto;
}
.p-single__container .p-single__article .p-single__data {
  display: inline-grid;
  grid-template-columns: repeat(2, auto);
  gap: clamp(var(--spacing-sm), 16 * var(--fluid-ratio-max), 16 * var(--rem));
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.p-single__container .p-single__article .p-single__category {
  -webkit-transition: translate 0.1s var(--ease-out-back);
  transition: translate 0.1s var(--ease-out-back);
}
@media (any-hover: hover) {
  .p-single__container .p-single__article .p-single__category:hover {
    translate: 0 1px;
  }
  .p-single__container
    .p-single__article
    .p-single__category:hover
    .p-single__category-link {
    background-color: var(--theme-color-2);
  }
}
.p-single__container .p-single__article .p-single__category-link {
  font-size: var(--ft-12_14);
  color: var(--white-1);
  background-color: var(--theme-color-1);
  border-radius: 10px;
  padding-block: calc(4em / var(--ft-14));
  padding-inline: calc(16em / var(--ft-14));
  -webkit-transition: background-color 0.1s var(--ease-out-back);
  transition: background-color 0.1s var(--ease-out-back);
}
.p-single__container .p-single__article .p-single__dateLabel {
  font-size: var(--ft-12_14);
}
.p-single__container .p-single__article .p-single__title {
  font-size: var(--ft-20_28);
  font-weight: var(--ft-weight-700);
  -webkit-margin-before: var(--spacing-2xl);
  margin-block-start: var(--spacing-2xl);
  -webkit-margin-after: var(--spacing-lg);
  margin-block-end: var(--spacing-lg);
}
.p-single__container .p-single__article .p-single__eyecatch {
  -webkit-margin-after: var(--spacing-xl);
  margin-block-end: var(--spacing-xl);
}
.p-single__container .p-single__article .p-single__eyecatch-img {
  inline-size: -webkit-fill-available;
  inline-size: -moz-available;
  inline-size: stretch;
  aspect-ratio: 820/461;
  margin-inline: auto;
}
.p-single__container
  .p-single__article
  .p-single__contents
  > :not(:where(:first-child)) {
  -webkit-margin-before: var(--spacing-lg);
  margin-block-start: var(--spacing-lg);
}
.p-single__container .p-single__article .p-single__contents h1 {
  font-size: var(--ft-20_28);
}
.p-single__container .p-single__article .p-single__contents h2 {
  font-size: var(--ft-18_24);
}
.p-single__container .p-single__article .p-single__contents h3 {
  font-size: var(--ft-16_20);
}
.p-single__container .p-single__article .p-single__contents h4 {
  font-size: var(--ft-14_16);
}
.p-single__container .p-single__article .p-single__contents h5 {
  font-size: var(--ft-14_16);
}
.p-single__container .p-single__article .p-single__contents h6 {
  font-size: var(--ft-14_16);
}
.p-single__container .p-single__article .p-single__contents p {
  font-size: var(--ft-14_16);
}
.p-single__container .p-single__article .p-single__contents a:not([class]) {
  opacity: 0.7;
  text-decoration: underline;
  -webkit-transition: opacity var(--duration-default) var(--ease-out-expo);
  transition: opacity var(--duration-default) var(--ease-out-expo);
}
@media (any-hover: hover) {
  .p-single__container
    .p-single__article
    .p-single__contents
    a:not([class]):hover {
    opacity: 1;
  }
}
.p-single__container .p-single__article .p-single__contents ul > li {
  -webkit-padding-start: 1em;
  padding-inline-start: 1em;
}
.p-single__container .p-single__article .p-single__contents ul > li::before {
  content: "・";
  -webkit-margin-start: -1em;
  margin-inline-start: -1em;
}
.p-single__container .p-single__article .p-single__contents ol {
  counter-reset: number 0;
}
.p-single__container .p-single__article .p-single__contents ol > li {
  -webkit-padding-start: 1em;
  padding-inline-start: 1em;
}
.p-single__container .p-single__article .p-single__contents ol > li::before {
  counter-increment: number 1;
  content: counter(number) ".";
  -webkit-margin-start: -1em;
  margin-inline-start: -1em;
}
.p-single__container .p-single__article .p-single__contents table {
  display: flow;
  overflow: auto;
  overscroll-behavior-inline: contain;
}
.p-single__container .p-single__article .p-single__contents table th,
.p-single__container .p-single__article .p-single__contents table td {
  white-space: pre;
  padding: 1rem;
}
.p-single__container .p-single__article .p-single__contents table thead {
  border: 1px solid rgba(0, 0, 0, 0.2);
  background-color: var(--gray-1);
}
.p-single__container .p-single__article .p-single__contents table tbody {
  -webkit-border-after: 1px solid rgba(0, 0, 0, 0.2);
  border-block-end: 1px solid rgba(0, 0, 0, 0.2);
  border-inline: 1px solid rgba(0, 0, 0, 0.2);
}
.p-single__container
  .p-single__article
  .p-single__contents
  table
  tbody
  tr
  + tr {
  -webkit-border-before: 1px solid rgba(0, 0, 0, 0.2);
  border-block-start: 1px solid rgba(0, 0, 0, 0.2);
}
.p-single__container .p-single__article .p-single__contents table tbody th {
  -webkit-border-end: 1px solid rgba(0, 0, 0, 0.2);
  border-inline-end: 1px solid rgba(0, 0, 0, 0.2);
}
.p-single__container
  .p-single__article
  .p-single__contents
  table
  tbody
  td
  + td {
  -webkit-border-start: 1px solid rgba(0, 0, 0, 0.2);
  border-inline-start: 1px solid rgba(0, 0, 0, 0.2);
}
.p-single__container .p-single__article .p-single__contents .wp-block-image {
  display: flow-root;
}
.p-single__container .p-single__article .p-single__contents .alignleft {
  float: left;
  margin-block: var(--spacing-md);
  -webkit-margin-end: var(--spacing-md);
  margin-inline-end: var(--spacing-md);
}
.p-single__container .p-single__article .p-single__contents .alignright {
  float: right;
  margin-block: var(--spacing-md);
  -webkit-margin-start: var(--spacing-md);
  margin-inline-start: var(--spacing-md);
}
.p-single__container .p-single__article .p-single__contents .aligncenter {
  margin-inline: auto;
}
.p-categoryArchive__container {
  display: grid;
  grid-template-rows: auto 1fr auto;
  block-size: 100%;
}
.p-categoryArchive__container .p-categoryArchive__contents {
  --inner-width-max: calc(1180 * var(--rem));
  --column-size: calc(252 * var(--rem));
  --column-gap: calc((var(--inner-width-max) - (var(--column-size) * 4)) / 3);
  display: grid;
  grid-template-columns: repeat(
    auto-fit,
    minmax(min(252 * var(--rem), 100%), 1fr)
  );
  -webkit-column-gap: var(--column-gap);
  -moz-column-gap: var(--column-gap);
  column-gap: var(--column-gap);
  row-gap: var(--spacing-xl);
}
.p-categoryArchive__container
  .p-categoryArchive__contents
  .p-categoryArchive__article {
  border-radius: 14px;
  -webkit-box-shadow: 0 5px 35px 0 rgba(136, 136, 136, 0.25);
  box-shadow: 0 5px 35px 0 rgba(136, 136, 136, 0.25);
}
.p-categoryArchive__container
  .p-categoryArchive__contents
  .p-categoryArchive__link {
  display: grid;
  grid-template-rows: auto auto 1fr;
  min-block-size: calc(272 * var(--rem));
  -webkit-transition: opacity var(--duration-default) linear;
  transition: opacity var(--duration-default) linear;
}
@media (any-hover: hover) {
  .p-categoryArchive__container
    .p-categoryArchive__contents
    .p-categoryArchive__link:hover {
    opacity: 0.6;
  }
}
.p-categoryArchive__container
  .p-categoryArchive__contents
  .p-categoryArchive__link
  .p-categoryArchive__article-title {
  -webkit-box-ordinal-group: 4;
  -ms-flex-order: 3;
  order: 3;
  font-size: calc(var(--ft-15) * var(--rem));
  font-weight: var(--base-ft-weight);
  letter-spacing: var(--letter-spacing-sm);
  padding: var(--spacing-md);
  -webkit-padding-before: var(--spacing-sm);
  padding-block-start: var(--spacing-sm);
}
.p-categoryArchive__container
  .p-categoryArchive__contents
  .p-categoryArchive__link
  .p-categoryArchive__date {
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
  font-size: calc(var(--ft-14) * var(--rem));
  letter-spacing: 0;
  padding-inline: var(--spacing-md);
}
.p-categoryArchive__container
  .p-categoryArchive__contents
  .p-categoryArchive__link
  .p-categoryArchive__thumbnail {
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
}
.p-categoryArchive__container
  .p-categoryArchive__contents
  .p-categoryArchive__link
  .p-categoryArchive__thumbnail
  img {
  inline-size: -webkit-fill-available;
  inline-size: -moz-available;
  inline-size: stretch;
  aspect-ratio: 252/143;
  border-top-left-radius: 14px;
  border-top-right-radius: 14px;
}
.p-categoryArchive__container
  .p-categoryArchive__contents
  .p-categoryArchive__link
  .p-categoryArchive__thumbnail
  .p-categoryArchive__no-image {
  inline-size: -webkit-fill-available;
  inline-size: -moz-available;
  inline-size: stretch;
  aspect-ratio: 252/143;
  border-top-left-radius: 14px;
  border-top-right-radius: 14px;
}
.p-notfound__container .p-notfound__inner-620 {
  max-inline-size: calc(620 * var(--rem));
  margin-inline: auto;
}
.p-notfound__container .p-notfound__title {
  font-size: var(--ft-28_52);
  font-weight: var(--ft-weight-700);
  text-align: center;
  -webkit-margin-after: var(--spacing-4xl);
  margin-block-end: var(--spacing-4xl);
}
.p-notfound__container .p-notfound__search-title {
  font-size: var(--ft-18_24);
  font-weight: var(--ft-weight-700);
  -webkit-margin-before: var(--spacing-2xl);
  margin-block-start: var(--spacing-2xl);
  -webkit-margin-after: var(--spacing-lg);
  margin-block-end: var(--spacing-lg);
}
.p-notfound__container .p-notfound__search-title::before {
  content: "";
  display: inline-block;
  -webkit-mask-image: url(../image/common/icon-check.svg);
  mask-image: url(../image/common/icon-check.svg);
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  inline-size: 1em;
  aspect-ratio: 1;
  background-color: currentColor;
  -webkit-margin-end: var(--spacing-sm);
  margin-inline-end: var(--spacing-sm);
}
.p-notfound__container .p-notfound__category-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: var(--spacing-md);
  background-color: var(--gray-1);
  padding: var(--spacing-lg);
  border-radius: 10px;
}
.p-notfound__container .p-notfound__category-list .p-notfound__category-item {
  -webkit-transition: translate 0.1s var(--ease-out-back);
  transition: translate 0.1s var(--ease-out-back);
}
@media (any-hover: hover) {
  .p-notfound__container
    .p-notfound__category-list
    .p-notfound__category-item:hover {
    translate: 0 1px;
  }
}
@media (any-hover: hover) {
  .p-notfound__container
    .p-notfound__category-list
    .p-notfound__category-item:hover
    .p-notfound__category-link {
    background-color: var(--theme-color-2);
  }
}
.p-notfound__container .p-notfound__category-list .p-notfound__category-link {
  font-size: var(--ft-14_16);
  color: var(--white-1);
  background-color: var(--theme-color-1);
  padding-inline: var(--spacing-md);
  padding-block: var(--spacing-xs);
  border-radius: 10px;
  -webkit-transition: background-color 0.1s var(--ease-out-back);
  transition: background-color 0.1s var(--ease-out-back);
}
.p-notfound__container p {
  font-size: var(--ft-14_16);
}
.p-searchForm {
  -webkit-margin-before: var(--spacing-md);
  margin-block-start: var(--spacing-md);
  position: relative;
  max-inline-size: calc(820 * var(--rem));
  inline-size: -webkit-fill-available;
  inline-size: -moz-available;
  inline-size: stretch;
  margin-inline: auto;
}
.p-searchForm .p-searchForm__input {
  border: 1px solid var(--gray-3);
  inline-size: -webkit-fill-available;
  inline-size: -moz-available;
  inline-size: stretch;
  border-radius: 5px;
  padding: calc(8 * var(--rem));
  font-size: var(--base-ft);
}
.p-searchForm .p-searchForm__button {
  position: absolute;
  inset-inline-end: 0;
  inset-block: 0;
  inline-size: calc(47 * var(--rem));
  background-color: var(--theme-color-1);
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
  display: grid;
  place-items: center;
}
.p-search__results-count {
  font-size: var(--ft-16_18);
  text-align: center;
  -webkit-margin-after: var(--spacing-xl);
  margin-block-end: var(--spacing-xl);
}
.p-search__results-count.not-count {
  -webkit-margin-after: 0;
  margin-block-end: 0;
}
.p-inquiry__container .p-inquiry__description {
  font-size: var(--ft-14_16);
  background-color: var(--gray-1);
  padding: var(--spacing-2xl);
}
@media (max-width: 767px) {
  .p-inquiry__container .p-inquiry__description {
    padding: var(--spacing-lg);
  }
}
.p-inquiry__container .p-inquiry__description p:not(:first-child) {
  -webkit-margin-before: var(--spacing-lg);
  margin-block-start: var(--spacing-lg);
}
.p-inquiry__container .p-inquiry__description p:not(:last-child) {
  -webkit-margin-after: var(--spacing-lg);
  margin-block-end: var(--spacing-lg);
}
.p-inquiry__container .p-inquiry__description a:not([class]) {
  text-decoration: underline;
  -webkit-transition: color var(--duration-default) var(--ease-out-expo);
  transition: color var(--duration-default) var(--ease-out-expo);
}
@media (any-hover: hover) {
  .p-inquiry__container .p-inquiry__description a:not([class]):hover {
    color: oklch(from var(--black-1) l calc(c + 0.4) h);
  }
}
.p-inquiry__container .p-inquiry__form {
  -webkit-margin-before: clamp(
    var(--spacing-5xl),
    128 * var(--fluid-ratio-max),
    128 * var(--rem)
  );
  margin-block-start: clamp(
    var(--spacing-5xl),
    128 * var(--fluid-ratio-max),
    128 * var(--rem)
  );
}
.p-inquiry__container .p-inquiryForm__wrap {
  border-block: 1px solid var(--gray-3);
}
.p-inquiry__container .p-inquiryForm__confirm {
  display: none;
}
.p-inquiry__container .p-inquiryForm__item + .p-inquiryForm__item {
  -webkit-border-before: 1px solid var(--gray-3);
  border-block-start: 1px solid var(--gray-3);
}
.p-inquiry__container .p-inquiryForm__item {
  --label-size: calc(354 * var(--rem));
  --input-size: calc(100% - var(--label-size));
  --spacing: clamp(
    var(--spacing-md),
    calc(24 * var(--fluid-ratio-max)),
    calc(24 * var(--rem))
  );
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  border-inline: 1px solid var(--gray-3);
}
.p-inquiry__container .p-inquiryForm__item .p-inquiryForm__label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-preferred-size: var(--label-size);
  flex-basis: var(--label-size);
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  min-block-size: calc(67 * var(--rem));
  gap: var(--spacing-lg);
  padding: var(--spacing-lg);
  color: var(--white-1);
  background-color: var(--theme-color-1);
  font-size: var(--ft-14_16);
  font-weight: var(--ft-weight-700);
  white-space: pre;
}
.p-inquiry__container .p-inquiryForm__item .p-inquiryForm__required {
  padding: calc(8em / var(--base-ft));
  color: var(--black-1);
  background-color: var(--blue-2);
}
.p-inquiry__container .p-inquiryForm__item .wpcf7-form-control-wrap {
  -ms-flex-preferred-size: var(--input-size);
  flex-basis: var(--input-size);
  min-inline-size: min(346 * var(--rem), 100%);
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  padding: var(--spacing-lg);
  color: var(--gray-4);
}
.p-inquiry__container
  .p-inquiryForm__item
  .wpcf7-form-control-wrap
  .wpcf7-form-control:not(
    .p-inquiryForm__type,
    .p-inquiryForm__tel,
    .p-inquiryForm__postal
  ) {
  inline-size: -webkit-fill-available;
  inline-size: -moz-available;
  inline-size: stretch;
}
.p-inquiry__container
  .p-inquiryForm__item
  .wpcf7-form-control-wrap
  .p-inquiryForm__tel,
.p-inquiry__container
  .p-inquiryForm__item
  .wpcf7-form-control-wrap
  .p-inquiryForm__postal {
  max-inline-size: calc(256 * var(--rem));
}
.p-inquiry__container .p-inquiryForm__item input,
.p-inquiry__container .p-inquiryForm__item select,
.p-inquiry__container .p-inquiryForm__item textarea {
  padding: var(--spacing-md);
  border: 1px solid var(--theme-color-1);
  border-radius: 10px;
}
.p-inquiry__container .p-inquiryForm__item select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  inline-size: calc(278 * var(--rem));
  -webkit-padding-end: var(--spacing-lg);
  padding-inline-end: var(--spacing-lg);
}
.p-inquiry__container
  .p-inquiryForm__item
  .wpcf7-form-control-wrap[data-name="select-type"] {
  position: relative;
  z-index: var(--z-index-0);
}
.p-inquiry__container
  .p-inquiryForm__item
  .wpcf7-form-control-wrap[data-name="select-type"]::after {
  content: "";
  position: absolute;
  inset-inline-start: calc(283 * var(--rem));
  inset-block-start: 50%;
  translate: 0 -50%;
  display: inline-block;
  inline-size: 16px;
  aspect-ratio: 1;
  -webkit-mask-image: var(--icon-chevron-down);
  mask-image: var(--icon-chevron-down);
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  background-color: currentColor;
  pointer-events: none;
}
.p-inquiry__container .p-inquiryForm__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: var(--spacing-xl);
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-margin-before: var(--spacing-5xl);
  margin-block-start: var(--spacing-5xl);
}
.p-inquiry__container .p-inquiryForm__button input {
  font-size: var(--ft-14_16);
  inline-size: calc(270em / var(--base-ft));
  padding: var(--spacing-md);
  color: var(--white-1);
  background-color: var(--theme-color-1);
  border-radius: calc(infinity * 1px);
  cursor: pointer;
  text-align: center;
  -webkit-transition-property: background-color, translate;
  transition-property: background-color, translate;
  -webkit-transition-duration: 0.1s;
  transition-duration: 0.1s;
  -webkit-transition-timing-function: var(--ease-out-back);
  transition-timing-function: var(--ease-out-back);
}
@media (any-hover: hover) {
  .p-inquiry__container
    .p-inquiryForm__button
    input:hover:not(.p-inquiryForm__backButton) {
    background-color: var(--theme-color-2);
  }
}
@media (any-hover: hover) {
  .p-inquiry__container .p-inquiryForm__button input:hover {
    translate: 0 1px;
  }
}
.p-inquiry__container
  .p-inquiryForm__button
  .p-inquiryForm__confirm-button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.p-inquiry__container .p-inquiryForm__button .p-inquiryForm__backButton {
  color: var(--black-1);
  background-color: var(--white-1);
  border: 1px solid var(--black-1);
}
.p-inquiry-thanks__container {
  display: grid;
  grid-template-rows: auto 1fr auto;
  block-size: 100%;
}
.p-inquiry-thanks__container .p-inquiry-thanks__pageTitle {
  font-size: var(--ft-24_32);
  font-weight: var(--ft-weight-700);
  inline-size: -webkit-max-content;
  inline-size: -moz-max-content;
  inline-size: max-content;
  margin-inline: auto;
  text-wrap: pretty;
  -webkit-margin-after: var(--spacing-xl);
  margin-block-end: var(--spacing-xl);
}
.p-inquiry-thanks__container .p-inquiry-thanks__logo {
  -webkit-margin-before: var(--spacing-5xl);
  margin-block-start: var(--spacing-5xl);
}
.p-inquiry-thanks__container
  .p-inquiry-thanks__logo
  .p-inquiry-thanks__logoImg {
  inline-size: calc(140 * var(--rem));
  aspect-ratio: 140/166;
  margin-inline: auto;
}
.p-inquiry-thanks__container p {
  font-size: var(--ft-14_16);
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  margin-inline: auto;
}
.p-frontPage__container .p-frontPage__fv {
  position: relative;
  z-index: var(--z-index-0);
}
.p-frontPage__container .p-frontPage__fv .p-frontPage__fv-slide-image {
  --img-size: 1920;
  --img-height: 1080;
  position: relative;
  z-index: var(--z-index-0);
}
.p-frontPage__container .p-frontPage__fv .p-frontPage__fv-slide-image::before {
  content: "";
  background-color: rgba(0, 0, 0, 0.3);
  inset: 0;
  position: absolute;
  z-index: var(--z-index-0);
}
.p-frontPage__container .p-frontPage__fv .p-frontPage__fv-slide-image img {
  --min-height: calc(
    calc(400 * var(--rem)) + (calc(var(--header-height-min) * var(--rem)))
  );
  inline-size: -webkit-fill-available;
  inline-size: -moz-available;
  inline-size: stretch;
  block-size: 100vh;
  aspect-ratio: var(--img-size) / var(--img-height);
  min-block-size: var(--min-height);
}
@media (max-width: 767px) {
  .p-frontPage__container .p-frontPage__fv .p-frontPage__fv-slide-image img {
    block-size: max(
      var(--min-height),
      (400 + var(--header-height-min)) * var(--fluid-ratio-min)
    );
    min-block-size: revert;
    max-block-size: 100vh;
    aspect-ratio: var(--img-size) / var(--img-height);
  }
}
.p-frontPage__container .p-frontPage__fv .p-frontPage__fv-slide-text {
  font-size: var(--ft-16_64);
  font-weight: var(--ft-weight-700);
  color: var(--white-1);
  text-align: center;
  inline-size: 100%;
  position: absolute;
  inset-inline-start: 50%;
  inset-block-start: 50%;
  translate: -50% -50%;
}
.p-frontPage__container .p-frontPage__fv .swiper-slide[class*="-active"] {
  --easing: cubic-bezier(0.2, 1, 0.2, 1);
}
.p-frontPage__container
  .p-frontPage__fv
  .swiper-slide[class*="-active"]
  .p-frontPage__fv-slide-text {
  -webkit-animation-name: fv-fadeIn;
  animation-name: fv-fadeIn;
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-delay: 0.5s;
  animation-delay: 0.5s;
  -webkit-animation-timing-function: var(--easing);
  animation-timing-function: var(--easing);
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}
.p-frontPage__container .p-frontPage__new-articleWrap {
  -webkit-margin-before: var(--spacing-5xl);
  margin-block-start: var(--spacing-5xl);
}
.p-frontPage__container .p-frontPage__new-article {
  margin-inline: auto;
  border: 1px solid var(--theme-color-1);
  border-radius: calc(infinity * 1px);
  max-inline-size: calc(800 * var(--rem));
  overflow: clip;
  -webkit-transition: translate 0.1s var(--ease-out-back);
  transition: translate 0.1s var(--ease-out-back);
}
@media (any-hover: hover) {
  .p-frontPage__container .p-frontPage__new-article:hover {
    translate: 0 1px;
  }
}
.p-frontPage__container .p-frontPage__new-article:hover .p-frontPage__news {
  background-color: var(--theme-color-2);
}
.p-frontPage__container
  .p-frontPage__new-article
  .p-frontPage__new-article-link {
  display: grid;
  grid-template-columns: auto 1fr;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.p-frontPage__container .p-frontPage__new-article .p-frontPage__news {
  font-size: var(--ft-14_16);
  font-weight: var(--ft-weight-700);
  color: var(--white-1);
  background-color: var(--theme-color-1);
  -webkit-padding-start: calc(25em / var(--base-ft));
  padding-inline-start: calc(25em / var(--base-ft));
  -webkit-padding-end: calc(22em / var(--base-ft));
  padding-inline-end: calc(22em / var(--base-ft));
  display: grid;
  align-self: stretch;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-transition: background-color var(--duration-default)
    var(--ease-out-expo);
  transition: background-color var(--duration-default) var(--ease-out-expo);
}
.p-frontPage__container
  .p-frontPage__new-article
  .p-frontPage__new-article-title {
  font-size: var(--ft-14_16);
  padding-block: calc(16em / var(--base-ft));
  -webkit-padding-start: calc(16em / var(--base-ft));
  padding-inline-start: calc(16em / var(--base-ft));
  -webkit-padding-end: calc(32em / var(--base-ft));
  padding-inline-end: calc(32em / var(--base-ft));
}
.p-frontPage__container .p-frontPage__section.bg-gray {
  background-color: var(--gray-1);
}
.p-frontPage__container .p-frontPage__section {
  position: relative;
  z-index: var(--z-index-0);
  -webkit-margin-before: var(--spacing-13xl);
  margin-block-start: var(--spacing-13xl);
}
.p-frontPage__container
  .p-frontPage__section
  .p-frontPage__sectionTitle-wrap
  .p-frontPage__section-title {
  display: inline-grid;
  grid-template-rows: repeat(2, auto);
  justify-items: center;
  font-size: var(--ft-24_26);
  font-weight: var(--ft-weight-700);
  text-transform: capitalize;
}
.p-frontPage__container
  .p-frontPage__section
  .p-frontPage__sectionTitle-wrap
  .p-frontPage__section-title::after {
  content: "";
  display: inline-block;
  inline-size: calc(60 * var(--rem));
  -webkit-border-before: 2px solid currentColor;
  border-block-start: 2px solid currentColor;
  margin-block: calc(20em / var(--ft-26));
}
.p-frontPage__container
  .p-frontPage__section
  .p-frontPage__sectionTitle-wrap
  .p-frontPage__section-subtitle {
  font-size: var(--ft-14_16);
  font-weight: var(--ft-weight-700);
}
.p-frontPage__container .p-frontPage__section.service {
  padding-block: var(--spacing-5xl);
}
.p-frontPage__container
  .p-frontPage__section.service
  .p-frontPage__section-contents {
  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;
  -webkit-margin-before: var(--spacing-2xl);
  margin-block-start: var(--spacing-2xl);
  gap: clamp(var(--spacing-xl), 80 * var(--fluid-ratio-max), 80 * var(--rem));
}
.p-frontPage__container
  .p-frontPage__section.service
  .p-frontPage__sectionTitle-wrap {
  text-align: center;
}
.p-frontPage__container .p-frontPage__section.service .p-frontPage__contents {
  --contents-width-max: 550;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  inline-size: clamp(
    335 * var(--rem),
    var(--contents-width-max) * var(--fluid-ratio-max),
    var(--contents-width-max) * var(--rem)
  );
}
.p-frontPage__container
  .p-frontPage__section.service
  .p-frontPage__contents-image {
  --img-height-max: 353;
  aspect-ratio: var(--contents-width-max) / var(--img-height-max);
  display: grid;
  place-items: center;
}
.p-frontPage__container
  .p-frontPage__section.service
  .p-frontPage__contentsTitle-wrap {
  inline-size: -webkit-fill-available;
  inline-size: -moz-available;
  inline-size: stretch;
  padding-block: clamp(
    var(--spacing-md),
    24 * var(--fluid-ratio-max),
    var(--spacing-lg)
  );
  background: linear-gradient(
    91.89deg,
    rgba(255, 255, 255, 0.35) 0%,
    rgba(255, 255, 255, 0.15) 100%
  );
  -webkit-box-shadow: 0px 0px 25px rgba(0, 0, 0, 0.25);
  box-shadow: 0px 0px 25px rgba(0, 0, 0, 0.25);
  backdrop-filter: blur(12.5px);
  text-align: center;
}
.p-frontPage__container
  .p-frontPage__section.service
  .p-frontPage__contents-title {
  text-transform: uppercase;
  font-size: var(--ft-18_21);
  font-weight: var(--ft-weight-700);
  letter-spacing: var(--letter-spacing-lg);
}
.p-frontPage__container
  .p-frontPage__section.service
  .p-frontPage__contents-subtitle {
  font-size: var(--ft-12_14);
}
.p-frontPage__container
  .p-frontPage__section.service
  .p-frontPage__contents-description {
  font-size: calc(var(--ft-14) * var(--rem));
  line-height: var(--line-height-md);
  padding: var(--spacing-md);
}
.p-frontPage__container
  .p-frontPage__section.service
  .p-frontPage__contents.webmarketing
  .p-frontPage__contents-image {
  background: url(../image/top/service-marketing_pc_2x.webp) center/cover
    no-repeat;
}
@media (max-width: 767px) {
  .p-frontPage__container
    .p-frontPage__section.service
    .p-frontPage__contents.webmarketing
    .p-frontPage__contents-image {
    background: url(../image/top/service-marketing_sp_2x.webp) center/cover
      no-repeat;
  }
}
.p-frontPage__container
  .p-frontPage__section.service
  .p-frontPage__contents.consulting
  .p-frontPage__contents-image {
  background: url(../image/top/service-consulting_pc_2x.webp) center/cover
    no-repeat;
}
@media (max-width: 767px) {
  .p-frontPage__container
    .p-frontPage__section.service
    .p-frontPage__contents.consulting
    .p-frontPage__contents-image {
    background: url(../image/top/service-consulting_sp_2x.webp) center/cover
      no-repeat;
  }
}
.p-frontPage__container
  .p-frontPage__section.service
  .p-frontPage__contents.consulting
  .p-frontPage__contentsTitle-wrap {
  color: var(--white-1);
}
.p-frontPage__container
  .p-frontPage__section.about
  .p-frontPage__section-contents,
.p-frontPage__container
  .p-frontPage__section.philosophy
  .p-frontPage__section-contents {
  --img-size: calc(590 / var(--inner-width-max) * 100cqi);
  --img-size-max: calc(590 * var(--rem));
  --img-size-min: calc(357 * var(--rem));
  --img-height: 394;
  --text-size: calc(526 / var(--inner-width-max) * 100cqi);
  --contents-gap: 32;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: calc(var(--contents-gap) * var(--rem));
  container: contents/inline-size;
}
.p-frontPage__container .p-frontPage__section.about .p-frontPage__contents-text,
.p-frontPage__container
  .p-frontPage__section.philosophy
  .p-frontPage__contents-text {
  inline-size: var(--text-size);
}
@media (max-width: 767px) {
  .p-frontPage__container
    .p-frontPage__section.about
    .p-frontPage__contents-text,
  .p-frontPage__container
    .p-frontPage__section.philosophy
    .p-frontPage__contents-text {
    inline-size: -webkit-fill-available;
    inline-size: -moz-available;
    inline-size: stretch;
  }
}
.p-frontPage__container
  .p-frontPage__section.about
  .p-frontPage__sectionTitle-wrap,
.p-frontPage__container
  .p-frontPage__section.philosophy
  .p-frontPage__sectionTitle-wrap {
  text-align: center;
}
.p-frontPage__container
  .p-frontPage__section.about
  .p-frontPage__contents-description,
.p-frontPage__container
  .p-frontPage__section.philosophy
  .p-frontPage__contents-description {
  font-size: var(--ft-14_16);
  line-height: var(--line-height-md);
  -webkit-margin-before: var(--spacing-2xl);
  margin-block-start: var(--spacing-2xl);
}
.p-frontPage__container
  .p-frontPage__section.about
  .p-frontPage__contents-image,
.p-frontPage__container
  .p-frontPage__section.philosophy
  .p-frontPage__contents-image {
  inline-size: var(--img-size);
  max-inline-size: var(--img-size-max);
  min-inline-size: min(var(--img-size-min), 100%);
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}
@media (max-width: 767px) {
  .p-frontPage__container
    .p-frontPage__section.about
    .p-frontPage__contents-image,
  .p-frontPage__container
    .p-frontPage__section.philosophy
    .p-frontPage__contents-image {
    max-inline-size: revert;
  }
}
.p-frontPage__container
  .p-frontPage__section.about
  .p-frontPage__contents-image
  img,
.p-frontPage__container
  .p-frontPage__section.philosophy
  .p-frontPage__contents-image
  img {
  inline-size: -webkit-fill-available;
  inline-size: -moz-available;
  inline-size: stretch;
  aspect-ratio: var(--img-size) / var(--img-height);
}
.p-frontPage__container .p-frontPage__section.about {
  position: relative;
  z-index: var(--z-index-0);
}
.p-frontPage__container
  .p-frontPage__section.about
  .p-frontPage__section-contents {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: start;
}
@media (max-width: 767px) {
  .p-frontPage__container
    .p-frontPage__section.about
    .p-frontPage__section-contents {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}
.p-frontPage__container
  .p-frontPage__section.about
  .p-frontPage__contents-text {
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
}
.p-frontPage__container
  .p-frontPage__section.about
  .p-frontPage__contents-image {
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
}
.p-frontPage__container .p-frontPage__section.philosophy {
  position: relative;
  z-index: var(--z-index-0);
  padding-block: var(--spacing-5xl);
}
.p-frontPage__container
  .p-frontPage__section.philosophy
  .p-frontPage__section-contents {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: end;
}
@media (max-width: 767px) {
  .p-frontPage__container
    .p-frontPage__section.philosophy
    .p-frontPage__section-contents {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}
@media (max-width: 767px) {
  .p-frontPage__container
    .p-frontPage__section.philosophy
    .p-frontPage__contents-text {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }
}
@media (max-width: 767px) {
  .p-frontPage__container
    .p-frontPage__section.philosophy
    .p-frontPage__contents-image {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
}
.p-frontPage__container .p-frontPage__section.work {
  position: relative;
  z-index: var(--z-index-0);
}
.p-frontPage__container
  .p-frontPage__section.work
  .p-frontPage__sectionTitle-wrap {
  text-align: center;
}
.p-frontPage__container .p-frontPage__section.work .p-frontPage__work-slider {
  -webkit-margin-before: var(--spacing-2xl);
  margin-block-start: var(--spacing-2xl);
}
.p-frontPage__container
  .p-frontPage__section.work
  .p-frontPage__work-slide-contents {
  display: grid;
  grid-template-rows: auto 1fr;
}
.p-frontPage__container
  .p-frontPage__section.work
  .p-frontPage__work-slide-contents
  .p-frontPage__work-link {
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
  display: grid;
  grid-template-columns: 1fr auto;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: start;
  padding-block: var(--spacing-md);
  padding-inline: var(--spacing-sm);
  font-size: var(--ft-16_20);
  gap: var(--spacing-md);
  -webkit-transition-property: translate, color;
  transition-property: translate, color;
  -webkit-transition-duration: 0.1s;
  transition-duration: 0.1s;
  -webkit-transition-timing-function: var(--ease-out-back);
  transition-timing-function: var(--ease-out-back);
}
@media (any-hover: hover) {
  .p-frontPage__container
    .p-frontPage__section.work
    .p-frontPage__work-slide-contents
    .p-frontPage__work-link:hover {
    color: oklch(from var(--black-1) l calc(c + 0.2) h);
    translate: 0 1px;
  }
}
@media (any-hover: hover) {
  .p-frontPage__container
    .p-frontPage__section.work
    .p-frontPage__work-slide-contents
    .p-frontPage__work-link:hover
    svg {
    fill: oklch(from var(--black-1) l calc(c + 0.2) h);
  }
}
.p-frontPage__container
  .p-frontPage__section.work
  .p-frontPage__work-slide-contents
  .p-frontPage__work-icon-link
  svg {
  inline-size: calc(15em / var(--ft-20));
  fill: var(--black-1);
  -webkit-transition: fill 0.1s var(--ease-out-back);
  transition: fill 0.1s var(--ease-out-back);
}
.p-frontPage__container
  .p-frontPage__section.work
  .p-frontPage__work-slide-contents
  .p-frontPage__work-title {
  font-weight: var(--base-ft-weight);
  letter-spacing: var(--letter-spacing-sm);
  font-weight: var(--ft-weight-700);
  margin-block: var(--leading-trim);
}
.p-frontPage__container
  .p-frontPage__section.work
  .p-frontPage__work-slide-contents
  .p-frontPage__work-title::after {
  content: " 様";
}
.p-frontPage__container
  .p-frontPage__section.work
  .p-frontPage__work-slide-contents
  .p-frontPage__work-image {
  --img-size: 382;
  --img-height: 214;
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
}
.p-frontPage__container
  .p-frontPage__section.work
  .p-frontPage__work-slide-contents
  .p-frontPage__work-image
  img,
.p-frontPage__container
  .p-frontPage__section.work
  .p-frontPage__work-slide-contents
  .p-frontPage__work-image
  svg {
  inline-size: -webkit-fill-available;
  inline-size: -moz-available;
  inline-size: stretch;
  aspect-ratio: var(--img-size) / var(--img-height);
}
.p-frontPage__container
  .p-frontPage__section.work
  .p-frontPage__work-pagination {
  margin-inline: auto;
  -webkit-transform: translateX(0);
  transform: translateX(0);
  -webkit-margin-before: var(--spacing-3xl);
  margin-block-start: var(--spacing-3xl);
}
.p-frontPage__container
  .p-frontPage__section.work
  .p-frontPage__work-pagination
  .swiper-pagination-bullet-active {
  background-color: var(--theme-color-1);
}
@-webkit-keyframes fv-fadeIn {
  0% {
    scale: 0.5;
    opacity: 0;
    -webkit-filter: blur(300px);
    filter: blur(300px);
  }
  100% {
    scale: 1;
    opacity: 1;
    -webkit-filter: blur(0);
    filter: blur(0);
  }
}
@keyframes fv-fadeIn {
  0% {
    scale: 0.5;
    opacity: 0;
    -webkit-filter: blur(300px);
    filter: blur(300px);
  }
  100% {
    scale: 1;
    opacity: 1;
    -webkit-filter: blur(0);
    filter: blur(0);
  }
}
.p-frontPage__fv-shapes {
  position: absolute;
  inset: 0;
  z-index: var(--z-index-1);
  pointer-events: none;
}
.p-frontPage__fv-shapes .p-frontPage__shape {
  inline-size: clamp(
    245 * var(--rem),
    475 * var(--fluid-ratio-max),
    475 * var(--rem)
  );
}
@media (max-width: 767px) {
  .p-frontPage__fv-shapes .p-frontPage__shape {
    inline-size: max(120 * var(--rem), 120 * var(--fluid-ratio-min));
  }
}
.p-frontPage__fv-shapes .p-frontPage__shape:nth-child(1) {
  inset-inline-start: -4%;
  inset-block-start: 0;
  inline-size: clamp(
    245 * var(--rem),
    475 * var(--fluid-ratio-max),
    475 * var(--rem)
  );
}
@media (max-width: 767px) {
  .p-frontPage__fv-shapes .p-frontPage__shape:nth-child(1) {
    inset-block-start: -5%;
    inline-size: max(120 * var(--rem), 120 * var(--fluid-ratio-min));
  }
}
.p-frontPage__fv-shapes .p-frontPage__shape:nth-child(2) {
  inset-inline-end: -3%;
  inset-block-end: 0;
  inline-size: clamp(
    200 * var(--rem),
    330 * var(--fluid-ratio-max),
    330 * var(--rem)
  );
}
@media (max-width: 767px) {
  .p-frontPage__fv-shapes .p-frontPage__shape:nth-child(2) {
    inline-size: max(90 * var(--rem), 90 * var(--fluid-ratio-min));
  }
}
.p-frontPage__service-shapes {
  position: absolute;
  inset: 0;
  z-index: var(--z-index-negative-layer);
  pointer-events: none;
}
.p-frontPage__service-shapes .p-frontPage__shape:nth-child(1) {
  inline-size: clamp(
    300 * var(--rem),
    691 * var(--fluid-ratio-max),
    691 * var(--rem)
  );
  border: 14px solid rgba(209, 227, 246, 0.7);
  inset-inline-start: -3%;
  inset-block-start: -8%;
}
@media (max-width: 767px) {
  .p-frontPage__service-shapes .p-frontPage__shape:nth-child(1) {
    inline-size: clamp(
      300 * var(--rem),
      300 * var(--fluid-ratio-min),
      691 * var(--rem)
    );
  }
}
.p-frontPage__service-shapes .p-frontPage__shape:nth-child(2) {
  inline-size: clamp(
    120 * var(--rem),
    207 * var(--fluid-ratio-max),
    207 * var(--rem)
  );
  inset-inline-start: 0;
  inset-block-end: 45%;
}
@media (max-width: 767px) {
  .p-frontPage__service-shapes .p-frontPage__shape:nth-child(2) {
    inline-size: clamp(
      120 * var(--rem),
      120 * var(--fluid-ratio-min),
      207 * var(--rem)
    );
    inset-block-end: 79%;
  }
}
.p-frontPage__about-shapes {
  position: absolute;
  inset: 0;
  z-index: var(--z-index-negative-layer);
  pointer-events: none;
}
.p-frontPage__about-shapes .p-frontPage__shape {
  inline-size: calc(334 * var(--rem));
  inset-inline-end: -3%;
  inset-block-start: 40%;
}
@media (max-width: 769px) {
  .p-frontPage__about-shapes .p-frontPage__shape {
    inline-size: calc(200 * var(--rem));
    inset-block-start: 58%;
  }
}
.p-frontPage__philosophy-shapes {
  position: absolute;
  inset: 0;
  z-index: var(--z-index-negative-layer);
  pointer-events: none;
}
.p-frontPage__philosophy-shapes .p-frontPage__shape {
  inline-size: calc(360 * var(--rem));
  border: 16px solid rgba(209, 227, 246, 0.7);
  inset-inline-start: -4%;
  inset-block-end: 0;
}
@media (max-width: 767px) {
  .p-frontPage__philosophy-shapes .p-frontPage__shape {
    inline-size: calc(166 * var(--rem));
    inset-block-end: 65%;
  }
}
.p-work__shapes {
  position: absolute;
  inset: 0;
  z-index: var(--z-index-negative-layer);
  pointer-events: none;
}
.p-work__shapes .p-work__shape {
  inline-size: clamp(
    250 * var(--rem),
    468 * var(--fluid-ratio-max),
    468 * var(--rem)
  );
  inset-inline-end: -9%;
  inset-block-end: -73%;
}
@media (max-width: 767px) {
  .p-work__shapes .p-work__shape {
    inline-size: calc(250 * var(--rem));
    inset-block-end: -79%;
  }
}
.p-recruit__linkButton {
  display: inline-block;
  font-size: var(--ft-14_16);
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  color: var(--white-1);
  font-weight: var(--ft-weight-700);
  background-color: var(--theme-color-2);
  position: fixed;
  inset-inline-end: 80px;
  inset-block-start: 0;
  translate: 100% 0;
  padding-inline: calc(16em / var(--base-ft));
  padding-block: calc(8em / var(--base-ft));
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
  -webkit-transition:
    translate 1s var(--ease-out-expo),
    background-color var(--duration-default) var(--ease-out-expo),
    -webkit-box-shadow var(--duration-default) var(--ease-out-expo);
  transition:
    translate 1s var(--ease-out-expo),
    background-color var(--duration-default) var(--ease-out-expo),
    -webkit-box-shadow var(--duration-default) var(--ease-out-expo);
  transition:
    translate 1s var(--ease-out-expo),
    box-shadow var(--duration-default) var(--ease-out-expo),
    background-color var(--duration-default) var(--ease-out-expo);
  transition:
    translate 1s var(--ease-out-expo),
    box-shadow var(--duration-default) var(--ease-out-expo),
    background-color var(--duration-default) var(--ease-out-expo),
    -webkit-box-shadow var(--duration-default) var(--ease-out-expo);
}
@media (any-hover: hover) {
  .p-recruit__linkButton:hover {
    background-color: oklch(from var(--theme-color-2) calc(l + 0.1) c h);
    -webkit-box-shadow: -2px 2px 4px 0 rgba(0, 0, 0, 0.2);
    box-shadow: -2px 2px 4px 0 rgba(0, 0, 0, 0.2);
  }
}
.p-recruit__linkButton.fade-in {
  translate: 0 0;
}
dialog {
  position: fixed;
  inset: 0;
  overscroll-behavior-block: contain;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
  -webkit-transition-property: display, overlay, opacity, translate;
  transition-property: display, overlay, opacity, translate;
  -webkit-transition-timing-function: var(--ease-out-expo);
  transition-timing-function: var(--ease-out-expo);
  transition-behavior: allow-discrete;
  outline: 0;
}
dialog::-ms-backdrop {
  background-color: oklch(from black l c h/80%);
  backdrop-filter: blur(4px);
  transition-duration: inherit;
  -ms-transition-property: opacity;
  transition-property: opacity;
  transition-timing-function: inherit;
}
dialog::backdrop {
  background-color: oklch(from black l c h/80%);
  backdrop-filter: blur(4px);
  -webkit-transition-duration: inherit;
  transition-duration: inherit;
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-timing-function: inherit;
  transition-timing-function: inherit;
}
.p-drawer {
  --drawer-size: 304;
  inline-size: calc(var(--drawer-size) / var(--layout-width-min) * 100%);
  background-color: var(--theme-color-1);
  max-inline-size: calc(440 * var(--rem));
}
@starting-style {
  .p-drawer:modal::-ms-backdrop {
    opacity: 0;
    translate: -100%;
  }
  .p-drawer:modal,
  .p-drawer:modal::backdrop {
    opacity: 0;
    translate: -100%;
  }
}
.p-drawer:not(:modal)::-ms-backdrop {
  opacity: 0;
  translate: -100%;
}
.p-drawer:not(:modal),
.p-drawer:not(:modal)::backdrop {
  opacity: 0;
  translate: -100%;
}
.p-drawer .p-drawer__closeButton {
  inline-size: calc(60 * var(--rem));
  aspect-ratio: 1;
  background-color: var(--white-1);
  position: relative;
  z-index: var(--z-index-0);
}
.p-drawer .p-drawer__closeButton::before,
.p-drawer .p-drawer__closeButton::after {
  content: "";
  display: inline-block;
  inline-size: calc(20 * var(--rem));
  -webkit-border-before: 1px solid var(--theme-color-1);
  border-block-start: 1px solid var(--theme-color-1);
  position: absolute;
  inset-inline-start: 50%;
  inset-block-start: 50%;
  translate: -50% -50%;
}
.p-drawer .p-drawer__closeButton::before {
  rotate: 45deg;
}
.p-drawer .p-drawer__closeButton::after {
  rotate: -45deg;
}
.p-drawer .p-drawer__nav {
  overflow-y: scroll;
  block-size: 100%;
  -webkit-padding-after: var(--spacing-5xl);
  padding-block-end: var(--spacing-5xl);
  overscroll-behavior-block: contain;
}
.p-drawer .p-drawer__list {
  -webkit-border-before: 1px solid var(--gray-3);
  border-block-start: 1px solid var(--gray-3);
  -webkit-border-after: 1px solid var(--gray-3);
  border-block-end: 1px solid var(--gray-3);
}
.p-drawer .p-drawer__item + .p-drawer__item {
  -webkit-border-before: 1px solid var(--gray-3);
  border-block-start: 1px solid var(--gray-3);
}
.p-drawer .p-drawer__item:has(details) {
  color: var(--white-1);
  font-size: var(--ft-14_16);
  font-weight: var(--ft-weigh-700);
}
.p-drawer .p-drawer__item:has(details) summary {
  padding: var(--spacing-lg);
  -webkit-padding-start: var(--spacing-xl);
  padding-inline-start: var(--spacing-xl);
  position: relative;
  -webkit-transition: background-color var(--duration-default)
    var(--ease-out-expo);
  transition: background-color var(--duration-default) var(--ease-out-expo);
}
.p-drawer .p-drawer__item:has(details) summary::after {
  position: absolute;
  inset-inline-end: var(--spacing-lg);
  inset-block-start: 50%;
  translate: 0 -50%;
  content: "";
  display: inline-block;
  inline-size: 1em;
  aspect-ratio: 1;
  -webkit-mask-image: var(--icon-chevron-right);
  mask-image: var(--icon-chevron-right);
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  background-color: currentColor;
  -webkit-transition:
    translate var(--duration-default) var(--ease-out-expo),
    rotate var(--duration-default) var(--ease-out-expo);
  transition:
    translate var(--duration-default) var(--ease-out-expo),
    rotate var(--duration-default) var(--ease-out-expo);
}
@media (any-hover: hover) {
  .p-drawer .p-drawer__item:has(details) summary:hover {
    background-color: var(--theme-color-2);
  }
}
@media (any-hover: hover) {
  .p-drawer .p-drawer__item:has(details) summary:hover::after {
    translate: 5px -50%;
  }
}
.p-drawer .p-drawer__item-link {
  display: grid;
  grid-template-columns: 1fr auto;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: var(--spacing-lg);
  -webkit-padding-start: var(--spacing-xl);
  padding-inline-start: var(--spacing-xl);
  color: var(--white-1);
  font-size: var(--ft-14_16);
  font-weight: var(--ft-weight-700);
  -webkit-transition: background-color var(--duration-default)
    var(--ease-out-expo);
  transition: background-color var(--duration-default) var(--ease-out-expo);
}
.p-drawer .p-drawer__item-link::after {
  content: "";
  inline-size: 1em;
  aspect-ratio: 1;
  -webkit-mask-image: var(--icon-chevron-right);
  mask-image: var(--icon-chevron-right);
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  background-color: currentColor;
  -webkit-transition: translate var(--duration-default) var(--ease-out-expo);
  transition: translate var(--duration-default) var(--ease-out-expo);
}
@media (any-hover: hover) {
  .p-drawer .p-drawer__item-link:hover {
    background-color: var(--theme-color-2);
  }
}
@media (any-hover: hover) {
  .p-drawer .p-drawer__item-link:hover::after {
    translate: 5px 0;
  }
}
.p-drawer details::details-content {
  content-visibility: unset;
  display: grid;
}
@media (prefers-reduced-motion: no-preference) {
  .p-drawer details::details-content {
    -webkit-transition-duration: var(--duration-default);
    transition-duration: var(--duration-default);
    -webkit-transition-property: grid-template-rows;
    transition-property: grid-template-rows;
    transition-property:
      grid-template-rows,
      -ms-grid-rows;
  }
}
.p-drawer details:not([open])::details-content {
  grid-template-rows: 0fr;
}
.p-drawer details[open]::details-content {
  grid-template-rows: 1fr;
}
.p-drawer details .p-drawer__item-link {
  all: unset;
  display: inline-block;
}
.p-drawer details[open] summary::after {
  rotate: 90deg;
}
.p-drawer .p-drawer__summary-link {
  display: grid;
  grid-template-columns: 1fr auto;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: var(--spacing-lg);
  -webkit-padding-start: var(--spacing-xl);
  padding-inline-start: var(--spacing-xl);
  -webkit-transition: background-color var(--duration-default)
    var(--ease-out-expo);
  transition: background-color var(--duration-default) var(--ease-out-expo);
}
.p-drawer .p-drawer__summary-link::after {
  content: "";
  inline-size: 1em;
  aspect-ratio: 1;
  -webkit-mask-image: var(--icon-chevron-right);
  mask-image: var(--icon-chevron-right);
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  background-color: currentColor;
  -webkit-transition: translate var(--duration-default) var(--ease-out-expo);
  transition: translate var(--duration-default) var(--ease-out-expo);
}
@media (any-hover: hover) {
  .p-drawer .p-drawer__summary-link:hover {
    background-color: var(--theme-color-2);
  }
}
.p-drawer .p-drawer__summary-link:hover::after {
  translate: 5px 0;
}
.p-drawerItem__contents {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  padding: var(--spacing-lg);
  padding-inline-start: var(--spacing-xl);
}
.p-drawerItem__link {
  inline-size: max-content;
  align-self: start;
}
.p-drawer .p-drawerItem__contents:has(details) summary {
  block-size: 1lh;
  padding: 0;
  inline-size: 1em;
  margin-inline-start: auto;
}
.p-drawer .p-drawerItem__contents:has(details) summary::after {
  all: revert-layer;
  content: "";
  display: inline-block;
  inline-size: 1em;
  aspect-ratio: 1;
  -webkit-mask-image: var(--icon-chevron-right);
  mask-image: var(--icon-chevron-right);
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  background-color: currentColor;
  -webkit-transition: rotate var(--duration-default) var(--ease-out-expo);
  transition: rotate var(--duration-default) var(--ease-out-expo);
  position: absolute;
  inset-inline-end: 0;
  inset-block-start: 50%;
  translate: 0 -50%;
  rotate: 90deg;
}
.p-drawerItem__link,
.p-drawerItem__details-link {
  font-weight: var(--ft-weight-700);
}
.p-drawer .p-drawer__item:has(details) summary:hover {
  background-color: revert-layer;
}
.p-drawer .p-drawer__item:has(details) summary:hover::after {
  translate: 0 -50%;
}
.p-drawer .p-drawerItem__contents:has(details) summary::after {
  rotate: 90deg;
}
.p-drawer .p-drawerItem__contents:has(details[open]) summary::after {
  rotate: 0deg;
}
.p-drawer .p-drawer__item:has(details) summary:hover::after {
  translate: 0 -50%;
}
.p-drawer .p-drawerItem__contents:has(detail[open]) summary::after {
  rotate: 0deg;
}
.p-drawerItem__details-link-wrap {
  margin-block-start: var(--spacing-lg);
}
.p-drawerItem__details-link {
  display: block;
  inline-size: max-content;
  margin-inline: auto;
}
.p-cta-modal {
  inset: 0;
  overflow: auto;
  -ms-scroll-chaining: none;
  overscroll-behavior: contain;
}
@starting-style {
  .p-cta-modal:modal::-ms-backdrop {
    opacity: 0;
  }
  .p-cta-modal:modal,
  .p-cta-modal:modal::backdrop {
    opacity: 0;
  }
}
.p-cta-modal:not(:modal)::-ms-backdrop {
  opacity: 0;
}
.p-cta-modal:not(:modal),
.p-cta-modal:not(:modal)::backdrop {
  opacity: 0;
}
.p-cta-modal .p-cta-modal__closeButton {
  display: block;
  -webkit-margin-start: auto;
  margin-inline-start: auto;
  inline-size: clamp(
    60 * var(--rem),
    86 * var(--fluid-ratio-max),
    86 * var(--rem)
  );
  aspect-ratio: 1;
  position: relative;
  z-index: var(--z-index-0);
  background-color: oklch(from var(--white-1) l c h/0);
  -webkit-transition: background-color var(--duration-default)
    var(--ease-out-expo);
  transition: background-color var(--duration-default) var(--ease-out-expo);
}
.p-cta-modal .p-cta-modal__closeButton::before,
.p-cta-modal .p-cta-modal__closeButton::after {
  content: "";
  display: inline-block;
  inline-size: calc(20 * var(--rem));
  -webkit-border-before: 1px solid var(--white-1);
  border-block-start: 1px solid var(--white-1);
  position: absolute;
  inset-inline-start: 50%;
  inset-block-start: 50%;
  translate: -50% -50%;
}
.p-cta-modal .p-cta-modal__closeButton::before {
  rotate: 45deg;
}
.p-cta-modal .p-cta-modal__closeButton::after {
  rotate: -45deg;
}
@media (any-hover: hover) {
  .p-cta-modal .p-cta-modal__closeButton:hover {
    background-color: oklch(from white l c h/10%);
  }
}
.p-cta-modal .p-cta-modal__layout {
  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;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: clamp(64 * var(--rem), 300 * var(--fluid-ratio-max), 300 * var(--rem));
  padding: var(--spacing-xl);
}
.p-cta-modal .p-cta-modal__contents {
  display: inline-grid;
  gap: calc(8 * var(--rem));
  color: var(--white-1);
  justify-items: center;
}
.p-cta-modal .p-cta-modal__contents-title {
  font-size: var(--ft-16_18);
}
.p-cta-modal .p-cta-modal__contents-contact,
.p-cta-modal .p-cta-modal__contents-hours {
  font-size: var(--ft-12_14);
}
.p-cta-modal .p-cta-modal__contents-contact {
  -webkit-transition: translate 0.1s var(--ease-out-back);
  transition: translate 0.1s var(--ease-out-back);
}
@media (any-hover: hover) {
  .p-cta-modal .p-cta-modal__contents-contact:has(a:hover) {
    translate: 0 1px;
  }
}
.p-cta-modal .p-cta-modal__contents-contact a {
  color: var(--black-1);
  display: inline-block;
  padding-inline: calc(32em / var(--ft-14));
  padding-block: calc(8em / var(--ft-14));
  background-color: var(--blue-2);
  border-radius: 25px;
  -webkit-transition-property: background-color;
  transition-property: background-color;
  -webkit-transition-duration: 0.1s;
  transition-duration: 0.1s;
  -webkit-transition-timing-function: var(--ease-out-back);
  transition-timing-function: var(--ease-out-back);
}
@media (any-hover: hover) {
  .p-cta-modal .p-cta-modal__contents-contact a:hover {
    background-color: oklch(from var(--blue-2) calc(l + 0.1) c h);
  }
}
.p-cta-modal .p-cta-modal__contents-number {
  font-size: var(--ft-20_24);
  -webkit-transition: translate 0.1s var(--ease-out-back);
  transition: translate 0.1s var(--ease-out-back);
}
@media (any-hover: hover) {
  .p-cta-modal .p-cta-modal__contents-number:has(a:hover) {
    translate: 0 1px;
  }
}
.p-cta-modal .p-cta-modal__contents-number a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(8 * var(--rem));
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.1s;
  transition-duration: 0.1s;
  -webkit-transition-timing-function: var(--ease-out-back);
  transition-timing-function: var(--ease-out-back);
}
.p-cta-modal .p-cta-modal__contents-number a::before {
  content: "";
  display: inline-block;
  -webkit-mask-image: url(../image/common/icon-tel.svg);
  mask-image: url(../image/common/icon-tel.svg);
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  inline-size: calc(14 * var(--rem));
  aspect-ratio: 1;
  background-color: var(--white-1);
}
@media (any-hover: hover) {
  .p-cta-modal .p-cta-modal__contents-number a:hover {
    color: color-mix(in sRGB, var(--white-1), #000 5%);
  }
}
.p-loading {
  display: none;
  position: fixed;
  inset: 0;
  background-color: var(--white-1);
  z-index: var(--z-index-loading);
}
.p-loading .p-loading__logo {
  position: absolute;
  inset-inline-start: 50%;
  inset-block-start: 50%;
  translate: -50% -50%;
  -webkit-transition: opacity 0.5s linear;
  transition: opacity 0.5s linear;
}
.p-loading .p-loading__shapes {
  position: absolute;
  inset: 0;
  z-index: var(--z-index-negative-layer);
}
.p-loading .p-loading__shape {
  inset-inline-start: 50%;
  inset-block-start: 50%;
  translate: -50% -50%;
  inline-size: calc(300 * var(--rem));
  -webkit-animation-name: shape-anim;
  animation-name: shape-anim;
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}
@-webkit-keyframes shape-anim {
  from {
    inline-size: 200%;
  }
  50% {
    inline-size: 0;
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes shape-anim {
  from {
    inline-size: 200%;
  }
  50% {
    inline-size: 0;
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
.u-ft-24_36 {
  font-size: var(--ft-24_36);
}
