@layer variable {
  :root {
    --font-family--sans:
      "Zen Kaku Gothic New", 游ゴシック体, "Yu Gothic", YuGothic, sans-serif;
    --font-family--en-sans:
      "Jost", "Zen Kaku Gothic New", 游ゴシック体, "Yu Gothic", YuGothic,
      sans-serif;
    --font-size--base: clamp(0.938rem, 0.917rem + 0.1vw, 1rem);
    --font-size--xs: clamp(0.625rem, 0.583rem + 0.21vw, 0.75rem);
    --font-size--sm: clamp(0.75rem, 0.708rem + 0.21vw, 0.875rem);
    --font-size--md: clamp(1rem, 0.958rem + 0.21vw, 1.125rem);
    --font-size--lg: clamp(1.125rem, 1.083rem + 0.21vw, 1.25rem);
    --font-size--xl: clamp(1.25rem, 1.167rem + 0.42vw, 1.5rem);
    --font-size--2-xl: clamp(1.375rem, 1.208rem + 0.7vw, 1.875rem);
    --font-size--3-xl: clamp(1.5rem, 1.25rem + 1.25vw, 2.25rem);
    --font-size--4-xl: clamp(1.625rem, 1.292rem + 1.67vw, 2.625rem);
    --font-size--5-xl: clamp(1.75rem, 1.333rem + 2.08vw, 3rem);
    --font-size--6-xl: clamp(1.875rem, 1.375rem + 2.5vw, 3.375rem);
    --font-size--7-xl: clamp(2rem, 1.417rem + 2.92vw, 3.75rem);
    --color--base: #333;
    --color--primary: #1c50a1;
    --color--primary-light: #94d5f1;
    --color--secondary: #00a199;
    --color--secondary-light: #f0fafc;
    --color--tertiary: #009fe8;
    --color--gray: #ccc;
    --color--gray-light: #f7f7f7;
    --color--sky: #29abe2;
    --color--red: red;
    --icon--chevron-up: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCAzNi41NyI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTY0IDMxLjM5IDMyIDAgMCAzMS4zOWw3LjE5IDUuMThMMzIgMTIuMjNsMjQuODEgMjQuMzR6Ii8+PC9zdmc+");
    --icon--chevron-down: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCAzNi41NyI+PHBhdGggZmlsbD0iI2ZmZiIgZD0ibTAgNS4xOCAzMiAzMS4zOUw2NCA1LjE4IDU2LjgxIDAgMzIgMjQuMzQgNy4xOSAweiIvPjwvc3ZnPg==");
    --icon--chevron-left: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzNi41NyA2NCI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTMxLjM5IDAgMCAzMmwzMS4zOSAzMiA1LjE4LTcuMTlMMTIuMjMgMzIgMzYuNTcgNy4xOXoiLz48L3N2Zz4=");
    --icon--chevron-right: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzNi41NyA2NCI+PHBhdGggZmlsbD0iI2ZmZiIgZD0ibTUuMTggNjQgMzEuMzktMzJMNS4xOCAwIDAgNy4xOSAyNC4zNCAzMiAwIDU2LjgxeiIvPjwvc3ZnPg==");
    --icon--check: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA1OC43NSI+PHBhdGggZD0iTTYxLjQ1IDEuMDVDNTguNjktLjc0IDU0LjgxLS4xOSA1Mi44IDIuMjdMMjEuNDggNDAuNSAxMS4wNiAyOC43NWMtMi4xMi0yLjM5LTYuMDItMi43OS04LjctLjkxLTIuNjkgMS44OS0zLjE0IDUuMzYtMS4wMiA3Ljc0bDIwLjU0IDIzLjE3TDYyLjgxIDguNzZjMi4wMi0yLjQ2IDEuNDEtNS45MS0xLjM2LTcuN1oiIHN0eWxlPSJmaWxsOiMyOWFiZTI7c3Ryb2tlLXdpZHRoOjAiLz48L3N2Zz4=");
    --icon--mail: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA0MC45NiI+PHBhdGggZD0iTTYxLjM5IDBIMHY0MC45Nmg2NFYwem0tMi41NiAyLjU2TDM0LjEgMjcuMjhjLTEuMTIgMS4xMy0zLjEgMS4xMy00LjIyIDBMNS4xNiAyLjU2aDUzLjY4Wk0yLjU2IDMuNTggMTkuMTggMjAuMiAyLjU2IDM2Ljgyek0yIDM4LjQybDE2LjQtMTYuMzkgNy4wOCA3LjA5YzEuMDQgMS4wNSAyLjQ0IDEuNjMgMy45MiAxLjYzczIuODctLjU4IDMuOTItMS42M2w3LjA5LTcuMDlMNTYuOCAzOC40Mkg0LjZabTU1LjQ0LTIuMDhMNDAuODEgMTkuNzIgNjEuNDQgMy41N3YzMy4yNVoiIHN0eWxlPSJzdHJva2Utd2lkdGg6MCIvPjwvc3ZnPg==");
    --custom--transition: 0.4s ease 0s;
    --header-height: 70px;
  }
}

@layer reset {
  :where(
    :not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)
  ) {
    all: unset;
    display: revert;
  }

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

  a,
  button {
    cursor: revert;
  }

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

  img {
    max-block-size: 100%;
    max-inline-size: 100%;
    vertical-align: bottom;
  }

  table {
    border-collapse: collapse;
  }

  input,
  textarea {
    -webkit-user-select: auto;
  }

  textarea {
    white-space: revert;
  }

  meter {
    appearance: revert;
  }

  :where(pre) {
    all: revert;
  }

  ::placeholder {
    color: unset;
  }

  ::marker {
    content: normal;
  }

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

  :where([contenteditable]:not([contenteditable="false"])) {
    -webkit-line-break: after-white-space;
    overflow-wrap: break-word;
    -moz-user-modify: read-write;
    -webkit-user-modify: read-write;
    -webkit-user-select: auto;
  }

  :where([draggable="true"]) {
    -webkit-user-drag: element;
  }

  :where(dialog:modal) {
    all: revert;
  }
}

