@charset "UTF-8";

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

ul,
ol {
  padding: 0;
}

body,
h1,
h2,
h3,
h4,
h5,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 400;
}

body {
  line-height: 1.5;
  min-height: 100vh;
  text-rendering: optimizeSpeed;
}

ul,
ol {
  list-style: none;
}

a:not([class]) {
  -webkit-text-decoration-skip: ink;
  text-decoration-skip-ink: auto;
}

a {
  text-decoration: none;
}

img {
  display: block;
  width: 100%;
  max-width: 100%;
}

article > * + * {
  margin-top: 1em;
}

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

img:not([alt]) {
  -webkit-filter: blur(10px);
  filter: blur(10px);
}

textarea {
  resize: vertical;
}

input[type="submit"],
input[type="button"],
label,
button,
select {
  cursor: pointer;
}

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

/* ==========================================
    フォント
   ========================================== */

html {
  font-size: 100%;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  color: #fff;
}

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

a {
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
}

.second-font {
  font-family: "Shippori Mincho B1", serif;
}

.heavy {
  font-weight: 900;
}

.bold {
  font-weight: 700;
}

.splide__slide {
  -webkit-text-size-adjust: 100%;
}

.inner {
  padding-inline: 1.3125rem;
  margin-inline: auto;
}

.hide-xl2 {
  display: block;
}

.hide-lg {
  display: block;
}

.show-lg {
  display: none;
}

.hide-md {
  display: block;
}

.show-md {
  display: none;
}

.lg-md-only {
  display: none;
}

.md-sm-none {
  display: none;
}

.hide-xl {
  display: block;
}

.hide-sm {
  display: block;
}

.hide-sp {
  display: block;
}

/* ==========================================
    FV
   ========================================== */

.fv {
  padding: 25px 0 27.69px;
  padding: 1.5625rem 0 1.730625rem;
  background-image: url("../img/fv-sp.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  z-index: 1;
  overflow: hidden;
  margin-top: 56px;
  margin-top: 3.5rem;
}

.fv__title {
  width: 385px;
  width: 24.0625rem;
  margin-inline: auto;
}

.fv__sub-title {
  margin-top: 8.34px;
  margin-top: 0.52125rem;
  width: 377.76px;
  width: 23.61rem;
  margin-inline: auto;
  position: relative;
  left: 4px;
  left: 0.25rem;
}

.fv__form-body {
  margin-top: -6.94px;
  margin-top: -0.434375rem;
  position: relative;
  padding: 25.59px 28.7px 23.22px 29.81px;
  padding: 1.599375rem 1.79375rem 1.45125rem 1.8675rem;
  width: 374.26px;
  width: 23.39125rem;
  margin-inline: auto;
}

.fv__form-body::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: -webkit-gradient(
    linear,
    right top,
    left top,
    from(#01291f),
    to(rgba(1, 48, 37, 0.7))
  );
  background: linear-gradient(270deg, #01291f 0%, rgba(1, 48, 37, 0.7) 100%);
  opacity: 0.9;
  z-index: 0;
}

.fv__form-body::after {
  position: absolute;
  content: "";
  top: 4.42px;
  top: 0.27625rem;
  left: 5.52px;
  left: 5.52px;
  right: 4.42px;
  right: 5.52px;
  bottom: 5.52px;
  bottom: 5.52px;
  width: calc(100% - 9.94px);
  width: calc(100% - 0.62125rem);
  height: calc(100% - 9.94px);
  height: calc(100% - 0.62125rem);
  border: 1.1px solid #676f08;
  border: 0.06875rem solid #676f08;
}

.fv__form-text {
  font-weight: 500;
  font-size: 12.14px;
  font-size: 0.75875rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #f6f8f8;
  text-align: center;
  position: relative;
  left: 1px;
  left: 0.0625rem;
  z-index: 1;
}

.fv__email-form {
  margin-top: 11.47px;
  margin-top: 0.716875rem;
}

.email-form {
  position: relative;
  z-index: 1;
}

.email-form__input-wrapper {
  padding: 9.94px 14.35px 12.78px;
  padding: 0.62125rem 0.896875rem 0.79875rem;
  background: rgba(1, 36, 30, 0.7);
  border: 1px solid rgba(246, 248, 248, 0.5);
  border: 0.0625rem solid rgba(246, 248, 248, 0.5);
  -webkit-box-shadow: 0px 0px 15.456px rgba(0, 0, 0, 0.3);
  box-shadow: 0px 0px 15.456px rgba(0, 0, 0, 0.3);
  -webkit-box-shadow: 0px 0px 0.966rem rgba(0, 0, 0, 0.3);
  box-shadow: 0px 0px 0.966rem rgba(0, 0, 0, 0.3);
  border-radius: 3.312px;
  border-radius: 0.207rem;
  -webkit-transition: border-color 0.3s, -webkit-box-shadow 0.3s;
  transition: border-color 0.3s, -webkit-box-shadow 0.3s;
  transition: border-color 0.3s, box-shadow 0.3s;
  transition: border-color 0.3s, box-shadow 0.3s, -webkit-box-shadow 0.3s;
}

.email-form__input-wrapper.is-focused {
  border: 1px solid #fff;
  -webkit-box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.7);
  box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.7);
}

.email-form__label {
  font-size: 11.76px;
  font-size: 0.735rem;
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #f6f8f8;
  display: block;
}

.email-form__input {
  border: none;
  background-color: transparent;
  font-size: 13.79px;
  font-size: 0.861875rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #f6f8f8;
  font-family: "Noto Sans JP", sans-serif;
  display: block;
  width: 100%;
  margin-top: 7px;
  margin-top: 0.4375rem;
  margin-left: -1px;
  margin-left: -0.0625rem;
  outline: none;
  border: none;
}

.email-form__input::-webkit-input-placeholder {
  color: #f6f8f8;
  font-size: 13.79px;
  font-size: 0.861875rem;
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #f6f8f8;
  opacity: 0.3;
  font-family: "Noto Sans JP", sans-serif;
}

.email-form__input::-moz-placeholder {
  color: #f6f8f8;
  font-size: 13.79px;
  font-size: 0.861875rem;
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #f6f8f8;
  opacity: 0.3;
  font-family: "Noto Sans JP", sans-serif;
}

.email-form__input:-ms-input-placeholder {
  color: #f6f8f8;
  font-size: 13.79px;
  font-size: 0.861875rem;
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #f6f8f8;
  opacity: 0.3;
  font-family: "Noto Sans JP", sans-serif;
}

.email-form__input::-ms-input-placeholder {
  color: #f6f8f8;
  font-size: 13.79px;
  font-size: 0.861875rem;
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #f6f8f8;
  opacity: 0.3;
  font-family: "Noto Sans JP", sans-serif;
}

.email-form__input::placeholder {
  color: #f6f8f8;
  font-size: 13.79px;
  font-size: 0.861875rem;
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #f6f8f8;
  opacity: 0.3;
  font-family: "Noto Sans JP", sans-serif;
}

.fv__email-error {
  font-size: 12.14px;
  font-size: 0.75875rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #f00;
  margin-top: 4px;
  margin-top: 0.25rem;
  margin-left: 2px;
  margin-left: 0.125rem;
}

.email-form__submit {
  margin: 0;
  padding: 0;
  border: none;
  background-color: transparent;
  margin-top: 5.56px;
  margin-top: 2.34875rem;
  width: 229.63px;
  width: 14.351875rem;
  margin-inline: auto;
  display: block;
}

.email-form__submit--mt {
  margin-top: 10.56px;
  margin-top: 2.26rem;
}

.email-form__medal {
  position: absolute;
  top: -25.68px;
  top: -1.604375rem;
  right: -16.63px;
  right: -1.039375rem;
  width: 96.18px;
  width: 6.01125rem;
  z-index: 1;
}

.email-form__submit {
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

#splide01.splide {
  margin-top: 13.25px;
  margin-top: 0.828125rem;
}

#splide01 .splide__slide,
#splide02 .splide__slide {
  font-size: 16.09px;
  font-size: 1.005625rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.24em;
  color: #fff;
  border: 1.06px solid rgba(255, 255, 255, 0.8);
  border: 0.06625rem solid rgba(255, 255, 255, 0.8);
  display: grid;
  place-items: center;
  height: 2.251875rem;
  font-family: "Shippori Mincho B1", serif;
}

#splide01 .splide__slide--wide,
#splide02 .splide__slide--wide {
  width: 115px !important;
  width: 7.1875rem !important;
}

#splide01 .splide__slide--narrow,
#splide02 .splide__slide--narrow {
  width: 90.09px !important;
  width: 5.630625rem !important;
}

#splide02.splide {
  margin-top: 9.54px;
  margin-top: 0.59625rem;
}

/* ==========================================
    利用登録者数600,000人突破
   ========================================== */

.register {
  position: relative;
  padding: 29px 0 0;
  padding: 1.8125rem 0 0;
}

.register::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    129.56deg,
    #f7f2ed 0.97%,
    #fef7ee 50.34%,
    #f3e6d9 100.7%
  );
  opacity: 0.5;
}

.register__inner {
  position: relative;
  padding-inline: 0;
  z-index: 1;
}

.register__title {
  width: 348.96px;
  width: 21.81rem;
  margin-inline: auto;
}

.register__sub-title {
  margin-top: 17.44px;
  margin-top: 1.09rem;
  text-align: center;
  font-size: 21.35px;
  font-size: 1.334375rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #013026;
}

