@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Quicksand:wght@700&display=swap");
/**
 * uaplus.css version 0.3.1
 */
/**
 * Wrapping everything in an anonymous layer ensures that selectors
 * in UA+ have the lowest specificty or the highest when using
 * !important.
 */
@layer {
  /**
    * Different box model
    * 
    * We use the traditional box model, where the padding and border 
    * of the element is drawn inside and not outside the specified 
    * width and height. That makes combining relative and absolute 
    * units in properties like <code>inline-size</code> and 
    * <code>block-size</code> easier.
    * 
    * See https://en.wikipedia.org/wiki/CSS_box_model
    */
  *,
  *::after,
  *::before {
    box-sizing: border-box;
  }
  /**
    * Improve focus styles
    *
    * Add spacing between content and its focus outline.
    */
  :focus-visible {
    outline-offset: 3px;
  }
  /**
    * Disable text size adjustment
    * 
    * To improve readability on non-mobile optimized websites, browsers
    * like mobile Safari increase the default font size when you switch
    * a website from portrait to landscape. We don't want that for our 
    * optimized sites.
    *
    * See https://kilianvalkhof.com/2022/css-html/your-css-reset-needs-text-size-adjust-probably/
    */
  html {
    -webkit-text-size-adjust: none;
    -moz-text-size-adjust: none;
         text-size-adjust: none;
  }
  /**
    * Increase line height
    *
    * Long paragraphs are easier to read if the line height is higher.
    */
  html {
    line-height: 1.5;
  }
  /**
    * Add scrollbar gutter
    *
    * Prevent the page from “jumping” when switching from a long to a short page.
    *
    */
  html {
    scrollbar-gutter: stable;
  }
  /**
    * Remove UA styles for h1s nested in sectioning content
    *
    * Nesting h1s in section, articles, etc., shouldn't influence the 
    * styling of the heading since nesting doesn't influence 
    * semantics either.
    * 
    * See https://github.com/whatwg/html/issues/7867#issuecomment-2632395167
    * See https://github.com/whatwg/html/pull/11102
    * See https://html.spec.whatwg.org/#sections-and-headings
    */
  h1 {
    font-size: 2em;
    margin-block: 0.67em;
  }
  /**
    * Improve abbreviations with titles
    * 
    * The abbr element with the title isn't helpful regarding 
    * accessibility because support is inconsistent, and it's only 
    * accessible to some users. Still, it's commonly used. 
    * This rule shows a dotted underline on abbreviations in all 
    * browsers (there's a bug in Safari) and changes the cursor.
    * 
    * See https://adrianroselli.com/2024/01/using-abbr-element-with-title-attribute.html
    */
  abbr[title] {
    cursor: help;
    text-decoration-line: underline;
    text-decoration-style: dotted;
  }
  /**
    * Optimize mark element in Forced Colors Mode
    *
    * The colors of the mark element don't change in Forced Colors Mode,
    * which can be problematic. Use system colors instead.
    * 
    * See https://adrianroselli.com/2017/12/tweaking-text-level-styles.html#MarkWHCM
    */
  @media (forced-colors: active) {
    mark {
      color: HighlightText;
      background-color: Highlight;
    }
  }
  /**
    * Avoid overflow caused by embedded content
    * 
    * Ensure that embedded content (audio, video, images, etc.) 
    * doesn't overflow its container.
    */
  audio,
  iframe,
  img,
  svg,
  video {
    max-block-size: 100%;
    max-inline-size: 100%;
  }
  /**
    * Prevent fieldsets from causing overflow
    *
    * Reset the default `min-inline-size: min-content` to prevent
    * children from stretching fieldsets
    *
    * See https://github.com/twbs/bootstrap/issues/12359
    * and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements
    */
  fieldset {
    min-inline-size: 0;
  }
  /**
    * Turn labels into block elements
    * 
    * Labels for inputs, selects, and textarea should be block 
    * elements.
    */
  label:has(+ :where(input:not([type=radio], [type=checkbox]), select, textarea)) {
    display: block;
  }
  /**
    * Increase the block-size of textareas
    *
    * The default height of textareas is small. We increase it a bit.
    */
  textarea:not([rows]) {
    min-block-size: 6em;
  }
  /**
    * Inherit font styling in form elements
    * 
    * buttons, inputs, selects, and textarea should have the same font
    * family and size as the rest of the page.
    */
  button,
  input,
  select,
  textarea {
    font-family: inherit;
    font-size: inherit;
  }
  /**
    * Normalize search input styles
    *  
    * Remove the rounded corners of search inputs on macOS and IOS 
    * and normalize the background color
    */
  [type=search] {
    -webkit-appearance: textfield;
  }
  /* iOS only */
  @supports (-webkit-touch-callout: none) {
    [type=search] {
      border: 1px solid -apple-system-secondary-label;
      background-color: canvas;
    }
  }
  /**
    * Maintain direction in some input types
    * 
    * Some input types should remain left-aligned in right-to-left
    * languages,but only if the value isn't empty because the 
    * placeholder should be right-aligned.
    *
    * See https://rtlstyling.com/posts/rtl-styling#form-inputs
    */
  input:where([type=tel], [type=url], [type=email], [type=number]):not(:-moz-placeholder) {
    direction: ltr;
  }
  input:where([type=tel], [type=url], [type=email], [type=number]):not(:placeholder-shown) {
    direction: ltr;
  }
  /**
    * Improve table styling
    *  
    * With the default styling, tables are hard to scan. These rules 
    * add padding and collapsed borders.
    */
  table {
    border-collapse: collapse;
    border: 1px solid;
  }
  th,
  td {
    border: 1px solid;
    padding: 0.25em 0.5em;
    vertical-align: top;
  }
  /**
    * Fading dialogs
    *  
    * Add fade in and fade out transitions for the dialog element
    * and backdrops
    */
  dialog::backdrop {
    background: oklch(0% 0 0/0.3);
  }
  dialog,
  [popover],
  dialog::backdrop {
    opacity: 0;
    transition: opacity 150ms ease-out, display 150ms allow-discrete, overlay 150ms allow-discrete;
  }
  dialog[open],
  :popover-open,
  dialog[open]::backdrop {
    opacity: 1;
  }
  @starting-style {
    dialog[open],
    :popover-open,
    dialog[open]::backdrop {
      opacity: 0;
    }
  }
  /**
    * Increase specificity of [hidden]
    *  
    * Make it harder to accidentally unhide elements with the 
    * [hidden] attribute while still maintaining the until-found 
    * functionality.
    */
  [hidden]:not([hidden=until-found]) {
    display: none !important;
  }
  /**
    * Turn images into block elements
    */
  img {
    display: block;
  }
  /**
    * Change cursor of <summary>
    *
    * By default, only the ::marker inside the summary uses the 
    * default cursor.
    */
  summary {
    cursor: default;
  }
  /**
    * Remove the default border from iframes
    */
  iframe {
    border: none;
  }
  /**
   * By default popovers look like modals without a backdrop.
   * This makes use of the implicit anchor in popvers to position
   * it closely to the trigger.
   */
  @supports (position-area: end) {
    [popover] {
      margin: 0;
      position-area: end span-end;
      position-try-fallbacks: flip-block, flip-inline, flip-block flip-inline;
    }
  }
}
/**
 * リセットは .n-restyleクラスを付与してください
 */
/* 2. デフォルトの余白（margin/padding）を削除 */
.n-restyle * {
  margin: 0;
  padding: 0;
}

/* 4. メディア要素のレスポンシブ化 */
.n-restyle img, .n-restyle picture, .n-restyle video, .n-restyle canvas, .n-restyle svg {
  display: block;
  max-width: 100%;
  height: auto;
}

/* 6. テキストの折り返し設定 */
.n-restyle p, .n-restyle h1, .n-restyle h2, .n-restyle h3, .n-restyle h4, .n-restyle h5, .n-restyle h6 {
  overflow-wrap: break-word;
}

/* 7. リストのスタイル削除 */
.n-restyle ol, .n-restyle ul, .n-restyle menu {
  list-style: none;
}

:root {
  --color-white: #fff;
  --color-black: #000000;
  --color-red: #f00;
  --color-primary: #ff7989;
  --color-secondary: #ff9300;
  --color-tertiary: #40b9e5;
  --color-quaternary: #024990;
  --color-accent: #ffff00;
  --color-form-base: #e9e9e9;
  --color-form-accent: #ff9300;
  --font-size: 1.6rem;
  --font-family-base: Noto Sans JP, sans-serif;
  --font-family-accent: Quicksand, sans-serif;
  --line-height: 1.75;
  --line-height-small: 1.4;
  --contents-width: 1080;
  --container-space: 2rem;
  --header-height: 140px;
  --duration-base: 0.2s;
  --opacity-base: 0.7;
}

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