@layer base {
  html {
    overflow-y: scroll;
  }

  body {
    background-color: #fff;
    color: var(--color--base);
    font-family: var(--font-family--sans);
    font-feature-settings: "palt";
    font-optical-sizing: auto;
    font-size: var(--font-size--base);
    font-weight: 400;
    line-height: 1.8;
    -webkit-text-size-adjust: none;
    text-size-adjust: none;
    word-break: break-word;
    word-wrap: break-word;
  }

  p {
    margin-bottom: calc(var(--dynamicScale) * 1rem);
  }

  strong {
    font-weight: bolder;
  }

  a {
    background-color: var(--link--BackgroundColor, transparent);
    border-color: var(--link--BorderColor, transparent);
    color: var(--link--Color, #333);
    position: relative;
    text-decoration: none;
    transition: var(--custom--transition);
    z-index: 0;
  }

  a:before {
    background-color: var(--before--link--BackgroundColor, transparent);
    color: var(--before--link--Color, #333);
  }

  a:after {
    background-color: var(--after--link--BackgroundColor, transparent);
    color: var(--after--link--Color, #333);
  }

  a:hover {
    background-color: var(--hover--link--BackgroundColor, transparent);
    border-color: var(--hover--link--BorderColor, transparent);
    color: var(--hover--link--Color, var(--color--primary));
  }

  a:hover:before {
    background-color: var(--hover--before--link--BackgroundColor, transparent);
    color: var(--hover--before--link--Color, var(--color--primary));
  }

  a:hover:after {
    background-color: var(--hover--after--link--BackgroundColor, transparent);
    color: var(--hover--after--link--Color, var(--color--primary));
  }

  svg,
  svg > * {
    transition: var(--custom--transition);
  }

  sup {
    font-size: 0.4em;
    margin-left: 0.2em;
    margin-right: 0.2em;
    vertical-align: top;
  }
}

@layer component {
  h2 {
    display: flex;
    font-size: var(--font-size--4-xl);
    font-weight: 500;
    line-height: 1.2;
    margin-bottom: calc(var(--dynamicScale) * 2rem);
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    width: fit-content;
  }

  h2:after,
  h2:before {
    color: var(--color--primary-light);
    content: "●";
    display: block;
    transform: scale(0.3) translateY(20%);
  }

  h6 {
    color: var(--color--sky);
    font-weight: 700;
  }

  .c-wrapper {
    background-color: var(--BackgroundColor, transparent);
    width: min(var(--dynamicMaxWidth, 87.7vw), var(--dynamicWidth, 1000px));
  }

  .c-wrapper,
  [class*="c-button"] {
    margin-left: auto;
    margin-right: auto;
    position: relative;
  }

  [class*="c-button"] {
    align-items: center;
    border-radius: 9999px;
    display: flex;
    font-size: var(--font-size--3-xl);
    font-weight: 700;
    justify-content: center;
    line-height: 1.4;
    max-width: 80%;
    padding: 0.4em 0.8em 0.6em;
  }

  [class*="c-button"]:after {
    background-color: #fff;
    content: "";
    display: block;
    height: 0.8em;
    mask: no-repeat center/contain;
    mask-image: var(--icon--chevron-right);
    position: absolute;
    right: 0.8em;
    top: 50%;
    transform: translateY(-50%);
    width: 0.8em;
  }

  .c-button {
    --link--Color: #fff;
    --link--BackgroundColor: #29abe2;
    --hover--link--Color: #fff;
    --hover--link--BackgroundColor: var(--color--secondary);
  }

  .c-button[target="_blank"]:after {
    mask-image: var(--icon--chevron-right);
  }

  .c-button.btn-mail {
    --link--Color: #333;
    --link--BackgroundColor: #fff;
    border: 1px solid #ccc;
    flex-direction: row-reverse;
  }

  .c-button.btn-mail:after {
    background-color: #b0d1d3;
    height: 1.2em;
    mask-image: var(--icon--mail);
    position: relative;
    right: 0.4em;
    transform: translateY(8%);
    width: 1.2em;
  }

  .c-button-solid {
    --link--Color: #fff;
    --link--BackgroundColor: var(--color--sky);
    --hover--link--Color: #fff;
    --hover--link--BackgroundColor: var(--color--secondary);
  }

  .c-button-outline {
    --link--Color: var(--color--sky);
    --link--BackgroundColor: transparent;
    --link--BorderColor: var(--color--primary-light);
    --hover--link--Color: #fff;
    --hover--link--BackgroundColor: var(--color--secondary);
    --hover--link--BorderColor: var(--color--secondary);
    border-style: solid;
    border-width: 2px;
  }

  .c-button-outline:after {
    background-color: var(--color--sky);
  }

  .c-button-outline:hover:after {
    background-color: #fff;
  }

  .c-border-panels {
    margin-bottom: calc(var(--dynamicScale) * 2rem);
    margin-top: calc(var(--dynamicScale) * 2rem);
  }

  .c-border-panels .__title {
    align-items: center;
    color: var(--color--secondary);
    column-gap: calc(var(--dynamicScale) * 1rem);
    display: flex;
    font-size: var(--font-size--lg);
    font-weight: 500;
    line-height: 1.4;
    margin-bottom: calc(var(--dynamicScale) * 0.6rem);
  }

  .c-border-panels .__title:after {
    background-color: rgba(0, 161, 153, 0.5);
    content: "";
    display: block;
    flex-grow: 1;
    height: 4px;
  }

  .c-border-panels .__content {
    border-left: 4px solid rgba(0, 161, 153, 0.5);
    padding-left: calc(var(--dynamicScale) * 1rem);
  }

  .c-lead {
    color: var(--color--sky);
    font-size: var(--font-size--2-xl);
    font-weight: 500;
    line-height: 1.6;
  }

  .c-note {
    font-size: var(--font-size--sm);
    margin-bottom: calc(var(--dynamicScale) * 0.4rem);
    margin-top: calc(var(--dynamicScale) * 0.4rem);
    padding-left: 1em;
    text-indent: -1em;
  }

  [class*="c-box"] {
    margin-bottom: calc(var(--dynamicScale) * 1rem);
    margin-top: calc(var(--dynamicScale) * 1rem);
    padding: calc(var(--dynamicScale) * 1.6rem) calc(var(--dynamicScale) * 2rem);
    width: fit-content;
  }

  .c-box-solid {
    background-color: var(--color--gray-light);
  }

  .c-box-outline {
    border: 1px solid var(--color--border);
  }

  .c-box-scroll {
    height: 330px;
    overflow: auto;
    padding: 0 calc(var(--dynamicScale) * 1rem);
  }
}

@layer layout {
  .l-header {
    background-color: var(--background-color, transparent);
    font-size: var(--font-size--md);
    position: sticky;
    top: 0;
    transition: var(--custom--transition);
    z-index: 9999;
  }

  .l-header .__logo {
    width: 160px;
  }

  .is-scrolled .l-header {
    --background-color: hsla(0, 0%, 100%, 0.9);
  }

  .l-header-columns {
    height: var(--header-height);
    justify-content: space-between;
    margin: 0 auto;
    transition: var(--custom--transition);
    width: 90%;
  }

  .l-gnav__link,
  .l-header-columns {
    align-items: center;
    display: flex;
  }

  .l-gnav__link {
    --link--Color: var(--color--primary);
    --hover--link--Color: var(--color--secondary);
    --after--link--BackgroundColor: var(--color--primary);
    --hover--after--link--BackgroundColor: var(--color--secondary);
  }

  .l-gnav__link:after {
    content: "";
    display: block;
    height: 0.7em;
    margin-left: 0.5em;
    mask: no-repeat center/contain;
    mask-image: var(--icon--chevron-down);
    width: 0.7em;
  }

  .l-footerNav .l-gnav__list,
  .l-headerNav .l-gnav__list {
    column-gap: calc(var(--dynamicScale) * 2rem);
    display: flex;
  }

  .l-drawerNav .l-gnav,
  .l-drawerNav .l-gnav__link {
    border-bottom: 1px solid var(--color--gray);
  }

  .l-drawerNav .l-gnav__link {
    font-size: var(--font-size--md);
    justify-content: space-between;
    padding: calc(var(--dynamicScale) * 1rem) calc(var(--dynamicScale) * 2rem);
  }

  .l-footer {
    font-size: var(--font-size--md);
    padding: calc(var(--dynamicScale) * 4rem) 0;
  }

  .l-footer .__logo {
    margin: 0 auto calc(var(--dynamicScale) * 2rem);
    width: min(420px, 60%);
  }

  .l-footer .__copyright {
    display: block;
    font-size: var(--font-size--sm);
    margin: calc(var(--dynamicScale) * 1rem) auto;
    text-align: center;
    width: fit-content;
  }

  .l-footerNav {
    margin-bottom: calc(var(--dynamicScale) * 6rem);
  }

  .l-footerNav .l-gnav__list {
    justify-content: center;
  }

  .l-footerNav .l-gnav__link:after {
    mask-image: var(--icon--chevron-up);
  }

  .l-footerLink {
    display: flex;
    justify-content: center;
  }

  .l-footerLink a {
    color: #333;
    display: inline-block;
    font-size: var(--font-size--sm);
    line-height: 1;
  }

  .l-footerLink a:first-of-type {
    border-right: 1px solid #ccc;
    padding-right: calc(var(--dynamicScale) * 1rem);
  }

  .l-footerLink a:last-of-type {
    padding-left: calc(var(--dynamicScale) * 1rem);
  }

  .l-pagetop {
    align-items: center;
    background-color: var(--color--primary);
    bottom: 0;
    color: #fff;
    cursor: pointer;
    display: flex;
    font-weight: 700;
    height: 48px;
    justify-content: center;
    margin: calc(var(--dynamicScale) * 1rem);
    opacity: 0;
    position: fixed;
    right: 0;
    transition: var(--custom--transition);
    visibility: hidden;
    width: 48px;
  }

  .l-pagetop.is-visible {
    opacity: 1;
    visibility: visible;
  }

  .l-pagetop span {
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    line-height: 1.4;
  }

  .l-pagetop span:before {
    background-color: #fff;
    content: "";
    display: block;
    height: 1em;
    mask: no-repeat center/contain;
    mask-image: var(--icon--chevron-up);
    width: 1em;
  }

  .l-drawer {
    background-color: #fff;
    height: 70vh;
    opacity: 0;
    overflow-x: hidden;
    overflow-y: auto;
    pointer-events: none;
    position: fixed;
    right: 0;
    top: var(--header-height);
    transition: var(--custom--transition);
    visibility: hidden;
    width: 100%;
    z-index: 9999;
  }

  .l-drawer.is-visible {
    height: calc(100vh - var(--header-height));
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
  }

  .l-drawer .__buttons {
    padding: calc(var(--dynamicScale) * 6rem) 0;
  }

  .l-drawer .__copyright {
    display: block;
    text-align: center;
  }

  .l-hamburger {
    cursor: pointer;
    height: calc(var(--header-height) / 3 * 2);
    transition: var(--custom--transition);
    width: calc(var(--header-height) / 3 * 2);
  }

  .l-hamburger__toggle {
    display: flex;
    flex-direction: column;
    height: 21px;
    justify-content: space-between;
    margin: auto;
    width: 60%;
  }

  .l-hamburger__toggle,
  .l-hamburger__toggle > span {
    position: relative;
    transition: var(--custom--transition);
  }

  .l-hamburger__toggle > span {
    background-color: var(--color--primary);
    display: block;
    height: 2px;
    width: 100%;
  }

  .l-hamburger__toggle > span:first-of-type {
    top: 5px;
  }

  .l-hamburger__toggle > span:nth-of-type(3) {
    top: -5px;
  }

  :has(.is-active) .l-hamburger__toggle span:first-of-type {
    transform: translateY(4.5px) rotate(-155deg);
  }

  :has(.is-active) .l-hamburger__toggle span:nth-of-type(2) {
    opacity: 0;
  }

  :has(.is-active) .l-hamburger__toggle span:nth-of-type(3) {
    transform: translateY(-5px) rotate(155deg);
  }

  .l-hamburger__title {
    color: var(--color--primary);
    font-size: var(--font-size--sm);
    font-weight: 500;
    line-height: 1;
    opacity: 1;
    text-align: center;
    transition: var(--custom--transition);
  }

  .l-hamburger__title.has-hide {
    opacity: 0;
  }

  .l-main {
    margin-top: calc(var(--header-height) * -1);
  }

  .l-pageTitle {
    background:
      url(../img/common/bg_texture_01.png) no-repeat left -5em top 7em/12em auto,
      url(../img/common/bg_texture_02.png) no-repeat right -9em bottom -7em/20em
        auto;
    padding: calc(var(--header-height) + 64px) 0 84px;
  }

  .l-pageTitle.has-anchor {
    padding-bottom: 132px;
  }

  .l-pageTitle h1 {
    background: url(../img/common/page_ttl.svg) no-repeat 50% / contain;
    font-size: var(--font-size--4-xl);
    font-weight: 500;
    padding: calc(var(--dynamicScale) * 1rem) 0;
    text-align: center;
  }
}

@layer project {
  .p-hero {
    background: url(../img/home/mv_bg_sp.webp) no-repeat 50% / cover;
    padding: var(--header-height) 0;
  }

  .p-hero .__container {
    padding: 0 calc(var(--dynamicScale) * 2rem);
    text-align: center;
  }

  .p-hero .__container img {
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.4);
  }

  .p-hero .__container img[src*="mv3"] {
    width: min(1000px, 100%);
  }

  .p-hero .__container a {
    transform: translateY(-50%);
    width: min(500px, 90%);
  }

  .p-hero .__container a:after {
    mask-image: var(--icon--chevron-down);
  }

  section:not(.p-hero):has(> .c-wrapper) {
    background-color: var(--backgroundColor, transparent);
    padding-bottom: calc(var(--dynamicScale) * 6rem);
    padding-top: calc(var(--dynamicScale) * 6rem);
  }

  .p-about {
    font-size: var(--font-size--md);
  }

  .p-about h2 {
    background: url(../img/home/about_ttl.svg) no-repeat 50% / contain;
    padding: calc(var(--dynamicScale) * 2rem) 0;
  }

  .p-about h2:after,
  .p-about h2:before {
    display: none;
  }

  .p-about .__Checklist li {
    background: no-repeat calc(var(--dynamicScale) * 2rem)
      calc(var(--dynamicScale) * 1.4rem) / 1em auto;
    background-color: var(--color--secondary-light);
    background-image: var(--icon--check);
    margin-bottom: calc(var(--dynamicScale) * 1rem);
    padding: calc(var(--dynamicScale) * 1rem) calc(var(--dynamicScale) * 2rem)
      calc(var(--dynamicScale) * 1rem) calc(var(--dynamicScale) * 4.8em);
  }

  .p-activity {
    --backgroundColor: #f0fafc;
    font-size: var(--font-size--md);
  }

  .p-activity h3 {
    background-color: #b0d1d3;
    margin-top: calc(var(--dynamicScale) * 3rem);
    padding: calc(var(--dynamicScale) * 0.4rem);
    text-align: center;
  }

  .p-activity_Panel-1 {
    margin: calc(var(--dynamicScale) * 2rem) 0;
  }

  .p-activity_Panel-1__block {
    border-left: 4px solid rgba(0, 161, 153, 0.5);
    padding-left: calc(var(--dynamicScale) * 1rem);
  }

  .p-activity_Panel-1__title {
    align-items: center;
    color: var(--color--secondary);
    column-gap: calc(var(--dynamicScale) * 1rem);
    display: flex;
    font-size: var(--font-size--lg);
    font-weight: 500;
    line-height: 1.4;
    margin-bottom: calc(var(--dynamicScale) * 0.6rem);
  }

  .p-activity_Panel-1__title:after {
    background-color: rgba(0, 161, 153, 0.5);
    content: "";
    display: block;
    flex-grow: 1;
    height: 4px;
  }

  .p-activity_Panel-1__case {
    border: 1px solid var(--color--gray);
    padding: calc(var(--dynamicScale) * 1rem);
  }

  .p-activity_Panel-1.has-icon {
    background-color: #fff;
    padding: calc(var(--dynamicScale) * 2.5rem);
  }

  .p-activity_Panel-1.has-icon .p-activity_Panel-1__block {
    border-left: 0;
    padding-left: 0;
  }

  .p-activity_Panel-1__columns {
    align-items: flex-start;
    display: flex;
    gap: calc(var(--dynamicScale) * 2.5rem);
  }

  .p-activity_Panel-1__icon {
    align-items: center;
    background-color: var(--color--secondary-light);
    border-radius: 50%;
    display: flex;
    flex: 0 0 auto;
    height: 160px;
    justify-content: center;
    width: 160px;
  }

  .p-activity_Panel-1__icon img {
    height: auto;
    width: 65%;
  }

  .p-activity_Panel-1__body {
    flex: 1 1 0;
    min-width: 0;
  }

  .p-activity_Panel-1__title.is-plain {
    font-size: var(--font-size--xl);
  }

  .p-activity_Panel-1__title.is-plain:after {
    content: none;
  }

  .p-activity_Panel-1__badges {
    display: flex;
    flex-wrap: wrap;
    gap: calc(var(--dynamicScale) * 0.75rem);
    margin-top: calc(var(--dynamicScale) * 1.5rem);
  }

  .p-activity_Panel-1__badges li {
    align-items: center;
    background-color: var(--color--secondary-light);
    color: var(--color--secondary);
    display: flex;
    font-size: var(--font-size--md);
    font-weight: 500;
    gap: 8px;
    line-height: 1.4;
    padding: 8px 12px;
  }

  .p-activity_Panel-1__badges li img {
    height: 24px;
    width: 24px;
  }

  .p-activity_Panel-1__example-label {
    align-items: center;
    color: var(--color--secondary);
    display: flex;
    font-size: var(--font-size--md);
    font-weight: 500;
    gap: 24px;
    line-height: 1.4;
    margin: calc(var(--dynamicScale) * 1.5rem) 0 calc(var(--dynamicScale) * 1rem);
  }

  .p-activity_Panel-1__example-label:after,
  .p-activity_Panel-1__example-label:before {
    border-top: 1px dashed var(--color--secondary);
    content: "";
    flex: 1 1 0;
  }

  .p-activity_Panel-1__examples {
    display: flex;
    gap: 16px;
  }

  .p-activity_Panel-1__examples .__ex {
    background-color: var(--color--secondary-light);
    flex: 1 1 0;
    padding: 16px;
  }

  .p-activity_Panel-1__examples .__ex h5 {
    color: var(--color--secondary);
    font-size: var(--font-size--md);
    font-weight: 500;
    line-height: 1.4;
    margin-bottom: calc(var(--dynamicScale) * 0.75rem);
  }

  .p-activity_Panel-1__examples .__ex p {
    font-size: var(--font-size--base);
  }

  .p-activity_Panel-2 {
    background-color: #fff;
    margin-bottom: calc(var(--dynamicScale) * 3rem);
    padding: calc(var(--dynamicScale) * 2rem);
  }

  .p-activity_Panel-2__title {
    font-size: var(--font-size--lg);
  }

  .p-activity_Panel-2__block {
    margin: auto;
    width: fit-content;
  }

  .p-activity_Panel-2__item {
    align-items: baseline;
    display: flex;
    font-size: var(--font-size--lg);
    font-weight: 500;
  }

  .p-activity_Panel-2__item:before {
    color: var(--color--primary-light);
    content: "●";
    display: block;
    transform: scale(0.6) translateX(-0.4em);
  }

  .p-activity_Panel-3 {
    align-items: center;
    background-color: #fff;
    column-gap: calc(var(--dynamicScale) * 2rem);
    display: flex;
    justify-content: center;
    margin-bottom: calc(var(--dynamicScale) * 3rem);
    padding: calc(var(--dynamicScale) * 2rem);
    row-gap: calc(var(--dynamicScale) * 1rem);
  }

  .p-activity_Panel-3__title {
    font-size: var(--font-size--lg);
    font-weight: 500;
    line-height: 1.4;
    text-align: center;
  }

  .p-activity_Panel-3__block {
    font-family: var(--font-family--en-sans);
    line-height: 1.4;
  }

  .p-activity_Panel-3__text {
    font-size: var(--font-size--xl);
    font-weight: 500;
    margin-bottom: 0;
  }

  .p-activity_Panel-3__text-day,
  .p-activity_Panel-3__text-month {
    color: var(--color--sky);
    font-size: var(--font-size--2-xl);
    font-weight: 700;
    margin-left: 0.06em;
    margin-right: 0.06em;
  }

  .p-activity_Panel-3__text-week {
    align-items: center;
    background-color: var(--color--sky);
    border-radius: 50%;
    color: #fff;
    display: inline-flex;
    height: 1.45em;
    justify-content: center;
    margin: -0.2em 0.06em 0;
    transform: scale(0.7);
    vertical-align: middle;
    width: 1.45em;
  }

  .p-activity_Banners {
    display: flex;
    gap: 40px;
    justify-content: center;
    margin: calc(var(--dynamicScale) * 2.5rem) auto;
  }

  .p-activity_Banner {
    --bnr-scale: 1;
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.4);
    display: block;
    width: calc(480px * var(--bnr-scale));
  }

  .p-activity_Banner img {
    display: block;
    height: auto;
    width: 100%;
  }

  .p-member {
    background: url(../img/home/member_bg.webp) no-repeat 0 / contain;
    font-size: var(--font-size--md);
  }

  .p-member .__Grid {
    display: grid;
    gap: calc(var(--dynamicScale) * 1.6rem);
  }

  .p-member .__Card {
    background-color: #fff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    display: grid;
    gap: calc(var(--dynamicScale) * 1rem) calc(var(--dynamicScale) * 1.4rem);
    padding: calc(var(--dynamicScale) * 2rem);
  }

  .p-member .__Card-image {
    margin-block-end: 0;
    text-align: center;
  }

  .p-member .__Card-image img {
    margin-bottom: calc(var(--dynamicScale) * 0.4rem);
  }

  .p-member .__Card-head {
    margin-bottom: calc(var(--dynamicScale) * 1rem);
    text-align: center;
  }

  .p-member .__Card-head img {
    height: 180px;
    object-fit: cover;
    width: 180px;
  }

  .p-member .__Card-name {
    font-size: var(--font-size--md);
    line-height: 1.8;
    margin-top: calc(var(--dynamicScale) * 1rem);
  }

  .p-member .__Card-role {
    font-size: var(--font-size--sm);
    line-height: 1.5;
  }

  .p-member .__Card-comment {
    background-color: var(--color--gray-light);
    grid-column: 1/-1;
    padding: calc(var(--dynamicScale) * 1rem);
  }

  .p-member .__Card-comment h6 {
    font-weight: 500;
  }

  .p-supported {
    padding: calc(var(--dynamicScale) * 4rem) 0 0;
    text-align: center;
  }

  .p-supported__label {
    font-size: var(--font-size--md);
    font-weight: 500;
  }

  .p-supported__logo {
    margin: calc(var(--dynamicScale) * 1.5rem) 0 calc(var(--dynamicScale) * 2rem);
  }

  .p-supported__logo img {
    height: 88px;
    object-fit: contain;
    width: 88px;
  }

  .p-supported__text {
    font-size: var(--font-size--md);
    font-weight: 500;
    line-height: 1.8;
  }

  .p-application {
    --backgroundColor: var(--color--gray-light);
    font-size: var(--font-size--md);
  }

  .p-application_Panel-1 {
    align-items: baseline;
    background-color: #fff;
    column-gap: calc(var(--dynamicScale) * 2rem);
    display: flex;
    justify-content: center;
    margin: calc(var(--dynamicScale) * 2rem) 0;
    padding: calc(var(--dynamicScale) * 2rem);
    row-gap: calc(var(--dynamicScale) * 1rem);
  }

  .p-application_Panel-1__title {
    color: var(--color--sky);
    font-size: var(--font-size--3-xl);
    font-weight: 500;
    line-height: 1.4;
    text-align: center;
  }

  .p-application_Panel-1__block {
    font-family: var(--font-family--en-sans);
    line-height: 1.4;
  }

  .p-application_Panel-1__text {
    text-align: center;
    font-size: var(--font-size--4-xl);
    font-weight: 500;
  }

  .p-application_Panel-1__text-day,
  .p-application_Panel-1__text-month {
    color: var(--color--sky);
    font-size: var(--font-size--7-xl);
    font-weight: 700;
    margin-left: 0.06em;
    margin-right: 0.06em;
  }

  .p-application_Panel-1__text-week {
    align-items: center;
    background-color: var(--color--sky);
    border-radius: 50%;
    color: #fff;
    display: inline-flex;
    height: 1.45em;
    justify-content: center;
    margin: -0.2em 0.06em 0;
    transform: scale(0.7);
    vertical-align: middle;
    width: 1.45em;
  }

  .p-application_Panel-2 {
    margin: calc(var(--dynamicScale) * 2rem) 0;
  }

  .p-application_Panel-2__block {
    border-left: 4px solid rgba(0, 161, 153, 0.5);
    padding-left: calc(var(--dynamicScale) * 1rem);
  }

  .p-application_Panel-2__title {
    align-items: center;
    color: var(--color--secondary);
    column-gap: calc(var(--dynamicScale) * 1rem);
    display: flex;
    font-size: var(--font-size--lg);
    font-weight: 500;
    line-height: 1.4;
    margin-bottom: calc(var(--dynamicScale) * 0.6rem);
  }

  .p-application_Panel-2__title:after {
    background-color: rgba(0, 161, 153, 0.5);
    content: "";
    display: block;
    flex-grow: 1;
    height: 4px;
  }

  .p-application_Panel-2__privacy-intro {
    border-bottom: 1px solid #ccc;
    margin-bottom: calc(var(--dynamicScale) * 1.4rem);
    padding-bottom: calc(var(--dynamicScale) * 1.4rem);
  }

  .p-application_Panel-2 h6 {
    font-size: var(--font-size--lg);
    font-weight: 500;
    line-height: 1.4;
  }

  .p-application_Panel-3 {
    align-items: center;
    column-gap: calc(var(--dynamicScale) * 2rem);
    display: flex;
    justify-content: center;
    padding: calc(var(--dynamicScale) * 2rem);
    row-gap: calc(var(--dynamicScale) * 1rem);
  }

  .p-application_Panel-3__title {
    font-size: var(--font-size--xl);
    font-weight: 500;
    line-height: 1.4;
    text-align: center;
  }

  .p-application_Panel-3__block {
    font-family: var(--font-family--en-sans);
    line-height: 1.4;
  }

  .p-application_Panel-3__block img {
    display: inline-block;
    max-width: 280px;
    vertical-align: baseline;
  }

  .p-application .__Details {
    display: grid;
    grid-template-columns: 22% auto;
  }

  .p-application .__Details > * {
    padding-bottom: calc(var(--dynamicScale) * 1rem);
    padding-top: calc(var(--dynamicScale) * 1rem);
  }

  .p-application .__Details > :not(:first-of-type) {
    border-top: 1px solid #ccc;
  }

  .p-application .__Details dt {
    font-weight: 500;
    padding-right: calc(var(--dynamicScale) * 1rem);
  }

  .p-reportTheme {
    --backgroundColor: #f5fcfb;
  }

  .p-reportTheme_Panel {
    margin: calc(var(--dynamicScale) * 2rem) 0;
  }

  .p-reportTheme_Panel__block {
    border-left: 4px solid rgba(0, 161, 153, 0.5);
    padding-left: calc(var(--dynamicScale) * 1rem);
  }

  .p-reportTheme_Panel__title {
    align-items: center;
    color: var(--color--secondary);
    column-gap: calc(var(--dynamicScale) * 1rem);
    display: flex;
    font-size: var(--font-size--lg);
    font-weight: 500;
    line-height: 1.4;
    margin-bottom: calc(var(--dynamicScale) * 0.6rem);
  }

  .p-reportTheme_Panel__title:after {
    background-color: rgba(0, 161, 153, 0.5);
    content: "";
    display: block;
    flex-grow: 1;
    height: 4px;
  }

  .p-reportTheme_Panel__case {
    border: 1px solid var(--color--gray);
    padding: calc(var(--dynamicScale) * 1rem);
  }

  .p-reportInterview {
    --backgroundColor: #eef9ff;
  }

  .p-reportInterview__block {
    display: flex;
    gap: calc(var(--dynamicScale) * 2rem);
    margin: calc(var(--dynamicScale) * 4rem) 0;
  }

  .p-reportInterview__block:nth-child(2n) {
    flex-direction: row-reverse;
  }

  .p-reportInterview__lead {
    color: var(--color--sky);
    font-size: var(--font-size--2-xl);
    font-weight: 500;
    line-height: 1.4;
  }

  .p-reportInterview__profile {
    background-color: var(--color--sky);
    color: #fff;
    font-size: var(--font-size--md);
    font-weight: 500;
    line-height: 1.2;
    margin: calc(var(--dynamicScale) * 1rem) 0;
    padding: calc(var(--dynamicScale) * 0.4rem) calc(var(--dynamicScale) * 1rem);
  }

  .p-reportInterview__texts {
    flex: 1;
  }

  .p-reportInterview__images img {
    aspect-ratio: 1 / 1;
    border-radius: 100%;
    object-fit: cover;
    overflow: hidden;
    width: 100%;
  }

  .p-reportInterview p:has(> .c-button-solid),
  .p-talk p:has(> .c-button-solid) {
    margin-top: 96px;
  }

  .p-reportInterview-period .p-reportInterview__block:nth-child(2n) {
    flex-direction: row;
  }

  .p-reportInterview-period .p-reportInterview__block:nth-child(odd) {
    flex-direction: row-reverse;
  }

  .p-reportInterview-period__headline {
    align-items: center;
    color: var(--color--secondary);
    column-gap: calc(var(--dynamicScale) * 1rem);
    display: flex;
    font-size: var(--font-size--lg);
    font-weight: 500;
    line-height: 1.4;
    margin-bottom: calc(var(--dynamicScale) * 0.6rem);
  }

  .p-reportInterview-period__headline:after {
    background-color: rgba(0, 161, 153, 0.5);
    content: "";
    display: block;
    flex-grow: 1;
    height: 4px;
  }

  .p-reportHero__eyebrow {
    font-size: var(--font-size--md);
    font-weight: 500;
    margin-bottom: 0;
    text-align: center;
  }

  .p-reportHero__sub {
    align-items: center;
    column-gap: calc(var(--dynamicScale) * 1rem);
    display: flex;
    font-size: var(--font-size--lg);
    font-weight: 500;
    justify-content: center;
    margin-bottom: 0;
  }

  .p-reportHero__sub:after,
  .p-reportHero__sub:before {
    background-color: #333;
    content: "";
    display: block;
    height: 1px;
    width: 48px;
  }

  section.p-reportAnchor:has(> .c-wrapper) {
    left: 0;
    padding: 0;
    position: absolute;
    right: 0;
    transform: translateY(-50%);
    z-index: 2;
  }

  section.p-reportAnchor + section:has(> .c-wrapper) {
    padding-top: calc(var(--dynamicScale) * 6rem + 40px);
  }

  .p-reportAnchor__card {
    background-color: #fff;
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.15);
    display: flex;
    min-height: 96px;
  }

  .p-reportAnchor__item {
    --link--Color: var(--color--sky);
    --hover--link--Color: var(--color--secondary);
    --after--link--BackgroundColor: var(--color--sky);
    --hover--after--link--BackgroundColor: var(--color--secondary);
    align-items: center;
    column-gap: calc(var(--dynamicScale) * 0.6rem);
    display: flex;
    flex: 1 1 0;
    font-size: var(--font-size--md);
    font-weight: 500;
    justify-content: center;
    line-height: 1.4;
    padding: calc(var(--dynamicScale) * 1rem) calc(var(--dynamicScale) * 0.5rem);
    position: relative;
    text-align: center;
  }

  .p-reportAnchor__item + .p-reportAnchor__item:before {
    background-color: var(--color--gray);
    content: "";
    height: 48px;
    left: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
  }

  .p-reportAnchor__item:after {
    content: "";
    display: block;
    flex-shrink: 0;
    height: 0.55em;
    mask: no-repeat center / contain;
    mask-image: var(--icon--chevron-down);
    width: 0.8em;
  }

  .p-reportCollage img {
    display: block;
    height: auto;
    width: 100%;
  }

  .p-talk {
    --backgroundColor: #f5fcfb;
  }

  .p-talk__sub {
    font-size: var(--font-size--lg);
    font-weight: 500;
    line-height: 1.4;
    margin-bottom: 0;
    text-align: center;
  }

  .p-talk__credits {
    background-color: #fff;
    display: flex;
    margin: calc(var(--dynamicScale) * 6rem) auto 0;
    padding: calc(var(--dynamicScale) * 2.5rem);
    width: min(800px, 100%);
  }

  .p-talk__credits .__cell {
    flex: 1 1 0;
    min-width: 0;
    text-align: center;
  }

  .p-talk__credits .__cell + .__cell {
    border-left: 1px solid var(--color--gray);
  }

  .p-talk__credits .__role {
    font-size: var(--font-size--md);
    font-weight: 500;
    line-height: 1.4;
    margin-bottom: calc(var(--dynamicScale) * 0.25rem);
  }

  .p-talk__credits .__note {
    font-size: var(--font-size--sm);
    line-height: 1.5;
    margin-bottom: 0;
  }

  .p-talk__members {
    margin: calc(var(--dynamicScale) * 6rem) auto 0;
    width: min(800px, 100%);
  }

  .p-talk__members-band {
    background-color: #b0d1d3;
    font-size: var(--font-size--md);
    padding: calc(var(--dynamicScale) * 0.5rem);
    text-align: center;
  }

  .p-talk__members-list {
    background-color: #fff;
    padding: calc(var(--dynamicScale) * 2.5rem);
  }

  .p-talk__members-list .__row {
    display: flex;
  }

  .p-talk__members-list .__row + .__row {
    border-top: 1px solid var(--color--gray);
    margin-top: calc(var(--dynamicScale) * 1.5rem);
    padding-top: calc(var(--dynamicScale) * 1.5rem);
  }

  .p-talk__members-list dt {
    color: var(--color--secondary);
    flex: 0 0 calc(var(--dynamicScale) * 4.75rem);
    font-size: var(--font-size--md);
    font-weight: 500;
    line-height: 1.4;
    padding-top: 0.2em;
  }

  .p-talk__members-list dd {
    flex: 1 1 0;
    font-size: var(--font-size--base);
    min-width: 0;
  }

  .p-talk__photo {
    display: block;
    height: auto;
    margin: calc(var(--dynamicScale) * 2.5rem) 0;
    width: 100%;
  }

  .p-talk__members + .p-talk__photo {
    margin-top: calc(var(--dynamicScale) * 6rem);
  }

  .p-talk__q {
    align-items: flex-start;
    color: var(--color--secondary);
    column-gap: calc(var(--dynamicScale) * 1rem);
    display: flex;
    font-size: var(--font-size--lg);
    font-weight: 500;
    line-height: 1.4;
    margin: calc(var(--dynamicScale) * 2.5rem) 0;
  }

  .p-talk__q:before {
    background-color: var(--color--secondary);
    content: "";
    display: block;
    flex-shrink: 0;
    height: 2px;
    margin-top: calc(0.7em - 1px);
    width: 64px;
  }

  .p-talk__speech {
    display: grid;
    grid-template-columns: 80px minmax(0, 1fr);
    margin-bottom: calc(var(--dynamicScale) * 2.5rem);
    row-gap: calc(var(--dynamicScale) * 2.5rem);
  }

  .p-talk__speech dt {
    font-weight: 500;
  }

  .p-reportCredit {
    margin: calc(var(--dynamicScale) * 6rem) auto 0;
    width: min(800px, 100%);
  }

  .p-reportCredit__band {
    background-color: #b6d1de;
    font-size: var(--font-size--md);
    padding: calc(var(--dynamicScale) * 0.5rem);
    text-align: center;
  }

  .p-reportCredit__names {
    background-color: #fff;
    font-size: var(--font-size--md);
    font-weight: 500;
    line-height: 1.4;
    margin-bottom: 0;
    padding: calc(var(--dynamicScale) * 2rem);
    text-align: center;
  }
}

