@charset "UTF-8";
/*
リセットCSS
*/
*,
*::before,
*::after {
  box-sizing: border-box;
}

/*

// デフォルトの余白を消す
body,
h1, h2, h3, h4, h5, h6,
p, figure, blockquote, dl, dd {
  margin: 0;
}

// リスト
// ※ただし、記事本文(.is-root-container)の中では点はあった方がいい場合もあるのであくまでベースとして消しておく設計
ul[class],
ol[class] {
  list-style: none;
  padding: 0;
}

// フォーム要素のフォントを継承させる
input,
button,
textarea,
select {
  font: inherit;
}
*/
@font-face {
  font-family: "Inter";
  src: url("../fonts/inter/Inter-VariableFont_opsz,wght.ttf") format("truetype");
  font-weight: 100 900;
  font-display: swap;
}
@font-face {
  font-family: "Roboto";
  src: url("../fonts/roboto/Roboto-VariableFont_wdth,wght.ttf") format("truetype");
  font-weight: 100 900;
  font-display: swap;
}
html {
  font-size: 100%;
  scroll-behavior: smooth;
}

body {
  width: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
  font-feature-settings: "palt" 1;
}

:where(h1) {
  font-size: var(--fz-h1);
}

:where(h2) {
  font-size: var(--fz-h2);
}

:where(h3) {
  font-size: var(--fz-h3);
}

:where(h4) {
  font-size: var(--fz-h4);
}

:where(h5) {
  font-size: var(--fz-h5);
}

:where(h6) {
  font-size: var(--fz-h6);
}

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

p:empty {
  display: none;
  /* 影響範囲を確認
  display: block;
  width: 100px;
  height: 100px;
  background-color: #c00;
  */
}

a:where(:not(.wp-element-button)) {
  color: var(--wp--preset--color--link);
}

.mini {
  font-size: 0.8em;
}

/*
Sass変数
*/
:root {
  --fz-base: 1rem;
  --fz-h1: 1.5rem;
  --fz-h2: 1.375rem;
  --fz-h3: 1.25rem;
  --fz-h4: 1.1875rem;
  --fz-h5: 1.125rem;
  --fz-h6: 1.125rem;
}
:root .ml-pageheadTitle {
  --fz-h1: 1.875rem;
}
:root .ml-sectionHeading {
  --fz-h2: 1.625rem;
}
@media (min-width: 1024px) {
  :root {
    --fz-h1: 1.75rem;
    --fz-h2: 1.5rem;
    --fz-h3: 1.375rem;
  }
  :root .ml-pageheadTitle {
    --fz-h1: 38px;
  }
  :root .ml-sectionHeading {
    --fz-h2: 38px;
  }
}

/*
メディアクエリ

〇パターン1：積み上げ型（基本）
「スマホを基準にして、画面が大きくなるにつれて上書きする」 最も標準的な書き方です。 第2引数は省略します。
用途： レイアウトの変更（1列→2列→3列）、文字サイズの拡大など。

.ml-grid {
  // 1. 基本スタイル (スマホ ~ 767px)
  display: grid;
  grid-template-columns: 1fr; // 1列
  gap: 10px;

  // 2. タブレット以上 (768px ~)
  // "media(tab)" ＝ 「タブレットサイズになったら発動」
  @include media(tab) {
    grid-template-columns: repeat(2, 1fr); // 2列
    gap: 20px;
  }

  // 3. PC以上 (1024px ~)
  // "media(pc)" ＝ 「PCサイズになったら発動」
  @include media(pc) {
    grid-template-columns: repeat(3, 1fr); // 3列
    gap: 30px;
  }
}

〇パターン2：切り捨て型（特定サイズ未満）
「PC未満（＝スマホとタブレット）の時だけ適用したい」 場合に使います。 第2引数に down を指定します。
用途： ハンバーガーメニューの表示、PCでは不要な余白の削除など。

.ml-hamburger-menu {
  // PC以上では非表示 (デフォルト)
  display: none;

  // PC未満 (〜 1023px) の場合
  // "media(pc, down)" ＝ 「PCサイズより下なら発動」
  @include media(pc, down) {
    display: block; // 表示する
    position: fixed;
    top: 0;
    right: 0;
  }
}

.ml-sidebar {
  // サイドバーはPC用なので、PC未満では消す
  @include media(pc, down) {
    display: none;
  }
}

〇パターン3：ピンポイント型（範囲指定）
「タブレットの時（スマホより大きく、PCより小さい）だけ調整したい」 場合に使います。 第1引数に開始、第2引数に終了の名前を指定します。
用途： タブレットでのみ発生するレイアウト崩れの微調整など。

.ml-hero-text {
  font-size: 16px; // SP

  // PC以上は大きくする
  @include media(pc) {
    font-size: 24px;
  }

  // ★タブレットだけ特別調整 (768px 〜 1023px)
  // "media(tab, pc)" ＝ 「tabからpcまでの間だけ発動」
  @include media(tab, pc) {
    font-size: 20px; // PCほど大きくないが、SPよりは大きくしたい
    line-height: 1.8;
  }
}
*/
/*
コンテナの上下マージン

各コンテナ間の上下余白を定義します。
*/
/*
@mixin containerMargin {
  margin-block: 7vw;

  @include media(pc) {
    margin-block: 150px;
  }
}
*/
/*
コンテナの上下マージンをpaddingで実装する場合

コンテナが背景色を持っている場合はこちらを使用します。
*/
/*
@mixin containerPadding {
  padding-block: 7vw;

  @include media(pc) {
    padding-block: 80px;// containerMarginより少し少なめ
  }
}
*/
/*
コンテナの上下マージン（タイト）
*/
/*
コンテナの上下マージンをpaddingで実装する場合（タイト）
*/
/**
 * 要素の左側に縦線の装飾を付与します
 * @param {Number} $width  - 線の太さ（デフォルト: 4px）
 * @param {Color}  $color  - 線の色（デフォルト: $clr-primary）
 * @param {Number} $adjust - 線の高さや上下位置の微調整値（デフォルト: 0.3em）
 *
 * @example scss - $adjustだけを指定しそれ以外はデフォルト値を使う場合
 * @include deco-line-left($adjust: 0.5em);
 */
/*
子要素の先頭要素の上余白、末尾要素の下余白をカットします
*/
/*
各ファイルで定義された変数やMixinを「転送（公開）」します
これで、他のファイルが @use '../foundation' as *; するだけで、variablesとmixinsの中身が全部使えるようになります。
*/
/*
基本レイアウト
*/
.wp-site-blocks {
  display: grid;
  grid-template-rows: auto 1fr auto;
  min-height: 100dvh;
}

/*
ヘッダーレイアウト枠
*/
.ml-layoutHeader {
  width: 100%;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 9999;
  background-color: var(--wp--preset--color--base);
  color: var(--wp--preset--color--text);
  /*
  // トップページ（ヒーローセクションの被さるヘッダー）
  @at-root body.home & {
    position: fixed;
    top: 0;
    left: 0;
    background-color: transparent;
    color: #fff;

    &:not(:has(.is-scrolled)) {
      border-bottom: none;
    }
  }
  */
}

/*
コンテンツレイアウト枠（main要素）
*/
.ml-layoutContent {
  width: 100%;
  padding-inline: 0;
  margin: 0;
  min-width: 0;
}
/*
カスタムブロックスタイル：セクション構造
*/
.is-style-ml-section-tertiary, .is-style-ml-section-secondary, .is-style-ml-section-primary, .is-style-ml-section-alternate, .is-style-ml-section-basic {
  max-width: none;
  width: 100%;
  padding-inline: var(--wp--custom--screen-inline-gap);
  margin-block: 0;
  /*
  padding-block: 5vw;
  @include media(pc) {
    padding-block: 40px;
  }
  */
  padding-block: 7vw;
  background-color: transparent;
  /*
  // 上下余白を0にする
  &.pb-0 {
    padding-block: 0;
  }
  */
}
@media screen and (min-width: 1024px) {
  .is-style-ml-section-tertiary, .is-style-ml-section-secondary, .is-style-ml-section-primary, .is-style-ml-section-alternate, .is-style-ml-section-basic {
    padding-block: 80px;
  }
}
.is-style-ml-section-tertiary > * > :first-child, .is-style-ml-section-secondary > * > :first-child, .is-style-ml-section-primary > * > :first-child, .is-style-ml-section-alternate > * > :first-child, .is-style-ml-section-basic > * > :first-child {
  margin-top: 0;
  padding-top: 0;
}
.is-style-ml-section-tertiary > * > :last-child, .is-style-ml-section-secondary > * > :last-child, .is-style-ml-section-primary > * > :last-child, .is-style-ml-section-alternate > * > :last-child, .is-style-ml-section-basic > * > :last-child {
  margin-bottom: 0;
  padding-bottom: 0;
}
.is-style-ml-section-tertiary > *:not(.alignwide):not(.alignfull), .is-style-ml-section-secondary > *:not(.alignwide):not(.alignfull), .is-style-ml-section-primary > *:not(.alignwide):not(.alignfull), .is-style-ml-section-alternate > *:not(.alignwide):not(.alignfull), .is-style-ml-section-basic > *:not(.alignwide):not(.alignfull) {
  max-width: var(--wp--style--global--content-size);
  margin-inline: auto;
}
.is-style-ml-section-tertiary > *.alignwide, .is-style-ml-section-secondary > *.alignwide, .is-style-ml-section-primary > *.alignwide, .is-style-ml-section-alternate > *.alignwide, .is-style-ml-section-basic > *.alignwide {
  max-width: var(--wp--style--global--wide-size);
  margin-inline: auto;
}
.is-style-ml-section-tertiary > *.alignfull, .is-style-ml-section-secondary > *.alignfull, .is-style-ml-section-primary > *.alignfull, .is-style-ml-section-alternate > *.alignfull, .is-style-ml-section-basic > *.alignfull {
  max-width: none;
  margin-inline: 0;
}
.is-style-ml-section-tertiary > *.alignfull.full-max, .is-style-ml-section-secondary > *.alignfull.full-max, .is-style-ml-section-primary > *.alignfull.full-max, .is-style-ml-section-alternate > *.alignfull.full-max, .is-style-ml-section-basic > *.alignfull.full-max {
  margin-inline: calc(var(--wp--custom--screen-inline-gap) * -1);
}
.is-style-ml-section-tertiary > *.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)), .is-style-ml-section-secondary > *.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)), .is-style-ml-section-primary > *.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)), .is-style-ml-section-alternate > *.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)), .is-style-ml-section-basic > *.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: none;
  margin-inline: 0;
}
.is-style-ml-section-tertiary > :first-child, .is-style-ml-section-secondary > :first-child, .is-style-ml-section-primary > :first-child, .is-style-ml-section-alternate > :first-child, .is-style-ml-section-basic > :first-child {
  margin-top: 0;
  padding-top: 0;
}
.is-style-ml-section-tertiary > :last-child, .is-style-ml-section-secondary > :last-child, .is-style-ml-section-primary > :last-child, .is-style-ml-section-alternate > :last-child, .is-style-ml-section-basic > :last-child {
  margin-bottom: 0;
  padding-bottom: 0;
}

.is-style-ml-section-alternate {
  background-color: var(--wp--preset--color--base-alt);
}

.is-style-ml-section-primary {
  background-color: var(--wp--preset--color--base-primary);
  border-top: solid 1px var(--wp--preset--color--primary);
}

.is-style-ml-section-secondary {
  background-color: var(--wp--preset--color--base-secondary);
  border-top: solid 1px var(--wp--preset--color--secondary);
}

.is-style-ml-section-tertiary {
  background-color: var(--wp--preset--color--base-tertiary);
  border-top: solid 1px var(--wp--preset--color--tertiary);
}

/*
.is-style-ml-section-basic + .is-style-ml-section-basic,
.is-style-ml-section-alternate + .is-style-ml-section-alternate,
.is-style-ml-section-primary + .is-style-ml-section-primary,
.is-style-ml-section-secondary + .is-style-ml-section-secondary,
.is-style-ml-section-tertiary + .is-style-ml-section-tertiary {
  padding-top: 0;
  border-top: none;
}
*/
.is-style-ml-section-basic + .is-style-ml-section-basic {
  padding-top: 0;
  border-top: none;
}

.is-style-ml-section-alternate + .is-style-ml-section-alternate {
  padding-top: 0;
  border-top: none;
}

.is-style-ml-section-primary + .is-style-ml-section-primary {
  padding-top: 0;
  border-top: none;
}

.is-style-ml-section-secondary + .is-style-ml-section-secondary {
  padding-top: 0;
  border-top: none;
}

.is-style-ml-section-tertiary + .is-style-ml-section-tertiary {
  padding-top: 0;
  border-top: none;
}

/*
フッターレイアウト枠
*/
.ml-layoutFooter {
  margin: 0;
}

/*
2カラムレイアウト

カラム構造（wp-block-columns）になっています。スマホ時（782px未満）では縦並びになります。
テンプレート側でこの2カラムブロックの親要素（【セクション】構造）にカスタムブロックスタイル「標準」を指定しています。
*/
@media screen and (min-width: 1024px) {
  .ml-2columnLayout {
    -moz-column-gap: 80px;
         column-gap: 80px;
  }
}
@media (min-width: 782px) {
  .ml-2columnLayout__side {
    max-width: 300px;
  }
}
@media (max-width: 781px) {
  .single-post [class*=is-style-ml-section-]:has(.ml-2columnLayout) {
    padding-top: 0;
  }
  .ml-2columnLayout .ml-blogArticle__image {
    margin-inline: calc(var(--wp--custom--screen-inline-gap) * -1);
  }
}

