@charset "UTF-8";
/* _variables.scss */
:root {
  --background-color: #f9fbf7;
  --primary-color: #4b824e;
  --primary-medium: #d9f1cf;
  --primary-light: #d4e2c7;
  --primary-dark: #2d452e;
  --secondary-color: #5f683c;
  --tertiary-color: #a3d481;
  --black: #1a1a1a;
  --brown: #776d6f;
  --white: #ffffff;
  --gray: #d9d9d9;
  --gray-dark: #bfbfbf;
  --accent-orange: #f39800;
  --gray-deep: #999999;
  --orange-bg: #feeeb3;
  --orange-text: #8a620b;
  --wb-purple: rgba(160, 140, 255, 0.9019607843);
  --wb-red: rgba(240, 128, 128, 0.8509803922);
  --wb-blue: rgba(174, 205, 255, 0.8509803922);
  --wb-green: rgba(126, 228, 164, 0.8509803922);
  --wb-gray: rgba(190, 190, 190, 0.8509803922);
  --wb-orange: rgba(255, 225, 150, 0.8509803922);
  --border-primary: #d4e2c7;
  --table-header-bg: #eef3e9;
  --lp-bg-pink: #ffeaea;
  --lp-border-pink: #ffcccc;
  --lp-bg-blue: #e3f2fd;
  --lp-border-blue: #cce5ff;
  --lp-bg-green: #e8f5e9;
  --lp-border-green: #c6e9cd;
  --lp-bg-orange: #fff4e5;
  --lp-border-orange: #f7c699;
  --lp-accent: #e67e22;
  --lp-arrow: #d4af37;
  --lp-divider: #eeeeee;
  --lp-text-main: #222222;
  --lp-text-sub: #555555;
  --step-yellow: #fffde7;
  --step-amber: #ffecb3;
  --step-pink: #fce4ec;
  --step-blue: #e3f2fd;
  --step-green: #e8f5e9;
  --step-border: #e0e0e0;
  --step-border-light: #eeeeee;
  --step-text-skill: #856404;
  --card-bg: #ffffff;
}

@media (prefers-color-scheme: dark) {
  :root {
    --background-color: #1a1a1a;
    --primary-color: #649167;
    --primary-medium: #2d452e;
    --primary-light: #445945;
    --primary-light-opacity: #4a54424d;
    --secondary-color: #9da86f;
    --black: #eeeeee;
    --brown: #b5aead;
    --white: #2e2e2e;
    --gray: #4a4a4a;
    --gray-dark: #666666;
    --accent-orange: #f39800;
    --border-primary: #eeeeee;
    --table-header-bg: #234107;
    --gray-deep: #999999;
    --wb-purple: #a08cffd9;
    --wb-red: #f08080d9;
    --wb-blue: #aecdffd9;
    --wb-green: #7ee4a4d9;
    --wb-gray: #bebebed9;
    --wb-orange: #ffe196d9;
    --lp-bg-pink: #ff646433;
    --lp-bg-blue: #1e90ff33;
    --lp-bg-green: #32cd3233;
    --lp-bg-orange: #ffa50033;
    --lp-accent: #ff9f43;
    --lp-arrow: #f1c40f;
    --lp-divider: #444444;
    --lp-text-main: #eeeeee;
    --lp-text-sub: #cccccc;
    --step-yellow: #fffde733;
    --step-amber: #ffecb333;
    --step-pink: #fce4ec33;
    --step-blue: #e3f2fd33;
    --step-green: #e8f5e933;
    --step-border: #444444;
    --step-border-light: #333333;
    --step-text-skill: #c09005;
    --card-bg: #2a2a2a;
  }
}
/* _mixins.scss 全文 */
:root {
  --base-font-size: 112.5%;
}
@media screen and (max-width: 601px) {
  :root {
    --base-font-size: 100%;
  }
}

html {
  font-size: var(--base-font-size);
}

h1.wp-block-heading {
  font-size: 2.2rem;
  color: var(--secondary-color);
  margin-top: 2.8rem;
  margin-bottom: 2.2rem;
  text-align: center;
}
@media screen and (max-width: 601px) {
  h1.wp-block-heading {
    font-size: 1.875rem;
    margin-bottom: 2rem;
  }
}
h1.wp-block-heading + .wp-block-group, h1.wp-block-heading + p {
  width: 75%;
  margin: auto;
}
@media screen and (max-width: 834px) {
  h1.wp-block-heading + .wp-block-group, h1.wp-block-heading + p {
    width: unset;
    margin: 16px;
  }
}

h1.entry-title {
  font-size: 2.2rem;
  color: var(--secondary-color);
  margin-top: 2.8rem;
  margin-bottom: 2.2rem;
  text-align: center;
}
@media screen and (max-width: 601px) {
  h1.entry-title {
    font-size: 1.875rem;
    margin-bottom: 2rem;
  }
}

h2.wp-block-heading {
  font-size: 1.4rem;
  background-color: var(--background-color);
  color: var(--black);
  border: none;
  border-left: 8px solid var(--primary-color);
  border-bottom: 2px solid var(--primary-color);
  padding: 0.6rem 1rem;
  padding: 10px 0 10px 20px;
  text-align: left;
  width: 100%;
  margin-block: 1.5rem;
}
@media screen and (max-width: 601px) {
  h2.wp-block-heading {
    font-size: 1.3rem;
  }
}

h3.wp-block-heading {
  font-size: 1.2rem;
  background-color: var(--primary-color);
  color: var(--background-color);
  border: none;
  margin-block: 1.5rem;
}
@media screen and (max-width: 601px) {
  h3.wp-block-heading {
    font-size: 1.25rem;
  }
}

h4.wp-block-heading {
  font-size: 1.15rem;
  background-color: var(--white);
  color: var(--secondary-color);
  padding: 0.5rem 0.8rem;
  border: 1px solid #d4e2c7;
  border-left: 5px solid var(--primary-color);
  margin-bottom: 1.2rem;
  font-weight: bold;
  text-align: left;
}
@media screen and (max-width: 601px) {
  h4.wp-block-heading {
    font-size: 1.1rem;
  }
}

h5.wp-block-heading {
  display: flex;
  align-items: center;
  font-size: 1.05rem;
  color: var(--black);
  font-weight: bold;
  margin-bottom: 1rem;
}
h5.wp-block-heading::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-right: 0.5rem;
  background-color: var(--primary-color);
  border-radius: 2px;
  flex-shrink: 0;
}

body {
  font-size: 1rem !important;
  background-color: var(--background-color);
  -webkit-font-smoothing: antialiased; /* macOS/iOSで劇的に綺麗になります */
  -moz-osx-font-smoothing: grayscale; /* Firefox用 */
  text-rendering: optimizeLegibility; /* 読みやすさを優先して描画 */
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.004);
}
@media screen and (max-width: 1023px) {
  body {
    margin-top: 0px;
  }
}

content {
  background-color: var(--background-color);
}

/*ヘッダーを固定にしたことでコンテンツと被ってしまったため調整*/
.content {
  margin-top: 160px;
}
@media screen and (max-width: 1023px) {
  .content {
    margin-top: 85px;
  }
}
@media screen and (max-width: 834px) {
  .content {
    margin-top: 160px;
  }
}
@media screen and (max-width: 601px) {
  .content {
    margin-top: 120px;
  }
}

main {
  background-color: var(--background-color);
}

header {
  background-color: var(--background-color);
}

footer {
  background-color: var(--background-color);
}

.navi-in ul li a:hover {
  background-color: var(--background-color);
}

.content-in {
  background-color: var(--background-color);
}

main.main {
  padding: 0px 24px;
  background-color: var(--background-color);
}
main.main .entry-content {
  margin-top: 0;
}

#breadcrumb {
  color: var(--black);
}
#breadcrumb.breadcrumb a {
  color: var(--black);
}
#breadcrumb .breadcrumb-home span.fa-home,
#breadcrumb .breadcrumb-home span.fa-file-o,
#breadcrumb .breadcrumb-item span.fa-home,
#breadcrumb .breadcrumb-item span.fa-file-o {
  display: none;
}

:is(h1, h2, h3) + p {
  margin: 16px;
}

.wp-block-group {
  margin-inline: 16px;
  margin-bottom: 32px;
  padding-bottom: 2rem;
}
@media screen and (max-width: 601px) {
  .wp-block-group {
    padding-bottom: 1rem;
  }
}
.wp-block-group .wp-block-group {
  margin: 0;
}

@media screen and (max-width: 601px) {
  .is-large-text .wp-block-group {
    margin-inline: 0.5rem;
  }
}

.wp-block-cocoon-blocks-button-1 {
  display: flex;
  justify-content: center;
  margin: 2rem 0;
}

div.wp-block-button a.wp-block-button__link.wp-element-button,
.wp-block-cocoon-blocks-button-1 a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1.2rem 3.5rem;
  font-size: 1rem;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  cursor: pointer;
  border: none;
  text-decoration: none;
  transition: all 0.2s ease;
  max-width: 320px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  background-color: var(--primary-color);
  color: #fff;
  border-radius: 60px;
  box-shadow: 0 4px 0 rgba(0, 0, 0, 0.2);
}
div.wp-block-button a.wp-block-button__link.wp-element-button:hover,
.wp-block-cocoon-blocks-button-1 a:hover {
  transform: translateY(2px);
  box-shadow: 0 2px 0 rgba(0, 0, 0, 0.2);
  opacity: 0.9;
  background-color: var(--primary-color);
  color: var(--white);
}
div.wp-block-button a.wp-block-button__link.wp-element-button:active,
.wp-block-cocoon-blocks-button-1 a:active {
  transform: translateY(4px);
  box-shadow: 0 0 0 rgba(0, 0, 0, 0.2);
}

.wp-block-cocoon-blocks-button-1.secondary-btn a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1.2rem 2rem;
  font-size: 1rem;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  cursor: pointer;
  border: 2px solid var(--primary-color);
  text-decoration: none;
  color: var(--primary-color);
  background-color: var(--white);
  border-radius: 60px;
  box-shadow: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.wp-block-cocoon-blocks-button-1.secondary-btn a:hover {
  background-color: var(--primary-medium);
}

@media screen and (max-width: 601px) {
  .hidden-on-mobile {
    display: none !important;
  }
}

@media screen and (min-width: 601.02px) {
  .hidden-on-desktop {
    display: none !important;
  }
}

.show-from-ltablet {
  display: block !important;
}
@media screen and (max-width: 834px) {
  .show-from-ltablet {
    display: none !important;
  }
}

.show-until-mtablet {
  display: none !important;
}
@media screen and (max-width: 834px) {
  .show-until-mtablet {
    display: block !important;
  }
}

.link,
.anker-link {
  color: var(--primary-color);
}

.link::after {
  content: " \f08e";
  font-family: FontAwesome;
  color: inherit;
}

@media screen and (max-width: 1023px) {
  .anchor-padding {
    scroll-margin-top: -100px;
  }
}

/* --- 全体設定 --- */
html {
  scroll-padding-top: 200px; /* ヘッダーの高さ分 */
  scroll-behavior: smooth;
}

.is-large-text {
  /* 本文などは 16px * 1.25 = 20px 相当 */
  font-size: 1.25rem !important;
  line-height: 1.6 !important; /* 文字拡大時は行間も広げないと読みづらいため */
}
.is-large-text .content-in {
  font-size: 1.25rem;
}
.is-large-text .content-in .main {
  font-size: 1.25rem !important;
}

/* --- ヘッダー部分 --- */
/* 110% → 1.1rem (約17.6px) */
.is-large-text #header {
  font-size: 101% !important;
}

.is-large-text .item-label,
.is-large-text .tagline {
  font-size: 1.15rem !important;
}
@media screen and (max-width: 1023px) {
  .is-large-text .item-label,
  .is-large-text .tagline {
    font-size: 20px !important;
  }
}

/* --- UIパーツ（ボタン・スイッチ） --- */
/* 18px → 1.125rem */
/* --- 特定ページ固有の調整 --- */
/* 16px (注釈) → 1rem */
.is-large-text .fz-12px {
  font-size: 1rem;
}

/* 27px (FAQ) → 1.6875rem */
.is-large-text .faq-question-content {
  font-size: 1.6875rem;
}

/* 20px (ボタン) → 1.25rem */
.is-large-text .entry-content .snow-monkey-form .smf-action .smf-button-control__control,
.is-large-text a.btn {
  font-size: 1.25rem;
  max-width: 355px;
}
@media screen and (max-width: 601px) {
  .is-large-text .entry-content .snow-monkey-form .smf-action .smf-button-control__control,
  .is-large-text a.btn {
    max-width: 340px;
  }
}

/*h1*/
.is-large-text h1.wp-block-heading,
.is-large-text h1.entry-title {
  font-size: 2.45rem;
}
@media screen and (max-width: 601px) {
  .is-large-text h1.wp-block-heading,
  .is-large-text h1.entry-title {
    font-size: 2rem;
  }
}

@media screen and (max-width: 601px) {
  .is-large-text .entry-content .wp-block-cover .wp-block-cover-is-layout-flow .fv-text-main {
    font-size: 1.745rem;
  }
}

/*h2*/
.is-large-text .entry-content .interview-container .interview-item h2,
.is-large-text h2.wp-block-heading {
  font-size: 1.65rem;
}
@media screen and (max-width: 601px) {
  .is-large-text .entry-content .interview-container .interview-item h2,
  .is-large-text h2.wp-block-heading {
    font-size: 1.58rem;
    padding-left: 15px;
  }
}

/*h3*/
.is-large-text .wp-block-heading,
.is-large-text .wp-block-group.split-layout h3.wp-block-heading.target-audience-section,
.is-large-text .wp-block-group.is-style-white-card .white-card-title,
.is-large-text h3 {
  font-size: 1.45rem;
}

/*h4*/
.is-large-text h4.wp-block-heading {
  font-size: 1.4rem;
}

/*h5*/
.is-large-text h5.wp-block-heading,
.is-large-text .lifeplan-system-container .lp-card-title,
.is-large-text .lifeplan-system-container .lp-goal-title {
  font-size: 1.35rem;
}

/*就労移行支援ページstep1ご相談～契約のタイトル*/
.is-large-text .timeline-item-content {
  padding-top: 0.5em;
}
.is-large-text .timeline-item-content .timeline-item-title {
  font-size: 1.35rem;
}

/* table内 */
.is-large-text .wp-block-table.is-style-regular table td,
.is-large-text .wp-block-table.location table td {
  font-size: 1.2rem;
  line-height: 1.1;
}

/*アクセスページのリンクの縦幅調整*/
.is-large-text .entry-content .wp-block-table.location table td a {
  line-height: 2;
}

/* tableの（注） */
.is-large-text .annotation-block .annotation,
.is-large-text td .annotation,
.is-large-text .has-text-align-left.annotation,
.is-large-text .wp-block-group .bbq-image figcaption {
  font-size: 0.9rem;
}

/*カード内,カリキュラムの表*/
.is-large-text .lifeplan-system-container .lp-card-body,
.is-large-text .rm-step-container .rm-pc-cell.pc-area-trial,
.is-large-text .rm-step-container .rm-pc-cell.pc-area-exam {
  font-size: 1rem;
}

.is-large-text .lifeplan-system-container .lp-goal-body,
.is-large-text .rm-step-container .rm-pc-cell,
.is-large-text .rm-step-container .rm-pc-time-row,
.is-large-text .wp-block-group.is-style-white-card .life-plan .lp-block-label {
  font-size: 1.1rem;
}

.is-large-text .rm-step-container .centered-profile {
  flex: 0 0 200px;
}
.is-large-text .rm-step-container .centered-profile p {
  font-size: 1.2rem;
}

/*ウェルビーイングの図*/
.is-large-text .wellbeing-chart .wb-center {
  font-size: 1.8rem;
}
@media screen and (max-width: 601px) {
  .is-large-text .wellbeing-chart .wb-center {
    font-size: 1.2rem;
  }
}