@layer utility {
  .block {
    display: block;
  }

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

  .txt-left {
    text-align: left;
  }

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

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

  .ff-sans {
    font-family: var(--font-family--sans);
  }

.ff-en-sans {
    font-family: var(--font-family--en-sans);
  }

  .fs-base {
    font-size: var(--font-size--base);
  }

  .fs-xs {
    font-size: var(--font-size--xs);
  }

  .fs-sm {
    font-size: var(--font-size--sm);
  }

  .fs-md {
    font-size: var(--font-size--md);
  }

  .fs-lg {
    font-size: var(--font-size--lg);
  }

  .fs-xl {
    font-size: var(--font-size--xl);
  }

  .fs-2xl {
    font-size: var(--font-size--2-xl);
  }

  .fs-3xl {
    font-size: var(--font-size--3-xl);
  }

  .fs-4xl {
    font-size: var(--font-size--4-xl);
  }

  .fs-5xl {
    font-size: var(--font-size--5-xl);
  }

  .fs-6xl {
    font-size: var(--font-size--6-xl);
  }

  .fs-7xl {
    font-size: var(--font-size--7-xl);
  }

  .fs-8xl {
    font-size: var(--font-size--8-xl);
  }

  .fs-9xl {
    font-size: var(--font-size--9-xl);
  }

  .fs-10xl {
    font-size: var(--font-size--10-xl);
  }

  .fw-light {
    font-weight: 300;
  }

  .fw-normal {
    font-weight: 400;
  }

  .fw-medium {
    font-weight: 500;
  }

  .fw-semibold {
    font-weight: 600;
  }

  .fw-bold {
    font-weight: 700;
  }

  .txt-primary {
    color: var(--color--primary);
  }

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

  .txt-secondary {
    color: var(--color--secondary);
  }

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

  .txt-sky {
    color: var(--color--sky);
  }

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

  .txt-red {
    color: var(--color--red);
  }

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

  .txt-base {
    color: var(--color--base);
  }

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

  .m-1 {
    margin: calc(var(--dynamicScale) * 1rem);
  }

  .mt-1,
  .my-1 {
    margin-top: calc(var(--dynamicScale) * 1rem);
  }

  .mb-1,
  .my-1 {
    margin-bottom: calc(var(--dynamicScale) * 1rem);
  }

  .ml-1,
  .mx-1 {
    margin-left: calc(var(--dynamicScale) * 1rem);
  }

  .mr-1,
  .mx-1 {
    margin-right: calc(var(--dynamicScale) * 1rem);
  }

  .p-1 {
    padding: calc(var(--dynamicScale) * 1rem);
  }

  .pt-1,
  .py-1 {
    padding-top: calc(var(--dynamicScale) * 1rem);
  }

  .pb-1,
  .py-1 {
    padding-bottom: calc(var(--dynamicScale) * 1rem);
  }

  .pl-1,
  .px-1 {
    padding-left: calc(var(--dynamicScale) * 1rem);
  }

  .pr-1,
  .px-1 {
    padding-right: calc(var(--dynamicScale) * 1rem);
  }

  .m-2 {
    margin: calc(var(--dynamicScale) * 2rem);
  }

  .mt-2,
  .my-2 {
    margin-top: calc(var(--dynamicScale) * 2rem);
  }

  .mb-2,
  .my-2 {
    margin-bottom: calc(var(--dynamicScale) * 2rem);
  }

  .ml-2,
  .mx-2 {
    margin-left: calc(var(--dynamicScale) * 2rem);
  }

  .mr-2,
  .mx-2 {
    margin-right: calc(var(--dynamicScale) * 2rem);
  }

  .p-2 {
    padding: calc(var(--dynamicScale) * 2rem);
  }

  .pt-2,
  .py-2 {
    padding-top: calc(var(--dynamicScale) * 2rem);
  }

  .pb-2,
  .py-2 {
    padding-bottom: calc(var(--dynamicScale) * 2rem);
  }

  .pl-2,
  .px-2 {
    padding-left: calc(var(--dynamicScale) * 2rem);
  }

  .pr-2,
  .px-2 {
    padding-right: calc(var(--dynamicScale) * 2rem);
  }

  .m-3 {
    margin: calc(var(--dynamicScale) * 3rem);
  }

  .mt-3,
  .my-3 {
    margin-top: calc(var(--dynamicScale) * 3rem);
  }

  .mb-3,
  .my-3 {
    margin-bottom: calc(var(--dynamicScale) * 3rem);
  }

  .ml-3,
  .mx-3 {
    margin-left: calc(var(--dynamicScale) * 3rem);
  }

  .mr-3,
  .mx-3 {
    margin-right: calc(var(--dynamicScale) * 3rem);
  }

  .p-3 {
    padding: calc(var(--dynamicScale) * 3rem);
  }

  .pt-3,
  .py-3 {
    padding-top: calc(var(--dynamicScale) * 3rem);
  }

  .pb-3,
  .py-3 {
    padding-bottom: calc(var(--dynamicScale) * 3rem);
  }

  .pl-3,
  .px-3 {
    padding-left: calc(var(--dynamicScale) * 3rem);
  }

  .pr-3,
  .px-3 {
    padding-right: calc(var(--dynamicScale) * 3rem);
  }

  .m-4 {
    margin: calc(var(--dynamicScale) * 4rem);
  }

  .mt-4,
  .my-4 {
    margin-top: calc(var(--dynamicScale) * 4rem);
  }

  .mb-4,
  .my-4 {
    margin-bottom: calc(var(--dynamicScale) * 4rem);
  }

  .ml-4,
  .mx-4 {
    margin-left: calc(var(--dynamicScale) * 4rem);
  }

  .mr-4,
  .mx-4 {
    margin-right: calc(var(--dynamicScale) * 4rem);
  }

  .p-4 {
    padding: calc(var(--dynamicScale) * 4rem);
  }

  .pt-4,
  .py-4 {
    padding-top: calc(var(--dynamicScale) * 4rem);
  }

  .pb-4,
  .py-4 {
    padding-bottom: calc(var(--dynamicScale) * 4rem);
  }

  .pl-4,
  .px-4 {
    padding-left: calc(var(--dynamicScale) * 4rem);
  }

  .pr-4,
  .px-4 {
    padding-right: calc(var(--dynamicScale) * 4rem);
  }

  .m-5 {
    margin: calc(var(--dynamicScale) * 5rem);
  }

  .mt-5,
  .my-5 {
    margin-top: calc(var(--dynamicScale) * 5rem);
  }

  .mb-5,
  .my-5 {
    margin-bottom: calc(var(--dynamicScale) * 5rem);
  }

  .ml-5,
  .mx-5 {
    margin-left: calc(var(--dynamicScale) * 5rem);
  }

  .mr-5,
  .mx-5 {
    margin-right: calc(var(--dynamicScale) * 5rem);
  }

  .p-5 {
    padding: calc(var(--dynamicScale) * 5rem);
  }

  .pt-5,
  .py-5 {
    padding-top: calc(var(--dynamicScale) * 5rem);
  }

  .pb-5,
  .py-5 {
    padding-bottom: calc(var(--dynamicScale) * 5rem);
  }

  .pl-5,
  .px-5 {
    padding-left: calc(var(--dynamicScale) * 5rem);
  }

  .pr-5,
  .px-5 {
    padding-right: calc(var(--dynamicScale) * 5rem);
  }

  .m-6 {
    margin: calc(var(--dynamicScale) * 6rem);
  }

  .mt-6,
  .my-6 {
    margin-top: calc(var(--dynamicScale) * 6rem);
  }

  .mb-6,
  .my-6 {
    margin-bottom: calc(var(--dynamicScale) * 6rem);
  }

  .ml-6,
  .mx-6 {
    margin-left: calc(var(--dynamicScale) * 6rem);
  }

  .mr-6,
  .mx-6 {
    margin-right: calc(var(--dynamicScale) * 6rem);
  }

  .p-6 {
    padding: calc(var(--dynamicScale) * 6rem);
  }

  .pt-6,
  .py-6 {
    padding-top: calc(var(--dynamicScale) * 6rem);
  }

  .pb-6,
  .py-6 {
    padding-bottom: calc(var(--dynamicScale) * 6rem);
  }

  .pl-6,
  .px-6 {
    padding-left: calc(var(--dynamicScale) * 6rem);
  }

  .pr-6,
  .px-6 {
    padding-right: calc(var(--dynamicScale) * 6rem);
  }

  .m-7 {
    margin: calc(var(--dynamicScale) * 7rem);
  }

  .mt-7,
  .my-7 {
    margin-top: calc(var(--dynamicScale) * 7rem);
  }

  .mb-7,
  .my-7 {
    margin-bottom: calc(var(--dynamicScale) * 7rem);
  }

  .ml-7,
  .mx-7 {
    margin-left: calc(var(--dynamicScale) * 7rem);
  }

  .mr-7,
  .mx-7 {
    margin-right: calc(var(--dynamicScale) * 7rem);
  }

  .p-7 {
    padding: calc(var(--dynamicScale) * 7rem);
  }

  .pt-7,
  .py-7 {
    padding-top: calc(var(--dynamicScale) * 7rem);
  }

  .pb-7,
  .py-7 {
    padding-bottom: calc(var(--dynamicScale) * 7rem);
  }

  .pl-7,
  .px-7 {
    padding-left: calc(var(--dynamicScale) * 7rem);
  }

  .pr-7,
  .px-7 {
    padding-right: calc(var(--dynamicScale) * 7rem);
  }

  .m-8 {
    margin: calc(var(--dynamicScale) * 8rem);
  }

  .mt-8,
  .my-8 {
    margin-top: calc(var(--dynamicScale) * 8rem);
  }

  .mb-8,
  .my-8 {
    margin-bottom: calc(var(--dynamicScale) * 8rem);
  }

  .ml-8,
  .mx-8 {
    margin-left: calc(var(--dynamicScale) * 8rem);
  }

  .mr-8,
  .mx-8 {
    margin-right: calc(var(--dynamicScale) * 8rem);
  }

  .p-8 {
    padding: calc(var(--dynamicScale) * 8rem);
  }

  .pt-8,
  .py-8 {
    padding-top: calc(var(--dynamicScale) * 8rem);
  }

  .pb-8,
  .py-8 {
    padding-bottom: calc(var(--dynamicScale) * 8rem);
  }

  .pl-8,
  .px-8 {
    padding-left: calc(var(--dynamicScale) * 8rem);
  }

  .pr-8,
  .px-8 {
    padding-right: calc(var(--dynamicScale) * 8rem);
  }
}

