@charset "UTF-8";
html {
  -webkit-text-size-adjust: 100%;
  overflow-wrap: break-word;
  -moz-tab-size: 4;
  -o-tab-size: 4;
     tab-size: 4;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  box-sizing: border-box;
}

:where(*, *::before, *::after) {
  box-sizing: inherit;
}

:where(*) {
  margin: 0;
  padding: 0;
}

hr {
  height: 0;
  color: inherit;
}

table {
  text-indent: 0;
  border-color: inherit;
}

details,
main {
  display: block;
}

summary {
  display: list-item;
}

[hidden] {
  display: none;
}

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

a {
  background-color: transparent;
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
}

pre {
  font-size: 1em;
}

b,
strong {
  font-weight: bolder;
}

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

iframe {
  border-style: none;
}

:where(button, [type=button], [type=reset], [type=submit], [role=button]) {
  cursor: pointer;
}

input {
  border-radius: 0;
}

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

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

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

textarea {
  overflow: auto;
  resize: vertical;
}

button,
optgroup,
select {
  text-transform: none;
}

button {
  overflow: visible;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

select {
  -moz-appearance: none;
  -webkit-appearance: none;
}

select::-ms-expand {
  display: none;
}

select::-ms-value {
  color: currentColor;
}

legend {
  color: inherit;
  display: table;
  white-space: normal;
  max-width: 100%;
}

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

[disabled] {
  cursor: default;
}

progress {
  vertical-align: baseline;
}

[aria-busy=true] {
  cursor: progress;
}

[aria-controls] {
  cursor: pointer;
}

[aria-disabled=true] {
  cursor: default;
}

html {
  box-sizing: border-box;
  font-size: 100%;
  line-height: 1.8;
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

*,
*::before,
*::after {
  box-sizing: inherit;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #1a1a1a;
  background: #ffffff;
  text-rendering: optimizeLegibility;
}

img,
svg,
video,
canvas,
audio,
iframe {
  max-width: 100%;
  height: auto;
}

img {
  display: block;
  border-style: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: #1a1a1a;
  font-weight: 600;
  line-height: 1.8;
  margin: 0 0 0.6em;
}

h1,
h2 {
  font-size: clamp(32px, 32px + 8px * (100vw - 375px) / 1025px, 40px);
}

h3 {
  font-size: clamp(24px, 24px + 8px * (100vw - 375px) / 1025px, 32px);
}

h4 {
  font-size: 18px;
}

h5,
h6 {
  font-size: 16px;
}

p {
  margin: 0 0 1em;
}

small {
  font-size: 0.875em;
}

strong {
  font-weight: 600;
}

em {
  font-style: italic;
}

a {
  color: #1558d6;
  -webkit-text-decoration: no-decoration;
          text-decoration: no-decoration;
  text-underline-offset: 0.15em;
  transition: color 0.2s ease;
}

a:hover,
a:focus-visible {
  color: rgb(51.0170212766, 114.8808510638, 234.9829787234);
}

a:focus-visible {
  outline: 2px solid #1558d6;
  outline-offset: 2px;
}

ul,
ol {
  margin: 0;
  padding: 0;
}

li {
  margin: 0;
  list-style: none;
}

dl {
  margin: 0 0 1em;
}

dd {
  margin-left: 1.2em;
}

hr {
  border: 0;
  border-top: 1px solid #e5e5e5;
  margin: 32px 0;
}

table {
  width: 100%;
  border-collapse: collapse;
}

th,
td {
  padding: 0.6rem 0.8rem;
  border: 1px solid #e5e5e5;
}

th {
  background: #f2f2f2;
  text-align: left;
}

input,
textarea,
select,
button {
  font: inherit;
  color: inherit;
}

button,
[type=button],
[type=submit] {
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

::-moz-placeholder {
  color: #666666;
}

::placeholder {
  color: #666666;
}

/* =========================================
Utility Helpers
========================================= */
.container {
  --container-max: 1400px;
  width: min(100% - clamp(24px, 5vw, 80px) * 2, var(--container-max, 1400px));
  max-width: var(--container-max, 1400px);
  margin-inline: auto;
}

.section--normal .container {
  --container-max: 1400px;
}

.section--narrow .container {
  --container-max: 1200px;
}

.section--tight .container {
  --container-max: 1060px;
}

.section--small .container {
  --container-max: 930px;
}

.section {
  padding: 80px 0;
}
@media (max-width: 1023px) {
  .section {
    padding: 56px 0;
  }
}

.visually-hidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  margin: -1px;
  border: 0;
  padding: 0;
  white-space: nowrap;
  clip-path: inset(50%);
  clip: rect(0 0 0 0);
  overflow: hidden;
}

.sp-only {
  display: none;
}
@media (max-width: 767px) {
  .sp-only {
    display: block;
  }
}

@media (max-width: 767px) {
  .pc-only {
    display: none !important;
  }
}

.tab-only {
  display: none;
}
@media (max-width: 1023px) {
  .tab-only {
    display: block;
  }
}
@media (max-width: 767px) {
  .tab-only {
    display: none;
  }
}

.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (prefers-reduced-motion: reduce) {
  * {
    animation: none !important;
    transition: none !important;
  }
}
.figure,
.card-media,
.thumb {
  border-radius: 8px;
  overflow: hidden;
}

.link-wrap a {
  position: relative;
}
.link-wrap a::after {
  content: "";
  position: absolute;
  inset: -6px;
}

.text-green {
  color: #206941;
}

/*  Time parameter */
:root {
  --drawer-bg-dur: 0.3s;
  --drawer-stagger: 0.1s;
  --drawer-item-dur: 0.3s;
  --drawer-item-close: 0.3s;
  --header-h: 80px;
}

/* Utility */
.u-fade-up {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity var(--drawer-item-dur) ease-out, transform var(--drawer-item-dur) ease-out;
}

.drawer.is-open .u-fade-up {
  opacity: 1;
  transform: translateY(0);
  transition-delay: calc(var(--drawer-bg-dur) + var(--i, 0) * var(--drawer-stagger));
}

.drawer.is-closing .u-fade-up {
  transition-delay: 0s !important;
  transition-duration: var(--drawer-item-close);
  transition-timing-function: ease-in;
  opacity: 0;
  transform: translateY(20px);
}

/* Drawer */
.drawer {
  position: fixed;
  left: 0;
  right: 0;
  top: var(--header-h);
  height: calc(100vh - var(--header-h));
  z-index: 99;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity var(--drawer-bg-dur) ease-in-out, visibility 0s linear var(--drawer-bg-dur);
}
.drawer__bg {
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.98);
  opacity: 0;
  transition: opacity 1s ease-in-out;
  will-change: opacity;
}
.drawer__wrap {
  position: relative;
  width: 100%;
  height: 100%;
  max-width: 960px;
  margin: 0 auto;
  overflow-y: auto;
  padding: 80px 32px;
  -webkit-overflow-scrolling: touch;
  display: grid;
  grid-template-columns: 1fr minmax(280px, 340px);
  gap: 56px;
  align-items: flex-start;
}
@media (max-width: 900px) {
  .drawer__wrap {
    padding: 24px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 0;
    max-width: 680px;
  }
}
.drawer__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (max-width: 900px) {
  .drawer__list {
    margin-bottom: 48px;
    width: 100%;
  }
}
.drawer__item {
  position: relative;
  color: #206941;
}
@media (max-width: 900px) {
  .drawer__item {
    padding-left: 16px;
    padding-right: 16px;
  }
}
.drawer__item > .drawer__link, .drawer__item > .drawer-acc__toggle {
  height: 56px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
@media (max-width: 767px) {
  .drawer__item > .drawer__link, .drawer__item > .drawer-acc__toggle {
    height: 44px;
  }
}
.drawer__number {
  position: absolute;
  left: 0;
  top: 6px;
  color: #666666;
  font-size: 14px;
  font-family: "Roboto", sans-serif;
}
.drawer__link {
  display: inline-block;
  color: #206941;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: color 0.25s ease;
}
.drawer__link:hover {
  color: #298552;
}
.drawer__actions {
  font-size: 14px;
  border-left: solid 1px #e5e5e5;
  padding-left: 48px;
  text-align: center;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: stretch;
  align-items: stretch;
  gap: 16px;
}
@media (max-width: 900px) {
  .drawer__actions {
    padding: 0;
    margin-top: auto;
    margin-bottom: 32px;
    width: 100%;
    border: none;
  }
}
.drawer__actions .btn {
  text-align: left;
}
.drawer__actions p {
  font-weight: 500;
  margin-bottom: 0;
}
.drawer__actions-text--trial {
  color: #886f3b;
}
.drawer__actions-text--account {
  color: #206941;
  margin-top: 32px;
}
.drawer__actions-text--account::before {
  content: "";
  display: inline-block;
  width: 12px;
  height: 1px;
  background-color: currentColor;
  flex-shrink: 0;
  vertical-align: middle;
  margin-right: 10px;
}
.drawer__actions-text--account::after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 1px;
  background-color: currentColor;
  flex-shrink: 0;
  vertical-align: middle;
  margin-left: 10px;
}
.drawer {
  /* Accordion */
}
.drawer .drawer-acc__toggle {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-align: left;
  background: none;
  border: 0;
  font: inherit;
  cursor: pointer;
}
.drawer .drawer-acc__panel {
  display: grid;
  overflow: hidden;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.45s ease, opacity 0.45s ease;
  opacity: 0;
  background: #d8f3e4;
  border-radius: 8px;
  padding: 0;
}
.drawer .drawer-acc__inner {
  overflow: hidden;
  padding: 0;
}
.drawer .drawer-acc__label {
  color: #206941;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
}
.drawer .drawer-acc__chevron {
  flex: 0 0 auto;
  margin-left: 8px;
  transition: transform 0.25s ease;
}
.drawer .drawer-acc__title {
  font-weight: 600;
  font-size: 14px;
  height: 44px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 8px 0 24px;
  margin: 0;
}
.drawer .drawer-acc__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.drawer .drawer-acc__list a {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  height: 44px;
  line-height: 1;
  padding: 0 8px 0 24px;
  text-decoration: none;
  color: #206941;
  font-size: 14px;
}
.drawer .drawer-acc__list a::before {
  content: "";
  display: inline-block;
  width: 12px;
  height: 1px;
  background-color: currentColor;
  flex-shrink: 0;
  vertical-align: middle;
}
.drawer .drawer-acc__list a:hover {
  color: #298552;
}
.drawer .drawer-acc__toggle[aria-expanded=true] .drawer-acc__chevron {
  transform: rotate(180deg);
}
.drawer {
  /* 開状態 */
}
.drawer .drawer-acc__toggle[aria-expanded=true] + .drawer-acc__panel {
  grid-template-rows: 1fr;
  opacity: 1;
  margin: 8px 0 12px;
}
.drawer .drawer-acc__toggle[aria-expanded=true] + .drawer-acc__panel .drawer-acc__inner {
  padding: 24px 0;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.drawer {
  /* Open */
}
.drawer.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: opacity var(--drawer-bg-dur) ease-in-out;
}
.drawer.is-open .drawer__bg {
  opacity: 1;
}
.drawer {
  /* Close */
}
.drawer.is-closing .drawer__bg {
  opacity: 0;
  transition: opacity 1s ease-in-out var(--drawer-item-close);
}
.drawer.is-closing {
  transition: opacity var(--drawer-item-close) ease-in-out, visibility 0s linear calc(var(--drawer-item-close) + 1s);
}

@media (prefers-reduced-motion: reduce) {
  .drawer,
  .drawer * {
    transition: none !important;
    animation: none !important;
  }
}
/* ============= Base ============= */
.btn {
  --btn-h: 44px;
  --btn-minw: 170px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: var(--btn-minw);
  height: var(--btn-h);
  padding-inline: 16px;
  border-radius: 4px;
  border: 1px solid transparent;
  background: transparent;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, opacity 0.2s ease, box-shadow 0.2s ease;
}
.btn:disabled, .btn.is-disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}
.btn:focus-visible {
  outline: 2px solid #298552;
  outline-offset: 2px;
}
.btn {
  /* アイコン */
}
.btn > .btn__icon {
  inline-size: 1em;
  block-size: 1em;
  flex: 0 0 auto;
}

/* プラスアイコン */
.btn--plus-right::after {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  background-image: linear-gradient(currentColor, currentColor), linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-size: 2px 60%, 60% 2px;
  background-position: center;
  margin-inline-start: 4px;
}

.btn--plus-left::before {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  background-image: linear-gradient(currentColor, currentColor), linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-size: 2px 60%, 60% 2px;
  background-position: center;
  margin-inline-end: 4px;
}

/* ============= Sizes ============= */
.btn--short {
  --btn-minw: 100px;
  --btn-h: 44px;
}

.btn--block {
  display: flex;
  inline-size: 100%;
}

/* Trailing arrow icon */
.btn--with-arrow-right {
  position: relative;
  padding-right: 28px;
}
.btn--with-arrow-right::after {
  content: "";
  position: absolute;
  inset-block-start: 50%;
  inline-size: 24px;
  block-size: 24px;
  right: 16px;
  transform: translateY(-50%);
  background: url("../../public/assets/images/icon/icon-move-right.svg") no-repeat center/contain;
}

/* ============= Variants ============= */
/* Filled / Primary */
.btn--filled-primary {
  background: #206941;
  color: #ffffff;
  border-color: #206941;
}
.btn--filled-primary:hover {
  background: #298552;
  color: #ffffff;
  border-color: #298552;
}
.btn--filled-primary:focus-visible {
  background: #298552;
  border-color: #298552;
  color: #ffffff;
  outline: 1px solid #206941;
  outline-offset: 1px;
}

/* Filled / Primary-light（淡色ボタン） */
.btn--filled-primary-light {
  background: #3abb74;
  color: #ffffff;
  border-color: #3abb74;
}
.btn--filled-primary-light:hover {
  color: #ffffff;
  background: #68d199;
  border-color: #68d199;
}
.btn--filled-primary-light:focus-visible {
  color: #ffffff;
  background: #68d199;
  border-color: #68d199;
  outline: 1px solid #206941;
  outline-offset: 1px;
}

/* Filled / Secondary */
.btn--filled-secondary {
  background: #8a7342;
  color: #ffffff;
  border-color: #8a7342;
}
.btn--filled-secondary:hover {
  color: #ffffff;
  background: #bda675;
  border-color: #bda675;
}
.btn--filled-secondary:focus-visible {
  color: #ffffff;
  background: #bda675;
  border-color: #bda675;
  outline: 1px solid #bda675;
  outline-offset: 1px;
}

/* Outline / Primary */
.btn--outline-primary {
  background: #ffffff;
  color: #206941;
  border-color: #206941;
}
.btn--outline-primary:hover {
  color: #206941;
  background: #f3fbf7;
}
.btn--outline-primary:focus-visible {
  color: #206941;
  outline: 1px solid #206941;
  outline-offset: 1px;
}

/* Outline / White（ダーク背景上で使用） */
.btn--outline-white {
  background: transparent;
  color: #ffffff;
  border-color: #ffffff;
}
.btn--outline-white:hover {
  color: #ffffff;
  background: rgba(243, 251, 247, 0.2);
}
.btn--outline-white:focus-visible {
  color: #ffffff;
  outline: 1px solid #206941;
  outline-offset: 1px;
}

/* Text / Primary */
.btn--text-primary {
  background: transparent;
  border-color: transparent;
  color: #206941;
}
.btn--text-primary:hover {
  color: #206941;
  background: #f3fbf7;
  border-color: transparent;
}
.btn--text-primary:focus-visible {
  color: #206941;
  background: #f3fbf7;
  border: 1px #206941;
}

/* ============= Subtle helpers ============= */
/* ボタン群の並び */
.btn-row {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

/* アイコンの左右配置補助 */
.btn--icon-left .btn__icon {
  margin-inline-end: 6px;
}

.btn--icon-right .btn__icon {
  margin-inline-start: 6px;
}

.bubble {
  --bubble-max: 864px;
  --bubble-padding-x: 48px;
  --bubble-padding-top: 0;
  --bubble-padding-bottom: 40px;
  --bubble-bg: url("../../public/assets/images/common/speech-bubble-01.svg") no-repeat bottom center / 100% auto;
  position: relative;
  display: block;
  width: 100%;
  max-width: var(--bubble-max);
  margin-inline: auto;
  text-align: center;
  padding: var(--bubble-padding-top) var(--bubble-padding-x) var(--bubble-padding-bottom);
  background: var(--bubble-bg);
}
@media (max-width: 767px) {
  .bubble {
    --bubble-max: 100%;
    --bubble-padding-x: 16px;
    --bubble-padding-bottom: 16px;
    background-size: 100% auto;
    background-position: bottom center;
  }
}

/* 見た目のバリエーションが増えたら modifier を追加 */
.bubble--speech { /* 今回は .bubble と同等。将来別デザイン時に拡張用 */ }

.tabs {
  max-width: 800px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  gap: 8px;
}
@media (max-width: 767px) {
  .tabs {
    flex-direction: column;
    align-items: stretch;
    margin-bottom: 24px;
  }
}
.tabs__tab {
  flex: 1;
  max-height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 18px;
  padding: 16px 24px;
  border-style: solid;
  border-width: 1px;
  border-radius: 8px 8px 0 0;
  border-bottom: none;
  background-color: transparent;
  color: inherit;
  cursor: pointer;
  transition: all 0.2s ease;
}
@media (max-width: 767px) {
  .tabs__tab {
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
  }
}
.tabs__tab--primary {
  border-color: #e5e5e5;
  background-color: #f2f2f2;
  color: #666666;
}
.tabs__tab--primary:hover {
  border-color: #206941;
  color: #184e30;
  background-color: #f3fbf7;
}
.tabs__tab--primary.is-active {
  position: relative;
  z-index: 2;
  border-width: 2px;
  border-color: #206941;
  border-bottom: none;
  background-color: #ffffff;
  color: #206941;
  font-weight: 600;
}
@media (max-width: 767px) {
  .tabs__tab--primary.is-active {
    border-bottom: 2px solid #206941;
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
  }
}
.tabs__tab--secondary {
  border-color: #bda675;
  background-color: #f8f6f1;
  color: #bda675;
}
.tabs__tab--secondary:hover {
  border-color: #bda675;
  color: #bda675;
  background-color: #f2ede3;
}
.tabs__tab--secondary.is-active {
  position: relative;
  z-index: 2;
  border-color: #8a7342;
  background-color: #8a7342;
  color: #ffffff;
  border-bottom: none;
  font-weight: 600;
}
@media (max-width: 767px) {
  .tabs__tab--secondary.is-active {
    border-width: 2px;
    border-color: #8a7342;
    border-bottom: 2px solid #8a7342;
  }
}
.tabs a {
  text-decoration: none;
}

.card {
  position: relative;
  display: flex;
  align-items: flex-start;
  text-decoration: none;
  color: inherit;
  transition: box-shadow 0.25s ease, transform 0.25s ease;
}
.card__icon-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
  border-radius: 4px;
  background: #f3fbf7;
  flex: 0 0 auto;
}
.card__icon-ring {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
  border-radius: 4px;
  border: 1px solid #206941;
}
.card__icon {
  display: block;
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}
.card:hover {
  transform: translateY(-2px);
}
.card {
  /* -----------------------------
  INTRO VARIANT
     ----------------------------- */
}
.card--intro {
  gap: 24px;
  padding: 24px;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.16);
}
@media (max-width: 767px) {
  .card--intro {
    gap: 16px;
  }
}
.card--intro .card__body {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 16px;
  flex: 1 1 auto;
  min-width: 0;
}
.card--intro .card__title {
  font-size: clamp(18px, 18px + 3px * (100vw - 375px) / 1025px, 21px);
  line-height: 1.44;
  font-weight: 600;
  margin: 0;
}
.card--intro .card__text {
  font-size: 14px;
  line-height: 1.8;
  color: #666666;
  margin: 0;
}
.card {
  /* -----------------------------
  RELATED VARIANT
     ----------------------------- */
}
.card--related {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 24px;
  padding: 40px 24px;
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.16);
  text-align: center;
  height: 100%;
}
@media (max-width: 767px) {
  .card--related {
    gap: 20px;
    padding: 32px 24px;
    border-radius: 8px;
  }
}
.card--related .card__icon-ring {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px;
  border: 1px solid #206941;
  border-radius: 4px;
  background: #ffffff;
}
.card--related .card__icon {
  width: 30px;
  height: 30px;
  display: block;
}
.card--related .card__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1 1 auto;
  gap: 12px;
  margin: 0;
  width: 100%;
}
.card--related .card__title {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: clamp(18px, 18px + 3px * (100vw - 375px) / 1025px, 21px);
  font-weight: 600;
  line-height: 1.4;
  margin: 0;
  color: #206941;
  transition: color 0.3s ease;
}
@media (max-width: 767px) {
  .card--related .card__title {
    display: block;
  }
}
.card--related .card__title::after {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  background-color: currentColor;
  -webkit-mask: url("/wp-content/themes/legalgarden-theme/public/assets/images/icon/icon-chevron-right.svg") no-repeat center/contain;
  mask: url("/wp-content/themes/legalgarden-theme/public/assets/images/icon/icon-chevron-right.svg") no-repeat center/contain;
  vertical-align: middle;
}
@media (max-width: 767px) {
  .card--related .card__title::after {
    content: none;
  }
}
.card--related:hover .card__title,
.card--related:hover .card__text,
.card--related:hover .card__cta, .card--related:focus-visible .card__title,
.card--related:focus-visible .card__text,
.card--related:focus-visible .card__cta {
  color: #298552;
}
.card--related .text-small {
  font-size: clamp(14px, 14px + 2px * (100vw - 375px) / 1025px, 16px);
}
.card {
  /* -----------------------------
  RELATED ACTION VARIANT
     ----------------------------- */
}
.card--related-action {
  flex-direction: column;
  gap: 24px;
  height: 100%;
  padding: 36px 32px;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.16);
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}
@media (max-width: 767px) {
  .card--related-action {
    padding: 24px;
    gap: 20px;
  }
}
.card--related-action:hover, .card--related-action:focus-visible {
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.16);
  transform: translateY(-3px);
}
.card--related-action:hover .card__title, .card--related-action:focus-visible .card__title {
  color: #206941;
}
.card--related-action:focus-visible {
  outline: 2px solid #298552;
  outline-offset: 2px;
}
.card--related-action .card__body {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.card--related-action .card__title {
  font-size: 20px;
  font-weight: 600;
  line-height: 1.4;
  color: #1a1a1a;
  margin: 0;
}
@media (max-width: 767px) {
  .card--related-action .card__title {
    font-size: 18px;
  }
}
.card--related-action .card__text {
  margin: 0;
  color: #666666;
}
.card--related-action .card__cta-btn {
  margin-top: auto;
  align-self: flex-start;
}
.card {
  /* -----------------------------
  PRICE VARIANT
     ----------------------------- */
}
.card--price {
  gap: 24px;
  padding: 24px;
  border-radius: 8px;
  background: #ffffff;
  border: 1px solid rgba(32, 105, 65, 0.12);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.16);
  color: #1a1a1a;
  flex-direction: column;
  align-items: center;
  height: 100%;
  width: 100%;
}
.card--price .card__body {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: center;
  min-width: 0;
  flex: 1 1 auto;
  width: 100%;
}
.card--price .card__title {
  margin: 0;
  font-size: 21px;
  font-weight: 600;
}
.card--price .card__title-sub {
  margin-top: 4px;
  font-size: 14px;
  font-weight: 400;
}
.card--price .card__text {
  margin: 0;
  font-size: 14px;
  color: #666666;
  text-align: left;
}
.card--price .card__price {
  margin: auto 0 0;
  padding-top: 24px;
  border-top: solid 1px #e5e5e5;
  font-size: 14px;
  width: 100%;
}
.card--price .card__price-value {
  margin-inline: 6px;
  font-size: 21px;
  font-weight: 600;
}
.card--price.card--price-qa .card__title {
  font-size: 18px;
}
.card--price.card--price-qa .card__text {
  font-size: 16px;
}
.card--price:hover, .card--price:focus-visible {
  transform: none;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.16);
}
.card {
  /* -----------------------------
  FEATURE VARIANT（simple card）
      ----------------------------- */
}
.card--feature {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  padding: 32px 24px;
  background-color: #ffffff;
  border-radius: 8px;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.16);
  height: 100%;
}
.card--feature:hover, .card--feature:focus-visible {
  transform: none;
}
.card--feature .card__header {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 24px;
  min-height: 24px;
}
.card--feature .card__icon {
  display: block;
  flex-shrink: 0;
  height: 34px;
}
@media (max-width: 767px) {
  .card--feature .card__icon {
    height: 26px;
  }
}
.card--feature .card__title {
  margin: 0;
  font-size: 24px;
  line-height: 1.4;
  font-weight: 600;
  color: #206941;
}
@media (max-width: 767px) {
  .card--feature .card__title {
    font-size: 18px;
  }
}
.card--feature .card__text {
  font-size: 16px;
  color: #1a1a1a;
  line-height: 1.8;
  margin: 0;
}
.card--feature .card__link {
  margin-top: 16px;
  font-weight: 500;
}
.card {
  /* -----------------------------
     STEP VARIANT (left info + right image)
  ----------------------------- */
}
.card--step {
  max-width: 1200px;
  width: 100%;
  padding: 24px;
  display: flex;
  align-items: flex-start;
  gap: 48px;
  border-radius: 8px;
  background: #ffffff;
  /* レイアウト */
}
.card--step .card__body {
  flex: 1 1 0;
  min-width: 0;
}
.card--step .card__media {
  flex: 0 0 auto;
}
.card--step .card__media img {
  display: block;
  height: 180px;
  width: auto;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.16);
  border-radius: 8px;
}
.card--step {
  /* Step Badge */
}
.card--step .card__step-badge {
  display: inline-flex;
  align-items: baseline;
  justify-content: center;
  gap: 0;
  padding: 16px 24px;
  border-radius: 8px;
  color: #ffffff;
  background: #206941;
}
.card--step .card__step-label {
  font-size: 18px;
  line-height: 1;
  font-weight: 600;
}
.card--step .card__step-number {
  font-size: 21px;
  line-height: 1;
  font-weight: 600;
}
.card--step {
  /* Title & Text */
}
.card--step .card__title {
  margin: 48px 0 0;
  padding-bottom: 16px;
  font-size: 24px;
  font-weight: 600;
}
.card--step .card__text {
  margin: 24px 0;
  font-size: 16px;
}
.card--step {
  /* STEP BORDER */
}
.card--step-bordered {
  border: 1px solid #206941;
  background-color: #ffffff;
}
.card--step {
  /* Tab Style */
}
@media (max-width: 1023px) {
  .card--step {
    flex-direction: column;
    gap: 24px;
  }
  .card--step .card__media {
    align-self: center;
  }
}
.card--step:hover, .card--step:focus-visible {
  transform: none;
}
.card {
  /* STEP FLAT */
}
.card--step-flat {
  border: none;
  display: flex;
  align-items: flex-start;
  gap: 32px;
  padding: 0;
}
.card--step-flat .card__step-badge {
  order: 0;
}
.card--step-flat .card__body {
  order: 1;
}
.card--step-flat .card__media {
  order: 2;
  flex: 0 0 auto;
}
.card--step-flat {
  /* Step Badge */
}
.card--step-flat .card__step-badge {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 0;
  width: 80px;
  height: 80px;
  flex: 0 0 80px;
  border-radius: 50%;
  background: #206941;
  color: #ffffff;
  text-align: center;
  line-height: 1;
}
.card--step-flat .card__step-badge .card__step-label {
  font-size: 18px;
  font-weight: 600;
}
.card--step-flat .card__step-badge .card__step-number {
  font-size: 21px;
  font-weight: 600;
}
.card--step-flat .card__title {
  display: flex;
  align-items: center;
  height: 80px;
  margin: 0;
  font-size: clamp(21px, 21px + 3px * (100vw - 375px) / 1025px, 24px);
}
.card--step-flat .card__text {
  margin: 0;
  font-size: 16px;
  line-height: 1.8;
}
@media (max-width: 1023px) {
  .card--step-flat {
    flex-direction: column;
    align-items: center;
    padding-inline: 24px;
  }
  .card--step-flat .card__step-badge {
    align-self: center;
  }
  .card--step-flat .card__title {
    margin: 0;
    justify-content: center;
  }
  .card--step-flat .card__media {
    align-self: center;
    width: 100%;
    height: auto;
  }
  .card--step-flat .card__media img {
    width: 100%;
    height: auto;
    max-width: 286px;
    margin: 0 auto;
  }
}
.card--step-flat:hover, .card--step-flat:focus-visible {
  transform: none;
}

