@charset "UTF-8";

/**
 * My Snow Monkey プラグインで読み込むCSS
 *
 * 【 環境 】
 * ・HTML構造は変えられない。
 * ・classを付与できるタグが限られている。
 * ・テーマのCSSがベースとして読み込まれている。
 * ・テーマのCSSには詳細度の高いセレクタやimportantが多用されている。
 *
 * 【 方針 】
 * ・なるべくスコープを絞る。
 * ・他のCSSでimportantが利用されている箇所、詳細度が高い箇所、ユーティリティーなどはやむを得ずimportantを利用する。
 * ・可読性を重視するため、基本はメディアクエリを一括で書かず、セレクタごとに設置する。また一方向のみで記述する。
 */

/* base */

@font-face {
  font-display: swap;
  font-family: 'YuGo';
  font-style: normal;
  font-weight: 100 500;
  src: url('../fonts/YuGo-Medium.woff2') format('woff2'),
       url('../fonts/YuGo-Medium.woff') format('woff');
}

@font-face {
  font-display: swap;
  font-family: 'YuGo';
  font-style: normal;
  font-weight: 600 900;
  src: url('../fonts/YuGo-Bold.woff2') format('woff2'),
       url('../fonts/YuGo-Bold.woff') format('woff');
}

@font-face {
  font-display: swap;
  font-family: 'YuMin';
  font-style: normal;
  font-weight: 100 500;
  src: url('../fonts/YuMin-Medium.woff2') format('woff2'),
       url('../fonts/YuMin-Medium.woff') format('woff');
}

@font-face {
  font-display: swap;
  font-family: 'YuMin';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/YuMin-Demibold.woff2') format('woff2'),
       url('../fonts/YuMin-Demibold.woff') format('woff');
}

@font-face {
  font-display: swap;
  font-family: 'YuMin';
  font-style: normal;
  font-weight: 700 900;
  src: url('../fonts/YuMin-Extrabold.woff2') format('woff2'),
       url('../fonts/YuMin-Extrabold.woff') format('woff');
}

:root {
  --c-alto: #d9d9d9;
  --c-bermuda-gray: #658ea8;
  --c-cerulean: #0693e3;
  --c-jon: #37231a;
  --c-mountain-mist: #969696;
  --c-pot-pourri: #fce7e7;
  --c-rock-blue: #9db8c9;
  --c-romantic: #C9CBDA;
  --c-sweet-pink: #f69f9f;

  --c-main: var(--c-sweet-pink);
  --c-sub: var(--c-pot-pourri);
  --c-accent: var(--c-bermuda-gray);
  --c-link: var(--c-cerulean);
  --c-text: var(--c-jon);
  --c-border-01: var(--c-alto);
  --c-border-02: var(--c-mountain-mist);

  --h-header: 60px;
  --h-hero-actions: 142px;
  --h-wp-admin-bar: 32px;

  --mask-chevron-down: url('data:image/svg+xml;utf8,<svg height="14" viewBox="0 0 22 14" width="22" xmlns="http://www.w3.org/2000/svg"><path d="m12.4989 12.8847 8.8791-8.79612c.8293-.82153.8293-2.15177 0-2.9733-.4129-.409041-.9576-.61528-1.4989-.61528s-1.086.206239-1.4989.61528l-5.2602 5.211-2.12 2.19646-2.12002-2.19646-5.26015-5.211c-.41291-.409042-.95766-.615281-1.49894-.615281-.54475 0-1.08603.206239-1.498934.615281-.829273.82152-.829273 2.15177 0 2.9733l8.875644 8.79272c.38514.3815.916.6187 1.5024.6187s1.1173-.2372 1.5024-.6187z"/></svg>') no-repeat center / contain;
  --mask-chevron-down-width: 22;
  --mask-chevron-down-height: 14;
}

@media (min-width: 1024px) {
  :root {
    --h-header: 95px;
  }
}

* {
  font-size: 1rem;
  line-height: 1.7;
}

body {
  color: var(--c-text);
  font-family: 'YuGo', sans-serif;
}

/**
 * オーバーライド
 */

/* 投稿・固定ページのフレームを調整 */

body:is(.page, .single) .l-contents__container {
  padding-inline: 0;
}

/* 固定ページのフレームを調整 */

body.page {
  --wp--style--global--content-size: 1000px;
}

body.page .l-contents__inner {
  padding: 0 0 96px;
}

@media (min-width: 1024px) {
  body.page .l-contents__inner {
    padding-bottom: 152px;
  }
}

/* 固定ページのページタイトルを削除 */
body.page .l-contents__inner .c-entry__header {
  display: none;
}

/* 投稿・求人情報詳細ページの見出しの余白を調整する */

body:is(.single, .single-job-information) :is(.c-entry__title, .c-entry__meta) {
  padding-inline: 20px;
}

@media (min-width: 1024px) {
  body:is(.single, .single-job-information) :is(.c-entry__title, .c-entry__meta) {
    padding-inline: 0;
  }
}

/* 求人情報投稿ページの余白を調整する */
body.single-job-information .l-contents__container.c-fluid-container {
  padding-inline: 0;
}

@media (min-width: 1024px) {
  body.single-job-information .l-contents__container.c-fluid-container {
    padding-left: var(--_container-margin-left);
    padding-right: var(--_container-margin-right);
  }
}

.wp-block-snow-monkey-blocks-section > .smb-section__inner > .c-container {
  padding-inline: 0;
}

/* コンテンツエリアのパディングを調整 */
.p-entry-content {
  padding-inline: 20px !important;
}

/* EditorsKitプラグインのリンクに付与されてしまうマージンを削除 */
.editorskit-block-link {
  margin-top: 0 !important;
}

/* フッターのデザイン調整 */
.l-footer {
  background-color: var(--c-accent);
  border-top: none;
  padding: 60px 20px;
}

.l-footer__header {
  display: none;
}

.l-footer__body {
  border-top: none !important;
}

.l-footer__widget-area {
  padding-block: 0 !important;
}

.l-footer-widget-area > .c-container {
  padding-inline: 0;
}

.l-footer__footer {
  display: none;
}

/* Snow Monkey Form */

.snow-monkey-form > .smf-progress-tracker {
  column-gap: 48px;
  justify-content: center;
  margin-bottom: 0;
  position: relative;
}

@media (min-width: 1024px) {
  .snow-monkey-form > .smf-progress-tracker {
    column-gap: 112px;
  }
}

.snow-monkey-form > .smf-progress-tracker::before {
  background-color: var(--c-mountain-mist);
  content: '';
  height: 1px;
  left: 0;
  position: absolute;
  top: 22px;
  transform: translateY(-50%);
  width: 100%;
}

.snow-monkey-form > .smf-progress-tracker > .smf-progress-tracker__item {
  flex: none;
  width: auto;
}

.snow-monkey-form > .smf-progress-tracker > .smf-progress-tracker__item::before, .snow-monkey-form > .smf-progress-tracker > .smf-progress-tracker__item::after {
  content: none;
}

.snow-monkey-form > .smf-progress-tracker > .smf-progress-tracker__item > .smf-progress-tracker__item__number {
  --size: 44px;
  background-color: var(--c-alto);
  color: var(--c-mountain-mist);
  font-size: 1.2rem;
  font-weight: 700;
  height: var(--size);
  width: var(--size);
}

.snow-monkey-form:is([data-screen='input'], [data-screen='back'], [data-screen='invalid']) > .smf-progress-tracker > .smf-progress-tracker__item--input > .smf-progress-tracker__item__number,
.snow-monkey-form[data-screen='confirm'] > .smf-progress-tracker > .smf-progress-tracker__item--confirm > .smf-progress-tracker__item__number,
.snow-monkey-form[data-screen='complete'] > .smf-progress-tracker > .smf-progress-tracker__item--complete > .smf-progress-tracker__item__number {
  background-color: var(--c-accent);
  color: #fff;
}

.snow-monkey-form > .smf-progress-tracker > .smf-progress-tracker__item > .smf-progress-tracker__item__text {
  color: var(--c-mountain-mist);
  font-size: .875rem;
  font-weight: 700;
  margin-top: 4px;
}

.snow-monkey-form:is([data-screen='input'], [data-screen='back'], [data-screen='invalid']) > .smf-progress-tracker > .smf-progress-tracker__item--input > .smf-progress-tracker__item__text,
.snow-monkey-form[data-screen='confirm'] > .smf-progress-tracker > .smf-progress-tracker__item--confirm > .smf-progress-tracker__item__text,
.snow-monkey-form[data-screen='complete'] > .smf-progress-tracker > .smf-progress-tracker__item--complete > .smf-progress-tracker__item__text {
  color: var(--c-text);
}

.snow-monkey-form > .smf-form {
  margin-top: 80px;
}