html {
  font-size: 62.5%;
}
html:has(dialog[open]) {
  overflow: hidden;
}

body {
  margin: initial;
  font-size: var(--font-size);
  font-weight: 500;
  font-family: var(--font-family-base);
  line-height: var(--line-height);
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
  color: var(--color-black);
  overflow-x: hidden;
}
body.is-fixed {
  position: fixed;
  width: 100%;
  overflow-y: scroll;
}
@media (max-width: 768px) {
  body {
    --header-height: 80px;
  }
}

a {
  transition: var(--duration-base) opacity;
  color: var(--color-tertiary);
}
a:hover {
  opacity: var(--opacity-base);
}
@media (min-width: 769px) {
  a[href^=tel] {
    pointer-events: none;
    text-decoration: none;
    color: inherit;
  }
}

strong {
  font-weight: inherit;
}

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

svg {
  overflow: visible;
  vertical-align: bottom;
}

table {
  width: 100%;
}

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

.l-header {
  position: sticky;
  top: 0;
  left: 0;
  z-index: 99;
  width: 100%;
  background-color: var(--color-white);
}
@media (max-width: 768px) {
  .l-header {
    height: var(--header-height);
    padding: 0.5rem 1rem;
  }
}
.l-header__container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 2rem;
  padding-left: 3rem;
}
@media (max-width: 768px) {
  .l-header__container {
    padding: 0;
  }
}
.l-header__container .c-button-primary.--contact {
  margin: 0;
  width: min(250px, 100%);
  min-height: 46px;
  font-size: 1.6rem;
}
@media (max-width: 768px) {
  .l-header__container .c-button-primary.--contact {
    display: none;
  }
}
.l-header__container .c-button-primary.--contact .icon-book {
  width: 25px;
}

.l-header-logo {
  margin: initial;
  font-size: initial;
  line-height: normal;
}
.l-header-logo a {
  display: block;
}
.l-header-logo img {
  width: 100px;
}
@media (max-width: 768px) {
  .l-header-logo img {
    width: 81px;
  }
}

@media (max-width: 768px) {
  .l-global-navi {
    display: none;
  }
  .l-hamburger-contents .l-global-navi {
    display: block;
  }
}

.l-global-navi__list {
  margin: initial;
  padding-left: initial;
  list-style: none;
  background-color: var(--color-primary);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 3px 7px;
  padding: 8px var(--container-space);
  line-height: 1.2;
}
@media (max-width: 768px) {
  .l-global-navi__list {
    flex-direction: column;
    gap: 2rem;
    padding: 0;
    text-align: center;
  }
}
.l-global-navi__list a {
  color: var(--color-white);
  text-decoration: none;
  font-size: 1.4rem;
}
.l-global-navi__list a:hover {
  opacity: 1;
  color: var(--color-accent);
}
@media (max-width: 768px) {
  .l-global-navi__list a {
    font-size: 1.6rem;
    font-weight: 700;
  }
}
.l-global-navi__list > li:not(:first-child) {
  position: relative;
  padding-left: 2.5rem;
}
@media (max-width: 768px) {
  .l-global-navi__list > li:not(:first-child) {
    padding-left: 0;
  }
}
.l-global-navi__list > li:not(:first-child)::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(calc(-50% + 1px)) rotate(-45deg);
  width: 20px;
  height: 2px;
  background-color: var(--color-white);
}
@media (max-width: 768px) {
  .l-global-navi__list > li:not(:first-child)::before {
    display: none;
  }
}

.l-hamburger {
  display: none;
}
@media (max-width: 768px) {
  .l-hamburger {
    display: initial;
  }
}

.l-hamburger-button {
  -webkit-appearance: none;
  background: transparent;
  border: none;
  border-radius: initial;
  padding: initial;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 99;
  width: var(--header-height);
  aspect-ratio: 1/1;
  background-color: var(--color-white);
  display: grid;
  place-content: center;
}
.l-hamburger-button__text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.l-hamburger-button__line {
  --line-width: 30px;
  --line-height: 1px;
  --line-color: var(--color-primary);
  --line-position: -0.6em;
  width: var(--line-width);
  height: var(--line-height);
  background-color: var(--line-color);
}
.l-hamburger-button__line::before, .l-hamburger-button__line::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: var(--line-color);
  transition: var(--duration-base) transform;
}
.l-hamburger-button__line::before {
  transform: translateY(var(--line-position));
}
.l-hamburger-button__line::after {
  transform: translateY(calc(var(--line-position) * -1));
}
.l-hamburger-button[aria-expanded=true] .l-hamburger-button__line {
  background-color: transparent;
}
.l-hamburger-button[aria-expanded=true] .l-hamburger-button__line::before {
  transform: rotate(25deg);
}
.l-hamburger-button[aria-expanded=true] .l-hamburger-button__line::after {
  transform: rotate(-25deg);
}

.l-hamburger-contents {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: var(--header-height);
  right: 0;
  z-index: 98;
  background-color: var(--color-primary);
  width: 100%;
  height: calc(100dvh - var(--header-height));
  transition: var(--duration-base) opacity;
}
.l-hamburger-contents:not([aria-hidden]) {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}
.l-hamburger-contents__inner {
  width: 100%;
  height: 100%;
  overflow-y: auto;
  padding: 2.5rem var(--container-space) 6rem;
}
.l-hamburger-contents__inner .c-button-primary {
  margin-top: 4rem;
}

.l-hamburger-layer {
  visibility: hidden;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 97;
  width: 100%;
  height: 100%;
  background-color: transparent;
  transition: var(--duration-base) opacity;
}
.l-hamburger-layer.is-active {
  visibility: visible;
  opacity: 1;
}

.l-container {
  margin-inline: auto;
  width: min(calc(var(--contents-width) * 1px + var(--container-space) * 2), 100%);
  padding-inline: var(--container-space);
}

.l-footer {
  background-color: var(--color-primary);
  padding: 4rem 0 3rem;
  color: var(--color-white);
}
@media (max-width: 768px) {
  .l-footer {
    padding-bottom: 2.5rem;
  }
}

.l-footer-navi {
  margin: initial;
  padding-left: initial;
  list-style: none;
  display: flex;
  justify-content: center;
  gap: 6rem;
  line-height: var(--line-height-small);
}
@media (max-width: 768px) {
  .l-footer-navi {
    flex-direction: column;
    align-items: center;
    gap: 2rem;
  }
}
.l-footer-navi a {
  color: currentColor;
  text-decoration: none;
  font-weight: 700;
}
.l-footer-navi > li {
  position: relative;
  padding-left: 1.8rem;
}
.l-footer-navi > li::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%) rotate(45deg);
  width: 9px;
  aspect-ratio: 1/1;
  border-top: solid 2px currentColor;
  border-right: solid 2px currentColor;
}

.l-copyright {
  margin: 4rem 0 0;
  font-size: 1.2rem;
  line-height: var(--line-height-small);
  letter-spacing: 0.08em;
  text-align: center;
}
.l-copyright small {
  font-size: 1em;
}

