@charset "UTF-8";
/*! destyle.css v3.0.0 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -webkit-tap-highlight-color: transparent; /* 3*/
}

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

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

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

address {
  font-style: inherit;
}

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

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  text-decoration: underline dotted; /* 2 */
}

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

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

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

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Replaced content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none; /* 1 */
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit; /* 2 */
}

/**
 * Reset radio and checkbox appearance to preserve their look in iOS.
 */
[type=checkbox] {
  -webkit-appearance: checkbox;
  appearance: checkbox;
}

[type=radio] {
  -webkit-appearance: radio;
  appearance: radio;
}

/**
 * Correct cursors for clickable elements.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
}

button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled {
  cursor: default;
}

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */
:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the outline style in Safari.
 */
[type=search] {
  outline-offset: -2px; /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

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

/*
 * Remove outline for editable content.
 */
[contenteditable]:focus {
  outline: auto;
}

/* Tables */
/* ============================================ */
/**
1. Correct table border color inheritance in all Chrome and Safari.
*/
table {
  border-color: inherit; /* 1 */
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}

@media (768px < width) {
  html {
    font-size: 0.5px;
  }
}
@media (width <= 768px) {
  html {
    font-size: 0.1282051282vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1200px) {
  html {
    font-size: 0.0416666667vw;
  }
}

html {
  height: 100%;
  margin: 0;
  padding: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
  -moz-font-feature-settings: "palt";
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  scroll-behavior: smooth;
}

body {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  color: var(--color-text);
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
  position: relative;
}
@media (768px < width) {
  body {
    margin-inline: auto;
  }
}
button,
a {
  color: inherit;
  transition: opacity 0.3s ease;
}
@media (768px < width) {
  button:hover,
  a:hover {
    opacity: 0.78;
  }
}

button,
[role=tab],
[role=button],
[role=banner] {
  cursor: pointer;
}

* {
  box-sizing: border-box;
}

[v-cloak] {
  opacity: 0;
  pointer-events: none;
}

em {
  font-style: normal;
}

body {
  font-family: "Noto Sans JP", sans-serif;
}

.l-header {
  position: fixed;
  z-index: 20;
  top: 0;
  left: 0;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 150rem;
  background: #fff;
}
@media (768px < width) {
  .l-header {
    padding: 0 29rem 0 27rem;
  }
}
@media (width <= 768px) {
  .l-header {
    justify-content: center;
  }
}
.l-header__logo {
  width: 403rem;
  height: 100rem;
}
@media (width <= 768px) {
  .l-header__logo {
    width: 402rem;
    height: 107rem;
  }
}
.l-header__logo img {
  width: 100%;
  height: 100%;
}

.l-footer {
  width: 100%;
  padding: 152rem 0 23rem;
  background: rgb(21, 46, 97);
}
@media (width <= 768px) {
  .l-footer {
    padding: 77rem 0 78rem;
  }
}
@media (768px < width) {
  .l-footer__container {
    width: min(1240rem, 100vw - 100rem);
    margin-inline: auto;
  }
}
@media (width <= 768px) {
  .l-footer__container {
    padding-left: 80rem;
    padding-right: 55rem;
  }
}
.l-footer__title {
  font-size: 44rem;
  color: rgb(255, 255, 255);
  font-weight: bold;
  line-height: 1.636;
}
@media (width <= 768px) {
  .l-footer__title {
    font-size: 32rem;
    line-height: 1.125;
  }
}
.l-footer__list {
  padding-top: 44rem;
  margin-bottom: 113rem;
}
@media (width <= 768px) {
  .l-footer__list {
    padding-top: 35rem;
    margin-bottom: 79rem;
  }
}
.l-footer__row {
  font-size: 34rem;
  color: rgb(255, 255, 255);
  line-height: 1.765;
  font-weight: 400;
  display: flex;
  gap: 53rem;
}
@media (width <= 768px) {
  .l-footer__row {
    font-size: 26rem;
    line-height: 1.308;
    flex-direction: column;
    gap: 10rem;
    margin-bottom: 33rem;
  }
}
.l-footer__row dt {
  font-weight: 400;
  min-width: 160rem;
}
@media (width <= 768px) {
  .l-footer__row dt {
    font-weight: 500;
  }
}
@media (width <= 768px) {
  .l-footer__row dd {
    padding-left: 30rem;
  }
}
.l-footer__logo {
  width: 560rem;
  height: auto;
  margin: 0 auto 44rem;
}
@media (width <= 768px) {
  .l-footer__logo {
    width: 503rem;
    margin: 0 auto 58rem;
  }
}
.l-footer__logo img {
  width: 100%;
  height: 100%;
}
.l-footer__links {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 30rem;
  margin-bottom: 67rem;
}
@media (width <= 768px) {
  .l-footer__links {
    margin-bottom: 47rem;
  }
}
.l-footer__line {
  width: 1rem;
  height: 34rem;
  background: #fff;
}
.l-footer__link {
  font-size: 34rem;
  color: rgb(255, 255, 255);
  line-height: 1.765;
}
@media (width <= 768px) {
  .l-footer__link {
    font-size: 30rem;
    line-height: 2;
  }
}
.l-footer__copyright {
  font-size: 26rem;
  color: rgb(255, 255, 255);
  line-height: 2.308;
  text-align: center;
}
@media (width <= 768px) {
  .l-footer__copyright {
    font-size: 22rem;
    line-height: 1.364;
  }
}

@media (768px < width) {
  .l-container {
    width: min(2160rem, 100vw - 100rem);
    margin-inline: auto;
  }
}
@media (width <= 768px) {
  .l-container {
    padding: 0 55rem;
  }
}
@media (768px < width) {
  .l-container.--wide {
    width: min(2660rem, 100vw - 250rem);
    margin-inline: auto;
  }
}
@media (width <= 768px) {
  .l-container.--wide {
    padding: 0;
  }
}

.l-main {
  padding-top: 150rem;
  background: rgb(11, 178, 233);
}

@media (768px < width) {
  .l-content {
    width: min(1600rem, 100vw - 100rem);
    margin-inline: auto;
  }
}
.l-nav {
  height: 100%;
}
.l-nav__list {
  height: 100%;
  display: flex;
  align-items: center;
  gap: 40rem;
}
.l-nav__item {
  width: 430rem;
  height: 88rem;
}
.l-nav__item.--tel {
  width: fit-content;
  height: auto;
}
.l-nav__link {
  width: 100%;
  height: 100%;
  padding-left: 37rem;
  border-radius: 43rem;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 83rem;
  position: relative;
  font-size: 34rem;
  line-height: 1.2;
  font-weight: bold;
  color: #fff;
}
.l-nav__link.--red {
  background-color: rgb(196, 35, 54);
}
.l-nav__link.--green {
  background-color: rgb(15, 169, 88);
}
.l-nav__link.--tel {
  padding-left: 0;
  padding-bottom: 5rem;
  flex-direction: column;
  gap: 3rem;
  color: rgb(21, 46, 97);
}
.l-nav__link.--red::before, .l-nav__link.--green::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 24rem;
  width: 90%;
  height: 58rem;
  z-index: 1;
  background-color: rgba(255, 255, 255, 0.102);
  border-radius: 43rem;
}
@media (hover) {
  .l-nav__link:hover {
    scale: 1.05;
  }
}
.l-nav__image--button {
  width: 30rem;
  height: 30rem;
}
.l-nav__row {
  font-size: 24rem;
  line-height: 1.2;
  font-weight: 500;
  white-space: nowrap;
}
.l-nav__row.--row1 {
  font-size: 53rem;
  line-height: 1.2;
  display: flex;
  align-items: baseline;
  gap: 14rem;
  font-weight: bold;
}
.l-nav__image--tel {
  width: 32rem;
  height: 42rem;
}

.c-button {
  width: 430rem;
  height: 88rem;
  padding-left: 37rem;
  border-radius: 43rem;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 40px;
  position: relative;
  font-size: 13.5px;
  line-height: 1.2;
  font-weight: bold;
  color: #fff;
  background-color: rgb(196, 35, 54);
}
@media (width <= 768px) {
  .c-button {
    width: 570rem;
    height: 98rem;
    font-size: 40rem;
  }
}
.c-button.--green {
  background-color: rgb(15, 169, 88);
}
.c-button::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 24rem;
  width: 90%;
  height: 58rem;
  z-index: 1;
  background-color: rgba(255, 255, 255, 0.102);
  border-radius: 43rem;
}
@media (width <= 768px) {
  .c-button::before {
    left: 16rem;
  }
}
@media (width <= 768px) {
  .c-button img {
    width: 38rem;
    height: 38rem;
  }
}
@media (hover) {
  .c-button:hover {
    scale: 1.05;
  }
}

