@charset "UTF-8";
@import 'https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Noto+Sans+JP:wght@100..900&display=swap';
/* ======================================================
// Base Size
// ====================================================== */
/* ======================================================
// Fonts
// ====================================================== */
/* ======================================================
// Colors
// ====================================================== */
/* ======================================================
// Transitions & Easing
// ====================================================== */
/* ======================================================
// Z-Index
// ====================================================== */
/* ======================================================
// Breakpoints (for functions / mixins)
// ====================================================== */
/* ======================================================
// Hover Mixin
// ====================================================== */
/* ======================================================
// Breakpoint Mixins
// ====================================================== */
/* ======================================================
// Multiline Ellipsis Mixin
// ====================================================== */
/* ======================================================
// Visibility Hidden Mixin
// ====================================================== */
/* ======================================================
// Unit Conversions
// ====================================================== */
/* ======================================================
// Viewport-Based Calculations
// ====================================================== */
/* ======================================================
// Clamp-Based Calculations
// ====================================================== */
/* ======================================================
//  MARK: Universal
// ====================================================== */
*,
*::after,
*::before {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
  padding: 0;
  margin: 0;
}

/* ======================================================
//  MARK: Reduced motion
// ====================================================== */
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *,
  ::before,
  ::after,
  ::backdrop {
    background-attachment: scroll !important;
    transition-delay: 0s !important;
    transition-duration: 1ms !important;
    animation-duration: 1ms !important;
    animation-delay: 0s !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
  }
}
/* ======================================================
//  MARK: Document and Body Elements
// ====================================================== */
:where(:root) {
  font-family: sans-serif;
  line-height: 1.5;
  text-spacing-trim: trim-start;
  text-autospace: normal;
  word-break: normal;
  line-break: strict;
  overflow-wrap: anywhere;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
       text-size-adjust: 100%;
  scrollbar-gutter: stable;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-tap-highlight-color: transparent;
}

:where(body) {
  min-block-size: 100dvb;
  margin: unset;
}

:focus:not(:focus-visible) {
  outline: none;
}

:focus-visible {
  outline: 1px solid currentcolor;
  outline-offset: 0.125em;
}

/* ======================================================
// MARK: Sections
// ------------------------------------------------------ */
:where(h1, h2, h3, h4, h5, h6) {
  margin: unset;
  font-size: inherit;
  font-weight: inherit;
}

:where(search) {
  display: block flow;
}

/* ======================================================
//  MARK: Grouping content
// ====================================================== */
:where(main) {
  display: block;
}

:where(p, table, blockquote, address, pre, iframe, form, figure, ul, ol, dl, menu) {
  margin: unset;
}

:where(blockquote, figure) {
  margin-inline: unset;
}

:where(b, strong) {
  font-weight: bolder;
}

:where(small) {
  font-size: 100%;
}

:where(p:lang(en)) {
  text-wrap: pretty;
}

:where(address:lang(ja)) {
  font-style: unset;
}

:where(ul, ol, li, menu) {
  padding-inline-start: unset;
  list-style-type: "";
}

:where(dt) {
  font-weight: bolder;
}

:where(dd) {
  margin-inline-start: unset;
}

:where(pre) {
  text-spacing-trim: space-all;
  text-autospace: no-autospace;
}

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

:where(sub) {
  bottom: -0.25em;
}

:where(sup) {
  top: -0.5em;
}

:where(del, ins, s)::before,
:where(del, ins, s)::after {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  white-space: nowrap;
  content: "test";
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(100%);
}

:where(s)::before {
  content: "stricken text start ";
}

:where(s)::after {
  content: " stricken text end";
}

:where(del)::before {
  content: "deletion start ";
}

:where(del)::after {
  content: " deletion end";
}

:where(ins)::before {
  content: "insertion start ";
}

:where(ins)::after {
  content: " insertion end";
}

:where(hr) {
  clear: both;
  box-sizing: content-box;
  height: 0;
  margin: 0;
  overflow: visible;
  color: inherit;
  border-top-width: 0;
}

/* ======================================================
//  MARK: Text-level semantics
// ====================================================== */
:where(em:lang(ja)) {
  font-weight: bolder;
}

:where(:is(i, cite, em, dfn, var):lang(ja)) {
  font-style: unset;
}

:where(code, kbd, samp) {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-feature-settings: initial;
  font-variation-settings: initial;
  font-size: unset;
  font-variant-ligatures: none;
}

:where(abbr[title]) {
  text-decoration-line: underline;
  text-decoration-style: dotted;
  cursor: help;
}

:where(time) {
  text-autospace: no-autospace;
}

@media (forced-colors: active) {
  :where(mark) {
    background-color: Highlight;
    color: HighlightText;
  }
}
@media print {
  :where(mark) {
    border-width: 1px;
    border-style: dotted;
  }
}
/* ======================================================
//  MARK: Links
// ====================================================== */
:where(a:-moz-any-link) {
  color: unset;
  text-decoration-line: unset;
  text-decoration-thickness: from-font;
}
:where(a:any-link) {
  color: unset;
  text-decoration-line: unset;
  text-decoration-thickness: from-font;
}