.is-large-text .wellbeing-chart .wb-circle {
  font-size: 1.3rem;
}
@media screen and (max-width: 834px) {
  .is-large-text .wellbeing-chart .wb-circle {
    font-size: 1.1rem;
  }
}
@media screen and (max-width: 601px) {
  .is-large-text .wellbeing-chart .wb-circle {
    font-size: 0.9rem;
  }
}

/*お問い合わせページの個人情報の＋ボタンとタイトル*/
.is-large-text .wp-block-accordion-heading__toggle-title .fz-18px {
  font-size: 1.25rem;
}

.is-large-text .wp-block-accordion-heading__toggle-icon {
  width: 1.5em;
  height: 1.5em;
  font-size: 1.5rem;
}

/*画像の調整*/
.is-large-text .target-audience img {
  width: 400px !important;
}

.is-large-text .wp-block-image.shurou-step-pc {
  max-width: 1100px;
}

@media screen and (max-width: 834px) {
  .is-large-text .wp-block-group.inquiry-flow .step-image-mobile {
    max-width: 500px;
  }
}
@media screen and (max-width: 601px) {
  .is-large-text .wp-block-group.inquiry-flow .step-image-mobile {
    max-width: 400px;
  }
}

.is-large-text .entry-content .feature-grid .features-card-block-pc {
  gap: 30px;
}
.is-large-text .entry-content .feature-grid .features-card-block-pc .wp-block-image {
  max-width: 250px;
}
.is-large-text .entry-content .feature-grid .features-card-block-mobile {
  gap: 10px;
}
.is-large-text .entry-content .feature-grid .features-card-block-mobile .wp-block-image {
  max-width: 350px;
}

.is-large-text .line-block .line-button {
  max-width: 380px;
}
@media screen and (max-width: 601px) {
  .is-large-text .line-block .line-button {
    width: 300px;
  }
}

.is-large-text .wp-block-group.is-style-white-card .step-image-mobile {
  width: 100%;
  max-width: 400px;
}

@media screen and (max-width: 601px) {
  .is-large-text .wp-block-group.support-block .support-image {
    max-width: 500px;
  }
}

/*トップページのロゴ横並び画像*/
@media screen and (max-width: 601px) {
  .is-large-text .wp-block-group .grasol-milaigrobu-logo::after {
    content: "株式会社ツクイ特例子会社の株式会社Grasolのロゴ画像と就労移行支援milaiぐろーぶのロゴ画像を表示しています。";
    display: block;
    margin-top: 20px;
    font-size: 20px;
    color: var(--black);
    text-align: left;
  }
}

/* -------------------------------------------------- */
/*本文等の色指定*/
/* -------------------------------------------------- */
.has-text-align-left,
.has-text-align-center {
  color: var(--black);
}

.entry-content p {
  color: var(--black);
}

/*お問い合わせページのリスト*/
.wp-block-list li {
  color: var(--black);
}

/*お問い合わせページの同意チェックの文*/
.smf-label {
  color: var(--black);
}

/*お問い合わせページのアコーディオン機能のアイコン*/
.wp-block-accordion-heading {
  color: var(--brown);
}

/*お問い合わせページの確認ページ*/
.smf-placeholder {
  color: var(--black);
}

/* ==========================================================================
   通常のテーブル（表ブロック）をフォーム風のデザインにする
   ========================================================================== */
.wp-block-table.is-style-regular table {
  margin: 2em auto;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 16px;
  overflow: hidden;
  border: 2px solid var(--border-primary);
  border-top: 5px solid var(--primary-color);
  background-color: var(--white);
}
.wp-block-table.is-style-regular table td,
.wp-block-table.is-style-regular table th {
  font-size: 0.9rem;
  color: var(--black);
  word-break: auto-phrase;
  overflow-wrap: break-word;
  background-color: var(--white);
  border: none;
  border-right: 1px solid var(--border-primary);
  border-bottom: 1px solid var(--border-primary);
}
.wp-block-table.is-style-regular table td:last-child,
.wp-block-table.is-style-regular table th:last-child {
  border-right: none;
}
@media screen and (max-width: 601px) {
  .wp-block-table.is-style-regular table td,
  .wp-block-table.is-style-regular table th {
    font-size: 0.9rem;
    word-break: break-all;
  }
}
.wp-block-table.is-style-regular table td a {
  color: var(--primary-color);
  text-decoration: none;
  border-bottom: 1.5px solid var(--primary-color);
  line-height: 0.5;
}
.wp-block-table.is-style-regular table tr:last-child td,
.wp-block-table.is-style-regular table tr:last-child th {
  border-bottom: none;
}
.wp-block-table.is-style-regular table thead th, .wp-block-table.is-style-regular table tr:first-of-type th, .wp-block-table.is-style-regular table tr:first-of-type td {
  background-color: var(--table-header-bg);
  color: var(--secondary-color);
  font-weight: bold;
}

.wp-block-table.location table {
  margin: 2em auto;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 16px;
  overflow: hidden;
  border: 2px solid var(--border-primary);
  border-top: 5px solid var(--primary-color);
  background-color: var(--white);
}
.wp-block-table.location table td,
.wp-block-table.location table th {
  font-size: 0.9rem;
  color: var(--black);
  word-break: auto-phrase;
  overflow-wrap: break-word;
  background-color: var(--white);
  border: none;
  border-right: 1px solid var(--border-primary);
  border-bottom: 1px solid var(--border-primary);
}
.wp-block-table.location table td:last-child,
.wp-block-table.location table th:last-child {
  border-right: none;
}
@media screen and (max-width: 601px) {
  .wp-block-table.location table td,
  .wp-block-table.location table th {
    font-size: 0.9rem;
    word-break: break-all;
  }
}
.wp-block-table.location table td a {
  color: var(--primary-color);
  text-decoration: none;
  border-bottom: 1.5px solid var(--primary-color);
  line-height: 0.5;
}
.wp-block-table.location table tr:last-child td,
.wp-block-table.location table tr:last-child th {
  border-bottom: none;
}
.wp-block-table.location table tr > th:first-child,
.wp-block-table.location table tr > td:first-child {
  background-color: var(--table-header-bg);
  color: var(--secondary-color);
  font-weight: bold;
}
.annotation {
  font-size: 0.7rem;
  display: block;
  line-height: 1.5;
}
td .annotation {
  display: inline-block;
}

.wp-block-group.is-style-white-card {
  background-color: var(--white);
  border: 1px solid #d9d9d9;
  border-radius: 16px;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.0705882353);
  margin-left: auto;
  margin-right: auto;
  width: min(92%, 900px);
  padding: 2rem;
}
@media screen and (max-width: 601px) {
  .wp-block-group.is-style-white-card {
    width: 100%;
    max-width: none;
    padding: 1.5rem;
    margin-top: 2rem;
  }
}
.wp-block-group.is-style-white-card .white-card-title {
  font-size: 1.2rem;
  margin-bottom: 1rem;
}
.wp-block-group.is-style-white-card {
  box-sizing: border-box !important;
}
.wp-block-group.is-style-white-card > .wp-block-group__inner-container, .wp-block-group.is-style-white-card > .is-layout-flow {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/*LINE友だち追加ボタンの調整*/
.line-block {
  display: flex;
  flex-direction: column;
}
.line-block .line-button {
  max-width: 300px;
  margin-inline: auto;
}
@media screen and (max-width: 601px) {
  .line-block .line-button {
    width: 200px;
  }
}

/*ラインQRコードの画像調整*/
.wp-image-379 {
  width: 300px;
}
@media screen and (max-width: 1023px) {
  .wp-image-379 {
    width: 13rem;
    top: -330px;
    left: 60%;
    transform: none;
  }
}
@media screen and (max-width: 601px) {
  .wp-image-379 {
    display: none !important;
  }
}

/* フッター全体 */
.footer {
  background-color: var(--white);
  padding: 10px 20px;
}
.footer .footer-in {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-areas: "logo menu" "widget widget" "copy copy"; /* 3行目：コピーライト*/
  align-items: center;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}
.footer .footer-in .footer-bottom-logo {
  grid-area: logo;
  justify-self: start;
}
.footer .footer-in .footer-widgets {
  grid-area: widget;
  display: flex;
  justify-content: center;
  max-width: 100%;
  justify-self: stretch;
  margin: 0px;
}
.footer .footer-in .footer-widgets .footer-left {
  display: none;
}
.footer .footer-in .footer-widgets .footer-center {
  display: flex;
  flex-direction: column;
  flex: 0 1 auto;
  justify-content: center;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 0;
  gap: 40px;
}
.footer .footer-in .footer-widgets .footer-center #media_image-3 {
  display: flex;
  justify-content: center;
  margin-bottom: 0;
}
.footer .footer-in .footer-widgets .footer-center #media_image-3 img {
  width: 100px;
  height: auto;
  max-width: 100px;
  padding: 13px;
}
@media (prefers-color-scheme: dark) {
  .footer .footer-in .footer-widgets .footer-center #media_image-3 img {
    content: url("../assets/images/darkmode-tsukui-logo-tate.png");
  }
}
.footer .footer-in .footer-widgets .ft-gslogo {
  width: 100%;
  max-width: 500px;
  padding: 2rem;
  background-color: var(--step-green);
}
.footer .footer-in .footer-widgets .ft-gslogo br {
  display: none;
}
.footer .footer-in .footer-widgets .ft-gslogo a {
  display: block;
  width: 230px;
  padding: 0 1rem 1rem;
  margin: auto;
}
.footer .footer-in .footer-widgets .ft-gslogo a img {
  width: 100%;
  padding: 0;
  max-width: none;
}
@media (prefers-color-scheme: dark) {
  .footer .footer-in .footer-widgets .ft-gslogo a img {
    content: url("../assets/images/darkmode-grasol-logo-yoko.png");
  }
}
.footer .footer-in .footer-widgets .ft-gslogo .ft-gslogo-text {
  font-size: 0.8rem;
  color: var(--black);
}
.footer .footer-in .footer-widgets .footer-right {
  display: none;
}
.footer .footer-in .footer-bottom {
  display: contents;
}
.footer .footer-in .footer-bottom .footer-bottom-logo {
  grid-area: logo;
  display: none;
  position: relative;
}
.footer .footer-in .footer-bottom .footer-bottom-logo .site-logo-image {
  display: none;
}
.footer .footer-in .footer-bottom .footer-bottom-logo .site-name-text-link {
  padding: 0;
}
.footer .footer-in .footer-bottom .footer-bottom-content {
  display: contents;
}
.footer .footer-in .footer-bottom .footer-bottom-content .navi-footer {
  grid-area: menu;
}
.footer .footer-in .footer-bottom .footer-bottom-content .navi-footer .navi-footer-in ul.menu-footer {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 10px 16px;
  list-style: none;
  margin: 10px;
  padding: 0;
}
.footer .footer-in .footer-bottom .footer-bottom-content .navi-footer .navi-footer-in ul.menu-footer li.menu-item {
  border: none;
  display: flex;
  justify-content: center;
  font-size: 0.8rem;
}
.footer .footer-in .footer-bottom .footer-bottom-content .navi-footer .navi-footer-in ul.menu-footer li.menu-item a {
  white-space: nowrap;
  color: var(--black);
  border-bottom: transparent solid 1.5px;
  text-decoration: none;
  width: auto;
}
.footer .footer-in .footer-bottom .footer-bottom-content .navi-footer .navi-footer-in ul.menu-footer li.menu-item a:hover {
  background-color: var(--white);
  border-bottom-color: var(--primary-color);
}
.footer .footer-in .footer-bottom .footer-bottom-content .navi-footer .navi-footer-in ul.menu-footer li.menu-item a i {
  margin-left: 8px;
}
.footer .footer-in .footer-bottom .footer-bottom-content .source-org {
  grid-area: copy;
  display: flex;
  justify-content: center;
  padding: 10px 0;
}
@media screen and (max-width: 834px) {
  .footer .footer-in {
    display: grid;
    grid-template-columns: 1fr;
    flex-direction: column;
    align-items: center;
    grid-template-areas: "logo" "menu" "widget" "copy"; /* 4行目：コピーライト*/
  }
  .footer .footer-in .footer-bottom .footer-bottom-logo {
    width: 160px;
    justify-self: center;
  }
  .footer .footer-in .footer-bottom .footer-widgets {
    order: 2;
    justify-content: center;
    gap: 0px;
  }
  .footer .footer-in .footer-bottom {
    /*一番下に追従するお問い合わせボタン*/
  }
}
@media screen and (max-width: 834px) and (max-width: 601px) {
  .footer .footer-in .footer-bottom li.menu-item:first-child {
    position: fixed !important;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 60px !important;
    z-index: 100;
    margin: 0;
    border-radius: 12px;
    background-color: var(--tertiary-color);
    transition: all 0.2s ease;
    -webkit-tap-highlight-color: transparent;
  }
  .footer .footer-in .footer-bottom li.menu-item:first-child a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: var(--primary-dark) !important;
    text-decoration: none !important;
    font-weight: bold;
    font-size: 20px !important;
    padding: 5px 0px !important;
    line-height: 1.5;
  }
  .footer .footer-in .footer-bottom li.menu-item:first-child a::before {
    content: "＼ まずはお気軽に ／";
    font-size: 16px !important;
  }
  .footer .footer-in .footer-bottom li.menu-item:first-child:active {
    transform: scale(0.95);
    box-shadow: 0 2px 6px var(--primary-color);
    filter: brightness(0.9);
    transition: all 0.1s ease;
  }
}
@media screen and (max-width: 834px) {
  .footer .footer-in .footer-bottom .source-org {
    order: 3;
    font-size: 0.7rem;
    color: var(--black);
  }
}
@media screen and (max-width: 834px) and (max-width: 601px) {
  .footer .footer-in .footer-bottom .source-org {
    margin-bottom: 50px;
  }
}
@media screen and (max-width: 834px) {
  .footer .footer-in .footer-bottom .footer-bottom-content .navi-footer {
    order: 1;
  }
  .footer .footer-in .footer-bottom .footer-bottom-content .navi-footer .navi-footer-in {
    display: flex;
    justify-content: center;
    padding-bottom: 40px;
  }
  .footer .footer-in .footer-bottom .footer-bottom-content .navi-footer .navi-footer-in ul.menu-footer {
    flex-direction: row;
    align-items: center;
    gap: 0.5rem;
  }
}
@media screen and (max-width: 834px) and (max-width: 601px) {
  .footer .footer-in .footer-bottom .footer-bottom-content .navi-footer .navi-footer-in ul.menu-footer {
    flex-direction: column;
  }
}
@media screen and (max-width: 834px) {
  .footer .footer-in .footer-bottom .footer-bottom-content .navi-footer .navi-footer-in ul.menu-footer li.menu-item {
    text-align: center;
  }
  .footer .footer-in .footer-bottom .footer-bottom-content .navi-footer .navi-footer-in ul.menu-footer li.menu-item a {
    font-size: 0.65rem;
  }
}
@media screen and (max-width: 834px) and (max-width: 601px) {
  .footer .footer-in .footer-bottom .footer-bottom-content .navi-footer .navi-footer-in ul.menu-footer li.menu-item a {
    font-size: 0.8rem;
  }
}
@media screen and (max-width: 834px) {
  .footer .footer-in .footer-bottom .footer {
    padding-bottom: 60px;
  }
}

/*トップに戻るボタン*/
.go-to-top-button {
  background-color: var(--primary-color);
  color: var(--white);
  width: 50px;
  height: 50px;
  border: solid 1px var(--background-color);
  border-radius: 50px;
  font-size: 40px;
  position: fixed;
  z-index: 110;
  bottom: 35px;
  right: 10px;
}
@media screen and (max-width: 601px) and (prefers-color-scheme: dark) {
  .go-to-top-button {
    background-color: var(--tertiary-color);
    color: var(--primary-dark);
    border: none;
  }
}
.go-to-top-button .fa-angle-up {
  padding-bottom: 5px;
}
@media screen and (max-width: 601px) {
  .go-to-top-button {
    bottom: 65px;
    right: 10px;
  }
}

