@charset "UTF-8";
@import 'https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,100..1000&family=Noto+Sans+JP:wght@100..900&display=swap';

@font-face {
  font-family: Chillax-Medium;
  font-style: normal;
  font-weight: 500;
  src: url("/it-foresight/assets/fonts/Chillax-Medium.woff2") format("woff2"), url("/it-foresight/assets/fonts/Chillax-Medium.woff") format("woff"), url("/it-foresight/assets/fonts/Chillax-Medium.ttf") format("truetype");
}

:root {
  --100vw: 100vw;
  --1rem: 1rem;
  --window-width: calc(tan(atan2(var(--100vw), 1px)) * min(1, 16 / tan(atan2(var(--1rem), 1px))));
  --max-width: max(1440px, 90rem);
  --max-width-raw: var.$max-width;
  --min-width-raw: 375;
  /**
   *  layout
   */
  --header-space: clamp(3.75rem, (var(--window-width) * 0.00177 + 3.09) * 1rem, 5.625rem);
  --offset: clamp(20px, (var(--window-width) * 0.0564 + -1.127) * 1px, 80px);
  --gap: clamp(20px, (var(--window-width) * 0.0188 + 12.958) * 1px, 40px);
  /**
   *  space
   */
  --space-60-80: clamp(3.75rem, (var(--window-width) * 0.00118 + 3.31) * 1rem, 5rem);
  --space-40-60: clamp(2.5rem, (var(--window-width) * 0.00118 + 2.06) * 1rem, 3.75rem);
  --space-30-60: clamp(1.875rem, (var(--window-width) * 0.00177 + 1.215) * 1rem, 3.75rem);
  --space-30-40: clamp(1.875rem, (var(--window-width) * 0.000587 + 1.655) * 1rem, 2.5rem);
  --space-20-40: clamp(1.25rem, (var(--window-width) * 0.00118 + 0.81) * 1rem, 2.5rem);
  --space-20-30: clamp(1.25rem, (var(--window-width) * 0.000587 + 1.03) * 1rem, 1.875rem);
  --space-20-30-px: clamp(20px, (var(--window-width) * 0.00939 + 16.479) * 1px, 30px);
  --space-15-20: clamp(0.938rem, (var(--window-width) * 0.000294 + 0.828) * 1rem, 1.25rem);
  --space-10-20: clamp(0.625rem, (var(--window-width) * 0.000587 + 0.405) * 1rem, 1.25rem);
  --space-5-10: clamp(0.313rem, (var(--window-width) * 0.000294 + 0.203) * 1rem, 0.625rem);
  /**
   *  color
   */
  --color-black: #2d3544;
  --color-blue-gray: #456b93;
  --color-light-gray: #f3f4f8;
  --color-white: #fff;
  --color-background: #e1e2e8;
  --color-border: color-mix(in srgb, #778bb1 20%, transparent);
  /**
   *  font size
   */
  --fz-root: clamp(0.938rem, (var(--window-width) * 0.0000587 + 0.916) * 1rem, 1rem);
  --fz-h1: clamp(1.5rem, (var(--window-width) * 0.000705 + 1.236) * 1rem, 2.25rem);
  --fz-h2: clamp(1.375rem, (var(--window-width) * 0.00047 + 1.199) * 1rem, 1.875rem);
  --fz-h3: clamp(1.25rem, (var(--window-width) * 0.000235 + 1.162) * 1rem, 1.5rem);
  --fz-h4: clamp(1rem, (var(--window-width) * 0.000118 + 0.956) * 1rem, 1.125rem);
  --fz-small: clamp(0.688rem, (var(--window-width) * 0.0000587 + 0.666) * 1rem, 0.75rem);
  --fz-number: clamp(0.813rem, (var(--window-width) * 0.000118 + 0.769) * 1rem, 0.938rem);
  /**
   *  line weight
   */
  --fw-bold: 500;
  /**
   *  line height
   */
  --lh-root: 1.7;
  --lh-semi-narrow: 1.6;
  --lh-narrow: 1.5;
  --lh-ex-narrow: 1.4;
  /**
   *  font family
   */
  --ff-ja:
    "Noto Sans JP", "Hiragino Sans", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN",
    "Hiragino Kaku Gothic Pro", "メイリオ", meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  --ff-en: "DM Sans", var(--ff-ja);
  /**
   *  radius
   */
  --radius: clamp(3px, (var(--window-width) * 0.00188 + 2.296) * 1px, 5px);
  /**
   *  icon
   */
  --icon-arrow: url('data:image/svg+xml;utf8,<svg width="17" height="8" viewBox="0 0 17 8" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M15 4L11.6 7M15 4L11.6 1M15 4L-1.31134e-07 4" stroke="black" stroke-width="1.5" vector-effect="non-scaling-stroke"/></svg>');
  --icon-blank: url('data:image/svg+xml;utf8,<svg fill="none" height="12" viewBox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg"><path d="m4.7959 1.56055h-2.4375c-.44174.00011-.79981.35804-.79981.7998v7.2793c0 .44175.35807.80065.79981.80075h7.27246c.44174-.0001.79984-.359.79984-.80075v-2.43945h1.5586v2.7998c0 1.1046-.8955 2-2.00004 2h-7.98926c-1.104569 0-1.99999997-.8954-2-2v-8c.00000013-1.104569.895431-1.99999992 2-2h2.7959zm7.2041.00488h-.0107v3.62402h-1.5645v-2.58398l-3.09668 3.09961-1.10546-1.10742 3.02929-3.03223h-2.4375v-1.56543h5.18555z" fill="black"/></svg>');
  --icon-download: url('data:image/svg+xml;utf8,<svg fill="none" height="12" viewBox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg"><path d="m1.55859 9.64551c.00011.44169.35814.79969.79981.79979h7.26465c.44175 0 .79965-.3581.79985-.79979v-2.64551h1.5771v3c0 1.1046-.8954 2-2 2h-8c-1.104569 0-1.99999997-.8954-2-2v-3h1.55859zm5.30469-5.06934 1.83984-1.83984 1.18262 1.18262-3.91406 3.91406-1.18262-1.18262.00782-.00781-2.73536-2.73535 1.18067-1.18067 1.95019 1.9502-.00195-4.67676h1.6709z" fill="black"/></svg>');
  /**
   *  duration
   */
  --duration-base: 1s;
  --duration: calc(var(--duration-base) * 0.3);
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --duration-base: 0s;
  }
}

@property --100vw {
  syntax: "<length>";
  initial-value: 0;
  inherits: false;
}

@property --1rem {
  syntax: "<length>";
  initial-value: 0;
  inherits: false;
}

*:where(:not(html, iframe, canvas, img, svg, video, a, dialog, svg *, symbol *)) {
  all: unset;
  display: revert;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  text-size-adjust: 100%;
}

body {
  font-size: 1rem;
}

a,
button {
  cursor: revert;
}

ul,
ol,
menu,
details {
  list-style-type: "";
}

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

table {
  border-collapse: collapse;
}

input,
textarea,
select {
  appearance: none;
}

input,
button,
textarea,
select {
  font: inherit;
}

textarea {
  white-space: revert;
}

meter {
  appearance: revert;
}

b,
strong {
  font-weight: var(--fw-bold);
}

em,
i {
  font-style: italic;
}

s,
strike,
del {
  text-decoration: line-through;
}

sup {
  font-size: smaller;
  vertical-align: super;
}

sub {
  font-size: smaller;
  vertical-align: sub;
}

::placeholder {
  color: unset;
}

:where([hidden]) {
  display: none;
}

body {
  padding-inline-end: var(--scroll-gutter-width, 0);
  font-family: var(--ff-ja);
  font-size: var(--fz-root);
  font-feature-settings: "palt" 1;
  line-height: var(--lh-root);
  color: var(--color-black);
  background-color: var(--color-background);
}

body::before {
  position: fixed;
  top: calc(var(--window-width) / 1440 * -105px);
  left: 50%;
  width: 83.3333333333%;
  aspect-ratio: 1/1;
  content: "";
  background-image: url("/it-foresight/assets/img/background.avif");
  background-repeat: no-repeat;
  background-size: 100% 100%;
  translate: -50% 0;
}