/* =========================================
   CTA (base)
========================================= */
.cta {
  --cta-bg: transparent;
  --cta-fg: #1a1a1a;
  background: var(--cta-bg);
  color: var(--cta-fg);
}
.cta__inner {
  width: min(100% - clamp(24px, 5vw, 80px) * 2, var(--container-max, 1400px));
  max-width: var(--container-max, 1400px);
  margin-inline: auto;
}
.cta__grid {
  display: grid;
  gap: 80px;
}
.cta__item {
  position: relative;
  display: flex;
  flex-direction: column;
  background: transparent;
  color: inherit;
  overflow: visible;
  gap: 0;
}
.cta__actions {
  margin-top: auto;
}

/* =========================================
   CTA: Try
========================================= */
.cta.cta--try {
  --cta-bg: #206941;
  --cta-fg: #ffffff;
  padding-block: 160px 229px;
}
@media (max-width: 1023px) {
  .cta.cta--try {
    padding-block: 120px;
  }
}
.cta.cta--try .section-title {
  margin-inline: auto;
}
.cta.cta--try .section-title__eyebrow {
  color: #6bd199;
  font-size: 24px;
}
.cta.cta--try .section-title__main {
  color: #ffffff;
  font-size: clamp(32px, 32px + 16px * (100vw - 375px) / 1025px, 48px);
}
.cta.cta--try .cta__grid {
  margin-inline: auto;
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 1023px) {
  .cta.cta--try .cta__grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 1023px) {
  .cta.cta--try .cta__item:first-child {
    margin-bottom: 70px;
  }
}
.cta.cta--try .cta__item .cta__actions a {
  width: 100%;
}
.cta.cta--try .cta__eyebrow {
  font-family: "Roboto", sans-serif;
  font-weight: 600;
  font-size: 16px;
  line-height: 1;
  color: #6bd199;
  margin: 0 0 16px;
}
.cta.cta--try .cta__heading {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.8;
  margin: 0;
  color: #ffffff;
}
.cta.cta--try .cta__lead {
  text-align: center;
  margin: 48px auto 80px;
  max-width: 737px;
}
@media (max-width: 1023px) {
  .cta.cta--try .cta__lead {
    text-align: left;
  }
}
.cta.cta--try .cta__text {
  margin: 24px 0 32px;
  color: #ffffff;
}
.cta.cta--try .cta__note {
  position: absolute;
  bottom: -69px;
  left: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.cta.cta--try .cta__note-inner {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  background: #8a7342;
  color: #ffffff;
  font-size: 14px;
  padding: 8px 24px;
  white-space: nowrap;
  margin-bottom: 0;
  border-radius: 4px;
}
.cta.cta--try .cta__note-arrow {
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 10px solid transparent;
  border-left: 10px solid transparent;
  border-bottom: 10px solid #8a7342;
  border-top: 0;
}
.cta.cta--try .cta__note-icon {
  width: 16px;
  height: auto;
}
@media (max-width: 767px) {
  .cta.cta--try .br-none {
    display: block;
  }
}

/* =========================================
  CTA: Introduction
========================================= */
.cta.cta--introduction {
  --cta-bg: #ffffff;
  --cta-fg: #ffffff;
  padding-block: 80px;
}
.cta.cta--introduction .pc-none {
  display: none;
}
@media (max-width: 1023px) {
  .cta.cta--introduction .pc-none {
    display: block;
  }
}
.cta.cta--introduction .cta__inner {
  width: min(100% - clamp(24px, 5vw, 80px) * 2, var(--container-max, 1400px));
  max-width: var(--container-max, 1400px);
  margin-inline: auto;
  max-width: 1280px;
  background: linear-gradient(to bottom right, #3fcf80 0%, #206941 100%);
  border-radius: 16px;
  padding: 80px 0 80px 80px;
  color: #ffffff;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 80px;
}
@media (max-width: 1279px) {
  .cta.cta--introduction .cta__inner {
    padding: 64px 48px;
    gap: 64px;
  }
}
@media (max-width: 767px) {
  .cta.cta--introduction .cta__inner {
    padding: 40px 16px;
  }
}
.cta.cta--introduction .cta__body {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0;
}
@media (max-width: 1279px) {
  .cta.cta--introduction .cta__body {
    flex-direction: column;
    align-items: stretch;
    gap: 64px;
  }
}
.cta.cta--introduction .cta__content {
  display: flex;
  flex-direction: column;
  gap: 40px;
  width: 100%;
  flex: 0 1 600px;
  max-width: 600px;
  min-inline-size: 0;
}
@media (max-width: 1279px) {
  .cta.cta--introduction .cta__content {
    flex: none;
    max-width: none;
    justify-content: center;
    text-align: center;
  }
}
.cta.cta--introduction .cta__logo img {
  display: block;
  width: 165.5px;
  height: auto;
}
@media (max-width: 1279px) {
  .cta.cta--introduction .cta__logo img {
    margin: 0 auto 8px;
  }
}
.cta.cta--introduction .cta__heading {
  font-size: clamp(21px, 1.99vw + 13.5px, 40px);
  margin: 0;
  color: #ffffff;
}
.cta.cta--introduction .cta__lead {
  font-size: clamp(14px, 1.1vw + 9.9px, 24px);
  letter-spacing: 0;
  margin: 0 0 8px;
}
@media (max-width: 1279px) {
  .cta.cta--introduction .cta__lead {
    margin-bottom: 16px;
    font-weight: 600;
    line-height: 1.8;
  }
}
@media (max-width: 767px) {
  .cta.cta--introduction .cta__lead {
    line-height: 1.6;
  }
}
.cta.cta--introduction .cta__actions {
  display: flex;
}
.cta.cta--introduction .cta__button {
  padding-inline: 32px;
  height: 73px;
  font-weight: 600;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.16);
  font-size: 18px;
}
@media (max-width: 1279px) {
  .cta.cta--introduction .cta__button {
    margin: 0 auto;
  }
}
.cta.cta--introduction .cta__visual {
  flex: 0 1 590px;
  max-width: 590px;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
}
.cta.cta--introduction .cta__visual picture,
.cta.cta--introduction .cta__visual img {
  display: block;
  width: 100%;
  max-width: 590px;
  height: auto;
}
@media (max-width: 1279px) {
  .cta.cta--introduction .cta__visual {
    width: 100%;
    flex: none;
    margin: 0 auto;
    max-width: 720px;
  }
  .cta.cta--introduction .cta__visual picture,
  .cta.cta--introduction .cta__visual img {
    max-width: 100%;
  }
}
@media (max-width: 767px) {
  .cta.cta--introduction .cta__visual {
    width: 100%;
    flex: none;
    justify-content: center;
  }
  .cta.cta--introduction .cta__visual picture,
  .cta.cta--introduction .cta__visual img {
    max-width: 295px;
  }
}
.cta.cta--introduction .cta__features {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
@media (max-width: 1279px) {
  .cta.cta--introduction .cta__features {
    gap: 48px;
  }
}
.cta.cta--introduction .cta__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 1279px) {
  .cta.cta--introduction .cta__badges {
    gap: 12px;
  }
}
.cta.cta--introduction .cta__badge {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 24px;
  height: 56px;
  background: #ffffff;
  color: #206941;
  font-weight: 600;
  border-radius: 4px;
  box-shadow: 0 8px 24px rgba(26, 26, 26, 0.12);
}
@media (max-width: 1279px) {
  .cta.cta--introduction .cta__badge {
    height: 32px;
    padding: 0 8px;
    gap: 8px;
  }
}
.cta.cta--introduction .cta__badge-icon {
  width: 20px;
  height: auto;
}
@media (max-width: 767px) {
  .cta.cta--introduction .cta__badge-icon {
    width: 16px;
  }
}
.cta.cta--introduction .cta__badge-text {
  font-size: clamp(12px, 12px + 6px * (100vw - 375px) / 1025px, 18px);
  font-weight: 500;
  line-height: 1;
}
.cta.cta--introduction .cta__notes {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
  color: #ffffff;
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0;
}
@media (max-width: 767px) {
  .cta.cta--introduction .cta__notes {
    font-size: 14px;
  }
}
.cta.cta--introduction .cta__note {
  margin: 0;
}
.cta.cta--introduction #cta-introduction-title {
  color: #ffffff;
}

/* =========================================
  CTA: Trial
========================================= */
.cta.cta--trial {
  --cta-bg: #ffffff;
  --cta-fg: #ffffff;
  padding-block: 80px;
}
.cta.cta--trial .cta__inner {
  width: min(100% - clamp(24px, 5vw, 80px) * 2, var(--container-max, 1400px));
  max-width: var(--container-max, 1400px);
  margin-inline: auto;
  max-width: 1280px;
  background: linear-gradient(to bottom right, #3fcf80 0%, #206941 100%);
  border-radius: 16px;
  padding: 80px;
  color: #ffffff;
  display: flex;
  flex-direction: column;
}
@media (max-width: 767px) {
  .cta.cta--trial .cta__inner {
    padding: 56px 24px;
  }
}
.cta.cta--trial .cta__body {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 1279px) {
  .cta.cta--trial .cta__body {
    gap: 48px;
  }
}
@media (max-width: 1023px) {
  .cta.cta--trial .cta__body {
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 56px;
  }
}
.cta.cta--trial .cta__content {
  display: flex;
  flex-direction: column;
  gap: 40px;
  flex: 1 1 60%;
  max-width: 640px;
}
@media (max-width: 1023px) {
  .cta.cta--trial .cta__content {
    max-width: none;
    text-align: center;
    align-items: center;
  }
}
@media (max-width: 767px) {
  .cta.cta--trial .cta__content {
    align-items: flex-start;
  }
}
.cta.cta--trial .cta__logo img {
  display: block;
  width: 168px;
  height: auto;
}
@media (max-width: 1023px) {
  .cta.cta--trial .cta__logo img {
    margin-inline: auto;
  }
}
.cta.cta--trial .cta__heading {
  margin: 0;
  font-size: clamp(32px, 1vw + 27px, 40px);
  font-weight: 600;
  line-height: 1.5;
  color: #ffffff;
}
@media (max-width: 767px) {
  .cta.cta--trial .cta__heading {
    text-align: left;
  }
}
.cta.cta--trial .cta__lead {
  margin: 0;
  font-size: clamp(20px, 0.6vw + 18px, 24px);
  line-height: 1.7;
}
@media (max-width: 767px) {
  .cta.cta--trial .cta__lead {
    text-align: left;
  }
}
.cta.cta--trial .cta__aside {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  flex: 0 1 clamp(262px, 26vw, 338px);
  inline-size: clamp(262px, 26vw, 338px);
}
@media (max-width: 1023px) {
  .cta.cta--trial .cta__aside {
    align-items: center;
    text-align: center;
    min-width: auto;
    flex: 0 0 auto;
    inline-size: 100%;
  }
}
.cta.cta--trial .cta__tagline {
  margin: 0;
  font-size: 14px;
  letter-spacing: 0.08em;
  text-align: center;
}
.cta.cta--trial .cta__actions {
  width: 100%;
  display: flex;
  justify-content: flex-end;
  min-inline-size: 0;
}
@media (max-width: 1023px) {
  .cta.cta--trial .cta__actions {
    justify-content: center;
    margin-top: 0;
  }
}
.cta.cta--trial .cta__button {
  width: 100%;
  height: 91px;
  padding-inline: 32px;
  font-weight: 600;
  font-size: clamp(18px, 18px + 6px * (100vw - 375px) / 1025px, 24px);
  box-shadow: 0 8px 16px rgba(26, 26, 26, 0.16);
}
@media (max-width: 1023px) {
  .cta.cta--trial .cta__button {
    width: min(100%, 360px);
  }
}
@media (max-width: 767px) {
  .cta.cta--trial .cta__button {
    height: 81px;
  }
}

/* ========= breadcrumb ========= */
.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 12px;
  line-height: 1.6;
  color: #666666;
}
.breadcrumb__item {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  /* Separator */
}
.breadcrumb__item + .breadcrumb__item::before {
  content: "";
  display: inline-block;
  color: #666666;
  background-color: currentColor;
  inline-size: 10px;
  block-size: 1.2px;
  border-radius: 999px;
  margin: 0 8px;
}
.breadcrumb {
  /* Link */
}
.breadcrumb a {
  color: #666666;
  text-decoration: none;
  transition: color 0.2s ease;
}
.breadcrumb a:hover, .breadcrumb a:focus-visible {
  color: #6bd199;
  outline: none;
}
.breadcrumb [aria-current=page] {
  color: #206941;
  font-weight: 600;
}

/* Base */
.page-title {
  position: relative;
  background: #ffffff;
  overflow-x: hidden;
}
@supports (overflow: clip) {
  .page-title {
    overflow-x: clip;
  }
}
.page-title {
  padding-block: 80px;
}
.page-title::after {
  pointer-events: none;
}
@media (max-width: 767px) {
  .page-title {
    padding-block: 56px;
  }
}
.page-title__inner {
  width: min(100% - clamp(24px, 5vw, 80px) * 2, var(--container-max, 1400px));
  max-width: var(--container-max, 1400px);
  margin-inline: auto;
  position: relative;
  z-index: 1;
}
.page-title {
  /* Breadcrumb */
}
.page-title__breadcrumb {
  margin-bottom: 40px;
}
.page-title {
  /* Category */
}
.page-title__category {
  font-size: 12px;
  letter-spacing: 0.05em;
  color: #206941;
  margin: 0 0 4px;
}
.page-title {
  /* Title */
}
.page-title__title {
  color: #206941;
  font-size: 32px;
  line-height: 58px;
  letter-spacing: 0.05em;
  font-weight: 600;
  margin: 0 0 24px;
}
@media (max-width: 767px) {
  .page-title__title {
    font-size: 32px;
    line-height: 1.4;
  }
}
.page-title {
  /* Description */
}
.page-title__desc {
  color: #10331f;
  font-size: 18px;
  line-height: 1.8;
  margin: 0;
  padding-block: 24px;
  max-width: 754px;
}
@media (max-width: 767px) {
  .page-title__desc {
    font-size: 16px;
    padding-block: 0;
  }
}
.page-title--bg-gray {
  background-color: #f9fafb !important;
}

/* ================================
  2rd level dot
   ================================ */
.page-title--dot {
  position: relative;
}

.page-title--dot .page-title__bg {
  position: absolute;
  z-index: 0;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  display: block;
  height: auto;
}

.page-title--dot .page-title__bg--rt {
  top: 0;
  right: 0;
  width: clamp(285px, 285px + 105 * (100vw - 375px) / 1335, 390px);
  transform: translate(10%, -10%);
}

.page-title--dot .page-title__bg--lb {
  left: 0;
  bottom: 0;
  width: clamp(170px, 170px + 210 * (100vw - 375px) / 1335, 380px);
  transform: translate(-10%, 35%);
  opacity: 0.9;
}

/* ================================
  3rd level common
   ================================ */
.page-title--lv3, .page-title--accent, .page-title--simple {
  padding-block: 32px 48px;
}
@media (max-width: 767px) {
  .page-title--lv3, .page-title--accent, .page-title--simple {
    padding-block: 32px 40px;
  }
}
.page-title--lv3 .page-title__category, .page-title--accent .page-title__category, .page-title--simple .page-title__category {
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
  padding-bottom: 24px;
  margin: 0;
}

/* ----- simple ----- */
.page-title--simple {
  background: #f8f6f1;
}
.page-title--simple .breadcrumb,
.page-title--simple .breadcrumb a,
.page-title--simple .breadcrumb [aria-current=page] {
  color: #1a1a1a;
  font-weight: 400;
}
.page-title--simple .breadcrumb a:hover,
.page-title--simple .breadcrumb a:focus-visible {
  color: #666666;
}
.page-title--simple .breadcrumb__item + .breadcrumb__item::before {
  color: #1a1a1a;
}
.page-title--simple .page-title__title,
.page-title--simple .page-title__desc {
  color: #1a1a1a;
}
@media (max-width: 767px) {
  .page-title--simple .page-title__title {
    font-size: 24px;
    letter-spacing: normal;
  }
}
.page-title--simple .page-title__category {
  color: #206941;
}
.page-title--simple.page-title--with-tabs {
  padding-block: 32px 16px;
}
.page-title--simple {
  /* Background Gray */
}
.page-title--simple.page-title--bg-gray {
  /* No Category */
}
.page-title--simple.page-title--bg-gray .page-title--no-category .page-title__meta {
  display: none;
}
.page-title--simple.page-title--bg-gray .breadcrumb [aria-current=page] {
  color: #206941;
  font-weight: 600;
}
.page-title--simple.page-title--bg-gray .page-title__title {
  color: #206941;
}

/* ----- accent ----- */
.page-title--accent {
  position: relative;
  background-color: #298552;
  background-image: url("../../public/assets/images/common/bg-lv3-ttl-right-dot-pc.png");
  background-repeat: no-repeat;
  background-position: top right;
  background-size: clamp(254px, 254px + 421 * (100vw - 375px) / 1335, 675px);
  background-blend-mode: multiply;
}
@media (max-width: 767px) {
  .page-title--accent {
    background-image: url("../../public/assets/images/common/bg-lv3-ttl-right-dot-sp.png");
  }
}
.page-title--accent .page-title__title,
.page-title--accent .page-title__category,
.page-title--accent .page-title__desc,
.page-title--accent .breadcrumb,
.page-title--accent .breadcrumb a,
.page-title--accent .breadcrumb [aria-current=page],
.page-title--accent .breadcrumb__item + .breadcrumb__item::before {
  color: #ffffff;
}
.page-title--accent .breadcrumb a:hover,
.page-title--accent .breadcrumb a:focus-visible {
  color: #6bd199;
}
.page-title--accent .page-title__bg {
  position: absolute;
  z-index: 0;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  display: block;
}
.page-title--accent .page-title__bg img {
  display: block;
  height: auto;
  max-width: 100%;
}
.page-title--accent .page-title__bg--lt {
  top: 0;
  left: 0;
  width: clamp(150px, 150px + 290 * (100vw - 375px) / 1335, 440px);
  mix-blend-mode: multiply;
  opacity: 0.8;
}
.page-title--accent .page-title__bg--rt {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 0;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  width: clamp(254px, 254px + 421 * (100vw - 375px) / 1335, 675px);
}
.page-title--accent .page-title__bg--rt picture {
  position: absolute;
  inset: 0;
  display: block;
}
.page-title--accent .page-title__bg--rt picture > img {
  display: block;
  width: 100%;
  height: auto;
}

/* ----- 汎用フラグ（必要に応じてHTMLに付与） ----- */
.page-title--no-category .page-title__category {
  display: none;
}

.page-title--no-desc .page-title__desc {
  display: none;
}

.section-title {
  margin: 0;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-weight: 600;
  text-align: center;
}
.section-title--eyebrow .section-title__eyebrow {
  display: block;
  font-family: "Roboto", sans-serif;
  font-size: clamp(14px, 14px + 2px * (100vw - 375px) / 1025px, 16px);
  letter-spacing: 0.05em;
  color: #206941;
  line-height: 1;
  margin: 0 0 16px;
}
.section-title--eyebrow .section-title__main {
  display: block;
  font-size: clamp(24px, 24px + 8px * (100vw - 375px) / 1025px, 32px);
  line-height: 1.4;
  letter-spacing: 0.05em;
  font-weight: 600;
  margin: 0;
}
.section-title--leftbar {
  position: relative;
  padding: 16px 0;
  margin: 0;
  font-size: 21px;
  line-height: 1.5;
  text-align: left;
  color: #206941;
}
.section-title--leftbar::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 5.6px;
  height: 42px;
  border-radius: 999px;
  background: #206941;
}
.section-title--leftbar {
  padding-left: 21.6px;
}
@media (max-width: 767px) {
  .section-title--leftbar {
    font-size: 21px;
  }
}
.section-title--underline {
  position: relative;
  font-size: 21px;
  line-height: 1.5;
  padding-top: 48px;
  padding-bottom: 16px;
  margin: 0 0 16px;
}
.section-title--underline::after {
  content: "";
  display: block;
  height: 1px;
  width: 100%;
  margin-top: 16px;
  background: #cccccc;
}
@media (max-width: 767px) {
  .section-title--underline {
    font-size: 21px;
  }
}
.section-title--dot-secondary {
  position: relative;
  margin: 0 auto;
  max-width: 1400px;
  overflow: hidden;
  background: #f8f6f1;
  background-image: radial-gradient(circle at 50% 50%, rgba(189, 166, 117, 0) 60%, rgba(189, 166, 117, 0.2) 100%);
  border-radius: 8px;
  /* title */
  font-weight: 600;
  font-size: clamp(21px, 21px + 11px * (100vw - 375px) / 1025px, 32px);
  text-align: left;
  padding: 32px clamp(24px, 8vw, 100px);
}
.section-title--dot-secondary::before, .section-title--dot-secondary::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 424px;
  height: 424px;
  background: url("/wp-content/uploads/2025/10/bg-dot-secondary.png") no-repeat center/424px 424px;
  pointer-events: none;
}
.section-title--dot-secondary::before {
  left: -212px;
}
.section-title--dot-secondary::after {
  right: -212px;
}
.section-title--dot-secondary {
  /* SP Size */
}
@media (max-width: 767px) {
  .section-title--dot-secondary {
    border-radius: 8px 8px 0 0;
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
  }
  .section-title--dot-secondary::before, .section-title--dot-secondary::after {
    width: 166px;
    height: 166px;
    background-size: 166px 166px;
    top: auto;
    transform: none;
  }
  .section-title--dot-secondary::before {
    top: 0;
    bottom: auto;
    left: -83px;
  }
  .section-title--dot-secondary::after {
    top: auto;
    bottom: 0;
    right: -83px;
  }
}
.section-title .section-title--dot-secondary > .section-title__inner {
  display: block;
  max-width: 1200px;
  margin: 0 auto;
}
.section-title-group--leadbar {
  margin: 0 0 72px;
}
@media (max-width: 767px) {
  .section-title-group--leadbar {
    margin-bottom: 40px;
  }
}
.section-title-group__title {
  font-size: clamp(21px, 21px + 11px * (100vw - 375px) / 1025px, 32px);
  font-weight: 600;
  color: #206941;
  margin: 0 0 48px;
}
.section-title-group__lead {
  font-size: 16px;
  border-left: 2px solid #206941;
  padding-left: 24px;
  margin-left: 24px;
  margin-bottom: 0;
}

.tab-nav {
  background: #f8f6f1;
}
.tab-nav .tabs {
  width: min(100% - clamp(24px, 5vw, 80px) * 2);
  max-width: 900px;
}
@media (max-width: 920px) {
  .tab-nav .tabs {
    font-size: 18px;
    flex-direction: column;
    align-items: stretch;
    padding-bottom: 32px;
    margin-bottom: 0;
  }
}
@media (max-width: 1079px) {
  .tab-nav .tabs__tab {
    font-size: 16px;
  }
}
@media (max-width: 920px) {
  .tab-nav .tabs__tab {
    font-size: 18px;
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
    border-bottom: 1px solid #bda675;
  }
  .tab-nav .tabs__tab.is-active {
    border-color: #8a7342;
    border-bottom: 1px solid #8a7342;
  }
}