.is-large-text .footer .footer-in .ft-gslogo-text {
  font-size: 1rem !important;
}
.is-large-text .footer .footer-in .footer-bottom .footer-bottom-content .navi-footer .navi-footer-in ul.menu-footer li.menu-item a {
  font-size: 1rem;
}
@media screen and (max-width: 834px) {
  .is-large-text .footer .footer-in .footer-bottom .footer-bottom-content .navi-footer .navi-footer-in ul.menu-footer li.menu-item a {
    font-size: 0.85rem;
  }
}
@media screen and (max-width: 601px) {
  .is-large-text .footer .footer-in .footer-bottom .footer-bottom-content .navi-footer .navi-footer-in ul.menu-footer li.menu-item a {
    font-size: 1rem;
  }
}

.home {
  overflow-x: hidden;
}
.home .content {
  margin-top: 140px;
}
@media screen and (max-width: 1023px) {
  .home .content {
    margin-top: 58px;
  }
}
@media screen and (max-width: 834px) {
  .home .content {
    margin-top: 85px;
  }
}
.home .full-wide-fv {
  width: 100vw;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}
.home {
  /*トップ画像*/
}
@media screen and (max-width: 601px) {
  .home .wp-block-cover {
    min-height: 250px !important;
  }
  .home .wp-block-cover .wp-block-cover__image-background {
    height: 250px !important;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center center;
       object-position: center center;
  }
}
.home .wp-block-cover {
  /*トップ画像の前面のグレーのところ*/
}
.home .wp-block-cover .has-background-dim {
  display: none;
}
@media (prefers-color-scheme: dark) {
  .home .wp-block-cover .has-background-dim {
    display: block;
  }
}
.home .wp-block-cover {
  /*トップ画像の上の文字の調整*/
}
.home .wp-block-cover .wp-block-cover-is-layout-flow .fv-text {
  margin-inline: 0;
  padding-bottom: 0;
}
.home .wp-block-cover .wp-block-cover-is-layout-flow .fv-text p {
  text-shadow: 0px 0px 8px rgba(0, 0, 0, 0.8);
  color: var(--white);
}
.home .wp-block-cover .wp-block-cover-is-layout-flow .fv-text-main {
  font-size: 2.2rem;
  font-weight: 800;
}
@media (prefers-color-scheme: dark) {
  .home .wp-block-cover .wp-block-cover-is-layout-flow .fv-text-main {
    color: var(--black) !important;
  }
}
@media screen and (max-width: 1023px) {
  .home .wp-block-cover .wp-block-cover-is-layout-flow .fv-text-main {
    font-size: 2rem;
  }
}
@media screen and (max-width: 601px) {
  .home .wp-block-cover .wp-block-cover-is-layout-flow .fv-text-main {
    font-size: 1.5rem;
    margin-bottom: 1.1rem;
  }
}
.home .wp-block-cover .wp-block-cover-is-layout-flow .fv-text-sub {
  font-size: 1.2rem;
  font-weight: bold;
}
@media screen and (max-width: 601px) {
  .home .wp-block-cover .wp-block-cover-is-layout-flow .fv-text-sub {
    font-size: 1rem;
  }
}
@media (prefers-color-scheme: dark) {
  .home .wp-block-cover .wp-block-cover-is-layout-flow .fv-text-sub {
    color: var(--black) !important;
  }
}
.home .grasol-milaigrobu-logo {
  display: block;
  width: 100%;
  max-width: 600px;
  height: auto;
}
@media (prefers-color-scheme: dark) {
  .home .grasol-milaigrobu-logo {
    content: url("../assets/images/darkmode-grasol-milai-grobu-logo.png");
  }
}
@media (prefers-color-scheme: dark) {
  .home .show-from-ltablet img {
    content: url("../assets/images/darkmode-dt-contract-flow-yoko.png");
  }
}
@media (prefers-color-scheme: dark) {
  .home .step-image-mobile img {
    content: url("../assets/images/darkmode-dt-contract-flow-tate1.png");
  }
}
.home .testing-steps-block {
  padding-bottom: 0px;
  display: flex;
}
.home .testing-steps-block div {
  flex: 1 1 350px;
}
.home .testing-steps-block figure {
  flex: 2 1 400px;
}
.home .testing-steps-block p {
  margin-bottom: 0px;
}
@media screen and (max-width: 834px) {
  .home .testing-steps-block {
    flex-direction: column;
    gap: 0;
  }
  .home .testing-steps-block div,
  .home .testing-steps-block figure {
    flex: 1 1 100%;
  }
}
.home .step-image-mobile {
  width: 90%;
  max-width: 300px;
  margin: auto;
}
.home div.wp-block-group.is-style-orange-label {
  background-color: #feeeb3;
  color: #8a620b;
  border-radius: 100px;
  border: none;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  width: 100%;
  max-width: 450px;
  min-height: 100px;
  margin: 2rem auto;
  padding: 1.5rem 3rem;
  font-weight: bold;
  line-height: 1.3;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 10px;
}
@media screen and (max-width: 601px) {
  .home div.wp-block-group.is-style-orange-label {
    gap: 7px;
    min-height: 100px;
    padding: 1.5rem 1rem;
    border-radius: 50px;
  }
}
.home div.wp-block-group.is-style-orange-label > .wp-block-group__inner-container, .home div.wp-block-group.is-style-orange-label > .is-layout-flow {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
}
.home div.wp-block-group.is-style-orange-label p {
  margin: 0 !important;
  padding: 0 !important;
  color: inherit !important;
}
.home div.wp-block-group.is-style-orange-label strong,
.home div.wp-block-group.is-style-orange-label .has-orange-color {
  font-size: 1.4rem;
  display: block;
}
@media screen and (max-width: 601px) {
  .home div.wp-block-group.is-style-orange-label strong,
  .home div.wp-block-group.is-style-orange-label .has-orange-color {
    font-size: 1.2rem;
  }
}
.home .p-top-news ul,
.home .p-top-news .wp-block-post-template,
.home .p-top-blog ul,
.home .p-top-blog .wp-block-post-template {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  list-style: none;
  padding: 0;
}
@media screen and (max-width: 601px) {
  .home .p-top-news ul,
  .home .p-top-news .wp-block-post-template,
  .home .p-top-blog ul,
  .home .p-top-blog .wp-block-post-template {
    grid-template-columns: 1fr;
  }
}
.home.is-large-text .wp-block-cover .wp-block-cover-is-layout-flow .fv-text-main {
  font-size: 2.45rem;
}
@media screen and (max-width: 1023px) {
  .home.is-large-text .wp-block-cover .wp-block-cover-is-layout-flow .fv-text-main {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 601px) {
  .home.is-large-text .wp-block-cover .wp-block-cover-is-layout-flow .fv-text-main {
    font-size: 1.745rem;
  }
}
.home.is-large-text .wp-block-cover .wp-block-cover-is-layout-flow .fv-text-sub {
  font-size: 1.5rem;
}
@media screen and (max-width: 601px) {
  .home.is-large-text .wp-block-cover .wp-block-cover-is-layout-flow .fv-text-sub {
    font-size: 1.3rem;
  }
}

.page-shurouikoushien .wp-block-group.split-layout h3.wp-block-heading {
  display: flex;
  align-items: center;
  font-size: 1.05rem;
  color: var(--black);
  font-weight: bold;
  margin-bottom: 1rem;
}
.page-shurouikoushien .wp-block-group.split-layout h3.wp-block-heading::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-right: 0.5rem;
  background-color: var(--primary-color);
  border-radius: 2px;
  flex-shrink: 0;
}
.page-shurouikoushien .wp-block-group.split-layout h3.wp-block-heading {
  background-color: unset;
  margin-block: unset;
  width: 100%;
  padding-inline: 0;
  padding-left: 0.5rem;
}
.page-shurouikoushien .target-block {
  margin-inline: 0;
}
.page-shurouikoushien .split-layout {
  display: flex;
  justify-content: space-between;
  padding-bottom: 0px;
}
@media screen and (max-width: 834px) {
  .page-shurouikoushien .split-layout {
    flex-direction: column;
  }
}
.page-shurouikoushien .split-layout > .wp-block-group .wp-block-group {
  margin-inline: 16px;
  padding-bottom: 1.8rem;
}
.page-shurouikoushien .split-layout .wp-block-group ul {
  padding-left: 20px;
}
.page-shurouikoushien .split-layout > .wp-block-group,
.page-shurouikoushien .split-layout > .wp-block-column,
.page-shurouikoushien .split-layout > div {
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  flex: 1;
  padding-bottom: 0px;
}
.page-shurouikoushien .split-layout > .wp-block-group .wp-block-gallery.is-layout-flex,
.page-shurouikoushien .split-layout > .wp-block-column .wp-block-gallery.is-layout-flex,
.page-shurouikoushien .split-layout > div .wp-block-gallery.is-layout-flex {
  display: flex;
  gap: 15px;
  align-items: stretch;
  max-width: 440px;
  margin-inline: auto;
}
.page-shurouikoushien .split-layout > .wp-block-group .wp-block-gallery.is-layout-flex .wp-block-image,
.page-shurouikoushien .split-layout > .wp-block-column .wp-block-gallery.is-layout-flex .wp-block-image,
.page-shurouikoushien .split-layout > div .wp-block-gallery.is-layout-flex .wp-block-image {
  flex: 1;
  margin: 0;
}
.page-shurouikoushien .split-layout > .wp-block-group .wp-block-gallery.is-layout-flex .wp-block-image img,
.page-shurouikoushien .split-layout > .wp-block-column .wp-block-gallery.is-layout-flex .wp-block-image img,
.page-shurouikoushien .split-layout > div .wp-block-gallery.is-layout-flex .wp-block-image img {
  width: 100%;
  height: 100%;
  aspect-ratio: 1/1.2;
  -o-object-fit: contain;
     object-fit: contain;
}
.page-shurouikoushien {
  /*対象となる方の画像をダークモード用に置換*/
}
@media (prefers-color-scheme: dark) {
  .page-shurouikoushien .target-audience img {
    content: url("../assets/images/darkmode-target-audience.png");
  }
}
@media (prefers-color-scheme: dark) {
  .page-shurouikoushien .planning-suits-woman img {
    content: url("../assets/images/darkmode-planning-suits-woman.png");
  }
}
@media (prefers-color-scheme: dark) {
  .page-shurouikoushien .sick-man img {
    content: url("../assets/images/darkmode-sick-man.png");
  }
}
@media (prefers-color-scheme: dark) {
  .page-shurouikoushien .worry-woman img {
    content: url("../assets/images/darkmode-worry-woman.png");
  }
}
.page-shurouikoushien {
  /*利用料についての表*/
}
.page-shurouikoushien .price-table {
  display: block;
  margin-inline: auto;
  width: -moz-fit-content;
  width: fit-content;
  padding-bottom: 1rem;
}
.page-shurouikoushien .price-table .wp-block-table.is-style-regular table {
  margin: 0 auto;
}
@media screen and (max-width: 601px) {
  .page-shurouikoushien .price-table .wp-block-table.is-style-regular table {
    min-width: 100%;
  }
}
.page-shurouikoushien .price-table .wp-block-table {
  margin-bottom: 0.5rem;
}
.page-shurouikoushien .price-table .annotation-block {
  max-width: 620px;
  padding-bottom: 0px;
}
.page-shurouikoushien {
  /*利用料の表の下の（注）の文の色*/
}
.page-shurouikoushien .annotation-block .annotation {
  color: var(--lp-text-sub);
}
.page-shurouikoushien {
  /*お問い合わせ～就職の流れの画像調整*/
  /*横画像（PC,タブレット用）*/
}
.page-shurouikoushien .shurou-step-pc {
  max-width: 1000px;
  margin: auto;
}
@media (prefers-color-scheme: dark) {
  .page-shurouikoushien .shurou-step-pc img {
    content: url("../assets/images/darkmode-dt-contract-flow-yoko.png");
  }
}
.page-shurouikoushien {
  /*縦画像（モバイル用）*/
}
.page-shurouikoushien .step-image-mobile {
  max-width: 300px;
  margin: auto;
}
@media (prefers-color-scheme: dark) {
  .page-shurouikoushien .step-image-mobile img {
    content: url("../assets/images/darkmode-dt-contract-flow-tate1.png");
  }
}
.page-shurouikoushien .inquiry-flow figure {
  margin-bottom: 0px !important;
}
.page-shurouikoushien {
  /* お問い合わせ～就職の流れの図の下の文 */
}
.page-shurouikoushien .inquiry-flow .has-text-align-center {
  margin-top: 10px;
}
@media screen and (max-width: 834px) {
  .page-shurouikoushien .inquiry-flow .has-text-align-center {
    font-size: 15px;
    margin-top: 5px;
  }
}
@media screen and (max-width: 601px) {
  .page-shurouikoushien .inquiry-flow .has-text-align-center {
    text-align: start;
    margin-top: 10px;
  }
}
.page-shurouikoushien {
  /* step1ご相談～契約の調整 */
}
.page-shurouikoushien .timeline-box {
  border: none;
}
.page-shurouikoushien {
  /*数字部分*/
}
.page-shurouikoushien .timeline-item-label {
  width: 80px;
  font-size: 30px;
  font-weight: bold;
  color: var(--black);
  padding-top: 10px;
}
@media screen and (max-width: 834px) {
  .page-shurouikoushien .timeline-item-label {
    width: 80px;
    font-size: 25px;
  }
}
@media screen and (max-width: 480px) {
  .page-shurouikoushien .timeline-item-label {
    font-size: 20px;
    padding-top: 18px;
  }
}
.page-shurouikoushien {
  /*線の部分*/
}
.page-shurouikoushien .timeline-item-content {
  width: calc(100% - 100px);
  border-left: solid 5px var(--primary-light);
  padding-right: 0;
}
@media screen and (max-width: 480px) {
  .page-shurouikoushien .timeline-item-content {
    border-left: none;
    width: auto;
  }
}
@media screen and (max-width: 480px) {
  .page-shurouikoushien .timeline li.timeline-item {
    border-left: solid 5px var(--primary-light);
  }
}
.page-shurouikoushien {
  /*線の上の〇部分*/
}
.page-shurouikoushien .timeline-item:before {
  background: var(--primary-color);
  width: 15px;
  height: 15px;
  left: 75px;
}
@media screen and (max-width: 480px) {
  .page-shurouikoushien .timeline-item:before {
    left: -10px;
    top: 28px;
  }
}
.page-shurouikoushien {
  /*タイトル部分*/
}
.page-shurouikoushien .timeline-item-title {
  color: var(--black);
  font-size: 1.1rem;
}
@media screen and (max-width: 480px) {
  .page-shurouikoushien .timeline-item-title {
    position: absolute;
    top: 18px;
    left: 45px;
    font-size: 20px;
  }
}
.page-shurouikoushien {
  /*本文部分*/
}
@media screen and (max-width: 480px) {
  .page-shurouikoushien .timeline-item-content {
    padding-left: 16px;
  }
}
.page-shurouikoushien .timeline-item-snippet .btn {
  position: relative;
  left: clamp(-150px, 56.9px - 17.24vw, -100px);
}
@media screen and (max-width: 834px) {
  .page-shurouikoushien .timeline-item-snippet .btn {
    left: -10%;
  }
}
@media screen and (max-width: 601px) {
  .page-shurouikoushien .timeline-item-snippet .btn {
    left: -5%;
  }
}
.page-shurouikoushien {
  /*step3実践訓練のマーカーの色変更*/
}
.page-shurouikoushien .marker-under {
  background: linear-gradient(transparent 60%, #ffecb3 60%);
}
@media (prefers-color-scheme: dark) {
  .page-shurouikoushien .marker-under {
    background: linear-gradient(transparent 70%, #ffecb3 95%);
  }
}
.page-shurouikoushien {
  /*step4マッチング・就職の画像調整*/
}
.page-shurouikoushien .step4-block {
  padding-bottom: 0px;
}
.page-shurouikoushien .step4-img {
  display: flex;
  flex-direction: row;
  gap: 20px;
  max-width: 70%;
  padding-bottom: 0;
  margin-inline: auto;
}
@media screen and (max-width: 1023px) {
  .page-shurouikoushien .step4-img {
    max-width: 750px;
  }
}
@media screen and (max-width: 834px) {
  .page-shurouikoushien .step4-img {
    max-width: 100%;
    margin-inline: 16px;
  }
}
@media screen and (max-width: 400px) {
  .page-shurouikoushien .step4-img {
    /*flex-wrap: wrap;
    .wp-block-image {
      flex: 0 0 calc(50% - 7.5px); 
      margin: 0;
    }*/
  }
  .page-shurouikoushien .step4-img .office-work-man,
  .page-shurouikoushien .step4-img .online-meeting {
    display: none;
  }
  .page-shurouikoushien .step4-img .pc-operation-man {
    display: flex;
  }
  .page-shurouikoushien .step4-img .pc-operation-man img {
    -o-object-fit: contain;
       object-fit: contain;
  }
}
@media (prefers-color-scheme: dark) {
  .page-shurouikoushien .step4-img .wheelchair-man img {
    content: url("../assets/images/darkmode-wheelchair-man.png");
  }
}
@media (prefers-color-scheme: dark) {
  .page-shurouikoushien .step4-img .pc-operation-man img {
    content: url("../assets/images/darkmode-pc-operation-man-1.png");
  }
}
@media (prefers-color-scheme: dark) {
  .page-shurouikoushien .step4-img .office-work-man img {
    content: url("../assets/images/darkmode-office-work-man-1.png");
  }
}
@media (prefers-color-scheme: dark) {
  .page-shurouikoushien .step4-img .online-meeting img {
    content: url("../assets/images/darkmode-online-meeting-1.png");
  }
}
.page-shurouikoushien {
  /*step5就職後フォローのレイアウト調整*/
}
.page-shurouikoushien .step5-block {
  display: flex;
  flex-direction: row;
  gap: 15px;
  padding-bottom: 0px;
}
@media screen and (max-width: 601px) {
  .page-shurouikoushien .step5-block {
    flex-direction: column;
    align-items: center;
    gap: 0;
  }
}
.page-shurouikoushien .step5-block .step5-image img {
  margin: 0;
  max-width: 240px;
  flex-shrink: 1;
  min-width: 0;
}
@media screen and (max-width: 601px) {
  .page-shurouikoushien .step5-block .step5-image img {
    height: auto;
    max-width: 160px;
    margin: 0 auto;
  }
}
@media (prefers-color-scheme: dark) {
  .page-shurouikoushien .step5-block .step5-image img {
    content: url("../assets/images/darkmode-support-interview.png");
  }
}
.page-shurouikoushien {
  /*サポート体制*/
}
.page-shurouikoushien .support-block {
  display: flex;
  gap: 20px;
}
@media screen and (max-width: 601px) {
  .page-shurouikoushien .support-block {
    flex-direction: column;
    gap: 10px;
  }
}
.page-shurouikoushien .support-block .support-image {
  flex: 0 0 300px;
}
@media screen and (max-width: 601px) {
  .page-shurouikoushien .support-block .support-image {
    max-width: 350px;
    width: 100%;
    margin: auto;
  }
}
.page-shurouikoushien .support-system {
  padding-bottom: 0px;
}
@media screen and (max-width: 601px) {
  .page-shurouikoushien .support-system .wp-image-1632 {
    width: 300px !important;
  }
}

/* _milai-features.scss 全文 */
.page-milai-features .top-content {
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 834px) {
  .page-milai-features .top-content {
    width: unset;
  }
}
.page-milai-features .feature-grid .features-card-block-pc {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  gap: 20px;
  margin-top: 20px;
  margin-inline: auto;
}
@media screen and (max-width: 834px) {
  .page-milai-features .feature-grid .features-card-block-pc {
    gap: 10px;
  }
}
.page-milai-features .feature-grid .features-card-block-mobile {
  display: none;
}
@media screen and (max-width: 480px) {
  .page-milai-features .feature-grid .features-card-block-pc {
    display: none;
  }
  .page-milai-features .feature-grid .features-card-block-mobile {
    display: flex;
    flex-direction: column;
    align-content: center;
    flex-wrap: wrap;
    justify-content: space-around;
    gap: 20px;
    padding-bottom: 0px;
  }
  .page-milai-features .feature-grid .features-card-block-mobile .wp-block-image {
    margin: 0;
    max-width: 250px;
  }
}
.page-milai-features .feature-grid .wp-block-image {
  margin: 0;
  /*width: calc(50% - 10px);*/
  box-sizing: border-box;
  max-width: 200px;
}
.page-milai-features .feature-grid .wp-block-image a:hover {
  transform: translateY(-5px);
}
@media screen and (max-width: 480px) {
  .page-milai-features .feature-grid .wp-block-image {
    width: 100%;
  }
  .page-milai-features .feature-grid .wp-block-image a {
    max-width: 350px;
    margin-inline: auto;
  }
}
.page-milai-features .usage-fee-table {
  margin: 2em auto;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 16px;
  overflow: hidden;
  border: 2px solid var(--border-primary);
  border-top: 5px solid var(--primary-color);
  background-color: var(--white);
}
.page-milai-features .usage-fee-table td,
.page-milai-features .usage-fee-table th {
  font-size: 0.9rem;
  color: var(--black);
  word-break: auto-phrase;
  overflow-wrap: break-word;
  background-color: var(--white);
  border: none;
  border-right: 1px solid var(--border-primary);
  border-bottom: 1px solid var(--border-primary);
}
.page-milai-features .usage-fee-table td:last-child,
.page-milai-features .usage-fee-table th:last-child {
  border-right: none;
}
@media screen and (max-width: 601px) {
  .page-milai-features .usage-fee-table td,
  .page-milai-features .usage-fee-table th {
    font-size: 0.9rem;
    word-break: break-all;
  }
}
.page-milai-features .usage-fee-table td a {
  color: var(--primary-color);
  text-decoration: none;
  border-bottom: 1.5px solid var(--primary-color);
  line-height: 0.5;
}
.page-milai-features .usage-fee-table tr:last-child td,
.page-milai-features .usage-fee-table tr:last-child th {
  border-bottom: none;
}
.page-milai-features .usage-fee-table thead th, .page-milai-features .usage-fee-table tr:first-of-type th, .page-milai-features .usage-fee-table tr:first-of-type td {
  background-color: var(--table-header-bg);
  color: var(--secondary-color);
  font-weight: bold;
}
.page-milai-features .location-table {
  margin: 2em auto;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 16px;
  overflow: hidden;
  border: 2px solid var(--border-primary);
  border-top: 5px solid var(--primary-color);
  background-color: var(--white);
}
.page-milai-features .location-table td,
.page-milai-features .location-table th {
  font-size: 0.9rem;
  color: var(--black);
  word-break: auto-phrase;
  overflow-wrap: break-word;
  background-color: var(--white);
  border: none;
  border-right: 1px solid var(--border-primary);
  border-bottom: 1px solid var(--border-primary);
}
.page-milai-features .location-table td:last-child,
.page-milai-features .location-table th:last-child {
  border-right: none;
}
@media screen and (max-width: 601px) {
  .page-milai-features .location-table td,
  .page-milai-features .location-table th {
    font-size: 0.9rem;
    word-break: break-all;
  }
}
.page-milai-features .location-table td a {
  color: var(--primary-color);
  text-decoration: none;
  border-bottom: 1.5px solid var(--primary-color);
  line-height: 0.5;
}
.page-milai-features .location-table tr:last-child td,
.page-milai-features .location-table tr:last-child th {
  border-bottom: none;
}
.page-milai-features .location-table tr > th:first-child,
.page-milai-features .location-table tr > td:first-child {
  background-color: var(--table-header-bg);
  color: var(--secondary-color);
  font-weight: bold;
}
.page-milai-features .wp-block-table.is-style-regular table {
  margin-top: 0px !important;
}
.page-milai-features .wp-block-table.is-style-regular table td .cocoon-custom-text-1 {
  display: none;
}
@media screen and (max-width: 1023px) {
  .page-milai-features .wp-block-table.is-style-regular table td {
    word-break: keep-all;
  }
}
@media screen and (max-width: 601px) {
  .page-milai-features .wp-block-table.is-style-regular table td:first-child {
    width: 75px;
    word-break: break-all;
    line-height: 1.2;
  }
  .page-milai-features .wp-block-table.is-style-regular table td:first-child .cocoon-custom-text-1 {
    display: block;
  }
}
@media (prefers-color-scheme: dark) {
  .page-milai-features .wp-block-group-is-layout-flow .organizational-relationship img {
    content: url("../assets/images/darkmode-grasol-logo-yoko.png");
  }
}
@media screen and (max-width: 601px) {
  .page-milai-features .wp-block-group-is-layout-flow .organizational-relationship img {
    width: 350px !important;
  }
}
.page-milai-features {
  /*安心できるサービス運営者の画像の下余白削除と中の画像を中央配置、
    地域と連携した就職・就職後サポートの画像の下余白を削除*/
}
.page-milai-features .wp-block-group-is-layout-flow p {
  margin-top: 1.8em;
}
.page-milai-features .wp-block-group-is-layout-flow .wp-block-image.size-large {
  display: flex;
  justify-content: center;
}
.page-milai-features .bbq-image {
  text-align: center;
}
.page-milai-features .bbq-image img {
  margin: auto;
}
.page-milai-features .bbq-image figcaption {
  color: var(--lp-text-sub);
  font-size: 0.7rem;
}

.page-question .faq-question {
  font-size: 1.4rem;
  background-color: var(--background-color);
  color: var(--black);
  border: none;
  border-left: 8px solid var(--primary-color);
  border-bottom: 2px solid var(--primary-color);
  padding: 0.6rem 1rem;
  padding: 10px 0 10px 20px;
  text-align: left;
  width: 100%;
  margin-block: 1.5rem;
}
@media screen and (max-width: 601px) {
  .page-question .faq-question {
    font-size: 1.3rem;
  }
}
.page-question .faq-question {
  background-color: inherit;
  margin-top: unset;
  margin-bottom: 0.5rem;
  padding-top: unset;
  line-height: 1.2;
  font-size: 22px;
  border-left: none;
}
@media screen and (max-width: 601px) {
  .page-question .faq-question {
    font-size: 20px;
  }
}
.page-question .wp-block-cocoon-blocks-faq {
  background-color: var(--white);
  border-radius: 24px;
  padding-block: 2rem;
  border: 2px solid var(--primary-color);
}
@media screen and (max-width: 601px) {
  .page-question .wp-block-cocoon-blocks-faq {
    padding: 1.5rem;
  }
}
.page-question .faq-question-label {
  color: var(--primary-color);
  font-weight: bold;
  margin-right: 0.3em;
}
.page-question .faq-question-content {
  margin-right: 4px;
}
.page-question .faq-answer-content p {
  margin-inline: unset;
}
.page-question .blank {
  display: block;
  margin-top: 16px;
}
.page-question .faq-item {
  padding-right: unset;
  padding-left: 10px;
}
.page-question .wp-block-spacer {
  margin-bottom: 12px;
}

/* _voices.scss */
.page-voices .date-tags {
  margin: 0;
}

.interview-container {
  display: flex;
  flex-direction: column;
  gap: 50px;
}
.interview-container .interview-item {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 0 20px;
  position: relative;
}
@media screen and (max-width: 601px) {
  .interview-container .interview-item {
    gap: 0px;
  }
}
.interview-container .interview-item h2 {
  font-size: 1.4rem;
  background-color: var(--background-color);
  color: var(--black);
  border: none;
  border-left: 8px solid var(--primary-color);
  border-bottom: 2px solid var(--primary-color);
  padding: 0.6rem 1rem;
  padding: 10px 0 10px 20px;
  text-align: left;
  width: 100%;
  margin-block: 1.5rem;
}
@media screen and (max-width: 601px) {
  .interview-container .interview-item h2 {
    font-size: 1.3rem;
  }
}
.interview-container .interview-item h2 {
  display: block;
  position: relative;
  z-index: 2;
  width: 100%;
  margin-top: 0px;
}
.interview-container .interview-item .interview-content {
  display: flex;
  flex-direction: row;
  gap: 20px;
  width: 100%;
}
@media screen and (max-width: 601px) {
  .interview-container .interview-item .interview-content {
    flex-direction: column;
  }
}
.interview-container .interview-item .interview-content p {
  margin-bottom: 20px;
  position: relative;
  z-index: 2;
  width: 50%;
  padding-inline: 1rem;
}
@media screen and (max-width: 601px) {
  .interview-container .interview-item .interview-content p {
    width: 100%;
  }
}
.interview-container .interview-item .interview-content p span {
  color: var(--black);
}
.interview-container .interview-item .interview-content .video {
  width: 50%;
  max-width: 600px;
  margin: 0;
  position: relative;
  padding-top: 28.125%;
  height: 0;
  overflow: hidden;
  z-index: 1;
}
@media screen and (max-width: 601px) {
  .interview-container .interview-item .interview-content .video {
    width: 100%;
    padding-top: 56.25%;
  }
}
.interview-container .interview-item .interview-content .video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}

.c-speech-player {
  border-radius: 15px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.c-speech-player__title {
  font-weight: 500;
  font-size: 0.89rem;
  color: var(--black);
  display: flex;
  align-items: center;
}
.c-speech-player audio {
  display: none;
}
.c-speech-player .tts-control-btn {
  background-color: var(--white);
  border: 1px solid;
  border-radius: 12px;
  cursor: pointer;
  font-size: 30px;
  color: var(--primary-color);
  outline: none;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 32px;
  width: 42px;
  /*ダークモードの時にアイコンの色を白に変更*/
}
@media (prefers-color-scheme: dark) {
  .c-speech-player .tts-control-btn {
    color: var(--black);
  }
}
.c-speech-player .tts-control-btn .tts-icon {
  font-size: 20px;
  padding-left: 3px;
}
.c-speech-player .tts-control-btn .fa-pause:before {
  padding-right: 2px;
}
.c-speech-player p {
  display: none;
}
@media screen and (max-width: 834px) {
  .c-speech-player {
    z-index: 101;
    transform: none;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .c-speech-player__title {
    font-size: 0.75rem;
  }
  .c-speech-player .tts-control-btn {
    width: 40px;
    height: 30px;
  }
  .c-speech-player .tts-control-btn .tts-icon {
    font-size: 18px;
  }
}

.is-large-text #navi-menu-content .c-speech-player {
  gap: 4px;
}
@media screen and (max-width: 834px) {
  .is-large-text #navi-menu-content .c-speech-player {
    top: 5px;
    right: max(225px, 50% - 280px);
  }
}
.is-large-text #navi-menu-content .c-speech-player .c-speech-player__title {
  display: block;
  text-align: center;
  line-height: 1.2;
  white-space: pre-wrap;
  font-size: 1rem;
}
@media screen and (max-width: 834px) {
  .is-large-text #navi-menu-content .c-speech-player .c-speech-player__title {
    font-size: 0.835rem;
  }
}
@media screen and (max-width: 601px) {
  .is-large-text #navi-menu-content .c-speech-player .c-speech-player__title {
    font-size: 1.2rem;
    white-space: nowrap;
  }
}
.is-large-text #navi-menu-content .c-speech-player .tts-control-btn .tts-icon {
  font-size: 20px;
  padding-left: 5px;
}
@media screen and (max-width: 601px) {
  .is-large-text #navi-menu-content .c-speech-player .tts-control-btn .tts-icon {
    font-size: 25px;
    padding-left: 145px;
    padding-top: 0px;
  }
}