@media screen and (width < max(768px, 48rem)) {
  body::before {
    top: 50svh;
    width: 106.6666666667%;
    background-image: url("/it-foresight/assets/img/background-sp.avif");
    translate: -50% -50%;
  }
}

body::after {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background-color: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(10px);
}

@media screen and (width < max(768px, 48rem)) {
  body::after {
    backdrop-filter: blur(5px);
  }
}

:where(*) {
  letter-spacing: 0.02em;
}

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

:focus-visible {
  outline: 3px solid var(--color-blue-gray);
  outline-offset: 2px;
}

.visually-hidden {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  display: block !important;
  visibility: visible !important;
  width: 4px !important;
  height: 4px !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  border: none !important;
  opacity: 0 !important;
}

/**
 *  SiteWide
 */
.sw-Container {
  position: relative;
  z-index: 1;
  padding-block-start: var(--header-space);
  overflow: clip;
}

.sw-Header {
  position: fixed;
  top: var(--space-10-20);
  left: 0;
  z-index: 2;
  width: 100%;
  padding-inline: clamp(10px, (var(--window-width) * 0.0282 + -0.563) * 1px, 40px);
}

@media (prefers-reduced-motion: reduce) {
  .sw-Header {
    position: absolute;
  }
}

.sw-Header_Inner {
  --_sw-header-height: clamp(3.125rem, (var(--window-width) * 0.00118 + 2.685) * 1rem, 4.375rem);
  --_sw-header-padding-block: clamp(0.313rem, (var(--window-width) * 0.000294 + 0.203) * 1rem, 0.625rem);
  --_sw-header-padding-inline: clamp(5px, (var(--window-width) * 0.0047 + 3.239) * 1px, 10px);
  display: flex;
  gap: 30px;
  align-items: center;
  justify-content: space-between;
  max-width: max(1980px, 123.75rem);
  height: var(--_sw-header-height);
  padding: calc(var(--_sw-header-padding-block) - 1px) calc(var(--_sw-header-padding-inline) - 1px) calc(var(--_sw-header-padding-block) - 1px) calc(clamp(15px, (var(--window-width) * 0.0141 + 9.718) * 1px, 30px) - 1px);
  margin-inline: auto;
  overflow: clip;
  background-color: var(--color-white);
  border: 1px solid transparent;
  border-radius: var(--radius);
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.15);
}

@media screen and (width < max(768px, 48rem)) {
  .sw-Header_Inner {
    gap: 10px;
  }
}

.sw-Header_Title {
  display: flex;
  gap: 0.625rem;
  align-items: center;
}

.sw-Header_Logo {
  font-family: Chillax-Medium, sans-serif;
  font-size: clamp(1.25rem, (var(--window-width) * 0.00047 + 1.074) * 1rem, 1.75rem);
  font-weight: var(--fw-bold);
  line-height: 1;
  letter-spacing: normal;
  letter-spacing: -0.02em;
}

.sw-Header_Logo .-blue-gray {
  color: var(--color-blue-gray);
}

.sw-Header_Logo .-g {
  letter-spacing: -0.07em;
}

.sw-Header_SubTitle {
  font-size: 0.6875rem;
  font-weight: var(--fw-bold);
}

@media screen and (width < max(768px, 48rem)) {
  .sw-Header_SubTitle {
    display: none;
  }
}

@media screen and (width < max(768px, 48rem)) {
  .sw-Header_Links {
    height: var(--_sw-header-height);
    padding-inline: var(--_sw-header-padding-inline);
    margin: calc(var(--_sw-header-padding-block) * -1) calc(var(--_sw-header-padding-inline) * -1);
    overflow: clip;
  }
}

.sw-Header_LinksInner {
  display: flex;
  gap: 0 30px;
  align-items: center;
}

@media screen and (width < max(768px, 48rem)) {
  .sw-Header_LinksInner {
    display: grid;
    grid-template-rows: var(--_sw-header-height) clamp(3.125rem, (var(--window-width) * 0.00118 + 2.685) * 1rem, 4.375rem);
    grid-template-columns: minmax(0, 1fr);
    transition: translate var(--duration);
  }

  .-scrolled-past-fv .sw-Header_LinksInner,
  .sw-Header_LinksInner:has(.sw-Header_AboutLink:focus-visible) {
    translate: 0 calc(clamp(3.125rem, (var(--window-width) * 0.00118 + 2.685) * 1rem, 4.375rem) * -1);
  }

  .sw-Header_LinksInner:has(.sw-Header_CybozuLogo a:focus-visible) {
    translate: 0 0;
  }
}

@media screen and (width < max(768px, 48rem)) {
  .sw-Header_CybozuLogo {
    padding-inline-end: 10px;
  }
}

.sw-Header_CybozuLogo a {
  display: block;
  width: max(clamp(64px, (var(--window-width) * 0.0198 + 56.606) * 1px, 85px), clamp(4rem, (var(--window-width) * 0.00124 + 3.538) * 1rem, 5.313rem));
  margin-left: auto;
}

.sw-Header_CybozuLogo img {
  display: block;
  width: 100%;
}

.sw-Header_About.-out-header {
  display: none;
}

@media screen and (width < max(768px, 48rem)) {
  .sw-Header_About.-out-header {
    position: fixed;
    right: 20px;
    bottom: 20px;
    display: block;
    transition: visibility var(--duration), translate var(--duration);
  }

  .-scrolled-past-fv .sw-Header_About.-out-header {
    visibility: hidden;
    pointer-events: none;
    translate: 0 calc(20px + clamp(2.5rem, (var(--window-width) * 0.000587 + 2.28) * 1rem, 3.125rem));
  }
}

@media screen and (width < max(768px, 48rem)) {
  .sw-Header_About.-current {
    display: none;
  }
}

.sw-Header_AboutLink {
  display: flex;
  gap: clamp(5px, (var(--window-width) * 0.00939 + 1.479) * 1px, 15px);
  align-items: center;
  height: clamp(2.5rem, (var(--window-width) * 0.000587 + 2.28) * 1rem, 3.125rem);
  padding-inline: calc(clamp(10px, (var(--window-width) * 0.00939 + 6.479) * 1px, 20px) - 1px);
  font-size: clamp(0.75rem, (var(--window-width) * 0.000118 + 0.706) * 1rem, 0.875rem);
  font-weight: var(--fw-bold);
  background-color: var(--color-light-gray);
  border: 1px solid transparent;
  border-radius: var(--radius);
}

@media screen and (width < max(768px, 48rem)) {
  .sw-Header_About:not(.-in-header) .sw-Header_AboutLink {
    background-color: var(--color-white);
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.15);
  }
}

.sw-Footer {
  padding-block: calc(3.75rem - 1px) 3.75rem;
  color: var(--color-white);
  background-color: var(--color-black);
  border-block-start: 1px solid transparent;
}

.sw-Footer :focus-visible {
  outline-color: var(--color-white);
}

.sw-Footer_Inner {
  position: relative;
  max-width: var(--max-width);
  padding-inline: var(--offset);
  margin-inline: auto;
}

.sw-Footer_SiteTitle {
  font-family: Chillax-Medium, sans-serif;
  font-size: 2.125rem;
  font-weight: var(--fw-bold);
  line-height: 1;
}

.sw-Footer_SiteTitle a {
  letter-spacing: -0.02em;
}

.sw-Footer_SiteTitle .-g {
  letter-spacing: -0.07em;
}

@media screen and (width < max(768px, 48rem)) {
  .sw-Footer_SiteTitle {
    font-size: 2.25rem;
  }
}

.sw-Footer_Info {
  display: flex;
  justify-content: space-between;
  padding-block-start: 2.5rem;
  margin-block-start: 3.75rem;
  border-block-start: 1px solid color-mix(in srgb, var(--color-white) 20%, transparent);
}

@media screen and (width < max(576px, 36rem)) {
  .sw-Footer_Info {
    display: contents;
  }
}