.register__sub-title .clip {
  display: inline-block;
  margin-top: 10.43px;
  margin-top: 0.651875rem;
  font-size: 30.63px;
  font-size: 1.914375rem;
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: 0.1em;
  color: #fff;
  background: -webkit-gradient(
    linear,
    right top,
    left top,
    color-stop(14.42%, #005a46),
    color-stop(66.25%, #002d23)
  );
  background: linear-gradient(270deg, #005a46 14.42%, #002d23 66.25%);
  padding: 1px 6px 2px;
  padding: 0 0.3125rem 0.25rem 0.4375rem;
  -webkit-transform: matrix(1, 0, -0.14, 0.99, 0, 0);
  transform: matrix(1, 0, -0.14, 0.99, 0, 0);
  clip-path: polygon(0.5% 0, 100% 0%, 99.5% 100%, 0% 100%);
  position: relative;
  left: -1px;
  left: -0.0625rem;
}

.register__sub-title .clip2 {
  font-size: 32.63px;
  font-size: 2.039375rem;
  line-height: 1.35;
  margin-top: 9.5px;
  margin-top: 0.59375rem;
  padding: 0px 7px 4px 8px;
  padding: 0rem 0.4375rem 0.25rem 0.5rem;
  -webkit-transform: matrix(1, 0, -0.14, 0.99, 0, 0);
  transform: matrix(1, 0, -0.14, 0.99, 0, 0);
  position: relative;
  top: -1px;
  top: -0.0625rem;
  clip-path: polygon(1% 0, 100% 0%, 99% 100%, 0% 100%);
}

.register__sub-title .kerning {
  letter-spacing: -0.08em;
}

.register__sub-title .high {
  line-height: 1.45;
}

.register__sub-title .position1 {
  position: relative;
  top: -3px;
  top: -0.1875rem;
  left: 3px;
  left: 0.1875rem;
}

.register__sub-title .position2 {
  position: relative;
  top: -7px;
  top: -0.4375rem;
  left: -4px;
  left: -0.25rem;
}

.register__sub-title .position3 {
  position: relative;
  top: -7px;
  top: -0.4375rem;
  left: 5px;
  left: 0.3125rem;
}

.register__image {
  margin-top: 33.18px;
  margin-top: 2.07375rem;
  width: 348.13px;
  width: 21.758125rem;
  margin-inline: auto;
  position: relative;
  left: -6px;
  left: -0.375rem;
}

/* ==========================================
    充実のコンテンツ
   ========================================== */

.contents {
  padding: 31px 0 37px;
  padding: 1.9375rem 0 2.3125rem;
  border-radius: 3.75rem 3.75rem 0 0;
  background-color: #f6f8f8;
  position: relative;
  z-index: 1;
  margin-top: -40px;
  margin-top: -2.5rem;
  -webkit-box-shadow: inset 0px 0px 24px rgba(0, 0, 0, 0.05);
  box-shadow: inset 0px 0px 24px rgba(0, 0, 0, 0.05);
  -webkit-box-shadow: inset 0px 0px 1.5rem rgba(0, 0, 0, 0.05);
  box-shadow: inset 0px 0px 1.5rem rgba(0, 0, 0, 0.05);
  overflow: hidden;
}

.contents__inner {
  padding-inline: 0;
}

.contents__title-decoration {
  width: 42.94px;
  width: 2.68375rem;
  margin-inline: auto;
  position: relative;
  left: -2px;
  left: -0.125rem;
}

.contents__title {
  margin-top: 7.91px;
  margin-top: 0.494375rem;
  font-size: 31.53px;
  font-size: 1.970625rem;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: 0.1em;
  text-align: center;
  background: -webkit-gradient(
    linear,
    right top,
    left top,
    from(#005a46),
    to(#002d23)
  );
  background: linear-gradient(270deg, #005a46 0%, #002d23 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
  position: relative;
  left: 1px;
  left: 0.0625rem;
}

.contents__sub-title {
  font-size: 21.35px;
  font-size: 1.334375rem;
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: 0.11em;
  text-align: center;
  color: #013026;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  position: relative;
  left: -1px;
  left: -0.0625rem;
}

.contents__sub-title::after {
  content: "";
  position: absolute;
  bottom: -3px;
  bottom: -0.1875rem;
  left: 3px;
  left: 0.1875rem;
  width: calc(100% - 3px);
  height: 1px;
  height: 0.0625rem;
  background-color: #013026;
}

.contents__sub-title .large {
  font-size: 28.35px;
  font-size: 1.771875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #a6890d;
  position: relative;
  left: 5px;
  left: 0.3125rem;
  top: 2px;
  top: 0.125rem;
}

.contents__block {
  margin-top: 51px;
  margin-top: 3.1875rem;
  padding-left: 1.6875rem;
}

.contents__block + .contents__block {
  margin-top: 39.71px;
  margin-top: 2.481875rem;
}

.contents__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 10px;
  -moz-column-gap: 10px;
  column-gap: 10px;
  -webkit-column-gap: 0.625rem;
  -moz-column-gap: 0.625rem;
  column-gap: 0.625rem;
  margin-bottom: 10px;
}

.contents__label {
  padding: 4px 9px 5px 10px;
  padding: 0.25rem 0.5625rem 0.3125rem 0.625rem;
  border-radius: 0.1875rem;
  font-size: 15.59px;
  font-size: 0.974375rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.2em;
  color: #fff;
}

.contents__label--gold {
  background-color: #c3950b;
}

.contents__type {
  font-size: 17.59px;
  font-size: 1.099375rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.1em;
  color: #013026;
}

#splide03,
#splide04,
#splide05,
#splide06,
#splide07 {
  margin-top: 12px;
  margin-top: 0.75rem;
}

.contents__label--green {
  background: -webkit-gradient(
    linear,
    right top,
    left top,
    from(#005a46),
    to(#002d23)
  );
  background: linear-gradient(270deg, #005a46 0%, #002d23 100%);
}

#splide03 .splide__slide,
#splide04 .splide__slide,
#splide05 .splide__slide,
#splide06 .splide__slide,
#splide07 .splide__slide {
  position: relative;
  overflow: hidden;
}

.splide-contents__link {
  display: block;
  position: relative;
}

.splide-contents__link img {
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.contents__expert-label {
  position: absolute;
  top: 0;
  left: 0;
  width: 73px;
  width: 4.5625rem;
  z-index: 1;
}

.contents__link {
  display: block;
  margin-top: 44.71px;
  margin-top: 2.794375rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.1em;
  padding-bottom: 3px;
  padding-bottom: 0.1875rem;
  border-bottom: 0.0625rem solid #013026;
  color: #012b21;
}

/* ==========================================
    CTA
   ========================================== */

.cta {
  padding: 31px 0 25px;
  padding: 1.9375rem 0 1.5625rem;
  background-image: url("../img/cta-bg-sp.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  overflow: hidden;
}

.cta--02 {
  padding-top: 37px;
  padding-top: 2.3125rem;
}

.cta__inner {
  padding-inline: 1.25rem;
}

.cta__inner--wide {
  padding-inline: 1.25rem;
}

.cta__title {
  width: 361.66px;
  width: 22.60375rem;
  margin-inline: auto;
}

.cta__title--wide {
  width: 341px;
}

.cta__sub-title {
  margin-top: 18.56px;
  margin-top: 1.16rem;
  width: 287.35px;
  width: 17.959375rem;
  margin-inline: auto;
}

.cta__box {
  margin-top: 15.72px;
  margin-top: 0.9825rem;
  position: relative;
  width: 374px;
  width: 23.375rem;
  margin-inline: auto;
  padding: 27px 29.26px 25.46px 29px;
  padding: 1.6875rem 1.82875rem 1.59125rem 1.8125rem;
}

.cta__box::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: -webkit-gradient(
    linear,
    right top,
    left top,
    from(#01291f),
    to(rgba(1, 48, 37, 0.7))
  );
  background: linear-gradient(270deg, #01291f 0%, rgba(1, 48, 37, 0.7) 100%);
  opacity: 0.9;
  z-index: 0;
}

.cta__box::after {
  position: absolute;
  content: "";
  top: 6px;
  top: 0.375rem;
  left: 5px;
  left: 0.3125rem;
  width: calc(100% - 10px);
  width: calc(100% - 0.625rem);
  height: calc(100% - 12px);
  height: calc(100% - 0.75rem);
  border: 0.06875rem solid #676f08;
  z-index: 0;
}

.cta__price-image {
  width: 186.98px;
  width: 11.68625rem;
  margin-inline: auto;
  position: relative;
  z-index: 1;
}

.cta__box-title {
  margin-top: 3.01px;
  margin-top: 0.188125rem;
  text-align: center;
  border-bottom: 0.0625rem solid #fff;
  position: relative;
  z-index: 1;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}

.cta__box-title .large {
  font-family: "Shippori Mincho B1", serif;
  font-size: 35.4px;
  font-size: 2.2125rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.1em;
  color: #fff;
}

.cta__box-title .small {
  font-family: "Shippori Mincho B1", serif;
  font-size: 19.4px;
  font-size: 1.2125rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.03em;
  color: #fff;
  position: relative;
  left: 2px;
  left: 0.125rem;
}

.cta__box-title .normal {
  display: inline-block;
  margin-left: 3px;
  margin-left: 0.1875rem;
  font-size: 20.4px;
  font-size: 1.275rem;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: 0.05em;
  color: #fff;
}

.cta__box-text {
  margin-top: 5px;
  margin-top: 0.3125rem;
  font-size: 12.14px;
  font-size: 0.75875rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #f6f8f8;
  text-align: center;
  position: relative;
  z-index: 1;
}

.cta__email-form {
  margin-top: 7.61px;
  margin-top: 0.475625rem;
  position: relative;
  z-index: 1;
}

/* ==========================================
    必要な知識が全てここに
   ========================================== */

.knowledge {
  padding: 31px 0 30px;
  padding: 1.9375rem 0 1.875rem;
  background-color: #f6f8f8;
  overflow: hidden;
}

.knowledge__inner {
  padding-inline: 0;
}

.knowledge__title-decoration {
  width: 42.94px;
  width: 2.68375rem;
  margin-inline: auto;
}

.knowledge__title {
  margin-top: 8.91px;
  margin-top: 0.556875rem;
  font-size: 1.334375rem;
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: 0.11em;
  text-align: center;
  color: #013026;
}

.knowledge__title .clip {
  display: inline-block;
  margin-top: 5px;
  margin-top: 0.3125rem;
  background: -webkit-gradient(
    linear,
    right top,
    left top,
    from(#005a46),
    to(#002d23)
  );
  background: linear-gradient(270deg, #005a46 0%, #002d23 100%);
  padding: 0px 7px 1px 10px;
  padding: 0rem 0.4375rem 0.125rem 0.625rem;
  -webkit-transform: matrix(1, 0, -0.14, 0.99, 0, 0);
  transform: matrix(1, 0, -0.14, 0.99, 0, 0);
  position: relative;
  top: -1px;
  top: -0.0625rem;
  font-size: 34.75px;
  font-size: 2.171875rem;
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: 0.1em;
  color: #fff;
}

.knowledge__title .high {
  position: relative;
  top: -7px;
  top: -0.4375rem;
  left: 0.125rem;
}

.knowledge-image01-wrapper {
  margin-top: -5.11px;
  margin-top: -0.319375rem;
  width: 100vw;
  margin-left: calc(50% - 50vw);
}

.knowledge__list {
  margin-top: -150px;
  margin-top: -9.375rem;
}

.knowledge__item {
  margin-left: 1.5625rem;
  padding: 20px 0 36px 17px;
  padding: 1.25rem 0 2.25rem 1.0625rem;
  background: -webkit-gradient(
    linear,
    right top,
    left top,
    from(#005a46),
    to(#002d23)
  );
  background: linear-gradient(270deg, #005a46 0%, #002d23 100%);
  border-radius: 0.9375rem 0 0 0.9375rem;
  position: relative;
}

.knowledge__item-image01 {
  width: 370.05px;
  width: 23.128125rem;
  margin-left: auto;
  padding-bottom: 20.97px;
  padding-bottom: 1.310625rem;
  margin-right: 1.85px;
  margin-right: 0.115625rem;
}

.knowledge__item-bottom {
  padding-top: 21px;
  padding-top: 1.3125rem;
  position: relative;
}

.knowledge__item-bottom::before {
  content: "";
  position: absolute;
  top: -1px;
  top: -0.0625rem;
  right: 0;
  width: 22.625625rem;
  height: 0.0625rem;
  background-color: rgba(255, 255, 255, 0.5);
}

.knowledge__item-title {
  font-size: 19.56px;
  font-size: 1.2225rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.15em;
  color: #fff;
  margin-left: 15px;
  margin-left: 0.9375rem;
}

.knowledge__item-title .gold3 {
  color: #d2bb5d;
}

.knowledge__item-text {
  margin-top: 12px;
  margin-top: 0.75rem;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #fff;
  margin-left: 15px;
  margin-left: 0.9375rem;
  width: 328px;
  width: 20.5rem;
}

.knowledge__item--separate {
  margin-top: 40px;
  margin-top: 2.5rem;
  margin-right: 1.5625rem;
  margin-left: 0;
  border-radius: 0 0.9375rem 0.9375rem 0;
  background: -webkit-gradient(
    linear,
    left top,
    right top,
    from(#002d23),
    to(#005a46)
  );
  background: linear-gradient(90deg, #002d23 0%, #005a46 100%);
  padding: 16px 5px 27px 0;
  padding: 1rem 0.3125rem 1.6875rem 0;
}

.knowledge__item-image02 {
  width: 349px;
  width: 21.8125rem;
  margin-left: 20px;
  margin-left: 1.25rem;
}

.knowledge__item-image03 {
  margin-top: 9px;
  margin-top: 0.5625rem;
  margin-left: 8px;
  margin-left: 0.5rem;
  width: 376px;
  width: 23.5rem;
  padding-bottom: 18px;
  padding-bottom: 1.125rem;
}

.knowledge__item-bottom--reverse {
  padding-top: 28px;
  padding-top: 1.75rem;
}

.knowledge__item-bottom--reverse::before {
  top: 0;
  right: initial;
  left: 0;
  width: 354px;
  width: 22.125rem;
}

.knowledge__item-title--reverse {
  margin-left: 28px;
  margin-left: 1.75rem;
}

.knowledge__item-text--narrow {
  margin-left: 28px;
  margin-left: 1.75rem;
  width: 336px;
  width: 21rem;
}

.knowledge__item-decoration {
  position: absolute;
  top: 0;
  right: 34.5px;
  right: 2.15625rem;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 24.5px;
  width: 1.53125rem;
}

.knowledge__item-decoration--reverse {
  right: initial;
  left: 27px;
  left: 1.6875rem;
}

/* ==========================================
    すぐに役立つ実践的な講義が学べる
   ========================================== */

.useful {
  padding: 30px 0 71px;
  padding: 1.875rem 0 4.4375rem;
  background-color: #f0ede7;
  overflow: hidden;
}

.useful__inner {
  padding-inline: 0;
}

.useful__title-decoration {
  width: 42.94px;
  width: 2.68375rem;
  margin-inline: auto;
}

.useful__sub-title {
  margin-top: 11.91px;
  margin-top: 0.744375rem;
  font-size: 15.53px;
  font-size: 0.970625rem;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.15em;
  color: #a6890d;
  text-align: center;
}

.useful__title {
  margin-top: 20px;
  margin-top: 1.25rem;
  font-size: 21.35px;
  font-size: 1.334375rem;
  line-height: 1.3;
  letter-spacing: 0.11em;
  color: #013026;
  text-align: center;
  font-weight: 600;
}

.useful__title .clip {
  display: inline-block;
  font-size: 34.75px;
  font-size: 2.171875rem;
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: 0.1em;
  color: #fff;
  background: -webkit-gradient(
    linear,
    right top,
    left top,
    from(#005a46),
    to(#002d23)
  );
  background: linear-gradient(270deg, #005a46 0%, #002d23 100%);
  padding: 0px 7px 3px 13px;
  padding: 0rem 0.4375rem 0.1875rem 0.8125rem;
  -webkit-transform: matrix(1, 0, -0.14, 0.99, 0, 0);
  transform: matrix(1, 0, -0.14, 0.99, 0, 0);
  position: relative;
  top: -1px;
  margin-top: 3px;
  margin-top: 0.1875rem;
  margin-left: -2px;
  margin-left: -0.125rem;
}

.useful__title .position01 {
  position: relative;
  top: -8px;
  top: -0.5rem;
  left: -2px;
  left: -0.125rem;
}

.useful__title .position02 {
  position: relative;
  top: 4px;
  top: 0.25rem;
}

#splide08 {
  margin-top: 31px;
  margin-top: 1.9375rem;
  padding-left: 1.5rem;
}

.useful-splide__slide {
  -webkit-box-shadow: 0px 0px 0.25rem rgba(0, 0, 0, 0.05);
  box-shadow: 0px 0px 0.25rem rgba(0, 0, 0, 0.05);
  border-radius: 0.1875rem;
  background-color: #fff;
  padding: 10px 8px 15px 0;
}

.useful-splide__slide-image {
  border-radius: 0.1875rem;
  width: 197px;
  width: 12.3125rem;
}

.useful-splide__slide-line {
  margin-top: 6px;
  margin-top: 0.375rem;
  margin-left: 13px;
  margin-left: 0.8125rem;
  width: 28px;
  width: 1.75rem;
  height: 1px;
  height: 0.0625rem;
  background-color: #c7aa2f;
}

.useful-splide__slide-heading {
  margin-top: 6px;
  margin-top: 0.375rem;
  padding-left: 12px;
  padding-left: 0.75rem;
  font-size: 10px;
  font-size: 0.625rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.1em;
  color: #000;
}

.useful-splide__slide-text {
  margin: 9px 3px 0 13px;
  margin: 0.5625rem 0.1875rem 0 0.8125rem;
  font-size: 10px;
  font-size: 0.625rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #000;
}

@media (min-width: 769px) {
  .useful-splide__slide-image {
    width: 100%;
  }

  .useful-splide__slide-heading {
    margin-top: 7.5px;
    margin-top: 0.46875rem;
    padding-left: 15px;
    padding-left: 0.9375rem;
    font-size: 13px;
    font-size: 0.8125rem;
  }

  .useful-splide__slide-text {
    margin: 10.8px 3.75px 0 15.6px;
    margin: 0.675rem 0.234375rem 0 0.975rem;
    font-size: 13px;
    font-size: 0.8125rem;
  }
}

#splide08 .splide__arrow,
#splide09 .splide__arrow {
  width: 1.75rem;
  height: 1.75rem;
}

@media (min-width: 769px) {
  #splide09 .splide__arrow {
    right: -0.7rem;
  }
}

#splide08 .splide__pagination,
#splide09 .splide__pagination {
  bottom: -38px;
  bottom: -2.375rem;
  left: -6px;
  left: -0.375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 0.5625rem;
  -moz-column-gap: 0.5625rem;
  column-gap: 0.5625rem;
}

#splide09 .splide__pagination {
  bottom: -24px;
  bottom: -1.5rem;
}

#splide08 .splide__pagination__page,
#splide09 .splide__pagination__page {
  margin: 0;
  background: rgba(193, 166, 30, 0.3);
  width: 7px;
  width: 0.4375rem;
  height: 7px;
  height: 0.4375rem;
}

#splide08 .splide__pagination__page.is-active,
#splide09 .splide__pagination__page.is-active {
  -webkit-transform: initial;
  transform: initial;
  background: #c1a61e;
  opacity: 1;
}

/* ==========================================
    さらに学習が加速する
   ========================================== */

.environment {
  padding-top: 39px;
  padding-top: 2.4375rem;
  background-color: #f9f9f9;
}

.environment__inner {
  padding-inline: 0.4375rem;
}

.environment__title-decoration {
  width: 42.94px;
  width: 2.68375rem;
  margin-inline: auto;
}

.environment__sub-title {
  margin-top: 9.91px;
  margin-top: 0.619375rem;
  font-size: 21.35px;
  font-size: 1.334375rem;
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: 0.11em;
  text-align: center;
  color: #013026;
}

.environment__sub-title .position {
  position: relative;
  top: -2px;
  top: -0.125rem;
}

.environment__sub-title .clip {
  margin-top: 7px;
  margin-top: 0.4375rem;
  display: inline-block;
  font-size: 31.75px;
  font-size: 1.984375rem;
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: 0.1em;
  color: #fff;
  padding: 0px 7px 5px 13px;
  padding: 0rem 0.4375rem 0.3125rem 0.8125rem;
  -webkit-transform: matrix(1, 0, -0.14, 0.99, 0, 0);
  transform: matrix(1, 0, -0.14, 0.99, 0, 0);
  background: -webkit-gradient(
    linear,
    right top,
    left top,
    color-stop(5.98%, #005a46),
    to(#002d23)
  );
  background: linear-gradient(270deg, #005a46 5.98%, #002d23 100%);
  position: relative;
  left: -4px;
  left: -0.25rem;
}

.environment__explanation {
  margin-top: 27.33px;
  margin-top: 1.708125rem;
  padding: 51.77px 15px 63px 28px;
  padding: 3.235625rem 0.9375rem 3.9375rem 1.75rem;
  background: -webkit-gradient(
    linear,
    right top,
    left top,
    from(#005a46),
    to(#002d23)
  );
  background: linear-gradient(270deg, #005a46 0%, #002d23 100%);
  border-radius: 5rem 5rem 0 0;
}

.environment__title {
  width: 272.23px;
  width: 17.014375rem;
  margin-left: auto;
  margin-right: 15px;
  margin-right: 0.9375rem;
}

.environment__list {
  margin-top: 20px;
  margin-top: 1.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  row-gap: 55.7px;
  row-gap: 3.48125rem;
}

.environment__item-title span {
  display: block;
  margin-left: 8.7px;
  margin-left: 0.54375rem;
  margin-top: 9.7px;
  margin-top: 0.60625rem;
  font-size: 20.25px;
  font-size: 1.265625rem;
  font-weight: 800;
  line-height: 1.45;
  letter-spacing: 0.15em;
  color: #f9f9f9;
}

.environment__item-image01 {
  width: 268.7px;
  width: 16.79375rem;
  margin-left: 7.8px;
  margin-left: 0.4875rem;
}

.environment__item-sub-title {
  margin-top: 11.7px;
  margin-top: 0.73125rem;
  font-family: "Shippori Mincho B1", serif;
  font-size: 46px;
  font-size: 2.875rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.1em;
  color: #f9f9f9;
}

.environment__item-image02 {
  width: 275px;
  width: 17.1875rem;
}

.environment__item-image03 {
  width: 275px;
  width: 17.1875rem;
}

.environment__image-wrapper {
  border-radius: 0.625rem;
  margin-top: 74.9px;
  margin-top: 4.68125rem;
  width: 330px;
  width: 20.625rem;
  margin-left: 7px;
  margin-left: 0.4375rem;
}

.environment__image {
  border-radius: 0.625rem;
}

/* ==========================================
    嬉しい声
   ========================================== */

.voice {
  padding: 34px 0 56px;
  padding: 2.125rem 0 3.5rem;
  background-color: #f0ede6;
}

.voice {
  overflow: hidden;
}

.voice__inner {
  padding-inline: 0;
}

.voice__title-decoration {
  width: 42.94px;
  width: 2.68375rem;
  margin-inline: auto;
}

.voice__en {
  margin-top: 4.9px;
  margin-top: 0.30625rem;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: 0.3em;
  color: #a6890d;
  text-align: center;
  text-transform: uppercase;
  position: relative;
  left: 5px;
  left: 0.3125rem;
}

.voice__title {
  margin-top: 24px;
  margin-top: 1.5rem;
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: 0.11em;
  color: #013026;
  text-align: center;
}

.voice__title .small2 {
  display: block;
  margin-top: 1px;
  margin-top: 0.0625rem;
}

.voice__title .large {
  display: block;
  margin-top: 8px;
  margin-top: 0.5rem;
  font-size: 25.56px;
  font-size: 1.5975rem;
  letter-spacing: 0.1em;
  background: -webkit-gradient(
    linear,
    right top,
    left top,
    from(#005a46),
    to(#002d23)
  );
  background: linear-gradient(270deg, #005a46 0%, #002d23 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
  padding-bottom: 1px;
  padding-bottom: 0.0625rem;
  border-bottom: 0.0625rem solid #012b21;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}

#splide09 {
  visibility: visible;
}

.voice__list {
  padding-top: 35px;
  padding-top: 2.1875rem !important;
}

.voice__slide {
  padding: 18px 23px 46px 23px;
  padding: 1.125rem 1.4375rem 2.875rem 1.4375rem;
  background-color: #f9f9f9;
  -webkit-box-shadow: 0px 0px 0.9375rem rgba(0, 0, 0, 0.08);
  box-shadow: 0px 0px 0.9375rem rgba(0, 0, 0, 0.08);
  border-radius: 0.3125rem;
  position: relative;
}

.voice__medal {
  position: absolute;
  top: -9px;
  top: -0.5625rem;
  right: -8.8px;
  right: -0.55rem;
  width: 68.8px;
  width: 4.3rem;
  z-index: 100;
}

.voice__slide-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-column-gap: 1.125rem;
  -moz-column-gap: 1.125rem;
  column-gap: 1.125rem;
  margin-left: 0.0625rem;
}

.voice-slide-top-right {
  margin-top: 6px;
  margin-top: 0.375rem;
}

.voice-slide-top-label {
  padding: 0 4px 2px;
  padding: 0rem 0.25rem 0.125rem;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: 0.1em;
  color: #fff;
}

.voice-slide-top-label--green {
  background-color: #015542;
}

.voice-slide-top-label--red {
  background-color: #ac0a0a;
}

.voice-slide-top-label--black {
  background-color: #180000;
}

.voice__slide-top-image {
  width: 72px;
  width: 4.5rem;
}

.voice__slide-top-text,
.voice__slide-text {
  margin-top: 18px;
  margin-top: 1.125rem;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 300;
  line-height: 1.45;
  letter-spacing: 0.1em;
  color: #161817;
}

.voice__slide-top-text {
  margin-top: 2px;
  margin-top: 0.125rem;
}

.voice__slide-title {
  margin-top: 12px;
  margin-top: 0.75rem;
  font-size: 15px;
  font-size: 0.9375rem;
  font-weight: 800;
  line-height: 1.45;
  letter-spacing: 0.1em;
  color: #161817;
  margin-left: 4px;
  margin-left: 0.25rem;
  text-align: justify;
}

.voice__slide-text {
  margin-top: 11px;
  margin-top: 0.6875rem;
  margin-left: 4px;
  margin-left: 0.25rem;
}

.voice__note {
  margin-top: 11px;
  margin-top: 0.6875rem;
  margin-right: 36px;
  margin-right: 2.25rem;
  font-size: 10px;
  font-size: 0.625rem;
  font-weight: 300;
  line-height: 1.45;
  letter-spacing: 0.1em;
  color: #161817;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
}

/* ==========================================
    運営
   ========================================== */

.operation {
  padding: 38px 0 62px;
  padding: 2.375rem 0 3.875rem;
  background-color: #f6f8f8;
}

.operation__inner {
  padding-inline: 0;
}

.operation__title-decoration {
  width: 42.94px;
  width: 2.68375rem;
  margin-inline: auto;
}

.operation__title {
  margin-top: 19.91px;
  margin-top: 1.244375rem;
  font-family: "Shippori Mincho B1", serif;
  font-size: 21px;
  font-size: 1.3125rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #013227;
  text-align: center;
}

.operation__image {
  margin-top: 21px;
  margin-top: 1.3125rem;
  width: 414px;
  width: 25.875rem;
  margin-inline: auto;
}

.operation__sub-title {
  margin-top: 27px;
  margin-top: 1.6875rem;
  padding: 22px 0 30px;
  padding: 1.375rem 0 1.875rem;
  width: 313px;
  width: 19.5625rem;
  margin-inline: auto;
  font-family: "Shippori Mincho B1", serif;
  font-size: 17px;
  font-size: 1.0625rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.1em;
  color: #013227;
  text-align: center;
  position: relative;
}

.operation__sub-title::before,
.operation__sub-title::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 0.0625rem;
  background: -webkit-gradient(
    linear,
    left top,
    right top,
    from(#002d23),
    to(#005a46)
  );
  background: linear-gradient(to right, #002d23 0%, #005a46 100%);
}

.operation__sub-title::before {
  top: 0;
}

.operation__sub-title::after {
  bottom: 0;
}

/* ==========================================
    CPAラーニングの独自コンテンツ
   ========================================== */

.original {
  padding: 38px 0 36px;
  padding: 2.375rem 0 2.25rem;
  background: -webkit-gradient(
    linear,
    right top,
    left top,
    from(#005a46),
    to(#002d23)
  );
  background: linear-gradient(270deg, #005a46 0%, #002d23 100%);
}

.original__inner {
  padding-right: 1.4375rem;
  padding-left: 1.4375rem;
}

.original__title-decoration {
  width: 42.94px;
  width: 2.68375rem;
  margin-inline: auto;
}

.original__sub-title {
  margin-top: 12.91px;
  margin-top: 0.806875rem;
  font-size: 20.4px;
  font-size: 1.275rem;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.2em;
  color: #a6890d;
  text-align: center;
}

.original__title {
  margin-top: 28px;
  margin-top: 1.75rem;
  font-size: 26.4px;
  font-size: 1.65rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.1em;
  color: #f6f8f8;
  text-align: center;
}

.original__list {
  margin-top: 44px;
  margin-top: 2.75rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  row-gap: 36px;
  row-gap: 2.25rem;
}

.original__item {
  position: relative;
  padding: 33px 10px 29px 13px;
  padding: 2.0625rem 0.625rem 1.8125rem 0.8125rem;
  border-radius: 0.625rem;
  background-color: #f6f8f8;
}

.original__item-text01 {
  position: absolute;
  top: -14px;
  top: -0.875rem;
  left: -8px;
  left: -0.5rem;
  padding: 5px 11px 7px;
  padding: 0.3125rem 0.6875rem 0.4375rem;
  border-radius: 0.1875rem;
  background-color: #000;
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.55;
  letter-spacing: 0.1em;
  color: #f6f8f8;
}

.original__item-title {
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.55;
  letter-spacing: 0.1em;
  color: #161817;
  padding-left: 17px;
  padding-left: 1.0625rem;
}

.original__item-image01 {
  margin-top: 12px;
  margin-top: 0.75rem;
  width: 338px;
  width: 21.125rem;
}

.original__item-text02 {
  margin-top: -70px;
  margin-top: -4.375rem;
  padding-left: 15px;
  padding-left: 0.9375rem;
  padding-right: 7px;
  padding-right: 0.4375rem;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 300;
  line-height: 1.65;
  letter-spacing: 0.1em;
  color: #161817;
}

.original__item-text02--mt {
  margin-top: -54px;
  margin-top: -3.375rem;
  padding-left: 17px;
  padding-left: 1.0625rem;
}

.original__item-image02 {
  margin-top: 8px;
  margin-top: 0.5rem;
  width: 324px;
  width: 20.25rem;
  padding-left: 19px;
  padding-left: 1.1875rem;
}

.original__item--02 {
  padding-bottom: 26px;
  padding-bottom: 1.625rem;
}

.original__cta {
  margin-top: 39px;
  margin-top: 2.4375rem;
}

.original__cta-text {
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #f6f8f8;
  text-align: center;
}

.cta__box-title .gold5 {
  color: #dcbf46;
}

.email-form--narrow {
  width: 315.74px;
  width: 19.73375rem;
  margin-inline: auto;
  margin-top: 14px;
  margin-top: 0.875rem;
}

/* ==========================================
    よくある質問
   ========================================== */

.faq {
  padding: 41px 0 72px;
  padding: 2.5625rem 0 4.5rem;
  background-color: #f6f8f8;
}

.faq__inner {
  padding: 0 20px 0 19px;
  padding: 0rem 1.25rem 0rem 1.1875rem;
}

.faq__title-decoration {
  width: 42.94px;
  width: 2.68375rem;
  margin-inline: auto;
}

.faq__sub-title {
  margin-top: 1.91px;
  margin-top: 0.119375rem;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: 0.3em;
  color: #a6890d;
  text-align: center;
  position: relative;
  left: 3px;
  left: 0.1875rem;
}

.faq__title {
  margin-top: 9px;
  margin-top: 0.5625rem;
  font-size: 21.56px;
  font-size: 1.3475rem;
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: 0.1em;
  background: -webkit-gradient(
    linear,
    right top,
    left top,
    from(#005a46),
    to(#002d23)
  );
  background: linear-gradient(270deg, #005a46 0%, #002d23 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
  text-align: center;
}

.faq__list {
  margin-top: 30px;
  margin-top: 1.875rem;
}

.faq__item {
  padding: 26px 0 27px;
  padding: 1.625rem 0 1.6875rem;
  border-bottom: 0.125rem solid #fff;
}

.faq__item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.faq__item-top {
  padding-left: 6px;
  padding-left: 0.375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-column-gap: 0.875rem;
  -moz-column-gap: 0.875rem;
  column-gap: 0.875rem;
}

.faq__item-icon {
  width: 27px;
  width: 1.6875rem;
}

.faq__item-title {
  font-size: 16px;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: 0.2em;
  color: #012b21;
  width: 306px;
  width: 19.125rem;
  margin-top: -4px;
  margin-top: -0.25rem;
}

.faq__item-text {
  margin-top: 11px;
  margin-top: 0.6875rem;
  margin-left: 48px;
  margin-left: 3rem;
  width: 301px;
  width: 18.8125rem;
  font-size: 13px;
  font-size: 0.8125rem;
  font-weight: 300;
  line-height: 1.75;
  letter-spacing: 0;
  color: #161817;
}

/* ==========================================
    固定ボタン
   ========================================== */

/* 固定ボタン */

.kotei-btn {
  position: fixed;
  bottom: 10px;
  bottom: 0.625rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  right: 0;
  z-index: 999;
  width: 23rem;
  margin-inline: auto;
  display: block;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: opacity 0.3s, visibility 0.3s;
  transition: opacity 0.3s, visibility 0.3s;
}

.kotei-btn.is-active {
  visibility: visible;
  opacity: 1;
}

@media screen and (min-width: 375px) {
  .hide-sp {
    display: none;
  }
}

@media screen and (min-width: 524px) {
  .md-sm-none {
    display: block;
  }

  .hide-sm {
    display: none;
  }

  .knowledge__item-image01 {
    width: clamp(
      370.05px,
      calc(370.05px + 279.95 * ((100vw - 375px) / 393)),
      650px
    );
  }

  .knowledge__item-text {
    width: clamp(328px, calc(328px + 252 * ((100vw - 375px) / 393)), 580px);
  }

  .knowledge__item-image02 {
    width: clamp(349px, calc(349px + 301 * ((100vw - 375px) / 393)), 650px);
  }

  .knowledge__item-image03 {
    width: clamp(376px, calc(376px + 304 * ((100vw - 375px) / 393)), 680px);
  }

  .environment__title {
    width: clamp(
      272.23px,
      calc(272.23px + 257.77 * ((100vw - 375px) / 393)),
      530px
    );
    margin-right: 1.25rem;
  }

  .environment__list {
    margin-left: clamp(7px, calc(7px + 43 * ((100vw - 375px) / 393)), 50px);
  }

  .environment__image-wrapper {
    margin-top: 65.8px;
    margin-left: clamp(7px, calc(7px + 43 * ((100vw - 375px) / 393)), 50px);
  }

  .voice__note {
    margin-right: clamp(36px, calc(36px + 34 * ((100vw - 375px) / 393)), 70px);
  }

  .original__item {
    padding-inline: 3.125rem;
  }

  .faq__item-title {
    width: clamp(306px, calc(306px + 309 * ((100vw - 375px) / 393)), 615px);
  }

  .faq__item-text {
    width: clamp(301px, calc(301px + 304 * ((100vw - 375px) / 393)), 605px);
  }
}

@media screen and (min-width: 769px) {
  a[href^="tel:"] {
    pointer-events: auto;
  }

  .inner {
    padding-inline: 1.25rem;
    max-width: 65rem;
  }

  .hide-md {
    display: none;
  }

  .show-md {
    display: block;
  }

  .lg-md-only {
    display: block;
  }

  .md-sm-none {
    display: none;
  }

  .fv {
    margin-top: 69px;
    margin-top: 4.3125rem;
    padding: 35.1px 0 30.25px;
    padding: 2.19375rem 0 1.890625rem;
    background-image: url("../img/fv-pc.png");
  }

  .fv__title {
    width: 693px;
    width: 43.3125rem;
    position: relative;
    left: 13px;
    left: 0.8125rem;
  }

  .fv__sub-title {
    margin-top: -51px;
    margin-top: -3.1875rem;
    width: 897px;
    width: 56.0625rem;
    left: 20px;
    left: 1.25rem;
  }

  .fv__form-body {
    margin-top: -58px;
    margin-top: -3.625rem;
    padding: 29px 99px 28.81px 99.71px;
    padding: 1.8125rem 6.193125rem 1.801875rem 6.231875rem;
    width: 694px;
    width: 43.375rem;
  }

  .fv__form-body::after {
    top: 7px;
    top: 0.4375rem;
    left: 9px;
    left: 0.5625rem;
    right: 7px;
    right: 0.4375rem;
    bottom: 7px;
    bottom: 0.4375rem;
    width: calc(100% - 16px);
    width: calc(100% - 1rem);
    height: calc(100% - 14px);
    height: calc(100% - 0.875rem);
    border: 1.5px solid #676f08;
    border: 0.09375rem solid #676f08;
  }

  .fv__form-text {
    font-size: 16px;
    font-size: 1rem;
  }

  .fv__email-form {
    margin-top: 18px;
    margin-top: 1.125rem;
  }

  .email-form__input-wrapper {
    padding: 12.96px 21.79px 17.69px;
    padding: 0.81rem 1.361875rem 1.105625rem;
    border: 1.296px solid rgba(246, 248, 248, 0.5);
    border: 0.081rem solid rgba(246, 248, 248, 0.5);
    -webkit-box-shadow: 0px 0px 20.031px rgba(0, 0, 0, 0.3);
    box-shadow: 0px 0px 20.031px rgba(0, 0, 0, 0.3);
    -webkit-box-shadow: 0px 0px 1.2519375rem rgba(0, 0, 0, 0.3);
    box-shadow: 0px 0px 1.2519375rem rgba(0, 0, 0, 0.3);
    border-radius: 4.29235px;
    border-radius: 0.268271875rem;
  }

  .email-form__label {
    font-size: 15.24px;
    font-size: 0.9525rem;
  }

  .email-form__input {
    font-size: 17.88px;
    font-size: 1.1175rem;
    margin-top: 10px;
    margin-top: 0.625rem;
  }

  .email-form__input::-webkit-input-placeholder {
    font-size: 17.88px;
    font-size: 1.1175rem;
  }

  .email-form__input::-moz-placeholder {
    font-size: 17.88px;
    font-size: 1.1175rem;
  }

  .email-form__input:-ms-input-placeholder {
    font-size: 17.88px;
    font-size: 1.1175rem;
  }

  .email-form__input::-ms-input-placeholder {
    font-size: 17.88px;
    font-size: 1.1175rem;
  }

  .email-form__input::placeholder {
    font-size: 17.88px;
    font-size: 1.1175rem;
  }

  .fv__email-error {
    font-size: 15px;
    font-size: 0.9375rem;
    margin-top: 5px;
    margin-top: 0.3125rem;
    margin-left: -3px;
    margin-left: -0.1875rem;
  }

  .email-form__submit {
    margin-top: 9.76px;
    margin-top: 3.110625rem;
    width: 367.41px;
    width: 22.963125rem;
  }

  .email-form__submit--mt {
    margin-top: 54.76px;
    position: relative;
    top: -2px;
  }

  .email-form__medal {
    top: -26px;
    top: -1.625rem;
    right: -53.02px;
    right: -3.31375rem;
    width: 148.02px;
    width: 9.25125rem;
  }

  #splide01.splide {
    margin-top: 26px;
    margin-top: 1.625rem;
  }

  #splide01 .splide__slide,
  #splide02 .splide__slide {
    font-size: 27.13px;
    font-size: 1.695625rem;
    border: 1.7px solid rgba(255, 255, 255, 0.8);
    border: 0.10625rem solid rgba(255, 255, 255, 0.8);
    height: 58px;
    height: 3.625rem;
  }

  #splide01 .splide__slide--wide,
  #splide02 .splide__slide--wide {
    width: 158px !important;
    width: 9.875rem !important;
    letter-spacing: 0.08em;
  }

  #splide01 .splide__slide--narrow,
  #splide02 .splide__slide--narrow {
    width: 144.14px !important;
    width: 9.00875rem !important;
    font-size: 28.83px;
    font-size: 1.801875rem;
    letter-spacing: 0.08em;
  }

  #splide02.splide {
    margin-top: 15px;
    margin-top: 0.9375rem;
  }

  .register {
    padding: 22px 0 0;
    padding: 1.375rem 0 0;
  }

  .register__title {
    width: 453.64px;
    width: 28.3525rem;
  }

  .register__sub-title {
    margin-top: 42.88px;
    margin-top: 2.67875rem;
    font-size: 29.98px;
    font-size: 1.87375rem;
  }

  .register__sub-title .clip {
    padding: 1px 8px 4px;
    padding: 0.0625rem 0.5rem 0.25rem;
    margin-top: 7px;
    margin-top: 0.4375rem;
    font-size: 43px;
    font-size: 2.6875rem;
    left: -1px;
    left: -0.0625rem;
  }

  .register__sub-title .clip2 {
    font-size: 45.81px;
    font-size: 2.863125rem;
    margin-top: 14px;
    margin-top: 0.875rem;
    clip-path: polygon(2% 0, 100% 0%, 98% 100%, 0% 100%);
    padding: 0 11px 4px;
    padding: 0rem 0.6875rem 0.25rem;
  }

  .register__sub-title .position1 {
    top: -0.0625rem;
    left: 6px;
    left: 0.375rem;
  }

  .register__image {
    width: 630.49px;
    width: 39.405625rem;
    left: -13px;
    left: -0.8125rem;
  }

  .contents {
    padding: 59px 0 50px;
    padding: 3.6875rem 0 3.125rem;
    margin-top: -66px;
    margin-top: -4.125rem;
  }

  .contents__inner {
    padding-inline: 1.25rem;
  }

  .contents__title-decoration {
    width: 61.83px;
    width: 3.864375rem;
  }

  .contents__title {
    margin-top: 11.38px;
    margin-top: 0.71125rem;
    font-size: 45.4px;
    font-size: 2.8375rem;
  }

  .contents__sub-title {
    font-size: 30.75px;
    font-size: 1.921875rem;
  }

  .contents__sub-title .large {
    font-size: 40.82px;
    font-size: 2.55125rem;
  }

  .contents__block {
    margin-top: 81.84px;
    margin-top: 5.115rem;
    padding-left: 0;
  }

  .contents__block + .contents__block {
    margin-top: 59.46px;
    margin-top: 3.71625rem;
  }

  .contents__info {
    -webkit-column-gap: 0.918125rem;
    -moz-column-gap: 0.918125rem;
    column-gap: 0.918125rem;
  }

  .contents__label {
    padding: 5.88px 14.57px 8.25px 14.69px;
    padding: 0.3675rem 0.910625rem 0.515625rem 0.918125rem;
    border-radius: 0.275625rem;
    font-size: 22.9px;
    font-size: 1.43125rem;
  }

  .contents__type {
    font-size: 25.84px;
    font-size: 1.615rem;
  }

  #splide03,
  #splide04,
  #splide05,
  #splide06,
  #splide07 {
    margin-top: 12.51px;
    margin-top: 0.781875rem;
  }

  .contents__link {
    margin-top: 64.86px;
    margin-top: 4.05375rem;
    font-size: 24.19px;
    font-size: 1.511875rem;
    padding-bottom: 4.56px;
    padding-bottom: 0.285rem;
    border-bottom: 0.108125rem solid #013026;
    position: relative;
    left: -3px;
    left: -0.1875rem;
  }

  .splide__arrow {
    background-color: transparent;
    width: 40px;
    width: 2.5rem;
    height: 40px;
    border-radius: 50%;
    opacity: 1;
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }

  .splide__arrow--prev {
    left: -1.3rem;
  }

  .splide__arrow--next {
    right: -1.3rem;
  }

  .cta {
    margin-top: -10px;
    margin-top: -0.625rem;
    padding: 57px 0 57px;
    padding: 3.5625rem 0 3.5625rem;
    background-image: url("../img/cta-bg-pc.png");
  }

  .cta__title {
    width: 564.9px;
    width: 35.30625rem;
  }

  .cta__sub-title {
    margin-top: 28.03px;
    margin-top: 1.751875rem;
    width: 448.26px;
    width: 28.01625rem;
  }

  .cta__box {
    margin-top: 23.41px;
    margin-top: 1.463125rem;
    width: 696px;
    width: 43.5rem;
    padding: 30.92px 100px 45.81px 100.71px;
    padding: 1.9325rem 6.25rem 2.863125rem 6.294375rem;
  }

  .cta__box::after {
    top: 9px;
    top: 0.5625rem;
    left: 6px;
    left: 0.375rem;
    width: calc(100% - 11px);
    width: calc(100% - 0.6875rem);
    height: calc(100% - 17px);
    height: calc(100% - 1.0625rem);
  }

  .cta__price-image {
    width: 269.26px;
    width: 16.82875rem;
  }

  .cta__box-title {
    margin-top: 4.21px;
    margin-top: 0.263125rem;
  }

  .cta__box-title .large {
    font-size: 50.98px;
    font-size: 3.18625rem;
    position: relative;
    top: 3px;
    top: 0.1875rem;
    left: -2px;
    left: -0.125rem;
  }

  .cta__box-title .small {
    font-size: 27.94px;
    font-size: 1.74625rem;
    left: 2px;
    left: 0.125rem;
  }

  .cta__box-title .normal {
    font-size: 29.38px;
    font-size: 1.83625rem;
    margin-left: 3px;
    margin-left: 0.1875rem;
  }

  .cta__box-text {
    margin-top: 16.98px;
    margin-top: 1.06125rem;
    font-size: 14.49px;
    font-size: 0.905625rem;
  }

  .cta__email-form {
    margin-top: 15.92px;
    margin-top: 0.995rem;
  }

  .knowledge {
    padding: 49px 0 78px;
    padding: 3.0625rem 0 4.875rem;
  }

  .knowledge__inner {
    padding-inline: 3.125rem;
  }

  .knowledge__title-decoration {
    width: 60.11px;
    width: 3.756875rem;
  }

  .knowledge__title {
    margin-top: 12.47px;
    margin-top: 0.779375rem;
    font-size: 29.89px;
    font-size: 1.868125rem;
  }

  .knowledge__title .clip {
    font-size: 48.65px;
    font-size: 3.040625rem;
    margin-top: 6.64px;
    margin-top: 0.415rem;
    clip-path: polygon(1% 0, 100% 0%, 99% 100%, 0% 100%);
    padding: 0 12px 2px 13px;
    padding: 0rem 0.75rem 0.125rem 0.8125rem;
  }

  .knowledge-image01-wrapper {
    margin-top: 41px;
    margin-top: 2.5625rem;
  }

  .knowledge__list {
    margin-top: -251px;
    margin-top: -8.125rem;
  }

  .knowledge__item {
    padding: 16px 35px 43px 26px;
    padding: 1rem 2.1875rem 2.6875rem 1.625rem;
    border-radius: 1.25rem;
    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;
    -webkit-column-gap: 29px;
    -moz-column-gap: 29px;
    column-gap: 29px;
    -webkit-column-gap: 1.8125rem;
    -moz-column-gap: 1.8125rem;
    column-gap: 1.8125rem;
    margin-left: 0;
  }

  .knowledge__item-image01 {
    width: 391px;
    width: 24.4375rem;
    margin-right: 0;
    padding-bottom: 0;
  }

  .knowledge__item-bottom {
    padding-top: 0;
    padding-left: 34px;
    padding-left: 2.125rem;
    margin-top: 55px;
    margin-top: 3.4375rem;
  }

  .knowledge__item-bottom::before {
    top: -59px;
    right: initial;
    left: 0;
    width: 0.0625rem;
    height: 363px;
    height: 22.6875rem;
  }

  .knowledge__item-title {
    font-size: 1.6875rem;
    margin-left: 0;
  }

  .knowledge__item-text {
    margin-top: 17px;
    margin-top: 1.0625rem;
    font-size: 15px;
    font-size: 0.9375rem;
    line-height: 1.7;
    margin-left: 0;
    letter-spacing: 0.1em;
    width: 361px;
    width: 22.5625rem;
    text-align: justify;
  }

  .knowledge__item--separate {
    margin-top: 32px;
    margin-top: 2rem;
    margin-right: 0;
    border-radius: 1.25rem;
    background: -webkit-gradient(
      linear,
      right top,
      left top,
      from(#005a46),
      to(#002d23)
    );
    background: linear-gradient(270deg, #005a46 0%, #002d23 100%);
    padding: 14px 35px 27px 33px;
    padding-inline: 1.25rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -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;
  }

  .knowledge__item-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-column-gap: 45.52px;
    -moz-column-gap: 45.52px;
    column-gap: 45.52px;
    -webkit-column-gap: 1.875rem;
    -moz-column-gap: 1.875rem;
    column-gap: 1.875rem;
  }

  .knowledge__item-image02 {
    width: 384.48px;
    width: 24.03rem;
    margin-left: 0;
  }

  .knowledge__item-image03 {
    margin-top: 12px;
    margin-top: 0.75rem;
    margin-left: 0.625rem;
    width: 769px;
    width: 48.0625rem;
    padding-bottom: 0;
  }

  .knowledge__item-bottom--reverse {
    padding-top: 0;
    padding-left: 34px;
    padding-left: 2.125rem;
  }

  .knowledge__item-bottom--reverse::before {
    top: -43px;
    right: initial;
    left: 0;
    width: 0.0625rem;
    height: 340px;
    height: 21.25rem;
  }

  .knowledge__item-title--reverse {
    margin-left: 0;
  }

  .knowledge__item-text--narrow {
    margin-left: 0;
    width: 340px;
    width: 21.25rem;
    margin-top: 17px;
    margin-top: 1.0625rem;
  }

  .knowledge__item-decoration {
    right: initial;
    left: 56px;
    left: 3.5rem;
  }

  .knowledge__item-decoration--reverse {
    left: 73px;
    left: 4.5625rem;
  }

  .useful {
    padding: 47.8px 0 81px;
    padding: 2.9875rem 0 5.0625rem;
  }

  .useful__inner {
    max-width: 66.9125rem;
    padding-inline: 1.25rem;
  }

  .useful__title-decoration {
    width: 66.98px;
    width: 4.18625rem;
  }

  .useful__sub-title {
    margin-top: 18.57px;
    margin-top: 1.160625rem;
    font-size: 24.23px;
    font-size: 1.514375rem;
  }

  .useful__title {
    margin-top: 30.6px;
    margin-top: 1.725rem;
    font-size: 33.31px;
    font-size: 2.081875rem;
  }

  .useful__title .clip {
    font-size: 54.21px;
    font-size: 3.388125rem;
    clip-path: polygon(0.3% 0, 100% 0%, 99.7% 100%, 0% 100%);
    padding: 1px 15px 5px 17px;
    padding: 0.0625rem 0.9375rem 0.3125rem 1.0625rem;
  }

  .useful__title .position02 {
    display: inline-block;
    margin-top: 6px;
    margin-top: 0.375rem;
  }

  #splide08 {
    padding-left: 0;
    margin-top: 31.92px;
    margin-top: 1.995rem;
  }

  #splide08 .splide__pagination,
  #splide09 .splide__pagination {
    -webkit-column-gap: 0.52625rem;
    -moz-column-gap: 0.52625rem;
    column-gap: 0.52625rem;
    left: 0;
  }

  #splide08 .splide__pagination__page,
  #splide09 .splide__pagination__page {
    width: 0.409375rem;
    height: 0.409375rem;
  }

  .environment {
    padding-top: 53px;
    padding-top: 3.3125rem;
  }

  .environment__inner {
    padding-inline: 0.625rem;
    max-width: initial;
  }

  .environment__title-decoration {
    width: 64.41px;
    width: 4.025625rem;
  }

  .environment__sub-title {
    margin-top: 14.86px;
    margin-top: 0.92875rem;
    font-size: 32.03px;
    font-size: 2.001875rem;
  }

  .environment__sub-title .position {
    top: -8px;
    top: -0.5rem;
    font-size: 38.43px;
    left: -6px;
    left: -0.375rem;
  }

  .environment__sub-title .clip {
    margin-top: 14.35px;
    margin-top: 0.896875rem;
    font-size: 57.15px;
    font-size: 3.571875rem;
    padding: 0px 15px 7px 23px;
    padding: 0rem 0.9375rem 0.4375rem 1.4375rem;
    left: -10px;
    left: -0.625rem;
  }

  .environment__explanation {
    margin-top: 46.35px;
    margin-top: 2.896875rem;
    border-radius: 7.5rem 7.5rem 0 0;
    background: -webkit-gradient(
      linear,
      right top,
      left top,
      from(#005a46),
      to(#002d23)
    );
    background: linear-gradient(270deg, #005a46 0%, #002d23 100%);
    padding: 21px 30px 56px;
    padding: 1.3125rem 0.9375rem 3.5rem;
  }

  .environment__title {
    width: 471px;
    width: 29.4375rem;
    margin-inline: auto;
    position: relative;
    left: 5rem;
  }

  .environment__list {
    margin-top: 10.72px;
    margin-top: 0.67rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-column-gap: 1.875rem;
    -moz-column-gap: 1.875rem;
    column-gap: 1.875rem;
    max-width: 69.625rem;
    margin-inline: auto;
    padding-inline: 0;
  }

  .environment__item-title span {
    font-size: clamp(
      14px,
      calc(14px + 6.25 * ((100vw - 768px) / 512)),
      20.25px
    );
  }

  .environment__item-sub-title {
    font-size: clamp(28px, calc(28px + 18 * ((100vw - 768px) / 512)), 46px);
  }

  .environment__item-image02 {
    margin-top: 40px;
    margin-top: 2.5rem;
  }

  .environment__item-image03 {
    margin-top: 80px;
    margin-top: 5rem;
  }

  .environment__image-wrapper {
    border-radius: 0.5625rem;
    width: 454px;
    margin-inline: auto;
  }

  .environment__image {
    border-radius: 0.5625rem;
  }

  .voice {
    padding: 42px 0 39px;
    padding: 42px 0 60px;
    padding: 2.625rem 0 2.4375rem;
    padding: 2.625rem 0 3.75rem;
  }

  .voice__inner {
    padding-inline: 1.25rem;
    max-width: 67.1125rem;
  }

  .voice__title-decoration {
    width: 64.41px;
    width: 4.025625rem;
  }

  .voice__en {
    margin-top: 8.36px;
    margin-top: 0.5225rem;
    font-size: 21px;
    font-size: 1.3125rem;
    left: 0.4375rem;
  }

  .voice__title {
    margin-top: 26px;
    margin-top: 1.625rem;
    font-size: 27px;
    font-size: 1.6875rem;
  }

  .voice__title .small2 {
    margin-top: 1.5px;
    margin-top: 0.09375rem;
  }

  .voice__title .large {
    margin-top: 13.5px;
    margin-top: 0.84375rem;
    font-size: 38.34px;
    font-size: 2.39625rem;
    padding-bottom: 3px;
    padding-bottom: 0.1875rem;
  }

  .voice__list {
    /* display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    -webkit-column-gap: 1.0625rem;
    -moz-column-gap: 1.0625rem;
    column-gap: 1.0625rem; */
    padding-top: 33px;
    padding-top: 2.0625rem;
  }

  .voice__slide {
    padding-bottom: 30px;
    padding-bottom: 1.875rem;
  }

  .voice__note {
    margin-left: auto;
    margin-top: 14px;
    margin-top: 0.875rem;
    margin-right: 339px;
    margin-right: clamp(
      251px,
      calc(251px + 99 * ((100vw - 768px) / 352)),
      350px
    );
  }

  .operation {
    padding: 62px 0 60px;
    padding: 3.875rem 0 3.75rem;
  }

  .operation__title-decoration {
    width: 64.41px;
    width: 4.025625rem;
  }

  .operation__title {
    margin-top: 28.36px;
    margin-top: 1.7725rem;
    font-size: 31.5px;
    font-size: 1.96875rem;
  }

  .operation__image {
    margin-top: 10px;
    margin-top: 0.625rem;
    width: 928px;
    width: 58rem;
    position: relative;
    left: 3px;
    left: 0.1875rem;
  }

  .operation__sub-title {
    margin-top: 54px;
    margin-top: 3.375rem;
    padding: 23px 0 32px;
    padding: 1.4375rem 0 2rem;
    width: 469.5px;
    width: 29.34375rem;
    font-size: 22.5px;
    font-size: 1.40625rem;
  }

  .original {
    padding: 48px 0 58.9px;
    padding: 3rem 0 3.68125rem;
  }

  .original__title-decoration {
    width: 60.11px;
    width: 3.756875rem;
  }

  .original__sub-title {
    margin-top: 16.67px;
    margin-top: 1.041875rem;
    font-size: 28.56px;
    font-size: 1.785rem;
  }

  .original__title {
    margin-top: 28.4px;
    margin-top: 1.775rem;
    font-size: 32.4px;
    font-size: 2.025rem;
    line-height: 1.45;
    letter-spacing: 0.11em;
  }

  .original__list {
    margin-top: 49px;
    margin-top: 3.0625rem;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -webkit-column-gap: 3.5rem;
    -moz-column-gap: 3.5rem;
    column-gap: 3.5rem;
    width: 794px;
    width: 49.625rem;
    margin-inline: auto;
  }

  .original__item {
    padding: 39px 17px 20px 13px;
    padding: 2.4375rem 1.0625rem 1.25rem 0.8125rem;
  }

  .original__item-text01 {
    top: -18px;
    top: -1.125rem;
    left: -11px;
    left: -0.6875rem;
    padding: 6px 12.6px 9px 13.2px;
    padding: 0.375rem 0.7875rem 0.5625rem 0.825rem;
    border-radius: 0.225rem;
    font-size: 21.6px;
    font-size: 1.35rem;
  }

  .original__item-title {
    padding-left: 18px;
    padding-left: 1.125rem;
  }

  .original__item-image01 {
    margin-top: 8px;
    margin-top: 0.5rem;
    width: 339px;
    width: 21.1875rem;
  }

  .original__item-text02 {
    margin-top: -56px;
    margin-top: -3.5rem;
    padding-left: 17px;
    padding-left: 1.0625rem;
  }

  .original__item-text02--mt {
    margin-top: -53px;
    margin-top: -3.3125rem;
  }

  .original__item-image02 {
    width: 322px;
    width: 20.125rem;
  }

  .original__cta {
    margin-top: 59px;
    margin-top: 3.6875rem;
  }

  .original__cta-text {
    font-size: 19.6px;
    font-size: 1.225rem;
  }

  .email-form--narrow {
    width: 442.04px;
    width: 27.6275rem;
  }

  .email-form__submit-button--small {
    width: 321.48px;
    width: 20.0925rem;
    margin-inline: auto;
  }

  .faq {
    padding: 54px 0 88px;
    padding: 3.375rem 0 5.5rem;
  }

  .faq__inner {
    padding-inline: 1.25rem;
    max-width: 41.6875rem;
  }

  .faq__title-decoration {
    width: 64.41px;
    width: 4.025625rem;
  }

  .faq__sub-title {
    margin-top: 2.86px;
    margin-top: 0.17875rem;
    font-size: 21px;
    font-size: 1.3125rem;
    left: 0.3125rem;
  }

  .faq__title {
    margin-top: 12px;
    margin-top: 0.75rem;
    font-size: 32.34px;
    font-size: 2.02125rem;
  }

  .faq__list {
    margin-top: 15.5px;
    margin-top: 0.96875rem;
  }

  .faq__item {
    padding: 28px 0 43px;
    padding: 1.75rem 0 2.6875rem;
  }

  .faq__item:last-child {
    padding-bottom: 0;
  }

  .faq__item-title {
    font-size: 18px;
    font-size: 1.125rem;
    width: 541px;
    width: 33.8125rem;
    margin-top: 18px;
    margin-top: 1.125rem;
    letter-spacing: 0.1em;
  }

  .faq__item-text {
    margin-top: 28px;
    margin-top: 1.75rem;
    margin-left: 48px;
    margin-left: 3rem;
    width: 560px;
    width: 35rem;
    font-size: 14px;
    font-size: 0.875rem;
  }

  .kotei-btn {
    bottom: 1.25rem;
    left: initial;
    right: 0.25rem;
    -webkit-transform: translateX(0);
    transform: translateX(0);
    width: 17.588125rem;
  }
}

@media screen and (min-width: 1025px) {
  .hide-lg {
    display: none;
  }

  .show-lg {
    display: block;
  }

  .lg-md-only {
    display: none;
  }

  .knowledge__inner {
    padding-inline: 4.375rem;
  }

  .knowledge__item {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }

  .knowledge__item-title {
    font-size: 1.8125rem;
  }

  .knowledge__item--separate {
    padding: 0.875rem 2.1875rem 1.6875rem 2.0625rem;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }

  .knowledge__item-box {
    -webkit-column-gap: 2.845rem;
    -moz-column-gap: 2.845rem;
    column-gap: 2.845rem;
  }

  .knowledge__item-image03 {
    margin-left: 1.875rem;
  }

  .voice__note {
    margin: auto;
    margin-top: 1rem;
  }
}

@media screen and (min-width: 1200px) {
  .knowledge__list {
    margin-top: -12.5rem;
  }

  .environment__explanation {
    padding: 1.3125rem 1.875rem 3.5rem;
  }

  .environment__list {
    padding-inline: 1.25rem;
    -webkit-column-gap: 2.84375rem;
    -moz-column-gap: 2.84375rem;
    column-gap: 2.84375rem;
  }

  .environment__item-title span {
    font-size: 1.265625rem;
  }

  .environment__item-sub-title {
    font-size: 2.875rem;
  }
}

@media screen and (min-width: 1440px) {
  .hide-xl {
    display: none;
  }

  .knowledge__list {
    margin-top: -15.6875rem;
  }
}

@media screen and (min-width: 1601px) {
  .hide-xl2 {
    display: none;
  }
}

@media (max-width: 1000px) {
  html {
    font-size: 14px;
  }
}

@media (max-width: 768.98px) {
  html {
    font-size: calc((100vw - 375px) / 39 * 1 + 15px);
  }
}

@media (max-width: 413.98px) {
  html {
    font-size: calc((100vw - 375px) / 39 * 1.6 + 14.4px);
  }
}

@media (min-width: 769px) and (max-width: 1200px) {
  html {
    font-size: calc((100vw - 768px) / 432 * 2 + 14px);
  }
}

@media (any-hover: hover) {
  a:hover {
    opacity: 0.7;
  }

  .email-form__submit:hover {
    opacity: 0.7;
  }

  .splide-contents__link:hover {
    opacity: 1;
  }

  .splide-contents__link:hover img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }

  .contents__link:hover {
    opacity: 0.7;
  }
}

/* ==========================================
    header 250503追加
   ========================================== */
.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 56px;
  height: 3.5rem;
  background-color: #fff;
  border-bottom: 1px solid #eee;
  z-index: 1000;
}

.header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-right: 52.94px;
  padding-right: 3.309375rem;
}

.safari .header__inner {
  padding-right: 53.5px;
  padding-right: 3.34375rem;
}

.header__left {
  display: flex;
  align-items: center;
  column-gap: 10px;
  column-gap: 0.625rem;
}

.header__logo01 {
  width: 67px;
  width: 4.1875rem;
  height: 56px;
  height: 3.5rem;
  background-color: #c01e20;
  display: flex;
  align-items: center;
  justify-content: center;
}

.header__logo01-image {
  width: 53px;
  width: 3.3125rem;
}

.header__logo02 {
  width: 47px;
  width: 2.9375rem;
  position: relative;
  top: -1px;
  top: -0.0625rem;
}

.header__right {
  display: flex;
  align-items: center;
}

.header__links {
  display: flex;
  align-items: center;
  column-gap: 5.35px;
  column-gap: 0.33375rem;
}

.header__links-login {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 3.63px;
  column-gap: 0.226875rem;
  width: 87.12px;
  width: 5.4325rem;
  height: 35.09px;
  height: 2.193125rem;
  border-radius: 3.63px;
  border-radius: 0.226875rem;
  border: 1.21px solid #d9d9d9;
  border: 0.075625rem solid #d9d9d9;
}

.header__links-image {
  width: 15.73px;
  width: 0.983125rem;
}

.header__links-register {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 6px;
  column-gap: 0.375rem;
  width: 95.59px;
  width: 5.973125rem;
  height: 35.09px;
  height: 2.193125rem;
  border-radius: 3.63px;
  border-radius: 0.226875rem;
  background-color: #d26500;
}

.header__links-text01 {
  font-size: 12.1px;
  font-size: 0.75625rem;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: -0.04em;
  color: #005a46;
  position: relative;
  top: -1px;
  top: -0.0625rem;
}

.header__links-text02 {
  font-size: 14.52px;
  font-size: 0.9075rem;
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: 0.1em;
  color: #fff;
  position: relative;
  top: -1px;
  top: -0.0625rem;
  margin-left: 3px;
  margin-left: 0.1875rem;
}

.header__links-arrow {
  width: 6px;
  width: 0.375rem;
}

@media (min-width: 769px) {
  .header {
    height: 68.5px;
    height: 4.28125rem;
    border-bottom: none;
  }

  .header__inner {
    padding-right: 13.9px;
    padding-right: 0.86875rem;
  }

  .safari .header__inner {
    padding-right: 13.9px;
    padding-right: 0.86875rem;
  }

  .header__left {
    column-gap: 22px;
    column-gap: 1.375rem;
  }

  .header__logo01 {
    width: 83px;
    width: 5.1875rem;
    height: 69px;
    height: 4.3125rem;
  }

  .header__logo01-image {
    width: 65px;
    width: 4.0625rem;
  }

  .header__logo02 {
    width: 203px;
    width: 12.6875rem;
  }

  .header__right {
    column-gap: 37px;
    column-gap: 2.3125rem;
  }

  .header__nav-list {
    display: flex;
    align-items: center;
    column-gap: 27.85px;
    column-gap: 1.740625rem;
  }

  .header__nav-link {
    display: flex;
    align-items: center;
    column-gap: 5px;
    column-gap: 0.3125rem;
  }

  .header__nav-link span {
    font-size: 15px;
    font-size: 0.9375rem;
    font-weight: 400;
    line-height: 1.7;
    letter-spacing: 0.2em;
    color: #005a46;
  }

  .header__nav-link--narrow {
    column-gap: 3.52px;
    column-gap: 0.220625rem;
  }

  .header__nav-image {
    width: 26px;
    width: 1.625rem;
  }

  .header__nav-image--small {
    width: 19.63px;
    width: 1.226875rem;
  }

  .header__links {
    column-gap: 9.5px;
    column-gap: 0.59375rem;
  }

  .header__links-login {
    width: 133px;
    width: 8.3125rem;
    height: 48px;
    height: 3rem;
    border-radius: 4.97px;
    border-radius: 0.310625rem;
    border: 1.66px solid #d9d9d9;
    border: 0.10375rem solid #d9d9d9;
    column-gap: 5.54px;
    column-gap: 0.346875rem;
  }

  .header__links-image {
    width: 24.01px;
    width: 1.500625rem;
  }

  .header__links-text01 {
    font-size: 16.55px;
    font-size: 1.034375rem;
    letter-spacing: 0.1em;
    top: -2px;
    top: -0.125rem;
  }

  .header__links-register {
    width: 197.6px;
    width: 12.35rem;
    height: 48.45px;
    height: 3.028125rem;
    border-radius: 4.97px;
    border-radius: 0.310625rem;
    column-gap: 10px;
    column-gap: 0.625rem;
  }

  .header__links-text02 {
    font-size: 19.86px;
    font-size: 1.24125rem;
    letter-spacing: 0.2em;
  }

  .header__links-arrow {
    width: 10px;
    width: 0.625rem;
  }
}

@media (min-width: 769px) and (max-width: 900px) {
  .header__logo02 {
    width: 11rem;
  }
  .header__links-register {
    width: 10rem;
  }
}

/* ==========================================
    hamburger 250503追加
   ========================================== */

.hamburger {
  position: absolute;
  z-index: 9999;
  top: 17.5px;
  top: 1.09375rem;
  right: 17px;
  right: 1.0625rem;
  width: 20px;
  width: 1.25rem;
  height: 16px;
  height: 1rem;
  cursor: pointer;
  border: none;
  background-color: #fff;
}

.hamburger.is-active {
  top: 16px;
  top: 1rem;
  right: 16.78px;
  right: 1.049375rem;
}

.hamburger span {
  position: absolute;
  left: 0;
  display: inline-block;
  width: 100%;
  -webkit-transition: background-color 0.3s, -webkit-transform 0.3s;
  transition: background-color 0.3s, -webkit-transform 0.3s;
  transition: transform 0.3s, background-color 0.3s;
  transition: transform 0.3s, background-color 0.3s, -webkit-transform 0.3s;
  background-color: #005a46;
  height: 2px;
  height: 0.125rem;
}

.hamburger.is-active span {
  background-color: #005a46;
}

.hamburger.is-scroll span {
  background-color: #005a46;
}

.hamburger span:first-child {
  top: 0;
}

.hamburger span:nth-child(2) {
  top: 8px;
  top: 0.5rem;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

.hamburger span:nth-child(3) {
  top: 16px;
  top: 1rem;
}

.hamburger.is-active span:first-child {
  top: 0.625rem;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.hamburger.is-active span:nth-child(2) {
  opacity: 0;
}

.hamburger.is-active span:nth-child(3) {
  top: 0.625rem;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

/* ==========================================
    drawer-menu 250503追加
   ========================================== */
.drawer-menu {
  position: fixed;
  top: 0;
  left: 0;
  margin-top: 56px;
  margin-top: 3.5rem;
  padding-top: 38px;
  padding-top: 2.375rem;
  padding-bottom: 56px;
  padding-bottom: 3.5rem;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.98);
  visibility: hidden;
  opacity: 0;
  transition: visibility 0s 0.3s, opacity 0.3s;
  z-index: 1000;
}

.drawer-menu.is-active {
  visibility: visible;
  opacity: 1;
  transition: visibility 0s 0s, opacity 0.3s;
}

.drawer-menu__inner {
  padding-inline: 36px;
  padding-inline: 2.25rem;
}

.drawer-menu__item + .drawer-menu__item {
  margin-top: 17px;
  margin-top: 1.0625rem;
}

.drawer-menu__link {
  display: flex;
  align-items: center;
  column-gap: 15.96px;
}

.drawer-menu__link span {
  font-size: 15px;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.1em;
  color: #005a46;
}

.drawer-menu__link-image {
  width: 24px;
  width: 1.5rem;
}

.drawer-menu__link-image02,
.drawer-menu__link-image03 {
  width: 20px;
  width: 1.25rem;
}

.drawer-menu__link-image04 {
  width: 22px;
  width: 1.375rem;
}

@media (min-width: 769px) {
  .drawer-menu {
    display: none;
  }
}

/* ==========================================
    footer 250503追加
   ========================================== */
.footer {
  padding: 24px 0 39px;
  padding: 1.5rem 0 2.4375rem;
  background-color: #032922;
  margin-top: -1px;
  margin-top: -0.0625rem;
}

.footer__inner {
  padding-inline: 31px;
  padding-inline: 1.9375rem;
}

.footer__nav {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  row-gap: 28px;
  row-gap: 1.75rem;
}

.footer__item + .footer__item {
  margin-top: -3px;
  margin-top: -0.1875rem;
}

.footer__link {
  font-size: 13px;
  font-size: 0.8125rem;
  font-weight: 300;
  line-height: 1.7;
  letter-spacing: 0.1em;
  color: #e9e9e9;
}

.footer__link--no-link {
  pointer-events: none;
}

.footer__sns {
  margin-top: 62px;
  margin-top: 3.875rem;
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 24px;
  column-gap: 1.5rem;
}

.footer__sns-link {
  display: block;
  width: 28px;
  width: 1.75rem;
}

.footer__sns-link02 {
  width: 33px;
  width: 2.0625rem;
}

.footer__sns-link03 {
  width: 28px;
  width: 1.75rem;
}

.footer__copyright {
  margin-top: 13px;
  margin-top: 0.8125rem;
  margin-left: 8px;
  margin-left: 0.5rem;
  text-align: center;
  font-size: 13.4px;
  font-size: 0.8375rem;
  font-weight: 300;
  line-height: 1.7;
  letter-spacing: 0.1em;
  color: #b4b4b4;
}

@media (min-width: 769px) {
  .footer {
    padding: 32px 0 43px;
    padding: 2rem 0 2.6875rem;
  }

  .footer__inner {
    /* max-width: 725px; */
    padding-inline: 20px;
  }

  .footer__nav {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    column-gap: 81px;
    column-gap: 5.0625rem;
  }

  .footer__item + .footer__item {
    margin-top: 8px;
    margin-top: 0.5rem;
  }

  .footer__link {
    font-size: 13px;
    font-size: 0.8125rem;
    display: block;
    width: fit-content;
    text-wrap: nowrap;
  }

  .footer__sns {
    margin-top: 44px;
    margin-top: 2.75rem;
    margin-left: 32px;
    margin-left: 2rem;
  }

  .footer__copyright {
    margin-top: 14px;
    margin-top: 0.875rem;
    margin-left: 41px;
    margin-left: 2.5625rem;
  }
}

/* コンバイン記載 */
/* ローディング状態のスタイル */
.loading-placeholder {
  width: 164px;
  height: 92px;
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: loading 1.5s infinite;
  border-radius: 4px;
}

@keyframes loading {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}

.error-message {
  color: #ff4444;
  text-align: center;
  padding: 20px;
  font-size: 14px;
}

.contents__label--red {
  background-color: #ff4444;
  color: white;
}

.email-form__error {
  color: #d32f2f;
  font-size: 0.95em;
  margin-top: 8px;
  display: none;
}
/* コンバイン記載ここまで */