@media (min-width: 1024px) {
  .snow-monkey-form > .smf-form {
    margin-top: 64px;
  }
}

.snow-monkey-form > .smf-form > .smf-item {
  display: flex;
  flex-direction: column;
  padding: 0;
  row-gap: 8px;
}

@media (min-width: 1024px) {
  .snow-monkey-form > .smf-form > .smf-item {
    column-gap: 20px;
    flex-direction: row;
  }
}

.snow-monkey-form > .smf-form > .smf-item > .smf-item__col--label {
  flex: initial;
  padding-bottom: 0;
  padding-right: 0;
}ƒ

@media (min-width: 1024px) {
  .snow-monkey-form > .smf-form > .smf-item > .smf-item__col--label {
    flex: 0 0 200px;
  }
}

.snow-monkey-form > .smf-form > .smf-item > .smf-item__col--label > .smf-item__label > .smf-item__label__text > .sme-badge {
  background-color: #f90 !important;
  border-radius: 12px;
  color: var(--c-text);
  font-size: .875rem;
  font-weight: 700;
  margin-left: 8px;
  padding: 0 8px;
}

.snow-monkey-form > .smf-form > .smf-item > .smf-item__col--controls {
  max-width: none;
  width: 100%;
}

.snow-monkey-form > .smf-form > .smf-item > .smf-item__col--controls :is(.smf-text-control__control, .smf-textarea-control__control) {
  border-color: var(--c-alto);
  border-radius: 5px;
  padding: 12px 16px;
  width: 100%;
}

.snow-monkey-form > .smf-form > .smf-item > .smf-item__col--controls :is(.smf-text-control__control, .smf-textarea-control__control)::placeholder {
  color: var(--c-mountain-mist);
}

.snow-monkey-form > .smf-action {
  margin-bottom: 0;
  margin-top: 24px;
}

@media (min-width: 1024px) {
  .snow-monkey-form > .smf-action {
    margin-top: 64px;
  }
}

.snow-monkey-form:is([data-screen='input'], [data-screen='back'], [data-screen='invalid']) > .smf-action > .smf-button-control > .smf-button-control__control,
.snow-monkey-form[data-screen='confirm'] > .smf-action > .smf-button-control:last-of-type > .smf-button-control__control {
  align-items: center;
  background: linear-gradient(90deg, var(--c-main), var(--c-romantic));
  border: none;
  border-radius: 30px;
  color: #fff;
  column-gap: 16px;
  display: inline-flex;
  font-weight: 700;
  height: 60px;
  justify-content: center;
  overflow: hidden;
  position: relative;
  width: min(285px, 100%);
  z-index: 1;
}

.snow-monkey-form:is([data-screen='input'], [data-screen='back'], [data-screen='invalid']) > .smf-action > .smf-button-control > .smf-button-control__control::before,
.snow-monkey-form[data-screen='confirm'] > .smf-action > .smf-button-control:last-of-type > .smf-button-control__control::before {
  background-color: transparent;
  border-radius: 30px;
  content: '';
  height: calc(100% - 4px);
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  transition: background-color .3s;
  width: calc(100% - 4px);
  z-index: -1;
}

.snow-monkey-form:is([data-screen='input'], [data-screen='back'], [data-screen='invalid']) > .smf-action > .smf-button-control > .smf-button-control__control::after,
.snow-monkey-form[data-screen='confirm'] > .smf-action > .smf-button-control:last-of-type > .smf-button-control__control::after {
  background: linear-gradient(0deg, currentColor 1px, transparent 1px), linear-gradient(45deg, transparent calc(100% - 6px), currentColor calc(100% - 6px));
  clip-path: polygon(0 0, calc(100% - sin(45deg) * 10px) 0, 100% 100%, 0% 100%);
  content: '';
  display: block;
  height: calc(sin(45deg) * 10px);
  width: 40px;
}



@media (hover: hover) {
  .snow-monkey-form:is([data-screen='input'], [data-screen='back'], [data-screen='invalid']) > .smf-action > .smf-button-control > .smf-button-control__control:hover::before,
  .snow-monkey-form[data-screen='confirm'] > .smf-action > .smf-button-control:last-of-type > .smf-button-control__control:hover::before {
    background-color: #fff;
  }

  /* ←これを追加（文字色だけ黒に） */
  .snow-monkey-form .smf-action .smf-button-control__control:hover {
    color: #000;
  }

}