.sw-Footer_Links {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem 30px;
  font-size: var(--fz-small);
  font-weight: var(--fw-bold);
  line-height: var(--lh-semi-narrow);
}

@media screen and (width < max(576px, 36rem)) {
  .sw-Footer_Links {
    margin-block-start: 5rem;
  }
}

.sw-Footer_Links a {
  transition: opacity calc(0.12 * var(--duration-base));
}

@media (hover: hover) {
  .sw-Footer_Links a:hover {
    opacity: 0.4;
  }
}

.sw-Footer_Links a > span:has(+ svg) {
  padding-inline-end: calc(clamp(5px, (var(--window-width) * 0.0047 + 3.239) * 1px, 10px) + 0.625rem);
}

.sw-Footer_Links a > svg {
  width: 0.625rem;
  height: 0.625rem;
  margin-inline-start: -0.625rem;
  background-color: currentcolor;
  mask-image: var(--icon-blank);
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
}

@media (forced-colors: active) {
  .sw-Footer_Links a > svg {
    background-color: LinkText;
  }
}

@media screen and (width < max(576px, 36rem)) {
  .sw-Footer_Company {
    display: flex;
    flex-wrap: wrap;
    gap: 1.25rem 30px;
    align-items: center;
    padding-block-start: var(--space-30-40);
    margin-block-start: var(--space-30-40);
    border-block-start: 1px solid color-mix(in srgb, var(--color-white) 20%, transparent);
  }
}

.sw-Footer_Cybozu {
  position: absolute;
  top: 0;
  right: var(--offset);
  display: flex;
  align-items: center;
  height: 2.125rem;
}

@media screen and (width < max(576px, 36rem)) {
  .sw-Footer_Cybozu {
    position: static;
    height: auto;
  }
}

.sw-Footer_Cybozu img {
  display: block;
  width: 7.5rem;
}

@media screen and (width < max(576px, 36rem)) {
  .sw-Footer_Cybozu img {
    width: 5.3125rem;
  }
}

.sw-Footer_Copyright {
  color: color-mix(in srgb, var(--color-white) 40%, transparent);
  font-size: var(--fz-small);
  font-weight: var(--fw-bold);
  line-height: var(--lh-semi-narrow);
}

.sw-Arrow {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(2.5rem, (var(--window-width) * 0.000646 + 2.258) * 1rem, 3.188rem);
  height: clamp(1.125rem, (var(--window-width) * 0.000235 + 1.037) * 1rem, 1.375rem);
  overflow: hidden;
  text-align: left;
  background-color: var(--_sw-arrow-bgc);
  border: 1px solid transparent;
  border-radius: 9999rem;
}

.sw-Arrow.-size-min {
  width: clamp(1.5rem, (var(--window-width) * 0.000529 + 1.302) * 1rem, 2.063rem);
  height: clamp(0.625rem, (var(--window-width) * 0.000235 + 0.537) * 1rem, 0.875rem);
}

.sw-Arrow.-color-black {
  --_sw-arrow-bgc: var(--color-black);
  --_sw-arrow-icon-color: var(--color-white);
}

.sw-Arrow.-color-gray {
  --_sw-arrow-bgc: var(--color-light-gray);
  --_sw-arrow-icon-color: var(--color-black);
}

.sw-Arrow.-color-gray-white {
  --_sw-arrow-bgc: var(--color-light-gray);
  --_sw-arrow-icon-color: var(--color-black);
}

@media screen and (width < max(768px, 48rem)) {
  .sw-Arrow.-color-gray-white {
    --_sw-arrow-bgc: var(--color-white);
  }
}

.sw-Arrow_icons {
  position: relative;
  flex: 0 0 auto;
  width: clamp(0.875rem, (var(--window-width) * 0.000177 + 0.809) * 1rem, 1.063rem);
  height: clamp(0.5rem, (var(--window-width) * 0 + 0.5) * 1rem, 0.5rem);
  container-type: inline-size;
  overflow: hidden;
}

[disabled] .sw-Arrow_icons {
  opacity: 0.3;
}

.sw-Arrow.-size-min .sw-Arrow_icons {
  width: 0.75rem;
  height: 0.375rem;
}

.sw-Arrow_icon {
  position: absolute;
  width: 100%;
  height: 100%;
}

.sw-Arrow_icon::before,
.sw-Arrow_icon::after {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background-color: var(--_sw-arrow-icon-color);
  mask-image: var(--icon-arrow);
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
}

@media (forced-colors: active) {

  button .sw-Arrow_icon::before,
  button .sw-Arrow_icon::after {
    background-color: CanvasText;
  }

  a .sw-Arrow_icon::before,
  a .sw-Arrow_icon::after {
    background-color: LinkText;
  }
}

.sw-Arrow_icon::before {
  translate: -200cqw 0;
}

.sw-Arrow_icon.-next {
  visibility: hidden;
}

@media (hover: hover) {
  :is(a, button):hover .sw-Arrow_icon.-next {
    visibility: visible;
    translate: 200cqw 0;
    transition: translate var(--duration);
  }
}

.sw-Arrow_icon.-black {
  visibility: visible;
  translate: 200cqw 0;
  transition: translate var(--duration);
}

@media (hover: hover) {
  :is(a, button):hover .sw-Arrow_icon.-black {
    visibility: hidden;
    translate: 0 0;
    transition: none;
  }
}

.sw-Pill {
  display: block;
  width: fit-content;
  padding: calc(clamp(0.0625rem, (var(--window-width) * 0.0000587 + 0.0405) * 1rem, 0.125rem) - 1px) calc(clamp(0.625rem, (var(--window-width) * 0.000118 + 0.581) * 1rem, 0.75rem) - 1px);
  color: var(--color-blue-gray);
  background-color: var(--_sw-pill-bgc);
  border: 1px solid transparent;
  border-radius: 9999rem;
  font-size: var(--fz-small);
  font-weight: var(--fw-bold);
  line-height: var(--lh-semi-narrow);
}

.sw-Pill.-color-gray {
  --_sw-pill-bgc: var(--color-light-gray);
}

.sw-Pill.-color-white {
  --_sw-pill-bgc: var(--color-white);
}

.sw-Pill.-color-gray-white {
  --_sw-pill-bgc: var(--color-light-gray);
}

@media screen and (width < max(768px, 48rem)) {
  .sw-Pill.-color-gray-white {
    --_sw-pill-bgc: var(--color-white);
  }
}

.sw-ArticleMeta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem 15px;
  align-items: center;
}

.sw-ArticleMeta_Date {
  color: var(--color-blue-gray);
  font-family: var(--ff-en);
  font-size: var(--fz-number);
  font-weight: var(--fw-bold);
  line-height: var(--lh-ex-narrow);
  letter-spacing: normal;
}

.sw-Slider .splide {
  position: relative;
  visibility: visible;
  container-type: inline-size;
  isolation: isolate;
}

.sw-Slider .splide__track {
  visibility: visible;
  overflow: visible;
}

.sw-Slider .splide__slide {
  flex: 0 0 auto;
  width: max(clamp(217px, (var(--window-width) * 0.172 + 152.563) * 1px, 400px), clamp(13.563rem, (var(--window-width) * 0.0108 + 9.535) * 1rem, 25rem));
  max-width: min(64.776cqw, max(400px, 25rem));
}

.sw-Slider .splide__slide:not(:last-child) {
  margin-inline-end: var(--gap);
}

.sw-Slider .splide__arrows {
  position: relative;
  display: flex;
  gap: 15px;
  align-items: center;
  justify-content: flex-end;
  margin-block-end: var(--space-30-40);
}

.sw-Slider .splide__arrows.-floating {
  position: absolute;
  bottom: calc(100% + var(--space-30-40));
  width: 100%;
  height: calc(var(--fz-h3) * var(--lh-narrow));
  margin-block-end: 0;
  pointer-events: none;
}

.sw-Slider .splide__arrow {
  position: static;
  width: auto;
  height: auto;
  pointer-events: auto;
  cursor: pointer;
  background-color: transparent;
  border-radius: 0;
  opacity: 1;
  transform: none;
}