:where(:-moz-any-link) {
  cursor: pointer;
  text-decoration-color: color-mix(in srgb, currentcolor, transparent 40%);
  text-underline-offset: 0.25em;
}

:where(:any-link) {
  cursor: pointer;
  text-decoration-color: color-mix(in srgb, currentcolor, transparent 40%);
  text-underline-offset: 0.25em;
}

:where(a) {
  color: currentcolor;
  text-decoration: none;
  background-color: transparent;
}

/* ======================================================
//  MARK: Embedded content
// ====================================================== */
:where(img, svg, picture, video, canvas, model, audio, iframe, embed, object) {
  block-size: auto;
  max-inline-size: 100%;
  vertical-align: bottom;
}

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

:where(iframe) {
  border: unset;
}

/* ======================================================
//  MARK: Tabular data
// ====================================================== */
:where(table) {
  border-collapse: collapse;
  border-color: inherit;
}

:where(caption, th) {
  text-align: unset;
}

:where(caption) {
  text-wrap: pretty;
}

/* ======================================================
//  MARK: Forms
// ====================================================== */
:where(button, input, select, textarea),
::file-selector-button {
  border-style: solid;
  border-color: unset;
  border-radius: unset;
  color: unset;
  background: unset;
  font: unset;
  letter-spacing: unset;
  text-align: unset;
  text-transform: unset;
  -webkit-appearance: unset;
     -moz-appearance: unset;
          appearance: unset;
}

:where(input:is([type=radio i], [type=checkbox i])) {
  margin: unset;
}

:where(input[type=file i]) {
  border: unset;
}

:where(input[type=search i]) {
  -webkit-appearance: textfield;
}

@supports (-webkit-touch-callout: none) {
  :where(input[type=search i]) {
    background-color: Canvas;
    border: 1px solid -apple-system-secondary-label;
  }
}
:where(input:is([type=tel i], [type=url i], [type=email i], [type=number i]):not(:-moz-placeholder)) {
  direction: ltr;
}
:where(input:is([type=tel i], [type=url i], [type=email i], [type=number i]):not(:placeholder-shown)) {
  direction: ltr;
}

:where(textarea) {
  margin-block: unset;
  resize: block;
}

:where(input:not([type=button i], [type=submit i], [type=reset i]),
textarea,
[contenteditable]) {
  text-autospace: no-autospace;
}

:where(button, input:is([type=button i], [type=submit i], [type=reset i])),
::file-selector-button {
  background-color: unset;
}

:where(button,
input:is([type=button i], [type=submit i], [type=reset i]),
[role=tab i],
[role=button i],
[role=option i]),
::file-selector-button {
  touch-action: manipulation;
}

:where(button:enabled,
label[for],
select:enabled,
input:is([type=button i],
[type=submit i],
[type=reset i],
[type=radio i],
[type=checkbox i]):enabled,
[role=tab i],
[role=button i],
[role=option i]),
:where(:enabled)::file-selector-button {
  cursor: pointer;
}

:where(textarea, select, input) {
  field-sizing: content;
}

:where(textarea:not([rows])) {
  min-block-size: 6em;
}

:where(label):has(+ :where(textarea, input, select)) {
  display: block;
}

:where(select:disabled) {
  opacity: inherit;
}

:where(fieldset) {
  min-inline-size: 0;
  margin-inline: unset;
  padding: unset;
  border: unset;
}

:where(legend) {
  padding-inline: unset;
}

:where(progress) {
  vertical-align: unset;
}

:where(option) {
  padding: 0;
}

:where(:-moz-focusring) {
  outline: auto;
}

