@charset "UTF-8";
/* Document
 * ========================================================================== */
/**
 * Add border box sizing in all browsers (opinionated).
 */
*,
::before,
::after {
  box-sizing: border-box;
}

/**
  * 1. Add text decoration inheritance in all browsers (opinionated).
  * 2. Add vertical alignment inheritance in all browsers (opinionated).
  */
::before,
::after {
  text-decoration: inherit; /* 1 */
  vertical-align: inherit; /* 2 */
}

/**
  * 1. Use the default cursor in all browsers (opinionated).
  * 2. Change the line height in all browsers (opinionated).
  * 3. Use a 4-space tab width in all browsers (opinionated).
  * 4. Remove the grey highlight on links in iOS (opinionated).
  * 5. Prevent adjustments of font size after orientation changes in
  *    IE on Windows Phone and in iOS.
  * 6. Breaks words to prevent overflow in all browsers (opinionated).
  */
html {
  cursor: default; /* 1 */
  line-height: 1.5; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  -webkit-tap-highlight-color: transparent;
  -ms-text-size-adjust: 100%; /* 5 */
  -webkit-text-size-adjust: 100%; /* 5 */
  word-break: break-word; /* 6 */
}

/* Sections
  * ========================================================================== */
/**
  * Remove the margin in all browsers (opinionated).
  */
body {
  margin: 0;
}

/**
  * Correct the font size and margin on `h1` elements within `section` and
  * `article` contexts in Chrome, Edge, Firefox, and Safari.
  */
h1 {
  font-size: 2em;
  margin: 0;
}

/* Grouping content
  * ========================================================================== */
/**
  * Remove the margin on nested lists in Chrome, Edge, IE, and Safari.
  */
dl dl,
dl ol,
dl ul,
ol dl,
ul dl {
  margin: 0;
}

/**
  * Remove the margin on nested lists in Edge 18- and IE.
  */
ol ol,
ol ul,
ul ol,
ul ul {
  margin: 0;
}

/**
  * 1. Add the correct sizing in Firefox.
  * 2. Show the overflow in Edge 18- and IE.
  */
hr {
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
  * Add the correct display in IE.
  */
main {
  display: block;
}

/**
  * Remove the list style on navigation lists in all browsers (opinionated).
  */
nav ol,
nav ul {
  list-style: none;
  padding: 0;
}

/**
  * 1. Correct the inheritance and scaling of font size in all browsers.
  * 2. Correct the odd `em` font sizing in all browsers.
  */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
  * ========================================================================== */
/**
  * Remove the gray background on active links in IE 10.
  */
a {
  background-color: transparent;
}

/**
  * Add the correct text decoration in Edge 18-, IE, and Safari.
  */
abbr[title] {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/**
  * Add the correct font weight in Chrome, Edge, and Safari.
  */
b,
strong {
  font-weight: bolder;
}

/**
  * 1. Correct the inheritance and scaling of font size in all browsers.
  * 2. Correct the odd `em` font sizing in all browsers.
  */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
  * Add the correct font size in all browsers.
  */
small {
  font-size: 80%;
}

/* Embedded content
  * ========================================================================== */
/*
  * Change the alignment on media elements in all browsers (opinionated).
  */
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

/**
  * Add the correct display in IE 9-.
  */
audio,
video {
  display: inline-block;
}

/**
  * Add the correct display in iOS 4-7.
  */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
  * Remove the border on iframes in all browsers (opinionated).
  */
iframe {
  border-style: none;
}

/**
  * Remove the border on images within links in IE 10-.
  */
img {
  border-style: none;
}

/**
  * Change the fill color to match the text color in all browsers (opinionated).
  */
svg:not([fill]) {
  fill: currentColor;
}

/**
  * Hide the overflow in IE.
  */
svg:not(:root) {
  overflow: hidden;
}

/* Tabular data
  * ========================================================================== */
/**
  * Collapse border spacing in all browsers (opinionated).
  */
table {
  border-collapse: collapse;
}

/* Forms
  * ========================================================================== */
/**
  * Remove the margin on controls in Safari.
  */
button,
input,
select {
  margin: 0;
}

/**
  * 1. Show the overflow in IE.
  * 2. Remove the inheritance of text transform in Edge 18-, Firefox, and IE.
  */
button {
  overflow: visible; /* 1 */
  text-transform: none; /* 2 */
}

/**
  * Correct the inability to style buttons in iOS and Safari.
  */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
  * 1. Change the inconsistent appearance in all browsers (opinionated).
  * 2. Correct the padding in Firefox.
  */
fieldset {
  border: 1px solid #a0a0a0; /* 1 */
  padding: 0.35em 0.75em 0.625em; /* 2 */
}

/**
  * Show the overflow in Edge 18- and IE.
  */
input {
  overflow: visible;
}

/**
  * 1. Correct the text wrapping in Edge 18- and IE.
  * 2. Correct the color inheritance from `fieldset` elements in IE.
  */
legend {
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  white-space: normal; /* 1 */
}

/**
  * 1. Add the correct display in Edge 18- and IE.
  * 2. Add the correct vertical alignment in Chrome, Edge, and Firefox.
  */
progress {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

/**
  * Remove the inheritance of text transform in Firefox.
  */
select {
  text-transform: none;
}

/**
  * 1. Remove the margin in Firefox and Safari.
  * 2. Remove the default vertical scrollbar in IE.
  * 3. Change the resize direction in all browsers (opinionated).
  */
textarea {
  margin: 0; /* 1 */
  overflow: auto; /* 2 */
  resize: vertical; /* 3 */
}

/**
  * Remove the padding in IE 10-.
  */
[type=checkbox],
[type=radio] {
  padding: 0;
}

/**
  * 1. Correct the odd appearance in Chrome, Edge, and Safari.
  * 2. Correct the outline style in Safari.
  */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
  * Correct the cursor style of increment and decrement buttons in Safari.
  */
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/**
  * Correct the text style of placeholders in Chrome, Edge, and Safari.
  */
::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54;
}

/**
  * Remove the inner padding in Chrome, Edge, and Safari on macOS.
  */
::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
  * 1. Correct the inability to style upload buttons in iOS and Safari.
  * 2. Change font properties to `inherit` in Safari.
  */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/**
  * Remove the inner border and padding of focus outlines in Firefox.
  */
::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
  * Restore the focus outline styles unset by the previous rule in Firefox.
  */
:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
  * Remove the additional :invalid styles in Firefox.
  */
:-moz-ui-invalid {
  box-shadow: none;
}

/* Interactive
  * ========================================================================== */
/*
  * Add the correct display in Edge 18- and IE.
  */
details {
  display: block;
}

/*
  * Add the correct styles in Edge 18-, IE, and Safari.
  */
dialog {
  background-color: white;
  border: solid;
  color: black;
  display: block;
  height: -moz-fit-content;
  height: fit-content;
  left: 0;
  margin: auto;
  padding: 1em;
  position: absolute;
  right: 0;
  width: -moz-fit-content;
  width: fit-content;
}

dialog:not([open]) {
  display: none;
}

/*
  * Add the correct display in all browsers.
  */
summary {
  display: list-item;
}

/* Scripting
  * ========================================================================== */
/**
  * Add the correct display in IE 9-.
  */
canvas {
  display: inline-block;
}

/**
  * Add the correct display in IE.
  */
template {
  display: none;
}

/* User interaction
  * ========================================================================== */
/*
  * 1. Remove the tapping delay in IE 10.
  * 2. Remove the tapping delay on clickable elements
       in all browsers (opinionated).
  */
a,
area,
button,
input,
label,
select,
summary,
textarea,
[tabindex] { /* 1 */
  touch-action: manipulation; /* 2 */
}

/**
  * Add the correct display in IE 10-.
  */
[hidden] {
  display: none;
}

/* Accessibility
  * ========================================================================== */
/**
  * Change the cursor on busy elements in all browsers (opinionated).
  */
[aria-busy=true] {
  cursor: progress;
}

/*
  * Change the cursor on control elements in all browsers (opinionated).
  */
[aria-controls] {
  cursor: pointer;
}

/*
  * Change the cursor on disabled, not-editable, or otherwise
  * inoperable elements in all browsers (opinionated).
  */
[aria-disabled=true],
[disabled] {
  cursor: not-allowed;
}

/*
  * Change the display on visually hidden accessible elements
  * in all browsers (opinionated).
  */
[aria-hidden=false][hidden] {
  display: initial;
}

[aria-hidden=false][hidden]:not(:focus) {
  clip: rect(0, 0, 0, 0);
  position: absolute;
}

/*=====================================
clamp
=====================================*/
*,
::before,
::after {
  margin: 0;
  padding: 0;
}

html {
  font-size: 100%;
  scroll-padding-top: var(--header-height);
  scroll-behavior: smooth;
}
html.is-resizing * {
  transition: none !important;
}

body {
  position: relative;
  font-family: var(--font-base), var(--font-primary), sans-serif;
  font-weight: var(--font-weight-base);
  line-height: var(--line-height-md);
  letter-spacing: var(--letter-spacing-base);
  box-sizing: border-box;
  color: var(--text);
}
body.active {
  overflow: hidden;
}
body:has(.p-header__menu.is-open) {
  overflow: hidden;
}

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

a {
  color: var(--text);
  text-decoration: none;
}

button {
  border: unset;
  background-color: unset;
  cursor: pointer;
}

[type=submit] {
  border: none;
  cursor: pointer;
}

li {
  list-style-type: none;
}

h1 {
  font-size: 100%;
}

:root {
  /* Color (汎用) */
  --color-primary: #699F84;
  --color-secondary: #EDE9E5;
  --color-tertiary: #A6947F;
  --color-quaternary: #53b6ca;
  --color-line: #2F984B;
  --color-accent: #D79762;
  --color-gray: #707070;
  --color-white: #FFFFFF;
  --color-form-border: #E3E3E3;
  --color-placeholder: #A3A3A3;
  --color-form-required: #F0766D;
  --color-logo-base: #FFFFFF;
  /* Color (トップ ヒーロー) */
  --color-bg-warm: #FBF3E2;
  --color-tile-orange: #DFAE85;
  --color-tile-green: #B8C393;
  --color-badge: #678375;
  --border-color: #C3C3C3;
  /* Text */
  --text: #202020;
  --text-sub: #A0A7AF;
  --text-white: #fff;
  /* Font */
  --font-base: "Zen Kaku Gothic New";
  --font-primary: "Noto Sans JP";
  --font-secondary: "Zen Maru Gothic";
  --font-weight-base: 400;
  --font-weight-medium: 500;
  --font-weight-bold: 700;
  --line-height-md: 1.5;
  --letter-spacing-base: 0.06em;
  --letter-spacing-sm: 0.04em;
  --letter-spacing-md: 0.08em;
  --letter-spacing-lg: 0.12em;
  /* Size */
  --pc-camp: 1440px;
  --sp-camp: 375px;
  --inner-width: 1200px;
  --header-height: 162px;
  --inner-padding-inline: 60px;
}
@media (max-width: 1200px) {
  :root {
    --header-height: 90px;
  }
}
@media (max-width: 1024px) {
  :root {
    --inner-padding-inline: 24px;
  }
}
@media (max-width: 599px) {
  :root {
    --inner-padding-inline: 20px;
    --header-height: 64px;
  }
}
:root {
  /* Duration */
  --duration-fast: 150ms;
  --duration-base: 300ms;
  --duration-slow: 600ms;
  /* Easing */
  --ease-out: cubic-bezier(0.215, 0.61, 0.355, 1);
  --ease-in: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  --ease-in-out: cubic-bezier(0.645, 0.045, 0.355, 1);
  --ease-back: cubic-bezier(0.34, 1.56, 0.64, 1);
  /* Z-INDEX */
  --z-fixed-cta: 8;
  --z-header: 10;
  --z-drawer-button: 15;
}

/*=====================================
Animation
=====================================*/
:where(.js .js-anim) {
  opacity: 0;
  visibility: hidden;
}

:where(.js .js-anim.is-animated) {
  visibility: visible;
}

.l-header {
  position: fixed;
  top: 0;
  z-index: var(--z-header);
  width: 100%;
  height: var(--header-height);
  transition-property: background-color;
  transition-duration: var(--duration-base);
  transition-timing-function: var(--ease-in-out);
}
.l-header.is-bg {
  background-color: rgba(255, 255, 255, 0.8);
}

/*=====================================
インナー
=====================================*/
.l-inner {
  width: min(100%, var(--inner-width) + var(--inner-padding-inline) * 2);
  margin-inline: auto;
  padding-inline: var(--inner-padding-inline);
}

/*=====================================
Layout | フッター
=====================================*/
/*=====================================
2カラム
=====================================*/
.l-2column {
  position: relative;
  display: grid;
  grid-template-columns: 280px 1fr;
  -moz-column-gap: 24px;
       column-gap: 24px;
  width: min(100%, var(--pc-camp));
  margin-inline: auto;
  padding-top: 59px;
  padding-inline: 32px;
}
@media (max-width: 1024px) {
  .l-2column {
    grid-template-columns: unset;
    padding-top: unset;
    padding-bottom: 80px;
  }
}
@media (max-width: 599px) {
  .l-2column {
    padding-inline: unset;
  }
}
.l-2column__sub, .l-2column__main {
  min-width: 0;
}
.l-2column__sub {
  position: sticky;
  top: 60px;
  left: 0;
  display: grid;
  align-self: start;
  align-content: start;
  row-gap: 24px;
  padding-bottom: 24px;
  max-height: calc(100dvh - 60px);
  overflow-y: auto;
  overscroll-behavior: contain;
}
@media (max-width: 1024px) {
  .l-2column__sub {
    position: static;
    width: min(90%, 420px);
    max-height: unset;
    overflow-y: unset;
    margin-inline: auto;
    padding-bottom: unset;
  }
}
@media (max-width: 1024px) {
  .l-2column__main {
    order: -1;
  }
}
.l-2column__main .l-inner {
  --inner-padding-inline: 16px;
  width: min(100%, 1028px + var(--inner-padding-inline) * 2);
  margin-left: 0;
}
@media (max-width: 1024px) {
  .l-2column__main .l-inner {
    --inner-padding-inline: 20px;
  }
}

/*=====================================
ページ全体のラッパー
=====================================*/
.l-wrapper {
  overflow: hidden;
  overflow: clip;
}

/*=====================================
ロゴ
=====================================*/
.c-logo__link {
  display: grid;
  justify-items: center;
  color: currentColor;
  transition-property: opacity;
  transition-duration: var(--duration-base);
  transition-timing-function: var(--ease-in-out);
}
@media (any-hover: hover) {
  .c-logo__link:hover {
    opacity: 0.7;
  }
}
.c-logo__link:focus {
  opacity: 0.7;
}
.c-logo__image {
  display: block;
  max-width: 100%;
}
.c-logo__image img {
  display: block;
  max-width: 100%;
}
.c-logo__name {
  font-family: var(--font-secondary), sans-serif;
  font-weight: bold;
  font-size: 0.9375rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.4666666667;
  letter-spacing: 0.09em;
  white-space: nowrap;
}

/*=====================================
ボタン
=====================================*/
.c-button {
  --theme-color: #CBD698;
  --button-border-width: 2px;
  --button-background-color: var(--color-main);
  --button-color: var(--color-text-base);
  display: inline-grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  -moz-column-gap: 28px;
       column-gap: 28px;
  padding-right: 18px;
  padding-left: 40px;
  padding-block: 13px;
  background-color: var(--theme-color);
  color: var(--button-color);
  border-radius: 33.5px;
  box-shadow: 2px 2px 5px 1px rgba(0, 0, 0, 0.12);
  transition-property: background-color;
  transition-duration: var(--duration-base);
  transition-timing-function: var(--ease-in-out);
}
@media (any-hover: hover) {
  .c-button:hover {
    background-color: color-mix(in srgb, var(--theme-color) 95%, black);
  }
}
.c-button:focus {
  background-color: color-mix(in srgb, var(--theme-color) 95%, black);
}
.c-button__text {
  letter-spacing: var(--letter-spacing-md);
}
.c-button__icon {
  position: relative;
  display: grid;
  place-content: center;
  place-items: center;
  width: 38px;
  aspect-ratio: 1;
  background-color: var(--color-white);
  border-radius: 50%;
}
.c-button__icon svg {
  color: var(--color-primary);
}
.c-button--reverse {
  --button-color: var(--color-main);
  --button-background-color: var(--color-text-reverse);
  border-color: currentColor;
  color: var(--color-text-reverse);
}
@media (any-hover: hover) {
  .c-button--reverse:hover {
    background-color: var(--color-text-reverse);
    border-color: var(--color-text-reverse);
    color: var(--button-color);
  }
}
.c-button--reverse:focus {
  background-color: var(--color-text-reverse);
  border-color: var(--color-text-reverse);
  color: var(--button-color);
}

/*=====================================
角丸ボタン
=====================================*/
.c-rounded-button {
  --theme-color: var(--color-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 156px;
  padding-block: 9px;
  padding-inline: 20px;
  font-weight: var(--font-weight-medium);
  background-color: var(--theme-color);
  color: var(--text-white);
  border-radius: 21px;
  transition-property: background-color;
  transition-duration: var(--duration-base);
  transition-timing-function: var(--ease-in-out);
}
@media (any-hover: hover) {
  .c-rounded-button:hover {
    background-color: color-mix(in srgb, var(--theme-color) 90%, black);
  }
}
.c-rounded-button:focus {
  background-color: color-mix(in srgb, var(--theme-color) 90%, black);
}
.c-rounded-button--theme-accent {
  --theme-color: var(--color-accent);
}

.c-rounded-button--new-tab {
  display: inline-flex;
  align-items: center;
  -moz-column-gap: 13px;
       column-gap: 13px;
  padding-right: 13px;
  padding-left: 18px;
}
.c-rounded-button--new-tab .c-rounded-button__icon svg {
  color: var(--color-white);
}

.c-rounded-button--arrow {
  display: inline-grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  -moz-column-gap: 11px;
       column-gap: 11px;
  padding-right: 12px;
  padding-left: 30px;
  min-width: 180px;
}
.c-rounded-button--arrow .c-rounded-button__text {
  text-align: center;
}
.c-rounded-button--arrow .c-rounded-button__icon {
  display: grid;
  place-items: center;
  width: 24px;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: var(--color-white);
}
.c-rounded-button--arrow .c-rounded-button__icon svg {
  color: var(--theme-color);
}

.c-drawer-button {
  --drawer-button-duration: var(--duration-base);
  --drawer-button-easing: var(--ease-in-out);
  position: relative;
  aspect-ratio: 1;
  height: 100%;
  border-radius: 50%;
  background-color: var(--color-tile-orange);
  transition: translate var(--drawer-button-duration) var(--drawer-button-easing);
}
.c-drawer-button__line {
  --drawer-button-line-color: var(--text-white);
  --drawer-button-line-width: 1.5px;
  --drawer-button-gap: 8px;
  position: absolute;
  top: 50%;
  inset-inline: 0;
  transform: translate(0, -50%);
  width: 45.4545454545%;
  height: var(--drawer-button-line-width);
  margin-inline: auto;
  background-color: var(--drawer-button-line-color);
  transition-property: background-color, transform;
  transition-duration: var(--drawer-button-duration);
  transition-timing-function: var(--drawer-button-easing);
}
@media (max-width: 599px) {
  .c-drawer-button__line {
    --drawer-button-gap: 4px;
  }
}
.c-drawer-button__line::before, .c-drawer-button__line::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: inherit;
  border-radius: inherit;
  background-color: var(--drawer-button-line-color);
  transition: inherit;
}
.c-drawer-button__line::before {
  transform: translateY(calc(var(--drawer-button-gap) * -1));
}
.c-drawer-button__line::after {
  transform: translateY(var(--drawer-button-gap));
}
.c-drawer-button[aria-expanded=true] :where(.c-drawer-button__line) {
  background-color: transparent;
}
.c-drawer-button[aria-expanded=true] :where(.c-drawer-button__line)::before, .c-drawer-button[aria-expanded=true] :where(.c-drawer-button__line)::after {
  width: 100%;
}
.c-drawer-button[aria-expanded=true] :where(.c-drawer-button__line)::before {
  transform: rotate(45deg);
}
.c-drawer-button[aria-expanded=true] :where(.c-drawer-button__line)::after {
  transform: rotate(-45deg);
}

/*=====================================
FAQリスト
=====================================*/
.c-faq-list {
  --theme-color: #83A385;
  display: grid;
  row-gap: 24px;
}
.c-faq-list__item {
  border-radius: 16px;
  box-shadow: 2px 2px 5px 1px rgba(0, 0, 0, 0.12);
  overflow: hidden;
}
.c-faq-list__details[open] .c-faq-list__question {
  background-color: var(--theme-color);
  color: var(--text-white);
}
.c-faq-list__details[open] .c-faq-list__question::before, .c-faq-list__details[open] .c-faq-list__question::after {
  background-color: var(--text-white);
}
.c-faq-list__details[open] .c-faq-list__question::after {
  rotate: unset;
}
.c-faq-list__details[open] .c-faq-list__question-icon {
  color: var(--text-white);
}
.c-faq-list__question {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  -moz-column-gap: 24px;
       column-gap: 24px;
  padding-right: clamp(0.625rem, -0.2992957746rem + 3.9436619718vw, 3.25rem);
  padding-left: clamp(0.75rem, -0.2183098592rem + 4.1314553991vw, 3.5rem);
  padding-block: clamp(1.25rem, 0.985915493rem + 1.1267605634vw, 2rem);
  background-color: var(--color-white);
  transition-property: background-color;
  transition-duration: var(--duration-base);
  transition-timing-function: var(--ease-in-out);
  cursor: pointer;
}
@media (max-width: 599px) {
  .c-faq-list__question {
    -moz-column-gap: 12px;
         column-gap: 12px;
    padding-left: 12px;
    padding-right: 10px;
    padding-block: 20px;
  }
}
@media (any-hover: hover) {
  .c-faq-list__question:hover {
    background-color: #f5f5f5;
  }
}
.c-faq-list__question::before, .c-faq-list__question::after {
  content: "";
  grid-row: 1/2;
  grid-column: 3/4;
  width: 28px;
  height: 4px;
  background-color: var(--theme-color);
  transition-property: background-color, rotate;
  transition-duration: var(--duration-base);
  transition-timing-function: var(--ease-in-out);
}
@media (max-width: 599px) {
  .c-faq-list__question::before, .c-faq-list__question::after {
    width: 16px;
    height: 2px;
  }
}
.c-faq-list__question::after {
  rotate: 90deg;
}
.c-faq-list__question-icon {
  font-size: 2rem;
  font-weight: var(--font-weight-bold);
  line-height: 1;
  text-transform: uppercase;
  color: var(--theme-color);
  transition-property: color;
  transition-duration: var(--duration-base);
  transition-timing-function: var(--ease-in-out);
}
@media (max-width: 599px) {
  .c-faq-list__question-icon {
    font-size: 1.5rem;
  }
}
.c-faq-list__question-title {
  font-size: 1.25rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.3;
  letter-spacing: var(--letter-spacing-md);
  transition-property: color;
  transition-duration: var(--duration-base);
  transition-timing-function: var(--ease-in-out);
}
@media (max-width: 599px) {
  .c-faq-list__question-title {
    margin-right: -5px;
    font-size: 1.125rem;
    letter-spacing: var(--letter-spacing-base);
  }
}
.c-faq-list__content {
  overflow: hidden;
}
.c-faq-list__answer {
  display: flex;
  -moz-column-gap: 26px;
       column-gap: 26px;
  padding-top: 24px;
  padding-right: 52px;
  padding-left: 57px;
  padding-bottom: 32px;
}
@media (max-width: 599px) {
  .c-faq-list__answer {
    -moz-column-gap: 14px;
         column-gap: 14px;
    padding-top: 12px;
    padding-left: 12px;
    padding-right: 32px;
    padding-bottom: 16px;
  }
}
.c-faq-list__answer-icon {
  font-size: 2rem;
  font-weight: var(--font-weight-bold);
  line-height: 1;
  text-transform: uppercase;
  color: var(--color-accent);
}
@media (max-width: 599px) {
  .c-faq-list__answer-icon {
    font-size: 1.5rem;
    line-height: 1.3333333333;
  }
}
.c-faq-list__answer-text {
  padding-top: 4px;
  font-family: var(--font-primary);
}
@media (max-width: 599px) {
  .c-faq-list__answer-text {
    font-size: 0.9375rem;
    line-height: 1.4666666667;
    letter-spacing: var(--letter-spacing-sm);
  }
}
.c-faq-list__answer-text-link {
  text-decoration: underline;
  text-underline-offset: 4px;
}
@media (any-hover: hover) {
  .c-faq-list__answer-text-link:hover {
    text-decoration: none;
  }
}

/*=====================================
セクション見出し
=====================================*/
.c-section-title {
  display: grid;
  row-gap: 4px;
  text-align: center;
}

.c-section-title__main {
  font-size: 2rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.25;
  letter-spacing: var(--letter-spacing-lg);
}

.c-section-title__sub {
  font-weight: var(--font-weight-bold);
  color: var(--color-accent);
}

/*=====================================
見出し
=====================================*/
.c-title {
  position: relative;
  padding-left: 0.9583333333em;
  font-size: 1.5rem;
  font-weight: var(--font-weight-medium);
  line-height: 1.3333333333;
  letter-spacing: 0.1em;
}
.c-title::before {
  content: "";
  rotate: 30deg;
  position: absolute;
  top: 0.5lh;
  left: 0.2083333333em;
  translate: 0 -50%;
  width: 4px;
  height: 1.2083333333em;
  margin-block: auto;
  background-color: var(--color-accent);
}

/*=====================================
アラート
=====================================*/
.c-alert {
  display: grid;
  grid-template-columns: auto 1fr;
  -moz-column-gap: 12px;
       column-gap: 12px;
  width: -moz-fit-content;
  width: fit-content;
  padding: 16px;
  line-height: 1.375;
  border-radius: 8px;
  background-color: #FBFFE3;
}
@media (max-width: 1024px) {
  .c-alert {
    padding-block: 16px;
    padding-right: 6px;
    padding-left: 12px;
  }
}
.c-alert::before {
  content: "";
  margin-top: 3px;
  width: 18px;
  aspect-ratio: 1;
  background-image: url(../images/icon-alert.svg);
  background-size: contain;
  background-repeat: no-repeat;
}

/*=====================================
表
=====================================*/
.c-table {
  width: 100%;
  text-align: center;
  border-collapse: collapse;
}
.c-table__col1 {
  width: 40.2941176471%;
}
@media (max-width: 1024px) {
  .c-table__col1 {
    width: 40.8955223881%;
  }
}
.c-table__col2 {
  width: 59.7058823529%;
}
@media (max-width: 1024px) {
  .c-table__col2 {
    width: 59.1044776119%;
  }
}
.c-table thead th {
  padding-block: 15px;
  padding-inline: 33px;
  font-weight: var(--font-weight-medium);
  line-height: 1.375;
  background-color: #FBFFE3;
}
.c-table th,
.c-table td {
  border: 1px solid #CCCCCC;
}
.c-table tbody th {
  font-size: 1.125rem;
  font-weight: var(--font-weight-medium);
  line-height: 1.3333333333;
}
.c-table td {
  padding-block: 15px;
  font-weight: var(--font-weight-medium);
  line-height: 1.375;
}

/*=====================================
サイドバーウィジェット
=====================================*/
.c-widget {
  display: grid;
  row-gap: 24px;
  padding-block: 32px;
  padding-inline: 20px;
  border-radius: 8px;
  background-color: #CBD698;
}

.c-widget__header {
  display: flex;
  align-items: end;
  -moz-column-gap: 12px;
       column-gap: 12px;
}

.c-widget__title {
  margin-left: 8px;
  font-size: 1.125rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.3333333333;
  letter-spacing: var(--letter-spacing-md);
}

.c-widget__icon {
  width: 22px;
  margin-top: -3px;
}

.c-widget__content ul {
  display: grid;
  row-gap: 8px;
}
.c-widget__content a:not([class]) {
  display: flex;
  justify-content: space-between;
  align-items: center;
  -moz-column-gap: 16px;
       column-gap: 16px;
  padding-right: 16px;
  padding-left: 24px;
  padding-block: 12px;
  font-weight: var(--font-weight-medium);
  line-height: var(--line-height-md);
  border-radius: 8px;
  background-color: var(--color-white);
  box-shadow: 2px 2px 5px 1px rgba(0, 0, 0, 0.12);
  transition-property: background-color;
  transition-duration: var(--duration-base);
  transition-timing-function: var(--ease-in-out);
}
@media (any-hover: hover) {
  .c-widget__content a:not([class]):hover {
    background-color: color-mix(in srgb, var(--color-white) 95%, black);
  }
}
.c-widget__content a:not([class]):focus:hover {
  background-color: color-mix(in srgb, var(--color-white) 95%, black);
}
.c-widget__content .posts_count {
  flex-shrink: 0;
  display: inline-block;
  padding-inline: 12px;
  font-size: 0.9375rem;
  line-height: 1.3333333333;
  text-align: center;
  border-radius: 10px;
  background-color: var(--color-badge);
  color: var(--text-white);
}

/*=====================================
目次リスト
=====================================*/
.c-toc__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  row-gap: 8px;
  -moz-column-gap: 16px;
       column-gap: 16px;
}
@media (max-width: 599px) {
  .c-toc__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    -moz-column-gap: 8px;
         column-gap: 8px;
  }
}