:root {
  --header-bg: #fff;
  --header-text: #000;
}

/*
ヘッダー
*/
.ml-headerRole {
  border-bottom: solid 1px var(--wp--preset--color--border);
  /*
  transition: background-color .3s, color .3s;

  // トップページ向けの挙動
  @at-root body.home & {

    // ブラウザスクロールされている時
    &.is-scrolled {
      background-color: var(--header-bg);
      color: var(--header-text);
    }

    // スマホ時でドロワーが開いている時
    &:has(.is-MeteolightDrawerOpen) {
      background-color: var(--header-bg);
      // ロゴとバーガー線はそれぞれの要素側で定義
    }
  }
  */
}
.ml-headerRole__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 7px 14px;
}
@media screen and (min-width: 1024px) {
  .ml-headerRole__inner {
    padding-inline: min(4.68vw, 40px);
    padding-block: 14px;
  }
}
.ml-headerRole__brand a {
  display: flex;
  align-items: center;
  transition: filter 0.3s;
}
.ml-headerRole__brand a .header-logo {
  height: 30px;
  width: auto;
  /*
  // トップページ向け（ブラウザが未スクロール時、かつドロワーが開いていない場合）
  @at-root body.home .ml-headerRole:not(.is-scrolled):not(:has(.is-MeteolightDrawerOpen)) & {
    // 黒ロゴを白に
    filter: brightness(0) invert(1);
  }
  */
}
@media screen and (min-width: 1024px) {
  .ml-headerRole__brand a .header-logo {
    height: 40px;
  }
}
.ml-headerRole__brand a:hover {
  filter: brightness(1.1);
}
.ml-headerRole__nav a {
  color: inherit;
  text-decoration: none;
}
.ml-headerRole__nav a:hover {
  text-decoration: none;
}
@media screen and (min-width: 1024px) {
  .ml-headerRole__nav nav {
    display: flex;
    align-items: center;
    -moz-column-gap: 40px;
         column-gap: 40px;
    font-size: 0.8rem;
    line-height: 1.3;
  }
  .ml-headerRole__nav .nav_item:not(.contact) a {
    display: block;
    padding: 0.5em 0;
    position: relative;
    overflow: hidden;
  }
  .ml-headerRole__nav .nav_item:not(.contact) a:after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: 0;
    left: 0;
    background-color: var(--header-text);
    opacity: 0.5;
    transform: translateX(-100%);
    transition: transform 0.3s;
    /*
    // トップページ向け（ブラウザが未スクロール時、かつドロワーが開いていない場合）
    @at-root body.home .ml-headerRole:not(.is-scrolled):not(:has(.is-MeteolightDrawerOpen)) & {
      background-color: var(--header-text-alt);
    }
    */
  }
  .ml-headerRole__nav .nav_item:not(.contact) a:hover:after {
    transform: translateX(0);
  }
  .ml-headerRole__nav .nav_item.drawer-only {
    display: none;
  }
  .ml-headerRole__nav .nav_item.contact {
    margin-left: 10px;
  }
  .ml-headerRole__nav .nav_item.contact a {
    display: block;
    background-color: var(--wp--preset--color--accent);
    color: var(--wp--preset--color--on-accent);
    padding: 0.75em 1.5em;
  }
}
@media screen and (max-width: 1023.98px) {
  .ml-headerRole__nav {
    position: fixed;
    top: var(--header-height);
    left: 0;
    width: 100vw;
    height: calc(var(--vh, 1vh) * 100 - var(--header-height));
    overflow-y: auto;
    background-color: var(--wp--preset--color--base);
    color: var(--wp--preset--color--text);
    transform: translate3d(-100%, 0, 0);
    opacity: 0;
    pointer-events: none;
    transition: transform 0.5s, opacity 0.3s;
  }
  .ml-headerRole__nav nav {
    height: auto;
    min-height: 100%;
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    gap: 0.5em;
    font-family: var(--wp--preset--font-family--noto-serif-jp);
    font-size: 1.5rem;
    line-height: 1.3;
  }
  .ml-headerRole__nav .nav_item a {
    display: block;
    padding: 0.5em 1em;
    color: var(--wp--preset--color--text);
  }
  .ml-headerRole__nav .nav_item.contact {
    margin-block: 1.5rem;
  }
  .ml-headerRole__nav .nav_item.contact a {
    background-color: var(--wp--preset--color--accent);
    color: var(--wp--preset--color--on-accent);
    padding: 0.5em 2em;
  }
  .ml-headerRole__nav.is-MeteolightDrawerOpen {
    transform: translate3d(0, 0, 0);
    opacity: 1;
    pointer-events: auto;
    transition: transform 0.5s, opacity 0.3s;
  }
}

/*
ドロワー開閉ボタン（独自実装）
*/
.ml-drawerToggle {
  width: 40px;
  height: 40px;
  position: relative;
}
@media screen and (min-width: 1024px) {
  .ml-drawerToggle {
    display: none;
  }
}
.ml-drawerToggle p {
  display: none;
}
.ml-drawerToggle:before, .ml-drawerToggle:after {
  content: "";
  display: block;
  width: calc(100% - 14px);
  height: 2px;
  position: absolute;
  top: 50%;
  left: 7px;
  background-color: #000;
  transition: 0.5s;
  transform-origin: center center;
  /*
  // トップページ向け（ブラウザが未スクロール時、かつドロワーが開いていない場合）
  @at-root body.home .ml-headerRole:not(.is-scrolled):not(:has(.is-MeteolightDrawerOpen)) & {
    background-color: var(--header-text-alt);
  }
  */
}
.ml-drawerToggle:before {
  transform: translateY(-4px);
}
.ml-drawerToggle:after {
  transform: translateY(4px);
}
.ml-drawerToggle.is-active:before {
  transform: translateY(0) rotate(225deg);
}
.ml-drawerToggle.is-active:after {
  transform: translateY(0) rotate(135deg);
}

/*
フッター
*/
.ml-footerRole {
  background: var(--wp--preset--color--base);
  position: relative;
  overflow: hidden;
  background: var(--wp--preset--color--base-secondary);
}
.ml-footerRole::before {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background-image: url("../img/kokopelli.svg");
  background-repeat: no-repeat;
  background-position: bottom right;
  background-size: contain;
  filter: grayscale(1) brightness(10);
  opacity: 0.6;
  pointer-events: none;
  z-index: 0;
}
@media screen and (max-width: 767.98px) {
  .ml-footerRole::before {
    background-position: bottom 30px right -150px;
  }
}
@media screen and (min-width: 768px) {
  .ml-footerRole::before {
    background-position: bottom -30px right -60px;
  }
}
@media screen and (min-width: 1024px) {
  .ml-footerRole::before {
    height: 120%;
    background-position: bottom -100px right -60px;
  }
}
.ml-footerRole__topBar {
  height: 4px;
  background: linear-gradient(to right, var(--wp--preset--color--tertiary), var(--wp--preset--color--secondary), var(--wp--preset--color--primary));
}
.ml-footerRole__inner {
  max-width: calc(var(--wp--style--global--content-size) + min(4.68vw, 40px) * 2);
  margin: 0 auto;
  padding: 100px min(4.68vw, 40px) 0;
  position: relative;
}
@media screen and (max-width: 1023.98px) {
  .ml-footerRole__inner {
    padding-top: 2rem;
  }
}
.ml-footerRole__grid {
  display: grid;
  grid-template-columns: 300px repeat(3, 1fr);
  gap: 30px;
}
@media screen and (max-width: 1023.98px) {
  .ml-footerRole__grid {
    grid-template-columns: repeat(3, 1fr);
    -moz-column-gap: 2rem;
         column-gap: 2rem;
    row-gap: 2rem;
  }
}
@media screen and (max-width: 767.98px) {
  .ml-footerRole__grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
}
@media screen and (max-width: 1023.98px) {
  .ml-footerRole__brand {
    order: 99;
    grid-column: 1/-1;
  }
}
.ml-footerRole__brand > .inner {
  height: 100%;
  display: inline-flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 1023.98px) {
  .ml-footerRole__brand > .inner {
    width: 100%;
  }
}
.ml-footerRole__brandlogo {
  display: block;
  transition: 0.3s;
  margin-bottom: 2rem;
}
.ml-footerRole__brandlogo:hover {
  filter: brightness(1.1);
}
.ml-footerRole__brand img {
  height: 120px;
  width: auto;
}
.ml-footerRole__tagline {
  display: none;
  /*
  font-family: var(--wp--preset--font-family--shippori-mincho);
  font-size: 15px;
  font-feature-settings: "palt" 1;
  line-height: 1.7;
  color: $clr-text-muted;
  margin-bottom: 2em;
  */
}
.ml-footerRole__sns {
  display: flex;
  gap: 12px;
}
.ml-footerRole__snsBtn {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--wp--preset--color--text-muted);
  transition: all 0.25s;
}
.ml-footerRole__snsBtn:hover {
  color: white;
}
.ml-footerRole__snsBtn.facebook:hover {
  background-color: #3B5999;
}
.ml-footerRole__snsBtn.x-twitter:hover {
  background-color: #000000;
}
.ml-footerRole__snsBtn.instagram:hover {
  background-color: #f00075;
}
.ml-footerRole__snsBtn svg {
  width: 18px;
  height: 18px;
}
.ml-footerRole__col h4 {
  font-family: "Inter", "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  color: var(--wp--preset--color--secondary);
  margin-top: 0;
  margin-bottom: 1em;
  letter-spacing: 0.06em;
  border-bottom: solid 1px color-mix(in srgb, var(--wp--preset--color--secondary) 50%, transparent 100%);
  padding-bottom: 0.5em;
}
.ml-footerRole__col .subtitle {
  font-size: 0.8rem;
  font-weight: 500;
  color: var(--wp--preset--color--secondary);
  margin: 0.5em 0;
}
.ml-footerRole__col ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.ml-footerRole__col ul li {
  margin-bottom: 12px;
}
.ml-footerRole__col ul li a {
  color: var(--wp--preset--color--text-muted);
  text-decoration: none;
  font-size: 13px;
  transition: color 0.25s;
}
.ml-footerRole__col ul li a:hover {
  color: var(--wp--preset--color--primary);
}
.ml-footerRole__bottom {
  margin: 0;
  padding-block: 20px;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .ml-footerRole__bottom {
    margin-top: 40px;
  }
}
.ml-footerRole__bottom p {
  font-size: 11px;
  color: var(--wp--preset--color--text-muted);
  letter-spacing: 0.05em;
}

/*
ボタン
*/
/*
ブロックボタン

ボタンスタイルを管理画面のスタイルから調整（文字サイズ、角丸等）できるようここでは追加スタイルのみを定義します
*/
.wp-element-button {
  display: grid;
  grid-template-columns: 1fr auto;
  padding: 0.9em 2em 0.75em;
  transition: filter 0.3s;
}
.wp-element-button:after {
  font-family: "dashicons";
  content: "\f345";
  font-size: 1.2em;
  opacity: 0.8;
  transform: translateX(1em);
  transition: transform 0.3s;
}
.wp-element-button:hover {
  filter: brightness(1.1);
}
.wp-element-button:hover:after {
  transform: translateX(calc(1em + 2px));
}
.wp-element-button.ml-largeBtn {
  transform: scale(1.5);
}
.wp-element-button.ml-videoBtn {
  font-size: 0.875rem;
  grid-template-columns: auto 1fr;
  align-items: center;
  -moz-column-gap: 0.5em;
       column-gap: 0.5em;
  padding: 0.5em 1em;
}
.wp-element-button.ml-videoBtn:before {
  font-family: "dashicons";
  content: "\f236";
  font-size: 1.5em;
  transform: translateY(0.1em);
}
.wp-element-button.ml-videoBtn:after {
  content: none;
}

/*
ページトップボタン
*/
.ml-pageTop {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  background-color: var(--wp--preset--color--accent);
  color: var(--wp--preset--color--on-accent);
  border-radius: 50%;
  cursor: pointer;
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: 0.3s;
}
.ml-pageTop:after {
  font-family: "dashicons";
  content: "\f343";
  display: block;
  font-size: 1.4rem;
  transition: 0.3s;
}
.ml-pageTop p {
  display: none;
}
.ml-pageTop.is-active {
  opacity: 0.8;
  visibility: visible;
  transform: translateY(0);
}
.ml-pageTop:hover {
  opacity: 1;
}
.ml-pageTop:hover:after {
  transform: translateY(-2px);
}

/*
ソーシャルボタン
*/
.wp-block-social-link {
  color: var(--wp--preset--color--text);
  transition: 0.3s;
}
.wp-block-social-link:not(:hover) {
  background-color: transparent;
}
.wp-block-social-link:hover {
  transform: none;
  color: #fff;
}