:where([type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button) {
  height: auto;
}

:where([type=search]) {
  outline-offset: -2px;
}

:where([type=search]::-webkit-search-decoration) {
  -webkit-appearance: textfield;
          appearance: textfield;
}

:where(::-webkit-file-upload-button) {
  font: inherit;
  -webkit-appearance: button;
          appearance: button;
}

:where([type=number]) {
  -webkit-appearance: textfield;
     -moz-appearance: textfield;
          appearance: textfield;
}

::-moz-placeholder {
  opacity: unset;
}

::placeholder {
  opacity: unset;
}

/* ======================================================
//  MARK: Interactive elements
// ====================================================== */
:where(details) {
  display: block;
}

:where(summary) {
  list-style-type: "";
  cursor: pointer;
}

:where(summary)::-webkit-details-marker {
  display: none;
}

:where(dialog, [popover]) {
  overscroll-behavior-block: contain;
  padding: unset;
  border: unset;
}

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

:where(dialog) {
  max-inline-size: unset;
  max-block-size: unset;
}

:where(dialog)::backdrop {
  background-color: oklch(0% 0 0deg / 0.3);
}

:where(dialog),
:where(dialog)::backdrop {
  opacity: 0;
  transition: opacity 300ms ease-out, display 300ms allow-discrete, overlay 300ms allow-discrete;
}

:where(dialog[open]),
:where(dialog[open])::backdrop {
  opacity: 1;
}

@starting-style {
  :where(dialog[open]),
  :where(dialog[open])::backdrop {
    opacity: 0;
  }
}
:where([popover]) {
  margin: unset;
}

:where([contenteditable]:focus) {
  outline: auto;
}

/* ======================================================
//  MARK: Focus Styles
// ====================================================== */
:where(:focus-visible) {
  outline-offset: 3px;
}

[tabindex="-1"]:focus {
  outline: none !important;
}

/* ======================================================
//  MARK: Misc
// ====================================================== */
:where([type=tel], [type=url], [type=email], [type=number]):not(:-moz-placeholder) {
  direction: ltr;
}
:where([type=tel], [type=url], [type=email], [type=number]):not(:placeholder-shown) {
  direction: ltr;
}

:where(:disabled, [aria-disabled=true i]) {
  cursor: default;
}

.ly-header {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 999;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 2rem 4rem;
}
@media screen and (max-width: 48rem) {
  .ly-header {
    padding: 0.5rem 1.5rem 0.5rem 0.5rem;
  }
}

.bl-header-logo {
  width: 12.625rem;
  height: auto;
  transition: opacity 0.2s linear;
}
@media (any-hover: hover) {
  .bl-header-logo:hover {
    opacity: 0.7;
  }
}
.bl-header-logo:focus-visible {
  opacity: 0.7;
}
@media screen and (max-width: 48rem) {
  .bl-header-logo {
    width: 8.75rem;
  }
}

@media screen and (max-width: 48rem) {
  .bl-global-nav {
    position: fixed;
    inset: 0;
    z-index: -1;
    display: grid;
    grid-template-rows: auto 1fr;
    align-content: start;
    visibility: hidden;
    background-color: #6bbaff;
    opacity: 0;
    transition: opacity 0.2s linear, visibility 0.2s linear;
  }
}

.bl-global-nav__list {
  position: relative;
  display: flex;
  -moz-column-gap: 3.75rem;
       column-gap: 3.75rem;
  padding: 1.75rem 3rem;
  background-color: #ffffff;
  border-radius: calc(infinity * 1px);
}
.bl-global-nav__list::after {
  position: absolute;
  inset: -2px;
  z-index: -1;
  content: "";
  background: linear-gradient(90deg, #ff84c6 0%, #6bbaff 50%, #10d5d5 100%);
  border-radius: calc(infinity * 1px);
}
@media screen and (max-width: 48rem) {
  .bl-global-nav__list {
    display: grid;
    align-self: center;
    padding: 0;
    background-color: transparent;
  }
  .bl-global-nav__list::after {
    content: none;
  }
}

.bl-global-nav__link {
  font-size: 1rem;
  font-weight: 700;
  transition: translate 0.2s linear;
}
@media screen and (max-width: 48rem) {
  .bl-global-nav__link {
    display: block;
    padding-block: 1rem;
    color: #ffffff;
    text-align: center;
  }
}
@media (any-hover: hover) {
  .bl-global-nav__link:hover .bl-global-nav__link-text {
    translate: 0 -0.75rem;
  }
}
.bl-global-nav__link:focus-visible .bl-global-nav__link-text {
  translate: 0 -0.75rem;
}

.bl-global-nav__link-text {
  display: block;
  transition: translate 0.2s linear;
}

.bl-header-hamburger {
  display: none;
}
@media screen and (max-width: 48rem) {
  .bl-header-hamburger {
    position: relative;
    display: grid;
    place-content: center;
    width: 2.875rem;
    aspect-ratio: 1/1;
    cursor: pointer;
    background-color: #ffffff;
    border-radius: 50%;
    transition: scale 0.2s linear;
  }
  .bl-header-hamburger::before {
    position: absolute;
    inset: -2px;
    z-index: -1;
    content: "";
    background: linear-gradient(90deg, #ff84c6 0%, #6bbaff 50%, #10d5d5 100%);
    border-radius: 50%;
  }
}
@media screen and (max-width: 48rem) and (any-hover: hover) {
  .bl-header-hamburger:hover::before {
    scale: 1.1;
  }
}
@media screen and (max-width: 48rem) {
  .bl-header-hamburger:focus-visible {
    scale: 1.1;
  }
}

.bl-header-hamburger__icon {
  position: relative;
  display: block;
  width: 1.125rem;
  height: 0.125rem;
  background-color: #3c3c3c;
  border-radius: calc(infinity * 1px);
}
.bl-header-hamburger__icon::before, .bl-header-hamburger__icon::after {
  position: absolute;
  left: 0;
  width: 100%;
  height: 0.125rem;
  content: "";
  background-color: #3c3c3c;
  border-radius: calc(infinity * 1px);
}
.bl-header-hamburger__icon::before {
  top: -0.4375rem;
}
.bl-header-hamburger__icon::after {
  top: 0.4375rem;
}

.bl-global-nav__close {
  display: none;
}
@media screen and (max-width: 48rem) {
  .bl-global-nav__close {
    position: relative;
    display: grid;
    flex-shrink: 0;
    place-content: center;
    width: 3rem;
    aspect-ratio: 1/1;
    cursor: pointer;
    transition: scale 0.2s linear;
  }
  .bl-global-nav__close::before, .bl-global-nav__close::after {
    width: 2rem;
    height: 0.1875rem;
    content: "";
    background-color: #ffffff;
    border-radius: calc(infinity * 1px);
  }
  .bl-global-nav__close::before {
    rotate: 45deg;
    translate: 0 0.1875rem;
  }
  .bl-global-nav__close::after {
    rotate: -45deg;
  }
}
@media screen and (max-width: 48rem) and (any-hover: hover) {
  .bl-global-nav__close:hover {
    scale: 1.1;
  }
}
@media screen and (max-width: 48rem) {
  .bl-global-nav__close:focus-visible {
    scale: 1.1;
  }
}

.bl-global-nav__top {
  display: none;
}
@media screen and (max-width: 48rem) {
  .bl-global-nav__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 0.5rem 1.5rem 0.5rem 0.5rem;
  }
}

@media screen and (max-width: 48rem) {
  .ly-header.is-menu-open .bl-global-nav {
    z-index: 998;
    visibility: visible;
    opacity: 1;
  }
}

.el-hero__bg-visuals {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background-image: url("../assets/images/bg-hero.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
@media screen and (max-width: 64rem) {
  .el-hero__bg-visuals {
    top: 3.5rem;
    left: -0.9375rem;
    width: 34.75rem;
    aspect-ratio: 139/101;
    background-image: url("../assets/images/bg-hero-sp.webp");
  }
}

.ly-hero {
  position: relative;
  display: grid;
  justify-content: center;
  height: 75.1875rem;
  padding-top: calc(var(--header-height-sass) + 5rem);
  overflow-x: clip;
  background-color: #ffffff;
}
@media screen and (max-width: 64rem) {
  .ly-hero {
    height: auto;
    min-height: auto;
    padding-top: calc(var(--header-height-sass) + 0.625rem);
    padding-bottom: 2rem;
  }
}

.ly-hero__inner {
  position: relative;
  z-index: 2;
  display: flex;
  -moz-column-gap: 6.5rem;
       column-gap: 6.5rem;
  max-width: 1920px;
  padding-inline: 3rem;
}
@media screen and (max-width: 64rem) {
  .ly-hero__inner {
    flex-direction: column;
    row-gap: 4.6875rem;
    padding-inline: 0;
  }
}

.bl-hero-content__title {
  display: grid;
  row-gap: 0.5rem;
  align-content: start;
}
@media screen and (max-width: 64rem) {
  .bl-hero-content__title {
    row-gap: 0.25rem;
    margin-inline-start: 0.625rem;
  }
}

.bl-hero-content__title-line {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  padding: 1rem 1.5rem;
  background-color: #ffffff;
}
@media screen and (max-width: 64rem) {
  .bl-hero-content__title-line {
    padding: 0.5rem 0.75rem;
  }
}
@media screen and (max-width: 64rem) {
  .bl-hero-content__title-line img {
    width: 100%;
    height: 1.5625rem;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

.ly-news-list {
  position: relative;
  display: grid;
  row-gap: 6rem;
  place-content: center;
  padding-block-end: 4rem;
  scroll-margin-block-start: var(--header-height-sass);
  background-color: #ffffff;
}
@media screen and (max-width: 80rem) {
  .ly-news-list {
    row-gap: 2rem;
    padding-block: 2rem;
  }
}

.ly-news-list__inner {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: row-reverse;
  -moz-column-gap: 2rem;
       column-gap: 2rem;
  justify-content: center;
  max-width: 1920px;
  padding-inline: 3rem;
}
@media screen and (max-width: 80rem) {
  .ly-news-list__inner {
    flex-direction: column;
    row-gap: 2rem;
    padding-inline: 1.5rem;
  }
}

.el-news-list__bg-news {
  position: absolute;
  right: 6.5625rem;
  bottom: 20.0625rem;
  z-index: 1;
  width: 32.3125rem;
  aspect-ratio: 517/599;
  pointer-events: none;
  background-image: url("../assets/images/bg-news.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
@media screen and (max-width: 80rem) {
  .el-news-list__bg-news {
    top: 1.6875rem;
    right: 1rem;
    bottom: unset;
    width: 14.0625rem;
  }
}

.bl-news-list__header {
  display: grid;
  row-gap: 3rem;
}
@media screen and (max-width: 80rem) {
  .bl-news-list__header {
    display: contents;
  }
  .bl-news-list__header .bl-heading {
    align-self: end;
  }
  .bl-news-list__header .el-btn {
    order: 3;
  }
}

.bl-news-list__list {
  display: grid;
  justify-content: start;
  width: 48.375rem;
}
@media screen and (max-width: 80rem) {
  .bl-news-list__list {
    width: 100%;
    max-width: 100%;
  }
}

.bl-news-list__item {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: span 3;
  grid-auto-flow: column;
  height: -moz-fit-content;
  height: fit-content;
}
@media screen and (max-width: 80rem) {
  .bl-news-list__item {
    grid-template-columns: auto 1fr;
    row-gap: 1rem;
    -moz-column-gap: 1rem;
         column-gap: 1rem;
  }
}

.bl-news-list__link {
  display: inherit;
  grid-template-columns: inherit;
  grid-column: inherit;
  row-gap: inherit;
  -moz-column-gap: inherit;
       column-gap: inherit;
  align-items: center;
  padding-block: 2.5rem;
  border-bottom: 1px solid #9b9b9b;
  transition: opacity 0.2s linear;
}
@media screen and (max-width: 80rem) {
  .bl-news-list__link {
    width: calc(100cqw - 3rem);
    padding-block: 1.5rem;
  }
}
@media (any-hover: hover) {
  .bl-news-list__link:hover {
    opacity: 0.7;
  }
}
.bl-news-list__link:focus-visible {
  opacity: 0.7;
}

.bl-news-list__date {
  width: -moz-fit-content;
  width: fit-content;
  font-family: "Inter", "SF Pro Rounded", "SF Pro Display", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  color: #717171;
}
@media screen and (max-width: 80rem) {
  .bl-news-list__date {
    font-size: 0.75rem;
  }
}

.bl-news-list__category {
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.25rem 1rem;
  margin-inline-start: 2rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #2895f3;
  border: 2px solid currentcolor;
}
@media screen and (max-width: 80rem) {
  .bl-news-list__category {
    padding: 0.125rem 0.75rem;
    margin-inline-start: 0;
    font-size: 0.75rem;
  }
}

.bl-news-list__title {
  margin-inline-start: 4rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 2;
}
@media screen and (max-width: 80rem) {
  .bl-news-list__title {
    grid-column: span 2;
    margin-inline-start: 0;
    font-size: 0.875rem;
  }
}

.el-news-list__graphic {
  z-index: 2;
  display: flex;
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
  width: 100cqw;
  overflow-x: clip;
}
@media screen and (max-width: 48rem) {
  .el-news-list__graphic {
    -moz-column-gap: 0.625rem;
         column-gap: 0.625rem;
  }
}

.el-news-list__graphic-wrapper {
  display: flex;
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
  align-items: center;
  animation: loop 40s infinite linear 0.5s both;
}
@media screen and (max-width: 48rem) {
  .el-news-list__graphic-wrapper {
    -moz-column-gap: 0.625rem;
         column-gap: 0.625rem;
    animation-duration: 20s;
  }
}
.el-news-list__graphic-wrapper li {
  width: 7.5rem;
}
@media screen and (max-width: 48rem) {
  .el-news-list__graphic-wrapper li {
    width: 3rem;
  }
}
.el-news-list__graphic-wrapper img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

@keyframes loop {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
.ly-about {
  position: relative;
  padding-block: 10rem;
  overflow-y: clip;
  background-color: #f0f0f0;
}
@media screen and (max-width: 64rem) {
  .ly-about {
    padding: 2rem 1.5rem 2.5rem;
    scroll-margin-block-start: var(--header-height-sass);
  }
}

.el-about__bg-logo {
  position: absolute;
  bottom: -1rem;
  left: 0;
  width: 78.875rem;
  aspect-ratio: 631/221;
  pointer-events: none;
  background-image: url("../assets/images/bg-logo.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
@media screen and (max-width: 64rem) {
  .el-about__bg-logo {
    bottom: -0.6875rem;
    left: -0.375rem;
    width: 21.4375rem;
  }
}

.ly-about__inner {
  position: relative;
  display: flex;
  -moz-column-gap: 5rem;
       column-gap: 5rem;
  align-items: center;
  justify-content: center;
  max-width: 1920px;
  padding-inline: 3rem;
  margin-inline: auto;
}
@media screen and (max-width: 64rem) {
  .ly-about__inner {
    flex-direction: column;
    row-gap: 2rem;
    padding-inline: 0;
  }
}

.bl-about__header {
  display: grid;
  grid-template-rows: repeat(2, auto);
  grid-template-columns: repeat(2, auto);
  row-gap: 1.5rem;
  -moz-column-gap: 2rem;
       column-gap: 2rem;
  align-items: start;
}
@media screen and (max-width: 64rem) {
  .bl-about__header {
    grid-template-rows: repeat(3, auto);
    grid-template-columns: 1fr;
    row-gap: 0;
  }
}

.bl-about__illustration {
  width: 20rem;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 64rem) {
  .bl-about__illustration {
    width: 100%;
    max-width: 20rem;
    margin-inline: auto;
  }
}

.bl-about__text {
  grid-column: 1/3;
  justify-self: end;
  width: 28.3125rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 2;
  color: #3c3c3c;
}
@media screen and (max-width: 64rem) {
  .bl-about__text {
    grid-column: 1;
    width: 100%;
    margin-block-start: 2rem;
  }
}

.bl-about__card {
  width: 42.1875rem;
  aspect-ratio: 16/9;
  overflow: clip;
  border-radius: 1rem;
}
.bl-about__card .bl-about__card-video {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 64rem) {
  .bl-about__card {
    width: 100%;
  }
}

.ly-white-paper {
  padding-block: 7.5rem;
  background-color: #ffffff;
}
@media screen and (max-width: 64rem) {
  .ly-white-paper {
    padding-block: 2rem;
    scroll-margin-block-start: var(--header-height-sass);
  }
}

.ly-white-paper__inner {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: center;
  max-width: 1920px;
  padding-inline: 3rem;
}
@media screen and (max-width: 64rem) {
  .ly-white-paper__inner {
    flex-direction: column;
    row-gap: 2.5rem;
    padding-inline: 2rem;
  }
}

.bl-white-paper__header {
  display: grid;
  row-gap: 3rem;
}
@media screen and (max-width: 64rem) {
  .bl-white-paper__header {
    display: contents;
  }
  .bl-white-paper__header .el-btn {
    order: 3;
  }
}

.ly-link {
  padding-block: 7.5rem;
  background-color: #f0f0f0;
}
@media screen and (max-width: 80rem) {
  .ly-link {
    padding-block: 2rem 1rem;
  }
}

.ly-link__inner {
  display: flex;
  -moz-column-gap: 5rem;
       column-gap: 5rem;
  align-items: center;
  justify-content: center;
  max-width: 1920px;
  padding-inline: 3rem;
}
@media screen and (max-width: 80rem) {
  .ly-link__inner {
    flex-direction: column;
    row-gap: 1.5rem;
    padding-inline: 1.5rem;
  }
}

.bl-link-grid {
  display: grid;
  grid-template-columns: repeat(5, 13.25rem);
  gap: 0.5rem;
  min-block-size: 4.5rem;
}
@media screen and (max-width: 80rem) {
  .bl-link-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.bl-link-grid__link {
  display: grid;
  place-content: center;
  height: 100%;
  transition: opacity 0.2s linear;
}
@media (any-hover: hover) {
  .bl-link-grid__link:hover {
    opacity: 0.7;
  }
}
.bl-link-grid__link:focus-visible {
  opacity: 0.7;
}

.ly-footer {
  position: relative;
  display: grid;
  row-gap: 2.5rem;
  justify-items: center;
  padding-block: 7.5rem 3rem;
  overflow-x: clip;
  background-color: #3c3c3c;
}
.ly-footer::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 5.625rem;
  content: "";
  background-image: url("../assets/images/bg-footer.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
@media screen and (max-width: 48rem) {
  .ly-footer::before {
    height: 1.5rem;
  }
}
@media screen and (max-width: 48rem) {
  .ly-footer {
    row-gap: 1.5rem;
    padding-block: 3rem 4.5rem;
  }
}

.ly-footer__nav {
  position: relative;
  display: grid;
  place-content: center;
  width: 100%;
  max-width: 46.75rem;
  aspect-ratio: 187/62;
  background-image: url("../assets/images/bg-logo-black.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media screen and (max-width: 48rem) {
  .ly-footer__nav {
    width: 100%;
    max-width: 20.4375rem;
  }
}

.bl-footer-nav__list {
  display: flex;
  -moz-column-gap: 2.5rem;
       column-gap: 2.5rem;
  justify-content: center;
}
@media screen and (max-width: 48rem) {
  .bl-footer-nav__list {
    -moz-column-gap: 2rem;
         column-gap: 2rem;
  }
}

.bl-footer-nav__link {
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.4;
  color: #ffffff;
  transition: opacity 0.2s linear;
}
@media (any-hover: hover) {
  .bl-footer-nav__link:hover {
    opacity: 0.7;
  }
}
.bl-footer-nav__link:focus-visible {
  opacity: 0.7;
}

.el-footer__graphic {
  display: flex;
  flex-direction: row-reverse;
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
  width: 100cqw;
  overflow-x: clip;
}
@media screen and (max-width: 48rem) {
  .el-footer__graphic {
    -moz-column-gap: 0.625rem;
         column-gap: 0.625rem;
  }
}

.el-footer__graphic-wrapper {
  display: flex;
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
  align-items: center;
  animation: loop-footer 40s infinite linear 0.5s both;
}
@media screen and (max-width: 48rem) {
  .el-footer__graphic-wrapper {
    -moz-column-gap: 0.625rem;
         column-gap: 0.625rem;
    animation-duration: 20s;
  }
}
.el-footer__graphic-wrapper li {
  width: 7.5rem;
}
@media screen and (max-width: 48rem) {
  .el-footer__graphic-wrapper li {
    width: 3rem;
  }
}
.el-footer__graphic-wrapper img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

@keyframes loop-footer {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(100%);
  }
}
.el-footer__logo {
  width: 15.375rem;
  aspect-ratio: 123/20;
  transition: opacity 0.2s linear;
}
@media screen and (max-width: 48rem) {
  .el-footer__logo {
    width: 10.3125rem;
  }
}
@media (any-hover: hover) {
  .el-footer__logo:hover {
    opacity: 0.7;
  }
}
.el-footer__logo:focus-visible {
  opacity: 0.7;
}

.el-footer__copyright {
  font-size: 0.75rem;
  line-height: 1.3;
  color: #b0b0b0;
  letter-spacing: 0.032em;
}
@media screen and (max-width: 48rem) {
  .el-footer__copyright {
    font-size: 0.625rem;
  }
}

.bl-heading {
  display: grid;
  font-weight: 700;
  color: #3c3c3c;
}
@media screen and (max-width: 48rem) {
  .bl-heading {
    align-self: start;
  }
}
.bl-heading--en {
  font-family: "Inter", "SF Pro Rounded", "SF Pro Display", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-size: 7rem;
  line-height: 1.28;
  letter-spacing: -0.042em;
  white-space: nowrap;
}
@media screen and (max-width: 48rem) {
  .bl-heading--en {
    font-size: 3.5rem;
  }
}
.bl-heading--jp {
  margin-inline-start: 0.25rem;
  font-family: "notoSansJP", "Noto Sans CJK JP", "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  line-height: 1.6;
}
@media screen and (max-width: 48rem) {
  .bl-heading--jp {
    margin-inline-start: 0.125rem;
    font-size: 1rem;
  }
}

.el-btn {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  width: 18.875rem;
  height: -moz-fit-content;
  height: fit-content;
  padding: 1rem 1rem 1rem 2.5rem;
  font-size: 1rem;
  font-weight: 700;
  color: #ffffff;
  background-color: #3c3c3c;
  border: 2px solid #3c3c3c;
  border-radius: calc(infinity * 1px);
  transition: background-color 0.2s linear, color 0.2s linear;
}
@media screen and (max-width: 48rem) {
  .el-btn {
    width: 100%;
  }
}
.el-btn__icon {
  display: grid;
  place-content: center;
  width: 3rem;
  aspect-ratio: 1/1;
  background-color: #ffffff;
  border-radius: 50%;
  transition: background-color 0.2s linear;
}
@media screen and (max-width: 48rem) {
  .el-btn__icon {
    width: 1.5rem;
  }
}
.el-btn__icon-svg {
  width: 1.5rem;
  aspect-ratio: 1/1;
  fill: #3c3c3c;
  transition: fill 0.2s linear;
}
@media screen and (max-width: 48rem) {
  .el-btn__icon-svg {
    width: 1rem;
  }
}
@media (any-hover: hover) {
  .el-btn:hover {
    color: #3c3c3c;
    background-color: #ffffff;
  }
  .el-btn:hover .el-btn__icon {
    background-color: #3c3c3c;
  }
  .el-btn:hover .el-btn__icon-svg {
    fill: #ffffff;
  }
}
.el-btn:focus-visible {
  color: #3c3c3c;
  background-color: #ffffff;
}
.el-btn:focus-visible .el-btn__icon {
  background-color: #3c3c3c;
}
.el-btn:focus-visible .el-btn__icon-svg {
  fill: #ffffff;
}

.bl-carousel {
  position: relative;
  flex: 1;
  max-width: 60.4375rem;
  height: -moz-fit-content;
  height: fit-content;
}
@media screen and (max-width: 48rem) {
  .bl-carousel {
    max-width: 100%;
  }
}

.bl-carousel__swiper {
  position: relative;
  overflow: clip;
}
.bl-carousel__swiper::before, .bl-carousel__swiper::after {
  position: absolute;
  top: 0;
  z-index: 2;
  width: 15%;
  height: 100%;
  pointer-events: none;
  content: "";
}
@media screen and (max-width: 48rem) {
  .bl-carousel__swiper::before, .bl-carousel__swiper::after {
    content: none;
  }
}
.bl-carousel__swiper::before {
  left: 0;
  background: linear-gradient(to right, #ffffff 0%, rgba(255, 255, 255, 0) 100%);
}
.bl-carousel__swiper::after {
  right: 0;
  background: linear-gradient(to left, #ffffff 0%, rgba(255, 255, 255, 0) 100%);
}

.bl-carousel__swiper-wrapper {
  justify-content: center;
}

.bl-carousel__slide {
  box-sizing: border-box;
  width: 73.5%;
}
@media screen and (max-width: 48rem) {
  .bl-carousel__slide {
    width: 86%;
  }
}
.bl-carousel__slide img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.bl-carousel__slide-link {
  display: block;
  overflow: clip;
  border-radius: 1rem;
}
@media screen and (max-width: 48rem) {
  .bl-carousel__slide-link {
    border-radius: 0.75rem;
  }
}
.bl-carousel__slide-link img {
  transition: scale 0.2s linear;
}
@media (any-hover: hover) {
  .bl-carousel__slide-link:hover img {
    scale: 1.05;
  }
}
.bl-carousel__slide-link:focus-visible img {
  scale: 1.05;
}

.bl-carousel__nav {
  position: absolute;
  top: 28%;
  right: 6rem;
  left: 6rem;
  z-index: 3;
  display: flex;
  justify-content: space-between;
  pointer-events: none;
}
@media screen and (max-width: 48rem) {
  .bl-carousel__nav {
    top: 20%;
    right: 0;
    left: 0;
  }
}

.bl-carousel__arrow {
  display: grid;
  place-content: center;
  width: 3.5rem;
  aspect-ratio: 1/1;
  pointer-events: auto;
  cursor: pointer;
  background-color: rgba(255, 255, 255, 0.6);
  border-radius: 50%;
  transition: scale 0.2s linear;
}
@media screen and (max-width: 48rem) {
  .bl-carousel__arrow {
    width: 3rem;
  }
}
@media (any-hover: hover) {
  .bl-carousel__arrow:hover {
    scale: 1.1;
  }
}
.bl-carousel__arrow:focus-visible {
  scale: 1.1;
}
.bl-carousel__arrow::before {
  width: 1.5rem;
  aspect-ratio: 1/1;
  content: "";
  background-image: url("../../assets/icons/icon-arrow.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.bl-carousel__arrow--prev::before {
  transform: rotate(180deg);
}

.bl-carousel__caption {
  max-width: 44.4375rem;
  min-height: 5rem;
  padding-inline: 1rem;
  margin-block-start: 1rem;
  margin-inline: auto;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.6;
  display: -webkit-box;
  overflow: clip;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
@media screen and (max-width: 48rem) {
  .bl-carousel__caption {
    max-width: 19.4375rem;
    min-height: 6rem;
    margin-block-start: 0.5rem;
    font-size: 1.125rem;
  }
}

.bl-carousel__date {
  max-width: 44.4375rem;
  padding-inline: 1rem;
  margin-block-start: 1rem;
  margin-inline: auto;
  font-size: 1rem;
}
@media screen and (max-width: 48rem) {
  .bl-carousel__date {
    max-width: 19.4375rem;
    margin-block-start: 0.75rem;
    font-size: 0.75rem;
  }
}

.bl-carousel__autoplay-container {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  max-width: 44.4375rem;
  height: 3.5rem;
  margin-inline: auto;
}
@media screen and (max-width: 48rem) {
  .bl-carousel__autoplay-container {
    max-width: 19.4375rem;
    height: 2rem;
  }
}

.bl-carousel__pagination {
  display: flex;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  justify-content: center;
}

.bl-carousel__disc:not(.bl-carousel__disc--active) {
  background-color: #c6c6c6;
}

.bl-carousel__disc {
  width: 0.5rem;
  aspect-ratio: 1/1;
  cursor: pointer;
  border-radius: 50%;
  transition: background-color 0.2s linear;
}
@media (any-hover: hover) {
  .bl-carousel__disc:hover {
    background-color: #3c3c3c;
  }
}
.bl-carousel__disc:focus-visible {
  background-color: #3c3c3c;
}
.bl-carousel__disc--active {
  background-color: #3c3c3c;
}

.bl-carousel__autoplay-btn {
  position: absolute;
  right: 0;
  display: grid;
  place-content: center;
  width: 3.5rem;
  aspect-ratio: 1/1;
  cursor: pointer;
  background-color: #ffffff;
  border: 2px solid #3c3c3c;
  border-radius: 50%;
  transition: scale 0.2s linear;
}
@media screen and (max-width: 48rem) {
  .bl-carousel__autoplay-btn {
    width: 2rem;
  }
}
@media (any-hover: hover) {
  .bl-carousel__autoplay-btn:hover {
    scale: 1.1;
  }
}
.bl-carousel__autoplay-btn:focus-visible {
  scale: 1.1;
}

.bl-carousel__autoplay-btn-icon {
  width: 1.5rem;
  aspect-ratio: 1/1;
  background-image: url("../../assets/icons/icon-pause.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media screen and (max-width: 48rem) {
  .bl-carousel__autoplay-btn-icon {
    width: 1rem;
  }
}

.bl-carousel__autoplay-btn.is-paused .bl-carousel__autoplay-btn-icon {
  background-image: url("../../assets/icons/icon-play.svg");
}

/* ======================================================
// ベーススタイル
// ====================================================== */
*,
*::after,
*::before {
  scroll-behavior: smooth;
}

:where(body) {
  min-height: 100svh;
  font-family: "notoSansJP", "Noto Sans CJK JP", "Noto Sans JP", sans-serif;
  line-height: 1.5;
  color: #3c3c3c;
  letter-spacing: 0.064em;
  background-color: #ffffff;
}

/* ======================================================
// Helper
// ====================================================== */
.hp-hidden {
  display: none !important;
}/*# sourceMappingURL=style.css.map */