/* =========================================
  Select Services
（選べる6つのサービス）
========================================= */
.select-services__inner {
  width: min(100% - clamp(24px, 5vw, 80px) * 2, var(--container-max, 1400px));
  max-width: var(--container-max, 1400px);
  margin-inline: auto;
}
.select-services__lead {
  max-width: 880px;
  margin-inline: auto;
  margin-bottom: 80px;
  text-align: center;
  font-size: clamp(16px, 16px + 2px * (100vw - 375px) / 1025px, 18px);
}
@media (max-width: 879px) {
  .select-services__lead {
    text-align: left;
  }
}
.select-services__lead p:first-child {
  margin-top: 56px;
  margin-bottom: 32px;
}
@media (max-width: 767px) {
  .select-services__lead p:first-child {
    margin-top: 40px;
  }
}
.select-services__lead p:nth-child(2) {
  margin-bottom: 56px;
}
@media (max-width: 879px) {
  .select-services__lead .pc-only {
    display: none;
  }
}
.select-services__cta {
  text-align: center;
}
.select-services {
  /* Card Intro */
}
.select-services .cards-intro {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  row-gap: 40px;
  -moz-column-gap: 24px;
       column-gap: 24px;
  justify-content: center;
  max-width: 1044px;
  margin-inline: auto;
  counter-reset: cards;
}
.select-services .cards-intro > li {
  flex: 0 1 332px;
  min-width: 0;
}
.select-services .cards-intro .card--intro {
  display: flex;
  flex-direction: row;
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
}
@media (max-width: 767px) {
  .select-services .cards-intro {
    max-width: none;
    row-gap: 24px;
    -moz-column-gap: 0;
         column-gap: 0;
    justify-content: stretch;
  }
  .select-services .cards-intro > li {
    flex: 0 0 100%;
  }
}
.select-services .category-box {
  max-width: 736px;
  margin: 40px auto 34px;
  padding: 24px;
  border: 3px solid #206941;
  border-radius: 8px;
  background: #ffffff;
  text-align: center;
}
@media (max-width: 767px) {
  .select-services .category-box {
    padding-inline: 16px;
    margin-top: 24px;
  }
}
.select-services .category-box__label {
  display: block;
  font-size: clamp(21px, 21px + 3px * (100vw - 375px) / 1025px, 24px);
  font-weight: 600;
  color: #206941;
  margin-bottom: 16px;
}
.select-services .category-box__desc {
  font-size: 16px;
  color: #10331f;
  margin: 34px auto 0;
  text-align: left;
  max-width: 736px;
}
.select-services .category-box .cards-intro {
  max-width: 688px;
  flex-wrap: nowrap;
  text-align: left;
  width: 100%;
}
@media (max-width: 767px) {
  .select-services .category-box .cards-intro {
    flex-wrap: wrap;
  }
}
.select-services .category-box .card__count {
  position: absolute;
  top: 10px;
  right: 8px;
  font-family: "Roboto", sans-serif;
  font-size: 12px;
  color: #206941;
  line-height: 1;
}
.select-services .category-box .card--intro::after {
  content: none;
}

.media-block {
  position: relative;
}
.media-block__inner {
  display: flex;
  align-items: center;
  gap: 64px;
}
@media (max-width: 1023px) {
  .media-block__inner {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-areas: "title" "lead" "media";
    row-gap: 32px;
  }
}
.media-block {
  /* Body */
}
.media-block__body {
  flex: 1 1 50%;
}
@media (max-width: 1023px) {
  .media-block__body {
    display: contents;
  }
}
.media-block {
  /* Media */
}
.media-block__media {
  flex: 1 1 50%;
  max-width: 500px;
}
@media (max-width: 1023px) {
  .media-block__media {
    grid-area: media;
  }
}
.media-block__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.16);
}
.media-block {
  /* Title ＆　Read */
}
.media-block__title {
  text-align: left;
  margin-bottom: 48px;
}
@media (max-width: 1023px) {
  .media-block__title {
    margin-bottom: 0;
    grid-area: title;
  }
}
.media-block__lead {
  margin-bottom: 0;
}
@media (max-width: 1023px) {
  .media-block__lead {
    grid-area: lead;
    margin-bottom: 16px;
  }
}
.media-block {
  /* Mirror image */
}
.media-block--image-right .media-block__inner {
  flex-direction: row;
}
.media-block--image-left .media-block__inner {
  flex-direction: row-reverse;
}
.media-block {
  /* Background Style */
}
.media-block--panel {
  background-color: #ffffff;
  border-radius: 8px;
  padding: 32px;
}
@media (max-width: 1023px) {
  .media-block--panel {
    padding: 24px;
  }
}
.media-block--plain {
  background: none;
  box-shadow: none;
}

.media-list {
  --media-list-gap: 80px;
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  row-gap: var(--media-list-gap);
}
@media (max-width: 1023px) {
  .media-list {
    --media-list-gap: 32px;
  }
}
@media (max-width: 767px) {
  .media-list {
    --media-list-gap: 40px;
  }
}
.media-list__item {
  position: relative;
}
.media-list {
  /* Alternating Layout */
}
.media-list--alternating > .media-list__item:nth-child(even) .media-block .media-block__inner {
  flex-direction: row-reverse;
}
.media-list {
  /* Vertical stacking */
}
@media (max-width: 1023px) {
  .media-list > .media-list__item .media-block .media-block__inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 32px;
  }
  .media-list {
    /* Default Sort Order */
  }
  .media-list > .media-list__item .media-block .media-block__title {
    order: 1;
  }
  .media-list > .media-list__item .media-block .media-block__lead {
    order: 2;
  }
  .media-list > .media-list__item .media-block .media-block__media {
    order: 3;
  }
  .media-list > .media-list__item .media-block .media-block__body,
  .media-list > .media-list__item .media-block .media-block__media {
    width: 100%;
  }
  .media-list > .media-list__item .media-block .media-block__media {
    margin: 0 auto;
  }
}
.media-list {
  /* Media first */
}
@media (max-width: 1023px) {
  .media-list--order-media-first .media-block__inner {
    grid-template-areas: "title" "media" "lead";
  }
}
.media-list--compact {
  --media-list-gap: 32px;
}
@media (max-width: 767px) {
  .media-list--compact {
    --media-list-gap: 16px;
  }
}
.media-list--compact .media-block--panel {
  padding-block: 24px;
}

.voice-card {
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-start;
  gap: 64px;
}
@media (max-width: 1023px) {
  .voice-card {
    max-width: 640px;
    margin: 0 auto;
    flex-direction: column;
    gap: 48px;
  }
}
@media (max-width: 767px) {
  .voice-card {
    gap: 32px;
  }
}
.voice-card__thumbnail {
  flex: 0 0 clamp(320px, 50%, 570px);
  width: clamp(320px, 50%, 570px);
  max-width: 570px;
  aspect-ratio: 570/350;
  overflow: hidden;
}
@media (max-width: 1023px) {
  .voice-card__thumbnail {
    width: 100%;
    max-width: none;
    flex: none;
  }
}
.voice-card__thumbnail img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 8px;
}
.voice-card__body {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
@media (max-width: 1023px) {
  .voice-card__body {
    width: 100%;
  }
}
.voice-card__heading {
  margin: 0 0 24px;
  font-size: clamp(24px, 24px + 8px * (100vw - 375px) / 1025px, 32px);
  font-weight: 600;
  color: #1a1a1a;
}
@media (max-width: 1023px) {
  .voice-card__heading {
    margin-bottom: 8px;
  }
}
@media (max-width: 767px) {
  .voice-card__heading {
    font-size: 22px;
  }
}
.voice-card__details {
  border-left: 4px solid #e5dbc8;
  padding-left: 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.voice-card__text {
  margin: 0;
  font-size: 16px;
  line-height: 1.8;
  color: #1a1a1a;
}
.voice-card__info {
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: flex-start;
}
.voice-card__info-name {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: flex-start;
}
.voice-card__info--text {
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.04em;
}
.voice-card__meta {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  flex-direction: column;
}
.voice-card__tag {
  display: inline-flex;
  align-items: center;
  gap: 3.5px;
  font-size: 12px;
  font-weight: 600;
}
.voice-card__tag img {
  width: 16px;
  height: 16px;
  display: block;
}
.voice-card__tag-label {
  line-height: 1;
  letter-spacing: 0.08em;
}
.voice-card__role {
  font-size: 16px;
  font-weight: 600;
  color: #1a1a1a;
}
.voice-card__link {
  width: 170px;
  height: 56px;
}

.voice-detail__header {
  margin-bottom: 24px;
}
.voice-detail__title {
  font-size: clamp(24px, 24px + 8px * (100vw - 375px) / 1025px, 32px);
  margin-bottom: 24px;
}
.voice-detail__hero {
  display: flex;
  align-items: center;
  gap: 32px;
  margin-bottom: 34px;
}
@media (max-width: 1023px) {
  .voice-detail__hero {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
  }
}
.voice-detail__media {
  flex: 0 0 auto;
  max-width: 400px;
  width: 100%;
  border-radius: 8px;
  overflow: hidden;
}
@media (max-width: 1023px) {
  .voice-detail__media {
    max-width: 100%;
  }
}
.voice-detail__media img {
  width: 100%;
  height: auto;
  aspect-ratio: 400/248;
  -o-object-fit: cover;
     object-fit: cover;
}
.voice-detail__summary {
  flex: 1 1 0;
}
.voice-detail__pubdate {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  margin: 0;
}
.voice-detail__pubdate-time {
  font-size: 12px;
}
.voice-detail__person {
  font-size: 16px;
  margin: 0 0 24px;
}
.voice-detail__qa-title {
  color: #206941;
  padding-block: 72px 32px;
  margin-bottom: 0;
  font-size: 24px;
  font-weight: 600;
}
@media (max-width: 1023px) {
  .voice-detail__qa-title {
    padding-block: 48px 24px;
  }
}
.voice-detail__qa-q {
  position: relative;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.6;
  margin-block: 32px 16px;
  text-indent: 3em;
}
.voice-detail__qa-q::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  flex-shrink: 0;
  width: 48px;
  height: 2px;
  background-color: #1a1a1a;
  margin-top: 0.7em;
}
.voice-detail__qa-a p {
  padding-block: 24px;
  margin-bottom: 0;
}
.voice-detail__actions {
  margin-top: 48px;
  text-align: center;
}
.voice-detail__actions .btn {
  width: 240px;
  height: 63px;
  font-size: 18px;
  font-weight: 600;
}
.voice-detail__company {
  margin-block: 58px;
  padding: 24px 48px;
  margin-block: 58px 48px;
  border-radius: 4px;
  background-color: #f8f6f1;
}
@media (max-width: 767px) {
  .voice-detail__company {
    padding: 24px;
  }
}
.voice-detail__company-inner {
  display: flex;
  align-items: center;
  gap: 24px;
}
@media (max-width: 767px) {
  .voice-detail__company-inner {
    flex-direction: column;
    gap: 24px;
  }
}
.voice-detail__company-media {
  flex: 0 0 200px;
  width: 200px;
  height: 152px;
  overflow: hidden;
  background-color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
}
.voice-detail__company-media img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 767px) {
  .voice-detail__company-media {
    margin-inline: auto;
    height: 108px;
    max-width: 100%;
  }
}
.voice-detail__company-body {
  flex: 1 1 auto;
}
.voice-detail__company-name {
  font-size: 18px;
  font-weight: 600;
  margin: 0 0 24px;
}
.voice-detail__company-desc p {
  font-size: 14px;
}

.voice-item {
  display: flex;
  flex-direction: column;
  gap: 48px;
  background-color: #ffffff;
  border-radius: 16px;
  padding: 64px;
  width: 100%;
}
@media (max-width: 767px) {
  .voice-item {
    padding: 32px 24px;
    gap: 48px;
  }
}
.voice-item__heading {
  margin: 0;
  font-size: 32px;
  font-weight: 600;
  line-height: 1.8;
  color: #1a1a1a;
}
@media (max-width: 767px) {
  .voice-item__heading {
    font-size: 21px;
    line-height: 1.8;
  }
}
.voice-item__content {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.voice-item__body {
  border-left: 4px solid #e5dbc8;
  padding-left: 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.voice-item__text {
  margin: 0;
  font-size: 16px;
  line-height: 1.5;
  color: #1a1a1a;
}
.voice-item__info {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding-top: 4px;
}
.voice-item__company {
  margin: 0;
  font-size: 16px;
  line-height: 1.5;
  color: #1a1a1a;
  padding-top: 2px;
}
.voice-item__user {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.voice-item__user-header {
  display: flex;
  align-items: center;
  gap: 4px;
}
.voice-item__user-icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
.voice-item__user-icon img {
  display: block;
  width: 100%;
  height: 100%;
}
.voice-item__user-label {
  font-size: 12px;
  font-weight: 600;
  line-height: 1.8;
  color: #1a1a1a;
}
.voice-item__user-role {
  font-size: 16px;
  font-weight: 600;
  line-height: normal;
  color: #1a1a1a;
  padding-top: 4px;
  padding-bottom: 1px;
}

.section-main {
  position: relative;
  background-color: #ffffff;
  border-top-left-radius: 48px;
  border-top-right-radius: 48px;
  padding-block: 120px;
  overflow: visible;
}
.section-main::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  background-color: #298552;
}
@media (max-width: 767px) {
  .section-main {
    border-top-left-radius: 32px;
    border-top-right-radius: 32px;
    padding-block: 80px;
  }
}
.section-main .section-main__inner {
  max-width: 1400px;
  margin-inline: auto;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 80px;
}
@media (max-width: 1279px) {
  .section-main .section-main__inner {
    flex-direction: column;
    gap: 64px;
  }
}
.section-main {
  /* --------------------------
    Body
  -------------------------- */
}
.section-main__body {
  flex: 1;
}
.section-main__body .section-main__title {
  font-size: clamp(24px, 24px + 8px * (100vw - 375px) / 1025px, 32px);
  margin-bottom: 64px;
}
@media (max-width: 767px) {
  .section-main__body .section-main__title {
    margin-bottom: 54px;
  }
}
.section-main__body .section-main__text {
  font-size: 18px;
}
.section-main__body .section-main__text:nth-of-type(2) {
  margin-bottom: 0;
}
.section-main {
  /* --------------------------
    Image
  -------------------------- */
}
.section-main__media {
  flex-shrink: 0;
  max-width: 530px;
  width: 100%;
}
@media (max-width: 1279px) {
  .section-main__media {
    margin: 0 auto;
  }
}
.section-main__media img {
  display: block;
  width: 100%;
  height: auto;
}

.section-functions {
  background-color: #f8f6f1;
}
.section-functions .section-title {
  margin-bottom: 56px;
}
@media (max-width: 1023px) {
  .section-functions .media-list {
    --media-list-gap: 40px;
  }
}
.section-functions .media-block--panel {
  padding-top: 80px;
  padding-bottom: 80px;
}
@media (max-width: 1023px) {
  .section-functions .media-block--panel {
    padding-top: 56px;
    padding-bottom: 56px;
  }
}
.section-functions .media-block__inner {
  max-width: 1200px;
  margin: 0 auto;
}
@media (max-width: 1023px) {
  .section-functions .media-block__inner {
    max-width: 560px;
    gap: 48px !important;
  }
}
.section-functions .media-block .section-title {
  text-align: left;
  margin-bottom: 48px;
}
@media (max-width: 1023px) {
  .section-functions .media-block .section-title {
    margin-bottom: 0;
  }
}
.section-functions .media-block .section-title__main {
  font-size: clamp(24px, 24px + 8px * (100vw - 375px) / 1025px, 32px);
}
@media (max-width: 1023px) {
  .section-functions .media-block__lead {
    margin-bottom: 0;
  }
}
.section-functions {
  /* Item */
}
.section-functions__item .section-functions__subhead {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 48px 0 16px;
  font-size: 18px;
  line-height: 1;
  font-weight: 600;
  color: #8a7342;
}
@media (max-width: 1023px) {
  .section-functions__item .section-functions__subhead {
    margin: 0 0 16px;
  }
}
.section-functions__item .section-functions__subtext {
  color: #666666;
}
@media (max-width: 1023px) {
  .section-functions__item .section-functions__subtext {
    margin-bottom: 0;
  }
}

.section-search {
  border-top: solid 1px #e5e5e5;
}
.section-search__figure {
  max-width: 1200px;
  margin: 80px auto;
  text-align: center;
}
@media (max-width: 767px) {
  .section-search__figure {
    margin: 56px auto;
    padding-right: 0;
    overflow: visible;
    width: 100%;
  }
}
.section-search__figure img {
  display: inline-block;
  width: 100%;
  height: auto;
  filter: drop-shadow(0 8px 48px rgba(0, 0, 0, 0.16));
}
@media (max-width: 767px) {
  .section-search__figure img {
    filter: drop-shadow(0 6px 24px rgba(0, 0, 0, 0.1));
  }
}
.section-search__list {
  list-style: none;
  margin: 0 auto;
  max-width: 1200px;
}
@media (max-width: 767px) {
  .section-search__list {
    padding: 0;
  }
}
.section-search__item {
  padding: 40px 32px;
  border-top: 1px solid #cccccc;
  display: grid;
  grid-template-columns: minmax(120px, 200px) 1fr;
  gap: 40px;
  align-items: start;
}
@media (max-width: 767px) {
  .section-search__item {
    grid-template-columns: 1fr;
    padding: 40px 0;
  }
}
.section-search__item:last-child {
  border-bottom: 1px solid #cccccc;
}
.section-search {
  /* Left Image */
}
.section-search__thumb {
  margin: 0;
  max-width: 200px;
}
.section-search__thumb img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 4px;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.16);
}
@media (max-width: 1023px) {
  .section-search__thumb {
    max-width: 200px;
    margin: 0 auto;
  }
}
.section-search {
  /* Right Area */
}
.section-search__content {
  min-width: 0;
}
.section-search {
  /* Heading */
}
.section-search__heading {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: clamp(21px, 21px + 3px * (100vw - 375px) / 1025px, 24px);
  font-weight: 600;
  margin: 0 0 24px;
}
.section-search__num {
  flex: 0 0 auto;
  inline-size: 32px;
  block-size: 32px;
  border-radius: 50%;
  background: #6bd199;
  color: #ffffff;
  font-size: clamp(21px, 21px + 3px * (100vw - 375px) / 1025px, 24px);
  font-weight: 600;
  line-height: 32px;
  text-align: center;
  font-family: "Roboto", sans-serif;
  margin-top: 8px;
}
@media (max-width: 1023px) {
  .section-search__num {
    margin-top: 4px;
  }
}
.section-search {
  /* Text */
}
.section-search__text {
  color: #10331f;
  margin: 0;
}
.section-search {
  /* Sub Heading */
}
.section-search__subhead {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 24px 0 8px;
  font-size: 18px;
  line-height: 1;
  font-weight: 600;
  color: #8a7342;
}
.section-search__subicon {
  inline-size: 24px;
  block-size: 24px;
  flex: 0 0 auto;
  display: block;
}
.section-search__subtext {
  margin: 0 0 0 32px;
}

/* =========================================
  Service - Section Situation
========================================= */
.section-situation {
  position: relative;
  background: #ffffff;
  padding-block: 120px;
  overflow: hidden;
}
@media (max-width: 767px) {
  .section-situation {
    padding-block: 80px;
  }
}
.section-situation {
  /* Background circle */
}
.section-situation__bg {
  position: absolute;
  z-index: 0;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.section-situation__bg img {
  display: block;
  width: 100%;
  height: auto;
}
.section-situation__bg--rt {
  top: 0;
  right: 0;
  width: clamp(150px, 150px + 80 * (100vw - 375px) / 1335, 230px);
  transform: translate(10%, -10%);
}
.section-situation__bg--lb {
  left: 0;
  bottom: 0;
  width: clamp(260px, 260px + 70 * (100vw - 375px) / 1335, 330px);
  transform: translate(-10%, 35%);
}
.section-situation__inner {
  width: min(100% - clamp(24px, 5vw, 80px) * 2, var(--container-max, 1400px));
  max-width: var(--container-max, 1400px);
  margin-inline: auto;
  position: relative;
  z-index: 1;
  text-align: center;
}
.section-situation {
  /* Eyebrow */
}
.section-situation__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  font-weight: 600;
  color: #ffffff;
  background: #298552;
  border-radius: 50px;
  padding: 16px 24px;
  position: relative;
  margin: 0 0 32px;
}
.section-situation__eyebrow::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -16px;
  transform: translateX(-50%);
  width: 20px;
  height: 17px;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  background: #298552;
}
.section-situation__eyebrow-icon {
  inline-size: 24px;
  block-size: 24px;
  flex: 0 0 auto;
}
.section-situation__title {
  font-size: 32px;
  font-weight: 600;
  margin: 0 0 56px;
}
@media (max-width: 767px) {
  .section-situation__title {
    font-size: 24px;
  }
}
.section-situation {
  /* 3column */
}
.section-situation__grid {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 32px;
  align-items: flex-start;
  justify-items: stretch;
}
@media (max-width: 1279px) {
  .section-situation__grid {
    grid-template-columns: 1fr;
    gap: 64px;
    max-width: 720px;
    margin: 0 auto;
  }
}
@media (max-width: 1023px) {
  .section-situation__grid {
    max-width: 640px;
  }
}
.section-situation__col {
  display: grid;
  row-gap: 32px;
}
.section-situation__col--media {
  justify-items: center;
  gap: 64px;
  height: 100%;
  align-content: space-between;
}
.section-situation__col--media .situation-card {
  max-width: 360px;
  width: min(100%, 360px);
}
@media (max-width: 1023px) {
  .section-situation__col--media {
    justify-items: stretch;
    gap: 32px;
    height: auto;
    align-content: start;
  }
  .section-situation__col--media .situation-card {
    width: 100%;
    max-width: 100%;
  }
}
.section-situation__media {
  position: relative;
  width: 200px;
  margin: auto;
  isolation: isolate;
}
.section-situation__media::before {
  content: "";
  position: absolute;
  inset: 0;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) rotate(-15deg);
  width: clamp(480px, 30vw, 580px);
  height: clamp(480px, 30vw, 580px);
  background: url("../../public/assets/images/common/bg-blur-yellow.png") no-repeat center/contain;
  opacity: 0.9;
  z-index: 0;
  pointer-events: none;
}
.section-situation__media-img {
  position: relative;
  z-index: 1;
  display: block;
  width: 200px;
  height: auto;
}

/* Card */
.situation-card {
  min-height: 200px;
  background: #ffffff;
  border: 2px solid #298552;
  border-top-left-radius: 40px;
  border-bottom-right-radius: 40px;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.16);
  padding: 40px;
  text-align: left;
  position: relative;
  z-index: 1;
}
@media (max-width: 767px) {
  .situation-card {
    padding: 32px;
  }
}
.situation-card__title {
  font-size: 21px;
  line-height: 1.5;
  color: #206941;
  font-weight: 600;
  margin: 0 0 32px;
  text-align: center;
}
@media (max-width: 767px) {
  .situation-card__title {
    text-align: left;
    margin-bottom: 24px;
  }
}
.situation-card__text {
  font-size: 16px;
  margin: 0;
}

.section-cases {
  background-color: #f3fbf7;
  padding-block: clamp(80px, 10vw, 120px);
}
.section-cases__inner {
  max-width: 1200px;
  margin-inline: auto;
}
.section-cases .section-title {
  margin-bottom: 56px;
}
.section-cases {
  /* --- Card list (vertical stack) --- */
}
.section-cases__list {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.section-cases__card {
  background: #ffffff;
  border: 2px solid #206941;
  border-radius: 8px;
  padding: 40px;
}
@media (max-width: 767px) {
  .section-cases__card {
    padding: 32px 24px;
  }
}
.section-cases {
  /* --- Layout --- */
}
.section-cases .cases__inner {
  display: flex;
  align-items: stretch;
  gap: 40px;
}
@media (max-width: 1023px) {
  .section-cases .cases__inner {
    flex-direction: column;
    gap: 64px;
  }
}
.section-cases {
  /* --- Image area --- */
}
.section-cases .cases__img-wrap {
  flex: 0 0 240px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  background-color: #298552;
  border-radius: 8px;
  padding: 24px;
  min-height: 100%;
}
.section-cases .cases__img-wrap .cases__title {
  font-size: 18px;
  margin-bottom: 24px;
  color: #ffffff;
}
.section-cases .cases__img-wrap img {
  width: 150px;
  height: auto;
  display: block;
  margin: 0 auto;
}
.section-cases {
  /* --- Text list --- */
}
.section-cases .cases__list {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.section-cases .cases__head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
}
@media (max-width: 767px) {
  .section-cases .cases__head {
    align-items: flex-start;
  }
}
.section-cases .cases__subtitle {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 0;
}
.section-cases .cases__text {
  font-size: 16px;
  line-height: 1.8;
  padding-left: 32px;
}
@media (max-width: 767px) {
  .section-cases .cases__icon {
    padding-top: 6px;
  }
}

.section-related {
  background: #ffffff;
  padding-block: 120px;
}
@media (max-width: 767px) {
  .section-related {
    padding-block: 56px;
  }
}
.section-related .section-title {
  margin-bottom: 32px;
}
.section-related__lead {
  font-size: clamp(16px, 16px + 2px * (100vw - 375px) / 1025px, 18px);
  max-width: 880px;
  margin: 0 auto 48px;
  text-align: center;
}
@media (max-width: 1023px) {
  .section-related__lead {
    text-align: left;
  }
}
@media (max-width: 767px) {
  .section-related__lead {
    margin-bottom: 32px;
  }
}
@media (max-width: 1023px) {
  .section-related .pc-only {
    display: none !important;
  }
}
.section-related__links {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
}
@media (max-width: 1379px) {
  .section-related__links {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 1023px) {
  .section-related__links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
  .section-related__links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }
}
.section-related__actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin-top: 80px;
}
@media (max-width: 1023px) {
  .section-related__actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
  .section-related__actions {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-top: 56px;
  }
}
.section-related__actions .btn {
  width: 100%;
}