@media screen and (max-width: 1023px) {
  .c-speech-player.is-mobile-copy {
    display: none !important;
  }
}
/*モバイルでの調整*/
@media screen and (max-width: 601px) {
  #container > .c-speech-player:not(.is-mobile-copy) {
    display: none !important;
  }
  #navi-menu-content .c-speech-player {
    position: relative;
    top: 0;
    left: 0;
    display: flex !important;
    flex-direction: row;
    gap: 10px;
    width: auto;
    margin: 16px !important;
    background-color: var(--primary-light);
    border: solid 1px var(--primary-color) !important;
    height: 50px;
  }
  #navi-menu-content .c-speech-player .c-speech-player__title {
    color: var(--black);
    font-size: 1rem;
    padding-right: 35px;
  }
  #navi-menu-content .c-speech-player .tts-control-btn {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 50px;
    border: none;
    background: transparent;
  }
  #navi-menu-content .c-speech-player .tts-control-btn .tts-icon {
    font-size: 20px;
    padding-left: 120px;
  }
}
/*
@media screen and (min-width: $media-mobile) {
  // 本文の上（オリジナル）を表示
  #container > .c-speech-player {
    display: flex !important;
  }
}
*/
div#instagram-gallery-feed-0 .instagram-gallery-list.swiper-wrapper {
  padding: 0 !important;
  margin: 0 !important;
}