.sw-Slider .splide__arrow:disabled {
  pointer-events: none;
  opacity: 1;
}

.sw-Slider .splide__arrow--prev {
  rotate: 180deg;
}

.sw-SliderSlide {
  display: flex;
  flex-direction: column;
  gap: var(--space-15-20);
  border-radius: var(--radius);
}

.sw-SliderSlide_Thumbnail {
  aspect-ratio: 400/210;
  overflow: hidden;
  background-color: var(--_sw-slider-thumbnail-bgc, var(--color-light-gray));
  border-radius: var(--radius);
  position: relative;
}

.sw-SliderSlide_Thumbnail::after,
.sw-SliderSlide_Thumbnail::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background-color: var(--color-white);
  mix-blend-mode: hard-light;
  opacity: 0.4;
}

.sw-SliderSlide_Thumbnail::before {
  clip-path: polygon(0% 0%, 0% 0%, -25% 100%, -25% 100%);
}

.sw-SliderSlide_Thumbnail::after {
  clip-path: polygon(125% 0%, 125% 0%, 100% 100%, 100% 100%);
  transition: clip-path var(--duration) ease;
}

@media (hover: hover) {

  a:hover .sw-SliderSlide_Thumbnail::before,
  a:hover .sw-SliderSlide_Thumbnail::after {
    clip-path: polygon(0% 0%, 125% 0%, 100% 100%, -25% 100%);
  }

  a:hover .sw-SliderSlide_Thumbnail::before {
    transition: clip-path var(--duration) ease;
  }

  a:hover .sw-SliderSlide_Thumbnail::after {
    visibility: hidden;
    transition: none;
  }
}

.sw-SliderSlide_Thumbnail img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.sw-SliderSlid_Content {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}

.sw-SliderSlid_Title {
  font-size: var(--fz-h4);
  font-weight: var(--fw-bold);
}

.sw-SliderSlid_Title > b:has(+ svg) {
  padding-inline-end: calc(clamp(5px, (var(--window-width) * 0.0047 + 3.239) * 1px, 10px) + 0.75rem);
}

.sw-SliderSlid_Title > svg {
  width: 0.75rem;
  height: 0.75rem;
  margin-inline-start: -0.75rem;
  background-color: currentcolor;
  mask-image: var(--icon-blank);
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
}

@media (forced-colors: active) {
  .sw-SliderSlid_Title > svg {
    background-color: LinkText;
  }
}

.sw-OtherPageLayout {
  padding-block: clamp(5rem, (var(--window-width) * 0.00587 + 2.799) * 1rem, 11.25rem);
}

@media (forced-colors: active) {
  .sw-OtherPageLayout {
    background-color: #fff;
  }
}

.sw-OtherPageLayout_Inner {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-60-80) var(--gap);
  max-width: var(--max-width);
  padding-inline: var(--offset);
  margin-inline: auto;
}

@media screen and (width < max(768px, 48rem)) {
  .sw-OtherPageLayout_Inner {
    grid-template-columns: minmax(0, 1fr);
  }
}

.sw-OtherPageLayout_Heading {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-5-10) 15px;
  align-items: baseline;
  align-self: start;
  color: var(--color-blue-gray);
}

.sw-FeaturedReports {
  padding-block: calc(var(--space-60-80) - 1px) var(--space-60-80);
  background-color: var(--color-white);
  border-block-start: 1px solid transparent;
}

@media screen and (width < max(768px, 48rem)) {
  .sw-FeaturedReports {
    --_sw-slider-thumbnail-bgc: var(--color-white);
    background-color: var(--color-light-gray);
  }
}

.sw-FeaturedReports_Inner {
  position: relative;
  max-width: var(--max-width);
  padding-inline: var(--offset);
  margin-inline: auto;
}

.sw-FeaturedReports_Heading {
  margin-block-end: var(--space-30-40);
  font-size: var(--fz-h3);
  font-weight: var(--fw-bold);
  line-height: var(--lh-narrow);
}

.sw-Button {
  display: flex;
  gap: 15px;
  align-items: center;
  width: fit-content;
  padding: calc(clamp(0.5rem, (var(--window-width) * 0.000118 + 0.456) * 1rem, 0.625rem) - 1px) calc(clamp(1.875rem, (var(--window-width) * 0.000587 + 1.655) * 1rem, 2.5rem) - 1px);
  font-size: clamp(0.75rem, (var(--window-width) * 0.000118 + 0.706) * 1rem, 0.875rem);
  font-weight: 700;
  color: var(--_sw-button-color);
  background-color: var(--_sw-button-bgc);
  border: 1px solid var(--_sw-button-border);
  border-radius: 9999rem;
  transition: background-color var(--duration), color var(--duration);
}

.sw-Button.-theme-light {
  --_sw-button-border: var(--color-black);
  --_sw-button-bgc: var(--color-white);
  --_sw-button-color: var(--color-black);
  --_sw-button-bgc-hover: var(--color-black);
  --_sw-button-color-hover: var(--color-white);
}

@media (hover: hover) {
  .sw-Button.-theme-light:hover {
    --_sw-button-bgc: var(--color-black);
    --_sw-button-color: var(--color-white);
  }
}

.sw-Button.-theme-dark {
  --_sw-button-border: var(--color-black);
  --_sw-button-bgc: var(--color-black);
  --_sw-button-color: var(--color-white);
}

@media (hover: hover) {
  .sw-Button.-theme-dark:hover {
    --_sw-button-bgc: var(--color-white);
    --_sw-button-color: var(--color-black);
  }
}

.sw-Button_icons {
  position: relative;
  flex: 0 0 auto;
  width: 0.75rem;
  height: 0.75rem;
  container-type: inline-size;
  overflow: hidden;
}

.sw-Button_icons.-icon-arrow {
  --_sw-button-icon: var(--icon-arrow);
  --_sw-button-translate: -200cqw 0;
  --_sw-button-translate-hover: 200cqw 0;
}

.sw-Button_icons.-icon-download {
  --_sw-button-icon: var(--icon-download);
  --_sw-button-translate: 0 -200cqw;
  --_sw-button-translate-hover: 0 200cqw;
}

.sw-Button_icons.-icon-blank {
  --_sw-button-icon: var(--icon-blank);
  --_sw-button-translate: -200cqw 200cqw;
  --_sw-button-translate-hover: 200cqw -200cqw;
}

.sw-Button_icon {
  position: absolute;
  width: 100%;
  height: 100%;
}

.sw-Button_icon::before,
.sw-Button_icon::after {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background-color: var(--_sw-button-color);
  mask-image: var(--_sw-button-icon);
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  transition: background-color var(--duration);
}

@media (forced-colors: active) {

  .sw-Button_icon::before,
  .sw-Button_icon::after {
    background-color: LinkText;
  }
}

.sw-Button_icon::before {
  translate: var(--_sw-button-translate);
}

.sw-Button_icon.-next {
  visibility: hidden;
}

@media (hover: hover) {
  .sw-Button:hover .sw-Button_icon.-next {
    visibility: visible;
    translate: var(--_sw-button-translate-hover);
    transition: translate var(--duration);
  }
}

.sw-Button_icon.-black {
  visibility: visible;
  translate: var(--_sw-button-translate-hover);
  transition: translate var(--duration);
}

@media (hover: hover) {
  .sw-Button:hover .sw-Button_icon.-black {
    visibility: hidden;
    translate: 0 0;
    transition: none;
  }
}

/**
 *  Home
 */
.hm-FirstView {
  gap: 2.5rem 0;
  max-width: var(--max-width);
  padding: var(--space-20-40) var(--offset) 0;
  margin-inline: auto;
}

.hm-FirstView_Link {
  position: relative;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 0 var(--gap);
  outline: 0;
}

.hm-FirstView_Link::after {
  position: absolute;
  top: 0;
  right: calc(var(--offset) * -1 / 2);
  left: calc(var(--offset) * -1 / 2);
  height: 100%;
  pointer-events: none;
  content: "";
  border-radius: var(--radius);
}