.c-form {
  --textarea-size: 165px;
}
@layer {
  .c-form :where(input, button, select, textarea) {
    -webkit-appearance: none;
    background: transparent;
    border: none;
    border-radius: initial;
    padding: initial;
  }
}
.c-form :disabled {
  filter: grayscale(100%);
  opacity: 0.5;
}
.c-form ::-moz-placeholder {
  filter: grayscale(100%);
  opacity: 0.5;
}
.c-form ::placeholder {
  filter: grayscale(100%);
  opacity: 0.5;
}
.c-form :where(input:not([type=submit]), button, select, textarea) {
  box-shadow: 0 0 0 1px var(--color-form-base) inset;
  background-color: var(--color-white);
  width: 100%;
  padding: 11px 1rem;
  line-height: var(--line-height-small);
}
.c-form :where(input:not([type=submit]), button, select, textarea):focus {
  outline: initial;
  box-shadow: 0 0 0 2px var(--color-form-accent) inset;
}
.c-form textarea {
  height: var(--textarea-size);
  vertical-align: bottom;
}
.c-form :is(input[type=checkbox], input[type=radio]) {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.c-form :is(input[type=checkbox], input[type=radio]) + span {
  position: relative;
  display: inline-flex;
  align-items: center;
  line-height: var(--line-height-small);
}
.c-form :is(input[type=checkbox], input[type=radio]) + span::before {
  content: "";
  flex-shrink: 0;
  aspect-ratio: 1/1;
  border: 1px solid var(--color-form-base);
  margin-right: 1rem;
}
.c-form :is(input[type=checkbox], input[type=radio]):disabled + span {
  filter: grayscale(100%);
  opacity: 0.5;
}

.c-form-list {
  margin: initial;
  line-height: var(--line-height-small);
}
.c-form-list__item + .c-form-list__item {
  margin-top: 2rem;
}
.c-form-list__item > dt {
  margin-bottom: 1rem;
  font-weight: 700;
}
.c-form-list__item > dd {
  margin-left: 0;
}

.c-form-required,
.c-form-optional {
  display: inline-block;
  margin-right: 1rem;
  padding: 3px 6px;
  font-size: 1.4rem;
  color: var(--color-white);
  text-align: center;
  line-height: 1;
}

.c-form-required {
  background-color: var(--color-secondary);
}

.c-form-optional {
  background-color: var(--color-tertiary);
}

.c-form-privacy {
  margin: 2rem auto 0;
  width: -moz-fit-content;
  width: fit-content;
}
@media (max-width: 768px) {
  .c-form-privacy {
    margin-top: 0;
  }
}

.c-form-button {
  margin-top: 6rem;
}
@media (max-width: 768px) {
  .c-form-button {
    margin-top: 3rem;
  }
}

.grecaptcha-badge {
  visibility: hidden;
}

.c-form .wpcf7-list-item {
  margin: 0;
}
.c-form .wpcf7-not-valid-tip {
  margin-top: 0.5rem;
  color: var(--color-red);
  font-size: 1.4rem;
}
.c-form .wpcf7-spinner {
  display: block;
  margin: 1rem auto 0;
}

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

.c-heading-primary {
  margin: initial;
  font-size: 3.8rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  line-height: var(--line-height-small);
  text-align: center;
}
@media (max-width: 768px) {
  .c-heading-primary {
    font-size: 3rem;
  }
}

.c-button-primary {
  margin-inline: auto;
  width: min(350px, 100%);
  min-height: 68px;
  display: grid;
  place-content: center;
  background-color: var(--color-secondary);
  border-radius: 6px;
  box-shadow: 0px 3px 0px #894f00;
  padding: 1rem 2rem;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: var(--line-height-small);
  color: var(--color-white);
  text-decoration: none;
  text-align: center;
}
@media (max-width: 768px) {
  .c-button-primary {
    width: 100%;
  }
}
.c-button-primary.--contact span {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.c-button-primary.--contact .icon-book {
  display: block;
  width: 34px;
  aspect-ratio: 34/26;
  background: url(../images/icon_book.svg) center/contain no-repeat;
}
.c-button-primary:hover {
  opacity: 1;
  transform: translateY(3px);
  box-shadow: none;
}

.c-cta {
  width: min(850px, 100%);
  margin: auto;
  background-color: var(--color-quaternary);
  color: var(--color-white);
  padding: 2.5rem;
}
@media (max-width: 768px) {
  .c-cta {
    margin: 0 calc(var(--container-space) * -1);
    width: calc(100% + var(--container-space) * 2);
    padding: var(--container-space);
    padding-top: 1rem;
  }
}
.c-cta-heading {
  margin: 0 auto 2rem;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  font-size: 2.6rem;
  font-weight: 900;
  text-align: center;
  line-height: var(--line-height-small);
}
@media (max-width: 768px) {
  .c-cta-heading {
    margin-bottom: 1.5rem;
    font-size: 2rem;
    letter-spacing: -0.05em;
  }
}
.c-cta-heading::before, .c-cta-heading::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 35px;
  height: 2px;
  background-color: var(--color-accent);
}
@media (max-width: 768px) {
  .c-cta-heading::before, .c-cta-heading::after {
    top: auto;
    bottom: 2rem;
    transform: rotate(45deg);
    width: 60px;
  }
}
.c-cta-heading::before {
  right: calc(100% + 17px);
}
@media (max-width: 768px) {
  .c-cta-heading::before {
    right: calc(100% - 20px);
  }
}
.c-cta-heading::after {
  left: calc(100% + 7px);
  transform: translateY(-50%) rotate(-45deg);
}
@media (max-width: 768px) {
  .c-cta-heading::after {
    left: calc(100% - 20px);
    transform: rotate(-45deg);
  }
}
.c-cta-heading strong {
  font-size: 3.4rem;
  color: var(--color-accent);
  letter-spacing: 0.026em;
}
@media (max-width: 768px) {
  .c-cta-heading strong {
    font-size: 3rem;
  }
}

.p-home-fv {
  position: relative;
  background-color: #fff5e6;
  min-height: 660px;
}
@media (max-width: 768px) {
  .p-home-fv {
    min-height: initial;
    background: linear-gradient(#e5f9ff 0%, #e5f9ff 50%, #fff5e6 50%, #fff5e6 100%);
  }
}
.p-home-fv-content {
  position: absolute;
  padding-top: 2rem;
}
@media (min-width: 1600px) {
  .p-home-fv-content {
    padding-top: 8rem;
  }
}
@media (max-width: 768px) {
  .p-home-fv-content {
    position: static;
    padding-top: 1.5rem;
  }
}
.p-home-fv-text {
  margin-left: -10px;
}
@media (max-width: 1024px) {
  .p-home-fv-text img {
    width: min(67.9487179487vw, 623px);
  }
}
@media (max-width: 768px) {
  .p-home-fv-text img {
    margin: auto;
  }
}
.p-home-fv-heading {
  margin: -1rem 0 0;
}
@media (max-width: 768px) {
  .p-home-fv-heading {
    margin-top: -0.5rem;
    position: relative;
    z-index: 1;
  }
}
@media (max-width: 1024px) {
  .p-home-fv-heading img {
    width: min(89.7435897436vw, 659px);
  }
}
@media (max-width: 768px) {
  .p-home-fv-heading img {
    margin: auto;
  }
}
.p-home-fv-list {
  margin: initial;
  padding-left: initial;
  list-style: none;
  margin-top: 1.2rem;
  display: flex;
  gap: 2rem;
}
@media (max-width: 768px) {
  .p-home-fv-list {
    margin-top: -7%;
    justify-content: center;
    gap: 4px;
  }
}
.p-home-fv-list > li img {
  width: 167px;
  filter: drop-shadow(0px 0px 20px #fff);
}
@media (max-width: 768px) {
  .p-home-fv-list > li img {
    width: 29.2307692308vw;
  }
}
.p-home-fv-cta {
  margin-top: 1.7rem;
  width: -moz-fit-content;
  width: fit-content;
  background-color: var(--color-quaternary);
  border-radius: 6px;
  color: var(--color-white);
  padding: 2rem;
  display: flex;
  align-items: center;
  gap: 1rem;
}
@media (max-width: 768px) {
  .p-home-fv-cta {
    margin: 2rem calc(var(--container-space) * -1) 0;
    width: calc(100% + var(--container-space) * 2);
    border-radius: 0;
    padding-top: 1.5rem;
    flex-direction: column;
    gap: 1.5rem;
  }
}
.p-home-fv-cta > p {
  flex-shrink: 0;
  margin: initial;
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: 2rem;
  font-weight: 800;
  line-height: 1.3;
}
.p-home-fv-cta > p .time {
  font-size: 2.2em;
  line-height: 1;
}
.p-home-fv-cta > p .icon-time {
  display: block;
  width: 61px;
  aspect-ratio: 1/1;
  background: url(../images/icon_time.svg) center/contain no-repeat;
}
@media (max-width: 768px) {
  .p-home-fv-cta > p .icon-time {
    width: 36px;
  }
}
.p-home-fv-cta .c-button-primary {
  margin: 0;
}
@media (max-width: 768px) {
  .p-home-fv-image {
    margin: -5% calc(var(--container-space) * -1) 0;
  }
}
.p-home-fv-image img {
  max-width: initial;
  width: 100%;
}

.p-home-features-sec01 {
  background: url(../images/home_features_image04.webp) calc(50% + 168px + 200px) 0 no-repeat, #fff5e6 url(../images/dotted03.webp) center bottom repeat-x;
  padding: 7rem 0 10.5rem;
}
@media (max-width: 768px) {
  .p-home-features-sec01 {
    background: #fff5e6 url(../images/dotted03.webp) center bottom repeat-x;
    padding: 4rem 0 6.5rem;
  }
}
.p-home-features-sec01-heading {
  margin-bottom: 3rem;
  background: url(../images/dotted02.webp) center repeat-x;
}
@media (max-width: 768px) {
  .p-home-features-sec01-heading {
    margin-bottom: 2rem;
    background: none;
  }
}
.p-home-features-sec01-heading h2 {
  margin: auto;
  width: -moz-fit-content;
  width: fit-content;
  background-color: #fff5e6;
  padding: 0 3rem;
  display: flex;
  align-items: center;
  gap: 1.7rem;
  font-size: 4.2rem;
  line-height: var(--line-height-small);
  text-align: center;
  color: var(--color-tertiary);
}
@media (max-width: 768px) {
  .p-home-features-sec01-heading h2 {
    gap: 0.5rem;
    font-size: 3.4rem;
  }
}
.p-home-features-sec01-heading h2 .logo img {
  width: 100px;
}
@media (max-width: 768px) {
  .p-home-features-sec01-heading h2 .logo img {
    width: 80px;
  }
}
.p-home-features-sec01-heading h2 .small {
  font-size: 0.883em;
}
.p-home-features-sec01-heading + p {
  margin: 0 0 5.5rem;
  font-weight: 700;
  text-align: center;
}
@media (max-width: 768px) {
  .p-home-features-sec01-heading + p {
    margin-bottom: 2.5rem;
    font-weight: 500;
    text-align: left;
  }
}
.p-home-features-sec01-heading + p span {
  font-size: 1.125em;
  color: var(--color-tertiary);
}
@media (max-width: 768px) {
  .p-home-features-sec01-heading + p span {
    font-size: 1em;
  }
}
.p-home-features-sec01-list {
  margin: initial;
  padding-left: initial;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: auto auto 1fr;
  -moz-column-gap: 4.5rem;
       column-gap: 4.5rem;
}
@media (max-width: 1024px) {
  .p-home-features-sec01-list {
    -moz-column-gap: 2rem;
         column-gap: 2rem;
  }
}
@media (max-width: 768px) {
  .p-home-features-sec01-list {
    grid-template-columns: auto;
    -moz-column-gap: 0;
         column-gap: 0;
    row-gap: 2.5rem;
  }
}
.p-home-features-sec01-list > li {
  position: relative;
  width: min(330px, 100%);
  background-color: var(--color-white);
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
}
@media (max-width: 768px) {
  .p-home-features-sec01-list > li {
    width: 100%;
    grid-template-rows: none;
    grid-row: auto;
  }
}
.p-home-features-sec01-list > li:first-child .p-home-features-sec01-list__heading > .feature {
  padding-right: 6rem;
}
.p-home-features-sec01-list__heading {
  padding: 4rem 2rem 1.5rem;
}
@media (max-width: 768px) {
  .p-home-features-sec01-list__heading {
    padding: 2rem;
    padding-top: 5rem;
  }
}
.p-home-features-sec01-list__heading .feature {
  margin: initial;
  position: absolute;
  top: 0;
  left: 0;
  background-color: var(--color-primary);
  padding: 6px 1rem;
  padding-right: 6.5rem;
  font-size: 1.8rem;
  font-family: var(--font-family-accent);
  font-weight: 700;
  color: var(--color-white);
  line-height: 1;
}
.p-home-features-sec01-list__heading .feature::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -9px;
  transform: translateY(-50%) skew(-30deg);
  width: 17px;
  height: 30px;
  background-color: var(--color-primary);
}
.p-home-features-sec01-list__heading .feature span {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
  left: 97px;
  font-size: 4.3rem;
}
.p-home-features-sec01-list__heading > h3 {
  margin: initial;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: var(--line-height-small);
  color: var(--color-primary);
}
@media (max-width: 768px) {
  .p-home-features-sec01-list__heading > h3 {
    text-align: center;
  }
}
.p-home-features-sec01-list__heading > h3 span {
  display: inline-block;
}
.p-home-features-sec01-list__inner .image img {
  max-width: initial;
  width: 100%;
}
.p-home-features-sec01-list__inner p {
  margin: initial;
  padding: 2rem;
  padding-top: 1.5rem;
}
@media (max-width: 768px) {
  .p-home-features-sec01-list__inner p {
    padding: 2rem;
  }
}
.p-home-features-sec01-list__inner p span {
  font-size: 1.125em;
  font-weight: 700;
}
@media (max-width: 768px) {
  .p-home-features-sec01-list__inner p span {
    font-size: 1em;
  }
}

.p-home-features-sec02 {
  background-color: #e5f9ff;
  padding-top: 6rem;
  overflow: hidden;
}
@media (max-width: 768px) {
  .p-home-features-sec02 {
    padding-top: 4rem;
  }
  .p-home-features-sec02 > .l-container {
    --container-space: 0;
  }
}
.p-home-features-sec02 .c-heading-primary {
  margin-bottom: 4rem;
}
@media (max-width: 768px) {
  .p-home-features-sec02 .c-heading-primary {
    margin-bottom: 3rem;
    font-size: 2rem;
  }
}
.p-home-features-sec02 .c-heading-primary strong {
  font-size: 1.105em;
}
@media (max-width: 768px) {
  .p-home-features-sec02 .c-heading-primary strong {
    font-size: 3rem;
  }
}
.p-home-features-sec02 .c-heading-primary strong.s01 {
  color: #f9783c;
}
.p-home-features-sec02 .c-heading-primary strong.s01 span {
  font-size: 0.904em;
}
@media (max-width: 768px) {
  .p-home-features-sec02 .c-heading-primary strong.s01 span {
    font-size: 2rem;
  }
}
.p-home-features-sec02 .c-heading-primary strong.s02 {
  color: var(--color-quaternary);
}
.p-home-features-sec02__container {
  background: linear-gradient(#e5f9ff 0%, #e5f9ff 4rem, var(--color-white) 4rem, var(--color-white) 100%);
  padding-bottom: 8.5rem;
}
@media (max-width: 768px) {
  .p-home-features-sec02__container {
    background: linear-gradient(#e5f9ff 0%, #e5f9ff 3rem, var(--color-white) 3rem, var(--color-white) 100%);
    padding-bottom: 4rem;
  }
}
.p-home-features-sec02-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 768px) {
  .p-home-features-sec02-content {
    flex-direction: column;
  }
}
@media (max-width: 1024px) {
  .p-home-features-sec02-content.--01 {
    align-items: flex-start;
  }
}
.p-home-features-sec02-content.--01 .p-home-features-sec02-content__image {
  width: 54.0740740741%;
}
@media (max-width: 768px) {
  .p-home-features-sec02-content.--01 .p-home-features-sec02-content__image {
    width: 100%;
    margin-bottom: 2rem;
  }
  .p-home-features-sec02-content.--01 .p-home-features-sec02-content__image img {
    max-width: initial;
    width: 100%;
  }
}
.p-home-features-sec02-content.--01 .p-home-features-sec02-content__text {
  width: 40.8333333333%;
}
@media (max-width: 1024px) {
  .p-home-features-sec02-content.--01 .p-home-features-sec02-content__text {
    padding: 8rem 0 4rem;
  }
}
@media (max-width: 768px) {
  .p-home-features-sec02-content.--01 .p-home-features-sec02-content__text {
    width: 100%;
    padding: 0;
  }
}
.p-home-features-sec02-content.--02 {
  flex-direction: row-reverse;
  margin-top: -5rem;
}
@media (max-width: 1024px) {
  .p-home-features-sec02-content.--02 {
    margin-top: 0;
  }
}
@media (max-width: 768px) {
  .p-home-features-sec02-content.--02 {
    flex-direction: column;
    margin-top: 2rem;
  }
}
.p-home-features-sec02-content.--02 .p-home-features-sec02-content__image {
  width: 40.8333333333%;
}
@media (max-width: 768px) {
  .p-home-features-sec02-content.--02 .p-home-features-sec02-content__image {
    width: 100%;
    margin-bottom: 2rem;
  }
}
.p-home-features-sec02-content.--02 .p-home-features-sec02-content__image img {
  max-width: 584px;
  border-radius: 20px 0px 0px 20px;
}
@media (max-width: 1024px) {
  .p-home-features-sec02-content.--02 .p-home-features-sec02-content__image img {
    max-width: calc(100% + var(--container-space));
  }
}
@media (max-width: 768px) {
  .p-home-features-sec02-content.--02 .p-home-features-sec02-content__image img {
    border-radius: 10px;
    max-width: 100%;
  }
}
.p-home-features-sec02-content.--02 .p-home-features-sec02-content__text {
  width: 54.0740740741%;
}
@media (max-width: 768px) {
  .p-home-features-sec02-content.--02 .p-home-features-sec02-content__text {
    width: 100%;
  }
}
.p-home-features-sec02-content__text p {
  margin: initial;
  font-size: 1.8rem;
  line-height: 2.111;
}
@media (max-width: 768px) {
  .p-home-features-sec02-content__text p {
    font-size: 1.6rem;
    line-height: 1.75;
  }
}
.p-home-features-sec02-content__text p span {
  font-weight: 700;
  color: #f9783c;
}

.p-home-features-sec03 {
  position: relative;
  background-color: #e5f9ff;
  padding: 9rem 0 8.5rem;
  overflow: hidden;
}
@media (max-width: 850px) {
  .p-home-features-sec03 {
    padding-bottom: 0;
  }
}
@media (max-width: 768px) {
  .p-home-features-sec03 {
    padding-top: 4.5rem;
  }
}
.p-home-features-sec03::before {
  content: "";
  position: absolute;
  bottom: -741px;
  left: calc(50% - 512px);
  width: 1482px;
  aspect-ratio: 1/1;
  background-color: #f9783c;
  border-radius: 50%;
}
@media (max-width: 850px) {
  .p-home-features-sec03::before {
    display: none;
  }
}
.p-home-features-sec03-heading {
  margin: 0 auto 4.5rem;
  position: relative;
  z-index: 2;
  width: min(850px, 100%);
  aspect-ratio: 850/335;
  background: url(../images/home_features_bg01.webp) center/contain no-repeat;
  padding-top: 6.5rem;
}
@media (max-width: 850px) {
  .p-home-features-sec03-heading {
    margin-bottom: 0;
    background-image: url(../images/home_features_bg01_sp.webp);
    width: min(700px, 100%);
    aspect-ratio: 700/358;
  }
}
@media (max-width: 768px) {
  .p-home-features-sec03-heading {
    width: min(350px, 100%);
    padding-top: 3rem;
  }
}
.p-home-features-sec03-heading > p {
  margin: initial;
  position: absolute;
  top: -30px;
  left: 50%;
  transform: translateX(-50%);
  background-color: #f9783c;
  border-radius: 30px;
  padding: 9px 4.5rem;
  font-size: 3rem;
  font-weight: 800;
  line-height: var(--line-height-small);
  white-space: nowrap;
  color: var(--color-white);
}
@media (max-width: 768px) {
  .p-home-features-sec03-heading > p {
    top: -15px;
    padding: 4px 3rem;
    font-size: 1.6rem;
  }
}
.p-home-features-sec03-heading > h2 {
  margin: initial;
  font-size: 3.6rem;
  font-weight: 700;
  line-height: var(--line-height-small);
  text-align: center;
}
@media (max-width: 768px) {
  .p-home-features-sec03-heading > h2 {
    font-size: 2rem;
  }
}
.p-home-features-sec03-heading > h2 strong {
  color: #f9783c;
}
.p-home-features-sec03-content {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
}
@media (max-width: 850px) {
  .p-home-features-sec03-content {
    flex-direction: column;
    width: calc(100% + var(--container-space) * 2);
    margin: -12rem calc(var(--container-space) * -1) 0;
    background-color: #f9783c;
    padding: 9rem 0 4rem;
  }
}
.p-home-features-sec03-content__image {
  width: 40.8333333333%;
  margin-left: -143px;
}
@media (max-width: 1024px) {
  .p-home-features-sec03-content__image {
    margin-left: calc(var(--container-space) * -1);
  }
}
@media (max-width: 850px) {
  .p-home-features-sec03-content__image {
    margin-left: 0;
    width: 100%;
  }
}
.p-home-features-sec03-content__image img {
  max-width: 584px;
  border-radius: 0 20px 20px 0px;
}
@media (max-width: 1024px) {
  .p-home-features-sec03-content__image img {
    max-width: calc(100% + var(--container-space));
  }
}
@media (max-width: 850px) {
  .p-home-features-sec03-content__image img {
    border-radius: 0;
    max-width: initial;
    width: 100%;
  }
}
.p-home-features-sec03-content__text {
  width: 50.8333333333%;
}
@media (max-width: 850px) {
  .p-home-features-sec03-content__text {
    width: 100%;
    padding: 4rem var(--container-space) 0;
  }
}
@media (max-width: 768px) {
  .p-home-features-sec03-content__text {
    padding-top: 2rem;
  }
}
.p-home-features-sec03-content__text > h3 {
  margin: 0 0 4rem;
  font-size: 3.6rem;
  font-weight: 700;
  line-height: var(--line-height-small);
  color: var(--color-accent);
}
@media (min-width: 851px) and (max-width: 1024px) {
  .p-home-features-sec03-content__text > h3 br {
    display: none;
  }
}
@media (max-width: 768px) {
  .p-home-features-sec03-content__text > h3 {
    margin-bottom: 2rem;
    font-size: 2.4rem;
  }
}
.p-home-features-sec03-content__text p {
  margin: initial;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 2.111;
  color: var(--color-white);
}
@media (max-width: 768px) {
  .p-home-features-sec03-content__text p {
    font-size: 1.6rem;
    line-height: 1.75;
  }
}
.p-home-features-sec03-content__text p span {
  color: var(--color-accent);
}

.p-home-reasons {
  background: url(../images/home_reasons_image04.webp) calc(50% + 93px + 400px) 6.5rem no-repeat;
  padding: 8rem 0 6rem;
}
@media (max-width: 1024px) {
  .p-home-reasons {
    background: none;
  }
}
@media (max-width: 768px) {
  .p-home-reasons {
    padding: 4rem 0 0;
  }
}
.p-home-reasons .c-heading-primary {
  margin-bottom: 3rem;
}
@media (max-width: 768px) {
  .p-home-reasons .c-heading-primary {
    margin-bottom: 2rem;
  }
}
.p-home-reasons .c-heading-primary strong {
  text-decoration-color: var(--color-accent);
  background-image: radial-gradient(circle at center, currentColor 20%, transparent 20%); /* 点の色とサイズ調整 */
  background-position: top right; /* 点の位置 */
  background-repeat: repeat-x; /* 横方向に繰り返し */
  background-size: 40px 0.2em; /* 点の間隔とサイズ調整 */
  padding-top: 8px; /* 縦方向の位置調整 */
}
@media (max-width: 768px) {
  .p-home-reasons .c-heading-primary strong {
    background-size: 32px 0.2em;
  }
}
.p-home-reasons .c-heading-primary span {
  font-size: 0.842em;
}
@media (max-width: 768px) {
  .p-home-reasons .c-heading-primary span {
    font-size: 2rem;
  }
}
.p-home-reasons .c-heading-primary + p {
  margin: 0 0 11rem;
  font-weight: 700;
  text-align: center;
}
@media (max-width: 768px) {
  .p-home-reasons .c-heading-primary + p {
    width: 85.7142857143%;
    margin: 0 auto 7rem;
    text-align: left;
  }
}
.p-home-reasons .c-heading-primary + p span {
  font-size: 1.125em;
  color: var(--color-primary);
}
.p-home-reasons-list {
  margin: initial;
  padding-left: initial;
  list-style: none;
  display: flex;
  justify-content: center;
  gap: 4.5rem;
}
@media (max-width: 1024px) {
  .p-home-reasons-list {
    gap: 2rem;
  }
}
@media (max-width: 768px) {
  .p-home-reasons-list {
    gap: 5rem;
  }
}
@media (max-width: 768px) {
  .p-home-reasons-list {
    flex-direction: column;
    align-items: center;
  }
}
.p-home-reasons-list > li {
  position: relative;
  width: min(330px, 100%);
}
@media (max-width: 768px) {
  .p-home-reasons-list > li {
    width: 100%;
  }
}
.p-home-reasons-list > li:nth-child(1)::before {
  content: "01";
}
.p-home-reasons-list > li:nth-child(2)::before {
  content: "02";
}
.p-home-reasons-list > li:nth-child(3)::before {
  content: "03";
}
.p-home-reasons-list > li::before {
  position: absolute;
  top: -40px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 8rem;
  font-family: var(--font-family-accent);
  font-weight: 700;
  line-height: 1;
  color: var(--color-quaternary);
}
.p-home-reasons-list__image {
  margin-bottom: 3rem;
}
@media (max-width: 768px) {
  .p-home-reasons-list__image {
    margin-bottom: 2rem;
  }
}
.p-home-reasons-list__image img {
  border-radius: 20px;
  box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.2);
}
@media (max-width: 768px) {
  .p-home-reasons-list__image img {
    max-width: initial;
    width: 100%;
  }
}
.p-home-reasons-list__text > h3 {
  margin: 0 0 2rem;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: var(--line-height-small);
  color: var(--color-quaternary);
  text-align: center;
}
@media (max-width: 768px) {
  .p-home-reasons-list__text > h3 {
    margin-bottom: 1rem;
  }
}
.p-home-reasons-list__text > p {
  margin: initial;
}
.p-home-reasons-list__text > p span {
  font-weight: 700;
  color: var(--color-tertiary);
}
.p-home-reasons .c-cta {
  margin-top: 6rem;
}
@media (max-width: 768px) {
  .p-home-reasons .c-cta {
    margin-top: 4rem;
  }
}

.p-home-benefits {
  background-color: var(--color-primary);
  padding: 6rem 0;
  color: var(--color-white);
}
@media (max-width: 768px) {
  .p-home-benefits {
    padding: 4rem 0;
  }
}
.p-home-benefits .c-heading-primary {
  margin-bottom: 3rem;
}
@media (max-width: 768px) {
  .p-home-benefits .c-heading-primary {
    margin-bottom: 2rem;
  }
}
.p-home-benefits .c-heading-primary + p {
  margin: 0 0 4rem;
  font-weight: 700;
  text-align: center;
}
@media (max-width: 768px) {
  .p-home-benefits .c-heading-primary + p {
    width: 85.7142857143%;
    margin: 0 auto 3.5rem;
  }
}
.p-home-benefits .c-heading-primary + p span {
  font-size: 1.125em;
  color: var(--color-accent);
}
.p-home-benefits-list {
  margin: initial;
  padding-left: initial;
  list-style: none;
}
.p-home-benefits-list > li {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 768px) {
  .p-home-benefits-list > li {
    flex-direction: column;
    gap: 2rem;
  }
}
.p-home-benefits-list > li:nth-child(even) {
  flex-direction: row-reverse;
}
@media (max-width: 768px) {
  .p-home-benefits-list > li:nth-child(even) {
    flex-direction: column;
  }
}
.p-home-benefits-list > li + li {
  margin-top: 4rem;
}
@media (max-width: 768px) {
  .p-home-benefits-list > li + li {
    margin-top: 3rem;
  }
}
.p-home-benefits-list__text {
  width: 55.5555555556%;
}
@media (max-width: 768px) {
  .p-home-benefits-list__text {
    width: 100%;
  }
}
.p-home-benefits-list__text .heading {
  margin-bottom: 3rem;
  display: flex;
  align-items: center;
  gap: 4.5rem;
}
@media (max-width: 768px) {
  .p-home-benefits-list__text .heading {
    margin-bottom: 2rem;
    flex-direction: column;
    align-items: flex-start;
    gap: 4rem;
  }
}
.p-home-benefits-list__text .heading__point {
  flex-shrink: 0;
  margin: initial;
  position: relative;
  font-size: 3rem;
  font-family: var(--font-family-accent);
  font-weight: 700;
  line-height: 0.9;
  text-align: center;
}
@media (max-width: 768px) {
  .p-home-benefits-list__text .heading__point {
    width: 100%;
  }
}
.p-home-benefits-list__text .heading__point::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -25px;
  transform: translateY(-50%);
  width: 8px;
  height: 80px;
  background-color: currentColor;
  border-radius: 5px;
}
@media (max-width: 768px) {
  .p-home-benefits-list__text .heading__point::after {
    top: auto;
    bottom: -22px;
    right: 0;
    transform: none;
    width: 100%;
    height: 4px;
  }
}
.p-home-benefits-list__text .heading__point span {
  display: block;
  font-size: 8rem;
}
.p-home-benefits-list__text .heading > h3 {
  margin: initial;
  font-size: 3rem;
  font-weight: 700;
  line-height: var(--line-height-small);
}
@media (max-width: 768px) {
  .p-home-benefits-list__text .heading > h3 {
    font-size: 2.4rem;
  }
}
.p-home-benefits-list__text > p {
  margin: initial;
}
.p-home-benefits-list__text > p span {
  font-weight: 700;
  color: var(--color-accent);
}
.p-home-benefits-list__image {
  width: 40.7407407407%;
}
@media (max-width: 768px) {
  .p-home-benefits-list__image {
    width: 100%;
    margin: auto;
  }
}
.p-home-benefits-list__image img {
  border-radius: 20px;
}
@media (max-width: 768px) {
  .p-home-benefits-list__image img {
    border-radius: 10px;
    max-width: initial;
    width: 100%;
  }
}

.p-home-results {
  padding: 6rem 0 8rem;
}
@media (max-width: 768px) {
  .p-home-results {
    padding: 4rem 0;
  }
}
.p-home-results .c-heading-primary {
  margin-bottom: 3rem;
}
@media (max-width: 768px) {
  .p-home-results .c-heading-primary {
    margin-bottom: 2rem;
  }
}
.p-home-results .c-heading-primary + p {
  margin: 0 0 6rem;
  font-weight: 700;
  text-align: center;
}
@media (max-width: 768px) {
  .p-home-results .c-heading-primary + p {
    width: 85.7142857143%;
    margin: 0 auto 2rem;
    text-align: left;
  }
}
.p-home-results .c-heading-primary + p span {
  font-size: 1.125em;
  color: var(--color-quaternary);
}
.p-home-results-list {
  margin: initial;
  display: flex;
  justify-content: center;
  gap: 4.5rem;
}
@media (max-width: 1024px) {
  .p-home-results-list {
    gap: 2rem;
  }
}
@media (max-width: 768px) {
  .p-home-results-list {
    flex-direction: column;
    align-items: center;
  }
}
.p-home-results-list > div {
  width: min(330px, 100%);
}
@media (max-width: 768px) {
  .p-home-results-list > div {
    width: 100%;
  }
}
.p-home-results-list > div > dt {
  background-color: var(--color-quaternary);
  border-radius: 10px 10px 0 0;
  padding: 0.8rem;
  color: var(--color-white);
  font-size: 1.8rem;
  font-weight: 700;
  line-height: var(--line-height-small);
  text-align: center;
}
.p-home-results-list > div > dt strong {
  font-size: 1.3333em;
}
.p-home-results-list > div > dd {
  margin-left: 0;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.1;
  text-align: center;
}
.p-home-results-list__inner {
  background-color: #e5f9ff;
  padding: 2rem;
  padding-top: 1.5rem;
}
.p-home-results-list__inner .investment {
  margin: 0 0 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid currentColor;
}
.p-home-results-list__inner .investment strong {
  margin-left: 0.5rem;
  font-size: 3.4rem;
}
.p-home-results-list__inner .yield {
  margin: initial;
}
.p-home-results-list__inner .yield span {
  font-size: 2.8rem;
}
.p-home-results-list__inner .yield strong {
  margin-left: 0.5rem;
  font-size: 4.3rem;
  color: var(--color-quaternary);
}
.p-home-results-list__image {
  position: relative;
  border-radius: 0 0 10px 10px;
}
@media (max-width: 768px) {
  .p-home-results-list__image img {
    max-width: initial;
    width: 100%;
  }
}
.p-home-results-list__image .income {
  margin: initial;
  position: absolute;
  top: 10px;
  right: 10px;
  width: 103px;
}
.p-home-results-close {
  margin: 6rem 0 0;
  font-size: 4rem;
  font-weight: 700;
  line-height: var(--line-height-small);
  text-align: center;
  color: var(--color-quaternary);
}
@media (max-width: 768px) {
  .p-home-results-close {
    margin-top: 2rem;
    font-size: 2.4rem;
    text-align: left;
  }
}
.p-home-results-note {
  margin: initial;
  padding-left: initial;
  list-style: none;
  margin-top: 3rem;
  line-height: 1.875;
  text-align: center;
}
@media (max-width: 768px) {
  .p-home-results-note {
    margin-top: 2rem;
    font-size: 1.4rem;
    text-align: left;
  }
}
.p-home-results-note > li {
  text-indent: -1em;
  padding-left: 1em;
}

.p-home-cases {
  background-color: #fff5e6;
  padding: 6rem 0;
}
@media (max-width: 768px) {
  .p-home-cases {
    padding: 4rem 0 0;
  }
}
.p-home-cases > .l-container {
  --contents-width: 940;
}
.p-home-cases .c-heading-primary {
  margin-bottom: 4rem;
}
@media (max-width: 768px) {
  .p-home-cases .c-heading-primary {
    margin-bottom: 2rem;
  }
}
.p-home-cases-list {
  margin: initial;
  padding-left: initial;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6rem;
}
@media (max-width: 768px) {
  .p-home-cases-list {
    gap: 3rem;
  }
}
.p-home-cases-list > li {
  width: 440px;
  padding-left: 2rem;
}
@media (max-width: 768px) {
  .p-home-cases-list > li {
    padding-left: 0;
  }
}
.p-home-cases-list > li h3 {
  margin: 0 0 2rem;
  padding-left: 12rem;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: var(--line-height-small);
  color: var(--color-secondary);
}
@media (max-width: 768px) {
  .p-home-cases-list > li h3 {
    padding-left: 0;
    text-align: center;
  }
}
.p-home-cases-list__image {
  position: relative;
}
.p-home-cases-list__image .area {
  margin: initial;
  position: absolute;
  top: -100px;
  left: -20px;
  width: 120px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: var(--color-secondary);
  display: grid;
  place-content: center;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: var(--line-height-small);
  color: var(--color-white);
  text-align: center;
}
@media (max-width: 768px) {
  .p-home-cases-list__image .area {
    top: -32px;
    left: 0;
    width: 80px;
    font-size: 1.6rem;
  }
}
.p-home-cases-list__image img {
  box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.2);
}
.p-home-cases-note {
  margin: initial;
  padding-left: initial;
  list-style: none;
  margin-top: 3rem;
  line-height: 1.875;
  text-align: center;
}
@media (max-width: 768px) {
  .p-home-cases-note {
    margin-top: 2rem;
    font-size: 1.4rem;
    text-align: left;
  }
}
.p-home-cases-note > li {
  text-indent: -1em;
  padding-left: 1em;
}
.p-home-cases-close {
  margin: 6rem 0 0;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: var(--line-height-small);
  text-align: center;
}
@media (max-width: 768px) {
  .p-home-cases-close {
    margin-top: 2rem;
    font-size: 2rem;
  }
}
.p-home-cases-close strong {
  text-decoration-color: var(--color-accent);
  font-size: 1.142em;
  font-weight: 700;
  color: var(--color-quaternary);
}
@media (max-width: 768px) {
  .p-home-cases-close strong {
    font-size: 3rem;
  }
}
.p-home-cases .c-cta {
  margin-top: 6rem;
}
@media (max-width: 768px) {
  .p-home-cases .c-cta {
    margin-top: 4rem;
  }
}