@media (max-width: 1023px) {
  .section-faq {
    padding: 80px 0;
  }
}
@media (max-width: 767px) {
  .section-faq {
    padding: 80px 0 32px;
  }
}
.section-faq__inner {
  width: min(100% - clamp(24px, 5vw, 80px) * 2, var(--container-max, 1400px));
  max-width: var(--container-max, 1400px);
  margin-inline: auto;
}
.section-faq__title {
  margin-bottom: 80px;
  text-align: left;
}
@media (max-width: 1023px) {
  .section-faq__title {
    margin-bottom: 56px;
  }
}
@media (max-width: 1023px) {
  .section-faq__title {
    margin-bottom: 32px;
  }
}

.faq-accordion {
  display: flex;
  flex-direction: column;
  gap: 0;
}
@media (max-width: 1023px) {
  .faq-accordion {
    width: 100%;
  }
}
.faq-accordion__item {
  border-bottom: 1px solid #e5dbc8;
  padding-inline: 8px;
}
@media (max-width: 767px) {
  .faq-accordion__item {
    padding-inline: 0;
  }
}
.faq-accordion__chevron {
  color: #206941;
}
.faq-accordion__toggle {
  position: relative;
  width: 100%;
  display: block;
  padding: 0;
  margin: 8px 0;
  background: transparent;
  border: 0;
  text-align: left;
  font: inherit;
  color: #1a1a1a;
  cursor: pointer;
}
.faq-accordion__toggle:focus-visible {
  outline: 2px solid #206941;
  outline-offset: 3px;
}
.faq-accordion__toggle-inner {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 58px;
  padding: 16px;
  background-color: transparent;
  transition: background-color 0.25s ease, color 0.25s ease;
}
@media (max-width: 767px) {
  .faq-accordion__toggle-inner {
    padding: 16px 12px;
  }
}
.faq-accordion__label {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: baseline;
  -moz-column-gap: 12px;
       column-gap: 12px;
  flex: 1;
}
.faq-accordion__prefix {
  display: inline-block;
  flex-shrink: 0;
  color: #1a1a1a;
  font-size: 21px;
  font-family: "Roboto", sans-serif;
  font-weight: 300;
  line-height: 1.4;
  transition: color 0.25s ease;
}
.faq-accordion__prefix--answer {
  color: #bda675;
}
.faq-accordion__question {
  flex: 1;
  word-break: normal;
  overflow-wrap: anywhere;
  font-size: 14px;
  line-height: 1.6;
  color: #1a1a1a;
  transition: color 0.25s ease;
}
.faq-accordion__chevron {
  margin-left: auto;
  transition: transform 0.25s ease;
}
.faq-accordion__panel {
  height: 0;
  overflow: hidden;
  background-color: #ffffff;
  transition: height 0.35s ease;
  will-change: height;
}
.faq-accordion__content {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: flex-start;
  -moz-column-gap: 12px;
       column-gap: 12px;
  padding: 16px 16px 24px;
  color: #1a1a1a;
  font-size: 14px;
  line-height: 1.8;
}
@media (max-width: 767px) {
  .faq-accordion__content {
    padding: 16px 12px 24px;
  }
}
.faq-accordion__answer-body {
  display: grid;
  gap: 8px;
}
.faq-accordion__answer-body p {
  margin: 0;
}
.faq-accordion__item.is-open .faq-accordion__toggle-inner {
  background-color: #d8f3e4;
}
.faq-accordion__item.is-open .faq-accordion__prefix {
  color: #206941;
}
.faq-accordion__item.is-open .faq-accordion__question {
  color: #184e30;
  font-weight: 600;
}
.faq-accordion__item.is-open .faq-accordion__chevron {
  transform: rotate(180deg);
}
.faq-accordion__item.is-open .faq-accordion__prefix--answer {
  color: #bda675;
}
.faq-accordion__item:not(.is-open):hover .faq-accordion__question {
  font-weight: 600;
}
.faq-accordion__item:not(.is-open):hover .faq-accordion__question {
  color: #184e30;
}

.section-discount-block {
  width: 100%;
  max-width: 816px;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .section-discount-block--simple .section-discount-block__cell--count,
  .section-discount-block--simple .section-discount-block__cell--discount {
    display: none;
  }
}
.section-discount-block__header {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 24px;
}
@media (max-width: 767px) {
  .section-discount-block__header {
    flex-direction: column;
    gap: 12px;
    margin-bottom: 16px;
  }
}
.section-discount-block__caption {
  margin: 0;
  display: inline-flex;
  align-items: center;
  gap: 24px;
  font-size: clamp(21px, 21px + 3px * (100vw - 375px) / 1025px, 24px);
  font-weight: 600;
  color: #206941;
}
@media (max-width: 767px) {
  .section-discount-block__caption {
    align-items: flex-end;
    text-align: center;
    font-size: 18px;
  }
}
.section-discount-block__caption-mark {
  color: #206941;
  font-weight: 600;
}
.section-discount-block__note {
  margin: 0 0 14px auto;
  font-size: 14px;
  color: #206941;
  text-align: right;
}
@media (max-width: 767px) {
  .section-discount-block__note {
    display: none;
  }
}
.section-discount-block__grid {
  border-top: 1px solid #cccccc;
  background-color: #ffffff;
}
@media (max-width: 767px) {
  .section-discount-block__grid {
    border: none;
    background: transparent;
  }
}
.section-discount-block__grid-header {
  display: grid;
  grid-template-columns: minmax(120px, 160px) repeat(3, minmax(0, 1fr));
  gap: 0;
  padding: 20px 48px;
  color: #206941;
  font-size: 16px;
  text-align: center;
}
@media (max-width: 1023px) {
  .section-discount-block__grid-header {
    padding: 16px 48px;
  }
}
@media (max-width: 767px) {
  .section-discount-block__grid-header {
    display: none;
  }
}
.section-discount-block__list {
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 767px) {
  .section-discount-block__list {
    display: grid;
    gap: 32px;
  }
}
.section-discount-block__item {
  display: grid;
  grid-template-columns: minmax(120px, 160px) repeat(3, minmax(0, 1fr));
  gap: 0;
  padding: 16px 24px;
  border-top: 1px solid #cccccc;
  align-items: center;
  text-align: center;
}
.section-discount-block__item:not(.section-discount-block__item--highlight) {
  margin-inline: 24px;
}
.section-discount-block__item:first-child {
  border-top: 1px solid #cccccc;
  margin-inline: 24px;
}
@media (max-width: 1023px) {
  .section-discount-block__item {
    padding: 16px 24px;
  }
}
@media (max-width: 767px) {
  .section-discount-block__item {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 8px;
    border: 1px solid #cccccc;
    border-radius: 4px;
    margin-inline: 0;
  }
  .section-discount-block__item:not(.section-discount-block__item--highlight) {
    margin-inline: 0;
  }
}
.section-discount-block__item--highlight {
  background-color: #f3fbf7;
  border: 2px solid #206941;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.16);
  border-radius: 4px;
  padding: 16px 48px;
}
@media (max-width: 767px) {
  .section-discount-block__item--highlight {
    box-shadow: none;
    padding: 8px;
  }
}
.section-discount-block__item--highlight .section-discount-block__number {
  font-size: 32px;
}
@media (max-width: 767px) {
  .section-discount-block__item--highlight .section-discount-block__number {
    font-size: 21px;
  }
}
.section-discount-block__item--highlight .section-discount-block__normal-amount {
  font-size: 21px;
}
@media (max-width: 767px) {
  .section-discount-block__item--highlight .section-discount-block__normal-amount {
    font-size: 16px;
  }
}
.section-discount-block__item--highlight .section-discount-block__suffix {
  font-size: 16px;
}
@media (max-width: 767px) {
  .section-discount-block__item--highlight .section-discount-block__suffix {
    font-size: 14px;
  }
}
.section-discount-block__item--highlight .section-discount-block__amount {
  font-size: 24px;
}
.section-discount-block__item--highlight .section-discount-block__unit {
  font-size: 16px;
}
@media (max-width: 767px) {
  .section-discount-block__item--highlight .section-discount-block__unit {
    font-size: 14px;
  }
}
.section-discount-block__cell {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
@media (max-width: 767px) {
  .section-discount-block__cell {
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-align: center;
    padding: 8px;
  }
  .section-discount-block__cell--count {
    background-color: #206941;
    width: 100%;
    padding: 16px 8px;
    color: #ffffff;
    border-radius: 4px;
  }
  .section-discount-block__cell--count span {
    color: #ffffff;
  }
  .section-discount-block__cell--rate, .section-discount-block__cell--normal, .section-discount-block__cell--discount {
    flex-direction: row;
    justify-content: space-between;
    width: 100%;
  }
}
@media (max-width: 767px) {
  .section-discount-block__cell--count .section-discount-block__value {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
  }
}
.section-discount-block__heading {
  display: none;
  font-size: 16px;
  color: #206941;
}
@media (max-width: 767px) {
  .section-discount-block__heading {
    display: inline-block;
  }
}
.section-discount-block__value {
  display: inline-flex;
  align-items: baseline;
  justify-content: center;
  gap: 4px;
  font-size: 16px;
  color: #206941;
}
.section-discount-block__value-amount {
  font-size: 16px;
}
.section-discount-block__value-unit {
  font-size: 14px;
}
.section-discount-block__number {
  font-size: 21px;
  font-weight: 600;
  line-height: 1.1;
  color: #206941;
}
.section-discount-block__suffix {
  font-size: 14px;
  font-weight: 500;
  color: #206941;
}
.section-discount-block__rate {
  display: inline-flex;
  align-items: baseline;
  justify-content: center;
  min-width: 96px;
  padding: 8px 16px;
  border: 1px solid #8a7342;
  border-radius: 4px;
  font-weight: 600;
  color: #8a7342;
  font-size: 14px;
  gap: 2px;
}
.section-discount-block__rate--none {
  min-width: auto;
  padding: 0;
  border: none;
  color: #666666;
  font-weight: 500;
}
.section-discount-block__rate--highlight {
  background-color: #8a7342;
  color: #ffffff;
  align-items: baseline;
  gap: 0;
}
@media (max-width: 767px) {
  .section-discount-block__rate--highlight {
    height: 48px;
    align-items: center;
  }
}
.section-discount-block__rate--highlight .section-discount-block__rate-number {
  font-size: 32px;
}
@media (max-width: 767px) {
  .section-discount-block__rate--highlight .section-discount-block__rate-number {
    font-size: 18px;
  }
}
.section-discount-block__rate-number {
  font-size: 18px;
  font-weight: 600;
  line-height: 1;
}
.section-discount-block__rate-suffix {
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
}
.section-discount-block__normal {
  position: relative;
  display: inline-flex;
  align-items: baseline;
  justify-content: center;
  gap: 0;
  color: #206941;
}
.section-discount-block__normal::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 55%;
  transform: translateY(-50%);
  height: 1px;
  background-color: currentColor;
  pointer-events: none;
}
.section-discount-block__normal-amount {
  font-size: 16px;
}
.section-discount-block__normal-unit {
  font-size: 14px;
}
.section-discount-block__price {
  display: flex;
  gap: 0;
  justify-content: center;
  align-items: baseline;
}
.section-discount-block__price--emphasis {
  font-weight: 600;
  color: #206941;
}
.section-discount-block__amount {
  font-size: 16px;
  font-weight: 600;
  color: #206941;
  line-height: 1.2;
}
.section-discount-block__unit {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.2;
  color: #206941;
}
.section-discount-block__summary {
  margin: 16px 0 0;
  text-align: center;
  font-size: 16px;
  letter-spacing: normal;
  color: #206941;
}
@media (max-width: 767px) {
  .section-discount-block__summary {
    margin-top: 48px;
    text-align: left;
  }
}

/* =========================================
Section Steps
========================================= */
.section-steps__heading {
  margin: 0 0 16px;
  text-align: left;
}
.section-steps__desc {
  margin: 0 0 32px;
  font-size: 16px;
}
.section-steps__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  width: 100%;
  max-width: 1200px;
  margin-inline: auto;
}
.section-steps {
  /* Step Flat */
}
.section-steps--flat .section-steps__list {
  gap: 48px;
}
.section-steps--flat .steps__item {
  position: relative;
}
@media (max-width: 1023px) {
  .section-steps--flat .steps__item {
    padding-top: 24px;
    padding-bottom: 24px;
  }
}
.section-steps--flat .steps__badge {
  position: relative;
  z-index: 1;
}
.section-steps--flat .steps__item:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 40px;
  top: 80px;
  bottom: -48px;
  width: 4px;
  background: #298552;
}
@media (max-width: 1023px) {
  .section-steps--flat .section-steps__list {
    max-width: none;
  }
  .section-steps--flat .steps__item:not(:last-child)::after {
    content: none;
  }
}
.section-steps {
  /* Step Bordered */
}
.section-steps--bordered {
  position: relative;
  background-color: #ffffff;
}
.section-steps--bordered .section-steps__list {
  gap: 80px;
}
.section-steps--bordered .card--step-bordered {
  position: relative;
  background-color: #f3fbf7;
}
.section-steps--bordered .card--step-bordered::after {
  content: "";
  position: absolute;
  bottom: -81px;
  left: 50%;
  transform: translateX(-50%);
  width: 16px;
  height: 80px;
  background-color: #298552;
}
.section-steps--bordered .card--step-bordered:last-child::after {
  content: none;
}

.free-trial {
  padding-block: 0;
}
.free-trial__inner {
  position: relative;
  background-color: #f8f6f1;
  padding-block: 80px 48px;
  border-radius: 16px;
}
.free-trial__inner::before {
  content: "";
  position: absolute;
  left: 38px;
  top: -21px;
  width: 86px;
  height: 76px;
  background: url("../../public/assets/images/guide/img-FreeTrial.svg") no-repeat center/contain;
  pointer-events: none;
  z-index: 0;
}
.free-trial__heading, .free-trial__content, .free-trial__support {
  position: relative;
  z-index: 1;
}
.free-trial__heading {
  width: min(100% - clamp(24px, 5vw, 80px) * 2, 1200px);
  max-width: 1200px;
  margin-inline: auto;
  margin-bottom: 64px;
}
.free-trial__heading .section-heading__title {
  font-size: clamp(24px, 24px + 8px * (100vw - 375px) / 1025px, 32px);
  color: #206941;
  padding-block: 32px;
  margin-bottom: 56px;
  border-top: solid 1px #206941;
  border-bottom: solid 1px #206941;
  text-align: center;
}
.free-trial__lead {
  text-align: center;
  margin-bottom: 0;
}
@media (max-width: 1023px) {
  .free-trial__lead {
    text-align: left;
  }
}
.free-trial__content {
  display: grid;
  grid-template-columns: minmax(0, 585px) minmax(0, 567px);
  gap: clamp(32px, 5vw, 48px);
  align-items: center;
  width: min(100% - clamp(24px, 5vw, 80px) * 2, 1200px);
  max-width: 1200px;
  margin-inline: auto;
  margin-bottom: 32px;
}
@media (max-width: 1199px) {
  .free-trial__content {
    grid-template-columns: 1fr;
    margin-bottom: 48px;
  }
}
.free-trial__body {
  display: flex;
  flex-direction: column;
  gap: 32px;
  max-width: 585px;
  width: 100%;
}
@media (max-width: 1199px) {
  .free-trial__body {
    max-width: 100%;
  }
}
@media (max-width: 1023px) {
  .free-trial__body .free-trial__title .sp-only {
    display: block;
  }
}
.free-trial__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  padding: 16px 24px;
  border-radius: 999px;
  background-color: #bda675;
  color: #ffffff;
  font-size: 16px;
  font-weight: 600;
}
@media (max-width: 767px) {
  .free-trial__badge {
    text-align: center;
    width: 100%;
  }
}
.free-trial__title {
  margin: 0;
  font-size: clamp(24px, 24px + 8px * (100vw - 375px) / 1025px, 32px);
  font-weight: 600;
  color: #206941;
}
.free-trial__highlight {
  color: #8a7342;
}
.free-trial__subheading {
  align-self: flex-start;
  margin: 0;
  padding-bottom: 8px;
  border-bottom: 1px solid #206941;
  font-size: 18px;
  line-height: normal;
  font-weight: 600;
  color: #206941;
}
.free-trial__list {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.free-trial__item {
  display: flex;
  align-items: center;
  gap: 16px;
  color: #206941;
}
.free-trial__item-icon {
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
}
.free-trial__item-text {
  margin: 0;
  font-size: clamp(14px, 14px + 2px * (100vw - 375px) / 1025px, 16px);
}
.free-trial__cta-block {
  width: min(100% - clamp(24px, 5vw, 80px) * 2, 1200px);
  max-width: 1200px;
  margin-inline: auto;
}
.free-trial__cta {
  align-self: flex-start;
  height: 56px;
}
.free-trial__cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  width: 100%;
  margin-top: 72px;
}
@media (max-width: 1199px) {
  .free-trial__cards {
    margin-top: 0;
  }
}
.free-trial__card {
  flex-direction: row;
  justify-content: flex-start;
  gap: 16px;
  height: 96px;
  border-radius: 8px;
  padding-block: 0;
}
@media (max-width: 767px) {
  .free-trial__card {
    flex-direction: column;
    height: auto;
    padding: 24px 0;
    height: 153px;
  }
}
.free-trial__card .card__title {
  font-size: 16px;
  gap: 0;
}
@media (max-width: 1449px) {
  .free-trial__card .card__title {
    display: flex;
    flex-direction: column;
  }
}
.free-trial__card .card__title .text-small {
  font-size: 12px;
}
.free-trial__card .card__title::after {
  display: none;
}
.free-trial__card .card__icon-ring {
  padding: 8px;
}
.free-trial__card .card__body {
  align-items: flex-start;
}
@media (max-width: 767px) {
  .free-trial__card .card__body {
    align-items: center;
  }
}
.free-trial__support {
  margin-top: clamp(40px, 6vw, 56px);
  width: min(100% - clamp(24px, 5vw, 80px) * 2, 1200px);
  max-width: 1200px;
  margin-inline: auto;
}
.free-trial__support .support-callout {
  padding-inline: 0;
}

.support-callout {
  padding: 32px 0;
  border-block: 1px solid #206941;
  margin-inline: 24px;
}
.support-callout__heading {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 24px;
}
.support-callout__icon {
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
}
.support-callout__title {
  margin: 0;
  font-size: clamp(18px, 18px + 3px * (100vw - 375px) / 1025px, 21px);
  font-weight: 600;
  color: #206941;
  line-height: 1.4;
}
.support-callout__body {
  margin: 0;
}
.support-callout__text {
  margin: 0;
  font-size: 16px;
}
.support-callout__item {
  line-height: 1.5;
  margin-bottom: 8px;
}
.support-callout__item .item-info {
  margin-bottom: 8px;
}

.header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: #ffffff;
}
.header__inner {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  height: 80px;
  padding: 16px;
}
.header__right {
  display: flex;
  align-items: center;
  gap: 24px;
}
@media (max-width: 1279px) {
  .header__right {
    display: none;
  }
}
.header__logo {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
  gap: 10px;
}
.header__logo img {
  height: 32px;
  width: 166px;
}
.header__logo .header__brand {
  font-weight: 600;
  color: #1a1a1a;
}
.header {
  /* PC nav */
}
.header__menu {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
  gap: 32px;
  list-style: none;
}
.header__menu li {
  position: relative;
  margin: 0;
  min-width: 68px;
  text-align: center;
}
.header__menu a {
  color: #206941;
  text-decoration: none;
  font-size: 14px;
  min-width: 68px;
}
.header__menu a:hover {
  color: #6bd199;
}
.header__menu .nav-dd__toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: none;
  border: 0;
  font: inherit;
  font-size: 14px;
  color: #206941;
  cursor: pointer;
  padding: 8px 0;
  transition: color 0.2s ease;
}
.header__menu .nav-dd__toggle:hover {
  color: #6bd199;
}
.header__menu .nav-dd__chevron {
  display: inline-block;
  vertical-align: middle;
  margin-top: 2px;
  transition: transform 0.25s ease;
}
.header__menu .nav-dd__panel {
  position: absolute;
  left: 0;
  top: calc(100% + 10px);
  min-width: 320px;
  color: #ffffff;
  background: #206941;
  border-radius: 24px;
  padding: 32px 0;
  text-align: left;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-4px);
  transition: opacity 0.25s ease, visibility 0s linear 0.25s, transform 0.25s ease;
  z-index: 100;
}
.header__menu .nav-dd__title {
  font-weight: 600;
  font-size: 14px;
  padding: 0 32px;
  margin-bottom: 8px;
}
.header__menu .nav-dd__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.header__menu .nav-dd__list li {
  padding: 0;
  margin: 0 0 8px;
  text-align: left;
  height: 26px;
  line-height: 26px;
}
.header__menu .nav-dd__list li:last-child {
  margin-bottom: 0;
}
.header__menu .nav-dd__list a {
  position: relative;
  display: block;
  padding: 0 32px;
  color: #ffffff;
  text-decoration: none;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.header__menu .nav-dd__list a::before {
  content: "";
  display: inline-block;
  width: 12px;
  height: 1px;
  background-color: currentColor;
  flex-shrink: 0;
  vertical-align: middle;
  margin-right: 10px;
}
.header__menu .nav-dd__list a:hover, .header__menu .nav-dd__list a:focus-visible {
  color: #6bd199;
}
.header__menu .nav-dd__list li:first-child a::before {
  display: none;
}
.header__menu .nav__link--icon {
  display: flex;
  align-items: center;
  gap: 4px;
  color: #206941;
  text-decoration: none;
  transition: color 0.2s ease;
}
.header__menu .nav__link--icon::before {
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  background-color: currentColor;
  -webkit-mask: url("/wp-content/uploads/2025/10/icon-log-in.svg") no-repeat center/contain;
  mask: url("/wp-content/uploads/2025/10/icon-log-in.svg") no-repeat center/contain;
}
.header__menu .nav__link--icon:hover, .header__menu .nav__link--icon:focus-visible {
  color: #6bd199;
}
.header__menu .nav__link--icon .nav__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
}
.header__menu {
  /* 開状態 */
}
.header__menu .nav-dd[aria-expanded=true] > .nav-dd__toggle {
  color: #6bd199;
  font-weight: 600;
}
.header__menu .nav-dd[aria-expanded=true] > .nav-dd__toggle .nav-dd__chevron {
  transform: rotate(180deg);
}
.header__menu .nav-dd[aria-expanded=true] > .nav-dd__panel {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
  transition: opacity 0.25s ease, visibility 0s, transform 0.25s ease;
}
.header__actions {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
  gap: 12px;
}
@media (max-width: 1023px) {
  .header__actions {
    display: none;
  }
}
.header__actions .btn--text {
  text-decoration: none;
  color: #1a1a1a;
}
.header__actions .btn--ghost {
  border: 1px solid #cccccc;
  padding: 8px 14px;
  border-radius: 6px;
}
.header__actions .btn--primary {
  background: #206941;
  color: #ffffff;
  padding: 10px 16px;
  border-radius: 6px;
}
.header__actions .btn--primary:hover {
  background: #298552;
}
.header {
  /* SP: hamburger */
}
.header__toggle {
  display: none;
  position: relative;
  width: 52px;
  height: 52px;
  border-radius: 4px;
  background-color: #206941;
  border: none;
  cursor: pointer;
  transition: background-color 0.3s ease;
}
@media (max-width: 1279px) {
  .header__toggle {
    display: inline-block;
  }
}
.header__toggle:hover, .header__toggle:active {
  background-color: #298552;
}
.header__toggle:focus-visible {
  outline: 2px solid #298552;
  outline-offset: 2px;
}
.header__toggle-bar {
  position: absolute;
  left: 50%;
  width: 20px;
  height: 2px;
  margin-left: -10px;
  background-color: #fff;
  border-radius: 1px;
  transition: transform 0.3s ease, opacity 0.3s ease;
  transform-origin: center;
}
.header__toggle-bar:nth-of-type(1) {
  top: 18px;
}
.header__toggle-bar:nth-of-type(2) {
  top: 26px;
}
.header__toggle-bar:nth-of-type(3) {
  top: 34px;
}
.header__toggle.active .header__toggle-bar:nth-of-type(1) {
  transform: translateY(8px) rotate(45deg);
}
.header__toggle.active .header__toggle-bar:nth-of-type(2) {
  opacity: 0;
}
.header__toggle.active .header__toggle-bar:nth-of-type(3) {
  transform: translateY(-8px) rotate(-45deg);
}