@media screen and (width < max(768px, 48rem)) {
  .hm-FirstView_Link::after {
    right: 0;
    left: 0;
  }
}

.hm-FirstView_Link:focus-visible::after {
  outline: 3px solid var(--color-blue-gray);
  outline-offset: 2px;
}

@media screen and (width < max(768px, 48rem)) {
  .hm-FirstView_Link {
    display: block;
  }
}

.hm-FirstView_Thumbnail {
  grid-column: 1/span 8;
  padding-block-end: var(--gap);
  margin-inline-start: calc(var(--offset) * -1 / 2);
}

@media screen and (width < max(840px, 52.5rem)) {
  .hm-FirstView_Thumbnail {
    padding-block-end: var(--space-30-40);
  }
}

@media screen and (width < max(768px, 48rem)) {
  .hm-FirstView_Thumbnail {
    margin: 0;
  }
}

.hm-FirstView_ThumbnailInner {
  position: relative;
  aspect-ratio: 880/462;
  overflow: hidden;
  border-radius: var(--radius);
  position: relative;
}

.hm-FirstView_ThumbnailInner::after,
.hm-FirstView_ThumbnailInner::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background-color: var(--color-white);
  mix-blend-mode: hard-light;
  opacity: 0.4;
}

.hm-FirstView_ThumbnailInner::before {
  clip-path: polygon(0% 0%, 0% 0%, -25% 100%, -25% 100%);
}

.hm-FirstView_ThumbnailInner::after {
  clip-path: polygon(125% 0%, 125% 0%, 100% 100%, 100% 100%);
  transition: clip-path var(--duration) ease;
}

@media (hover: hover) {

  a:hover .hm-FirstView_ThumbnailInner::before,
  a:hover .hm-FirstView_ThumbnailInner::after {
    clip-path: polygon(0% 0%, 125% 0%, 100% 100%, -25% 100%);
  }

  a:hover .hm-FirstView_ThumbnailInner::before {
    transition: clip-path var(--duration) ease;
  }

  a:hover .hm-FirstView_ThumbnailInner::after {
    visibility: hidden;
    transition: none;
  }
}

.hm-FirstView_ThumbnailInner img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.hm-FirstView_Content {
  display: flex;
  flex-direction: column;
  grid-column: 9/span 4;
  margin-inline-end: calc(var(--offset) * -1);
}

@media screen and (width < max(840px, 52.5rem)) {
  .hm-FirstView_Content {
    display: contents;
  }
}

@media screen and (width < max(768px, 48rem)) {
  .hm-FirstView_Content {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0 var(--gap);
    margin-inline-end: 0;
  }
}

.hm-FirstView_Info {
  display: flex;
  flex: 1 0 auto;
  flex-direction: column;
  max-width: calc(max(400px, 25rem) + var(--gap));
  padding-inline-end: var(--gap);
  margin-inline-start: auto;
}

@media screen and (width < max(840px, 52.5rem)) {
  .hm-FirstView_Info {
    grid-column: 9/span 4;
    margin-inline-end: calc(var(--offset) * -1);
  }
}

@media screen and (width < max(768px, 48rem)) {
  .hm-FirstView_Info {
    grid-column: 1/span 6;
    max-width: 100%;
    padding: 0;
    margin: 0;
  }
}

.hm-FirstView_Info::before {
  flex: 1 1 auto;
  content: "";
}

.hm-FirstView_Info::after {
  flex: 1 0 auto;
  min-height: 1.875rem;
  content: "";
}

.hm-FirstView_Title {
  margin-block-start: var(--space-10-20);
  font-size: clamp(1.375rem, (var(--window-width) * 0.000235 + 1.287) * 1rem, 1.625rem);
  font-weight: var(--fw-bold);
  line-height: var(--lh-ex-narrow);
}

.hm-FirstView_Icon {
  display: flex;
  justify-content: flex-end;
  margin-block-start: var(--space-20-30);
}

.hm-FirstView_Description {
  position: relative;
  padding: var(--space-20-40) var(--gap);
  margin-block-start: auto;
  font-size: clamp(0.75rem, (var(--window-width) * 0.0000587 + 0.728) * 1rem, 0.813rem);
  background-color: var(--color-white);
  border-radius: var(--radius) 0 0 0;
}

@media (forced-colors: active) {
  .hm-FirstView_Description {
    border-block-start: 1px solid transparent;
    border-inline-start: 1px solid transparent;
  }
}

@media screen and (width < max(840px, 52.5rem)) {
  .hm-FirstView_Description {
    grid-column: 3/span 10;
    margin-inline-end: calc(var(--offset) * -1);
  }
}

@media screen and (width < max(768px, 48rem)) {
  .hm-FirstView_Description {
    grid-column: 2/span 5;
    padding-inline-end: var(--offset);
    margin-inline-start: calc(var(--gap) * -1);
  }
}

.hm-FirstView_Description::before {
  position: absolute;
  right: 100%;
  bottom: 0;
  width: var(--radius);
  height: var(--radius);
  content: "";
  background-image: url('data:image/svg+xml,<svg fill="none" height="5" viewBox="0 0 5 5" width="5" xmlns="http://www.w3.org/2000/svg"><path d="m485 260c0 2.761-2.239 5-5 5h-1430c-2.761 0-5-2.239-5-5v-250c0-2.76141 2.239-5 5-5h950c2.76141 0 5-2.23857 5-5v-136c0-2.761 2.23859-5 5-5h470c2.761 0 5 2.239 5 5z" fill="white"/></svg>');
}

@media (forced-colors: active) {
  .hm-FirstView_Description::before {
    content: normal;
  }
}

.hm-FirstView_Description::after {
  position: absolute;
  top: 0;
  left: 100%;
  width: 100vw;
  height: 100%;
  pointer-events: none;
  content: "";
  background-color: var(--color-white);
}

.hm-Section {
  border-block-start: 1px solid transparent;
}

.hm-Section.-white {
  background-color: var(--color-white);
}

@media (forced-colors: active) {
  .hm-Section {
    background-color: Canvas;
  }
}

.hm-SectionHeader {
  border-block-end: 1px solid var(--color-border);
}

@media (forced-colors: active) {
  .hm-SectionHeader {
    border-block-end: 0;
  }
}

.hm-SectionHeader_Inner {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2.5rem var(--gap);
  max-width: var(--max-width);
  padding: calc(var(--space-60-80) - 1px) var(--offset) var(--space-60-80);
  margin-inline: auto;
}

@media (forced-colors: active) {
  .hm-SectionHeader_Inner::after {
    position: absolute;
    bottom: 0;
    left: var(--offset);
    width: calc(100% - var(--offset) * 2);
    height: 1px;
    content: "";
    border-block-start: 1px solid var(--color-border);
  }
}

@media screen and (width < max(768px, 48rem)) {
  .hm-SectionHeader_Inner {
    grid-template-columns: minmax(0, 1fr);
  }
}

.hm-SectionHeader_Hgroup {
  display: flex;
  flex-direction: column;
  gap: var(--space-5-10);
}

.hm-SectionHeader_En {
  color: var(--color-blue-gray);
  text-transform: uppercase;
  font-family: var(--ff-en);
  font-size: clamp(0.688rem, (var(--window-width) * 0.000118 + 0.644) * 1rem, 0.813rem);
  font-weight: var(--fw-bold);
  line-height: 1.2;
  letter-spacing: normal;
}

.hm-SectionHeader_Ja {
  word-break: keep-all;
  overflow-wrap: anywhere;
  line-break: strict;
  font-size: clamp(1.75rem, (var(--window-width) * 0.00118 + 1.31) * 1rem, 3rem);
  font-weight: var(--fw-bold);
  line-height: var(--lh-ex-narrow);
}

.hm-SectionHeader_Description {
  align-self: center;
  word-break: keep-all;
  overflow-wrap: anywhere;
  line-break: strict;
}

.hm-SectionHeader_Description .--no-wb {
  word-break: initial;
}