.p-home-flow {
  background: url(../images/home_flow_image01.webp) calc(50% - 217.5px - 105px) 8rem no-repeat, url(../images/home_flow_image02.webp) calc(50% + 54px + 366px) 6.5rem no-repeat;
  padding: 6rem 0;
}
@media (max-width: 768px) {
  .p-home-flow {
    background: none;
    padding: 4rem 0;
  }
}
.p-home-flow > .l-container {
  --contents-width: 930;
}
.p-home-flow .c-heading-primary {
  margin-bottom: 4rem;
}
@media (max-width: 768px) {
  .p-home-flow .c-heading-primary {
    margin-bottom: 2rem;
  }
}
.p-home-flow-list {
  margin: initial;
  padding-left: initial;
  list-style: none;
}
.p-home-flow-list > li {
  --list-color: var(--color-tertiary);
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 3rem;
  min-height: 160px;
}
@media (max-width: 768px) {
  .p-home-flow-list > li {
    gap: 2rem;
  }
}
.p-home-flow-list > li + li {
  margin-top: 4rem;
}
@media (max-width: 768px) {
  .p-home-flow-list > li + li {
    margin-top: 2rem;
  }
}
.p-home-flow-list > li:not(:last-child)::before {
  content: "";
  position: absolute;
  top: 100px;
  left: 50px;
  z-index: -1;
  width: 1px;
  height: 100%;
  background-color: var(--color-tertiary);
}
@media (max-width: 768px) {
  .p-home-flow-list > li:not(:last-child)::before {
    left: 30px;
  }
}
.p-home-flow-list > li:last-child {
  --list-color: var(--color-secondary);
}
.p-home-flow-list > li:last-child .p-home-flow-list__text > p {
  background-color: #fff5e6;
  box-shadow: 0px 4px 0px #f79305;
}
.p-home-flow-list__step {
  position: relative;
  width: 100px;
  padding-top: 2px;
}
@media (max-width: 768px) {
  .p-home-flow-list__step {
    width: 60px;
  }
}
.p-home-flow-list__step::before {
  content: "";
  position: absolute;
  top: -5px;
  left: 0;
  width: 100%;
  height: calc(100% + 15px);
  background-color: var(--color-white);
  z-index: -1;
}
@media (max-width: 768px) {
  .p-home-flow-list__step::before {
    top: -20px;
    height: calc(100% + 30px);
  }
}
.p-home-flow-list__step > p {
  margin: 0 0 0.5rem;
  font-size: 2rem;
  font-family: var(--font-family-accent);
  font-weight: 700;
  line-height: var(--line-height-small);
  text-align: center;
  color: var(--list-color);
}
@media (max-width: 768px) {
  .p-home-flow-list__step > p {
    font-size: 1.6rem;
  }
}
.p-home-flow-list__text {
  flex: 1;
}
.p-home-flow-list__text > h3 {
  margin: 0 0 1.5rem;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: var(--line-height-small);
  color: var(--list-color);
}
@media (max-width: 768px) {
  .p-home-flow-list__text > h3 {
    margin-bottom: 1rem;
    font-size: 2.4rem;
  }
}
.p-home-flow-list__text > p {
  margin: initial;
  background-color: #e5f9ff;
  border-radius: 20px;
  box-shadow: 0px 4px 0px #a0e9f0;
  padding: 2.5rem 3rem;
}
@media (max-width: 768px) {
  .p-home-flow-list__text > p {
    border-radius: 10px;
    padding: 1.5rem 2rem;
  }
}