.c-cost {
  width: 100%;
  display: flex;
  gap: 50rem;
  justify-content: center;
}
@media (width <= 768px) {
  .c-cost {
    gap: 10rem;
  }
}
.c-cost__item {
  width: 50%;
  background: #fff;
}
@media (768px < width) {
  .c-cost__item {
    border: 10rem solid rgb(219, 219, 219);
    border-radius: 20rem;
    padding: 54rem 50rem 56rem;
  }
}
@media (width <= 768px) {
  .c-cost__item {
    border: 6rem solid rgb(219, 219, 219);
    border-radius: 10rem;
    padding: 16rem 14rem 12rem;
  }
}
.c-cost__item.--blue {
  border: 10rem solid rgb(61, 189, 220);
}
@media (width <= 768px) {
  .c-cost__item.--blue {
    border: 6rem solid rgb(61, 189, 220);
  }
}
.c-cost__head {
  width: 100%;
  height: 216rem;
  padding: 80rem 0;
  border-radius: 8rem;
  display: flex;
  justify-content: center;
  background: rgb(219, 219, 219);
  font-size: 60rem;
  color: rgb(50, 29, 15);
  font-weight: bold;
  line-height: 1.2;
}
@media (768px < width) {
  .c-cost__head {
    margin-bottom: 46rem;
  }
}
@media (width <= 768px) {
  .c-cost__head {
    height: 184rem;
    padding: 78rem;
    font-size: 30rem;
    text-align: center;
    margin-bottom: 19rem;
  }
}
.c-cost__head.--blue {
  padding: 50rem 0;
  color: rgb(255, 222, 0);
  background: rgb(61, 189, 220);
}
@media (width <= 768px) {
  .c-cost__head.--blue {
    padding: 23rem 0;
  }
}
.c-cost__head.--blue .--small {
  font-size: 40rem;
  line-height: 1;
  color: #fff;
}
@media (width <= 768px) {
  .c-cost__head.--blue .--small {
    font-size: 24rem;
  }
}
.c-cost__list {
  width: 100%;
  display: flex;
  flex-direction: column;
}
.c-cost__row {
  width: 100%;
  display: flex;
  justify-content: space-between;
  border-bottom: 1rem solid rgb(219, 219, 219);
  padding-bottom: 12rem;
  margin-bottom: 47rem;
}
@media (768px < width) {
  .c-cost__row {
    align-items: center;
  }
}
@media (width <= 768px) {
  .c-cost__row {
    margin-bottom: 21rem;
    flex-direction: column;
  }
}
.c-cost__row:has(.c-cost__label) {
  display: grid;
}
@media (768px < width) {
  .c-cost__row:has(.c-cost__label) {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 96rem;
    gap: 16rem 0;
  }
}
@media (width <= 768px) {
  .c-cost__row:has(.c-cost__label) {
    grid-template-columns: 1fr auto;
    grid-template-rows: 1fr 75rem;
    gap: 7rem 0;
  }
}
.c-cost__row:last-child {
  border-bottom: 6rem solid rgb(219, 219, 219);
}
.c-cost__title {
  font-size: 44rem;
  color: rgb(50, 29, 15);
  line-height: 1.2;
  font-weight: 500;
}
@media (width <= 768px) {
  .c-cost__title {
    font-size: 26rem;
    line-height: 1;
  }
}
.c-cost__title:has(.c-cost__label) {
  grid-area: 1/1;
}
.c-cost__description {
  font-size: 56rem;
  color: rgb(50, 29, 15);
  font-weight: bold;
  line-height: 1.2;
  text-align: right;
}
@media (width <= 768px) {
  .c-cost__description {
    font-size: 28rem;
    line-height: 1.5;
  }
}
.c-cost__description:not(.--blue .c-cost__description)::after {
  content: "円";
  font-size: 36rem;
}
@media (width <= 768px) {
  .c-cost__description:not(.--blue .c-cost__description)::after {
    font-size: 18rem;
  }
}
.c-cost__description:has(+ .c-cost__label) {
  grid-area: 1/2;
}
@media (width <= 768px) {
  .c-cost__description:has(+ .c-cost__label) {
    padding-top: 20rem;
  }
}
.--blue .c-cost__description {
  color: rgb(61, 189, 220);
}
@media (768px < width) {
  .--blue .c-cost__description .--marker {
    background: linear-gradient(transparent 65%, transparent 65%, #ffde00 65%, #ffde00 90%, transparent 90%);
  }
}
.--blue .c-cost__description .--marker::after {
  content: "円";
  font-size: 36rem;
}
@media (width <= 768px) {
  .--blue .c-cost__description .--marker::after {
    font-size: 18rem;
  }
}
.c-cost__label {
  grid-area: 2/1;
  grid-column: span 2;
  font-size: 51rem;
  color: rgb(61, 189, 220);
  font-weight: bold;
  line-height: 1.154;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (768px < width) {
  .c-cost__label {
    padding: 17rem 0;
  }
}
@media (width <= 768px) {
  .c-cost__label {
    font-size: 26rem;
    line-height: 1.154;
    text-align: center;
  }
}
.c-cost__label:has(p) {
  background-color: rgb(231, 247, 248);
}
@media (width <= 768px) {
  .c-cost__label .--marker {
    background: linear-gradient(transparent 65%, #ffde00 50%);
  }
}
.c-cost__text {
  font-size: 46rem;
  color: rgb(50, 29, 15);
  font-weight: bold;
  line-height: 1.375;
  text-align: center;
}
@media (width <= 768px) {
  .c-cost__text {
    font-size: 26rem;
    text-align: left;
  }
}
.--blue .c-cost__text {
  color: rgb(61, 189, 220);
  margin-bottom: 33rem;
}
@media (width <= 768px) {
  .--blue .c-cost__text {
    margin-bottom: 7.5rem;
  }
}
.c-cost__note {
  font-size: 28rem;
  color: rgb(50, 29, 15);
  line-height: 1.571;
}
@media (width <= 768px) {
  .c-cost__note {
    font-size: 20rem;
    text-indent: -1em;
    padding-left: 1em;
  }
}

.c-table {
  background: #fff;
  border-radius: 20rem;
  padding: 49rem 46rem 42rem;
}
@media (width <= 768px) {
  .c-table {
    border-radius: 10rem;
    padding: 33rem 31rem 28rem;
  }
}
.c-table__caption {
  font-size: 52rem;
  color: rgb(21, 46, 97);
  font-weight: bold;
  line-height: 1.423;
  text-align: center;
}
@media (width <= 768px) {
  .c-table__caption {
    font-size: 34rem;
  }
}
.c-table__inner {
  width: 100%;
  padding-top: 24rem;
}
@media (width <= 768px) {
  .c-table__inner {
    padding-top: 15rem;
  }
}
.c-table__row {
  border-top: 2rem solid #dbdbdb;
  padding: 0 16rem 0 33rem;
  font-size: 31rem;
  color: rgb(54, 54, 54);
  font-weight: bold;
  line-height: 2.387;
}
@media (width <= 768px) {
  .c-table__row {
    font-size: 20rem;
    padding: 0 22rem 0 30rem;
  }
}
.c-table__row.--head {
  background-color: rgb(248, 248, 248);
  font-size: 28rem;
  color: rgb(54, 54, 54);
  line-height: 2.643;
}
@media (width <= 768px) {
  .c-table__row.--head {
    font-size: 18rem;
  }
}
.c-table__row.--head th {
  text-align: center;
}
.c-table__row.--blue {
  background-color: rgb(239, 249, 253);
}
.c-table__row .--midium {
  font-weight: 500;
}
.c-table__row td {
  text-align: center;
}
.c-table__row td:nth-child(2) {
  text-align: right;
}
.c-table__row th:nth-child(1),
.c-table__row td:nth-child(1) {
  width: 240rem;
}
@media (width <= 768px) {
  .c-table__row th:nth-child(1),
  .c-table__row td:nth-child(1) {
    width: 166rem;
  }
}
.c-table__row th:nth-child(2),
.c-table__row td:nth-child(2) {
  width: 265rem;
}
@media (width <= 768px) {
  .c-table__row th:nth-child(2),
  .c-table__row td:nth-child(2) {
    width: 170rem;
  }
}
.c-table__row th:nth-child(3),
.c-table__row td:nth-child(3) {
  width: 175rem;
}
@media (width <= 768px) {
  .c-table__row th:nth-child(3),
  .c-table__row td:nth-child(3) {
    width: 110rem;
  }
}
.c-table__row th:nth-child(4),
.c-table__row td:nth-child(4) {
  width: 226rem;
}
@media (width <= 768px) {
  .c-table__row th:nth-child(4),
  .c-table__row td:nth-child(4) {
    width: 108rem;
  }
}

.home-hero {
  position: relative;
  overflow: hidden;
  opacity: 0;
}
@media (768px < width) {
  .home-hero {
    background: url(../images/home/hero-bg.png?v=3) no-repeat;
    background-size: cover;
    background-position: top -5.1666666667vw right -0.6666666667vw;
    padding-top: 4.3333333333vw;
  }
}
@media (width <= 768px) {
  .home-hero {
    padding-top: 39rem;
    background: url(../images/home/hero-bg-sp.png?v=2) no-repeat;
    background-position: top -81px right 0;
    background-size: cover;
  }
}
.home-hero__container {
  width: 100%;
  position: relative;
}
@media (768px < width) {
  .home-hero__container {
    padding-left: 7.4666666667vw;
  }
}
.home-hero__title {
  color: rgb(255, 255, 255);
  font-weight: bold;
  opacity: 0;
}
@media (768px < width) {
  .home-hero__title {
    font-size: 6.4666666667vw;
    line-height: 1.139;
    margin-bottom: 2.3333333333vw;
  }
}
@media (width <= 768px) {
  .home-hero__title {
    font-size: 70rem;
    line-height: 1.286;
    text-align: center;
    margin-bottom: 44rem;
  }
}
.home-hero__title .--yellow {
  width: 59.8666666667vw;
  height: auto;
}
@media (width <= 768px) {
  .home-hero__title .--yellow {
    width: 750rem;
  }
}
.home-hero__comment {
  width: 38.5333333333vw;
  opacity: 0;
}
@media (768px < width) {
  .home-hero__comment {
    height: 26.6vw;
    margin-bottom: -2vw;
  }
}
@media (width <= 768px) {
  .home-hero__comment {
    width: 751rem;
    height: auto;
    margin: 0 auto 44rem;
  }
}
.home-hero__comment img {
  width: 100%;
  height: 100%;
}
@media (768px < width) {
  .home-hero__comment img {
    aspect-ratio: 1156/798;
  }
}
@media (width <= 768px) {
  .home-hero__comment img {
    aspect-ratio: 751/172;
  }
}
.home-hero__people {
  height: auto;
  position: absolute;
  opacity: 0;
}
@media (768px < width) {
  .home-hero__people {
    width: 20.9666666667vw;
    top: -3.3333333333vw;
    right: 8.5vw;
  }
}
@media (width <= 768px) {
  .home-hero__people {
    width: 260rem;
    bottom: -495rem;
    right: -10rem;
    z-index: 3;
  }
}
.home-hero__people img {
  width: 100%;
  height: 100%;
}
@media (768px < width) {
  .home-hero__people img {
    aspect-ratio: 629/1017;
  }
}
@media (width <= 768px) {
  .home-hero__people img {
    aspect-ratio: 260/425;
  }
}
.home-hero__note {
  position: absolute;
  bottom: 0.8666666667vw;
  right: 0.9333333333vw;
  font-size: 0.9333333333vw;
  font-weight: 500;
  color: rgb(255, 255, 255);
  line-height: 1.2;
  text-shadow: #000 1px 0 10px;
}
@media (width <= 768px) {
  .home-hero__note {
    font-size: 22rem;
    bottom: 20rem;
    left: 20rem;
  }
}
.home-hero__cv {
  position: absolute;
  top: 26vw;
  right: -16vw;
  z-index: 2;
  width: 68.6666666667vw;
  height: 16.4vw;
  background-color: rgb(255, 222, 0);
  border-radius: 8.2vw;
  padding: 1.6666666667vw 0 1.6666666667vw 6.2vw;
  display: flex;
  justify-content: start;
  align-items: center;
  opacity: 0;
  gap: 2.4vw;
}
@media (width <= 768px) {
  .home-hero__cv {
    width: 871rem;
    height: 290rem;
    border-radius: 31rem;
    padding: 0 0 0 41rem;
    top: 710rem;
    right: -110rem;
    gap: 26rem;
  }
}
.home-hero__inner--cv {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.9333333333vw;
}
@media (width <= 768px) {
  .home-hero__inner--cv {
    gap: 13rem;
  }
}
.home-hero__inner--cv::before {
  /*content: '';
  width: vw(1906rem);
  height: vw(238rem);
  background: url(../images/home/confetti.png) no-repeat;
  background-size: cover;
  background-position: top;
  position: absolute;
  top: vw(-50rem);
  left: vw(-186rem);
  z-index: -1;
  @include sp {
    width: 953rem;
    height: 119rem;
  }*/
}
.home-hero__text {
  font-size: 2.2vw;
  color: rgb(69, 33, 16);
  font-weight: bold;
  line-height: 1.2;
  grid-area: 1/1;
  display: flex;
  align-items: center;
  gap: 0.4vw;
  background: rgb(255, 222, 0);
}
@media (width <= 768px) {
  .home-hero__text {
    font-size: 39rem;
    gap: 14rem;
  }
}
.home-hero__text::before {
  content: "";
  width: 0.2333333333vw;
  height: 2.2666666667vw;
  background-color: rgb(69, 33, 16);
  border-radius: 1.6666666667vw;
  transform: rotate(-25deg);
}
@media (width <= 768px) {
  .home-hero__text::before {
    width: 4rem;
    height: 34rem;
    border-radius: 20rem;
  }
}
.home-hero__text::after {
  content: "";
  width: 0.2333333333vw;
  height: 2.2666666667vw;
  background-color: rgb(69, 33, 16);
  border-radius: 1.6666666667vw;
  transform: rotate(25deg);
}
@media (width <= 768px) {
  .home-hero__text::after {
    width: 4rem;
    height: 34rem;
    border-radius: 20rem;
  }
}
@media (768px < width) {
  .home-hero__button {
    width: 26.4666666667vw;
    height: 4.9333333333vw;
    border-radius: 2.4666666667vw;
    font-size: 2.3333333333vw;
    padding-left: 1vw;
    gap: 5.6666666667vw;
  }
}
@media (width <= 768px) {
  .home-hero__button {
    width: 447rem;
    height: 74rem;
    border-radius: 41rem;
    font-size: 40rem;
    margin-bottom: 18rem;
    padding-left: 30rem;
    gap: 96rem;
  }
}
.home-hero__button:before {
  width: 95%;
}
@media (768px < width) {
  .home-hero__button:before {
    height: 70%;
    border-radius: 100vmax;
  }
}
@media (width <= 768px) {
  .home-hero__button:before {
    height: 50rem;
  }
}
@media (768px < width) {
  .home-hero__button img {
    width: 1.7333333333vw;
    height: 1.7333333333vw;
    margin: 0 -20rem 0 30rem;
  }
}
@media (width <= 768px) {
  .home-hero__button img {
    width: 26rem;
    height: 26rem;
  }
}
.home-hero__link {
  color: rgb(51, 51, 51);
  line-height: 1.2;
  font-size: 2.2vw;
  text-align: center;
  text-decoration: underline;
  font-weight: 500;
}
@media (768px < width) {
  .home-hero__link {
    text-underline-offset: 0.4666666667vw;
    text-decoration-thickness: 1.5px;
  }
}
@media (width <= 768px) {
  .home-hero__link {
    font-size: 34rem;
    text-underline-offset: 7rem;
  }
}
@media (768px < width) {
  .home-hero__image--badge {
    width: 15.2vw;
    height: 13.3333333333vw;
    aspect-ratio: 456/400;
  }
}
@media (width <= 768px) {
  .home-hero__image--badge {
    width: 210rem;
    height: auto;
    aspect-ratio: 210/186;
    position: absolute;
    top: -250rem;
    right: 130rem;
    z-index: 2;
  }
}
.home-hero__logo {
  opacity: 0;
}
@media (width <= 768px) {
  .home-hero__logo {
    font-size: 39rem;
    color: rgb(255, 255, 255);
    font-weight: bold;
    line-height: 1.2;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14.4rem;
    margin-bottom: 470rem;
    padding-left: 31rem;
  }
}
.home-hero__logo .--icon {
  width: 492rem;
  height: auto;
  aspect-ratio: 492/83;
}
.home-hero__name {
  position: absolute;
  line-height: 1.2;
  color: rgb(255, 255, 255);
  font-weight: 500;
  opacity: 0;
}
@media (768px < width) {
  .home-hero__name {
    font-size: 1.3333333333vw;
    bottom: 21.3333333333vw;
    right: 29vw;
  }
}
@media (width <= 768px) {
  .home-hero__name {
    font-size: 32rem;
    bottom: 400rem;
    right: 12rem;
  }
}

.home-campaign {
  background: rgb(255, 222, 0);
  position: relative;
  padding: 86rem 0;
}
@media (width <= 768px) {
  .home-campaign {
    padding: 30rem;
  }
}
.home-campaign::before {
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  z-index: 0;
  background: url(../images/home/confetti.png) repeat;
  background-size: contain;
}
@media (width <= 768px) {
  .home-campaign::before {
    left: 0;
  }
}
.home-campaign__container {
  position: relative;
  background: #fff;
  border-radius: 20rem;
  padding: 242rem 0 52rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
}
@media (width <= 768px) {
  .home-campaign__container {
    padding: 134rem 0 29rem;
    border-radius: 10rem;
  }
}
.home-campaign__label {
  position: absolute;
  top: -48rem;
  left: 50%;
  transform: translateX(-50%);
}
@media (768px < width) {
  .home-campaign__label {
    width: 1018rem;
    height: 264rem;
    aspect-ratio: 1018/264;
  }
}
@media (width <= 768px) {
  .home-campaign__label {
    width: 509rem;
    height: auto;
    top: -11rem;
    aspect-ratio: 245/63;
  }
}
.home-campaign__title {
  width: 1705rem;
  height: auto;
}
@media (width <= 768px) {
  .home-campaign__title {
    width: 501rem;
  }
}
.home-campaign__title img {
  width: 100%;
  height: 100%;
}
@media (768px < width) {
  .home-campaign__title img {
    aspect-ratio: 852/97;
  }
}
@media (width <= 768px) {
  .home-campaign__title img {
    aspect-ratio: 241/69;
  }
}
.home-campaign__text {
  font-size: 30rem;
  color: rgb(0, 0, 0);
  line-height: 1.2;
  font-weight: 400;
  display: flex;
  align-items: center;
}
@media (width <= 768px) {
  .home-campaign__text {
    font-size: 24rem;
  }
}
.home-campaign__link {
  text-decoration: underline;
}

.home-about {
  background: url(../images/home/worries-bg.png) repeat;
}
@media (768px < width) {
  .home-about__container {
    --padding-bottom-extend: 200rem;
    padding: 141rem 0 calc(38rem + var(--padding-bottom-extend));
    background: url(../images/home/about-bg.png) no-repeat;
    background-size: 100% 100%;
    --height: 749rem;
    clip-path: circle(200vw at 50% calc(-200vw + var(--height) * 2 + var(--padding-bottom-extend)));
  }
}
@media (width <= 768px) {
  .home-about__container {
    --padding-bottom-extend: 0rem;
    padding: 71rem 0 420rem;
    position: relative;
    background: url(../images/home/about-bg-sp.png) no-repeat;
    background-size: cover;
    display: flex;
    flex-direction: column;
    align-items: center;
    --height: 1225rem + 60rem;
    clip-path: circle(400vw at 50% calc(-400vw + var(--height) * 2 + var(--padding-bottom-extend)));
  }
}
.home-about__title {
  display: inline-block;
  width: 1582rem;
  height: 239rem;
  margin-bottom: 60rem;
}
@media (width <= 768px) {
  .home-about__title {
    width: 670rem;
    height: auto;
    margin-bottom: 39rem;
  }
}
.home-about__title img {
  width: 100%;
  height: 100%;
}
@media (768px < width) {
  .home-about__title img {
    aspect-ratio: 1582/239;
  }
}
@media (width <= 768px) {
  .home-about__title img {
    aspect-ratio: 322/48;
  }
}
.home-about__box {
  display: flex;
  justify-content: space-between;
}
.home-about__col {
  width: 50%;
}
@media (width <= 768px) {
  .home-about__col {
    width: 100%;
  }
}
.home-about__text {
  font-size: 48rem;
  color: rgb(255, 255, 255);
  line-height: 1.958;
  font-weight: 900;
}
@media (width <= 768px) {
  .home-about__text {
    font-size: 28rem;
    line-height: 1.786;
  }
}
.home-about__text .--yellow {
  font-size: 54rem;
  color: #fcff00;
}
@media (width <= 768px) {
  .home-about__text .--yellow {
    font-size: 36rem;
  }
}
.home-about__list {
  width: 100%;
  padding-top: 31rem;
  display: flex;
  flex-direction: column;
  gap: 20rem;
}
@media (width <= 768px) {
  .home-about__list {
    padding-top: 53rem;
  }
}
.home-about__item {
  width: 100%;
  height: 148rem;
  background: #fff;
  border-radius: 10rem;
  padding-left: 46rem;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 18rem;
  font-size: 56rem;
  color: rgb(0, 6, 91);
  font-weight: bold;
}
@media (768px < width) {
  .home-about__item {
    line-height: 3.036;
  }
}
@media (width <= 768px) {
  .home-about__item {
    height: auto;
    padding: 26rem 0 26rem 42rem;
    border-radius: 6rem;
    gap: 29rem;
    font-size: 32rem;
    line-height: 1.2;
  }
}
.home-about__item .--icon {
  width: 60rem;
  height: 60rem;
}
@media (width <= 768px) {
  .home-about__item .--icon {
    width: 30rem;
    height: 30rem;
  }
}
.home-about__figure {
  width: 50%;
  height: 1020rem;
}
@media (width <= 768px) {
  .home-about__figure {
    width: 519rem;
    height: 444rem;
    position: absolute;
    z-index: 2;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
  }
}
.home-about__figure img {
  width: 100%;
  height: 100%;
}
@media (768px < width) {
  .home-about__figure img {
    aspect-ratio: 540/510;
  }
}
@media (width <= 768px) {
  .home-about__figure img {
    aspect-ratio: 250/214;
  }
}

.home-worries {
  width: 100%;
  background: url(../images/home/worries-bg.png) repeat;
  position: relative;
  overflow: hidden;
}
@media (768px < width) {
  .home-worries {
    height: 1114rem;
  }
}
@media (width <= 768px) {
  .home-worries {
    height: auto;
  }
}
.home-worries__container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20rem;
  padding-top: 72rem;
}
@media (width <= 768px) {
  .home-worries__container {
    padding-top: 58rem;
    gap: 17rem;
    margin-bottom: 13rem;
  }
}
.home-worries__title {
  font-size: 60rem;
  color: rgb(0, 0, 0);
  font-weight: bold;
  line-height: 1.2;
  text-align: center;
}
@media (width <= 768px) {
  .home-worries__title {
    font-size: 30rem;
    margin-bottom: 11rem;
  }
}
.home-worries__title .--blue {
  color: rgb(30, 46, 102);
  font-size: 96rem;
  font-weight: 900;
  font-style: italic;
}
@media (width <= 768px) {
  .home-worries__title .--blue {
    font-size: 44rem;
  }
}
@media (768px < width) {
  .home-worries__title .--blue .--small {
    font-size: 78rem;
  }
}
@media (width <= 768px) {
  .home-worries__title .--blue .--small {
    font-size: 38rem;
  }
}
.home-worries__figure {
  width: 1981rem;
  height: 712rem;
}
@media (width <= 768px) {
  .home-worries__figure {
    width: 100%;
    height: auto;
  }
}
.home-worries__figure img {
  width: 100%;
  height: 100%;
}
@media (768px < width) {
  .home-worries__figure img {
    aspect-ratio: 990/356;
  }
}
@media (width <= 768px) {
  .home-worries__figure img {
    aspect-ratio: 375/209;
  }
}

.home-resolve {
  background: #d5d5d5;
}
@media (768px < width) {
  .home-resolve {
    margin-top: -270rem;
  }
}
@media (width <= 768px) {
  .home-resolve {
    margin-top: -30rem;
  }
}
@media (768px < width) {
  .home-resolve__container {
    --padding-bottom-extend: 200rem;
    padding: 143rem 0 var(--padding-bottom-extend);
    background: url(../images/home/resolve-bg.png) no-repeat;
    background-size: 100% 100%;
    --height: -100rem;
    clip-path: circle(200vw at 50% calc(200vw + var(--height) * 2 + var(--padding-bottom-extend)));
  }
}
@media (width <= 768px) {
  .home-resolve__container {
    --padding-bottom-extend: 200rem;
    padding: 57rem 0 81rem;
    background: url(../images/home/resolve-bg-sp.png) no-repeat;
    background-size: cover;
    --height: -100rem;
    clip-path: circle(400vw at 50% calc(400vw + var(--height) * 2 + var(--padding-bottom-extend)));
  }
}
.home-resolve__title {
  font-size: 130rem;
  color: rgb(30, 46, 102);
  font-weight: bold;
  line-height: 1.391;
  text-align: center;
}
@media (width <= 768px) {
  .home-resolve__title {
    font-size: 60rem;
  }
}
@media (768px < width) {
  .home-resolve__title img {
    width: 1025rem;
    height: 172rem;
    aspect-ratio: 1025/172;
  }
}
@media (width <= 768px) {
  .home-resolve__title img {
    width: 512rem;
    height: auto;
    aspect-ratio: 246/41;
  }
}
.home-resolve__title .--blue {
  font-size: 104rem;
  color: rgb(0, 160, 233);
  line-height: 1.2;
}
@media (width <= 768px) {
  .home-resolve__title .--blue {
    font-size: 62rem;
  }
}
.home-resolve__title .--blue .--small {
  font-size: 94rem;
}
@media (width <= 768px) {
  .home-resolve__title .--blue .--small {
    font-size: 52rem;
  }
}
.home-resolve__list {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 92rem;
}
@media (768px < width) {
  .home-resolve__list {
    padding: 77rem 114rem 0;
  }
}
@media (width <= 768px) {
  .home-resolve__list {
    padding-top: 43rem;
    gap: 31rem;
  }
}
.home-resolve__item {
  width: 100%;
  background: #fff;
  border-radius: 40rem;
  position: relative;
  display: flex;
  align-items: center;
  filter: drop-shadow(0 0 30rem rgb(196, 196, 196));
}
@media (width <= 768px) {
  .home-resolve__item {
    height: auto;
    padding: 42rem 0 42rem;
    border-radius: 20rem;
  }
}
.home-resolve__item::after {
  content: "";
  width: 771rem;
  height: 190rem;
  background-size: contain;
  position: absolute;
  bottom: 0;
  z-index: -1;
  border-radius: 40rem;
}
@media (width <= 768px) {
  .home-resolve__item::after {
    width: 386rem;
    height: 96rem;
    background-size: 100% 100%;
    bottom: 0;
    border-radius: 20rem;
  }
}
@media (768px < width) {
  .home-resolve__item:has(.--img1) {
    padding: 102rem 145rem 102rem 0;
    justify-content: flex-end;
  }
}
@media (width <= 768px) {
  .home-resolve__item:has(.--img1) {
    padding-left: 192rem;
  }
}
.home-resolve__item:has(.--img1)::after {
  background: url(../images/home/point-01.png) no-repeat;
  background-size: contain;
  background-position: right -5px bottom -3px;
  right: 0;
}
@media (width <= 768px) {
  .home-resolve__item:has(.--img1)::after {
    right: 19rem;
  }
}
.home-resolve__item:has(.--img2) {
  justify-content: flex-start;
}
@media (768px < width) {
  .home-resolve__item:has(.--img2) {
    padding: 70rem 0 70rem 183rem;
  }
}
@media (width <= 768px) {
  .home-resolve__item:has(.--img2) {
    padding-left: 42rem;
  }
}
.home-resolve__item:has(.--img2)::after {
  background: url(../images/home/point-02.png) no-repeat;
  background-size: contain;
  background-position: left -5px bottom -3px;
  left: 0;
}
@media (width <= 768px) {
  .home-resolve__item:has(.--img2)::after {
    left: 20rem;
  }
}
@media (768px < width) {
  .home-resolve__item:has(.--img3) {
    padding: 72rem 0 74rem 27rem;
    justify-content: flex-start;
    gap: 73rem;
  }
}
@media (width <= 768px) {
  .home-resolve__item:has(.--img3) {
    padding-left: 40rem;
  }
}
.home-resolve__item:has(.--img3)::after {
  background: url(../images/home/point-03.png) no-repeat;
  background-size: contain;
  background-position: right 0 bottom -3px;
  right: 0;
}
@media (width <= 768px) {
  .home-resolve__item:has(.--img3)::after {
    right: 19rem;
  }
}
.home-resolve__item .--img1,
.home-resolve__item .--img2 {
  position: absolute;
  bottom: 0;
}
@media (768px < width) {
  .home-resolve__item .--img1 {
    width: 478rem;
    height: 506rem;
    aspect-ratio: 478/506;
    left: 202rem;
  }
}
@media (width <= 768px) {
  .home-resolve__item .--img1 {
    width: 202rem;
    height: auto;
    aspect-ratio: 97/103;
    left: -17rem;
  }
}
@media (768px < width) {
  .home-resolve__item .--img2 {
    width: 358rem;
    height: 510rem;
    aspect-ratio: 358/510;
    right: 306rem;
  }
}
@media (width <= 768px) {
  .home-resolve__item .--img2 {
    width: 145rem;
    height: auto;
    aspect-ratio: 69/99;
    right: 30rem;
  }
}
@media (768px < width) {
  .home-resolve__item .--img3 {
    width: 697rem;
    height: 483rem;
    aspect-ratio: 697/483;
  }
}
@media (width <= 768px) {
  .home-resolve__item .--img3 {
    width: 236rem;
    height: auto;
    aspect-ratio: 113/78;
    position: absolute;
    left: 0;
    bottom: 27rem;
  }
}
@media (768px < width) {
  .home-resolve__item .--img3 + .home-resolve__content {
    gap: 37rem;
  }
}
.home-resolve__content {
  display: flex;
  flex-direction: column;
  gap: 25rem;
}
@media (width <= 768px) {
  .home-resolve__content {
    gap: 11rem;
  }
}
.home-resolve__title--list {
  font-size: 92rem;
  color: rgb(11, 178, 233);
  font-weight: bold;
  line-height: 1.2;
}
@media (width <= 768px) {
  .home-resolve__title--list {
    font-size: 40rem;
    margin-bottom: 10rem;
  }
}
.home-resolve__title--list .--marker {
  background: linear-gradient(transparent 65%, #FCFF00 50%);
}
.home-resolve__text {
  font-size: 40rem;
  color: rgb(50, 29, 15);
  line-height: 1.8;
  font-weight: 500;
}
@media (width <= 768px) {
  .home-resolve__text {
    font-size: 28rem;
  }
}
@media (width <= 768px) {
  .--item3 .home-resolve__text {
    padding-left: 220rem;
  }
}

.consultation {
  background: url(../images/consultation/background.png) repeat;
  background-size: contain;
  padding: 104rem 0;
}
@media (width <= 768px) {
  .consultation {
    padding: 50rem 0;
  }
}
@media (768px < width) {
  .consultation__container {
    background: url(../images/consultation/board.png) no-repeat;
    background-size: 100% 100%;
    filter: drop-shadow(0 0 20rem rgba(255, 98, 0, 0.7764705882));
    transform: translateZ(0);
    position: relative;
  }
}
.consultation__inner {
  width: 100%;
  height: 100%;
  padding: 160rem 345rem 130rem 339rem;
  display: flex;
  flex-direction: column;
}
@media (width <= 768px) {
  .consultation__inner {
    padding: 51rem 50rem 57rem;
    background: url(../images/consultation/board-sp.png) no-repeat;
    background-size: 100% 100%;
    filter: drop-shadow(0 0 20rem rgba(255, 98, 0, 0.7764705882));
    position: relative;
  }
}
.consultation__title {
  font-size: 66rem;
  color: rgb(255, 96, 0);
  font-weight: bold;
  line-height: 1.2;
  margin-bottom: 49rem;
}
@media (width <= 768px) {
  .consultation__title {
    font-size: 36rem;
    margin-bottom: 28rem;
    z-index: 1;
  }
}
.consultation__fukidashi {
  display: flex;
  justify-content: flex-start;
  margin-bottom: 8rem;
}
@media (width <= 768px) {
  .consultation__fukidashi {
    margin-bottom: 9rem;
    z-index: 1;
  }
}
.consultation__fukidashi img {
  height: auto;
}
@media (768px < width) {
  .consultation__fukidashi img {
    width: 718rem;
    aspect-ratio: 359/57;
  }
}
@media (width <= 768px) {
  .consultation__fukidashi img {
    width: 570rem;
    aspect-ratio: 274/43;
  }
}
.consultation__buttons {
  display: flex;
  justify-content: flex-start;
  gap: 32rem;
  margin-bottom: 42rem;
  z-index: 1;
}
@media (width <= 768px) {
  .consultation__buttons {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 31rem;
    margin-bottom: 41rem;
  }
}
.consultation__button {
  width: 718rem;
  height: 124rem;
  border-radius: 62rem;
  padding-left: 60rem;
  font-size: 56rem;
  gap: 142rem;
}
@media (width <= 768px) {
  .consultation__button {
    width: 100%;
    height: 98rem;
    font-size: 40rem;
    padding-left: 48rem;
    gap: 123rem;
  }
}
.consultation__button img {
  width: 48rem;
  height: 48rem;
}
@media (width <= 768px) {
  .consultation__button img {
    width: 38rem;
    height: 38rem;
  }
}
.consultation__tel {
  font-size: 30rem;
  color: rgb(21, 46, 97);
  font-weight: bold;
  line-height: 1.2;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 19rem;
}
@media (width <= 768px) {
  .consultation__tel {
    flex-direction: column;
    gap: 13rem;
    font-size: 24rem;
  }
}
.consultation__tel .--row1 {
  display: flex;
  align-items: baseline;
  gap: 2rem;
}
.consultation__tel img {
  width: 26rem;
  height: 34rem;
}
@media (width <= 768px) {
  .consultation__tel img {
    width: 23rem;
    height: 30rem;
  }
}
.consultation__tel .--large {
  font-size: 44rem;
  color: rgb(21, 46, 97);
}
@media (width <= 768px) {
  .consultation__tel .--large {
    font-size: 40rem;
  }
}
.consultation__figure {
  height: auto;
  position: absolute;
  z-index: 0;
  transform: scale(-1, 1);
}
@media (768px < width) {
  .consultation__figure {
    width: 411rem;
    bottom: 14rem;
    right: 0;
  }
}
@media (width <= 768px) {
  .consultation__figure {
    width: 173rem;
    top: -2rem;
    right: 4rem;
  }
}
.consultation__figure img {
  width: 100%;
  height: 100%;
}
@media (768px < width) {
  .consultation__figure img {
    aspect-ratio: 411/650;
  }
}
@media (width <= 768px) {
  .consultation__figure img {
    aspect-ratio: 173/229;
  }
}
.consultation__name {
  position: absolute;
  z-index: 1;
  color: rgb(87, 53, 33);
  font-weight: 500;
  line-height: 1.2;
}
@media (768px < width) {
  .consultation__name {
    font-size: 32rem;
    bottom: 30rem;
    right: 140rem;
  }
}
@media (width <= 768px) {
  .consultation__name {
    font-size: 16rem;
    top: 35rem;
    right: 111rem;
  }
}

.home-cost {
  background: rgb(239, 249, 253);
  padding-top: 160rem;
}
@media (768px < width) {
  .home-cost {
    overflow-y: hidden;
    overflow-x: visible;
  }
}
@media (width <= 768px) {
  .home-cost {
    padding-top: 100rem;
    overflow: hidden;
  }
}
.home-cost__heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 108rem;
  color: rgb(61, 189, 220);
  font-weight: bold;
  line-height: 1.2;
  margin-bottom: 40rem;
}
@media (width <= 768px) {
  .home-cost__heading {
    font-size: 54rem;
    margin-bottom: 27rem;
  }
}
@media (768px < width) {
  .home-cost__heading .--small {
    font-size: 90rem;
  }
}
@media (width <= 768px) {
  .home-cost__heading .--small {
    font-size: 48rem;
  }
}
.home-cost__label {
  width: 1148rem;
  height: auto;
  margin-bottom: 13rem;
}
@media (width <= 768px) {
  .home-cost__label {
    width: 617rem;
    margin-bottom: 7rem;
  }
}
.home-cost__label img {
  width: 100%;
  height: 100%;
}
@media (768px < width) {
  .home-cost__label img {
    aspect-ratio: 574/108;
  }
}
@media (width <= 768px) {
  .home-cost__label img {
    aspect-ratio: 295/55;
  }
}
.home-cost__label--blue {
  font-size: 68rem;
  color: rgb(255, 255, 255);
  padding: 30rem 56rem 30rem 45rem;
  background-color: rgb(61, 189, 220);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 63rem;
  margin-bottom: 10rem;
}
@media (width <= 768px) {
  .home-cost__label--blue {
    padding: 15rem 28rem;
    font-size: 34rem;
    border-radius: 40rem;
    margin-bottom: 5rem;
  }
}
.home-cost__list {
  margin-bottom: 68rem;
}
@media (width <= 768px) {
  .home-cost__list {
    margin-bottom: 17rem;
  }
}
.home-cost__energy {
  width: 100%;
  background: url(../images/home/energy-cost-bg.png) no-repeat;
  background-size: 100% 100%;
  padding: 53rem 201rem 53rem 223rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 70rem;
}
@media (width <= 768px) {
  .home-cost__energy {
    padding: 25rem 65rem 15rem 68rem;
    margin-bottom: 28rem;
  }
}
.home-cost__text--energy {
  font-size: 84rem;
  color: rgb(50, 29, 15);
  font-weight: bold;
}
@media (width <= 768px) {
  .home-cost__text--energy {
    font-size: 26rem;
  }
}
.home-cost__text--energy .--large {
  font-size: 144rem;
}
@media (width <= 768px) {
  .home-cost__text--energy .--large {
    font-size: 44rem;
  }
}
.home-cost__text--energy .--large::after {
  content: "円";
  font-size: 84rem;
}
@media (width <= 768px) {
  .home-cost__text--energy .--large::after {
    font-size: 26rem;
  }
}
.home-cost__text--energy.--yellow {
  color: rgb(255, 222, 0);
}
.home-cost__text {
  font-size: 87rem;
  color: rgb(50, 29, 15);
  font-weight: bold;
  line-height: 1.2;
  text-align: center;
  position: relative;
  z-index: 1;
}
@media (width <= 768px) {
  .home-cost__text {
    font-size: 43rem;
  }
}
@media (width <= 768px) {
  .home-cost__text .--small {
    font-size: 34rem;
  }
}
.home-cost__text .--blue {
  font-size: 121rem;
  color: rgb(61, 189, 220);
  background: linear-gradient(transparent 65%, #ffde00 65%, #ffde00 90%, transparent 90%);
}
@media (width <= 768px) {
  .home-cost__text .--blue {
    font-size: 60rem;
  }
}
.home-cost__text .--blue .--small {
  font-size: 87rem;
}
@media (width <= 768px) {
  .home-cost__text .--blue .--small {
    font-size: 36rem;
  }
}
.home-cost__arrow {
  width: 100%;
  height: 160rem;
  position: relative;
}
@media (width <= 768px) {
  .home-cost__arrow {
    height: 88rem;
  }
}
.home-cost__icon {
  width: 550rem;
  height: 190rem;
  position: absolute;
  top: -50rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 0;
}
@media (width <= 768px) {
  .home-cost__icon {
    top: -35rem;
    width: 305rem;
    height: 110rem;
  }
}
.home-cost__text--blue {
  font-size: 108rem;
  color: rgb(61, 189, 220);
  font-weight: bold;
  line-height: 1.2;
  text-align: center;
  margin-bottom: 60rem;
}
@media (width <= 768px) {
  .home-cost__text--blue {
    font-size: 38rem;
    margin-bottom: 46rem;
  }
}
.home-cost__text--blue.--small {
  font-size: 71rem;
  text-align: left;
  margin-bottom: 24rem;
}
@media (width <= 768px) {
  .home-cost__text--blue.--small {
    width: fit-content;
    font-size: 32rem;
    margin-bottom: 11rem;
  }
}
@media (768px < width) {
  .home-cost__text--blue .--small {
    font-size: 90rem;
  }
}
@media (width <= 768px) {
  .home-cost__text--blue .--small {
    font-size: 34rem;
  }
}
.home-cost__text--blue .--marker {
  background: linear-gradient(transparent 80%, #ffde00 80%, #ffde00 95%, transparent 95%);
}
.home-cost__image {
  width: 100%;
  padding: 64rem 62rem 92rem;
  background: #fff;
  border: 10rem solid rgb(61, 189, 220);
  border-radius: 20rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 60rem;
  margin-bottom: 51rem;
}
@media (width <= 768px) {
  .home-cost__image {
    padding: 42rem 40rem 45rem;
    border: 6rem solid rgb(61, 189, 220);
    border-radius: 10rem;
    gap: 30rem;
    margin-bottom: 67rem;
  }
}
.home-cost__label--image {
  width: 100%;
  padding: 31rem 0;
  background: rgb(219, 219, 219);
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 70rem;
  color: rgb(50, 29, 15);
  font-weight: bold;
  line-height: 1.2;
  text-align: center;
}
@media (width <= 768px) {
  .home-cost__label--image {
    font-size: 34rem;
    padding: 16rem;
  }
}
.home-cost__figure--image {
  width: 100%;
  height: auto;
  margin-bottom: 3rem;
}
@media (width <= 768px) {
  .home-cost__figure--image {
    margin-bottom: 6rem;
  }
}
.home-cost__figure--image img {
  width: 100%;
  height: 100%;
}
@media (768px < width) {
  .home-cost__figure--image img {
    aspect-ratio: 1010/198;
  }
}
@media (width <= 768px) {
  .home-cost__figure--image img {
    aspect-ratio: 280/96;
  }
}
.home-cost__text--image {
  font-size: 78rem;
  color: rgb(61, 189, 220);
  font-weight: bold;
  line-height: 1.2;
}
@media (width <= 768px) {
  .home-cost__text--image {
    font-size: 44rem;
  }
}
.home-cost__text--image .--marker {
  background: linear-gradient(transparent 75%, #ffde00 75%, #ffde00 90%, transparent 90%);
}
.home-cost__foot {
  width: 100%;
  position: relative;
  padding: 156rem 0 116rem;
}
@media (width <= 768px) {
  .home-cost__foot {
    padding: 0 0 67rem;
  }
}
.home-cost__fukidashi--foot {
  height: auto;
  padding: 84rem 85rem 86rem;
  display: flex;
  flex-direction: column;
}
@media (768px < width) {
  .home-cost__fukidashi--foot {
    max-width: 1657rem;
    background: url(../images/home/cost-fukidashi-2.png) no-repeat;
    background-size: 100% 100%;
  }
}
@media (width <= 768px) {
  .home-cost__fukidashi--foot {
    width: 620rem;
    background: url(../images/home/cost-fukidashi-2-sp.png) no-repeat;
    background-size: 100% 100%;
    padding: 42rem 72rem 41rem 40rem;
    margin-left: -13rem;
  }
}
.home-cost__text--foot {
  font-size: 57rem;
  color: rgb(50, 29, 15);
  line-height: 1.333;
  font-weight: 500;
}
@media (width <= 768px) {
  .home-cost__text--foot {
    width: fit-content;
    font-size: 28rem;
  }
}
.home-cost__figure--foot {
  width: 544rem;
  height: auto;
  position: absolute;
}
@media (768px < width) {
  .home-cost__figure--foot {
    margin-bottom: -10rem;
    bottom: 0;
    right: -60rem;
  }
}
@media (width <= 768px) {
  .home-cost__figure--foot {
    width: 289rem;
    height: 402rem;
    right: -130rem;
    bottom: -10rem;
  }
}
.home-cost__figure--foot img {
  width: 100%;
  height: 100%;
}
@media (768px < width) {
  .home-cost__figure--foot img {
    aspect-ratio: 272/378;
  }
}
@media (width <= 768px) {
  .home-cost__figure--foot img {
    aspect-ratio: 139/193;
  }
}

.home-user {
  width: 100%;
  padding: 200rem 0 160rem;
  background: rgb(20, 138, 177);
}
@media (width <= 768px) {
  .home-user {
    padding: 91rem 0;
  }
}
.home-user__heading {
  font-size: 60rem;
  color: rgb(255, 255, 255);
  line-height: 1.2;
  text-align: center;
  font-weight: 500;
  margin-bottom: 103rem;
  text-shadow: 10rem 10rem 18rem rgba(0, 0, 0, 0.2);
}
@media (width <= 768px) {
  .home-user__heading {
    font-size: 30rem;
    margin-bottom: 30rem;
  }
}
.home-user__heading .--large {
  font-size: 134rem;
  font-weight: bold;
}
@media (width <= 768px) {
  .home-user__heading .--large {
    font-size: 68rem;
  }
}
.home-user__list {
  display: flex;
  justify-content: center;
  gap: 60rem;
}
@media (width <= 768px) {
  .home-user__list {
    flex-direction: column;
    gap: 31rem;
  }
}
.home-user__item {
  flex: 1;
  background: #fff;
  border-radius: 20rem;
  padding: 50rem 45rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 22rem;
}
@media (width <= 768px) {
  .home-user__item {
    padding: 50rem 45rem;
  }
}
.home-user__label {
  width: 100%;
  background-color: rgb(23, 46, 101);
  border-radius: 34rem;
  display: flex;
  justify-content: center;
  font-size: 34rem;
  color: rgb(255, 255, 255);
  font-weight: bold;
  line-height: 1.765;
  margin-bottom: 8rem;
}
@media (width <= 768px) {
  .home-user__label {
    margin-bottom: 30rem;
  }
}
.home-user__text {
  font-size: 36rem;
  color: rgb(51, 51, 51);
  line-height: 1.5;
  font-weight: 500;
}
@media (width <= 768px) {
  .home-user__text {
    font-size: 30rem;
  }
}
.home-user__text .--marker {
  color: #172e65;
  font-weight: bold;
  background: linear-gradient(transparent 65%, #FCFF00 50%);
}
.home-user__figure {
  width: 100%;
  height: auto;
}
.home-user__figure img {
  width: 100%;
  height: 100%;
}
@media (768px < width) {
  .home-user__figure img {
    aspect-ratio: 295/143;
  }
}
@media (width <= 768px) {
  .home-user__figure img {
    aspect-ratio: 279/135;
  }
}

.home-reasons {
  background: url(../images/home/reasons-bg.png) no-repeat;
  background-size: 100% 100%;
  padding: 117rem 0 114rem;
}
@media (width <= 768px) {
  .home-reasons {
    padding: 91rem 0 93rem;
    background: url(../images/home/reasons-bg-sp.png) no-repeat;
    background-size: cover;
  }
}
.home-reasons__heading {
  font-size: 108rem;
  color: #00a0e9;
  font-weight: bold;
  line-height: 1.2;
  display: grid;
  grid-template-columns: auto 1fr;
  justify-content: center;
  align-items: end;
  gap: 8rem 7rem;
  margin-bottom: 58rem;
}
@media (width <= 768px) {
  .home-reasons__heading {
    font-size: 40rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 41rem;
  }
}
.home-reasons__heading p {
  grid-area: 2/2;
}
.home-reasons__heading .--fukidashi {
  height: auto;
  grid-area: 1/1;
  grid-column: span 2;
  margin: 0 auto;
}
@media (768px < width) {
  .home-reasons__heading .--fukidashi {
    width: 1442rem;
    aspect-ratio: 721/108;
  }
}
@media (width <= 768px) {
  .home-reasons__heading .--fukidashi {
    width: 670rem;
    aspect-ratio: 322/48;
  }
}
.home-reasons__heading .--logo {
  height: auto;
  grid-area: 2/1;
}
@media (768px < width) {
  .home-reasons__heading .--logo {
    width: 988rem;
    aspect-ratio: 494/82;
  }
}
@media (width <= 768px) {
  .home-reasons__heading .--logo {
    width: 459rem;
    aspect-ratio: 221/37;
  }
}
.home-reasons__heading .--light-blue {
  color: #3dbddc;
}
@media (width <= 768px) {
  .home-reasons__heading .--light-blue {
    font-size: 64rem;
  }
}
.home-reasons__heading .--large {
  font-size: 168rem;
  font-style: italic;
}
@media (768px < width) {
  .home-reasons__heading .--large {
    margin-left: -25rem;
  }
}
@media (width <= 768px) {
  .home-reasons__heading .--large {
    font-size: 100rem;
  }
}
@media (width <= 768px) {
  .home-reasons__heading .--row1 {
    display: flex;
    align-items: flex-end;
    gap: 2rem;
  }
}
.home-reasons__list {
  display: flex;
  flex-direction: column;
  gap: 38rem;
}
@media (width <= 768px) {
  .home-reasons__list {
    gap: 62rem;
  }
}
.home-reasons__item {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (width <= 768px) {
  .home-reasons__item {
    flex-direction: column;
  }
}
@media (768px < width) {
  .home-reasons__item.--row2 {
    flex-direction: row-reverse;
    margin-bottom: 180rem;
  }
}
@media (width <= 768px) {
  .--row3 .home-reasons__col {
    margin-bottom: 38rem;
  }
}
.home-reasons__title {
  width: fit-content;
  padding: 29rem 46rem;
  background-color: rgb(61, 189, 220);
  font-size: 112rem;
  color: rgb(255, 255, 255);
  font-weight: bold;
  line-height: 1.2;
  margin-bottom: 67rem;
}
@media (width <= 768px) {
  .home-reasons__title {
    font-size: 46rem;
    padding: 23.5rem 20rem;
    margin-bottom: 30rem;
  }
}
.home-reasons__title .--small {
  font-size: 72rem;
  vertical-align: top;
  line-height: 1.2;
}
@media (768px < width) {
  .home-reasons__title .--small {
    margin-left: -20rem;
  }
}
@media (width <= 768px) {
  .home-reasons__title .--small {
    font-size: 32rem;
    margin-left: -8rem;
  }
}
.home-reasons__text {
  font-size: 44rem;
  color: rgb(54, 54, 54);
  line-height: 1.682;
  font-weight: 500;
}
@media (width <= 768px) {
  .home-reasons__text {
    font-size: 30rem;
    line-height: 1.533;
  }
}
.home-reasons__note {
  padding-top: 12.4rem;
  font-size: 28rem;
  color: rgb(54, 54, 54);
  line-height: 1.429;
  text-indent: -1em;
  padding-left: 1em;
}
@media (width <= 768px) {
  .home-reasons__note {
    font-size: 22rem;
    line-height: 1.364;
  }
}
.--row1 .home-reasons__figure {
  width: 938rem;
  height: auto;
}
@media (width <= 768px) {
  .--row1 .home-reasons__figure {
    width: 433rem;
    padding-top: 38rem;
  }
}
@media (768px < width) {
  .--row1 .home-reasons__figure img {
    aspect-ratio: 469/446;
  }
}
@media (width <= 768px) {
  .--row1 .home-reasons__figure img {
    aspect-ratio: 208/198;
  }
}
.--row2 .home-reasons__figure {
  width: 790rem;
  height: auto;
}
@media (width <= 768px) {
  .--row2 .home-reasons__figure {
    width: 453rem;
    padding-top: 35rem;
  }
}
@media (768px < width) {
  .--row2 .home-reasons__figure {
    aspect-ratio: 395/318;
  }
}
@media (width <= 768px) {
  .--row2 .home-reasons__figure {
    aspect-ratio: 218/175;
  }
}
.home-reasons__figure img {
  width: 100%;
  height: 100%;
}
@media (768px < width) {
  .home-reasons__box--movie {
    padding-top: 100rem;
  }
}
@media (width <= 768px) {
  .home-reasons__box--movie {
    padding-top: 80rem;
  }
}
.home-reasons__title--movie {
  font-weight: bold;
  line-height: 1.2;
  color: #00a0e9;
  text-align: center;
}
@media (768px < width) {
  .home-reasons__title--movie {
    font-size: 90rem;
    margin-bottom: 50rem;
  }
}
@media (width <= 768px) {
  .home-reasons__title--movie {
    font-size: 40rem;
    margin-bottom: 20rem;
  }
}
.home-reasons__movie {
  height: auto;
  margin: auto;
}
@media (768px < width) {
  .home-reasons__movie {
    width: 1280rem;
  }
}
@media (width <= 768px) {
  .home-reasons__movie {
    width: 100%;
  }
}
.home-reasons__movie iframe {
  width: 100%;
  height: 100%;
  aspect-ratio: 16/9;
}
@media (768px < width) {
  .home-reasons__note--youtube {
    width: 1280rem;
    margin-inline: auto;
  }
}
.home-reasons__note--youtube a {
  color: #00a0e9;
  text-decoration: underline;
}

.home-faq {
  background: url(../images/home/faq-bg.png) no-repeat;
  background-size: 100% 100%;
  padding: 200rem 0 160rem;
}
@media (width <= 768px) {
  .home-faq {
    padding: 89rem 0;
    background: url(../images/home/faq-bg-sp.png) no-repeat;
  }
}
.home-faq__heading {
  font-size: 60rem;
  color: rgb(255, 255, 255);
  line-height: 1.2;
  text-align: center;
  margin-bottom: 77rem;
  font-weight: 500;
}
@media (width <= 768px) {
  .home-faq__heading {
    font-size: 30rem;
    margin-bottom: 39rem;
  }
}
.home-faq__heading .--yellow {
  display: inline-block;
  padding-top: 26rem;
  font-size: 108rem;
  color: rgb(255, 222, 0);
  font-weight: bold;
}
@media (width <= 768px) {
  .home-faq__heading .--yellow {
    font-size: 54rem;
    padding-top: 12.5rem;
  }
}
.home-faq__list {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 40rem;
}
@media (width <= 768px) {
  .home-faq__list {
    gap: 31rem;
  }
}
.home-faq__item {
  width: 100%;
  padding: 73rem 40rem 80rem 80rem;
  background: #fff;
  border-radius: 20rem;
}
@media (width <= 768px) {
  .home-faq__item {
    padding: 39rem 37rem 28rem 41rem;
    border-radius: 10rem;
  }
}
.home-faq__question {
  width: 100%;
  font-size: 36rem;
  color: rgb(21, 46, 97);
  line-height: 1.667;
  font-weight: 500;
  display: flex;
  justify-content: space-between;
}
@media (width <= 768px) {
  .home-faq__question {
    font-size: 30rem;
    line-height: 1.4;
    align-items: baseline;
    gap: 28rem;
  }
}
.home-faq__question span::before {
  content: "Q.";
  font-size: 46rem;
  line-height: 1.304;
  font-weight: 900;
  margin-right: 9rem;
  white-space: nowrap;
}
@media (width <= 768px) {
  .home-faq__question span::before {
    font-size: 32rem;
    line-height: 0.938;
    margin-right: 7rem;
  }
}
.home-faq__question span {
  display: flex;
  align-items: baseline;
}
.home-faq__question img {
  width: 60rem;
  height: 60rem;
}
@media (width <= 768px) {
  .home-faq__question img {
    width: 30rem;
    height: 30rem;
  }
}
.home-faq__question[aria-expanded=false] .--minus {
  display: none;
}
.home-faq__question[aria-expanded=true] .--plus {
  display: none;
}
.home-faq__answer {
  width: 100%;
  font-size: 36rem;
  color: #000;
  line-height: 1.667;
  font-weight: 500;
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.2s ease-out;
}
@media (width <= 768px) {
  .home-faq__answer {
    font-size: 28rem;
    line-height: 1.429;
  }
}
.home-faq__answer .--a {
  font-size: 46rem;
  color: rgb(61, 189, 220);
  line-height: 1.304;
  margin-right: 9rem;
}
@media (width <= 768px) {
  .home-faq__answer .--a {
    font-size: 32rem;
    line-height: 0.938;
    margin-right: 2rem;
  }
}
.home-faq__answer[aria-hidden=false] {
  grid-template-rows: 1fr;
}
.home-faq__inner {
  display: grid;
  grid-template-columns: 60rem auto;
  overflow: hidden;
  padding-top: 0;
  transition: padding-top 0.2s ease-out;
}
[aria-hidden=false] .home-faq__inner {
  padding-top: 36rem;
}
@media (width <= 768px) {
  [aria-hidden=false] .home-faq__inner {
    padding-top: 20rem;
  }
}

@media (768px < width) {
  #contact {
    margin-top: -100rem;
    padding-top: 100rem;
  }
}
@media (width <= 768px) {
  #contact {
    margin-top: -100rem;
    padding-top: 100rem;
  }
}

.home-contact {
  background: #dcdcde;
  padding: 159rem 0 151rem;
}
@media (width <= 768px) {
  .home-contact {
    padding: 75rem 0 87rem;
  }
}
.home-contact__heading {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 51rem;
  font-size: 32rem;
  color: rgb(0, 0, 0);
  line-height: 1.75;
  margin-bottom: 48rem;
}
@media (width <= 768px) {
  .home-contact__heading {
    font-size: 28rem;
    line-height: 1.429;
    margin-bottom: 33.5rem;
    gap: 20.5rem;
  }
}
.home-contact__heading .--blue {
  font-size: 64rem;
  color: rgb(21, 46, 97);
  line-height: 1.2;
  font-weight: 500;
}
@media (width <= 768px) {
  .home-contact__heading .--blue {
    font-size: 44rem;
    line-height: 1.182;
  }
}
.home-contact__thanks {
  width: 100%;
  background: #fff;
  display: none;
  flex-direction: column;
  align-items: center;
}
@media (768px < width) {
  .home-contact__thanks {
    border-radius: 20rem;
    padding: 90rem 120rem 90rem;
    gap: 54rem;
  }
}
@media (width <= 768px) {
  .home-contact__thanks {
    border-radius: 10rem;
    padding: 49rem 40rem 61rem;
    gap: 40rem;
  }
}
.home-contact__title--thanks {
  color: rgb(21, 46, 97);
  line-height: 1.2;
  font-weight: 500;
}
@media (768px < width) {
  .home-contact__title--thanks {
    font-size: 64rem;
  }
}
@media (width <= 768px) {
  .home-contact__title--thanks {
    font-size: 40rem;
  }
}
.home-contact__text--thanks {
  color: rgb(110, 110, 110);
}
@media (768px < width) {
  .home-contact__text--thanks {
    font-size: 30rem;
    line-height: 1.75;
  }
}
@media (width <= 768px) {
  .home-contact__text--thanks {
    font-size: 28rem;
    line-height: 1.429;
  }
}
.home-contact:has(.wpcf7-response-output.is-sended) .home-contact__thanks {
  display: flex;
}

.form {
  width: 100%;
  background: #fff;
}
@media (768px < width) {
  .form {
    border-radius: 20rem;
    padding: 97rem 100rem 96rem;
  }
}
@media (width <= 768px) {
  .form {
    border-radius: 10rem;
    padding: 49rem 40rem 61rem;
  }
}
.form__caption {
  font-size: 36rem;
  color: rgb(64, 64, 64);
  line-height: 2;
  font-weight: 500;
}
@media (width <= 768px) {
  .form__caption {
    font-size: 30rem;
    line-height: 1.2;
  }
}
.form__options {
  padding-top: 33rem;
  margin-bottom: 96rem;
}
@media (width <= 768px) {
  .form__options {
    padding-top: 19rem;
    margin-bottom: 41rem;
  }
}
.form__options .wpcf7-radio {
  display: flex;
  flex-direction: column;
  gap: 44rem;
}
@media (width <= 768px) {
  .form__options .wpcf7-radio {
    gap: 22rem;
  }
}
.form__options .wpcf7-radio .wpcf7-list-item {
  display: block;
  width: 100%;
  border-radius: 10rem;
  border: 2rem solid rgb(188, 188, 188);
}
@media (width <= 768px) {
  .form__options .wpcf7-radio .wpcf7-list-item {
    border-radius: 5rem;
  }
}
.form__options .wpcf7-radio .wpcf7-list-item:has(:checked) {
  border: 2rem solid rgb(61, 189, 220);
}
.form__options .wpcf7-radio .wpcf7-list-item label {
  width: 100%;
  display: flex;
  gap: 33rem;
  padding: 15rem 0 15rem 30rem;
}
@media (width <= 768px) {
  .form__options .wpcf7-radio .wpcf7-list-item label {
    gap: 19rem;
    padding: 16rem 37rem 17rem 20rem;
  }
}
.form__options .wpcf7-radio .wpcf7-list-item label .wpcf7-list-item-label {
  font-size: 38rem;
  color: rgb(64, 64, 64);
  line-height: 1.895;
}
@media (width <= 768px) {
  .form__options .wpcf7-radio .wpcf7-list-item label .wpcf7-list-item-label {
    font-size: 28rem;
    line-height: 1.214;
  }
}
.form__list {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 42rem;
  margin-bottom: 50rem;
}
@media (width <= 768px) {
  .form__list {
    margin-bottom: 41rem;
  }
}
.form__row {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 63rem;
}
@media (width <= 768px) {
  .form__row {
    flex-direction: column;
    align-items: flex-start;
    gap: 18rem;
  }
}
.form__row:has(.--textarea) {
  align-items: flex-start;
}
.form__row:has(.--textarea) .form__title::after {
  content: "";
}
.form__title {
  width: 312rem;
  font-size: 36rem;
  color: rgb(64, 64, 64);
  line-height: 2;
  display: flex;
  font-weight: 500;
}
@media (768px < width) {
  .form__title {
    justify-content: space-between;
  }
}
@media (width <= 768px) {
  .form__title {
    width: fit-content;
    font-size: 30rem;
    line-height: 1.2;
    gap: 19rem;
  }
}
.form__title::after {
  content: "※";
  color: rgb(227, 49, 49);
}
.form__input {
  width: 100%;
  font-size: 30rem;
  color: rgb(64, 64, 64);
  line-height: 2.4;
  padding: 12rem 37rem 12rem;
  border: 2rem solid rgb(188, 188, 188);
  border-radius: 10rem;
}
@media (width <= 768px) {
  .form__input {
    font-size: 28rem;
    line-height: 1.286;
    padding: 18.5rem 17rem;
    border-radius: 5rem;
  }
}
.form__input br {
  display: none;
}
.form__input.--textarea {
  height: 346rem;
}
@media (width <= 768px) {
  .form__input.--textarea {
    height: 400rem;
  }
}
@media (768px < width) {
  .form__input.--textarea .wpcf7-not-valid-tip {
    transform: translateY(-70rem);
  }
}
@media (width <= 768px) {
  .form__input.--textarea .wpcf7-not-valid-tip {
    transform: translateY(-40rem);
  }
}
.form__input:has(input:focus), .form__input:has(textarea:focus) {
  border: 2rem solid rgb(21, 46, 97);
}
.form__input:has(.wpcf7-not-valid-tip) {
  border: 2rem solid rgb(196, 35, 54);
}
.form__name, .form__tel, .form__adress, .form__mail {
  width: 100%;
  outline: none;
}
.form__inquiry {
  width: 100%;
  height: 100%;
  resize: none;
  outline: none;
}
.form__note {
  font-size: 28rem;
  color: rgb(0, 0, 0);
  line-height: 1.2;
  margin-bottom: 64rem;
}
@media (width <= 768px) {
  .form__note {
    font-size: 22rem;
    margin-bottom: 41rem;
  }
}
.form__note a {
  text-decoration: underline;
}
.form__submit {
  position: relative;
}
@media (768px < width) {
  .form__submit {
    width: 722rem;
    height: 160rem;
    border-radius: 80px;
    background-color: rgb(196, 35, 54);
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    font-size: 60rem;
    color: rgb(255, 255, 255);
    font-weight: bold;
    line-height: 1.2;
    text-align: center;
    margin: auto;
  }
  .form__submit > p {
    width: 100%;
    height: 100%;
  }
}
@media (width <= 768px) {
  .form__submit {
    width: 100%;
    display: flex;
    justify-content: center;
  }
}
.form__submit::before {
  content: "";
  width: 48rem;
  height: 48rem;
  background: url(../images/icons/chevron-right-red.png) no-repeat;
  background-size: 100% 100%;
  position: absolute;
  top: 50%;
  left: 60rem;
  z-index: 1;
  transform: translateY(-50%);
}
@media (width <= 768px) {
  .form__submit::before {
    width: 24rem;
    height: 24rem;
    left: 149rem;
  }
}
@media (hover) {
  .form__submit:hover {
    scale: 1.1;
  }
}
.form__button--submit {
  display: block;
}
@media (768px < width) {
  .form__button--submit {
    width: 100%;
    height: 100%;
  }
}
@media (width <= 768px) {
  .form__button--submit {
    width: 361rem;
    height: 80rem;
    border-radius: 40rem;
    background-color: rgb(196, 35, 54);
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    color: rgb(255, 255, 255);
    font-size: 30rem;
    font-weight: bold;
    line-height: 1.2;
    text-align: center;
  }
}
.form .wpcf7-spinner {
  position: absolute;
  top: 0;
}
@media (768px < width) {
  .form .wpcf7-spinner {
    right: -120rem;
  }
}
@media (width <= 768px) {
  .form .wpcf7-spinner {
    right: 0;
  }
}
.form__complete {
  width: 722rem;
  height: 160rem;
  border-radius: 80px;
  background-color: rgb(188, 188, 188);
  display: none;
  justify-content: center;
  align-items: center;
  position: relative;
  font-size: 60rem;
  color: rgb(255, 255, 255);
  font-weight: bold;
  line-height: 1.2;
  text-align: center;
}
@media (width <= 768px) {
  .form__complete {
    width: 361rem;
    height: 80rem;
    font-size: 30rem;
  }
}
.form__complete p {
  display: inline-block;
  height: auto;
}
.form__complete p br {
  display: none;
}
.form__recaptcha-brand {
  padding: 100rem 0 0;
  line-height: 1.5;
  color: rgb(64, 64, 64);
}
@media (768px < width) {
  .form__recaptcha-brand {
    font-size: 28rem;
  }
}
@media (width <= 768px) {
  .form__recaptcha-brand {
    font-size: 22rem;
  }
}
.form__recaptcha-brand a {
  text-decoration: underline;
}
@media (768px < width) {
  .form:has(+ .wpcf7-response-output.is-sended) {
    margin-bottom: 60rem;
  }
}
@media (width <= 768px) {
  .form:has(+ .wpcf7-response-output.is-sended) {
    margin-bottom: 40rem;
  }
}
.form:has(+ .wpcf7-response-output.is-sended) .form__submit {
  background: #fff;
}
.form:has(+ .wpcf7-response-output.is-sended) .form__submit input {
  display: none;
}
.form:has(+ .wpcf7-response-output.is-sended) .form__submit::before {
  background: url(../images/icons/chevron-right-gray.png) no-repeat;
  background-size: 100% 100%;
}
.form:has(+ .wpcf7-response-output.is-sended) .form__submit > p {
  width: auto;
  height: auto;
}
.form:has(+ .wpcf7-response-output.is-sended) .form__complete {
  display: flex;
}

.wpcf7-response-output {
  font-size: 30rem;
  color: #dc3232;
  border: 0 !important;
  text-align: center;
}
@media (768px < width) {
  .wpcf7-response-output {
    transform: translateY(-260rem);
  }
}
@media (width <= 768px) {
  .wpcf7-response-output {
    transform: translateY(-280rem);
  }
}

.grecaptcha-badge {
  visibility: hidden;
}

[data-blur=false] + .wpcf7-response-output, [data-blur=false] + .wpcf7-not-valid-tip {
  display: none !important;
}

.scroll-banner {
  width: 100%;
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 20;
  background: #fff;
  padding: 26rem 0;
  transition: transform 1s ease;
}
.scroll-banner[aria-hidden=true] {
  transform: translateY(100vh);
}
.scroll-banner[aria-hidden=false] {
  transform: translateY(0);
}
.scroll-banner__container {
  width: 100%;
  padding: 0 30rem;
  display: flex;
  align-items: center;
  gap: 28rem;
}
.scroll-banner__tel {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 15rem;
}
.scroll-banner__row:has(.scroll-banner__icon--tel) {
  display: flex;
  align-items: center;
  gap: 16rem;
}
.scroll-banner__icon--tel {
  width: 23rem;
  height: 30rem;
}
.scroll-banner__text--tel {
  font-size: 33rem;
  color: rgb(21, 46, 97);
  font-weight: bold;
  line-height: 1.2;
}
.scroll-banner__text {
  font-size: 15rem;
  color: rgb(21, 46, 97);
  font-weight: bold;
  line-height: 1.2;
}
.scroll-banner__buttons {
  width: 430rem;
  display: flex;
  align-items: center;
  gap: 10rem;
}
.scroll-banner__buttons .c-button {
  width: 50%;
  height: 78rem;
  font-size: 28rem;
  border-radius: 40rem;
  padding-left: 18rem;
  gap: 18rem;
}
.scroll-banner__buttons .c-button img {
  width: 30rem;
  height: 30rem;
}
.scroll-banner__buttons .c-button::before {
  height: 48rem;
  border-radius: 24rem;
}

.privacypolicy {
  background: #fff;
}
.privacypolicy__heading {
  width: 100%;
  height: 221rem;
  font-size: 72rem;
  color: rgb(255, 255, 255);
  line-height: 1.306;
  font-weight: 900;
  text-align: left;
  background-color: rgb(11, 178, 233);
  display: flex;
  align-items: center;
  margin-bottom: 53rem;
}
@media (width <= 768px) {
  .privacypolicy__heading {
    height: 150rem;
    font-size: 34rem;
    line-height: 1.237;
    margin-bottom: 43rem;
  }
}
@media (768px < width) {
  .privacypolicy__container {
    width: min(2000rem, 100vw - 100rem);
    margin-inline: auto;
  }
}
@media (width <= 768px) {
  .privacypolicy__container {
    padding: 0 60rem;
  }
}
.privacypolicy__content {
  margin-bottom: 195rem;
}
@media (width <= 768px) {
  .privacypolicy__content {
    margin-bottom: 135rem;
  }
}
.privacypolicy__lead {
  margin-bottom: 64rem;
}
@media (width <= 768px) {
  .privacypolicy__lead {
    margin-bottom: 33rem;
  }
}
.privacypolicy__text {
  font-size: 32rem;
  color: rgb(51, 51, 51);
  line-height: 1.5;
  font-weight: 500;
}
@media (width <= 768px) {
  .privacypolicy__text {
    font-size: 30rem;
    line-height: 1.533;
  }
}
.privacypolicy__text.--use-indent {
  text-indent: -1em;
  padding-left: 1em;
}
.privacypolicy__text > li {
  text-indent: -1em;
  padding-left: 1em;
  margin-bottom: 24rem;
}
.privacypolicy__text > li.--high-margin {
  margin-bottom: 44rem;
}
@media (width <= 768px) {
  .privacypolicy__text > li.--high-margin {
    margin-bottom: 11rem;
  }
}
@media (768px < width) {
  .privacypolicy__text > li.--high-margin .--high-height {
    padding-top: 24rem;
  }
}
.privacypolicy__text > li > ul li {
  text-indent: -1em;
  padding-left: 1em;
}
@media (768px < width) {
  .privacypolicy__text.--high-height,
  .privacypolicy__text .--high-height {
    line-height: 2;
  }
}
.privacypolicy__text:has(+ ul) {
  margin-bottom: 27rem;
}
.privacypolicy__text.--bold,
.privacypolicy__text .--bold {
  font-weight: bold;
}
.privacypolicy__text.--list {
  margin-bottom: 10rem;
}
@media (768px < width) {
  .campaign-modal .privacypolicy__text {
    font-size: 30rem;
  }
}
.privacypolicy__inner {
  margin-left: 60rem;
  padding-top: 27rem;
}
@media (width <= 768px) {
  .privacypolicy__inner {
    margin-left: 38rem;
    padding-top: 17rem;
  }
}
.privacypolicy__list {
  display: flex;
  flex-direction: column;
  gap: 83rem;
}
@media (width <= 768px) {
  .privacypolicy__list {
    gap: 37rem;
  }
}
@media (768px < width) {
  .campaign-modal .privacypolicy__list {
    gap: 38rem;
  }
}
.privacypolicy__item > .privacypolicy__text {
  margin-left: 60rem;
}
@media (width <= 768px) {
  .privacypolicy__item > .privacypolicy__text {
    margin-left: 38rem;
  }
}
.privacypolicy__title {
  font-size: 36rem;
  color: rgb(51, 51, 51);
  font-weight: bold;
  line-height: 1.333;
  margin-bottom: 25rem;
}
@media (width <= 768px) {
  .privacypolicy__title {
    font-size: 30rem;
    line-height: 1.533;
    margin-bottom: 16rem;
  }
}
@media (768px < width) {
  .campaign-modal .privacypolicy__title {
    font-size: 30rem;
  }
}

.campaign-modal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  opacity: 0;
  transition: 0.3s ease;
}
.campaign-modal[aria-hidden=false] {
  opacity: 1;
  z-index: 20;
}
.campaign-modal__overlay {
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.8);
}
@media (768px < width) {
  .campaign-modal__overlay {
    padding: 100rem 0;
  }
}
@media (width <= 768px) {
  .campaign-modal__overlay {
    padding: 40rem 21rem;
  }
}
.campaign-modal__container {
  background: #fff;
  position: relative;
  overflow-y: auto;
}
@media (768px < width) {
  .campaign-modal__container {
    max-height: 90vh;
    border-radius: 20rem;
    padding: 100rem;
  }
}
@media (width <= 768px) {
  .campaign-modal__container {
    max-height: 95vh;
    border-radius: 10rem;
    padding: 119rem 40rem;
  }
}
.campaign-modal__list {
  display: flex;
  flex-direction: column;
}
@media (768px < width) {
  .campaign-modal__list {
    gap: 60rem;
    margin-bottom: 39rem;
  }
}
@media (width <= 768px) {
  .campaign-modal__list {
    gap: 48rem;
    margin-bottom: 31rem;
  }
}
.campaign-modal__item {
  display: flex;
  flex-direction: column;
}
.campaign-modal__title {
  font-size: 30rem;
  color: rgb(51, 51, 51);
  font-weight: bold;
}
@media (768px < width) {
  .campaign-modal__title {
    line-height: 2;
  }
}
@media (width <= 768px) {
  .campaign-modal__title {
    line-height: 1.667;
  }
}
.campaign-modal__description {
  font-size: 30rem;
  color: rgb(51, 51, 51);
}
@media (768px < width) {
  .campaign-modal__description {
    line-height: 2;
  }
}
@media (width <= 768px) {
  .campaign-modal__description {
    line-height: 1.667;
  }
}
.campaign-modal__description a {
  text-decoration: underline;
}
.campaign-modal__button--close {
  width: 56rem;
  height: 56rem;
  position: absolute;
  top: 40rem;
  right: 40rem;
}
.campaign-modal__button--close span {
  display: inline-block;
  width: 100%;
  height: 2rem;
  background: #393939;
  vertical-align: middle;
  position: relative;
  transform: rotate(45deg);
}
.campaign-modal__button--close span::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #393939;
  transform: rotate(90deg);
}

@media (width <= 768px) {
  .u-pc {
    display: none !important;
  }
}

@media (768px < width) {
  .u-sp {
    display: none !important;
  }
}

a[href=""] {
  box-shadow: -2px -2px 5px 4px rgba(0, 90, 255, 0.3), 2px 2px 6px 4px rgba(0, 213, 83, 0.3);
}
a[href=""]:hover {
  box-shadow: none;
}

/*# sourceMappingURL=app.css.map */
