@charset "utf-8";
.s-kv .c-catch { font-size: 2.2rem; font-weight: 700; line-height: 1.6; letter-spacing: .04em; }
.s-kv .s-kv-lead .c-catch + p { margin-top: 1.6rem; }
.s-kv .s-kv-ph img { object-position: 50% 35%; }
@media print, screen and (min-width: 768px) {
  .s-kv .c-catch { font-size: 3rem; }
}
.s-gray + .s-sec:not(.s-gray):not(.s-sumi), .s-sumi + .s-sec:not(.s-gray):not(.s-sumi) { padding-top: 8rem; }
@media print, screen and (min-width: 768px) {
  .s-gray + .s-sec:not(.s-gray):not(.s-sumi), .s-sumi + .s-sec:not(.s-gray):not(.s-sumi) { padding-top: 13rem; }
}
.c-topics .t-ttl { margin-bottom: 3.6rem; }
.c-topics .s-check li { padding-top: 1.5rem; padding-bottom: 1.5rem; }
.c-topics .s-check li::before { top: 2.35rem; }
.c-topics-note { margin-top: 2.8rem; font-size: 1.5rem; font-weight: 700; line-height: 1.9; letter-spacing: .02em; }
@media print, screen and (min-width: 768px) {
  .c-topics .s-media { align-items: start; }
  .c-topics .s-media .s-ph { aspect-ratio: 4 / 5; }
  .c-topics .t-ttl { margin-bottom: 4.4rem; }
  .c-topics-note { font-size: 1.6rem; }
}
.s-gray .s-form-box { background: rgb(255 255 255); }
.c-form .t-ttl .t-ja { line-height: 1.6; }
.c-form .s-note { margin-top: 0; }
.s-form select { appearance: none; padding-right: 4.4rem; background-image: linear-gradient(45deg, transparent 50%, rgb(var(--c-ink-rgb)) 50%), linear-gradient(-45deg, transparent 50%, rgb(var(--c-ink-rgb)) 50%); background-position: right 2.2rem center, right 1.7rem center; background-size: .5rem .5rem, .5rem .5rem; background-repeat: no-repeat; cursor: pointer; }
.s-form .s-agree label { font-weight: 500; }
.s-form .s-agree input { flex: none; width: 1.8rem; height: 1.8rem; margin: 0; }
.c-form .s-form textarea { min-height: 12rem; }
.c-point .s-card h3 { font-size: 2rem; }
.c-point .s-card p { color: rgb(255 255 255 / .85); }
.c-last .s-h3 { margin-bottom: 4rem; }
@media screen and (max-width: 767px) {
  .s-kv h1 .t-lat { font-size: min(5.6rem, 12.4vw); }
  .s-sec .t-ttl .t-lat, .t-faq .t-ttl .t-lat { font-size: min(5.4rem, 12vw); }
}
.s-form input[type="text"], .s-form input[type="email"], .s-form input[type="tel"], .s-form select, .s-form textarea { box-sizing: border-box; }
.s-form .s-row2 { display: grid; gap: 2.8rem; }
@media print, screen and (min-width: 768px) {
  .s-form .s-row2 { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}
#point {
  padding-top: 0;
  padding-bottom: 0;
  color: rgb(var(--c-ink-rgb));
  background: rgb(241 241 241);
}
#point .s-wrap {
  padding: 4rem 2.4rem 1.2rem;
  background: rgb(255 255 255);
  border-radius: 1rem;
}
#point .t-ttl {
  margin-bottom: 2.4rem;
}
#point .t-ttl .t-lat {
  margin-bottom: 1rem;
  font-size: 4rem;
}
#point .t-ttl .t-ja {
  color: rgb(var(--c-ink-rgb));
  font-size: 1.5rem;
}
#point .s-cards {
  display: block;
}
#point .s-card {
  padding: 2.8rem 0;
  border-top: .1rem solid rgb(var(--c-ink-rgb) / .2);
}
#point .s-card .t-no {
  margin-bottom: 1rem;
  color: rgb(var(--c-accent-rgb));
  font-size: 2.4rem;
  line-height: 1;
}
#point .s-card h3 {
  margin-bottom: 1rem;
  font-size: 2.1rem;
}
#point .s-card p:not(.t-no) {
  color: rgb(var(--c-ink-rgb));
}
@media print, screen and (min-width: 768px) {
  #point .s-wrap {
    padding: 5.6rem 6rem;
  }
  #point .s-card:nth-child(n+3) {
    padding-bottom: 0;
  }
  #point .t-ttl {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 1rem 2.8rem;
    margin-bottom: 3.6rem;
  }
  #point .t-ttl .t-lat {
    margin-bottom: 0;
    font-size: 4.8rem;
  }
  #point .t-ttl .t-ja {
    font-size: 1.7rem;
  }
  #point .s-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
  }
  #point .s-card {
    padding: 4rem 4.8rem 4rem 0;
  }
  #point .s-card:nth-child(even) {
    padding-right: 0;
    padding-left: 4.8rem;
    border-left: .1rem solid rgb(var(--c-ink-rgb) / .2);
  }
  #point .s-card .t-no {
    margin-bottom: 1.4rem;
    font-size: 2.8rem;
  }
  #point .s-card h3 {
    font-size: 2.3rem;
  }
}
@media (min-width: 1024px) {
  .s-kv .s-kv-lead {
    max-width: none;
  }
  .s-kv .c-catch {
    white-space: nowrap;
  }
  .s-kv .c-catch {
    font-size: 3.6rem;
    line-height: 1.5;
  }
  .s-kv .s-kv-lead .c-catch + p {
    margin-top: 2rem;
  }
  .s-kv .s-kv-lead .c-catch + p br {
    display: none;
  }
}
#cnt-flow { container-type: inline-size; }
#cnt-flow .s-steps > li {
  padding: 0 0 3.2rem 4.8rem;
  border: 0;
}
#cnt-flow .s-steps > li:last-child {
  padding-bottom: 0;
  border: 0;
}
#cnt-flow .s-steps > li::before {
  content: "";
  position: absolute;
  top: 1.6rem;
  bottom: -1.6rem;
  left: .5rem;
  border-left: .3rem solid rgb(var(--c-ink-rgb));
}
#cnt-flow .s-steps > li:nth-child(n+5)::before {
  left: .6rem;
  border-left: .1rem solid rgb(var(--c-ink-rgb) / .35);
}
#cnt-flow .s-steps > li:last-child::before { display: none; }
#cnt-flow .s-steps > li::after {
  content: "";
  position: absolute;
  top: .95rem;
  left: 0;
  width: 1.3rem;
  height: 1.3rem;
  background: rgb(255 255 255);
  border: .2rem solid rgb(var(--c-ink-rgb));
  box-sizing: border-box;
}
#cnt-flow .s-steps > li:nth-child(5)::after {
  top: .6rem;
  left: -.35rem;
  width: 2rem;
  height: 2rem;
  background: rgb(var(--c-ink-rgb));
}
#cnt-flow .s-steps .t-no {
  position: static;
  display: block;
  margin: 0 0 1.2rem;
  font-size: 3.2rem;
  color: rgb(var(--c-ink-rgb));
}
#cnt-flow .s-steps h3 {
  margin-bottom: .4rem;
  font-size: 1.8rem;
}
#cnt-flow .s-steps p { color: rgb(var(--c-ink-rgb) / .72); }
#cnt-flow .s-note { margin-top: 4.8rem; }
@media print, screen and (min-width: 1200px) {
  #cnt-flow { --v-fs-out: calc(max(5rem, (100cqw - 112.6rem) / 2) - 4rem); }
  #cnt-flow .t-ttl { margin-bottom: 6.4rem; }
  #cnt-flow .s-steps {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0;
    margin-right: calc(-1 * var(--v-fs-out));
    padding-top: 1rem;
  }
  #cnt-flow .s-steps > li,
  #cnt-flow .s-steps > li:last-child {
    padding: 3.6rem 1.6rem 0 0;
    border-top: .3rem solid rgb(var(--c-ink-rgb));
  }
  #cnt-flow .s-steps > li:nth-child(n+5) {
    padding-top: 3.8rem;
    border-top: .1rem solid rgb(var(--c-ink-rgb) / .35);
  }
  #cnt-flow .s-steps > li::before,
  #cnt-flow .s-steps > li:nth-child(n+5)::before { display: none; }
  #cnt-flow .s-steps > li::after { top: calc(-.15rem - .65rem); left: 0; }
  #cnt-flow .s-steps > li:nth-child(n+5)::after { top: calc(-.05rem - .65rem); }
  #cnt-flow .s-steps > li:nth-child(5)::after { top: calc(-.05rem - 1rem); left: -.35rem; }
  #cnt-flow .s-steps > li:last-child::before {
    content: "";
    display: block;
    position: absolute;
    top: calc(-.05rem - .8rem);
    bottom: auto;
    left: auto;
    right: 0;
    height: 1.6rem;
    border-left: .1rem solid rgb(var(--c-ink-rgb) / .6);
  }
  #cnt-flow .s-steps .t-no {
    margin: 0 0 2rem;
    font-size: 4.8rem;
    letter-spacing: 0;
  }
  #cnt-flow .s-steps h3 {
    margin-bottom: .8rem;
    font-size: 1.8rem;
    line-height: 1.55;
  }
  #cnt-flow .s-steps p {
    font-size: 1.3rem;
    line-height: 1.7;
  }
  #cnt-flow .s-note {
    max-width: 64rem;
    margin-top: 6.4rem;
  }
}
#point {
  padding: 8rem 0;
  color: rgb(255 255 255);
  background: rgb(var(--c-sumi-rgb));
}
#point .s-wrap {
  padding: 0;
  background: none;
  border-radius: 0;
}
#point .t-ttl { margin-bottom: 4rem; }
#point .t-ttl .t-lat { color: rgb(255 255 255); }
#point .t-ttl .t-ja { color: rgb(255 255 255 / .85); }
#point .s-cards {
  display: block;
  border-bottom: .1rem solid rgb(255 255 255 / .25);
}
#point .s-card,
#point .s-card:nth-child(n) {
  display: grid;
  grid-template-columns: 6.4rem minmax(0, 1fr);
  column-gap: 1.6rem;
  align-items: baseline;
  padding: 3.2rem 0;
  border-top: .1rem solid rgb(255 255 255 / .25);
  border-left: 0;
}
#point .s-card .t-no {
  grid-row: 1 / span 2;
  margin: 0;
  color: transparent;
  -webkit-text-stroke: .1rem rgb(255 255 255 / .9);
  font-size: 4.4rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: -.02em;
}
#point .s-card h3 {
  margin-bottom: .8rem;
  color: rgb(255 255 255);
  font-size: 2rem;
}
#point .s-card p:not(.t-no) {
  grid-column: 2;
  color: rgb(255 255 255 / .72);
}
@media print, screen and (min-width: 768px) {
  #point { padding: 13rem 0; }
  #point .s-wrap { padding: 0; }
  #point .t-ttl .t-lat { font-size: 6.4rem; }
  #point .t-ttl .t-ja { font-size: 1.8rem; }
  #point .s-card,
  #point .s-card:nth-child(n) {
    grid-template-columns: 12rem minmax(0, 22rem) minmax(0, 1fr);
    column-gap: 3.2rem;
    padding: 4.4rem 0;
  }
  #point .s-card .t-no {
    grid-row: auto;
    font-size: 7.2rem;
  }
  #point .s-card h3 {
    margin: 0;
    font-size: 2.3rem;
  }
  #point .s-card p:not(.t-no) { grid-column: 3; }
}
@media print, screen and (min-width: 1024px) {
  #point .s-wrap {
    display: grid;
    grid-template-columns: 30rem minmax(0, 1fr);
    column-gap: 6.4rem;
    align-items: start;
  }
  #point .t-ttl {
    display: block;
    margin: 0;
  }
  #point .t-ttl .t-lat { display: block; margin-bottom: 1.6rem; }
  #point .s-card,
  #point .s-card:nth-child(n) {
    grid-template-columns: 11rem minmax(0, 20rem) minmax(0, 1fr);
  }
}
#form .s-split-side,
#form .s-split .t-ttl { position: static; }
#form {
  background: rgb(255 255 255);
  border-top: .1rem solid rgb(var(--c-ink-rgb) / .14);
}
#form .s-form-box {
  background: rgb(255 255 255);
  border: .1rem solid rgb(var(--c-ink-rgb) / .18);
}