.hm-SectionContent {
  max-width: var(--max-width);
  padding: var(--space-60-80) var(--offset);
  margin-inline: auto;
}

.hm-WhitePaperList {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-30-60) var(--gap);
  container-type: inline-size;
}

@media screen and (width < max(768px, 48rem)) {
  .hm-WhitePaperList {
    grid-template-columns: minmax(0, 1fr);
  }
}

.hm-WhitePaperList_Item {
  position: relative;
}

.hm-WhitePaperList_Item:not(:nth-child(odd):nth-last-child(2), :nth-child(even):nth-last-child(1)) {
  padding-block-end: var(--space-30-60);
}

.hm-WhitePaperList_Item:nth-child(odd):not(:nth-last-child(2), :nth-last-child(1))::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100cqi;
  height: 1px;
  content: "";
  border-block-start: 1px solid var(--color-border);
}

@media screen and (width < max(768px, 48rem)) {
  .hm-WhitePaperList_Item:nth-child(odd):not(:nth-last-child(2), :nth-last-child(1))::after {
    content: normal;
  }
}

@media screen and (width < max(768px, 48rem)) {
  .hm-WhitePaperList_Item:not(:last-child) {
    padding-block-end: var(--space-30-60);
    border-block-end: 1px solid var(--color-border);
  }
}

.hm-WhitePaper {
  display: flex;
  flex-direction: column;
  gap: var(--space-20-30);
  min-height: 100%;
  border-radius: var(--radius);
}

.hm-WhitePaper_Thumbnail {
  aspect-ratio: 620/325;
  overflow: hidden;
  border-radius: var(--radius);
  position: relative;
}

.hm-WhitePaper_Thumbnail::after,
.hm-WhitePaper_Thumbnail::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background-color: var(--color-white);
  mix-blend-mode: hard-light;
  opacity: 0.4;
}

.hm-WhitePaper_Thumbnail::before {
  clip-path: polygon(0% 0%, 0% 0%, -25% 100%, -25% 100%);
}

.hm-WhitePaper_Thumbnail::after {
  clip-path: polygon(125% 0%, 125% 0%, 100% 100%, 100% 100%);
  transition: clip-path var(--duration) ease;
}

@media (hover: hover) {

  a:hover .hm-WhitePaper_Thumbnail::before,
  a:hover .hm-WhitePaper_Thumbnail::after {
    clip-path: polygon(0% 0%, 125% 0%, 100% 100%, -25% 100%);
  }

  a:hover .hm-WhitePaper_Thumbnail::before {
    transition: clip-path var(--duration) ease;
  }

  a:hover .hm-WhitePaper_Thumbnail::after {
    visibility: hidden;
    transition: none;
  }
}

.hm-WhitePaper_Thumbnail img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.hm-WhitePaper_Content {
  display: flex;
  flex-direction: column;
  gap: var(--space-10-20);
}

.hm-WhitePaper_Heading {
  font-size: var(--fz-h3);
  font-weight: var(--fw-bold);
  line-height: var(--lh-narrow);
}

.hm-WhitePaper_Icon {
  display: flex;
  justify-content: flex-end;
  margin-block-start: auto;
}

.hm-EventReportList {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.hm-EventReportList_Item {
  position: relative;
}

.hm-EventReport {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-20-30) var(--gap);
  padding-block: calc(var(--gap) - 1px);
  overflow: hidden;
  background-color: var(--color-white);
  border: 1px solid transparent;
  border-radius: var(--radius);
}

@media screen and (width < max(768px, 48rem)) {
  .hm-EventReport {
    display: flex;
    flex-direction: column;
    gap: var(--space-20-30);
    padding-inline: var(--gap);
  }
}

.hm-EventReport_Thumbnail {
  grid-column: 1/span 5;
  align-self: start;
  aspect-ratio: 511/268;
  margin-inline: var(--gap) calc(var(--gap) * -1);
  overflow: hidden;
  border-radius: var(--radius);
  position: relative;
}

.hm-EventReport_Thumbnail::after,
.hm-EventReport_Thumbnail::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background-color: var(--color-white);
  mix-blend-mode: hard-light;
  opacity: 0.4;
}

.hm-EventReport_Thumbnail::before {
  clip-path: polygon(0% 0%, 0% 0%, -25% 100%, -25% 100%);
}

.hm-EventReport_Thumbnail::after {
  clip-path: polygon(125% 0%, 125% 0%, 100% 100%, 100% 100%);
  transition: clip-path var(--duration) ease;
}

@media (hover: hover) {

  a:hover .hm-EventReport_Thumbnail::before,
  a:hover .hm-EventReport_Thumbnail::after {
    clip-path: polygon(0% 0%, 125% 0%, 100% 100%, -25% 100%);
  }

  a:hover .hm-EventReport_Thumbnail::before {
    transition: clip-path var(--duration) ease;
  }

  a:hover .hm-EventReport_Thumbnail::after {
    visibility: hidden;
    transition: none;
  }
}

@media screen and (width < max(768px, 48rem)) {
  .hm-EventReport_Thumbnail {
    width: 100%;
    margin: 0;
  }
}

.hm-EventReport_Thumbnail img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.hm-EventReport_Content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-column: 6/span 7;
  gap: var(--gap);
  justify-content: center;
  padding-inline: var(--gap);
}

@media screen and (width < max(768px, 48rem)) {
  .hm-EventReport_Content {
    display: contents;
  }
}

.hm-EventReport_ContentInner {
  display: flex;
  flex-direction: column;
  gap: var(--space-10-20);
}

.hm-EventReport_Heading {
  font-size: var(--fz-h3);
  font-weight: var(--fw-bold);
  line-height: var(--lh-narrow);
}

.hm-EventReport_Icon {
  display: flex;
  align-items: flex-end;
  padding-inline-start: var(--gap);
  border-inline-start: 1px solid var(--color-border);
}

@media screen and (width < max(768px, 48rem)) {
  .hm-EventReport_Icon {
    justify-content: flex-end;
    padding: 0;
    border: 0;
  }
}

.hm-LinkButton {
  display: flex;
  justify-content: flex-end;
  margin-block-start: var(--space-40-60);
}

/**
 *  Article
 */
.ar-Container {
  padding: 3.75rem var(--offset) var(--space-60-80);
}

@media screen and (width < max(768px, 48rem)) {
  .ar-Container {
    padding: 0;
  }
}

.ar-Article {
  max-width: max(1080px, 67.5rem);
  padding: calc(clamp(5rem, (var(--window-width) * 0.00118 + 4.56) * 1rem, 6.25rem) - 1px) calc(var(--gap) - 1px);
  margin-inline: auto;
  background-color: var(--color-white);
  border: 1px solid transparent;
  border-radius: var(--radius);
}

@media screen and (width < max(768px, 48rem)) {
  .ar-Article {
    padding: calc(var(--header-space) + var(--space-40-60)) var(--offset) var(--space-60-80);
    margin-block-start: calc(var(--header-space) * -1);
    border: 0;
  }
}

.ar-Article_Inner {
  max-width: max(840px, 52.5rem);
  margin-inline: auto;
}

.ar-Title:not(:first-child) {
  margin-block-start: 1.25rem;
  font-size: var(--fz-h1);
  font-weight: var(--fw-bold);
  line-height: var(--lh-ex-narrow);
}

.ar-Content:not(:first-child) {
  margin-block-start: var(--space-30-40);
}

.ar-Content > p:not([class]) {
  margin-block-start: var(--space-30-40);
}

.ar-Content :is(a:not([class]), .ar-InlineLink) {
  --_ar-inline-link-underline-width: 100%;
  color: #1a62f4;
  background: linear-gradient(currentcolor, currentcolor) 0 100%/var(--_ar-inline-link-underline-width) 1px no-repeat;
  transition: background-size var(--duration);
}

@media (hover: hover) {
  .ar-Content :is(a:not([class]), .ar-InlineLink):hover {
    background-position: var(--_ar-inline-link-underline-width) 100%;
    background-size: 0 1px;
  }
}