.p-home-container01 {
  background: url(../images/bg01.webp) center 0 repeat fixed;
}

.p-home-voices {
  padding-top: 6rem;
}
@media (max-width: 768px) {
  .p-home-voices {
    padding-top: 4rem;
  }
}
.p-home-voices > .l-container {
  --contents-width: 800;
}
.p-home-voices .c-heading-primary {
  margin-bottom: 3rem;
  position: relative;
}
@media (max-width: 768px) {
  .p-home-voices .c-heading-primary {
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto 2rem;
  }
}
.p-home-voices .c-heading-primary::before {
  content: "";
  position: absolute;
  top: 0;
  right: calc(50% + 250px);
  width: 83px;
  aspect-ratio: 83/110;
  background: url(../images/home_voices_image01.webp) center/contain no-repeat;
}
@media (max-width: 768px) {
  .p-home-voices .c-heading-primary::before {
    right: calc(100% + 20px);
    width: 43px;
  }
}
.p-home-voices .c-heading-primary + p {
  margin: 0 0 6rem;
  font-weight: 700;
  text-align: center;
}
@media (max-width: 768px) {
  .p-home-voices .c-heading-primary + p {
    margin: 0 auto 4rem;
    width: 85.7142857143%;
    text-align: left;
  }
}
.p-home-voices .c-heading-primary + p span {
  font-size: 1.125em;
  color: var(--color-quaternary);
}
.p-home-voices-content {
  position: relative;
}
.p-home-voices-content::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(3deg);
  width: 100%;
  height: 100%;
  background-color: #a0e9f0;
  box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.2);
}
.p-home-voices-content + .p-home-voices-content {
  margin-top: 5rem;
}
@media (max-width: 768px) {
  .p-home-voices-content + .p-home-voices-content {
    margin-top: 4rem;
  }
}
.p-home-voices-content__inner {
  position: relative;
  z-index: 1;
  background-color: var(--color-white);
  padding: 3rem;
  padding-top: 2rem;
}
@media (max-width: 768px) {
  .p-home-voices-content__inner {
    padding: 2rem;
    padding-top: 1.5rem;
  }
}
.p-home-voices-content h3 {
  margin: 0 0 1.5rem;
  background: url(../images/dotted01.webp) 0 bottom repeat-x;
  padding-bottom: 2rem;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: var(--line-height-small);
  text-align: center;
}
@media (max-width: 768px) {
  .p-home-voices-content h3 {
    padding-bottom: 1.5rem;
    font-size: 2rem;
  }
}
.p-home-voices-content__owner {
  margin: 0 0 1.5rem;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: var(--line-height-small);
  text-align: center;
  color: var(--color-quaternary);
}
.p-home-voices-content__comment p {
  margin: initial;
}

