@charset "UTF-8";
:root {
  --color-txt: #272727;
  --color-reversal: #fff;
  --color-prime: #f80;
  --color-second: #06f;
  --color-third: #f5b400;
  --color-body: #fff;
  --color-gray: #f9f7f6;
  --font-size-h1: min(10.6666666667vw, 5rem);
  --font-size-h2: min(7.4666666667vw, 3.5rem);
  --font-size-h3: min(7.4666666667vw, 3.5rem);
  --font-size-h4: min(6.4vw, 3rem);
  --font-size-h5: min(5.3333333333vw, 2.5rem);
  --font-size-xl: min(4vw, 1.875rem);
  --font-size-lg: min(4.2666666667vw, 2rem);
  --font-size-base: min(4vw, 1.875rem);
  --font-size-sm: min(3.7333333333vw, 1.75rem);
  --font-size-xs: min(3.2vw, 1.5rem);
}
@media (width >= 48em) {
  :root {
    --font-size-h1: 4rem;
    --font-size-h2: 2.5rem;
    --font-size-h3: 2rem;
    --font-size-h4: 1.75rem;
    --font-size-h5: 1.5rem;
    --font-size-xl: 1.25rem;
    --font-size-lg: 1.125rem;
    --font-size-base: 1rem;
    --font-size-sm: 0.875rem;
    --font-size-xs: 0.75rem;
  }
}

/* svgアイコン */
/* 継承要素 */
@keyframes fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.scrollIn,
.loadIn {
  opacity: 0;
  transition: transform 1s ease-out, opacity 1s ease-out;
}
.scrollIn.-up,
.loadIn.-up {
  transform: translate(0, 3.125rem);
}
.scrollIn.-down,
.loadIn.-down {
  transform: translate(0, -3.125rem);
}
.scrollIn.-right,
.loadIn.-right {
  transform: translate(3.125rem, 0);
}
.scrollIn.-left,
.loadIn.-left {
  transform: translate(-3.125rem, 0);
}
.scrollIn.-scale,
.loadIn.-scale {
  transform: scale(0);
}
.scrollIn.-active,
.loadIn.-active {
  opacity: 1;
  transform: none;
  transition: transform 1s ease-out, opacity 1s ease-out;
}
.scrollIn.-active.-each ~ .-each:nth-of-type(2),
.loadIn.-active.-each ~ .-each:nth-of-type(2) {
  animation-delay: 1600ms;
}
.scrollIn.-active.-each ~ .-each:nth-of-type(3),
.loadIn.-active.-each ~ .-each:nth-of-type(3) {
  animation-delay: 2400ms;
}
.scrollIn.-active.-each ~ .-each:nth-of-type(4),
.loadIn.-active.-each ~ .-each:nth-of-type(4) {
  animation-delay: 3200ms;
}
.scrollIn.-active.-each ~ .-each:nth-of-type(5),
.loadIn.-active.-each ~ .-each:nth-of-type(5) {
  animation-delay: 4000ms;
}
.scrollIn.-active.-each ~ .-each:nth-of-type(6),
.loadIn.-active.-each ~ .-each:nth-of-type(6) {
  animation-delay: 4800ms;
}
.scrollIn.-active.-each ~ .-each:nth-of-type(7),
.loadIn.-active.-each ~ .-each:nth-of-type(7) {
  animation-delay: 5600ms;
}
.scrollIn.-active.-each ~ .-each:nth-of-type(8),
.loadIn.-active.-each ~ .-each:nth-of-type(8) {
  animation-delay: 6400ms;
}
.scrollIn.-active.-each ~ .-each:nth-of-type(9),
.loadIn.-active.-each ~ .-each:nth-of-type(9) {
  animation-delay: 7200ms;
}
.scrollIn.-active.-each ~ .-each:nth-of-type(10),
.loadIn.-active.-each ~ .-each:nth-of-type(10) {
  animation-delay: 8000ms;
}

.loopImg {
  position: absolute;
  inset: auto 0 0;
  z-index: 1;
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  overflow: hidden;
}
.loopImg span {
  display: block;
  line-height: 1;
  white-space: nowrap;
}
.loopImg .loop {
  width: fit-content;
  padding-left: 0.3em;
  animation: loop 50s linear infinite;
}
.loopImg .loop2 {
  position: absolute;
  top: 0;
  left: 0;
  padding-left: 0.3em;
  animation: loop 50s -25s linear infinite;
}
@keyframes loop {
  0% {
    translate: 100% 0;
  }
  100% {
    translate: -100% 0;
  }
}

.reveal-char {
  display: inline-block;
  overflow: hidden;
  vertical-align: bottom;
}
.reveal-char span {
  display: inline-block;
  color: #e9e9e9;
  transform: translateY(110%);
  transition: transform 0.8s cubic-bezier(0.22, 1, 0.36, 1), color 0.6s ease;
  will-change: transform;
}

.is-active .reveal-char span {
  color: #272727;
  transform: translateY(0);
}

.top_scene .reveal-char span,
.top_scene .c_ttl_top-en {
  color: #fff;
}

.top_scene.is-active .reveal-char span,
.top_scene .is-active .c_ttl_top-en,
.top_scene.is-active .c_ttl_top-en {
  color: #fff;
}

.c_ttl_top-en {
  color: #e9e9e9;
  opacity: 0;
  transform: translateY(1.25rem);
  transition: opacity 1s ease, transform 1s cubic-bezier(0.22, 1, 0.36, 1), color 0.6s ease;
}

.is-active .c_ttl_top-en {
  color: #272727;
  opacity: 1;
  transform: translateY(0);
}

.c_ttl_top-jp svg,
.c_ttl_top-jp img {
  opacity: 0;
  transition: opacity 1s ease;
  transition-delay: 0.2s;
}

.is-active .c_ttl_top-jp svg,
.is-active .c_ttl_top-jp img {
  opacity: 1;
}

.c_ttl_top-jp {
  font-feature-settings: "palt";
}

.c_link .hasIcon,
a.c_link .hasIcon {
  overflow: visible;
  clip-path: circle(57%);
}

.c_link .hasIcon::before,
a.c_link .hasIcon::before {
  transition: background-color 0.4s ease-out, border-color 0.4s ease-out;
}

.c_link:hover .hasIcon::before,
.c_link:focus-visible .hasIcon::before,
.c_link:active .hasIcon::before,
a.c_link:hover .hasIcon::before,
a.c_link:focus-visible .hasIcon::before,
a.c_link:active .hasIcon::before {
  background-color: #f80;
  border-color: #f80;
}

.c_link .hasIcon::after,
a.c_link .hasIcon::after {
  background-color: currentcolor;
  transition: background-color 0.3s ease-out;
}