.snow-monkey-form .smf-action .smf-button-control__control:hover { color:#000 !important; }




/* ドロワーメニューの調整 */

.c-drawer {
  background-color: var(--c-main);
}

/* Font Awesome のデフォルトカラーをメインカラーにする */

.svg-inline--fa {
  color: var(--c-main);
}

/* セクションブロック上部のパディングを無くす */

.wp-block-snow-monkey-blocks-section:not(.p-section-03) {
  padding-top: 0 !important;
}

/* コンテンツ下部のパディングを調整 */

.l-contents__inner {
  padding-bottom: 30px !important;
}

/* ヘッダーのデザインを調整 */

.l-header__content {
  padding: 0;
}

.l-header__content .c-fluid-container {
  padding: 0 0 0 20px;
}

@media (min-width: 1024px) {
  .l-header__content .c-fluid-container {
    padding: 20px;
  }
}

.l-header__content .c-fluid-container > .c-row {
  column-gap: 48px;
  margin-inline: 0;
}

.l-header__content .c-fluid-container > .c-row > .c-row__col {
  padding-inline: 0;
}

.l-header__content .c-fluid-container > .c-row > .c-row__col > .l-1row-header__branding {
  padding: 0;
}

.l-header__content .c-fluid-container > .c-row > .c-row__col > .l-1row-header__branding > .c-site-branding > .c-site-branding__title {
  line-height: 0;
}

.l-header__content .c-fluid-container > .c-row > .c-row__col > .l-1row-header__branding > .c-site-branding > .c-site-branding__title > .custom-logo-link {
  display: inline-block;
}

.l-header__content .c-fluid-container > .c-row > .c-row__col > .l-1row-header__branding > .c-site-branding > .c-site-branding__title > .custom-logo-link > .custom-logo {
  display: block;
  height: 39px;
  width: auto;
}

@media (min-width: 1024px) {
  .l-header__content .c-fluid-container > .c-row > .c-row__col > .l-1row-header__branding > .c-site-branding > .c-site-branding__title > .custom-logo-link > .custom-logo {
    height: 55px;
  }
}

.l-header__content .c-fluid-container > .c-row > .c-row__col > .c-hamburger-btn {
  height: var(--h-header);
  width: var(--h-header);
}

/* PCグローバルメニューのデザインを調整 */

@media (min-width: 1024px) {
  .p-global-nav > .c-navbar {
    column-gap: 48px;
  }

  .p-global-nav > .c-navbar > .c-navbar__item > a {
    padding: 0;
  }

  .p-global-nav > .c-navbar > .c-navbar__item > a > span {
    font-family: 'YuMincho', serif;
    font-weight: 600;
    line-height: 1.5;
  }
}

/* PCグローバルメニューのエントリーボタンのデザインを調整

@media (min-width: 1024px) {
  .p-global-nav > .c-navbar > .menu-item:last-child {
    align-items: center;
    display: flex;
    margin-left: 8px;
  }

  .p-global-nav > .c-navbar > .menu-item:last-child > a {
    background: linear-gradient(90deg, var(--c-main), var(--c-romantic)) no-repeat;
    border-radius: 25px;
    display: inline-flex;
    height: 50px;
    overflow: hidden;
    padding-inline: 40px;
    color: white;
  }

  .p-global-nav > .c-navbar > .menu-item:last-child > a::before {
    border-radius: 9999px;
    content: '';
    height: calc(100% - 4px);
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    transition: background-color .3s;
    width: calc(100% - 4px);
  }

  @media (hover: hover) {
    .p-global-nav > .c-navbar > .menu-item:last-child:hover > a:hover::before {
      background-color: #fff;
    }

    .p-global-nav > .c-navbar > .menu-item:last-child:hover > a::after {
      content: none;
    }
  }

  .p-global-nav > .c-navbar > .menu-item:last-child > a > span {
    font-family: 'YuMin', serif;
    font-weight: 800;
    line-height: 1.5;
    z-index: 1;
  }
}

 */


/* 投稿ページの投稿日・著者を削除する */

body.single-post .c-entry__meta > .c-meta > :is(.c-meta__item--published, .c-meta__item--modified, .c-meta__item--author) {
  display: none;
}

/* 前後の記事への誘導リンクを削除する */

.c-prev-next-nav {
  display: none;
}

/* 記事カードのメタ情報を削除する */

.c-entry-summary .c-entry-summary__meta {
  display: none;
}

/* 目次の調整 */

.wpco .contents-outline a:before {
  background-color: var(--c-accent);
}

.smb-contents-outline {
  max-width: 736px;
}

.l-article-bottom-widget-area {
  max-width: none;
}

/**
 * コンポーネント
 */

/* 背景 */

.c-bg-wave {
  --mask-bg-top-wave: url('data:image/svg+xml;utf8,<svg width="390" height="78" viewBox="0 0 390 78" xmlns="http://www.w3.org/2000/svg"><path d="M63.3889 6.94562C25.3546 7.2382 -35.7197 14.019 -68.9997 20.8457V77.5314H458.36V0C434.223 0 361.812 25.9628 279.892 25.9628C176.76 25.9628 110.932 6.57991 63.3889 6.94562Z"/></svg>') no-repeat center / contain;
  --mask-bg-top-wave-width: 390;
  --mask-bg-top-wave-height: 78;

  --mask-bg-bottom-wave: url('data:image/svg+xml;utf8,<svg height="78" viewBox="0 0 390 78" width="390" xmlns="http://www.w3.org/2000/svg"><path d="m325.971 70.5856c38.035-.2925 99.109-7.0734 132.389-13.9001v-56.68569074l-527.3601.00004611v77.53144463c24.1371 0 96.5485-25.9628 178.4681-25.9628 103.132 0 168.96 19.3829 216.503 19.0171z"/></svg>') no-repeat center / contain;
  --mask-bg-bottom-wave-width: 390;
  --mask-bg-bottom-wave-height: 78;
}

@media (min-width: 1024px) {
  .c-bg-wave {
    --mask-bg-top-wave: url('data:image/svg+xml;utf8,<svg height="212" viewBox="0 0 1440 212" width="1440" xmlns="http://www.w3.org/2000/svg"><path d="m362 18.9919c-104 .8-271 19.3414-362 38.0081v155h1442v-212c-66 0-264 70.9919-488 70.9919-282 0-462-53-592-52z"/></svg>') no-repeat center / contain;
    --mask-bg-top-wave-width: 1440;
    --mask-bg-top-wave-height: 212;

    --mask-bg-bottom-wave: url('data:image/svg+xml;utf8,<svg height="212" viewBox="0 0 1440 212" width="1440" xmlns="http://www.w3.org/2000/svg"><path d="m1080 193.008c104-.8 271-19.341 362-38.008v-155.00004578l-1442.00044578.00012607.00001853 211.99991971c66.00002725 0 264.00042725-70.992 488.00042725-70.992 282 0 462 53 592 52z"/></svg>') no-repeat center / contain;
    --mask-bg-bottom-wave-width: 1440;
    --mask-bg-bottom-wave-height: 212;
  }
}

.c-bg-wave::before, .c-bg-wave::after {
  background-color: var(--c-sub);
  content: '';
  display: block;
  height: auto;
  width: 100%;
}

.c-bg-wave::before {
  aspect-ratio: var(--mask-bg-top-wave-width) / var(--mask-bg-top-wave-height);
  -webkit-mask: var(--mask-bg-top-wave);
  mask: var(--mask-bg-top-wave);
}

.c-bg-wave::after {
  aspect-ratio: var(--mask-bg-bottom-wave-width) / var(--mask-bg-bottom-wave-height);
  -webkit-mask: var(--mask-bg-bottom-wave);
  mask: var(--mask-bg-bottom-wave);
}

/* ボタン */
.smb-buttons > .smb-btn-wrapper.c-button-01 {
  flex-grow: 1;
}

.c-button-01 > .smb-btn {
  align-items: center;
  background: linear-gradient(90deg, var(--c-main), var(--c-romantic));
  border-radius: 30px;
  color: var(--c-text);
  column-gap: 16px;
  display: inline-flex;
  font-weight: 700;
  height: 60px;
  overflow: hidden;
  position: relative;
  width: min(285px, 100%);
  color: white;
}

.c-button-01 > .smb-btn::before {
  background-color: transparent;
  border-radius: 30px;
  content: '';
  height: calc(100% - 4px);
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  transition: background-color .3s;
  width: calc(100% - 4px);
}

.c-button-01 > .smb-btn::after {
  background: linear-gradient(0deg, currentColor 1px, transparent 1px), linear-gradient(45deg, transparent calc(100% - 6px), currentColor calc(100% - 6px));
  clip-path: polygon(0 0, calc(100% - sin(45deg) * 10px) 0, 100% 100%, 0% 100%);
  content: '';
  display: block;
  height: calc(sin(45deg) * 10px);
  width: 40px;
}

@media (hover: hover) {
  .c-button-01 > .smb-btn:hover {
    filter: initial;
  }

  .c-button-01 > .smb-btn:hover::before {
    background-color: #fff;
  }
}

.c-button-01 > .smb-btn > span {
  position: relative;
  z-index: 1;
}

.smb-buttons > .smb-btn-wrapper.c-button-02 {
  flex-grow: 1;
}

.c-button-02 > .smb-btn {
  align-items: center;
  background: linear-gradient(90deg, var(--c-main), var(--c-romantic));
  border-radius: 30px;
  color: var(--c-text);
  column-gap: 16px;
  display: inline-flex;
  font-weight: 700;
  height: 60px;
  overflow: hidden;
  position: relative;
  width: min(285px, 100%);
}

.c-button-02 > .smb-btn::before {
  background-color: #fff;
  border-radius: 30px;
  content: '';
  height: calc(100% - 4px);
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  transition: background-color .3s;
  width: calc(100% - 4px);
}

.c-button-02 > .smb-btn::after {
  background: linear-gradient(0deg, currentColor 1px, transparent 1px), linear-gradient(45deg, transparent calc(100% - 6px), currentColor calc(100% - 6px));
  clip-path: polygon(0 0, calc(100% - sin(45deg) * 10px) 0, 100% 100%, 0% 100%);
  content: '';
  display: block;
  height: calc(sin(45deg) * 10px);
  width: 40px;
}

@media (hover: hover) {
  .c-button-02 > .smb-btn:hover {
    filter: initial;
  }

  .c-button-02 > .smb-btn:hover::before {
    background-color: transparent;
  }
}

.c-button-02 > .smb-btn > span {
  position: relative;
  z-index: 1;
}

.c-button-03 > .smb-btn {
  align-items: center;
  background-color: #fff;
  border-radius: 42px;
  color: var(--c-text);
  column-gap: 16px;
  display: inline-flex;
  height: 84px;
  justify-content: center;
  overflow: hidden;
  width: min(400px, 100%);
}

.c-button-03 > .smb-btn > .smb-btn__label {
  font-size: 1.25rem;
  font-weight: 700;
}

@media (min-width: 1024px) {
  .c-button-03 > .smb-btn > .smb-btn__label {
    font-size: 1.5rem;
  }
}

.c-button-03 > .smb-btn::after {
  background: linear-gradient(0deg, currentColor 1px, transparent 1px), linear-gradient(45deg, transparent calc(100% - 6px), currentColor calc(100% - 6px));
  clip-path: polygon(0 0, calc(100% - sin(45deg) * 10px) 0, 100% 100%, 0% 100%);
  content: '';
  display: block;
  height: calc(sin(45deg) * 10px);
  width: 40px;
}

@media (hover: hover) {
  .c-button-03 > .smb-btn:hover {
    filter: initial;
  }
}

.c-button-04 > .smb-btn {
  align-items: center;
  background: linear-gradient(90deg, var(--c-accent), var(--c-rock-blue));
  border-radius: 42px;
  color: #fff;
  column-gap: 16px;
  display: inline-flex;
  height: 84px;
  justify-content: center;
  overflow: hidden;
  width: min(400px, 100%);
}

.c-button-04 > .smb-btn > .smb-btn__label {
  font-size: 1.25rem;
  font-weight: 700;
}

@media (min-width: 1024px) {
  .c-button-04 > .smb-btn > .smb-btn__label {
    font-size: 1.5rem;
  }
}

.c-button-04 > .smb-btn::after {
  background: linear-gradient(0deg, currentColor 1px, transparent 1px), linear-gradient(45deg, transparent calc(100% - 6px), currentColor calc(100% - 6px));
  clip-path: polygon(0 0, calc(100% - sin(45deg) * 10px) 0, 100% 100%, 0% 100%);
  content: '';
  display: block;
  height: calc(sin(45deg) * 10px);
  width: 40px;
}

@media (hover: hover) {
  .c-button-04 > .smb-btn:hover {
    filter: initial;
  }
}

/* チェックボックス */

.c-checkbox-01 .smf-checkbox-control > .smf-checkbox-control__control {
  border-width: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.c-checkbox-01 .smf-checkbox-control > .smf-checkbox-control__label {
  padding-left: 36px;
  position: relative;
}

.c-checkbox-01 .smf-checkbox-control > .smf-checkbox-control__label::before {
  --size: 24px;
  border: 1px solid var(--c-alto);
  border-radius: 5px;
  content: '';
  height: var(--size);
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: var(--size);
}

.c-checkbox-01 .smf-checkbox-control > .smf-checkbox-control__label::after {
  border-bottom: 2px solid var(--c-accent);
  border-right: 2px solid var(--c-accent);
  content: '';
  height: 12px;
  left: 12px;
  opacity: 0;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  transition: opacity .3s;
  width: 8px;
}

.c-checkbox-01 .smf-checkbox-control > .smf-checkbox-control__control:checked + .smf-checkbox-control__label::after {
  opacity: 1;
}

/* 見出し */
.c-heading-01 {
/*   background: linear-gradient(0deg, currentColor 48px, transparent 48px) no-repeat bottom center / 1px 100%;  */
/*   padding-bottom: 56px;  */
}

.c-heading-01 > :where(h2, p) {
  align-items: center;
  display: flex;
  flex-direction: column;
  font-family: 'YuMin', serif;
}

.c-heading-01 > h2 {
  background-color: transparent;
  border-left: none;
  color: var(--c-main);
  font-size: 1.75rem;
  font-weight: 600;
  line-height: 1.2;
  margin-bottom: 0 !important;
  padding: 0;
}

.c-heading-01 > p {
  font-size: 1rem;
  font-weight: 800;
  line-height: 2.1;
}

.c-heading-02 {
  --padding: 8px;
  line-height: 1;
  padding: var(--padding) 0 var(--padding) var(--padding) !important;
  position: relative;
}

@media (min-width: 1024px) {
  .c-heading-02 {
    --padding: 14px;
  }
}

.c-heading-02::before {
  aspect-ratio: 1 / 1;
  background-color: var(--c-main);
  border-radius: 50%;
  content: '';
  left: 0;
  position: absolute;
  top: calc(var(--padding) + .6em);
  transform: translateY(-50%);
  width: calc(var(--padding) * 4);
  z-index: -1;
}

.c-heading-03 {
  background: linear-gradient(currentColor, currentColor) no-repeat center left / 20px 1px;
  padding-left: 28px !important;
}

@media (min-width: 1024px) {
  .c-heading-03 {
    background-size: 40px 1px;
    padding-left: 56px !important;
  }
}

.c-heading-04 {
  align-items: center;
  column-gap: 12px;
  display: flex;
}

.c-heading-04::after {
  background: linear-gradient(0deg, currentColor 1px, transparent 1px), linear-gradient(45deg, transparent calc(100% - 6px), currentColor calc(100% - 6px));
  clip-path: polygon(0 0, calc(100% - sin(45deg) * 10px) 0, 100% 100%, 0% 100%);
  content: '';
  display: block;
  height: calc(sin(45deg) * 10px);
  width: 40px;
}

.c-heading-05 > br {
  display: none;
}

@media (min-width: 1024px) {
  .c-heading-05 > br {
    display: block;
  }
}

.c-heading-06 {
  background: linear-gradient(currentColor, currentColor) no-repeat bottom center / 80px 1px;
  padding-bottom: 8px;
  text-align: center;
}

.c-heading-07 {
  padding-left: 1.5em;
  position: relative;
}

.c-heading-07::before {
  content: 'Q.';
  left: 0;
  position: absolute;
  top: .6em;
  transform: translateY(-50%);
}

/* リンク */

.c-link-01 > a {
  align-items: center;
  color: var(--c-accent);
  column-gap: 16px;
  display: flex;
  font-family: 'YuMin', serif;
  font-size: 1.25rem;
  font-weight: 600;
  letter-spacing: 1px;
  text-decoration: none;
  transition: color .3s;
}

@media (hover: hover) {
  .c-link-01 > a:hover {
    color: var(--c-main);
  }
}

.c-link-01 > a::after {
  background: linear-gradient(0deg, currentColor 1px, transparent 1px), linear-gradient(45deg, transparent calc(100% - 6px), currentColor calc(100% - 6px));
  clip-path: polygon(0 0, calc(100% - sin(45deg) * 10px) 0, 100% 100%, 0% 100%);
  content: '';
  display: block;
  height: calc(sin(45deg) * 10px);
  width: 40px;
}

/**
 * プロジェクト
 */

/* アコーディオン */

.p-accordion-01 {
  border: 1px solid var(--c-alto);
}

.p-accordion-01 > .smb-accordion__item__control {
  margin: 0;
}

.p-accordion-01 > .smb-accordion__item__title {
  background-color: transparent;
  color: var(--c-accent);
  padding: 32px 16px 32px 48px;
  position: relative;
}

@media (min-width: 1024px) {
  .p-accordion-01 > .smb-accordion__item__title {
    padding: 32px 48px 32px 92px;
  }
}

.p-accordion-01 > .smb-accordion__item__title::before {
  aspect-ratio: var(--mask-chevron-down-width) / var(--mask-chevron-down-height);
  background-color: var(--c-accent);
  content: '';
  height: auto;
  left: 16px;
  -webkit-mask: var(--mask-chevron-down);
  mask: var(--mask-chevron-down);
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: transform .3s;
  width: 22px;
}

@media (min-width: 1024px) {
  .p-accordion-01 > .smb-accordion__item__title::before {
    left: 52px;
  }
}

.p-accordion-01 > .smb-accordion__item__control:checked + .smb-accordion__item__title::before {
  transform: translateY(-50%) rotateX(180deg);
}

.p-accordion-01 > .smb-accordion__item__title > .smb-accordion__item__title__label {
  font-weight: 700;
}

.p-accordion-01 > .smb-accordion__item__title > .smb-accordion__item__title__icon {
  display: none;
}

.p-accordion-01 > .smb-accordion__item__body {
  padding: 0 24px 32px 48px;
  position: relative;
}

@media (min-width: 1024px) {
  .p-accordion-01 > .smb-accordion__item__body {
    padding: 0 48px 48px 92px;
  }
}

/* CTA */

.p-cta-01 {
  padding: 72px 20px;
}

@media (min-width: 1024px) {
  .p-cta-01 {
    padding-block: 100px;
  }
}

.p-cta-01__inner {
  background-color: rgba(255, 255, 255, .9);
  border-radius: 40px;
  margin-inline: auto;
  max-width: 1000px !important;
  padding: 72px 16px;
}

@media (min-width: 1024px) {
  .p-cta-01__inner {
    padding-inline: 48px;
  }
}

.p-cta-01__description {
  font-family: 'YuMin', serif;
  font-size: 1.125rem;
  font-weight: 600;
  letter-spacing: 0;
  text-align: center;
}

@media (min-width: 1024px) {
  .p-cta-01__description {
    font-size: 1.25rem;
  }
}

.p-cta-01__list {
  margin-top: 48px !important;
}

@media (min-width: 1024px) {
  .p-cta-01__list {
    margin-top: 72px !important;
  }
}

@media (min-width: 1024px) {
  .p-cta-01__list > .p-list-01 {
    column-gap: 24px;
    flex-direction: row;
  }
}

@media (min-width: 1024px) {
  .p-cta-01__list > .p-list-01 > li {
    flex: 1;
  }
}

.p-cta-02__image > img {
  aspect-ratio: 156 / 85;
  height: auto;
  object-fit: cover;
  width: 100%;
}

@media (min-width: 1024px) {
  .p-cta-02__image > img {
    aspect-ratio: 2560 / 843;
  }
}

.p-cta-02__body {
  background-color: #fff;
  box-shadow: 0px 3px 5px rgba(0, 0, 0, .15);
  padding: 32px 20px;
}

@media (min-width: 1024px) {
  .p-cta-02__body, body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)).p-cta-02__body {
    margin-bottom: -56px;
    margin-left: auto !important;
    margin-right: 0 !important;
    max-width: 91.5% !important;
    padding: 72px;
    position: relative;
    top: -56px;
  }
}