.c-toc__list-item-link {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  min-height: 72px;
  padding-left: 32px;
  padding-right: 18px;
  padding-block: 12px;
  font-weight: var(--font-weight-medium);
  line-height: 1.5;
  border-radius: 16px;
  background-color: var(--color-white);
  box-shadow: 2px 2px 5px 1px rgba(0, 0, 0, 0.12);
  transition-property: background-color;
  transition-duration: var(--duration-base);
  transition-timing-function: var(--ease-in-out);
}
@media (max-width: 1024px) {
  .c-toc__list-item-link {
    min-height: 60px;
    padding-left: 20px;
    padding-right: 14px;
  }
}
@media (max-width: 599px) {
  .c-toc__list-item-link {
    -moz-column-gap: 8px;
         column-gap: 8px;
    padding-left: 14px;
    padding-right: 12px;
    font-size: 0.9375rem;
    letter-spacing: var(--letter-spacing-sm);
  }
}
@media (any-hover: hover) {
  .c-toc__list-item-link:hover {
    background-color: color-mix(in srgb, var(--color-white) 95%, black);
  }
  .c-toc__list-item-link:hover::after {
    translate: 6px 0;
  }
  .c-toc__list-item-link:focus {
    background-color: color-mix(in srgb, var(--color-white) 95%, black);
  }
  .c-toc__list-item-link:focus::after {
    translate: 6px 0;
  }
}
.c-toc__list-item-link::after {
  content: "";
  rotate: 45deg;
  width: 8px;
  aspect-ratio: 1;
  border-top: 1px solid;
  border-right: 1px solid;
  border-color: var(--color-badge);
  transition-property: translate;
  transition-duration: var(--duration-base);
  transition-timing-function: var(--ease-in-out);
}
@media (any-hover: hover) {
  .c-toc__list-item-link--new-tab:hover::after {
    translate: unset;
  }
  .c-toc__list-item-link--new-tab:focus::after {
    translate: unset;
  }
}
.c-toc__list-item-link--new-tab::after {
  rotate: unset;
  width: 10.6px;
  aspect-ratio: 1;
  background-image: url(../images/icon-new-tab.svg);
  background-repeat: no-repeat;
  background-size: contain;
  border: none;
}

/*=====================================
投稿リスト
=====================================*/
.c-post-list {
  display: grid;
  row-gap: 8px;
}

.c-post-list__item-link {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  -moz-column-gap: 8px;
       column-gap: 8px;
  padding: 8px;
  border-radius: 8px;
  background-color: var(--color-white);
  box-shadow: 2px 2px 5px 1px rgba(0, 0, 0, 0.12);
  transition-property: background-color;
  transition-duration: var(--duration-base);
  transition-timing-function: var(--ease-in-out);
}
@media (any-hover: hover) {
  .c-post-list__item-link:hover {
    background-color: color-mix(in srgb, var(--color-white) 95%, black);
  }
}
.c-post-list__item-link:focus:hover {
  background-color: color-mix(in srgb, var(--color-white) 95%, black);
}

.c-post-list__item-image {
  width: 64px;
  aspect-ratio: 64/42;
  border-radius: 4px;
  background-color: #f3f1ef;
}
.c-post-list__item-image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.c-post-list__item-title {
  font-size: 0.875rem;
  font-weight: var(--font-weight-medium);
  line-height: 1.4285714286;
  letter-spacing: 0.09em;
}

/*=====================================
フォーム
=====================================*/
.c-form {
  --container-size: 768px;
  container-type: inline-size;
  container-name: --form;
}
.c-form__fields {
  display: grid;
  grid-template-columns: max-content 1fr;
}
@container --form (max-width: 768px) {
  .c-form__fields {
    grid-template-columns: 1fr;
  }
}
.c-form__field {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: span 2;
  -moz-column-gap: 12px;
       column-gap: 12px;
  align-items: center;
  min-height: 104px;
  padding-inline: clamp(0.5rem, -0.5714285714rem + 2.8571428571vw, 2rem);
  padding-block: 27.5px;
  border-top: 1px solid var(--color-form-border);
}
@container --form (max-width: 768px) {
  .c-form__field {
    grid-column: unset;
    row-gap: 12px;
    padding-block: 20px;
  }
}
.c-form__field:last-child {
  padding-bottom: unset;
}
.c-form__field--has-textarea {
  align-items: start;
}
.c-form__field--has-textarea .c-form__field-head {
  margin-top: 10px;
}
.c-form__field-head {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  -moz-column-gap: clamp(1rem, -2.3214285714rem + 5.3571428571vw, 2.5rem);
       column-gap: clamp(1rem, -2.3214285714rem + 5.3571428571vw, 2.5rem);
}
@container --form (max-width: 768px) {
  .c-form__field-head {
    grid-template-columns: repeat(2, auto);
    justify-content: start;
    -moz-column-gap: 12px;
         column-gap: 12px;
  }
}
.c-form__field-title {
  font-size: 1.125rem;
  font-weight: var(--font-weight-medium);
  line-height: 1.3333333333;
  letter-spacing: 0.08em;
}
.c-form__field-tag {
  --theme-color: var(--color-form-required);
  display: inline-block;
  padding-inline: 11px;
  padding-block: 3px;
  font-weight: var(--font-weight-medium);
  line-height: 1.375;
  text-align: center;
  border: 1px solid var(--theme-color);
  border-radius: 24px;
  color: var(--theme-color);
}
.c-form__submit {
  display: grid;
  justify-content: center;
  margin-top: 34px;
}
.c-form__submit .c-rounded-button {
  min-width: 180px;
  justify-content: space-between;
  text-align: center;
}
.c-form__submit .c-rounded-button__text {
  flex-grow: 1;
}

/*=====================================
フォーム「テキスト」
=====================================*/
.c-form-text {
  --border-width: 2px;
  width: 100%;
  padding-inline: calc(18px - var(--border-width));
  padding-top: calc(13px - var(--border-width));
  padding-bottom: calc(13px - var(--border-width));
  font-family: var(--font-base);
  font-size: 1rem;
  line-height: 1.375;
  border: var(--border-width) solid var(--color-form-border);
  border-radius: 8px;
  color: inherit;
}
.c-form-text::-moz-placeholder {
  line-height: 1.375 !important;
  letter-spacing: 0.06em;
  color: var(--color-placeholder);
}
.c-form-text::placeholder {
  line-height: 1.375 !important;
  letter-spacing: 0.06em;
  color: var(--color-placeholder);
}

/*=====================================
フォーム「ラジオボタン」
=====================================*/
.c-form-radio {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  row-gap: 12px;
  -moz-column-gap: 21px;
       column-gap: 21px;
  margin-left: 10px;
}
.c-form-radio .wpcf7-list-item input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.c-form-radio .wpcf7-list-item input:focus + label::before {
  outline: auto;
}
.c-form-radio .wpcf7-list-item input:checked + label::after {
  opacity: 1;
}
.c-form-radio .wpcf7-list-item label {
  --radio-button-size: 20px;
  --radio-button-gap: 10px;
  position: relative;
  padding-left: calc(var(--radio-button-size) + var(--radio-button-gap));
  line-height: 1.375;
}
.c-form-radio .wpcf7-list-item label::before, .c-form-radio .wpcf7-list-item label::after {
  content: "";
  position: absolute;
  aspect-ratio: 1;
  border-radius: 50%;
}
.c-form-radio .wpcf7-list-item label::before {
  inset-block: 0;
  margin-block: auto;
  left: 0;
  width: var(--radio-button-size);
  border: 2px solid var(--color-accent);
}
.c-form-radio .wpcf7-list-item label::after {
  opacity: 0;
  left: calc(var(--radio-button-size) / 2);
  inset-block: 0;
  translate: -50% 0;
  margin-block: auto;
  width: calc(var(--radio-button-size) / 2);
  background-color: var(--color-accent);
}

/*=====================================
フォーム | テキストエリア
=====================================*/
.c-form-textarea {
  --border-width: 2px;
  width: 100%;
  min-height: 144px;
  padding-inline: calc(18px - var(--border-width));
  padding-top: calc(16px - var(--border-width));
  padding-bottom: calc(10px - var(--border-width));
  font-size: 1rem;
  line-height: 1.375;
  border: var(--border-width) solid var(--color-form-border);
  border-radius: 8px;
  color: inherit;
  resize: vertical;
  field-sizing: content;
}
.c-form-textarea::-moz-placeholder {
  line-height: 1.375 !important;
  letter-spacing: 0.06em;
  color: var(--color-placeholder);
}
.c-form-textarea::placeholder {
  line-height: 1.375 !important;
  letter-spacing: 0.06em;
  color: var(--color-placeholder);
}

/*=====================================
角丸ボタン
=====================================*/
.c-submit-button {
  display: inline-block;
  -moz-column-gap: 11px;
       column-gap: 11px;
  padding-inline: 12px;
  padding-block: 9px;
  min-width: 180px;
  font-size: 1rem;
  font-weight: var(--font-weight-medium);
  letter-spacing: 0.06em;
  text-align: center;
  background-color: var(--color-accent);
  color: var(--text-white);
  border-radius: 21px;
  transition-property: background-color;
  transition-duration: var(--duration-base);
  transition-timing-function: var(--ease-in-out);
}
@media (any-hover: hover) {
  .c-submit-button:hover {
    background-color: color-mix(in srgb, var(--color-accent) 95%, black);
  }
}
.c-submit-button:focus {
  background-color: color-mix(in srgb, var(--color-accent) 95%, black);
}

/* ========================================
 * 受給事例・お役立ち情報（３分割）カード
 * ===================================== */
.c-info-card {
  display: grid;
  row-gap: 16px;
  padding-top: 8px;
  padding-inline: 16px;
  padding-bottom: 24px;
  border-radius: 16px;
  background-color: var(--color-white);
}
@media (any-hover: hover) {
  .c-info-card:hover .c-info-card__image img {
    scale: 1.1;
  }
  .c-info-card:hover .c-info-card__title {
    color: color-mix(in srgb, var(--text) 70%, transparent);
  }
}
.c-info-card__image {
  aspect-ratio: 268/180;
  overflow: hidden;
  border-radius: 24px;
  background-color: #B1B1B1;
}
.c-info-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition-property: scale;
  transition-duration: var(--duration-base);
  transition-timing-function: var(--ease-in-out);
}
.c-info-card__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  -moz-column-gap: 8px;
       column-gap: 8px;
}
.c-info-card__date {
  line-height: 1.375;
}
.c-info-card__category {
  display: inline-block;
  padding-block: 0.5px;
  padding-inline: 12px;
  font-size: 0.9375rem;
  border-radius: 12px;
  background-color: var(--color-primary);
  color: var(--text-white);
}
.c-info-card__title {
  margin-top: 8px;
  font-size: 1rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.375;
  transition-property: color;
  transition-duration: var(--duration-base);
  transition-timing-function: var(--ease-in-out);
}

/* ========================================
 * 投稿 | 目次
 * ===================================== */
