@charset "UTF-8";
/* ============================================
** reset
=============================================== */
* {
  margin: 0;
  padding: 0;
  line-height: calc(0.25rem + 1em + 0.25rem);
}

*,
::before,
::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-width: 0;
  border-style: solid;
  min-inline-size: 0;
}

*:where(:not(fieldset, progress, meter)) {
  border-width: 0;
  border-style: solid;
  background-repeat: no-repeat;
  background-origin: border-box;
}

:where(html) {
  block-size: 100%;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  line-height: 1.5;
  hyphens: auto;
  text-align: start;
  word-break: normal;
  overflow-wrap: anywhere;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
  hanging-punctuation: first last allow-end;
  line-break: strict;
}

:where(html):where(:lang(ja)) {
  -webkit-font-kerning: none;
  font-kerning: none;
}

:where(body) {
  margin: unset;
  min-block-size: 100svb;
}

:where(h1, h2, h3, h4, h5, h6) {
  margin-block: unset;
  font-size: unset;
}

:where(p, h1, h2, h3, h4, h5, h6) {
  overflow-wrap: break-word;
}

:where(search) {
  display: block;
}

:where(p, blockquote, figure, pre, address, ul, ol, dl) {
  margin-block: unset;
}

:where(blockquote, figure) {
  margin-inline: unset;
}

:where(address):where(:lang(ja)) {
  font-style: unset;
}

:where(ul, ol) {
  -webkit-padding-start: unset;
  padding-inline-start: unset;
  list-style-type: "";
  list-style-position: inside;
}

:where(dt) {
  font-weight: 700;
}

:where(dd) {
  -webkit-margin-start: unset;
  margin-inline-start: unset;
}

:where(hr) {
  border-block-start-width: 1px;
}

:where(pre) {
  -moz-tab-size: 2;
  -o-tab-size: 2;
  tab-size: 2;
}

:where(img, svg, video, canvas, audio, iframe, embed, object) {
  display: block;
  vertical-align: middle;
}

:where(img, svg, video) {
  max-inline-size: 100%;
  block-size: auto;
}

:where(:-webkit-any-link) {
  color: unset;
  -webkit-text-decoration-line: none;
  background-color: unset;
  text-decoration-line: none;
  text-decoration-thickness: from-font;
  text-underline-offset: 0.25em;
}

:where(:-moz-any-link) {
  background-color: unset;
  color: unset;
  text-decoration-line: none;
  text-decoration-thickness: from-font;
  text-underline-offset: 0.25em;
}

:where(:any-link) {
  color: unset;
  -webkit-text-decoration-line: none;
  background-color: unset;
  text-decoration-line: none;
  text-decoration-thickness: from-font;
  text-underline-offset: 0.25em;
}

:where(svg) {
  vertical-align: middle;
  fill: currentcolor;
  stroke: none;
}