.p-cta-03 {
  padding-top: 80px;
  position: relative;
}

.p-cta-03__image > img {
  aspect-ratio: 780 / 481;
  height: auto;
  object-fit: cover;
  width: 100%;
}

@media (min-width: 1024px) {
  .p-cta-03__image > img {
    aspect-ratio: 1440 / 1520;
  }
}

@media (min-width: 1024px) {
  .p-cta-03__image {
    position: absolute;
    right: 0;
    top: 0;
    width: 60%;
  }
}

.p-cta-03__body {
  background: linear-gradient(90deg, #8491D9, #b7bbda) no-repeat;
  box-shadow: 0px 3px 5px rgba(0, 0, 0, .15);
  padding: 44px 20px;
}

@media (min-width: 1024px) {
  .p-cta-03__body, body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)).p-cta-03__body {
    border-radius: 40px;
    margin-left: 0 !important;
    margin-right: auto !important;
    padding: 100px 64px;
    width: 60%;
  }
}

/* FAQ */

.p-faq-01 {
  border: none;
  padding-block: 0;
}

.p-faq-01 > .smb-faq__item__question {
  align-items: center;
  column-gap: 12px;
  margin-bottom: 0;
}

@media (min-width: 1024px) {
  .p-faq-01 > .smb-faq__item__question {
    column-gap: 20px;
  }
}

