/*!
Theme Name: TAiWĀ
Author: TAiWĀ
*/

/*!***********************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./src/scss/main.scss ***!
  \***********************************************************************************************************************************************************************************/
@charset "UTF-8";
/*
  レイヤ優先順位（強い順）:
  pages > utils > components > base > destyle
*/
@layer destyle, base, components, utils, pages;
@layer destyle {
  /*! destyle.css v4.0.1 | MIT License | https://github.com/nicolas-cusan/destyle.css */
  /* Reset box-model and set borders */
  /* ============================================ */
  *,
  ::before,
  ::after {
    border-style: solid;
    border-width: 0;
    box-sizing: border-box;
    min-width: 0;
  }
  /* Document */
  /* ============================================ */
  /**
   * 1. Correct the line height in all browsers.
   * 2. Prevent adjustments of font size after orientation changes in iOS.
   * 3. Remove gray overlay on links for iOS.
   */
  html {
    line-height: 1.15; /* 1 */
    -webkit-text-size-adjust: 100%; /* 2 */
    -webkit-tap-highlight-color: transparent; /* 3*/
  }
  /* Sections */
  /* ============================================ */
  /**
   * Remove the margin in all browsers.
   */
  body {
    margin: 0;
  }
  /**
   * Render the `main` element consistently in IE.
   */
  main {
    display: block;
  }
  /* Vertical rhythm */
  /* ============================================ */
  p,
  table,
  blockquote,
  address,
  pre,
  iframe,
  form,
  figure,
  dl {
    margin: 0;
  }
  /* Headings */
  /* ============================================ */
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-size: inherit;
    font-weight: inherit;
    margin: 0;
  }
  /* Lists (enumeration) */
  /* ============================================ */
  ul,
  ol {
    list-style: none;
    margin: 0;
    padding: 0;
  }
  /* Lists (definition) */
  /* ============================================ */
  dt {
    font-weight: bold;
  }
  dd {
    margin-left: 0;
  }
  /* Grouping content */
  /* ============================================ */
  /**
   * 1. Add the correct box sizing in Firefox.
   * 2. Show the overflow in Edge and IE.
   */
  hr {
    border-top-width: 1px;
    box-sizing: content-box; /* 1 */
    clear: both;
    color: inherit;
    height: 0; /* 1 */
    margin: 0;
    overflow: visible; /* 2 */
  }
  /**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */
  pre {
    font-family: monospace, monospace; /* 1 */
    font-size: inherit; /* 2 */
  }
  address {
    font-style: inherit;
  }
  /* Text-level semantics */
  /* ============================================ */
  /**
   * Remove the gray background on active links in IE 10.
   */
  a {
    background-color: transparent;
    color: inherit;
    text-decoration: none;
  }
  /**
   * 1. Remove the bottom border in Chrome 57-
   * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
   */
  abbr[title] {
    -webkit-text-decoration: underline dotted;
            text-decoration: underline dotted; /* 2 */
  }
  /**
   * Add the correct font weight in Chrome, Edge, and Safari.
   */
  b,
  strong {
    font-weight: bolder;
  }
  /**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */
  code,
  kbd,
  samp {
    font-family: monospace, monospace; /* 1 */
    font-size: inherit; /* 2 */
  }
  /**
   * Add the correct font size in all browsers.
   */
  small {
    font-size: 80%;
  }
  /**
   * Prevent `sub` and `sup` elements from affecting the line height in
   * all browsers.
   */
  sub,
  sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  /* Replaced content */
  /* ============================================ */
  /**
   * Prevent vertical alignment issues.
   */
  svg,
  img,
  embed,
  object,
  iframe {
    vertical-align: bottom;
  }
  /* Forms */
  /* ============================================ */
  /**
   * Reset form fields to make them styleable.
   * 1. Make form elements stylable across systems iOS especially.
   * 2. Inherit text-transform from parent.
   */
  button,
  input,
  optgroup,
  select,
  textarea {
    -webkit-appearance: none; /* 1 */
    -moz-appearance: none;
         appearance: none;
    background: transparent;
    border-radius: 0;
    color: inherit;
    font: inherit;
    margin: 0;
    padding: 0;
    text-align: inherit;
    text-transform: inherit; /* 2 */
    vertical-align: middle;
  }
  /**
   * Correct cursors for clickable elements.
   */
  button,
  [type=button],
  [type=reset],
  [type=submit] {
    cursor: pointer;
  }
  button:disabled,
  [type=button]:disabled,
  [type=reset]:disabled,
  [type=submit]:disabled {
    cursor: default;
  }
  /**
   * Improve outlines for Firefox and unify style with input elements & buttons.
   */
  :-moz-focusring {
    outline: auto;
  }
  select:disabled {
    opacity: inherit;
  }
  /**
   * Remove padding
   */
  option {
    padding: 0;
  }
  /**
   * Reset to invisible
   */
  fieldset {
    margin: 0;
    min-width: 0;
    padding: 0;
  }
  legend {
    padding: 0;
  }
  /**
   * Add the correct vertical alignment in Chrome, Firefox, and Opera.
   */
  progress {
    vertical-align: baseline;
  }
  /**
   * Remove the default vertical scrollbar in IE 10+.
   */
  textarea {
    overflow: auto;
  }
  /**
   * Correct the cursor style of increment and decrement buttons in Chrome.
   */
  [type=number]::-webkit-inner-spin-button,
  [type=number]::-webkit-outer-spin-button {
    height: auto;
  }
  /**
   * Correct the outline style in Safari.
   */
  [type=search] {
    outline-offset: -2px; /* 1 */
  }
  /**
   * Remove the inner padding in Chrome and Safari on macOS.
   */
  [type=search]::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  /**
   * 1. Correct the inability to style clickable types in iOS and Safari.
   * 2. Fix font inheritance.
   */
  ::-webkit-file-upload-button {
    -webkit-appearance: button; /* 1 */
    font: inherit; /* 2 */
  }
  /**
   * Fix appearance for Firefox
   */
  [type=number] {
    -moz-appearance: textfield;
  }
  /**
   * Clickable labels
   */
  label[for] {
    cursor: pointer;
  }
  /* Interactive */
  /* ============================================ */
  /*
   * Add the correct display in Edge, IE 10+, and Firefox.
   */
  details {
    display: block;
  }
  /*
   * Add the correct display in all browsers.
   */
  summary {
    display: list-item;
  }
  /*
   * Remove outline for editable content.
   */
  [contenteditable]:focus {
    outline: auto;
  }
  /* Tables */
  /* ============================================ */
  /**
  1. Correct table border color inheritance in all Chrome and Safari.
  */
  table {
    border-collapse: collapse;
    border-color: inherit; /* 1 */
  }
  caption {
    text-align: left;
  }
  td,
  th {
    padding: 0;
    vertical-align: top;
  }
  th {
    font-weight: bold;
    text-align: left;
  }
}
@layer base {
  @view-transition {
    navigation: auto;
  }
  html {
    font-size: 62.5%;
    -webkit-text-size-adjust: 100%;
       -moz-text-size-adjust: 100%;
            text-size-adjust: 100%;
  }
  :root {
    --form-border: #aaa;
    --form-focus: #4d90fe;
    --form-disabled-opacity: 0.6;
    --form-placeholder-opacity: 0.6;
    --focus-ring: var(--form-focus);
    --focus-ring-width: 2px;
    --focus-ring-offset: 2px;
  }
  body {
    background-color: #f6f6f6;
    color: #222;
    font-family: "Noto Sans JP", sans-serif;
    font-size: clamp(1.5rem, calc(1.5rem + (100vw - 1024px) * 0.0024038462), 1.6rem);
    font-weight: 400;
    letter-spacing: 2px;
    line-height: 2.4;
  }
  @media (max-width: 1023.98px) {
    body {
      font-size: clamp(1.4rem, calc(1.4rem + (100vw - 375px) * 0.001540832), 1.5rem);
    }
  }
  h1, h2, h3, h4, h5, h6 {
    font-weight: 500;
    line-height: 1.5;
  }
  a {
    transition: opacity 0.2s 0s cubic-bezier(0.4, 0, 0.2, 1);
  }
  @media (hover: hover) {
    a:hover {
      opacity: 0.7;
    }
  }
  :where(a, button, input, textarea, select, summary):focus {
    outline: var(--focus-ring-width) solid var(--focus-ring);
    outline-offset: var(--focus-ring-offset);
  }
  :where(a, button, input, textarea, select, summary):focus:not(:focus-visible) {
    outline: none;
  }
  :where(input, textarea, select, button) {
    color: inherit;
    font-family: inherit;
    font-size: inherit;
  }
  :where(textarea,
  select,
  input:not([type]),
  input[type=text],
  input[type=search],
  input[type=email],
  input[type=password],
  input[type=url],
  input[type=tel],
  input[type=number],
  input[type=date],
  input[type=month],
  input[type=week],
  input[type=time],
  input[type=datetime-local]) {
    border: 1px solid var(--form-border);
    padding: 8px 15px;
  }
  :where(textarea,
  select,
  input:not([type]),
  input[type=text],
  input[type=search],
  input[type=email],
  input[type=password],
  input[type=url],
  input[type=tel],
  input[type=number],
  input[type=date],
  input[type=month],
  input[type=week],
  input[type=time],
  input[type=datetime-local]):focus {
    border-color: var(--form-focus);
  }
  :where(textarea,
  select,
  input:not([type]),
  input[type=text],
  input[type=search],
  input[type=email],
  input[type=password],
  input[type=url],
  input[type=tel],
  input[type=number],
  input[type=date],
  input[type=month],
  input[type=week],
  input[type=time],
  input[type=datetime-local]):disabled {
    cursor: not-allowed;
    opacity: var(--form-disabled-opacity);
  }
  :where(textarea,
  select,
  input:not([type]),
  input[type=text],
  input[type=search],
  input[type=email],
  input[type=password],
  input[type=url],
  input[type=tel],
  input[type=number],
  input[type=date],
  input[type=month],
  input[type=week],
  input[type=time],
  input[type=datetime-local])::-moz-placeholder {
    opacity: var(--form-placeholder-opacity);
  }
  :where(textarea,
  select,
  input:not([type]),
  input[type=text],
  input[type=search],
  input[type=email],
  input[type=password],
  input[type=url],
  input[type=tel],
  input[type=number],
  input[type=date],
  input[type=month],
  input[type=week],
  input[type=time],
  input[type=datetime-local])::placeholder {
    opacity: var(--form-placeholder-opacity);
  }
  input:not([type]), input[type=text], input[type=search], input[type=email], input[type=password], input[type=url], input[type=tel], input[type=number], input[type=date], input[type=month], input[type=week], input[type=time], input[type=datetime-local] {
    -webkit-appearance: none;
    -moz-appearance: none;
         appearance: none;
    width: 100%;
  }
  input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration {
    -webkit-appearance: none;
    appearance: none;
  }
  input[type=button], input[type=reset], input[type=submit] {
    -webkit-appearance: none;
    -moz-appearance: none;
         appearance: none;
  }
  input[type=radio], input[type=checkbox] {
    accent-color: var(--form-focus);
    -webkit-appearance: auto;
    -moz-appearance: auto;
         appearance: auto;
    bottom: 1px;
    position: relative;
  }
  input[type=checkbox] {
    bottom: 2px;
    margin-right: 7px;
  }
  input[type=date], input[type=time], input[type=datetime-local], input[type=month], input[type=week] {
    -webkit-appearance: auto;
    -moz-appearance: auto;
         appearance: auto;
  }
  textarea {
    resize: vertical;
    width: 100%;
  }
  select {
    -webkit-appearance: auto;
    -moz-appearance: auto;
         appearance: auto;
  }
  img {
    height: auto;
    max-width: 100%;
    vertical-align: bottom;
  }
  table {
    width: 100%;
  }
  table th, table td {
    padding-block: clamp(10px, calc(10px + (100vw - 576px) * 0.0111607143), 15px);
    padding-inline: clamp(10px, calc(10px + (100vw - 576px) * 0.0111607143), 15px);
  }
  table th {
    font-weight: 600;
    overflow-wrap: normal; /* 単語途中での折返しを抑制 */
    white-space: nowrap; /* 改行しない */
    word-break: keep-all; /* CJKの任意改行も抑制（保険） */
  }
  dd + dt {
    margin-top: clamp(20px, calc(20px + (100vw - 576px) * 0.0260416667), 25px);
  }
  :where(.main) ol, :where(.main) ul {
    padding-left: 30px;
  }
  :where(.main) ol li, :where(.main) ul li {
    line-height: 1.8;
  }
  :where(.main) ol ol, :where(.main) ol ul, :where(.main) ul ol, :where(.main) ul ul {
    margin: auto;
  }
  :where(.main) ul li {
    list-style-type: disc;
  }
  :where(.main) ul li li {
    list-style-type: circle;
  }
  :where(.main) ul li li li {
    list-style-type: square;
  }
  :where(.main) ul li li li li {
    list-style-type: disclosure-closed;
  }
  :where(.main) ol li {
    list-style: decimal-leading-zero;
  }
  #page {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    min-height: 100svh;
    overflow-x: hidden;
    overflow-x: clip;
    position: relative;
  }
  .page-bg {
    aspect-ratio: 2160/1322;
    left: 0;
    margin: auto;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -1;
  }
  .page-bg::before, .page-bg::after {
    content: "";
    display: block;
    left: 0;
    margin: auto;
    position: absolute;
    width: 100%;
  }
  .page-bg::before {
    background-image: linear-gradient(0deg, #f6f6f6 0%, rgba(246, 246, 246, 0) 100%);
    bottom: 0;
    height: 300px;
  }
  .page-bg::after {
    background: url("assets/images/common/mainV-bg.webp") no-repeat center/cover;
    height: 100%;
    opacity: 0.15;
    top: 0;
    z-index: -1;
  }
  .main {
    flex: 1 1;
  }
}
@layer components {
  :where(.article) {
    color: #222;
  }
  :where(.article) > :where(:first-child) {
    margin-top: 0;
  }
  :where(.article) > :where(:last-child) {
    margin-bottom: 0;
  }
  :where(.article) :where(p, li) {
    font-size: clamp(1.6rem, calc(1.6rem + (100vw - 1440px) * 0.003125), 1.75rem);
    letter-spacing: 0.06em;
    line-height: 2;
  }
  @media (max-width: 767.98px) {
    :where(.article) :where(p, li) {
      font-size: clamp(1.5rem, calc(1.5rem + (100vw - 576px) * 0.0026041667), 1.55rem);
      line-height: 1.95;
    }
  }
  :where(.article) :where(p) {
    margin-block: clamp(20px, calc(20px + (100vw - 576px) * 0.0416666667), 28px);
  }
  :where(.article) :where(a) {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.24em;
    word-break: break-word;
  }
  :where(.article) :where(strong) {
    font-weight: 600;
  }
  :where(.article) :where(em) {
    font-style: italic;
  }
  :where(.article) :where(ul, ol) {
    margin-block: clamp(28px, calc(28px + (100vw - 576px) * 0.0625), 40px);
    padding-left: 1.6em;
  }
  :where(.article) :where(li + li) {
    margin-top: 0.2em;
  }
  :where(.article) :where(li) :where(ul, ol) {
    margin-block: 14px 0;
  }
  :where(.article) :where(figure, .wp-block-image, table, iframe, pre) {
    margin-block: clamp(28px, calc(28px + (100vw - 576px) * 0.0833333333), 44px);
  }
  :where(.article) :where(img) {
    display: block;
    height: auto;
    margin-block: clamp(28px, calc(28px + (100vw - 576px) * 0.0833333333), 44px);
    margin-inline: auto;
    max-width: 100%;
  }
  :where(.article) :where(figure) :where(img) {
    margin-block: 0;
  }
  :where(.article) :where(figcaption, .wp-element-caption) {
    color: #666;
    font-size: clamp(1.2rem, calc(1.2rem + (100vw - 375px) * 0.0024875622), 1.25rem);
    letter-spacing: 0.08em;
    line-height: 1.8;
    margin-top: 12px;
    text-align: right;
  }
  :where(.article) :where(blockquote) {
    background-color: #f7f7f7;
    margin-block: clamp(28px, calc(28px + (100vw - 576px) * 0.0625), 40px);
    padding: clamp(16px, calc(16px + (100vw - 375px) * 0.0199004975), 20px) clamp(24px, calc(24px + (100vw - 375px) * 0.039800995), 32px) clamp(14px, calc(14px + (100vw - 375px) * 0.0298507463), 20px);
  }
  :where(.article) :where(blockquote) > *:first-child {
    margin-top: 0;
  }
  :where(.article) :where(blockquote) > *:last-child {
    margin-bottom: 0;
  }
  :where(.article) :where(blockquote) :where(p) {
    margin-block: 0;
  }
  :where(.article) :where(blockquote) :where(p + p) {
    margin-top: 1em;
  }
  :where(.article) :where(blockquote) :where(cite) {
    color: #666;
    display: block;
    font-size: clamp(1.2rem, calc(1.2rem + (100vw - 375px) * 0.0024875622), 1.25rem);
    letter-spacing: 0.08em;
    margin-top: 16px;
  }
  :where(.article) :where(h1, h2, h3, h4, h5, h6) {
    font-weight: 600;
    letter-spacing: 0.05em;
    line-height: 1.5;
    margin-bottom: clamp(16px, calc(16px + (100vw - 576px) * 0.03125), 22px);
    margin-top: clamp(36px, calc(36px + (100vw - 576px) * 0.0625), 48px);
  }
  :where(.article) :where(h1) {
    font-size: clamp(2.9rem, calc(2.9rem + (100vw - 1440px) * 0.0104166667), 3.4rem);
    line-height: 1.4;
  }
  @media (max-width: 767.98px) {
    :where(.article) :where(h1) {
      font-size: clamp(2.4rem, calc(2.4rem + (100vw - 576px) * 0.015625), 2.7rem);
    }
  }
  :where(.article) :where(h2) {
    font-size: clamp(2.4rem, calc(2.4rem + (100vw - 1440px) * 0.0104166667), 2.9rem);
  }
  @media (max-width: 767.98px) {
    :where(.article) :where(h2) {
      font-size: clamp(2.2rem, calc(2.2rem + (100vw - 576px) * 0.0052083333), 2.3rem);
    }
  }
  :where(.article) :where(h3) {
    font-size: clamp(2rem, calc(2rem + (100vw - 1440px) * 0.0083333333), 2.4rem);
  }
  @media (max-width: 767.98px) {
    :where(.article) :where(h3) {
      font-size: clamp(1.9rem, calc(1.9rem + (100vw - 576px) * 0.0052083333), 2rem);
    }
  }
  :where(.article) :where(h4) {
    font-size: clamp(1.8rem, calc(1.8rem + (100vw - 1440px) * 0.0041666667), 2rem);
  }
  @media (max-width: 767.98px) {
    :where(.article) :where(h4) {
      font-size: clamp(1.7rem, calc(1.7rem + (100vw - 576px) * 0.0052083333), 1.8rem);
    }
  }
  :where(.article) :where(h5, h6) {
    font-size: clamp(1.6rem, calc(1.6rem + (100vw - 1440px) * 0.003125), 1.75rem);
  }
  :where(.article) :where(table) {
    border-collapse: collapse;
    width: 100%;
  }
  :where(.article) :where(th, td) {
    border-bottom: 1px solid #e9e9e9;
    font-size: clamp(1.4rem, calc(1.4rem + (100vw - 375px) * 0.0099502488), 1.6rem);
    letter-spacing: 0.06em;
    line-height: 1.9;
    padding: 14px 16px;
    text-align: left;
    vertical-align: top;
  }
  :where(.article) :where(th) {
    font-weight: 500;
    width: 28%;
  }
  :where(.article) :where(pre) {
    background-color: #f6f6f6;
    overflow-x: auto;
    padding: clamp(18px, calc(18px + (100vw - 375px) * 0.0298507463), 24px);
  }
  :where(.article) :where(code) {
    background-color: #f6f6f6;
    border-radius: 4px;
    font-size: 0.95em;
    padding: 0.2em 0.45em;
  }
  :where(.article) :where(pre) :where(code) {
    background-color: transparent;
    padding: 0;
  }
  :where(.article) :where(hr, .wp-block-separator) {
    border-color: #f2f2f2;
    margin-block: clamp(56px, calc(56px + (100vw - 576px) * 0.0416666667), 64px);
  }
  @media (max-width: 575.98px) {
    :where(.article) :where(hr, .wp-block-separator) {
      margin-block: clamp(40px, calc(40px + (100vw - 375px) * 0.07960199), 56px);
    }
  }
  .btn-01 {
    align-items: center;
    display: inline-flex;
    height: clamp(56px, calc(56px + (100vw - 375px) * 0.07960199), 72px);
    justify-content: center;
    letter-spacing: 3px;
    padding-left: clamp(10px, calc(10px + (100vw - 375px) * 0.0696517413), 24px);
    padding-right: clamp(96px, calc(96px + (100vw - 375px) * 0.1393034826), 124px);
    position: relative;
  }
  .btn-01::before, .btn-01::after {
    bottom: 0;
    content: "";
    display: block;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
  }
  .btn-01::before {
    aspect-ratio: 64/11;
    background: url("assets/images/icon/icon-arrow.svg") no-repeat center/cover;
    transform: translateX(clamp(-32px, calc(-24px + (100vw - 375px) * -0.039800995), -24px));
    transition: transform 0.2s 0s cubic-bezier(0.4, 0, 0.2, 1);
    width: clamp(56px, calc(56px + (100vw - 375px) * 0.039800995), 64px);
  }
  .btn-01::after {
    aspect-ratio: 1;
    border: 1px solid #000;
    border-radius: 100vmax;
    width: clamp(64px, calc(64px + (100vw - 1440px) * 0.0166666667), 72px);
  }
  @media (max-width: 575.98px) {
    .btn-01::after {
      width: clamp(56px, calc(56px + (100vw - 375px) * 0.039800995), 64px);
    }
  }
  @media (hover: hover) {
    .btn-01:hover {
      opacity: 1;
    }
    .btn-01:hover::before {
      transform: translateX(-28px);
    }
  }
  .default-page__content > *:first-child {
    margin-top: 0;
  }
  .default-page__content > *:last-child {
    margin-bottom: 0;
  }
  .default-page__content :where(table) {
    table-layout: auto;
  }
  .default-page__content :where(th) {
    min-width: 8em;
  }
  .footer {
    margin-top: clamp(120px, calc(120px + (100vw - 1024px) * 0.1923076923), 200px);
  }
  @media (max-width: 767.98px) {
    .footer {
      margin-top: clamp(100px, calc(100px + (100vw - 576px) * 0.1041666667), 120px);
    }
  }
  .footer__nav {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0 clamp(12px, calc(12px + (100vw - 375px) * 0.0712468193), 40px);
    justify-content: center;
  }
  .footer__nav-item {
    display: block;
    font-family: "optima-lt-pro", sans-serif;
    letter-spacing: 3px;
    padding-block: 7px;
    padding-inline: 16px;
    position: relative;
    text-decoration: none;
  }
  .footer__nav-item::after {
    background-color: currentColor;
    bottom: 0;
    content: "";
    display: block;
    height: 1px;
    left: 16px;
    position: absolute;
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform 0.2s 0s cubic-bezier(0.4, 0, 0.2, 1);
    width: calc(100% - 32px);
  }
  @media (hover: hover) {
    .footer__nav-item:hover, .footer__nav-item:focus-visible {
      opacity: 1;
    }
    .footer__nav-item:hover::after, .footer__nav-item:focus-visible::after {
      transform: scaleX(1);
      transform-origin: left center;
    }
  }
  .footer__brand {
    margin-top: clamp(56px, calc(56px + (100vw - 375px) * 0.1990049751), 96px);
  }
  .footer__brand-link {
    align-items: center;
    display: inline-flex;
    flex-direction: column;
    gap: 24px;
    justify-content: center;
  }
  .footer__logo-brand {
    width: clamp(80px, calc(80px + (100vw - 375px) * 0.0995024876), 100px);
  }
  .footer__logo-copy {
    font-size: clamp(1.1rem, calc(1.1rem + (100vw - 375px) * 0.0099502488), 1.3rem);
    letter-spacing: 2px;
    line-height: 1;
    padding-top: 2px;
  }
  .copyright {
    font-size: clamp(1rem, calc(1rem + (100vw - 375px) * 0.0099502488), 1.2rem);
    letter-spacing: 3px;
    margin-top: clamp(56px, calc(56px + (100vw - 375px) * 0.1990049751), 96px);
    text-align: center;
  }
  @media (max-width: 575.98px) {
    .form {
      margin-top: -30px;
    }
  }
  .form__inner {
    margin-inline: auto;
    max-width: clamp(480px, calc(480px + (100vw - 1440px) * 0.1666666667), 560px);
  }
  .form__row {
    margin-top: clamp(15px, calc(15px + (100vw - 375px) * 0.0845771144), 32px);
  }
  .form__row:nth-of-type(1) {
    margin-top: 0;
  }
  .form__row.btn-area {
    margin-top: 56px;
    text-align: center;
  }
  .form__label {
    font-size: clamp(1.3rem, calc(1.3rem + (100vw - 375px) * 0.0099502488), 1.5rem);
    letter-spacing: 2px;
    padding-left: 2px;
  }
  .form__input,
  .form__textarea {
    background-color: #fff;
  }
  .form__input:focus, .form__input:focus-visible,
  .form__textarea:focus,
  .form__textarea:focus-visible {
    outline: none;
    outline-offset: 0;
  }
  .header {
    left: 0;
    padding-block: clamp(8px, calc(8px + (100vw - 375px) * 0.0597014925), 20px);
    padding-inline: clamp(24px, calc(24px + (100vw - 576px) * 0.0833333333), 40px);
    position: absolute;
    right: 0;
    top: 0;
    z-index: 999;
  }
  @media (max-width: 575.98px) {
    .header {
      padding-inline: clamp(14px, calc(14px + (100vw - 375px) * 0.0497512438), 24px) clamp(20px, calc(20px + (100vw - 375px) * 0.0199004975), 24px);
    }
  }
  .header__nav {
    align-items: center;
    display: flex;
    gap: clamp(24px, calc(24px + (100vw - 1440px) * 0.0333333333), 40px);
  }
  @media (max-width: 1439.98px) {
    .header__nav {
      gap: clamp(16px, calc(16px + (100vw - 1024px) * 0.0192307692), 24px);
    }
  }
  .header__nav a {
    display: block;
    font-family: "optima-lt-pro", sans-serif;
    font-size: clamp(1.5rem, calc(1.5rem + (100vw - 1440px) * 0.0041666667), 1.7rem);
    letter-spacing: 3px;
    line-height: 1;
    padding-block: 10px;
    padding-inline: 10px;
    position: relative;
    text-decoration: none;
  }
  .header__nav a::after {
    background-color: currentColor;
    bottom: 2px;
    content: "";
    display: block;
    height: 1px;
    left: 10px;
    position: absolute;
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform 0.2s 0s cubic-bezier(0.4, 0, 0.2, 1);
    width: calc(100% - 20px);
  }
  @media (hover: hover) {
    .header__nav a:hover, .header__nav a:focus-visible {
      opacity: 1;
    }
    .header__nav a:hover::after, .header__nav a:focus-visible::after {
      transform: scaleX(1);
      transform-origin: left center;
    }
  }
  .header__logo {
    gap: clamp(16px, calc(16px + (100vw - 375px) * 0.07960199), 32px);
  }
  .header__logo-brand {
    width: clamp(80px, calc(80px + (100vw - 375px) * 0.0995024876), 100px);
  }
  .header__logo-copy {
    font-size: clamp(1.1rem, calc(1.1rem + (100vw - 375px) * 0.0099502488), 1.3rem);
    letter-spacing: 2px;
    line-height: 1;
    padding-top: 2px;
  }
  @media (hover: hover) {
    .header__hMenu:hover {
      cursor: pointer;
    }
  }
  .header__hMenu button {
    flex-direction: column;
    gap: 7px;
    height: 40px;
    position: relative;
    width: 40px;
  }
  .header__hMenu span {
    background-color: #000;
    display: block;
    height: 1px;
    transition: transform 0.2s 0s cubic-bezier(0.4, 0, 0.2, 1);
    width: 32px;
  }
  .header__hMenu.is-active {
    justify-content: center;
  }
  .header__hMenu.is-active span {
    bottom: 0;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
  }
  .header__hMenu.is-active span:nth-of-type(1) {
    transform: rotate(45deg);
  }
  .header__hMenu.is-active span:nth-of-type(2) {
    transform: rotate(-45deg);
  }
  .has-js [data-inview=fade-up] {
    opacity: 0;
    transform: translateY(20px);
    transition-duration: 1.2s;
    transition-property: opacity, transform;
    transition-timing-function: ease;
  }
  .has-js [data-inview=fade-up].is-inview {
    opacity: 1;
    transform: translateY(0);
  }
  @media (prefers-reduced-motion: reduce) {
    .has-js [data-inview=fade-up] {
      opacity: 1;
      transform: none;
      transition: none;
    }
  }
  .mainV {
    height: clamp(450px, calc(450px + (100vw - 1024px) * 0.1201923077), 500px);
  }
  @media (max-width: 1023.98px) {
    .mainV {
      height: clamp(400px, calc(400px + (100vw - 768px) * 0.1953125), 450px);
    }
  }
  @media (max-width: 767.98px) {
    .mainV {
      height: clamp(300px, calc(300px + (100vw - 576px) * 0.5208333333), 400px);
    }
  }
  .mainV__logo {
    bottom: clamp(-30px, calc(-20px + (100vw - 1440px) * -0.0208333333), -20px);
    margin: auto;
    position: absolute;
    right: clamp(5px, calc(5px + (100vw - 1024px) * 0.0360576923), 20px);
    width: clamp(530px, calc(530px + (100vw - 1440px) * 0.3541666667), 700px);
  }
  @media (max-width: 1439.98px) {
    .mainV__logo {
      width: clamp(400px, calc(400px + (100vw - 1024px) * 0.7386363636), 530px);
    }
  }
  @media (max-width: 1023.98px) {
    .mainV__logo {
      left: 30px;
      right: auto;
      width: 60vw;
    }
  }
  @media (max-width: 767.98px) {
    .mainV__logo {
      bottom: clamp(-20px, calc(-10px + (100vw - 375px) * -0.0497512438), -10px);
      left: 0;
      width: 80vw;
    }
  }
  .mainV__logo img {
    width: 100%;
  }
  .mainV__content {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: clamp(32px, calc(32px + (100vw - 1024px) * 0.0384615385), 48px);
    justify-content: center;
  }
  @media (max-width: 1023.98px) {
    .mainV__content {
      gap: clamp(24px, calc(24px + (100vw - 768px) * 0.03125), 32px);
    }
  }
  @media (max-width: 767.98px) {
    .mainV__content {
      padding-top: clamp(0px, calc(16px + (100vw - 576px) * -0.0833333333), 16px);
    }
  }
  @media (max-width: 575.98px) {
    .mainV__content {
      padding-top: clamp(16px, calc(24px + (100vw - 375px) * -0.039800995), 24px);
    }
  }
  .mainV__title {
    font-family: "optima-lt-pro", sans-serif;
    font-size: clamp(2.9rem, calc(2.9rem + (100vw - 768px) * 0.01953125), 3.4rem);
    font-weight: 400;
    letter-spacing: 0.4em;
  }
  @media (max-width: 575.98px) {
    .mainV__title {
      font-size: clamp(2.5rem, calc(2.5rem + (100vw - 375px) * 0.0199004975), 2.9rem);
    }
  }
  .mainV__intro {
    font-size: clamp(1.6rem, calc(1.6rem + (100vw - 1440px) * 0.0041666667), 1.8rem);
    letter-spacing: 0.2em;
    text-align: center;
  }
  @media (max-width: 767.98px) {
    .mainV__intro {
      font-size: clamp(1.5rem, calc(1.5rem + (100vw - 576px) * 0.0052083333), 1.6rem);
    }
  }
  @media (max-width: 575.98px) {
    .mainV__intro {
      font-size: clamp(1.4rem, calc(1.4rem + (100vw - 375px) * 0.0049751244), 1.5rem);
    }
  }
  .mainV__catchphrase {
    font-size: clamp(1.6rem, calc(1.6rem + (100vw - 1440px) * 0.0041666667), 1.8rem);
    letter-spacing: 7px;
    line-height: 2.8;
    padding-bottom: clamp(90px, calc(90px + (100vw - 1440px) * 0.1458333333), 160px);
    padding-left: clamp(0px, calc(0px + (100vw - 1440px) * 0.1458333333), 70px);
  }
  @media (max-width: 1439.98px) {
    .mainV__catchphrase {
      font-size: clamp(1.4rem, calc(1.4rem + (100vw - 1024px) * 0.0048076923), 1.6rem);
      padding-bottom: clamp(50px, calc(50px + (100vw - 1024px) * 0.0961538462), 90px);
      padding-left: clamp(0px, calc(20px + (100vw - 1024px) * -0.0480769231), 20px);
    }
  }
  @media (max-width: 1023.98px) {
    .mainV__catchphrase {
      font-size: clamp(1.5rem, calc(1.5rem + (100vw - 576px) * 0.0052083333), 1.6rem);
      padding-bottom: clamp(250px, calc(250px + (100vw - 768px) * 0.1953125), 300px);
      padding-left: clamp(20px, calc(20px + (100vw - 768px) * 0.1953125), 70px);
    }
  }
  @media (max-width: 767.98px) {
    .mainV__catchphrase {
      padding-bottom: clamp(40px, calc(40px + (100vw - 375px) * 0.5472636816), 150px);
      padding-left: clamp(10px, calc(10px + (100vw - 576px) * 0.2083333333), 50px);
    }
  }
  @media (max-width: 575.98px) {
    .mainV__catchphrase {
      font-size: clamp(1.4rem, calc(1.4rem + (100vw - 375px) * 0.0049751244), 1.5rem);
      line-height: 2.4;
    }
  }
  .media-panel {
    margin-top: clamp(260px, calc(260px + (100vw - 1440px) * 0.1666666667), 340px);
  }
  @media (max-width: 1439.98px) {
    .media-panel {
      margin-top: clamp(220px, calc(220px + (100vw - 1024px) * 0.1442307692), 280px);
    }
  }
  @media (max-width: 1023.98px) {
    .media-panel {
      margin-top: clamp(150px, calc(150px + (100vw - 768px) * 0.2734375), 220px);
    }
  }
  @media (max-width: 575.98px) {
    .media-panel {
      margin-top: clamp(100px, calc(100px + (100vw - 375px) * 0.2487562189), 150px);
    }
  }
  .media-panel .btn-area {
    margin-top: clamp(40px, calc(40px + (100vw - 1440px) * 0.0333333333), 56px);
    text-align: center;
    width: 100%;
  }
  @media (max-width: 1439.98px) {
    .media-panel .btn-area {
      margin-top: clamp(12px, calc(12px + (100vw - 1024px) * 0.0673076923), 40px);
    }
  }
  @media (max-width: 1023.98px) {
    .media-panel .btn-area {
      margin-top: clamp(20px, calc(20px + (100vw - 375px) * 0.0597014925), 32px);
      text-align: right;
    }
  }
  .media-panel .btn-01 {
    font-family: "optima-lt-pro", sans-serif;
    font-size: clamp(1.4rem, calc(1.4rem + (100vw - 375px) * 0.0076335878), 1.7rem);
  }
  .media-panel__content {
    display: grid;
    gap: 25px;
    grid-template-columns: 0.8fr 1fr;
    position: relative;
  }
  @media (max-width: 1023.98px) {
    .media-panel__content {
      display: block;
    }
  }
  .media-panel__content::before, .media-panel__content::after {
    bottom: 0;
    content: "";
    display: block;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    width: calc(100% - 200px);
  }
  @media (max-width: 1023.98px) {
    .media-panel__content::before, .media-panel__content::after {
      width: 100%;
    }
  }
  .media-panel__content::before {
    border: 1px solid #000;
    transform: translate(-10px, -10px);
    z-index: -1;
  }
  @media (max-width: 1023.98px) {
    .media-panel__content::before {
      transform: translate(clamp(12px, calc(12px + (100vw - 576px) * 0.09375), 30px), clamp(12px, calc(12px + (100vw - 576px) * 0.09375), 30px));
      z-index: -2;
    }
  }
  .media-panel__content::after {
    background-color: #fff;
    transform: translate(10px, 10px);
    z-index: -2;
  }
  @media (max-width: 1023.98px) {
    .media-panel__content::after {
      transform: none;
      z-index: -1;
    }
  }
  .media-panel__desc {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    height: clamp(370px, calc(370px + (100vw - 1440px) * 0.125), 430px);
    justify-content: center;
    padding-inline: clamp(54px, calc(54px + (100vw - 1440px) * 0.0708333333), 88px) 88px;
  }
  @media (max-width: 1439.98px) {
    .media-panel__desc {
      height: clamp(355px, calc(355px + (100vw - 1024px) * 0.0360576923), 370px);
      padding-inline: clamp(24px, calc(24px + (100vw - 1024px) * 0.0721153846), 54px) clamp(48px, calc(48px + (100vw - 1024px) * 0.0961538462), 88px);
    }
  }
  @media (max-width: 1023.98px) {
    .media-panel__desc {
      padding-inline: clamp(48px, calc(48px + (100vw - 576px) * 0.0833333333), 64px);
    }
  }
  @media (max-width: 767.98px) {
    .media-panel__desc {
      height: clamp(320px, calc(320px + (100vw - 576px) * 0.1822916667), 355px);
      padding-inline: clamp(24px, calc(24px + (100vw - 375px) * 0.1194029851), 48px);
    }
  }
  @media (max-width: 575.98px) {
    .media-panel__desc {
      height: clamp(300px, calc(300px + (100vw - 375px) * 0.0995024876), 320px);
    }
  }
  .media-panel__text {
    letter-spacing: clamp(4px, calc(4px + (100vw - 375px) * 0.0149253731), 7px);
    margin-top: clamp(16px, calc(16px + (100vw - 1440px) * 0.0166666667), 24px);
  }
  @media (max-width: 575.98px) {
    .media-panel__text {
      white-space: nowrap;
    }
  }
  .media-panel__photo {
    aspect-ratio: 1.618/1;
    bottom: clamp(60px, calc(60px + (100vw - 1440px) * 0.0625), 90px);
    position: relative;
  }
  @media (max-width: 1439.98px) {
    .media-panel__photo {
      bottom: clamp(30px, calc(30px + (100vw - 1024px) * 0.0721153846), 60px);
    }
  }
  @media (max-width: 1023.98px) {
    .media-panel__photo {
      bottom: 0;
    }
  }
  .media-panel__photo img {
    height: 100%;
    object-fit: cover;
    width: 100%;
  }
  .overlay-menu {
    --custom-height: 100vh;
    backdrop-filter: blur(16px);
    background-color: rgba(246, 246, 246, 0.96);
    height: var(--custom-height);
    left: 0;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    top: 0;
    transition: opacity 0.2s 0s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.2s 0s cubic-bezier(0.4, 0, 0.2, 1);
    visibility: hidden;
    width: 100%;
    z-index: 99;
  }
  .overlay-menu::before {
    background: url("assets/images/common/mainV-bg.webp") no-repeat center/cover;
    content: "";
    display: block;
    height: 100%;
    left: 0;
    opacity: 0.08;
    position: absolute;
    top: 0;
    width: 100%;
  }
  .overlay-menu.is-active {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
  }
  .overlay-menu__container {
    height: 100%;
    position: relative;
    z-index: 1;
  }
  .overlay-menu__inner {
    display: flex;
    flex-direction: column;
    gap: clamp(24px, calc(24px + (100vw - 375px) * 0.07960199), 40px);
    height: 100%;
    justify-content: center;
    padding-block: clamp(104px, calc(104px + (100vw - 375px) * 0.1592039801), 136px) clamp(32px, calc(32px + (100vw - 375px) * 0.07960199), 48px);
  }
  .overlay-menu__nav {
    border-top: 1px solid rgba(0, 0, 0, 0.12);
  }
  .overlay-menu__item {
    align-items: end;
    border-bottom: 1px solid rgba(0, 0, 0, 0.12);
    display: grid;
    gap: 4px clamp(14px, calc(14px + (100vw - 375px) * 0.0199004975), 18px);
    grid-template-columns: auto 1fr;
    padding-block: 20px;
    padding-right: clamp(40px, calc(40px + (100vw - 375px) * 0.039800995), 48px);
    position: relative;
    transition: transform 0.2s 0s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s 0s cubic-bezier(0.4, 0, 0.2, 1);
  }
  .overlay-menu__item::after {
    aspect-ratio: 64/11;
    background: url("assets/images/icon/icon-arrow.svg") no-repeat center/contain;
    bottom: 0;
    content: "";
    display: block;
    margin: auto;
    opacity: 0.8;
    position: absolute;
    right: 0;
    top: 0;
    transition: transform 0.2s 0s cubic-bezier(0.4, 0, 0.2, 1);
    width: clamp(32px, calc(32px + (100vw - 375px) * 0.039800995), 40px);
  }
  @media (hover: hover) {
    .overlay-menu__item:hover, .overlay-menu__item:focus-visible {
      opacity: 1;
      transform: translateX(4px);
    }
    .overlay-menu__item:hover::after, .overlay-menu__item:focus-visible::after {
      transform: translateX(4px);
    }
  }
  .overlay-menu__item.is-current {
    opacity: 1;
  }
  .overlay-menu__item-index {
    font-size: 1.1rem;
    letter-spacing: 0.32em;
    line-height: 1;
    opacity: 0.55;
    transform: translateY(-2px);
  }
  .overlay-menu__item-label {
    font-size: clamp(2.4rem, calc(2.4rem + (100vw - 375px) * 0.0348258706), 3.1rem);
    letter-spacing: 0.16em;
    line-height: 1;
  }
  @media (max-width: 575.98px) {
    .overlay-menu__inner {
      gap: 32px;
      padding-block: 96px 32px;
    }
    .overlay-menu__item-label {
      letter-spacing: 0.12em;
    }
  }
  .react-sample__message {
    color: #c00;
    font-weight: 700;
    margin: 0;
  }
  .section-bg-copy {
    color: #fff;
    font-size: clamp(14rem, calc(14rem + (100vw - 1440px) * 0.125), 20rem);
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1;
    white-space: nowrap;
    -webkit-user-select: none;
       -moz-user-select: none;
    display: inline-block;
    pointer-events: none;
    position: absolute;
    right: var(--section-bg-copy-right, -2.5em);
    top: 50%;
    transform: translateY(-50%) rotate(-90deg);
    transform-origin: center center;
            user-select: none;
    width: -moz-max-content;
    width: max-content;
    z-index: 0;
  }
  @media (max-width: 1439.98px) {
    .section-bg-copy {
      font-size: clamp(12rem, calc(12rem + (100vw - 1024px) * 0.0480769231), 14rem);
    }
  }
  .page-top {
    aspect-ratio: 1;
    background-color: #000;
    border-radius: 100vmax;
    bottom: clamp(10px, calc(10px + (100vw - 576px) * 0.016025641), 20px);
    opacity: 0;
    pointer-events: none;
    position: fixed;
    right: clamp(10px, calc(10px + (100vw - 576px) * 0.016025641), 20px);
    transition: opacity 0.2s 0s cubic-bezier(0.4, 0, 0.2, 1), transform 0.2s 0s cubic-bezier(0.4, 0, 0.2, 1);
    width: 44px;
    z-index: 999;
  }
  .page-top span {
    background-color: #fff;
    bottom: 0;
    display: inline-block;
    height: 2px;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    width: 14px;
  }
  .page-top span:first-child {
    transform: rotate(45deg) translate(3px, -3px);
  }
  .page-top span:last-child {
    transform: rotate(-45deg) translate(-3px, -3px);
  }
  @media (hover: hover) {
    .page-top:hover {
      transform: translateY(-3px);
    }
  }
  .page-top.is-view {
    opacity: 1;
    pointer-events: auto;
  }
  .blog-list {
    display: grid;
    gap: clamp(32px, calc(32px + (100vw - 1440px) * 0.0666666667), 64px) clamp(72px, calc(72px + (100vw - 1440px) * 0.0833333333), 112px);
    grid-template-columns: repeat(3, 1fr);
  }
  @media (max-width: 1439.98px) {
    .blog-list {
      gap: 32px clamp(48px, calc(48px + (100vw - 1024px) * 0.0576923077), 72px);
    }
  }
  @media (max-width: 1023.98px) {
    .blog-list {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  @media (max-width: 767.98px) {
    .blog-list {
      grid-template-columns: repeat(1, 1fr);
    }
  }
  .gallery-list {
    display: grid;
    gap: clamp(88px, calc(88px + (100vw - 1024px) * 0.1363636364), 112px) clamp(72px, calc(72px + (100vw - 1024px) * 0.3522727273), 134px);
    grid-template-columns: repeat(2, 1fr);
  }
  @media (max-width: 1023.98px) {
    .gallery-list {
      gap: clamp(48px, calc(48px + (100vw - 768px) * 0.15625), 88px) clamp(48px, calc(48px + (100vw - 768px) * 0.09375), 72px);
    }
  }
  @media (max-width: 767.98px) {
    .gallery-list {
      display: block;
    }
  }
  .message {
    margin-top: clamp(200px, calc(200px + (100vw - 1440px) * 0.2083333333), 300px);
  }
  @media (max-width: 1023.98px) {
    .message {
      margin-top: clamp(124px, calc(124px + (100vw - 768px) * 0.296875), 200px);
    }
  }
  @media (max-width: 575.98px) {
    .message {
      margin-top: clamp(100px, calc(100px + (100vw - 375px) * 0.1194029851), 124px);
    }
  }
  .message .u-heading-01 {
    text-align: center;
  }
  .message__text > *:first-child {
    margin-top: 0;
  }
  .message__text > *:last-child {
    margin-bottom: 0;
  }
  .message__text {
    margin-top: 56px;
    text-align: center;
  }
  .message__text p {
    margin-block: clamp(24px, calc(24px + (100vw - 375px) * 0.07960199), 40px);
  }
  .photo {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  @media (max-width: 767.98px) {
    .photo {
      margin-top: clamp(40px, calc(40px + (100vw - 375px) * 0.039800995), 48px);
    }
  }
  .photo:nth-of-type(2n) {
    position: relative;
    top: 88px;
  }
  @media (max-width: 1023.98px) {
    .photo:nth-of-type(2n) {
      top: 64px;
    }
  }
  @media (max-width: 767.98px) {
    .photo:nth-of-type(2n) {
      top: 0;
    }
  }
  @media (max-width: 767.98px) {
    .photo:nth-of-type(1) {
      margin-top: 0;
    }
  }
  .photo img {
    height: 100%;
    object-fit: cover;
    width: 100%;
  }
  .photo__image {
    aspect-ratio: 3/2;
    background-color: #f3f3f3;
    overflow: hidden;
  }
  .photo__caption {
    font-size: 1.4rem;
    text-align: center;
  }
  .post__title {
    font-size: clamp(1.8rem, calc(1.8rem + (100vw - 1440px) * 0.0041666667), 2rem);
    letter-spacing: 2px;
    line-height: 1.7;
    margin-top: 12px;
  }
  @media (max-width: 575.98px) {
    .post__title {
      font-size: clamp(1.6rem, calc(1.6rem + (100vw - 375px) * 0.0099502488), 1.8rem);
    }
  }
  .post__thumb {
    aspect-ratio: 3/2;
    background-color: #f3f3f3;
    display: block;
    position: relative;
  }
  .post__thumb::after {
    background-color: #000;
    bottom: 0;
    content: "";
    left: 0;
    margin: auto;
    opacity: 0;
    position: absolute;
    right: 0;
    top: 0;
    transition: opacity 0.2s 0s cubic-bezier(0.4, 0, 0.2, 1);
  }
  .post__thumb img {
    height: 100%;
    object-fit: cover;
    width: 100%;
  }
  @media (hover: hover) {
    .post__thumb:hover {
      opacity: 1;
    }
    .post__thumb:hover::after {
      opacity: 0.15;
    }
  }
  .post__date {
    color: #888;
    font-family: "optima-lt-pro", sans-serif;
    font-size: clamp(1.3rem, calc(1.3rem + (100vw - 1440px) * 0.0041666667), 1.5rem);
    letter-spacing: 1px;
    margin-top: 2px;
    padding-inline: 10px;
    text-align: right;
  }
  .profile-hero {
    margin-top: clamp(200px, calc(200px + (100vw - 1024px) * 0.0480769231), 220px);
  }
  @media (max-width: 1023.98px) {
    .profile-hero {
      margin-top: clamp(140px, calc(140px + (100vw - 768px) * 0.234375), 200px);
    }
  }
  @media (max-width: 575.98px) {
    .profile-hero {
      margin-top: clamp(88px, calc(88px + (100vw - 375px) * 0.2587064677), 140px);
    }
  }
  .profile-hero__inner {
    margin-inline: auto;
    width: clamp(440px, calc(440px + (100vw - 1440px) * 0.375), 620px);
  }
  @media (max-width: 575.98px) {
    .profile-hero__inner {
      width: 100%;
    }
  }
  .profile-hero__bg-title {
    color: #fff;
    font-family: "optima-lt-pro", sans-serif;
    font-size: clamp(12rem, calc(12rem + (100vw - 1024px) * 0.1201923077), 17rem);
    left: 0;
    letter-spacing: 3px;
    line-height: 1;
    margin: auto;
    position: absolute;
    top: 260px;
    z-index: -1;
  }
  @media (max-width: 575.98px) {
    .profile-hero__bg-title {
      bottom: -30px;
      font-size: 23vw;
      left: clamp(-30px, calc(-20px + (100vw - 375px) * -0.0497512438), -20px);
      top: auto;
      z-index: 1;
    }
  }
  .profile-hero__visual {
    aspect-ratio: 2/3;
    background-color: #f3f3f3;
    position: relative;
  }
  .profile-hero__visual img {
    height: 100%;
    object-fit: cover;
    width: 100%;
  }
  .profile-hero__role {
    font-size: 1.4rem;
    line-height: 1.8;
    margin-top: 12px;
  }
  .profile-hero__meta {
    margin-top: 32px;
    padding-inline: clamp(12px, calc(12px + (100vw - 375px) * 0.0597014925), 24px);
  }
  @media (max-width: 575.98px) {
    .profile-hero__meta {
      margin-top: clamp(35px, calc(35px + (100vw - 375px) * 0.0248756219), 40px);
    }
  }
  .profile-hero__name-ja {
    font-size: clamp(2.7rem, calc(2.7rem + (100vw - 1024px) * 0.0096153846), 3.1rem);
    font-weight: 400;
    letter-spacing: 7px;
  }
  @media (max-width: 1023.98px) {
    .profile-hero__name-ja {
      font-size: clamp(2.2rem, calc(2.2rem + (100vw - 768px) * 0.01953125), 2.7rem);
    }
  }
  .profile-hero__name-en {
    letter-spacing: 3px;
    margin-left: 12px;
  }
  .profile-overview {
    margin-inline: auto;
    margin-top: clamp(110px, calc(110px + (100vw - 1440px) * 0.1041666667), 160px);
    max-width: 760px;
  }
  @media (max-width: 1023.98px) {
    .profile-overview {
      margin-top: clamp(90px, calc(90px + (100vw - 768px) * 0.078125), 110px);
    }
  }
  @media (max-width: 575.98px) {
    .profile-overview {
      margin-top: clamp(64px, calc(64px + (100vw - 375px) * 0.1293532338), 90px);
    }
  }
  .profile-overview__content > *:first-child {
    margin-top: 0;
  }
  .profile-overview__content > *:last-child {
    margin-bottom: 0;
  }
  .profile-overview__content {
    font-size: clamp(1.6rem, calc(1.6rem + (100vw - 1440px) * 0.0041666667), 1.8rem);
    line-height: 2.5;
  }
  @media (max-width: 1023.98px) {
    .profile-overview__content {
      font-size: clamp(1.4rem, calc(1.4rem + (100vw - 375px) * 0.001540832), 1.5rem);
    }
  }
  .profile-overview__image {
    margin-block: clamp(24px, calc(24px + (100vw - 576px) * 0.0833333333), 40px);
  }
  .profile-overview__text > *:first-child {
    margin-top: 0;
  }
  .profile-overview__text > *:last-child {
    margin-bottom: 0;
  }
  .profile-overview__text {
    margin-block: clamp(24px, calc(24px + (100vw - 576px) * 0.0833333333), 40px);
  }
  .profile-overview__text p {
    letter-spacing: 2px;
    margin-block: clamp(24px, calc(24px + (100vw - 576px) * 0.0833333333), 40px);
  }
  @media (max-width: 767.98px) {
    .profile-overview__text br {
      display: none;
    }
  }
  .profile-overview__caption {
    font-size: clamp(1.1rem, calc(1.1rem + (100vw - 576px) * 0.0104166667), 1.3rem);
    letter-spacing: 2px;
    text-align: right;
  }
  @media (max-width: 767.98px) {
    .profile-overview__caption {
      margin-top: 2px;
    }
  }
  .project {
    margin-top: clamp(200px, calc(200px + (100vw - 1440px) * 0.125), 260px);
    position: relative;
    --section-bg-copy-right: -2.15em;
  }
  @media (max-width: 1023.98px) {
    .project {
      margin-top: clamp(100px, calc(100px + (100vw - 576px) * 0.2083333333), 140px);
    }
  }
  @media (max-width: 575.98px) {
    .project {
      margin-top: clamp(72px, calc(72px + (100vw - 375px) * 0.1393034826), 100px);
    }
  }
  .project:nth-child(even) {
    padding-inline: clamp(50px, calc(50px + (100vw - 1440px) * 0.0833333333), 90px);
  }
  @media (max-width: 1023.98px) {
    .project:nth-child(even) {
      padding-inline: 0;
    }
  }
  .project:nth-child(even) .project__photo {
    order: 1;
    position: relative;
  }
  @media (max-width: 1023.98px) {
    .project:nth-child(even) .project__photo {
      order: 0;
    }
  }
  .project:nth-child(even) .project__photo::after {
    background-color: #fff;
    bottom: 0;
    content: "";
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    transform: translate(clamp(48px, calc(48px + (100vw - 1440px) * 0.05), 72px), clamp(48px, calc(48px + (100vw - 1440px) * 0.05), 72px));
    z-index: -1;
  }
  @media (max-width: 1023.98px) {
    .project:nth-child(even) .project__photo::after {
      transform: translate(clamp(-32px, calc(-12px + (100vw - 375px) * -0.0995024876), -12px), clamp(-32px, calc(-12px + (100vw - 375px) * -0.0995024876), -12px));
    }
  }
  .project:nth-child(even) .project__photo img {
    transform: none;
  }
  .project:nth-child(even) .project__content {
    gap: 100px;
    grid-template-columns: 1fr 0.8fr;
  }
  .project .btn-area {
    margin-top: clamp(48px, calc(48px + (100vw - 1440px) * 0.0666666667), 80px);
    padding-right: clamp(32px, calc(32px + (100vw - 375px) * 0.07960199), 48px);
    text-align: right;
    width: 100%;
  }
  @media (max-width: 575.98px) {
    .project .btn-area {
      padding-right: 0;
      text-align: center;
    }
  }
  .project .btn-01 {
    font-family: "optima-lt-pro", sans-serif;
    font-size: clamp(1.4rem, calc(1.4rem + (100vw - 375px) * 0.0076335878), 1.7rem);
  }
  .project__content {
    display: grid;
    gap: clamp(180px, calc(180px + (100vw - 1440px) * 0.0416666667), 200px);
    grid-template-columns: 0.8fr 1fr;
    position: relative;
    z-index: 1;
  }
  @media (max-width: 1023.98px) {
    .project__content {
      display: block;
    }
  }
  .project__photo {
    aspect-ratio: 3/2;
    background-color: #fff;
  }
  @media (max-width: 1023.98px) {
    .project__photo {
      position: relative;
    }
  }
  @media (max-width: 1023.98px) {
    .project__photo::after {
      background-color: #fff;
      bottom: 0;
      content: "";
      display: block;
      left: 0;
      margin: auto;
      position: absolute;
      right: 0;
      top: 0;
      transform: translate(clamp(-32px, calc(-12px + (100vw - 375px) * -0.0995024876), -12px), clamp(-32px, calc(-12px + (100vw - 375px) * -0.0995024876), -12px));
      z-index: -1;
    }
  }
  .project__photo img {
    height: 100%;
    object-fit: cover;
    transform: translate(clamp(48px, calc(48px + (100vw - 1440px) * 0.05), 72px), clamp(48px, calc(48px + (100vw - 1440px) * 0.05), 72px));
    width: 100%;
  }
  @media (max-width: 1023.98px) {
    .project__photo img {
      transform: none;
    }
  }
  .project--portrait .project__photo {
    aspect-ratio: 449/675;
  }
  .project__desc {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  @media (max-width: 1023.98px) {
    .project__desc {
      margin-top: clamp(24px, calc(24px + (100vw - 375px) * 0.039800995), 32px);
    }
  }
  .project__eyebrow {
    font-family: "optima-lt-pro", sans-serif;
    letter-spacing: clamp(1.5px, calc(1.5px + (100vw - 375px) * 0.0074626866), 3px);
  }
  .project__heading {
    font-size: clamp(3.1rem, calc(3.1rem + (100vw - 1440px) * 0.0104166667), 3.6rem);
    letter-spacing: clamp(4px, calc(4px + (100vw - 375px) * 0.0149253731), 7px);
  }
  @media (max-width: 1023.98px) {
    .project__heading {
      font-size: clamp(2.5rem, calc(2.5rem + (100vw - 768px) * 0.0234375), 3.1rem);
      margin-top: 5px;
    }
  }
  @media (max-width: 575.98px) {
    .project__heading {
      font-size: clamp(2rem, calc(2rem + (100vw - 375px) * 0.0248756219), 2.5rem);
    }
  }
  .project__text {
    letter-spacing: clamp(2px, calc(2px + (100vw - 375px) * 0.0099502488), 4px);
    line-height: 2.4;
    margin-top: 24px;
  }
  @media (max-width: 575.98px) {
    .project__text br {
      display: none;
    }
  }
  .project__feature {
    margin-top: clamp(12px, calc(12px + (100vw - 375px) * 0.1393034826), 40px);
    width: 100%;
  }
  .project__feature-item {
    border-bottom: 1px dashed #aaa;
    font-size: clamp(1.6rem, calc(1.6rem + (100vw - 1440px) * 0.0041666667), 1.8rem);
    letter-spacing: 2px;
    padding-block: 12px;
  }
  @media (max-width: 575.98px) {
    .project__feature-item {
      font-size: clamp(1.4rem, calc(1.4rem + (100vw - 375px) * 0.0099502488), 1.6rem);
    }
  }
  .projects {
    margin-top: clamp(200px, calc(200px + (100vw - 1440px) * 0.0833333333), 240px);
  }
  @media (max-width: 1023.98px) {
    .projects {
      margin-top: clamp(150px, calc(150px + (100vw - 768px) * 0.1953125), 200px);
    }
  }
  @media (max-width: 575.98px) {
    .projects {
      margin-top: clamp(90px, calc(90px + (100vw - 375px) * 0.2985074627), 150px);
    }
  }
  .projects .u-heading-01 {
    text-align: center;
  }
  .projects__nav {
    display: grid;
    gap: clamp(24px, calc(24px + (100vw - 768px) * 0.0625), 40px);
    grid-template-columns: repeat(3, 1fr);
    margin-top: clamp(48px, calc(48px + (100vw - 375px) * 0.1990049751), 88px);
  }
  @media (max-width: 767.98px) {
    .projects__nav {
      gap: clamp(40px, calc(40px + (100vw - 375px) * 0.07960199), 56px);
      grid-template-columns: repeat(1, 1fr);
    }
  }
  .projects__nav-item {
    border: 1px solid #000;
    font-size: clamp(1.6rem, calc(1.6rem + (100vw - 1440px) * 0.0041666667), 1.8rem);
    letter-spacing: 3px;
    line-height: 1;
    padding-block: 24px;
    padding-inline: 12px;
    position: relative;
    text-align: center;
  }
  @media (max-width: 1023.98px) {
    .projects__nav-item {
      font-size: clamp(1.5rem, calc(1.5rem + (100vw - 768px) * 0.01171875), 1.8rem);
      line-height: 1.8;
      padding-inline: 0;
    }
  }
  @media (max-width: 575.98px) {
    .projects__nav-item {
      padding-block: clamp(15px, calc(15px + (100vw - 375px) * 0.0447761194), 24px);
    }
  }
  .projects__nav-item::before, .projects__nav-item::after {
    content: "";
    display: block;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
  }
  .projects__nav-item::before {
    background-color: #f6f6f6;
    bottom: -10px;
    height: 20px;
    width: 64px;
  }
  .projects__nav-item::after {
    background: url("assets/images/icon/icon-arrow-02.svg") no-repeat center/clamp(16px, calc(16px + (100vw - 375px) * 0.039800995), 24px);
    bottom: -30px;
    height: 44px;
    transition: transform 0.2s 0s cubic-bezier(0.4, 0, 0.2, 1);
    width: 44px;
  }
  @media (hover: hover) {
    .projects__nav-item:hover {
      opacity: 1;
    }
    .projects__nav-item:hover::after {
      transform: translateY(3px);
    }
  }
  .projects__list {
    margin-top: clamp(0px, calc(0px + (100vw - 375px) * 0.6965174129), 140px);
  }
  .purpose {
    text-align: center;
  }
  .purpose__content {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: clamp(164px, calc(164px + (100vw - 1440px) * 0.05), 188px);
    justify-content: center;
    margin-top: clamp(200px, calc(200px + (100vw - 1440px) * 0.0833333333), 240px);
  }
  @media (max-width: 1023.98px) {
    .purpose__content {
      gap: clamp(124px, calc(124px + (100vw - 768px) * 0.0625), 140px);
      margin-top: clamp(140px, calc(140px + (100vw - 768px) * 0.234375), 200px);
    }
  }
  @media (max-width: 575.98px) {
    .purpose__content {
      gap: clamp(88px, calc(88px + (100vw - 375px) * 0.1791044776), 124px);
      margin-top: clamp(96px, calc(96px + (100vw - 375px) * 0.2189054726), 140px);
    }
  }
  .purpose__heading {
    font-family: "optima-lt-pro", sans-serif;
    font-size: clamp(2.9rem, calc(2.9rem + (100vw - 375px) * 0.0248756219), 3.4rem);
    font-weight: 400;
    letter-spacing: 4px;
  }
  @media (max-width: 575.98px) {
    .purpose__heading {
      font-size: clamp(2.7rem, calc(2.7rem + (100vw - 375px) * 0.0099502488), 2.9rem);
    }
  }
  .purpose__heading::after {
    background-color: #000;
    content: "";
    display: block;
    height: 1px;
    margin-block: clamp(40px, calc(40px + (100vw - 768px) * 0.0625), 56px);
    margin-inline: auto;
    width: clamp(40px, calc(40px + (100vw - 768px) * 0.0625), 56px);
  }
  @media (max-width: 575.98px) {
    .purpose__heading::after {
      margin-block: clamp(32px, calc(32px + (100vw - 375px) * 0.039800995), 40px);
    }
  }
  .purpose__text > *:first-child {
    margin-top: 0;
  }
  .purpose__text > *:last-child {
    margin-bottom: 0;
  }
  .purpose__text p {
    line-height: 2.6;
    margin-block: clamp(24px, calc(24px + (100vw - 375px) * 0.07960199), 40px);
    margin-inline: auto;
  }
  .purpose__image {
    margin-block: 40px;
  }
  .purpose__image--philosophy {
    margin-bottom: 0;
    margin-inline: auto;
    width: clamp(580px, calc(580px + (100vw - 1440px) * 0.2083333333), 680px);
  }
  @media (max-width: 1023.98px) {
    .purpose__image--philosophy {
      width: clamp(480px, calc(480px + (100vw - 768px) * 0.390625), 580px);
    }
  }
  @media (max-width: 575.98px) {
    .purpose__image--philosophy {
      margin-bottom: -15px;
      width: 100%;
    }
  }
  .purpose__image--philosophy img {
    width: 100%;
  }
  .purpose__diagram {
    margin-bottom: 0;
    max-width: 680px;
  }
  .single-post {
    margin-top: clamp(72px, calc(72px + (100vw - 375px) * 0.2388059701), 120px);
  }
  .single-post__article {
    background-color: rgba(255, 255, 255, 0.82);
    padding: 72px;
    position: relative;
    z-index: 0;
  }
  @media (max-width: 1023.98px) {
    .single-post__article {
      padding: clamp(20px, calc(20px + (100vw - 375px) * 0.1393034826), 48px);
    }
  }
  .single-post__header {
    border-bottom: 1px solid #f2f2f2;
    margin-top: 24px;
    padding-bottom: clamp(20px, calc(20px + (100vw - 375px) * 0.0995024876), 40px);
  }
  .single-post__title {
    font-size: clamp(2.9rem, calc(2.9rem + (100vw - 1440px) * 0.0041666667), 3.1rem);
    letter-spacing: 2px;
    line-height: 1.6;
    margin-block: 0;
  }
  @media (max-width: 1023.98px) {
    .single-post__title {
      font-size: clamp(2.5rem, calc(2.5rem + (100vw - 768px) * 0.015625), 2.9rem);
    }
  }
  @media (max-width: 575.98px) {
    .single-post__title {
      font-size: clamp(2.1rem, calc(2.1rem + (100vw - 375px) * 0.0199004975), 2.5rem);
    }
  }
  .single-post__date {
    font-family: "optima-lt-pro", sans-serif;
    font-size: clamp(1.3rem, calc(1.3rem + (100vw - 375px) * 0.0099502488), 1.5rem);
    letter-spacing: 1px;
    margin-top: 18px;
    text-align: right;
  }
  .single-post__thumb {
    aspect-ratio: 3/2;
    background-color: #f3f3f3;
    margin-block: 0;
  }
  .single-post__thumb img {
    height: 100%;
    margin-block: 0;
    object-fit: cover;
    width: 100%;
  }
  .single-post__content {
    margin-top: clamp(32px, calc(32px + (100vw - 375px) * 0.07960199), 48px);
  }
  .single-post__footer {
    margin-top: clamp(56px, calc(56px + (100vw - 768px) * 0.09375), 80px);
  }
  @media (max-width: 575.98px) {
    .single-post__footer {
      margin-top: clamp(40px, calc(40px + (100vw - 375px) * 0.07960199), 56px);
    }
  }
  .single-post__footer-link {
    border-bottom: 1px dashed #d9d9d9;
    display: block;
    font-size: clamp(1.4rem, calc(1.4rem + (100vw - 1440px) * 0.0020833333), 1.5rem);
    line-height: 2;
    padding-block: 12px;
    padding-inline: 10px 72px;
    position: relative;
    text-decoration: none;
  }
  @media (max-width: 575.98px) {
    .single-post__footer-link {
      font-size: clamp(1.3rem, calc(1.3rem + (100vw - 375px) * 0.0049751244), 1.4rem);
      padding-inline: 10px;
    }
  }
  .single-post__footer-link::after {
    aspect-ratio: 64/11;
    background: url("assets/images/icon/icon-arrow.svg") no-repeat center/contain;
    bottom: 24px;
    content: "";
    display: block;
    margin: auto;
    position: absolute;
    right: 10px;
    top: auto;
    transition: transform 0.2s 0s cubic-bezier(0.4, 0, 0.2, 1);
    width: 44px;
  }
  @media (max-width: 575.98px) {
    .single-post__footer-link::after {
      content: none;
    }
  }
  @media (hover: hover) {
    .single-post__footer-link:hover {
      opacity: 1;
    }
    .single-post__footer-link:hover::after {
      transform: translateX(3px);
    }
  }
  .top-blog {
    margin-top: clamp(200px, calc(200px + (100vw - 1440px) * 0.0416666667), 220px);
    position: relative;
  }
  @media (max-width: 1439.98px) {
    .top-blog {
      margin-top: clamp(150px, calc(150px + (100vw - 1024px) * 0.1201923077), 200px);
    }
  }
  @media (max-width: 767.98px) {
    .top-blog {
      margin-top: clamp(120px, calc(120px + (100vw - 576px) * 0.15625), 150px);
    }
  }
  @media (max-width: 575.98px) {
    .top-blog {
      margin-top: clamp(100px, calc(100px + (100vw - 375px) * 0.0995024876), 120px);
    }
  }
  .top-blog::after {
    background-color: #fff;
    bottom: clamp(120px, calc(150px + (100vw - 375px) * -0.1492537313), 150px);
    content: "";
    left: -80px;
    position: absolute;
    right: -80px;
    top: 0;
    transform: translateY(200px);
    z-index: -1;
  }
  .top-blog .btn-area {
    margin-top: clamp(48px, calc(48px + (100vw - 1024px) * 0.0576923077), 72px);
    text-align: center;
    width: 100%;
  }
  @media (max-width: 767.98px) {
    .top-blog .btn-area {
      text-align: right;
    }
  }
  @media (max-width: 575.98px) {
    .top-blog .btn-area {
      margin-top: clamp(32px, calc(32px + (100vw - 375px) * 0.07960199), 48px);
      text-align: center;
    }
  }
  .top-blog .btn-01 {
    font-size: clamp(1.4rem, calc(1.4rem + (100vw - 375px) * 0.0076335878), 1.7rem);
  }
  .top-blog__list {
    display: grid;
    gap: clamp(72px, calc(72px + (100vw - 1440px) * 0.05), 96px);
    grid-template-columns: repeat(3, 1fr);
    margin-top: clamp(32px, calc(32px + (100vw - 576px) * 0.125), 56px);
  }
  @media (max-width: 1439.98px) {
    .top-blog__list {
      gap: clamp(48px, calc(48px + (100vw - 1024px) * 0.0576923077), 72px);
    }
  }
  @media (max-width: 1023.98px) {
    .top-blog__list {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  @media (max-width: 767.98px) {
    .top-blog__list {
      display: block;
    }
  }
  @media (max-width: 767.98px) {
    .top-blog__item {
      margin-top: clamp(32px, calc(32px + (100vw - 576px) * 0.0833333333), 48px);
    }
  }
  @media (max-width: 575.98px) {
    .top-blog__item {
      margin-top: clamp(24px, calc(24px + (100vw - 375px) * 0.039800995), 32px);
    }
  }
  @media (max-width: 767.98px) {
    .top-blog__item:nth-of-type(1) {
      margin-top: 0;
    }
  }
  .top-blog__title {
    font-size: clamp(1.9rem, calc(1.9rem + (100vw - 1440px) * 0.00625), 2.2rem);
    letter-spacing: 2px;
    margin-top: 24px;
  }
  @media (max-width: 575.98px) {
    .top-blog__title {
      font-size: clamp(1.7rem, calc(1.7rem + (100vw - 375px) * 0.0099502488), 1.9rem);
    }
  }
  .top-blog__excerpt {
    margin-top: clamp(12px, calc(12px + (100vw - 375px) * 0.0199004975), 16px);
  }
  .top-blog__date {
    color: #888;
    font-family: "optima-lt-pro", sans-serif;
    margin-top: clamp(8px, calc(8px + (100vw - 576px) * 0.0416666667), 16px);
    text-align: right;
  }
  @media (max-width: 575.98px) {
    .top-blog__date {
      font-size: clamp(1.2rem, calc(1.2rem + (100vw - 375px) * 0.0099502488), 1.4rem);
      margin-top: clamp(2px, calc(2px + (100vw - 375px) * 0.0298507463), 8px);
    }
  }
  .top-blog__thumb {
    aspect-ratio: 1.618/1;
    background-color: #f3f3f3;
    display: block;
  }
  .top-blog__thumb img {
    height: 100%;
    object-fit: cover;
    width: 100%;
  }
  .top-profile {
    margin-top: clamp(210px, calc(210px + (100vw - 1440px) * 0.1041666667), 260px);
    position: relative;
    --section-bg-copy-right: clamp(-3.05em, calc(-3.05em + (100vw - 1440px) * 0.0020833333), -2.95em);
  }
  @media (max-width: 1439.98px) {
    .top-profile {
      margin-top: clamp(160px, calc(160px + (100vw - 1024px) * 0.1201923077), 210px);
      --section-bg-copy-right: clamp(-3.05em, calc(-2.55em + (100vw - 1024px) * -0.0120192308), -2.55em);
    }
  }
  @media (max-width: 1023.98px) {
    .top-profile {
      --section-bg-copy-right: -420px;
    }
  }
  @media (max-width: 767.98px) {
    .top-profile {
      margin-top: clamp(130px, calc(130px + (100vw - 576px) * 0.15625), 160px);
    }
  }
  @media (max-width: 575.98px) {
    .top-profile {
      margin-top: clamp(100px, calc(100px + (100vw - 375px) * 0.1492537313), 130px);
    }
  }
  .top-profile .btn-area {
    margin-top: clamp(24px, calc(24px + (100vw - 1024px) * 0.0721153846), 54px);
    text-align: center;
    width: 100%;
  }
  @media (max-width: 767.98px) {
    .top-profile .btn-area {
      text-align: right;
    }
  }
  .top-profile .btn-01 {
    font-family: "optima-lt-pro", sans-serif;
    font-size: clamp(1.4rem, calc(1.4rem + (100vw - 375px) * 0.0149253731), 1.7rem);
  }
  .top-profile__content {
    display: grid;
    gap: clamp(160px, calc(160px + (100vw - 1440px) * 0.0833333333), 200px);
    grid-template-columns: 0.8fr 1fr;
    position: relative;
    z-index: 1;
  }
  @media (max-width: 1439.98px) {
    .top-profile__content {
      gap: clamp(100px, calc(100px + (100vw - 1024px) * 0.1442307692), 160px);
    }
  }
  @media (max-width: 1023.98px) {
    .top-profile__content {
      display: block;
    }
  }
  .top-profile__photo {
    aspect-ratio: 449/675;
    background-color: #fff;
  }
  @media (max-width: 1023.98px) {
    .top-profile__photo {
      margin-top: clamp(32px, calc(32px + (100vw - 576px) * 0.2083333333), 72px);
      max-width: 370px;
      transform: translate(clamp(-40px, calc(-16px + (100vw - 576px) * -0.125), -16px), clamp(-40px, calc(-16px + (100vw - 576px) * -0.125), -16px));
    }
  }
  @media (max-width: 575.98px) {
    .top-profile__photo {
      max-width: 100%;
    }
  }
  .top-profile__photo img {
    height: 100%;
    object-fit: cover;
    transform: translate(clamp(40px, calc(40px + (100vw - 1024px) * 0.0769230769), 72px), clamp(40px, calc(40px + (100vw - 1024px) * 0.0769230769), 72px));
    width: 100%;
  }
  @media (max-width: 1023.98px) {
    .top-profile__photo img {
      transform: translate(clamp(16px, calc(16px + (100vw - 576px) * 0.125), 40px), clamp(16px, calc(16px + (100vw - 576px) * 0.125), 40px));
    }
  }
  .top-profile__desc {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .top-profile__heading {
    font-size: clamp(3.4rem, calc(3.4rem + (100vw - 1440px) * 0.0125), 4rem);
    letter-spacing: 7px;
  }
  @media (max-width: 575.98px) {
    .top-profile__heading {
      font-size: clamp(2.7rem, calc(2.7rem + (100vw - 375px) * 0.0348258706), 3.4rem);
    }
  }
  .top-profile__meta {
    margin-top: 40px;
  }
  @media (max-width: 1023.98px) {
    .top-profile__meta {
      margin-top: 24px;
    }
  }
  .top-profile__text {
    letter-spacing: 4px;
    line-height: 2.4;
    margin-top: 24px;
  }
  @media (max-width: 1023.98px) {
    .top-profile__text {
      margin-top: clamp(32px, calc(32px + (100vw - 576px) * 0.0833333333), 48px);
    }
  }
  .top-profile__role {
    letter-spacing: 2px;
    padding-left: 2px;
  }
  @media (max-width: 1023.98px) {
    .top-profile__name {
      line-height: 1;
      margin-top: 7px;
    }
  }
  .top-profile__name-ja {
    font-size: clamp(3.1rem, calc(3.1rem + (100vw - 1440px) * 0.00625), 3.4rem);
    letter-spacing: 7px;
  }
  @media (max-width: 767.98px) {
    .top-profile__name-ja {
      font-size: clamp(2.7rem, calc(2.7rem + (100vw - 576px) * 0.0208333333), 3.1rem);
    }
  }
  @media (max-width: 575.98px) {
    .top-profile__name-ja {
      font-size: clamp(2.4rem, calc(2.4rem + (100vw - 375px) * 0.0149253731), 2.7rem);
    }
  }
  .top-profile__name-en {
    letter-spacing: 3px;
  }
  .top-profile__name-separator {
    margin-inline: 24px 8px;
  }
  @media (max-width: 1023.98px) {
    .top-profile__name-separator {
      margin-inline: clamp(7px, calc(7px + (100vw - 375px) * 0.0248756219), 12px) clamp(8px, calc(8px + (100vw - 375px) * 0.0199004975), 12px);
    }
  }
  .top-works {
    margin-top: clamp(180px, calc(180px + (100vw - 1024px) * 0.2644230769), 290px);
  }
  @media (max-width: 1023.98px) {
    .top-works {
      margin-top: clamp(110px, calc(110px + (100vw - 768px) * 0.078125), 130px);
    }
  }
  @media (max-width: 767.98px) {
    .top-works {
      margin-top: clamp(90px, calc(90px + (100vw - 576px) * 0.1041666667), 110px);
    }
  }
  .top-works__lead {
    font-size: clamp(1.6rem, calc(1.6rem + (100vw - 1024px) * 0.0048076923), 1.8rem);
    letter-spacing: 4px;
    margin-top: clamp(32px, calc(32px + (100vw - 375px) * 0.039800995), 40px);
    padding-left: 5px;
  }
  @media (max-width: 1023.98px) {
    .top-works__lead {
      font-size: clamp(1.5rem, calc(1.5rem + (100vw - 768px) * 0.00390625), 1.6rem);
    }
  }
  .top-works__list {
    margin-top: clamp(40px, calc(40px + (100vw - 576px) * 0.0833333333), 56px);
  }
  .top-works__item {
    border-top: 1px solid #000;
    display: grid;
    grid-template-columns: clamp(120px, calc(120px + (100vw - 1440px) * 0.0625), 150px) 1fr 300px;
    padding-block: clamp(24px, calc(24px + (100vw - 1024px) * 0.0576923077), 48px);
  }
  @media (max-width: 1023.98px) {
    .top-works__item {
      grid-template-columns: clamp(88px, calc(88px + (100vw - 576px) * 0.1666666667), 120px) 1fr;
      padding-block: clamp(24px, calc(24px + (100vw - 576px) * 0.125), 48px);
      row-gap: clamp(7px, calc(7px + (100vw - 576px) * 0.0885416667), 24px);
    }
  }
  @media (max-width: 575.98px) {
    .top-works__item {
      grid-template-columns: clamp(40px, calc(40px + (100vw - 375px) * 0.1194029851), 64px) 1fr;
      padding-block: clamp(16px, calc(16px + (100vw - 375px) * 0.039800995), 24px);
    }
  }
  .top-works__item:nth-last-of-type(1) {
    border-bottom: 1px solid #000;
  }
  .top-works__index {
    align-items: center;
    display: flex;
    font-family: "optima-lt-pro", sans-serif;
    font-size: clamp(7rem, calc(7rem + (100vw - 1440px) * 0.0416666667), 9rem);
    justify-content: center;
    line-height: 1;
    position: relative;
  }
  @media (max-width: 767.98px) {
    .top-works__index {
      align-items: flex-start;
      font-size: clamp(5.6rem, calc(5.6rem + (100vw - 576px) * 0.0729166667), 7rem);
    }
  }
  @media (max-width: 575.98px) {
    .top-works__index {
      font-size: clamp(4rem, calc(4rem + (100vw - 375px) * 0.07960199), 5.6rem);
      justify-content: flex-start;
      padding-left: 5px;
    }
  }
  .top-works__index::after {
    background-color: #000;
    bottom: 0;
    content: "";
    display: block;
    height: clamp(34px, calc(34px + (100vw - 576px) * 0.0729166667), 48px);
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    width: 1px;
  }
  @media (max-width: 767.98px) {
    .top-works__index::after {
      bottom: auto;
      top: clamp(5px, calc(5px + (100vw - 375px) * 0.0348258706), 12px);
    }
  }
  @media (max-width: 575.98px) {
    .top-works__index::after {
      height: clamp(24px, calc(24px + (100vw - 375px) * 0.0497512438), 34px);
      top: clamp(5px, calc(9px + (100vw - 375px) * -0.0199004975), 9px);
    }
  }
  .top-works__desc {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-inline: clamp(48px, calc(48px + (100vw - 1440px) * 0.0333333333), 64px) 40px;
  }
  @media (max-width: 1023.98px) {
    .top-works__desc {
      padding-inline: clamp(40px, calc(40px + (100vw - 576px) * 0.0416666667), 48px) 0;
    }
  }
  @media (max-width: 575.98px) {
    .top-works__desc {
      padding-left: clamp(20px, calc(20px + (100vw - 375px) * 0.0995024876), 40px);
      padding-top: 7px;
    }
  }
  .top-works__item-heading {
    font-weight: 400;
  }
  .top-works__item-heading ._en {
    font-family: "optima-lt-pro", sans-serif;
    font-size: clamp(3.1rem, calc(3.1rem + (100vw - 1440px) * 0.00625), 3.4rem);
    letter-spacing: 5px;
  }
  @media (max-width: 1439.98px) {
    .top-works__item-heading ._en {
      font-size: clamp(2.7rem, calc(2.7rem + (100vw - 1024px) * 0.0096153846), 3.1rem);
    }
  }
  @media (max-width: 767.98px) {
    .top-works__item-heading ._en {
      font-size: clamp(2.4rem, calc(2.4rem + (100vw - 576px) * 0.015625), 2.7rem);
    }
  }
  @media (max-width: 575.98px) {
    .top-works__item-heading ._en {
      font-size: clamp(1.9rem, calc(1.9rem + (100vw - 375px) * 0.0248756219), 2.4rem);
      letter-spacing: clamp(4px, calc(4px + (100vw - 375px) * 0.0049751244), 5px);
    }
  }
  .top-works__item-heading ._jp {
    font-size: clamp(1.6rem, calc(1.6rem + (100vw - 576px) * 0.0208333333), 2rem);
    letter-spacing: 3px;
    white-space: nowrap;
  }
  @media (max-width: 575.98px) {
    .top-works__item-heading ._jp {
      font-size: clamp(1.3rem, calc(1.3rem + (100vw - 375px) * 0.0149253731), 1.6rem);
    }
  }
  .top-works__item-text {
    letter-spacing: 3px;
    margin-top: clamp(8px, calc(8px + (100vw - 1440px) * 0.0083333333), 12px);
  }
  @media (max-width: 1439.98px) {
    .top-works__item-text {
      margin-top: clamp(5px, calc(5px + (100vw - 1024px) * 0.0072115385), 8px);
    }
  }
  @media (max-width: 575.98px) {
    .top-works__item-text {
      margin-top: clamp(10px, calc(10px + (100vw - 375px) * 0.0298507463), 16px);
    }
  }
  .top-works__link {
    align-items: center;
    display: flex;
    justify-content: center;
  }
  @media (max-width: 1023.98px) {
    .top-works__link {
      grid-column: 1/-1;
      justify-content: flex-end;
    }
  }
  .works-intro__image {
    aspect-ratio: 1.618/1;
    background-color: #f3f3f3;
    margin-inline: auto;
    max-width: 760px;
  }
  .works-intro__image img {
    height: 100%;
    object-fit: cover;
    width: 100%;
  }
  .works-intro__lead > *:first-child {
    margin-top: 0;
  }
  .works-intro__lead > *:last-child {
    margin-bottom: 0;
  }
  .works-intro__lead {
    margin-block: clamp(24px, calc(24px + (100vw - 375px) * 0.07960199), 40px);
    text-align: center;
  }
  .works-intro__lead p {
    line-height: 2.4;
    margin-block: clamp(24px, calc(24px + (100vw - 375px) * 0.07960199), 40px);
  }
  .wpcf7 form.invalid .wpcf7-response-output,
  .wpcf7 form.unaccepted .wpcf7-response-output,
  .wpcf7 form.payment-required .wpcf7-response-output {
    border-color: #ffdf8b !important;
  }
  .wpcf7 form .wpcf7-response-output {
    border: 1px solid #00a0d2 !important;
    font-size: 1.4rem !important;
    padding: 20px 20px !important;
    text-align: center !important;
  }
  .wpcf7-not-valid-tip {
    font-size: 1.3rem !important;
    letter-spacing: 4px !important;
  }
  .wpcf7 form.sent .wpcf7-response-output {
    border: 1px solid #8bd6ff !important;
  }
  .wp-pagenavi {
    align-items: flex-start;
    display: flex;
    flex-wrap: wrap;
    gap: 10px 12px;
    justify-content: center;
    margin-top: clamp(30px, calc(30px + (100vw - 375px) * 0.0995024876), 50px);
  }
  .wp-pagenavi a, .wp-pagenavi span {
    align-items: center;
    border: 1px solid #bababa;
    border-radius: 100vmax;
    display: flex;
    font-family: "optima-lt-pro", sans-serif;
    font-size: 1.4rem;
    height: 44px;
    justify-content: center;
    letter-spacing: 0;
    transition: color 0.2s 0s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.2s 0s cubic-bezier(0.4, 0, 0.2, 1);
    width: 44px;
  }
  @media (hover: hover) {
    .wp-pagenavi a:hover, .wp-pagenavi span:hover {
      background-color: #000;
      color: #fff;
    }
  }
  .wp-pagenavi a.first, .wp-pagenavi a.last, .wp-pagenavi span.first, .wp-pagenavi span.last {
    height: 44px;
    width: 64px;
  }
  .wp-pagenavi a.current, .wp-pagenavi span.current {
    background-color: #000;
    color: #fff;
  }
  .wp-pagenavi a.extend, .wp-pagenavi span.extend {
    border: none;
    width: auto;
  }
}
@layer utils {
  .u-container {
    margin-inline: auto;
    max-width: var(--u-container-max-width, clamp(1280px, calc(1280px + (100vw - 1440px) * 0.8333333333), 1680px));
    padding-inline: var(--u-container-padding-inline, 40px);
    width: 100%;
  }
  @media (max-width: 1023.98px) {
    .u-container {
      max-width: var(--u-container-max-width-lg, clamp(680px, calc(680px + (100vw - 768px) * 0.390625), 780px));
    }
  }
  @media (max-width: 767.98px) {
    .u-container {
      padding-inline: var(--u-container-padding-inline-md, clamp(20px, calc(20px + (100vw - 375px) * 0.0508905852), 40px));
    }
  }
  .u-cq-inline {
    container-type: inline-size;
  }
  .u-cq-size {
    container-type: size;
  }
  .u-cols--1,
  .u-cols--2,
  .u-cols--3,
  .u-cols--4 {
    display: grid;
    gap: clamp(15px, calc(15px + (100vw - 576px) * 0.0520833333), 25px);
  }
  .u-cols--1 {
    grid-template-columns: repeat(1, 1fr);
  }
  .u-cols--2 {
    grid-template-columns: repeat(2, 1fr);
  }
  @media (max-width: 575.98px) {
    .u-cols--2 {
      grid-template-columns: repeat(1, 1fr);
    }
  }
  .u-cols--3 {
    grid-template-columns: repeat(3, 1fr);
  }
  @media (max-width: 767.98px) {
    .u-cols--3 {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  @media (max-width: 575.98px) {
    .u-cols--3 {
      grid-template-columns: repeat(1, 1fr);
    }
  }
  .u-cols--4 {
    grid-template-columns: repeat(4, 1fr);
  }
  @media (max-width: 767.98px) {
    .u-cols--4 {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  @media (max-width: 575.98px) {
    .u-cols--4 {
      grid-template-columns: repeat(1, 1fr);
    }
  }
  .u-flex-center {
    align-items: center;
    display: flex;
  }
  .u-flex-center-between {
    align-items: center;
    display: flex;
    justify-content: space-between;
  }
  .u-flex-center-center {
    align-items: center;
    display: flex;
    justify-content: center;
  }
  .u-flex-center-top {
    align-items: flex-start;
    display: flex;
    justify-content: center;
  }
  .u-gap--0 {
    gap: 0;
  }
  .u-gap--10 {
    gap: 10px;
  }
  .u-gap--15 {
    gap: 15px;
  }
  @media (max-width: 767.98px) {
    .u-heading-01 {
      align-items: flex-start;
      display: flex;
      flex-direction: column;
      gap: 5px;
      justify-content: flex-start;
    }
  }
  @media (max-width: 575.98px) {
    .u-heading-01 {
      gap: 12px;
    }
  }
  .u-heading-01 ._en {
    font-family: "optima-lt-pro", sans-serif;
    font-size: clamp(3.4rem, calc(3.4rem + (100vw - 1440px) * 0.0125), 4rem);
    font-weight: 400;
    letter-spacing: clamp(4px, calc(4px + (100vw - 375px) * 0.0049751244), 5px);
  }
  @media (max-width: 767.98px) {
    .u-heading-01 ._en {
      font-size: clamp(2.9rem, calc(2.9rem + (100vw - 576px) * 0.0260416667), 3.4rem);
    }
  }
  @media (max-width: 575.98px) {
    .u-heading-01 ._en {
      font-size: clamp(2.4rem, calc(2.4rem + (100vw - 375px) * 0.0248756219), 2.9rem);
    }
  }
  .u-heading-01 ._jp {
    font-weight: 400;
    letter-spacing: 4px;
  }
  @media (max-width: 575.98px) {
    .u-heading-01 ._jp {
      font-size: clamp(1.3rem, calc(1.3rem + (100vw - 375px) * 0.0049751244), 1.4rem);
      line-height: 1.8;
      padding-left: 28px;
      text-indent: -24px;
    }
  }
  .u-heading-01 ._jp::before {
    content: "／";
    margin-inline: 24px 8px;
  }
  @media (max-width: 767.98px) {
    .u-heading-01 ._jp::before {
      margin-inline: 0 8px;
    }
  }
  .u-bgc--white {
    background-color: #fff;
  }
  .u-m--auto {
    margin-inline: auto;
  }
  .u-mw--580 {
    max-width: 580px;
  }
  .u-mw--680 {
    max-width: 680px;
  }
  .u-mw--780 {
    max-width: 780px;
  }
  .u-mw--880 {
    max-width: 880px;
  }
  .u-mw--980 {
    max-width: 980px;
  }
  .u-mw--1080 {
    max-width: 1080px;
  }
  .u-fs--larger {
    font-size: larger;
  }
  .u-fs--smaller {
    font-size: smaller;
  }
  .u-ta--left {
    text-align: left;
  }
  .u-ta--center {
    text-align: center;
  }
  .u-ta--right {
    text-align: right;
  }
  .u-fc--default {
    color: #222;
  }
  .u-ff--optima {
    font-family: "optima-lt-pro", sans-serif;
  }
  .u-fw--thin {
    font-weight: 100;
  }
  .u-fw--extra-light {
    font-weight: 200;
  }
  .u-fw--light {
    font-weight: 300;
  }
  .u-fw--regular {
    font-weight: 400;
  }
  .u-fw--medium {
    font-weight: 500;
  }
  .u-fw--semi-bold {
    font-weight: 600;
  }
  .u-fw--bold {
    font-weight: 700;
  }
  .u-fw--extra-bold {
    font-weight: 800;
  }
  .u-fw--black {
    font-weight: 900;
  }
  .u-d--block {
    display: block;
  }
  .u-d--inline-block {
    display: inline-block;
  }
  .u-fullscreen-container {
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    width: 100vw;
  }
  @media (max-width: 1199.98px) {
    .u-hide--xl {
      display: none;
    }
  }
  @media (max-width: 1023.98px) {
    .u-hide--lg {
      display: none;
    }
  }
  @media (max-width: 767.98px) {
    .u-hide--md {
      display: none;
    }
  }
  @media (max-width: 575.98px) {
    .u-hide--sm {
      display: none;
    }
  }
  .u-show--xl {
    display: none;
  }
  @media (max-width: 1199.98px) {
    .u-show--xl {
      display: block;
    }
  }
  .u-show--lg {
    display: none;
  }
  @media (max-width: 1023.98px) {
    .u-show--lg {
      display: block;
    }
  }
  .u-show--md {
    display: none;
  }
  @media (max-width: 767.98px) {
    .u-show--md {
      display: block;
    }
  }
  .u-show--sm {
    display: none;
  }
  @media (max-width: 575.98px) {
    .u-show--sm {
      display: block;
    }
  }
}
@layer pages {
  .error404 .main p {
    text-align: center;
  }
  @media (max-width: 767.98px) {
    .error404 .main p {
      text-align: left;
    }
  }
  .error404 .main .btn-area {
    margin-top: clamp(40px, calc(40px + (100vw - 375px) * 0.07960199), 56px);
    text-align: center;
  }
  @media (max-width: 767.98px) {
    .contact-page .mainV {
      height: clamp(360px, calc(360px + (100vw - 576px) * 0.2083333333), 400px);
    }
  }
  @media (max-width: 1023.98px) {
    .single-page .media-panel {
      margin-top: clamp(48px, calc(48px + (100vw - 375px) * 0.2587064677), 100px);
    }
  }
  .top-page .mainV {
    background: url("assets/images/top-page/mainV.png") no-repeat center/cover;
    --u-container-padding-inline: clamp(30px, calc(30px + (100vw - 1440px) * 0.0208333333), 40px);
    height: clamp(740px, calc(740px + (100vw - 1440px) * 0.5), 980px);
    position: relative;
  }
  @media (max-width: 1439.98px) {
    .top-page .mainV {
      height: clamp(520px, calc(520px + (100vw - 1024px) * 0.5288461538), 740px);
    }
  }
  @media (max-width: 1023.98px) {
    .top-page .mainV {
      --u-container-max-width-lg: 100%;
      aspect-ratio: 1;
      background-image: url("assets/images/top-page/mainV-tab.jpg");
      height: auto;
      width: 100%;
    }
  }
  @media (max-width: 767.98px) {
    .top-page .mainV {
      background-image: url("assets/images/top-page/mainV-sp.jpg");
    }
  }
  @media (max-width: 575.98px) {
    .top-page .mainV {
      --u-container-padding-inline-md: clamp(14px, calc(14px + (100vw - 375px) * 0.07960199), 30px);
      aspect-ratio: 1/1.2;
    }
  }
  @media (max-width: 767.98px) {
    .works-page .u-heading-01 {
      align-items: center;
    }
  }
  @media (max-width: 767.98px) {
    .works-page .media-panel .u-heading-01 {
      align-items: flex-start;
    }
  }
}

/*# sourceMappingURL=style.css.map*/