@charset "UTF-8";
/*! destyle.css v4.0.0 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -webkit-tap-highlight-color: transparent; /* 3*/
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Replaced content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none; /* 1 */
  -moz-appearance: none;
       appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit; /* 2 */
}

/**
 * Correct cursors for clickable elements.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
}

button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled {
  cursor: default;
}

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */
:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * Correct the outline style in Safari.
 */
[type=search] {
  outline-offset: -2px; /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/**
 * Fix appearance for Firefox
 */
[type=number] {
  -moz-appearance: textfield;
}

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable]:focus {
  outline: auto;
}

/* Tables */
/* ============================================ */
/**
1. Correct table border color inheritance in all Chrome and Safari.
*/
table {
  border-color: inherit; /* 1 */
  border-collapse: collapse;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}

@keyframes splide-loading {
  0% {
    transform: rotateZ(0);
  }
  100% {
    transform: rotateZ(360deg);
  }
}
.splide__track--draggable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
     -moz-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: flex;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
}
.splide.is-initialized:not(.is-active) .splide__list {
  display: block;
}

.splide__pagination {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  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;
  flex-shrink: 0;
  list-style-type: none !important;
  margin: 0;
  position: relative;
}
.splide__slide img {
  vertical-align: bottom;
}

.splide__spinner {
  animation: splide-loading 1s infinite linear;
  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 {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.splide__toggle__pause {
  display: none;
}
.splide__toggle.is-active .splide__toggle__play {
  display: none;
}
.splide__toggle.is-active .splide__toggle__pause {
  display: inline;
}

.splide__track {
  overflow: hidden;
  position: relative;
  z-index: 0;
}

summary {
  list-style: none;
  cursor: pointer;
}
summary::-webkit-details-marker {
  display: none;
}

dialog {
  position: fixed;
  max-width: 100%;
  max-height: 100%;
  padding: 0;
  margin: 0;
  background: transparent;
  border: none;
}
dialog::backdrop {
  background: transparent;
}

:root {
  --color-black: #000;
  --color-white: #fff;
  --color-primary: #40444b;
  --color-accent: #a4b3bc;
  --color-accent-rgb: 164, 179, 188;
  --color-accent-dark: #90a2ad;
  --color-text-gray: #61727c;
  --color-text-placeholder: #ababab;
  --color-border: var(--color-accent);
  --color-validation: #ee3e3e;
  --color-validation-background: #ffc0be;
  --letter-spacing: 0.05em;
  --transition-duration-hover: 0.2s;
  --transition-duration-motion: 0.4s;
  --z-index-dropdown: 100;
  --z-index-header: 200;
  --icon-arrow-right: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 14.2 19.8"><path d="M1.5,19.8c-0.4,0-0.9-0.2-1.2-0.6c-0.5-0.7-0.4-1.6,0.3-2.1l9.6-7.5L0.6,2.7c-0.7-0.5-0.8-1.4-0.3-2.1c0.5-0.7,1.4-0.8,2.1-0.3l11.2,8.1c0.4,0.3,0.6,0.7,0.6,1.2s-0.2,0.9-0.6,1.2L2.4,19.5C2.1,19.7,1.8,19.8,1.5,19.8z"/></svg>');
  --icon-arrow-right-thin: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 25 35"><path d="M1.8,35c-0.4,0-0.9-0.2-1.2-0.6c-0.5-0.7-0.4-1.6,0.3-2.1L20.7,17L1,2.7C0.3,2.2,0.1,1.3,0.6,0.6C1.1,0,2-0.2,2.7,0.3L24,15.7c0.4,0.3,0.6,0.7,0.6,1.2s-0.2,0.9-0.6,1.2L2.8,34.7C2.5,34.9,2.2,35,1.8,35z"/></svg>');
  --icon-open-in-new: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 20 20"><path d="M15 10C14.448 10 14 10.448 14 11V15.5C14 15.776 13.776 16 13.5 16H4.5C4.224 16 4 15.776 4 15.5V6.5C4 6.224 4.224 6 4.5 6H9C9.552 6 10 5.552 10 5C10 4.448 9.552 4 9 4H3C2.448 4 2 4.448 2 5V17C2 17.552 2.448 18 3 18H15C15.552 18 16 17.552 16 17V11C16 10.448 15.552 10 15 10Z"/><path d="M17.976 2.876C17.965 2.789 17.958 2.702 17.924 2.62C17.823 2.374 17.627 2.178 17.381 2.077C17.286 2.038 17.185 2.026 17.084 2.017C17.055 2.014 17.03 2 17.001 2H13.001C12.449 2 12.001 2.448 12.001 3C12.001 3.552 12.449 4 13.001 4H14.587L8.637 9.951C8.246 10.342 8.246 10.975 8.637 11.365C8.832 11.56 9.088 11.658 9.344 11.658C9.6 11.658 9.856 11.56 10.051 11.365L16.001 5.414V7C16.001 7.552 16.449 8 17.001 8C17.553 8 18.001 7.552 18.001 7V3C18.001 2.956 17.981 2.918 17.976 2.876Z"/></svg>');
  --icon-play: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15.382 15.382"><path d="M2,15.382V0L15.382,7.691Z"></path></svg>');
  --icon-pause: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12.8 12.8"><rect class="st0" width="5" height="12.8"/><rect x="7.3" class="st0" width="5" height="12.8"/></svg>');
  --icon-pdf: url('data:image/svg+xml;charset=UTF-8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 21"><path d="M17.707,6.078l-3.414-3.414c-0.188-0.188-0.442-0.293-0.707-0.293H5c-0.552,0-1,0.448-1,1v5H2.5c-0.276,0-0.5,0.224-0.5,0.5v3c0,0.276,0.224,0.5,0.5,0.5H4v5c0,0.552,0.448,1,1,1h12.001c0.552,0,1-0.448,1-1V6.785C18.001,6.52,17.895,6.265,17.707,6.078z M16,15.871c0,0.276-0.224,0.5-0.5,0.5h-9c-0.276,0-0.5-0.224-0.5-0.5v-3.5h5.5c0.276,0,0.5-0.224,0.5-0.5v-3c0-0.276-0.224-0.5-0.5-0.5H6v-3.5c0-0.276,0.224-0.5,0.5-0.5h6.193c0.133,0,0.26,0.053,0.354,0.146l2.808,2.808c0.094,0.094,0.146,0.221,0.146,0.354L16,15.871z"/></svg>');
  --icon-ellipsis: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 4"><circle cx="2" cy="2" r="2" fill="black" /><circle cx="10" cy="2" r="2" fill="black" /><circle cx="18" cy="2" r="2" fill="black" /></svg>');
  --container-spacing-horizontal: 8%;
  --container-max-width: 67.5rem;
}
@media screen and (min-width: 60em), print {
  :root {
    --header-height: 6.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  :root {
    --header-height: 4rem;
  }
}

html {
  overflow-x: hidden;
  font-family: "Noto Sans JP", sans-serif;
  line-height: normal;
  scroll-behavior: smooth;
}
@media screen and (min-width: 96em), print {
  html {
    font-size: 110%;
  }
}

*,
*::before,
*::after {
  --container-width: min(
    calc(100% - var(--container-spacing-horizontal) * 2),
    var(--container-max-width)
  );
  --container-gutter: calc((100% - var(--container-width)) / 2);
  letter-spacing: var(--letter-spacing);
}

:target {
  scroll-margin-top: var(--header-height);
}

:where(:not(.editor-styles-wrapper *))::-moz-selection {
  background-color: rgba(var(--color-accent-rgb), 0.5);
}

:where(:not(.editor-styles-wrapper *))::selection {
  background-color: rgba(var(--color-accent-rgb), 0.5);
}

body.page-template-front-page {
  --container-max-width: 72.5rem;
}

body.single-news,
body.single-story {
  --container-max-width: 56.25rem;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}
@media screen and (-webkit-min-device-pixel-ratio: 0) {
  img {
    image-rendering: -webkit-optimize-contrast;
  }
  img _::-webkit-full-page-media,
  img _:future, :root img {
    image-rendering: auto;
  }
}

select {
  cursor: pointer;
}
select:disabled {
  cursor: default;
}

b {
  font-weight: inherit;
}

[data-cloak] {
  visibility: hidden;
}

.announcement {
  display: block;
  padding-block: 0.5rem;
  color: var(--color-white);
  background-color: var(--color-validation);
}

.announcement__content {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .announcement__content {
    grid-template-columns: auto 1fr;
    align-items: center;
  }
}
@media screen and (max-width: 59.99em) {
  .announcement__content {
    padding-inline: 1rem;
  }
}

.announcement__label {
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .announcement__label {
    padding-inline: 2rem;
    border-right: 1px solid currentColor;
  }
}
@media screen and (max-width: 59.99em) {
  .announcement__label {
    padding-bottom: 0.5rem;
    border-bottom: 1px solid currentColor;
  }
}

.announcement__text {
  display: grid;
  grid-template-columns: 1fr auto;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  align-items: center;
  line-height: 1.8;
}
@media screen and (min-width: 60em), print {
  .announcement__text {
    padding-inline: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .announcement__text {
    padding-top: 0.25rem;
  }
}
.announcement__text::after {
  display: inline-block;
  width: 0.8em;
  height: 0.8em;
  vertical-align: middle;
  content: "";
  background-color: currentColor;
  -webkit-mask-image: var(--icon-arrow-right);
          mask-image: var(--icon-arrow-right);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}

.announcement__clamp {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
}
@media screen and (min-width: 60em), print {
  .announcement__clamp {
    -webkit-line-clamp: 1;
  }
}
@media screen and (max-width: 59.99em) {
  .announcement__clamp {
    -webkit-line-clamp: 2;
  }
}
.announcement__clamp > * {
  background-image: linear-gradient(to top, currentColor 0 1px, transparent 0 100%);
  background-repeat: no-repeat;
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
  background-position: right;
  background-size: 0 100%;
}
@media (prefers-reduced-motion: no-preference) {
  .announcement__clamp > * {
    transition-duration: 0.4s;
    transition-property: background-size;
  }
}
@media (hover: hover) {
  :where(:-moz-any-link, :enabled, summary):hover .announcement__clamp > * {
    background-position: left;
    background-size: 100% 100%;
  }
  :where(:any-link, :enabled, summary):hover .announcement__clamp > * {
    background-position: left;
    background-size: 100% 100%;
  }
}

.header {
  position: sticky;
  top: 0;
  z-index: var(--z-index-header);
  min-height: var(--header-height);
  animation: show 0.2s;
}
@keyframes show {
  from {
    visibility: visible;
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.header.is-hidden:where(:not(.is-open):not(.is-submenu-open)) {
  visibility: hidden;
  animation: hide 0.2s;
}
@keyframes hide {
  from {
    visibility: visible;
    opacity: 1;
  }
  to {
    visibility: hidden;
    opacity: 0;
  }
}

.header__content {
  display: grid;
  min-height: var(--header-height);
  background-color: var(--color-white);
  border-bottom: 1px solid var(--color-border);
  transition-duration: 0.2s;
  transition-property: padding, min-height;
}
@media screen and (min-width: 60em), print {
  .header__content {
    grid-template-columns: minmax(auto, 30%) minmax(0, 50rem);
    -moz-column-gap: 2%;
         column-gap: 2%;
    justify-content: space-between;
    padding: 1.5rem 2% 1.5rem 4%;
  }
  .header.is-scroll .header__content {
    min-height: 3.5rem;
    padding-block: 0;
  }
}
@media screen and (max-width: 59.99em) {
  .header__content {
    grid-template-columns: auto auto;
    -moz-column-gap: 6%;
         column-gap: 6%;
    justify-content: space-between;
    padding: 0.5rem 2% 0.5rem 4%;
  }
}

.header__logo {
  align-self: center;
}
@media screen and (min-width: 60em), print {
  .header__logo {
    font-size: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .header__logo {
    font-size: 1.5rem;
  }
}
.header__logo img {
  width: auto;
  height: 1em;
}

@media screen and (min-width: 60em), print {
  .header__menu {
    display: grid;
  }
}
@media screen and (max-width: 59.99em) {
  .header__menu {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    height: calc(100vh - var(--header-height));
    padding: 3rem 12%;
    overflow-y: auto;
    overscroll-behavior: contain;
    visibility: hidden;
    background-color: var(--color-white);
    opacity: 0;
    transition-duration: 0.3s;
    transition-property: opacity, visibility;
  }
  .header__toggle[aria-expanded=true] ~ .header__menu {
    visibility: visible;
    opacity: 1;
  }
}

@media screen and (min-width: 60em), print {
  .header__list {
    display: grid;
    grid-auto-columns: minmax(max-content, 1fr);
    grid-auto-flow: column;
    height: 100%;
  }
  .header__list > li {
    position: relative;
  }
  .header__list > li:nth-child(n+2) {
    border-left: 2px solid var(--color-black);
  }
}
@media screen and (max-width: 59.99em) {
  .header__list > li {
    border-top: 1px solid var(--color-border);
  }
  .header__list > li:last-child {
    border-bottom: 1px solid var(--color-border);
  }
}

.header__link {
  display: grid;
  width: 100%;
  height: 100%;
  font-weight: 700;
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color;
}
@media screen and (min-width: 60em), print {
  .header__link {
    align-items: center;
    justify-content: center;
    padding: 0.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .header__link {
    justify-content: space-between;
    padding-block: 1.125rem;
  }
}
@media (hover: hover) {
  .header__link:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.35);
  }
  .header__link:where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.35);
  }
}
@media screen and (min-width: 60em), print {
  .header__link.header__link--colored {
    background-color: rgba(var(--color-accent-rgb), 0.5);
  }
}
@media screen and (min-width: 60em) and (hover: hover), print and (hover: hover) {
  .header__link.header__link--colored:where(:-moz-any-link, :enabled, summary):hover {
    color: var(--color-white);
    background-color: var(--color-primary);
  }
  .header__link.header__link--colored:where(:any-link, :enabled, summary):hover {
    color: var(--color-white);
    background-color: var(--color-primary);
  }
}
.header__link[aria-expanded] {
  position: relative;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
}
@media screen and (max-width: 59.99em) {
  .header__link[aria-expanded] {
    padding-right: 0.5rem;
  }
}
.header__link[aria-expanded]::before, .header__link[aria-expanded]::after {
  display: block;
  grid-area: 1/2;
  height: 2px;
  margin-top: auto;
  margin-bottom: auto;
  content: "";
  border-radius: 9999px;
  transition: transform var(--transition-duration-motion);
}
@media screen and (min-width: 60em), print {
  .header__link[aria-expanded]::before, .header__link[aria-expanded]::after {
    width: 12px;
    background-color: currentColor;
  }
}
@media screen and (max-width: 59.99em) {
  .header__link[aria-expanded]::before, .header__link[aria-expanded]::after {
    width: 16px;
    background-color: var(--color-accent);
  }
}
.header__link[aria-expanded]::before {
  transform: rotate(90deg);
}
.header__link[aria-expanded][aria-expanded=true]::before, .header__link[aria-expanded][aria-expanded=true]::after {
  transform: rotate(180deg);
}
.header__link.header__link--with-icon > span {
  position: relative;
}
.header__link.header__link--with-icon > span::after {
  position: absolute;
  top: 0;
  right: -0.65rem;
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  content: "";
  background-color: var(--color-validation);
  border-radius: 50%;
}

@media screen and (min-width: 60em), print {
  .header__submenu {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    visibility: hidden;
    opacity: 0;
    transition-duration: 0.3s;
    transition-property: opacity, visibility, transform;
    transform: translateY(-1rem);
  }
  .header__submenu:is([aria-expanded=true] ~ *) {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
  }
}

.header__submenu-content {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .header__submenu-content {
    position: relative;
    grid-template-columns: 100% max-content;
    align-items: center;
    background-color: var(--color-white);
    box-shadow: 6px 6px 10px 0px rgba(0, 0, 0, 0.25);
  }
}
@media screen and (max-width: 59.99em) {
  .header__submenu-content {
    grid-template-columns: repeat(auto-fill, minmax(16em, 1fr));
    gap: 0.25rem;
    padding-bottom: 0.5rem;
    padding-left: 1rem;
  }
}

@media screen and (max-width: 59.99em) {
  .header__submenu-title,
  .header__submenu-link {
    width: -moz-fit-content;
    width: fit-content;
    padding-block: 0.5rem;
    font-size: 0.875rem;
    color: var(--color-text-gray);
    background-image: linear-gradient(to top, currentColor 0 1px, transparent 0 100%);
    background-repeat: no-repeat;
    -webkit-box-decoration-break: clone;
            box-decoration-break: clone;
    background-position: right;
    background-size: 0 100%;
  }
}
@media screen and (max-width: 59.99em) and (prefers-reduced-motion: no-preference) {
  .header__submenu-title,
  .header__submenu-link {
    transition-duration: 0.2s;
    transition-property: background-size;
  }
}
@media screen and (max-width: 59.99em) and (hover: hover) {
  .header__submenu-title:where(:-moz-any-link, :enabled, summary):hover, .header__submenu-link:where(:-moz-any-link, :enabled, summary):hover {
    background-position: left;
    background-size: 100% 100%;
  }
  .header__submenu-title:where(:any-link, :enabled, summary):hover,
  .header__submenu-link:where(:any-link, :enabled, summary):hover {
    background-position: left;
    background-size: 100% 100%;
  }
}

@media screen and (min-width: 60em), print {
  .header__submenu-title {
    justify-self: center;
    padding-block: 0.25rem;
    font-weight: 700;
    background-image: linear-gradient(to top, currentColor 0 1px, transparent 0 100%);
    background-repeat: no-repeat;
    -webkit-box-decoration-break: clone;
            box-decoration-break: clone;
    background-position: right;
    background-size: 0 100%;
  }
}
@media screen and (min-width: 60em) and (prefers-reduced-motion: no-preference), print and (prefers-reduced-motion: no-preference) {
  .header__submenu-title {
    transition-duration: 0.2s;
    transition-property: background-size;
  }
}
@media screen and (min-width: 60em) and (hover: hover), print and (hover: hover) {
  .header__submenu-title:where(:-moz-any-link, :enabled, summary):hover {
    background-position: left;
    background-size: 100% 100%;
  }
  .header__submenu-title:where(:any-link, :enabled, summary):hover {
    background-position: left;
    background-size: 100% 100%;
  }
}

@media screen and (min-width: 60em), print {
  .header__submenu-list {
    display: grid;
    gap: 0.25rem;
    padding-block: 1.5rem;
    color: var(--color-white);
    background-color: var(--color-primary);
    box-shadow: 6px 6px 10px 0px rgba(0, 0, 0, 0.25);
  }
}
@media screen and (max-width: 59.99em) {
  .header__submenu-list {
    display: contents;
  }
}

.header__submenu-link {
  display: block;
}
@media screen and (min-width: 60em), print {
  .header__submenu-link {
    --marker-bar-width: 3.25rem;
    --marker-circle-size: 0.5rem;
    position: relative;
    padding-block: 0.5rem;
    padding-right: 1.5rem;
    padding-left: calc(var(--marker-bar-width) + var(--marker-circle-size) + 0.75rem);
  }
  .header__submenu-link::before, .header__submenu-link::after {
    position: absolute;
    top: 0;
    bottom: 0;
    display: block;
    margin: auto;
    content: "";
    background-color: currentColor;
    transition-timing-function: ease-in;
  }
  .header__submenu-link::before {
    right: calc(100% - var(--marker-bar-width) - var(--marker-circle-size) / 2);
    left: 0;
    height: 1px;
    transition-duration: 0.1s;
    transition-property: transform;
    transform: scaleX(0);
    transform-origin: left;
  }
  .header__submenu-link::after {
    left: var(--marker-bar-width);
    width: var(--marker-circle-size);
    height: var(--marker-circle-size);
    border-radius: 9999px;
    transition-duration: 0.1s;
    transition-property: transform;
    transform: scale(0);
  }
}
@media screen and (min-width: 60em) and (hover: hover), print and (hover: hover) {
  .header__submenu-link:where(:-moz-any-link, :enabled, summary):hover::before {
    transform: scaleX(1);
  }
  .header__submenu-link:where(:any-link, :enabled, summary):hover::before {
    transform: scaleX(1);
  }
  .header__submenu-link:where(:-moz-any-link, :enabled, summary):hover::after {
    transition-delay: 0.1s;
    transform: scale(1);
  }
  .header__submenu-link:where(:any-link, :enabled, summary):hover::after {
    transition-delay: 0.1s;
    transform: scale(1);
  }
}

@media screen and (min-width: 60em), print {
  .header__toggle {
    display: none;
  }
}
@media screen and (max-width: 59.99em) {
  .header__toggle {
    position: relative;
    display: grid;
    row-gap: 0.125rem;
    align-content: center;
    justify-content: center;
    justify-items: center;
    width: 3rem;
    height: 100%;
  }
  .header__toggle::after {
    font-size: 0.75rem;
    font-weight: 700;
    content: "Menu";
  }
  .header__toggle[aria-expanded=true]::after {
    content: "Close";
  }
  .header__toggle.header__toggle--with-icon:not([aria-expanded=true])::before {
    position: absolute;
    right: 0;
    z-index: 1;
    display: block;
    width: 0.75rem;
    height: 0.75rem;
    content: "";
    background-color: var(--color-validation);
    border-radius: 50%;
  }
}

.header__toggle__icon {
  --line-gap: 5px;
  position: relative;
  display: block;
  width: 100%;
  height: 1em;
  font-size: 1.4rem;
}
.header__toggle__icon > span {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 3px;
  margin: auto;
  background-color: currentColor;
  transition-duration: 0.3s;
  transition-property: transform, opacity, width;
}
.header__toggle__icon > span:nth-child(1) {
  transform: translateY(calc(var(--line-gap) * -1));
}
.header__toggle__icon > span:nth-child(2) {
  transform: translateY(calc(var(--line-gap) * 1));
}
.header__toggle__icon > span:is([aria-expanded=true] *) {
  width: 1em;
}
.header__toggle__icon > span:is([aria-expanded=true] *):nth-child(1) {
  transform: rotate(45deg);
}
.header__toggle__icon > span:is([aria-expanded=true] *):nth-child(2) {
  transform: rotate(-45deg);
}

.footer {
  background-color: var(--color-white);
  border-top: 1px solid var(--color-accent);
}
@media screen and (min-width: 60em), print {
  .footer {
    display: grid;
    grid-template-columns: 1fr minmax(10%, 6rem);
  }
}

.footer__page-top {
  display: grid;
  align-content: center;
  justify-items: center;
  font-size: 0.875rem;
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .footer__page-top {
    grid-template-rows: 60% auto;
    row-gap: 1rem;
    order: 1;
    color: var(--color-white);
    background-color: var(--color-primary);
  }
}
@media screen and (max-width: 59.99em) {
  .footer__page-top {
    padding: 0.5rem;
    background-color: rgba(var(--color-accent-rgb), 0.5);
  }
}
.footer__page-top::before, .footer__page-top::after {
  display: block;
  grid-area: 1/1;
  content: "";
  background-color: currentColor;
}
@media screen and (min-width: 60em), print {
  .footer__page-top::before {
    position: relative;
    top: 0;
    width: 0.75rem;
    height: 0.75rem;
    -webkit-clip-path: polygon(0 100%, 100% 100%, 50% 0%);
            clip-path: polygon(0 100%, 100% 100%, 50% 0%);
    transition-duration: var(--transition-duration-hover);
    transition-property: top;
  }
}
@media screen and (max-width: 59.99em) {
  .footer__page-top::before {
    width: 1.2rem;
    height: 1.2rem;
    background-color: currentColor;
    transform: rotate(-90deg);
    -webkit-mask-image: var(--icon-arrow-right);
            mask-image: var(--icon-arrow-right);
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: center;
            mask-position: center;
    -webkit-mask-size: contain;
            mask-size: contain;
  }
}
@media screen and (min-width: 60em), print {
  .footer__page-top::after {
    align-self: end;
    width: 2px;
    height: calc(100% - 4px);
    transition-duration: var(--transition-duration-hover);
    transition-property: transform;
    transform-origin: bottom;
  }
}
@media screen and (max-width: 59.99em) {
  .footer__page-top::after {
    display: none;
  }
}
@media (hover: hover) {
  .footer__page-top:where(:-moz-any-link, :enabled, summary):hover::before {
    top: -8%;
  }
  .footer__page-top:where(:any-link, :enabled, summary):hover::before {
    top: -8%;
  }
  .footer__page-top:where(:-moz-any-link, :enabled, summary):hover::after {
    transform: scaleY(1.08);
  }
  .footer__page-top:where(:any-link, :enabled, summary):hover::after {
    transform: scaleY(1.08);
  }
}

@media screen and (min-width: 60em), print {
  .footer__inner {
    padding: 7rem 6% 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .footer__inner {
    padding: 4rem 10% 3rem;
  }
}

.footer__logo {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  transition-duration: var(--transition-duration-hover);
  transition-property: opacity;
}
@media screen and (min-width: 60em), print {
  .footer__logo {
    font-size: 2.65rem;
  }
}
@media screen and (max-width: 59.99em) {
  .footer__logo {
    font-size: 1.25rem;
  }
}
@media (hover: hover) {
  .footer__logo:where(:-moz-any-link, :enabled, summary):hover {
    opacity: 0.6;
  }
  .footer__logo:where(:any-link, :enabled, summary):hover {
    opacity: 0.6;
  }
}
.footer__logo img {
  width: auto;
  height: 1em;
}

@media screen and (min-width: 60em), print {
  .footer__main {
    display: grid;
    grid-template-columns: 1fr 25%;
    -moz-column-gap: 6%;
         column-gap: 6%;
    align-items: start;
    justify-content: space-between;
    margin-top: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .footer__main {
    margin-top: 4rem;
  }
}

@media screen and (min-width: 60em), print {
  .footer__categories {
    display: grid;
    grid-template-columns: repeat(4, minmax(18%, auto));
    row-gap: 2.5rem;
    -moz-column-gap: 1rem;
         column-gap: 1rem;
  }
}
@media screen and (min-width: 60em), print {
  .footer__categories > li:nth-child(1) {
    grid-row: span 4;
    grid-column: 1;
  }
  .footer__categories > li:nth-child(2) {
    grid-row: span 4;
    grid-column: 2;
  }
  .footer__categories > li:nth-child(3) {
    grid-column: 3;
  }
  .footer__categories > li:nth-child(n+4) {
    grid-column: 4;
  }
}
@media screen and (max-width: 59.99em) {
  .footer__categories > li {
    border-top: 1px solid var(--color-border);
  }
  .footer__categories > li:where(:last-child) {
    border-bottom: 1px solid var(--color-border);
  }
}

.footer__category-link {
  font-weight: 700;
  transition-duration: var(--transition-duration-hover);
  transition-property: color;
}
@media (hover: hover) {
  .footer__category-link:where(:-moz-any-link, :enabled, summary):hover {
    color: var(--color-text-gray);
  }
  .footer__category-link:where(:any-link, :enabled, summary):hover {
    color: var(--color-text-gray);
  }
}
@media screen and (max-width: 59.99em) {
  .footer__category-link {
    display: grid;
    width: 100%;
    padding-block: 1rem;
  }
  .footer__category-link[aria-expanded] {
    grid-template-columns: 1fr auto;
    -moz-column-gap: 0.5rem;
         column-gap: 0.5rem;
    padding-right: 0.5rem;
  }
  .footer__category-link[aria-expanded]::before, .footer__category-link[aria-expanded]::after {
    display: block;
    grid-area: 1/2;
    width: 1rem;
    height: 1px;
    margin-top: auto;
    margin-bottom: auto;
    content: "";
    background-color: var(--color-accent);
    transition: transform var(--transition-duration-motion);
  }
  .footer__category-link[aria-expanded]::before {
    transform: rotate(90deg);
  }
  .footer__category-link[aria-expanded][aria-expanded=true]::before, .footer__category-link[aria-expanded][aria-expanded=true]::after {
    transform: rotate(180deg);
  }
}

.footer__submenu {
  display: grid;
  row-gap: 1rem;
}
@media screen and (min-width: 60em), print {
  .footer__submenu {
    margin-top: 1rem;
  }
}
@media screen and (max-width: 59.99em) {
  .footer__submenu {
    padding-bottom: 1rem;
  }
}

.footer__submenu-link {
  display: grid;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 0.875rem;
  font-weight: 700;
  transition-duration: var(--transition-duration-hover);
  transition-property: color;
}
@media screen and (min-width: 60em), print {
  .footer__submenu-link {
    grid-template-columns: auto 1fr;
    -moz-column-gap: 0.5rem;
         column-gap: 0.5rem;
  }
  .footer__submenu-link::before {
    display: block;
    width: 1.5rem;
    height: 1px;
    content: "";
    background-color: currentColor;
    transform-origin: left;
  }
}
@media screen and (min-width: 60em) and (prefers-reduced-motion: no-preference), print and (prefers-reduced-motion: no-preference) {
  .footer__submenu-link::before {
    transition-duration: var(--transition-duration-hover);
    transition-property: transform;
  }
}
@media screen and (max-width: 59.99em) {
  .footer__submenu-link {
    padding-left: 1rem;
    color: var(--color-text-gray);
  }
}
@media (hover: hover) {
  .footer__submenu-link:where(:-moz-any-link, :enabled, summary):hover {
    color: var(--color-text-gray);
  }
  .footer__submenu-link:where(:any-link, :enabled, summary):hover {
    color: var(--color-text-gray);
  }
  .footer__submenu-link:where(:-moz-any-link, :enabled, summary):hover::before {
    transform: scaleX(0);
    transform-origin: right;
  }
  .footer__submenu-link:where(:any-link, :enabled, summary):hover::before {
    transform: scaleX(0);
    transform-origin: right;
  }
}

.footer__address {
  display: grid;
  font-size: 0.75rem;
  line-height: 2;
}
@media screen and (min-width: 60em), print {
  .footer__address {
    row-gap: 1rem;
    justify-self: end;
  }
}
@media screen and (max-width: 59.99em) {
  .footer__address {
    row-gap: 0.75rem;
    margin-top: 3.5rem;
  }
}

.footer__address__name {
  font-size: 0.875rem;
  font-weight: 700;
}

.footer__links {
  display: flex;
  flex-wrap: wrap;
  row-gap: 1.5rem;
  -moz-column-gap: 2rem;
       column-gap: 2rem;
  font-size: 0.75rem;
}
@media screen and (min-width: 60em), print {
  .footer__links {
    padding-top: 2.5rem;
    margin-top: 2.5rem;
    border-top: 2px solid currentColor;
  }
}
@media screen and (max-width: 59.99em) {
  .footer__links {
    flex-direction: column;
    margin-top: 4rem;
  }
}
.footer__links a {
  transition-duration: var(--transition-duration-hover);
  transition-property: color;
}
@media (hover: hover) {
  .footer__links a:where(:-moz-any-link, :enabled, summary):hover {
    color: var(--color-text-gray);
  }
  .footer__links a:where(:any-link, :enabled, summary):hover {
    color: var(--color-text-gray);
  }
}

.footer__copyright {
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .footer__copyright {
    margin-top: 4.75rem;
    font-size: 0.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .footer__copyright {
    margin-top: 4rem;
    font-size: 0.625rem;
  }
}

.container {
  width: var(--container-width);
  margin-right: auto;
  margin-left: auto;
}

.container-alternative > * {
  width: var(--container-width);
  margin-inline: auto;
}

.container-alternative__full {
  width: 100%;
}

@media screen and (max-width: 59.99em) {
  .container-alternative__sp-full {
    width: 100%;
  }
}

.button-primary {
  display: inline-grid;
  align-items: center;
  justify-content: center;
  min-height: 3rem;
  padding: 0.75rem;
  font-size: 0.875rem;
  font-weight: 700;
  background-color: rgba(var(--color-accent-rgb), 0.5);
  border: 1px solid var(--color-border);
  border-radius: 9999px;
  box-shadow: 10px 10px 20px rgba(var(--color-accent-rgb), 0.2);
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color;
}
@media (hover: hover) {
  .button-primary:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
  .button-primary:where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
}
@media (prefers-reduced-motion: no-preference) and (hover: hover) {
  .button-primary:where(:-moz-any-link, :enabled, summary):hover {
    background-image: linear-gradient(135deg, transparent 0% 40%, rgba(255, 255, 255, 0.3) 55%, transparent 55%);
    background-size: 300% 100%;
    animation: shiny 1.4s cubic-bezier(0, 0, 0.2, 1);
  }
  .button-primary:where(:any-link, :enabled, summary):hover {
    background-image: linear-gradient(135deg, transparent 0% 40%, rgba(255, 255, 255, 0.3) 55%, transparent 55%);
    background-size: 300% 100%;
    animation: shiny 1.4s cubic-bezier(0, 0, 0.2, 1);
  }
  @keyframes shiny {
    0% {
      background-position-x: 100%;
    }
    100% {
      background-position-x: 0%;
    }
  }
}

.breadcrumbs {
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.8125;
}
@media screen and (min-width: 60em), print {
  .breadcrumbs {
    padding: 0 5rem 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .breadcrumbs {
    padding: 0 2rem 1.5rem;
  }
}
.breadcrumbs li {
  display: inline-block;
}
.breadcrumbs li:not(:first-child)::before {
  display: inline-block;
  padding-right: 0.75rem;
  padding-left: 0.75rem;
  content: "＞";
}
.breadcrumbs a {
  background-image: linear-gradient(to top, currentColor 0 1px, transparent 0 100%);
  background-repeat: no-repeat;
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
  background-position: right;
  background-size: 0 100%;
}
@media (prefers-reduced-motion: no-preference) {
  .breadcrumbs a {
    transition-duration: 0.2s;
    transition-property: background-size;
  }
}
@media (hover: hover) {
  .breadcrumbs a:where(:-moz-any-link, :enabled, summary):hover {
    background-position: left;
    background-size: 100% 100%;
  }
  .breadcrumbs a:where(:any-link, :enabled, summary):hover {
    background-position: left;
    background-size: 100% 100%;
  }
}

.page-hero {
  color: var(--color-white);
  background-color: var(--color-black);
}
@media screen and (min-width: 60em), print {
  .page-hero {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}
@media screen and (max-width: 59.99em) {
  .page-hero {
    padding-top: 2.25rem;
    padding-bottom: 2.5rem;
  }
}

@media screen and (max-width: 59.99em) {
  .page-hero__wrapper {
    padding-left: 1.75rem;
  }
}

.page-hero__heading {
  display: flex;
  flex-wrap: wrap;
  row-gap: 0.25rem;
  -moz-column-gap: 1.85rem;
       column-gap: 1.85rem;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (min-width: 60em), print {
  .page-hero__heading {
    align-items: flex-end;
    font-size: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .page-hero__heading {
    flex-direction: column;
    font-size: 1.5rem;
  }
}

.page-hero__heading__english {
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .page-hero__heading__english {
    margin-top: -0.3em;
    margin-bottom: -0.2em;
    font-size: 3.75rem;
    line-height: 1.5;
  }
}
@media screen and (max-width: 59.99em) {
  .page-hero__heading__english {
    font-size: 2.5rem;
    line-height: 1.3;
  }
}

.page-hero__heading__sub,
.page-hero__heading__japanese {
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .page-hero__heading__sub,
  .page-hero__heading__japanese {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .page-hero__heading__sub,
  .page-hero__heading__japanese {
    font-size: 1.125rem;
    line-height: 1.5;
  }
}

.page-hero__marker-star {
  position: relative;
}
.page-hero__marker-star::before {
  position: absolute;
  top: 0.2em;
  right: calc(100% + 1.3rem);
  bottom: 0;
  display: block;
  width: 1rem;
  height: 1rem;
  margin: auto;
  pointer-events: none;
  content: "";
  border: 1px solid currentColor;
  transform: translateX(0) rotate(45deg);
}

.heading2-decoration {
  position: relative;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (min-width: 60em), print {
  .heading2-decoration {
    font-size: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .heading2-decoration {
    padding-top: 1.5rem;
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 60em), print {
  .heading2-decoration:where(:not(:first-child)) {
    margin-top: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .heading2-decoration:where(:not(:first-child)) {
    margin-top: 4rem;
  }
}
@media screen and (min-width: 60em), print {
  .heading2-decoration:where(:not(:last-child)) {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .heading2-decoration:where(:not(:last-child)) {
    margin-bottom: 2.5rem;
  }
}
.heading2-decoration::before {
  position: absolute;
  top: 0;
  display: block;
  content: "";
  background-color: var(--color-black);
}
@media screen and (min-width: 60em), print {
  .heading2-decoration::before {
    left: -2rem;
    width: 2px;
    height: 100%;
  }
}
@media screen and (max-width: 59.99em) {
  .heading2-decoration::before {
    left: 0;
    width: 70px;
    height: 2px;
  }
}

.heading3-decoration {
  position: relative;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (min-width: 60em), print {
  .heading3-decoration {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .heading3-decoration {
    padding-top: 1rem;
    font-size: 1.25rem;
  }
}
@media screen and (min-width: 60em), print {
  .heading3-decoration:where(:not(:first-child)) {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .heading3-decoration:where(:not(:first-child)) {
    margin-top: 2.5rem;
  }
}
.heading3-decoration:where(:not(:last-child)) {
  margin-bottom: 1.75rem;
}
.heading3-decoration::before {
  position: absolute;
  top: 0;
  display: block;
  content: "";
  background-color: var(--color-black);
}
@media screen and (min-width: 60em), print {
  .heading3-decoration::before {
    left: -2rem;
    width: 2px;
    height: 100%;
  }
}
@media screen and (max-width: 59.99em) {
  .heading3-decoration::before {
    left: 0;
    width: 24px;
    height: 1px;
  }
}

.heading-normal {
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (min-width: 60em), print {
  .heading-normal {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .heading-normal {
    font-size: 1.125rem;
  }
}
.heading-normal:where(:not(:first-child)) {
  margin-top: 1.75rem;
}
.heading-normal:where(:not(:last-child)) {
  margin-bottom: 1.25rem;
}

.heading2-center {
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (min-width: 60em), print {
  .heading2-center {
    font-size: 2rem;
    text-align: center;
  }
}
@media screen and (max-width: 59.99em) {
  .heading2-center {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 60em), print {
  .heading2-center:where(:not(:first-child)) {
    margin-top: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .heading2-center:where(:not(:first-child)) {
    margin-top: 4rem;
  }
}
@media screen and (min-width: 60em), print {
  .heading2-center:where(:not(:last-child)) {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .heading2-center:where(:not(:last-child)) {
    margin-bottom: 2.5rem;
  }
}

.heading3-center {
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (min-width: 60em), print {
  .heading3-center {
    font-size: 1.5rem;
    text-align: center;
  }
}
@media screen and (max-width: 59.99em) {
  .heading3-center {
    font-size: 1.25rem;
  }
}
@media screen and (min-width: 60em), print {
  .heading3-center:where(:not(:first-child)) {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .heading3-center:where(:not(:first-child)) {
    margin-top: 2.5rem;
  }
}
.heading3-center:where(:not(:last-child)) {
  margin-bottom: 1.75rem;
}

.interviewer {
  font-size: 1.125rem;
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .interviewer {
    display: grid;
    grid-template-columns: auto 1fr;
    -moz-column-gap: 0.5rem;
         column-gap: 0.5rem;
    line-height: 1.45;
  }
}
@media screen and (max-width: 59.99em) {
  .interviewer {
    position: relative;
    padding-top: 1rem;
    line-height: 1.5;
  }
}
@media screen and (min-width: 60em), print {
  .interviewer:where(:not(:first-child)) {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .interviewer:where(:not(:first-child)) {
    margin-top: 2.5rem;
  }
}
@media screen and (min-width: 60em), print {
  .interviewer:where(:not(:last-child)) {
    margin-bottom: 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .interviewer:where(:not(:last-child)) {
    margin-bottom: 2.5rem;
  }
}
.interviewer::before {
  display: block;
  width: 24px;
  height: 1px;
  content: "";
  background-color: var(--color-black);
}
@media screen and (min-width: 60em), print {
  .interviewer::before {
    margin-top: 0.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .interviewer::before {
    position: absolute;
    top: 0;
  }
}

@media screen and (min-width: 60em), print {
  .talk {
    display: grid;
    grid-template-columns: minmax(5.2rem, auto) 1fr;
  }
}
@media screen and (min-width: 60em), print {
  .talk:where(:not(:first-child)) {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .talk:where(:not(:first-child)) {
    margin-top: 2.5rem;
  }
}
@media screen and (min-width: 60em), print {
  .talk:where(:not(:last-child)) {
    margin-bottom: 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .talk:where(:not(:last-child)) {
    margin-bottom: 2.5rem;
  }
}

.talk__name {
  font-weight: 700;
  line-height: 1.8;
}
@media screen and (min-width: 60em), print {
  .talk__name {
    padding-right: 2rem;
    border-right: 1px solid currentColor;
  }
}
@media screen and (max-width: 59.99em) {
  .talk__name {
    padding-bottom: 0.5rem;
    border-bottom: 1px solid currentColor;
  }
}

.talk__text {
  --letter-spacing: 0.08em;
  line-height: 1.8;
}
@media screen and (min-width: 60em), print {
  .talk__text {
    padding-left: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .talk__text {
    padding-top: 1.5rem;
  }
}

.talk-with-icon {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .talk-with-icon {
    grid-template: "icon text" auto "name text" 1fr/auto 1fr;
    row-gap: 0.5rem;
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .talk-with-icon {
    grid-template: "icon name" auto "text text" auto/auto 1fr;
    row-gap: 1rem;
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    align-items: center;
  }
}
@media screen and (min-width: 60em), print {
  .talk-with-icon:where(:not(:first-child)) {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .talk-with-icon:where(:not(:first-child)) {
    margin-top: 2.5rem;
  }
}
@media screen and (min-width: 60em), print {
  .talk-with-icon:where(:not(:last-child)) {
    margin-bottom: 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .talk-with-icon:where(:not(:last-child)) {
    margin-bottom: 2.5rem;
  }
}

.talk-with-icon__icon {
  grid-area: icon;
  width: 4.5rem;
  height: 4.5rem;
  overflow: hidden;
  border-radius: 50%;
}
@media screen and (min-width: 60em), print {
  .talk-with-icon__icon {
    margin-inline: auto;
  }
}
.talk-with-icon__icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.talk-with-icon__name {
  grid-area: name;
  font-weight: 700;
  line-height: 1.8;
}
@media screen and (min-width: 60em), print {
  .talk-with-icon__name {
    text-align: center;
  }
}

.talk-with-icon__text {
  grid-area: text;
  --letter-spacing: 0.08em;
  line-height: 1.8;
}
@media screen and (max-width: 59.99em) {
  .talk-with-icon__text {
    position: relative;
    padding-top: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .talk-with-icon__text::before {
    position: absolute;
    top: 0;
    display: block;
    width: 100%;
    height: 1px;
    content: "";
    background-color: var(--color-black);
  }
}

.note-list:where(:not(:first-child)) {
  margin-top: 1.25rem;
}

.note-list-item {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.5;
}
.note-list-item:where(:not(:first-child)) {
  margin-top: 0.25rem;
}

.profile:where(.editor-styles-wrapper *) .block-editor-block-list__layout, .profile:not(:where(.editor-styles-wrapper *)) {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .profile:where(.editor-styles-wrapper *) .block-editor-block-list__layout, .profile:not(:where(.editor-styles-wrapper *)) {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 2rem;
    -moz-column-gap: 8%;
         column-gap: 8%;
  }
}
@media screen and (max-width: 59.99em) {
  .profile:where(.editor-styles-wrapper *) .block-editor-block-list__layout, .profile:not(:where(.editor-styles-wrapper *)) {
    row-gap: 2.5rem;
  }
}
@media screen and (min-width: 60em), print {
  .profile:where(.editor-styles-wrapper *) .block-editor-block-list__layout:where(:not(:first-child)), .profile:not(:where(.editor-styles-wrapper *)):where(:not(:first-child)) {
    margin-top: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .profile:where(.editor-styles-wrapper *) .block-editor-block-list__layout:where(:not(:first-child)), .profile:not(:where(.editor-styles-wrapper *)):where(:not(:first-child)) {
    margin-top: 1.5rem;
  }
}

.profile-item {
  display: grid;
  grid-auto-rows: auto 1fr;
  grid-auto-columns: auto 1fr;
}
@media screen and (min-width: 60em), print {
  .profile-item {
    row-gap: 1rem;
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .profile-item {
    row-gap: 1rem;
  }
}

.profile-item__icon {
  overflow: hidden;
}
@media screen and (min-width: 60em), print {
  .profile-item__icon {
    grid-area: 1/1/span 2;
    width: 7.5rem;
    height: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .profile-item__icon {
    width: 6.5rem;
    height: 6.5rem;
  }
}
.profile-item__icon img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
}

.profile-item__name {
  --letter-spacing: 0.08em;
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .profile-item__name {
    grid-row: 1;
  }
}

.profile-item__text {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.6;
}
.profile-item__text a {
  position: relative;
  background-image: linear-gradient(to top, currentColor 0 1px, transparent 0 100%);
  background-repeat: no-repeat;
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
  background-position: left;
  background-size: 100% 100%;
  transition: color var(--transition-duration-hover);
}
@media (prefers-reduced-motion: no-preference) {
  .profile-item__text a {
    transition: color var(--transition-duration-hover), background-size 0.4s;
  }
}
@media (hover: hover) {
  .profile-item__text a:where(:-moz-any-link, :enabled, summary):hover {
    color: var(--color-text-gray);
    background-position: right;
    background-size: 0 100%;
  }
  .profile-item__text a:where(:any-link, :enabled, summary):hover {
    color: var(--color-text-gray);
    background-position: right;
    background-size: 0 100%;
  }
}
.profile-item__text a[href$=".pdf"], .profile-item__text a[target=_blank] {
  margin-right: 1.75em;
}
.profile-item__text a[target=_blank]::after, .profile-item__text a[href$=".pdf"]::after {
  position: absolute;
  display: inline-block;
  width: 1.25em;
  height: 1.25em;
  margin-left: 0.25rem;
  content: "";
  background-color: currentColor;
  transform: translateY(20%);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
}
.profile-item__text a[target=_blank]::after {
  -webkit-mask-image: var(--icon-open-in-new);
          mask-image: var(--icon-open-in-new);
}
.profile-item__text a[href$=".pdf"]::after {
  -webkit-mask-image: var(--icon-pdf);
          mask-image: var(--icon-pdf);
}

@media screen and (min-width: 60em), print {
  .button-rectangle:where(.editor-styles-wrapper *) .block-editor-block-list__layout, .button-rectangle:not(:where(.editor-styles-wrapper *)) {
    display: flex;
    flex-wrap: wrap;
    row-gap: 1.75rem;
    -moz-column-gap: 1.75rem;
         column-gap: 1.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .button-rectangle:where(.editor-styles-wrapper *) .block-editor-block-list__layout, .button-rectangle:not(:where(.editor-styles-wrapper *)) {
    display: grid;
    row-gap: 1.25rem;
  }
}
@media screen and (min-width: 60em), print {
  .button-rectangle:where(.editor-styles-wrapper *) .block-editor-block-list__layout:where(:not(:first-child)), .button-rectangle:not(:where(.editor-styles-wrapper *)):where(:not(:first-child)) {
    margin-top: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .button-rectangle:where(.editor-styles-wrapper *) .block-editor-block-list__layout:where(:not(:first-child)), .button-rectangle:not(:where(.editor-styles-wrapper *)):where(:not(:first-child)) {
    margin-top: 1.75rem;
  }
}

.button-rectangle-item .button-rectangle-item__link {
  display: inline-grid;
  grid-template-columns: 1fr auto;
  -moz-column-gap: 0.25rem;
       column-gap: 0.25rem;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  font-weight: 700;
  background-color: rgba(var(--color-accent-rgb), 0.5);
  border: 1px solid var(--color-border);
  box-shadow: 10px 10px 20px rgba(var(--color-accent-rgb), 0.2);
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color;
}
@media screen and (min-width: 60em), print {
  .button-rectangle-item .button-rectangle-item__link {
    padding: 1rem 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .button-rectangle-item .button-rectangle-item__link {
    width: 100%;
    padding: 1rem 1.5rem 1rem 3rem;
  }
}
@media (hover: hover) {
  .button-rectangle-item .button-rectangle-item__link:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
  .button-rectangle-item .button-rectangle-item__link:where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
}
@media (prefers-reduced-motion: no-preference) and (hover: hover) {
  .button-rectangle-item .button-rectangle-item__link:where(:-moz-any-link, :enabled, summary):hover {
    background-image: linear-gradient(135deg, transparent 0% 40%, rgba(255, 255, 255, 0.3) 55%, transparent 55%);
    background-size: 300% 100%;
    animation: shiny 1.4s cubic-bezier(0, 0, 0.2, 1);
  }
  .button-rectangle-item .button-rectangle-item__link:where(:any-link, :enabled, summary):hover {
    background-image: linear-gradient(135deg, transparent 0% 40%, rgba(255, 255, 255, 0.3) 55%, transparent 55%);
    background-size: 300% 100%;
    animation: shiny 1.4s cubic-bezier(0, 0, 0.2, 1);
  }
  @keyframes shiny {
    0% {
      background-position-x: 100%;
    }
    100% {
      background-position-x: 0%;
    }
  }
}
.button-rectangle-item .button-rectangle-item__link[target=_blank]::after {
  display: inline-block;
  width: 1.25em;
  height: 1.25em;
  content: "";
  background-color: currentColor;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-image: var(--icon-open-in-new);
          mask-image: var(--icon-open-in-new);
}

.button-rounded:where(.editor-styles-wrapper *) .block-editor-block-list__layout, .button-rounded:not(:where(.editor-styles-wrapper *)) {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
@media screen and (min-width: 60em), print {
  .button-rounded:where(.editor-styles-wrapper *) .block-editor-block-list__layout, .button-rounded:not(:where(.editor-styles-wrapper *)) {
    row-gap: 1.75rem;
    -moz-column-gap: 1.75rem;
         column-gap: 1.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .button-rounded:where(.editor-styles-wrapper *) .block-editor-block-list__layout, .button-rounded:not(:where(.editor-styles-wrapper *)) {
    row-gap: 1.25rem;
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
  }
}
@media screen and (min-width: 60em), print {
  .button-rounded:where(.editor-styles-wrapper *) .block-editor-block-list__layout:where(:not(:first-child)), .button-rounded:not(:where(.editor-styles-wrapper *)):where(:not(:first-child)) {
    margin-top: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .button-rounded:where(.editor-styles-wrapper *) .block-editor-block-list__layout:where(:not(:first-child)), .button-rounded:not(:where(.editor-styles-wrapper *)):where(:not(:first-child)) {
    margin-top: 1.75rem;
  }
}

.button-rounded-item {
  min-width: clamp(0px, 15rem, 100%);
}
.button-rounded-item .button-rounded-item__link {
  display: inline-grid;
  -moz-column-gap: 0.25rem;
       column-gap: 0.25rem;
  align-items: center;
  justify-content: center;
  width: 100%;
  font-size: 0.875rem;
  font-weight: 700;
  background-color: rgba(var(--color-accent-rgb), 0.5);
  border: 1px solid var(--color-border);
  border-radius: 9999px;
  box-shadow: 10px 10px 20px rgba(var(--color-accent-rgb), 0.2);
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color;
}
@media screen and (min-width: 60em), print {
  .button-rounded-item .button-rounded-item__link {
    padding: 0.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .button-rounded-item .button-rounded-item__link {
    padding: 1rem 3rem;
  }
}
@media (hover: hover) {
  .button-rounded-item .button-rounded-item__link:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
  .button-rounded-item .button-rounded-item__link:where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
}
@media (prefers-reduced-motion: no-preference) and (hover: hover) {
  .button-rounded-item .button-rounded-item__link:where(:-moz-any-link, :enabled, summary):hover {
    background-image: linear-gradient(135deg, transparent 0% 40%, rgba(255, 255, 255, 0.3) 55%, transparent 55%);
    background-size: 300% 100%;
    animation: shiny 1.4s cubic-bezier(0, 0, 0.2, 1);
  }
  .button-rounded-item .button-rounded-item__link:where(:any-link, :enabled, summary):hover {
    background-image: linear-gradient(135deg, transparent 0% 40%, rgba(255, 255, 255, 0.3) 55%, transparent 55%);
    background-size: 300% 100%;
    animation: shiny 1.4s cubic-bezier(0, 0, 0.2, 1);
  }
  @keyframes shiny {
    0% {
      background-position-x: 100%;
    }
    100% {
      background-position-x: 0%;
    }
  }
}

.box-link {
  display: grid;
  row-gap: 1rem;
}
.box-link:where(:not(:first-child)) {
  margin-top: 2rem;
}
.box-link:where(:not(:last-child)) {
  margin-bottom: 2rem;
}

.box-link__item {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  color: var(--color-white);
  background-color: var(--color-accent);
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color;
}
@media screen and (min-width: 60em), print {
  .box-link__item {
    padding: 1.75rem 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .box-link__item {
    -moz-column-gap: 5%;
         column-gap: 5%;
    padding-right: 5%;
    color: var(--color-black);
    background-color: rgba(var(--color-accent-rgb), 0.35);
    border: 1px solid var(--color-border);
  }
}
@media (hover: hover) {
  .box-link__item:where(:-moz-any-link, :enabled, summary):hover {
    background-color: var(--color-accent-dark);
  }
  .box-link__item:where(:any-link, :enabled, summary):hover {
    background-color: var(--color-accent-dark);
  }
}
.box-link__item::after {
  display: block;
  content: "";
  background-color: currentColor;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
@media screen and (min-width: 60em), print {
  .box-link__item::after {
    -webkit-mask-image: var(--icon-arrow-right-thin);
            mask-image: var(--icon-arrow-right-thin);
    width: 2rem;
    height: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .box-link__item::after {
    -webkit-mask-image: var(--icon-arrow-right);
            mask-image: var(--icon-arrow-right);
    width: 0.75rem;
    height: 0.75rem;
  }
}

.box-link__item__inner {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
}
@media screen and (min-width: 60em), print {
  .box-link__item__inner {
    -moz-column-gap: 1rem;
         column-gap: 1rem;
  }
}
@media screen and (max-width: 59.99em) {
  .box-link__item__inner {
    -moz-column-gap: 0.5rem;
         column-gap: 0.5rem;
    padding: 1.5rem;
    border-right: 1px solid var(--color-white);
  }
}

@media screen and (min-width: 60em), print {
  .box-link__item__icon {
    width: 4rem;
    height: 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .box-link__item__icon {
    width: 2.5rem;
    height: 2.5rem;
    filter: invert(1);
  }
}

.box-link__item__english {
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .box-link__item__english {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .box-link__item__english {
    font-size: 1.25rem;
  }
}

.box-link__item__japanese {
  font-size: 0.75rem;
  font-weight: 700;
}

.signature {
  line-height: 1.5;
  text-align: right;
}
@media screen and (min-width: 60em), print {
  .signature {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .signature {
    margin-top: 1.75rem;
  }
}

.anchor-link-list ol {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .anchor-link-list ol {
    grid-auto-columns: 1fr;
    grid-auto-flow: column;
  }
}
@media screen and (min-width: 60em), print {
  .anchor-link-list ol li {
    border-left: 2px solid currentColor;
  }
}
@media screen and (max-width: 59.99em) {
  .anchor-link-list ol li {
    border-top: 2px solid currentColor;
  }
}
@media screen and (min-width: 60em), print {
  .anchor-link-list ol li:last-child {
    border-right: 2px solid currentColor;
  }
}
@media screen and (max-width: 59.99em) {
  .anchor-link-list ol li:last-child {
    border-bottom: 2px solid currentColor;
  }
}
.anchor-link-list ol li a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 1rem 1.5rem;
  font-weight: 700;
  text-align: center;
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color;
}
@media (hover: hover) {
  .anchor-link-list ol li a:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.35);
  }
  .anchor-link-list ol li a:where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.35);
  }
}

.box {
  border: 1px solid var(--color-accent);
}
@media screen and (min-width: 60em), print {
  .box {
    padding: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .box {
    padding: 2rem;
  }
}
@media screen and (min-width: 60em), print {
  .box:where(:not(:first-child)) {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .box:where(:not(:first-child)) {
    margin-top: 1.75rem;
  }
}
@media screen and (min-width: 60em), print {
  .box:where(:not(:last-child)) {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .box:where(:not(:last-child)) {
    margin-bottom: 1.75rem;
  }
}

@media screen and (min-width: 60em), print {
  .columns {
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (min-width: 60em), print {
  .columns:where(:not(:first-child)) {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .columns:where(:not(:first-child)) {
    margin-top: 1.75rem;
  }
}
@media screen and (min-width: 60em), print {
  .columns:where(:not(:last-child)) {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .columns:where(:not(:last-child)) {
    margin-bottom: 1.75rem;
  }
}
@media screen and (min-width: 60em), print {
  .columns.columns--media-right {
    flex-direction: row-reverse;
  }
}

@media screen and (min-width: 60em), print {
  .columns__media {
    width: 48.8888888889%;
  }
}
@media screen and (max-width: 59.99em) {
  .columns__media {
    margin-bottom: 1.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .columns__media img {
    width: 100%;
    height: auto;
    margin-inline: auto;
  }
}

@media screen and (min-width: 60em), print {
  .columns__body {
    width: 46.6666666667%;
  }
}

.ruled-table:where(:not(:first-child)) {
  margin-top: 4rem;
}
.ruled-table:where(:not(:last-child)) {
  margin-bottom: 4rem;
}
.ruled-table table {
  width: 100%;
}
.ruled-table caption {
  margin-bottom: 1rem;
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .ruled-table caption {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .ruled-table caption {
    font-size: 1.125rem;
    line-height: 1.5;
  }
}
.ruled-table tr {
  display: grid;
  font-size: 1rem;
  border-top: 1px solid var(--color-border);
}
@media screen and (min-width: 60em), print {
  .ruled-table tr {
    grid-template-columns: 8.5rem 1fr;
    -moz-column-gap: 5rem;
         column-gap: 5rem;
    align-items: center;
    padding: 2rem 2rem 2rem 0;
  }
}
@media screen and (max-width: 59.99em) {
  .ruled-table tr {
    row-gap: 1rem;
    padding-block: 1.5rem;
    line-height: 1.4;
  }
}
.ruled-table tr:last-child {
  border-bottom: 1px solid var(--color-border);
}
.ruled-table tr th {
  font-weight: 700;
}
.ruled-table tr td {
  font-weight: 500;
}

.element-style :where(h2):not(:where(.element-style__ignore *)),
.is-root-container :where(h2):not(:where(.element-style__ignore *)) {
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (min-width: 60em), print {
  .element-style :where(h2):not(:where(.element-style__ignore *)),
  .is-root-container :where(h2):not(:where(.element-style__ignore *)) {
    font-size: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .element-style :where(h2):not(:where(.element-style__ignore *)),
  .is-root-container :where(h2):not(:where(.element-style__ignore *)) {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 60em), print {
  .element-style :where(h2):not(:where(.element-style__ignore *)):where(:not(:first-child)),
  .is-root-container :where(h2):not(:where(.element-style__ignore *)):where(:not(:first-child)) {
    margin-top: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .element-style :where(h2):not(:where(.element-style__ignore *)):where(:not(:first-child)),
  .is-root-container :where(h2):not(:where(.element-style__ignore *)):where(:not(:first-child)) {
    margin-top: 4rem;
  }
}
@media screen and (min-width: 60em), print {
  .element-style :where(h2):not(:where(.element-style__ignore *)):where(:not(:last-child)),
  .is-root-container :where(h2):not(:where(.element-style__ignore *)):where(:not(:last-child)) {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .element-style :where(h2):not(:where(.element-style__ignore *)):where(:not(:last-child)),
  .is-root-container :where(h2):not(:where(.element-style__ignore *)):where(:not(:last-child)) {
    margin-bottom: 2.5rem;
  }
}
.element-style :where(h3):not(:where(.element-style__ignore *)),
.is-root-container :where(h3):not(:where(.element-style__ignore *)) {
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (min-width: 60em), print {
  .element-style :where(h3):not(:where(.element-style__ignore *)),
  .is-root-container :where(h3):not(:where(.element-style__ignore *)) {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .element-style :where(h3):not(:where(.element-style__ignore *)),
  .is-root-container :where(h3):not(:where(.element-style__ignore *)) {
    font-size: 1.125rem;
  }
}
@media screen and (min-width: 60em), print {
  .element-style :where(h3):not(:where(.element-style__ignore *)):where(:not(:first-child)),
  .is-root-container :where(h3):not(:where(.element-style__ignore *)):where(:not(:first-child)) {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .element-style :where(h3):not(:where(.element-style__ignore *)):where(:not(:first-child)),
  .is-root-container :where(h3):not(:where(.element-style__ignore *)):where(:not(:first-child)) {
    margin-top: 2.5rem;
  }
}
.element-style :where(h3):not(:where(.element-style__ignore *)):where(:not(:last-child)),
.is-root-container :where(h3):not(:where(.element-style__ignore *)):where(:not(:last-child)) {
  margin-bottom: 1.75rem;
}
.element-style :where(h4):not(:where(.element-style__ignore *)),
.is-root-container :where(h4):not(:where(.element-style__ignore *)) {
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (min-width: 60em), print {
  .element-style :where(h4):not(:where(.element-style__ignore *)),
  .is-root-container :where(h4):not(:where(.element-style__ignore *)) {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .element-style :where(h4):not(:where(.element-style__ignore *)),
  .is-root-container :where(h4):not(:where(.element-style__ignore *)) {
    font-size: 1.125rem;
  }
}
.element-style :where(h4):not(:where(.element-style__ignore *)):where(:not(:first-child)),
.is-root-container :where(h4):not(:where(.element-style__ignore *)):where(:not(:first-child)) {
  margin-top: 1.75rem;
}
.element-style :where(h4):not(:where(.element-style__ignore *)):where(:not(:last-child)),
.is-root-container :where(h4):not(:where(.element-style__ignore *)):where(:not(:last-child)) {
  margin-bottom: 1.25rem;
}
.element-style :where(p):not(:where(.element-style__ignore *, .ruled-table *)),
.is-root-container :where(p):not(:where(.element-style__ignore *, .ruled-table *)) {
  font-weight: 400;
  --letter-spacing: 0.08em;
  line-height: 1.8;
}
.element-style :where(p):not(:where(.element-style__ignore *, .ruled-table *)):where(:not(:first-child):not(:where(li > *))),
.is-root-container :where(p):not(:where(.element-style__ignore *, .ruled-table *)):where(:not(:first-child):not(:where(li > *))) {
  margin-top: 1.75rem;
}
.element-style :where(p):not(:where(.element-style__ignore *, .ruled-table *)):is(p + *),
.is-root-container :where(p):not(:where(.element-style__ignore *, .ruled-table *)):is(p + *) {
  margin-top: 1.25rem;
}
.element-style :where(strong):not(:where(.element-style__ignore *)),
.is-root-container :where(strong):not(:where(.element-style__ignore *)) {
  font-weight: 700;
}
.element-style :where(a):not(:where(.element-style__ignore *)),
.is-root-container :where(a):not(:where(.element-style__ignore *)) {
  position: relative;
  overflow-wrap: break-word;
  background-image: linear-gradient(to top, currentColor 0 1px, transparent 0 100%);
  background-repeat: no-repeat;
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
  background-position: left;
  background-size: 100% 100%;
  transition: color var(--transition-duration-hover);
}
@media (prefers-reduced-motion: no-preference) {
  .element-style :where(a):not(:where(.element-style__ignore *)),
  .is-root-container :where(a):not(:where(.element-style__ignore *)) {
    transition: color var(--transition-duration-hover), background-size 0.4s;
  }
}
@media (hover: hover) {
  .element-style :where(a):not(:where(.element-style__ignore *)):where(:-moz-any-link, :enabled, summary):hover, .is-root-container :where(a):not(:where(.element-style__ignore *)):where(:-moz-any-link, :enabled, summary):hover {
    color: var(--color-text-gray);
    background-position: right;
    background-size: 0 100%;
  }
  .element-style :where(a):not(:where(.element-style__ignore *)):where(:any-link, :enabled, summary):hover,
  .is-root-container :where(a):not(:where(.element-style__ignore *)):where(:any-link, :enabled, summary):hover {
    color: var(--color-text-gray);
    background-position: right;
    background-size: 0 100%;
  }
}
.element-style :where(a):not(:where(.element-style__ignore *))[href$=".pdf"], .element-style :where(a):not(:where(.element-style__ignore *))[target=_blank],
.is-root-container :where(a):not(:where(.element-style__ignore *))[href$=".pdf"],
.is-root-container :where(a):not(:where(.element-style__ignore *))[target=_blank] {
  margin-right: 1.75em;
}
.element-style :where(a):not(:where(.element-style__ignore *))[target=_blank]::after, .element-style :where(a):not(:where(.element-style__ignore *))[href$=".pdf"]::after,
.is-root-container :where(a):not(:where(.element-style__ignore *))[target=_blank]::after,
.is-root-container :where(a):not(:where(.element-style__ignore *))[href$=".pdf"]::after {
  position: absolute;
  display: inline-block;
  width: 1.25em;
  height: 1.25em;
  margin-left: 0.25rem;
  content: "";
  background-color: currentColor;
  transform: translateY(20%);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
}
.element-style :where(a):not(:where(.element-style__ignore *))[target=_blank]::after,
.is-root-container :where(a):not(:where(.element-style__ignore *))[target=_blank]::after {
  -webkit-mask-image: var(--icon-open-in-new);
          mask-image: var(--icon-open-in-new);
}
.element-style :where(a):not(:where(.element-style__ignore *))[href$=".pdf"]::after,
.is-root-container :where(a):not(:where(.element-style__ignore *))[href$=".pdf"]::after {
  -webkit-mask-image: var(--icon-pdf);
          mask-image: var(--icon-pdf);
}
.element-style :where(ul, ol):not(:where(.element-style__ignore *)),
.is-root-container :where(ul, ol):not(:where(.element-style__ignore *)) {
  display: grid;
  row-gap: 0.5rem;
  padding-left: 1.5em;
  font-weight: 500;
  line-height: 1.8;
  --letter-spacing: 0.08em;
}
.element-style :where(ul, ol):not(:where(.element-style__ignore *)):where(:not(:first-child):not(:where(ul, ol) *)),
.is-root-container :where(ul, ol):not(:where(.element-style__ignore *)):where(:not(:first-child):not(:where(ul, ol) *)) {
  margin-top: 1.75rem;
}
.element-style :where(ul, ol):not(:where(.element-style__ignore *)) > li[data-list-marker]::marker,
.is-root-container :where(ul, ol):not(:where(.element-style__ignore *)) > li[data-list-marker]::marker {
  font-size: 0;
  content: none;
}
.element-style :where(ul, ol):not(:where(.element-style__ignore *)) > li[data-list-marker]::before,
.is-root-container :where(ul, ol):not(:where(.element-style__ignore *)) > li[data-list-marker]::before {
  position: absolute;
  content: attr(data-list-marker);
  transform: translateX(-100%);
}
.element-style :where(ul):not(:where(.element-style__ignore *)),
.is-root-container :where(ul):not(:where(.element-style__ignore *)) {
  list-style-type: disc;
}
.element-style :where(ol):not(:where(.element-style__ignore *)),
.is-root-container :where(ol):not(:where(.element-style__ignore *)) {
  list-style-type: decimal;
}
.element-style :where(figure):not(:where(.element-style__ignore *)),
.is-root-container :where(figure):not(:where(.element-style__ignore *)) {
  margin-inline: auto;
}
.element-style :where(figure):not(:where(.element-style__ignore *)):where(.wp-block-embed),
.is-root-container :where(figure):not(:where(.element-style__ignore *)):where(.wp-block-embed) {
  max-width: min(45rem, 100%);
}
.element-style :where(figure):not(:where(.element-style__ignore *)):where(:not(.wp-block-embed)),
.is-root-container :where(figure):not(:where(.element-style__ignore *)):where(:not(.wp-block-embed)) {
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 60em), print {
  .element-style :where(figure):not(:where(.element-style__ignore *)):where(:not(:first-child)),
  .is-root-container :where(figure):not(:where(.element-style__ignore *)):where(:not(:first-child)) {
    margin-top: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .element-style :where(figure):not(:where(.element-style__ignore *)):where(:not(:first-child)),
  .is-root-container :where(figure):not(:where(.element-style__ignore *)):where(:not(:first-child)) {
    margin-top: 1.75rem;
  }
}
@media screen and (min-width: 60em), print {
  .element-style :where(figure):not(:where(.element-style__ignore *)):where(:not(:last-child)),
  .is-root-container :where(figure):not(:where(.element-style__ignore *)):where(:not(:last-child)) {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .element-style :where(figure):not(:where(.element-style__ignore *)):where(:not(:last-child)),
  .is-root-container :where(figure):not(:where(.element-style__ignore *)):where(:not(:last-child)) {
    margin-bottom: 1.75rem;
  }
}
.element-style :where(figure):not(:where(.element-style__ignore *)) figcaption,
.is-root-container :where(figure):not(:where(.element-style__ignore *)) figcaption {
  margin-top: 1.25rem;
  text-align: center;
}
.element-style :where(.wp-block-embed__wrapper):not(:where(.element-style__ignore *)),
.is-root-container :where(.wp-block-embed__wrapper):not(:where(.element-style__ignore *)) {
  position: relative;
  padding-top: 56.25%;
}
.element-style :where(.wp-block-embed__wrapper):not(:where(.element-style__ignore *))::before,
.is-root-container :where(.wp-block-embed__wrapper):not(:where(.element-style__ignore *))::before {
  content: none !important;
}
.element-style :where(.wp-block-embed__wrapper):not(:where(.element-style__ignore *)) iframe,
.is-root-container :where(.wp-block-embed__wrapper):not(:where(.element-style__ignore *)) iframe {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
}
.element-style :where(img):not(:where(.element-style__ignore *)),
.is-root-container :where(img):not(:where(.element-style__ignore *)) {
  height: auto !important;
  margin-inline: auto;
}
@media screen and (min-width: 60em), print {
  .element-style :where(img):not(:where(.element-style__ignore *)):where(:not(:first-child):not(:where(figure) *)),
  .is-root-container :where(img):not(:where(.element-style__ignore *)):where(:not(:first-child):not(:where(figure) *)) {
    margin-top: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .element-style :where(img):not(:where(.element-style__ignore *)):where(:not(:first-child):not(:where(figure) *)),
  .is-root-container :where(img):not(:where(.element-style__ignore *)):where(:not(:first-child):not(:where(figure) *)) {
    margin-top: 1.75rem;
  }
}
@media screen and (min-width: 60em), print {
  .element-style :where(img):not(:where(.element-style__ignore *)):where(:not(:last-child):not(:where(figure) *)),
  .is-root-container :where(img):not(:where(.element-style__ignore *)):where(:not(:last-child):not(:where(figure) *)) {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .element-style :where(img):not(:where(.element-style__ignore *)):where(:not(:last-child):not(:where(figure) *)),
  .is-root-container :where(img):not(:where(.element-style__ignore *)):where(:not(:last-child):not(:where(figure) *)) {
    margin-bottom: 1.75rem;
  }
}
.element-style :where(hr):not(:where(.element-style__ignore *)),
.is-root-container :where(hr):not(:where(.element-style__ignore *)) {
  border-top-color: var(--color-border);
  border-bottom: none;
}
@media screen and (min-width: 60em), print {
  .element-style :where(hr):not(:where(.element-style__ignore *)):where(:not(:first-child)),
  .is-root-container :where(hr):not(:where(.element-style__ignore *)):where(:not(:first-child)) {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .element-style :where(hr):not(:where(.element-style__ignore *)):where(:not(:first-child)),
  .is-root-container :where(hr):not(:where(.element-style__ignore *)):where(:not(:first-child)) {
    margin-top: 2.5rem;
  }
}
@media screen and (min-width: 60em), print {
  .element-style :where(hr):not(:where(.element-style__ignore *)):where(:not(:last-child)),
  .is-root-container :where(hr):not(:where(.element-style__ignore *)):where(:not(:last-child)) {
    margin-bottom: 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .element-style :where(hr):not(:where(.element-style__ignore *)):where(:not(:last-child)),
  .is-root-container :where(hr):not(:where(.element-style__ignore *)):where(:not(:last-child)) {
    margin-bottom: 2.5rem;
  }
}
.element-style :where(blockquote):not(:where(.element-style__ignore *)),
.is-root-container :where(blockquote):not(:where(.element-style__ignore *)) {
  padding: 1.5625rem 2.25rem;
  margin-block: 1.25rem !important;
  background: #f7f9f9;
  border-left: 4px solid #ccc;
}
@media screen and (min-width: 60em), print {
  .element-style :where(.wp-block-image):where(:not(:first-child)),
  .is-root-container :where(.wp-block-image):where(:not(:first-child)) {
    margin-top: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .element-style :where(.wp-block-image):where(:not(:first-child)),
  .is-root-container :where(.wp-block-image):where(:not(:first-child)) {
    margin-top: 1.75rem;
  }
}
@media screen and (min-width: 60em), print {
  .element-style :where(.wp-block-image):where(:not(:last-child)),
  .is-root-container :where(.wp-block-image):where(:not(:last-child)) {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .element-style :where(.wp-block-image):where(:not(:last-child)),
  .is-root-container :where(.wp-block-image):where(:not(:last-child)) {
    margin-bottom: 1.75rem;
  }
}

.post-password-form {
  width: var(--container-width);
  padding-block: 8rem;
  margin-inline: auto;
}
.post-password-form p {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem 2rem;
  align-items: center;
  justify-content: center;
  justify-items: center;
}
.post-password-form p:where(:not(:first-child)) {
  margin-top: 4rem;
}
.post-password-form label {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}
.post-password-form input[type=password] {
  flex-grow: 1;
  padding: 0.5rem 1rem;
  overflow: hidden;
  border: 1px solid var(--color-border);
}
.post-password-form input[type=submit] {
  display: inline-grid;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 1.5rem;
  font-size: 0.875rem;
  font-weight: 700;
  text-align: center;
  background-color: rgba(var(--color-accent-rgb), 0.5);
  border: 1px solid var(--color-border);
  border-radius: 9999px;
  box-shadow: 10px 10px 20px rgba(var(--color-accent-rgb), 0.2);
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color;
}
@media (hover: hover) {
  .post-password-form input[type=submit]:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
  .post-password-form input[type=submit]:where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
}

@media screen and (min-width: 60em), print {
  .pagination {
    margin-top: 5rem;
    margin-bottom: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .pagination {
    margin-top: 2.5rem;
    margin-bottom: 7.5rem;
  }
}

.pagination__list {
  position: relative;
  display: flex;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  justify-content: center;
}

.pagination__number,
.pagination__prev,
.pagination__next,
.pagination__ellipsis {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--color-black);
  background-color: var(--color-white);
  border: 1px solid var(--color-accent);
  border-radius: 9999px;
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color;
}
@media (hover: hover) {
  .pagination__number:where(:-moz-any-link, :enabled, summary):hover, .pagination__prev:where(:-moz-any-link, :enabled, summary):hover, .pagination__next:where(:-moz-any-link, :enabled, summary):hover, .pagination__ellipsis:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.35);
  }
  .pagination__number:where(:any-link, :enabled, summary):hover,
  .pagination__prev:where(:any-link, :enabled, summary):hover,
  .pagination__next:where(:any-link, :enabled, summary):hover,
  .pagination__ellipsis:where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.35);
  }
}
.pagination__number[aria-current],
.pagination__prev[aria-current],
.pagination__next[aria-current],
.pagination__ellipsis[aria-current] {
  background-color: var(--color-accent);
}

.pagination__prev {
  border: none;
}
.pagination__prev::before {
  width: 0.75rem;
  height: 0.75rem;
  margin-block: auto;
  content: "";
  background-color: currentColor;
  -webkit-mask-image: var(--icon-arrow-right);
          mask-image: var(--icon-arrow-right);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  transform: scaleX(-1);
}

.pagination__next {
  border: none;
}
.pagination__next::after {
  width: 0.75rem;
  height: 0.75rem;
  margin-block: auto;
  content: "";
  background-color: currentColor;
  -webkit-mask-image: var(--icon-arrow-right);
          mask-image: var(--icon-arrow-right);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}

.pagination__ellipsis {
  border: none;
}
.pagination__ellipsis::before {
  width: 1.25rem;
  height: 1.25rem;
  margin-block: auto;
  content: "";
  background-color: currentColor;
  -webkit-mask-image: var(--icon-ellipsis);
          mask-image: var(--icon-ellipsis);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}

.local-nav__list {
  display: grid;
  max-width: 42.5rem;
  margin-inline: auto;
  border-top: 1px solid var(--color-border);
  border-left: 1px solid var(--color-border);
}
@media screen and (min-width: 60em), print {
  .local-nav__list {
    grid-template-columns: repeat(2, 1fr);
  }
}

.local-nav__item {
  border-right: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
}
.local-nav__item.local-nav__item--index {
  grid-column: 1/-1;
}

.local-nav__link {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  height: 100%;
  font-weight: 700;
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color, box-shadow;
}
@media screen and (min-width: 60em), print {
  .local-nav__link {
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    min-height: 5.3rem;
    padding: 1rem 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .local-nav__link {
    -moz-column-gap: 0.5rem;
         column-gap: 0.5rem;
    padding: 1rem 2rem;
  }
}
.local-nav__link[aria-current] {
  color: var(--color-white);
  background-color: var(--color-primary);
}
@media (hover: hover) {
  .local-nav__link:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.5);
    box-shadow: 10px 10px 20px 0px rgba(var(--color-accent-rgb), 0.2);
  }
  .local-nav__link:where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.5);
    box-shadow: 10px 10px 20px 0px rgba(var(--color-accent-rgb), 0.2);
  }
}
.local-nav__link:-moz-any-link::after {
  display: block;
  justify-self: end;
  content: "";
  background-color: currentColor;
  mask-image: var(--icon-arrow-right);
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
}
.local-nav__link:any-link::after {
  display: block;
  justify-self: end;
  content: "";
  background-color: currentColor;
  -webkit-mask-image: var(--icon-arrow-right);
          mask-image: var(--icon-arrow-right);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
@media screen and (min-width: 60em), print {
  .local-nav__link:-moz-any-link::after {
    width: 1.25rem;
    height: 1.25rem;
  }
  .local-nav__link:any-link::after {
    width: 1.25rem;
    height: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .local-nav__link:-moz-any-link::after {
    width: 1rem;
    height: 1rem;
  }
  .local-nav__link:any-link::after {
    width: 1rem;
    height: 1rem;
  }
}
@media screen and (min-width: 60em), print {
  .local-nav__item.local-nav__item--index .local-nav__link {
    grid-template-columns: 1fr auto 1fr;
    text-align: center;
  }
  .local-nav__item.local-nav__item--index .local-nav__link::before {
    content: "";
  }
}

@media screen and (min-width: 60em), print {
  .layout__hero {
    margin-bottom: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .layout__hero {
    margin-bottom: 2.5rem;
  }
}

@media screen and (min-width: 60em), print {
  .layout__business-nav {
    margin-top: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .layout__business-nav {
    margin-top: 4rem;
  }
}

.layout__about-nav {
  margin-top: 7.5rem;
}

.layout__breadcrumbs {
  margin-top: 7.5rem;
}

.category-label {
  display: grid;
  justify-content: center;
  width: -moz-fit-content;
  width: fit-content;
  min-width: min(100%, 7.5rem);
  padding: 0.5rem 1rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--color-white);
  background-color: var(--color-black);
  border-radius: 9999px;
}

.company-card {
  position: relative;
  height: 100%;
  padding: 1.5rem;
  border: 1px solid var(--color-border);
  transition: background-color var(--transition-duration-hover);
}
.company-card.is-hover {
  background-color: rgba(var(--color-accent-rgb), 0.5);
}
.company-card :where(a)[target=_blank]::after {
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-left: 0.25em;
  content: "";
  background-color: currentColor;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-image: var(--icon-open-in-new);
          mask-image: var(--icon-open-in-new);
}
.company-card :where(a)::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
}

.company-card__heading {
  margin-bottom: 0.5rem;
  font-size: 1.25rem;
  font-weight: 700;
}

.company-card__category {
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.company-card__text {
  font-size: 0.875rem;
  font-weight: 500;
}

.top-hero {
  color: var(--color-white);
  background-color: var(--color-black);
}
@media screen and (min-width: 60em), print {
  .top-hero {
    --container-spacing-horizontal: 12%;
    --container-max-width: 60rem;
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-hero {
    padding-top: 2rem;
    padding-bottom: 4rem;
  }
}

.top-hero__text {
  box-sizing: content-box;
  display: flex;
  flex-wrap: wrap;
  row-gap: 1rem;
  -moz-column-gap: 2%;
       column-gap: 2%;
  align-items: center;
  justify-content: space-between;
  max-width: 60.5rem;
  padding-right: 4%;
  padding-left: 8%;
  margin-inline: auto;
}

.top-hero__copy {
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (min-width: 60em), print {
  .top-hero__copy {
    font-size: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-hero__copy {
    --letter-spacing: 0;
    font-size: 1.5rem;
  }
}

.top-hero__lead {
  line-height: 1.8;
}
@media screen and (max-width: 59.99em) {
  .top-hero__lead {
    margin-top: 2rem;
  }
}

@media screen and (min-width: 60em), print {
  .top-hero__slider {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-hero__slider {
    margin-top: 2rem;
  }
}

.top-hero-slider .splide__slider {
  position: relative;
  overflow: hidden;
}
@media screen and (min-width: 60em), print {
  .top-hero-slider .splide__slider {
    -webkit-mask-image: linear-gradient(to right, rgba(0, 0, 0, 0.2) 0, #000 var(--container-gutter) calc(var(--container-gutter) + 40%), rgba(0, 0, 0, 0.2) 100%);
            mask-image: linear-gradient(to right, rgba(0, 0, 0, 0.2) 0, #000 var(--container-gutter) calc(var(--container-gutter) + 40%), rgba(0, 0, 0, 0.2) 100%);
  }
}
@media screen and (max-width: 59.99em) {
  .top-hero-slider .splide__slider {
    -webkit-mask-image: linear-gradient(to right, rgba(0, 0, 0, 0.2) 0, #000 var(--container-gutter) calc(100% - var(--container-gutter)), rgba(0, 0, 0, 0.2) 100%);
            mask-image: linear-gradient(to right, rgba(0, 0, 0, 0.2) 0, #000 var(--container-gutter) calc(100% - var(--container-gutter)), rgba(0, 0, 0, 0.2) 100%);
    padding-inline: 8%;
  }
}
.top-hero-slider .splide__track {
  width: var(--container-width);
  margin-right: auto;
  margin-left: auto;
  overflow: visible;
}
.top-hero-slider .splide__slide {
  aspect-ratio: 0.85;
  background-color: var(--color-primary);
}
@media screen and (min-width: 60em), print {
  .top-hero-slider .splide__slide {
    width: clamp(16rem, 50%, 100vh - 27rem);
    margin-right: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-hero-slider .splide__slide {
    width: min(100%, 20rem);
    margin-right: 3%;
  }
}
.top-hero-slider .splide__arrow {
  position: absolute;
  top: 0;
  bottom: 0;
  display: grid;
  align-items: center;
  justify-content: center;
  margin: auto;
  font-size: 1.5rem;
  background-color: rgba(var(--color-accent-rgb), 0.5);
  border: 1px solid var(--color-border);
  border-radius: 9999px;
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color;
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
}
@media screen and (min-width: 60em), print {
  .top-hero-slider .splide__arrow {
    width: 4.5rem;
    height: 4.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-hero-slider .splide__arrow {
    width: 3.5rem;
    height: 3.5rem;
  }
}
@media (hover: hover) {
  .top-hero-slider .splide__arrow:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
  .top-hero-slider .splide__arrow:where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
}
@media (prefers-reduced-motion: no-preference) and (hover: hover) {
  .top-hero-slider .splide__arrow:where(:-moz-any-link, :enabled, summary):hover {
    background-image: linear-gradient(135deg, transparent 0% 40%, rgba(255, 255, 255, 0.3) 55%, transparent 55%);
    background-size: 300% 100%;
    animation: shiny 0.9s cubic-bezier(0, 0, 0.2, 1);
  }
  .top-hero-slider .splide__arrow:where(:any-link, :enabled, summary):hover {
    background-image: linear-gradient(135deg, transparent 0% 40%, rgba(255, 255, 255, 0.3) 55%, transparent 55%);
    background-size: 300% 100%;
    animation: shiny 0.9s cubic-bezier(0, 0, 0.2, 1);
  }
  @keyframes shiny {
    0% {
      background-position-x: 100%;
    }
    100% {
      background-position-x: 0%;
    }
  }
}
.top-hero-slider .splide__arrow.splide__arrow--prev {
  left: 5%;
}
.top-hero-slider .splide__arrow.splide__arrow--prev::after {
  transform: scaleX(-1);
}
.top-hero-slider .splide__arrow.splide__arrow--next {
  right: 5%;
}
.top-hero-slider .splide__arrow::after {
  display: block;
  width: 1em;
  height: 1em;
  content: "";
  background-color: currentColor;
  -webkit-mask-image: var(--icon-arrow-right);
          mask-image: var(--icon-arrow-right);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.top-hero-slider .splide__controls {
  display: grid;
  grid-template-columns: minmax(0, 36rem) minmax(0, 5rem);
  -moz-column-gap: 6%;
       column-gap: 6%;
  justify-content: center;
  width: var(--container-width);
  margin-top: 2rem;
  margin-right: auto;
  margin-left: auto;
}
.top-hero-slider .splide__pagination {
  position: relative;
  z-index: 0;
  width: 100%;
}
.top-hero-slider .splide__pagination::before {
  position: absolute;
  z-index: -1;
  display: block;
  width: 100%;
  height: 1px;
  margin: auto;
  content: "";
  background-color: var(--color-accent);
}
.top-hero-slider .splide__pagination > li {
  flex-grow: 1;
}
.top-hero-slider .splide__pagination__page {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  width: 100%;
}
.top-hero-slider .splide__pagination__page::before {
  display: block;
  content: "";
  background-color: var(--color-accent);
  border-radius: 50%;
  transition: 0.2s transform ease-out;
}
@media screen and (min-width: 60em), print {
  .top-hero-slider .splide__pagination__page::before {
    width: 11px;
    height: 11px;
  }
}
@media screen and (max-width: 59.99em) {
  .top-hero-slider .splide__pagination__page::before {
    width: 6px;
    height: 6px;
  }
}
.top-hero-slider .splide__pagination__page.is-active::before {
  background-color: var(--color-white);
  transform: scale(1.5);
}
.top-hero-slider .splide__pagination__page::after {
  display: block;
  justify-self: end;
  width: 0;
  height: 3px;
  content: "";
  background-color: var(--color-white);
  transition: 0.1s width ease-out;
}
.top-hero-slider .splide__pagination__page.is-active::after {
  justify-self: start;
  width: calc(var(--autoplay-rate) * 100%);
}
.top-hero-slider .splide__toggle {
  display: grid;
  align-items: center;
  justify-content: center;
  padding: 0.5em;
  background-color: rgba(var(--color-accent-rgb), 0.5);
  border: 1px solid var(--color-border);
  border-radius: 9999px;
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color;
}
@media (hover: hover) {
  .top-hero-slider .splide__toggle:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
  .top-hero-slider .splide__toggle:where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
}
@media (prefers-reduced-motion: no-preference) and (hover: hover) {
  .top-hero-slider .splide__toggle:where(:-moz-any-link, :enabled, summary):hover {
    background-image: linear-gradient(135deg, transparent 0% 40%, rgba(255, 255, 255, 0.3) 55%, transparent 55%);
    background-size: 300% 100%;
    animation: shiny 0.9s cubic-bezier(0, 0, 0.2, 1);
  }
  .top-hero-slider .splide__toggle:where(:any-link, :enabled, summary):hover {
    background-image: linear-gradient(135deg, transparent 0% 40%, rgba(255, 255, 255, 0.3) 55%, transparent 55%);
    background-size: 300% 100%;
    animation: shiny 0.9s cubic-bezier(0, 0, 0.2, 1);
  }
  @keyframes shiny {
    0% {
      background-position-x: 100%;
    }
    100% {
      background-position-x: 0%;
    }
  }
}
.top-hero-slider .splide__toggle__play::after,
.top-hero-slider .splide__toggle__pause::after {
  display: block;
  width: 1em;
  height: 1em;
  color: var(--color-white);
  content: "";
  background-color: currentColor;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.top-hero-slider .splide__toggle__play::after {
  -webkit-mask-image: var(--icon-play);
          mask-image: var(--icon-play);
}
.top-hero-slider .splide__toggle__pause::after {
  -webkit-mask-image: var(--icon-pause);
          mask-image: var(--icon-pause);
}

.top-hero-slider__slide {
  display: block;
  height: 100%;
  padding: 10% 8%;
  overflow: hidden;
}
.top-hero-slider__slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  will-change: transform;
  filter: drop-shadow(0px 0px 7.5px rgba(0, 0, 0, 0.5));
}
@media (prefers-reduced-motion: no-preference) {
  .top-hero-slider__slide img {
    transition-duration: 0.4s;
    transition-property: transform;
  }
}
@media (hover: hover) {
  .top-hero-slider__slide:where(:-moz-any-link, :enabled, summary):hover img {
    transform: scale(1.2);
  }
  .top-hero-slider__slide:where(:any-link, :enabled, summary):hover img {
    transform: scale(1.2);
  }
}

@media screen and (max-width: 59.99em) {
  .top-works-slider {
    --container-spacing-horizontal: 16%;
  }
}
.top-works-slider .splide__slider {
  position: relative;
  overflow: hidden;
}
.top-works-slider .splide__track {
  position: relative;
  width: var(--container-width);
  margin-right: auto;
  margin-left: auto;
  overflow: visible;
}
.top-works-slider .splide__slide {
  transition-duration: 0.2s;
  transition-property: filter;
}
@media screen and (min-width: 60em), print {
  .top-works-slider .splide__slide {
    margin-right: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-works-slider .splide__slide {
    margin-right: 1rem;
  }
}
.top-works-slider .splide__slide:not(.is-active) {
  filter: brightness(0.5);
}
.top-works-slider .splide__arrow {
  position: absolute;
  top: 0;
  bottom: 0;
  display: grid;
  align-items: center;
  justify-content: center;
  margin-block: auto;
  font-size: 1.5rem;
  background-color: rgba(var(--color-accent-rgb), 0.5);
  border: 1px solid var(--color-border);
  border-radius: 9999px;
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color;
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
}
@media screen and (min-width: 60em), print {
  .top-works-slider .splide__arrow {
    --arrow-position: clamp(1rem, 5%, 0.2 * (100vw - 1100px));
  }
}
@media screen and (max-width: 59.99em) {
  .top-works-slider .splide__arrow {
    --arrow-position: 5%;
  }
}
@media screen and (min-width: 60em), print {
  .top-works-slider .splide__arrow {
    width: 4.5rem;
    height: 4.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-works-slider .splide__arrow {
    width: 3.5rem;
    height: 3.5rem;
  }
}
@media (hover: hover) {
  .top-works-slider .splide__arrow:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
  .top-works-slider .splide__arrow:where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
}
@media (prefers-reduced-motion: no-preference) and (hover: hover) {
  .top-works-slider .splide__arrow:where(:-moz-any-link, :enabled, summary):hover {
    background-image: linear-gradient(135deg, transparent 0% 40%, rgba(255, 255, 255, 0.3) 55%, transparent 55%);
    background-size: 300% 100%;
    animation: shiny 0.9s cubic-bezier(0, 0, 0.2, 1);
  }
  .top-works-slider .splide__arrow:where(:any-link, :enabled, summary):hover {
    background-image: linear-gradient(135deg, transparent 0% 40%, rgba(255, 255, 255, 0.3) 55%, transparent 55%);
    background-size: 300% 100%;
    animation: shiny 0.9s cubic-bezier(0, 0, 0.2, 1);
  }
  @keyframes shiny {
    0% {
      background-position-x: 100%;
    }
    100% {
      background-position-x: 0%;
    }
  }
}
.top-works-slider .splide__arrow.splide__arrow--prev {
  left: var(--arrow-position);
}
.top-works-slider .splide__arrow.splide__arrow--next {
  right: var(--arrow-position);
}
.top-works-slider .splide__arrow::after {
  display: block;
  width: 1em;
  height: 1em;
  content: "";
  background-color: currentColor;
  -webkit-mask-image: var(--icon-arrow-right);
          mask-image: var(--icon-arrow-right);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.top-works-slider .splide__arrow.splide__arrow--prev::after {
  transform: scaleX(-1);
}
.top-works-slider .splide__controls {
  display: grid;
  max-width: 5.5rem;
  margin-top: 1rem;
}
@media screen and (min-width: 60em), print {
  .top-works-slider .splide__controls {
    margin-left: auto;
  }
}
.top-works-slider .splide__toggle {
  display: grid;
  align-items: center;
  justify-content: center;
  min-width: min(4rem, 100%);
  padding: 0.5em;
  background-color: rgba(var(--color-accent-rgb), 0.5);
  border: 1px solid var(--color-border);
  border-radius: 9999px;
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color;
}
@media (hover: hover) {
  .top-works-slider .splide__toggle:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
  .top-works-slider .splide__toggle:where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
}
@media (prefers-reduced-motion: no-preference) and (hover: hover) {
  .top-works-slider .splide__toggle:where(:-moz-any-link, :enabled, summary):hover {
    background-image: linear-gradient(135deg, transparent 0% 40%, rgba(255, 255, 255, 0.3) 55%, transparent 55%);
    background-size: 300% 100%;
    animation: shiny 0.9s cubic-bezier(0, 0, 0.2, 1);
  }
  .top-works-slider .splide__toggle:where(:any-link, :enabled, summary):hover {
    background-image: linear-gradient(135deg, transparent 0% 40%, rgba(255, 255, 255, 0.3) 55%, transparent 55%);
    background-size: 300% 100%;
    animation: shiny 0.9s cubic-bezier(0, 0, 0.2, 1);
  }
  @keyframes shiny {
    0% {
      background-position-x: 100%;
    }
    100% {
      background-position-x: 0%;
    }
  }
}
.top-works-slider .splide__toggle__play::after,
.top-works-slider .splide__toggle__pause::after {
  display: block;
  width: 1em;
  height: 1em;
  color: var(--color-white);
  content: "";
  background-color: currentColor;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.top-works-slider .splide__toggle__play::after {
  -webkit-mask-image: var(--icon-play);
          mask-image: var(--icon-play);
}
.top-works-slider .splide__toggle__pause::after {
  -webkit-mask-image: var(--icon-pause);
          mask-image: var(--icon-pause);
}

.top-works-slider__link {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  overflow: hidden;
}
@media screen and (min-width: 60em), print {
  .top-works-slider__link {
    height: clamp(18rem, 100vh - 20rem, 26rem);
  }
}
@media screen and (max-width: 59.99em) {
  .top-works-slider__link {
    height: clamp(16rem, 100vh - 24rem, 21rem);
  }
}
.top-works-slider__link img {
  width: auto;
  max-width: none;
  will-change: transform;
  height: 100%;
}
@media (prefers-reduced-motion: no-preference) {
  .top-works-slider__link img {
    transition-duration: var(--transition-duration-motion);
    transition-property: transform;
  }
}
@media (hover: hover) {
  .top-works-slider__link:where(:-moz-any-link, :enabled, summary):hover img {
    transform: scale(1.2);
  }
  .top-works-slider__link:where(:any-link, :enabled, summary):hover img {
    transform: scale(1.2);
  }
}

@media screen and (min-width: 60em), print {
  .top-works-details-slider {
    --content-head-width: 32%;
  }
}
@media screen and (max-width: 59.99em) {
  .top-works-details-slider {
    --container-spacing-horizontal: 16%;
  }
  .top-works-details-slider::before {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 1px;
    content: "";
    background-color: currentColor;
  }
}
.top-works-details-slider .splide__slider {
  position: relative;
}
.top-works-details-slider .splide__slider::before {
  position: absolute;
  bottom: 100%;
  left: 0;
  display: block;
  width: var(--content-head-width, 100%);
  height: 5px;
  content: "";
  background-image: linear-gradient(to right, currentColor 0 calc(var(--autoplay-rate, 0) * 100%), var(--color-primary) 0 100%);
}
.top-works-details-slider .splide__slide {
  position: relative;
  padding-top: 1.5rem;
}
.top-works-details-slider .splide__slide::before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 0%;
  height: 1px;
  content: "";
  background-color: currentColor;
  transition-timing-function: ease-out;
  transition-duration: 0.6s;
  transition-property: width;
}
.top-works-details-slider .splide__slide.is-active::before {
  width: 100%;
}

.top-works-details-slider__content {
  height: 100%;
}
@media screen and (min-width: 60em), print {
  .top-works-details-slider__content {
    display: grid;
    grid-template-columns: var(--content-head-width) 1fr;
  }
}

@media screen and (min-width: 60em), print {
  .top-works-details-slider__head {
    padding-right: 5%;
  }
}

.top-works-details-slider__title {
  font-size: 1.5rem;
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .top-works-details-slider__title {
    line-height: 1.45;
  }
}
@media screen and (max-width: 59.99em) {
  .top-works-details-slider__title {
    line-height: 1.5;
  }
}

.top-works-details-slider__label {
  display: grid;
  align-items: center;
  justify-content: center;
  width: -moz-fit-content;
  width: fit-content;
  min-width: min(100%, 7rem);
  min-height: 2rem;
  padding: 0.25rem 1rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--color-black);
  background-color: var(--color-white);
  border-radius: 9999px;
}
@media screen and (min-width: 60em), print {
  .top-works-details-slider__label {
    margin-bottom: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-works-details-slider__label {
    margin-bottom: 1rem;
  }
}

.top-works-details-slider__text {
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (min-width: 60em), print {
  .top-works-details-slider__text {
    display: grid;
    align-items: center;
    padding-left: 8%;
    border-left: 1px solid currentColor;
  }
}
@media screen and (max-width: 59.99em) {
  .top-works-details-slider__text {
    margin-top: 1.5rem;
  }
}

.top-story-slider {
  --container-max-width: 64.5rem;
}
.top-story-slider .splide__slider {
  overflow: hidden;
}
.top-story-slider .splide__track {
  width: var(--container-width);
  margin-right: auto;
  margin-left: auto;
  overflow: visible;
}
.top-story-slider .splide__slide {
  display: grid;
  width: calc((100% - var(--slide-gap) * (var(--slide-count) - 1)) / var(--slide-count));
  max-width: 22.5rem;
}
@media screen and (min-width: 60em), print {
  .top-story-slider .splide__slide {
    --slide-count: 3;
    --slide-gap: 2%;
  }
}
@media screen and (max-width: 59.99em) {
  .top-story-slider .splide__slide {
    --slide-count: 1;
    --slide-gap: 2%;
  }
}
.top-story-slider .splide__slide:where(:not(:last-child)) {
  margin-right: var(--slide-gap);
}
.top-story-slider .splide__pagination {
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  margin-top: 2rem;
}
.top-story-slider .splide__pagination__page {
  padding: 0.5rem;
}
.top-story-slider .splide__pagination__page::before {
  display: block;
  width: 0.75rem;
  height: 0.75rem;
  content: "";
  background-color: var(--color-accent);
  border-radius: 9999px;
  transition-duration: 0.2s;
  transition-property: transform, background-color;
}
.top-story-slider .splide__pagination__page.is-active::before {
  background-color: var(--color-primary);
  transform: scale(1.5);
}

.top-story-slider__card {
  position: relative;
  display: block;
  height: 100%;
  padding: 1.5rem;
  color: var(--color-white);
  background-color: var(--color-primary);
  transition-duration: var(--transition-duration-hover);
  transition-property: filter;
}
@media (hover: hover) {
  .top-story-slider__card:where(:-moz-any-link, :enabled, summary):hover {
    filter: brightness(0.8);
  }
  .top-story-slider__card:where(:any-link, :enabled, summary):hover {
    filter: brightness(0.8);
  }
}

.top-story-slider__card__new {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  z-index: 1;
  display: inline-grid;
  place-items: center;
  width: 3.5rem;
  height: 3.5rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--color-white);
  background-color: var(--color-validation);
  border-radius: 50%;
}

.top-story-slider__card__image {
  aspect-ratio: 1.8;
  margin-bottom: 1.5rem;
  overflow: hidden;
}
.top-story-slider__card__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  will-change: transform;
}
@media (prefers-reduced-motion: no-preference) {
  .top-story-slider__card__image img {
    transition-duration: var(--transition-duration-motion);
    transition-property: transform;
  }
}
@media (hover: hover) {
  :where(:-moz-any-link, :enabled, summary):hover .top-story-slider__card__image img {
    transform: scale(1.2);
  }
  :where(:any-link, :enabled, summary):hover .top-story-slider__card__image img {
    transform: scale(1.2);
  }
}

.top-story-slider__card__label {
  display: grid;
  justify-content: center;
  width: -moz-fit-content;
  width: fit-content;
  min-width: min(100%, 6.5rem);
  padding: 0.5rem;
  margin-bottom: 1rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--color-black);
  background-color: var(--color-white);
  border-radius: 9999px;
}

.top-story-slider__card__title {
  --letter-spacing: 0;
  margin-top: 1rem;
  font-weight: 500;
}
@media screen and (min-width: 60em), print {
  .top-story-slider__card__title {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-story-slider__card__title {
    font-size: 1rem;
  }
}

.top-news {
  padding-top: 2rem;
  padding-bottom: 2rem;
  color: var(--color-white);
  background-color: var(--color-black);
}

.top-news__container {
  width: var(--container-width);
  margin-right: auto;
  margin-left: auto;
}

.top-news__box {
  display: grid;
  color: var(--color-black);
  background-color: var(--color-white);
}
@media screen and (min-width: 60em), print {
  .top-news__box {
    grid-template-columns: minmax(auto, 15%) 1fr;
    padding: 2.5rem 2.5%;
  }
}

.top-news__heading {
  display: grid;
  align-content: center;
  justify-items: center;
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .top-news__heading {
    row-gap: 0.5rem;
    border-right: 2px solid var(--color-black);
  }
}
@media screen and (max-width: 59.99em) {
  .top-news__heading {
    row-gap: 0.25rem;
    padding-block: 1.75rem;
    border-bottom: 2px solid var(--color-black);
  }
}

.top-news__heading__main {
  font-size: 1.5rem;
}

.top-news__heading__sub {
  font-size: 0.75rem;
}

.top-news__list {
  display: grid;
  padding-inline: 5%;
}
@media screen and (min-width: 60em), print {
  .top-news__list {
    row-gap: 0.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-news__list {
    padding-block: 0.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-news__list > li {
    padding-block: 1.5rem;
  }
  .top-news__list > li:where(:not(:first-child)) {
    border-top: 1px solid var(--color-border);
  }
}

.top-news__link {
  display: flex;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  align-items: center;
}
@media screen and (max-width: 59.99em) {
  .top-news__link {
    flex-wrap: wrap;
    row-gap: 1rem;
  }
}

.top-news__label {
  display: grid;
  align-items: center;
  justify-content: center;
  min-width: 7rem;
  min-height: 2rem;
  padding: 0.25rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--color-white);
  background-color: var(--color-black);
  border-radius: 9999px;
}

.top-news__date {
  --letter-spacing: 0;
  min-width: 5rem;
  font-size: 0.75rem;
  font-weight: 700;
}

.top-news__text {
  --letter-spacing: 0;
  font-size: 0.875rem;
}
@media screen and (min-width: 60em), print {
  .top-news__text {
    line-height: 1.45;
  }
}
@media screen and (max-width: 59.99em) {
  .top-news__text {
    flex-basis: 0;
    flex-grow: 1;
    min-width: min(24em, 100%);
  }
}
.top-news__text > * {
  background-image: linear-gradient(to top, currentColor 0 1px, transparent 0 100%);
  background-repeat: no-repeat;
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
  background-position: right;
  background-size: 0 100%;
}
@media (prefers-reduced-motion: no-preference) {
  .top-news__text > * {
    transition-duration: 0.4s;
    transition-property: background-size;
  }
}
@media (hover: hover) {
  :where(:-moz-any-link, :enabled, summary):hover .top-news__text > * {
    background-position: left;
    background-size: 100% 100%;
  }
  :where(:any-link, :enabled, summary):hover .top-news__text > * {
    background-position: left;
    background-size: 100% 100%;
  }
}

.top-news__details-link {
  display: grid;
  max-width: 10rem;
  margin-inline: auto;
}
@media screen and (min-width: 60em), print {
  .top-news__details-link {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-news__details-link {
    margin-top: 1.5rem;
  }
}

.top-about {
  overflow: hidden;
  color: var(--color-white);
  background-color: var(--color-black);
}
@media screen and (min-width: 60em), print {
  .top-about {
    padding-top: 6.5rem;
    padding-bottom: 10rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-about {
    padding-top: 3rem;
    padding-bottom: 6rem;
  }
}

.top-about__heading {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .top-about__heading {
    row-gap: 0.5rem;
    width: -moz-fit-content;
    width: fit-content;
    padding-left: 3.5rem;
    margin-left: auto;
    white-space: nowrap;
  }
}
@media screen and (max-width: 59.99em) {
  .top-about__heading {
    row-gap: 0.25rem;
    padding-left: 1.5rem;
    margin-bottom: 1rem;
  }
}

.top-about__heading__main {
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .top-about__heading__main {
    font-size: 3.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-about__heading__main {
    font-size: 2.5rem;
  }
}

.top-about__heading__sub {
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .top-about__heading__sub {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-about__heading__sub {
    font-size: 1.125rem;
  }
}

.top-about__grid {
  display: grid;
  isolation: isolate;
}
@media screen and (min-width: 60em), print {
  .top-about__grid {
    grid-template: ". main controls ." clamp(15rem, min(36vw, 45vh), 27.5rem) ". text sub      ." auto/var(--container-gutter) 2fr minmax(auto, 1fr) var(--container-gutter);
  }
}
@media screen and (max-width: 59.99em) {
  .top-about__grid {
    grid-template: ".    .    .        ." auto "main main main     ." max(10rem, 36vw) ".    sub  controls ." auto ".    text text     ." auto/var(--container-gutter) 3fr 2fr var(--container-gutter);
    row-gap: 1rem;
  }
}

.top-about__grid__background {
  position: relative;
  z-index: -1;
}
@media screen and (min-width: 60em), print {
  .top-about__grid__background {
    grid-area: controls;
  }
}
@media screen and (max-width: 59.99em) {
  .top-about__grid__background {
    grid-row: 2;
    grid-column: 3;
  }
}
.top-about__grid__background::before {
  position: absolute;
  display: block;
  width: 9999px;
  content: "";
  background-color: rgba(var(--color-accent-rgb), 0.5);
}
@media screen and (min-width: 60em), print {
  .top-about__grid__background::before {
    top: 42%;
    bottom: -28%;
    left: -28%;
  }
}
@media screen and (max-width: 59.99em) {
  .top-about__grid__background::before {
    top: 50%;
    bottom: -60%;
    left: -30%;
  }
}

@media screen and (min-width: 60em), print {
  .top-about__grid__heading {
    grid-area: controls;
    align-self: start;
    margin-top: -1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-about__grid__heading {
    grid-row: 1;
    grid-column: 2/span 2;
  }
}

.top-about__grid__main {
  grid-area: main;
}
@media screen and (max-width: 59.99em) {
  .top-about__grid__main {
    padding-right: 8%;
    padding-left: 4%;
  }
}

.top-about__grid__sub {
  grid-area: sub;
}
@media screen and (min-width: 60em), print {
  .top-about__grid__sub {
    aspect-ratio: 1.6;
  }
}
@media screen and (max-width: 59.99em) {
  .top-about__grid__sub {
    justify-self: end;
    width: max(10rem, 32vw);
    aspect-ratio: 1;
  }
}

.top-about__grid__text {
  grid-area: text;
}
@media screen and (min-width: 60em), print {
  .top-about__grid__text {
    padding-top: 4rem;
    padding-right: 4%;
    padding-left: 8%;
  }
}
@media screen and (max-width: 59.99em) {
  .top-about__grid__text {
    padding-top: 3rem;
  }
}

.top-about__copy {
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .top-about__copy {
    font-size: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-about__copy {
    font-size: 1.5rem;
  }
}

.top-about__text {
  font-size: 1rem;
  line-height: 1.8;
}
@media screen and (min-width: 60em), print {
  .top-about__text {
    margin-top: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-about__text {
    margin-top: 1rem;
  }
}

.top-about__details-link {
  display: grid;
  max-width: 10rem;
}
@media screen and (min-width: 60em), print {
  .top-about__details-link {
    margin-top: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-about__details-link {
    margin-top: 1.5rem;
  }
}

.top-about__banner {
  --container-max-width: 64.5rem;
  width: var(--container-width);
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 60em), print {
  .top-about__banner {
    margin-top: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-about__banner {
    margin-top: 4rem;
  }
}

.top-about__banner__link {
  display: block;
  overflow: hidden;
  border: 2px solid var(--color-accent);
}
.top-about__banner__link img {
  width: 100%;
  will-change: transform;
}
@media (prefers-reduced-motion: no-preference) {
  .top-about__banner__link img {
    transition-duration: 0.4s;
    transition-property: transform;
  }
}
@media (hover: hover) {
  .top-about__banner__link:where(:-moz-any-link, :enabled, summary):hover img {
    transform: scale(1.1);
  }
  .top-about__banner__link:where(:any-link, :enabled, summary):hover img {
    transform: scale(1.1);
  }
}

.top-about-slider img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top-about-slider .splide__slider,
.top-about-slider .splide__track {
  height: 100%;
}
.top-about-slider .splide__slide {
  margin-right: 2px;
}
.top-about-slider .splide__toggle {
  display: grid;
  align-items: center;
  justify-content: center;
  width: 5.5rem;
  padding: 0.5em;
  margin: auto;
  font-size: 1rem;
  background-color: rgba(var(--color-accent-rgb), 0.5);
  border: 1px solid var(--color-border);
  border-radius: 9999px;
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color;
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
}
@media (hover: hover) {
  .top-about-slider .splide__toggle:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
  .top-about-slider .splide__toggle:where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
}
@media (prefers-reduced-motion: no-preference) and (hover: hover) {
  .top-about-slider .splide__toggle:where(:-moz-any-link, :enabled, summary):hover {
    background-image: linear-gradient(135deg, transparent 0% 40%, rgba(255, 255, 255, 0.3) 55%, transparent 55%);
    background-size: 300% 100%;
    animation: shiny 0.9s cubic-bezier(0, 0, 0.2, 1);
  }
  .top-about-slider .splide__toggle:where(:any-link, :enabled, summary):hover {
    background-image: linear-gradient(135deg, transparent 0% 40%, rgba(255, 255, 255, 0.3) 55%, transparent 55%);
    background-size: 300% 100%;
    animation: shiny 0.9s cubic-bezier(0, 0, 0.2, 1);
  }
  @keyframes shiny {
    0% {
      background-position-x: 100%;
    }
    100% {
      background-position-x: 0%;
    }
  }
}
.top-about-slider .splide__toggle__play::after,
.top-about-slider .splide__toggle__pause::after {
  display: block;
  width: 1em;
  height: 1em;
  color: var(--color-white);
  content: "";
  background-color: currentColor;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.top-about-slider .splide__toggle__play::after {
  -webkit-mask-image: var(--icon-play);
          mask-image: var(--icon-play);
}
.top-about-slider .splide__toggle__pause::after {
  -webkit-mask-image: var(--icon-pause);
          mask-image: var(--icon-pause);
}

.top-about-sub-slider img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top-about-sub-slider .splide__slider,
.top-about-sub-slider .splide__track {
  height: 100%;
}
.top-about-sub-slider .splide__slide {
  margin-right: 2px;
}

.top-business {
  color: var(--color-white);
  background-color: var(--color-primary);
}
@media screen and (min-width: 60em), print {
  .top-business {
    --container-max-width: 64.5rem;
    padding-top: 10rem;
    padding-bottom: 10rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-business {
    padding-top: 5.5rem;
    padding-bottom: 6rem;
  }
}

.top-business__header {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .top-business__header {
    grid-template-columns: auto 1fr;
    -moz-column-gap: 5%;
         column-gap: 5%;
  }
}

@media screen and (max-width: 59.99em) {
  .top-business__header__contents {
    display: contents;
  }
}

@media screen and (max-width: 59.99em) {
  .top-business__figure {
    grid-row: 2;
  }
}
.top-business__figure img {
  width: 100%;
}

.top-business__heading {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .top-business__heading {
    row-gap: 0.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-business__heading {
    row-gap: 0.25rem;
    padding-left: 1.5rem;
    margin-bottom: 2rem;
  }
}

.top-business__heading__main {
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .top-business__heading__main {
    font-size: 3.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-business__heading__main {
    font-size: 2.5rem;
  }
}

.top-business__heading__sub {
  font-size: 1.5rem;
}
@media screen and (max-width: 59.99em) {
  .top-business__heading__sub {
    font-size: 1rem;
  }
}

@media screen and (min-width: 60em), print {
  .top-business__text-area {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-business__text-area {
    margin-top: 2rem;
  }
}

.top-business__copy {
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .top-business__copy {
    font-size: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-business__copy {
    font-size: 1.5rem;
  }
}

.top-business__text {
  line-height: 1.8;
}
@media screen and (min-width: 60em), print {
  .top-business__text {
    margin-top: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-business__text {
    margin-top: 1rem;
    font-size: 0.9375rem;
  }
}

.top-business__list {
  position: relative;
  display: grid;
  gap: 1rem;
  isolation: isolate;
}
@media screen and (min-width: 60em), print {
  .top-business__list {
    grid-template-columns: repeat(2, 1fr);
    margin-top: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-business__list {
    grid-template-columns: repeat(auto-fill, minmax(20rem, 1fr));
    margin-top: 4rem;
  }
}

.top-business__pentagon {
  position: absolute;
  right: -10%;
  bottom: 10%;
  z-index: -1;
  display: block;
  width: 20rem;
  height: 20rem;
  content: "";
  background-color: currentColor;
  -webkit-mask-image: url('data:image/svg+xml;charset=UTF-8,<svg width="294" height="294" viewBox="0 0 294 294" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M246.749 211.463L116.518 261.784L28.4157 153.476L104.197 36.2174L239.135 72.0549L246.749 211.463Z" stroke="white" stroke-width="2"/></svg>');
          mask-image: url('data:image/svg+xml;charset=UTF-8,<svg width="294" height="294" viewBox="0 0 294 294" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M246.749 211.463L116.518 261.784L28.4157 153.476L104.197 36.2174L239.135 72.0549L246.749 211.463Z" stroke="white" stroke-width="2"/></svg>');
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
@media screen and (max-width: 59.99em) {
  .top-business__pentagon {
    display: none;
  }
}

.top-business__details-link {
  display: grid;
  max-width: 10rem;
  margin-inline: auto;
}
@media screen and (min-width: 60em), print {
  .top-business__details-link {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-business__details-link {
    margin-top: 1.5rem;
  }
}

.top-business-card {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  height: 100%;
  font-weight: 700;
  background-color: rgba(var(--color-accent-rgb), 0.35);
  border: 1px solid var(--color-accent);
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color;
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
}
@media screen and (min-width: 60em), print {
  .top-business-card {
    -moz-column-gap: 5%;
         column-gap: 5%;
    padding: 2rem 5%;
  }
}
@media screen and (max-width: 59.99em) {
  .top-business-card {
    -moz-column-gap: 5%;
         column-gap: 5%;
    padding-right: 5%;
  }
}
@media (hover: hover) {
  .top-business-card:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
  .top-business-card:where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
}
.top-business-card::after {
  display: block;
  content: "";
  background-color: currentColor;
  -webkit-mask-image: var(--icon-arrow-right-thin);
          mask-image: var(--icon-arrow-right-thin);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
@media screen and (min-width: 60em), print {
  .top-business-card::after {
    width: 2rem;
    height: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-business-card::after {
    width: 1rem;
    height: 1rem;
  }
}

.top-business-card__inner {
  display: flex;
  flex-wrap: wrap;
  row-gap: 1.5rem;
  -moz-column-gap: 6%;
       column-gap: 6%;
  align-items: center;
}
.top-business-card__inner > :nth-child(1) {
  flex-basis: 12rem;
  flex-grow: 1;
}
.top-business-card__inner > :nth-child(2) {
  flex-basis: 0;
  flex-grow: 9999;
  min-width: 40%;
}

.top-business-card__heading {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .top-business-card__heading {
    gap: 0.25rem;
    align-content: start;
    justify-items: center;
    text-align: center;
  }
}
@media screen and (max-width: 59.99em) {
  .top-business-card__heading {
    grid-template-columns: auto 1fr;
    gap: 0.5rem;
    align-items: center;
    padding: 1.5rem;
    border-right: 1px solid currentColor;
  }
}

.top-business-card__icon {
  height: auto;
}
@media screen and (min-width: 60em), print {
  .top-business-card__icon {
    width: 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-business-card__icon {
    width: 2.5rem;
  }
}

.top-business-card__heading__main {
  font-size: 1.5rem;
}
@media screen and (max-width: 59.99em) {
  .top-business-card__heading__main {
    font-size: 1.25rem;
  }
}

.top-business-card__heading__sub {
  font-size: 0.75rem;
}

@media screen and (max-width: 59.99em) {
  .top-business-card__content {
    display: none;
  }
}

.top-business-card__copy {
  padding-bottom: 1rem;
}

.top-business-card__tag-list {
  display: flex;
  flex-wrap: wrap;
  row-gap: 0.5rem;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  padding-top: 1rem;
  font-size: 0.75rem;
  border-top: 1px solid currentColor;
}

.top-works {
  color: var(--color-white);
  background-color: var(--color-black);
}
@media screen and (min-width: 60em), print {
  .top-works {
    --container-max-width: 64.5rem;
    padding-top: 10rem;
    padding-bottom: 10rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-works {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}

.top-works__heading {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .top-works__heading {
    grid-auto-flow: column;
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
    align-items: baseline;
    justify-content: start;
  }
}
@media screen and (max-width: 59.99em) {
  .top-works__heading {
    row-gap: 0.25rem;
    padding-left: 1.5rem;
  }
}

.top-works__heading__main {
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .top-works__heading__main {
    font-size: 3.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-works__heading__main {
    font-size: 2.5rem;
  }
}

.top-works__heading__sub {
  font-size: 1.5rem;
  font-weight: 700;
}
@media screen and (max-width: 59.99em) {
  .top-works__heading__sub {
    font-size: 1.125rem;
  }
}

.top-works__details-slider {
  margin-top: 2rem;
}

.top-works__details-link {
  display: grid;
  max-width: 10rem;
  margin-top: 3rem;
}
@media screen and (min-width: 60em), print {
  .top-works__details-link {
    margin-inline: auto;
  }
}

.top-works__slider-layout {
  display: grid;
  grid-auto-columns: minmax(0, 1fr);
}
@media screen and (min-width: 60em), print {
  .top-works__slider-layout {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-works__slider-layout {
    margin-top: 2rem;
  }
}

.top-works__slider-layout__controls {
  grid-row: 3;
}

@media screen and (min-width: 60em), print {
  .top-story {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-story {
    padding-top: 4rem;
    padding-bottom: 5rem;
  }
}

.top-story__heading {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .top-story__heading {
    grid-auto-flow: column;
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
    align-items: baseline;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
  }
}
@media screen and (max-width: 59.99em) {
  .top-story__heading {
    row-gap: 0.25rem;
    padding-left: 1.5rem;
  }
}

.top-story__heading__main {
  font-size: 3.75rem;
  font-weight: 700;
}
@media screen and (max-width: 59.99em) {
  .top-story__heading__main {
    font-size: 2.5rem;
  }
}

.top-story__heading__sub {
  font-size: 1.5rem;
  font-weight: 700;
}
@media screen and (max-width: 59.99em) {
  .top-story__heading__sub {
    font-size: 1.125rem;
  }
}

@media screen and (min-width: 60em), print {
  .top-story__slider {
    margin-top: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-story__slider {
    margin-top: 2rem;
  }
}

.top-story__details-link {
  display: grid;
  max-width: 10rem;
  margin-inline: auto;
}
@media screen and (min-width: 60em), print {
  .top-story__details-link {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-story__details-link {
    margin-top: 2rem;
  }
}

.top-footer {
  color: var(--color-white);
  background-color: var(--color-black);
}
@media screen and (min-width: 60em), print {
  .top-footer {
    padding-top: 7.5rem;
    padding-bottom: 7.5rem;
  }
}

.top-footer__list {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .top-footer__list {
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 4%;
         column-gap: 4%;
    width: var(--container-width);
    margin-inline: auto;
  }
}
@media screen and (max-width: 59.99em) {
  .top-footer__list {
    row-gap: 0.5rem;
  }
}

.top-footer__item {
  display: grid;
  align-content: center;
  padding-inline: min(20%, 5rem) 5%;
  overflow: hidden;
  background-color: var(--color-primary);
}
@media screen and (min-width: 60em), print {
  .top-footer__item {
    padding-block: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-footer__item {
    padding-block: 2.5rem;
  }
}

.top-footer__heading {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .top-footer__heading {
    -moz-column-gap: 0.25rem;
         column-gap: 0.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .top-footer__heading {
    row-gap: 0.25rem;
  }
}

.top-footer__heading__main {
  font-size: 2.5rem;
  font-weight: 700;
}

.top-footer__heading__sub {
  font-weight: 700;
}

.top-footer__text {
  margin-top: 1.5rem;
  line-height: 1.8;
}

.top-footer__details-link {
  display: grid;
  max-width: 10rem;
  margin-top: 1.5rem;
}

@media screen and (min-width: 60em), print {
  .top-footer__copy {
    display: none;
  }
}
@media screen and (max-width: 59.99em) {
  .top-footer__copy {
    --letter-spacing: 0;
    padding-top: 7.5rem;
    padding-bottom: 7.5rem;
    font-size: 1.5rem;
    font-weight: 700;
  }
}

.top-footer__logo {
  margin-top: 2rem;
  font-size: 1rem;
  filter: invert(1);
}
.top-footer__logo img {
  width: auto;
  height: 1em;
}

.top-marker-star {
  position: relative;
  --duration: 1s;
}
.top-marker-star::before, .top-marker-star::after {
  position: absolute;
  top: 0.2em;
  right: calc(100% + 1.3rem);
  bottom: 0;
  display: block;
  width: 1rem;
  height: 1rem;
  margin: auto;
  pointer-events: none;
  content: "";
  border: 1px solid currentColor;
  transform: translateX(0) rotate(45deg);
}
.top-marker-star::before {
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
  transition-duration: var(--duration);
  transition-property: transform, opacity;
}
.top-marker-star::after {
  opacity: 0.3;
}
.top-marker-star:not(.is-visible)::before {
  opacity: 1;
  transform: translateX(-8rem) rotate(-720deg);
}
.top-marker-star:not(.is-visible)::after {
  transform: translateX(0) rotate(45deg) scale(1);
}
.top-marker-star.is-visible::after {
  animation: ping 1s forwards;
  animation-timing-function: cubic-bezier(0, 0, 0.2, 0.8);
  animation-delay: var(--duration);
}
@keyframes ping {
  0% {
    opacity: 0.8;
    transform: rotate(45deg) scale(1);
  }
  100% {
    opacity: 0;
    transform: rotate(45deg) scale(2.5);
  }
}
@media screen and (max-width: 59.99em) {
  .top-marker-star.top-marker-star--sp-hidden::before, .top-marker-star.top-marker-star--sp-hidden::after {
    display: none;
  }
}

.archive-works__card-area {
  margin-bottom: 7.5rem;
}
@media screen and (min-width: 60em), print {
  .archive-works__card-area {
    margin-top: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-works__card-area {
    margin-top: 3.5rem;
    --container-spacing-horizontal: 4%;
  }
}

.archive-works__card-list {
  display: grid;
  border-top: 1px solid var(--color-border);
  border-left: 1px solid var(--color-border);
}
@media screen and (min-width: 60em), print {
  .archive-works__card-list {
    grid-template-columns: repeat(auto-fill, minmax(21rem, 1fr));
  }
}
@media screen and (max-width: 59.99em) {
  .archive-works__card-list {
    grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr));
  }
}
@media screen and (max-width: 59.99em) and (max-width: 31.99em) {
  .archive-works__card-list {
    grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr));
  }
}

.archive-works__card {
  display: flex;
  height: 100%;
  border-right: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
}

.archive-works__card__link {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color, box-shadow;
}
@media (hover: hover) {
  .archive-works__card__link:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.5);
    box-shadow: 10px 10px 20px 0px rgba(var(--color-accent-rgb), 0.25);
  }
  .archive-works__card__link:where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.5);
    box-shadow: 10px 10px 20px 0px rgba(var(--color-accent-rgb), 0.25);
  }
}
@media screen and (min-width: 60em), print {
  .archive-works__card__link {
    gap: 2rem;
    padding: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-works__card__link {
    gap: 1.5rem;
    padding: 1rem;
  }
}

.archive-works__card__image {
  display: flex;
  align-items: center;
  aspect-ratio: 0.8;
  filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.25));
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (min-width: 60em), print {
  .archive-works__card__image {
    max-height: 22.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-works__card__image {
    max-height: 12.5rem;
  }
}

.archive-works__card__body {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 60em), print {
  .archive-works__card__body {
    gap: 1rem;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-works__card__body {
    gap: 0.5rem;
  }
}

.archive-works__card__tag {
  display: flex;
  align-items: center;
  justify-content: center;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 7.75rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--color-white);
  background-color: var(--color-black);
  border-radius: 9999px;
}
@media screen and (min-width: 60em), print {
  .archive-works__card__tag {
    min-height: 2rem;
    padding: 0.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-works__card__tag {
    min-height: 1.75rem;
  }
}

.archive-works__card__title {
  font-weight: 700;
  color: var(--color-black);
  letter-spacing: 0;
}
@media screen and (min-width: 60em), print {
  .archive-works__card__title {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-works__card__title {
    font-size: 0.875rem;
    line-height: 1.45;
  }
}

@media screen and (min-width: 60em), print {
  .archive-works__card__text {
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.8125;
    color: var(--color-black);
    letter-spacing: 0;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-works__card__text {
    display: none;
  }
}

.archive-works-heading {
  color: var(--color-white);
  background-color: var(--color-black);
}
@media screen and (min-width: 60em), print {
  .archive-works-heading {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-works-heading {
    padding-top: 2.25rem;
    padding-bottom: 3.75rem;
  }
}

@media screen and (max-width: 59.99em) {
  .archive-works-heading__wrapper {
    padding-left: 1.75rem;
  }
}

.archive-works-heading__flex-text {
  display: flex;
}
@media screen and (min-width: 60em), print {
  .archive-works-heading__flex-text {
    -moz-column-gap: 1.85rem;
         column-gap: 1.85rem;
    align-items: baseline;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-works-heading__flex-text {
    flex-direction: column;
    row-gap: 0.25rem;
  }
}

.archive-works-heading__english {
  position: relative;
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .archive-works-heading__english {
    font-size: 3.75rem;
    line-height: 1.5;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-works-heading__english {
    font-size: 2.5rem;
    line-height: 1.3;
  }
}
.archive-works-heading__english::before {
  position: absolute;
  top: 0.2em;
  right: calc(100% + 1.3rem);
  bottom: 0;
  display: block;
  width: 1rem;
  height: 1rem;
  margin: auto;
  content: "";
  border: 1px solid currentColor;
  transform: rotate(45deg);
}

.archive-works-heading__japanese {
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .archive-works-heading__japanese {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-works-heading__japanese {
    font-size: 1.125rem;
    line-height: 1.5;
  }
}

.archive-works-heading__text {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (min-width: 60em), print {
  .archive-works-heading__text {
    margin-top: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-works-heading__text {
    margin-top: 2rem;
  }
}

.archive-news__card-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
  gap: 1rem;
}
@media screen and (min-width: 60em), print {
  .archive-news__card-list {
    padding-right: 2.4rem;
    padding-left: 2.4rem;
  }
}

.archive-news-heading {
  color: var(--color-white);
  background-color: var(--color-black);
}
@media screen and (min-width: 60em), print {
  .archive-news-heading {
    padding-top: 5rem;
    padding-bottom: 5rem;
    margin-bottom: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-news-heading {
    padding-top: 2.25rem;
    padding-bottom: 2.5rem;
    margin-bottom: 3.5rem;
  }
}

@media screen and (max-width: 59.99em) {
  .archive-news-heading__wrapper {
    padding-left: 1.75rem;
  }
}

.archive-news-heading__flex-text {
  display: flex;
}
@media screen and (min-width: 60em), print {
  .archive-news-heading__flex-text {
    -moz-column-gap: 1.85rem;
         column-gap: 1.85rem;
    align-items: baseline;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-news-heading__flex-text {
    flex-direction: column;
    row-gap: 0.25rem;
  }
}

.archive-news-heading__english {
  position: relative;
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .archive-news-heading__english {
    font-size: 3.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-news-heading__english {
    font-size: 2.5rem;
    line-height: 1.3;
  }
}
.archive-news-heading__english::before {
  position: absolute;
  top: 0.2em;
  right: calc(100% + 1.3rem);
  bottom: 0;
  display: block;
  width: 1rem;
  height: 1rem;
  margin: auto;
  content: "";
  border: 1px solid currentColor;
  transform: rotate(45deg);
}

.archive-news-heading__japanese {
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .archive-news-heading__japanese {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-news-heading__japanese {
    font-size: 1.125rem;
    line-height: 1.5;
  }
}

.archive-news-filter {
  display: flex;
  justify-content: space-between;
}
@media screen and (min-width: 60em), print {
  .archive-news-filter {
    margin-bottom: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-news-filter {
    flex-direction: column;
    margin-bottom: 4.125rem;
  }
}

.archive-news-filter__categories {
  display: grid;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 60em), print {
  .archive-news-filter__categories {
    grid-auto-flow: column;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-news-filter__categories {
    row-gap: 1rem;
    margin-bottom: 3.3rem;
  }
}

.archive-news-filter__category {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 6.75rem;
  padding: 0.4rem 1.5rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--color-black);
  background-color: var(--color-white);
  border: 1px solid var(--color-black);
  border-radius: 9999px;
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color;
}
@media (hover: hover) {
  .archive-news-filter__category:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.5);
  }
  .archive-news-filter__category:where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.5);
  }
}
.archive-news-filter__category[aria-current] {
  color: var(--color-white);
  background-color: var(--color-black);
}
@media screen and (max-width: 59.99em) {
  .archive-news-filter__category.archive-news-filter__category--sp-first-row {
    grid-row: 1;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-news-filter__category.archive-news-filter__category--sp-second-row {
    grid-row: 2;
  }
}

.archive-news-filter__year {
  position: relative;
  z-index: var(--z-index-dropdown);
  display: flex;
  width: -moz-fit-content;
  width: fit-content;
  background-color: var(--color-white);
}

.archive-news-filter__year-menu {
  border: 1px solid var(--color-black);
}
@media screen and (min-width: 60em), print {
  .archive-news-filter__year-menu {
    right: 100%;
  }
}
.archive-news-filter__year-menu summary {
  display: grid;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  min-width: 6rem;
  padding: 0.5rem 0.5rem 0.5rem 1rem;
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color;
}
@media (hover: hover) {
  .archive-news-filter__year-menu summary:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.5);
  }
  .archive-news-filter__year-menu summary:where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.5);
  }
}
.archive-news-filter__year-menu summary::before, .archive-news-filter__year-menu summary::after {
  display: block;
  grid-area: 1/2;
  justify-self: end;
  width: 0.75rem;
  height: 2px;
  margin-block: auto;
  content: "";
  background-color: currentColor;
  border-radius: 9999px;
  transition: transform var(--transition-duration-motion);
}
.archive-news-filter__year-menu summary::before {
  transform: rotate(90deg);
}
.archive-news-filter__year-menu[open] summary::before, .archive-news-filter__year-menu[open] summary::after {
  transform: rotate(180deg);
}

.archive-news-filter__summary-text {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--color-black);
}

.archive-news-filter__year__list {
  position: absolute;
  left: 0;
  width: 100%;
  background-color: var(--color-white);
  border: 1px solid var(--color-black);
}

.archive-news-filter__year__link {
  display: block;
  padding: 0.5rem 0.5rem 0.5rem 1rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--color-black);
  background-color: var(--color-white);
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color;
}
@media (hover: hover) {
  .archive-news-filter__year__link:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.5);
  }
  .archive-news-filter__year__link:where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.5);
  }
}
.archive-news-filter__year__link[aria-current] {
  color: var(--color-white);
  background-color: var(--color-black);
}

.archive-news-card {
  display: block;
  height: 100%;
  color: var(--color-black);
  background-color: var(--color-white);
  border: 1px solid var(--color-accent);
}

.archive-news-card__link {
  display: block;
  width: 100%;
  height: 100%;
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color;
}
@media (hover: hover) {
  .archive-news-card__link:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.5);
  }
  .archive-news-card__link:where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.5);
  }
}
@media screen and (min-width: 60em), print {
  .archive-news-card__link {
    padding: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-news-card__link {
    padding: 1.5rem 1rem;
  }
}

.archive-news-card__image {
  aspect-ratio: 275/160;
  margin-bottom: 1rem;
  background-color: var(--color-primary);
}
.archive-news-card__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.archive-news-card__head {
  display: flex;
  align-items: center;
}

.archive-news-card__category {
  display: grid;
  align-items: center;
  justify-content: center;
  width: -moz-fit-content;
  width: fit-content;
  min-width: min(100%, 6.5rem);
  min-height: 2rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--color-white);
  background-color: var(--color-black);
  border-radius: 9999px;
}
@media screen and (min-width: 60em), print {
  .archive-news-card__category {
    padding: 0.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-news-card__category {
    padding: 0.43rem;
  }
}

.archive-news-card__date {
  height: -moz-fit-content;
  height: fit-content;
  margin-left: 0.5rem;
  font-size: 0.75rem;
  font-weight: 700;
}

.archive-news-card__text {
  display: -webkit-box;
  min-height: 6.25rem;
  margin-top: 1rem;
  overflow: hidden;
  font-size: 0.875rem;
  font-weight: 700;
  text-overflow: ellipsis;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
}

.archive-story__card-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(16.5rem, 1fr));
  gap: 1rem;
}

.archive-story-heading {
  color: var(--color-white);
  background-color: var(--color-black);
}
@media screen and (min-width: 60em), print {
  .archive-story-heading {
    padding-top: 5rem;
    padding-bottom: 5rem;
    margin-bottom: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-story-heading {
    padding-top: 2.25rem;
    padding-bottom: 2.5rem;
    margin-bottom: 3.5rem;
  }
}

@media screen and (max-width: 59.99em) {
  .archive-story-heading__wrapper {
    padding-left: 1.75rem;
  }
}

.archive-story-heading__flex-text {
  display: flex;
}
@media screen and (min-width: 60em), print {
  .archive-story-heading__flex-text {
    -moz-column-gap: 1.85rem;
         column-gap: 1.85rem;
    align-items: baseline;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-story-heading__flex-text {
    flex-direction: column;
    row-gap: 0.25rem;
  }
}

.archive-story-heading__english {
  position: relative;
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .archive-story-heading__english {
    font-size: 3.75rem;
    line-height: 1.5;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-story-heading__english {
    font-size: 2.5rem;
    line-height: 1.3;
  }
}
.archive-story-heading__english::before {
  position: absolute;
  top: 0.2em;
  right: calc(100% + 1.3rem);
  bottom: 0;
  display: block;
  width: 1rem;
  height: 1rem;
  margin: auto;
  content: "";
  border: 1px solid currentColor;
  transform: rotate(45deg);
}

.archive-story-heading__japanese {
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .archive-story-heading__japanese {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-story-heading__japanese {
    font-size: 1.125rem;
    line-height: 1.5;
  }
}

.archive-story-heading__text {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.8125;
}
@media screen and (min-width: 60em), print {
  .archive-story-heading__text {
    margin-top: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-story-heading__text {
    margin-top: 2rem;
  }
}

.archive-story-card {
  display: block;
  height: 100%;
  color: var(--color-white);
  background-color: var(--color-primary);
}

.archive-story-card__link {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  transition-duration: var(--transition-duration-hover);
  transition-property: filter;
}
@media (hover: hover) {
  .archive-story-card__link:where(:-moz-any-link, :enabled, summary):hover {
    filter: brightness(0.8);
  }
  .archive-story-card__link:where(:any-link, :enabled, summary):hover {
    filter: brightness(0.8);
  }
}
@media screen and (min-width: 60em), print {
  .archive-story-card__link {
    padding: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-story-card__link {
    padding: 1.5rem 1rem;
  }
}

.archive-story-card__new {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  z-index: 1;
  display: inline-grid;
  place-items: center;
  width: 3.5rem;
  height: 3.5rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--color-white);
  background-color: var(--color-validation);
  border-radius: 50%;
}

.archive-story-card__image {
  aspect-ratio: 1.75;
  margin-bottom: 1rem;
  overflow: hidden;
}
.archive-story-card__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.archive-story-card__head {
  display: flex;
  align-items: center;
}

.archive-story-card__category {
  display: grid;
  align-items: center;
  justify-content: center;
  width: -moz-fit-content;
  width: fit-content;
  min-width: min(100%, 6.5rem);
  min-height: 2rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--color-black);
  background-color: var(--color-white);
  border-radius: 9999px;
}
@media screen and (min-width: 60em), print {
  .archive-story-card__category {
    padding: 0.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-story-card__category {
    padding: 0.43rem;
  }
}

.archive-story-card__date {
  height: -moz-fit-content;
  height: fit-content;
  margin-left: 0.5rem;
  font-size: 0.75rem;
  font-weight: 700;
}

.archive-story-card__text {
  display: -webkit-box;
  margin-top: 1rem;
  font-weight: 500;
}
@media screen and (min-width: 60em), print {
  .archive-story-card__text {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .archive-story-card__text {
    font-size: 1rem;
  }
}

@media screen and (min-width: 60em), print {
  .contact-form {
    padding-top: 7.5rem;
    padding-bottom: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .contact-form {
    padding-top: 2.5rem;
    padding-bottom: 3rem;
  }
}
.contact-form :where(p) {
  line-height: 1.55;
}
.contact-form :where(:-moz-any-link) {
  text-decoration: underline;
  transition-duration: var(--transition-duration-hover);
  -moz-transition-property: opacity;
  transition-property: opacity;
}
.contact-form :where(:any-link) {
  text-decoration: underline;
  transition-duration: var(--transition-duration-hover);
  transition-property: opacity;
}
@media (hover: hover) {
  .contact-form :where(:-moz-any-link):where(:-moz-any-link, :enabled, summary):hover {
    opacity: 0.7;
  }
  .contact-form :where(:any-link):where(:any-link, :enabled, summary):hover {
    opacity: 0.7;
  }
}
.contact-form :where(select,
[type=text],
[type=tel],
[type=email],
[type=number],
[type=password],
textarea) {
  width: 100%;
  border: 1px solid var(--color-border);
}
@media screen and (min-width: 60em), print {
  .contact-form :where(select,
  [type=text],
  [type=tel],
  [type=email],
  [type=number],
  [type=password],
  textarea) {
    padding: 1rem 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .contact-form :where(select,
  [type=text],
  [type=tel],
  [type=email],
  [type=number],
  [type=password],
  textarea) {
    padding: 1rem 1.2rem;
  }
}
.contact-form :where(select,
[type=text],
[type=tel],
[type=email],
[type=number],
[type=password],
textarea):is(:invalid, [aria-invalid=true]) {
  color: var(--color-validation);
  background-color: var(--color-validation-background);
}
.contact-form :where(select) {
  padding-right: min(15%, 4rem);
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="15" viewBox="0 0 20 15" fill="none"><path d="M18 2.16797L10.2759 12.8346L2 2.16797" stroke="%2345555E" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/></svg>');
  background-repeat: no-repeat;
  background-position: right min(2rem, 6%) center;
  background-size: 1.25rem;
}
.contact-form :where([type=checkbox], [type=radio]) {
  width: 1.5rem;
  height: 1.5rem;
  background-color: var(--color-white);
  border: 1px solid var(--color-border);
}
.contact-form :where([type=checkbox], [type=radio]):is(:invalid, [aria-invalid=true]) {
  background-color: var(--color-validation);
}
.contact-form :where([type=checkbox]):checked {
  background-color: var(--color-primary);
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 16 16"><path d="M13 4L6.5 11.5L3.5 7.5" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" fill="none"/></svg>');
  background-repeat: no-repeat;
  background-position: center;
}
.contact-form :where([type=radio]) {
  border-radius: 50%;
}
.contact-form :where([type=radio]):checked {
  background-color: var(--color-primary);
  background-image: url('data:image/svg+xml;charset=utf-8,<svg viewBox="0 0 16 16" fill="white" xmlns="http://www.w3.org/2000/svg"><circle cx="8" cy="8" r="3"/></svg>');
  background-repeat: no-repeat;
  background-position: center;
}
.contact-form ::-moz-placeholder {
  color: var(--color-text-placeholder);
}
.contact-form ::placeholder,
.contact-form .is-placeholder {
  color: var(--color-text-placeholder);
}
.contact-form :is(:invalid, [aria-invalid=true])::-moz-placeholder {
  color: var(--color-validation);
}
.contact-form :is(:invalid, [aria-invalid=true])::placeholder, .contact-form :is(:invalid, [aria-invalid=true]).is-placeholder {
  color: var(--color-validation);
}
.contact-form .wpcf7-not-valid-tip {
  margin-top: 1rem;
  font-weight: 700;
  color: var(--color-validation);
}
.contact-form .wpcf7-list-item {
  margin: 0;
}
.contact-form .wpcf7-list-item label {
  display: inline-grid;
  grid-auto-flow: column;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  align-items: center;
}
.contact-form :where([type=submit], [type=button]) {
  display: inline-grid;
  align-items: center;
  justify-content: center;
  min-height: 3rem;
  padding: 0.75rem 1.5rem;
  font-size: 0.875rem;
  font-weight: 700;
  text-align: center;
  background-color: rgba(var(--color-accent-rgb), 0.5);
  border: 1px solid var(--color-border);
  border-radius: 9999px;
  box-shadow: 10px 10px 20px rgba(var(--color-accent-rgb), 0.2);
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color;
}
@media (hover: hover) {
  .contact-form :where([type=submit], [type=button]):where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
  .contact-form :where([type=submit], [type=button]):where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
}
@media (prefers-reduced-motion: no-preference) and (hover: hover) {
  .contact-form :where([type=submit], [type=button]):where(:-moz-any-link, :enabled, summary):hover {
    background-image: linear-gradient(135deg, transparent 0% 40%, rgba(255, 255, 255, 0.3) 55%, transparent 55%);
    background-size: 300% 100%;
    animation: shiny 1.4s cubic-bezier(0, 0, 0.2, 1);
  }
  .contact-form :where([type=submit], [type=button]):where(:any-link, :enabled, summary):hover {
    background-image: linear-gradient(135deg, transparent 0% 40%, rgba(255, 255, 255, 0.3) 55%, transparent 55%);
    background-size: 300% 100%;
    animation: shiny 1.4s cubic-bezier(0, 0, 0.2, 1);
  }
  @keyframes shiny {
    0% {
      background-position-x: 100%;
    }
    100% {
      background-position-x: 0%;
    }
  }
}
.contact-form :where([type=submit], [type=button]):disabled {
  opacity: 0.5;
}
.contact-form :where(table) {
  width: 100%;
}
@media screen and (max-width: 59.99em) {
  .contact-form :where(table) :where(tbody) {
    display: grid;
    row-gap: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .contact-form :where(table) :where(tr) {
    display: grid;
    row-gap: 1rem;
  }
}
@media screen and (min-width: 60em), print {
  .contact-form :where(table) :where(tr:not(:last-child)) :where(th, td) {
    padding-bottom: 2.5rem;
  }
}
.contact-form :where(table) :where(th) {
  font-size: 1.25rem;
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .contact-form :where(table) :where(th) {
    width: 27.5%;
  }
}
.contact-form :where(table) :where(td) {
  font-weight: 500;
  line-height: 1.8;
}

@media screen and (min-width: 60em), print {
  .contact-form__input-wrapper {
    padding-inline: 7.25%;
  }
}

.contact-form__lead {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
}

.contact-form__note {
  margin-top: 1rem;
  font-size: 0.75rem;
  line-height: 1.45;
}

.contact-form__separator {
  border-top: 1px solid var(--color-border);
}
@media screen and (min-width: 60em), print {
  .contact-form__separator {
    margin-top: 5rem;
    margin-bottom: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .contact-form__separator {
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
  }
}

@media screen and (min-width: 60em), print {
  .contact-form__item + .contact-form__item {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .contact-form__item + .contact-form__item {
    margin-top: 2rem;
  }
}
.contact-form__item p + p {
  margin-top: 2.5rem;
}

.contact-form__title {
  display: inline-grid;
  grid-auto-flow: column;
  align-items: center;
  margin-bottom: 1rem;
  font-size: 1.25rem;
  font-weight: 700;
}

.contact-form__required {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 3.5rem;
  padding: 0.125rem;
  margin-left: 1rem;
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--color-white);
  background-color: var(--color-validation);
  border-radius: 0.3rem;
}

.contact-form__buttons {
  position: relative;
  display: flex;
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
  justify-content: center;
  margin-inline: auto;
}
@media screen and (min-width: 60em), print {
  .contact-form__buttons {
    margin-top: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .contact-form__buttons {
    margin-top: 4rem;
  }
}
.contact-form__buttons > *:where(button, input) {
  width: min(15rem, 100%);
}
.contact-form__buttons br {
  display: none;
}
.contact-form__buttons .wpcf7-spinner {
  position: absolute;
  top: calc(100% + 1rem);
}

@media screen and (min-width: 60em), print {
  .contact-index {
    padding-top: 7rem;
    padding-bottom: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .contact-index {
    padding-top: 3.5rem;
    padding-bottom: 7.5rem;
  }
}

.contact-index__heading {
  padding-bottom: 1rem;
  margin-bottom: 1.5rem;
  font-weight: 700;
  border-bottom: 2px solid currentColor;
}
@media screen and (min-width: 60em), print {
  .contact-index__heading {
    font-size: 2rem;
    line-height: 1.45;
  }
}
@media screen and (max-width: 59.99em) {
  .contact-index__heading {
    font-size: 1.5rem;
    line-height: 1.5;
  }
}
@media screen and (min-width: 60em), print {
  .contact-index__heading:where(:not(:first-child)) {
    margin-top: 7rem;
  }
}
@media screen and (max-width: 59.99em) {
  .contact-index__heading:where(:not(:first-child)) {
    margin-top: 5rem;
  }
}

.contact-index__text {
  font-size: 0.875rem;
  line-height: 1.45;
}

.contact-index__links {
  display: grid;
  gap: 1.5rem;
  margin-top: 2.5rem;
}
@media screen and (min-width: 60em), print {
  .contact-index__links {
    grid-template-columns: repeat(2, 1fr);
  }
}

.contact-index__link {
  display: grid;
  grid-auto-flow: column;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  align-items: center;
  padding: 1rem 2rem;
  font-size: 0.875rem;
  font-weight: 700;
  background-color: rgba(var(--color-accent-rgb), 0.5);
  border: 1px solid var(--color-border);
  box-shadow: 10px 10px 20px rgba(var(--color-accent-rgb), 0.2);
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color;
}
@media screen and (min-width: 60em), print {
  .contact-index__link {
    justify-content: center;
  }
}
@media (hover: hover) {
  .contact-index__link:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
  .contact-index__link:where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
}
@media screen and (min-width: 60em), print {
  .contact-index__link.contact-index__link--arrow {
    grid-template-columns: 1fr auto 1fr;
  }
  .contact-index__link.contact-index__link--arrow::before {
    content: "";
  }
}
@media screen and (max-width: 59.99em) {
  .contact-index__link.contact-index__link--arrow {
    grid-template-columns: 1fr auto;
    padding-right: 1.5rem;
    padding-left: 3rem;
  }
}
.contact-index__link.contact-index__link--arrow::after {
  display: block;
  justify-self: end;
  width: 1.25rem;
  height: 1.25rem;
  content: "";
  background-color: currentColor;
  -webkit-mask-image: var(--icon-arrow-right);
          mask-image: var(--icon-arrow-right);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
@media screen and (max-width: 59.99em) {
  .contact-index__link[target=_blank] {
    grid-template-columns: 1fr auto;
    padding-right: 1.5rem;
    padding-left: 3rem;
  }
}
.contact-index__link[target=_blank]::after {
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  content: "";
  background-color: currentColor;
  -webkit-mask-image: var(--icon-open-in-new);
          mask-image: var(--icon-open-in-new);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}

@media screen and (min-width: 60em), print {
  .contact-thanks {
    padding-top: 7rem;
    padding-bottom: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .contact-thanks {
    padding-top: 2.5rem;
    padding-bottom: 7rem;
  }
}

.contact-thanks__lead {
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .contact-thanks__lead {
    margin-bottom: 3rem;
    font-size: 2rem;
    line-height: 1.45;
  }
}
@media screen and (max-width: 59.99em) {
  .contact-thanks__lead {
    margin-bottom: 1.5rem;
    font-size: 1.5rem;
    line-height: 1.5;
  }
}

.contact-thanks__text {
  line-height: 1.8;
}

.contact-thanks__buttons {
  display: flex;
  justify-content: center;
  margin-inline: auto;
}
@media screen and (min-width: 60em), print {
  .contact-thanks__buttons {
    margin-top: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .contact-thanks__buttons {
    margin-top: 4rem;
  }
}
.contact-thanks__buttons > * {
  width: min(15rem, 100%);
}

.single-article-list-link {
  margin-top: 7.5rem;
  margin-bottom: 7.5rem;
  text-align: center;
}
@media screen and (max-width: 59.99em) {
  .single-article-list-link {
    margin-top: 4rem;
  }
}

.single-article-list-link__item {
  display: inline-grid;
  -moz-column-gap: 0.25rem;
       column-gap: 0.25rem;
  align-items: center;
  justify-content: center;
  min-width: clamp(0px, 15rem, 100%);
  font-size: 0.875rem;
  font-weight: 700;
  background-color: rgba(var(--color-accent-rgb), 0.5);
  border: 1px solid var(--color-border);
  border-radius: 9999px;
  box-shadow: 10px 10px 20px rgba(var(--color-accent-rgb), 0.2);
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color;
}
@media screen and (min-width: 60em), print {
  .single-article-list-link__item {
    padding: 0.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .single-article-list-link__item {
    padding: 1rem 3rem;
  }
}
@media (hover: hover) {
  .single-article-list-link__item:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
  .single-article-list-link__item:where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
}
@media (prefers-reduced-motion: no-preference) and (hover: hover) {
  .single-article-list-link__item:where(:-moz-any-link, :enabled, summary):hover {
    background-image: linear-gradient(135deg, transparent 0% 40%, rgba(255, 255, 255, 0.3) 55%, transparent 55%);
    background-size: 300% 100%;
    animation: shiny 1.4s cubic-bezier(0, 0, 0.2, 1);
  }
  .single-article-list-link__item:where(:any-link, :enabled, summary):hover {
    background-image: linear-gradient(135deg, transparent 0% 40%, rgba(255, 255, 255, 0.3) 55%, transparent 55%);
    background-size: 300% 100%;
    animation: shiny 1.4s cubic-bezier(0, 0, 0.2, 1);
  }
  @keyframes shiny {
    0% {
      background-position-x: 100%;
    }
    100% {
      background-position-x: 0%;
    }
  }
}

.single-story-footer {
  margin-top: 4rem;
  margin-bottom: 7.5rem;
}
@media screen and (max-width: 59.99em) {
  .single-story-footer {
    margin-top: 2.5rem;
  }
}

.single-news-footer {
  margin-top: 7.5rem;
  margin-bottom: 7.5rem;
}
@media screen and (max-width: 59.99em) {
  .single-news-footer {
    margin-top: 4rem;
  }
}

.single-story-mv {
  margin-bottom: 5rem;
}
@media screen and (max-width: 59.99em) {
  .single-story-mv {
    margin-bottom: 4rem;
  }
}

.single-story-mv__text-area {
  padding-top: 7.5rem;
  padding-bottom: 7.5rem;
  background-color: var(--color-black);
}
@media screen and (max-width: 59.99em) {
  .single-story-mv__text-area {
    padding-top: 2.25rem;
    padding-bottom: 8rem;
  }
}
@media screen and (max-width: 59.99em) {
  .single-story-mv__text-area.single-story-mv__text-area--no-thumbnail {
    padding-bottom: 2.25rem;
  }
}

.single-story-mv__label {
  display: flex;
  align-items: center;
  justify-content: center;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 7.75rem;
  min-height: 2rem;
  padding: 0.5rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--color-black);
  background-color: var(--color-white);
  border-radius: 9999px;
}

.single-story-mv__title {
  margin-top: 1.5rem;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
  color: var(--color-white);
}
@media screen and (max-width: 59.99em) {
  .single-story-mv__title {
    margin-top: 1rem;
    font-size: 1.5rem;
    line-height: 1.5;
  }
}

.single-story-mv__date {
  margin-top: 1.5rem;
  font-size: 0.875rem;
  color: var(--color-white);
}
@media screen and (max-width: 59.99em) {
  .single-story-mv__date {
    margin-top: 1rem;
  }
}

@media screen and (min-width: 60em), print {
  .single-story-mv__image {
    width: 40.625rem;
    margin-top: -5rem;
    margin-right: 0;
    margin-left: auto;
  }
}
@media screen and (max-width: 59.99em) {
  .single-story-mv__image {
    margin-top: -5.5rem;
  }
}
.single-story-mv__image img {
  width: 100%;
  height: 100%;
  max-height: 37rem;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (min-width: 60em), print {
  .single-story-mv__image img {
    -o-object-position: right;
       object-position: right;
  }
}

.single-news-mv {
  margin-bottom: 5rem;
}
@media screen and (max-width: 59.99em) {
  .single-news-mv {
    margin-bottom: 4rem;
  }
}

.single-news-mv__text-area {
  padding-top: 5rem;
  padding-bottom: 5rem;
  background-color: var(--color-black);
}
@media screen and (max-width: 59.99em) {
  .single-news-mv__text-area {
    padding-top: 2.25rem;
    padding-bottom: 8rem;
  }
}
@media screen and (max-width: 59.99em) {
  .single-news-mv__text-area.single-news-mv__text-area--no-thumbnail {
    padding-bottom: 2.25rem;
  }
}

.single-news-mv__title {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4;
  color: var(--color-white);
}
@media screen and (max-width: 59.99em) {
  .single-news-mv__title {
    font-size: 1.5rem;
    line-height: 1.5;
  }
}

.single-news-mv__foot {
  display: flex;
  align-items: center;
  margin-top: 2rem;
}
@media screen and (max-width: 59.99em) {
  .single-news-mv__foot {
    margin-top: 1rem;
  }
}

.single-news-mv__label {
  display: flex;
  align-items: center;
  justify-content: center;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 7.75rem;
  min-height: 2rem;
  padding: 0.5rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--color-black);
  background-color: var(--color-white);
  border-radius: 9999px;
}

.single-news-mv__date {
  margin-left: 0.75rem;
  font-size: 0.75rem;
  color: var(--color-white);
}

@media screen and (min-width: 60em), print {
  .single-news-mv__image {
    width: 40.625rem;
    margin-top: -5rem;
    margin-right: 0;
    margin-left: auto;
  }
}
@media screen and (max-width: 59.99em) {
  .single-news-mv__image {
    margin-top: -5.5rem;
  }
}
.single-news-mv__image img {
  width: 100%;
  height: 100%;
  max-height: 37rem;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (min-width: 60em), print {
  .single-news-mv__image img {
    -o-object-position: right;
       object-position: right;
  }
}

.single-story-slider {
  margin-top: 2rem;
  margin-bottom: 4rem;
}
@media screen and (max-width: 59.99em) {
  .single-story-slider {
    margin-bottom: 2.5rem;
  }
}
.single-story-slider .splide__slider {
  overflow: hidden;
}
.single-story-slider .splide__track {
  margin-right: auto;
  margin-left: auto;
  overflow: visible;
}
.single-story-slider .splide__slide {
  display: grid;
  width: calc((100% - var(--slide-gap) * (var(--slide-count) - 1)) / var(--slide-count));
  max-width: 22.5rem;
}
@media screen and (min-width: 60em), print {
  .single-story-slider .splide__slide {
    --slide-count: 3;
    --slide-gap: 2%;
  }
}
@media screen and (max-width: 59.99em) {
  .single-story-slider .splide__slide {
    --slide-count: 1;
    --slide-gap: 2%;
  }
}
.single-story-slider .splide__slide:where(:not(:last-child)) {
  margin-right: var(--slide-gap);
}
.single-story-slider .splide__pagination {
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  margin-top: 2rem;
}
.single-story-slider .splide__pagination__page {
  padding: 0.5rem;
}
.single-story-slider .splide__pagination__page::before {
  display: block;
  width: 0.75rem;
  height: 0.75rem;
  content: "";
  background-color: var(--color-accent);
  border-radius: 9999px;
  transition-duration: 0.2s;
  transition-property: transform, background-color;
}
.single-story-slider .splide__pagination__page.is-active::before {
  background-color: var(--color-primary);
  transform: scale(1.5);
}

.single-story-slider__card {
  display: block;
  height: 100%;
  padding: 1.5rem;
  font-weight: 700;
  color: var(--color-white);
  background-color: var(--color-primary);
  transition-duration: var(--transition-duration-hover);
  transition-property: filter;
}
@media (hover: hover) {
  .single-story-slider__card:where(:-moz-any-link, :enabled, summary):hover {
    filter: brightness(0.8);
  }
  .single-story-slider__card:where(:any-link, :enabled, summary):hover {
    filter: brightness(0.8);
  }
}

.single-story-slider__card__image {
  aspect-ratio: 1.8;
  margin-bottom: 1.5rem;
  overflow: hidden;
}
.single-story-slider__card__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  will-change: transform;
}
@media (prefers-reduced-motion: no-preference) {
  .single-story-slider__card__image img {
    transition-duration: var(--transition-duration-motion);
    transition-property: transform;
  }
}
@media (hover: hover) {
  :where(:-moz-any-link, :enabled, summary):hover .single-story-slider__card__image img {
    transform: scale(1.2);
  }
  :where(:any-link, :enabled, summary):hover .single-story-slider__card__image img {
    transform: scale(1.2);
  }
}

.single-story-slider__card__label {
  display: grid;
  justify-content: center;
  width: -moz-fit-content;
  width: fit-content;
  min-width: min(100%, 6.5rem);
  padding: 0.5rem;
  margin-bottom: 1rem;
  font-size: 0.75rem;
  color: var(--color-black);
  background-color: var(--color-white);
  border-radius: 9999px;
}

.single-story-slider__card__title {
  --letter-spacing: 0;
  margin-top: 1rem;
  font-size: 1.125rem;
}
@media screen and (max-width: 59.99em) {
  .single-story-slider__card__title {
    font-size: 1rem;
  }
}

@media screen and (min-width: 60em), print {
  .single-works-post {
    padding-top: 4rem;
    padding-bottom: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .single-works-post {
    padding-top: 2rem;
    padding-bottom: 7rem;
  }
}

.single-works-post__label {
  display: grid;
  align-items: center;
  justify-content: center;
  width: -moz-fit-content;
  width: fit-content;
  min-width: min(100%, 7rem);
  min-height: 2rem;
  padding: 0.25rem 1rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--color-white);
  background-color: var(--color-black);
  border-radius: 9999px;
}

.single-works-post__title {
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .single-works-post__title {
    font-size: 2rem;
    line-height: 1.45;
  }
}
@media screen and (max-width: 59.99em) {
  .single-works-post__title {
    font-size: 1.5rem;
    line-height: 1.5;
  }
}
@media screen and (min-width: 60em), print {
  .single-works-post__title:where(:not(:first-child)) {
    margin-top: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .single-works-post__title:where(:not(:first-child)) {
    margin-top: 1rem;
  }
}

.single-works-post__links {
  margin-top: 1.5rem;
}
.single-works-post__links a {
  display: inline-grid;
  align-items: center;
  justify-content: center;
  padding: 1rem 2rem;
  font-size: 0.875rem;
  font-weight: 700;
  background-color: rgba(var(--color-accent-rgb), 0.5);
  border: 1px solid var(--color-border);
  box-shadow: 10px 10px 20px rgba(var(--color-accent-rgb), 0.2);
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color;
}
@media (hover: hover) {
  .single-works-post__links a:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
  .single-works-post__links a:where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
}
@media (prefers-reduced-motion: no-preference) and (hover: hover) {
  .single-works-post__links a:where(:-moz-any-link, :enabled, summary):hover {
    background-image: linear-gradient(135deg, transparent 0% 40%, rgba(255, 255, 255, 0.3) 55%, transparent 55%);
    background-size: 300% 100%;
    animation: shiny 1.4s cubic-bezier(0, 0, 0.2, 1);
  }
  .single-works-post__links a:where(:any-link, :enabled, summary):hover {
    background-image: linear-gradient(135deg, transparent 0% 40%, rgba(255, 255, 255, 0.3) 55%, transparent 55%);
    background-size: 300% 100%;
    animation: shiny 1.4s cubic-bezier(0, 0, 0.2, 1);
  }
  @keyframes shiny {
    0% {
      background-position-x: 100%;
    }
    100% {
      background-position-x: 0%;
    }
  }
}
.single-works-post__links a[target=_blank] {
  grid-auto-flow: column;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
}
.single-works-post__links a[target=_blank]::after {
  display: block;
  width: 1rem;
  height: 1rem;
  content: "";
  background-color: currentColor;
  -webkit-mask-image: var(--icon-open-in-new);
          mask-image: var(--icon-open-in-new);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}

.single-works-post__note {
  margin-top: 1.5rem;
  font-size: 0.875rem;
}

.single-works-post__layout {
  display: grid;
  border-top: 1px solid var(--color-border);
}
@media screen and (min-width: 60em), print {
  .single-works-post__layout {
    grid-template-columns: 45% 1fr;
    -moz-column-gap: 7%;
         column-gap: 7%;
    padding-top: 4rem;
    margin-top: 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .single-works-post__layout {
    padding-top: 2.5rem;
    margin-top: 2.5rem;
  }
}

@media screen and (max-width: 59.99em) {
  .single-works-post__text-content {
    display: contents;
  }
}

.single-works-post__lead {
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .single-works-post__lead {
    font-size: 1.5rem;
    line-height: 1.45;
  }
}
@media screen and (max-width: 59.99em) {
  .single-works-post__lead {
    grid-row: 1;
    margin-bottom: 2.5rem;
    font-size: 1.125rem;
    line-height: 1.5;
  }
}

.single-works-post__text {
  line-height: 1.8;
}
@media screen and (min-width: 60em), print {
  .single-works-post__text {
    margin-top: 1rem;
  }
}
@media screen and (max-width: 59.99em) {
  .single-works-post__text {
    margin-top: 2.5rem;
  }
}

.single-works-post__heading {
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .single-works-post__heading {
    font-size: 1.25rem;
    line-height: 1.45;
  }
}
@media screen and (max-width: 59.99em) {
  .single-works-post__heading {
    font-size: 1.125rem;
    line-height: 1.5;
  }
}

.single-works-post__table:where(table) {
  width: 100%;
  margin-top: 1rem;
}
.single-works-post__table:where(table) tr {
  display: grid;
  font-size: 1rem;
  font-weight: 500;
  border-top: 1px solid var(--color-border);
}
.single-works-post__table:where(table) tr:where(:last-child) {
  border-bottom: 1px solid var(--color-border);
}
@media screen and (min-width: 60em), print {
  .single-works-post__table:where(table) tr {
    grid-template-columns: 8.5rem 1fr;
    -moz-column-gap: 5rem;
         column-gap: 5rem;
    align-items: center;
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .single-works-post__table:where(table) tr {
    row-gap: 1rem;
    padding-block: 1.5rem;
    line-height: 1.4;
  }
}
.single-works-post__table:where(table) th {
  max-width: 15rem;
  font-weight: 700;
}
.single-works-post__table:where(table) a {
  background-image: linear-gradient(to top, currentColor 0 1px, transparent 0 100%);
  background-repeat: no-repeat;
  background-position: left;
  background-size: 100% 100%;
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
  transition: color var(--transition-duration-hover);
}
@media (prefers-reduced-motion: no-preference) {
  .single-works-post__table:where(table) a {
    transition: color var(--transition-duration-hover), background-size 0.4s;
  }
}
@media (hover: hover) {
  .single-works-post__table:where(table) a:where(:-moz-any-link, :enabled, summary):hover {
    color: var(--color-text-gray);
    background-position: right;
    background-size: 0 100%;
  }
  .single-works-post__table:where(table) a:where(:any-link, :enabled, summary):hover {
    color: var(--color-text-gray);
    background-position: right;
    background-size: 0 100%;
  }
}

.single-works-post__related {
  margin-top: 4rem;
}

.single-works-post__story-slider {
  margin-top: 2rem;
}

.single-works-post__related-companies {
  margin-top: 2rem;
}
@media screen and (min-width: 60em), print {
  .single-works-post__related-companies {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem 4rem;
    align-items: flex-end;
  }
}
.single-works-post__related-companies > li {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .single-works-post__related-companies > li {
    row-gap: 0.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .single-works-post__related-companies > li {
    row-gap: 0.5rem;
  }
  .single-works-post__related-companies > li:where(:not(:last-child)) {
    padding-bottom: 1.5rem;
  }
  .single-works-post__related-companies > li:where(:not(:first-child)) {
    padding-top: 1.5rem;
    border-top: 1px solid var(--color-border);
  }
}

.single-works-post__related-companies__field {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.45;
}

.single-works-post__related-companies__name {
  font-weight: 700;
  line-height: 1.45;
}
.single-works-post__related-companies__name a {
  display: inline-grid;
  align-items: center;
  justify-content: center;
  transition-duration: var(--transition-duration-hover);
  transition-property: color;
}
@media (hover: hover) {
  .single-works-post__related-companies__name a:where(:-moz-any-link, :enabled, summary):hover {
    color: var(--color-text-gray);
  }
  .single-works-post__related-companies__name a:where(:any-link, :enabled, summary):hover {
    color: var(--color-text-gray);
  }
}
.single-works-post__related-companies__name a[target=_blank] {
  grid-auto-flow: column;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
}
.single-works-post__related-companies__name a[target=_blank]::after {
  display: block;
  width: 1rem;
  height: 1rem;
  content: "";
  background-color: currentColor;
  -webkit-mask-image: var(--icon-open-in-new);
          mask-image: var(--icon-open-in-new);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}

.single-works-gallery__main .splide__track {
  background-color: var(--color-primary);
}
.single-works-gallery__main .splide__slide {
  position: relative;
  width: 100%;
  aspect-ratio: 1;
}
@media screen and (max-width: 59.99em) {
  .single-works-gallery__main .splide__slide {
    max-height: 25rem;
  }
}
.single-works-gallery__main .splide__slide > * {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
}
.single-works-gallery__main .splide__slide img {
  width: 100%;
  height: 100%;
  filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.5));
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (min-width: 60em), print {
  .single-works-gallery__main .splide__slide img {
    padding: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .single-works-gallery__main .splide__slide img {
    padding: 1.5rem;
  }
}
@media screen and (min-width: 60em), print {
  .single-works-gallery__main .splide__pagination {
    display: none;
  }
}
@media screen and (max-width: 59.99em) {
  .single-works-gallery__main .splide__pagination {
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    margin-top: 2rem;
  }
}
.single-works-gallery__main .splide__pagination__page {
  padding: 0.5rem;
}
.single-works-gallery__main .splide__pagination__page::before {
  display: block;
  width: 0.75rem;
  height: 0.75rem;
  content: "";
  background-color: var(--color-accent);
  border-radius: 9999px;
  transition-duration: 0.2s;
  transition-property: transform, background-color;
}
.single-works-gallery__main .splide__pagination__page.is-active::before {
  background-color: var(--color-primary);
  transform: scale(1.5);
}

@media screen and (min-width: 60em), print {
  .single-works-gallery__thumbnails {
    margin-top: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .single-works-gallery__thumbnails {
    display: none;
  }
}
.single-works-gallery__thumbnails .splide__slide {
  width: 25%;
  aspect-ratio: 1;
  padding: 1rem;
  cursor: pointer;
  border: 1px solid var(--color-border);
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color;
}
.single-works-gallery__thumbnails .splide__slide:not(:first-child) {
  border-left: none;
}
@media (hover: hover) {
  .single-works-gallery__thumbnails .splide__slide:hover {
    background-color: rgba(var(--color-accent-rgb), 0.2);
  }
}
.single-works-gallery__thumbnails .splide__slide.is-active {
  background-color: rgba(var(--color-accent-rgb), 0.4);
}
.single-works-gallery__thumbnails .splide__slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.single-works-gallery-dialog[open] {
  display: grid;
  grid-template-rows: 1fr minmax(0, auto) 1fr;
  row-gap: 1rem;
  max-width: min(100% - 4rem, 56rem);
  max-height: min(90%, 52rem);
  margin: auto;
  overflow: visible;
  animation: show 0.4s;
}
.single-works-gallery-dialog[open]::backdrop {
  background-color: rgba(0, 0, 0, 0.7);
  animation: show 0.4s;
}
.single-works-gallery-dialog.is-closing {
  animation: hide 0.4s;
}
.single-works-gallery-dialog.is-closing::backdrop {
  animation: hide 0.4s;
}
@keyframes show {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes hide {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

.single-works-gallery-dialog__close {
  position: relative;
  justify-self: end;
  width: 1em;
  height: 1em;
  font-size: 2rem;
  color: var(--color-white);
}
.single-works-gallery-dialog__close::after, .single-works-gallery-dialog__close::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  width: 4px;
  height: 1em;
  margin: auto;
  content: "";
  background-color: currentColor;
}
.single-works-gallery-dialog__close::before {
  transform: rotate(-45deg);
}
.single-works-gallery-dialog__close::after {
  transform: rotate(45deg);
}

.single-works-gallery-dialog__content {
  display: grid;
  grid-template-rows: minmax(0, 1fr);
  height: 100%;
}
@media screen and (min-width: 60em), print {
  .single-works-gallery-dialog__content {
    grid-template-columns: 20% 1fr;
    background-color: var(--color-white);
  }
}
@media screen and (max-width: 59.99em) {
  .single-works-gallery-dialog__content {
    row-gap: 1rem;
  }
}

.single-works-gallery-dialog__main .splide__track {
  height: 100%;
}
.single-works-gallery-dialog__main .splide__slide {
  width: 100%;
}
@media screen and (min-width: 60em), print {
  .single-works-gallery-dialog__main .splide__slide {
    padding: 3rem;
  }
}
.single-works-gallery-dialog__main .splide__slide > * {
  display: block;
  width: 100%;
  height: 100%;
}
.single-works-gallery-dialog__main img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.5));
}

.single-works-gallery-dialog__thumbnails {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .single-works-gallery-dialog__thumbnails {
    grid-template-rows: minmax(0, 1fr);
    order: -1;
    border-right: 1px solid var(--color-border);
  }
}
@media screen and (max-width: 59.99em) {
  .single-works-gallery-dialog__thumbnails {
    height: min(10vh, 20vw);
    min-height: 3.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .single-works-gallery-dialog__thumbnails .splide__track {
    display: flex;
    justify-content: center;
  }
}
@media screen and (min-width: 60em), print {
  .single-works-gallery-dialog__thumbnails .splide__list {
    flex-direction: column;
  }
}
@media screen and (max-width: 59.99em) {
  .single-works-gallery-dialog__thumbnails .splide__list {
    background-color: var(--color-white);
  }
}
.single-works-gallery-dialog__thumbnails .splide__slide {
  aspect-ratio: 1;
  cursor: pointer;
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color;
}
@media screen and (min-width: 60em), print {
  .single-works-gallery-dialog__thumbnails .splide__slide {
    height: 25%;
    padding: 10%;
    border-bottom: 1px solid var(--color-border);
  }
  .single-works-gallery-dialog__thumbnails .splide__slide:nth-child(4) {
    border-bottom: none;
  }
}
@media screen and (max-width: 59.99em) {
  .single-works-gallery-dialog__thumbnails .splide__slide {
    height: 100%;
    padding: 2%;
    border: 1px solid var(--color-border);
  }
  .single-works-gallery-dialog__thumbnails .splide__slide:not(:first-child) {
    border-left: none;
  }
}
@media (hover: hover) {
  .single-works-gallery-dialog__thumbnails .splide__slide:hover {
    background-color: rgba(var(--color-accent-rgb), 0.2);
  }
}
.single-works-gallery-dialog__thumbnails .splide__slide.is-active {
  background-color: rgba(var(--color-accent-rgb), 0.4);
}
.single-works-gallery-dialog__thumbnails img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.single-works-story-slider .splide__slider {
  overflow: hidden;
}
.single-works-story-slider .splide__track {
  width: var(--container-width);
  margin-right: auto;
  margin-left: auto;
  overflow: visible;
}
.single-works-story-slider .splide__slide {
  display: grid;
  width: calc((100% - var(--slide-gap) * (var(--slide-count) - 1)) / var(--slide-count));
  max-width: 22.5rem;
}
@media screen and (min-width: 60em), print {
  .single-works-story-slider .splide__slide {
    --slide-count: 3;
    --slide-gap: 2%;
  }
}
@media screen and (max-width: 59.99em) {
  .single-works-story-slider .splide__slide {
    --slide-count: 1;
    --slide-gap: 2%;
  }
}
.single-works-story-slider .splide__slide:where(:not(:last-child)) {
  margin-right: var(--slide-gap);
}
.single-works-story-slider .splide__pagination {
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  margin-top: 2rem;
}
.single-works-story-slider .splide__pagination__page {
  padding: 0.5rem;
}
.single-works-story-slider .splide__pagination__page::before {
  display: block;
  width: 0.75rem;
  height: 0.75rem;
  content: "";
  background-color: var(--color-accent);
  border-radius: 9999px;
  transition-duration: 0.2s;
  transition-property: transform, background-color;
}
.single-works-story-slider .splide__pagination__page.is-active::before {
  background-color: var(--color-primary);
  transform: scale(1.5);
}

.single-works-story-slider__card {
  display: block;
  height: 100%;
  padding: 1.5rem;
  color: var(--color-white);
  background-color: var(--color-primary);
  transition-duration: var(--transition-duration-hover);
  transition-property: filter;
}
@media (hover: hover) {
  .single-works-story-slider__card:where(:-moz-any-link, :enabled, summary):hover {
    filter: brightness(0.8);
  }
  .single-works-story-slider__card:where(:any-link, :enabled, summary):hover {
    filter: brightness(0.8);
  }
}

.single-works-story-slider__card__image {
  aspect-ratio: 1.8;
  margin-bottom: 1.5rem;
  overflow: hidden;
}
.single-works-story-slider__card__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  will-change: transform;
}
@media (prefers-reduced-motion: no-preference) {
  .single-works-story-slider__card__image img {
    transition-duration: var(--transition-duration-motion);
    transition-property: transform;
  }
}
@media (hover: hover) {
  :where(:-moz-any-link, :enabled, summary):hover .single-works-story-slider__card__image img {
    transform: scale(1.2);
  }
  :where(:any-link, :enabled, summary):hover .single-works-story-slider__card__image img {
    transform: scale(1.2);
  }
}

.single-works-story-slider__card__label {
  display: grid;
  justify-content: center;
  width: -moz-fit-content;
  width: fit-content;
  min-width: min(100%, 6.5rem);
  padding: 0.5rem;
  margin-bottom: 1rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--color-black);
  background-color: var(--color-white);
  border-radius: 9999px;
}

.single-works-story-slider__card__title {
  --letter-spacing: 0;
  margin-top: 1rem;
  font-weight: 500;
}
@media screen and (min-width: 60em), print {
  .single-works-story-slider__card__title {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .single-works-story-slider__card__title {
    font-size: 1rem;
  }
}

@media screen and (min-width: 60em), print {
  .business-index__header-section {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .business-index__header-section {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }
}

.business-index__header {
  display: grid;
  row-gap: 2.5rem;
}
@media screen and (min-width: 60em), print {
  .business-index__header {
    grid-template-columns: max(21rem, 32%) 1fr;
    -moz-column-gap: 5%;
         column-gap: 5%;
    align-items: center;
  }
}

@media screen and (max-width: 59.99em) {
  .business-index__figure {
    order: -1;
  }
}
.business-index__figure img {
  width: 100%;
}
@media screen and (max-width: 59.99em) {
  .business-index__figure img {
    max-width: 30rem;
    margin-inline: auto;
  }
}

.business-index__copy {
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .business-index__copy {
    font-size: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .business-index__copy {
    font-size: 1.5rem;
  }
}

.business-index__text {
  line-height: 1.8;
}
@media screen and (min-width: 60em), print {
  .business-index__text {
    margin-top: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .business-index__text {
    margin-top: 1rem;
  }
}

.business-index__background-black {
  color: var(--color-white);
  background-color: var(--color-black);
}

@media screen and (min-width: 60em), print {
  .business-index__list-section {
    padding-top: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .business-index__list-section {
    padding-top: 2.5rem;
  }
}

.business-index__list {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .business-index__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 5rem;
    margin-bottom: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .business-index__list {
    grid-template-columns: repeat(auto-fill, minmax(min(20rem, 100%), 1fr));
    gap: 1rem;
    margin-bottom: 7rem;
  }
}

.business-index-card {
  display: block;
  height: 100%;
  background-color: rgba(var(--color-accent-rgb), 0.35);
  border: 1px solid var(--color-border);
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color;
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
}
@media screen and (max-width: 59.99em) {
  .business-index-card {
    max-width: 37.5rem;
    margin-inline: auto;
  }
}
@media (hover: hover) {
  .business-index-card:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
  .business-index-card:where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
}

@media screen and (min-width: 60em), print {
  .business-index-card__inner {
    padding: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .business-index-card__inner {
    padding: 1rem 1.5rem;
  }
}

.business-index-card__image {
  width: 100%;
  aspect-ratio: 500/296;
  -o-object-fit: cover;
     object-fit: cover;
}

.business-index-card__heading__english {
  font-size: 1.5rem;
  font-weight: 700;
}

.business-index-card__heading__japanese {
  font-size: 0.75rem;
  font-weight: 700;
}

.business-index-card__tag-list {
  display: grid;
  align-content: start;
  padding-top: 1rem;
  padding-left: 1.5rem;
  margin-top: 1rem;
  font-size: 0.875rem;
  list-style: disc;
  border-top: 1px solid currentColor;
}
@media screen and (min-width: 60em), print {
  .business-index-card__tag-list {
    min-height: 6rem;
  }
}

@media screen and (min-width: 60em), print {
  .business-detail__related {
    padding-bottom: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .business-detail__related {
    padding-bottom: 7.5rem;
  }
}
@media screen and (min-width: 60em), print {
  .business-detail__related:where(:nth-child(odd)) {
    padding-top: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .business-detail__related:where(:nth-child(odd)) {
    padding-top: 4rem;
  }
}
.business-detail__related :where(hr) {
  border-top: 1px solid var(--color-border);
}
@media screen and (min-width: 60em), print {
  .business-detail__related :where(hr):where(:not(:first-child)) {
    margin-top: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .business-detail__related :where(hr):where(:not(:first-child)) {
    margin-top: 4rem;
  }
}
@media screen and (min-width: 60em), print {
  .business-detail__related :where(hr):where(:not(:last-child)) {
    margin-bottom: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .business-detail__related :where(hr):where(:not(:last-child)) {
    margin-bottom: 4rem;
  }
}

.business-detail__related-companies__list {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .business-detail__related-companies__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.5rem;
    margin-top: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .business-detail__related-companies__list {
    gap: 1.5rem;
    margin-top: 1.5rem;
  }
}

@media screen and (min-width: 60em), print {
  .business-detail__related-services__list {
    display: flex;
    flex-wrap: wrap;
    gap: 2.5rem;
    margin-top: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .business-detail__related-services__list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(14rem, auto));
    gap: 1rem;
    margin-top: 1.5rem;
  }
}
.business-detail__related-services__list > li {
  border: 1px solid var(--color-border);
}
.business-detail__related-services__list > li a {
  display: block;
  background-color: var(--color-white);
  transition: filter var(--transition-duration-hover);
}
@media (hover: hover) {
  .business-detail__related-services__list > li a:where(:-moz-any-link, :enabled, summary):hover {
    filter: brightness(0.9);
  }
  .business-detail__related-services__list > li a:where(:any-link, :enabled, summary):hover {
    filter: brightness(0.9);
  }
}
.business-detail__related-services__list > li a img {
  width: auto;
  height: 6rem;
  margin: auto;
}

.business-detail-hero {
  color: var(--color-white);
  background-color: var(--color-black);
}
@media screen and (min-width: 60em), print {
  .business-detail-hero {
    padding-top: 6rem;
    padding-bottom: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .business-detail-hero {
    padding-top: 2.5rem;
    padding-bottom: 4rem;
  }
}

.business-detail-hero__heading {
  display: flex;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (min-width: 60em), print {
  .business-detail-hero__heading {
    -moz-column-gap: 1.85rem;
         column-gap: 1.85rem;
    align-items: flex-end;
    font-size: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .business-detail-hero__heading {
    flex-direction: column;
    row-gap: 0.25rem;
    padding-left: 1.75rem;
    font-size: 1.5rem;
  }
}

.business-detail-hero__heading__english {
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .business-detail-hero__heading__english {
    margin-top: -0.3em;
    margin-bottom: -0.2em;
    font-size: 3.75rem;
    line-height: 1.5;
  }
}
@media screen and (max-width: 59.99em) {
  .business-detail-hero__heading__english {
    font-size: 2.5rem;
    line-height: 1.3;
  }
}

.business-detail-hero__heading__japanese {
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .business-detail-hero__heading__japanese {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .business-detail-hero__heading__japanese {
    font-size: 1.125rem;
    line-height: 1.5;
  }
}

.business-detail-hero__marker-star {
  position: relative;
}
.business-detail-hero__marker-star::before {
  position: absolute;
  top: 0.2em;
  right: calc(100% + 1.3rem);
  bottom: 0;
  display: block;
  width: 1rem;
  height: 1rem;
  margin: auto;
  pointer-events: none;
  content: "";
  border: 1px solid currentColor;
  transform: translateX(0) rotate(45deg);
}

@media screen and (min-width: 60em), print {
  .business-detail-hero__image {
    margin-top: 3.5rem;
    margin-bottom: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .business-detail-hero__image {
    margin-top: 2.5rem;
    margin-bottom: 4rem;
  }
}
.business-detail-hero__image img {
  display: block;
  width: 100%;
  min-height: 10rem;
  background-color: var(--color-primary);
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 60em), print {
  .business-detail-hero__image img {
    aspect-ratio: 1440/320;
  }
}
.business-detail-hero__image p {
  width: var(--container-width);
  margin-inline: auto;
  margin-top: 1rem;
  font-size: 0.625rem;
  text-align: right;
}

.business-detail-hero__lead {
  display: grid;
  align-items: center;
  justify-content: space-between;
  line-height: 1.8;
}
@media screen and (min-width: 60em), print {
  .business-detail-hero__lead {
    grid-template-columns: auto 49%;
  }
}
@media screen and (max-width: 59.99em) {
  .business-detail-hero__lead {
    row-gap: 1.5rem;
  }
}

.business-detail-hero__copy {
  position: relative;
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .business-detail-hero__copy {
    padding-left: 2.5rem;
    font-size: 2rem;
    line-height: 1.45;
  }
}
@media screen and (max-width: 59.99em) {
  .business-detail-hero__copy {
    padding-top: 1.5rem;
    font-size: 1.5rem;
    line-height: 1.5;
  }
}
.business-detail-hero__copy::before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  content: "";
  background-color: currentColor;
}
@media screen and (min-width: 60em), print {
  .business-detail-hero__copy::before {
    width: 1px;
    height: 100%;
  }
}
@media screen and (max-width: 59.99em) {
  .business-detail-hero__copy::before {
    width: 4.5rem;
    height: 1px;
  }
}

.business-detail-hero__business-fields {
  margin-top: 4rem;
}

.business-detail-hero__business-fields__label {
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.4rem 1rem;
  margin-bottom: 1.5rem;
  font-weight: 500;
  border: 2px solid currentColor;
}

.business-detail-hero__anchor-list {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .business-detail-hero__anchor-list {
    grid-auto-columns: 1fr;
    grid-auto-flow: column;
    border-right: 2px solid currentColor;
    border-left: 2px solid currentColor;
  }
}
@media screen and (max-width: 59.99em) {
  .business-detail-hero__anchor-list {
    row-gap: 0.5rem;
  }
}
@media screen and (min-width: 60em), print {
  .business-detail-hero__anchor-list > li:where(:not(:first-child)) {
    border-left: 2px solid currentColor;
  }
}
@media screen and (max-width: 59.99em) {
  .business-detail-hero__anchor-list > li {
    border-top: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
  }
}
.business-detail-hero__anchor-list a {
  display: grid;
  align-items: center;
  height: 100%;
  padding: 1rem 1.5rem;
  font-weight: 700;
  text-align: center;
  background-color: rgba(var(--color-accent-rgb), 0.5);
  transition: background-color var(--transition-duration-hover);
}
@media (hover: hover) {
  .business-detail-hero__anchor-list a:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.3);
  }
  .business-detail-hero__anchor-list a:where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.3);
  }
}

@media screen and (min-width: 60em), print {
  .business-detail-section {
    padding-top: 7.5rem;
    padding-bottom: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .business-detail-section {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}
.business-detail-section:where(:nth-child(even)) {
  color: var(--color-white);
  background-color: var(--color-black);
}

@media screen and (min-width: 60em), print {
  .business-detail-section__heading {
    margin-bottom: 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .business-detail-section__heading {
    margin-bottom: 2.5rem;
  }
}

.business-detail-section__heading__sub {
  font-weight: 700;
  line-height: 1.45;
}
@media screen and (min-width: 60em), print {
  .business-detail-section__heading__sub {
    margin-bottom: 1rem;
  }
}
@media screen and (max-width: 59.99em) {
  .business-detail-section__heading__sub {
    margin-bottom: 0.75rem;
  }
}

.business-detail-section__heading__main {
  font-size: 1.5rem;
  font-weight: 700;
  border-block: 2px solid currentColor;
}
@media screen and (min-width: 60em), print {
  .business-detail-section__heading__main {
    padding-block: 2rem;
    line-height: 1.45;
  }
}
@media screen and (max-width: 59.99em) {
  .business-detail-section__heading__main {
    padding-block: 1.5rem;
    line-height: 1.5;
  }
}

.business-detail-section__columns {
  display: grid;
  row-gap: 2.5rem;
  -moz-column-gap: 6%;
       column-gap: 6%;
}
@media screen and (min-width: 60em), print {
  .business-detail-section__columns {
    grid-template-columns: 37% 1fr;
  }
}
.business-detail-section__columns :where(img) {
  justify-self: center;
  width: 100%;
  max-width: 25rem;
}
.business-detail-section__columns :where(p) {
  line-height: 1.8;
}

.business-detail-section__border {
  border: 1px solid var(--color-border);
}

.business-detail-section__box {
  padding-inline: 8%;
  color: var(--color-white);
  background-color: var(--color-primary);
}
@media screen and (min-width: 60em), print {
  .business-detail-section__box {
    padding-block: 4rem;
    margin-top: 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .business-detail-section__box {
    padding-block: 2rem;
    margin-top: 2.5rem;
  }
}
.business-detail-section__box :where(a) {
  font-weight: 700;
  line-height: 1.45;
  background-image: linear-gradient(to top, currentColor 0 1px, transparent 0 100%);
  background-repeat: no-repeat;
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
  background-position: right;
  background-size: 0 100%;
}
@media screen and (min-width: 60em), print {
  .business-detail-section__box :where(a) {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .business-detail-section__box :where(a) {
    font-size: 1rem;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .business-detail-section__box :where(a) {
    transition-duration: 0.4s;
    transition-property: background-size;
  }
}
@media (hover: hover) {
  .business-detail-section__box :where(a):where(:-moz-any-link, :enabled, summary):hover {
    background-position: left;
    background-size: 100% 100%;
  }
  .business-detail-section__box :where(a):where(:any-link, :enabled, summary):hover {
    background-position: left;
    background-size: 100% 100%;
  }
}
.business-detail-section__box :where(a)[target=_blank]::after {
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-left: 0.5rem;
  content: "";
  background-color: currentColor;
  -webkit-mask-image: var(--icon-open-in-new);
          mask-image: var(--icon-open-in-new);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.business-detail-section__box :where(hr) {
  border-top: 1px solid var(--color-border);
}
@media screen and (min-width: 60em), print {
  .business-detail-section__box :where(hr) {
    margin-top: 3rem;
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .business-detail-section__box :where(hr) {
    margin-top: 2rem;
    margin-bottom: 2rem;
  }
}
.business-detail-section__box :where(img) {
  width: 18rem;
  margin-inline: auto;
}
@media screen and (min-width: 60em), print {
  .business-detail-section__box :where(p) {
    font-size: 1rem;
    line-height: 1.8;
  }
}
@media screen and (max-width: 59.99em) {
  .business-detail-section__box :where(p) {
    font-size: 0.875rem;
    line-height: 1.7;
  }
}
.business-detail-section__box :where(p):is(p + *) {
  margin-top: 1.5rem;
}

.business-detail-section__box__heading {
  margin-bottom: 2rem;
  font-size: 1.125em;
  font-weight: 700;
  line-height: 1.45;
}

.business-detail-section__box__columns {
  display: grid;
  row-gap: 2rem;
  -moz-column-gap: 7%;
       column-gap: 7%;
  align-items: center;
}
@media screen and (min-width: 60em), print {
  .business-detail-section__box__columns {
    grid-template-columns: 30% 1fr;
  }
}

.policy-heading1 {
  padding-block: 6rem;
  color: var(--color-white);
  background-color: var(--color-black);
}
@media screen and (max-width: 59.99em) {
  .policy-heading1 {
    padding-top: 2.25rem;
    padding-bottom: 2.5rem;
  }
}

.policy-heading1__title {
  position: relative;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  font-size: 2.5rem;
  font-weight: 700;
}
@media screen and (max-width: 59.99em) {
  .policy-heading1__title {
    padding-left: 1.75rem;
    font-size: 1.5rem;
  }
}
.policy-heading1__title::before {
  position: absolute;
  top: 0.2em;
  bottom: 0;
  display: block;
  width: 1rem;
  height: 1rem;
  margin: auto;
  content: "";
  border: 1px solid currentColor;
  transform: rotate(45deg);
}
@media screen and (min-width: 60em), print {
  .policy-heading1__title::before {
    right: calc(100% + 1.3rem);
  }
}
@media screen and (max-width: 59.99em) {
  .policy-heading1__title::before {
    right: calc(100% - 0.5rem);
  }
}

.policy-content {
  margin-top: 7.5rem;
  margin-bottom: 7.5rem;
}
@media screen and (max-width: 59.99em) {
  .policy-content {
    margin-top: 4rem;
  }
}

.policy-table-container {
  margin-top: 5rem;
  overflow: auto;
}
@media screen and (max-width: 59.99em) {
  .policy-table-container {
    height: 80vh;
    padding-bottom: 1.5rem;
    padding-left: var(--container-gutter);
  }
}
.policy-table-container::-webkit-scrollbar {
  width: 0.625rem;
  height: 0.625rem;
}
.policy-table-container::-webkit-scrollbar-thumb {
  background-color: var(--color-accent-dark);
  border-radius: 5px;
}
.policy-table-container::-webkit-scrollbar-track {
  background-color: rgba(var(--color-accent-rgb), 0.35);
  border-radius: 5px;
}
@media screen and (max-width: 59.99em) {
  .policy-table-container::-webkit-scrollbar-track {
    margin-right: 6.5vw;
    margin-left: 8vw;
  }
}
.policy-table-container table {
  position: relative;
  border-spacing: 0;
  border-collapse: separate;
  isolation: isolate;
  border-right: 1px solid var(--color-border);
}
@media screen and (max-width: 59.99em) {
  .policy-table-container table::after {
    position: absolute;
    top: 0;
    left: 100%;
    display: block;
    width: 6.5vw;
    height: 100%;
    content: "";
  }
}
.policy-table-container table th,
.policy-table-container table td {
  font-size: 0.875rem;
  border-bottom: 1px solid var(--color-border);
  border-left: 1px solid var(--color-border);
}
.policy-table-container table th ol,
.policy-table-container table th ul,
.policy-table-container table td ol,
.policy-table-container table td ul {
  font-weight: 400;
}
.policy-table-container table thead {
  position: sticky;
  top: 0;
  z-index: 1;
  background-color: var(--color-white);
}
.policy-table-container table thead th {
  min-width: 13.125rem;
  padding: 0.5rem 1rem;
  font-weight: 500;
  line-height: 1.8;
  white-space: nowrap;
  background-color: rgba(var(--color-accent-rgb), 0.5);
  border-top: 1px solid var(--color-border);
}
.policy-table-container table tbody th,
.policy-table-container table tbody td {
  padding: 1rem;
}
.policy-table-container table tbody th {
  font-weight: 700;
  line-height: 1.45;
}
.policy-table-container table tbody td {
  line-height: 1.7;
  vertical-align: middle;
}

.about-index__copy {
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .about-index__copy {
    font-size: 2rem;
    line-height: 1.45;
  }
}
@media screen and (max-width: 59.99em) {
  .about-index__copy {
    font-size: 1.5rem;
    line-height: 1.5;
  }
}

.about-index__text {
  margin-top: 1.5rem;
  font-weight: 500;
  line-height: 1.8;
}

.about-index__image {
  width: 100%;
}
@media screen and (min-width: 60em), print {
  .about-index__image {
    margin-top: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-index__image {
    margin-top: 2rem;
  }
}

.about-index__links {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .about-index__links {
    grid-auto-columns: 1fr;
    grid-auto-flow: column;
    margin-top: 5rem;
    border-top: 1px solid var(--color-border);
    border-left: 1px solid var(--color-border);
  }
}
@media screen and (max-width: 59.99em) {
  .about-index__links {
    gap: 1.5rem;
    margin-top: 2rem;
  }
}
@media screen and (min-width: 60em), print {
  .about-index__links :where(li) {
    border-right: 1px solid var(--color-border);
    border-bottom: 1px solid var(--color-border);
  }
}
@media screen and (max-width: 59.99em) {
  .about-index__links :where(li) {
    border: 1px solid var(--color-border);
  }
}
.about-index__links :where(a) {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  height: 100%;
  font-weight: 700;
  background-color: rgba(var(--color-accent-rgb), 0.35);
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color, box-shadow;
}
@media screen and (min-width: 60em), print {
  .about-index__links :where(a) {
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    min-height: 5.3rem;
    padding: 1rem 2.5rem;
    font-size: 1rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-index__links :where(a) {
    -moz-column-gap: 0.5rem;
         column-gap: 0.5rem;
    padding: 1rem 1.5rem 1rem 3rem;
    font-size: 0.875rem;
    box-shadow: 10px 10px 20px 0px rgba(var(--color-accent-rgb), 0.2);
  }
}
@media (hover: hover) {
  .about-index__links :where(a):where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.5);
    box-shadow: 10px 10px 20px 0px rgba(var(--color-accent-rgb), 0.2);
  }
  .about-index__links :where(a):where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.5);
    box-shadow: 10px 10px 20px 0px rgba(var(--color-accent-rgb), 0.2);
  }
}
.about-index__links :where(a):-moz-any-link::after {
  display: block;
  justify-self: end;
  content: "";
  background-color: currentColor;
  mask-image: var(--icon-arrow-right);
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
}
.about-index__links :where(a):any-link::after {
  display: block;
  justify-self: end;
  content: "";
  background-color: currentColor;
  -webkit-mask-image: var(--icon-arrow-right);
          mask-image: var(--icon-arrow-right);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
@media screen and (min-width: 60em), print {
  .about-index__links :where(a):-moz-any-link::after {
    width: 1.25rem;
    height: 1.25rem;
  }
  .about-index__links :where(a):any-link::after {
    width: 1.25rem;
    height: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-index__links :where(a):-moz-any-link::after {
    width: 1rem;
    height: 1rem;
  }
  .about-index__links :where(a):any-link::after {
    width: 1rem;
    height: 1rem;
  }
}

.about-index__separator {
  border-top: 1px solid var(--color-border);
}
@media screen and (min-width: 60em), print {
  .about-index__separator {
    margin-top: 7.5rem;
    margin-bottom: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-index__separator {
    margin-top: 4rem;
    margin-bottom: 4rem;
  }
}

.about-index__map {
  height: 20rem;
  margin-bottom: 7.5rem;
  border: 1px solid var(--color-border);
}
@media screen and (min-width: 60em), print {
  .about-index__map {
    margin-top: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-index__map {
    margin-top: 4rem;
  }
}
.about-index__map iframe {
  width: 100%;
  height: 100%;
}

.about-index__note {
  margin-top: 0.5rem;
  font-size: 0.75rem;
  line-height: 1.45;
}

@media screen and (min-width: 60em), print {
  .about-index__banner {
    margin-top: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-index__banner {
    margin-top: 2.5rem;
  }
}

.about-index__banner__link {
  display: block;
  overflow: hidden;
  border: 2px solid var(--color-accent);
}
.about-index__banner__link img {
  width: 100%;
  will-change: transform;
}
@media (prefers-reduced-motion: no-preference) {
  .about-index__banner__link img {
    transition-duration: 0.4s;
    transition-property: transform;
  }
}
@media (hover: hover) {
  .about-index__banner__link:where(:-moz-any-link, :enabled, summary):hover img {
    transform: scale(1.1);
  }
  .about-index__banner__link:where(:any-link, :enabled, summary):hover img {
    transform: scale(1.1);
  }
}

.about-message__grid {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .about-message__grid {
    grid-template: ". . ." 10rem ". . ." 1fr ". . ." 8rem/1.2fr 6.5% 1fr;
  }
}
@media screen and (max-width: 59.99em) {
  .about-message__grid {
    grid-template: ". . ." auto ". . ." 6rem ". . ." 1fr/14% 1fr 16%;
  }
}
.about-message__grid > :nth-child(1) {
  grid-area: 1/1/span 2/span 2;
  width: 100%;
}
.about-message__grid > :nth-child(2) {
  z-index: -1;
  display: grid;
  grid-area: 2/2/span 2/span 2;
  align-content: center;
  color: var(--color-white);
  background-color: var(--color-primary);
}
@media screen and (min-width: 60em), print {
  .about-message__grid > :nth-child(2) {
    padding-block: 6rem;
    padding-left: 25%;
  }
}
@media screen and (max-width: 59.99em) {
  .about-message__grid > :nth-child(2) {
    padding-top: 8rem;
    padding-right: 2rem;
    padding-bottom: 2rem;
    padding-left: 2rem;
  }
}

.about-message__text-container {
  max-width: 46rem;
  line-height: 1.8;
}
@media screen and (min-width: 60em), print {
  .about-message__text-container {
    margin-top: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-message__text-container {
    margin-top: 2.5rem;
  }
}
.about-message__text-container p + p {
  margin-top: 1.8rem;
}

.about-message__label {
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .about-message__label {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-message__label {
    font-size: 1.125rem;
  }
}

.about-message__copy {
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .about-message__copy {
    margin-top: 1rem;
    font-size: 2rem;
    line-height: 1.45;
  }
}
@media screen and (max-width: 59.99em) {
  .about-message__copy {
    margin-top: 0.5rem;
    font-size: 1.5rem;
    line-height: 1.5;
  }
}

.about-message__role {
  font-size: 0.875rem;
  font-weight: 500;
}
@media screen and (min-width: 60em), print {
  .about-message__role {
    margin-top: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-message__role {
    margin-top: 1.5rem;
    line-height: 1.5;
  }
}

.about-message__name {
  margin-top: 0.5rem;
  font-weight: 500;
}
@media screen and (min-width: 60em), print {
  .about-message__name {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-message__name {
    font-size: 1.25rem;
  }
}

.about-history__lead-section {
  display: grid;
  row-gap: 2rem;
  -moz-column-gap: 12%;
       column-gap: 12%;
  align-items: center;
}
@media screen and (min-width: 60em), print {
  .about-history__lead-section {
    grid-template-columns: auto 1fr;
  }
}

.about-history__label {
  font-weight: 700;
  color: var(--color-primary);
}
@media screen and (min-width: 60em), print {
  .about-history__label {
    font-size: 3.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-history__label {
    font-size: 2.5rem;
  }
}

.about-history__lead {
  line-height: 1.8;
}

.about-history__separator {
  border-top: 1px solid var(--color-border);
}
@media screen and (min-width: 60em), print {
  .about-history__separator {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-history__separator {
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
  }
}

.about-history__prehistory {
  color: var(--color-text-gray);
  background-color: rgba(var(--color-accent-rgb), 0.35);
}
@media screen and (min-width: 60em), print {
  .about-history__prehistory {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
    margin-top: 5rem;
    margin-bottom: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-history__prehistory {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
  }
}

.about-history__prehistory__heading {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.45;
}

.about-history__prehistory__timeline {
  margin-top: 1.5rem;
}
.about-history__prehistory__timeline tr {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .about-history__prehistory__timeline tr {
    grid-template-columns: auto 1fr;
  }
}
@media screen and (max-width: 59.99em) {
  .about-history__prehistory__timeline tr {
    row-gap: 1rem;
  }
}
@media screen and (min-width: 60em), print {
  .about-history__prehistory__timeline tr:where(:not(:first-child)) {
    padding-top: 1rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-history__prehistory__timeline tr:where(:not(:first-child)) {
    padding-top: 1.5rem;
  }
}
.about-history__prehistory__timeline th {
  white-space: nowrap;
}
@media screen and (min-width: 60em), print {
  .about-history__prehistory__timeline th {
    width: -moz-fit-content;
    width: fit-content;
    padding-right: 2.5rem;
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-history__prehistory__timeline th {
    font-size: 1.125rem;
  }
  .about-history__prehistory__timeline th:where(:not(:first-child)) {
    margin-top: 1.5rem;
  }
}
.about-history__prehistory__timeline td {
  line-height: 1.8;
}

.about-history__timeline {
  position: relative;
}
@media screen and (min-width: 60em), print {
  .about-history__timeline {
    --line-position: 16rem;
    --line-top: 3rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-history__timeline {
    --line-position: 0rem;
    --line-top: 1.75rem;
  }
}
.about-history__timeline tr {
  position: relative;
}
@media screen and (max-width: 59.99em) {
  .about-history__timeline tr {
    display: grid;
    padding-left: 12%;
  }
}
.about-history__timeline tr::after {
  position: absolute;
  top: var(--line-top);
  right: calc(100% - 0.75rem - var(--line-position));
  left: var(--line-position);
  width: 2px;
  height: calc(100% + 2px);
  margin-inline: auto;
  content: "";
  background-color: var(--color-black);
}
.about-history__timeline tr:where(tbody:last-child *:last-child)::after {
  background-color: transparent;
  background-image: linear-gradient(currentColor 0 50%, transparent 50% 100%);
  background-size: 100% 12px;
  -webkit-mask-image: linear-gradient(#000, transparent);
          mask-image: linear-gradient(#000, transparent);
}
.about-history__timeline th[scope=rowgroup] {
  color: var(--color-accent);
}
@media screen and (min-width: 60em), print {
  .about-history__timeline th[scope=rowgroup] {
    padding-top: 0.5rem;
    padding-right: 13rem;
    font-size: 3.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-history__timeline th[scope=rowgroup] {
    font-size: 2.5rem;
  }
  .about-history__timeline th[scope=rowgroup]::before {
    position: absolute;
    top: var(--line-top);
    right: calc(100% - 0.75rem - var(--line-position));
    left: var(--line-position);
    width: 0.5rem;
    height: 0.5rem;
    margin-inline: auto;
    content: "";
    background-color: var(--color-black);
    border-radius: 9999px;
  }
}
.about-history__timeline th[scope=row] {
  white-space: nowrap;
}
@media screen and (min-width: 60em), print {
  .about-history__timeline th[scope=row] {
    padding-right: 2.5rem;
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-history__timeline th[scope=row] {
    font-size: 1.125rem;
  }
  .about-history__timeline th[scope=row]:where(:not(:first-child)) {
    margin-top: 1.5rem;
  }
}
.about-history__timeline th[scope=row]::before {
  position: absolute;
  left: var(--line-position);
  width: 0.75rem;
  height: 0.75rem;
  content: "";
  background-color: var(--color-black);
  border-radius: 9999px;
  transform: translateY(0.5rem);
}
.about-history__timeline td {
  padding-bottom: 1.5rem;
  line-height: 1.8;
}
@media screen and (max-width: 59.99em) {
  .about-history__timeline td:where(:not(:first-child)) {
    margin-top: 1rem;
  }
}
@media screen and (min-width: 60em), print {
  .about-history__timeline th[scope=row]:is(tr:first-child *),
  .about-history__timeline td:is(tr:first-child *) {
    padding-top: 2.5rem;
  }
  .about-history__timeline th[scope=row]:is(tr:last-child *),
  .about-history__timeline td:is(tr:last-child *) {
    padding-bottom: 2.5rem;
  }
  .about-history__timeline th[scope=row]:is(tbody:not(:last-child) tr:last-child *),
  .about-history__timeline td:is(tbody:not(:last-child) tr:last-child *) {
    border-bottom: 1px solid var(--color-border);
  }
}

.about-history__note {
  margin-top: 0.5rem;
  font-size: 0.75rem;
  line-height: 1.45;
}

.about-group__heading {
  font-weight: 700;
  border-bottom: 1px solid var(--color-border);
}
@media screen and (min-width: 60em), print {
  .about-group__heading {
    padding-bottom: 5rem;
    margin-bottom: 5rem;
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-group__heading {
    padding-bottom: 2.5rem;
    margin-bottom: 2.5rem;
    font-size: 1.125rem;
  }
}
@media screen and (min-width: 60em), print {
  .about-group__heading:where(:not(:first-child)) {
    margin-top: 7rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-group__heading:where(:not(:first-child)) {
    margin-top: 4rem;
  }
}

.about-group__list {
  display: grid;
  gap: 1.5rem;
}
@media screen and (min-width: 60em), print {
  .about-group__list {
    grid-template-columns: repeat(2, 1fr);
  }
}

.about-officers h2 {
  font-weight: 700;
  color: var(--color-text-gray);
}
@media screen and (min-width: 60em), print {
  .about-officers h2 {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-officers h2 {
    font-size: 1.125rem;
  }
}
@media screen and (min-width: 60em), print {
  .about-officers h2:where(:not(:first-child)) {
    margin-top: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-officers h2:where(:not(:first-child)) {
    margin-top: 5rem;
  }
}
@media screen and (min-width: 60em), print {
  .about-officers h2:where(:not(:last-child)) {
    margin-bottom: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-officers h2:where(:not(:last-child)) {
    margin-bottom: 2.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-officers table {
    width: 100%;
  }
}
.about-officers table tr {
  border-top: 1px solid var(--color-border);
}
.about-officers table tr:where(:last-child) {
  border-bottom: 1px solid var(--color-border);
}
@media screen and (max-width: 59.99em) {
  .about-officers table tr {
    display: grid;
    gap: 0.5rem;
    padding: 1rem 1.5rem;
  }
}
@media screen and (min-width: 60em), print {
  .about-officers table th,
  .about-officers table td {
    padding: 1.5rem 2.5rem;
    vertical-align: middle;
  }
}
.about-officers table th {
  color: var(--color-text-gray);
}
@media screen and (min-width: 60em), print {
  .about-officers table th {
    min-width: 12.5rem;
    font-size: 1rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-officers table th {
    font-size: 0.875rem;
  }
}
.about-officers table td {
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .about-officers table td {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-officers table td {
    font-size: 1.25rem;
  }
}

.about-overview {
  overflow: hidden;
}

.about-overview__section {
  position: relative;
}
.about-overview__section::before {
  position: absolute;
  content: "";
}
@media screen and (min-width: 60em), print {
  .about-overview__section::before {
    top: 0;
    width: 20rem;
    height: 20rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview__section::before {
    bottom: 0;
    width: 12rem;
    height: 12rem;
  }
}
@media screen and (min-width: 60em), print {
  .about-overview__section:first-of-type::before {
    display: none;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview__section:first-of-type::before {
    left: 0;
    background-color: var(--color-black);
    transform: translate(-50%, 50%) rotate(45deg);
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview__section:last-of-type::before {
    display: none;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview__section:nth-child(1) {
    z-index: 5;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview__section:nth-child(2) {
    z-index: 4;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview__section:nth-child(3) {
    z-index: 3;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview__section:nth-child(4) {
    z-index: 2;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview__section:nth-child(5) {
    z-index: 1;
  }
}
@media screen and (min-width: 60em), print {
  .about-overview__section:nth-of-type(2)::before {
    left: 0;
    transform: translate(-50%, -50%) rotate(45deg);
  }
}
@media screen and (min-width: 60em), print {
  .about-overview__section:nth-of-type(n + 3)::before {
    right: 0;
    transform: translate(50%, -50%) rotate(45deg);
  }
}
@media screen and (min-width: 60em), print {
  .about-overview__section:nth-child(odd)::before {
    background-color: var(--color-primary);
  }
}
@media screen and (min-width: 60em), print {
  .about-overview__section:nth-child(even)::before {
    background-color: var(--color-black);
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview__section:nth-of-type(n + 2)::before {
    right: 0;
    transform: translate(50%, 50%) rotate(45deg);
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview__section:nth-of-type(n + 2):nth-child(odd)::before {
    background-color: var(--color-black);
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview__section:nth-of-type(n + 2):nth-child(even)::before {
    background-color: var(--color-primary);
  }
}

.about-overview-marker-star {
  position: relative;
  --duration: 1s;
}
.about-overview-marker-star::before, .about-overview-marker-star::after {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  display: block;
  margin: auto;
  pointer-events: none;
  content: "";
  border: 2px solid currentColor;
}
@media screen and (min-width: 60em), print {
  .about-overview-marker-star::before, .about-overview-marker-star::after {
    width: 16vw;
    max-width: 14.5rem;
    height: 16vw;
    max-height: 14.5rem;
    transform: translate(-50%, -50%) rotate(45deg);
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-marker-star::before, .about-overview-marker-star::after {
    width: 48vw;
    max-width: 11.25rem;
    height: 48vw;
    max-height: 11.25rem;
    transform: translate(-50%, -80%) rotate(45deg);
  }
}
.about-overview-marker-star::before {
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
  transition-duration: var(--duration);
  transition-property: transform, opacity;
}
.about-overview-marker-star::after {
  opacity: 0;
}
.about-overview-marker-star:not(.is-visible)::before {
  opacity: 0;
}
@media screen and (min-width: 60em), print {
  .about-overview-marker-star:not(.is-visible)::before {
    transform: translate(-150%, -50%) rotate(-180deg);
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-marker-star:not(.is-visible)::before {
    transform: translate(-150%, -80%) rotate(-180deg);
  }
}
@media screen and (min-width: 60em), print {
  .about-overview-marker-star:not(.is-visible)::after {
    transform: translate(-50%, -50%) rotate(45deg) scale(1);
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-marker-star:not(.is-visible)::after {
    transform: translate(-50%, -80%) rotate(45deg) scale(1);
  }
}
@media screen and (min-width: 60em), print {
  .about-overview-marker-star.is-visible::after {
    animation: pingPc 1s forwards;
    animation-timing-function: cubic-bezier(0, 0, 0.2, 0.8);
    animation-delay: var(--duration);
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-marker-star.is-visible::after {
    animation: pingSp 1s forwards;
    animation-timing-function: cubic-bezier(0, 0, 0.2, 0.8);
    animation-delay: var(--duration);
  }
}
@keyframes pingPc {
  0% {
    opacity: 0.8;
    transform: translate(-50%, -50%) rotate(45deg) scale(1);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) rotate(45deg) scale(2);
  }
}
@keyframes pingSp {
  0% {
    opacity: 0.8;
    transform: translate(-50%, -80%) rotate(45deg) scale(1);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -80%) rotate(45deg) scale(2);
  }
}

.about-overview-section-marker-star {
  position: relative;
  --duration: 1s;
}
.about-overview-section-marker-star::before, .about-overview-section-marker-star::after {
  position: absolute;
  left: 1rem;
  z-index: 1;
  display: block;
  width: 21.5rem;
  height: 21.5rem;
  margin: auto;
  pointer-events: none;
  content: "";
  border: 2px solid currentColor;
}
@media screen and (min-width: 60em), print {
  .about-overview-section-marker-star::before, .about-overview-section-marker-star::after {
    top: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-section-marker-star::before, .about-overview-section-marker-star::after {
    top: 0;
    transform: translate(-50%, -35%) rotate(45deg);
  }
}
.about-overview-section-marker-star::before {
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
  transition-duration: var(--duration);
  transition-property: transform, opacity;
}
.about-overview-section-marker-star::after {
  opacity: 0;
}
.about-overview-section-marker-star:not(.is-visible)::before {
  opacity: 0;
}
@media screen and (min-width: 60em), print {
  .about-overview-section-marker-star:not(.is-visible)::before {
    transform: translate(-150%, -50%) rotate(-270deg);
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-section-marker-star:not(.is-visible)::before {
    transform: translate(-150%, -35%) rotate(-270deg);
  }
}
@media screen and (min-width: 60em), print {
  .about-overview-section-marker-star:not(.is-visible)::after {
    transform: translate(-50%, -50%) rotate(45deg) scale(1);
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-section-marker-star:not(.is-visible)::after {
    transform: translate(-50%, -35%) rotate(45deg) scale(1);
  }
}
@media screen and (min-width: 60em), print {
  .about-overview-section-marker-star.is-visible::after {
    animation: sectionPingPc 1s forwards;
    animation-timing-function: cubic-bezier(0, 0, 0.2, 0.8);
    animation-delay: var(--duration);
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-section-marker-star.is-visible::after {
    animation: sectionPingSp 1s forwards;
    animation-timing-function: cubic-bezier(0, 0, 0.2, 0.8);
    animation-delay: var(--duration);
  }
}
@keyframes sectionPingPc {
  0% {
    opacity: 0.8;
    transform: translate(-50%, -50%) rotate(45deg) scale(1);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) rotate(45deg) scale(2);
  }
}
@keyframes sectionPingSp {
  0% {
    opacity: 0.8;
    transform: translate(-50%, -35%) rotate(45deg) scale(1);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -35%) rotate(45deg) scale(2);
  }
}

.about-overview-hero {
  position: relative;
  color: var(--color-white);
}

.about-overview-hero__content {
  position: absolute;
  z-index: 2;
  width: 100%;
}
@media screen and (min-width: 60em), print {
  .about-overview-hero__content {
    top: 50%;
    transform: translateY(-50%);
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-hero__content {
    top: calc(50% + 5.5rem);
  }
}

.about-overview-hero__image {
  position: relative;
  z-index: -1;
  display: block;
}
.about-overview-hero__image::before {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  content: "";
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.54) 50%, rgba(0, 0, 0, 0.9) 100%);
}
.about-overview-hero__image img {
  width: 100%;
  height: auto;
}

.about-overview-hero__inner {
  position: relative;
  display: grid;
  align-items: center;
  width: var(--container-width);
  margin-inline: auto;
}
@media screen and (min-width: 60em), print {
  .about-overview-hero__inner {
    grid-template-columns: auto 1fr 1fr;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-hero__inner {
    justify-content: center;
  }
}

.about-overview-hero__heading {
  display: grid;
  row-gap: 0.5rem;
}
@media screen and (max-width: 59.99em) {
  .about-overview-hero__heading {
    text-align: center;
  }
}

.about-overview-hero__heading__english {
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .about-overview-hero__heading__english {
    font-size: 3.75rem;
    line-height: 1.5;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-hero__heading__english {
    font-size: 2.5rem;
    line-height: 1.3;
  }
}

.about-overview-hero__heading__japanese {
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .about-overview-hero__heading__japanese {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-hero__heading__japanese {
    font-size: 1.125rem;
    line-height: 1.5;
  }
}

.about-overview-introduction {
  padding-bottom: 7.5rem;
  background-color: var(--color-white);
}
@media screen and (min-width: 60em), print {
  .about-overview-introduction {
    padding-top: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-introduction {
    padding-top: 5.5rem;
  }
}

.about-overview-introduction__heading {
  font-weight: 700;
  text-align: center;
}
@media screen and (min-width: 60em), print {
  .about-overview-introduction__heading {
    margin-bottom: 1.5rem;
    font-size: 2rem;
    line-height: 1.45;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-introduction__heading {
    margin-bottom: 1rem;
    font-size: 1.5rem;
    line-height: 1.5;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-introduction__heading > span {
    display: block;
  }
}

.about-overview-introduction__text {
  line-height: 1.8;
}
@media screen and (min-width: 60em), print {
  .about-overview-introduction__text {
    text-align: center;
  }
}
@media screen and (min-width: 60em), print {
  .about-overview-introduction__text:not(:last-child) {
    margin-bottom: 1rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-introduction__text:not(:last-child) {
    margin-bottom: 0.5rem;
  }
}
@media screen and (min-width: 60em), print {
  .about-overview-introduction__text > span {
    display: block;
  }
}

.about-overview-introduction__image {
  display: block;
  max-width: 44rem;
  margin-inline: auto;
}
@media screen and (min-width: 60em), print {
  .about-overview-introduction__image {
    margin-top: 3.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-introduction__image {
    margin-top: 2.5rem;
  }
}
.about-overview-introduction__image img {
  position: relative;
  z-index: 1;
  margin-inline: auto;
}

.about-overview-create {
  color: var(--color-white);
  background-color: var(--color-black);
}
@media screen and (min-width: 60em), print {
  .about-overview-create {
    padding-top: 7.5rem;
    padding-bottom: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-create {
    padding-top: 3.25rem;
    padding-bottom: 4rem;
  }
}

.about-overview-create__list {
  position: relative;
  z-index: 2;
  display: grid;
  gap: 1rem;
}
@media screen and (min-width: 60em), print {
  .about-overview-create__list {
    grid-template-rows: repeat(4, auto);
    grid-template-columns: 1fr 10% 1fr;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-create__list {
    margin-top: 4rem;
  }
}
@media screen and (min-width: 60em), print {
  .about-overview-create__list > li:nth-child(1) {
    grid-row: 1/3;
    grid-column: 1/3;
  }
}
@media screen and (min-width: 60em), print {
  .about-overview-create__list > li:nth-child(2) {
    grid-row: 1/2;
    grid-column: 3/4;
  }
}
@media screen and (min-width: 60em), print {
  .about-overview-create__list > li:nth-child(3) {
    grid-row: 2/3;
    grid-column: 3/4;
  }
}
@media screen and (min-width: 60em), print {
  .about-overview-create__list > li:nth-child(4) {
    grid-row: 3/5;
    grid-column: 2/4;
  }
}
@media screen and (min-width: 60em), print {
  .about-overview-create__list > li:nth-child(5) {
    grid-row: 3/4;
    grid-column: 1/2;
  }
}
@media screen and (min-width: 60em), print {
  .about-overview-create__list > li:nth-child(6) {
    grid-row: 4/5;
    grid-column: 1/2;
  }
}

.about-overview-create__card {
  display: grid;
  justify-content: center;
  height: 100%;
  background-color: var(--color-primary);
  transition-duration: var(--transition-duration-hover);
  transition-property: background-color;
}
@media screen and (min-width: 60em), print {
  .about-overview-create__card {
    row-gap: 2rem;
    padding-inline: 1.5rem;
    padding-bottom: 2rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-create__card {
    row-gap: 1.5rem;
    padding-inline: 1.25rem;
    padding-bottom: 1.25rem;
  }
}
@media (hover: hover) {
  .about-overview-create__card:where(:-moz-any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
  .about-overview-create__card:where(:any-link, :enabled, summary):hover {
    background-color: rgba(var(--color-accent-rgb), 0.8);
  }
  .about-overview-create__card:where(:-moz-any-link, :enabled, summary):hover .about-overview-create__card__head {
    opacity: 0.8;
  }
  .about-overview-create__card:where(:any-link, :enabled, summary):hover .about-overview-create__card__head {
    opacity: 0.8;
  }
}

.about-overview-create__card__head {
  width: -moz-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: fit-content;
  margin-inline: auto;
  font-weight: 700;
  text-align: center;
  background-color: var(--color-black);
}
@media screen and (min-width: 60em), print {
  .about-overview-create__card__head {
    padding: 1rem 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-create__card__head {
    padding: 1rem;
  }
}

.about-overview-create__card__image {
  display: block;
  margin-inline: auto;
}

.about-overview-create__card__text-area {
  display: grid;
  row-gap: 1rem;
}

.about-overview-create__card__text {
  font-weight: 700;
  line-height: 1.45;
}
@media screen and (min-width: 60em), print {
  .about-overview-create__card__text {
    font-size: 1.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-create__card__text {
    font-size: 1.25rem;
  }
}

.about-overview-create__card__text-middle {
  font-weight: 700;
  line-height: 1.45;
}
@media screen and (min-width: 60em), print {
  .about-overview-create__card__text-middle {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-create__card__text-middle {
    font-size: 1.125rem;
  }
}

.about-overview-create__card__text-number {
  font-weight: 700;
  --letter-spacing: 0.01em;
}
@media screen and (min-width: 60em), print {
  .about-overview-create__card__text-number {
    font-size: 5.4rem;
    line-height: 1;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-create__card__text-number {
    font-size: 4rem;
    line-height: 1.3;
  }
}

.about-overview-create__card__text-small {
  font-weight: 700;
  line-height: 1.45;
}
@media screen and (min-width: 60em), print {
  .about-overview-create__card__text-small {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-create__card__text-small {
    font-size: 1rem;
  }
}

.about-overview-create__card__text-column {
  display: grid;
  grid-template-columns: repeat(2, auto);
  -moz-column-gap: 0.25rem;
       column-gap: 0.25rem;
  text-align: left;
}
@media screen and (min-width: 60em), print {
  .about-overview-create__card__text-column {
    align-items: end;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-create__card__text-column {
    align-items: baseline;
  }
}

@media screen and (min-width: 60em), print {
  .about-overview-create__card__text-column__content > span {
    display: block;
  }
}

.about-overview-sticky {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .about-overview-sticky {
    grid-template-columns: 22% 1fr;
    -moz-column-gap: 2rem;
         column-gap: 2rem;
  }
}

.about-overview-sticky__item {
  position: sticky;
  top: 7.5rem;
  z-index: 1;
  display: grid;
  align-items: center;
}
@media screen and (min-width: 60em), print {
  .about-overview-sticky__item {
    height: 30.25rem;
  }
}

.about-overview-sticky__heading {
  margin-bottom: 1rem;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.45;
}

.about-overview-sticky__lead {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.45;
}
.about-overview-sticky__lead > span {
  display: block;
}

.about-overview-make-use-of {
  color: var(--color-white);
  background-color: var(--color-primary);
}
@media screen and (min-width: 60em), print {
  .about-overview-make-use-of {
    padding-top: 7.5rem;
    padding-bottom: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-make-use-of {
    padding-top: 3.25rem;
    padding-bottom: 4rem;
  }
}

.about-overview-make-use-of__content {
  z-index: 1;
  background-color: var(--color-black);
}
@media screen and (min-width: 60em), print {
  .about-overview-make-use-of__content {
    padding: 5rem 1rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-make-use-of__content {
    padding: 2.5rem 1.75rem;
    margin-top: 4rem;
  }
}

.about-overview-make-use-of__content__inner {
  margin-inline: auto;
}
@media screen and (min-width: 60em), print {
  .about-overview-make-use-of__content__inner {
    max-width: 36.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-make-use-of__content__inner {
    width: 100%;
  }
}

.about-overview-make-use-of__heading {
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
}
@media screen and (min-width: 60em), print {
  .about-overview-make-use-of__heading {
    margin-bottom: 4rem;
    font-size: 1.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-make-use-of__heading {
    margin-bottom: 2rem;
    font-size: 1.25rem;
  }
}

.about-overview-make-use-of__image {
  display: block;
  margin-inline: auto;
}
@media screen and (min-width: 60em), print {
  .about-overview-make-use-of__image {
    max-width: 35rem;
    margin-bottom: 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-make-use-of__image {
    width: 100%;
    margin-bottom: 2rem;
  }
}
.about-overview-make-use-of__image img {
  margin-inline: auto;
}

.about-overview-make-use-of__card-list {
  display: grid;
}
@media screen and (min-width: 60em), print {
  .about-overview-make-use-of__card-list {
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-make-use-of__card-list {
    grid-template-columns: repeat(2, 1fr);
  }
}

.about-overview-make-use-of__card {
  display: grid;
  row-gap: 1rem;
  justify-content: center;
  background-color: rgba(var(--color-accent-rgb), 0.35);
  border: 1px solid var(--color-accent);
}
@media screen and (min-width: 60em), print {
  .about-overview-make-use-of__card {
    min-height: 13.25rem;
    padding: 2rem 1rem 1.5rem;
    box-shadow: 10px 10px 20px rgba(var(--color-accent-rgb), 0.2);
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-make-use-of__card {
    padding: 1.5rem 0.25rem;
    box-shadow: 0 0 10px rgba(var(--color-accent-rgb), 0.2);
  }
}

.about-overview-make-use-of__card__image {
  margin-inline: auto;
}
@media screen and (min-width: 60em), print {
  .about-overview-make-use-of__card__image {
    width: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-make-use-of__card__image {
    width: 3.5rem;
  }
}

.about-overview-make-use-of__card__text {
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
}
@media screen and (min-width: 60em), print {
  .about-overview-make-use-of__card__text {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-make-use-of__card__text {
    font-size: 0.75rem;
  }
}

.about-overview-business-scale {
  background-color: var(--color-white);
}
@media screen and (min-width: 60em), print {
  .about-overview-business-scale {
    padding-top: 7.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-business-scale {
    padding-top: 5rem;
  }
}

.about-overview-business-scale__heading {
  font-weight: 700;
  color: var(--color-text-gray);
  text-align: center;
}
@media screen and (min-width: 60em), print {
  .about-overview-business-scale__heading {
    margin-bottom: 6rem;
    font-size: 3.75rem;
    line-height: 1.5;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-business-scale__heading {
    margin-bottom: 2.5rem;
    font-size: 2.5rem;
    line-height: 1.15;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-business-scale__heading span {
    display: block;
  }
}

.about-overview-business-scale__card-list {
  display: grid;
  gap: 1rem;
}
@media screen and (min-width: 60em), print {
  .about-overview-business-scale__card-list {
    grid-template-rows: repeat(2, auto);
    grid-template-columns: 2fr 1fr 1fr 2fr;
  }
}

.about-overview-business-scale__card {
  position: relative;
  display: grid;
  align-items: end;
  color: var(--color-white);
  text-align: center;
  background-color: var(--color-primary);
}
@media screen and (min-width: 60em), print {
  .about-overview-business-scale__card {
    min-height: 16rem;
    padding: 2.5rem 4rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-business-scale__card {
    padding: 2.5rem 2.5rem 2rem;
  }
}
.about-overview-business-scale__card::before {
  position: absolute;
  top: -1px;
  left: -1px;
  content: "";
  border-bottom: 5rem solid transparent;
  border-left: 5rem solid var(--color-white);
}
@media screen and (min-width: 60em), print {
  .about-overview-business-scale__card:nth-child(1) {
    grid-row: 1/2;
    grid-column: 1/2;
  }
}
@media screen and (min-width: 60em), print {
  .about-overview-business-scale__card:nth-child(2) {
    grid-row: 1/2;
    grid-column: 2/4;
  }
}
@media screen and (min-width: 60em), print {
  .about-overview-business-scale__card:nth-child(3) {
    grid-row: 1/2;
    grid-column: 4/5;
  }
}
@media screen and (min-width: 60em), print {
  .about-overview-business-scale__card:nth-child(4) {
    grid-row: 2/3;
    grid-column: 1/3;
  }
}
@media screen and (min-width: 60em), print {
  .about-overview-business-scale__card:nth-child(5) {
    grid-row: 2/3;
    grid-column: 3/5;
  }
}

.about-overview-business-scale__card__head {
  font-weight: 700;
}
@media screen and (min-width: 60em), print {
  .about-overview-business-scale__card__head {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-business-scale__card__head {
    font-size: 1.25rem;
  }
}
@media screen and (min-width: 60em), print {
  .about-overview-business-scale__card__head span {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-business-scale__card__head span {
    font-size: 1rem;
  }
}

.about-overview-business-scale__card__text {
  font-weight: 700;
  line-height: 1.45;
}
@media screen and (min-width: 60em), print {
  .about-overview-business-scale__card__text {
    font-size: 1.75rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-business-scale__card__text {
    font-size: 1.5rem;
  }
}
.about-overview-business-scale__card__text span {
  --letter-spacing: 0;
}
@media screen and (min-width: 60em), print {
  .about-overview-business-scale__card__text span {
    font-size: 5.3125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-business-scale__card__text span {
    font-size: 4.0625rem;
  }
}

.about-overview-business-scale__card__note {
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.45;
}

.about-overview-business-scale__card__sub-text {
  font-weight: 700;
  line-height: 1.45;
}
@media screen and (min-width: 60em), print {
  .about-overview-business-scale__card__sub-text {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 59.99em) {
  .about-overview-business-scale__card__sub-text {
    font-size: 0.875rem;
  }
}

.not-found__text {
  line-height: 1.8;
}

.not-found__buttons {
  display: flex;
  justify-content: center;
  margin-inline: auto;
}
@media screen and (min-width: 60em), print {
  .not-found__buttons {
    margin-top: 5rem;
  }
}
@media screen and (max-width: 59.99em) {
  .not-found__buttons {
    margin-top: 4rem;
  }
}
.not-found__buttons > * {
  width: min(15rem, 100%);
}

@media screen and (min-width: 60em), print {
  .pc\:u-hidden {
    display: none;
  }
}

@media screen and (max-width: 59.99em) {
  .sp\:u-hidden {
    display: none;
  }
}

.u-inline-block {
  display: inline-block;
}

.u-contents {
  display: contents;
}

.u-relative {
  position: relative;
}

.u-text-right {
  text-align: right;
}

.u-text-center {
  text-align: center;
}

.u-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}