@media (prefers-reduced-motion: reduce) {
  .header__toggle-bar,
  .header__toggle {
    transition: none !important;
  }
}
.footer {
  background: #10331f;
  color: #ffffff;
}
.footer__top {
  padding-block: 160px;
}
@media (max-width: 1023px) {
  .footer__top {
    padding-top: 80px;
    padding-bottom: 16px;
  }
}
.footer__inner {
  display: grid;
  grid-template-columns: 1fr 2fr;
  -moz-column-gap: 120px;
       column-gap: 120px;
  row-gap: 32px;
}
@media (max-width: 1279px) {
  .footer__inner {
    -moz-column-gap: 0;
         column-gap: 0;
    grid-template-columns: minmax(200px, 0.65fr) minmax(0, 1.35fr);
  }
}
@media (max-width: 1023px) {
  .footer__inner {
    display: block;
  }
}
.footer {
  /* ロゴ */
}
@media (max-width: 1023px) {
  .footer__brand {
    text-align: center;
    margin-bottom: 80px;
  }
}
.footer__logo img {
  height: 32px;
  width: auto;
  display: inline-block;
}
.footer {
  /* nav */
}
.footer__nav {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 48px;
}
@media (max-width: 1023px) {
  .footer__nav {
    grid-template-columns: 1fr;
    row-gap: 40px;
    text-align: left;
  }
}
.footer__heading {
  font-size: 14px;
  font-weight: 600;
  margin: 0 0 24px;
  color: #ffffff;
}
.footer__heading--mt {
  margin-top: 40px;
}
.footer__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.footer__list li {
  margin: 0 0 8px;
}
.footer__list a {
  font-size: 12px;
  line-height: 1.8;
  color: #ffffff;
  text-decoration: none;
  transition: color 0.2s ease, background-color 0.2s ease;
  border-radius: 6px;
  padding: 2px 4px;
}
.footer__list a:hover, .footer__list a:focus-visible {
  color: #6bd199;
  outline: none;
  background: rgba(255, 255, 255, 0.04);
}
.footer {
  /* Link icon */
}
.footer__link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  transition: color 0.25s ease;
}
.footer__link:hover, .footer__link:focus-visible {
  color: #6bd199;
  outline: none;
}
.footer__link:hover .footer__icon--default, .footer__link:focus-visible .footer__icon--default {
  opacity: 0;
}
.footer__link:hover .footer__icon--hover, .footer__link:focus-visible .footer__icon--hover {
  opacity: 1;
}
.footer__icon-wrap {
  position: relative;
  inline-size: 14px;
  block-size: 14px;
  display: inline-block;
  flex: 0 0 auto;
}
.footer__icon {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  transition: opacity 0.25s ease;
}
.footer__icon--default {
  opacity: 1;
}
.footer__icon--hover {
  opacity: 0;
}
@media (max-width: 1023px) {
  .footer__icon-wrap {
    display: none;
  }
}
.footer {
  /* Footer bottom */
}
.footer__bottom {
  padding-block: 56px;
}
@media (max-width: 1023px) {
  .footer__bottom {
    padding-block: 16px 32px;
  }
}
.footer__bottom-inner {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 16px;
}
.footer__bottom-inner .footer__copy {
  order: 1;
  justify-self: start;
  color: rgba(255, 255, 255, 0.7);
  padding: 0 8px;
}
.footer__bottom-inner .footer__legal {
  order: 2;
  justify-self: end;
  padding: 0 4px;
}
@media (max-width: 1023px) {
  .footer__bottom-inner .footer__legal {
    justify-self: start;
  }
}
@media (max-width: 1023px) {
  .footer__bottom-inner {
    grid-template-columns: 1fr;
    justify-items: start;
    row-gap: 40px;
  }
  .footer__bottom-inner .footer__copy {
    order: 2;
  }
  .footer__bottom-inner .footer__legal {
    order: 1;
  }
}
.footer__legal {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: 24px;
}
.footer__legal a {
  font-size: 12px;
  color: #ffffff;
  text-decoration: none;
  padding: 2px 4px;
  border-radius: 6px;
  transition: color 0.2s ease, background-color 0.2s ease;
}
.footer__legal a:hover, .footer__legal a:focus-visible {
  color: #6bd199;
  background: rgba(255, 255, 255, 0.04);
  outline: none;
}
@media (max-width: 1023px) {
  .footer__legal {
    order: 1;
    flex-wrap: wrap;
    gap: 8px 16px;
  }
}
.footer__copy {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.9);
}
@media (max-width: 1023px) {
  .footer__copy {
    order: 2;
  }
}

.section--pad-base {
  padding-block: 80px;
}
@media (max-width: 1023px) {
  .section--pad-base {
    padding-block: 56px;
  }
}

.section--pad-lg {
  padding-block: 120px;
}
@media (max-width: 1023px) {
  .section--pad-lg {
    padding-block: 80px;
  }
}
@media (max-width: 767px) {
  .section--pad-lg {
    padding-block: 56px;
  }
}

/* 逆に詰めたい時 */
.section--pad-tight {
  padding-block: 56px;
}

/* =========================================
  Section Divider (CSS only version)
========================================= */
:root {
  --divider-min: 22px;
  --divider-max: 120px;
  --vw-min: 375;
  --vw-max: 1710;
}

.pad-after-divider {
  --section-pad-bottom: 80px;
  padding-bottom: calc(var(--section-pad-bottom) + var(--divider-h));
  position: relative;
  z-index: 0;
}
.pad-after-divider::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: clamp(22px, 22px + 0.07340824 * (100vw - 375px), 120px);
  background: no-repeat center/100% 100%;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1710 100' preserveAspectRatio='none'><path fill='%23ffffff' d='M1710,100C1446.9,35.58,1158.05,0,855,0h855v100ZM0,0h855C551.94,0,263.1,35.58,0,100V0Z'/></svg>");
}

/* Color */
.pad-after-divider--green::after {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1710 100' preserveAspectRatio='none'><path fill='%23298552' d='M1710,100C1446.9,35.58,1158.05,0,855,0h855v100ZM0,0h855C551.94,0,263.1,35.58,0,100V0Z'/></svg>");
}

.case-studies {
  position: relative;
  padding-block: 120px;
  background-color: #ffffff;
}
@media (max-width: 1023px) {
  .case-studies {
    padding-block: 56px;
  }
}
.case-studies__inner {
  width: min(100% - clamp(24px, 5vw, 80px) * 2, var(--container-max, 1400px));
  max-width: var(--container-max, 1400px);
  margin-inline: auto;
  max-width: 1200px;
  display: flex;
  flex-direction: column;
  gap: 64px;
}
@media (max-width: 1023px) {
  .case-studies__inner {
    gap: 32px;
  }
}
.case-studies__list {
  display: flex;
  flex-direction: column;
  gap: 80px;
}
@media (max-width: 1023px) {
  .case-studies__list {
    gap: 64px;
  }
}
@media (max-width: 767px) {
  .case-studies__list {
    gap: 48px;
  }
}
.case-studies__cta {
  background-color: #f9fafb;
}

.case-studies-detail {
  background-color: #f9fafb;
  padding-top: 16px;
}
.case-studies-detail__inner {
  background-color: #ffffff;
  border-radius: 10px;
}
.case-studies-detail__content {
  width: min(100% - clamp(24px, 5vw, 80px) * 2, 758px);
  max-width: 758px;
  margin-inline: auto;
  padding-block: clamp(48px, 10vw, 96px);
  padding-inline: 0;
}
.case-studies-detail__cta {
  background-color: #f9fafb;
}

.organizations__section-main {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  padding-block: 120px;
}
@media (max-width: 767px) {
  .organizations__section-main {
    padding-block: 80px 56px;
  }
}
.organizations__section-main .section-main__inner {
  align-items: center;
}
.organizations__section-main .section-title {
  text-align: left;
  margin-bottom: 48px;
}
.organizations {
  /* Section Benefits */
}
.organizations__benefits {
  background-color: #f9fafb;
  padding-block: 80px;
}
@media (max-width: 767px) {
  .organizations__benefits {
    padding-block: 56px;
  }
}
.organizations__benefits-title {
  font-size: clamp(24px, 24px + 8px * (100vw - 375px) / 1025px, 32px);
  margin: 0 0 80px;
  font-weight: 600;
  text-align: center;
}
@media (max-width: 767px) {
  .organizations__benefits-title {
    margin-bottom: 48px;
  }
}
.organizations__benefits-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 40px;
}
@media (max-width: 1023px) {
  .organizations__benefits-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
  .organizations__benefits-grid {
    grid-template-columns: 1fr;
  }
}
.organizations {
  /* Section Use Case */
}
.organizations__usecases {
  background-color: #f9fafb;
  padding-block: 80px;
}
@media (max-width: 1023px) {
  .organizations__usecases {
    padding-block: 32px 56px;
  }
}
.organizations__usecases-container {
  width: min(100% - clamp(24px, 5vw, 80px) * 2, var(--container-max, 1400px));
  max-width: var(--container-max, 1400px);
  margin-inline: auto;
}
.organizations__usecases-header {
  display: flex;
  flex-direction: column;
  gap: 32px;
  align-items: center;
  margin-bottom: 64px;
  text-align: center;
}
@media (max-width: 767px) {
  .organizations__usecases-header {
    margin-bottom: 32px;
    gap: 24px;
  }
}
.organizations__usecases-banner {
  display: block;
  width: clamp(175px, 24vw, 273px);
  height: auto;
}
.organizations__usecases-title {
  margin: 0;
  font-size: 32px;
  line-height: 1.3;
  font-weight: 600;
  color: #1a1a1a;
  text-align: center;
}
@media (max-width: 767px) {
  .organizations__usecases-title {
    font-size: 24px;
  }
}
.organizations__usecases-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 48px;
  max-width: 1110px;
  margin: 0 auto;
  width: 100%;
}
@media (max-width: 1023px) {
  .organizations__usecases-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
  .organizations__usecases-grid {
    grid-template-columns: 1fr;
  }
}
.organizations__usecases-card {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.organizations__usecases-image {
  width: 100%;
  height: 200px;
  border-radius: 8px;
  -o-object-fit: cover;
     object-fit: cover;
}
.organizations__usecases-card-title {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.4;
  color: #1a1a1a;
  text-align: center;
}
.organizations__usecases-text {
  margin: 0;
  font-size: 16px;
  line-height: 1.7;
  color: #1a1a1a;
}
.organizations__usecases-link {
  width: 188px;
  height: 56px;
  margin: 0 auto;
}
.organizations {
  /* Company Examples */
}
.organizations__examples {
  background-color: #f9fafb;
  padding-block: 32px 80px;
}
@media (max-width: 767px) {
  .organizations__examples {
    padding-block: 32px 56px;
  }
}
.organizations__examples-container {
  width: min(100% - clamp(24px, 5vw, 80px) * 2, var(--container-max, 1400px));
  max-width: var(--container-max, 1400px);
  margin-inline: auto;
}
.organizations__examples-inner {
  display: flex;
  flex-direction: column;
  gap: 48px;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
}
.organizations__examples-title {
  margin: 0;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.8;
  color: #1a1a1a;
  text-align: center;
}
.organizations__examples-message {
  width: 100%;
  border: 1px solid #206941;
  border-radius: 9999px;
  padding: 16px 24px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 767px) {
  .organizations__examples-message {
    border-radius: 4px;
  }
}
.organizations__examples-message p {
  margin: 0;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.8;
  color: #206941;
  text-align: center;
}
@media (max-width: 767px) {
  .organizations__examples-message p {
    font-size: 16px;
    line-height: 1.8;
  }
}
.organizations__examples-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  width: 100%;
  justify-content: flex-start;
  align-content: flex-start;
}
@media (max-width: 767px) {
  .organizations__examples-tags {
    flex-direction: column;
    flex-wrap: nowrap;
  }
}
.organizations__examples-tag {
  background-color: #f8f6f1;
  border: 1px solid #8a7342;
  border-radius: 9999px;
  padding: 8px 16px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  color: #1a1a1a;
  opacity: 0.8;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  white-space: nowrap;
  box-shadow: rgba(26, 26, 26, 0.2) 0px 4px 4px;
}
.organizations__examples-tag::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #6bd199;
  flex-shrink: 0;
}
@media (max-width: 767px) {
  .organizations__examples-tag {
    width: 100%;
    font-size: 14px;
    line-height: 1.5;
  }
}
.organizations__examples-tag--judicial {
  border-color: #3093d0;
}
.organizations {
  /* Select 6 Services */
}
.organizations__services-select {
  padding-top: 80px !important;
  padding-bottom: 80px !important;
}
@media (max-width: 1023px) {
  .organizations__services-select {
    padding-top: 56px !important;
    padding-bottom: 56px !important;
  }
}
.organizations__services-select .select-services__cta {
  display: none;
}
@media (max-width: 767px) {
  .organizations__services-select .select-services__lead {
    margin-bottom: 56px;
  }
}
.organizations {
  /* Section Pricing */
}
.organizations__pricing {
  background-color: #ffffff;
  padding-block: 80px;
}
@media (max-width: 1023px) {
  .organizations__pricing {
    padding-block: 32px;
  }
}
.organizations__pricing-container {
  width: min(100% - clamp(24px, 5vw, 80px) * 2, var(--container-max, 1400px));
  max-width: var(--container-max, 1400px);
  margin-inline: auto;
}
.organizations__pricing-title {
  text-align: center;
  margin-bottom: 80px;
}
@media (max-width: 1023px) {
  .organizations__pricing-title {
    margin-bottom: 32px;
  }
}
.organizations__pricing-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px;
  max-width: 1280px;
  margin: 0 auto 80px;
  width: 100%;
}
@media (max-width: 1023px) {
  .organizations__pricing-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
  .organizations__pricing-cards {
    grid-template-columns: 1fr;
    margin-bottom: 32px;
  }
}
.organizations__pricing-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 24px;
  padding: 48px 32px;
  border-radius: 8px;
  border: 0.5px solid #206941;
  background-color: #ffffff;
  box-shadow: none;
  height: 100%;
}
@media (max-width: 767px) {
  .organizations__pricing-card {
    padding: 24px;
  }
}
.organizations__pricing-icon {
  display: grid;
  place-items: center;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background-color: #f3fbf7;
  margin-bottom: 8px;
}
.organizations__pricing-icon img {
  width: 48px;
  height: 48px;
}
.organizations__pricing-card-title {
  margin: 0;
  font-size: 24px;
  font-weight: 600;
  color: #1a1a1a;
}
.organizations__pricing-divider {
  width: 100%;
  border: none;
  border-top: 1px solid rgba(32, 105, 65, 0.4);
  margin: 0;
}
.organizations__pricing-text {
  margin: 0;
  font-size: 16px;
  line-height: 1.8;
  color: #1a1a1a;
  text-align: left;
}
.organizations__pricing-estimate {
  background-color: #f3fbf7;
  padding: 32px;
  border-radius: 8px;
}
.organizations__pricing-estimate-title {
  margin: 0 0 24px;
  padding-bottom: 12px;
  font-size: 18px;
  font-weight: 600;
  color: #206941;
  border-bottom: 1px solid #206941;
}
.organizations__pricing-estimate-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin: 0;
  padding: 0;
}
.organizations__pricing-estimate-item {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: nowrap;
}
.organizations__pricing-estimate-number {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  border-radius: 50%;
  background-color: #206941;
  color: #ffffff;
  font-size: 18px;
  font-family: "Roboto", sans-serif;
  font-weight: 600;
}
.organizations__pricing-estimate-text {
  font-size: 16px;
  color: #206941;
}
@media (max-width: 767px) {
  .organizations__pricing-estimate-text {
    font-size: 14px;
  }
}
.organizations {
  /* Getting Started */
}
.organizations__getting-started {
  background-color: #ffffff;
  padding-block: 80px;
}
@media (max-width: 1023px) {
  .organizations__getting-started {
    padding-block: 32px;
  }
}
.organizations__getting-started-container {
  width: min(100% - clamp(24px, 5vw, 80px) * 2, var(--container-max, 1400px));
  max-width: var(--container-max, 1400px);
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: 80px;
}
@media (max-width: 1023px) {
  .organizations__getting-started-container {
    gap: 48px;
  }
}
.organizations__getting-started-title {
  text-align: center;
  margin: 0;
}
.organizations__getting-started-section {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.organizations__flow-heading {
  display: inline-flex;
  align-items: center;
  padding: 8px 16px;
  border: 1px solid #206941;
  font-size: 18px;
  font-weight: 600;
  color: #206941;
  width: -moz-fit-content;
  width: fit-content;
  align-self: center;
}
.organizations__flow-note {
  margin: 0 0 16px;
  font-size: 16px;
  line-height: 1.7;
  color: #1a1a1a;
  text-align: center;
}
.organizations__flow-list {
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 56px;
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (max-width: 1023px) {
  .organizations__flow-list {
    gap: 8px;
    flex-direction: column;
    align-items: center;
  }
}
.organizations__flow-card {
  width: 100%;
  max-width: 280px;
  background-color: #f2f2f2;
  border-radius: 8px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  text-align: center;
  position: relative;
}
.organizations__flow-card:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -48px;
  transform: translateY(-50%);
  transform-origin: center;
  width: 31px;
  height: 35px;
  background: url("../../public/assets/images/icon/icon-triangle-primary.svg") no-repeat center/contain;
}
@media (max-width: 1023px) {
  .organizations__flow-card:not(:last-child)::after {
    top: auto;
    bottom: -48px;
    right: auto;
    left: 50%;
    transform: translateX(-50%) rotate(90deg);
  }
}
@media (max-width: 1023px) {
  .organizations__flow-card {
    margin-bottom: 48px;
  }
}
@media (max-width: 767px) {
  .organizations__flow-card {
    width: 100%;
    margin-inline: auto;
    gap: 16px;
  }
}
.organizations__flow-card--highlight {
  background-color: #d8f3e4;
}
.organizations__flow-card--highlight .organizations__flow-card-title,
.organizations__flow-card--highlight .organizations__flow-text {
  color: #206941;
}
.organizations__flow-step {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  padding: 12px;
  margin-bottom: 8px;
  background-color: #206941;
  border-radius: 8px;
}
.organizations__flow-step img {
  display: block;
  width: 100%;
  height: 21px;
  -o-object-fit: contain;
     object-fit: contain;
}
.organizations__flow-icon {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.organizations__flow-card-title {
  margin: 0;
  font-size: 21px;
  font-weight: 600;
  color: #1a1a1a;
}
.organizations__flow-text {
  margin: 0;
  font-size: 16px;
  line-height: 1.7;
  color: #1a1a1a;
}
.organizations__flow-icon img {
  display: block;
  width: 48px;
  height: 48px;
}
.organizations {
  /* Voice */
}
.organizations__voices {
  padding-block: 120px;
  background-color: #f2f2f2;
}
@media (max-width: 1023px) {
  .organizations__voices {
    padding-block: 32px;
  }
}
.organizations__voices-inner {
  width: min(100% - clamp(24px, 5vw, 80px) * 2, var(--container-max, 1400px));
  max-width: var(--container-max, 1400px);
  margin-inline: auto;
  max-width: 1200px;
  display: flex;
  flex-direction: column;
  gap: 64px;
}
@media (max-width: 1023px) {
  .organizations__voices-inner {
    gap: 32px;
  }
}
.organizations__voices-title {
  margin: 0;
}
.organizations__voices-list {
  display: flex;
  flex-direction: column;
  gap: 80px;
}
@media (max-width: 1023px) {
  .organizations__voices-list {
    gap: 64px;
  }
}
@media (max-width: 767px) {
  .organizations__voices-list {
    gap: 48px;
  }
}

.price__overview {
  position: relative;
  background-color: #298552;
  border-top-left-radius: 48px;
  border-top-right-radius: 48px;
  overflow: visible;
}
@media (max-width: 767px) {
  .price__overview {
    border-top-left-radius: 32px;
    border-top-right-radius: 32px;
    padding: 80px 0;
  }
}
.price__overview .section-title__eyebrow,
.price__overview .section-title__main {
  color: #ffffff;
}
.price__overview-inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 48px;
  text-align: center;
}
.price__overview-title {
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .price__overview-title .section-title__main {
    font-size: 24px;
  }
}
.price__overview-lead {
  margin: 0;
  color: #ffffff;
  font-size: 18px;
  font-weight: 500;
}
.price__overview-list, .price__overview-qa-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  justify-content: center;
}
@media (max-width: 767px) {
  .price__overview-list, .price__overview-qa-list {
    flex-direction: column;
    align-items: center;
    gap: 24px;
  }
}
.price__overview-list {
  width: min(100%, 1400px);
}
@media (max-width: 1560px) {
  .price__overview-list {
    width: min(100%, 824px);
  }
}
.price__overview-item {
  display: flex;
  justify-content: center;
}
@media (max-width: 767px) {
  .price__overview-item {
    width: 100%;
    max-width: 400px;
  }
}
.price__overview-item .card {
  width: 248px;
  max-width: 100%;
}
@media (max-width: 767px) {
  .price__overview-item .card {
    width: 100%;
    max-width: 400px;
  }
}
.price__overview-qa {
  width: 100%;
  max-width: 1076px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  border: 3px solid #ffffff;
  border-radius: 16px;
  padding: 48px;
  box-sizing: border-box;
}
@media (max-width: 1560px) {
  .price__overview-qa {
    max-width: 960px;
  }
}
.price__overview-qa-title {
  margin: 0;
  color: #ffffff;
  font-size: 24px;
  font-weight: 600;
}
.price__overview-qa-price {
  margin: 0;
  color: #ffffff;
  font-size: 14px;
}
.price__overview-qa-price-value {
  margin-inline: 6px;
  font-size: 21px;
  font-weight: 600;
}
.price__overview-qa-note {
  margin: 0;
  color: #ffffff;
  font-size: 16px;
  text-align: center;
}
@media (max-width: 767px) {
  .price__overview-qa-note {
    text-align: left;
  }
}
.price__overview-qa-list {
  justify-content: center;
  gap: 40px;
  max-width: 560px;
  width: 100%;
}
.price {
  /* Section Discount */
}
@media (max-width: 767px) {
  .price__discount {
    padding: 80px 0;
  }
}
.price__discount-title {
  margin: 0 0 32px;
  font-size: clamp(24px, 24px + 8px * (100vw - 375px) / 1025px, 32px);
  font-weight: 600;
  text-align: center;
}
.price__discount-lead {
  margin: 0 0 64px;
  font-size: clamp(16px, 16px + 2px * (100vw - 375px) / 1025px, 18px);
  color: #1a1a1a;
  text-align: center;
}
@media (max-width: 767px) {
  .price__discount-lead {
    margin-bottom: 40px;
    text-align: left;
  }
}
.price {
  /* Section Feature */
}
.price__feature-title {
  font-size: clamp(24px, 24px + 8px * (100vw - 375px) / 1025px, 32px);
  margin: 0 0 32px;
  font-weight: 600;
  text-align: center;
}
.price__feature-lead {
  text-align: center;
  margin-bottom: 80px;
}
@media (max-width: 767px) {
  .price__feature-lead {
    margin-bottom: 56px;
  }
}
.price__feature-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 40px;
}
@media (max-width: 1023px) {
  .price__feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
  .price__feature-grid {
    grid-template-columns: 1fr;
  }
}
.price {
  /* Section Organizations */
}
.price__organizations {
  background-color: #f9fafb;
  padding-inline: clamp(24px, 5vw, 64px);
}
@media (max-width: 767px) {
  .price__organizations {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}
.price__organizations-container {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.price__organizations-head {
  margin-bottom: 32px;
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 32px;
}
@media (max-width: 767px) {
  .price__organizations-head {
    flex-direction: column;
    width: 100%;
  }
}
.price__organizations-banner {
  width: 274px;
}
.price__organizations-title {
  margin: 0;
  font-size: clamp(24px, 24px + 8px * (100vw - 375px) / 1025px, 32px);
  text-align: center;
}
.price__organizations-text {
  margin: 0 auto 64px;
  font-size: 18px;
  line-height: 1.8;
  color: #1a1a1a;
  max-width: 768px;
}
@media (max-width: 767px) {
  .price__organizations-text {
    font-size: 16px;
    line-height: 1.8;
  }
}
.price__organizations-bubble {
  margin-bottom: 64px;
}
.price__organizations-bubble-text {
  margin: 0;
  font-weight: 600;
  color: #206941;
  font-size: 24px;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .price__organizations-bubble-text {
    font-size: 16px;
    line-height: 1.6;
  }
}
.price__organizations-btn {
  display: flex;
  justify-content: center;
}
.price__organizations-btn-inner {
  width: 188px;
  height: 56px;
}

.services-intro {
  position: relative;
  background-color: #298552;
  border-top-left-radius: 48px;
  border-top-right-radius: 48px;
  overflow: visible;
}
@media (max-width: 767px) {
  .services-intro {
    border-top-left-radius: 32px;
    border-top-right-radius: 32px;
  }
}
.services-intro .section-title__eyebrow,
.services-intro .section-title__main {
  color: #ffffff;
}
.services-intro__inner {
  width: min(100% - clamp(24px, 5vw, 80px) * 2, var(--container-max, 1400px));
  max-width: var(--container-max, 1400px);
  margin-inline: auto;
  position: relative;
  z-index: 1;
}
.services-intro__title {
  margin-bottom: 40px;
  text-align: center;
}
@media (max-width: 767px) {
  .services-intro__title {
    margin-bottom: 32px;
  }
}
@media (max-width: 767px) {
  .services-intro__title .section-title__main {
    font-size: 24px;
  }
}
.services-intro__wrap {
  display: flex;
  justify-content: center;
}
.services-intro__anchor {
  position: relative;
  display: inline-block;
  max-width: 768px;
  width: 100%;
}
.services-intro__box {
  background: #ffffff;
  border-top-left-radius: 40px;
  border-bottom-right-radius: 40px;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.16);
  padding: 40px;
  position: relative;
  z-index: 2;
}
@media (max-width: 767px) {
  .services-intro__box {
    padding: 40px 32px;
  }
}
.services-intro__content {
  font-size: clamp(16px, 16px + 2px * (100vw - 375px) / 1025px, 18px);
  line-height: 1.9;
}
.services-intro__content p + p {
  margin: 0;
}
.services-intro__media {
  position: absolute;
  top: auto;
  bottom: -24px;
  right: calc(100% + 36px);
  transform: rotate(-10deg);
  z-index: 1;
  width: 110px;
  pointer-events: none;
}
.services-intro__media img {
  display: block;
  width: 100%;
  height: auto;
}
@media (max-width: 1200px) {
  .services-intro__media {
    position: static;
    transform: none;
    margin-top: 40px;
    width: 110px;
  }
  .services-intro__media img {
    width: 100%;
  }
  .services-intro__media {
    display: block;
    margin-inline: auto;
  }
}

/* =========================================
Services select Section
（選べる6つのサービス）
========================================= */
.services-select {
  position: relative;
  background: #ffffff;
  padding-top: clamp(78px, 78px + 0.0914 * (100vw - 375px), 200px);
  padding-bottom: 80px;
}
.services-select .text-small {
  font-size: 14px;
}

.services-reasons {
  background-color: #f3fbf7;
  overflow: hidden;
}
@media (max-width: 1023px) {
  .services-reasons.section {
    padding: 80px 0;
  }
}
.services-reasons .section-title__main {
  font-size: clamp(24px, 24px + 8px * (100vw - 375px) / 1025px, 32px);
}
.services-reasons__lead {
  margin-top: 56px;
  margin-bottom: 120px;
  text-align: center;
  font-size: 18px;
}
@media (max-width: 767px) {
  .services-reasons__lead {
    margin-top: 40px;
    margin-bottom: 80px;
  }
}
.services-reasons .media-list {
  --media-list-gap: 120px;
}
@media (max-width: 767px) {
  .services-reasons .media-list {
    --media-list-gap: 80px;
  }
}
.services-reasons {
  /* Background Image */
  /* Right */
}
.services-reasons .media-block--decor .media-block__media {
  position: relative;
  isolation: isolate;
  z-index: 0;
}
.services-reasons .media-block--decor .media-block__media::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 0;
  transform: translate(-50%, -50%) translate(30px, 0%) rotate(-15deg);
  width: calc(100% * 1.6);
  aspect-ratio: 1.679389313;
  background: url(../../public/assets/images/common/bg-blur-green.png) no-repeat center/contain;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.services-reasons .media-block--decor .media-block__media img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.16);
}
@media (max-width: 1023px) {
  .services-reasons .media-block--decor .media-block__media::before {
    transform: translate(-50%, -50%) rotate(-15deg);
  }
}
.services-reasons {
  /* Left */
}
.services-reasons .media-list--alternating > .media-list__item:nth-child(even) .media-block--decor .media-block__media::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 0;
  transform: translate(-50%, -50%) translate(-30px, 0) rotate(15deg);
  width: calc(100% * 1.6);
  aspect-ratio: 1.679389313;
  background: url(../../public/assets/images/common/bg-blur-yellow.png) no-repeat center/contain;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