.p-faq-01 > .smb-faq__item__question > .smb-faq__item__question__label {
  flex: none;
  font-size: 1.5rem;
  margin-right: 0;
  min-width: 0;
}

.p-faq-01 > .smb-faq__item__answer {
  column-gap: 12px;
  margin-top: 36px;
}

@media (min-width: 1024px) {
  .p-faq-01 > .smb-faq__item__answer {
    column-gap: 20px;
  }
}

.p-faq-01 > .smb-faq__item__answer > .smb-faq__item__answer__label {
  flex: none;
  font-size: 1.5rem;
  margin-right: 0;
  min-width: 0;
}

.p-faq-01 > .smb-faq__item__question > .smb-faq__item__question__label,
.p-faq-01 > .smb-faq__item__answer > .smb-faq__item__answer__label {
  --size: 48px;
  align-items: center;
  border-radius: 50%;
  color: #fff;
  display: flex;
  font-weight: 700;
  height: var(--size);
  justify-content: center;
  width: var(--size);
}

.p-faq-01 > .smb-faq__item__question > .smb-faq__item__question__label {
  background-color: var(--c-accent);
}

.p-faq-01 > .smb-faq__item__answer > .smb-faq__item__answer__label {
  background-color: var(--c-main);
}

/* フッター */

.p-footer__header {
  align-items: center !important;
  column-gap: 24px !important;
  display: flex;
}

.p-footer__header > .wp-block-column {
  flex: none !important;
}

.p-footer__footer {
  gap: 28px;
  display: flex;
  flex-direction: column;
}

@media (min-width: 1024px) {
  .p-footer__footer {
    flex-direction: row;
    justify-content: space-between;
  }
}

.p-footer__footer > .wp-block-column {
  flex: none !important;
}

/* フッターロゴ */

.p-footer-logo > img {
  max-width: 92px;
}

@media (min-width: 1024px) {
  .p-footer-logo > img {
    max-width: 128px;
  }
}

/* フッターメインナビゲーション */

.p-footer-main-nav {
  display: grid !important;
  gap: 56px !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (min-width: 1024px) {
  .p-footer-main-nav {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* メインビジュアル */

.p-hero {
  align-items: flex-start;
  margin-inline: -20px !important;
  min-height: 500px;
  padding: 52px 20px;
}

@media (min-width: 1024px) {
  .p-hero {
    flex-direction: column;
    height: calc(100vh - var(--h-header));
    height: calc(100svh - var(--h-header));
  }
}

@media (min-width: 1024px) {
  [id='wpadminbar'] ~ .l-container .p-hero {
    height: calc(100vh - var(--h-header) - var(--h-wp-admin-bar));
    height: calc(100svh - var(--h-header) - var(--h-wp-admin-bar));
  }
}

.p-hero > .smb-section-with-bgimage__bgimage > img {
  object-position: 68% 0;
}

@media (min-width: 1024px) {
  .p-hero > .smb-section__inner {
    align-items: flex-end;
    flex: 0 0 50%;
    margin-inline: auto;
    width: min(1200px, 100%);
  }
}

.p-hero > .smb-section__inner > .c-container {
  flex: none;
  margin-inline: initial;
  padding-inline: 0;
}

@media (min-width: 1024px) {
  .p-hero > .smb-section__inner > .c-container {
    flex: auto;
    max-width: 1200px;
  }
}

@media (min-width: 1024px) {
  .p-hero > .smb-section__inner > .c-container > .smb-section__contents-wrapper {
    text-align: left;
  }
}

.p-hero > .smb-section__inner > .c-container > .smb-section__contents-wrapper > .smb-section__header > .smb-section__title {
  color: var(--c-text);
  font-family: 'YuMin', serif;
  font-size: 1.75rem !important;
  font-weight: 600;
  letter-spacing: .2em;
  text-align: left;
}

@media (min-width: 1024px) {
  .p-hero > .smb-section__inner > .c-container > .smb-section__contents-wrapper > .smb-section__header > .smb-section__title {
    font-size: 2.75rem !important;
    line-height: 1.36;
  }
}

.p-hero > .smb-section__inner > .c-container > .smb-section__contents-wrapper > .smb-section__body {
  display: none;
}

@media (min-width: 1024px) {
  .p-hero > .smb-section__inner > .c-container > .smb-section__contents-wrapper > .smb-section__body {
    margin-top: 34px;
    padding-top: var(--h-hero-actions);
  }
}

/* メインビジュアル下アクション */

@media (min-width: 1024px) {
  .p-hero-actions {
    left: 0;
    margin-bottom: calc(var(--h-hero-actions) * -1) !important;
    margin-inline: auto;
    max-width: 1200px;
    position: relative;
    top: calc((100vh - var(--h-header)) / -2 + 48px);
    top: calc((100svh - var(--h-header)) / -2 + 48px);
  }

  [id='wpadminbar'] ~ .l-container .p-hero-actions {
    top: calc((100vh - var(--h-header) - var(--h-wp-admin-bar)) / -2 + 48px);
    top: calc((100svh - var(--h-header) - var(--h-wp-admin-bar)) / -2 + 48px);
  }

  .p-hero-actions > .c-button-01 {
    justify-content: flex-start;
    margin-left: initial !important;
    margin-right: initial !important;
    max-width: 100%;
  }
}

/* ヒストリー */

.p-history {
  display: flex;
  flex-direction: column;
  row-gap: 16px !important;
}

@media (min-width: 1024px) {
  .p-history {
    column-gap: 48px !important;
    flex-direction: row;
  }
}

.p-history__year {
  width: 112px;
}

@media (min-width: 1024px) {
  .p-history__year {
    flex: initial !important;
  }
}

.p-history__year > p {
  align-items: center;
  column-gap: 8px;
  display: flex;
  font-weight: 700;
  letter-spacing: 0;
}

.p-history__year > p::after {
  background-color: var(--c-alto);
  content: '';
  flex: 1;
  height: 1px;
}

.p-history__month {
  padding-left: 16px;
}

@media (min-width: 1024px) {
  .p-history__month {
    padding-left: 0;
  }
}

.p-history__month > .smb-information > .smb-information__body {
  display: flex;
  flex-direction: column;
}

.p-history__month > .smb-information > .smb-information__body > .smb-information__item {
  margin-top: 0;
}

.p-history__month > .smb-information > .smb-information__body > .smb-information__item > .c-row {
  column-gap: 20px;
  flex-wrap: nowrap;
  margin: 0 !important;
}

@media (min-width: 1024px) {
  .p-history__month > .smb-information > .smb-information__body > .smb-information__item > .c-row {
    column-gap: 52px;
  }
}

.p-history__month > .smb-information > .smb-information__body > .smb-information__item > .c-row > .c-row__col {
  margin-bottom: 0;
  max-width: none;
  padding: 0;
}

.p-history__month > .smb-information > .smb-information__body > .smb-information__item > .c-row > .c-row__col:first-child {
  flex: none;
}

.p-history__month > .smb-information > .smb-information__body > .smb-information__item > .c-row > .c-row__col:first-child > .smb-information__item__label {
  font-weight: 700;
  letter-spacing: 0;
}

.p-history__month > .smb-information > .smb-information__body > .smb-information__item > .c-row > .c-row__col:last-child {
  flex: initial;
  padding-bottom: 24px;
  padding-left: 28px;
  position: relative;
}

.p-history__month > .smb-information > .smb-information__body > .smb-information__item > .c-row > .c-row__col:last-child::before {
  background-color: var(--c-alto);
  bottom: 0;
  content: '';
  height: 100%;
  left: 6px;
  position: absolute;
  transform: translateX(-50%);
  width: 1px;
}

.p-history__month > .smb-information > .smb-information__body > .smb-information__item:first-child > .c-row > .c-row__col:last-child::before {
  height: calc(100% - .75em);
}

.p-history__month > .smb-information > .smb-information__body > .smb-information__item > .c-row > .c-row__col:last-child::after {
  --size: 12px;
  background-color: var(--c-main);
  border-radius: 50%;
  content: '';
  height: var(--size);
  left: 0;
  position: absolute;
  top: .75em;
  transform: translateY(-50%);
  width: var(--size);
}

/* インタビュー記事へのリンクカード */

.p-link-to-interview-article {
  box-shadow: 0px 3px 5px rgba(0, 0, 0, .15);
  display: flex;
  flex-direction: column;
}

@media (min-width: 1024px) {
  .p-link-to-interview-article {
    height: 100%;
  }
}

.p-link-to-interview-article__image, body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)).p-link-to-interview-article__image {
  flex: none;
  line-height: 0;
  margin-inline: 0 !important;
}

.p-link-to-interview-article__image > img {
  aspect-ratio: 388 / 255;
  object-fit: cover;
  width: 100%;
}

.p-link-to-interview-article__body {
  background-color: #fff;
  display: flex;
  flex: 1;
  flex-direction: column;
  margin-top: 0 !important;
  padding: 24px 16px;
}

@media (min-width: 1024px) {
  .p-link-to-interview-article__body {
    padding: 20px 28px;
  }
}

.p-link-to-interview-article__name, body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)).p-link-to-interview-article__name {
  border: none !important;
  font-family: 'YuMin', serif;
  font-size: 1.75rem;
  font-weight: 600;
  line-height: 1.2;
  margin-bottom: 0 !important;
  margin-inline: 0 !important;
  padding-bottom: 0 !important;
}