.insta-block {
  display: flex;
  gap: 2rem;
}

.insta-block .ig-wrapper {
  max-width: 400px;
}

/* インスタグラム (Combine Social Photos) の設定（601px以上の時のみ横並び） */
@media screen and (max-width: 782px) and (min-width: 601px) {
  div.wp-block-columns.is-layout-flex:has(.sb-csp-simple-slider-root) {
    display: flex !important;
    flex-wrap: nowrap !important;
    flex-direction: row !important;
  }
  div.wp-block-columns.is-layout-flex:has(.sb-csp-simple-slider-root) > .wp-block-column {
    flex: 1 1 50% !important;
    max-width: 50% !important;
    margin: 0 !important;
  }
  div.wp-block-columns.is-layout-flex:has(.sb-csp-simple-slider-root) > .wp-block-column .sb-csp-simple-slider-root {
    width: 100% !important;
    --sb-csp-width-base: 100% !important;
  }
}
/* 下のインスタグラムの矢印を濃く見せるための設定 */
.ig-wrapper .ig-scroll-move-left,
.ig-wrapper .ig-scroll-move-right {
  opacity: 0.8;
  width: unset;
}

/* 黒いエリアの設定（上詰めに固定） */
.sb-csp-ig-simple-slider .ig-post-detail.in-hover-area {
  display: block;
  position: absolute;
  inset: 0;
  overflow: hidden;
  /* ホバー制御 */
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s;
}

/* ホバー時に表示 */
.sb-csp-ig-simple-slider .ig-post-container:hover .ig-post-detail.in-hover-area {
  opacity: 1;
  visibility: visible;
}

/* ホバー時に不必要な文章を囲むリンクとラッパー(上の余白、内側の余白を完全に消す) */
.sb-csp-ig-simple-slider .ig-post-detail.in-hover-area a,
.sb-csp-ig-simple-slider .ig-post-caption-wrapper {
  display: block;
  margin: 0;
  padding: 0;
  height: auto;
}

/* ホバー時の文章自体の設定*/
.sb-csp-ig-simple-slider .ig-post-caption {
  color: var(--white);
}
@media (prefers-color-scheme: dark) {
  .sb-csp-ig-simple-slider .ig-post-caption {
    color: var(--black);
  }
}

/* ホバー時投稿者名を文章の「後」に配置 */
.sb-csp-ig-simple-slider .ig-post-author {
  display: block !important;
  position: relative !important;
  margin-top: 5px !important;
  font-size: 11px;
  color: var(--primary-light);
}

/*モバイルでは非表示
@media screen and (max-width: $media-mobile) {
  .wp-block-columns.is-layout-flex:has(.sb-csp-simple-slider-root) {
    display: none;
  }
  .font-instagram {
    display: none;
  }
}*/
/*モバイル時は文章とインスタを縦並びに*/
@media screen and (max-width: 834px) {
  .insta-block {
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
}
@media screen and (max-width: 601px) {
  .insta-block .ig-wrapper {
    width: 90vw;
    max-width: 400px;
    margin: 0 auto;
  }
  .sb-csp-ig-simple-slider .ig-post-caption {
    margin-top: 0px !important;
  }
}
/* _support.scss */
.page-support {
  /* ==========================================================================
     Snow Monkey Forms 共通設定
     ========================================================================== */
}
.page-support form.snow-monkey-form {
  max-width: 900px;
  margin: 40px auto;
  border: none !important;
  background-color: transparent;
  /* --- 1. プログレストラッカー --- */
}
.page-support form.snow-monkey-form .smf-progress-tracker {
  margin: 0 auto 40px;
  padding: 0;
  display: flex;
  justify-content: center;
}
.page-support form.snow-monkey-form .smf-progress-tracker__item {
  flex: 1;
  max-width: 160px;
  text-align: center;
  position: relative;
}
.page-support form.snow-monkey-form .smf-progress-tracker__item__number {
  background-color: var(--gray);
  color: #999;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  margin: 0 auto 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 2;
  position: relative;
}
.page-support form.snow-monkey-form .smf-progress-tracker__item__text {
  color: #999;
  font-size: 14px;
  font-weight: bold;
}
.page-support form.snow-monkey-form .smf-progress-tracker__item__text .screen-reader-text {
  display: none;
}
.page-support form.snow-monkey-form .smf-progress-tracker__item[aria-current=true] .smf-progress-tracker__item__number, .page-support form.snow-monkey-form .smf-progress-tracker__item[data-state=current] .smf-progress-tracker__item__number {
  background-color: var(--primary-color);
  color: var(--white);
}
.page-support form.snow-monkey-form .smf-progress-tracker__item[aria-current=true] .smf-progress-tracker__item__text, .page-support form.snow-monkey-form .smf-progress-tracker__item[data-state=current] .smf-progress-tracker__item__text {
  color: var(--primary-color);
}
.page-support form.snow-monkey-form .smf-progress-tracker__item[data-state=complete] .smf-progress-tracker__item__number {
  background-color: var(--primary-medium);
  color: var(--white);
}
.page-support form.snow-monkey-form .smf-progress-tracker__item:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 16px;
  left: 50%;
  width: 100%;
  height: 1px;
  background-color: var(--gray);
  z-index: 1;
}
.page-support form.snow-monkey-form {
  /* --- 2. フォーム項目：表デザイン --- */
}
.page-support form.snow-monkey-form .smf-item {
  background-color: var(--white);
  display: flex;
  flex-wrap: wrap;
  border: 1px solid var(--border-primary);
  border-top: none;
  overflow: hidden;
}
.page-support form.snow-monkey-form .smf-item:first-of-type {
  border-top: 5px solid var(--primary-color);
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
}
.page-support form.snow-monkey-form .smf-item.last-column {
  border-bottom-left-radius: 16px;
  border-bottom-right-radius: 16px;
  margin-bottom: 40px;
}
.page-support form.snow-monkey-form .smf-item__col--label {
  background-color: var(--table-header-bg);
  padding: 20px;
  width: 30%;
  border-right: 1px solid var(--border-primary);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5rem;
}
@media screen and (max-width: 601px) {
  .page-support form.snow-monkey-form .smf-item__col--label {
    width: 100%;
    padding-block: 0.5rem;
    border-right: none;
    border-bottom: 1px solid var(--border-primary);
    flex-direction: row;
    align-items: center;
  }
}
.page-support form.snow-monkey-form .smf-item__col--controls {
  padding: 20px;
  flex: 1;
  background-color: var(--white);
}
@media screen and (max-width: 601px) {
  .page-support form.snow-monkey-form .smf-item__col--controls {
    width: 100%;
  }
}
.page-support form.snow-monkey-form .smf-item__col--controls p {
  font-size: 0.8rem;
  margin-bottom: unset;
}
.page-support form.snow-monkey-form .smf-item__label {
  display: contents;
}
.page-support form.snow-monkey-form .smf-item__label__text {
  color: var(--secondary-color);
  font-weight: bold;
  white-space: nowrap;
}
@media screen and (max-width: 834px) {
  .page-support form.snow-monkey-form .smf-item__label__text {
    white-space: break-spaces;
  }
}
.page-support form.snow-monkey-form .smf-item__label .smf-label-tag {
  margin: 0;
  flex-shrink: 0;
}
.page-support form.snow-monkey-form .smf-item__description {
  color: var(--brown);
  margin-top: 0;
}
.page-support form.snow-monkey-form .smf-item .wp-block-columns {
  margin-bottom: 0;
}
@media screen and (max-width: 601px) {
  .page-support form.snow-monkey-form .smf-form .smf-textarea-control__control {
    padding-inline: 2px;
  }
}
.page-support form.snow-monkey-form .smf-form .smf-select-control__toggle:before {
  border-width: 0 2.5px 2.5px 0;
  height: 9px;
  width: 9px;
  top: calc(50% - 8px);
}
.page-support form.snow-monkey-form .smf-form .smf-select-control__control:active,
.page-support form.snow-monkey-form .smf-form .smf-select-control__control:focus,
.page-support form.snow-monkey-form .smf-form .smf-select-control__control:focus-within,
.page-support form.snow-monkey-form .smf-form .smf-select-control__control[aria-selected=true],
.page-support form.snow-monkey-form .smf-select-control__control:focus + .smf-select-control__toggle:before,
.page-support form.snow-monkey-form .smf-form .smf-text-control__control:active,
.page-support form.snow-monkey-form .smf-form .smf-text-control__control:focus,
.page-support form.snow-monkey-form .smf-form .smf-text-control__control:focus-within,
.page-support form.snow-monkey-form .smf-form .smf-text-control__control[aria-selected=true],
.page-support form.snow-monkey-form .smf-form .smf-textarea-control__control:active,
.page-support form.snow-monkey-form .smf-form .smf-textarea-control__control:focus,
.page-support form.snow-monkey-form .smf-form .smf-textarea-control__control:focus-within,
.page-support form.snow-monkey-form .smf-form .smf-textarea-control__control[aria-selected=true] {
  border-color: var(--border-primary) !important;
  --border-color: $border-primary !important;
  outline: none !important;
  box-shadow: none !important;
}
.page-support form.snow-monkey-form {
  /* --- 3. 送信・戻るボタン --- */
}
.page-support form.snow-monkey-form .smf-action {
  display: flex;
  justify-content: center;
  margin: 2rem 0;
}
.page-support form.snow-monkey-form .smf-action .smf-button-control__control {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1.2rem 3.5rem;
  font-size: 1rem;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  cursor: pointer;
  border: none;
  text-decoration: none;
  transition: all 0.2s ease;
  max-width: 320px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  background-color: var(--primary-color);
  color: #fff;
  border-radius: 60px;
  box-shadow: 0 4px 0 rgba(0, 0, 0, 0.2);
}
.page-support form.snow-monkey-form .smf-action .smf-button-control__control:hover {
  transform: translateY(2px);
  box-shadow: 0 2px 0 rgba(0, 0, 0, 0.2);
  opacity: 0.9;
  background-color: var(--primary-color);
  color: var(--white);
}
.page-support form.snow-monkey-form .smf-action .smf-button-control__control:active {
  transform: translateY(4px);
  box-shadow: 0 0 0 rgba(0, 0, 0, 0.2);
}
.page-support form.snow-monkey-form .smf-action .smf-button-control__control {
  background-image: unset;
  font-weight: bold;
}
.page-support form.snow-monkey-form .smf-action .smf-button-control__control[data-action=back] {
  background-color: var(--gray-deep);
  box-shadow: 0 4px 0 rgba(0, 0, 0, 0.2);
}
.page-support form.snow-monkey-form .smf-action .smf-button-control__control[data-action=back]:hover {
  background-color: var(--gray-deep);
  box-shadow: 0 2px 0 rgba(0, 0, 0, 0.2);
}
.page-support form.snow-monkey-form .smf-action .smf-button-control__control .smf-sending {
  right: 10px;
}
.page-support form.snow-monkey-form .smf-action .smf-button-control__control .smf-sending::before {
  border: 5px solid rgba(255, 255, 255, 0.8);
  opacity: 0.8;
  width: 30px;
  height: 30px;
}
.page-support form.snow-monkey-form .smf-action .smf-button-control__control[data-action=confirm] .smf-sending::before,
.page-support form.snow-monkey-form .smf-action .smf-button-control__control[data-action=complete] .smf-sending::before {
  border-top-color: var(--primary-color);
}
.page-support form.snow-monkey-form .smf-action .smf-button-control__control[data-action=back] .smf-sending::before {
  border-top-color: var(--gray-deep);
}
.page-support .js-condition-item .wp-block-group {
  margin-inline: 0;
  margin-bottom: 0;
  padding: 1rem;
}
@media screen and (max-width: 834px) {
  .page-support .js-condition-item .wp-block-group {
    gap: 0.5rem;
    padding-inline: 0;
  }
}
.page-support .js-condition-item .wp-block-group .smf-placeholder {
  max-width: 130px;
}
.page-support .js-condition-item .smf-text-control__control {
  padding-left: 24px;
  min-width: 95px;
}
.page-support .smf-text-control__control {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  /* アイコンと文字の隙間をギリギリにする設定 */
  background-position: 4px center !important;
  background-size: 18px !important;
  background-repeat: no-repeat !important;
  font-size: 16px;
  color: var(--black);
  border: 1px solid var(--primary-light);
  border-radius: 4px;
  background-color: var(--white);
  cursor: pointer;
}
@media screen and (max-width: 601px) {
  .page-support .smf-text-control__control {
    /* モバイルでさらに隙間を詰める */
    padding: 8px 2px 8px 2px;
    background-position: 3px center;
    background-size: 14px;
  }
}
.page-support .smf-text-control__control {
  /* アイコン画像の設定（!importantを追加して確実に反映） */
}
.page-support .smf-text-control__control[name*=希望日] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%234b824e' viewBox='0 0 24 24'%3E%3Cpath d='M19 4h-1V2h-2v2H8V2H6v2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V9h14v11z'/%3E%3C/svg%3E") !important;
}
.page-support .smf-text-control__control[name*=希望時間] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%234b824e' viewBox='0 0 24 24'%3E%3Cpath d='M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67z'/%3E%3C/svg%3E") !important;
}
@media (prefers-color-scheme: dark) {
  .page-support .smf-text-control__control[name*=希望日] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23ffffff' viewBox='0 0 24 24'%3E%3Cpath d='M19 4h-1V2h-2v2H8V2H6v2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V9h14v11z'/%3E%3C/svg%3E") !important;
  }
  .page-support .smf-text-control__control[name*=希望時間] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23ffffff' viewBox='0 0 24 24'%3E%3Cpath d='M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67z'/%3E%3C/svg%3E") !important;
  }
}
.page-support {
  /* --- Flatpickr パネル全体のデザイン調整 --- */
}
.page-support .flatpickr-calendar {
  border: 1px solid var(--primary-light);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1019607843) !important;
  background-color: var(--white);
}
.page-support .flatpickr-calendar .flatpickr-day.flatpickr-disabled,
.page-support .flatpickr-calendar .flatpickr-day.flatpickr-disabled:hover {
  background: #ffffff;
  color: var(--gray-dark);
  text-decoration: line-through;
  cursor: not-allowed;
}
.page-support .flatpickr-calendar .flatpickr-day.selected,
.page-support .flatpickr-calendar .flatpickr-day.selected:hover,
.page-support .flatpickr-calendar .flatpickr-time input:focus {
  background: var(--primary-medium);
  border-color: var(--primary-medium);
  color: var(--black);
  font-weight: bold;
}
.page-support .flatpickr-calendar .flatpickr-day.today {
  border-color: var(--primary-light);
}
.page-support .flatpickr-calendar .flatpickr-months .flatpickr-prev-month svg path,
.page-support .flatpickr-calendar .flatpickr-months .flatpickr-next-month svg path {
  fill: var(--black);
}
.page-support .flatpickr-calendar .flatpickr-current-month .flatpickr-monthDropdown-months,
.page-support .flatpickr-calendar .flatpickr-current-month input.cur-year,
.page-support .flatpickr-calendar span.flatpickr-weekday,
.page-support .flatpickr-calendar .flatpickr-day {
  color: var(--black);
}
@media (prefers-color-scheme: dark) {
  .page-support .flatpickr-calendar .numInputWrapper:hover {
    background: var(--gray-dark);
  }
}
@media (prefers-color-scheme: dark) {
  .page-support .flatpickr-calendar .flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month {
    background-color: var(--gray-dark);
  }
}
@media (prefers-color-scheme: dark) {
  .page-support .flatpickr-calendar .flatpickr-day:hover,
  .page-support .flatpickr-calendar .flatpickr-day:focus {
    background: var(--primary-color);
  }
}
@media screen and (max-width: 601px) {
  .page-support .flatpickr-calendar {
    transform: scale(0.9);
    transform-origin: top left;
  }
}
.page-support {
  /* ==========================================================================
   完了画面・アコーディオン
   ========================================================================== */
}
.page-support .is-custom-form .wp-block-button {
  display: flex !important;
  justify-content: center !important;
  margin-top: 40px !important;
}
.page-support .is-custom-form a.wp-block-button__link.wp-element-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1.2rem 3.5rem;
  font-size: 1rem;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  cursor: pointer;
  border: none;
  text-decoration: none;
  transition: all 0.2s ease;
  max-width: 320px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  background-color: var(--gray-deep);
  color: #fff;
  border-radius: 60px;
  box-shadow: 0 4px 0 rgba(0, 0, 0, 0.2);
}
.page-support .is-custom-form a.wp-block-button__link.wp-element-button:hover {
  transform: translateY(2px);
  box-shadow: 0 2px 0 rgba(0, 0, 0, 0.2);
  opacity: 0.9;
  background-color: var(--gray-deep);
  color: var(--white);
}
.page-support .is-custom-form a.wp-block-button__link.wp-element-button:active {
  transform: translateY(4px);
  box-shadow: 0 0 0 rgba(0, 0, 0, 0.2);
}
.page-support .is-custom-form .insert-privacy-block {
  border: 1px solid var(--gray);
  background-color: var(--white);
}
.page-support .is-custom-form .insert-privacy-block h2 {
  background-color: unset;
}
.page-support .is-custom-form .insert-privacy-block .wp-block-accordion-heading {
  border-left: 8px solid var(--primary-color);
  margin-bottom: unset;
}
.page-support .is-custom-form .insert-privacy-block .wp-block-accordion-heading__toggle-title {
  color: var(--secondary-color);
  font-weight: bold;
}
@media screen and (max-width: 601px) {
  .page-support .is-custom-form .insert-privacy-block .wp-block-accordion-heading__toggle-title {
    font-size: 1rem;
  }
}
@media screen and (max-width: 601px) {
  .page-support .is-custom-form .insert-privacy-block .wp-block-accordion-panel {
    padding-inline: 1rem;
  }
}
.page-support .is-custom-form h2 {
  font-size: 1.2rem;
}
@media screen and (max-width: 601px) {
  .page-support .is-custom-form h2 {
    font-size: 1rem;
  }
}
.page-support .is-custom-form h3 {
  font-size: 1rem;
}
@media screen and (max-width: 601px) {
  .page-support .is-custom-form h3 {
    font-size: 0.9rem;
  }
}
.page-support .is-custom-form p,
.page-support .is-custom-form li {
  font-size: 0.85rem;
}
.page-support .smf-checkboxes-control {
  margin-top: 1.5rem;
}
.page-support .smf-form .smf-checkbox-control {
  align-items: center;
}
@media (prefers-color-scheme: dark) {
  .page-support .smf-form .smf-select-control__control {
    color: var(--black);
  }
  .page-support .smf-form .smf-select-control__control option {
    background: var(--gray-dark);
  }
  .page-support .smf-form .smf-select-control__toggle,
  .page-support .smf-form .smf-text-control__control,
  .page-support .smf-form .smf-textarea-control__control {
    background: var(--gray-dark);
  }
  .page-support .smf-form .smf-textarea-control__control {
    caret-color: var(--black);
    color: var(--black);
  }
  .page-support .smf-form {
    /* 自動入力時のスタイルを強制的に上書きする */
  }
  .page-support .smf-form .smf-text-control__control:-webkit-autofill,
  .page-support .smf-form .smf-text-control__control:-webkit-autofill:hover,
  .page-support .smf-form .smf-text-control__control:-webkit-autofill:focus,
  .page-support .smf-form .smf-textarea-control__control:-webkit-autofill,
  .page-support .smf-form .smf-textarea-control__control:-webkit-autofill:hover,
  .page-support .smf-form .smf-textarea-control__control:-webkit-autofill:focus {
    /* 1. box-shadowで疑似的に背景色を塗る */
    -webkit-box-shadow: 0 0 0 1000px var(--gray-dark) inset !important;
    /* 2. 文字色も自動入力時に黒くならないよう指定 */
    -webkit-text-fill-color: var(--black) !important;
    /* 3. トランジションを無効化して白く光る時間をなくす */
    -webkit-transition: background-color 5000s ease-in-out 0s;
    transition: background-color 5000s ease-in-out 0s;
  }
}
.page-support.is-large-text .smf-form .smf-text-control__control {
  font-size: 1.1rem;
}
.page-support.is-large-text .smf-form .smf-item__col--controls p {
  font-size: 0.9rem;
}
.page-support.is-large-text .insert-privacy-block .wp-block-group {
  line-height: 1.2;
}
@media screen and (max-width: 601px) {
  .page-support.is-large-text .insert-privacy-block .wp-block-group {
    margin-inline: 0;
  }
}
.page-support.is-large-text .insert-privacy-block h2 {
  font-size: 1.1rem;
}
.page-support.is-large-text .insert-privacy-block h3 {
  font-size: 1rem;
}
.page-support.is-large-text .insert-privacy-block p,
.page-support.is-large-text .insert-privacy-block li {
  font-size: 0.95rem;
}