.p-home-qa {
  padding: 10rem 0 6rem;
}
@media (max-width: 768px) {
  .p-home-qa {
    padding: 6rem 0 4rem;
  }
}
.p-home-qa > .l-container {
  --contents-width: 800;
}
.p-home-qa .c-heading-primary {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 5rem;
  position: relative;
  letter-spacing: 0;
}
@media (max-width: 768px) {
  .p-home-qa .c-heading-primary {
    margin-bottom: 4rem;
  }
}
.p-home-qa .c-heading-primary::before, .p-home-qa .c-heading-primary::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  aspect-ratio: 44/76;
  background: center/contain no-repeat;
}
@media (max-width: 768px) {
  .p-home-qa .c-heading-primary::before, .p-home-qa .c-heading-primary::after {
    width: 34px;
  }
}
.p-home-qa .c-heading-primary::before {
  background-image: url(../images/home_qa_image01.webp);
  right: calc(100% + 20px);
}
.p-home-qa .c-heading-primary::after {
  background-image: url(../images/home_qa_image02.webp);
  left: calc(100% + 25px);
}
.p-home-qa-list {
  margin: initial;
}
.p-home-qa-list > div + div {
  margin-top: 3.5rem;
}
.p-home-qa-list > div > dt,
.p-home-qa-list > div > dd {
  position: relative;
}
.p-home-qa-list > div > dt::before,
.p-home-qa-list > div > dd::before {
  position: absolute;
  font-size: 3rem;
  font-family: var(--font-family-accent);
  line-height: 1;
}
.p-home-qa-list > div > dt {
  margin-bottom: 2rem;
  padding-left: 3.5rem;
  font-size: 2rem;
  font-weight: 700;
  line-height: var(--line-height-small);
  color: var(--color-quaternary);
}
@media (max-width: 768px) {
  .p-home-qa-list > div > dt {
    margin-bottom: 1rem;
  }
}
.p-home-qa-list > div > dt::before {
  content: "Q";
  top: -2px;
  left: 0;
}
.p-home-qa-list > div > dd {
  margin-left: 0;
  background-color: var(--color-white);
  padding: 1.5rem 2rem;
  padding-left: 5.5rem;
}
@media (max-width: 768px) {
  .p-home-qa-list > div > dd {
    padding: 1.5rem 1.5rem 2rem 5rem;
    line-height: 1.625;
  }
}
.p-home-qa-list > div > dd::before {
  content: "A";
  top: 14px;
  left: 2rem;
  color: var(--color-primary);
}