.c-post-toc {
  padding-block: 32px;
  padding-inline: 24px;
  background-color: #F3F1EF;
  border-radius: 16px;
  overflow: hidden;
}
@media (max-width: 1024px) {
  .c-post-toc {
    padding-inline: 16px;
  }
}
.c-post-toc[hidden] {
  display: none;
}
.c-post-toc__header {
  --border-width: 1px;
  display: grid;
  grid-template-columns: 1fr max-content 1fr;
  justify-content: space-between;
  -moz-column-gap: 16px;
       column-gap: 16px;
  padding-bottom: calc(24px - var(--border-width));
  border-bottom: var(--border-width) solid #C3C3C3;
}
.c-post-toc__header::before {
  content: "";
}
.c-post-toc__title {
  text-align: center;
}
.c-post-toc__toggle {
  display: grid;
  place-items: center;
  justify-self: end;
  width: 24px;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: var(--color-primary);
  transition-property: background-color;
  transition-duration: var(--duration-base);
  transition-timing-function: var(--ease-in-out);
  cursor: pointer;
}
.c-post-toc__toggle[aria-expanded=false]::after {
  rotate: 90deg;
}
.c-post-toc__toggle::before, .c-post-toc__toggle::after {
  content: "";
  grid-row: 1/1;
  grid-column: 1/1;
  display: block;
  width: 58.3333333333%;
  height: 1px;
  background-color: var(--color-white);
  transition-property: rotate;
  transition-duration: var(--duration-base);
  transition-timing-function: var(--ease-in-out);
}
@media (any-hover: hover) {
  .c-post-toc__toggle:hover {
    background-color: color-mix(in srgb, var(--color-primary) 90%, black);
  }
}
.c-post-toc__body {
  margin-top: 24px;
}
.c-post-toc__list {
  display: grid;
  row-gap: 16px;
}
.c-post-toc__item {
  display: grid;
  row-gap: 18px;
}
.c-post-toc__item--level2 > .c-post-toc__link {
  -moz-column-gap: 14px;
       column-gap: 14px;
  padding-block: 12px;
  padding-inline: 24px;
  font-weight: var(--font-weight-medium);
  line-height: var(--line-height-md);
  border-radius: 8px;
  background-color: var(--color-white);
  box-shadow: 2px 2px 5px 1px rgba(0, 0, 0, 0.12);
}
@media (max-width: 1024px) {
  .c-post-toc__item--level2 > .c-post-toc__link {
    padding-inline: 16px;
  }
}
@media (any-hover: hover) {
  .c-post-toc__item--level2 > .c-post-toc__link:hover {
    background-color: color-mix(in srgb, var(--color-white) 97%, black);
  }
}
.c-post-toc__link {
  display: flex;
  transition-property: background-color;
  transition-duration: var(--duration-base);
  transition-timing-function: var(--ease-in-out);
}
.c-post-toc__num {
  flex-shrink: 0;
  font-size: 1rem;
  font-weight: var(--font-weight-medium);
  line-height: var(--line-height-md);
  color: var(--color-primary);
}
.c-post-toc__text {
  padding-top: 1px;
}
.c-post-toc__list--level3 {
  row-gap: 8px;
  margin-left: 32px;
}
@media (max-width: 1024px) {
  .c-post-toc__list--level3 {
    margin-left: unset;
  }
}
.c-post-toc__item--level3 > .c-post-toc__link {
  -moz-column-gap: 8px;
       column-gap: 8px;
  padding-inline: 8px;
  font-size: 0.9375rem;
  line-height: 1.4666666667;
  letter-spacing: 0.05em;
  border-radius: 4px;
}
@media (any-hover: hover) {
  .c-post-toc__item--level3 > .c-post-toc__link:hover {
    background-color: color-mix(in srgb, transparent 95%, black);
  }
}

/*
 * 文字装飾（管理画面の装飾ボタンから出力されるもの）
 *
 * ==テキスト== → .c-marker  … 蛍光マーカー
 * **テキスト** → .c-bold    … 太字
 *
 * 変換は inc/helpers.php の shiraishi_rich_text() が担当しています。
 */
.c-marker {
  position: relative;
  z-index: 0;
  color: inherit;
}
.c-marker::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -1;
  width: 100%;
  height: 0.6em;
  background: #fff59d;
}

.c-bold {
  font-weight: 700;
}

.p-header {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: clamp(0.75rem, -6.2142857143rem + 8.5714285714vw, 1.5rem);
  height: 100%;
  padding-block: 14px;
  padding-right: 3.3333333333%;
  padding-left: 1.7361111111%;
  color: var(--text);
}
@media (max-width: 1200px) {
  .p-header {
    padding-top: 10px;
    padding-right: 20px;
    transition-property: background-color;
    transition-duration: var(--duration-base);
    transition-timing-function: var(--ease-in-out);
  }
}
@media (max-width: 599px) {
  .p-header {
    padding-left: 12px;
    padding-bottom: 10px;
  }
}
@media (max-width: 1200px) {
  .p-header:has(.is-open) {
    background-color: #FFF6E3;
  }
}
.p-header__logo {
  min-width: 0;
  width: 131px;
}
@media (max-width: 1200px) {
  .p-header__logo {
    display: grid;
    align-items: center;
    width: auto;
    height: 100%;
  }
}
@media (max-width: 1200px) {
  .p-header__logo-link {
    grid-template-columns: 80px auto;
    align-items: center;
    -moz-column-gap: 12px;
         column-gap: 12px;
  }
}
@media (max-width: 599px) {
  .p-header__logo-link {
    grid-template-columns: 50px auto;
    justify-content: start;
    justify-items: unset;
    -moz-column-gap: 9px;
         column-gap: 9px;
    padding-top: 2px;
  }
}
.p-header__logo-name {
  font-size: clamp(0.875rem, 1.111111vw, 0.9375rem);
}
@media (max-width: 1200px) {
  .p-header__logo-name {
    white-space: normal;
  }
}
@media (max-width: 599px) {
  .p-header__logo-name {
    font-size: 0.9375rem;
  }
}
.p-header__drawer-button {
  flex-shrink: 0;
  display: none;
  z-index: 2;
}
@media (max-width: 1200px) {
  .p-header__drawer-button {
    display: block;
  }
}
.p-header__menu {
  padding-bottom: 1px;
}
@media (max-width: 1200px) {
  .p-header__menu {
    position: fixed;
    top: var(--header-height);
    inset-inline: 0;
    width: 100%;
    background-color: #FFF6E3;
    opacity: 0;
    visibility: hidden;
    transition-property: opacity, visibility;
    transition-duration: var(--duration-base);
    transition-timing-function: var(--ease-in-out);
  }
}
.p-header__menu.is-open {
  display: grid;
  opacity: 1;
  visibility: visible;
}
.p-header__menu-inner {
  display: flex;
  align-items: center;
  -moz-column-gap: clamp(1.5rem, -19.3928571429rem + 25.7142857143vw, 3.75rem);
       column-gap: clamp(1.5rem, -19.3928571429rem + 25.7142857143vw, 3.75rem);
  padding-bottom: 16px;
}
@media (max-width: 1200px) {
  .p-header__menu-inner {
    display: grid;
    align-items: unset;
    padding-top: 15px;
    padding-bottom: 120px;
    padding-inline: 27.5px;
    transition-property: translate;
    transition-duration: var(--duration-base);
    transition-timing-function: var(--ease-in-out);
  }
}
.p-header__menu-list {
  display: flex;
  align-items: center;
  -moz-column-gap: clamp(1.25rem, -1.6517857143rem + 3.5714285714vw, 1.5625rem);
       column-gap: clamp(1.25rem, -1.6517857143rem + 3.5714285714vw, 1.5625rem);
  padding-bottom: 3px;
}
@media (max-width: 1200px) {
  .p-header__menu-list {
    display: grid;
    grid-template-columns: min(100%, 768px);
    justify-content: center;
    align-items: start;
    padding-bottom: unset;
  }
}
@media (max-width: 1200px) {
  .p-header__menu-list--pc {
    display: none;
  }
}
.p-header__menu-list--drawer {
  display: none;
}
@media (max-width: 1200px) {
  .p-header__menu-list--drawer {
    display: grid;
  }
}
.p-header__menu-list-item {
  position: relative;
}
.p-header__menu-list-item:hover .p-header__menu-list-item-link {
  color: rgba(32, 32, 32, 0.7);
}
.p-header__menu-list-item:hover .p-header__menu-list-item-arrow {
  translate: 0 3px;
}
.p-header__menu-list-item:hover .p-header__submenu-wrapper {
  opacity: 1;
  visibility: visible;
}
.p-header__menu-list-item-link {
  display: flex;
  align-items: center;
  -moz-column-gap: 6px;
       column-gap: 6px;
  color: currentColor;
  transition-property: color;
  transition-duration: var(--duration-base);
  transition-timing-function: var(--ease-in-out);
}
@media (max-width: 1200px) {
  .p-header__menu-list-item-link {
    --border-width: 1px;
    padding-top: 15px;
    padding-bottom: calc(15px - var(--border-width));
    padding-inline: 12px;
    border-bottom: var(--border-width) solid #DFAE85;
  }
}
.p-header__menu-list-item-text {
  font-size: clamp(0.875rem, 1.111111vw, 1rem);
  font-weight: 500;
  line-height: 1.5;
  white-space: nowrap;
}
@media (max-width: 1200px) {
  .p-header__menu-list-item-text {
    font-size: 1rem;
  }
}
.p-header__menu-list-item-arrow {
  display: block;
  width: 11px;
  aspect-ratio: 11/7;
  padding-bottom: 3px;
  transition-property: translate;
  transition-duration: var(--duration-base);
  transition-timing-function: var(--ease-in-out);
}
@media (max-width: 1200px) {
  .p-header__menu-list-item-arrow {
    display: none;
  }
}
.p-header__menu-list-item-arrow svg {
  color: #678375;
}
.p-header__submenu-wrapper {
  position: absolute;
  top: 100%;
  left: 50%;
  translate: -50% 0;
  z-index: 2;
  width: -moz-fit-content;
  width: fit-content;
  padding-top: 12px;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
}
@media (max-width: 1200px) {
  .p-header__submenu-wrapper {
    display: none;
  }
}
.p-header__submenu {
  background-color: var(--color-white);
  border-radius: 5px;
  box-shadow: -3px 3px 12px 0 rgba(0, 0, 0, 0.15);
}
.p-header__submenu-item {
  border-bottom: 0.5px solid var(--text-sub);
}
.p-header__submenu-item:last-child {
  border-bottom: none;
}
.p-header__submenu-item-link {
  display: block;
  padding-block: 12px;
  padding-inline: 16px;
  white-space: nowrap;
  transition-property: background-color;
  transition-duration: var(--duration-base);
  transition-timing-function: var(--ease-in-out);
}
@media (any-hover: hover) {
  .p-header__submenu-item-link:hover {
    background-color: #f5f5f5;
  }
}
.p-header__submenu-item-link:focus {
  background-color: #f5f5f5;
}
.p-header__button-wrapper {
  display: grid;
  grid-template-columns: repeat(2, auto);
  align-items: center;
  -moz-column-gap: clamp(0.5rem, -1.8214285714rem + 2.8571428571vw, 0.75rem);
       column-gap: clamp(0.5rem, -1.8214285714rem + 2.8571428571vw, 0.75rem);
}
@media (max-width: 1200px) {
  .p-header__button-wrapper {
    display: none;
  }
}
.p-header__button {
  font-size: clamp(0.875rem, -0.2857142857rem + 1.4285714286vw, 1rem);
}

.p-hero {
  position: relative;
  padding-top: calc(var(--header-height) - 14px);
}
@media (max-width: 1024px) {
  .p-hero {
    padding-top: 26px;
  }
}
.p-hero__bg-image01 {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: calc(783px / var(--pc-camp) * 100%);
}
@media (max-width: 1024px) {
  .p-hero__bg-image01 {
    width: 67%;
  }
}
.p-hero__bg-image02 {
  position: absolute;
  right: 0;
  bottom: -15.2327221439%;
  z-index: -1;
  width: min(384px, 384px / var(--pc-camp) * 100%);
  aspect-ratio: 384/454;
}
@media (max-width: 1024px) {
  .p-hero__bg-image02 {
    bottom: calc(clamp(8.75rem, 3.4433962264rem + 14.1509433962vw, 12.5rem) * -1);
    width: min(100%, 280px);
  }
}
.p-hero__inner {
  position: relative;
  display: grid;
  grid-template-columns: min(100%, 516px) 1fr;
  justify-content: space-between;
  -moz-column-gap: 18px;
       column-gap: 18px;
  width: min(100%, 1236px + var(--inner-padding-inline) * 2);
}
@media (max-width: 1024px) {
  .p-hero__inner {
    grid-template-columns: unset;
    padding-top: 168px;
  }
}
.p-hero__content {
  overflow: hidden;
  max-width: 100%;
  padding-top: 54px;
  padding-left: 21px;
}
@media (max-width: 1200px) {
  .p-hero__content {
    position: relative;
    z-index: 2;
  }
}
@media (max-width: 1024px) {
  .p-hero__content {
    padding-top: unset;
    padding-left: unset;
  }
}
.p-hero__tiles {
  display: grid;
  justify-content: start;
  row-gap: 13px;
}
@media (max-width: 1024px) {
  .p-hero__tiles {
    row-gap: 6px;
  }
}
.p-hero__tile-row {
  display: flex;
  -moz-column-gap: 7px;
       column-gap: 7px;
}
@media (max-width: 1024px) {
  .p-hero__tile-row {
    -moz-column-gap: clamp(4.84px, 0.486111vw, 7px);
         column-gap: clamp(4.84px, 0.486111vw, 7px);
  }
}
.p-hero__tile {
  display: grid;
  place-items: center;
  aspect-ratio: 1;
  padding-inline: 11.5px;
  font-family: var(--font-primary);
  font-weight: bold;
  font-size: 1.5rem;
  color: var(--text-white);
  background-color: var(--color-tile-orange);
  border-radius: 10px;
}
@media (max-width: 599px) {
  .p-hero__tile {
    padding-inline: 6.1px;
    font-size: clamp(1.25rem, 0.8333333333rem + 1.7777777778vw, 1.5rem);
    border-radius: 8px;
  }
}
.p-hero__text {
  margin-top: 25px;
  margin-right: -13px;
  padding-left: 15px;
  font-size: 0.9375rem;
  font-feature-settings: "halt" on;
  line-height: 1.8666666667;
  letter-spacing: 0.06em;
  color: var(--text);
}
@media (max-width: 1024px) {
  .p-hero__text {
    margin-right: unset;
  }
}
@media (max-width: 599px) {
  .p-hero__text {
    display: none;
  }
}
.p-hero__badges {
  --_column-gap: 32px;
  display: grid;
  grid-template-columns: repeat(3, min(33%, 122px));
  justify-content: start;
  -moz-column-gap: var(--_column-gap);
       column-gap: var(--_column-gap);
  margin-top: 27px;
  padding-left: 13px;
}
@media (max-width: 1024px) {
  .p-hero__badges {
    grid-template-columns: repeat(3, min((100% - var(--_column-gap) * 2) / 3, 122px));
    -moz-column-gap: clamp(1rem, -0.4150943396rem + 3.7735849057vw, 2rem);
         column-gap: clamp(1rem, -0.4150943396rem + 3.7735849057vw, 2rem);
  }
}
@media (max-width: 599px) {
  .p-hero__badges {
    grid-template-columns: repeat(3, clamp(5.25rem, 1.5rem + 16vw, 7.5rem));
    -moz-column-gap: 22.11px;
         column-gap: 22.11px;
    justify-content: center;
    padding-inline: 20px;
  }
}
.p-hero__badge {
  display: grid;
  place-items: center;
  aspect-ratio: 1;
  padding: 8px;
  text-align: center;
  font-family: var(--font-primary);
  font-size: clamp(0.9375rem, 0.46875rem + 2vw, 1rem);
  font-weight: var(--font-weight-bold);
  line-height: 1.5;
  letter-spacing: 0.06em;
  color: var(--text-white);
  background-color: var(--color-badge);
  background-image: -webkit-image-set(url(../images/bg-hero-badge.webp) type("image/webp") 1x, url(../images/bg-hero-badge@2x.webp) type("image/webp") 2x);
  background-image: image-set(url(../images/bg-hero-badge.webp) type("image/webp") 1x, url(../images/bg-hero-badge@2x.webp) type("image/webp") 2x);
  background-size: cover;
  border-radius: 50%;
}
@media (max-width: 599px) {
  .p-hero__badge {
    padding-top: 13px;
    padding-inline: unset;
    white-space: nowrap;
  }
}
@media (max-width: 1200px) {
  .p-hero__photo {
    position: absolute;
    top: 0;
    right: 7px;
    width: min(81.6%, 600px);
  }
}
.p-hero__photo img {
  width: 100%;
}
.p-hero__tile.p-hero__tile--green {
  background-color: var(--color-tile-green);
}

/*=====================================
TOP - こんなお悩みありませんか？セクション
=====================================*/
.p-top-problem {
  overflow: hidden;
  padding-top: 65px;
  padding-bottom: 42px;
}
@media (max-width: 599px) {
  .p-top-problem {
    padding-top: clamp(0.1875rem, -3.6666666667rem + 16.4444444444vw, 2.5rem);
    padding-bottom: 32px;
  }
}
.p-top-problem__inner {
  position: relative;
  width: min(100%, 1112px + var(--inner-padding-inline) * 2);
}
@media (max-width: 599px) {
  .p-top-problem__inner {
    width: min(100%, 400px);
    margin-inline: auto;
  }
}
.p-top-problem__bg-image {
  position: absolute;
  display: none;
}
@media (max-width: 599px) {
  .p-top-problem__bg-image {
    display: block;
    top: 26px;
    right: -15px;
    display: block;
    width: 133px;
  }
}
.p-top-problem__title {
  font-size: clamp(1.5rem, 0.7924528302rem + 1.8867924528vw, 2rem);
  letter-spacing: var(--letter-spacing-lg);
  text-align: center;
}
@media (max-width: 599px) {
  .p-top-problem__title {
    font-size: 2rem;
    margin: 1.5rem auto;
    line-height: 1.37;
    text-align: left;
  }
}
.p-top-problem__title-strong {
  font-size: 1.25em;
  color: var(--color-accent);
}
@media (max-width: 1200px) {
  .p-top-problem__content {
    margin-top: 24px;
  }
}
@media (max-width: 599px) {
  .p-top-problem__content {
    margin-top: 45px;
  }
}
.p-top-problem__problems {
  display: grid;
  grid-template-columns: 1fr clamp(10rem, -2.9230769231rem + 20.1923076923vw, 15.25rem) 1fr;
  align-items: center;
  -moz-column-gap: 18px;
       column-gap: 18px;
  margin-top: -14px;
}
@media (max-width: 1200px) {
  .p-top-problem__problems {
    margin-top: unset;
  }
}
@media (max-width: 1024px) {
  .p-top-problem__problems {
    grid-template-columns: 1fr clamp(8.75rem, 6.9811320755rem + 4.7169811321vw, 10rem) 1fr;
    -moz-column-gap: 12px;
         column-gap: 12px;
  }
}
@media (max-width: 599px) {
  .p-top-problem__problems {
    grid-template-columns: min(100%, 440px);
    justify-content: center;
  }
}
.p-top-problem__problems-list {
  display: grid;
}
.p-top-problem__problems-list--top {
  row-gap: 27px;
  margin-top: 38px;
}
@media (max-width: 599px) {
  .p-top-problem__problems-list--top {
    row-gap: 12px;
    margin-top: unset;
  }
}
@media (max-width: 1024px) {
  .p-top-problem__problems-list--top > :nth-child(1) {
    margin-left: 10px;
  }
}
@media (max-width: 599px) {
  .p-top-problem__problems-list--top > :nth-child(1) {
    margin-left: unset;
  }
}
.p-top-problem__problems-list--top > :nth-child(2) {
  justify-self: end;
}
@media (max-width: 599px) {
  .p-top-problem__problems-list--top > :nth-child(2) {
    justify-self: unset;
  }
}
.p-top-problem__problems-list--top > :nth-child(3) {
  margin-left: clamp(1.5rem, -1.5769230769rem + 4.8076923077vw, 2.75rem);
}
@media (max-width: 599px) {
  .p-top-problem__problems-list--top > :nth-child(3) {
    margin-left: unset;
  }
}
.p-top-problem__problems-list--bottom {
  row-gap: 39px;
  margin-top: 26px;
}
@media (max-width: 599px) {
  .p-top-problem__problems-list--bottom {
    row-gap: 12px;
    margin-top: 12px;
  }
}
.p-top-problem__problems-list--bottom > :nth-child(1) {
  justify-self: right;
  margin-right: 10px;
}
@media (max-width: 599px) {
  .p-top-problem__problems-list--bottom > :nth-child(1) {
    justify-self: unset;
    margin-right: unset;
  }
}
.p-top-problem__problems-list--bottom > :nth-child(2) {
  justify-self: start;
  margin-right: -22px;
  margin-left: 20px;
}
@media (max-width: 1200px) {
  .p-top-problem__problems-list--bottom > :nth-child(2) {
    margin-right: unset;
  }
}
@media (max-width: 599px) {
  .p-top-problem__problems-list--bottom > :nth-child(2) {
    justify-self: unset;
    margin-left: unset;
  }
}
.p-top-problem__problems-list-item {
  display: grid;
  grid-template-columns: 34px auto;
  align-items: center;
  -moz-column-gap: 12px;
       column-gap: 12px;
}
@media (max-width: 1024px) {
  .p-top-problem__problems-list-item {
    align-items: start;
  }
}
.p-top-problem__problems-list-item-icon {
  display: grid;
  place-items: center;
  width: 34px;
  aspect-ratio: 1;
  border-radius: 100vmax;
  background-color: var(--color-tile-green);
}
.p-top-problem__problems-list-item-text {
  font-family: var(--font-primary);
  line-height: 1.5;
}
@media (max-width: 599px) {
  .p-top-problem__problems-list-item-text {
    padding-top: 5px;
  }
}
@media (max-width: 599px) {
  .p-top-problem__problems-image {
    display: none;
  }
}

