@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Fraunces:ital,opsz,wght@0,9..144,100..900;1,9..144,100..900&display=swap");
@layer foundation, vendor, layout, component, project, page, utilities;
:root {
  --sans-serif: "Noto Sans JP", "ヒラギノ角ゴシック", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
  --serif: serif;
  --en-sans: "Fraunces", serif;
  --en-serif: serif;
  --base: #fff;
  --main: #000;
  --sub: #555;
  --gray: #C8CED6;
  --hover-color1: #43b7ff;
  --hover-color2: #2fa;
  --business-bg: #F3F6FA;
  --sp-base-fs: 3.8vw;
  --sp-pad: 5vw;
  --rad: 1.25rem;
}
@media screen and (max-width: 767px) {
  :root {
    --rad: 2.6666666667vw;
  }
}
:root {
  --sp-sec-body-mt: 5.3333333333vw;
}

@property --my-start-color {
  syntax: "<color>";
  inherits: false;
  initial-value: #000;
}
@property --my-end-color {
  syntax: "<color>";
  inherits: false;
  initial-value: #000;
}
@layer foundation {
  body,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  p,
  dl,
  dt,
  dd,
  ol,
  ul,
  figure {
    all: unset;
    display: revert;
  }
  body {
    line-height: 1;
  }
  ol,
  ul {
    list-style: none;
  }
  table {
    border-collapse: collapse;
    border-spacing: 0;
  }
  img {
    vertical-align: middle;
  }
}
@layer foundation {
  html {
    height: 100%;
    scroll-behavior: smooth;
  }
  @media screen and (max-width: 1380px) and (min-width: 767px) {
    html {
      font-size: 1.1224489796vw;
    }
  }
  @media screen and (max-width: 767px) {
    html {
      font-size: var(--sp-base-fs);
    }
  }
  @media screen and (min-width: 768px) {
    [id] {
      scroll-margin-top: 11.875rem;
    }
  }
  @media screen and (max-width: 767px) {
    [id] {
      scroll-margin-top: 18.6666666667vw;
    }
  }
  body {
    text-size-adjust: 100%;
    font-family: var(--sans-serif);
    line-height: 1.8;
    min-width: 320px;
    color: var(--main);
    background: var(--base);
    letter-spacing: 0.02em;
  }
  @media screen and (max-width: 767px) {
    body {
      line-height: 2;
    }
  }
  *,
  *::before,
  *::after {
    box-sizing: border-box;
  }
  :focus-visible {
    outline: 2px solid blue;
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    line-height: 1.5;
  }
  img,
  svg,
  iframe,
  video,
  picture {
    max-width: 100%;
  }
  img {
    letter-spacing: 0;
    font-size: 12px;
    height: auto;
  }
  a {
    text-decoration: none;
    word-break: break-all;
    color: currentColor;
  }
  @media screen and (min-width: 768px) {
    a[href^="tel:"] {
      display: inline-block;
      pointer-events: none;
    }
  }
  small {
    font-size: 80%;
  }
  button,
  input[type=button],
  input[type=submit] {
    cursor: pointer;
    font: inherit;
  }
  button,
  input,
  select,
  textarea {
    font: inherit;
    color: inherit;
  }
  label {
    cursor: pointer;
    display: inline-block;
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    line-height: 1.5;
  }
  summary::-webkit-details-marker {
    display: none;
  }
  summary {
    list-style: none;
    display: block;
    cursor: pointer;
    user-select: none;
  }
}
@layer layout {
  .l-footer {
    position: relative;
    z-index: 2;
    background: #fff;
    padding-top: 7.5rem;
    padding-bottom: 2.5rem;
  }
  @media screen and (max-width: 767px) {
    .l-footer {
      padding-top: 18.6666666667vw;
      padding-bottom: 5.3333333333vw;
    }
  }
  .l-footer__inner {
    padding-left: 4.375rem;
    padding-right: 4.375rem;
  }
  @media screen and (max-width: 767px) {
    .l-footer__inner {
      padding-left: var(--sp-pad);
      padding-right: var(--sp-pad);
    }
  }
  @media screen and (min-width: 768px) {
    .l-footer__row {
      display: grid;
      grid-template-columns: 1fr 16.25rem;
      justify-content: space-between;
    }
  }
  .l-footer__row2 {
    margin-top: 9.375rem;
    display: flex;
  }
  @media screen and (min-width: 768px) {
    .l-footer__row2 {
      justify-content: space-between;
    }
  }
  @media screen and (max-width: 767px) {
    .l-footer__row2 {
      flex-direction: column;
      margin-top: 13.3333333333vw;
    }
  }
  .l-footer__logo {
    width: 12.375rem;
  }
  .l-footer__addr {
    margin-top: 5rem;
    font-size: 0.9375rem;
  }
  @media screen and (max-width: 767px) {
    .l-footer__addr {
      margin-top: 8vw;
    }
  }
  .l-footer__addr span {
    display: block;
  }
  .l-footer__info {
    display: grid;
    align-items: flex-end;
    max-width: calc(16.25rem + 80px);
    gap: 1.25rem;
    grid-template-columns: 1fr 80px;
  }
  .l-footer__tel {
    margin-top: 1.25rem;
    font-size: 0.9375rem;
  }
  @media screen and (max-width: 767px) {
    .l-footer__tel {
      margin-top: 0.5333333333vw;
    }
  }
  .l-footer__nav {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  @media screen and (min-width: 768px) {
    .l-footer__nav {
      gap: 3.125rem 1.875rem;
    }
  }
  @media screen and (max-width: 767px) {
    .l-footer__nav {
      margin-top: 8vw;
      gap: 4vw;
    }
  }
  .l-footer__nav > li {
    font-size: 1.125rem;
    line-height: 1.4;
  }
  .l-footer__nav img {
    width: calc(var(--my-width) / 16 * 1rem);
  }
  .l-footer__nav2 {
    font-size: 0.875rem;
    display: flex;
  }
  @media screen and (min-width: 768px) {
    .l-footer__nav2 {
      gap: 1.5rem;
    }
  }
  @media screen and (max-width: 767px) {
    .l-footer__nav2 {
      justify-content: center;
      gap: 2.6666666667vw;
    }
  }
  @media screen and (max-width: 767px) {
    .l-footer__copyright {
      display: block;
      margin-top: 8vw;
      text-align: center;
    }
  }
}
@layer layout {
  .l-header {
    --transition-sec: .4s;
    position: fixed;
    z-index: 20;
    width: 100%;
    top: 0;
    left: 0;
  }
  @media screen and (min-width: 768px) {
    .l-header.is-scolled .l-header__logo img {
      width: 11.25rem;
    }
  }
  @media screen and (max-width: 767px) {
    .l-header {
      padding: 1.3333333333vw 2.6666666667vw;
    }
  }
  @media screen and (min-width: 768px) {
    .l-header__inner {
      display: grid;
      grid-template-columns: 1fr 56.25rem;
      padding: 1.875rem 2.5rem;
      width: 100%;
    }
  }
  @media screen and (max-width: 767px) {
    .l-header__inner {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 1.3333333333vw 2.6666666667vw;
    }
  }
  @media screen and (min-width: 768px) {
    .l-header__logo {
      display: flex;
      align-items: center;
      padding-top: 0.75rem;
    }
    .l-header__logo img {
      width: 20.4375rem;
      transition: var(--transition-sec) width;
    }
  }
  @media screen and (max-width: 767px) {
    .l-header__logo {
      position: relative;
      z-index: 100;
      width: 29.3333333333vw;
    }
  }
}
@layer layout {
  .l-main {
    position: relative;
    z-index: 2;
  }
}
@layer layout {
  .is-scolled .l-nav__main {
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
  }
  @media screen and (min-width: 768px) {
    .l-nav {
      display: flex;
      align-items: center;
    }
  }
  @media screen and (max-width: 767px) {
    .l-nav.is-expanded .l-nav__body {
      visibility: visible;
      right: 0;
    }
  }
  .l-nav__btn {
    position: relative;
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border-radius: 6.25rem;
    border: 0;
    background: #fff;
  }
  @media screen and (max-width: 767px) {
    .l-nav__btn {
      aspect-ratio: 1/1;
      width: 13.3333333333vw;
    }
  }
  .l-nav__btn[aria-expanded=true] .l-nav__line.is-1 {
    opacity: 0;
  }
  .l-nav__btn[aria-expanded=true] .l-nav__line.is-2 {
    rotate: 45deg;
  }
  .l-nav__btn[aria-expanded=true] .l-nav__line.is-3 {
    opacity: 0;
  }
  .l-nav__btn[aria-expanded=true] .l-nav__line.is-4 {
    rotate: -45deg;
  }
  .l-nav__btn svg {
    aspect-ratio: 1/1;
    width: 40%;
  }
  .l-nav__line {
    transform-origin: center center;
    transition-property: opacity, rotate;
    transition-duration: 0.25s;
    stroke: #666;
    stroke-width: 2px;
  }
  @media screen and (min-width: 768px) {
    .l-nav__main {
      display: flex;
      justify-content: space-between;
      border-radius: 1000rem;
      background-color: rgba(255, 255, 255, 0.85);
      padding: 1.875rem 2.125rem 1.875rem 3.75rem;
      grid-template-columns: 1fr 12.75rem;
      transition: var(--transition-sec) padding;
    }
  }
  @media screen and (max-width: 767px) {
    .l-nav__main {
      width: 100%;
      max-width: 82.6666666667vw;
      padding: 16vw var(--sp-pad) 8.5333333333vw;
    }
  }
  @media screen and (min-width: 768px) {
    .l-nav__body {
      width: 100%;
    }
  }
  @media screen and (max-width: 767px) {
    .l-nav__body {
      background: #fff;
      width: 100%;
      height: 100vh;
      height: 100dvh;
      display: flex;
      align-items: center;
      justify-content: center;
      visibility: hidden;
      position: fixed;
      top: 0;
      right: -100%;
      overflow: auto;
      overscroll-behavior-y: contain;
      transition: 0.3s ease-in;
      z-index: 99;
      padding-top: env(safe-area-inset-top);
      padding-bottom: env(safe-area-inset-bottom);
    }
  }
  .l-nav__list {
    letter-spacing: 0.07em;
    display: flex;
  }
  @media screen and (min-width: 768px) {
    .l-nav__list {
      align-items: center;
      justify-content: center;
      gap: 2.5rem;
    }
  }
  @media screen and (max-width: 767px) {
    .l-nav__list {
      flex-direction: column;
      gap: 0;
      border-top: 1px solid rgba(0, 0, 0, 0.1);
    }
  }
  @media screen and (min-width: 768px) {
    .l-nav__item {
      position: relative;
    }
  }
  @media screen and (min-width: 768px) and (hover: hover) {
    .l-nav__item:hover .l-nav__sub {
      visibility: visible;
      opacity: 1;
      transform: translate(-50%, 0);
      pointer-events: auto;
    }
  }
  @media screen and (min-width: 768px) {
    .l-nav__item:focus-within .l-nav__sub {
      visibility: visible;
      opacity: 1;
      transform: translate(-50%, 0);
      pointer-events: auto;
    }
  }
  @media screen and (max-width: 767px) {
    .l-nav__item {
      border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    }
  }
  @media screen and (min-width: 768px) {
    .l-nav__sub {
      visibility: hidden;
      opacity: 0;
      position: absolute;
      top: calc(100% + 1.125rem);
      left: 50%;
      z-index: 10;
      display: grid;
      gap: 0.25rem;
      min-width: 13.75rem;
      padding: 0.875rem;
      background: #fff;
      border: 1px solid rgba(0, 0, 0, 0.08);
      border-radius: 0.5rem;
      box-shadow: 0 0.75rem 1.75rem rgba(0, 0, 0, 0.14);
      transform: translate(-50%, 0.5rem);
      transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
      pointer-events: none;
    }
    .l-nav__sub::before {
      content: "";
      position: absolute;
      top: -1.125rem;
      left: 0;
      width: 100%;
      height: 1.125rem;
    }
    .l-nav__sub::after {
      content: "";
      position: absolute;
      top: -0.4375rem;
      left: 50%;
      width: 0.875rem;
      height: 0.875rem;
      background: #fff;
      border-top: 1px solid rgba(0, 0, 0, 0.08);
      border-left: 1px solid rgba(0, 0, 0, 0.08);
      transform: translateX(-50%) rotate(45deg);
    }
    .l-nav__sub a {
      display: block;
      padding: 0.625rem 0.75rem;
      border-radius: 0.375rem;
      color: var(--main);
      font-size: 0.875rem;
      line-height: 1.5;
      white-space: nowrap;
      transition: background-color 0.2s ease, color 0.2s ease;
    }
  }
  @media screen and (min-width: 768px) and (hover: hover) {
    .l-nav__sub a:hover {
      color: var(--hover-color1);
    }
  }
  @media screen and (max-width: 767px) {
    .l-nav__sub {
      display: grid;
      gap: 0.5333333333vw;
      margin: 0 0 3.7333333333vw;
      padding: 0 2.6666666667vw;
      border-radius: 1.6vw;
    }
    .l-nav__sub a {
      display: block;
      padding: 1.6vw 2.1333333333vw;
      color: var(--sub);
      font-size: 3.2vw;
      line-height: 1.45;
    }
  }
  .l-nav__link {
    position: relative;
    display: inline-block;
  }
  .l-nav__link::after {
    content: "";
    position: absolute;
    bottom: -4px;
    left: 0;
    display: block;
    width: 0%;
    height: 4px;
    background: var(--main);
    transition: width 0.3s;
    border-radius: 10px;
  }
  @media screen and (max-width: 767px) {
    .l-nav__link {
      display: block;
      padding: 3.7333333333vw 0;
      font-size: 4.2666666667vw;
      font-weight: 700;
      line-height: 1.4;
    }
  }
  @media (hover: hover) {
    .l-nav__link:hover::after {
      width: 100%;
    }
  }
  .l-nav__btn-link {
    width: 11.5rem;
    height: 4rem;
    background: linear-gradient(86deg, var(--my-start-color) 30%, var(--my-end-color) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    border-radius: 100rem;
    font-weight: bold;
    transition: --my-start-color 0.3s ease, --my-end-color 0.3s ease;
  }
  @media screen and (max-width: 767px) {
    .l-nav__btn-link {
      width: 100%;
      height: 13.8666666667vw;
      margin-top: 5.3333333333vw;
      font-size: 3.7333333333vw;
    }
  }
  @media (hover: hover) {
    .l-nav__btn-link:hover {
      --my-start-color: var(--hover-color1);
      --my-end-color: var(--hover-color2);
    }
  }
}
@layer layout {
  .l-page__content {
    position: relative;
    z-index: 2;
  }
  .l-page__main {
    position: relative;
  }
}
@layer component {
  .c-container {
    width: 82.5rem;
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
  }
}
@layer component {
  .c-btn {
    cursor: pointer;
    position: relative;
    display: inline-block;
    line-height: 1.1;
    text-decoration: none;
    user-select: none;
  }
  .c-btn:hover {
    text-decoration: none;
  }
}
@layer component {
  .c-icon {
    position: relative;
    display: inline-block;
    background: 50% 50% no-repeat;
    background-size: contain;
    vertical-align: top;
    line-height: 1;
    font-style: normal;
  }
}
@layer component {
  .c-symbol-motion {
    overflow: visible;
  }
  .c-symbol-motion svg {
    overflow: visible;
  }
  .c-symbol-motion__bounce {
    transform-box: fill-box;
    transform-origin: center;
  }
  .c-symbol-motion.is-fire .c-symbol-motion__bounce {
    animation: symbol-motion-bounce-enter 1.4s ease-in-out 1, symbol-motion-bounce 4s ease-in-out 1.4s infinite;
  }
  @media (prefers-reduced-motion: reduce) {
    .c-symbol-motion.is-fire .c-symbol-motion__bounce {
      animation: none;
    }
  }
  .c-symbol-motion__spin {
    transform-box: fill-box;
    transform-origin: center;
  }
  .c-symbol-motion.is-fire .c-symbol-motion__spin {
    animation: symbol-motion-spin-enter 1.6s ease-in-out 1, symbol-motion-spin 6s ease-in-out 1.6s infinite;
  }
  @media (prefers-reduced-motion: reduce) {
    .c-symbol-motion.is-fire .c-symbol-motion__spin {
      animation: none;
    }
  }
  .c-symbol-motion__pulse {
    transform-box: fill-box;
    transform-origin: center;
  }
  .c-symbol-motion.is-fire .c-symbol-motion__pulse {
    animation: symbol-motion-pulse-enter 1.8s ease-in-out 1, symbol-motion-pulse 7.3s ease-in-out 1.8s infinite;
  }
  @media (prefers-reduced-motion: reduce) {
    .c-symbol-motion.is-fire .c-symbol-motion__pulse {
      animation: none;
    }
  }
  .c-symbol-motion__wobble {
    transform-box: fill-box;
    transform-origin: center;
  }
  .c-symbol-motion.is-fire .c-symbol-motion__wobble {
    animation: symbol-motion-wobble-enter 1.5s ease-in-out 1, symbol-motion-wobble 5.7s ease-in-out 1.5s infinite;
  }
  @media (prefers-reduced-motion: reduce) {
    .c-symbol-motion.is-fire .c-symbol-motion__wobble {
      animation: none;
    }
  }
  .c-symbol-motion__float {
    transform-box: fill-box;
    transform-origin: center;
  }
  .c-symbol-motion.is-fire .c-symbol-motion__float {
    animation: symbol-motion-float-enter 2s ease-in-out 1, symbol-motion-float 8.6s ease-in-out 2s infinite;
  }
  @media (prefers-reduced-motion: reduce) {
    .c-symbol-motion.is-fire .c-symbol-motion__float {
      animation: none;
    }
  }
  @keyframes symbol-motion-bounce-enter {
    0%, 100% {
      transform: translate(0, 0) scale(1);
    }
    15% {
      transform: translateY(5px) scale(1.2, 0.8);
    }
    40% {
      transform: translateY(-24px) scale(0.9, 1.15);
    }
    65% {
      transform: translateY(4px) scale(1.15, 0.85);
    }
    82% {
      transform: translateY(-8px) scale(0.97, 1.03);
    }
  }
  @keyframes symbol-motion-spin-enter {
    0% {
      transform: translate(0, 0) rotate(0deg) scale(1);
    }
    15% {
      transform: translateY(4px) rotate(-20deg) scale(0.9);
    }
    55% {
      transform: translate(8px, -18px) rotate(300deg) scale(1.15);
    }
    78% {
      transform: translateY(2px) rotate(375deg) scale(0.95);
    }
    100% {
      transform: translate(0, 0) rotate(360deg) scale(1);
    }
  }
  @keyframes symbol-motion-bounce {
    0%, 100% {
      transform: translateY(0) scale(1);
    }
    25% {
      transform: translateY(-5px) scale(1.04, 0.96);
    }
    50% {
      transform: translateY(2px) scale(0.97, 1.03);
    }
    75% {
      transform: translateY(-3px) scale(1.02, 0.98);
    }
  }
  @keyframes symbol-motion-spin {
    0%, 100% {
      transform: translate(0, 0) rotate(0deg);
    }
    30% {
      transform: translate(3px, -4px) rotate(12deg);
    }
    65% {
      transform: translate(-2px, 3px) rotate(-10deg);
    }
  }
  @keyframes symbol-motion-pulse-enter {
    0%, 100% {
      transform: scale(1);
    }
    20% {
      transform: scale(0.82);
    }
    48% {
      transform: scale(1.22);
    }
    72% {
      transform: scale(0.94);
    }
    88% {
      transform: scale(1.04);
    }
  }
  @keyframes symbol-motion-pulse {
    0%, 15%, 85%, 100% {
      transform: scale(1);
    }
    38% {
      transform: scale(1.07);
    }
    62% {
      transform: scale(0.98);
    }
  }
  @keyframes symbol-motion-wobble-enter {
    0%, 100% {
      transform: translateY(0) rotate(0deg) scale(1);
    }
    20% {
      transform: translateY(-8px) rotate(-28deg) scale(0.92, 1.08);
    }
    43% {
      transform: translateY(-3px) rotate(22deg) scale(1.08, 0.92);
    }
    65% {
      transform: translateY(2px) rotate(-13deg) scale(0.97, 1.03);
    }
    82% {
      transform: translateY(-1px) rotate(6deg) scale(1.02, 0.98);
    }
  }
  @keyframes symbol-motion-wobble {
    0%, 20%, 80%, 100% {
      transform: rotate(0deg) scale(1);
    }
    35% {
      transform: rotate(-9deg) scale(0.98, 1.02);
    }
    50% {
      transform: rotate(7deg) scale(1.02, 0.98);
    }
    65% {
      transform: rotate(-4deg) scale(1);
    }
  }
  @keyframes symbol-motion-float-enter {
    0%, 100% {
      transform: translateY(0) scale(1);
    }
    30% {
      transform: translateY(-20px) scale(1.08);
    }
    58% {
      transform: translateY(-12px) scale(1.04);
    }
    80% {
      transform: translateY(2px) scale(0.98);
    }
  }
  @keyframes symbol-motion-float {
    0%, 100% {
      transform: translateY(0);
    }
    25% {
      transform: translateY(-7px);
    }
    55% {
      transform: translateY(-10px);
    }
    80% {
      transform: translateY(-3px);
    }
  }
}
@layer component {
  :where(.home-service-item__symbol, .p-business__symbol) svg {
    display: block;
    width: 100%;
    height: auto;
    overflow: visible;
  }
  :where(.home-service-item__symbol, .p-business__symbol) .c-service-symbol__shape {
    transform-box: fill-box;
    transform-origin: center;
    animation: service-symbol-drift 7s ease-in-out infinite;
  }
  :where(.home-service-item__symbol, .p-business__symbol) .c-service-symbol__shape.is-secondary {
    animation-duration: 8.5s;
    animation-delay: -3s;
    animation-direction: reverse;
  }
  :where(.home-service-item__symbol, .p-business__symbol).is-art .c-service-symbol__shape, :where(.home-service-item__symbol, .p-business__symbol).is-web .c-service-symbol__shape {
    animation-delay: -2s;
  }
  :where(.home-service-item__symbol, .p-business__symbol).is-human .c-service-symbol__shape, :where(.home-service-item__symbol, .p-business__symbol).is-broad .c-service-symbol__shape {
    animation-delay: -4s;
  }
  @media (prefers-reduced-motion: reduce) {
    :where(.home-service-item__symbol, .p-business__symbol) .c-service-symbol__shape {
      animation: none;
    }
  }
  @keyframes service-symbol-drift {
    0%, 100% {
      transform: translate(0, 0) rotate(0deg);
    }
    35% {
      transform: translate(3px, -9px) rotate(5deg);
    }
    70% {
      transform: translate(-3px, 3px) rotate(-4deg);
    }
  }
}
@layer component {
  :where(.home-concept-item__symbol, .company-value-item__symbol) {
    z-index: 1;
  }
  :where(.home-concept-item__symbol, .company-value-item__symbol) svg {
    overflow: visible;
  }
  :where(.home-concept-item__symbol, .company-value-item__symbol) .c-value-symbol__shape {
    transform-box: fill-box;
    transform-origin: center;
    transform: translate(var(--value-from-x, 0px), var(--value-from-y, 0px)) scale(0);
  }
  :where(.home-concept-item.is-fire, .company-value-item.is-fire) .is-motion-ready .c-value-symbol__shape,
  :where(.home-concept-item__symbol, .company-value-item__symbol).is-motion-ready.is-fire .c-value-symbol__shape {
    animation: value-symbol-spread 0.7s ease-in-out calc(var(--value-start-delay, 0s) + var(--value-shape-delay) * 0.5) both;
  }
  @keyframes value-symbol-spread {
    0% {
      transform: translate(var(--value-from-x), var(--value-from-y)) scale(0);
    }
    52% {
      transform: translate(var(--value-over-x), var(--value-over-y)) scale(1.08);
    }
    73% {
      transform: translate(var(--value-rebound-x), var(--value-rebound-y)) scale(0.97);
    }
    88% {
      transform: translate(calc(var(--value-over-x) * 0.2), calc(var(--value-over-y) * 0.2)) scale(1.02);
    }
    100% {
      transform: translate(0, 0) scale(1);
    }
  }
  @media (prefers-reduced-motion: reduce) {
    :where(.home-concept-item__symbol, .company-value-item__symbol) .c-value-symbol__shape {
      animation: none !important;
      transform: none;
    }
  }
}
@layer project {
  .p-btn-a {
    --my-width: 21.25rem;
    padding: 1.875rem 1.875rem 1.875rem 2.125rem;
    border: 0;
    border-radius: 100rem;
    width: var(--my-width);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-weight: bold;
    font-size: 1.125rem;
    background: linear-gradient(86deg, var(--my-start-color) 30%, var(--my-end-color) 100%);
    transition: --my-start-color 0.3s ease, --my-end-color 0.3s ease;
  }
  @media screen and (max-width: 767px) {
    .p-btn-a {
      --my-width: 70%;
      padding: 5.0666666667vw 5.0666666667vw 5.0666666667vw 8vw;
    }
  }
  .p-btn-a__icon {
    transition: 0.3s scale;
  }
  @media (hover: hover) {
    .p-btn-a:hover {
      --my-start-color: var(--hover-color1);
      --my-end-color: var(--hover-color2);
    }
    .p-btn-a:hover .p-btn-a__icon {
      scale: 1.1;
    }
    .p-btn-a:hover .p-btn-a__icon svg {
      fill: var(--hover-color1);
    }
  }
  .p-btn-to {
    --my-start-color: #fff;
    --my-end-color: #fff;
    padding: 1.25rem 1.25rem 1.25rem 1.875rem;
    border-radius: 100rem;
    width: 13.75rem;
    color: var(--main);
    border: 1px solid var(--main);
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
    font-size: 1.125rem;
    background: linear-gradient(86deg, var(--my-start-color) 30%, var(--my-end-color) 100%);
    transition: border 0.3s ease, color 0.3s ease, --my-start-color 0.3s ease, --my-end-color 0.3s ease;
  }
  .p-btn-to .c-icon {
    transition: 0.3s scale;
  }
  @media (hover: hover) {
    .p-btn-to:hover {
      --main: #fff;
      --my-start-color: var(--hover-color1);
      --my-end-color: var(--hover-color2);
    }
    .p-btn-to:hover .p-btn-to__icon {
      scale: 1.1;
    }
    .p-btn-to:hover .p-btn-to__icon svg {
      fill: var(--hover-color1);
    }
  }
  .p-btn-more {
    padding: 0.875rem 0.875rem 0.875rem 1.875rem;
    border-radius: 100rem;
    color: #fff;
    display: inline-flex;
    align-items: center;
    gap: 1.25rem;
    background: linear-gradient(86deg, var(--my-start-color) 30%, var(--my-end-color) 100%);
    transition: border 0.3s ease, color 0.3s ease, --my-start-color 0.3s ease, --my-end-color 0.3s ease;
  }
  .p-btn-more .c-icon {
    transition: 0.3s scale;
  }
  @media (hover: hover) {
    .p-btn-more:hover {
      --main: #fff;
      --my-start-color: var(--hover-color1);
      --my-end-color: var(--hover-color2);
    }
    .p-btn-more:hover .p-btn-more__icon {
      scale: 1.1;
    }
    .p-btn-more:hover .p-btn-more__icon svg {
      fill: var(--hover-color1);
    }
  }
  .p-btn-close {
    cursor: pointer;
    background: #000;
    position: fixed;
    right: 0;
    top: 0;
    border: 0;
    width: 3.125rem;
    height: 3.125rem;
    padding: 0;
    transform: translate(50%, -50%);
  }
  .p-btn-close::before, .p-btn-close::after {
    content: "";
    display: block;
    width: 70%;
    height: 2px;
    background: #fff;
    position: absolute;
    left: 15%;
  }
  .p-btn-close::before {
    transform: rotate(-45deg);
  }
  .p-btn-close::after {
    transform: rotate(45deg);
  }
}
@layer project {
  .p-icon-arrow-wrap {
    background: #fff;
    aspect-ratio: 1/1;
    width: 1.875rem;
    border-radius: 6.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .p-icon-arrow-wrap svg {
    width: 0.375rem;
  }
  .p-icon-arrow {
    aspect-ratio: 5.811/9.5;
  }
  .p-icon-arrow.is-top {
    rotate: -90deg;
  }
  .p-icon-arrow.is-bottom {
    rotate: 90deg;
  }
  .p-icon-tax {
    background: #fff;
    border: 1px solid #DBDBDB;
    border-radius: 6.25rem;
    padding: 0.6em 1em;
    font-weight: 500;
  }
  @media screen and (max-width: 767px) {
    .p-icon-tax {
      font-size: 2.9333333333vw;
    }
  }
  .p-icon-toggle {
    display: inline-block;
    position: relative;
    width: 1em;
    height: 1em;
    margin-right: 0.5em;
  }
  .p-icon-toggle::before, .p-icon-toggle::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 2px;
    background: #333;
    transform: translateY(50%);
    border-radius: 10px;
  }
  .p-icon-toggle::before {
    transition: 0.25s transform;
    transform: rotate(90deg);
  }
  .p-icon-toggle::after {
    transform: rotate(0);
  }
  details[open] .p-icon-toggle::before {
    transform: rotate(0);
  }
}
@layer project {
  .p-article-wrapper {
    margin: 0 auto;
    padding: 5rem 0 8.75rem;
    width: 56.25rem;
    max-width: 100%;
  }
  @media screen and (max-width: 1380px) {
    .p-article-wrapper {
      width: 68.75rem;
    }
  }
  @media screen and (max-width: 767px) {
    .p-article-wrapper {
      padding-bottom: 13.3333333333vw;
    }
  }
  .p-article {
    border-radius: var(--rad);
    background: #fff;
    padding: 4.375rem 4.375rem;
  }
  @media screen and (max-width: 767px) {
    .p-article {
      padding: 4vw var(--sp-pad) 10.6666666667vw var(--sp-pad);
    }
  }
  .p-article div.wp-block-columns {
    margin-top: 1.75rem;
  }
  .p-article__hdr {
    margin-bottom: 2.25rem;
  }
  .p-article__ttl {
    font-size: 1.875rem;
    margin-bottom: 1rem;
    padding-bottom: 1.25rem;
    font-weight: 600;
    line-height: 1.4;
    border-bottom: 2px solid var(--main);
  }
  @media screen and (max-width: 767px) {
    .p-article__ttl {
      font-size: 4.8vw;
    }
  }
  .p-article__meta {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    align-items: flex-end;
    margin-top: 0.625rem;
    gap: 0.625rem;
  }
  .p-article__date {
    display: block;
    color: #aaa;
    font-size: 0.75rem;
    margin-bottom: 0.875rem;
  }
  .p-article__tax {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.5rem;
    list-style: none;
  }
  .p-article__tax a {
    font-size: 0.875rem;
  }
  @media screen and (max-width: 767px) {
    .p-article__tax a {
      font-size: 2.9333333333vw;
    }
  }
  .p-article__tax-item {
    margin: 0;
    padding: 0;
  }
  .p-article__tax-item a {
    text-decoration: none;
  }
  .p-article__body {
    line-height: 2;
  }
  .p-article__body *:not(.c-btn, .c-icon, iframe, th, img, svg) {
    all: revert;
  }
  .p-article__body *:first-child {
    margin-top: 0;
  }
  .p-article__body .wp-block-image {
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
  }
  .p-article__body .wp-block-columns.is-layout-flex .wp-block-image {
    margin-top: 0;
    margin-bottom: 0;
  }
  @media screen and (min-width: 768px) {
    .p-article__body .wp-block-columns .wp-block-image:last-child,
    .p-article__body .wp-block-columns .wp-element-caption:last-child,
    .p-article__body .wp-block-columns p:last-child {
      margin-bottom: 0 !important;
    }
  }
  .p-article__body .wp-element-caption {
    font-size: 86%;
    text-align: center;
  }
  .p-article__body th {
    white-space: nowrap;
    font-weight: normal;
    text-align: left;
  }
  .p-article__body iframe[src*="https://www.google.com/maps/"] {
    width: 100%;
    height: auto;
    aspect-ratio: 2/1;
  }
  @media screen and (max-width: 767px) {
    .p-article__body iframe[src*="https://www.google.com/maps/"] {
      aspect-ratio: 1/1;
    }
  }
  .p-article__body iframe[src*="https://www.youtube.com/"] {
    width: 100%;
    height: auto;
    aspect-ratio: 560/315;
  }
  .p-article__body a:not(.c-btn) {
    text-decoration: underline;
  }
  @media (hover: hover) {
    .p-article__body a:not(.c-btn):hover {
      text-decoration: underline;
    }
  }
  .p-article__body a:not(.c-btn)[target=_blank]::after {
    content: "";
    position: relative;
    top: 0.125rem;
    display: inline-block;
    aspect-ratio: 1/1;
    background: url("../img/icon/blank.svg") 0 0/contain no-repeat;
    width: 1rem;
    margin-right: 0.25rem;
    margin-left: 0.5rem;
    vertical-align: baseline;
  }
  .p-article__body a:not(.c-btn)[href*=".pdf"]::after {
    top: 0.125rem;
    aspect-ratio: 387/512;
    background: url("../img/icon/pdf.svg") 0 0/contain no-repeat;
    width: 1rem;
  }
  .p-article__body img {
    max-width: 100% !important;
  }
  .p-article__body h1.wp-block-heading,
  .p-article__body h2.wp-block-heading,
  .p-article__body h3.wp-block-heading,
  .p-article__body h4.wp-block-heading,
  .p-article__body h5.wp-block-heading,
  .p-article__body h6.wp-block-heading {
    line-height: 1.5;
  }
  .p-article__body h2.wp-block-heading {
    margin-top: 1.6em;
  }
  .p-article__body h3.wp-block-heading {
    margin-top: 2em;
  }
  .p-article p:has(.p-btn-more) {
    margin-top: 1.875rem;
  }
  .p-article__btn-wrap {
    margin-top: 3.75rem;
    padding-top: 2.5rem;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    border-top: 1px solid var(--gray);
  }
  @media screen and (max-width: 767px) {
    .p-article__btn-wrap {
      margin-top: 10.6666666667vw;
    }
  }
}
@layer project {
  @media screen and (min-width: 768px) {
    .p-box {
      display: grid;
      grid-template-columns: 1fr 41.25rem;
      gap: 4.375rem;
      margin-top: 6.25rem;
    }
  }
  @media screen and (max-width: 767px) {
    .p-box {
      margin-top: 10.6666666667vw;
    }
  }
  .p-box__en {
    font-family: var(--en-sans);
    font-size: 1.875rem;
  }
  @media screen and (min-width: 768px) {
    .p-box__en {
      border-bottom: 2px solid var(--main);
      padding-bottom: 0.625rem;
      padding-top: 1rem;
    }
  }
  @media screen and (max-width: 767px) {
    .p-box__en {
      display: none;
      font-size: 3.7333333333vw;
      margin-bottom: 0.4vw;
      line-height: 1;
    }
  }
  .p-box__ttl {
    font-weight: bold;
    font-size: 3.5rem;
    margin-bottom: 4.375rem;
  }
  @media screen and (max-width: 767px) {
    .p-box__ttl {
      font-size: 9.3333333333vw;
      margin-bottom: 0.8vw;
    }
  }
  .p-box__lead {
    font-weight: bold;
    font-size: 1.875rem;
  }
  @media screen and (max-width: 767px) {
    .p-box__lead {
      font-size: 4vw;
    }
  }
  .p-box__text {
    line-height: 2.3333333333;
    margin-top: 1.625rem;
  }
  @media screen and (min-width: 768px) {
    .p-box__text {
      font-size: 1.125rem;
    }
  }
  .p-box-content-wrap {
    padding: 2.5rem 0 8.75rem;
  }
  @media screen and (max-width: 767px) {
    .p-box-content-wrap {
      padding-top: 10.6666666667vw;
      padding-bottom: 10px;
    }
  }
  .p-box-content {
    border-radius: var(--rad);
    background: #fff;
    padding: 4.375rem;
  }
  @media screen and (max-width: 767px) {
    .p-box-content {
      padding: 10.6666666667vw var(--sp-pad);
    }
  }
}
@layer project {
  .p-business-wrap {
    background: var(--business-bg);
    margin-top: 11.25rem;
  }
  @media screen and (max-width: 767px) {
    .p-business-wrap {
      margin-top: 26.6666666667vw;
    }
  }
  .p-business {
    padding-top: 6.875rem;
    padding-bottom: 6.25rem;
  }
  @media screen and (max-width: 767px) {
    .p-business {
      padding-top: 16vw;
      padding-bottom: 16vw;
    }
  }
  .p-business__body {
    margin-top: 3.75rem;
  }
  @media screen and (max-width: 767px) {
    .p-business__body {
      margin-top: 9.3333333333vw;
    }
  }
  @media screen and (min-width: 768px) {
    .p-business__items {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      align-items: flex-start;
      gap: 1.875rem 2.5rem;
    }
  }
  @media screen and (max-width: 767px) {
    .p-business__items {
      display: flex;
      flex-direction: column;
      gap: 2.6666666667vw;
      margin-top: var(--SP-sec-body-margin-top);
    }
  }
  .p-business__item {
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.05);
    transition: 0.25s all;
    border-radius: var(--rad);
  }
  @media (hover: hover) {
    .p-business__item:hover {
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.15);
    }
  }
  .p-business__row {
    --my-start-color: #fff;
    --my-end-color: #fff;
    --my-color: var(--main);
    --my-blue: #00c4ff;
    --my-count-color: #adadad;
    border-radius: var(--rad);
    gap: 3.75rem;
    padding: 1.875rem;
    display: grid;
    align-items: center;
    background: linear-gradient(86deg, var(--my-start-color) 30%, var(--my-end-color) 100%);
    transition: --my-start-color 0.9s ease, --my-end-color 0.9s ease;
  }
  .p-business__row * {
    transition: 0.2s;
  }
  @media screen and (max-width: 767px) {
    .p-business__row {
      padding: 4.8vw 5.3333333333vw 6.1333333333vw 5.3333333333vw;
      gap: 2.1333333333vw;
    }
  }
  .p-business__symbol {
    width: calc(var(--my-width) / 16 * 1rem);
  }
  @media screen and (max-width: 767px) {
    .p-business__symbol {
      width: calc(var(--my-width) / 750 * 100vw);
    }
  }
  .p-business__symbol.is-event {
    transform: translate(0.625rem, -0.375rem);
  }
  .p-business__symbol.is-art {
    transform: translateX(-2.6666666667vw);
  }
  @media screen and (min-width: 768px) {
    .p-business__symbol.is-art {
      transform: translateX(-1.25rem);
    }
  }
  @media screen and (min-width: 768px) {
    .p-business__symbol.is-broad {
      transform: translateY(-0.625rem);
    }
  }
  .p-business__hdr {
    border-radius: 0.625rem;
    padding: 1.875rem 2.25rem 1.25rem 1.875rem;
    height: 8.875rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: linear-gradient(to left, #e2fbed 0%, #defaf1 100%);
  }
  @media screen and (max-width: 767px) {
    .p-business__hdr {
      height: 26.6666666667vw;
      padding: 2.1333333333vw 5.3333333333vw;
    }
  }
  .p-business__en {
    font-weight: normal;
    font-style: italic;
    font-size: 0.9375rem;
    letter-spacing: 0.04em;
    line-height: 2.2;
  }
  @media screen and (max-width: 767px) {
    .p-business__en {
      font-size: 2.9333333333vw;
    }
  }
  .p-business__ttl {
    font-size: 2rem;
    line-height: 1.2941176471;
    color: var(--my-color);
    font-weight: 600;
  }
  @media screen and (max-width: 767px) {
    .p-business__ttl {
      font-size: 5.8666666667vw;
    }
  }
  .p-business__text {
    display: none;
    letter-spacing: 0.08em;
    line-height: 1.7333333333;
    color: var(--sub);
  }
  @media screen and (min-width: 768px) {
    .p-business__text {
      padding: 1.625rem 1.875rem 0 1.875rem;
      font-size: 0.9375rem;
    }
  }
  @media screen and (max-width: 767px) {
    .p-business__text {
      padding: 4vw 4.2666666667vw 0 4vw;
      font-size: 3.3333333333vw;
    }
  }
}
@layer project {
  @media screen and (max-width: 767px) {
    .p-breadcrumb {
      display: none;
    }
  }
  .p-breadcrumb__list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.3125rem;
    font-size: 0.75rem;
  }
  .p-breadcrumb [property=itemListElement]:not(:last-child)::after {
    content: " - ";
  }
  .p-breadcrumb a {
    color: #606060;
  }
  .p-breadcrumb a[aria-current=page] {
    cursor: default;
    pointer-events: none;
    text-decoration: none;
  }
}
@layer project {
  .p-contact-wrap {
    position: relative;
    z-index: 2;
    background: #fff;
  }
  @media screen and (min-width: 768px) {
    .p-contact-wrap {
      padding-top: 6.25rem;
    }
  }
  @media screen and (min-width: 768px) {
    .p-contact {
      margin-left: 3.125rem;
      margin-right: 3.125rem;
    }
  }
  .p-contact__inner {
    --my-start-color: #e8fff0;
    --my-end-color: #adf2ff;
    background: linear-gradient(-90deg, var(--my-start-color) 0%, var(--my-end-color) 100%);
    transition: --my-start-color 0.5s ease, --my-end-color 0.5s ease;
  }
  @media screen and (min-width: 768px) {
    .p-contact__inner {
      border-radius: var(--rad);
      display: grid;
      align-items: center;
      grid-template-columns: 1fr 8.75rem;
      height: 28.125rem;
      padding: 0 4.6875rem 0 7.5rem;
    }
  }
  @media screen and (max-width: 767px) {
    .p-contact__inner {
      display: block;
      padding: 16vw var(--sp-pad) 10.6666666667vw var(--sp-pad);
    }
  }
  @media (hover: hover) {
    .p-contact__inner:hover {
      --my-start-color: #adf2ff;
      --my-end-color: #e8fff0;
    }
    .p-contact__inner:hover .p-contact__icon {
      scale: 1.1;
      background: #fff;
      border: 0;
    }
  }
  @media screen and (min-width: 768px) {
    .p-contact__en {
      width: 23.75rem;
      margin-bottom: 1.25rem;
    }
  }
  @media screen and (max-width: 767px) {
    .p-contact__en {
      width: 90%;
      margin-bottom: 2.1333333333vw;
    }
  }
  .p-contact__ttl {
    font-size: 1.125rem;
    font-weight: bold;
    margin-bottom: 2.125rem;
  }
  @media screen and (max-width: 767px) {
    .p-contact__ttl {
      margin-bottom: 2.6666666667vw;
    }
  }
  .p-contact__icon {
    width: 8.75rem;
    background-color: transparent;
    border: 1px solid #BEBEBE;
    transition: 0.3s scale, 0.3s background;
  }
  @media screen and (max-width: 767px) {
    .p-contact__icon {
      width: 16vw;
      margin: 8vw auto 0 auto;
    }
  }
  .p-contact__icon svg {
    width: 1rem;
  }
  @media screen and (max-width: 767px) {
    .p-contact__icon svg {
      width: 2.6666666667vw;
    }
  }
  .p-contact__text {
    line-height: 2.125;
  }
  @media screen and (max-width: 767px) {
    .p-contact__text {
      font-size: 3.2vw;
    }
  }
}
@keyframes circleGradientL {
  0% {
    background: var(--my-left-color);
  }
  50% {
    background: var(--my-right-color);
  }
  100% {
    background: var(--my-left-color);
  }
}
@keyframes circleGradientR {
  0% {
    background: var(--my-right-color);
  }
  50% {
    background: var(--my-left-color);
  }
  100% {
    background: var(--my-right-color);
  }
}
@layer project {
  .p-circles {
    --my-left-color: #c6fad0;
    --my-right-color: #C6F3FA;
    overflow: hidden;
    pointer-events: none;
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 1;
  }
  .p-circles__item {
    position: absolute;
    width: 76.4285714286vw;
    aspect-ratio: 1/1;
    background: var(--my-left-color);
    opacity: 0.5;
    filter: blur(50px);
    border-radius: 1000rem;
    will-change: transform;
  }
  @media screen and (max-width: 767px) {
    .p-circles__item {
      width: 120vw;
    }
  }
  .p-circles__item.is-1 {
    left: 0;
    transform: translate(-16%, -30%);
    animation: circleGradientL 10s ease infinite;
  }
  @media screen and (max-width: 767px) {
    .p-circles__item.is-1 {
      transform: translate(-16%, -10%);
    }
  }
  .p-circles__item.is-2 {
    right: 0;
    background: var(--my-right-color);
    transform: translate(40%, -30%);
    animation: circleGradientR 10s ease infinite;
  }
  @media screen and (max-width: 767px) {
    .p-circles__item.is-2 {
      transform: translate(-6%, -30%);
      top: 50vh;
    }
  }
  .p-circles-a {
    overflow: hidden;
    --my-left-color: #E8FFE8;
    --my-right-color: #E8FFE8;
    --my-bg-color: #fdfff6;
    position: absolute;
    pointer-events: none;
    width: 100%;
    height: 100%;
    background-color: var(--my-bg-color);
    z-index: 1;
  }
  .p-circles-a__item {
    position: absolute;
    width: 76.4285714286vw;
    aspect-ratio: 1/1;
    background: var(--my-left-original-color);
    opacity: 0.5;
    filter: blur(50px);
    border-radius: 1000rem;
    will-change: transform;
  }
  @media screen and (max-width: 767px) {
    .p-circles-a__item {
      opacity: 0.3;
      width: 120vw;
    }
  }
  .p-circles-a__item.is-1 {
    left: 0;
    transform: translate(-16%, 80%);
    animation: circleGradientL 10s ease infinite;
  }
  @media screen and (max-width: 767px) {
    .p-circles-a__item.is-1 {
      transform: translate(-16%, 80%);
    }
  }
  .p-circles-a__item.is-2 {
    right: 0;
    background: var(--my-right-original-color);
    transform: translate(22%, 0%);
    animation: circleGradientR 10s ease infinite;
  }
  @media screen and (max-width: 767px) {
    .p-circles-a__item.is-2 {
      transform: translate(0%, 100%);
      top: 50vh;
    }
  }
  .p-circles-a__item.is-3 {
    right: 0;
    background: var(--my-right-original-color);
    transform: translate(22%, 220%);
    animation: circleGradientR 10s ease infinite;
  }
  @media screen and (max-width: 767px) {
    .p-circles-a__item.is-3 {
      transform: translate(0%, 190%);
      top: 50vh;
    }
  }
  .p-circles-a__item.is-4 {
    left: 0;
    background: var(--my-right-original-color);
    transform: translate(-16%, 316%);
    animation: circleGradientR 10s ease infinite;
  }
  @media screen and (max-width: 767px) {
    .p-circles-a__item.is-4 {
      transform: translate(-16%, 320%);
      top: 50vh;
    }
  }
  .p-circles-b {
    overflow: hidden;
    --my-left-color: #E8FFE8;
    --my-right-color: #E8FFE8;
    --my-bg-color: #fdfff6;
    position: absolute;
    pointer-events: none;
    width: 100%;
    height: 100%;
    background-color: var(--my-bg-color);
    z-index: 1;
  }
  .p-circles-b__item {
    position: absolute;
    width: 76.4285714286vw;
    aspect-ratio: 1/1;
    background: var(--my-left-original-color);
    opacity: 0.5;
    filter: blur(50px);
    border-radius: 1000rem;
    will-change: transform;
  }
  @media screen and (max-width: 767px) {
    .p-circles-b__item {
      opacity: 0.3;
      width: 120vw;
    }
  }
  .p-circles-b__item.is-1 {
    left: 0;
    transform: translate(-30%, -20%);
    animation: circleGradientL 10s ease infinite;
  }
  @media screen and (max-width: 767px) {
    .p-circles-b__item.is-1 {
      transform: translate(-16%, 0%);
    }
  }
  .p-circles-b__item.is-2 {
    right: 0;
    transform: translate(22%, 60%);
    background: var(--my-right-original-color);
    animation: circleGradientR 10s ease infinite;
  }
  @media screen and (max-width: 767px) {
    .p-circles-b__item.is-2 {
      transform: translate(40%, 60%);
      top: 50vh;
    }
  }
  .p-circles-b__item.is-3 {
    left: 0;
    transform: translate(-40%, 130%);
    background: var(--my-right-original-color);
    animation: circleGradientR 10s ease infinite;
  }
  @media screen and (max-width: 767px) {
    .p-circles-b__item.is-3 {
      transform: translate(0%, 190%);
      top: 50vh;
    }
  }
  .p-circles-b__item.is-4 {
    right: 0;
    transform: translate(40%, 180%);
    background: var(--my-right-original-color);
    animation: circleGradientR 10s ease infinite;
  }
  @media screen and (max-width: 767px) {
    .p-circles-b__item.is-4 {
      transform: translate(-16%, 320%);
      top: 50vh;
    }
  }
}
@layer project {
  .p-doc-wrap {
    padding: 2.5rem 0 8.75rem;
  }
  @media screen and (max-width: 767px) {
    .p-doc-wrap {
      padding-top: 10.6666666667vw;
      padding-bottom: 10px;
    }
  }
  .p-doc {
    width: 62.5rem;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    border-radius: var(--rad);
    background: #fff;
    padding: 3.75rem 4.375rem;
    line-height: 2;
  }
  @media screen and (max-width: 767px) {
    .p-doc {
      padding: 9.3333333333vw 9.3333333333vw;
    }
  }
  .p-doc * {
    all: revert;
  }
  .p-doc p + p {
    margin-top: 2em;
    margin-bottom: 2em;
  }
  .p-doc h2, .p-doc h3, .p-doc h4, .p-doc h5, .p-doc h6 {
    line-height: 1.6;
  }
  .p-doc li {
    line-height: 1.8;
  }
  .p-doc li + li {
    margin-top: 1em;
  }
  .p-doc .wp-block-heading {
    margin-top: 1.2em;
    margin-bottom: 1em;
  }
  .p-doc * + h2.wp-block-heading {
    margin-top: 3em;
  }
  .p-doc .p-doc-ttl {
    font-size: 1.375rem;
    margin-top: 3em;
    margin-bottom: 1em;
  }
  @media screen and (max-width: 767px) {
    .p-doc .p-doc-ttl {
      font-size: 4.1333333333vw;
    }
  }
  .p-doc .p-doc-ttl-a {
    font-size: 1.1875rem;
    margin-top: 1.6em;
    margin-bottom: 0;
  }
  @media screen and (max-width: 767px) {
    .p-doc .p-doc-ttl-a {
      font-size: 3.7333333333vw;
    }
  }
  .p-doc a {
    color: currentColor;
  }
  .p-doc .is-nm {
    margin-top: 0;
    margin-bottom: 0;
    line-height: 1.5;
  }
  .p-doc .is-m1 {
    margin-top: 1em;
    margin-bottom: 1em;
  }
}
@layer project {
  .p-form fieldset,
  .p-form legend {
    display: contents;
    border: 0;
    padding: 0;
  }
  .p-form textarea:disabled + label,
  .p-form input[type=checkbox]:disabled + label,
  .p-form input[type=radio]:disabled + label {
    cursor: not-allowed;
  }
  .p-form input[type=checkbox] {
    position: relative;
    appearance: none;
    border: 1px solid #C9CACE;
    width: 1.25rem;
    height: 1.25rem;
    background: #fff;
  }
  .p-form input[type=checkbox][disabled] {
    background: #ccc;
  }
  .p-form input[type=checkbox]:checked::before {
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-1%, -106%);
    width: 80%;
    height: 50%;
    border-left: 0.1875rem solid #000;
    border-bottom: 0.1875rem solid #000;
    rotate: -45deg;
  }
  .p-form input[type=radio] {
    position: relative;
    appearance: none;
    border: 1px solid #C9CACE;
    width: 1.625rem;
    height: 1.625rem;
    background: #fff;
    border-radius: 100rem;
  }
  .p-form input[type=radio][disabled] {
    background: #ccc;
  }
  .p-form input[type=radio]:checked::before {
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 0.875rem;
    height: 0.875rem;
    background: var(--hover-color1);
    border-radius: 100rem;
  }
  .p-form__unit {
    display: grid;
    grid-template-columns: 26.25% 73.75%;
    margin-bottom: 1.25rem;
  }
  .p-form__wbtn {
    text-align: center;
  }
}
@layer project {
  .p-hdr-page {
    padding-top: 14.375rem;
  }
  @media screen and (max-width: 767px) {
    .p-hdr-page {
      padding-top: 34.6666666667vw;
    }
  }
  .p-hdr-page__inner {
    padding: 0 3.125rem;
  }
  @media screen and (max-width: 767px) {
    .p-hdr-page__inner {
      padding: 0 var(--sp-pad);
    }
  }
  .p-hdr-page__en img {
    height: 3rem;
  }
  @media screen and (max-width: 767px) {
    .p-hdr-page__en img {
      height: 9.3333333333vw;
    }
  }
  .p-hdr-page__en2 {
    font-size: 3.625rem;
    font-weight: bold;
    line-height: 1.1;
  }
  .p-hdr-page__ttl {
    font-size: 0.9375rem;
    margin-top: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    line-height: 1.5;
  }
  @media screen and (max-width: 767px) {
    .p-hdr-page__ttl {
      margin-top: 2.1333333333vw;
      font-size: 3.7333333333vw;
    }
  }
  .p-hdr-page__ttl2 {
    font-size: 2.5rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    line-height: 1.5;
  }
  @media screen and (max-width: 767px) {
    .p-hdr-page__ttl2 {
      font-size: 6.6666666667vw;
    }
  }
  .p-hdr-page__breadcrumb {
    margin-top: 3.125rem;
  }
  .p-hdr-a {
    position: relative;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
  }
  .p-hdr-a__en {
    width: calc(var(--my-width) / 16 * 1rem);
  }
  @media screen and (max-width: 767px) {
    .p-hdr-a__en {
      width: calc(var(--my-width) / 16 * 0.76rem);
    }
  }
  .p-hdr-a__ttl {
    font-size: 1.375rem;
    letter-spacing: 0.08em;
  }
  @media screen and (max-width: 767px) {
    .p-hdr-a__ttl {
      font-size: 4.5333333333vw;
    }
  }
  .p-hdr-a__ttl::before {
    content: "／";
    display: inline-block;
    margin-right: 1em;
    margin-left: 0.4em;
  }
  @media screen and (max-width: 767px) {
    .p-hdr-a__ttl::before {
      margin-left: 1.3333333333vw;
      margin-right: 1.8666666667vw;
    }
  }
  .p-hdr-a__symbol {
    position: absolute;
    right: 0;
    bottom: 0;
    width: calc(var(--my-width) / 16 * 1rem);
  }
  @media screen and (max-width: 767px) {
    .p-hdr-a__symbol {
      width: calc(var(--my-width) / 700 * 100vw);
    }
  }
}
@layer project {
  .p-pagination {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0 0.75rem;
    margin-top: 2.5rem;
  }
  .p-pagination > * {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    width: 2em;
    height: 2em;
    text-decoration: none;
    color: currentColor;
    border-radius: 100px;
  }
  .p-pagination > *.current {
    color: #aaa;
    text-decoration: underline;
    text-decoration-thickness: 2px;
  }
  .p-pagination a {
    transition-property: background, color;
    transition-duration: 0.25s;
  }
  @media (hover: hover) {
    .p-pagination a:hover {
      background: var(--main);
      color: #fff;
    }
  }
  .p-pagination .prev, .p-pagination .next,
  .p-pagination .last, .p-pagination .first {
    border: 0;
    width: auto;
    height: auto;
  }
  @media (hover: hover) {
    .p-pagination .prev:hover, .p-pagination .next:hover,
    .p-pagination .last:hover, .p-pagination .first:hover {
      background: inherit;
      color: inherit;
      text-decoration: underline;
      text-underline-offset: 2px;
    }
  }
  .p-pagination .prev::before {
    display: inline-block;
    margin: 0 0.3em;
  }
  .p-pagination .next::after {
    display: inline-block;
    margin: 0 0.3em;
  }
}
@layer project {
  .p-posts-works:not(.splide__list) {
    display: grid;
    gap: 2.375rem;
    grid-template-columns: repeat(3, 1fr);
  }
  @media screen and (max-width: 767px) {
    .p-posts-works:not(.splide__list) {
      display: flex;
      flex-direction: column;
      gap: 12vw;
    }
  }
  @media screen and (max-width: 767px) {
    .p-posts-works {
      --my-rad: 2.6666666667vw;
    }
  }
  .p-posts-works__thumb-wrap {
    border-radius: var(--rad);
    overflow: hidden;
    aspect-ratio: 410/297;
  }
  .p-posts-works__thumb-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 0.3s scale;
  }
  @media (hover: hover) {
    .p-posts-works__box:hover .p-posts-works__thumb-wrap img {
      scale: 1.1;
    }
  }
  .p-posts-works__ttl {
    font-size: 1.375rem;
    font-weight: 500;
    margin: 1.5rem 0 1rem 0;
    letter-spacing: 0.01em;
  }
  @media screen and (max-width: 767px) {
    .p-posts-works__ttl {
      margin: 2.9333333333vw 0 2.1333333333vw 0;
      font-size: 4.8vw;
      font-weight: 600;
      line-height: 1.6;
    }
  }
  .p-posts-works__text {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }
  @media screen and (min-width: 768px) {
    .p-posts-works__text {
      font-size: 0.9375rem;
    }
  }
  .p-posts-works__tax {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.625rem;
    margin-top: 1.25rem;
  }
  @media screen and (max-width: 767px) {
    .p-posts-works-a.is-feature {
      gap: 6.6666666667vw;
    }
  }
  .p-posts-works-a.is-feature .p-posts-works-a__item {
    grid-row: span 5;
  }
  @media screen and (max-width: 767px) {
    .p-posts-works-a.is-feature .p-posts-works-a__item {
      align-items: center;
    }
  }
  @media screen and (max-width: 767px) {
    .p-posts-works-a.is-feature .p-posts-works-a__thumb-wrap {
      grid-row: 1/1;
    }
  }
  @media screen and (max-width: 767px) {
    .p-posts-works-a.is-feature .p-posts-works-a__info,
    .p-posts-works-a.is-feature .p-posts-works-a__text,
    .p-posts-works-a.is-feature .p-posts-works-a__tax {
      grid-column: 1/3;
    }
  }
  @media screen and (max-width: 767px) {
    .p-posts-works-a.is-feature .p-posts-works-a__info {
      margin-top: 1.6vw;
      margin-bottom: 0;
    }
    .p-posts-works-a.is-feature .p-posts-works-a__info p::before {
      content: "・";
    }
  }
  @media screen and (max-width: 767px) {
    .p-posts-works-a.is-feature .p-posts-works-a__text {
      font-size: 0.8125rem;
    }
  }
  @media screen and (max-width: 767px) {
    .p-posts-works-a.is-feature .p-posts-works-a__tax {
      margin-top: 1.8666666667vw;
    }
  }
  .p-posts-works-a .p-posts-works-a__item.is-fade-in {
    opacity: 0;
    animation: postsWorksFadeIn 0.4s ease forwards;
  }
  @media screen and (min-width: 768px) {
    .p-posts-works-a {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 2.5rem;
    }
  }
  @media screen and (max-width: 767px) {
    .p-posts-works-a {
      display: flex;
      flex-direction: column;
      gap: 4.8vw;
    }
  }
  .p-posts-works-a__item {
    display: grid;
  }
  @media screen and (min-width: 768px) {
    .p-posts-works-a__item {
      grid-template-rows: subgrid;
      grid-row: span 3;
      gap: 0rem;
    }
  }
  @media screen and (max-width: 767px) {
    .p-posts-works-a__item {
      align-items: flex-start;
      grid-template-columns: 29.3333333333vw 1fr;
      gap: 0 4vw;
    }
  }
  @media (hover: hover) {
    .p-posts-works-a a:hover .p-posts-works-a__thumb-wrap img {
      scale: 1.1;
    }
  }
  .p-posts-works-a__thumb-wrap {
    border-radius: var(--rad);
    overflow: hidden;
    aspect-ratio: 410/297;
  }
  @media screen and (max-width: 767px) {
    .p-posts-works-a__thumb-wrap {
      grid-row: 1/3;
      aspect-ratio: 4/3;
    }
  }
  .p-posts-works-a__thumb-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 0.3s scale;
  }
  .p-posts-works-a__ttl {
    font-size: 1.375rem;
    font-weight: 500;
    margin: 1.5rem 0 0.8125rem 0;
    letter-spacing: 0.01em;
  }
  @media screen and (max-width: 767px) {
    .p-posts-works-a__ttl {
      margin: 0 0 1.6vw 0;
      font-size: 4.2666666667vw;
      line-height: 1.4;
    }
  }
  .p-posts-works-a__info {
    margin-bottom: 0.875rem;
    font-size: 0.9375rem;
  }
  .p-posts-works-a__text {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }
  @media screen and (min-width: 768px) {
    .p-posts-works-a__text {
      font-size: 0.9375rem;
    }
  }
  .p-posts-works-a__tax {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.625rem;
    margin-top: 1rem;
  }
  @media screen and (max-width: 767px) {
    .p-posts-works-a__tax {
      margin-top: 1.3333333333vw;
    }
  }
  .p-posts-upcoming.js-feature-works {
    overflow: hidden;
    transition: max-height 0.5s ease;
  }
  @media screen and (min-width: 768px) {
    .p-posts-upcoming {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1.875rem 2.25rem;
    }
  }
  @media screen and (max-width: 767px) {
    .p-posts-upcoming {
      display: flex;
      flex-direction: column;
      gap: 4vw;
    }
  }
  .p-posts-upcoming__item {
    background: #fff;
    border-radius: var(--rad);
    padding: 2.5rem 1.75rem;
  }
  @media screen and (min-width: 768px) {
    .p-posts-upcoming__item {
      display: grid;
      grid-template-rows: subgrid;
      grid-row: span 4;
      gap: 0;
    }
  }
  @media screen and (max-width: 767px) {
    .p-posts-upcoming__item {
      padding: 6.6666666667vw 5.3333333333vw;
    }
  }
  .p-posts-upcoming__meta {
    display: grid;
    align-items: center;
    grid-template-columns: 1fr 6.875rem;
    gap: 1.25rem;
  }
  .p-posts-upcoming__status {
    --my-color: #eb6e36;
    text-align: right;
  }
  .p-posts-upcoming__status.is-開催企画中 {
    --my-color: #43b7ff;
  }
  .p-posts-upcoming__status p {
    display: inline-block;
    background: var(--my-color);
    color: #fff;
    padding: 0.25rem 1.25rem;
    border-radius: 100rem;
    font-size: 0.75rem;
  }
  @media screen and (max-width: 767px) {
    .p-posts-upcoming__status p {
      padding: 0.5333333333vw 2.4vw;
      font-size: 2.6666666667vw;
    }
  }
  .p-posts-upcoming__info p {
    display: inline-block;
    border-bottom: 2px solid var(--main);
    line-height: 1.4;
  }
  @media screen and (max-width: 767px) {
    .p-posts-upcoming__info p {
      font-size: 3.4666666667vw;
      font-weight: 500;
    }
  }
  .p-posts-upcoming__ttl {
    font-size: 1.25rem;
    font-weight: 500;
    margin: 1.25rem 0 0.8125rem 0;
  }
  @media screen and (min-width: 768px) {
    .p-posts-upcoming__ttl {
      display: flex;
      flex-direction: column;
      justify-content: center;
    }
  }
  @media screen and (max-width: 767px) {
    .p-posts-upcoming__ttl {
      margin: 2.6666666667vw 0 1.6vw 0;
      font-size: 4.2666666667vw;
      line-height: 1.4;
    }
  }
  @media screen and (max-width: 767px) {
    .p-posts-upcoming__text {
      font-size: 0.8125rem;
    }
  }
  .p-posts-upcoming__tax {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.25rem;
    margin-top: 1rem;
  }
  @media screen and (max-width: 767px) {
    .p-posts-upcoming__tax {
      margin-top: 2.1333333333vw;
    }
  }
  .p-posts-upcoming__tax .p-icon-tax {
    font-size: 0.8125rem;
  }
  .p-posts-news {
    --my-gray-color: var(#C8CED6);
    border-top: 1px solid var(--my-gray-color);
  }
  .p-posts-news__item {
    border-bottom: 1px solid var(--my-gray-color);
  }
  .p-posts-news__row {
    position: relative;
    padding: 1.875rem;
    gap: 1.875rem;
  }
  @media screen and (min-width: 768px) {
    .p-posts-news__row {
      display: grid;
      grid-template-columns: 6.25rem 1fr 3.75rem;
    }
  }
  @media screen and (max-width: 767px) {
    .p-posts-news__row {
      display: flex;
      flex-direction: column;
      gap: 0.5333333333vw;
      padding: 4.8vw 2.1333333333vw;
    }
  }
  .p-posts-news__row::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 0%;
    height: 2px;
    background: linear-gradient(var(--hover-color2) 0%, var(--hover-color1) 100%);
    transition: width 0.4s;
  }
  @media (hover: hover) {
    .p-posts-news__row:hover::after {
      width: 100%;
    }
    .p-posts-news__row:hover .p-posts-news__icon {
      scale: 1.1;
      border-color: transparent;
    }
    .p-posts-news__row:hover svg {
      fill: var(--hover-color1);
    }
  }
  .p-posts-news__date {
    color: #595757;
  }
  .p-posts-news__ttl {
    position: relative;
  }
  @media screen and (max-width: 767px) {
    .p-posts-news__ttl {
      padding-right: 8vw;
    }
  }
  .p-posts-news__icon {
    transition: scale 0.3s;
    border: 1px solid #C8CED6;
    transition: border 0.3s;
  }
  @media screen and (max-width: 767px) {
    .p-posts-news__icon {
      position: absolute;
      right: 0;
      top: 50%;
      transform: translateY(-50%);
    }
  }
  @media screen and (min-width: 768px) {
    .p-posts-blog {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 2.375rem;
    }
  }
  @media screen and (max-width: 767px) {
    .p-posts-blog {
      display: flex;
      flex-direction: column;
      gap: 6.6666666667vw;
    }
  }
  .p-posts-blog__thumb-wrap {
    border-radius: var(--rad);
    overflow: hidden;
    aspect-ratio: 410/297;
  }
  .p-posts-blog__thumb-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 0.3s scale;
  }
  @media screen and (max-width: 767px) {
    .p-posts-blog__box {
      display: grid;
      grid-template-columns: 26.6666666667vw 1fr;
      gap: 3.7333333333vw;
      align-items: flex-start;
    }
  }
  @media (hover: hover) {
    .p-posts-blog__box:hover .p-posts-blog__thumb-wrap img {
      scale: 1.1;
    }
  }
  .p-posts-blog__ttl {
    font-size: 1.25rem;
    font-weight: bold;
    letter-spacing: 0.01em;
  }
  @media screen and (min-width: 768px) {
    .p-posts-blog__ttl {
      margin: 1.5rem 0 1rem 0;
    }
  }
  @media screen and (max-width: 767px) {
    .p-posts-blog__ttl {
      font-size: 4vw;
    }
  }
  .p-posts-blog__text {
    font-size: 0.9375rem;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    color: #555;
  }
  @media screen and (max-width: 767px) {
    .p-posts-blog__text {
      margin-top: 1.3333333333vw;
      font-size: 3.2vw;
    }
  }
  .p-posts-blog__tax {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    margin-top: 1.25rem;
  }
  @media screen and (max-width: 767px) {
    .p-posts-blog__tax {
      justify-content: flex-end;
      margin-top: 2.4vw;
    }
  }
}
@keyframes postsWorksFadeIn {
  from {
    opacity: 0;
    transform: translateY(1rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@layer project {
  .p-works-filter {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.625rem;
    margin-bottom: 2.5rem;
  }
  .p-works-filter__tax {
    appearance: none;
    background: #fff url("../img/icon/arrow_bottom.svg") calc(100% - 1rem) 50%/0.625rem auto no-repeat;
    border: 1px solid var(--main);
    border-radius: 8px;
    padding: 0.4em 2em;
  }
  .p-works-filter__btn {
    border-radius: 100rem;
    background-color: var(--main);
    color: #fff;
    border: 0;
    padding: 1em 2em;
  }
  .p-works {
    margin-top: 11.25rem;
    padding-bottom: 7.5rem;
  }
  @media screen and (max-width: 767px) {
    .p-works {
      margin-top: 21.3333333333vw;
      padding-bottom: 17.3333333333vw;
    }
  }
  .p-works:last-child {
    padding-bottom: 0;
  }
  .p-works + .p-works {
    margin-top: 5rem;
  }
  @media screen and (max-width: 767px) {
    .p-works + .p-works {
      margin-top: 1.875rem;
    }
  }
  .p-works__body {
    margin-top: 3.75rem;
  }
  @media screen and (max-width: 767px) {
    .p-works__body {
      margin-top: 8vw;
    }
  }
  .p-works__lead {
    margin-bottom: 1.875rem;
  }
  @media screen and (max-width: 767px) {
    .p-works__lead {
      font-size: 3.4666666667vw;
    }
  }
  .p-works__lead a {
    text-decoration: underline;
    text-underline-offset: 2px;
    text-decoration-thickness: 1px;
    color: revert;
  }
  @media (hover: hover) {
    .p-works__lead a:hover {
      text-decoration: none;
    }
  }
  .p-works__btn-wrap {
    margin-top: 3.75rem;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
  }
  @media screen and (max-width: 767px) {
    .p-works__btn-wrap {
      margin-top: 10.6666666667vw;
    }
  }
}
@layer utilities {
  .u-bg-white {
    background-color: #fff;
  }
}
@layer utilities {
  @media screen and (max-width: 767px) {
    .u-hidden-ltSP {
      display: none;
    }
  }
  @media screen and (min-width: 768px) {
    .u-hidden-gtTAB {
      display: none;
    }
  }
  @media screen and (min-width: 1381px) {
    .u-hidden-gtPC {
      display: none;
    }
  }
}
@layer utilities {
  .u-hide {
    display: none;
  }
}
@layer utilities {
  .u-mt-1em {
    margin-top: 1px;
  }
}
@layer utilities {
  @media screen and (max-width: 1380px) and (min-width: 767px) {
    .u-PC-pad {
      padding-right: 4%;
      padding-left: 4%;
    }
  }
  @media screen and (max-width: 767px) {
    .u-SP-pad {
      padding-right: var(--sp-pad);
      padding-left: var(--sp-pad);
    }
  }
}
@layer utilities {
  .screen-reader-text,
  .u-screen-reader {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute;
    width: 1px;
    word-wrap: normal;
  }
}
@layer utilities {
  .u-ta-left {
    text-align: left;
  }
  .u-ta-center {
    text-align: center;
  }
  .u-ta-right {
    text-align: right;
  }
  @media screen and (max-width: 767px) {
    .u-SP-ta-left {
      text-align: left;
    }
    .u-SP-ta-center {
      text-align: center;
    }
    .u-SP-ta-right {
      text-align: right;
    }
  }
}