.p-home-contact {
  background-color: #fff5e6;
  padding: 6rem 0 8rem;
}
@media (max-width: 768px) {
  .p-home-contact {
    padding: 4rem 0;
  }
}
.p-home-contact__container {
  width: min(700px, 100%);
  margin: auto;
  padding-top: 8rem;
}
@media (max-width: 768px) {
  .p-home-contact__container {
    padding-top: 4rem;
  }
}
.p-home-contact-logo {
  margin-bottom: 4rem;
}
.p-home-contact-logo img {
  width: 114px;
  margin: auto;
}
.p-home-contact .c-heading-primary {
  margin-bottom: 6rem;
  letter-spacing: 0;
}
@media (max-width: 768px) {
  .p-home-contact .c-heading-primary {
    margin-bottom: 5rem;
  }
}

.p-home-company {
  padding: 6rem 0 10rem;
}
@media (max-width: 768px) {
  .p-home-company {
    padding: 4rem 0 8rem;
  }
}
.p-home-company > .l-container {
  --contents-width: 700;
}
.p-home-company .c-heading-primary {
  margin-bottom: 4rem;
  letter-spacing: 0;
}
@media (max-width: 768px) {
  .p-home-company .c-heading-primary {
    margin-bottom: 3rem;
  }
}
.p-home-company-info {
  margin: initial;
}
.p-home-company-info > div {
  display: flex;
  gap: 3.5rem;
  padding: 2rem 2.5rem;
}
@media (max-width: 768px) {
  .p-home-company-info > div {
    gap: 2rem;
    padding: 1.5rem 2rem;
  }
}
.p-home-company-info > div:nth-child(odd) {
  background-color: #fff5e6;
}
.p-home-company-info > div:nth-child(even) {
  background-color: var(--color-secondary);
}
.p-home-company-info > div > dt {
  min-width: 100px;
  font-weight: 700;
}
@media (max-width: 768px) {
  .p-home-company-info > div > dt {
    min-width: 80px;
  }
}
.p-home-company-info > div > dd {
  margin-left: 0;
  flex: 1;
}