/*
HTML要素のスタイリングをカスタムブロックスタイルの形で準備します。
*/
/*
テーブルスタイル
*/
.is-style-ml-table-center table, .is-style-ml-table-right table, .is-style-ml-table-basic table {
  border-collapse: collapse;
}
.is-style-ml-table-center table td, .is-style-ml-table-right table td, .is-style-ml-table-basic table td, .is-style-ml-table-center table th, .is-style-ml-table-right table th, .is-style-ml-table-basic table th {
  border: 1px solid var(--wp--preset--color--border);
  padding: 0.75em 1em;
  background-color: var(--wp--preset--color--base);
}
.is-style-ml-table-center table tbody tr:nth-child(even) th, .is-style-ml-table-right table tbody tr:nth-child(even) th, .is-style-ml-table-basic table tbody tr:nth-child(even) th, .is-style-ml-table-center table tbody tr:nth-child(even) td, .is-style-ml-table-right table tbody tr:nth-child(even) td, .is-style-ml-table-basic table tbody tr:nth-child(even) td {
  background-color: var(--wp--preset--color--base-alt);
}
.is-style-ml-table-center table thead, .is-style-ml-table-right table thead, .is-style-ml-table-basic table thead {
  border-bottom: solid 2px color-mix(in srgb, var(--wp--preset--color--text) 25%, var(--wp--preset--color--base));
}
.is-style-ml-table-center table thead th, .is-style-ml-table-right table thead th, .is-style-ml-table-basic table thead th, .is-style-ml-table-center table thead td, .is-style-ml-table-right table thead td, .is-style-ml-table-basic table thead td {
  background-color: var(--wp--preset--color--base-alt);
}
.is-style-ml-table-center table tfoot, .is-style-ml-table-right table tfoot, .is-style-ml-table-basic table tfoot {
  border-top: solid 2px color-mix(in srgb, var(--wp--preset--color--text) 25%, var(--wp--preset--color--base));
}
.is-style-ml-table-center table tfoot th, .is-style-ml-table-right table tfoot th, .is-style-ml-table-basic table tfoot th, .is-style-ml-table-center table tfoot td, .is-style-ml-table-right table tfoot td, .is-style-ml-table-basic table tfoot td {
  background-color: var(--wp--preset--color--base-alt);
}
@media screen and (max-width: 767.98px) {
  .is-style-ml-table-center, .is-style-ml-table-right, .is-style-ml-table-basic {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .is-style-ml-table-center table, .is-style-ml-table-right table, .is-style-ml-table-basic table {
    table-layout: auto !important;
    width: auto;
  }
  .is-style-ml-table-center table th, .is-style-ml-table-right table th, .is-style-ml-table-basic table th {
    white-space: nowrap;
  }
  .is-style-ml-table-center table td, .is-style-ml-table-right table td, .is-style-ml-table-basic table td {
    min-width: 12em;
    max-width: 15em;
    overflow-wrap: anywhere;
  }
  .is-style-ml-table-center table th:first-child, .is-style-ml-table-right table th:first-child, .is-style-ml-table-basic table th:first-child {
    position: -webkit-sticky;
    position: sticky;
    left: 0;
    z-index: 1;
    box-shadow: inset -1px 0 0 var(--wp--preset--color--border);
    border-right-color: transparent;
  }
}
.is-style-ml-table-center .wp-element-caption, .is-style-ml-table-right .wp-element-caption, .is-style-ml-table-basic .wp-element-caption {
  margin-block: 1em;
}

.is-style-ml-table-right td {
  text-align: right;
}

.is-style-ml-table-center td {
  text-align: center;
}

/*
リストスタイル
*/
.ml-list,
[class*=is-style-ml-list] {
  margin-inline: 0;
  padding-inline: 0;
  list-style-type: none;
}
.ml-list > *,
[class*=is-style-ml-list] > * {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  margin-inline: 0;
  margin-block: 0.5em;
  -moz-column-gap: 0.5em;
       column-gap: 0.5em;
}
.ml-list > *:before,
[class*=is-style-ml-list] > *:before {
  content: "";
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.ml-list > * > :where(ul, ol, dl),
[class*=is-style-ml-list] > * > :where(ul, ol, dl) {
  grid-column: 1/-1;
  margin-left: 2em;
}

.ml-list > ::before,
[class*=is-style-ml-list] > ::before {
  font-family: "dashicons";
  content: "•";
  font-size: 1em;
  color: var(--wp--preset--color--text-muted);
  transform: translateY(0.02em);
}
.ml-list[class*=-check] > ::before,
[class*=is-style-ml-list][class*=-check] > ::before {
  font-family: "dashicons";
  content: "\f147";
  font-size: 1.4em;
  color: var(--wp--preset--color--text-muted);
  transform: translateY(0.1em);
}
.ml-list[class*=-circle] > ::before,
[class*=is-style-ml-list][class*=-circle] > ::before {
  font-family: "dashicons";
  content: "\f159";
  font-size: 1.1em;
  color: var(--wp--preset--color--text-muted);
  transform: translateY(0.2em);
}
.ml-list[class*=-ordered],
[class*=is-style-ml-list][class*=-ordered] {
  counter-reset: ml-list-count;
}
.ml-list[class*=-ordered] > *,
[class*=is-style-ml-list][class*=-ordered] > * {
  counter-increment: ml-list-count;
}
.ml-list[class*=-ordered] > *::before,
[class*=is-style-ml-list][class*=-ordered] > *::before {
  font-family: "Inter", "Noto Sans JP", sans-serif;
  content: counter(ml-list-count) ".";
  font-weight: 500;
  /* 〇囲み
  font-size: 0.75em;
  font-weight: bold;
  color: #fff;
  background-color: $clr-primary;
  width: 1.8em;
  height: 1.8em;
  border-radius: 50%;
  */
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transform: translateY(0.2em);
}

/*
定義スタイル（Description List）
*/
.is-style-ml-definition-basic {
  display: grid;
  grid-template-columns: auto 1fr;
  -moz-column-gap: 0;
       column-gap: 0;
  row-gap: 0;
  border-top: solid 1px var(--wp--preset--color--border);
}
.is-style-ml-definition-basic > div {
  display: contents;
}
.is-style-ml-definition-basic dt, .is-style-ml-definition-basic dd {
  margin: 0;
  padding-block: 1em;
  border-bottom: 1px solid var(--wp--preset--color--border);
}
.is-style-ml-definition-basic dt {
  grid-column: 1;
  font-weight: 500;
  padding-right: 2em;
}
.is-style-ml-definition-basic dd {
  grid-column: 2;
}
.is-style-ml-definition-basic dd > :nth-child(n+3) {
  grid-column: 1/-1;
}
@media screen and (max-width: 767.98px) {
  .is-style-ml-definition-basic {
    grid-template-columns: 1fr;
    row-gap: 0.5em;
  }
  .is-style-ml-definition-basic dt, .is-style-ml-definition-basic dd {
    grid-column: 1/-1;
  }
}

/*
カードスタイル
*/
.is-style-ml-card-basic {
  font-size: 1rem;
  background-color: var(--wp--preset--color--base);
  border: 1px solid var(--wp--preset--color--border);
  border-radius: 12px;
  box-shadow: 0 10px 30px -12px rgba(0, 0, 0, 0.12);
  padding: 1em;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  row-gap: 1em;
  height: 100%;
}
.is-style-ml-card-basic > :first-child {
  margin-top: 0;
  padding-top: 0;
}
.is-style-ml-card-basic > :last-child {
  margin-bottom: 0;
  padding-bottom: 0;
}
.is-style-ml-card-basic > * {
  margin-block: 0;
}

.is-style-ml-card-basic .wp-block-image {
  margin: 0;
  max-width: none;
  width: 100%;
}
.is-style-ml-card-basic img {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  -o-object-fit: cover;
     object-fit: cover;
}
.is-style-ml-card-basic:has(> .wp-block-image:first-child), .is-style-ml-card-basic:has(> :first-child img) {
  padding-top: 0;
}
.is-style-ml-card-basic:has(> .wp-block-image:first-child) > .wp-block-image:first-child, .is-style-ml-card-basic:has(> :first-child img) > .wp-block-image:first-child {
  width: calc(100% + 2em);
  margin-left: -1em !important;
}

/*
セクション：ページヘッダー
*/
.ml-pageheaderRole {
  margin: 0 !important;
}
.ml-pageheaderRole .wp-block-cover {
  background-color: color-mix(in srgb, var(--wp--preset--color--base), var(--wp--preset--color--text) 10%);
  padding: min(4.68vw, 40px);
  align-items: flex-end;
  /*
  // アイキャッチ画像が指定されていない場合は初期背景画像を配置
  &:not(:has(.wp-block-cover__image-background)) {

    .wp-block-cover__background {
      background-image: url(../img/pageheader_bg.jpg);
      background-repeat: none;
      background-size: cover;
      background-position: center;
      opacity: 1;
    }
  }
  */
  position: relative;
}
@media screen and (max-width: 1023.98px) {
  .ml-pageheaderRole .wp-block-cover {
    min-height: min(40vw, 300px) !important;
    padding: min(4.68vw, 40px);
  }
}
.ml-pageheaderRole .wp-block-cover:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.4) 0%, transparent 40%);
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
}
.ml-pageheaderRole .wp-block-cover .wp-block-cover__inner-container {
  z-index: 9;
}

.wp-block-template-part:has(> .ml-pageheaderRole) {
  margin-block: 0;
}

/*
ページヘッダー（h1タイトル）

* 管理画面からのカスタマイズを有効にするため、以下のスタイルの制御は theme.json に委譲します。
* font-weight
* line-height

* ページヘッダー枠は → .ml-pageheaderRole（_pageheader.scss）
*/
.ml-pageheadTitle {
  display: flex;
  flex-flow: column;
}
.ml-pageheadTitle__main {
  font-family: var(--wp--preset--font-family--noto-serif-jp);
  font-size: var(--fz-h1);
  font-weight: 700;
  letter-spacing: 0.1em;
  margin: 0;
  color: #fff;
}
.ml-pageheadTitle__sub {
  font-family: "Inter", "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  line-height: 1.2;
  margin: 0;
  padding-left: 0.5em;
  color: var(--wp--preset--color--primary);
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  -moz-column-gap: 0.5em;
       column-gap: 0.5em;
}
.ml-pageheadTitle__sub:before {
  content: "";
  display: block;
  width: 1em;
  height: 1px;
  background-color: var(--wp--preset--color--primary);
}
.ml-pageheadTitle__sub p {
  margin: 0;
}

/*
ページリード

下層ページにおいてページヘッドの下に配置されるリード文のスタイリングです
*/
.ml-pageLead {
  font-size: 1rem;
  line-height: 1.7;
}
@media screen and (min-width: 1024px) {
  .ml-pageLead {
    font-size: 1.0625rem;
  }
}
.ml-pageLead__catch {
  font-family: "Noto Serif JP", serif;
  font-size: 1.25rem;
  font-weight: 700;
  font-feature-settings: "palt" 1;
  letter-spacing: 0.05em;
  line-height: 1.7;
  color: var(--wp--preset--color--text);
  margin: 1em 0;
}
@media screen and (min-width: 1024px) {
  .ml-pageLead__catch {
    font-size: 1.75rem;
  }
}
.ml-pageLead__catch .text-accent {
  color: var(--wp--preset--color--accent);
}
.ml-pageLead__text {
  font-size: 1rem;
  line-height: 1.7;
  color: var(--wp--preset--color--text);
  margin-block: 1em;
}
/*
セクションヘディング（h2タイトル）

* 管理画面からのカスタマイズを有効にするため、以下のスタイルの制御は theme.json に委譲します。
* font-weight
* line-height
*/
.ml-sectionHeading {
  margin-block: 0 min(4.68vw, 50px);
}
.ml-sectionHeading--center {
  text-align: center;
}
.ml-sectionHeading .label {
  display: inline-block;
  min-width: 9em;
  text-align: center;
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  color: var(--wp--preset--color--on-primary);
  padding: 0.75em 1em;
  margin-bottom: 1rem;
  text-transform: uppercase;
  line-height: 1;
}
.ml-sectionHeading .label--primary {
  background: var(--wp--preset--color--primary);
}
.ml-sectionHeading .label--secondary {
  background: var(--wp--preset--color--secondary);
}
.ml-sectionHeading .label--tertiary {
  background: var(--wp--preset--color--tertiary);
}
.ml-sectionHeading .label--mono {
  background: var(--wp--preset--color--text);
}
.ml-sectionHeading .title {
  font-family: "Noto Serif JP", serif;
  font-size: var(--fz-h2);
  font-weight: 500;
  color: var(--wp--preset--color--text);
  line-height: 1.45;
  margin: 0;
}

/*
セクションリード

セクションの中で展開されるリード文のスタイリングです
*/
.ml-sectionLead:where(.ml-sectionLead) {
  margin-block: clamp(20px, 7vw, 40px);
}
@media screen and (min-width: 1024px) {
  .ml-sectionLead {
    font-size: 1.0625rem;
    line-height: 1.7;
  }
}
.ml-sectionLead__inner > :first-child {
  margin-top: 0;
}
.ml-sectionLead__inner > :last-child {
  margin-bottom: 0;
}