@media (hover: hover) {
  .ar-Content :is(a:not([class]), .ar-InlineLink):hover {
    text-decoration: none;
  }
}

.ar-Content :is(a:not([class]), .ar-InlineLink):has(> svg[role=img][aria-label=（新規タブで開く）]) {
  --_ar-inline-link-underline-width: calc(100% - clamp(5px, (var(--window-width) * 0.0047 + 3.239) * 1px, 10px) - min(0.75rem, 0.91em));
  margin-inline-end: clamp(5px, (var(--window-width) * 0.0047 + 3.239) * 1px, 10px);
}

.ar-Content :is(a:not([class]), .ar-InlineLink) > span:has(+ svg) {
  padding-inline-end: calc(clamp(5px, (var(--window-width) * 0.0047 + 3.239) * 1px, 10px) + min(0.75rem, 0.91em));
}

.ar-Content :is(a:not([class]), .ar-InlineLink) > svg {
  width: min(0.75rem, 0.91em);
  height: min(0.75rem, 0.91em);
  margin-inline-start: max(-0.75rem, -0.91em);
  background-color: currentcolor;
  mask-image: var(--icon-blank);
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
}

@media (forced-colors: active) {
  .ar-Content :is(a:not([class]), .ar-InlineLink) > svg {
    background-color: LinkText;
  }
}

.ar-Author {
  display: grid;
  grid-template: "image position" auto "image name" max-content/auto minmax(0, 1fr);
  gap: clamp(0.0625rem, (var(--window-width) * 0.000118 + 0.0185) * 1rem, 0.188rem) 15px;
}

.ar-Author:not(:first-child) {
  margin-block-start: var(--space-20-40);
}

.ar-Author_Avatar {
  grid-area: image;
  align-self: center;
  width: clamp(2.5rem, (var(--window-width) * 0.000587 + 2.28) * 1rem, 3.125rem);
  height: clamp(2.5rem, (var(--window-width) * 0.000587 + 2.28) * 1rem, 3.125rem);
  overflow: hidden;
  border-radius: 50%;
}

.ar-Author_Avatar img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ar-Author_Position {
  grid-area: position;
  margin-block-start: auto;
  color: var(--color-blue-gray);
  font-size: var(--fz-small);
  font-weight: var(--fw-bold);
  line-height: var(--lh-semi-narrow);
}

.ar-Author_Name {
  grid-area: name;
  margin-block-end: auto;
  font-weight: var(--fw-bold);
}

.ar-MainVisual {
  overflow: hidden;
  border-radius: var(--radius);
}

.ar-MainVisual img {
  display: block;
  width: 100%;
}

.ar-MainVisual:not(:first-child) {
  margin-block-start: var(--space-30-40);
}

.ar-Summary {
  padding: calc(var(--space-20-30) - 1px) calc(var(--space-20-30-px) - 1px);
  font-weight: var(--fw-bold);
  background-color: var(--color-light-gray);
  border: 1px solid transparent;
  border-radius: var(--radius);
}

.ar-Summary:not(:first-child) {
  margin-block-start: var(--space-30-40);
}

.ar-Overview {
  padding-block: var(--space-20-30);
}

.ar-Overview:not(:first-child) {
  margin-block-start: var(--space-30-40);
}

.ar-Overview_Row {
  display: grid;
  grid-template-columns: clamp(5rem, (var(--window-width) * 0.00853 + 1.804) * 1rem, 6.875rem) minmax(0, 1fr);
  gap: var(--gap);
  padding-block: var(--space-10-20);
  border-block-end: 1px solid var(--color-border);
}

.ar-Overview_Row dt {
  font-weight: var(--fw-bold);
}

.ar-Profile {
  display: grid;
  grid-template: "avatar position" auto "avatar name" auto/auto minmax(0, 1fr);
  gap: 0 var(--gap);
  padding: calc(var(--space-20-30) - 1px) calc(var(--space-20-30-px) - 1px);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
}

.ar-Profile:has(.ar-Profile_Bio) {
  grid-template: "avatar position" auto "avatar name" auto "avatar bio" minmax(0, 1fr)/auto minmax(0, 1fr);
}

.ar-Profile:not(:first-child) {
  margin-block-start: var(--space-30-40);
}

.ar-Profile + .ar-Profile {
  margin-block-start: var(--space-10-20);
}

@media screen and (width < max(576px, 36rem)) {
  .ar-Profile {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}

.ar-Profile_Avatar {
  grid-area: avatar;
  width: 5rem;
  height: 5rem;
  overflow: hidden;
  border-radius: 50%;
}

@media screen and (width < max(576px, 36rem)) {
  .ar-Profile_Avatar {
    margin-block-end: 1.25rem;
  }
}

.ar-Profile_Avatar img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.ar-Profile_Position {
  grid-area: position;
  margin-block-start: auto;
  color: var(--color-blue-gray);
}

.ar-Profile_Position:has(~ .ar-Profile_Bio) {
  margin-block-start: 0;
}

.ar-Profile_Position {
  font-size: var(--fz-small);
  font-weight: var(--fw-bold);
  line-height: var(--lh-semi-narrow);
}

.ar-Profile_Name {
  grid-area: name;
  margin-block-end: auto;
  font-weight: var(--fw-bold);
}

.ar-Profile_Name:has(~ .ar-Profile_Bio) {
  margin-block-end: 0;
}

.ar-Profile_Position + .ar-Profile_Name {
  margin-block-start: clamp(0.0625rem, (var(--window-width) * 0.000118 + 0.0185) * 1rem, 0.188rem);
}

.ar-Profile_Bio {
  grid-area: bio;
  margin-block-start: 1.25rem;
}

.ar-HeadingLv2 {
  padding-block: var(--space-30-40) var(--space-15-20);
  border-block-end: 2px solid var(--color-border);
  font-size: var(--fz-h2);
  font-weight: var(--fw-bold);
  line-height: var(--lh-ex-narrow);
}

.ar-HeadingLv2:not(:first-child) {
  margin-block-start: var(--space-30-40);
}

.ar-HeadingLv3 {
  padding-block-start: var(--space-30-40);
  font-size: var(--fz-h3);
  font-weight: var(--fw-bold);
  line-height: var(--lh-narrow);
}

.ar-HeadingLv3:not(:first-child) {
  margin-block-start: var(--space-30-40);
}

.ar-HeadingLv4 {
  padding-block-start: var(--space-30-40);
  font-size: var(--fz-h4);
  font-weight: var(--fw-bold);
}

.ar-HeadingLv4:not(:first-child) {
  margin-block-start: var(--space-30-40);
}

.ar-UnorderedList:not(:first-child) {
  margin-block-start: var(--space-30-40);
}

.ar-UnorderedList li {
  position: relative;
  padding-left: 1.5em;
}

.ar-UnorderedList li::before {
  position: absolute;
  top: calc(var(--line-height, 2em) / 2 - 0.125em);
  left: 0.625em;
  width: 0.25em;
  height: 0.25em;
  content: "";
  background-color: currentcolor;
  border: 1px solid currentcolor;
  border-radius: 50%;
}

.ar-OrderedList:not(:first-child) {
  margin-block-start: var(--space-30-40);
}

.ar-OrderedList li {
  position: relative;
  padding-left: 1.5em;
}

.ar-OrderedList li::before {
  position: absolute;
  top: 0;
  right: calc(100% - 1.5em + 0.25em);
  content: counter(list-item, decimal) ".";
}

.ar-Image:not(:first-child) {
  margin-block-start: var(--space-30-40);
}

.ar-Image.-portrait {
  max-width: max(clamp(217px, (var(--window-width) * 0.172 + 152.563) * 1px, 400px), clamp(13.563rem, (var(--window-width) * 0.0108 + 9.535) * 1rem, 25rem));
  margin-inline: auto;
}

.ar-Image_Image {
  overflow: hidden;
  border-radius: var(--radius);
}

.ar-Image_Image img {
  display: block;
  width: 100%;
}

.ar-Image_Caption {
  margin-top: var(--space-10-20);
  color: var(--color-blue-gray);
  font-size: var(--fz-small);
  font-weight: var(--fw-bold);
  line-height: var(--lh-semi-narrow);
}

.ar-Button {
  width: fit-content;
  padding-block: var(--space-30-40);
  margin-inline: auto;
}

.ar-Button:not(:first-child) {
  margin-block-start: var(--space-30-40);
}

.ar-Card {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: var(--gap);
  padding-block: calc(var(--space-20-30) - 1px);
  background-color: var(--color-light-gray);
  border: 1px solid transparent;
  border-radius: var(--radius);
}

.ar-Card:not(:first-child) {
  margin-block-start: var(--space-30-40);
}

@media screen and (width < max(576px, 36rem)) {
  .ar-Card {
    display: block;
    padding-inline: calc(var(--space-20-30-px) - 1px);
  }
}

.ar-Card_Thumbnail {
  grid-column: 1/span 3;
  align-self: start;
  margin-inline-start: calc(var(--space-20-30-px) - 1px);
  overflow: hidden;
  border-radius: var(--radius);
  position: relative;
}

.ar-Card_Thumbnail::after,
.ar-Card_Thumbnail::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background-color: var(--color-white);
  mix-blend-mode: hard-light;
  opacity: 0.4;
}

