@charset "UTF-8";
/*
 * 基本設計について
 * このプロジェクトは、基本的にPCファーストで設計されています。
 * 詳細は、_global/_breakpoints.scssを参照してください。
 */
/*
 * リセットCSSについて
 * ブラウザのデフォルトスタイルをリセットします。
 */
/*! destyle.css v4.0.1 | MIT License | https://github.com/nicolas-cusan/destyle.min.css */
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
  min-width: 0;
}

html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}

body {
  margin: 0;
}

main {
  display: block;
}

p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

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

ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

dt {
  font-weight: inherit;
}

dd {
  margin-left: 0;
}

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

pre {
  /* stylelint-disable-next-line font-family-no-duplicate-names */
  font-family: monospace, monospace;
  font-size: inherit;
}

address {
  font-style: inherit;
}

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

abbr[title] {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

b,
strong {
  font-weight: bolder;
}

code,
kbd,
samp {
  /* stylelint-disable-next-line font-family-no-duplicate-names */
  font-family: monospace, monospace;
  font-size: inherit;
}

small {
  font-size: 80%;
}

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit;
}

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

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

:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

option {
  padding: 0;
}

fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

legend {
  padding: 0;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

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

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

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

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

[type=number] {
  -moz-appearance: textfield;
}

label[for] {
  cursor: pointer;
}

details {
  display: block;
}

summary {
  display: list-item;
}

[contenteditable]:focus {
  outline: auto;
}

table {
  border-color: inherit;
  border-collapse: collapse;
}

caption {
  text-align: left;
}

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

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

/*
 * フォントについて
 * フォントの定義を行います。
 */
/*
 * 変数について
 * プロジェクト全体で使用される変数を定義します。
 */
:root {
  --font-size: 16;
  --font-family__noto-sans-jp: "Noto Sans JP", "Noto Sans SC", sans-serif;
  --font-family__jost: "Jost", sans-serif;
  --font-family__inter: "Inter", "Noto Sans JP", "Noto Sans SC", sans-serif;
  --max-width: 1920;
  --width__contents: 1312;
  --width__design-pc: 1440;
  --width__design-sp: 390;
  --space-inline: 32;
  --space__section: 60;
  --space__page-block: calc(128 * 1rem / var(--font-size));
  --width__breakpoint: calc(var(--width__contents) + (var(--space-inline) * 2));
  --js-height__header: calc(82 * 1rem / var(--font-size));
  --color__text: #71717b;
  --color__text-pale: #9f9fa9;
  --color__text-dark: #1a1a2e;
  --color__icon: #52525c;
  --color__bg-pale: #fafafa;
  --color__bg-page: #f4f6f8;
  --color__body: #3a3a3a;
  --color__gray: #3d3d3d;
  --color__gray-mid: #555;
  --color__bg-mute: #f8f8f8;
  --color__black: #000;
  --color__white: #fff;
  --color__blue: #2196f3;
  --color__primary: #173b57;
  --color__tertiary: #91a7b3;
  --color__secondary: #f1f1f1;
  --color__line: #e4e4e7;
  --color__line-pale: #f4f4f5;
  --color__accent: #e45b00;
  --color__cta: #2f6eb2;
  --color__overlay-rgb: 13 26 38;
  --color__gray-pale: #d9d9d9;
  --color__gray-pale-2: #eaeaea;
  --color__gray-pale-3: #f2f2f2;
  --color__gray-pale-4: #f8f9fb;
  --color__error: #e53e3e;
  --color__error-light: #fed7d7;
  --color__warning: #dd6b20;
  --color__warning-light: #feebc8;
  --color__success: #38a169;
  --color__success-light: #c6f6d5;
  --opacity__hover: 0.7;
  --duration: 0.3s;
}

/*
 * ベースについて
 * 全体の基本的なスタイルを定義します。
 * フォント、色、共通の要素などの基本設定が含まれています。
 */
html {
  --_font-size: var(--font-size);
  --_width: var(--width__breakpoint);
  scroll-padding-top: calc(var(--wp-admin--admin-bar--height, 0) + var(--js-height__header, 0));
  font-size: calc(var(--_font-size) * 1px);
}

body {
  font-family: var(--font-family__noto-sans-jp);
  color: var(--color__text);
  font-size: calc(16 * 1rem / var(--font-size));
  font-weight: 400;
  overflow-x: clip;
}

img,
svg {
  width: 100%;
  height: auto;
}

a {
  display: inline-block;
}

:focus-visible {
  outline: 2px solid var(--color__blue);
  outline-offset: 2px;
}

#wpadminbar {
  position: fixed !important;
}

/*
 * スクリプトについて
 * JavaScriptと連携するスタイルを定義します。
 * JSで追加されるクラスやアニメーション関連のスタイルが含まれています。
 * クラス名は、js-accordionのように命名します。
 */
.js-yt-thumb-crop {
  scale: 1.3333333333;
}

[data-scroll-animation] {
  display: block;
}
.js-product-filter-root.is-loading .m-products-archive__main {
  opacity: 0.5;
  pointer-events: none;
  transition: opacity var(--duration);
}

html {
  scrollbar-gutter: stable;
}

html:has(.js-modal__trigger[aria-expanded=true]) {
  overflow-y: hidden;
}

.js-accordion__panel {
  display: grid;
  grid-template-rows: 0fr; /* 初期状態で高さを0に */
  transition: grid-template-rows var(--duration); /* スムーズなアニメーション */
}

.js-accordion__panel > div {
  overflow: hidden; /* 子要素がはみ出ないように */
}

.js-accordion__panel:not([hidden]) {
  grid-template-rows: 1fr; /* 開いた状態では高さを自動調整 */
}

/*
 * レイアウトについて
 * ページの構造を形成するレイアウト要素を定義します。
 * インナー、その他汎用的なレイアウトなどが含まれています。
 * クラス名は、l-innerのように命名します。
 */
.l-page {
  display: grid;
  grid-template-rows: auto 1fr auto;
  grid-template-columns: 100%;
  min-height: 100dvh;
}

.l-page__content {
  padding-top: var(--js-height__header);
}

.l-inner {
  --_max-width: var(--width__contents, 1200);
  --_padding-inline: var(--space-inline, 25);
  --_padding-right: var(--_padding-inline);
  --_padding-left: var(--_padding-inline);
  --_padding-inline__total: calc(var(--_padding-right) + var(--_padding-left));
  width: 100%;
  max-width: calc(var(--_max-width) * 1rem / var(--font-size) + var(--_padding-inline__total) * 1rem / var(--font-size));
  margin-inline: auto;
  padding-right: calc(var(--_padding-right) * 1rem / var(--font-size));
  padding-left: calc(var(--_padding-left) * 1rem / var(--font-size));
}

.l-inner--brands {
  --_max-width: 512;
  --_padding-inline: 32;
}

.l-grid {
  --_max-width: 1200;
  --_min-width__column: 300;
  --_column-gap: 40;
  --_row-gap: 30;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(calc(var(--_min-width__column) * 1px), 1fr));
  -moz-column-gap: calc(var(--_column-gap) / var(--_max-width) * 100%);
       column-gap: calc(var(--_column-gap) / var(--_max-width) * 100%);
  row-gap: min(var(--_row-gap) / var(--_max-width) * 100vw, var(--_row-gap) * 1px);
}

.l-container--sidebar {
  display: grid;
  grid-template-columns: 1fr calc(300 * 1rem / var(--font-size));
  -moz-column-gap: calc(32 * 1rem / var(--font-size));
       column-gap: calc(32 * 1rem / var(--font-size));
}

.l-2-columns {
  --_width__left: 700;
  --_width__right: 450;
  --_column-gap: 50;
  --_width__total: calc(
    var(--_width__left) + var(--_column-gap) + var(--_width__right)
  );
  display: grid;
  grid-template-columns: calc(var(--_width__left) / var(--_width__total) * 100%) calc(var(--_width__right) / var(--_width__total) * 100%);
  -moz-column-gap: calc(var(--_column-gap) / var(--_width__total) * 100%);
       column-gap: calc(var(--_column-gap) / var(--_width__total) * 100%);
}

.l-2-columns--release-left {
  margin-left: max(50% - var(--js-width__viewport) / 2, 50% - var(--max-width) * 1px / 2);
}

.l-2-columns--release-right {
  margin-right: max(50% - var(--js-width__viewport) / 2, 50% - var(--max-width) * 1px / 2);
}

.l-2-columns--reverse {
  grid-template-columns: calc(var(--_width__right) / var(--_width__total) * 100%) calc(var(--_width__left) / var(--_width__total) * 100%);
}

.l-2-columns--reverse > *:last-child {
  order: -1;
}

.l-2-columns--release-left.l-2-columns--reverse {
  margin-right: max(50% - var(--js-width__viewport) / 2, 50% - var(--max-width) * 1px / 2);
  margin-left: auto;
}

.l-2-columns--release-right.l-2-columns--reverse {
  margin-right: auto;
  margin-left: max(50% - var(--js-width__viewport) / 2, 50% - var(--max-width) * 1px / 2);
}

.l-2-columns-pc {
  --_width__left: 700;
  --_width__right: 450;
  --_column-gap: 50;
  --_width__total: calc(
    var(--_width__left) + var(--_column-gap) + var(--_width__right)
  );
}

/*
 * モジュールについて
 * 再利用可能なUIモジュールを定義します。
 * ボタン、フォーム、モーダルなどのモジュールが含まれています。
 * クラス名は、m-buttonのように命名します。
 */
.m-video-modal .m-modal__backdrop {
  background-color: rgba(0, 0, 0, 0.6);
}

.m-video-modal .m-video-modal__inner {
  inline-size: min(90vw, 124.4444444444vh, 1400 * 1rem / var(--font-size));
}

.m-video-modal__close {
  position: absolute;
  inset-block-start: calc(-48 * 1rem / var(--font-size));
  inset-inline-end: 0;
  inline-size: calc(40 * 1rem / var(--font-size));
  block-size: calc(40 * 1rem / var(--font-size));
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--color__white);
  cursor: pointer;
  transition: opacity var(--duration);
}
.m-video-modal__close:focus-visible {
  opacity: var(--opacity__hover);
}
.m-video-modal__close svg {
  inline-size: 100%;
  block-size: 100%;
  display: block;
}

.m-video-modal__player {
  position: relative;
  inline-size: 100%;
  aspect-ratio: 16/9;
  background-color: var(--color__black);
  overflow: hidden;
}

.m-video-modal__iframe {
  position: absolute;
  inset: 0;
  inline-size: 100%;
  block-size: 100%;
  border: 0;
  display: block;
}

.m-thanks {
  padding-block: var(--space__page-block);
}

.m-thanks__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: calc(40 * 1rem / var(--font-size));
  padding-block: calc(80 * 1rem / var(--font-size));
  padding-inline: calc(64 * 1rem / var(--font-size));
  border: 1px solid var(--color__line);
  border-radius: calc(12 * 1rem / var(--font-size));
  background-color: var(--color__white);
  text-align: center;
}

.m-thanks__heading {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.m-thanks__en {
  display: flex;
  align-items: center;
  gap: calc(12 * 1rem / var(--font-size));
  font-family: var(--font-family__inter);
  font-weight: 500;
  font-size: calc(11 * 1rem / var(--font-size));
  line-height: 1.5;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.m-thanks__en-line {
  inline-size: calc(24 * 1rem / var(--font-size));
  block-size: 1px;
  background-color: var(--color__primary);
}

.m-thanks__title {
  padding-block-start: calc(12 * 1rem / var(--font-size));
  padding-block-end: calc(16 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-weight: 700;
  font-size: calc(28 * 1rem / var(--font-size));
  line-height: 1.25;
}

.m-thanks__title-bar {
  inline-size: calc(32 * 1rem / var(--font-size));
  block-size: calc(2 * 1rem / var(--font-size));
  background-color: var(--color__primary);
}

.m-thanks__divider {
  inline-size: 100%;
  block-size: 1px;
  background-color: var(--color__line);
}

.m-thanks__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: calc(20 * 1rem / var(--font-size));
  max-inline-size: calc(560 * 1rem / var(--font-size));
}

.m-thanks__lead {
  font-family: var(--font-family__noto-sans-jp);
  font-weight: 600;
  font-size: calc(20 * 1rem / var(--font-size));
  line-height: 1.6;
}

.m-thanks__text {
  font-family: var(--font-family__noto-sans-jp);
  font-weight: 400;
  font-size: calc(14 * 1rem / var(--font-size));
  line-height: 1.5714285714;
}

.m-thanks__note {
  font-family: var(--font-family__noto-sans-jp);
  font-weight: 400;
  font-size: calc(13 * 1rem / var(--font-size));
  line-height: 1.5384615385;
}

.m-thanks__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-block: calc(14 * 1rem / var(--font-size));
  padding-inline: calc(40 * 1rem / var(--font-size));
  border-radius: 9999px;
  background-color: var(--color__primary);
  font-family: var(--font-family__noto-sans-jp);
  font-weight: 700;
  font-size: calc(14 * 1rem / var(--font-size));
  line-height: 1;
  text-decoration: none;
  transition: opacity var(--duration);
}
.m-thanks__btn:focus-visible {
  opacity: var(--opacity__hover);
}

.m-sitemap-nav {
  padding-block: calc(96 * 1rem / var(--font-size));
  background-color: var(--color__bg-page, #f4f6f8);
}

.m-sitemap-nav__card {
  padding: calc(64 * 1rem / var(--font-size));
  border-radius: calc(4 * 1rem / var(--font-size));
  background-color: var(--color__white, #fff);
}

.m-sitemap-nav__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: calc(48 * 1rem / var(--font-size));
  max-inline-size: calc(1088 * 1rem / var(--font-size));
  margin-inline: auto;
}

.m-sitemap-nav__heading {
  padding-block-end: calc(12 * 1rem / var(--font-size));
  border-block-end: calc(1.414 * 1rem / var(--font-size)) solid var(--color__primary, #173b57);
  color: var(--color__primary, #173b57);
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(26 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.3461538462;
}

.m-sitemap-nav__list {
  display: flex;
  flex-direction: column;
  row-gap: calc(8 * 1rem / var(--font-size));
  padding-block-start: calc(24 * 1rem / var(--font-size));
}

.m-sitemap-nav__link {
  display: flex;
  align-items: center;
  -moz-column-gap: calc(6 * 1rem / var(--font-size));
       column-gap: calc(6 * 1rem / var(--font-size));
  padding-block: calc(4 * 1rem / var(--font-size));
}

.m-sitemap-nav__icon {
  display: grid;
  flex-shrink: 0;
  place-items: center;
  inline-size: calc(12 * 1rem / var(--font-size));
  block-size: calc(12 * 1rem / var(--font-size));
  color: var(--color__cta, #2f6eb2);
}

.m-sitemap-nav__icon svg {
  display: block;
  inline-size: calc(5 * 1rem / var(--font-size));
  block-size: calc(9 * 1rem / var(--font-size));
}

.m-sitemap-nav__label {
  color: var(--color__primary, #173b57);
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(18 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.2222222222;
}

.m-quality {
  display: block;
  color: var(--color__text);
  background-color: var(--color__white);
}

.m-quality-technology {
  padding-block-start: var(--space__page-block);
  padding-block-end: calc(var(--space__page-block) / 2);
}

.m-quality-technology__inner {
  display: flex;
  flex-direction: column;
}

.m-quality-technology__heading {
  display: flex;
  flex-direction: column;
}

.m-quality-technology__en {
  font-family: var(--font-family__inter);
  font-size: min(60 * 1rem / var(--font-size), 60 / 1440 * 100vw);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: 0;
  color: var(--color__tertiary);
}

.m-quality-technology__ja {
  display: flex;
  align-items: center;
  padding-block-start: calc(20 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(26 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.35;
  color: var(--color__primary);
}

.m-quality-technology__ja-marker {
  display: inline-block;
  inline-size: calc(3 * 1rem / var(--font-size));
  block-size: calc(35 * 1rem / var(--font-size));
  margin-inline-end: calc(10 * 1rem / var(--font-size));
  background-color: var(--color__accent);
}

.m-quality-technology__lead {
  padding-block-start: calc(20 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(26 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.35;
  color: var(--color__primary);
}

.m-quality-technology__body {
  padding-block-start: calc(20 * 1rem / var(--font-size));
}

.m-quality-technology__split {
  display: flex;
  gap: calc(80 * 1rem / var(--font-size));
  align-items: stretch;
}

.m-quality-technology__split--divider {
  padding-block-end: min(64 * 1rem / var(--font-size), 64 / 1440 * 100vw);
  border-block-end: 1px solid var(--color__line);
}

.m-quality-technology__split--reverse {
  padding-block-start: min(64 * 1rem / var(--font-size), 64 / 1440 * 100vw);
}

.m-quality-technology__split-item {
  flex: 1 1 0;
  min-inline-size: 0;
}

.m-quality-technology__split-title {
  padding-block-end: calc(20 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(26 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.35;
  color: var(--color__primary);
}

.m-quality-technology__split-text {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(16 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.75;
  color: var(--color__text);
}

.m-quality-technology__split-text-p + .m-quality-technology__split-text-p {
  padding-block-start: calc(28 * 1rem / var(--font-size));
}

.m-quality-technology__split-image {
  flex: 1 1 0;
  min-inline-size: 0;
  overflow: hidden;
  border-radius: calc(6 * 1rem / var(--font-size));
}

.m-quality-technology__split-image img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.m-quality-process {
  padding-block: var(--space__page-block);
  background-color: var(--color__secondary);
}

.m-quality-process__inner {
  display: flex;
  flex-direction: column;
}

.m-quality-process__heading {
  display: flex;
  flex-direction: column;
}

.m-quality-process__en {
  font-family: var(--font-family__inter);
  font-size: min(60 * 1rem / var(--font-size), 60 / 1440 * 100vw);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: 0;
  color: var(--color__tertiary);
}

.m-quality-process__ja {
  display: flex;
  align-items: center;
  padding-block-start: calc(20 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(26 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.35;
  color: var(--color__primary);
}

.m-quality-process__ja-marker {
  display: inline-block;
  inline-size: calc(3 * 1rem / var(--font-size));
  block-size: calc(35 * 1rem / var(--font-size));
  margin-inline-end: calc(10 * 1rem / var(--font-size));
  background-color: var(--color__accent);
}

.m-quality-process__lead {
  padding-block-start: calc(20 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(16 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.75;
  color: var(--color__text);
}

.m-quality-process__steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: calc(40 * 1rem / var(--font-size));
  padding-block-start: calc(40 * 1rem / var(--font-size));
  padding-inline: calc(59 * 1rem / var(--font-size));
  position: relative;
}

.m-quality-process__step {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}

.m-quality-process__step:not(:last-child)::after {
  content: "";
  position: absolute;
  top: calc(47.5 * 1rem / var(--font-size));
  left: 50%;
  inline-size: calc(100% + calc(40 * 1rem / var(--font-size)));
  block-size: calc(3 * 1rem / var(--font-size));
  background-color: var(--color__primary);
  z-index: 0;
}

.m-quality-process__step-number {
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: calc(88 * 1rem / var(--font-size));
  block-size: calc(88 * 1rem / var(--font-size));
  background-color: var(--color__primary);
  border-radius: calc(6 * 1rem / var(--font-size));
  font-family: var(--font-family__inter);
  font-size: calc(36 * 1rem / var(--font-size));
  font-weight: 900;
  line-height: 1;
  color: var(--color__white);
  text-align: center;
  position: relative;
  z-index: 1;
}

.m-quality-process__step-title {
  padding-block-start: calc(20 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(17 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.25;
  color: var(--color__primary);
  text-align: center;
}

.m-quality-process__step-desc {
  padding-block-start: calc(8 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(11 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.77;
  color: var(--color__text);
  text-align: center;
}

.m-quality-facilities {
  padding-block-start: calc(var(--space__page-block) / 2);
  padding-block-end: var(--space__page-block);
}

.m-quality-facilities__inner {
  display: flex;
  flex-direction: column;
}

.m-quality-facilities__heading {
  display: flex;
  flex-direction: column;
}

.m-quality-facilities__en {
  font-family: var(--font-family__inter);
  font-size: min(60 * 1rem / var(--font-size), 60 / 1440 * 100vw);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: 0;
  color: var(--color__tertiary);
}

.m-quality-facilities__ja {
  display: flex;
  align-items: center;
  padding-block-start: calc(20 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(26 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.35;
  color: var(--color__primary);
}

.m-quality-facilities__ja-marker {
  display: inline-block;
  inline-size: calc(3 * 1rem / var(--font-size));
  block-size: calc(35 * 1rem / var(--font-size));
  margin-inline-end: calc(10 * 1rem / var(--font-size));
  background-color: var(--color__accent);
}

.m-quality-facilities__lead {
  padding-block-start: calc(20 * 1rem / var(--font-size));
  padding-block-end: min(96 * 1rem / var(--font-size), 96 / 1440 * 100vw);
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(16 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.75;
  color: var(--color__text);
}

.m-quality-facilities__lead-p + .m-quality-facilities__lead-p {
  padding-block-start: calc(28 * 1rem / var(--font-size));
}

.m-quality-facilities__group {
  display: flex;
  flex-direction: column;
}

.m-quality-facilities__group + .m-quality-facilities__group {
  padding-block-start: min(128 * 1rem / var(--font-size), 128 / 1440 * 100vw);
}

.m-quality-facilities__group--last {
  padding-block-end: min(128 * 1rem / var(--font-size), 128 / 1440 * 100vw);
}

.m-quality-facilities__group-title {
  display: flex;
  align-items: center;
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(26 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.35;
  color: var(--color__primary);
}

.m-quality-facilities__hero {
  position: relative;
  padding-block-start: calc(20 * 1rem / var(--font-size));
}

.m-quality-facilities__hero img {
  display: block;
  inline-size: 100%;
  block-size: auto;
  aspect-ratio: 1312/482;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: calc(6 * 1rem / var(--font-size));
}

.m-quality-facilities__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(24 * 1rem / var(--font-size));
  padding-block-start: calc(20 * 1rem / var(--font-size));
}

.m-quality-facilities__grid-item {
  overflow: hidden;
  border-radius: calc(6 * 1rem / var(--font-size));
}

.m-quality-facilities__grid-item img {
  display: block;
  inline-size: 100%;
  block-size: auto;
  aspect-ratio: 644/282;
  -o-object-fit: cover;
     object-fit: cover;
}

.m-quality-facilities__caption {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding-inline: calc(32 * 1rem / var(--font-size));
  padding-block-end: calc(16 * 1rem / var(--font-size));
  border-radius: calc(6 * 1rem / var(--font-size));
  background-image: linear-gradient(to top, rgb(var(--color__overlay-rgb)/0.95) 0%, rgb(var(--color__overlay-rgb)/0.4) 14.64%, rgb(var(--color__overlay-rgb)/0) 25.62%);
}

.m-quality-facilities__hero .m-quality-facilities__caption {
  inset-block-start: calc(20 * 1rem / var(--font-size));
  background-image: linear-gradient(to top, rgb(var(--color__overlay-rgb)/0.95) 0%, rgb(var(--color__overlay-rgb)/0.4) 15.19%, rgb(var(--color__overlay-rgb)/0) 26.58%);
}

.m-quality-facilities__caption-en {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(11 * 1rem / var(--font-size));
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.073em;
  text-transform: uppercase;
}

.m-quality-facilities__caption-ja {
  padding-block-start: calc(8 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(26 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.35;
}

.m-quality-facilities__stats-wrap {
  padding-block-start: calc(64 * 1rem / var(--font-size));
}

.m-quality-facilities__stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: calc(4 * 1rem / var(--font-size));
}

.m-quality-facilities__stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: calc(24 * 1rem / var(--font-size)) calc(32 * 1rem / var(--font-size));
  background-color: var(--color__secondary);
  border-radius: calc(6 * 1rem / var(--font-size));
  /* カードの揃え高さは保ちつつ、文言が伸びた時は枠ごと伸ばす */
  min-block-size: calc(98 * 1rem / var(--font-size));
}

.m-quality-facilities__stat-value {
  font-family: var(--font-family__inter);
  font-size: calc(26 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1;
  color: var(--color__primary);
  text-align: center;
}

.m-quality-facilities__stat--certs {
  padding-inline: calc(26 * 1rem / var(--font-size));
}

.m-quality-facilities__stat-value--certs {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: center;
  -moz-column-gap: calc(10 * 1rem / var(--font-size));
       column-gap: calc(10 * 1rem / var(--font-size));
  font-size: calc(24 * 1rem / var(--font-size));
  line-height: 1.0833333333;
}

.m-quality-facilities__stat-cert-group {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.m-quality-facilities__stat-cert-note {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(12 * 1rem / var(--font-size));
  line-height: 1.5;
}

.m-quality-facilities__stat-label {
  padding-block-start: calc(6 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(12 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.5;
  color: var(--color__tertiary);
  text-align: center;
}

.m-quality-certification {
  padding-block: var(--space__page-block);
}

.m-quality-certification__inner {
  display: flex;
  flex-direction: column;
}

.m-quality-certification__heading {
  display: flex;
  flex-direction: column;
}

.m-quality-certification__en {
  font-family: var(--font-family__inter);
  font-size: min(60 * 1rem / var(--font-size), 60 / 1440 * 100vw);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: 0;
  color: var(--color__tertiary);
}

.m-quality-certification__ja {
  display: flex;
  align-items: center;
  padding-block-start: calc(20 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(26 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.35;
  color: var(--color__primary);
}

.m-quality-certification__ja-marker {
  display: inline-block;
  inline-size: calc(3 * 1rem / var(--font-size));
  block-size: calc(35 * 1rem / var(--font-size));
  margin-inline-end: calc(10 * 1rem / var(--font-size));
  background-color: var(--color__accent);
}

.m-quality-certification__lead {
  padding-block-start: calc(20 * 1rem / var(--font-size));
  padding-block-end: calc(20 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(16 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.75;
  color: var(--color__text);
}

.m-quality-certification__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: calc(32 * 1rem / var(--font-size));
  align-items: stretch;
}

.m-quality-certification__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: calc(30 * 1rem / var(--font-size));
  padding: calc(41 * 1rem / var(--font-size)) calc(25 * 1rem / var(--font-size));
  background-color: #fafbfc;
  border: 1px solid rgba(23, 59, 87, 0.1);
  border-radius: calc(6 * 1rem / var(--font-size));
}

.m-quality-certification__card-badge {
  inline-size: calc(132 * 1rem / var(--font-size));
  block-size: calc(168 * 1rem / var(--font-size));
}

.m-quality-certification__card-badge--wide {
  inline-size: calc(270 * 1rem / var(--font-size));
  block-size: calc(75 * 1rem / var(--font-size));
}

.m-quality-certification__card-badge img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.m-quality-certification__card-title {
  padding-block-end: calc(6 * 1rem / var(--font-size));
  font-family: var(--font-family__inter);
  font-size: calc(18 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1;
  color: var(--color__primary);
  text-align: center;
}

.m-quality-certification__card-number {
  display: block;
  padding-block-start: calc(8 * 1rem / var(--font-size));
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 400;
}

.m-quality-certification__card-desc {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(12 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.5;
  color: var(--color__tertiary);
  text-align: center;
}

.m-quality-certification__card-desc-p + .m-quality-certification__card-desc-p {
  padding-block-start: calc(18 * 1rem / var(--font-size));
}

.m-products-recommend {
  background-color: var(--color__white);
  padding-block-start: calc(36 * 1rem / var(--font-size));
}

.m-products-recommend__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
}

.m-products-recommend__en {
  inline-size: 100%;
  padding-block: calc(14 * 1rem / var(--font-size));
  background-color: var(--color__primary);
  border-radius: calc(6 * 1rem / var(--font-size));
  color: var(--color__white);
  text-align: center;
  font-family: var(--font-family__inter);
  font-size: calc(32 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  text-transform: uppercase;
}

.m-products-recommend__ja {
  padding-block-start: calc(20 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(18 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.4;
  color: var(--color__primary);
  text-align: center;
}

.m-products-recommend__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: calc(20 * 1rem / var(--font-size));
  padding-block-start: calc(20 * 1rem / var(--font-size));
  padding-block-end: calc(4 * 1rem / var(--font-size));
  list-style: none;
}

.m-products-recommend__item {
  background-color: var(--color__secondary);
  border: 1px solid var(--color__line);
  border-radius: calc(6 * 1rem / var(--font-size));
  overflow: hidden;
}

.m-products-recommend__link {
  display: flex;
  flex-direction: column;
  block-size: 100%;
  color: var(--color__primary);
  transition: opacity var(--duration);
}
.m-products-recommend__link:focus-visible {
  opacity: var(--opacity__hover);
}

.m-products-recommend__media {
  flex-shrink: 0;
  aspect-ratio: 380/216;
  overflow: hidden;
  background-color: var(--color__secondary);
  display: flex;
  align-items: center;
  justify-content: center;
}
.m-products-recommend__media img {
  inline-size: 100%;
  block-size: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  display: block;
}

.m-products-recommend__label {
  flex: 1 1 auto;
  padding-block: calc(24 * 1rem / var(--font-size));
  padding-inline: calc(28 * 1rem / var(--font-size));
  background-color: var(--color__white);
  border-block-start: 1px solid var(--color__line);
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(24 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.75;
  color: var(--color__primary);
}

.m-products-category {
  background-color: var(--color__white);
  padding-block-start: calc(36 * 1rem / var(--font-size));
}

.m-products-category__head {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.m-products-category__en {
  inline-size: 100%;
  padding-block: calc(14 * 1rem / var(--font-size));
  background-color: var(--color__tertiary);
  border-radius: calc(6 * 1rem / var(--font-size));
  color: var(--color__white);
  text-align: center;
  font-family: var(--font-family__inter);
  font-size: calc(32 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  text-transform: uppercase;
}

.m-products-category__ja {
  padding-block-start: calc(14 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(18 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.4;
  color: var(--color__primary);
  text-align: center;
}

.m-products-category__grid {
  padding-block-start: calc(32 * 1rem / var(--font-size));
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: calc(240 * 1rem / var(--font-size));
  gap: calc(20 * 1rem / var(--font-size));
  list-style: none;
}

.m-products-category__item {
  position: relative;
  background-color: var(--color__secondary);
  border: 1px solid var(--color__line);
  border-radius: calc(6 * 1rem / var(--font-size));
  overflow: hidden;
}

.m-products-category__item--hero {
  grid-column: span 2;
  grid-row: span 2;
  block-size: calc(500 * 1rem / var(--font-size));
}

.m-products-category__item--small {
  grid-column: span 1;
}

.m-products-category__item--bottom {
  grid-column: span 1;
}

.m-products-category__link {
  display: flex;
  flex-direction: column;
  block-size: 100%;
  color: var(--color__primary);
  transition: opacity var(--duration);
}
.m-products-category__link:focus-visible {
  opacity: var(--opacity__hover);
}

.m-products-category__media {
  position: relative;
  flex: 1 1 auto;
  min-block-size: 0;
  overflow: hidden;
  background-color: var(--color__secondary);
  display: flex;
  align-items: center;
  justify-content: center;
}
.m-products-category__media img {
  max-inline-size: 100%;
  max-block-size: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  display: block;
  position: relative;
  z-index: 1;
}

.m-products-category__num {
  position: absolute;
  inset-block-start: calc(4 * 1rem / var(--font-size));
  inset-inline-end: calc(14 * 1rem / var(--font-size));
  z-index: 0;
  font-family: var(--font-family__inter);
  font-size: calc(70 * 1rem / var(--font-size));
  font-weight: 900;
  line-height: 1;
  color: var(--color__white);
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.m-products-category__item--hero .m-products-category__num {
  font-size: calc(100 * 1rem / var(--font-size));
  inset-block-start: calc(6 * 1rem / var(--font-size));
  inset-inline-end: calc(20 * 1rem / var(--font-size));
}
.m-products-category__item--bottom .m-products-category__num {
  inset-inline-end: calc(17 * 1rem / var(--font-size));
}

.m-products-category__foot {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  background-color: var(--color__white);
  border-block-start: 1px solid var(--color__line);
  padding-block: calc(17 * 1rem / var(--font-size)) calc(16 * 1rem / var(--font-size));
  padding-inline: calc(18 * 1rem / var(--font-size));
}
.m-products-category__item--hero .m-products-category__foot {
  padding-block: calc(23 * 1rem / var(--font-size)) calc(22 * 1rem / var(--font-size));
  padding-inline: calc(26 * 1rem / var(--font-size));
}
.m-products-category__item--bottom .m-products-category__foot {
  min-block-size: calc(90 * 1rem / var(--font-size));
  padding-inline: calc(20 * 1rem / var(--font-size));
}

.m-products-category__label {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(16 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.75;
  color: var(--color__primary);
}

.m-products-archive {
  background-color: var(--color__white);
  padding-block: var(--space__page-block);
}

.m-products-archive__inner {
  inline-size: 100%;
}

.m-products-archive__layout {
  display: grid;
  grid-template-columns: calc(230 * 1rem / var(--font-size)) 1fr;
  -moz-column-gap: calc(40 * 1rem / var(--font-size));
       column-gap: calc(40 * 1rem / var(--font-size));
  align-items: start;
}

.m-products-archive__sidebar {
  display: flex;
  flex-direction: column;
  gap: calc(20 * 1rem / var(--font-size));
  inline-size: calc(230 * 1rem / var(--font-size));
}

.m-products-archive__main {
  min-inline-size: 0;
  display: flex;
  flex-direction: column;
  gap: calc(26 * 1rem / var(--font-size));
}
.m-products-archive__category-title {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(24 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.4;
  color: var(--color__primary);
  text-align: center;
  padding-block-end: calc(8 * 1rem / var(--font-size));
}

.m-products-archive__empty {
  padding-block: calc(40 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  line-height: 1.5714285714;
  color: var(--color__text);
  text-align: center;
}

.m-products-archive__hits {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  line-height: 1.5714285714;
  color: var(--color__text);
}

.m-products-archive__hits strong {
  color: var(--color__primary);
  font-weight: 700;
}

.m-products-archive-grid {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: calc(20 * 1rem / var(--font-size));
}

.m-products-archive-grid__item {
  background-color: var(--color__white);
  border: 1px solid var(--color__line);
  border-radius: calc(6 * 1rem / var(--font-size));
  overflow: hidden;
  display: flex;
}

.m-products-archive-grid__link {
  display: flex;
  flex-direction: column;
  inline-size: 100%;
  color: var(--color__primary);
}

.m-products-archive-grid__media {
  flex-shrink: 0;
  aspect-ratio: 334/140;
  overflow: hidden;
  background-color: var(--color__secondary);
  display: flex;
  align-items: stretch;
  justify-content: center;
  border-block-end: 1px solid var(--color__line);
}

.m-products-archive-grid__media img {
  inline-size: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  display: block;
}

.m-products-archive-grid__body {
  flex: 1 0 0;
  padding: calc(16 * 1rem / var(--font-size));
  display: flex;
  flex-direction: column;
}

.m-products-archive-grid__label {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(16 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.25;
  color: var(--color__primary);
  display: block;
}

.m-products-archive-grid__sub {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  line-height: 1.625;
  color: var(--color__text);
  display: block;
}

.m-product {
  padding-block: calc(64 * 1rem / var(--font-size)) calc(128 * 1rem / var(--font-size));
}

.m-product__layout {
  display: grid;
  grid-template-columns: calc(230 * 1rem / var(--font-size)) 1fr;
  -moz-column-gap: calc(40 * 1rem / var(--font-size));
       column-gap: calc(40 * 1rem / var(--font-size));
  align-items: start;
}

.m-product__sidebar {
  display: flex;
  flex-direction: column;
  gap: calc(20 * 1rem / var(--font-size));
  inline-size: calc(230 * 1rem / var(--font-size));
}

.m-product__main {
  min-inline-size: 0;
  display: flex;
  flex-direction: column;
  gap: calc(32 * 1rem / var(--font-size));
}
.m-product-tabs {
  display: flex;
  flex-direction: column;
  inline-size: 100%;
}

.m-product-tabs__nav {
  list-style: none;
  display: flex;
  align-items: stretch;
  gap: calc(4 * 1rem / var(--font-size));
  border-block-end: 1px solid var(--color__line);
  overflow-x: auto;
  scrollbar-width: none;
}

.m-product-tabs__nav::-webkit-scrollbar {
  display: none;
}

.m-product-tabs__nav-item {
  flex-shrink: 0;
}

.m-product-tabs__nav-button {
  display: inline-flex;
  align-items: center;
  block-size: 100%;
  padding-block: calc(14 * 1rem / var(--font-size));
  padding-inline: calc(24 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 600;
  line-height: 1.5;
  color: var(--color__text);
  background-color: transparent;
  border: 1px solid transparent;
  border-block-end: none;
  cursor: pointer;
  transition: color var(--duration), background-color var(--duration), border-color var(--duration);
}
.m-product-tabs__nav-button:focus-visible {
  color: var(--color__primary);
}

.m-product-tabs__nav-button[aria-selected=true] {
  position: relative;
  color: var(--color__primary);
  background-color: var(--color__white);
  border-color: var(--color__line);
  margin-block-end: -1px;
}

.m-product-tabs__panels {
  padding-block-start: 0;
}

.m-product-tab[hidden] {
  display: none;
}

.m-product-tab__empty {
  padding-block: calc(24 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  color: var(--color__text);
  text-align: center;
}

.m-product-tab--specs {
  display: flex;
  flex-direction: column;
}

.m-product-tab-specs__inner {
  padding-block-start: calc(32 * 1rem / var(--font-size));
  display: flex;
  flex-direction: column;
  gap: calc(40 * 1rem / var(--font-size));
}

.m-product-tab-specs__empty {
  padding-block-start: calc(32 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.5714285714;
  color: var(--color__text);
}

.m-product-tab-specs__group {
  display: flex;
  flex-direction: column;
  gap: calc(16 * 1rem / var(--font-size));
}

.m-product-tab-specs__title {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(18 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.2222222222;
  color: var(--color__primary);
  text-transform: uppercase;
  padding-block-end: calc(13 * 1rem / var(--font-size));
  border-block-end: 1px solid var(--color__line);
}

.m-product-tab-specs__table {
  inline-size: 100%;
  border: 1px solid var(--color__line);
  border-radius: calc(6 * 1rem / var(--font-size));
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  table-layout: fixed;
  background-color: var(--color__white);
}

.m-product-tab-specs__label,
.m-product-tab-specs__value {
  padding-block: calc(14 * 1rem / var(--font-size));
  padding-inline: calc(20 * 1rem / var(--font-size));
  border-block-end: 1px solid var(--color__line);
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  line-height: 1.5714285714;
  vertical-align: top;
  text-align: start;
  overflow-wrap: anywhere;
}

.m-product-tab-specs__row:last-child .m-product-tab-specs__label,
.m-product-tab-specs__row:last-child .m-product-tab-specs__value {
  border-block-end: 0;
}

.m-product-tab-specs__label {
  inline-size: calc(180 * 1rem / var(--font-size));
  background-color: var(--color__secondary);
  color: var(--color__primary);
  font-weight: 600;
}

.m-product-tab-specs__value {
  color: #3a3a3a;
  font-weight: 400;
}
.m-product-tab--overview {
  display: flex;
  flex-direction: column;
}

.m-product-tab-overview__intro {
  padding-block-start: calc(32 * 1rem / var(--font-size));
  display: flex;
  flex-direction: column;
  gap: calc(16 * 1rem / var(--font-size));
}

.m-product-tab-overview__title {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(18 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.2222222222;
  color: var(--color__primary);
  text-transform: uppercase;
}

.m-product-tab-overview__lead {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.5714285714;
  color: var(--color__text);
}

.m-product-tab-badges {
  list-style: none;
  padding: 0;
  padding-block-start: calc(40 * 1rem / var(--font-size));
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: calc(12 * 1rem / var(--font-size));
}

.m-product-tab-badges__item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-inline: calc(13 * 1rem / var(--font-size));
  padding-block: calc(7 * 1rem / var(--font-size));
  border: 1px solid var(--color__line);
  border-radius: calc(4 * 1rem / var(--font-size));
  background-color: var(--color__white);
}

.m-product-tab-badges__item--with-icon {
  gap: calc(4 * 1rem / var(--font-size));
}
.m-product-tab-badges__item--with-icon .m-product-tab-badges__main {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(10 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.5;
  color: #555;
  letter-spacing: 0.012em;
}

.m-product-tab-badges__item--stack {
  flex-direction: column;
  gap: calc(2 * 1rem / var(--font-size));
  min-inline-size: calc(56 * 1rem / var(--font-size));
}
.m-product-tab-badges__item--stack .m-product-tab-badges__main {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(10 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1;
  color: var(--color__primary);
}
.m-product-tab-badges__item--stack .m-product-tab-badges__sub {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(9 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1;
  color: var(--color__text);
  letter-spacing: 0.017em;
}

.m-product-tab-badges__item--solo .m-product-tab-badges__main {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(18 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.5;
  color: #555;
  letter-spacing: -0.024em;
}

.m-product-tab-badges__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  inline-size: calc(16 * 1rem / var(--font-size));
  block-size: calc(16 * 1rem / var(--font-size));
}

.m-product-tab-badges__icon img {
  inline-size: 100%;
  block-size: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  display: block;
}

.m-product-tab-codes {
  padding-block-start: calc(32 * 1rem / var(--font-size));
  display: flex;
  flex-direction: column;
  gap: calc(16 * 1rem / var(--font-size));
}

.m-product-tab-codes__heading {
  padding-block-end: calc(13 * 1rem / var(--font-size));
  border-block-end: 1px solid var(--color__line);
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(18 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.2222222222;
  color: var(--color__primary);
  text-transform: uppercase;
}

.m-product-tab-codes__table {
  inline-size: 100%;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
}

.m-product-tab-codes__row {
  background-color: var(--color__white);
}

.m-product-tab-codes__row:nth-child(even) {
  background-color: #f8f8f8;
}

.m-product-tab-codes__code,
.m-product-tab-codes__desc,
.m-product-tab-codes__price {
  padding-block: calc(13 * 1rem / var(--font-size));
  padding-inline: calc(16 * 1rem / var(--font-size));
  border-block-end: 1px solid var(--color__line);
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  line-height: 1.5714285714;
  vertical-align: middle;
  overflow-wrap: anywhere;
}

.m-product-tab-codes__row:last-child .m-product-tab-codes__code,
.m-product-tab-codes__row:last-child .m-product-tab-codes__desc,
.m-product-tab-codes__row:last-child .m-product-tab-codes__price {
  border-block-end: none;
}

.m-product-tab-codes__code {
  inline-size: calc(140 * 1rem / var(--font-size));
  font-weight: 600;
  color: var(--color__primary);
  text-align: start;
}

.m-product-tab-codes__desc {
  font-weight: 400;
  color: #3d3d3d;
}

.m-product-tab-codes__price {
  inline-size: calc(324 * 1rem / var(--font-size));
  text-align: end;
  white-space: nowrap;
}

.m-product-tab-codes__price-main {
  font-weight: 600;
  color: var(--color__primary);
}

.m-product-tab-codes__price-sub {
  padding-inline-start: calc(4 * 1rem / var(--font-size));
  font-weight: 400;
  color: var(--color__text);
}
.m-product-tab-options__inner {
  padding-block-start: calc(32 * 1rem / var(--font-size));
  display: flex;
  flex-direction: column;
}

.m-product-tab-options__section {
  --_duration: var(--duration, 0.3s);
  border-block-end: 1px solid var(--color__line);
}
.m-product-tab-options__section::details-content {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows var(--_duration), content-visibility var(--_duration) allow-discrete;
}

.m-product-tab-options__section[open]::details-content {
  grid-template-rows: 1fr;
}

.m-product-tab-options__toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(16 * 1rem / var(--font-size));
  padding-block: calc(20 * 1rem / var(--font-size));
  padding-inline: calc(4 * 1rem / var(--font-size));
  cursor: pointer;
  list-style: none;
  transition: opacity var(--duration);
}
.m-product-tab-options__toggle:focus-visible {
  opacity: var(--opacity__hover);
}

.m-product-tab-options__toggle::-webkit-details-marker {
  display: none;
}

.m-product-tab-options__toggle-title {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(18 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.2222222222;
  color: var(--color__primary);
  text-transform: uppercase;
}

.m-product-tab-options__toggle-icon {
  position: relative;
  flex-shrink: 0;
  inline-size: calc(24 * 1rem / var(--font-size));
  block-size: calc(24 * 1rem / var(--font-size));
  border: 1px solid var(--color__line);
  border-radius: 50%;
}

.m-product-tab-options__toggle-icon::before,
.m-product-tab-options__toggle-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background-color: var(--color__primary);
}

.m-product-tab-options__toggle-icon::before {
  inline-size: calc(10 * 1rem / var(--font-size));
  block-size: 1px;
  transform: translate(-50%, -50%);
}

.m-product-tab-options__toggle-icon::after {
  inline-size: 1px;
  block-size: calc(10 * 1rem / var(--font-size));
  transform: translate(-50%, -50%);
  transition: transform var(--duration);
}

.m-product-tab-options__section[open] .m-product-tab-options__toggle-icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.m-product-tab-options__body {
  overflow: hidden;
  min-block-size: 0;
}

.m-product-tab-options__notes {
  padding-block-start: calc(16 * 1rem / var(--font-size));
  padding-block-end: calc(24 * 1rem / var(--font-size));
  padding-inline-start: calc(12 * 1rem / var(--font-size));
}

.m-product-tab-options__note {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(12 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.5;
  color: var(--color__text);
}

.m-product-tab-options__note + .m-product-tab-options__note {
  padding-block-start: calc(2 * 1rem / var(--font-size));
}

.m-product-tab-options__list {
  list-style: none;
  padding-block-end: calc(24 * 1rem / var(--font-size));
  border-block-start: 1px solid var(--color__line);
}

.m-product-tab-options__item {
  display: flex;
  align-items: center;
  -moz-column-gap: calc(20 * 1rem / var(--font-size));
       column-gap: calc(20 * 1rem / var(--font-size));
  padding-block: calc(16 * 1rem / var(--font-size)) calc(17 * 1rem / var(--font-size));
  border-block-end: 1px solid var(--color__line);
}

.m-product-tab-options__number {
  flex-shrink: 0;
  inline-size: calc(20 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(11 * 1rem / var(--font-size));
  font-weight: 600;
  line-height: 1.5;
  color: var(--color__primary);
  text-align: end;
}

.m-product-tab-options__thumb {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: calc(72 * 1rem / var(--font-size));
  block-size: calc(72 * 1rem / var(--font-size));
  background-color: var(--color__secondary);
  border-radius: calc(6 * 1rem / var(--font-size));
  overflow: hidden;
}

.m-product-tab-options__thumb img {
  inline-size: calc(56 * 1rem / var(--font-size));
  block-size: calc(56 * 1rem / var(--font-size));
  -o-object-fit: contain;
     object-fit: contain;
}

.m-product-tab-options__meta {
  flex: 1;
  min-inline-size: 0;
  display: flex;
  flex-direction: column;
}

.m-product-tab-options__name-row {
  display: flex;
  align-items: center;
  -moz-column-gap: calc(10 * 1rem / var(--font-size));
       column-gap: calc(10 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.7142857143;
  color: var(--color__primary);
}

.m-product-tab-options__desc {
  padding-block-start: calc(2 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(12 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.5;
  color: var(--color__text);
}

.m-product-tab-options__price {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: calc(4 * 1rem / var(--font-size));
}

.m-product-tab-options__price-main {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(18 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.2222222222;
  color: var(--color__primary);
  text-align: end;
}

.m-product-tab-options__price-sub {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(12 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.5;
  color: var(--color__text);
  text-align: end;
}

.m-product-tab-options__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-inline: calc(9 * 1rem / var(--font-size));
  padding-block: calc(3 * 1rem / var(--font-size));
  background-color: var(--color__accent);
  border-radius: calc(3 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(10 * 1rem / var(--font-size));
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.05em;
  color: var(--color__white);
  transition: opacity var(--duration);
}
.m-product-tab-options__link:focus-visible {
  opacity: var(--opacity__hover);
}
.m-product-tab--features {
  display: flex;
  flex-direction: column;
}

.m-product-tab-features__empty {
  padding-block-start: calc(32 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.5714285714;
  color: var(--color__text);
}

.m-product-tab-features__inner {
  padding-block-start: calc(32 * 1rem / var(--font-size));
  display: flex;
  flex-direction: column;
  gap: calc(16 * 1rem / var(--font-size));
}

.m-product-tab-features__group {
  display: flex;
  flex-direction: column;
  gap: calc(16 * 1rem / var(--font-size));
}

.m-product-tab-features__h3 {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(18 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.2222222222;
  color: var(--color__primary);
  text-transform: uppercase;
}

.m-product-tab-features__h3:has(+ .m-product-tab-features__cards) {
  padding-block-end: calc(13 * 1rem / var(--font-size));
  border-block-end: 1px solid var(--color__line);
}

.m-product-tab-features__h4 {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(16 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.375;
  color: var(--color__primary);
  text-transform: uppercase;
  padding-block-end: calc(13 * 1rem / var(--font-size));
  border-block-end: 1px solid var(--color__line);
}

.m-product-tab-features__cards {
  list-style: none;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
}

.m-product-tab-features__card {
  display: flex;
  flex-direction: column;
  padding: calc(20 * 1rem / var(--font-size));
  background-color: var(--color__white);
}

.m-product-tab-features__card:not(:nth-child(3n+1)) {
  border-inline-start: 1px solid var(--color__line);
}
.m-product-tab-features__image {
  margin: 0;
  block-size: calc(143 * 1rem / var(--font-size));
  border-radius: calc(6 * 1rem / var(--font-size));
  overflow: hidden;
}

.m-product-tab-features__image img {
  inline-size: 100%;
  block-size: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.m-product-tab-features__title {
  padding-block-start: calc(12 * 1rem / var(--font-size));
  display: flex;
  align-items: center;
  gap: calc(12 * 1rem / var(--font-size));
}

.m-product-tab-features__icon {
  flex-shrink: 0;
  inline-size: calc(20 * 1rem / var(--font-size));
  block-size: calc(20 * 1rem / var(--font-size));
}

.m-product-tab-features__title-text {
  flex: 1;
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 600;
  line-height: 1.5714285714;
  color: var(--color__primary);
}

.m-product-tab-features__text {
  padding-block-start: calc(12 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.5714285714;
  color: var(--color__text);
}
.m-product-tab-downloads__inner {
  padding-block-start: calc(32 * 1rem / var(--font-size));
  display: flex;
  align-items: flex-start;
}

.m-product-tab-downloads__nav {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  inline-size: calc(220 * 1rem / var(--font-size));
  border: 1px solid var(--color__line);
  border-radius: calc(6 * 1rem / var(--font-size));
  overflow: hidden;
}

.m-product-tab-downloads__nav-button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(8 * 1rem / var(--font-size));
  inline-size: 100%;
  padding-block: calc(13 * 1rem / var(--font-size));
  padding-inline-start: calc(16 * 1rem / var(--font-size));
  padding-inline-end: calc(16 * 1rem / var(--font-size));
  background-color: transparent;
  border: 0;
  border-block-end: 1px solid var(--color__line);
  border-inline-start: calc(3 * 1rem / var(--font-size)) solid transparent;
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.5714285714;
  color: #3d3d3d;
  text-align: start;
  cursor: pointer;
  transition: color var(--duration), background-color var(--duration);
}
.m-product-tab-downloads__nav-button:focus-visible {
  color: var(--color__primary);
  background-color: var(--color__secondary);
}

.m-product-tab-downloads__nav-button:last-child {
  border-block-end: 0;
}

.m-product-tab-downloads__nav-icon {
  display: none;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  inline-size: calc(15 * 1rem / var(--font-size));
  block-size: calc(15 * 1rem / var(--font-size));
}

.m-product-tab-downloads__nav-icon svg {
  inline-size: calc(5 * 1rem / var(--font-size));
  block-size: calc(9 * 1rem / var(--font-size));
}

.m-product-tab-downloads__nav-button[aria-selected=true] {
  background-color: var(--color__secondary);
  border-inline-start-color: var(--color__primary);
  font-weight: 600;
  color: var(--color__primary);
}

.m-product-tab-downloads__content {
  flex: 1;
  min-inline-size: 0;
  padding-inline-start: calc(40 * 1rem / var(--font-size));
  display: flex;
  flex-direction: column;
  gap: calc(32 * 1rem / var(--font-size));
}

.m-product-tab-downloads__panel {
  display: flex;
  flex-direction: column;
  gap: calc(20 * 1rem / var(--font-size));
}

.m-product-tab-downloads__panel[hidden] {
  display: none;
}

.m-product-tab-downloads__heading {
  padding-block-end: calc(17 * 1rem / var(--font-size));
  border-block-end: 1px solid var(--color__line);
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(18 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.2222222222;
  color: var(--color__primary);
  text-transform: uppercase;
}

.m-product-tab-downloads__empty {
  padding-block-start: calc(20 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  line-height: 1.5714285714;
  color: var(--color__text);
}

.m-product-tab-downloads__table {
  inline-size: 100%;
  border-collapse: collapse;
}

.m-product-tab-downloads__th {
  padding-block: calc(10 * 1rem / var(--font-size)) calc(11 * 1rem / var(--font-size));
  padding-inline: calc(16 * 1rem / var(--font-size));
  background-color: var(--color__secondary);
  border-block-end: 1px solid var(--color__line);
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.7142857143;
  color: var(--color__text);
  text-align: start;
  white-space: nowrap;
}

.m-product-tab-downloads__th--language {
  inline-size: calc(120 * 1rem / var(--font-size));
}

.m-product-tab-downloads__th--version {
  inline-size: calc(100 * 1rem / var(--font-size));
}

.m-product-tab-downloads__th--size {
  inline-size: calc(80 * 1rem / var(--font-size));
}

.m-product-tab-downloads__th--action {
  inline-size: calc(160 * 1rem / var(--font-size));
}

.m-product-tab-downloads__row:nth-child(even) {
  background-color: #f8f8f8;
}

.m-product-tab-downloads__cell {
  padding-block: calc(14 * 1rem / var(--font-size)) calc(15 * 1rem / var(--font-size));
  padding-inline: calc(16 * 1rem / var(--font-size));
  border-block-end: 1px solid var(--color__line);
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.5714285714;
  color: var(--color__text);
  vertical-align: middle;
}

.m-product-tab-downloads__file {
  display: flex;
  align-items: center;
  gap: calc(10 * 1rem / var(--font-size));
}

.m-product-tab-downloads__cell--language {
  color: #3d3d3d;
}

.m-product-tab-downloads__cell--action {
  text-align: end;
}

.m-product-tab-downloads__badge {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-block: calc(2 * 1rem / var(--font-size));
  padding-inline: calc(5 * 1rem / var(--font-size));
  background-color: #e53535;
  border-radius: calc(3 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(10 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  color: var(--color__white);
}

.m-product-tab-downloads__filename {
  min-inline-size: 0;
  font-weight: 700;
  line-height: 1.7142857143;
  color: var(--color__primary);
  overflow-wrap: anywhere;
}

.m-product-tab-downloads__button {
  display: inline-flex;
  align-items: center;
  gap: calc(6 * 1rem / var(--font-size));
  padding-block: calc(8 * 1rem / var(--font-size));
  padding-inline: calc(15 * 1rem / var(--font-size));
  border: 1px solid var(--color__line);
  border-radius: calc(999 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(13 * 1rem / var(--font-size));
  font-weight: 500;
  line-height: 1.5384615385;
  color: var(--color__primary);
  white-space: nowrap;
  transition: background-color var(--duration), border-color var(--duration);
}
.m-product-tab-downloads__button:focus-visible {
  background-color: var(--color__secondary);
  border-color: var(--color__primary);
}

.m-product-tab-downloads__button-icon {
  flex-shrink: 0;
  inline-size: calc(16 * 1rem / var(--font-size));
  block-size: calc(16 * 1rem / var(--font-size));
}

.m-product-tab-downloads__notice {
  display: flex;
  align-items: flex-start;
  gap: calc(12 * 1rem / var(--font-size));
  padding-block: calc(17 * 1rem / var(--font-size));
  padding-inline: calc(21 * 1rem / var(--font-size));
  background-color: var(--color__secondary);
}

.m-product-tab-downloads__notice-icon {
  flex-shrink: 0;
  display: flex;
  inline-size: calc(16 * 1rem / var(--font-size));
  block-size: calc(16 * 1rem / var(--font-size));
  translate: 0 calc(3 * 1rem / var(--font-size));
  color: var(--color__accent);
}

.m-product-tab-downloads__notice-text {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(12 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.5;
  color: #3d3d3d;
}

.m-product-tab-downloads__notice-text a {
  color: var(--color__primary);
  transition: opacity var(--duration);
}
.m-product-tab-downloads__notice-text a:focus-visible {
  opacity: var(--opacity__hover);
}
.m-product-spec {
  display: flex;
  flex-direction: column;
  --spec-gap: calc(64 * 1rem / var(--font-size));
}

.m-product-spec__block + .m-product-spec__block {
  margin-block-start: calc(var(--spec-gap) + var(--spec-inset, 0px));
}

.m-product-spec__block--inset {
  --spec-inset: calc(32 * 1rem / var(--font-size));
}

.m-product-spec__block--inset-lg {
  --spec-inset: calc(40 * 1rem / var(--font-size));
}

.m-product-spec__block--third {
  inline-size: calc((100% - calc(64 * 1rem / var(--font-size))) / 3);
}

.m-product-spec__section {
  display: flex;
  flex-direction: column;
}

.m-product-spec__section-item + .m-product-spec__section-item {
  margin-block-start: calc(16 * 1rem / var(--font-size));
}

.m-product-spec__section-item + .m-product-spec__section-item--after-heading {
  margin-block-start: calc(28 * 1rem / var(--font-size));
}

.m-product-spec__section--spaced .m-product-spec__section-item + .m-product-spec__section-item {
  margin-block-start: calc(40 * 1rem / var(--font-size));
}

.m-product-spec__section--inset {
  padding-block-start: calc(32 * 1rem / var(--font-size));
}

.m-product-spec__split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: calc(20 * 1rem / var(--font-size));
  margin-block-start: calc(32 * 1rem / var(--font-size));
}

.m-product-spec__col {
  display: flex;
  flex-direction: column;
}

.m-product-spec__col-item + .m-product-spec__col-item {
  margin-block-start: calc(40 * 1rem / var(--font-size));
}

.m-product-spec__split--triple {
  grid-template-columns: repeat(3, 1fr);
  gap: calc(32 * 1rem / var(--font-size));
}

.m-product-spec__col--tight .m-product-spec__col-item + .m-product-spec__col-item {
  margin-block-start: calc(20 * 1rem / var(--font-size));
}

.m-product-spec__col--offset {
  margin-block-start: calc(32 * 1rem / var(--font-size));
}

.m-product-spec__col-item + .m-product-spec__col-item--after-heading {
  margin-block-start: calc(28 * 1rem / var(--font-size));
}

.m-product-spec__table-scroll {
  overflow-x: auto;
}

.m-product-spec__matrix-stack {
  display: flex;
  flex-direction: column;
  gap: calc(32 * 1rem / var(--font-size));
}

.m-product-spec__table-join {
  display: flex;
  flex-direction: column;
}

.m-product-spec__table-join .m-product-spec-table:not(:last-child) {
  border-block-end: 0;
  border-end-start-radius: 0;
  border-end-end-radius: 0;
}

.m-product-spec__table-join .m-product-spec-table:not(:last-child) tr:last-child th:not(.m-product-spec-table__cell--joined),
.m-product-spec__table-join .m-product-spec-table:not(:last-child) tr:last-child td:not(.m-product-spec-table__cell--joined) {
  border-block-end: 1px solid var(--color__line);
}

.m-product-spec__table-join .m-product-spec-table + .m-product-spec-table {
  border-start-start-radius: 0;
  border-start-end-radius: 0;
  border-block-start: 0;
}

.m-product-spec__table-scroll .m-product-spec-table {
  table-layout: auto;
  inline-size: -moz-max-content;
  inline-size: max-content;
  min-inline-size: 100%;
}

.m-product-spec__table-scroll--dimensions .m-product-spec-table {
  table-layout: fixed;
  inline-size: 100%;
}

.m-product-spec__table-scroll--fixed-equal .m-product-spec-table {
  table-layout: fixed;
  inline-size: calc(1042 * 1rem / var(--font-size));
  min-inline-size: calc(1042 * 1rem / var(--font-size));
}

.m-product-spec__table-scroll--fixed-equal-half .m-product-spec-table {
  table-layout: fixed;
  inline-size: calc(505 * 1rem / var(--font-size));
  min-inline-size: calc(505 * 1rem / var(--font-size));
}

.m-product-spec__title {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(18 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.2222222222;
  color: var(--color__primary);
  text-transform: uppercase;
}

.m-product-spec__title--ruled {
  padding-block-end: calc(13 * 1rem / var(--font-size));
  border-block-end: 1px solid var(--color__line);
}

.m-product-spec__lead {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.5714285714;
  color: var(--color__text);
}

.m-product-spec__badge {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: calc(12 * 1rem / var(--font-size));
}

.m-product-spec__badge-label {
  inline-size: 100%;
  padding-block: calc(7 * 1rem / var(--font-size));
  padding-inline: calc(13 * 1rem / var(--font-size));
  border: 1px solid var(--color__line);
  border-radius: calc(4 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(18 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.024em;
  text-align: center;
  color: var(--color__gray-mid);
}

.m-product-spec__badge--with-image .m-product-spec__badge-label {
  inline-size: calc(129 * 1rem / var(--font-size));
}

.m-product-spec__badge-image {
  inline-size: calc(129 * 1rem / var(--font-size));
  block-size: calc(82 * 1rem / var(--font-size));
  -o-object-fit: cover;
     object-fit: cover;
}

.m-product-spec__list {
  display: flex;
  flex-direction: column;
  margin-block-start: calc(4 * 1rem / var(--font-size));
  list-style: none;
}

.m-product-spec__list-item + .m-product-spec__list-item {
  margin-block-start: calc(20 * 1rem / var(--font-size));
}

.m-product-spec__list-item {
  font-family: var(--font-family__inter);
  font-size: calc(12 * 1rem / var(--font-size));
  font-weight: 500;
  line-height: 1.5;
  color: var(--color__text);
}

.m-product-spec__note {
  margin-block-start: calc(4 * 1rem / var(--font-size));
  font-family: var(--font-family__inter);
  font-size: calc(12 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.5;
  color: var(--color__text);
}

.m-product-spec__note--spaced {
  margin-block-start: calc(20 * 1rem / var(--font-size));
}

.m-product-spec__section--align-end {
  align-self: flex-end;
  inline-size: calc(50% - calc(10 * 1rem / var(--font-size)));
}

.m-product-spec__wide-image {
  inline-size: 100%;
  block-size: auto;
}

.m-product-spec__wide-image--narrow {
  display: block;
  margin-inline: auto;
  max-inline-size: calc(250 * 1rem / var(--font-size));
}

.m-product-spec__wide-image--diagram {
  max-inline-size: calc(324 * 1rem / var(--font-size));
}

.m-product-spec__wide-image--diagram-lg {
  max-inline-size: calc(460 * 1rem / var(--font-size));
}

.m-product-spec__figure {
  inline-size: 100%;
  block-size: calc(384 * 1rem / var(--font-size));
  -o-object-fit: contain;
     object-fit: contain;
}

.m-product-spec__figure--photo {
  block-size: calc(322 * 1rem / var(--font-size));
}

.m-product-spec__figure--sm {
  block-size: calc(279 * 1rem / var(--font-size));
}

.m-product-spec__figure-frame {
  display: flex;
  align-items: center;
  justify-content: center;
  block-size: calc(330 * 1rem / var(--font-size));
}

.m-product-spec__image-placeholder {
  inline-size: 100%;
  aspect-ratio: 511/384;
  border-radius: calc(6 * 1rem / var(--font-size));
  background-color: var(--color__bg-mute);
}

.m-product-spec__image-placeholder--wide {
  aspect-ratio: 1042/493;
}

.m-product-spec__image-placeholder--narrow {
  aspect-ratio: 461/234;
}

.m-product-spec__image-placeholder--banner {
  aspect-ratio: 1042/314;
}

.m-product-spec-table {
  inline-size: 100%;
  border: 1px solid var(--color__line);
  border-radius: calc(6 * 1rem / var(--font-size));
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  table-layout: fixed;
  background-color: var(--color__white);
}

.m-product-spec-table th,
.m-product-spec-table td {
  padding-block: calc(14 * 1rem / var(--font-size));
  padding-inline: calc(20 * 1rem / var(--font-size));
  border-block-end: 1px solid var(--color__line);
  font-family: var(--font-family__inter);
  font-size: calc(14 * 1rem / var(--font-size));
  line-height: 1.5714285714;
  vertical-align: top;
  text-align: start;
  overflow-wrap: anywhere;
}

.m-product-spec-table th {
  inline-size: calc(180 * 1rem / var(--font-size));
  background-color: var(--color__secondary);
  color: var(--color__primary);
  font-weight: 600;
}

.m-product-spec-table td {
  color: var(--color__body);
  font-weight: 400;
}

.m-product-spec-table tr:last-child th,
.m-product-spec-table tr:last-child td {
  border-block-end: 0;
}

.m-product-spec-table--data {
  table-layout: auto;
}

.m-product-spec-table--data th,
.m-product-spec-table--data td {
  padding-block: calc(12 * 1rem / var(--font-size));
  padding-inline: calc(16 * 1rem / var(--font-size));
  font-family: var(--font-family__inter);
  font-size: calc(13 * 1rem / var(--font-size));
  line-height: 1.5;
}

.m-product-spec-table--data thead th {
  inline-size: auto;
  background-color: var(--color__white);
  font-weight: 600;
  letter-spacing: -0.0058615385em;
}

.m-product-spec-table--head-filled thead tr:first-child th {
  background-color: var(--color__secondary);
}

.m-product-spec-table--head-muted thead th:not(.m-product-spec-table__caption) {
  background-color: var(--color__bg-mute);
}

.m-product-spec-table__caption {
  background-color: var(--color__secondary);
  text-align: start;
}

.m-product-spec-table--data thead th.m-product-spec-table__caption {
  background-color: var(--color__secondary);
}

.m-product-spec-table--centered th,
.m-product-spec-table--centered td {
  text-align: center;
}

.m-product-spec-table--centered .m-product-spec-table__caption {
  text-align: start;
  color: var(--color__primary);
}

.m-product-spec-table--centered thead th:not(.m-product-spec-table__caption) {
  color: var(--color__body);
  font-weight: 400;
}

.m-product-spec-table--equal {
  table-layout: fixed;
}

.m-product-spec-table--models tbody td:first-child {
  inline-size: calc(160 * 1rem / var(--font-size));
  color: var(--color__body);
}

.m-product-spec-table--models tbody td:nth-child(n+3) {
  font-size: calc(12 * 1rem / var(--font-size));
  line-height: 1.5;
  color: var(--color__text);
}

.m-product-spec-table--models thead th:first-child {
  inline-size: calc(160 * 1rem / var(--font-size));
}

.m-product-spec-table__col--group-type-a {
  inline-size: calc(108 * 1rem / var(--font-size));
}

.m-product-spec-table__col--group-type-b {
  inline-size: calc(109 * 1rem / var(--font-size));
}

.m-product-spec-table--model-spec-175 thead th:nth-child(2),
.m-product-spec-table--model-spec-175 tbody td:nth-child(2) {
  inline-size: calc(175 * 1rem / var(--font-size));
}

.m-product-spec-table--models thead th {
  background-color: var(--color__secondary);
}

.m-product-spec-table--equal thead th:first-child,
.m-product-spec-table--equal tbody td:first-child {
  inline-size: auto;
}

.m-product-spec-table--models.m-product-spec-table--equal {
  table-layout: fixed;
}

.m-product-spec-table--models.m-product-spec-table--equal thead th:first-child,
.m-product-spec-table--models.m-product-spec-table--equal tbody td:first-child {
  inline-size: calc(160 * 1rem / var(--font-size));
}

.m-product-spec-table--pair-half {
  table-layout: fixed;
}

.m-product-spec-table--pair-half thead th:first-child,
.m-product-spec-table--pair-half tbody td:first-child {
  inline-size: 25%;
}

.m-product-spec-table--spec tbody td {
  font-size: calc(13 * 1rem / var(--font-size));
  line-height: 1.2307692308;
  color: var(--color__body);
}

.m-product-spec-table--spec.m-product-spec-table--item-head .m-product-spec-table__cell--head {
  background-color: var(--color__secondary);
  color: var(--color__primary);
  font-weight: 700;
}

.m-product-spec-table--spec-divided th,
.m-product-spec-table--spec-divided td {
  border-inline-end: 1px solid var(--color__line);
}

.m-product-spec-table--spec-divided tr > :last-child {
  border-inline-end: 0;
}

.m-product-spec-table--spec-merged {
  table-layout: fixed;
}

.m-product-spec-table--spec-merged tbody td:first-child {
  inline-size: 50%;
}

.m-product-spec-table--dimensions {
  table-layout: fixed;
}

.m-product-spec-table--dimensions thead th:first-child,
.m-product-spec-table--dimensions tbody td:first-child {
  inline-size: auto;
}

.m-product-spec-table--dimensions tbody td:nth-child(n+2) {
  font-size: calc(12 * 1rem / var(--font-size));
  line-height: 1.5;
  color: var(--color__text);
}

.m-product-spec-table--item-head thead th {
  inline-size: auto;
  background-color: var(--color__secondary);
}

.m-product-spec-table--item-head tbody th {
  border-block-end: 0;
}

.m-product-spec-table--item-head tbody th,
.m-product-spec-table--item-head tbody td {
  inline-size: auto;
  font-family: var(--font-family__inter);
  font-size: calc(12 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.5;
  color: var(--color__text);
}

.m-product-spec-table--item-head .m-product-spec-table__cell--head {
  font-size: calc(13 * 1rem / var(--font-size));
  line-height: 1.5;
  letter-spacing: -0.006em;
  color: var(--color__body);
}

.m-product-spec-table--item-head .m-product-spec-table__cell--middle {
  vertical-align: middle;
}

.m-product-spec-table--item-head .m-product-spec-table__cell--ruled {
  border-inline-end: 1px solid var(--color__line);
}

.m-product-spec-table--item-head .m-product-spec-table__cell--ruled-start {
  border-inline-start: 1px solid var(--color__line);
}

.m-product-spec-table--item-head .m-product-spec-table__cell--center {
  text-align: center;
}

.m-product-spec-table .m-product-spec-table__cell--joined {
  border-block-end: 0;
}

.m-product-spec-table--divided tbody td:nth-child(n+2):not(.m-product-spec-table__cell--caption) {
  border-inline-start: 1px solid var(--color__line);
}

.m-product-spec-table__cell--center {
  text-align: center;
}

.m-product-spec-table__col--group {
  inline-size: calc(94 * 1rem / var(--font-size));
}

.m-product-spec-table__col--sub {
  inline-size: calc(104 * 1rem / var(--font-size));
}

.m-product-spec-table__col--group-lg {
  inline-size: calc(151 * 1rem / var(--font-size));
}

.m-product-spec-table__col--third {
  inline-size: 33.333%;
}

.m-product-spec-table--half {
  table-layout: fixed;
}

.m-product-spec-table--half thead th:first-child,
.m-product-spec-table--half tbody td:first-child,
.m-product-spec-table--half thead th,
.m-product-spec-table--half tbody td {
  inline-size: 50%;
}

.m-product-spec-table--matrix th,
.m-product-spec-table--matrix td {
  inline-size: auto;
  padding-block: calc(8 * 1rem / var(--font-size));
  padding-inline: calc(12 * 1rem / var(--font-size));
  border-inline-end: 1px solid var(--color__line);
  background-color: transparent;
  font-family: var(--font-family__inter);
  font-size: calc(12 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.5;
  color: var(--color__body);
}

.m-product-spec-table--matrix-wide th,
.m-product-spec-table--matrix-wide td {
  min-inline-size: calc(48 * 1rem / var(--font-size));
}

.m-product-spec-table--matrix-wide th:first-child,
.m-product-spec-table--matrix-wide td:first-child {
  min-inline-size: calc(73 * 1rem / var(--font-size));
}

.m-product-spec-table.m-product-spec-table--matrix-fixed {
  table-layout: fixed;
  inline-size: calc(1042 * 1rem / var(--font-size));
  min-inline-size: calc(1042 * 1rem / var(--font-size));
}

.m-product-spec-table--matrix-fixed col:nth-child(1) {
  inline-size: 6.43%;
}

.m-product-spec-table--matrix-fixed col:nth-child(2) {
  inline-size: 4.19%;
}

.m-product-spec-table--matrix-fixed col:nth-child(3) {
  inline-size: 4.63%;
}

.m-product-spec-table--matrix-fixed col:nth-child(4) {
  inline-size: 4.86%;
}

.m-product-spec-table--matrix-fixed col:nth-child(5) {
  inline-size: 5.09%;
}

.m-product-spec-table--matrix-fixed col:nth-child(6) {
  inline-size: 4.04%;
}

.m-product-spec-table--matrix-fixed col:nth-child(7) {
  inline-size: 4.19%;
}

.m-product-spec-table--matrix-fixed col:nth-child(8) {
  inline-size: 4.01%;
}

.m-product-spec-table--matrix-fixed col:nth-child(9) {
  inline-size: 5.48%;
}

.m-product-spec-table--matrix-fixed col:nth-child(10) {
  inline-size: 4.45%;
}

.m-product-spec-table--matrix-fixed col:nth-child(11) {
  inline-size: 4.12%;
}

.m-product-spec-table--matrix-fixed col:nth-child(12) {
  inline-size: 4.6%;
}

.m-product-spec-table--matrix-fixed col:nth-child(13) {
  inline-size: 4.82%;
}

.m-product-spec-table--matrix-fixed col:nth-child(14) {
  inline-size: 4.07%;
}

.m-product-spec-table--matrix-fixed col:nth-child(15) {
  inline-size: 4.17%;
}

.m-product-spec-table--matrix-fixed col:nth-child(16) {
  inline-size: 5.15%;
}

.m-product-spec-table--matrix-fixed col:nth-child(17) {
  inline-size: 8.11%;
}

.m-product-spec-table--matrix-fixed col:nth-child(18) {
  inline-size: 4.08%;
}

.m-product-spec-table--matrix-fixed col:nth-child(19) {
  inline-size: 4.52%;
}

.m-product-spec-table--matrix-fixed col:nth-child(20) {
  inline-size: 4.78%;
}

.m-product-spec-table--matrix-fixed col:nth-child(21) {
  inline-size: 4.02%;
}

.m-product-spec-table--matrix thead tr:first-child th {
  padding-block: calc(12 * 1rem / var(--font-size));
  padding-inline: calc(16 * 1rem / var(--font-size));
  background-color: var(--color__bg-mute);
  font-size: calc(13 * 1rem / var(--font-size));
  font-weight: 600;
  line-height: 1.5;
  color: var(--color__primary);
}

.m-product-spec-table--matrix thead tr:last-child th {
  background-color: var(--color__bg-mute);
  font-size: calc(11 * 1rem / var(--font-size));
  line-height: 1.5;
  letter-spacing: 0.006em;
  color: var(--color__text);
}

.m-product-spec-table--matrix tfoot td {
  background-color: var(--color__secondary);
}

.m-product-spec-table--matrix tfoot td:nth-child(odd) {
  color: var(--color__primary);
}

.m-product-spec__matrix-stack .m-product-spec-table--matrix tfoot td:nth-child(odd) {
  display: flex;
  flex-direction: column;
}

.m-product-spec-table--matrix tfoot td:nth-child(even) {
  font-size: calc(13 * 1rem / var(--font-size));
  font-weight: 700;
  color: var(--color__primary);
}

.m-product-spec-table__foot-label {
  font-weight: 600;
}

.m-product-spec-table__foot-unit {
  font-size: calc(11 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.0058636364em;
  color: var(--color__text);
}

.m-product-spec-table--matrix:has(tfoot) tbody tr:last-child td {
  border-block-end: 1px solid var(--color__line);
}

.m-product-spec-table--matrix tr > :last-child {
  border-inline-end: 0;
}

.m-product-spec__matrix-stack .m-product-spec-table--matrix tbody td {
  border-inline-end: 0;
}

.m-product-spec-table--fill tr {
  block-size: calc(89 * 1rem / var(--font-size));
}

.m-product-spec-table--fill th,
.m-product-spec-table--fill td {
  vertical-align: middle;
}

.m-product-spec-table__cell--dim {
  font-size: calc(12 * 1rem / var(--font-size));
  line-height: 1.5;
  color: var(--color__text);
}

.m-product-spec__notes {
  display: flex;
  flex-direction: column;
  margin-block-start: calc(4 * 1rem / var(--font-size));
  list-style: none;
}

.m-product-spec__notes-item + .m-product-spec__notes-item {
  margin-block-start: calc(4 * 1rem / var(--font-size));
}

.m-product-spec__notes-item {
  font-family: var(--font-family__inter);
  font-size: calc(12 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.5;
  color: var(--color__text);
}

.m-product-spec__notes--disc {
  list-style: disc;
  padding-inline-start: calc(18 * 1rem / var(--font-size));
}

.m-product-search,
.m-product-search__form {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(20 * 1rem / var(--font-size));
  inline-size: 100%;
  max-inline-size: calc(647 * 1rem / var(--font-size));
  margin-inline: auto;
}

.m-product-search--section {
  display: block;
  max-inline-size: none;
  padding-block-start: var(--space__page-block);
  padding-block-end: calc(32 * 1rem / var(--font-size));
}

.m-product-search__label {
  flex-shrink: 0;
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.4285714286;
  color: var(--color__primary);
  white-space: nowrap;
}

.m-product-search__input {
  flex: 1 1 auto;
  min-inline-size: 0;
  block-size: calc(39 * 1rem / var(--font-size));
  padding-inline-start: calc(32 * 1rem / var(--font-size));
  padding-inline-end: calc(16 * 1rem / var(--font-size));
  border: 2px solid var(--color__primary);
  border-radius: calc(6 * 1rem / var(--font-size));
  background-color: var(--color__white);
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  line-height: 1.4285714286;
  color: var(--color__primary);
}
.m-product-search__input::-moz-placeholder {
  color: #1e1e1e;
  opacity: 0.2;
}
.m-product-search__input::placeholder {
  color: #1e1e1e;
  opacity: 0.2;
}
.m-product-search__input:focus {
  outline: 2px solid var(--color__primary);
  outline-offset: 1px;
}

.m-product-search__submit {
  flex-shrink: 0;
  inline-size: calc(110 * 1rem / var(--font-size));
  block-size: calc(40 * 1rem / var(--font-size));
  padding-inline: calc(19 * 1rem / var(--font-size));
  background-color: var(--color__accent);
  border: 0;
  border-radius: calc(999 * 1rem / var(--font-size));
  color: var(--color__white);
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 500;
  line-height: 1.4285714286;
  text-align: center;
  cursor: pointer;
  transition: opacity var(--duration);
}
.m-product-search__submit:focus-visible {
  opacity: var(--opacity__hover);
}

.m-product-hero-detail {
  display: grid;
  grid-template-columns: calc(530 * 1rem / var(--font-size)) minmax(0, 1fr);
  -moz-column-gap: calc(40 * 1rem / var(--font-size));
       column-gap: calc(40 * 1rem / var(--font-size));
  align-items: start;
}

.m-product-hero-detail__gallery {
  display: flex;
  flex-direction: column;
}

.m-product-hero-detail__main-image {
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: 100%;
  block-size: calc(280 * 1rem / var(--font-size));
  padding: calc(16 * 1rem / var(--font-size));
  background-color: var(--color__secondary);
  border-radius: calc(6 * 1rem / var(--font-size));
  overflow: hidden;
}

.m-product-hero-detail__main-image img {
  max-inline-size: 100%;
  max-block-size: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  display: block;
}

.m-product-hero-detail__thumbs {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: calc(8 * 1rem / var(--font-size));
  padding-block-start: calc(12 * 1rem / var(--font-size));
}

.m-product-hero-detail__thumb {
  display: block;
}

.m-product-hero-detail__thumb-button {
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: 100%;
  block-size: calc(72 * 1rem / var(--font-size));
  padding: calc(8 * 1rem / var(--font-size));
  background-color: var(--color__secondary);
  border: 1px solid transparent;
  border-radius: calc(4 * 1rem / var(--font-size));
  cursor: pointer;
  opacity: 0.5;
  transition: border-color var(--duration), opacity var(--duration);
}
.m-product-hero-detail__thumb-button:focus-visible {
  opacity: 1;
}

.m-product-hero-detail__thumb-button--current {
  border-color: var(--color__primary);
  opacity: 1;
}

.m-product-hero-detail__thumb-button img {
  max-inline-size: 100%;
  max-block-size: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  display: block;
}

.m-product-hero-detail__info {
  display: flex;
  flex-direction: column;
  padding-block-start: calc(4 * 1rem / var(--font-size));
}

.m-product-hero-detail__category {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 600;
  line-height: 1.8571428571;
  color: var(--color__text);
  text-transform: uppercase;
}

.m-product-hero-detail__title-wrap {
  padding-block-start: calc(20 * 1rem / var(--font-size));
}

.m-product-hero-detail__title {
  display: block;
  font-family: var(--font-family__noto-sans-jp);
  font-weight: 700;
  font-size: calc(32 * 1rem / var(--font-size));
  line-height: 1.375;
  color: var(--color__primary);
}

.m-product-hero-detail__model {
  display: block;
  padding-block-start: calc(4 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-weight: 900;
  font-size: calc(40 * 1rem / var(--font-size));
  line-height: 1.25;
  color: var(--color__primary);
}

.m-product-hero-detail__lead {
  padding-block-start: calc(20 * 1rem / var(--font-size));
}

.m-product-hero-detail__lead-inner {
  padding-inline-start: calc(16 * 1rem / var(--font-size));
  border-inline-start: calc(4 * 1rem / var(--font-size)) solid var(--color__accent);
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 600;
  line-height: 1.5714285714;
  color: var(--color__text);
}

.m-product-hero-detail__meta {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: calc(8 * 1rem / var(--font-size));
  padding-block-start: calc(20 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(12 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.5;
  color: var(--color__text);
}

.m-product-hero-detail__meta-item {
  display: inline-flex;
  align-items: center;
}

.m-product-hero-detail__meta-codes {
  display: flex;
  align-items: center;
  gap: calc(8 * 1rem / var(--font-size));
}

.m-product-hero-detail__meta-item--status {
  padding: calc(4 * 1rem / var(--font-size)) calc(12 * 1rem / var(--font-size));
  background-color: #ebf4ed;
  border-radius: calc(999 * 1rem / var(--font-size));
  color: #2d7a3a;
  font-weight: 700;
}

.m-product-hero-detail__actions {
  display: flex;
  align-items: center;
  gap: calc(16 * 1rem / var(--font-size));
  padding-block-start: calc(28 * 1rem / var(--font-size));
}

.m-product-hero-detail__action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: calc(8 * 1rem / var(--font-size));
  padding: calc(12 * 1rem / var(--font-size)) calc(24 * 1rem / var(--font-size));
  border-radius: calc(999 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 500;
  line-height: 1.5;
  text-decoration: none;
  transition: opacity var(--duration);
}
.m-product-hero-detail__action:focus-visible {
  opacity: var(--opacity__hover);
}

.m-product-hero-detail__action--primary {
  background-color: var(--color__cta);
  color: var(--color__white);
}

.m-product-hero-detail__action--secondary {
  background-color: var(--color__white);
  border: 1px solid var(--color__line);
  color: var(--color__cta);
}

.m-product-hero-detail__action-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  inline-size: calc(16 * 1rem / var(--font-size));
  block-size: calc(16 * 1rem / var(--font-size));
}

.m-product-hero-detail__action-icon svg {
  inline-size: 100%;
  block-size: 100%;
}
.m-product-filter {
  --_duration: var(--duration, 0.3s);
  padding-inline: calc(21 * 1rem / var(--font-size));
  padding-block: calc(21 * 1rem / var(--font-size));
  background-color: var(--color__white);
  border: 1px solid var(--color__line);
  border-radius: calc(6 * 1rem / var(--font-size));
}
.m-product-filter__heading {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 600;
  line-height: 1.5714285714;
  color: var(--color__primary);
  padding-block-end: calc(11 * 1rem / var(--font-size));
  border-block-end: 1px solid var(--color__line);
}

.m-product-filter__group {
  padding-block-start: calc(14 * 1rem / var(--font-size));
}

.m-product-filter__group-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(8 * 1rem / var(--font-size));
  inline-size: 100%;
  padding-block-end: calc(9 * 1rem / var(--font-size));
  background-color: transparent;
  border: 0;
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 600;
  line-height: 1.5714285714;
  color: var(--color__primary);
  text-align: start;
  cursor: default;
}

.m-product-filter__group-icon {
  display: none;
}

.m-product-filter__list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: calc(9 * 1rem / var(--font-size));
}

.m-product-filter__link {
  display: block;
  padding-block-start: calc(3 * 1rem / var(--font-size));
  padding-inline-start: calc(4 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(12 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.5;
  color: var(--color__text);
  text-transform: uppercase;
  transition: color var(--duration);
}
.m-product-filter__link:focus-visible {
  color: var(--color__primary);
}

.m-product-filter__item--current > .m-product-filter__link {
  color: var(--color__primary);
  font-weight: 600;
  font-size: calc(14 * 1rem / var(--font-size));
  line-height: 1.5714285714;
  text-transform: none;
}

.m-product-filter__details + .m-product-filter__details {
  padding-block-start: calc(9 * 1rem / var(--font-size));
}

.m-product-filter__details::details-content {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows var(--_duration), content-visibility var(--_duration) allow-discrete;
}

.m-product-filter__details[open]::details-content {
  grid-template-rows: 1fr;
}

.m-product-filter__panel {
  overflow: hidden;
  min-block-size: 0;
}

.m-product-filter__summary {
  display: flex;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  align-items: center;
  gap: calc(8 * 1rem / var(--font-size));
  cursor: pointer;
  list-style: none;
  padding-block-start: calc(3 * 1rem / var(--font-size));
  padding-inline-start: calc(4 * 1rem / var(--font-size));
}

.m-product-filter__summary::-webkit-details-marker {
  display: none;
}

.m-product-filter__checkbox {
  position: relative;
  flex-shrink: 0;
  inline-size: calc(13 * 1rem / var(--font-size));
  block-size: calc(13 * 1rem / var(--font-size));
  border: 1px solid var(--color__line);
  border-radius: calc(2 * 1rem / var(--font-size));
  background-color: var(--color__white);
}

.m-product-filter__subitem--selected .m-product-filter__checkbox {
  border-color: var(--color__primary);
  background-color: var(--color__primary);
}

.m-product-filter__subitem--selected .m-product-filter__checkbox::after {
  content: "";
  position: absolute;
  inset-block-start: calc(1 * 1rem / var(--font-size));
  inset-inline-start: calc(4 * 1rem / var(--font-size));
  inline-size: calc(3.5 * 1rem / var(--font-size));
  block-size: calc(7 * 1rem / var(--font-size));
  border-inline-end: 1.5px solid var(--color__white);
  border-block-end: 1.5px solid var(--color__white);
  transform: rotate(45deg);
}

.m-product-filter__summary-text {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(12 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.5;
  color: var(--color__text);
  text-transform: uppercase;
}

.m-product-filter__summary-icon {
  flex-shrink: 0;
  display: inline-flex;
  inline-size: calc(5 * 1rem / var(--font-size));
  block-size: calc(9 * 1rem / var(--font-size));
  color: var(--color__text);
  transition: transform var(--duration);
}

.m-product-filter__details[open] > .m-product-filter__summary .m-product-filter__summary-icon {
  transform: rotate(90deg);
}

.m-product-filter__sublist {
  list-style: none;
  padding-block-start: calc(9 * 1rem / var(--font-size));
  padding-inline-start: calc(27 * 1rem / var(--font-size));
  display: flex;
  flex-direction: column;
  gap: calc(8 * 1rem / var(--font-size));
}

.m-product-filter__subitem {
  padding-block: 0;
}

.m-product-filter__sublink {
  display: flex;
  align-items: center;
  gap: calc(8 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(12 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.5;
  color: var(--color__text);
  text-transform: uppercase;
  transition: color var(--duration);
}
.m-product-filter__sublink:focus-visible {
  color: var(--color__primary);
}

.m-product-filter__subitem--selected > .m-product-filter__sublink {
  color: var(--color__primary);
  font-weight: 600;
}
.m-privacy-policy-hero {
  padding-block: calc(128 * 1rem / var(--font-size)) calc(96 * 1rem / var(--font-size));
  background-color: var(--color__bg-page, #f4f6f8);
}

.m-privacy-policy-hero__en {
  color: var(--color__primary, #173b57);
  font-family: var(--font-family__inter);
  font-size: min(60 * 1rem / var(--font-size), 60 / 1440 * 100vw);
  font-weight: 800;
  line-height: 1.2166666667;
  text-align: center;
  text-transform: uppercase;
}

.m-privacy-policy-hero__label {
  display: flex;
  justify-content: center;
  padding-block-start: calc(20 * 1rem / var(--font-size));
}

.m-privacy-policy-hero__marker {
  flex-shrink: 0;
  align-self: stretch;
  width: calc(3 * 1rem / var(--font-size));
  background-color: var(--color__accent);
}

.m-privacy-policy-hero__ja {
  flex: 1 0 0;
  padding-inline-start: calc(10 * 1rem / var(--font-size));
  color: var(--color__primary, #173b57);
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(26 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.3461538462;
  text-align: center;
}

.m-privacy-policy-body {
  padding-block-end: calc(128 * 1rem / var(--font-size));
  background-color: var(--color__bg-page, #f4f6f8);
}

.m-privacy-policy-body__card {
  padding: calc(96 * 1rem / var(--font-size)) calc(64 * 1rem / var(--font-size));
  border-radius: calc(4 * 1rem / var(--font-size));
  background-color: var(--color__white, #fff);
  box-shadow: 0 calc(1 * 1rem / var(--font-size)) calc(1.5 * 1rem / var(--font-size)) rgba(0, 0, 0, 0.1), 0 calc(1 * 1rem / var(--font-size)) calc(1 * 1rem / var(--font-size)) rgba(0, 0, 0, 0.1);
}

.m-privacy-policy-body__lead {
  color: var(--color__text-dark, #1a1a2e);
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(16 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.75;
}

.m-privacy-policy-body__section {
  padding-block-start: calc(48 * 1rem / var(--font-size));
}

.m-privacy-policy-body__heading {
  padding-block-end: calc(12 * 1rem / var(--font-size));
  color: var(--color__primary, #173b57);
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(26 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.3461538462;
}

.m-privacy-policy-body__content {
  max-inline-size: calc(880 * 1rem / var(--font-size));
  padding-block-start: calc(20 * 1rem / var(--font-size));
}

.m-privacy-policy-body__text {
  color: var(--color__text-dark, #1a1a2e);
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(16 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.75;
}

.m-privacy-policy-body__text--stacked {
  padding-block-start: calc(12 * 1rem / var(--font-size));
}

.m-privacy-policy-body__list {
  padding-block-start: calc(16 * 1rem / var(--font-size));
}

.m-privacy-policy-body__list-item {
  display: flex;
  -moz-column-gap: calc(6 * 1rem / var(--font-size));
       column-gap: calc(6 * 1rem / var(--font-size));
}

.m-privacy-policy-body__list-item--stacked {
  padding-block-start: calc(8 * 1rem / var(--font-size));
}

.m-privacy-policy-body__list-marker {
  flex-shrink: 0;
  color: var(--color__text-dark, #1a1a2e);
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(16 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.75;
}

.m-privacy-policy-body__list-text {
  color: var(--color__text-dark, #1a1a2e);
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(16 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.75;
}

.m-privacy-policy-body__contact {
  padding-block-start: calc(20 * 1rem / var(--font-size));
}

.m-privacy-policy-body__contact-name {
  color: var(--color__primary, #173b57);
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(15 * 1rem / var(--font-size));
  font-weight: 600;
  line-height: 1.9;
}

.m-privacy-policy-body__contact-item {
  padding-block-start: calc(6 * 1rem / var(--font-size));
  color: var(--color__text-dark, #1a1a2e);
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(16 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.75;
}

.m-privacy-policy-body__revision {
  padding-block-start: calc(56 * 1rem / var(--font-size));
  color: var(--color__text, #71717b);
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.5;
  text-align: right;
}

.m-privacy-policy-body__signature {
  padding-block-start: calc(8 * 1rem / var(--font-size));
  color: var(--color__primary, #173b57);
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 600;
  line-height: 1.5;
  text-align: right;
}

.m-policies-basic {
  padding-block: var(--space__page-block);
  background-color: var(--color__white, #fff);
}

.m-policies-basic__en {
  color: var(--color__tertiary, #91a7b3);
  font-family: var(--font-family__inter);
  font-size: min(60 * 1rem / var(--font-size), 60 / 1440 * 100vw);
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0;
}

.m-policies-basic__label {
  display: flex;
  align-items: center;
  padding-block-start: calc(20 * 1rem / var(--font-size));
}

.m-policies-basic__marker {
  flex-shrink: 0;
  align-self: stretch;
  width: calc(3 * 1rem / var(--font-size));
  min-height: calc(35 * 1rem / var(--font-size));
  background-color: var(--color__accent);
}

.m-policies-basic__ja {
  padding-inline-start: calc(13 * 1rem / var(--font-size));
  color: var(--color__primary, #173b57);
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(26 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1;
}

.m-policies-basic__lead-wrapper {
  padding-block-start: calc(40 * 1rem / var(--font-size));
}

.m-policies-basic__lead {
  padding: calc(32 * 1rem / var(--font-size));
  border-radius: calc(6 * 1rem / var(--font-size));
  background-color: var(--color__secondary, #f1f1f1);
  color: var(--color__text, #71717b);
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(16 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.75;
}

.m-policies-basic__items {
  display: flex;
  flex-direction: column;
  row-gap: calc(24 * 1rem / var(--font-size));
  padding-block-start: calc(96 * 1rem / var(--font-size));
}

.m-policies-accordion {
  overflow: clip;
  border-radius: calc(6 * 1rem / var(--font-size));
  background-color: var(--color__secondary, #f1f1f1);
}

.m-policies-accordion__button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(16 * 1rem / var(--font-size));
  width: 100%;
  padding: calc(32 * 1rem / var(--font-size));
  color: var(--color__primary, #173b57);
  text-align: start;
  cursor: pointer;
  transition: opacity var(--duration, 0.3s);
}
.m-policies-accordion__button:focus-visible {
  opacity: var(--opacity__hover);
}

.m-policies-accordion__title {
  color: var(--color__primary, #173b57);
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(26 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1;
}

.m-policies-accordion__icon {
  flex-shrink: 0;
  inline-size: calc(24 * 1rem / var(--font-size));
  block-size: calc(24 * 1rem / var(--font-size));
  color: var(--color__primary, #173b57);
  rotate: -90deg;
  transition: rotate var(--duration, 0.3s);
}

.m-policies-accordion__button:has(+ .js-accordion__panel:not([hidden])) .m-policies-accordion__icon {
  rotate: 0deg;
}

.m-policies-accordion__panel-content {
  padding: calc(32 * 1rem / var(--font-size));
  padding-block-start: 0;
}

.m-policies-accordion__text {
  color: var(--color__text, #71717b);
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(16 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.75;
}

.m-pagination {
  display: flex;
  justify-content: center;
  padding-block-start: calc(50 * 1rem / var(--font-size));
}

.m-pagination__list {
  list-style: none;
  display: flex;
  gap: calc(8 * 1rem / var(--font-size));
  align-items: center;
}

.m-pagination__item {
  display: inline-flex;
}

.m-pagination__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: calc(30 * 1rem / var(--font-size));
  block-size: calc(30 * 1rem / var(--font-size));
  border: 1px solid var(--color__line);
  border-radius: calc(6 * 1rem / var(--font-size));
  background-color: var(--color__white);
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(12 * 1rem / var(--font-size));
  font-weight: 500;
  line-height: 1.5;
  color: var(--color__text);
  transition: opacity var(--duration);
}
.m-pagination__link:focus-visible {
  opacity: var(--opacity__hover);
}

.m-pagination__link--current,
.m-pagination__link.is-active {
  background-color: var(--color__primary);
  color: var(--color__white);
  border-color: var(--color__primary);
  pointer-events: none;
}

.m-pagination--rounded .m-pagination__link {
  color: var(--color__text);
  transition: color var(--duration), background-color var(--duration), border-color var(--duration);
}
.m-pagination--rounded .m-pagination__link:focus-visible {
  opacity: 1;
  color: var(--color__primary);
  border-color: var(--color__primary);
}

.m-pagination--rounded .m-pagination__link--current,
.m-pagination--rounded .m-pagination__link.is-active {
  color: var(--color__white);
  background-color: var(--color__primary);
  border-color: var(--color__primary);
}

.m-pagination__ellipsis {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: calc(30 * 1rem / var(--font-size));
  block-size: calc(30 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(12 * 1rem / var(--font-size));
  line-height: 1;
  color: var(--color__text);
}

.m-pagination__arrow {
  display: inline-block;
  inline-size: calc(10 * 1rem / var(--font-size));
  block-size: calc(10 * 1rem / var(--font-size));
  background-color: currentcolor;
  -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10' fill='none' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='3.5,2 6.5,5 3.5,8'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10' fill='none' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='3.5,2 6.5,5 3.5,8'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}

.m-pagination__arrow--prev {
  transform: scaleX(-1);
}

.m-page-head {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: clip;
  inline-size: 100%;
  min-block-size: calc(300 * 1rem / var(--font-size));
  background-color: var(--color__black, #000);
  color: var(--color__white);
  isolation: isolate;
}

.m-page-head__bg {
  position: absolute;
  inset: 0;
  z-index: -1;
}

.m-page-head__image {
  position: absolute;
  inset: 0;
  display: block;
}
.m-page-head__image img {
  inline-size: 100%;
  block-size: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: right center;
     object-position: right center;
  display: block;
}

.m-page-head__inner {
  position: relative;
  padding-block: calc(30 * 1rem / var(--font-size));
}

.m-page-head__title {
  display: flex;
  flex-direction: column;
}

.m-page-head__en {
  font-family: var(--font-family__inter);
  font-weight: 900;
  font-size: min(100 * 1rem / var(--font-size), 100 / 1440 * 100vw);
  line-height: normal;
  letter-spacing: 0;
  text-transform: uppercase;
  color: var(--color__white);
}

.m-page-head--overseas .m-page-head__en {
  font-size: min(90 * 1rem / var(--font-size), 90 / 1440 * 100vw);
}

.m-page-head--medical .m-page-head__en {
  font-size: min(70 * 1rem / var(--font-size), 70 / 1440 * 100vw);
}

.m-page-head--hioki-guide {
  min-block-size: calc(350 * 1rem / var(--font-size));
}

.m-page-head--hioki-guide .m-page-head__en {
  font-size: min(70 * 1rem / var(--font-size), 70 / 1440 * 100vw);
}

.m-page-head--hioki-guide .m-page-head__ja {
  padding-block-start: calc(14 * 1rem / var(--font-size));
  line-height: 1.375;
}

.m-page-head--sitemap,
.m-page-head--gallery,
.m-page-head--medical {
  min-block-size: calc(350 * 1rem / var(--font-size));
}

.m-page-head__ja {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(32 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: normal;
  padding-block-start: calc(30 * 1rem / var(--font-size));
  color: var(--color__white);
}

.m-page-head-product {
  position: relative;
  overflow: clip;
  inline-size: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-block-size: calc(300 * 1rem / var(--font-size));
  background-color: var(--color__black, #000);
  color: var(--color__white);
  isolation: isolate;
}

.m-page-head-product__bg {
  position: absolute;
  inset: 0;
  z-index: -1;
}

.m-page-head-product__image {
  position: absolute;
  inset: 0;
  display: block;
}
.m-page-head-product__image img {
  inline-size: 100%;
  block-size: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: right center;
     object-position: right center;
  display: block;
}

.m-page-head-product__inner {
  position: relative;
  padding-block: calc(24 * 1rem / var(--font-size));
  display: flex;
  flex-direction: column;
}

.m-page-head-product__title {
  padding-block-start: calc(16 * 1rem / var(--font-size));
  display: flex;
  flex-direction: column;
}

.m-page-head-product__en {
  font-family: var(--font-family__inter);
  font-weight: 900;
  font-size: min(60 * 1rem / var(--font-size), 60 / 1440 * 100vw);
  line-height: normal;
  text-transform: uppercase;
  color: var(--color__white);
  white-space: pre-line;
}

.m-page-head-product__ja {
  padding-block-start: calc(16 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(32 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: normal;
  color: var(--color__white);
}

.m-page-head-product .m-breadcrumb__link,
.m-page-head-product .m-breadcrumb__current,
.m-page-head-product .m-breadcrumb__sep {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(11 * 1rem / var(--font-size));
  line-height: 1.6;
}

.m-notfound {
  padding-block: calc(120 * 1rem / var(--font-size)) calc(160 * 1rem / var(--font-size));
}

.m-notfound__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.m-notfound__code {
  font-family: var(--font-family__inter);
  font-weight: 800;
  font-size: min(200 * 1rem / var(--font-size), 200 / 1440 * 100vw);
  line-height: 1;
  letter-spacing: calc(-4 * 1rem / var(--font-size));
  color: var(--color__primary);
}

.m-notfound__en {
  padding-block-start: calc(24 * 1rem / var(--font-size));
  font-family: var(--font-family__inter);
  font-weight: 700;
  font-size: calc(20 * 1rem / var(--font-size));
  line-height: 1;
  letter-spacing: calc(2 * 1rem / var(--font-size));
  color: var(--color__tertiary);
  text-transform: uppercase;
}

.m-notfound__ja {
  display: inline-flex;
  align-items: center;
  gap: calc(13 * 1rem / var(--font-size));
  padding-block-start: calc(20 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-weight: 700;
  font-size: calc(26 * 1rem / var(--font-size));
  line-height: 1;
  color: var(--color__primary);
}

.m-notfound__ja-marker {
  display: inline-block;
  inline-size: calc(3 * 1rem / var(--font-size));
  block-size: calc(35 * 1rem / var(--font-size));
  background-color: var(--color__accent);
}

.m-notfound__desc {
  padding-block-start: calc(32 * 1rem / var(--font-size));
  max-inline-size: calc(640 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-weight: 400;
  font-size: calc(16 * 1rem / var(--font-size));
  line-height: 1.75;
  color: var(--color__text);
}

.m-notfound__actions {
  display: flex;
  gap: calc(20 * 1rem / var(--font-size));
  padding-block-start: calc(48 * 1rem / var(--font-size));
}

.m-notfound__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-inline-size: calc(280 * 1rem / var(--font-size));
  block-size: calc(56 * 1rem / var(--font-size));
  padding-inline: calc(32 * 1rem / var(--font-size));
  border-radius: 9999px;
  font-family: var(--font-family__noto-sans-jp);
  font-weight: 500;
  font-size: calc(16 * 1rem / var(--font-size));
  line-height: 1;
  text-decoration: none;
  transition: opacity var(--duration), background-color var(--duration), color var(--duration);
}
.m-notfound__btn:focus-visible {
  opacity: var(--opacity__hover);
}

.m-notfound__btn--primary {
  background-color: var(--color__primary);
  color: var(--color__white);
}

.m-notfound__btn--secondary {
  background-color: var(--color__white);
  color: var(--color__primary);
  border: 1px solid var(--color__primary);
}

.m-news {
  background-color: var(--color__white);
  padding-block: calc(68 * 1rem / var(--font-size));
}

.m-news__inner {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

.m-news__empty {
  padding-block: calc(48 * 1rem / var(--font-size));
  text-align: center;
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  line-height: calc(22 * 1rem / var(--font-size));
  color: var(--color__text);
}

.m-news-tabs {
  inline-size: 100%;
  display: flex;
  align-items: center;
  padding-block: calc(2 * 1rem / var(--font-size));
  border-block-end: 1px solid var(--color__line);
}

.m-news-tabs__item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-block: calc(12 * 1rem / var(--font-size));
  padding-inline: calc(22 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 600;
  line-height: 1.5714285714;
  color: var(--color__text);
  white-space: nowrap;
  cursor: pointer;
  transition: color var(--duration), background-color var(--duration), border-color var(--duration);
}
.m-news-tabs__item:focus-visible {
  color: var(--color__primary);
}
.m-news-tabs__item.is-active {
  padding-block: calc(13 * 1rem / var(--font-size)) calc(12 * 1rem / var(--font-size));
  padding-inline: calc(27 * 1rem / var(--font-size));
  background-color: var(--color__white);
  border-block-start: 1px solid var(--color__line);
  border-inline: 1px solid var(--color__line);
  color: var(--color__primary);
}

.m-news-list {
  inline-size: 100%;
  margin-block-start: calc(36 * 1rem / var(--font-size));
  display: flex;
  flex-direction: column;
  list-style: none;
}

.m-news-list__item {
  border-block-end: 1px solid var(--color__line);
  border-inline: 1px solid var(--color__line);
}
.m-news-list__item:first-child {
  border-block-start: 1px solid var(--color__line);
}

.m-news-list__link {
  display: flex;
  align-items: center;
  -moz-column-gap: calc(20 * 1rem / var(--font-size));
       column-gap: calc(20 * 1rem / var(--font-size));
  padding-block: calc(19 * 1rem / var(--font-size));
  padding-inline: calc(32 * 1rem / var(--font-size));
  transition: opacity var(--duration);
}
.m-news-list__link:focus-visible {
  opacity: var(--opacity__hover);
}

.m-news-list__date {
  flex: 0 0 auto;
  inline-size: calc(70 * 1rem / var(--font-size));
  font-family: var(--font-family__inter);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: calc(20 * 1rem / var(--font-size));
  color: var(--color__tertiary);
  white-space: nowrap;
}

.m-news-list__title {
  flex: 1 1 0;
  min-inline-size: 0;
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 600;
  line-height: calc(22 * 1rem / var(--font-size));
  color: var(--color__primary);
}

.m-news-list__cats {
  flex: 0 0 auto;
  display: inline-flex;
  flex-wrap: wrap;
  gap: calc(6 * 1rem / var(--font-size));
}

.m-news-list__cat {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-inline-size: calc(78 * 1rem / var(--font-size));
  padding-block: calc(6 * 1rem / var(--font-size));
  padding-inline: calc(15 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(12 * 1rem / var(--font-size));
  font-weight: 500;
  line-height: calc(18 * 1rem / var(--font-size));
  color: var(--color__tertiary);
  border: 1px solid var(--color__tertiary);
  border-radius: calc(999 * 1rem / var(--font-size));
}

.m-news-filter {
  display: flex;
  align-items: center;
  gap: calc(12 * 1rem / var(--font-size));
  padding-block-start: calc(24 * 1rem / var(--font-size));
}

.m-news-filter__label {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 600;
  line-height: 1.5714285714;
  color: var(--color__text);
}

.m-news-filter__select {
  padding-block: calc(10 * 1rem / var(--font-size));
  padding-inline: calc(16 * 1rem / var(--font-size)) calc(40 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 600;
  line-height: 1.5714285714;
  color: var(--color__primary);
  cursor: pointer;
  background-color: var(--color__secondary);
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%23173b57' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right calc(16 * 1rem / var(--font-size)) center;
  background-size: calc(12 * 1rem / var(--font-size)) calc(8 * 1rem / var(--font-size));
  border: none;
  border-radius: calc(4 * 1rem / var(--font-size));
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  transition: opacity var(--duration);
}
.m-news-filter__select:focus-visible {
  opacity: var(--opacity__hover);
}

.m-modal {
  --_duration: 0.3s;
  position: fixed;
  z-index: 1000;
  inset: 0;
  transition: visibility var(--_duration);
  visibility: hidden;
}

.m-modal__backdrop {
  position: fixed;
  z-index: 1;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.3);
  transition: opacity var(--_duration), visibility var(--_duration);
  opacity: 0;
  visibility: hidden;
}

.m-modal__inner {
  position: fixed;
  z-index: 2;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  transition: opacity var(--_duration), visibility var(--_duration);
  opacity: 0;
  visibility: hidden;
}

.m-modal__content {
  overflow-y: auto;
  scrollbar-gutter: stable;
  max-height: 80vh;
  background-color: #fff;
  padding-block: calc(50 * 1rem / var(--font-size));
  padding-inline: calc(30 * 1rem / var(--font-size));
}

/* 開いた時 */
.m-modal.is-visible .m-modal__backdrop {
  opacity: 1;
  visibility: visible;
}

.m-modal.is-visible .m-modal__inner {
  opacity: 1;
  visibility: visible;
}

.m-modal.m-modal--fade-up .m-modal__inner {
  transition: transform var(--_duration), opacity var(--_duration), visibility var(--_duration);
  transform: translate(-50%, calc(-50% + 30px));
}

.m-modal.m-modal--fade-up.is-visible .m-modal__inner {
  transform: translate(-50%, -50%);
}

.m-modal.m-modal--fade-down .m-modal__inner {
  transition: transform var(--_duration), opacity var(--_duration), visibility var(--_duration);
  transform: translate(-50%, calc(-50% - 30px));
}

.m-modal.m-modal--fade-down.is-visible .m-modal__inner {
  transform: translate(-50%, -50%);
}

.m-modal.m-modal--fade-left .m-modal__inner {
  transition: transform var(--_duration), opacity var(--_duration), visibility var(--_duration);
  transform: translate(calc(-50% + 30px), -50%);
}

.m-modal.m-modal--fade-left.is-visible .m-modal__inner {
  transform: translate(-50%, -50%);
}

.m-modal.m-modal--fade-right .m-modal__inner {
  transition: transform var(--_duration), opacity var(--_duration), visibility var(--_duration);
  transform: translate(calc(-50% - 30px), -50%);
}

.m-modal.m-modal--fade-right.is-visible .m-modal__inner {
  transform: translate(-50%, -50%);
}

.m-medical-lineup {
  padding-block: var(--space__page-block);
  background-color: var(--color__white);
}

.m-medical-lineup__inner {
  display: flex;
  flex-direction: column;
}

.m-medical-lineup__banner {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-block: calc(14 * 1rem / var(--font-size));
  border-radius: calc(6 * 1rem / var(--font-size));
  background-color: var(--color__tertiary);
  font-family: var(--font-family__inter);
  font-size: calc(32 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
  color: var(--color__white);
  text-transform: uppercase;
}

.m-medical-lineup__heading {
  padding-block: calc(28 * 1rem / var(--font-size)) calc(32 * 1rem / var(--font-size));
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(10 * 1rem / var(--font-size));
}

.m-medical-lineup__title {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(18 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.2222222222;
  color: var(--color__primary);
  text-align: center;
}

.m-medical-lineup__desc {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(13 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.5;
  color: #777;
  text-align: center;
}

.m-medical-lineup__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: calc(20 * 1rem / var(--font-size));
}

.m-medical-lineup__card {
  min-block-size: calc(200 * 1rem / var(--font-size));
  border: 1px solid var(--color__line);
  border-radius: calc(6 * 1rem / var(--font-size));
  overflow: hidden;
  background-color: var(--color__white);
}

.m-medical-lineup__card-link {
  display: flex;
  flex-direction: column;
  block-size: 100%;
  color: var(--color__primary);
  text-decoration: none;
  transition: opacity var(--duration);
}
.m-medical-lineup__card-link:focus-visible {
  opacity: var(--opacity__hover);
}

.m-medical-lineup__card-media {
  block-size: calc(140 * 1rem / var(--font-size));
  overflow: hidden;
  background-color: var(--color__secondary);
  border-block-end: 1px solid var(--color__line);
}

.m-medical-lineup__card-media img {
  inline-size: 100%;
  block-size: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  display: block;
}

.m-medical-lineup__card-body {
  padding: calc(16 * 1rem / var(--font-size));
}

.m-medical-lineup__card-label {
  display: inline-flex;
  align-items: center;
  gap: calc(6 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(16 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.6;
  color: var(--color__primary);
}

.m-medical-lineup__card-arrow {
  flex-shrink: 0;
}

.m-medical-lineup__cta {
  margin-block-start: calc(96 * 1rem / var(--font-size));
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(14 * 1rem / var(--font-size));
  padding-block: calc(56 * 1rem / var(--font-size));
  padding-inline: calc(32 * 1rem / var(--font-size));
  border-radius: calc(6 * 1rem / var(--font-size));
  background-color: var(--color__secondary);
}

.m-medical-lineup__cta-title {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(26 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.5;
  color: #1a1a1a;
  text-align: center;
}

.m-medical-lineup__cta-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-block-start: calc(14 * 1rem / var(--font-size));
  min-block-size: calc(95 * 1rem / var(--font-size));
  transition: opacity var(--duration);
}
.m-medical-lineup__cta-link:focus-visible {
  opacity: var(--opacity__hover);
}

.m-medical-lineup__cta-link svg {
  display: block;
  inline-size: calc(152 * 1rem / var(--font-size));
  block-size: calc(32 * 1rem / var(--font-size));
}

.m-medical-lineup__cta-note {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(13 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.5;
  color: #555;
  text-align: center;
}

.m-medical-intro {
  padding-block: var(--space__page-block) 0;
  background-color: var(--color__white);
}

.m-medical-intro__inner {
  display: flex;
  flex-direction: column;
  gap: calc(20 * 1rem / var(--font-size));
}

.m-medical-intro__en {
  font-family: var(--font-family__inter);
  font-size: min(60 * 1rem / var(--font-size), 60 / 1440 * 100vw);
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0;
  color: var(--color__tertiary);
}

.m-medical-intro__ja {
  display: flex;
  align-items: center;
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(26 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1;
  color: var(--color__primary);
}

.m-medical-intro__ja-marker {
  display: inline-block;
  flex-shrink: 0;
  inline-size: calc(3 * 1rem / var(--font-size));
  block-size: calc(35 * 1rem / var(--font-size));
  margin-inline-end: calc(10 * 1rem / var(--font-size));
  background-color: var(--color__accent);
}

.m-medical-intro__catch {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(26 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.5;
  color: var(--color__primary);
}

.m-medical-intro__row {
  display: flex;
  gap: calc(20 * 1rem / var(--font-size));
  align-items: stretch;
}

.m-medical-intro__body {
  flex: 1 1 0;
  min-inline-size: 0;
  display: flex;
  flex-direction: column;
}

.m-medical-intro__text {
  max-inline-size: calc(529 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(16 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.75;
  color: var(--color__text);
}

.m-medical-intro__actions {
  padding-block-start: calc(40 * 1rem / var(--font-size));
}

.m-medical-intro__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-block: calc(14 * 1rem / var(--font-size));
  padding-inline: calc(40 * 1rem / var(--font-size));
  border-radius: 9999px;
  background-color: var(--color__primary);
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1;
  color: var(--color__white);
  text-decoration: none;
  transition: opacity var(--duration);
}
.m-medical-intro__button:focus-visible {
  opacity: var(--opacity__hover);
}

.m-medical-intro__media {
  flex: 1 1 0;
  min-inline-size: 0;
  aspect-ratio: 646/334;
  overflow: hidden;
  border-radius: calc(6 * 1rem / var(--font-size));
  background-color: var(--color__secondary);
}

.m-medical-intro__media img {
  inline-size: 100%;
  block-size: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.m-medical-cta {
  padding-block: calc(32 * 1rem / var(--font-size)) var(--space__page-block);
}

.m-medical-cta__box {
  background-color: var(--color__secondary);
  border-radius: calc(6 * 1rem / var(--font-size));
  padding-block: calc(32 * 1rem / var(--font-size));
  padding-inline: calc(64 * 1rem / var(--font-size));
  overflow: hidden;
}

.m-medical-cta__en {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(24 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: normal;
  color: var(--color__tertiary);
  text-transform: uppercase;
}

.m-medical-cta__ja {
  padding-block-start: calc(20 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(18 * 1rem / var(--font-size));
  font-weight: 600;
  line-height: normal;
  color: var(--color__primary);
}

.m-medical-cta__link {
  padding-block-start: calc(40 * 1rem / var(--font-size));
  display: inline-flex;
  align-items: center;
  gap: calc(6 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 500;
  line-height: 1.4285714286;
  letter-spacing: -0.011em;
  color: var(--color__primary);
  transition: opacity var(--duration);
}
.m-medical-cta__link:focus-visible {
  opacity: var(--opacity__hover);
}

.m-medical-cta__arrow {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: calc(15 * 1rem / var(--font-size));
  block-size: 1lh;
  translate: 0 1px;
}

.m-medical-cta__arrow svg {
  inline-size: calc(15 * 1rem / var(--font-size));
  block-size: calc(15 * 1rem / var(--font-size));
  display: block;
}

.m-medical-cta-sidebar {
  padding-inline: calc(23 * 1rem / var(--font-size));
  padding-block: calc(22 * 1rem / var(--font-size));
  background-color: var(--color__secondary);
  border-radius: calc(6 * 1rem / var(--font-size));
  overflow: hidden;
}

.m-medical-cta-sidebar__en {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(18 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.2222222222;
  color: var(--color__tertiary);
  text-transform: uppercase;
}

.m-medical-cta-sidebar__ja {
  padding-block-start: calc(20 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 600;
  line-height: 1.5714285714;
  color: var(--color__primary);
}

.m-medical-cta-sidebar__note {
  padding-block-start: calc(10 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.5714285714;
  color: var(--color__text);
}

.m-medical-cta-sidebar__link {
  padding-block-start: calc(40 * 1rem / var(--font-size));
  display: inline-flex;
  align-items: center;
  gap: calc(6 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 600;
  line-height: 1.5714285714;
  color: var(--color__primary);
  transition: opacity var(--duration);
}
.m-medical-cta-sidebar__link:focus-visible {
  opacity: var(--opacity__hover);
}

.m-medical-cta-sidebar__arrow {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: calc(15 * 1rem / var(--font-size));
  block-size: 1lh;
  translate: 0 1px;
}

.m-medical-cta-sidebar__arrow svg {
  inline-size: calc(15 * 1rem / var(--font-size));
  block-size: calc(15 * 1rem / var(--font-size));
  display: block;
}
.m-icon-link {
  display: grid;
  place-items: center;
  transition: color var(--duration);
}

.m-icon-button {
  --_color__main-default: var(--color__blue);
  --_color__sub-default: #fff;
  --_color__main: var(--_color__main-default);
  --_color__sub: var(--_color__sub-default);
  --_width__icon: 20;
  --_duration: var(--duration);
  display: grid;
  grid-template-columns: calc(var(--_width__icon) * 1rem / var(--font-size)) auto;
  -moz-column-gap: calc(10 * 1rem / var(--font-size));
       column-gap: calc(10 * 1rem / var(--font-size));
  align-items: center;
  justify-content: center;
  max-width: calc(250 * 1rem / var(--font-size));
  width: 100%;
  color: var(--_color__sub);
  font-size: calc(16 * 1rem / var(--font-size));
  background-color: var(--_color__main);
  border-width: 1px;
  border-style: solid;
  border-color: var(--_color__main);
  border-radius: 9999px;
  filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.2));
  transform: translateZ(0);
  transition: color var(--_duration), background-color var(--_duration), border-color var(--_duration), filter var(--_duration);
  touch-action: manipulation;
  padding-block: calc(10 * 1rem / var(--font-size));
  padding-inline: calc(10 * 1rem / var(--font-size));
}
.m-icon-button:focus-visible {
  color: var(--_color__main);
  background-color: var(--_color__sub);
  filter: unset;
}

.m-icon-button--reverse {
  grid-template-columns: auto calc(var(--_width__icon) * 1rem / var(--font-size));
}

.m-icon-button--invert {
  --_color__main: var(--_color__sub-default);
  --_color__sub: var(--_color__main-default);
  border-color: var(--_color__sub);
}

.m-home-strengths {
  background-color: var(--color__black);
  color: var(--color__white);
  padding-block: calc(128 * 1rem / var(--font-size));
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.m-home-strengths__head {
  inline-size: 100%;
}

.m-home-strengths__en {
  text-align: center;
}

.m-home-strengths__accent {
  margin-block-start: calc(16 * 1rem / var(--font-size));
  inline-size: calc(400 * 1rem / var(--font-size));
}

.m-home-strengths__ja {
  inline-size: 100%;
  padding-block: calc(16 * 1rem / var(--font-size)) calc(100 * 1rem / var(--font-size));
  text-align: center;
}

.m-home-strengths__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.m-home-strengths__grid {
  inline-size: 100%;
  display: flex;
  gap: calc(64 * 1rem / var(--font-size));
  align-items: center;
}

.m-home-strengths__media {
  inline-size: calc(577 * 1rem / var(--font-size));
  block-size: calc(687 * 1rem / var(--font-size));
  flex-shrink: 0;
  position: relative;
  overflow: hidden;
  border-radius: calc(6 * 1rem / var(--font-size));
}
.m-home-strengths__media img {
  position: absolute;
  inset: 0;
  inline-size: 100%;
  block-size: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.m-home-strengths__list {
  flex: 1 0 0;
  min-inline-size: 0;
  display: flex;
  flex-direction: column;
  list-style: none;
}

.m-home-strengths__item {
  border-block-start: 1px solid var(--color__line);
  padding-block: calc(33 * 1rem / var(--font-size)) calc(40 * 1rem / var(--font-size));
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.m-home-strengths__num {
  inline-size: 100%;
  font-family: var(--font-family__inter);
  font-size: calc(12 * 1rem / var(--font-size));
  font-weight: 500;
  line-height: 1.5;
  color: var(--color__white);
}

.m-home-strengths__title {
  padding-block-start: calc(16 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(18 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.22;
  color: var(--color__white);
}

.m-home-strengths__desc {
  padding-block-start: calc(12 * 1rem / var(--font-size));
  inline-size: 100%;
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(16 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.75;
  color: var(--color__line);
}

.m-home-products {
  background-color: var(--color__black);
  color: var(--color__white);
}

.m-home-products__head {
  padding-block: calc(128 * 1rem / var(--font-size)) calc(150 * 1rem / var(--font-size));
}

.m-home-products__en {
  text-align: center;
  white-space: nowrap;
}

.m-home-products__accent {
  margin-block-start: calc(16 * 1rem / var(--font-size));
  inline-size: calc(400 * 1rem / var(--font-size));
}

.m-home-products__ja {
  padding-block-start: calc(16 * 1rem / var(--font-size));
  text-align: center;
}

.m-home-products__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
  min-block-size: calc(480 * 1rem / var(--font-size));
}

.m-home-products__row--reverse .m-home-products__media {
  order: 2;
}
.m-home-products__row--reverse .m-home-products__body {
  order: 1;
}

.m-home-products__media {
  position: relative;
  block-size: calc(480 * 1rem / var(--font-size));
  overflow: hidden;
  background-color: #d4d4d8;
}
.m-home-products__media img {
  inline-size: 100%;
  block-size: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.m-home-products__row--reverse .m-home-products__media img {
  -o-object-position: center bottom;
     object-position: center bottom;
}

.m-home-products__body {
  position: relative;
  min-block-size: calc(480 * 1rem / var(--font-size));
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: calc(64 * 1rem / var(--font-size));
  background-color: var(--color__black);
}

.m-home-products__body-inner {
  inline-size: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.m-home-products__index {
  font-family: var(--font-family__inter);
  font-size: calc(24 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.2;
  color: var(--color__white);
  text-transform: uppercase;
}

.m-home-products__title {
  padding-block-start: calc(20 * 1rem / var(--font-size));
  inline-size: 100%;
}

.m-home-products__title-main {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(18 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.22;
  color: var(--color__white);
  display: block;
}

.m-home-products__title-sub {
  display: block;
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(16 * 1rem / var(--font-size));
  font-weight: 500;
  line-height: 1.55;
  color: var(--color__white);
}

.m-home-products__desc {
  padding-block-start: calc(20 * 1rem / var(--font-size));
  inline-size: 100%;
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(16 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.75;
  color: var(--color__white);
}

.m-home-products__list {
  padding-block-start: calc(32 * 1rem / var(--font-size));
  inline-size: 100%;
  display: flex;
  flex-direction: column;
  gap: calc(12 * 1rem / var(--font-size));
  list-style: none;
}

.m-home-products__list-item {
  display: flex;
  gap: calc(12 * 1rem / var(--font-size));
  align-items: flex-start;
  min-block-size: calc(20 * 1rem / var(--font-size));
}

.m-home-products__list-bullet {
  inline-size: 1px;
  block-size: calc(12 * 1rem / var(--font-size));
  background-color: var(--color__accent);
  display: block;
  flex-shrink: 0;
}

.m-home-products__list-item > span:not(.m-home-products__list-bullet) {
  font-family: var(--font-family__inter);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: calc(20 * 1rem / var(--font-size));
  letter-spacing: calc(-0.1504 * 1rem / var(--font-size));
  color: var(--color__white);
}

.m-home-products__link {
  padding-block-start: calc(40 * 1rem / var(--font-size));
  display: inline-flex;
  align-items: center;
  gap: calc(6 * 1rem / var(--font-size));
  color: var(--color__white);
  font-family: var(--font-family__inter);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 500;
  line-height: calc(20 * 1rem / var(--font-size));
  letter-spacing: calc(-0.1504 * 1rem / var(--font-size));
  transition: opacity var(--duration);
}
.m-home-products__link:focus-visible {
  opacity: var(--opacity__hover);
}

.m-home-products__link-arrow {
  inline-size: calc(15 * 1rem / var(--font-size));
  block-size: calc(15 * 1rem / var(--font-size));
  display: inline-block;
}
.m-home-products__link-arrow svg {
  inline-size: 100%;
  block-size: 100%;
  display: block;
}

.m-home-products__guide {
  background-color: var(--color__secondary);
  border-block-start: 1px solid var(--color__line);
}

.m-home-products__guide-inner {
  padding-block: calc(32 * 1rem / var(--font-size));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(32 * 1rem / var(--font-size));
}

.m-home-products__guide-text {
  display: flex;
  flex-direction: column;
}

.m-home-products__guide-en {
  font-family: var(--font-family__inter);
  font-size: calc(12 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: calc(16 * 1rem / var(--font-size));
  letter-spacing: calc(0.6 * 1rem / var(--font-size));
  color: var(--color__primary);
  text-transform: uppercase;
}

.m-home-products__guide-title {
  padding-block-start: calc(4 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(18 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.22;
  color: var(--color__primary);
}

.m-home-products__guide-desc {
  padding-block-start: calc(4 * 1rem / var(--font-size));
  font-family: var(--font-family__inter);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: calc(20 * 1rem / var(--font-size));
  letter-spacing: calc(-0.1504 * 1rem / var(--font-size));
  color: var(--color__primary);
}

.m-home-products__guide-link {
  display: inline-flex;
  align-items: center;
  gap: calc(6 * 1rem / var(--font-size));
  color: var(--color__primary);
  font-family: var(--font-family__inter);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 500;
  line-height: calc(20 * 1rem / var(--font-size));
  letter-spacing: calc(-0.1504 * 1rem / var(--font-size));
  transition: opacity var(--duration);
}
.m-home-products__guide-link:focus-visible {
  opacity: var(--opacity__hover);
}

.m-home-products__guide-arrow {
  inline-size: calc(15 * 1rem / var(--font-size));
  block-size: calc(15 * 1rem / var(--font-size));
}
.m-home-products__guide-arrow svg {
  inline-size: 100%;
  block-size: 100%;
  display: block;
}

.m-home-notice {
  background-color: var(--color__white);
  border-block-end: 1px solid var(--color__line);
  padding-block: calc(48 * 1rem / var(--font-size)) calc(49 * 1rem / var(--font-size));
}

.m-home-notice__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.m-home-notice__row {
  display: flex;
  gap: calc(64 * 1rem / var(--font-size));
  align-items: flex-start;
}

.m-home-notice__label {
  display: flex;
  gap: calc(12 * 1rem / var(--font-size));
  align-items: center;
  padding-block-start: calc(2 * 1rem / var(--font-size));
  flex-shrink: 0;
}

.m-home-notice__dot {
  inline-size: calc(6 * 1rem / var(--font-size));
  block-size: calc(20 * 1rem / var(--font-size));
  border-radius: 9999px;
  background-color: var(--color__cta);
  display: block;
}

.m-home-notice__label-text {
  font-family: var(--font-family__inter);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: calc(20 * 1rem / var(--font-size));
  letter-spacing: calc(0.1996 * 1rem / var(--font-size));
  color: var(--color__primary);
  white-space: nowrap;
}

.m-home-notice__body {
  flex: 1041.055 0 0;
  min-inline-size: 0;
  border-inline-start: 1px solid var(--color__line);
  padding-inline-start: calc(33 * 1rem / var(--font-size));
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.m-home-notice__heading {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.43;
  letter-spacing: calc(-0.1504 * 1rem / var(--font-size));
  color: var(--color__primary);
  white-space: nowrap;
}

.m-home-notice__text {
  font-family: var(--font-family__inter);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: calc(22.82 * 1rem / var(--font-size));
  letter-spacing: calc(-0.1504 * 1rem / var(--font-size));
  color: var(--color__text);
  padding-block-start: calc(10 * 1rem / var(--font-size));
}
.m-home-notice__text p {
  margin: 0;
}
.m-home-notice__text p + p {
  padding-block-start: calc(10 * 1rem / var(--font-size));
}
.m-home-notice__text a {
  color: var(--color__text);
  text-decoration: underline;
  text-underline-offset: 0.15em;
  transition: opacity var(--duration);
}
.m-home-notice__text a:focus-visible {
  opacity: var(--opacity__hover);
}
.m-home-notice__text strong, .m-home-notice__text b {
  font-weight: 700;
}

.m-home-notice__link {
  color: inherit;
  text-decoration: none;
  transition: opacity var(--duration);
}
.m-home-notice__link:focus-visible {
  opacity: var(--opacity__hover);
}

.m-home-news {
  background-color: var(--color__white);
  padding-block: calc(128 * 1rem / var(--font-size));
}

.m-home-news__inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.m-home-news__header {
  inline-size: 100%;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: calc(24 * 1rem / var(--font-size));
}

.m-home-news__en {
  white-space: nowrap;
}

.m-home-news__accent {
  margin-block-start: calc(16 * 1rem / var(--font-size));
  inline-size: calc(130 * 1rem / var(--font-size));
}

.m-home-news__ja {
  padding-block-start: calc(16 * 1rem / var(--font-size));
  white-space: nowrap;
}

.m-home-news__view-all {
  display: inline-flex;
  align-items: center;
  gap: calc(6 * 1rem / var(--font-size));
  padding-block-end: calc(4 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 600;
  line-height: 1.57;
  color: var(--color__primary);
  transition: opacity var(--duration);
}
.m-home-news__view-all:focus-visible {
  opacity: var(--opacity__hover);
}

.m-home-news__view-all-arrow {
  inline-size: calc(15 * 1rem / var(--font-size));
  block-size: calc(15 * 1rem / var(--font-size));
}
.m-home-news__view-all-arrow svg {
  inline-size: 100%;
  block-size: 100%;
  display: block;
}

.m-home-news__tabs {
  inline-size: 100%;
  margin-block-start: calc(56 * 1rem / var(--font-size));
  display: flex;
  gap: calc(14 * 1rem / var(--font-size));
  padding-block-end: calc(32 * 1rem / var(--font-size));
  border-block-end: 1px solid var(--color__line);
}

.m-home-news__tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-block: calc(11 * 1rem / var(--font-size));
  padding-inline: calc(25 * 1rem / var(--font-size));
  background: transparent;
  border: 1px solid var(--color__line);
  border-radius: 9999px;
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(15 * 1rem / var(--font-size));
  font-weight: 500;
  line-height: 1.2;
  color: var(--color__text);
  text-align: center;
  cursor: pointer;
  transition: color var(--duration), background-color var(--duration), border-color var(--duration);
  white-space: nowrap;
  flex-shrink: 0;
}
.m-home-news__tab:focus-visible {
  color: var(--color__primary);
  border-color: var(--color__primary);
}
.m-home-news__tab.is-active, .m-home-news__tab[aria-selected=true] {
  background-color: var(--color__cta);
  border-color: var(--color__cta);
  color: var(--color__white);
  font-weight: 700;
}

.m-home-news__panel {
  inline-size: 100%;
}

.m-home-news__panel[hidden] {
  display: none;
}

.m-home-news__list {
  inline-size: 100%;
  display: flex;
  flex-direction: column;
  list-style: none;
}

.m-home-news__empty {
  inline-size: 100%;
  padding-block: calc(64 * 1rem / var(--font-size));
  text-align: center;
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  color: var(--color__text);
}

.m-home-news__item {
  border-block-end: 1px solid var(--color__line);
}

.m-home-news__item--last {
  border-block-end: 0;
}

.m-home-news__link {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: calc(48 * 1rem / var(--font-size));
  padding-block: calc(40 * 1rem / var(--font-size));
  transition: opacity var(--duration);
}
.m-home-news__link:focus-visible {
  opacity: var(--opacity__hover);
}

.m-home-news__date {
  flex-shrink: 0;
  inline-size: calc(112 * 1rem / var(--font-size));
  padding-block-start: calc(2.5 * 1rem / var(--font-size));
  font-family: var(--font-family__inter);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.43;
  color: var(--color__tertiary);
}

.m-home-news__body {
  flex: 1 0 0;
  min-inline-size: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.m-home-news__cats {
  display: inline-flex;
  flex-wrap: wrap;
  gap: calc(6 * 1rem / var(--font-size));
}

.m-home-news__cat {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-block: calc(5 * 1rem / var(--font-size));
  padding-inline: calc(12 * 1rem / var(--font-size));
  border-radius: 9999px;
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(11 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1;
  letter-spacing: calc(1 * 1rem / var(--font-size));
}

.m-home-news__cat--product {
  background-color: #f2f6fd;
  border: 1px solid #c2cee6;
  color: #2c4a86;
}

.m-home-news__cat--info {
  background-color: #faf2ea;
  border: 1px solid #e7d0bd;
  color: var(--color__accent);
}

.m-home-news__title {
  padding-block-start: calc(14 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(18 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.22;
  color: var(--color__primary);
}

.m-home-news__title-link {
  color: inherit;
}
.m-home-news__title-link::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
}

.m-home-news__excerpt a {
  position: relative;
  z-index: 1;
}

.m-home-news__excerpt {
  padding-block-start: calc(8 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.57;
  color: var(--color__text);
}
.m-home-news__excerpt p {
  margin: 0;
}
.m-home-news__excerpt a {
  color: var(--color__cta);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}
.m-home-news__excerpt strong, .m-home-news__excerpt b {
  font-weight: 700;
}
.m-home-news__excerpt em, .m-home-news__excerpt i {
  font-style: italic;
}

.m-home-news__arrow {
  inline-size: calc(22 * 1rem / var(--font-size));
  block-size: calc(22 * 1rem / var(--font-size));
  flex-shrink: 0;
  padding-block-start: calc(4 * 1rem / var(--font-size));
  color: var(--color__primary);
}
.m-home-news__arrow svg {
  inline-size: 100%;
  block-size: 100%;
  display: block;
}

.m-home-mv {
  position: relative;
  overflow: clip;
  inline-size: 100%;
  block-size: min(586 * 1rem / var(--font-size), 586 / 1440 * 100vw);
  background-color: var(--color__black);
  color: var(--color__white);
  isolation: isolate;
}

.m-home-mv__slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.8s ease, visibility 0.8s ease;
}

.m-home-mv__slide.is-active {
  opacity: 1;
  visibility: visible;
}

.m-home-mv__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.m-home-mv__image {
  position: absolute;
  inset: 0;
  display: block;
}
.m-home-mv__image img {
  inline-size: 100%;
  block-size: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  display: block;
}

.m-home-mv__container {
  position: relative;
  z-index: 1;
  block-size: 100%;
  padding-block: calc(66 * 1rem / var(--font-size));
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
}

.m-home-mv__head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.m-home-mv__title {
  font-family: var(--font-family__inter);
  font-weight: 900;
  font-size: min(126 * 1rem / var(--font-size), 126 / 1440 * 100vw);
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
  color: var(--color__white);
}

.m-home-mv__subtitle {
  inline-size: calc(672 * 1rem / var(--font-size));
  max-inline-size: 100%;
  font-family: var(--font-family__noto-sans-jp);
  font-weight: 700;
  font-size: calc(20 * 1rem / var(--font-size));
  line-height: 1.2;
  color: var(--color__white);
}

.m-home-mv__text {
  inline-size: calc(696 * 1rem / var(--font-size));
  max-inline-size: 100%;
  padding-block-start: calc(20 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(16 * 1rem / var(--font-size));
  font-weight: 500;
  line-height: 1.75;
  color: var(--color__white);
}

.m-home-mv__logo {
  padding-block-start: calc(16 * 1rem / var(--font-size));
}
.m-home-mv__logo img {
  inline-size: 100%;
  block-size: calc(24 * 1rem / var(--font-size));
  -o-object-fit: contain;
     object-fit: contain;
  display: block;
}

.m-home-mv__logo--neitz {
  inline-size: calc(114 * 1rem / var(--font-size));
}

.m-home-mv__logo--nishizawa {
  inline-size: calc(124 * 1rem / var(--font-size));
}

.m-home-mv__actions {
  display: flex;
  gap: calc(12 * 1rem / var(--font-size));
  align-items: center;
  block-size: calc(42 * 1rem / var(--font-size));
}

.m-home-mv__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-block: calc(11 * 1rem / var(--font-size));
  padding-inline: calc(17 * 1rem / var(--font-size));
  border-radius: 9999px;
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 600;
  line-height: 1.5714285714;
  text-align: center;
  white-space: nowrap;
  transition: color var(--duration), background-color var(--duration), border-color var(--duration);
}

.m-home-mv__btn--solid {
  background-color: var(--color__black);
  color: var(--color__white);
  border: 1px solid var(--color__white);
}
.m-home-mv__btn--solid:focus-visible {
  background-color: var(--color__white);
  color: var(--color__black);
}

.m-home-heading {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.m-home-heading--center {
  align-items: center;
  text-align: center;
}

.m-home-heading__en {
  font-family: var(--font-family__inter);
  font-size: min(100 * 1rem / var(--font-size), 100 / 1440 * 100vw);
  font-weight: 900;
  line-height: 1.2;
  text-transform: uppercase;
}

.m-home-heading__ja {
  font-family: var(--font-family__inter);
  font-size: calc(32 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.2;
}

.m-home-heading__accent {
  display: block;
  inline-size: calc(304 * 1rem / var(--font-size));
  max-inline-size: 100%;
  block-size: calc(4 * 1rem / var(--font-size));
  background-color: var(--color__accent);
}

.m-home-gallery {
  background-color: var(--color__secondary);
  padding-block: calc(128 * 1rem / var(--font-size));
}

.m-home-gallery__inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.m-home-gallery__header {
  inline-size: 100%;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: calc(24 * 1rem / var(--font-size));
}

.m-home-gallery__en {
  white-space: nowrap;
}

.m-home-gallery__accent {
  margin-block-start: calc(16 * 1rem / var(--font-size));
  inline-size: calc(130 * 1rem / var(--font-size));
}

.m-home-gallery__ja {
  padding-block-start: calc(16 * 1rem / var(--font-size));
  white-space: nowrap;
}

.m-home-gallery__view-all {
  display: inline-flex;
  align-items: center;
  gap: calc(6 * 1rem / var(--font-size));
  padding-block-end: calc(4 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 600;
  line-height: 1.57;
  color: var(--color__primary);
  transition: opacity var(--duration);
}
.m-home-gallery__view-all:focus-visible {
  opacity: var(--opacity__hover);
}

.m-home-gallery__view-all-arrow {
  inline-size: calc(15 * 1rem / var(--font-size));
  block-size: calc(15 * 1rem / var(--font-size));
}
.m-home-gallery__view-all-arrow svg {
  inline-size: 100%;
  block-size: 100%;
  display: block;
}

.m-home-gallery__list {
  inline-size: 100%;
  margin-block-start: calc(56 * 1rem / var(--font-size));
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: calc(12 * 1rem / var(--font-size));
  list-style: none;
}

.m-home-gallery__item {
  aspect-ratio: 1/1;
  overflow: hidden;
  border-radius: calc(6 * 1rem / var(--font-size));
  background-color: var(--color__black);
}

.m-home-gallery__link {
  position: relative;
  display: block;
  inline-size: 100%;
  block-size: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--color__white);
  cursor: pointer;
}
.m-home-gallery__link:focus-visible .m-home-gallery__thumb img {
  transform: scale(1.05);
}

.m-home-gallery__thumb {
  position: absolute;
  inset: 0;
  display: block;
  overflow: hidden;
}
.m-home-gallery__thumb img {
  inline-size: 100%;
  block-size: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  transition: transform var(--duration);
}

.m-home-gallery__play {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  translate: -50% -50%;
  inline-size: calc(68 * 1rem / var(--font-size));
  block-size: calc(48 * 1rem / var(--font-size));
  color: #f03;
}
.m-home-gallery__play svg {
  inline-size: 100%;
  block-size: 100%;
  display: block;
}

.m-home-find {
  background-color: var(--color__secondary);
  padding-block: calc(128 * 1rem / var(--font-size));
}

.m-home-find__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.m-home-find__en {
  text-align: center;
}

.m-home-find__accent {
  margin-block-start: calc(16 * 1rem / var(--font-size));
}

.m-home-find__ja {
  padding-block-start: calc(16 * 1rem / var(--font-size));
  text-align: center;
  inline-size: 100%;
}

.m-home-find__list {
  margin-block-start: calc(56 * 1rem / var(--font-size));
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: calc(16 * 1rem / var(--font-size));
  inline-size: 100%;
  list-style: none;
}

.m-home-find__item {
  display: block;
}

.m-home-find__link {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-block-size: calc(193 * 1rem / var(--font-size));
  padding: calc(41 * 1rem / var(--font-size)) calc(33 * 1rem / var(--font-size));
  background-color: var(--color__white);
  border: 1px solid var(--color__line);
  border-radius: calc(6 * 1rem / var(--font-size));
  color: var(--color__primary);
  transition: background-color var(--duration), color var(--duration), border-color var(--duration);
}
.m-home-find__link:focus-visible {
  background-color: var(--color__primary);
  color: var(--color__white);
  border-color: var(--color__primary);
}

.m-home-find__link-head {
  display: flex;
  flex-direction: column;
  gap: calc(12 * 1rem / var(--font-size));
  inline-size: calc(328.664 * 1rem / var(--font-size));
  max-inline-size: 100%;
}

.m-home-find__link-en {
  font-family: var(--font-family__inter);
  font-weight: 400;
  font-size: calc(12 * 1rem / var(--font-size));
  line-height: calc(16 * 1rem / var(--font-size));
  letter-spacing: calc(0.6 * 1rem / var(--font-size));
  color: var(--color__text);
  text-transform: uppercase;
  white-space: nowrap;
}
.m-home-find__link:hover .m-home-find__link-en {
  color: var(--color__white);
}

.m-home-find__link-ja {
  font-family: var(--font-family__noto-sans-jp);
  font-weight: 700;
  font-size: calc(26 * 1rem / var(--font-size));
  line-height: 1.2;
  color: inherit;
  white-space: nowrap;
}

.m-home-find__link-arrow {
  inline-size: calc(16 * 1rem / var(--font-size));
  block-size: calc(16 * 1rem / var(--font-size));
  color: inherit;
}
.m-home-find__link-arrow svg {
  inline-size: 100%;
  block-size: 100%;
  display: block;
}

.m-home-dealers {
  background-color: var(--color__secondary);
}

.m-home-dealers__head {
  padding-block: calc(128 * 1rem / var(--font-size)) calc(150 * 1rem / var(--font-size));
}

.m-home-dealers__en {
  inline-size: 100%;
  text-align: center;
}

.m-home-dealers__accent {
  margin-block-start: calc(16 * 1rem / var(--font-size));
}

.m-home-dealers__ja {
  padding-block-start: calc(16 * 1rem / var(--font-size));
  text-align: center;
}

.m-home-dealers__inner {
  padding-block-end: calc(128 * 1rem / var(--font-size));
}

.m-home-dealers__list {
  display: flex;
  list-style: none;
  border-radius: calc(6 * 1rem / var(--font-size));
  overflow: clip;
}

.m-home-dealers__item {
  flex: 1 0 0;
  min-inline-size: 0;
  background-color: var(--color__white);
  border-block: 1px solid var(--color__line);
  border-inline-start: 1px solid var(--color__line);
}
.m-home-dealers__item:last-child {
  border-inline-end: 1px solid var(--color__line);
}

.m-home-dealers__item-inner {
  block-size: 100%;
  padding-block: calc(41 * 1rem / var(--font-size));
  padding-inline: calc(41 * 1rem / var(--font-size)) calc(40 * 1rem / var(--font-size));
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: calc(32 * 1rem / var(--font-size));
}

.m-home-dealers__item-head {
  inline-size: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.m-home-dealers__item-en {
  font-family: var(--font-family__inter);
  font-size: calc(12 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: calc(16 * 1rem / var(--font-size));
  letter-spacing: calc(0.6 * 1rem / var(--font-size));
  color: var(--color__tertiary);
  text-transform: uppercase;
}

.m-home-dealers__item-title {
  padding-block-start: calc(16 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(18 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.5;
  color: var(--color__primary);
}

.m-home-dealers__item-desc {
  padding-block-start: calc(16 * 1rem / var(--font-size));
  inline-size: 100%;
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.625;
  color: var(--color__text);
}

.m-home-dealers__item-link {
  display: inline-flex;
  align-items: center;
  gap: calc(6 * 1rem / var(--font-size));
  font-family: var(--font-family__inter);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 500;
  line-height: calc(20 * 1rem / var(--font-size));
  letter-spacing: calc(-0.1504 * 1rem / var(--font-size));
  color: var(--color__primary);
  transition: opacity var(--duration);
}
.m-home-dealers__item-link:focus-visible {
  opacity: var(--opacity__hover);
}

.m-home-dealers__item-arrow {
  inline-size: calc(15 * 1rem / var(--font-size));
  block-size: calc(15 * 1rem / var(--font-size));
}
.m-home-dealers__item-arrow svg {
  inline-size: 100%;
  block-size: 100%;
  display: block;
}

.m-home-company {
  background-color: var(--color__white);
}

.m-home-company__head {
  padding-block: calc(128 * 1rem / var(--font-size)) calc(64 * 1rem / var(--font-size));
}

.m-home-company__en {
  text-align: center;
  white-space: nowrap;
}

.m-home-company__accent {
  margin-block-start: calc(16 * 1rem / var(--font-size));
}

.m-home-company__ja {
  padding-block-start: calc(16 * 1rem / var(--font-size));
  text-align: center;
  inline-size: 100%;
}

.m-home-company__row {
  display: flex;
  align-items: center;
  padding-block: calc(64 * 1rem / var(--font-size));
}

.m-home-company__media {
  inline-size: min(960 * 1rem / var(--font-size), 50%);
  aspect-ratio: 960/654;
  flex-shrink: 1;
  position: relative;
  overflow: hidden;
  background-color: var(--color__white);
}
.m-home-company__media img {
  position: absolute;
  inset: 0;
  inline-size: 100%;
  block-size: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.m-home-company__body {
  flex: 1 0 0;
  min-inline-size: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: calc(64 * 1rem / var(--font-size));
  block-size: 100%;
}

.m-home-company__body-inner {
  inline-size: 100%;
}

.m-home-company__desc {
  inline-size: 100%;
  padding-block-end: calc(48 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(22 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.36;
  color: var(--color__primary);
}

.m-home-company__list {
  list-style: none;
  border-block-start: 1px solid var(--color__line);
}

.m-home-company__list-item {
  border-block-end: 1px solid var(--color__line);
}
.m-home-company__list-item:last-child {
  border-block-end: 0;
}

.m-home-company__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-block: calc(16 * 1rem / var(--font-size)) calc(17 * 1rem / var(--font-size));
  color: var(--color__primary);
  transition: opacity var(--duration);
}
.m-home-company__link:focus-visible {
  opacity: var(--opacity__hover);
}
.m-home-company__list-item:last-child .m-home-company__link {
  padding-block: calc(16 * 1rem / var(--font-size));
}

.m-home-company__link-text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.m-home-company__link-ja {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(18 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.22;
  color: var(--color__primary);
}

.m-home-company__link-en {
  padding-block-start: calc(2 * 1rem / var(--font-size));
  font-family: var(--font-family__inter);
  font-size: calc(16 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.75;
  color: var(--color__text);
}

.m-home-company__link-arrow {
  inline-size: calc(15 * 1rem / var(--font-size));
  block-size: calc(15 * 1rem / var(--font-size));
  flex-shrink: 0;
}
.m-home-company__link-arrow svg {
  inline-size: 100%;
  block-size: 100%;
  display: block;
}

.m-home-careers {
  background-color: var(--color__white);
  display: flex;
  align-items: stretch;
  justify-content: center;
}

.m-home-careers__body {
  flex: 1 1 0;
  min-inline-size: 0;
  max-inline-size: calc(720 * 1rem / var(--font-size));
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  padding-block: calc(80 * 1rem / var(--font-size));
  padding-inline: calc(112 * 1rem / var(--font-size)) calc(64 * 1rem / var(--font-size));
}

.m-home-careers__body-inner {
  inline-size: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.m-home-careers__en {
  inline-size: 100%;
}

.m-home-careers__accent {
  margin-block-start: calc(16 * 1rem / var(--font-size));
  inline-size: calc(130 * 1rem / var(--font-size));
}

.m-home-careers__ja {
  inline-size: calc(592 * 1rem / var(--font-size));
  max-inline-size: 100%;
  padding-block-start: calc(20 * 1rem / var(--font-size));
}

.m-home-careers__desc {
  inline-size: 100%;
  padding-block-start: calc(32 * 1rem / var(--font-size));
  padding-block-end: calc(48 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(16 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.75;
  color: var(--color__text);
}

.m-home-careers__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-block: calc(16 * 1rem / var(--font-size));
  padding-inline: calc(35 * 1rem / var(--font-size));
  background-color: var(--color__cta);
  border-radius: 9999px;
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 600;
  line-height: 1.57;
  color: var(--color__white);
  text-align: center;
  white-space: nowrap;
  transition: opacity var(--duration);
}
.m-home-careers__btn:focus-visible {
  opacity: var(--opacity__hover);
}

.m-home-careers__media {
  flex: 1 1 0;
  min-inline-size: 0;
  max-inline-size: calc(720 * 1rem / var(--font-size));
  border-inline-start: 1px solid var(--color__line);
  padding-block: calc(64 * 1rem / var(--font-size));
  padding-inline: calc(65 * 1rem / var(--font-size)) calc(64 * 1rem / var(--font-size));
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
.m-home-careers__media > picture {
  inline-size: 100%;
  block-size: calc(567 * 1rem / var(--font-size));
  overflow: hidden;
  border-radius: calc(6 * 1rem / var(--font-size));
  display: block;
  position: relative;
}
.m-home-careers__media img {
  position: absolute;
  inset: 0;
  inline-size: 100%;
  block-size: 100%;
  max-inline-size: none;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.m-home-brands {
  background-color: #fafafa;
  border-block-start: 1px solid var(--color__line);
  padding-block: calc(128 * 1rem / var(--font-size));
}

.m-home-brands__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.m-home-brands__card {
  inline-size: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.m-home-brands__logo--main {
  inline-size: calc(166 * 1rem / var(--font-size));
  block-size: calc(32 * 1rem / var(--font-size));
}
.m-home-brands__logo--main img {
  inline-size: 100%;
  block-size: 100%;
  display: block;
}

.m-home-brands__name {
  inline-size: calc(512 * 1rem / var(--font-size));
  max-inline-size: 100%;
  padding-block-start: calc(20 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.4285714286;
  letter-spacing: calc(-0.1504 * 1rem / var(--font-size));
  color: var(--color__text);
  text-align: center;
}

.m-home-brands__address {
  inline-size: calc(512 * 1rem / var(--font-size));
  max-inline-size: 100%;
  padding-block-start: calc(16 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.4285714286;
  letter-spacing: calc(-0.1504 * 1rem / var(--font-size));
  color: var(--color__text);
  text-align: center;
}

.m-home-brands__actions {
  inline-size: calc(512 * 1rem / var(--font-size));
  max-inline-size: 100%;
  padding-block-start: calc(16 * 1rem / var(--font-size));
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(16 * 1rem / var(--font-size));
}

.m-home-brands__tel {
  display: flex;
  align-items: center;
  gap: calc(10 * 1rem / var(--font-size));
}

.m-home-brands__tel-icon {
  inline-size: calc(15 * 1rem / var(--font-size));
  block-size: calc(15 * 1rem / var(--font-size));
  color: #9f9fa9;
  flex-shrink: 0;
}
.m-home-brands__tel-icon svg {
  inline-size: 100%;
  block-size: 100%;
  display: block;
}

.m-home-brands__tel-text {
  inline-size: calc(134.305 * 1rem / var(--font-size));
  max-inline-size: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: start;
}

.m-home-brands__tel-label {
  font-family: var(--font-family__inter);
  font-size: calc(12 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: calc(16 * 1rem / var(--font-size));
  color: #9f9fa9;
}

.m-home-brands__tel-num {
  font-family: var(--font-family__inter);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: calc(20 * 1rem / var(--font-size));
  letter-spacing: calc(-0.1504 * 1rem / var(--font-size));
  color: #3f3f47;
}

.m-home-brands__divider {
  inline-size: 1px;
  block-size: calc(36 * 1rem / var(--font-size));
  background-color: var(--color__line);
}

.m-home-brands__btn {
  display: inline-flex;
  align-items: center;
  gap: calc(8 * 1rem / var(--font-size));
  padding-block: calc(11 * 1rem / var(--font-size));
  padding-inline: calc(25 * 1rem / var(--font-size));
  border: 1px solid var(--color__primary);
  border-radius: 9999px;
  font-family: var(--font-family__inter);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 500;
  line-height: calc(20 * 1rem / var(--font-size));
  letter-spacing: calc(-0.1504 * 1rem / var(--font-size));
  color: var(--color__primary);
  text-align: center;
  white-space: nowrap;
  transition: background-color var(--duration), color var(--duration);
}
.m-home-brands__btn:focus-visible {
  background-color: var(--color__primary);
  color: var(--color__white);
}

.m-home-brands__btn-icon {
  inline-size: calc(14 * 1rem / var(--font-size));
  block-size: calc(14 * 1rem / var(--font-size));
  flex-shrink: 0;
}
.m-home-brands__btn-icon svg {
  inline-size: 100%;
  block-size: 100%;
  display: block;
}

.m-home-brands__related {
  padding-block-start: calc(32 * 1rem / var(--font-size));
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(48 * 1rem / var(--font-size));
  flex-wrap: wrap;
}

.m-home-brands__related-logo {
  padding-block-start: calc(16 * 1rem / var(--font-size));
}
.m-home-brands__related-logo img {
  inline-size: auto;
  block-size: calc(32 * 1rem / var(--font-size));
  display: block;
}

.m-history-timeline {
  padding-block: var(--space__page-block);
}

.m-history-timeline__inner {
  display: flex;
  flex-direction: column;
}

.m-history-timeline__heading {
  display: flex;
  flex-direction: column;
  padding-block-end: calc(40 * 1rem / var(--font-size));
}

.m-history-timeline__en {
  font-family: var(--font-family__inter);
  font-size: min(60 * 1rem / var(--font-size), 60 / 1440 * 100vw);
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0;
  color: var(--color__tertiary);
}

.m-history-timeline__ja {
  display: flex;
  align-items: center;
  gap: calc(10 * 1rem / var(--font-size));
  padding-block-start: calc(20 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(26 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1;
  color: var(--color__primary);
}

.m-history-timeline__ja-marker {
  display: inline-block;
  inline-size: calc(3 * 1rem / var(--font-size));
  block-size: calc(26 * 1rem / var(--font-size));
  background-color: var(--color__accent);
}

.m-history-timeline__lead {
  padding-block-start: calc(20 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(16 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.75;
  color: var(--color__text);
}

.m-history-timeline__periods {
  display: flex;
  padding-block-start: calc(20 * 1rem / var(--font-size));
}

.m-history-timeline__period {
  padding: calc(10 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.4285714286;
  color: var(--color__tertiary);
  background-color: transparent;
  border: 1px solid var(--color__tertiary);
  cursor: pointer;
  transition: background-color var(--duration), color var(--duration);
}
.m-history-timeline__period:focus-visible {
  background-color: var(--color__primary);
}

.m-history-timeline__period--en {
  font-family: var(--font-family__inter);
}

.m-history-timeline__period[aria-selected=true] {
  background-color: var(--color__primary);
}

.m-history-timeline__list {
  position: relative;
  display: flex;
  flex-direction: column;
  padding-block-end: calc(64 * 1rem / var(--font-size));
}

.m-history-timeline__list[hidden] {
  display: none;
}

.m-history-timeline__list::before {
  content: "";
  position: absolute;
  inset-block-start: 0;
  inset-block-end: 0;
  inset-inline-start: 50%;
  transform: translateX(-50%);
  inline-size: 2px;
  background-color: #d5d8dd;
}

.m-history-timeline__entry {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding-block-end: calc(92 * 1rem / var(--font-size));
}

.m-history-timeline__entry:last-child {
  padding-block-end: 0;
}

.m-history-timeline__entry::before {
  content: "";
  position: absolute;
  inset-inline-start: 50%;
  inset-block-start: 0;
  transform: translateX(-50%);
  inline-size: calc(14 * 1rem / var(--font-size));
  block-size: calc(14 * 1rem / var(--font-size));
  border-radius: calc(3 * 1rem / var(--font-size));
  background-color: #2c3a4a;
  z-index: 1;
}

.m-history-timeline__col {
  min-inline-size: 0;
}

.m-history-timeline__col--left {
  padding-inline-end: calc(64 * 1rem / var(--font-size));
}

.m-history-timeline__col--right {
  padding-inline-start: calc(64 * 1rem / var(--font-size));
}
.m-history-timeline__text {
  display: flex;
  flex-direction: column;
}

.m-history-timeline__year {
  font-family: var(--font-family__inter);
  font-size: min(60 * 1rem / var(--font-size), 60 / 1440 * 100vw);
  font-weight: 900;
  line-height: 1;
  color: var(--color__primary);
}

.m-history-timeline__month {
  padding-block-start: calc(16 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(18 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.2222222222;
  color: var(--color__primary);
}

.m-history-timeline__desc {
  padding-block-start: calc(12 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(16 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.75;
  color: var(--color__text);
}

.m-history-timeline__images {
  display: flex;
}

.m-history-timeline__image {
  flex: 1;
  overflow: hidden;
  border-radius: calc(6 * 1rem / var(--font-size));
  aspect-ratio: 536/209;
}

.m-history-timeline__image--half {
  aspect-ratio: 268/209;
}

.m-history-timeline__image--half-first {
  border-start-end-radius: 0;
  border-end-end-radius: 0;
}

.m-history-timeline__image--half-last {
  border-start-start-radius: 0;
  border-end-start-radius: 0;
}

.m-history-timeline__images--quad {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(2, 1fr);
  aspect-ratio: 536/209;
}

.m-history-timeline__image--quad {
  aspect-ratio: auto;
  border-radius: 0;
}

.m-history-timeline__image--quad-1 {
  grid-area: 1/1/2/3;
  border-start-start-radius: calc(6 * 1rem / var(--font-size));
}

.m-history-timeline__image--quad-2 {
  grid-area: 2/1/3/2;
  border-end-start-radius: calc(6 * 1rem / var(--font-size));
}

.m-history-timeline__image--quad-3 {
  grid-area: 2/2/3/3;
}

.m-history-timeline__image--quad-4 {
  grid-area: 1/3/3/5;
  border-start-end-radius: calc(6 * 1rem / var(--font-size));
  border-end-end-radius: calc(6 * 1rem / var(--font-size));
}

.m-history-timeline__image img {
  inline-size: 100%;
  block-size: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.m-history-timeline__image--quad img {
  block-size: 100%;
}

.m-hioki-guide {
  background-color: var(--color__white);
}

.m-hioki-guide__main {
  display: flex;
  flex-direction: column;
}

.m-hioki-guide-table {
  background-color: var(--color__secondary);
  padding-block: var(--space__page-block);
}

.m-hioki-guide-table--joined {
  padding-block-end: 0;
}

.m-hioki-guide-table__inner {
  display: flex;
  flex-direction: column;
}

.m-hioki-guide-table__wrap {
  padding-block-start: calc(40 * 1rem / var(--font-size));
  overflow-x: auto;
}

.m-hioki-guide-table__table {
  inline-size: 100%;
  min-inline-size: calc(600 * 1rem / var(--font-size));
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  background-color: var(--color__white);
  border: calc(1 * 1rem / var(--font-size)) solid var(--color__line);
  border-radius: calc(6 * 1rem / var(--font-size));
  overflow: hidden;
  font-family: var(--font-family__noto-sans-jp);
}

.m-hioki-guide-table__table thead th {
  background-color: var(--color__primary);
  color: var(--color__white);
  font-size: calc(18 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.2222222222;
  text-transform: uppercase;
  padding: calc(13 * 1rem / var(--font-size)) calc(28 * 1rem / var(--font-size));
  text-align: center;
  border-inline-end: calc(1 * 1rem / var(--font-size)) solid rgba(255, 255, 255, 0.15);
  vertical-align: middle;
}

.m-hioki-guide-table__table thead th:nth-child(1) {
  inline-size: 22.6%;
}

.m-hioki-guide-table__table thead th:nth-child(2) {
  inline-size: 27.8%;
}

.m-hioki-guide-table__table thead th:last-child {
  border-inline-end: 0;
}

.m-hioki-guide-table__table tbody th,
.m-hioki-guide-table__table tbody td {
  background-color: var(--color__white);
  font-size: calc(16 * 1rem / var(--font-size));
  line-height: 1.75;
  border-block-start: calc(1 * 1rem / var(--font-size)) solid var(--color__line);
  border-inline-end: calc(1 * 1rem / var(--font-size)) solid var(--color__line);
  text-align: center;
  vertical-align: middle;
}

.m-hioki-guide-table__table tbody th {
  padding: calc(20 * 1rem / var(--font-size)) calc(28 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.375;
  color: var(--color__primary);
}

.m-hioki-guide-table__table tbody td {
  padding: calc(21 * 1rem / var(--font-size)) calc(28 * 1rem / var(--font-size));
  font-weight: 400;
  color: var(--color__text);
}

.m-hioki-guide-table__table tbody td:last-child,
.m-hioki-guide-table__table tbody th:last-child {
  border-inline-end: 0;
}

.m-hioki-guide-table__table tbody .m-hioki-guide-table__cell--group {
  display: none;
}

.m-hioki-guide-table__table tbody .m-hioki-guide-table__cell--rowspan {
  display: table-cell;
  vertical-align: top;
  padding-block: calc(14 * 1rem / var(--font-size)) calc(20 * 1rem / var(--font-size));
}

.m-hioki-guide-table__note {
  padding-block-start: calc(20 * 1rem / var(--font-size));
  font-family: var(--font-family__inter);
  font-size: calc(12 * 1rem / var(--font-size));
  font-weight: 500;
  line-height: 1.5;
  color: var(--color__text);
  text-align: right;
}

.m-hioki-guide-support {
  background-color: var(--color__white);
  padding-block: var(--space__page-block);
}

.m-hioki-guide-support__inner {
  display: flex;
  flex-direction: column;
}

.m-hioki-guide-support__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: calc(24 * 1rem / var(--font-size));
  padding-block-start: calc(40 * 1rem / var(--font-size));
}

.m-hioki-guide-support__card {
  background-color: var(--color__gray-pale-4);
  border: calc(1 * 1rem / var(--font-size)) solid var(--color__line);
  border-radius: calc(6 * 1rem / var(--font-size));
  padding: calc(32 * 1rem / var(--font-size));
  min-block-size: calc(231 * 1rem / var(--font-size));
  display: flex;
  flex-direction: column;
  row-gap: calc(16 * 1rem / var(--font-size));
}

.m-hioki-guide-support__card-icon {
  color: var(--color__cta);
  inline-size: calc(28 * 1rem / var(--font-size));
  block-size: calc(28 * 1rem / var(--font-size));
  display: flex;
  align-items: center;
  justify-content: center;
}
.m-hioki-guide-support__card-icon svg {
  display: block;
}

.m-hioki-guide-support__card-title {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(18 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.2222222222;
  color: var(--color__primary);
}

.m-hioki-guide-support__card-text {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.5714285714;
  color: var(--color__text);
}

.m-hioki-guide-support__contact-wrap {
  padding-block-start: calc(40 * 1rem / var(--font-size));
}

.m-hioki-guide-support__contact {
  border-radius: calc(6 * 1rem / var(--font-size));
  overflow: hidden;
  border: calc(1 * 1rem / var(--font-size)) solid var(--color__line);
}

.m-hioki-guide-support__contact-head {
  background-color: var(--color__primary);
  padding: calc(16 * 1rem / var(--font-size)) calc(28 * 1rem / var(--font-size));
}

.m-hioki-guide-support__contact-title {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(18 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.2222222222;
  color: var(--color__white);
}

.m-hioki-guide-support__contact-body {
  background-color: var(--color__white);
  padding: calc(24 * 1rem / var(--font-size)) calc(28 * 1rem / var(--font-size));
  display: flex;
  align-items: center;
  gap: calc(48 * 1rem / var(--font-size));
  flex-wrap: wrap;
}

.m-hioki-guide-support__contact-address {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.5714285714;
  color: var(--color__text);
}

.m-hioki-guide-support__contact-lines {
  display: flex;
  align-items: center;
  gap: calc(24 * 1rem / var(--font-size));
}

.m-hioki-guide-support__contact-line {
  display: flex;
  align-items: center;
  gap: calc(8 * 1rem / var(--font-size));
}

.m-hioki-guide-support__contact-label {
  font-family: var(--font-family__inter);
  font-size: calc(11 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.5;
  color: var(--color__white);
  background-color: var(--color__primary);
  padding: calc(2 * 1rem / var(--font-size)) calc(8 * 1rem / var(--font-size));
  border-radius: calc(4 * 1rem / var(--font-size));
}

.m-hioki-guide-support__contact-line--fax .m-hioki-guide-support__contact-label {
  background-color: var(--color__text);
}

.m-hioki-guide-support__contact-value {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.5714285714;
  color: var(--color__primary);
}

.m-hioki-guide-support__contact-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: calc(11 * 1rem / var(--font-size)) calc(25 * 1rem / var(--font-size));
  background-color: transparent;
  border: calc(1 * 1rem / var(--font-size)) solid var(--color__black);
  color: var(--color__black);
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 500;
  line-height: 1.4285714286;
  text-align: center;
  text-decoration: none;
  border-radius: calc(999 * 1rem / var(--font-size));
  transition: opacity var(--duration);
}
.m-hioki-guide-support__contact-button:focus-visible {
  opacity: var(--opacity__hover);
}

.m-hioki-guide-support__contact-note {
  background-color: var(--color__gray-pale-4);
  border-block-start: calc(1 * 1rem / var(--font-size)) solid var(--color__line);
  padding: calc(16 * 1rem / var(--font-size)) calc(28 * 1rem / var(--font-size));
}

.m-hioki-guide-support__contact-note-text {
  font-family: var(--font-family__inter);
  font-size: calc(12 * 1rem / var(--font-size));
  font-weight: 500;
  line-height: 1.5;
  color: var(--color__text);
}

.m-hioki-guide-overview {
  background-color: var(--color__white);
  padding-block: var(--space__page-block);
}

.m-hioki-guide-overview__inner {
  display: flex;
  flex-direction: column;
}

.m-hioki-guide-overview__lead {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(16 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.75;
  color: var(--color__text);
  padding-block-start: calc(40 * 1rem / var(--font-size));
}

.m-hioki-guide-overview__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: calc(16 * 1rem / var(--font-size));
  padding-block-start: calc(40 * 1rem / var(--font-size));
}

.m-hioki-guide-overview__card {
  border-radius: calc(6 * 1rem / var(--font-size));
  overflow: hidden;
  background-color: var(--color__white);
  display: flex;
  flex-direction: column;
}

.m-hioki-guide-overview__card-head {
  border: calc(1 * 1rem / var(--font-size)) solid transparent;
  border-block-end: 0;
  background-color: var(--color__primary);
  padding: calc(16 * 1rem / var(--font-size)) calc(28 * 1rem / var(--font-size));
}

.m-hioki-guide-overview__card-title {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 600;
  line-height: 1.5714285714;
  color: var(--color__white);
}

.m-hioki-guide-overview__card-body {
  border: calc(1 * 1rem / var(--font-size)) solid var(--color__line);
  border-block-start: 0;
  border-end-start-radius: calc(6 * 1rem / var(--font-size));
  border-end-end-radius: calc(6 * 1rem / var(--font-size));
  padding: calc(20 * 1rem / var(--font-size)) calc(28 * 1rem / var(--font-size));
  flex-grow: 1;
}

.m-hioki-guide-overview__card-text {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.5714285714;
  color: var(--color__text);
}

.m-hioki-guide-heading {
  display: flex;
  flex-direction: column;
}

.m-hioki-guide-heading__en {
  font-family: var(--font-family__inter);
  font-weight: 800;
  font-size: min(60 * 1rem / var(--font-size), 60 / 1440 * 100vw);
  line-height: normal;
  color: var(--color__tertiary);
  text-transform: uppercase;
}

.m-hioki-guide-heading__label {
  display: flex;
  align-items: flex-start;
  gap: calc(10 * 1rem / var(--font-size));
}

.m-hioki-guide-heading__en + .m-hioki-guide-heading__label {
  padding-block-start: calc(20 * 1rem / var(--font-size));
}

.m-hioki-guide-heading__marker {
  display: block;
  inline-size: calc(3 * 1rem / var(--font-size));
  block-size: calc(35 * 1rem / var(--font-size));
  background-color: var(--color__accent);
  flex-shrink: 0;
}

.m-hioki-guide-heading__ja {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(26 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.3461538462;
  color: var(--color__primary);
}

.m-hioki-guide-discontinued {
  background-color: var(--color__secondary);
  padding-block: calc(96 * 1rem / var(--font-size));
}

.m-hioki-guide-discontinued__inner {
  display: flex;
  flex-direction: column;
}

.m-hioki-guide-discontinued__body {
  padding-block-start: calc(40 * 1rem / var(--font-size));
}

.m-hioki-guide-discontinued__lead {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(16 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.75;
  color: var(--color__text);
}

.m-hioki-guide-discontinued__list {
  display: flex;
  flex-direction: column;
  row-gap: calc(12 * 1rem / var(--font-size));
  padding-block-start: calc(24 * 1rem / var(--font-size));
  list-style: none;
}

.m-hioki-guide-discontinued__item {
  display: flex;
  align-items: center;
  gap: calc(12 * 1rem / var(--font-size));
}

.m-hioki-guide-discontinued__bullet {
  display: block;
  inline-size: calc(6 * 1rem / var(--font-size));
  block-size: calc(6 * 1rem / var(--font-size));
  border-radius: 50%;
  background-color: var(--color__accent);
  flex-shrink: 0;
}

.m-hioki-guide-discontinued__text {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(16 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.75;
  color: var(--color__text);
}

.m-header {
  --_z-index--header-items: 100;
  --_z-index--header-drawer: 99;
  position: fixed;
  z-index: var(--_z-index--header-items);
  top: var(--wp-admin--admin-bar--height, 0);
  width: 100%;
  background-color: var(--color__white);
  border-block-end: 1px solid var(--color__line);
}

.m-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-block-size: calc(82 * 1rem / var(--font-size));
}

.m-header__primary {
  display: flex;
  align-items: center;
  -moz-column-gap: calc(48 * 1rem / var(--font-size));
       column-gap: calc(48 * 1rem / var(--font-size));
}

.m-header__logo {
  display: flex;
  align-items: center;
}

.m-header__logo-link {
  display: inline-flex;
}

.m-header__logo-image {
  display: block;
  block-size: calc(32 * 1rem / var(--font-size));
  inline-size: auto;
  -o-object-fit: contain;
     object-fit: contain;
}

.m-header__menu {
  display: flex;
  align-items: center;
}

.m-header__links {
  display: flex;
  align-items: center;
  -moz-column-gap: calc(28 * 1rem / var(--font-size));
       column-gap: calc(28 * 1rem / var(--font-size));
}

.m-header__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-block: calc(31 * 1rem / var(--font-size));
  color: var(--color__primary);
  font-family: var(--font-family__inter);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.4285714286;
  letter-spacing: -0.0107em;
  white-space: nowrap;
}

.m-header__item--has-submenu {
  position: relative;
}

.m-header__link--has-submenu {
  gap: calc(6 * 1rem / var(--font-size));
  cursor: pointer;
}

.m-header__submenu-caret {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: calc(10 * 1rem / var(--font-size));
  block-size: calc(6 * 1rem / var(--font-size));
  transition: transform var(--duration);
}
.m-header__submenu-caret svg {
  inline-size: 100%;
  block-size: 100%;
  display: block;
}

.m-header__submenu {
  position: absolute;
  inset-block-start: 100%;
  inset-inline-start: 50%;
  translate: -50% 0;
  min-inline-size: calc(100 * 1rem / var(--font-size));
  padding-block: calc(8 * 1rem / var(--font-size));
  background-color: var(--color__white);
  border: 1px solid var(--color__line);
  border-radius: calc(6 * 1rem / var(--font-size));
  box-shadow: 0 calc(4 * 1rem / var(--font-size)) calc(16 * 1rem / var(--font-size)) rgba(0, 0, 0, 0.08);
  list-style: none;
  visibility: hidden;
  opacity: 0;
  transform: translateY(calc(-4 * 1rem / var(--font-size)));
  transition: opacity var(--duration), visibility var(--duration), transform var(--duration);
  z-index: var(--_z-index--header-items);
}

.m-header__item--has-submenu:hover .m-header__submenu,
.m-header__item--has-submenu:focus-within .m-header__submenu {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}

.m-header__item--has-submenu:hover .m-header__submenu-caret,
.m-header__item--has-submenu:focus-within .m-header__submenu-caret {
  transform: rotate(180deg);
}

.m-header__submenu-link {
  display: block;
  padding-block: calc(10 * 1rem / var(--font-size));
  padding-inline: calc(20 * 1rem / var(--font-size));
  color: var(--color__primary);
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 500;
  line-height: 1.5;
  white-space: nowrap;
  transition: background-color var(--duration), color var(--duration);
}
.m-header__submenu-link:focus-visible {
  background-color: var(--color__secondary);
  color: var(--color__cta);
}

.m-header__contact {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--color__white);
  background-color: var(--color__cta);
  border-radius: calc(1000 * 1rem / var(--font-size));
  padding-block: calc(11 * 1rem / var(--font-size));
  padding-inline: calc(17 * 1rem / var(--font-size));
  font-family: var(--font-family__inter);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 500;
  line-height: 1.4285714286;
  letter-spacing: -0.0107em;
  white-space: nowrap;
}

.m-hamburger {
  --_width--hamburger: 50;
  --_height--hamburger: 40;
  --_color--hamburger-line: blue;
  --_spacing--hamburger-line: 7;
  --_width--hamburger-line: 20;
  --_height--hamburger-line: 2;
  --_duration: var(--duration);
  position: relative;
  width: calc(var(--_width--hamburger) * 1rem / var(--font-size));
  height: calc(var(--_height--hamburger) * 1rem / var(--font-size));
}

.m-hamburger__line {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  display: block;
  transition: top var(--_duration), rotate var(--_duration), opacity var(--_duration);
  width: calc(var(--_width--hamburger-line) * 1rem / var(--font-size));
  height: calc(var(--_height--hamburger-line) * 1rem / var(--font-size));
  background-color: var(--_color--hamburger-line, currentColor);
}

.m-hamburger__line:nth-of-type(1) {
  top: calc(50% - var(--_spacing--hamburger-line) * 1rem / var(--font-size));
}

.m-hamburger__line:nth-of-type(3) {
  top: calc(50% + var(--_spacing--hamburger-line) * 1rem / var(--font-size));
}

.m-hamburger[aria-expanded=true] .m-hamburger__line:nth-of-type(1) {
  top: 50%;
  rotate: 45deg;
}

.m-hamburger[aria-expanded=true] .m-hamburger__line:nth-of-type(2) {
  opacity: 0;
}

.m-hamburger[aria-expanded=true] .m-hamburger__line:nth-of-type(3) {
  top: 50%;
  rotate: -45deg;
}

.m-gallery {
  display: flex;
  flex-direction: column;
}

.m-gallery__section {
  background-color: var(--color__white);
  padding-block: calc(128 * 1rem / var(--font-size));
}

.m-gallery__section--muted {
  background-color: var(--color__secondary);
  border-block: calc(1 * 1rem / var(--font-size)) solid var(--color__line);
}

.m-gallery__inner {
  inline-size: 100%;
  max-inline-size: calc(1440 * 1rem / var(--font-size));
  margin-inline: auto;
  padding-inline: calc(64 * 1rem / var(--font-size));
}

.m-gallery__header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  inline-size: 100%;
}

.m-gallery__en {
  inline-size: 100%;
  font-family: var(--font-family__inter);
  font-weight: 800;
  font-size: min(60 * 1rem / var(--font-size), 60 / 1440 * 100vw);
  line-height: 1;
  color: var(--color__tertiary);
  word-break: break-word;
}

.m-gallery__ja {
  display: flex;
  align-items: center;
  gap: calc(10 * 1rem / var(--font-size));
  padding-block-start: calc(20 * 1rem / var(--font-size));
  inline-size: 100%;
  font-family: var(--font-family__noto-sans-jp);
  font-weight: 700;
  font-size: calc(26 * 1rem / var(--font-size));
  line-height: 1;
  color: var(--color__primary);
}

.m-gallery__marker {
  flex-shrink: 0;
  inline-size: calc(3 * 1rem / var(--font-size));
  block-size: calc(35 * 1rem / var(--font-size));
  background-color: var(--color__accent);
}

.m-gallery__body {
  display: flex;
  flex-direction: column;
  gap: calc(20 * 1rem / var(--font-size));
  padding-block-start: calc(40 * 1rem / var(--font-size));
}

.m-gallery-slider {
  display: flex;
  flex-direction: column;
  inline-size: 100%;
}

.m-gallery-slider.swiper {
  position: relative;
  overflow: hidden;
  z-index: 1;
}

.m-gallery-slider__track.swiper-wrapper {
  display: flex;
  position: relative;
  inline-size: 100%;
  block-size: 100%;
  z-index: 1;
  transition-property: transform;
  box-sizing: content-box;
}
.m-gallery-slider__track.swiper-wrapper > .swiper-slide {
  flex-shrink: 0;
  inline-size: 100%;
  block-size: auto;
  position: relative;
  transition-property: transform;
  display: flex;
  flex-direction: column;
}

.m-gallery-slider__controls {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: calc(24 * 1rem / var(--font-size));
  padding-block-start: calc(40 * 1rem / var(--font-size));
  position: relative;
}

.m-gallery-slider__pagination-window {
  position: absolute;
  inset-inline-start: 50%;
  translate: -50% 0;
  max-inline-size: calc(92 * 1rem / var(--font-size));
  overflow: hidden;
}

.m-gallery-slider__pagination {
  display: flex;
  align-items: center;
  gap: calc(6 * 1rem / var(--font-size));
  list-style: none;
  transition: translate var(--duration);
}

.m-gallery-slider__dot {
  display: block;
  flex-shrink: 0;
  inline-size: calc(6 * 1rem / var(--font-size));
  block-size: calc(6 * 1rem / var(--font-size));
  padding: 0;
  border: none;
  border-radius: calc(999 * 1rem / var(--font-size));
  background-color: #d8d8d8;
  cursor: pointer;
  transition: background-color var(--duration), inline-size var(--duration);
}
.m-gallery-slider__dot.is-active {
  inline-size: calc(20 * 1rem / var(--font-size));
  background-color: var(--color__cta);
}
.m-gallery-slider__dot:focus-visible {
  background-color: var(--color__cta);
}

.m-gallery-slider__nav {
  display: flex;
  align-items: center;
  gap: calc(8 * 1rem / var(--font-size));
  margin-inline-start: auto;
}

.m-gallery-slider__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: calc(40 * 1rem / var(--font-size));
  block-size: calc(40 * 1rem / var(--font-size));
  padding: 0;
  border: calc(1 * 1rem / var(--font-size)) solid var(--color__primary);
  border-radius: calc(6 * 1rem / var(--font-size));
  background-color: transparent;
  color: var(--color__primary);
  cursor: pointer;
  transition: border-color var(--duration), color var(--duration), background-color var(--duration);
}
.m-gallery-slider__arrow svg {
  inline-size: calc(16 * 1rem / var(--font-size));
  block-size: calc(16 * 1rem / var(--font-size));
  display: block;
}
.m-gallery-slider__arrow:focus-visible {
  background-color: var(--color__primary);
  color: var(--color__white);
}

.m-gallery-slider__arrow.swiper-button-disabled {
  border-color: var(--color__line);
  color: var(--color__line);
  cursor: default;
}

.m-gallery-featured {
  position: relative;
  display: block;
  inline-size: 100%;
  block-size: calc(500 * 1rem / var(--font-size));
  overflow: hidden;
  color: var(--color__white);
}

.m-gallery-featured__image {
  position: absolute;
  inset: 0;
}
.m-gallery-featured__image img {
  inline-size: 100%;
  block-size: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.m-gallery-featured__image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(13, 26, 38, 0.95) 0%, rgba(13, 26, 38, 0.4) 14.64%, rgba(13, 26, 38, 0) 25.62%);
  pointer-events: none;
}

.m-gallery-featured__caption {
  position: absolute;
  inset-block-end: calc(32 * 1rem / var(--font-size));
  inset-inline-start: calc(32 * 1rem / var(--font-size));
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.m-gallery-featured__en {
  font-family: var(--font-family__noto-sans-jp);
  font-weight: 500;
  font-size: calc(11 * 1rem / var(--font-size));
  line-height: calc(16.5 * 1rem / var(--font-size));
  letter-spacing: calc(0.8 * 1rem / var(--font-size));
  text-transform: uppercase;
  color: var(--color__white);
  white-space: nowrap;
}

.m-gallery-featured__ja {
  padding-block-start: calc(8 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-weight: 700;
  font-size: calc(36 * 1rem / var(--font-size));
  line-height: calc(45 * 1rem / var(--font-size));
  color: var(--color__white);
  white-space: nowrap;
}

.m-gallery-card {
  display: flex;
  flex-direction: column;
  inline-size: 100%;
  padding: 0;
  background-color: var(--color__white);
  border: calc(1 * 1rem / var(--font-size)) solid var(--color__line);
  overflow: hidden;
  color: var(--color__primary);
  font: inherit;
  text-align: start;
}

.m-gallery-card--photo {
  cursor: pointer;
  transition: opacity var(--duration);
}
.m-gallery-card--photo:focus-visible {
  opacity: var(--opacity__hover);
}

.m-gallery-card__trigger {
  display: flex;
  flex-direction: column;
  inline-size: 100%;
  padding: 0;
  border: none;
  background-color: transparent;
  color: inherit;
  font: inherit;
  text-align: start;
  cursor: pointer;
  transition: opacity var(--duration);
}
.m-gallery-card__trigger:focus-visible {
  opacity: var(--opacity__hover);
}

.m-gallery-card__image {
  position: relative;
  inline-size: 100%;
  block-size: calc(293 * 1rem / var(--font-size));
  overflow: hidden;
  background-color: #0d1a26;
}
.m-gallery-card__image img {
  inline-size: 100%;
  block-size: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.m-gallery-card.is-active .m-gallery-card__image::after {
  content: "";
  position: absolute;
  inset: 0;
  border: calc(2 * 1rem / var(--font-size)) solid var(--color__primary);
  pointer-events: none;
}

.m-gallery-card__play {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  translate: -50% -50%;
  inline-size: calc(68 * 1rem / var(--font-size));
  block-size: calc(48 * 1rem / var(--font-size));
  pointer-events: none;
}
.m-gallery-card__play svg {
  inline-size: 100%;
  block-size: 100%;
  display: block;
}

.m-gallery-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(12 * 1rem / var(--font-size));
  padding-block: calc(12 * 1rem / var(--font-size));
  padding-inline: calc(16 * 1rem / var(--font-size));
  border-block-start: calc(1 * 1rem / var(--font-size)) solid var(--color__line);
  background-color: var(--color__white);
}

.m-gallery-card__texts {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-inline-size: 0;
}

.m-gallery-card__en {
  display: block;
  inline-size: 100%;
  font-family: var(--font-family__noto-sans-jp);
  font-weight: 500;
  font-size: calc(11 * 1rem / var(--font-size));
  line-height: 1;
  letter-spacing: calc(0.5 * 1rem / var(--font-size));
  text-transform: uppercase;
  color: var(--color__text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.m-gallery-card__ja {
  display: block;
  inline-size: 100%;
  padding-block-start: calc(4 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-weight: 700;
  font-size: calc(13 * 1rem / var(--font-size));
  line-height: calc(18 * 1rem / var(--font-size));
  color: var(--color__primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.m-gallery-card__ja:first-child {
  padding-block-start: 0;
}

.m-gallery-card__arrow {
  flex-shrink: 0;
  display: inline-flex;
  inline-size: calc(15 * 1rem / var(--font-size));
  block-size: calc(15 * 1rem / var(--font-size));
  color: var(--color__accent);
}
.m-gallery-card__arrow svg {
  inline-size: 100%;
  block-size: 100%;
  display: block;
}

.m-gallery-card__description {
  padding-inline: calc(16 * 1rem / var(--font-size));
  padding-block-end: calc(12 * 1rem / var(--font-size));
}

.m-gallery-card__text {
  --_duration: var(--duration);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  line-clamp: 4;
  overflow: hidden;
  font-family: var(--font-family__noto-sans-jp);
  font-weight: 400;
  font-size: calc(14 * 1rem / var(--font-size));
  line-height: calc(22 * 1rem / var(--font-size));
  color: var(--color__text);
  overflow-wrap: anywhere;
}
.m-gallery-card__text p {
  margin: 0;
}
.m-gallery-card__text p + p {
  padding-block-start: calc(22 * 1rem / var(--font-size));
}
.m-gallery-card__text a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.15em;
  transition: opacity var(--duration);
}
.m-gallery-card__text a:focus-visible {
  opacity: var(--opacity__hover);
}
.m-gallery-card__text.is-animating {
  overflow: hidden;
  transition: block-size var(--_duration);
}

.m-gallery-card__text.is-js-clamp {
  display: block;
  overflow: visible;
  -webkit-line-clamp: none;
  line-clamp: none;
}

.m-gallery-card__more {
  vertical-align: top;
  padding: 0;
  border: none;
  background-color: transparent;
  color: inherit;
  font-family: inherit;
  font-weight: 700;
  font-size: inherit;
  line-height: inherit;
  cursor: pointer;
}

.m-gallery-card__more.is-expanded {
  padding-inline-start: calc(8 * 1rem / var(--font-size));
}

.m-footer {
  background-color: var(--color__black);
  color: var(--color__white);
  font-family: var(--font-family__inter);
  letter-spacing: -0.0107em;
  padding-block: var(--space__page-block);
}

.m-footer__main {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: calc(48 * 1rem / var(--font-size));
}

.m-footer__col {
  min-inline-size: 0;
}

.m-footer__block {
  min-inline-size: 0;
}

.m-footer__block--second {
  padding-top: calc(32 * 1rem / var(--font-size));
}

.m-footer__logo {
  max-inline-size: calc(145 * 1rem / var(--font-size));
}

.m-footer__logo-link {
  display: inline-block;
}

.m-footer__logo-image {
  display: block;
  width: 100%;
  height: auto;
}

.m-footer__company {
  font-size: calc(14 * 1rem / var(--font-size));
  line-height: 1.625;
  padding-top: calc(16 * 1rem / var(--font-size));
}

.m-footer__contact {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: calc(16 * 1rem / var(--font-size));
  padding-top: calc(16 * 1rem / var(--font-size));
}

.m-footer__phone {
  display: inline-flex;
  align-items: center;
  gap: calc(8 * 1rem / var(--font-size));
  color: var(--color__white);
  font-size: calc(14 * 1rem / var(--font-size));
  line-height: 1.4285714286;
}

.m-footer__phone-icon {
  display: inline-flex;
  inline-size: calc(14 * 1rem / var(--font-size));
  block-size: calc(14 * 1rem / var(--font-size));
}

.m-footer__contact-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--color__white);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 500;
  line-height: 1.4285714286;
  border: 1px solid var(--color__white);
  border-radius: 9999px;
  padding-block: calc(11 * 1rem / var(--font-size));
  padding-inline: calc(25 * 1rem / var(--font-size));
  transition: color var(--duration), background-color var(--duration);
}
.m-footer__contact-button:focus-visible {
  color: var(--color__black);
  background-color: var(--color__white);
}

.m-footer__heading {
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.4285714286;
}

.m-footer__heading-link {
  color: var(--color__white);
}

.m-footer__list {
  display: flex;
  flex-direction: column;
  gap: calc(10 * 1rem / var(--font-size));
  padding-top: calc(20 * 1rem / var(--font-size));
  opacity: 0.8;
}

.m-footer__list--tight {
  padding-top: calc(16 * 1rem / var(--font-size));
}

.m-footer__link {
  color: var(--color__white);
  font-size: calc(14 * 1rem / var(--font-size));
  line-height: 1.4285714286;
}

.m-footer__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: calc(24 * 1rem / var(--font-size));
  border-top: 1px solid var(--color__white);
  margin-top: calc(64 * 1rem / var(--font-size));
  padding-top: calc(41 * 1rem / var(--font-size));
}

.m-footer__copyright {
  font-size: calc(14 * 1rem / var(--font-size));
  line-height: 1.4285714286;
}

.m-footer__policy-links {
  display: flex;
  flex-wrap: wrap;
  gap: calc(32 * 1rem / var(--font-size));
}

.m-footer__policy-link {
  color: var(--color__white);
  font-size: calc(14 * 1rem / var(--font-size));
  line-height: 1.4285714286;
}

.m-drawer {
  --_duration: var(--duration);
  position: fixed;
  z-index: var(--_z-index--header-drawer, 99);
  inset: 0;
  visibility: hidden;
  transition: visibility var(--_duration);
  margin-block-start: var(--wp-admin--admin-bar--height, 0);
}
.m-drawer__backdrop {
  position: fixed;
  z-index: 1;
  inset: 0;
  background-color: rgba(24, 24, 27, 0.4);
  transition: opacity var(--_duration), visibility var(--_duration);
  opacity: 0;
  visibility: hidden;
}

.m-drawer__content {
  position: absolute;
  z-index: 2;
  inset-block-start: 0;
  inset-inline-end: 0;
  inline-size: calc(288 * 1rem / var(--font-size));
  max-inline-size: 100%;
  block-size: 100%;
  background-color: var(--color__white);
  box-shadow: 0 calc(20 * 1rem / var(--font-size)) calc(12.5 * 1rem / var(--font-size)) rgba(0, 0, 0, 0.1), 0 calc(8 * 1rem / var(--font-size)) calc(5 * 1rem / var(--font-size)) rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
  translate: 100% 0;
  transition: translate var(--_duration), visibility var(--_duration);
  visibility: hidden;
}

.m-drawer__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-block: calc(16 * 1rem / var(--font-size)) calc(17 * 1rem / var(--font-size));
  padding-inline: calc(24 * 1rem / var(--font-size));
  border-block-end: 1px solid var(--color__line);
  min-block-size: calc(61 * 1rem / var(--font-size));
}

.m-drawer__logo {
  display: inline-flex;
  align-items: center;
}

.m-drawer__logo-image {
  block-size: calc(21 * 1rem / var(--font-size));
  inline-size: auto;
  display: block;
}

.m-drawer__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: calc(4 * 1rem / var(--font-size));
  color: var(--color__icon);
  transition: opacity var(--duration);
}
.m-drawer__close:focus-visible {
  opacity: var(--opacity__hover);
}

.m-drawer__close-icon {
  inline-size: calc(20 * 1rem / var(--font-size));
  block-size: calc(20 * 1rem / var(--font-size));
  display: block;
}

.m-drawer__nav {
  flex: 1;
  min-block-size: 0;
  overflow-y: auto;
}

.m-drawer__links {
  list-style: none;
  display: flex;
  flex-direction: column;
}

.m-drawer__link-item {
  border-block-end: 1px solid var(--color__line-pale);
}

.m-drawer__link-item:last-child {
  border-block-end: 0;
}

.m-drawer__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-block: calc(16 * 1rem / var(--font-size)) calc(17 * 1rem / var(--font-size));
  padding-inline: calc(24 * 1rem / var(--font-size));
  transition: opacity var(--duration);
}
.m-drawer__link:focus-visible {
  opacity: var(--opacity__hover);
}

.m-drawer__link-item:last-child .m-drawer__link {
  padding-block: calc(16 * 1rem / var(--font-size));
}

.m-drawer__link-text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.m-drawer__link-ja {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.7142857143;
  color: var(--color__primary);
  white-space: nowrap;
}

.m-drawer__link-en {
  padding-block-start: calc(2 * 1rem / var(--font-size));
  font-family: var(--font-family__inter);
  font-size: calc(12 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.3333333333;
  color: var(--color__text-pale);
  white-space: nowrap;
}

.m-drawer__link-arrow {
  display: block;
  inline-size: calc(16 * 1rem / var(--font-size));
  block-size: calc(16 * 1rem / var(--font-size));
  flex-shrink: 0;
  color: var(--color__text-pale);
}

.m-drawer__link-arrow-icon {
  inline-size: 100%;
  block-size: 100%;
  display: block;
}

.m-drawer__parent-row {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
}

.m-drawer__parent-link {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding-block: calc(16 * 1rem / var(--font-size)) calc(17 * 1rem / var(--font-size));
  padding-inline-start: calc(24 * 1rem / var(--font-size));
  transition: opacity var(--duration), padding-block-end var(--_duration);
}
.m-drawer__parent-link:focus-visible {
  opacity: var(--opacity__hover);
}

.m-drawer__toggle {
  display: flex;
  align-items: center;
  padding-block: calc(16 * 1rem / var(--font-size)) calc(17 * 1rem / var(--font-size));
  padding-inline: calc(24 * 1rem / var(--font-size));
  background-color: transparent;
  border: 0;
  cursor: pointer;
  transition: opacity var(--duration), padding-block-end var(--_duration);
}
.m-drawer__toggle:focus-visible {
  opacity: var(--opacity__hover);
}

.m-drawer__group[data-expanded=true] .m-drawer__parent-link,
.m-drawer__group[data-expanded=true] .m-drawer__toggle {
  padding-block-end: 0;
}

.m-drawer__toggle-icon {
  transition: rotate var(--_duration);
}

.m-drawer__group[data-expanded=true] .m-drawer__toggle-icon {
  rotate: 90deg;
}

.m-drawer__panel {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows var(--_duration);
}

.m-drawer__group[data-expanded=true] .m-drawer__panel {
  grid-template-rows: 1fr;
}

.m-drawer__panel-inner {
  overflow: hidden;
  min-block-size: 0;
}

.m-drawer__submenu {
  list-style: none;
  padding-block-end: calc(17 * 1rem / var(--font-size));
  padding-inline: calc(24 * 1rem / var(--font-size));
}

.m-drawer__submenu-item {
  padding-block-start: calc(8 * 1rem / var(--font-size));
  padding-inline-start: calc(16 * 1rem / var(--font-size));
}

.m-drawer__submenu-link {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  transition: opacity var(--duration);
}
.m-drawer__submenu-link:focus-visible {
  opacity: var(--opacity__hover);
}

.m-drawer__footer {
  background-color: var(--color__bg-pale);
  border-block-start: 1px solid var(--color__line);
  display: flex;
  flex-direction: column;
  gap: calc(12 * 1rem / var(--font-size));
  padding-block: calc(21 * 1rem / var(--font-size)) calc(20 * 1rem / var(--font-size));
  padding-inline: calc(24 * 1rem / var(--font-size));
}

.m-drawer__tel {
  font-family: var(--font-family__inter);
  font-size: calc(12 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.3333333333;
  color: var(--color__text);
  white-space: nowrap;
  display: inline-flex;
  align-self: flex-start;
  transition: opacity var(--duration);
}
.m-drawer__tel:focus-visible {
  opacity: var(--opacity__hover);
}

.m-drawer__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: 100%;
  padding-block: calc(12 * 1rem / var(--font-size));
  padding-inline: calc(24 * 1rem / var(--font-size));
  background-color: var(--color__cta);
  border-radius: calc(1000 * 1rem / var(--font-size));
  font-family: var(--font-family__inter);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 500;
  line-height: 1.4285714286;
  letter-spacing: -0.0107em;
  color: var(--color__white);
  text-align: center;
  white-space: nowrap;
  transition: opacity var(--duration);
}
.m-drawer__cta:focus-visible {
  opacity: var(--opacity__hover);
}

.m-drawer.is-visible {
  visibility: visible;
}

.m-drawer.is-visible .m-drawer__backdrop {
  opacity: 1;
  visibility: visible;
}

.m-drawer.is-visible .m-drawer__content {
  translate: 0 0;
  visibility: visible;
}

.m-divider {
  border: 0;
  block-size: 1px;
  inline-size: 100%;
  background-color: var(--color__gray-pale);
}

.m-divider--full {
  inline-size: var(--js-width__viewport);
  margin-inline: calc(50% - var(--js-width__viewport) / 2);
}

.m-dealers {
  padding-block-start: var(--space__page-block);
}

.m-dealers__inner {
  display: block;
}

.m-dealers-list {
  padding-block: calc(64 * 1rem / var(--font-size)) calc(48 * 1rem / var(--font-size));
}

.m-dealers .m-pagination {
  padding-block-end: calc(90 * 1rem / var(--font-size));
}

.m-dealers-table {
  inline-size: 100%;
  display: flex;
  flex-direction: column;
  gap: calc(20 * 1rem / var(--font-size));
}

.m-dealers-table__thead {
  border-radius: calc(6 * 1rem / var(--font-size));
  overflow: hidden;
  background-color: var(--color__secondary);
}

.m-dealers-table__tbody {
  display: flex;
  flex-direction: column;
  gap: calc(20 * 1rem / var(--font-size));
}

.m-dealers-table__row {
  display: grid;
  grid-template-columns: calc(300 * 1rem / var(--font-size)) 1fr 1fr 1fr;
  border-radius: calc(6 * 1rem / var(--font-size));
  overflow: hidden;
}

.m-dealers-table__th {
  padding: calc(18 * 1rem / var(--font-size)) calc(20 * 1rem / var(--font-size));
  border: 1px solid var(--color__line);
  font-family: var(--font-family__inter);
  font-weight: 700;
  font-size: calc(18 * 1rem / var(--font-size));
  line-height: 1.2222222222;
  color: var(--color__primary);
  text-align: center;
  text-transform: uppercase;
}

.m-dealers-table__cell {
  padding: calc(18 * 1rem / var(--font-size)) calc(20 * 1rem / var(--font-size));
  border: 1px solid var(--color__line);
  background-color: var(--color__white);
  font-family: var(--font-family__inter);
  font-size: calc(16 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.75;
  color: var(--color__text);
  display: flex;
  align-items: center;
}

.m-dealers-table__cell-value {
  white-space: pre-line;
}

.m-dealers-table__cell--map {
  padding: 0;
}

.m-dealers-table__cell-label {
  display: none;
}

.m-dealers-table__map {
  inline-size: 100%;
  block-size: 100%;
  min-block-size: calc(148 * 1rem / var(--font-size));
  background-color: var(--color__secondary);
  overflow: hidden;
}
.m-dealers-table__map iframe {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  border: 0;
}

.m-dealers-table__empty {
  padding-block: calc(80 * 1rem / var(--font-size));
  text-align: center;
  font-family: var(--font-family__inter);
  font-size: calc(14 * 1rem / var(--font-size));
  color: var(--color__text);
}

.m-dealers-related {
  padding-block-end: var(--space__page-block);
}

.m-dealers-related__list {
  list-style: none;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: calc(30 * 1rem / var(--font-size));
}

.m-dealers-related__item {
  display: block;
}

.m-dealers-related__card {
  display: flex;
  flex-direction: column;
  block-size: 100%;
  border: 1px solid var(--color__line);
  border-radius: calc(6 * 1rem / var(--font-size));
  background-color: var(--color__white);
  color: inherit;
  text-decoration: none;
  overflow: hidden;
  transition: opacity var(--duration);
}
.m-dealers-related__card:focus-visible {
  opacity: var(--opacity__hover);
}

.m-dealers-related__image {
  inline-size: 100%;
  block-size: calc(140 * 1rem / var(--font-size));
  overflow: hidden;
}

.m-dealers-related__image img {
  inline-size: 100%;
  block-size: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.m-dealers-related__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: calc(32 * 1rem / var(--font-size));
}

.m-dealers-related__label {
  font-family: var(--font-family__noto-sans-jp);
  font-weight: 700;
  font-size: calc(18 * 1rem / var(--font-size));
  line-height: 1.2222222222;
  color: var(--color__tertiary);
  letter-spacing: 0;
  text-transform: uppercase;
}

.m-dealers-related__title {
  padding-block-start: calc(20 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-weight: 600;
  font-size: calc(14 * 1rem / var(--font-size));
  line-height: 1.5714285714;
  color: var(--color__primary);
}

.m-dealers-related__link {
  display: inline-flex;
  align-items: center;
  gap: calc(6 * 1rem / var(--font-size));
  padding-block-start: calc(20 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-weight: 500;
  font-size: calc(14 * 1rem / var(--font-size));
  line-height: 1.4285714286;
  color: var(--color__primary);
}

.m-dealers-related__chevron {
  display: inline-block;
  inline-size: calc(15 * 1rem / var(--font-size));
  block-size: calc(15 * 1rem / var(--font-size));
  background-color: currentcolor;
  -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 15' fill='none' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='5,3 10,7.5 5,12'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 15' fill='none' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='5,3 10,7.5 5,12'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}

.m-dealers-overseas__inner {
  display: flex;
  flex-direction: column;
  padding-block-start: calc(128 * 1rem / var(--font-size));
}

.m-dealers-overseas__inner > .m-dealers-heading {
  padding-block-end: calc(128 * 1rem / var(--font-size));
}

.m-dealers-overseas__block {
  padding-block-end: calc(128 * 1rem / var(--font-size));
}

.m-dealers-overseas-table {
  padding-block-end: calc(128 * 1rem / var(--font-size));
}

.m-dealers-overseas-table__wrap {
  inline-size: 100%;
  border: 1px solid var(--color__line);
  border-radius: calc(6 * 1rem / var(--font-size));
  overflow: hidden;
}

.m-dealers-overseas-table__row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.m-dealers-overseas-table__row--th-ja,
.m-dealers-overseas-table__row--th-en {
  background-color: var(--color__secondary);
}

.m-dealers-overseas-table__th {
  display: flex;
  align-items: center;
  justify-content: center;
  min-block-size: calc(42 * 1rem / var(--font-size));
  padding-inline: calc(14 * 1rem / var(--font-size));
  border: 1px solid var(--color__line);
  font-family: var(--font-family__noto-sans-jp);
  font-weight: 700;
  font-size: calc(18 * 1rem / var(--font-size));
  line-height: 1.2222222222;
  color: var(--color__primary);
  text-align: center;
  text-transform: uppercase;
}

.m-dealers-overseas-table__cell {
  display: flex;
  align-items: center;
  min-block-size: calc(52 * 1rem / var(--font-size));
  padding-inline: calc(14 * 1rem / var(--font-size));
  padding-block: calc(11 * 1rem / var(--font-size));
  border: 1px solid var(--color__line);
  font-family: var(--font-family__noto-sans-jp);
  font-weight: 400;
  font-size: calc(16 * 1rem / var(--font-size));
  line-height: 1.75;
  color: var(--color__text);
  overflow-wrap: anywhere;
}

.m-dealers-overseas-table__cell-label {
  display: none;
}

.m-dealers-overseas-table__empty {
  padding-block: calc(80 * 1rem / var(--font-size));
  text-align: center;
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  color: var(--color__text);
}

.m-dealers-overseas-hero {
  order: -1;
  padding-block-end: calc(128 * 1rem / var(--font-size));
  inline-size: var(--js-width__viewport);
  margin-inline: calc(50% - var(--js-width__viewport) / 2);
}

.m-dealers-overseas-hero__image {
  display: block;
  inline-size: 100%;
  overflow: hidden;
}

.m-dealers-overseas-hero__image img {
  inline-size: 100%;
  block-size: auto;
  display: block;
}

.m-dealers-heading {
  display: flex;
  flex-direction: column;
}

.m-dealers-heading__en {
  font-family: var(--font-family__inter);
  font-weight: 800;
  font-size: min(60 * 1rem / var(--font-size), 60 / 1440 * 100vw);
  line-height: 1;
  letter-spacing: 0;
  color: var(--color__tertiary);
  text-transform: uppercase;
}

.m-dealers-heading__ja {
  display: flex;
  align-items: center;
  gap: calc(13 * 1rem / var(--font-size));
  padding-block-start: calc(20 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-weight: 700;
  font-size: calc(26 * 1rem / var(--font-size));
  line-height: 1;
  color: var(--color__primary);
}

.m-dealers-heading__ja-marker {
  display: inline-block;
  inline-size: calc(3 * 1rem / var(--font-size));
  block-size: calc(35 * 1rem / var(--font-size));
  background-color: var(--color__accent);
}

.m-dealers-heading__lead {
  padding-block-start: calc(40 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-weight: 400;
  font-size: calc(16 * 1rem / var(--font-size));
  line-height: 1.75;
  color: var(--color__text);
}

.m-dealers-heading--compact .m-dealers-heading__lead {
  padding-block-start: calc(20 * 1rem / var(--font-size));
}

.m-dealers-filter {
  padding-block: calc(40 * 1rem / var(--font-size)) calc(32 * 1rem / var(--font-size));
  border-block-end: 1px solid var(--color__line);
  overflow-x: auto;
  scrollbar-width: none;
}
.m-dealers-filter::-webkit-scrollbar {
  display: none;
}

.m-dealers-filter__list {
  list-style: none;
  display: flex;
  gap: calc(14 * 1rem / var(--font-size));
}

.m-dealers-filter__item {
  flex: 0 0 auto;
}

.m-dealers-filter__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  block-size: calc(40 * 1rem / var(--font-size));
  padding-inline: calc(25 * 1rem / var(--font-size));
  border: 1px solid var(--color__line);
  border-radius: calc(999 * 1rem / var(--font-size));
  background-color: var(--color__white);
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(15 * 1rem / var(--font-size));
  font-weight: 500;
  line-height: 1;
  color: var(--color__text);
  cursor: pointer;
  transition: background-color var(--duration), color var(--duration), border-color var(--duration);
}
.m-dealers-filter__button:focus-visible {
  background-color: var(--color__secondary);
}

.m-dealers-filter__button--current {
  background-color: var(--color__primary);
  border-color: var(--color__primary);
  color: var(--color__white);
  font-weight: 700;
}
.m-dealers-filter__button--current:focus-visible {
  background-color: var(--color__primary);
}

.m-contact {
  padding-block: var(--space__page-block);
}

.m-contact__inner {
  max-inline-size: calc(1200 * 1rem / var(--font-size));
}

.m-contact__layout {
  display: grid;
  grid-template-columns: calc(380 * 1rem / var(--font-size)) 1fr;
  border: 1px solid var(--color__line);
  border-radius: calc(12 * 1rem / var(--font-size));
  overflow: hidden;
}

.m-contact-info {
  background-color: var(--color__secondary);
  display: flex;
  flex-direction: column;
}

.m-contact-info__body {
  flex: 1;
  padding: calc(40 * 1rem / var(--font-size)) calc(36 * 1rem / var(--font-size)) calc(32 * 1rem / var(--font-size));
}

.m-contact-info__en {
  display: flex;
  align-items: center;
  gap: calc(12 * 1rem / var(--font-size));
  font-family: var(--font-family__inter);
  font-size: calc(11 * 1rem / var(--font-size));
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color__black);
}

.m-contact-info__en-line {
  display: block;
  inline-size: calc(24 * 1rem / var(--font-size));
  block-size: calc(1 * 1rem / var(--font-size));
  background-color: var(--color__primary);
  flex-shrink: 0;
}

.m-contact-info__heading {
  padding-block: calc(28 * 1rem / var(--font-size));
}

.m-contact-info__title {
  font-size: calc(26 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.3461538462;
  color: var(--color__primary);
}

.m-contact-info__lead {
  padding-block-start: calc(12 * 1rem / var(--font-size));
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.5714285714;
  color: var(--color__text);
}

.m-contact-info__contact {
  padding-block: calc(28 * 1rem / var(--font-size));
  border-block-start: 1px solid var(--color__primary);
  border-block-end: 1px solid var(--color__primary);
}

.m-contact-info__contact-label {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 600;
  line-height: 1.5714285714;
  color: var(--color__primary);
}

.m-contact-info__tel-group {
  padding-block-start: calc(6 * 1rem / var(--font-size));
}

.m-contact-info__tel {
  display: block;
  font-family: var(--font-family__inter);
  font-size: calc(26 * 1rem / var(--font-size));
  font-weight: 900;
  line-height: 1.1923076923;
  color: var(--color__primary);
  text-decoration: none;
}

.m-contact-info__hours {
  padding-block-start: calc(6 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 600;
  line-height: 1.5714285714;
  color: var(--color__primary);
}

.m-contact-info__image {
  display: block;
  inline-size: 100%;
  aspect-ratio: 380/443;
  overflow: hidden;
}

.m-contact-info__image img {
  inline-size: 100%;
  block-size: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.m-contact-form-panel {
  background-color: var(--color__white);
  padding: calc(40 * 1rem / var(--font-size)) calc(48 * 1rem / var(--font-size));
}

.m-contact-form-panel__heading {
  padding-block-end: calc(32 * 1rem / var(--font-size));
}

.m-contact-form-panel__title {
  padding-block-end: calc(8 * 1rem / var(--font-size));
  font-size: calc(18 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.2222222222;
  color: var(--color__primary);
}

.m-contact-form-panel__marker {
  display: block;
  inline-size: calc(32 * 1rem / var(--font-size));
  block-size: calc(2 * 1rem / var(--font-size));
  background-color: var(--color__primary);
}

.m-contact .m-contact-form__submit .wpcf7-submit,
.m-contact .m-contact-button {
  background-color: var(--color__primary);
  border-color: var(--color__primary);
  color: var(--color__white);
}
.m-contact .m-contact-form__submit .wpcf7-submit:focus-visible,
.m-contact .m-contact-button:focus-visible {
  background-color: transparent;
  color: var(--color__primary);
}

.m-contact-form {
  --_color__field-border: var(--color__line);
  --_color__focus: var(--color__primary);
}

.m-contact-form__rows {
  display: flex;
  flex-direction: column;
  gap: calc(24 * 1rem / var(--font-size));
}

.m-contact-form__row {
  display: flex;
  flex-direction: column;
  gap: calc(8 * 1rem / var(--font-size));
}

.m-contact-form__row--cols {
  flex-direction: row;
  gap: calc(20 * 1rem / var(--font-size));
}

.m-contact-form__row--address {
  gap: calc(24 * 1rem / var(--font-size));
}

.m-contact-form__col {
  flex: 1;
  min-inline-size: 0;
  display: flex;
  flex-direction: column;
  gap: calc(8 * 1rem / var(--font-size));
}

.m-contact-form__label-wrap {
  display: flex;
  align-items: center;
  gap: calc(8 * 1rem / var(--font-size));
}

.m-contact-form__label {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 600;
  line-height: 1.5714285714;
  color: var(--color__primary);
}

.m-contact-form__badge,
.m-contact-form__badge--optional {
  display: inline-flex;
  align-items: center;
  padding-inline: calc(7 * 1rem / var(--font-size));
  padding-block: calc(3 * 1rem / var(--font-size));
  border: 1px solid var(--color__tertiary);
  font-family: var(--font-family__inter);
  font-size: calc(11 * 1rem / var(--font-size));
  font-weight: 500;
  line-height: 1;
  color: var(--color__tertiary);
  flex-shrink: 0;
}

.m-contact-form__field {
  min-inline-size: 0;
}

.m-contact-form__address {
  display: flex;
  flex-direction: column;
  gap: calc(24 * 1rem / var(--font-size));
}

.m-contact-form__address-line {
  display: flex;
  align-items: center;
  gap: calc(8 * 1rem / var(--font-size));
}

.m-contact-form__address-label {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 600;
  line-height: 1.5714285714;
  color: var(--color__primary);
  flex-shrink: 0;
}

.m-contact-form__address-input {
  flex: 1;
  min-inline-size: 0;
}

.m-contact-form__address-line > p {
  margin: 0;
  display: contents;
}

.m-contact-form .wpcf7-text,
.m-contact-form .wpcf7-email,
.m-contact-form .wpcf7-tel {
  inline-size: 100%;
  block-size: calc(44 * 1rem / var(--font-size));
  border: 1px solid var(--_color__field-border);
  padding-inline: calc(14 * 1rem / var(--font-size));
  background-color: var(--color__white);
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  line-height: 1.5714285714;
  color: var(--color__primary);
  transition: border-color var(--duration);
}

.m-contact-form .wpcf7-text:focus,
.m-contact-form .wpcf7-email:focus,
.m-contact-form .wpcf7-tel:focus {
  outline: none;
  border-color: var(--_color__focus);
}

.m-contact-form .wpcf7-text::-moz-placeholder, .m-contact-form .wpcf7-email::-moz-placeholder, .m-contact-form .wpcf7-tel::-moz-placeholder {
  color: rgb(from var(--color__primary) r g b/0.35);
}

.m-contact-form .wpcf7-text::placeholder,
.m-contact-form .wpcf7-email::placeholder,
.m-contact-form .wpcf7-tel::placeholder {
  color: rgb(from var(--color__primary) r g b/0.35);
}

.m-contact-form .wpcf7-textarea {
  inline-size: 100%;
  block-size: calc(127 * 1rem / var(--font-size));
  border: 1px solid var(--_color__field-border);
  padding-block: calc(12 * 1rem / var(--font-size));
  padding-inline: calc(14 * 1rem / var(--font-size));
  background-color: var(--color__white);
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  line-height: 1.5714285714;
  color: var(--color__primary);
  resize: vertical;
  transition: border-color var(--duration);
}

.m-contact-form .wpcf7-textarea:focus {
  outline: none;
  border-color: var(--_color__focus);
}

.m-contact-form .wpcf7-textarea::-moz-placeholder {
  color: rgb(from var(--color__primary) r g b/0.35);
}

.m-contact-form .wpcf7-textarea::placeholder {
  color: rgb(from var(--color__primary) r g b/0.35);
}

.m-contact-form .wpcf7-select {
  inline-size: 100%;
  block-size: calc(44 * 1rem / var(--font-size));
  border: 1px solid var(--_color__field-border);
  padding-inline-start: calc(14 * 1rem / var(--font-size));
  padding-inline-end: calc(36 * 1rem / var(--font-size));
  background-color: var(--color__white);
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  line-height: 1.5714285714;
  color: var(--color__primary);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%23999999' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-position: right calc(12 * 1rem / var(--font-size)) center;
  background-repeat: no-repeat;
  background-size: calc(12 * 1rem / var(--font-size)) calc(8 * 1rem / var(--font-size));
  cursor: pointer;
  transition: border-color var(--duration);
}

.m-contact-form .wpcf7-select:focus {
  outline: none;
  border-color: var(--_color__focus);
}

.m-contact-form .wpcf7-text.wpcf7-not-valid,
.m-contact-form .wpcf7-email.wpcf7-not-valid,
.m-contact-form .wpcf7-tel.wpcf7-not-valid,
.m-contact-form .wpcf7-textarea.wpcf7-not-valid,
.m-contact-form .wpcf7-select.wpcf7-not-valid {
  outline: 1px solid var(--color__error);
  outline-offset: -2px;
}

.m-contact-form .wpcf7-text.wpcf7-not-valid:focus,
.m-contact-form .wpcf7-email.wpcf7-not-valid:focus,
.m-contact-form .wpcf7-tel.wpcf7-not-valid:focus,
.m-contact-form .wpcf7-textarea.wpcf7-not-valid:focus,
.m-contact-form .wpcf7-select.wpcf7-not-valid:focus {
  outline: 2px solid var(--_color__focus);
  outline-offset: -2px;
}

.m-contact-form .wpcf7-not-valid-tip {
  color: var(--color__error);
  font-size: calc(13 * 1rem / var(--font-size));
}

.m-contact-form .wpcf7-form-control-wrap > .wpcf7-not-valid-tip {
  display: block;
  padding-block-start: calc(4 * 1rem / var(--font-size));
}

.m-contact-form .wpcf7-response-output {
  margin-block-start: calc(24 * 1rem / var(--font-size));
  padding: calc(16 * 1rem / var(--font-size));
  font-size: calc(14 * 1rem / var(--font-size));
  text-align: center;
}

.m-contact-form__website {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

.m-contact-form__footer {
  padding-block-start: calc(24 * 1rem / var(--font-size));
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.m-contact-form__consent {
  display: flex;
  align-items: center;
  gap: calc(12 * 1rem / var(--font-size));
  position: relative;
}

.m-contact-form__consent > p {
  display: contents;
}

.m-contact-form__consent br {
  display: none;
}

.m-contact-form__consent-check .wpcf7-acceptance {
  display: flex;
  align-items: center;
}

.m-contact-form__consent-check .wpcf7-acceptance .wpcf7-list-item {
  margin-inline-start: 0;
}

.m-contact-form__consent-check .wpcf7-acceptance .wpcf7-list-item label {
  display: flex;
  align-items: center;
  cursor: pointer;
}

.m-contact-form__consent-check input[type=checkbox] {
  inline-size: calc(18 * 1rem / var(--font-size));
  block-size: calc(18 * 1rem / var(--font-size));
  border: 1px solid var(--_color__field-border);
  background-color: var(--color__white);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
  position: relative;
  display: block;
  flex-shrink: 0;
  transition: border-color var(--duration);
}

.m-contact-form__consent-check input[type=checkbox]:checked {
  border-color: var(--color__primary);
}

.m-contact-form__consent-check input[type=checkbox]:checked::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="9" viewBox="0 0 14 9" fill="none"><path d="M1 2.5L6 8L13 1" stroke="%23173b57" stroke-linecap="round" stroke-linejoin="round"/></svg>');
  background-repeat: no-repeat;
  background-position: center;
  background-size: calc(12 * 1rem / var(--font-size)) calc(8 * 1rem / var(--font-size));
}

.m-contact-form__consent-check .wpcf7-list-item-label {
  display: none;
}

.m-contact-form__consent .wpcf7-not-valid-tip {
  display: block;
  position: absolute;
  inset-block-start: 100%;
  inset-inline-start: 0;
  padding-block-start: calc(4 * 1rem / var(--font-size));
}

.m-contact-form__consent-check .wpcf7-acceptance.wpcf7-not-valid input[type=checkbox] {
  outline: 1px solid var(--color__error);
  outline-offset: -2px;
}

.m-contact-form__consent-text {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.5714285714;
  color: var(--color__primary);
  cursor: pointer;
}

.m-contact-form__consent-text a {
  text-decoration: underline;
  text-underline-offset: 0.3em;
}
.m-contact-form__consent-text a:focus-visible {
  text-decoration: none;
}

.m-contact-form__submit-wrap {
  padding-block-start: calc(40 * 1rem / var(--font-size));
  display: flex;
  align-items: center;
}

.m-contact-form__submit {
  display: inline-flex;
  position: relative;
}

.m-contact-form__submit .wpcf7-spinner {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 100%;
  translate: calc(12 * 1rem / var(--font-size)) -50%;
  margin: 0;
}

.m-contact-button,
.m-contact-form__submit .wpcf7-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: calc(infinity * 1px);
  padding-block: calc(14 * 1rem / var(--font-size));
  padding-inline: calc(40 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  background-color: var(--color__primary);
  border: 1px solid var(--color__primary);
  color: var(--color__white);
  transition: background-color var(--duration), color var(--duration), border-color var(--duration);
}
.m-contact-button:focus-visible,
.m-contact-form__submit .wpcf7-submit:focus-visible {
  background-color: transparent;
  color: var(--color__primary);
}

.m-contact-form__submit .wpcf7-submit[disabled] {
  opacity: 0.5;
  pointer-events: none;
}

.m-contact-cta {
  background-color: var(--color__white);
  padding-block: calc(128 * 1rem / var(--font-size));
}

.m-contact-cta__grid {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(64 * 1rem / var(--font-size));
}

.m-contact-cta__text {
  inline-size: calc(691.195 * 1rem / var(--font-size));
  flex-shrink: 1;
  min-inline-size: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.m-contact-cta__en {
  font-family: var(--font-family__inter);
  font-size: min(100 * 1rem / var(--font-size), 100 / 1440 * 100vw);
  font-weight: 900;
  line-height: 1.21;
  text-transform: uppercase;
  white-space: nowrap;
}

.m-contact-cta__en::after {
  content: "";
  display: block;
  inline-size: calc(130 * 1rem / var(--font-size));
  block-size: calc(4 * 1rem / var(--font-size));
  background-color: var(--color__accent);
}

.m-contact-cta__ja {
  padding-block-start: calc(20 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(32 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.375;
}

.m-contact-cta__desc {
  inline-size: calc(448 * 1rem / var(--font-size));
  max-inline-size: 100%;
  padding-block-start: calc(24 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(16 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.75;
}

.m-contact-cta__actions {
  inline-size: calc(460.797 * 1rem / var(--font-size));
  flex-shrink: 1;
  min-inline-size: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: calc(16 * 1rem / var(--font-size));
}

.m-contact-cta__button {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-block: calc(16 * 1rem / var(--font-size));
  padding-inline: calc(24 * 1rem / var(--font-size));
  border-radius: 9999px;
  background-color: var(--color__cta);
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 600;
  line-height: 1.5714285714;
  text-align: center;
  white-space: nowrap;
  transition: opacity var(--duration);
}
.m-contact-cta__button:focus-visible {
  opacity: var(--opacity__hover);
}

.m-contact-cta__tel {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(12 * 1rem / var(--font-size));
  padding: calc(16 * 1rem / var(--font-size));
  border: calc(1 * 1rem / var(--font-size)) solid var(--color__line);
  border-radius: 9999px;
  transition: border-color var(--duration), background-color var(--duration);
}
.m-contact-cta__tel:focus-visible {
  border-color: var(--color__primary);
  background-color: var(--color__secondary);
}

.m-contact-cta__tel-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: calc(18 * 1rem / var(--font-size));
  block-size: calc(18 * 1rem / var(--font-size));
  flex-shrink: 0;
}
.m-contact-cta__tel-icon svg {
  inline-size: 100%;
  block-size: 100%;
  display: block;
}

.m-contact-cta__tel-num {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(16 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: calc(-0.3125 * 1rem / var(--font-size));
  white-space: nowrap;
}

.m-contact-cta__hours {
  align-self: center;
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(12 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.3333333333;
  text-align: center;
}

.m-careers {
  display: block;
  padding-block: var(--space__page-block);
  background-color: var(--color__white);
  color: var(--color__text);
}

.m-careers-recruit {
  padding-block-start: calc(60 * 1rem / var(--font-size));
}

.m-careers-recruit__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
  -moz-column-gap: min(52 * 1rem / var(--font-size), 52 / 1440 * 100vw);
       column-gap: min(52 * 1rem / var(--font-size), 52 / 1440 * 100vw);
  padding-block-end: calc(96 * 1rem / var(--font-size));
  border-block-end: 1px solid var(--color__line);
}

.m-careers-recruit__media {
  inline-size: 100%;
  block-size: calc(280 * 1rem / var(--font-size));
  overflow: hidden;
  border: 1px solid var(--color__line);
  border-radius: calc(6 * 1rem / var(--font-size));
}
.m-careers-recruit__media img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.m-careers-recruit__body {
  display: flex;
  flex-direction: column;
}

.m-careers-recruit__heading {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(26 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1;
  color: var(--color__primary);
}

.m-careers-recruit__text {
  padding-block-start: calc(22 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(16 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.75;
  color: var(--color__text);
}

.m-careers-recruit__actions {
  padding-block-start: calc(20 * 1rem / var(--font-size));
}

.m-careers-recruit__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-inline-size: calc(178 * 1rem / var(--font-size));
  padding-block: calc(14 * 1rem / var(--font-size));
  padding-inline: calc(40 * 1rem / var(--font-size));
  border-radius: 9999px;
  background-color: var(--color__primary);
  color: var(--color__white);
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  transition: opacity var(--duration);
}
.m-careers-recruit__button:focus-visible {
  opacity: var(--opacity__hover);
}

.m-careers-message__inner {
  display: flex;
  flex-direction: column;
}

.m-careers-message__heading {
  display: flex;
  flex-direction: column;
  padding-block-end: calc(40 * 1rem / var(--font-size));
}

.m-careers-message__en {
  font-family: var(--font-family__inter);
  font-size: min(60 * 1rem / var(--font-size), 60 / 1440 * 100vw);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: 0;
  color: var(--color__tertiary);
}

.m-careers-message__ja {
  display: flex;
  align-items: center;
  padding-block-start: calc(20 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(26 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1;
  color: var(--color__primary);
}

.m-careers-message__ja-marker {
  display: inline-block;
  inline-size: calc(3 * 1rem / var(--font-size));
  block-size: calc(35 * 1rem / var(--font-size));
  margin-inline-end: calc(10 * 1rem / var(--font-size));
  background-color: var(--color__accent);
}

.m-careers-message__text {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(16 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.75;
  color: var(--color__text);
}

.m-button {
  --_color__main-default: var(--color__blue);
  --_color__sub-default: #fff;
  --_color__main: var(--_color__main-default);
  --_color__sub: var(--_color__sub-default);
  --_duration: var(--duration);
  display: grid;
  place-items: center;
  max-width: calc(250 * 1rem / var(--font-size));
  width: 100%;
  color: var(--_color__sub);
  font-size: calc(16 * 1rem / var(--font-size));
  background-color: var(--_color__main);
  border-width: 1px;
  border-style: solid;
  border-color: var(--_color__main);
  border-radius: 9999px;
  filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.2));
  transform: translateZ(0);
  transition: color var(--_duration), background-color var(--_duration), border-color var(--_duration), filter var(--_duration);
  touch-action: manipulation;
  padding-block: calc(10 * 1rem / var(--font-size));
  padding-inline: calc(10 * 1rem / var(--font-size));
}
.m-button:focus-visible {
  color: var(--_color__main);
  background-color: var(--_color__sub);
  filter: unset;
}

.m-button--invert {
  --_color__main: var(--_color__sub-default);
  --_color__sub: var(--_color__main-default);
  border-color: var(--_color__sub);
}

.m-business {
  display: block;
  color: var(--color__text);
  background-color: var(--color__white);
}

.m-business-product {
  padding-block: var(--space__page-block);
  background-color: var(--color__secondary);
}

.m-business-product__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.m-business-product__head {
  display: flex;
  flex-direction: column;
  align-self: stretch;
}

.m-business-product__en {
  font-family: var(--font-family__inter);
  font-size: min(60 * 1rem / var(--font-size), 60 / 1440 * 100vw);
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0;
  color: var(--color__tertiary);
}

.m-business-product__ja {
  display: flex;
  align-items: center;
  padding-block-start: calc(20 * 1rem / var(--font-size));
  padding-block-end: calc(40 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(26 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1;
  color: var(--color__primary);
}

.m-business-product__ja-marker {
  display: inline-block;
  inline-size: calc(3 * 1rem / var(--font-size));
  block-size: calc(35 * 1rem / var(--font-size));
  margin-inline-end: calc(10 * 1rem / var(--font-size));
  background-color: var(--color__accent);
}

.m-business-product__list {
  align-self: stretch;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: calc(30 * 1rem / var(--font-size));
  list-style: none;
}

.m-business-product__item {
  overflow: clip;
  border-radius: calc(6 * 1rem / var(--font-size));
  background-color: var(--color__white);
}

.m-business-product__link {
  display: flex;
  flex-direction: column;
  block-size: 100%;
  color: var(--color__primary);
  text-decoration: none;
  transition: opacity var(--duration);
}
.m-business-product__link:focus-visible {
  opacity: var(--opacity__hover);
}

.m-business-product__media {
  block-size: calc(141 * 1rem / var(--font-size));
  overflow: hidden;
  background-color: var(--color__white);
}
.m-business-product__media img {
  inline-size: 100%;
  block-size: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.m-business-product__media--upper img {
  -o-object-position: center 20%;
     object-position: center 20%;
}

.m-business-product__body {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: calc(32 * 1rem / var(--font-size));
  background-color: var(--color__white);
}

.m-business-product__num {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(18 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.2222222222;
  letter-spacing: 0;
  text-transform: uppercase;
  color: var(--color__tertiary);
}

.m-business-product__name {
  padding-block-start: calc(20 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 600;
  line-height: 1.5714285714;
  color: var(--color__primary);
}

.m-business-product__cta {
  padding-block-start: calc(20 * 1rem / var(--font-size));
  display: inline-flex;
  align-items: center;
  gap: calc(6 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 500;
  line-height: 1.4285714286;
  color: var(--color__primary);
}

.m-business-product__cta-icon {
  flex-shrink: 0;
  inline-size: calc(15 * 1rem / var(--font-size));
  block-size: calc(15 * 1rem / var(--font-size));
  color: currentcolor;
}

.m-business-intro {
  padding-block: var(--space__page-block);
  background-color: var(--color__white);
}

.m-business-intro__inner {
  display: flex;
  flex-direction: column;
}

.m-business-intro__head {
  display: flex;
  flex-direction: column;
}

.m-business-intro__en {
  font-family: var(--font-family__inter);
  font-size: min(60 * 1rem / var(--font-size), 60 / 1440 * 100vw);
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0;
  color: var(--color__tertiary);
}

.m-business-intro__ja {
  display: flex;
  align-items: center;
  padding-block-start: calc(20 * 1rem / var(--font-size));
  padding-block-end: calc(40 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(26 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1;
  color: var(--color__primary);
}

.m-business-intro__ja-marker {
  display: inline-block;
  inline-size: calc(3 * 1rem / var(--font-size));
  block-size: calc(35 * 1rem / var(--font-size));
  margin-inline-end: calc(10 * 1rem / var(--font-size));
  background-color: var(--color__accent);
}

.m-business-intro__lead {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(16 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.75;
  color: var(--color__text);
}
.m-business-intro__lead p + p {
  padding-block-start: calc(28 * 1rem / var(--font-size));
}

.m-business-intro__row {
  display: flex;
  gap: calc(52 * 1rem / var(--font-size));
  align-items: stretch;
  padding-block-start: calc(60 * 1rem / var(--font-size));
}

.m-business-intro__row--divider {
  padding-block-end: calc(96 * 1rem / var(--font-size));
  border-block-end: 1px solid var(--color__line);
}

.m-business-intro__row--reverse {
  padding-block-start: calc(84 * 1rem / var(--font-size));
}

.m-business-intro__media {
  flex: 1 1 0;
  min-inline-size: 0;
  aspect-ratio: 630/461;
  overflow: hidden;
  border-radius: calc(6 * 1rem / var(--font-size));
  border: 1px solid var(--color__line);
}
.m-business-intro__media img {
  inline-size: 100%;
  block-size: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.m-business-intro__row--reverse .m-business-intro__media {
  aspect-ratio: 630/517;
}

.m-business-intro__body {
  flex: 1 1 0;
  min-inline-size: 0;
  display: flex;
  flex-direction: column;
}

.m-business-intro__label {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(16 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.75;
  color: var(--color__text);
}

.m-business-intro__title {
  padding-block-start: calc(12 * 1rem / var(--font-size));
  padding-block-end: calc(10 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(26 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.35;
  color: var(--color__primary);
}

.m-business-intro__text {
  padding-block-start: calc(12 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(16 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.75;
  color: var(--color__text);
}
.m-business-intro__text p + p {
  padding-block-start: calc(28 * 1rem / var(--font-size));
}

.m-breadcrumb {
  font-family: var(--font-family__inter);
  font-size: calc(12 * 1rem / var(--font-size));
  font-weight: 500;
  line-height: 1.5;
  color: currentcolor;
  padding-block: calc(14 * 1rem / var(--font-size));
}

.m-breadcrumb--flush {
  padding-block: 0;
}

.m-breadcrumb__list {
  display: flex;
  flex-wrap: wrap;
  gap: calc(4 * 1rem / var(--font-size)) calc(8 * 1rem / var(--font-size));
  align-items: center;
}

.m-breadcrumb__item {
  display: inline-flex;
  gap: 0.5em;
  align-items: center;
}

.m-breadcrumb__link {
  color: inherit;
  text-decoration: none;
}

.m-breadcrumb__current {
  color: inherit;
}

.m-breadcrumb__sep {
  color: inherit;
}

.m-article {
  padding-block-end: var(--space__page-block);
}

.m-article__layout {
  display: grid;
  grid-template-columns: 1fr calc(300 * 1rem / var(--font-size));
  -moz-column-gap: calc(56 * 1rem / var(--font-size));
       column-gap: calc(56 * 1rem / var(--font-size));
  padding-block: calc(128 * 1rem / var(--font-size));
}

.m-article__main {
  min-inline-size: 0;
}

.m-article__meta {
  display: flex;
  align-items: center;
  gap: calc(16 * 1rem / var(--font-size));
}

.m-article__date {
  font-family: var(--font-family__inter);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: calc(20 * 1rem / var(--font-size));
  color: var(--color__tertiary);
}

.m-article__cats {
  display: inline-flex;
  flex-wrap: wrap;
  gap: calc(6 * 1rem / var(--font-size));
}

.m-article__cat {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-block: calc(6 * 1rem / var(--font-size));
  padding-inline: calc(16 * 1rem / var(--font-size));
  font-family: var(--font-family__inter);
  font-size: calc(12 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: calc(18 * 1rem / var(--font-size));
  color: var(--color__tertiary);
  border: 1px solid var(--color__tertiary);
  border-radius: calc(999 * 1rem / var(--font-size));
  text-decoration: none;
  transition: opacity var(--duration);
}
.m-article__cat:focus-visible {
  opacity: var(--opacity__hover);
}

.m-article__title {
  padding-block-start: calc(24 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-weight: 700;
  font-size: calc(32 * 1rem / var(--font-size));
  line-height: 1.5;
  color: var(--color__primary);
}

.m-article__thumbnail {
  padding-block-start: calc(32 * 1rem / var(--font-size));
}
.m-article__thumbnail img {
  inline-size: 100%;
  block-size: auto;
  aspect-ratio: 956/360;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: calc(4 * 1rem / var(--font-size));
}

.m-article__body {
  padding-block-start: calc(32 * 1rem / var(--font-size));
}

.m-article-sidebar {
  display: flex;
  flex-direction: column;
  gap: calc(24 * 1rem / var(--font-size));
  inline-size: calc(300 * 1rem / var(--font-size));
}

.m-article-sidebar__back {
  display: inline-flex;
  align-self: flex-start;
  align-items: center;
  gap: calc(8 * 1rem / var(--font-size));
  font-family: var(--font-family__inter);
  font-size: calc(13 * 1rem / var(--font-size));
  font-weight: 600;
  line-height: 1.5;
  color: var(--color__primary);
  text-decoration: none;
  transition: opacity var(--duration);
}
.m-article-sidebar__back:focus-visible {
  opacity: var(--opacity__hover);
}

.m-article-sidebar__back-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: calc(16 * 1rem / var(--font-size));
  block-size: calc(16 * 1rem / var(--font-size));
  color: currentcolor;
}
.m-article-sidebar__back-icon svg {
  inline-size: 100%;
  block-size: 100%;
}

.m-article-sidebar__back-text {
  display: inline-block;
}

.m-article-sidebar__box {
  overflow: hidden;
  border: 1px solid var(--color__line);
  border-radius: calc(4 * 1rem / var(--font-size));
}

.m-article-sidebar__box-title {
  padding-block: calc(12 * 1rem / var(--font-size));
  padding-inline: calc(16 * 1rem / var(--font-size));
  font-family: var(--font-family__inter);
  font-size: calc(13 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.5;
  color: var(--color__primary);
  background-color: var(--color__secondary);
  border-block-end: 1px solid var(--color__line);
}

.m-article-sidebar__list {
  list-style: none;
  padding-block: calc(8 * 1rem / var(--font-size));
  padding-inline: calc(16 * 1rem / var(--font-size));
}

.m-article-sidebar__item {
  border-block-end: 1px solid var(--color__line);
}

.m-article-sidebar__item:last-child {
  border-block-end: none;
}

.m-article-sidebar__link {
  display: block;
  padding-block: calc(12 * 1rem / var(--font-size));
  font-family: var(--font-family__inter);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.5714285714;
  color: var(--color__text);
  text-decoration: none;
  transition: opacity var(--duration);
}
.m-article-sidebar__link:focus-visible {
  opacity: var(--opacity__hover);
}

.m-article-sidebar__item.is-active .m-article-sidebar__link {
  font-weight: 600;
  color: var(--color__primary);
}

.m-article-related {
  border-block-start: 1px solid var(--color__line);
  padding-block: calc(64 * 1rem / var(--font-size));
}

.m-article-related__title {
  font-family: var(--font-family__inter);
  font-size: calc(24 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.4;
  color: var(--color__primary);
}

.m-article-related__list {
  list-style: none;
  padding-block-start: calc(24 * 1rem / var(--font-size));
  border-block-end: 1px solid var(--color__line);
}

.m-article-related__item {
  border-block-start: 1px solid var(--color__line);
}

.m-article-related__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-block: calc(20 * 1rem / var(--font-size));
  padding-inline: calc(4 * 1rem / var(--font-size));
  text-decoration: none;
  transition: opacity var(--duration);
}
.m-article-related__link:focus-visible {
  opacity: var(--opacity__hover);
}

.m-article-related__body {
  display: flex;
  align-items: center;
  gap: calc(20 * 1rem / var(--font-size));
  min-inline-size: 0;
  padding-inline-end: calc(16 * 1rem / var(--font-size));
}

.m-article-related__date {
  flex-shrink: 0;
  inline-size: calc(76 * 1rem / var(--font-size));
  font-family: var(--font-family__inter);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 400;
  font-variant-numeric: tabular-nums;
  line-height: 1.4285714286;
  color: var(--color__tertiary);
  white-space: nowrap;
}

.m-article-related__item-title {
  min-inline-size: 0;
  overflow: hidden;
  font-family: var(--font-family__inter);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 600;
  line-height: 1.5714285714;
  color: var(--color__primary);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.m-article-related__cats {
  display: inline-flex;
  flex-shrink: 0;
  flex-wrap: wrap;
  gap: calc(6 * 1rem / var(--font-size));
}

.m-article-related__cat {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-block: calc(6 * 1rem / var(--font-size));
  padding-inline: calc(16 * 1rem / var(--font-size));
  font-family: var(--font-family__inter);
  font-size: calc(12 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: calc(18 * 1rem / var(--font-size));
  color: var(--color__tertiary);
  border: 1px solid var(--color__tertiary);
  border-radius: calc(999 * 1rem / var(--font-size));
}

.m-article-content {
  line-height: 2;
}
.m-article-content a:focus-visible {
  opacity: var(--opacity__hover);
}

.m-article-content a:not([class]) {
  color: var(--color__blue);
  text-decoration: underline;
}

.m-article-content p.wp-block-paragraph,
.m-article-content p:not([class]) {
  margin-block-end: calc(16 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(14 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 2;
  color: var(--color__body);
}

.m-article-content h2.wp-block-heading {
  margin-block-start: calc(32 * 1rem / var(--font-size));
  margin-block-end: calc(12 * 1rem / var(--font-size));
  padding-block-end: calc(8 * 1rem / var(--font-size));
  border-block-end: 1px solid var(--color__line);
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(18 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.5;
  color: var(--color__primary);
}

.m-article-content h3.wp-block-heading {
  margin-block-start: calc(32 * 1rem / var(--font-size));
  margin-block-end: calc(12 * 1rem / var(--font-size));
  padding-inline-start: calc(16 * 1rem / var(--font-size));
  border-inline-start: 2px solid var(--color__primary);
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(16 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.5;
  color: var(--color__primary);
}

.m-article-content h4.wp-block-heading {
  margin-block-start: calc(32 * 1rem / var(--font-size));
  margin-block-end: calc(12 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(15 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.6;
  color: var(--color__primary);
}

.m-article-content ul.wp-block-list {
  margin-block-end: calc(16 * 1rem / var(--font-size));
  padding-inline-start: calc(8 * 1rem / var(--font-size));
  list-style: none;
  display: flex;
  flex-direction: column;
  row-gap: calc(8 * 1rem / var(--font-size));
}

.m-article-content ul.wp-block-list li {
  position: relative;
  padding-inline-start: calc(28 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(16 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.05em;
  color: var(--color__text);
}

.m-article-content ul.wp-block-list li::before {
  content: "";
  position: absolute;
  inset-inline-start: calc(10 * 1rem / var(--font-size));
  top: 0.7em;
  width: calc(7 * 1rem / var(--font-size));
  height: calc(7 * 1rem / var(--font-size));
  border-radius: 50%;
  background-color: var(--color__primary);
}

.m-article-content ul.wp-block-list ul {
  margin-block-start: calc(8 * 1rem / var(--font-size));
  margin-block-end: calc(4 * 1rem / var(--font-size));
  padding-inline-start: calc(8 * 1rem / var(--font-size));
}

.m-article-content ul.wp-block-list ul li::before {
  width: calc(6 * 1rem / var(--font-size));
  height: calc(6 * 1rem / var(--font-size));
  background-color: transparent;
  border: 1.5px solid var(--color__primary);
}

.m-article-content .wp-block-table {
  margin-block-end: calc(16 * 1rem / var(--font-size));
  overflow-x: auto;
  overflow-y: hidden;
}

.m-article-content .wp-block-table table {
  width: 100%;
  border-collapse: collapse;
}

.m-article-content .wp-block-table th,
.m-article-content .wp-block-table td {
  padding-block: calc(12 * 1rem / var(--font-size));
  padding-inline: calc(16 * 1rem / var(--font-size));
  border: 1px solid var(--color__gray-pale);
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(15 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.05em;
  color: var(--color__text);
  text-align: left;
}

.m-article-content .wp-block-table th {
  background-color: var(--color__gray-pale-3);
  font-weight: 700;
}

.m-article-content .wp-block-file {
  display: flex;
  align-items: center;
  gap: calc(16 * 1rem / var(--font-size));
  margin-block-end: calc(16 * 1rem / var(--font-size));
  padding-block: calc(14 * 1rem / var(--font-size));
  padding-inline: calc(20 * 1rem / var(--font-size));
  background-color: var(--color__gray-pale-3);
  border-radius: calc(8 * 1rem / var(--font-size));
}

.m-article-content .wp-block-file a:first-child {
  flex: 1;
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(15 * 1rem / var(--font-size));
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.05em;
  color: var(--color__text);
}

.m-article-content .wp-block-file__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-block: calc(8 * 1rem / var(--font-size));
  padding-inline: calc(20 * 1rem / var(--font-size));
  background-color: var(--color__primary);
  border-radius: calc(4 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(13 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: var(--color__white);
  white-space: nowrap;
  transition: opacity var(--duration);
}
.m-article-content .wp-block-file__button:focus-visible {
  opacity: var(--opacity__hover);
}

.m-article-content .wp-element-caption {
  padding-block-start: calc(8 * 1rem / var(--font-size));
}

.m-article-content .wp-block-separator {
  block-size: 0;
  border: 0;
  border-block-start: 1px solid var(--color__gray-pale);
  margin-block: calc(48 * 1rem / var(--font-size));
  margin-inline: auto;
  max-inline-size: calc(120 * 1rem / var(--font-size));
}

.m-article-content .wp-block-separator.is-style-wide {
  max-inline-size: none;
  border-block-start-width: 2px;
  border-block-start-color: var(--color__primary);
}

.m-article-content .wp-block-separator.is-style-dots {
  border: 0;
  max-inline-size: none;
  block-size: auto;
  text-align: center;
  line-height: 1;
}
.m-article-content .wp-block-separator.is-style-dots::before {
  content: "···";
  display: block;
  font-family: var(--font-family__inter);
  font-size: calc(24 * 1rem / var(--font-size));
  letter-spacing: calc(12 * 1rem / var(--font-size));
  color: var(--color__primary);
}

.m-article-content .wp-block-buttons {
  margin-block: calc(40 * 1rem / var(--font-size));
}

.m-article-content .wp-block-button__link {
  padding-block: calc(16 * 1rem / var(--font-size));
  padding-inline: calc(32 * 1rem / var(--font-size));
  background-color: var(--color__primary);
  color: var(--color__white);
  font-family: var(--font-family__noto-sans-jp);
  font-weight: 700;
  text-decoration: none;
  border-radius: calc(4 * 1rem / var(--font-size));
}
.m-article-content .wp-block-button__link:focus-visible {
  opacity: var(--opacity__hover);
}

.m-article-content .wp-block-button.is-style-outline .wp-block-button__link {
  background-color: transparent;
  color: var(--color__primary);
  border: 2px solid currentcolor;
  padding-block: calc(calc(16 * 1rem / var(--font-size)) - 2px);
  padding-inline: calc(calc(32 * 1rem / var(--font-size)) - 2px);
}

.m-article-content ol.wp-block-list {
  margin-block-end: calc(16 * 1rem / var(--font-size));
  list-style: none;
  counter-reset: m-article-ol;
  display: flex;
  flex-direction: column;
}

.m-article-content ol.wp-block-list li {
  display: flex;
  align-items: baseline;
  gap: calc(4 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(15 * 1rem / var(--font-size));
  font-weight: 500;
  line-height: 1.7333333333;
  color: var(--color__text);
  counter-increment: m-article-ol;
}

.m-article-content ol.wp-block-list li::before {
  content: counter(m-article-ol, decimal-leading-zero);
  flex-shrink: 0;
  width: 2em;
  padding-inline: calc(8 * 1rem / var(--font-size));
  font-family: var(--font-family__jost);
  font-size: calc(20 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.7333333333;
  color: var(--color__primary);
}

.m-article-content > :first-child,
.m-article-content > :first-child.wp-block-heading {
  margin-block-start: 0;
}

.m-accordion {
  --_duration: var(--duration);
  border-top: 1px solid #333;
}

.m-accordion:last-of-type {
  border-bottom: 1px solid #333;
}

.m-accordion__button {
  display: grid;
  grid-template-columns: calc(30 * 1rem / var(--font-size)) 1fr calc(30 * 1rem / var(--font-size));
  -moz-column-gap: calc(10 * 1rem / var(--font-size));
       column-gap: calc(10 * 1rem / var(--font-size));
  align-items: center;
  width: 100%;
  padding-block: calc(20 * 1rem / var(--font-size));
  padding-inline: calc(20 * 1rem / var(--font-size));
}

.m-accordion__button-title {
  color: var(--color__blue);
  font-size: calc(20 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1;
}

.m-accordion__button-icon {
  position: relative;
  width: calc(27 * 1rem / var(--font-size));
  height: calc(27 * 1rem / var(--font-size));
  background-color: #a1ace6;
  border-radius: 50%;
  transition: background-color var(--_duration);
}

.m-accordion__button-icon::before,
.m-accordion__button-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: calc(12 * 1rem / var(--font-size));
  height: calc(2 * 1rem / var(--font-size));
  background-color: #fff;
  border-radius: 99px;
  translate: -50% -50%;
}

.m-accordion__button-icon::after {
  transition: rotate var(--_duration);
  rotate: -90deg;
}

.m-accordion__panel-content {
  display: grid;
  grid-template-columns: calc(30 * 1rem / var(--font-size)) 1fr calc(30 * 1rem / var(--font-size));
  -moz-column-gap: calc(10 * 1rem / var(--font-size));
       column-gap: calc(10 * 1rem / var(--font-size));
  border-top: 1px solid #aaa;
  padding-block: calc(18 * 1rem / var(--font-size));
  padding-inline: calc(22 * 1rem / var(--font-size));
}

.m-accordion__panel-title {
  font-size: calc(20 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1;
}

.m-accordion__button:has(+ .js-accordion__panel:not([hidden])) .m-accordion__button-icon {
  background-color: #bfbfbf;
}

.m-accordion__button:has(+ .js-accordion__panel:not([hidden])) .m-accordion__button-icon::after {
  rotate: 0deg;
}

.m-access {
  display: block;
  color: var(--color__text);
  background-color: var(--color__white);
}

.m-access-location {
  padding-block: var(--space__page-block);
}

.m-access-location__inner {
  display: flex;
  flex-direction: column;
}

.m-access-location__heading {
  display: flex;
  flex-direction: column;
  padding-block-end: calc(40 * 1rem / var(--font-size));
}

.m-access-location__en {
  font-family: var(--font-family__inter);
  font-size: min(60 * 1rem / var(--font-size), 60 / 1440 * 100vw);
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0;
  color: var(--color__tertiary);
  text-transform: uppercase;
}

.m-access-location__ja {
  display: flex;
  align-items: center;
  gap: calc(10 * 1rem / var(--font-size));
  padding-block-start: calc(20 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(26 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1;
  color: var(--color__primary);
}

.m-access-location__ja-marker {
  display: inline-block;
  flex-shrink: 0;
  inline-size: calc(3 * 1rem / var(--font-size));
  block-size: calc(35 * 1rem / var(--font-size));
  background-color: var(--color__accent);
}

.m-access-location__map {
  aspect-ratio: 1312/288;
  inline-size: 100%;
  border: 1px solid var(--color__line);
  border-radius: calc(6 * 1rem / var(--font-size)) calc(6 * 1rem / var(--font-size)) 0 0;
  overflow: hidden;
  background-color: var(--color__secondary);
}
.m-access-location__map iframe {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  border: 0;
}

.m-access-location__map--large {
  aspect-ratio: 1312/500;
}

.m-access-location__info {
  border-inline: 1px solid var(--color__line);
  border-block-end: 1px solid var(--color__line);
  border-radius: 0 0 calc(6 * 1rem / var(--font-size)) calc(6 * 1rem / var(--font-size));
}

.m-access-location__row {
  display: flex;
  align-items: center;
  padding-block: calc(18 * 1rem / var(--font-size)) calc(19 * 1rem / var(--font-size));
  padding-inline: calc(28 * 1rem / var(--font-size));
  border-block-start: 1px solid var(--color__line);
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(16 * 1rem / var(--font-size));
  line-height: 1.75;
}
.m-access-location__row:first-child {
  border-block-start: 0;
}

.m-access-location__label {
  flex-shrink: 0;
  inline-size: calc(110 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-weight: 700;
  font-size: calc(18 * 1rem / var(--font-size));
  line-height: 1.2222222222;
  color: var(--color__primary);
  text-transform: uppercase;
}

.m-access-location__values {
  display: flex;
  flex-direction: column;
  flex: 1;
  font-weight: 400;
  color: var(--color__text);
}

.m-access-location__value {
  display: inline-block;
  overflow-wrap: anywhere;
}

.m-about {
  display: block;
  color: var(--color__text);
  background-color: var(--color__white);
}

.m-about-principles {
  padding-block: var(--space__page-block);
}

.m-about-principles__inner {
  display: flex;
  flex-direction: column;
}

.m-about-principles__heading {
  display: flex;
  flex-direction: column;
}

.m-about-principles__en {
  font-family: var(--font-family__inter);
  font-size: min(60 * 1rem / var(--font-size), 60 / 1440 * 100vw);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: 0;
  color: var(--color__tertiary);
}

.m-about-principles__ja {
  display: flex;
  align-items: center;
  padding-block-start: calc(20 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(26 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1;
  color: var(--color__primary);
}

.m-about-principles__ja-marker {
  display: inline-block;
  inline-size: calc(3 * 1rem / var(--font-size));
  block-size: calc(35 * 1rem / var(--font-size));
  margin-inline-end: calc(10 * 1rem / var(--font-size));
  background-color: var(--color__accent);
}

.m-about-principles__lead {
  padding-block: calc(40 * 1rem / var(--font-size)) calc(64 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(16 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.75;
  color: var(--color__text);
}

.m-about-principles__body {
  padding-block-start: calc(20 * 1rem / var(--font-size));
}

.m-about-principles__list {
  display: flex;
  flex-direction: column;
}

.m-about-principles__item {
  padding-block-start: calc(20 * 1rem / var(--font-size));
}
.m-about-principles__item:first-child {
  padding-block-start: 0;
}

.m-about-principles__item-heading {
  display: flex;
  align-items: baseline;
  gap: calc(20 * 1rem / var(--font-size));
  padding-block: calc(16 * 1rem / var(--font-size));
}

.m-about-principles__item-en {
  font-family: var(--font-family__inter);
  font-size: calc(26 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1;
  color: var(--color__tertiary);
}

.m-about-principles__item-ja {
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(26 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1;
  color: var(--color__primary);
}

.m-about-principles__item-body {
  padding-block-start: calc(20 * 1rem / var(--font-size));
}

.m-about-principles__item-text {
  font-family: var(--font-family__noto-sans-jp);
  font-size: min(32 * 1rem / var(--font-size), 32 / 1440 * 100vw);
  font-weight: 700;
  line-height: 1.375;
  color: var(--color__primary);
}

.m-about-principles__item-note {
  padding-block-start: calc(16 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(16 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.75;
  color: var(--color__text);
}

.m-about-principles__item-note-heading {
  padding-block-end: calc(28 * 1rem / var(--font-size));
}

.m-about-principles__item-list {
  padding-inline-start: calc(24 * 1rem / var(--font-size));
  list-style-type: decimal;
}

.m-about-principles__item-list-item {
  padding-inline-start: calc(4 * 1rem / var(--font-size));
}

.m-about-principles__pyramid {
  padding-block-start: calc(80 * 1rem / var(--font-size));
  inline-size: 100%;
}
.m-about-principles__pyramid img {
  display: block;
  inline-size: 100%;
  block-size: auto;
}

.m-about-overview {
  padding-block: var(--space__page-block);
}

.m-about-overview__inner {
  display: flex;
  flex-direction: column;
}

.m-about-overview__heading {
  display: flex;
  flex-direction: column;
}

.m-about-overview__en {
  font-family: var(--font-family__inter);
  font-size: min(60 * 1rem / var(--font-size), 60 / 1440 * 100vw);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: 0;
  color: var(--color__tertiary);
}

.m-about-overview__ja {
  display: flex;
  align-items: center;
  padding-block-start: calc(20 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(26 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1;
  color: var(--color__primary);
}

.m-about-overview__ja-marker {
  display: inline-block;
  inline-size: calc(3 * 1rem / var(--font-size));
  block-size: calc(35 * 1rem / var(--font-size));
  margin-inline-end: calc(10 * 1rem / var(--font-size));
  background-color: var(--color__accent);
}

.m-about-overview__table {
  margin-block-start: calc(40 * 1rem / var(--font-size));
  inline-size: 100%;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
  font-family: var(--font-family__noto-sans-jp);
  border: calc(1 * 1rem / var(--font-size)) solid var(--color__line);
  border-radius: calc(6 * 1rem / var(--font-size));
  overflow: hidden;
}

.m-about-overview__th {
  padding: calc(16 * 1rem / var(--font-size)) calc(28 * 1rem / var(--font-size));
  font-family: var(--font-family__inter);
  font-size: calc(20 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.5;
  color: var(--color__white);
  text-align: start;
  vertical-align: middle;
  background-color: var(--color__primary);
}

.m-about-overview__th:first-child {
  inline-size: calc(300 * 1rem / var(--font-size));
}

.m-about-overview__label {
  padding: calc(22 * 1rem / var(--font-size)) calc(28 * 1rem / var(--font-size));
  inline-size: calc(300 * 1rem / var(--font-size));
  font-family: var(--font-family__inter);
  font-size: calc(20 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.5;
  color: var(--color__primary);
  text-align: start;
  vertical-align: middle;
  background-color: var(--color__secondary);
  border-block-start: calc(1 * 1rem / var(--font-size)) solid var(--color__line);
  border-inline-end: calc(1 * 1rem / var(--font-size)) solid var(--color__line);
}

.m-about-overview__value {
  padding: calc(22 * 1rem / var(--font-size)) calc(28 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(16 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.75;
  color: var(--color__text);
  vertical-align: middle;
  border-block-start: calc(1 * 1rem / var(--font-size)) solid var(--color__line);
}

.m-about-message {
  padding-block: var(--space__page-block);
  background-color: var(--color__secondary);
}

.m-about-message__inner {
  display: grid;
  grid-template-columns: min(458 * 1rem / var(--font-size), 35%) 1fr;
  grid-template-areas: "image heading" "image body";
  align-items: center;
  -moz-column-gap: min(56 * 1rem / var(--font-size), 56 / 1440 * 100vw);
       column-gap: min(56 * 1rem / var(--font-size), 56 / 1440 * 100vw);
}

.m-about-message__heading {
  grid-area: heading;
  display: flex;
  flex-direction: column;
}

.m-about-message__image {
  grid-area: image;
  display: block;
  inline-size: 100%;
  block-size: auto;
}
.m-about-message__image img {
  display: block;
  inline-size: 100%;
  block-size: auto;
  border-radius: calc(6 * 1rem / var(--font-size));
  -o-object-fit: cover;
     object-fit: cover;
}

.m-about-message__body {
  grid-area: body;
  display: flex;
  flex-direction: column;
}

.m-about-message__en {
  font-family: var(--font-family__inter);
  font-size: min(60 * 1rem / var(--font-size), 60 / 1440 * 100vw);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: 0;
  color: var(--color__tertiary);
}

.m-about-message__ja {
  display: flex;
  align-items: center;
  padding-block-start: calc(16 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(26 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1;
  color: var(--color__primary);
}

.m-about-message__ja-marker {
  display: inline-block;
  inline-size: calc(3 * 1rem / var(--font-size));
  block-size: calc(35 * 1rem / var(--font-size));
  margin-inline-end: calc(10 * 1rem / var(--font-size));
  background-color: var(--color__accent);
}

.m-about-message__text {
  padding-block-start: calc(36 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(16 * 1rem / var(--font-size));
  font-weight: 400;
  line-height: 1.75;
  color: var(--color__text);
}

.m-about-message__closing {
  padding-block-start: calc(16 * 1rem / var(--font-size));
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(16 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.75;
  color: var(--color__primary);
}

.m-about-message__signature {
  padding-block-start: calc(16 * 1rem / var(--font-size));
  text-align: end;
  font-family: var(--font-family__noto-sans-jp);
  font-size: calc(16 * 1rem / var(--font-size));
  font-weight: 700;
  line-height: 1.75;
  color: var(--color__primary);
}

/*
 * ユーティリティについて
 * 再利用可能なユーティリティクラスを定義します。
 * ユーティリティクラスは、コンポーネントやページのスタイルを簡潔に記述するために使用されます。
 * クラス名は、u-brのように命名します。
 */
.u-wbr {
  word-break: keep-all;
}

.u-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.u-release--left {
  margin-left: calc(50% - var(--js-width__viewport) / 2);
}

.u-release--right {
  margin-right: calc(50% - var(--js-width__viewport) / 2);
}

/* PCでのみ表示 */
/* スマホでのみ表示 */
.u-hover--opacity {
  transition: opacity var(--duration);
}
.u-hover--opacity:focus-visible {
  opacity: var(--opacity__hover);
}

.u-hover--drop-shadow {
  transition: filter var(--duration);
}
.u-hover--drop-shadow:focus-visible {
  filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.2));
  transform: translateZ(0);
}

.u-hover--color-main {
  transition: color var(--duration);
}
.u-hover--color-main:focus-visible {
  color: var(--color__blue);
}

.u-hover--underline-1px {
  position: relative;
}
.u-hover--underline-1px:focus-visible::after {
  transform: scaleX(1);
  transform-origin: left;
}

.u-hover--underline-1px::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 1px;
  background-color: currentcolor;
  width: 100%;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform var(--duration);
}

.u-hover--underline-2px {
  position: relative;
}
.u-hover--underline-2px:focus-visible::after {
  transform: scaleX(1);
  transform-origin: left;
}

.u-hover--underline-2px::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 2px;
  background-color: currentcolor;
  width: 100%;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform var(--duration);
}

.u-hanging-indent {
  padding-left: 1em;
  text-indent: -1em;
}

.u-font-weight--100 {
  font-weight: 100;
}

.u-font-weight--200 {
  font-weight: 200;
}

.u-font-weight--300 {
  font-weight: 300;
}

.u-font-weight--400 {
  font-weight: 400;
}

.u-font-weight--500 {
  font-weight: 500;
}

.u-font-weight--600 {
  font-weight: 600;
}

.u-font-weight--700 {
  font-weight: 700;
}

.u-font-weight--800 {
  font-weight: 800;
}

.u-font-weight--900 {
  font-weight: 900;
}

.u-color--text {
  color: var(--color__text);
}

.u-color--white {
  color: var(--color__white);
}

.u-color--black {
  color: var(--color__black);
}

.u-color--primary {
  color: var(--color__primary);
}

.u-color--tertiary {
  color: var(--color__tertiary);
}

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

.u-bg--white {
  background-color: var(--color__white);
}

@media (min-width: 768px){
  .l-inner--800 {
    --_max-width: 800;
  }
  .l-inner--1180 {
    --_max-width: 1180;
  }
  .l-inner--1200 {
    --_max-width: 1200;
  }
  .l-inner--1216 {
    --_max-width: 1216;
  }
  .l-inner--1792 {
    --_max-width: 1792;
  }
  .l-3-columns-pc {
    --_width__left: 400;
    --_width__center: 400;
    --_width__right: 840;
    --_column-gap: 40;
    --_width__columns: calc(
      var(--_width__left) + var(--_width__center) + var(--_width__right)
    );
    --_width__gaps: calc(var(--_column-gap) * 2);
    --_width__total: calc(var(--_width__columns) + var(--_width__gaps));
    display: grid;
    grid-template-columns: calc(var(--_width__left) / var(--_width__total) * 100%) calc(var(--_width__center) / var(--_width__total) * 100%) calc(var(--_width__right) / var(--_width__total) * 100%);
    -moz-column-gap: calc(var(--_column-gap) / var(--_width__total) * 100%);
         column-gap: calc(var(--_column-gap) / var(--_width__total) * 100%);
  }
  .l-2-columns-pc {
    display: grid;
    grid-template-columns: calc(var(--_width__left) / var(--_width__total) * 100%) calc(var(--_width__right) / var(--_width__total) * 100%);
    -moz-column-gap: calc(var(--_column-gap) / var(--_width__total) * 100%);
         column-gap: calc(var(--_column-gap) / var(--_width__total) * 100%);
  }
  .l-2-columns-pc--release-left {
    margin-left: max(50% - var(--js-width__viewport) / 2, 50% - var(--max-width) * 1px / 2);
  }
  .l-2-columns-pc--release-right {
    margin-right: max(50% - var(--js-width__viewport) / 2, 50% - var(--max-width) * 1px / 2);
  }
  .l-2-columns-pc--reverse {
    grid-template-columns: calc(var(--_width__right) / var(--_width__total) * 100%) calc(var(--_width__left) / var(--_width__total) * 100%);
  }
  .l-2-columns-pc--reverse > *:last-child {
    order: -1;
  }
  .l-2-columns-pc--release-left.l-2-columns-pc--reverse {
    margin-right: max(50% - var(--js-width__viewport) / 2, 50% - var(--max-width) * 1px / 2);
    margin-left: auto;
  }
  .l-2-columns-pc--release-right.l-2-columns-pc--reverse {
    margin-right: auto;
    margin-left: max(50% - var(--js-width__viewport) / 2, 50% - var(--max-width) * 1px / 2);
  }
  .m-footer__inner {
    --_padding-inline: 64;
  }
  .u-only--sp {
    display: none;
  }
}

@media (max-width: 1376px){
  html {
    font-size: calc(var(--_font-size) / var(--_width) * 100vw);
  }
}

@media (max-width: 767px){
  :root {
    --width__breakpoint: 375;
    --space-inline: 32;
    --max-width: 600;
    --space__section: 30;
    --space__page-block: calc(96 * 1rem / var(--font-size));
    --js-height__header: calc(82 * 1rem / var(--font-size));
  }
  html {
    font-size: calc(var(--_font-size) * 1px);
  }
  .l-inner {
    --_max-width: var(--max-width, 600);
  }
  .l-inner--sp-16 {
    --_padding-inline: 16;
  }
  .l-container--sidebar {
    grid-template-columns: unset;
    row-gap: calc(32 * 1rem / var(--font-size));
  }
  .m-video-modal .m-video-modal__inner {
    inline-size: min(88vw, 560 * 1rem / var(--font-size));
  }
  .m-video-modal__close {
    inset-block-start: calc(-40 * 1rem / var(--font-size));
    inline-size: calc(32 * 1rem / var(--font-size));
    block-size: calc(32 * 1rem / var(--font-size));
  }
  .m-thanks {
    padding-block: calc(64 * 1rem / var(--font-size));
  }
  .m-thanks__card {
    row-gap: calc(32 * 1rem / var(--font-size));
    padding-block: calc(48 * 1rem / var(--font-size));
    padding-inline: calc(24 * 1rem / var(--font-size));
  }
  .m-thanks__title {
    font-size: calc(22 * 1rem / var(--font-size));
  }
  .m-thanks__lead {
    font-size: calc(18 * 1rem / var(--font-size));
  }
  .m-sitemap-nav {
    padding-block: calc(64 * 1rem / var(--font-size));
  }
  .m-sitemap-nav__card {
    padding: calc(48 * 1rem / var(--font-size)) calc(24 * 1rem / var(--font-size));
  }
  .m-sitemap-nav__grid {
    grid-template-columns: 1fr;
  }
  .m-sitemap-nav__section--company {
    order: 1;
  }
  .m-sitemap-nav__heading {
    font-size: calc(20 * 1rem / var(--font-size));
    line-height: 1.5;
  }
  .m-sitemap-nav__list {
    row-gap: calc(4 * 1rem / var(--font-size));
  }
  .m-sitemap-nav__label {
    font-size: calc(15 * 1rem / var(--font-size));
    font-weight: 600;
    line-height: 1.5;
  }
  .m-quality-technology {
    padding-block-end: var(--space__page-block);
  }
  .m-quality-technology__en {
    font-size: calc(37 * 1rem / var(--font-size));
  }
  .m-quality-technology__ja {
    padding-block-start: calc(16 * 1rem / var(--font-size));
    font-size: calc(18 * 1rem / var(--font-size));
    line-height: 1.2222222222;
  }
  .m-quality-technology__ja-marker {
    block-size: calc(22 * 1rem / var(--font-size));
    margin-inline-end: calc(12 * 1rem / var(--font-size));
  }
  .m-quality-technology__lead {
    padding-block-start: calc(16 * 1rem / var(--font-size));
    font-size: calc(18 * 1rem / var(--font-size));
    line-height: 1.2222222222;
  }
  .m-quality-technology__body {
    padding-block-start: calc(32 * 1rem / var(--font-size));
  }
  .m-quality-technology__split {
    flex-direction: column;
    gap: calc(32 * 1rem / var(--font-size));
  }
  .m-quality-technology__split--divider {
    flex-direction: column-reverse;
    padding-block-end: calc(40 * 1rem / var(--font-size));
  }
  .m-quality-technology__split--reverse {
    padding-block-start: 0;
  }
  .m-quality-technology__split-title {
    padding-block-end: 0;
    font-size: calc(17 * 1rem / var(--font-size));
    line-height: 1.2941176471;
  }
  .m-quality-technology__split-title--sp {
    padding-block-start: calc(33 * 1rem / var(--font-size));
  }
  .m-quality-technology__split-text {
    font-size: calc(14 * 1rem / var(--font-size));
    line-height: 1.8571428571;
  }
  .m-quality-technology__split-text-p + .m-quality-technology__split-text-p {
    padding-block-start: calc(26 * 1rem / var(--font-size));
  }
  .m-quality-technology__split-image {
    flex: 0 0 auto;
    inline-size: 100%;
    aspect-ratio: 311/243;
  }
  .m-quality-process {
    padding-block: calc(56 * 1rem / var(--font-size));
  }
  .m-quality-process__en {
    font-size: calc(37 * 1rem / var(--font-size));
  }
  .m-quality-process__ja {
    padding-block-start: calc(8 * 1rem / var(--font-size));
    font-size: calc(18 * 1rem / var(--font-size));
    line-height: 1.2222222222;
  }
  .m-quality-process__ja-marker {
    block-size: calc(22 * 1rem / var(--font-size));
    margin-inline-end: calc(12 * 1rem / var(--font-size));
  }
  .m-quality-process__lead {
    padding-block-start: calc(12 * 1rem / var(--font-size));
    font-size: calc(14 * 1rem / var(--font-size));
    line-height: 1.8571428571;
  }
  .m-quality-process__steps {
    grid-template-columns: 1fr;
    gap: calc(30 * 1rem / var(--font-size));
    padding-inline: 0;
    padding-block-start: calc(48 * 1rem / var(--font-size));
  }
  .m-quality-process__step:not(:last-child)::after {
    top: calc(34 * 1rem / var(--font-size));
    left: 50%;
    transform: translateX(-50%);
    inline-size: calc(3 * 1rem / var(--font-size));
    block-size: calc(100% + calc(30 * 1rem / var(--font-size)));
  }
  .m-quality-process__step-number {
    inline-size: calc(68 * 1rem / var(--font-size));
    block-size: calc(68 * 1rem / var(--font-size));
    font-size: calc(26 * 1rem / var(--font-size));
  }
  .m-quality-process__step-title {
    position: relative;
    z-index: 1;
    padding-block-start: calc(16 * 1rem / var(--font-size));
    font-size: calc(14 * 1rem / var(--font-size));
    font-weight: 600;
    line-height: 1.5714285714;
    background-color: var(--color__secondary);
    background-clip: content-box;
  }
  .m-quality-process__step-desc {
    position: relative;
    z-index: 1;
    padding-block-start: calc(6 * 1rem / var(--font-size));
    font-size: calc(12 * 1rem / var(--font-size));
    line-height: 1.5;
    background-color: var(--color__secondary);
  }
  .m-quality-facilities {
    padding-block: calc(56 * 1rem / var(--font-size));
    background-color: #f7f8f9;
  }
  .m-quality-facilities__en {
    font-size: calc(36 * 1rem / var(--font-size));
  }
  .m-quality-facilities__ja {
    padding-block-start: calc(16 * 1rem / var(--font-size));
    font-size: calc(18 * 1rem / var(--font-size));
  }
  .m-quality-facilities__ja-marker {
    block-size: calc(24 * 1rem / var(--font-size));
  }
  .m-quality-facilities__lead {
    padding-block-end: calc(48 * 1rem / var(--font-size));
  }
  .m-quality-facilities__group + .m-quality-facilities__group {
    padding-block-start: calc(64 * 1rem / var(--font-size));
  }
  .m-quality-facilities__group--last {
    padding-block-end: calc(64 * 1rem / var(--font-size));
  }
  .m-quality-facilities__group-title {
    font-size: calc(20 * 1rem / var(--font-size));
  }
  .m-quality-facilities__hero img {
    aspect-ratio: 311/403;
  }
  .m-quality-facilities__grid {
    grid-template-columns: 1fr;
    gap: calc(16 * 1rem / var(--font-size));
    padding-block-start: calc(16 * 1rem / var(--font-size));
  }
  .m-quality-facilities__grid-item img {
    aspect-ratio: 311/203;
  }
  .m-quality-facilities__caption {
    padding-inline: calc(16 * 1rem / var(--font-size));
    padding-block-end: calc(16 * 1rem / var(--font-size));
  }
  .m-quality-facilities__hero .m-quality-facilities__caption {
    background-image: linear-gradient(to top, rgb(var(--color__overlay-rgb)/0.95) 0%, rgb(var(--color__overlay-rgb)/0.4) 17.89%, rgb(var(--color__overlay-rgb)/0) 31.3%);
  }
  .m-quality-facilities__stats-wrap {
    padding-block-start: calc(24 * 1rem / var(--font-size));
    border-block-start: 1px solid var(--color__line);
  }
  .m-quality-facilities__stats {
    display: flex;
    flex-direction: column;
    gap: 0;
    overflow: hidden;
    border: 1px solid rgba(23, 59, 87, 0.1);
    border-radius: calc(2 * 1rem / var(--font-size));
  }
  .m-quality-facilities__stat {
    padding: calc(20 * 1rem / var(--font-size)) calc(24 * 1rem / var(--font-size));
    background-color: #fff;
    border-radius: 0;
    min-block-size: 0;
  }
  .m-quality-facilities__stat:not(:last-of-type) {
    border-block-end: 1px solid rgba(23, 59, 87, 0.08);
  }
  .m-quality-facilities__stat-value {
    font-size: calc(18 * 1rem / var(--font-size));
    line-height: 1.1111111111;
  }
  .m-quality-facilities__stat--certs {
    padding-inline: calc(4 * 1rem / var(--font-size));
  }
  .m-quality-facilities__stat-value--certs {
    -moz-column-gap: calc(6 * 1rem / var(--font-size));
         column-gap: calc(6 * 1rem / var(--font-size));
    font-size: calc(18 * 1rem / var(--font-size));
    line-height: 1.1111111111;
  }
  .m-quality-facilities__stat-cert-note {
    font-weight: 600;
    line-height: 1.8333333333;
  }
  .m-quality-facilities__stat-label {
    font-size: calc(14 * 1rem / var(--font-size));
    line-height: 1.5714285714;
  }
  .m-quality-certification__en {
    font-size: calc(37 * 1rem / var(--font-size));
  }
  .m-quality-certification__ja {
    padding-block-start: calc(8 * 1rem / var(--font-size));
    font-size: calc(18 * 1rem / var(--font-size));
    line-height: 1.2222222222;
  }
  .m-quality-certification__ja-marker {
    block-size: calc(22 * 1rem / var(--font-size));
    margin-inline-end: calc(12 * 1rem / var(--font-size));
  }
  .m-quality-certification__lead {
    padding-block-start: calc(12 * 1rem / var(--font-size));
    padding-block-end: calc(32 * 1rem / var(--font-size));
    font-size: calc(14 * 1rem / var(--font-size));
    line-height: 1.8571428571;
  }
  .m-quality-certification__cards {
    grid-template-columns: 1fr;
    gap: calc(15 * 1rem / var(--font-size));
  }
  .m-quality-certification__card {
    gap: 0;
    padding: calc(32 * 1rem / var(--font-size)) calc(16 * 1rem / var(--font-size));
  }
  .m-quality-certification__card-badge--wide {
    inline-size: calc(216 * 1rem / var(--font-size));
    block-size: calc(60 * 1rem / var(--font-size));
  }
  .m-quality-certification__card-title {
    padding-block-start: calc(16 * 1rem / var(--font-size));
    font-family: var(--font-family__noto-sans-jp);
    line-height: 1.2222222222;
  }
  .m-quality-certification__card-desc {
    font-size: calc(14 * 1rem / var(--font-size));
    line-height: 1.5714285714;
  }
  .m-products-recommend {
    padding-block-start: calc(14 * 1rem / var(--font-size));
  }
  .m-products-recommend__en {
    padding-block: calc(8 * 1rem / var(--font-size));
    font-size: calc(24 * 1rem / var(--font-size));
  }
  .m-products-recommend__ja {
    padding-block-start: calc(10 * 1rem / var(--font-size));
    font-size: calc(18 * 1rem / var(--font-size));
  }
  .m-products-recommend__list {
    grid-template-columns: 1fr;
    gap: calc(20 * 1rem / var(--font-size));
    padding-block-start: calc(32 * 1rem / var(--font-size));
  }
  .m-products-recommend__media {
    aspect-ratio: 311/140;
  }
  .m-products-recommend__label {
    padding-block: calc(16 * 1rem / var(--font-size));
    padding-inline: calc(16 * 1rem / var(--font-size));
    font-size: calc(16 * 1rem / var(--font-size));
    line-height: 1.6;
    text-align: center;
  }
  .m-products-category {
    padding-block-start: calc(96 * 1rem / var(--font-size));
  }
  .m-products-category__en {
    padding-block: calc(8 * 1rem / var(--font-size));
    font-size: calc(24 * 1rem / var(--font-size));
  }
  .m-products-category__grid {
    grid-template-columns: 1fr;
    grid-auto-rows: calc(237 * 1rem / var(--font-size));
  }
  .m-products-category__item--hero {
    grid-column: auto;
    grid-row: auto;
    block-size: calc(237 * 1rem / var(--font-size));
  }
  .m-products-category__num {
    font-size: calc(70 * 1rem / var(--font-size));
    inset-block-start: calc(4 * 1rem / var(--font-size));
    inset-inline-end: calc(14 * 1rem / var(--font-size));
  }
  .m-products-category__foot {
    justify-content: center;
    text-align: center;
  }
  .m-products-category__item--bottom .m-products-category__foot {
    min-block-size: auto;
    padding-inline: calc(18 * 1rem / var(--font-size));
  }
  .m-products-archive__layout {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    row-gap: calc(32 * 1rem / var(--font-size));
  }
  .m-products-archive__sidebar {
    display: contents;
  }
  .m-products-archive__main {
    display: contents;
  }
  .m-products-archive .m-product-search {
    order: 1;
  }
  .m-products-archive .m-product-filter {
    order: 2;
  }
  .m-products-archive .m-medical-cta-sidebar {
    order: 3;
  }
  .m-products-archive .m-products-archive-grid,
  .m-products-archive .m-products-archive__empty,
  .m-products-archive .m-products-archive__hits {
    order: 4;
  }
  .m-products-archive .m-pagination {
    order: 5;
  }
  .m-products-archive-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: calc(20 * 1rem / var(--font-size));
  }
  .m-products-archive-grid__media {
    aspect-ratio: 145.5/140;
  }
  .m-products-archive-grid__media img {
    padding: calc(8 * 1rem / var(--font-size));
  }
  .m-products-archive-grid__label {
    font-size: calc(14 * 1rem / var(--font-size));
    line-height: 1.4285714286;
    text-align: center;
  }
  .m-products-archive-grid__sub {
    text-align: center;
  }
  .m-product {
    padding-block: calc(40 * 1rem / var(--font-size)) calc(96 * 1rem / var(--font-size));
  }
  .m-product__layout {
    display: flex;
    flex-direction: column;
    row-gap: calc(24 * 1rem / var(--font-size));
  }
  .m-product__sidebar {
    display: contents;
  }
  .m-product__main {
    display: contents;
  }
  .m-product .m-product-search {
    order: 1;
  }
  .m-product .m-product-filter {
    order: 2;
  }
  .m-product .m-medical-cta-sidebar {
    order: 3;
  }
  .m-product .m-product-hero-detail {
    order: 4;
  }
  .m-product .m-product-tabs {
    order: 5;
  }
  .m-product-tabs__nav {
    gap: 0;
  }
  .m-product-tabs__nav-button {
    padding-block: calc(12 * 1rem / var(--font-size));
    padding-inline: calc(16 * 1rem / var(--font-size));
    font-size: calc(14 * 1rem / var(--font-size));
    border-inline: 0;
    border-block-start: 0;
    border-block-end: 1px solid transparent;
  }
  .m-product-tabs__nav-button[aria-selected=true] {
    background-color: transparent;
    border-color: transparent;
    border-block-end-color: var(--color__primary);
  }
  .m-product-tab-specs__inner {
    padding-block-start: calc(24 * 1rem / var(--font-size));
    gap: calc(24 * 1rem / var(--font-size));
  }
  .m-product-tab-specs__group {
    gap: calc(32 * 1rem / var(--font-size));
  }
  .m-product-tab-specs__label {
    inline-size: calc(154 * 1rem / var(--font-size));
  }
  .m-product-tab-specs__value {
    color: var(--color__text);
  }
  .m-product-tab-codes__price {
    inline-size: auto;
    white-space: normal;
    text-align: start;
  }
  .m-product-tab-overview__intro {
    padding-block-start: calc(24 * 1rem / var(--font-size));
  }
  .m-product-tab-overview__lead {
    line-height: 1.8571428571;
  }
  .m-product-tab-badges {
    padding-block-start: calc(32 * 1rem / var(--font-size));
    gap: calc(7 * 1rem / var(--font-size));
  }
  .m-product-tab-codes__table {
    display: block;
    table-layout: auto;
  }
  .m-product-tab-codes__table tbody {
    display: flex;
    flex-direction: column;
    gap: calc(12 * 1rem / var(--font-size));
  }
  .m-product-tab-codes__row {
    display: flex;
    flex-direction: column;
    padding-block: calc(17 * 1rem / var(--font-size));
    padding-inline: calc(17 * 1rem / var(--font-size));
    border: 1px solid var(--color__line);
    border-radius: calc(6 * 1rem / var(--font-size));
  }
  .m-product-tab-codes__row:nth-child(even) {
    background-color: var(--color__white);
  }
  .m-product-tab-codes__code,
  .m-product-tab-codes__desc,
  .m-product-tab-codes__price {
    display: block;
    padding: 0;
    inline-size: auto;
    border-block-end: none;
  }
  .m-product-tab-codes__code {
    padding-block-end: calc(4 * 1rem / var(--font-size));
    font-weight: 700;
  }
  .m-product-tab-codes__desc {
    padding-block-end: calc(4 * 1rem / var(--font-size));
    line-height: 1.8571428571;
    color: var(--color__text);
  }
  .m-product-tab-codes__price-main {
    font-weight: 700;
  }
  .m-product-tab-codes__price-sub {
    font-size: calc(12 * 1rem / var(--font-size));
  }
  .m-product-tab-options__toggle-title {
    font-size: calc(16 * 1rem / var(--font-size));
  }
  .m-product-tab-options__name-row {
    flex-wrap: wrap;
    -moz-column-gap: calc(8 * 1rem / var(--font-size));
         column-gap: calc(8 * 1rem / var(--font-size));
  }
  .m-product-tab-options__inner {
    padding-block-start: calc(24 * 1rem / var(--font-size));
  }
  .m-product-tab-options__notes {
    padding-block-end: calc(14 * 1rem / var(--font-size));
  }
  .m-product-tab-options__list {
    border-block-start: 0;
  }
  .m-product-tab-options__item {
    display: grid;
    grid-template-columns: auto auto minmax(0, 1fr);
    -moz-column-gap: calc(11 * 1rem / var(--font-size));
         column-gap: calc(11 * 1rem / var(--font-size));
    row-gap: calc(6 * 1rem / var(--font-size));
    align-items: start;
    padding-block: calc(15 * 1rem / var(--font-size)) calc(14 * 1rem / var(--font-size));
    border-block-start: 1px solid var(--color__line);
    border-block-end: 0;
  }
  .m-product-tab-options__number {
    grid-area: 1/1;
    padding-block-start: calc(3 * 1rem / var(--font-size));
    min-inline-size: calc(20 * 1rem / var(--font-size));
    inline-size: auto;
    font-weight: 700;
    color: var(--color__text);
  }
  .m-product-tab-options__thumb {
    grid-area: 1/2;
    inline-size: calc(54 * 1rem / var(--font-size));
    block-size: calc(42 * 1rem / var(--font-size));
    border: 1px solid var(--color__line);
  }
  .m-product-tab-options__thumb img {
    inline-size: 100%;
    block-size: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .m-product-tab-options__meta {
    grid-area: 1/3;
    gap: calc(6 * 1rem / var(--font-size));
  }
  .m-product-tab-options__desc {
    padding-block-start: 0;
  }
  .m-product-tab-options__price {
    grid-area: 2/3;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    -moz-column-gap: calc(8 * 1rem / var(--font-size));
         column-gap: calc(8 * 1rem / var(--font-size));
    row-gap: calc(2 * 1rem / var(--font-size));
    align-items: end;
    inline-size: 100%;
  }
  .m-product-tab-options__price-main {
    grid-area: 1/1;
    text-align: start;
  }
  .m-product-tab-options__price-sub {
    grid-area: 2/1;
    text-align: start;
  }
  .m-product-tab-options__link {
    grid-column: 2;
    grid-row: 1/span 2;
    align-self: end;
    padding-block: calc(7 * 1rem / var(--font-size));
    padding-inline: calc(12 * 1rem / var(--font-size));
    font-size: calc(11 * 1rem / var(--font-size));
    font-weight: 700;
    letter-spacing: normal;
  }
  .m-product-tab-features__cards {
    grid-template-columns: 1fr;
  }
  .m-product-tab-features__card:not(:nth-child(3n+1)) {
    border-inline-start: 0;
  }
  .m-product-tab-features__cards {
    row-gap: calc(8 * 1rem / var(--font-size));
  }
  .m-product-tab-features__card:not(:first-child) {
    border-block-start: 0;
  }
  .m-product-tab-features__inner {
    padding-block-start: calc(24 * 1rem / var(--font-size));
  }
  .m-product-tab-features__h4 {
    font-size: calc(18 * 1rem / var(--font-size));
  }
  .m-product-tab-features__card {
    padding: calc(16 * 1rem / var(--font-size));
    gap: calc(8 * 1rem / var(--font-size));
  }
  .m-product-tab-features__title {
    padding-block-start: 0;
    flex-direction: column;
    align-items: flex-start;
    gap: calc(8 * 1rem / var(--font-size));
  }
  .m-product-tab-features__icon {
    inline-size: calc(18 * 1rem / var(--font-size));
    block-size: calc(18 * 1rem / var(--font-size));
  }
  .m-product-tab-features__text {
    padding-block-start: 0;
  }
  .m-product-tab-downloads__inner {
    flex-direction: column;
    row-gap: calc(20 * 1rem / var(--font-size));
  }
  .m-product-tab-downloads__nav {
    inline-size: 100%;
  }
  .m-product-tab-downloads__content {
    inline-size: 100%;
    padding-inline-start: 0;
  }
  .m-product-tab-downloads__table {
    display: block;
  }
  .m-product-tab-downloads__nav-button {
    border-block-end: 0;
    border-inline-start: 0;
    color: var(--color__text);
  }
  .m-product-tab-downloads__nav-button[aria-selected=true] .m-product-tab-downloads__nav-icon {
    display: flex;
  }
  .m-product-tab-downloads__table thead {
    display: none;
  }
  .m-product-tab-downloads__table tbody {
    display: block;
  }
  .m-product-tab-downloads__row {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: calc(10 * 1rem / var(--font-size));
    padding-block: calc(14 * 1rem / var(--font-size)) calc(15 * 1rem / var(--font-size));
    padding-inline: calc(16 * 1rem / var(--font-size));
    border-block-end: 1px solid var(--color__line);
  }
  .m-product-tab-downloads__row:nth-child(even) {
    background-color: var(--color__secondary);
  }
  .m-product-tab-downloads__cell {
    padding-block: 0;
    padding-inline: 0;
    border-block-end: 0;
  }
  .m-product-tab-downloads__cell--action {
    text-align: start;
  }
  .m-product-tab-downloads__notice {
    border-radius: calc(6 * 1rem / var(--font-size));
  }
  .m-product-spec {
    --spec-gap: calc(32 * 1rem / var(--font-size));
  }
  .m-product-spec__block--third {
    inline-size: 100%;
  }
  .m-product-spec__split {
    grid-template-columns: 1fr;
    margin-block-start: 0;
  }
  .m-product-spec__split--triple {
    grid-template-columns: 1fr;
    gap: calc(40 * 1rem / var(--font-size));
  }
  .m-product-spec__col--offset {
    margin-block-start: 0;
  }
  .m-product-spec__table-scroll--dimensions .m-product-spec-table {
    inline-size: calc(511 * 1rem / var(--font-size));
    min-inline-size: calc(511 * 1rem / var(--font-size));
  }
  .m-product-spec__section--align-end {
    align-self: stretch;
    inline-size: 100%;
  }
  .m-product-spec__figure {
    block-size: auto;
  }
  .m-product-spec__figure--photo {
    max-inline-size: calc(350 * 1rem / var(--font-size));
    margin-inline: auto;
  }
  .m-product-spec-table th,
  .m-product-spec-table td {
    padding: calc(12 * 1rem / var(--font-size));
    padding-inline: calc(8 * 1rem / var(--font-size));
    font-size: calc(13 * 1rem / var(--font-size));
    line-height: 1.25;
  }
  .m-product-spec-table th {
    inline-size: calc(140 * 1rem / var(--font-size));
    font-weight: 700;
  }
  .m-product-spec-table--data th,
  .m-product-spec-table--data td {
    padding-inline: calc(8 * 1rem / var(--font-size));
  }
  .m-product-spec-table--models-narrow thead th:first-child,
  .m-product-spec-table--models-narrow tbody td:first-child {
    inline-size: auto;
  }
  .m-product-spec-table--model-spec-175 thead th:nth-child(2),
  .m-product-spec-table--model-spec-175 tbody td:nth-child(2) {
    inline-size: auto;
  }
  .m-product-spec-table--general-spec colgroup col:nth-child(3) {
    inline-size: 0;
  }
  .m-product-spec-table--general-spec colgroup col:nth-child(4) {
    inline-size: 33.334%;
  }
  .m-product-spec-table--models.m-product-spec-table--equal thead th:first-child,
  .m-product-spec-table--models.m-product-spec-table--equal tbody td:first-child {
    inline-size: auto;
  }
  .m-product-spec-table--matrix th,
  .m-product-spec-table--matrix td {
    padding-inline: calc(8 * 1rem / var(--font-size));
  }
  .m-product-spec-table--matrix-fixed th,
  .m-product-spec-table--matrix-fixed td {
    padding-inline: calc(12 * 1rem / var(--font-size));
  }
  .m-product-spec-table--matrix thead tr:first-child th {
    padding-inline: calc(8 * 1rem / var(--font-size));
  }
  .m-product-spec-table--matrix-fixed thead tr:first-child th {
    padding-inline: calc(16 * 1rem / var(--font-size));
  }
  .m-product-search,
  .m-product-search__form {
    max-inline-size: 100%;
    flex-wrap: wrap;
    gap: calc(20 * 1rem / var(--font-size));
  }
  .m-product-search__label {
    font-weight: 600;
    line-height: 1.5714285714;
  }
  .m-product-search__input {
    flex-basis: 0;
    padding-inline-start: calc(16 * 1rem / var(--font-size));
  }
  .m-product-search__submit {
    inline-size: auto;
    padding-inline: calc(19 * 1rem / var(--font-size));
    font-weight: 500;
  }
  .m-product-hero-detail {
    grid-template-columns: 1fr;
    row-gap: calc(24 * 1rem / var(--font-size));
    inline-size: 100%;
  }
  .m-product-hero-detail__main-image {
    block-size: calc(220 * 1rem / var(--font-size));
  }
  .m-product-hero-detail__title {
    font-size: calc(24 * 1rem / var(--font-size));
  }
  .m-product-hero-detail__model {
    font-size: calc(32 * 1rem / var(--font-size));
  }
  .m-product-hero-detail__meta-codes {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
  }
  .m-product-hero-detail__actions {
    align-items: stretch;
  }
  .m-product-hero-detail__action {
    flex: 1 1 0;
    padding-inline: calc(12 * 1rem / var(--font-size));
    min-inline-size: 0;
  }
  .m-product-hero-detail__main-image {
    block-size: calc(300 * 1rem / var(--font-size));
    border: 1px solid var(--color__line);
  }
  .m-product-hero-detail__thumb-button {
    block-size: calc(59 * 1rem / var(--font-size));
    border-radius: calc(6 * 1rem / var(--font-size));
  }
  .m-product-hero-detail__info {
    padding-block-start: 0;
    gap: calc(16 * 1rem / var(--font-size));
  }
  .m-product-hero-detail__category {
    font-size: calc(10 * 1rem / var(--font-size));
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.1em;
  }
  .m-product-hero-detail__title-wrap {
    padding-block-start: 0;
  }
  .m-product-hero-detail__title {
    font-size: calc(18 * 1rem / var(--font-size));
    line-height: 1.2222222222;
  }
  .m-product-hero-detail__model {
    line-height: 1.25;
  }
  .m-product-hero-detail__lead {
    padding-block-start: 0;
  }
  .m-product-hero-detail__lead-inner {
    font-size: calc(12 * 1rem / var(--font-size));
    font-weight: 400;
    line-height: 1.5;
  }
  .m-product-hero-detail__meta {
    padding-block-start: 0;
    gap: calc(10 * 1rem / var(--font-size));
  }
  .m-product-hero-detail__actions {
    padding-block-start: 0;
    justify-content: flex-start;
    gap: calc(12 * 1rem / var(--font-size));
  }
  .m-product-hero-detail__action {
    flex: 0 0 auto;
    padding-block: calc(12 * 1rem / var(--font-size));
    padding-inline: calc(20 * 1rem / var(--font-size));
    font-size: calc(13 * 1rem / var(--font-size));
    line-height: 1.5;
  }
  .m-product-filter {
    width: 100%;
    padding-inline: 0;
    padding-block: 0;
  }
  .m-product-filter__heading {
    padding-block: calc(11 * 1rem / var(--font-size));
    padding-inline-start: calc(12 * 1rem / var(--font-size));
    padding-inline-end: calc(7 * 1rem / var(--font-size));
    background-color: var(--color__secondary);
  }
  .m-product-filter__group {
    padding-block-start: 0;
    border-block-end: 1px solid var(--color__line);
  }
  .m-product-filter__group:last-child {
    border-block-end: 0;
  }
  .m-product-filter__group[data-expanded=true] {
    border-block-end: 0;
  }
  .m-product-filter__group-title {
    padding-block: calc(11 * 1rem / var(--font-size));
    padding-inline-start: calc(12 * 1rem / var(--font-size));
    padding-inline-end: calc(7 * 1rem / var(--font-size));
    cursor: pointer;
  }
  .m-product-filter__group--list[data-expanded=true] .m-product-filter__group-title {
    border-block-end: 1px solid var(--color__line);
  }
  .m-product-filter__group-icon {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: calc(15 * 1rem / var(--font-size));
    block-size: calc(15 * 1rem / var(--font-size));
    color: var(--color__primary);
    transform: rotate(90deg);
    transition: transform var(--duration);
  }
  .m-product-filter__group-icon svg {
    display: block;
    inline-size: calc(5 * 1rem / var(--font-size));
    block-size: calc(9 * 1rem / var(--font-size));
  }
  .m-product-filter__group[data-expanded=true] .m-product-filter__group-icon {
    transform: rotate(270deg);
  }
  .m-product-filter__group-panel {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows var(--_duration);
  }
  .m-product-filter__group[data-expanded=true] .m-product-filter__group-panel {
    grid-template-rows: 1fr;
  }
  .m-product-filter__group-panel-inner {
    overflow: hidden;
    min-block-size: 0;
  }
  .m-product-filter__list {
    gap: 0;
  }
  .m-product-filter__item {
    border-block-end: 1px solid var(--color__line);
  }
  .m-product-filter__link {
    padding-block-start: calc(8 * 1rem / var(--font-size));
    padding-block-end: calc(10 * 1rem / var(--font-size));
    padding-inline-start: calc(28 * 1rem / var(--font-size));
    padding-inline-end: calc(7 * 1rem / var(--font-size));
    font-size: calc(14 * 1rem / var(--font-size));
    line-height: 1.5714285714;
  }
  .m-product-filter__details {
    padding-block-start: calc(5 * 1rem / var(--font-size));
    padding-block-end: calc(10 * 1rem / var(--font-size));
    padding-inline-start: calc(24 * 1rem / var(--font-size));
    padding-inline-end: calc(7 * 1rem / var(--font-size));
    border-block-end: 1px solid var(--color__line);
  }
  .m-product-filter__details + .m-product-filter__details {
    padding-block-start: calc(5 * 1rem / var(--font-size));
  }
  .m-product-filter__summary {
    min-block-size: calc(25 * 1rem / var(--font-size));
  }
  .m-product-filter__summary-text {
    font-size: calc(14 * 1rem / var(--font-size));
    line-height: 1.5714285714;
  }
  .m-product-filter__sublist {
    padding-block-start: 0;
    padding-inline-start: calc(21 * 1rem / var(--font-size));
    gap: 0;
  }
  .m-product-filter__sublink {
    min-block-size: calc(25 * 1rem / var(--font-size));
    font-size: calc(14 * 1rem / var(--font-size));
    line-height: 1.5714285714;
  }
  .m-privacy-policy-hero {
    padding-block: calc(96 * 1rem / var(--font-size));
  }
  .m-privacy-policy-hero__en {
    font-size: calc(37 * 1rem / var(--font-size));
    line-height: 1.2162162162;
  }
  .m-privacy-policy-hero__label {
    padding-block-start: calc(8 * 1rem / var(--font-size));
  }
  .m-privacy-policy-hero__marker {
    display: none;
  }
  .m-privacy-policy-hero__ja {
    flex: initial;
    padding-inline-start: 0;
    font-size: calc(18 * 1rem / var(--font-size));
    line-height: 1.2222222222;
  }
  .m-privacy-policy-body {
    padding-block-end: calc(96 * 1rem / var(--font-size));
  }
  .m-privacy-policy-body__card {
    padding: calc(64 * 1rem / var(--font-size)) calc(32 * 1rem / var(--font-size));
    border-radius: calc(6 * 1rem / var(--font-size));
    box-shadow: 0 calc(1 * 1rem / var(--font-size)) calc(3 * 1rem / var(--font-size)) rgba(0, 0, 0, 0.1), 0 calc(1 * 1rem / var(--font-size)) calc(2 * 1rem / var(--font-size)) calc(-1 * 1rem / var(--font-size)) rgba(0, 0, 0, 0.1);
  }
  .m-privacy-policy-body__lead {
    font-size: calc(14 * 1rem / var(--font-size));
    line-height: 1.8571428571;
  }
  .m-privacy-policy-body__section--first {
    padding-block-start: calc(32 * 1rem / var(--font-size));
  }
  .m-privacy-policy-body__heading {
    font-size: calc(18 * 1rem / var(--font-size));
    line-height: 1.2222222222;
  }
  .m-privacy-policy-body__text {
    font-size: calc(14 * 1rem / var(--font-size));
    line-height: 1.8571428571;
  }
  .m-privacy-policy-body__list-marker {
    font-size: calc(14 * 1rem / var(--font-size));
    line-height: 1.8571428571;
  }
  .m-privacy-policy-body__list-text {
    font-size: calc(14 * 1rem / var(--font-size));
    line-height: 1.8571428571;
  }
  .m-privacy-policy-body__contact-item {
    font-size: calc(14 * 1rem / var(--font-size));
    line-height: 1.8571428571;
  }
  .m-policies-basic__en {
    font-size: calc(37 * 1rem / var(--font-size));
  }
  .m-policies-basic__label {
    padding-block-start: calc(16 * 1rem / var(--font-size));
  }
  .m-policies-basic__marker {
    min-height: calc(22 * 1rem / var(--font-size));
  }
  .m-policies-basic__ja {
    padding-inline-start: calc(10 * 1rem / var(--font-size));
    font-size: calc(18 * 1rem / var(--font-size));
    line-height: 1.2222222222;
  }
  .m-policies-basic__lead-wrapper {
    padding-block-start: calc(20 * 1rem / var(--font-size));
  }
  .m-policies-basic__lead {
    padding: calc(20 * 1rem / var(--font-size));
    font-size: calc(14 * 1rem / var(--font-size));
    line-height: 1.8571428571;
  }
  .m-policies-basic__items {
    row-gap: calc(16 * 1rem / var(--font-size));
    padding-block-start: calc(40 * 1rem / var(--font-size));
  }
  .m-policies-accordion {
    border: 1px solid var(--color__line, #e4e4e7);
  }
  .m-policies-accordion__button {
    gap: calc(12 * 1rem / var(--font-size));
    padding: calc(20 * 1rem / var(--font-size)) calc(16 * 1rem / var(--font-size));
  }
  .m-policies-accordion__title {
    font-size: calc(18 * 1rem / var(--font-size));
    line-height: 1.2222222222;
  }
  .m-policies-accordion__icon {
    inline-size: calc(20 * 1rem / var(--font-size));
    block-size: calc(20 * 1rem / var(--font-size));
  }
  .m-policies-accordion__panel-content {
    padding: calc(20 * 1rem / var(--font-size));
  }
  .m-policies-accordion__text {
    font-size: calc(14 * 1rem / var(--font-size));
    line-height: 1.8571428571;
  }
  .m-pagination {
    padding-block-start: calc(26 * 1rem / var(--font-size));
  }
  .m-page-head__inner {
    padding-block: 0;
  }
  .m-page-head__title {
    align-items: center;
  }
  .m-page-head__en {
    font-size: calc(52 * 1rem / var(--font-size));
    text-align: center;
  }
  .m-page-head--overseas .m-page-head__en {
    font-size: calc(41 * 1rem / var(--font-size));
  }
  .m-page-head--quality .m-page-head__en {
    font-size: calc(43 * 1rem / var(--font-size));
  }
  .m-page-head--gallery .m-page-head__en,
  .m-page-head--analog-megohm .m-page-head__en {
    font-size: calc(37 * 1rem / var(--font-size));
  }
  .m-page-head--medical .m-page-head__en {
    font-size: calc(37 * 1rem / var(--font-size));
    font-weight: 700;
  }
  .m-page-head--analog-megohm .m-page-head__inner {
    padding-block: calc(96 * 1rem / var(--font-size));
  }
  .m-page-head--hioki-guide {
    min-block-size: calc(300 * 1rem / var(--font-size));
  }
  .m-page-head--hioki-guide .m-page-head__en {
    font-size: calc(37 * 1rem / var(--font-size));
    font-weight: 700;
  }
  .m-page-head--hioki-guide .m-page-head__ja {
    padding-block-start: calc(16 * 1rem / var(--font-size));
    line-height: 1.2222222222;
  }
  .m-page-head--sitemap,
  .m-page-head--gallery,
  .m-page-head--medical {
    min-block-size: calc(300 * 1rem / var(--font-size));
  }
  .m-page-head--sitemap .m-page-head__en {
    font-size: calc(37 * 1rem / var(--font-size));
    font-weight: 700;
  }
  .m-page-head__ja {
    padding-block-start: calc(16 * 1rem / var(--font-size));
    font-size: calc(18 * 1rem / var(--font-size));
    line-height: 1.2222222222;
    text-align: center;
  }
  .m-page-head-product__en {
    font-size: calc(36 * 1rem / var(--font-size));
  }
  .m-page-head-product__ja {
    font-size: calc(22 * 1rem / var(--font-size));
  }
  .m-notfound {
    padding-block: calc(64 * 1rem / var(--font-size)) calc(96 * 1rem / var(--font-size));
  }
  .m-notfound__code {
    font-size: calc(120 * 1rem / var(--font-size));
    letter-spacing: calc(-2 * 1rem / var(--font-size));
  }
  .m-notfound__en {
    padding-block-start: calc(16 * 1rem / var(--font-size));
    font-size: calc(14 * 1rem / var(--font-size));
    letter-spacing: calc(1.5 * 1rem / var(--font-size));
  }
  .m-notfound__ja {
    padding-block-start: calc(16 * 1rem / var(--font-size));
    font-size: calc(18 * 1rem / var(--font-size));
    line-height: 1.2222222222;
    gap: calc(10 * 1rem / var(--font-size));
  }
  .m-notfound__ja-marker {
    block-size: calc(26 * 1rem / var(--font-size));
  }
  .m-notfound__desc {
    padding-block-start: calc(24 * 1rem / var(--font-size));
    font-size: calc(14 * 1rem / var(--font-size));
    line-height: 1.8571428571;
  }
  .m-notfound__desc br {
    display: none;
  }
  .m-notfound__actions {
    flex-direction: column;
    gap: calc(12 * 1rem / var(--font-size));
    padding-block-start: calc(32 * 1rem / var(--font-size));
    inline-size: 100%;
    max-inline-size: calc(320 * 1rem / var(--font-size));
  }
  .m-notfound__btn {
    inline-size: 100%;
    min-inline-size: 0;
    block-size: calc(52 * 1rem / var(--font-size));
    font-size: calc(15 * 1rem / var(--font-size));
  }
  .m-news {
    padding-block: calc(96 * 1rem / var(--font-size));
  }
  .m-news__inner {
    --space-inline: 32;
  }
  .m-news-tabs {
    overflow-x: auto;
    scrollbar-width: none;
  }
  .m-news-tabs::-webkit-scrollbar {
    display: none;
  }
  .m-news-list {
    margin-block-start: 0;
  }
  .m-news-list__item:first-child {
    border-block-start: none;
  }
  .m-news-list__item {
    border-inline: none;
  }
  .m-news-list__link {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-areas: "date cat" "title cat";
    -moz-column-gap: calc(12 * 1rem / var(--font-size));
         column-gap: calc(12 * 1rem / var(--font-size));
    row-gap: calc(4 * 1rem / var(--font-size));
    align-items: start;
    padding-block: calc(16 * 1rem / var(--font-size));
    padding-inline: 0;
  }
  .m-news-list__date {
    grid-area: date;
    inline-size: auto;
    font-size: calc(12 * 1rem / var(--font-size));
    font-weight: 500;
    line-height: calc(18 * 1rem / var(--font-size));
  }
  .m-news-list__title {
    grid-area: title;
    font-size: calc(14 * 1rem / var(--font-size));
    font-weight: 700;
    line-height: calc(24 * 1rem / var(--font-size));
  }
  .m-news-list__cats {
    grid-area: cat;
    align-self: start;
    margin-block-start: calc(20 * 1rem / var(--font-size));
    gap: calc(4 * 1rem / var(--font-size));
  }
  .m-news-list__cat {
    min-inline-size: 0;
    padding-block: calc(4 * 1rem / var(--font-size));
    padding-inline: calc(9 * 1rem / var(--font-size));
    font-family: var(--font-family__inter);
  }
  .m-news-filter__label {
    font-size: calc(13 * 1rem / var(--font-size));
  }
  .m-news-filter__select {
    padding-block: calc(8 * 1rem / var(--font-size));
    padding-inline: calc(12 * 1rem / var(--font-size)) calc(32 * 1rem / var(--font-size));
    font-size: calc(13 * 1rem / var(--font-size));
  }
  .m-medical-lineup__banner {
    padding-block: calc(8 * 1rem / var(--font-size));
    font-size: calc(24 * 1rem / var(--font-size));
  }
  .m-medical-lineup__heading {
    padding-block: calc(20 * 1rem / var(--font-size)) calc(24 * 1rem / var(--font-size));
  }
  .m-medical-lineup__grid {
    grid-template-columns: 1fr;
    gap: calc(16 * 1rem / var(--font-size));
  }
  .m-medical-lineup__card-body {
    text-align: center;
  }
  .m-medical-lineup__cta {
    margin-block-start: calc(48 * 1rem / var(--font-size));
    padding-block: calc(32 * 1rem / var(--font-size));
    padding-inline: calc(32 * 1rem / var(--font-size));
    gap: calc(14 * 1rem / var(--font-size));
  }
  .m-medical-lineup__cta-title {
    font-size: calc(14 * 1rem / var(--font-size));
    font-weight: 600;
  }
  .m-medical-lineup__cta-link {
    min-block-size: 0;
    padding-block-start: 0;
  }
  .m-medical-lineup__cta-link svg {
    inline-size: calc(104 * 1rem / var(--font-size));
    block-size: calc(22 * 1rem / var(--font-size));
  }
  .m-medical-lineup__cta-note {
    font-size: calc(14 * 1rem / var(--font-size));
    font-weight: 500;
    color: var(--color__text);
  }
  .m-medical-intro__inner {
    gap: calc(8 * 1rem / var(--font-size));
  }
  .m-medical-intro__en {
    font-size: min(30 * 1rem / var(--font-size));
    line-height: 1.15;
  }
  .m-medical-intro__ja {
    font-size: calc(18 * 1rem / var(--font-size));
    line-height: 1.2222222222;
  }
  .m-medical-intro__ja-marker {
    block-size: calc(22 * 1rem / var(--font-size));
    margin-inline-end: calc(12 * 1rem / var(--font-size));
  }
  .m-medical-intro__catch {
    font-size: calc(18 * 1rem / var(--font-size));
    line-height: 1.2222222222;
  }
  .m-medical-intro__row {
    flex-direction: column;
    gap: calc(32 * 1rem / var(--font-size));
    margin-block-start: calc(24 * 1rem / var(--font-size));
  }
  .m-medical-intro__body {
    order: 2;
  }
  .m-medical-intro__text {
    max-inline-size: none;
    font-size: calc(14 * 1rem / var(--font-size));
    line-height: 1.8571428571;
  }
  .m-medical-intro__actions {
    padding-block-start: calc(32 * 1rem / var(--font-size));
  }
  .m-medical-intro__media {
    order: 1;
    flex: 0 0 auto;
    inline-size: 100%;
    aspect-ratio: 335/243;
  }
  .m-medical-cta {
    padding-block-start: calc(32 * 1rem / var(--font-size));
  }
  .m-medical-cta__box {
    padding-inline: calc(32 * 1rem / var(--font-size));
    text-align: center;
  }
  .m-medical-cta__en {
    font-size: calc(20 * 1rem / var(--font-size));
  }
  .m-medical-cta__ja {
    font-size: calc(16 * 1rem / var(--font-size));
  }
  .m-medical-cta__link {
    display: flex;
    justify-content: center;
  }
  .m-medical-cta-sidebar {
    padding-inline: calc(32 * 1rem / var(--font-size));
    padding-block: calc(32 * 1rem / var(--font-size));
    text-align: center;
    inline-size: 100%;
  }
  .m-medical-cta-sidebar__en {
    font-size: calc(20 * 1rem / var(--font-size));
  }
  .m-medical-cta-sidebar__en br {
    display: none;
  }
  .m-medical-cta-sidebar__link {
    font-weight: 700;
    line-height: 1.7142857143;
  }
  .m-home-strengths {
    padding-block: calc(96 * 1rem / var(--font-size));
  }
  .m-home-strengths__en {
    font-size: calc(50 * 1rem / var(--font-size));
  }
  .m-home-strengths__accent {
    margin-block-start: 0;
    inline-size: calc(78 * 1rem / var(--font-size));
    block-size: calc(3 * 1rem / var(--font-size));
  }
  .m-home-strengths__ja {
    padding-block: calc(20 * 1rem / var(--font-size)) 0;
  }
  .m-home-strengths__inner {
    padding-block-start: calc(32 * 1rem / var(--font-size));
  }
  .m-home-strengths__grid {
    flex-direction: column;
    gap: calc(32 * 1rem / var(--font-size));
    align-items: stretch;
  }
  .m-home-strengths__media {
    inline-size: 100%;
    block-size: calc(445 * 1rem / var(--font-size));
    border-radius: 0;
  }
  .m-home-strengths__item {
    border-block-start-color: var(--color__white);
    align-items: center;
    text-align: center;
  }
  .m-home-strengths__num {
    text-align: center;
  }
  .m-home-strengths__title {
    margin-inline: calc(-8 * 1rem / var(--font-size));
  }
  .m-home-strengths__desc {
    font-size: calc(14 * 1rem / var(--font-size));
    line-height: 1.8571428571;
    color: var(--color__white);
  }
  .m-home-products__head {
    padding-block: calc(96 * 1rem / var(--font-size));
  }
  .m-home-products__accent {
    margin-block-start: 0;
    inline-size: calc(78 * 1rem / var(--font-size));
    block-size: calc(3 * 1rem / var(--font-size));
  }
  .m-home-products__row {
    grid-template-columns: 1fr;
    min-block-size: auto;
  }
  .m-home-products__row--reverse .m-home-products__media {
    order: 1;
  }
  .m-home-products__row--reverse .m-home-products__body {
    order: 2;
  }
  .m-home-products__media {
    block-size: calc(320 * 1rem / var(--font-size));
  }
  .m-home-products__body {
    block-size: auto;
    padding: calc(96 * 1rem / var(--font-size)) calc(32 * 1rem / var(--font-size));
  }
  .m-home-products__index {
    font-size: calc(20 * 1rem / var(--font-size));
  }
  .m-home-products__title-main {
    font-size: calc(14 * 1rem / var(--font-size));
    font-weight: 600;
    line-height: 1.5714285714;
  }
  .m-home-products__title-sub {
    padding-block-start: calc(10 * 1rem / var(--font-size));
    font-size: calc(14 * 1rem / var(--font-size));
  }
  .m-home-products__desc {
    font-size: calc(14 * 1rem / var(--font-size));
    line-height: 1.8571428571;
  }
  .m-home-products__list-item > span:not(.m-home-products__list-bullet) {
    font-family: var(--font-family__noto-sans-jp);
    line-height: 1.8571428571;
    letter-spacing: 0;
  }
  .m-home-products__link {
    font-family: var(--font-family__noto-sans-jp);
    font-weight: 600;
    line-height: 1.5714285714;
    letter-spacing: 0;
  }
  .m-home-products__guide-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: calc(16 * 1rem / var(--font-size));
    padding-block: calc(32 * 1rem / var(--font-size));
  }
  .m-home-products__guide-title {
    font-size: calc(18 * 1rem / var(--font-size));
  }
  .m-home-products__guide-desc {
    font-family: var(--font-family__noto-sans-jp);
    line-height: 1.8571428571;
    letter-spacing: 0;
  }
  .m-home-products__guide-link {
    font-family: var(--font-family__noto-sans-jp);
    font-weight: 700;
    line-height: 1.7142857143;
    letter-spacing: 0;
  }
  .m-home-notice__row {
    flex-direction: column;
    gap: calc(32 * 1rem / var(--font-size));
  }
  .m-home-notice__dot {
    inline-size: calc(6 * 1rem / var(--font-size));
    block-size: calc(6 * 1rem / var(--font-size));
    background-color: var(--color__line);
  }
  .m-home-notice__label-text {
    font-family: var(--font-family__noto-sans-jp);
    font-weight: 600;
    line-height: 1.5714285714;
    letter-spacing: 0;
  }
  .m-home-notice__body {
    inline-size: 100%;
    flex: none;
  }
  .m-home-notice__heading {
    font-weight: 600;
    line-height: 1.5714285714;
    letter-spacing: 0;
    white-space: normal;
  }
  .m-home-notice__text {
    white-space: normal;
  }
  .m-home-news {
    padding-block: calc(96 * 1rem / var(--font-size));
  }
  .m-home-news__header {
    flex-direction: column;
    align-items: flex-start;
    gap: calc(16 * 1rem / var(--font-size));
  }
  .m-home-news__accent {
    inline-size: calc(78 * 1rem / var(--font-size));
    block-size: calc(3 * 1rem / var(--font-size));
  }
  .m-home-news__view-all {
    align-self: flex-end;
  }
  .m-home-news__tabs {
    inline-size: auto;
    align-self: stretch;
    flex-wrap: nowrap;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
    margin-inline: calc(-32 * 1rem / var(--font-size));
    padding-inline: calc(32 * 1rem / var(--font-size));
    scrollbar-width: none;
  }
  .m-home-news__tabs::-webkit-scrollbar {
    display: none;
  }
  .m-home-news__link {
    flex-direction: column;
    gap: calc(24 * 1rem / var(--font-size));
  }
  .m-home-news__date {
    inline-size: auto;
  }
  .m-home-news__excerpt {
    line-height: 1.8571428571;
  }
  .m-home-mv {
    block-size: calc(596 * 1rem / var(--font-size));
  }
  .m-home-mv__image img {
    -o-object-position: center center;
       object-position: center center;
  }
  .m-home-mv__slide--precision .m-home-mv__image {
    inset-block: 0;
    inset-inline-start: 50%;
    inset-inline-end: auto;
    translate: -50% 0;
    inline-size: min(100%, 400 * 1rem / var(--font-size));
  }
  .m-home-mv__container {
    padding-block: calc(40 * 1rem / var(--font-size));
  }
  .m-home-mv__title {
    font-size: calc(52 * 1rem / var(--font-size));
  }
  .m-home-mv__subtitle {
    inline-size: 100%;
    padding-block-start: calc(12 * 1rem / var(--font-size));
    font-size: calc(14 * 1rem / var(--font-size));
    font-weight: 600;
    line-height: 1.5714285714;
    color: rgba(255, 255, 255, 0.88);
  }
  .m-home-mv__text {
    inline-size: 100%;
    padding-block-start: calc(12 * 1rem / var(--font-size));
    font-size: calc(12 * 1rem / var(--font-size));
    line-height: 1.6666666667;
    color: rgba(255, 255, 255, 0.92);
  }
  .m-home-mv__logo {
    padding-block-start: calc(12 * 1rem / var(--font-size));
  }
  .m-home-mv__logo--neitz {
    inline-size: calc(86 * 1rem / var(--font-size));
  }
  .m-home-mv__logo--neitz img {
    block-size: calc(18 * 1rem / var(--font-size));
  }
  .m-home-heading--sp-center {
    inline-size: 100%;
    align-items: center;
    text-align: center;
  }
  .m-home-heading__en {
    font-size: calc(52 * 1rem / var(--font-size));
  }
  .m-home-heading__ja {
    font-size: calc(18 * 1rem / var(--font-size));
  }
  .m-home-heading__accent {
    inline-size: calc(160 * 1rem / var(--font-size));
    block-size: calc(3 * 1rem / var(--font-size));
  }
  .m-home-gallery {
    padding-block: calc(96 * 1rem / var(--font-size));
  }
  .m-home-gallery__header {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }
  .m-home-gallery__en {
    text-align: left;
  }
  .m-home-gallery__accent {
    inline-size: calc(78 * 1rem / var(--font-size));
    block-size: calc(3 * 1rem / var(--font-size));
  }
  .m-home-gallery__ja {
    text-align: left;
  }
  .m-home-gallery__view-all {
    align-self: flex-end;
  }
  .m-home-gallery__list {
    grid-template-columns: repeat(2, 1fr);
    gap: calc(12 * 1rem / var(--font-size));
  }
  .m-home-gallery__play {
    inline-size: calc(48 * 1rem / var(--font-size));
    block-size: calc(34 * 1rem / var(--font-size));
  }
  .m-home-find {
    padding-block: calc(96 * 1rem / var(--font-size));
  }
  .m-home-find__accent {
    margin-block-start: 0;
    inline-size: calc(78 * 1rem / var(--font-size));
    block-size: calc(3 * 1rem / var(--font-size));
  }
  .m-home-find__list {
    max-inline-size: calc(350 * 1rem / var(--font-size));
    margin-inline: auto;
    grid-template-columns: 1fr;
  }
  .m-home-find__link {
    border-color: var(--color__secondary);
  }
  .m-home-find__link-head {
    text-align: center;
    inline-size: 100%;
  }
  .m-home-find__link-ja {
    font-size: calc(18 * 1rem / var(--font-size));
    line-height: 1.4;
    white-space: normal;
  }
  .m-home-dealers__head {
    --_padding-inline: 32;
    padding-block: calc(96 * 1rem / var(--font-size));
  }
  .m-home-dealers__en {
    font-size: calc(41 * 1rem / var(--font-size));
  }
  .m-home-dealers__accent {
    margin-block-start: 0;
    inline-size: calc(78 * 1rem / var(--font-size));
    block-size: calc(3 * 1rem / var(--font-size));
  }
  .m-home-dealers__inner {
    padding-block-end: calc(96 * 1rem / var(--font-size));
  }
  .m-home-dealers__list {
    flex-direction: column;
  }
  .m-home-dealers__item {
    border-inline-end: 1px solid var(--color__line);
  }
  .m-home-dealers__item + .m-home-dealers__item {
    border-block-start: 0;
  }
  .m-home-dealers__item-desc {
    line-height: 1.8571428571;
  }
  .m-home-dealers__item-link {
    font-family: var(--font-family__noto-sans-jp);
    font-weight: 600;
    line-height: 1.5714285714;
    letter-spacing: 0;
  }
  .m-home-company__head {
    padding-block: calc(96 * 1rem / var(--font-size));
  }
  .m-home-company__accent {
    margin-block-start: 0;
    inline-size: calc(78 * 1rem / var(--font-size));
    block-size: calc(3 * 1rem / var(--font-size));
  }
  .m-home-company__ja {
    padding-block-start: calc(20 * 1rem / var(--font-size));
  }
  .m-home-company__row {
    flex-direction: column;
    padding-block: 0;
  }
  .m-home-company__media {
    inline-size: 100%;
    block-size: calc(243 * 1rem / var(--font-size));
    aspect-ratio: auto;
    min-block-size: auto;
  }
  .m-home-company__media img {
    inset: 0;
    inline-size: 100%;
    block-size: 100%;
  }
  .m-home-company__body {
    inline-size: 100%;
    padding: calc(96 * 1rem / var(--font-size)) calc(32 * 1rem / var(--font-size));
  }
  .m-home-company__desc {
    font-size: calc(16 * 1rem / var(--font-size));
    line-height: 1.625;
  }
  .m-home-company__link-ja {
    font-size: calc(14 * 1rem / var(--font-size));
    font-weight: 600;
    line-height: 1.5714285714;
  }
  .m-home-company__list-item:first-child .m-home-company__link-ja {
    font-weight: 700;
    line-height: 1.7142857143;
  }
  .m-home-company__link-en {
    font-size: calc(12 * 1rem / var(--font-size));
    font-weight: 500;
    line-height: 1.5;
  }
  .m-home-careers {
    flex-direction: column;
  }
  .m-home-careers__body {
    inline-size: 100%;
    max-inline-size: none;
    padding: calc(96 * 1rem / var(--font-size)) calc(32 * 1rem / var(--font-size));
  }
  .m-home-careers__body-inner {
    align-items: center;
  }
  .m-home-careers__accent {
    margin-block-start: 0;
    inline-size: calc(78 * 1rem / var(--font-size));
    block-size: calc(3 * 1rem / var(--font-size));
  }
  .m-home-careers__ja {
    inline-size: 100%;
    text-align: center;
  }
  .m-home-careers__desc {
    font-size: calc(13 * 1rem / var(--font-size));
    line-height: 2;
    text-align: center;
  }
  .m-home-careers__btn {
    inline-size: 100%;
    max-inline-size: calc(350 * 1rem / var(--font-size));
  }
  .m-home-careers__media {
    inline-size: 100%;
    max-inline-size: none;
    border-inline-start: 0;
    padding: calc(64 * 1rem / var(--font-size)) 0 0;
  }
  .m-home-careers__media > picture {
    block-size: calc(317 * 1rem / var(--font-size));
    border-radius: 0;
  }
  .m-home-brands {
    padding-block: calc(96 * 1rem / var(--font-size));
  }
  .m-home-brands__name {
    padding-block-start: calc(12 * 1rem / var(--font-size));
  }
  .m-home-brands__address {
    padding-block-start: calc(32 * 1rem / var(--font-size));
  }
  .m-home-brands__actions {
    flex-direction: column;
    padding-block-start: calc(48 * 1rem / var(--font-size));
  }
  .m-home-brands__divider {
    display: none;
  }
  .m-home-brands__related {
    flex-direction: column;
    gap: 0;
    padding-block-start: calc(56 * 1rem / var(--font-size));
  }
  .m-home-brands__related-logo {
    padding-block-start: calc(32 * 1rem / var(--font-size));
  }
  .m-home-brands__related-logo:first-child {
    padding-block-start: calc(16 * 1rem / var(--font-size));
  }
  .m-history-timeline__en {
    font-size: calc(37 * 1rem / var(--font-size));
  }
  .m-history-timeline__ja {
    padding-block-start: calc(4 * 1rem / var(--font-size));
    font-size: calc(18 * 1rem / var(--font-size));
    line-height: 1.2222222222;
  }
  .m-history-timeline__ja-marker {
    block-size: calc(30 * 1rem / var(--font-size));
  }
  .m-history-timeline__lead {
    padding-block-start: calc(24 * 1rem / var(--font-size));
    font-size: calc(14 * 1rem / var(--font-size));
    line-height: 1.8571428571;
  }
  .m-history-timeline__periods {
    padding-block-start: calc(32 * 1rem / var(--font-size));
  }
  .m-history-timeline__period {
    padding: calc(10 * 1rem / var(--font-size)) calc(12 * 1rem / var(--font-size));
    font-size: calc(13 * 1rem / var(--font-size));
    line-height: 1.5;
  }
  .m-history-timeline__list {
    padding-block-end: calc(32 * 1rem / var(--font-size));
  }
  .m-history-timeline__list::before {
    inset-block-end: calc(-8 * 1rem / var(--font-size));
    inset-inline-start: calc(var(--space-inline) * 1rem / var(--font-size));
    background-color: var(--color__line);
  }
  .m-history-timeline__entry {
    grid-template-columns: 1fr;
    padding-block-end: calc(40 * 1rem / var(--font-size));
  }
  .m-history-timeline__entry::before {
    inset-inline-start: calc(-6 * 1rem / var(--font-size));
    transform: none;
    inline-size: calc(12 * 1rem / var(--font-size));
    block-size: calc(12 * 1rem / var(--font-size));
    border-radius: calc(2 * 1rem / var(--font-size));
    background-color: var(--color__primary);
  }
  .m-history-timeline__col--left {
    padding-inline: calc(36 * 1rem / var(--font-size)) 0;
  }
  .m-history-timeline__col--right {
    padding-inline: calc(36 * 1rem / var(--font-size)) 0;
  }
  .m-history-timeline__col--left:has(.m-history-timeline__image) {
    order: 1;
  }
  .m-history-timeline__col--left:empty {
    display: none;
  }
  .m-history-timeline__col--right:empty {
    display: none;
  }
  .m-history-timeline__col:has(.m-history-timeline__image) {
    padding-block-start: calc(20 * 1rem / var(--font-size));
  }
  .m-history-timeline__year {
    font-size: calc(40 * 1rem / var(--font-size));
  }
  .m-history-timeline__month {
    padding-block-start: calc(12 * 1rem / var(--font-size));
  }
  .m-history-timeline__desc {
    font-size: calc(14 * 1rem / var(--font-size));
    line-height: 1.8571428571;
  }
  .m-history-timeline__image {
    aspect-ratio: auto;
  }
  .m-history-timeline__image--half {
    aspect-ratio: 273/418;
  }
  .m-history-timeline__images--quad {
    grid-template-columns: repeat(2, 1fr);
    aspect-ratio: 273/209;
  }
  .m-history-timeline__image--quad-1 {
    grid-area: 1/1/2/2;
  }
  .m-history-timeline__image--quad-3 {
    border-end-end-radius: calc(6 * 1rem / var(--font-size));
  }
  .m-history-timeline__image--quad-4 {
    grid-area: 1/2/2/3;
    border-end-end-radius: 0;
  }
  .m-history-timeline__image img {
    block-size: auto;
  }
  .m-history-timeline__image--half img {
    block-size: 100%;
  }
  .m-history-timeline__image--sp-crop {
    aspect-ratio: 273/209;
  }
  .m-history-timeline__image--sp-crop img {
    block-size: 100%;
  }
  .m-hioki-guide-table__wrap {
    overflow-x: visible;
  }
  .m-hioki-guide-table__table {
    display: block;
    min-inline-size: 0;
  }
  .m-hioki-guide-table__table thead {
    display: none;
  }
  .m-hioki-guide-table__table tbody {
    display: block;
  }
  .m-hioki-guide-table__table tbody tr {
    display: grid;
    grid-template-columns: 1fr 1fr;
    -moz-column-gap: calc(16 * 1rem / var(--font-size));
         column-gap: calc(16 * 1rem / var(--font-size));
    row-gap: calc(8 * 1rem / var(--font-size));
    padding: calc(16 * 1rem / var(--font-size)) calc(20 * 1rem / var(--font-size));
    border-block-start: calc(1 * 1rem / var(--font-size)) solid var(--color__line);
  }
  .m-hioki-guide-table__table tbody tr:first-child {
    border-block-start: 0;
  }
  .m-hioki-guide-table__table tbody th,
  .m-hioki-guide-table__table tbody td {
    display: block;
    padding: 0;
    border: 0;
    text-align: start;
  }
  .m-hioki-guide-table__table tbody th {
    grid-column: 1/-1;
    font-size: calc(13 * 1rem / var(--font-size));
    line-height: 1.5;
  }
  .m-hioki-guide-table__table tbody td {
    font-family: var(--font-family__inter);
    font-size: calc(14 * 1rem / var(--font-size));
    line-height: 1.5;
  }
  .m-hioki-guide-table__table tbody td::before {
    content: attr(data-label);
    display: block;
    font-size: calc(11 * 1rem / var(--font-size));
    font-weight: 700;
    line-height: 1.5;
    color: var(--color__tertiary);
    padding-block-end: calc(2 * 1rem / var(--font-size));
  }
  .m-hioki-guide-table__table tbody td:empty {
    display: none;
  }
  .m-hioki-guide-table__table tbody .m-hioki-guide-table__cell--group {
    display: block;
  }
  .m-hioki-guide-table__table tbody .m-hioki-guide-table__cell--rowspan {
    display: block;
    padding-block: 0;
  }
  .m-hioki-guide-table__note {
    text-align: start;
  }
  .m-hioki-guide-support__cards {
    grid-template-columns: 1fr;
  }
  .m-hioki-guide-support__card {
    padding: calc(16 * 1rem / var(--font-size));
    min-block-size: 0;
  }
  .m-hioki-guide-support__card-title {
    line-height: 1.5555555556;
  }
  .m-hioki-guide-support__card-text {
    font-size: calc(15 * 1rem / var(--font-size));
    line-height: 1.7333333333;
  }
  .m-hioki-guide-support__contact-title {
    font-size: calc(16 * 1rem / var(--font-size));
    line-height: 1.5;
  }
  .m-hioki-guide-support__contact-body {
    gap: calc(16 * 1rem / var(--font-size));
    flex-direction: column;
    align-items: flex-start;
  }
  .m-hioki-guide-support__contact-address {
    line-height: 1.5;
    white-space: nowrap;
  }
  .m-hioki-guide-support__contact-lines {
    flex-direction: column;
    align-items: flex-start;
  }
  .m-hioki-guide-support__contact-value {
    font-family: var(--font-family__inter);
    font-size: calc(15 * 1rem / var(--font-size));
    line-height: 1.5;
  }
  .m-hioki-guide-support__contact-note-text {
    font-weight: 400;
    line-height: 1.6666666667;
  }
  .m-hioki-guide-overview__cards {
    grid-template-columns: 1fr;
  }
  .m-hioki-guide-overview__card-title {
    font-weight: 700;
  }
  .m-hioki-guide-overview__card-body--wide {
    padding-inline: calc(12 * 1rem / var(--font-size));
  }
  .m-hioki-guide-overview__card-text {
    font-size: calc(15 * 1rem / var(--font-size));
    line-height: 1.7333333333;
  }
  .m-hioki-guide-heading__en {
    font-size: calc(37 * 1rem / var(--font-size));
  }
  .m-hioki-guide-discontinued__text {
    color: var(--color__primary);
  }
  .m-header__inner {
    position: relative;
    max-width: 100%;
  }
  .m-header__hamburger {
    --_width--hamburger: 42;
    --_height--hamburger: 42;
    --_color--hamburger-line: var(--color__primary);
    position: absolute;
    inset-block-start: calc(20 * 1rem / var(--font-size));
    inset-inline-end: calc(32 * 1rem / var(--font-size));
    z-index: var(--_z-index--header-items);
    transition: inline-size var(--duration), block-size var(--duration), inset-block-start var(--duration), inset-inline-end var(--duration);
  }
  .m-header__hamburger[aria-expanded=true] {
    --_width--hamburger: 28;
    --_height--hamburger: 28;
    inset-block-start: calc(16 * 1rem / var(--font-size));
    inset-inline-end: calc(24 * 1rem / var(--font-size));
  }
  .m-gallery__section {
    padding-block: calc(96 * 1rem / var(--font-size));
  }
  .m-gallery__inner {
    padding-inline: calc(32 * 1rem / var(--font-size));
  }
  .m-gallery__en {
    font-size: calc(45 * 1rem / var(--font-size));
  }
  .m-gallery__ja {
    font-size: calc(22 * 1rem / var(--font-size));
    padding-block-start: calc(16 * 1rem / var(--font-size));
  }
  .m-gallery__marker {
    block-size: calc(22 * 1rem / var(--font-size));
  }
  .m-gallery__body {
    padding-block-start: calc(24 * 1rem / var(--font-size));
  }
  .m-gallery-slider__controls {
    padding-block-start: calc(20 * 1rem / var(--font-size));
  }
  .m-gallery-featured {
    display: none;
  }
  .m-gallery-card.is-active .m-gallery-card__image::after {
    display: none;
  }
  .m-gallery-card__play {
    inline-size: calc(48 * 1rem / var(--font-size));
    block-size: calc(34 * 1rem / var(--font-size));
  }
  .m-footer__main {
    grid-template-columns: 1fr 1fr;
    gap: calc(40 * 1rem / var(--font-size));
  }
  .m-footer__col--split {
    display: contents;
  }
  .m-footer__col--brand {
    grid-column: 1/-1;
    padding-bottom: calc(8 * 1rem / var(--font-size));
  }
  .m-footer__block--second {
    padding-top: 0;
  }
  .m-footer__block--careers {
    order: 2;
  }
  .m-footer__block--other {
    order: 1;
  }
  .m-footer__company {
    line-height: 1.4285714286;
    opacity: 0.9;
    padding-top: calc(12 * 1rem / var(--font-size));
  }
  .m-footer__contact {
    gap: calc(12 * 1rem / var(--font-size));
    padding-top: calc(12 * 1rem / var(--font-size));
  }
  .m-footer__phone {
    opacity: 0.8;
  }
  .m-footer__list {
    opacity: 0.7;
  }
  .m-footer__list--tight {
    padding-top: calc(20 * 1rem / var(--font-size));
  }
  .m-footer__bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: calc(16 * 1rem / var(--font-size));
    margin-top: calc(64 * 1rem / var(--font-size));
    padding-top: calc(32 * 1rem / var(--font-size));
  }
  .m-footer__copyright {
    font-size: calc(12 * 1rem / var(--font-size));
    letter-spacing: normal;
    line-height: 1.3333333333;
  }
  .m-footer__policy-links {
    flex-wrap: nowrap;
    gap: calc(24 * 1rem / var(--font-size));
    inline-size: 100%;
  }
  .m-footer__policy-link {
    font-size: calc(12 * 1rem / var(--font-size));
    letter-spacing: normal;
    line-height: 1.3333333333;
  }
  .m-dealers-list {
    padding-block: calc(24 * 1rem / var(--font-size)) 0;
  }
  .m-dealers .m-pagination {
    padding-block-end: calc(40 * 1rem / var(--font-size));
  }
  .m-dealers-table {
    gap: 0;
    border-block-start: 1px solid var(--color__line);
  }
  .m-dealers-table__thead {
    display: none;
  }
  .m-dealers-table__tbody {
    gap: 0;
  }
  .m-dealers-table__row {
    grid-template-columns: 1fr;
    padding-block: calc(16 * 1rem / var(--font-size));
    padding-inline: 0;
    border: none;
    border-block-end: 1px solid var(--color__line);
    border-radius: 0;
    overflow: visible;
  }
  .m-dealers-table__cell {
    padding-block: calc(8 * 1rem / var(--font-size));
    padding-inline: 0;
    border: none;
    border-block-end: 1px solid var(--color__line);
    background-color: transparent;
    align-items: flex-start;
    flex-direction: column;
    gap: calc(4 * 1rem / var(--font-size));
    font-size: calc(14 * 1rem / var(--font-size));
    line-height: 1.5714285714;
  }
  .m-dealers-table__cell--tel {
    border-block-end: none;
  }
  .m-dealers-table__cell--address {
    align-items: flex-start;
  }
  .m-dealers-table__cell--map {
    order: -1;
    padding-block: 0 calc(12 * 1rem / var(--font-size));
    padding-inline: 0;
    border-block-end: none;
  }
  .m-dealers-table__cell-label {
    display: block;
    font-family: var(--font-family__inter);
    font-weight: 600;
    font-size: calc(14 * 1rem / var(--font-size));
    line-height: 1.5714285714;
    color: var(--color__primary);
  }
  .m-dealers-table__map {
    min-block-size: 0;
    block-size: calc(120 * 1rem / var(--font-size));
    border: 1px solid var(--color__line);
    border-radius: calc(6 * 1rem / var(--font-size));
  }
  .m-dealers-related {
    padding-block-start: calc(40 * 1rem / var(--font-size));
  }
  .m-dealers-related__list {
    grid-template-columns: 1fr;
    gap: calc(20 * 1rem / var(--font-size));
  }
  .m-dealers-related__image {
    block-size: calc(160 * 1rem / var(--font-size));
  }
  .m-dealers-related__body {
    padding: calc(24 * 1rem / var(--font-size));
  }
  .m-dealers-related__label {
    font-size: calc(18 * 1rem / var(--font-size));
  }
  .m-dealers-related__title {
    padding-block-start: calc(14 * 1rem / var(--font-size));
    font-weight: 700;
    line-height: 1.7142857143;
  }
  .m-dealers-related__link {
    padding-block-start: calc(16 * 1rem / var(--font-size));
    font-weight: 600;
    line-height: 1.5714285714;
  }
  .m-dealers-overseas__inner {
    padding-block-start: calc(96 * 1rem / var(--font-size));
  }
  .m-dealers-overseas__inner > .m-dealers-heading {
    padding-block-end: calc(40 * 1rem / var(--font-size));
  }
  .m-dealers-overseas__block {
    padding-block: calc(40 * 1rem / var(--font-size));
  }
  .m-dealers-overseas-table {
    padding-block-end: calc(40 * 1rem / var(--font-size));
  }
  .m-dealers-overseas-table__wrap {
    border-radius: 0;
  }
  .m-dealers-overseas-table__row {
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.85fr) minmax(0, 1.3fr) minmax(0, 0.85fr);
  }
  .m-dealers-overseas-table__row--th-en .m-dealers-overseas-table__th {
    line-height: 1;
  }
  .m-dealers-overseas-table__th {
    min-block-size: calc(32 * 1rem / var(--font-size));
    padding-inline: calc(4 * 1rem / var(--font-size));
    padding-block: calc(10 * 1rem / var(--font-size));
    font-size: calc(12 * 1rem / var(--font-size));
    line-height: 1.5;
    overflow-wrap: anywhere;
  }
  .m-dealers-overseas-table__cell {
    justify-content: center;
    min-block-size: calc(42 * 1rem / var(--font-size));
    padding-inline: calc(4 * 1rem / var(--font-size));
    padding-block: calc(12 * 1rem / var(--font-size));
    font-size: calc(12 * 1rem / var(--font-size));
    line-height: 1.5;
    text-align: center;
    overflow-wrap: anywhere;
  }
  .m-dealers-overseas-table__empty {
    padding-block: calc(40 * 1rem / var(--font-size));
    font-size: calc(12 * 1rem / var(--font-size));
  }
  .m-dealers-overseas-hero {
    order: 0;
    padding-block-end: calc(40 * 1rem / var(--font-size));
    inline-size: 100%;
    margin-inline: 0;
  }
  .m-dealers-overseas-hero__image {
    block-size: calc(200 * 1rem / var(--font-size));
    border-radius: calc(6 * 1rem / var(--font-size));
  }
  .m-dealers-overseas-hero__image img {
    block-size: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center bottom;
       object-position: center bottom;
  }
  .m-dealers-heading__en {
    font-size: calc(37 * 1rem / var(--font-size));
  }
  .m-dealers-heading__ja {
    padding-block-start: calc(20 * 1rem / var(--font-size));
    font-size: calc(18 * 1rem / var(--font-size));
    line-height: 1.2222222222;
    gap: calc(10 * 1rem / var(--font-size));
  }
  .m-dealers-heading__ja-marker {
    block-size: calc(28 * 1rem / var(--font-size));
  }
  .m-dealers-heading__lead {
    padding-block-start: calc(16 * 1rem / var(--font-size));
    font-size: calc(14 * 1rem / var(--font-size));
    line-height: 1.8571428571;
  }
  .m-dealers-heading--compact .m-dealers-heading__lead {
    padding-block-start: calc(16 * 1rem / var(--font-size));
  }
  .m-dealers-filter {
    margin-inline-end: calc(50% - var(--js-width__viewport) / 2);
    padding-block: calc(80 * 1rem / var(--font-size)) calc(32 * 1rem / var(--font-size));
  }
  .m-contact {
    padding-block: 0;
  }
  .m-contact__inner {
    padding-inline: 0;
    max-inline-size: none;
  }
  .m-contact__layout {
    grid-template-columns: 1fr;
    border: 0;
    border-radius: 0;
  }
  .m-contact-info {
    gap: calc(20 * 1rem / var(--font-size));
    padding: calc(96 * 1rem / var(--font-size)) calc(32 * 1rem / var(--font-size));
  }
  .m-contact-info__body {
    flex: none;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: calc(20 * 1rem / var(--font-size));
  }
  .m-contact-info__en {
    justify-content: center;
  }
  .m-contact-info__heading {
    padding-block: 0;
  }
  .m-contact-info__title {
    font-size: calc(18 * 1rem / var(--font-size));
    line-height: 1.2222222222;
    text-align: center;
  }
  .m-contact-info__lead {
    padding-block-start: calc(8 * 1rem / var(--font-size));
    text-align: center;
  }
  .m-contact-info__contact {
    padding-block: calc(20 * 1rem / var(--font-size));
    border-color: var(--color__line);
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: calc(4 * 1rem / var(--font-size));
  }
  .m-contact-info__contact-label {
    font-size: calc(18 * 1rem / var(--font-size));
    font-weight: 700;
  }
  .m-contact-info__tel-group {
    padding-block-start: 0;
  }
  .m-contact-info__tel {
    line-height: 1;
  }
  .m-contact-info__hours {
    padding-block-start: 0;
  }
  .m-contact-info__image {
    aspect-ratio: auto;
    max-inline-size: calc(350 * 1rem / var(--font-size));
    margin-inline: auto;
    border-radius: calc(6 * 1rem / var(--font-size));
  }
  .m-contact-info__image img {
    block-size: auto;
    -o-object-fit: contain;
       object-fit: contain;
  }
  .m-contact-form-panel {
    padding: calc(96 * 1rem / var(--font-size)) calc(32 * 1rem / var(--font-size));
  }
  .m-contact-form-panel__heading {
    padding-block-end: calc(24 * 1rem / var(--font-size));
    text-align: center;
  }
  .m-contact-form-panel__marker {
    margin-inline: auto;
  }
  .m-contact-form__rows {
    gap: calc(20 * 1rem / var(--font-size));
  }
  .m-contact-form__row--cols {
    flex-direction: column;
    gap: calc(20 * 1rem / var(--font-size));
  }
  .m-contact-form__row--address {
    gap: calc(20 * 1rem / var(--font-size));
  }
  .m-contact-form__label-wrap {
    justify-content: space-between;
  }
  .m-contact-form__address {
    gap: calc(20 * 1rem / var(--font-size));
  }
  .m-contact-form__address-line--stacked {
    flex-direction: column;
    align-items: stretch;
  }
  .m-contact-form__address-line--stacked br {
    display: none;
  }
  .m-contact-form__footer {
    padding-block-start: calc(20 * 1rem / var(--font-size));
    align-items: center;
  }
  .m-contact-form__submit-wrap {
    padding-block-start: calc(28 * 1rem / var(--font-size));
  }
  .m-contact-cta {
    padding-block: calc(96 * 1rem / var(--font-size));
  }
  .m-contact-cta__grid {
    flex-direction: column;
    align-items: stretch;
  }
  .m-contact-cta__text {
    inline-size: 100%;
    align-items: center;
    text-align: center;
  }
  .m-contact-cta__en {
    font-size: calc(52 * 1rem / var(--font-size));
  }
  .m-contact-cta__en::after {
    inline-size: calc(78 * 1rem / var(--font-size));
    block-size: calc(3 * 1rem / var(--font-size));
    margin-inline: auto;
  }
  .m-contact-cta__ja {
    font-size: calc(18 * 1rem / var(--font-size));
    line-height: 1.2222222222;
  }
  .m-contact-cta__desc {
    inline-size: 100%;
    font-size: calc(14 * 1rem / var(--font-size));
    line-height: 1.8571428571;
  }
  .m-contact-cta__actions {
    inline-size: 100%;
  }
  .m-contact-cta__button {
    block-size: calc(56 * 1rem / var(--font-size));
  }
  .m-careers-recruit {
    padding-block-start: calc(32 * 1rem / var(--font-size));
  }
  .m-careers-recruit__inner {
    display: flex;
    flex-direction: column;
    row-gap: calc(32 * 1rem / var(--font-size));
    padding-block-end: calc(48 * 1rem / var(--font-size));
    border-block-end: none;
  }
  .m-careers-recruit__media {
    block-size: auto;
    aspect-ratio: 311/243;
  }
  .m-careers-recruit__media img {
    block-size: 100%;
  }
  .m-careers-recruit__heading {
    font-size: calc(18 * 1rem / var(--font-size));
    line-height: 1.2222222222;
  }
  .m-careers-recruit__text {
    padding-block-start: calc(12 * 1rem / var(--font-size));
    font-size: calc(14 * 1rem / var(--font-size));
    line-height: 1.8571428571;
  }
  .m-careers-recruit__actions {
    padding-block-start: calc(32 * 1rem / var(--font-size));
  }
  .m-careers-message__heading {
    padding-block-end: calc(32 * 1rem / var(--font-size));
  }
  .m-careers-message__en {
    font-size: calc(37 * 1rem / var(--font-size));
    line-height: 1.2;
  }
  .m-careers-message__ja {
    padding-block-start: calc(8 * 1rem / var(--font-size));
    font-size: calc(18 * 1rem / var(--font-size));
    line-height: 1.2222222222;
  }
  .m-careers-message__ja-marker {
    block-size: calc(22 * 1rem / var(--font-size));
    margin-inline-end: calc(12 * 1rem / var(--font-size));
  }
  .m-careers-message__text {
    font-size: calc(14 * 1rem / var(--font-size));
    line-height: 1.8571428571;
  }
  .m-business-product {
    padding-block-start: calc(64 * 1rem / var(--font-size));
  }
  .m-business-product__en {
    font-size: calc(37 * 1rem / var(--font-size));
    line-height: 1.15;
  }
  .m-business-product__ja {
    padding-block-start: calc(8 * 1rem / var(--font-size));
    padding-block-end: calc(32 * 1rem / var(--font-size));
    font-size: calc(18 * 1rem / var(--font-size));
    line-height: 1.2222222222;
  }
  .m-business-product__ja-marker {
    block-size: calc(22 * 1rem / var(--font-size));
    margin-inline-end: calc(12 * 1rem / var(--font-size));
  }
  .m-business-product__list {
    grid-template-columns: 1fr;
    gap: calc(20 * 1rem / var(--font-size));
  }
  .m-business-product__media {
    block-size: calc(190 * 1rem / var(--font-size));
  }
  .m-business-product__media--bottom img {
    -o-object-position: bottom;
       object-position: bottom;
  }
  .m-business-product__media--upper img {
    -o-object-position: center;
       object-position: center;
  }
  .m-business-intro__en {
    font-size: calc(37 * 1rem / var(--font-size));
    line-height: 1.15;
  }
  .m-business-intro__ja {
    padding-block-start: calc(8 * 1rem / var(--font-size));
    padding-block-end: calc(32 * 1rem / var(--font-size));
    font-size: calc(18 * 1rem / var(--font-size));
    line-height: 1.2222222222;
  }
  .m-business-intro__ja-marker {
    block-size: calc(22 * 1rem / var(--font-size));
    margin-inline-end: calc(12 * 1rem / var(--font-size));
  }
  .m-business-intro__lead {
    font-size: calc(14 * 1rem / var(--font-size));
    line-height: 1.8571428571;
  }
  .m-business-intro__lead p + p {
    padding-block-start: calc(26 * 1rem / var(--font-size));
  }
  .m-business-intro__row {
    flex-direction: column;
    gap: calc(32 * 1rem / var(--font-size));
    padding-block-start: calc(32 * 1rem / var(--font-size));
  }
  .m-business-intro__row--divider {
    padding-block-end: calc(32 * 1rem / var(--font-size));
    border-block-end-color: rgba(23, 59, 87, 0.08);
  }
  .m-business-intro__row--reverse {
    flex-direction: column-reverse;
    padding-block-start: calc(32 * 1rem / var(--font-size));
  }
  .m-business-intro__media {
    flex: 0 0 auto;
    inline-size: 100%;
    aspect-ratio: 311/243;
    border: none;
  }
  .m-business-intro__row--reverse .m-business-intro__media {
    aspect-ratio: 311/243;
  }
  .m-business-intro__label {
    font-size: calc(14 * 1rem / var(--font-size));
    line-height: 1.8571428571;
    padding-block-end: calc(12 * 1rem / var(--font-size));
  }
  .m-business-intro__title {
    padding-block-start: 0;
    padding-block-end: calc(12 * 1rem / var(--font-size));
    font-size: calc(18 * 1rem / var(--font-size));
    line-height: 1.2222222222;
  }
  .m-business-intro__text {
    padding-block-start: 0;
    font-size: calc(14 * 1rem / var(--font-size));
    line-height: 1.8571428571;
  }
  .m-business-intro__text p + p {
    padding-block-start: calc(26 * 1rem / var(--font-size));
  }
  .m-breadcrumb__list {
    justify-content: center;
  }
  .m-article {
    padding-block-end: 0;
  }
  .m-article__layout {
    grid-template-columns: 1fr;
    row-gap: calc(40 * 1rem / var(--font-size));
    padding-block: calc(40 * 1rem / var(--font-size)) calc(105 * 1rem / var(--font-size));
  }
  .m-article__title {
    padding-block-start: calc(24 * 1rem / var(--font-size));
    font-size: calc(22 * 1rem / var(--font-size));
    line-height: 1.5;
  }
  .m-article__thumbnail {
    padding-block-start: calc(24 * 1rem / var(--font-size));
  }
  .m-article__thumbnail img {
    aspect-ratio: 343/200;
  }
  .m-article-sidebar {
    inline-size: 100%;
  }
  .m-article-related {
    padding-block: calc(48 * 1rem / var(--font-size));
  }
  .m-article-related__title {
    font-size: calc(20 * 1rem / var(--font-size));
    line-height: 1.4;
  }
  .m-article-related__link {
    padding-block: calc(14 * 1rem / var(--font-size));
  }
  .m-article-related__body {
    gap: calc(12 * 1rem / var(--font-size));
    padding-inline-end: calc(12 * 1rem / var(--font-size));
  }
  .m-article-related__date {
    inline-size: calc(70 * 1rem / var(--font-size));
    font-size: calc(13 * 1rem / var(--font-size));
  }
  .m-article-related__cat {
    padding-block: calc(4 * 1rem / var(--font-size));
    padding-inline: calc(12 * 1rem / var(--font-size));
  }
  .m-article-content p.wp-block-paragraph,
  .m-article-content p:not([class]) {
    margin-block-end: calc(12 * 1rem / var(--font-size));
  }
  .m-article-content h2.wp-block-heading {
    font-size: calc(16 * 1rem / var(--font-size));
    line-height: 1.5;
  }
  .m-article-content h3.wp-block-heading {
    font-size: calc(15 * 1rem / var(--font-size));
  }
  .m-article-content h4.wp-block-heading {
    font-size: calc(14 * 1rem / var(--font-size));
  }
  .m-article-content ul.wp-block-list {
    margin-block-end: calc(12 * 1rem / var(--font-size));
    row-gap: calc(6 * 1rem / var(--font-size));
  }
  .m-article-content ul.wp-block-list li {
    font-size: calc(14 * 1rem / var(--font-size));
    line-height: 1.7142857143;
  }
  .m-article-content .wp-block-table {
    margin-block-end: calc(12 * 1rem / var(--font-size));
  }
  .m-article-content .wp-block-table th,
  .m-article-content .wp-block-table td {
    font-size: calc(13 * 1rem / var(--font-size));
    line-height: 1.6923076923;
    padding-block: calc(10 * 1rem / var(--font-size));
    padding-inline: calc(12 * 1rem / var(--font-size));
  }
  .m-article-content .wp-block-file {
    margin-block-end: calc(12 * 1rem / var(--font-size));
    gap: calc(12 * 1rem / var(--font-size));
    padding-block: calc(12 * 1rem / var(--font-size));
    padding-inline: calc(16 * 1rem / var(--font-size));
  }
  .m-article-content .wp-block-file a:first-child {
    font-size: calc(13 * 1rem / var(--font-size));
    line-height: 1.5384615385;
  }
  .m-article-content .wp-block-file__button {
    font-size: calc(12 * 1rem / var(--font-size));
    padding-block: calc(6 * 1rem / var(--font-size));
    padding-inline: calc(14 * 1rem / var(--font-size));
  }
  .m-article-content .wp-block-separator {
    margin-block: calc(32 * 1rem / var(--font-size));
    max-inline-size: calc(80 * 1rem / var(--font-size));
  }
  .m-article-content .wp-block-buttons {
    margin-block: calc(24 * 1rem / var(--font-size));
  }
  .m-article-content ol.wp-block-list {
    margin-block-end: calc(12 * 1rem / var(--font-size));
  }
  .m-article-content ol.wp-block-list li {
    font-size: calc(13 * 1rem / var(--font-size));
    line-height: 1.6923076923;
  }
  .m-article-content ol.wp-block-list li::before {
    font-size: calc(16 * 1rem / var(--font-size));
    line-height: 1.6923076923;
  }
  .m-accordion__button {
    -moz-column-gap: calc(3 * 1rem / var(--font-size));
         column-gap: calc(3 * 1rem / var(--font-size));
    grid-template-columns: calc(22 * 1rem / var(--font-size)) 1fr calc(22 * 1rem / var(--font-size));
  }
  .m-accordion__button-title {
    font-size: calc(18 * 1rem / var(--font-size));
  }
  .m-accordion__button-icon {
    width: calc(22 * 1rem / var(--font-size));
    height: calc(22 * 1rem / var(--font-size));
  }
  .m-accordion__button-icon::before,
  .m-accordion__button-icon::after {
    width: calc(11 * 1rem / var(--font-size));
  }
  .m-accordion__panel-content {
    -moz-column-gap: calc(3 * 1rem / var(--font-size));
         column-gap: calc(3 * 1rem / var(--font-size));
  }
  .m-accordion__panel-title {
    font-size: calc(18 * 1rem / var(--font-size));
  }
  .m-access-location {
    padding-block: calc(40 * 1rem / var(--font-size));
  }
  .m-access-location__heading {
    padding-block-end: calc(24 * 1rem / var(--font-size));
  }
  .m-access-location__en {
    font-size: calc(37 * 1rem / var(--font-size));
    line-height: 1;
  }
  .m-access-location__ja {
    padding-block-start: calc(16 * 1rem / var(--font-size));
    font-size: calc(18 * 1rem / var(--font-size));
    line-height: 1.2222222222;
  }
  .m-access-location__ja-marker {
    block-size: calc(33 * 1rem / var(--font-size));
    border-radius: calc(6 * 1rem / var(--font-size));
  }
  .m-access-location__map {
    aspect-ratio: 311/200;
    border-radius: calc(6 * 1rem / var(--font-size));
  }
  .m-access-location__map--large {
    aspect-ratio: 311/260;
  }
  .m-access-location__info {
    margin-block-start: calc(20 * 1rem / var(--font-size));
    border: 1px solid var(--color__line);
    border-radius: calc(6 * 1rem / var(--font-size));
  }
  .m-access-location__row {
    flex-direction: column;
    align-items: flex-start;
    padding-block: calc(16 * 1rem / var(--font-size)) calc(17 * 1rem / var(--font-size));
    padding-inline: calc(20 * 1rem / var(--font-size));
    font-size: calc(14 * 1rem / var(--font-size));
    line-height: 1.8571428571;
  }
  .m-access-location__label {
    inline-size: 100%;
    font-size: calc(14 * 1rem / var(--font-size));
    line-height: 1.7142857143;
  }
  .m-access-location__values {
    padding-block-start: calc(6 * 1rem / var(--font-size));
  }
  .m-about-principles__en {
    font-size: calc(37 * 1rem / var(--font-size));
    line-height: 1.15;
  }
  .m-about-principles__ja {
    padding-block-start: calc(8 * 1rem / var(--font-size));
    font-size: calc(18 * 1rem / var(--font-size));
    line-height: 1.2222222222;
  }
  .m-about-principles__ja-marker {
    block-size: calc(22 * 1rem / var(--font-size));
    margin-inline-end: calc(12 * 1rem / var(--font-size));
  }
  .m-about-principles__lead {
    padding-block: calc(24 * 1rem / var(--font-size)) 0;
    font-size: calc(14 * 1rem / var(--font-size));
    line-height: 1.8571428571;
  }
  .m-about-principles__body {
    padding-block-start: calc(40 * 1rem / var(--font-size));
  }
  .m-about-principles__item {
    padding-block-start: calc(40 * 1rem / var(--font-size));
  }
  .m-about-principles__item-heading {
    gap: calc(16 * 1rem / var(--font-size));
    padding-block: calc(12 * 1rem / var(--font-size));
  }
  .m-about-principles__item-en {
    font-size: calc(18 * 1rem / var(--font-size));
    line-height: 1.2222222222;
  }
  .m-about-principles__item-ja {
    font-size: calc(18 * 1rem / var(--font-size));
    line-height: 1.2222222222;
  }
  .m-about-principles__item-body {
    padding-block-start: 0;
  }
  .m-about-principles__item-text {
    font-size: calc(24 * 1rem / var(--font-size));
    line-height: 1.4166666667;
  }
  .m-about-principles__item-note {
    padding-block-start: calc(12 * 1rem / var(--font-size));
    font-size: calc(12 * 1rem / var(--font-size));
    line-height: 2.1666666667;
  }
  .m-about-principles__item-note-heading {
    padding-block-end: calc(26 * 1rem / var(--font-size));
  }
  .m-about-principles__item-list {
    padding-inline-start: calc(18 * 1rem / var(--font-size));
  }
  .m-about-principles__pyramid {
    padding-block-start: calc(40 * 1rem / var(--font-size));
  }
  .m-about-principles__pyramid img {
    aspect-ratio: 622/325;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
  }
  .m-about-overview {
    padding-block: calc(56 * 1rem / var(--font-size));
  }
  .m-about-overview__en {
    font-size: calc(37 * 1rem / var(--font-size));
    line-height: 1.15;
  }
  .m-about-overview__ja {
    padding-block-start: calc(8 * 1rem / var(--font-size));
    font-size: calc(18 * 1rem / var(--font-size));
    line-height: 1.2222222222;
  }
  .m-about-overview__ja-marker {
    block-size: calc(32 * 1rem / var(--font-size));
    margin-inline-end: calc(8 * 1rem / var(--font-size));
    border-radius: calc(6 * 1rem / var(--font-size));
  }
  .m-about-overview__table {
    margin-block-start: calc(20 * 1rem / var(--font-size));
  }
  .m-about-overview__th {
    padding: calc(12 * 1rem / var(--font-size)) calc(16 * 1rem / var(--font-size));
    font-family: var(--font-family__noto-sans-jp);
    font-size: calc(18 * 1rem / var(--font-size));
    line-height: 1.2222222222;
  }
  .m-about-overview__th:first-child {
    inline-size: calc(126 * 1rem / var(--font-size));
  }
  .m-about-overview__label {
    padding: calc(16 * 1rem / var(--font-size)) calc(16 * 1rem / var(--font-size));
    inline-size: calc(126 * 1rem / var(--font-size));
    font-family: var(--font-family__noto-sans-jp);
    font-size: calc(14 * 1rem / var(--font-size));
    font-weight: 600;
    line-height: 1.5714285714;
  }
  .m-about-overview__value {
    padding-block: calc(16 * 1rem / var(--font-size));
    padding-inline: calc(12 * 1rem / var(--font-size)) calc(16 * 1rem / var(--font-size));
    font-size: calc(14 * 1rem / var(--font-size));
    line-height: 1.5714285714;
  }
  .m-about-message {
    padding-block: calc(56 * 1rem / var(--font-size));
  }
  .m-about-message__inner {
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }
  .m-about-message__image {
    padding-block-start: calc(20 * 1rem / var(--font-size));
  }
  .m-about-message__image img {
    aspect-ratio: 311/300;
    inline-size: 100%;
    block-size: auto;
  }
  .m-about-message__en {
    font-size: calc(37 * 1rem / var(--font-size));
    line-height: 1.15;
  }
  .m-about-message__ja {
    padding-block-start: calc(8 * 1rem / var(--font-size));
    font-size: calc(18 * 1rem / var(--font-size));
    line-height: 1.2222222222;
  }
  .m-about-message__ja-marker {
    block-size: calc(32 * 1rem / var(--font-size));
    margin-inline-end: calc(8 * 1rem / var(--font-size));
    border-radius: calc(6 * 1rem / var(--font-size));
  }
  .m-about-message__text {
    padding-block-start: calc(32 * 1rem / var(--font-size));
    font-size: calc(14 * 1rem / var(--font-size));
    line-height: 1.8571428571;
  }
  .m-about-message__closing {
    padding-block-start: calc(24 * 1rem / var(--font-size));
    font-size: calc(18 * 1rem / var(--font-size));
    line-height: 1.2222222222;
  }
  .m-about-message__signature {
    padding-block-start: calc(24 * 1rem / var(--font-size));
    font-size: calc(18 * 1rem / var(--font-size));
    line-height: 1.2222222222;
  }
  .u-only--pc {
    display: none;
  }
}

@media (max-width: 375px){
  html {
    font-size: calc(var(--_font-size) / var(--_width) * 100vw);
  }
}

@media (any-hover: hover){
  .m-video-modal__close:hover {
    opacity: var(--opacity__hover);
  }
  .m-thanks__btn:hover {
    opacity: var(--opacity__hover);
  }
  .m-products-recommend__link:hover {
    opacity: var(--opacity__hover);
  }
  .m-products-category__link:hover {
    opacity: var(--opacity__hover);
  }
  .m-product-tabs__nav-button:hover {
    color: var(--color__primary);
  }
  .m-product-tab-options__toggle:hover {
    opacity: var(--opacity__hover);
  }
  .m-product-tab-options__link:hover {
    opacity: var(--opacity__hover);
  }
  .m-product-tab-downloads__nav-button:hover {
    color: var(--color__primary);
    background-color: var(--color__secondary);
  }
  .m-product-tab-downloads__button:hover {
    background-color: var(--color__secondary);
    border-color: var(--color__primary);
  }
  .m-product-tab-downloads__notice-text a:hover {
    opacity: var(--opacity__hover);
  }
  .m-product-search__submit:hover {
    opacity: var(--opacity__hover);
  }
  .m-product-hero-detail__thumb-button:hover {
    opacity: 1;
  }
  .m-product-hero-detail__action:hover {
    opacity: var(--opacity__hover);
  }
  .m-product-filter__link:hover {
    color: var(--color__primary);
  }
  .m-product-filter__sublink:hover {
    color: var(--color__primary);
  }
  .m-policies-accordion__button:hover {
    opacity: var(--opacity__hover);
  }
  .m-pagination__link:hover {
    opacity: var(--opacity__hover);
  }
  .m-pagination--rounded .m-pagination__link:hover {
    opacity: 1;
    color: var(--color__primary);
    border-color: var(--color__primary);
  }
  .m-notfound__btn:hover {
    opacity: var(--opacity__hover);
  }
  .m-news-tabs__item:hover {
    color: var(--color__primary);
  }
  .m-news-list__link:hover {
    opacity: var(--opacity__hover);
  }
  .m-news-filter__select:hover {
    opacity: var(--opacity__hover);
  }
  .m-medical-lineup__card-link:hover {
    opacity: var(--opacity__hover);
  }
  .m-medical-lineup__cta-link:hover {
    opacity: var(--opacity__hover);
  }
  .m-medical-intro__button:hover {
    opacity: var(--opacity__hover);
  }
  .m-medical-cta__link:hover {
    opacity: var(--opacity__hover);
  }
  .m-medical-cta-sidebar__link:hover {
    opacity: var(--opacity__hover);
  }
  .m-icon-button:hover {
    color: var(--_color__main);
    background-color: var(--_color__sub);
    filter: unset;
  }
  .m-home-products__link:hover {
    opacity: var(--opacity__hover);
  }
  .m-home-products__guide-link:hover {
    opacity: var(--opacity__hover);
  }
  .m-home-notice__text a:hover {
    opacity: var(--opacity__hover);
  }
  .m-home-notice__link:hover {
    opacity: var(--opacity__hover);
  }
  .m-home-news__view-all:hover {
    opacity: var(--opacity__hover);
  }
  .m-home-news__tab:hover {
    color: var(--color__primary);
    border-color: var(--color__primary);
  }
  .m-home-news__link:hover {
    opacity: var(--opacity__hover);
  }
  .m-home-mv__btn--solid:hover {
    background-color: var(--color__white);
    color: var(--color__black);
  }
  .m-home-gallery__view-all:hover {
    opacity: var(--opacity__hover);
  }
  .m-home-gallery__link:hover .m-home-gallery__thumb img {
    transform: scale(1.05);
  }
  .m-home-find__link:hover {
    background-color: var(--color__primary);
    color: var(--color__white);
    border-color: var(--color__primary);
  }
  .m-home-dealers__item-link:hover {
    opacity: var(--opacity__hover);
  }
  .m-home-company__link:hover {
    opacity: var(--opacity__hover);
  }
  .m-home-careers__btn:hover {
    opacity: var(--opacity__hover);
  }
  .m-home-brands__btn:hover {
    background-color: var(--color__primary);
    color: var(--color__white);
  }
  .m-history-timeline__period:hover {
    background-color: var(--color__primary);
  }
  .m-hioki-guide-support__contact-button:hover {
    opacity: var(--opacity__hover);
  }
  .m-header__submenu-link:hover {
    background-color: var(--color__secondary);
    color: var(--color__cta);
  }
  .m-gallery-slider__dot:hover {
    background-color: var(--color__cta);
  }
  .m-gallery-slider__arrow:hover {
    background-color: var(--color__primary);
    color: var(--color__white);
  }
  .m-gallery-card--photo:hover {
    opacity: var(--opacity__hover);
  }
  .m-gallery-card__trigger:hover {
    opacity: var(--opacity__hover);
  }
  .m-gallery-card__text a:hover {
    opacity: var(--opacity__hover);
  }
  .m-footer__contact-button:hover {
    color: var(--color__black);
    background-color: var(--color__white);
  }
  .m-drawer__close:hover {
    opacity: var(--opacity__hover);
  }
  .m-drawer__link:hover {
    opacity: var(--opacity__hover);
  }
  .m-drawer__parent-link:hover {
    opacity: var(--opacity__hover);
  }
  .m-drawer__toggle:hover {
    opacity: var(--opacity__hover);
  }
  .m-drawer__submenu-link:hover {
    opacity: var(--opacity__hover);
  }
  .m-drawer__tel:hover {
    opacity: var(--opacity__hover);
  }
  .m-drawer__cta:hover {
    opacity: var(--opacity__hover);
  }
  .m-dealers-related__card:hover {
    opacity: var(--opacity__hover);
  }
  .m-dealers-filter__button:hover {
    background-color: var(--color__secondary);
  }
  .m-dealers-filter__button--current:hover {
    background-color: var(--color__primary);
  }
  .m-contact .m-contact-form__submit .wpcf7-submit:hover,
  .m-contact .m-contact-button:hover {
    background-color: transparent;
    color: var(--color__primary);
  }
  .m-contact-form__consent-text a:hover {
    text-decoration: none;
  }
  .m-contact-button:hover,
  .m-contact-form__submit .wpcf7-submit:hover {
    background-color: transparent;
    color: var(--color__primary);
  }
  .m-contact-cta__button:hover {
    opacity: var(--opacity__hover);
  }
  .m-contact-cta__tel:hover {
    border-color: var(--color__primary);
    background-color: var(--color__secondary);
  }
  .m-careers-recruit__button:hover {
    opacity: var(--opacity__hover);
  }
  .m-button:hover {
    color: var(--_color__main);
    background-color: var(--_color__sub);
    filter: unset;
  }
  .m-business-product__link:hover {
    opacity: var(--opacity__hover);
  }
  .m-article__cat:hover {
    opacity: var(--opacity__hover);
  }
  .m-article-sidebar__back:hover {
    opacity: var(--opacity__hover);
  }
  .m-article-sidebar__link:hover {
    opacity: var(--opacity__hover);
  }
  .m-article-related__link:hover {
    opacity: var(--opacity__hover);
  }
  .m-article-content a:hover {
    opacity: var(--opacity__hover);
  }
  .m-article-content .wp-block-file__button:hover {
    opacity: var(--opacity__hover);
  }
  .m-article-content .wp-block-button__link:hover {
    opacity: var(--opacity__hover);
  }
  .u-hover--opacity:hover {
    opacity: var(--opacity__hover);
  }
  .u-hover--drop-shadow:hover {
    filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.2));
    transform: translateZ(0);
  }
  .u-hover--color-main:hover {
    color: var(--color__blue);
  }
  .u-hover--underline-1px:hover::after {
    transform: scaleX(1);
    transform-origin: left;
  }
  .u-hover--underline-2px:hover::after {
    transform: scaleX(1);
    transform-origin: left;
  }
}

@media (prefers-reduced-motion: no-preference){
  [data-scroll-animation] {
    transition-property: var(--_scroll-animation-property);
    transition-timing-function: var(--_scroll-animation-easing);
  }
  [data-scroll-animation][data-animated=true]:not(:focus-within) {
    transition-duration: var(--_scroll-animation-duration);
  }
  [data-scroll-animation|=clip] {
    --_scroll-animation-property: clip-path;
    --_scroll-animation-easing: cubic-bezier(0.19, 1, 0.22, 1);
    --_scroll-animation-duration: 1s;
    --_scroll-animation-stating-path: inset(0 100% 0 0);
    --_scroll-animation-end-path: inset(0 0 0 0);
  }
  [data-scroll-animation|=clip]:not([data-animated=true]) {
    clip-path: var(--_scroll-animation-stating-path);
  }
  [data-scroll-animation|=clip][data-animated=true] {
    clip-path: var(--_scroll-animation-end-path);
  }
  [data-scroll-animation=clip-with-overlay] {
    --_scroll-animation-overlay-color: var(--color__gray, #676f79);
    --_scroll-animation-overlay-duration: var(--_scroll-animation-duration);
    --_scroll-animation-overlay-delay: calc(
      var(--_scroll-animation-overlay-duration) / 2
    );
    position: relative;
  }
  [data-scroll-animation=clip-with-overlay]::after {
    position: absolute;
    inset: 0;
    content: "";
    background-color: var(--_scroll-animation-overlay-color);
    transition-timing-function: var(--_scroll-animation-easing);
    transition-property: var(--_scroll-animation-property);
    rotate: 180deg;
  }
  [data-scroll-animation=clip-with-overlay]:not(:focus-within)::after {
    transition-duration: var(--_scroll-animation-duration);
    transition-delay: calc(var(--_scroll-animation-duration) / 2);
  }
  [data-scroll-animation=clip-with-overlay]:not([data-animated=true])::after {
    clip-path: var(--_scroll-animation-end-path);
  }
  [data-scroll-animation=clip-with-overlay][data-animated=true]::after {
    clip-path: var(--_scroll-animation-stating-path);
  }
  [data-scroll-animation=fade-in] {
    --_scroll-animation-property: opacity;
    --_scroll-animation-easing: ease;
    --_scroll-animation-duration: 1s;
  }
  [data-scroll-animation=fade-in]:not([data-animated=true]) {
    opacity: 0;
  }
  [data-scroll-animation=fade-in-up] {
    --_scroll-animation-property: opacity, translate;
    --_scroll-animation-easing: ease-in-out;
    --_scroll-animation-duration: 1s;
    --_scroll-animation-starting-position: 40px;
  }
  [data-scroll-animation=fade-in-up]:not([data-animated=true]) {
    opacity: 0;
    translate: 0 var(--_scroll-animation-starting-position);
  }
  [data-scroll-animation=fade-in-down] {
    --_scroll-animation-property: opacity, translate;
    --_scroll-animation-easing: ease-in-out;
    --_scroll-animation-duration: 1s;
    --_scroll-animation-starting-position: -40px;
  }
  [data-scroll-animation=fade-in-down]:not([data-animated=true]) {
    opacity: 0;
    translate: 0 var(--_scroll-animation-starting-position);
  }
  [data-scroll-animation=fade-in-left] {
    --_scroll-animation-property: opacity, translate;
    --_scroll-animation-easing: ease-in-out;
    --_scroll-animation-duration: 1s;
    --_scroll-animation-starting-position: -40px;
  }
  [data-scroll-animation=fade-in-left]:not([data-animated=true]) {
    opacity: 0;
    translate: var(--_scroll-animation-starting-position) 0;
  }
  [data-scroll-animation=fade-in-right] {
    --_scroll-animation-property: opacity, translate;
    --_scroll-animation-easing: ease-in-out;
    --_scroll-animation-duration: 1s;
    --_scroll-animation-starting-position: 40px;
  }
  [data-scroll-animation=fade-in-right]:not([data-animated=true]) {
    opacity: 0;
    translate: var(--_scroll-animation-starting-position) 0;
  }
  [data-scroll-animation=scale-in] {
    --_scroll-animation-property: opacity, scale;
    --_scroll-animation-easing: cubic-bezier(0.19, 1, 0.22, 1);
    --_scroll-animation-duration: 1s;
    --_scroll-animation-starting-scale: 0.9;
  }
  [data-scroll-animation=scale-in]:not([data-animated=true]) {
    opacity: 0;
    scale: var(--_scroll-animation-starting-scale);
  }
}

@media (prefers-reduced-motion: reduce){
  .m-product-tab-options__section {
    --_duration: 0s;
  }
  .m-product-filter {
    --_duration: 0s;
  }
  .m-gallery-card__text {
    --_duration: 0s;
  }
  .m-drawer {
    --_duration: 0s;
  }
}