@media (max-width: 1023px) {
  .services-reasons .media-list--alternating > .media-list__item:nth-child(even) .media-block--decor .media-block__media::before {
    transform: translate(-50%, -50%) rotate(15deg);
  }
}
@media (max-width: 767px) {
  .services-reasons .br-none {
    display: block;
  }
}

.services-laws__regulations {
  background: #ffffff;
  border-bottom: 1px solid #cccccc;
  padding-block: clamp(80px, 8vw, 120px);
}
.services-laws__regulations-inner {
  max-width: 930px;
  margin-inline: auto;
}
.services-laws__regulations .section-title {
  margin-bottom: 32px;
}
.services-laws__regulations-info {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-bottom: 40px;
}
.services-laws__regulations-icon {
  width: 24px;
  height: 24px;
}
.services-laws__regulations-desc {
  font-size: clamp(18px, 18px + 3px * (100vw - 375px) / 1025px, 21px);
  margin: 0;
}
.services-laws__regulations-table-contents {
  position: relative;
  border: 8px solid #206941;
  border-radius: 8px;
  padding: 8px;
  overflow: hidden;
  background-color: #ffffff;
}
.services-laws__regulations-table-wrap {
  width: 100%;
  background: #f2ede3;
  height: 568px;
  overflow-y: scroll;
  overflow-x: hidden;
  position: relative;
  scrollbar-color: #bda675 #f8f6f1;
  scrollbar-width: 8px;
}
.services-laws__regulations-table-wrap::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
.services-laws__regulations-table-wrap::-webkit-scrollbar-track {
  background-color: #f8f6f1;
}
.services-laws__regulations-table-wrap::-webkit-scrollbar-thumb {
  background-color: #bda675;
  border-radius: 20px;
}
@media (max-width: 767px) {
  .services-laws__regulations-table-wrap {
    overflow-x: scroll;
  }
}
.services-laws__regulations-table {
  width: 100%;
  font-size: 14px;
  background: #f2ede3;
}
.services-laws__regulations-table thead th,
.services-laws__regulations-table tbody td {
  text-align: left;
  padding: 16px 8px;
  border-bottom: 1px solid #e5e5e5;
}
.services-laws__regulations-table thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: #f2ede3;
  color: #206941;
  font-weight: 600;
  font-size: 14px;
  border-bottom: none;
  background-clip: padding-box;
  transform: translateZ(0);
  border: none;
  padding: 0 8px;
  height: 26px;
}
.services-laws__regulations-table thead th:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border-top: 1px solid #e5e5e5;
  position: absolute;
  top: -1px;
  left: -1px;
}
.services-laws__regulations-table tbody tr:nth-child(odd) {
  background: #ffffff;
}
.services-laws__regulations-table tbody tr:nth-child(even) {
  background: #f8f6f1;
}
.services-laws__regulations-table colgroup col:first-child {
  width: 60%;
}
.services-laws__regulations-table colgroup col:nth-child(2) {
  width: 20%;
}
.services-laws__regulations-table colgroup col:nth-child(3) {
  width: 20%;
}
@media (max-width: 767px) {
  .services-laws__regulations-table {
    min-width: 640px;
  }
}

.services-precedents__situation .section-situation__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.services-precedents__situation .section-situation__col--media {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 64px;
  height: 100%;
}
.services-precedents__situation .section-situation__col--media .situation-card {
  max-width: none;
  width: 100%;
}
.services-precedents__situation .section-situation__col--media .section-situation__media {
  margin-block: auto;
  align-self: center;
}
@media (max-width: 1279px) {
  .services-precedents__situation .section-situation__grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .services-precedents__situation .section-situation__col--media {
    display: grid;
    justify-items: stretch;
    gap: 32px;
    height: auto;
  }
  .services-precedents__situation .section-situation__col--media .section-situation__media {
    margin-block: 0;
  }
  .services-precedents__situation .section-situation__col--media .situation-card {
    max-width: none;
    width: 100%;
  }
}
@media (max-width: 1279px) {
  .services-precedents__situation .pc-only {
    display: none !important;
  }
}
.services-precedents {
  /* Card Area */
}
.services-precedents__cards {
  margin-top: clamp(48px, 6vw, 80px);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px;
}
@media (max-width: 1023px) {
  .services-precedents__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
  .services-precedents__cards {
    grid-template-columns: 1fr;
  }
}
.services-precedents__card {
  border: 1px solid #e5e5e5;
  box-shadow: 0 1px 16px rgba(0, 0, 0, 0.05);
  padding: 32px;
  background: #ffffff;
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  text-align: left;
  height: 100%;
}
.services-precedents__card-icon {
  width: 48px;
  height: 48px;
}
.services-precedents__card-title {
  font-size: 24px;
  line-height: 1;
  color: #206941;
  margin: 0 0 8px;
  font-weight: 600;
}
.services-precedents__card-text {
  font-size: 16px;
  margin: 0;
}

.services-registration-examples__functions .text-small {
  font-size: clamp(16px, 16px + 2px * (100vw - 375px) / 1025px, 18px);
}
.services-registration-examples__functions .media-block__lead-item .media-block__lead:first-child {
  margin-bottom: 16px;
}
.services-registration-examples__book {
  background-color: #f3fbf7;
  padding-block: clamp(80px, 10vw, 120px);
}
.services-registration-examples__book .section-title {
  margin-bottom: 40px;
  text-align: center;
}
.services-registration-examples__book-inner {
  max-width: 1200px;
  margin-inline: auto;
}
.services-registration-examples__book-lead {
  max-width: 860px;
  text-align: center;
  margin: 0 auto 80px;
}
@media (max-width: 767px) {
  .services-registration-examples__book-lead {
    text-align: left;
  }
}
.services-registration-examples__book-name {
  font-weight: 600;
  margin-bottom: 40px;
  text-align: center;
}
.services-registration-examples__tabs {
  max-width: 960px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  gap: 8px;
}
@media (max-width: 1023px) {
  .services-registration-examples__tabs {
    flex-direction: column;
    align-items: stretch;
    margin-bottom: 24px;
  }
}
.services-registration-examples__tab {
  text-align: center;
  padding: 16px 24px;
  border: 1px solid #e5e5e5;
  border-radius: 8px 8px 0 0;
  background-color: #f2f2f2;
  color: #666666;
  cursor: pointer;
  transition: all 0.2s ease;
}
.services-registration-examples__tab.is-active {
  position: relative;
  z-index: 2;
  border: 2px solid #206941;
  border-bottom: none;
  background-color: #ffffff;
  color: #206941;
  font-weight: 700;
  box-shadow: 0 -2px 0 #ffffff;
}
@media (max-width: 1023px) {
  .services-registration-examples__tab {
    border-radius: 8px;
    border-width: 1px;
  }
  .services-registration-examples__tab.is-active {
    border-width: 2px;
    box-shadow: none;
    border-bottom: 2px solid #206941;
  }
}
.services-registration-examples__content {
  position: relative;
  background: #ffffff;
  border: 2px solid #206941;
  border-radius: 16px;
  padding: 40px 8px 40px 40px;
  margin-top: -2px;
}
@media (max-width: 1023px) {
  .services-registration-examples__content {
    padding: 32px 8px 32px 32px;
  }
}
@media (max-width: 767px) {
  .services-registration-examples__content {
    padding: 32px 8px 32px 16px;
  }
}
.services-registration-examples__panel[hidden] {
  display: none;
}
.services-registration-examples__panel-scroll {
  max-height: 600px;
  overflow-y: scroll;
  position: relative;
  padding-inline-end: calc(clamp(16px, 2vw, 24px) + 8px);
  scrollbar-color: #bda675 #f8f6f1;
  scrollbar-width: 8px;
}
.services-registration-examples__panel-scroll::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
.services-registration-examples__panel-scroll::-webkit-scrollbar-track {
  background-color: #f8f6f1;
}
.services-registration-examples__panel-scroll::-webkit-scrollbar-thumb {
  background-color: #bda675;
  border-radius: 20px;
}
.services-registration-examples__panel-head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 32px;
}
@media (max-width: 767px) {
  .services-registration-examples__panel-head {
    align-items: flex-start;
  }
}
.services-registration-examples__panel-icon {
  width: 24px;
  height: 24px;
  flex: 0 0 auto;
}
@media (max-width: 767px) {
  .services-registration-examples__panel-icon {
    margin-top: 4px;
  }
}
.services-registration-examples__panel-label {
  font-size: 18px;
  font-weight: 600;
}
.services-registration-examples__panel-list {
  margin: 0;
  padding-left: 32px;
  list-style: none;
}
@media (max-width: 767px) {
  .services-registration-examples__panel-list {
    padding: 0;
  }
}
.services-registration-examples__panel-list li {
  margin-bottom: 12px;
  display: block;
}
.services-registration-examples__panel-list li:last-child {
  margin-bottom: 0;
}
.services-registration-examples__panel-list li > ol {
  margin: 12px 0 0 24px;
  list-style: none;
  display: grid;
  gap: 8px;
  padding-left: 0;
}
@media (max-width: 767px) {
  .services-registration-examples__panel-list li > ol {
    margin: 12px 0 0 16px;
  }
}
.services-registration-examples__panel-list li > ol li {
  margin-bottom: 0;
  position: relative;
  padding-left: 0;
}
.services-registration-examples__panel-chapter {
  margin-right: 8px;
  min-width: 45px;
  display: inline-block;
}
.services-registration-examples__situation {
  border-bottom: solid 1px #e5e5e5;
}

.services-practice-qa__included-books {
  padding: 120px 0;
  background-color: #f8f6f1;
  background-image: linear-gradient(0deg, rgba(229, 229, 229, 0.8) 1px, transparent 1px), linear-gradient(90deg, rgba(229, 229, 229, 0.8) 1px, transparent 1px);
  background-size: 16px 16px;
  background-position: center center;
}
@media (max-width: 767px) {
  .services-practice-qa__included-books {
    padding: 56px 0;
  }
}
.services-practice-qa__included-books .section-title {
  margin-bottom: 32px;
}
.services-practice-qa__included-books-lead {
  font-weight: 600;
  text-align: center;
  margin: 0 0 80px;
}
@media (max-width: 767px) {
  .services-practice-qa__included-books-lead {
    margin: 0 0 56px;
  }
}
.services-practice-qa__included-books-wrapper {
  margin: 0 auto;
}
.services-practice-qa__included-books-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 48px;
  padding: 0;
  margin: 0;
  list-style: none;
}
@media (max-width: 767px) {
  .services-practice-qa__included-books-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}
.services-practice-qa__included-books-card {
  display: flex;
  align-items: center;
  gap: 32px;
  background-color: #ffffff;
  border-radius: 8px;
  padding: 16px 24px;
}
@media (max-width: 767px) {
  .services-practice-qa__included-books-card {
    gap: 16px;
    padding: 16px;
  }
}
.services-practice-qa__included-books-card-thumb {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  background-color: #f2f2f2;
}
@media (max-width: 767px) {
  .services-practice-qa__included-books-card-thumb {
    padding: 8px;
  }
}
.services-practice-qa__included-books-card-thumb img {
  width: 60px;
  height: auto;
  display: block;
}
.services-practice-qa__included-books-card-body {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.services-practice-qa__included-books-card-title {
  font-size: 16px;
  line-height: 1.5;
  font-weight: 600;
  margin: 0;
}
.services-practice-qa__included-books-card-title .text-small {
  font-size: 14px;
}
@media (max-width: 767px) {
  .services-practice-qa__included-books-card-title {
    font-size: 14px;
  }
  .services-practice-qa__included-books-card-title .text-small {
    font-size: 12px;
  }
}
.services-practice-qa__included-books-card-meta {
  font-size: 14px;
  margin: 0;
  color: #666666;
}
.services-practice-qa__situation {
  border-top: solid 1px #e5e5e5;
  border-bottom: solid 1px #e5e5e5;
}

.services-books__publication-details {
  background-color: #f8f6f1;
  padding-block: clamp(80px, 8vw, 120px);
}
.services-books__publication-details .section-title {
  margin-bottom: 32px;
  text-align: center;
}
.services-books__publication-details-lead {
  margin: 0 0 56px;
  font-weight: 600;
  text-align: center;
}
.services-books__publication-details-wrapper {
  width: 100%;
}
.services-books__publication-details-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 767px) {
  .services-books__publication-details-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}
.services-books__publication-details-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  background-color: #ffffff;
  border-radius: 8px;
  padding: 32px 24px;
  gap: 32px;
}
.services-books__publication-details-card-thumb {
  width: 100%;
  display: grid;
  place-items: center;
}
.services-books__publication-details-card-thumb img {
  width: 200px;
  height: auto;
  display: block;
}
@media (max-width: 767px) {
  .services-books__publication-details-card-thumb img {
    width: 170px;
  }
}
.services-books__publication-details-card-body {
  width: calc(100% + 48px);
  margin: 0 -24px;
  padding: 32px 24px 0;
  border-top: 1px solid #e5e5e5;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.services-books__publication-details-card-title {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .services-books__publication-details-card-title {
    font-size: 16px;
  }
}
.services-books__publication-details-card-overview {
  margin: 0;
}
.services-books__publication-details-card-meta {
  margin: 0;
}

.services-company-purposes__search .section-search__figure {
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 8px 48px rgba(26, 26, 26, 0.16);
  max-width: 1000px;
}
.services-company-purposes__search .section-search__figure img {
  display: block;
  width: 100%;
  height: auto;
}
@media (max-width: 767px) {
  .services-company-purposes__search .section-search__figure {
    box-shadow: 0 6px 24px rgba(26, 26, 26, 0.1);
  }
}
.services-company-purposes__drafting {
  background-color: #ffffff;
  border-bottom: solid 1px #e5e5e5;
}
.services-company-purposes__drafting .section-title {
  flex: 0 0 auto;
  text-align: left;
  margin: 0;
}
.services-company-purposes__drafting-inner {
  margin-inline: auto;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
@media (max-width: 1200px) {
  .services-company-purposes__drafting-inner {
    flex-direction: column;
    gap: 56px;
  }
}
.services-company-purposes__drafting-divider {
  flex: 0 0 auto;
  width: 1px;
  align-self: stretch;
  background-color: #e5e5e5;
  margin: 0 40px;
}
@media (max-width: 767px) {
  .services-company-purposes__drafting-divider {
    display: none;
  }
}
.services-company-purposes__drafting-content {
  flex: 1 1 auto;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 40px;
}
@media (max-width: 767px) {
  .services-company-purposes__drafting-content {
    flex-direction: column;
    gap: 72px;
  }
}
.services-company-purposes__points {
  flex: 1 1 0;
  display: grid;
  gap: 24px;
}
.services-company-purposes__points-item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
.services-company-purposes__points-icon {
  flex: 0 0 auto;
  width: 24px;
  height: 24px;
  background: url("../../public/assets/images/icon/icon-square-check-primary.svg") no-repeat center/contain;
  margin-top: 5px;
}
.services-company-purposes__points-text {
  margin: 0;
  font-size: 21px;
  line-height: 1.5;
}
.services-company-purposes__drafting-illustration {
  flex: 0 0 auto;
  width: 300px;
  margin: 0;
}
@media (max-width: 767px) {
  .services-company-purposes__drafting-illustration {
    width: 100%;
    max-width: 300px;
    align-self: center;
  }
}
.services-company-purposes__drafting-illustration img {
  width: 100%;
  height: auto;
  display: block;
}

.home-hero {
  background-color: #ffffff;
  padding: 150px 0;
  position: relative;
  overflow: hidden;
  min-height: 800px;
}
@media (max-width: 767px) {
  .home-hero {
    padding: 64px 0;
    min-height: auto;
  }
}
.home-hero__inner {
  width: min(100% - clamp(24px, 5vw, 80px) * 2, var(--container-max, 1440px));
  max-width: var(--container-max, 1440px);
  margin-inline: auto;
  display: flex;
  align-items: center;
  gap: 32px;
  position: relative;
  z-index: 1;
}
@media (max-width: 767px) {
  .home-hero__inner {
    flex-direction: column;
    gap: 32px;
  }
}
.home-hero__content {
  width: 635px;
  flex-shrink: 0;
}
@media (max-width: 1150px) {
  .home-hero__content {
    width: 420px;
  }
}
@media (max-width: 920px) {
  .home-hero__content {
    width: 350px;
  }
}
@media (max-width: 767px) {
  .home-hero__content {
    width: 100%;
    max-width: 327px;
  }
}
.home-hero__text {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
@media (max-width: 767px) {
  .home-hero__text {
    gap: 8px;
  }
}
.home-hero__heading {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.5;
  color: #1a1a1a;
  letter-spacing: 0.05px;
}
@media (max-width: 1150px) {
  .home-hero__heading {
    font-size: 32px;
  }
  .home-hero__heading br {
    display: none;
  }
}
@media (max-width: 767px) {
  .home-hero__heading {
    font-size: 32px;
    line-height: 1.7;
  }
}
@media (max-width: 767px) {
  .home-hero__heading br {
    display: none;
  }
}
.home-hero__description {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 27px;
  color: #1a1a1a;
  letter-spacing: 0.05px;
}
@media (max-width: 1150px) {
  .home-hero__description {
    font-size: 16px;
    line-height: 24px;
  }
}
@media (max-width: 767px) {
  .home-hero__description {
    font-size: 14px;
    line-height: 21px;
  }
}
.home-hero__image-area {
  position: relative;
  width: 871.339px;
  height: 484.077px;
  flex-shrink: 0;
}
@media (max-width: 1400px) {
  .home-hero__image-area {
    width: 697.0712px;
    height: 387.2616px;
  }
}
@media (max-width: 1200px) {
  .home-hero__image-area {
    width: 522.8034px;
    height: 290.4462px;
  }
}
@media (max-width: 767px) {
  .home-hero__image-area {
    position: relative;
    width: 325.439px;
    height: 180.799px;
    top: 0;
    right: auto;
    margin: 0 auto;
  }
}
.home-hero__deco {
  position: absolute;
  width: 693.189px;
  height: 693.189px;
  right: -350px;
  top: 50%;
  transform: translateY(-50%);
  z-index: -1;
  pointer-events: none;
}
@media (max-width: 767px) {
  .home-hero__deco {
    width: 266.179px;
    height: 266.179px;
    right: -60px;
    top: -50.78px;
    transform: none;
  }
}
.home-hero__deco img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.home-hero__image {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.home-hero__image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.home-hero__buttons {
  margin-top: 48px;
  display: flex;
  align-items: center;
  gap: 16px;
  position: relative;
}
@media (max-width: 767px) {
  .home-hero__buttons {
    margin-top: 16px;
    flex-direction: column;
    gap: 16px;
    width: 100%;
  }
}
.home-hero__buttons .btn {
  width: 238px;
  height: 56px;
  padding: 0 24px;
}
@media (max-width: 767px) {
  .home-hero__buttons .btn {
    width: 100%;
  }
}
.home-hero__trial-text {
  position: absolute;
  top: -24px;
  left: 114.5px;
  transform: translateX(-50%);
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 24px;
  color: #886f3b;
  text-align: center;
  white-space: nowrap;
}
@media (max-width: 767px) {
  .home-hero__trial-text {
    position: relative;
    top: 0;
    left: 0;
    transform: none;
    order: -1;
    margin-bottom: 8px;
  }
}

.home-about {
  background: linear-gradient(180deg, #ffffff 10.832%, #fffde5 45.985%, #ddf7e9 100%);
  padding: 80px 0 200px;
  position: relative;
  overflow: hidden;
  min-height: 1000px;
}
@media (max-width: 767px) {
  .home-about {
    padding: 80px 0 50%;
    min-height: auto;
  }
}
.home-about__inner {
  width: min(100% - clamp(24px, 5vw, 80px) * 2, var(--container-max, 1400px));
  max-width: var(--container-max, 1400px);
  margin-inline: auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  position: relative;
  z-index: 1;
}
@media (max-width: 767px) {
  .home-about__inner {
    flex-direction: column;
    gap: 48px;
  }
}
.home-about__text-area {
  display: flex;
  flex-direction: column;
  gap: 16px;
  flex-shrink: 0;
}
@media (max-width: 1199px) {
  .home-about__text-area {
    max-width: 500px;
  }
}
@media (max-width: 999px) {
  .home-about__text-area {
    max-width: 350px;
  }
}
@media (max-width: 767px) {
  .home-about__text-area {
    width: 100%;
    max-width: 100%;
  }
}
.home-about__label {
  font-family: "Roboto", sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 28.8px;
  color: #206941;
  text-align: left;
  letter-spacing: 0px;
}
.home-about__title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 48px;
  font-weight: 700;
  line-height: 1.5;
  color: #1a1a1a;
  letter-spacing: 0.05px;
  padding: 4px 8px;
}
@media (max-width: 1199px) {
  .home-about__title br {
    display: none;
  }
}
@media (max-width: 1150px) {
  .home-about__title {
    font-size: 32px;
    line-height: 1.7;
  }
}
@media (max-width: 767px) {
  .home-about__title {
    font-size: 32px;
    line-height: 1.7;
    padding: 4px 8px;
  }
}
@media (max-width: 767px) {
  .home-about__title br {
    display: none;
  }
}
.home-about__description {
  max-width: 768px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 28px;
  color: #1a1a1a;
}
@media (max-width: 1199px) {
  .home-about__description br {
    display: none;
  }
}
@media (max-width: 767px) {
  .home-about__description {
    font-size: 18px;
    line-height: 28px;
    width: 100%;
  }
}
@media (max-width: 767px) {
  .home-about__description br {
    display: none;
  }
}
.home-about__features {
  width: 512px;
  display: flex;
  flex-direction: column;
  gap: 32px;
  flex-shrink: 0;
}
@media (max-width: 1150px) {
  .home-about__features {
    width: 400px;
  }
}
@media (max-width: 767px) {
  .home-about__features {
    width: 100%;
  }
}
.home-about__feature {
  background: #ffffff;
  padding: 24px;
  border-radius: 8px;
  box-shadow: 0px 1px 16px 0px rgba(0, 0, 0, 0.05);
  display: flex;
  gap: 32px;
  align-items: center;
}
@media (max-width: 767px) {
  .home-about__feature {
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
}
.home-about__feature:first-child {
  box-shadow: 0px 1px 16px 0px rgba(0, 0, 0, 0.05);
}
.home-about__feature:not(:first-child) {
  box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.05);
}
.home-about__feature-icon {
  width: 48px;
  height: 48px;
  flex-shrink: 0;
}
.home-about__feature-icon img {
  width: 100%;
  height: 100%;
  display: block;
}
.home-about__feature-text {
  display: flex;
  flex-direction: column;
  gap: 22px;
  flex-grow: 1;
}
@media (max-width: 767px) {
  .home-about__feature-text {
    width: 100%;
  }
}
.home-about__feature-title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 43.2px;
  color: #206941;
  letter-spacing: 0.05px;
}
@media (max-width: 1150px) {
  .home-about__feature-title {
    font-size: 21px;
    line-height: 37.8px;
  }
}
@media (max-width: 767px) {
  .home-about__feature-title {
    font-size: 21px;
    line-height: 37.8px;
  }
}
.home-about__feature-description {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  color: #1a1a1a;
  letter-spacing: 0.05px;
}
@media (max-width: 1150px) {
  .home-about__feature-description {
    font-size: 16px;
    line-height: 24px;
  }
}
@media (max-width: 767px) {
  .home-about__feature-description {
    font-size: 16px;
    line-height: 24px;
  }
}
@media (max-width: 767px) {
  .home-about__feature-description br {
    display: none;
  }
}
.home-about__bg-image {
  position: absolute;
  left: 0;
  bottom: -150px;
  width: 965.601px;
  height: 587.02px;
  z-index: 0;
  pointer-events: none;
}
@media (max-width: 767px) {
  .home-about__bg-image {
    width: 100%;
    height: auto;
    left: 50%;
    transform: translateX(-50%);
    bottom: -5%;
  }
}
.home-about__bg-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  border-radius: 16px;
}
@media (max-width: 767px) {
  .home-about__bg-image img {
    border-radius: 4px;
    height: auto;
  }
}
.home-about__deco-line {
  position: absolute;
  right: -300px;
  bottom: 150px;
  width: 1400px;
  height: auto;
  z-index: 0;
  pointer-events: none;
}
@media (max-width: 767px) {
  .home-about__deco-line {
    left: 64.51px;
    top: 1247.96px;
    width: 322.243px;
    height: 47.155px;
  }
}
.home-about__deco-line img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.home-about__deco-blur {
  position: absolute;
  left: 728.3px;
  top: 200px;
  width: 742.281px;
  height: 442.018px;
  transform: rotate(-15deg);
  z-index: 0;
  pointer-events: none;
}
@media (max-width: 767px) {
  .home-about__deco-blur {
    left: -251.69px;
    top: 503.04px;
  }
}
.home-about__deco-blur img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.home-about__ellipse-bottom {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: auto;
  z-index: 0;
  pointer-events: none;
  line-height: 0;
}
.home-about__ellipse-bottom img {
  width: 100%;
  height: auto;
  display: block;
  vertical-align: bottom;
}

.home-features {
  background-color: #10331f;
  padding: 80px 0 0;
  position: relative;
  overflow: hidden;
}
@media (max-width: 767px) {
  .home-features {
    padding: 80px 24px 0;
  }
}
.home-features__inner {
  width: min(100% - clamp(24px, 5vw, 80px) * 2, var(--container-max, 1400px));
  max-width: var(--container-max, 1400px);
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: 48px;
  padding-bottom: 80px;
  position: relative;
  z-index: 1;
}
@media (max-width: 767px) {
  .home-features__inner {
    gap: 48px;
    padding-bottom: 80px;
  }
}
.home-features__text-area {
  display: flex;
  flex-direction: column;
  gap: 0;
}
@media (max-width: 767px) {
  .home-features__text-area {
    gap: 0;
    width: 100%;
  }
}
.home-features__label {
  font-family: "Roboto", sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 28.8px;
  color: #6bd199;
  text-align: left;
  letter-spacing: 0px;
  margin-bottom: 0;
}
.home-features__title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 57.6px;
  color: #ffffff;
  letter-spacing: 0.05px;
  padding: 4px 8px;
}
@media (max-width: 767px) {
  .home-features__title {
    font-size: 32px;
    line-height: 1.7;
    padding: 4px 8px;
  }
}
.home-features__description {
  max-width: 768px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  color: #ffffff;
  letter-spacing: 0.05px;
}
@media (max-width: 767px) {
  .home-features__description {
    font-size: 16px;
    line-height: 24px;
    width: 100%;
  }
}
.home-features__list {
  display: flex;
  flex-wrap: wrap;
  gap: 48px;
  width: 100%;
}
@media (max-width: 767px) {
  .home-features__list {
    flex-direction: column;
    gap: 48px;
  }
}
.home-features__card {
  flex: 1;
  min-width: 320px;
  max-width: 420px;
  display: flex;
  gap: 16px;
  position: relative;
}
@media (max-width: 767px) {
  .home-features__card {
    max-width: 100%;
    width: 100%;
  }
}
.home-features__card-container {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 32px;
  border-radius: 8px;
  position: relative;
}
@media (max-width: 767px) {
  .home-features__card-container {
    padding: 0;
  }
}
.home-features__card-number {
  font-family: "Roboto", sans-serif;
  font-size: 21px;
  font-weight: 400;
  line-height: 37.8px;
  color: #ffffff;
  letter-spacing: 0px;
}
@media (max-width: 767px) {
  .home-features__card-number {
    font-size: 21px;
    line-height: 37.8px;
  }
}
.home-features__card-image {
  width: 100%;
  aspect-ratio: 336/200;
  border-radius: 8px;
  overflow: hidden;
  position: relative;
}
@media (max-width: 767px) {
  .home-features__card-image {
    aspect-ratio: 263/156.548;
  }
}
.home-features__card-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  display: block;
}
.home-features__card-title-wrapper {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  padding: 8px 0;
}
@media (max-width: 767px) {
  .home-features__card-title-wrapper {
    gap: 8px;
    padding: 8px 0;
  }
}
.home-features__card-title-icon {
  width: 13.475px;
  height: 13.475px;
  flex-shrink: 0;
  background-color: #6bd199;
  border-radius: 50%;
  margin-top: 10px;
}
.home-features__card-title {
  flex: 1;
  font-family: "Roboto", sans-serif, "Noto Sans JP", sans-serif;
  font-size: 21px;
  font-weight: 600;
  line-height: 37.8px;
  color: #ffffff;
  letter-spacing: 0px;
}
@media (max-width: 767px) {
  .home-features__card-title {
    font-size: 21px;
    line-height: 37.8px;
  }
}
.home-features__card-description {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  color: #ffffff;
  letter-spacing: 0.05px;
}
@media (max-width: 767px) {
  .home-features__card-description {
    font-size: 16px;
    line-height: 24px;
  }
}
.home-features__card-arrow {
  position: absolute;
  left: 56px;
  top: 128px;
  width: 113px;
  height: 114px;
  transform: rotate(180deg) scaleY(-1);
  pointer-events: none;
}
@media (max-width: 767px) {
  .home-features__card-arrow {
    left: 53.48px;
    top: 124.27px;
    width: 80px;
    height: 81px;
  }
}
.home-features__card-arrow img {
  width: 100%;
  height: 100%;
  display: block;
}
.home-features__ellipse-bottom {
  position: relative;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
}
.home-features__ellipse-bottom img {
  width: 100%;
  height: auto;
  display: block;
  vertical-align: bottom;
}