.ar-Card_Thumbnail::before {
  clip-path: polygon(0% 0%, 0% 0%, -25% 100%, -25% 100%);
}

.ar-Card_Thumbnail::after {
  clip-path: polygon(125% 0%, 125% 0%, 100% 100%, 100% 100%);
  transition: clip-path var(--duration) ease;
}

@media (hover: hover) {

  a:hover .ar-Card_Thumbnail::before,
  a:hover .ar-Card_Thumbnail::after {
    clip-path: polygon(0% 0%, 125% 0%, 100% 100%, -25% 100%);
  }

  a:hover .ar-Card_Thumbnail::before {
    transition: clip-path var(--duration) ease;
  }

  a:hover .ar-Card_Thumbnail::after {
    visibility: hidden;
    transition: none;
  }
}

@media screen and (width < max(576px, 36rem)) {
  .ar-Card_Thumbnail {
    margin: 0;
  }
}

.ar-Card_Thumbnail img {
  display: block;
  width: 100%;
}

.ar-Card_Content {
  grid-column: 4/span 5;
  padding-inline-end: calc(var(--space-20-30-px) - 1px);
}

@media screen and (width < max(576px, 36rem)) {
  .ar-Card_Content {
    padding: 0;
    margin-top: var(--space-20-30);
  }
}

.ar-Card_Heading {
  margin-block-start: var(--space-10-20);
  font-size: var(--fz-h4);
  font-weight: var(--fw-bold);
}

.ar-DownloadMaterial {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--gap);
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
}

.ar-DownloadMaterial:not(:first-child) {
  margin-block-start: var(--space-30-40);
}

@media screen and (width < max(768px, 48rem)) {
  .ar-DownloadMaterial {
    display: block;
  }
}

.ar-DownloadMaterial_Image {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-inline-end: calc(var(--gap) * -1);
  background-color: var(--color-light-gray);
}

@media screen and (width < max(768px, 48rem)) {
  .ar-DownloadMaterial_Image {
    aspect-ratio: 335/213;
    margin: 0;
  }
}

.ar-DownloadMaterial_Image img {
  position: absolute;
  display: block;
  width: calc(100% - clamp(20px, (var(--window-width) * 0.0188 + 12.958) * 1px, 40px) * 2);
  height: calc(100% - clamp(20px, (var(--window-width) * 0.0188 + 12.958) * 1px, 40px) * 2);
  object-fit: contain;
  object-position: 50% 50%;
}

.ar-DownloadMaterial_Content {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  align-items: center;
  padding: calc(var(--space-30-40) - 1px) calc(clamp(30px, (var(--window-width) * 0.00939 + 26.479) * 1px, 40px) - 1px);
  border-inline-start: 1px solid transparent;
}

@media screen and (width < max(768px, 48rem)) {
  .ar-DownloadMaterial_Content {
    border-block-start: 1px solid transparent;
    border-inline-start: 0 solid transparent;
  }
}

.ar-DownloadMaterial_Info {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  align-items: center;
  text-align: center;
}

.ar-DownloadMaterial_Title {
  font-size: var(--fz-h4);
  font-weight: var(--fw-bold);
}

.ar-DownloadMaterial_Description {
  word-break: keep-all;
  overflow-wrap: anywhere;
  line-break: strict;
  font-size: var(--fz-small);
  font-weight: var(--fw-bold);
  line-height: var(--lh-semi-narrow);
}

.ar-Note {
  display: flex;
  flex-direction: column;
  gap: var(--space-10-20);
  color: var(--color-blue-gray);
  font-size: var(--fz-small);
  font-weight: var(--fw-bold);
  line-height: var(--lh-semi-narrow);
}

.ar-Note:not(:first-child) {
  margin-block-start: var(--space-30-40);
}

.ar-ResponsiveImage {
  max-width: 60%;
  margin-inline: auto;
}

.ar-ResponsiveImage:not(:first-child) {
  margin-block-start: var(--space-30-40);
}

@media screen and (width < max(576px, 36rem)) {
  .ar-ResponsiveImage {
    max-width: none;
  }
}

.ar-ResponsiveImage_Image {
  overflow: hidden;
  border-radius: var(--radius);
}

.ar-ResponsiveImage_Image img {
  display: block;
  width: 100%;
}

.ar-Image_Caption {
  margin-top: var(--space-10-20);
  color: var(--color-blue-gray);
  font-size: var(--fz-small);
  font-weight: var(--fw-bold);
  line-height: var(--lh-semi-narrow);
}

/**
 *  About
 */
.ab-TitleEn {
  font-family: Chillax-Medium, sans-serif;
  font-size: clamp(2.813rem, (var(--window-width) * 0.00118 + 2.372) * 1rem, 4.063rem);
  font-weight: var(--fw-bold);
  line-height: 1;
  letter-spacing: normal;
  letter-spacing: -0.02em;
}

.ab-TitleEn .-g {
  letter-spacing: -0.07em;
}

.ab-TitleJa {
  font-size: var(--fz-h1);
  font-weight: var(--fw-bold);
  line-height: var(--lh-ex-narrow);
}

.ab-Content {
  display: flex;
  flex-direction: column;
  gap: var(--space-40-60);
  padding-block-start: 7.5rem;
  line-height: 2.2;
  word-break: keep-all;
  overflow-wrap: anywhere;
  line-break: strict;
  font-size: var(--fz-h4);
  font-weight: var(--fw-bold);
}

@media screen and (width < max(768px, 48rem)) {
  .ab-Content {
    padding-block-start: 0;
  }
}

/**
 *  404 Not Found
 */
.nf-Title {
  display: block;
  font-family: var(--ff-en);
  font-size: clamp(2.25rem, (var(--window-width) * 0.00171 + 1.612) * 1rem, 4.063rem);
  font-weight: var(--fw-bold);
  line-height: 1.2;
  letter-spacing: normal;
}

@media screen and (width < max(768px, 48rem)) {
  .nf-Title {
    width: fit-content;
    margin-inline: auto;
  }
}

.nf-Lead {
  font-size: var(--fz-h4);
  font-weight: var(--fw-bold);
}

@media screen and (width < max(768px, 48rem)) {
  .nf-Lead {
    width: fit-content;
    margin-inline: auto;
  }
}

.nf-Text {
  margin-block-start: 1.25rem;
}

.nf-Back {
  padding-block: clamp(2.5rem, (var(--window-width) * 0.00353 + 1.18) * 1rem, 6.25rem);
  text-align: center;
  border: 1px solid var(--color-border);
}

.nf-Back_Inner {
  max-width: var(--max-width);
  padding-inline: var(--offset);
  margin-inline: auto;
}

.nf-Back_Link {
  display: inline-flex;
  gap: var(--space-15-20);
  align-items: center;
  font-size: var(--fz-h4);
  font-weight: var(--fw-bold);
}