@charset "UTF-8";
@media screen and (min-width: 768px) {
  .u-mobile {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .u-desktop {
    display: none;
  }
}
html {
  font-size: 100%;
}
@media (max-width: 1340px) {
  html {
    font-size: 1.1940298507vw;
  }
}
@media screen and (max-width: 950px) {
  html {
    font-size: 100%;
  }
}
@media (max-width: 375px) {
  html {
    font-size: 4.2666666667vw;
  }
}

body {
  font-family: "Noto Sans JP", sans-serif;
  color: #333;
}

a,
button {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
a:hover,
button:hover {
  opacity: 0.7;
  cursor: pointer;
}
@media screen and (max-width: 950px) {
  a:hover,
  button:hover {
    opacity: 1;
  }
}

.row {
  margin: 0;
}

/*****************************
* A Modern CSS Reset (https://github.com/hankchizljaw/modern-css-reset)
* 上記に、ul要素,ol要素,a要素への記述追加
*****************************/
/* Box sizing rules */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* Remove default margin */
.service-page body,
.service-page h1,
.service-page h2,
.service-page h3,
.service-page h4,
.service-page p,
.service-page figure,
.service-page blockquote,
.service-page dl,
.service-page dd,
.service-page ul,
.service-page li {
  margin: 0;
}

body {
  margin: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul,
ol {
  list-style: none;
  padding: 0;
}

/* Set core root defaults */
html:focus-within {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

a {
  text-decoration: none;
  color: inherit;
}

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  display: block;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

button {
  border: none;
  padding: 0;
  background-color: transparent;
  background-color: initial;
}

/* Remove all animations, transitions and smooth scroll for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    -webkit-animation-duration: 0.01ms !important;
            animation-duration: 0.01ms !important;
    -webkit-animation-iteration-count: 1 !important;
            animation-iteration-count: 1 !important;
    -webkit-transition-duration: 0.01ms !important;
            transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
.l-inner {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  max-width: 1340px;
  padding-right: 1.5625rem;
  padding-left: 1.5625rem;
}
@media screen and (max-width: 950px) {
  .l-inner {
    max-width: 600px;
    padding-right: 1rem;
    padding-left: 1rem;
  }
}
@media screen and (max-width: 650px) {
  .l-inner {
    max-width: none;
  }
}

.section-lead {
  font-size: 1.125rem;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 950px) {
  .section-lead {
    font-size: 1.125rem;
  }
}

.section-title {
  font-size: 2.625rem;
  font-weight: 700;
  text-align: center;
  color: #333;
}
@media screen and (max-width: 950px) {
  .section-title {
    font-size: 1.375rem;
  }
}

.service-page {
  /* 共通セクション */
}
.service-page .about {
  padding: 4.6875rem 0;
}
@media screen and (max-width: 950px) {
  .service-page .about {
    padding: 2.8125rem 0 3.75rem;
  }
}
.service-page .about__inner.l-inner {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  max-width: 1340px;
  padding-right: 1.5625rem;
  padding-left: 1.5625rem;
}
@media screen and (max-width: 950px) {
  .service-page .about__inner.l-inner {
    max-width: 600px;
    padding-left: 0;
    padding-right: 0;
  }
}
.service-page .about__card {
  background: #fff;
  padding-top: 2.296875rem;
  padding-left: 2.296875rem;
  padding-right: 2.296875rem;
  -webkit-box-shadow: 0 0.228125rem 0.228125rem 0 rgba(0, 0, 0, .25);
          box-shadow: 0 0.228125rem 0.228125rem 0 rgba(0, 0, 0, .25);
}
@media screen and (max-width: 950px) {
  .service-page .about__card {
    padding-top: 2.5rem;
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
.service-page .about__card--01 {
  padding-bottom: 6.5625rem;
}
@media screen and (max-width: 950px) {
  .service-page .about__card--01 {
    padding-bottom: 1.375rem;
  }
}
.service-page .about__card--02 {
  padding-bottom: 1.171875rem;
}
@media screen and (max-width: 950px) {
  .service-page .about__card--02 {
    padding-bottom: 1.25rem;
  }
}
.service-page .about__card + .about__card {
  margin-top: 3.609375rem;
}
@media screen and (max-width: 950px) {
  .service-page .about__card + .about__card {
    margin-top: 2.8125rem;
  }
}
.service-page .about__title {
  font-size: 2.25rem;
  font-weight: bold;
  border-bottom: 1px solid #515859;
  padding: 0.28125rem 0 0.46875rem 1.3125rem;
  margin-bottom: 1.40625rem;
  position: relative;
}
@media screen and (max-width: 950px) {
  .service-page .about__title {
    font-size: 1.375rem;
    padding: 0.375rem 0 0.25rem 0.9375rem;
    margin-bottom: 1.5625rem;
  }
}
.service-page .about__title::before {
  position: absolute;
  top: 0;
  left: 0;
  right: auto;
  bottom: auto;
  content: "";
  display: block;
  width: 0.46875rem;
  height: 2.71875rem;
  background-color: #009900;
}
@media screen and (max-width: 950px) {
  .service-page .about__title::before {
    width: 0.25rem;
    height: 1.875rem;
  }
}
.service-page .about__text {
  line-height: 1.4;
  margin-bottom: 1.40625rem;
  color: #333;
}
@media screen and (max-width: 950px) {
  .service-page .about__text {
    margin-bottom: 1.1875rem;
  }
}
.service-page .about__text--01 {
  font-size: 1.25rem;
}
@media screen and (max-width: 950px) {
  .service-page .about__text--01 {
    font-size: 1rem;
  }
}
.service-page .about__text--02 {
  font-size: 1.21875rem;
}
@media screen and (max-width: 950px) {
  .service-page .about__text--02 {
    font-size: 1rem;
  }
}

.service-page .cases {
  padding: 2.8125rem 0;
}
@media screen and (max-width: 950px) {
  .service-page .cases {
    padding-top: 1.875rem;
  }
}
.service-page .cases__title.section-title {
  font-weight: 700;
}
@media screen and (max-width: 950px) {
  .service-page .cases__title.section-title {
    font-size: 1.5rem;
  }
}
.service-page .cases__lists {
  display: grid;
  grid-template-columns: 24.7343565525% 24.7343565525% 24.7343565525% 24.7343565525%;
  -webkit-column-gap: 0.3541912633%;
     -moz-column-gap: 0.3541912633%;
          column-gap: 0.3541912633%;
  max-width: 79.40625rem;
  margin: 3.984375rem 0 0;
}
@media screen and (max-width: 950px) {
  .service-page .cases__lists {
    display: block;
    margin-top: 2.5rem;
  }
}
.service-page .cases__item {
  width: 100%;
  height: auto;
  display: contents;
}
@media screen and (max-width: 950px) {
  .service-page .cases__item {
    display: block;
  }
}
@-moz-document url-prefix() {
  .service-page .cases__item {
    display: block;
  }
}
@media screen and (max-width: 950px) {
  .service-page .cases__item + .cases__item {
    margin-top: 0.625rem;
  }
}
.service-page {
  /* ============ Element: case-card ============ */
}
.service-page .case-card {
  width: 100%;
  height: 100%;
  background: #f0f4f0;
  padding: 1.40625rem 5.2505966587%;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  gap: 0;
}
@media screen and (max-width: 950px) {
  .service-page .case-card {
    padding: 2.1875rem 2.3866348449%;
  }
}
.service-page .case-card__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-column-gap: 1.171875rem;
     -moz-column-gap: 1.171875rem;
          column-gap: 1.171875rem;
  color: #333;
}
@media screen and (max-width: 950px) {
  .service-page .case-card__head {
    -webkit-column-gap: 0.8125rem;
       -moz-column-gap: 0.8125rem;
            column-gap: 0.8125rem;
  }
}
.service-page .case-card__label {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  font-size: 1.3125rem;
  line-height: 1;
  color: #333;
  padding-left: 0.9375rem;
  position: relative;
}
@media screen and (max-width: 950px) {
  .service-page .case-card__label {
    font-size: 1.25rem;
    padding-left: 0.9375rem;
  }
}
.service-page .case-card__label::before {
  position: absolute;
  top: auto;
  bottom: 0;
  left: 0;
  right: auto;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  content: "";
  display: block;
  width: 0.375rem;
  height: 1.640625rem;
  background-color: #009900;
}
@media screen and (max-width: 950px) {
  .service-page .case-card__label::before {
    width: 0.375rem;
    height: 2rem;
  }
}
.service-page .case-card__num {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  font-size: 2.25rem;
  color: #333;
  line-height: 1;
}
@media screen and (max-width: 950px) {
  .service-page .case-card__num {
    font-size: 2rem;
  }
}
.service-page .case-card__title {
  font-size: 1.03125rem;
  font-weight: 800;
  line-height: 1.35;
  margin-top: 1.40625rem;
}
@media screen and (max-width: 950px) {
  .service-page .case-card__title {
    font-size: 1.125rem;
    margin-top: 1.25rem;
  }
}
.service-page .case-card__text {
  font-size: 0.9375rem;
  line-height: 1.35;
  margin-top: 0.9375rem;
  color: #333;
}
@media screen and (max-width: 950px) {
  .service-page .case-card__text {
    font-size: 1rem;
    margin-top: 0.9375rem;
  }
}

.service-page .compare {
  padding-top: 5.015625rem;
  padding-bottom: 2.34375rem;
}
@media screen and (max-width: 950px) {
  .service-page .compare {
    padding-top: 3.75rem;
    padding-bottom: 2.375rem;
  }
}
.service-page .compare__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-image: url(../images/question&exclamation02.png);
  background-repeat: no-repeat;
  background-position: calc(50% - 26.25rem) top;
  background-size: 5.625rem;
  padding-top: 2.8125rem;
  margin-bottom: 1.875rem;
}
@media screen and (max-width: 950px) {
  .service-page .compare__title {
    display: block;
    margin-bottom: 1.0625rem;
    background-position: calc(50% - 7.8125rem) top;
    background-size: 3.75rem;
    padding-top: 1.25rem;
  }
}
.service-page .compare__title span {
  display: block;
  border-bottom: 3.5px solid #009900;
}
@media screen and (max-width: 950px) {
  .service-page .compare__title span {
    padding-left: 2.5rem;
    border-bottom: 2px solid #009900;
    padding-bottom: 0.625rem;
  }
}
.service-page .compare__desc {
  font-size: 1.40625rem;
  font-weight: 500;
  letter-spacing: -0.02em;
  color: #333;
  text-align: center;
}
@media screen and (max-width: 950px) {
  .service-page .compare__desc {
    font-size: 1.125rem;
    line-height: 1.2;
  }
}
.service-page .compare__inner.compare__inner--table.l-inner {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  max-width: 1340px;
  padding-right: 1.5625rem;
  padding-left: 1.5625rem;
}
@media screen and (max-width: 950px) {
  .service-page .compare__inner.compare__inner--table.l-inner {
    max-width: none;
    padding-right: 1rem;
    padding-left: 1rem;
  }
}
@media screen and (max-width: 650px) {
  .service-page .compare__inner.compare__inner--table.l-inner {
    max-width: none;
  }
}
.service-page .compare__table-container {
  margin-top: 1.640625rem;
}
@media screen and (max-width: 950px) {
  .service-page .compare__table-container {
    width: 100%;
    overflow-y: scroll;
    margin-top: 0.5rem;
    padding-bottom: 0.625rem;
  }
}
.service-page .comapare__table {
  padding: 0.46875rem;
}
@media screen and (max-width: 950px) {
  .service-page .comapare__table {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
  }
}
.service-page .compare-table__head-grid,
.service-page .compare-table__body-grid {
  display: grid;
  grid-template-columns: 24.1791044776% 33.302238806% 33.302238806%;
  -webkit-column-gap: 2.4626865672%;
     -moz-column-gap: 2.4626865672%;
          column-gap: 2.4626865672%;
  row-gap: 0;
}
@media screen and (max-width: 950px) {
  .service-page .compare-table__head-grid,
  .service-page .compare-table__body-grid {
    grid-template-columns: 11.75rem 25.5625rem 24.9375rem;
    -webkit-column-gap: 0.75rem;
       -moz-column-gap: 0.75rem;
            column-gap: 0.75rem;
  }
}
.service-page .comapare-table__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 1.40625rem;
  font-weight: bold;
  color: #fff;
  width: 100%;
  height: 6.09375rem;
}
@media screen and (max-width: 950px) {
  .service-page .comapare-table__head {
    font-size: 1.125rem;
    height: 6.875rem;
  }
}
.service-page .comapare-table__head span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 95%;
  padding: 0.9375rem 0;
  position: relative;
}
@media screen and (max-width: 950px) {
  .service-page .comapare-table__head span {
    padding: 0.9375rem 0;
  }
}
.service-page .comapare-table__head span:after {
  position: absolute;
  top: auto;
  bottom: 1px;
  left: 50%;
  right: auto;
  -webkit-transform: translate(-50%, 100%);
          transform: translate(-50%, 100%);
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 0.515625rem solid transparent;
  border-left: 0.515625rem solid transparent;
  border-bottom: 0;
}
@media screen and (max-width: 950px) {
  .service-page .comapare-table__head span:after {
    border-right: 0.4375rem solid transparent;
    border-left: 0.4375rem solid transparent;
  }
}
.service-page .comapare-table__head--green span {
  background-color: #009900;
}
.service-page .comapare-table__head--green span:after {
  border-top: 1.078125rem solid #009900;
}
@media screen and (max-width: 950px) {
  .service-page .comapare-table__head--green span:after {
    border-top: 0.9375rem solid #009900;
  }
}
.service-page .comapare-table__head--gray span {
  background-color: #939393;
}
.service-page .comapare-table__head--gray span:after {
  border-top: 1.078125rem solid #939393;
}
@media screen and (max-width: 950px) {
  .service-page .comapare-table__head--gray span:after {
    border-top: 0.9375rem solid #939393;
  }
}
.service-page {
  /* ===== Column card ===== */
}
.service-page .compare-table__body-grid {
  margin-top: 0.703125rem;
}
@media screen and (max-width: 950px) {
  .service-page .compare-table__body-grid {
    margin-top: -0.3125rem;
  }
}
.service-page .compare-body {
  -webkit-box-shadow: 0 0.2025rem 0.2025rem rgba(0, 0, 0, .25);
          box-shadow: 0 0.2025rem 0.2025rem rgba(0, 0, 0, .25);
  border-radius: 0.46875rem;
  padding: 0.703125rem 1.171875rem;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 9;
}
@media screen and (max-width: 950px) {
  .service-page .compare-body {
    padding: 0.9375rem 0.625rem;
  }
}
.service-page {
  /* body */
}
.service-page .compare-body.compare-body--labels {
  background-color: #f0f4f0;
}
.service-page .compare-row {
  font-size: 1.03125rem;
  line-height: 1.4;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 950px) {
  .service-page .compare-row {
    font-size: 1rem;
  }
}
.service-page .compare-row:last-of-type {
  border-bottom: none;
}
.service-page {
  /* ===== left labels ===== */
}
.service-page .compare-label {
  font-weight: bold;
  color: #009900;
  padding: 0.890625rem 0.9375rem;
}
@media screen and (max-width: 950px) {
  .service-page .compare-label {
    padding: 0.9375rem 0.75rem;
  }
}
.service-page {
  /* ===== cells ===== */
}
.service-page .compare-cell {
  font-weight: 500;
  color: #333;
  padding: 0.890625rem 0.9375rem;
}
@media screen and (max-width: 950px) {
  .service-page .compare-cell {
    padding: 0.9375rem 0.75rem;
  }
}
.service-page .text-red {
  color: #ed4517;
}
.service-page {
  /* Section */
}
.service-page .costdown {
  padding: 2.25rem 0;
}
@media screen and (max-width: 950px) {
  .service-page .costdown {
    padding: 1.875rem 0 2.1875rem;
  }
}
.service-page .costdown__title {
  margin-bottom: 3.515625rem;
}
@media screen and (max-width: 950px) {
  .service-page .costdown__title {
    font-size: 1.5rem;
    letter-spacing: -0.02em;
    margin-bottom: 2.5rem;
  }
}
.service-page .costdown__intro {
  position: relative;
}
.service-page {
  /* Intro */
}
.service-page .costdown__image {
  width: 45.8682170543%;
  height: auto;
}
@media screen and (max-width: 950px) {
  .service-page .costdown__image {
    width: 100%;
  }
}
.service-page .costdown__image img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 789/532;
}
.service-page .costdown__text {
  position: absolute;
  top: 2.578125rem;
  bottom: auto;
  left: auto;
  right: 0;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  width: 57.8488372093%;
  height: auto;
  background-color: #fff;
  -webkit-box-shadow: 0 0.2278125rem 0.2278125rem rgba(0, 0, 0, .25);
          box-shadow: 0 0.2278125rem 0.2278125rem rgba(0, 0, 0, .25);
  padding: 2.109375rem 1.640625rem;
}
@media screen and (max-width: 950px) {
  .service-page .costdown__text {
    position: static;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    width: 100%;
    padding: 1.5625rem 0.625rem;
    margin-top: 0.3125rem;
  }
}
.service-page .costdown__text p {
  font-size: 1.3125rem;
  line-height: 1.4;
}
@media screen and (max-width: 950px) {
  .service-page .costdown__text p {
    font-size: 1rem;
  }
}
.service-page .costdown__text p + p {
  margin-top: 1.875rem;
}
@media screen and (max-width: 950px) {
  .service-page .costdown__text p + p {
    margin-top: 1.25rem;
  }
}
.service-page .costdown__costdown-case {
  margin: 8.671875rem 0 0;
}
@media screen and (max-width: 950px) {
  .service-page .costdown__costdown-case {
    margin-top: 3.75rem;
  }
}
.service-page {
  /* Block: costdown-case ------------------------------------------------------------ */
  /* 1レコード間の余白 */
}
.service-page .costdown-case__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: stretch;
      -ms-flex-pack: stretch;
          justify-content: stretch;
  -webkit-column-gap: 4.9418604651%;
     -moz-column-gap: 4.9418604651%;
          column-gap: 4.9418604651%;
}
@media screen and (max-width: 950px) {
  .service-page .costdown-case__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 2.8125rem;
  }
}
.service-page .costdown-case__item + .costdown-case__item {
  margin-top: 3.046875rem;
}
@media screen and (max-width: 950px) {
  .service-page .costdown-case__item + .costdown-case__item {
    margin-top: 2.5rem;
  }
}
.service-page {
  /* 左側（アイコン＋テキスト） */
}
.service-page .costdown-case-worries {
  -ms-flex-preferred-size: 51.9186046512%;
      flex-basis: 51.9186046512%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 1.171875rem;
     -moz-column-gap: 1.171875rem;
          column-gap: 1.171875rem;
  position: relative;
}
@media screen and (max-width: 950px) {
  .service-page .costdown-case-worries {
    -webkit-column-gap: 2.332361516%;
       -moz-column-gap: 2.332361516%;
            column-gap: 2.332361516%;
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
  }
}
.service-page .costdown-case-worries::after {
  position: absolute;
  top: 50%;
  bottom: auto;
  left: auto;
  right: -1.078125rem;
  -webkit-transform: translate(100%, -50%);
          transform: translate(100%, -50%);
  display: block;
  content: "";
  width: 1.96875rem;
  height: 5.109375rem;
  background-image: url(../images/arrow_right01.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media screen and (max-width: 950px) {
  .service-page .costdown-case-worries::after {
    top: auto;
    left: 50%;
    right: auto;
    bottom: -3.125rem;
    -webkit-transform: translate(-50%, 0) rotate(90deg);
            transform: translate(-50%, 0) rotate(90deg);
    width: 1.4375rem;
    height: 3.75rem;
  }
}
.service-page .costdown-case-worries__icon {
  -ms-flex-preferred-size: 21.5005599104%;
      flex-basis: 21.5005599104%;
  width: auto;
  height: auto;
}
@media screen and (max-width: 950px) {
  .service-page .costdown-case-worries__icon {
    -ms-flex-preferred-size: 29.1545189504%;
        flex-basis: 29.1545189504%;
  }
}
.service-page .costdown-case-worries__img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 50%;
  aspect-ratio: 1;
}
.service-page .costdown-case-worries__text {
  -ms-flex-preferred-size: 72.5616291533%;
      flex-basis: 72.5616291533%;
  width: auto;
  height: auto;
  line-height: 1.35;
  font-size: 1.125rem;
  color: #333;
}
@media screen and (max-width: 950px) {
  .service-page .costdown-case-worries__text {
    -ms-flex-preferred-size: 68.5131195335%;
        flex-basis: 68.5131195335%;
    font-size: 1rem;
    padding-right: 0.3125rem;
  }
}
.service-page {
  /* 右側カード */
}
.service-page .costdown-case-card {
  -ms-flex-preferred-size: 43.1395348837%;
      flex-basis: 43.1395348837%;
  -ms-flex-item-align: stretch;
      align-self: stretch;
  width: auto;
  height: auto;
  min-height: 9.84375rem;
  -webkit-box-shadow: 0 0.2278125rem 0.2278125rem rgba(0, 0, 0, .25);
          box-shadow: 0 0.2278125rem 0.2278125rem rgba(0, 0, 0, .25);
  padding: 0.46875rem 1.640625rem;
}
@media screen and (max-width: 950px) {
  .service-page .costdown-case-card {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    min-height: auto;
    padding: 0.9375rem 0.9375rem 1.5625rem;
    text-align: center;
  }
}
.service-page .costdown-case-card__text {
  line-height: 1.35;
  font-size: 1.40625rem;
  font-weight: 400;
  color: #333;
}
@media screen and (max-width: 950px) {
  .service-page .costdown-case-card__text {
    font-size: 1.125rem;
  }
}
.service-page .costdown-case-card__accent {
  color: #ed4517;
}
.service-page .cta {
  padding: 2.34375rem 1.40625rem;
}
@media screen and (max-width: 950px) {
  .service-page .cta {
    padding: 0.625rem 0.625rem;
  }
}
.service-page .cta__container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 4.546875rem;
     -moz-column-gap: 4.546875rem;
          column-gap: 4.546875rem;
}
@media screen and (max-width: 950px) {
  .service-page .cta__container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 0.875rem;
  }
}
.service-page .cta-button {
  width: 18.421875rem;
  height: 4.78125rem;
  border-radius: 50vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  color: #fff;
  -webkit-transition: background-color 0.3s, border 0.3s, color 0.3s;
  transition: background-color 0.3s, border 0.3s, color 0.3s;
}
@media screen and (max-width: 950px) {
  .service-page .cta-button {
    width: 19.4375rem;
    height: 5.0625rem;
  }
}
.service-page .cta-button--mail {
  font-size: 1.40625rem;
  font-weight: 700;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#009900), to(#80c480));
  background-image: linear-gradient(to bottom, #009900 0%, #80c480 100%);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 950px) {
  .service-page .cta-button--mail {
    font-size: 1.5rem;
  }
}
.service-page .cta-button--mail:hover {
  color: #009900;
  background-color: #fff;
  background-image: none;
  border: 2px solid #009900;
}
.service-page .cta-button--mail span {
  position: relative;
}
.service-page .cta-button--mail span::before {
  position: absolute;
  top: 50%;
  bottom: auto;
  left: -3.125rem;
  right: auto;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  display: block;
  content: "";
  width: 1.359375rem;
  height: 1.359375rem;
  background-image: url(../images/icon_mailContact02.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 950px) {
  .service-page .cta-button--mail span::before {
    left: -2.1875rem;
    width: 1.5rem;
    height: 1.5rem;
  }
}
.service-page .cta-button--mail:hover span::before {
  background-image: url(../images/icon_mailContact03.png);
}
.service-page .cta-button--mail span::after {
  position: absolute;
  top: 50%;
  bottom: auto;
  right: -2.34375rem;
  left: auto;
  -webkit-transform: translate(0, -50%) rotate(-45deg);
          transform: translate(0, -50%) rotate(-45deg);
  display: block;
  content: "";
  width: 0.703125rem;
  height: 0.703125rem;
  border-bottom: 3px solid #fff;
  border-right: 3px solid #fff;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 950px) {
  .service-page .cta-button--mail span::after {
    right: -3.125rem;
    width: 0.625rem;
    height: 0.625rem;
  }
}
.service-page .cta-button--mail:hover span::after {
  border-bottom: 3px solid #009900;
  border-right: 3px solid #009900;
}
.service-page .cta-button--tel {
  background-image: -webkit-gradient(linear, left top, left bottom, from(#f36c01), to(#eba771));
  background-image: linear-gradient(to bottom, #f36c01 0%, #eba771 100%);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.service-page .cta-button--tel:hover {
  background-image: none;
  background-color: #fff;
  border: 2px solid #f36c01;
  color: #f36c01;
}
.service-page .cta-button--tel-text {
  font-size: 0.9375rem;
  line-height: 1;
  font-weight: 500;
  position: relative;
}
@media screen and (max-width: 950px) {
  .service-page .cta-button--tel-text {
    font-size: 0.875rem;
  }
}
.service-page .cta-button--tel-text:before {
  position: absolute;
  top: 50%;
  bottom: auto;
  left: -1.40625rem;
  right: auto;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  display: block;
  content: "";
  width: 1.265625rem;
  height: 1.265625rem;
  background-image: url(../images/icon_telContact02.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 950px) {
  .service-page .cta-button--tel-text:before {
    width: 1.125rem;
    height: 1.125rem;
  }
}
.service-page .cta-button--tel:hover .cta-button--tel-text:before {
  background-image: url(../images/icon_telContact03.png);
}
.service-page .cta-button--tel-number {
  font-family: "Poppins", sans-serif;
  font-size: 1.6875rem;
  font-weight: 700;
  line-height: 1;
  margin-top: 0.234375rem;
}
@media screen and (max-width: 950px) {
  .service-page .cta-button--tel-number {
    font-size: 1.875rem;
  }
}

.service-page {
  /* 共通 */
}
.service-page .diffrent {
  background-color: #f7fdf9;
  padding-top: 5.015625rem;
  padding-bottom: 4.6875rem;
  background-image: url(../images/diffrent_bgImg_pc.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
@media screen and (max-width: 950px) {
  .service-page .diffrent {
    background-image: url(../images/diffrent_bgImg_sp.jpg);
    padding-top: 1.6875rem;
    padding-bottom: 1.25rem;
  }
}
.service-page .diffrent__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-column-gap: 3.3582089552%;
     -moz-column-gap: 3.3582089552%;
          column-gap: 3.3582089552%;
  row-gap: 2.109375rem;
}
@media screen and (max-width: 950px) {
  .service-page .diffrent__container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.service-page .diffrent__card {
  -ms-flex-preferred-size: 44.3656716418%;
      flex-basis: 44.3656716418%;
  padding: 0 1.875rem;
  margin-bottom: 0.9375rem;
}
@media screen and (max-width: 950px) {
  .service-page .diffrent__card {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    padding: 0;
  }
}
@media screen and (max-width: 950px) {
  .service-page .diffrent .row > div + div {
    margin-top: 0.75rem;
  }
}
.service-page .diffrent__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-right: 0.9375rem;
  margin-bottom: 1.640625rem;
  background-image: url(../images/question&exclamation01.png);
  background-repeat: no-repeat;
  background-position: calc(50% + 14.0625rem) top;
  background-size: 5.15625rem 3.515625rem;
  padding-top: 1.40625rem;
}
@media screen and (max-width: 950px) {
  .service-page .diffrent__title {
    display: block;
    margin-right: 0;
    margin-bottom: 0.9375rem;
    background-size: 3.375rem 2.28125rem;
    background-position: calc(50% + 8.125rem);
  }
}
.service-page .diffrent__title span {
  display: block;
  border-bottom: 0.173125rem solid #009900;
  padding-bottom: 0.234375rem;
  padding-right: 0.46875rem;
  margin-right: 2.34375rem;
}
@media screen and (max-width: 950px) {
  .service-page .diffrent__title span {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding-right: 0;
    margin-right: 0rem;
  }
}
.service-page .diffrent__subtitle {
  font-size: 1.40625rem;
  font-weight: bold;
  color: #009900;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 1.171875rem;
}
@media screen and (max-width: 950px) {
  .service-page .diffrent__subtitle {
    font-size: 1.375rem;
    margin-bottom: 1.125rem;
  }
}
.service-page .diffrent__subtitle span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  align-items: center;
  width: 10.3125rem;
  height: 2.71875rem;
  background-image: url(../images/postit.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  padding-bottom: 0.46875rem;
}
@media screen and (max-width: 950px) {
  .service-page .diffrent__subtitle span {
    width: 8.4375rem;
    height: 2.8125rem;
  }
}
.service-page .diffrent__textbox p {
  font-size: 1.03125rem;
  line-height: 1.4;
  margin-bottom: 0;
}
@media screen and (max-width: 950px) {
  .service-page .diffrent__textbox p {
    font-size: 1rem;
  }
}
.service-page .diffrent__textbox p + p {
  margin-top: 1.640625rem;
}
@media screen and (max-width: 950px) {
  .service-page .diffrent__textbox p + p {
    margin-top: 1.25rem;
  }
}

.service-page {
  /* ===== FAQ Section ===== */
}
.service-page .faq {
  padding: 6.09375rem 0.703125rem;
  background-image: url(../images/bg_faq_pc.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
@media screen and (max-width: 950px) {
  .service-page .faq {
    background-image: url(../images/bg_faq_sp.jpg);
    padding: 3.75rem 0.9375rem;
  }
}
.service-page .faq__container {
  max-width: 56.25rem;
  margin: 0 auto;
  background: #fff;
  border-radius: 1.125rem;
  padding: 4.21875rem 4.21875rem 4.21875rem 4.6875rem;
  -webkit-box-shadow: 0 0.09375rem 0.375rem rgba(0, 0, 0, .05);
          box-shadow: 0 0.09375rem 0.375rem rgba(0, 0, 0, .05);
}
@media screen and (max-width: 950px) {
  .service-page .faq__container {
    max-width: 600px;
    padding: 2.8125rem 0.625rem 2.8125rem 0.625rem;
  }
}
@media screen and (max-width: 950px) {
  .service-page .faq__title {
    font-size: 1.5rem;
  }
}
.service-page .faq__list {
  margin: 3.515625rem 0 0;
}
@media screen and (max-width: 950px) {
  .service-page .faq__list {
    margin-top: 2.3125rem;
  }
}
.service-page .faq-item {
  border-bottom: 1px solid #ababab;
  padding: 1.171875rem 1.171875rem;
}
@media screen and (max-width: 950px) {
  .service-page .faq-item {
    padding: 0.75rem 0rem;
  }
}
.service-page .faq-item__question,
.service-page .faq-item__answer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 1.171875rem;
     -moz-column-gap: 1.171875rem;
          column-gap: 1.171875rem;
}
@media screen and (max-width: 950px) {
  .service-page .faq-item__question,
  .service-page .faq-item__answer {
    -webkit-column-gap: 0.3125rem;
       -moz-column-gap: 0.3125rem;
            column-gap: 0.3125rem;
  }
}
.service-page .faq-item__question {
  padding-right: 1.40625rem;
  cursor: pointer;
  position: relative;
}
.service-page .faq-item__question:before {
  position: absolute;
  top: 50%;
  bottom: auto;
  left: auto;
  right: 0;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  display: block;
  content: "";
  width: 0.890625rem;
  height: 0.09375rem;
  background-color: #515859;
}
@media screen and (max-width: 950px) {
  .service-page .faq-item__question:before {
    right: 0.3125rem;
    width: 0.875rem;
  }
}
.service-page .faq-item__question:after {
  position: absolute;
  top: 50%;
  bottom: auto;
  left: auto;
  right: 0.3984375rem;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  display: block;
  content: "";
  width: 0.09375rem;
  height: 0.890625rem;
  background-color: #515859;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
@media screen and (max-width: 950px) {
  .service-page .faq-item__question:after {
    right: 0.6875rem;
    height: 0.875rem;
  }
}
.service-page .faq-item.toggleOpen .faq-item__question:after {
  -webkit-transform: translate(0, -50%) rotate(90deg);
          transform: translate(0, -50%) rotate(90deg);
}
.service-page .faq-item__answer {
  height: 0;
  visibility: hidden;
  -webkit-transition: height 0.3s ease, visibility 0s;
  transition: height 0.3s ease, visibility 0s;
}
.service-page .faq-item.toggleOpen .faq-item__answer {
  height: auto;
  visibility: visible;
}
.service-page .faq-item__q,
.service-page .faq-item__a {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: #f0f4f0;
  border-radius: 50%;
  font-weight: 700;
  width: 2.015625rem;
  height: 2.015625rem;
  line-height: 1;
  font-family: "Poppins", sans-serif;
  font-size: 0.9375rem;
  font-weight: 500;
  color: #515859;
}
@media screen and (max-width: 950px) {
  .service-page .faq-item__q,
  .service-page .faq-item__a {
    width: 2rem;
    height: 2rem;
    font-size: 0.875rem;
  }
}
.service-page .faq-item__a {
  margin-top: 2.8125rem;
}
@media screen and (max-width: 950px) {
  .service-page .faq-item__a {
    margin-top: 1.5625rem;
  }
}
.service-page .faq-item__text,
.service-page .faq-item__answer-text {
  font-size: 0.9375rem;
  line-height: 1.8;
  font-weight: 400;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 950px) {
  .service-page .faq-item__text,
  .service-page .faq-item__answer-text {
    font-size: 1rem;
  }
}
.service-page .faq-item__answer-text {
  margin-top: 2.8125rem;
}
@media screen and (max-width: 950px) {
  .service-page .faq-item__answer-text {
    margin-top: 1.5625rem;
  }
}
.service-page .faq-item__text {
  color: #009900;
}
.service-page .faq__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 3.28125rem;
}
@media screen and (max-width: 950px) {
  .service-page .faq__link {
    margin-top: 2.5rem;
  }
}
.service-page .faq__link a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 1.125rem;
  font-weight: 700;
  color: #fff;
  border-radius: 50vw;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#009900), to(#80c480));
  background-image: linear-gradient(to bottom, #009900 0%, #80c480 100%);
  cursor: pointer;
  width: 13.265625rem;
  height: 3.375rem;
  position: relative;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (max-width: 950px) {
  .service-page .faq__link a {
    width: 14.625rem;
    height: 3.375rem;
    font-size: 1.125rem;
  }
}
.service-page .faq__link a:hover {
  color: #009900;
  background-color: #fff;
  background-image: none;
  border: 2px solid #009900;
}
.service-page .faq__link a:after {
  position: absolute;
  top: 50%;
  bottom: auto;
  left: auto;
  right: 1.40625rem;
  -webkit-transform: translate(0, -50%) rotate(-45deg);
          transform: translate(0, -50%) rotate(-45deg);
  display: block;
  content: "";
  width: 0.703125rem;
  height: 0.703125rem;
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
}
@media screen and (max-width: 950px) {
  .service-page .faq__link a:after {
    width: 0.75rem;
    height: 0.75rem;
  }
}
.service-page .faq__link a:hover:after {
  border-bottom: 2px solid #009900;
  border-right: 2px solid #009900;
}

.service-page {
  /* 全体ラッパ（body/rootは使用しない） */
}
.service-page .flow {
  padding-bottom: 2.8125rem;
}
@media screen and (max-width: 950px) {
  .service-page .flow {
    margin-top: 1.875rem;
  }
}
@media screen and (max-width: 950px) {
  .service-page .flow__title.section-title {
    font-size: 1.5rem;
  }
}
.service-page .flow__lead {
  font-weight: 400;
  margin-top: 1.40625rem;
}
@media screen and (max-width: 950px) {
  .service-page .flow__lead {
    line-height: 2;
    margin-top: 1.25rem;
  }
}
.service-page .flow__explain.section-lead {
  font-weight: 500;
  line-height: 1.8;
  margin-top: 1.40625rem;
}
@media screen and (max-width: 950px) {
  .service-page .flow__explain.section-lead {
    margin-top: 1.875rem;
  }
}
.service-page {
  /* ========= Steps ========= */
}
.service-page .flow-step {
  width: 100%;
  max-width: 64.6875rem;
  margin-top: 2.578125rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 950px) {
  .service-page .flow-step {
    margin-top: 2.625rem;
  }
}
.service-page {
  /* 各ステップ行 */
}
.service-page .flow-step__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 950px) {
  .service-page .flow-step__box {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
  }
}
.service-page .flow-step__box + .flow-step__box {
  margin-top: 3.46875rem;
}
@media screen and (max-width: 950px) {
  .service-page .flow-step__box + .flow-step__box {
    margin-top: 2.1875rem;
  }
}
.service-page {
  /* 左レール（縦線＋番号丸） */
}
.service-page .flow-step__rail {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.service-page .flow-step__rail::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 2px;
  height: calc(100% + 15rem);
  background: #515859;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (max-width: 950px) {
  .service-page .flow-step__rail::before {
    height: calc(100% + 13.75rem);
  }
}
@media screen and (max-width: 500px) {
  .service-page .flow-step__rail::before {
    height: calc(100% + 20rem);
  }
}
.service-page .flow-step__box:last-of-type .flow-step__rail::before {
  display: none;
}
.service-page .flow-step__num {
  display: grid;
  place-items: center;
  width: 7.078125rem;
  height: 7.078125rem;
  border-radius: 50%;
  background: #f0f4f0;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-size: 2.15625rem;
  color: #515859;
  margin-top: 0;
  z-index: 1;
}
@media screen and (max-width: 950px) {
  .service-page .flow-step__num {
    width: 2.5rem;
    height: 2.5rem;
    font-size: 1.25rem;
  }
}
.service-page {
  /* 右側の中身 */
}
.service-page .flow-step__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-left: 1.40625rem;
}
@media screen and (max-width: 950px) {
  .service-page .flow-step__content {
    display: block;
    margin-left: 0.9375rem;
  }
}
.service-page .flow-step__thumb {
  width: 13.640625rem;
  height: 13.640625rem;
  border-radius: 50%;
  overflow: hidden;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
@media screen and (max-width: 950px) {
  .service-page .flow-step__thumb {
    width: 5rem;
    height: 5rem;
  }
}
.service-page .flow-step__thumb img {
  width: 100%;
  height: 100%;
  aspect-ratio: 1;
  -o-object-fit: cover;
     object-fit: cover;
}
.service-page .flow-step__body {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  margin-left: 3.515625rem;
}
@media screen and (max-width: 950px) {
  .service-page .flow-step__body {
    margin-left: 0;
  }
}
.service-page .flow-step__heading {
  font-size: 1.40625rem;
  font-weight: 700;
  line-height: 1.35;
  color: #009900;
}
@media screen and (max-width: 950px) {
  .service-page .flow-step__heading {
    font-size: 1.125rem;
    margin-top: 0.3125rem;
  }
}
.service-page .flow-step__text {
  font-size: 0.9375rem;
  line-height: 1.6;
  margin-top: 1.40625rem;
}
@media screen and (max-width: 950px) {
  .service-page .flow-step__text {
    font-size: 1rem;
    margin-top: 0.625rem;
  }
}

.service-page .follow-cta {
  padding: 1.40625rem;
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: rgba(240, 244, 240, .8);
  z-index: -1;
  opacity: 0;
}
@media screen and (max-width: 950px) {
  .service-page .follow-cta {
    padding: 0.625rem;
  }
}
.service-page .follow-cta__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 4.546875rem;
     -moz-column-gap: 4.546875rem;
          column-gap: 4.546875rem;
}
@media screen and (max-width: 950px) {
  .service-page .follow-cta__container {
    -webkit-column-gap: 0.3125rem;
       -moz-column-gap: 0.3125rem;
            column-gap: 0.3125rem;
  }
}
.service-page .follow-cta-button {
  width: 18.421875rem;
  height: 4.78125rem;
  border-radius: 50vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  color: #fff;
  -webkit-transition: background-color 0.3s, border 0.3s, color 0.3s;
  transition: background-color 0.3s, border 0.3s, color 0.3s;
}
@media screen and (max-width: 950px) {
  .service-page .follow-cta-button {
    width: 11.1875rem;
    height: 2.875rem;
  }
}
.service-page .follow-cta-button:hover {
  opacity: 0.8;
}
.service-page .follow-cta-button--mail {
  font-size: 1.40625rem;
  font-weight: 700;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#009900), to(#256f25));
  background-image: linear-gradient(to bottom, #009900 0%, #256f25 100%);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 950px) {
  .service-page .follow-cta-button--mail {
    font-size: 0.875rem;
    padding-left: 0.625rem;
  }
}
.service-page .follow-cta-button--mail:hover {
  color: #009900;
  background-color: #fff;
  background-image: none;
  border: 2px solid #009900;
}
.service-page .follow-cta-button--mail span {
  position: relative;
}
.service-page .follow-cta-button--mail span::before {
  position: absolute;
  top: 50%;
  bottom: auto;
  left: -2.34375rem;
  right: auto;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  display: block;
  content: "";
  width: 1.359375rem;
  height: 1.359375rem;
  background-image: url(../images/icon_mailContact02.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 950px) {
  .service-page .follow-cta-button--mail span::before {
    left: -1.375rem;
    width: 1.125rem;
    height: 1.125rem;
  }
}
.service-page .follow-cta-button--mail:hover span::before {
  background-image: url(../images/icon_mailContact03.png);
}
.service-page .follow-cta-button--mail span::after {
  position: absolute;
  top: 50%;
  bottom: auto;
  right: -3.125rem;
  left: auto;
  -webkit-transform: translate(0, -50%) rotate(-45deg);
          transform: translate(0, -50%) rotate(-45deg);
  display: block;
  content: "";
  width: 0.703125rem;
  height: 0.703125rem;
  border-bottom: 3px solid #fff;
  border-right: 3px solid #fff;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 950px) {
  .service-page .follow-cta-button--mail span::after {
    right: -0.9375rem;
    width: 0.625rem;
    height: 0.625rem;
    border-bottom: 2px solid #fff;
    border-right: 2px solid #fff;
  }
}
.service-page .follow-cta-button--mail:hover span::after {
  border-bottom: 3px solid #009900;
  border-right: 3px solid #009900;
}
.service-page .follow-cta-button--tel {
  background-image: -webkit-gradient(linear, left top, left bottom, from(#f36c01), to(#c77330));
  background-image: linear-gradient(to bottom, #f36c01 0%, #c77330 100%);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.service-page .follow-cta-button--tel:hover {
  background-image: none;
  background-color: #fff;
  border: 2px solid #f36c01;
  color: #f36c01;
}
.service-page .follow-cta-button--tel-text {
  font-size: 0.9375rem;
  line-height: 1;
  font-weight: 500;
  position: relative;
}
@media screen and (max-width: 950px) {
  .service-page .follow-cta-button--tel-text {
    font-size: 0.625rem;
  }
}
.service-page .follow-cta-button--tel-text:before {
  position: absolute;
  top: 50%;
  bottom: auto;
  left: -1.40625rem;
  right: auto;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  display: block;
  content: "";
  width: 1.265625rem;
  height: 1.265625rem;
  background-image: url(../images/icon_telContact02.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 950px) {
  .service-page .follow-cta-button--tel-text:before {
    left: -0.9375rem;
    width: 0.8125rem;
    height: 0.8125rem;
  }
}
.service-page .follow-cta-button--tel:hover .follow-cta-button--tel-text:before {
  background-image: url(../images/icon_telContact03.png);
}
.service-page .follow-cta-button--tel-number {
  font-family: "Poppins", sans-serif;
  font-size: 1.6875rem;
  font-weight: 700;
  line-height: 1;
  margin-top: 0.234375rem;
}
@media screen and (max-width: 950px) {
  .service-page .follow-cta-button--tel-number {
    font-size: 1.125rem;
  }
}

.service-page .impact {
  padding: 2.25rem 0 3.328125rem;
}
@media screen and (max-width: 950px) {
  .service-page .impact {
    padding: 3.75rem 0 2.5rem;
  }
}
.service-page .impact__title {
  font-size: 2.625rem;
  font-weight: 800;
  text-align: center;
  margin-bottom: 3.65625rem;
}
@media screen and (max-width: 950px) {
  .service-page .impact__title {
    font-size: 1.5rem;
    margin-bottom: 1.875rem;
  }
}
.service-page .impact__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 1.7441860465%;
     -moz-column-gap: 1.7441860465%;
          column-gap: 1.7441860465%;
}
@media screen and (max-width: 950px) {
  .service-page .impact__box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 0.9375rem;
  }
}
.service-page .impact__box:nth-of-type(even) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media screen and (max-width: 950px) {
  .service-page .impact__box:nth-of-type(even) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.service-page .impact__box + .impact__box {
  margin-top: 4.453125rem;
}
@media screen and (max-width: 950px) {
  .service-page .impact__box + .impact__box {
    margin-top: 2.8125rem;
  }
}
.service-page {
  /* ---------- Figure (left) ---------- */
}
.service-page .impact__img {
  -ms-flex-preferred-size: 54.1279069767%;
      flex-basis: 54.1279069767%;
  width: auto;
  height: auto;
}
@media screen and (max-width: 950px) {
  .service-page .impact__img {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
  }
}
.service-page .impact__img img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1.5337726524;
  -o-object-fit: cover;
     object-fit: cover;
}
.service-page {
  /* ---------- Bullets (right top) ---------- */
}
.service-page .impact-bullets {
  -ms-flex-preferred-size: 44.1279069767%;
      flex-basis: 44.1279069767%;
}
.service-page .impact-bullets__list {
  width: 100%;
  -webkit-box-shadow: 0 0.228125rem 0.228125rem rgba(0, 0, 0, .25);
          box-shadow: 0 0.228125rem 0.228125rem rgba(0, 0, 0, .25);
  padding: 1.40625rem 1.171875rem 1.40625rem;
  margin: 0;
}
@media screen and (max-width: 950px) {
  .service-page .impact-bullets__list {
    padding: 1.25rem 0.625rem 1.25rem;
    margin: 0;
  }
}
.service-page .impact-bullets__item {
  font-size: 1.40625rem;
  font-weight: 400;
  line-height: 1.4;
  text-indent: -1em;
  padding-left: 1em;
}
@media screen and (max-width: 950px) {
  .service-page .impact-bullets__item {
    font-size: 1.125rem;
  }
}
.service-page .impact-bullets__item + .impact-bullets__item {
  margin-top: 1.40625rem;
}
@media screen and (max-width: 950px) {
  .service-page .impact-bullets__item + .impact-bullets__item {
    margin-top: 1.25rem;
  }
}

.service-page .makers {
  padding: 2.8125rem 0 4.6875rem;
}
@media screen and (max-width: 950px) {
  .service-page .makers {
    padding: 1.25rem 0 5rem;
  }
}
@media screen and (max-width: 950px) {
  .service-page .makers__title.section-title {
    font-size: 1.5rem;
  }
}
.service-page .makers__list-box {
  overflow: hidden;
  height: 23.4375rem;
  -webkit-transition: height 0.3s ease;
  transition: height 0.3s ease;
  position: relative;
  margin-top: 3.28125rem;
}
@media screen and (max-width: 950px) {
  .service-page .makers__list-box {
    overflow: visible;
    height: auto;
    margin-top: 2.5rem;
  }
}
.service-page .makers__list-box.toggleOpen {
  height: auto;
}
.service-page .makers__lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-column-gap: 2.3255813953%;
     -moz-column-gap: 2.3255813953%;
          column-gap: 2.3255813953%;
  row-gap: 1.875rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0;
}
@media screen and (max-width: 950px) {
  .service-page .makers__lists {
    display: block;
  }
}
.service-page .makers__item {
  width: 23.2558139535%;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 950px) {
  .service-page .makers__item {
    width: 100%;
    height: 12.5rem;
  }
}
@media screen and (max-width: 500px) {
  .service-page .makers__item {
    height: auto;
    max-height: 23.375rem;
  }
}
@media screen and (max-width: 950px) {
  .service-page .makers__item.toggleOpen {
    height: auto;
    max-height: none;
  }
}
@media screen and (max-width: 950px) {
  .service-page .makers__item + .makers__item {
    margin-top: 2rem;
  }
}
.service-page .maker-card {
  width: 100%;
  height: 100%;
  background: #f0f4f0;
  padding: 1.640625rem 0.796875rem;
}
@media screen and (max-width: 950px) {
  .service-page .maker-card {
    padding: 1.75rem 0.9375rem;
  }
}
.service-page .maker-card__heading {
  text-align: center;
  color: #009900;
  font-weight: 700;
  font-size: 1.40625rem;
}
@media screen and (max-width: 950px) {
  .service-page .maker-card__heading {
    font-size: 1.125rem;
  }
}
.service-page .maker-card__list {
  display: block;
  width: 100%;
  margin-top: 1.3125rem;
}
@media screen and (max-width: 950px) {
  .service-page .maker-card__list {
    margin-top: 0.9375rem;
  }
}
.service-page .maker-card__list dt {
  font-weight: 500;
  font-size: 1.03125rem;
  line-height: 1.6;
  margin: 0.46875rem 0;
}
@media screen and (max-width: 950px) {
  .service-page .maker-card__list dt {
    font-size: 1rem;
  }
}
.service-page .maker-card__list dt:not(:first-of-type) {
  margin-top: 1.03125rem;
}
@media screen and (max-width: 950px) {
  .service-page .maker-card__list dt:not(:first-of-type) {
    margin-top: 0.9375rem;
  }
}
.service-page .maker-card__list dd {
  word-wrap: anywhere;
  line-height: 1.6;
  font-size: 1.03125rem;
  font-weight: 400;
  margin: 0rem;
}
@media screen and (max-width: 950px) {
  .service-page .maker-card__list dd {
    font-size: 1rem;
  }
}
.service-page .makers__allLists-open {
  position: absolute;
  top: auto;
  bottom: 0;
  left: 0;
  right: 0;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 1.21875rem;
  line-height: 1.6;
  font-weight: 500;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#f6f8f6), to(#c2c4c2));
  background-image: linear-gradient(to bottom, #f6f8f6 0%, #c2c4c2 100%);
  width: 100%;
  height: 4.546875rem;
  cursor: pointer;
}
@media screen and (max-width: 950px) {
  .service-page .makers__allLists-open {
    display: none;
  }
}
.service-page .makers__eachList-open {
  position: absolute;
  top: auto;
  bottom: 0;
  left: 0;
  right: 0;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  display: none;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 1.21875rem;
  line-height: 1.6;
  font-weight: 500;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#f6f8f6), to(#c2c4c2));
  background-image: linear-gradient(to bottom, #f6f8f6 0%, #c2c4c2 100%);
  width: 100%;
  height: 3.75rem;
  cursor: pointer;
}
@media screen and (max-width: 950px) {
  .service-page .makers__eachList-open {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 2.5rem;
    font-size: 0.875rem;
  }
}
.service-page .makers__more-button {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 2.8125rem 0 8.4375rem;
  display: none;
}
@media screen and (max-width: 950px) {
  .service-page .makers__more-button {
    margin: 2.5rem 0 5rem;
  }
}
.service-page .makers__list-box.toggleOpen .makers__more-button,
.service-page .makers__item.toggleOpen .makers__more-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.service-page .makers__more-button a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.125rem;
  color: #fff;
  font-weight: 700;
  border-radius: 50vw;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#009900), to(#80c480));
  background-image: linear-gradient(to bottom, #009900 0%, #80c480 100%);
  width: 16.6875rem;
  height: 3.375rem;
  position: relative;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
@media screen and (max-width: 950px) {
  .service-page .makers__more-button a {
    font-size: 1rem;
    width: 14.8125rem;
    height: 3rem;
  }
}
.service-page .makers__more-button a:hover {
  background-image: none;
  color: #009900;
  border: 2px solid #009900;
}
.service-page .makers__more-button a::after {
  position: absolute;
  top: 50%;
  bottom: auto;
  left: auto;
  right: 0.9375rem;
  -webkit-transform: translate(0, -50%) rotate(-45deg);
          transform: translate(0, -50%) rotate(-45deg);
  display: block;
  content: "";
  width: 0.703125rem;
  height: 0.703125rem;
  border-bottom: 3px solid #fff;
  border-right: 3px solid #fff;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
@media screen and (max-width: 950px) {
  .service-page .makers__more-button a::after {
    width: 0.625rem;
    height: 0.625rem;
  }
}

.makers__more-button a:hover::after {
  border-bottom: 3px solid #009900;
  border-right: 3px solid #009900;
}

.service-page {
  /* ====== Section: merit ====== */
}
.service-page .merit {
  padding-top: 2.34375rem;
  padding-bottom: 2.34375rem;
}
@media screen and (max-width: 950px) {
  .service-page .merit {
    padding-top: 2.375rem;
  }
}
.service-page .merit-container {
  padding: 0 1.40625rem;
}
@media screen and (max-width: 950px) {
  .service-page .merit-container {
    padding: 0;
  }
}
.service-page .merit__title {
  font-weight: 800;
  text-align: center;
  font-size: 2.53125rem;
  letter-spacing: 0;
  margin-bottom: 3.75rem;
}
@media screen and (max-width: 950px) {
  .service-page .merit__title {
    font-size: 1.5rem;
    margin-bottom: 3.4375rem;
  }
}
.service-page .merit__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-column-gap: 0.5625rem;
     -moz-column-gap: 0.5625rem;
          column-gap: 0.5625rem;
  padding: 0 1.40625rem;
}
@media screen and (max-width: 950px) {
  .service-page .merit__box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    row-gap: 1.75rem;
    padding: 0;
  }
}
.service-page {
  /* ====== Merit card (accordion) ====== */
}
.service-page .merit-card {
  width: calc(33.33% - 0.35rem);
  border: 1px solid #515859;
  border-radius: 0.375rem;
  background: #fff;
  padding: 0;
  position: relative;
}
@media screen and (max-width: 950px) {
  .service-page .merit-card {
    width: 60%;
  }
}
@media screen and (max-width: 950px) {
  .service-page .merit-card {
    width: 100%;
  }
}
.service-page .merit-card.toggleOpen {
  -ms-flex-item-align: stretch;
      align-self: stretch;
}
@media screen and (max-width: 950px) {
  .service-page .merit-card.toggleOpen {
    -ms-flex-item-align: center;
        align-self: center;
  }
}
.service-page .merit-card__ribbon {
  position: absolute;
  top: 0;
  bottom: auto;
  left: 50%;
  right: auto;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: #009900;
  width: 14.296875rem;
  height: auto;
  padding: 0.21875rem 0;
  font-family: "Poppins", sans-serif;
  font-size: 1.03125rem;
  font-weight: 500;
  color: #fff;
}
@media screen and (max-width: 950px) {
  .service-page .merit-card__ribbon {
    width: 14rem;
    padding: 0.125rem 0;
    font-size: 1.25rem;
  }
}
.service-page {
  /* heading + button */
}
.service-page .merit-card__heading {
  width: 100%;
  height: 5.53125rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0;
}
@media screen and (max-width: 950px) {
  .service-page .merit-card__heading {
    height: 5.8125rem;
  }
}
.service-page .merit-card__toggle {
  all: unset; /* ボタンのデフォルトを消す */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0.75rem;
  width: 100%;
  height: 5.53125rem;
  cursor: pointer;
  border-radius: 12px;
  padding: 0rem 8.2720588235% 0rem 8.2720588235%;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  cursor: pointer;
  position: relative;
}
.service-page .merit-card__toggle::before {
  position: absolute;
  top: 50%;
  bottom: auto;
  left: auto;
  right: 0.9375rem;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  display: block;
  content: "";
  width: 1.359375rem;
  height: 1.359375rem;
  border-radius: 50%;
  border: 1px solid #333;
}
.service-page .merit-card__toggle::after {
  position: absolute;
  top: 50%;
  bottom: auto;
  left: auto;
  right: 1.40625rem;
  -webkit-transform: translate(0, -60%) rotate(45deg);
          transform: translate(0, -60%) rotate(45deg);
  display: block;
  content: "";
  width: 0.375rem;
  height: 0.375rem;
  border-bottom: 1px solid #333;
  border-right: 1px solid #333;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.service-page .merit-card.toggleOpen .merit-card__toggle::after {
  -webkit-transform: translate(0, -40%) rotate(225deg);
          transform: translate(0, -40%) rotate(225deg);
}
.service-page .merit-card__toggle:focus-visible {
  opacity: 0.8;
}
.service-page .merit-card__title {
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.4;
}
@media screen and (max-width: 950px) {
  .service-page .merit-card__title {
    font-size: 1.125rem;
  }
}
.service-page {
  /* 折りたたみ本文 */
}
.service-page .merit-card__content {
  visibility: collapse;
  height: 0;
  -webkit-transition: visibility 0s, height 0.3s ease;
  transition: visibility 0s, height 0.3s ease;
  margin-top: 0rem;
}
.service-page .merit-card.toggleOpen .merit-card__content {
  visibility: visible;
  height: auto;
}
.service-page .merit-card__text {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.4;
  padding: 2.109375rem 2.109375rem 2.109375rem 2.109375rem;
  margin: 0;
}
@media screen and (max-width: 950px) {
  .service-page .merit-card__text {
    font-size: 1.125rem;
  }
}
.service-page {
  /* ====== Divider message ====== */
}
.service-page .merit__divider {
  text-align: center;
  margin-top: 1.875rem;
  position: relative;
}
@media screen and (max-width: 950px) {
  .service-page .merit__divider {
    margin-top: 0.9375rem;
  }
}
.service-page .merit__divider::after {
  position: absolute;
  top: auto;
  bottom: -3.125rem;
  left: 50%;
  right: auto;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  display: block;
  content: "";
  width: 2.203125rem;
  height: 2.15625rem;
  background-image: url(../images/arrow_under01.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
@media screen and (max-width: 950px) {
  .service-page .merit__divider::after {
    bottom: -1.875rem;
    width: 1.75rem;
    height: 1.6875rem;
  }
}
.service-page .merit__lead {
  font-weight: 700;
  font-size: 1.5rem;
}
@media screen and (max-width: 950px) {
  .service-page .merit__lead {
    font-size: 1.375rem;
  }
}
.service-page .merit__caution {
  margin-top: 0.9375rem;
}
.service-page {
  /* ====== Caution band ====== */
}
.service-page .caution {
  position: relative;
  padding: 2.8125rem;
  background-image: url(../images/merit_bgImg_pc.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
@media screen and (max-width: 950px) {
  .service-page .caution {
    background-image: url(../images/merit_bgImg_sp.png);
    padding: 1.5625rem 0rem;
  }
}
@media screen and (max-width: 950px) {
  .service-page .caution__inner.l-inner {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }
}
.service-page .caution__text {
  text-align: center;
  font-size: 1.21875rem;
  line-height: 1.4;
}
@media screen and (max-width: 950px) {
  .service-page .caution__text {
    font-size: 1rem;
  }
}
.service-page .caution__text + .caution__text {
  margin-top: 1.59375rem;
}
@media screen and (max-width: 950px) {
  .service-page .caution__text + .caution__text {
    margin-top: 1.25rem;
  }
}
.service-page .caution__danger {
  text-align: center;
  font-weight: 400;
  color: #ed4517;
  font-size: 1.21875rem;
}
@media screen and (max-width: 950px) {
  .service-page .caution__danger {
    font-size: 1rem;
  }
}

.service-page .mv {
  height: 18.75rem;
  position: relative;
}
@media screen and (max-width: 950px) {
  .service-page .mv {
    height: 15rem;
  }
}
.service-page .mv__inner {
  height: 100%;
}
.service-page .mv__container {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.service-page .mv__title {
  font-size: 2.8125rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.2;
  color: #fff;
  position: absolute;
  top: 50%;
  bottom: auto;
  left: 50%;
  right: auto;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
@media screen and (max-width: 950px) {
  .service-page .mv__title {
    font-size: 1.625rem;
  }
}
.service-page .mv__img {
  display: block;
  width: 100%;
  height: 18.75rem;
}
@media screen and (max-width: 950px) {
  .service-page .mv__img {
    height: 15rem;
    max-height: 15rem;
  }
}
.service-page .mv__img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.service-page .otoiawase {
  padding: 4.6875rem 0;
}
@media screen and (max-width: 950px) {
  .service-page .otoiawase {
    padding: 5rem 0;
  }
}
@media screen and (max-width: 950px) {
  .service-page .otoiawase__title.section-title {
    font-size: 1.5rem;
  }
}
.service-page .otoiawase__lead.section-lead {
  font-weight: 500;
  font-size: 1.125rem;
  margin-top: 2.34375rem;
}
@media screen and (max-width: 950px) {
  .service-page .otoiawase__lead.section-lead {
    font-size: 1rem;
    line-height: 1.6;
    margin-top: 1.5625rem;
  }
}
.service-page .otoiawase__card-box {
  display: grid;
  grid-template-columns: 25.78125rem 25.78125rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 1.78125rem;
     -moz-column-gap: 1.78125rem;
          column-gap: 1.78125rem;
  margin-top: 2.34375rem;
}
@media screen and (max-width: 950px) {
  .service-page .otoiawase__card-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 0.625rem;
    margin-top: 0.9375rem;
  }
}
.service-page {
  /* ===== Card ===== */
}
.service-page .otoiawase-card {
  width: 25.78125rem;
  border: 3.5px solid #eef1ee;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 1.5rem 0.9375rem;
}
@media screen and (max-width: 950px) {
  .service-page .otoiawase-card {
    display: block;
    width: 21.4375rem;
    padding: 1.125rem 0.625rem;
  }
}
.service-page .otoiawase-card__head {
  padding-left: 0.46875rem;
  padding-bottom: 0.84375rem;
  margin: 0 auto;
}
@media screen and (max-width: 950px) {
  .service-page .otoiawase-card__head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding-bottom: 0.625rem;
  }
}
.service-page .otoiawase-card__title {
  font-weight: 700;
  font-size: 1.3125rem;
  position: relative;
}
@media screen and (max-width: 950px) {
  .service-page .otoiawase-card__title {
    font-size: 1.125rem;
  }
}
.service-page .otoiawase-card__title:before {
  position: absolute;
  top: 50%;
  bottom: auto;
  left: -1.125rem;
  right: auto;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  display: block;
  content: "";
  width: 0.328125rem;
  height: 1.78125rem;
  background-color: #009900;
}
@media screen and (max-width: 950px) {
  .service-page .otoiawase-card__title:before {
    left: -0.75rem;
    width: 0.28125rem;
    height: 1.5rem;
  }
}
.service-page .otoiawase-card__title:after {
  position: absolute;
  top: auto;
  bottom: -0.84375rem;
  left: 50%;
  right: auto;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  display: block;
  content: "";
  width: 15.703125rem;
  height: 1px;
  background-color: #515859;
}
@media screen and (max-width: 950px) {
  .service-page .otoiawase-card__title:after {
    width: 13.0625rem;
    bottom: -0.625rem;
  }
}
.service-page .otoiawase-card__otoiawase {
  margin-top: 0.234375rem;
}
.service-page .otoiawase-card__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-left: 2.109375rem;
  background-repeat: no-repeat;
  background-position: 3.984375rem center;
  background-size: 1.453125rem 1.453125rem;
}
@media screen and (max-width: 950px) {
  .service-page .otoiawase-card__link {
    background-size: 1.1875rem 1.1875rem;
    padding-left: 1.875rem;
    background-position: 2.8125rem center;
  }
}
.service-page .otoiawase-card__link--tel {
  padding-right: 0.46875rem;
  background-image: url(../images/icon_telContact.png);
}
.service-page .otoiawase-card__link--fax {
  background-image: url(../images/icon_faxContact.png);
}
.service-page .otoiawase-card__label {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
}
.service-page .otoiawase-card__label--tel {
  font-size: 1.125rem;
}
@media screen and (max-width: 950px) {
  .service-page .otoiawase-card__label--tel {
    font-size: 0.875rem;
  }
}
.service-page .otoiawase-card__label--fax {
  font-size: 1.03125rem;
}
@media screen and (max-width: 950px) {
  .service-page .otoiawase-card__label--fax {
    font-size: 0.875rem;
  }
}
.service-page .otoiawase-card__number {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-size: 1.78125rem;
}
@media screen and (max-width: 950px) {
  .service-page .otoiawase-card__number {
    font-size: 1.5rem;
  }
}
.service-page .otoiawase-card__desc-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 950px) {
  .service-page .otoiawase-card__desc-box {
    margin-top: 0.9375rem;
  }
}
.service-page .otoiawase-card__desc {
  font-size: 1.125rem;
  color: #333;
  line-height: 1.6;
  background-image: url(../images/icon_mailContact.png);
  background-repeat: no-repeat;
  background-position: 0.234375rem center;
  background-size: 2.296875rem 2.296875rem;
  padding-left: 2.8125rem;
}
@media screen and (max-width: 950px) {
  .service-page .otoiawase-card__desc {
    background-position: 0rem center;
    background-size: 1.9375rem 1.9375rem;
    font-size: 0.875rem;
    padding-left: 2.1875rem;
  }
}
.service-page {
  /* 備考エリア */
}
.service-page .otoiawase__note {
  width: 100%;
  max-width: 60.9375rem;
  color: #333;
  line-height: 1.6;
  font-size: 1.125rem;
  text-align: center;
  margin: 1.40625rem auto;
}
@media screen and (max-width: 950px) {
  .service-page .otoiawase__note {
    font-size: 1rem;
  }
}
.service-page {
  /* ===============================
     お問い合わせフォームデザイン再現用CSS
     ※HTML構造・クラス名を一切変更せず適用可能
  ================================== */
  /* フォーム全体 */
}
.service-page .wpcf7-form {
  width: 100%;
  max-width: 46.875rem;
  margin: 2.109375rem auto 0;
}
@media screen and (max-width: 950px) {
  .service-page .wpcf7-form {
    margin: 2.5rem auto 0;
  }
}
.service-page .wpcf7-form label {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 500;
  margin-bottom: 1.359375rem;
}
@media screen and (max-width: 950px) {
  .service-page .wpcf7-form label {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    row-gap: 0.3125rem;
    margin-bottom: 1.5rem;
  }
}
.service-page .otoiawase-item-name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 0.46875rem;
     -moz-column-gap: 0.46875rem;
          column-gap: 0.46875rem;
  font-size: 1.03125rem;
  -ms-flex-preferred-size: 26%;
      flex-basis: 26%;
}
@media screen and (max-width: 950px) {
  .service-page .otoiawase-item-name {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    font-size: 1.125rem;
  }
}
.service-page {
  /* 入力欄（input / select / textarea のラッパー）を3列目へ */
}
.service-page .wpcf7-form label > .wpcf7-form-control-wrap {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.service-page .otoiawase-require {
  font-size: 0.65625rem;
  color: #fff;
  border-radius: 50vw;
  background-color: #de3845;
  padding: 0.1875rem 0.5625rem;
}
@media screen and (max-width: 950px) {
  .service-page .otoiawase-require {
    font-size: 0.75rem;
    padding: 0.0625rem 0.75rem;
  }
}
.service-page {
  /* テキストボックス・セレクト・テキストエリア */
}
.service-page .wpcf7-form-control.wpcf7-text,
.service-page .wpcf7-form-control.wpcf7-email,
.service-page .wpcf7-form-control.wpcf7-select,
.service-page .wpcf7-form-control.wpcf7-textarea {
  width: 100%;
  height: 1.96875rem;
  border: 1px solid #ccc;
  padding: 0.140625rem 0.9375rem;
  font-size: 0.84375rem;
  background-color: #f2f2f2;
  -webkit-transition: border-color 0.2s ease, background-color 0.2s;
  transition: border-color 0.2s ease, background-color 0.2s;
}
@media screen and (max-width: 950px) {
  .service-page .wpcf7-form-control.wpcf7-text,
  .service-page .wpcf7-form-control.wpcf7-email,
  .service-page .wpcf7-form-control.wpcf7-select,
  .service-page .wpcf7-form-control.wpcf7-textarea {
    font-size: 1rem;
    height: 2.375rem;
    padding: 0.125rem 0.625rem;
  }
}
.service-page .wpcf7-form-control.wpcf7-text:focus,
.service-page .wpcf7-form-control.wpcf7-email:focus,
.service-page .wpcf7-form-control.wpcf7-select:focus,
.service-page .wpcf7-form-control.wpcf7-textarea:focus {
  border-color: #009944;
  outline: none;
  background-color: #fff;
}
.service-page {
  /* テキストエリア */
}
.service-page .wpcf7-form-control.wpcf7-textarea {
  height: 13.3125rem;
  resize: vertical;
}
.service-page {
  /* 添付ファイル */
}
.service-page .wpcf7-form-control.wpcf7-file {
  margin-top: 0.1875rem;
}
.service-page .otoiawase-privacy {
  width: 100%;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.6;
  display: block;
  border: 1px solid #515859;
  padding: 0.46875rem 0.9375rem 1.171875rem;
  margin-top: 0.46875rem;
}
@media screen and (max-width: 950px) {
  .service-page .otoiawase-privacy {
    font-size: 0.875rem;
  }
}
.service-page {
  /* 個人情報利用についてボックス */
}
.service-page .wpcf7-form .otoiawase-privacy__title {
  font-size: 0.9375rem;
  font-weight: 700;
  display: block;
  margin-bottom: 0.4rem;
}
@media screen and (max-width: 950px) {
  .service-page .wpcf7-form .otoiawase-privacy__title {
    font-size: 1rem;
  }
}
.service-page .otoiawase-privacy a {
  display: block;
  font-size: 0.75rem;
  font-weight: 500;
  color: #007acc;
  text-decoration: underline;
  margin-top: 0.46875rem;
}
@media screen and (max-width: 950px) {
  .service-page .otoiawase-privacy a {
    font-size: 0.875rem;
  }
}
.service-page .wpcf7-form .otoiawase-consent {
  font-size: 0.75rem;
  font-weight: 400;
  color: #de3845;
  text-align: center;
}
.service-page .wpcf7-form p:has(input.wpcf7-submit) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0.9375rem auto 0;
}
.service-page {
  /* 送信ボタン */
}
.service-page .wpcf7-form input.wpcf7-submit {
  display: block;
  width: 12.796875rem;
  height: 3.375rem;
  background-image: url(../images/arrow_submit-white.png), -webkit-gradient(linear, left top, left bottom, from(#009900), to(#80c480));
  background-image: url(../images/arrow_submit-white.png), linear-gradient(to bottom, #009900 0%, #80c480 100%);
  background-repeat: no-repeat, no-repeat;
  background-size: 0.375rem 0.703125rem, 100%;
  background-position: calc(100% - 1.40625rem) center, center center;
  color: #fff;
  font-weight: 600;
  font-size: 1.125rem;
  border: none;
  border-radius: 50vw;
  cursor: pointer;
  position: relative;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
@media screen and (max-width: 950px) {
  .service-page .wpcf7-form input.wpcf7-submit {
    width: 16.5625rem;
    height: 3.75rem;
    font-size: 1.25rem;
  }
}
.service-page .wpcf7-form input.wpcf7-submit:hover {
  color: #009900;
  background-color: #fff;
  background-image: url(../images/arrow_submit-green.png), none;
  border: 2px solid #009900;
}
.service-page .otoiawase-note {
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.5;
  margin-top: 0.9375rem;
}
@media screen and (max-width: 950px) {
  .service-page .otoiawase-note {
    font-size: 1rem;
  }
}

.service-page {
  /* Section */
}
.service-page .point {
  padding: 3.328125rem 0;
}
@media screen and (max-width: 950px) {
  .service-page .point {
    padding: 2.5rem 0;
  }
}
.service-page .point__title.section-title {
  margin-bottom: 2.109375rem;
}
@media screen and (max-width: 950px) {
  .service-page .point__title.section-title {
    font-size: 1.5rem;
    margin-bottom: 1.5625rem;
  }
}
.service-page .point__lead {
  line-height: 1.8;
  margin-bottom: 3.515625rem;
}
@media screen and (max-width: 950px) {
  .service-page .point__lead {
    line-height: 1.6;
  }
}
.service-page .point__highlight {
  text-decoration: underline;
  color: #009900; /* グリーン強調 */
  font-weight: 700;
}
.service-page {
  /* Item */
}
.service-page .point-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 6.8604651163%;
     -moz-column-gap: 6.8604651163%;
          column-gap: 6.8604651163%;
  width: 100%;
  height: auto;
  aspect-ratio: 1720/473;
  background-color: #f7f7f7;
  position: relative;
}
@media screen and (max-width: 950px) {
  .service-page .point-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    height: auto;
  }
}
.service-page .point-item:nth-of-type(even) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media screen and (max-width: 950px) {
  .service-page .point-item:nth-of-type(even) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
.service-page .point-item + .point-item {
  margin-top: 3.75rem;
}
@media screen and (max-width: 950px) {
  .service-page .point-item + .point-item {
    margin-top: 5.3125rem;
  }
}
.service-page .point-item__image {
  position: absolute;
  top: -1.40625rem;
  bottom: auto;
  left: 0;
  right: auto;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  width: 51.2790697674%;
  height: auto;
  z-index: 1;
}
@media screen and (max-width: 950px) {
  .service-page .point-item__image {
    top: auto;
    bottom: 0.625rem;
    left: 0;
    width: 100%;
  }
}
.service-page .point-item:nth-of-type(even) .point-item__image {
  position: absolute;
  top: -1.40625rem;
  bottom: auto;
  left: auto;
  right: 0;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  width: 51.2790697674%;
  height: auto;
  z-index: 1;
}
@media screen and (max-width: 950px) {
  .service-page .point-item:nth-of-type(even) .point-item__image {
    top: auto;
    bottom: 0.625rem;
    right: auto;
    left: 0;
    width: 100%;
  }
}
.service-page .point-item__image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 882/473;
  -o-object-fit: cover;
     object-fit: cover;
}
.service-page .point-item__bg {
  -webkit-clip-path: polygon(0 0, 100% 0, 79.5% 100%, 0% 100%);
          clip-path: polygon(0 0, 100% 0, 79.5% 100%, 0% 100%);
  -ms-flex-preferred-size: 44.1279069767%;
      flex-basis: 44.1279069767%;
  -ms-flex-item-align: stretch;
      align-self: stretch;
  background-image: -webkit-gradient(linear, left top, right top, from(#009900), to(#80c480));
  background-image: linear-gradient(to right, #009900 0%, #80c480 100%);
}
@media screen and (max-width: 950px) {
  .service-page .point-item__bg {
    width: 86.2973760933%;
    aspect-ratio: 343/185;
  }
}
.service-page .point-item:nth-of-type(even) .point-item__bg {
  -webkit-clip-path: polygon(20.5% 0, 100% 0, 100% 100%, 0% 100%);
          clip-path: polygon(20.5% 0, 100% 0, 100% 100%, 0% 100%);
  background-image: -webkit-gradient(linear, right top, left top, from(#009900), to(#80c480));
  background-image: linear-gradient(to left, #009900 0%, #80c480 100%);
}
@media screen and (max-width: 950px) {
  .service-page .point-item:nth-of-type(even) .point-item__bg {
    width: 86.2973760933%;
    aspect-ratio: 343/185;
  }
}
.service-page .point-item__content {
  -ms-flex-preferred-size: 49.011627907%;
      flex-basis: 49.011627907%;
  padding: 0.9375rem 3.65625rem;
}
@media screen and (max-width: 950px) {
  .service-page .point-item__content {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    padding: 0rem 0rem 2.5rem;
  }
}
.service-page .point-item__head {
  border: 1px solid ridge;
  position: relative;
}
.service-page .point-item__label {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-size: 1.78125rem;
  display: block;
  padding-left: 1.875rem;
  margin-bottom: 2.578125rem;
  position: relative;
}
@media screen and (max-width: 950px) {
  .service-page .point-item__label {
    translate: 0 -50%;
    font-size: 1.375rem;
    padding-left: 0.9375rem;
    margin-bottom: 0rem;
  }
}
.service-page .point-item__label:before {
  position: absolute;
  top: auto;
  left: 0;
  right: auto;
  bottom: 0.46875rem;
  content: "";
  display: block;
  width: 0.46875rem;
  height: 2.71875rem;
  background-color: #009900;
}
@media screen and (max-width: 950px) {
  .service-page .point-item__label:before {
    width: 0.375rem;
    height: 2.125rem;
  }
}
.service-page .point-item__num {
  position: absolute;
  top: -3.125rem;
  bottom: auto;
  left: 9.140625rem;
  right: auto;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  font-family: "Poppins", sans-serif;
  font-size: 5.0625rem;
  letter-spacing: 0.04em;
  line-height: 1;
  font-weight: 800;
  color: transparent;
  -webkit-text-stroke: 2.5px #515859;
}
@media screen and (max-width: 950px) {
  .service-page .point-item__num {
    top: -2.1875rem;
    left: 5.625rem;
    font-size: 3rem;
  }
}
.service-page .point-item__title {
  font-size: 1.40625rem;
  font-weight: 700;
  margin-bottom: 0.703125rem;
}
@media screen and (max-width: 950px) {
  .service-page .point-item__title {
    font-size: 1rem;
    margin-top: -0.3125rem;
  }
}
.service-page .point-item__text {
  font-size: 1.40625rem;
  font-weight: 700;
  line-height: 1.6;
  text-indent: -2.5em;
  padding-left: 2.5em;
}
@media screen and (max-width: 950px) {
  .service-page .point-item__text {
    font-size: 1rem;
  }
}

.service-page .support {
  padding: 1.875rem 0;
}
.service-page .support__title.section-title {
  margin-bottom: 2.34375rem;
}
@media screen and (max-width: 950px) {
  .service-page .support__title.section-title {
    font-size: 1.5rem;
    margin-bottom: 1.875rem;
  }
}
.service-page .support__lead {
  line-height: 1.6;
  color: #333;
}
.service-page {
  /* ===== Plans ===== */
}
.service-page .support__lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  row-gap: 2.578125rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 4.21875rem;
}
@media screen and (max-width: 950px) {
  .service-page .support__lists {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 2.5rem;
    margin-top: 3.4375rem;
  }
}
.service-page .support-service {
  border: 1px solid #515859;
  border-radius: 1.125rem;
  -ms-flex-preferred-size: 23.2558139535%;
      flex-basis: 23.2558139535%;
  position: relative;
}
.service-page .support-service__badge {
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background-color: #009900;
  color: #fff;
  font-weight: 700;
  font-size: 1.03125rem;
  padding: 0.28125rem 1.875rem 0.375rem;
  height: auto;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  text-align: center;
}
@media screen and (max-width: 950px) {
  .service-page .support-service__badge {
    font-size: 1.125rem;
    line-height: 1;
  }
}
.service-page .support-service__body {
  padding: 2.578125rem 0rem 0.234375rem;
}
@media screen and (max-width: 950px) {
  .service-page .support-service__body {
    padding: 2.625rem 2rem 1.875rem;
  }
}
.service-page .support-service__list {
  width: 89.9497487437%;
  margin: 0 auto;
}
@media screen and (max-width: 950px) {
  .service-page .support-service__list {
    width: 100%;
  }
}
.service-page .support-service__list div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.service-page .support-service__list div + div {
  margin-top: 0.46875rem;
}
@media screen and (max-width: 950px) {
  .service-page .support-service__list div + div {
    margin-top: 1.0625rem;
  }
}
.service-page .support-service__list dt {
  font-weight: 700;
  font-size: 1.03125rem;
  line-height: 1.6;
}
@media screen and (max-width: 950px) {
  .service-page .support-service__list dt {
    font-size: 1.125rem;
  }
}
.service-page .support-service__list dd {
  font-size: 1.03125rem;
  line-height: 1.6;
  margin-left: 0.703125rem;
}
@media screen and (max-width: 950px) {
  .service-page .support-service__list dd {
    font-size: 1.125rem;
    margin-left: 1.5625rem;
  }
}
.service-page .support-service__note {
  font-size: 0.796875rem;
  letter-spacing: -0.04em;
}
@media screen and (max-width: 950px) {
  .service-page .support-service__note {
    display: block;
    font-size: 0.75rem;
    line-height: 1;
  }
}
.service-page {
  /* ===== Middle tags ===== */
}
.service-page .support-plans {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 2.578125rem;
}
@media screen and (max-width: 950px) {
  .service-page .support-plans {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 1.25rem;
    margin-top: 2.1875rem;
  }
}
.service-page .support__plan {
  -ms-flex-preferred-size: 49.4186046512%;
      flex-basis: 49.4186046512%;
}
@media screen and (max-width: 950px) {
  .service-page .support__plan {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }
}
.service-page .support-tag {
  font-size: 1.125rem;
  font-weight: 700;
  text-align: center;
  color: #009900;
}
@media screen and (max-width: 950px) {
  .service-page .support-tag {
    font-size: 1.25rem;
  }
}
.service-page .support-desc {
  font-size: 1.03125rem;
  line-height: 1.6;
  border-radius: 1.125rem;
  border: 1px solid #333;
  color: #333;
  text-align: center;
  padding: 1.640625rem 0rem;
  margin-top: 0.984375rem;
}
@media screen and (max-width: 950px) {
  .service-page .support-desc {
    font-size: 1rem;
    padding: 1.25rem 0rem 1.6875rem;
    margin-top: 0.9375rem;
  }
}
.service-page .support-desc p {
  width: 83.5294117647%;
  margin: 0 auto;
}
@media screen and (max-width: 950px) {
  .service-page .support-desc p {
    width: 91.2536443149%;
  }
}
.service-page {
  /* ===== Figures ===== */
}
.service-page .support-figure {
  width: 89.0588235294%;
  height: auto;
  margin: 1.40625rem auto 0;
}
@media screen and (max-width: 950px) {
  .service-page .support-figure {
    width: 100%;
    margin: 0.625rem 0;
  }
}
.service-page .support-figure img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 757/471;
  -o-object-fit: cover;
     object-fit: cover;
}
.service-page {
  /* ===== Voices Section ===== */
}
.service-page .voices {
  padding: 1.40625rem 0 0rem;
}
@media screen and (max-width: 950px) {
  .service-page .voices {
    padding-bottom: 3.125rem;
  }
}
.service-page .voices__lead {
  font-weight: 500;
  line-height: 1.8;
  margin-top: 2.34375rem;
}
.service-page {
  /* ===== Voice Card ===== */
}
.service-page .voice-card {
  border: 1px solid #515859;
  border-radius: 1.125rem;
  padding: 1.875rem;
  height: 100%;
}
@media screen and (max-width: 950px) {
  .service-page .voice-card {
    padding: 1.75rem 0.625rem;
  }
}
.service-page .voice-card__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 1.125rem;
     -moz-column-gap: 1.125rem;
          column-gap: 1.125rem;
}
@media screen and (max-width: 950px) {
  .service-page .voice-card__head {
    padding-left: 0.625rem;
    -webkit-column-gap: 0.5rem;
       -moz-column-gap: 0.5rem;
            column-gap: 0.5rem;
  }
}
.service-page .voice-card__img {
  width: 5.109375rem;
  height: 5.109375rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 950px) {
  .service-page .voice-card__img {
    width: 3.75rem;
    height: 3.75rem;
  }
}
.service-page .voice-card__img img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
}
.service-page .voice-card__company {
  font-size: 1.03125rem;
  font-weight: 700;
  color: #009900;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 950px) {
  .service-page .voice-card__company {
    font-size: 1.125rem;
  }
}
.service-page .voice-card__text {
  font-size: 0.9375rem;
  line-height: 1.35;
  color: #333;
  margin-top: 1.640625rem;
}
@media screen and (max-width: 950px) {
  .service-page .voice-card__text {
    font-size: 1rem;
    margin-top: 1.5rem;
  }
}
.service-page .voice-swiper-box {
  position: relative;
}
.service-page .voices-slider .swiper-slide {
  height: auto;
  -webkit-transform: scale(0.8);
          transform: scale(0.8); /* 左右のスライドを小さくする */
  -webkit-transition: 0.7s;
  transition: 0.7s; /* ゆっくり小さくさせる */
  margin-top: -5.15625rem;
  padding: 10% 0.46875rem;
}
@media screen and (max-width: 950px) {
  .service-page .voices-slider .swiper-slide {
    -webkit-transform: scale(1);
            transform: scale(1); /* 左右のスライドを小さくする */
    margin-top: 1.875rem;
    padding: 0;
  }
}
.service-page .voices-slider .swiper-slide-active {
  opacity: 1; /* 中央のスライドは薄くしない */
  -webkit-transform: scale(1.1);
          transform: scale(1.1); /* 中央のスライドは小さくしない */
  z-index: 1; /* 中央のスライドを一番上にする */
}
@media screen and (max-width: 950px) {
  .service-page .voices-slider .swiper-slide-active {
    -webkit-transform: scale(1);
            transform: scale(1); /* 中央のスライドは小さくしない */
  }
}
.service-page {
  /* ===== Swiper Customization ===== */
}
.service-page .swiper-button-prev,
.service-page .swiper-button-next {
  position: absolute;
  top: 41%;
  width: 2.390625rem;
  height: 2.390625rem;
  border-radius: 50%;
  background-color: #f0f4f0;
  color: #333;
}
@media screen and (max-width: 950px) {
  .service-page .swiper-button-prev,
  .service-page .swiper-button-next {
    top: 55%;
  }
}
.service-page .swiper-button-prev {
  left: 1.40625rem;
}
@media screen and (max-width: 950px) {
  .service-page .swiper-button-prev {
    left: 0.9375rem;
  }
}
@media screen and (max-width: 600px) {
  .service-page .swiper-button-prev {
    left: -0.9375rem;
  }
}
.service-page .swiper-button-next {
  right: 1.40625rem;
}
@media screen and (max-width: 950px) {
  .service-page .swiper-button-next {
    right: 0.9375rem;
  }
}
@media screen and (max-width: 600px) {
  .service-page .swiper-button-next {
    right: -0.9375rem;
  }
}
.service-page .swiper-button-prev:before {
  display: block;
  content: "";
  width: 0.703125rem;
  height: 0.703125rem;
  border-bottom: 2px solid #333;
  border-left: 2px solid #333;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.service-page .swiper-button-next:before {
  display: block;
  content: "";
  width: 0.703125rem;
  height: 0.703125rem;
  border-bottom: 2px solid #333;
  border-right: 2px solid #333;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.swiper-button-prev:after,
.swiper-button-next:after {
  display: none;
}

@media screen and (max-width: 950px) {
  .u-desktop {
    display: none;
  }
}

.u-mobile {
  display: none;
}
@media screen and (max-width: 950px) {
  .u-mobile {
    display: block;
  }
}
/*# sourceMappingURL=styles.css.map */


.footer-bottom-wrapper {
  margin-bottom: 7.5rem;
}

@media screen and (min-width: 768px) and (max-width: 950px) {
  .footer-bottom-wrapper {
    margin-bottom: 4rem;
  }
}

@media screen and (max-width: 767px) {
  .footer-bottom-wrapper {
    margin-bottom: 4rem;
  }
}