/* スイッチ全体を包むコンテナ（位置調整用） */
.font-size-switcher-wrapper {
  z-index: 101;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: var(--black);
}
.font-size-switcher-wrapper .font-size-switcher-title {
  font-size: 0.89rem;
  font-weight: 500;
}
@media screen and (max-width: 834px) {
  .font-size-switcher-wrapper .font-size-switcher-title {
    font-size: 13.5px;
  }
}
@media screen and (max-width: 1023px) {
  .font-size-switcher-wrapper {
    top: 20px;
    left: auto;
    right: 80px;
    transform: none;
    flex-direction: column;
    background-color: var(--background-color);
  }
}

/* スイッチの土台（大きなグレーの楕円） */
.font-size-switcher {
  position: relative;
  display: flex;
  width: 120px;
  height: 32px;
  background-color: var(--gray);
  border-radius: 18px;
  cursor: pointer;
  transition: background-color 0.3s;
  overflow: hidden;
}
@media screen and (max-width: 834px) {
  .font-size-switcher {
    width: 90px;
    height: 28px;
  }
}
@media screen and (max-width: 601px) {
  .font-size-switcher {
    width: 120px;
    height: 40px;
  }
}

/* 文字サイズを拡大にしたときの高さ調整 */
/* 標準・拡大の文字 */
.font-size-switcher span {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50%;
  height: 100%;
  font-size: 14px;
  color: var(--black);
  z-index: 10;
  transition: color 0.3s;
}
@media screen and (max-width: 834px) {
  .font-size-switcher span {
    font-size: 13.5px;
  }
}
@media screen and (max-width: 601px) {
  .font-size-switcher span {
    font-size: 1rem;
  }
}

/* スイッチのつまみ（上に乗っかる白い楕円） */
.font-size-switcher::before {
  content: "";
  position: absolute;
  top: 3px; /* 土台からの余白 */
  left: 3px; /* 初期位置（標準側） */
  width: 54px; /* つまみの横幅 (120/2 - 3*2) */
  height: 25px;
  background-color: var(--white);
  border-radius: 15px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); /* 少し影を付けて立体感を */
  transition: transform 0.3s;
  z-index: 5;
}
@media screen and (max-width: 834px) {
  .font-size-switcher::before {
    width: 40px;
    height: 22px;
    top: 2.5px;
  }
}
@media screen and (max-width: 601px) {
  .font-size-switcher::before {
    width: 55px;
    height: 33px;
    top: 2.5px;
  }
}
@media (prefers-color-scheme: dark) {
  .font-size-switcher::before {
    background-color: var(--lp-bg-green);
  }
}

/* スイッチがアクティブ（拡大）になった時のつまみの移動 */
.font-size-switcher.is-active::before {
  transform: translateX(58px) translateY(1.5px); /* ←ここが反映されるようになります */
}

/* メニュー内での見た目の微調整 */
@media screen and (max-width: 1023px) {
  #navi-menu-content .font-size-switcher-wrapper.is-mobile-copy {
    display: none !important;
  }
}
@media screen and (max-width: 601px) {
  #navi-menu-content .font-size-switcher-wrapper.is-mobile-copy {
    display: flex !important;
  }
}

@media screen and (max-width: 601px) {
  #container > .font-size-switcher-wrapper:not(.is-mobile-copy) {
    display: none !important;
  }
}
/*ハンバーガーメニュー内の文字調整ボタンのレイアウト調整*/
#navi-menu-content .font-size-switcher-wrapper {
  position: relative;
  top: 0;
  left: 0;
  display: flex !important;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 10px;
  width: auto;
  margin: 16px !important;
  background-color: var(--white);
  border-radius: 15px;
  border: solid 1px var(--primary-color) !important;
  height: 50px;
}
#navi-menu-content .font-size-switcher-wrapper .font-size-switcher-title {
  font-weight: bold;
  font-size: 1rem;
  color: var(--black);
}
#navi-menu-content .font-size-switcher-wrapper .font-size-switcher {
  border: solid 1px var(--brown);
}

/*文字サイズを拡大にしたとき*/
@media screen and (max-width: 834px) {
  .is-large-text .font-size-switcher {
    width: 90px;
  }
  .is-large-text .font-size-switcher::before {
    width: 42px;
    top: 1.6px;
    left: -12px;
  }
}
@media screen and (max-width: 601px) {
  .is-large-text .font-size-switcher {
    width: 120px;
  }
  .is-large-text .font-size-switcher::before {
    width: 52px;
    left: -13px;
  }
  .is-large-text .font-size-switcher.is-active::before {
    transform: translateX(75px) translateY(1px);
  }
}
.is-large-text .font-size-switcher-wrapper {
  gap: 4px;
}
@media screen and (max-width: 834px) {
  .is-large-text .font-size-switcher-wrapper {
    right: max(80px, 50% - 435px);
  }
}
.is-large-text .font-size-switcher-wrapper span,
.is-large-text .font-size-switcher-wrapper .font-size-switcher-title {
  font-size: 1rem;
  line-height: 1.2;
}
@media screen and (max-width: 834px) {
  .is-large-text .font-size-switcher-wrapper span,
  .is-large-text .font-size-switcher-wrapper .font-size-switcher-title {
    font-size: 0.835rem;
  }
}
@media screen and (max-width: 601px) {
  .is-large-text .font-size-switcher-wrapper span,
  .is-large-text .font-size-switcher-wrapper .font-size-switcher-title {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 601px) {
  .is-large-text #navi-menu-content .font-size-switcher-wrapper .font-size-switcher-title {
    font-size: 1.2rem;
  }
  .is-large-text #navi-menu-content .menu-drawer {
    font-size: 1.2rem;
  }
}

/* _well-being-figure.scss 全文書き換え */
.wellbeing-chart {
  position: relative;
  width: 100%;
  max-width: 600px;
  aspect-ratio: 1/1;
  margin: 40px auto;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 834px) {
  .wellbeing-chart {
    max-width: 450px;
  }
}
.wellbeing-chart .wb-center {
  position: absolute;
  width: 50%;
  height: 50%;
  background-color: var(--wb-purple);
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--black);
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.2;
  z-index: 10;
  text-align: center;
  box-shadow: 0 0px 25px rgba(157, 77, 231, 0.3019607843), inset 0 0 15px rgba(0, 0, 0, 0.5019607843);
}
@media screen and (max-width: 601px) {
  .wellbeing-chart .wb-center {
    font-size: 1rem;
  }
}
@media (prefers-color-scheme: dark) {
  .wellbeing-chart .wb-center {
    color: var(--white);
  }
}
.wellbeing-chart .wb-circle {
  position: absolute;
  width: 41%;
  height: 41%;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: var(--black);
  text-align: center;
  z-index: 5;
  line-height: 1.3;
  font-size: 1.1rem;
}
@media (prefers-color-scheme: dark) {
  .wellbeing-chart .wb-circle {
    color: var(--white);
  }
}
@media screen and (max-width: 834px) {
  .wellbeing-chart .wb-circle {
    font-size: 1rem;
  }
}
@media screen and (max-width: 601px) {
  .wellbeing-chart .wb-circle {
    font-size: 0.85rem;
  }
}
.wellbeing-chart .wb-circle .icon {
  font-size: 2rem;
  margin-bottom: 4px;
  display: block;
}
@media screen and (max-width: 601px) {
  .wellbeing-chart .wb-circle .icon {
    font-size: 1.3rem;
  }
}
.wellbeing-chart .wb-circle.pos-top {
  top: -3%;
  left: 50%;
  transform: translateX(-50%);
  background-color: var(--wb-red);
  padding-bottom: 40px;
}
.wellbeing-chart .wb-circle.pos-left {
  top: 20%;
  left: 0%;
  background-color: var(--wb-blue);
  padding-bottom: 17px;
  padding-right: 40px;
}
@media screen and (max-width: 834px) {
  .wellbeing-chart .wb-circle.pos-left {
    padding-right: 40px;
  }
}
.wellbeing-chart .wb-circle.pos-right {
  top: 20%;
  right: 0%;
  background-color: var(--wb-green);
  padding-bottom: 17px;
  padding-left: 8px;
}
@media screen and (max-width: 834px) {
  .wellbeing-chart .wb-circle.pos-right {
    padding-left: 20px;
  }
}
.wellbeing-chart .wb-circle.pos-bottom-left {
  bottom: 4%;
  left: 11%;
  background-color: var(--wb-gray);
  padding-top: 8px;
}
@media screen and (max-width: 834px) {
  .wellbeing-chart .wb-circle.pos-bottom-left {
    padding-top: 20px;
    padding-right: 10px;
  }
}
.wellbeing-chart .wb-circle.pos-bottom-right {
  bottom: 4%;
  right: 11%;
  background-color: var(--wb-orange);
  padding-top: 8px;
}
@media screen and (max-width: 834px) {
  .wellbeing-chart .wb-circle.pos-bottom-right {
    padding-top: 20px;
    padding-left: 10px;
  }
}