/*
ページャー
*/
:root .ml-pager:where(:root .ml-pager) {
  margin-block: clamp(20px, 7vw, 40px);
}
@media screen and (min-width: 1024px) {
  :root .ml-pager {
    margin-block: 80px;
  }
}
.ml-blogArticle .ml-pager {
  display: grid;
  margin-block: 2rem;
  padding: 0;
  padding-top: 1rem;
  border-top: solid 1px var(--wp--preset--color--border);
}
@media screen and (max-width: 767.98px) {
  .ml-blogArticle .ml-pager {
    grid-template-columns: 1fr;
    row-gap: 0.5rem;
  }
}
@media screen and (min-width: 768px) {
  .ml-blogArticle .ml-pager {
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    margin-top: 80px;
  }
}

.wp-block-query-pagination {
  font-size: 15px;
  line-height: 1;
  display: flex;
  gap: 3px;
  align-items: center;
}
.wp-block-query-pagination-numbers {
  display: flex;
  gap: 3px;
  align-items: center;
}
.wp-block-query-pagination-previous, .wp-block-query-pagination-next,
.wp-block-query-pagination .page-numbers {
  display: block;
  font-family: "Inter", "Noto Sans JP", sans-serif;
}
.wp-block-query-pagination-previous:not(.dots), .wp-block-query-pagination-next:not(.dots),
.wp-block-query-pagination .page-numbers:not(.dots) {
  min-width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  padding-inline: 0.25em;
  background-color: var(--wp--preset--color--base-alt);
  color: var(--wp--preset--color--text);
  text-decoration: none;
  transition: 0.3s;
}
.wp-block-query-pagination-previous:not(.dots):not(.current):hover, .wp-block-query-pagination-next:not(.dots):not(.current):hover,
.wp-block-query-pagination .page-numbers:not(.dots):not(.current):hover {
  background-color: var(--wp--preset--color--accent);
  color: var(--wp--preset--color--on-accent);
}
.wp-block-query-pagination-previous.dots, .wp-block-query-pagination-next.dots,
.wp-block-query-pagination .page-numbers.dots {
  color: var(--wp--preset--color--text-muted);
}
.wp-block-query-pagination-previous.current, .wp-block-query-pagination-next.current,
.wp-block-query-pagination .page-numbers.current {
  background-color: var(--wp--preset--color--accent);
  color: var(--wp--preset--color--on-accent);
}

/*
Prev, Nextボタン
*/
.post-navigation-link {
  font-size: 15px;
  line-height: 1;
  display: flex;
  gap: 3px;
  align-items: center;
}
.post-navigation-link-previous a, .post-navigation-link-next a {
  display: block;
  font-family: "Inter", "Noto Sans JP", sans-serif;
  min-width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  padding-inline: 0.25em;
  background-color: var(--wp--preset--color--base-alt);
  color: var(--wp--preset--color--text);
  text-decoration: none;
  transition: 0.3s;
}
.post-navigation-link-previous a:hover, .post-navigation-link-next a:hover {
  background-color: var(--wp--preset--color--accent);
  color: var(--wp--preset--color--on-accent);
}
.ml-blogArticle .post-navigation-link-previous, .ml-blogArticle .post-navigation-link-next {
  /*
  // 次の記事（配置反転）
  &.post-navigation-link-next {

    a {
      justify-content: flex-end;

      .post-navigation-link__label {
        order: 2;
      }
    }
  }
  */
}
.ml-blogArticle .post-navigation-link-previous a, .ml-blogArticle .post-navigation-link-next a {
  height: auto;
  line-height: 1.3;
  padding: 0;
  text-align: initial;
  background-color: transparent;
  display: flex;
  align-items: flex-start;
  -moz-column-gap: 1em;
       column-gap: 1em;
  font-size: 0.875rem;
}
.ml-blogArticle .post-navigation-link-previous a:hover, .ml-blogArticle .post-navigation-link-next a:hover {
  color: var(--wp--preset--color--primary);
}
.ml-blogArticle .post-navigation-link-previous a .post-navigation-link__label, .ml-blogArticle .post-navigation-link-next a .post-navigation-link__label {
  flex: 0 0 auto;
  display: inline-block;
  font-size: 0.8rem;
  padding: 0.25em 1em;
  background-color: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--on-primary);
  white-space: nowrap;
}
.ml-blogArticle .post-navigation-link-previous a .post-navigation-link__title, .ml-blogArticle .post-navigation-link-next a .post-navigation-link__title {
  margin-top: 0.17em;
}

.ml-heroRole {
  height: calc(100vh - var(--header-height));
  margin: 0;
  padding-top: 0;
  background: var(--wp--preset--color--base);
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 767.98px) {
  .ml-heroRole {
    height: auto;
  }
}
.ml-heroRole__inner {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  height: 100%;
  padding: 60px 6vw 80px;
}
@media screen and (max-width: 767.98px) {
  .ml-heroRole__inner {
    flex-direction: column;
    padding: 40px var(--wp--custom--screen-inline-gap) 0;
  }
}
.ml-heroRole__left {
  display: inline-block;
  max-width: 44%;
  position: relative;
}
@media screen and (min-width: 768px) and (max-width: 1023.98px) {
  .ml-heroRole__left {
    max-width: 54%;
  }
}
@media screen and (max-width: 767.98px) {
  .ml-heroRole__left {
    max-width: none;
    width: 100%;
    padding-right: 0;
  }
}
.ml-heroRole__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: rgba(var(--wp--preset--color--primary), 0.05);
  border-left: 3px solid var(--wp--preset--color--primary);
  padding: 8px 16px;
  margin-bottom: 40px;
  opacity: 0;
  -webkit-animation: ml-slideInLeft 0.8s 0.2s forwards;
          animation: ml-slideInLeft 0.8s 0.2s forwards;
}
.ml-heroRole__eyebrow span {
  font-size: 11px;
  letter-spacing: 0.35em;
  color: var(--wp--preset--color--primary);
  font-weight: 700;
  text-transform: uppercase;
}
@media screen and (max-width: 767.98px) {
  .ml-heroRole__eyebrow {
    margin-bottom: 24px;
  }
}
.ml-heroRole__catchcopy {
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: clamp(35px, 4vw, 64px);
  font-style: italic;
  line-height: 1.45;
  font-feature-settings: "palt" 1;
  color: var(--wp--preset--color--text);
  letter-spacing: 0;
  margin: 0;
  opacity: 0;
  -webkit-animation: ml-slideInLeft 0.8s 0.4s forwards;
          animation: ml-slideInLeft 0.8s 0.4s forwards;
  text-wrap: balance;
}
.ml-heroRole__catchcopy .accent {
  color: var(--wp--preset--color--primary);
}
.ml-heroRole__lead {
  margin-block: 1.5em;
  font-size: 1rem;
  font-weight: 500;
  line-height: 2;
  opacity: 0;
  -webkit-animation: ml-slideInLeft 0.8s 0.6s forwards;
          animation: ml-slideInLeft 0.8s 0.6s forwards;
}
.ml-heroRole__actions {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  margin-top: 40px;
  opacity: 0;
  -webkit-animation: ml-slideInLeft 0.8s 0.8s forwards;
          animation: ml-slideInLeft 0.8s 0.8s forwards;
}
.ml-heroRole__btn {
  display: block;
  padding: 0 0.25em;
  text-decoration: none;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  height: 3.7em;
  line-height: 3.7em;
  transition: all 0.3s;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .ml-heroRole__btn {
    font-size: 0.875rem;
  }
}
.ml-heroRole__btn--primary {
  background: var(--wp--preset--color--primary);
  color: white;
}
.ml-heroRole__btn--primary:hover {
  filter: brightness(1.1);
  transform: translateY(-2px);
}
.ml-heroRole__btn--outline {
  border: 2px solid var(--wp--preset--color--text);
  color: var(--wp--preset--color--text);
}
.ml-heroRole__btn--outline:hover {
  border-color: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--primary);
  transform: translateY(-2px);
}
.ml-heroRole__stats {
  display: flex;
  gap: 2rem;
  margin-top: 3rem;
  opacity: 0;
  -webkit-animation: ml-slideInLeft 0.8s 1s forwards;
          animation: ml-slideInLeft 0.8s 1s forwards;
}
@media screen and (max-width: 767.98px) {
  .ml-heroRole__stats {
    gap: 20px;
    justify-content: center;
    margin-top: 1.5rem;
  }
}
@media screen and (min-width: 768px) {
  .ml-heroRole__stat {
    text-align: left;
  }
}
.ml-heroRole__statNum {
  font-size: 1.375rem;
  font-weight: 500;
  color: var(--wp--preset--color--primary);
  line-height: 1;
}
@media screen and (min-width: 1024px) {
  .ml-heroRole__statNum {
    font-size: 1.875rem;
  }
}
.ml-heroRole__statNum .unit {
  font-size: 20px;
}
.ml-heroRole__stat:nth-child(2) .ml-heroRole__statNum {
  color: var(--wp--preset--color--secondary);
}
.ml-heroRole__stat:nth-child(3) .ml-heroRole__statNum {
  color: var(--wp--preset--color--tertiary);
}
.ml-heroRole__statLabel {
  font-size: 11px;
  color: var(--wp--preset--color--text-muted);
  letter-spacing: 0.1em;
  margin-top: 4px;
}
.ml-heroRole__dots {
  position: absolute;
  top: -50px;
  left: 50px;
  width: 200px;
  height: 200px;
  opacity: 0.15;
}
@media screen and (max-width: 767.98px) {
  .ml-heroRole__dots {
    top: -13px;
    left: 30px;
    width: 120px;
    height: 120px;
  }
}
.ml-heroRole__right {
  position: absolute;
  top: 0;
  right: 0;
  width: 55%;
  height: 100%;
  opacity: 0;
  -webkit-animation: ml-fadeIn 1s 0.5s forwards;
          animation: ml-fadeIn 1s 0.5s forwards;
}
@media screen and (min-width: 768px) and (max-width: 1023.98px) {
  .ml-heroRole__right {
    width: 45%;
  }
}
@media screen and (max-width: 767.98px) {
  .ml-heroRole__right {
    position: relative;
    width: 100%;
    height: 100vw;
    margin-top: 1.5rem;
  }
}
.ml-heroRole__kokWrap {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}
.ml-heroRole__imgFrame {
  position: absolute;
  inset: 0;
  -webkit-clip-path: polygon(100px 0%, 100% 0%, 100% 100%, 0% 100%);
          clip-path: polygon(100px 0%, 100% 0%, 100% 100%, 0% 100%);
}
@media screen and (max-width: 767.98px) {
  .ml-heroRole__imgFrame {
    margin-inline: calc(min(4.68vw, 40px) * -1);
    -webkit-clip-path: none;
            clip-path: none;
  }
}
.ml-heroRole__imgFrame img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) and (max-width: 1023.98px) {
  .ml-heroRole__imgFrame img {
    -o-object-position: 5% center;
       object-position: 5% center;
  }
}
.ml-heroRole__ring {
  position: absolute;
  border-radius: 50%;
  z-index: 3;
}
.ml-heroRole__ring--1 {
  width: 300px;
  height: 300px;
  border: 1px solid rgba(255, 255, 255, 0.75);
  background: linear-gradient(135deg, color-mix(in srgb, var(--wp--preset--color--primary), transparent 70%) 0%, color-mix(in srgb, var(--wp--preset--color--secondary), transparent 75%) 50%, color-mix(in srgb, var(--wp--preset--color--tertiary), transparent 70%) 100%);
  -webkit-animation: ml-spin 10s linear infinite;
          animation: ml-spin 10s linear infinite;
}
.ml-heroRole__ring--2 {
  width: 240px;
  height: 240px;
  border: 1px dashed rgba(255, 255, 255, 0.66);
  animation: ml-spin 40s linear infinite reverse;
}
@media screen and (max-width: 767.98px) {
  .ml-heroRole__ring--1 {
    width: 200px;
    height: 200px;
  }
  .ml-heroRole__ring--2 {
    width: 160px;
    height: 160px;
  }
}
.ml-heroRole__kokImg {
  width: 170px;
  height: auto;
  position: relative;
  z-index: 4;
  -webkit-animation: ml-float 6s ease-in-out infinite;
          animation: ml-float 6s ease-in-out infinite;
  filter: grayscale(1) brightness(10) drop-shadow(0 0px 4px rgba(0, 0, 0, 0.5));
}
@media screen and (max-width: 767.98px) {
  .ml-heroRole__kokImg {
    width: 107px;
  }
}