@keyframes ev-arrow-slide {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  44% {
    opacity: 0;
    transform: translateX(150%);
  }
  45% {
    opacity: 0;
    transform: translateX(-150%);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.c_link:hover .hasIcon::after,
.c_link:focus-visible .hasIcon::after,
.c_link:active .hasIcon::after,
a.c_link:hover .hasIcon::after,
a.c_link:focus-visible .hasIcon::after,
a.c_link:active .hasIcon::after {
  background-color: #fff;
  animation: ev-arrow-slide 0.5s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.c_link:hover,
.c_link:focus-visible,
.c_link:active,
a.c_link:hover,
a.c_link:focus-visible,
a.c_link:active {
  color: #f80;
}

.c_card_img img {
  transition: scale 1.1s cubic-bezier(0.16, 1, 0.3, 1);
}

.c_card {
  transition: border-color 0.4s ease-out;
}

.c_card.is-hovered {
  border-color: #f80;
}

.c_card .hasIcon::before {
  transition: background-color 0.4s ease-out, border-color 0.4s ease-out;
}

.c_card .hasIcon::after {
  background-color: currentcolor;
}

.c_card.is-hovered .hasIcon::before {
  background-color: #f80;
  border-color: #f80;
}

@keyframes ev-arrow-mask-slide {
  0% {
    background-color: currentcolor;
    mask-position: center;
  }
  40% {
    background-color: #fff;
    mask-position: 250%;
  }
  41% {
    background-color: #fff;
    mask-position: -150%;
  }
  100% {
    background-color: #fff;
    mask-position: center;
  }
}
.c_card.is-hovered .hasIcon::after {
  animation: ev-arrow-mask-slide 0.5s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.c_card.-horizon {
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.c_card.-horizon.is-hovered {
  transform: translateX(1rem);
}

.top_information .informationLink {
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.top_information .informationLink::before {
  opacity: 0 !important;
}

.top_information .informationLink:hover,
.top_information .informationLink:focus-visible,
.top_information .informationLink:active {
  transform: translateX(1rem);
}

.top_information .informationLink {
  border-bottom: none !important;
}

.top_information .informationList-item {
  border-bottom: 0.0625rem solid #c0c6d0;
}

.top_bgContainer,
.top_about,
.top_information,
.top_contact {
  --parallax-y: 0px;
}

.top_bgContainer::before,
.top_about::before,
.top_information::before,
.top_contact::before,
.top_contact::after {
  transform: translateY(var(--parallax-y));
  will-change: transform;
}

.top_contact_button:hover,
.top_contact_button:focus-visible,
.top_contact_button:active {
  opacity: 1 !important;
}

.top_contact_button .hasIcon::before {
  transition: background-color 0.4s ease-out, border-color 0.4s ease-out;
}

.top_contact_button .hasIcon::after {
  background-color: #fff;
}

.top_contact_button.is-hovered .hasIcon::before {
  background-color: #fff;
  border-color: #fff;
}

@keyframes ev-arrow-contact-blue {
  0% {
    background-color: #fff;
    mask-position: center;
  }
  40% {
    background-color: #06f;
    mask-position: 250%;
  }
  41% {
    background-color: #06f;
    mask-position: -150%;
  }
  100% {
    background-color: #06f;
    mask-position: center;
  }
}
@keyframes ev-arrow-contact-red {
  0% {
    background-color: #fff;
    mask-position: center;
  }
  40% {
    background-color: #eb4000;
    mask-position: 250%;
  }
  41% {
    background-color: #eb4000;
    mask-position: -150%;
  }
  100% {
    background-color: #eb4000;
    mask-position: center;
  }
}
.top_contact_button.-contact.is-hovered .hasIcon::after {
  animation: ev-arrow-contact-blue 0.5s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.top_contact_button.-download.is-hovered .hasIcon::after {
  animation: ev-arrow-contact-red 0.5s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.scene_item_list-item a::before {
  opacity: 0 !important;
}

.scene_item_list-item a .hasIcon::before {
  transition: background-color 0.4s ease-out, border-color 0.4s ease-out;
}

.scene_item_list-item a .hasIcon::after {
  background-color: currentcolor;
  transition: background-color 0.3s ease-out;
}

.scene_item_list-item a:hover .hasIcon::before,
.scene_item_list-item a:focus-visible .hasIcon::before,
.scene_item_list-item a:active .hasIcon::before {
  background-color: #f80;
  border-color: #f80;
}

.scene_item_list-item a:hover .hasIcon::after,
.scene_item_list-item a:focus-visible .hasIcon::after,
.scene_item_list-item a:active .hasIcon::after {
  background-color: #fff;
  animation: ev-arrow-slide 0.5s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.enduring_events_relation_card {
  border: 0.1rem solid transparent;
  transition: border-color 0.4s ease-out;
}

.enduring_events_relation_card:hover,
.enduring_events_relation_card:focus-visible,
.enduring_events_relation_card:active {
  border-color: #f80;
}

.enduring_events_relation_card .hasIcon::before {
  transition: background-color 0.4s ease-out, border-color 0.4s ease-out;
}

.enduring_events_relation_card .hasIcon::after {
  background-color: currentcolor;
}

.enduring_events_relation_card:hover .hasIcon::before,
.enduring_events_relation_card:focus-visible .hasIcon::before,
.enduring_events_relation_card:active .hasIcon::before {
  background-color: #f80;
  border-color: #f80;
}

.enduring_events_relation_card:hover .hasIcon::after,
.enduring_events_relation_card:focus-visible .hasIcon::after,
.enduring_events_relation_card:active .hasIcon::after {
  animation: ev-arrow-mask-slide 0.5s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.function_item_link .hasIcon::before {
  transition: background-color 0.4s ease-out, border-color 0.4s ease-out;
}

.function_item_link .hasIcon::after {
  background-color: currentcolor;
}

.function_item_link:hover .hasIcon::before,
.function_item_link:focus-visible .hasIcon::before,
.function_item_link:active .hasIcon::before {
  background-color: #f80;
  border-color: #f80;
}

.function_item_link:hover .hasIcon::after,
.function_item_link:focus-visible .hasIcon::after,
.function_item_link:active .hasIcon::after {
  animation: ev-arrow-mask-slide 0.5s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.func_related_item-link {
  transition: border-color 0.4s ease-out;
}

.func_related_item-link:hover,
.func_related_item-link:focus-visible,
.func_related_item-link:active {
  border-color: #f80;
}

.func_related_item-link .hasIcon {
  overflow: visible;
  clip-path: circle(57%);
}

.func_related_item-link .hasIcon::before {
  transition: background-color 0.4s ease-out, border-color 0.4s ease-out;
}

.func_related_item-link .hasIcon::after {
  background-color: currentcolor;
  transition: background-color 0.3s ease-out;
}

.func_related_item-link:hover .hasIcon::before,
.func_related_item-link:focus-visible .hasIcon::before,
.func_related_item-link:active .hasIcon::before {
  background-color: #f80;
  border-color: #f80;
}

.func_related_item-link:hover .hasIcon::after,
.func_related_item-link:focus-visible .hasIcon::after,
.func_related_item-link:active .hasIcon::after {
  background-color: #fff;
  animation: ev-arrow-slide 0.5s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.func_related .c_btn .hasIcon {
  overflow: visible;
  clip-path: circle(57%);
}

.func_related .c_btn .hasIcon::before {
  transition: background-color 0.4s ease-out, border-color 0.4s ease-out;
}

.func_related .c_btn .hasIcon::after {
  background-color: currentcolor;
  transition: background-color 0.3s ease-out;
}

.func_related .c_btn:hover .hasIcon::before,
.func_related .c_btn:focus-visible .hasIcon::before,
.func_related .c_btn:active .hasIcon::before {
  background-color: #f80;
  border-color: #f80;
}

.func_related .c_btn.-secondary:hover .hasIcon::before,
.func_related .c_btn.-secondary:focus-visible .hasIcon::before,
.func_related .c_btn.-secondary:active .hasIcon::before {
  background-color: #eb4000;
  border-color: #eb4000;
}

.func_related .c_btn:hover .hasIcon::after,
.func_related .c_btn:focus-visible .hasIcon::after,
.func_related .c_btn:active .hasIcon::after {
  background-color: #fff;
  animation: ev-arrow-slide 0.5s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.c_link_img .hasIcon {
  overflow: visible;
  clip-path: circle(57%);
}

.c_link_img .hasIcon::before {
  transition: background-color 0.4s ease-out, border-color 0.4s ease-out;
}

.c_link_img .hasIcon::after {
  background-color: currentcolor;
  transition: background-color 0.3s ease-out;
}

.c_link_img:hover .hasIcon::before,
.c_link_img:focus-visible .hasIcon::before,
.c_link_img:active .hasIcon::before {
  background-color: #f80;
  border-color: #f80;
}

.c_link_img:hover .hasIcon::after,
.c_link_img:focus-visible .hasIcon::after,
.c_link_img:active .hasIcon::after {
  background-color: #fff;
  animation: ev-arrow-slide 0.5s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.support_banner .hasIcon::before {
  transition: background-color 0.4s ease-out, border-color 0.4s ease-out;
}

.support_banner .hasIcon::after {
  background-color: #fff;
}

.support_banner:hover .hasIcon::before,
.support_banner:focus-visible .hasIcon::before,
.support_banner:active .hasIcon::before {
  background-color: #fff;
  border-color: #fff;
}

@keyframes ev-arrow-support-orange {
  0% {
    background-color: #fff;
    mask-position: center;
  }
  40% {
    background-color: #f80;
    mask-position: 250%;
  }
  41% {
    background-color: #f80;
    mask-position: -150%;
  }
  100% {
    background-color: #f80;
    mask-position: center;
  }
}
.support_banner:hover .hasIcon::after,
.support_banner:focus-visible .hasIcon::after,
.support_banner:active .hasIcon::after {
  animation: ev-arrow-support-orange 0.5s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
:root {
  --color-txt: #272727;
  --color-reversal: #fff;
  --color-prime: #f80;
  --color-second: #06f;
  --color-third: #f5b400;
  --color-body: #fff;
  --color-gray: #f9f7f6;
  --font-size-h1: min(10.6666666667vw, 5rem);
  --font-size-h2: min(7.4666666667vw, 3.5rem);
  --font-size-h3: min(7.4666666667vw, 3.5rem);
  --font-size-h4: min(6.4vw, 3rem);
  --font-size-h5: min(5.3333333333vw, 2.5rem);
  --font-size-xl: min(4vw, 1.875rem);
  --font-size-lg: min(4.2666666667vw, 2rem);
  --font-size-base: min(4vw, 1.875rem);
  --font-size-sm: min(3.7333333333vw, 1.75rem);
  --font-size-xs: min(3.2vw, 1.5rem);
}
@media (width >= 48em) {
  :root {
    --font-size-h1: 4rem;
    --font-size-h2: 2.5rem;
    --font-size-h3: 2rem;
    --font-size-h4: 1.75rem;
    --font-size-h5: 1.5rem;
    --font-size-xl: 1.25rem;
    --font-size-lg: 1.125rem;
    --font-size-base: 1rem;
    --font-size-sm: 0.875rem;
    --font-size-xs: 0.75rem;
  }
}

/* svgアイコン */
a[target=_blank]::after {
  mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%228%22%20viewBox%3D%220%200%2010%208%22%20fill%3D%22none%22%3E%20%3Cpath%20d%3D%22M8%202V8H0V2H8ZM1%207H7V3H1V7Z%22%20fill%3D%22%23C0C6D0%22%2F%3E%20%3Cpath%20d%3D%22M10%200V6.5H8.5V5.5H9V1H2.5V1.5H1.5V0H10Z%22%20fill%3D%22%23C0C6D0%22%2F%3E%3C%2Fsvg%3E");
}

@layer base {
  * {
    box-sizing: border-box;
  }
  *::before, *::after {
    box-sizing: inherit;
  }
  @media (prefers-reduced-motion: reduce) {
    *,
    ::before,
    ::after {
      transition-duration: 1ms !important;
      animation-duration: 1ms !important;
      animation-iteration-count: 1 !important;
      scroll-behavior: auto !important;
    }
  }
  input::-moz-focus-inner {
    padding: 0;
    margin: 0;
    border: 0;
  }
  ul,
  ol,
  dd {
    padding: 0;
    margin: 0;
    list-style: none;
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    margin: 0;
    font-size: inherit;
    font-weight: inherit;
    text-wrap: wrap;
  }
  cite {
    font-style: normal;
  }
  fieldset {
    padding: 0;
    margin: 0;
    border-width: 0;
  }
  button {
    padding: 0;
    color: inherit;
    appearance: none;
    cursor: pointer;
    background-color: transparent;
    border: none;
  }
  summary {
    display: block;
    list-style: none;
  }
  summary::-webkit-details-marker {
    display: none;
  }
  img {
    max-width: 100%;
    height: auto;
    max-height: 100%;
  }
  figure,
  picture {
    display: block;
    padding: 0;
    margin: 0;
    line-height: 1;
    text-align: center;
  }
  figure figcaption,
  picture figcaption {
    margin: auto;
    text-align: left;
  }
  html,
  body {
    text-size-adjust: 100%;
  }
  body {
    width: 100%;
    font-family: "Noto Sans JP", "NotoSansJP", "Noto Sans Japanese", sans-serif;
    font-size: var(--font-size-base);
    font-weight: 500;
    color: #272727;
    word-wrap: break-word;
    overflow-wrap: break-word;
    background-color: #fff;
    -webkit-font-smoothing: antialiased;
    backface-visibility: hidden;
  }
  ::selection {
    color: #fff;
    background-color: #f80;
  }
  a,
  button {
    color: inherit;
    text-decoration: none;
  }
  a:focus-visible,
  button:focus-visible {
    outline: solid 0.125rem #f80;
    outline-offset: 0.1875rem;
    box-shadow: none;
  }
  a[target=_blank]::after {
    display: inline-flex;
    height: 0.9em;
    aspect-ratio: 1;
    margin-left: 0.1em;
    content: "";
    background-color: currentColor;
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: 100%;
  }
  [tabindex="-1"]:focus-visible {
    outline: none !important;
    box-shadow: none;
  }
  @media screen and (width >= 48em) {
    a[href^="tel:"] {
      color: inherit !important;
      text-decoration: none !important;
      pointer-events: none;
    }
  }
}
:root {
  --color-txt: #272727;
  --color-reversal: #fff;
  --color-prime: #f80;
  --color-second: #06f;
  --color-third: #f5b400;
  --color-body: #fff;
  --color-gray: #f9f7f6;
  --font-size-h1: min(10.6666666667vw, 5rem);
  --font-size-h2: min(7.4666666667vw, 3.5rem);
  --font-size-h3: min(7.4666666667vw, 3.5rem);
  --font-size-h4: min(6.4vw, 3rem);
  --font-size-h5: min(5.3333333333vw, 2.5rem);
  --font-size-xl: min(4vw, 1.875rem);
  --font-size-lg: min(4.2666666667vw, 2rem);
  --font-size-base: min(4vw, 1.875rem);
  --font-size-sm: min(3.7333333333vw, 1.75rem);
  --font-size-xs: min(3.2vw, 1.5rem);
}
@media (width >= 48em) {
  :root {
    --font-size-h1: 4rem;
    --font-size-h2: 2.5rem;
    --font-size-h3: 2rem;
    --font-size-h4: 1.75rem;
    --font-size-h5: 1.5rem;
    --font-size-xl: 1.25rem;
    --font-size-lg: 1.125rem;
    --font-size-base: 1rem;
    --font-size-sm: 0.875rem;
    --font-size-xs: 0.75rem;
  }
}

/* svgアイコン */
.compare_section::before {
  mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22281%22%20height%3D%22281%22%20viewBox%3D%220%200%20281%20281%22%20fill%3D%22none%22%3E%20%3Cpath%20d%3D%22M140.489%20141.195V139.702C140.489%20138.649%20141.341%20137.788%20142.403%20137.788H278.977C280.058%20137.788%20280.928%20136.9%20280.891%20135.819C278.455%2060.7816%20217.139%200.608942%20141.634%200.00446787C63.1874%20-0.618324%20-1.0318%2063.9505%200.0125604%20142.358C1.05692%20220.766%2063.5355%20280.893%20140.479%20280.893C217.423%20280.893%20278.436%20220.5%20280.873%20145.069C280.91%20143.988%20280.03%20143.1%20278.958%20143.1H142.394C141.341%20143.1%20140.479%20142.248%20140.479%20141.186L140.489%20141.195Z%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E");
}

.p_function .c_ttl_lower_container.-function::after {
  mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22553%22%20height%3D%22548%22%20viewBox%3D%220%200%20553%20548%22%20fill%3D%22none%22%3E%20%3Cpath%20d%3D%22M276.5%20548C429.212%20548%20553%20425.331%20553%20274L553%2043.8422C553%2019.6263%20533.195%205.9303e-05%20508.758%205.71657e-05L281.726%203.73096e-05L281.726%20274L271.274%20274L271.274%203.63954e-05L44.2423%201.65392e-05C19.8055%201.4402e-05%20-1.48629e-05%2019.6262%20-1.6979e-05%2043.8421L-3.70915e-05%20274C-5.03157e-05%20425.331%20123.788%20548%20276.5%20548Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

.p_function .c_ttl_lower_container.-function::before {
  mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22548%22%20height%3D%22548%22%20viewBox%3D%220%200%20548%20548%22%20fill%3D%22none%22%3E%20%3Cpath%20d%3D%22M548%20203.237V42.807C548%2019.2567%20528.903%200.192247%20505.385%200.192247H377.477C376.163%200.0640823%20374.85%200%20373.504%200H174.496C150.946%200%20131.881%2019.0965%20131.881%2042.6147V213.779H42.6147C19.0645%20213.779%200%20232.875%200%20256.393V374.401C0%20397.951%2019.0965%20417.016%2042.6147%20417.016H131.881V505.385C131.881%20528.935%20150.978%20548%20174.496%20548H373.504C397.054%20548%20416.119%20528.903%20416.119%20505.385V417.016H505.385C528.935%20417.016%20548%20397.919%20548%20374.401V213.779H416.119V203.269H548V203.237Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

.p_function .c_ttl_lower_container.-function::after {
  mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22553%22%20height%3D%22548%22%20viewBox%3D%220%200%20553%20548%22%20fill%3D%22none%22%3E%20%3Cpath%20d%3D%22M276.5%20548C429.212%20548%20553%20425.331%20553%20274L553%2043.8422C553%2019.6263%20533.195%205.9303e-05%20508.758%205.71657e-05L281.726%203.73096e-05L281.726%20274L271.274%20274L271.274%203.63954e-05L44.2423%201.65392e-05C19.8055%201.4402e-05%20-1.48629e-05%2019.6262%20-1.6979e-05%2043.8421L-3.70915e-05%20274C-5.03157e-05%20425.331%20123.788%20548%20276.5%20548Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

.p_function .enduring_events_section {
  padding-top: 0;
  background-color: #fff;
}
.p_function .enduring_events_section .enduring_events_relation {
  background-color: #eef5fa;
}

.function_section {
  padding-block: 7.5rem;
}
@media screen and (width >= 48em) {
  .function_section {
    padding-block: 10rem;
  }
}
.function_section .support_banner {
  margin-top: 2.5rem;
}
@media screen and (width >= 48em) {
  .function_section .support_banner {
    margin-top: 3rem;
  }
}

.c_tab.-function .c_tab_list_container {
  position: relative;
  width: fit-content;
  max-width: 100%;
  padding: 0.375rem;
  margin: auto;
  margin-block: 2.5rem;
  overflow-x: auto;
  background: var(--F4F4F4, #f4f4f4);
  border-radius: 999px;
}
@media screen and (width >= 48em) {
  .c_tab.-function .c_tab_list_container {
    margin-block: 3rem 4rem;
  }
}
.c_tab.-function .c_tab_list {
  display: flex;
  gap: 0;
  align-items: center;
  justify-content: center;
  width: 52.375rem;
}
@media screen and (width < 48em) {
  .c_tab.-function .c_tab_list {
    width: min(213.3333333333vw,100rem);
  }
}
.c_tab.-function .c_tab_list li {
  flex: 1;
}
.c_tab.-function .c_tab_list button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 0.75rem;
  font-weight: bold;
  font-weight: 500;
  font-feature-settings: "halt" on;
  line-height: 1.3;
  color: #272727;
  text-align: center;
  cursor: pointer;
  background-color: transparent;
  border: none;
  border-radius: 999px;
  transition: 0.4s ease-out;
  font-size: min(3.7333333333vw,1.75rem);
}
@media screen and (width >= 48em) {
  .c_tab.-function .c_tab_list button {
    font-size: 0.875rem;
  }
}
.c_tab.-function .c_tab_list button.-open {
  color: #fff;
  background-color: #f80;
  box-shadow: 0 2px 2px 0 rgba(68, 68, 68, 0.1);
}
@media (any-hover: hover) {
  .c_tab.-function .c_tab_list button:hover {
    color: #f80;
  }
}
.c_tab.-function .c_tab_list button:focus-visible, .c_tab.-function .c_tab_list button:active {
  color: #f80;
}
.c_tab.-function .c_tab_content[hidden] {
  display: none;
}

.function_tab_header {
  display: flex;
  flex-direction: column;
  margin-bottom: 3.2rem;
  font-feature-settings: "halt" on;
  text-align: center;
}
@media screen and (width >= 48em) {
  .function_tab_header {
    gap: 1rem;
    margin-bottom: 3rem;
  }
}
.function_tab_ttl {
  margin-bottom: 0.8rem;
  font-family: ryo-gothic-plusn, sans-serif;
  font-weight: 700;
  line-height: 1.5;
  color: var(--black, #272727);
  font-size: min(5.3333333333vw,2.5rem);
}
@media screen and (width >= 48em) {
  .function_tab_ttl {
    font-size: 2rem;
  }
}
.function_tab_desc {
  line-height: 1.8;
  color: #000;
}
.function_tab_body {
  display: flex;
  flex-direction: column;
  gap: 4rem;
  padding: 2.5rem 1rem;
  background: var(--EEF5FA, #eef5fa);
  border-radius: var(--16, 16px);
}
@media screen and (width >= 48em) {
  .function_tab_body {
    gap: 5rem;
    padding: 3.5rem 3rem;
  }
}

.function_border {
  height: 0.125rem;
  color: var(--E9E9E9, #e9e9e9);
}

.function_category_head {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 1.5rem;
}
@media screen and (width >= 48em) {
  .function_category_head {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}
.function_category_ttl {
  font-family: ryo-gothic-plusn, sans-serif;
  font-weight: 700;
  font-feature-settings: "halt" on;
  line-height: 1.3;
  font-size: min(4.8vw,2.25rem);
}
@media screen and (width >= 48em) {
  .function_category_ttl {
    font-size: 1.75rem;
  }
}
.function_category_ttl.-small {
  font-size: min(4.2666666667vw,2rem);
}
@media screen and (width >= 48em) {
  .function_category_ttl.-small {
    font-size: 1.25rem;
  }
}

.function_list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.5rem;
}
@media screen and (width >= 48em) {
  .function_list {
    grid-template-columns: repeat(2, 1fr);
  }
}

.function_item {
  background: var(--FFFFFF, #fff);
  border: 1px solid var(--E9E9E9, #e9e9e9);
  border-radius: 0.5rem;
  transition: 0.4s ease-out;
}
@media (any-hover: hover) {
  .function_item:hover {
    border-color: #f80;
  }
}
.function_item:focus-visible, .function_item:active {
  border-color: #f80;
}
.function_item > .function_item_icon:first-child,
.function_item > .function_item_body:first-child {
  padding-top: 1.6rem;
  padding-left: 1.6rem;
}
@media screen and (width >= 48em) {
  .function_item > .function_item_icon:first-child,
  .function_item > .function_item_body:first-child {
    padding-top: 2rem;
    padding-left: 2rem;
  }
}
.function_item > .function_item_icon:last-child,
.function_item > .function_item_body:last-child {
  padding-right: 1.6rem;
  padding-bottom: 1.6rem;
}
@media screen and (width >= 48em) {
  .function_item > .function_item_icon:last-child,
  .function_item > .function_item_body:last-child {
    padding-right: 2rem;
    padding-bottom: 2rem;
  }
}
.function_item:has(> .function_item_icon) {
  display: flex;
  gap: 1.2rem;
  padding: 1.6rem;
}
@media screen and (width >= 48em) {
  .function_item:has(> .function_item_icon) {
    gap: 1.6rem;
    padding: 2rem;
  }
}
.function_item:has(> .function_item_icon) > .function_item_icon:first-child, .function_item:has(> .function_item_icon) > .function_item_icon:last-child,
.function_item:has(> .function_item_icon) > .function_item_body:first-child,
.function_item:has(> .function_item_icon) > .function_item_body:last-child {
  padding: 0;
}
.function_item_link {
  display: flex;
  gap: 1rem;
  align-items: center;
  padding: 1rem;
  color: inherit;
  text-decoration: none;
}
@media screen and (width >= 48em) {
  .function_item_link {
    gap: 1.5rem;
    padding: 1.5rem;
  }
}
.function_item_link .hasIcon {
  margin-left: auto;
}
@media screen and (width < 48em) {
  .function_item_link .hasIcon::before, .function_item_link .hasIcon::after {
    height: min(6.4vw,3rem);
  }
}
.function_item_icon {
  flex-shrink: 0;
}
@media screen and (width < 48em) {
  .function_item_icon {
    width: min(12.8vw,6rem);
  }
}
.function_item_body {
  flex: 1;
  gap: 1rem;
  font-feature-settings: "halt" on;
  line-height: 1.3;
  color: #000;
}
.function_item_ttl {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  align-items: center;
  margin-bottom: 0.375rem;
  font-family: ryo-gothic-plusn, sans-serif;
  font-weight: 700;
  font-size: min(4vw,1.875rem);
}
@media screen and (width >= 48em) {
  .function_item_ttl {
    font-size: 1.125rem;
  }
}
@media screen and (width >= 48em) {
  .function_item_ttl {
    gap: 0.375rem;
    margin-bottom: 0.5625rem;
  }
}
.function_item_desc {
  font-size: min(3.4666666667vw,1.625rem);
}
@media screen and (width >= 48em) {
  .function_item_desc {
    font-size: 0.875rem;
  }
}

.function_badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 1.1875rem;
  padding: 0.125rem 0.5rem;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  border-radius: 999px;
  font-size: min(2.6666666667vw,1.25rem);
}
@media screen and (width >= 48em) {
  .function_badge {
    font-size: 0.625rem;
  }
}
@media screen and (width >= 48em) {
  .function_badge {
    min-height: 1.625rem;
    padding: 0.25rem 0.625rem;
  }
}
.function_badge:first-of-type {
  margin-left: 0.25rem;
}
.function_badge.-new {
  background: var(--EB4000, #eb4000);
}
.function_badge.-option {
  background: var(--444444, #444);
}

.support_banner {
  position: relative;
  display: block;
  width: fit-content;
  margin: auto;
  color: #fff;
}
.support_banner img {
  transition: opacity 0.4s ease-out;
}
.support_banner::after {
  content: none;
}
.support_banner .hasIcon {
  position: absolute;
  inset: 0 1.5rem 0 auto;
  height: 2.25rem;
  margin: auto;
}
@media screen and (width >= 48em) {
  .support_banner .hasIcon {
    right: 2rem;
    height: min(2.635431918vw,2.25rem);
  }
}
.support_banner .hasIcon::before {
  border-color: currentcolor;
}

.compare_section {
  position: relative;
  z-index: 1;
  padding-block: 7.5rem;
  overflow: hidden;
  background-color: #f9f7f6;
}
.compare_section::before {
  position: absolute;
  top: min(-6.4vw,-3rem);
  right: min(-27.4666666667vw,-12.875rem);
  z-index: -1;
  display: block;
  height: min(128vw,60rem);
  aspect-ratio: 1;
  margin: auto;
  content: "";
  background-image: linear-gradient(180deg, rgba(255, 219, 178, 0.2) 0%, rgba(255, 219, 178, 0.5) 100%);
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: 100%;
}
@media screen and (width >= 48em) {
  .compare_section::before {
    top: -3rem;
    right: -3rem;
    height: 36rem;
  }
}
@media screen and (width >= 48em) {
  .compare_section {
    padding-block: 10rem;
  }
}
.compare_section_desc {
  margin-block: 2.5rem 3rem;
  font-feature-settings: "halt" on;
  line-height: 2;
  font-size: min(4.5333333333vw,2.125rem);
}
@media screen and (width >= 48em) {
  .compare_section_desc {
    font-size: 1.125rem;
  }
}
@media screen and (width >= 48em) {
  .compare_section_desc {
    margin-block: 2rem 3rem;
  }
}

.compare_table_wrapper {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.compare_table_wrapper img {
  display: block;
  margin: auto;
}
@media screen and (width < 48em) {
  .compare_table_wrapper img {
    width: 44.375rem;
    max-width: none;
    padding-inline: 1.5rem;
  }
}
:root {
  --color-txt: #272727;
  --color-reversal: #fff;
  --color-prime: #f80;
  --color-second: #06f;
  --color-third: #f5b400;
  --color-body: #fff;
  --color-gray: #f9f7f6;
  --font-size-h1: min(10.6666666667vw, 5rem);
  --font-size-h2: min(7.4666666667vw, 3.5rem);
  --font-size-h3: min(7.4666666667vw, 3.5rem);
  --font-size-h4: min(6.4vw, 3rem);
  --font-size-h5: min(5.3333333333vw, 2.5rem);
  --font-size-xl: min(4vw, 1.875rem);
  --font-size-lg: min(4.2666666667vw, 2rem);
  --font-size-base: min(4vw, 1.875rem);
  --font-size-sm: min(3.7333333333vw, 1.75rem);
  --font-size-xs: min(3.2vw, 1.5rem);
}
@media (width >= 48em) {
  :root {
    --font-size-h1: 4rem;
    --font-size-h2: 2.5rem;
    --font-size-h3: 2rem;
    --font-size-h4: 1.75rem;
    --font-size-h5: 1.5rem;
    --font-size-xl: 1.25rem;
    --font-size-lg: 1.125rem;
    --font-size-base: 1rem;
    --font-size-sm: 0.875rem;
    --font-size-xs: 0.75rem;
  }
}

/* svgアイコン */
.scene_merit_item::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2240%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%20fill%3D%22none%22%3E%20%3Ccircle%20cx%3D%2220%22%20cy%3D%2220%22%20r%3D%2220%22%20fill%3D%22%23FF8800%22%2F%3E%20%3Cpath%20d%3D%22M30%2014L18.4993%2025.5001L10.9992%2018.5001%22%20stroke%3D%22white%22%20stroke-width%3D%223%22%20stroke-miterlimit%3D%2210%22%2F%3E%3C%2Fsvg%3E");
}

.p_scene .c_ttl_lower_container.-scene::after {
  mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22281%22%20height%3D%22281%22%20viewBox%3D%220%200%20281%20281%22%20fill%3D%22none%22%3E%20%3Cpath%20d%3D%22M140.489%20141.195V139.702C140.489%20138.649%20141.341%20137.788%20142.403%20137.788H278.977C280.058%20137.788%20280.928%20136.9%20280.891%20135.819C278.455%2060.7816%20217.139%200.608942%20141.634%200.00446787C63.1874%20-0.618324%20-1.0318%2063.9505%200.0125604%20142.358C1.05692%20220.766%2063.5355%20280.893%20140.479%20280.893C217.423%20280.893%20278.436%20220.5%20280.873%20145.069C280.91%20143.988%20280.03%20143.1%20278.958%20143.1H142.394C141.341%20143.1%20140.479%20142.248%20140.479%20141.186L140.489%20141.195Z%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E");
}

.scene_entertainment::before {
  mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22548%22%20height%3D%22548%22%20viewBox%3D%220%200%20548%20548%22%20fill%3D%22none%22%3E%20%3Cpath%20d%3D%22M274%20194.267H548V43.8247C548%2019.6179%20528.382%200%20504.175%200H274.038C122.679%200%200%20122.679%200%20274C0%20425.321%20122.679%20548%20274%20548H504.137C528.344%20548%20547.962%20528.382%20547.962%20504.175V353.733H273.962V343.37H547.962V204.63H273.962V194.267H274Z%22%20fill%3D%22%23000%22%20%2F%3E%3C%2Fsvg%3E");
}

.p_scene .c_ttl_lower_container.-scene::before {
  mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22553%22%20height%3D%22548%22%20viewBox%3D%220%200%20553%20548%22%20fill%3D%22none%22%3E%20%3Cpath%20d%3D%22M276.5%20548C429.212%20548%20553%20425.331%20553%20274L553%2043.8422C553%2019.6263%20533.195%205.9303e-05%20508.758%205.71657e-05L281.726%203.73096e-05L281.726%20274L271.274%20274L271.274%203.63954e-05L44.2423%201.65392e-05C19.8055%201.4402e-05%20-1.48629e-05%2019.6262%20-1.6979e-05%2043.8421L-3.70915e-05%20274C-5.03157e-05%20425.331%20123.788%20548%20276.5%20548Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

.p_scene .c_ttl_lower_container.-scene::before {
  mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22553%22%20height%3D%22548%22%20viewBox%3D%220%200%20553%20548%22%20fill%3D%22none%22%3E%20%3Cpath%20d%3D%22M276.5%20548C429.212%20548%20553%20425.331%20553%20274L553%2043.8422C553%2019.6263%20533.195%205.9303e-05%20508.758%205.71657e-05L281.726%203.73096e-05L281.726%20274L271.274%20274L271.274%203.63954e-05L44.2423%201.65392e-05C19.8055%201.4402e-05%20-1.48629e-05%2019.6262%20-1.6979e-05%2043.8421L-3.70915e-05%20274C-5.03157e-05%20425.331%20123.788%20548%20276.5%20548Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

.p_scene .top_case {
  padding-bottom: 0;
}
.p_scene .enduring_events_section {
  background: #fff;
}
.p_scene .enduring_events_section .enduring_events_relation {
  margin-bottom: 0;
  background-color: #eef5fa;
}

.scene_business {
  padding-block: 7.5rem;
  background-color: #eef5fa;
}
@media screen and (width >= 48em) {
  .scene_business {
    padding-block: 10rem;
  }
}
.scene_business_list {
  display: grid;
  gap: 1.5rem;
  margin-top: 3rem;
}
@media screen and (width >= 48em) {
  .scene_business_list {
    margin-top: 3.5rem;
  }
}

.scene_detail_card {
  display: grid;
  grid-template-areas: "num" "img" "content";
  gap: 0;
  padding: min(4.2666666667vw,2rem);
  background: #fff;
  border-radius: 1rem;
}
@media screen and (width >= 48em) {
  .scene_detail_card {
    grid-template-areas: "img num" "img content";
    grid-template-columns: 1fr 1fr;
    gap: 0 3rem;
    align-items: start;
    padding: 4rem;
  }
}
.scene_detail_card-img {
  grid-area: img;
  aspect-ratio: 251/157;
}
@media screen and (width < 48em) {
  .scene_detail_card-img {
    width: 100%;
    margin-block: 1rem 1.25rem;
  }
}
.scene_detail_card-num {
  display: flex;
  grid-area: num;
  gap: 0.375rem;
  align-items: baseline;
  font-family: "Red Hat Display", sans-serif;
}
.scene_detail_card-num-label {
  font-weight: 600;
  line-height: 120%; /* 24px */
  font-size: min(4.2666666667vw,2rem);
}
@media screen and (width >= 48em) {
  .scene_detail_card-num-label {
    font-size: 1.25rem;
  }
}
.scene_detail_card-num-value {
  font-weight: 700;
  line-height: 1;
  color: #f80;
  font-size: min(7.4666666667vw,3.5rem);
}
@media screen and (width >= 48em) {
  .scene_detail_card-num-value {
    font-size: 1.75rem;
  }
}
.scene_detail_card-content {
  display: flex;
  flex-direction: column;
  grid-area: content;
}
.scene_detail_card-ttl {
  margin-bottom: 1rem;
  font-family: ryo-gothic-plusn, sans-serif;
  font-weight: bold;
  font-feature-settings: "halt" on;
  line-height: 1.5;
  color: #272727;
  font-size: min(5.3333333333vw,2.5rem);
}
@media screen and (width >= 48em) {
  .scene_detail_card-ttl {
    font-size: 2rem;
  }
}
@media screen and (width >= 48em) {
  .scene_detail_card-ttl {
    margin-bottom: 1.5rem;
  }
}
.scene_detail_card-desc {
  flex: 1;
  line-height: 1.8;
  color: #000;
}
.scene_detail_card .c_link {
  align-self: flex-end;
  margin-top: 1rem;
  text-align: right;
}
@media screen and (width >= 48em) {
  .scene_detail_card .c_link {
    margin-top: 2.5rem;
  }
}

.scene_entertainment {
  position: relative;
  z-index: 1;
  padding-block: 7.5rem;
  overflow: hidden;
  background: rgba(249, 247, 246, 0.9);
}
@media screen and (width >= 48em) {
  .scene_entertainment {
    padding-block: 10rem;
  }
}
.scene_entertainment::before {
  position: absolute;
  top: min(-12.8vw,-6rem);
  right: min(-28.5333333333vw,-13.375rem);
  z-index: -1;
  height: min(128vw,60rem);
  aspect-ratio: 1;
  margin: auto;
  content: "";
  background-image: linear-gradient(180deg, rgba(255, 219, 178, 0.8) 0%, rgba(255, 219, 178, 0.2) 100%);
  background-blend-mode: multiply;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: 100% 100%;
}
@media screen and (width >= 48em) {
  .scene_entertainment::before {
    top: -3rem;
    right: -3rem;
    height: 36rem;
  }
}

.scene_list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.4rem;
  gap: 2.5rem;
  margin-top: 3rem;
}
@media screen and (width >= 48em) {
  .scene_list {
    grid-template-columns: repeat(3, minmax(auto, 1fr));
  }
}
.scene_list_item {
  width: 100%;
}
@media screen and (width >= 48em) {
  .scene_list_item {
    max-width: 23.3125rem;
  }
}
.scene_list_link {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  text-decoration: none;
}
@media screen and (width >= 48em) {
  .scene_list_link {
    gap: 2rem;
  }
}
.scene_list_img {
  overflow: hidden;
  line-height: 0;
  border-radius: 0.5rem;
}
.scene_list_img img {
  aspect-ratio: 8/5;
}
@media screen and (width < 48em) {
  .scene_list_img img {
    width: 100%;
  }
}
.scene_list_body {
  display: grid;
  gap: 0;
  font-feature-settings: "halt" on;
}
.scene_list_ttl {
  margin-bottom: 1rem;
  font-family: ryo-gothic-plusn, sans-serif;
  font-weight: 700;
  line-height: 1.3;
  font-size: min(4.8vw,2.25rem);
}
@media screen and (width >= 48em) {
  .scene_list_ttl {
    font-size: 1.25rem;
  }
}
.scene_list_desc {
  margin-bottom: 1.5rem;
  line-height: 1.5;
  font-size: min(3.7333333333vw,1.75rem);
}
@media screen and (width >= 48em) {
  .scene_list_desc {
    font-size: 0.9375rem;
  }
}
.scene_list .c_link {
  margin-inline: auto 0;
  text-align: right;
}

.case_desc {
  order: 2;
  font-feature-settings: "halt" on;
  line-height: 2;
  font-size: min(4.8vw,2.25rem);
}
@media screen and (width >= 48em) {
  .case_desc {
    font-size: 1.125rem;
  }
}
@media screen and (width >= 48em) {
  .case_desc {
    margin-bottom: 3rem;
  }
}

.scene_cta {
  padding: 6rem 0;
  background-color: #f80;
}
@media screen and (width >= 48em) {
  .scene_cta {
    padding: 8rem 0;
  }
}
.scene_cta_head {
  margin-bottom: 4rem;
  text-align: center;
}
.scene_cta_head .c_ttl_section-en {
  color: rgba(255, 255, 255, 0.6);
}
.scene_cta_head .c_ttl_section-jp {
  color: #fff;
}
.scene_cta_desc {
  margin-top: 1.6rem;
  font-size: min(3.7333333333vw,1.75rem);
}
@media screen and (width >= 48em) {
  .scene_cta_desc {
    font-size: 1rem;
  }
}
.scene_cta_desc {
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.9);
}
.scene_cta_buttons {
  display: grid;
  gap: 1.6rem;
}
@media screen and (width >= 48em) {
  .scene_cta_buttons {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.4rem;
    max-width: 80rem;
    margin: 0 auto;
  }
}
.scene_cta_button {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2.4rem;
  text-align: center;
  text-decoration: none;
  background: #fff;
  border-radius: 1.2rem;
  transition: 0.4s ease-out;
}
@media screen and (width >= 48em) {
  .scene_cta_button {
    padding: 3.2rem;
  }
}
@media (any-hover: hover) {
  .scene_cta_button:hover {
    box-shadow: 0 0.8rem 2.4rem rgba(39, 39, 39, 0.15);
    transform: translateY(-0.4rem);
  }
}
.scene_cta_button:focus-visible, .scene_cta_button:active {
  box-shadow: 0 0.8rem 2.4rem rgba(39, 39, 39, 0.15);
  transform: translateY(-0.4rem);
}
.scene_cta_button_ttl {
  display: block;
  margin-bottom: 0.8rem;
  font-size: min(4.8vw,2.25rem);
}
@media screen and (width >= 48em) {
  .scene_cta_button_ttl {
    font-size: 1.25rem;
  }
}
.scene_cta_button_ttl {
  font-weight: bold;
  color: #272727;
}
.scene_cta_button_desc {
  display: block;
  font-size: min(3.2vw,1.5rem);
}
@media screen and (width >= 48em) {
  .scene_cta_button_desc {
    font-size: 0.875rem;
  }
}
.scene_cta_button_desc {
  color: rgba(39, 39, 39, 0.7);
}
.scene_cta_button .hasIcon {
  position: absolute;
  top: 50%;
  right: 2rem;
  transform: translateY(-50%);
}
@media screen and (width >= 48em) {
  .scene_cta_button .hasIcon {
    right: 2.4rem;
  }
}
.scene_cta_button.-contact {
  border: 0.2rem solid #f80;
}
.scene_cta_button.-contact .scene_cta_button_ttl {
  color: #f80;
}
.scene_cta_button.-download {
  background: rgba(255, 255, 255, 0.1);
  border: 0.2rem solid #fff;
}
.scene_cta_button.-download .scene_cta_button_ttl,
.scene_cta_button.-download .scene_cta_button_desc {
  color: #fff;
}
.scene_cta_button.-download .hasIcon::after {
  border-color: #fff;
}

.p_scene_expo .top_case {
  padding-bottom: 0;
}

.scene_expo_examples {
  padding-block: 1.5rem 3rem;
  font-family: "Red Hat Display", sans-serif;
  font-weight: 500;
  color: #272727;
  text-align: center;
  font-size: min(3.2vw,1.5rem);
}
@media screen and (width >= 48em) {
  .scene_expo_examples {
    font-size: 0.875rem;
  }
}
@media screen and (width >= 48em) {
  .scene_expo_examples {
    padding-block: 2rem 4rem;
  }
}

.scene_merit {
  padding-block: 3.75rem;
  overflow: clip;
  background-color: #f0f6fb;
}
@media screen and (width >= 48em) {
  .scene_merit {
    padding-block: 5rem;
  }
}
.scene_merit .contentInner {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
@media screen and (width >= 48em) {
  .scene_merit .contentInner {
    flex-direction: row;
    gap: 1rem;
    justify-content: space-between;
  }
}
.scene_merit .c_ttl_top {
  height: fit-content;
}
.scene_merit .c_ttl_top-jp {
  line-height: 1.5;
  font-size: min(6.4vw,3rem);
}
@media screen and (width >= 48em) {
  .scene_merit .c_ttl_top-jp {
    font-size: 2rem;
  }
}
.scene_merit_list {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 2rem;
  padding: 1.5rem;
}
@media screen and (width >= 48em) {
  .scene_merit_list {
    gap: 2.5rem;
    width: 100%;
    max-width: 43.1875rem;
    padding: 3rem;
  }
}
.scene_merit_list::after {
  position: absolute;
  inset: 0 auto 0 0;
  z-index: -1;
  width: 100vw;
  height: 100%;
  margin: auto;
  content: "";
  background-color: #fff;
  border-radius: 0.5rem 0 0 0.5rem;
}
.scene_merit_item {
  display: flex;
  gap: 1rem;
  align-items: center;
}
.scene_merit_item::before {
  display: block;
  height: min(8.5333333333vw,4rem);
  aspect-ratio: 1;
  content: "";
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
}
@media screen and (width >= 48em) {
  .scene_merit_item::before {
    height: 2.5rem;
  }
}
.scene_merit_ttl {
  font-feature-settings: "halt" on;
  line-height: 1.7;
  font-size: min(4.5333333333vw,2.125rem);
}
@media screen and (width >= 48em) {
  .scene_merit_ttl {
    font-size: 1.125rem;
  }
}
.scene_merit_ttl span {
  position: relative;
  color: #f80;
  text-decoration: underline;
  text-decoration-thickness: 0.375rem;
  text-decoration-color: rgba(255, 136, 0, 0.2);
  text-underline-offset: -0.05em;
  text-decoration-skip-ink: none;
}

.scene_usecase {
  padding-block: 7.5rem;
  background-color: #fff;
}
@media screen and (width >= 48em) {
  .scene_usecase {
    padding-block: 10rem;
  }
}
@media screen and (width < 48em) {
  .scene_usecase .c_ttl_top-jp {
    letter-spacing: 0.025em;
  }
}
.scene_usecase_list {
  display: grid;
  gap: 3.875rem;
  margin-top: 3rem;
  counter-reset: number;
}
@media screen and (width >= 48em) {
  .scene_usecase_list {
    gap: 4.375rem;
    max-width: 75rem;
    margin-inline: auto;
    margin-top: 4.5rem;
  }
}
.scene_usecase_card {
  position: relative;
  padding: 2.5rem min(6.4vw,3rem);
  background: #f9f7f6;
}
@media screen and (width >= 48em) {
  .scene_usecase_card {
    padding: 3rem;
    border-radius: 1rem;
  }
}
.scene_usecase_card:not(:last-child)::after {
  position: absolute;
  inset: auto 0 -2.4375rem;
  width: 10rem;
  height: 2.5rem;
  margin: auto;
  content: "";
  background-color: inherit;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
}
.scene_usecase_card.-orange {
  background: #fff9f2;
}
.scene_usecase_card.-orange .scene_usecase_card-phase {
  background: #f80;
}
.scene_usecase_card.-orange .scene_usecase_card-ttl::before {
  color: #f80;
}
.scene_usecase_card.-purple {
  background: #f5f3ff;
}
.scene_usecase_card.-purple .scene_usecase_card-phase {
  background: #8f82bc;
}
.scene_usecase_card.-purple .scene_usecase_card-ttl::before {
  color: #8f82bc;
}
.scene_usecase_card.-blue {
  background: var(--EEF5FA, #eef5fa);
}
.scene_usecase_card.-blue .scene_usecase_card-phase {
  background: var(--004FC5, #004fc5);
}
.scene_usecase_card.-blue .scene_usecase_card-ttl::before {
  color: #004fc5;
}
.scene_usecase_card-phase {
  position: absolute;
  top: min(-3.2vw,-1.5rem);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem min(4.2666666667vw,2rem);
  font-weight: 700;
  line-height: 1.5;
  color: #fff;
  border-radius: 0.5rem;
  font-size: min(4.8vw,2.25rem);
}
@media screen and (width >= 48em) {
  .scene_usecase_card-phase {
    font-size: 1.75rem;
  }
}
@media screen and (width >= 48em) {
  .scene_usecase_card-phase {
    top: -1.5rem;
    padding: 0.5rem 2rem;
  }
}
.scene_usecase_card-main {
  display: grid;
  gap: 1.5rem;
}
@media screen and (width >= 48em) {
  .scene_usecase_card-main {
    grid-template-columns: auto 37%;
    gap: 5rem;
  }
}
.scene_usecase_card-content {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  font-feature-settings: "halt" on;
}
.scene_usecase_card-ttl {
  display: flex;
  gap: 1rem;
  align-items: center;
  font-family: ryo-gothic-plusn, sans-serif;
  font-weight: 700;
  line-height: 1.3;
  font-size: min(4vw,1.875rem);
}
@media screen and (width >= 48em) {
  .scene_usecase_card-ttl {
    font-size: 1.125rem;
  }
}
.scene_usecase_card-ttl::before {
  font-family: "Red Hat Display", sans-serif;
  line-height: 1;
  content: "" counter(number, decimal-leading-zero);
  counter-increment: number;
  font-size: min(8.5333333333vw,4rem);
}
@media screen and (width >= 48em) {
  .scene_usecase_card-ttl::before {
    font-size: 3.5rem;
  }
}
.scene_usecase_card-lead {
  font-family: ryo-gothic-plusn, sans-serif;
  font-weight: 700;
  line-height: 1.3;
  font-size: min(4.8vw,2.25rem);
}
@media screen and (width >= 48em) {
  .scene_usecase_card-lead {
    font-size: 1.75rem;
  }
}
.scene_usecase_card-desc {
  line-height: 1.8;
  color: #000;
}
.scene_usecase_card-img {
  border-radius: 0.5rem;
}
@media screen and (width < 48em) {
  .scene_usecase_card-img {
    width: 100%;
    aspect-ratio: 16/10;
  }
}
.scene_usecase_card-caseLabel {
  position: absolute;
  right: 0.5rem;
  bottom: 0.5rem;
  padding: 0.25rem 0.75rem;
  font-family: "Red Hat Display", sans-serif;
  font-weight: 500;
  color: #fff;
  background: rgba(0, 0, 0, 0.6);
  border-radius: 0.25rem;
  font-size: min(2.6666666667vw,1.25rem);
}
@media screen and (width >= 48em) {
  .scene_usecase_card-caseLabel {
    font-size: 0.75rem;
  }
}
.scene_usecase_card-functions {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  margin-top: 2rem;
}
@media screen and (width < 75em) {
  .scene_usecase_card-functions {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (width < 48em) {
  .scene_usecase_card-functions {
    grid-template-columns: 1fr;
    gap: 1.5rem;
    margin-top: 1.5rem;
  }
}
.scene_usecase_func {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
}
.scene_usecase_func .top_function_item_icon {
  padding: 1rem;
}
@media screen and (width < 48em) {
  .scene_usecase_func-icon img {
    height: min(10.6666666667vw,5rem);
  }
}
.scene_usecase_func-content {
  display: grid;
  gap: 0.375rem;
  color: #000;
}
.scene_usecase_func-ttl {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  font-feature-settings: "halt" on;
  line-height: 1.8;
}
.scene_usecase_func-option {
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  padding: 0.25rem 0.625rem;
  color: #fff;
  background: #444;
  border-radius: 999rem;
  font-size: min(2.6666666667vw,1.25rem);
}
@media screen and (width >= 48em) {
  .scene_usecase_func-option {
    font-size: 0.625rem;
  }
}
.scene_usecase_func-desc {
  font-weight: 400;
  line-height: 1.3;
  font-size: min(3.2vw,1.5rem);
}
@media screen and (width >= 48em) {
  .scene_usecase_func-desc {
    font-size: 0.875rem;
  }
}
.scene_usecase_arrow {
  position: absolute;
  bottom: -2.25rem;
  left: 50%;
  width: 1.5rem;
  height: 1.5rem;
  content: "";
  border-right: 2px solid #272727;
  border-bottom: 2px solid #272727;
  transform: translateX(-50%) rotate(45deg);
}
@media screen and (width >= 48em) {
  .scene_usecase_arrow {
    bottom: -3rem;
  }
}
.scene_usecase + .top_case {
  padding-block: 0 7.5rem;
}
@media screen and (width >= 48em) {
  .scene_usecase + .top_case {
    padding-block: 0 10rem;
  }
}
:root {
  --color-txt: #272727;
  --color-reversal: #fff;
  --color-prime: #f80;
  --color-second: #06f;
  --color-third: #f5b400;
  --color-body: #fff;
  --color-gray: #f9f7f6;
  --font-size-h1: min(10.6666666667vw, 5rem);
  --font-size-h2: min(7.4666666667vw, 3.5rem);
  --font-size-h3: min(7.4666666667vw, 3.5rem);
  --font-size-h4: min(6.4vw, 3rem);
  --font-size-h5: min(5.3333333333vw, 2.5rem);
  --font-size-xl: min(4vw, 1.875rem);
  --font-size-lg: min(4.2666666667vw, 2rem);
  --font-size-base: min(4vw, 1.875rem);
  --font-size-sm: min(3.7333333333vw, 1.75rem);
  --font-size-xs: min(3.2vw, 1.5rem);
}
@media (width >= 48em) {
  :root {
    --font-size-h1: 4rem;
    --font-size-h2: 2.5rem;
    --font-size-h3: 2rem;
    --font-size-h4: 1.75rem;
    --font-size-h5: 1.5rem;
    --font-size-xl: 1.25rem;
    --font-size-lg: 1.125rem;
    --font-size-base: 1rem;
    --font-size-sm: 0.875rem;
    --font-size-xs: 0.75rem;
  }
}

/* svgアイコン */
.p_security .c_ttl_lower_container.-security::before {
  mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22548%22%20height%3D%22548%22%20viewBox%3D%220%200%20548%20548%22%20fill%3D%22none%22%3E%20%3Cpath%20d%3D%22M511.473%20243.103C531.655%20243.103%20548%20225.512%20548%20203.83V39.273C548%2017.5737%20531.637%200%20511.473%200H102.712C45.9849%200%200%2049.435%200%20110.425V180.434C0%20243.478%2047.5373%20294.574%20106.174%20294.574H253.033V304.897H36.5274C16.3454%20304.897%200%20322.488%200%20344.17V508.727C0%20530.426%2016.3633%20548%2036.5274%20548H445.288C502.015%20548%20548%20498.565%20548%20437.575V367.566C548%20304.522%20500.463%20253.426%20441.826%20253.426H294.967V243.103H511.455H511.473Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

.p_security .c_ttl_lower_container.-security::after {
  mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22548%22%20height%3D%22548%22%20viewBox%3D%220%200%20548%20548%22%20fill%3D%22none%22%3E%20%3Cpath%20d%3D%22M274%20194.267H548V43.8247C548%2019.6179%20528.382%200%20504.175%200H274.038C122.679%200%200%20122.679%200%20274C0%20425.321%20122.679%20548%20274%20548H504.137C528.344%20548%20547.962%20528.382%20547.962%20504.175V353.733H273.962V343.37H547.962V204.63H273.962V194.267H274Z%22%20fill%3D%22%23000%22%20%2F%3E%3C%2Fsvg%3E");
}

.p_security .security_monitoring::before {
  mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22500%22%20height%3D%22500%22%20viewBox%3D%220%200%20500%20500%22%20fill%3D%22none%22%3E%20%3Cpath%20d%3D%22M353.733%20226L353.733%20500L504.175%20500C528.382%20500%20548%20480.382%20548%20456.175L548%20226.038C548%2074.6786%20425.321%20-48%20274%20-48C122.679%20-48%20-5.36245e-06%2074.6786%20-1.19769e-05%20226L-2.20365e-05%20456.137C-2.30946e-05%20480.344%2019.6178%20499.962%2043.8247%20499.962L194.267%20499.962L194.267%20225.962L204.63%20225.962L204.63%20499.962L343.37%20499.962L343.37%20225.962L353.733%20225.962L353.733%20226Z%22%20fill%3D%22%23000%22%20style%3D%22mix-blend-mode%3Amultiply%22%2F%3E%3C%2Fsvg%3E");
}

.p_security .security_features {
  padding-block: 6rem;
  background-color: #f0f6fb;
}
@media screen and (width >= 48em) {
  .p_security .security_features {
    padding-block: 4rem;
  }
}
.p_security .security_features_ttl {
  margin-bottom: 4rem;
  font-family: ryo-gothic-plusn, sans-serif;
  font-weight: 700;
  line-height: 1.5;
  color: #272727;
  text-align: center;
  font-size: min(6.4vw,3rem);
}
@media screen and (width >= 48em) {
  .p_security .security_features_ttl {
    font-size: 2rem;
  }
}
@media screen and (width >= 48em) {
  .p_security .security_features_ttl {
    margin-bottom: 1.5rem;
  }
}
.p_security .security_features_list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}
@media screen and (width >= 48em) {
  .p_security .security_features_list {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }
}
.p_security .security_features_item {
  display: flex;
  gap: 1.5rem;
  align-items: center;
  padding: 2.4rem;
  background: #fff;
  border: 0.1rem solid #e9e9e9;
  border-radius: 0.5rem;
}
@media screen and (width >= 48em) {
  .p_security .security_features_item {
    padding: 1.5rem;
  }
}
.p_security .security_features_item_icon {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
}
.p_security .security_features_item_body {
  flex: 1;
}
.p_security .security_features_item_ttl {
  margin-bottom: 0.8rem;
  font-family: ryo-gothic-plusn, sans-serif;
  font-weight: 700;
  line-height: 1.3;
  color: #000;
  font-size: min(5.3333333333vw,2.5rem);
}
@media screen and (width >= 48em) {
  .p_security .security_features_item_ttl {
    font-size: 1.25rem;
  }
}
@media screen and (width >= 48em) {
  .p_security .security_features_item_ttl {
    margin-bottom: 1rem;
  }
}
.p_security .security_features_item_desc {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  line-height: 1.3;
  color: rgba(39, 39, 39, 0.7);
  color: #000;
  font-size: min(3.7333333333vw,1.75rem);
}
@media screen and (width >= 48em) {
  .p_security .security_features_item_desc {
    font-size: 0.875rem;
  }
}
.p_security .security_monitoring {
  position: relative;
  z-index: 1;
  padding-block: 5rem;
  overflow: hidden;
  background-color: #f9f7f6;
}
.p_security .security_monitoring::before {
  position: absolute;
  z-index: -1;
  display: block;
  aspect-ratio: 1;
  margin: auto;
  content: "";
  background-image: linear-gradient(89deg, rgba(255, 219, 178, 0.5) 4.61%, rgba(255, 219, 178, 0.2) 99.27%);
  background-blend-mode: multiply;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
}
@media screen and (width >= 48em) {
  .p_security .security_monitoring::before {
    top: -3rem;
    right: -3rem;
    height: 34.25rem;
  }
}
@media screen and (width >= 48em) {
  .p_security .security_monitoring {
    padding-block: 10rem;
  }
}
@media screen and (width >= 48em) {
  .p_security .security_monitoring .c_ttl_top {
    margin-bottom: 2rem;
  }
}
.p_security .security_monitoring_content {
  position: relative;
}
@media screen and (width >= 48em) {
  .p_security .security_monitoring_content {
    max-width: 60rem;
    margin-inline: auto;
  }
}
.p_security .security_monitoring_list {
  display: flex;
  flex-direction: column;
}
@media screen and (width >= 48em) {
  .p_security .security_monitoring_list {
    gap: 2rem;
    margin-block: 2rem;
  }
}
.p_security .security_monitoring_item {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.p_security .security_monitoring_item_ttl {
  font-family: ryo-gothic-plusn, sans-serif;
  font-weight: 700;
  line-height: 1.3;
  font-size: min(4.8vw,2.25rem);
}
@media screen and (width >= 48em) {
  .p_security .security_monitoring_item_ttl {
    font-size: 1.25rem;
  }
}
.p_security .security_monitoring_item_desc {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  line-height: 1.6;
  color: #000;
  font-size: min(4vw,1.875rem);
}
@media screen and (width >= 48em) {
  .p_security .security_monitoring_item_desc {
    font-size: 0.9375rem;
  }
}
.p_security .security_monitoring_img2 {
  display: block;
  margin-inline: auto;
}

.event_features_section {
  padding-block: 5rem;
  background-color: #fff;
}
@media screen and (width >= 48em) {
  .event_features_section {
    padding-block: 10rem;
  }
}
.event_features_section .c_ttl_top {
  margin-bottom: 3.75rem;
}
@media screen and (width >= 48em) {
  .event_features_section .c_ttl_top {
    margin-bottom: 5rem;
  }
}
:root {
  --color-txt: #272727;
  --color-reversal: #fff;
  --color-prime: #f80;
  --color-second: #06f;
  --color-third: #f5b400;
  --color-body: #fff;
  --color-gray: #f9f7f6;
  --font-size-h1: min(10.6666666667vw, 5rem);
  --font-size-h2: min(7.4666666667vw, 3.5rem);
  --font-size-h3: min(7.4666666667vw, 3.5rem);
  --font-size-h4: min(6.4vw, 3rem);
  --font-size-h5: min(5.3333333333vw, 2.5rem);
  --font-size-xl: min(4vw, 1.875rem);
  --font-size-lg: min(4.2666666667vw, 2rem);
  --font-size-base: min(4vw, 1.875rem);
  --font-size-sm: min(3.7333333333vw, 1.75rem);
  --font-size-xs: min(3.2vw, 1.5rem);
}
@media (width >= 48em) {
  :root {
    --font-size-h1: 4rem;
    --font-size-h2: 2.5rem;
    --font-size-h3: 2rem;
    --font-size-h4: 1.75rem;
    --font-size-h5: 1.5rem;
    --font-size-xl: 1.25rem;
    --font-size-lg: 1.125rem;
    --font-size-base: 1rem;
    --font-size-sm: 0.875rem;
    --font-size-xs: 0.75rem;
  }
}

/* svgアイコン */
.p_terms .c_ttl_lower_container.-terms::before {
  mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22548%22%20height%3D%22548%22%20viewBox%3D%220%200%20548%20548%22%20fill%3D%22none%22%3E%20%3Cpath%20d%3D%22M504.838%20132.562H425.246C418.853%20132.562%20413.656%20127.383%20413.656%20120.972V43.1457C413.656%2019.3227%20394.334%200%20370.512%200H172.684C148.862%200%20129.54%2019.3227%20129.54%2043.1457V120.972C129.54%20127.365%20124.361%20132.562%20117.95%20132.562H43.1443C19.3221%20132.562%200%20151.885%200%20175.708V373.542C0%20397.365%2019.3221%20416.688%2043.1443%20416.688H117.968C124.361%20416.688%20129.558%20421.867%20129.558%20428.278V504.854C129.558%20528.677%20148.88%20548%20172.702%20548H370.53C394.352%20548%20413.674%20528.677%20413.674%20504.854V428.278C413.674%20421.885%20418.853%20416.688%20425.264%20416.688H504.856C528.678%20416.688%20548%20397.365%20548%20373.542V175.708C548%20151.885%20528.678%20132.562%20504.856%20132.562H504.838Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

.p_terms .c_ttl_lower_container.-terms::after {
  mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22548%22%20height%3D%22548%22%20viewBox%3D%220%200%20548%20548%22%20fill%3D%22none%22%3E%20%3Cpath%20d%3D%22M274%20194.267H548V43.8247C548%2019.6179%20528.382%200%20504.175%200H274.038C122.679%200%200%20122.679%200%20274C0%20425.321%20122.679%20548%20274%20548H504.137C528.344%20548%20547.962%20528.382%20547.962%20504.175V353.733H273.962V343.37H547.962V204.63H273.962V194.267H274Z%22%20fill%3D%22%23000%22%20%2F%3E%3C%2Fsvg%3E");
}

.p_terms .terms_content {
  padding-block: 4rem;
  font-feature-settings: "halt" on;
  color: #000;
  background-color: #fff;
}
@media screen and (width >= 48em) {
  .p_terms .terms_content {
    padding-block: 10rem;
  }
}
.p_terms .terms_intro {
  margin-bottom: 3rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  line-height: 1.8;
  font-size: min(3.7333333333vw,1.75rem);
}
@media screen and (width >= 48em) {
  .p_terms .terms_intro {
    font-size: 1rem;
  }
}
@media screen and (width >= 48em) {
  .p_terms .terms_intro {
    margin-bottom: 2.5rem;
  }
}
.p_terms .terms_articles {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
@media screen and (width >= 48em) {
  .p_terms .terms_articles {
    gap: 2.5rem;
  }
}
.p_terms .terms_article_ttl {
  margin-bottom: 1rem;
  font-family: ryo-gothic-plusn, sans-serif;
  font-weight: 700;
  line-height: 1.3;
  font-size: min(4.2666666667vw,2rem);
}
@media screen and (width >= 48em) {
  .p_terms .terms_article_ttl {
    font-size: 1.25rem;
  }
}
.p_terms .terms_article_text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  line-height: 1.8;
  color: #272727;
  font-size: min(3.7333333333vw,1.75rem);
}
@media screen and (width >= 48em) {
  .p_terms .terms_article_text {
    font-size: 1rem;
  }
}
.p_terms .terms_article_list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  list-style: none;
  counter-reset: number;
}
.p_terms .terms_article_item {
  display: flex;
  gap: 0.5rem;
  align-items: baseline;
}
.p_terms .terms_article_num {
  flex-shrink: 0;
}
.p_terms .terms_article_item_body {
  flex: 1;
}
.p_terms .terms_article_item_text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  line-height: 1.8;
  color: #272727;
  font-size: min(3.7333333333vw,1.75rem);
}
@media screen and (width >= 48em) {
  .p_terms .terms_article_item_text {
    font-size: 1rem;
  }
}
.p_terms .terms_article_sublist {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  margin-top: 0.375rem;
  list-style: none;
}
.p_terms .terms_article_subitem {
  display: flex;
  gap: 0.375rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  line-height: 1.8;
  font-size: min(3.7333333333vw,1.75rem);
}
@media screen and (width >= 48em) {
  .p_terms .terms_article_subitem {
    font-size: 1rem;
  }
}
.p_terms .terms_article_subnum {
  flex-shrink: 0;
}
.p_terms .terms_article_date,
.p_terms .terms_article_end {
  margin-top: 2.5rem;
  font-family: "Noto Sans JP", sans-serif;
  font-feature-settings: "halt" on;
  line-height: 1.8;
  color: #000;
  font-size: min(4.2666666667vw,2rem);
}
@media screen and (width >= 48em) {
  .p_terms .terms_article_date,
  .p_terms .terms_article_end {
    font-size: 1rem;
  }
}
.p_terms .terms_article_end {
  margin-top: 1rem;
  text-align: right;
}
:root {
  --color-txt: #272727;
  --color-reversal: #fff;
  --color-prime: #f80;
  --color-second: #06f;
  --color-third: #f5b400;
  --color-body: #fff;
  --color-gray: #f9f7f6;
  --font-size-h1: min(10.6666666667vw, 5rem);
  --font-size-h2: min(7.4666666667vw, 3.5rem);
  --font-size-h3: min(7.4666666667vw, 3.5rem);
  --font-size-h4: min(6.4vw, 3rem);
  --font-size-h5: min(5.3333333333vw, 2.5rem);
  --font-size-xl: min(4vw, 1.875rem);
  --font-size-lg: min(4.2666666667vw, 2rem);
  --font-size-base: min(4vw, 1.875rem);
  --font-size-sm: min(3.7333333333vw, 1.75rem);
  --font-size-xs: min(3.2vw, 1.5rem);
}
@media (width >= 48em) {
  :root {
    --font-size-h1: 4rem;
    --font-size-h2: 2.5rem;
    --font-size-h3: 2rem;
    --font-size-h4: 1.75rem;
    --font-size-h5: 1.5rem;
    --font-size-xl: 1.25rem;
    --font-size-lg: 1.125rem;
    --font-size-base: 1rem;
    --font-size-sm: 0.875rem;
    --font-size-xs: 0.75rem;
  }
}

/* svgアイコン */
.p_function_single .c_ttl_lower_container.-functionSingle::after {
  mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22553%22%20height%3D%22548%22%20viewBox%3D%220%200%20553%20548%22%20fill%3D%22none%22%3E%20%3Cpath%20d%3D%22M276.5%20548C429.212%20548%20553%20425.331%20553%20274L553%2043.8422C553%2019.6263%20533.195%205.9303e-05%20508.758%205.71657e-05L281.726%203.73096e-05L281.726%20274L271.274%20274L271.274%203.63954e-05L44.2423%201.65392e-05C19.8055%201.4402e-05%20-1.48629e-05%2019.6262%20-1.6979e-05%2043.8421L-3.70915e-05%20274C-5.03157e-05%20425.331%20123.788%20548%20276.5%20548Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

.p_function_single .c_ttl_lower_container.-functionSingle::before, .func_detail::before {
  mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22548%22%20height%3D%22548%22%20viewBox%3D%220%200%20548%20548%22%20fill%3D%22none%22%3E%20%3Cpath%20d%3D%22M548%20203.237V42.807C548%2019.2567%20528.903%200.192247%20505.385%200.192247H377.477C376.163%200.0640823%20374.85%200%20373.504%200H174.496C150.946%200%20131.881%2019.0965%20131.881%2042.6147V213.779H42.6147C19.0645%20213.779%200%20232.875%200%20256.393V374.401C0%20397.951%2019.0965%20417.016%2042.6147%20417.016H131.881V505.385C131.881%20528.935%20150.978%20548%20174.496%20548H373.504C397.054%20548%20416.119%20528.903%20416.119%20505.385V417.016H505.385C528.935%20417.016%20548%20397.919%20548%20374.401V213.779H416.119V203.269H548V203.237Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

.p_function_single .c_ttl_lower_container.-functionSingle::after {
  mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22553%22%20height%3D%22548%22%20viewBox%3D%220%200%20553%20548%22%20fill%3D%22none%22%3E%20%3Cpath%20d%3D%22M276.5%20548C429.212%20548%20553%20425.331%20553%20274L553%2043.8422C553%2019.6263%20533.195%205.9303e-05%20508.758%205.71657e-05L281.726%203.73096e-05L281.726%20274L271.274%20274L271.274%203.63954e-05L44.2423%201.65392e-05C19.8055%201.4402e-05%20-1.48629e-05%2019.6262%20-1.6979e-05%2043.8421L-3.70915e-05%20274C-5.03157e-05%20425.331%20123.788%20548%20276.5%20548Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

.func_ideas::before {
  mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22299%22%20height%3D%22576%22%20viewBox%3D%220%200%20299%20576%22%20fill%3D%22none%22%3E%20%3Cpath%20d%3D%22M298.96%2045.3436C298.96%2020.3001%20278.637%200%20253.566%200H45.3933C20.3223%200%200%2020.3001%200%2045.3436V530.656C0%20555.7%2020.3626%20576%2045.4335%20576H253.607C278.678%20576%20299%20555.7%20299%20530.656V45.3436H298.96Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

.p_function_single .c_ttl_lower_container.-functionSingle .contentInner {
  gap: 2.75rem;
}
@media screen and (width >= 48em) {
  .p_function_single .c_ttl_lower_container.-functionSingle .contentInner {
    gap: 3rem;
  }
}
@media screen and (width < 48em) {
  .p_function_single .c_ttl_lower_container.-functionSingle::before {
    top: 0;
    bottom: 5%;
  }
}
.p_function_single .scene_merit .c_ttl_top {
  height: fit-content;
}
.p_function_single .scene_merit .c_ttl_top-jp {
  line-height: 1.5;
  font-size: min(6.4vw,3rem);
}
@media screen and (width >= 48em) {
  .p_function_single .scene_merit .c_ttl_top-jp {
    font-size: 2.5rem;
  }
}

.func_detail {
  position: relative;
  z-index: 1;
  padding-block: 5rem;
  overflow: clip;
  background: #f9f7f6;
}
@media screen and (width >= 48em) {
  .func_detail {
    padding-block: 10rem;
  }
}
.func_detail::before {
  position: absolute;
  z-index: -1;
  display: block;
  aspect-ratio: 1;
  margin: auto;
  content: none;
  background-image: linear-gradient(180deg, rgba(255, 219, 178, 0.5) 0%, rgba(255, 219, 178, 0.2) 100%);
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: 100%;
}
@media screen and (width >= 48em) {
  .func_detail::before {
    top: -3rem;
    right: -3rem;
    height: 36rem;
    content: "";
  }
}
.func_detail_container {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
  margin-top: 3rem;
}
@media screen and (width >= 48em) {
  .func_detail_container {
    grid-template-columns: 15rem 1fr;
    gap: 3.75rem;
    margin-top: 3.5rem;
  }
}
.func_detail_nav .top_function_list {
  justify-content: center;
  width: fit-content;
  max-width: 43.75rem;
  margin: 3rem auto 5rem;
}
@media screen and (width < 48em) {
  .func_detail_nav .top_function_list {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem 0.875rem;
    margin-top: 2.5rem;
  }
}
.func_detail_nav .top_function_item:has(.top_function_item_link) .top_function_item_caption::after {
  display: block;
  height: 0.375rem;
  margin: 0.375rem auto 0;
  background: none;
  border: 1rem solid currentcolor;
  border-width: 0 0.125rem 0.125rem 0;
  rotate: 45deg;
}
.func_detail_subTtl {
  margin-bottom: 2.5rem;
  font-family: ryo-gothic-plusn, sans-serif;
  font-weight: 700;
  font-feature-settings: "halt" on;
  line-height: 1.5;
  color: #000;
  text-align: center;
  font-size: min(5.3333333333vw,2.5rem);
}
@media screen and (width >= 48em) {
  .func_detail_subTtl {
    font-size: 2rem;
  }
}
@media screen and (width >= 48em) {
  .func_detail_subTtl {
    margin-bottom: 3rem;
  }
}
.func_detail_cards {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
@media screen and (width >= 48em) {
  .func_detail_cards {
    gap: 2.5rem;
  }
}
.func_detail_card {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  padding: 1.5rem;
  background-color: #fff;
  border-radius: 1rem;
}
@media screen and (width >= 48em) {
  .func_detail_card {
    grid-template-columns: 1fr 37%;
    gap: min(5.8565153734vw,5rem);
    padding: 3rem;
  }
}
.func_detail_card-body {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  line-height: 1.3;
}
.func_detail_card-body:only-child {
  grid-column: 1/-1;
}
.func_detail_card-head {
  display: flex;
  gap: 1rem;
  align-items: center;
}
.func_detail_card-head-txt {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}
@media screen and (width < 48em) {
  .func_detail_card-head-txt {
    flex-direction: column;
    align-items: flex-start;
  }
}
@media screen and (width < 48em) {
  .func_detail_card-head .top_function_item_icon {
    height: min(19.2vw,9rem);
    padding: 1rem;
  }
}
.func_detail_card-iconLabel {
  font-family: ryo-gothic-plusn, sans-serif;
  font-weight: 700;
  font-size: min(4.2666666667vw,2rem);
}
@media screen and (width >= 48em) {
  .func_detail_card-iconLabel {
    font-size: 1.25rem;
  }
}
.func_detail_card-badge {
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  padding: 0.25rem 0.5rem;
  font-weight: 500;
  line-height: 1;
  color: var(--FFFFFF, #fff);
  background: var(--EB4000, #eb4000);
  border-radius: 999px;
  font-size: min(2.6666666667vw,1.25rem);
}
@media screen and (width >= 48em) {
  .func_detail_card-badge {
    font-size: 0.625rem;
  }
}
@media screen and (width >= 48em) {
  .func_detail_card-badge {
    min-height: 2.125rem;
    padding: 0.5rem 0.875rem;
  }
}
.func_detail_card-badge.-option {
  background: var(--444444, #444);
}
.func_detail_card-ttl {
  font-family: ryo-gothic-plusn, sans-serif;
  font-weight: 700;
  font-feature-settings: "halt" on;
  font-size: min(4.8vw,2.25rem);
}
@media screen and (width >= 48em) {
  .func_detail_card-ttl {
    font-size: 1.75rem;
  }
}
.func_detail_card-desc {
  line-height: 1.8;
}
.func_detail_card-img {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
@media screen and (width < 48em) {
  .func_detail_card-img img {
    width: 100%;
  }
}
.func_detail_card-cap {
  margin: 0 auto;
  line-height: 1.3;
  text-align: center;
  font-size: min(3.2vw,1.5rem);
}
@media screen and (width >= 48em) {
  .func_detail_card-cap {
    font-size: 0.875rem;
  }
}

.func_details {
  padding-top: 4rem;
}
@media screen and (width >= 48em) {
  .func_details {
    padding-top: 3rem;
  }
}
.func_details_ttl {
  font-family: ryo-gothic-plusn, sans-serif;
  font-weight: 700;
  font-feature-settings: "halt" on;
  line-height: 1.5;
  color: #000;
  text-align: center;
  font-size: min(5.3333333333vw,2.5rem);
}
@media screen and (width >= 48em) {
  .func_details_ttl {
    font-size: 2rem;
  }
}
.func_details_list {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 0.5rem;
  margin-top: 1.5rem;
}
@media screen and (width >= 48em) {
  .func_details_list {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
    margin-top: 3rem;
  }
}
@media screen and (width >= 75em) {
  .func_details_list {
    grid-template-columns: repeat(3, 1fr);
  }
}
.func_details_item {
  display: flex;
  gap: 1.5rem;
  align-items: center;
  padding: 1.5rem;
  background-color: #fff;
  border: 1px solid var(--E9E9E9, #e9e9e9);
  border-radius: 0.5rem;
}
.func_details_item-img {
  flex-shrink: 0;
  width: 3rem;
  height: 3rem;
  background: var(--F4F4F4, #f4f4f4);
  border-radius: 8px;
}
@media screen and (width >= 48em) {
  .func_details_item-img {
    width: 4.25rem;
    height: 4.25rem;
  }
}
.func_details_item-body {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  color: #000;
}
.func_details_item-ttl {
  font-family: ryo-gothic-plusn, sans-serif;
  font-weight: 700;
  font-feature-settings: "halt" on;
  line-height: 1.3;
  font-size: min(3.7333333333vw,1.75rem);
}
@media screen and (width >= 48em) {
  .func_details_item-ttl {
    font-size: 1.25rem;
  }
}
.func_details_item-desc {
  line-height: 1.3;
  font-size: min(3.2vw,1.5rem);
}
@media screen and (width >= 48em) {
  .func_details_item-desc {
    font-size: 0.875rem;
  }
}

.func_ideas {
  position: relative;
  z-index: 1;
  padding-block: 7.5rem 5rem;
  overflow: clip;
  background: var(--EEF5FA, #eef5fa);
}
@media screen and (width >= 48em) {
  .func_ideas {
    padding-block: 10rem;
  }
}
.func_ideas::before {
  position: absolute;
  top: min(-12.8vw,-6rem);
  right: min(-19.2vw,-9rem);
  z-index: -1;
  display: block;
  width: min(66.4vw,31.125rem);
  height: min(128vw,60rem);
  margin: auto;
  content: "";
  background-image: linear-gradient(180deg, rgba(221, 236, 249, 0.2) 0%, #ddecf9 100%);
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: 100%;
}
@media screen and (width >= 48em) {
  .func_ideas::before {
    top: -3rem;
    right: 1.875rem;
    width: 18.6875rem;
    height: 36rem;
  }
}
.func_ideas_list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  margin-top: 3rem;
}
@media screen and (width >= 48em) {
  .func_ideas_list {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
  }
}
.func_ideas_item {
  display: grid;
  gap: 1rem;
}
@media screen and (width >= 48em) {
  .func_ideas_item {
    grid-template-rows: subgrid;
    grid-row: span 3;
    gap: 1.5rem;
  }
}
.func_ideas_item-img {
  aspect-ratio: 384/244;
}
@media screen and (width < 48em) {
  .func_ideas_item-img {
    width: 100%;
  }
}
.func_ideas_item-body {
  display: grid;
  gap: 0.5rem;
  font-feature-settings: "halt" on;
}
@media screen and (width >= 48em) {
  .func_ideas_item-body {
    grid-template-rows: subgrid;
    grid-row: span 2;
    gap: 1rem;
  }
}
.func_ideas_item-ttl {
  font-family: ryo-gothic-plusn, sans-serif;
  font-weight: 700;
  line-height: 1.3;
  font-size: min(4.2666666667vw,2rem);
}
@media screen and (width >= 48em) {
  .func_ideas_item-ttl {
    font-size: 1.75rem;
  }
}
.func_ideas_item-desc {
  line-height: 1.8;
}

.func_related {
  padding-bottom: 7.5rem;
  background: var(--EEF5FA, #eef5fa);
}
@media screen and (width >= 48em) {
  .func_related {
    padding-bottom: 10rem;
  }
}
.func_related .contentInner {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3rem;
}
.func_related_box {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  padding: 3.5rem 1.5rem;
  background: var(--FFFFFF, #fff);
  border-radius: 0.5rem;
}
@media screen and (width >= 48em) {
  .func_related_box {
    padding: 3.5rem;
  }
}
.func_related_ttl {
  font-family: ryo-gothic-plusn, sans-serif;
  font-weight: 700;
  font-feature-settings: "halt" on;
  line-height: 1.5;
  color: #000;
  text-align: center;
  font-size: min(5.3333333333vw,2.5rem);
}
@media screen and (width >= 48em) {
  .func_related_ttl {
    font-size: 2rem;
  }
}
.func_related_list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
@media screen and (width >= 48em) {
  .func_related_list {
    grid-template-columns: repeat(3, 1fr);
  }
}
.func_related_item-link {
  display: flex;
  gap: 1.5rem;
  align-items: center;
  padding: 1.5rem;
  line-height: 1.3;
  color: #000;
  background-color: #fff;
  border: 1px solid var(--E9E9E9, #e9e9e9);
  border-radius: 0.5rem;
}
.func_related_item-ttl {
  margin-bottom: 1rem;
  font-family: ryo-gothic-plusn, sans-serif;
  font-weight: 700;
  font-feature-settings: "halt" on;
  font-size: min(4.8vw,2.25rem);
}
@media screen and (width >= 48em) {
  .func_related_item-ttl {
    font-size: 1.125rem;
  }
}
.func_related_item-desc {
  font-size: min(3.4666666667vw,1.625rem);
}
@media screen and (width >= 48em) {
  .func_related_item-desc {
    font-size: 0.875rem;
  }
}
.func_related_item .hasIcon {
  height: min(6.4vw,3rem);
}
@media screen and (width >= 48em) {
  .func_related_item .hasIcon {
    height: 1.5rem;
  }
}
.func_related_buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  justify-content: center;
}
.func_related_buttons .c_btn {
  margin: 0;
}

.scene_banner {
  position: relative;
  color: #fff;
}
.scene_banner_bg img {
  width: 100%;
  aspect-ratio: 375/300;
}
@media screen and (width >= 48em) {
  .scene_banner_bg img {
    aspect-ratio: 1440/500;
  }
}
.scene_banner_content {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  height: 100%;
  margin: auto;
}
.scene_banner .contentInner {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}
@media screen and (width >= 48em) {
  .scene_banner .contentInner {
    gap: 3rem;
  }
}
.scene_banner .c_link {
  width: fit-content;
}@layer base {
  *,
  *::before,
  *::after {
    box-sizing: border-box;
    padding: 0;
    margin: 0;
  }

  :where([hidden]:not([hidden="until-found"])) {
    display: none !important;
  }

  :where(html) {
    scrollbar-gutter: stable;
    line-height: 1.5;
    tab-size: 2;
    color-scheme: dark light;
    -webkit-text-size-adjust: none;
    interpolate-size: allow-keywords;
  }

  :where(html:has(dialog:modal[open])) {
    overflow: clip;
  }

  @media (prefers-reduced-motion: no-preference) {
    :where(html:focus-within) {
      scroll-behavior: smooth;
    }
  }

  :where(body) {
    font-family: system-ui, sans-serif;
    line-height: inherit;
    -webkit-font-smoothing: antialiased;
  }

  :where(button) {
    all: unset;
  }

  :where(input, button, textarea, select) {
    font: inherit;
    font-variation-settings: inherit;
    font-feature-settings: inherit;
    color: inherit;
    word-spacing: inherit;
    letter-spacing: inherit;
  }

  :where(textarea) {
    resize: vertical;
    resize: block;
  }

  :where(button, label, select, summary, [role="button"], [role="option"]) {
    cursor: pointer;
  }

  :where(:disabled, label:has(> :disabled, + disabled)) {
    cursor: not-allowed;
  }

  :where(a) {
    color: inherit;
    text-underline-offset: 0.2ex;
  }

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

  :where(img, svg, video, canvas, audio, iframe, embed, object) {
    display: block;
  }

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

  :where(p, h1, h2, h3, h4, h5, h6) {
    overflow-wrap: break-word;
  }

  :where(h1, h2, h3) {
    line-height: calc(1em + 0.5rem);
    text-wrap: balance;
  }

  :where(hr) {
    block-size: 0;
    overflow: visible;
    color: inherit;
    border: none;
    border-block-start: 1px solid;
  }

  :where(dialog, [popover]) {
    inset: unset;
    max-width: unset;
    max-height: unset;
    overflow: unset;
    color: inherit;
    background: none;
    border: none;
  }

  :where(dialog:not([open], [popover]), [popover]:not(:popover-open)) {
    display: none !important;
  }

  :where(:focus-visible) {
    outline: 3px solid CanvasText;
    outline-offset: 1px;
    box-shadow: 0 0 0 5px Canvas;
  }

  :where(:focus-visible, :target) {
    scroll-margin-block: 8vh;
  }

  :where(.visually-hidden:not(:focus-within, :active)) {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    user-select: none !important;
    border: 0 !important;
    clip-path: inset(50%) !important;
  }
}
/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */
@layer properties {
  @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
    *, :before, :after, ::backdrop {
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-border-style: solid;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
    }
  }
}

@layer theme {
  :root, :host {
    --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    --spacing: .25rem;
    --default-transition-duration: .15s;
    --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
    --color-txt: var(--color-txt);
    --color-reversal: var(--color-reversal);
    --color-gray: var(--color-gray);
    --color-prime: var(--color-prime);
    --color-second: var(--color-second);
    --color-third: var(--color-third);
    --color-body: var(--color-body);
    --text-h1: var(--font-size-h1);
  }

  :root {
    --spacing: .1rem;
  }
}

@layer base {
  *, :after, :before, ::backdrop {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  ::file-selector-button {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  html, :host {
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    line-height: 1.5;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }

  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }

  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }

  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }

  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }

  b, strong {
    font-weight: bolder;
  }

  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }

  small {
    font-size: 80%;
  }

  sub, sup {
    vertical-align: baseline;
    font-size: 75%;
    line-height: 0;
    position: relative;
  }

  sub {
    bottom: -.25em;
  }

  sup {
    top: -.5em;
  }

  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }

  :-moz-focusring {
    outline: auto;
  }

  progress {
    vertical-align: baseline;
  }

  summary {
    display: list-item;
  }

  ol, ul, menu {
    list-style: none;
  }

  img, svg, video, canvas, audio, iframe, embed, object {
    vertical-align: middle;
    display: block;
  }

  img, video {
    max-width: 100%;
    height: auto;
  }

  button, input, select, optgroup, textarea {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }

  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }

  ::file-selector-button {
    margin-inline-end: 4px;
  }

  ::placeholder {
    opacity: 1;
  }

  @supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentColor;
    }

    @supports (color: color-mix(in lab, red, red)) {
      ::placeholder {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }

  textarea {
    resize: vertical;
  }

  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }

  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }

  ::-webkit-datetime-edit {
    display: inline-flex;
  }

  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }

  ::-webkit-datetime-edit {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-year-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-month-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-day-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-hour-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-minute-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-second-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-millisecond-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }

  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }

  :-moz-ui-invalid {
    box-shadow: none;
  }

  button, input:where([type="button"], [type="reset"], [type="submit"]) {
    appearance: button;
  }

  ::file-selector-button {
    appearance: button;
  }

  ::-webkit-inner-spin-button {
    height: auto;
  }

  ::-webkit-outer-spin-button {
    height: auto;
  }

  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}

@layer components;

@layer utilities {
  .invisible {
    visibility: hidden;
  }

  .visible {
    visibility: visible;
  }

  .absolute {
    position: absolute;
  }

  .container {
    width: 100%;
  }

  @media (min-width: 40rem) {
    .container {
      max-width: 40rem;
    }
  }

  @media (min-width: 48rem) {
    .container {
      max-width: 48rem;
    }
  }

  @media (min-width: 64rem) {
    .container {
      max-width: 64rem;
    }
  }

  @media (min-width: 80rem) {
    .container {
      max-width: 80rem;
    }
  }

  @media (min-width: 96rem) {
    .container {
      max-width: 96rem;
    }
  }

  .m-auto {
    margin: auto;
  }

  .my-20 {
    margin-block: calc(var(--spacing) * 20);
  }

  .contents {
    display: contents;
  }

  .flex {
    display: flex;
  }

  .grid {
    display: grid;
  }

  .hidden {
    display: none;
  }

  .inline {
    display: inline;
  }

  .table {
    display: table;
  }

  .w-fit {
    width: fit-content;
  }

  .transform {
    transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, );
  }

  .resize {
    resize: both;
  }

  .gap-30 {
    gap: calc(var(--spacing) * 30);
  }

  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }

  .bg-prime {
    background-color: var(--color-prime);
  }

  .text-h1 {
    font-size: var(--text-h1);
  }

  .text-prime {
    color: var(--color-prime);
  }

  .blur {
    --tw-blur: blur(8px);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  @media not all and (min-width: 48rem) {
    .max-md\:px-20 {
      padding-inline: calc(var(--spacing) * 20);
    }
  }

  @media (min-width: 48rem) {
    .md\:max-w-961 {
      max-width: calc(var(--spacing) * 961);
    }

    .md\:gap-34 {
      gap: calc(var(--spacing) * 34);
    }
  }
}

@property --tw-rotate-x {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-y {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-z {
  syntax: "*";
  inherits: false
}

@property --tw-skew-x {
  syntax: "*";
  inherits: false
}

@property --tw-skew-y {
  syntax: "*";
  inherits: false
}

@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-blur {
  syntax: "*";
  inherits: false
}

@property --tw-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-invert {
  syntax: "*";
  inherits: false
}

@property --tw-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-sepia {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false
}
@keyframes splide-loading{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.splide__track--draggable{-webkit-touch-callout:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.splide__track--fade>.splide__list>.splide__slide{margin:0!important;opacity:0;z-index:0}.splide__track--fade>.splide__list>.splide__slide.is-active{opacity:1;z-index:1}.splide--rtl{direction:rtl}.splide__track--ttb>.splide__list{display:block}.splide__container{box-sizing:border-box;position:relative}.splide__list{backface-visibility:hidden;display:-ms-flexbox;display:flex;height:100%;margin:0!important;padding:0!important}.splide.is-initialized:not(.is-active) .splide__list{display:block}.splide__pagination{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:center;justify-content:center;margin:0;pointer-events:none}.splide__pagination li{display:inline-block;line-height:1;list-style-type:none;margin:0;pointer-events:auto}.splide:not(.is-overflow) .splide__pagination{display:none}.splide__progress__bar{width:0}.splide{position:relative;visibility:hidden}.splide.is-initialized,.splide.is-rendered{visibility:visible}.splide__slide{backface-visibility:hidden;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0;list-style-type:none!important;margin:0;position:relative}.splide__slide img{vertical-align:bottom}.splide__spinner{animation:splide-loading 1s linear infinite;border:2px solid #999;border-left-color:transparent;border-radius:50%;bottom:0;contain:strict;display:inline-block;height:20px;left:0;margin:auto;position:absolute;right:0;top:0;width:20px}.splide__sr{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.splide__toggle.is-active .splide__toggle__play,.splide__toggle__pause{display:none}.splide__toggle.is-active .splide__toggle__pause{display:inline}.splide__track{overflow:hidden;position:relative;z-index:0}