.lifeplan-system-container {
  max-width: 1000px;
  margin: auto;
  background-color: transparent;
  color: var(--lp-text-main);
}
@media screen and (max-width: 601px) {
  .lifeplan-system-container {
    margin-top: 0px;
    padding-top: 0px;
  }
}
.lifeplan-system-container .lp-top-row {
  display: flex;
  justify-content: center;
  gap: 25px;
  margin-bottom: 30px;
}
@media screen and (max-width: 834px) {
  .lifeplan-system-container .lp-top-row {
    flex-direction: column;
    align-items: center;
  }
}
.lifeplan-system-container {
  /* カード共通デザイン */
}
.lifeplan-system-container .lp-parallel-card,
.lifeplan-system-container .lp-bottom-goal {
  border-radius: 16px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.1019607843);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  transition: transform 0.3s ease;
}
.lifeplan-system-container .lp-parallel-card.bg-pink,
.lifeplan-system-container .lp-bottom-goal.bg-pink {
  background-color: var(--lp-bg-pink);
  border: solid 4px var(--lp-border-pink);
}
.lifeplan-system-container .lp-parallel-card.bg-blue,
.lifeplan-system-container .lp-bottom-goal.bg-blue {
  background-color: var(--lp-bg-blue);
  border: solid 4px var(--lp-border-blue);
}
.lifeplan-system-container .lp-parallel-card.bg-green,
.lifeplan-system-container .lp-bottom-goal.bg-green {
  background-color: var(--lp-bg-green);
  border: solid 4px var(--lp-border-green);
}
.lifeplan-system-container .lp-parallel-card.bg-orange,
.lifeplan-system-container .lp-bottom-goal.bg-orange {
  background-color: var(--lp-bg-orange);
}
.lifeplan-system-container .lp-parallel-card {
  flex: 1;
  padding: 35px 25px;
}
@media screen and (max-width: 1023px) {
  .lifeplan-system-container .lp-parallel-card {
    padding: 25px 15px;
  }
}
@media screen and (max-width: 834px) {
  .lifeplan-system-container .lp-parallel-card {
    width: 100%;
    max-width: 400px;
  }
}
@media screen and (max-width: 601px) {
  .lifeplan-system-container .lp-parallel-card {
    max-width: 300px;
    padding: 0px 10px 25px;
  }
}
.lifeplan-system-container .lp-bottom-goal {
  max-width: 800px;
  margin: 0 auto;
  padding: 40px;
  border-top: 6px solid var(--lp-accent);
}
@media screen and (max-width: 834px) {
  .lifeplan-system-container .lp-bottom-goal {
    max-width: 500px;
  }
}
.lifeplan-system-container {
  /* アイコン装飾 */
}
.lifeplan-system-container .lp-icon-box {
  width: 70px;
  height: 70px;
  border-radius: 50%;
  margin-bottom: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 50px;
}
@media screen and (max-width: 601px) {
  .lifeplan-system-container .lp-icon-box {
    font-size: 32px;
    margin-bottom: 0px;
  }
}
.lifeplan-system-container {
  /* タイトルと仕切り線 */
}
.lifeplan-system-container .lp-card-title,
.lifeplan-system-container .lp-goal-title {
  font-size: 1.1rem;
  font-weight: 800;
  margin: 0;
  color: var(--lp-text-main);
  white-space: nowrap;
}
.lifeplan-system-container .lp-card-title.bg-pink,
.lifeplan-system-container .lp-goal-title.bg-pink {
  border-bottom: solid 2px var(--lp-border-pink);
}
.lifeplan-system-container .lp-card-title.bg-blue,
.lifeplan-system-container .lp-goal-title.bg-blue {
  border-bottom: solid 2px var(--lp-border-blue);
}
.lifeplan-system-container .lp-card-title.bg-green,
.lifeplan-system-container .lp-goal-title.bg-green {
  border-bottom: solid 2px var(--lp-border-green);
}
.lifeplan-system-container .lp-card-title.bg-orange,
.lifeplan-system-container .lp-goal-title.bg-orange {
  border-bottom: solid 2px var(--lp-border-orange);
}
@media screen and (max-width: 601px) {
  .lifeplan-system-container .lp-card-title,
  .lifeplan-system-container .lp-goal-title {
    font-size: 1.25rem;
    padding-top: 0px;
  }
}
.lifeplan-system-container .lp-goal-title {
  color: var(--lp-accent);
}
.lifeplan-system-container {
  /* テキスト */
}
.lifeplan-system-container .lp-card-body,
.lifeplan-system-container .lp-goal-body {
  font-size: 0.9rem;
  line-height: 1.8;
  color: var(--lp-text-sub);
  margin: 0;
}
.lifeplan-system-container .lp-goal-body {
  font-size: 1rem;
  color: var(--black);
}
.lifeplan-system-container {
  /* 矢印コネクタ */
}
.lifeplan-system-container .lp-connector {
  text-align: center;
  margin: 20px 0;
}
.lifeplan-system-container .lp-connector .lp-arrow {
  display: inline-block;
  width: 0;
  height: 0;
  border-left: 15px solid transparent;
  border-right: 15px solid transparent;
  border-top: 20px solid var(--lp-arrow);
}

.rm-step-container {
  width: 100%;
  margin: auto;
  color: var(--black);
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 30px;
}
@media screen and (max-width: 834px) {
  .rm-step-container {
    flex-direction: column;
    gap: 5px;
  }
}
.rm-step-container .centered-profile {
  flex: 0 0 160px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.rm-step-container .centered-profile .wp-block-image {
  margin: 0 0 10px 0;
  width: 100px;
}
.rm-step-container .centered-profile .wp-block-image img {
  width: 100%;
  height: auto;
}
.rm-step-container .centered-profile p {
  margin: 0;
  font-weight: bold;
  font-size: 1rem;
}
.rm-step-container .rm-pc-wrapper-outer {
  flex: 1;
  padding: 10px 100px;
}
@media screen and (max-width: 1023px) {
  .rm-step-container .rm-pc-wrapper-outer {
    padding: 10px 50px;
  }
}
@media screen and (max-width: 834px) {
  .rm-step-container .rm-pc-wrapper-outer {
    padding: 0px 20px;
  }
}
@media screen and (max-width: 601px) {
  .rm-step-container .rm-pc-wrapper-outer {
    display: none;
  }
}
.rm-step-container {
  /* PC版：格子状デザイン（枠線をグレーに） */
}
.rm-step-container .rm-pc-wrapper {
  display: grid;
  background-color: var(--step-border);
  border: 1px solid var(--gray-deep);
  grid-template-rows: repeat(3, 1fr);
  grid-template-columns: 2fr 2fr 1fr 1fr 1fr;
  overflow: hidden;
}
.rm-step-container .rm-pc-cell {
  background-color: var(--card-bg);
  padding: 10px 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 16px;
  height: 100%;
  box-sizing: border-box;
}
.rm-step-container .rm-pc-cell.bg-yellow {
  background-color: var(--step-yellow);
}
.rm-step-container .rm-pc-cell.bg-amber {
  background-color: var(--step-amber);
}
.rm-step-container .rm-pc-cell.bg-pink {
  background-color: var(--step-pink);
}
.rm-step-container .rm-pc-cell.bg-blue {
  background-color: var(--step-blue);
}
.rm-step-container .rm-pc-cell.bg-green {
  background-color: var(--step-green);
}
.rm-step-container .rm-pc-cell.pc-area-skill {
  grid-column: 1/span 4;
  grid-row: 1;
}
.rm-step-container .rm-pc-cell.pc-area-sub1 {
  grid-column: 1;
  grid-row: 2;
  border-top: 1px solid var(--gray-deep);
  border-bottom: 1px solid var(--gray-deep);
  border-right: 1px solid var(--gray-deep);
}
.rm-step-container .rm-pc-cell.pc-area-plan {
  grid-column: 1;
  grid-row: 3;
  border-right: 1px solid var(--gray-deep);
}
.rm-step-container .rm-pc-cell.pc-area-pre {
  grid-column: 2/span 2;
  grid-row: 2;
  border-bottom: 1px solid var(--gray);
  border-top: 1px solid var(--gray-deep);
}
.rm-step-container .rm-pc-cell.pc-area-trial {
  grid-column: 2;
  grid-row: 3;
  font-size: 14px;
}
.rm-step-container .rm-pc-cell.pc-area-train {
  grid-column: 4;
  grid-row: 2/span 2;
  border-top: 1px solid var(--gray-deep);
  border-left: 1px solid var(--gray-deep);
}
.rm-step-container .rm-pc-cell.pc-area-exam {
  grid-column: 3;
  grid-row: 3;
  border-left: 1px solid var(--gray);
  font-size: 14px;
}
.rm-step-container .rm-pc-cell.pc-area-job {
  grid-column: 5;
  grid-row: 1/span 3;
  color: var(--black);
  font-size: 16px;
  border-left: 1px solid var(--gray-deep);
}
.rm-step-container .rm-pc-time-row {
  display: grid;
  gap: 1px;
  margin-top: 10px;
  text-align: center;
  font-weight: bold;
  font-size: 0.9rem;
  color: var(--gray-deep);
}
.rm-step-container {
  /* --- スマホ版 --- */
}
.rm-step-container .rm-sp-wrapper {
  display: none;
}
@media screen and (max-width: 601px) {
  .rm-step-container .rm-sp-wrapper {
    display: block;
    width: 100%;
  }
}
.rm-step-container .rm-sp-wrapper .sp-timeline-container {
  position: relative;
  display: grid;
  gap: 0px;
  grid-template-columns: 1fr 3fr 1fr;
  grid-template-rows: auto auto;
}
.rm-step-container .rm-sp-wrapper .sp-month-area {
  background-color: var(--background-color);
  color: var(--black);
  display: grid;
  grid-row: 1/3;
  grid-column: 1;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 0.95rem;
  border-top: 1px solid var(--gray-deep);
  border-left: 1px solid var(--gray-deep);
  border-bottom: 1px solid var(--gray-deep);
  border-radius: 16px 0px 0px 16px;
  padding-inline: 4px;
}
.rm-step-container .rm-sp-wrapper {
  /* 2~6ヵ月目 */
}
.rm-step-container .rm-sp-wrapper .sp-month-area .month-child:nth-child(2) {
  margin-top: 20px;
}
.rm-step-container .rm-sp-wrapper {
  /* 7ヵ月目 */
}
.rm-step-container .rm-sp-wrapper .sp-month-area .month-child:nth-child(3) {
  margin-top: 10px;
}
.rm-step-container .rm-sp-wrapper {
  /* 8か月 */
}
.rm-step-container .rm-sp-wrapper .sp-month-area .month-child:nth-child(4) {
  margin-top: 12px;
}
.rm-step-container .rm-sp-wrapper .sp-step-card {
  display: grid;
  grid-row: 1;
  grid-column: 2;
  grid-template-columns: 1fr;
  background-color: var(--card-bg);
  border-radius: 0px;
  overflow: hidden;
  border-top: 1px solid var(--gray-deep);
  border-left: 1px solid var(--step-border);
  border-right: 1px solid var(--step-border);
}
.rm-step-container .rm-sp-wrapper .sp-step-card .sp-content-area {
  padding: 10px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.rm-step-container .rm-sp-wrapper .sp-step-card .sp-content-area:first-child {
  padding-bottom: 0px;
}
.rm-step-container .rm-sp-wrapper .sp-step-card .sp-content-area:last-child {
  padding-top: 0px;
}
.rm-step-container .rm-sp-wrapper .sp-step-card.is-job {
  grid-row: 2;
  grid-column: 2/4;
  height: 84px;
  background-color: var(--step-pink);
  border-top: 1px solid var(--step-border);
  border-right: 1px solid var(--gray-deep);
  border-bottom: 1px solid var(--gray-deep);
  border-radius: 0px 0px 16px 0px;
}
.rm-step-container .rm-sp-wrapper .sp-step-card.is-job .sp-content-area {
  padding: 0;
  height: 100%;
  justify-content: center;
  align-items: center;
}
.rm-step-container .rm-sp-wrapper .sp-step-card.is-job .sp-job-title {
  font-size: 1.3rem;
  color: var(--black);
}
.rm-step-container .rm-sp-wrapper .sp-side-skill-bar {
  grid-row: 1;
  grid-column: 3;
  background-color: var(--step-yellow);
  border-top: 1px solid var(--gray-deep);
  border-right: 1px solid var(--gray-deep);
  border-radius: 0px 16px 0px 0px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.rm-step-container .rm-sp-wrapper .sp-side-skill-bar .skill-text {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  font-size: 0.95rem;
  color: var(--step-text-skill);
  max-width: 25px;
  display: flex;
  align-items: center;
}
.rm-step-container .rm-sp-wrapper .sp-label {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 10px;
  border-radius: 4px;
  font-size: 0.95rem;
  background-color: var(--card-bg);
  border: 1px solid var(--step-border);
  border-left: 5px solid var(--gray-deep);
}
.rm-step-container .rm-sp-wrapper .sp-label.bg-blue {
  border-left-color: var(--step-blue);
}
.rm-step-container .rm-sp-wrapper .sp-label.bg-amber {
  border-left-color: var(--step-amber);
}
.rm-step-container .rm-sp-wrapper .sp-label.bg-green {
  border-left-color: var(--step-green);
}
.rm-step-container .rm-sp-wrapper .sp-label.bg-pink {
  border-left-color: var(--step-pink);
}

.wp-block-group.is-style-white-card {
  margin-bottom: 2rem;
}
.wp-block-group.is-style-white-card .life-plan h3 {
  font-weight: 800;
  color: var(--accent-orange); /* オレンジ */
  margin-bottom: 40px;
  border: none;
  text-align: center;
}
@media screen and (max-width: 601px) {
  .wp-block-group.is-style-white-card .life-plan h3 {
    margin-bottom: 20px;
  }
}
.wp-block-group.is-style-white-card .life-plan {
  /* 3つのブロックレイアウト */
}
.wp-block-group.is-style-white-card .life-plan .lp-base-wrapper {
  display: flex;
  justify-content: center;
  gap: 15px;
  margin-bottom: 40px;
}
@media (max-width: 480px) {
  .wp-block-group.is-style-white-card .life-plan .lp-base-wrapper {
    flex-direction: column;
    gap: 10px;
    padding: 0 10px;
  }
}
.wp-block-group.is-style-white-card .life-plan .lp-block {
  flex: 1;
  border-radius: 16px;
  padding: 20px 15px 25px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  border: 2px solid transparent;
  transition: all 0.3s ease;
}
@media screen and (max-width: 601px) {
  .wp-block-group.is-style-white-card .life-plan .lp-block {
    padding: 0px 10px 10px;
  }
}
@media (max-width: 480px) {
  .wp-block-group.is-style-white-card .life-plan .lp-block {
    flex-direction: row;
    gap: 10px;
    padding: 5px;
  }
}
.wp-block-group.is-style-white-card .life-plan .block-pink {
  background-color: var(--lp-bg-pink);
  border-color: var(--lp-border-pink);
}
.wp-block-group.is-style-white-card .life-plan .block-blue {
  background-color: var(--lp-bg-blue);
  border-color: var(--lp-border-blue);
}
.wp-block-group.is-style-white-card .life-plan .block-green {
  background-color: var(--lp-bg-green);
  border-color: var(--lp-border-green);
}
.wp-block-group.is-style-white-card .life-plan .lp-block-icon {
  font-size: 26px;
}
.wp-block-group.is-style-white-card .life-plan .lp-block-label {
  font-size: 1rem;
  font-weight: 700;
  color: var(--lp-text-sub);
}
@media screen and (max-width: 834px) {
  .wp-block-group.is-style-white-card .life-plan .lp-block-label {
    line-height: 1.2;
    font-size: 16px;
  }
}
.wp-block-group.is-style-white-card .life-plan .lp-bottom-message {
  line-height: 2;
}
.wp-block-group.is-style-white-card .life-plan .lp-bottom-message strong {
  font-weight: 800;
  background: linear-gradient(transparent 60%, #ffecb3 60%);
}
@media (prefers-color-scheme: dark) {
  .wp-block-group.is-style-white-card .life-plan .lp-bottom-message strong {
    background: linear-gradient(transparent 70%, #ffecb3 95%);
  }
}
.wp-block-group.is-style-white-card .life-plan p {
  text-align: center;
}

/*ヘッダー*/
.header-container {
  position: relative;
}

.header-container .header-container-in {
  position: fixed !important;
  z-index: 100;
  top: 0px;
  width: 100%;
  background-color: var(--background-color);
  position: relative;
}
.header-container .header-container-in.hlt-center-logo .header-in {
  height: auto;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  max-width: 1256px;
  margin: auto;
}
@media screen and (max-width: 1023px) {
  .header-container .header-container-in.hlt-center-logo .header-in {
    box-shadow: 0 10px 10px -3px rgba(0, 0, 0, 0.1019607843);
    padding: 0 320px 0 0;
    height: 85px;
    /*ダークモードの時にヘッダーの境目に線を入れる*/
  }
}
@media screen and (max-width: 1023px) and (prefers-color-scheme: dark) {
  .header-container .header-container-in.hlt-center-logo .header-in {
    box-shadow: 0 5px 10px -3px rgba(220, 219, 219, 0.1019607843);
  }
}
@media screen and (max-width: 601px) {
  .header-container .header-container-in.hlt-center-logo .header-in {
    position: fixed;
    z-index: 100;
    top: 0px;
    background-color: var(--background-color);
    width: 100%;
    height: 85px;
  }
}
.header-container .header-container-in.hlt-center-logo .header-in {
  /*ヘッダー内のインスタグラムとGrasolロゴ（モバイル用）*/
}
.header-container .header-container-in.hlt-center-logo .header-in #header-instagram-mobile {
  display: none;
}
@media screen and (max-width: 1023px) {
  .header-container .header-container-in.hlt-center-logo .header-in #header-instagram-mobile {
    display: flex;
    align-items: center;
    position: absolute;
    right: 68px; /* ハンバーガーボタン（通常右端）の横に配置 */
    top: 42px;
    transform: translateY(-50%);
    z-index: 10;
  }
  .header-container .header-container-in.hlt-center-logo .header-in #header-instagram-mobile .hamburger-menu-logo {
    display: none;
  }
  .header-container .header-container-in.hlt-center-logo .header-in #header-instagram-mobile .hamburger-menu-instagram {
    margin-inline: 20px;
  }
}
@media screen and (max-width: 1023px) and (max-width: 360px) {
  .header-container .header-container-in.hlt-center-logo .header-in #header-instagram-mobile .hamburger-menu-instagram {
    margin-inline: 10px;
  }
}
@media screen and (max-width: 1023px) {
  .header-container .header-container-in.hlt-center-logo .header-in #header-instagram-mobile .hamburger-menu-instagram .fa-instagram {
    font-size: 45px;
    background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285aeb 90%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }
}
@media screen and (max-width: 1023px) and (prefers-color-scheme: dark) {
  .header-container .header-container-in.hlt-center-logo .header-in #header-instagram-mobile .hamburger-menu-instagram .fa-instagram {
    background: var(--black);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }
}
.header-container .header-container-in.hlt-center-logo .header-in {
  /*ヘッダーのロゴ*/
}
@media screen and (max-width: 601px) {
  .header-container .header-container-in.hlt-center-logo .header-in .logo-image {
    padding: 0;
  }
}
.header-container .header-container-in.hlt-center-logo .header-in .logo-header {
  flex-shrink: 0;
}
.header-container .header-container-in.hlt-center-logo .header-in .logo-header a {
  display: flex;
  align-items: center;
  height: 100%;
  width: auto;
}
@media screen and (max-width: 1023px) {
  .header-container .header-container-in.hlt-center-logo .header-in .logo-header .site-name {
    padding: 0px 5px;
  }
}
.header-container .header-container-in.hlt-center-logo .header-in .logo-header .site-logo-image {
  max-width: 300px;
  min-width: 60px;
  height: auto;
  position: relative;
  padding: 11px 14.5px;
}
@media screen and (max-width: 1023px) {
  .header-container .header-container-in.hlt-center-logo .header-in .logo-header .site-logo-image {
    max-width: 230px;
    padding: 8px 10px;
  }
}
@media screen and (max-width: 360px) {
  .header-container .header-container-in.hlt-center-logo .header-in .logo-header .site-logo-image {
    max-width: 200px;
  }
}
@media (prefers-color-scheme: dark) {
  .header-container .header-container-in.hlt-center-logo .header-in .logo-header .site-logo-image {
    content: url("../assets/images/darkmode-milai-grobu-yoko1.png");
    width: 100%;
    height: auto;
  }
}
.header-container .header-container-in.hlt-center-logo .header-in .logo-header {
  background-color: var(--background-color);
}

