@charset "UTF-8";
@import url(https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Outfit:wght@100..900&display=swap);
*,
::after,
::before {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
:where([hidden]:not([hidden="until-found"])) {
  display: none !important;
}
:where(html) {
  -webkit-text-size-adjust: none;
  color-scheme: dark light;
  tab-size: 2;
}
:where(html:has(dialog:modal[open])) {
  overflow: clip;
}
:where(body) {
  line-height: 1.5;
  font-family: system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}
:where(button) {
  all: unset;
  box-sizing: border-box;
}
:where(input, button, textarea, select) {
  font: inherit;
  color: inherit;
}
:where(textarea) {
  resize: block;
}
:where(button, label, select, summary, [role="button"], [role="option"]) {
  cursor: pointer;
}
:where(:disabled),
:where(label:has(> input:disabled), label:has(+ input:disabled)) {
  cursor: not-allowed;
}
:where(a) {
  color: inherit;
  text-underline-offset: 0.2ex;
}
:where(ul, ol) {
  list-style: none;
}
:where(img, svg, video, canvas, audio, iframe, embed, object) {
  display: block;
}
:where(img, picture, svg, video) {
  max-inline-size: 100%;
  block-size: auto;
}
:where(p, h1, h2, h3, h4, h5, h6) {
  overflow-wrap: break-word;
}
:where(h1, h2, h3) {
  line-height: calc(1em + 0.5rem);
}
:where(hr) {
  border: 0;
  border-block-start: 1px solid;
  color: inherit;
  block-size: 0;
  overflow: visible;
}
:where(dialog) {
  border: 0;
  background: 0 0;
  inset: unset;
  max-width: unset;
  max-height: unset;
}
:where(dialog:not([open])) {
  display: none !important;
}
:where(:focus-visible) {
  outline: 2px solid #00c86b;
  outline-offset: 0;
}
:where(:focus-visible, :target) {
  scroll-margin-block: 8vh;
}
:where(.visually-hidden:not(:focus-within, :active)) {
  clip-path: inset(50%) !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden !important;
  position: absolute !important;
  white-space: nowrap !important;
  border: 0 !important;
}
:root {
  --vh: 1vh;
  --vw: 1vw;
}
body,
html {
  font-size: 1rem;
  line-height: 1.5;
  font-family: "Noto Sans JP", sans-serif;
  background: #fff;
  letter-spacing: 0.01em;
}
a,
body,
html {
  color: #464646;
}
:where(a) {
  text-decoration: underline;
}
:where(a):hover {
  text-decoration: none;
}
body.is-scroll-stop {
  overflow: hidden;
}
.disable-smooth-scroll {
  scroll-behavior: auto !important;
}
@media (max-width: 767.98px) {
  body,
  html {
    max-width: 100vw;
  }
}
@keyframes button-anim {
  0%,
  10%,
  20% {
    transform: translate(2px, 0);
  }
  15%,
  25%,
  5% {
    transform: translate(-2px, 0);
  }
  30% {
    transform: translate(0, 0);
  }
}
@keyframes button-anim-sparkling {
  30%,
  80% {
    transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }
  31%,
  81% {
    transform: scale(4) rotate(45deg);
    opacity: 1;
  }
  50%,
  to {
    transform: scale(50) rotate(45deg);
    opacity: 0;
  }
  0%,
  51% {
    opacity: 0;
    transform: scale(0) rotate(45deg);
  }
}
.d-inline {
  display: inline !important;
}
.d-inline-block {
  display: inline-block !important;
}
.d-block {
  display: block !important;
}
.d-grid {
  display: grid !important;
}
.d-inline-grid {
  display: inline-grid !important;
}
.d-flex {
  display: flex !important;
}
.d-inline-flex {
  display: inline-flex !important;
}
.d-none {
  display: none !important;
}
.flex-fill {
  flex: 1 1 auto !important;
}
.flex-row {
  flex-direction: row !important;
}
.flex-column {
  flex-direction: column !important;
}
.flex-row-reverse {
  flex-direction: row-reverse !important;
}
.flex-column-reverse {
  flex-direction: column-reverse !important;
}
.flex-grow-0 {
  flex-grow: 0 !important;
}
.flex-grow-1 {
  flex-grow: 1 !important;
}
.flex-shrink-0 {
  flex-shrink: 0 !important;
}
.flex-shrink-1 {
  flex-shrink: 1 !important;
}
.flex-wrap {
  flex-wrap: wrap !important;
}
.flex-nowrap {
  flex-wrap: nowrap !important;
}
.flex-wrap-reverse {
  flex-wrap: wrap-reverse !important;
}
.justify-content-start {
  justify-content: flex-start !important;
}
.justify-content-end {
  justify-content: flex-end !important;
}
.justify-content-center {
  justify-content: center !important;
}
.justify-content-between {
  justify-content: space-between !important;
}
.justify-content-around {
  justify-content: space-around !important;
}
.justify-content-evenly {
  justify-content: space-evenly !important;
}
.align-items-start {
  align-items: flex-start !important;
}
.align-items-end {
  align-items: flex-end !important;
}
.align-items-center {
  align-items: center !important;
}
.align-items-baseline {
  align-items: baseline !important;
}
.align-items-stretch {
  align-items: stretch !important;
}
.align-content-start {
  align-content: flex-start !important;
}
.align-content-end {
  align-content: flex-end !important;
}
.align-content-center {
  align-content: center !important;
}
.align-content-between {
  align-content: space-between !important;
}
.align-content-around {
  align-content: space-around !important;
}
.align-content-stretch {
  align-content: stretch !important;
}
.align-self-auto {
  align-self: auto !important;
}
.align-self-start {
  align-self: flex-start !important;
}
.align-self-end {
  align-self: flex-end !important;
}
.align-self-center {
  align-self: center !important;
}
.align-self-baseline {
  align-self: baseline !important;
}
.align-self-stretch {
  align-self: stretch !important;
}
.fw-bold {
  font-weight: 700 !important;
}
.fw-semibold {
  font-weight: 600 !important;
}
.no-wrap {
  white-space: nowrap;
}
.break-all {
  word-break: break-all;
}
.fz-14 {
  font-size: 0.875rem;
}
.fz-md2 {
  font-size: 1.125rem;
}
.fz-l {
  font-size: 1.25rem;
}
.text-green {
  color: #038535;
}
.font-outfit {
  font-family: "Outfit", serif;
}
.fz-adjust {
  font-size: clamp(16px, 1.3333333333vw, 18px);
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
.lh-1 {
  line-height: 1 !important;
}
.lh-sm {
  line-height: 1.45 !important;
}
.lh-base {
  line-height: 1.5 !important;
}
.lh-lg {
  line-height: 2 !important;
}
.text-start {
  text-align: left !important;
}
.text-end {
  text-align: right !important;
}
.text-center {
  text-align: center !important;
}
.va-top {
  vertical-align: top !important;
}
.va-center {
  vertical-align: center !important;
}
.va-bottom {
  vertical-align: bottom !important;
}
.va-super {
  vertical-align: super !important;
}
.grid {
  display: grid !important;
}
.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid-cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.grid-cols-5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.grid-cols-6 {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
.grid-cols-7 {
  grid-template-columns: repeat(7, minmax(0, 1fr));
}
.grid-cols-8 {
  grid-template-columns: repeat(8, minmax(0, 1fr));
}
.grid-cols-9 {
  grid-template-columns: repeat(9, minmax(0, 1fr));
}
.grid-cols-10 {
  grid-template-columns: repeat(10, minmax(0, 1fr));
}
.grid-cols-11 {
  grid-template-columns: repeat(11, minmax(0, 1fr));
}
.grid-cols-12 {
  grid-template-columns: repeat(12, minmax(0, 1fr));
}
.gap-0 {
  gap: 0 !important;
}
.gap-xs {
  gap: 10px !important;
}
.gap-sm {
  gap: 30px !important;
}
.gap-md {
  gap: 32px !important;
}
.gap-lg {
  gap: 40px !important;
}
.gap-xl {
  gap: 48px !important;
}
.gap-x-0 {
  column-gap: 0;
}
.gap-x-xs {
  column-gap: 10px;
}
.gap-x-sm {
  column-gap: 30px;
}
.gap-x-md {
  column-gap: 32px;
}
.gap-x-lg {
  column-gap: 40px;
}
.gap-x-xl {
  column-gap: 48px;
}
.gap-y-0 {
  row-gap: 0;
}
.gap-y-xs {
  row-gap: 10px;
}
.gap-y-sm {
  row-gap: 30px;
}
.gap-y-md {
  row-gap: 32px;
}
.gap-y-lg {
  row-gap: 40px;
}
.gap-y-xl {
  row-gap: 48px;
}
.h-25 {
  height: 25% !important;
}
.h-50 {
  height: 50% !important;
}
.h-75 {
  height: 75% !important;
}
.h-100 {
  height: 100% !important;
}
.h-auto {
  height: auto !important;
}
.mh-100 {
  max-height: 100% !important;
}
.mb-0 {
  margin-bottom: 0 !important;
}
.mt-0 {
  margin-top: 0 !important;
}
.ml-0 {
  margin-left: 0 !important;
}
.mr-0 {
  margin-right: 0 !important;
}
.mb-xxs {
  margin-bottom: 8px !important;
}
.mt-xxs {
  margin-top: 8px !important;
}
.ml-xxs {
  margin-left: 8px !important;
}
.mr-xxs {
  margin-right: 8px !important;
}
.mb-xs {
  margin-bottom: 16px !important;
}
.mt-xs {
  margin-top: 16px !important;
}
.ml-xs {
  margin-left: 16px !important;
}
.mr-xs {
  margin-right: 16px !important;
}
.mb-sm {
  margin-bottom: 20px !important;
}
.mt-sm {
  margin-top: 20px !important;
}
.ml-sm {
  margin-left: 20px !important;
}
.mr-sm {
  margin-right: 20px !important;
}
.mb-md {
  margin-bottom: 24px !important;
}
.mt-md {
  margin-top: 24px !important;
}
.ml-md {
  margin-left: 24px !important;
}
.mr-md {
  margin-right: 24px !important;
}
.mb-lg {
  margin-bottom: 32px !important;
}
.mt-lg {
  margin-top: 32px !important;
}
.ml-lg {
  margin-left: 32px !important;
}
.mr-lg {
  margin-right: 32px !important;
}
.mb-llg {
  margin-bottom: 40px !important;
}
.mt-llg {
  margin-top: 40px !important;
}
.ml-llg {
  margin-left: 40px !important;
}
.mr-llg {
  margin-right: 40px !important;
}
.mb-xl {
  margin-bottom: 48px !important;
}
.mt-xl {
  margin-top: 48px !important;
}
.ml-xl {
  margin-left: 48px !important;
}
.mr-xl {
  margin-right: 48px !important;
}
.p-0 {
  padding: 0 !important;
}
.pb-0 {
  padding-bottom: 0 !important;
}
.pt-0 {
  padding-top: 0 !important;
}
.pl-0 {
  padding-left: 0 !important;
}
.pr-0 {
  padding-right: 0 !important;
}
.p-xxs {
  padding: 8px !important;
}
.pb-xxs {
  padding-bottom: 8px !important;
}
.pt-xxs {
  padding-top: 8px !important;
}
.pl-xxs {
  padding-left: 8px !important;
}
.pr-xxs {
  padding-right: 8px !important;
}
.p-xs {
  padding: 16px !important;
}
.pb-xs {
  padding-bottom: 16px !important;
}
.pt-xs {
  padding-top: 16px !important;
}
.pl-xs {
  padding-left: 16px !important;
}
.pr-xs {
  padding-right: 16px !important;
}
.p-sm {
  padding: 20px !important;
}
.pb-sm {
  padding-bottom: 20px !important;
}
.pt-sm {
  padding-top: 20px !important;
}
.pl-sm {
  padding-left: 20px !important;
}
.pr-sm {
  padding-right: 20px !important;
}
.p-md {
  padding: 24px !important;
}
.pb-md {
  padding-bottom: 24px !important;
}
.pt-md {
  padding-top: 24px !important;
}
.pl-md {
  padding-left: 24px !important;
}
.pr-md {
  padding-right: 24px !important;
}
.p-lg {
  padding: 32px !important;
}
.pb-lg {
  padding-bottom: 32px !important;
}
.pt-lg {
  padding-top: 32px !important;
}
.pl-lg {
  padding-left: 32px !important;
}
.pr-lg {
  padding-right: 32px !important;
}
.p-llg {
  padding: 40px !important;
}
.pb-llg {
  padding-bottom: 40px !important;
}
.pt-llg {
  padding-top: 40px !important;
}
.pl-llg {
  padding-left: 40px !important;
}
.pr-llg {
  padding-right: 40px !important;
}
.p-xl {
  padding: 48px !important;
}
.pb-xl {
  padding-bottom: 48px !important;
}
.pt-xl {
  padding-top: 48px !important;
}
.pl-xl {
  padding-left: 48px !important;
}
.pr-xl {
  padding-right: 48px !important;
}
.position-static {
  position: static !important;
}
.position-relative {
  position: relative !important;
}
.position-absolute {
  position: absolute !important;
}
.position-fixed {
  position: fixed !important;
}
.position-sticky {
  position: sticky !important;
}
.visible {
  visibility: visible !important;
}
.invisible {
  visibility: hidden !important;
}
.w-52px {
  width: 52px !important;
}
.max-w-52px {
  max-width: 52px !important;
}
.max-w-0._center,
.max-w-10._center,
.max-w-100._center,
.max-w-1000px._center,
.max-w-100px._center,
.max-w-116px._center,
.max-w-127px._center,
.max-w-140px._center,
.max-w-15._center,
.max-w-155px._center,
.max-w-160px._center,
.max-w-188px._center,
.max-w-192px._center,
.max-w-20._center,
.max-w-200px._center,
.max-w-214px._center,
.max-w-232px._center,
.max-w-240px._center,
.max-w-25._center,
.max-w-252px._center,
.max-w-30._center,
.max-w-35._center,
.max-w-40._center,
.max-w-45._center,
.max-w-470px._center,
.max-w-5._center,
.max-w-50._center,
.max-w-52px._center,
.max-w-530px._center,
.max-w-55._center,
.max-w-55px._center,
.max-w-60._center,
.max-w-64px._center,
.max-w-65._center,
.max-w-70._center,
.max-w-70px._center,
.max-w-75._center,
.max-w-753px._center,
.max-w-80._center,
.max-w-85._center,
.max-w-90._center,
.max-w-95._center,
.max-w-auto._center {
  margin-left: auto;
  margin-right: auto;
}
.min-w-52px {
  min-width: 52px !important;
}
.w-55px {
  width: 55px !important;
}
.max-w-55px {
  max-width: 55px !important;
}
.min-w-55px {
  min-width: 55px !important;
}
.w-64px {
  width: 64px !important;
}
.max-w-64px {
  max-width: 64px !important;
}
.min-w-64px {
  min-width: 64px !important;
}
.w-70px {
  width: 70px !important;
}
.max-w-70px {
  max-width: 70px !important;
}
.min-w-70px {
  min-width: 70px !important;
}
.w-100px {
  width: 100px !important;
}
.max-w-100px {
  max-width: 100px !important;
}
.min-w-100px {
  min-width: 100px !important;
}
.w-116px {
  width: 116px !important;
}
.max-w-116px {
  max-width: 116px !important;
}
.min-w-116px {
  min-width: 116px !important;
}
.w-127px {
  width: 127px !important;
}
.max-w-127px {
  max-width: 127px !important;
}
.min-w-127px {
  min-width: 127px !important;
}
.w-140px {
  width: 140px !important;
}
.max-w-140px {
  max-width: 140px !important;
}
.min-w-140px {
  min-width: 140px !important;
}
.w-155px {
  width: 155px !important;
}
.max-w-155px {
  max-width: 155px !important;
}
.min-w-155px {
  min-width: 155px !important;
}
.w-160px {
  width: 160px !important;
}
.max-w-160px {
  max-width: 160px !important;
}
.min-w-160px {
  min-width: 160px !important;
}
.w-188px {
  width: 188px !important;
}
.max-w-188px {
  max-width: 188px !important;
}
.min-w-188px {
  min-width: 188px !important;
}
.w-192px {
  width: 192px !important;
}
.max-w-192px {
  max-width: 192px !important;
}
.min-w-192px {
  min-width: 192px !important;
}
.w-200px {
  width: 200px !important;
}
.max-w-200px {
  max-width: 200px !important;
}
.min-w-200px {
  min-width: 200px !important;
}
.w-214px {
  width: 214px !important;
}
.max-w-214px {
  max-width: 214px !important;
}
.min-w-214px {
  min-width: 214px !important;
}
.w-232px {
  width: 232px !important;
}
.max-w-232px {
  max-width: 232px !important;
}
.min-w-232px {
  min-width: 232px !important;
}
.w-240px {
  width: 240px !important;
}
.max-w-240px {
  max-width: 240px !important;
}
.min-w-240px {
  min-width: 240px !important;
}
.w-252px {
  width: 252px !important;
}
.max-w-252px {
  max-width: 252px !important;
}
.min-w-252px {
  min-width: 252px !important;
}
.w-470px {
  width: 470px !important;
}
.max-w-470px {
  max-width: 470px !important;
}
.min-w-470px {
  min-width: 470px !important;
}
.w-530px {
  width: 530px !important;
}
.max-w-530px {
  max-width: 530px !important;
}
.min-w-530px {
  min-width: 530px !important;
}
.w-753px {
  width: 753px !important;
}
.max-w-753px {
  max-width: 753px !important;
}
.min-w-753px {
  min-width: 753px !important;
}
.w-1000px {
  width: 1000px !important;
}
.max-w-1000px {
  max-width: 1000px !important;
}
.min-w-1000px {
  min-width: 1000px !important;
}
.w-0 {
  width: 0% !important;
}
.max-w-0 {
  max-width: 0% !important;
}
.min-w-0 {
  min-width: 0% !important;
}
.w-5 {
  width: 5% !important;
}
.max-w-5 {
  max-width: 5% !important;
}
.min-w-5 {
  min-width: 5% !important;
}
.w-10 {
  width: 10% !important;
}
.max-w-10 {
  max-width: 10% !important;
}
.min-w-10 {
  min-width: 10% !important;
}
.w-15 {
  width: 15% !important;
}
.max-w-15 {
  max-width: 15% !important;
}
.min-w-15 {
  min-width: 15% !important;
}
.w-20 {
  width: 20% !important;
}
.max-w-20 {
  max-width: 20% !important;
}
.min-w-20 {
  min-width: 20% !important;
}
.w-25 {
  width: 25% !important;
}
.max-w-25 {
  max-width: 25% !important;
}
.min-w-25 {
  min-width: 25% !important;
}
.w-30 {
  width: 30% !important;
}
.max-w-30 {
  max-width: 30% !important;
}
.min-w-30 {
  min-width: 30% !important;
}
.w-35 {
  width: 35% !important;
}
.max-w-35 {
  max-width: 35% !important;
}
.min-w-35 {
  min-width: 35% !important;
}
.w-40 {
  width: 40% !important;
}
.max-w-40 {
  max-width: 40% !important;
}
.min-w-40 {
  min-width: 40% !important;
}
.w-45 {
  width: 45% !important;
}
.max-w-45 {
  max-width: 45% !important;
}
.min-w-45 {
  min-width: 45% !important;
}
.w-50 {
  width: 50% !important;
}
.max-w-50 {
  max-width: 50% !important;
}
.min-w-50 {
  min-width: 50% !important;
}
.w-55 {
  width: 55% !important;
}
.max-w-55 {
  max-width: 55% !important;
}
.min-w-55 {
  min-width: 55% !important;
}
.w-60 {
  width: 60% !important;
}
.max-w-60 {
  max-width: 60% !important;
}
.min-w-60 {
  min-width: 60% !important;
}
.w-65 {
  width: 65% !important;
}
.max-w-65 {
  max-width: 65% !important;
}
.min-w-65 {
  min-width: 65% !important;
}
.w-70 {
  width: 70% !important;
}
.max-w-70 {
  max-width: 70% !important;
}
.min-w-70 {
  min-width: 70% !important;
}
.w-75 {
  width: 75% !important;
}
.max-w-75 {
  max-width: 75% !important;
}
.min-w-75 {
  min-width: 75% !important;
}
.w-80 {
  width: 80% !important;
}
.max-w-80 {
  max-width: 80% !important;
}
.min-w-80 {
  min-width: 80% !important;
}
.w-85 {
  width: 85% !important;
}
.max-w-85 {
  max-width: 85% !important;
}
.min-w-85 {
  min-width: 85% !important;
}
.w-90 {
  width: 90% !important;
}
.max-w-90 {
  max-width: 90% !important;
}
.min-w-90 {
  min-width: 90% !important;
}
.w-95 {
  width: 95% !important;
}
.max-w-95 {
  max-width: 95% !important;
}
.min-w-95 {
  min-width: 95% !important;
}
.w-100 {
  width: 100% !important;
}
.max-w-100 {
  max-width: 100% !important;
}
.min-w-100 {
  min-width: 100% !important;
}
.w-auto {
  width: auto !important;
}
.max-w-auto {
  max-width: auto !important;
}
.min-w-auto {
  min-width: auto !important;
}
.mw-100 {
  max-width: 100% !important;
}
.width-narrow {
  max-width: 824px;
  margin-left: auto;
  margin-right: auto;
}
.img-box__item {
  display: inline;
}
.white-box {
  background-color: #fff;
  padding: 24px;
  border-radius: 8px;
}
.white-box__heading {
  font-size: 1.25rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 16px;
}
.white-box__item--flex {
  display: flex;
}
.white-box__img {
  margin-right: 24px;
  flex-shrink: 0;
  max-width: 420px;
}
.fixed-area {
  position: sticky;
  bottom: calc(-100% + 100px);
  min-height: 116px;
  right: 0;
  left: 0;
  z-index: 100;
  transition: bottom 0.5s;
  background-color: rgba(255, 255, 255, 0.85);
}
.fixed-area__inner {
  max-width: 1140px;
  margin-left: auto;
  margin-right: auto;
  padding: 16px 20px;
}
.fixed-area__buttons-item {
  display: flex;
  flex-direction: column;
}
.fixed-area__buttons-item p {
  font-weight: 700;
  font-size: 1.375rem;
  margin-bottom: 5px;
}
.fixed-area__buttons-item .button {
  min-height: 48px;
  margin-top: auto;
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
.fixed-area__buttons-item .button.button--green .button__text .small {
  font-size: 1.375rem;
}
.button__balloon {
  text-align: center;
}
.button__balloon-inner {
  position: relative;
  padding: 0 10px;
  font-size: 1.375rem;
  font-weight: 700;
  margin-bottom: 6px;
  display: inline-block;
}
.button__balloon-inner::after,
.button__balloon-inner::before {
  content: "";
  top: 0;
  position: absolute;
  width: 1px;
  height: 100%;
  border-left: 1px solid #464646;
}
.button__balloon-inner::before {
  left: 0;
  transform: rotate(-22deg);
}
.button__balloon-inner::after {
  right: 0;
  transform: rotate(22deg);
}
.button__balloon--small {
  font-size: 1rem;
}
.button__balloon--dots {
  background-image: radial-gradient(
    circle at center,
    currentColor 20%,
    transparent 20%
  );
  background-position: top right;
  background-repeat: repeat-x;
  background-size: 1em 0.5em;
  padding-top: 0.3em;
}
.button + .button__balloon {
  margin-top: 24px;
}
.top-of-page-area {
  position: sticky;
  bottom: 116px;
  min-height: 70px;
  right: 0;
  left: 0;
  z-index: 100;
  transition: bottom 0.5s;
}
.top-of-page-area--init {
  bottom: calc(-100% + 100px) !important;
}
.top-of-page-area__inner {
  max-width: 1140px;
  margin-left: auto;
  margin-right: auto;
}
.top-of-page {
  position: absolute;
  top: -20px;
  right: 40px;
}
.top-of-page__btn {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  width: 70px;
  height: 70px;
  border: 1px solid #038535;
  border-radius: 50%;
  position: relative;
  text-decoration: none;
}
.top-of-page__btn::before {
  content: "";
  top: 16px;
  left: 50%;
  position: absolute;
  width: 16px;
  height: 16px;
  border: 3px solid;
  border-radius: 4px;
  border-color: #038535 #038535 transparent transparent;
  transform: translate(-50%, 0) rotate(-45deg);
}
.top-of-page__text {
  margin-top: 8px;
  font-weight: 700;
  color: #038535;
}
.button-anim {
  animation: button-anim 2s infinite;
}
.button-anim-sparkling {
  padding: 0 !important;
}
.button-anim-sparkling .button__text {
  position: relative;
  overflow: hidden;
  display: block;
  width: 100%;
  height: 100%;
  text-align: center;
  padding: 18px;
}
.button-anim-sparkling .button__text::after {
  content: "";
  position: absolute;
  top: -180px;
  width: 60px;
  left: -100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.8);
  animation: button-anim-sparkling 4.5s ease-in-out -3s infinite;
}
.text-link.text-center {
  justify-content: center;
}
.text-link .new-window-icon {
  margin-left: 4px;
  width: 21px;
  height: 20px;
  display: inline;
  transform: translateY(4px);
}
.rate-text {
  text-align: center;
}
.rate-text__sub {
  color: #038535;
  font-size: 1.5rem;
  border-top: 1px solid #038535;
  border-bottom: 1px solid #038535;
  padding: 4px 0 6px;
  vertical-align: 0.5em;
  margin-right: 11px;
}
.rate-text__main {
  position: relative;
  font-size: 2rem;
  font-weight: 700;
  vertical-align: super;
  top: 2px;
}
.rate-text__main .year {
  position: relative;
  top: -2px;
}
.rate-text__main .emphasis {
  font-family: "Outfit", serif;
  font-size: 3.5rem;
  color: #038535;
}
.rate-pattern {
  display: flex;
  margin-left: auto;
  margin-right: auto;
  max-width: 866px;
}
.rate-pattern__item {
  width: 50%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.rate-pattern__item:first-child {
  border-right: 2px solid rgba(0, 0, 0, 0.1);
  padding-right: 24px;
}
.rate-pattern__item:last-child {
  padding-left: 24px;
}
.rate-pattern__case {
  font-size: 1.5rem;
  font-weight: 700;
  position: relative;
}
.rate-pattern__case::after {
  content: "";
  top: 50%;
  right: -35px;
  position: absolute;
  width: 14px;
  height: 14px;
  border: 3px solid;
  border-radius: 4px;
  border-color: #00c86b #00c86b transparent transparent;
  transform: rotate(45deg) translate(0, -50%);
}
.rate-pattern__case .en {
  font-size: 1.75rem;
  font-family: "Outfit", serif;
}
.rate-pattern__price {
  font-size: 1.5rem;
}
.rate-pattern__price .emphasis {
  font-family: "Outfit", serif;
  font-size: 2.5rem;
  color: #038535;
}
.lead {
  font-weight: 700;
  font-size: 1.75rem;
  text-align: center;
  margin-top: 40px;
}
.lead__en {
  font-family: "Outfit", serif;
  line-height: 1.2;
}
.point-03__last-heading .heading {
  font-size: 1.5rem;
  font-weight: 700;
}
.lead__en,
.point-03__last-heading .heading .emphasis {
  font-size: 2.5rem;
  color: #038535;
}
.point-03__last-heading .heading__balloon {
  font-size: 1.25rem;
  display: block;
  text-align: center;
}
.point-03__last-heading .heading__balloon-inner {
  position: relative;
  padding: 0 16px;
}
.point-03__last-heading .heading__balloon-inner::after,
.point-03__last-heading .heading__balloon-inner::before {
  content: "";
  top: 0;
  position: absolute;
  width: 1px;
  height: 100%;
  border-left: 1px solid #464646;
}
.point-03__last-heading .heading__balloon-inner::before {
  left: 0;
  transform: rotate(-22deg);
}
.point-03__last-heading .heading__balloon-inner::after {
  right: 0;
  transform: rotate(22deg);
}
.reason {
  position: relative;
  margin-top: 24px;
}
.reason::before {
  background: url(../../assets/images/speedy_arrow.svg) no-repeat top
    center/contain;
  content: "";
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  position: absolute;
  width: 66px;
  height: 24px;
  z-index: 2;
}
.reason__inner,
.reason__inner::before {
  background: linear-gradient(#fff 0, #edffe8 100%);
}
.reason__inner {
  padding: 64px 20px;
  display: flex;
  align-items: center;
  flex-direction: column;
  position: relative;
}
.reason__inner::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  right: 0;
  width: calc(100vw - var(--scrollbar));
  height: 100%;
  transform: translateX(-50%);
  pointer-events: none;
  z-index: 2;
}
.reason__inner > span {
  display: block;
  position: relative;
  z-index: 2;
}
.reason__inner .sub {
  font-weight: 700;
  font-size: 2rem;
}
.reason__inner .main {
  margin-top: 16px;
}
.info--pc {
  display: flex;
}
.info--sp {
  display: none;
}
.info__table,
.summary-table {
  table-layout: fixed;
  width: 100%;
  border-collapse: collapse;
}
.info__table th {
  background-color: #6a6a6a;
  color: #fff;
  font-weight: 700;
}
.info__table th:first-child {
  border-right: 1px solid #fff;
  border-radius: 8px 0 0 0;
}
.info__table th:last-child {
  border-radius: 0 8px 0 0;
}
.info__table td,
.info__table th {
  padding: 8px 16px;
}
.info__table tbody tr:nth-child(odd) td {
  background-color: #f9f8f5;
}
.info__table tbody tr:nth-child(even) td {
  background-color: #efeeeb;
}
.info__table tbody tr:last-child td:first-child {
  border-radius: 0 0 0 8px;
}
.info__table tbody tr:last-child td:last-child {
  border-radius: 0 0 8px 0;
}
.info__table tbody tr td:first-child {
  border-right: 1px solid #fff;
}
.info__table tbody tr td:last-child {
  text-align: right;
  font-weight: 700;
}
.summary-table tr:not(:last-child) td,
.summary-table tr:not(:last-child) th {
  border-bottom: 1px solid #dedede;
}
.summary-table th {
  background: #00c86b;
  color: #fff;
  font-size: 1.125rem;
  font-weight: 700;
  padding: 12px 16px;
  vertical-align: top;
  text-align: left;
}
.summary-table td {
  padding: 12px 16px;
  font-size: 1.125rem;
  background: #fff;
}
@media (min-width: 768px) {
  .d-mdpc-inline {
    display: inline !important;
  }
  .d-mdpc-inline-block {
    display: inline-block !important;
  }
  .d-mdpc-block {
    display: block !important;
  }
  .d-mdpc-grid,
  .grid .grid-md {
    display: grid !important;
  }
  .d-mdpc-inline-grid {
    display: inline-grid !important;
  }
  .d-mdpc-flex {
    display: flex !important;
  }
  .d-mdpc-inline-flex {
    display: inline-flex !important;
  }
  .d-mdpc-none {
    display: none !important;
  }
  .flex-md-fill {
    flex: 1 1 auto !important;
  }
  .flex-md-row {
    flex-direction: row !important;
  }
  .flex-md-column {
    flex-direction: column !important;
  }
  .flex-md-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-md-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-md-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-grow-md-1 {
    flex-grow: 1 !important;
  }
  .flex-shrinkmd--0 {
    flex-shrink: 0 !important;
  }
  .flex-shrink-md-1 {
    flex-shrink: 1 !important;
  }
  .flex-md-wrap {
    flex-wrap: wrap !important;
  }
  .flex-md-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-md-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-md-start {
    justify-content: flex-start !important;
  }
  .justify-content-md-end {
    justify-content: flex-end !important;
  }
  .justify-content-md-center {
    justify-content: center !important;
  }
  .justify-content-md-between {
    justify-content: space-between !important;
  }
  .justify-content-md-around {
    justify-content: space-around !important;
  }
  .justify-content-md-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-md-start {
    align-items: flex-start !important;
  }
  .align-items-md-end {
    align-items: flex-end !important;
  }
  .align-items-md-center {
    align-items: center !important;
  }
  .align-items-md-baseline {
    align-items: baseline !important;
  }
  .align-items-md-stretch {
    align-items: stretch !important;
  }
  .align-content-md-start {
    align-content: flex-start !important;
  }
  .align-content-md-end {
    align-content: flex-end !important;
  }
  .align-content-md-center {
    align-content: center !important;
  }
  .align-content-md-between {
    align-content: space-between !important;
  }
  .align-content-md-around {
    align-content: space-around !important;
  }
  .align-content-md-stretch {
    align-content: stretch !important;
  }
  .align-self-md-auto {
    align-self: auto !important;
  }
  .align-self-md-start {
    align-self: flex-start !important;
  }
  .align-self-md-end {
    align-self: flex-end !important;
  }
  .align-self-md-center {
    align-self: center !important;
  }
  .align-self-md-baseline {
    align-self: baseline !important;
  }
  .align-self-md-stretch {
    align-self: stretch !important;
  }
  .fw-md-bold {
    font-weight: 700 !important;
  }
  .lh-md-1 {
    line-height: 1 !important;
  }
  .lh-md-sm {
    line-height: 1.45 !important;
  }
  .lh-md-base {
    line-height: 1.5 !important;
  }
  .lh-md-lg {
    line-height: 2 !important;
  }
  .text-md-start {
    text-align: left !important;
  }
  .text-md-end {
    text-align: right !important;
  }
  .text-md-center {
    text-align: center !important;
  }
  .va-md-top {
    vertical-align: top !important;
  }
  .va-md-center {
    vertical-align: center !important;
  }
  .va-md-bottom {
    vertical-align: bottom !important;
  }
  .va-md-super {
    vertical-align: super !important;
  }
  .grid-cols-md-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .grid-cols-md-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .grid-cols-md-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .grid-cols-md-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .grid-cols-md-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .grid-cols-md-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .grid-cols-md-7 {
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }
  .grid-cols-md-8 {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
  .grid-cols-md-9 {
    grid-template-columns: repeat(9, minmax(0, 1fr));
  }
  .grid-cols-md-10 {
    grid-template-columns: repeat(10, minmax(0, 1fr));
  }
  .grid-cols-md-11 {
    grid-template-columns: repeat(11, minmax(0, 1fr));
  }
  .grid-cols-md-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
  .gap-md-0 {
    gap: 0 !important;
  }
  .gap-md-xs {
    gap: 10px !important;
  }
  .gap-md-sm {
    gap: 30px !important;
  }
  .gap-md-md {
    gap: 32px !important;
  }
  .gap-md-lg {
    gap: 40px !important;
  }
  .gap-md-xl {
    gap: 48px !important;
  }
  .gap-x-md-0 {
    column-gap: 0 !important;
  }
  .gap-x-md-xs {
    column-gap: 10px !important;
  }
  .gap-x-md-sm {
    column-gap: 30px !important;
  }
  .gap-x-md-md {
    column-gap: 32px !important;
  }
  .gap-x-md-lg {
    column-gap: 40px !important;
  }
  .gap-x-md-xl {
    column-gap: 48px !important;
  }
  .gap-y-md-0 {
    row-gap: 0 !important;
  }
  .gap-y-md-xs {
    row-gap: 10px !important;
  }
  .gap-y-md-sm {
    row-gap: 30px !important;
  }
  .gap-y-md-md {
    row-gap: 32px !important;
  }
  .gap-y-md-lg {
    row-gap: 40px !important;
  }
  .gap-y-md-xl {
    row-gap: 48px !important;
  }
  .h-md-25 {
    height: 25% !important;
  }
  .h-md-50 {
    height: 50% !important;
  }
  .h-md-75 {
    height: 75% !important;
  }
  .h-md-100 {
    height: 100% !important;
  }
  .h-md-auto {
    height: auto !important;
  }
  .mh-md-100 {
    max-height: 100% !important;
  }
  .mb-md-0 {
    margin-bottom: 0 !important;
  }
  .mt-md-0 {
    margin-top: 0 !important;
  }
  .mb-md-xxs {
    margin-bottom: 8px !important;
  }
  .mt-md-xxs {
    margin-top: 8px !important;
  }
  .mb-md-xs {
    margin-bottom: 16px !important;
  }
  .mt-md-xs {
    margin-top: 16px !important;
  }
  .mb-md-sm {
    margin-bottom: 20px !important;
  }
  .mt-md-sm {
    margin-top: 20px !important;
  }
  .mb-md-md {
    margin-bottom: 24px !important;
  }
  .mt-md-md {
    margin-top: 24px !important;
  }
  .mb-md-lg {
    margin-bottom: 32px !important;
  }
  .mt-md-lg {
    margin-top: 32px !important;
  }
  .mb-md-llg {
    margin-bottom: 40px !important;
  }
  .mt-md-llg {
    margin-top: 40px !important;
  }
  .mb-md-xl {
    margin-bottom: 48px !important;
  }
  .mt-md-xl {
    margin-top: 48px !important;
  }
  .pb-md-0 {
    padding-bottom: 0 !important;
  }
  .pt-md-0 {
    padding-top: 0 !important;
  }
  .pl-md-0 {
    padding-left: 0 !important;
  }
  .pr-md-0 {
    padding-right: 0 !important;
  }
  .pb-md-xxs {
    padding-bottom: 8px !important;
  }
  .pt-md-xxs {
    padding-top: 8px !important;
  }
  .pl-md-xxs {
    padding-left: 8px !important;
  }
  .pr-md-xxs {
    padding-right: 8px !important;
  }
  .pb-md-xs {
    padding-bottom: 16px !important;
  }
  .pt-md-xs {
    padding-top: 16px !important;
  }
  .pl-md-xs {
    padding-left: 16px !important;
  }
  .pr-md-xs {
    padding-right: 16px !important;
  }
  .pb-md-sm {
    padding-bottom: 20px !important;
  }
  .pt-md-sm {
    padding-top: 20px !important;
  }
  .pl-md-sm {
    padding-left: 20px !important;
  }
  .pr-md-sm {
    padding-right: 20px !important;
  }
  .pb-md-md {
    padding-bottom: 24px !important;
  }
  .pt-md-md {
    padding-top: 24px !important;
  }
  .pl-md-md {
    padding-left: 24px !important;
  }
  .pr-md-md {
    padding-right: 24px !important;
  }
  .pb-md-lg {
    padding-bottom: 32px !important;
  }
  .pt-md-lg {
    padding-top: 32px !important;
  }
  .pl-md-lg {
    padding-left: 32px !important;
  }
  .pr-md-lg {
    padding-right: 32px !important;
  }
  .pb-md-llg {
    padding-bottom: 40px !important;
  }
  .pt-md-llg {
    padding-top: 40px !important;
  }
  .pl-md-llg {
    padding-left: 40px !important;
  }
  .pr-md-llg {
    padding-right: 40px !important;
  }
  .pb-md-xl {
    padding-bottom: 48px !important;
  }
  .pt-md-xl {
    padding-top: 48px !important;
  }
  .pl-md-xl {
    padding-left: 48px !important;
  }
  .pr-md-xl {
    padding-right: 48px !important;
  }
  .position-md-static {
    position: static !important;
  }
  .position-md-relative {
    position: relative !important;
  }
  .position-md-absolute {
    position: absolute !important;
  }
  .position-md-fixed {
    position: fixed !important;
  }
  .position-md-sticky {
    position: sticky !important;
  }
  .md-visible {
    visibility: visible !important;
  }
  .md-invisible {
    visibility: hidden !important;
  }
  .w-md-52px {
    width: 52px !important;
  }
  .w-md-55px {
    width: 55px !important;
  }
  .w-md-64px {
    width: 64px !important;
  }
  .w-md-70px {
    width: 70px !important;
  }
  .w-md-100px {
    width: 100px !important;
  }
  .w-md-116px {
    width: 116px !important;
  }
  .w-md-127px {
    width: 127px !important;
  }
  .w-md-140px {
    width: 140px !important;
  }
  .w-md-155px {
    width: 155px !important;
  }
  .w-md-160px {
    width: 160px !important;
  }
  .w-md-188px {
    width: 188px !important;
  }
  .w-md-192px {
    width: 192px !important;
  }
  .w-md-200px {
    width: 200px !important;
  }
  .w-md-214px {
    width: 214px !important;
  }
  .w-md-232px {
    width: 232px !important;
  }
  .w-md-240px {
    width: 240px !important;
  }
  .w-md-252px {
    width: 252px !important;
  }
  .w-md-470px {
    width: 470px !important;
  }
  .w-md-530px {
    width: 530px !important;
  }
  .w-md-753px {
    width: 753px !important;
  }
  .w-md-1000px {
    width: 1000px !important;
  }
  .w-md-0 {
    width: 0% !important;
  }
  .w-md-5 {
    width: 5% !important;
  }
  .w-md-10 {
    width: 10% !important;
  }
  .w-md-15 {
    width: 15% !important;
  }
  .w-md-20 {
    width: 20% !important;
  }
  .w-md-25 {
    width: 25% !important;
  }
  .w-md-30 {
    width: 30% !important;
  }
  .w-md-35 {
    width: 35% !important;
  }
  .w-md-40 {
    width: 40% !important;
  }
  .w-md-45 {
    width: 45% !important;
  }
  .w-md-50 {
    width: 50% !important;
  }
  .w-md-55 {
    width: 55% !important;
  }
  .w-md-60 {
    width: 60% !important;
  }
  .w-md-65 {
    width: 65% !important;
  }
  .w-md-70 {
    width: 70% !important;
  }
  .w-md-75 {
    width: 75% !important;
  }
  .w-md-80 {
    width: 80% !important;
  }
  .w-md-85 {
    width: 85% !important;
  }
  .w-md-90 {
    width: 90% !important;
  }
  .w-md-95 {
    width: 95% !important;
  }
  .w-md-100 {
    width: 100% !important;
  }
  .w-md-auto {
    width: auto !important;
  }
  .mw-md-100 {
    max-width: 100% !important;
  }
  .reason__inner .main > img {
    width: 300px;
  }
}
@media (min-width: 992px) {
  .d-lgpc-inline {
    display: inline !important;
  }
  .d-lgpc-inline-block {
    display: inline-block !important;
  }
  .d-lgpc-block {
    display: block !important;
  }
  .d-lgpc-grid,
  .grid .grid-lg {
    display: grid !important;
  }
  .d-lgpc-inline-grid {
    display: inline-grid !important;
  }
  .d-lgpc-flex {
    display: flex !important;
  }
  .d-lgpc-inline-flex {
    display: inline-flex !important;
  }
  .d-lgpc-none {
    display: none !important;
  }
  .flex-lg-fill {
    flex: 1 1 auto !important;
  }
  .flex-lg-row {
    flex-direction: row !important;
  }
  .flex-lg-column {
    flex-direction: column !important;
  }
  .flex-lg-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-lg-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-lg-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-grow-lg-1 {
    flex-grow: 1 !important;
  }
  .flex-shrinklg--0 {
    flex-shrink: 0 !important;
  }
  .flex-shrink-lg-1 {
    flex-shrink: 1 !important;
  }
  .flex-lg-wrap {
    flex-wrap: wrap !important;
  }
  .flex-lg-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-lg-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-lg-start {
    justify-content: flex-start !important;
  }
  .justify-content-lg-end {
    justify-content: flex-end !important;
  }
  .justify-content-lg-center {
    justify-content: center !important;
  }
  .justify-content-lg-between {
    justify-content: space-between !important;
  }
  .justify-content-lg-around {
    justify-content: space-around !important;
  }
  .justify-content-lg-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-lg-start {
    align-items: flex-start !important;
  }
  .align-items-lg-end {
    align-items: flex-end !important;
  }
  .align-items-lg-center {
    align-items: center !important;
  }
  .align-items-lg-baseline {
    align-items: baseline !important;
  }
  .align-items-lg-stretch {
    align-items: stretch !important;
  }
  .align-content-lg-start {
    align-content: flex-start !important;
  }
  .align-content-lg-end {
    align-content: flex-end !important;
  }
  .align-content-lg-center {
    align-content: center !important;
  }
  .align-content-lg-between {
    align-content: space-between !important;
  }
  .align-content-lg-around {
    align-content: space-around !important;
  }
  .align-content-lg-stretch {
    align-content: stretch !important;
  }
  .align-self-lg-auto {
    align-self: auto !important;
  }
  .align-self-lg-start {
    align-self: flex-start !important;
  }
  .align-self-lg-end {
    align-self: flex-end !important;
  }
  .align-self-lg-center {
    align-self: center !important;
  }
  .align-self-lg-baseline {
    align-self: baseline !important;
  }
  .align-self-lg-stretch {
    align-self: stretch !important;
  }
  .fw-lg-bold {
    font-weight: 700 !important;
  }
  .lh-lg-1 {
    line-height: 1 !important;
  }
  .lh-lg-sm {
    line-height: 1.45 !important;
  }
  .lh-lg-base {
    line-height: 1.5 !important;
  }
  .lh-lg-lg {
    line-height: 2 !important;
  }
  .text-lg-start {
    text-align: left !important;
  }
  .text-lg-end {
    text-align: right !important;
  }
  .text-lg-center {
    text-align: center !important;
  }
  .va-lg-top {
    vertical-align: top !important;
  }
  .va-lg-center {
    vertical-align: center !important;
  }
  .va-lg-bottom {
    vertical-align: bottom !important;
  }
  .va-lg-super {
    vertical-align: super !important;
  }
  .grid-cols-lg-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .grid-cols-lg-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .grid-cols-lg-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .grid-cols-lg-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .grid-cols-lg-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .grid-cols-lg-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .grid-cols-lg-7 {
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }
  .grid-cols-lg-8 {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
  .grid-cols-lg-9 {
    grid-template-columns: repeat(9, minmax(0, 1fr));
  }
  .grid-cols-lg-10 {
    grid-template-columns: repeat(10, minmax(0, 1fr));
  }
  .grid-cols-lg-11 {
    grid-template-columns: repeat(11, minmax(0, 1fr));
  }
  .grid-cols-lg-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
  .gap-lg-0 {
    gap: 0 !important;
  }
  .gap-lg-xs {
    gap: 10px !important;
  }
  .gap-lg-sm {
    gap: 30px !important;
  }
  .gap-lg-md {
    gap: 32px !important;
  }
  .gap-lg-lg {
    gap: 40px !important;
  }
  .gap-lg-xl {
    gap: 48px !important;
  }
  .gap-x-lg-0 {
    column-gap: 0 !important;
  }
  .gap-x-lg-xs {
    column-gap: 10px !important;
  }
  .gap-x-lg-sm {
    column-gap: 30px !important;
  }
  .gap-x-lg-md {
    column-gap: 32px !important;
  }
  .gap-x-lg-lg {
    column-gap: 40px !important;
  }
  .gap-x-lg-xl {
    column-gap: 48px !important;
  }
  .gap-y-lg-0 {
    row-gap: 0 !important;
  }
  .gap-y-lg-xs {
    row-gap: 10px !important;
  }
  .gap-y-lg-sm {
    row-gap: 30px !important;
  }
  .gap-y-lg-md {
    row-gap: 32px !important;
  }
  .gap-y-lg-lg {
    row-gap: 40px !important;
  }
  .gap-y-lg-xl {
    row-gap: 48px !important;
  }
  .h-lg-25 {
    height: 25% !important;
  }
  .h-lg-50 {
    height: 50% !important;
  }
  .h-lg-75 {
    height: 75% !important;
  }
  .h-lg-100 {
    height: 100% !important;
  }
  .h-lg-auto {
    height: auto !important;
  }
  .mh-lg-100 {
    max-height: 100% !important;
  }
  .mb-lg-0 {
    margin-bottom: 0 !important;
  }
  .mt-lg-0 {
    margin-top: 0 !important;
  }
  .mb-lg-xxs {
    margin-bottom: 8px !important;
  }
  .mt-lg-xxs {
    margin-top: 8px !important;
  }
  .mb-lg-xs {
    margin-bottom: 16px !important;
  }
  .mt-lg-xs {
    margin-top: 16px !important;
  }
  .mb-lg-sm {
    margin-bottom: 20px !important;
  }
  .mt-lg-sm {
    margin-top: 20px !important;
  }
  .mb-lg-md {
    margin-bottom: 24px !important;
  }
  .mt-lg-md {
    margin-top: 24px !important;
  }
  .mb-lg-lg {
    margin-bottom: 32px !important;
  }
  .mt-lg-lg {
    margin-top: 32px !important;
  }
  .mb-lg-llg {
    margin-bottom: 40px !important;
  }
  .mt-lg-llg {
    margin-top: 40px !important;
  }
  .mb-lg-xl {
    margin-bottom: 48px !important;
  }
  .mt-lg-xl {
    margin-top: 48px !important;
  }
  .pb-lg-0 {
    padding-bottom: 0 !important;
  }
  .pt-lg-0 {
    padding-top: 0 !important;
  }
  .pl-lg-0 {
    padding-left: 0 !important;
  }
  .pr-lg-0 {
    padding-right: 0 !important;
  }
  .pb-lg-xxs {
    padding-bottom: 8px !important;
  }
  .pt-lg-xxs {
    padding-top: 8px !important;
  }
  .pl-lg-xxs {
    padding-left: 8px !important;
  }
  .pr-lg-xxs {
    padding-right: 8px !important;
  }
  .pb-lg-xs {
    padding-bottom: 16px !important;
  }
  .pt-lg-xs {
    padding-top: 16px !important;
  }
  .pl-lg-xs {
    padding-left: 16px !important;
  }
  .pr-lg-xs {
    padding-right: 16px !important;
  }
  .pb-lg-sm {
    padding-bottom: 20px !important;
  }
  .pt-lg-sm {
    padding-top: 20px !important;
  }
  .pl-lg-sm {
    padding-left: 20px !important;
  }
  .pr-lg-sm {
    padding-right: 20px !important;
  }
  .pb-lg-md {
    padding-bottom: 24px !important;
  }
  .pt-lg-md {
    padding-top: 24px !important;
  }
  .pl-lg-md {
    padding-left: 24px !important;
  }
  .pr-lg-md {
    padding-right: 24px !important;
  }
  .pb-lg-lg {
    padding-bottom: 32px !important;
  }
  .pt-lg-lg {
    padding-top: 32px !important;
  }
  .pl-lg-lg {
    padding-left: 32px !important;
  }
  .pr-lg-lg {
    padding-right: 32px !important;
  }
  .pb-lg-llg {
    padding-bottom: 40px !important;
  }
  .pt-lg-llg {
    padding-top: 40px !important;
  }
  .pl-lg-llg {
    padding-left: 40px !important;
  }
  .pr-lg-llg {
    padding-right: 40px !important;
  }
  .pb-lg-xl {
    padding-bottom: 48px !important;
  }
  .pt-lg-xl {
    padding-top: 48px !important;
  }
  .pl-lg-xl {
    padding-left: 48px !important;
  }
  .pr-lg-xl {
    padding-right: 48px !important;
  }
  .position-lg-static {
    position: static !important;
  }
  .position-lg-relative {
    position: relative !important;
  }
  .position-lg-absolute {
    position: absolute !important;
  }
  .position-lg-fixed {
    position: fixed !important;
  }
  .position-lg-sticky {
    position: sticky !important;
  }
  .lg-visible {
    visibility: visible !important;
  }
  .lg-invisible {
    visibility: hidden !important;
  }
  .w-lg-52px {
    width: 52px !important;
  }
  .w-lg-55px {
    width: 55px !important;
  }
  .w-lg-64px {
    width: 64px !important;
  }
  .w-lg-70px {
    width: 70px !important;
  }
  .w-lg-100px {
    width: 100px !important;
  }
  .w-lg-116px {
    width: 116px !important;
  }
  .w-lg-127px {
    width: 127px !important;
  }
  .w-lg-140px {
    width: 140px !important;
  }
  .w-lg-155px {
    width: 155px !important;
  }
  .w-lg-160px {
    width: 160px !important;
  }
  .w-lg-188px {
    width: 188px !important;
  }
  .w-lg-192px {
    width: 192px !important;
  }
  .w-lg-200px {
    width: 200px !important;
  }
  .w-lg-214px {
    width: 214px !important;
  }
  .w-lg-232px {
    width: 232px !important;
  }
  .w-lg-240px {
    width: 240px !important;
  }
  .w-lg-252px {
    width: 252px !important;
  }
  .w-lg-470px {
    width: 470px !important;
  }
  .w-lg-530px {
    width: 530px !important;
  }
  .w-lg-753px {
    width: 753px !important;
  }
  .w-lg-1000px {
    width: 1000px !important;
  }
  .w-lg-0 {
    width: 0% !important;
  }
  .w-lg-5 {
    width: 5% !important;
  }
  .w-lg-10 {
    width: 10% !important;
  }
  .w-lg-15 {
    width: 15% !important;
  }
  .w-lg-20 {
    width: 20% !important;
  }
  .w-lg-25 {
    width: 25% !important;
  }
  .w-lg-30 {
    width: 30% !important;
  }
  .w-lg-35 {
    width: 35% !important;
  }
  .w-lg-40 {
    width: 40% !important;
  }
  .w-lg-45 {
    width: 45% !important;
  }
  .w-lg-50 {
    width: 50% !important;
  }
  .w-lg-55 {
    width: 55% !important;
  }
  .w-lg-60 {
    width: 60% !important;
  }
  .w-lg-65 {
    width: 65% !important;
  }
  .w-lg-70 {
    width: 70% !important;
  }
  .w-lg-75 {
    width: 75% !important;
  }
  .w-lg-80 {
    width: 80% !important;
  }
  .w-lg-85 {
    width: 85% !important;
  }
  .w-lg-90 {
    width: 90% !important;
  }
  .w-lg-95 {
    width: 95% !important;
  }
  .w-lg-100 {
    width: 100% !important;
  }
  .w-lg-auto {
    width: auto !important;
  }
  .mw-lg-100 {
    max-width: 100% !important;
  }
}
@media (max-width: 991.98px) {
  .d-lgsp-inline {
    display: inline !important;
  }
  .d-lgsp-inline-block {
    display: inline-block !important;
  }
  .d-lgsp-block {
    display: block !important;
  }
  .d-lgsp-grid {
    display: grid !important;
  }
  .d-lgsp-inline-grid {
    display: inline-grid !important;
  }
  .d-lgsp-flex {
    display: flex !important;
  }
  .d-lgsp-inline-flex {
    display: inline-flex !important;
  }
  .d-lgsp-none {
    display: none !important;
  }
  .rate-pattern {
    justify-content: center;
  }
  .rate-pattern__item {
    max-width: 330px;
  }
  .rate-pattern__case {
    font-size: 1rem;
  }
  .rate-pattern__case .en {
    font-size: 1.125rem;
  }
  .rate-pattern__price {
    font-size: 1.25rem;
  }
  .rate-pattern__price .emphasis {
    font-size: 2rem;
  }
}
@media (max-width: 767.98px) {
  .d-mdsp-inline {
    display: inline !important;
  }
  .d-mdsp-inline-block {
    display: inline-block !important;
  }
  .d-mdsp-block {
    display: block !important;
  }
  .d-mdsp-grid {
    display: grid !important;
  }
  .d-mdsp-inline-grid {
    display: inline-grid !important;
  }
  .d-mdsp-flex {
    display: flex !important;
  }
  .d-mdsp-inline-flex {
    display: inline-flex !important;
  }
  .d-mdsp-none {
    display: none !important;
  }
  .fz-md2 {
    font-size: 1rem;
  }
  .fz-l {
    font-size: 1.125rem;
  }
  .fz-adjust {
    font-size: clamp(14px, 3.7333333333vw, 16px);
  }
  .white-box {
    padding: 20px 16px;
  }
  .white-box__heading {
    font-size: 1.125rem;
  }
  .white-box__item--flex {
    flex-direction: column;
  }
  .white-box__img {
    margin-bottom: 16px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .white-box__img img {
    margin: 0 auto;
  }
  .fixed-area__buttons-item p,
  .white-box__text {
    font-size: 0.875rem;
  }
  .fixed-area {
    min-height: 73px;
    padding: 8px 0;
  }
  .fixed-area__inner {
    padding: 4px 20px;
  }
  .fixed-area__buttons {
    gap: 8px;
  }
  .fixed-area__buttons-item .button::after {
    margin-top: -6px;
    width: 14px;
    height: 14px;
  }
  .fixed-area__buttons-item .button.button--orange {
    padding: 10px 0 12px;
    height: 100%;
  }
  .fixed-area__buttons-item .button.button--orange .button__text {
    line-height: 1;
  }
  .fixed-area__buttons-item .button.button--green {
    line-height: 1;
    padding: 10px 0 12px;
  }
  .fixed-area__buttons-item .button.button--green .button__text {
    line-height: 1.2;
    font-size: 1rem;
  }
  .button__balloon-inner {
    font-size: 1rem;
    font-size: clamp(14px, 3.7333333333vw, 18px);
  }
  .button__balloon--small,
  .fixed-area__buttons-item .button.button--green .button__text .small {
    font-size: 0.75rem;
  }
  .top-of-page-area {
    bottom: 82px;
    min-height: 54px;
  }
  .top-of-page {
    top: -16px;
    right: 8px;
  }
  .is-end .top-of-page {
    top: -16px;
  }
  .top-of-page__btn {
    width: 54px;
    height: 54px;
  }
  .top-of-page__btn::before {
    top: 10px;
    width: 10px;
    height: 10px;
    border: 2px solid;
    border-color: #038535 #038535 transparent transparent;
    border-radius: 2px;
  }
  .top-of-page__text {
    font-size: 0.75rem;
  }
  .js-modal-btn {
    font-size: 0.8125rem !important;
  }
  .js-modal-btn .new-window-icon {
    width: 14px;
    height: 12px;
    transform: translateY(2px);
  }
  .rate-text__sub {
    font-size: 0.875rem;
    padding: 6px;
    margin-right: 6px;
  }
  .rate-text__main {
    font-size: 1.5rem;
    vertical-align: baseline;
  }
  .rate-text__main .emphasis {
    font-size: 3rem;
  }
  .rate-pattern {
    flex-direction: column;
    max-width: 100%;
    align-items: center;
    margin-top: -4px;
    margin-bottom: -4px;
  }
  .rate-pattern__item {
    max-width: 305px;
    width: 100%;
  }
  .rate-pattern__item:first-child {
    border: 0;
    border-bottom: 2px solid rgba(0, 0, 0, 0.1);
    padding-right: 0;
    padding-bottom: 8px;
  }
  .rate-pattern__item:last-child {
    padding-top: 8px;
    padding-left: 0;
  }
  .lead {
    font-size: 1.5rem;
  }
  .lead__en {
    font-size: 2rem;
  }
  .point-03__last-heading .heading__balloon {
    margin-bottom: 8px;
  }
  .point-03__last-heading .heading__text {
    text-align: center;
  }
  .reason__inner {
    padding: 40px 20px;
  }
  .reason__inner::before {
    width: 20px;
    right: auto;
    left: -10px;
  }
  .reason__inner::after {
    content: "";
    position: absolute;
    top: 0;
    left: auto;
    right: -20px;
    width: 20px;
    height: 100%;
    background: linear-gradient(#fff 0, #edffe8 100%);
    pointer-events: none;
  }
  .reason__inner .sub {
    font-size: 1.5rem;
  }
  .reason__inner .main {
    margin-top: 8px;
  }
  .info--pc {
    display: none;
  }
  .info--sp {
    display: block;
  }
  .info__table td,
  .info__table th {
    font-size: clamp(12px, 3.2vw, 14px);
  }
  .info__table thead th:last-child {
    padding: 8px 12px;
  }
  .summary-table td,
  .summary-table th {
    display: block;
    width: calc(100vw - 40px);
    padding: 8px 16px;
    font-size: 1rem;
  }
}
@keyframes fadeInAnime {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeOutAnime {
  0% {
    display: block;
    opacity: 1;
  }
  to {
    display: none;
    opacity: 0;
  }
}
.layout-header-inner {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 999;
  background-color: #fff;
  display: flex;
  justify-content: space-between;
  align-self: center;
  height: 72px;
  padding: 20px 24px;
}
.layout-header-logo {
  max-width: 272px;
}
.page-menu {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 1000;
  pointer-events: none;
}
.page-menu-btn {
  position: absolute;
  width: 24px;
  height: 21px;
  top: 24px;
  right: 24px;
  pointer-events: visible;
  z-index: 1001;
}
.page-menu-btn-bar {
  width: 100%;
  height: 3px;
  border-top: 3px solid #464646;
  border-radius: 2px;
  display: block;
  position: absolute;
  left: 0;
  right: 0;
}
.page-menu-btn-bar:nth-child(1) {
  top: 0;
  transition: transform 0.3s ease-out;
}
.page-menu-btn.is-active .page-menu-btn-bar:nth-child(1) {
  transform: translate(0, 8px) rotate(45deg);
}
.page-menu-btn-bar:nth-child(2) {
  transform: translate(0, -50%);
  transition: opacity 0.3s ease-out;
}
.page-menu-btn.is-active .page-menu-btn-bar:nth-child(2) {
  opacity: 0;
}
.page-menu-btn-bar:nth-child(3) {
  bottom: 0;
  transition: transform 0.3s ease-out;
}
.page-menu-btn.is-active .page-menu-btn-bar:nth-child(3) {
  transform: translate(0, -10px) rotate(-45deg);
}
.page-menu-nav {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
}
.page-menu-nav-inner {
  width: 100%;
  padding: 24px 20px;
  background-color: #fff;
  height: 100%;
  pointer-events: visible;
}
.page-menu-list li {
  border-bottom: 2px solid rgba(0, 0, 0, 0.1);
}
.page-menu-list li:first-child {
  border-top: 2px solid rgba(0, 0, 0, 0.1);
}
.page-menu-list li a {
  text-decoration: none;
  font-weight: 700;
  display: block;
  padding: 16px 12px;
  position: relative;
}
.page-menu-list li a::after {
  content: "";
  transform: translateY(-50%);
  margin-top: -10px;
  top: 50%;
  right: 18px;
  position: absolute;
  width: 14px;
  height: 14px;
  border: 3px solid;
  border-radius: 3px;
  border-color: #038535 #038535 transparent transparent;
  transform: rotate(135deg);
}
.page-menu-list li .emphasis {
  color: #038535;
  font-size: 1.5rem;
}
.bg-page-menu {
  display: none;
}
@media (min-width: 768px) {
  .page-menu-nav-inner {
    padding: 96px 20px 24px;
    max-width: 450px;
    margin-left: auto;
  }
  .page-menu-list li a {
    transition: opacity 0.2s ease-in-out;
  }
  .page-menu-list li a::after {
    transition: margin-top 0.2s ease-in-out;
  }
  .page-menu-list li a:hover {
    opacity: 0.7;
  }
  .page-menu-list li a:hover::after {
    margin-top: -5px;
  }
  .bg-page-menu {
    position: fixed;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background-color: rgba(0, 0, 0, 0.3);
    z-index: 999;
    opacity: 0;
    animation-duration: 1s;
    animation-fill-mode: forwards;
  }
  .bg-page-menu.is-active {
    display: block;
    animation-name: fadeInAnime;
  }
  .bg-page-menu.is-inactive {
    animation-name: fadeOutAnime;
  }
}
@media (max-width: 767.98px) {
  .layout-header-inner {
    height: 50px;
    padding: 14px 20px;
    max-width: 100vw;
  }
  .layout-header-logo {
    max-width: 158px;
  }
  .page-menu-btn {
    top: 14px;
    right: 20px;
  }
  .page-menu-nav {
    top: 50px;
  }
  .page-menu-list li a::after {
    margin-top: -8px;
    right: 12px;
    border-color: #038535 #038535 transparent transparent;
    transform: rotate(45deg);
  }
}
.button {
  max-width: 534px;
  width: 100%;
  display: block;
  padding: 18px;
  text-align: center;
  border-radius: 40px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 4px 0 rgba(0, 0, 0, 0.1);
  text-decoration: none;
}
.button::after {
  content: "";
  transform: translateY(-50%);
  margin-top: -8px;
  top: 50%;
  right: 24px;
  position: absolute;
  width: 14px;
  height: 14px;
  border: 3px solid;
  border-radius: 3px;
  border-color: #fff #fff transparent transparent;
  transform: rotate(45deg);
}
.button.button--green::before,
.button.button--orange::before {
  content: "";
  top: 0;
  left: 0;
  position: absolute;
  width: 200%;
  height: 100%;
  transition: left 0.2s ease-in-out;
}
.button.button--green::before {
  background: linear-gradient(
    to right,
    #00c86b 0,
    #038535 50%,
    #038535 51%,
    #00c86b 100%
  );
}
.button.button--green:hover::before,
.button.button--orange:hover::before {
  left: -100%;
}
.button.button--orange::before {
  background: linear-gradient(
    to right,
    #ec6c26 0,
    #e60012 50%,
    #e60012 51%,
    #ec6c26 100%
  );
}
.button__text {
  position: relative;
  z-index: 2;
  color: #fff;
  font-weight: 700;
  font-size: 1.625rem;
}
@media (max-width: 767.98px) {
  .button {
    margin: 0 auto;
    max-width: 450px;
  }
  .button::after {
    right: 16px;
    border: 2px solid;
    border-color: #fff #fff transparent transparent;
    border-radius: 2px;
  }
  .button__text {
    font-size: 1.375rem;
  }
}
.layout-footer {
  background: #038535;
  color: #fff;
}
.layout-footer-inner {
  max-width: 1140px;
  margin-left: auto;
  margin-right: auto;
  padding: 32px 20px;
}
.layout-footer .footer__info {
  text-align: center;
  font-size: 0.875rem;
  padding-bottom: 16px;
  position: relative;
}
.layout-footer .footer__info::after {
  content: "";
  bottom: 0;
  left: 50%;
  transform: translate(-50%);
  position: absolute;
  width: 100%;
  height: 1px;
  background: #fff;
}
.layout-footer .footer__info-list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.layout-footer .footer__info-list > li:last-child {
  margin-right: 0;
}
.layout-footer .footer__copy {
  padding-top: 16px;
  text-align: center;
  font-size: 0.75rem;
  font-family: "Outfit", serif;
}
@media (min-width: 768px) {
  .layout-footer .footer__info-list > li {
    margin-right: 32px;
  }
}
@media (max-width: 767.98px) {
  .layout-footer .footer__info-list {
    flex-direction: column;
  }
  .layout-footer .footer__info-list > li {
    font-size: 0.75rem;
  }
  .layout-footer .footer__copy {
    letter-spacing: 0;
  }
}
body.is-unscroll {
  position: fixed;
  overflow-y: scroll;
  overflow-x: hidden;
  width: 100%;
}
#main {
  margin-top: 72px;
}
@media (max-width: 767.98px) {
  #main {
    margin-top: 50px;
  }
}
.section {
  margin: 64px 0 80px;
}
.section:has(+ .cta-area) {
  margin-bottom: 32px;
}
.section-inner {
  max-width: 1140px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 20px;
}
.section-sm .section-inner {
  max-width: 824px;
}
.section-md .section-inner {
  max-width: 1040px;
}
.section:last-of-type {
  margin-bottom: 0;
}
.section[class*="bg-"] {
  padding: 80px 0 64px;
  margin-bottom: 0;
}
.cta-area + .section[class*="bg-"],
.section[class*="bg-"] + .section[class*="bg-"] {
  margin-top: 0;
}
.section.section--bg-green {
  background-color: #edffe8;
}
.section.section--bg-orange {
  background-color: #ffce72;
  padding: 32px 0;
}
.section.section--bg-gray {
  background-color: #f9f8f5;
}
@media (max-width: 767.98px) {
  .section {
    margin: 48px 0;
  }
  .section:last-of-type {
    margin-bottom: 20px;
  }
  .section[class*="bg-"] {
    padding: 32px 0;
    margin-bottom: 0;
  }
  .section.section--bg-green {
    padding: 32px 0 48px;
  }
  .section.section--bg-gray {
    padding: 48px 0;
  }
}
.mv {
  overflow: hidden;
  position: relative;
}
.mv__inner {
  max-width: 1140px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 20px;
}
.mv__bg {
  background: url(../../assets/images/mv-bg.png) no-repeat;
  background-size: 100% calc(57% + 2px);
  background-position: top;
}
.mv__item {
  display: grid;
}
.mv__item:nth-child(1) {
  grid-template-columns: 1fr 708px;
}
.mv__item:nth-child(2) {
  grid-template-columns: 1fr 1fr;
}
.mv__text {
  font-size: 1.75rem;
  font-size: clamp(16px, 2.3333333333vw, 28px);
  font-weight: 700;
  white-space: nowrap;
  margin-top: 32px;
}
.mv__text-inner {
  background-color: #fff;
  display: inline-block;
  padding: 4px 16px;
}
.mv__text-inner:not(:last-child) {
  margin-bottom: 16px;
}
.mv__text .l-1 {
  font-size: 2.5rem;
  font-size: clamp(24px, 3.3333333333vw, 40px);
}
.mv__text .l-2 {
  font-size: 3.125rem;
  font-size: clamp(24px, 4.1666666667vw, 50px);
}
.mv__text .l-3 {
  font-size: 4rem;
  font-size: clamp(32px, 5.3333333333vw, 64px);
  line-height: 1.2;
}
.mv__text .l-3.l-3--va5 {
  vertical-align: 3px;
}
.mv__text .l-4 {
  font-size: 5rem;
  font-size: clamp(40px, 6.6666666667vw, 80px);
  font-weight: 500;
  line-height: 1;
}
.mv__img {
  margin-top: 40px;
  max-width: clamp(10px, 59vw, 708px);
}
.mv__info {
  margin-right: 16px;
}
.mv__info-text {
  font-size: 3rem;
  font-size: clamp(24px, 4vw, 48px);
  font-weight: 700;
  margin-bottom: 24px;
}
.mv__info-table {
  border-collapse: collapse;
  table-layout: fixed;
  width: 100%;
}
.mv__info-table th {
  background-color: #038535;
  color: #fff;
  font-size: 1.25rem;
  font-weight: 400;
  padding: 8px;
}
.mv__info-table th:first-child {
  border-right: 1px solid #fff;
  border-radius: 8px 0 0 0;
}
.mv__info-table th:last-child {
  border-radius: 0 8px 0 0;
}
.mv__info-table td {
  background-color: #f9f8f5;
  font-size: 1.25rem;
  font-size: clamp(18px, 1.6666666667vw, 20px);
  text-align: center;
  font-weight: 700;
  padding: 12px 10px;
}
.mv__info-table td .emphasis {
  color: #038535;
  font-family: "Outfit", serif;
  font-size: 2.75rem;
  font-size: clamp(28px, 3.6666666667vw, 44px);
}
.mv__info-table td:first-child {
  border-right: 1px solid #fff;
  border-radius: 0 0 0 8px;
}
.mv__info-table td:last-child {
  border-radius: 0 0 8px 0;
}
.mv__btn-area {
  flex-shrink: 0;
  margin-left: 16px;
}
.mv__annotaion {
  font-size: 0.875rem;
  font-size: clamp(12px, 1.1666666667vw, 14px);
  text-align: center;
  margin-top: 24px;
}
.mv .js-modal-btn {
  font-size: 0.8125rem !important;
}
.mv .js-modal-btn .new-window-icon {
  width: 14px;
  height: 12px;
  transform: translateY(2px);
}
@media (min-width: 768px) {
  .mv__btn-area {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}
@media (max-width: 991.98px) {
  .mv__annotaion {
    margin-top: 16px;
    margin-bottom: 0;
  }
  .mv .button {
    padding: 18px 10px;
  }
  .mv .button__balloon-inner {
    font-size: 1rem;
    font-size: clamp(14px, 3.7333333333vw, 16px);
  }
  .mv .button__text {
    font-size: 1.375rem;
    line-height: 1;
  }
  .mv .button__text .fz-20 {
    font-size: 1.125rem;
  }
}
@media (max-width: 767.98px) {
  .mv__bg {
    background: url(../../assets/images/mv-bg-sp.png) no-repeat;
    background-size: 100%auto;
  }
  .mv__item:nth-child(1),
  .mv__item:nth-child(2) {
    grid-template-columns: 1fr;
  }
  .mv__text {
    font-size: 1rem;
    font-size: clamp(16px, 4.2666666667vw, 28px);
    text-align: center;
    margin-top: 16px;
  }
  .mv__text-inner:not(:last-child) {
    margin-bottom: 0;
  }
  .mv__text-inner:first-child {
    min-height: 35px;
    margin-bottom: 5px;
    padding: 0 8px;
  }
  .mv__text-inner:not(:first-child) {
    min-height: 53px;
    vertical-align: bottom;
    padding: 5px 0 5px 8px;
  }
  .mv__text-inner:last-child {
    padding: 5px 8px 5px 0;
  }
  .mv__text .l-1,
  .mv__text .l-2 {
    font-size: 1.5rem;
    font-size: clamp(24px, 6.4vw, 40px);
  }
  .mv__text .l-2 {
    font-size: clamp(24px, 6.4vw, 50px);
  }
  .mv__text .l-3 {
    font-size: 2rem;
    font-size: clamp(30px, 8vw, 64px);
  }
  .mv__text .l-4 {
    font-size: 2.5rem;
    font-size: clamp(38px, 10.1333333333vw, 80px);
  }
  .mv__img {
    margin-top: 12px;
    max-width: 100%;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
  }
  .mv__info {
    margin-right: 0;
  }
  .mv__info-text {
    font-size: 1.5rem;
    font-size: clamp(24px, 6.4vw, 48px);
    line-height: 1.2;
    margin-bottom: 16px;
    text-align: center;
  }
  .mv__info-table {
    margin-bottom: 24px;
  }
  .mv__info-table th {
    font-size: 0.875rem;
    font-size: clamp(14px, 3.7333333333vw, 20px);
    padding: 4px;
  }
  .mv__info-table td {
    font-size: 1.125rem;
    font-size: clamp(18px, 4.8vw, 20px);
    padding: 3px 5px 5px;
  }
  .mv__info-table td .emphasis {
    font-size: 1.75rem;
    font-size: clamp(28px, 7.4666666667vw, 44px);
  }
  .mv__btn-area {
    margin: 0;
  }
}
@media (max-width: 767.98px) and (max-width: 374.98px) {
  .mv__text-inner:first-child {
    padding: 4px 8px 0;
  }
  .mv__text-inner:not(:first-child) {
    height: 43px;
    min-height: auto;
    padding-top: 7px;
  }
}
@media (max-width: 575.98px) {
  .mv__info-table td .va-super {
    position: relative;
    top: 3px;
  }
}
@media (max-width: 374.98px) {
  .mv__text {
    font-size: clamp(14px, 4.375vw, 28px);
  }
  .mv__text .l-1 {
    font-size: 1.125rem;
  }
  .mv__text .l-1,
  .mv__text .l-2 {
    font-size: clamp(18px, 5.625vw, 32px);
  }
  .mv__text .l-3 {
    font-size: clamp(24px, 7.5vw, 32px);
  }
  .mv__text .l-4 {
    font-size: 2rem;
    font-size: clamp(32px, 10vw, 32px);
  }
}
.cta-area {
  background-color: #feffe0;
}
.cta-area__inner {
  max-width: 1140px;
  margin-left: auto;
  margin-right: auto;
  padding: 40px 20px;
}
.cta-area__buttons .button {
  margin-inline: auto;
}
.cta-area__buttons .button .small,
.cta-area__buttons .button__balloon-inner {
  font-size: 1.375rem;
}
.cta-area__annotaion {
  font-size: 0.875rem;
  text-align: center;
  margin-top: 24px;
}
@media (max-width: 767.98px) {
  .cta-area__inner {
    padding: 30px 20px;
  }
  .cta-area__buttons .button__text {
    line-height: 1;
  }
  .cta-area__buttons .button .small {
    font-size: 1.125rem;
  }
  .cta-area__buttons {
    grid-template-columns: 1fr;
    gap: 18px;
    font-size: clamp(14px, 3.7333333333vw, 18px);
  }
  .cta-area__annotaion {
    font-size: 0.75rem;
    line-height: 1.4;
    margin-top: 16px;
  }
}
.modal,
.modal-inner,
.modal-outer {
  max-width: clamp(0px, 100vw - 72px, 800px);
  max-height: clamp(0px, 100vh - 160px, 900px);
  width: 100%;
}
.modal {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1001;
}
.modal-inner,
.modal-outer {
  border-radius: 14px;
}
.modal-outer {
  overflow: hidden;
}
.modal-inner {
  overflow-y: auto;
  background-color: #fff;
  padding: 36px 70px 48px;
}
.modal-close {
  position: absolute;
  top: -30px;
  right: -10px;
  transition: opacity 0.2s ease;
}
.modal-close:hover {
  opacity: 0.8;
}
.modal-bg {
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  top: 0;
  left: 0;
  z-index: 1000;
}
.modal.is-open,
.modal.is-open + .modal-bg {
  display: block;
}
.modal-inner .primary-heading {
  margin-top: 4px;
  margin-bottom: 24px;
  font-size: 1.5rem;
}
.modal-inner .primary-heading .main {
  font-size: 2rem;
}
.modal-inner .col {
  gap: 28px !important;
  margin-bottom: 40px;
}
.modal-inner .col--arrow .col__item::after {
  right: -22px !important;
}
.modal-inner .col__item {
  padding: 12px 10px 20px;
}
.modal-inner .col__heading,
.modal-inner .col__text {
  font-size: 1.25rem !important;
}
.modal-inner .col__heading .emphasis {
  font-size: 1.75rem !important;
}
.modal-inner .col__text {
  margin-bottom: 18px;
}
.modal-inner .col__img {
  max-width: 108px;
  width: 100%;
  height: auto;
}
.modal-inner .article-box__img {
  max-width: 270px;
}
.modal-inner .article-box__text {
  line-height: 1.75;
  letter-spacing: 0.01;
}
@media (max-width: 767.98px) {
  .modal-inner {
    padding: 24px 16px;
  }
  .modal-inner .primary-heading {
    font-size: 1.5rem;
    margin-bottom: 16px;
  }
  .modal-inner .primary-heading .main {
    font-size: 1.5rem;
  }
  .modal-inner .text-center {
    font-size: 0.875rem;
  }
  .modal-inner .col__text {
    font-size: 1.125rem !important;
    margin-bottom: 0;
  }
  .modal-inner .col__img {
    max-width: 80px;
  }
  .modal-inner .article-box {
    flex-direction: column;
  }
  .modal-inner .article-box__img {
    margin-right: 0 !important;
    margin-bottom: 16px;
  }
  .modal-inner .article-box__text {
    font-size: 0.875rem;
  }
}
.check-area__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.check-area__title {
  position: relative;
  margin-bottom: 24px;
  border-bottom: 2px solid #ffce72;
}
.check-area__title-num::before,
.check-area__title::after {
  content: "";
  position: absolute;
  background-size: 100%auto;
  background-repeat: no-repeat;
}
.check-area__title::after {
  background-image: url(../../assets/images/deco_check_02.png);
  width: 139px;
  height: 126px;
  bottom: 16px;
  right: 0;
}
.check-area__title-inner {
  position: relative;
  display: flex;
  align-items: center;
  padding: 16px 144px 32px 30px;
}
.check-area__title-b {
  font-size: 1.5rem;
}
.check-area__title-num {
  position: relative;
  font-size: 3.5rem;
  color: #ffa027;
  font-family: "Outfit", serif;
  font-weight: 400;
  top: 4px;
}
.check-area__title-num::before {
  background-image: url(../../assets/images/deco_check_01.svg);
  width: 21px;
  height: 16px;
  top: 3px;
  left: -20px;
}
.check-area__title-o {
  display: inline-block;
  font-size: 2.5rem;
  color: #ffa027;
  margin-top: -10px;
}
.check-area__form {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 640px;
  margin: 0 auto;
}
.check-area__form-item {
  display: flex;
  align-items: center;
  width: calc(50% - 16px);
  margin-bottom: 20px;
}
.check-area__form-item label {
  display: inline-block;
  font-size: 1.125rem;
  font-weight: 700;
  width: 96px;
}
.check-area__form-item label sup {
  font-size: 0.75rem;
  font-weight: 400;
}
.check-area__form-item .select-outer {
  position: relative;
  max-width: 208px;
  width: 100%;
}
.check-area__form-item .select-outer::after {
  content: "";
  margin-top: -7px;
  top: 50%;
  right: 14px;
  position: absolute;
  width: 10px;
  height: 10px;
  border: 3px solid;
  border-radius: 3px;
  border-color: rgba(70, 70, 70, 0.5) rgba(70, 70, 70, 0.5) transparent
    transparent;
  transform: rotate(135deg);
}
.check-area__form-item input,
.check-area__form-item select {
  width: 100%;
  height: 48px;
  border-radius: 4px;
  border: 1px solid #c5c5c5;
  outline: 0;
  font-size: 16px;
  background-color: #fff;
}
.check-area__form-item select {
  margin: 0;
  background: 0 0;
  vertical-align: middle;
  text-indent: 0.01px;
  text-overflow: "";
  max-width: 208px;
  padding: 12px;
  -webkit-appearance: none;
  appearance: none;
}
.check-area__form-item select.is-inactive {
  color: rgba(70, 70, 70, 0.5);
}
.check-area__form-item input {
  max-width: 120px;
  padding: 14px 12px;
}
.check-area__form-item input::placeholder {
  color: rgba(70, 70, 70, 0.5);
}
.check-area__form-item .f-num {
  font-size: 1rem;
  margin-top: 25px;
  margin-left: 10px;
}
.check-area__list {
  max-width: 640px;
  margin: 0 auto 24px;
}
.check-area__list li {
  font-size: 0.875rem;
}
.check-area__list li span {
  margin-right: 8px;
}
.check-area__btn {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 303px;
  width: 100%;
  min-height: 64px;
  border: 1px solid #ffa027;
  border-radius: 32px;
  padding: 16px;
  color: #ffa027;
  font-size: 1.25rem;
  font-weight: 700;
  box-shadow: 0 4px 0 0 rgba(0, 0, 0, 0.1);
  margin: 0 auto 16px;
}
.check-area__btn::before {
  content: "";
  top: 0;
  left: 0;
  position: absolute;
  width: 200%;
  height: 100%;
  transition: left 0.2s ease-in-out;
  background: linear-gradient(90deg, #fff 0, #fff7cf 50%, #fff 100%);
}
.check-area__btn:hover::before,
.check-modal .check-modal__btn-o:hover::before,
.check-modal .check-modal__btn-y:hover::before {
  left: -100%;
}
.check-area__btn-text {
  z-index: 2;
}
.check-area__btn::after {
  content: "";
  transform: translateY(-50%);
  margin-top: -8px;
  top: 50%;
  right: 24px;
  position: absolute;
  width: 14px;
  height: 14px;
  border: 3px solid;
  border-radius: 3px;
  border-color: #ffa027 #ffa027 transparent transparent;
  transform: rotate(45deg);
}
.check-modal,
.check-modal__inner,
.check-modal__list ul {
  display: flex;
  justify-content: center;
}
.check-modal__inner {
  flex-direction: column;
  align-items: center;
  width: 100%;
}
.check-modal__title {
  border-bottom: 1px solid #ffa027;
  padding: 20px 14px 16px 16px;
  margin-bottom: 25px;
}
.check-modal__title-b {
  font-size: 1.5rem;
}
.check-modal__title-num {
  position: relative;
  font-size: 3.5rem;
  color: #ffa027;
  font-family: "Outfit", serif;
  font-weight: 400;
  top: 4px;
}
.check-modal__title-num::before {
  content: "";
  position: absolute;
  background-image: url(../../assets/images/deco_check_01.svg);
  background-size: 100%auto;
  background-repeat: no-repeat;
  width: 21px;
  height: 16px;
  top: 3px;
  left: -20px;
}
.check-modal__title-o {
  display: inline-block;
  font-size: 2.5rem;
  color: #ffa027;
  margin-top: -10px;
}
.check-modal__text01,
.check-modal__text02 {
  font-size: 1.125rem;
  text-align: center;
  font-weight: 700;
}
.check-modal__text02 {
  margin-top: 16px;
  font-size: 1.75rem;
}
.check-modal__text02 .text-o {
  color: #ffa027;
}
.check-modal__text03 {
  margin-top: 24px;
  text-align: center;
  font-size: 1rem;
  font-weight: 400;
}
.check-modal__text04 {
  margin-top: 24px;
  font-size: 0.875rem;
  font-weight: 400;
  text-indent: -18px;
  margin-left: 18px;
}
.check-modal__text04 span {
  margin-right: 4px;
}
.check-modal__list {
  margin-top: 24px;
  background-color: #f9f8f5;
  width: 100%;
  padding: 16px;
}
.check-modal__list ul li {
  margin: 0 7px;
  font-size: 0.875rem;
}
.check-modal__btns {
  margin-top: 40px;
  display: flex;
  justify-content: center;
  width: 100%;
}
.check-modal .check-modal__btn-o,
.check-modal .check-modal__btn-y {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 270px;
  width: 100%;
  min-height: 56px;
  border-radius: 32px;
  padding: 12px;
  font-size: 1.125rem;
  font-weight: 700;
  box-shadow: 0 4px 0 0 rgba(0, 0, 0, 0.1);
  margin: 0 8px 16px;
  text-decoration: none;
}
.check-modal .check-modal__btn-o::before,
.check-modal .check-modal__btn-y::before {
  content: "";
  top: 0;
  left: 0;
  position: absolute;
  width: 200%;
  height: 100%;
  transition: left 0.2s ease-in-out;
}
.check-modal .check-modal__btn-o .check-modal__btn-text,
.check-modal .check-modal__btn-y .check-modal__btn-text {
  z-index: 2;
  text-wrap: nowrap;
}
.check-modal .check-modal__btn-o {
  color: #fff;
}
.check-modal .check-modal__btn-o::before {
  background: linear-gradient(
    to right,
    #ec6c26 0,
    #e60012 50%,
    #e60012 51%,
    #ec6c26 100%
  );
}
.check-modal .check-modal__btn-o::after {
  content: "";
  transform: translateY(-50%);
  margin-top: -8px;
  top: 50%;
  right: 24px;
  position: absolute;
  width: 14px;
  height: 14px;
  border: 3px solid;
  border-radius: 3px;
  border-color: #fff #fff transparent transparent;
  transform: rotate(45deg);
}
.check-modal .check-modal__btn-y {
  color: #ffa027;
  border: 1px solid #ffa027;
}
.check-modal .check-modal__btn-y::before {
  background: linear-gradient(90deg, #fff 0, #fff7cf 50%, #fff 100%);
}
.check-modal .check-modal__btn-y::after {
  content: "";
  transform: translateY(-50%);
  margin-top: -8px;
  top: 50%;
  right: 24px;
  position: absolute;
  width: 14px;
  height: 14px;
  border: 3px solid;
  border-radius: 3px;
  border-color: #ffa027 #ffa027 transparent transparent;
  transform: rotate(45deg);
}
@media (max-width: 767.98px) {
  .check-area__title {
    display: flex;
    justify-content: center;
    padding: 0 0 4px 10px;
    width: 100%;
    max-width: 530px;
    margin-top: -22px;
  }
  .check-area__title::after {
    position: relative;
    width: 115px;
    height: 103px;
    bottom: 12px;
    margin-left: 4px;
  }
  .check-area__title-inner {
    flex-wrap: wrap;
    padding: 0;
  }
  .check-area__title-b {
    font-size: 1rem;
  }
  .check-area__title-num {
    display: inline-block;
    font-size: 3rem;
  }
  .check-area__title-num::before {
    top: -18px;
    left: -13px;
  }
  .check-area__title-o {
    font-size: 2rem;
  }
  .check-area__form-item {
    width: 100%;
    margin-bottom: 16px;
  }
  .check-area__form-item label {
    font-size: 1rem;
    width: 78px;
  }
  .check-area__form-item .select-outer {
    max-width: calc(100% - 78px);
  }
  .check-area__form-item select {
    max-width: 100%;
  }
  .check-area__form-item input {
    max-width: calc(100% - 78px - 86px);
  }
  .check-area__list li {
    font-size: 0.75rem;
    text-indent: -24px;
    margin-left: 24px;
  }
  .check-area__list li span {
    margin-right: 4px;
  }
  .check-modal__title {
    margin-bottom: 16px;
    padding: 0 0 8px;
    white-space: nowrap;
  }
  .check-modal__title-b {
    font-size: 1rem;
  }
  .check-modal__title-num {
    font-size: 3rem;
    font-size: clamp(42px, 11.2vw, 48px);
  }
  .check-modal__title-num::before {
    top: 0;
    left: -13px;
  }
  .check-modal__title-o {
    font-size: 2rem;
    font-size: clamp(28px, 7.4666666667vw, 30px);
  }
  .check-modal__text01 {
    font-size: 1rem;
  }
  .check-modal__text02 {
    margin-top: 12px;
    font-size: 1.25rem;
  }
  .check-modal__text03 {
    margin-top: 16px;
    font-size: 0.875rem;
  }
  .check-modal__text04 {
    margin-top: 14px;
    font-size: 0.75rem;
    text-indent: -16px;
    margin-left: 16px;
    margin-bottom: 32px;
  }
  .check-modal__list {
    padding: 10px;
  }
  .check-modal__btns,
  .check-modal__list ul {
    flex-direction: column;
    align-items: center;
  }
  .check-modal__btns {
    margin-top: 15px;
    margin-bottom: -16px;
  }
  .check-modal .check-modal__btn-o,
  .check-modal .check-modal__btn-y {
    max-width: 360px;
    margin: 0 0 16px;
  }
}
@media (max-width: 575.98px) {
  .check-area__title-inner {
    width: 150px;
  }
  .check-area__title-num {
    margin-left: 16px;
  }
}
.round-box__inner {
  padding: 24px;
  background-color: #fff;
  border-radius: 14px;
}
@media (max-width: 767.98px) {
  .round-box__inner {
    padding: 24px 16px;
  }
}
.point-heading {
  text-align: center;
  font-size: 2rem;
  position: relative;
  padding: 48px 0 16px;
  margin-bottom: 30px;
}
.point-heading__en {
  font-family: "Outfit", serif;
  color: #f9f8f5;
  font-size: 8rem;
  font-weight: 400;
  text-transform: uppercase;
}
.point-heading__jp {
  position: absolute;
  bottom: -2px;
  left: 50%;
  transform: translate(-50%, 0);
  width: 100%;
}
.point-heading .emphasis {
  color: #ffa027;
  font-size: 3rem;
  font-weight: 700;
}
@media (max-width: 767.98px) {
  .point-heading {
    font-size: 1.5rem;
    margin-bottom: 24px;
    padding: 30px 0 16px;
  }
  .point-heading__en {
    font-size: 5rem;
    text-wrap: nowrap;
    font-size: clamp(68px, 18.1333333333vw, 80px);
  }
  .point-heading__jp {
    line-height: 1.2;
  }
  .point-heading .emphasis {
    font-size: 2.5rem;
  }
  .point-heading.is-sp-l2 {
    padding-bottom: 69px;
  }
  .point-heading[id="anc-05"] {
    padding-top: 70px;
  }
  .point-heading[id="anc-05"] .point-heading__en {
    position: relative;
    top: -60px;
  }
}
@media (max-width: 374.98px) {
  .point-heading__en {
    font-size: 3.75rem;
  }
}
.primary-heading {
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 48px;
}
.primary-heading .main {
  color: #038535;
  font-size: 2.75rem;
  text-align: center;
}
.primary-heading .sub {
  font-size: 1.5rem;
  display: block;
  margin-bottom: 4px;
}
@media (max-width: 767.98px) {
  .primary-heading {
    font-size: 1.5rem;
    margin-bottom: 24px;
  }
  .primary-heading .main {
    font-size: 2rem;
  }
  .primary-heading .sub {
    font-size: 1.25rem;
  }
}
.anchor {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 24px;
}
@media (max-width: 1199.98px) {
  .anchor {
    grid-template-columns: repeat(2, 1fr);
    gap: 34px 24px;
  }
}
.anchor__item {
  min-height: 160px;
}
.anchor__link {
  background-color: #fff;
  border: 1px solid #dedede;
  border-radius: 8px;
  box-shadow: 0 4px 0 rgba(0, 0, 0, 0.1);
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  text-align: center;
  font-size: 1.25rem;
  font-weight: 700;
  position: relative;
  padding: 8px;
  min-height: inherit;
}
.anchor__link::before {
  content: "";
  bottom: -16px;
  left: 50%;
  transform: translate(-50%, 0);
  position: absolute;
  width: 32px;
  height: 32px;
  background: #038535;
  border-radius: 50%;
}
.anchor__link::after {
  content: "";
  bottom: -9px;
  left: 50%;
  transform: translate(-50%, 0) rotate(90deg);
  position: absolute;
  width: 12px;
  height: 12px;
  background: url(../../assets/images/icon_anchor.svg) no-repeat;
  z-index: 3;
}
.anchor__link .emphasis {
  font-size: 2rem;
  font-weight: 700;
  color: #038535;
}
@media (min-width: 769px) {
  .anchor__link::after {
    transition: bottom 0.1s;
  }
  .anchor__link:hover::after {
    bottom: -14px;
  }
}
@media (max-width: 1199.98px) {
  .anchor__item {
    min-height: 124px;
  }
  .anchor__item:has(.button_link_index05) {
    grid-column: 1/3;
    width: calc(50% + 8px);
    margin: 0 auto;
  }
  .anchor__link {
    font-size: 1rem;
  }
  .anchor__link .emphasis {
    font-size: 1.5rem;
  }
}
@media (max-width: 374.98px) {
  .anchor__item:has(.button_link_index05) {
    width: calc(50% + 32px);
  }
}
.col {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.col.col--arrow {
  gap: 45px;
}
.col.col--2 {
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
}
@media (max-width: 767.98px) {
  .col.col--arrow {
    gap: 28px;
  }
  .col.col--2 {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .col {
    grid-template-columns: repeat(1, 1fr);
  }
}
.col__item {
  background-color: #f9f8f5;
  border-radius: 14px;
  padding: 24px;
  display: flex;
  flex-direction: column;
}
.col__heading {
  font-size: 1.375rem;
  text-align: center;
  font-weight: 700;
}
.col__heading .emphasis {
  font-size: 1.75rem;
  color: #038535;
}
.col__text {
  text-align: center;
  margin: 20px 0 26px;
}
.col__text .anchor-link::after {
  display: inline-block;
  content: "";
  background-image: url(../../assets/images/icon_link.svg);
  background-repeat: no-repeat;
  width: 12px;
  height: 7px;
  right: 0;
  margin-left: 8px;
}
.col__img {
  width: 148px;
  height: 148px;
  margin: auto auto 0;
}
.col.col--arrow .col__item {
  position: relative;
}
.col.col--arrow .col__item::after {
  content: "";
  top: 50%;
  right: -28px;
  transform: translate(0, -50%);
  position: absolute;
  width: 0;
  height: 0;
  border-left: 14px solid #00c86b;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
}
.col.col--arrow .col__item:last-child::after {
  display: none;
}
.col.col--arrow .col__heading {
  color: #00c86b;
  font-size: 1.75rem;
  font-family: "Outfit", serif;
}
.col.col--arrow .col__heading .emphasis {
  font-size: 2.5rem;
  color: #00c86b;
}
.col.col--arrow .col__text {
  font-size: 1.75rem;
  font-weight: 700;
  text-align: center;
  margin-top: 0;
}
@media (max-width: 767.98px) {
  .col__item {
    flex-direction: row;
    padding: 22px 16px;
  }
  .col__item-inner {
    display: flex;
    flex-direction: column;
    align-items: start;
  }
  .col__heading {
    text-align: left;
    font-size: 1rem;
  }
  .col__heading .emphasis {
    font-size: 1.25rem;
  }
  .col__text {
    text-align: left;
    margin: 8px 0 0;
  }
  .col__img {
    margin: auto 0 auto auto;
    max-width: 116px;
    max-height: 116px;
    width: 100%;
    height: auto;
  }
  .col.col--arrow .col__item {
    padding: 16px;
  }
  .col.col--arrow .col__item::after {
    top: unset;
    bottom: -20px;
    right: unset;
    left: 50%;
    transform: translate(-50%, 0);
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-top: 12px solid #00c86b;
    border-bottom: 0;
  }
  .col.col--arrow .col__item .col__item-inner {
    justify-content: center;
  }
  .col.col--arrow .col__heading {
    font-size: 1.5rem;
  }
  .col.col--arrow .col__heading .emphasis {
    font-size: 2rem;
  }
  .col.col--arrow .col__text {
    font-size: 1.25rem;
  }
}
.col__item02 {
  background-color: #f9f8f5;
  display: flex;
  flex-direction: column;
  border-radius: 8px;
  overflow: hidden;
}
.col__item02-heading {
  color: #fff;
  background-color: #6a6a6a;
  text-align: center;
  padding: 8px;
  font-weight: 700;
}
.col__item02-text {
  background-color: #f9f8f5;
  padding: 24px;
}
@media (max-width: 767.98px) {
  .col__item02-text {
    padding: 16px;
  }
}
.cacth__heading {
  color: #fff;
  font-size: 1.75rem;
  font-weight: 700;
  background-color: #00c86b;
  border-radius: 14px 14px 0 0;
  padding: 24px;
  text-align: center;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cacth__heading::before {
  content: "";
  bottom: -16px;
  left: 50%;
  transform: translate(-50%, 0);
  position: absolute;
  width: 0;
  height: 0;
  border-left: 16px solid transparent;
  border-right: 16px solid transparent;
  border-top: 16px solid #00c86b;
}
.cacth__heading .exam-balloon {
  font-size: 1.25rem;
  border: 1px solid #fff;
  border-radius: 20px;
  display: inline-block;
  padding: 4px 24px;
  margin-right: 12px;
  min-width: 151px;
}
.cacth__heading-text--large {
  font-family: "Outfit", serif;
  font-size: 2.5rem;
}
.cacth__heading-text--small {
  font-size: 1.125rem;
  font-weight: 400;
}
@media (max-width: 991.98px) {
  .cacth__heading-text {
    max-width: 390px;
    line-height: 1.3;
  }
}
@media (max-width: 767.98px) {
  .cacth__heading {
    flex-direction: column;
    font-size: 1.5rem;
    padding: 24px 8px;
  }
  .cacth__heading .exam-balloon {
    font-size: 1rem;
    margin-right: 0;
  }
  .cacth__heading-text--large {
    font-size: 2rem;
  }
  .cacth__heading-text--small {
    font-size: 1rem;
  }
}
.cacth__item {
  background-color: #edffe8;
  padding: 32px 24px;
  border-radius: 0 0 14px 14px;
}
.cacth__item .lead-text {
  text-align: center;
}
.cacth__item .lead-text__sub {
  color: #038535;
  font-size: 1.5rem;
  border-top: 1px solid #038535;
  border-bottom: 1px solid #038535;
  padding: 6px 0;
  vertical-align: 0.5em;
}
.cacth__item .lead-text__main {
  font-size: 2rem;
  font-weight: 700;
}
.cacth__item .lead-text__main .emphasis {
  font-family: "Outfit", serif;
  font-size: 3.5rem;
  color: #038535;
}
@media (max-width: 767.98px) {
  .cacth__item {
    padding: 32px 10px 24px;
  }
  .cacth__item .lead-text__main {
    font-size: clamp(18px, 4.8vw, 20px);
  }
  .cacth__item .lead-text__main .emphasis {
    font-size: 2.5rem;
    font-size: clamp(38px, 10.1333333333vw, 40px);
  }
}
.annotation {
  list-style-type: none;
  font-weight: 400;
}
.annotation {
  list-style-type: none;
  font-weight: 400;
}
.annotation__item {
  display: flex;
}
.annotation__symbol {
  margin-right: 4px;
  flex-shrink: 0;
  font-size: 0.875rem;
}
.annotation__text {
  font-size: 0.875rem;
}
@media (max-width: 767.98px) {
  .annotation__symbol,
  .annotation__text {
    font-size: 0.75rem;
  }
}
.numbered-list {
  list-style-type: none;
  font-weight: 400;
}
.numbered-list {
  list-style-type: none;
  font-weight: 400;
}
.numbered-list__item {
  display: flex;
  margin-bottom: 8px;
}
.numbered-list__item:last-child {
  margin-bottom: 0;
}
.numbered-list__number {
  margin-right: 8px;
  flex-shrink: 0;
}
.accordion {
  background-color: #fff;
  border-radius: 14px;
  border: 1px solid #dedede;
  padding: 24px;
}
@media (max-width: 767.98px) {
  .accordion {
    padding: 16px;
  }
}
.accordion__button {
  font-size: 1.25rem;
  font-weight: 700;
  display: block;
  position: relative;
  width: 100%;
}
.accordion__button::after,
.accordion__button::before {
  content: "";
  top: 50%;
  transform: translate(0, -50%);
  right: 0;
  position: absolute;
  width: 20px;
  height: 3px;
  background-color: #038535;
}
.accordion__button::before {
  transform: rotate(90deg);
  transition:
    transform 0.3s,
    opacity 0.3s;
}
.accordion__button::after {
  top: calc(50% + 1px);
}
.accordion__button.is-active::before {
  transform: rotate(0deg);
  opacity: 0;
}
@media (max-width: 767.98px) {
  .accordion__button {
    font-size: 1rem;
    padding-right: 30px;
  }
  .accordion__button::after,
  .accordion__button::before {
    width: 16px;
    height: 2px;
  }
}
.accordion__item {
  display: none;
}
.accordion__item.default-open {
  display: block;
}
.accordion__inner {
  border-top: 1px solid rgba(70, 70, 70, 0.1);
  margin-top: 16px;
  padding-top: 18px;
}
.accordion .question__prefix {
  font-family: "Outfit", serif;
  color: #038535;
  margin-right: 8px;
  font-size: 1.75rem;
  position: relative;
}
.accordion .answer,
.accordion .question {
  display: flex;
  align-items: center;
}
.accordion .answer__prefix {
  font-family: "Outfit", serif;
  color: #038535;
  margin-right: 8px;
  font-weight: 700;
  font-size: 1.75rem;
  align-self: flex-start;
}
@media (max-width: 767.98px) {
  .accordion__item .article-box {
    flex-direction: column;
  }
  .accordion__item .article-box .article-box__img {
    margin-right: 0 !important;
    margin-bottom: 16px;
  }
  .accordion__item .article-box .article-box__text {
    font-size: 0.875rem;
  }
  .accordion .question__prefix {
    font-size: 1.3125rem;
    line-height: 24px;
  }
  .accordion .answer__prefix {
    font-size: 1.4375rem;
    line-height: 28px;
  }
  .accordion .answer__text {
    font-size: 0.875rem;
  }
}
.article-box {
  display: flex;
  align-items: center;
}
.article-box.article-box--reverse {
  flex-direction: row-reverse;
}
@media (max-width: 991.98px) {
  .article-box.article-box--bplg-column-reverse {
    flex-direction: column-reverse;
  }
}
@media (max-width: 767.98px) {
  .article-box.article-box--sp-column {
    flex-direction: column;
  }
  .article-box.article-box--sp-column.article-box--reverse {
    flex-direction: column-reverse;
  }
  .article-box.article-box--sp-column.article-box--reverse .article-box__img {
    margin-left: 0 !important;
  }
}
.article-box__img {
  flex: 0 0 auto;
}
.article-box__img.max-w-200 {
  max-width: 200px;
}
.article-box__text {
  flex-grow: 1;
}
.article-box__text .heading {
  font-size: 1.5rem;
  font-weight: 700;
}
.article-box__text .heading .emphasis {
  font-size: 2.5rem;
  color: #038535;
}
.article-box__text .heading__balloon {
  font-size: 1.25rem;
  display: block;
  text-align: center;
}
.article-box__text .heading__balloon-inner {
  position: relative;
  padding: 0 16px;
}
.article-box__text .heading__balloon-inner::after,
.article-box__text .heading__balloon-inner::before {
  content: "";
  top: 0;
  position: absolute;
  width: 1px;
  height: 100%;
  border-left: 1px solid #464646;
}
.article-box__text .heading__balloon-inner::before {
  left: 0;
  transform: rotate(-22deg);
}
.article-box__text .heading__balloon-inner::after {
  right: 0;
  transform: rotate(22deg);
}
.article-box__text .heading.heading--point-03 .heading__text {
  font-size: clamp(1.25rem, 2.42vw, 1.5rem);
  text-align: center;
}
.article-box__text .heading.heading--point-03 .heading__text .emphasis {
  font-size: clamp(2rem, 3.88vw, 2.5rem);
}
.article-box__text .heading.heading--point-03 .heading__balloon {
  font-size: clamp(1.125rem, 2.18vw, 1.25rem);
}
.article-box__text .text {
  font-size: 1.125rem;
}
.d-mdpc-none .article-box {
  flex-direction: column-reverse;
}
.d-mdpc-none .article-box__img {
  margin-left: 0 !important;
  margin-top: -72px;
}
.d-mdpc-none .article-box__text {
  text-align: center;
}
.d-mdpc-none .article-box__text .heading {
  font-size: 1.25rem;
}
.d-mdpc-none .article-box__text .heading .emphasis {
  font-size: 2rem;
}
.d-mdpc-none p {
  width: 50%;
  margin-left: auto;
}
@media (max-width: 767.98px) {
  .article-box.point-03__last-article {
    margin: 0 16px;
  }
  .article-box.point-03__last-article .article-box__img {
    flex: 0 0 126px;
  }
}
.heading-box__heading {
  background-color: #7f7f7f;
  color: #fff;
  text-align: center;
  font-size: 1.25rem;
  padding: 6px;
}
.heading-box__text {
  padding: 16px 24px;
  font-size: 1.125rem;
}
@media (max-width: 767.98px) {
  .heading-box__heading {
    font-size: 1.125rem;
  }
  .heading-box__text {
    padding: 16px 0 24px;
    font-size: 1rem;
  }
  .heading-box:last-child .heading-box__text {
    padding: 16px 0 0;
  }
}