/*=====================================
TOP | このような方が受給につながっています
=====================================*/
.p-top-case {
  position: relative;
  padding-top: 195px;
  overflow: hidden;
  padding-bottom: 55px;
}
@media (max-width: 599px) {
  .p-top-case {
    padding-top: 32px;
    padding-bottom: 60px;
  }
}
.p-top-case__bg-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 31.7361111111%;
}
@media (max-width: 1024px) {
  .p-top-case__bg-image {
    top: 58px;
    left: -16%;
    width: 48%;
  }
}
.p-top-case__content {
  width: min(100%, 1440px);
  margin-inline: auto;
}
.p-top-case__inner {
  position: relative;
  z-index: 2;
  width: min(100%, 1180px);
  margin-right: 0;
  margin-left: auto;
  padding-inline: 0;
}
@media (max-width: 1200px) {
  .p-top-case__inner {
    padding-inline: var(--inner-padding-inline);
  }
}
.p-top-case__title {
  font-size: 2rem;
  text-align: center;
  line-height: 1.40625;
  letter-spacing: 12%;
  letter-spacing: 8%;
}
.p-top-case__title-strong {
  font-size: 1.25em;
  line-height: 1.125;
  color: var(--color-accent);
}
.p-top-case__slider {
  margin-top: 60px;
  margin-right: calc(50% - 50vw);
  overflow: hidden;
}
@media (max-width: 599px) {
  .p-top-case__slider {
    margin-top: 32px;
  }
}
.p-top-case__swiper {
  overflow: visible !important;
}
.p-top-case__swiper-slide {
  width: 374px !important;
}
@media (max-width: 1024px) {
  .p-top-case__swiper-slide {
    width: 335px !important;
  }
}
.p-top-case__slide {
  background-color: var(--color-white);
  border-radius: 31px;
  padding-top: 17px;
  padding-inline: 20px;
  padding-bottom: 22px;
  font-family: var(--font-primary);
  box-shadow: 2px 2px 5px 1px rgba(0, 0, 0, 0.12);
}
@media (max-width: 599px) {
  .p-top-case__slide {
    padding-block: 12px;
    padding-inline: 20px;
  }
}
.p-top-case__slide-header {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  row-gap: 18px;
  -moz-column-gap: 16px;
       column-gap: 16px;
  padding-bottom: 11.5px;
  padding-left: 12px;
}
@media (max-width: 599px) {
  .p-top-case__slide-header {
    row-gap: 8px;
  }
}
.p-top-case__slide-image {
  aspect-ratio: 1;
  border-radius: 50%;
  overflow: hidden;
  background-color: #E5F0C2;
}
.p-top-case__slide-profile {
  line-height: var(--line-height-md);
}
.p-top-case__slide-disease {
  margin-top: -2px;
}
.p-top-case__slide-result {
  grid-column: span 2;
  margin-left: 8px;
  color: var(--color-accent);
  font-weight: var(--font-weight-medium);
}
.p-top-case__slide-body {
  padding-top: 11.5px;
  padding-left: 20px;
  padding-right: 36px;
}
@media (max-width: 599px) {
  .p-top-case__slide-body {
    padding-top: 7.5px;
    padding-right: 13px;
    padding-left: 4px;
  }
}
.p-top-case__slide-class {
  display: inline-block;
  padding-block: 3px;
  padding-inline: 8px;
  line-height: var(--line-height-md);
  border-radius: 4px;
  background-color: #FFF3E6;
}
.p-top-case__slide-list {
  display: grid;
  grid-template-columns: max-content 1fr;
  justify-content: space-between;
  align-items: center;
  row-gap: 3px;
  -moz-column-gap: 16px;
       column-gap: 16px;
  margin-top: 7px;
  padding-left: 16px;
}
.p-top-case__slide-list-item {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: span 2;
}
.p-top-case__slide-list-item-data {
  text-align: right;
  color: var(--color-primary);
}
.p-top-case__pagination {
  position: static;
  display: flex;
  justify-content: start;
  -moz-column-gap: 9px;
       column-gap: 9px;
  margin-top: 24px;
  padding-left: 29px;
}
@media (max-width: 599px) {
  .p-top-case__pagination {
    margin-top: 16px;
  }
}
.p-top-case__pagination .swiper-pagination-bullet {
  width: 12px;
  height: unset;
  aspect-ratio: 1;
  margin: unset !important;
}
.p-top-case__pagination .swiper-pagination-bullet-active {
  background-color: #B4DA74;
}
.p-top-case__button-wrapper {
  margin-top: 2px;
  padding-right: 0;
  text-align: center;
}
@media (max-width: 1024px) {
  .p-top-case__button-wrapper {
    margin-top: 24px;
    padding-right: unset;
    text-align: center;
  }
}