.home-service {
  background-color: #ffffff;
  padding: 80px 0;
  position: relative;
  overflow: hidden;
}
@media (max-width: 767px) {
  .home-service {
    padding: 80px 0;
  }
}
.home-service__inner {
  width: min(100% - clamp(24px, 5vw, 80px) * 2, var(--container-max, 1400px));
  max-width: var(--container-max, 1400px);
  margin-inline: auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 48px;
  position: relative;
  z-index: 1;
}
@media (max-width: 767px) {
  .home-service__inner {
    flex-direction: column;
    gap: 32px;
  }
}
.home-service__text-area {
  width: 350px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}
@media (max-width: 767px) {
  .home-service__text-area {
    width: 100%;
  }
}
.home-service__label {
  font-family: "Roboto", sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 28.8px;
  color: #206941;
  text-align: left;
  letter-spacing: 0px;
  margin-bottom: 0;
}
.home-service__title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 48px;
  font-weight: 700;
  line-height: 1.5;
  color: #1a1a1a;
  letter-spacing: 0.05px;
}
@media (max-width: 767px) {
  .home-service__title {
    font-size: 32px;
    line-height: 1.7;
  }
}
.home-service__description {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 28px;
  color: #1a1a1a;
  letter-spacing: 0.05px;
}
@media (max-width: 767px) {
  .home-service__description {
    font-size: 18px;
    line-height: 28px;
  }
}
.home-service__button {
  margin-top: 24px;
}
@media (max-width: 767px) {
  .home-service__button {
    margin-top: 16px;
  }
}
.home-service__button .btn {
  width: 238px;
  height: 56px;
  padding: 0 24px;
}
@media (max-width: 767px) {
  .home-service__button .btn {
    width: 100%;
  }
}
.home-service__list {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
@media (max-width: 767px) {
  .home-service__list {
    width: 100%;
  }
}
.home-service__item {
  position: relative;
  background: #ffffff;
  border: 1px solid #e8e8e8;
  border-radius: 8px;
  padding: 24px;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 24px;
  transition: all 0.3s ease;
  cursor: pointer;
}
@media (max-width: 767px) {
  .home-service__item {
    padding: 16px;
    gap: 16px;
  }
}
.home-service__item:hover {
  background: #f3fbf7;
  border-color: #206941;
  box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.08);
}
.home-service__item-number {
  position: absolute;
  top: 16px;
  left: 16px;
  font-family: "Roboto", sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  color: #206941;
  letter-spacing: 0px;
}
@media (max-width: 767px) {
  .home-service__item-number {
    top: 4px;
    left: 4px;
    font-size: 12px;
  }
}
.home-service__item-icon {
  width: 48px;
  height: 48px;
  flex-shrink: 0;
  margin-top: 8px;
  border: 1px solid #206941;
  border-radius: 4px;
  padding: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 767px) {
  .home-service__item-icon {
    width: 40px;
    height: 40px;
    margin-top: 4px;
    padding: 4px;
  }
}
.home-service__item-icon img {
  width: 24px;
  height: 24px;
  display: block;
  -o-object-fit: contain;
     object-fit: contain;
}
@media (max-width: 767px) {
  .home-service__item-icon img {
    width: 20px;
    height: 20px;
  }
}
.home-service__item-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding-top: 8px;
}
@media (max-width: 767px) {
  .home-service__item-content {
    padding-top: 4px;
  }
}
.home-service__item-title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 21px;
  font-weight: 700;
  line-height: 1.5;
  color: #1a1a1a;
  letter-spacing: 0.05px;
}
@media (max-width: 767px) {
  .home-service__item-title {
    font-size: 18px;
  }
}
.home-service__item-description {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  color: #1a1a1a;
  letter-spacing: 0.05px;
}
@media (max-width: 767px) {
  .home-service__item-description {
    font-size: 14px;
    line-height: 21px;
  }
}
.home-service__item-arrow {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  margin-top: 8px;
}
@media (max-width: 767px) {
  .home-service__item-arrow {
    width: 20px;
    height: 20px;
    margin-top: 4px;
  }
}
.home-service__item-arrow img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: contain;
     object-fit: contain;
}
.home-service__note {
  margin-top: 16px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 21px;
  color: #1a1a1a;
  letter-spacing: 0.05px;
}
@media (max-width: 767px) {
  .home-service__note {
    font-size: 14px;
    line-height: 21px;
  }
}

.home-usecase {
  background-color: #ffffff;
  border-top: 1px solid #cccccc;
  padding: 80px 0;
  position: relative;
}
@media (max-width: 767px) {
  .home-usecase {
    padding: 80px 24px;
  }
}
.home-usecase__inner {
  width: min(100% - clamp(24px, 5vw, 80px) * 2, var(--container-max, 1400px));
  max-width: var(--container-max, 1400px);
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: 80px;
  align-items: center;
  justify-content: center;
}
@media (max-width: 767px) {
  .home-usecase__inner {
    gap: 80px;
  }
}
.home-usecase__text-area {
  display: flex;
  flex-direction: column;
  gap: 0;
  align-items: center;
  justify-content: center;
}
@media (max-width: 767px) {
  .home-usecase__text-area {
    gap: 0;
    width: 100%;
  }
}
.home-usecase__label {
  font-family: "Roboto", sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 28.8px;
  color: #206941;
  text-align: center;
  letter-spacing: 0px;
}
.home-usecase__title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 57.6px;
  color: #1a1a1a;
  letter-spacing: 0.05px;
  padding: 4px 8px;
  text-align: center;
}
@media (max-width: 767px) {
  .home-usecase__title {
    font-size: 32px;
    line-height: 1.7;
    padding: 4px 8px;
  }
}
.home-usecase__cards {
  width: 100%;
  max-width: 1400px;
  display: flex;
  gap: 48px;
  align-items: center;
  justify-content: center;
}
@media (max-width: 767px) {
  .home-usecase__cards {
    flex-direction: column;
    gap: 48px;
  }
}
.home-usecase__card {
  width: 338px;
  display: flex;
  flex-direction: column;
  gap: 32px;
  align-items: center;
  justify-content: center;
}
@media (max-width: 767px) {
  .home-usecase__card {
    width: 100%;
  }
}
.home-usecase__card-image {
  width: 150px;
  height: 150px;
  flex-shrink: 0;
  position: relative;
}
.home-usecase__card-image img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: contain;
     object-fit: contain;
}
.home-usecase__card-text {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 32px;
  align-items: flex-start;
}
@media (max-width: 767px) {
  .home-usecase__card-text {
    gap: 32px;
  }
}
.home-usecase__card-title-wrapper {
  width: 100%;
  padding: 4px 8px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 767px) {
  .home-usecase__card-title-wrapper {
    padding: 4px 8px;
  }
}
.home-usecase__card-title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 43.2px;
  color: #1a1a1a;
  letter-spacing: 0.05px;
  text-align: center;
}
@media (max-width: 767px) {
  .home-usecase__card-title {
    font-size: 24px;
    line-height: 43.2px;
  }
}
.home-usecase__card-description-wrapper {
  width: 100%;
  max-width: 768px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
@media (max-width: 767px) {
  .home-usecase__card-description-wrapper {
    width: 100%;
  }
}
.home-usecase__card-description {
  width: 100%;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 27px;
  color: #1a1a1a;
  letter-spacing: 0.05px;
}
@media (max-width: 767px) {
  .home-usecase__card-description {
    font-size: 16px;
    line-height: 24px;
  }
}

.home-contract {
  background-color: #f3fbf7;
  padding: 80px 0;
  position: relative;
}
@media (max-width: 767px) {
  .home-contract {
    padding: 80px 24px;
  }
}
.home-contract__inner {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 80px;
  align-items: center;
  justify-content: center;
}
@media (max-width: 767px) {
  .home-contract__inner {
    gap: 32px;
  }
}
.home-contract__text-area {
  display: flex;
  flex-direction: column;
  gap: 32px;
  align-items: center;
  justify-content: center;
  width: 100%;
}
@media (max-width: 767px) {
  .home-contract__text-area {
    gap: 48px;
  }
}
.home-contract__title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 57.6px;
  color: #206941;
  letter-spacing: 0.05px;
  padding: 4px 8px;
  text-align: center;
}
@media (max-width: 767px) {
  .home-contract__title {
    font-size: 32px;
    line-height: 57.6px;
  }
}
.home-contract__description {
  width: 100%;
  max-width: 768px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 27px;
  color: #1a1a1a;
  letter-spacing: 0.05px;
  text-align: center;
}
@media (max-width: 767px) {
  .home-contract__description {
    font-size: 16px;
    line-height: 24px;
  }
}
.home-contract__contents {
  width: 100%;
  max-width: 1400px;
  display: flex;
  flex-direction: column;
  gap: 80px;
  align-items: center;
}
.home-contract__cards {
  width: 100%;
  display: flex;
  gap: 32px;
  align-items: flex-start;
  justify-content: center;
}
@media (max-width: 767px) {
  .home-contract__cards {
    flex-direction: column;
    gap: 32px;
  }
}
.home-contract__card {
  width: 438px;
  background-color: #ffffff;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 48px;
  align-items: center;
}
@media (max-width: 767px) {
  .home-contract__card {
    width: 100%;
  }
}
.home-contract__card-textarea {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 32px;
  align-items: center;
  justify-content: center;
}
.home-contract__category {
  border: 1px solid #206941;
  border-radius: 100px;
  padding: 8px 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 27px;
  color: #206941;
  letter-spacing: 0.05px;
}
.home-contract__card-title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 32.4px;
  color: #1a1a1a;
  letter-spacing: 0.05px;
  padding: 4px 8px;
  text-align: center;
  width: 100%;
}
.home-contract__card-image {
  width: 108.748px;
  height: 80px;
  flex-shrink: 0;
  position: relative;
  overflow: hidden;
}
.home-contract__card-image img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: contain;
     object-fit: contain;
}
.home-contract__card-image--organization {
  width: 169.797px;
}
.home-contract__card-desc {
  width: 100%;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  color: #1a1a1a;
  letter-spacing: 0.05px;
}
.home-contract__tags {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: flex-start;
  justify-content: flex-start;
}
.home-contract__tag {
  background-color: #d8f3e4;
  border-radius: 100px;
  padding: 10px;
  display: flex;
  gap: 4px;
  align-items: center;
  justify-content: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 18px;
  color: #206941;
  letter-spacing: 0.05px;
}
.home-contract__tag-icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}
.home-contract__tag-icon img {
  width: 100%;
  height: 100%;
  display: block;
}
.home-contract__cta {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 0;
  align-items: center;
  justify-content: center;
}
.home-contract__cta-text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 24px;
  color: #886f3b;
  text-align: center;
  white-space: nowrap;
  margin-bottom: 16px;
}
@media (max-width: 767px) {
  .home-contract__cta-text {
    font-size: 14px;
    line-height: 24px;
  }
}
.home-contract__button {
  width: 100%;
}
.home-contract__button .btn {
  width: 100%;
}
.home-contract__button .btn svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

.home-price {
  background-color: #ffffff;
  padding: 80px 0;
  position: relative;
}
@media (max-width: 767px) {
  .home-price {
    padding: 80px 24px;
  }
}
.home-price__inner {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 80px;
  align-items: center;
  justify-content: center;
}
@media (max-width: 767px) {
  .home-price__inner {
    gap: 48px;
  }
}
.home-price__text-area {
  display: flex;
  flex-direction: column;
  gap: 32px;
  align-items: center;
  justify-content: center;
  width: 100%;
}
.home-price__title-group {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: center;
  justify-content: center;
}
.home-price__label {
  font-family: "Roboto", sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 28.8px;
  color: #206941;
  text-align: center;
  letter-spacing: 0px;
  margin-bottom: 0;
}
.home-price__title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 57.6px;
  color: #1a1a1a;
  letter-spacing: 0.05px;
  padding: 4px 8px;
  text-align: center;
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .home-price__title {
    font-size: 32px;
    line-height: 57.6px;
  }
}
.home-price__category {
  border: 1px solid #206941;
  border-radius: 100px;
  padding: 8px 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 27px;
  color: #206941;
  letter-spacing: 0.05px;
}
.home-price__description {
  width: 100%;
  max-width: 768px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 27px;
  color: #1a1a1a;
  letter-spacing: 0.05px;
  text-align: center;
}
@media (max-width: 767px) {
  .home-price__description {
    font-size: 16px;
    line-height: 24px;
  }
}
.home-price__contents {
  width: 100%;
  max-width: 1400px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: center;
}

.home-company {
  background-color: #f9fafb;
  padding: 80px 0;
  position: relative;
}
@media (max-width: 767px) {
  .home-company {
    padding: 80px 24px;
  }
}
.home-company__inner {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 64px;
  align-items: center;
  justify-content: center;
}
.home-company__text-area {
  display: flex;
  flex-direction: column;
  gap: 32px;
  align-items: center;
  justify-content: center;
  width: 100%;
}
.home-company__badge {
  width: 273.18px;
  height: 76.72px;
  position: relative;
  flex-shrink: 0;
  margin-bottom: 0;
}
.home-company__badge img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: contain;
     object-fit: contain;
}
.home-company__title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 57.6px;
  color: #1a1a1a;
  letter-spacing: 0.05px;
  padding: 4px 8px;
  text-align: center;
  width: 100%;
}
@media (max-width: 767px) {
  .home-company__title {
    font-size: 32px;
    line-height: 57.6px;
  }
}
.home-company__description {
  width: 100%;
  max-width: 768px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 27px;
  color: #1a1a1a;
  letter-spacing: 0.05px;
}
@media (max-width: 767px) {
  .home-company__description {
    font-size: 16px;
    line-height: 24px;
  }
}
.home-company__contents {
  width: 100%;
  max-width: 1400px;
  display: flex;
  flex-direction: column;
  gap: 64px;
  align-items: center;
}
.home-company__inner-box {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 48px;
  align-items: center;
  padding: 24px;
}
@media (max-width: 767px) {
  .home-company__inner-box {
    gap: 24px;
    padding: 24px 0;
  }
}
.home-company__comment-title {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.home-company__comment-title img {
  max-width: 816px;
  width: 100%;
  height: auto;
  display: block;
}
@media (max-width: 767px) {
  .home-company__comment-title img {
    max-width: 100%;
  }
}
.home-company__cards {
  width: 100%;
  display: flex;
  gap: 48px;
  align-items: flex-start;
  justify-content: center;
}
@media (max-width: 767px) {
  .home-company__cards {
    flex-direction: column;
    gap: 48px;
  }
}
.home-company__card {
  width: 338px;
  display: flex;
  flex-direction: column;
  gap: 32px;
  align-items: center;
  justify-content: center;
}
@media (max-width: 767px) {
  .home-company__card {
    width: 100%;
  }
}
.home-company__card-image {
  width: 100%;
  height: 200px;
  border-radius: 8px;
  overflow: hidden;
  flex-shrink: 0;
  position: relative;
}
.home-company__card-image img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.home-company__card-title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 32.4px;
  color: #1a1a1a;
  letter-spacing: 0.05px;
  padding: 4px 8px;
  text-align: center;
  width: 100%;
  margin-bottom: 0;
}
.home-company__card-desc {
  width: 100%;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  color: #1a1a1a;
  letter-spacing: 0.05px;
  margin-bottom: 0;
}
.home-company__button-area {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: center;
  justify-content: center;
}
.home-company__button {
  width: 100%;
  max-width: 400px;
}
.home-company__button .btn {
  width: 100%;
}
.home-company__button .btn svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

.home-voices {
  background-color: #f9fafb;
  padding: 80px 0;
  position: relative;
}
@media (max-width: 767px) {
  .home-voices {
    padding: 80px 24px;
  }
}
.home-voices__inner {
  width: min(100% - clamp(24px, 5vw, 80px) * 2, var(--container-max, 1400px));
  max-width: var(--container-max, 1400px);
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: 80px;
  align-items: center;
  justify-content: center;
}
.home-voices__header {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}
@media (max-width: 767px) {
  .home-voices__header {
    flex-direction: column;
    align-items: flex-start;
    gap: 32px;
  }
}
.home-voices__title-area {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: flex-start;
}
@media (max-width: 767px) {
  .home-voices__title-area {
    width: 100%;
  }
}
.home-voices__label {
  font-family: "Roboto", sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 28.8px;
  color: #206941;
  letter-spacing: 0px;
  margin-bottom: 0;
}
.home-voices__title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.5;
  color: #1a1a1a;
  letter-spacing: 0.05px;
  padding: 4px 8px;
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .home-voices__title {
    font-size: 32px;
    line-height: 1.5;
  }
}
.home-voices__button {
  flex-shrink: 0;
}
@media (max-width: 767px) {
  .home-voices__button {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .home-voices__button .btn {
    width: 100%;
  }
}
.home-voices__button .btn svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}
.home-voices__list {
  width: 100%;
  max-width: 1200px;
  display: flex;
  flex-direction: column;
  gap: 32px;
  align-items: center;
}

.home-customer-voices {
  background-color: #f2f2f2;
  padding: 80px 0 160px;
  position: relative;
}
@media (max-width: 767px) {
  .home-customer-voices {
    padding: 80px 0;
  }
}
.home-customer-voices__inner {
  width: min(100% - clamp(24px, 5vw, 80px) * 2, var(--container-max, 1400px));
  max-width: var(--container-max, 1400px);
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: 80px;
  align-items: center;
  justify-content: center;
}
@media (max-width: 767px) {
  .home-customer-voices__inner {
    gap: 32px;
    max-width: 100%;
    padding: 0 24px;
    margin: 0;
    width: 100%;
  }
}
.home-customer-voices__title-area {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 0;
  align-items: flex-start;
}
@media (max-width: 767px) {
  .home-customer-voices__title-area {
    padding: 0 24px;
  }
}
.home-customer-voices__label {
  font-family: "Roboto", sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 28.8px;
  color: #206941;
  letter-spacing: 0px;
  margin-bottom: 0;
}
.home-customer-voices__title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.5;
  color: #1a1a1a;
  letter-spacing: 0.05px;
  padding: 4px 8px;
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .home-customer-voices__title {
    font-size: 32px;
    line-height: 1.5;
  }
}
.home-customer-voices__content {
  width: 100%;
  max-width: 1200px;
  display: flex;
  justify-content: center;
  align-items: flex-start;
}
.home-customer-voices__button-area {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}
.home-customer-voices__button-area .btn {
  min-width: 170px;
  height: 56px;
  min-height: 44px;
  padding: 0 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  font-size: 14px;
  line-height: 20px;
}
.home-customer-voices__button-area .btn svg {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}