@-webkit-keyframes ml-slideInLeft {
  from {
    opacity: 0;
    transform: translateX(-24px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes ml-slideInLeft {
  from {
    opacity: 0;
    transform: translateX(-24px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@-webkit-keyframes ml-fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes ml-fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes ml-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes ml-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@-webkit-keyframes ml-float {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-12px);
  }
}
@keyframes ml-float {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-12px);
  }
}
.ml-ticker {
  background: #000;
  color: #fff;
  overflow: hidden;
  position: relative;
  z-index: 10;
  padding-block: 1rem;
  padding-inline: var(--wp--custom--screen-inline-gap);
  margin: 0;
}
.ml-ticker__inner {
  max-width: var(--wp--style--global--content-size);
  margin-inline: auto;
  display: flex;
  align-items: center;
  gap: 24px;
}
.ml-ticker__label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.15em;
  background: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--on-primary);
  padding: 3px 10px;
  flex-shrink: 0;
}
.ml-ticker__content {
  flex-grow: 1;
  overflow: hidden;
  position: relative;
}
.ml-ticker__content::before, .ml-ticker__content::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 40px;
  z-index: 2;
  pointer-events: none;
}
.ml-ticker__content::before {
  left: 0;
  background: linear-gradient(to right, var(--wp--preset--color--text), transparent);
}
.ml-ticker__content::after {
  right: 0;
  background: linear-gradient(to left, var(--wp--preset--color--text), transparent);
}
.ml-ticker__list {
  display: flex;
  gap: 60px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  -webkit-animation: ml-ticker-scroll 40s linear infinite;
          animation: ml-ticker-scroll 40s linear infinite;
  padding: 0;
  margin: 0;
  list-style: none;
}
.ml-ticker__list:hover {
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.ml-ticker__item {
  white-space: nowrap;
}
.ml-ticker__item a {
  display: flex;
  align-items: center;
  gap: 12px;
  color: inherit;
  text-decoration: none;
  font-size: 13px;
  transition: color 0.3s;
}
.ml-ticker__item a:hover {
  color: var(--wp--preset--color--primary);
}
.ml-ticker__item a .date {
  font-weight: 500;
  opacity: 0.6;
  font-size: 0.9em;
}
.ml-ticker__item a .text {
  font-weight: 400;
}

@-webkit-keyframes ml-ticker-scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

@keyframes ml-ticker-scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
@media screen and (max-width: 767.98px) {
  .ml-greetingRole__inner {
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 1.5rem;
  }
}
@media screen and (min-width: 768px) {
  .ml-greetingRole__inner {
    display: grid;
    grid-template-columns: 1fr 220px;
    gap: 40px;
  }
}
@media screen and (min-width: 1024px) {
  .ml-greetingRole__inner {
    display: grid;
    grid-template-columns: 1fr 350px;
    gap: 80px;
  }
}
.ml-greetingRole__text {
  font-size: 1rem;
  line-height: 2;
}
.ml-greetingRole__text p {
  margin: 0;
}
.ml-greetingRole__text p:nth-child(n+2) {
  margin-top: 1em;
}
.ml-greetingRole__sign {
  margin-top: 1.5em;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: end;
  -moz-column-gap: 1em;
       column-gap: 1em;
  line-height: 1;
}
.ml-greetingRole__sign .role {
  font-size: 0.8em;
}
.ml-greetingRole__sign .name {
  font-family: var(--wp--preset--font-family--shippori-mincho);
  font-size: 1.2em;
  font-weight: 500;
}
.ml-greetingRole__actions {
  display: flex;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}
.ml-greetingRole__actions:where(.ml-greetingRole__actions) {
  margin-block: clamp(20px, 7vw, 40px);
}
@media screen and (max-width: 767.98px) {
  .ml-greetingRole__actions {
    margin-block: 1.5rem;
  }
  .ml-greetingRole__actions > * {
    flex-basis: 50%;
  }
}
.ml-greetingRole__actions a {
  display: block;
  background-color: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--on-primary);
  font-size: 0.875rem;
  text-decoration: none;
  line-height: 1.3;
  padding: 0.75em 1em;
  min-width: 9em;
  text-align: center;
  transition: 0.3s;
}
@media screen and (max-width: 1023.98px) {
  .ml-greetingRole__actions a {
    padding-block: 1em;
  }
}
.ml-greetingRole__actions a:hover {
  filter: brightness(1.1);
}
.ml-greetingRole__originTitle {
  font-size: 1rem;
  font-weight: 500;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  -moz-column-gap: 0.5em;
       column-gap: 0.5em;
}
.ml-greetingRole__originTitle:before {
  content: "";
  display: block;
  width: 1em;
  height: 1px;
  background-color: var(--wp--preset--color--text);
}
.ml-greetingRole__originText {
  font-size: 0.8rem;
}

.ml-aboutRole__grid {
  display: grid;
}
@media screen and (max-width: 767.98px) {
  .ml-aboutRole__grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.98px) {
  .ml-aboutRole__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }
}
@media screen and (min-width: 1024px) {
  .ml-aboutRole__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
  }
}
.ml-aboutRole__card {
  background: var(--wp--preset--color--base);
  overflow: hidden;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.6s ease;
  display: flex;
  flex-direction: column;
  border: solid 1px var(--wp--preset--color--border);
}
.ml-aboutRole__cardImg {
  width: 100%;
  aspect-ratio: 16/10;
  overflow: hidden;
  position: relative;
  /*
  // 画像の底部に影
  &::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.4) 0%, transparent 40%);
    opacity: 0.6;
  }
  */
}
.ml-aboutRole__cardImg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.ml-aboutRole__cardBody {
  padding: 1.5rem;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}
.ml-aboutRole__cardHeader {
  margin-bottom: 20px;
}
.ml-aboutRole__cardHeader .en {
  display: block;
  font-size: 11px;
  letter-spacing: 0.1em;
  color: var(--wp--preset--color--primary);
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 8px;
  line-height: 1;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  -moz-column-gap: 0.5em;
       column-gap: 0.5em;
}
.ml-aboutRole__cardHeader .en:before {
  content: "";
  display: block;
  width: 1em;
  height: 1px;
  background-color: var(--wp--preset--color--primary);
}
.ml-aboutRole__cardHeader .jp {
  font-family: "Noto Serif JP", serif;
  font-size: 22px;
  font-weight: 700;
  color: var(--wp--preset--color--text);
  margin: 0;
  line-height: 1.4;
}
@media screen and (min-width: 1024px) {
  .ml-aboutRole__cardHeader .jp {
    font-size: 24px;
  }
}
.ml-aboutRole__cardText {
  font-size: 0.9375rem;
  line-height: 1.7;
  color: var(--wp--preset--color--text);
  margin: 0;
  flex-grow: 1;
}
.ml-aboutRole__cardLink {
  display: none;
  /*
  display: inline-flex;
  align-items: center;
  font-family: $ff-en-ml;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.15em;
  color: $clr-text;
  text-decoration: none;
  transition: all 0.3s ease;
  margin-top: auto;
  padding-bottom: 4px;
  border-bottom: 1px solid color-mix(in srgb, $clr-text, transparent 80%);

  &::after {
    content: '→';
    margin-left: 10px;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    font-family: sans-serif;
  }

  &:hover {
    border-bottom-color: $clr-primary;
  }
  */
}
.ml-aboutRole__actions {
  display: flex;
  justify-content: center;
}
.ml-aboutRole__actions:where(.ml-aboutRole__actions) {
  margin-block: clamp(20px, 7vw, 40px);
}
.ml-aboutRole__actions .wp-element-button,
.ml-aboutRole__actions .wp-block-button__link {
  background-color: var(--wp--preset--color--tertiary);
}

/*
新着情報（トップページ配置用）
*/
.ml-latestNewsRole__list {
  border-top: 1px solid var(--wp--preset--color--primary);
}
.ml-latestNewsRole__item {
  font-size: 1rem;
  display: grid;
  grid-template-columns: 5em 5em 1fr;
  gap: 1em;
  align-items: center;
  padding: 1.5em 1em;
  border-bottom: 1px solid var(--wp--preset--color--border);
  text-decoration: none;
  color: inherit;
  transition: all 0.3s;
}
.ml-latestNewsRole__item:hover {
  background-color: var(--wp--preset--color--base-primary);
}
.ml-latestNewsRole__date {
  font-size: 0.8rem;
}
.ml-latestNewsRole__tag .tag {
  display: inline-block;
  border: solid 1px var(--wp--preset--color--primary);
  background-color: var(--wp--preset--color--base);
  color: var(--wp--preset--color--primary);
  font-size: 0.625rem;
  font-weight: 500;
  line-height: 1;
  padding: 0.5em 1em;
  white-space: nowrap;
}
.ml-latestNewsRole__title {
  font-size: 1rem;
  color: var(--wp--preset--color--text);
  line-height: 1.5;
  font-weight: 400;
}
.ml-latestNewsRole__actions {
  display: flex;
  justify-content: center;
}
.ml-latestNewsRole__actions:where(.ml-latestNewsRole__actions) {
  margin-block: clamp(20px, 7vw, 40px);
}

@media screen and (max-width: 599.98px) {
  .ml-latestNewsRole__item {
    grid-template-columns: auto 1fr;
    grid-template-areas: "date tag" "title title";
    gap: 8px;
    padding: 1em 0;
  }
  .ml-latestNewsRole__date {
    grid-area: date;
  }
  .ml-latestNewsRole__tag {
    grid-area: tag;
    justify-self: start;
  }
  .ml-latestNewsRole__title {
    grid-area: title;
    white-space: normal;
  }
}
/*
フォトギャラリーセクション
*/
.ml-galleryRole__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-auto-rows: 150px;
  grid-auto-flow: dense;
  gap: 3px;
}
@media screen and (min-width: 768px) {
  .ml-galleryRole__grid {
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: 200px;
    gap: 6px;
  }
}
@media screen and (min-width: 1024px) {
  .ml-galleryRole__grid {
    grid-auto-rows: 250px;
  }
}
.ml-galleryRole__item {
  overflow: hidden;
  position: relative;
  background-color: var(--wp--preset--color--border);
  cursor: pointer;
}
.ml-galleryRole__item.is-tall {
  grid-row: span 2;
}
.ml-galleryRole__item.is-wide {
  grid-column: span 2;
}
.ml-galleryRole__item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
  display: block;
}
.ml-galleryRole__item::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.4) 0%, transparent 40%);
  opacity: 0.8;
  transition: opacity 0.3s;
  pointer-events: none;
}
.ml-galleryRole__item:hover img {
  transform: scale(1.1);
}
.ml-galleryRole__item:hover::after {
  opacity: 1;
}
.ml-galleryRole__label {
  position: absolute;
  bottom: 12px;
  left: 12px;
  z-index: 2;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.5);
  pointer-events: none;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .ml-galleryRole__label {
    bottom: 16px;
    left: 16px;
    font-size: 11px;
  }
}

/* 簡易ライトボックス */
.ml-galleryLightbox {
  margin: 0;
  max-width: none;
  width: 100vw;
  position: fixed;
  inset: 0;
  z-index: 9999;
  background-color: rgba(0, 0, 0, 0.9);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s;
  padding: 20px;
}
.ml-galleryLightbox.is-active {
  opacity: 1;
  visibility: visible;
}
.ml-galleryLightbox__content {
  max-width: 90vw;
  max-height: 90vh;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.ml-galleryLightbox__content img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
  box-shadow: 0 10px 50px rgba(0, 0, 0, 0.5);
}
.ml-galleryLightbox__close {
  position: absolute;
  top: -40px;
  right: 0;
  color: white;
  font-size: 30px;
  cursor: pointer;
  line-height: 1;
}
@media screen and (min-width: 1024px) {
  .ml-galleryLightbox__close {
    top: 0;
    right: -50px;
    font-size: 40px;
  }
}

.ml-instagramRole {
  border-top: none;
  padding-top: 0;
  margin-top: -40px;
}
@media screen and (max-width: 767.98px) {
  .ml-instagramRole {
    margin-top: -4vw;
  }
}
.ml-instagramRole__header {
  display: flex;
  align-items: center;
  gap: 20px;
  margin: 0 0 1rem;
}
@media screen and (min-width: 1024px) {
  .ml-instagramRole__header {
    margin-bottom: 40px;
  }
}
.ml-instagramRole__line {
  height: 1px;
  flex: 1;
  background-color: var(--wp--preset--color--secondary);
}
.ml-instagramRole__title {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--wp--preset--color--secondary);
}
.ml-instagramRole__title svg {
  color: var(--wp--preset--color--secondary);
}
.ml-instagramRole__title span {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  white-space: nowrap;
}
.ml-instagramRole__feed .FeedLayout__wrapper {
  background-color: transparent !important;
  padding: 0 !important;
}
.ml-instagramRole__feed .FeedGridLayout__root .FeedGridLayout__grid {
  order: -1;
}
.ml-instagramRole__feed .FeedGridLayout__root > :first-child {
  margin-block: 10px 0;
}
.ml-instagramRole__feed .FeedGridLayout__root .FeedHeader__left-container {
  display: grid;
  grid-template-columns: auto auto;
  align-items: center;
  justify-content: end;
  -moz-column-gap: 7px;
       column-gap: 7px;
}
.ml-instagramRole__feed .FeedGridLayout__root .FeedHeader__left-container * {
  margin: 0 !important;
  padding: 0 !important;
}
.ml-instagramRole__feed .FeedGridLayout__root .FeedHeader__left-container .FeedProfilePic__fallback {
  width: 25px !important;
  height: 25px !important;
}
.ml-instagramRole__feed .FeedGridLayout__root .FeedHeader__left-container .FeedHeader__info .FeedHeader__username {
  font-size: 0.9125rem;
  font-weight: 400;
}
.ml-instagramRole__feed .FeedGridLayout__root .FeedHeader__right-container,
.ml-instagramRole__feed .FeedGridLayout__root .DesignedButton__link {
  display: none !important;
}
.ml-instagramRole__feed .FeedGridLayout__root .FeedProfilePic__fallback:not(.FeedProfilePic__with-stories) {
  border: none;
}
.ml-instagramRole__feed .FeedGridLayout__root .DesignedButton__button.LoadMoreButton {
  background-color: transparent !important;
  color: var(--wp--preset--color--secondary) !important;
  border: solid 1px var(--wp--preset--color--secondary) !important;
  padding: 0.7em 2em;
  border-radius: 2em !important;
  transition: 0.3s;
}
.ml-instagramRole__feed .FeedGridLayout__root .DesignedButton__button.LoadMoreButton:hover {
  background-color: var(--wp--preset--color--secondary) !important;
  color: var(--wp--preset--color--on-primary) !important;
}
.ml-instagramRole__feed .FeedGridLayout__root .FeedGridLayout__grid {
  gap: 6px !important;
}
@media screen and (max-width: 767.98px) {
  .ml-instagramRole__feed .FeedGridLayout__root .FeedGridLayout__grid {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

.ml-equipmentRole__grid {
  display: grid;
  gap: 30px;
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  .ml-equipmentRole__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
  }
}
@media screen and (min-width: 1024px) {
  .ml-equipmentRole__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 50px 40px;
  }
}
.ml-equipmentRole__category {
  -moz-column-break-inside: avoid;
       break-inside: avoid;
}
.ml-equipmentRole__catTitle {
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--wp--preset--color--primary);
  padding-bottom: 0.35em;
  margin-bottom: 1em;
  position: relative;
  display: inline-block;
  min-width: 6em;
}
.ml-equipmentRole__catTitle::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: var(--wp--preset--color--primary);
}
.ml-equipmentRole__list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.ml-equipmentRole__list li {
  font-size: 0.8125rem;
  line-height: 1.2;
  padding: 0.5em 0;
  border-bottom: 1px solid var(--wp--preset--color--border);
  position: relative;
  padding-left: 1em;
}
.ml-equipmentRole__list li::before {
  content: "・";
  position: absolute;
  left: 0;
  color: var(--wp--preset--color--primary);
}
.ml-equipmentRole__list li:last-child {
  border-bottom: none;
}