.p-link-to-interview-article__occupation, body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)).p-link-to-interview-article__occupation {
  margin-inline: 0 !important;
  margin-top: 4px !important;
}

.p-link-to-interview-article__occupation > p {
  background-color: var(--c-main);
  border-radius: 14px;
  color: #fff;
  display: inline-block !important;
  font-size: .875rem;
  font-weight: 700;
  padding: 2px 24px;
}

.p-link-to-interview-article__comment, body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)).p-link-to-interview-article__comment {
  margin-inline: 0 !important;
  margin-top: 16px !important;
}

.p-link-to-interview-article__action, body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)).p-link-to-interview-article__action {
  align-items: flex-end;
  display: flex;
  flex: 1;
  margin-left: auto !important;
  margin-right: 0 !important;
  margin-top: auto !important;
}

.p-link-to-interview-article__action > .c-link-01 {
  margin-top: 16px;
}

@media (hover: hover) {
  .p-link-to-interview-article__body:has( + .editorskit-block-link:hover) > .p-link-to-interview-article__action > .c-link-01 > a {
    color: var(--c-main);
  }
}

/* リスト */

.p-list-01 {
  display: flex;
  flex-direction: column;
  list-style: none;
  padding-left: 0;
  row-gap: 28px;
}

.p-list-01 > li {
  margin-top: 0 !important;
}

.p-list-01 > li > a {
  font-size: 1.125rem;
  font-weight: 700;
  display: block;
  line-height: 1.33;
  padding-bottom: 10px;
  position: relative;
  text-decoration: none;
  transition: color .3s;
}

.p-list-01 > li > a::before {
  background: linear-gradient(0deg, currentColor 1px, transparent 1px), linear-gradient(45deg, transparent calc(100% - 6px), currentColor calc(100% - 6px));
  clip-path: polygon(0 0, calc(100% - sin(45deg) * 10px) 0, 100% 100%, 0% 100%);
  content: '';
  display: block;
  height: calc(sin(45deg) * 10px);
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
}

.p-list-01 > li > a::after {
  background: linear-gradient(90deg, var(--c-main), var(--c-romantic)) no-repeat;
  bottom: 0;
  content: '';
  height: 2px;
  left: 0;
  position: absolute;
  width: 100%;
}

@media (hover: hover) {
  .p-list-01 > li > a:hover {
    color: var(--c-main);
  }
}

.p-list-02 {
  display: flex;
  flex-direction: column;
  list-style: none;
  padding-left: 0;
  row-gap: 12px;
}

.p-list-02 > li {
  margin-top: 0 !important;
}

.p-list-02 > li > a {
  align-items: center;
  border-bottom: 1px dotted var(--c-moutain-mist);
  column-gap: 16px;
  display: flex;
  justify-content: space-between;
  padding-bottom: 8px;
  text-decoration: none;
  transition: color .3s, font-weight .3s;
}

.p-list-02 > li > a::after {
  background: linear-gradient(0deg, currentColor 1px, transparent 1px), linear-gradient(45deg, transparent calc(100% - 6px), currentColor calc(100% - 6px));
  clip-path: polygon(0 0, calc(100% - sin(45deg) * 10px) 0, 100% 100%, 0% 100%);
  content: '';
  display: block;
  height: calc(sin(45deg) * 10px);
  width: 40px;
}

@media (hover: hover) {
  .p-list-02 > li > a:hover {
    color: var(--c-accent);
    font-weight: 700;
  }
}

/* ページヘッダー */

.p-page-header-01 {
  height: 224px;
  min-height: 0;
}

.p-page-header-01 > .wp-block-cover__image-background {
  object-fit: cover;
  width: 100%;
}

.p-page-header-01__inner {
  background: rgba(255, 255, 255, .9);
  border-radius: 20px;
  padding: 20px;
  width: min(384px, 100%);
}

.p-page-header-01__title {
  color: var(--c-accent) !important;
  font-family: 'YuMin', serif;
  font-size: 1.75rem;
  font-weight: 600;
  letter-spacing: 1.8px;
  line-height: 1;
  text-align: center;
}

@media (min-width: 1024px) {
  .p-page-header-01__title {
    font-size: 2.25rem;
  }
}

.p-page-header-01__subtitle {
  font-family: 'YuMin', serif;
  font-weight: 800;
  margin-top: 0 !important;
  text-align: center;
}

@media (min-width: 1024px) {
  .p-page-header-01__subtitle {
    font-size: 1.25rem;
    margin-top: 4px !important;
  }
}

.p-page-header-02 {
  --main-color-width: 80px;
  --gray-color-width: calc((100% - var(--main-color-width)) / 2);
  background: linear-gradient(90deg, var(--c-alto) var(--gray-color-width), var(--c-main) var(--gray-color-width) calc(var(--gray-color-width) + var(--main-color-width)), var(--c-alto) calc(var(--gray-color-width) + var(--main-color-width))) no-repeat bottom left / 100% 1px;
  padding-bottom: 28px;
}

.p-page-header-02__title {
  font-family: 'YuMin', serif;
  font-size: 1.75rem;
  font-weight: 600;
  letter-spacing: 1.8px;
  line-height: 1;
  text-align: center;
}

@media (min-width: 1024px) {
  .p-page-header-02__title {
    font-size: 2.25rem;
  }
}

.p-page-header-02__subtitle {
  color: var(--c-main);
  font-family: 'YuMin', serif;
  font-weight: 800;
  margin-top: 0 !important;
  text-align: center;
}

@media (min-width: 1024px) {
  .p-page-header-02__subtitle {
    font-size: 1.25rem;
    margin-top: 4px !important;
  }
}

/* テーブル */

@media (min-width: 1024px) {
  .p-table-01 {
    overflow: hidden;
  }
}

@media (min-width: 1024px) {
  .p-table-01 > table {
    border-collapse: separate;
    border-spacing: 20px 8px;
    margin: -8px -20px;
    width: calc(100% + 40px);
  }
}

.p-table-01 td {
  display: block;
  text-align: center;
}

@media (min-width: 1024px) {
  .p-table-01 td {
    display: table-cell;
    text-align: left;
  }
}

.p-table-01 td:first-child {
  background-color: var(--c-sub);
  border: none;
  font-weight: 700;
  padding: 16px;
}

@media (min-width: 1024px) {
  .p-table-01 td:first-child {
    padding: 24px 28px;
    width: 35.6%;
  }
}

.p-table-01 tr:not(:first-child) > td:first-child {
  margin-top: 20px;
}

.p-table-01 td:last-child {
  border: 1px solid var(--c-alto);
  padding: 24px;
}

@media (min-width: 1024px) {
  .p-table-01 td:last-child {
    padding: 24px 32px;
  }
}

/**
 * 複合ユーティリティ
 */

.u-text-sm, .u-text-sm > a {
  font-size: 0.875rem !important; /* 14px */
  line-height: 1.25rem !important; /* 20px */
}

.u-text-base {
  font-size: 1rem !important; /* 16px */
  line-height: 1.5rem !important; /* 24px */
}

.u-text-xl {
  font-size: 1.25rem !important; /* 20px */
  line-height: 1.75rem !important; /* 28px */
}

.u-text-2xl {
  font-size: 1.5rem !important; /* 24px */
  line-height: 2rem !important; /* 32px */
}

.u-text-\[1\.75rem\] {
  font-size: 1.75rem !important; /* 28px */
  line-height: 2.25rem !important; /* 36px */
}