.p-thanks {
  background: url(../images/bg02.webp) center 0 repeat fixed;
  padding: 6rem 0 10rem;
}
@media (max-width: 768px) {
  .p-thanks {
    padding: 4rem 0 8rem;
  }
}
.p-thanks .c-button-primary {
  margin-top: 3rem;
}
@media (max-width: 768px) {
  .p-thanks .c-button-primary {
    margin-top: 4rem;
  }
}

.p-thanks-heading {
  margin: 0 0 5rem;
  position: relative;
  padding-bottom: 3.5rem;
  text-align: center;
}
@media (max-width: 768px) {
  .p-thanks-heading {
    margin-bottom: 4rem;
  }
}
.p-thanks-heading::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 50px;
  height: 6px;
  background-color: var(--color-secondary);
  border-radius: 3px;
}
.p-thanks-heading > span {
  display: block;
  line-height: 1;
}
.p-thanks-heading > span.en {
  font-size: 6.4rem;
  font-family: var(--font-family-accent);
  font-weight: 700;
  color: var(--color-secondary);
}
@media (max-width: 768px) {
  .p-thanks-heading > span.en {
    font-size: 4rem;
  }
}
.p-thanks-heading > span.jp {
  margin-top: 3rem;
  font-size: 3.2rem;
  font-weight: 800;
}
@media (max-width: 768px) {
  .p-thanks-heading > span.jp {
    margin-top: 2rem;
    font-size: 2.4rem;
  }
}

.p-thanks-text p {
  margin: initial;
  font-size: 2.4rem;
  font-weight: 800;
  line-height: var(--line-height-small);
  text-align: center;
  color: var(--color-secondary);
}
@media (max-width: 768px) {
  .p-thanks-text p {
    font-size: 1.8rem;
  }
}

.p-thanks-contact {
  margin-top: 5rem;
}
@media (max-width: 768px) {
  .p-thanks-contact {
    margin-top: 4rem;
  }
}
.p-thanks-contact-heading {
  margin: 0 0 8rem;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.875;
  text-align: center;
}
@media (max-width: 768px) {
  .p-thanks-contact-heading {
    margin-bottom: 2rem;
  }
}
.p-thanks-contact-heading span {
  display: inline-block;
}
.p-thanks-contact-list {
  margin: initial;
  line-height: var(--line-height-small);
  text-align: center;
}
.p-thanks-contact-list > dt {
  margin: 0 0 2rem;
  font-size: 2.8rem;
  font-weight: 800;
  color: var(--color-primary);
}
@media (max-width: 768px) {
  .p-thanks-contact-list > dt {
    margin-bottom: 1rem;
    font-size: 2rem;
  }
}
.p-thanks-contact-list > dd {
  margin-left: 0;
}
.p-thanks-contact-list > dd .number {
  margin: auto;
  width: -moz-fit-content;
  width: fit-content;
  display: flex;
  align-items: center;
  gap: 1.5rem;
  font-size: 4.2rem;
  font-weight: 800;
}
@media (max-width: 768px) {
  .p-thanks-contact-list > dd .number {
    gap: 1rem;
    font-size: 3rem;
    text-decoration: none;
    color: inherit;
  }
}
.p-thanks-contact-list > dd .number .icon-tel {
  display: block;
  width: 38px;
  aspect-ratio: 1/1;
  background: url(../images/icon_tel.svg) center/contain no-repeat;
}
@media (max-width: 768px) {
  .p-thanks-contact-list > dd .number .icon-tel {
    width: 28px;
  }
}
.p-thanks-contact-list > dd .time {
  margin: 1rem 0 0;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.12em;
}
@media (max-width: 768px) {
  .p-thanks-contact-list > dd .time {
    margin-top: 0.5rem;
    font-size: 1.6rem;
  }
}
.p-thanks-contact .c-button-primary {
  margin-top: 4rem;
  background-color: var(--color-primary);
  box-shadow: 0px 3px 0px #de3a4f;
}

@media (max-width: 768px) {
  .u-pc {
    display: none;
  }
}

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

.u-text-gradient {
  text-underline-offset: -5px;
  text-decoration-line: underline;
  text-decoration-style: initial;
  text-decoration-color: var(--color-secondary);
  text-decoration-thickness: 0.4em;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
}

.js-scroll.--slide {
  opacity: 0;
  visibility: hidden;
  transform: translateY(1rem);
  transition: 1s all;
}
.js-scroll.--slide.is-active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.js-scroll.--fade {
  opacity: 0;
  visibility: hidden;
  transition: 1s all;
}
.js-scroll.--fade.is-active {
  opacity: 1;
  visibility: visible;
}/*# sourceMappingURL=app.css.map */