/*
セクション：CTA
*/
.ml-ctaRole .wp-block-cover {
  padding: min(4.68vw, 40px);
}
.ml-ctaRole .wp-block-cover:not(:has(.wp-block-cover__image-background)) .wp-block-cover__background {
  background-image: url(../img/pageheader_bg.jpg);
  background-repeat: none;
  background-size: cover;
  background-position: center;
}
.ml-ctaRole__body {
  padding: 1.5rem;
  background-color: hsla(0deg, 0%, 100%, 0.3);
  -webkit-backdrop-filter: blur(4px);
          backdrop-filter: blur(4px);
  color: #fff;
}
.ml-ctaRole__body > .wp-block-headin,
.ml-ctaRole__body > p {
  text-shadow: 0 0 7px rgba(0, 0, 0, 0.7);
}

/*
店舗（アクセス）
*/
.ml-storeRole__lists {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media screen and (min-width: 1024px) {
  .ml-storeRole__lists {
    gap: 60px;
  }
}

.ml-storeItem__title {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  -moz-column-gap: 0.5em;
       column-gap: 0.5em;
  font-family: var(--wp--preset--font-family--noto-serif-jp);
  font-size: 1.125rem;
  padding: 1em 0;
  line-height: 1.2;
  margin-block: 0;
}
.ml-storeItem__title img {
  height: 3em;
  width: auto;
  order: 2;
  transform: translateY(1em);
}
.ml-storeItem__title p {
  margin: 0;
  order: 1;
}
.ml-storeItem__body {
  display: grid;
}
@media screen and (max-width: 1023.98px) {
  .ml-storeItem__body {
    grid-template-columns: 1fr;
    row-gap: 1.5rem;
  }
  .ml-storeItem__body:nth-child(n+2) {
    margin-top: 1.5rem;
  }
}
@media screen and (min-width: 1024px) {
  .ml-storeItem__body {
    grid-template-columns: min(50%, 30em) 1fr;
    -moz-column-gap: 40px;
         column-gap: 40px;
  }
  .ml-storeItem__body:nth-child(n+2) {
    margin-top: 40px;
  }
}
.ml-storeItem__map {
  border: solid 1px var(--wp--preset--color--border);
}
@media screen and (max-width: 1023.98px) {
  .ml-storeItem__map {
    aspect-ratio: 16/9;
  }
}
@media screen and (min-width: 1024px) {
  .ml-storeItem__map {
    height: 500px;
  }
}
.ml-storeItem__map iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: none;
}
.ml-storeItem__info {
  display: block;
  font-style: normal;
}
.ml-storeItem__row {
  display: grid;
  grid-template-columns: auto 1fr;
  -moz-column-gap: 1em;
       column-gap: 1em;
  padding: 0.75em 0;
  margin: 0;
  border-bottom: solid 1px var(--wp--preset--color--border);
}
.ml-storeItem__row:first-child {
  border-top: solid 1px var(--wp--preset--color--border);
}
@media screen and (max-width: 767.98px) {
  .ml-storeItem__row {
    display: block;
  }
  .ml-storeItem__row dt {
    margin-bottom: 0.5em;
  }
}
.ml-storeItem__row dt {
  margin: 0;
  font-size: 0.8125em;
  font-weight: 700;
  color: var(--wp--preset--color--primary);
}
@media screen and (min-width: 768px) {
  .ml-storeItem__row dt {
    min-width: 6em;
    padding-top: 0.25em;
  }
}
.ml-storeItem__row dd {
  margin: 0;
}
.ml-storeItem__row dd ul, .ml-storeItem__row dd li {
  margin: 0;
}
.ml-storeItem__row.row_tel dd:before, .ml-storeItem__row.row_email dd:before {
  display: inline-block;
  font-family: "dashicons";
  font-size: 1.125em;
  color: var(--wp--preset--color--attention);
  margin-right: 0.25em;
  transform: translateY(0.15em);
}
.ml-storeItem__row.row_tel dd:before {
  content: "\f525";
}
.ml-storeItem__row.row_email dd:before {
  content: "\f465";
}

/*
投稿一覧
*/
.ml-blogListRole__label {
  font-size: 1rem;
  font-weight: 500;
  padding-left: calc(3px * 5);
  position: relative;
  margin: 0 0 0.5em;
}
.ml-blogListRole__label:before {
  content: "";
  display: block;
  width: 3px;
  height: calc(100% - 0.45em);
  background-color: var(--wp--preset--color--primary);
  position: absolute;
  top: 0.3em;
  left: 0;
}
.ml-blogListRole__label a {
  color: inherit;
  text-decoration: none;
  transition: 0.3s;
}
.ml-blogListRole__label a:hover {
  color: var(--wp--preset--color--primary);
}
.ml-blogListRole__category ul.wp-block-categories {
  margin: 0;
  padding: 0;
  list-style-type: none;
  margin-left: -5px;
  font-size: 0;
}
.ml-blogListRole__category ul.wp-block-categories li {
  display: inline-block;
  font-size: 0.875rem;
  margin-left: 5px;
  margin-top: 5px;
}
.ml-blogListRole__category ul.wp-block-categories li a {
  display: inline-block;
  padding: 0.25em 0.5em;
  border-radius: 2em;
  background-color: transparent;
  border: solid 1px var(--wp--preset--color--border);
  color: inherit;
  text-decoration: none;
  transition: 0.3s;
}
.ml-blogListRole__category ul.wp-block-categories li a:hover {
  background-color: var(--wp--preset--color--accent);
  border-color: var(--wp--preset--color--accent);
  color: var(--wp--preset--color--on-accent);
}
.ml-blogListRole__category ul.wp-block-categories li.current-cat > a {
  background-color: var(--wp--preset--color--accent);
  border-color: var(--wp--preset--color--accent);
  color: var(--wp--preset--color--on-accent);
}
.ml-blogListRole__category ul.wp-block-categories .children {
  display: none;
  padding-left: 0;
}
.ml-blogListRole__category ul.wp-block-categories .children:before {
  font-family: "dashicons";
  content: "\f345";
  opacity: 0.5;
}
.ml-blogListRole__category ul.wp-block-categories:has(.current-cat) li {
  display: none;
  margin: 0;
}
.ml-blogListRole__category ul.wp-block-categories:has(.current-cat) li.current-cat,
.ml-blogListRole__category ul.wp-block-categories:has(.current-cat) li:has(.current-cat),
.ml-blogListRole__category ul.wp-block-categories:has(.current-cat) li.current-cat > ul > li {
  display: inline-block;
}
.ml-blogListRole__category ul.wp-block-categories:has(.current-cat) ul:has(.current-cat),
.ml-blogListRole__category ul.wp-block-categories:has(.current-cat) li.current-cat > ul {
  display: inline-block;
}
.ml-blogListRole__posts .wp-block-post-template {
  margin: 0;
  padding: 0;
  list-style-type: none;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 1rem;
}
@media screen and (min-width: 768px) {
  .ml-blogListRole__posts .wp-block-post-template {
    grid-template-columns: repeat(auto-fill, minmax(294px, 1fr));
    gap: 30px;
  }
}
.ml-blogListRole__posts .wp-block-post-template > li {
  margin: 0;
}

.ml-blogCard {
  height: 100%;
  /*
  // アイキャッチ画像が未登録の場合
  &:not(:has(.ml-blogCard__thumb)) {

    &:before {
      content: "no image";
      font-family: $ff-en;
      font-weight: 700;
      font-size: .875rem;
      display: grid;
      place-items: center;
      width: 100%;
      aspect-ratio: 16 / 9;
      // サイト背景が黒系・白系でもなじむようopacityで表現
      background-color: hsl(0 0 50%);
      opacity: .25;
    }
  }
  */
}
.ml-blogCard__thumb {
  margin: 0;
}
.ml-blogCard__thumb a {
  display: block;
}
.ml-blogCard__thumb a:hover img {
  transform: scale(1.05);
}
.ml-blogCard__thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 16/9;
  transition: 0.6s;
}
.ml-blogCard__head {
  margin-block: 10px;
  padding-left: calc(3px * 5);
  position: relative;
}
.ml-blogCard__head:before {
  content: "";
  display: block;
  width: 3px;
  height: calc(100% - 0.45em);
  background-color: var(--wp--preset--color--primary);
  position: absolute;
  top: 0.3em;
  left: 0;
}
.ml-blogCard__head:first-child {
  -webkit-margin-before: 10px;
          margin-block-start: 10px;
}
.ml-blogCard__meta {
  font-size: 0.8rem;
  margin: 0.25em 0;
}
.ml-blogCard__date {
  color: var(--wp--preset--color--text-muted);
}
@media screen and (max-width: 767.98px) {
  .ml-blogCard .taxonomy-category {
    display: none;
  }
}
.ml-blogCard .taxonomy-category a {
  color: var(--wp--preset--color--primary);
  text-decoration: none;
}
.ml-blogCard__title {
  font-size: 1rem;
  font-weight: 500;
  margin: 0;
  line-height: 1.3;
}
.ml-blogCard__title a {
  color: inherit;
  transition: 0.3s;
  /* テキストのリンクをカード全体に広げる
  &::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
  }
  */
}
.ml-blogCard__title a:hover {
  color: var(--wp--preset--color--primary);
}
.ml-blogCard__excerpt {
  line-height: 1.3;
  margin: 0;
}
.ml-blogCard__excerpt p {
  margin: 0;
}
.ml-blogCard__excerpt .wp-block-post-excerpt__excerpt {
  font-size: 0.875rem;
  margin: 1em 0 0;
}
.ml-blogCard__excerpt .wp-block-post-excerpt__excerpt .wp-block-post-excerpt__more-link {
  color: inherit;
  font-size: 0.8125rem;
}
.ml-blogCard__excerpt .wp-block-post-excerpt__more-text {
  font-size: 0.8125rem;
  margin: 1em 0 0;
}
.ml-blogCard__excerpt .wp-block-post-excerpt__more-text a {
  color: inherit;
}