/* =========================================
Guide Top Page
========================================= */
.guide__steps {
  position: relative;
  background-color: #ffffff;
  gap: 48px;
}
@media (max-width: 767px) {
  .guide__steps {
    padding-bottom: 24px;
  }
}
.guide__steps .section-steps {
  margin-block: 48px 0;
}
.guide__related {
  padding-block: 0;
}
.guide__related-container {
  background: #f8f6f1;
  padding: 80px 24px;
  max-width: 1400px;
  margin: 0 auto;
}
.guide__related-title {
  color: #206941;
  margin: 0 0 56px;
  text-align: center;
  font-size: 32px;
}
.guide__related-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 32px;
  max-width: 1280px;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .guide__related-grid {
    grid-template-columns: 1fr;
  }
}
.guide__related-card {
  background: #ffffff;
  border-radius: 8px;
  box-shadow: none;
  padding: 32px 48px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: center;
}
@media (max-width: 767px) {
  .guide__related-card {
    padding: 32px 16px;
  }
}
.guide__related-card:hover, .guide__related-card:focus-visible {
  transform: none;
}
.guide__related-card-icon {
  display: block;
  margin-bottom: 24px;
  width: 48px;
  height: 48px;
}
.guide__related-card-title {
  margin: 0;
  font-size: 21px;
  line-height: 1.4;
  font-weight: 600;
}
.guide__related-card-text {
  margin: 8px 0 16px;
  font-size: 16px;
  color: #1a1a1a;
}
.guide__support {
  background: #ffffff;
  padding-block: 80px;
}
@media (max-width: 767px) {
  .guide__support {
    padding-block: 24px;
  }
}
.guide__support .section-title {
  font-size: clamp(32px, 32px + 0px * (100vw - 375px) / 1025px, 32px);
  color: #206941;
  margin-bottom: 32px;
  text-align: left;
}
.guide__support-lead p {
  font-size: 16px;
  margin: 0 0 24px;
}
.guide__support-hours {
  font-weight: 600;
  font-size: clamp(16px, 16px + 8px * (100vw - 375px) / 1025px, 24px);
  margin: 0 0 40px;
}
.guide__support-hours-label {
  margin-right: 8px;
  font-weight: 600;
}
.guide__support-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 40px;
}
@media (max-width: 900px) {
  .guide__support-grid {
    grid-template-columns: 1fr;
  }
}
.guide__support-card {
  background: #206941;
  color: #ffffff;
  border-radius: 8px;
  padding: 48px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
@media (max-width: 900px) {
  .guide__support-card {
    max-width: 600px;
    margin: 0 auto;
  }
}
@media (max-width: 767px) {
  .guide__support-card {
    padding: 48px 40px;
  }
}
.guide__support-card:hover, .guide__support-card:focus-visible {
  transform: none;
}
.guide__support-card-title {
  margin: 0;
  font-size: clamp(18px, 18px + 3px * (100vw - 375px) / 1025px, 21px);
  font-weight: 600;
  color: #ffffff;
  border-bottom: solid 1px #ffffff;
  width: 100%;
  padding: 16px 0;
  line-height: 1;
}
@media (max-width: 767px) {
  .guide__support-card-title {
    text-align: center;
  }
}
.guide__support-card-text {
  margin: 0;
  font-size: 16px;
  color: #ffffff;
}
.guide__support-sep {
  border: 0;
  border-top: 1px solid white;
  margin: 0;
}
.guide__support .btn {
  width: 100%;
  height: 60px;
  font-size: 18px;
  font-weight: 600;
}
@media (max-width: 1279px) {
  .guide__support .btn {
    margin: auto 0;
  }
}
@media (max-width: 767px) {
  .guide__support .btn {
    margin-bottom: 0;
  }
}
.guide__support-contacts {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 24px;
  width: 100%;
}
@media (max-width: 1279px) {
  .guide__support-contacts {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}
.guide__support-divider {
  width: 1px;
  height: 100%;
  background: #ffffff;
}
@media (max-width: 767px) {
  .guide__support-divider {
    display: none;
  }
}
.guide__support-contact {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 16px;
}
.guide__support-contact-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
}
.guide__support-contact-icon {
  width: 24px;
  height: 24px;
  flex: 0 0 auto;
}
.guide__support-contact-label {
  font-weight: 600;
  line-height: 1;
}
.guide__support-contact-value {
  font-weight: 600;
  font-size: clamp(21px, 21px + 3px * (100vw - 375px) / 1025px, 24px);
  color: #ffffff;
  text-decoration: none;
  line-height: 1;
}
.guide__support-contact-value:hover, .guide__support-contact-value:focus-visible {
  color: #ffffff;
  text-decoration: none;
}
.guide__support-note {
  margin-top: 48px;
  font-size: 16px;
}

/* =========================================
Guide Account Page
========================================= */
.guide-account-register {
  padding-top: 120px;
}
@media (max-width: 767px) {
  .guide-account-register {
    padding-top: 56px;
  }
}
.guide-account-register__support {
  margin-top: 40px;
}
@media (max-width: 767px) {
  .guide-account-register {
    padding-block: 56px 80px;
  }
  .guide-account-register__inner {
    gap: 24px;
  }
}
.guide-account-update {
  padding-block: 112px;
}
@media (max-width: 767px) {
  .guide-account-update {
    padding-block: 56px 64px;
  }
}
.guide-account-update .section-steps__list-01 {
  margin-bottom: 72px;
}
.guide-account-update .card--step-bordered {
  background-color: #ffffff;
}
.guide-account-delete {
  padding-top: 0;
}
@media (max-width: 767px) {
  .guide-account-delete {
    padding-bottom: 64px;
  }
}
.guide-account-delete .section-title-group__title {
  margin-bottom: 0;
}
.guide-account-delete .section-steps {
  margin-bottom: 24px;
}
.guide-account-delete .card--step-bordered {
  background-color: #ffffff;
}

/* =========================================
Guide Subscription Page
========================================= */
.guide-subscription {
  padding-block: 120px 80px;
}
@media (max-width: 767px) {
  .guide-subscription {
    padding-block: 56px 32px;
  }
}
.guide-subscription-personal__infos .section-info, .guide-subscription-group__infos .section-info {
  margin: 0 24px 80px;
}
.guide-subscription-personal__infos .section-info__title, .guide-subscription-group__infos .section-info__title {
  font-size: 21px;
  font-weight: 600;
  padding: 4px 8px;
  border-top: 1px solid #206941;
  border-bottom: 1px solid #206941;
  margin: 0 0 32px;
  color: #206941;
}
.guide-subscription-personal__infos .section-info__body, .guide-subscription-group__infos .section-info__body {
  font-size: 16px;
}
.guide-subscription-personal__infos .section-info__body p, .guide-subscription-group__infos .section-info__body p {
  margin: 0;
}
.guide-subscription-personal__infos .section-info:last-child, .guide-subscription-group__infos .section-info:last-child {
  margin-bottom: 0;
}
.guide-subscription__cards {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: stretch;
  gap: 32px;
  margin: 72px auto 0;
}
@media (max-width: 767px) {
  .guide-subscription__cards {
    flex-direction: column;
    gap: 24px;
    margin-top: 48px;
  }
}
.guide-subscription__card {
  flex: 1 1 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 32px;
  padding: 32px;
  border-radius: 16px;
  background-color: #f3fbf7;
  color: #1a1a1a;
  text-decoration: none;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.guide-subscription__card:hover, .guide-subscription__card:focus {
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(32, 105, 65, 0.1);
  color: #206941;
}
.guide-subscription__image {
  height: 80px;
  max-width: 100%;
  width: auto;
  display: block;
  -o-object-fit: contain;
     object-fit: contain;
}
.guide-subscription__title {
  font-size: 24px;
  font-weight: 600;
  color: #206941;
  margin: 0;
}
.guide-subscription__description {
  margin: 0;
  text-align: left;
}
.guide-subscription__overview {
  position: relative;
  width: 100%;
  margin: 0 auto 24px;
  padding: 56px clamp(24px, 5vw, 80px);
  border-radius: 8px;
  background-color: #f8f6f1;
  overflow: hidden;
}
.guide-subscription__overview::before, .guide-subscription__overview::after {
  content: "";
  position: absolute;
  width: 424px;
  height: 424px;
  background: url("../../public/assets/images/common/bg-dot-secondary.png") no-repeat center/contain;
  pointer-events: none;
}
.guide-subscription__overview::before {
  left: 0;
  bottom: 0;
  transform: translate(-50%, 50%);
}
.guide-subscription__overview::after {
  right: 0;
  top: 0;
  transform: translate(50%, -50%);
}
@media (max-width: 1023px) {
  .guide-subscription__overview {
    padding: 32px 24px;
    margin: 0 auto 48px;
  }
  .guide-subscription__overview::before, .guide-subscription__overview::after {
    width: 217px;
    height: 217px;
    transform: none;
  }
  .guide-subscription__overview::before {
    top: 0;
    left: 0;
    bottom: auto;
    transform: translate(-50%, -50%);
  }
  .guide-subscription__overview::after {
    top: auto;
    right: 0;
    bottom: 0;
    transform: translate(50%, 50%);
  }
}
.guide-subscription__overview-content {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 48px;
  width: min(100%, 1200px);
  margin: 0 auto;
}
@media (max-width: 1023px) {
  .guide-subscription__overview-content {
    flex-direction: column;
    align-items: center;
    gap: 24px;
  }
}
.guide-subscription__overview-content .section-title-group {
  margin: 0;
}
.guide-subscription__overview-body {
  flex: 1 1 0;
  max-width: 600px;
}
@media (max-width: 1023px) {
  .guide-subscription__overview-body {
    text-align: center;
    margin: 0 auto;
  }
}
.guide-subscription__overview-body .section-title-group__lead {
  margin-bottom: 48px;
}
@media (max-width: 1023px) {
  .guide-subscription__overview-body .section-title-group__lead {
    margin-left: 8px;
    margin-bottom: 24px;
    text-align: left;
  }
}
.guide-subscription__order {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  margin-bottom: 40px;
  border-radius: 999px;
  background-color: #206941;
  color: #ffffff;
  font-weight: 600;
  font-size: 18px;
  line-height: 1;
  padding-bottom: 3px;
}
.guide-subscription__overview-media {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 300px;
}
@media (max-width: 1023px) {
  .guide-subscription__overview-media {
    width: 100%;
    width: 300px;
    height: 200px;
    margin-inline: auto;
  }
}
.guide-subscription__overview-image {
  height: 135px;
  width: auto;
  max-width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
@media (max-width: 1023px) {
  .guide-subscription__overview-image--personal {
    height: 147px;
  }
}
@media (max-width: 1023px) {
  .guide-subscription__overview-image--group {
    height: 114px;
  }
}
.guide-subscription-personal, .guide-subscription-group {
  scroll-margin-top: 120px;
}
@media (max-width: 767px) {
  .guide-subscription-personal, .guide-subscription-group {
    scroll-margin-top: 80px;
  }
}
.guide-subscription-personal .section-steps, .guide-subscription-group .section-steps {
  width: min(100% - clamp(24px, 5vw, 80px) * 2, 1200px);
  max-width: 1200px;
  margin-inline: auto;
  margin-bottom: 48px;
}
@media (max-width: 767px) {
  .guide-subscription-personal .section-steps, .guide-subscription-group .section-steps {
    margin-inline: 0;
    width: 100%;
  }
}
.guide-subscription-personal .section-infos, .guide-subscription-group .section-infos {
  width: min(100% - clamp(24px, 5vw, 80px) * 2, 1200px);
  max-width: 1200px;
  margin-inline: auto;
}
@media (max-width: 767px) {
  .guide-subscription-personal .section-infos, .guide-subscription-group .section-infos {
    margin-inline: 0;
    width: 100%;
  }
}
.guide-subscription-personal {
  padding-top: 0;
  padding-bottom: 104px;
}
@media (max-width: 767px) {
  .guide-subscription-personal {
    padding-bottom: 56px;
  }
}
.guide-subscription-group {
  padding-top: 0;
  padding-bottom: 80px;
}
@media (max-width: 767px) {
  .guide-subscription-group {
    padding-bottom: 24px;
  }
}
.guide-subscription-group__support {
  width: min(100% - clamp(24px, 5vw, 80px) * 2, 1200px);
  max-width: 1200px;
  margin-inline: auto;
}
@media (max-width: 767px) {
  .guide-subscription-group__support {
    margin-inline: 0;
    width: 100%;
  }
}
.guide-subscription-group .section-infos {
  margin-bottom: 56px;
}

/* =========================================
Guide Update Page
========================================= */
.guide-update-change {
  padding-top: 120px;
}
@media (max-width: 767px) {
  .guide-update-change {
    padding-top: 56px;
    padding-bottom: 80px;
  }
}
.guide-update-change .section-title-group {
  margin-bottom: 112px;
}
@media (max-width: 767px) {
  .guide-update-change .section-title-group {
    margin-bottom: 56px;
  }
}
.guide-update-change .section-steps {
  margin-bottom: 48px;
}

.contact {
  background: #ffffff;
}
.contact__inner {
  --container-max: 760px;
}

/* ============================================================
   フォーム全体
============================================================ */
.lg-form {
  font-family: "Noto Sans JP", sans-serif;
  color: #1a1a1a;
}

.lg-form p:not([class]) {
  margin: 0;
}

.lg-form__fields[hidden],
.lg-form__actions[hidden],
.lg-form__confirm[hidden] {
  display: none !important;
}

/* ---- 入力行 ---- */
.lg-form__fields {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.lg-form__row {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 16px 24px;
  align-items: start;
}
@media (max-width: 1023px) {
  .lg-form__row {
    grid-template-columns: 1fr;
    gap: 8px;
  }
}

.lg-form__label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding-top: 10px;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.6;
}
@media (max-width: 1023px) {
  .lg-form__label {
    padding-top: 0;
  }
}

.lg-form__req {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 2px;
  background: #f00000;
  color: #ffffff;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.04em;
}

.lg-form__req--optional {
  display: none;
}

.lg-form__control {
  min-width: 0;
}

.lg-form__note {
  margin-top: 4px;
  color: #666666;
  font-size: 13px;
  line-height: 1.6;
}

/* ============================================================
   入力コントロール（CF7）
============================================================ */
.lg-form input[type=text],
.lg-form input[type=email],
.lg-form input[type=tel],
.lg-form input[type=number],
.lg-form input[type=url],
.lg-form textarea,
.lg-form select {
  width: 100%;
  padding: 11px 14px;
  border: 1px solid #cccccc;
  border-radius: 4px;
  background: #ffffff;
  color: #1a1a1a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  line-height: 1.6;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.lg-form input[type=text]::-moz-placeholder, .lg-form input[type=email]::-moz-placeholder, .lg-form input[type=tel]::-moz-placeholder, .lg-form input[type=number]::-moz-placeholder, .lg-form input[type=url]::-moz-placeholder, .lg-form textarea::-moz-placeholder, .lg-form select::-moz-placeholder {
  color: #cccccc;
}
.lg-form input[type=text]::placeholder,
.lg-form input[type=email]::placeholder,
.lg-form input[type=tel]::placeholder,
.lg-form input[type=number]::placeholder,
.lg-form input[type=url]::placeholder,
.lg-form textarea::placeholder,
.lg-form select::placeholder {
  color: #cccccc;
}
.lg-form input[type=text]:focus,
.lg-form input[type=email]:focus,
.lg-form input[type=tel]:focus,
.lg-form input[type=number]:focus,
.lg-form input[type=url]:focus,
.lg-form textarea:focus,
.lg-form select:focus {
  outline: none;
  border-color: #206941;
  box-shadow: 0 0 0 3px rgba(107, 209, 153, 0.35);
}
.lg-form textarea {
  min-height: 160px;
  resize: vertical;
}
.lg-form select {
  padding-right: 40px;
  background-image: linear-gradient(45deg, transparent 50%, #206941 50%), linear-gradient(135deg, #206941 50%, transparent 50%);
  background-position: calc(100% - 18px) 50%, calc(100% - 13px) 50%;
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
  cursor: pointer;
}

/* ---- ラジオ / チェックボックス ---- */
.lg-form .wpcf7-radio,
.lg-form .wpcf7-checkbox {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 24px;
}
.lg-form .wpcf7-list-item {
  margin: 0;
}
.lg-form .wpcf7-list-item label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  font-size: 15px;
  line-height: 1.6;
}
.lg-form .wpcf7-list-item input[type=radio],
.lg-form .wpcf7-list-item input[type=checkbox] {
  width: 18px;
  height: 18px;
  accent-color: #206941;
  cursor: pointer;
}
.lg-form .wpcf7-list-item.is-disabled label {
  cursor: not-allowed;
  opacity: 0.45;
}
.lg-form .wpcf7-list-item input[type=radio]:disabled,
.lg-form .wpcf7-list-item input[type=checkbox]:disabled {
  cursor: not-allowed;
}

/* ============================================================
   同意（プライバシーポリシー）
============================================================ */
.lg-form__agree {
  margin-top: 32px;
  padding: 24px;
  border: 1px solid #e5e5e5;
  border-radius: 6px;
  background: #f9fafb;
  text-align: center;
}
.lg-form__agree .wpcf7-list-item {
  margin: 0;
}
.lg-form__agree a {
  color: #206941;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.lg-form__agree a:hover {
  color: #298552;
}

/* ============================================================
   バリデーション表示
============================================================ */
.lg-form__row.is-error input[type=text],
.lg-form__row.is-error input[type=email],
.lg-form__row.is-error input[type=tel],
.lg-form__row.is-error textarea,
.lg-form__row.is-error select {
  border-color: #f00000;
}

.lg-form__error {
  display: block;
  margin-top: 4px;
  color: #f00000;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.5;
}

.lg-form .wpcf7-not-valid-tip {
  margin-top: 4px;
  color: #f00000;
  font-size: 13px;
  line-height: 1.5;
}
.lg-form .wpcf7-response-output {
  margin: 24px 0 0;
  padding: 16px;
  border-radius: 4px;
  font-size: 14px;
  line-height: 1.6;
}
.lg-form .wpcf7-mail-sent-ok {
  border: 1px solid #206941;
  background: #f3fbf7;
  color: #10331f;
}
.lg-form .wpcf7-validation-errors,
.lg-form .wpcf7-mail-sent-ng,
.lg-form .wpcf7-spam-blocked,
.lg-form .wpcf7-acceptance-missing {
  border: 1px solid #f00000;
  background: rgba(240, 0, 0, 0.06);
  color: #f00000;
}

/* ============================================================
   アクション（ボタン）
============================================================ */
.lg-form__actions {
  margin-top: 32px;
  display: flex;
  justify-content: center;
}

.lg-form__to-confirm,
.lg-form__confirm-actions .wpcf7-submit {
  --btn-minw: 280px;
  --btn-h: 52px;
  font-size: 16px;
}

/* CF7 送信ボタン（.btn と併用しても確実にプライマリ表示） */
.lg-form .wpcf7-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 280px;
  height: 52px;
  padding-inline: 24px;
  border: 1px solid #206941;
  border-radius: 4px;
  background: #206941;
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
.lg-form .wpcf7-submit:hover {
  background: #298552;
  border-color: #298552;
}
.lg-form .wpcf7-submit:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.lg-form .wpcf7-spinner {
  margin-left: 8px;
}

/* ============================================================
   確認画面
============================================================ */
.lg-form__confirm-title {
  margin: 0 0 24px;
  padding-bottom: 8px;
  border-bottom: 2px solid #206941;
  font-size: 24px;
  font-weight: 600;
  color: #10331f;
  text-align: center;
}

.lg-form__confirm-list {
  margin: 0;
  border-top: 1px solid #e5e5e5;
}

.lg-form__confirm-term {
  padding: 16px 16px 2px;
  font-size: 14px;
  font-weight: 600;
  color: #666666;
}

.lg-form__confirm-desc {
  margin: 0;
  padding: 0 16px 16px;
  border-bottom: 1px solid #e5e5e5;
  font-size: 16px;
  line-height: 1.7;
  word-break: break-word;
}

@media (min-width: 768px) {
  .lg-form__confirm-list {
    display: grid;
    grid-template-columns: 220px 1fr;
  }
  .lg-form__confirm-term {
    padding: 16px;
    border-bottom: 1px solid #e5e5e5;
  }
  .lg-form__confirm-desc {
    padding: 16px;
  }
}
.lg-form__confirm-empty {
  color: #cccccc;
}

.lg-form__confirm-lead {
  margin: 0 0 24px;
  text-align: center;
  font-size: 15px;
  line-height: 1.7;
  color: #666666;
}

.lg-form__confirm-actions {
  margin-top: 32px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px 24px;
}
.lg-form__confirm-actions p {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px 24px;
  margin: 0;
}
.lg-form__confirm-actions br {
  display: none;
}

.lg-form__back {
  min-width: 0;
  height: auto;
  padding: 4px 8px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #206941;
  font-size: 15px;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.lg-form__back:hover {
  background: transparent;
  color: #298552;
  text-decoration: underline;
}

/* 確認画面では同意欄を隠す（同意チェックは入力ステップでのみ表示） */
.lg-form.is-confirming .lg-form__agree {
  display: none;
}

/* 送信完了後はフォーム要素をすべて隠す（完了画面のみ表示） */
.lg-form.is-sent .lg-form__fields,
.lg-form.is-sent .lg-form__agree,
.lg-form.is-sent .lg-form__actions,
.lg-form.is-sent .lg-form__confirm {
  display: none;
}

.lg-form.is-sent ~ .wpcf7-response-output {
  display: none;
}

/* ============================================================
   送信完了画面（JSで is-sent 時に差し込まれる .lg-form__done）
============================================================ */
.lg-form__done {
  text-align: center;
  padding: 80px 24px;
}
@media (max-width: 767px) {
  .lg-form__done {
    padding: 48px 16px;
  }
}

.lg-form__done-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 88px;
  height: 88px;
  margin-bottom: 24px;
  border-radius: 9999px;
  background: linear-gradient(135deg, #6bd199, #206941);
  color: #ffffff;
  box-shadow: 0 10px 28px rgba(32, 105, 65, 0.28);
  animation: lg-done-pop 0.5s cubic-bezier(0.25, 0.1, 0.25, 1) both;
}
.lg-form__done-icon svg {
  width: 44px;
  height: 44px;
}

@keyframes lg-done-pop {
  0% {
    transform: scale(0.6);
    opacity: 0;
  }
  60% {
    transform: scale(1.08);
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
.lg-form__done-title {
  margin: 0 0 16px;
  font-size: 24px;
  font-weight: 600;
  color: #10331f;
}
@media (max-width: 767px) {
  .lg-form__done-title {
    font-size: 20px;
  }
}

.lg-form__done-text {
  margin: 0 auto 16px;
  max-width: 36em;
  text-align: center;
  font-size: 16px;
  line-height: 1.9;
  color: #1a1a1a;
}

.lg-form__done-note {
  margin: 0 auto 64px;
  max-width: 36em;
  text-align: center;
  font-size: 13px;
  line-height: 1.8;
  color: #666666;
}

.lg-form__done-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
}
@media (max-width: 767px) {
  .lg-form__done-actions {
    flex-direction: column;
    align-items: stretch;
  }
}

.lg-form__done-btn {
  --btn-minw: 220px;
  --btn-h: 52px;
  font-size: 16px;
}

.privacy-policy {
  padding-block: 80px 160px;
}
@media (max-width: 767px) {
  .privacy-policy {
    padding-block: 32px;
  }
}
.privacy-policy .section-title {
  letter-spacing: normal;
  text-align: left !important;
}
.privacy-policy .section-title p {
  margin-bottom: 16px;
  line-height: 1.7;
}

.terms-of-service {
  padding-block: 80px 160px;
}
@media (max-width: 767px) {
  .terms-of-service {
    padding-block: 32px;
  }
}
.terms-of-service__inner {
  display: flex;
  flex-direction: column;
  gap: 64px;
}
.terms-of-service__switch {
  width: min(100%, 508px);
  margin-inline: auto;
}
.terms-of-service .terms-switch {
  position: relative;
  display: flex;
  align-items: stretch;
  padding: 4px;
  border-radius: 999px;
  background: #e5e5e5;
  overflow: hidden;
}
.terms-of-service .terms-switch__indicator {
  position: absolute;
  top: 4px;
  left: 0;
  width: calc((100% - 8px) / 2);
  height: calc(100% - 8px);
  border-radius: 999px;
  background: #206941;
  transform: translateX(0);
  transition: transform 0.3s ease, width 0.3s ease;
  z-index: 1;
  pointer-events: none;
}
.terms-of-service .terms-switch__tab {
  flex: 1 1 0;
  max-width: 250px;
  position: relative;
  z-index: 2;
  border: none;
  background: transparent;
  color: #206941;
  font-size: 18px;
  padding: 0 24px;
  height: 60px;
  border-radius: 999px;
  cursor: pointer;
  transition: color 0.3s ease;
}
.terms-of-service .terms-switch__tab:focus {
  outline: none;
}
.terms-of-service .terms-switch__tab:focus-visible {
  outline: 2px solid rgba(32, 105, 65, 0.35);
  outline-offset: 2px;
}
.terms-of-service .terms-switch__tab:not(.is-active):hover {
  color: #6bd199;
}
.terms-of-service .terms-switch__tab.is-active {
  color: #ffffff;
  font-size: 18px;
}
@media (max-width: 767px) {
  .terms-of-service .terms-switch__tab {
    height: 52px;
    padding: 0 16px;
    font-size: 15px;
  }
  .terms-of-service .terms-switch__tab.is-active {
    font-size: 16px;
  }
}
.terms-of-service__panels {
  display: flex;
  flex-direction: column;
  gap: 64px;
}
.terms-of-service__panel {
  display: none;
}
.terms-of-service__panel.is-active {
  display: block;
}
.terms-of-service__lead {
  font-size: 18px;
  margin-bottom: 24px;
}
.terms-of-service__chapter:last-of-type {
  margin-bottom: 0;
}
.terms-of-service__article-title {
  font-size: 18px;
  font-weight: 600;
  margin: 24px 0 32px;
}
.terms-of-service__paragraph {
  font-size: 16px;
  margin: 0;
  padding-block: 0 16px;
}
.terms-of-service__paragraph:last-child {
  margin-bottom: 0;
}
.terms-of-service .section-title {
  letter-spacing: normal;
  margin-bottom: 0;
}
.terms-of-service .section-title p {
  margin-bottom: 16px;
  line-height: 1.7;
}

.error-404 {
  padding: 80px 0 120px;
  min-height: 100vh;
  display: flex;
  align-items: center;
}
@media (max-width: md) {
  .error-404 {
    padding: 120px 0 160px;
  }
}
.error-404__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  text-align: center;
}
@media (max-width: md) {
  .error-404__inner {
    flex-direction: row;
    gap: 80px;
    text-align: left;
  }
}
.error-404__content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
@media (max-width: md) {
  .error-404__content {
    gap: 32px;
  }
}
.error-404__code {
  font-size: 80px;
  font-weight: 700;
  line-height: 1;
  color: #206941;
  font-family: "Roboto", sans-serif;
}
@media (max-width: md) {
  .error-404__code {
    font-size: 120px;
  }
}
.error-404__heading {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
  color: #1a1a1a;
}
@media (max-width: md) {
  .error-404__heading {
    font-size: 32px;
  }
}
.error-404__description {
  font-size: 14px;
  line-height: 1.8;
  color: #666666;
}
@media (max-width: md) {
  .error-404__description {
    font-size: 16px;
  }
}
.error-404__actions {
  margin-top: 16px;
}
@media (max-width: md) {
  .error-404__actions {
    margin-top: 24px;
  }
}
.error-404__actions .btn {
  min-width: 240px;
}
.error-404__image {
  flex: 1;
  max-width: 400px;
  width: 100%;
}
@media (max-width: md) {
  .error-404__image {
    max-width: 500px;
  }
}
.error-404__image img {
  width: 100%;
  height: auto;
}
/*# sourceMappingURL=style.min.css.map */