/*=====================================
安心してご相談いただける4つの理由
=====================================*/
.p-top-reason {
  padding-top: 62px;
  padding-bottom: 90px;
}
@media (max-width: 599px) {
  .p-top-reason {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}
.p-top-reason__inner {
  --list-padding-left: 54px;
  width: min(100%, 1212px + var(--inner-padding-inline) * 2);
}
.p-top-reason__content {
  margin-top: 46px;
}
@media (max-width: 1024px) {
  .p-top-reason__content {
    margin-top: 48px;
  }
}
@media (max-width: 599px) {
  .p-top-reason__content {
    margin-top: 54px;
  }
}
.p-top-reason__title {
  font-size: 2rem;
  text-align: center;
  line-height: 1.4375;
  letter-spacing: var(--letter-spacing-lg);
  text-shadow: 4px 5px 0 #e3e3e3;
}
.p-top-reason__title-strong {
  font-size: 1.25em;
  line-height: 1.15;
  color: var(--color-accent);
}
.p-top-reason__list {
  display: grid;
  grid-template-rows: min-content max-content 1fr;
  grid-template-columns: repeat(2, 1fr);
  align-content: start;
  row-gap: 40px;
  -moz-column-gap: clamp(2rem, -0.7232142857rem + 7.2619047619vw, 5.8125rem);
       column-gap: clamp(2rem, -0.7232142857rem + 7.2619047619vw, 5.8125rem);
  padding-right: clamp(0rem, -14.375rem + 19.1666666667vw, 2.875rem);
  margin-inline: auto;
}
@media (max-width: 1024px) {
  .p-top-reason__list {
    grid-template-columns: unset;
    row-gap: 48px;
    max-width: 600px;
  }
}
.p-top-reason__list-item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
}
.p-top-reason__list-item-inner {
  position: relative;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  grid-template-columns: clamp(3.625rem, 0.9910714286rem + 7.0238095238vw, 7.3125rem) auto;
  row-gap: 0;
}
@media (max-width: 599px) {
  .p-top-reason__list-item-inner {
    grid-template-columns: 1fr;
    row-gap: 0;
  }
}
.p-top-reason__list-item-inner::before {
  content: "";
  position: absolute;
  top: 37px;
  left: 51px;
  z-index: -1;
  width: 154px;
  aspect-ratio: 154/133;
  background-image: -webkit-image-set(url(../images/bg-reason.svg) type("image/webp") 1x, url(../images/bg-reason.svg) type("image/webp") 2x);
  background-image: image-set(url(../images/bg-reason.svg) type("image/webp") 1x, url(../images/bg-reason.svg) type("image/webp") 2x);
  background-repeat: no-repeat;
  background-size: contain;
}
@media (max-width: 599px) {
  .p-top-reason__list-item-inner::before {
    top: 0;
    left: 15px;
  }
}
.p-top-reason__list-item-image {
  grid-area: img;
  width: -moz-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
@media (max-width: 599px) {
  .p-top-reason__list-item-image {
    position: absolute;
    grid-area: unset;
  }
}
.p-top-reason__list-item-image img {
  width: 100%;
}
.p-top-reason__list-item-image--price {
  width: clamp(4rem, 2.7544642857rem + 2.0089285714vw, 4.5625rem);
  margin-right: 17px;
  margin-left: clamp(0.375rem, -0.5178571429rem + 2.380952381vw, 1.625rem);
}
@media (max-width: 599px) {
  .p-top-reason__list-item-image--price {
    top: -38px;
    left: 41px;
    margin-right: unset;
    margin-left: unset;
  }
}
.p-top-reason__list-item-image--expression {
  width: clamp(5.5625rem, 3.4866071429rem + 3.3482142857vw, 6.5rem);
  margin-top: clamp(0.3125rem, 0.0892857143rem + 0.5952380952vw, 0.625rem);
  margin-right: clamp(0.4375rem, 0.0803571429rem + 0.9523809524vw, 0.9375rem);
}
@media (max-width: 1024px) {
  .p-top-reason__list-item-image--expression {
    margin-left: -20px;
  }
}
@media (max-width: 599px) {
  .p-top-reason__list-item-image--expression {
    top: -24px;
    left: 31px;
    margin-right: unset;
    margin-left: unset;
  }
}
.p-top-reason__list-item-image--support {
  width: clamp(5.6875rem, 4.5803571429rem + 1.7857142857vw, 6.1875rem);
  margin-top: 30px;
  margin-right: clamp(0.5rem, 0.0982142857rem + 1.0714285714vw, 1.0625rem);
}
@media (max-width: 1024px) {
  .p-top-reason__list-item-image--support {
    margin-left: -20px;
  }
}
@media (max-width: 599px) {
  .p-top-reason__list-item-image--support {
    top: -17px;
    left: 20px;
    margin-top: unset;
    margin-right: unset;
    margin-left: unset;
  }
}
.p-top-reason__list-item-image--suggestion {
  width: clamp(4.75rem, 1.9821428571rem + 4.4642857143vw, 6rem);
  margin-top: 17px;
  margin-left: clamp(0.625rem, 0.1339285714rem + 1.3095238095vw, 1.3125rem);
}
@media (max-width: 599px) {
  .p-top-reason__list-item-image--suggestion {
    top: -17px;
    left: 30px;
    margin-top: unset;
    margin-left: unset;
  }
}
@media (max-width: 599px) {
  .p-top-reason__list-item-image--suggestion img {
    width: 77px;
  }
}
.p-top-reason__list-item-header {
  grid-area: header;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  grid-template-columns: subgrid;
  grid-column: span 2;
  grid-template-areas: "img number" "img title";
  font-weight: var(--font-weight-bold);
  letter-spacing: 10%;
  color: var(--color-primary);
}
@media (max-width: 1024px) {
  .p-top-reason__list-item-header {
    row-gap: 6px;
  }
}
@media (max-width: 599px) {
  .p-top-reason__list-item-header {
    grid-template-columns: 1fr;
    grid-template-areas: "number" "title";
    grid-column: unset;
    row-gap: 0;
    padding-top: 28px;
  }
}
.p-top-reason__list-item-number {
  grid-area: number;
  margin-top: 31px;
  margin-left: 16px;
  font-size: clamp(1.5rem, 0.7957746479rem + 3.0046948357vw, 3.5rem);
  line-height: 1;
}
@media (max-width: 599px) {
  .p-top-reason__list-item-number {
    align-self: end;
    margin-top: unset;
    margin-left: unset;
    font-size: 3.5rem;
    text-align: center;
  }
}
.p-top-reason__list-item-title {
  grid-area: title;
  margin-top: clamp(0.375rem, 0.1071428571rem + 0.7142857143vw, 0.75rem);
  align-self: center;
  font-size: clamp(1.0625rem, 0.75rem + 0.8333333333vw, 1.5rem);
  line-height: 1.3333333333;
  text-align: center;
}
@media (max-width: 599px) {
  .p-top-reason__list-item-title {
    margin-top: 8px;
    font-size: 1.5rem;
  }
}
.p-top-reason__list-item-title--wide-sp {
  margin-inline: -13px;
}
.p-top-reason__list-item-body {
  grid-area: body;
  grid-column: 2/3;
  margin-top: 16px;
}
@media (max-width: 599px) {
  .p-top-reason__list-item-body {
    grid-area: unset;
    margin-top: 12px;
  }
}
.p-top-reason__list-item-text {
  font-family: var(--font-primary);
}
@media (max-width: 599px) {
  .p-top-reason__list-item-text {
    letter-spacing: var(--letter-spacing-sm);
  }
}

/*=====================================
お客様の声
=====================================*/
.p-top-voice {
  padding-top: 88px;
  padding-bottom: 118px;
  overflow: hidden;
}
@media (max-width: 1024px) {
  .p-top-voice {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}
.p-top-voice__inner {
  --swiper-button-size: 38;
  width: min(100%, 1200px + var(--swiper-button-size) * 1.5px * 2);
  padding-inline: calc(var(--swiper-button-size) * 1.5px);
}
@media (max-width: 599px) {
  .p-top-voice__inner {
    padding-inline: 20px;
  }
}
.p-top-voice__title {
  font-size: clamp(2rem, 1.823943662rem + 0.7511737089vw, 2.5rem);
  font-weight: var(--font-weight-bold);
  text-align: center;
  letter-spacing: var(--letter-spacing-lg);
  color: var(--color-accent);
}
.p-top-voice__sub-title {
  margin-top: 4px;
  font-size: 1.5rem;
  font-weight: var(--font-weight-medium);
  line-height: 1.3333333333;
  letter-spacing: 10%;
  text-align: center;
}
@media (max-width: 599px) {
  .p-top-voice__sub-title {
    margin-top: unset;
  }
}
.p-top-voice__content {
  margin-top: 40px;
}
@media (max-width: 599px) {
  .p-top-voice__content {
    margin-top: 32px;
  }
}
.p-top-voice__slider {
  position: relative;
}
@media (max-width: 599px) {
  .p-top-voice__slider {
    padding-inline: 20px;
  }
}
.p-top-voice__slider .p-top-voice__swiper-button--prev {
  right: calc(100% + clamp(0.375rem, -4rem + 5.8333333333vw, 1.25rem));
  left: auto;
}
@media (max-width: 599px) {
  .p-top-voice__slider .p-top-voice__swiper-button--prev {
    right: auto;
    left: -12px;
  }
}
.p-top-voice__slider .p-top-voice__swiper-button--next {
  rotate: 180deg;
  right: auto;
  left: calc(100% + clamp(0.375rem, -4rem + 5.8333333333vw, 1.25rem));
}
@media (max-width: 599px) {
  .p-top-voice__slider .p-top-voice__swiper-button--next {
    right: -12px;
    left: auto;
  }
}
.p-top-voice__swiper {
  margin-right: -8px;
  margin-left: -4px;
  padding-right: 8px;
  padding-left: 4px;
}
@media (max-width: 599px) {
  .p-top-voice__swiper {
    margin-right: -8px;
  }
}
.p-top-voice__swiper-wrapper {
  padding-bottom: 8px;
}
.p-top-voice__swiper-slide {
  height: auto !important;
}
.p-top-voice__slide {
  display: grid;
  align-content: start;
  row-gap: 24px;
  padding-top: 24px;
  padding-bottom: 14px;
  padding-inline: 40px;
  font-family: var(--font-primary);
  border-radius: 31px;
  box-shadow: 2px 2px 5px 1px rgba(0, 0, 0, 0.12);
}
@media (max-width: 1024px) {
  .p-top-voice__slide {
    height: auto;
  }
}
@media (max-width: 599px) {
  .p-top-voice__slide {
    row-gap: 18px;
    padding-top: 16px;
    padding-bottom: 18px;
    padding-inline: 20px;
  }
}
.p-top-voice__slide.is-clampable .p-top-voice__slide-button {
  display: block;
}
.p-top-voice__slide.is-expanded .p-top-voice__slide-text {
  display: block;
  -webkit-line-clamp: unset;
  line-clamp: unset;
  overflow: visible;
}
.p-top-voice__slide-header {
  display: flex;
  align-items: center;
  -moz-column-gap: 12px;
       column-gap: 12px;
}
.p-top-voice__slide-stars {
  display: flex;
  align-items: center;
  -moz-column-gap: 6px;
       column-gap: 6px;
}
.p-top-voice__slide-star {
  width: 24px;
  aspect-ratio: 1;
}
@media (max-width: 599px) {
  .p-top-voice__slide-star {
    width: 22px;
  }
}
.p-top-voice__slide-star img {
  display: block;
  width: 100%;
  height: 100%;
}
.p-top-voice__slide-text {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 7;
  line-clamp: 7;
  overflow: hidden;
}
@media (max-width: 599px) {
  .p-top-voice__slide-text {
    letter-spacing: 4%;
  }
}
.p-top-voice__slide-button {
  display: none;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  padding-block: 12px;
  padding-inline: 16px;
  font-size: 1rem;
  font-weight: var(--font-weight-medium);
  line-height: var(--line-height-md);
  color: var(--color-accent);
  transition-property: opacity;
  transition-duration: var(--duration-base);
  transition-timing-function: var(--ease-in-out);
}
@media (any-hover: hover) {
  .p-top-voice__slide-button:hover {
    opacity: 0.7;
  }
}
.p-top-voice__slide-button:focus {
  opacity: 0.7;
}
.p-top-voice__swiper-button {
  top: 125px !important;
  translate: 0 2px;
  display: grid;
  place-items: center;
  width: calc(var(--swiper-button-size) * 1px);
  height: unset;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: var(--color-primary);
  background-image: url(../images/icon-slider-button-arrow.svg);
  background-repeat: no-repeat;
  background-position: center center;
  transition-property: opacity;
  transition-duration: var(--duration-base);
  transition-timing-function: var(--ease-in-out);
}
@media (max-width: 599px) {
  .p-top-voice__swiper-button {
    top: 50% !important;
    width: 26px;
  }
}
@media (any-hover: hover) {
  .p-top-voice__swiper-button:hover {
    opacity: 0.7;
  }
}
.p-top-voice__swiper-button:focus {
  opacity: 0.7;
}
.p-top-voice__swiper-button svg {
  display: none;
}
.p-top-voice__button-wrapper {
  margin-top: 38px;
  text-align: center;
}
@media (max-width: 599px) {
  .p-top-voice__button-wrapper {
    margin-top: 24px;
  }
}
.p-top-voice__button-wrapper .c-button {
  width: min(100%, 296px);
}

/*=====================================
TOP | 代表メッセージ
=====================================*/
.p-top-message {
  padding-top: 124px;
  padding-bottom: 180px;
  background-image: url(../images/bg-message_01.svg);
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 44.9305555556%;
}
@media (max-width: 1024px) {
  .p-top-message {
    padding-top: 60px;
    padding-bottom: 120px;
    background-size: 80%;
  }
}
.p-top-message__inner {
  width: min(100%, 1030px + var(--inner-padding-inline) * 2);
}
.p-top-message__title {
  font-size: clamp(2rem, 1.823943662rem + 0.7511737089vw, 2.5rem);
  font-weight: var(--font-weight-bold);
  text-align: center;
  letter-spacing: var(--letter-spacing-lg);
  color: var(--color-accent);
}
.p-top-message__content {
  display: grid;
  grid-template-columns: 39.8058252427% 1fr;
  -moz-column-gap: 40px;
       column-gap: 40px;
  margin-top: 104px;
}
@media (max-width: 1024px) {
  .p-top-message__content {
    grid-template-columns: 1fr;
    row-gap: 24px;
    max-width: 600px;
    margin-top: 30px;
    margin-inline: auto;
  }
}
@media (max-width: 1024px) {
  .p-top-message__image {
    margin-inline: auto;
  }
}
.p-top-message__phrase {
  color: var(--color-primary);
  font-size: 1.5rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.3333333333;
  letter-spacing: 10%;
}
@media (max-width: 599px) {
  .p-top-message__phrase {
    text-align: center;
    letter-spacing: 8%;
  }
}
.p-top-message__text {
  margin-top: 24px;
  font-family: var(--font-primary);
}
@media (max-width: 599px) {
  .p-top-message__text {
    margin-top: 16px;
    letter-spacing: 4%;
  }
}
.p-top-message__button-wrapper {
  grid-column: span 2;
  margin-top: 32px;
  text-align: center;
}
@media (max-width: 1024px) {
  .p-top-message__button-wrapper {
    grid-column: unset;
  }
}
.p-top-message__button-wrapper .c-button {
  width: min(100%, 331px);
  -moz-column-gap: 27px;
       column-gap: 27px;
}

/*=====================================
TOP | ご相談の流れ
=====================================*/
.p-top-flow {
  padding-top: 80px;
  padding-bottom: 80px;
  background-color: #F3F1EF;
}
@media (max-width: 599px) {
  .p-top-flow {
    padding-top: 64px;
    padding-bottom: 64px;
  }
}
.p-top-flow__inner {
  width: min(100%, 1200px + var(--inner-padding-inline) * 2);
}
.p-top-flow__title {
  font-size: clamp(2rem, 1.823943662rem + 0.7511737089vw, 2.5rem);
  font-weight: var(--font-weight-bold);
  text-align: center;
  line-height: 1.4375;
  letter-spacing: var(--letter-spacing-lg);
  color: var(--color-accent);
}
@media (max-width: 599px) {
  .p-top-flow__title {
    letter-spacing: 8%;
  }
}
.p-top-flow__content {
  margin-top: 80px;
}
@media (max-width: 599px) {
  .p-top-flow__content {
    margin-top: 32px;
  }
}
.p-top-flow__list {
  --row-gap: 40px;
  --column-gap: 45px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  row-gap: var(--row-gap);
  -moz-column-gap: var(--column-gap);
       column-gap: var(--column-gap);
}
@media (max-width: 1200px) {
  .p-top-flow__list {
    padding-inline: var(--column-gap);
  }
}
@media (max-width: 1024px) {
  .p-top-flow__list {
    --row-gap: 56px;
    padding-inline: unset;
  }
}
.p-top-flow__list-item {
  position: relative;
  width: calc((100% - var(--column-gap) * 2) / 3);
  padding-top: 16px;
  padding-bottom: 40px;
  padding-left: 40px;
  padding-right: 18px;
  border-radius: 24px;
  background-color: var(--color-white);
  box-shadow: 2px 2px 5px 1px rgba(0, 0, 0, 0.12);
}
@media (max-width: 1024px) {
  .p-top-flow__list-item {
    width: calc((100% - var(--column-gap)) / 2);
    padding-inline: 20px;
    padding-top: 16px;
    padding-bottom: 32px;
  }
}
@media (max-width: 599px) {
  .p-top-flow__list-item {
    width: 100%;
    padding-bottom: 40px;
  }
}
.p-top-flow__list-item::before {
  content: "";
  position: absolute;
  left: calc(100% + var(--column-gap) / 2);
  inset-block: 0;
  translate: -50% 0;
  margin-block: auto;
  width: 20px;
  height: -moz-fit-content;
  height: fit-content;
  aspect-ratio: 20/23;
  background-image: url(../images/icon-flow-arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
@media (max-width: 599px) {
  .p-top-flow__list-item::before {
    translate: unset;
    rotate: 90deg;
    top: calc(100% + var(--row-gap) / 2);
    inset-inline: 0;
    margin-inline: auto;
  }
}
.p-top-flow__list-item {
  /* 3列表示
   * 3番目以降（左側に表示）*/
}
.p-top-flow__list-item:nth-child(n+3)::before {
  translate: 50% 0;
  right: calc(100% + var(--column-gap) / 2);
  left: unset;
}
@media (max-width: 1024px) {
  .p-top-flow__list-item:nth-child(n+3)::before {
    translate: -50% 0;
    right: auto;
    left: calc(100% + var(--column-gap) / 2);
  }
}
@media (max-width: 599px) {
  .p-top-flow__list-item:nth-child(n+3)::before {
    translate: unset;
    rotate: 90deg;
    top: calc(100% + var(--row-gap) / 2);
    inset-inline: 0;
    margin-inline: auto;
  }
}
.p-top-flow__list-item {
  /* 2列表示 */
}
@media (max-width: 1024px) {
  .p-top-flow__list-item:nth-child(2n)::before, .p-top-flow__list-item:nth-child(5)::before {
    translate: 50% 0;
    right: calc(100% + var(--column-gap) / 2);
    left: unset;
  }
}
@media (max-width: 599px) {
  .p-top-flow__list-item:nth-child(2n)::before, .p-top-flow__list-item:nth-child(5)::before {
    rotate: 90deg;
    translate: unset;
    top: calc(100% + var(--row-gap) / 2);
    inset-inline: 0;
    margin-inline: auto;
  }
}
.p-top-flow__list-item {
  /* 1列表示 */
}
@media (max-width: 599px) {
  .p-top-flow__list-item:nth-child(5)::before {
    display: none;
  }
}
.p-top-flow__list-item-header {
  display: flex;
  justify-content: space-between;
  align-items: end;
}
.p-top-flow__list-item-step {
  display: flex;
  align-items: center;
  -moz-column-gap: 9px;
       column-gap: 9px;
  font-weight: var(--font-weight-bold);
  color: var(--color-accent);
}
.p-top-flow__list-item-step-text {
  padding-top: 6px;
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 8%;
}
.p-top-flow__list-item-step-number {
  font-size: 2rem;
  line-height: 1;
  letter-spacing: 0;
}
.p-top-flow__list-item-image {
  display: grid;
  place-items: center;
  width: 79px;
  aspect-ratio: 79/71;
  margin-bottom: 4px;
  background-image: url(../images/bg-flow-_01.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
.p-top-flow__list-item-title {
  margin-top: 8px;
  font-size: 1.5rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.3333333333;
  letter-spacing: 10%;
}
@media (max-width: 1024px) {
  .p-top-flow__list-item-title {
    letter-spacing: 8%;
  }
}
.p-top-flow__list-item-body {
  margin-top: 16px;
  padding-right: 22px;
}
@media (max-width: 1024px) {
  .p-top-flow__list-item-body {
    padding-right: unset;
  }
}
/*=====================================
TOP | よくある質問
=====================================*/
.p-top-faq {
  padding-top: 160px;
  padding-bottom: 80px;
}
@media (max-width: 1024px) {
  .p-top-faq {
    padding-top: 120px;
    padding-bottom: 60px;
  }
}
.p-top-faq__inner {
  --inner-padding-inline: 16px;
}
.p-top-faq__title {
  font-size: clamp(2rem, 1.823943662rem + 0.7511737089vw, 2.5rem);
  font-weight: var(--font-weight-bold);
  text-align: center;
  line-height: 1.45;
  letter-spacing: var(--letter-spacing-lg);
  color: var(--color-accent);
}
@media (max-width: 599px) {
  .p-top-faq__title {
    line-height: 1.4375;
    letter-spacing: 8%;
  }
}
.p-top-faq__content {
  margin-top: 80px;
}
@media (max-width: 599px) {
  .p-top-faq__content {
    margin-top: 32px;
  }
}
.p-top-faq__faq-list {
  width: min(100%, 890px);
  margin-inline: auto;
}
.p-top-faq__button-wrapper {
  margin-top: 56px;
  text-align: center;
}
@media (max-width: 599px) {
  .p-top-faq__button-wrapper {
    margin-top: 32px;
  }
}
.p-top-faq__button-wrapper .c-button {
  width: min(100%, 296px);
}

/*=====================================
TOP | 障害年金のこと相談してみませんか？
=====================================*/
.p-guideline {
  padding-top: 80px;
  padding-bottom: 120px;
}
@media (max-width: 599px) {
  .p-guideline {
    padding-top: 60px;
  }
}
.p-guideline--disability-pensions {
  padding-top: 120px;
}
.p-guideline--contact {
  padding-top: 20px;
}
@media (max-width: 1024px) {
  .p-guideline--contact {
    padding-top: 40px;
    padding-bottom: 60px;
  }
}
@media (max-width: 599px) {
  .p-guideline__section-title {
    margin-inline: -6px;
  }
}
@media (max-width: 599px) {
  .p-guideline__section-title .c-section-title__main {
    line-height: 1.4375;
    letter-spacing: 8%;
  }
}
.p-guideline__content {
  margin-top: 40px;
}
.p-guideline__text {
  text-align: center;
  line-height: 1.375;
}
@media (max-width: 599px) {
  .p-guideline__text {
    margin-inline: 20px;
    line-height: var(--line-height-md);
    text-align: left;
  }
}
.p-guideline__cta {
  position: relative;
  width: min(100%, 978px);
  margin-inline: auto;
  margin-top: 40px;
  padding-block: 40px;
  padding-inline: 56px;
  border-radius: 16px;
  background-color: #F3F1EF;
  overflow: hidden;
}
@media (max-width: 599px) {
  .p-guideline__cta {
    width: unset;
    margin-inline: -20px;
    padding-inline: 20px;
  }
}
.p-guideline__cta-bg-circle {
  position: absolute;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: #EFEAE4;
}
.p-guideline__cta-bg-circle--1 {
  width: 10.8384458078%;
  top: -25px;
  left: 1.5337423313%;
}
@media (max-width: 599px) {
  .p-guideline__cta-bg-circle--1 {
    width: 24%;
    left: 4%;
    left: 2.1333333333%;
  }
}
.p-guideline__cta-bg-circle--2 {
  width: 5.3169734151%;
  top: 32.7464788732%;
  left: 2.6584867076%;
}
@media (max-width: 599px) {
  .p-guideline__cta-bg-circle--2 {
    width: 13.8666666667%;
    top: 126px;
    left: -10px;
  }
}
.p-guideline__cta-bg-circle--3 {
  width: 9.509202454%;
  bottom: 49.2957746479%;
  right: 3.2719836401%;
}
@media (max-width: 599px) {
  .p-guideline__cta-bg-circle--3 {
    width: 24.8%;
    right: -5.6%;
    bottom: 140px;
  }
}
.p-guideline__cta-bg-circle--4 {
  width: 3.4764826176%;
  bottom: 57.3943661972%;
  right: 18.200408998%;
}
@media (max-width: 599px) {
  .p-guideline__cta-bg-circle--4 {
    width: 9.0666666667%;
    right: 33.3333333333%;
    bottom: 163px;
  }
}
.p-guideline__cta-bg-circle--5 {
  width: 13.5991820041%;
  bottom: -11.2676056338%;
  right: 1.0224948875%;
}
@media (max-width: 599px) {
  .p-guideline__cta-bg-circle--5 {
    width: 21.3333333333%;
    right: 11.2%;
    bottom: -19px;
  }
}
.p-guideline__cta-title {
  position: relative;
  z-index: 1;
  font-size: 1.5rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.3333333333;
  letter-spacing: 10%;
  text-align: center;
}
.p-guideline__cta-list {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -moz-column-gap: 4.6189376443%;
       column-gap: 4.6189376443%;
  margin-top: 32px;
}
@media (max-width: 599px) {
  .p-guideline__cta-list {
    grid-template-columns: 1fr;
    row-gap: 24px;
    margin-top: 65px;
  }
}
.p-guideline__cta-list-bg-image {
  position: absolute;
  bottom: 100%;
  left: 8px;
  translate: 0 38%;
  clip-path: polygon(0 0, 100% 0, 100% 62%, 0 62%);
}
.p-guideline__cta-list-item {
  --theme-color: var(--color-primary);
  position: relative;
  padding-block: 26px;
  padding-inline: 7px;
  border: 2px solid var(--theme-color);
  border-radius: 8px;
  background-color: var(--color-white);
}
@media (max-width: 599px) {
  .p-guideline__cta-list-item:nth-child(2) {
    padding-block: 19px;
  }
}
@media (max-width: 599px) {
  .p-guideline__cta-list-item:nth-child(2) .p-guideline__cta-list-item-button-wrapper {
    margin-top: 7px;
  }
}
.p-guideline__cta-list-item--theme-accent {
  --theme-color: var(--color-accent);
}
.p-guideline__cta-list-item-title {
  font-size: 1.125rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.3333333333;
  letter-spacing: 8%;
  text-align: center;
  color: var(--theme-color);
}
.p-guideline__cta-list-item-button-wrapper {
  margin-top: 18px;
  text-align: center;
}
.p-guideline__alert {
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  margin-top: 40px;
}

/*=====================================
共通 | フッター
=====================================*/
.p-footer {
  padding-top: 32px;
  padding-bottom: 80px;
  background-color: #FFF6E3;
  background-image: url(../images/bg-footer_01.svg), url(../images/bg-footer_02.svg);
  background-repeat: no-repeat;
  background-position: left top, right bottom;
}
@media (max-width: 1024px) {
  .p-footer {
    background-image: url(../images/bg-footer_01.svg);
  }
}
@media (max-width: 599px) {
  .p-footer {
    padding-top: 42px;
  }
}
.p-footer__inner {
  display: flex;
  justify-content: space-between;
  width: min(100%, 1200px + var(--inner-padding-inline) * 2);
  -moz-column-gap: 64px;
       column-gap: 64px;
}
@media (max-width: 1024px) {
  .p-footer__inner {
    justify-content: center;
  }
}
.p-footer__info {
  flex-shrink: 0;
  padding-left: 14px;
}
@media (max-width: 1024px) {
  .p-footer__info {
    padding-left: unset;
  }
}
.p-footer__logo {
  width: -moz-fit-content;
  width: fit-content;
}
@media (max-width: 1024px) {
  .p-footer__logo {
    margin-inline: auto;
  }
}
.p-footer__logo-image {
  width: 109px;
}
.p-footer__address {
  margin-top: 24px;
  font-weight: var(--font-weight-medium);
  font-style: normal;
}
@media (max-width: 1024px) {
  .p-footer__address {
    text-align: center;
  }
}
.p-footer__address-tel {
  display: block;
  margin-top: 16px;
  transition-property: color;
  transition-duration: var(--duration-base);
  transition-timing-function: var(--ease-in-out);
}
@media (any-hover: hover) {
  .p-footer__address-tel:hover {
    color: rgba(32, 32, 32, 0.7);
  }
}
.p-footer__address-tel:focus {
  color: rgba(32, 32, 32, 0.7);
}
.p-footer__menu {
  margin-top: 35px;
}
@media (max-width: 1024px) {
  .p-footer__menu {
    display: none;
  }
}
.p-footer__menu-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: end;
  align-items: center;
  row-gap: 20px;
  -moz-column-gap: 24px;
       column-gap: 24px;
}
.p-footer__menu-list-item {
  position: relative;
}
.p-footer__menu-list-item:hover .p-footer__menu-list-item-text {
  color: rgba(32, 32, 32, 0.7);
}
.p-footer__menu-list-item:hover .p-footer__menu-list-item-arrow {
  translate: 0 3px;
}
.p-footer__menu-list-item:hover .p-footer__submenu {
  opacity: 1;
  visibility: visible;
}
.p-footer__menu-list-item-link {
  display: flex;
  align-items: center;
  -moz-column-gap: 6px;
       column-gap: 6px;
  transition-property: color;
  transition-duration: var(--duration-base);
  transition-timing-function: var(--ease-in-out);
}
.p-footer__menu-list-item-text {
  font-weight: var(--font-weight-medium);
}
.p-footer__menu-list-item-arrow {
  display: block;
  width: 11px;
  aspect-ratio: 11/7;
  padding-bottom: 3px;
  transition-property: translate;
  transition-duration: var(--duration-base);
  transition-timing-function: var(--ease-in-out);
}
.p-footer__menu-list-item-arrow svg {
  color: #678375;
}
.p-footer__submenu {
  position: absolute;
  top: 100%;
  left: 50%;
  translate: -50% 0;
  opacity: 0;
  visibility: hidden;
  width: -moz-max-content;
  width: max-content;
  list-style: none;
  background-color: var(--color-white);
  border-radius: 5px;
  box-shadow: -3px 3px 12px 0 rgba(60, 60, 60, 0.15);
  transition-property: opacity, visibility;
  transition-duration: var(--duration-base);
  transition-timing-function: var(--ease-in-out);
}
.p-footer__submenu-item-link {
  display: block;
  padding-block: 12px;
  padding-inline: 16px;
  font-weight: var(--font-weight-medium);
  transition-property: background-color;
  transition-duration: var(--duration-base);
  transition-timing-function: var(--ease-in-out);
}
@media (any-hover: hover) {
  .p-footer__submenu-item-link:hover {
    background-color: #f5f5f5;
  }
}
.p-footer__submenu-item-link:focus {
  background-color: #f5f5f5;
}
.p-footer__menu-button-wrapper {
  display: flex;
  justify-content: end;
  align-items: center;
  -moz-column-gap: 12px;
       column-gap: 12px;
  margin-top: 32px;
}

/*=====================================
共通 | SP固定フッターCTA
=====================================*/
.p-fixed-cta {
  display: none;
}
@media (max-width: 599px) {
  .p-fixed-cta {
    position: fixed;
    inset-inline: 0;
    bottom: 0;
    z-index: var(--z-fixed-cta);
    display: grid;
    grid-template-columns: repeat(2, min(50%, 188px));
    justify-content: center;
    -moz-column-gap: clamp(0rem, -1.6666666667rem + 7.1111111111vw, 1rem);
         column-gap: clamp(0rem, -1.6666666667rem + 7.1111111111vw, 1rem);
    padding-inline: 12px;
    padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px));
    pointer-events: none;
    transition-property: opacity, translate;
    transition-duration: var(--duration-base);
    transition-timing-function: var(--ease-in-out);
  }
}
body:has(.p-header__menu.is-open) .p-fixed-cta {
  opacity: 0;
  translate: 0 100%;
}
.p-fixed-cta__button {
  pointer-events: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  -moz-column-gap: 6px;
       column-gap: 6px;
  padding-block: 9px;
  padding-inline: 10px;
  font-size: 0.9375rem;
  color: var(--text-white);
  background-color: var(--color-primary);
  border-radius: 21px;
  box-shadow: 0 3px 12px rgba(60, 60, 60, 0.25);
}
.p-fixed-cta__button--theme-accent {
  background-color: var(--color-accent);
}
.p-fixed-cta__button-icon {
  flex-shrink: 0;
  display: block;
}

/*=====================================
ページヘッダー
=====================================*/
.p-page-header {
  padding-top: calc(31px + var(--header-height));
  padding-bottom: 72px;
  background-color: #FFF6E3;
}
@media (max-width: 1024px) {
  .p-page-header {
    padding-top: calc(38px + var(--header-height));
    padding-bottom: 40px;
  }
}
.p-page-header__title-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  row-gap: 7px;
  -moz-column-gap: 7px;
       column-gap: 7px;
  color: var(--text-white);
}
@media (max-width: 1024px) {
  .p-page-header__title-row {
    -moz-column-gap: 4.84px;
         column-gap: 4.84px;
  }
}
.p-page-header__title-tile {
  display: grid;
  place-items: center;
  min-width: 48px;
  padding-block: 6px;
  padding-inline: 11px;
  aspect-ratio: 1;
  font-size: 1.5rem;
  background-color: var(--color-tile-green);
  border-radius: 10px;
}
@media (max-width: 1024px) {
  .p-page-header__title-tile {
    min-width: 33px;
    padding-block: 1px;
    padding-inline: 6px;
    font-size: 1.25rem;
    line-height: 1.6;
  }
}
.p-page-header__lead {
  margin-top: 40px;
  text-align: center;
}
@media (max-width: 1024px) {
  .p-page-header__lead {
    margin-top: 24px;
  }
}

/*=====================================
下層ページ | ご案内（メインカラム最上部）
=====================================*/
.p-page-toc {
  padding-bottom: 24px;
}
@media (max-width: 1024px) {
  .p-page-toc {
    padding-top: 32px;
  }
}

/*=====================================
障害年金ガイドページ
=====================================*/
.p-disability-pensions {
  overflow-x: clip;
  /*=====================================
  障害年金とは
  =====================================*/
}
.p-disability-pensions__about {
  padding-top: 21px;
  padding-bottom: 36px;
}
@media (max-width: 599px) {
  .p-disability-pensions__about {
    padding-top: 40px;
  }
}
.p-disability-pensions__about-lead {
  margin-top: 24px;
  font-weight: var(--font-weight-medium);
  line-height: 1.375;
  text-align: center;
}
.p-disability-pensions__about-content {
  margin-top: 69px;
}
@media (max-width: 599px) {
  .p-disability-pensions__about-content {
    margin-top: 40px;
  }
}
.p-disability-pensions__about-title {
  margin-top: 39px;
}
.p-disability-pensions__about-text {
  margin-top: 12.5px;
  line-height: 1.375;
}
.p-disability-pensions__about-list {
  display: grid;
  row-gap: 9px;
  margin-top: 20px;
}
.p-disability-pensions__about-list-item {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  -moz-column-gap: 12px;
       column-gap: 12px;
  line-height: 1.375;
}
@media (max-width: 599px) {
  .p-disability-pensions__about-list-item {
    -moz-column-gap: 11px;
         column-gap: 11px;
  }
}
.p-disability-pensions__about-list-item::before {
  content: "";
  width: 18px;
  aspect-ratio: 1;
  background-image: url(../images/icon-check.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
.p-disability-pensions__about-alert {
  margin-top: 20px;
  margin-left: -8px;
}
@media (max-width: 599px) {
  .p-disability-pensions__about-alert {
    margin-top: 13px;
    margin-inline: -4px;
  }
}
.p-disability-pensions__about-target {
  --u: calc(100cqw / 1028);
  container-type: inline-size;
  container-name: target-container;
  position: relative;
  inline-size: min(100%, 1028px);
  margin-top: 24px;
}
@media screen and (max-width: 703px) {
  .p-disability-pensions__about-target {
    --u: 1px;
    inline-size: 100%;
  }
}
@media (max-width: 599px) {
  .p-disability-pensions__about-target {
    margin-top: 15px;
  }
}
.p-disability-pensions__about-target-inner {
  display: grid;
  grid-template-columns: repeat(3, auto);
  justify-content: start;
  align-items: center;
  -moz-column-gap: calc(var(--u) * 16);
       column-gap: calc(var(--u) * 16);
}
@container target-container (max-width: 599px) {
  .p-disability-pensions__about-target-inner {
    grid-template-columns: minmax(0, 1fr);
    justify-content: stretch;
    row-gap: 12px;
  }
}
@media (max-width: 599px) {
  .p-disability-pensions__about-target-inner {
    grid-template-columns: minmax(0, 1fr);
    justify-content: stretch;
    row-gap: 12px;
  }
}
.p-disability-pensions__about-target-list {
  display: grid;
  row-gap: calc(var(--u) * 12);
}
@container target-container (max-width: 599px) {
  .p-disability-pensions__about-target-list {
    margin-inline: 20px;
  }
}
@media (max-width: 599px) {
  .p-disability-pensions__about-target-list {
    margin-inline: 20px;
  }
}
.p-disability-pensions__about-target-list--first {
  margin-bottom: calc(var(--u) * 40);
}
@container target-container (max-width: 599px) {
  .p-disability-pensions__about-target-list--first {
    margin-top: 1px;
    margin-bottom: unset;
  }
}
@media (max-width: 599px) {
  .p-disability-pensions__about-target-list--first {
    margin-top: 1px;
    margin-bottom: unset;
  }
}
.p-disability-pensions__about-target-list-item {
  display: grid;
  justify-items: start;
  row-gap: calc(var(--u) * 8);
}
.p-disability-pensions__about-target-list-item-title {
  min-inline-size: calc(var(--u) * 86);
  padding-block: calc(var(--u) * 4);
  font-size: calc(var(--u) * 16);
  font-weight: var(--font-weight-bold);
  line-height: 1.375;
  text-align: center;
  border-radius: calc(var(--u) * 6);
  background-color: #ffeee2;
}
.p-disability-pensions__about-target-list-item-data {
  font-size: calc(var(--u) * 16);
  line-height: 1.375;
}
.p-disability-pensions__about-target-image {
  margin-bottom: calc(var(--u) * 44);
}
@container target-container (max-width: 599px) {
  .p-disability-pensions__about-target-image {
    order: -1;
    max-width: 95px;
    margin-inline: auto;
    margin-bottom: unset;
  }
}
@media (max-width: 599px) {
  .p-disability-pensions__about-target-image {
    order: -1;
    max-width: 95px;
    margin-inline: auto;
    margin-bottom: unset;
  }
}
.p-disability-pensions__about-target-image img {
  inline-size: calc(var(--u) * 170);
  block-size: auto;
}
.p-disability-pensions__about-target-list--second {
  row-gap: calc(var(--u) * 18);
  margin-top: calc(var(--u) * 24);
  margin-left: calc(var(--u) * 20);
}
@container target-container (max-width: 599px) {
  .p-disability-pensions__about-target-list--second {
    row-gap: 12px;
    margin-top: unset;
    margin-inline: 20px;
  }
}
@media (max-width: 599px) {
  .p-disability-pensions__about-target-list--second {
    row-gap: 12px;
    margin-top: unset;
    margin-inline: 20px;
  }
}
.p-disability-pensions__about-target-list--second .p-disability-pensions__about-target-list-item {
  grid-template-columns: auto 1fr;
  align-items: center;
  -moz-column-gap: calc(var(--u) * 12);
       column-gap: calc(var(--u) * 12);
}
@container target-container (max-width: 599px) {
  .p-disability-pensions__about-target-list--second .p-disability-pensions__about-target-list-item {
    grid-template-columns: unset;
  }
}
@media (max-width: 599px) {
  .p-disability-pensions__about-target-list--second .p-disability-pensions__about-target-list-item {
    grid-template-columns: unset;
  }
}
.p-disability-pensions__about-target-lines {
  position: absolute;
  inset: 0;
  inline-size: 100%;
  block-size: 100%;
  pointer-events: none;
}
@container target-container (max-width: 599px) {
  .p-disability-pensions__about-target-lines {
    display: none;
  }
}
@media (max-width: 599px) {
  .p-disability-pensions__about-target-lines {
    display: none;
  }
}
.p-disability-pensions__about-target-lines polyline {
  fill: none;
  stroke: #333;
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
}
.p-disability-pensions__about-target-lines circle {
  fill: #333;
  stroke: none;
}
.p-disability-pensions {
  /*=====================================
  受給の３要件
  =====================================*/
}
.p-disability-pensions__requirements {
  padding-top: 36px;
  padding-bottom: 60px;
}
@media (max-width: 599px) {
  .p-disability-pensions__requirements {
    padding-bottom: 100px;
  }
}
.p-disability-pensions__requirements-lead {
  margin-top: 24px;
  font-weight: var(--font-weight-medium);
  line-height: 1.375;
  text-align: center;
}
.p-disability-pensions__requirements-content {
  position: relative;
  margin-top: 40px;
}
.p-disability-pensions__requirements-bg-image {
  position: absolute;
  top: 0;
  right: -26px;
  width: 12.9980842912%;
}
@media (max-width: 1200px) {
  .p-disability-pensions__requirements-bg-image {
    right: 0;
  }
}
@media (max-width: 599px) {
  .p-disability-pensions__requirements-bg-image {
    top: unset;
    right: -8px;
    bottom: -80px;
    width: 31.0447761194%;
  }
}
.p-disability-pensions__requirements-text {
  line-height: 1.375;
}
@media (max-width: 599px) {
  .p-disability-pensions__requirements-text {
    margin-inline: -11.5px;
    text-align: center;
  }
}
.p-disability-pensions__requirements-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -moz-column-gap: 32px;
       column-gap: 32px;
  margin-top: 16px;
  margin-inline: 8px;
}
@media (max-width: 599px) {
  .p-disability-pensions__requirements-list {
    grid-template-columns: unset;
    row-gap: 36px;
    margin-top: 20px;
    margin-inline: 13.5px;
  }
}
.p-disability-pensions__requirements-list-item {
  padding-top: 12px;
}
.p-disability-pensions__requirements-list-item-number {
  position: relative;
  color: #CBD698;
  font-size: 2rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.25;
  letter-spacing: var(--letter-spacing-lg);
}
.p-disability-pensions__requirements-list-item-number::before {
  content: "";
  position: absolute;
  top: -12px;
  left: -16px;
  z-index: -1;
  width: 49px;
  aspect-ratio: 49/44;
  background-image: url(../images/bg-reason.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
.p-disability-pensions__requirements-list-item-title {
  margin-top: 6px;
  font-size: 1.5rem;
  line-height: 1.3333333333;
  letter-spacing: 10%;
  color: var(--color-primary);
}
.p-disability-pensions__requirements-list-item-text {
  margin-top: 16px;
  line-height: 1.375;
}
.p-disability-pensions {
  /*=====================================
  障害認定日と事後重症
  =====================================*/
}
.p-disability-pensions__certification-date {
  padding-top: 60px;
  padding-bottom: 60px;
}
@media (max-width: 599px) {
  .p-disability-pensions__certification-date {
    padding-top: 100px;
  }
}
.p-disability-pensions__certification-date-lead {
  margin-top: 24px;
  font-weight: var(--font-weight-medium);
  line-height: 1.375;
  letter-spacing: 0.06em;
  text-align: center;
}
.p-disability-pensions__certification-date-content {
  margin-top: 40px;
}
.p-disability-pensions__certification-date-text {
  margin-top: 12px;
  line-height: 1.375;
}
.p-disability-pensions__certification-date--title {
  margin-top: 40px;
}
.p-disability-pensions {
  /*=====================================
  申請の流れ
  =====================================*/
}
.p-disability-pensions__flow {
  padding-top: 60px;
  padding-bottom: 60px;
}
.p-disability-pensions__flow-lead {
  margin-top: 24px;
  font-weight: var(--font-weight-medium);
  line-height: 1.375;
  text-align: center;
}
.p-disability-pensions__flow-list {
  --row-gap: 32px;
  --circle-width: 80px;
  display: grid;
  row-gap: var(--row-gap);
  width: min(100%, 954px);
  margin-top: 40px;
  margin-left: 16px;
}
@media (max-width: 599px) {
  .p-disability-pensions__flow-list {
    margin-top: 62px;
    margin-inline: -4px;
  }
}
.p-disability-pensions__flow-list-item {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
  -moz-column-gap: 14px;
       column-gap: 14px;
}
@media (max-width: 599px) {
  .p-disability-pensions__flow-list-item {
    -moz-column-gap: 16px;
         column-gap: 16px;
  }
}
.p-disability-pensions__flow-list-item::before {
  content: "";
  position: absolute;
  top: 0;
  left: calc(var(--circle-width) / 2);
  translate: -50% 0;
  z-index: -2;
  width: 2px;
  height: calc(100% + var(--row-gap));
  background-image: radial-gradient(circle, var(--color-primary) 2px, transparent 2px);
  background-position: left top;
  background-repeat: repeat-y;
  background-size: 4px 8px;
}
.p-disability-pensions__flow-list-item:last-child::before {
  content: "";
  position: absolute;
  display: none;
}
.p-disability-pensions__flow-list-item-header {
  display: grid;
  place-content: center;
  width: var(--circle-width);
  aspect-ratio: 1;
  padding-bottom: 5px;
  border-radius: 50%;
  background-color: #F3F1EF;
  text-align: center;
}
.p-disability-pensions__flow-list-item-step {
  font-size: 0.9375rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.3333333333;
  text-transform: uppercase;
  color: #A3A3A3;
}
.p-disability-pensions__flow-list-item-number {
  margin-top: -3px;
  font-size: 2rem;
  font-weight: var(--font-weight-bold);
  line-height: 1;
  letter-spacing: 10%;
  color: var(--color-primary);
}
.p-disability-pensions__flow-list-item-body {
  padding-top: 28px;
}
@media (max-width: 599px) {
  .p-disability-pensions__flow-list-item-body {
    padding-top: 24px;
  }
}
.p-disability-pensions__flow-list-item-title {
  font-size: 1.5rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.3333333333;
  letter-spacing: 10%;
}
.p-disability-pensions__flow-list-item-text {
  margin-top: 24px;
  line-height: 1.375;
}
@media (max-width: 599px) {
  .p-disability-pensions__flow-list-item-text {
    margin-top: 8px;
  }
}
.p-disability-pensions {
  /*=====================================
  受給額の目安
  =====================================*/
}
.p-disability-pensions__guideline {
  padding-top: 60px;
  padding-bottom: 120px;
}
.p-disability-pensions__guideline-lead {
  margin-top: 24px;
  font-weight: var(--font-weight-medium);
  line-height: 1.375;
  text-align: center;
}
.p-disability-pensions__guideline-content {
  margin-top: 40px;
}
.p-disability-pensions__guideline-item {
  display: grid;
  grid-template-columns: repeat(2, auto);
  justify-content: start;
  align-items: end;
  -moz-column-gap: 28px;
       column-gap: 28px;
  margin-top: 16px;
  margin-left: -8px;
}
@media (max-width: 599px) {
  .p-disability-pensions__guideline-item {
    grid-template-columns: 1fr;
    margin-left: unset;
  }
}
.p-disability-pensions__guideline-title {
  margin-top: 40px;
}
@media (max-width: 599px) {
  .p-disability-pensions__guideline-title {
    margin-left: 8px;
  }
}
.p-disability-pensions__guideline-item-table-wrapper {
  width: 340px;
  border: 1px solid #CCCCCC;
  border-radius: 5px;
  overflow: hidden;
}
@media (max-width: 599px) {
  .p-disability-pensions__guideline-item-table-wrapper {
    width: 100%;
  }
}
.p-disability-pensions__guideline-item-table-wrapper--second {
  width: 610px;
  max-width: 100%;
}
@media (max-width: 599px) {
  .p-disability-pensions__guideline-item-table-wrapper--second {
    width: 100%;
  }
}
.p-disability-pensions__guideline-item-table-wrapper--second .c-table__col1 {
  width: 22.4590163934%;
}
.p-disability-pensions__guideline-item-table-wrapper--second .c-table__col2 {
  width: auto;
}
.p-disability-pensions__guideline-item-table-wrapper--second td {
  padding-right: 16px;
  padding-left: clamp(1rem, 0.3838028169rem + 2.6291079812vw, 2.75rem);
  text-align: left;
}
.p-disability-pensions__guideline-item-text {
  width: -moz-fit-content;
  width: fit-content;
  line-height: 1.375;
  text-align: right;
}
@media (max-width: 599px) {
  .p-disability-pensions__guideline-item-text {
    margin-top: 8px;
  }
}
.p-disability-pensions__guideline-text {
  margin-top: 16px;
  line-height: 1.375;
}
@media (max-width: 599px) {
  .p-disability-pensions__guideline-text {
    margin-top: 12px;
    margin-left: 8px;
  }
}
.p-disability-pensions__guideline-text--bottom {
  margin-top: 32px;
  margin-left: -8px;
}
.p-disability-pensions__guideline-alert {
  margin-top: 40px;
  margin-left: -8px;
}
@media (max-width: 599px) {
  .p-disability-pensions__guideline-alert {
    margin-top: 16px;
    margin-inline: -4px;
  }
}
.p-disability-pensions {
  /*=====================================
  障害年金を受給するには？
  =====================================*/
}
.p-disability-pensions__receipt {
  position: relative;
  padding-top: 80px;
  padding-bottom: 80px;
}
.p-disability-pensions__receipt::before {
  content: "";
  position: absolute;
  inset-block: 0;
  inset-inline: -100vw;
  z-index: -1;
  background-color: #FFF6E3;
}
.p-disability-pensions__receipt-content {
  width: min(100%, 866px);
  margin-inline: auto;
  margin-top: 40px;
}
.p-disability-pensions__receipt-image {
  text-align: center;
}
.p-disability-pensions__receipt-text {
  margin-top: 32px;
  line-height: 1.375;
  letter-spacing: 0.06em;
}
@media (max-width: 599px) {
  .p-disability-pensions__receipt-text {
    margin-left: 8px;
  }
}

/*=====================================
私たちにできることページ
=====================================*/
.p-support {
  /*=====================================
  障害年金請求サポート
  =====================================*/
}
.p-support__support {
  padding-top: 20px;
  padding-bottom: 60px;
}
@media (max-width: 599px) {
  .p-support__support {
    padding-top: 40px;
  }
}
.p-support__support-lead {
  margin-top: 24px;
  font-weight: var(--font-weight-medium);
  line-height: 1.375;
  text-align: center;
}
.p-support__support-content {
  margin-top: 56px;
}
.p-support__support-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  row-gap: 40px;
  -moz-column-gap: 56px;
       column-gap: 56px;
}
@media (max-width: 599px) {
  .p-support__support-list {
    grid-template-columns: unset;
  }
}
.p-support__support-list-item {
  display: grid;
  grid-template-columns: auto 1fr;
  -moz-column-gap: 12px;
       column-gap: 12px;
}
.p-support__support-list-item-image {
  display: grid;
  place-items: center;
  width: 64px;
  aspect-ratio: 64/58;
  margin-top: 4px;
  background-image: url(../images/bg-flow-_01.svg);
  background-repeat: no-repeat;
  background-size: cover;
}
.p-support__support-list-item-title {
  font-size: 1.5rem;
  font-weight: var(--font-weight-medium);
  line-height: 1.3333333333;
  letter-spacing: 0.1em;
}
.p-support__support-list-item-text {
  margin-top: 8px;
  line-height: 1.375;
  letter-spacing: 0.06em;
}
.p-support {
  /*=====================================
  障害年金以外のご相談も承ります
  =====================================*/
}
.p-support__system-support {
  padding-top: 60px;
  padding-bottom: 60px;
}
.p-support__system-support-lead {
  margin-top: 24px;
  font-weight: var(--font-weight-medium);
  line-height: 1.375;
  text-align: center;
}
.p-support__system-support-content {
  margin-top: 56px;
}
.p-support__system-support-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, min(100%, 320px));
  justify-content: center;
  row-gap: 32px;
  -moz-column-gap: 34px;
       column-gap: 34px;
}
.p-support__system-support-list-item {
  display: grid;
  justify-items: center;
  align-content: start;
  row-gap: 16px;
  padding-block: 24px;
  padding-inline: 15px;
  border-radius: 16px;
  background-color: #F3F1EF;
}
.p-support__system-support-list-item:nth-child(1) .p-support__system-support-list-item-header {
  -moz-column-gap: 31px;
       column-gap: 31px;
  padding-right: 24px;
}
.p-support__system-support-list-item:nth-child(2) .p-support__system-support-list-item-header {
  -moz-column-gap: 16px;
       column-gap: 16px;
}
.p-support__system-support-list-item:nth-child(3) .p-support__system-support-list-item-header {
  -moz-column-gap: 12px;
       column-gap: 12px;
  padding-left: 12px;
}
.p-support__system-support-list-item:nth-child(4) .p-support__system-support-list-item-header {
  -moz-column-gap: 24px;
       column-gap: 24px;
  padding-right: 16px;
}
.p-support__system-support-list-item:nth-child(5) .p-support__system-support-list-item-header {
  -moz-column-gap: 44px;
       column-gap: 44px;
}
.p-support__system-support-list-item:nth-child(6) .p-support__system-support-list-item-header {
  -moz-column-gap: 8px;
       column-gap: 8px;
  padding-left: 6px;
}
.p-support__system-support-list-item-header {
  display: flex;
  justify-content: center;
  align-items: center;
  -moz-column-gap: 9px;
       column-gap: 9px;
}
.p-support__system-support-list-item-image {
  height: 67px;
}
.p-support__system-support-list-item-image img {
  width: unset;
  height: 100%;
}
.p-support__system-support-list-item-title {
  font-size: 1.5rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.3333333333;
  letter-spacing: 0.1em;
  text-align: center;
}
.p-support__system-support-list-item-text {
  line-height: 1.375;
  letter-spacing: 0.06em;
}
.p-support {
  /* ========================================
   * よくある質問
   * ===================================== */
}
.p-support .p-support__faq {
  padding-top: 60px;
}
@media (max-width: 1024px) {
  .p-support .p-support__faq {
    padding-top: 40px;
  }
}
.p-support .p-support__faq-content {
  margin-top: 56px;
}
@media (max-width: 1024px) {
  .p-support .p-support__faq-content {
    margin-top: 36px;
  }
}

/*=====================================
費用についてページ
=====================================*/
.p-cost {
  /*=====================================
  安心してご依頼いただける４つのポイント
  =====================================*/
}
.p-cost__request {
  padding-top: 20px;
  padding-bottom: 60px;
}
.p-cost__request-lead {
  margin-top: 24px;
  font-weight: var(--font-weight-medium);
  line-height: 1.375;
  text-align: center;
}
.p-cost__request-content {
  margin-top: 60px;
}
.p-cost__request-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  row-gap: 24px;
  -moz-column-gap: 40px;
       column-gap: 40px;
  width: min(100%, 760px);
  margin-inline: auto;
}
@media (max-width: 599px) {
  .p-cost__request-list {
    grid-template-columns: unset;
  }
}
.p-cost__request-list-item {
  position: relative;
  padding-top: 14px;
  padding-right: 4px;
  padding-bottom: 20px;
  padding-left: 16px;
}
.p-cost__request-list-item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 49px;
  aspect-ratio: 49/44;
  background-image: url(../images/bg-reason.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
.p-cost__request-list-item-number {
  display: inline-block;
  font-size: 2em;
  font-weight: var(--font-weight-bold);
  line-height: 1.25;
  letter-spacing: var(--letter-spacing-lg);
  color: #CBD698;
}
.p-cost__request-list-item-title {
  margin-top: 6px;
  font-size: 1.5rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.3333333333;
  letter-spacing: 0.1em;
  color: var(--color-primary);
}
.p-cost__request-list-item-text {
  margin-top: 16px;
  line-height: 1.375;
}
.p-cost {
  /*=====================================
  各サービスの費用について
  =====================================*/
}
.p-cost__service {
  padding-top: 60px;
  padding-bottom: 40px;
}
.p-cost__service-lead {
  margin-top: 24px;
  font-weight: var(--font-weight-medium);
  line-height: 1.375;
  text-align: center;
}
.p-cost__service-content {
  width: min(100%, 874px);
  margin-top: 56px;
  margin-inline: auto;
}
.p-cost__service-list {
  display: grid;
  row-gap: 24px;
}
.p-cost__service-list-item {
  --border-width: 1px;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid #83A385;
  background-color: #FFFAF0;
}
.p-cost__service-list-item-header {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  -moz-column-gap: 32px;
       column-gap: 32px;
  padding-inline: clamp(1rem, 0.4718309859rem + 2.2535211268vw, 2.5rem);
  padding-top: calc(16px - var(--border-width));
  padding-bottom: 16px;
  background-color: #83A385;
  color: var(--text-white);
}
@media (max-width: 599px) {
  .p-cost__service-list-item-header {
    -moz-column-gap: 16px;
         column-gap: 16px;
  }
}
.p-cost__service-list-item-image {
  height: 40px;
}
.p-cost__service-list-item-image img {
  width: unset;
  height: 100%;
}
.p-cost__service-list-item-title {
  font-size: clamp(1.25rem, 1.161971831rem + 0.3755868545vw, 1.5rem);
  font-weight: var(--font-weight-bold);
  line-height: 1.3333333333;
  letter-spacing: 0.1em;
}
.p-cost__service-list-item-body {
  padding-top: 24px;
  padding-bottom: 31px;
  padding-inline: clamp(1rem, 0.4718309859rem + 2.2535211268vw, 2.5rem);
}
.p-cost__service-list-item-body > :last-child {
  margin-bottom: unset;
}
.p-cost__service-list-item-text {
  margin-bottom: 12px;
  line-height: 1.375;
}
.p-cost__service-sub-list {
  display: grid;
  margin-bottom: 24px;
  row-gap: 12px;
  font-weight: var(--font-weight-medium);
  line-height: 1.375;
}
.p-cost__service-sub-list-item {
  display: grid;
  grid-template-columns: auto 1fr;
  -moz-column-gap: 6px;
       column-gap: 6px;
}
.p-cost__service-sub-list-item-number {
  position: relative;
  top: 2px;
  display: inline-block;
  width: 22px;
  aspect-ratio: 1;
  padding-top: 2px;
  line-height: 1;
  text-align: center;
  border-radius: 50%;
  background-color: #83A385;
  color: var(--text-white);
}
.p-cost__service-sub-list-item-text {
  line-height: 1.375;
}
.p-cost__service-sub-list-item-text-value {
  display: inline-block;
  font-size: 1.25rem;
  line-height: 1.1;
}
.p-cost__service-alert {
  margin-top: 40px;
  padding-right: 13px;
}
.p-cost {
  /*=====================================
  よくある質問
  =====================================*/
}
.p-cost .p-cost__faq {
  padding-top: 40px;
}
.p-cost .p-cost__faq-content {
  margin-top: 56px;
}
.p-cost .p-cost__faq-list {
  width: min(100%, 890px);
  margin-inline: auto;
}

/*=====================================
受給事例・お役立ち情報
=====================================*/
.p-post-archive {
  /*=====================================
  投稿リスト
  =====================================*/
}
@media (max-width: 1024px) {
  .p-post-archive__posts {
    padding-top: 40px;
  }
}
@media (max-width: 599px) {
  .p-post-archive__posts-content {
    padding-top: 20px;
  }
}
.p-post-archive__posts-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
  row-gap: 40px;
  -moz-column-gap: 34px;
       column-gap: 34px;
}
.p-post-archive__posts-list-item {
  border-radius: 16px;
  overflow: hidden;
  background-color: #FFFAF0;
}
.p-post-archive__posts-list-item-link {
  display: block;
  padding-top: 8px;
  padding-bottom: 24px;
  padding-inline: 16px;
  transition-property: opacity;
  transition-duration: var(--duration-base);
  transition-timing-function: var(--ease-in-out);
}
@media (any-hover: hover) {
  .p-post-archive__posts-list-item-link:hover {
    opacity: 0.7;
  }
  .p-post-archive__posts-list-item-link:hover .p-post-archive__list-item-image img {
    scale: 1.1;
  }
}
.p-post-archive__posts-list-item-link:focus .p-post-archive__list-item-image img {
  scale: 1.1;
}
.p-post-archive__posts-list-item-image {
  aspect-ratio: 288/193;
  border-radius: 24px;
  background-color: #B1B1B1;
  overflow: hidden;
}
.p-post-archive__posts-list-item-image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition-property: scale;
  transition-duration: var(--duration-base);
  transition-timing-function: var(--ease-in-out);
}
.p-post-archive__posts-list-item-meta {
  display: flex;
  align-items: center;
  -moz-column-gap: 8px;
       column-gap: 8px;
  margin-top: 18px;
}
.p-post-archive__posts-list-item-time {
  line-height: 1.375;
}
.p-post-archive__posts-list-item-category {
  display: inline-block;
  padding-block: 1px;
  padding-inline: 12px;
  border-radius: 12px;
  background-color: var(--color-primary);
  color: var(--text-white);
}
.p-post-archive__posts-list-item-body {
  margin-top: 8px;
}
.p-post-archive__posts-list-item-title {
  font-weight: var(--font-weight-bold);
  line-height: 1.375;
}
.p-post-archive__posts-pagination {
  --pagination-color: #678375;
  margin-top: 80px;
}
.p-post-archive__posts-pagination .pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  -moz-column-gap: 16px;
       column-gap: 16px;
}
.p-post-archive__posts-pagination .page-numbers {
  position: relative;
  display: grid;
  place-items: center;
  width: 32px;
  aspect-ratio: 1;
  font-weight: var(--font-weight-medium);
  line-height: 1.375;
  border: 1px solid var(--pagination-color);
  border-radius: 50%;
  color: var(--pagination-color);
  overflow: hidden;
  transition-property: background-color, color;
  transition-duration: var(--duration-base);
  transition-timing-function: var(--ease-in-out);
}
@media (any-hover: hover) {
  .p-post-archive__posts-pagination .page-numbers:hover {
    background-color: var(--pagination-color);
    color: var(--text-white);
  }
}
.p-post-archive__posts-pagination .page-numbers:not(:has(a)) {
  padding-bottom: 2px;
}
.p-post-archive__posts-pagination .page-numbers a {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  padding-bottom: 2px;
  color: inherit;
}
.p-post-archive__posts-pagination .page-numbers.current {
  background-color: var(--pagination-color);
  color: var(--text-white);
}
.p-post-archive__posts-pagination .page-numbers.prev::before, .p-post-archive__posts-pagination .page-numbers.next::before {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  rotate: -45deg;
  translate: 25% 0;
  display: block;
  width: 10px;
  aspect-ratio: 1;
  border-top: 1px solid;
  border-left: 1px solid;
}
.p-post-archive__posts-pagination .page-numbers.prev.next, .p-post-archive__posts-pagination .page-numbers.next.next {
  rotate: 180deg;
}