@media (min-width: 1024px) {
  .lg\:u-text-2xl {
    font-size: 1.5rem !important; /* 24px */
    line-height: 2rem !important; /* 32px */
  }

  .lg\:u-text-\[1\.75rem\] {
    font-size: 1.75rem !important; /* 28px */
    line-height: 2.25rem !important; /* 36px */
  }

  .lg\:u-text-\[2rem\] {
    font-size: 2rem !important; /* 32px */
    line-height: 2.25rem !important; /* 36px */
  }
}

/**
 * 単一ユーティリティ
 */

.u-basis-6 {
  flex-basis: 24px !important;
}

.u-basis-8 {
  flex-basis: 32px !important;
}

.u-bg-\[linear-gradient\(90deg\,var\(--c-main\)\,var\(--c-romantic\)\)_no-repeat\] {
  background: linear-gradient(90deg, var(--c-main), var(--c-romantic)) no-repeat !important;
}

.u-bg-accent {
  background-color: var(--c-accent) !important;
}

.u-bg-alto {
  background-color: var(--c-alto) !important;
}

.u-bg-main {
  background-color: var(--c-main) !important;
}

.u-bg-sub {
  background-color: var(--c-sub) !important;
}

.u-bg-transparent {
  background-color: transparent !important;
}

.u-bg-white {
  background-color: rgb(255 255 255) !important;
}

.u-border {
  border-width: 1px !important;
}

.u-border-alto {
  border-color: var(--c-alto) !important;
}

.u-border-b-0 {
  border-bottom-width: 0 !important;
}

.u-border-b {
  border-bottom-width: 1px !important;
}

.u-border-current {
  border-color: currentColor !important;
}

.u-border-none {
  border-style: none !important;
}

.u-border-solid {
  border-style: solid !important;
}

.u-border-sub {
  border-color: var(--c-sub) !important;
}

.u-border-t-0 {
  border-top-width: 0 !important;
}

.u-border-x-0 {
  border-inline-width: 0 !important;
}

.u-flex {
  display: flex !important;
}

.u-flex-\[0_0_32px\] {
  flex: 0 0 32px !important;
}

.u-flex-\[1_0_80px\] {
  flex: 1 0 80px !important;
}

.u-flex-auto {
  flex: auto !important;
}

.u-flex-initial {
  flex: 0 1 auto !important;
}

.u-flex-col {
  flex-direction: column !important;
}

.u-flex-none {
  flex: none !important;
}

.u-flex-wrap, .wp-block-columns.is-not-stacked-on-mobile.u-flex-wrap {
  flex-wrap: wrap !important;
}

.u-font-\[\'YuMin\'\] {
  font-family: 'YuMin', serif !important;
}

.u-font-normal {
  font-weight: 400 !important;
}

.u-font-semibold {
  font-weight: 600 !important;
}

.u-font-bold {
  font-weight: 700 !important;
}

.u-font-extrabold {
  font-weight: 800 !important;
}

.u-gap-0 {
  gap: 0 !important;
}

.u-gap-5 {
  gap: 20px !important;
}

.u-gap-x-2 {
  column-gap: 8px !important;
}

.u-gap-x-3 {
  column-gap: 12px !important;
}

.u-gap-x-6 {
  column-gap: 24px !important;
}

.u-gap-x-10 {
  column-gap: 40px !important;
}

.u-gap-y-1 {
  row-gap: 4px !important;
}

.u-gap-y-2 {
  row-gap: 8px !important;
}

.u-gap-y-5 {
  row-gap: 20px !important;
}

.u-gap-y-7 {
  row-gap: 28px !important;
}

.u-gap-y-9 {
  row-gap: 36px !important;
}

.u-gap-y-12 {
  row-gap: 48px !important;
}

.u-gap-y-16 {
  row-gap: 64px !important;
}

.u-gap-y-20 {
  row-gap: 80px !important;
}

.u-grow-0 {
  flex-grow: 0 !important;
}

.u-h-px {
  height: 1px !important;
}

.u-inline-block {
  display: inline-block !important;
}

.u-items-center {
  align-items: center !important;
}

.u-items-start {
  align-items: flex-start !important;
}

.u-justify-center {
  justify-content: center !important;
}

.u-leading-\[1\.7\] {
  line-height: 1.7 !important;
}

.u-leading-9 {
  line-height: 2.25rem !important; /* 36px */
}

.u-m-0, body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)).u-m-0 {
  margin: 0 !important;
}

.u-max-w-9 {
  max-width: 36px !important;
}

.u-max-w-53 {
  max-width: 212px !important;
}

.u-max-w-56 {
  max-width: 224px !important;
}

.u-max-w-72 {
  max-width: 288px !important;
}

.u-max-w-200 {
  max-width: 800px !important;
}

.u-max-w-220 {
  max-width: 880px !important;
}

.u-max-w-none {
  max-width: none !important;
}

.u-mb-0 {
  margin-bottom: 0 !important;
}

.u-mt-0 {
  margin-top: 0 !important;
}

.u-mt-1 {
  margin-top: 4px !important;
}

.u-mt-2 {
  margin-top: 8px !important;
}

.u-mt-3 {
  margin-top: 12px !important;
}

.u-mt-4 {
  margin-top: 16px !important;
}

.u-mt-5 {
  margin-top: 20px !important;
}

.u-mt-6 {
  margin-top: 24px !important;
}

.u-mt-7 {
  margin-top: 28px !important;
}

.u-mt-8 {
  margin-top: 32px !important;
}

.u-mt-9 {
  margin-top: 36px !important;
}

.u-mt-10 {
  margin-top: 40px !important;
}

.u-mt-11 {
  margin-top: 44px !important;
}

.u-mt-12 {
  margin-top: 48px !important;
}

.u-mt-14 {
  margin-top: 56px !important;
}

.u-mt-15 {
  margin-top: 60px !important;
}

.u-mt-16 {
  margin-top: 64px !important;
}

.u-mt-20 {
  margin-top: 80px !important;
}

.u-mt-22 {
  margin-top: 88px !important;
}

.u-mt-25 {
  margin-top: 100px !important;
}

.u-mt-28 {
  margin-top: 112px !important;
}

.u-mt-30 {
  margin-top: 120px !important;
}

.u-mt-38 {
  margin-top: 152px !important;
}

.u-mt-40 {
  margin-top: 160px !important;
}

.u-mt-50 {
  margin-top: 200px !important;
}

.u-mt-auto {
  margin-top: auto !important;
}

.u--mx-5 {
  margin-inline: -20px !important;
}

.u-mx-0, body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)).u-mx-0 {
  margin-inline: 0 !important;
}

.u-no-underline, .u-no-underline > a {
  text-decoration-line: none !important;
}

.u-p-0 {
  padding: 0 !important;
}

.u-p-5 {
  padding: 20px !important;
}

.u-p-6 {
  padding: 24px !important;
}

.u-pb-0 {
  padding-bottom: 0 !important;
}

.u-pb-3 {
  padding-bottom: 12px !important;
}

.u-pb-9 {
  padding-bottom: 36px !important;
}

.u-pl-8 {
  padding-left: 32px !important;
}

.u-pr-9 {
  padding-right: 36px !important;
}

.u-pt-4 {
  padding-top: 16px !important;
}

.u-px-2 {
  padding-inline: 8px !important;
}

.u-px-3 {
  padding-inline: 12px !important;
}

.u-px-4 {
  padding-inline: 16px !important;
}

.u-px-5 {
  padding-inline: 20px !important;
}

.u-px-6 {
  padding-inline: 24px !important;
}

.u-py-6 {
  padding-block: 24px !important;
}

.u-py-8 {
  padding-block: 32px !important;
}

.u-py-10 {
  padding-block: 40px !important;
}

.u-py-11 {
  padding-block: 44px !important;
}

.u-rounded-\[20px\] {
  border-radius: 20px !important;
}

.u-rounded-2xl {
  border-radius: 16px !important;
}

.u-rounded-t-\[20px\] {
  border-top-left-radius: 20px !important;
  border-top-right-radius: 20px !important;
}

.u-shadow-\[0_4px_4px_rgba\(0\,0\,0\,\.25\)\] {
  box-shadow: 0 4px 4px rgba(0, 0, 0, .25) !important;
}

.u-shadow-\[36px_36px_var\(--c-sub\)\] {
  box-shadow: 36px 36px var(--c-sub) !important;
}

.u-shrink-0 {
  flex-shrink: 0 !important;
}

.u-text-accent {
  color: var(--c-accent) !important;
}

.u-text-center {
  text-align: center !important;
}

.u-text-white, .u-text-white > a {
  color: rgb(255 255 255) !important;
}

.u-w-10 {
  width: 40px !important;
}

.u-w-full {
  width: 100% !important;
}