/*ヘッダーメニュー*/
.navi {
  position: fixed;
  z-index: 100;
  width: 100%;
  background-color: var(--background-color);
  box-shadow: 0 10px 10px -10px rgba(0, 0, 0, 0.3019607843);
  /*ダークモードの時にヘッダーの境目に線を入れる*/
}
@media (prefers-color-scheme: dark) {
  .navi {
    box-shadow: 0 10px 10px -5px rgba(220, 219, 219, 0.1019607843);
  }
}
.navi .navi-in {
  width: 100%;
  margin-top: 5px;
  height: auto;
  /*メニュー全体の共通スタイル*/
}
.navi .navi-in ul.menu-top {
  max-width: 1256px;
  padding-inline: 24px;
  display: flex;
  justify-content: space-between;
  gap: clamp(4px, 1vw, 30px);
  width: 100%;
  text-align: center;
  flex-wrap: nowrap;
  margin: auto;
  background-color: var(--background-color);
  position: static;
  /*お問い合わせボタン以外のメニュー*/
}
.navi .navi-in ul.menu-top li.menu-item {
  flex: 0 1 auto;
  width: auto;
  margin-top: -12px;
}
.navi .navi-in ul.menu-top li.menu-item a {
  display: inline-flex;
  align-items: center;
  width: auto;
  padding-block: 10px;
  white-space: nowrap;
  border-bottom: solid 3px transparent;
  transition: border-color 0.2s;
}
.navi .navi-in ul.menu-top li.menu-item a:hover {
  border-bottom-color: var(--primary-color);
}
.navi .navi-in ul.menu-top li.menu-item a {
  /*border: solid 2px $primary-color;
  border-bottom: solid 5px $primary-color;*/
  /*&:hover {
    background-color: $primary-light;
    border-bottom: solid 5px $primary-color;
  }*/
}
.navi .navi-in ul.menu-top li.menu-item a .caption-wrap .item-label {
  white-space: normal;
  font-size: 1rem;
  color: var(--black);
  font-weight: bold;
  line-height: 1;
}
.navi .navi-in ul.menu-top {
  /*(一番右側の)お問い合わせ・資料請求ボタン*/
}
.navi .navi-in ul.menu-top li.menu-item:last-child {
  position: fixed;
  top: 30px;
  right: calc(50% - min(604px, 50% - 24px));
  z-index: 101;
}
.navi .navi-in ul.menu-top li.menu-item:last-child a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1.2rem 3.5rem;
  font-size: 1rem;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  cursor: pointer;
  border: none;
  text-decoration: none;
  transition: all 0.2s ease;
  max-width: 320px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  background-color: var(--primary-color);
  color: #fff;
  border-radius: 15px;
  box-shadow: 0 4px 0 rgba(0, 0, 0, 0.2);
}
.navi .navi-in ul.menu-top li.menu-item:last-child a:hover {
  transform: translateY(2px);
  box-shadow: 0 2px 0 rgba(0, 0, 0, 0.2);
  opacity: 0.9;
  background-color: var(--primary-color);
  color: var(--white);
}
.navi .navi-in ul.menu-top li.menu-item:last-child a:active {
  transform: translateY(4px);
  box-shadow: 0 0 0 rgba(0, 0, 0, 0.2);
}
.navi .navi-in ul.menu-top li.menu-item:last-child a {
  padding-inline: 0.5rem;
}
.navi .navi-in ul.menu-top li.menu-item:last-child a .caption-wrap .item-label {
  color: #ffffff;
  font-size: 18px;
}
@media screen and (max-width: 1023px) {
  .navi .navi-in {
    display: none;
  }
}
.navi .navi-in ul.menu-top li.menu-item.current-menu-item a {
  border-bottom-color: var(--primary-color);
}

/*文字サイズを拡大したときのヘッダーの高さ、お問い合わせボタンの配置を調節*/
/*モバイル用メニューボタン*/
.mobile-header-menu-buttons.mobile-menu-buttons.has-logo-button .logo-menu-button.menu-button {
  display: none;
}
.mobile-header-menu-buttons.mobile-menu-buttons.has-logo-button .search-menu-button.menu-button {
  display: none;
}

.mobile-header-menu-buttons {
  position: fixed !important;
  top: 5px !important;
  left: auto;
  right: 18px;
  z-index: 9999;
  box-shadow: none;
  background-color: var(--background-color);
}
.mobile-header-menu-buttons .menu-button {
  width: unset;
}
.mobile-header-menu-buttons .navi-menu-button {
  background-color: var(--background-color);
}
.mobile-header-menu-buttons .navi-menu-button .menu-open {
  opacity: 1;
}
.mobile-header-menu-buttons .navi-menu-button .menu-open .navi-menu-icon {
  font-size: 36px;
  color: var(--black);
  margin-bottom: -7px;
  margin-top: 4px;
}
.mobile-header-menu-buttons .navi-menu-button .menu-open .navi-menu-caption.menu-caption {
  font-size: 11px;
  color: var(--black);
}
.mobile-header-menu-buttons {
  /*ハンバーガーメニュー内*/
}
.mobile-header-menu-buttons .navi-menu-content {
  background-color: var(--background-color);
  left: auto;
  right: 0;
  transform: translateX(105%);
}
.mobile-header-menu-buttons .navi-menu-content .navi-menu-close-button {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 85px;
  width: 100%;
  padding: 0 15px;
  font-size: 35px;
  margin-left: auto;
  color: var(--black);
}
.mobile-header-menu-buttons .navi-menu-content .navi-menu-close-button .fa-close {
  position: relative;
  width: 35px;
  height: 35px;
  display: inline-block;
  font-size: 0 !important;
}
.mobile-header-menu-buttons .navi-menu-content .navi-menu-close-button .fa-close::before, .mobile-header-menu-buttons .navi-menu-content .navi-menu-close-button .fa-close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 3.5px;
  background-color: var(--black);
}
.mobile-header-menu-buttons .navi-menu-content .navi-menu-close-button .fa-close::before {
  transform: rotate(45deg);
}
.mobile-header-menu-buttons .navi-menu-content .navi-menu-close-button .fa-close::after {
  transform: rotate(-45deg);
}
.mobile-header-menu-buttons .navi-menu-content .navi-menu-close-button .hamburger-menu {
  display: flex;
  align-items: center;
  flex-grow: 1;
}
.mobile-header-menu-buttons .navi-menu-content .navi-menu-close-button .hamburger-menu a {
  padding: 0 !important;
}
.mobile-header-menu-buttons .navi-menu-content .navi-menu-close-button .hamburger-menu .hamburger-menu-logo {
  margin-right: auto;
  padding: 8px 20px 12px 8px;
}
.mobile-header-menu-buttons .navi-menu-content .navi-menu-close-button .hamburger-menu .site-logo-image {
  width: 220px;
  height: auto;
  content: url("../assets/images/milai-grobu-yoko2.png");
}
@media (prefers-color-scheme: dark) {
  .mobile-header-menu-buttons .navi-menu-content .navi-menu-close-button .hamburger-menu .site-logo-image {
    content: url("../assets/images/darkmode-milai-grobu-yoko1.png");
    width: 220px;
    height: auto;
  }
}
.mobile-header-menu-buttons .navi-menu-content .navi-menu-close-button .hamburger-menu .hamburger-menu-instagram {
  margin-right: 20px;
  /* グラデーションを文字（アイコン）の形にくり抜く */
  font-size: 45px;
  position: relative;
  top: 1px;
}
@media screen and (max-width: 601px) {
  .mobile-header-menu-buttons .navi-menu-content .navi-menu-close-button .hamburger-menu .hamburger-menu-instagram {
    top: 3px;
  }
}
.mobile-header-menu-buttons .navi-menu-content .navi-menu-close-button .hamburger-menu .hamburger-menu-instagram .fa-instagram {
  /* インスタ公式に近いグラデーション */
  background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285aeb 90%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media (prefers-color-scheme: dark) {
  .mobile-header-menu-buttons .navi-menu-content .navi-menu-close-button .hamburger-menu .hamburger-menu-instagram .fa-instagram {
    background: var(--black);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }
}
.mobile-header-menu-buttons .navi-menu-content .menu-drawer li {
  border-bottom: 4px solid var(--primary-color);
}
.mobile-header-menu-buttons .navi-menu-content .menu-drawer li a {
  display: block;
  padding: 15px 20px;
  font-weight: bold;
  color: var(--black);
}
.mobile-header-menu-buttons .navi-menu-content .menu-drawer li a:hover {
  background-color: inherit;
}
.mobile-header-menu-buttons .navi-menu-content .menu-drawer li:last-child {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1.2rem 3.5rem;
  font-size: 1rem;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  cursor: pointer;
  border: none;
  text-decoration: none;
  transition: all 0.2s ease;
  max-width: 320px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  background-color: var(--primary-color);
  color: #fff;
  border-radius: 60px;
  box-shadow: 0 4px 0 rgba(0, 0, 0, 0.2);
}
.mobile-header-menu-buttons .navi-menu-content .menu-drawer li:last-child:hover {
  transform: translateY(2px);
  box-shadow: 0 2px 0 rgba(0, 0, 0, 0.2);
  opacity: 0.9;
  background-color: var(--primary-color);
  color: var(--white);
}
.mobile-header-menu-buttons .navi-menu-content .menu-drawer li:last-child:active {
  transform: translateY(4px);
  box-shadow: 0 0 0 rgba(0, 0, 0, 0.2);
}
.mobile-header-menu-buttons .navi-menu-content .menu-drawer li:last-child {
  max-width: unset;
  margin-top: 20px;
  padding: 10px 0;
  width: 100%;
}
.mobile-header-menu-buttons .navi-menu-content .menu-drawer li:last-child a {
  color: #ffffff;
}

/*モバイル用メニュー*/
ul.menu-mobile {
  display: none !important;
}

/* モバイル以外でヘッダーにアクセシビリティボタン配置 */
.c-accessibility-unit-pc {
  display: flex;
  align-items: center;
  gap: 12px;
  position: fixed;
  top: 15px;
  /* お問い合わせボタンの左側に配置 */
  right: calc(50% - min(604px, 50% - 24px) + 240px);
  z-index: 120;
}
@media screen and (max-width: 1023px) {
  .c-accessibility-unit-pc {
    right: 157px;
    top: 10px;
  }
}
@media screen and (max-width: 834px) {
  .c-accessibility-unit-pc {
    top: 13px;
    gap: 2px;
  }
}
@media screen and (max-width: 601px) {
  .c-accessibility-unit-pc {
    display: none;
  }
}

.is-large-text .c-accessibility-unit-pc {
  right: calc(50% - min(604px, 50% - 24px) + 270px);
  top: 17px;
}
@media screen and (max-width: 1023px) {
  .is-large-text .c-accessibility-unit-pc {
    right: 165px;
    top: 10px;
  }
}
@media screen and (max-width: 834px) {
  .is-large-text .c-accessibility-unit-pc {
    right: 145px;
    top: 15px;
  }
}
@media screen and (max-width: 834px) {
  .is-large-text .header-container .header-container-in .header-in #header-instagram-mobile {
    right: 65px;
  }
}
.is-large-text .mobile-header-menu-buttons .navi-menu-content .menu-drawer li:last-child {
  font-size: 1.2rem;
}

/* モバイルメニュー内での表示（JSでコピーされた後） */
.is-mobile-copy {
  display: block;
  width: 100%;
  margin-bottom: 15px;
  /* モバイルメニュー内では縦に並べる、もしくは専用のスタイル */
}

.page-access .wp-block-table.location table {
  width: 100%;
  margin-top: 0;
}
.page-access .wp-block-table td,
.page-access .wp-block-table th {
  padding: 0.8rem 1.2rem;
}
@media screen and (max-width: 601px) {
  .page-access .wp-block-table td,
  .page-access .wp-block-table th {
    padding: 0.5rem 0.8rem;
  }
}
.page-access .wp-block-table.location table tr > td:first-child {
  word-break: keep-all;
}
.page-access {
  /*表のaタグ後ろにリンクに遷移するマークを配置*/
}
.page-access table td a::after {
  content: "\f08e";
  font-family: FontAwesome;
  color: inherit;
  margin-left: 5px;
}

.post.article {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.post.article .not-found {
  max-width: 500px;
}
@media (prefers-color-scheme: dark) {
  .post.article .not-found {
    content: url("../assets/images/darkmode-not-found.png");
    max-width: 250px;
  }
}
@media screen and (prefers-color-scheme: dark) and (max-width: 601px) {
  .post.article .not-found {
    max-width: 170px;
  }
}
.post.article .error-return-area p {
  color: var(--black);
  padding-top: 2rem;
}/*# sourceMappingURL=style.css.map */