:first-child {
  margin-block-start: 0;
}

:last-child {
  margin-block-end: 0;
}

:after,
:before {
  transition: var(--custom--transition);
}

#preloader {
  background-color: #fff;
  height: 100vh;
  left: 0;
  position: fixed;
  top: 0;
  transition: 0.3s ease;
  width: 100vw;
  z-index: 99999;
}

@media (width > 1024px) {
  :root {
    --header-height: 120px;
  }

  :root .is-scrolled {
    --header-height: 100px;
  }

  .c-wrapper.has-fixed-widest {
    --dynamicWidth: 1280px;
  }

  .c-wrapper.has-fluid-widest {
    --dynamicWidth: 90%;
  }

  .c-lead {
    text-align: center;
  }

  .l-header .__logo {
    width: 200px;
  }

  .l-pagetop {
    height: 64px;
    margin: calc(var(--dynamicScale) * 2rem);
    width: 64px;
  }

  .p-hero {
    background-image: url(../img/home/mv_bg.webp);
    padding: 120px 0 160px;
  }

  .p-activity_Panel-3__block {
    border-left: 1px solid var(--color--gray);
    padding-left: calc(var(--dynamicScale) * 2rem);
  }

  .p-member .__Grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .p-application_Panel-1__block,
  .p-application_Panel-3__block {
    border-left: 1px solid var(--color--gray);
    padding-left: calc(var(--dynamicScale) * 2rem);
  }

  .p-reportInterview__block:nth-child(odd) [class*="__lead"],
  .p-reportInterview__block:nth-child(odd) [class*="__profile"] {
    text-align: right;
  }

  .p-reportInterview__images {
    flex-basis: 30%;
  }

  .p-reportInterview-period
    .p-reportInterview__block:nth-child(2n)
    [class*="__lead"],
  .p-reportInterview-period
    .p-reportInterview__block:nth-child(2n)
    [class*="__profile"] {
    text-align: right;
  }

  .p-reportInterview-period
    .p-reportInterview__block:nth-child(odd)
    [class*="__lead"],
  .p-reportInterview-period
    .p-reportInterview__block:nth-child(odd)
    [class*="__profile"] {
    text-align: left;
  }

  .md\:hidden {
    display: none;
  }

  .md\:txt-left {
    text-align: left;
  }

  .md\:txt-right {
    text-align: right;
  }

  .md\:txt-center {
    text-align: center;
  }

  .md\:m-1 {
    margin: calc(var(--dynamicScale) * 1rem);
  }

  .md\:mt-1,
  .md\:my-1 {
    margin-top: calc(var(--dynamicScale) * 1rem);
  }

  .md\:mb-1,
  .md\:my-1 {
    margin-bottom: calc(var(--dynamicScale) * 1rem);
  }

  .md\:ml-1,
  .md\:mx-1 {
    margin-left: calc(var(--dynamicScale) * 1rem);
  }

  .md\:mr-1,
  .md\:mx-1 {
    margin-right: calc(var(--dynamicScale) * 1rem);
  }

  .md\:p-1 {
    padding: calc(var(--dynamicScale) * 1rem);
  }

  .md\:pt-1,
  .md\:py-1 {
    padding-top: calc(var(--dynamicScale) * 1rem);
  }

  .md\:pb-1,
  .md\:py-1 {
    padding-bottom: calc(var(--dynamicScale) * 1rem);
  }

  .md\:pl-1,
  .md\:px-1 {
    padding-left: calc(var(--dynamicScale) * 1rem);
  }

  .md\:pr-1,
  .md\:px-1 {
    padding-right: calc(var(--dynamicScale) * 1rem);
  }

  .md\:m-2 {
    margin: calc(var(--dynamicScale) * 2rem);
  }

  .md\:mt-2,
  .md\:my-2 {
    margin-top: calc(var(--dynamicScale) * 2rem);
  }

  .md\:mb-2,
  .md\:my-2 {
    margin-bottom: calc(var(--dynamicScale) * 2rem);
  }

  .md\:ml-2,
  .md\:mx-2 {
    margin-left: calc(var(--dynamicScale) * 2rem);
  }

  .md\:mr-2,
  .md\:mx-2 {
    margin-right: calc(var(--dynamicScale) * 2rem);
  }

  .md\:p-2 {
    padding: calc(var(--dynamicScale) * 2rem);
  }

  .md\:pt-2,
  .md\:py-2 {
    padding-top: calc(var(--dynamicScale) * 2rem);
  }

  .md\:pb-2,
  .md\:py-2 {
    padding-bottom: calc(var(--dynamicScale) * 2rem);
  }

  .md\:pl-2,
  .md\:px-2 {
    padding-left: calc(var(--dynamicScale) * 2rem);
  }

  .md\:pr-2,
  .md\:px-2 {
    padding-right: calc(var(--dynamicScale) * 2rem);
  }

  .md\:m-3 {
    margin: calc(var(--dynamicScale) * 3rem);
  }

  .md\:mt-3,
  .md\:my-3 {
    margin-top: calc(var(--dynamicScale) * 3rem);
  }

  .md\:mb-3,
  .md\:my-3 {
    margin-bottom: calc(var(--dynamicScale) * 3rem);
  }

  .md\:ml-3,
  .md\:mx-3 {
    margin-left: calc(var(--dynamicScale) * 3rem);
  }

  .md\:mr-3,
  .md\:mx-3 {
    margin-right: calc(var(--dynamicScale) * 3rem);
  }

  .md\:p-3 {
    padding: calc(var(--dynamicScale) * 3rem);
  }

  .md\:pt-3,
  .md\:py-3 {
    padding-top: calc(var(--dynamicScale) * 3rem);
  }

  .md\:pb-3,
  .md\:py-3 {
    padding-bottom: calc(var(--dynamicScale) * 3rem);
  }

  .md\:pl-3,
  .md\:px-3 {
    padding-left: calc(var(--dynamicScale) * 3rem);
  }

  .md\:pr-3,
  .md\:px-3 {
    padding-right: calc(var(--dynamicScale) * 3rem);
  }

  .md\:m-4 {
    margin: calc(var(--dynamicScale) * 4rem);
  }

  .md\:mt-4,
  .md\:my-4 {
    margin-top: calc(var(--dynamicScale) * 4rem);
  }

  .md\:mb-4,
  .md\:my-4 {
    margin-bottom: calc(var(--dynamicScale) * 4rem);
  }

  .md\:ml-4,
  .md\:mx-4 {
    margin-left: calc(var(--dynamicScale) * 4rem);
  }

  .md\:mr-4,
  .md\:mx-4 {
    margin-right: calc(var(--dynamicScale) * 4rem);
  }

  .md\:p-4 {
    padding: calc(var(--dynamicScale) * 4rem);
  }

  .md\:pt-4,
  .md\:py-4 {
    padding-top: calc(var(--dynamicScale) * 4rem);
  }

  .md\:pb-4,
  .md\:py-4 {
    padding-bottom: calc(var(--dynamicScale) * 4rem);
  }

  .md\:pl-4,
  .md\:px-4 {
    padding-left: calc(var(--dynamicScale) * 4rem);
  }

  .md\:pr-4,
  .md\:px-4 {
    padding-right: calc(var(--dynamicScale) * 4rem);
  }

  .md\:m-5 {
    margin: calc(var(--dynamicScale) * 5rem);
  }

  .md\:mt-5,
  .md\:my-5 {
    margin-top: calc(var(--dynamicScale) * 5rem);
  }

  .md\:mb-5,
  .md\:my-5 {
    margin-bottom: calc(var(--dynamicScale) * 5rem);
  }

  .md\:ml-5,
  .md\:mx-5 {
    margin-left: calc(var(--dynamicScale) * 5rem);
  }

  .md\:mr-5,
  .md\:mx-5 {
    margin-right: calc(var(--dynamicScale) * 5rem);
  }

  .md\:p-5 {
    padding: calc(var(--dynamicScale) * 5rem);
  }

  .md\:pt-5,
  .md\:py-5 {
    padding-top: calc(var(--dynamicScale) * 5rem);
  }

  .md\:pb-5,
  .md\:py-5 {
    padding-bottom: calc(var(--dynamicScale) * 5rem);
  }

  .md\:pl-5,
  .md\:px-5 {
    padding-left: calc(var(--dynamicScale) * 5rem);
  }

  .md\:pr-5,
  .md\:px-5 {
    padding-right: calc(var(--dynamicScale) * 5rem);
  }

  .md\:m-6 {
    margin: calc(var(--dynamicScale) * 6rem);
  }

  .md\:mt-6,
  .md\:my-6 {
    margin-top: calc(var(--dynamicScale) * 6rem);
  }

  .md\:mb-6,
  .md\:my-6 {
    margin-bottom: calc(var(--dynamicScale) * 6rem);
  }

  .md\:ml-6,
  .md\:mx-6 {
    margin-left: calc(var(--dynamicScale) * 6rem);
  }

  .md\:mr-6,
  .md\:mx-6 {
    margin-right: calc(var(--dynamicScale) * 6rem);
  }

  .md\:p-6 {
    padding: calc(var(--dynamicScale) * 6rem);
  }

  .md\:pt-6,
  .md\:py-6 {
    padding-top: calc(var(--dynamicScale) * 6rem);
  }

  .md\:pb-6,
  .md\:py-6 {
    padding-bottom: calc(var(--dynamicScale) * 6rem);
  }

  .md\:pl-6,
  .md\:px-6 {
    padding-left: calc(var(--dynamicScale) * 6rem);
  }

  .md\:pr-6,
  .md\:px-6 {
    padding-right: calc(var(--dynamicScale) * 6rem);
  }

  .md\:m-7 {
    margin: calc(var(--dynamicScale) * 7rem);
  }

  .md\:mt-7,
  .md\:my-7 {
    margin-top: calc(var(--dynamicScale) * 7rem);
  }

  .md\:mb-7,
  .md\:my-7 {
    margin-bottom: calc(var(--dynamicScale) * 7rem);
  }

  .md\:ml-7,
  .md\:mx-7 {
    margin-left: calc(var(--dynamicScale) * 7rem);
  }

  .md\:mr-7,
  .md\:mx-7 {
    margin-right: calc(var(--dynamicScale) * 7rem);
  }

  .md\:p-7 {
    padding: calc(var(--dynamicScale) * 7rem);
  }

  .md\:pt-7,
  .md\:py-7 {
    padding-top: calc(var(--dynamicScale) * 7rem);
  }

  .md\:pb-7,
  .md\:py-7 {
    padding-bottom: calc(var(--dynamicScale) * 7rem);
  }

  .md\:pl-7,
  .md\:px-7 {
    padding-left: calc(var(--dynamicScale) * 7rem);
  }

  .md\:pr-7,
  .md\:px-7 {
    padding-right: calc(var(--dynamicScale) * 7rem);
  }

  .md\:m-8 {
    margin: calc(var(--dynamicScale) * 8rem);
  }

  .md\:mt-8,
  .md\:my-8 {
    margin-top: calc(var(--dynamicScale) * 8rem);
  }

  .md\:mb-8,
  .md\:my-8 {
    margin-bottom: calc(var(--dynamicScale) * 8rem);
  }

  .md\:ml-8,
  .md\:mx-8 {
    margin-left: calc(var(--dynamicScale) * 8rem);
  }

  .md\:mr-8,
  .md\:mx-8 {
    margin-right: calc(var(--dynamicScale) * 8rem);
  }

  .md\:p-8 {
    padding: calc(var(--dynamicScale) * 8rem);
  }

  .md\:pt-8,
  .md\:py-8 {
    padding-top: calc(var(--dynamicScale) * 8rem);
  }

  .md\:pb-8,
  .md\:py-8 {
    padding-bottom: calc(var(--dynamicScale) * 8rem);
  }

  .md\:pl-8,
  .md\:px-8 {
    padding-left: calc(var(--dynamicScale) * 8rem);
  }

  .md\:pr-8,
  .md\:px-8 {
    padding-right: calc(var(--dynamicScale) * 8rem);
  }
}