:where(svg):where(:not([fill])) {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

:where(svg):where(:not([width])) {
  inline-size: 5rem;
}

:where(input, button, textarea, select),
:where(input[type="file"])::-webkit-file-upload-button {
  color: inherit;
  font: inherit;
  font-size: inherit;
  letter-spacing: inherit;
  word-spacing: inherit;
}

:where(textarea) {
  margin-block: unset;
  resize: block;
  field-sizing: content;
}

@supports (resize: block) {
  :where(textarea) {
    resize: block;
  }
}
:where(
    a[href],
    area,
    button,
    input,
    label[for],
    select,
    summary,
    textarea,
    [tabindex]:not([tabindex*="-"])
  ) {
  -ms-touch-action: manipulation;
  cursor: pointer;
  touch-action: manipulation;
}

:where(input[type="file"]) {
  cursor: auto;
}

:where(input[type="file"])::-webkit-file-upload-button {
  cursor: pointer;
}

:where(input[type="file"])::-webkit-file-upload-button,
:where(input[type="file"])::file-selector-button {
  cursor: pointer;
}
:where(:not(:active)):focus-visible {
  outline-offset: 5px;
}

:where(input[type="file"])::-webkit-file-upload-button {
  text-align: center;
  -webkit-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
}

:where(
    button,
    button[type],
    input[type="button"],
    input[type="submit"],
    input[type="reset"]
  ),
:where(input[type="file"])::-webkit-file-upload-button,
:where(input[type="file"])::file-selector-button {
  text-align: center;
  -webkit-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
}

::-webkit-file-upload-button {
  vertical-align: middle;
  border-width: 1px;
  border-color: transparent;
  border-radius: unset;
  background-color: unset;
  padding: unset;
  color: unset;
  font: unset;
  letter-spacing: unset;
  text-align: unset;
  text-transform: unset;
}

:where(button, input, select, textarea),
::file-selector-button {
  vertical-align: middle;
  border-width: 1px;
  border-color: transparent;
  border-radius: unset;
  background-color: unset;
  padding: unset;
  color: unset;
  font: unset;
  letter-spacing: unset;
  text-align: unset;
  text-transform: unset;
}

:where(
    button,
    button[type],
    input[type="button"],
    input[type="submit"],
    input[type="reset"]
  )[disabled] {
  cursor: not-allowed;
}

:where(:focus:not(:focus-visible)) {
  outline: none;
}

:where(summary) {
  display: block;
  cursor: pointer;
}

::-webkit-details-marker {
  display: none;
}

:where(dialog) {
  background-color: unset;
  padding: unset;
  inline-size: unset;
  max-inline-size: unset;
  block-size: unset;
  max-block-size: unset;
  overflow: unset;
  color: unset;
}

:where([popover]) {
  background-color: unset;
  padding: unset;
  inline-size: unset;
  block-size: unset;
  overflow: unset;
  color: unset;
}

::-ms-backdrop {
  background-color: unset;
}

::backdrop {
  background-color: unset;
}

/* ============================================
** 変数
=============================================== */
:root {
  --color-primary: #666;
  --color-black: #000;
  --color-white: #fff;
  --color-green: #5e9381;
  --color-light-green: #71b072;
  --color-dark-green: #6d7b6d;
  --color-orange: #f4b500;
  --color-olive: #c0bc1e;
  --color-pink: #ffe2e2;
  --color-cream: #fde6a4;
  --color-light-cream: #fff0c4;
  --color-gray: #f7f8f5;
  --noto-sans-jp: "Noto Sans JP", sans-serif;
  --montserrat: "Montserrat", sans-serif;
  --weight-light: 300;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semi-bold: 600;
  --weight-bold: 700;
  --padding-pc: 25px;
  --padding-sp: 20px;
  --inner-width: 1080px;
}

/* ============================================
** bodyなどサイト全体リセット上書き
=============================================== */
html {
  scroll-padding-block-start: var(--header-block-size);
  font-size: 62.5%;
}

body {
  color: var(--color-primary);
  font-weight: var(--weight-regular);
  font-family: var(--noto-sans-jp);
}
body.is-active {
  overflow: hidden;
  -ms-scroll-chaining: none;
  overscroll-behavior: none;
  -ms-touch-action: none;
  touch-action: none;
}

a[href^="tel:"] {
  pointer-events: none;
}

/* ============================================
** heading
=============================================== */
.primaryHeading {
  font-weight: var(--weight-bold);
  font-size: 4.7rem;
  line-height: 1.4042553191;
}

.lowerHeading-main {
  -webkit-margin-before: -1rem;
  margin-block-start: -1rem;
  color: var(--color-green);
  font-weight: var(--weight-bold);
  font-size: 4.1rem;
  line-height: 1.4634146341;
  letter-spacing: 0.04em;
}
.lowerHeading-main span {
  color: var(--color-orange);
}

.lowerHeading-sub {
  color: var(--color-light-cream);
  font-weight: var(--weight-semi-bold);
  font-size: 8.6rem;
  line-height: 1.1744186047;
  font-family: var(--montserrat);
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

/* ============================================
** gnav
=============================================== */
.gnav {
  display: grid;
  grid-auto-flow: column;
  -webkit-column-gap: 1.5rem;
  -moz-column-gap: 1.5rem;
  column-gap: 1.5rem;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  justify-self: end;
}

.gnav_link {
  color: #4a4a4a;
  font-weight: var(--weight-bold);
  font-size: 1.6rem;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

/* ============================================
** menu
=============================================== */
.menu {
  display: grid;
  grid-auto-flow: column;
  grid-area: menu;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

/* ============================================
** burger
=============================================== */
.burger {
  display: none;
  pointer-events: none;
}
.burger::after {
  position: absolute;
  inset: -10px;
  content: "";
}
.burger[aria-expanded="true"] .burger_line {
  --translate: 0px;
  --rotate: 45deg;
  background-color: transparent;
}
.burger[aria-expanded="true"] .burger_line::before {
  translate: 0 var(--translate);
  rotate: var(--rotate);
  background-color: var(--color-white);
}
.burger[aria-expanded="true"] .burger_line::after {
  translate: 0 calc(var(--translate) * -1);
  rotate: calc(var(--rotate) * -1);
  background-color: var(--color-white);
}

.burger_line {
  --translate: 8px;
  --rotate: 0deg;
  --burger-color: var(--color-orange);
  display: inline-grid;
  grid-area: 1/1/-1/-1;
  place-items: center;
  background-color: var(--burger-color);
  inline-size: inherit;
  block-size: 2px;
}
.burger_line::before,
.burger_line::after {
  position: absolute;
  grid-column: 1/-1;
  background-color: var(--burger-color);
  inline-size: inherit;
  block-size: inherit;
  content: "";
  -webkit-transition: translate 0.3s, rotate 0.3s, background-color 0.3s;
  transition: translate 0.3s, rotate 0.3s, background-color 0.3s;
}
.burger_line::before {
  translate: 0 var(--translate);
  rotate: var(--rotate);
}
.burger_line::after {
  translate: 0 calc(var(--translate) * -1);
  rotate: var(--rotate);
}

/* ============================================
** drawer
=============================================== */
.drawer {
  display: grid;
  position: fixed;
  place-items: center;
  visibility: hidden;
  opacity: 0;
  z-index: 9999;
  margin-inline: auto;
  inset: 0;
  background-color: var(--color-light-green);
  overflow-y: auto;
}

.drawer_inner {
  inline-size: 100%;
  -webkit-padding-after: 6vw;
  padding-inline: 6vw;
  padding-block-end: 6vw;
  -webkit-margin-before: calc(var(--header-block-size) + 2.1rem);
  margin-block-start: calc(var(--header-block-size) + 2.1rem);
}

.drawer_item {
  overflow: hidden;
  text-align: center;
}
.drawer_item:last-child .drawer_link {
  -webkit-border-after: 1px solid var(--color-white);
  border-block-end: 1px solid var(--color-white);
}

.drawer_link {
  display: block;
  padding-block: 2rem;
  color: var(--color-white);
  font-size: 1.6rem;
  text-transform: uppercase;
  -webkit-border-before: 1px solid var(--color-white);
  border-block-start: 1px solid var(--color-white);
}

.drawer_logoBlock {
  -webkit-margin-before: 3.8rem;
  margin-block-start: 3.8rem;
}

.drawer_logo {
  margin-inline: auto;
  inline-size: max(13rem, 15lvw);
}
.drawer_logo img {
  inline-size: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}

.drawer_logoLead {
  -webkit-margin-before: 0.5rem;
  margin-block-start: 0.5rem;
  color: var(--color-white);
  font-weight: var(--weight-medium);
  font-size: 1.2rem;
  line-height: 1.3333333333;
  letter-spacing: 0.02em;
  text-align: center;
}

/* ============================================
** button
=============================================== */
.button {
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.primaryButtonWrapper {
  display: grid;
  inline-size: min(50rem, 100%);
  min-block-size: 8.5rem;
  text-align: center;
}

.primaryButton {
  display: inline-grid;
  grid-template-columns: -webkit-max-content auto;
  grid-template-columns: max-content auto;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-start-start-radius: 8rem;
  border-end-end-radius: 8rem;
  background-color: var(--back-ground-color);
  color: var(--color-white);
  font-weight: var(--weight-bold);
  font-size: 2.3rem;
  line-height: 1.3043478261;
  letter-spacing: 0.02em;
  -webkit-transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
  transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
}
.primaryButton::before,
.primaryButton::after {
  grid-row: 1;
  grid-column: 2;
  pointer-events: none;
  content: "";
  -webkit-transition: background-color 0.3s ease-in-out;
  transition: background-color 0.3s ease-in-out;
}
.primaryButton::before {
  border-radius: 50%;
  background-color: var(--icon-color);
  aspect-ratio: 1;
  inline-size: 4rem;
}
.primaryButton::after {
  place-self: center;
  background-color: var(--icon-arrow-color);
  aspect-ratio: 1;
  inline-size: 1.7rem;
  -webkit-mask-image: url("../images/common/icon/icon-arrow-right.svg");
  mask-image: url("../images/common/icon/icon-arrow-right.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}
.primaryButton.--green {
  --back-ground-color: var(--color-light-green);
  --icon-color: var(--color-orange);
  --icon-arrow-color: var(--color-white);
}
.primaryButton.--green:focus-visible {
  --back-ground-color: var(--color-orange);
}
.primaryButton.--green:focus-visible::before {
  --icon-color: var(--color-green);
}
.primaryButton.--orange {
  --back-ground-color: var(--color-orange);
  --icon-color: var(--color-white);
  --icon-arrow-color: var(--color-green);
}
.primaryButton.--orange:focus-visible {
  --back-ground-color: var(--color-white);
  color: var(--color-green);
}
.primaryButton.--orange:focus-visible::before {
  --icon-color: var(--color-orange);
}
.primaryButton.--orange:focus-visible::after {
  --icon-arrow-color: var(--color-white);
}

.bannerButtonWrapper {
  display: grid;
  inline-size: min(32.6rem, 100%);
  min-block-size: 25rem;
  text-align: center;
}

.bannerButton {
  --banner-button-color: transparent;
  --font-color: var(--color-white);
  display: inline-grid;
  grid-template-rows: 1fr auto 1fr;
  grid-template-areas: "icon" "text" "time";
  place-items: center;
  background-color: var(--banner-button-color);
  color: var(--font-color);
  font-size: 3.2rem;
  letter-spacing: 0.02em;
  -webkit-transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
  transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
}
.bannerButton::before {
  --icon-color: var(--color-white);
  grid-area: icon;
  align-self: end;
  -webkit-margin-after: 1.5rem;
  margin-block-end: 1.5rem;
  background-color: var(--icon-color);
  pointer-events: none;
  content: "";
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-transition: background-color 0.3s ease-in-out;
  transition: background-color 0.3s ease-in-out;
}
.bannerButton.--contact {
  --banner-button-color: var(--color-olive);
  border-start-start-radius: 8rem;
  border-end-end-radius: 8rem;
  font-weight: var(--weight-bold);
}
.bannerButton.--contact::before {
  aspect-ratio: 56/45;
  inline-size: 5.6rem;
  -webkit-mask-image: url("../images/common/icon/icon-mail.svg");
  mask-image: url("../images/common/icon/icon-mail.svg");
}
.bannerButton.--contact .bannerButtonTime {
  --time-font-color: var(--color-olive);
}
.bannerButton.--contact:focus-visible {
  --banner-button-color: var(--color-white);
  --font-color: var(--color-olive);
}
.bannerButton.--contact:focus-visible::before {
  --icon-color: var(--color-olive);
}
.bannerButton.--contact:focus-visible .bannerButtonTime {
  --border-color: var(--color-olive);
}
.bannerButton.--tel {
  --banner-button-color: var(--color-green);
  border-start-end-radius: 8rem;
  border-end-start-radius: 8rem;
  font-weight: var(--weight-semi-bold);
  font-family: var(--montserrat);
}
.bannerButton.--tel::before {
  aspect-ratio: 1;
  inline-size: 4.9rem;
  -webkit-mask-image: url("../images/common/icon/icon-tel.svg");
  mask-image: url("../images/common/icon/icon-tel.svg");
}
.bannerButton.--tel .bannerButtonTime {
  --time-font-color: var(--color-green);
  font-family: var(--noto-sans-jp);
}
.bannerButton.--tel:focus-visible {
  --banner-button-color: var(--color-white);
  --font-color: var(--color-green);
}
.bannerButton.--tel:focus-visible::before {
  --icon-color: var(--color-green);
}
.bannerButton.--tel:focus-visible .bannerButtonTime {
  --time-font-color: var(--color-green);
  --border-color: var(--color-green);
}

.bannerButtonTime {
  --back-ground-color: var(--color-white);
  --time-font-color: transparent;
  --border-color: var(--color-white);
  grid-area: time;
  align-self: start;
  padding-block: 0.7rem;
  inline-size: min(23rem, 100%);
  -webkit-margin-before: 1rem;
  margin-block-start: 1rem;
  border: 1px solid var(--border-color);
  border-radius: 0.5rem;
  background-color: var(--back-ground-color);
  color: var(--time-font-color);
  font-weight: var(--weight-bold);
  font-size: 2.1rem;
  -webkit-transition: color 0.3s ease-in-out, border 0.3s ease-in-out;
  transition: color 0.3s ease-in-out, border 0.3s ease-in-out;
}

.contactButtonWrapper {
  display: grid;
  inline-size: min(22.2rem, 100%);
  min-block-size: 15rem;
  text-align: center;
}

.contactButton {
  --contact-button-background-color: var(--color-white);
  --contact-button-color: var(--color-orange);
  display: inline-grid;
  gap: 1rem;
  border-start-start-radius: 5rem;
  border-end-end-radius: 5rem;
  background-color: var(--contact-button-background-color);
  color: var(--contact-button-color);
  font-weight: var(--weight-bold);
  font-size: 2.5rem;
  letter-spacing: 0.02em;
  -webkit-transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
  transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
}
.contactButton::before {
  -webkit-align-self: end;
  -ms-flex-item-align: end;
  align-self: end;
  margin-inline: auto;
  background-color: var(--contact-button-color);
  aspect-ratio: 38/30;
  inline-size: 3.8rem;
  pointer-events: none;
  content: "";
  -webkit-mask-image: url("../images/common/icon/icon-mail.svg");
  mask-image: url("../images/common/icon/icon-mail.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-transition: background-color 0.3s ease-in-out;
  transition: background-color 0.3s ease-in-out;
}
.contactButton:focus-visible {
  --contact-button-background-color: var(--color-orange);
  --contact-button-color: var(--color-white);
}

/* ============================================
** logo
=============================================== */
.logo-link {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}
.logo-link > img {
  inline-size: 100%;
  block-size: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}

/* ============================================
** leafBackground
=============================================== */
.leafBackground {
  position: relative;
}
.leafBackground::before,
.leafBackground::after {
  position: absolute;
  z-index: -1;
  inset-block-start: 0;
  background-position: center;
  background-size: contain;
  background-repeat: repeat-y;
  inline-size: 14.3rem;
  block-size: 100%;
  content: "";
}
.leafBackground::before {
  inset-inline-start: 0;
  background-image: url("../images/common/other/leaf-bg-left_small.webp");
  aspect-ratio: 143/1396;
}
.leafBackground::after {
  inset-inline-end: 0;
  background-image: url("../images/common/other/leaf-bg-right_small.webp");
  aspect-ratio: 143/1396;
}

.lowerLeafBackground {
  position: relative;
}
.lowerLeafBackground::before,
.lowerLeafBackground::after {
  --over-size: 49.7rem;
  position: absolute;
  z-index: -1;
  inset-block-start: 0;
  background-position: bottom center;
  background-size: cover;
  background-repeat: repeat-y;
  block-size: calc(100% + var(--over-size));
  content: "";
}
.lowerLeafBackground::before {
  inset-inline-start: 0;
  background-image: url("../images/common/other/leaf-lowerBg-left.webp");
  inline-size: 30.5rem;
}
.lowerLeafBackground::after {
  inset-inline-end: 0;
  background-image: url("../images/common/other/leaf-lowerBg-right.webp");
  inline-size: 40rem;
}
.lowerLeafBackground.--report::before,
.lowerLeafBackground.--report::after {
  --report-over-size: 96.6rem;
  block-size: calc(100% + var(--report-over-size));
}
.lowerLeafBackground.--medium {
  overflow: clip;
}
.lowerLeafBackground.--medium::before,
.lowerLeafBackground.--medium::after {
  background-position: top center;
  background-size: contain;
  inline-size: 14.3rem;
  block-size: 100%;
}
.lowerLeafBackground.--medium::before {
  inset-block-start: calc(var(--over-size));
  inset-inline-start: 0;
  background-image: url("../images/common/other/leaf-bg-left_small.webp");
}
.lowerLeafBackground.--medium::after {
  inset-block-start: calc(var(--over-size));
  inset-inline-end: 0;
  background-image: url("../images/common/other/leaf-bg-right_small.webp");
}
.lowerLeafBackground.--medium.--report::before {
  inset-block-start: calc(var(--report-over-size));
}
.lowerLeafBackground.--medium.--report::after {
  inset-block-start: calc(var(--report-over-size));
}

/* ============================================
** banner
=============================================== */
.ly-banner.--end {
  -webkit-padding-after: 11.6rem;
  padding-block-end: 11.6rem;
}

.banner {
  --banner-background: var(--color-pink);
  position: relative;
  background-color: var(--banner-background);
}

.banner-wave {
  position: absolute;
  inline-size: 100%;
  block-size: 10rem;
}
.banner-wave svg {
  inline-size: 100%;
  block-size: 100%;
}
.banner-wave:nth-child(1 of .banner-wave) {
  inset-block-start: -9.9rem;
}
.banner-wave:nth-child(2 of .banner-wave) {
  scale: 1 -1;
  inset-block-end: -9.9rem;
}

.banner-heading {
  display: grid;
  row-gap: 1.5rem;
  color: #468670;
  letter-spacing: 0.15em;
  text-align: center;
}
.banner-heading::before {
  margin-inline: auto;
  background-image: url("../images/common/other/leaf-r.svg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  aspect-ratio: 52/40;
  inline-size: 5.2rem;
  content: "";
}

.banner-text {
  -webkit-margin-before: 1.5rem;
  margin-block-start: 1.5rem;
  font-weight: var(--weight-bold);
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0.02em;
  text-align: center;
}

.banner-buttonBlock {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 4.4rem;
  -moz-column-gap: 4.4rem;
  column-gap: 4.4rem;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-margin-before: 4rem;
  margin-block-start: 4rem;
}

/* ============================================
** courseList
=============================================== */
.courseList {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6.2rem 5.2rem;
}

.courseItem {
  --margin: 10rem;

  &.--esports,
  &.--vr {
    pointer-events: none;
  }
}
.courseItem:nth-child(1) {
  -webkit-margin-before: calc(var(--margin) * 2);
  margin-block-start: calc(var(--margin) * 2);
}
.courseItem:nth-child(2) {
  -webkit-margin-before: calc(var(--margin));
  margin-block-start: calc(var(--margin));
}
.courseItem:nth-child(3n + 5) {
  -webkit-margin-before: calc(var(--margin) * -1);
  margin-block-start: calc(var(--margin) * -1);
}
.courseItem:nth-child(n + 4):nth-child(3n) {
  -webkit-margin-before: calc(var(--margin) * 2 * -1);
  margin-block-start: calc(var(--margin) * 2 * -1);
}
.courseItem:focus-visible .courseItem-img img {
  scale: 1.08;
}

.courseItem-img {
  border-start-start-radius: 8rem;
  border-end-end-radius: 8rem;
  inline-size: 100%;
  overflow: hidden;
}
.courseItem-img img {
  aspect-ratio: 296/270;
  inline-size: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transition: scale 0.3s ease-in-out;
  transition: scale 0.3s ease-in-out;
}

.courseItem-name {
  display: inline-grid;
  grid-template-columns: auto 1fr;
  -webkit-column-gap: 1rem;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-margin-before: 1.5rem;
  margin-block-start: 1.5rem;
  color: var(--color-green);
  font-weight: var(--weight-bold);
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0.02em;
}
.courseItem-name::before {
  aspect-ratio: 14/17;
  inline-size: 1.4rem;
  -webkit-clip-path: polygon(14px 50%, 0% 0%, 0% 17px);
  clip-path: polygon(14px 50%, 0% 0%, 0% 17px);
  background-color: var(--color-orange);
  content: "";
}

/* ============================================
** coursePanel
=============================================== */
.cursePanel {
  --panel-background: #fde6a4;
  background-color: var(--panel-background);
  padding-block: 1.5rem 4rem;
}

.cursePanel-head {
  text-align: center;
}

.cursePanel-heading {
  color: var(--color-white);
  font-weight: var(--weight-semi-bold);
  font-size: 11.5rem;
  font-family: var(--montserrat);
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.cursePanel-subHeading {
  -webkit-margin-before: -1.2rem;
  margin-block-start: -1.2rem;
  color: var(--color-green);
  font-weight: var(--weight-bold);
  font-size: 3rem;
  line-height: 1.4;
  letter-spacing: 0.08em;
}

.cursePanel-list {
  display: grid;
  grid-auto-columns: 22rem;
  grid-auto-flow: column;
  gap: 1.5rem;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-margin-before: 2.5rem;
  margin-block-start: 2.5rem;
}

.cursePanel-itemImg {
  border-start-start-radius: 8rem;
  border-end-end-radius: 8rem;
  aspect-ratio: 222/180;
  inline-size: 100%;
  overflow: hidden;
}
.cursePanel-itemImg img {
  inline-size: 100%;
  block-size: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.cursePanel-itemText {
  display: grid;
  row-gap: 1rem;
  color: var(--color-primary);
  font-weight: var(--weight-medium);
  font-size: 1.6rem;
  line-height: 1.4375;
  letter-spacing: 0.02em;
}
.cursePanel-itemText::before {
  aspect-ratio: 40/30;
  inline-size: 4rem;
  -webkit-margin-before: 1rem;
  margin-inline: auto;
  margin-block-start: 1rem;
  background-image: url("../images/common/other/leaf-k.svg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
}

/* ============================================
** courseTab
=============================================== */
.courseTab {
  --tab-background: #fde6a4;
}

.courseTab-list {
  display: grid;
  grid-auto-columns: 1fr;
  grid-auto-flow: column;
}

.courseTab-listButton {
  --button-background: var(--color-white);
  --font-color: var(--color-orange);
  border: 4px solid var(--tab-background);
  border-start-start-radius: 1rem;
  border-start-end-radius: 1rem;
  background-color: var(--button-background);
  padding-inline: 1em;
  padding-block: 2.9rem;
  color: var(--font-color);
  font-weight: var(--weight-semi-bold);
  font-size: 3.4rem;
  line-height: 1.1428571429;
  font-family: var(--montserrat);
  letter-spacing: 0.02em;
  text-align: center;
  text-transform: uppercase;
  -webkit-transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out;
  transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out;
}
.courseTab-listButton[aria-selected="true"] {
  --button-background: var(--tab-background);
  --font-color: var(--color-green);
  pointer-events: none;
}
.courseTab-listButton[aria-selected="false"] {
  --background: var(--button-background);
  background-color: color-mix(
    in sRGB,
    var(--background),
    #000 var(--darken, 0%)
  );
}
.courseTab-listButton[aria-selected="false"]:focus-visible {
  --darken: 10%;
}

.courseTab-panelBlock {
  background-color: var(--tab-background);
  padding-inline: 6.7rem;
  padding-block: 1.3rem 6.3rem;
}

.courseTab-panel {
  display: none;
  cursor: initial;
  -webkit-transition: opacity 0.3s ease-in-out, translate 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out, translate 0.3s ease-in-out;
}
.courseTab-panel[aria-hidden="true"] {
  visibility: hidden;
  opacity: 0;
}
.courseTab-panel[aria-hidden="false"] {
  display: block;
  visibility: visible;
  opacity: 1;
  -webkit-animation: kf-tabPanelAnimation 0.3s ease-in-out forwards;
  animation: kf-tabPanelAnimation 0.3s ease-in-out forwards;
}

@-webkit-keyframes kf-tabPanelAnimation {
  0% {
    translate: 0 20px;
    visibility: hidden;
    opacity: 0;
  }
  100% {
    translate: 0;
    visibility: visible;
    opacity: 1;
  }
}

@keyframes kf-tabPanelAnimation {
  0% {
    translate: 0 20px;
    visibility: hidden;
    opacity: 0;
  }
  100% {
    translate: 0;
    visibility: visible;
    opacity: 1;
  }
}
.curseTab-panelHading {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-areas: "number title" "number label";
  gap: 0.8rem 6rem;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.corseTab-panelNumber {
  grid-area: number;
  color: var(--color-white);
  font-weight: var(--weight-semi-bold);
  font-size: 11.5rem;
  line-height: 1.2869565217;
  font-family: var(--montserrat);
  letter-spacing: 0.02em;
}

.curseTab-panelTitle {
  grid-area: title;
  align-self: end;
  color: var(--color-green);
  font-weight: var(--weight-bold);
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0.02em;
}

.curseTab-panelLabel {
  display: inline-grid;
  grid-template-areas: "labelIcon labelText" "labelIcon labelText";
  grid-area: label;
  -webkit-column-gap: 1rem;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  align-self: start;
  color: var(--color-green);
  font-weight: var(--weight-bold);
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0.02em;
}

.curseTab-panelLabelIcon {
  display: inline-grid;
  grid-template-columns: -webkit-max-content auto;
  grid-template-columns: max-content auto;
  grid-area: labelIcon;
  gap: 1rem;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  align-self: start;
}
.curseTab-panelLabelIcon::after {
  inline-size: 1.4rem;
  block-size: 1.7rem;
  -webkit-clip-path: polygon(14px 50%, 0% 0%, 0% 17px);
  clip-path: polygon(14px 50%, 0% 0%, 0% 17px);
  background-color: currentcolor;
  content: "";
}

.curseTab-panelLabelText {
  position: relative;
  grid-area: labelText;
  color: var(--color-primary);
  font-weight: var(--weight-medium);
  font-size: 1.6rem;
  line-height: 1.4375;
  letter-spacing: 0.02em;
}

.curseTab-panelList {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  -webkit-margin-before: 1.1rem;
  margin-block-start: 1.1rem;
}

.curseTab-panelItemImg {
  border-start-start-radius: 8rem;
  border-end-end-radius: 8rem;
  aspect-ratio: 222/180;
  inline-size: 100%;
  overflow: hidden;
}
.curseTab-panelItemImg img {
  inline-size: 100%;
  block-size: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.curseTab-panelItemText {
  display: grid;
  row-gap: 1rem;
  color: var(--color-primary);
  font-weight: var(--weight-medium);
  font-size: 1.6rem;
  line-height: 1.4375;
  letter-spacing: 0.02em;
}
.curseTab-panelItemText::before {
  aspect-ratio: 40/30;
  inline-size: 4rem;
  -webkit-margin-before: 1rem;
  margin-inline: auto;
  margin-block-start: 1rem;
  background-image: url("../images/common/other/leaf-k.svg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
}

/* ============================================
** strengthsList
=============================================== */
.strengthsList {
  display: grid;
  row-gap: 6.5rem;
  counter-reset: number 0;
}

.strengthsItem {
  display: grid;
  position: relative;
  grid-template-rows: auto 1fr;
  gap: 2rem 4.4rem;
  -webkit-box-align: start;
  -webkit-align-items: start;
  -ms-flex-align: start;
  align-items: start;
  counter-increment: number 1;
}
.strengthsItem:nth-child(odd) {
  grid-template-columns: auto 1fr;
  grid-template-areas: "img heading" "img description";
}
.strengthsItem:nth-child(odd)::before {
  inset-inline-start: -4rem;
}
.strengthsItem:nth-child(even) {
  grid-template-columns: 1fr auto;
  grid-template-areas: "heading img" "description img";
}
.strengthsItem:nth-child(even)::before {
  inset-inline-end: -4rem;
}
.strengthsItem::before {
  position: absolute;
  inset-block-start: -7.5rem;
  content: "";
  content: counter(number, decimal-leading-zero);
  color: var(--color-cream);
  font-weight: var(--weight-bold);
  font-size: 14.8rem;
  line-height: 1;
  font-family: var(--montserrat);
  letter-spacing: 0.02em;
}

.strengthsItem-heading {
  grid-area: heading;
  color: var(--color-cream);
  font-weight: var(--weight-bold);
  font-size: 3rem;
  line-height: 1.5666666667;
  letter-spacing: 0.15em;
  white-space: nowrap;
}

.strengthsItem-description {
  grid-area: description;
  align-self: start;
  color: var(--color-white);
  font-weight: var(--weight-bold);
  font-size: 1.6rem;
  line-height: 1.875;
  letter-spacing: 0.02em;
}

.strengthsItem-img {
  grid-area: img;
  border-start-start-radius: 8rem;
  border-end-end-radius: 8rem;
  inline-size: 40rem;
  overflow: hidden;
}
.strengthsItem-img img {
  aspect-ratio: 400/310;
  inline-size: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

/* ============================================
** swiper
=============================================== */
.swiper-container {
  position: relative;
}

.swiper-slide {
  inline-size: 100%;
  block-size: auto;
}

.swiper-button-prev,
.swiper-button-next,
.swiper-pagination-bullets.swiper-pagination-horizontal {
  margin: 0;
  inset: unset;
  padding: 0;
}

/*
** ナビゲーションボタン
*/
.swiper-button-prev,
.swiper-button-next {
  display: grid;
  margin-block: auto;
  inset-block: 0;
  aspect-ratio: 1;
  inline-size: 4rem;
}
.swiper-button-prev::before,
.swiper-button-prev::after,
.swiper-button-next::before,
.swiper-button-next::after {
  grid-row: 1;
  grid-column: 2;
  content: "";
}
.swiper-button-prev::before,
.swiper-button-next::before {
  border-radius: 50%;
  background-color: var(--color-orange);
  aspect-ratio: 1;
  inline-size: 4rem;
}
.swiper-button-prev::after,
.swiper-button-next::after {
  place-self: center;
  background-color: var(--color-white);
  aspect-ratio: 1;
  inline-size: 1.7rem;
  -webkit-mask-image: url("../images/common/icon/icon-arrow-right.svg");
  mask-image: url("../images/common/icon/icon-arrow-right.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}

.swiper-button-prev {
  inset-inline-start: 0;
}
.swiper-button-prev::after {
  rotate: 180deg;
}

.swiper-button-next {
  inset-inline-end: 0;
}

/*
** ページネーション(bullets)
*/
.pageProgramSkill_swiperPagination.swiper-pagination-bullets.swiper-pagination-horizontal,
.voice_slidePagination.swiper-pagination-bullets.swiper-pagination-horizontal {
  --dot-color: #d7d7d7;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 1rem;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-margin-before: 2.5rem;
  margin-block-start: 2.5rem;
}
.pageProgramSkill_swiperPagination.swiper-pagination-bullets.swiper-pagination-horizontal
  .swiper-pagination-bullet,
.voice_slidePagination.swiper-pagination-bullets.swiper-pagination-horizontal
  .swiper-pagination-bullet {
  opacity: 1;
  margin-inline: unset;
  border-radius: unset;
  background-color: var(--dot-color);
  aspect-ratio: 15/32;
  inline-size: 1.5rem;
  block-size: 3.2rem;
  content: "";
  -webkit-mask-image: url("../images/common/other/swiper-dot.svg");
  mask-image: url("../images/common/other/swiper-dot.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-transition: background-color 0.3s ease-in-out;
  transition: background-color 0.3s ease-in-out;
}
.pageProgramSkill_swiperPagination.swiper-pagination-bullets.swiper-pagination-horizontal
  .swiper-pagination-bullet-active,
.voice_slidePagination.swiper-pagination-bullets.swiper-pagination-horizontal
  .swiper-pagination-bullet-active {
  --dot-color: var(--color-olive);
}

/* ============================================
** reportCards
=============================================== */
.reportCards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem;
}

.reportCard {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
}
.reportCard:focus-visible .reportCard-img img {
  scale: 1.08;
}

.reportCard-link {
  display: grid;
  grid-template-rows: subgrid;
  grid-template-areas: "img" "publish" "title" "text";
  grid-row: span 4;
  gap: 1rem;
}

.reportCard-title {
  grid-area: title;
  color: var(--color-olive);
  font-weight: var(--weight-bold);
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0.02em;
}

.reportCard-publish {
  grid-area: publish;
}
.reportCard-publish time {
  color: var(--color-light-green);
  font-weight: var(--weight-semi-bold);
  font-size: 3rem;
  font-family: var(--montserrat);
  letter-spacing: 0.02em;
}

.reportCard-text {
  display: -webkit-box;
  grid-area: text;
  -webkit-line-clamp: 2;
  overflow: hidden;
  font-weight: var(--weight-medium);
  font-size: 1.6rem;
  line-height: 1.4375;
  letter-spacing: 0.02em;
  -webkit-box-orient: vertical;
}

.reportCard-img {
  grid-area: img;
  border-radius: 0.5rem;
  overflow: hidden;
}
.reportCard-img img {
  aspect-ratio: 340/215;
  inline-size: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transition: scale 0.3s ease-in-out;
  transition: scale 0.3s ease-in-out;
}

/* ============================================
** accordion
=============================================== */
/* Safariで表示されるデフォルトの三角形アイコンを消す */
summary::-webkit-details-marker {
  display: none;
}

.accordion {
  display: grid;
  gap: 2rem;
}

.accordion-bg {
  position: relative;
}
.accordion-bg > .accordion-lineBg {
  display: none;
}

.accordion-item.is-opened .accordion-head {
  border-end-end-radius: 0;
}
.accordion-item.is-opened .accordion-head .accordion-line::after {
  --rotate: 0;
}
.accordion-item.is-opened + .accordion-lineBg .accordion-line::after {
  --rotate: 0;
}

.accordion-head {
  display: grid;
  grid-template-columns: auto 1fr auto;
  -webkit-column-gap: 2.3rem;
  -moz-column-gap: 2.3rem;
  column-gap: 2.3rem;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  border-start-start-radius: 8rem;
  border-end-end-radius: 8rem;
  background-color: var(--color-light-green);
  padding-inline: 6.5rem;
  padding-block: 3.4rem;
  color: var(--color-white);
  font-weight: var(--weight-bold);
  font-size: 2rem;
  -webkit-transition: border-end-end-radius 0.4s ease-in-out;
  transition: border-end-end-radius 0.4s ease-in-out;
}
.accordion-head:focus-visible {
  outline-color: rgba(255, 200, 0, 0.6);
  outline-offset: 3px;
}

.accordion-line {
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  background-color: var(--color-white);
  aspect-ratio: 1;
  inline-size: 4rem;
}
.accordion-line::before,
.accordion-line::after {
  --rotate: 90deg;
  grid-row: 1/-1;
  grid-column: 1;
  background-color: var(--color-orange);
  inline-size: 2.1rem;
  block-size: 0.3rem;
  content: "";
  -webkit-transition: rotate 0.4s;
  transition: rotate 0.4s;
}
.accordion-line::after {
  rotate: var(--rotate);
}

.accordion-content {
  border-end-end-radius: 8rem;
  background-color: var(--color-light-green);
  overflow: hidden;
}

.accordion-contentInner {
  inline-size: min(992px, 100%);
  -webkit-padding-after: 3.4rem;
  padding-inline: 6.5rem;
  padding-block-end: 3.4rem;
}

.accordion-contentText {
  display: grid;
  grid-template-columns: auto 1fr;
  -webkit-column-gap: 2.3rem;
  -moz-column-gap: 2.3rem;
  column-gap: 2.3rem;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  color: var(--color-white);
  font-weight: var(--weight-bold);
  font-size: 2rem;
  line-height: 1.5;
}

.accordion-link {
  color: var(--color-cream);
}

.accordion-icon {
  display: inline-grid;
  align-self: start;
  background-image: url("../images/common/other/accordion-icon.webp");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  aspect-ratio: 60/50;
  inline-size: 6rem;
  font-weight: var(--weight-semi-bold);
  font-size: 3.5rem;
  line-height: 1.3714285714;
  font-family: var(--montserrat);
  text-align: center;
}
.accordion-icon.--question {
  color: var(--color-light-green);
}
.accordion-icon.--answer {
  color: var(--color-light-green);
}

/* ============================================
** form
=============================================== */
[class^="wpcf7-"] {
  margin: unset;
  padding: unset;
}

.wpcf7 form .wpcf7-response-output {
  font-size: 1.4rem;
}

.wpcf7-not-valid-tip {
  -webkit-margin-before: 0.5em;
  margin-block-start: 0.5em;
  font-size: 1.5em;
}

.wpcf7-spinner {
  display: none;
}

.form {
  --border-color: #aaa;
  display: grid;
  grid-template-columns: auto 1fr;
}
.form input[type="text"],
.form input[type="email"],
.form input[type="tel"],
.form select,
.form textarea {
  border: 1px solid var(--border-color);
  border-start-start-radius: 1rem;
  border-end-end-radius: 1rem;
  background-color: var(--color-white);
  padding: 0.8em;
  inline-size: 100%;
  min-block-size: 5rem;
  font-size: 16px;
}
.form input[type="checkbox"],
.form input[type="radio"],
.form select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.form textarea {
  min-block-size: 30rem;
}

.form-group {
  display: grid;
  grid-template-columns: subgrid;
  grid-template-areas: "label input";
  grid-column: span 2;
  -webkit-column-gap: 8rem;
  -moz-column-gap: 8rem;
  column-gap: 8rem;
  padding-block: 3rem;
}
.form-group[data-group="address"] .form-label {
  -webkit-align-self: start;
  -ms-flex-item-align: start;
  align-self: start;
  -webkit-margin-before: 1.5rem;
  margin-block-start: 1.5rem;
}
.form-group[data-group="textarea"] .form-label {
  -webkit-align-self: start;
  -ms-flex-item-align: start;
  align-self: start;
}
.form-group[data-group="privacy"] {
  gap: unset;
}
.form-group[data-group="privacy"] .wpcf7-form-control-wrap {
  grid-column: 2/3;
  justify-self: start;
  -webkit-margin-start: 4rem;
  margin-inline-start: 4rem;
}
.form-group:not([data-group="privacy"]) {
  -webkit-border-before: 1px solid var(--border-color);
  border-block-start: 1px solid var(--border-color);
}
.form-group:nth-child(1 of .form-group) {
  -webkit-border-before: unset;
  border-block-start: unset;
}

.form-label {
  display: grid;
  grid-template-columns: 1fr;
  grid-auto-flow: column;
  grid-area: label;
  gap: 2.4rem;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.form-labelText {
  font-weight: var(--weight-medium);
  font-size: 1.6rem;
  letter-spacing: 0.02em;
}

.form-required {
  border: 1px solid #ff7f58;
  border-radius: calc(infinity * 1px);
  background-color: var(--color-white);
  padding-block: 0.4rem;
  inline-size: 6rem;
  color: #ff7f58;
  font-weight: var(--weight-regular);
  font-size: 1.4rem;
  text-align: center;
}

.form-data {
  display: grid;
  row-gap: 2rem;
  grid-area: input;
  inline-size: 100%;
}

.wpcf7-form-control-wrap[data-name="your-address01"] {
  --icon-post: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDE2IDI0Ij4KICA8dGV4dCBpZD0iXyIgZGF0YS1uYW1lPSLjgJIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMTkpIiBmaWxsPSIjNjY2IiBmb250LXNpemU9IjE2IiBmb250LWZhbWlseT0iTm90byBTYW5zIEpQIiBmb250LXdlaWdodD0iNTAwIiBsZXR0ZXItc3BhY2luZz0iMC4wMmVtIj48dHNwYW4geD0iMCIgeT0iMCI+44CSPC90c3Bhbj48L3RleHQ+Cjwvc3ZnPgo=");
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}
.wpcf7-form-control-wrap[data-name="your-address01"] input[type="text"] {
  grid-row: 1/-1;
  grid-column: 1/-1;
  -webkit-padding-start: 2.5em;
  padding-inline-start: 2.5em;
}
.wpcf7-form-control-wrap[data-name="your-address01"]::before {
  grid-row: 1/-1;
  grid-column: 1/-1;
  z-index: 1;
  aspect-ratio: 16/24;
  inline-size: 1.6rem;
  -webkit-margin-start: 1.8rem;
  margin-inline-start: 1.8rem;
  background-image: var(--icon-post);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  pointer-events: none;
  content: "";
}

.form-checkboxWrapper {
  display: grid;
  row-gap: 12px;
}

.wpcf7-list-item label {
  display: grid;
  grid-template-columns: auto 1fr; /* auto はアイコン、1fr はラベル文字列を想定 */
  gap: 1rem;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  cursor: pointer;
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  font-weight: var(--weight-medium);
  font-size: 1.6rem;
  line-height: 1;
  letter-spacing: 0.02em;
}
.wpcf7-list-item label input[type="checkbox"] {
  --size: 1.6rem;
  position: relative;
  border: solid 1px var(--color-primary);
  background-color: var(--color-white);
  inline-size: var(--size);
  block-size: var(--size);
  -webkit-box-shadow: 0 0 0 0 transparent;
  box-shadow: 0 0 0 0 transparent;
  -webkit-transition-duration: 0.2s;
  transition-duration: 0.2s;
  -webkit-transition-property: background-color, border, color,
    -webkit-box-shadow;
  transition-property: background-color, border, color, -webkit-box-shadow;
  transition-property: background-color, border, box-shadow, color;
  transition-property: background-color, border, box-shadow, color,
    -webkit-box-shadow;
}
.wpcf7-list-item label input[type="checkbox"]:checked {
  border-color: var(--color-green);
  background: var(--color-green);
}
.wpcf7-list-item label input[type="checkbox"]::before {
  display: block;
  position: absolute;
  opacity: 0;
  inset: 0;
  background-color: #fff;
  inline-size: 100%;
  block-size: 100%;
  content: "";
  -webkit-mask-image: url("../images/common/icon/icon-check.svg");
  mask-image: url("../images/common/icon/icon-check.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}
.wpcf7-list-item label input[type="checkbox"]:checked::before {
  opacity: 1;
}

.form-privacyLink {
  -webkit-text-decoration: underline #ff7f58;
  text-decoration: underline #ff7f58;
}

.form-buttonWrapper {
  display: grid;
  grid-column: 2/3;
  justify-self: start;
  inline-size: min(30rem, 100%);
  min-block-size: 8.5rem;
  -webkit-margin-before: 0.5rem;
  margin-block-start: 0.5rem;
  -webkit-margin-start: 4rem;
  margin-inline-start: 4rem;
}

.form-button {
  --back-ground-color: var(--color-light-green);
  --icon-color: var(--color-orange);
  --icon-arrow-color: var(--color-white);
  display: grid;
  position: relative;
  grid-template-columns: -webkit-max-content auto;
  grid-template-columns: max-content auto;
  z-index: 1;
  -webkit-column-gap: 2.8rem;
  -moz-column-gap: 2.8rem;
  column-gap: 2.8rem;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-start-start-radius: 8rem;
  border-end-end-radius: 8rem;
  background-color: var(--back-ground-color);
  -webkit-transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
  transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
}
.form-button::before,
.form-button::after {
  grid-row: 1;
  grid-column: 2;
  pointer-events: none;
  content: "";
  -webkit-transition: background-color 0.3s ease-in-out;
  transition: background-color 0.3s ease-in-out;
}
.form-button::before {
  border-radius: 50%;
  background-color: var(--icon-color);
  aspect-ratio: 1;
  inline-size: 4rem;
}
.form-button::after {
  place-self: center;
  background-color: var(--icon-arrow-color);
  aspect-ratio: 1;
  inline-size: 1.7rem;
  -webkit-mask-image: url("../images/common/icon/icon-arrow-right.svg");
  mask-image: url("../images/common/icon/icon-arrow-right.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}
.form-button:focus-visible {
  --back-ground-color: var(--color-orange);
}
.form-button:focus-visible::before {
  --icon-color: var(--color-green);
}

.form-buttonText {
  color: var(--color-white);
  font-weight: var(--weight-bold);
  font-size: 2.3rem;
  line-height: 1.3043478261;
  letter-spacing: 0.02em;
}

/* ============================================
** companyInfo
=============================================== */
.companyInfo {
  display: grid;
  grid-template-columns: -webkit-max-content 1fr;
  grid-template-columns: max-content 1fr;
  gap: 1.5rem;
}

.companyInfo-item {
  display: grid;
  grid-template-columns: subgrid;
  grid-template-areas: "head description";
  grid-column: span 2;
  gap: 2.5rem;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  border-start-start-radius: 8rem;
  border-end-end-radius: 8rem;
  background-color: var(--color-gray);
  padding-inline: 3.7rem;
  padding-block: 1.7rem;
}

.companyInfo-head {
  color: var(--color-green);
  font-weight: var(--weight-bold);
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0.02em;
}

.companyInfo-description {
  font-weight: var(--weight-medium);
  font-size: 1.6rem;
  line-height: 1.4375;
  letter-spacing: 0.02em;
}
.companyInfo-description.--info {
  display: grid;
  grid-template-columns: -webkit-max-content 1fr;
  grid-template-columns: max-content 1fr;
  gap: 0.6rem;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.companyInfo-text.--dot {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-areas: "icon label" "icon address";
  -webkit-column-gap: 1rem;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  -webkit-box-align: start;
  -webkit-align-items: start;
  -ms-flex-align: start;
  align-items: start;
  color: var(--color-orange);
  font-weight: var(--weight-bold);
}
.companyInfo-text.--dot:not(:first-child) {
  -webkit-margin-before: 0.5rem;
  margin-block-start: 0.5rem;
}
.companyInfo-text.--dot::before {
  --size: 1.6rem;
  grid-area: icon;
  margin-block: calc(1lh - var(--size) - 2px);
  border-radius: 50%;
  background-color: currentcolor;
  aspect-ratio: 1;
  inline-size: 1.6rem;
  inline-size: var(--size);
  content: "";
}
.companyInfo-text.--dot .companyInfo-label {
  grid-area: label;
}
.companyInfo-text.--dot .companyInfo-labelAddress {
  grid-area: address;
  color: var(--color-primary);
}
.companyInfo-text.--info {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: span 2;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.companyInfo-label {
  font-weight: var(--weight-bold);
  font-size: 1.6rem;
  line-height: 1.4375;
  letter-spacing: 0.02em;
}

.companyInfo-labelAddress {
  font-weight: var(--weight-medium);
  font-size: 1.6rem;
  line-height: 1.4375;
  letter-spacing: 0.02em;
}

.companyInfo-icon {
  display: inline-grid;
  grid-template-columns: auto 1fr;
  -webkit-column-gap: 0.5rem;
  -moz-column-gap: 0.5rem;
  column-gap: 0.5rem;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  color: var(--color-orange);
  font-weight: var(--weight-bold);
}
.companyInfo-icon::before {
  background-color: currentcolor;
  aspect-ratio: 1;
  inline-size: 1.7rem;
  content: "";
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}
.companyInfo-icon.--tel::before {
  -webkit-mask-image: url("../images/common/other/companyInfo-iconTel.svg");
  mask-image: url("../images/common/other/companyInfo-iconTel.svg");
}
.companyInfo-icon.--fax::before {
  -webkit-mask-image: url("../images/common/other/companyInfo-iconFax.svg");
  mask-image: url("../images/common/other/companyInfo-iconFax.svg");
}
.companyInfo-icon.--mail::before {
  -webkit-mask-image: url("../images/common/other/companyInfo-iconMail.svg");
  mask-image: url("../images/common/other/companyInfo-iconMail.svg");
}

.companyInfo-listItem {
  font-weight: var(--weight-medium);
  font-size: 1.6rem;
  line-height: 1.4375;
  letter-spacing: 0.02em;
}

/* ============================================
** accessMaps
=============================================== */
.accessMaps {
  display: grid;
  row-gap: 3rem;
}

.accessMap {
  display: grid;
  grid-template-columns: 44rem 1fr;
  grid-template-areas: "iframe" "body";
  -webkit-column-gap: 4rem;
  -moz-column-gap: 4rem;
  column-gap: 4rem;
}

.accessMap-iframe {
  border-start-start-radius: 5rem;
  border-end-end-radius: 5rem;
  overflow: hidden;
}
.accessMap-iframe iframe {
  aspect-ratio: 444/270;
  inline-size: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.accessMap-body {
  -webkit-padding-before: 4rem;
  padding-block-start: 4rem;
  -webkit-padding-start: 3rem;
  border-block: 2px dashed #d7d7d7;
  padding-inline-start: 3rem;
}

.accessMap-label {
  color: var(--color-orange);
  font-weight: var(--weight-bold);
}
.accessMap-label.--main {
  position: relative;
  font-size: 3rem;
  line-height: 1.5;
  letter-spacing: 0.15em;
}
.accessMap-label.--main::before {
  --size: 3rem;
  position: absolute;
  translate: -100% -50%;
  inset-block-start: calc(50% + 1px);
  inset-inline-start: -1rem;
  border-radius: 50%;
  background-color: currentcolor;
  aspect-ratio: 1;
  inline-size: var(--size);
  content: "";
}
.accessMap-label.--sub {
  display: inline-block;
  -webkit-padding-start: 1.5rem;
  padding-inline-start: 1.5rem;
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0.02em;
}

.accessMap-address {
  -webkit-margin-before: 1rem;
  margin-block-start: 1rem;
  font-weight: var(--weight-bold);
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0.02em;
}

/* ============================================
** breadcrumb
=============================================== */
.ly-breadcrumb-wrapper {
  position: relative;
  z-index: 100;
  -webkit-padding-before: calc(var(--header-block-size) + 0.7rem);
  padding-block-start: calc(var(--header-block-size) + 0.7rem);
}

.breadcrumb {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.5em;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}
.breadcrumb .author.current-item,
.breadcrumb span[property="itemListElement"] {
  display: inline-grid;
  color: var(--color-light-green);
  font-weight: var(--weight-medium);
  font-size: 1.4rem;
  line-height: 1.6428571429;
  letter-spacing: 0.02em;
}
.breadcrumb span[property="itemListElement"] .home {
  text-transform: uppercase;
}
.breadcrumb span[property="itemListElement"] span.current-item.post-report {
  display: inline-block;
  vertical-align: middle;
  max-inline-size: 12em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.breadcrumb .breadcrumb-between {
  color: var(--color-light-green);
  font-weight: var(--weight-medium);
  font-size: 1.6rem;
  line-height: 1.6428571429;
  letter-spacing: 0.02em;
}

/* ============================================
** schedule
=============================================== */
.schedule {
  display: grid;
  row-gap: 10rem;
}

.schedule-item:not(:first-child) .schedule-head {
  display: grid;
  row-gap: 3rem;
}
.schedule-item:not(:first-child) .schedule-head::before {
  margin-inline: auto;
  background-image: url("../images/common/other/leaf-o.svg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  aspect-ratio: 52/40;
  inline-size: 5.2rem;
  content: "";
}

.schedule-head {
  display: grid;
  row-gap: 3rem;
  margin-inline: auto;
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
}

.schedule-headImg {
  margin-inline: auto;
  border-start-start-radius: 8rem;
  border-end-end-radius: 8rem;
  inline-size: min(29.6rem, 100%);
  overflow: hidden;
}
.schedule-headImg img {
  inline-size: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.schedule-headText {
  color: var(--color-light-green);
  font-weight: var(--weight-bold);
  font-size: 3rem;
  line-height: 1.4;
  text-align: center;
}

.schedule-step {
  display: grid;
  row-gap: 9rem;
  -webkit-margin-before: 8rem;
  margin-block-start: 8rem;
}
.schedule-step.--userA
  .schedule-bodyBlock:nth-child(1 of .schedule-step.--userA .schedule-bodyBlock)
  .schedule-body::before {
  inset-block-start: calc(100% - 4.6rem);
  inset-inline-start: 0;
  background-image: url("../images/pages/service/schedule/schedule-arrow01.webp");
  aspect-ratio: 127/93;
  inline-size: 12.7rem;
  content: "";
}
.schedule-step.--userA
  .schedule-bodyBlock:nth-child(2 of .schedule-step.--userA .schedule-bodyBlock)
  .schedule-body::before {
  inset-block-start: calc(100% - 3.3rem);
  inset-inline-end: 0;
  background-image: url("../images/pages/service/schedule/schedule-arrow02.webp");
  aspect-ratio: 85/93;
  inline-size: 8.5rem;
  content: "";
}
.schedule-step.--userA
  .schedule-bodyBlock:nth-child(3 of .schedule-step.--userA .schedule-bodyBlock)
  .schedule-body::before {
  inset-block-start: calc(100% - 5.75rem);
  inset-inline-end: 21rem;
  background-image: url("../images/pages/service/schedule/schedule-arrow04.webp");
  aspect-ratio: 93/127;
  inline-size: 9.3rem;
  content: "";
}
.schedule-step.--userA
  .schedule-timeTable:nth-child(
    1 of .schedule-step.--userA .schedule-timeTable
  )::after {
  inset-block-start: 1.2rem;
  inset-inline-start: calc(100% + 3rem);
  background-image: url("../images/pages/service/schedule/schedule-arrow03.webp");
  aspect-ratio: 85/93;
  inline-size: 8.5rem;
  content: "";
}
.schedule-step.--userM
  .schedule-bodyBlock:nth-child(1 of .schedule-step.--userM .schedule-bodyBlock)
  .schedule-body::before {
  inset-block-start: calc(100% - 4.6rem);
  inset-inline-start: 0;
  background-image: url("../images/pages/service/schedule/schedule-arrow01.webp");
  aspect-ratio: 127/93;
  inline-size: 12.7rem;
  content: "";
}
.schedule-step.--userM
  .schedule-bodyBlock:nth-child(2 of .schedule-step.--userM .schedule-bodyBlock)
  .schedule-body::before {
  inset-block-start: calc(100% - 6.5rem);
  inset-inline-end: 0;
  background-image: url("../images/pages/service/schedule/schedule-arrow05.webp");
  aspect-ratio: 173/125;
  inline-size: 17.3rem;
  content: "";
}
.schedule-step.--userM
  .schedule-bodyBlock:nth-child(3 of .schedule-step.--userM .schedule-bodyBlock)
  .schedule-body::before {
  inset-block-start: calc(100% - 5.8rem);
  inset-inline-start: 0;
  background-image: url("../images/pages/service/schedule/schedule-arrow06.webp");
  aspect-ratio: 173/125;
  inline-size: 17.3rem;
  content: "";
}
.schedule-step.--userM
  .schedule-bodyBlock:nth-child(4 of .schedule-step.--userM .schedule-bodyBlock)
  .schedule-body::before {
  inset-block-start: calc(100% - 3.3rem);
  inset-inline-end: 0;
  background-image: url("../images/pages/service/schedule/schedule-arrow07.webp");
  aspect-ratio: 127/93;
  inline-size: 12.7rem;
  content: "";
}

.schedule-timeTable {
  position: relative;
  margin-inline: auto;
  border-start-start-radius: 8rem;
  border-end-end-radius: 8rem;
  background-color: var(--color-orange);
  padding-inline: 0.5em;
  padding-block: 1.1rem;
  inline-size: min(35.6rem, 100%);
  text-align: center;
}
.schedule-timeTable::after {
  position: absolute;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}

.schedule-timeTableText {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-column-gap: 1.5rem;
  -moz-column-gap: 1.5rem;
  column-gap: 1.5rem;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  color: var(--color-white);
  font-weight: var(--weight-semi-bold);
  font-size: 3rem;
  font-family: var(--montserrat);
  letter-spacing: 0.02em;
}

.schedule-timeTableLabel {
  font-weight: var(--weight-medium);
  font-size: 1.6rem;
  letter-spacing: 0.02em;
}

.schedule-bodyBlock {
  display: grid;
  -webkit-column-gap: 3rem;
  -moz-column-gap: 3rem;
  column-gap: 3rem;
  inline-size: min(1036px, 100%);
}
.schedule-bodyBlock:nth-child(odd of .schedule-bodyBlock) {
  grid-template-columns: auto 1fr;
  grid-template-areas: "img body";
  -webkit-margin-start: auto;
  margin-inline-start: auto;
}
.schedule-bodyBlock:nth-child(even of .schedule-bodyBlock) {
  grid-template-columns: 1fr auto;
  grid-template-areas: "body img";
  -webkit-margin-end: auto;
  margin-inline-end: auto;
}

.schedule-body {
  position: relative;
  grid-area: body;
}
.schedule-body::before {
  position: absolute;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}

.schedule-bodyTitle {
  color: var(--color-green);
  font-weight: var(--weight-bold);
  font-size: 3rem;
  letter-spacing: 0.1em;
}

.schedule-bodyTime {
  color: var(--color-light-green);
  font-weight: var(--weight-semi-bold);
  font-size: 3rem;
  line-height: 1.1333333333;
  font-family: var(--montserrat);
  letter-spacing: 0.02em;
}

.schedule-bodyDescriptions {
  padding-inline: 4.4rem;
  padding-block: 2rem;
  -webkit-margin-before: 3rem;
  margin-block-start: 3rem;
  border-block: 2px dashed #d7d7d7;
}

.schedule-bodyDescription {
  font-weight: var(--weight-medium);
  font-size: 1.6rem;
  line-height: 1.4375;
  letter-spacing: 0.02em;
}

.schedule-bodyImg {
  grid-area: img;
  border-start-start-radius: 8rem;
  border-end-end-radius: 8rem;
  inline-size: 51.8rem;
  overflow: hidden;
}
.schedule-bodyImg img {
  inline-size: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

/* ============================================
** flowList
=============================================== */
.flowList-item {
  --icon-arrow: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNSIgaGVpZ2h0PSIyNSIgdmlld0JveD0iMCAwIDI1IDI1Ij4KICA8ZyBpZD0iYXJyb3ciIHRyYW5zZm9ybT0idHJhbnNsYXRlKC02NzEgLTQ2ODApIj4KICAgIDxjaXJjbGUgaWQ9IualleWGhuW9ol83OTk5IiBkYXRhLW5hbWU9IualleWGhuW9oiA3OTk5IiBjeD0iMTIuNSIgY3k9IjEyLjUiIHI9IjEyLjUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDY3MSA0NjgwKSIgZmlsbD0iI2ZkZTZhNCIvPgogICAgPHBhdGggaWQ9IuODkeOCuV8yMzIyIiBkYXRhLW5hbWU9IuODkeOCuSAyMzIyIiBkPSJNMCwwLDYuNSwxMSwxMywwWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjc3IDQ2ODkpIiBmaWxsPSIjNzFiMDcyIi8+CiAgPC9nPgo8L3N2Zz4K");
  position: relative;
  counter-increment: number 1;
}
.flowList-item:nth-child(odd) {
  border-radius: 1rem;
  background-color: var(--color-light-green);
}
.flowList-item:nth-child(odd) .flowList-itemHeading {
  color: var(--color-cream);
}
.flowList-item:nth-child(odd) .flowList-itemText {
  color: var(--color-white);
}
.flowList-item:nth-child(odd) .flowList-itemImg {
  background-color: var(--color-white);
}
.flowList-item:nth-child(even) {
  background-color: var(--color-white);
}
.flowList-item:nth-child(even) .flowList-itemHeading {
  color: var(--color-green);
}
.flowList-item:nth-child(even) .flowList-itemImg {
  background-color: var(--color-gray);
}
.flowList-item:not(:last-child)::after {
  --icon-size: 2.5rem;
  position: absolute;
  z-index: 1;
  margin-inline: auto;
  inset-block-end: calc(var(--icon-size) / 2 * -1);
  inset-inline: 0;
  background-image: var(--icon-arrow);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  aspect-ratio: 1;
  inline-size: 2.5rem;
  content: "";
}

.flowList-itemWrapper {
  display: grid;
  position: relative;
  grid-template-rows: auto 1fr;
  grid-template-columns: auto 1fr;
  grid-template-areas: "img heading" "img text";
  gap: 2rem 3rem;
  -webkit-box-align: start;
  -webkit-align-items: start;
  -ms-flex-align: start;
  align-items: start;
  margin-inline: auto;
  padding-block: 5rem;
  max-inline-size: 696px;
}
.flowList-itemWrapper::before {
  position: absolute;
  inset-block-start: 1rem;
  inset-inline-start: -1.6rem;
  content: "";
  content: counter(number, decimal-leading-zero);
  color: var(--color-cream);
  font-weight: var(--weight-semi-bold);
  font-size: 8.5rem;
  line-height: 1;
  font-family: var(--montserrat);
  letter-spacing: 0.02em;
}

.flowList-itemHeading {
  grid-area: heading;
  font-weight: var(--weight-bold);
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0.02em;
}

.flowList-itemText {
  grid-area: text;
  font-weight: var(--weight-medium);
  font-size: 1.6rem;
  line-height: 1.4375;
  letter-spacing: 0.02em;
}

.flowList-itemImg {
  grid-area: img;
  border-start-start-radius: 8rem;
  border-end-end-radius: 8rem;
  inline-size: 22.2rem;
  overflow: hidden;
}
.flowList-itemImg img {
  inline-size: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

/* ============================================
** category
=============================================== */
.category {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-column-gap: 0.5rem;
  -moz-column-gap: 0.5rem;
  column-gap: 0.5rem;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
  -ms-flex-pack: start;
  justify-content: start;
  border: 1px solid var(--color-green);
  border-start-start-radius: 2rem;
  border-end-end-radius: 2rem;
  padding-inline: 1em;
  padding-block: 0.5rem;
  min-inline-size: 10rem;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
  color: var(--color-green);
  font-weight: var(--weight-bold);
  font-size: 1.4rem;
  letter-spacing: 0.02em;
  text-align: center;
}
.category::before {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  background-color: currentcolor;
  aspect-ratio: 1;
  inline-size: 1.4rem;
  content: "";
  -webkit-mask-image: url("../images/common/icon/icon-tag.svg");
  mask-image: url("../images/common/icon/icon-tag.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}

/* ============================================
** diaryCards
=============================================== */
.diaryCards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3rem;
}

.diaryCard {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
}
.diaryCard:focus-visible .diaryCard-img img {
  scale: 1.08;
}

.diaryCard-link {
  display: grid;
  grid-template-rows: subgrid;
  grid-template-areas: "img" "meta" "title" "publish";
  grid-row: span 4;
  gap: 1rem;
}

.diaryCard-title {
  display: -webkit-box;
  grid-area: title;
  -webkit-margin-before: 0.5rem;
  margin-block-start: 0.5rem;
  -webkit-line-clamp: 2;
  overflow: hidden;
  color: var(--color-green);
  font-weight: var(--weight-bold);
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0.02em;
  -webkit-box-orient: vertical;
}

.diaryCard-publish {
  grid-area: publish;
  color: var(--color-green);
  font-weight: var(--weight-semi-bold);
  font-size: 1.6rem;
  line-height: 1.5;
  font-family: var(--montserrat);
  letter-spacing: 0.02em;
  text-align: end;
}

.diaryCard-meta {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  grid-area: meta;
  flex-wrap: wrap;
  gap: 1rem;
  -webkit-margin-before: 0.5rem;
  margin-block-start: 0.5rem;
}

.diaryCard-img {
  grid-area: img;
  border-radius: 0.5rem;
  overflow: hidden;
}
.diaryCard-img img {
  aspect-ratio: 340/215;
  inline-size: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transition: scale 0.3s ease-in-out;
  transition: scale 0.3s ease-in-out;
}

/* ============================================
** sidebar
=============================================== */
.sidebar {
  display: grid;
  row-gap: 3rem;
  grid-area: sidebar;
  block-size: -webkit-fit-content;
  block-size: -moz-fit-content;
  block-size: fit-content;
}

.sidebar-article {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-areas: "img title";
  gap: 1rem;
  padding-block: 1.5rem;
  -webkit-border-after: 1px solid #aaa;
  border-block-end: 1px solid #aaa;
}

.sidebar-articleTitle {
  display: -webkit-box;
  grid-area: title;
  -webkit-line-clamp: 3;
  overflow: hidden;
  font-weight: var(--weight-medium);
  font-size: 1.6rem;
  line-height: 1.4375;
  letter-spacing: 0.02em;
  -webkit-box-orient: vertical;
}

.sidebar-articleImg {
  grid-area: img;
  inline-size: 11rem;
}
.sidebar-articleImg img {
  aspect-ratio: 110/70;
  inline-size: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.sidebar-title {
  -webkit-padding-after: 1.5rem;
  padding-block-end: 1.5rem;
  color: var(--color-green);
  font-weight: var(--weight-medium);
  font-size: 1.6rem;
  line-height: 1.4375;
  letter-spacing: 0.02em;
  -webkit-border-after: 1px solid currentcolor;
  border-block-end: 1px solid currentcolor;
}

.sidebar-categoryList {
  display: grid;
  row-gap: 1rem;
  -webkit-margin-before: 1.5rem;
  margin-block-start: 1.5rem;
}

.sidebar-archiveList {
  display: grid;
  row-gap: 1rem;
  -webkit-margin-before: 1.5rem;
  margin-block-start: 1.5rem;
}
.sidebar-archiveList li a {
  display: block;
  font-weight: var(--weight-bold);
  font-size: 1.4rem;
  line-height: 1.6428571429;
  letter-spacing: 0.02em;
}

.sidebar-authorList {
  display: grid;
  row-gap: 1rem;
  -webkit-margin-before: 1.5rem;
  margin-block-start: 1.5rem;
}
.sidebar-authorList li a {
  display: block;
  font-weight: var(--weight-bold);
  font-size: 1.4rem;
  line-height: 1.6428571429;
  letter-spacing: 0.02em;
}

/* ============================================
** pagination
=============================================== */
.ly-pagination-wrapper {
  -webkit-margin-before: 6rem;
  margin-block-start: 6rem;
}

.pagination > .nav-links {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 1rem;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.pagination > .nav-links > .page-numbers {
  --text-color: var(--color-primary);
  display: grid;
  place-items: center;
  color: var(--text-color);
  font-weight: var(--weight-bold);
  font-size: 2rem;
  text-align: center;
}
.pagination > .nav-links > .page-numbers.current {
  --text-color: var(--color-orange);
}
.pagination > .nav-links > .page-numbers.prev,
.pagination > .nav-links > .page-numbers.next {
  display: none;
}
.pagination > .nav-links > .page-numbers.dots {
  translate: 0 20%;
}

/* ============================================
** animation
=============================================== */
.js-fadeIn {
  opacity: 0;
  -webkit-transition: opacity 1s ease, translate 1s ease;
  translate: 0 20px;
  transition: opacity 1s ease, translate 1s ease;
}
.js-fadeIn.js-show {
  translate: 0 0;
  opacity: 1;
}

/* ============================================
** scrollBar
=============================================== */
.ly-scrollBar {
  -webkit-margin-before: 4rem;
  margin-block-start: 4rem;
}

.scrollBar-line {
  justify-self: center;
  margin-inline: auto;
  background-color: #d7d7d7;
  inline-size: 2px;
  block-size: 12rem;
  overflow: hidden;
}

.scrollBar-line::after {
  display: inline-block;
  translate: 0 -100%;
  background-color: var(--color-green);
  inline-size: 2px;
  block-size: 5rem;
  content: "";
  -webkit-animation: 2s ease-in-out backwards infinite kf-animationScrollBar;
  animation: 2s ease-in-out backwards infinite kf-animationScrollBar;
}

@-webkit-keyframes kf-animationScrollBar {
  0% {
    translate: 0 -100%;
  }
  100% {
    translate: 0 250%;
  }
}

@keyframes kf-animationScrollBar {
  0% {
    translate: 0 -100%;
  }
  100% {
    translate: 0 250%;
  }
}
/* ============================================
** common サイト全体の共通
=============================================== */
.wrapper {
  min-block-size: 100svh;
  overflow-x: clip;
}

.container {
  margin-inline: auto;
  padding-inline: var(--padding-pc);
  inline-size: min(var(--inner-width) + var(--padding-pc) * 2, 100%);
}

/* ============================================
** header
=============================================== */
.header {
  position: fixed;
  z-index: 1000;
  inset-block-start: 0;
  inset-inline-start: 0;
  background-color: transparent;
  inline-size: 100%;
  -webkit-transition: background-color 0.3s ease-in-out;
  transition: background-color 0.3s ease-in-out;
}
.header.is-scroll {
  background-color: rgba(255, 255, 255, 0.9);
}

.header_inner {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-areas: "logo menu";
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  block-size: 10rem;
}

.header_inner.container {
  padding-inline: var(--padding-pc);
  inline-size: min(1100px + var(--padding-pc) * 2, 100%);
}

.header_logoBlock {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  grid-area: logo;
  -webkit-column-gap: 2rem;
  -moz-column-gap: 2rem;
  column-gap: 2rem;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.header_logo {
  inline-size: 9.3rem;
}

.header_logoLead {
  color: var(--color-dark-green);
  font-weight: var(--weight-medium);
  font-size: 1.2rem;
  line-height: 1.3333333333;
  letter-spacing: 0.02em;
}

.header_navBlock {
  display: grid;
  grid-auto-flow: column;
  -webkit-column-gap: 1.5rem;
  -moz-column-gap: 1.5rem;
  column-gap: 1.5rem;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.header_navButtonWrapper {
  display: grid;
  inline-size: min(15rem, 100%);
  min-block-size: 4.5rem;
  text-align: center;
}

.header_navButton {
  --background: var(--color-light-green);
  display: inline-grid;
  grid-template-columns: auto -webkit-max-content;
  grid-template-columns: auto max-content;
  -webkit-column-gap: 0.5rem;
  -moz-column-gap: 0.5rem;
  column-gap: 0.5rem;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-start-start-radius: 2rem;
  border-end-end-radius: 2rem;
  background-color: color-mix(
    in sRGB,
    var(--background),
    #fff var(--lighten, 0%)
  );
  color: var(--color-white);
  font-weight: var(--weight-bold);
  font-size: 1.6rem;
  letter-spacing: 0.02em;
  -webkit-transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
  transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
}
.header_navButton::before {
  aspect-ratio: 21/17;
  inline-size: 2.1rem;
  -webkit-margin-before: 0.2rem;
  margin-block-start: 0.2rem;
  background-color: var(--color-white);
  pointer-events: none;
  content: "";
  -webkit-mask-image: url("../images/common/icon/icon-mail.svg");
  mask-image: url("../images/common/icon/icon-mail.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}
.header_navButton:focus-visible {
  --lighten: 20%;
}

/* ============================================
** footer
=============================================== */
.ly-footer {
  padding-block: 10rem 6rem;
}

.footer {
  background-color: var(--color-light-green);
}

.footer_inner.container {
  inline-size: min(1140px + var(--padding-pc) * 2, 100%);
}

.footer_contents {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-areas: "logo nav" "info copyright";
}

.footer_logoBlock {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  grid-area: logo;
  -webkit-column-gap: 1rem;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  align-self: start;
}

.footer_logo {
  inline-size: 13rem;
}

.footer_logoLead {
  color: var(--color-white);
  font-weight: var(--weight-medium);
  font-size: 1.2rem;
  line-height: 1.3333333333;
  letter-spacing: 0.02em;
}

.footer_info {
  grid-area: info;
  -webkit-padding-start: 1.8rem;
  padding-inline-start: 1.8rem;
  -webkit-margin-before: -3.7rem;
  margin-block-start: -3.7rem;
}

.footer_infoAddress {
  color: var(--color-white);
  font-weight: var(--weight-bold);
  font-size: 1.4rem;
  line-height: 1.6428571429;
  letter-spacing: 0.02em;
}

.footer_navBlock {
  display: grid;
  grid-template-columns: -webkit-max-content 1fr;
  grid-template-columns: max-content 1fr;
  grid-area: nav;
  -webkit-column-gap: 7.7rem;
  -moz-column-gap: 7.7rem;
  column-gap: 7.7rem;
  justify-self: end;
}

.footer_nav {
  display: grid;
  grid-auto-rows: 1fr;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.footer_navLink {
  display: block;
  color: var(--color-white);
  font-weight: var(--weight-bold);
  font-size: 1.4rem;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.footer_contactButton {
  min-inline-size: 22.2rem;
}

.footer_copyright {
  grid-area: copyright;
  justify-self: end;
  -webkit-margin-before: 2rem;
  margin-block-start: 2rem;
}
.footer_copyright small {
  color: var(--color-white);
  font-weight: var(--weight-bold);
  font-size: 1.4rem;
  line-height: 2.3571428571;
  letter-spacing: 0.02em;
}

/* ============================================
** front
=============================================== */
.ly-firstView {
  padding-block: calc(var(--header-block-size) + 1.7rem) 5.7rem;
}

.firstView {
  position: relative;
  background-image: url("../images/pages/front/fv/fv-bg.webp");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  overflow: hidden;
}

.firstView_title {
  color: var(--color-green);
  font-weight: var(--weight-bold);
  font-size: 5.2rem;
  line-height: 1.4423076923;
  letter-spacing: 0.02em;
  text-align: center;
}
.firstView_title span[data-device="pc"] {
  display: inline;
}

.firstView_titleOrange {
  color: var(--color-orange);
}

.firstView_titleNumber {
  letter-spacing: -0.07em;
}

.firstView_bottomBlock {
  display: grid;
  grid-template-columns: auto 1fr;
  inline-size: min(1023px, 100%);
  -webkit-margin-before: 4.1rem;
  margin-block-start: 4.1rem;
  -webkit-margin-start: auto;
  margin-inline-start: auto;
}

.firstView_logo {
  inline-size: 36rem;
}
.firstView_logo img {
  inline-size: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}

.ly-firstView_scrollBar {
  margin-block: 1.4rem;
}

.firstView_scrollBar {
  display: none;
}

.firstView_scrollBarLine {
  justify-self: center;
  margin-inline: auto;
  background-color: #d7d7d7;
  inline-size: 2px;
  block-size: 5rem;
  overflow: hidden;
}

.firstView_scrollBarLine::after {
  display: inline-block;
  translate: 0 -100%;
  background-color: var(--color-green);
  inline-size: 2px;
  block-size: 3rem;
  content: "";
  -webkit-animation: 2s ease-in-out backwards infinite kf-animationScrollBar;
  animation: 2s ease-in-out backwards infinite kf-animationScrollBar;
}

.firstView_body {
  justify-self: end;
}

.firstView_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.firstView_item:nth-child(1) {
  -webkit-margin-end: 2.7rem;
  margin-inline-end: 2.7rem;
}
.firstView_item:nth-child(1) .firstView_itemText {
  color: var(--color-light-green);
}
.firstView_item:nth-child(1) .firstView_itemText span {
  font-size: 1.3rem;
}
.firstView_item:nth-child(2) {
  -webkit-margin-end: 1.5rem;
  margin-inline-end: 1.5rem;
}
.firstView_item:nth-child(2) .firstView_itemText {
  color: var(--color-orange);
}
.firstView_item:nth-child(3) .firstView_itemText {
  color: var(--color-olive);
}
.firstView_item:nth-child(3) .firstView_itemText span {
  font-size: 1.6rem;
}

.firstView_itemImg {
  margin-inline: auto;
  inline-size: 14.5rem;
}
.firstView_itemImg img {
  inline-size: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}

.firstView_itemText {
  -webkit-margin-before: 1rem;
  margin-block-start: 1rem;
  font-weight: var(--weight-bold);
  font-size: 2rem;
  letter-spacing: 0.02em;
  text-align: center;
}
.firstView_itemText span {
  letter-spacing: 0.02em;
}

.firstView_bodyLead {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  -webkit-column-gap: 1rem;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  -webkit-margin-before: 0.8rem;
  margin-block-start: 0.8rem;
  color: var(--color-light-green);
  font-weight: var(--weight-bold);
  font-size: 1.8rem;
  letter-spacing: 0.02em;
  text-align: center;
}
.firstView_bodyLead::before,
.firstView_bodyLead::after {
  background-color: currentcolor;
  inline-size: 1px;
  block-size: 1.6rem;
  content: "";
}
.firstView_bodyLead::before {
  justify-self: end;
  translate: 0 0.2rem;
  rotate: -15deg;
}
.firstView_bodyLead::after {
  justify-self: start;
  translate: 0 0.2rem;
  rotate: 15deg;
}

.firstView_button {
  -webkit-margin-before: 1rem;
  margin-inline: auto;
  margin-block-start: 1rem;
}
.firstView_button .primaryButton {
  -webkit-column-gap: 1rem;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
}

.firstView_leafBlock .firstView_leafImg {
  --design-width: 1366;
  inset-block-start: calc(-200 / var(--design-width) * 100vw);
}
.firstView_leafBlock .firstView_leafImg:nth-child(1) {
  inset-inline-end: calc(250 / var(--design-width) * 100vw);
  -webkit-animation: fall 12s linear infinite,
    sway1 4s ease-in-out infinite alternate;
  animation: fall 12s linear infinite, sway1 4s ease-in-out infinite alternate;
}
.firstView_leafBlock .firstView_leafImg:nth-child(2) {
  inset-inline-start: calc(50 / var(--design-width) * 100vw);
  -webkit-animation: fall 12s linear infinite,
    sway2 4s ease-in-out infinite alternate;
  animation: fall 12s linear infinite, sway2 4s ease-in-out infinite alternate;
  -webkit-animation-delay: 2s;
  animation-delay: 2s;
}
.firstView_leafBlock .firstView_leafImg:nth-child(3) {
  inset-inline-start: calc(100 / var(--design-width) * 100vw);
  -webkit-animation: fall 12s linear infinite,
    sway3 4s ease-in-out infinite alternate;
  animation: fall 12s linear infinite, sway3 4s ease-in-out infinite alternate;
  -webkit-animation-delay: 4s;
  animation-delay: 4s;
}
.firstView_leafBlock .firstView_leafImg:nth-child(4) {
  inset-inline-start: calc(350 / var(--design-width) * 100vw);
  -webkit-animation: fall 12s linear infinite,
    sway4 4s ease-in-out infinite alternate;
  animation: fall 12s linear infinite, sway4 4s ease-in-out infinite alternate;
  -webkit-animation-delay: 6s;
  animation-delay: 6s;
}

.firstView_leafImg {
  position: absolute;
  z-index: -1;
  inline-size: 10rem;
  pointer-events: none;
}
.firstView_leafImg img {
  aspect-ratio: 1;
  inline-size: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  -webkit-filter: opacity(0.5);
  filter: opacity(0.5);
}

@-webkit-keyframes fall {
  0% {
    opacity: 0;
    inset-block-start: -20%;
  }
  1% {
    opacity: 1;
  }
  80% {
    opacity: 1;
  }
  90% {
    opacity: 0.8;
  }
  100% {
    opacity: 0;
    inset-block-start: 100%;
  }
}

@keyframes fall {
  0% {
    opacity: 0;
    inset-block-start: -20%;
  }
  1% {
    opacity: 1;
  }
  80% {
    opacity: 1;
  }
  90% {
    opacity: 0.8;
  }
  100% {
    opacity: 0;
    inset-block-start: 100%;
  }
}
@-webkit-keyframes sway1 {
  from {
    -webkit-transform: translateX(180px) rotate(-45deg);
    transform: translateX(180px) rotate(-45deg);
  }
  to {
    -webkit-transform: translateX(0) rotate(0deg);
    transform: translateX(0) rotate(0deg);
  }
}
@keyframes sway1 {
  from {
    -webkit-transform: translateX(180px) rotate(-45deg);
    transform: translateX(180px) rotate(-45deg);
  }
  to {
    -webkit-transform: translateX(0) rotate(0deg);
    transform: translateX(0) rotate(0deg);
  }
}
@-webkit-keyframes sway2 {
  from {
    -webkit-transform: translateX(0) rotate(0deg);
    transform: translateX(0) rotate(0deg);
  }
  to {
    -webkit-transform: translateX(130px) rotate(-45deg);
    transform: translateX(130px) rotate(-45deg);
  }
}
@keyframes sway2 {
  from {
    -webkit-transform: translateX(0) rotate(0deg);
    transform: translateX(0) rotate(0deg);
  }
  to {
    -webkit-transform: translateX(130px) rotate(-45deg);
    transform: translateX(130px) rotate(-45deg);
  }
}
@-webkit-keyframes sway3 {
  from {
    -webkit-transform: translateX(180px) rotate(-45deg);
    transform: translateX(180px) rotate(-45deg);
  }
  to {
    -webkit-transform: translateX(0) rotate(0deg);
    transform: translateX(0) rotate(0deg);
  }
}
@keyframes sway3 {
  from {
    -webkit-transform: translateX(180px) rotate(-45deg);
    transform: translateX(180px) rotate(-45deg);
  }
  to {
    -webkit-transform: translateX(0) rotate(0deg);
    transform: translateX(0) rotate(0deg);
  }
}
@-webkit-keyframes sway4 {
  from {
    -webkit-transform: translateX(0) rotate(0deg);
    transform: translateX(0) rotate(0deg);
  }
  to {
    -webkit-transform: translateX(-120px) rotate(-45deg);
    transform: translateX(-120px) rotate(-45deg);
  }
}
@keyframes sway4 {
  from {
    -webkit-transform: translateX(0) rotate(0deg);
    transform: translateX(0) rotate(0deg);
  }
  to {
    -webkit-transform: translateX(-120px) rotate(-45deg);
    transform: translateX(-120px) rotate(-45deg);
  }
}
.ly-message {
  -webkit-margin-after: max(20rem, 11lvw);
  margin-block-end: max(20rem, 11lvw);
}

.message {
  position: relative;
}
.message::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  background-image: url("../images/pages/front/message/message-bg.webp");
  background-position: top center;
  background-size: cover;
  background-repeat: no-repeat;
  block-size: max(70rem, 40lvw);
  content: "";
}

.message_contents {
  display: grid;
  grid-template-columns: 46rem 1fr;
}
.message_contents::before {
  inline-size: 100%;
  content: "";
}

.message_body {
  inline-size: min(610px, 100%);
  -webkit-padding-before: 9.2972181552vw;
  padding-block-start: 9.2972181552vw;
}

.message_title {
  color: var(--color-orange);
  font-weight: var(--weight-bold);
  font-size: 3rem;
  line-height: 1.4;
  letter-spacing: 0.15em;
}
.message_title[data-device="sp"] {
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  -webkit-padding-end: max(2rem, 20vw);
  padding-inline-end: max(2rem, 20vw);
  -webkit-margin-before: max(8.4rem, 20vw);
  margin-block-start: max(8.4rem, 20vw);
  -webkit-margin-start: auto;
  margin-inline-start: auto;
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
}

.message_list {
  display: grid;
  row-gap: 2rem;
  -webkit-margin-before: 4rem;
  margin-block-start: 4rem;
}

.message_item {
  translate: 0 20px;
  opacity: 0;
}

.message_itemText {
  display: inline-grid;
  grid-template-columns: auto 1fr;
  -webkit-column-gap: 1rem;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  -webkit-box-align: start;
  -webkit-align-items: start;
  -ms-flex-align: start;
  align-items: start;
  font-weight: var(--weight-bold);
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0.02em;
  white-space: nowrap;
}
.message_itemText::before {
  background-image: url("../images/pages/front/message/message-check.svg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  aspect-ratio: 1;
  inline-size: 2.7rem;
  content: "";
}

.ly-challenge {
  -webkit-margin-before: 25rem;
  margin-block-start: 25rem;
}

.challenge_heading {
  display: grid;
  row-gap: 1.8rem;
  color: var(--color-orange);
  letter-spacing: 0.08em;
  text-align: center;
}
.challenge_heading::before {
  margin-inline: auto;
  background-image: url("../images/common/other/leaf-o.svg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  aspect-ratio: 52/40;
  inline-size: 5.2rem;
  content: "";
}

.challenge_headingText {
  -webkit-margin-before: 2rem;
  margin-block-start: 2rem;
  color: var(--color-olive);
  font-weight: var(--weight-bold);
  font-size: 1.6rem;
  line-height: 1.875;
  letter-spacing: 0.02em;
  text-align: center;
}

.challenge_contents {
  -webkit-margin-before: 8.5rem;
  margin-block-start: 8.5rem;
}

.challenge_course {
  margin-inline: auto;
  inline-size: min(992px, 100%);
}

.challenge_button {
  -webkit-margin-before: 8.2rem;
  margin-inline: auto;
  margin-block-start: 8.2rem;
}
.challenge_button .primaryButton {
  -webkit-column-gap: 3rem;
  -moz-column-gap: 3rem;
  column-gap: 3rem;
}

.ly-strengths {
  -webkit-margin-before: 20rem;
  margin-block-start: 20rem;
}

.strengths {
  --strengths-background: var(--color-light-green);
  position: relative;
  background-color: var(--strengths-background);
}

.strengths_wave {
  position: absolute;
  inline-size: 100%;
  block-size: 10rem;
}
.strengths_wave svg {
  inline-size: 100%;
  block-size: 100%;
}
.strengths_wave:nth-child(1 of .strengths_wave) {
  inset-block-start: -9.9rem;
}
.strengths_wave:nth-child(2 of .strengths_wave) {
  scale: 1 -1;
  inset-block-end: -9.9rem;
}

.strengths_headingBlock {
  display: grid;
  position: relative;
  margin-inline: auto;
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  text-align: center;
}
.strengths_headingBlock::before {
  margin-inline: auto;
  background-image: url("../images/common/other/leaf-y.svg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  aspect-ratio: 52/40;
  inline-size: 5.2rem;
  content: "";
}
.strengths_headingBlock::after {
  position: absolute;
  rotate: 21deg;
  inset-block-start: -3.3rem;
  inset-inline-start: 16rem;
  background-image: url("../images/pages/front/strengths/strengths-leafBg.webp");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  aspect-ratio: 232/178;
  inline-size: 23.2rem;
  content: "";
}

.strengths_headingText {
  -webkit-margin-before: 1.5rem;
  margin-block-start: 1.5rem;
  color: var(--color-white);
  font-weight: var(--weight-bold);
  font-size: 3rem;
  line-height: 1.4;
  letter-spacing: 0.15em;
}

.strengths_heading {
  color: var(--color-white);
  letter-spacing: 0.15em;
}
.strengths_heading span {
  color: var(--color-cream);
}

.strengths_contents {
  inline-size: min(992px, 100%);
  -webkit-margin-before: 8rem;
  margin-inline: auto;
  margin-block-start: 8rem;
}

.strength_button {
  -webkit-margin-before: 8rem;
  margin-inline: auto;
  margin-block-start: 8rem;
}
.strength_button .primaryButton {
  -webkit-column-gap: 3rem;
  -moz-column-gap: 3rem;
  column-gap: 3rem;
}

.ly-voice {
  -webkit-margin-before: 20rem;
  margin-block-start: 20rem;
}

.voice_heading {
  display: grid;
  row-gap: 1.5rem;
  color: var(--color-orange);
  letter-spacing: 0.08em;
  text-align: center;
}
.voice_heading::before {
  margin-inline: auto;
  background-image: url("../images/common/other/leaf-y.svg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  aspect-ratio: 52/40;
  inline-size: 5.2rem;
  content: "";
}

.voice_contents {
  -webkit-margin-before: 8rem;
  margin-block-start: 8rem;
}

.voice_slider {
  overflow-x: clip;
}

.voice_slide {
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
}
.voice_slide:not(.swiper-slide-visible) {
  opacity: 0.3;
  pointer-events: none;
}

.voice_swiper {
  overflow: visible;
  -webkit-clip-path: inset(0 -20% 0 -20%);
  clip-path: inset(0 -20% 0 -20%);
}

.voice_slideItem {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  block-size: 45rem;
  -webkit-padding-before: 5.4rem;
  border-start-start-radius: 8rem;
  border-end-end-radius: 8rem;
  background-color: var(--color-gray);
  padding-inline: 5.4rem;
  padding-block-start: 5.4rem;
}

.voice_slideTitle {
  display: inline-grid;
  grid-template-columns: auto 1fr;
  -webkit-column-gap: 1.5rem;
  -moz-column-gap: 1.5rem;
  column-gap: 1.5rem;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  color: var(--color-green);
  font-weight: var(--weight-bold);
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0.02em;
}
.voice_slideTitle::before {
  background-image: url("../images/common/other/leaf-g.svg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  aspect-ratio: 40/31;
  inline-size: 4rem;
  content: "";
}

.voice_slideText {
  display: -webkit-box;
  -webkit-margin-before: 1.5rem;
  margin-block-start: 1.5rem;
  -webkit-line-clamp: 8;
  overflow: hidden;
  font-weight: var(--weight-medium);
  font-size: 1.6rem;
  line-height: 1.4375;
  letter-spacing: 0.02em;
  -webkit-box-orient: vertical;
}

.voice_slideImg {
  inline-size: 41rem;
  -webkit-margin-before: auto;
  margin-block-start: auto;
}
.voice_slideImg img {
  aspect-ratio: 410/154;
  inline-size: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}

.voice_slideUser {
  position: absolute;
  z-index: 1;
  inset-block-end: 0;
  inset-inline-start: -1.5rem;
  aspect-ratio: 147/152;
  inline-size: 14.7rem;
  -webkit-padding-before: 6.5rem;
  padding-block-start: 6.5rem;
  -webkit-padding-start: 2.4rem;
  background-image: url("../images/pages/front/voice/voice-userBg.webp");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding-inline-start: 2.4rem;
}

.voice_slideUserInitial {
  color: var(--color-white);
  font-weight: var(--weight-bold);
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0.02em;
}

.voice_slideUserAge {
  color: var(--color-white);
  font-weight: var(--weight-bold);
  font-size: 1.4rem;
  line-height: 1.6428571429;
  letter-spacing: 0.02em;
}

.voice_slidePrev {
  translate: -50%;
}

.voice_slideNext {
  translate: 50%;
}

.ly-report {
  -webkit-margin-before: 49.2rem;
  margin-block-start: 49.2rem;
}

.ly-report.column {
  -webkit-margin-before: 34.2rem;
  margin-block-start: 34.2rem;
}

.report {
  position: relative;
  background-color: var(--color-gray);
}

.report_wave {
  position: absolute;
  inline-size: 100%;
  block-size: 30rem;
}
.report_wave svg {
  inline-size: 100%;
  block-size: 100%;
}
.report_wave:nth-child(1 of .report_wave) {
  inset-block-start: -29.9rem;
}
.report_wave:nth-child(2 of .report_wave) {
  inset-block-end: -29.9rem;
}

.report_heading {
  display: grid;
  row-gap: 1.5rem;
  color: var(--color-green);
  letter-spacing: 0.15em;
  text-align: center;
}
.report_heading::before {
  margin-inline: auto;
  background-image: url("../images/common/other/leaf-o.svg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  aspect-ratio: 52/40;
  inline-size: 5.2rem;
  content: "";
}

.report_contents {
  -webkit-margin-before: 8rem;
  margin-block-start: 8rem;
}

.report_button {
  -webkit-margin-before: 8rem;
  margin-inline: auto;
  margin-block-start: 8rem;
}
.report_button .primaryButton {
  -webkit-column-gap: 4.5rem;
  -moz-column-gap: 4.5rem;
  column-gap: 4.5rem;
}

.ly-faq {
  -webkit-margin-before: 16.3rem;
  margin-block-start: 16.3rem;
}

.faq_heading {
  display: grid;
  row-gap: 1.5rem;
  color: var(--color-orange);
  letter-spacing: 0.08em;
  text-align: center;
}
.faq_heading::before {
  margin-inline: auto;
  background-image: url("../images/common/other/leaf-o.svg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  aspect-ratio: 52/40;
  inline-size: 5.2rem;
  content: "";
}

.faq_contents {
  -webkit-margin-before: 8rem;
  margin-block-start: 8rem;
}

.ly-company {
  -webkit-margin-before: 15rem;
  margin-block-start: 15rem;
}

.company_heading {
  display: grid;
  row-gap: 1.5rem;
  color: var(--color-light-green);
  letter-spacing: 0.08em;
  text-align: center;
}
.company_heading::before {
  margin-inline: auto;
  background-image: url("../images/common/other/leaf-o.svg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  aspect-ratio: 52/40;
  inline-size: 5.2rem;
  content: "";
}

.company_contents {
  -webkit-margin-before: 8rem;
  margin-block-start: 8rem;
}

.ly-access {
  margin-block: 15rem 24.6rem;
}

.access_heading {
  display: grid;
  row-gap: 1.5rem;
  color: var(--color-orange);
  letter-spacing: 0.08em;
  text-align: center;
}
.access_heading::before {
  margin-inline: auto;
  background-image: url("../images/common/other/leaf-o.svg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  aspect-ratio: 52/40;
  inline-size: 5.2rem;
  content: "";
}

.access_contents {
  -webkit-margin-before: 8rem;
  margin-block-start: 8rem;
}

/* ============================================
** program
=============================================== */
.ly-pageProgramFirstView {
  -webkit-margin-before: 12rem;
  margin-block-start: 12rem;
}

.pageProgramFirstView_heading {
  text-align: center;
}

.pageProgramFirstView_text {
  -webkit-margin-before: 5rem;
  margin-block-start: 5rem;
  color: var(--color-green);
  font-weight: var(--weight-bold);
  font-size: 3rem;
  line-height: 2;
  letter-spacing: 0.15em;
  text-align: center;
}
.pageProgramFirstView_text span {
  color: var(--color-orange);
}

.pageProgramFirstView_message {
  -webkit-margin-before: 2.5rem;
  margin-block-start: 2.5rem;
  color: #969696;
  font-weight: var(--weight-bold);
  font-size: 1.6rem;
  line-height: 1.875;
  letter-spacing: 0.02em;
  text-align: center;
}

.ly-pageProgramSkill {
  -webkit-margin-before: 10rem;
  margin-block-start: 10rem;
}

.pageProgramSkill_heading {
  display: grid;
  row-gap: 1.5rem;
  color: var(--color-orange);
  letter-spacing: 0.08em;
  text-align: center;
}
.pageProgramSkill_heading::before {
  margin-inline: auto;
  background-image: url("../images/common/other/leaf-o.svg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  aspect-ratio: 52/40;
  inline-size: 5.2rem;
  content: "";
}

.pageProgramSkill_contents {
  -webkit-margin-before: 6.35rem;
  margin-block-start: 6.35rem;
}

.pageProgramSkill_items {
  display: grid;
  gap: 10rem;
  inline-size: min(844px, 100%);
  -webkit-margin-before: 10rem;
  margin-inline: auto;
  margin-block-start: 10rem;
}

.pageProgramSkill_item:has(.pageProgramSkill_itemSlide) {
  -webkit-margin-before: 10rem;
  margin-block-start: 10rem;
}

.pageProgramSkill_itemHead {
  text-align: center;
}

.pageProgramSkill_itemHeading {
  display: grid;
  row-gap: 1.5rem;
  color: var(--color-orange);
  font-weight: var(--weight-bold);
  font-size: 4.7rem;
  line-height: 1.4042553191;
  letter-spacing: 0.08em;
}
.pageProgramSkill_itemHeading::before {
  margin-inline: auto;
  background-image: url("../images/common/other/leaf-o.svg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  aspect-ratio: 52/40;
  inline-size: 5.2rem;
  content: "";
}

.pageProgramSkill_itemSubHeading {
  -webkit-margin-before: 0.5rem;
  margin-block-start: 0.5rem;
  color: var(--color-light-green);
  font-weight: var(--weight-bold);
  font-size: 3rem;
  line-height: 1.4;
  letter-spacing: 0.03em;
}

.pageProgramSkill_itemText {
  -webkit-margin-before: 0.5rem;
  margin-block-start: 0.5rem;
  color: var(--color-primary);
  font-weight: var(--weight-medium);
  font-size: 1.6rem;
  line-height: 1.4375;
  letter-spacing: 0.02em;
}

.pageProgramSkill_itemMessage {
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  inline-size: min(50rem, 100%);
  min-block-size: 8.5rem;
  -webkit-margin-before: 3rem;
  margin-inline: auto;
  margin-block-start: 3rem;
  border: 1px solid var(--color-light-green);
  border-start-start-radius: 8rem;
  border-end-end-radius: 8rem;
  text-align: center;
}

.pageProgramSkill_itemMessageText {
  color: var(--color-light-green);
  font-weight: var(--weight-bold);
  font-size: 2rem;
  letter-spacing: 0.02em;
}
.pageProgramSkill_itemMessageText span {
  font-weight: var(--weight-medium);
  font-size: 1.6rem;
}

.pageProgramSkill_itemTab {
  -webkit-margin-before: 3rem;
  margin-block-start: 3rem;
}

.pageProgramSkill_itemSlide {
  -webkit-margin-before: 3rem;
  margin-block-start: 3rem;
  overflow-x: clip;
}
.pageProgramSkill_itemSlide:nth-child(2 of .pageProgramSkill_itemSlide) {
  -webkit-margin-before: 8.5rem;
  margin-block-start: 8.5rem;
}
.pageProgramSkill_itemSlide:nth-child(2 of .pageProgramSkill_itemSlide)
  .pageProgramSkill_swiperContainer {
  -webkit-margin-before: 2.65rem;
  margin-block-start: 2.65rem;
}

.pageProgramSkill_swiper {
  overflow: visible;
}
.pageProgramSkill_swiper.--01 .pageProgramSkill_swiperSlide.--large {
  inline-size: 73.5rem;
}
.pageProgramSkill_swiper.--01 .pageProgramSkill_swiperSlide.--medium {
  inline-size: 31.5rem;
}
.pageProgramSkill_swiper.--02 .pageProgramSkill_swiperSlide.--large {
  inline-size: 63rem;
}
.pageProgramSkill_swiper.--02 .pageProgramSkill_swiperSlide.--medium {
  inline-size: 28rem;
}

.pageProgramSkill_swiperSlide {
  display: grid;
  place-items: center;
  inline-size: 42rem;
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
}
.pageProgramSkill_swiperSlide:not(.swiper-slide-active) {
  opacity: 0.3;
  pointer-events: none;
}

.pageProgramSkill_swiperSlideImg {
  inline-size: 100%;
}
.pageProgramSkill_swiperSlideImg img {
  inline-size: 100%;
  block-size: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.pageProgramSkill_swiperPrev {
  inset-inline-start: 7.8rem;
}

.pageProgramSkill_swiperNext {
  inset-inline-end: 7.8rem;
}

.ly-pageProgramFaq {
  -webkit-margin-before: 22rem;
  margin-block-start: 22rem;
}

.pageProgramFaq_heading {
  display: grid;
  row-gap: 1.5rem;
  color: var(--color-orange);
  letter-spacing: 0.08em;
  text-align: center;
}
.pageProgramFaq_heading::before {
  margin-inline: auto;
  background-image: url("../images/common/other/leaf-o.svg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  aspect-ratio: 52/40;
  inline-size: 5.2rem;
  content: "";
}

.pageProgramFaq_contents {
  -webkit-margin-before: 8rem;
  margin-block-start: 8rem;
}

.ly-pageProgramReport {
  margin-block: 10rem 20rem;
}

.pageProgramReport_heading {
  display: grid;
  row-gap: 1.5rem;
  color: var(--color-green);
  letter-spacing: 0.15em;
  text-align: center;
}
.pageProgramReport_heading::before {
  margin-inline: auto;
  background-image: url("../images/common/other/leaf-o.svg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  aspect-ratio: 52/40;
  inline-size: 5.2rem;
  content: "";
}

.pageProgramReport_contents {
  -webkit-margin-before: 8rem;
  margin-block-start: 8rem;
}

.pageProgramReport_button {
  -webkit-margin-before: 8rem;
  margin-inline: auto;
  margin-block-start: 8rem;
}
.pageProgramReport_button .primaryButton {
  -webkit-column-gap: 4.5rem;
  -moz-column-gap: 4.5rem;
  column-gap: 4.5rem;
}

/* ============================================
** service
=============================================== */
.ly-pageServiceFirstView {
  -webkit-margin-before: 12rem;
  margin-block-start: 12rem;
}

.pageServiceFirstView_heading {
  text-align: center;
}

.pageServiceFirstView_text {
  -webkit-margin-before: 5rem;
  margin-block-start: 5rem;
  color: var(--color-green);
  font-weight: var(--weight-bold);
  font-size: 3rem;
  line-height: 2;
  letter-spacing: 0.15em;
  text-align: center;
}
.pageServiceFirstView_text span {
  color: var(--color-orange);
}

.pageServiceFirstView_message {
  -webkit-margin-before: 2.5rem;
  margin-block-start: 2.5rem;
  color: #969696;
  font-weight: var(--weight-bold);
  font-size: 1.6rem;
  line-height: 1.875;
  letter-spacing: 0.02em;
  text-align: center;
}

.ly-pageServiceFeature {
  -webkit-margin-before: 10rem;
  margin-block-start: 10rem;
}

.pageServiceFeature_heading {
  display: grid;
  row-gap: 1.5rem;
  color: var(--color-orange);
  letter-spacing: 0.08em;
  text-align: center;
}
.pageServiceFeature_heading::before {
  margin-inline: auto;
  background-image: url("../images/common/other/leaf-o.svg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  aspect-ratio: 52/40;
  inline-size: 5.2rem;
  content: "";
}

.pageServiceFeature_contents {
  -webkit-margin-before: 3rem;
  margin-block-start: 3rem;
}

.pageServiceFeature_listWrapper {
  margin-inline: auto;
  inline-size: min(992px, 100%);
}

.pageServiceFeature_list {
  --row-gap: 3rem;
  --column-gap: 5.2rem;
  --negative-gap: 1.1rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: var(--row-gap) var(--column-gap);
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.pageServiceFeature_item {
  display: grid;
  grid-template-areas: "img" "heading" "text";
  inline-size: calc((100% - var(--column-gap) * 2) / 3);
}
.pageServiceFeature_item:nth-child(4) {
  -webkit-margin-end: calc(var(--negative-gap) * -1);
  margin-inline-end: calc(var(--negative-gap) * -1);
}
.pageServiceFeature_item:nth-child(5) {
  -webkit-margin-start: calc(var(--negative-gap) * -1);
  margin-inline-start: calc(var(--negative-gap) * -1);
}

.pageServiceFeature_itemHeading {
  display: inline-grid;
  grid-template-columns: -webkit-max-content auto;
  grid-template-columns: max-content auto;
  grid-area: heading;
  gap: 1rem;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-margin-before: 1.3rem;
  margin-block-start: 1.3rem;
  color: var(--color-green);
  font-weight: var(--weight-bold);
  font-size: 2rem;
  letter-spacing: 0.02em;
}
.pageServiceFeature_itemHeading::before {
  inline-size: 1.4rem;
  block-size: 1.7rem;
  -webkit-clip-path: polygon(14px 50%, 0% 0%, 0% 17px);
  clip-path: polygon(14px 50%, 0% 0%, 0% 17px);
  background-color: var(--color-orange);
  content: "";
}

.pageServiceFeature_itemText {
  grid-area: text;
  -webkit-margin-before: 1.7rem;
  margin-block-start: 1.7rem;
  color: var(--color-primary);
  font-weight: var(--weight-medium);
  font-size: 1.6rem;
  line-height: 1.4375;
  letter-spacing: 0.02em;
}

.pageServiceFeature_itemImg {
  grid-area: img;
  border-start-start-radius: 8rem;
  border-end-end-radius: 8rem;
  overflow: hidden;
}
.pageServiceFeature_itemImg img {
  inline-size: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.pageServiceFeature_listImportant {
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  -webkit-margin-before: 3rem;
  margin-inline: auto;
  margin-block-start: 3rem;
  color: var(--color-primary);
  font-weight: var(--weight-medium);
  font-size: 1.4rem;
  letter-spacing: 0.02em;
}

.ly-pageServiceTarget {
  margin-block: 10rem 23.4rem;
}

.pageServiceTarget_heading {
  display: grid;
  row-gap: 1.5rem;
  color: var(--color-orange);
  letter-spacing: 0.08em;
  text-align: center;
}
.pageServiceTarget_heading::before {
  margin-inline: auto;
  background-image: url("../images/common/other/leaf-o.svg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  aspect-ratio: 52/40;
  inline-size: 5.2rem;
  content: "";
}

.pageServiceTarget_message {
  -webkit-margin-before: 2rem;
  margin-block-start: 2rem;
  font-weight: var(--weight-medium);
  font-size: 1.6rem;
  line-height: 1.4375;
  letter-spacing: 0.02em;
  text-align: center;
}

.pageServiceTarget_contents {
  inline-size: min(845px, 100%);
  -webkit-margin-before: 3rem;
  margin-inline: auto;
  margin-block-start: 3rem;
}

.pageServiceTarget_conditions {
  display: grid;
  row-gap: 3rem;
}

.pageServiceTarget_condition {
  border-start-start-radius: 8rem;
  border-end-end-radius: 8rem;
  background-color: var(--color-gray);
  padding-inline: 5rem;
  padding-block: 5.1rem 6rem;
}

.pageServiceTarget_conditionHeading {
  color: var(--color-green);
  font-weight: var(--weight-bold);
  font-size: 3rem;
  line-height: 1.4;
  letter-spacing: 0.1em;
  text-align: center;
}

.pageServiceTarget_conditionList {
  display: grid;
  row-gap: 2rem;
  -webkit-margin-before: 2.5rem;
  margin-block-start: 2.5rem;
}

.pageServiceTarget_conditionItem {
  display: grid;
  row-gap: 0.5rem;
}

.pageServiceTarget_conditionItemText {
  color: var(--color-green);
  font-weight: var(--weight-bold);
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0.02em;
}

.pageServiceTarget_conditionItemExample {
  font-weight: var(--weight-medium);
  font-size: 1.6rem;
  line-height: 1.4375;
  letter-spacing: 0.02em;
}

.pageServiceTarget_conditionText {
  -webkit-margin-before: 2.5rem;
  margin-block-start: 2.5rem;
  font-weight: var(--weight-medium);
  font-size: 1.6rem;
  line-height: 1.4375;
  letter-spacing: 0.02em;
}

.ly-pageServiceFlow {
  -webkit-margin-before: 20rem;
  margin-block-start: 20rem;
}

.pageServiceFlow_heading {
  display: grid;
  row-gap: 1.5rem;
  color: var(--color-orange);
  letter-spacing: 0.08em;
  text-align: center;
}
.pageServiceFlow_heading::before {
  margin-inline: auto;
  background-image: url("../images/common/other/leaf-o.svg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  aspect-ratio: 52/40;
  inline-size: 5.2rem;
  content: "";
}

.pageServiceFlow_contents {
  -webkit-margin-before: 8rem;
  margin-block-start: 8rem;
}

.ly-pageServiceSchedule {
  -webkit-margin-before: 40rem;
  margin-block-start: 40rem;
}

.pageServiceSchedule {
  position: relative;
  background-color: var(--color-gray);
}

.pageServiceSchedule_wave {
  position: absolute;
  inline-size: 100%;
  block-size: 30rem;
}
.pageServiceSchedule_wave svg {
  inline-size: 100%;
  block-size: 100%;
}
.pageServiceSchedule_wave:nth-child(1 of .pageServiceSchedule_wave) {
  inset-block-start: -29.9rem;
}
.pageServiceSchedule_wave:nth-child(2 of .pageServiceSchedule_wave) {
  inset-block-end: -29.9rem;
}

.pageServiceSchedule_heading {
  display: grid;
  row-gap: 1.5rem;
  color: var(--color-orange);
  letter-spacing: 0.08em;
  text-align: center;
}
.pageServiceSchedule_heading::before {
  margin-inline: auto;
  background-image: url("../images/common/other/leaf-o.svg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  aspect-ratio: 52/40;
  inline-size: 5.2rem;
  content: "";
}

.pageServiceSchedule_contents {
  -webkit-margin-before: 8rem;
  margin-block-start: 8rem;
}

.ly-pageServiceFaq {
  -webkit-margin-before: 40rem;
  margin-block-start: 40rem;
}

.pageServiceFaq_heading {
  display: grid;
  row-gap: 1.5rem;
  color: var(--color-orange);
  letter-spacing: 0.08em;
  text-align: center;
}
.pageServiceFaq_heading::before {
  margin-inline: auto;
  background-image: url("../images/common/other/leaf-o.svg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  aspect-ratio: 52/40;
  inline-size: 5.2rem;
  content: "";
}

.pageServiceFaq_contents {
  -webkit-margin-before: 4.7rem;
  margin-block-start: 4.7rem;
}

.ly-pageServiceReport {
  margin-block: 10rem 20rem;
}

.pageServiceReport_heading {
  display: grid;
  row-gap: 1.5rem;
  color: var(--color-green);
  letter-spacing: 0.08em;
  text-align: center;
}
.pageServiceReport_heading::before {
  margin-inline: auto;
  background-image: url("../images/common/other/leaf-o.svg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  aspect-ratio: 52/40;
  inline-size: 5.2rem;
  content: "";
}

.pageServiceReport_contents {
  -webkit-margin-before: 8rem;
  margin-block-start: 8rem;
}

.pageServiceReport_button {
  -webkit-margin-before: 8rem;
  margin-inline: auto;
  margin-block-start: 8rem;
}
.pageServiceReport_button .primaryButton {
  -webkit-column-gap: 4.5rem;
  -moz-column-gap: 4.5rem;
  column-gap: 4.5rem;
}

/* ============================================
** report
=============================================== */
.ly-pageReportFirstView {
  -webkit-margin-before: 12rem;
  margin-block-start: 12rem;
}

.pageReportFirstView_heading {
  text-align: center;
}

.pageReportFirstView_category {
  -webkit-margin-before: 4rem;
  margin-block-start: 4rem;
  color: var(--color-green);
  font-weight: var(--weight-medium);
  font-size: 3rem;
  letter-spacing: 0.02em;
}

.ly-pageReportDiary {
  margin-block: 15rem 20rem;
}

.pageReportDiary_contents {
  display: grid;
  grid-template-columns: 1fr 29.6rem;
  grid-template-areas: "main sidebar";
  -webkit-column-gap: 7.4rem;
  -moz-column-gap: 7.4rem;
  column-gap: 7.4rem;
}

.pageReportDiary_main {
  grid-area: main;
}

/* ============================================
** single
=============================================== */
.ly-pageSingle {
  margin-block: 15rem 20rem;
}

.pageSingle_contents {
  display: grid;
  grid-template-columns: 1fr 29.6rem;
  grid-template-areas: "main sidebar";
  -webkit-column-gap: 7.4rem;
  -moz-column-gap: 7.4rem;
  column-gap: 7.4rem;
}

.pageSingle_articleWrapper {
  grid-area: main;
}

.pageSingle_articleTitle {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  overflow: hidden;
  color: var(--color-green);
  font-weight: var(--weight-bold);
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0.02em;
  -webkit-box-orient: vertical;
}

.pageSingle_articlePublish {
  -webkit-margin-before: 1rem;
  margin-block-start: 1rem;
  color: var(--color-green);
  font-weight: var(--weight-semi-bold);
  font-size: 1.6rem;
  font-family: var(--montserrat);
  letter-spacing: 0.02em;
  text-align: end;
}

.pageSingle_articleContent {
  -webkit-margin-before: 2rem;
  margin-block-start: 2rem;
}

.pageSingle_articleImg {
  border-radius: 1rem;
  inline-size: 100%;
  overflow: hidden;
}
.pageSingle_articleImg img {
  aspect-ratio: 710/399;
  inline-size: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.pageSingle_articleMeta {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 1rem;
  -webkit-margin-before: 3rem;
  margin-block-start: 3rem;
}

.pageSingle_articleBody {
  -webkit-margin-before: 10rem;
  margin-block-start: 10rem;
}
.pageSingle_articleBody > div {
  font-weight: var(--weight-regular);
  font-size: 1.5rem;
  line-height: 2;
  text-align: justify;
}
.pageSingle_articleBody h2 {
  border-start-start-radius: 8rem;
  border-end-end-radius: 8rem;
  background-color: var(--color-green);
  padding-inline: 3.7rem;
  padding-block: 1.5rem;
  color: var(--color-white);
  font-weight: var(--weight-bold);
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0.02em;
}
.pageSingle_articleBody h3 {
  border-start-start-radius: 8rem;
  border-end-end-radius: 8rem;
  background-color: #f7f8f5;
  padding-inline: 3.7rem;
  padding-block: 1.5rem;
  color: var(--color-green);
  font-weight: var(--weight-bold);
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0.02em;
}
.pageSingle_articleBody h4 {
  color: var(--color-orange);
  font-weight: var(--weight-bold);
  font-size: 2rem;
  line-height: 2;
}
.pageSingle_articleBody p {
  font-weight: var(--weight-regular);
  font-size: 1.5rem;
  line-height: 2;
  text-align: justify;
}
.pageSingle_articleBody figure {
  inline-size: 100% !important;
  max-inline-size: 340px;
}
.pageSingle_articleBody figure img {
  aspect-ratio: 340/215;
  inline-size: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.pageSingle_articleBody figure figcaption {
  -webkit-margin-before: 1.5rem;
  margin-block-start: 1.5rem;
  font-weight: var(--weight-bold);
  font-size: 1.4rem;
  line-height: 1.6428571429;
  letter-spacing: 0.02em;
}
.pageSingle_articleBody .aligncenter {
  margin-inline: auto;
}
.pageSingle_articleBody .alignright {
  -webkit-margin-start: auto;
  margin-inline-start: auto;
}
.pageSingle_articleBody .alignleft {
  -webkit-margin-end: auto;
  margin-inline-end: auto;
}
.pageSingle_articleBody ul,
.pageSingle_articleBody ol {
  border-start-start-radius: 5rem;
  border-end-end-radius: 5rem;
  padding-inline: 4.4rem;
  padding-block: 2rem 3rem;
}
.pageSingle_articleBody ul li,
.pageSingle_articleBody ol li {
  padding-block: 1rem;
  font-weight: var(--weight-medium);
  font-size: 1.6rem;
  line-height: 1.4375;
  letter-spacing: 0.02em;
  -webkit-border-after: 1px dotted #ccc;
  border-block-end: 1px dotted #ccc;
}
.pageSingle_articleBody ul {
  border: 1px solid var(--color-orange);
  background-color: var(--color-white);
}
.pageSingle_articleBody ol {
  counter-reset: number 0;
  background-color: #f7f8f5;
}
.pageSingle_articleBody ol li {
  display: grid;
  grid-template-columns: auto 1fr;
  -webkit-column-gap: 1rem;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  counter-increment: number 1;
}
.pageSingle_articleBody ol li::before {
  content: counter(number, decimal-leading-zero) ".";
  color: var(--color-green);
  font-weight: var(--weight-semi-bold);
  font-size: 2rem;
  font-family: var(--montserrat);
  letter-spacing: 0.02em;
}
.pageSingle_articleBody pre {
  white-space: pre-wrap;
}
.pageSingle_articleBody table {
  inline-size: 100%;
}
.pageSingle_articleBody table tr:nth-child(odd) td:nth-child(2),
.pageSingle_articleBody table tr:nth-child(odd) td:nth-child(3) {
  background-color: #f7f8f5;
  -webkit-border-end: 1px solid var(--color-olive);
  border-inline-end: 1px solid var(--color-olive);
}
.pageSingle_articleBody table tr:nth-child(odd) td:last-child {
  -webkit-border-end: unset;
  border-inline-end: unset;
}
.pageSingle_articleBody table tr:nth-child(even) td:nth-child(2),
.pageSingle_articleBody table tr:nth-child(even) td:nth-child(3) {
  background-color: var(--color-white);
  -webkit-border-end: 1px solid var(--color-olive);
  border-inline-end: 1px solid var(--color-olive);
}
.pageSingle_articleBody table tr:nth-child(even) td:last-child {
  -webkit-border-end: unset;
  border-inline-end: unset;
}
.pageSingle_articleBody table tr td {
  padding-inline: 0.5em;
  padding-block: 1.3rem;
  inline-size: 33.3333333333% !important;
  font-weight: var(--weight-medium);
  font-size: 1.6rem;
  letter-spacing: 0.02em;
  text-align: center;
}
.pageSingle_articleBody table tr td:nth-child(1) {
  background-color: var(--color-cream);
  color: var(--color-green);
  -webkit-border-after: 1px solid var(--color-white);
  border-block-end: 1px solid var(--color-white);
  -webkit-border-end: 1px solid var(--color-olive);
  border-inline-end: 1px solid var(--color-olive);
}
.pageSingle_articleBody a {
  display: inline-block;
  border-radius: calc(infinity * 1px);
  background-color: var(--color-green);
  padding-inline: 1em;
  padding-block: 0.7rem;
  inline-size: 100%;
  max-inline-size: max(15rem, 20%);
  color: var(--color-white);
  font-weight: var(--weight-bold);
  font-size: 1.6rem;
  letter-spacing: 0.02em;
  text-align: center;
}
.pageSingle_articleBody p + *,
.pageSingle_articleBody ul + *,
.pageSingle_articleBody ol + *,
.pageSingle_articleBody figure + *,
.pageSingle_articleBody table + * {
  -webkit-margin-before: 4rem;
  margin-block-start: 4rem;
}
.pageSingle_articleBody h2:not(:first-child),
.pageSingle_articleBody h3:not(:first-child),
.pageSingle_articleBody h4:not(:first-child) {
  -webkit-margin-before: 10rem;
  margin-block-start: 10rem;
}
.pageSingle_articleBody h2 + p,
.pageSingle_articleBody h3 + p,
.pageSingle_articleBody h4 + p {
  -webkit-margin-before: 2rem;
  margin-block-start: 2rem;
}
.pageSingle_articleBody h2 + ul,
.pageSingle_articleBody h3 + ul,
.pageSingle_articleBody h4 + ul {
  -webkit-margin-before: 4rem;
  margin-block-start: 4rem;
}
.pageSingle_articleBody h2 + ol,
.pageSingle_articleBody h3 + ol,
.pageSingle_articleBody h4 + ol {
  -webkit-margin-before: 4rem;
  margin-block-start: 4rem;
}
.pageSingle_articleBody h2 + figure,
.pageSingle_articleBody h3 + figure,
.pageSingle_articleBody h4 + figure {
  -webkit-margin-before: 4rem;
  margin-block-start: 4rem;
}
.pageSingle_articleBody h2 + table,
.pageSingle_articleBody h3 + table,
.pageSingle_articleBody h4 + table {
  -webkit-margin-before: 4rem;
  margin-block-start: 4rem;
}
.pageSingle_articleBody img + p,
.pageSingle_articleBody figure + p {
  -webkit-margin-before: 2rem;
  margin-block-start: 2rem;
}
.pageSingle_articleBody p + img,
.pageSingle_articleBody p + figure,
.pageSingle_articleBody p + table {
  -webkit-margin-before: 4rem;
  margin-block-start: 4rem;
}
.pageSingle_articleBody table + table {
  -webkit-margin-before: 6rem;
  margin-block-start: 6rem;
}

.pageSingle_articleFooter {
  -webkit-margin-before: 2rem;
  margin-block-start: 2rem;
  text-align: end;
}

.pageSingle_articleAuthor {
  font-weight: var(--weight-bold);
  font-size: 1.4rem;
  line-height: 1.6428571429;
  letter-spacing: 0.02em;
}
.pageSingle_articleAuthor time {
  display: inline-block;
  -webkit-margin-end: 1em;
  margin-inline-end: 1em;
}

.pageSingle_pagination {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3rem;
}
.pageSingle_pagination:has(.pageSingle_prev, .pageSingle_next) {
  -webkit-margin-before: 10rem;
  margin-block-start: 10rem;
}

.pageSingle_prev,
.pageSingle_next {
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  min-block-size: 5rem;
  text-align: center;
}
.pageSingle_prev a,
.pageSingle_next a {
  display: inline-grid;
  -webkit-column-gap: 1rem;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-start-start-radius: 8rem;
  border-end-end-radius: 8rem;
  block-size: 100%;
  color: var(--color-white);
  font-weight: var(--weight-medium);
  font-size: 1.6rem;
  line-height: 1.4375;
  letter-spacing: 0.02em;
}
.pageSingle_prev a::before,
.pageSingle_prev a::after,
.pageSingle_next a::before,
.pageSingle_next a::after {
  grid-row: 1;
  pointer-events: none;
  content: "";
  -webkit-transition: translate 0.3s ease-in-out;
  transition: translate 0.3s ease-in-out;
}
.pageSingle_prev a::before,
.pageSingle_next a::before {
  border-radius: 50%;
  background-color: var(--color-orange);
  aspect-ratio: 1;
  inline-size: 2.2rem;
}
.pageSingle_prev a::after,
.pageSingle_next a::after {
  place-self: center;
  background-color: var(--color-white);
  aspect-ratio: 1;
  inline-size: 1rem;
  -webkit-mask-image: url("../images/common/icon/icon-arrow-right.svg");
  mask-image: url("../images/common/icon/icon-arrow-right.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}

.pageSingle_prev {
  border-start-start-radius: 8rem;
  border-end-end-radius: 8rem;
  background-color: var(--color-green);
}
.pageSingle_prev a {
  grid-template-columns: -webkit-max-content auto;
  grid-template-columns: max-content auto;
}
.pageSingle_prev a::before,
.pageSingle_prev a::after {
  grid-column: 1;
  rotate: 180deg;
}
.pageSingle_prev:focus-visible a::before,
.pageSingle_prev:focus-visible a::after {
  translate: -5px 0;
}

.pageSingle_next {
  border-start-start-radius: 8rem;
  border-end-end-radius: 8rem;
  background-color: var(--color-olive);
}
.pageSingle_next a {
  grid-template-columns: auto -webkit-max-content;
  grid-template-columns: auto max-content;
}
.pageSingle_next a::before,
.pageSingle_next a::after {
  grid-column: 2;
}
.pageSingle_next:focus-visible a::before,
.pageSingle_next:focus-visible a::after {
  translate: 5px 0;
}

/* ============================================
** author
=============================================== */
.ly-pageAuthorFirstView {
  -webkit-margin-before: 12rem;
  margin-block-start: 12rem;
}

.pageAuthorFirstView_heading.lowerHeading {
  text-align: center;
}
.pageAuthorFirstView_heading.lowerHeading:not(:has(.lowerHeading-sub))
  .lowerHeading-main {
  -webkit-margin-before: unset;
  margin-block-start: unset;
  text-transform: initial;
}

.author_contents {
  margin-inline: auto;
  margin-block: 14.5rem 20rem;
  max-inline-size: 1000px;
}

.author_list {
  display: grid;
}
.author_list li a {
  --font-color: var(--color-green);
  display: grid;
  grid-template-columns: auto 1fr;
  -webkit-column-gap: 1rem;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  padding-block: 1.5rem;
  color: var(--font-color);
  font-weight: var(--weight-medium);
  font-size: 1.8rem;
  letter-spacing: 0.02em;
  -webkit-border-after: 1px dashed #ccc;
  border-block-end: 1px dashed #ccc;
  -webkit-transition: color 0.3s ease-in-out;
  transition: color 0.3s ease-in-out;
}
.author_list li a::before {
  background-color: var(--color-orange);
  inline-size: 0.8rem;
  block-size: 0.8rem;
  content: "";
}
.author_list li a:focus-visible {
  color: color-mix(in sRGB, var(--font-color), #fff var(--lighten, 0%));
}
.author_list li a:focus-visible:focus-visible {
  --lighten: 30%;
}

/* ============================================
** contact
=============================================== */
.ly-contactFirstView {
  -webkit-margin-before: 12rem;
  margin-block-start: 12rem;
}

.contactFirstView_heading.lowerHeading {
  text-align: center;
}
.contactFirstView_heading.lowerHeading .lowerHeading-main {
  color: var(--color-orange);
}

.ly-contactForm {
  margin-block: 15rem 10rem;
}

.contactForm_contents {
  border-start-start-radius: 8rem;
  border-end-end-radius: 8rem;
  background-color: #f7f8f5;
  padding-inline: 8.6rem;
  padding-block: 5rem;
}

.contactForm_message {
  color: var(--color-green);
  font-weight: var(--weight-bold);
  font-size: 2rem;
  letter-spacing: 0.02em;
}

/* ============================================
** thanks
=============================================== */
.ly-thanksFirstView {
  -webkit-margin-before: 12rem;
  margin-block-start: 12rem;
}

.thanksFirstView_heading {
  text-align: center;
}

.thanksFirstView_messageWrapper {
  -webkit-margin-before: 10rem;
  margin-block-start: 10rem;
  text-align: center;
}

.thanksFirstView_message {
  display: grid;
  gap: 3rem;
}

.thanksFirstView_messageText {
  color: #969696;
  font-weight: var(--weight-bold);
  font-size: 1.6rem;
  line-height: 1.4375;
  letter-spacing: 0.02em;
}

.ly-thanksReport {
  margin-block: 10rem;
}

.thanksReport_heading {
  display: grid;
  row-gap: 1.5rem;
  color: var(--color-green);
  letter-spacing: 0.08em;
  text-align: center;
}
.thanksReport_heading::before {
  margin-inline: auto;
  background-image: url("../images/common/other/leaf-o.svg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  aspect-ratio: 52/40;
  inline-size: 5.2rem;
  content: "";
}

.thanksReport_contents {
  -webkit-margin-before: 8rem;
  margin-block-start: 8rem;
}

.thanksReport_button {
  -webkit-margin-before: 8rem;
  margin-inline: auto;
  margin-block-start: 8rem;
}
.thanksReport_button .primaryButton {
  -webkit-column-gap: 4.5rem;
  -moz-column-gap: 4.5rem;
  column-gap: 4.5rem;
}

/* ============================================
** privacy
=============================================== */
.ly-privacyFirstView {
  -webkit-margin-before: 12rem;
  margin-block-start: 12rem;
}

.privacyFirstView_heading {
  text-align: center;
}

.ly-privacy {
  margin-block: 10rem;
}
.privacyPolicy > * {
  font-weight: var(--weight-medium);
  font-size: 1.6rem;
  line-height: 1.4375;
  letter-spacing: 0.02em;
}
.privacyPolicy > * + * {
  -webkit-margin-before: 1lh;
  margin-block-start: 1lh;
}

.privacyPolicy_section p {
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
}
.privacyPolicy_section ul,
.privacyPolicy_section ol {
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
}
.privacyPolicy_section ul li,
.privacyPolicy_section ol li {
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
}
.privacyPolicy_section ul > li > ul {
  -webkit-padding-start: 1rem;
  padding-inline-start: 1rem;
}

.privacyPolicy_heading {
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
}

.privacyPolicy_numList li {
  list-style-type: decimal;
  list-style-position: inside;
}

.privacyPolicy_caption {
  -webkit-margin-before: 1lh;
  margin-block-start: 1lh;
}

.privacy-policy__notice {
  display: grid;
  row-gap: 1lh;
}
.privacy-policy__notice::before {
  content: "---";
}

/* ============================================
** helper
=============================================== */
[data-device="sm"] {
  display: none;
}

[data-device="sp"] {
  display: none;
}

[data-device="pc"] {
  display: block;
}

.visually-hidden {
  display: block !important;
  position: fixed !important;
  visibility: visible !important;
  opacity: 0 !important;
  contain: strict !important;
  margin: 0 !important;
  inset-block-start: 0 !important;
  inset-inline-start: 0 !important;
  border: none !important;
  padding: 0 !important;
  inline-size: 4px !important;
  block-size: 4px !important;
  pointer-events: none !important;
}

/* 分割テキストをテキストリーダーに読んでもらうクラス */
.character:not(:lang(ja)) {
  display: none;
}

.alternative:lang(ja) {
  display: block !important;
  position: fixed !important;
  opacity: 0 !important;
  contain: strict !important;
  inset: 0 !important;
  inline-size: 4px !important;
  block-size: 4px !important;
  pointer-events: none !important;
}

@media (min-width: 768px) {
  .breadcrumb span[property="itemListElement"] span.current-item.post-report {
    max-inline-size: 45em;
  }
}

@media (max-width: 1919px) {
  .ly-message {
    -webkit-margin-after: 18rem;
    margin-block-end: 18rem;
  }
  .message::after {
    block-size: max(70rem, 43lvw);
  }
}

@media (max-width: 1199px) {
  .accessMap-label.--main {
    font-size: 2.5rem;
  }
  .accessMap-label.--main::before {
    --size: 2.5rem;
  }
  .accessMap-label.--sub {
    -webkit-padding-start: 1rem;
    padding-inline-start: 1rem;
    font-size: 1.8rem;
  }
  .firstView_leafImg {
    inline-size: max(5rem, 100 / var(--design-width) * 100vw);
  }
  .message_contents {
    grid-template-columns: 42rem 1fr;
  }
  .message_itemText {
    font-size: 1.8rem;
  }
  .voice_slideItem {
    -webkit-padding-before: 4.5rem;
    padding-block-start: 4.5rem;
  }
  .voice_slideTitle {
    font-size: 1.8rem;
  }
  .voice_slideText {
    -webkit-line-clamp: 9;
  }
}

@media (max-width: 1100px) {
  .burger {
    display: inline-grid;
    position: relative;
    place-items: center;
    justify-self: end;
    z-index: calc(infinity);
    aspect-ratio: 1;
    inline-size: 30px;
    pointer-events: all;
  }
  .strengthsItem:nth-child(odd)::before {
    inset-inline-start: -2.5rem;
  }
  .strengthsItem:nth-child(even)::before {
    inset-inline-end: -2.5rem;
  }
  .schedule-step.--userA
    .schedule-bodyBlock:nth-child(
      3 of .schedule-step.--userA .schedule-bodyBlock
    )
    .schedule-body::before {
    inset-block-start: calc(100% - 3.75rem);
    inline-size: 7.3rem;
  }
  .schedule-step.--userM
    .schedule-bodyBlock:nth-child(
      2 of .schedule-step.--userM .schedule-bodyBlock
    )
    .schedule-body::before {
    inset-block-start: calc(100% - 4.5rem);
    inline-size: 14.3rem;
  }
  .schedule-step.--userM
    .schedule-bodyBlock:nth-child(
      3 of .schedule-step.--userM .schedule-bodyBlock
    )
    .schedule-body::before {
    inline-size: 15.3rem;
  }
  .header_navBlock {
    display: none;
  }
}

@media (max-width: 1023px) {
  html {
    font-size: 0.9765625vw;
  }
}

@media (max-width: 767px) {
  html {
    font-size: 62.5%;
  }
  a[href^="tel:"] {
    pointer-events: auto;
  }
  .primaryHeading {
    font-size: 2.6rem;
  }
  .lowerHeading-main {
    -webkit-margin-before: -0.2rem;
    margin-block-start: -0.2rem;
    font-size: 2.5rem;
  }
  .lowerHeading-sub {
    font-size: 4.3rem;
  }
  .drawer {
    place-items: start;
  }
  .primaryButtonWrapper {
    inline-size: min(30rem, 100%);
    min-block-size: 4.6rem;
  }
  .primaryButton {
    font-size: 1.3rem;
  }
  .primaryButton::before {
    inline-size: 2rem;
  }
  .primaryButton::after {
    inline-size: 0.8rem;
  }
  .bannerButtonWrapper {
    inline-size: min(30rem, 100%);
    min-block-size: 22rem;
  }
  .bannerButton.--contact {
    border-start-start-radius: unset;
    border-start-end-radius: 8rem;
    border-end-start-radius: 8rem;
    border-end-end-radius: unset;
  }
  .leafBackground::before,
  .leafBackground::after {
    inline-size: 4rem;
  }
  .lowerLeafBackground::before,
  .lowerLeafBackground::after {
    --over-size: 12rem;
    inline-size: 15rem;
  }
  .lowerLeafBackground::before {
    background-image: url("../images/common/other/leaf-lowerBg-leftSp.webp");
  }
  .lowerLeafBackground::after {
    background-image: url("../images/common/other/leaf-lowerBg-rightSp.webp");
  }
  .lowerLeafBackground.--report::before,
  .lowerLeafBackground.--report::after {
    --report-over-size: 50rem;
  }
  .lowerLeafBackground.--medium::before,
  .lowerLeafBackground.--medium::after {
    inline-size: 4rem;
  }
  .lowerLeafBackground.--medium::after {
    inset-block-start: calc(var(--over-size));
    background-image: url("../images/common/other/leaf-bg-rightSp_small.webp");
  }
  .ly-banner {
    -webkit-padding-before: 4rem;
    padding-block-start: 4rem;
  }
  .ly-banner.--first {
    -webkit-padding-after: 6rem;
    padding-block-end: 6rem;
  }
  .ly-banner.--end {
    -webkit-padding-after: 6rem;
    padding-block-end: 6rem;
  }
  .banner-wave {
    block-size: 6rem;
  }
  .banner-wave:nth-child(1 of .banner-wave) {
    inset-block-start: -5.9rem;
  }
  .banner-wave:nth-child(2 of .banner-wave) {
    inset-block-end: -5.9rem;
  }
  .banner-heading {
    row-gap: 1rem;
  }
  .banner-text {
    -webkit-margin-before: 1rem;
    margin-block-start: 1rem;
    font-size: 1.6rem;
  }
  .banner-buttonBlock {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    row-gap: 1.5rem;
    flex-direction: column;
  }
  .courseList {
    grid-template-columns: 1fr 1fr;
    gap: 5.5rem 4rem;
    margin-inline: auto;
    max-inline-size: 600px;
  }
  .courseItem {
    --margin: 9rem;
  }
  .courseItem:nth-child(1) {
    -webkit-margin-before: unset;
    margin-block-start: unset;
  }
  .courseItem:nth-child(2) {
    -webkit-margin-before: calc(var(--margin) * -1);
    margin-block-start: calc(var(--margin) * -1);
  }
  .courseItem:nth-child(3n + 5) {
    -webkit-margin-before: unset;
    margin-block-start: unset;
  }
  .courseItem:nth-child(n + 4):nth-child(3n) {
    -webkit-margin-before: unset;
    margin-block-start: unset;
  }
  .courseItem:nth-child(n + 3):nth-child(2n) {
    -webkit-margin-before: calc(var(--margin) * -1);
    margin-block-start: calc(var(--margin) * -1);
  }
  .cursePanel {
    padding-block: 2rem 4rem;
  }
  .cursePanel-heading {
    font-size: 7.1rem;
  }
  .cursePanel-subHeading {
    -webkit-margin-before: -0.2rem;
    margin-block-start: -0.2rem;
    font-size: 2.6rem;
  }
  .cursePanel-list {
    grid-template-columns: 1fr;
    grid-auto-flow: row;
    gap: 2rem;
    padding-inline: 3.6rem;
    -webkit-margin-before: 2rem;
    margin-block-start: 2rem;
  }
  .cursePanel-itemText {
    margin-inline: auto;
    inline-size: -webkit-fit-content;
    inline-size: -moz-fit-content;
    inline-size: fit-content;
  }
  .courseTab-listButton {
    padding-inline: 0.3rem;
    padding-block: 0.6rem;
    font-size: 1.6rem;
  }
  .courseTab-panelBlock {
    padding-inline: 1rem;
    padding-block: 1.5rem 4rem;
  }
  .curseTab-panelHading {
    grid-template-areas: "number title" "label label";
    row-gap: unset;
    -webkit-column-gap: 1rem;
    -moz-column-gap: 1rem;
    column-gap: 1rem;
  }
  .corseTab-panelNumber {
    font-size: 6.1rem;
  }
  .curseTab-panelTitle {
    -webkit-align-self: center;
    -ms-flex-item-align: center;
    align-self: center;
  }
  .curseTab-panelList {
    grid-template-columns: 1fr;
    padding-inline: 2.6rem;
    -webkit-margin-before: 4rem;
    margin-block-start: 4rem;
  }
  .strengthsItem {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  .strengthsItem::before {
    inset-block-start: 0;
  }
  .strengthsItem:nth-child(odd) {
    grid-template-areas: "img " "heading" "description";
  }
  .strengthsItem:nth-child(even) {
    grid-template-areas: "img" "heading" "description";
  }
  .strengthsItem:nth-child(even)::before {
    inset-inline: -2.5rem auto;
  }
  .strengthsItem::before {
    font-weight: var(--weight-semi-bold);
    font-size: 12rem;
  }
  .strengthsItem-heading {
    font-size: 2rem;
    letter-spacing: 0.02em;
    white-space: initial;
  }
  .strengthsItem-description {
    -webkit-margin-before: -0.2rem;
    margin-block-start: -0.2rem;
    text-align: justify;
  }
  .strengthsItem-img {
    inline-size: 100%;
  }
  .swiper-button-prev::before,
  .swiper-button-next::before {
    inline-size: 2.5rem;
  }
  .swiper-button-prev::after,
  .swiper-button-next::after {
    inline-size: 1rem;
  }
  .pageProgramSkill_swiperPagination.swiper-pagination-bullets.swiper-pagination-horizontal
    .swiper-pagination-bullet,
  .voice_slidePagination.swiper-pagination-bullets.swiper-pagination-horizontal
    .swiper-pagination-bullet {
    inline-size: 1rem;
  }
  .reportCards {
    grid-template-columns: 1fr 1fr;
  }
  .reportCard-link {
    gap: 0.8rem;
  }
  .reportCard-publish time {
    font-size: 2.6rem;
  }
  .reportCard-img img {
    aspect-ratio: 295/190;
  }
  .accordion-bg > .accordion-lineBg {
    display: block;
    cursor: pointer;
    border-end-end-radius: 5rem;
    background-color: var(--color-light-green);
    inline-size: 100%;
    block-size: 5rem;
    text-align: center;
  }
  .accordion-bg > .accordion-lineBg .accordion-line {
    inline-size: 3rem;
  }
  .accordion-bg > .accordion-lineBg .accordion-line::before,
  .accordion-bg > .accordion-lineBg .accordion-line::after {
    inline-size: 1.6rem;
  }
  .accordion-head {
    grid-template-columns: auto 1fr;
    -webkit-column-gap: 1.5rem;
    -moz-column-gap: 1.5rem;
    column-gap: 1.5rem;
    border-start-start-radius: 5rem;
    border-end-end-radius: unset;
    padding-inline: 2rem;
    padding-block: 2rem;
    font-weight: var(--weight-medium);
    font-size: 1.6rem;
  }
  .accordion-head .accordion-line {
    display: none;
  }
  .accordion-content {
    border-end-end-radius: unset;
  }
  .accordion-contentInner {
    -webkit-padding-after: 2rem;
    padding-inline: 2rem;
    padding-block-end: 2rem;
  }
  .accordion-contentText {
    -webkit-column-gap: 1.5rem;
    -moz-column-gap: 1.5rem;
    column-gap: 1.5rem;
    font-weight: var(--weight-medium);
    font-size: 1.6rem;
  }
  .accordion-icon {
    aspect-ratio: 40/33;
    inline-size: 4rem;
    font-size: 2.3rem;
  }
  .form-group {
    grid-template-columns: 1fr;
    grid-template-areas: "label" "input";
    row-gap: 1.2rem;
  }
  .form-group[data-group="address"] .form-label {
    -webkit-align-self: unset;
    -ms-flex-item-align: unset;
    align-self: unset;
    -webkit-margin-before: unset;
    margin-block-start: unset;
  }
  .form-group[data-group="textarea"] .form-label {
    -webkit-align-self: unset;
    -ms-flex-item-align: unset;
    align-self: unset;
  }
  .form-group[data-group="privacy"] .wpcf7-form-control-wrap {
    grid-column: 1/-1;
    justify-self: center;
    margin-inline: auto;
  }
  .form-label {
    grid-template-columns: auto 1fr;
    gap: 1.2rem;
  }
  .form-required {
    inline-size: 5rem;
    font-size: 1.2rem;
  }
  .form-buttonWrapper {
    grid-column: 1/-1;
    inline-size: min(25rem, 100%);
    min-block-size: 6.5rem;
    -webkit-margin-before: unset;
    margin-inline: auto;
    margin-block-start: unset;
  }
  .form-button {
    -webkit-column-gap: 2rem;
    -moz-column-gap: 2rem;
    column-gap: 2rem;
    font-size: 2rem;
  }
  .form-button::before {
    inline-size: 3.5rem;
  }
  .form-button::after {
    inline-size: 1.5rem;
  }
  .form-buttonText {
    font-size: 2rem;
  }
  .companyInfo-item {
    grid-template-columns: 1fr;
    grid-template-areas: "head" "description";
    gap: 0.5rem;
    border-start-start-radius: 5rem;
    border-end-end-radius: 5rem;
    padding-inline: 2rem;
    padding-block: 4rem;
  }
  .accessMaps {
    row-gap: 2rem;
  }
  .accessMap {
    grid-template-columns: 1fr;
    grid-template-areas: "iframe" "body";
    border-block: 2px dashed #d7d7d7;
    padding-block: 2rem;
  }
  .accessMap-body {
    display: contents;
  }
  .accessMap-name {
    -webkit-padding-start: 2.6rem;
    padding-inline-start: 2.6rem;
    -webkit-margin-before: 2rem;
    margin-block-start: 2rem;
    font-size: 1.6rem;
  }
  .accessMap-label.--main {
    font-size: 1.6rem;
  }
  .accessMap-label.--main::before {
    --size: 1.6rem;
  }
  .accessMap-label.--sub {
    -webkit-padding-start: unset;
    padding-inline-start: unset;
    font-size: 1.6rem;
  }
  .accessMap-address {
    -webkit-padding-start: 2.6rem;
    padding-inline-start: 2.6rem;
    -webkit-margin-before: 0.5rem;
    margin-block-start: 0.5rem;
    font-size: 1.6rem;
  }
  .breadcrumb {
    gap: 0.3em;
  }
  .breadcrumb .author.current-item,
  .breadcrumb span[property="itemListElement"] {
    font-size: 1.2rem;
  }
  .breadcrumb .breadcrumb-between {
    font-size: 1.4rem;
    line-height: 1;
  }
  .schedule {
    row-gap: 8rem;
  }
  .schedule-head {
    row-gap: 2rem;
  }
  .schedule-headImg {
    inline-size: min(25rem, 100%);
  }
  .schedule-headText {
    font-size: 2.4rem;
  }
  .schedule-step {
    row-gap: 10rem;
    -webkit-margin-before: 6rem;
    margin-block-start: 6rem;
  }
  .schedule-step.--userA
    .schedule-bodyBlock:nth-child(
      1 of .schedule-step.--userA .schedule-bodyBlock
    )
    .schedule-body::before {
    margin-inline: auto;
    inset-block-start: calc(100% + 2rem);
    inset-inline: 0;
    background-image: url("../images/pages/service/schedule/schedule-arrowSp.webp");
    aspect-ratio: 50/60;
    inline-size: 5rem;
  }
  .schedule-step.--userA
    .schedule-bodyBlock:nth-child(
      2 of .schedule-step.--userA .schedule-bodyBlock
    )
    .schedule-body::before {
    margin-inline: auto;
    inset-block-start: calc(100% + 2rem);
    inset-inline: 0;
    background-image: url("../images/pages/service/schedule/schedule-arrowSp.webp");
    aspect-ratio: 50/60;
    inline-size: 5rem;
  }
  .schedule-step.--userA
    .schedule-bodyBlock:nth-child(
      3 of .schedule-step.--userA .schedule-bodyBlock
    )
    .schedule-body::before {
    margin-inline: auto;
    inset-block-start: calc(100% + 2rem);
    inset-inline: 0;
    background-image: url("../images/pages/service/schedule/schedule-arrowSp.webp");
    aspect-ratio: 50/60;
    inline-size: 5rem;
  }
  .schedule-step.--userA
    .schedule-timeTable:nth-child(
      1 of .schedule-step.--userA .schedule-timeTable
    )::after {
    margin-inline: auto;
    inset-block-start: calc(100% + 2rem);
    inset-inline: 0;
    background-image: url("../images/pages/service/schedule/schedule-arrowSp.webp");
    aspect-ratio: 50/60;
    inline-size: 5rem;
  }
  .schedule-step.--userM
    .schedule-bodyBlock:nth-child(
      1 of .schedule-step.--userM .schedule-bodyBlock
    )
    .schedule-body::before {
    margin-inline: auto;
    inset-block-start: calc(100% + 2rem);
    inset-inline: 0;
    background-image: url("../images/pages/service/schedule/schedule-arrowSp.webp");
    aspect-ratio: 50/60;
    inline-size: 5rem;
  }
  .schedule-step.--userM
    .schedule-bodyBlock:nth-child(
      2 of .schedule-step.--userM .schedule-bodyBlock
    )
    .schedule-body::before {
    margin-inline: auto;
    inset-block-start: calc(100% + 2rem);
    inset-inline: 0;
    background-image: url("../images/pages/service/schedule/schedule-arrowSp.webp");
    aspect-ratio: 50/60;
    inline-size: 5rem;
  }
  .schedule-step.--userM
    .schedule-bodyBlock:nth-child(
      3 of .schedule-step.--userM .schedule-bodyBlock
    )
    .schedule-body::before {
    margin-inline: auto;
    inset-block-start: calc(100% + 2rem);
    inset-inline: 0;
    background-image: url("../images/pages/service/schedule/schedule-arrowSp.webp");
    aspect-ratio: 50/60;
    inline-size: 5rem;
  }
  .schedule-step.--userM
    .schedule-bodyBlock:nth-child(
      4 of .schedule-step.--userM .schedule-bodyBlock
    )
    .schedule-body::before {
    margin-inline: auto;
    inset-block-start: calc(100% + 2rem);
    inset-inline: 0;
    background-image: url("../images/pages/service/schedule/schedule-arrowSp.webp");
    aspect-ratio: 50/60;
    inline-size: 5rem;
  }
  .schedule-timeTableText {
    font-size: 2.6rem;
  }
  .schedule-timeTableLabel {
    font-size: 1.4rem;
  }
  .schedule-bodyBlock {
    row-gap: 2rem;
  }
  .schedule-bodyBlock:nth-child(odd of .schedule-bodyBlock) {
    grid-template-columns: 1fr;
    grid-template-areas: "img" "body";
  }
  .schedule-bodyBlock:nth-child(even of .schedule-bodyBlock) {
    grid-template-columns: 1fr;
    grid-template-areas: "img" "body";
  }
  .schedule-body::before {
    background-image: url("../images/pages/service/schedule/schedule-arrowSp.webp");
  }
  .schedule-bodyTitle {
    font-size: 2.2rem;
  }
  .schedule-bodyTime {
    -webkit-margin-before: 0.3rem;
    margin-block-start: 0.3rem;
    font-size: 2.2rem;
  }
  .schedule-bodyDescriptions {
    padding-inline: 2rem;
    -webkit-margin-before: 2rem;
    margin-block-start: 2rem;
  }
  .schedule-bodyDescription {
    font-size: 1.4rem;
    text-align: justify;
  }
  .schedule-bodyImg {
    margin-inline: auto;
    inline-size: 100%;
  }
  .flowList-itemWrapper {
    grid-template-rows: auto;
    grid-template-columns: 1fr;
    grid-template-areas: "img" "heading" "text";
    row-gap: 1.5rem;
    place-items: center;
    padding: 4rem;
  }
  .flowList-itemWrapper::before {
    inset-block-start: 2rem;
    inset-inline-start: 3rem;
    font-size: 7rem;
  }
  .flowList-itemHeading {
    font-size: 1.8rem;
  }
  .flowList-itemText {
    font-size: 1.4rem;
  }
  .diaryCard-img img {
    aspect-ratio: 16/9;
  }
  .ly-scrollBar {
    -webkit-margin-before: 2.5rem;
    margin-block-start: 2.5rem;
  }
  .scrollBar-line {
    block-size: 6rem;
  }
  .scrollBar-line::after {
    block-size: 3rem;
  }
  .container {
    padding-inline: var(--padding-sp);
  }
  .header_inner {
    block-size: 6rem;
  }
  .header_inner.container {
    padding-inline: var(--padding-sp);
  }
  .header_logoBlock {
    -webkit-column-gap: 1rem;
    -moz-column-gap: 1rem;
    column-gap: 1rem;
  }
  .header_logo {
    inline-size: 4.5rem;
  }
  .header_logoLead {
    font-size: 1rem;
  }
  .ly-footer {
    padding-block: 5rem;
  }
  .footer_inner.container {
    max-inline-size: 350px;
  }
  .footer_contents {
    grid-template-columns: 1fr;
    grid-template-areas: "logo" "info" "nav" "copyright";
  }
  .footer_logoBlock {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    row-gap: 0.5rem;
    flex-direction: column;
    text-align: center;
  }
  .footer_info {
    justify-self: center;
    -webkit-padding-start: unset;
    padding-inline-start: unset;
    -webkit-margin-before: 5rem;
    margin-block-start: 5rem;
  }
  .footer_navBlock {
    grid-template-columns: 1fr;
    row-gap: 1.5rem;
    justify-self: start;
    inline-size: 100%;
    -webkit-margin-before: 1.5rem;
    margin-block-start: 1.5rem;
  }
  .footer_nav {
    row-gap: 1rem;
  }
  .footer_contactButton {
    margin-inline: auto;
  }
  .footer_copyright {
    justify-self: center;
    -webkit-margin-before: 1.5rem;
    margin-block-start: 1.5rem;
    text-align: center;
  }
  .footer_copyright small {
    line-height: 1.6428571429;
  }
  .ly-firstView {
    -webkit-padding-before: calc(var(--header-block-size) + 1rem);
    padding-block-start: calc(var(--header-block-size) + 1rem);
    -webkit-padding-after: unset;
    padding-block-end: unset;
  }
  .firstView {
    background: unset;
  }
  .firstView::before,
  .firstView::after {
    position: absolute;
    z-index: -1;
    inset-block-start: 0;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    inline-size: 9rem;
    block-size: 100%;
    content: "";
  }
  .firstView::before {
    inset-inline-start: 0;
    background-image: url("../images/pages/front/fv/fv-bg-spLeft.webp");
  }
  .firstView::after {
    inset-inline-end: 0;
    background-image: url("../images/pages/front/fv/fv-bg-spRight.webp");
  }
  .firstView_titleBlock {
    display: grid;
    row-gap: 0.3rem;
    text-align: center;
  }
  .firstView_titleBlock::before {
    margin-inline: auto;
    background-image: url("../images/common/other/leaf-primary.svg");
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    aspect-ratio: 22/17;
    inline-size: 2.2rem;
    content: "";
  }
  .firstView_title {
    font-size: 3rem;
    letter-spacing: 0.15em;
    text-indent: 1.5em;
  }
  .firstView_title span[data-device="pc"] {
    display: none;
  }
  .firstView_titleNumber {
    font-size: 3rem;
    letter-spacing: 0.08em;
  }
  .firstView_bottomBlock {
    grid-template-columns: 1fr;
    -webkit-margin-before: 1.7rem;
    margin-block-start: 1.7rem;
  }
  .firstView_logo {
    margin-inline: auto;
    inline-size: 18.9rem;
  }
  .firstView_scrollBar {
    display: block;
  }
  .firstView_body {
    justify-self: unset;
  }
  .firstView_list {
    gap: 1.6rem;
  }
  .firstView_item:nth-child(1) {
    -webkit-margin-end: unset;
    margin-inline-end: unset;
  }
  .firstView_item:nth-child(1) .firstView_itemText span {
    font-size: 1rem;
  }
  .firstView_item:nth-child(2) {
    -webkit-margin-end: unset;
    margin-inline-end: unset;
  }
  .firstView_item:nth-child(3) .firstView_itemText span {
    font-size: 1rem;
  }
  .firstView_itemImg {
    inline-size: max(7.6rem, 60%);
  }
  .firstView_itemText {
    font-size: 1rem;
    white-space: nowrap;
  }
  .firstView_bodyLead {
    -webkit-margin-before: 2rem;
    margin-block-start: 2rem;
    font-size: 1.2rem;
  }
  .ly-message {
    margin-block: 2rem 10rem;
  }
  .message::after {
    background-image: url("../images/pages/front/message/message-bg-sp.webp");
    block-size: max(25rem, 40lvw);
  }
  .message_contents {
    grid-template-columns: 1fr;
  }
  .message_body {
    max-inline-size: 500px;
    -webkit-padding-before: unset;
    padding-block-start: unset;
    -webkit-padding-start: 2rem;
    padding-inline-start: 2rem;
    -webkit-margin-before: max(12rem, 18vw);
    margin-inline: auto;
    margin-block-start: max(12rem, 18vw);
  }
  .message_list {
    -webkit-margin-before: unset;
    margin-block-start: unset;
  }
  .message_itemText {
    font-size: 1.6rem;
    line-height: 1.5;
    word-break: keep-all;
    overflow-wrap: anywhere;
  }
  .message_itemText::before {
    inline-size: 2.2rem;
  }
  .ly-challenge {
    -webkit-margin-before: 11rem;
    margin-block-start: 11rem;
  }
  .challenge_heading {
    row-gap: 1.5rem;
  }
  .challenge_contents {
    -webkit-margin-before: 14rem;
    margin-block-start: 14rem;
  }
  .challenge_button {
    -webkit-margin-before: 3rem;
    margin-block-start: 3rem;
  }
  .challenge_button .primaryButton {
    -webkit-column-gap: 2.2rem;
    -moz-column-gap: 2.2rem;
    column-gap: 2.2rem;
  }
  .ly-strengths {
    padding-block: 3rem;
    -webkit-margin-before: 11rem;
    margin-block-start: 11rem;
  }
  .strengths_wave {
    block-size: 6rem;
  }
  .strengths_wave:nth-child(1 of .strengths_wave) {
    inset-block-start: -5.9rem;
  }
  .strengths_wave:nth-child(2 of .strengths_wave) {
    inset-block-end: -5.9rem;
  }
  .strengths_headingBlock::after {
    inset-block-start: -2.8rem;
    inset-inline-start: 4.1rem;
    aspect-ratio: 184/141;
    inline-size: 18.4rem;
  }
  .strengths_headingText {
    font-size: 1.6rem;
  }
  .strengths_contents {
    padding-inline: 2rem;
    max-inline-size: 600px;
    -webkit-margin-before: 6rem;
    margin-inline: auto;
    margin-block-start: 6rem;
  }
  .strength_button {
    min-block-size: 6.4rem;
    -webkit-margin-before: 3rem;
    margin-block-start: 3rem;
  }
  .strength_button .primaryButton {
    -webkit-column-gap: 1rem;
    -moz-column-gap: 1rem;
    column-gap: 1rem;
    -webkit-padding-start: 2rem;
    padding-inline-start: 2rem;
  }
  .ly-voice {
    -webkit-margin-before: 11rem;
    margin-block-start: 11rem;
  }
  .voice_contents {
    -webkit-margin-before: 1.5rem;
    margin-block-start: 1.5rem;
  }
  .voice_slideItem {
    -webkit-padding-before: 4rem;
    padding-inline: 5rem;
    padding-block-start: 4rem;
  }
  .voice_slideTitle {
    font-size: 1.6rem;
  }
  .voice_slideText {
    -webkit-line-clamp: 11;
    text-align: justify;
  }
  .voice_slideImg {
    inline-size: 80%;
    -webkit-margin-start: auto;
    margin-inline-start: auto;
  }
  .voice_slideImg img {
    aspect-ratio: 295/98;
  }
  .voice_slideUser {
    aspect-ratio: 94/97;
    inline-size: max(9.4rem, 20lvw);
    -webkit-padding-before: max(4rem, 10lvw);
    padding-block-start: max(4rem, 10lvw);
    -webkit-padding-start: max(1.5rem, 4lvw);
    padding-inline-start: max(1.5rem, 4lvw);
  }
  .voice_slideUserInitial {
    font-size: 1.6rem;
  }
  .voice_slideUserAge {
    font-size: 1.2rem;
  }
  .ly-report {
    padding-block: 3rem;
    -webkit-margin-before: 23rem;
    margin-block-start: 23rem;
  }
  .ly-report.column {
    -webkit-margin-before: 10.2rem;
    margin-block-start: 10.2rem;
  }
  .report_wave {
    block-size: 13rem;
  }
  .report_wave:nth-child(1 of .report_wave) {
    inset-block-start: -11.9rem;
  }
  .report_wave:nth-child(2 of .report_wave) {
    inset-block-end: -11.9rem;
  }
  .report_contents {
    -webkit-margin-before: 1.5rem;
    margin-block-start: 1.5rem;
  }
  .report_button {
    -webkit-margin-before: 3rem;
    margin-block-start: 3rem;
  }
  .report_button .primaryButton {
    -webkit-column-gap: 3rem;
    -moz-column-gap: 3rem;
    column-gap: 3rem;
    text-indent: 2em;
  }
  .ly-faq {
    -webkit-margin-before: 6rem;
    margin-block-start: 6rem;
  }
  .faq_contents {
    -webkit-margin-before: 1.5rem;
    margin-block-start: 1.5rem;
  }
  .ly-company {
    -webkit-margin-before: 5rem;
    margin-block-start: 5rem;
  }
  .company_contents {
    max-inline-size: 600px;
    -webkit-margin-before: 1.5rem;
    margin-inline: auto;
    margin-block-start: 1.5rem;
  }
  .ly-access {
    margin-block: 5rem 12rem;
  }
  .access_contents {
    max-inline-size: 600px;
    -webkit-margin-before: 1.5rem;
    margin-inline: auto;
    margin-block-start: 1.5rem;
  }
  .ly-pageProgramFirstView {
    -webkit-margin-before: 8rem;
    margin-block-start: 8rem;
  }
  .pageProgramFirstView_contents {
    margin-inline: auto;
    inline-size: min(550px, 100%);
  }
  .pageProgramFirstView_text {
    -webkit-margin-before: 3rem;
    margin-block-start: 3rem;
    font-size: 1.8rem;
    line-height: 1.8888888889;
    letter-spacing: 0.02em;
  }
  .pageProgramFirstView_message {
    font-size: 1.4rem;
    line-height: 1.7142857143;
    text-align: start;
  }
  .ly-pageProgramSkill {
    -webkit-margin-before: 6rem;
    margin-block-start: 6rem;
  }
  .pageProgramSkill_contents {
    -webkit-margin-before: 14rem;
    margin-block-start: 14rem;
  }
  .pageProgramSkill_items {
    gap: 4rem;
    padding-inline: 2rem;
    max-inline-size: 500px;
    -webkit-margin-before: 6rem;
    margin-block-start: 6rem;
  }
  .pageProgramSkill_item:has(.pageProgramSkill_itemSlide) {
    -webkit-margin-before: 2rem;
    margin-block-start: 2rem;
  }
  .pageProgramSkill_itemHead {
    margin-inline: auto;
    max-inline-size: 450px;
  }
  .pageProgramSkill_itemHeading {
    font-size: 2.6rem;
  }
  .pageProgramSkill_itemSubHeading {
    font-size: 2rem;
    line-height: 1.5;
    letter-spacing: 0.02em;
  }
  .pageProgramSkill_itemText {
    font-size: 1.4rem;
    text-align: start;
  }
  .pageProgramSkill_itemMessage {
    inline-size: min(30rem, 100%);
    min-block-size: 5.6rem;
  }
  .pageProgramSkill_itemMessageText {
    font-size: 1.6rem;
  }
  .pageProgramSkill_itemMessageText span {
    font-size: 1.3rem;
  }
  .pageProgramSkill_swiper.--01 .pageProgramSkill_swiperSlide.--large {
    inline-size: 52rem;
  }
  .pageProgramSkill_swiper.--01 .pageProgramSkill_swiperSlide.--medium {
    inline-size: 20rem;
  }
  .pageProgramSkill_swiper.--02 .pageProgramSkill_swiperSlide.--large {
    inline-size: 45rem;
  }
  .pageProgramSkill_swiper.--02 .pageProgramSkill_swiperSlide.--medium {
    inline-size: 20rem;
  }
  .pageProgramSkill_swiperSlide {
    inline-size: 30rem;
  }
  .pageProgramSkill_swiperPrev {
    inset-inline-start: 5%;
  }
  .pageProgramSkill_swiperNext {
    inset-inline-end: 5%;
  }
  .ly-pageProgramFaq {
    -webkit-margin-before: 15rem;
    margin-block-start: 15rem;
  }
  .pageProgramFaq_contents {
    -webkit-margin-before: 1.5rem;
    margin-block-start: 1.5rem;
  }
  .ly-pageProgramReport {
    margin-block: 8rem 12rem;
  }
  .pageProgramReport_contents {
    -webkit-margin-before: 1.5rem;
    margin-block-start: 1.5rem;
  }
  .pageProgramReport_button {
    -webkit-margin-before: 3rem;
    margin-block-start: 3rem;
  }
  .pageProgramReport_button .primaryButton {
    -webkit-column-gap: 3rem;
    -moz-column-gap: 3rem;
    column-gap: 3rem;
    text-indent: 2em;
  }
  .ly-pageServiceFirstView {
    -webkit-margin-before: 8rem;
    margin-block-start: 8rem;
  }
  .pageServiceFirstView_contents {
    margin-inline: auto;
    inline-size: min(550px, 100%);
  }
  .pageServiceFirstView_text {
    -webkit-margin-before: 3rem;
    margin-block-start: 3rem;
    font-size: 1.8rem;
    line-height: 1.8888888889;
    letter-spacing: 0.02em;
  }
  .pageServiceFirstView_message {
    margin-inline: auto;
    inline-size: -webkit-fit-content;
    inline-size: -moz-fit-content;
    inline-size: fit-content;
    font-size: 1.4rem;
    line-height: 1.7142857143;
    text-align: start;
  }
  .ly-pageServiceFeature {
    -webkit-margin-before: 6rem;
    margin-block-start: 6rem;
  }
  .pageServiceFeature_listWrapper {
    max-inline-size: 600px;
  }
  .pageServiceFeature_list {
    --row-gap: 4rem;
    --column-gap: 3rem;
    --negative-gap: 0;
    -webkit-box-pack: start;
    -webkit-justify-content: start;
    -ms-flex-pack: start;
    justify-content: start;
  }
  .pageServiceFeature_item {
    inline-size: calc((100% - var(--column-gap)) / 2);
  }
  .pageServiceFeature_item:nth-child(4) {
    -webkit-margin-end: unset;
    margin-inline-end: unset;
  }
  .pageServiceFeature_item:nth-child(5) {
    -webkit-margin-start: unset;
    margin-inline-start: unset;
  }
  .pageServiceFeature_itemHeading {
    font-size: 1.8rem;
  }
  .pageServiceFeature_itemText {
    font-size: 1.4rem;
  }
  .pageServiceFeature_listImportant {
    font-size: 1.3rem;
  }
  .ly-pageServiceTarget {
    margin-block: 6rem 12rem;
  }
  .pageServiceTarget_message {
    margin-inline: auto;
    inline-size: -webkit-fit-content;
    inline-size: -moz-fit-content;
    inline-size: fit-content;
    font-size: 1.4rem;
    text-align: start;
  }
  .pageServiceTarget_condition {
    padding-inline: 3rem;
    padding-block: 4.5rem;
  }
  .pageServiceTarget_conditionHeading {
    font-size: 2.6rem;
  }
  .pageServiceTarget_conditionItemText {
    font-size: 1.6rem;
    text-align: justify;
  }
  .pageServiceTarget_conditionItemExample {
    font-size: 1.4rem;
    text-align: justify;
  }
  .pageServiceTarget_conditionText {
    font-size: 1.4rem;
    text-align: justify;
  }
  .ly-pageServiceFlow {
    -webkit-margin-before: 12rem;
    margin-block-start: 12rem;
  }
  .pageServiceFlow_contents {
    max-inline-size: 600px;
    -webkit-margin-before: 3rem;
    margin-inline: auto;
    margin-block-start: 3rem;
  }
  .ly-pageServiceSchedule {
    padding-block: 3rem;
    -webkit-margin-before: 19rem;
    margin-block-start: 19rem;
  }
  .pageServiceSchedule_wave {
    block-size: 13rem;
  }
  .pageServiceSchedule_wave:nth-child(1 of .pageServiceSchedule_wave) {
    inset-block-start: -11.9rem;
  }
  .pageServiceSchedule_wave:nth-child(2 of .pageServiceSchedule_wave) {
    inset-block-end: -11.9rem;
  }
  .pageServiceSchedule_contents {
    max-inline-size: 500px;
    -webkit-margin-before: 3rem;
    margin-inline: auto;
    margin-block-start: 3rem;
  }
  .ly-pageServiceFaq {
    -webkit-margin-before: 19rem;
    margin-block-start: 19rem;
  }
  .pageServiceFaq_contents {
    -webkit-margin-before: 3rem;
    margin-block-start: 3rem;
  }
  .ly-pageServiceReport {
    margin-block: 8rem 12rem;
  }
  .pageServiceReport_contents {
    -webkit-margin-before: 1.5rem;
    margin-block-start: 1.5rem;
  }
  .pageServiceReport_button {
    -webkit-margin-before: 3rem;
    margin-block-start: 3rem;
  }
  .pageServiceReport_button .primaryButton {
    -webkit-column-gap: 3rem;
    -moz-column-gap: 3rem;
    column-gap: 3rem;
    text-indent: 2em;
  }
  .ly-pageReportFirstView {
    -webkit-margin-before: 8rem;
    margin-block-start: 8rem;
  }
  .pageReportFirstView_contents {
    margin-inline: auto;
    inline-size: min(550px, 100%);
  }
  .pageReportFirstView_category {
    font-size: 1.8rem;
    text-align: center;
  }
  .ly-pageReportDiary {
    margin-block: 8rem 12rem;
  }
  .pageReportDiary_contents {
    grid-template-columns: 1fr;
    grid-template-areas: "sidebar" "main";
    row-gap: 10rem;
    margin-inline: auto;
    max-inline-size: 600px;
  }
  .pageReportDiary_main {
    -webkit-margin-before: 1.5rem;
    margin-block-start: 1.5rem;
  }
  .ly-pageSingle {
    margin-block: 8rem 12rem;
  }
  .pageSingle_contents {
    grid-template-columns: 1fr;
    grid-template-areas: "sidebar" "main";
    row-gap: 10rem;
    margin-inline: auto;
    max-inline-size: 600px;
  }
  .pageSingle_articleTitle {
    font-size: 1.8rem;
  }
  .pageSingle_articlePublish {
    font-size: 1.4rem;
  }
  .pageSingle_articleImg img {
    aspect-ratio: 16/9;
  }
  .pageSingle_articleBody {
    -webkit-margin-before: 8rem;
    margin-block-start: 8rem;
  }
  .pageSingle_articleBody > div {
    font-size: 1.4rem;
  }
  .pageSingle_articleBody h2 {
    border-start-start-radius: 5rem;
    border-end-end-radius: 5rem;
    padding-inline: 3rem;
    padding-block: 1.2rem;
    font-size: 1.6rem;
  }
  .pageSingle_articleBody h3 {
    border-start-start-radius: 5rem;
    border-end-end-radius: 5rem;
    padding-inline: 3rem;
    padding-block: 1.2rem;
    font-size: 1.6rem;
  }
  .pageSingle_articleBody h4 {
    font-size: 1.6rem;
  }
  .pageSingle_articleBody p {
    font-size: 1.4rem;
  }
  .pageSingle_articleBody figure img {
    aspect-ratio: 16/9;
  }
  .pageSingle_articleBody ul,
  .pageSingle_articleBody ol {
    padding-inline: 4rem;
  }
  .pageSingle_articleBody ul li,
  .pageSingle_articleBody ol li {
    font-size: 1.4rem;
  }
  .pageSingle_articleBody ol li::before {
    font-size: 1.8rem;
  }
  .pageSingle_articleBody table tr td {
    padding-block: 1.5rem;
    font-size: 1.4rem;
  }
  .pageSingle_articleBody a {
    font-size: 1.4rem;
  }
  .pageSingle_articleAuthor {
    font-size: 1.2rem;
  }
  .pageSingle_articleAuthor time {
    -webkit-margin-end: 0.5em;
    margin-inline-end: 0.5em;
  }
  .pageSingle_pagination:has(.pageSingle_prev, .pageSingle_next) {
    -webkit-margin-before: 8rem;
    margin-block-start: 8rem;
  }
  .ly-pageAuthorFirstView {
    -webkit-margin-before: 8rem;
    margin-block-start: 8rem;
  }
  .pageAuthorFirstView_contents {
    margin-inline: auto;
    inline-size: min(550px, 100%);
  }
  .author_contents {
    margin-block: 8rem 12rem;
  }
  .ly-contactFirstView {
    -webkit-margin-before: 8rem;
    margin-block-start: 8rem;
  }
  .contactFirstView_contents {
    margin-inline: auto;
    inline-size: min(550px, 100%);
  }
  .ly-contactForm {
    margin-block: 8rem;
  }
  .contactForm_contents {
    padding-inline: 8%;
    padding-block: 4rem;
  }
  .contactForm_message {
    font-size: 1.6rem;
  }
  .ly-thanksFirstView {
    -webkit-margin-before: 8rem;
    margin-block-start: 8rem;
  }
  .thanksFirstView_contents {
    margin-inline: auto;
    inline-size: min(550px, 100%);
  }
  .thanksFirstView_messageWrapper {
    inline-size: -webkit-fit-content;
    inline-size: -moz-fit-content;
    inline-size: fit-content;
    -webkit-margin-before: 8rem;
    margin-inline: auto;
    margin-block-start: 8rem;
    text-align: start;
  }
  .thanksFirstView_messageText {
    font-size: 1.4rem;
    line-height: 1.7142857143;
  }
  .ly-thanksReport {
    margin-block: 8rem;
  }
  .thanksReport_contents {
    -webkit-margin-before: 1.5rem;
    margin-block-start: 1.5rem;
  }
  .thanksReport_button {
    -webkit-margin-before: 3rem;
    margin-block-start: 3rem;
  }
  .thanksReport_button .primaryButton {
    -webkit-column-gap: 3rem;
    -moz-column-gap: 3rem;
    column-gap: 3rem;
    text-indent: 2em;
  }
  .ly-privacyFirstView {
    -webkit-margin-before: 8rem;
    margin-block-start: 8rem;
  }
  .privacyFirstView_contents {
    margin-inline: auto;
    inline-size: min(550px, 100%);
  }
  .ly-privacy {
    margin-block: 8rem;
  }
  .privacyPolicy {
    margin-inline: auto;
    inline-size: min(600px, 100%);
    text-align: justify;
  }
  .privacyPolicy > * {
    font-size: 1.4rem;
  }
  [data-device="sp"] {
    display: block;
  }
  [data-device="pc"] {
    display: none;
  }
}

@media (max-width: 767px) and (max-width: 767px) {
  .strengthsItem::before {
    inset-block-start: -4.5rem;
  }
}

@media (max-width: 575px) {
  .lowerHeading-main {
    font-size: 2rem;
  }
  .lowerLeafBackground::before,
  .lowerLeafBackground::after {
    --over-size: 5rem;
    inline-size: 8rem;
  }
  .lowerLeafBackground.--report::before,
  .lowerLeafBackground.--report::after {
    --report-over-size: 25rem;
  }
  .banner-wave {
    block-size: 3rem;
  }
  .banner-wave:nth-child(1 of .banner-wave) {
    inset-block-start: -2.9rem;
  }
  .banner-wave:nth-child(2 of .banner-wave) {
    inset-block-end: -2.9rem;
  }
  .courseList {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .courseItem {
    --margin: 0;
  }
  .pageProgramSkill_swiperPagination.swiper-pagination-bullets.swiper-pagination-horizontal,
  .voice_slidePagination.swiper-pagination-bullets.swiper-pagination-horizontal {
    -webkit-margin-before: 1.2rem;
    margin-block-start: 1.2rem;
  }
  .reportCards {
    grid-template-columns: 1fr;
  }
  .form-labelText {
    font-size: 1.4rem;
  }
  .wpcf7-list-item label {
    font-size: 1.3rem;
  }
  .accessMap-address {
    font-size: 1.5rem;
  }
  .diaryCards {
    grid-template-columns: 1fr;
  }
  .sidebar-articleTitle {
    font-size: 1.5rem;
  }
  .firstView_title {
    font-size: 1.9rem;
  }
  .firstView_titleNumber {
    font-size: 2.3rem;
  }
  .ly-message {
    -webkit-margin-after: 7rem;
    margin-block-end: 7rem;
  }
  .message::after {
    block-size: max(21rem, 40lvw);
  }
  .message_body {
    -webkit-margin-before: 10rem;
    margin-block-start: 10rem;
  }
  .message_title[data-device="sp"] {
    -webkit-padding-end: max(2rem, 5vw);
    padding-inline-end: max(2rem, 5vw);
  }
  .ly-challenge {
    -webkit-margin-before: 8rem;
    margin-block-start: 8rem;
  }
  .challenge_contents {
    padding-inline: 2rem;
    max-inline-size: 380px;
    -webkit-margin-before: 2.5rem;
    margin-inline: auto;
    margin-block-start: 2.5rem;
  }
  .ly-strengths {
    -webkit-margin-before: 8rem;
    margin-block-start: 8rem;
  }
  .strengths_wave {
    block-size: 3rem;
  }
  .strengths_wave:nth-child(1 of .strengths_wave) {
    inset-block-start: -2.9rem;
  }
  .strengths_wave:nth-child(2 of .strengths_wave) {
    inset-block-end: -2.9rem;
  }
  .ly-voice {
    -webkit-margin-before: 8rem;
    margin-block-start: 8rem;
  }
  .voice_slideItem {
    padding-inline: 2rem;
  }
  .voice_slideImg {
    inline-size: 100%;
  }
  .voice_slideUserInitial {
    font-size: 1.2rem;
  }
  .voice_slideUserAge {
    font-size: 1rem;
  }
  .ly-report {
    -webkit-margin-before: 20rem;
    margin-block-start: 20rem;
  }
  .report_wave {
    block-size: 9rem;
  }
  .report_wave:nth-child(1 of .report_wave) {
    inset-block-start: -8.9rem;
  }
  .report_wave:nth-child(2 of .report_wave) {
    inset-block-end: -8.9rem;
  }
  .report_contents {
    margin-inline: auto;
    padding-inline: 2rem;
    max-inline-size: 450px;
  }
  .ly-faq {
    -webkit-margin-before: 5rem;
    margin-block-start: 5rem;
  }
  .ly-access {
    -webkit-margin-after: 8rem;
    margin-block-end: 8rem;
  }
  .pageProgramFirstView_text {
    font-size: 1.6rem;
  }
  .pageProgramSkill_contents {
    -webkit-margin-before: 6rem;
    margin-block-start: 6rem;
  }
  .pageProgramSkill_course {
    padding-inline: 2rem;
    max-inline-size: 380px;
    -webkit-margin-before: 2.5rem;
    margin-inline: auto;
    margin-block-start: 2.5rem;
  }
  .pageProgramSkill_items {
    gap: 2rem;
  }
  .pageProgramSkill_item:has(.pageProgramSkill_itemSlide)
    .pageProgramSkill_itemHead {
    padding-inline: 3rem;
  }
  .pageProgramSkill_item:has(.pageProgramSkill_itemSlide)
    .pageProgramSkill_itemHeading
    span {
    display: inline-block;
  }
  .pageProgramSkill_itemSubHeading {
    font-size: 1.5rem;
  }
  .pageProgramSkill_swiper.--01 .pageProgramSkill_swiperSlide.--large {
    inline-size: 32rem;
  }
  .pageProgramSkill_swiper.--02 .pageProgramSkill_swiperSlide.--large {
    inline-size: 32rem;
  }
  .pageProgramSkill_swiperSlide {
    inline-size: 25rem;
  }
  .ly-pageProgramReport {
    -webkit-margin-after: 8rem;
    margin-block-end: 8rem;
  }
  .pageProgramReport_contents {
    margin-inline: auto;
    padding-inline: 2rem;
    max-inline-size: 450px;
  }
  .pageServiceFirstView_text {
    font-size: 1.6rem;
  }
  .pageServiceFeature_listWrapper {
    padding-inline: 2rem;
    max-inline-size: 400px;
  }
  .pageServiceFeature_item {
    inline-size: 100%;
  }
  .ly-pageServiceTarget {
    -webkit-margin-after: 9rem;
    margin-block-end: 9rem;
  }
  .pageServiceTarget_conditionHeading {
    font-size: 2rem;
  }
  .pageServiceTarget_conditionItemText {
    font-size: 1.5rem;
  }
  .ly-pageServiceFlow {
    -webkit-margin-before: 9rem;
    margin-block-start: 9rem;
  }
  .ly-pageServiceSchedule {
    -webkit-margin-before: 15rem;
    margin-block-start: 15rem;
  }
  .pageServiceSchedule_wave {
    block-size: 9rem;
  }
  .pageServiceSchedule_wave:nth-child(1 of .pageServiceSchedule_wave) {
    inset-block-start: -8.9rem;
  }
  .pageServiceSchedule_wave:nth-child(2 of .pageServiceSchedule_wave) {
    inset-block-end: -8.9rem;
  }
  .ly-pageServiceFaq {
    -webkit-margin-before: 15rem;
    margin-block-start: 15rem;
  }
  .ly-pageServiceReport {
    -webkit-margin-after: 8rem;
    margin-block-end: 8rem;
  }
  .pageServiceReport_contents {
    margin-inline: auto;
    padding-inline: 2rem;
    max-inline-size: 450px;
  }
  .ly-pageReportDiary {
    -webkit-margin-after: 8rem;
    margin-block-end: 8rem;
  }
  .pageReportDiary_main {
    margin-inline: auto;
    padding-inline: 2rem;
    max-inline-size: 450px;
  }
  .ly-pageSingle {
    -webkit-margin-after: 8rem;
    margin-block-end: 8rem;
  }
  .pageSingle_pagination {
    gap: 1rem;
  }
  .pageSingle_prev,
  .pageSingle_next {
    min-block-size: 4.5rem;
  }
  .pageSingle_prev a,
  .pageSingle_next a {
    font-size: 1.4rem;
  }
  .author_list li a {
    font-size: 1.6rem;
  }
  .thanksReport_contents {
    margin-inline: auto;
    padding-inline: 2rem;
    max-inline-size: 450px;
  }
  [data-device="sm"] {
    display: block;
  }
  [data-device="smNone"] {
    display: none;
  }
}

@media (max-width: 375px) {
  html {
    font-size: 2.6666666667vw;
  }
}

@media (any-hover: hover) {
  .primaryButton.--green:hover {
    --back-ground-color: var(--color-orange);
  }
  .primaryButton.--green:hover::before {
    --icon-color: var(--color-green);
  }
  .primaryButton.--orange:hover {
    --back-ground-color: var(--color-white);
    color: var(--color-green);
  }
  .primaryButton.--orange:hover::before {
    --icon-color: var(--color-orange);
  }
  .primaryButton.--orange:hover::after {
    --icon-arrow-color: var(--color-white);
  }
  .bannerButton.--contact:hover {
    --banner-button-color: var(--color-white);
    --font-color: var(--color-olive);
  }
  .bannerButton.--contact:hover::before {
    --icon-color: var(--color-olive);
  }
  .bannerButton.--contact:hover .bannerButtonTime {
    --border-color: var(--color-olive);
  }
  .bannerButton.--tel:hover {
    --banner-button-color: var(--color-white);
    --font-color: var(--color-green);
  }
  .bannerButton.--tel:hover::before {
    --icon-color: var(--color-green);
  }
  .bannerButton.--tel:hover .bannerButtonTime {
    --time-font-color: var(--color-green);
    --border-color: var(--color-green);
  }
  .contactButton:hover {
    --contact-button-background-color: var(--color-orange);
    --contact-button-color: var(--color-white);
  }
  .courseItem:hover .courseItem-img img {
    scale: 1.08;
  }
  .courseTab-listButton[aria-selected="false"]:hover {
    --darken: 10%;
  }
  .reportCard:hover .reportCard-img img {
    scale: 1.08;
  }
  .form-button:hover {
    --back-ground-color: var(--color-orange);
  }
  .form-button:hover::before {
    --icon-color: var(--color-green);
  }
  .diaryCard:hover .diaryCard-img img {
    scale: 1.08;
  }
  .header_navButton:hover {
    --lighten: 20%;
  }
  .pageSingle_prev:hover a::before,
  .pageSingle_prev:hover a::after {
    translate: -5px 0;
  }
  .pageSingle_next:hover a::before,
  .pageSingle_next:hover a::after {
    translate: 5px 0;
  }
  .author_list li a:focus-visible:hover {
    --lighten: 30%;
  }
  .author_list li a:hover {
    color: color-mix(in sRGB, var(--font-color), #fff var(--lighten, 0%));
  }
  .author_list li a:hover:focus-visible {
    --lighten: 30%;
  }
}

@media (any-hover: hover) and (any-hover: hover) {
  .author_list li a:hover:hover {
    --lighten: 30%;
  }
}

@media (forced-colors: none) and (any-hover: hover) {
  .wpcf7-list-item label input[type="checkbox"]:hover:enabled {
    border-color: var(--color-green);
    -webkit-box-shadow: 0 0 0 2px var(--color-light-green);
    box-shadow: 0 0 0 2px var(--color-light-green);
  }
}

@media (prefers-reduced-motion: no-preference) {
  :focus-visible {
    -webkit-transition: outline-offset 145ms cubic-bezier(0.25, 0, 0.4, 1);
    transition: outline-offset 145ms cubic-bezier(0.25, 0, 0.4, 1);
  }
  :where(:not(:active)):focus-visible {
    -webkit-transition-duration: 0.25s;
    transition-duration: 0.25s;
  }
}
/* ============================================
** column
=============================================== */
.column {
  background: none;
}