/*=====================================
事務所案内
=====================================*/
.p-about {
  /* ========================================
   * 事務所概要
   * ===================================== */
}
.p-about__office {
  padding-top: 20px;
  padding-bottom: 60px;
}
@media (max-width: 1024px) {
  .p-about__office {
    padding-top: 40px;
  }
}
.p-about__office-content {
  margin-top: 56px;
}
.p-about__office-list {
  display: grid;
  grid-template-columns: max-content 1fr;
  width: min(100%, 640px);
  margin-inline: auto;
}
.p-about__office-list-item {
  --border-color: #C3C3C3;
  --border-width: 1px;
  display: grid;
  grid-template-columns: subgrid;
  grid-column: span 2;
  -moz-column-gap: clamp(1rem, 0.4718309859rem + 2.2535211268vw, 2.5rem);
       column-gap: clamp(1rem, 0.4718309859rem + 2.2535211268vw, 2.5rem);
  padding-inline: clamp(0.75rem, 0.3098591549rem + 1.8779342723vw, 2rem);
  padding-top: calc(24px - var(--border-width));
  padding-bottom: 24px;
  border-top: var(--border-width) solid var(--border-color);
}
@media (max-width: 599px) {
  .p-about__office-list-item {
    padding-top: calc(20px - var(--border-width));
    padding-bottom: 20px;
  }
}
.p-about__office-list-item:last-child {
  padding-top: calc(26px - var(--border-width));
  border-bottom: var(--border-width) solid var(--border-color);
}
@media (max-width: 599px) {
  .p-about__office-list-item:last-child {
    padding-top: calc(20px - var(--border-width));
  }
}
.p-about__office-list-item:has(br) .p-about__office-list-item-title {
  padding-top: 6px;
}
.p-about__office-list-item-title {
  color: var(--color-primary);
  font-size: clamp(1rem, 0.9559859155rem + 0.1877934272vw, 1.125rem);
  font-weight: var(--font-weight-medium);
  line-height: 1.3333333333;
  letter-spacing: 0.07em;
}
.p-about__office-list-item-data {
  font-size: clamp(0.9375rem, 0.9154929577rem + 0.0938967136vw, 1rem);
  line-height: 1.375;
}
.p-about {
  /*=====================================
  代表挨拶
  =====================================*/
}
.p-about__message {
  padding-top: 60px;
  padding-bottom: 60px;
}
.p-about__message-content {
  width: min(100%, 968px);
  margin-inline: auto;
  margin-top: 56px;
}
.p-about__message-image {
  width: min(100%, 410px);
  margin-inline: auto;
}
.p-about__message-body {
  margin-top: 32px;
}
.p-about__message-text {
  font-weight: var(--font-weight-medium);
  line-height: 1.5;
}
.p-about__message-sign {
  margin-top: 48px;
  line-height: 1.375;
  color: var(--color-primary);
}
.p-about {
  /*=====================================
  営業日のお知らせ
  =====================================*/
}
.p-about__calender {
  padding-top: 60px;
  padding-bottom: 60px;
}
.p-about__calender-content {
  --closed-days-color: var(--color-accent);
  margin-top: 34px;
}
.p-about__calender-tables {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  row-gap: 40px;
  -moz-column-gap: clamp(1.5rem, 0.6637323944rem + 3.5680751174vw, 3.875rem);
       column-gap: clamp(1.5rem, 0.6637323944rem + 3.5680751174vw, 3.875rem);
  width: min(100%, 1028px);
  margin-inline: auto;
}
@media (max-width: 1024px) {
  .p-about__calender-tables {
    grid-template-columns: unset;
  }
}
.p-about__calender-table {
  --border-color:#C3C3C3;
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.p-about__calender-table-title {
  margin-bottom: 12px;
  padding-left: 8px;
  font-size: clamp(1.25rem, 1.161971831rem + 0.3755868545vw, 1.5rem);
  font-weight: var(--font-weight-bold);
  line-height: 1.3333333333;
  letter-spacing: 0.1em;
  text-align: left;
}
.p-about__calender-table-title-month {
  display: inline-block;
  text-indent: 0.3em;
  letter-spacing: 0.3em;
}
.p-about__calender-table-cell {
  --border-width: 1px;
  height: clamp(3rem, 1.7476145038rem + 5.3435114504vw, 4.3125rem);
  padding-top: calc(19px - var(--border-width));
  padding-bottom: 18px;
  padding-inline: 8px;
  font-size: 1.5rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.3333333333;
  letter-spacing: 0.16em;
  text-align: center;
  border: var(--border-width) solid var(--border-color);
}
@media (max-width: 599px) {
  .p-about__calender-table-cell {
    height: 48px;
    padding-top: 12px;
    padding-bottom: 12px;
    font-size: 1rem;
  }
}
.p-about__calender-table-cell--head {
  color: var(--color-primary);
}
.p-about__calender-table-cell--closed-day {
  background-color: var(--color-accent);
}
.p-about__calender-table-cell--outside {
  color: #A3A3A3;
}
.p-about__calender-closed-days {
  display: flex;
  -moz-column-gap: 12px;
       column-gap: 12px;
  font-weight: var(--font-weight-medium);
  line-height: 1.5;
}
.p-about__calender-closed-days::before {
  content: "";
  width: 24px;
  aspect-ratio: 1;
  background-color: var(--closed-days-color);
}
.p-about__calender-closed-days {
  margin-top: 24px;
}
.p-about {
  /*=====================================
  アクセス
  =====================================*/
}
.p-about__access {
  padding-top: 60px;
}
.p-about__access-content {
  width: min(100%, 910px);
  margin-inline: auto;
  margin-top: 56px;
}
.p-about__access-map {
  aspect-ratio: 910/420;
}
@media (max-width: 1024px) {
  .p-about__access-map {
    height: 300px;
    aspect-ratio: unset;
  }
}
.p-about__access-map > iframe {
  width: 100%;
  height: 100%;
}
.p-about__access-list {
  display: grid;
  row-gap: 8px;
  margin-top: 16px;
}
.p-about__access-list-item {
  display: flex;
  align-items: center;
  -moz-column-gap: 12px;
       column-gap: 12px;
}
.p-about__access-list-item::before {
  content: "";
  flex-shrink: 0;
  width: 34px;
  aspect-ratio: 34/19;
  background-image: url(../images/icon-car.svg);
}
.p-about__access-list-item-text {
  font-weight: var(--font-weight-medium);
  line-height: 1.75;
}

/*=====================================
無料相談ページ
=====================================*/
.p-contact__form {
  padding-bottom: 120px;
}
.p-contact__form-inner {
  padding-inline: unset;
}
@media (max-width: 599px) {
  .p-contact__form-inner {
    padding-inline: var(--inner-padding-inline);
  }
}
.p-contact__form-content {
  --border-width: 2px;
  --theme-color: var(--color-accent);
  width: min(100%, 968px);
  margin-inline: auto;
  padding-top: calc(78px - var(--border-width));
  padding-inline: calc(30px - var(--border-width));
  padding-bottom: calc(80px - var(--border-width));
  border: 2px solid var(--theme-color);
  border-radius: 16px;
}
@media (max-width: 1024px) {
  .p-contact__form-content {
    padding-block: 60px;
    padding-inline: 12px;
  }
}
.p-contact__form-title {
  font-size: 1.5rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.3333333333;
  letter-spacing: 0.1em;
  text-align: center;
  color: var(--theme-color);
}
.p-contact__form-lead {
  margin-top: 32px;
  line-height: 1.375;
  text-align: center;
}
.p-contact__form-wrapper {
  margin-top: 42px;
}

/* ========================================
 * 投稿ページ
 * ===================================== */
/* =============================================================
 * Object / Component / _c-content.scss
 * CMS（the_content）出力エリア用スタイル
 *
 * ■ 設計方針
 * 1. クラスを付与できないHTMLが対象のため、この層に限り
 *    「要素セレクタの子孫指定」を許容する（FLOCSSの明示的な例外運用）。
 * 2. 内部の要素セレクタはすべて :where() で包み、詳細度を
 *    &__post-content 相当の (0,1,0) に固定する。
 *    → Project層 / Utility層から !important なしで上書きできる。
 * 3. 縦リズムは「隣接セレクタ（owl）」で一括管理し、
 *    個別要素では margin-block-start だけを上書きする。
 *    margin-block-end は原則使わない（相殺事故を防ぐ）。
 * 4. 色・書体は既存のSemanticトークンを参照。
 *    ここでは受け皿としてコンポーネントローカル変数を定義し、
 *    第2引数のフォールバックで単体でも動くようにしている。
 * ============================================================= */
.p-single__content {
  padding-bottom: 120px;
}
@media (max-width: 1024px) {
  .p-single__content {
    padding-top: 40px;
  }
}
.p-single__title {
  font-size: 1.5rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.3333333333;
  letter-spacing: 0.1em;
}
.p-single__meta {
  display: flex;
  align-items: center;
  -moz-column-gap: 16px;
       column-gap: 16px;
  margin-top: 16px;
}
.p-single__date {
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-md);
  color: var(--color-accent);
}
.p-single__categories {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  row-gap: 12px;
  -moz-column-gap: 16px;
       column-gap: 16px;
}
.p-single__category {
  display: inline-block;
  padding-inline: 12px;
  padding-block: 1px;
  font-size: 0.9375rem;
  font-weight: var(--font-weight-medium);
  line-height: 1.4666666667;
  border-radius: 12px;
  background-color: var(--color-primary);
  color: var(--text-white);
}
.p-single__image {
  width: min(100%, 560px);
  aspect-ratio: 560/375;
  margin-top: 40px;
  margin-inline: auto;
  border-radius: 24px;
  background-color: #B1B1B1;
  overflow: hidden;
}
.p-single__image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-single__lead {
  margin-top: 40px;
  line-height: 1.375;
}
.p-single__toc {
  margin-top: 50px;
}
.p-single__post-content {
  /* 余白リズム（1em = 本文1文字ぶん。文字サイズに追従する） */
  --content-flow: 1.5em; /* 標準の要素間 */
  --content-flow-tight: 0.75em; /* 見出し直後など */
  --content-flow-section: 2.5em; /* h2の上 */
  --content-border-color: #F3F1EF;
  margin-top: 40px;
  overflow-wrap: break-word;
  word-break: normal;
  line-break: strict;
}
.p-single__post-content > * + * {
  margin-block-start: var(--content-flow);
}
.p-single__post-content > :first-child {
  margin-block-start: 0;
}
.p-single__post-content > :last-child {
  margin-block-end: 0;
}
.p-single__post-content {
  /* =========================================================
  * 見出し h2〜h6
  * ======================================================= */
}
.p-single__post-content :where(h2, h3, h4, h5, h6) {
  font-weight: var(--font-weight-medium);
  scroll-margin-block-start: var(--header-height, 80px);
}
.p-single__post-content > :where(h2) {
  margin-top: var(--content-flow-section);
  padding-block: 22px;
  padding-inline: 8px;
  font-size: 1.5em;
  line-height: 1.3333333333;
  letter-spacing: 0.1em;
  border-top: 4px solid var(--content-border-color);
  border-bottom: 4px solid var(--content-border-color);
}
.p-single__post-content {
  /* h3：下線 */
}
.p-single__post-content > :where(h3) {
  position: relative;
  margin-top: var(--content-flow-section);
  padding-bottom: 10px;
  border-bottom: 4px solid var(--content-border-color);
  font-size: 1.25em;
}
.p-single__post-content > :where(h3)::before {
  content: "";
  position: absolute;
  bottom: -4px;
  left: 0;
  display: block;
  width: 56px;
  height: 4px;
  background-color: var(--color-accent);
}
.p-single__post-content > :where(h4) {
  margin-top: var(--content-flow-section);
  font-size: 1.15em;
}
.p-single__post-content > :where(h5) {
  margin-top: var(--content-flow-section);
  font-size: 1em;
}
.p-single__post-content > :where(h6) {
  margin-top: var(--content-flow-section);
  font-size: 0.9em;
}
.p-single__post-content {
  /* =========================================================
  * 段落
  * ======================================================= */
}
.p-single__post-content {
  /* 空段落（エディタで改行だけ入れたとき）は潰さず1行ぶん確保 */
}
.p-single__post-content :where(p:empty)::before {
  content: "";
  display: inline-block;
}
.p-single__post-content {
  /* =========================================================
  * インライン要素
  * ======================================================= */
}
.p-single__post-content :where(a) {
  color: var(--content-color-link);
  text-decoration: underline;
  text-underline-offset: 0.2em;
  text-decoration-thickness: from-font;
  transition: color 0.2s ease;
}
.p-single__post-content :where(a):hover, .p-single__post-content :where(a):focus-visible {
  color: var(--content-color-link-hover);
  text-decoration-thickness: 2px;
}
.p-single__post-content {
  /* 画像リンクには下線を出さない */
}
.p-single__post-content :where(a:has(> img)) {
  text-decoration: none;
}
.p-single__post-content :where(strong, b) {
  font-weight: 700;
}
.p-single__post-content :where(em) {
  font-style: normal; /* 和文のイタリックは崩れるため傍点に置換 */
  -webkit-text-emphasis: filled dot;
          text-emphasis: filled dot;
  -webkit-text-emphasis-position: over;
          text-emphasis-position: over right;
}
.p-single__post-content :where(mark) {
  background: linear-gradient(transparent 60%, var(--color-marker, #fff3a3) 60%);
  color: inherit;
}
.p-single__post-content :where(code) {
  padding: 0.15em 0.4em;
  border-radius: 3px;
  background-color: var(--content-color-surface);
  font-family: var(--font-family-mono, ui-monospace, monospace);
  font-size: 0.9em;
}
.p-single__post-content :where(del) {
  color: var(--content-color-text-weak);
  text-decoration: line-through;
}
.p-single__post-content :where(small) {
  font-size: 0.85em;
}
.p-single__post-content :where(sub, sup) {
  font-size: 0.7em;
  line-height: 0;
}
.p-single__post-content :where(abbr[title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  cursor: help;
}
.p-single__post-content {
  /* ルビ（ブロックエディタの inline ルビ / 手打ち両対応） */
}
.p-single__post-content :where(ruby) rt {
  font-size: 0.5em;
}
.p-single__post-content {
  /* =========================================================
  * 箇条書きリスト / 番号付きリスト
  * ======================================================= */
}
.p-single__post-content :where(ul, ol) > li {
  position: relative;
  padding-left: 1.5em;
}
.p-single__post-content :where(ul, ol) > li + li {
  margin-block-start: 0.5em;
}
.p-single__post-content :where(ul, ol) {
  /* ネストしたリスト */
}
.p-single__post-content :where(ul, ol) :where(ul, ol) {
  margin-block-start: 0.5em;
  font-size: 0.95em;
}
.p-single__post-content {
  /* ul：擬似要素で行頭に点。マーカー色をトークンで制御できる */
}
.p-single__post-content :where(ul) > li::before {
  content: "";
  position: absolute;
  top: 0.5lh;
  left: 0.75em;
  translate: -50% -50%;
  display: inline-block;
  width: 3px;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: var(--text);
}
.p-single__post-content {
  /* ネストしたulは白抜きの点で階層を表現 */
}
.p-single__post-content :where(ul ul) > li::before {
  background-color: transparent;
  box-shadow: inset 0 0 0 1px var(--content-color-accent);
}
.p-single__post-content {
  /* ol：CSSカウンタで採番（start / reversed 属性は要注意なので下記参照） */
}
.p-single__post-content :where(ol) {
  counter-reset: content-ol;
}
.p-single__post-content :where(ol) > li {
  counter-increment: content-ol;
}
.p-single__post-content :where(ol) > li::before {
  content: counter(content-ol) ".";
  position: absolute;
  inset-inline-start: 0;
  color: var(--content-color-accent);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.p-single__post-content {
  /* ネストしたolは 1-1. 形式 */
}
.p-single__post-content :where(ol ol) > li::before {
  content: counter(content-ol, decimal) ")";
}
.p-single__post-content {
  /* start属性・reversed属性が使われた場合はブラウザ標準に戻す */
}
.p-single__post-content :where(ol[start], ol[reversed]) {
  padding-inline-start: 1.6em;
  list-style: decimal;
}
.p-single__post-content :where(ol[start], ol[reversed]) > li {
  padding-inline-start: 0;
}
.p-single__post-content :where(ol[start], ol[reversed]) > li::before {
  content: none;
}
.p-single__post-content {
  /* =========================================================
  * 定義リスト
  * ======================================================= */
}
.p-single__post-content :where(dl) {
  display: grid;
  gap: 0.5em 1.5em;
}
.p-single__post-content :where(dt) {
  font-weight: 700;
}
.p-single__post-content :where(dd) {
  margin-inline-start: 0;
}
@media (width >= 768px) {
  .p-single__post-content :where(dl) {
    grid-template-columns: minmax(6em, max-content) 1fr;
  }
  .p-single__post-content :where(dl) :where(dt) {
    grid-column: 1;
  }
  .p-single__post-content :where(dl) :where(dd) {
    grid-column: 2;
  }
}
.p-single__post-content {
  /* =========================================================
  * 画像 / figure
  * ======================================================= */
}
.p-single__post-content :where(img) {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
.p-single__post-content :where(figure) {
  margin-inline: 0;
}
.p-single__post-content :where(figcaption, .wp-caption-text) {
  margin-block-start: 0.6em;
  color: var(--content-color-text-weak);
  font-size: 0.85em;
  line-height: 1.7;
  text-align: center;
}
.p-single__post-content {
  /* 回り込み（classic / block 共通） */
}
.p-single__post-content :where(.alignleft) {
  float: inline-start;
  margin-block-end: 1em;
  margin-inline-end: 1.5em;
}
.p-single__post-content :where(.alignright) {
  float: inline-end;
  margin-block-end: 1em;
  margin-inline-start: 1.5em;
}
.p-single__post-content :where(.aligncenter) {
  margin-inline: auto;
  text-align: center;
}
.p-single__post-content {
  /* SPでは回り込みを解除して1カラムに */
}
@media (width < 768px) {
  .p-single__post-content :where(.alignleft, .alignright) {
    float: none;
    margin-inline: auto;
  }
}
.p-single__post-content {
  /* =========================================================
  * 引用
  * ======================================================= */
}
.p-single__post-content :where(blockquote) {
  margin-inline: 0;
  padding: 1.5em 1.5em 1.5em 2.5em;
  position: relative;
  border-radius: var(--content-radius);
  background-color: var(--content-color-surface);
  color: var(--content-color-text-weak);
  font-size: 0.95em;
  /* 引用符 */
}
.p-single__post-content :where(blockquote)::before {
  content: "";
  position: absolute;
  inset-block: 1.5em;
  inset-inline-start: 1em;
  width: 3px;
  border-radius: 3px;
  background-color: var(--content-color-border);
}
.p-single__post-content :where(blockquote) > * + * {
  margin-block-start: 1em;
}
.p-single__post-content :where(blockquote) :where(cite) {
  display: block;
  font-size: 0.9em;
  font-style: normal;
}
.p-single__post-content :where(blockquote) :where(cite)::before {
  content: "— ";
}
.p-single__post-content {
  /* 引用元表示（ブロックエディタの引用ブロック） */
}
.p-single__post-content :where(.wp-block-quote__citation, .wp-block-quote cite) {
  display: block;
  margin-block-start: 1em;
  font-size: 0.9em;
  font-style: normal;
}
.p-single__post-content {
  /* =========================================================
  * テーブル
  * ======================================================= */
  /* ブロックエディタは figure.wp-block-table で包まれる → 横スクロール */
}
.p-single__post-content :where(.wp-block-table) {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.p-single__post-content :where(table) {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.95em;
  line-height: 1.7;
}
.p-single__post-content :where(th, td) {
  padding: 0.8em 1em;
  border: 1px solid var(--content-color-border);
  text-align: start;
  vertical-align: top;
}
.p-single__post-content :where(th) {
  background-color: var(--content-color-surface);
  font-weight: 700;
  white-space: nowrap;
}
.p-single__post-content :where(caption) {
  margin-block-end: 0.6em;
  color: var(--content-color-text-weak);
  font-size: 0.85em;
  text-align: start;
}
.p-single__post-content {
  /* =========================================================
  * 区切り線
  * ======================================================= */
}
.p-single__post-content :where(hr) {
  margin-block: var(--content-flow-section);
  border: 0;
  border-block-start: 1px solid var(--content-color-border);
}
.p-single__post-content {
  /* =========================================================
  * 整形済みテキスト / コードブロック
  * ======================================================= */
}
.p-single__post-content :where(pre) {
  overflow-x: auto;
  padding: 1.25em;
  border-radius: var(--content-radius);
  background-color: var(--color-surface-inverse, #1f2430);
  color: var(--color-text-inverse, #f5f6f8);
  font-family: var(--font-family-mono, ui-monospace, monospace);
  font-size: 0.85em;
  line-height: 1.7;
  -moz-tab-size: 2;
    -o-tab-size: 2;
       tab-size: 2;
}
.p-single__post-content :where(pre) :where(code) {
  padding: 0;
  background: none;
  color: inherit;
  font-size: inherit;
}
.p-single__post-content {
  /* =========================================================
  * 埋め込み（YouTube / X など）
  * ======================================================= */
}
.p-single__post-content :where(.wp-block-embed__wrapper):has(iframe) {
  position: relative;
  aspect-ratio: 16/9;
}
.p-single__post-content :where(.wp-block-embed__wrapper):has(iframe) > iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.p-single__post-content {
  /* 素の iframe（クラシックエディタで直貼りされたケース） */
}
.p-single__post-content > :where(iframe) {
  display: block;
  width: 100%;
  aspect-ratio: 16/9;
  height: auto;
  border: 0;
}
.p-single__post-content :where(video, audio) {
  max-width: 100%;
}
.p-single__post-content {
  /* =========================================================
  * ボタンブロック（最低限の見た目。詳細は c-button に寄せる）
  * ======================================================= */
}
.p-single__post-content :where(.wp-block-button__link) {
  display: inline-block;
  padding: 0.8em 2em;
  border-radius: var(--radius-full, 999px);
  background-color: var(--content-color-accent);
  color: var(--color-text-on-primary, #fff);
  font-weight: 700;
  text-decoration: none;
}
.p-single__post-content :where(.wp-block-button__link):hover, .p-single__post-content :where(.wp-block-button__link):focus-visible {
  opacity: 0.85;
  color: var(--color-text-on-primary, #fff);
}
.p-single__post-content {
  /* =========================================================
  * 幅の制御（alignwide / alignfull）
  * 親（p-層）で --content-width を渡す想定
  * ======================================================= */
}
.p-single__post-content :where(.alignwide) {
  width: min(100cqw, var(--content-width-wide, 1000px));
  margin-inline: calc(50% - min(50cqw, var(--content-width-wide, 1000px) / 2));
}
.p-single__post-content :where(.alignfull) {
  width: 100cqw;
  margin-inline: calc(50% - 50cqw);
  max-width: none;
}
.p-single__navigation {
  margin-top: 80px;
}
.p-single__navigation .pagerLink {
  display: flex;
  align-items: center;
  justify-content: space-between;
  -moz-column-gap: 24px;
       column-gap: 24px;
}
.p-single__navigation .next a {
  grid-template-columns: auto var(--icon-size);
  padding-right: 18px;
  padding-left: 40px;
}
@media (max-width: 1024px) {
  .p-single__navigation .next a {
    padding-block: 12px;
    padding-right: 12px;
    padding-left: 20px;
  }
}
.p-single__navigation .next a::before, .p-single__navigation .next a::after {
  grid-column: 2/3;
}
.p-single__navigation .next a::after {
  translate: 25% 0;
  rotate: 180deg;
}
.p-single__navigation a {
  --theme-color: #CBD698;
  --icon-size: 38px;
  display: inline-grid;
  grid-template-columns: var(--icon-size) auto;
  justify-content: space-between;
  align-items: center;
  -moz-column-gap: 16px;
       column-gap: 16px;
  min-width: 244px;
  padding-block: 13px;
  padding-right: 40px;
  padding-left: 18px;
  background-color: var(--theme-color);
  border-radius: 33.5px;
  box-shadow: 2px 2px 5px 1px rgba(0, 0, 0, 0.12);
  transition-property: background-color;
  transition-duration: var(--duration-base);
  transition-timing-function: var(--ease-in-out);
}
@media (max-width: 1024px) {
  .p-single__navigation a {
    --icon-size: 32px;
    min-width: unset;
    padding-block: 12px;
    padding-right: 20px;
    padding-left: 12px;
    font-size: 0.875rem;
  }
}
@media (any-hover: hover) {
  .p-single__navigation a:hover {
    background-color: color-mix(in srgb, var(--theme-color) 95%, black);
  }
}
.p-single__navigation a::before, .p-single__navigation a::after {
  content: "";
  grid-row: 1/1;
  grid-column: 1/1;
}
.p-single__navigation a::before {
  width: 100%;
  aspect-ratio: 1;
  background-color: var(--color-white);
  border-radius: 50%;
}
.p-single__navigation a::after {
  translate: -25% 0;
  place-self: center;
  background-color: var(--color-primary);
  width: 10px;
  aspect-ratio: 10/11;
  clip-path: polygon(0 50%, 100% 0, 100% 100%);
}

/* ========================================
 * 受給事例・お役立ち情報（３分割ページ）
 * ===================================== */
.p-info {
  /* ========================================
   * ページ内リンク
   * ===================================== */
}
.p-info__toc {
  padding-top: 80px;
  padding-bottom: 40px;
}
.p-info__toc-inner {
  width: min(100%, 1320px + var(--inner-padding-inline) * 2);
}
.p-info__toc-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  row-gap: 20px;
  -moz-column-gap: 24px;
       column-gap: 24px;
}
@media (max-width: 1024px) {
  .p-info__toc-list {
    row-gap: 16px;
    -moz-column-gap: 16px;
         column-gap: 16px;
  }
}
.p-info__toc-list-item-link {
  --border-width: 1px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  -moz-column-gap: 12px;
       column-gap: 12px;
  padding-block: calc(12px - var(--border-width));
  padding-right: calc(16px - var(--border-width));
  padding-left: calc(24px - var(--border-width));
  border: var(--border-width) solid var(--border-color);
  border-radius: 8px;
  background-color: var(--color-white);
  transition-property: background-color;
  transition-duration: var(--duration-base);
  transition-timing-function: var(--ease-in-out);
}
@media (max-width: 1024px) {
  .p-info__toc-list-item-link {
    padding-block: calc(8px - var(--border-width));
    padding-inline: calc(12px - var(--border-width));
  }
}
@media (any-hover: hover) {
  .p-info__toc-list-item-link:hover {
    background-color: #F3F1EF;
  }
}
.p-info__toc-list-item-link::before, .p-info__toc-list-item-link::after {
  display: block;
  content: "";
  place-self: center;
  grid-row: 1/1;
  grid-column: 2/3;
}
.p-info__toc-list-item-link::before {
  width: 24px;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: var(--color-primary);
}
.p-info__toc-list-item-link::after {
  margin-top: 2px;
  width: 9px;
  aspect-ratio: 9/8;
  background-color: var(--color-white);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.p-info__toc-list-item-text {
  font-weight: var(--font-weight-medium);
  line-height: var(--line-height-md);
}
.p-info {
  /* ========================================
   * セクション共通スタイル
   * ===================================== */
}
.p-info__sections-inner {
  display: grid;
  row-gap: 40px;
  width: min(100%, 1320px + var(--inner-padding-inline) * 2);
  padding-bottom: 40px;
}
.p-info__section {
  padding-inline: 40px;
  padding-top: 34px;
  padding-bottom: 40px;
  border-radius: 16px;
  background-color: #F3F1EF;
}
@media (max-width: 1024px) {
  .p-info__section {
    padding-inline: 20px;
  }
}
.p-info__section-header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  row-gap: 16px;
  -moz-column-gap: 20px;
       column-gap: 20px;
  margin-inline: 20px;
}
@media (max-width: 1200px) {
  .p-info__section-header {
    flex-direction: column;
    align-items: start;
  }
}
@media (max-width: 1024px) {
  .p-info__section-header {
    margin-inline: unset;
  }
}
.p-info__section-header--has-button {
  --theme-color: var(--color-accent);
  flex-direction: row;
  justify-content: space-between;
  row-gap: 24px;
}
.p-info__section-title {
  padding-left: 0.75em;
  font-size: clamp(1.5rem, 1.323943662rem + 0.7511737089vw, 2rem);
  line-height: 1.6666666667;
  letter-spacing: var(--letter-spacing-lg);
}
.p-info__section-sub-title {
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-md);
  color: var(--color-accent);
}
.p-info__section-content {
  margin-top: 26px;
}
.p-info__section-post-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
  row-gap: 16px;
  -moz-column-gap: 13px;
       column-gap: 13px;
}
.p-info {
  /* ========================================
   * 受給事例
   * ===================================== */
}
.p-info__section-case-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  row-gap: 16px;
  -moz-column-gap: 14px;
       column-gap: 14px;
}
@media (max-width: 1024px) {
  .p-info__section-case-list {
    grid-template-columns: unset;
  }
}
.p-info__section-case-list-item {
  padding-top: 16px;
  padding-inline: 24px;
  padding-bottom: 20px;
  border-radius: 16px;
  background-color: var(--color-white);
}
@media (max-width: 1024px) {
  .p-info__section-case-list-item {
    padding-inline: 20px;
  }
}
.p-info__section-case-list-item-header {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  -moz-column-gap: 24px;
       column-gap: 24px;
}
@media (max-width: 1024px) {
  .p-info__section-case-list-item-header {
    grid-template-columns: unset;
    row-gap: 16px;
  }
}
.p-info__section-header-titles {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  row-gap: 20px;
  -moz-column-gap: 24px;
       column-gap: 24px;
}
@media (max-width: 1200px) {
  .p-info__section-header-titles {
    flex-direction: column;
    align-items: start;
  }
}
.p-info__section-case-list-item-image {
  height: 111px;
  overflow: hidden;
}
@media (max-width: 1024px) {
  .p-info__section-case-list-item-image {
    margin-inline: auto;
  }
}
.p-info__section-case-list-item-image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-info__section-case-list-item-title {
  font-size: 1.25rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.4;
  letter-spacing: 0.08em;
}
.p-info__section-case-list-item-lead {
  width: min(100%, 400px);
  margin-top: 16px;
  line-height: 1.375;
}
.p-info__section-case-list-item-body {
  margin-top: 24px;
}
.p-info__section-case-sub-list {
  display: grid;
  row-gap: 12px;
}
.p-info__section-case-sub-list-item {
  display: grid;
  grid-template-columns: auto 1fr;
  -moz-column-gap: 8px;
       column-gap: 8px;
  line-height: 1.375;
}
.p-info__section-case-sub-list-item::before {
  content: "";
  display: block;
  width: 16px;
  aspect-ratio: 1;
  margin-top: 4px;
  border-radius: 50%;
  background-color: var(--color-primary);
}
.p-info__section-case-list-item-button-wrapper {
  --theme-color: var(--color-accent);
  display: grid;
  grid-template-columns: min(100%, 240px);
  justify-content: center;
  margin-top: 24px;
}
.p-info {
  /* ========================================
   * お役立ち情報
   * ===================================== */
}
.u-br__sp {
  display: none;
}
@media (max-width: 599px) {
  .u-br__sp {
    display: block;
  }
}
@media (max-width: 1024px) {
  .u-br__pc {
    display: none;
  }
}/*# sourceMappingURL=app.css.map */