@media (width > 1440px) {
  .lg\:hidden {
    display: none;
  }

  .lg\:txt-left {
    text-align: left;
  }

  .lg\:txt-right {
    text-align: right;
  }

  .lg\:txt-center {
    text-align: center;
  }
}

@media (width <=1440px) {
  .lgd\:hidden {
    display: none;
  }
}

@media (width <=1024px) {
  [class*="c-button"] {
    font-size: var(--font-size--2-xl);
    padding: 0.75em 0.8em 0.85em;
  }

  .l-pageTitle {
    padding: calc(var(--header-height) + 40px) 0 48px;
  }

  .l-pageTitle.has-anchor {
    padding-bottom: 88px;
  }

  .p-hero .__container img[src*="mv3_sp"] {
    width: min(350px, 100%);
  }

  .p-activity_Panel-1.has-icon {
    padding: 24px 16px;
  }

  .p-activity_Panel-1.has-icon .p-activity_Panel-1__columns {
    align-items: center;
    flex-direction: column;
  }

  .p-activity_Panel-1__examples {
    flex-direction: column;
  }

  .p-activity_Panel-1__examples .__ex p {
    font-size: calc(var(--font-size--base) * 0.93);
  }

  .p-activity_Banners {
    align-items: center;
    flex-direction: column-reverse;
    gap: 16px;
  }

  .p-activity_Banner {
    --bnr-scale: 0.7125;
  }

  .p-activity_Panel-3 {
    flex-direction: column;
  }

  .p-activity_Panel-3__block {
    border-top: 1px solid var(--color--gray);
    padding-top: calc(var(--dynamicScale) * 1rem);
    width: 100%;
  }

  .p-member .__Card-image img {
    max-width: 60%;
  }

  .p-application_Panel-1 {
    flex-direction: column;
  }

  .p-application_Panel-1__title {
    margin-left: auto;
    margin-right: auto;
  }

  .p-application_Panel-1__block {
    border-top: 1px solid var(--color--gray);
    padding-top: calc(var(--dynamicScale) * 1rem);
    width: 100%;
  }

  .p-application_Panel-3 {
    flex-direction: column;
  }

  .p-application_Panel-3__title {
    margin-left: auto;
    margin-right: auto;
  }

  .p-application_Panel-3__block {
    border-top: 1px solid var(--color--gray);
    padding-top: calc(var(--dynamicScale) * 1rem);
    width: 100%;
  }

  .p-application .__Details dt {
    line-height: 1.4;
    padding-top: calc(var(--dynamicScale) * 1.3rem);
  }

  .p-reportInterview__block {
    flex-direction: column;
  }

  .p-reportInterview__images {
    margin-left: auto;
    margin-right: auto;
    max-width: 80%;
  }

  .p-reportInterview p:has(> .c-button-solid),
  .p-talk p:has(> .c-button-solid) {
    margin-top: 60px;
  }

  .p-reportTheme .fs-lg {
    font-size: var(--font-size--md);
  }

  .p-reportAnchor__card {
    min-height: 88px;
  }

  .p-reportAnchor__item {
    flex-direction: column;
    line-height: 1.2;
    row-gap: 6px;
  }

  .p-talk__sub {
    font-size: var(--font-size--md);
  }

  .p-talk__q:before {
    width: 28px;
  }

  .p-talk__members-list .__row + .__row {
    margin-top: 16px;
    padding-top: 16px;
  }

  .p-talk__members-list dt {
    flex-basis: 52px;
  }

  .p-talk__members-list dd {
    font-size: calc(var(--font-size--base) * 0.93);
  }

  .p-talk__speech {
    grid-template-columns: 40px minmax(0, 1fr);
  }

  .p-talk__speech dd,
  .p-talk__speech dt {
    font-size: calc(var(--font-size--base) * 0.93);
  }

  .p-application_Panel-2 h6 {
    font-size: var(--font-size--md);
    line-height: 1.8;
  }

  .mdd\:hidden {
    display: none;
  }
}