@media (min-width: 1024px) {
  .lg\:u-absolute {
    position: absolute !important;
  }

  .lg\:u-basis-16 {
    flex-basis: 64px !important;
  }

  .lg\:u-flex-\[0_0_29\%\] {
    flex: 0 0 29% !important;
  }

  .lg\:u-flex-\[0_0_30\%\] {
    flex: 0 0 30% !important;
  }

  .lg\:u-flex-\[0_0_39\%\] {
    flex: 0 0 39% !important;
  }

  .lg\:u-flex-\[0_0_59\%\] {
    flex: 0 0 59% !important;
  }

  .lg\:u-flex-\[0_0_56px\] {
    flex: 0 0 56px !important;
  }

  .lg\:u-flex-\[0_0_120px\] {
    flex: 0 0 120px !important;
  }

  .lg\:u-flex-\[0_0_285px\] {
    flex: 0 0 285px !important;
  }

  .lg\:u-flex-1, .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column.lg\:u-flex-1 {
    flex: 1 1 0% !important;
  }

  .lg\:u-flex-2, .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column.lg\:u-flex-2 {
    flex: 2 1 0% !important;
  }

  .lg\:u-flex-3, .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column.lg\:u-flex-3 {
    flex: 3 1 0% !important;
  }

  .lg\:u-flex-11, .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column.lg\:u-flex-11 {
    flex: 11 1 0% !important;
  }

  .lg\:u-flex-14, .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column.lg\:u-flex-14 {
    flex: 14 1 0% !important;
  }

  .lg\:u-flex-21, .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column.lg\:u-flex-21 {
    flex: 21 1 0% !important;
  }

  .lg\:u-flex-23, .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column.lg\:u-flex-23 {
    flex: 23 1 0% !important;
  }

  .lg\:u-flex-27, .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column.lg\:u-flex-27 {
    flex: 27 1 0% !important;
  }

  .lg\:u-flex-29, .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column.lg\:u-flex-29 {
    flex: 29 1 0% !important;
  }

  .lg\:u-flex-none {
    flex: none !important;
  }

  .lg\:u-flex-row {
    flex-direction: row !important;
  }

  .lg\:u-gap-x-3 {
    column-gap: 12px !important;
  }

  .lg\:u-gap-x-5 {
    column-gap: 20px !important;
  }

  .lg\:u-gap-x-8 {
    column-gap: 32px !important;
  }

  .lg\:u-gap-x-14 {
    column-gap: 56px !important;
  }

  .lg\:u-gap-x-16 {
    column-gap: 64px !important;
  }

  .lg\:u-gap-x-18 {
    column-gap: 72px !important;
  }

  .lg\:u-gap-x-23 {
    column-gap: 92px !important;
  }

  .lg\:u-gap-x-24 {
    column-gap: 96px !important;
  }

  .lg\:u-gap-x-30 {
    column-gap: 120px !important;
  }

  .lg\:u-gap-y-10 {
    row-gap: 40px !important;
  }

  .lg\:u-gap-y-16 {
    row-gap: 64px !important;
  }

  .lg\:u-gap-y-18 {
    row-gap: 72px !important;
  }

  .lg\:u-h-full {
    height: 100% !important;
  }

  .lg\:u-inline-block {
    display: inline-block !important;
  }

  .lg\:u-items-center {
    align-items: center !important;
  }

  .lg\:u-justify-start {
    justify-content: flex-start !important;
  }

  .lg\:u-justify-end {
    justify-content: flex-end !important;
  }

  .lg\:u-leading-none {
    line-height: 1 !important;
  }

  .lg\:u-left-0 {
    left: 0 !important;
  }

  .lg\:u-max-w-\[var\(--wp--style--global--content-size\)\] {
    max-width: var(--wp--style--global--content-size) !important;
  }

  .lg\:u-max-w-64 {
    max-width: 256px !important;
  }

  .lg\:u-max-w-96 {
    max-width: 384px !important;
  }

  .lg\:u-max-w-200 {
    max-width: 800px !important;
  }

  .lg\:u-max-w-300 {
    max-width: 1200px !important;
  }

  .lg\:u-max-w-none {
    max-width: none !important;
  }

  .lg\:u-ml-8 {
    margin-left: 32px !important;
  }

  .lg\:u-ml-18 {
    margin-left: 72px !important;
  }

  .lg\:u-ml-auto, body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)).lg\:u-ml-auto {
    margin-left: auto !important;
  }

  .lg\:u-mr-0, body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)).lg\:u-mr-0 {
    margin-right: 0 !important;
  }

  .lg\:u--mt-2 {
    margin-top: -8px !important;
  }

  .lg\:u-mt-0 {
    margin-top: 0 !important;
  }

  .lg\:u-mt-2 {
    margin-top: 8px !important;
  }

  .lg\:u-mt-4 {
    margin-top: 16px !important;
  }

  .lg\:u-mt-5 {
    margin-top: 20px !important;
  }

  .lg\:u-mt-6 {
    margin-top: 24px !important;
  }

  .lg\:u-mt-7 {
    margin-top: 28px !important;
  }

  .lg\:u-mt-8 {
    margin-top: 32px !important;
  }

  .lg\:u-mt-9 {
    margin-top: 36px !important;
  }

  .lg\:u-mt-10 {
    margin-top: 40px !important;
  }

  .lg\:u-mt-12 {
    margin-top: 48px !important;
  }

  .lg\:u-mt-14 {
    margin-top: 56px !important;
  }

  .lg\:u-mt-16 {
    margin-top: 64px !important;
  }

  .lg\:u-mt-20 {
    margin-top: 80px !important;
  }

  .lg\:u-mt-22 {
    margin-top: 88px !important;
  }

  .lg\:u-mt-25 {
    margin-top: 100px !important;
  }

  .lg\:u-mt-36 {
    margin-top: 144px !important;
  }

  .lg\:u-mt-40 {
    margin-top: 160px !important;
  }

  .lg\:u-mt-42 {
    margin-top: 168px !important;
  }

  .lg\:u-mt-43 {
    margin-top: 172px !important;
  }

  .lg\:u-mt-49 {
    margin-top: 196px !important;
  }

  .lg\:u-mt-50 {
    margin-top: 200px !important;
  }

  .lg\:u-mt-58 {
    margin-top: 232px !important;
  }

  .lg\:u-mt-64 {
    margin-top: 256px !important;
  }

  .lg\:u-mt-74 {
    margin-top: 296px !important;
  }

  .lg\:u-mt-auto {
    margin-top: auto !important;
  }

  .lg\:u-mx-0 {
    margin-inline: 0 !important;
  }

  .lg\:u-mx-auto {
    margin-inline: auto !important;
  }

  .lg\:u-p-7 {
    padding: 28px !important;
  }

  .lg\:u-pb-3 {
    padding-bottom: 12px !important;
  }

  .lg\:u-pb-12 {
    padding-bottom: 48px !important;
  }

  .lg\:u-pl-6 {
    padding-left: 24px !important;
  }

  .lg\:u-pl-25 {
    padding-left: 100px !important;
  }

  .lg\:u-pl-34 {
    padding-left: 136px !important;
  }

  .lg\:u-pr-6 {
    padding-right: 24px !important;
  }

  .lg\:u-pr-12 {
    padding-right: 48px !important;
  }

  .lg\:u-pr-25 {
    padding-right: 100px !important;
  }

  .lg\:u-pt-5 {
    padding-top: 20px !important;
  }

  .lg\:u-pt-14 {
    padding-top: 56px !important;
  }

  .lg\:u-px-8 {
    padding-inline: 32px !important;
  }

  .lg\:u-px-10 {
    padding-inline: 40px !important;
  }

  .lg\:u-px-11 {
    padding-inline: 44px !important;
  }

  .lg\:u-px-15 {
    padding-inline: 60px !important;
  }

  .lg\:u-px-16 {
    padding-inline: 64px !important;
  }

  .lg\:u-px-18 {
    padding-inline: 72px !important;
  }

  .lg\:u-px-20 {
    padding-inline: 80px !important;
  }

  .lg\:u-py-6 {
    padding-block: 24px !important;
  }

  .lg\:u-py-8 {
    padding-block: 32px !important;
  }

  .lg\:u-py-14 {
    padding-block: 56px !important;
  }

  .lg\:u-relative {
    position: relative !important;
  }

  .lg\:u-right-0 {
    right: 0 !important;
  }

  .lg\:u-rounded-\[20px\] {
    border-radius: 20px !important;
  }

  .lg\:u-self-center {
    align-self: center !important;
  }

  .lg\:u-shadow-\[48px_48px_var\(--c-sub\)\] {
    box-shadow: 48px 48px var(--c-sub) !important;
  }

  .lg\:u-text-left {
    text-align: left !important;
  }

  .lg\:u-text-right {
    text-align: right !important;
  }

  .lg\:u-top-0 {
    top: 0 !important;
  }

  .lg\:u-w-\[49\%\] {
    width: 49% !important;
  }
}