/*
投稿記事
*/
.ml-blogArticle__image {
  aspect-ratio: 16/9;
  overflow: hidden;
}
.ml-blogArticle__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.ml-blogArticle__meta {
  font-size: 0.9375rem;
  flex-flow: row wrap;
  align-items: baseline;
  gap: 1em;
}
.ml-blogArticle__meta .meta_date {
  margin: 0;
  display: flex;
  align-items: baseline;
  white-space: nowrap;
}
.ml-blogArticle__meta .meta_date:not(:has(.wp-block-post-date)) {
  display: none;
}
.ml-blogArticle__meta .meta_date .meta_label {
  /*
  &:before {
    font-family: "dashicons";
    content: "\f469";
    display: inline-block;
    transform: translateY(0.15em);
    margin-right: .25em;
  }
  */
}
.ml-blogArticle__meta .meta_date .wp-block-post-date {
  margin: 0;
}
@media screen and (max-width: 767.98px) {
  .ml-blogArticle__meta .meta_category {
    width: 100%;
  }
}
.ml-blogArticle__meta .meta_category a {
  color: var(--wp--preset--color--primary);
  text-decoration: none;
}
.ml-blogArticle__title {
  font-weight: 500;
  line-height: 1.3;
}
.ml-blogArticle .taxonomy-post_tag {
  font-size: 0.875rem;
  line-height: 1.5;
}
.ml-blogArticle .taxonomy-post_tag a {
  color: var(--wp--preset--color--text);
  text-decoration: none;
  transition: 0.3s;
}
.ml-blogArticle .taxonomy-post_tag a:hover {
  color: var(--wp--preset--color--primary);
}
/*
ウィジェット

※投稿ページ用ウィジェットですが、もし投稿ページ以外でも使う場合は「conponent/_widget.scss」を作成して整理してください。
*/
.ml-widget:nth-child(n+2) {
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .ml-widget:nth-child(n+2) {
    margin-top: 40px;
  }
}
.ml-widget__title {
  padding-left: calc(3px * 5);
  position: relative;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  margin-bottom: 1rem;
}
.ml-widget__title:before {
  content: "";
  display: block;
  width: 3px;
  height: calc(100% - 0.45em);
  background-color: var(--wp--preset--color--primary);
  position: absolute;
  top: 0.3em;
  left: 0;
}
.ml-widget__title .title_main {
  font-size: 1.0625rem;
  font-weight: 500;
  margin: 0;
}
.ml-widget__title .title_sub {
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--wp--preset--color--primary);
}
.ml-widget__latest {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 12px;
}
.ml-widget__latest li {
  display: grid;
  grid-template-areas: "thumb title" "thumb date";
  grid-template-columns: 90px 1fr;
  grid-template-rows: auto 1fr;
  -moz-column-gap: 7px;
       column-gap: 7px;
}
.ml-widget__latest .wp-block-latest-posts__featured-image {
  grid-area: thumb;
  aspect-ratio: 16/9;
  overflow: hidden;
}
.ml-widget__latest .wp-block-latest-posts__featured-image a {
  display: block;
  width: 100%;
  height: 100%;
}
.ml-widget__latest .wp-block-latest-posts__featured-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: 0.3s;
}
.ml-widget__latest li:not(:has(.wp-block-latest-posts__featured-image)):before {
  grid-area: thumb;
  content: "";
  display: block;
  aspect-ratio: 16/9;
  background-color: var(--wp--preset--color--base-alt);
}
.ml-widget__latest .wp-block-latest-posts__post-title {
  grid-area: title;
  display: block;
  font-size: 0.875rem;
  line-height: 1.2;
  color: inherit;
  text-decoration: none;
  transition: 0.3s;
}
.ml-widget__latest .wp-block-latest-posts__post-title:hover {
  color: var(--wp--preset--color--primary);
}
.ml-widget__latest .wp-block-latest-posts__post-date {
  grid-area: date;
  display: block;
  font-size: 0.6875rem;
  line-height: 1.2;
  margin: 0.25em 0;
}
.ml-widget__categories {
  margin: 0;
  margin-left: -5px;
  margin-top: -5px;
  padding: 0;
  list-style-type: none;
  font-size: 0;
}
.ml-widget__categories li {
  display: inline-block;
  font-size: 0.875rem;
  margin-left: 5px;
  margin-top: 5px;
}
.ml-widget__categories li a {
  display: inline-block;
  padding: 0.25em 0.5em;
  border-radius: 2em;
  background-color: transparent;
  border: solid 1px var(--wp--preset--color--border);
  color: inherit;
  text-decoration: none;
  transition: 0.3s;
}
.ml-widget__categories li a:hover {
  background-color: var(--wp--preset--color--accent);
  border-color: var(--wp--preset--color--accent);
  color: var(--wp--preset--color--on-accent);
}

/*
新着ブログ（トップページ配置用）

全体「【セクション】新着ブログ」グループブロックをフル幅指定しています
*/
.is-layout-constrained.alignfull > .ml-topBlogRole {
  padding-inline: min(4.68vw, 40px);
}
.ml-topBlogRole ul.wp-block-latest-posts {
  max-width: none;
  margin: 0;
  padding: 0;
  list-style-type: none;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
  gap: 1rem;
}
@media screen and (min-width: 768px) {
  .ml-topBlogRole ul.wp-block-latest-posts {
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 30px;
  }
}
.ml-topBlogRole ul.wp-block-latest-posts > li {
  margin: 0;
  /*
  // アイキャッチ画像が未登録の場合
  &:not(:has(.wp-block-latest-posts__featured-image)) {

    &:before {
      content: "no image";
      font-family: $ff-en;
      font-weight: 700;
      font-size: .875rem;
      display: grid;
      place-items: center;
      width: 100%;
      aspect-ratio: 16 / 9;
      // サイト背景が黒系・白系でもなじむようopacityで表現
      background-color: hsl(0 0 50%);
      opacity: .25;
    }
  }
  */
}
.ml-topBlogRole ul.wp-block-latest-posts > li .wp-block-latest-posts__featured-image {
  margin: 0;
}
.ml-topBlogRole ul.wp-block-latest-posts > li .wp-block-latest-posts__featured-image a {
  display: block;
}
.ml-topBlogRole ul.wp-block-latest-posts > li .wp-block-latest-posts__featured-image a:hover img {
  transform: scale(1.05);
  filter: brightness(1.1);
}
.ml-topBlogRole ul.wp-block-latest-posts > li .wp-block-latest-posts__featured-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 16/9;
  border-radius: 4px;
  transition: 0.6s;
}
.ml-topBlogRole ul.wp-block-latest-posts > li .wp-block-latest-posts__post-title {
  padding-left: calc(3px * 5);
  position: relative;
  display: block;
  font-size: 0.9375rem;
  font-weight: 500;
  margin: 0.75em 0 0.25em;
  line-height: 1.3;
  color: inherit;
  text-decoration: none;
  transition: 0.3s;
}
.ml-topBlogRole ul.wp-block-latest-posts > li .wp-block-latest-posts__post-title:before {
  content: "";
  display: block;
  width: 3px;
  height: calc(100% - 0.45em);
  background-color: var(--wp--preset--color--primary);
  position: absolute;
  top: 0.3em;
  left: 0;
}
.ml-topBlogRole ul.wp-block-latest-posts > li .wp-block-latest-posts__post-title:hover {
  color: var(--wp--preset--color--primary);
}
.ml-topBlogRole ul.wp-block-latest-posts > li .wp-block-latest-posts__post-date {
  display: block;
  font-size: 0.75rem;
  line-height: 1.2;
  color: var(--wp--preset--color--text-muted);
}
.ml-topBlogRole ul.wp-block-latest-posts > li .wp-block-latest-posts__post-excerpt {
  font-size: 0.875rem;
  line-height: 1.3;
  margin: 0.5em 0 0;
}
.ml-topBlogRole ul.wp-block-latest-posts > li .wp-block-latest-posts__post-excerpt .wp-block-latest-posts__read-more {
  font-size: 0.85em;
  color: inherit;
}
.ml-topBlogRole__actions {
  margin-top: 2rem;
}
.ml-topBlogRole__actions:where(.ml-topBlogRole__actions) {
  margin-block: clamp(20px, 7vw, 40px);
}
@media screen and (max-width: 1023.98px) {
  .ml-topBlogRole__actions {
    display: flex;
    justify-content: center;
  }
}

/*
新着情報（トップページ配置用）
.ml-topNewsRole {

  // セクションがフル幅指定された場合は当グループブロックに左右余白を定義しておきます。
  .is-layout-constrained.alignfull > & {
    padding-inline: $screen-edge;
  }

  // 一覧
  ul.wp-block-latest-posts {
    max-width: none;
    margin: 0;
    padding: 0;
    list-style-type: none;
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;

    > li {
      margin: 0;
      display: grid;
      grid-template-areas:
        "thumb date"
        "thumb title"
        "thumb excerpt";
      grid-template-columns: 150px 1fr;
      grid-template-rows: auto auto 1fr;
      column-gap: 1rem;

      // アイキャッチ画像
      .wp-block-latest-posts__featured-image {
        grid-area: thumb;
        margin: 0;

        a {
          display: block;

          &:hover {

            img {
              transform: scale(1.05);
              filter: brightness(1.1);
            }
          }
        }

        img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          aspect-ratio: 16 / 9;
          border-radius: 4px;
          transition: .6s;
        }
      }

      // アイキャッチ画像が未登録の場合
      &:not(:has(.wp-block-latest-posts__featured-image)) {

        &:before {
          grid-area: thumb;
          content: "no image";
          font-family: $ff-en;
          font-weight: 700;
          font-size: .875rem;
          display: grid;
          place-items: center;
          width: 100%;
          aspect-ratio: 16 / 9;
          // サイト背景が黒系・白系でもなじむようopacityで表現
          background-color: hsl(0 0 50%);
          opacity: .25;
        }
      }

      // タイトル
      .wp-block-latest-posts__post-title {
        grid-area: title;
        display: block;
        font-size: 1.125rem;
        font-weight: 500;
        margin: .25em 0;
        line-height: 1.3;
        color: inherit;
        text-decoration: none;
        transition: .3s;

        &:hover {
          color: $clr-primary;
        }
      }

      // 日付
      .wp-block-latest-posts__post-date {
        grid-area: date;
        display: block;
        font-size: 0.875rem;
        line-height: 1.2;
        opacity: .7;
      }

      // 抜粋
      .wp-block-latest-posts__post-excerpt {
        grid-area: excerpt;
        font-size: .875rem;
        line-height: 1.3;
        margin: .5em 0 0;

        // 続きを読む
        .wp-block-latest-posts__read-more {
          font-size: .85em;
          color: inherit;
        }
      }
    }
  }

  // ボタンラッパー
  &__actions {
    @include containerMarginTight;

    margin-top: 2rem;

    @include media(pc, down) {
      display: flex;
      justify-content: center;
    }
  }
}
*/
/*
検索結果
*/
body.search-results .ml-blogListRole__category {
  display: none;
}

.ml-searchTools__keyword {
  font-size: 1.125rem;
  font-weight: 400;
  margin: 1em 0;
}
.ml-searchTools .wp-block-search__inside-wrapper {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 1em;
  max-width: 500px;
  border: solid 1px #999;
  border-radius: 2em;
  overflow: hidden;
  font-size: 1rem;
}
.ml-searchTools .wp-block-search__inside-wrapper .wp-block-search__input {
  border: none;
  padding: 0 1em;
  background-color: transparent;
}
.ml-searchTools .wp-block-search__inside-wrapper .wp-block-search__input:focus, .ml-searchTools .wp-block-search__inside-wrapper .wp-block-search__input:focus-visible {
  outline: none;
}
.ml-searchTools .wp-block-search__inside-wrapper .wp-element-button {
  margin: 0;
  padding: 0.5em 1.25em;
  display: grid;
  place-items: center;
  white-space: nowrap;
  background-color: var(--wp--preset--color--accent);
}
.ml-searchTools .wp-block-search__inside-wrapper .wp-element-button:after {
  content: none;
  display: none;
}

/*
問い合わせフォーム

プラグイン「Snow Monkey Forms」の追加スタイル定義
*/
.snow-monkey-form .smf-form .is-layout-flex {
  -moz-column-gap: 0.5em;
       column-gap: 0.5em;
}
.snow-monkey-form .smf-form .smf-item {
  padding-block: 1.5rem;
  border-top: solid 1px var(--wp--preset--color--border);
}
.snow-monkey-form .smf-form .smf-item__col--label {
  align-self: center;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  -moz-column-gap: 0.5em;
       column-gap: 0.5em;
}
@media (max-width: 639px) {
  .snow-monkey-form .smf-form .smf-item__col--label {
    padding-bottom: 0;
    margin-bottom: 1em;
  }
}
.snow-monkey-form .smf-form .smf-item__col--label:before {
  content: "";
  display: block;
  width: 0.7em;
  height: 2px;
  background-color: var(--wp--preset--color--primary);
}
.snow-monkey-form .smf-form .smf-text-control__control,
.snow-monkey-form .smf-form .smf-select-control__control,
.snow-monkey-form .smf-form .smf-textarea-control__control {
  font-family: var(--wp--preset--font-family--noto-sans-jp);
  background-color: #fff;
  color: #000;
}
.snow-monkey-form .smf-form .smf-radio-button-control__control:checked,
.snow-monkey-form .smf-form .smf-checkbox-control__control:checked {
  background-color: var(--wp--preset--color--accent);
  border-color: var(--wp--preset--color--accent);
}
.snow-monkey-form .smf-form [data-invalid="1"] {
  background-color: #ffe7e7;
  border-color: #e00;
}
.snow-monkey-form .smf-form .smf-error-messages {
  margin-top: 0.25em;
}
.snow-monkey-form .smf-form .smf-error-messages:before {
  font-family: "dashicons";
  content: "\f534";
  font-size: 1.2em;
  display: inline-block;
  transform: translateY(0.15em);
}
.snow-monkey-form .smf-form .smf-complete-content {
  font-size: 1.125rem;
  border-top: solid 1px var(--wp--preset--color--border);
  border-bottom: solid 1px var(--wp--preset--color--border);
  padding-block: 1em;
}
.snow-monkey-form .smf-action .smf-button-control__control {
  background-image: none;
  border: none;
  background-color: var(--wp--preset--color--accent);
  color: var(--wp--preset--color--on-accent);
  font-size: 1rem;
  font-weight: 500;
  padding: 1em 1em;
  border-radius: 2em;
  min-width: 10em;
  transition: 0.3s;
}
.snow-monkey-form .smf-action .smf-button-control__control[data-action=back] {
  background-color: #777777;
  color: #fff;
}
.snow-monkey-form .smf-action .smf-button-control__control:hover {
  filter: brightness(1.1);
}

