html {
  font-size: 62.5%;
  scroll-behavior: smooth;
}
@media (max-width: 992px) {
  html {
    font-size: 0.8333333333vw;
  }
}
@media (max-width: 768px) {
  html {
    font-size: 1.3020833333vw;
  }
}
@media (max-width: 576px) {
  html {
    font-size: 1.7361111111vw;
  }
}
@media (max-width: 420px) {
  html {
    font-size: 2.380952381vw;
  }
}

body {
  margin: 0;
  translate: 0.5s all;
  font-family: "Noto Sans JP", sans-serif;
  color: black;
  font-size: 16px;
  line-height: 175%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

div,
section {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

ul {
  list-style: none;
  margin-bottom: 0;
  padding: 0;
}

a {
  text-decoration: none;
  color: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
ul {
  margin-top: 0;
  margin-bottom: 0;
}

.c-container {
  max-width: 1240px;
  width: 100%;
  margin: 0 auto;
  padding: 0 20px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media (max-width: 768px) {
  .c-container {
    padding: 0 32px;
  }
}

.c-lhalf-container {
  max-width: calc(50% + 620px);
  padding-right: 20px;
  margin-right: auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media (max-width: 768px) {
  .c-lhalf-container {
    padding-right: 32px;
  }
}

.c-rhalf-container {
  max-width: calc(50% + 620px);
  padding-left: 20px;
  margin-left: auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media (max-width: 768px) {
  .c-rhalf-container {
    padding-left: 32px;
  }
}

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

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

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

.mt-16 {
  margin-top: 16px;
}

.mt-20 {
  margin-top: 20px;
}

.mt-24 {
  margin-top: 24px;
}

.mt-32 {
  margin-top: 32px;
}

.mt-40 {
  margin-top: 40px;
}

.mt-46 {
  margin-top: 46px;
}

.mt-56 {
  margin-top: 56px;
}

.mt-60 {
  margin-top: 60px;
}

.mt-64 {
  margin-top: 64px;
}

.fw-400 {
  font-weight: 400;
}

.fw-500 {
  font-weight: 500;
}

.fw-600 {
  font-weight: 600;
}

.fw-700 {
  font-weight: 700;
}

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

.text-right {
  text-align: right;
}

.text-left {
  text-align: left;
}

section {
  position: relative;
}

.s-padding {
  padding: 5.6rem 0;
}

#wrapper {
  position: relative;
  width: 100%;
}

main {
  position: relative;
}

/* input */
input[type=text],
input[type=email],
input[type=tel],
input[type=number],
input[type=password],
select,
textarea {
  width: 100%;
  position: relative;
  background: #ffffff;
  border: 1px solid #BBC5CD;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 1.6rem 1.2rem;
  width: 100%;
  font-weight: 400;
  font-size: 1.6rem;
  text-align: left;
  outline: none;
  border-radius: 4px;
  vertical-align: middle;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 180%;
  color: #222222;
}
input[type=text]::-webkit-input-placeholder, input[type=email]::-webkit-input-placeholder, input[type=tel]::-webkit-input-placeholder, input[type=number]::-webkit-input-placeholder, input[type=password]::-webkit-input-placeholder, select::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
  color: #b7b7b7;
}
input[type=text]::-moz-placeholder, input[type=email]::-moz-placeholder, input[type=tel]::-moz-placeholder, input[type=number]::-moz-placeholder, input[type=password]::-moz-placeholder, select::-moz-placeholder, textarea::-moz-placeholder {
  color: #b7b7b7;
}
input[type=text]:-ms-input-placeholder, input[type=email]:-ms-input-placeholder, input[type=tel]:-ms-input-placeholder, input[type=number]:-ms-input-placeholder, input[type=password]:-ms-input-placeholder, select:-ms-input-placeholder, textarea:-ms-input-placeholder {
  color: #b7b7b7;
}
input[type=text]::-ms-input-placeholder, input[type=email]::-ms-input-placeholder, input[type=tel]::-ms-input-placeholder, input[type=number]::-ms-input-placeholder, input[type=password]::-ms-input-placeholder, select::-ms-input-placeholder, textarea::-ms-input-placeholder {
  color: #b7b7b7;
}
input[type=text]::placeholder,
input[type=email]::placeholder,
input[type=tel]::placeholder,
input[type=number]::placeholder,
input[type=password]::placeholder,
select::placeholder,
textarea::placeholder {
  color: #b7b7b7;
}

select {
  position: relative;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-position: calc(100% - 1.2rem) 50%;
  background-size: 1.2rem 0.8rem;
  background-repeat: no-repeat;
  color: #333;
  z-index: 0;
}
select:has(option:checked:disabled) {
  color: #b7b7b7;
}

.section-container {
  max-width: 1440px;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-left: 4rem;
  padding-right: 4rem;
}
@media (max-width: 768px) {
  .section-container {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

picture,
figure {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  overflow: hidden;
}
picture img,
figure img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}

.primary-btn {
  position: relative;
  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: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 2.8rem;
  background-color: #333333;
  border: 1px solid transparent;
  color: #fff;
  z-index: 0;
  overflow: hidden;
  font-size: 1.6rem;
  line-height: 1.1;
  border-radius: 0.8rem;
  text-align: center;
  -webkit-transition: 0.6s cubic-bezier(0.8, 0, 0.2, 1);
  transition: 0.6s cubic-bezier(0.8, 0, 0.2, 1);
}
@media (max-width: 768px) {
  .primary-btn {
    font-size: 16px;
    padding: 28px;
    border-radius: 8px;
  }
}
.primary-btn:disabled {
  opacity: 0.8;
  cursor: not-allowed;
}
.primary-btn .arrow {
  position: absolute;
  right: 3.15rem;
  -webkit-transform: translateY(-0.5rem);
          transform: translateY(-0.5rem);
  -webkit-transition: 0.6s cubic-bezier(0.8, 0, 0.2, 1);
  transition: 0.6s cubic-bezier(0.8, 0, 0.2, 1);
}
.primary-btn .arrow svg path {
  -webkit-transition: 0.6s cubic-bezier(0.8, 0, 0.2, 1);
  transition: 0.6s cubic-bezier(0.8, 0, 0.2, 1);
}
.primary-btn:hover:not(:disabled) {
  background-color: #fff;
  color: #333333;
  border-color: #333333;
}
.primary-btn:hover:not(:disabled) .arrow {
  -webkit-transform: translate(1rem, -0.5rem);
          transform: translate(1rem, -0.5rem);
}
.primary-btn:hover:not(:disabled) .arrow svg path {
  stroke: #333333;
  -webkit-transition: 0.6s cubic-bezier(0.8, 0, 0.2, 1);
  transition: 0.6s cubic-bezier(0.8, 0, 0.2, 1);
}
.primary-btn.rounded {
  border-radius: 10rem;
  overflow: hidden;
}

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

header.header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1030;
  background: transparent;
}
header.header .inner-wrapper {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: 1.6rem 2.2rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media (max-width: 768px) {
  header.header .inner-wrapper {
    padding: 2rem 2.2rem 0;
  }
}
header.header .inner-wrapper .logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 212px;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}
@media (max-width: 992px) {
  header.header .inner-wrapper .logo {
    width: 184px;
  }
}
@media (max-width: 768px) {
  header.header .inner-wrapper .logo {
    width: 156px;
  }
}
header.header .inner-wrapper .logo:hover {
  opacity: 0.85;
}
header.header .inner-wrapper .logo img {
  width: 100%;
  height: auto;
  display: block;
}
header.header .inner-wrapper .mv-badge {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 140px;
  height: 132px;
  color: #ffffff;
  -webkit-box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
          box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
  margin-top: 3.6rem;
  margin-right: 3.4rem;
  opacity: 1;
  border-radius: 68px;
  background: -webkit-gradient(linear, left top, left bottom, from(#F7B324), to(#ED9C00));
  background: linear-gradient(180deg, #F7B324 0%, #ED9C00 100%);
  padding: 10px;
}
@media (max-width: 992px) {
  header.header .inner-wrapper .mv-badge {
    width: 124px;
    height: 116px;
    margin-top: 1.6rem;
    margin-right: 1.2rem;
  }
}
@media (max-width: 768px) {
  header.header .inner-wrapper .mv-badge {
    width: 100px;
    height: 94px;
    margin-top: 0.4rem;
    margin-right: 0rem;
  }
}
header.header .inner-wrapper .mv-badge .mv-bage-inner {
  width: 100%;
  height: 100%;
  border-radius: 58px;
  border-width: 1px;
  border: 1px solid var(--color-white-90, rgba(255, 255, 255, 0.8980392157));
  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;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 5px;
  text-align: center;
}
@media (max-width: 768px) {
  header.header .inner-wrapper .mv-badge .mv-bage-inner {
    gap: 2px;
  }
}
header.header .inner-wrapper .mv-badge .mv-bage-inner .badge-label-top {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  font-size: 1.35rem;
  line-height: 100%;
  letter-spacing: 1.62%;
  color: #ffffff;
  vertical-align: middle;
}
@media (max-width: 992px) {
  header.header .inner-wrapper .mv-badge .mv-bage-inner .badge-label-top {
    font-size: 1.6rem;
    letter-spacing: 1.2%;
  }
}
@media (max-width: 768px) {
  header.header .inner-wrapper .mv-badge .mv-bage-inner .badge-label-top {
    font-size: 1.05rem;
    letter-spacing: 1.26%;
  }
}
header.header .inner-wrapper .mv-badge .mv-bage-inner .badge-time {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: 4.8rem;
  line-height: 50.4px;
  letter-spacing: -0.56%;
  color: #ffffff;
  vertical-align: middle;
}
@media (max-width: 992px) {
  header.header .inner-wrapper .mv-badge .mv-bage-inner .badge-time {
    font-size: 5rem;
    line-height: 40px;
    letter-spacing: -0.528%;
  }
}
@media (max-width: 768px) {
  header.header .inner-wrapper .mv-badge .mv-bage-inner .badge-time {
    font-size: 4rem;
    line-height: 36px;
    letter-spacing: -0.4%;
  }
}
header.header .inner-wrapper .mv-badge .mv-bage-inner .badge-time .unit {
  font-size: 2.1rem;
  font-weight: 900;
  line-height: 18.9px;
  margin-left: 1px;
}
@media (max-width: 768px) {
  header.header .inner-wrapper .mv-badge .mv-bage-inner .badge-time .unit {
    line-height: 13.5px;
    font-size: 1.5rem;
  }
}
header.header .inner-wrapper .mv-badge .mv-bage-inner .badge-label-bottom {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  font-size: 1.5rem;
  line-height: 100%;
  letter-spacing: 0.9%;
  color: #ffffff;
  vertical-align: middle;
}
@media (max-width: 992px) {
  header.header .inner-wrapper .mv-badge .mv-bage-inner .badge-label-bottom {
    font-size: 1.7rem;
    letter-spacing: 0.8%;
  }
}
@media (max-width: 768px) {
  header.header .inner-wrapper .mv-badge .mv-bage-inner .badge-label-bottom {
    font-size: 1.15rem;
    letter-spacing: 0.69%;
  }
}

footer.footer {
  width: 100%;
  background: #ffffff;
}
footer.footer .inner-wrapper {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: 3.5rem 0 4.6rem;
  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;
  text-align: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  gap: 1rem;
}
@media (max-width: 768px) {
  footer.footer .inner-wrapper {
    padding: 2.3rem 2rem 4rem;
    gap: 0.8rem;
  }
}
footer.footer .inner-wrapper .footer-name {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1.3rem;
  line-height: 2.2rem;
  letter-spacing: 0%;
  color: #9AA08E;
}
@media (max-width: 992px) {
  footer.footer .inner-wrapper .footer-name {
    font-size: 1.5rem;
  }
}
@media (max-width: 768px) {
  footer.footer .inner-wrapper .footer-name {
    font-size: 1.1rem;
    line-height: 1.9rem;
  }
}
footer.footer .inner-wrapper .footer-note {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1.15rem;
  line-height: 1.95rem;
  color: #B3B8A8;
}
@media (max-width: 992px) {
  footer.footer .inner-wrapper .footer-note {
    font-size: 1.3rem;
  }
}
@media (max-width: 768px) {
  footer.footer .inner-wrapper .footer-note {
    font-size: 1.1rem;
    line-height: 1.7rem;
  }
}

section.top-mv {
  position: relative;
  width: 100%;
  min-height: 720px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  background: url("../image/top-mv-bg.jpg") no-repeat center center/cover;
  overflow: hidden;
}
@media (min-width: 1400px) {
  section.top-mv {
    min-height: 800px;
  }
}
@media (max-width: 992px) {
  section.top-mv {
    min-height: 640px;
  }
}
@media (max-width: 768px) {
  section.top-mv {
    min-height: 620px;
    background-position: center 42%;
  }
}
@media (max-width: 576px) {
  section.top-mv {
    min-height: 580px;
  }
}
section.top-mv::after {
  content: "";
  position: absolute;
  inset: 0;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(11, 15, 6, 0.18)), color-stop(24%, rgba(11, 15, 6, 0.1)), color-stop(34%, rgba(11, 15, 6, 0.42)), color-stop(62%, rgba(11, 15, 6, 0.7)), to(rgba(11, 15, 6, 0.96)));
  background: linear-gradient(180deg, rgba(11, 15, 6, 0.18) 0%, rgba(11, 15, 6, 0.1) 24%, rgba(11, 15, 6, 0.42) 34%, rgba(11, 15, 6, 0.7) 62%, rgba(11, 15, 6, 0.96) 100%);
  pointer-events: none;
  z-index: 0;
}
section.top-mv .inner-wrapper {
  position: relative;
  z-index: 1;
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: 20rem 6rem 5.6rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media (max-width: 992px) {
  section.top-mv .inner-wrapper {
    padding: 16rem 4rem 4.8rem;
  }
}
@media (max-width: 768px) {
  section.top-mv .inner-wrapper {
    padding: 14rem 2.6rem 3.2rem;
  }
}
section.top-mv .inner-wrapper .mv-content {
  max-width: 720px;
}
section.top-mv .inner-wrapper .mv-content .mv-category {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  font-size: 1.5rem;
  line-height: 100%;
  letter-spacing: 3%;
  color: #DBF08C;
  text-shadow: 0px 2px 8px rgba(0, 0, 0, 0.768627451);
}
@media (max-width: 768px) {
  section.top-mv .inner-wrapper .mv-content .mv-category {
    font-size: 1.2rem;
    letter-spacing: 2%;
  }
}
section.top-mv .inner-wrapper .mv-content .mv-title {
  margin-top: 2rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  font-size: 5.5rem;
  line-height: 6.82rem;
  letter-spacing: 0.11%;
  color: #ffffff;
  text-shadow: 0px 6px 32px rgba(0, 0, 0, 0.6196078431);
}
@media (max-width: 992px) {
  section.top-mv .inner-wrapper .mv-content .mv-title {
    margin-top: 1.5rem;
    font-size: 5.7rem;
    line-height: 6.96rem;
    letter-spacing: 0.11%;
  }
}
@media (max-width: 768px) {
  section.top-mv .inner-wrapper .mv-content .mv-title {
    margin-top: 1.3rem;
    font-size: 3.8rem;
    line-height: 4.54rem;
    letter-spacing: 0.07%;
  }
}
@media (max-width: 576px) {
  section.top-mv .inner-wrapper .mv-content .mv-title {
    font-size: 3.6rem;
  }
}
section.top-mv .inner-wrapper .mv-content .mv-title .accent {
  font-size: 7.3rem;
  line-height: 9rem;
  color: #CDED5D;
}
@media (max-width: 992px) {
  section.top-mv .inner-wrapper .mv-content .mv-title .accent {
    font-size: 7.5rem;
    line-height: 8.2rem;
  }
}
@media (max-width: 768px) {
  section.top-mv .inner-wrapper .mv-content .mv-title .accent {
    font-size: 6rem;
    line-height: 7rem;
  }
}
@media (max-width: 576px) {
  section.top-mv .inner-wrapper .mv-content .mv-title .accent {
    font-size: 4.9rem;
    line-height: 6.1rem;
  }
}
section.top-mv .inner-wrapper .mv-content .mv-lead {
  margin-top: 2.6rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  font-size: 1.9rem;
  line-height: 3.3rem;
  letter-spacing: 0%;
  color: #ffffff;
  text-shadow: 0px 2px 14px rgba(0, 0, 0, 0.7215686275);
}
@media (max-width: 992px) {
  section.top-mv .inner-wrapper .mv-content .mv-lead {
    margin-top: 2rem;
    font-size: 2.1rem;
    line-height: 3.2rem;
  }
}
@media (max-width: 768px) {
  section.top-mv .inner-wrapper .mv-content .mv-lead {
    margin-top: 1.7rem;
    font-size: 1.6rem;
    line-height: 2.3rem;
    text-shadow: 0px 2px 12px rgba(0, 0, 0, 0.7215686275);
  }
}
@media (max-width: 576px) {
  section.top-mv .inner-wrapper .mv-content .mv-lead {
    font-size: 1.4rem;
  }
}
section.top-mv .inner-wrapper .mv-content .mv-lead .accent {
  color: #F9C93F;
}
section.top-mv .inner-wrapper .mv-content .mv-tags {
  margin-top: 3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
}
@media (max-width: 768px) {
  section.top-mv .inner-wrapper .mv-content .mv-tags {
    margin-top: 2.5rem;
    gap: 10px;
  }
}
@media (max-width: 768px) {
  section.top-mv .inner-wrapper .mv-content .mv-tags {
    margin-top: 2rem;
    gap: 9px;
  }
}
section.top-mv .inner-wrapper .mv-content .mv-tags li {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 43px;
  padding: 0 23px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1490196078);
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  font-size: 1.5rem;
  line-height: 100%;
  letter-spacing: 0%;
  border: 1px solid rgba(255, 255, 255, 0.6196078431);
}
@media (max-width: 992px) {
  section.top-mv .inner-wrapper .mv-content .mv-tags li {
    height: 40px;
    padding: 0 18px;
    font-size: 1.7rem;
  }
}
@media (max-width: 768px) {
  section.top-mv .inner-wrapper .mv-content .mv-tags li {
    height: 32px;
    padding: 0 16px;
    font-size: 1.2rem;
  }
}

.section-title {
  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;
  text-align: center;
  gap: 2.3rem;
}
@media (max-width: 992px) {
  .section-title {
    gap: 1.5rem;
  }
}
@media (max-width: 576px) {
  .section-title {
    gap: 0.5rem;
  }
}
.section-title h2 {
  font-family: "Outfit", "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: 6rem;
  line-height: 5rem;
  letter-spacing: -0.56%;
  color: #6F9016;
}
@media (max-width: 992px) {
  .section-title h2 {
    font-size: 5.2rem;
    line-height: 4.6rem;
  }
}
@media (max-width: 768px) {
  .section-title h2 {
    font-size: 4.4rem;
    list-style-type: 130%;
    letter-spacing: 2.04%;
  }
}
.section-title .note {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  font-size: 3.2rem;
  line-height: 100%;
  color: #3A3E36;
  letter-spacing: 0%;
}
@media (max-width: 992px) {
  .section-title .note {
    font-size: 3.4rem;
  }
}
@media (max-width: 768px) {
  .section-title .note {
    font-size: 2.4rem;
  }
}

section.reason {
  position: relative;
  background: #EDF5E6;
  width: 100%;
  overflow: hidden;
  z-index: 0;
}
section.reason .reason-bg {
  position: absolute;
  inset: 0;
  z-index: 1;
  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;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
section.reason .reason-bg .reason-bg-item {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
section.reason .inner-wrapper {
  position: relative;
  z-index: 2;
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: 7.4rem 4.4rem 7.7rem;
  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;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media (max-width: 992px) {
  section.reason .inner-wrapper {
    padding: 6.4rem 4.4rem 6rem;
  }
}
@media (max-width: 768px) {
  section.reason .inner-wrapper {
    padding: 4.4rem 4.4rem 2.4rem;
  }
}
@media (max-width: 420px) {
  section.reason .inner-wrapper {
    padding: 4rem 2rem 2.4rem;
  }
}
section.reason .inner-wrapper .content-container {
  width: 100%;
  max-width: 840px;
  margin: 5.3rem auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2.6rem;
}
@media (max-width: 992px) {
  section.reason .inner-wrapper .content-container {
    margin-top: 4.4rem;
    gap: 2rem;
  }
}
@media (max-width: 768px) {
  section.reason .inner-wrapper .content-container {
    margin-top: 3.5rem;
    gap: 1.2rem;
  }
}
@media (max-width: 420px) {
  section.reason .inner-wrapper .content-container {
    padding: 2rem;
    -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;
  }
}
section.reason .inner-wrapper .content-container .reason-card {
  width: 100%;
  padding: 3.5rem 0;
  border-radius: 2.2rem;
  text-align: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  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;
  background: #ffffff;
}
@media (max-width: 992px) {
  section.reason .inner-wrapper .content-container .reason-card {
    padding: 3.8rem 0;
  }
}
@media (max-width: 768px) {
  section.reason .inner-wrapper .content-container .reason-card {
    padding: 2.1rem 0;
  }
}
section.reason .inner-wrapper .content-container .reason-card .card-label {
  font-family: "Outfit", "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1.2rem;
  line-height: 100%;
  letter-spacing: 1.92%;
}
@media (max-width: 768px) {
  section.reason .inner-wrapper .content-container .reason-card .card-label {
    font-size: 1rem;
    letter-spacing: 1.6%;
  }
}
section.reason .inner-wrapper .content-container .reason-card .card-title {
  margin-top: 0.6rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  font-size: 2rem;
  line-height: 100%;
  letter-spacing: 0%;
}
@media (max-width: 768px) {
  section.reason .inner-wrapper .content-container .reason-card .card-title {
    margin-top: 0.4rem;
    font-size: 1.4rem;
  }
}
section.reason .inner-wrapper .content-container .reason-card .card-lead {
  margin-top: 1.5rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  font-size: 2.2rem;
  line-height: 100%;
  letter-spacing: 0%;
}
@media (max-width: 768px) {
  section.reason .inner-wrapper .content-container .reason-card .card-lead {
    margin-top: 0.9rem;
    font-size: 1.6rem;
  }
}
section.reason .inner-wrapper .content-container .reason-card .card-list {
  width: 100%;
  margin-top: 1.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media (max-width: 992px) {
  section.reason .inner-wrapper .content-container .reason-card .card-list {
    margin-top: 1.2rem;
  }
}
@media (max-width: 768px) {
  section.reason .inner-wrapper .content-container .reason-card .card-list {
    margin-top: 0.9rem;
  }
}
section.reason .inner-wrapper .content-container .reason-card .card-list .card-item {
  width: 100%;
  padding: 1.3rem 0;
  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;
  gap: 0rem;
  border-top: 1px dotted #D7DCCB;
}
@media (max-width: 768px) {
  section.reason .inner-wrapper .content-container .reason-card .card-list .card-item {
    padding: 0.8rem 0;
  }
}
section.reason .inner-wrapper .content-container .reason-card .card-list .card-item .item-main {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  font-size: 1.6rem;
  line-height: 2.4rem;
  letter-spacing: 0%;
}
@media (max-width: 768px) {
  section.reason .inner-wrapper .content-container .reason-card .card-list .card-item .item-main {
    font-size: 1.3rem;
    line-height: 1.95rem;
  }
}
section.reason .inner-wrapper .content-container .reason-card .card-list .card-item .item-sub {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 1.45rem;
  line-height: 2.25rem;
  letter-spacing: 0%;
}
@media (max-width: 768px) {
  section.reason .inner-wrapper .content-container .reason-card .card-list .card-item .item-sub {
    font-size: 1.15rem;
    line-height: 1.72rem;
  }
}
section.reason .inner-wrapper .content-container .reason-card.normal {
  border: 1px solid #E8EBE1;
}
section.reason .inner-wrapper .content-container .reason-card.normal .card-label,
section.reason .inner-wrapper .content-container .reason-card.normal .card-title {
  color: #8A8F80;
}
section.reason .inner-wrapper .content-container .reason-card.normal .card-lead {
  color: #A7AB9E;
}
section.reason .inner-wrapper .content-container .reason-card.normal .item-main {
  color: #3A3E36;
}
section.reason .inner-wrapper .content-container .reason-card.normal .item-sub {
  color: #6A6F61;
}
section.reason .inner-wrapper .content-container .reason-card.dynafit {
  border: 3px solid #6F9016;
}
section.reason .inner-wrapper .content-container .reason-card.dynafit .card-label,
section.reason .inner-wrapper .content-container .reason-card.dynafit .card-title,
section.reason .inner-wrapper .content-container .reason-card.dynafit .card-lead,
section.reason .inner-wrapper .content-container .reason-card.dynafit .item-main {
  color: #5B7614;
}
section.reason .inner-wrapper .content-container .reason-card.dynafit .item-sub {
  color: #6A6F61;
}
section.reason .inner-wrapper .reason-summary {
  margin-top: 4.5rem;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  font-size: 2.6rem;
  line-height: 4rem;
  color: #3A3E36;
  letter-spacing: 0%;
}
@media (max-width: 992px) {
  section.reason .inner-wrapper .reason-summary {
    margin-top: 4rem;
    font-size: 2.8rem;
    line-height: 4rem;
  }
}
@media (max-width: 768px) {
  section.reason .inner-wrapper .reason-summary {
    margin-top: 3.5rem;
    font-size: 1.8rem;
    line-height: 2.7rem;
  }
}

section.result {
  position: relative;
  width: 100%;
  background: #FBF6E8;
  overflow: hidden;
}
section.result .inner-wrapper {
  position: relative;
  z-index: 1;
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: 6.6rem 4.4rem 14rem;
  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;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media (max-width: 992px) {
  section.result .inner-wrapper {
    padding: 5.6rem 4.4rem 8rem;
  }
}
@media (max-width: 768px) {
  section.result .inner-wrapper {
    padding: 4.4rem 4.4rem 0.6rem;
  }
}
section.result .inner-wrapper .content-container {
  width: 100%;
  max-width: 1040px;
  margin: 4rem auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 4rem;
}
@media (max-width: 992px) {
  section.result .inner-wrapper .content-container {
    margin-top: 3.6rem;
    gap: 2rem;
  }
}
@media (max-width: 768px) {
  section.result .inner-wrapper .content-container {
    margin-top: 3.2rem;
    -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;
    gap: 1.2rem;
  }
}
section.result .inner-wrapper .content-container .result-card {
  width: 100%;
  padding: 3.2rem 0;
  border-radius: 2.4rem;
  background: #ffffff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  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;
  text-align: center;
}
@media (max-width: 992px) {
  section.result .inner-wrapper .content-container .result-card {
    padding: 3.5rem 0;
  }
}
@media (max-width: 768px) {
  section.result .inner-wrapper .content-container .result-card {
    padding: 1.8rem 2.2rem;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    text-align: left;
  }
}
section.result .inner-wrapper .content-container .result-card .card-head {
  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;
  gap: 1.4rem;
}
@media (max-width: 768px) {
  section.result .inner-wrapper .content-container .result-card .card-head {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
section.result .inner-wrapper .content-container .result-card .card-head .card-title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  font-size: 2.1rem;
  line-height: 100%;
  color: #3A3E36;
}
@media (max-width: 768px) {
  section.result .inner-wrapper .content-container .result-card .card-head .card-title {
    font-weight: 700;
    font-size: 1.6rem;
  }
}
section.result .inner-wrapper .content-container .result-card .card-head .recommend {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 100%;
  color: #F5A800;
  letter-spacing: 0%;
}
@media (max-width: 768px) {
  section.result .inner-wrapper .content-container .result-card .card-head .recommend {
    font-size: 1.2rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
section.result .inner-wrapper .content-container .result-card .plan-list {
  margin-top: 1.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2.8rem;
}
@media (max-width: 768px) {
  section.result .inner-wrapper .content-container .result-card .plan-list {
    display: none;
  }
}
section.result .inner-wrapper .content-container .result-card .plan-list .plan-item {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  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;
  gap: 0.4rem;
}
section.result .inner-wrapper .content-container .result-card .plan-list .plan-item .plan-value {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  font-size: 2.6rem;
  line-height: 100%;
  letter-spacing: 0%;
  color: #5B7614;
  white-space: nowrap;
}
@media (max-width: 992px) {
  section.result .inner-wrapper .content-container .result-card .plan-list .plan-item .plan-value {
    font-size: 2.8rem;
  }
}
section.result .inner-wrapper .content-container .result-card .plan-list .plan-item .plan-label {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1.2rem;
  line-height: 100%;
  letter-spacing: 0%;
  color: #6A6F61;
  white-space: nowrap;
}
@media (max-width: 992px) {
  section.result .inner-wrapper .content-container .result-card .plan-list .plan-item .plan-label {
    font-size: 1.4rem;
  }
}
section.result .inner-wrapper .content-container .result-card .plan-text {
  display: none;
  margin-top: 0.7rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  font-size: 1.5rem;
  line-height: 100%;
  letter-spacing: 0%;
  color: #5B7614;
}
@media (max-width: 768px) {
  section.result .inner-wrapper .content-container .result-card .plan-text {
    display: block;
  }
}
section.result .inner-wrapper .result-note {
  margin-top: 3.4rem;
  text-align: center;
}
@media (max-width: 992px) {
  section.result .inner-wrapper .result-note {
    margin-top: 3.6rem;
  }
}
@media (max-width: 768px) {
  section.result .inner-wrapper .result-note {
    margin-top: 1.8rem;
  }
}
section.result .inner-wrapper .result-note .note-main {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 100%;
  letter-spacing: 0%;
  color: #3A3E36;
}
@media (max-width: 768px) {
  section.result .inner-wrapper .result-note .note-main {
    font-size: 1.3rem;
  }
}
section.result .inner-wrapper .result-note .note-sub {
  margin-top: 1.2rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1.3rem;
  line-height: 100%;
  letter-spacing: 0%;
  color: #6A6F61;
}
@media (max-width: 768px) {
  section.result .inner-wrapper .result-note .note-sub {
    margin-top: 0.8rem;
    font-size: 1.1rem;
  }
}

section.banner {
  position: relative;
  width: 100%;
  background: #F7FAF0;
  overflow: hidden;
}
section.banner .inner-wrapper {
  position: relative;
  z-index: 1;
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: 8.4rem 4.4rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media (max-width: 992px) {
  section.banner .inner-wrapper {
    padding: 7 0.4rem 4.4rem;
  }
}
@media (max-width: 768px) {
  section.banner .inner-wrapper {
    padding: 4.4rem 4.4rem;
  }
}
section.banner .inner-wrapper .content-container {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
  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;
}
section.banner .inner-wrapper .content-container .banner-card {
  width: 100%;
  background: #ffffff;
  border-radius: 2.4rem;
  padding: 1.8rem 5.3rem 1.8rem 7.7rem;
  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;
  gap: 4rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media (max-width: 768px) {
  section.banner .inner-wrapper .content-container .banner-card {
    padding: 1.7rem 7rem 1.7rem 3rem;
    gap: 3.3rem;
    border-radius: 1.8rem;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    max-width: 600px;
  }
}
section.banner .inner-wrapper .content-container .banner-card .banner-image {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 48%;
          flex: 1 1 48%;
  max-width: 460px;
  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 (max-width: 768px) {
  section.banner .inner-wrapper .content-container .banner-card .banner-image {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 38%;
            flex: 1 1 38%;
  }
}
section.banner .inner-wrapper .content-container .banner-card .banner-image img {
  width: 100%;
  max-width: 420px;
  height: auto;
  display: block;
  -o-object-fit: contain;
     object-fit: contain;
}
@media (max-width: 768px) {
  section.banner .inner-wrapper .content-container .banner-card .banner-image img {
    max-width: 160px;
  }
}
section.banner .inner-wrapper .content-container .banner-card .banner-content {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 52%;
          flex: 1 1 52%;
  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;
}
@media (max-width: 768px) {
  section.banner .inner-wrapper .content-container .banner-card .banner-content {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 62%;
            flex: 1 1 62%;
  }
}
section.banner .inner-wrapper .content-container .banner-card .banner-content .banner-lead {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  font-size: 1.4rem;
  line-height: 2.2rem;
  letter-spacing: 0%;
  color: #6A6F61;
  text-align: center;
}
@media (max-width: 768px) {
  section.banner .inner-wrapper .content-container .banner-card .banner-content .banner-lead {
    font-size: 1.1rem;
    line-height: 1.6rem;
    text-align: left;
  }
}
section.banner .inner-wrapper .content-container .banner-card .banner-content .banner-title {
  margin-top: 2.2rem;
  font-family: "Outfit", "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: 6.4rem;
  line-height: 5rem;
  letter-spacing: -0.56%;
  color: #3A3E36;
}
@media (max-width: 992px) {
  section.banner .inner-wrapper .content-container .banner-card .banner-content .banner-title {
    font-size: 6.6rem;
  }
}
@media (max-width: 768px) {
  section.banner .inner-wrapper .content-container .banner-card .banner-content .banner-title {
    margin-top: 0.6rem;
    line-height: 100%;
    letter-spacing: 0%;
    font-size: 2.5rem;
  }
}
section.banner .inner-wrapper .content-container .banner-card .banner-content .banner-title .accent {
  margin-left: 1.2rem;
  color: #F5A800;
}
section.banner .inner-wrapper .content-container .banner-card .banner-content .banner-badge {
  margin-top: 3.8rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0.7rem 1.6rem;
  border-radius: 0.9rem;
  background: #F3F8E5;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  font-size: 1.4rem;
  line-height: 100%;
  letter-spacing: 0%;
  color: #5B7614;
  text-align: center;
}
@media (max-width: 768px) {
  section.banner .inner-wrapper .content-container .banner-card .banner-content .banner-badge {
    margin-top: 1rem;
    padding: 0.4rem 1rem;
    font-size: 1.1rem;
  }
}
section.banner .inner-wrapper .content-container .banner-tags {
  margin-top: 2.6rem;
  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;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1.2rem;
}
@media (max-width: 768px) {
  section.banner .inner-wrapper .content-container .banner-tags {
    margin-top: 1.6rem;
    width: 100%;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    max-width: 600px;
  }
}
@media (max-width: 420px) {
  section.banner .inner-wrapper .content-container .banner-tags {
    -ms-flex-pack: distribute;
        justify-content: space-around;
  }
}
section.banner .inner-wrapper .content-container .banner-tags li {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 14.8rem;
  height: 4.5rem;
  padding: 0 2.2rem;
  border-radius: 999px;
  background: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  font-size: 1.5rem;
  line-height: 100%;
  letter-spacing: 0%;
  color: #5B7614;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media (max-width: 768px) {
  section.banner .inner-wrapper .content-container .banner-tags li {
    min-width: 0;
    height: 3.5rem;
    padding: 0 1.5rem;
    font-size: 1.2rem;
  }
}

section.step {
  position: relative;
  width: 100%;
  background: #F1F7E2;
  overflow: hidden;
  border-radius: 2rem;
}
@media (max-width: 768px) {
  section.step {
    border-radius: 0;
  }
}
section.step .inner-wrapper {
  position: relative;
  z-index: 1;
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: 8.2rem 4.4rem 11.7rem;
  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;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media (max-width: 992px) {
  section.step .inner-wrapper {
    padding: 7rem 4.4rem 9rem;
  }
}
@media (max-width: 768px) {
  section.step .inner-wrapper {
    padding: 6.2rem 4.4rem 6.2rem;
  }
}
@media (max-width: 420px) {
  section.step .inner-wrapper {
    padding: 6.2rem 2rem 6.2rem;
  }
}
section.step .inner-wrapper .content-container {
  width: 100%;
  max-width: 1000px;
  margin: 7.6rem auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2.4rem;
}
@media (max-width: 992px) {
  section.step .inner-wrapper .content-container {
    margin-top: 6rem;
    gap: 1.6rem;
  }
}
@media (max-width: 768px) {
  section.step .inner-wrapper .content-container {
    margin-top: 3.5rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
  }
}
section.step .inner-wrapper .content-container .step-card {
  width: 100%;
  padding: 2.2rem 3.6rem 3.6rem 2.9rem;
  border-radius: 2.2rem;
  background: #ffffff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  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;
  text-align: left;
}
@media (max-width: 768px) {
  section.step .inner-wrapper .content-container .step-card {
    padding: 1.9rem 0;
    border-radius: 0;
    background: transparent;
    -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;
    gap: 1.6rem;
    border-bottom: 1px solid #D7DCCB;
  }
  section.step .inner-wrapper .content-container .step-card:last-child {
    border-bottom: none;
    padding-bottom: 0;
  }
}
section.step .inner-wrapper .content-container .step-card .step-num {
  width: 5.4rem;
  height: 5.4rem;
  border-radius: 50%;
  background: #6F9016;
  color: #ffffff;
  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-family: "Outfit", "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: 2.3rem;
  line-height: 100%;
  letter-spacing: 0%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media (max-width: 768px) {
  section.step .inner-wrapper .content-container .step-card .step-num {
    width: 4.6rem;
    height: 4.6rem;
    font-size: 1.9rem;
    margin-top: 0.2rem;
  }
}
section.step .inner-wrapper .content-container .step-card .step-body {
  width: 100%;
  margin-top: 2.7rem;
  height: 100%;
  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-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 768px) {
  section.step .inner-wrapper .content-container .step-card .step-body {
    margin-top: 0;
  }
}
section.step .inner-wrapper .content-container .step-card .step-body .step-title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  font-size: 1.9rem;
  line-height: 2.75rem;
  letter-spacing: 0%;
  color: #3A3E36;
}
@media (max-width: 768px) {
  section.step .inner-wrapper .content-container .step-card .step-body .step-title {
    font-size: 1.6rem;
    line-height: 100%;
  }
}
section.step .inner-wrapper .content-container .step-card .step-body .step-title .accent {
  color: #5B7614;
}
section.step .inner-wrapper .content-container .step-card .step-body .step-desc {
  margin-top: 1.45rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 2.45rem;
  letter-spacing: 0%;
  color: #6A6F61;
}
@media (max-width: 768px) {
  section.step .inner-wrapper .content-container .step-card .step-body .step-desc {
    margin-top: 0.6rem;
    font-size: 1.2rem;
    line-height: 2rem;
  }
}

section.concerns {
  position: relative;
  width: 100%;
  background: #F1F4EB;
  overflow: hidden;
}
section.concerns .inner-wrapper {
  position: relative;
  z-index: 1;
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: 5.7rem 4.4rem 8.4rem;
  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;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media (max-width: 992px) {
  section.concerns .inner-wrapper {
    padding: 5rem 4.4rem 7rem;
  }
}
@media (max-width: 768px) {
  section.concerns .inner-wrapper {
    padding: 4.4rem 4.4rem 4.4rem;
  }
}
@media (max-width: 420px) {
  section.concerns .inner-wrapper {
    padding: 4rem 2rem 4rem;
  }
}
section.concerns .inner-wrapper .content-container {
  width: 100%;
  max-width: 1000px;
  margin: 6.5rem auto 0;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 2.2rem 1fr 2.2rem 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.2rem;
}
@media (max-width: 992px) {
  section.concerns .inner-wrapper .content-container {
    margin-top: 5.2rem;
    gap: 1.6rem;
  }
}
@media (max-width: 768px) {
  section.concerns .inner-wrapper .content-container {
    margin-top: 3.5rem;
    -ms-grid-columns: 1fr 1.2rem 1fr;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.2rem;
  }
}
section.concerns .inner-wrapper .content-container .concerns-item {
  position: relative;
  width: 100%;
  aspect-ratio: 16/10;
  border-radius: 1.6rem;
  overflow: hidden;
}
@media (max-width: 768px) {
  section.concerns .inner-wrapper .content-container .concerns-item {
    border-radius: 1.2rem;
  }
}
section.concerns .inner-wrapper .content-container .concerns-item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  display: block;
}
section.concerns .inner-wrapper .content-container .concerns-item::after {
  content: "";
  position: absolute;
  inset: 0;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(30%, rgba(20, 26, 10, 0.05)), to(rgba(20, 26, 10, 0.72)));
  background: linear-gradient(180deg, rgba(20, 26, 10, 0.05) 30%, rgba(20, 26, 10, 0.72) 100%);
  pointer-events: none;
}
section.concerns .inner-wrapper .content-container .concerns-item .item-text {
  position: absolute;
  left: 2.2rem;
  bottom: 2rem;
  z-index: 1;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  font-size: 2rem;
  line-height: 2.6rem;
  letter-spacing: 0%;
  color: #ffffff;
}
@media (max-width: 768px) {
  section.concerns .inner-wrapper .content-container .concerns-item .item-text {
    left: 1.4rem;
    bottom: 1.2rem;
    font-size: 1.5rem;
    line-height: 1.95rem;
  }
}

section.price {
  position: relative;
  width: 100%;
  background: #FBF6E8;
  overflow: hidden;
}
section.price .inner-wrapper {
  position: relative;
  z-index: 1;
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: 8rem 4.4rem 8rem;
  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;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media (max-width: 992px) {
  section.price .inner-wrapper {
    padding: 6.4rem 4.4rem 6.4rem;
  }
}
@media (max-width: 768px) {
  section.price .inner-wrapper {
    padding: 5.6rem 4.4rem 5.6rem;
  }
}
@media (max-width: 420px) {
  section.price .inner-wrapper {
    padding: 4rem 2rem 4rem;
  }
}
section.price .inner-wrapper .content-container {
  width: 100%;
  max-width: 1032px;
  margin: 3.8rem auto 0;
  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;
  gap: 3.2rem;
}
@media (max-width: 992px) {
  section.price .inner-wrapper .content-container {
    margin-top: 3.6rem;
    gap: 2.4rem;
  }
}
@media (max-width: 768px) {
  section.price .inner-wrapper .content-container {
    margin-top: 2.6rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1.6rem;
  }
}
section.price .inner-wrapper .content-container .price-card {
  width: 100%;
  padding: 3rem 3.4rem;
  border-radius: 2.4rem;
  background: #ffffff;
  border: 1.5px solid #5B7614;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media (max-width: 992px) {
  section.price .inner-wrapper .content-container .price-card {
    padding: 2.8rem 3.2rem;
  }
}
@media (max-width: 768px) {
  section.price .inner-wrapper .content-container .price-card {
    padding: 2.4rem 2.8rem;
    border-radius: 1.8rem;
  }
}
section.price .inner-wrapper .content-container .price-card .card-title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 100%;
  letter-spacing: 0%;
  color: #3A3E36;
}
@media (max-width: 768px) {
  section.price .inner-wrapper .content-container .price-card .card-title {
    font-size: 1.5rem;
  }
}
section.price .inner-wrapper .content-container .price-card .card-title .card-sub {
  display: block;
  margin-top: 1.4rem;
  font-weight: 500;
  font-size: 1.3rem;
  color: #6A6F61;
}
@media (max-width: 768px) {
  section.price .inner-wrapper .content-container .price-card .card-title .card-sub {
    display: inline;
    margin-top: 0;
    font-weight: 700;
    font-size: inherit;
    color: inherit;
  }
}
section.price .inner-wrapper .content-container .price-card .group-label {
  margin-top: 1.2rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 100%;
  letter-spacing: 0%;
  color: #5B7614;
}
@media (max-width: 768px) {
  section.price .inner-wrapper .content-container .price-card .group-label {
    margin-top: 1rem;
    font-size: 1.4rem;
  }
}
section.price .inner-wrapper .content-container .price-card .card-title + .price-row {
  margin-top: 2.2rem;
}
@media (max-width: 768px) {
  section.price .inner-wrapper .content-container .price-card .card-title + .price-row {
    margin-top: 1.2rem;
  }
}
section.price .inner-wrapper .content-container .price-card .price-row {
  margin-top: 1.2rem;
  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: 1.6rem;
}
@media (max-width: 768px) {
  section.price .inner-wrapper .content-container .price-card .price-row {
    margin-top: 1rem;
  }
}
section.price .inner-wrapper .content-container .price-card .price-row--right {
  margin-top: 1.4rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0.2rem;
}
@media (max-width: 768px) {
  section.price .inner-wrapper .content-container .price-card .price-row--right {
    margin-top: 1.2rem;
  }
}
section.price .inner-wrapper .content-container .price-card .price-row .row-top {
  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;
  width: 100%;
}
section.price .inner-wrapper .content-container .price-card .price-row .row-name {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 100%;
  letter-spacing: 0%;
  color: #3A3E36;
}
@media (max-width: 768px) {
  section.price .inner-wrapper .content-container .price-card .price-row .row-name {
    font-size: 1.5rem;
  }
}
section.price .inner-wrapper .content-container .price-card .price-row .row-note {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1.2rem;
  line-height: 100%;
  letter-spacing: 0%;
  color: #6A6F61;
}
@media (max-width: 768px) {
  section.price .inner-wrapper .content-container .price-card .price-row .row-note {
    font-size: 1.1rem;
  }
}
section.price .inner-wrapper .content-container .price-card .price-row .row-price {
  padding: 0.5rem 1.2rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  font-size: 2rem;
  line-height: 100%;
  letter-spacing: 0%;
  color: #5B7614;
}
@media (max-width: 768px) {
  section.price .inner-wrapper .content-container .price-card .price-row .row-price {
    font-size: 1.8rem;
  }
}
section.price .inner-wrapper .content-container .price-card .price-row + .group-label {
  margin-top: 2.5rem;
}
@media (max-width: 768px) {
  section.price .inner-wrapper .content-container .price-card .price-row + .group-label {
    margin-top: 2.1rem;
  }
}
section.price .inner-wrapper .price-note {
  margin-top: 3.8rem;
  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;
  gap: 0.8rem;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 100%;
  letter-spacing: 0%;
  color: #6A6F61;
}
@media (max-width: 768px) {
  section.price .inner-wrapper .price-note {
    gap: 0.6rem;
    margin-top: 2.6rem;
    font-size: 1.1rem;
  }
}

section.contact {
  position: relative;
  width: 100%;
  background: #EDF5E1;
  overflow: hidden;
  border-radius: 0 0 2.2rem 2.2rem;
}
@media (max-width: 768px) {
  section.contact {
    border-radius: 0 0 1.8rem 1.8rem;
  }
}
section.contact .inner-wrapper {
  position: relative;
  z-index: 1;
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: 5.6rem 4.4rem 5.6rem;
}
@media (max-width: 992px) {
  section.contact .inner-wrapper {
    padding: 5.4rem 4.4rem 5.4rem;
  }
}
@media (max-width: 768px) {
  section.contact .inner-wrapper {
    padding: 4.8rem 4.4rem 4.4rem;
  }
}
@media (max-width: 420px) {
  section.contact .inner-wrapper {
    padding: 4.2rem 2rem 4rem;
  }
}
section.contact .inner-wrapper .contact-container {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  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;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (max-width: 768px) {
  section.contact .inner-wrapper .contact-container {
    width: calc(100% - 4.6rem);
    max-width: 100%;
  }
}
section.contact .inner-wrapper .contact-container .contact-grid-top {
  width: 100%;
  display: -ms-grid;
  display: grid;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  gap: 2.6rem;
  -ms-grid-columns: 400fr 2.6rem 580fr;
  grid-template-columns: 400fr 580fr;
}
@media (max-width: 768px) {
  section.contact .inner-wrapper .contact-container .contact-grid-top {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 2.4rem;
  }
}
section.contact .inner-wrapper .contact-container .contact-grid-top .contact-card-white,
section.contact .inner-wrapper .contact-container .contact-grid-top .contact-card-green {
  padding: 4rem 0 4.2rem;
  border-radius: 2.2rem;
  text-align: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  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;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (max-width: 768px) {
  section.contact .inner-wrapper .contact-container .contact-grid-top .contact-card-white,
  section.contact .inner-wrapper .contact-container .contact-grid-top .contact-card-green {
    padding: 2.6rem 0 2.7rem;
    border-radius: 1.8rem;
  }
}
section.contact .inner-wrapper .contact-container .contact-grid-top .contact-card-white {
  border: 1.5px solid #E5EECB;
  background: #ffffff;
}
section.contact .inner-wrapper .contact-container .contact-grid-top .contact-card-white .card-label {
  font-family: "Outfit", "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: 1.4rem;
  line-height: 2.24rem;
  letter-spacing: 3.08%;
  color: #6A6F61;
}
@media (max-width: 768px) {
  section.contact .inner-wrapper .contact-container .contact-grid-top .contact-card-white .card-label {
    font-size: 1.15rem;
    line-height: 1.84rem;
    letter-spacing: 2.53%;
  }
}
section.contact .inner-wrapper .contact-container .contact-grid-top .contact-card-white .card-title {
  margin-top: 0.6rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  font-size: 2.2rem;
  line-height: 100%;
  letter-spacing: 0%;
  color: #3A3E36;
}
@media (max-width: 768px) {
  section.contact .inner-wrapper .contact-container .contact-grid-top .contact-card-white .card-title {
    margin-top: 0.5rem;
    font-size: 1.7rem;
  }
}
section.contact .inner-wrapper .contact-container .contact-grid-top .contact-card-white .card-text {
  margin-top: 1.8rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 2.24rem;
  letter-spacing: 0%;
  color: #6A6F61;
}
@media (max-width: 768px) {
  section.contact .inner-wrapper .contact-container .contact-grid-top .contact-card-white .card-text {
    margin-top: 1.4rem;
    font-size: 1.15rem;
    line-height: 1.84rem;
  }
}
section.contact .inner-wrapper .contact-container .contact-grid-top .contact-card-green {
  background: #6F9016;
}
section.contact .inner-wrapper .contact-container .contact-grid-top .contact-card-green .card-title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  font-size: 2.8rem;
  line-height: 4.2rem;
  letter-spacing: 0%;
  color: #ffffff;
}
@media (max-width: 768px) {
  section.contact .inner-wrapper .contact-container .contact-grid-top .contact-card-green .card-title {
    font-size: 2rem;
    line-height: 2rem;
  }
}
section.contact .inner-wrapper .contact-container .contact-grid-top .contact-card-green .card-text {
  margin-top: 1.4rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 2.55rem;
  letter-spacing: 0%;
  color: #EAF3C6;
}
@media (max-width: 768px) {
  section.contact .inner-wrapper .contact-container .contact-grid-top .contact-card-green .card-text {
    font-size: 1.2rem;
    line-height: 1.92rem;
  }
}
section.contact .inner-wrapper .contact-container .contact-grid-bottom {
  margin-top: 3.2rem;
  width: 100%;
  display: -ms-grid;
  display: grid;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  gap: 3rem;
  -ms-grid-columns: 485fr 3rem 485fr;
  grid-template-columns: 485fr 485fr;
}
@media (max-width: 768px) {
  section.contact .inner-wrapper .contact-container .contact-grid-bottom {
    margin-top: 2.8rem;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 1.8rem;
  }
}
section.contact .inner-wrapper .contact-container .contact-grid-bottom .contact-card-white,
section.contact .inner-wrapper .contact-container .contact-grid-bottom .contact-card-green {
  padding: 2.2rem 0rem;
  border-radius: 2.4rem;
  text-align: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  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;
  -ms-flex-pack: distribute;
      justify-content: space-around;
}
@media (max-width: 768px) {
  section.contact .inner-wrapper .contact-container .contact-grid-bottom .contact-card-white,
  section.contact .inner-wrapper .contact-container .contact-grid-bottom .contact-card-green {
    padding: 2rem 0rem;
    border-radius: 1.8rem;
  }
}
section.contact .inner-wrapper .contact-container .contact-grid-bottom .contact-card-white {
  gap: 0.8rem;
  background: #ffffff;
  border: 1.5px solid #E5EECB;
}
@media (max-width: 768px) {
  section.contact .inner-wrapper .contact-container .contact-grid-bottom .contact-card-white {
    gap: 0.7rem;
  }
}
section.contact .inner-wrapper .contact-container .contact-grid-bottom .contact-card-white .card-head {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 100%;
  letter-spacing: 0%;
  color: #6A6F61;
}
@media (max-width: 768px) {
  section.contact .inner-wrapper .contact-container .contact-grid-bottom .contact-card-white .card-head {
    font-size: 1.3rem;
  }
}
section.contact .inner-wrapper .contact-container .contact-grid-bottom .contact-card-white .card-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1.3rem;
  line-height: 100%;
  letter-spacing: 0%;
  color: #6A6F61;
}
@media (max-width: 768px) {
  section.contact .inner-wrapper .contact-container .contact-grid-bottom .contact-card-white .card-text {
    font-size: 1.2rem;
  }
}
section.contact .inner-wrapper .contact-container .contact-grid-bottom .contact-card-white .card-phone {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: 3.4rem;
  line-height: 100%;
  letter-spacing: 0%;
  color: #6F9016;
  -webkit-transition: opacity 0.2s ease, -webkit-transform 0.2s ease;
  transition: opacity 0.2s ease, -webkit-transform 0.2s ease;
  transition: opacity 0.2s ease, transform 0.2s ease;
  transition: opacity 0.2s ease, transform 0.2s ease, -webkit-transform 0.2s ease;
}
@media (max-width: 768px) {
  section.contact .inner-wrapper .contact-container .contact-grid-bottom .contact-card-white .card-phone {
    font-size: 3rem;
  }
}
section.contact .inner-wrapper .contact-container .contact-grid-bottom .contact-card-white .card-phone:hover {
  opacity: 0.8;
}
section.contact .inner-wrapper .contact-container .contact-grid-bottom .contact-card-green {
  gap: 1.2rem;
  background: #6F9016;
}
@media (max-width: 768px) {
  section.contact .inner-wrapper .contact-container .contact-grid-bottom .contact-card-green {
    gap: 1.1rem;
  }
}
section.contact .inner-wrapper .contact-container .contact-grid-bottom .contact-card-green .card-head {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 100%;
  letter-spacing: 0%;
  color: white;
}
@media (max-width: 768px) {
  section.contact .inner-wrapper .contact-container .contact-grid-bottom .contact-card-green .card-head {
    font-size: 1.3rem;
  }
}
section.contact .inner-wrapper .contact-container .contact-grid-bottom .contact-card-green .card-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1.2rem;
  line-height: 100%;
  letter-spacing: 0%;
  color: white;
}
@media (max-width: 768px) {
  section.contact .inner-wrapper .contact-container .contact-grid-bottom .contact-card-green .card-text {
    font-size: 1.1rem;
  }
}
section.contact .inner-wrapper .contact-container .contact-grid-bottom .contact-card-green .card-btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 20rem;
  min-height: 2.5rem;
  padding: 1.4rem 3.2rem;
  border-radius: 1.2rem;
  background: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  font-size: 1.6rem;
  line-height: 100%;
  letter-spacing: 0%;
  color: #6F9016;
  -webkit-transition: opacity 0.2s ease, -webkit-transform 0.2s ease;
  transition: opacity 0.2s ease, -webkit-transform 0.2s ease;
  transition: opacity 0.2s ease, transform 0.2s ease;
  transition: opacity 0.2s ease, transform 0.2s ease, -webkit-transform 0.2s ease;
}
@media (max-width: 768px) {
  section.contact .inner-wrapper .contact-container .contact-grid-bottom .contact-card-green .card-btn {
    font-size: 1.5rem;
  }
}
section.contact .inner-wrapper .contact-container .contact-grid-bottom .contact-card-green .card-btn:hover {
  opacity: 0.92;
  -webkit-transform: scale(1.02);
          transform: scale(1.02);
}
section.contact .inner-wrapper .contact-container .contact-form {
  width: 100%;
  margin-top: 2.8rem;
  padding: 3.6rem 4rem;
  background: #ffffff;
  border-radius: 2.2rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  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: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 2.2rem;
  border: 1.5px solid #E5EECB;
}
@media (max-width: 992px) {
  section.contact .inner-wrapper .contact-container .contact-form {
    margin-top: 2.6rem;
    padding: 3.2rem 3.6rem;
    gap: 2rem;
  }
}
@media (max-width: 768px) {
  section.contact .inner-wrapper .contact-container .contact-form {
    margin-top: 2.4rem;
    padding: 2.8rem 2.6rem;
    border-radius: 1.8rem;
    gap: 1.8rem;
  }
}
section.contact .inner-wrapper .contact-container .contact-form .form-title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 2rem;
  line-height: 100%;
  letter-spacing: 0%;
  color: #3A3E36;
}
@media (max-width: 768px) {
  section.contact .inner-wrapper .contact-container .contact-form .form-title {
    font-size: 1.8rem;
  }
}
section.contact .inner-wrapper .contact-container .contact-form .form-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.4rem;
}
@media (max-width: 768px) {
  section.contact .inner-wrapper .contact-container .contact-form .form-row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
section.contact .inner-wrapper .contact-container .contact-form .form-row .form-field {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
section.contact .inner-wrapper .contact-container .contact-form .form-field label {
  display: block;
  margin-bottom: 0.8rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1.3rem;
  line-height: 100%;
  letter-spacing: 0%;
  color: #6A6F61;
}
section.contact .inner-wrapper .contact-container .contact-form .form-field input[type=text],
section.contact .inner-wrapper .contact-container .contact-form .form-field input[type=email],
section.contact .inner-wrapper .contact-container .contact-form .form-field input[type=tel],
section.contact .inner-wrapper .contact-container .contact-form .form-field textarea {
  width: 100%;
  background: #F7FAF0;
  border: 1.5px solid #E5EECB;
  border-radius: 0.8rem;
  -webkit-box-shadow: none;
          box-shadow: none;
  padding: 1.3rem 1.4rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 100%;
  letter-spacing: 0%;
  color: #3A3E36;
}
section.contact .inner-wrapper .contact-container .contact-form .form-field input[type=text]::-webkit-input-placeholder, section.contact .inner-wrapper .contact-container .contact-form .form-field input[type=email]::-webkit-input-placeholder, section.contact .inner-wrapper .contact-container .contact-form .form-field input[type=tel]::-webkit-input-placeholder, section.contact .inner-wrapper .contact-container .contact-form .form-field textarea::-webkit-input-placeholder {
  color: #999E94;
}
section.contact .inner-wrapper .contact-container .contact-form .form-field input[type=text]::-moz-placeholder, section.contact .inner-wrapper .contact-container .contact-form .form-field input[type=email]::-moz-placeholder, section.contact .inner-wrapper .contact-container .contact-form .form-field input[type=tel]::-moz-placeholder, section.contact .inner-wrapper .contact-container .contact-form .form-field textarea::-moz-placeholder {
  color: #999E94;
}
section.contact .inner-wrapper .contact-container .contact-form .form-field input[type=text]:-ms-input-placeholder, section.contact .inner-wrapper .contact-container .contact-form .form-field input[type=email]:-ms-input-placeholder, section.contact .inner-wrapper .contact-container .contact-form .form-field input[type=tel]:-ms-input-placeholder, section.contact .inner-wrapper .contact-container .contact-form .form-field textarea:-ms-input-placeholder {
  color: #999E94;
}
section.contact .inner-wrapper .contact-container .contact-form .form-field input[type=text]::-ms-input-placeholder, section.contact .inner-wrapper .contact-container .contact-form .form-field input[type=email]::-ms-input-placeholder, section.contact .inner-wrapper .contact-container .contact-form .form-field input[type=tel]::-ms-input-placeholder, section.contact .inner-wrapper .contact-container .contact-form .form-field textarea::-ms-input-placeholder {
  color: #999E94;
}
section.contact .inner-wrapper .contact-container .contact-form .form-field input[type=text]::placeholder,
section.contact .inner-wrapper .contact-container .contact-form .form-field input[type=email]::placeholder,
section.contact .inner-wrapper .contact-container .contact-form .form-field input[type=tel]::placeholder,
section.contact .inner-wrapper .contact-container .contact-form .form-field textarea::placeholder {
  color: #999E94;
}
section.contact .inner-wrapper .contact-container .contact-form .form-field input[type=text]:focus,
section.contact .inner-wrapper .contact-container .contact-form .form-field input[type=email]:focus,
section.contact .inner-wrapper .contact-container .contact-form .form-field input[type=tel]:focus,
section.contact .inner-wrapper .contact-container .contact-form .form-field textarea:focus {
  border: 1.5px solid #d0e298;
}
section.contact .inner-wrapper .contact-container .contact-form .form-honeypot {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
section.contact .inner-wrapper .contact-container .contact-form .form-message {
  margin: 0;
  padding: 1.4rem 1.6rem;
  border-radius: 0.8rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 1.6;
  text-align: center;
}
section.contact .inner-wrapper .contact-container .contact-form .form-message[hidden] {
  display: none;
}
section.contact .inner-wrapper .contact-container .contact-form .form-message.is-success {
  background: #F3F8E6;
  border: 1.5px solid #C9DD8C;
  color: #4A6A10;
}
section.contact .inner-wrapper .contact-container .contact-form .form-message.is-error {
  background: #FFF4F1;
  border: 1.5px solid #F0C8BE;
  color: #A33B2A;
}
section.contact .inner-wrapper .contact-container .contact-form .form-submit {
  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: 20rem;
  height: 5.6rem;
  margin: 0.6rem auto 0;
  padding: 1.6rem 6.4rem;
  border: none;
  border-radius: 1.2rem;
  background: #6F9016;
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1.7rem;
  line-height: 100%;
  letter-spacing: 0%;
  cursor: pointer;
  -webkit-transition: opacity 0.2s ease, -webkit-transform 0.2s ease;
  transition: opacity 0.2s ease, -webkit-transform 0.2s ease;
  transition: opacity 0.2s ease, transform 0.2s ease;
  transition: opacity 0.2s ease, transform 0.2s ease, -webkit-transform 0.2s ease;
}
@media (max-width: 768px) {
  section.contact .inner-wrapper .contact-container .contact-form .form-submit {
    width: 18rem;
    height: 5.3rem;
    padding: 1.5rem 5.6rem;
    border-radius: 1.1rem;
    font-size: 1.5rem;
  }
}
section.contact .inner-wrapper .contact-container .contact-form .form-submit:hover {
  opacity: 0.92;
  -webkit-transform: scale(1.02);
          transform: scale(1.02);
}
section.contact .inner-wrapper .contact-container .contact-form .form-submit:disabled {
  opacity: 0.7;
  cursor: wait;
  -webkit-transform: none;
          transform: none;
}