/*
サンクス画面
*/
.ml-thanksRole .wp-block-heading {
  padding-left: calc(4px * 5);
  position: relative;
}
.ml-thanksRole .wp-block-heading:before {
  content: "";
  display: block;
  width: 4px;
  height: calc(100% - 0.45em);
  background-color: var(--wp--preset--color--primary);
  position: absolute;
  top: 0.3em;
  left: 0;
}
.ml-thanksRole__actions {
  margin-top: 1.5rem;
}
@media screen and (min-width: 1024px) {
  .ml-thanksRole__actions {
    margin-top: 40px;
  }
}

/*
// 連絡先表示
.ml-meoContactBox {
  @include containerMarginTight;
  border: solid 1px $clr-border;
  font-size: 1rem;
  padding: 1em;
  border-radius: 4px;

  > :first-child {
    margin-top: 0;
  }
  > :last-child {
    margin-bottom: 0;
  }

  // 行
  &__row {
    margin: .5em 0;
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 1rem;

    dt {
      margin: 0;
      font-weight: 500;
      min-width: 7em;
    }

    dd {
      margin: 0;
    }
  }
}
*/
/*
Not Found
*/
.ml-notFoundRole {
  height: 100%;
  display: grid;
  place-items: center;
}
.ml-notFoundRole__inner {
  padding: min(4.68vw, 40px);
}
.ml-notFoundRole__title {
  font-family: "Inter", "Noto Sans JP", sans-serif;
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--wp--preset--color--primary);
  letter-spacing: 0;
  margin: 0;
  line-height: 1.2;
}
@media screen and (min-width: 1024px) {
  .ml-notFoundRole__title {
    font-size: 64px;
  }
}
.ml-notFoundRole__text {
  margin-block: 3rem;
  font-size: 1.125rem;
  line-height: 2;
}
.ml-notFoundRole__text p {
  margin: 0;
}
.ml-notFoundRole__text p:nth-child(n+2) {
  margin-top: 1em;
}
.ml-notFoundRole__actions:where(.ml-notFoundRole__actions) {
  margin-block: clamp(20px, 7vw, 40px);
}

/*
下層ページ：業務案内
*/
.ml-pageServiceSectionRole__content > :first-child {
  margin-top: 0;
}
.ml-pageServiceSectionRole__content > :last-child {
  margin-bottom: 0;
}
.ml-pageServiceSectionRole__content p {
  font-size: 1rem;
  margin: 1em 0;
  line-height: 1.5;
}
.ml-pageServiceSectionRole__img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3/1;
  -o-object-fit: cover;
     object-fit: cover;
  margin: 1.5rem 0;
}
.ml-pageServiceSectionRole__systemList {
  list-style: none;
  padding: 0;
  margin: 1.5rem 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.ml-pageServiceSectionRole__systemList li {
  font-size: 14px;
  padding: 1em 1em;
  border: 1px solid var(--wp--preset--color--border);
  position: relative;
  padding-left: 3em;
}
.ml-pageServiceSectionRole__systemList li::before {
  content: "▶";
  position: absolute;
  top: 1.45em;
  left: 20px;
  color: var(--color);
  font-size: 0.8em;
}
.ml-pageServiceSectionRole__devStack {
  display: grid;
  gap: 16px;
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  .ml-pageServiceSectionRole__devStack {
    grid-template-columns: repeat(3, 1fr);
  }
}
.ml-pageServiceSectionRole__stackItem {
  border: 1px solid var(--wp--preset--color--border);
  border-top: 4px solid var(--wp--preset--color--primary);
  padding: 1rem;
  border-radius: 0 0 4px 4px;
}
.ml-pageServiceSectionRole__stackItem:nth-child(2) {
  border-top-color: var(--wp--preset--color--secondary);
}
.ml-pageServiceSectionRole__stackItem:nth-child(3) {
  border-top-color: var(--wp--preset--color--tertiary);
}
.ml-pageServiceSectionRole__stackItem > :first-child {
  margin-top: 0;
}
.ml-pageServiceSectionRole__stackItem > :last-child {
  margin-bottom: 0;
}
.ml-pageServiceSectionRole__stackTitle {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin: 1em 0;
  text-transform: uppercase;
}
.ml-pageServiceSectionRole__stackText {
  font-size: 13px;
  line-height: 1.8;
  margin: 0;
  color: #333;
}
.ml-pageServiceSectionRole__specBox {
  border-left: 4px solid var(--color);
  background-color: color-mix(in srgb, var(--color) 7%, transparent 100%);
  padding: 1.5rem;
  margin-top: 1.5rem;
}
.ml-pageServiceSectionRole__specBox > :first-child {
  margin-top: 0;
}
.ml-pageServiceSectionRole__specBox > :last-child {
  margin-bottom: 0;
}
.ml-pageServiceSectionRole__specTitle {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin: 1em 0;
  text-transform: uppercase;
}
.ml-pageServiceSectionRole__specList {
  display: grid;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0;
}
@media screen and (min-width: 768px) {
  .ml-pageServiceSectionRole__specList {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 1024px) {
  .ml-pageServiceSectionRole__specList {
    grid-template-columns: repeat(3, 1fr);
  }
}
.ml-pageServiceSectionRole__specList li {
  font-size: 12px;
  background: var(--wp--preset--color--base);
  border: 1px solid var(--wp--preset--color--border);
  padding: 10px 15px;
  position: relative;
  padding-left: 30px;
}
.ml-pageServiceSectionRole__specList li::before {
  content: "";
  position: absolute;
  left: 15px;
  top: 50%;
  transform: translateY(-50%);
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--color);
}
.ml-pageServiceSectionRole__otherList {
  list-style: none;
  padding: 0;
  margin: 1.5rem 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.ml-pageServiceSectionRole__otherList li {
  font-size: 14px;
  padding: 1em 1em;
  border: 1px solid var(--wp--preset--color--border);
  position: relative;
  padding-left: 3em;
}
.ml-pageServiceSectionRole__otherList li::before {
  content: "▶";
  position: absolute;
  top: 1.45em;
  left: 20px;
  color: var(--color);
  font-size: 0.8em;
}

/*
下層ページ：企業情報
*/
.ml-pageCompanySectionRole:last-of-type {
  border-bottom: none;
}
.ml-pageCompanySectionRole__content > :first-child {
  margin-top: 0;
}
.ml-pageCompanySectionRole__content > :last-child {
  margin-bottom: 0;
}
.ml-pageCompanySectionRole__table dl {
  margin: 0;
  display: flex;
  flex-direction: column;
  -moz-column-gap: 1em;
       column-gap: 1em;
  font-size: 1rem;
  border-bottom: 1px solid var(--wp--preset--color--border);
  padding: 1em 0;
}
@media screen and (min-width: 768px) {
  .ml-pageCompanySectionRole__table dl {
    flex-direction: row;
    align-items: flex-start;
  }
}
.ml-pageCompanySectionRole__table dl:first-child {
  border-top: 2px solid var(--color);
}
.ml-pageCompanySectionRole__table dl dt {
  margin: 0;
  min-width: 10em;
  font-weight: 500;
  color: var(--wp--preset--color--text);
  position: relative;
  padding-left: 1em;
}
.ml-pageCompanySectionRole__table dl dt::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.75em;
  width: 0.5em;
  height: 2px;
  background-color: var(--color);
}
.ml-pageCompanySectionRole__table dl dd {
  margin: 0;
}
.ml-pageCompanySectionRole__history {
  font-size: 1rem;
  position: relative;
  /*
  &:before {
    content: "";
    width: 1px;
    height: 100%;
    $start: calc($gap * 2);
    $end: calc(100% - $start);
    background-image: linear-gradient(to bottom, transparent $start, $clr-secondary $start, $clr-secondary $end, transparent $end);
    position: absolute;
    top: 0;
    left: 10rem;
  }
  */
}
.ml-pageCompanySectionRole__history dl {
  margin: 0;
  display: grid;
  grid-template-columns: auto 1fr;
  -moz-column-gap: 1em;
       column-gap: 1em;
  padding: 1em 0;
  position: relative;
}
.ml-pageCompanySectionRole__history dl:before {
  content: "";
  width: 1px;
  height: 100%;
  background-color: var(--wp--preset--color--secondary);
  position: absolute;
  top: 0;
  left: 8rem;
}
.ml-pageCompanySectionRole__history dl:first-child:before {
  background: none;
  background-image: linear-gradient(to bottom, transparent 2em, var(--wp--preset--color--secondary) 2em, var(--wp--preset--color--secondary) 100%);
}
.ml-pageCompanySectionRole__history dl:last-child:before {
  background: none;
  background-image: linear-gradient(to bottom, var(--wp--preset--color--secondary) 0, var(--wp--preset--color--secondary) 2em, transparent 2em);
}
.ml-pageCompanySectionRole__history dl dt {
  margin: 0;
  font-family: "Inter", "Noto Sans JP", sans-serif;
  font-size: 0.9em;
  font-weight: 400;
  width: 8rem;
  position: relative;
}
.ml-pageCompanySectionRole__history dl dt:after {
  content: "";
  position: absolute;
  left: 100%;
  top: 1em;
  transform: translate(-50%, -50%);
  width: 13px;
  height: 13px;
  background-color: #fff;
  border: 3px solid var(--color);
  border-radius: 50%;
}
.ml-pageCompanySectionRole__history dl dd {
  margin: 0;
}
.ml-pageCompanySectionRole__note {
  font-size: 0.875rem;
}
.ml-pageCompanySectionRole__clientList {
  display: grid;
  gap: 2px;
  list-style: none;
  padding: 0;
  margin: 0;
}
@media screen and (min-width: 768px) {
  .ml-pageCompanySectionRole__clientList {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
}
@media screen and (min-width: 1024px) {
  .ml-pageCompanySectionRole__clientList {
    grid-template-columns: repeat(3, 1fr);
  }
}
.ml-pageCompanySectionRole__clientList li {
  background: #fdfdfd;
  border: 1px solid var(--wp--preset--color--border);
  padding: 16px 20px;
  font-size: 14px;
  color: #444;
  transition: all 0.25s ease;
}
.ml-pageCompanySectionRole__clientList li:hover {
  border-color: var(--color);
  background: #fff;
  transform: translateY(-2px);
}

/*
下層ページ：環境方針
*/
.ml-pageEnvironmentSectionRole__content > :first-child {
  margin-top: 0;
}
.ml-pageEnvironmentSectionRole__content > :last-child {
  margin-bottom: 0;
}
.ml-pageEnvironmentSectionRole__message {
  padding: 1rem;
  text-align: center;
  border: 1px solid var(--wp--preset--color--border);
}
@media screen and (min-width: 768px) {
  .ml-pageEnvironmentSectionRole__message {
    padding: 40px;
  }
}
.ml-pageEnvironmentSectionRole__message p {
  font-family: "Noto Serif JP", serif;
  font-size: clamp(18px, 2vw, 22px);
  font-weight: 700;
  line-height: 1.8;
  color: var(--wp--preset--color--text);
  margin: 0;
}
.ml-pageEnvironmentSectionRole__message p .pc-only {
  display: none;
}
@media screen and (min-width: 768px) {
  .ml-pageEnvironmentSectionRole__message p .pc-only {
    display: inline;
  }
}
.ml-pageEnvironmentSectionRole__list {
  list-style: none;
  padding: 0;
  counter-reset: policy-counter;
}
.ml-pageEnvironmentSectionRole__list li {
  counter-increment: policy-counter;
  background: #fdfdfd;
  border: 1px solid var(--wp--preset--color--border);
  padding: 20px 24px;
  margin-bottom: 8px;
  font-size: 15px;
  line-height: 1.7;
  color: #444;
  display: flex;
  gap: 20px;
  align-items: flex-start;
  transition: all 0.25s ease;
}
.ml-pageEnvironmentSectionRole__list li::before {
  content: counter(policy-counter);
  font-family: "Inter", "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 20px;
  color: var(--color);
  line-height: 1;
  flex-shrink: 0;
  width: 1.5em;
  text-align: center;
  margin-top: 0.2em;
}
.ml-pageEnvironmentSectionRole__list li:hover {
  border-color: var(--color);
  background: #fff;
  transform: translateX(5px);
}
.ml-pageEnvironmentSectionRole__footer {
  text-align: right;
}
.ml-pageEnvironmentSectionRole__footer p {
  font-size: 0.875rem;
  color: var(--wp--preset--color--text-muted);
  margin: 0;
}
.ml-pageEnvironmentSectionRole__footer p.name {
  margin-top: 1em;
  font-size: 1rem;
  font-weight: 500;
  color: var(--wp--preset--color--text);
}

/*
プライバシーポリシー
*/
/*
Foundation
リセットCSSや変数の定義など、デザインを持たない（あるいは最小限の）インフラ用定義
*/
/*
Layout
*/
/*
Component (共通パーツ)
*/
/*
Project (ページ固有)
*/
/*# sourceMappingURL=style.css.map */